@x-code-cli/core 0.2.1 → 0.2.3
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/agent/api-errors.js +1 -1
- package/dist/agent/api-errors.js.map +1 -1
- package/dist/agent/compression.d.ts +25 -0
- package/dist/agent/compression.d.ts.map +1 -0
- package/dist/agent/compression.js +105 -0
- package/dist/agent/compression.js.map +1 -0
- package/dist/agent/diff.js.map +1 -1
- package/dist/agent/file-ingest.d.ts +14 -0
- package/dist/agent/file-ingest.d.ts.map +1 -1
- package/dist/agent/file-ingest.js +125 -34
- package/dist/agent/file-ingest.js.map +1 -1
- package/dist/agent/light-compact.d.ts.map +1 -1
- package/dist/agent/light-compact.js +0 -19
- package/dist/agent/light-compact.js.map +1 -1
- package/dist/agent/loop-guard.d.ts.map +1 -1
- package/dist/agent/loop-guard.js.map +1 -1
- package/dist/agent/loop-state.d.ts.map +1 -1
- package/dist/agent/loop-state.js +8 -1
- package/dist/agent/loop-state.js.map +1 -1
- package/dist/agent/loop.d.ts +2 -3
- package/dist/agent/loop.d.ts.map +1 -1
- package/dist/agent/loop.js +53 -93
- package/dist/agent/loop.js.map +1 -1
- package/dist/agent/memory-extractor.d.ts +22 -0
- package/dist/agent/memory-extractor.d.ts.map +1 -0
- package/dist/agent/memory-extractor.js +253 -0
- package/dist/agent/memory-extractor.js.map +1 -0
- package/dist/agent/messages.d.ts +9 -0
- package/dist/agent/messages.d.ts.map +1 -1
- package/dist/agent/messages.js +15 -0
- package/dist/agent/messages.js.map +1 -1
- package/dist/agent/plan-storage.d.ts.map +1 -1
- package/dist/agent/plan-storage.js +1 -1
- package/dist/agent/plan-storage.js.map +1 -1
- package/dist/agent/plan-tools.d.ts +8 -0
- package/dist/agent/plan-tools.d.ts.map +1 -0
- package/dist/agent/plan-tools.js +150 -0
- package/dist/agent/plan-tools.js.map +1 -0
- package/dist/agent/provider-compat.d.ts.map +1 -1
- package/dist/agent/provider-compat.js.map +1 -1
- package/dist/agent/sub-agents/built-in.d.ts.map +1 -1
- package/dist/agent/sub-agents/built-in.js +41 -15
- package/dist/agent/sub-agents/built-in.js.map +1 -1
- package/dist/agent/sub-agents/loader.d.ts.map +1 -1
- package/dist/agent/sub-agents/loader.js.map +1 -1
- package/dist/agent/sub-agents/runner.d.ts.map +1 -1
- package/dist/agent/sub-agents/runner.js +12 -8
- package/dist/agent/sub-agents/runner.js.map +1 -1
- package/dist/agent/system-prompt.d.ts.map +1 -1
- package/dist/agent/system-prompt.js +0 -31
- package/dist/agent/system-prompt.js.map +1 -1
- package/dist/agent/tool-execution.d.ts +34 -2
- package/dist/agent/tool-execution.d.ts.map +1 -1
- package/dist/agent/tool-execution.js +363 -360
- package/dist/agent/tool-execution.js.map +1 -1
- package/dist/agent/tool-result-sanitize.d.ts +21 -7
- package/dist/agent/tool-result-sanitize.d.ts.map +1 -1
- package/dist/agent/tool-result-sanitize.js +56 -30
- package/dist/agent/tool-result-sanitize.js.map +1 -1
- package/dist/agent/vision-fallback.d.ts.map +1 -1
- package/dist/agent/vision-fallback.js +3 -14
- package/dist/agent/vision-fallback.js.map +1 -1
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -1
- package/dist/knowledge/loader.d.ts.map +1 -1
- package/dist/knowledge/loader.js +50 -23
- package/dist/knowledge/loader.js.map +1 -1
- package/dist/permissions/index.d.ts +9 -4
- package/dist/permissions/index.d.ts.map +1 -1
- package/dist/permissions/index.js +41 -7
- package/dist/permissions/index.js.map +1 -1
- package/dist/permissions/session-store.d.ts +34 -20
- package/dist/permissions/session-store.d.ts.map +1 -1
- package/dist/permissions/session-store.js +94 -34
- package/dist/permissions/session-store.js.map +1 -1
- package/dist/providers/cache-control.d.ts.map +1 -1
- package/dist/providers/cache-control.js +0 -29
- package/dist/providers/cache-control.js.map +1 -1
- package/dist/providers/thinking.d.ts.map +1 -1
- package/dist/providers/thinking.js +2 -6
- package/dist/providers/thinking.js.map +1 -1
- package/dist/tools/ask-user.d.ts.map +1 -1
- package/dist/tools/ask-user.js +17 -7
- package/dist/tools/ask-user.js.map +1 -1
- package/dist/tools/edit.d.ts.map +1 -1
- package/dist/tools/edit.js +8 -1
- package/dist/tools/edit.js.map +1 -1
- package/dist/tools/glob.d.ts.map +1 -1
- package/dist/tools/glob.js +9 -2
- package/dist/tools/glob.js.map +1 -1
- package/dist/tools/grep.d.ts +1 -1
- package/dist/tools/grep.d.ts.map +1 -1
- package/dist/tools/grep.js +29 -6
- package/dist/tools/grep.js.map +1 -1
- package/dist/tools/index.d.ts +2 -10
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +10 -3
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/list-dir.d.ts.map +1 -1
- package/dist/tools/list-dir.js.map +1 -1
- package/dist/tools/read-file.d.ts.map +1 -1
- package/dist/tools/read-file.js +78 -36
- package/dist/tools/read-file.js.map +1 -1
- package/dist/tools/shell-provider.d.ts +1 -0
- package/dist/tools/shell-provider.d.ts.map +1 -1
- package/dist/tools/shell-provider.js +7 -0
- package/dist/tools/shell-provider.js.map +1 -1
- package/dist/tools/shell-utils.d.ts.map +1 -1
- package/dist/tools/shell-utils.js +45 -2
- package/dist/tools/shell-utils.js.map +1 -1
- package/dist/tools/shell.d.ts.map +1 -1
- package/dist/tools/shell.js +15 -1
- package/dist/tools/shell.js.map +1 -1
- package/dist/tools/task.d.ts.map +1 -1
- package/dist/tools/task.js +4 -4
- package/dist/tools/task.js.map +1 -1
- package/dist/tools/todo-write.d.ts.map +1 -1
- package/dist/tools/todo-write.js.map +1 -1
- package/dist/tools/web-fetch.d.ts +2 -0
- package/dist/tools/web-fetch.d.ts.map +1 -1
- package/dist/tools/web-fetch.js +92 -27
- package/dist/tools/web-fetch.js.map +1 -1
- package/dist/tools/write-file.d.ts.map +1 -1
- package/dist/tools/write-file.js +7 -1
- package/dist/tools/write-file.js.map +1 -1
- package/dist/types/index.d.ts +17 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js.map +1 -1
- package/dist/utils/lru-cache.d.ts +17 -0
- package/dist/utils/lru-cache.d.ts.map +1 -0
- package/dist/utils/lru-cache.js +40 -0
- package/dist/utils/lru-cache.js.map +1 -0
- package/dist/utils/media-type.d.ts +5 -0
- package/dist/utils/media-type.d.ts.map +1 -0
- package/dist/utils/media-type.js +19 -0
- package/dist/utils/media-type.js.map +1 -0
- package/dist/utils/message-helpers.d.ts +6 -0
- package/dist/utils/message-helpers.d.ts.map +1 -0
- package/dist/utils/message-helpers.js +14 -0
- package/dist/utils/message-helpers.js.map +1 -0
- package/package.json +1 -1
- package/dist/tools/save-knowledge.d.ts +0 -8
- package/dist/tools/save-knowledge.d.ts.map +0 -1
- package/dist/tools/save-knowledge.js +0 -61
- package/dist/tools/save-knowledge.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plan-storage.d.ts","sourceRoot":"","sources":["../../src/agent/plan-storage.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,IAAI,CAAA;AAQvC;;;;;;uEAMuE;AACvE,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAU5C;AAiBD;;;;;;;;wCAQwC;AACxC,wBAAgB,gBAAgB,
|
|
1
|
+
{"version":3,"file":"plan-storage.d.ts","sourceRoot":"","sources":["../../src/agent/plan-storage.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,IAAI,CAAA;AAQvC;;;;;;uEAMuE;AACvE,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAU5C;AAiBD;;;;;;;;wCAQwC;AACxC,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,IAAI,CAAA;CAAE,GAAG,MAAM,CAK/F;AAuBD;;;;;;;;;;;;;;;;2DAgB2D;AAC3D,wBAAsB,gBAAgB,CACpC,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,aAAa,EACpB,OAAO,EAAE,MAAM,EACf,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,MAAM,CAAC,CAiCjB;AAED;;qDAEqD;AACrD,wBAAsB,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC,CAEnD;AAED;;;aAGa;AACb,wBAAsB,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAMhE;AAED;;;qBAGqB;AACrB,wBAAsB,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAI/E"}
|
|
@@ -16,7 +16,7 @@ import fs from 'node:fs/promises';
|
|
|
16
16
|
import path from 'node:path';
|
|
17
17
|
import { generateText } from 'ai';
|
|
18
18
|
import { getThinkingProviderOptions } from '../providers/thinking.js';
|
|
19
|
-
import {
|
|
19
|
+
import { XCODE_DIR, debugLog } from '../utils.js';
|
|
20
20
|
const PLANS_SUBDIR = 'plans';
|
|
21
21
|
const SLUG_MAX_LEN = 40;
|
|
22
22
|
/** Convert an arbitrary task description into a filesystem-safe,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plan-storage.js","sourceRoot":"","sources":["../../src/agent/plan-storage.ts"],"names":[],"mappings":"AAAA,4CAA4C;AAC5C,EAAE;AACF,uEAAuE;AACvE,oEAAoE;AACpE,qEAAqE;AACrE,uEAAuE;AACvE,qEAAqE;AACrE,sEAAsE;AACtE,mDAAmD;AACnD,EAAE;AACF,sEAAsE;AACtE,iEAAiE;AACjE,uEAAuE;AACvE,mEAAmE;AACnE,OAAO,EAAE,MAAM,kBAAkB,CAAA;AACjC,OAAO,IAAI,MAAM,WAAW,CAAA;AAE5B,OAAO,EAAE,YAAY,EAAE,MAAM,IAAI,CAAA;AAGjC,OAAO,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAA;AACrE,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"plan-storage.js","sourceRoot":"","sources":["../../src/agent/plan-storage.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { AgentCallbacks, AgentOptions } from '../types/index.js';
|
|
2
|
+
import type { LoopState } from './loop-state.js';
|
|
3
|
+
type PushToolResult = (state: LoopState, callbacks: AgentCallbacks, toolCallId: string, toolName: string, output: string, isError?: boolean) => void;
|
|
4
|
+
export declare function handleTodoWrite(input: Record<string, unknown>, toolCallId: string, state: LoopState, callbacks: AgentCallbacks, pushToolResult: PushToolResult): Promise<void>;
|
|
5
|
+
export declare function handleEnterPlanMode(input: Record<string, unknown>, toolCallId: string, state: LoopState, options: AgentOptions, callbacks: AgentCallbacks, pushToolResult: PushToolResult): Promise<void>;
|
|
6
|
+
export declare function handleExitPlanMode(input: Record<string, unknown>, toolCallId: string, state: LoopState, callbacks: AgentCallbacks, pushToolResult: PushToolResult): Promise<void>;
|
|
7
|
+
export {};
|
|
8
|
+
//# sourceMappingURL=plan-tools.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plan-tools.d.ts","sourceRoot":"","sources":["../../src/agent/plan-tools.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,cAAc,EAAE,YAAY,EAAY,MAAM,mBAAmB,CAAA;AAE/E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAIhD,KAAK,cAAc,GAAG,CACpB,KAAK,EAAE,SAAS,EAChB,SAAS,EAAE,cAAc,EACzB,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,OAAO,KACd,IAAI,CAAA;AAYT,wBAAsB,eAAe,CACnC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9B,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,SAAS,EAChB,SAAS,EAAE,cAAc,EACzB,cAAc,EAAE,cAAc,GAC7B,OAAO,CAAC,IAAI,CAAC,CAuCf;AAED,wBAAsB,mBAAmB,CACvC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9B,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,SAAS,EAChB,OAAO,EAAE,YAAY,EACrB,SAAS,EAAE,cAAc,EACzB,cAAc,EAAE,cAAc,GAC7B,OAAO,CAAC,IAAI,CAAC,CAwDf;AAED,wBAAsB,kBAAkB,CACtC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9B,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,SAAS,EAChB,SAAS,EAAE,cAAc,EACzB,cAAc,EAAE,cAAc,GAC7B,OAAO,CAAC,IAAI,CAAC,CAiGf"}
|
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
import { extractText } from '../utils/message-helpers.js';
|
|
2
|
+
import { toolErrorString } from './messages.js';
|
|
3
|
+
import { makePlanFilePath, readPlan, writePlan } from './plan-storage.js';
|
|
4
|
+
function lastUserMessageText(messages) {
|
|
5
|
+
for (let i = messages.length - 1; i >= 0; i--) {
|
|
6
|
+
const m = messages[i];
|
|
7
|
+
if (m && m.role === 'user') {
|
|
8
|
+
return extractText(m.content);
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
return '';
|
|
12
|
+
}
|
|
13
|
+
export async function handleTodoWrite(input, toolCallId, state, callbacks, pushToolResult) {
|
|
14
|
+
const raw = input.todos ?? [];
|
|
15
|
+
const normalized = [];
|
|
16
|
+
for (const t of raw) {
|
|
17
|
+
const content = (t.content ?? '').trim();
|
|
18
|
+
const activeForm = (t.activeForm ?? '').trim();
|
|
19
|
+
if (!content && !activeForm)
|
|
20
|
+
continue;
|
|
21
|
+
normalized.push({
|
|
22
|
+
content: content || activeForm,
|
|
23
|
+
activeForm: activeForm || content,
|
|
24
|
+
status: t.status ?? 'pending',
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
const allDone = normalized.length > 0 && normalized.every((t) => t.status === 'completed');
|
|
28
|
+
state.todos = allDone ? [] : normalized;
|
|
29
|
+
callbacks.onTodosUpdate(state.todos);
|
|
30
|
+
const dropped = raw.length - normalized.length;
|
|
31
|
+
const droppedNote = dropped > 0
|
|
32
|
+
? ` ${dropped} entr${dropped === 1 ? 'y was' : 'ies were'} dropped because they had neither content nor activeForm — please include both fields next time so the user sees clean labels.`
|
|
33
|
+
: '';
|
|
34
|
+
const VERIFY_RE = /\b(verif|test|check|lint|build|typecheck|tsc)\b/i;
|
|
35
|
+
const needsVerifyNudge = allDone &&
|
|
36
|
+
normalized.length >= 3 &&
|
|
37
|
+
!normalized.some((t) => VERIFY_RE.test(t.content) || VERIFY_RE.test(t.activeForm));
|
|
38
|
+
const verifyNote = needsVerifyNudge
|
|
39
|
+
? ' Before wrapping up, verify your work — run tests, lint, or type-check as appropriate for this project.'
|
|
40
|
+
: '';
|
|
41
|
+
pushToolResult(state, callbacks, toolCallId, 'todoWrite', allDone
|
|
42
|
+
? `All todos completed. Checklist cleared.${verifyNote}${droppedNote}`
|
|
43
|
+
: `Todo list updated. Keep the checklist current — mark items completed immediately when finished, and ensure exactly one item is in_progress.${droppedNote}`);
|
|
44
|
+
}
|
|
45
|
+
export async function handleEnterPlanMode(input, toolCallId, state, options, callbacks, pushToolResult) {
|
|
46
|
+
if (state.permissionMode === 'plan') {
|
|
47
|
+
pushToolResult(state, callbacks, toolCallId, 'enterPlanMode', 'Already in plan mode. Continue the conversation; call exitPlanMode when the user has asked for an implementation and you have a plan ready.');
|
|
48
|
+
return;
|
|
49
|
+
}
|
|
50
|
+
const decision = await callbacks.onAskPermission({ toolCallId, toolName: 'enterPlanMode', input });
|
|
51
|
+
if (options.abortSignal?.aborted) {
|
|
52
|
+
pushToolResult(state, callbacks, toolCallId, 'enterPlanMode', '[Tool execution interrupted by user]', true);
|
|
53
|
+
return;
|
|
54
|
+
}
|
|
55
|
+
if (decision === 'no') {
|
|
56
|
+
pushToolResult(state, callbacks, toolCallId, 'enterPlanMode', "User declined to enter plan mode. Continue with the user's request in default mode — make whatever edits or shell calls the task requires (subject to per-tool permission).", true);
|
|
57
|
+
return;
|
|
58
|
+
}
|
|
59
|
+
state.permissionMode = 'plan';
|
|
60
|
+
state.systemPromptCache = null;
|
|
61
|
+
if (!state.currentPlanPath) {
|
|
62
|
+
const topic = input.topic?.trim();
|
|
63
|
+
const fallbackText = lastUserMessageText(state.messages);
|
|
64
|
+
const explicitSlug = topic && topic.length > 0 ? topic : state.taskSlug || undefined;
|
|
65
|
+
state.currentPlanPath = makePlanFilePath(fallbackText, { slug: explicitSlug });
|
|
66
|
+
}
|
|
67
|
+
callbacks.onPlanModeChange('plan');
|
|
68
|
+
pushToolResult(state, callbacks, toolCallId, 'enterPlanMode', [
|
|
69
|
+
'Entered plan mode (user approved).',
|
|
70
|
+
'',
|
|
71
|
+
'Read-only tools are unrestricted (readFile, glob, grep, listDir, webSearch, webFetch).',
|
|
72
|
+
`Plan file path for this session: ${state.currentPlanPath}`,
|
|
73
|
+
'Use writeFile/edit on the plan file to build your plan; do NOT edit any other files',
|
|
74
|
+
'or run state-changing shell commands until the user approves your plan via exitPlanMode.',
|
|
75
|
+
'',
|
|
76
|
+
'Workflow: explore → update plan file → askUser → repeat.',
|
|
77
|
+
'',
|
|
78
|
+
'CRITICAL: when the plan is ready, call **exitPlanMode** to request approval — NOT',
|
|
79
|
+
'askUser. askUser cannot leave plan mode no matter how the user answers; only',
|
|
80
|
+
'exitPlanMode flips the mode and unblocks your writeFile/edit/shell calls.',
|
|
81
|
+
].join('\n'));
|
|
82
|
+
}
|
|
83
|
+
export async function handleExitPlanMode(input, toolCallId, state, callbacks, pushToolResult) {
|
|
84
|
+
if (state.permissionMode !== 'plan') {
|
|
85
|
+
pushToolResult(state, callbacks, toolCallId, 'exitPlanMode', toolErrorString('not in plan mode. exitPlanMode is only valid when the session is in plan mode.'), true);
|
|
86
|
+
return;
|
|
87
|
+
}
|
|
88
|
+
const planPath = state.currentPlanPath ??
|
|
89
|
+
makePlanFilePath(lastUserMessageText(state.messages), { slug: state.taskSlug || undefined });
|
|
90
|
+
state.currentPlanPath = planPath;
|
|
91
|
+
const planOverride = input.plan?.trim();
|
|
92
|
+
let planBody = planOverride ?? '';
|
|
93
|
+
if (!planBody) {
|
|
94
|
+
planBody = (await readPlan(planPath)).trim();
|
|
95
|
+
}
|
|
96
|
+
if (!planBody) {
|
|
97
|
+
pushToolResult(state, callbacks, toolCallId, 'exitPlanMode', toolErrorString(`the plan file at ${planPath} is empty. Write your plan to that file using writeFile or edit, then call exitPlanMode again.`), true);
|
|
98
|
+
return;
|
|
99
|
+
}
|
|
100
|
+
let savedPath = planPath;
|
|
101
|
+
if (planOverride) {
|
|
102
|
+
try {
|
|
103
|
+
savedPath = await writePlan(planPath, planBody);
|
|
104
|
+
state.currentPlanPath = savedPath;
|
|
105
|
+
}
|
|
106
|
+
catch {
|
|
107
|
+
// Non-fatal — approval dialog uses the in-memory body.
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
const approved = await callbacks.onPlanApprovalRequest(planBody);
|
|
111
|
+
if (approved) {
|
|
112
|
+
state.permissionMode = 'acceptEdits';
|
|
113
|
+
state.systemPromptCache = null;
|
|
114
|
+
const persisted = savedPath ?? state.currentPlanPath;
|
|
115
|
+
state.currentPlanPath = null;
|
|
116
|
+
callbacks.onPlanModeChange('acceptEdits');
|
|
117
|
+
pushToolResult(state, callbacks, toolCallId, 'exitPlanMode', [
|
|
118
|
+
'Plan approved by user. Plan mode has been exited.',
|
|
119
|
+
persisted ? `The approved plan is saved at: ${persisted}` : '',
|
|
120
|
+
'You can now edit files and run shell commands. Start implementing the plan.',
|
|
121
|
+
'',
|
|
122
|
+
'For multi-step plans, call **todoWrite** first to break the plan into a',
|
|
123
|
+
'tracked checklist — the user sees a live panel of your progress and you',
|
|
124
|
+
'avoid losing track of remaining steps mid-implementation.',
|
|
125
|
+
]
|
|
126
|
+
.filter(Boolean)
|
|
127
|
+
.join('\n'));
|
|
128
|
+
state.messages.push({
|
|
129
|
+
role: 'user',
|
|
130
|
+
content: [
|
|
131
|
+
'## Exited Plan Mode',
|
|
132
|
+
'',
|
|
133
|
+
'You have exited plan mode. You can now make edits, run tools, and take actions.',
|
|
134
|
+
'Write tools (writeFile, edit) are now auto-approved (acceptEdits mode); shell commands',
|
|
135
|
+
'still go through normal permission classification.',
|
|
136
|
+
persisted ? `The plan file is located at ${persisted} if you need to reference it.` : '',
|
|
137
|
+
]
|
|
138
|
+
.filter(Boolean)
|
|
139
|
+
.join('\n'),
|
|
140
|
+
});
|
|
141
|
+
return;
|
|
142
|
+
}
|
|
143
|
+
pushToolResult(state, callbacks, toolCallId, 'exitPlanMode', [
|
|
144
|
+
'Plan rejected by user. You are still in plan mode.',
|
|
145
|
+
"Read the user's next message for feedback, revise the plan accordingly,",
|
|
146
|
+
'and call exitPlanMode again with the revised body. Consider asking the user',
|
|
147
|
+
'a clarifying question via askUser if you are unsure what to change.',
|
|
148
|
+
].join('\n'), true);
|
|
149
|
+
}
|
|
150
|
+
//# sourceMappingURL=plan-tools.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plan-tools.js","sourceRoot":"","sources":["../../src/agent/plan-tools.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAA;AAEzD,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAC/C,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAWzE,SAAS,mBAAmB,CAAC,QAA+B;IAC1D,KAAK,IAAI,CAAC,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC9C,MAAM,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAA;QACrB,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YAC3B,OAAO,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAA;QAC/B,CAAC;IACH,CAAC;IACD,OAAO,EAAE,CAAA;AACX,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,KAA8B,EAC9B,UAAkB,EAClB,KAAgB,EAChB,SAAyB,EACzB,cAA8B;IAG9B,MAAM,GAAG,GAAI,KAAK,CAAC,KAA+B,IAAI,EAAE,CAAA;IACxD,MAAM,UAAU,GAAe,EAAE,CAAA;IACjC,KAAK,MAAM,CAAC,IAAI,GAAG,EAAE,CAAC;QACpB,MAAM,OAAO,GAAG,CAAC,CAAC,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAA;QACxC,MAAM,UAAU,GAAG,CAAC,CAAC,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAA;QAC9C,IAAI,CAAC,OAAO,IAAI,CAAC,UAAU;YAAE,SAAQ;QACrC,UAAU,CAAC,IAAI,CAAC;YACd,OAAO,EAAE,OAAO,IAAI,UAAU;YAC9B,UAAU,EAAE,UAAU,IAAI,OAAO;YACjC,MAAM,EAAE,CAAC,CAAC,MAAM,IAAI,SAAS;SAC9B,CAAC,CAAA;IACJ,CAAC;IACD,MAAM,OAAO,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,WAAW,CAAC,CAAA;IAC1F,KAAK,CAAC,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAA;IACvC,SAAS,CAAC,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;IACpC,MAAM,OAAO,GAAG,GAAG,CAAC,MAAM,GAAG,UAAU,CAAC,MAAM,CAAA;IAC9C,MAAM,WAAW,GACf,OAAO,GAAG,CAAC;QACT,CAAC,CAAC,IAAI,OAAO,QAAQ,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,gIAAgI;QACzL,CAAC,CAAC,EAAE,CAAA;IACR,MAAM,SAAS,GAAG,kDAAkD,CAAA;IACpE,MAAM,gBAAgB,GACpB,OAAO;QACP,UAAU,CAAC,MAAM,IAAI,CAAC;QACtB,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAA;IACpF,MAAM,UAAU,GAAG,gBAAgB;QACjC,CAAC,CAAC,yGAAyG;QAC3G,CAAC,CAAC,EAAE,CAAA;IACN,cAAc,CACZ,KAAK,EACL,SAAS,EACT,UAAU,EACV,WAAW,EACX,OAAO;QACL,CAAC,CAAC,0CAA0C,UAAU,GAAG,WAAW,EAAE;QACtE,CAAC,CAAC,8IAA8I,WAAW,EAAE,CAChK,CAAA;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,KAA8B,EAC9B,UAAkB,EAClB,KAAgB,EAChB,OAAqB,EACrB,SAAyB,EACzB,cAA8B;IAE9B,IAAI,KAAK,CAAC,cAAc,KAAK,MAAM,EAAE,CAAC;QACpC,cAAc,CACZ,KAAK,EACL,SAAS,EACT,UAAU,EACV,eAAe,EACf,6IAA6I,CAC9I,CAAA;QACD,OAAM;IACR,CAAC;IACD,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,eAAe,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,eAAe,EAAE,KAAK,EAAE,CAAC,CAAA;IAClG,IAAI,OAAO,CAAC,WAAW,EAAE,OAAO,EAAE,CAAC;QACjC,cAAc,CAAC,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,eAAe,EAAE,sCAAsC,EAAE,IAAI,CAAC,CAAA;QAC3G,OAAM;IACR,CAAC;IACD,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;QACtB,cAAc,CACZ,KAAK,EACL,SAAS,EACT,UAAU,EACV,eAAe,EACf,6KAA6K,EAC7K,IAAI,CACL,CAAA;QACD,OAAM;IACR,CAAC;IACD,KAAK,CAAC,cAAc,GAAG,MAAM,CAAA;IAC7B,KAAK,CAAC,iBAAiB,GAAG,IAAI,CAAA;IAC9B,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC;QAC3B,MAAM,KAAK,GAAI,KAAK,CAAC,KAA4B,EAAE,IAAI,EAAE,CAAA;QACzD,MAAM,YAAY,GAAG,mBAAmB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;QACxD,MAAM,YAAY,GAAG,KAAK,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,IAAI,SAAS,CAAA;QACpF,KAAK,CAAC,eAAe,GAAG,gBAAgB,CAAC,YAAY,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,CAAA;IAChF,CAAC;IACD,SAAS,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAA;IAClC,cAAc,CACZ,KAAK,EACL,SAAS,EACT,UAAU,EACV,eAAe,EACf;QACE,oCAAoC;QACpC,EAAE;QACF,wFAAwF;QACxF,oCAAoC,KAAK,CAAC,eAAe,EAAE;QAC3D,qFAAqF;QACrF,0FAA0F;QAC1F,EAAE;QACF,0DAA0D;QAC1D,EAAE;QACF,mFAAmF;QACnF,8EAA8E;QAC9E,2EAA2E;KAC5E,CAAC,IAAI,CAAC,IAAI,CAAC,CACb,CAAA;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,KAA8B,EAC9B,UAAkB,EAClB,KAAgB,EAChB,SAAyB,EACzB,cAA8B;IAE9B,IAAI,KAAK,CAAC,cAAc,KAAK,MAAM,EAAE,CAAC;QACpC,cAAc,CACZ,KAAK,EACL,SAAS,EACT,UAAU,EACV,cAAc,EACd,eAAe,CAAC,gFAAgF,CAAC,EACjG,IAAI,CACL,CAAA;QACD,OAAM;IACR,CAAC;IACD,MAAM,QAAQ,GACZ,KAAK,CAAC,eAAe;QACrB,gBAAgB,CAAC,mBAAmB,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,QAAQ,IAAI,SAAS,EAAE,CAAC,CAAA;IAC9F,KAAK,CAAC,eAAe,GAAG,QAAQ,CAAA;IAChC,MAAM,YAAY,GAAI,KAAK,CAAC,IAA2B,EAAE,IAAI,EAAE,CAAA;IAC/D,IAAI,QAAQ,GAAG,YAAY,IAAI,EAAE,CAAA;IACjC,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,QAAQ,GAAG,CAAC,MAAM,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,EAAE,CAAA;IAC9C,CAAC;IACD,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,cAAc,CACZ,KAAK,EACL,SAAS,EACT,UAAU,EACV,cAAc,EACd,eAAe,CACb,oBAAoB,QAAQ,gGAAgG,CAC7H,EACD,IAAI,CACL,CAAA;QACD,OAAM;IACR,CAAC;IAED,IAAI,SAAS,GAAkB,QAAQ,CAAA;IACvC,IAAI,YAAY,EAAE,CAAC;QACjB,IAAI,CAAC;YACH,SAAS,GAAG,MAAM,SAAS,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;YAC/C,KAAK,CAAC,eAAe,GAAG,SAAS,CAAA;QACnC,CAAC;QAAC,MAAM,CAAC;YACP,uDAAuD;QACzD,CAAC;IACH,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAA;IAChE,IAAI,QAAQ,EAAE,CAAC;QACb,KAAK,CAAC,cAAc,GAAG,aAAa,CAAA;QACpC,KAAK,CAAC,iBAAiB,GAAG,IAAI,CAAA;QAC9B,MAAM,SAAS,GAAG,SAAS,IAAI,KAAK,CAAC,eAAe,CAAA;QACpD,KAAK,CAAC,eAAe,GAAG,IAAI,CAAA;QAC5B,SAAS,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAA;QACzC,cAAc,CACZ,KAAK,EACL,SAAS,EACT,UAAU,EACV,cAAc,EACd;YACE,mDAAmD;YACnD,SAAS,CAAC,CAAC,CAAC,kCAAkC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE;YAC9D,6EAA6E;YAC7E,EAAE;YACF,yEAAyE;YACzE,yEAAyE;YACzE,2DAA2D;SAC5D;aACE,MAAM,CAAC,OAAO,CAAC;aACf,IAAI,CAAC,IAAI,CAAC,CACd,CAAA;QACD,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC;YAClB,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE;gBACP,qBAAqB;gBACrB,EAAE;gBACF,iFAAiF;gBACjF,wFAAwF;gBACxF,oDAAoD;gBACpD,SAAS,CAAC,CAAC,CAAC,+BAA+B,SAAS,+BAA+B,CAAC,CAAC,CAAC,EAAE;aACzF;iBACE,MAAM,CAAC,OAAO,CAAC;iBACf,IAAI,CAAC,IAAI,CAAC;SACd,CAAC,CAAA;QACF,OAAM;IACR,CAAC;IACD,cAAc,CACZ,KAAK,EACL,SAAS,EACT,UAAU,EACV,cAAc,EACd;QACE,oDAAoD;QACpD,yEAAyE;QACzE,6EAA6E;QAC7E,qEAAqE;KACtE,CAAC,IAAI,CAAC,IAAI,CAAC,EACZ,IAAI,CACL,CAAA;AACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provider-compat.d.ts","sourceRoot":"","sources":["../../src/agent/provider-compat.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,IAAI,CAAA;AAKtC;;;;;;;;;;;;;GAaG;AACH,wBAAgB,2BAA2B,CAAC,QAAQ,EAAE,YAAY,EAAE,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAc3F;AAiFD;;;;;GAKG;AACH,wBAAsB,+BAA+B,
|
|
1
|
+
{"version":3,"file":"provider-compat.d.ts","sourceRoot":"","sources":["../../src/agent/provider-compat.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,IAAI,CAAA;AAKtC;;;;;;;;;;;;;GAaG;AACH,wBAAgB,2BAA2B,CAAC,QAAQ,EAAE,YAAY,EAAE,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAc3F;AAiFD;;;;;GAKG;AACH,wBAAsB,+BAA+B,CAAC,QAAQ,EAAE,YAAY,EAAE,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA0E9G"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provider-compat.js","sourceRoot":"","sources":["../../src/agent/provider-compat.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"provider-compat.js","sourceRoot":"","sources":["../../src/agent/provider-compat.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"built-in.d.ts","sourceRoot":"","sources":["../../../src/agent/sub-agents/built-in.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"built-in.d.ts","sourceRoot":"","sources":["../../../src/agent/sub-agents/built-in.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAA;AAuCpD,eAAO,MAAM,aAAa,EAAE,kBAAkB,EA4F7C,CAAA"}
|
|
@@ -1,13 +1,37 @@
|
|
|
1
1
|
const SHELL_DENY_KEYWORDS = [
|
|
2
|
-
'rm ',
|
|
3
|
-
'
|
|
4
|
-
'
|
|
5
|
-
'
|
|
6
|
-
'
|
|
7
|
-
'
|
|
8
|
-
'
|
|
9
|
-
'
|
|
2
|
+
'rm ',
|
|
3
|
+
'rm\t',
|
|
4
|
+
'rmdir',
|
|
5
|
+
'del ',
|
|
6
|
+
'rd ',
|
|
7
|
+
'mv ',
|
|
8
|
+
'move ',
|
|
9
|
+
'ren ',
|
|
10
|
+
'git commit',
|
|
11
|
+
'git push',
|
|
12
|
+
'git merge',
|
|
13
|
+
'git rebase',
|
|
14
|
+
'git reset',
|
|
15
|
+
'git checkout -b',
|
|
16
|
+
'git branch -d',
|
|
17
|
+
'git branch -D',
|
|
18
|
+
'>',
|
|
19
|
+
'>>',
|
|
20
|
+
'tee ',
|
|
21
|
+
'tee\t',
|
|
22
|
+
'chmod',
|
|
23
|
+
'chown',
|
|
24
|
+
'npm publish',
|
|
25
|
+
'pnpm publish',
|
|
26
|
+
'yarn publish',
|
|
27
|
+
'docker rm',
|
|
28
|
+
'docker rmi',
|
|
10
29
|
];
|
|
30
|
+
// Shared lead-in for sub-agents whose final message is the entire payload
|
|
31
|
+
// the parent agent sees. The parent has no access to anything the
|
|
32
|
+
// sub-agent read or computed mid-loop, so we reinforce "inline everything"
|
|
33
|
+
// in one place rather than repeating near-identical copy per agent.
|
|
34
|
+
const FINAL_MESSAGE_CONTRACT_HEADER = "CRITICAL — your final message is ALL the parent agent sees. It will NOT re-read files you've already read.";
|
|
11
35
|
export const builtInAgents = [
|
|
12
36
|
{
|
|
13
37
|
name: 'explore',
|
|
@@ -20,7 +44,7 @@ Guidelines:
|
|
|
20
44
|
- If the codebase is large, prioritize the most relevant files
|
|
21
45
|
- Do NOT suggest code changes — just report what you find
|
|
22
46
|
|
|
23
|
-
|
|
47
|
+
${FINAL_MESSAGE_CONTRACT_HEADER} Your output must be comprehensive enough that the parent can act on it directly:
|
|
24
48
|
- Include key code snippets (function signatures, type definitions, important logic) — not just file paths
|
|
25
49
|
- For architecture questions, describe the data flow and module relationships
|
|
26
50
|
- For "find all X" questions, list every match with file:line and a brief context line
|
|
@@ -33,20 +57,22 @@ CRITICAL — your final message is ALL the parent agent sees. It will NOT re-rea
|
|
|
33
57
|
},
|
|
34
58
|
{
|
|
35
59
|
name: 'general-purpose',
|
|
36
|
-
description:
|
|
37
|
-
prompt: `You are a general-purpose
|
|
60
|
+
description: "General-purpose agent for researching complex questions, searching for code, and executing multi-step tasks. When you're searching for a keyword or file and not confident the first few tries will hit, delegate the search here.",
|
|
61
|
+
prompt: `You are a general-purpose agent. You have access to the full tool set — read files, search code, run shell commands, and write/edit files when the task genuinely requires it. Complete the task fully, but don't gold-plate.
|
|
38
62
|
|
|
39
63
|
Guidelines:
|
|
40
64
|
- Be thorough but efficient — minimize unnecessary tool calls
|
|
41
65
|
- Synthesize findings into a clear, actionable summary
|
|
42
66
|
- Include file paths and line numbers for key references
|
|
43
|
-
-
|
|
67
|
+
- NEVER create files unless absolutely necessary for the task. Prefer editing an existing file over creating a new one.
|
|
68
|
+
- NEVER proactively create documentation files (*.md) or README files. Only when explicitly asked.
|
|
69
|
+
- When the work is investigative, do NOT modify code — just report. Modify only when the parent's prompt asks you to.
|
|
44
70
|
|
|
45
|
-
|
|
71
|
+
${FINAL_MESSAGE_CONTRACT_HEADER} Your output must be self-contained:
|
|
46
72
|
- Include key code snippets, not just references — the parent cannot read the files
|
|
47
73
|
- For multi-file investigations, summarize each file's role and relevant content
|
|
48
|
-
-
|
|
49
|
-
tools: ['
|
|
74
|
+
- If you modified files, list every path that changed and a one-line description of the change`,
|
|
75
|
+
tools: ['*'],
|
|
50
76
|
maxTurns: 40,
|
|
51
77
|
source: 'built-in',
|
|
52
78
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"built-in.js","sourceRoot":"","sources":["../../../src/agent/sub-agents/built-in.ts"],"names":[],"mappings":"AAGA,MAAM,mBAAmB,GAAG;IAC1B,KAAK,
|
|
1
|
+
{"version":3,"file":"built-in.js","sourceRoot":"","sources":["../../../src/agent/sub-agents/built-in.ts"],"names":[],"mappings":"AAGA,MAAM,mBAAmB,GAAG;IAC1B,KAAK;IACL,MAAM;IACN,OAAO;IACP,MAAM;IACN,KAAK;IACL,KAAK;IACL,OAAO;IACP,MAAM;IACN,YAAY;IACZ,UAAU;IACV,WAAW;IACX,YAAY;IACZ,WAAW;IACX,iBAAiB;IACjB,eAAe;IACf,eAAe;IACf,GAAG;IACH,IAAI;IACJ,MAAM;IACN,OAAO;IACP,OAAO;IACP,OAAO;IACP,aAAa;IACb,cAAc;IACd,cAAc;IACd,WAAW;IACX,YAAY;CACb,CAAA;AAED,0EAA0E;AAC1E,kEAAkE;AAClE,2EAA2E;AAC3E,oEAAoE;AACpE,MAAM,6BAA6B,GACjC,4GAA4G,CAAA;AAE9G,MAAM,CAAC,MAAM,aAAa,GAAyB;IACjD;QACE,IAAI,EAAE,SAAS;QACf,WAAW,EACT,4HAA4H;QAC9H,MAAM,EAAE;;;;;;;;EAQV,6BAA6B;;;;;kGAKmE;QAC9F,KAAK,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,CAAC;QACvD,iBAAiB,EAAE,mBAAmB;QACtC,QAAQ,EAAE,EAAE;QACZ,MAAM,EAAE,UAAU;KACnB;IACD;QACE,IAAI,EAAE,iBAAiB;QACvB,WAAW,EACT,oOAAoO;QACtO,MAAM,EAAE;;;;;;;;;;EAUV,6BAA6B;;;+FAGgE;QAC3F,KAAK,EAAE,CAAC,GAAG,CAAC;QACZ,QAAQ,EAAE,EAAE;QACZ,MAAM,EAAE,UAAU;KACnB;IACD;QACE,IAAI,EAAE,MAAM;QACZ,WAAW,EACT,4GAA4G;QAC9G,MAAM,EAAE;;;;;;;;;;;;;6EAaiE;QACzE,KAAK,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC;QAC9C,QAAQ,EAAE,EAAE;QACZ,MAAM,EAAE,UAAU;KACnB;IACD;QACE,IAAI,EAAE,eAAe;QACrB,WAAW,EACT,mHAAmH;QACrH,MAAM,EAAE;;;;;;;;;;;;;;0FAc8E;QACtF,KAAK,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,CAAC;QACvD,iBAAiB,EAAE,mBAAmB;QACtC,QAAQ,EAAE,EAAE;QACZ,MAAM,EAAE,UAAU;KACnB;CACF,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../../src/agent/sub-agents/loader.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../../src/agent/sub-agents/loader.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAA;AA8GpD;2EAC2E;AAC3E,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAatE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loader.js","sourceRoot":"","sources":["../../../src/agent/sub-agents/loader.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,EAAE;AACF,sEAAsE;AACtE,uEAAuE;AACvE,6EAA6E;AAC7E,OAAO,EAAE,MAAM,kBAAkB,CAAA;AACjC,OAAO,IAAI,MAAM,WAAW,CAAA;AAE5B,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAG5D,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACjC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACvB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC9B,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IACrC,eAAe,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IAC/C,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC5B,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IAChD,iBAAiB,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;CAClD,CAAC,CAAA;AAEF;;6DAE6D;AAC7D,SAAS,gBAAgB,CAAC,GAAW;IACnC,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,6CAA6C,CAAC,CAAA;IACtE,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAA;IAEvB,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,CAAE,CAAA;IAC3B,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAE,CAAA;IACtB,MAAM,IAAI,GAA4B,EAAE,CAAA;IAExC,KAAK,MAAM,IAAI,IAAI,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;QAC5C,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAA;QAC3B,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,SAAQ;QAEjD,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;QACrC,IAAI,QAAQ,GAAG,CAAC;YAAE,SAAQ;QAE1B,MAAM,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAA;QAC7C,IAAI,KAAK,GAA+B,OAAO,CAAC,KAAK,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAA;QAE1E,0BAA0B;QAC1B,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YACjD,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;YAChC,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK;iBACd,KAAK,CAAC,GAAG,CAAC;iBACV,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;iBAChD,MAAM,CAAC,OAAO,CAAC,CAAA;YAClB,SAAQ;QACV,CAAC;QAED,eAAe;QACf,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YACrG,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;QAC5B,CAAC;QAED,SAAS;QACT,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YACxB,IAAI,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;YAC/B,SAAQ;QACV,CAAC;QAED,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAA;IACnB,CAAC;IAED,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAA;AACvB,CAAC;AAED,KAAK,UAAU,iBAAiB,
|
|
1
|
+
{"version":3,"file":"loader.js","sourceRoot":"","sources":["../../../src/agent/sub-agents/loader.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,EAAE;AACF,sEAAsE;AACtE,uEAAuE;AACvE,6EAA6E;AAC7E,OAAO,EAAE,MAAM,kBAAkB,CAAA;AACjC,OAAO,IAAI,MAAM,WAAW,CAAA;AAE5B,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAG5D,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACjC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACvB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC9B,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IACrC,eAAe,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IAC/C,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC5B,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IAChD,iBAAiB,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;CAClD,CAAC,CAAA;AAEF;;6DAE6D;AAC7D,SAAS,gBAAgB,CAAC,GAAW;IACnC,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,6CAA6C,CAAC,CAAA;IACtE,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAA;IAEvB,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,CAAE,CAAA;IAC3B,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAE,CAAA;IACtB,MAAM,IAAI,GAA4B,EAAE,CAAA;IAExC,KAAK,MAAM,IAAI,IAAI,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;QAC5C,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAA;QAC3B,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,SAAQ;QAEjD,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;QACrC,IAAI,QAAQ,GAAG,CAAC;YAAE,SAAQ;QAE1B,MAAM,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAA;QAC7C,IAAI,KAAK,GAA+B,OAAO,CAAC,KAAK,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAA;QAE1E,0BAA0B;QAC1B,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YACjD,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;YAChC,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK;iBACd,KAAK,CAAC,GAAG,CAAC;iBACV,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;iBAChD,MAAM,CAAC,OAAO,CAAC,CAAA;YAClB,SAAQ;QACV,CAAC;QAED,eAAe;QACf,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YACrG,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;QAC5B,CAAC;QAED,SAAS;QACT,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YACxB,IAAI,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;YAC/B,SAAQ;QACV,CAAC;QAED,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAA;IACnB,CAAC;IAED,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAA;AACvB,CAAC;AAED,KAAK,UAAU,iBAAiB,CAAC,GAAW,EAAE,MAAoC;IAChF,MAAM,MAAM,GAAyB,EAAE,CAAA;IAEvC,IAAI,OAAiB,CAAA;IACrB,IAAI,CAAC;QACH,OAAO,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;IACjC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,MAAM,CAAA;IACf,CAAC;IAED,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC;YAAE,SAAQ;QACpC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;QAEtC,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;YAChD,MAAM,MAAM,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAA;YACpC,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,OAAO,CAAC,KAAK,CAAC,yBAAyB,QAAQ,6BAA6B,CAAC,CAAA;gBAC7E,SAAQ;YACV,CAAC;YAED,MAAM,MAAM,GAAG,iBAAiB,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;YACvD,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBACpB,OAAO,CAAC,KAAK,CACX,yBAAyB,QAAQ,2BAA2B,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACnH,CAAA;gBACD,SAAQ;YACV,CAAC;YAED,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAA;YACtB,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,EAAE,CAAC,IAAI;gBACb,WAAW,EAAE,EAAE,CAAC,WAAW;gBAC3B,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE;gBAC1B,KAAK,EAAE,EAAE,CAAC,KAAK;gBACf,eAAe,EAAE,EAAE,CAAC,eAAe;gBACnC,KAAK,EAAE,EAAE,CAAC,KAAK;gBACf,QAAQ,EAAE,EAAE,CAAC,QAAQ,IAAI,EAAE;gBAC3B,iBAAiB,EAAE,EAAE,CAAC,iBAAiB;gBACvC,MAAM;aACP,CAAC,CAAA;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,yBAAyB,QAAQ,KAAK,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QACzG,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAA;AACf,CAAC;AAED;2EAC2E;AAC3E,MAAM,CAAC,KAAK,UAAU,gBAAgB;IACpC,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,aAAa,CAAA;IAC1C,IAAI,QAAQ,EAAE,CAAC;QACb,OAAO,iBAAiB,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAA;IAC/C,CAAC;IAED,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,QAAQ,CAAC,CAAA;IACvD,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAA;IAEhE,MAAM,YAAY,GAAG,MAAM,iBAAiB,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAA;IACjE,MAAM,aAAa,GAAG,MAAM,iBAAiB,CAAC,UAAU,EAAE,SAAS,CAAC,CAAA;IAEpE,OAAO,CAAC,GAAG,YAAY,EAAE,GAAG,aAAa,CAAC,CAAA;AAC5C,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../../src/agent/sub-agents/runner.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,IAAI,CAAA;AAGvC,OAAO,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;
|
|
1
|
+
{"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../../src/agent/sub-agents/runner.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,IAAI,CAAA;AAGvC,OAAO,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAGpF,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAMjD,MAAM,WAAW,eAAe;IAC9B,WAAW,EAAE,SAAS,CAAA;IACtB,aAAa,EAAE,YAAY,CAAA;IAC3B,SAAS,EAAE,cAAc,CAAA;IACzB,UAAU,EAAE,MAAM,CAAA;IAClB,SAAS,EAAE,MAAM,CAAA;IACjB,WAAW,EAAE,MAAM,CAAA;IACnB,MAAM,EAAE,MAAM,CAAA;IACd,gBAAgB,EAAE,MAAM,CAAA;IACxB,SAAS,EAAE,OAAO,CAAA;CACnB;AAED,MAAM,WAAW,iBAAiB;IAChC,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,EAAE,UAAU,CAAA;IACtB,SAAS,EAAE,MAAM,CAAA;IACjB,aAAa,EAAE,MAAM,CAAA;IACrB,UAAU,EAAE,MAAM,CAAA;IAClB,OAAO,EAAE,OAAO,CAAA;CACjB;AA4DD;8DAC8D;AAC9D,wBAAsB,WAAW,CAAC,IAAI,EAAE,eAAe,EAAE,WAAW,EAAE,aAAa,GAAG,OAAO,CAAC,iBAAiB,CAAC,CA0N/G"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { resolveModelId } from '../../config/index.js';
|
|
2
2
|
import { debugLog } from '../../utils.js';
|
|
3
|
-
import { agentLoop } from '../loop.js';
|
|
4
3
|
import { createLoopState } from '../loop-state.js';
|
|
4
|
+
import { agentLoop } from '../loop.js';
|
|
5
5
|
import { buildSubAgentSystemPrompt } from '../system-prompt.js';
|
|
6
6
|
/** Extract the last assistant text from a message array (skipping tool-call parts). */
|
|
7
7
|
function extractFinalText(messages) {
|
|
@@ -45,15 +45,21 @@ function buildToolFilter(agentDef, parentPermissionMode) {
|
|
|
45
45
|
if (parentPermissionMode === 'plan' && agentDef.name === 'general-purpose') {
|
|
46
46
|
deny.push('writeFile', 'edit');
|
|
47
47
|
}
|
|
48
|
+
// `'*'` is a wildcard meaning "every tool" — matches Claude Code's
|
|
49
|
+
// `tools: ['*']` semantics for built-in/general-purpose agents. Pass
|
|
50
|
+
// `undefined` so `buildTools` skips the allowlist filter and only the
|
|
51
|
+
// explicit deny list applies. Without this, `['*']` would be treated
|
|
52
|
+
// as a literal tool name and every real tool would be filtered out.
|
|
53
|
+
const allow = agentDef.tools?.includes('*') ? undefined : agentDef.tools;
|
|
48
54
|
return {
|
|
49
|
-
allow
|
|
55
|
+
allow,
|
|
50
56
|
deny,
|
|
51
57
|
};
|
|
52
58
|
}
|
|
53
59
|
/** Resolve the model to use for the sub-agent. Need the actual LanguageModel
|
|
54
60
|
* instance from the parent since we pass it to agentLoop. */
|
|
55
61
|
export async function runSubAgent(args, parentModel) {
|
|
56
|
-
const { parentState, parentOptions, callbacks, toolCallId, agentName, description, prompt, knowledgeContext, isGitRepo } = args;
|
|
62
|
+
const { parentState, parentOptions, callbacks, toolCallId, agentName, description, prompt, knowledgeContext, isGitRepo, } = args;
|
|
57
63
|
const startTime = Date.now();
|
|
58
64
|
const registry = parentOptions.subAgentRegistry;
|
|
59
65
|
if (!registry) {
|
|
@@ -113,7 +119,7 @@ export async function runSubAgent(args, parentModel) {
|
|
|
113
119
|
onTextDelta: (delta) => {
|
|
114
120
|
callbacks.onSubAgentEvent?.({ kind: 'text-delta', toolCallId, delta });
|
|
115
121
|
},
|
|
116
|
-
onToolCall: (
|
|
122
|
+
onToolCall: (_subToolCallId, subToolName, subInput) => {
|
|
117
123
|
callbacks.onSubAgentEvent?.({
|
|
118
124
|
kind: 'tool-call',
|
|
119
125
|
toolCallId,
|
|
@@ -121,7 +127,7 @@ export async function runSubAgent(args, parentModel) {
|
|
|
121
127
|
subInput,
|
|
122
128
|
});
|
|
123
129
|
// Also forward to parent's onToolProgress so the live indicator updates
|
|
124
|
-
callbacks.onToolProgress(toolCallId, `${subToolName}: ${previewInput(
|
|
130
|
+
callbacks.onToolProgress(toolCallId, `${subToolName}: ${previewInput(subInput)}`);
|
|
125
131
|
},
|
|
126
132
|
onToolProgress: (_subToolCallId, message) => {
|
|
127
133
|
callbacks.onToolProgress(toolCallId, message);
|
|
@@ -150,7 +156,6 @@ export async function runSubAgent(args, parentModel) {
|
|
|
150
156
|
debugLog('sub-agent.error', `${agentName}: ${error.message}`);
|
|
151
157
|
},
|
|
152
158
|
};
|
|
153
|
-
let aborted = false;
|
|
154
159
|
try {
|
|
155
160
|
const finalSubState = await agentLoop(prompt, subModel, subOptions, subCallbacks, subState);
|
|
156
161
|
const finalText = extractFinalText(finalSubState.messages);
|
|
@@ -196,7 +201,6 @@ export async function runSubAgent(args, parentModel) {
|
|
|
196
201
|
catch (err) {
|
|
197
202
|
const durationMs = Date.now() - startTime;
|
|
198
203
|
if (isAbortError(err, parentOptions.abortSignal)) {
|
|
199
|
-
aborted = true;
|
|
200
204
|
const partial = extractFinalText(subState.messages);
|
|
201
205
|
const text = partial
|
|
202
206
|
? `[Sub-agent interrupted by user]\n\nPartial output:\n${partial}`
|
|
@@ -275,7 +279,7 @@ function countToolCalls(messages) {
|
|
|
275
279
|
}
|
|
276
280
|
return count;
|
|
277
281
|
}
|
|
278
|
-
function previewInput(
|
|
282
|
+
function previewInput(input) {
|
|
279
283
|
const val = input.filePath ??
|
|
280
284
|
input.command ??
|
|
281
285
|
input.pattern ??
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runner.js","sourceRoot":"","sources":["../../../src/agent/sub-agents/runner.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAEtD,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACzC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"runner.js","sourceRoot":"","sources":["../../../src/agent/sub-agents/runner.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"system-prompt.d.ts","sourceRoot":"","sources":["../../src/agent/system-prompt.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"system-prompt.d.ts","sourceRoot":"","sources":["../../src/agent/system-prompt.ts"],"names":[],"mappings":"AAiMA;;gFAEgF;AAChF,wBAAgB,yBAAyB,CAAC,OAAO,EAAE;IACjD,WAAW,EAAE,MAAM,CAAA;IACnB,gBAAgB,EAAE,MAAM,CAAA;IACxB,SAAS,EAAE,OAAO,CAAA;CACnB,GAAG,MAAM,CAuBT;AAED,sFAAsF;AACtF,wBAAgB,iBAAiB,CAAC,OAAO,CAAC,EAAE;IAC1C,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB;;4CAEwC;IACxC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB;kDAC8C;IAC9C,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB,GAAG,MAAM,CAkBT"}
|
|
@@ -19,7 +19,6 @@ You have access to these tools:
|
|
|
19
19
|
- webSearch: Search the web for information
|
|
20
20
|
- webFetch: Fetch and extract content from URLs
|
|
21
21
|
- askUser: Ask the user clarifying questions with choices
|
|
22
|
-
- saveKnowledge: Save project/user knowledge facts to persistent memory
|
|
23
22
|
- todoWrite: Track multi-step tasks with a live checklist visible to the user
|
|
24
23
|
- task: Delegate a task to a specialized sub-agent (explore, plan, review, general-purpose)
|
|
25
24
|
|
|
@@ -86,36 +85,6 @@ Break down and manage your work with the todoWrite tool. The user sees a live ch
|
|
|
86
85
|
- NEVER commit .env files or credential files
|
|
87
86
|
- If you notice insecure code, fix it or warn the user
|
|
88
87
|
|
|
89
|
-
## Auto Memory Guidelines
|
|
90
|
-
saveKnowledge persists knowledge across sessions. **No-op is the default.** Before each potential save, ask yourself: "Will a future session plausibly act better because I save this?" — if the answer isn't a confident yes, do not call the tool.
|
|
91
|
-
|
|
92
|
-
Every memory is filed under ONE of four categories (see the tool's description for full details):
|
|
93
|
-
|
|
94
|
-
- **user**: who the human is — role, expertise, long-term constraints
|
|
95
|
-
- **feedback**: corrections the user gave ("don't do X") AND validated approaches ("yes, that was the right call"). Always include WHY so future edge cases are judgeable.
|
|
96
|
-
- **project**: ongoing initiatives, decisions, non-obvious state not derivable from code or git log
|
|
97
|
-
- **reference**: pointers to external systems (issue tracker project names, dashboard URLs, team channels)
|
|
98
|
-
|
|
99
|
-
Save-worthy (positive examples):
|
|
100
|
-
- User corrects your approach ("don't mock the DB — Q1 incident") → feedback
|
|
101
|
-
- User approves a non-obvious choice without pushback → feedback (confirmation is quieter than correction — watch for it)
|
|
102
|
-
- User tells you "we're freezing merges Thursday" → project (convert relative dates to absolute: "freeze starts 2026-03-05")
|
|
103
|
-
- User mentions "check the Grafana dashboard at X" → reference
|
|
104
|
-
- User says "I'm a data scientist, first time touching React" → user
|
|
105
|
-
|
|
106
|
-
**Do NOT save (these are the common failure modes — internalize them):**
|
|
107
|
-
- The user's current task or request. "User asked me to build a snake game" is NOT a memory — it is the task you're doing right now, not durable signal for future sessions.
|
|
108
|
-
- Summaries of code you just wrote, bugs you just fixed, or findings from the current turn. The code is the memory; your summary adds no information.
|
|
109
|
-
- Facts derivable from the repo: tech stack, package manager, dependencies, package.json scripts, framework, test command, directory layout. Future sessions can read the code.
|
|
110
|
-
- Near-duplicates of an existing memory — update the existing entry rather than appending a second version with the same content.
|
|
111
|
-
- Anything already covered by AGENTS.md / CLAUDE.md.
|
|
112
|
-
- Debugging solutions — the fix is in the code; the commit message has the context.
|
|
113
|
-
- Generic preference inferences from a single short request (one "keep it simple" doesn't make a durable user preference — wait for a clear, repeated pattern).
|
|
114
|
-
|
|
115
|
-
Even when the user explicitly says "remember this", apply the gate above. If what they're asking to remember is one-off task state or common knowledge, decline the save rather than cluttering memory — or ask what specifically was surprising about it.
|
|
116
|
-
|
|
117
|
-
If you find a saved memory contradicts what you now observe, delete or update it rather than acting on stale info.
|
|
118
|
-
|
|
119
88
|
## Environment
|
|
120
89
|
- Platform: {platform}
|
|
121
90
|
- Shell: {shell}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"system-prompt.js","sourceRoot":"","sources":["../../src/agent/system-prompt.ts"],"names":[],"mappings":"AAAA,8CAA8C;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAA;AAE7D,MAAM,kBAAkB,GAAG
|
|
1
|
+
{"version":3,"file":"system-prompt.js","sourceRoot":"","sources":["../../src/agent/system-prompt.ts"],"names":[],"mappings":"AAAA,8CAA8C;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAA;AAE7D,MAAM,kBAAkB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2BAyFA,CAAA;AAE3B;;;;;;;;;;;;;;;wEAewE;AACxE,MAAM,iBAAiB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8LAiFoK,CAAA;AAE9L;;gFAEgF;AAChF,MAAM,UAAU,yBAAyB,CAAC,OAIzC;IACC,MAAM,aAAa,GAAG,gBAAgB,EAAE,CAAA;IACxC,OAAO;;;EAGP,OAAO,CAAC,WAAW;;;cAGP,OAAO,CAAC,QAAQ;WACnB,aAAa,CAAC,IAAI;uBACN,OAAO,CAAC,GAAG,EAAE;iBACnB,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI;;;EAG/C,OAAO,CAAC,gBAAgB,IAAI,QAAQ;;;;;;;;+FAQyD,CAAA;AAC/F,CAAC;AAED,sFAAsF;AACtF,MAAM,UAAU,iBAAiB,CAAC,OAWjC;IACC,MAAM,aAAa,GAAG,gBAAgB,EAAE,CAAA;IAExC,IAAI,MAAM,GAAG,kBAAkB,CAAC,OAAO,CAAC,eAAe,EAAE,OAAO,CAAC,QAAQ,CAAC;SACvE,OAAO,CAAC,YAAY,EAAE,aAAa,CAAC,IAAI,CAAC;SACzC,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC;SAClC,OAAO,CAAC,YAAY,EAAE,OAAO,EAAE,OAAO,IAAI,SAAS,CAAC;SACpD,OAAO,CAAC,gBAAgB,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;IAE/D,IAAI,OAAO,EAAE,gBAAgB,EAAE,CAAC;QAC9B,MAAM,IAAI,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAA;IAC7C,CAAC;IAED,IAAI,OAAO,EAAE,QAAQ,EAAE,CAAC;QACtB,MAAM,IAAI,iBAAiB,CAAC,OAAO,CAAC,mBAAmB,EAAE,OAAO,CAAC,YAAY,IAAI,SAAS,CAAC,CAAA;IAC7F,CAAC;IAED,OAAO,MAAM,CAAA;AACf,CAAC"}
|