@qduc/term2 0.10.1 → 0.11.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/agent.d.ts +7 -0
- package/dist/agent.d.ts.map +1 -1
- package/dist/agent.js +20 -14
- package/dist/agent.js.map +1 -1
- package/dist/app.d.ts.map +1 -1
- package/dist/app.js +10 -11
- package/dist/app.js.map +1 -1
- package/dist/components/layout/BackgroundTasksPanel.d.ts +10 -0
- package/dist/components/layout/BackgroundTasksPanel.d.ts.map +1 -0
- package/dist/components/layout/BackgroundTasksPanel.js +60 -0
- package/dist/components/layout/BackgroundTasksPanel.js.map +1 -0
- package/dist/components/layout/BottomArea.d.ts +3 -0
- package/dist/components/layout/BottomArea.d.ts.map +1 -1
- package/dist/components/layout/BottomArea.js +3 -1
- package/dist/components/layout/BottomArea.js.map +1 -1
- package/dist/components/message/CommandMessage.js +21 -1
- package/dist/components/message/CommandMessage.js.map +1 -1
- package/dist/components/message/SubagentActivityMessage.d.ts +1 -0
- package/dist/components/message/SubagentActivityMessage.d.ts.map +1 -1
- package/dist/components/message/SubagentActivityMessage.js +3 -3
- package/dist/components/message/SubagentActivityMessage.js.map +1 -1
- package/dist/components/message/command-message-helpers.d.ts.map +1 -1
- package/dist/components/message/command-message-helpers.js +10 -0
- package/dist/components/message/command-message-helpers.js.map +1 -1
- package/dist/components/prompt/ApprovalPrompt.d.ts.map +1 -1
- package/dist/components/prompt/ApprovalPrompt.js +28 -3
- package/dist/components/prompt/ApprovalPrompt.js.map +1 -1
- package/dist/hooks/settings-completion-config.d.ts.map +1 -1
- package/dist/hooks/settings-completion-config.js +4 -0
- package/dist/hooks/settings-completion-config.js.map +1 -1
- package/dist/hooks/use-conversation.d.ts +3 -0
- package/dist/hooks/use-conversation.d.ts.map +1 -1
- package/dist/hooks/use-conversation.js +23 -1
- package/dist/hooks/use-conversation.js.map +1 -1
- package/dist/lib/agent-client.d.ts +16 -1
- package/dist/lib/agent-client.d.ts.map +1 -1
- package/dist/lib/agent-client.js +22 -1
- package/dist/lib/agent-client.js.map +1 -1
- package/dist/lib/agent-configuration.d.ts.map +1 -1
- package/dist/lib/agent-configuration.js +2 -0
- package/dist/lib/agent-configuration.js.map +1 -1
- package/dist/lib/agent-factory.d.ts +7 -0
- package/dist/lib/agent-factory.d.ts.map +1 -1
- package/dist/lib/agent-factory.js +2 -0
- package/dist/lib/agent-factory.js.map +1 -1
- package/dist/lib/subagent-bridge.d.ts +37 -3
- package/dist/lib/subagent-bridge.d.ts.map +1 -1
- package/dist/lib/subagent-bridge.js +115 -8
- package/dist/lib/subagent-bridge.js.map +1 -1
- package/dist/prompts/async-subagent-delegation.d.ts +9 -0
- package/dist/prompts/async-subagent-delegation.d.ts.map +1 -0
- package/dist/prompts/async-subagent-delegation.js +36 -0
- package/dist/prompts/async-subagent-delegation.js.map +1 -0
- package/dist/prompts/async-subagent-delegation.ts +45 -0
- package/dist/prompts/orchestrator.md +16 -3
- package/dist/prompts/prompt-constructor.d.ts +1 -0
- package/dist/prompts/prompt-constructor.d.ts.map +1 -1
- package/dist/prompts/prompt-constructor.js +5 -1
- package/dist/prompts/prompt-constructor.js.map +1 -1
- package/dist/prompts/prompt-constructor.test.ts +51 -0
- package/dist/prompts/prompt-constructor.ts +7 -0
- package/dist/prompts/subagent-delegation.d.ts.map +1 -1
- package/dist/prompts/subagent-delegation.js +2 -1
- package/dist/prompts/subagent-delegation.js.map +1 -1
- package/dist/prompts/subagent-delegation.ts +2 -1
- package/dist/services/agent-runtime/execution-budget.d.ts +6 -0
- package/dist/services/agent-runtime/execution-budget.d.ts.map +1 -1
- package/dist/services/agent-runtime/execution-budget.js +32 -24
- package/dist/services/agent-runtime/execution-budget.js.map +1 -1
- package/dist/services/agent-runtime/permission-resolver.js +1 -1
- package/dist/services/agent-runtime/permission-resolver.js.map +1 -1
- package/dist/services/conversation/conversation-adapter.d.ts.map +1 -1
- package/dist/services/conversation/conversation-adapter.js +2 -0
- package/dist/services/conversation/conversation-adapter.js.map +1 -1
- package/dist/services/conversation/conversation-events.d.ts +12 -1
- package/dist/services/conversation/conversation-events.d.ts.map +1 -1
- package/dist/services/conversation/conversation-orchestrator.d.ts.map +1 -1
- package/dist/services/conversation/conversation-orchestrator.js +138 -22
- package/dist/services/conversation/conversation-orchestrator.js.map +1 -1
- package/dist/services/conversation/conversation-replay.d.ts.map +1 -1
- package/dist/services/conversation/conversation-replay.js +1 -0
- package/dist/services/conversation/conversation-replay.js.map +1 -1
- package/dist/services/conversation/conversation-service.d.ts +22 -0
- package/dist/services/conversation/conversation-service.d.ts.map +1 -1
- package/dist/services/conversation/conversation-service.js +40 -0
- package/dist/services/conversation/conversation-service.js.map +1 -1
- package/dist/services/conversation/conversation-store.d.ts +6 -0
- package/dist/services/conversation/conversation-store.d.ts.map +1 -1
- package/dist/services/conversation/conversation-store.js +17 -0
- package/dist/services/conversation/conversation-store.js.map +1 -1
- package/dist/services/conversation-agent-client.d.ts +13 -0
- package/dist/services/conversation-agent-client.d.ts.map +1 -1
- package/dist/services/logging/conversation-log-events.d.ts +1 -0
- package/dist/services/logging/conversation-log-events.d.ts.map +1 -1
- package/dist/services/logging/conversation-log-events.js.map +1 -1
- package/dist/services/logging/conversation-logger.d.ts.map +1 -1
- package/dist/services/logging/conversation-logger.js +1 -0
- package/dist/services/logging/conversation-logger.js.map +1 -1
- package/dist/services/plan-mode-interceptor.js +2 -2
- package/dist/services/plan-mode-interceptor.js.map +1 -1
- package/dist/services/session/session-composition.d.ts +23 -0
- package/dist/services/session/session-composition.d.ts.map +1 -1
- package/dist/services/session/session-composition.js +65 -1
- package/dist/services/session/session-composition.js.map +1 -1
- package/dist/services/settings/settings-merger.d.ts.map +1 -1
- package/dist/services/settings/settings-merger.js +2 -0
- package/dist/services/settings/settings-merger.js.map +1 -1
- package/dist/services/settings/settings-schema.d.ts +15 -0
- package/dist/services/settings/settings-schema.d.ts.map +1 -1
- package/dist/services/settings/settings-schema.js +23 -0
- package/dist/services/settings/settings-schema.js.map +1 -1
- package/dist/services/subagents/execution-runner.d.ts +3 -0
- package/dist/services/subagents/execution-runner.d.ts.map +1 -1
- package/dist/services/subagents/execution-runner.js +33 -7
- package/dist/services/subagents/execution-runner.js.map +1 -1
- package/dist/services/subagents/mentor-runner.d.ts +5 -1
- package/dist/services/subagents/mentor-runner.d.ts.map +1 -1
- package/dist/services/subagents/mentor-runner.js +40 -2
- package/dist/services/subagents/mentor-runner.js.map +1 -1
- package/dist/services/subagents/runtime.d.ts +2 -0
- package/dist/services/subagents/runtime.d.ts.map +1 -1
- package/dist/services/subagents/runtime.js +20 -0
- package/dist/services/subagents/runtime.js.map +1 -1
- package/dist/services/subagents/subagent-async-registry.d.ts +39 -0
- package/dist/services/subagents/subagent-async-registry.d.ts.map +1 -0
- package/dist/services/subagents/subagent-async-registry.js +233 -0
- package/dist/services/subagents/subagent-async-registry.js.map +1 -0
- package/dist/services/subagents/subagent-manager.d.ts +17 -0
- package/dist/services/subagents/subagent-manager.d.ts.map +1 -1
- package/dist/services/subagents/subagent-manager.js +45 -1
- package/dist/services/subagents/subagent-manager.js.map +1 -1
- package/dist/services/subagents/subagent-notification-store.d.ts +89 -0
- package/dist/services/subagents/subagent-notification-store.d.ts.map +1 -0
- package/dist/services/subagents/subagent-notification-store.js +167 -0
- package/dist/services/subagents/subagent-notification-store.js.map +1 -0
- package/dist/services/subagents/subagent-session.d.ts +12 -1
- package/dist/services/subagents/subagent-session.d.ts.map +1 -1
- package/dist/services/subagents/subagent-session.js +29 -6
- package/dist/services/subagents/subagent-session.js.map +1 -1
- package/dist/services/subagents/types.d.ts +11 -0
- package/dist/services/subagents/types.d.ts.map +1 -1
- package/dist/services/subagents/types.js +1 -0
- package/dist/services/subagents/types.js.map +1 -1
- package/dist/services/subagents/utils.d.ts +6 -0
- package/dist/services/subagents/utils.d.ts.map +1 -1
- package/dist/services/subagents/utils.js +21 -0
- package/dist/services/subagents/utils.js.map +1 -1
- package/dist/tools/agent/run-subagent-async.d.ts +25 -0
- package/dist/tools/agent/run-subagent-async.d.ts.map +1 -0
- package/dist/tools/agent/run-subagent-async.js +178 -0
- package/dist/tools/agent/run-subagent-async.js.map +1 -0
- package/dist/types/message.d.ts +1 -0
- package/dist/types/message.d.ts.map +1 -1
- package/dist/types/message.js.map +1 -1
- package/dist/utils/conversation/conversation-event-handler.d.ts.map +1 -1
- package/dist/utils/conversation/conversation-event-handler.js +1 -0
- package/dist/utils/conversation/conversation-event-handler.js.map +1 -1
- package/dist/utils/settings-command.d.ts.map +1 -1
- package/dist/utils/settings-command.js +10 -0
- package/dist/utils/settings-command.js.map +1 -1
- package/dist/utils/shell/sandbox/sandbox-network-approval.d.ts +2 -1
- package/dist/utils/shell/sandbox/sandbox-network-approval.d.ts.map +1 -1
- package/dist/utils/shell/sandbox/sandbox-network-approval.js +17 -1
- package/dist/utils/shell/sandbox/sandbox-network-approval.js.map +1 -1
- package/dist/utils/shell/sandbox/sandbox-network-store.d.ts +20 -0
- package/dist/utils/shell/sandbox/sandbox-network-store.d.ts.map +1 -0
- package/dist/utils/shell/sandbox/sandbox-network-store.js +99 -0
- package/dist/utils/shell/sandbox/sandbox-network-store.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Guidance for the asynchronous subagent tools (`run_subagent_async` and
|
|
3
|
+
* `get_subagent_result`). Injected when both tools are available.
|
|
4
|
+
*/
|
|
5
|
+
export declare function getAsyncSubagentDelegationAddendum({ memoryEnabled, orchestratorMode, }?: {
|
|
6
|
+
memoryEnabled?: boolean;
|
|
7
|
+
orchestratorMode?: boolean;
|
|
8
|
+
}): string;
|
|
9
|
+
//# sourceMappingURL=async-subagent-delegation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"async-subagent-delegation.d.ts","sourceRoot":"","sources":["../../source/prompts/async-subagent-delegation.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,wBAAgB,kCAAkC,CAAC,EACjD,aAAoB,EACpB,gBAAwB,GACzB,GAAE;IAAE,aAAa,CAAC,EAAE,OAAO,CAAC;IAAC,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAAO,GAAG,MAAM,CAmCvE"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { getSubagentsRolesSection } from '../tools/agent/run-subagent.js';
|
|
2
|
+
/**
|
|
3
|
+
* Guidance for the asynchronous subagent tools (`run_subagent_async` and
|
|
4
|
+
* `get_subagent_result`). Injected when both tools are available.
|
|
5
|
+
*/
|
|
6
|
+
export function getAsyncSubagentDelegationAddendum({ memoryEnabled = true, orchestratorMode = false, } = {}) {
|
|
7
|
+
const header = `### Asynchronous subagents
|
|
8
|
+
|
|
9
|
+
You have two tools for running subagents in the background:
|
|
10
|
+
|
|
11
|
+
- \`run_subagent_async\`: starts a subagent and returns a \`runId\` immediately.
|
|
12
|
+
- \`get_subagent_result\`: blocks until the started subagent finishes and returns the final \`SubagentResult\`.
|
|
13
|
+
|
|
14
|
+
Use these when you want to start a background investigation, return control while it runs, and collect the result after the automatic completion notification.`;
|
|
15
|
+
const rules = `**Rules for async subagents:**
|
|
16
|
+
- Fresh async runs support explorer, worker, researcher, mentor, and librarian.
|
|
17
|
+
- Runs persist across parent turns in process memory until their 30-minute sliding TTL expires or the 50-session cap evicts them. Ordinary turn completion does not cancel them.
|
|
18
|
+
- A returned handle with \`status: "running"\` means delegation succeeded.
|
|
19
|
+
- Use \`get_subagent_result\` with the exact \`runId\` returned by \`run_subagent_async\`.
|
|
20
|
+
- Mentor and librarian fresh calls reuse their default session. Explorer and researcher fresh calls start a new session; pass \`continue_run_id\` to explicitly continue a completed explorer or researcher run. Worker runs are always fresh and cannot be continued.
|
|
21
|
+
- Only completed runs can be continued. A continuation uses the same runId; do not invent runIds or continue an active, failed, cancelled, missing, or evicted run.
|
|
22
|
+
- The result uses the structured \`SubagentResult\` shape: status, final text, tools used, and files changed.`;
|
|
23
|
+
const triggers = `**When to use async subagents:**
|
|
24
|
+
- A codebase exploration or web research task can run in parallel with other reasoning.
|
|
25
|
+
- You want to keep your context focused while a mentor pressure-tests a plan in the background.
|
|
26
|
+
- The result is needed later, not immediately, and you have other useful work to do first.${orchestratorMode
|
|
27
|
+
? `
|
|
28
|
+
|
|
29
|
+
In Orchestrator mode, use \`run_subagent_async\` for delegable work. A returned handle with \`status: "running"\` means delegation succeeded. Do not duplicate or independently perform the delegated unit. After a successful launch, end the current turn and wait for the automatic completion notification. Use \`get_subagent_result\` from that notification turn, or call it earlier only when the result is explicitly needed immediately.`
|
|
30
|
+
: ''}`;
|
|
31
|
+
const framing = `**Task framing:** Describe the goal, relevant context, and constraints—not implementation steps. Do not repeat automatically supplied context: role instructions, generic tool guidance, worktree hygiene, environment metadata, root \`AGENTS.md\`, or skills catalog.`;
|
|
32
|
+
return `${header}\n\n${rules}\n\n${triggers}\n\n${framing}\n\n${getSubagentsRolesSection({
|
|
33
|
+
includeLibrarian: memoryEnabled,
|
|
34
|
+
})}`;
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=async-subagent-delegation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"async-subagent-delegation.js","sourceRoot":"","sources":["../../source/prompts/async-subagent-delegation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,gCAAgC,CAAC;AAE1E;;;GAGG;AACH,MAAM,UAAU,kCAAkC,CAAC,EACjD,aAAa,GAAG,IAAI,EACpB,gBAAgB,GAAG,KAAK,GACzB,GAA4D,EAAE;IAC7D,MAAM,MAAM,GAAG;;;;;;;+JAO8I,CAAC;IAE9J,MAAM,KAAK,GAAG;;;;;;;8GAO8F,CAAC;IAE7G,MAAM,QAAQ,GAAG;;;4FAIf,gBAAgB;QACd,CAAC,CAAC;;mbAE2a;QAC7a,CAAC,CAAC,EACN,EAAE,CAAC;IAEH,MAAM,OAAO,GAAG,yQAAyQ,CAAC;IAE1R,OAAO,GAAG,MAAM,OAAO,KAAK,OAAO,QAAQ,OAAO,OAAO,OAAO,wBAAwB,CAAC;QACvF,gBAAgB,EAAE,aAAa;KAChC,CAAC,EAAE,CAAC;AACP,CAAC"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { getSubagentsRolesSection } from '../tools/agent/run-subagent.js';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Guidance for the asynchronous subagent tools (`run_subagent_async` and
|
|
5
|
+
* `get_subagent_result`). Injected when both tools are available.
|
|
6
|
+
*/
|
|
7
|
+
export function getAsyncSubagentDelegationAddendum({
|
|
8
|
+
memoryEnabled = true,
|
|
9
|
+
orchestratorMode = false,
|
|
10
|
+
}: { memoryEnabled?: boolean; orchestratorMode?: boolean } = {}): string {
|
|
11
|
+
const header = `### Asynchronous subagents
|
|
12
|
+
|
|
13
|
+
You have two tools for running subagents in the background:
|
|
14
|
+
|
|
15
|
+
- \`run_subagent_async\`: starts a subagent and returns a \`runId\` immediately.
|
|
16
|
+
- \`get_subagent_result\`: blocks until the started subagent finishes and returns the final \`SubagentResult\`.
|
|
17
|
+
|
|
18
|
+
Use these when you want to start a background investigation, return control while it runs, and collect the result after the automatic completion notification.`;
|
|
19
|
+
|
|
20
|
+
const rules = `**Rules for async subagents:**
|
|
21
|
+
- Fresh async runs support explorer, worker, researcher, mentor, and librarian.
|
|
22
|
+
- Runs persist across parent turns in process memory until their 30-minute sliding TTL expires or the 50-session cap evicts them. Ordinary turn completion does not cancel them.
|
|
23
|
+
- A returned handle with \`status: "running"\` means delegation succeeded.
|
|
24
|
+
- Use \`get_subagent_result\` with the exact \`runId\` returned by \`run_subagent_async\`.
|
|
25
|
+
- Mentor and librarian fresh calls reuse their default session. Explorer and researcher fresh calls start a new session; pass \`continue_run_id\` to explicitly continue a completed explorer or researcher run. Worker runs are always fresh and cannot be continued.
|
|
26
|
+
- Only completed runs can be continued. A continuation uses the same runId; do not invent runIds or continue an active, failed, cancelled, missing, or evicted run.
|
|
27
|
+
- The result uses the structured \`SubagentResult\` shape: status, final text, tools used, and files changed.`;
|
|
28
|
+
|
|
29
|
+
const triggers = `**When to use async subagents:**
|
|
30
|
+
- A codebase exploration or web research task can run in parallel with other reasoning.
|
|
31
|
+
- You want to keep your context focused while a mentor pressure-tests a plan in the background.
|
|
32
|
+
- The result is needed later, not immediately, and you have other useful work to do first.${
|
|
33
|
+
orchestratorMode
|
|
34
|
+
? `
|
|
35
|
+
|
|
36
|
+
In Orchestrator mode, use \`run_subagent_async\` for delegable work. A returned handle with \`status: "running"\` means delegation succeeded. Do not duplicate or independently perform the delegated unit. After a successful launch, end the current turn and wait for the automatic completion notification. Use \`get_subagent_result\` from that notification turn, or call it earlier only when the result is explicitly needed immediately.`
|
|
37
|
+
: ''
|
|
38
|
+
}`;
|
|
39
|
+
|
|
40
|
+
const framing = `**Task framing:** Describe the goal, relevant context, and constraints—not implementation steps. Do not repeat automatically supplied context: role instructions, generic tool guidance, worktree hygiene, environment metadata, root \`AGENTS.md\`, or skills catalog.`;
|
|
41
|
+
|
|
42
|
+
return `${header}\n\n${rules}\n\n${triggers}\n\n${framing}\n\n${getSubagentsRolesSection({
|
|
43
|
+
includeLibrarian: memoryEnabled,
|
|
44
|
+
})}`;
|
|
45
|
+
}
|
|
@@ -1,16 +1,25 @@
|
|
|
1
|
-
You are in Orchestrator mode. You own the user-requested outcome end to end: investigate, decide, act, integrate results, correct mistakes, validate, and report. Continue through obvious necessary next steps without waiting for another user prompt.
|
|
1
|
+
You are in Orchestrator mode. You own the user-requested outcome end to end: investigate, decide, act, integrate results, correct mistakes, validate, and report. Continue through obvious necessary next steps without waiting for another user prompt. Remain the single point of contact for the user.
|
|
2
2
|
|
|
3
3
|
## How to work
|
|
4
|
+
|
|
4
5
|
Choose investigation, planning, delegation, implementation, review, and validation adaptively. Let uncertainty, impact, reversibility, and coordination risk determine the next useful action; there is no universal task pipeline.
|
|
5
6
|
|
|
6
|
-
Directly inspect, edit, run commands, and test small or clear work when delegation has no meaningful leverage. Delegate for specialization, context compression, safe parallelism, or cohesive separable work—not merely because workspace access
|
|
7
|
+
Get the work done with the least delegation that fully and safely covers it. Directly inspect, edit, run commands, and test small or clear work when delegation has no meaningful leverage. Delegate for specialization, context compression, safe parallelism, or cohesive separable work — not merely because workspace access or tools are involved. Decompose only when a task genuinely spans multiple concerns; one bounded agent is correct for a one-step task, and do not split a small task across roles merely because roles exist.
|
|
7
8
|
|
|
8
|
-
Delegation transfers execution, never outcome ownership. Treat subagent results as internal checkpoints: integrate them, follow up on gaps, correct errors, and complete the task yourself.
|
|
9
|
+
Delegation transfers execution, never outcome ownership. Treat subagent results as internal checkpoints: integrate them, follow up on gaps, correct errors, and complete the task yourself. Do not quietly take over worker work, and do not treat a subagent summary as completion without evidence. Avoid concurrent overlapping edits; sequence work that shares files, contracts, schemas, state flows, or dependencies.
|
|
9
10
|
|
|
10
11
|
Resolve discoverable ambiguity from available evidence and use ordinary engineering judgment. Ask the user only for genuine blockers, unavailable information, consequential product choices, destructive or risky authorization, or materially divergent outcomes that cannot responsibly be inferred.
|
|
11
12
|
|
|
12
13
|
Protect pre-existing user work. Report truthfully. Apply stricter scrutiny to destructive, irreversible, security-sensitive, migration, persistence, concurrency, and broadly coupled work.
|
|
13
14
|
|
|
15
|
+
## Delegation discipline
|
|
16
|
+
|
|
17
|
+
Choose the most fitting available role for the task. Give each task one owner and avoid overlapping edits.
|
|
18
|
+
|
|
19
|
+
For modifying work, ask the worker to use an isolated git worktree when the change is non-trivial or concurrent work is active and the repository and provider support it. Otherwise assign one writer per checkout and escalate conflicts rather than racing edits. Keep scouts and reviewers read-only unless edits are explicitly authorized. Escalate destructive, irreversible, external, production, credential, security-sensitive, or materially scope-changing decisions when the consequence is genuinely material.
|
|
20
|
+
|
|
21
|
+
Do not treat a summary as completion. For modifications, require changed-file or diff/commit evidence and relevant test output when the change plausibly affects behavior; for inert changes such as docs or comments, the diff/commit is sufficient. Report outcomes, evidence, blockers, risks, integration instructions, and needed user decisions concisely.
|
|
22
|
+
|
|
14
23
|
## Using memory
|
|
15
24
|
|
|
16
25
|
The memory index at the bottom of this prompt is a retrieval trigger, not a reference manual. Read each summary as a description of the conditions under which its memory applies.
|
|
@@ -21,9 +30,13 @@ The memory index at the bottom of this prompt is a retrieval trigger, not a refe
|
|
|
21
30
|
- When delegating, restate any loaded memory that constrains the subagent's work as an explicit instruction — the subagent does not see your conversation or the index.
|
|
22
31
|
|
|
23
32
|
## Delegating well
|
|
33
|
+
|
|
24
34
|
Give each subagent the objective, task-specific scope, non-discoverable parent findings or decisions, constraints, deliverable or acceptance criteria, and validation when applicable. Do not repeat automatically supplied context: role instructions, generic tool guidance, worktree hygiene, environment metadata, root `AGENTS.md`, or skills catalog. The subagent does not see your conversation or reasoning. Frame a cohesive unit with a concrete done condition while leaving the worker autonomy over how to execute it.
|
|
25
35
|
|
|
26
36
|
Do not redo completed work without reason. If a result looks wrong, inspect the evidence, then directly fix it or delegate a corrected cohesive scope. If a subagent returns a partial result, use what is sound and finish the remaining work.
|
|
27
37
|
|
|
28
38
|
## Verifying and reporting
|
|
39
|
+
|
|
29
40
|
Treat subagent "done" reports as claims, not facts. Before reporting completion, validate against the task's acceptance criteria at a level proportionate to the risk and breadth of the change.
|
|
41
|
+
|
|
42
|
+
For modifications, require changed-file or diff/commit evidence and relevant test output when the change plausibly affects behavior; for inert changes such as docs or comments, the diff/commit is sufficient. Report outcomes, evidence, blockers, risks, integration instructions, and needed user decisions concisely.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompt-constructor.d.ts","sourceRoot":"","sources":["../../source/prompts/prompt-constructor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;
|
|
1
|
+
{"version":3,"file":"prompt-constructor.d.ts","sourceRoot":"","sources":["../../source/prompts/prompt-constructor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AAOzE,MAAM,MAAM,wBAAwB,GAAG;IACrC,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,OAAO,CAAC;IAClB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;CACrC,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,cAAc,EAAE,MAAM,EAAE,CAAC;CAC1B,CAAC;AAEF,wBAAgB,eAAe,CAAC,OAAO,EAAE,wBAAwB,GAAG,UAAU,CAkE7E"}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { selectPromptProfile } from './prompt-profiles.js';
|
|
2
2
|
import { getSearchViaShellAddendum } from './search-via-shell.js';
|
|
3
3
|
import { getSubagentDelegationAddendum } from './subagent-delegation.js';
|
|
4
|
+
import { getAsyncSubagentDelegationAddendum } from './async-subagent-delegation.js';
|
|
4
5
|
import { getShellSandboxAddendum } from './shell-sandbox.js';
|
|
5
6
|
export function buildPromptSpec(options) {
|
|
6
|
-
const { model, liteMode, orchestratorMode = false, mentorMode = false, searchViaShell = false, runSubagentEnabled = false, sandboxEnabled = true, memoryEnabled = false, memoryGuidance = '', executionContext, } = options;
|
|
7
|
+
const { model, liteMode, orchestratorMode = false, mentorMode = false, searchViaShell = false, runSubagentEnabled = false, runSubagentAsyncEnabled = false, sandboxEnabled = true, memoryEnabled = false, memoryGuidance = '', executionContext, } = options;
|
|
7
8
|
const profile = selectPromptProfile({ model, liteMode, orchestratorMode });
|
|
8
9
|
const fragmentFiles = [...(profile.fragmentFiles ?? [])];
|
|
9
10
|
const inlineSections = [];
|
|
@@ -27,6 +28,9 @@ export function buildPromptSpec(options) {
|
|
|
27
28
|
if (orchestratorMode && runSubagentEnabled) {
|
|
28
29
|
inlineSections.push(getSubagentDelegationAddendum({ orchestratorMode, memoryEnabled }));
|
|
29
30
|
}
|
|
31
|
+
if (runSubagentAsyncEnabled && !liteMode) {
|
|
32
|
+
inlineSections.push(getAsyncSubagentDelegationAddendum({ memoryEnabled, orchestratorMode }));
|
|
33
|
+
}
|
|
30
34
|
if (isRegularMode && isAgentMode) {
|
|
31
35
|
fragmentFiles.push('plan-mode-info.md');
|
|
32
36
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompt-constructor.js","sourceRoot":"","sources":["../../source/prompts/prompt-constructor.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AAClE,OAAO,EAAE,6BAA6B,EAAE,MAAM,0BAA0B,CAAC;AACzE,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"prompt-constructor.js","sourceRoot":"","sources":["../../source/prompts/prompt-constructor.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AAClE,OAAO,EAAE,6BAA6B,EAAE,MAAM,0BAA0B,CAAC;AACzE,OAAO,EAAE,kCAAkC,EAAE,MAAM,gCAAgC,CAAC;AACpF,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAwB7D,MAAM,UAAU,eAAe,CAAC,OAAiC;IAC/D,MAAM,EACJ,KAAK,EACL,QAAQ,EACR,gBAAgB,GAAG,KAAK,EACxB,UAAU,GAAG,KAAK,EAClB,cAAc,GAAG,KAAK,EACtB,kBAAkB,GAAG,KAAK,EAC1B,uBAAuB,GAAG,KAAK,EAC/B,cAAc,GAAG,IAAI,EACrB,aAAa,GAAG,KAAK,EACrB,cAAc,GAAG,EAAE,EACnB,gBAAgB,GACjB,GAAG,OAAO,CAAC;IAEZ,MAAM,OAAO,GAAG,mBAAmB,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,gBAAgB,EAAE,CAAC,CAAC;IAC3E,MAAM,aAAa,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,aAAa,IAAI,EAAE,CAAC,CAAC,CAAC;IACzD,MAAM,cAAc,GAAa,EAAE,CAAC;IAEpC,MAAM,aAAa,GAAG,CAAC,QAAQ,CAAC;IAChC,MAAM,WAAW,GAAG,CAAC,gBAAgB,CAAC;IACtC,2EAA2E;IAC3E,6DAA6D;IAC7D,MAAM,4BAA4B,GAAG,CAAC,QAAQ,CAAC;IAE/C,IAAI,4BAA4B,EAAE,CAAC;QACjC,aAAa,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;IAC5C,CAAC;IAED,IAAI,cAAc,EAAE,CAAC;QACnB,cAAc,CAAC,IAAI,CAAC,uBAAuB,EAAE,CAAC,CAAC;IACjD,CAAC;IAED,IAAI,UAAU,IAAI,aAAa,EAAE,CAAC;QAChC,aAAa,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IACxC,CAAC;IAED,IAAI,WAAW,IAAI,cAAc,EAAE,CAAC;QAClC,cAAc,CAAC,IAAI,CAAC,yBAAyB,CAAC,EAAE,gBAAgB,EAAE,CAAC,CAAC,CAAC;IACvE,CAAC;IAED,IAAI,gBAAgB,IAAI,kBAAkB,EAAE,CAAC;QAC3C,cAAc,CAAC,IAAI,CAAC,6BAA6B,CAAC,EAAE,gBAAgB,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC;IAC1F,CAAC;IAED,IAAI,uBAAuB,IAAI,CAAC,QAAQ,EAAE,CAAC;QACzC,cAAc,CAAC,IAAI,CAAC,kCAAkC,CAAC,EAAE,aAAa,EAAE,gBAAgB,EAAE,CAAC,CAAC,CAAC;IAC/F,CAAC;IAED,IAAI,aAAa,IAAI,WAAW,EAAE,CAAC;QACjC,aAAa,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IAC1C,CAAC;IAED,IAAI,aAAa,IAAI,WAAW,EAAE,CAAC;QACjC,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAClC,CAAC;IAED,IAAI,cAAc,EAAE,CAAC;QACnB,cAAc,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IACtC,CAAC;IAED,OAAO;QACL,cAAc,EAAE,OAAO,CAAC,cAAc;QACtC,aAAa;QACb,cAAc;KACf,CAAC;AACJ,CAAC"}
|
|
@@ -111,3 +111,54 @@ it('adds persistent-memory guidance only when memory tools are enabled', () => {
|
|
|
111
111
|
'memory.md',
|
|
112
112
|
);
|
|
113
113
|
});
|
|
114
|
+
|
|
115
|
+
it('buildPromptSpec includes async subagent guidance when async tools are enabled', () => {
|
|
116
|
+
const spec = buildPromptSpec({
|
|
117
|
+
model: 'gpt-4o',
|
|
118
|
+
liteMode: false,
|
|
119
|
+
runSubagentAsyncEnabled: true,
|
|
120
|
+
});
|
|
121
|
+
expect(spec.inlineSections.some((s) => s.includes('Asynchronous subagents'))).toBe(true);
|
|
122
|
+
expect(spec.inlineSections.some((s) => s.includes('run_subagent_async'))).toBe(true);
|
|
123
|
+
expect(spec.inlineSections.some((s) => s.includes('get_subagent_result'))).toBe(true);
|
|
124
|
+
expect(spec.inlineSections.some((s) => s.includes('explorer'))).toBe(true);
|
|
125
|
+
expect(spec.inlineSections.some((s) => s.includes('researcher'))).toBe(true);
|
|
126
|
+
expect(spec.inlineSections.some((s) => s.includes('mentor'))).toBe(true);
|
|
127
|
+
});
|
|
128
|
+
|
|
129
|
+
it('buildPromptSpec tells orchestrators to trust successful delegation and wait without duplicating it', () => {
|
|
130
|
+
const spec = buildPromptSpec({
|
|
131
|
+
model: 'gpt-4o',
|
|
132
|
+
liteMode: false,
|
|
133
|
+
orchestratorMode: true,
|
|
134
|
+
runSubagentEnabled: true,
|
|
135
|
+
runSubagentAsyncEnabled: true,
|
|
136
|
+
});
|
|
137
|
+
const guidance = spec.inlineSections.join('\n');
|
|
138
|
+
|
|
139
|
+
expect(guidance).toContain('use `run_subagent_async` for delegable work');
|
|
140
|
+
expect(guidance).toContain('A returned handle with `status: "running"` means delegation succeeded');
|
|
141
|
+
expect(guidance).toContain('Do not duplicate or independently perform the delegated unit');
|
|
142
|
+
expect(guidance).toContain('end the current turn and wait for the automatic completion notification');
|
|
143
|
+
expect(guidance).toContain('Use `get_subagent_result` from that notification turn');
|
|
144
|
+
expect(guidance).toContain('only when the result is explicitly needed immediately');
|
|
145
|
+
expect(guidance).not.toContain('Use `run_subagent` only');
|
|
146
|
+
});
|
|
147
|
+
|
|
148
|
+
it('buildPromptSpec excludes async subagent guidance in lite mode', () => {
|
|
149
|
+
const spec = buildPromptSpec({
|
|
150
|
+
model: 'gpt-4o',
|
|
151
|
+
liteMode: true,
|
|
152
|
+
runSubagentAsyncEnabled: true,
|
|
153
|
+
});
|
|
154
|
+
expect(spec.inlineSections.some((s) => s.includes('Asynchronous subagents'))).toBe(false);
|
|
155
|
+
});
|
|
156
|
+
|
|
157
|
+
it('buildPromptSpec excludes async subagent guidance when disabled', () => {
|
|
158
|
+
const spec = buildPromptSpec({
|
|
159
|
+
model: 'gpt-4o',
|
|
160
|
+
liteMode: false,
|
|
161
|
+
runSubagentAsyncEnabled: false,
|
|
162
|
+
});
|
|
163
|
+
expect(spec.inlineSections.some((s) => s.includes('Asynchronous subagents'))).toBe(false);
|
|
164
|
+
});
|
|
@@ -2,6 +2,7 @@ import type { ExecutionContext } from '../services/execution-context.js';
|
|
|
2
2
|
import { selectPromptProfile } from './prompt-profiles.js';
|
|
3
3
|
import { getSearchViaShellAddendum } from './search-via-shell.js';
|
|
4
4
|
import { getSubagentDelegationAddendum } from './subagent-delegation.js';
|
|
5
|
+
import { getAsyncSubagentDelegationAddendum } from './async-subagent-delegation.js';
|
|
5
6
|
import { getShellSandboxAddendum } from './shell-sandbox.js';
|
|
6
7
|
|
|
7
8
|
export type PromptConstructorOptions = {
|
|
@@ -13,6 +14,7 @@ export type PromptConstructorOptions = {
|
|
|
13
14
|
searchViaShell?: boolean;
|
|
14
15
|
codeContextEnabled?: boolean;
|
|
15
16
|
runSubagentEnabled?: boolean;
|
|
17
|
+
runSubagentAsyncEnabled?: boolean;
|
|
16
18
|
sandboxEnabled?: boolean;
|
|
17
19
|
memoryEnabled?: boolean;
|
|
18
20
|
memoryGuidance?: string;
|
|
@@ -33,6 +35,7 @@ export function buildPromptSpec(options: PromptConstructorOptions): PromptSpec {
|
|
|
33
35
|
mentorMode = false,
|
|
34
36
|
searchViaShell = false,
|
|
35
37
|
runSubagentEnabled = false,
|
|
38
|
+
runSubagentAsyncEnabled = false,
|
|
36
39
|
sandboxEnabled = true,
|
|
37
40
|
memoryEnabled = false,
|
|
38
41
|
memoryGuidance = '',
|
|
@@ -69,6 +72,10 @@ export function buildPromptSpec(options: PromptConstructorOptions): PromptSpec {
|
|
|
69
72
|
inlineSections.push(getSubagentDelegationAddendum({ orchestratorMode, memoryEnabled }));
|
|
70
73
|
}
|
|
71
74
|
|
|
75
|
+
if (runSubagentAsyncEnabled && !liteMode) {
|
|
76
|
+
inlineSections.push(getAsyncSubagentDelegationAddendum({ memoryEnabled, orchestratorMode }));
|
|
77
|
+
}
|
|
78
|
+
|
|
72
79
|
if (isRegularMode && isAgentMode) {
|
|
73
80
|
fragmentFiles.push('plan-mode-info.md');
|
|
74
81
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"subagent-delegation.d.ts","sourceRoot":"","sources":["../../source/prompts/subagent-delegation.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,wBAAgB,6BAA6B,CAAC,EAC5C,gBAAwB,EACxB,aAAoB,GACrB,GAAE;IAAE,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAAC,aAAa,CAAC,EAAE,OAAO,CAAA;CAAO,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"subagent-delegation.d.ts","sourceRoot":"","sources":["../../source/prompts/subagent-delegation.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,wBAAgB,6BAA6B,CAAC,EAC5C,gBAAwB,EACxB,aAAoB,GACrB,GAAE;IAAE,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAAC,aAAa,CAAC,EAAE,OAAO,CAAA;CAAO,GAAG,MAAM,CA6BvE"}
|
|
@@ -6,9 +6,10 @@ import { getSubagentsRolesSection } from '../tools/agent/run-subagent.js';
|
|
|
6
6
|
* The tool description covers mechanics; behavioral guidance lives here.
|
|
7
7
|
*/
|
|
8
8
|
export function getSubagentDelegationAddendum({ orchestratorMode = false, memoryEnabled = true, } = {}) {
|
|
9
|
+
const delegationTool = orchestratorMode ? 'run_subagent_async' : 'run_subagent';
|
|
9
10
|
const header = `### Delegating to subagents
|
|
10
11
|
|
|
11
|
-
You have a \`
|
|
12
|
+
You have a \`${delegationTool}\` tool. A subagent runs in its own context and returns only a summary — use it to keep your own context focused on high-level reasoning.`;
|
|
12
13
|
const triggers = `**Delegate when it provides meaningful leverage:**
|
|
13
14
|
- Need focused codebase investigation or context compression → \`explorer\`.
|
|
14
15
|
- Needs online info (library docs, current best practices, version-specific behavior) → \`researcher\`.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"subagent-delegation.js","sourceRoot":"","sources":["../../source/prompts/subagent-delegation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,gCAAgC,CAAC;AAE1E;;;;;GAKG;AACH,MAAM,UAAU,6BAA6B,CAAC,EAC5C,gBAAgB,GAAG,KAAK,EACxB,aAAa,GAAG,IAAI,GACrB,GAA4D,EAAE;IAC7D,MAAM,MAAM,GAAG;;
|
|
1
|
+
{"version":3,"file":"subagent-delegation.js","sourceRoot":"","sources":["../../source/prompts/subagent-delegation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,gCAAgC,CAAC;AAE1E;;;;;GAKG;AACH,MAAM,UAAU,6BAA6B,CAAC,EAC5C,gBAAgB,GAAG,KAAK,EACxB,aAAa,GAAG,IAAI,GACrB,GAA4D,EAAE;IAC7D,MAAM,cAAc,GAAG,gBAAgB,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,cAAc,CAAC;IAChF,MAAM,MAAM,GAAG;;eAEF,cAAc,2IAA2I,CAAC;IAEvK,MAAM,QAAQ,GAAG;;;;EAKjB,aAAa,CAAC,CAAC,CAAC,kFAAkF,CAAC,CAAC,CAAC,EACvG,2GACI,gBAAgB;QACd,CAAC,CAAC;;6cAEqc;QACvc,CAAC,CAAC;;6LAGN,EAAE,CAAC;IAEH,MAAM,YAAY,GAAG;;iZAE0X,CAAC;IAEhZ,OAAO,GAAG,MAAM,OAAO,QAAQ,OAAO,YAAY,OAAO,wBAAwB,CAAC;QAChF,gBAAgB,EAAE,aAAa;KAChC,CAAC,EAAE,CAAC;AACP,CAAC"}
|
|
@@ -10,9 +10,10 @@ export function getSubagentDelegationAddendum({
|
|
|
10
10
|
orchestratorMode = false,
|
|
11
11
|
memoryEnabled = true,
|
|
12
12
|
}: { orchestratorMode?: boolean; memoryEnabled?: boolean } = {}): string {
|
|
13
|
+
const delegationTool = orchestratorMode ? 'run_subagent_async' : 'run_subagent';
|
|
13
14
|
const header = `### Delegating to subagents
|
|
14
15
|
|
|
15
|
-
You have a \`
|
|
16
|
+
You have a \`${delegationTool}\` tool. A subagent runs in its own context and returns only a summary — use it to keep your own context focused on high-level reasoning.`;
|
|
16
17
|
|
|
17
18
|
const triggers = `**Delegate when it provides meaningful leverage:**
|
|
18
19
|
- Need focused codebase investigation or context compression → \`explorer\`.
|
|
@@ -34,6 +34,12 @@ export declare class ExecutionBudget {
|
|
|
34
34
|
maxTokens?: number;
|
|
35
35
|
currentDepth?: number;
|
|
36
36
|
abortController?: AbortController;
|
|
37
|
+
sharedState?: {
|
|
38
|
+
childCount: number;
|
|
39
|
+
activeChildren: number;
|
|
40
|
+
aggregateTokens: number;
|
|
41
|
+
released: boolean;
|
|
42
|
+
};
|
|
37
43
|
});
|
|
38
44
|
/** Shared abort signal for the tree. */
|
|
39
45
|
get signal(): AbortSignal;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"execution-budget.d.ts","sourceRoot":"","sources":["../../../source/services/agent-runtime/execution-budget.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAErE;;;;;;;;;;;;;GAaG;AACH,qBAAa,eAAe;;IAC1B,iEAAiE;IACjE,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;IACzC,sEAAsE;IACtE,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;IACtC,0DAA0D;IAC1D,QAAQ,CAAC,cAAc,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5C,uEAAuE;IACvE,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IAEvC,6DAA6D;IAC7D,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAE9B,kDAAkD;IAClD,QAAQ,CAAC,eAAe,EAAE,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"execution-budget.d.ts","sourceRoot":"","sources":["../../../source/services/agent-runtime/execution-budget.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAErE;;;;;;;;;;;;;GAaG;AACH,qBAAa,eAAe;;IAC1B,iEAAiE;IACjE,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;IACzC,sEAAsE;IACtE,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;IACtC,0DAA0D;IAC1D,QAAQ,CAAC,cAAc,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5C,uEAAuE;IACvE,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IAEvC,6DAA6D;IAC7D,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAE9B,kDAAkD;IAClD,QAAQ,CAAC,eAAe,EAAE,eAAe,CAAC;IAG1C,YAAY,OAAO,EAAE;QACnB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,eAAe,CAAC,EAAE,eAAe,CAAC;QAClC,WAAW,CAAC,EAAE;YAAE,UAAU,EAAE,MAAM,CAAC;YAAC,cAAc,EAAE,MAAM,CAAC;YAAC,eAAe,EAAE,MAAM,CAAC;YAAC,QAAQ,EAAE,OAAO,CAAA;SAAE,CAAC;KAC1G,EAQA;IAED,wCAAwC;IACxC,IAAI,MAAM,IAAI,WAAW,CAExB;IAED,4CAA4C;IAC5C,IAAI,UAAU,IAAI,MAAM,CAEvB;IAED,6CAA6C;IAC7C,IAAI,cAAc,IAAI,MAAM,CAE3B;IAED,6CAA6C;IAC7C,IAAI,eAAe,IAAI,MAAM,CAE5B;IAED,mEAAmE;IACnE,IAAI,WAAW,IAAI,OAAO,CAEzB;IAED;;;;;OAKG;IACH,eAAe,IAAI,iBAAiB,GAAG,qBAAqB,CA2C3D;IASD;;;OAGG;IACH,WAAW,CAAC,KAAK,EAAE,eAAe,GAAG,IAAI,CAYxC;IAED,6BAA6B;IAC7B,KAAK,IAAI,IAAI,CAOZ;IAED;;;;OAIG;IACH,iBAAiB,IAAI,eAAe,CAiBnC;IAED,oEAAoE;IACpE,OAAO,IAAI,IAAI,CAOd;CACF;AAED;;;GAGG;AACH,qBAAa,iBAAiB;;IAK5B,YAAY,MAAM,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,IAAI,EAGzD;IAED,uEAAuE;IACvE,IAAI,MAAM,IAAI,WAAW,CAExB;IAED,4DAA4D;IAC5D,OAAO,IAAI,IAAI,CAId;IAED;;;;OAIG;IACH,iBAAiB,IAAI,eAAe,CAEnC;CACF;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,KAAK,CAAC;IAChB,MAAM,EACF,iBAAiB,GACjB,WAAW,GACX,uBAAuB,GACvB,0BAA0B,GAC1B,qBAAqB,CAAC;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE;IACvC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,GAAG,eAAe,CAOlB"}
|
|
@@ -25,10 +25,7 @@ export class ExecutionBudget {
|
|
|
25
25
|
currentDepth;
|
|
26
26
|
/** Shared AbortController for the entire tree. */
|
|
27
27
|
abortController;
|
|
28
|
-
#
|
|
29
|
-
#activeChildren = 0;
|
|
30
|
-
#aggregateTokens = 0;
|
|
31
|
-
#released = false;
|
|
28
|
+
#state;
|
|
32
29
|
constructor(options) {
|
|
33
30
|
this.maxChildren = options.maxChildren;
|
|
34
31
|
this.maxDepth = options.maxDepth;
|
|
@@ -36,6 +33,7 @@ export class ExecutionBudget {
|
|
|
36
33
|
this.maxTokens = options.maxTokens;
|
|
37
34
|
this.currentDepth = options.currentDepth ?? 0;
|
|
38
35
|
this.abortController = options.abortController ?? new AbortController();
|
|
36
|
+
this.#state = options.sharedState ?? { childCount: 0, activeChildren: 0, aggregateTokens: 0, released: false };
|
|
39
37
|
}
|
|
40
38
|
/** Shared abort signal for the tree. */
|
|
41
39
|
get signal() {
|
|
@@ -43,19 +41,19 @@ export class ExecutionBudget {
|
|
|
43
41
|
}
|
|
44
42
|
/** Current child count (for inspection). */
|
|
45
43
|
get childCount() {
|
|
46
|
-
return this.#childCount;
|
|
44
|
+
return this.#state.childCount;
|
|
47
45
|
}
|
|
48
46
|
/** Current active (in-progress) children. */
|
|
49
47
|
get activeChildren() {
|
|
50
|
-
return this.#activeChildren;
|
|
48
|
+
return this.#state.activeChildren;
|
|
51
49
|
}
|
|
52
50
|
/** Aggregate token usage across the tree. */
|
|
53
51
|
get aggregateTokens() {
|
|
54
|
-
return this.#aggregateTokens;
|
|
52
|
+
return this.#state.aggregateTokens;
|
|
55
53
|
}
|
|
56
54
|
/** Whether any limit has been exceeded or the tree was aborted. */
|
|
57
55
|
get isExhausted() {
|
|
58
|
-
return this.#released || this.abortController.signal.aborted;
|
|
56
|
+
return this.#state.released || this.abortController.signal.aborted;
|
|
59
57
|
}
|
|
60
58
|
/**
|
|
61
59
|
* Try to acquire a child slot. Returns an AcquiredChildSlot or a rejection reason.
|
|
@@ -64,42 +62,47 @@ export class ExecutionBudget {
|
|
|
64
62
|
* Callers MUST call `release()` on the returned slot in a finally block.
|
|
65
63
|
*/
|
|
66
64
|
tryAcquireChild() {
|
|
67
|
-
if (this.#released) {
|
|
65
|
+
if (this.#state.released) {
|
|
68
66
|
return { accepted: false, reason: 'budget_released' };
|
|
69
67
|
}
|
|
70
68
|
if (this.abortController.signal.aborted) {
|
|
71
69
|
return { accepted: false, reason: 'cancelled' };
|
|
72
70
|
}
|
|
73
71
|
// Check maxChildren
|
|
74
|
-
if (this.maxChildren !== undefined && this.#childCount >= this.maxChildren) {
|
|
75
|
-
return {
|
|
72
|
+
if (this.maxChildren !== undefined && this.#state.childCount >= this.maxChildren) {
|
|
73
|
+
return {
|
|
74
|
+
accepted: false,
|
|
75
|
+
reason: 'max_children_exceeded',
|
|
76
|
+
current: this.#state.childCount,
|
|
77
|
+
max: this.maxChildren,
|
|
78
|
+
};
|
|
76
79
|
}
|
|
77
80
|
// Check maxConcurrency
|
|
78
|
-
if (this.maxConcurrency !== undefined && this.#activeChildren >= this.maxConcurrency) {
|
|
81
|
+
if (this.maxConcurrency !== undefined && this.#state.activeChildren >= this.maxConcurrency) {
|
|
79
82
|
return {
|
|
80
83
|
accepted: false,
|
|
81
84
|
reason: 'max_concurrency_exceeded',
|
|
82
|
-
current: this.#activeChildren,
|
|
85
|
+
current: this.#state.activeChildren,
|
|
83
86
|
max: this.maxConcurrency,
|
|
84
87
|
};
|
|
85
88
|
}
|
|
86
89
|
// Check token budget
|
|
87
|
-
if (this.maxTokens !== undefined && this.#aggregateTokens >= this.maxTokens) {
|
|
90
|
+
if (this.maxTokens !== undefined && this.#state.aggregateTokens >= this.maxTokens) {
|
|
88
91
|
return {
|
|
89
92
|
accepted: false,
|
|
90
93
|
reason: 'max_tokens_exceeded',
|
|
91
|
-
current: this.#aggregateTokens,
|
|
94
|
+
current: this.#state.aggregateTokens,
|
|
92
95
|
max: this.maxTokens,
|
|
93
96
|
};
|
|
94
97
|
}
|
|
95
|
-
this.#childCount++;
|
|
96
|
-
this.#activeChildren++;
|
|
98
|
+
this.#state.childCount++;
|
|
99
|
+
this.#state.activeChildren++;
|
|
97
100
|
return new AcquiredChildSlot(this, () => this.#releaseChild());
|
|
98
101
|
}
|
|
99
102
|
/** Called by AcquiredChildSlot to release a slot. */
|
|
100
103
|
#releaseChild() {
|
|
101
|
-
if (this.#activeChildren > 0) {
|
|
102
|
-
this.#activeChildren--;
|
|
104
|
+
if (this.#state.activeChildren > 0) {
|
|
105
|
+
this.#state.activeChildren--;
|
|
103
106
|
}
|
|
104
107
|
}
|
|
105
108
|
/**
|
|
@@ -108,9 +111,9 @@ export class ExecutionBudget {
|
|
|
108
111
|
*/
|
|
109
112
|
recordUsage(usage) {
|
|
110
113
|
const tokens = usage.total_tokens ?? (usage.prompt_tokens ?? 0) + (usage.completion_tokens ?? 0);
|
|
111
|
-
this.#aggregateTokens += tokens;
|
|
112
|
-
if (this.maxTokens !== undefined && this.#aggregateTokens >= this.maxTokens) {
|
|
113
|
-
this.#released = true;
|
|
114
|
+
this.#state.aggregateTokens += tokens;
|
|
115
|
+
if (this.maxTokens !== undefined && this.#state.aggregateTokens >= this.maxTokens) {
|
|
116
|
+
this.#state.released = true;
|
|
114
117
|
try {
|
|
115
118
|
this.abortController.abort();
|
|
116
119
|
}
|
|
@@ -121,7 +124,7 @@ export class ExecutionBudget {
|
|
|
121
124
|
}
|
|
122
125
|
/** Abort the entire tree. */
|
|
123
126
|
abort() {
|
|
124
|
-
this.#released = true;
|
|
127
|
+
this.#state.released = true;
|
|
125
128
|
try {
|
|
126
129
|
this.abortController.abort();
|
|
127
130
|
}
|
|
@@ -147,11 +150,12 @@ export class ExecutionBudget {
|
|
|
147
150
|
maxTokens: this.maxTokens,
|
|
148
151
|
currentDepth: depth,
|
|
149
152
|
abortController: this.abortController,
|
|
153
|
+
sharedState: this.#state,
|
|
150
154
|
});
|
|
151
155
|
}
|
|
152
156
|
/** Release all resources (called when root execution completes). */
|
|
153
157
|
release() {
|
|
154
|
-
this.#released = true;
|
|
158
|
+
this.#state.released = true;
|
|
155
159
|
try {
|
|
156
160
|
this.abortController.abort();
|
|
157
161
|
}
|
|
@@ -167,6 +171,7 @@ export class ExecutionBudget {
|
|
|
167
171
|
export class AcquiredChildSlot {
|
|
168
172
|
#budget;
|
|
169
173
|
#releaseFn;
|
|
174
|
+
#released = false;
|
|
170
175
|
constructor(budget, releaseFn) {
|
|
171
176
|
this.#budget = budget;
|
|
172
177
|
this.#releaseFn = releaseFn;
|
|
@@ -177,6 +182,9 @@ export class AcquiredChildSlot {
|
|
|
177
182
|
}
|
|
178
183
|
/** Release the slot, decrementing active children count. */
|
|
179
184
|
release() {
|
|
185
|
+
if (this.#released)
|
|
186
|
+
return;
|
|
187
|
+
this.#released = true;
|
|
180
188
|
this.#releaseFn();
|
|
181
189
|
}
|
|
182
190
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"execution-budget.js","sourceRoot":"","sources":["../../../source/services/agent-runtime/execution-budget.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;GAaG;AACH,MAAM,OAAO,eAAe;IAC1B,iEAAiE;IACxD,WAAW,CAAqB;IACzC,sEAAsE;IAC7D,QAAQ,CAAqB;IACtC,0DAA0D;IACjD,cAAc,CAAqB;IAC5C,uEAAuE;IAC9D,SAAS,CAAqB;IAEvC,6DAA6D;IACpD,YAAY,CAAS;IAE9B,kDAAkD;IACzC,eAAe,CAAkB;IAE1C,
|
|
1
|
+
{"version":3,"file":"execution-budget.js","sourceRoot":"","sources":["../../../source/services/agent-runtime/execution-budget.ts"],"names":[],"mappings":"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"}
|
|
@@ -71,7 +71,7 @@ function deriveCanUseNestedAgents(perms) {
|
|
|
71
71
|
// Explicit denial via agents.create: false overrides everything.
|
|
72
72
|
if (perms.agents?.create === false)
|
|
73
73
|
return false;
|
|
74
|
-
const nestedTools = new Set(['run_subagent', 'ask_mentor']);
|
|
74
|
+
const nestedTools = new Set(['run_subagent', 'run_subagent_async', 'get_subagent_result', 'ask_mentor']);
|
|
75
75
|
if (perms.tools?.some((t) => nestedTools.has(t)))
|
|
76
76
|
return true;
|
|
77
77
|
if (perms.agents?.create === true)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"permission-resolver.js","sourceRoot":"","sources":["../../../source/services/agent-runtime/permission-resolver.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,uBAAuB,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAUpF,qEAAqE;AAErE,mDAAmD;AACnD,MAAM,CAAC,MAAM,4BAA4B,GAA6B,MAAM,CAAC,MAAM,CAAC;IAClF,OAAO,EAAE,KAAK;IACd,QAAQ,EAAE,KAAK;IACf,WAAW,EAAE,KAAK;IAClB,YAAY,EAAE,KAAK;IACnB,kBAAkB,EAAE,KAAK;CAC1B,CAAC,CAAC;AAEH,8CAA8C;AAC9C,MAAM,CAAC,MAAM,cAAc,GAAgB,MAAM,CAAC,MAAM,CAAC;IACvD,QAAQ,EAAE,EAAE;IACZ,SAAS,EAAE,SAAS;IACpB,OAAO,EAAE,SAAS;IAClB,SAAS,EAAE,SAAS;IACpB,WAAW,EAAE,SAAS;IACtB,QAAQ,EAAE,SAAS;IACnB,cAAc,EAAE,SAAS;CAC1B,CAAC,CAAC;AAEH,qEAAqE;AAErE;;;;GAIG;AACH,SAAS,aAAa,CAAC,KAAuB;IAC5C,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC;QACxB,WAAW;QACX,MAAM;QACN,MAAM;QACN,mBAAmB;QACnB,qBAAqB;QACrB,YAAY;QACZ,WAAW;QACX,UAAU;QACV,gBAAgB;KACjB,CAAC,CAAC;IACH,IAAI,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IAC5D,IAAI,KAAK,CAAC,UAAU,EAAE,IAAI,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IACtD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,iEAAiE;AACjE,SAAS,cAAc,CAAC,KAAuB;IAC7C,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,CAAC,aAAa,EAAE,gBAAgB,EAAE,aAAa,CAAC,CAAC,CAAC;IAC7E,IAAI,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IAC7D,IAAI,KAAK,CAAC,UAAU,EAAE,KAAK,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IACvD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,oEAAoE;AACpE,SAAS,iBAAiB,CAAC,KAAuB;IAChD,IAAI,KAAK,CAAC,KAAK,EAAE,QAAQ,CAAC,OAAO,CAAC;QAAE,OAAO,IAAI,CAAC;IAChD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,qEAAqE;AACrE,SAAS,kBAAkB,CAAC,KAAuB;IACjD,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC;IACtD,IAAI,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IAC3D,IAAI,KAAK,CAAC,OAAO,EAAE,KAAK,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IACpD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,2EAA2E;AAC3E,SAAS,wBAAwB,CAAC,KAAuB;IACvD,iEAAiE;IACjE,IAAI,KAAK,CAAC,MAAM,EAAE,MAAM,KAAK,KAAK;QAAE,OAAO,KAAK,CAAC;IACjD,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"permission-resolver.js","sourceRoot":"","sources":["../../../source/services/agent-runtime/permission-resolver.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,uBAAuB,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAUpF,qEAAqE;AAErE,mDAAmD;AACnD,MAAM,CAAC,MAAM,4BAA4B,GAA6B,MAAM,CAAC,MAAM,CAAC;IAClF,OAAO,EAAE,KAAK;IACd,QAAQ,EAAE,KAAK;IACf,WAAW,EAAE,KAAK;IAClB,YAAY,EAAE,KAAK;IACnB,kBAAkB,EAAE,KAAK;CAC1B,CAAC,CAAC;AAEH,8CAA8C;AAC9C,MAAM,CAAC,MAAM,cAAc,GAAgB,MAAM,CAAC,MAAM,CAAC;IACvD,QAAQ,EAAE,EAAE;IACZ,SAAS,EAAE,SAAS;IACpB,OAAO,EAAE,SAAS;IAClB,SAAS,EAAE,SAAS;IACpB,WAAW,EAAE,SAAS;IACtB,QAAQ,EAAE,SAAS;IACnB,cAAc,EAAE,SAAS;CAC1B,CAAC,CAAC;AAEH,qEAAqE;AAErE;;;;GAIG;AACH,SAAS,aAAa,CAAC,KAAuB;IAC5C,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC;QACxB,WAAW;QACX,MAAM;QACN,MAAM;QACN,mBAAmB;QACnB,qBAAqB;QACrB,YAAY;QACZ,WAAW;QACX,UAAU;QACV,gBAAgB;KACjB,CAAC,CAAC;IACH,IAAI,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IAC5D,IAAI,KAAK,CAAC,UAAU,EAAE,IAAI,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IACtD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,iEAAiE;AACjE,SAAS,cAAc,CAAC,KAAuB;IAC7C,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,CAAC,aAAa,EAAE,gBAAgB,EAAE,aAAa,CAAC,CAAC,CAAC;IAC7E,IAAI,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IAC7D,IAAI,KAAK,CAAC,UAAU,EAAE,KAAK,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IACvD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,oEAAoE;AACpE,SAAS,iBAAiB,CAAC,KAAuB;IAChD,IAAI,KAAK,CAAC,KAAK,EAAE,QAAQ,CAAC,OAAO,CAAC;QAAE,OAAO,IAAI,CAAC;IAChD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,qEAAqE;AACrE,SAAS,kBAAkB,CAAC,KAAuB;IACjD,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC;IACtD,IAAI,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IAC3D,IAAI,KAAK,CAAC,OAAO,EAAE,KAAK,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IACpD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,2EAA2E;AAC3E,SAAS,wBAAwB,CAAC,KAAuB;IACvD,iEAAiE;IACjE,IAAI,KAAK,CAAC,MAAM,EAAE,MAAM,KAAK,KAAK;QAAE,OAAO,KAAK,CAAC;IACjD,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,CAAC,cAAc,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,YAAY,CAAC,CAAC,CAAC;IACzG,IAAI,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IAC9D,IAAI,KAAK,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IAC/C,OAAO,KAAK,CAAC;AACf,CAAC;AAED,qEAAqE;AAErE;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAChC,KAAwB,EACxB,MAAyB;IASzB,MAAM,MAAM,GAAgC,EAAE,CAAC;IAE/C,wCAAwC;IACxC,IAAI,KAAK,EAAE,MAAM,EAAE,aAAa,IAAI,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1E,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,8BAA8B;YACpC,KAAK,EAAE,sBAAsB;YAC7B,OAAO,EAAE,oGAAoG;SAC9G,CAAC,CAAC;IACL,CAAC;IAED,8DAA8D;IAC9D,IAAI,cAAkC,CAAC;IACvC,IAAI,KAAK,EAAE,MAAM,EAAE,QAAQ,KAAK,SAAS,IAAI,MAAM,EAAE,MAAM,EAAE,QAAQ,KAAK,SAAS,EAAE,CAAC;QACpF,IAAI,KAAK,EAAE,MAAM,EAAE,QAAQ,KAAK,SAAS,IAAI,MAAM,EAAE,MAAM,EAAE,QAAQ,KAAK,SAAS,EAAE,CAAC;YACpF,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC3E,CAAC;aAAM,CAAC;YACN,cAAc,GAAG,KAAK,EAAE,MAAM,EAAE,QAAQ,IAAI,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC;QACvE,CAAC;IACH,CAAC;IAED,yCAAyC;IACzC,MAAM,QAAQ,GAAG,uBAAuB,CACtC,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,EAC9F,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAClG,CAAC;IACF,KAAK,MAAM,GAAG,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;QAClC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;IAC1E,CAAC;IAED,sCAAsC;IACtC,MAAM,SAAS,GAAG,oBAAoB,CACpC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,EAC3D,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAC9D,CAAC;IACF,KAAK,MAAM,GAAG,IAAI,SAAS,CAAC,MAAM,EAAE,CAAC;QACnC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;IAC1E,CAAC;IAED,4CAA4C;IAC5C,MAAM,WAAW,GAAG,KAAK,CAAC,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC9D,MAAM,YAAY,GAAG,MAAM,CAAC,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAEjE,IAAI,QAAkC,CAAC;IAEvC,IAAI,CAAC,WAAW,IAAI,CAAC,YAAY,EAAE,CAAC;QAClC,QAAQ,GAAG,EAAE,GAAG,4BAA4B,EAAE,CAAC;IACjD,CAAC;SAAM,IAAI,CAAC,WAAW,IAAI,YAAY,EAAE,CAAC;QACxC,QAAQ,GAAG,EAAE,GAAG,YAAY,EAAE,CAAC;IACjC,CAAC;SAAM,IAAI,WAAW,IAAI,CAAC,YAAY,EAAE,CAAC;QACxC,QAAQ,GAAG;YACT,OAAO,EAAE,WAAW,CAAC,OAAO;YAC5B,QAAQ,EAAE,WAAW,CAAC,QAAQ;YAC9B,WAAW,EAAE,WAAW,CAAC,WAAW;YACpC,YAAY,EAAE,WAAW,CAAC,YAAY;YACtC,kBAAkB,EAAE,WAAW,CAAC,kBAAkB;SACnD,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,0BAA0B;QAC1B,MAAM,CAAC,GAAG,YAAa,CAAC;QACxB,QAAQ,GAAG;YACT,OAAO,EAAE,WAAY,CAAC,OAAO,IAAI,CAAC,CAAC,OAAO;YAC1C,QAAQ,EAAE,WAAY,CAAC,QAAQ,IAAI,CAAC,CAAC,QAAQ;YAC7C,WAAW,EAAE,WAAY,CAAC,WAAW,IAAI,CAAC,CAAC,WAAW;YACtD,YAAY,EAAE,WAAY,CAAC,YAAY,IAAI,CAAC,CAAC,YAAY;YACzD,kBAAkB,EAAE,WAAY,CAAC,kBAAkB,IAAI,CAAC,CAAC,kBAAkB;SAC5E,CAAC;IACJ,CAAC;IAED,OAAO;QACL,WAAW,EAAE,QAAQ;QACrB,eAAe,EAAE,QAAQ,CAAC,QAAQ;QAClC,YAAY,EAAE,SAAS,CAAC,QAAQ;QAChC,cAAc;QACd,MAAM;KACP,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CAAC,KAAuB;IAC7C,OAAO;QACL,OAAO,EAAE,aAAa,CAAC,KAAK,CAAC;QAC7B,QAAQ,EAAE,cAAc,CAAC,KAAK,CAAC;QAC/B,WAAW,EAAE,iBAAiB,CAAC,KAAK,CAAC;QACrC,YAAY,EAAE,kBAAkB,CAAC,KAAK,CAAC;QACvC,kBAAkB,EAAE,wBAAwB,CAAC,KAAK,CAAC;KACpD,CAAC;AACJ,CAAC;AAED,qEAAqE;AAErE;;;GAGG;AACH,MAAM,UAAU,aAAa,CAAC,KAAmB,EAAE,MAAoB;IACrE,IAAI,CAAC,KAAK,IAAI,CAAC,MAAM;QAAE,OAAO,EAAE,GAAG,cAAc,EAAE,CAAC;IACpD,IAAI,CAAC,KAAK,IAAI,MAAM;QAAE,OAAO,EAAE,GAAG,MAAM,EAAE,CAAC;IAC3C,IAAI,KAAK,IAAI,CAAC,MAAM,EAAE,CAAC;QACrB,OAAO;YACL,QAAQ,EAAE,KAAK,CAAC,QAAQ,IAAI,cAAc,CAAC,QAAQ;YACnD,SAAS,EAAE,KAAK,CAAC,SAAS,IAAI,cAAc,CAAC,SAAS;YACtD,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,cAAc,CAAC,OAAO;YAChD,SAAS,EAAE,KAAK,CAAC,SAAS,IAAI,cAAc,CAAC,SAAS;YACtD,WAAW,EAAE,KAAK,CAAC,WAAW,IAAI,cAAc,CAAC,WAAW;YAC5D,QAAQ,EAAE,KAAK,CAAC,QAAQ,IAAI,cAAc,CAAC,QAAQ;YACnD,cAAc,EAAE,KAAK,CAAC,cAAc,IAAI,cAAc,CAAC,cAAc;SACtE,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,GAAG,MAAO,CAAC;IAClB,OAAO;QACL,QAAQ,EAAE,QAAQ,CAAC,KAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,cAAc,CAAC,QAAQ,CAAC;QACxE,SAAS,EAAE,QAAQ,CAAC,KAAM,CAAC,SAAS,EAAE,CAAC,CAAC,SAAS,CAAC;QAClD,OAAO,EAAE,QAAQ,CAAC,KAAM,CAAC,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC;QAC5C,SAAS,EAAE,QAAQ,CAAC,KAAM,CAAC,SAAS,EAAE,CAAC,CAAC,SAAS,CAAC;QAClD,WAAW,EAAE,QAAQ,CAAC,KAAM,CAAC,WAAW,EAAE,CAAC,CAAC,WAAW,CAAC;QACxD,QAAQ,EAAE,QAAQ,CAAC,KAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC;QAC/C,cAAc,EAAE,QAAQ,CAAC,KAAM,CAAC,cAAc,EAAE,CAAC,CAAC,cAAc,CAAC;KAClE,CAAC;AACJ,CAAC;AAED,SAAS,QAAQ,CACf,QAA4B,EAC5B,SAA6B,EAC7B,UAAmB;IAEnB,MAAM,eAAe,GAAG,SAAS,IAAI,UAAU,CAAC;IAChD,IAAI,QAAQ,KAAK,SAAS;QAAE,OAAO,eAAe,CAAC;IACnD,IAAI,eAAe,KAAK,SAAS;QAAE,OAAO,QAAQ,CAAC;IACnD,OAAO,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;AAC7C,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"conversation-adapter.d.ts","sourceRoot":"","sources":["../../../source/services/conversation/conversation-adapter.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"conversation-adapter.d.ts","sourceRoot":"","sources":["../../../source/services/conversation/conversation-adapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -293,6 +293,7 @@ export class ConversationAdapter {
|
|
|
293
293
|
});
|
|
294
294
|
}
|
|
295
295
|
finally {
|
|
296
|
+
this.#subagentEventSinkHost?.cancelSubagentRuns?.();
|
|
296
297
|
this.#subagentEventSinkHost?.setSubagentEventSink(null);
|
|
297
298
|
}
|
|
298
299
|
if (result.type === 'response') {
|
|
@@ -363,6 +364,7 @@ export class ConversationAdapter {
|
|
|
363
364
|
});
|
|
364
365
|
}
|
|
365
366
|
finally {
|
|
367
|
+
this.#subagentEventSinkHost?.cancelSubagentRuns?.();
|
|
366
368
|
this.#subagentEventSinkHost?.setSubagentEventSink(null);
|
|
367
369
|
}
|
|
368
370
|
if (result && result.type === 'response') {
|