@qduc/term2 0.10.1 → 0.11.1
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 +18 -0
- package/dist/agent.d.ts.map +1 -1
- package/dist/agent.js +66 -24
- 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 +79 -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 +25 -3
- 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 +4 -4
- 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/conversation-ui-reducer.d.ts +5 -0
- package/dist/hooks/conversation-ui-reducer.d.ts.map +1 -1
- package/dist/hooks/conversation-ui-reducer.js +8 -0
- package/dist/hooks/conversation-ui-reducer.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 +24 -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 +5 -0
- package/dist/lib/agent-configuration.js.map +1 -1
- package/dist/lib/agent-factory.d.ts +18 -0
- package/dist/lib/agent-factory.d.ts.map +1 -1
- package/dist/lib/agent-factory.js +5 -0
- package/dist/lib/agent-factory.js.map +1 -1
- package/dist/lib/chained-input-filter.d.ts +20 -0
- package/dist/lib/chained-input-filter.d.ts.map +1 -1
- package/dist/lib/chained-input-filter.js +75 -0
- package/dist/lib/chained-input-filter.js.map +1 -1
- package/dist/lib/subagent-bridge.d.ts +57 -4
- package/dist/lib/subagent-bridge.d.ts.map +1 -1
- package/dist/lib/subagent-bridge.js +141 -8
- package/dist/lib/subagent-bridge.js.map +1 -1
- package/dist/prompts/anthropic.md +6 -55
- package/dist/prompts/async-subagent-delegation.d.ts +10 -0
- package/dist/prompts/async-subagent-delegation.d.ts.map +1 -0
- package/dist/prompts/async-subagent-delegation.js +50 -0
- package/dist/prompts/async-subagent-delegation.js.map +1 -0
- package/dist/prompts/async-subagent-delegation.ts +65 -0
- package/dist/prompts/gpt-5.6.md +49 -0
- package/dist/prompts/kimi.md +25 -63
- package/dist/prompts/orchestrator-prompt.test.ts +77 -0
- package/dist/prompts/orchestrator.md +30 -3
- package/dist/prompts/prompt-constructor.d.ts +2 -0
- package/dist/prompts/prompt-constructor.d.ts.map +1 -1
- package/dist/prompts/prompt-constructor.js +9 -1
- package/dist/prompts/prompt-constructor.js.map +1 -1
- package/dist/prompts/prompt-constructor.test.ts +72 -0
- package/dist/prompts/prompt-constructor.ts +15 -0
- package/dist/prompts/prompt-profiles.d.ts.map +1 -1
- package/dist/prompts/prompt-profiles.js +5 -0
- package/dist/prompts/prompt-profiles.js.map +1 -1
- package/dist/prompts/prompt-profiles.test.ts +20 -0
- package/dist/prompts/prompt-profiles.ts +5 -0
- package/dist/prompts/search-via-shell.d.ts.map +1 -1
- package/dist/prompts/search-via-shell.js +8 -25
- package/dist/prompts/search-via-shell.js.map +1 -1
- package/dist/prompts/search-via-shell.test.ts +18 -0
- package/dist/prompts/search-via-shell.ts +8 -25
- 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.test.ts +15 -0
- package/dist/prompts/subagent-delegation.ts +2 -1
- package/dist/prompts/subagents/researcher.md +6 -0
- package/dist/prompts/subagents/worker-prompt.test.ts +35 -0
- package/dist/prompts/subagents/worker.md +8 -0
- 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 +11 -3
- package/dist/services/conversation/conversation-adapter.d.ts.map +1 -1
- package/dist/services/conversation/conversation-adapter.js +125 -31
- package/dist/services/conversation/conversation-adapter.js.map +1 -1
- package/dist/services/conversation/conversation-events.d.ts +36 -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 +263 -32
- package/dist/services/conversation/conversation-orchestrator.js.map +1 -1
- package/dist/services/conversation/conversation-orchestrator.types.d.ts +2 -0
- package/dist/services/conversation/conversation-orchestrator.types.d.ts.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 +25 -0
- package/dist/services/conversation/conversation-service.d.ts.map +1 -1
- package/dist/services/conversation/conversation-service.js +44 -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 +10 -1
- 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-log-writer.d.ts +1 -0
- package/dist/services/logging/conversation-log-writer.d.ts.map +1 -1
- package/dist/services/logging/conversation-log-writer.js +1 -1
- package/dist/services/logging/conversation-log-writer.js.map +1 -1
- package/dist/services/logging/conversation-logger.d.ts.map +1 -1
- package/dist/services/logging/conversation-logger.js +11 -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/queue/queue-controller.d.ts +1 -0
- package/dist/services/queue/queue-controller.d.ts.map +1 -1
- package/dist/services/queue/queue-controller.js +7 -4
- package/dist/services/queue/queue-controller.js.map +1 -1
- package/dist/services/retry/retry-classifier.d.ts.map +1 -1
- package/dist/services/retry/retry-classifier.js +4 -2
- package/dist/services/retry/retry-classifier.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 +5 -2
- package/dist/services/subagents/execution-runner.d.ts.map +1 -1
- package/dist/services/subagents/execution-runner.js +125 -10
- 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 +60 -3
- 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 +32 -2
- package/dist/services/subagents/runtime.js.map +1 -1
- package/dist/services/subagents/subagent-async-registry.d.ts +67 -0
- package/dist/services/subagents/subagent-async-registry.d.ts.map +1 -0
- package/dist/services/subagents/subagent-async-registry.js +506 -0
- package/dist/services/subagents/subagent-async-registry.js.map +1 -0
- package/dist/services/subagents/subagent-manager.d.ts +31 -0
- package/dist/services/subagents/subagent-manager.d.ts.map +1 -1
- package/dist/services/subagents/subagent-manager.js +61 -1
- package/dist/services/subagents/subagent-manager.js.map +1 -1
- package/dist/services/subagents/subagent-notification-store.d.ts +107 -0
- package/dist/services/subagents/subagent-notification-store.d.ts.map +1 -0
- package/dist/services/subagents/subagent-notification-store.js +209 -0
- package/dist/services/subagents/subagent-notification-store.js.map +1 -0
- package/dist/services/subagents/subagent-run-control.d.ts +41 -0
- package/dist/services/subagents/subagent-run-control.d.ts.map +1 -0
- package/dist/services/subagents/subagent-run-control.js +166 -0
- package/dist/services/subagents/subagent-run-control.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/tool-policy.d.ts +24 -4
- package/dist/services/subagents/tool-policy.d.ts.map +1 -1
- package/dist/services/subagents/tool-policy.js +134 -14
- package/dist/services/subagents/tool-policy.js.map +1 -1
- package/dist/services/subagents/types.d.ts +104 -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/ask-orchestrator.d.ts +11 -0
- package/dist/tools/agent/ask-orchestrator.d.ts.map +1 -0
- package/dist/tools/agent/ask-orchestrator.js +39 -0
- package/dist/tools/agent/ask-orchestrator.js.map +1 -0
- package/dist/tools/agent/run-subagent-async.d.ts +67 -0
- package/dist/tools/agent/run-subagent-async.d.ts.map +1 -0
- package/dist/tools/agent/run-subagent-async.js +401 -0
- package/dist/tools/agent/run-subagent-async.js.map +1 -0
- package/dist/tools/file/code-context.d.ts +1 -0
- package/dist/tools/file/code-context.d.ts.map +1 -1
- package/dist/tools/file/code-context.js +4 -4
- package/dist/tools/file/code-context.js.map +1 -1
- package/dist/tools/file/grep.d.ts +1 -0
- package/dist/tools/file/grep.d.ts.map +1 -1
- package/dist/tools/file/grep.js +16 -10
- package/dist/tools/file/grep.js.map +1 -1
- 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 +7 -3
- 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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mentor-runner.d.ts","sourceRoot":"","sources":["../../../source/services/subagents/mentor-runner.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,eAAe,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAC1G,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"mentor-runner.d.ts","sourceRoot":"","sources":["../../../source/services/subagents/mentor-runner.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,eAAe,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAC1G,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAMxD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAC;AAEhF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AAE5E,qBAAa,YAAY;;IAOvB,YAAY,IAAI,EAAE;QAChB,MAAM,EAAE,eAAe,CAAC;QACxB,QAAQ,EAAE,gBAAgB,CAAC;QAC3B,qBAAqB,EAAE,sBAAsB,CAAC;QAC9C,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;QACpC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,IAAI,CAAC;QAC7C,OAAO,CAAC,EAAE,eAAe,CAAC;KAC3B,EAMA;IAED,KAAK,IAAI,IAAI,CAEZ;IAEK,GAAG,CACP,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,EACZ,MAAM,CAAC,EAAE,WAAW,EACpB,OAAO,CAAC,EAAE,eAAe,EACzB,eAAe,CAAC,EAAE,eAAe,GAChC,OAAO,CAAC,cAAc,CAAC,CA+CzB;IAEK,YAAY,CAChB,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,WAAW,GAAG,SAAS,EAC/B,OAAO,EAAE,eAAe,GACvB,OAAO,CAAC,cAAc,CAAC,CAEzB;CAiFF"}
|
|
@@ -5,8 +5,9 @@ import { SubagentSession } from './subagent-session.js';
|
|
|
5
5
|
import { loadRoleDefinition, resolvePrompt, PROMPTS_DIR } from './role-loader.js';
|
|
6
6
|
import { getEnvInfo, getAgentsInstructions } from '../../agent.js';
|
|
7
7
|
import { getProvider } from '../../providers/index.js';
|
|
8
|
-
import { runWithProvider, extractFinalText } from './utils.js';
|
|
8
|
+
import { runWithProvider, extractFinalText, isAbortLike } from './utils.js';
|
|
9
9
|
import { normalizeAgentRunUsage, extractUsage } from '../../utils/ai/token-usage.js';
|
|
10
|
+
import { AcquiredChildSlot } from '../agent-runtime/execution-budget.js';
|
|
10
11
|
export class MentorRunner {
|
|
11
12
|
#logger;
|
|
12
13
|
#settings;
|
|
@@ -18,12 +19,68 @@ export class MentorRunner {
|
|
|
18
19
|
this.#settings = deps.settings;
|
|
19
20
|
this.#sessionContextService = deps.sessionContextService;
|
|
20
21
|
this.#executionContext = deps.executionContext;
|
|
21
|
-
this.#mentorSession = new SubagentSession(randomUUID(), 'mentor');
|
|
22
|
+
this.#mentorSession = deps.session ?? new SubagentSession(randomUUID(), 'mentor');
|
|
22
23
|
}
|
|
23
24
|
reset() {
|
|
24
25
|
this.#mentorSession.reset();
|
|
25
26
|
}
|
|
26
|
-
async run(agentId, task, signal) {
|
|
27
|
+
async run(agentId, task, signal, session, executionBudget) {
|
|
28
|
+
let slot;
|
|
29
|
+
let childBudget = executionBudget;
|
|
30
|
+
if (executionBudget) {
|
|
31
|
+
childBudget = executionBudget.createChildBudget();
|
|
32
|
+
const acquired = executionBudget.tryAcquireChild();
|
|
33
|
+
if (!(acquired instanceof AcquiredChildSlot)) {
|
|
34
|
+
return {
|
|
35
|
+
agentId,
|
|
36
|
+
role: 'mentor',
|
|
37
|
+
status: 'failed',
|
|
38
|
+
finalText: '',
|
|
39
|
+
filesChanged: [],
|
|
40
|
+
toolsUsed: [],
|
|
41
|
+
error: `Budget exhausted: ${acquired.reason}${acquired.max !== undefined ? ` (${acquired.current}/${acquired.max})` : ''}`,
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
slot = acquired;
|
|
45
|
+
}
|
|
46
|
+
const previousSession = this.#mentorSession;
|
|
47
|
+
if (session)
|
|
48
|
+
this.#mentorSession = session;
|
|
49
|
+
try {
|
|
50
|
+
try {
|
|
51
|
+
const result = await this.#runWithSession(agentId, task, signal);
|
|
52
|
+
if (slot && result.usage)
|
|
53
|
+
childBudget.recordUsage(result.usage);
|
|
54
|
+
return result;
|
|
55
|
+
}
|
|
56
|
+
catch (error) {
|
|
57
|
+
if (!signal?.aborted && !isAbortLike(error?.message, error))
|
|
58
|
+
throw error;
|
|
59
|
+
const usage = normalizeAgentRunUsage(error?.state?.usage) ?? extractUsage(error);
|
|
60
|
+
if (slot && usage)
|
|
61
|
+
childBudget.recordUsage(usage);
|
|
62
|
+
return {
|
|
63
|
+
agentId,
|
|
64
|
+
role: 'mentor',
|
|
65
|
+
status: 'cancelled',
|
|
66
|
+
finalText: '',
|
|
67
|
+
filesChanged: [],
|
|
68
|
+
toolsUsed: [],
|
|
69
|
+
error: error?.message ?? 'The subagent run was aborted.',
|
|
70
|
+
...(usage ? { usage } : {}),
|
|
71
|
+
};
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
finally {
|
|
75
|
+
slot?.release();
|
|
76
|
+
if (session)
|
|
77
|
+
this.#mentorSession = previousSession;
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
async runInSession(agentId, task, signal, session) {
|
|
81
|
+
return this.run(agentId, task, signal, session, undefined);
|
|
82
|
+
}
|
|
83
|
+
async #runWithSession(agentId, task, signal) {
|
|
27
84
|
const definition = loadRoleDefinition('mentor', this.#settings);
|
|
28
85
|
const mentorModel = definition.model;
|
|
29
86
|
const mentorProvider = definition.provider;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mentor-runner.js","sourceRoot":"","sources":["../../../source/services/subagents/mentor-runner.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAIzC,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAClF,OAAO,EAAE,UAAU,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AACnE,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"mentor-runner.js","sourceRoot":"","sources":["../../../source/services/subagents/mentor-runner.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,6 +7,7 @@ import { NestedSubagentRunner } from './nested-runner.js';
|
|
|
7
7
|
import { ExecutionSubagentRunner } from './execution-runner.js';
|
|
8
8
|
import { MentorRunner } from './mentor-runner.js';
|
|
9
9
|
import type { SkillsService } from '../skills/skills-service.js';
|
|
10
|
+
import { SubagentAsyncRegistry } from './subagent-async-registry.js';
|
|
10
11
|
export interface SubagentRuntimeDeps {
|
|
11
12
|
logger: ILoggingService;
|
|
12
13
|
settings: ISettingsService;
|
|
@@ -23,6 +24,7 @@ export interface SubagentRuntime {
|
|
|
23
24
|
nestedRunner: NestedSubagentRunner;
|
|
24
25
|
executionRunner: ExecutionSubagentRunner;
|
|
25
26
|
mentorRunner: MentorRunner;
|
|
27
|
+
asyncRegistry: SubagentAsyncRegistry;
|
|
26
28
|
}
|
|
27
29
|
export declare function createSubagentRuntime(deps: SubagentRuntimeDeps): SubagentRuntime;
|
|
28
30
|
//# sourceMappingURL=runtime.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../../source/services/subagents/runtime.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAC1G,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAC;AAChF,OAAO,KAAK,EAAE,eAAe,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AAC1F,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAC3E,OAAO,EAAE,oBAAoB,EAAuB,MAAM,oBAAoB,CAAC;AAC/E,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../../source/services/subagents/runtime.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAC1G,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAC;AAChF,OAAO,KAAK,EAAE,eAAe,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AAC1F,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAC3E,OAAO,EAAE,oBAAoB,EAAuB,MAAM,oBAAoB,CAAC;AAC/E,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AACjE,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAIrE,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,eAAe,CAAC;IACxB,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,qBAAqB,EAAE,sBAAsB,CAAC;IAC9C,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,IAAI,CAAC;IAC7C,WAAW,CAAC,EAAE,eAAe,CAAC;IAC9B,YAAY,CAAC,EAAE,sBAAsB,CAAC,cAAc,CAAC,CAAC;IACtD,aAAa,CAAC,EAAE,aAAa,CAAC;CAC/B;AAED,MAAM,WAAW,eAAe;IAC9B,UAAU,EAAE,kBAAkB,CAAC;IAC/B,WAAW,EAAE,mBAAmB,CAAC;IACjC,YAAY,EAAE,oBAAoB,CAAC;IACnC,eAAe,EAAE,uBAAuB,CAAC;IACzC,YAAY,EAAE,YAAY,CAAC;IAC3B,aAAa,EAAE,qBAAqB,CAAC;CACtC;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,mBAAmB,GAAG,eAAe,CA+FhF"}
|
|
@@ -2,7 +2,20 @@ import { SubagentToolPolicy, SubagentToolFactory } from './tool-policy.js';
|
|
|
2
2
|
import { NestedSubagentRunner } from './nested-runner.js';
|
|
3
3
|
import { ExecutionSubagentRunner } from './execution-runner.js';
|
|
4
4
|
import { MentorRunner } from './mentor-runner.js';
|
|
5
|
+
import { SubagentAsyncRegistry } from './subagent-async-registry.js';
|
|
6
|
+
import { SubagentSession } from './subagent-session.js';
|
|
7
|
+
import { loadRoleDefinition } from './role-loader.js';
|
|
5
8
|
export function createSubagentRuntime(deps) {
|
|
9
|
+
// Peek (get_subagent_status): route subagent_tool_started events into the
|
|
10
|
+
// registry so it can capture live per-run progress. The registry is assigned
|
|
11
|
+
// after the runners below (its `run` callback references them), so the
|
|
12
|
+
// optional chaining keeps this safe until then. Events fire only during
|
|
13
|
+
// execution, which always happens after the registry is assigned.
|
|
14
|
+
let asyncRegistry;
|
|
15
|
+
const onEventWithPeek = (event) => {
|
|
16
|
+
deps.onEvent?.(event);
|
|
17
|
+
asyncRegistry?.handleSubagentEvent(event);
|
|
18
|
+
};
|
|
6
19
|
const toolPolicy = new SubagentToolPolicy({
|
|
7
20
|
settings: deps.settings,
|
|
8
21
|
logger: deps.logger,
|
|
@@ -24,7 +37,7 @@ export function createSubagentRuntime(deps) {
|
|
|
24
37
|
sessionContextService: deps.sessionContextService,
|
|
25
38
|
executionContext: deps.executionContext,
|
|
26
39
|
toolFactory,
|
|
27
|
-
onEvent:
|
|
40
|
+
onEvent: onEventWithPeek,
|
|
28
41
|
roleToolCache,
|
|
29
42
|
skillsService: deps.skillsService,
|
|
30
43
|
});
|
|
@@ -35,15 +48,31 @@ export function createSubagentRuntime(deps) {
|
|
|
35
48
|
executionContext: deps.executionContext,
|
|
36
49
|
createClient: deps.createClient,
|
|
37
50
|
toolFactory,
|
|
38
|
-
onEvent:
|
|
51
|
+
onEvent: onEventWithPeek,
|
|
39
52
|
skillsService: deps.skillsService,
|
|
40
53
|
});
|
|
54
|
+
const mentorSession = new SubagentSession('mentor', 'mentor');
|
|
41
55
|
const mentorRunner = new MentorRunner({
|
|
42
56
|
logger: deps.logger,
|
|
43
57
|
settings: deps.settings,
|
|
44
58
|
sessionContextService: deps.sessionContextService,
|
|
45
59
|
executionContext: deps.executionContext,
|
|
60
|
+
onEvent: onEventWithPeek,
|
|
61
|
+
session: mentorSession,
|
|
62
|
+
});
|
|
63
|
+
asyncRegistry = new SubagentAsyncRegistry({
|
|
64
|
+
logger: deps.logger,
|
|
65
|
+
run: async ({ request, runId, session, signal, input, control }) => {
|
|
66
|
+
if (request.role === 'mentor') {
|
|
67
|
+
return mentorRunner.run(runId, input, signal, session, request.executionBudget);
|
|
68
|
+
}
|
|
69
|
+
const definition = loadRoleDefinition(request.role, deps.settings);
|
|
70
|
+
return executionRunner.runInSession(runId, { ...request, signal }, { ...definition, ...(request.executionBudget ? { executionBudget: request.executionBudget } : {}) }, session, undefined, signal, undefined, control, input);
|
|
71
|
+
},
|
|
46
72
|
onEvent: deps.onEvent,
|
|
73
|
+
ttlMs: deps.settings.get('subagent.asyncSessionTtlMs') ?? 30 * 60 * 1000,
|
|
74
|
+
messageCap: deps.settings.get('subagent.asyncMessageCap') ?? 50,
|
|
75
|
+
sessionForRole: (role) => (role === 'mentor' ? mentorSession : undefined),
|
|
47
76
|
});
|
|
48
77
|
return {
|
|
49
78
|
toolPolicy,
|
|
@@ -51,6 +80,7 @@ export function createSubagentRuntime(deps) {
|
|
|
51
80
|
nestedRunner,
|
|
52
81
|
executionRunner,
|
|
53
82
|
mentorRunner,
|
|
83
|
+
asyncRegistry,
|
|
54
84
|
};
|
|
55
85
|
}
|
|
56
86
|
//# sourceMappingURL=runtime.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../../source/services/subagents/runtime.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAC3E,OAAO,EAAE,oBAAoB,EAAuB,MAAM,oBAAoB,CAAC;AAC/E,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../../source/services/subagents/runtime.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import type { ILoggingService } from '../service-interfaces.js';
|
|
2
|
+
import type { ConversationEvent } from '../conversation/conversation-events.js';
|
|
3
|
+
import type { SubagentRequest, SubagentResult, SubagentRunHandle, SubagentRunStatus, SubagentSegmentControl, SubagentCancelAcknowledgement, SubagentSteerAcknowledgement } from './types.js';
|
|
4
|
+
import { SubagentSession } from './subagent-session.js';
|
|
5
|
+
export declare const SUBAGENT_RUN_NAME_PATTERN: RegExp;
|
|
6
|
+
export type SubagentRegistryErrorCode = 'not_found' | 'role_mismatch' | 'not_continuable' | 'already_active' | 'worker_blocked' | 'evicted' | 'invalid_name' | 'name_in_use';
|
|
7
|
+
export declare class SubagentRegistryError extends Error {
|
|
8
|
+
readonly code: SubagentRegistryErrorCode;
|
|
9
|
+
constructor(code: SubagentRegistryErrorCode, message: string);
|
|
10
|
+
}
|
|
11
|
+
export interface SubagentAsyncRegistryDeps {
|
|
12
|
+
logger: ILoggingService;
|
|
13
|
+
run: (params: {
|
|
14
|
+
request: SubagentRequest;
|
|
15
|
+
runId: string;
|
|
16
|
+
session: SubagentSession;
|
|
17
|
+
signal: AbortSignal;
|
|
18
|
+
/** A fresh user-turn input for this segment, never SDK RunState reuse. */
|
|
19
|
+
input: string;
|
|
20
|
+
control: SubagentSegmentControl;
|
|
21
|
+
}) => Promise<SubagentResult>;
|
|
22
|
+
onEvent?: (event: ConversationEvent) => void;
|
|
23
|
+
now?: () => number;
|
|
24
|
+
ttlMs?: number;
|
|
25
|
+
messageCap?: number;
|
|
26
|
+
createRunId?: () => string;
|
|
27
|
+
sessionForRole?: (role: string) => SubagentSession | undefined;
|
|
28
|
+
setInterval?: (callback: () => void, delay: number) => ReturnType<typeof setInterval>;
|
|
29
|
+
clearInterval?: (timer: ReturnType<typeof setInterval>) => void;
|
|
30
|
+
}
|
|
31
|
+
/** Owns async subagent sessions, terminal records, continuation policy and retention. */
|
|
32
|
+
export declare class SubagentAsyncRegistry {
|
|
33
|
+
#private;
|
|
34
|
+
constructor(deps: SubagentAsyncRegistryDeps);
|
|
35
|
+
startRun(request: SubagentRequest, _legacyParentSignal?: AbortSignal): SubagentRunHandle;
|
|
36
|
+
hasActiveRunForRole(role: string): boolean;
|
|
37
|
+
/**
|
|
38
|
+
* Non-blocking progress snapshot for one run, or all non-evicted runs when
|
|
39
|
+
* `runId` is omitted. Never awaits a run promise and never carries
|
|
40
|
+
* completion detail — that stays on `get_subagent_result`.
|
|
41
|
+
*/
|
|
42
|
+
getRunStatus(runId?: string): SubagentRunStatus | SubagentRunStatus[];
|
|
43
|
+
/**
|
|
44
|
+
* Receive a conversation event and update the owning run's peek progress.
|
|
45
|
+
* No-op for events whose `agentId` is not a run this registry owns (sync /
|
|
46
|
+
* nested subagent events are ignored here). This is the only path by which
|
|
47
|
+
* the registry learns `subagent_tool_started` mid-run.
|
|
48
|
+
*/
|
|
49
|
+
handleSubagentEvent(event: ConversationEvent): void;
|
|
50
|
+
getResult(runId: string, signal?: AbortSignal): Promise<SubagentResult>;
|
|
51
|
+
abortRun(runId: string): void;
|
|
52
|
+
/**
|
|
53
|
+
* Non-blocking public cancellation addressed by canonical runId first, then
|
|
54
|
+
* its active name. `abortRun` remains the internal user-stop compatibility API.
|
|
55
|
+
*/
|
|
56
|
+
cancelRun(target: string): SubagentCancelAcknowledgement;
|
|
57
|
+
/**
|
|
58
|
+
* Queue bounded steering for an active execution run without awaiting its result.
|
|
59
|
+
* Canonical active run ids are resolved before active names.
|
|
60
|
+
*/
|
|
61
|
+
sendMessage(target: string, guidance: string, replyTo?: string): SubagentSteerAcknowledgement;
|
|
62
|
+
cancelAllRuns(): void;
|
|
63
|
+
reset(): void;
|
|
64
|
+
dispose(): void;
|
|
65
|
+
evictExpired(): void;
|
|
66
|
+
}
|
|
67
|
+
//# sourceMappingURL=subagent-async-registry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"subagent-async-registry.d.ts","sourceRoot":"","sources":["../../../source/services/subagents/subagent-async-registry.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAC;AAEhF,OAAO,KAAK,EAEV,eAAe,EACf,cAAc,EACd,iBAAiB,EACjB,iBAAiB,EACjB,sBAAsB,EACtB,6BAA6B,EAC7B,4BAA4B,EAE7B,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAGxD,eAAO,MAAM,yBAAyB,QAA4B,CAAC;AAWnE,MAAM,MAAM,yBAAyB,GACjC,WAAW,GACX,eAAe,GACf,iBAAiB,GACjB,gBAAgB,GAChB,gBAAgB,GAChB,SAAS,GACT,cAAc,GACd,aAAa,CAAC;AAElB,qBAAa,qBAAsB,SAAQ,KAAK;IAC9C,QAAQ,CAAC,IAAI,EAAE,yBAAyB,CAAC;IACzC,YAAY,IAAI,EAAE,yBAAyB,EAAE,OAAO,EAAE,MAAM,EAI3D;CACF;AAqCD,MAAM,WAAW,yBAAyB;IACxC,MAAM,EAAE,eAAe,CAAC;IACxB,GAAG,EAAE,CAAC,MAAM,EAAE;QACZ,OAAO,EAAE,eAAe,CAAC;QACzB,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,EAAE,eAAe,CAAC;QACzB,MAAM,EAAE,WAAW,CAAC;QACpB,0EAA0E;QAC1E,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,EAAE,sBAAsB,CAAC;KACjC,KAAK,OAAO,CAAC,cAAc,CAAC,CAAC;IAC9B,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,IAAI,CAAC;IAC7C,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,MAAM,CAAC;IAC3B,cAAc,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,eAAe,GAAG,SAAS,CAAC;IAC/D,WAAW,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,IAAI,EAAE,KAAK,EAAE,MAAM,KAAK,UAAU,CAAC,OAAO,WAAW,CAAC,CAAC;IACtF,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,CAAC,OAAO,WAAW,CAAC,KAAK,IAAI,CAAC;CACjE;AAED,yFAAyF;AACzF,qBAAa,qBAAqB;;IAkBhC,YAAY,IAAI,EAAE,yBAAyB,EAe1C;IAED,QAAQ,CAAC,OAAO,EAAE,eAAe,EAAE,mBAAmB,CAAC,EAAE,WAAW,GAAG,iBAAiB,CAgGvF;IAED,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEzC;IAED;;;;OAIG;IACH,YAAY,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,iBAAiB,GAAG,iBAAiB,EAAE,CAoBpE;IA+BD;;;;;OAKG;IACH,mBAAmB,CAAC,KAAK,EAAE,iBAAiB,GAAG,IAAI,CAiClD;IAED,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,cAAc,CAAC,CAatE;IAED,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAG5B;IAED;;;OAGG;IACH,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,6BAA6B,CAKvD;IAED;;;OAGG;IACH,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,4BAA4B,CA4B5F;IAED,aAAa,IAAI,IAAI,CAEpB;IAQD,KAAK,IAAI,IAAI,CAOZ;IAED,OAAO,IAAI,IAAI,CAKd;IAgBD,YAAY,IAAI,IAAI,CAEnB;CAqJF"}
|