@sema-agent/core 1.294.0 → 1.296.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/agents/subagent.d.ts.map +1 -1
- package/dist/agents/subagent.js +24 -3
- package/dist/agents/subagent.js.map +1 -1
- package/dist/bin/sema-tb.d.ts +20 -0
- package/dist/bin/sema-tb.d.ts.map +1 -1
- package/dist/bin/sema-tb.js +71 -23
- package/dist/bin/sema-tb.js.map +1 -1
- package/dist/brain/anthropic.d.ts.map +1 -1
- package/dist/brain/anthropic.js +17 -3
- package/dist/brain/anthropic.js.map +1 -1
- package/dist/brain/openai.d.ts +1 -0
- package/dist/brain/openai.d.ts.map +1 -1
- package/dist/brain/openai.js +328 -298
- package/dist/brain/openai.js.map +1 -1
- package/dist/brain/stream-engine.d.ts +7 -0
- package/dist/brain/stream-engine.d.ts.map +1 -1
- package/dist/brain/stream-engine.js +44 -11
- package/dist/brain/stream-engine.js.map +1 -1
- package/dist/brain/timeout.d.ts +2 -1
- package/dist/brain/timeout.d.ts.map +1 -1
- package/dist/brain/timeout.js +14 -1
- package/dist/brain/timeout.js.map +1 -1
- package/dist/core/ask-question.d.ts.map +1 -1
- package/dist/core/ask-question.js.map +1 -1
- package/dist/core/hooks.d.ts +3 -3
- package/dist/core/hooks.d.ts.map +1 -1
- package/dist/core/hooks.js +11 -4
- package/dist/core/hooks.js.map +1 -1
- package/dist/core/present-plan-tool.d.ts.map +1 -1
- package/dist/core/present-plan-tool.js +12 -13
- package/dist/core/present-plan-tool.js.map +1 -1
- package/dist/core/runner/assemble-result.d.ts +1 -0
- package/dist/core/runner/assemble-result.d.ts.map +1 -1
- package/dist/core/runner/assemble-result.js.map +1 -1
- package/dist/core/runner/call-cap.d.ts +4 -1
- package/dist/core/runner/call-cap.d.ts.map +1 -1
- package/dist/core/runner/call-cap.js +4 -1
- package/dist/core/runner/call-cap.js.map +1 -1
- package/dist/core/runner/cut-kill.d.ts +11 -0
- package/dist/core/runner/cut-kill.d.ts.map +1 -0
- package/dist/core/runner/cut-kill.js +38 -0
- package/dist/core/runner/cut-kill.js.map +1 -0
- package/dist/core/runner/prepare-task.d.ts +5 -0
- package/dist/core/runner/prepare-task.d.ts.map +1 -1
- package/dist/core/runner/prepare-task.js +70 -23
- package/dist/core/runner/prepare-task.js.map +1 -1
- package/dist/core/runner/runtask.d.ts.map +1 -1
- package/dist/core/runner/runtask.js +22 -6
- package/dist/core/runner/runtask.js.map +1 -1
- package/dist/core/sensitive-path-policy.d.ts +2 -1
- package/dist/core/sensitive-path-policy.d.ts.map +1 -1
- package/dist/core/sensitive-path-policy.js +22 -0
- package/dist/core/sensitive-path-policy.js.map +1 -1
- package/dist/core/task-registry.d.ts +4 -0
- package/dist/core/task-registry.d.ts.map +1 -1
- package/dist/core/task-registry.js +83 -15
- package/dist/core/task-registry.js.map +1 -1
- package/dist/core/tool-policy.d.ts +5 -2
- package/dist/core/tool-policy.d.ts.map +1 -1
- package/dist/core/tool-policy.js +9 -0
- package/dist/core/tool-policy.js.map +1 -1
- package/dist/core/trace.d.ts +3 -0
- package/dist/core/trace.d.ts.map +1 -1
- package/dist/core/trace.js.map +1 -1
- package/dist/core/types.d.ts +6 -0
- package/dist/core/types.d.ts.map +1 -1
- package/dist/engine/compaction/utils.d.ts.map +1 -1
- package/dist/engine/compaction/utils.js +3 -1
- package/dist/engine/compaction/utils.js.map +1 -1
- package/dist/engine/execution-env/kill-tree.d.ts +1 -0
- package/dist/engine/execution-env/kill-tree.d.ts.map +1 -1
- package/dist/engine/execution-env/kill-tree.js +18 -2
- package/dist/engine/execution-env/kill-tree.js.map +1 -1
- package/dist/engine/execution-env/node-execution-env.d.ts +5 -0
- package/dist/engine/execution-env/node-execution-env.d.ts.map +1 -1
- package/dist/engine/execution-env/node-execution-env.js +19 -0
- package/dist/engine/execution-env/node-execution-env.js.map +1 -1
- package/dist/engine/harness/agent-harness.d.ts +1 -0
- package/dist/engine/harness/agent-harness.d.ts.map +1 -1
- package/dist/engine/harness/agent-harness.js +4 -0
- package/dist/engine/harness/agent-harness.js.map +1 -1
- package/dist/engine/harness/messages.d.ts +2 -0
- package/dist/engine/harness/messages.d.ts.map +1 -1
- package/dist/engine/harness/messages.js +52 -3
- package/dist/engine/harness/messages.js.map +1 -1
- package/dist/engine/harness/types.d.ts +7 -0
- package/dist/engine/harness/types.d.ts.map +1 -1
- package/dist/engine/harness/types.js.map +1 -1
- package/dist/engine/llm/types.d.ts +6 -0
- package/dist/engine/llm/types.d.ts.map +1 -1
- package/dist/engine/loop/agent-loop.js +3 -0
- package/dist/engine/loop/agent-loop.js.map +1 -1
- package/dist/engine/loop/types.d.ts +2 -0
- package/dist/engine/loop/types.d.ts.map +1 -1
- package/dist/engine/session/import-validate.d.ts.map +1 -1
- package/dist/engine/session/import-validate.js +64 -0
- package/dist/engine/session/import-validate.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/internal/llm.d.ts +1 -1
- package/dist/internal/llm.d.ts.map +1 -1
- package/dist/scenarios/full-body.d.ts.map +1 -1
- package/dist/scenarios/full-body.js +3 -2
- package/dist/scenarios/full-body.js.map +1 -1
- package/dist/tools/fs/index.d.ts +8 -1
- package/dist/tools/fs/index.d.ts.map +1 -1
- package/dist/tools/fs/index.js +92 -30
- package/dist/tools/fs/index.js.map +1 -1
- package/dist/tools/fs/safety.d.ts +1 -1
- package/dist/tools/fs/safety.d.ts.map +1 -1
- package/dist/tools/fs/safety.js +3 -1
- package/dist/tools/fs/safety.js.map +1 -1
- package/dist/tools/fs/search.d.ts +7 -2
- package/dist/tools/fs/search.d.ts.map +1 -1
- package/dist/tools/fs/search.js +465 -57
- package/dist/tools/fs/search.js.map +1 -1
- package/dist/tools/monitor.d.ts.map +1 -1
- package/dist/tools/monitor.js +12 -1
- package/dist/tools/monitor.js.map +1 -1
- package/dist/tools/task-list.d.ts.map +1 -1
- package/dist/tools/task-list.js.map +1 -1
- package/dist/tools/worktree.d.ts.map +1 -1
- package/dist/tools/worktree.js +15 -2
- package/dist/tools/worktree.js.map +1 -1
- package/package.json +1 -1
|
@@ -4,31 +4,30 @@ export const PRESENT_PLAN_TOOL_NAME = "ExitPlanMode";
|
|
|
4
4
|
export const ENTER_PLAN_MODE_TOOL_NAME = "EnterPlanMode";
|
|
5
5
|
const ENTER_PLAN_MODE_DESCRIPTION = `Enter PLAN MODE (read-only): stop making changes and switch to exploration/planning. For the rest of this run, write/edit/mutating tool calls are REJECTED while read-only tools (Read, Grep, Glob, etc.) still work. When your plan is ready, call ${PRESENT_PLAN_TOOL_NAME} with it — the run PAUSES for a human to approve it, then continues (read-only lifted) so you can execute.
|
|
6
6
|
|
|
7
|
-
Use this when a task
|
|
7
|
+
Use this tool proactively when you're about to start a non-trivial implementation task. If you would use AskUserQuestion to clarify the approach, use EnterPlanMode instead — getting alignment on the plan itself is the point.
|
|
8
8
|
|
|
9
9
|
## When to Use This Tool
|
|
10
|
-
1.
|
|
10
|
+
1. Non-trivial implementation work: the change involves real design decisions worth aligning on before code is written
|
|
11
|
+
- Example: "Add a delete button to the user profile" — placement, confirmation UX, what the deletion cascades to
|
|
12
|
+
- Example: "Update the error handling in the API" — which layers change, error shapes, retry semantics
|
|
13
|
+
2. Significant architectural ambiguity: multiple reasonable approaches exist and the choice meaningfully affects the codebase
|
|
11
14
|
- Example: "Add caching to the API" — Redis vs in-memory vs file-based
|
|
12
15
|
- Example: "Add real-time updates" — WebSockets vs SSE vs polling
|
|
13
|
-
|
|
16
|
+
3. Unclear requirements: you need to explore and clarify before you can make progress
|
|
14
17
|
- Example: "Make the app faster" — need to profile and identify bottlenecks first
|
|
15
|
-
|
|
18
|
+
4. High-impact or destructive restructuring: the work significantly restructures, migrates, or deletes existing code, and buy-in first reduces risk
|
|
16
19
|
- Example: "Redesign the authentication system"
|
|
17
20
|
|
|
18
21
|
## When NOT to Use This Tool
|
|
19
|
-
Skip plan mode when
|
|
20
|
-
-
|
|
21
|
-
- The user's request is specific enough that the implementation path is clear
|
|
22
|
-
- You're adding a feature with an obvious implementation pattern (e.g. a button, a new endpoint following existing conventions)
|
|
23
|
-
- Bug fixes where the fix is clear once you understand the bug
|
|
22
|
+
Skip plan mode only when there is genuinely nothing to align on:
|
|
23
|
+
- Trivial fixes (e.g. fixing a typo, removing a stray console.log)
|
|
24
24
|
- Pure research/exploration tasks — just read; no plan approval is needed
|
|
25
|
-
- The user says something like "can we work on X" or "let's do X" — just get started
|
|
26
25
|
|
|
27
|
-
|
|
26
|
+
If unsure whether to use it, err on the side of planning - it's better to get alignment upfront than to redo work.
|
|
28
27
|
|
|
29
28
|
## Examples
|
|
30
|
-
GOOD: "Add user authentication to the app" (genuinely ambiguous: session vs JWT, token storage, middleware). "Redesign the data pipeline" (major restructuring where the wrong approach wastes significant effort).
|
|
31
|
-
BAD: "
|
|
29
|
+
GOOD: "Add user authentication to the app" (genuinely ambiguous: session vs JWT, token storage, middleware). "Add a delete button to the user profile" (small but has real design decisions — align first). "Update the error handling in the API" (touches multiple layers; agree on the shape before rewriting). "Redesign the data pipeline" (major restructuring where the wrong approach wastes significant effort).
|
|
30
|
+
BAD: "Fix the typo in the README" (trivial; nothing to align on). "Remove the leftover console.log in utils.js" (trivial cleanup). "How does the caching layer work?" (pure research — read and answer; no plan needed).`;
|
|
32
31
|
export function createEnterPlanModeTool(enterPlanMode) {
|
|
33
32
|
return {
|
|
34
33
|
name: ENTER_PLAN_MODE_TOOL_NAME,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"present-plan-tool.js","sourceRoot":"","sources":["../../src/core/present-plan-tool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAE/B,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAIvD,MAAM,CAAC,MAAM,sBAAsB,GAAG,cAAc,CAAC;AAIrD,MAAM,CAAC,MAAM,yBAAyB,GAAG,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"present-plan-tool.js","sourceRoot":"","sources":["../../src/core/present-plan-tool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAE/B,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAIvD,MAAM,CAAC,MAAM,sBAAsB,GAAG,cAAc,CAAC;AAIrD,MAAM,CAAC,MAAM,yBAAyB,GAAG,eAAe,CAAC;AASzD,MAAM,2BAA2B,GAAG,uPAAuP,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;yNAyBxF,CAAC;AAU1N,MAAM,UAAU,uBAAuB,CAAC,aAAyB;IAC/D,OAAO;QACL,IAAI,EAAE,yBAAyB;QAC/B,WAAW,EAAE,2BAA2B;QACxC,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3B,MAAM,EAAE,MAAM;QACd,aAAa,EAAE,YAAY;QAC3B,OAAO,EAAE,KAAK,IAAI,EAAE;YAClB,aAAa,EAAE,CAAC;YAChB,MAAM,OAAO,GACX,sGAAsG;gBACtG,4CAA4C,sBAAsB,mDAAmD,CAAC;YACxH,OAAO;gBACL,OAAO,EAAE,OAAO;gBAEhB,OAAO,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,OAAO,EAAE;aAC9C,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC;AAKD,MAAM,wBAAwB,GAAG;IAC/B,+FAA+F;IAC/F,oHAAoH;IACpH,wFAAwF;IACxF,gHAAgH;IAChH,6GAA6G;IAC7G,qGAAqG;IACrG,yGAAyG;IACzG,6GAA6G;IAC7G,2FAA2F;CAC5F,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAUZ,MAAM,UAAU,qBAAqB,CAAC,aAAmD;IACvF,OAAO;QACL,IAAI,EAAE,sBAAsB;QAC5B,WAAW,EAAE,wBAAwB;QACrC,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC;YACtB,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;gBAChB,WAAW,EAAE,wGAAwG;aACtH,CAAC;SACH,CAAC;QACF,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;YACtB,MAAM,EAAE,IAAI,EAAE,GAAG,IAAwB,CAAC;YAG1C,aAAa,CAAC,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC,CAAC;YAG1C,OAAO;gBACL,OAAO,EACL,uCAAuC,gBAAgB,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM;oBAC3E,uGAAuG;gBAMzG,OAAO,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE;aAC1D,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"assemble-result.d.ts","sourceRoot":"","sources":["../../../src/core/runner/assemble-result.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAI9D,OAAO,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAc,MAAM,aAAa,CAAC;AAGpE,MAAM,WAAW,KAAK;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IAEf,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,MAAM,CAAC;IACzB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAGnG,MAAM,CAAC,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAMnE,WAAW,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,KAAK,CAAC;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,CAAC;YAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;YAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;YAAC,OAAO,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC,CAAA;KAAE,CAAC;IAM7J,UAAU,CAAC,EAAE;QACX,gBAAgB,CAAC,EAAE,IAAI,CAAC;QACxB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,UAAU,CAAC,EAAE,MAAM,CAAC;QAGpB,QAAQ,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"assemble-result.d.ts","sourceRoot":"","sources":["../../../src/core/runner/assemble-result.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"assemble-result.js","sourceRoot":"","sources":["../../../src/core/runner/assemble-result.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"assemble-result.js","sourceRoot":"","sources":["../../../src/core/runner/assemble-result.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export declare const CALL_CAP_PRIOR_TOK_PER_SEC =
|
|
1
|
+
export declare const CALL_CAP_PRIOR_TOK_PER_SEC = 40;
|
|
2
2
|
export declare const CALL_CAP_SAFETY = 0.5;
|
|
3
3
|
export declare const CALL_CAP_MIN_FLOOR = 1024;
|
|
4
4
|
export declare const CALL_CAP_THINKING_MIN = 2048;
|
|
@@ -14,6 +14,9 @@ export declare const TOOL_CUT_WRITEOUT_RESERVE_MS = 5000;
|
|
|
14
14
|
export declare const TOOL_CUT_DEADLINE_LAG_MS = 2500;
|
|
15
15
|
export declare const TOOL_CUT_MIN_WINDOW_MS = 10000;
|
|
16
16
|
export declare const TOOL_CUT_FLOOR_GRACE_MS = 2000;
|
|
17
|
+
export declare const WALLTIME_STALL_CONNECT_MS = 30000;
|
|
18
|
+
export declare const WALLTIME_STALL_FIRST_TOKEN_MS = 120000;
|
|
19
|
+
export declare const WALLTIME_STALL_IDLE_MS = 90000;
|
|
17
20
|
export declare function writeoutCushionMs(budgetMs: number): number;
|
|
18
21
|
export interface CallCapState {
|
|
19
22
|
emaTokPerSec?: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"call-cap.d.ts","sourceRoot":"","sources":["../../../src/core/runner/call-cap.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"call-cap.d.ts","sourceRoot":"","sources":["../../../src/core/runner/call-cap.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
const EWMA_ALPHA = 0.4;
|
|
2
|
-
export const CALL_CAP_PRIOR_TOK_PER_SEC =
|
|
2
|
+
export const CALL_CAP_PRIOR_TOK_PER_SEC = 40;
|
|
3
3
|
export const CALL_CAP_SAFETY = 0.5;
|
|
4
4
|
export const CALL_CAP_MIN_FLOOR = 1024;
|
|
5
5
|
export const CALL_CAP_THINKING_MIN = 2048;
|
|
@@ -18,6 +18,9 @@ export const TOOL_CUT_WRITEOUT_RESERVE_MS = 5_000;
|
|
|
18
18
|
export const TOOL_CUT_DEADLINE_LAG_MS = 2_500;
|
|
19
19
|
export const TOOL_CUT_MIN_WINDOW_MS = 10_000;
|
|
20
20
|
export const TOOL_CUT_FLOOR_GRACE_MS = 2_000;
|
|
21
|
+
export const WALLTIME_STALL_CONNECT_MS = 30_000;
|
|
22
|
+
export const WALLTIME_STALL_FIRST_TOKEN_MS = 120_000;
|
|
23
|
+
export const WALLTIME_STALL_IDLE_MS = 90_000;
|
|
21
24
|
export function writeoutCushionMs(budgetMs) {
|
|
22
25
|
return Math.min(WRITEOUT_CUSHION_MAX_MS, Math.max(WRITEOUT_CUSHION_MIN_MS, Math.floor(budgetMs * 0.15)));
|
|
23
26
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"call-cap.js","sourceRoot":"","sources":["../../../src/core/runner/call-cap.ts"],"names":[],"mappings":"AAeA,MAAM,UAAU,GAAG,GAAG,CAAC;
|
|
1
|
+
{"version":3,"file":"call-cap.js","sourceRoot":"","sources":["../../../src/core/runner/call-cap.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export interface ExecKillHandle {
|
|
2
|
+
pid: number;
|
|
3
|
+
kill: () => void;
|
|
4
|
+
}
|
|
5
|
+
export interface CutKillRegistry {
|
|
6
|
+
register: (toolCallId: string, handle: ExecKillHandle) => () => void;
|
|
7
|
+
killFor: (toolCallId: string) => number;
|
|
8
|
+
kills: number;
|
|
9
|
+
}
|
|
10
|
+
export declare function createCutKillRegistry(): CutKillRegistry;
|
|
11
|
+
//# sourceMappingURL=cut-kill.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cut-kill.d.ts","sourceRoot":"","sources":["../../../src/core/runner/cut-kill.ts"],"names":[],"mappings":"AA+BA,MAAM,WAAW,cAAc;IAC7B,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,IAAI,CAAC;CAClB;AAED,MAAM,WAAW,eAAe;IAG9B,QAAQ,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,KAAK,MAAM,IAAI,CAAC;IAGrE,OAAO,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,MAAM,CAAC;IAExC,KAAK,EAAE,MAAM,CAAC;CACf;AAED,wBAAgB,qBAAqB,IAAI,eAAe,CAkCvD"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
export function createCutKillRegistry() {
|
|
2
|
+
const live = new Map();
|
|
3
|
+
const registry = {
|
|
4
|
+
kills: 0,
|
|
5
|
+
register: (toolCallId, handle) => {
|
|
6
|
+
let set = live.get(toolCallId);
|
|
7
|
+
if (!set) {
|
|
8
|
+
set = new Set();
|
|
9
|
+
live.set(toolCallId, set);
|
|
10
|
+
}
|
|
11
|
+
set.add(handle);
|
|
12
|
+
return () => {
|
|
13
|
+
set.delete(handle);
|
|
14
|
+
if (set.size === 0)
|
|
15
|
+
live.delete(toolCallId);
|
|
16
|
+
};
|
|
17
|
+
},
|
|
18
|
+
killFor: (toolCallId) => {
|
|
19
|
+
const set = live.get(toolCallId);
|
|
20
|
+
if (!set || set.size === 0)
|
|
21
|
+
return 0;
|
|
22
|
+
let signalled = 0;
|
|
23
|
+
for (const h of set) {
|
|
24
|
+
try {
|
|
25
|
+
h.kill();
|
|
26
|
+
signalled++;
|
|
27
|
+
}
|
|
28
|
+
catch {
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
if (signalled > 0)
|
|
32
|
+
registry.kills += 1;
|
|
33
|
+
return signalled;
|
|
34
|
+
},
|
|
35
|
+
};
|
|
36
|
+
return registry;
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=cut-kill.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cut-kill.js","sourceRoot":"","sources":["../../../src/core/runner/cut-kill.ts"],"names":[],"mappings":"AA+CA,MAAM,UAAU,qBAAqB;IACnC,MAAM,IAAI,GAAG,IAAI,GAAG,EAA+B,CAAC;IACpD,MAAM,QAAQ,GAAoB;QAChC,KAAK,EAAE,CAAC;QACR,QAAQ,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,EAAE;YAC/B,IAAI,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YAC/B,IAAI,CAAC,GAAG,EAAE,CAAC;gBACT,GAAG,GAAG,IAAI,GAAG,EAAE,CAAC;gBAChB,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;YAC5B,CAAC;YACD,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAChB,OAAO,GAAG,EAAE;gBACV,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBACnB,IAAI,GAAG,CAAC,IAAI,KAAK,CAAC;oBAAE,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YAC9C,CAAC,CAAC;QACJ,CAAC;QACD,OAAO,EAAE,CAAC,UAAU,EAAE,EAAE;YACtB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YACjC,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,IAAI,KAAK,CAAC;gBAAE,OAAO,CAAC,CAAC;YACrC,IAAI,SAAS,GAAG,CAAC,CAAC;YAClB,KAAK,MAAM,CAAC,IAAI,GAAG,EAAE,CAAC;gBACpB,IAAI,CAAC;oBACH,CAAC,CAAC,IAAI,EAAE,CAAC;oBACT,SAAS,EAAE,CAAC;gBACd,CAAC;gBAAC,MAAM,CAAC;gBAGT,CAAC;YACH,CAAC;YACD,IAAI,SAAS,GAAG,CAAC;gBAAE,QAAQ,CAAC,KAAK,IAAI,CAAC,CAAC;YACvC,OAAO,SAAS,CAAC;QACnB,CAAC;KACF,CAAC;IACF,OAAO,QAAQ,CAAC;AAClB,CAAC"}
|
|
@@ -8,6 +8,7 @@ import type { SessionStore } from "../session.js";
|
|
|
8
8
|
import { SubagentRetainLedger } from "../../agents/subagent.js";
|
|
9
9
|
import type { OnAsk, ToolPolicy } from "../tool-policy.js";
|
|
10
10
|
import { type ActiveSkillFrame } from "./active-skill-scope.js";
|
|
11
|
+
import { type CutKillRegistry } from "./cut-kill.js";
|
|
11
12
|
import type { SessionPermissionRules } from "../session-policy-store.js";
|
|
12
13
|
import { CacheBreakDetector, type ToolFingerprintInput } from "../cache-break-detector.js";
|
|
13
14
|
import { type OutputRef, type BlockedRef } from "./synthetic-tools.js";
|
|
@@ -101,6 +102,10 @@ export interface Prepared {
|
|
|
101
102
|
turns: number;
|
|
102
103
|
}) => Promise<boolean>;
|
|
103
104
|
callCapRef?: import("./call-cap.js").CallCapRef;
|
|
105
|
+
cutKills?: CutKillRegistry;
|
|
106
|
+
callIssuedAtRef?: {
|
|
107
|
+
current?: number;
|
|
108
|
+
};
|
|
104
109
|
reviewRequestRef: {
|
|
105
110
|
pending?: {
|
|
106
111
|
reason?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prepare-task.d.ts","sourceRoot":"","sources":["../../../src/core/runner/prepare-task.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAmI,KAAK,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAK9M,OAAO,KAAK,EAAW,KAAK,EAAe,MAAM,uBAAuB,CAAC;AAMzE,OAAO,EAAuB,KAAK,eAAe,EAAE,MAAM,WAAW,CAAC;AAEtE,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAK1D,OAAO,KAAK,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AACpF,OAAO,EAAE,OAAO,EAAqC,MAAM,eAAe,CAAC;AAC3E,OAAO,KAAK,EAAmC,YAAY,EAAE,MAAM,eAAe,CAAC;AACnF,OAAO,EAA4J,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAC1N,OAAO,KAAK,EAAE,KAAK,
|
|
1
|
+
{"version":3,"file":"prepare-task.d.ts","sourceRoot":"","sources":["../../../src/core/runner/prepare-task.ts"],"names":[],"mappings":"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"}
|
|
@@ -19,7 +19,8 @@ import { Session, isSessionConflict, hasSessionFork } from "../session.js";
|
|
|
19
19
|
import { createAgentTranscriptTool, createSendMessageTool, createSubagentWorktreeHelper, forkGovernanceDenial, AGENT_TRANSCRIPT_TOOL_NAME, SEND_MESSAGE_TOOL_NAME, SubagentRetainLedger } from "../../agents/subagent.js";
|
|
20
20
|
import { combinePolicies, createTranscriptIntegrityPolicy, createUnverifiableDeletePolicy, resolveAsk } from "../tool-policy.js";
|
|
21
21
|
import { ActiveSkillScope, createActiveSkillScopePolicy } from "./active-skill-scope.js";
|
|
22
|
-
import { computeCallCap, createCallCapRef, softExecDeadlineMs, toolCutDeadlineMs } from "./call-cap.js";
|
|
22
|
+
import { computeCallCap, createCallCapRef, softExecDeadlineMs, toolCutDeadlineMs, WALLTIME_STALL_CONNECT_MS, WALLTIME_STALL_FIRST_TOKEN_MS, WALLTIME_STALL_IDLE_MS } from "./call-cap.js";
|
|
23
|
+
import { createCutKillRegistry } from "./cut-kill.js";
|
|
23
24
|
import { CHANGED_FILES_MTIME_EPS_MS } from "./turn-attachments.js";
|
|
24
25
|
import { emitTrace } from "../trace.js";
|
|
25
26
|
import { createSessionRulePolicy } from "./session-rule-policy.js";
|
|
@@ -28,6 +29,7 @@ import { reconcileInterruptedSession } from "../session-reconcile.js";
|
|
|
28
29
|
import { CacheBreakDetector, toolsToFingerprintInputs } from "../cache-break-detector.js";
|
|
29
30
|
import { reservedCollisions, reservedFor } from "../../brain/request-params.js";
|
|
30
31
|
import { defineTool } from "../tools.js";
|
|
32
|
+
import { canonicalToolName } from "../tool-name-aliases.js";
|
|
31
33
|
import { pathToUri } from "../lsp-protocol.js";
|
|
32
34
|
import { DEFAULT_TOOL_RESULT_THRESHOLD_CHARS, firstPartyOffloadPolicy, InMemoryToolResultStore, RunnerSharedToolResultStore, ScopedToolResultStore, isVolatileOffloadStore, OFFLOAD_TOOL_NAME, makeReadToolResultTool, withToolResultOffload, } from "../tool-result-store.js";
|
|
33
35
|
import { OUTPUT_TOOL_NAME, REPORT_FINDINGS_TOOL_NAME, SKILL_CONTENT_MAX_CHARS, SKILL_TOOL_NAME, buildSkillsBlock, makeOutputTool, makeReportBlockedTool, makeReportFindingsTool, makeSkillTool, normalizeSkills } from "./synthetic-tools.js";
|
|
@@ -153,6 +155,16 @@ export async function prepareTask(spec, deps, sessions, resume, _memorySelector,
|
|
|
153
155
|
throw e;
|
|
154
156
|
}
|
|
155
157
|
}
|
|
158
|
+
if (spec.agents !== undefined && spec.agents.length > 0) {
|
|
159
|
+
const pool = spec.tools ?? [];
|
|
160
|
+
if (!pool.some((t) => typeof t.withAgents === "function")) {
|
|
161
|
+
const e = new Error(`TaskSpec.agents was provided but no delegation tool (createSubagentTool) is mounted in spec.tools — the per-task agents could never be offered. Mount the delegation tool, or drop spec.agents.`);
|
|
162
|
+
e.code = "config.agents.no_delegation_tool";
|
|
163
|
+
throw e;
|
|
164
|
+
}
|
|
165
|
+
const perTask = spec.agents;
|
|
166
|
+
spec = { ...spec, tools: pool.map((t) => (typeof t.withAgents === "function" ? t.withAgents(perTask) : t)) };
|
|
167
|
+
}
|
|
156
168
|
const resolvedRole = resolveTaskModel(spec, deps);
|
|
157
169
|
const model = resolvedRole.model;
|
|
158
170
|
const thinking = spec.thinking ?? resolvedRole.thinking ?? model.defaultThinking;
|
|
@@ -619,10 +631,13 @@ export async function prepareTask(spec, deps, sessions, resume, _memorySelector,
|
|
|
619
631
|
if (!(spec.tools ?? []).some((t) => t.name === REPORT_FINDINGS_TOOL_NAME || t.aliases?.includes(REPORT_FINDINGS_TOOL_NAME))) {
|
|
620
632
|
tools.push(makeReportFindingsTool());
|
|
621
633
|
}
|
|
622
|
-
if (spec.enablePlanMode === true) {
|
|
623
|
-
|
|
624
|
-
if (
|
|
625
|
-
tools.push(defineTool(
|
|
634
|
+
if (spec.enablePlanMode === true && spec.interactiveTools !== false) {
|
|
635
|
+
const planReviewFace = (spec.checkpointStore ?? deps.checkpointStore) !== undefined;
|
|
636
|
+
if (spec.interactiveTools === true || planReviewFace) {
|
|
637
|
+
tools.push(defineTool(createPresentPlanTool(requestReview)));
|
|
638
|
+
if (planReviewFace) {
|
|
639
|
+
tools.push(defineTool(createEnterPlanModeTool(enterPlanMode)));
|
|
640
|
+
}
|
|
626
641
|
}
|
|
627
642
|
}
|
|
628
643
|
let runtimeCaps;
|
|
@@ -807,12 +822,15 @@ export async function prepareTask(spec, deps, sessions, resume, _memorySelector,
|
|
|
807
822
|
? spec.limits.maxOutputTokens
|
|
808
823
|
: model.maxTokens;
|
|
809
824
|
}
|
|
825
|
+
const cutKills = callCapRef ? createCutKillRegistry() : undefined;
|
|
826
|
+
const callIssuedAtRef = {};
|
|
810
827
|
const execClamp = callCapRef
|
|
811
828
|
? {
|
|
812
829
|
deadlineMs: () => softExecDeadlineMs(callCapRef),
|
|
813
830
|
onClamp: () => {
|
|
814
831
|
callCapRef.toolClamps = (callCapRef.toolClamps ?? 0) + 1;
|
|
815
832
|
},
|
|
833
|
+
...(cutKills ? { registerKillHandle: cutKills.register } : {}),
|
|
816
834
|
}
|
|
817
835
|
: undefined;
|
|
818
836
|
const memoryWriteGateRef = {};
|
|
@@ -950,7 +968,9 @@ export async function prepareTask(spec, deps, sessions, resume, _memorySelector,
|
|
|
950
968
|
if (offloadStore)
|
|
951
969
|
tools.push(makeReadToolResultTool(offloadStore));
|
|
952
970
|
const onQuestion = spec.onQuestion ?? deps.onQuestion;
|
|
953
|
-
|
|
971
|
+
const durableQuestionFace = (spec.checkpointStore ?? deps.checkpointStore) !== undefined &&
|
|
972
|
+
(spec.durableApproval !== undefined || runtimeCaps?.forceDurableGate === true);
|
|
973
|
+
if (spec.interactiveTools === true || (spec.interactiveTools !== false && (onQuestion !== undefined || durableQuestionFace)))
|
|
954
974
|
tools.push(createAskUserQuestionTool(onQuestion, { principal: spec.principal, sourceTaskId: sessionId }));
|
|
955
975
|
if (spec.handsReadOnly !== true) {
|
|
956
976
|
const schedScope = sessionId ?? spec.principal ?? spec.taskId ?? "default";
|
|
@@ -1482,6 +1502,20 @@ export async function prepareTask(spec, deps, sessions, resume, _memorySelector,
|
|
|
1482
1502
|
toolSearch = makeToolSearchTool({ registry, active: activeTools, rematerialize });
|
|
1483
1503
|
harnessTools = buildToolList(activeTools);
|
|
1484
1504
|
}
|
|
1505
|
+
if (spec.agents !== undefined && spec.agents.length > 0) {
|
|
1506
|
+
const known = new Set(tools.flatMap((t) => [canonicalToolName(t.name), ...(t.aliases ?? []).map((a) => canonicalToolName(a))]));
|
|
1507
|
+
for (const def of spec.agents) {
|
|
1508
|
+
for (const n of def.allowTools ?? []) {
|
|
1509
|
+
if (n === "*")
|
|
1510
|
+
continue;
|
|
1511
|
+
if (!known.has(canonicalToolName(n))) {
|
|
1512
|
+
const e = new Error(`TaskSpec.agents: agent "${def.name}" declares tool "${n}" in its allowed tools, but no such tool exists in this deployment — fix the agent's tools list or mount the tool.`);
|
|
1513
|
+
e.code = "config.agent.unknown_tool";
|
|
1514
|
+
throw e;
|
|
1515
|
+
}
|
|
1516
|
+
}
|
|
1517
|
+
}
|
|
1518
|
+
}
|
|
1485
1519
|
const agentListingSpec = (spec.tools ?? []).find((t) => t.agentListing !== undefined && t.agentListing.length > 0);
|
|
1486
1520
|
const agentListing = agentListingSpec
|
|
1487
1521
|
? { entries: agentListingSpec.agentListing, toolName: agentListingSpec.name, seedAnnounced: resume !== undefined }
|
|
@@ -1517,7 +1551,15 @@ export async function prepareTask(spec, deps, sessions, resume, _memorySelector,
|
|
|
1517
1551
|
}
|
|
1518
1552
|
: {}),
|
|
1519
1553
|
...(callCapRef !== undefined
|
|
1520
|
-
? {
|
|
1554
|
+
? {
|
|
1555
|
+
callDeadlineMsPerCall: () => {
|
|
1556
|
+
callIssuedAtRef.current = Date.now();
|
|
1557
|
+
return softExecDeadlineMs(callCapRef);
|
|
1558
|
+
},
|
|
1559
|
+
stallTimeoutsPerCall: () => softExecDeadlineMs(callCapRef) !== undefined
|
|
1560
|
+
? { connectMs: WALLTIME_STALL_CONNECT_MS, firstTokenMs: WALLTIME_STALL_FIRST_TOKEN_MS, idleMs: WALLTIME_STALL_IDLE_MS }
|
|
1561
|
+
: undefined,
|
|
1562
|
+
}
|
|
1521
1563
|
: {}),
|
|
1522
1564
|
...(callCapRef !== undefined
|
|
1523
1565
|
? {
|
|
@@ -1525,6 +1567,9 @@ export async function prepareTask(spec, deps, sessions, resume, _memorySelector,
|
|
|
1525
1567
|
deadlineMs: () => toolCutDeadlineMs(callCapRef, Date.now()),
|
|
1526
1568
|
onCut: (info) => {
|
|
1527
1569
|
callCapRef.toolCuts = (callCapRef.toolCuts ?? 0) + 1;
|
|
1570
|
+
if (callCapRef.finalizeMode === true && cutKills !== undefined) {
|
|
1571
|
+
cutKills.killFor(info.toolCallId);
|
|
1572
|
+
}
|
|
1528
1573
|
callCapRef.pendingCutTools = (callCapRef.pendingCutTools ?? 0) + 1;
|
|
1529
1574
|
void info.settled.then(() => {
|
|
1530
1575
|
callCapRef.pendingCutTools = (callCapRef.pendingCutTools ?? 0) - 1;
|
|
@@ -1850,16 +1895,18 @@ export async function prepareTask(spec, deps, sessions, resume, _memorySelector,
|
|
|
1850
1895
|
sourceTaskId: sessionId,
|
|
1851
1896
|
}, onAsk, abortController.signal);
|
|
1852
1897
|
const waitMs = Math.max(0, now() - t0);
|
|
1853
|
-
|
|
1854
|
-
|
|
1855
|
-
|
|
1856
|
-
|
|
1857
|
-
|
|
1858
|
-
|
|
1859
|
-
|
|
1860
|
-
|
|
1861
|
-
|
|
1862
|
-
|
|
1898
|
+
if (resolved.approverUnavailable !== true) {
|
|
1899
|
+
humanReviewRef.count += 1;
|
|
1900
|
+
humanReviewRef.totalWaitMs += waitMs;
|
|
1901
|
+
const toolArg = primaryActivityArg(req.args);
|
|
1902
|
+
humanReviewRef.gates.push({
|
|
1903
|
+
kind: "human",
|
|
1904
|
+
waitMs,
|
|
1905
|
+
decision: resolved.action === "allow" ? "allow" : "deny",
|
|
1906
|
+
toolName: req.toolName,
|
|
1907
|
+
...(toolArg !== undefined ? { toolArg } : {}),
|
|
1908
|
+
});
|
|
1909
|
+
}
|
|
1863
1910
|
return resolved;
|
|
1864
1911
|
};
|
|
1865
1912
|
const hooksWithPermissionDenied = hooks?.permissionDenied ? hooks : undefined;
|
|
@@ -1995,7 +2042,7 @@ export async function prepareTask(spec, deps, sessions, resume, _memorySelector,
|
|
|
1995
2042
|
remoteHandle = { ...suspendableEnv.workspaceHandle(), snapshotId: snap.value };
|
|
1996
2043
|
}
|
|
1997
2044
|
else if (parkOnlyRemoteEnv !== undefined) {
|
|
1998
|
-
if (hasBackgroundShell(parkOnlyRemoteEnv))
|
|
2045
|
+
if (hasBackgroundShell(parkOnlyRemoteEnv) && spec.retainBackgroundProcesses !== true)
|
|
1999
2046
|
await parkOnlyRemoteEnv.disposeBackgroundShells();
|
|
2000
2047
|
remoteHandle = parkOnlyHandle(parkOnlyRemoteEnv);
|
|
2001
2048
|
}
|
|
@@ -2063,7 +2110,7 @@ export async function prepareTask(spec, deps, sessions, resume, _memorySelector,
|
|
|
2063
2110
|
remoteHandle = { ...suspendableEnv.workspaceHandle(), snapshotId: snap.value };
|
|
2064
2111
|
}
|
|
2065
2112
|
else if (parkOnlyRemoteEnv !== undefined) {
|
|
2066
|
-
if (hasBackgroundShell(parkOnlyRemoteEnv))
|
|
2113
|
+
if (hasBackgroundShell(parkOnlyRemoteEnv) && spec.retainBackgroundProcesses !== true)
|
|
2067
2114
|
await parkOnlyRemoteEnv.disposeBackgroundShells();
|
|
2068
2115
|
remoteHandle = parkOnlyHandle(parkOnlyRemoteEnv);
|
|
2069
2116
|
}
|
|
@@ -2106,8 +2153,8 @@ export async function prepareTask(spec, deps, sessions, resume, _memorySelector,
|
|
|
2106
2153
|
}
|
|
2107
2154
|
: undefined;
|
|
2108
2155
|
const suspendAsk = checkpointStore && (durableApproval || irreversibleTools.size > 0 || egressTools.size > 0)
|
|
2109
|
-
? async (req, postHookArgs, safety) => {
|
|
2110
|
-
if (safety === undefined && onAsk !== undefined && runtimeCaps?.forceDurableGate !== true) {
|
|
2156
|
+
? async (req, postHookArgs, safety, approverUnavailable) => {
|
|
2157
|
+
if (safety === undefined && onAsk !== undefined && runtimeCaps?.forceDurableGate !== true && approverUnavailable !== true) {
|
|
2111
2158
|
return undefined;
|
|
2112
2159
|
}
|
|
2113
2160
|
let token;
|
|
@@ -2148,7 +2195,7 @@ export async function prepareTask(spec, deps, sessions, resume, _memorySelector,
|
|
|
2148
2195
|
remoteHandle = { ...remoteEnv.workspaceHandle(), snapshotId: snap.value };
|
|
2149
2196
|
}
|
|
2150
2197
|
else if (parkOnlyRemoteEnv !== undefined) {
|
|
2151
|
-
if (hasBackgroundShell(parkOnlyRemoteEnv))
|
|
2198
|
+
if (hasBackgroundShell(parkOnlyRemoteEnv) && spec.retainBackgroundProcesses !== true)
|
|
2152
2199
|
await parkOnlyRemoteEnv.disposeBackgroundShells();
|
|
2153
2200
|
remoteHandle = parkOnlyHandle(parkOnlyRemoteEnv);
|
|
2154
2201
|
}
|
|
@@ -2459,7 +2506,7 @@ export async function prepareTask(spec, deps, sessions, resume, _memorySelector,
|
|
|
2459
2506
|
.list({ owner: hostTaskId, scope: taskScope, sessionId })
|
|
2460
2507
|
.filter((t) => t.status === "pending" || t.status === "running")
|
|
2461
2508
|
.map((t) => ({ id: t.task_id, ...(t.description !== undefined ? { description: t.description } : {}), status: t.status }));
|
|
2462
|
-
return { harness, session, sessionId, taskRootPath, model, thinking, compModel, mcp, blockedRef, outputRef, abortController, conflictRef, blockedToolCalls, nestedStats, cwdRef: handsCwdRef, denyNarrowingPolicy, releaseSignal, cacheBreakDetector, cacheFingerprint, promptManifest, activeTools, ownedEnv, suspendRef, reviewRef, reviewRequestRef, suspendLoopRef, suspendForResource, ...(callCapRef ? { callCapRef } : {}), suspendForReview, resourceLedger: priorLedger, liveSpendRef, humanReviewRef, now, tools, toolEffects, promptOverheadTokens, readTaskFile, recentlyReadFiles, compactionReuseRef, trimPressureRef, ...(memoryEngineSession ? { memoryEngineSession } : {}), ...(subagentRetain ? { subagentRetain } : {}), ...(lspDiagnostics && nudgeLspOnEdit ? { lspDiagnostics: { registry: lspDiagnostics, nudge: nudgeLspOnEdit } } : {}), planModeRef, ...(detectExternalChanges ? { detectExternalChanges } : {}), ...(toolsDeltaRef ? { toolsDeltaRef } : {}), ...(agentListing ? { agentListing } : {}), listBackgroundTasks };
|
|
2509
|
+
return { harness, session, sessionId, taskRootPath, model, thinking, compModel, mcp, blockedRef, outputRef, abortController, conflictRef, blockedToolCalls, nestedStats, cwdRef: handsCwdRef, denyNarrowingPolicy, releaseSignal, cacheBreakDetector, cacheFingerprint, promptManifest, activeTools, ownedEnv, suspendRef, reviewRef, reviewRequestRef, suspendLoopRef, suspendForResource, ...(callCapRef ? { callCapRef } : {}), ...(cutKills ? { cutKills } : {}), ...(callCapRef ? { callIssuedAtRef } : {}), suspendForReview, resourceLedger: priorLedger, liveSpendRef, humanReviewRef, now, tools, toolEffects, promptOverheadTokens, readTaskFile, recentlyReadFiles, compactionReuseRef, trimPressureRef, ...(memoryEngineSession ? { memoryEngineSession } : {}), ...(subagentRetain ? { subagentRetain } : {}), ...(lspDiagnostics && nudgeLspOnEdit ? { lspDiagnostics: { registry: lspDiagnostics, nudge: nudgeLspOnEdit } } : {}), planModeRef, ...(detectExternalChanges ? { detectExternalChanges } : {}), ...(toolsDeltaRef ? { toolsDeltaRef } : {}), ...(agentListing ? { agentListing } : {}), listBackgroundTasks };
|
|
2463
2510
|
}
|
|
2464
2511
|
catch (prepareErr) {
|
|
2465
2512
|
if (mcp) {
|