@qduc/term2 0.29.1 → 0.30.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 +13 -0
- package/dist/agent.d.ts.map +1 -1
- package/dist/agent.js +73 -2
- package/dist/agent.js.map +1 -1
- package/dist/build-info.json +2 -2
- package/dist/cli.js +17 -0
- package/dist/cli.js.map +1 -1
- package/dist/components/message/SubagentActivityMessage.d.ts +2 -2
- package/dist/components/message/SubagentActivityMessage.d.ts.map +1 -1
- package/dist/components/message/SubagentActivityMessage.js +2 -13
- package/dist/components/message/SubagentActivityMessage.js.map +1 -1
- package/dist/components/message/command-message-helpers.d.ts +2 -2
- package/dist/components/message/command-message-helpers.d.ts.map +1 -1
- package/dist/core/index.d.ts +2 -3
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +1 -7
- package/dist/core/index.js.map +1 -1
- package/dist/core/session-runtime.d.ts +72 -0
- package/dist/core/session-runtime.d.ts.map +1 -1
- package/dist/gateway/contracts.d.ts +1 -1
- package/dist/gateway/contracts.d.ts.map +1 -1
- package/dist/gateway/gateway.d.ts +32 -0
- package/dist/gateway/gateway.d.ts.map +1 -1
- package/dist/gateway/gateway.js +36 -1
- package/dist/gateway/gateway.js.map +1 -1
- package/dist/gateway/persistence/contracts.d.ts +3 -10
- package/dist/gateway/persistence/contracts.d.ts.map +1 -1
- package/dist/gateway/persistence/contracts.js +2 -31
- package/dist/gateway/persistence/contracts.js.map +1 -1
- package/dist/gateway/runtime-factory.d.ts.map +1 -1
- package/dist/gateway/runtime-factory.js +4 -0
- package/dist/gateway/runtime-factory.js.map +1 -1
- package/dist/gateway/server-session.d.ts +3 -0
- package/dist/gateway/server-session.d.ts.map +1 -1
- package/dist/gateway/server-session.js +17 -20
- package/dist/gateway/server-session.js.map +1 -1
- package/dist/gateway/settings-rpc.d.ts +1 -1
- package/dist/gateway/settings-rpc.d.ts.map +1 -1
- package/dist/gateway/settings-rpc.js +4 -1
- package/dist/gateway/settings-rpc.js.map +1 -1
- package/dist/lib/agent-client.d.ts +8 -0
- package/dist/lib/agent-client.d.ts.map +1 -1
- package/dist/lib/agent-client.js +5 -1
- package/dist/lib/agent-client.js.map +1 -1
- package/dist/lib/agent-configuration.d.ts +9 -0
- package/dist/lib/agent-configuration.d.ts.map +1 -1
- package/dist/lib/agent-configuration.js +14 -0
- package/dist/lib/agent-configuration.js.map +1 -1
- package/dist/lib/agent-factory.d.ts +25 -4
- package/dist/lib/agent-factory.d.ts.map +1 -1
- package/dist/lib/agent-factory.js +6 -0
- package/dist/lib/agent-factory.js.map +1 -1
- package/dist/lib/subagent-bridge.d.ts +47 -5
- package/dist/lib/subagent-bridge.d.ts.map +1 -1
- package/dist/lib/subagent-bridge.js +112 -4
- package/dist/lib/subagent-bridge.js.map +1 -1
- package/dist/node_modules/@qduc/agent-wire/index.d.ts +73 -0
- package/dist/node_modules/@qduc/agent-wire/index.js +212 -0
- package/dist/node_modules/@qduc/agent-wire/package.json +1 -0
- package/dist/prompts/orchestrator-prompt.test.ts +9 -0
- package/dist/prompts/orchestrator.md +2 -0
- package/dist/prompts/subagent-delegation.d.ts.map +1 -1
- package/dist/prompts/subagent-delegation.js +3 -2
- package/dist/prompts/subagent-delegation.js.map +1 -1
- package/dist/prompts/subagent-delegation.test.ts +1 -0
- package/dist/prompts/subagent-delegation.ts +6 -2
- package/dist/providers/codex.provider.d.ts +3 -0
- package/dist/providers/codex.provider.d.ts.map +1 -1
- package/dist/providers/codex.provider.js +6 -4
- package/dist/providers/codex.provider.js.map +1 -1
- package/dist/providers/grok-auth.d.ts +3 -0
- package/dist/providers/grok-auth.d.ts.map +1 -1
- package/dist/providers/grok-auth.js +3 -1
- package/dist/providers/grok-auth.js.map +1 -1
- package/dist/providers/grok.provider.js +3 -3
- package/dist/providers/grok.provider.js.map +1 -1
- package/dist/providers/index.d.ts +1 -1
- package/dist/providers/index.d.ts.map +1 -1
- package/dist/providers/index.js +1 -1
- package/dist/providers/index.js.map +1 -1
- package/dist/providers/oauth-session-account.d.ts +16 -2
- package/dist/providers/oauth-session-account.d.ts.map +1 -1
- package/dist/providers/oauth-session-account.js +8 -17
- package/dist/providers/oauth-session-account.js.map +1 -1
- package/dist/providers/openai.provider.js +1 -1
- package/dist/providers/openai.provider.js.map +1 -1
- package/dist/providers/openrouter.provider.js +1 -1
- package/dist/providers/openrouter.provider.js.map +1 -1
- package/dist/providers/registry.d.ts +20 -1
- package/dist/providers/registry.d.ts.map +1 -1
- package/dist/providers/registry.js +33 -16
- package/dist/providers/registry.js.map +1 -1
- package/dist/providers/web-search/exa.provider.d.ts.map +1 -1
- package/dist/providers/web-search/exa.provider.js +6 -3
- package/dist/providers/web-search/exa.provider.js.map +1 -1
- package/dist/providers/web-search/firecrawl.provider.d.ts +8 -0
- package/dist/providers/web-search/firecrawl.provider.d.ts.map +1 -0
- package/dist/providers/web-search/firecrawl.provider.js +59 -0
- package/dist/providers/web-search/firecrawl.provider.js.map +1 -0
- package/dist/providers/web-search/index.d.ts +5 -2
- package/dist/providers/web-search/index.d.ts.map +1 -1
- package/dist/providers/web-search/index.js +3 -1
- package/dist/providers/web-search/index.js.map +1 -1
- package/dist/providers/web-search/registry.d.ts +14 -0
- package/dist/providers/web-search/registry.d.ts.map +1 -1
- package/dist/providers/web-search/registry.js +45 -15
- package/dist/providers/web-search/registry.js.map +1 -1
- package/dist/providers/web-search/searxng.provider.d.ts +8 -0
- package/dist/providers/web-search/searxng.provider.d.ts.map +1 -0
- package/dist/providers/web-search/searxng.provider.js +56 -0
- package/dist/providers/web-search/searxng.provider.js.map +1 -0
- package/dist/providers/web-search/tavily.provider.d.ts.map +1 -1
- package/dist/providers/web-search/tavily.provider.js +8 -3
- package/dist/providers/web-search/tavily.provider.js.map +1 -1
- package/dist/providers/web-search/types.d.ts +14 -1
- package/dist/providers/web-search/types.d.ts.map +1 -1
- package/dist/services/agent-runtime/agent-resolver.d.ts.map +1 -1
- package/dist/services/agent-runtime/agent-resolver.js +1 -0
- package/dist/services/agent-runtime/agent-resolver.js.map +1 -1
- package/dist/services/agent-runtime/agent-runtime.d.ts +6 -1
- package/dist/services/agent-runtime/agent-runtime.d.ts.map +1 -1
- package/dist/services/agent-runtime/agent-runtime.js +11 -2
- package/dist/services/agent-runtime/agent-runtime.js.map +1 -1
- package/dist/services/agent-runtime/agent-spec.d.ts +14 -0
- package/dist/services/agent-runtime/agent-spec.d.ts.map +1 -0
- package/dist/services/agent-runtime/agent-spec.js +49 -0
- package/dist/services/agent-runtime/agent-spec.js.map +1 -0
- package/dist/services/agent-runtime/index.d.ts +3 -1
- package/dist/services/agent-runtime/index.d.ts.map +1 -1
- package/dist/services/agent-runtime/index.js +2 -0
- package/dist/services/agent-runtime/index.js.map +1 -1
- package/dist/services/agent-runtime/legacy-adapter.d.ts.map +1 -1
- package/dist/services/agent-runtime/legacy-adapter.js +5 -1
- package/dist/services/agent-runtime/legacy-adapter.js.map +1 -1
- package/dist/services/agent-runtime/permission-boundary.d.ts +95 -0
- package/dist/services/agent-runtime/permission-boundary.d.ts.map +1 -0
- package/dist/services/agent-runtime/permission-boundary.js +538 -0
- package/dist/services/agent-runtime/permission-boundary.js.map +1 -0
- package/dist/services/agent-runtime/resolved-agent.d.ts +2 -0
- package/dist/services/agent-runtime/resolved-agent.d.ts.map +1 -1
- package/dist/services/agent-runtime/types.d.ts +22 -1
- package/dist/services/agent-runtime/types.d.ts.map +1 -1
- package/dist/services/approval/non-interactive-approval-policy.d.ts.map +1 -1
- package/dist/services/approval/non-interactive-approval-policy.js +10 -0
- package/dist/services/approval/non-interactive-approval-policy.js.map +1 -1
- package/dist/services/approval/shell-auto-approval-resolver.d.ts +2 -0
- package/dist/services/approval/shell-auto-approval-resolver.d.ts.map +1 -1
- package/dist/services/approval/shell-auto-approval-resolver.js +4 -2
- package/dist/services/approval/shell-auto-approval-resolver.js.map +1 -1
- package/dist/services/conversation/conversation-adapter-factory.d.ts +1 -1
- package/dist/services/conversation/conversation-adapter-factory.d.ts.map +1 -1
- package/dist/services/conversation/conversation-adapter.d.ts +1 -1
- package/dist/services/conversation/conversation-adapter.d.ts.map +1 -1
- package/dist/services/conversation/conversation-runtime-factory.d.ts +1 -1
- package/dist/services/conversation/conversation-runtime-factory.d.ts.map +1 -1
- package/dist/services/conversation/conversation-runtime-factory.js +1 -1
- package/dist/services/conversation/conversation-runtime-factory.js.map +1 -1
- package/dist/services/conversation/conversation-service.d.ts +4 -1
- package/dist/services/conversation/conversation-service.d.ts.map +1 -1
- package/dist/services/conversation/conversation-service.js +25 -0
- package/dist/services/conversation/conversation-service.js.map +1 -1
- package/dist/services/conversation/session-index/session-index-service.d.ts +1 -1
- package/dist/services/conversation/session-index/session-index-service.d.ts.map +1 -1
- package/dist/services/conversation/session-index/session-index-service.js +1 -1
- package/dist/services/conversation/session-index/session-index-service.js.map +1 -1
- package/dist/services/retry/provider-failure-classification.d.ts +2 -0
- package/dist/services/retry/provider-failure-classification.d.ts.map +1 -1
- package/dist/services/retry/provider-failure-classification.js +43 -0
- package/dist/services/retry/provider-failure-classification.js.map +1 -1
- package/dist/services/sandboxed-code-host/host-worker.d.ts.map +1 -1
- package/dist/services/sandboxed-code-host/host-worker.js +3 -1
- package/dist/services/sandboxed-code-host/host-worker.js.map +1 -1
- package/dist/services/session/session-composition.d.ts +3 -0
- package/dist/services/session/session-composition.d.ts.map +1 -1
- package/dist/services/session/session-composition.js +2 -1
- package/dist/services/session/session-composition.js.map +1 -1
- package/dist/services/session/session-input-planner.d.ts +2 -0
- package/dist/services/session/session-input-planner.d.ts.map +1 -1
- package/dist/services/session/session-input-planner.js +4 -6
- package/dist/services/session/session-input-planner.js.map +1 -1
- package/dist/services/settings/settings-env.d.ts.map +1 -1
- package/dist/services/settings/settings-env.js +9 -0
- package/dist/services/settings/settings-env.js.map +1 -1
- package/dist/services/settings/settings-schema.d.ts +24 -0
- package/dist/services/settings/settings-schema.d.ts.map +1 -1
- package/dist/services/settings/settings-schema.js +16 -0
- package/dist/services/settings/settings-schema.js.map +1 -1
- package/dist/services/settings/settings-sources.d.ts +2 -0
- package/dist/services/settings/settings-sources.d.ts.map +1 -1
- package/dist/services/settings/settings-sources.js +2 -0
- package/dist/services/settings/settings-sources.js.map +1 -1
- package/dist/services/settings/settings-ui-metadata.d.ts.map +1 -1
- package/dist/services/settings/settings-ui-metadata.js +4 -1
- package/dist/services/settings/settings-ui-metadata.js.map +1 -1
- package/dist/services/settings/test-helpers/settings-consumer-inventory.d.ts +1 -1
- package/dist/services/settings/test-helpers/settings-consumer-inventory.d.ts.map +1 -1
- package/dist/services/settings/test-helpers/settings-consumer-inventory.js +3 -0
- package/dist/services/settings/test-helpers/settings-consumer-inventory.js.map +1 -1
- package/dist/services/subagents/execution-runner.d.ts.map +1 -1
- package/dist/services/subagents/execution-runner.js +2 -1
- package/dist/services/subagents/execution-runner.js.map +1 -1
- package/dist/services/subagents/foreground-subagent-lease.d.ts +15 -0
- package/dist/services/subagents/foreground-subagent-lease.d.ts.map +1 -1
- package/dist/services/subagents/foreground-subagent-lease.js +42 -2
- package/dist/services/subagents/foreground-subagent-lease.js.map +1 -1
- package/dist/services/subagents/nested-runner.d.ts +1 -1
- package/dist/services/subagents/nested-runner.d.ts.map +1 -1
- package/dist/services/subagents/nested-runner.js +89 -22
- package/dist/services/subagents/nested-runner.js.map +1 -1
- package/dist/services/subagents/runtime.d.ts.map +1 -1
- package/dist/services/subagents/runtime.js +30 -4
- package/dist/services/subagents/runtime.js.map +1 -1
- package/dist/services/subagents/subagent-async-registry.d.ts +3 -0
- package/dist/services/subagents/subagent-async-registry.d.ts.map +1 -1
- package/dist/services/subagents/subagent-async-registry.js +53 -8
- package/dist/services/subagents/subagent-async-registry.js.map +1 -1
- package/dist/services/subagents/subagent-manager.d.ts.map +1 -1
- package/dist/services/subagents/subagent-manager.js +65 -3
- package/dist/services/subagents/subagent-manager.js.map +1 -1
- package/dist/services/subagents/subagent-role-pool-selector.d.ts +5 -1
- package/dist/services/subagents/subagent-role-pool-selector.d.ts.map +1 -1
- package/dist/services/subagents/subagent-role-pool-selector.js +24 -5
- package/dist/services/subagents/subagent-role-pool-selector.js.map +1 -1
- package/dist/services/subagents/tool-policy.d.ts +2 -2
- package/dist/services/subagents/tool-policy.d.ts.map +1 -1
- package/dist/services/subagents/tool-policy.js +8 -2
- package/dist/services/subagents/tool-policy.js.map +1 -1
- package/dist/services/subagents/types.d.ts +15 -2
- package/dist/services/subagents/types.d.ts.map +1 -1
- package/dist/services/subagents/types.js.map +1 -1
- package/dist/services/subagents/worker-worktree.d.ts +19 -1
- package/dist/services/subagents/worker-worktree.d.ts.map +1 -1
- package/dist/services/subagents/worker-worktree.js +128 -4
- package/dist/services/subagents/worker-worktree.js.map +1 -1
- package/dist/services/workspace/worktree-inventory.d.ts +6 -0
- package/dist/services/workspace/worktree-inventory.d.ts.map +1 -1
- package/dist/services/workspace/worktree-inventory.js +29 -1
- package/dist/services/workspace/worktree-inventory.js.map +1 -1
- package/dist/tools/agent/propose-goal.d.ts +17 -0
- package/dist/tools/agent/propose-goal.d.ts.map +1 -0
- package/dist/tools/agent/propose-goal.js +64 -0
- package/dist/tools/agent/propose-goal.js.map +1 -0
- package/dist/tools/agent/run-subagent-async.d.ts +61 -3
- package/dist/tools/agent/run-subagent-async.d.ts.map +1 -1
- package/dist/tools/agent/run-subagent-async.js +13 -4
- package/dist/tools/agent/run-subagent-async.js.map +1 -1
- package/dist/tools/agent/run-subagent.d.ts +73 -7
- package/dist/tools/agent/run-subagent.d.ts.map +1 -1
- package/dist/tools/agent/run-subagent.js +84 -22
- package/dist/tools/agent/run-subagent.js.map +1 -1
- package/dist/tools/system/run-code/index.d.ts +1 -1
- package/dist/tools/system/run-code/index.d.ts.map +1 -1
- package/dist/tools/system/run-code/index.js +1 -1
- package/dist/tools/system/run-code/index.js.map +1 -1
- package/dist/tools/system/run-code/run-code-agent-capability.d.ts +99 -0
- package/dist/tools/system/run-code/run-code-agent-capability.d.ts.map +1 -0
- package/dist/tools/system/run-code/run-code-agent-capability.js +384 -0
- package/dist/tools/system/run-code/run-code-agent-capability.js.map +1 -0
- package/dist/tools/system/run-code/run-code-runtime.d.ts +9 -0
- package/dist/tools/system/run-code/run-code-runtime.d.ts.map +1 -1
- package/dist/tools/system/run-code/run-code-runtime.js +54 -1
- package/dist/tools/system/run-code/run-code-runtime.js.map +1 -1
- package/dist/tools/system/run-code/run-code.d.ts +12 -1
- package/dist/tools/system/run-code/run-code.d.ts.map +1 -1
- package/dist/tools/system/run-code/run-code.js +48 -1
- package/dist/tools/system/run-code/run-code.js.map +1 -1
- package/dist/tools/tool-names.d.ts +1 -0
- package/dist/tools/tool-names.d.ts.map +1 -1
- package/dist/tools/tool-names.js +1 -0
- package/dist/tools/tool-names.js.map +1 -1
- package/dist/tools/web/web-search.d.ts +18 -0
- package/dist/tools/web/web-search.d.ts.map +1 -1
- package/dist/tools/web/web-search.js +29 -4
- package/dist/tools/web/web-search.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 +13 -0
- package/dist/types/message.js.map +1 -1
- package/dist/utils/conversation/conversation-event-handler.js +1 -1
- package/dist/utils/conversation/conversation-event-handler.js.map +1 -1
- package/dist/utils/value-suggestions.d.ts.map +1 -1
- package/dist/utils/value-suggestions.js +2 -0
- package/dist/utils/value-suggestions.js.map +1 -1
- package/package.json +4 -2
|
@@ -4,13 +4,17 @@ import type { ILoggingService, ISettingsService, ISessionContextService } from '
|
|
|
4
4
|
import type { ExecutionContext } from '../services/execution-context.js';
|
|
5
5
|
import type { NestedSubagentResult, SubagentCancelAcknowledgement, SubagentResult, SubagentRunStatus, SubagentSteerAcknowledgement } from '../services/subagents/types.js';
|
|
6
6
|
import type { AgentRuntime } from '../services/agent-runtime/agent-runtime.js';
|
|
7
|
+
import type { AgentSpec } from '../services/agent-runtime/types.js';
|
|
8
|
+
import type { AgentSpecBoundaryResult } from '../services/agent-runtime/permission-boundary.js';
|
|
9
|
+
import type { ResolvedAgentDefinition } from '../services/agent-runtime/resolved-agent.js';
|
|
7
10
|
import type { SkillsService } from '../services/skills/skills-service.js';
|
|
8
11
|
import type { SubagentRunHandle } from '../services/subagents/types.js';
|
|
9
12
|
import type { ToolOwnershipRegistry } from '../services/approval/tool-ownership-registry.js';
|
|
10
|
-
import type { BackgroundSubagentApprovalPauseSink } from '../services/subagents/foreground-subagent-lease.js';
|
|
13
|
+
import type { BackgroundSubagentApprovalPauseSink, ForegroundSubagentApprovalCallback } from '../services/subagents/foreground-subagent-lease.js';
|
|
11
14
|
import type { ForegroundSubagentCandidate } from '../services/subagents/nested-runner.js';
|
|
12
15
|
import type { NestedToolCompatibilityState } from '../services/session/nested-tool-compatibility-state.js';
|
|
13
16
|
import type { SessionBrowser } from '../services/conversation/session-browser.js';
|
|
17
|
+
import type { SubagentDefinition } from '../services/subagents/types.js';
|
|
14
18
|
export interface SubagentBridgeDeps {
|
|
15
19
|
logger: ILoggingService;
|
|
16
20
|
settings: ISettingsService;
|
|
@@ -38,6 +42,28 @@ export interface SubagentBridgeDeps {
|
|
|
38
42
|
/** Root session transcript browser, lent to the librarian subagent. */
|
|
39
43
|
sessionBrowser?: SessionBrowser;
|
|
40
44
|
}
|
|
45
|
+
/**
|
|
46
|
+
* Host-owned launch input for a resolved generic agent.
|
|
47
|
+
*
|
|
48
|
+
* This is intentionally separate from the raw `runSubagent` entry point. A
|
|
49
|
+
* caller must resolve and attenuate the AgentSpec before it can reach this
|
|
50
|
+
* seam; no VM-facing tool accepts this shape.
|
|
51
|
+
*/
|
|
52
|
+
export interface ResolvedSubagentLaunch {
|
|
53
|
+
/** A successful host boundary result, a new runtime definition, or a legacy
|
|
54
|
+
* manager-ready definition retained by compatibility callers. */
|
|
55
|
+
resolvedDefinition: AgentSpecBoundaryResult | ResolvedAgentDefinition | SubagentDefinition;
|
|
56
|
+
/** Boundary results carry their task in `spec.goal`; other definitions need
|
|
57
|
+
* an explicit task. */
|
|
58
|
+
task?: string;
|
|
59
|
+
/** A boundary result's validated worktree is used when this is omitted. */
|
|
60
|
+
worktree?: string;
|
|
61
|
+
authorizedWorktreePath?: string;
|
|
62
|
+
name?: string;
|
|
63
|
+
continue_run_id?: string;
|
|
64
|
+
/** Host-only approval owner for pauses in this awaited foreground child. */
|
|
65
|
+
foregroundChildApproval?: ForegroundSubagentApprovalCallback;
|
|
66
|
+
}
|
|
41
67
|
export declare class SubagentBridge {
|
|
42
68
|
#private;
|
|
43
69
|
constructor(deps: SubagentBridgeDeps);
|
|
@@ -93,14 +119,30 @@ export declare class SubagentBridge {
|
|
|
93
119
|
*/
|
|
94
120
|
cancelBackgroundRuns(): void;
|
|
95
121
|
createMentor: (question: string) => Promise<string>;
|
|
122
|
+
/**
|
|
123
|
+
* Run a host-resolved generic agent through the normal foreground tool
|
|
124
|
+
* lifecycle. The definition is deliberately handed to SubagentManager as
|
|
125
|
+
* `resolvedDefinition`; the manager therefore skips raw AgentSpec
|
|
126
|
+
* resolution while retaining nested approvals, the turn signal, worktree
|
|
127
|
+
* pinning, and traffic scoping.
|
|
128
|
+
*/
|
|
129
|
+
runResolvedSubagent: (params: ResolvedSubagentLaunch, _context?: unknown, details?: unknown) => Promise<NestedSubagentResult>;
|
|
130
|
+
/**
|
|
131
|
+
* Start a host-resolved generic agent in the conversation-scoped async
|
|
132
|
+
* registry. Unlike the foreground method, this uses `backgroundSignal`, so
|
|
133
|
+
* an ordinary turn abort cannot cancel the retained run.
|
|
134
|
+
*/
|
|
135
|
+
runResolvedSubagentAsync: (params: ResolvedSubagentLaunch) => Promise<SubagentRunHandle>;
|
|
96
136
|
runSubagent: (params: {
|
|
97
|
-
role
|
|
98
|
-
task
|
|
137
|
+
role?: string;
|
|
138
|
+
task?: string;
|
|
139
|
+
agent_spec?: AgentSpec;
|
|
99
140
|
worktree?: string;
|
|
100
141
|
}, _context?: unknown, details?: unknown) => Promise<NestedSubagentResult>;
|
|
101
142
|
runSubagentAsync: (params: {
|
|
102
|
-
role
|
|
103
|
-
task
|
|
143
|
+
role?: string;
|
|
144
|
+
task?: string;
|
|
145
|
+
agent_spec?: AgentSpec;
|
|
104
146
|
name?: string;
|
|
105
147
|
continue_run_id?: string;
|
|
106
148
|
worktree?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"subagent-bridge.d.ts","sourceRoot":"","sources":["../../source/lib/subagent-bridge.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,2CAA2C,CAAC;AAC5E,OAAO,KAAK,EAAqB,qBAAqB,EAAE,MAAM,iDAAiD,CAAC;AAChH,OAAO,KAAK,EAAE,eAAe,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,mCAAmC,CAAC;AACnH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACzE,OAAO,KAAK,EACV,oBAAoB,EACpB,6BAA6B,EAC7B,cAAc,EACd,iBAAiB,EACjB,4BAA4B,EAC7B,MAAM,gCAAgC,CAAC;AACxC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4CAA4C,CAAC;
|
|
1
|
+
{"version":3,"file":"subagent-bridge.d.ts","sourceRoot":"","sources":["../../source/lib/subagent-bridge.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,56 @@
|
|
|
1
1
|
import { randomUUID } from 'node:crypto';
|
|
2
2
|
import { SubagentManager } from '../services/subagents/subagent-manager.js';
|
|
3
|
+
import { adaptLegacyDefinition } from '../services/agent-runtime/legacy-adapter.js';
|
|
4
|
+
import { createRootBudget } from '../services/agent-runtime/execution-budget.js';
|
|
3
5
|
import { createAbortError } from '../services/subagents/utils.js';
|
|
6
|
+
function isBoundaryResult(value) {
|
|
7
|
+
return typeof value === 'object' && value !== null && 'ok' in value;
|
|
8
|
+
}
|
|
9
|
+
function toManagerDefinition(value) {
|
|
10
|
+
// A legacy definition is already the manager's immutable launch contract.
|
|
11
|
+
// Preserve its identity so host callers can verify that no second
|
|
12
|
+
// resolution or widening occurred in the bridge.
|
|
13
|
+
if (isLegacyDefinition(value))
|
|
14
|
+
return value;
|
|
15
|
+
const budget = createRootBudget({
|
|
16
|
+
maxChildren: value.limits.maxChildren,
|
|
17
|
+
maxDepth: value.limits.maxDepth,
|
|
18
|
+
maxConcurrency: value.limits.maxConcurrency,
|
|
19
|
+
maxTokens: value.limits.maxTokens,
|
|
20
|
+
});
|
|
21
|
+
return {
|
|
22
|
+
...adaptLegacyDefinition(value, budget),
|
|
23
|
+
isRootExecution: true,
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
function isLegacyDefinition(value) {
|
|
27
|
+
return typeof value.model === 'string';
|
|
28
|
+
}
|
|
29
|
+
function normalizeResolvedLaunch(params) {
|
|
30
|
+
let definitionInput = params.resolvedDefinition;
|
|
31
|
+
let task = params.task;
|
|
32
|
+
let worktree = params.worktree;
|
|
33
|
+
let authorizedWorktreePath = params.authorizedWorktreePath;
|
|
34
|
+
if (isBoundaryResult(definitionInput)) {
|
|
35
|
+
if (!definitionInput.ok) {
|
|
36
|
+
throw new Error(`Agent specification rejected: ${definitionInput.errors.map((error) => error.message).join('; ')}`);
|
|
37
|
+
}
|
|
38
|
+
const successfulResult = definitionInput;
|
|
39
|
+
definitionInput = successfulResult.definition;
|
|
40
|
+
task ??= successfulResult.spec.goal;
|
|
41
|
+
worktree ??= successfulResult.worktree;
|
|
42
|
+
authorizedWorktreePath ??= successfulResult.authorizedWorktreePath;
|
|
43
|
+
}
|
|
44
|
+
if (!task) {
|
|
45
|
+
throw new Error('Resolved subagent launches require a non-empty task.');
|
|
46
|
+
}
|
|
47
|
+
return {
|
|
48
|
+
definition: toManagerDefinition(definitionInput),
|
|
49
|
+
task,
|
|
50
|
+
...(worktree ? { worktree } : {}),
|
|
51
|
+
...(authorizedWorktreePath ? { authorizedWorktreePath } : {}),
|
|
52
|
+
};
|
|
53
|
+
}
|
|
4
54
|
export class SubagentBridge {
|
|
5
55
|
#subagentManager;
|
|
6
56
|
#isDisposed = false;
|
|
@@ -251,14 +301,71 @@ export class SubagentBridge {
|
|
|
251
301
|
endRun();
|
|
252
302
|
}
|
|
253
303
|
};
|
|
304
|
+
/**
|
|
305
|
+
* Run a host-resolved generic agent through the normal foreground tool
|
|
306
|
+
* lifecycle. The definition is deliberately handed to SubagentManager as
|
|
307
|
+
* `resolvedDefinition`; the manager therefore skips raw AgentSpec
|
|
308
|
+
* resolution while retaining nested approvals, the turn signal, worktree
|
|
309
|
+
* pinning, and traffic scoping.
|
|
310
|
+
*/
|
|
311
|
+
runResolvedSubagent = async (params, _context, details) => {
|
|
312
|
+
if (!this.#subagentManager) {
|
|
313
|
+
throw new Error('Transient agent clients cannot spawn subagents.');
|
|
314
|
+
}
|
|
315
|
+
const launch = normalizeResolvedLaunch(params);
|
|
316
|
+
const detailsRecord = details;
|
|
317
|
+
const request = {
|
|
318
|
+
role: 'agent',
|
|
319
|
+
task: launch.task,
|
|
320
|
+
resolvedDefinition: launch.definition,
|
|
321
|
+
...(launch.worktree ? { worktree: launch.worktree } : {}),
|
|
322
|
+
...(launch.authorizedWorktreePath ? { authorizedWorktreePath: launch.authorizedWorktreePath } : {}),
|
|
323
|
+
parentTool: 'run_subagent',
|
|
324
|
+
...(detailsRecord?.resumeState ? { resumeState: detailsRecord.resumeState } : {}),
|
|
325
|
+
signal: this.signal,
|
|
326
|
+
};
|
|
327
|
+
const endRun = this.#beginSubagentRun();
|
|
328
|
+
try {
|
|
329
|
+
return await this.#withSubagentTrafficContext(detailsRecord?.toolCall?.callId, () => this.#subagentManager.runAsTool(request, _context, params.foregroundChildApproval
|
|
330
|
+
? { ...detailsRecord, foregroundChildApproval: params.foregroundChildApproval }
|
|
331
|
+
: details));
|
|
332
|
+
}
|
|
333
|
+
finally {
|
|
334
|
+
endRun();
|
|
335
|
+
}
|
|
336
|
+
};
|
|
337
|
+
/**
|
|
338
|
+
* Start a host-resolved generic agent in the conversation-scoped async
|
|
339
|
+
* registry. Unlike the foreground method, this uses `backgroundSignal`, so
|
|
340
|
+
* an ordinary turn abort cannot cancel the retained run.
|
|
341
|
+
*/
|
|
342
|
+
runResolvedSubagentAsync = async (params) => {
|
|
343
|
+
if (!this.#subagentManager) {
|
|
344
|
+
throw new Error('Transient agent clients cannot spawn subagents.');
|
|
345
|
+
}
|
|
346
|
+
const launch = normalizeResolvedLaunch(params);
|
|
347
|
+
const request = {
|
|
348
|
+
role: 'agent',
|
|
349
|
+
task: launch.task,
|
|
350
|
+
resolvedDefinition: launch.definition,
|
|
351
|
+
...(params.name ? { name: params.name } : {}),
|
|
352
|
+
...(params.continue_run_id ? { continueRunId: params.continue_run_id } : {}),
|
|
353
|
+
...(launch.worktree ? { worktree: launch.worktree } : {}),
|
|
354
|
+
...(launch.authorizedWorktreePath ? { authorizedWorktreePath: launch.authorizedWorktreePath } : {}),
|
|
355
|
+
parentTool: 'run_subagent',
|
|
356
|
+
signal: this.backgroundSignal,
|
|
357
|
+
};
|
|
358
|
+
return this.#subagentManager.startRunAsync(request);
|
|
359
|
+
};
|
|
254
360
|
runSubagent = async (params, _context, details) => {
|
|
255
361
|
if (!this.#subagentManager) {
|
|
256
362
|
throw new Error('Transient agent clients cannot spawn subagents.');
|
|
257
363
|
}
|
|
258
364
|
const detailsRecord = details;
|
|
259
365
|
const request = {
|
|
260
|
-
role: params.role,
|
|
261
|
-
task: params.task,
|
|
366
|
+
role: params.agent_spec ? 'agent' : params.role,
|
|
367
|
+
task: params.agent_spec?.goal ?? params.task,
|
|
368
|
+
...(params.agent_spec ? { agentSpec: params.agent_spec } : {}),
|
|
262
369
|
...(params.worktree ? { worktree: params.worktree } : {}),
|
|
263
370
|
parentTool: 'run_subagent',
|
|
264
371
|
...(detailsRecord?.resumeState ? { resumeState: detailsRecord.resumeState } : {}),
|
|
@@ -277,8 +384,9 @@ export class SubagentBridge {
|
|
|
277
384
|
throw new Error('Transient agent clients cannot spawn subagents.');
|
|
278
385
|
}
|
|
279
386
|
const request = {
|
|
280
|
-
role: params.role,
|
|
281
|
-
task: params.task,
|
|
387
|
+
role: params.agent_spec ? 'agent' : params.role,
|
|
388
|
+
task: params.agent_spec?.goal ?? params.task,
|
|
389
|
+
...(params.agent_spec ? { agentSpec: params.agent_spec } : {}),
|
|
282
390
|
...(params.name ? { name: params.name } : {}),
|
|
283
391
|
...(params.continue_run_id ? { continueRunId: params.continue_run_id } : {}),
|
|
284
392
|
...(params.worktree ? { worktree: params.worktree } : {}),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"subagent-bridge.js","sourceRoot":"","sources":["../../source/lib/subagent-bridge.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"subagent-bridge.js","sourceRoot":"","sources":["../../source/lib/subagent-bridge.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
export declare const AGENT_EVENT_TYPES: readonly ['session_created', 'user_message_accepted', 'user_message_rejected', 'assistant_started', 'text_delta', 'reasoning_delta', 'tool_started', 'command_message', 'approval_required', 'interaction_updated', 'interaction_resolved', 'interaction_recovered', 'usage_update', 'retry', 'retry_exhausted', 'subagent_started', 'subagent_tool_started', 'subagent_text_turn', 'subagent_command_message', 'subagent_approval_required', 'subagent_completed', 'subagent_interrupted', 'subagent_question', 'context_compaction_started', 'context_compaction_completed', 'context_compaction_failed', 'turn_completed', 'turn_failed', 'turn_aborted'];
|
|
2
|
+
export type AgentEventType = (typeof AGENT_EVENT_TYPES)[number];
|
|
3
|
+
export declare const FROZEN_AGENT_EVENT_TYPES: readonly ["session_created", "user_message_accepted", "user_message_rejected", "assistant_started", "text_delta", "reasoning_delta", "tool_started", "command_message", "approval_required", "interaction_updated", "interaction_resolved", "interaction_recovered", "usage_update", "retry", "retry_exhausted", "subagent_started", "subagent_tool_started", "subagent_text_turn", "subagent_command_message", "subagent_approval_required", "subagent_completed", "subagent_interrupted", "subagent_question", "context_compaction_started", "context_compaction_completed", "context_compaction_failed", "turn_completed", "turn_failed", "turn_aborted"];
|
|
4
|
+
export type AgentEventEnvelope = {
|
|
5
|
+
readonly schemaVersion: 1;
|
|
6
|
+
readonly id: number;
|
|
7
|
+
readonly sessionId: string;
|
|
8
|
+
readonly type: AgentEventType;
|
|
9
|
+
readonly occurredAt: string;
|
|
10
|
+
readonly payload: Readonly<Record<string, unknown>>;
|
|
11
|
+
};
|
|
12
|
+
export declare class AgentWireError extends Error {
|
|
13
|
+
constructor(message?: string);
|
|
14
|
+
}
|
|
15
|
+
export declare function parseAgentEventEnvelope(value: unknown, expectedSessionId?: string): AgentEventEnvelope;
|
|
16
|
+
export declare const parseEventEnvelope: typeof parseAgentEventEnvelope;
|
|
17
|
+
export declare const InteractionProtocolError: typeof AgentWireError;
|
|
18
|
+
export type InteractionKind = 'tool_approval' | 'ask_user' | 'check_in';
|
|
19
|
+
export type InteractionVariant = 'ordinary_tool' | 'folder_read' | 'outside_workspace_edit' | 'denied_read' | 'docker_host_control' | 'sandbox_network_access' | 'post_execute' | 'max_turns' | 'run_budget' | 'ask_user';
|
|
20
|
+
export type SafeChoice = {
|
|
21
|
+
id: string;
|
|
22
|
+
label: string;
|
|
23
|
+
description?: string;
|
|
24
|
+
destructive?: boolean;
|
|
25
|
+
};
|
|
26
|
+
export type AskUserQuestionDto = {
|
|
27
|
+
index: number;
|
|
28
|
+
question: string;
|
|
29
|
+
options: Array<{
|
|
30
|
+
label: string;
|
|
31
|
+
description?: string;
|
|
32
|
+
}>;
|
|
33
|
+
multiSelect: boolean;
|
|
34
|
+
};
|
|
35
|
+
export type PendingInteractionDto = {
|
|
36
|
+
version: 1;
|
|
37
|
+
interactionId: string;
|
|
38
|
+
kind: InteractionKind;
|
|
39
|
+
variant: InteractionVariant;
|
|
40
|
+
descriptor: {
|
|
41
|
+
agentName: string;
|
|
42
|
+
toolName: string;
|
|
43
|
+
callId?: string;
|
|
44
|
+
argumentsText: string;
|
|
45
|
+
display?: {
|
|
46
|
+
command?: string;
|
|
47
|
+
target?: string;
|
|
48
|
+
scope?: string;
|
|
49
|
+
warning?: string;
|
|
50
|
+
};
|
|
51
|
+
llmAdvisory?: {
|
|
52
|
+
reasoning: string;
|
|
53
|
+
approved: boolean;
|
|
54
|
+
model: string;
|
|
55
|
+
riskLevel?: string;
|
|
56
|
+
};
|
|
57
|
+
checkIn?: 'max_turns' | 'run_budget';
|
|
58
|
+
deniedRead?: {
|
|
59
|
+
displayPath: string;
|
|
60
|
+
displayParent: string;
|
|
61
|
+
sensitive: boolean;
|
|
62
|
+
};
|
|
63
|
+
runBudgetEvidence?: Record<string, number>;
|
|
64
|
+
};
|
|
65
|
+
choices: SafeChoice[];
|
|
66
|
+
askUser?: {
|
|
67
|
+
questions: AskUserQuestionDto[];
|
|
68
|
+
answers: Array<string | string[]>;
|
|
69
|
+
currentQuestionIndex: number;
|
|
70
|
+
};
|
|
71
|
+
revision: number;
|
|
72
|
+
};
|
|
73
|
+
export declare function validatePendingInteractionDto(value: unknown): PendingInteractionDto;
|
|
@@ -0,0 +1,212 @@
|
|
|
1
|
+
export const AGENT_EVENT_TYPES = [
|
|
2
|
+
'session_created',
|
|
3
|
+
'user_message_accepted',
|
|
4
|
+
'user_message_rejected',
|
|
5
|
+
'assistant_started',
|
|
6
|
+
'text_delta',
|
|
7
|
+
'reasoning_delta',
|
|
8
|
+
'tool_started',
|
|
9
|
+
'command_message',
|
|
10
|
+
'approval_required',
|
|
11
|
+
'interaction_updated',
|
|
12
|
+
'interaction_resolved',
|
|
13
|
+
'interaction_recovered',
|
|
14
|
+
'usage_update',
|
|
15
|
+
'retry',
|
|
16
|
+
'retry_exhausted',
|
|
17
|
+
'subagent_started',
|
|
18
|
+
'subagent_tool_started',
|
|
19
|
+
'subagent_text_turn',
|
|
20
|
+
'subagent_command_message',
|
|
21
|
+
'subagent_approval_required',
|
|
22
|
+
'subagent_completed',
|
|
23
|
+
'subagent_interrupted',
|
|
24
|
+
'subagent_question',
|
|
25
|
+
'context_compaction_started',
|
|
26
|
+
'context_compaction_completed',
|
|
27
|
+
'context_compaction_failed',
|
|
28
|
+
'turn_completed',
|
|
29
|
+
'turn_failed',
|
|
30
|
+
'turn_aborted',
|
|
31
|
+
];
|
|
32
|
+
export const FROZEN_AGENT_EVENT_TYPES = AGENT_EVENT_TYPES;
|
|
33
|
+
export class AgentWireError extends Error {
|
|
34
|
+
constructor(message = 'invalid agent wire value') {
|
|
35
|
+
super(message);
|
|
36
|
+
this.name = 'AgentWireError';
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
const EVENT_SET = new Set(AGENT_EVENT_TYPES);
|
|
40
|
+
const ID = /^[A-Za-z0-9_-]{1,256}$/;
|
|
41
|
+
function object(value) {
|
|
42
|
+
if (!value || typeof value !== 'object' || Array.isArray(value))
|
|
43
|
+
throw new AgentWireError();
|
|
44
|
+
return value;
|
|
45
|
+
}
|
|
46
|
+
function text(value, max) {
|
|
47
|
+
if (typeof value !== 'string' || value.length > max || /[\u0000-\u001f\u007f]/.test(value))
|
|
48
|
+
throw new AgentWireError();
|
|
49
|
+
return value;
|
|
50
|
+
}
|
|
51
|
+
function keys(value, allowed, required = allowed) {
|
|
52
|
+
const present = new Set(Object.keys(value));
|
|
53
|
+
if (Object.keys(value).some((key) => !allowed.includes(key)) || required.some((key) => !present.has(key)))
|
|
54
|
+
throw new AgentWireError();
|
|
55
|
+
}
|
|
56
|
+
export function parseAgentEventEnvelope(value, expectedSessionId) {
|
|
57
|
+
const input = object(value);
|
|
58
|
+
keys(input, ['schemaVersion', 'id', 'sessionId', 'type', 'occurredAt', 'payload']);
|
|
59
|
+
if (input.schemaVersion !== 1 ||
|
|
60
|
+
typeof input.id !== 'number' ||
|
|
61
|
+
!Number.isSafeInteger(input.id) ||
|
|
62
|
+
input.id < 1 ||
|
|
63
|
+
typeof input.type !== 'string' ||
|
|
64
|
+
!EVENT_SET.has(input.type))
|
|
65
|
+
throw new AgentWireError('unsupported agent event');
|
|
66
|
+
const sessionId = text(input.sessionId, 256);
|
|
67
|
+
if (!ID.test(sessionId) || (expectedSessionId && sessionId !== expectedSessionId))
|
|
68
|
+
throw new AgentWireError('event identity mismatch');
|
|
69
|
+
return {
|
|
70
|
+
schemaVersion: 1,
|
|
71
|
+
id: input.id,
|
|
72
|
+
sessionId,
|
|
73
|
+
type: input.type,
|
|
74
|
+
occurredAt: text(input.occurredAt, 128),
|
|
75
|
+
payload: object(input.payload),
|
|
76
|
+
};
|
|
77
|
+
}
|
|
78
|
+
export const parseEventEnvelope = parseAgentEventEnvelope;
|
|
79
|
+
export const InteractionProtocolError = AgentWireError;
|
|
80
|
+
const VARIANTS = [
|
|
81
|
+
'ordinary_tool',
|
|
82
|
+
'folder_read',
|
|
83
|
+
'outside_workspace_edit',
|
|
84
|
+
'denied_read',
|
|
85
|
+
'docker_host_control',
|
|
86
|
+
'sandbox_network_access',
|
|
87
|
+
'post_execute',
|
|
88
|
+
'max_turns',
|
|
89
|
+
'run_budget',
|
|
90
|
+
'ask_user',
|
|
91
|
+
];
|
|
92
|
+
export function validatePendingInteractionDto(value) {
|
|
93
|
+
const dto = object(value);
|
|
94
|
+
keys(dto, ['version', 'interactionId', 'kind', 'variant', 'descriptor', 'choices', 'askUser', 'revision'], ['version', 'interactionId', 'kind', 'variant', 'descriptor', 'choices', 'revision']);
|
|
95
|
+
if (dto.version !== 1 ||
|
|
96
|
+
typeof dto.interactionId !== 'string' ||
|
|
97
|
+
!ID.test(dto.interactionId) ||
|
|
98
|
+
typeof dto.kind !== 'string' ||
|
|
99
|
+
!['tool_approval', 'ask_user', 'check_in'].includes(dto.kind) ||
|
|
100
|
+
typeof dto.variant !== 'string' ||
|
|
101
|
+
!VARIANTS.includes(dto.variant) ||
|
|
102
|
+
typeof dto.revision !== 'number' ||
|
|
103
|
+
!Number.isSafeInteger(dto.revision) ||
|
|
104
|
+
dto.revision < 1)
|
|
105
|
+
throw new AgentWireError();
|
|
106
|
+
if ((dto.kind === 'ask_user' && dto.variant !== 'ask_user') ||
|
|
107
|
+
(dto.kind === 'check_in' && !['max_turns', 'run_budget'].includes(dto.variant)) ||
|
|
108
|
+
(dto.kind === 'tool_approval' && ['ask_user', 'max_turns', 'run_budget'].includes(dto.variant)))
|
|
109
|
+
throw new AgentWireError();
|
|
110
|
+
const descriptor = object(dto.descriptor);
|
|
111
|
+
keys(descriptor, [
|
|
112
|
+
'agentName',
|
|
113
|
+
'toolName',
|
|
114
|
+
'callId',
|
|
115
|
+
'argumentsText',
|
|
116
|
+
'display',
|
|
117
|
+
'llmAdvisory',
|
|
118
|
+
'checkIn',
|
|
119
|
+
'deniedRead',
|
|
120
|
+
'runBudgetEvidence',
|
|
121
|
+
], ['agentName', 'toolName', 'argumentsText']);
|
|
122
|
+
text(descriptor.agentName, 256);
|
|
123
|
+
text(descriptor.toolName, 256);
|
|
124
|
+
text(descriptor.argumentsText, 8192);
|
|
125
|
+
if (descriptor.callId !== undefined && (typeof descriptor.callId !== 'string' || !ID.test(descriptor.callId)))
|
|
126
|
+
throw new AgentWireError();
|
|
127
|
+
if (descriptor.display !== undefined) {
|
|
128
|
+
const display = object(descriptor.display);
|
|
129
|
+
keys(display, ['command', 'target', 'scope', 'warning'], []);
|
|
130
|
+
for (const v of Object.values(display))
|
|
131
|
+
text(v, 2048);
|
|
132
|
+
}
|
|
133
|
+
if (descriptor.llmAdvisory !== undefined) {
|
|
134
|
+
const a = object(descriptor.llmAdvisory);
|
|
135
|
+
keys(a, ['reasoning', 'approved', 'model', 'riskLevel'], ['reasoning', 'approved', 'model']);
|
|
136
|
+
text(a.reasoning, 2048);
|
|
137
|
+
text(a.model, 256);
|
|
138
|
+
if (typeof a.approved !== 'boolean' || (a.riskLevel !== undefined && typeof a.riskLevel !== 'string'))
|
|
139
|
+
throw new AgentWireError();
|
|
140
|
+
}
|
|
141
|
+
if (descriptor.deniedRead !== undefined) {
|
|
142
|
+
const d = object(descriptor.deniedRead);
|
|
143
|
+
keys(d, ['displayPath', 'displayParent', 'sensitive']);
|
|
144
|
+
text(d.displayPath, 256);
|
|
145
|
+
text(d.displayParent, 256);
|
|
146
|
+
if (typeof d.sensitive !== 'boolean')
|
|
147
|
+
throw new AgentWireError();
|
|
148
|
+
}
|
|
149
|
+
if (descriptor.runBudgetEvidence !== undefined) {
|
|
150
|
+
const e = object(descriptor.runBudgetEvidence);
|
|
151
|
+
for (const v of Object.values(e))
|
|
152
|
+
if (typeof v !== 'number' || !Number.isFinite(v) || v < 0)
|
|
153
|
+
throw new AgentWireError();
|
|
154
|
+
}
|
|
155
|
+
if (!Array.isArray(dto.choices) || dto.choices.length === 0 || dto.choices.length > 32)
|
|
156
|
+
throw new AgentWireError();
|
|
157
|
+
for (const raw of dto.choices) {
|
|
158
|
+
const c = object(raw);
|
|
159
|
+
keys(c, ['id', 'label', 'description', 'destructive'], ['id', 'label']);
|
|
160
|
+
if (typeof c.id !== 'string' || !/^[A-Za-z0-9:_-]{1,128}$/.test(c.id))
|
|
161
|
+
throw new AgentWireError();
|
|
162
|
+
text(c.label, 2048);
|
|
163
|
+
if (c.description !== undefined)
|
|
164
|
+
text(c.description, 2048);
|
|
165
|
+
if (c.destructive !== undefined && typeof c.destructive !== 'boolean')
|
|
166
|
+
throw new AgentWireError();
|
|
167
|
+
}
|
|
168
|
+
if (dto.askUser !== undefined) {
|
|
169
|
+
if (dto.kind !== 'ask_user')
|
|
170
|
+
throw new AgentWireError();
|
|
171
|
+
const ask = object(dto.askUser);
|
|
172
|
+
keys(ask, ['questions', 'answers', 'currentQuestionIndex']);
|
|
173
|
+
if (!Array.isArray(ask.questions) ||
|
|
174
|
+
!Array.isArray(ask.answers) ||
|
|
175
|
+
ask.questions.length === 0 ||
|
|
176
|
+
ask.questions.length > 32)
|
|
177
|
+
throw new AgentWireError();
|
|
178
|
+
ask.questions.forEach((raw, index) => {
|
|
179
|
+
const q = object(raw);
|
|
180
|
+
keys(q, ['index', 'question', 'options', 'multiSelect']);
|
|
181
|
+
if (q.index !== index ||
|
|
182
|
+
typeof q.question !== 'string' ||
|
|
183
|
+
!Array.isArray(q.options) ||
|
|
184
|
+
typeof q.multiSelect !== 'boolean')
|
|
185
|
+
throw new AgentWireError();
|
|
186
|
+
text(q.question, 4096);
|
|
187
|
+
if (q.options.length > 32)
|
|
188
|
+
throw new AgentWireError();
|
|
189
|
+
q.options.forEach((rawOption) => {
|
|
190
|
+
const option = object(rawOption);
|
|
191
|
+
keys(option, ['label', 'description'], ['label']);
|
|
192
|
+
text(option.label, 512);
|
|
193
|
+
if (option.description !== undefined)
|
|
194
|
+
text(option.description, 2048);
|
|
195
|
+
});
|
|
196
|
+
});
|
|
197
|
+
ask.answers.forEach((answer) => {
|
|
198
|
+
if (typeof answer === 'string')
|
|
199
|
+
text(answer, 16384);
|
|
200
|
+
else if (Array.isArray(answer))
|
|
201
|
+
answer.forEach((item) => text(item, 512));
|
|
202
|
+
else
|
|
203
|
+
throw new AgentWireError();
|
|
204
|
+
});
|
|
205
|
+
if (typeof ask.currentQuestionIndex !== 'number' ||
|
|
206
|
+
!Number.isSafeInteger(ask.currentQuestionIndex) ||
|
|
207
|
+
ask.currentQuestionIndex < 0 ||
|
|
208
|
+
ask.currentQuestionIndex >= ask.questions.length)
|
|
209
|
+
throw new AgentWireError();
|
|
210
|
+
}
|
|
211
|
+
return dto;
|
|
212
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"name":"@qduc/agent-wire","type":"module","exports":"./index.js"}
|
|
@@ -14,6 +14,15 @@ it('orchestrator prompt does not encourage continued or direct work while delega
|
|
|
14
14
|
expect(orchestratorPrompt).not.toContain('Directly inspect, edit, run commands, and test small or clear work');
|
|
15
15
|
});
|
|
16
16
|
|
|
17
|
+
it('orchestrator prompt prefers the generic agent spec for diverse tasks and states its limits', () => {
|
|
18
|
+
expect(orchestratorPrompt).toContain('generic agent_spec interface');
|
|
19
|
+
expect(orchestratorPrompt).toContain('safe read-only workspace defaults');
|
|
20
|
+
expect(orchestratorPrompt).toContain('not yet supported by plan-mode interception');
|
|
21
|
+
expect(orchestratorPrompt).toContain('writable generic runs cannot be continued');
|
|
22
|
+
expect(orchestratorPrompt).toContain('agent.run({ spec, worktree? })');
|
|
23
|
+
expect(orchestratorPrompt).toContain('without one, interrupted children reject');
|
|
24
|
+
});
|
|
25
|
+
|
|
17
26
|
it('orchestrator prompt gives the orchestrator standing to overrule a subagent recommendation', () => {
|
|
18
27
|
const lower = orchestratorPrompt.toLowerCase();
|
|
19
28
|
|
|
@@ -6,6 +6,8 @@ Choose investigation, planning, delegation, implementation, review, and validati
|
|
|
6
6
|
|
|
7
7
|
Get the work done with the least delegation that fully and safely covers it. 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.
|
|
8
8
|
|
|
9
|
+
For diverse tasks, prefer the generic agent_spec interface: make the goal, context, constraints, completion condition, and required tool allowlist explicit. When `run_code` advertises its script-only `agent` capability, compose bounded agent executions with `agent.run({ spec, worktree? })` or start a background run with `agent.start({ spec, name? })`; status, result, and cancellation use `agent.status/result/cancel`. Omitted tools use safe read-only workspace defaults. A bound session approval owner presents child tool approval pauses through the same user surface; without one, interrupted children reject. Use named role presets when their specialized behavior or continuation contract is a better fit; generic invocations are not yet supported by plan-mode interception. A generic agent may have write access and use a worktree, but writable generic runs cannot be continued, and the script capability rejects `continue_run_id`.
|
|
10
|
+
|
|
9
11
|
Preserve orchestrator attention for investigation, decisions, review, and integration judgement by delegating bounded mechanical follow-through when it forms a clean execution unit. Routine formatting and validation, focused commits, merges, diff collection, and branch or worktree cleanup are appropriate worker tasks when they can proceed with explicit acceptance criteria. Do not delegate merely to avoid one trivial command when coordination costs more than direct execution, and take over a blocked mechanical operation rather than stalling the outcome.
|
|
10
12
|
|
|
11
13
|
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.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"subagent-delegation.d.ts","sourceRoot":"","sources":["../../source/prompts/subagent-delegation.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,wBAAgB,6BAA6B,CAAC,EAC5C,gBAAwB,EACxB,aAAoB,EACpB,eAAuB,EACvB,iBAAwB,EACxB,iBAAyB,EACzB,eAAuB,GACxB,GAAE;IACD,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,eAAe,CAAC,EAAE,OAAO,CAAC;CACtB,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"subagent-delegation.d.ts","sourceRoot":"","sources":["../../source/prompts/subagent-delegation.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,wBAAgB,6BAA6B,CAAC,EAC5C,gBAAwB,EACxB,aAAoB,EACpB,eAAuB,EACvB,iBAAwB,EACxB,iBAAyB,EACzB,eAAuB,GACxB,GAAE;IACD,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,eAAe,CAAC,EAAE,OAAO,CAAC;CACtB,GAAG,MAAM,CAsEd"}
|