feat(agent): automation-first sessions with step plan, option choice and inline approval
- agent.plan emits plan_updated; system prompt asks for a plan first and updates while executing - agent.propose_options registers a decision and suspends the run (waitForFact, no worker slot); the answer or timeout (recommended/stop) resumes it as the tool result - console-session runs get inline approvals for plan-bound capabilities: approve replays the call with the approval, reject fails it with the reason and records it on the decision - proposeFirst blocks execute capabilities until an option is chosen; E12 covers all paths Co-Authored-By: Claude Opus 5.5 <[email protected]>
This commit is contained in:
1 parent
74c2ed45aa
commit
cf2c4ff0e6
14 files changed
+1360
-26
No files matched your search
@@ -64,6 +64,8 @@ export interface E2E {
|
||||
lib: TempTree;
|
||||
cache: TempTree;
|
||||
sessionDir: string;
|
||||
/** Hono 应用(管理员会话用例用 cookie 调用,见 auth-settings/harness.ts 的 Browser) */
|
||||
app: ReturnType<typeof createApp>;
|
||||
api(method: string, path: string, body?: unknown): Promise<{ status: number; body: Loose }>;
|
||||
/** PATCH /settings 并断言成功 */
|
||||
settings(patch: Record<string, unknown>): Promise<Loose>;
|
||||
@@ -164,6 +166,7 @@ export async function createE2E(name: string, opts: E2EOptions = {}): Promise<E2
|
||||
lib,
|
||||
cache,
|
||||
sessionDir,
|
||||
app,
|
||||
async api(method, path, body) {
|
||||
const res = await app.request(`/api/v1${path}`, {
|
||||
method,
|
||||
|
||||
Reference in new issue
Block a user