@caupulican/pi-adaptative 0.86.3 → 0.86.6
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/CHANGELOG.md +44 -0
- package/dist/core/agent-paths.d.ts +13 -0
- package/dist/core/agent-paths.d.ts.map +1 -1
- package/dist/core/agent-paths.js +23 -0
- package/dist/core/agent-paths.js.map +1 -1
- package/dist/core/autonomy/bounded-completion.d.ts +7 -0
- package/dist/core/autonomy/bounded-completion.d.ts.map +1 -1
- package/dist/core/autonomy/bounded-completion.js +12 -4
- package/dist/core/autonomy/bounded-completion.js.map +1 -1
- package/dist/core/autonomy/lane-tool-surface.d.ts +2 -0
- package/dist/core/autonomy/lane-tool-surface.d.ts.map +1 -1
- package/dist/core/autonomy/lane-tool-surface.js +6 -3
- package/dist/core/autonomy/lane-tool-surface.js.map +1 -1
- package/dist/core/autonomy/subagent-prompt.js +1 -1
- package/dist/core/autonomy/subagent-prompt.js.map +1 -1
- package/dist/core/background-lane-controller.d.ts +25 -2
- package/dist/core/background-lane-controller.d.ts.map +1 -1
- package/dist/core/background-lane-controller.js +67 -0
- package/dist/core/background-lane-controller.js.map +1 -1
- package/dist/core/delegation/replay-safe-mailbox-bounds.d.ts +4 -0
- package/dist/core/delegation/replay-safe-mailbox-bounds.d.ts.map +1 -0
- package/dist/core/delegation/replay-safe-mailbox-bounds.js +20 -0
- package/dist/core/delegation/replay-safe-mailbox-bounds.js.map +1 -0
- package/dist/core/delegation/sanitized-context-fork.d.ts +25 -0
- package/dist/core/delegation/sanitized-context-fork.d.ts.map +1 -0
- package/dist/core/delegation/sanitized-context-fork.js +299 -0
- package/dist/core/delegation/sanitized-context-fork.js.map +1 -0
- package/dist/core/delegation/session-root-mailbox.d.ts +75 -0
- package/dist/core/delegation/session-root-mailbox.d.ts.map +1 -0
- package/dist/core/delegation/session-root-mailbox.js +627 -0
- package/dist/core/delegation/session-root-mailbox.js.map +1 -0
- package/dist/core/delegation/worker-agent-control-coordinator.d.ts +102 -9
- package/dist/core/delegation/worker-agent-control-coordinator.d.ts.map +1 -1
- package/dist/core/delegation/worker-agent-control-coordinator.js +1307 -125
- package/dist/core/delegation/worker-agent-control-coordinator.js.map +1 -1
- package/dist/core/delegation/worker-agent-control.d.ts +183 -8
- package/dist/core/delegation/worker-agent-control.d.ts.map +1 -1
- package/dist/core/delegation/worker-agent-control.js +778 -48
- package/dist/core/delegation/worker-agent-control.js.map +1 -1
- package/dist/core/delegation/worker-attempt-executor.d.ts +9 -0
- package/dist/core/delegation/worker-attempt-executor.d.ts.map +1 -1
- package/dist/core/delegation/worker-attempt-executor.js +479 -214
- package/dist/core/delegation/worker-attempt-executor.js.map +1 -1
- package/dist/core/delegation/worker-authority-resolver.d.ts +9 -0
- package/dist/core/delegation/worker-authority-resolver.d.ts.map +1 -1
- package/dist/core/delegation/worker-authority-resolver.js +21 -2
- package/dist/core/delegation/worker-authority-resolver.js.map +1 -1
- package/dist/core/delegation/worker-context-fork-store.d.ts +71 -0
- package/dist/core/delegation/worker-context-fork-store.d.ts.map +1 -0
- package/dist/core/delegation/worker-context-fork-store.js +437 -0
- package/dist/core/delegation/worker-context-fork-store.js.map +1 -0
- package/dist/core/delegation/worker-context-inheritance-policy.d.ts +18 -0
- package/dist/core/delegation/worker-context-inheritance-policy.d.ts.map +1 -0
- package/dist/core/delegation/worker-context-inheritance-policy.js +28 -0
- package/dist/core/delegation/worker-context-inheritance-policy.js.map +1 -0
- package/dist/core/delegation/worker-conversation-revision.d.ts +31 -0
- package/dist/core/delegation/worker-conversation-revision.d.ts.map +1 -0
- package/dist/core/delegation/worker-conversation-revision.js +203 -0
- package/dist/core/delegation/worker-conversation-revision.js.map +1 -0
- package/dist/core/delegation/worker-conversation-store.d.ts +130 -18
- package/dist/core/delegation/worker-conversation-store.d.ts.map +1 -1
- package/dist/core/delegation/worker-conversation-store.js +1263 -79
- package/dist/core/delegation/worker-conversation-store.js.map +1 -1
- package/dist/core/delegation/worker-delegation-controller.d.ts +30 -2
- package/dist/core/delegation/worker-delegation-controller.d.ts.map +1 -1
- package/dist/core/delegation/worker-delegation-controller.js +675 -111
- package/dist/core/delegation/worker-delegation-controller.js.map +1 -1
- package/dist/core/delegation/worker-delegation-request.d.ts +2 -0
- package/dist/core/delegation/worker-delegation-request.d.ts.map +1 -1
- package/dist/core/delegation/worker-delegation-request.js.map +1 -1
- package/dist/core/delegation/worker-dispatch-scheduler.d.ts +20 -1
- package/dist/core/delegation/worker-dispatch-scheduler.d.ts.map +1 -1
- package/dist/core/delegation/worker-dispatch-scheduler.js +210 -37
- package/dist/core/delegation/worker-dispatch-scheduler.js.map +1 -1
- package/dist/core/delegation/worker-execution-policy.d.ts.map +1 -1
- package/dist/core/delegation/worker-execution-policy.js +14 -2
- package/dist/core/delegation/worker-execution-policy.js.map +1 -1
- package/dist/core/delegation/worker-fleet-limits.d.ts +38 -0
- package/dist/core/delegation/worker-fleet-limits.d.ts.map +1 -0
- package/dist/core/delegation/worker-fleet-limits.js +113 -0
- package/dist/core/delegation/worker-fleet-limits.js.map +1 -0
- package/dist/core/delegation/worker-lane-projection.d.ts +1 -0
- package/dist/core/delegation/worker-lane-projection.d.ts.map +1 -1
- package/dist/core/delegation/worker-lane-projection.js +6 -2
- package/dist/core/delegation/worker-lane-projection.js.map +1 -1
- package/dist/core/delegation/worker-lifecycle.d.ts +20 -3
- package/dist/core/delegation/worker-lifecycle.d.ts.map +1 -1
- package/dist/core/delegation/worker-lifecycle.js +42 -18
- package/dist/core/delegation/worker-lifecycle.js.map +1 -1
- package/dist/core/delegation/worker-notification-coordinator.d.ts +4 -0
- package/dist/core/delegation/worker-notification-coordinator.d.ts.map +1 -1
- package/dist/core/delegation/worker-notification-coordinator.js +45 -4
- package/dist/core/delegation/worker-notification-coordinator.js.map +1 -1
- package/dist/core/delegation/worker-provider-turn-protocol.d.ts +50 -0
- package/dist/core/delegation/worker-provider-turn-protocol.d.ts.map +1 -0
- package/dist/core/delegation/worker-provider-turn-protocol.js +185 -0
- package/dist/core/delegation/worker-provider-turn-protocol.js.map +1 -0
- package/dist/core/delegation/worker-recovery-coordinator.d.ts +45 -4
- package/dist/core/delegation/worker-recovery-coordinator.d.ts.map +1 -1
- package/dist/core/delegation/worker-recovery-coordinator.js +223 -17
- package/dist/core/delegation/worker-recovery-coordinator.js.map +1 -1
- package/dist/core/delegation/worker-retry-policy.d.ts +36 -0
- package/dist/core/delegation/worker-retry-policy.d.ts.map +1 -0
- package/dist/core/delegation/worker-retry-policy.js +41 -0
- package/dist/core/delegation/worker-retry-policy.js.map +1 -0
- package/dist/core/delegation/worker-runner.d.ts +3 -1
- package/dist/core/delegation/worker-runner.d.ts.map +1 -1
- package/dist/core/delegation/worker-runner.js +4 -2
- package/dist/core/delegation/worker-runner.js.map +1 -1
- package/dist/core/delegation/worker-task-view.d.ts +43 -0
- package/dist/core/delegation/worker-task-view.d.ts.map +1 -0
- package/dist/core/delegation/worker-task-view.js +194 -0
- package/dist/core/delegation/worker-task-view.js.map +1 -0
- package/dist/core/delegation/worker-terminal-handoff-coordinator.d.ts +55 -0
- package/dist/core/delegation/worker-terminal-handoff-coordinator.d.ts.map +1 -0
- package/dist/core/delegation/worker-terminal-handoff-coordinator.js +179 -0
- package/dist/core/delegation/worker-terminal-handoff-coordinator.js.map +1 -0
- package/dist/core/delegation/worker-tree-budget-coordinator.d.ts +2 -2
- package/dist/core/delegation/worker-tree-budget-coordinator.d.ts.map +1 -1
- package/dist/core/delegation/worker-tree-budget-coordinator.js +12 -46
- package/dist/core/delegation/worker-tree-budget-coordinator.js.map +1 -1
- package/dist/core/goals/goal-continuation-controller.d.ts.map +1 -1
- package/dist/core/goals/goal-continuation-controller.js +15 -0
- package/dist/core/goals/goal-continuation-controller.js.map +1 -1
- package/dist/core/goals/goal-state.d.ts +6 -0
- package/dist/core/goals/goal-state.d.ts.map +1 -1
- package/dist/core/goals/goal-state.js +1 -0
- package/dist/core/goals/goal-state.js.map +1 -1
- package/dist/core/goals/goal-tool-core.d.ts +1 -0
- package/dist/core/goals/goal-tool-core.d.ts.map +1 -1
- package/dist/core/goals/goal-tool-core.js +25 -3
- package/dist/core/goals/goal-tool-core.js.map +1 -1
- package/dist/core/keybindings.d.ts +10 -0
- package/dist/core/keybindings.d.ts.map +1 -1
- package/dist/core/keybindings.js +2 -0
- package/dist/core/keybindings.js.map +1 -1
- package/dist/core/orchestration/attempt-ordering.d.ts +9 -0
- package/dist/core/orchestration/attempt-ordering.d.ts.map +1 -0
- package/dist/core/orchestration/attempt-ordering.js +29 -0
- package/dist/core/orchestration/attempt-ordering.js.map +1 -0
- package/dist/core/orchestration/capability-gateway.d.ts +19 -0
- package/dist/core/orchestration/capability-gateway.d.ts.map +1 -1
- package/dist/core/orchestration/capability-gateway.js +19 -2
- package/dist/core/orchestration/capability-gateway.js.map +1 -1
- package/dist/core/orchestration/contracts.d.ts +43 -3
- package/dist/core/orchestration/contracts.d.ts.map +1 -1
- package/dist/core/orchestration/contracts.js +24 -0
- package/dist/core/orchestration/contracts.js.map +1 -1
- package/dist/core/orchestration/delegation-ledger.d.ts +8 -3
- package/dist/core/orchestration/delegation-ledger.d.ts.map +1 -1
- package/dist/core/orchestration/delegation-ledger.js +148 -55
- package/dist/core/orchestration/delegation-ledger.js.map +1 -1
- package/dist/core/orchestration/event-store.d.ts +6 -3
- package/dist/core/orchestration/event-store.d.ts.map +1 -1
- package/dist/core/orchestration/event-store.js +228 -30
- package/dist/core/orchestration/event-store.js.map +1 -1
- package/dist/core/orchestration/task-runtime-codecs.d.ts +31 -0
- package/dist/core/orchestration/task-runtime-codecs.d.ts.map +1 -0
- package/dist/core/orchestration/task-runtime-codecs.js +1471 -0
- package/dist/core/orchestration/task-runtime-codecs.js.map +1 -0
- package/dist/core/orchestration/task-runtime-projection.d.ts +30 -0
- package/dist/core/orchestration/task-runtime-projection.d.ts.map +1 -0
- package/dist/core/orchestration/task-runtime-projection.js +340 -0
- package/dist/core/orchestration/task-runtime-projection.js.map +1 -0
- package/dist/core/orchestration/task-runtime-reducer.d.ts +38 -0
- package/dist/core/orchestration/task-runtime-reducer.d.ts.map +1 -0
- package/dist/core/orchestration/task-runtime-reducer.js +1270 -0
- package/dist/core/orchestration/task-runtime-reducer.js.map +1 -0
- package/dist/core/orchestration/task-runtime-state.d.ts +142 -0
- package/dist/core/orchestration/task-runtime-state.d.ts.map +1 -0
- package/dist/core/orchestration/task-runtime-state.js +14 -0
- package/dist/core/orchestration/task-runtime-state.js.map +1 -0
- package/dist/core/orchestration/task-runtime.d.ts +44 -98
- package/dist/core/orchestration/task-runtime.d.ts.map +1 -1
- package/dist/core/orchestration/task-runtime.js +357 -1113
- package/dist/core/orchestration/task-runtime.js.map +1 -1
- package/dist/core/orchestration/worker-context-fork-reference.d.ts +20 -0
- package/dist/core/orchestration/worker-context-fork-reference.d.ts.map +1 -0
- package/dist/core/orchestration/worker-context-fork-reference.js +53 -0
- package/dist/core/orchestration/worker-context-fork-reference.js.map +1 -0
- package/dist/core/orchestration/worker-execution-contract.d.ts.map +1 -1
- package/dist/core/orchestration/worker-execution-contract.js +4 -2
- package/dist/core/orchestration/worker-execution-contract.js.map +1 -1
- package/dist/core/research/research-runner.d.ts +2 -0
- package/dist/core/research/research-runner.d.ts.map +1 -1
- package/dist/core/research/research-runner.js +1 -0
- package/dist/core/research/research-runner.js.map +1 -1
- package/dist/core/runtime-builder.d.ts.map +1 -1
- package/dist/core/runtime-builder.js +8 -0
- package/dist/core/runtime-builder.js.map +1 -1
- package/dist/core/secrets/credential-project.d.ts.map +1 -1
- package/dist/core/secrets/credential-project.js +24 -2
- package/dist/core/secrets/credential-project.js.map +1 -1
- package/dist/core/security/secret-text.d.ts +3 -0
- package/dist/core/security/secret-text.d.ts.map +1 -1
- package/dist/core/security/secret-text.js +15 -0
- package/dist/core/security/secret-text.js.map +1 -1
- package/dist/core/settings-manager.d.ts +3 -0
- package/dist/core/settings-manager.d.ts.map +1 -1
- package/dist/core/settings-manager.js +160 -8
- package/dist/core/settings-manager.js.map +1 -1
- package/dist/core/tools/delegate.d.ts +33 -15
- package/dist/core/tools/delegate.d.ts.map +1 -1
- package/dist/core/tools/delegate.js +763 -115
- package/dist/core/tools/delegate.js.map +1 -1
- package/dist/core/tools/goal.d.ts +1 -0
- package/dist/core/tools/goal.d.ts.map +1 -1
- package/dist/core/tools/goal.js +9 -1
- package/dist/core/tools/goal.js.map +1 -1
- package/dist/main.d.ts.map +1 -1
- package/dist/main.js +1 -0
- package/dist/main.js.map +1 -1
- package/dist/modes/interactive/components/activity-lane.d.ts +5 -0
- package/dist/modes/interactive/components/activity-lane.d.ts.map +1 -1
- package/dist/modes/interactive/components/activity-lane.js +133 -49
- package/dist/modes/interactive/components/activity-lane.js.map +1 -1
- package/dist/modes/interactive/components/agents-overlay.d.ts +40 -0
- package/dist/modes/interactive/components/agents-overlay.d.ts.map +1 -0
- package/dist/modes/interactive/components/agents-overlay.js +153 -0
- package/dist/modes/interactive/components/agents-overlay.js.map +1 -0
- package/dist/modes/interactive/components/settings-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/settings-selector.js +18 -13
- package/dist/modes/interactive/components/settings-selector.js.map +1 -1
- package/dist/modes/interactive/interactive-event-controller.d.ts +1 -1
- package/dist/modes/interactive/interactive-event-controller.d.ts.map +1 -1
- package/dist/modes/interactive/interactive-event-controller.js +6 -3
- package/dist/modes/interactive/interactive-event-controller.js.map +1 -1
- package/dist/modes/interactive/interactive-mode.d.ts +5 -0
- package/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
- package/dist/modes/interactive/interactive-mode.js +51 -0
- package/dist/modes/interactive/interactive-mode.js.map +1 -1
- package/dist/modes/interactive/key-handlers.d.ts +1 -0
- package/dist/modes/interactive/key-handlers.d.ts.map +1 -1
- package/dist/modes/interactive/key-handlers.js +1 -0
- package/dist/modes/interactive/key-handlers.js.map +1 -1
- package/docs/harness-architecture.md +61 -17
- package/docs/settings.md +17 -9
- package/docs/worker-profiles.md +6 -2
- package/examples/extensions/custom-provider-anthropic/package-lock.json +2 -2
- package/examples/extensions/custom-provider-anthropic/package.json +1 -1
- package/examples/extensions/custom-provider-gitlab-duo/package.json +1 -1
- package/examples/extensions/sandbox/package-lock.json +2 -2
- package/examples/extensions/sandbox/package.json +1 -1
- package/examples/extensions/with-deps/package-lock.json +2 -2
- package/examples/extensions/with-deps/package.json +1 -1
- package/npm-shrinkwrap.json +12 -12
- package/package.json +4 -4
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
export declare const WORKER_CONTEXT_FORK_REFERENCE_SCHEMA_VERSION: 1;
|
|
2
|
+
/** Matches the maximum bounded transcript page exposed to worker context selection. */
|
|
3
|
+
export declare const MAX_WORKER_CONTEXT_FORK_MESSAGES = 64;
|
|
4
|
+
/** Reuses Pi's established hard ceiling for one model-visible bounded text projection. */
|
|
5
|
+
export declare const MAX_WORKER_CONTEXT_FORK_BYTES: number;
|
|
6
|
+
/** Aggregate ceiling shared by context selection and durable snapshot validation. */
|
|
7
|
+
export declare const MAX_WORKER_CONTEXT_FORK_TEXT_BLOCKS = 1024;
|
|
8
|
+
/** API transport identifiers are short protocol names, not model identifiers. */
|
|
9
|
+
export declare const MAX_WORKER_CONTEXT_FORK_API_LENGTH = 128;
|
|
10
|
+
/** Provider-neutral identity for one immutable, content-addressed worker birth snapshot. */
|
|
11
|
+
export interface WorkerContextForkReference {
|
|
12
|
+
schemaVersion: typeof WORKER_CONTEXT_FORK_REFERENCE_SCHEMA_VERSION;
|
|
13
|
+
identityDigest: string;
|
|
14
|
+
contentDigest: string;
|
|
15
|
+
messageCount: number;
|
|
16
|
+
messageBytes: number;
|
|
17
|
+
}
|
|
18
|
+
/** Sole shape, bounds, canonicalization, and detached-copy owner for durable fork references. */
|
|
19
|
+
export declare function normalizeWorkerContextForkReference(value: unknown): WorkerContextForkReference;
|
|
20
|
+
//# sourceMappingURL=worker-context-fork-reference.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"worker-context-fork-reference.d.ts","sourceRoot":"","sources":["../../../src/core/orchestration/worker-context-fork-reference.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,4CAA4C,EAAG,CAAU,CAAC;AACvE,uFAAuF;AACvF,eAAO,MAAM,gCAAgC,KAAK,CAAC;AACnD,0FAA0F;AAC1F,eAAO,MAAM,6BAA6B,QAAoB,CAAC;AAC/D,qFAAqF;AACrF,eAAO,MAAM,mCAAmC,OAAO,CAAC;AACxD,iFAAiF;AACjF,eAAO,MAAM,kCAAkC,MAAM,CAAC;AAEtD,4FAA4F;AAC5F,MAAM,WAAW,0BAA0B;IAC1C,aAAa,EAAE,OAAO,4CAA4C,CAAC;IACnE,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;CACrB;AAKD,iGAAiG;AACjG,wBAAgB,mCAAmC,CAAC,KAAK,EAAE,OAAO,GAAG,0BAA0B,CA4C9F"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { DEFAULT_MAX_BYTES } from "@caupulican/pi-agent-core/truncate";
|
|
2
|
+
import { isPlainRecord } from "../util/value-guards.js";
|
|
3
|
+
export const WORKER_CONTEXT_FORK_REFERENCE_SCHEMA_VERSION = 1;
|
|
4
|
+
/** Matches the maximum bounded transcript page exposed to worker context selection. */
|
|
5
|
+
export const MAX_WORKER_CONTEXT_FORK_MESSAGES = 64;
|
|
6
|
+
/** Reuses Pi's established hard ceiling for one model-visible bounded text projection. */
|
|
7
|
+
export const MAX_WORKER_CONTEXT_FORK_BYTES = DEFAULT_MAX_BYTES;
|
|
8
|
+
/** Aggregate ceiling shared by context selection and durable snapshot validation. */
|
|
9
|
+
export const MAX_WORKER_CONTEXT_FORK_TEXT_BLOCKS = 1024;
|
|
10
|
+
/** API transport identifiers are short protocol names, not model identifiers. */
|
|
11
|
+
export const MAX_WORKER_CONTEXT_FORK_API_LENGTH = 128;
|
|
12
|
+
const REFERENCE_FIELDS = ["schemaVersion", "identityDigest", "contentDigest", "messageCount", "messageBytes"];
|
|
13
|
+
const SHA256_PATTERN = /^[a-f0-9]{64}$/;
|
|
14
|
+
/** Sole shape, bounds, canonicalization, and detached-copy owner for durable fork references. */
|
|
15
|
+
export function normalizeWorkerContextForkReference(value) {
|
|
16
|
+
if (!isPlainRecord(value))
|
|
17
|
+
throw new TypeError("Worker context fork reference must be an object.");
|
|
18
|
+
const actualFields = Object.keys(value);
|
|
19
|
+
if (actualFields.length !== REFERENCE_FIELDS.length ||
|
|
20
|
+
REFERENCE_FIELDS.some((field) => !Object.hasOwn(value, field))) {
|
|
21
|
+
throw new TypeError("Worker context fork reference has an unsupported shape.");
|
|
22
|
+
}
|
|
23
|
+
if (value.schemaVersion !== WORKER_CONTEXT_FORK_REFERENCE_SCHEMA_VERSION) {
|
|
24
|
+
throw new TypeError("Worker context fork reference schema is unsupported.");
|
|
25
|
+
}
|
|
26
|
+
if (typeof value.identityDigest !== "string" ||
|
|
27
|
+
typeof value.contentDigest !== "string" ||
|
|
28
|
+
!SHA256_PATTERN.test(value.identityDigest) ||
|
|
29
|
+
!SHA256_PATTERN.test(value.contentDigest)) {
|
|
30
|
+
throw new TypeError("Worker context fork reference digests are invalid.");
|
|
31
|
+
}
|
|
32
|
+
if (typeof value.messageCount !== "number" ||
|
|
33
|
+
!Number.isSafeInteger(value.messageCount) ||
|
|
34
|
+
value.messageCount < 0 ||
|
|
35
|
+
value.messageCount > MAX_WORKER_CONTEXT_FORK_MESSAGES) {
|
|
36
|
+
throw new TypeError("Worker context fork reference message count is invalid.");
|
|
37
|
+
}
|
|
38
|
+
if (typeof value.messageBytes !== "number" ||
|
|
39
|
+
!Number.isSafeInteger(value.messageBytes) ||
|
|
40
|
+
value.messageBytes < 2 ||
|
|
41
|
+
value.messageBytes > MAX_WORKER_CONTEXT_FORK_BYTES ||
|
|
42
|
+
(value.messageCount > 0 && value.messageBytes === 2)) {
|
|
43
|
+
throw new TypeError("Worker context fork reference byte count is invalid.");
|
|
44
|
+
}
|
|
45
|
+
return {
|
|
46
|
+
schemaVersion: WORKER_CONTEXT_FORK_REFERENCE_SCHEMA_VERSION,
|
|
47
|
+
identityDigest: value.identityDigest,
|
|
48
|
+
contentDigest: value.contentDigest,
|
|
49
|
+
messageCount: value.messageCount,
|
|
50
|
+
messageBytes: value.messageBytes,
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
//# sourceMappingURL=worker-context-fork-reference.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"worker-context-fork-reference.js","sourceRoot":"","sources":["../../../src/core/orchestration/worker-context-fork-reference.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AACvE,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAExD,MAAM,CAAC,MAAM,4CAA4C,GAAG,CAAU,CAAC;AACvE,uFAAuF;AACvF,MAAM,CAAC,MAAM,gCAAgC,GAAG,EAAE,CAAC;AACnD,0FAA0F;AAC1F,MAAM,CAAC,MAAM,6BAA6B,GAAG,iBAAiB,CAAC;AAC/D,qFAAqF;AACrF,MAAM,CAAC,MAAM,mCAAmC,GAAG,IAAI,CAAC;AACxD,iFAAiF;AACjF,MAAM,CAAC,MAAM,kCAAkC,GAAG,GAAG,CAAC;AAWtD,MAAM,gBAAgB,GAAG,CAAC,eAAe,EAAE,gBAAgB,EAAE,eAAe,EAAE,cAAc,EAAE,cAAc,CAAU,CAAC;AACvH,MAAM,cAAc,GAAG,gBAAgB,CAAC;AAExC,iGAAiG;AACjG,MAAM,UAAU,mCAAmC,CAAC,KAAc;IACjE,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC;QAAE,MAAM,IAAI,SAAS,CAAC,kDAAkD,CAAC,CAAC;IACnG,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACxC,IACC,YAAY,CAAC,MAAM,KAAK,gBAAgB,CAAC,MAAM;QAC/C,gBAAgB,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,EAC7D,CAAC;QACF,MAAM,IAAI,SAAS,CAAC,yDAAyD,CAAC,CAAC;IAChF,CAAC;IACD,IAAI,KAAK,CAAC,aAAa,KAAK,4CAA4C,EAAE,CAAC;QAC1E,MAAM,IAAI,SAAS,CAAC,sDAAsD,CAAC,CAAC;IAC7E,CAAC;IACD,IACC,OAAO,KAAK,CAAC,cAAc,KAAK,QAAQ;QACxC,OAAO,KAAK,CAAC,aAAa,KAAK,QAAQ;QACvC,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC;QAC1C,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,EACxC,CAAC;QACF,MAAM,IAAI,SAAS,CAAC,oDAAoD,CAAC,CAAC;IAC3E,CAAC;IACD,IACC,OAAO,KAAK,CAAC,YAAY,KAAK,QAAQ;QACtC,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,YAAY,CAAC;QACzC,KAAK,CAAC,YAAY,GAAG,CAAC;QACtB,KAAK,CAAC,YAAY,GAAG,gCAAgC,EACpD,CAAC;QACF,MAAM,IAAI,SAAS,CAAC,yDAAyD,CAAC,CAAC;IAChF,CAAC;IACD,IACC,OAAO,KAAK,CAAC,YAAY,KAAK,QAAQ;QACtC,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,YAAY,CAAC;QACzC,KAAK,CAAC,YAAY,GAAG,CAAC;QACtB,KAAK,CAAC,YAAY,GAAG,6BAA6B;QAClD,CAAC,KAAK,CAAC,YAAY,GAAG,CAAC,IAAI,KAAK,CAAC,YAAY,KAAK,CAAC,CAAC,EACnD,CAAC;QACF,MAAM,IAAI,SAAS,CAAC,sDAAsD,CAAC,CAAC;IAC7E,CAAC;IACD,OAAO;QACN,aAAa,EAAE,4CAA4C;QAC3D,cAAc,EAAE,KAAK,CAAC,cAAc;QACpC,aAAa,EAAE,KAAK,CAAC,aAAa;QAClC,YAAY,EAAE,KAAK,CAAC,YAAY;QAChC,YAAY,EAAE,KAAK,CAAC,YAAY;KAChC,CAAC;AACH,CAAC","sourcesContent":["import { DEFAULT_MAX_BYTES } from \"@caupulican/pi-agent-core/truncate\";\nimport { isPlainRecord } from \"../util/value-guards.ts\";\n\nexport const WORKER_CONTEXT_FORK_REFERENCE_SCHEMA_VERSION = 1 as const;\n/** Matches the maximum bounded transcript page exposed to worker context selection. */\nexport const MAX_WORKER_CONTEXT_FORK_MESSAGES = 64;\n/** Reuses Pi's established hard ceiling for one model-visible bounded text projection. */\nexport const MAX_WORKER_CONTEXT_FORK_BYTES = DEFAULT_MAX_BYTES;\n/** Aggregate ceiling shared by context selection and durable snapshot validation. */\nexport const MAX_WORKER_CONTEXT_FORK_TEXT_BLOCKS = 1024;\n/** API transport identifiers are short protocol names, not model identifiers. */\nexport const MAX_WORKER_CONTEXT_FORK_API_LENGTH = 128;\n\n/** Provider-neutral identity for one immutable, content-addressed worker birth snapshot. */\nexport interface WorkerContextForkReference {\n\tschemaVersion: typeof WORKER_CONTEXT_FORK_REFERENCE_SCHEMA_VERSION;\n\tidentityDigest: string;\n\tcontentDigest: string;\n\tmessageCount: number;\n\tmessageBytes: number;\n}\n\nconst REFERENCE_FIELDS = [\"schemaVersion\", \"identityDigest\", \"contentDigest\", \"messageCount\", \"messageBytes\"] as const;\nconst SHA256_PATTERN = /^[a-f0-9]{64}$/;\n\n/** Sole shape, bounds, canonicalization, and detached-copy owner for durable fork references. */\nexport function normalizeWorkerContextForkReference(value: unknown): WorkerContextForkReference {\n\tif (!isPlainRecord(value)) throw new TypeError(\"Worker context fork reference must be an object.\");\n\tconst actualFields = Object.keys(value);\n\tif (\n\t\tactualFields.length !== REFERENCE_FIELDS.length ||\n\t\tREFERENCE_FIELDS.some((field) => !Object.hasOwn(value, field))\n\t) {\n\t\tthrow new TypeError(\"Worker context fork reference has an unsupported shape.\");\n\t}\n\tif (value.schemaVersion !== WORKER_CONTEXT_FORK_REFERENCE_SCHEMA_VERSION) {\n\t\tthrow new TypeError(\"Worker context fork reference schema is unsupported.\");\n\t}\n\tif (\n\t\ttypeof value.identityDigest !== \"string\" ||\n\t\ttypeof value.contentDigest !== \"string\" ||\n\t\t!SHA256_PATTERN.test(value.identityDigest) ||\n\t\t!SHA256_PATTERN.test(value.contentDigest)\n\t) {\n\t\tthrow new TypeError(\"Worker context fork reference digests are invalid.\");\n\t}\n\tif (\n\t\ttypeof value.messageCount !== \"number\" ||\n\t\t!Number.isSafeInteger(value.messageCount) ||\n\t\tvalue.messageCount < 0 ||\n\t\tvalue.messageCount > MAX_WORKER_CONTEXT_FORK_MESSAGES\n\t) {\n\t\tthrow new TypeError(\"Worker context fork reference message count is invalid.\");\n\t}\n\tif (\n\t\ttypeof value.messageBytes !== \"number\" ||\n\t\t!Number.isSafeInteger(value.messageBytes) ||\n\t\tvalue.messageBytes < 2 ||\n\t\tvalue.messageBytes > MAX_WORKER_CONTEXT_FORK_BYTES ||\n\t\t(value.messageCount > 0 && value.messageBytes === 2)\n\t) {\n\t\tthrow new TypeError(\"Worker context fork reference byte count is invalid.\");\n\t}\n\treturn {\n\t\tschemaVersion: WORKER_CONTEXT_FORK_REFERENCE_SCHEMA_VERSION,\n\t\tidentityDigest: value.identityDigest,\n\t\tcontentDigest: value.contentDigest,\n\t\tmessageCount: value.messageCount,\n\t\tmessageBytes: value.messageBytes,\n\t};\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worker-execution-contract.d.ts","sourceRoot":"","sources":["../../../src/core/orchestration/worker-execution-contract.ts"],"names":[],"mappings":"AAIA,OAAO,EAaN,KAAK,yBAAyB,EAC9B,KAAK,oBAAoB,EACzB,KAAK,eAAe,EAEpB,KAAK,gCAAgC,EACrC,KAAK,uBAAuB,EAE5B,MAAM,gBAAgB,CAAC;AAIxB,qBAAa,4BAA6B,SAAQ,KAAK;IACtD,YAAY,OAAO,EAAE,MAAM,EAG1B;CACD;
|
|
1
|
+
{"version":3,"file":"worker-execution-contract.d.ts","sourceRoot":"","sources":["../../../src/core/orchestration/worker-execution-contract.ts"],"names":[],"mappings":"AAIA,OAAO,EAaN,KAAK,yBAAyB,EAC9B,KAAK,oBAAoB,EACzB,KAAK,eAAe,EAEpB,KAAK,gCAAgC,EACrC,KAAK,uBAAuB,EAE5B,MAAM,gBAAgB,CAAC;AAIxB,qBAAa,4BAA6B,SAAQ,KAAK;IACtD,YAAY,OAAO,EAAE,MAAM,EAG1B;CACD;AAyMD,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,OAAO,GAAG,uBAAuB,CA2BpF;AAwBD,wBAAgB,6BAA6B,CAAC,IAAI,EAAE;IACnD,MAAM,EAAE;QACP,OAAO,EAAE,oBAAoB,CAAC;QAC9B,YAAY,EAAE,yBAAyB,CAAC;QACxC,SAAS,EAAE,gCAAgC,CAAC;QAC5C,gBAAgB,CAAC,EAAE,SAAS,eAAe,EAAE,CAAC;QAC9C,IAAI,CAAC,EAAE,MAAM,CAAC;KACd,CAAC;IACF,QAAQ,CAAC,EAAE;QACV,OAAO,EAAE,oBAAoB,CAAC;QAC9B,YAAY,EAAE,yBAAyB,CAAC;QACxC,SAAS,EAAE,gCAAgC,CAAC;QAC5C,gBAAgB,CAAC,EAAE,SAAS,eAAe,EAAE,CAAC;QAC9C,IAAI,CAAC,EAAE,MAAM,CAAC;KACd,CAAC;CACF,GAAG,uBAAuB,CAM1B;AAED,wBAAgB,+BAA+B,CAC9C,QAAQ,EAAE,uBAAuB,GAC/B,uBAAuB,GAAG,SAAS,CAIrC"}
|
|
@@ -92,11 +92,13 @@ function parseAuthority(value, profile, label) {
|
|
|
92
92
|
if (!capabilities.every(isHarnessCapability)) {
|
|
93
93
|
throw new WorkerExecutionContractError(`${label} authority contains an unknown capability.`);
|
|
94
94
|
}
|
|
95
|
-
if (capabilities.some((capability) => capability !== "workflow.delegate" &&
|
|
95
|
+
if (capabilities.some((capability) => capability !== "workflow.delegate" &&
|
|
96
|
+
capability !== "memory.query" &&
|
|
97
|
+
!profile.capabilityCeiling.includes(capability))) {
|
|
96
98
|
throw new WorkerExecutionContractError(`${label} authority exceeds its profile capability ceiling.`);
|
|
97
99
|
}
|
|
98
100
|
const toolNames = stringArray(value.toolNames, `${label} authority toolNames`);
|
|
99
|
-
if (toolNames.some((toolName) => toolName !== "delegate" && !profile.toolNames.includes(toolName))) {
|
|
101
|
+
if (toolNames.some((toolName) => toolName !== "delegate" && toolName !== "memory" && !profile.toolNames.includes(toolName))) {
|
|
100
102
|
throw new WorkerExecutionContractError(`${label} authority contains a tool outside its profile.`);
|
|
101
103
|
}
|
|
102
104
|
const pathArrayOptions = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worker-execution-contract.js","sourceRoot":"","sources":["../../../src/core/orchestration/worker-execution-contract.ts"],"names":[],"mappings":"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","sourcesContent":["import path from \"node:path\";\nimport { isDeepStrictEqual } from \"node:util\";\nimport { hasOnlyKeys, isPlainRecord } from \"../util/value-guards.ts\";\nimport { parseBoundedStringArray } from \"./bounded-string-array.ts\";\nimport {\n\tisHarnessCapability,\n\tisResourcePointerKind,\n\tMAX_ORCHESTRATION_MODEL_ID_LENGTH,\n\tMAX_ORCHESTRATION_MODEL_PROVIDER_LENGTH,\n\tMAX_WORKER_AUTHORITY_PATH_LENGTH,\n\tMAX_WORKER_AUTHORITY_PATHS,\n\tMAX_WORKER_RESOURCE_METADATA_NAME_LENGTH,\n\tMAX_WORKER_RESOURCE_PATH_LENGTH,\n\tMAX_WORKER_RESOURCE_POINTERS,\n\tMAX_WORKER_SOUL_LENGTH,\n\tORCHESTRATION_SCHEMA_VERSION,\n\tORCHESTRATION_THINKING_LEVELS,\n\ttype OrchestrationModelBinding,\n\ttype OrchestrationProfile,\n\ttype ResourcePointer,\n\ttype RiskBudget,\n\ttype WorkerExecutionAuthorityContract,\n\ttype WorkerExecutionContract,\n\ttype WorkerProfileExecutionContract,\n} from \"./contracts.ts\";\nimport { OrchestrationProfileError, parseOrchestrationProfile } from \"./profile-registry.ts\";\nimport { intersectRiskBudgets, parseRiskBudget } from \"./risk-budget.ts\";\n\nexport class WorkerExecutionContractError extends Error {\n\tconstructor(message: string) {\n\t\tsuper(message);\n\t\tthis.name = \"WorkerExecutionContractError\";\n\t}\n}\n\nfunction parseModelBinding(value: unknown, label: string): OrchestrationModelBinding {\n\tif (\n\t\t!isPlainRecord(value) ||\n\t\t!hasOnlyKeys(value, [\"provider\", \"modelId\", \"thinkingLevel\"]) ||\n\t\ttypeof value.provider !== \"string\" ||\n\t\tvalue.provider.length > MAX_ORCHESTRATION_MODEL_PROVIDER_LENGTH ||\n\t\t!value.provider.trim() ||\n\t\ttypeof value.modelId !== \"string\" ||\n\t\tvalue.modelId.length > MAX_ORCHESTRATION_MODEL_ID_LENGTH ||\n\t\t!value.modelId.trim() ||\n\t\ttypeof value.thinkingLevel !== \"string\" ||\n\t\t!ORCHESTRATION_THINKING_LEVELS.includes(value.thinkingLevel as (typeof ORCHESTRATION_THINKING_LEVELS)[number])\n\t) {\n\t\tthrow new WorkerExecutionContractError(`${label} model binding is invalid.`);\n\t}\n\treturn {\n\t\tprovider: value.provider,\n\t\tmodelId: value.modelId,\n\t\tthinkingLevel: value.thinkingLevel as (typeof ORCHESTRATION_THINKING_LEVELS)[number],\n\t};\n}\n\nfunction stringArray(\n\tvalue: unknown,\n\tlabel: string,\n\toptions: { maxEntries?: number; maxLength?: number } = {},\n): string[] {\n\treturn parseBoundedStringArray(value, {\n\t\t...options,\n\t\tinvalidMessage: `${label} must be an array of non-empty strings.`,\n\t\tduplicateMessage: `${label} contains duplicates.`,\n\t\tcreateError: (message) => new WorkerExecutionContractError(message),\n\t});\n}\n\nfunction parseResourcePointers(value: unknown, label: string): ResourcePointer[] {\n\tif (!Array.isArray(value) || value.length > MAX_WORKER_RESOURCE_POINTERS) {\n\t\tthrow new WorkerExecutionContractError(`${label} resource pointers are invalid.`);\n\t}\n\tconst ids = new Set<string>();\n\treturn value.map((candidate) => {\n\t\tif (\n\t\t\t!isPlainRecord(candidate) ||\n\t\t\t!hasOnlyKeys(candidate, [\"id\", \"kind\", \"uri\", \"readOnly\", \"digest\", \"metadata\"]) ||\n\t\t\ttypeof candidate.id !== \"string\" ||\n\t\t\t!/^(skill|prompt):[a-f0-9]{64}$/i.test(candidate.id) ||\n\t\t\ttypeof candidate.kind !== \"string\" ||\n\t\t\t!isResourcePointerKind(candidate.kind) ||\n\t\t\t(candidate.kind !== \"skill\" && candidate.kind !== \"prompt\") ||\n\t\t\t!candidate.id.startsWith(`${candidate.kind}:`) ||\n\t\t\ttypeof candidate.uri !== \"string\" ||\n\t\t\tcandidate.uri.length === 0 ||\n\t\t\tcandidate.uri.length > MAX_WORKER_RESOURCE_PATH_LENGTH + 16 ||\n\t\t\t!candidate.uri.startsWith(\"file:\") ||\n\t\t\tcandidate.readOnly !== true ||\n\t\t\t(candidate.digest !== undefined &&\n\t\t\t\t(typeof candidate.digest !== \"string\" || !/^[a-f0-9]{64}$/i.test(candidate.digest))) ||\n\t\t\t(candidate.metadata !== undefined &&\n\t\t\t\t(!isPlainRecord(candidate.metadata) ||\n\t\t\t\t\ttypeof candidate.metadata.name !== \"string\" ||\n\t\t\t\t\tcandidate.metadata.name.length === 0 ||\n\t\t\t\t\tcandidate.metadata.name.length > MAX_WORKER_RESOURCE_METADATA_NAME_LENGTH ||\n\t\t\t\t\t!hasOnlyKeys(candidate.metadata, [\"name\"])))\n\t\t) {\n\t\t\tthrow new WorkerExecutionContractError(`${label} resource pointer is invalid.`);\n\t\t}\n\t\tif (ids.has(candidate.id)) {\n\t\t\tthrow new WorkerExecutionContractError(`${label} resource pointers contain duplicates.`);\n\t\t}\n\t\tids.add(candidate.id);\n\t\treturn {\n\t\t\tid: candidate.id,\n\t\t\tkind: candidate.kind,\n\t\t\turi: candidate.uri,\n\t\t\treadOnly: true,\n\t\t\t...(typeof candidate.digest === \"string\" ? { digest: candidate.digest } : {}),\n\t\t\t...(isPlainRecord(candidate.metadata) && typeof candidate.metadata.name === \"string\"\n\t\t\t\t? { metadata: { name: candidate.metadata.name } }\n\t\t\t\t: {}),\n\t\t};\n\t});\n}\n\nfunction parseAuthority(\n\tvalue: unknown,\n\tprofile: OrchestrationProfile,\n\tlabel: string,\n): WorkerExecutionAuthorityContract {\n\tif (\n\t\t!isPlainRecord(value) ||\n\t\t!hasOnlyKeys(value, [\"capabilities\", \"toolNames\", \"readPaths\", \"writePaths\", \"deniedPaths\", \"budget\"])\n\t) {\n\t\tthrow new WorkerExecutionContractError(`${label} authority is invalid.`);\n\t}\n\tconst capabilities = stringArray(value.capabilities, `${label} authority capabilities`);\n\tif (!capabilities.every(isHarnessCapability)) {\n\t\tthrow new WorkerExecutionContractError(`${label} authority contains an unknown capability.`);\n\t}\n\tif (\n\t\tcapabilities.some(\n\t\t\t(capability) => capability !== \"workflow.delegate\" && !profile.capabilityCeiling.includes(capability),\n\t\t)\n\t) {\n\t\tthrow new WorkerExecutionContractError(`${label} authority exceeds its profile capability ceiling.`);\n\t}\n\tconst toolNames = stringArray(value.toolNames, `${label} authority toolNames`);\n\tif (toolNames.some((toolName) => toolName !== \"delegate\" && !profile.toolNames.includes(toolName))) {\n\t\tthrow new WorkerExecutionContractError(`${label} authority contains a tool outside its profile.`);\n\t}\n\tconst pathArrayOptions = {\n\t\tmaxEntries: MAX_WORKER_AUTHORITY_PATHS,\n\t\tmaxLength: MAX_WORKER_AUTHORITY_PATH_LENGTH,\n\t};\n\tconst readPaths = stringArray(value.readPaths, `${label} authority readPaths`, pathArrayOptions);\n\tconst writePaths = stringArray(value.writePaths, `${label} authority writePaths`, pathArrayOptions);\n\tconst deniedPaths = stringArray(value.deniedPaths, `${label} authority deniedPaths`, pathArrayOptions);\n\tif (\n\t\t[...readPaths, ...writePaths, ...deniedPaths].some(\n\t\t\t(entry) => !path.isAbsolute(entry) && !path.win32.isAbsolute(entry),\n\t\t)\n\t) {\n\t\tthrow new WorkerExecutionContractError(`${label} authority paths must be absolute.`);\n\t}\n\tlet budget: RiskBudget;\n\ttry {\n\t\tbudget = parseRiskBudget(value.budget, `${label} authority budget`);\n\t} catch (error) {\n\t\tthrow new WorkerExecutionContractError(error instanceof Error ? error.message : String(error));\n\t}\n\tif (!isDeepStrictEqual(intersectRiskBudgets(profile.budget, budget), budget)) {\n\t\tthrow new WorkerExecutionContractError(`${label} authority exceeds its profile budget.`);\n\t}\n\tconst readGranted = capabilities.some(\n\t\t(capability) => capability === \"filesystem.read\" || capability === \"worktree.read\",\n\t);\n\tconst writeGranted = capabilities.some(\n\t\t(capability) => capability === \"filesystem.write\" || capability === \"worktree.mutate\",\n\t);\n\tif (readGranted && readPaths.length === 0) {\n\t\tthrow new WorkerExecutionContractError(`${label} read authority lacks a positive path scope.`);\n\t}\n\tif (writeGranted && writePaths.length === 0) {\n\t\tthrow new WorkerExecutionContractError(`${label} write authority lacks a positive path scope.`);\n\t}\n\treturn {\n\t\tcapabilities: capabilities as WorkerExecutionAuthorityContract[\"capabilities\"],\n\t\ttoolNames,\n\t\treadPaths,\n\t\twritePaths,\n\t\tdeniedPaths,\n\t\tbudget,\n\t};\n}\n\nfunction parseProfileContract(value: unknown, label: string): WorkerProfileExecutionContract {\n\tif (\n\t\t!isPlainRecord(value) ||\n\t\t!hasOnlyKeys(value, [\"schemaVersion\", \"profile\", \"modelBinding\", \"authority\", \"resourcePointers\", \"soul\"]) ||\n\t\tvalue.schemaVersion !== ORCHESTRATION_SCHEMA_VERSION\n\t) {\n\t\tthrow new WorkerExecutionContractError(`${label} is invalid.`);\n\t}\n\tlet profile: OrchestrationProfile;\n\ttry {\n\t\tprofile = parseOrchestrationProfile(value.profile);\n\t} catch (error) {\n\t\tthrow new WorkerExecutionContractError(\n\t\t\terror instanceof OrchestrationProfileError ? error.message : `${label} profile is invalid.`,\n\t\t);\n\t}\n\tconst modelBinding = parseModelBinding(value.modelBinding, label);\n\tif (!profile.modelPolicy.candidates.some((candidate) => isDeepStrictEqual(candidate, modelBinding))) {\n\t\tthrow new WorkerExecutionContractError(`${label} model binding is not declared by its profile.`);\n\t}\n\tif (\n\t\tvalue.soul !== undefined &&\n\t\t(typeof value.soul !== \"string\" || value.soul.length > MAX_WORKER_SOUL_LENGTH || !value.soul.trim())\n\t) {\n\t\tthrow new WorkerExecutionContractError(`${label} soul is invalid.`);\n\t}\n\tconst authority = parseAuthority(value.authority, profile, label);\n\tconst resourcePointers = parseResourcePointers(value.resourcePointers ?? [], label);\n\treturn {\n\t\tschemaVersion: ORCHESTRATION_SCHEMA_VERSION,\n\t\tprofile,\n\t\tmodelBinding,\n\t\tauthority,\n\t\tresourcePointers,\n\t\t...(typeof value.soul === \"string\" ? { soul: value.soul } : {}),\n\t};\n}\n\nexport function parseWorkerExecutionContract(value: unknown): WorkerExecutionContract {\n\tif (\n\t\t!isPlainRecord(value) ||\n\t\t!hasOnlyKeys(value, [\"schemaVersion\", \"worker\", \"verifier\"]) ||\n\t\tvalue.schemaVersion !== ORCHESTRATION_SCHEMA_VERSION\n\t) {\n\t\tthrow new WorkerExecutionContractError(\"Worker execution contract is invalid.\");\n\t}\n\tconst worker = parseProfileContract(value.worker, \"Worker execution contract\");\n\tconst verifier = value.verifier\n\t\t? parseProfileContract(value.verifier, \"Worker verifier execution contract\")\n\t\t: undefined;\n\tif (worker.profile.requireIndependentVerification) {\n\t\tif (!verifier || worker.profile.verificationProfileId !== verifier.profile.profileId) {\n\t\t\tthrow new WorkerExecutionContractError(\"Worker execution contract is missing its owner-pinned verifier.\");\n\t\t}\n\t\tif (verifier.profile.role !== \"verifier\") {\n\t\t\tthrow new WorkerExecutionContractError(\"Worker verifier execution contract does not use a verifier profile.\");\n\t\t}\n\t} else if (verifier) {\n\t\tthrow new WorkerExecutionContractError(\"Worker execution contract has an unexpected verifier.\");\n\t}\n\treturn {\n\t\tschemaVersion: ORCHESTRATION_SCHEMA_VERSION,\n\t\tworker,\n\t\t...(verifier ? { verifier } : {}),\n\t};\n}\n\nfunction snapshotProfile(profile: OrchestrationProfile): OrchestrationProfile {\n\tconst { sourcePath: _sourcePath, ...persisted } = profile;\n\treturn structuredClone(persisted) as OrchestrationProfile;\n}\n\nfunction snapshotResolvedProfile(source: {\n\tprofile: OrchestrationProfile;\n\tmodelBinding: OrchestrationModelBinding;\n\tauthority: WorkerExecutionAuthorityContract;\n\tresourcePointers?: readonly ResourcePointer[];\n\tsoul?: string;\n}): WorkerProfileExecutionContract {\n\treturn {\n\t\tschemaVersion: ORCHESTRATION_SCHEMA_VERSION,\n\t\tprofile: snapshotProfile(source.profile),\n\t\tmodelBinding: structuredClone(source.modelBinding),\n\t\tauthority: structuredClone(source.authority),\n\t\tresourcePointers: structuredClone(source.resourcePointers ?? []),\n\t\t...(source.soul ? { soul: source.soul } : {}),\n\t};\n}\n\nexport function createWorkerExecutionContract(args: {\n\tworker: {\n\t\tprofile: OrchestrationProfile;\n\t\tmodelBinding: OrchestrationModelBinding;\n\t\tauthority: WorkerExecutionAuthorityContract;\n\t\tresourcePointers?: readonly ResourcePointer[];\n\t\tsoul?: string;\n\t};\n\tverifier?: {\n\t\tprofile: OrchestrationProfile;\n\t\tmodelBinding: OrchestrationModelBinding;\n\t\tauthority: WorkerExecutionAuthorityContract;\n\t\tresourcePointers?: readonly ResourcePointer[];\n\t\tsoul?: string;\n\t};\n}): WorkerExecutionContract {\n\treturn parseWorkerExecutionContract({\n\t\tschemaVersion: ORCHESTRATION_SCHEMA_VERSION,\n\t\tworker: snapshotResolvedProfile(args.worker),\n\t\t...(args.verifier ? { verifier: snapshotResolvedProfile(args.verifier) } : {}),\n\t});\n}\n\nexport function verifierWorkerExecutionContract(\n\tcontract: WorkerExecutionContract,\n): WorkerExecutionContract | undefined {\n\treturn contract.verifier\n\t\t? parseWorkerExecutionContract({ schemaVersion: ORCHESTRATION_SCHEMA_VERSION, worker: contract.verifier })\n\t\t: undefined;\n}\n"]}
|
|
1
|
+
{"version":3,"file":"worker-execution-contract.js","sourceRoot":"","sources":["../../../src/core/orchestration/worker-execution-contract.ts"],"names":[],"mappings":"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","sourcesContent":["import path from \"node:path\";\nimport { isDeepStrictEqual } from \"node:util\";\nimport { hasOnlyKeys, isPlainRecord } from \"../util/value-guards.ts\";\nimport { parseBoundedStringArray } from \"./bounded-string-array.ts\";\nimport {\n\tisHarnessCapability,\n\tisResourcePointerKind,\n\tMAX_ORCHESTRATION_MODEL_ID_LENGTH,\n\tMAX_ORCHESTRATION_MODEL_PROVIDER_LENGTH,\n\tMAX_WORKER_AUTHORITY_PATH_LENGTH,\n\tMAX_WORKER_AUTHORITY_PATHS,\n\tMAX_WORKER_RESOURCE_METADATA_NAME_LENGTH,\n\tMAX_WORKER_RESOURCE_PATH_LENGTH,\n\tMAX_WORKER_RESOURCE_POINTERS,\n\tMAX_WORKER_SOUL_LENGTH,\n\tORCHESTRATION_SCHEMA_VERSION,\n\tORCHESTRATION_THINKING_LEVELS,\n\ttype OrchestrationModelBinding,\n\ttype OrchestrationProfile,\n\ttype ResourcePointer,\n\ttype RiskBudget,\n\ttype WorkerExecutionAuthorityContract,\n\ttype WorkerExecutionContract,\n\ttype WorkerProfileExecutionContract,\n} from \"./contracts.ts\";\nimport { OrchestrationProfileError, parseOrchestrationProfile } from \"./profile-registry.ts\";\nimport { intersectRiskBudgets, parseRiskBudget } from \"./risk-budget.ts\";\n\nexport class WorkerExecutionContractError extends Error {\n\tconstructor(message: string) {\n\t\tsuper(message);\n\t\tthis.name = \"WorkerExecutionContractError\";\n\t}\n}\n\nfunction parseModelBinding(value: unknown, label: string): OrchestrationModelBinding {\n\tif (\n\t\t!isPlainRecord(value) ||\n\t\t!hasOnlyKeys(value, [\"provider\", \"modelId\", \"thinkingLevel\"]) ||\n\t\ttypeof value.provider !== \"string\" ||\n\t\tvalue.provider.length > MAX_ORCHESTRATION_MODEL_PROVIDER_LENGTH ||\n\t\t!value.provider.trim() ||\n\t\ttypeof value.modelId !== \"string\" ||\n\t\tvalue.modelId.length > MAX_ORCHESTRATION_MODEL_ID_LENGTH ||\n\t\t!value.modelId.trim() ||\n\t\ttypeof value.thinkingLevel !== \"string\" ||\n\t\t!ORCHESTRATION_THINKING_LEVELS.includes(value.thinkingLevel as (typeof ORCHESTRATION_THINKING_LEVELS)[number])\n\t) {\n\t\tthrow new WorkerExecutionContractError(`${label} model binding is invalid.`);\n\t}\n\treturn {\n\t\tprovider: value.provider,\n\t\tmodelId: value.modelId,\n\t\tthinkingLevel: value.thinkingLevel as (typeof ORCHESTRATION_THINKING_LEVELS)[number],\n\t};\n}\n\nfunction stringArray(\n\tvalue: unknown,\n\tlabel: string,\n\toptions: { maxEntries?: number; maxLength?: number } = {},\n): string[] {\n\treturn parseBoundedStringArray(value, {\n\t\t...options,\n\t\tinvalidMessage: `${label} must be an array of non-empty strings.`,\n\t\tduplicateMessage: `${label} contains duplicates.`,\n\t\tcreateError: (message) => new WorkerExecutionContractError(message),\n\t});\n}\n\nfunction parseResourcePointers(value: unknown, label: string): ResourcePointer[] {\n\tif (!Array.isArray(value) || value.length > MAX_WORKER_RESOURCE_POINTERS) {\n\t\tthrow new WorkerExecutionContractError(`${label} resource pointers are invalid.`);\n\t}\n\tconst ids = new Set<string>();\n\treturn value.map((candidate) => {\n\t\tif (\n\t\t\t!isPlainRecord(candidate) ||\n\t\t\t!hasOnlyKeys(candidate, [\"id\", \"kind\", \"uri\", \"readOnly\", \"digest\", \"metadata\"]) ||\n\t\t\ttypeof candidate.id !== \"string\" ||\n\t\t\t!/^(skill|prompt):[a-f0-9]{64}$/i.test(candidate.id) ||\n\t\t\ttypeof candidate.kind !== \"string\" ||\n\t\t\t!isResourcePointerKind(candidate.kind) ||\n\t\t\t(candidate.kind !== \"skill\" && candidate.kind !== \"prompt\") ||\n\t\t\t!candidate.id.startsWith(`${candidate.kind}:`) ||\n\t\t\ttypeof candidate.uri !== \"string\" ||\n\t\t\tcandidate.uri.length === 0 ||\n\t\t\tcandidate.uri.length > MAX_WORKER_RESOURCE_PATH_LENGTH + 16 ||\n\t\t\t!candidate.uri.startsWith(\"file:\") ||\n\t\t\tcandidate.readOnly !== true ||\n\t\t\t(candidate.digest !== undefined &&\n\t\t\t\t(typeof candidate.digest !== \"string\" || !/^[a-f0-9]{64}$/i.test(candidate.digest))) ||\n\t\t\t(candidate.metadata !== undefined &&\n\t\t\t\t(!isPlainRecord(candidate.metadata) ||\n\t\t\t\t\ttypeof candidate.metadata.name !== \"string\" ||\n\t\t\t\t\tcandidate.metadata.name.length === 0 ||\n\t\t\t\t\tcandidate.metadata.name.length > MAX_WORKER_RESOURCE_METADATA_NAME_LENGTH ||\n\t\t\t\t\t!hasOnlyKeys(candidate.metadata, [\"name\"])))\n\t\t) {\n\t\t\tthrow new WorkerExecutionContractError(`${label} resource pointer is invalid.`);\n\t\t}\n\t\tif (ids.has(candidate.id)) {\n\t\t\tthrow new WorkerExecutionContractError(`${label} resource pointers contain duplicates.`);\n\t\t}\n\t\tids.add(candidate.id);\n\t\treturn {\n\t\t\tid: candidate.id,\n\t\t\tkind: candidate.kind,\n\t\t\turi: candidate.uri,\n\t\t\treadOnly: true,\n\t\t\t...(typeof candidate.digest === \"string\" ? { digest: candidate.digest } : {}),\n\t\t\t...(isPlainRecord(candidate.metadata) && typeof candidate.metadata.name === \"string\"\n\t\t\t\t? { metadata: { name: candidate.metadata.name } }\n\t\t\t\t: {}),\n\t\t};\n\t});\n}\n\nfunction parseAuthority(\n\tvalue: unknown,\n\tprofile: OrchestrationProfile,\n\tlabel: string,\n): WorkerExecutionAuthorityContract {\n\tif (\n\t\t!isPlainRecord(value) ||\n\t\t!hasOnlyKeys(value, [\"capabilities\", \"toolNames\", \"readPaths\", \"writePaths\", \"deniedPaths\", \"budget\"])\n\t) {\n\t\tthrow new WorkerExecutionContractError(`${label} authority is invalid.`);\n\t}\n\tconst capabilities = stringArray(value.capabilities, `${label} authority capabilities`);\n\tif (!capabilities.every(isHarnessCapability)) {\n\t\tthrow new WorkerExecutionContractError(`${label} authority contains an unknown capability.`);\n\t}\n\tif (\n\t\tcapabilities.some(\n\t\t\t(capability) =>\n\t\t\t\tcapability !== \"workflow.delegate\" &&\n\t\t\t\tcapability !== \"memory.query\" &&\n\t\t\t\t!profile.capabilityCeiling.includes(capability),\n\t\t)\n\t) {\n\t\tthrow new WorkerExecutionContractError(`${label} authority exceeds its profile capability ceiling.`);\n\t}\n\tconst toolNames = stringArray(value.toolNames, `${label} authority toolNames`);\n\tif (\n\t\ttoolNames.some(\n\t\t\t(toolName) => toolName !== \"delegate\" && toolName !== \"memory\" && !profile.toolNames.includes(toolName),\n\t\t)\n\t) {\n\t\tthrow new WorkerExecutionContractError(`${label} authority contains a tool outside its profile.`);\n\t}\n\tconst pathArrayOptions = {\n\t\tmaxEntries: MAX_WORKER_AUTHORITY_PATHS,\n\t\tmaxLength: MAX_WORKER_AUTHORITY_PATH_LENGTH,\n\t};\n\tconst readPaths = stringArray(value.readPaths, `${label} authority readPaths`, pathArrayOptions);\n\tconst writePaths = stringArray(value.writePaths, `${label} authority writePaths`, pathArrayOptions);\n\tconst deniedPaths = stringArray(value.deniedPaths, `${label} authority deniedPaths`, pathArrayOptions);\n\tif (\n\t\t[...readPaths, ...writePaths, ...deniedPaths].some(\n\t\t\t(entry) => !path.isAbsolute(entry) && !path.win32.isAbsolute(entry),\n\t\t)\n\t) {\n\t\tthrow new WorkerExecutionContractError(`${label} authority paths must be absolute.`);\n\t}\n\tlet budget: RiskBudget;\n\ttry {\n\t\tbudget = parseRiskBudget(value.budget, `${label} authority budget`);\n\t} catch (error) {\n\t\tthrow new WorkerExecutionContractError(error instanceof Error ? error.message : String(error));\n\t}\n\tif (!isDeepStrictEqual(intersectRiskBudgets(profile.budget, budget), budget)) {\n\t\tthrow new WorkerExecutionContractError(`${label} authority exceeds its profile budget.`);\n\t}\n\tconst readGranted = capabilities.some(\n\t\t(capability) => capability === \"filesystem.read\" || capability === \"worktree.read\",\n\t);\n\tconst writeGranted = capabilities.some(\n\t\t(capability) => capability === \"filesystem.write\" || capability === \"worktree.mutate\",\n\t);\n\tif (readGranted && readPaths.length === 0) {\n\t\tthrow new WorkerExecutionContractError(`${label} read authority lacks a positive path scope.`);\n\t}\n\tif (writeGranted && writePaths.length === 0) {\n\t\tthrow new WorkerExecutionContractError(`${label} write authority lacks a positive path scope.`);\n\t}\n\treturn {\n\t\tcapabilities: capabilities as WorkerExecutionAuthorityContract[\"capabilities\"],\n\t\ttoolNames,\n\t\treadPaths,\n\t\twritePaths,\n\t\tdeniedPaths,\n\t\tbudget,\n\t};\n}\n\nfunction parseProfileContract(value: unknown, label: string): WorkerProfileExecutionContract {\n\tif (\n\t\t!isPlainRecord(value) ||\n\t\t!hasOnlyKeys(value, [\"schemaVersion\", \"profile\", \"modelBinding\", \"authority\", \"resourcePointers\", \"soul\"]) ||\n\t\tvalue.schemaVersion !== ORCHESTRATION_SCHEMA_VERSION\n\t) {\n\t\tthrow new WorkerExecutionContractError(`${label} is invalid.`);\n\t}\n\tlet profile: OrchestrationProfile;\n\ttry {\n\t\tprofile = parseOrchestrationProfile(value.profile);\n\t} catch (error) {\n\t\tthrow new WorkerExecutionContractError(\n\t\t\terror instanceof OrchestrationProfileError ? error.message : `${label} profile is invalid.`,\n\t\t);\n\t}\n\tconst modelBinding = parseModelBinding(value.modelBinding, label);\n\tif (!profile.modelPolicy.candidates.some((candidate) => isDeepStrictEqual(candidate, modelBinding))) {\n\t\tthrow new WorkerExecutionContractError(`${label} model binding is not declared by its profile.`);\n\t}\n\tif (\n\t\tvalue.soul !== undefined &&\n\t\t(typeof value.soul !== \"string\" || value.soul.length > MAX_WORKER_SOUL_LENGTH || !value.soul.trim())\n\t) {\n\t\tthrow new WorkerExecutionContractError(`${label} soul is invalid.`);\n\t}\n\tconst authority = parseAuthority(value.authority, profile, label);\n\tconst resourcePointers = parseResourcePointers(value.resourcePointers ?? [], label);\n\treturn {\n\t\tschemaVersion: ORCHESTRATION_SCHEMA_VERSION,\n\t\tprofile,\n\t\tmodelBinding,\n\t\tauthority,\n\t\tresourcePointers,\n\t\t...(typeof value.soul === \"string\" ? { soul: value.soul } : {}),\n\t};\n}\n\nexport function parseWorkerExecutionContract(value: unknown): WorkerExecutionContract {\n\tif (\n\t\t!isPlainRecord(value) ||\n\t\t!hasOnlyKeys(value, [\"schemaVersion\", \"worker\", \"verifier\"]) ||\n\t\tvalue.schemaVersion !== ORCHESTRATION_SCHEMA_VERSION\n\t) {\n\t\tthrow new WorkerExecutionContractError(\"Worker execution contract is invalid.\");\n\t}\n\tconst worker = parseProfileContract(value.worker, \"Worker execution contract\");\n\tconst verifier = value.verifier\n\t\t? parseProfileContract(value.verifier, \"Worker verifier execution contract\")\n\t\t: undefined;\n\tif (worker.profile.requireIndependentVerification) {\n\t\tif (!verifier || worker.profile.verificationProfileId !== verifier.profile.profileId) {\n\t\t\tthrow new WorkerExecutionContractError(\"Worker execution contract is missing its owner-pinned verifier.\");\n\t\t}\n\t\tif (verifier.profile.role !== \"verifier\") {\n\t\t\tthrow new WorkerExecutionContractError(\"Worker verifier execution contract does not use a verifier profile.\");\n\t\t}\n\t} else if (verifier) {\n\t\tthrow new WorkerExecutionContractError(\"Worker execution contract has an unexpected verifier.\");\n\t}\n\treturn {\n\t\tschemaVersion: ORCHESTRATION_SCHEMA_VERSION,\n\t\tworker,\n\t\t...(verifier ? { verifier } : {}),\n\t};\n}\n\nfunction snapshotProfile(profile: OrchestrationProfile): OrchestrationProfile {\n\tconst { sourcePath: _sourcePath, ...persisted } = profile;\n\treturn structuredClone(persisted) as OrchestrationProfile;\n}\n\nfunction snapshotResolvedProfile(source: {\n\tprofile: OrchestrationProfile;\n\tmodelBinding: OrchestrationModelBinding;\n\tauthority: WorkerExecutionAuthorityContract;\n\tresourcePointers?: readonly ResourcePointer[];\n\tsoul?: string;\n}): WorkerProfileExecutionContract {\n\treturn {\n\t\tschemaVersion: ORCHESTRATION_SCHEMA_VERSION,\n\t\tprofile: snapshotProfile(source.profile),\n\t\tmodelBinding: structuredClone(source.modelBinding),\n\t\tauthority: structuredClone(source.authority),\n\t\tresourcePointers: structuredClone(source.resourcePointers ?? []),\n\t\t...(source.soul ? { soul: source.soul } : {}),\n\t};\n}\n\nexport function createWorkerExecutionContract(args: {\n\tworker: {\n\t\tprofile: OrchestrationProfile;\n\t\tmodelBinding: OrchestrationModelBinding;\n\t\tauthority: WorkerExecutionAuthorityContract;\n\t\tresourcePointers?: readonly ResourcePointer[];\n\t\tsoul?: string;\n\t};\n\tverifier?: {\n\t\tprofile: OrchestrationProfile;\n\t\tmodelBinding: OrchestrationModelBinding;\n\t\tauthority: WorkerExecutionAuthorityContract;\n\t\tresourcePointers?: readonly ResourcePointer[];\n\t\tsoul?: string;\n\t};\n}): WorkerExecutionContract {\n\treturn parseWorkerExecutionContract({\n\t\tschemaVersion: ORCHESTRATION_SCHEMA_VERSION,\n\t\tworker: snapshotResolvedProfile(args.worker),\n\t\t...(args.verifier ? { verifier: snapshotResolvedProfile(args.verifier) } : {}),\n\t});\n}\n\nexport function verifierWorkerExecutionContract(\n\tcontract: WorkerExecutionContract,\n): WorkerExecutionContract | undefined {\n\treturn contract.verifier\n\t\t? parseWorkerExecutionContract({ schemaVersion: ORCHESTRATION_SCHEMA_VERSION, worker: contract.verifier })\n\t\t: undefined;\n}\n"]}
|
|
@@ -46,6 +46,8 @@ export type ResearchRunStatus = "succeeded" | "failed" | "canceled" | "timeout"
|
|
|
46
46
|
export interface ResearchRunResult {
|
|
47
47
|
status: ResearchRunStatus;
|
|
48
48
|
reasonCode: string;
|
|
49
|
+
/** Underlying executor error for `completion_error` outcomes; absent for policy outcomes. */
|
|
50
|
+
reasonDetail?: string;
|
|
49
51
|
gateOutcome: GateOutcome;
|
|
50
52
|
bundle?: EvidenceBundle;
|
|
51
53
|
costUsd: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"research-runner.d.ts","sourceRoot":"","sources":["../../../src/core/research/research-runner.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,cAAc,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAC7G,OAAO,EACN,KAAK,oBAAoB,EAGzB,MAAM,4CAA4C,CAAC;AAKpD;;;;;;;GAOG;AAEH,2GAA2G;AAC3G,eAAO,MAAM,2BAA2B,QAO5B,CAAC;AAEb,MAAM,WAAW,kBAAkB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,qBAAqB;IACrC,KAAK,EAAE,MAAM,CAAC;IACd,iGAAiG;IACjG,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,4EAA4E;IAC5E,QAAQ,EAAE,kBAAkB,CAAC;IAC7B;;;;OAIG;IACH,OAAO,CAAC,EAAE,SAAS,WAAW,EAAE,CAAC;IACjC,oGAAoG;IACpG,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,qDAAqD;IACrD,cAAc,EAAE,MAAM,CAAC;IACvB,wFAAwF;IACxF,QAAQ,EAAE,CAAC,IAAI,EAAE;QAAE,YAAY,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,WAAW,CAAA;KAAE,KAAK,OAAO,CAAC,kBAAkB,CAAC,CAAC;IACpH,qDAAqD;IACrD,MAAM,CAAC,EAAE,WAAW,CAAC;CACrB;AAED,MAAM,MAAM,iBAAiB,GAAG,WAAW,GAAG,QAAQ,GAAG,UAAU,GAAG,SAAS,GAAG,kBAAkB,CAAC;AAErG,MAAM,WAAW,iBAAiB;IACjC,MAAM,EAAE,iBAAiB,CAAC;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,WAAW,CAAC;IACzB,MAAM,CAAC,EAAE,cAAc,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC;CAChB;AAED,wBAAgB,uBAAuB,CAAC,IAAI,EAAE;IAC7C,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,SAAS,WAAW,EAAE,CAAC;IACjC,WAAW,EAAE,MAAM,CAAC;CACpB,GAAG,MAAM,CAcT;AAED,MAAM,WAAW,sBAAsB;IACtC,QAAQ,EAAE,oBAAoB,EAAE,CAAC;CACjC;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,sBAAsB,GAAG,SAAS,CAe3G;AAgCD,wBAAsB,WAAW,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,iBAAiB,CAAC,
|
|
1
|
+
{"version":3,"file":"research-runner.d.ts","sourceRoot":"","sources":["../../../src/core/research/research-runner.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,cAAc,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAC7G,OAAO,EACN,KAAK,oBAAoB,EAGzB,MAAM,4CAA4C,CAAC;AAKpD;;;;;;;GAOG;AAEH,2GAA2G;AAC3G,eAAO,MAAM,2BAA2B,QAO5B,CAAC;AAEb,MAAM,WAAW,kBAAkB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,qBAAqB;IACrC,KAAK,EAAE,MAAM,CAAC;IACd,iGAAiG;IACjG,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,4EAA4E;IAC5E,QAAQ,EAAE,kBAAkB,CAAC;IAC7B;;;;OAIG;IACH,OAAO,CAAC,EAAE,SAAS,WAAW,EAAE,CAAC;IACjC,oGAAoG;IACpG,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,qDAAqD;IACrD,cAAc,EAAE,MAAM,CAAC;IACvB,wFAAwF;IACxF,QAAQ,EAAE,CAAC,IAAI,EAAE;QAAE,YAAY,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,WAAW,CAAA;KAAE,KAAK,OAAO,CAAC,kBAAkB,CAAC,CAAC;IACpH,qDAAqD;IACrD,MAAM,CAAC,EAAE,WAAW,CAAC;CACrB;AAED,MAAM,MAAM,iBAAiB,GAAG,WAAW,GAAG,QAAQ,GAAG,UAAU,GAAG,SAAS,GAAG,kBAAkB,CAAC;AAErG,MAAM,WAAW,iBAAiB;IACjC,MAAM,EAAE,iBAAiB,CAAC;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,6FAA6F;IAC7F,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,WAAW,CAAC;IACzB,MAAM,CAAC,EAAE,cAAc,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC;CAChB;AAED,wBAAgB,uBAAuB,CAAC,IAAI,EAAE;IAC7C,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,SAAS,WAAW,EAAE,CAAC;IACjC,WAAW,EAAE,MAAM,CAAC;CACpB,GAAG,MAAM,CAcT;AAED,MAAM,WAAW,sBAAsB;IACtC,QAAQ,EAAE,oBAAoB,EAAE,CAAC;CACjC;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,sBAAsB,GAAG,SAAS,CAe3G;AAgCD,wBAAsB,WAAW,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAyD5F"}
|
|
@@ -106,6 +106,7 @@ export async function runResearch(options) {
|
|
|
106
106
|
return {
|
|
107
107
|
status: bounded.failure.status,
|
|
108
108
|
reasonCode: bounded.failure.reasonCode,
|
|
109
|
+
...(bounded.failure.detail ? { reasonDetail: bounded.failure.detail } : {}),
|
|
109
110
|
gateOutcome,
|
|
110
111
|
costUsd: bounded.completion?.costUsd ?? 0,
|
|
111
112
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"research-runner.js","sourceRoot":"","sources":["../../../src/core/research/research-runner.ts"],"names":[],"mappings":"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","sourcesContent":["import { runBoundedCompletion } from \"../autonomy/bounded-completion.ts\";\nimport type { CapabilityEnvelope, EvidenceBundle, EvidenceRef, GateOutcome } from \"../autonomy/contracts.ts\";\nimport {\n\ttype EvidenceFindingDraft,\n\tnormalizeEvidenceFinding,\n\tprojectEvidenceFindings,\n} from \"../autonomy/evidence-finding-projection.ts\";\nimport { parseModelOutputJsonObject } from \"../model-output-json.ts\";\nimport { createEvidenceBundle } from \"./evidence-bundle.ts\";\nimport { evaluateResearchRequest } from \"./research-gate.ts\";\n\n/**\n * Pure orchestration for one autonomous research pass: gate -> bounded isolated completion ->\n * parse -> evidence bundle. The model executor is injected so this stays provider-free and\n * session-free; production wires `AgentSession.runIsolatedCompletion` in.\n *\n * The lane is read-only by construction: the host may provide a classified read-only child tool\n * surface, and the output is an `EvidenceBundle` whose model-synthesized findings are untrusted.\n */\n\n/** Static across calls so callers can use `cacheRetention: \"short\"` and only pay for the variable tail. */\nexport const RESEARCH_LANE_SYSTEM_PROMPT = [\n\t\"You are a read-only research lane for a coding agent.\",\n\t\"You receive a research query plus bounded context and produce findings that help satisfy open goal requirements.\",\n\t\"Use only the provided read-only workspace tools. You cannot change files or delegate more workers.\",\n\t\"Respond with STRICT JSON only - no prose, no markdown fences:\",\n\t'{\"findings\":[{\"summary\":\"<one concrete, actionable finding>\",\"confidence\":<0..1>}]}',\n\t\"Base findings only on the provided context and files you inspect with those tools. Never invent file paths, APIs, or facts.\",\n].join(\"\\n\");\n\nexport interface ResearchCompletion {\n\ttext: string;\n\tcostUsd: number;\n\tstopReason: string;\n}\n\nexport interface ResearchRunnerOptions {\n\tquery: string;\n\t/** Bounded, pre-redacted context handed to the research model (goal text, open requirements). */\n\tcontext?: string;\n\t/** Stripped research envelope - never the foreground/architect envelope. */\n\tenvelope: CapabilityEnvelope;\n\t/**\n\t * Pointer-first workspace sources (repo-relative path + bounded excerpt, never file bodies) that\n\t * inform the pass. They are rendered into the user prompt and carried into the evidence bundle;\n\t * omitted / empty reproduces the pre-collector behavior exactly.\n\t */\n\tsources?: readonly EvidenceRef[];\n\t/** Budget for this pass; a post-hoc breach marks the run budget_exhausted (spend stays visible). */\n\tmaxUsd: number;\n\tmaxSources: number;\n\tmaxFindings: number;\n\t/** Wall-clock budget in milliseconds; 0 disables. */\n\tmaxWallClockMs: number;\n\t/** Executes one isolated completion. Production: AgentSession.runIsolatedCompletion. */\n\tcomplete: (args: { systemPrompt: string; userPrompt: string; signal?: AbortSignal }) => Promise<ResearchCompletion>;\n\t/** External cancellation (e.g. session disposal). */\n\tsignal?: AbortSignal;\n}\n\nexport type ResearchRunStatus = \"succeeded\" | \"failed\" | \"canceled\" | \"timeout\" | \"budget_exhausted\";\n\nexport interface ResearchRunResult {\n\tstatus: ResearchRunStatus;\n\treasonCode: string;\n\tgateOutcome: GateOutcome;\n\tbundle?: EvidenceBundle;\n\tcostUsd: number;\n}\n\nexport function buildResearchUserPrompt(args: {\n\tquery: string;\n\tcontext?: string;\n\tsources?: readonly EvidenceRef[];\n\tmaxFindings: number;\n}): string {\n\tconst parts = [`Research query: ${args.query}`];\n\tif (args.context && args.context.length > 0) {\n\t\tparts.push(\"\", \"Context:\", args.context);\n\t}\n\tif (args.sources && args.sources.length > 0) {\n\t\tparts.push(\"\", \"Workspace sources (pointer-first; open the file to read full context):\");\n\t\tfor (const source of args.sources) {\n\t\t\tconst pointer = source.title ?? source.uri ?? source.id;\n\t\t\tparts.push(source.excerpt ? `- ${pointer}: ${source.excerpt}` : `- ${pointer}`);\n\t\t}\n\t}\n\tparts.push(\"\", `Return at most ${args.maxFindings} findings.`);\n\treturn parts.join(\"\\n\");\n}\n\nexport interface ParsedResearchFindings {\n\tfindings: EvidenceFindingDraft[];\n}\n\nexport function parseResearchFindings(text: string, maxFindings: number): ParsedResearchFindings | undefined {\n\tconst parsed = parseModelOutputJsonObject(text);\n\tconst findingsRaw = parsed?.findings;\n\tif (!Array.isArray(findingsRaw)) return undefined;\n\n\tconst findings: EvidenceFindingDraft[] = [];\n\tfor (const item of findingsRaw) {\n\t\tconst finding = normalizeEvidenceFinding(item);\n\t\tif (!finding) continue;\n\t\tfindings.push(finding);\n\t\tif (findings.length >= maxFindings) break;\n\t}\n\t// A well-formed-but-empty findings array is a valid \"nothing found\"; a findings array whose\n\t// every item is malformed is not.\n\treturn findings.length > 0 || findingsRaw.length === 0 ? { findings } : undefined;\n}\n\nfunction truncateExcerpt(text: string, maxChars: number): string {\n\tif (text.length <= maxChars) return text;\n\treturn `${text.slice(0, Math.max(0, maxChars - 1))}…`;\n}\n\nfunction buildBundle(options: ResearchRunnerOptions, parsed: ParsedResearchFindings): EvidenceBundle {\n\tconst contextRef: EvidenceRef = {\n\t\tid: \"src-context\",\n\t\tkind: \"user\",\n\t\ttitle: \"Goal/context provided to the research lane\",\n\t\ttrusted: true,\n\t\texcerpt: truncateExcerpt(options.context && options.context.length > 0 ? options.context : options.query, 2000),\n\t};\n\tconst synthesisRef: EvidenceRef = {\n\t\tid: \"src-synthesis\",\n\t\tkind: \"tool\",\n\t\ttitle: \"Research-model synthesis\",\n\t\ttrusted: false,\n\t};\n\t// Context + synthesis are the fixed provenance anchors (findings cite src-synthesis); workspace\n\t// sources fill whatever budget is left between them. A one-source budget must reserve synthesis\n\t// because retaining context instead would leave generated findings with a dangling evidence ID.\n\tconst budget = Math.max(1, options.maxSources);\n\tconst workspaceRoom = Math.max(0, budget - 2);\n\tconst workspaceSources = (options.sources ?? []).slice(0, workspaceRoom);\n\tconst sources = budget === 1 ? [synthesisRef] : [contextRef, ...workspaceSources, synthesisRef];\n\tconst findings = projectEvidenceFindings(parsed.findings, synthesisRef.id, options.maxFindings);\n\treturn createEvidenceBundle({ query: options.query, sources, findings });\n}\n\nexport async function runResearch(options: ResearchRunnerOptions): Promise<ResearchRunResult> {\n\tconst gateOutcome = evaluateResearchRequest({\n\t\tenvelope: options.envelope,\n\t\tsourceKind: \"tool\",\n\t\testimatedUsd: options.maxUsd,\n\t});\n\tif (gateOutcome.outcome !== \"allow\") {\n\t\t// Skip-and-record, never prompt: gate denials inform diagnostics instead of blocking anything.\n\t\tconst status: ResearchRunStatus = gateOutcome.reasonCode === \"over_budget\" ? \"budget_exhausted\" : \"failed\";\n\t\treturn { status, reasonCode: gateOutcome.reasonCode, gateOutcome, costUsd: 0 };\n\t}\n\n\tconst bounded = await runBoundedCompletion({\n\t\tmaxWallClockMs: options.maxWallClockMs,\n\t\tsignal: options.signal,\n\t\texecute: (signal) =>\n\t\t\toptions.complete({\n\t\t\t\tsystemPrompt: RESEARCH_LANE_SYSTEM_PROMPT,\n\t\t\t\tuserPrompt: buildResearchUserPrompt(options),\n\t\t\t\tsignal,\n\t\t\t}),\n\t});\n\tif (bounded.failure) {\n\t\treturn {\n\t\t\tstatus: bounded.failure.status,\n\t\t\treasonCode: bounded.failure.reasonCode,\n\t\t\tgateOutcome,\n\t\t\tcostUsd: bounded.completion?.costUsd ?? 0,\n\t\t};\n\t}\n\tconst completion = bounded.completion;\n\tif (!completion) {\n\t\treturn { status: \"failed\", reasonCode: \"completion_error\", gateOutcome, costUsd: 0 };\n\t}\n\tif (completion.stopReason === \"error\" || completion.stopReason === \"aborted\") {\n\t\treturn { status: \"failed\", reasonCode: \"model_error\", gateOutcome, costUsd: completion.costUsd };\n\t}\n\n\tconst parsed = parseResearchFindings(completion.text, options.maxFindings);\n\tif (!parsed) {\n\t\treturn { status: \"failed\", reasonCode: \"unparseable_output\", gateOutcome, costUsd: completion.costUsd };\n\t}\n\n\tconst bundle = buildBundle(options, parsed);\n\tconst overBudget = options.maxUsd > 0 && completion.costUsd > options.maxUsd;\n\treturn {\n\t\tstatus: overBudget ? \"budget_exhausted\" : \"succeeded\",\n\t\treasonCode: overBudget\n\t\t\t? \"cost_budget_exceeded\"\n\t\t\t: parsed.findings.length === 0\n\t\t\t\t? \"no_findings\"\n\t\t\t\t: \"research_completed\",\n\t\tgateOutcome,\n\t\tbundle,\n\t\tcostUsd: completion.costUsd,\n\t};\n}\n"]}
|
|
1
|
+
{"version":3,"file":"research-runner.js","sourceRoot":"","sources":["../../../src/core/research/research-runner.ts"],"names":[],"mappings":"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","sourcesContent":["import { runBoundedCompletion } from \"../autonomy/bounded-completion.ts\";\nimport type { CapabilityEnvelope, EvidenceBundle, EvidenceRef, GateOutcome } from \"../autonomy/contracts.ts\";\nimport {\n\ttype EvidenceFindingDraft,\n\tnormalizeEvidenceFinding,\n\tprojectEvidenceFindings,\n} from \"../autonomy/evidence-finding-projection.ts\";\nimport { parseModelOutputJsonObject } from \"../model-output-json.ts\";\nimport { createEvidenceBundle } from \"./evidence-bundle.ts\";\nimport { evaluateResearchRequest } from \"./research-gate.ts\";\n\n/**\n * Pure orchestration for one autonomous research pass: gate -> bounded isolated completion ->\n * parse -> evidence bundle. The model executor is injected so this stays provider-free and\n * session-free; production wires `AgentSession.runIsolatedCompletion` in.\n *\n * The lane is read-only by construction: the host may provide a classified read-only child tool\n * surface, and the output is an `EvidenceBundle` whose model-synthesized findings are untrusted.\n */\n\n/** Static across calls so callers can use `cacheRetention: \"short\"` and only pay for the variable tail. */\nexport const RESEARCH_LANE_SYSTEM_PROMPT = [\n\t\"You are a read-only research lane for a coding agent.\",\n\t\"You receive a research query plus bounded context and produce findings that help satisfy open goal requirements.\",\n\t\"Use only the provided read-only workspace tools. You cannot change files or delegate more workers.\",\n\t\"Respond with STRICT JSON only - no prose, no markdown fences:\",\n\t'{\"findings\":[{\"summary\":\"<one concrete, actionable finding>\",\"confidence\":<0..1>}]}',\n\t\"Base findings only on the provided context and files you inspect with those tools. Never invent file paths, APIs, or facts.\",\n].join(\"\\n\");\n\nexport interface ResearchCompletion {\n\ttext: string;\n\tcostUsd: number;\n\tstopReason: string;\n}\n\nexport interface ResearchRunnerOptions {\n\tquery: string;\n\t/** Bounded, pre-redacted context handed to the research model (goal text, open requirements). */\n\tcontext?: string;\n\t/** Stripped research envelope - never the foreground/architect envelope. */\n\tenvelope: CapabilityEnvelope;\n\t/**\n\t * Pointer-first workspace sources (repo-relative path + bounded excerpt, never file bodies) that\n\t * inform the pass. They are rendered into the user prompt and carried into the evidence bundle;\n\t * omitted / empty reproduces the pre-collector behavior exactly.\n\t */\n\tsources?: readonly EvidenceRef[];\n\t/** Budget for this pass; a post-hoc breach marks the run budget_exhausted (spend stays visible). */\n\tmaxUsd: number;\n\tmaxSources: number;\n\tmaxFindings: number;\n\t/** Wall-clock budget in milliseconds; 0 disables. */\n\tmaxWallClockMs: number;\n\t/** Executes one isolated completion. Production: AgentSession.runIsolatedCompletion. */\n\tcomplete: (args: { systemPrompt: string; userPrompt: string; signal?: AbortSignal }) => Promise<ResearchCompletion>;\n\t/** External cancellation (e.g. session disposal). */\n\tsignal?: AbortSignal;\n}\n\nexport type ResearchRunStatus = \"succeeded\" | \"failed\" | \"canceled\" | \"timeout\" | \"budget_exhausted\";\n\nexport interface ResearchRunResult {\n\tstatus: ResearchRunStatus;\n\treasonCode: string;\n\t/** Underlying executor error for `completion_error` outcomes; absent for policy outcomes. */\n\treasonDetail?: string;\n\tgateOutcome: GateOutcome;\n\tbundle?: EvidenceBundle;\n\tcostUsd: number;\n}\n\nexport function buildResearchUserPrompt(args: {\n\tquery: string;\n\tcontext?: string;\n\tsources?: readonly EvidenceRef[];\n\tmaxFindings: number;\n}): string {\n\tconst parts = [`Research query: ${args.query}`];\n\tif (args.context && args.context.length > 0) {\n\t\tparts.push(\"\", \"Context:\", args.context);\n\t}\n\tif (args.sources && args.sources.length > 0) {\n\t\tparts.push(\"\", \"Workspace sources (pointer-first; open the file to read full context):\");\n\t\tfor (const source of args.sources) {\n\t\t\tconst pointer = source.title ?? source.uri ?? source.id;\n\t\t\tparts.push(source.excerpt ? `- ${pointer}: ${source.excerpt}` : `- ${pointer}`);\n\t\t}\n\t}\n\tparts.push(\"\", `Return at most ${args.maxFindings} findings.`);\n\treturn parts.join(\"\\n\");\n}\n\nexport interface ParsedResearchFindings {\n\tfindings: EvidenceFindingDraft[];\n}\n\nexport function parseResearchFindings(text: string, maxFindings: number): ParsedResearchFindings | undefined {\n\tconst parsed = parseModelOutputJsonObject(text);\n\tconst findingsRaw = parsed?.findings;\n\tif (!Array.isArray(findingsRaw)) return undefined;\n\n\tconst findings: EvidenceFindingDraft[] = [];\n\tfor (const item of findingsRaw) {\n\t\tconst finding = normalizeEvidenceFinding(item);\n\t\tif (!finding) continue;\n\t\tfindings.push(finding);\n\t\tif (findings.length >= maxFindings) break;\n\t}\n\t// A well-formed-but-empty findings array is a valid \"nothing found\"; a findings array whose\n\t// every item is malformed is not.\n\treturn findings.length > 0 || findingsRaw.length === 0 ? { findings } : undefined;\n}\n\nfunction truncateExcerpt(text: string, maxChars: number): string {\n\tif (text.length <= maxChars) return text;\n\treturn `${text.slice(0, Math.max(0, maxChars - 1))}…`;\n}\n\nfunction buildBundle(options: ResearchRunnerOptions, parsed: ParsedResearchFindings): EvidenceBundle {\n\tconst contextRef: EvidenceRef = {\n\t\tid: \"src-context\",\n\t\tkind: \"user\",\n\t\ttitle: \"Goal/context provided to the research lane\",\n\t\ttrusted: true,\n\t\texcerpt: truncateExcerpt(options.context && options.context.length > 0 ? options.context : options.query, 2000),\n\t};\n\tconst synthesisRef: EvidenceRef = {\n\t\tid: \"src-synthesis\",\n\t\tkind: \"tool\",\n\t\ttitle: \"Research-model synthesis\",\n\t\ttrusted: false,\n\t};\n\t// Context + synthesis are the fixed provenance anchors (findings cite src-synthesis); workspace\n\t// sources fill whatever budget is left between them. A one-source budget must reserve synthesis\n\t// because retaining context instead would leave generated findings with a dangling evidence ID.\n\tconst budget = Math.max(1, options.maxSources);\n\tconst workspaceRoom = Math.max(0, budget - 2);\n\tconst workspaceSources = (options.sources ?? []).slice(0, workspaceRoom);\n\tconst sources = budget === 1 ? [synthesisRef] : [contextRef, ...workspaceSources, synthesisRef];\n\tconst findings = projectEvidenceFindings(parsed.findings, synthesisRef.id, options.maxFindings);\n\treturn createEvidenceBundle({ query: options.query, sources, findings });\n}\n\nexport async function runResearch(options: ResearchRunnerOptions): Promise<ResearchRunResult> {\n\tconst gateOutcome = evaluateResearchRequest({\n\t\tenvelope: options.envelope,\n\t\tsourceKind: \"tool\",\n\t\testimatedUsd: options.maxUsd,\n\t});\n\tif (gateOutcome.outcome !== \"allow\") {\n\t\t// Skip-and-record, never prompt: gate denials inform diagnostics instead of blocking anything.\n\t\tconst status: ResearchRunStatus = gateOutcome.reasonCode === \"over_budget\" ? \"budget_exhausted\" : \"failed\";\n\t\treturn { status, reasonCode: gateOutcome.reasonCode, gateOutcome, costUsd: 0 };\n\t}\n\n\tconst bounded = await runBoundedCompletion({\n\t\tmaxWallClockMs: options.maxWallClockMs,\n\t\tsignal: options.signal,\n\t\texecute: (signal) =>\n\t\t\toptions.complete({\n\t\t\t\tsystemPrompt: RESEARCH_LANE_SYSTEM_PROMPT,\n\t\t\t\tuserPrompt: buildResearchUserPrompt(options),\n\t\t\t\tsignal,\n\t\t\t}),\n\t});\n\tif (bounded.failure) {\n\t\treturn {\n\t\t\tstatus: bounded.failure.status,\n\t\t\treasonCode: bounded.failure.reasonCode,\n\t\t\t...(bounded.failure.detail ? { reasonDetail: bounded.failure.detail } : {}),\n\t\t\tgateOutcome,\n\t\t\tcostUsd: bounded.completion?.costUsd ?? 0,\n\t\t};\n\t}\n\tconst completion = bounded.completion;\n\tif (!completion) {\n\t\treturn { status: \"failed\", reasonCode: \"completion_error\", gateOutcome, costUsd: 0 };\n\t}\n\tif (completion.stopReason === \"error\" || completion.stopReason === \"aborted\") {\n\t\treturn { status: \"failed\", reasonCode: \"model_error\", gateOutcome, costUsd: completion.costUsd };\n\t}\n\n\tconst parsed = parseResearchFindings(completion.text, options.maxFindings);\n\tif (!parsed) {\n\t\treturn { status: \"failed\", reasonCode: \"unparseable_output\", gateOutcome, costUsd: completion.costUsd };\n\t}\n\n\tconst bundle = buildBundle(options, parsed);\n\tconst overBudget = options.maxUsd > 0 && completion.costUsd > options.maxUsd;\n\treturn {\n\t\tstatus: overBudget ? \"budget_exhausted\" : \"succeeded\",\n\t\treasonCode: overBudget\n\t\t\t? \"cost_budget_exceeded\"\n\t\t\t: parsed.findings.length === 0\n\t\t\t\t? \"no_findings\"\n\t\t\t\t: \"research_completed\",\n\t\tgateOutcome,\n\t\tbundle,\n\t\tcostUsd: completion.costUsd,\n\t};\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime-builder.d.ts","sourceRoot":"","sources":["../../src/core/runtime-builder.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AAIH,OAAO,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,SAAS,EAAiB,MAAM,2BAA2B,CAAC;AAC7G,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AACrE,OAAO,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAE3D,OAAO,KAAK,EACX,yBAAyB,EACzB,wBAAwB,EACxB,0BAA0B,EAC1B,MAAM,8BAA8B,CAAC;AACtC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,KAAK,EAAE,2BAA2B,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAC;AAC/G,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAGvD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAC;AACnF,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,2CAA2C,CAAC;AACzF,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAEhF,OAAO,EACN,KAAK,YAAY,EACjB,KAAK,SAAS,EACd,KAAK,8BAA8B,EACnC,KAAK,sBAAsB,EAC3B,eAAe,EACf,KAAK,kBAAkB,EACvB,KAAK,eAAe,EACpB,KAAK,cAAc,EACnB,KAAK,QAAQ,EAEb,MAAM,uBAAuB,CAAC;AAG/B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,wBAAwB,CAAC;AAC7E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAMzD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACzE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,wCAAwC,CAAC;AACpF,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,gCAAgC,CAAC;AAElF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AACtE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAO3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AAEpE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAElE,OAAO,EAEN,KAAK,6BAA6B,EAClC,KAAK,eAAe,EACpB,MAAM,uBAAuB,CAAC;AAG/B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AA4B5D,OAAO,EAAgC,KAAK,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAW/F;;;;;;;GAOG;AACH,wBAAgB,2BAA2B,CAAC,cAAc,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAOvG;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,cAAc,EAAE,cAAc,GAAG,SAAS,GAAG,eAAe,EAAE,CAMpG;AAED,6GAA6G;AAC7G,wBAAgB,iCAAiC,CAAC,IAAI,EAAE;IACvD,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;CACrB,GAAG,uBAAuB,CAU1B;AAwBD,MAAM,WAAW,kBAAkB;IAClC,kGAAkG;IAClG,QAAQ,IAAI,KAAK,CAAC;IAClB,sFAAsF;IACtF,MAAM,IAAI,MAAM,CAAC;IACjB,gGAAgG;IAChG,kBAAkB,IAAI,MAAM,CAAC;IAC7B,gEAAgE;IAChE,WAAW,IAAI,MAAM,CAAC;IACtB,mDAAmD;IACnD,iBAAiB,IAAI,cAAc,CAAC;IACpC,uFAAuF;IACvF,kBAAkB,IAAI,eAAe,CAAC;IACtC,sFAAsF;IACtF,gBAAgB,IAAI,aAAa,CAAC;IAClC,4DAA4D;IAC5D,gBAAgB,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC;IAC7C,2FAA2F;IAC3F,iBAAiB,IAAI,cAAc,CAAC;IAEpC,qDAAqD;IACrD,kBAAkB,IAAI,eAAe,CAAC;IACtC,+GAA+G;IAC/G,kBAAkB,CAAC,MAAM,EAAE,eAAe,GAAG,IAAI,CAAC;IAClD,qFAAqF;IACrF,mBAAmB,IAAI,MAAM,CAAC;IAC9B,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAE1C,mFAAmF;IACnF,cAAc,IAAI,cAAc,EAAE,CAAC;IACnC,mGAAmG;IACnG,oBAAoB,IAAI,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,SAAS,CAAC;IAC9D,6GAA6G;IAC7G,2BAA2B,IAAI,MAAM,EAAE,GAAG,SAAS,CAAC;IACpD,2BAA2B,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,SAAS,GAAG,IAAI,CAAC;IAE/D,2GAA2G;IAC3G,oBAAoB,IAAI,QAAQ,CAAC,6BAA6B,CAAC,GAAG,SAAS,CAAC;IAC5E,oBAAoB,CAAC,MAAM,EAAE,QAAQ,CAAC,6BAA6B,CAAC,GAAG,SAAS,GAAG,IAAI,CAAC;IACxF,mBAAmB,IAAI,GAAG,CAAC,MAAM,CAAC,GAAG,SAAS,CAAC;IAC/C,2FAA2F;IAC3F,uBAAuB,CAAC,IAAI,oBAAoB,GAAG,SAAS,CAAC;IAC7D,oBAAoB,IAAI,GAAG,CAAC,MAAM,CAAC,GAAG,SAAS,CAAC;IAChD,sFAAsF;IACtF,uBAAuB,IAAI,QAAQ,CAAC,6BAA6B,CAAC,CAAC;IACnE,oGAAoG;IACpG,+BAA+B,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IACvD,4FAA4F;IAC5F,sBAAsB,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,wBAAwB,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IACrG,kHAAkH;IAClH,0BAA0B,CAAC,UAAU,EAAE,SAAS,EAAE,EAAE,0BAA0B,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,GAAG,SAAS,EAAE,CAAC;IACnH,6EAA6E;IAC7E,2BAA2B,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IACtD,2BAA2B,IAAI,MAAM,EAAE,CAAC;IACxC,iCAAiC,IAAI,2BAA2B,CAAC;IACjE,kCAAkC,CAAC,QAAQ,EAAE,2BAA2B,GAAG,IAAI,CAAC;IAEhF,oGAAoG;IACpG,kBAAkB,IAAI,MAAM,EAAE,CAAC;IAC/B,+GAA+G;IAC/G,oBAAoB,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAChD,wFAAwF;IACxF,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAAC;IACrE,yBAAyB,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,SAAS,GAAG,MAAM,EAAE,CAAC;IAEtE,0GAA0G;IAC1G,iBAAiB,CAAC,MAAM,EAAE,eAAe,GAAG,IAAI,CAAC;IACjD,qFAAqF;IACrF,sBAAsB,CAAC,MAAM,EAAE,eAAe,GAAG,IAAI,CAAC;IACtD,yEAAyE;IACzE,6BAA6B,CAAC,MAAM,EAAE,SAAS,GAAG,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3E,yFAAyF;IACzF,iCAAiC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACnD,4EAA4E;IAC5E,uBAAuB,IAAI,IAAI,CAAC;IAEhC,2HAA2H;IAC3H,oBAAoB,IAAI,aAAa,CAAC;IACtC,sGAAsG;IACtG,uBAAuB,CAAC,IAAI,oBAAoB,CAAC;IACjD,oFAAoF;IACpF,oBAAoB,IAAI,IAAI,CAAC,iBAAiB,EAAE,eAAe,CAAC,GAAG,SAAS,CAAC;IAE7E,kEAAkE;IAClE,gBAAgB,IAAI,aAAa,CAAC;IAClC,qFAAqF;IACrF,yBAAyB,IAAI;QAAE,SAAS,EAAE,0BAA0B,CAAC;QAAC,eAAe,EAAE,2BAA2B,CAAA;KAAE,CAAC;IACrH,6FAA6F;IAC7F,2BAA2B,IAAI,IAAI,CAAC;IACpC,0BAA0B,IAAI,8BAA8B,CAAC;IAC7D,2BAA2B,CAAC,QAAQ,EAAE,8BAA8B,GAAG,IAAI,CAAC;IAC5E,wEAAwE;IACxE,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAElC,iCAAiC;IACjC,oBAAoB,IAAI,SAAS,GAAG,SAAS,CAAC;IAC9C,qBAAqB,CAAC,KAAK,EAAE,SAAS,EAAE,QAAQ,CAAC,EAAE,iBAAiB,GAAG,MAAM,CAAC;IAC9E,wCAAwC;IACxC,yBAAyB,IAAI,cAAc,GAAG,SAAS,CAAC;IACxD,0BAA0B,CAAC,KAAK,EAAE,cAAc,GAAG,MAAM,CAAC;IAC1D,uDAAuD;IACvD,kBAAkB,CAAC,QAAQ,EAAE,YAAY,EAAE,GAAG,eAAe,CAAC;IAC9D,oEAAoE;IACpE,qBAAqB,CACpB,OAAO,EAAE,uBAAuB,GAC9B;QAAE,OAAO,EAAE,KAAK,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,GAAG;QAAE,OAAO,EAAE,IAAI,CAAC;QAAC,MAAM,EAAE,UAAU,CAAA;KAAE,CAAC;IAClF,kBAAkB,CAAC,EAAE,sBAAsB,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAAC;IAC7E,8BAA8B,IAAI,KAAK,CAAC;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAClG,oBAAoB,IAAI,UAAU,EAAE,CAAC;IACrC,uBAAuB,IAAI,WAAW,EAAE,CAAC;IACzC;0EACsE;IACtE,oBAAoB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IAC/D,sEAAsE;IACtE,uBAAuB,CAAC,OAAO,EAAE,uBAAuB,GAAG,OAAO,CAAC,0BAA0B,CAAC,CAAC;IAC/F;sGACkG;IAClG,eAAe,CAAC,IAAI,EAAE;QACrB,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,UAAU,CAAC,EAAE,MAAM,CAAC;KACpB,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,IAAI,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,kBAAkB,CAAA;KAAE,GAAG;QAAE,OAAO,EAAE,KAAK,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACnH,qFAAqF;IACrF,yBAAyB,IAAI,KAAK,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC;IACpD,8EAA8E;IAC9E,qBAAqB,CAAC,IAAI,EAAE,yBAAyB,GAAG,OAAO,CAAC,wBAAwB,CAAC,CAAC;IAC1F;kGAC8F;IAC9F,eAAe,CACd,KAAK,EAAE,KAAK,EACZ,IAAI,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,eAAe,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,GAClE,MAAM,GAAG,SAAS,CAAC;IACtB;;;mEAG+D;IAC/D,oBAAoB,IAAI,iBAAiB,GAAG,SAAS,CAAC;IAEtD,uFAAuF;IACvF,0BAA0B,IAAI,YAAY,CAAC;IAC3C,eAAe,IAAI,YAAY,GAAG,SAAS,CAAC;IAE5C,0FAA0F;IAC1F,WAAW,IAAI,OAAO,CAAC;IACvB,YAAY,IAAI,OAAO,CAAC;IAExB,iFAAiF;IACjF,qBAAqB,IAAI,kBAAkB,GAAG,SAAS,CAAC;IACxD,iCAAiC,IAAI,8BAA8B,GAAG,SAAS,CAAC;IAChF,2BAA2B,IAAI,eAAe,GAAG,SAAS,CAAC;IAC3D,yBAAyB,IAAI,sBAAsB,GAAG,SAAS,CAAC;IAEhE;;;;;;;;;OASG;IACH,sBAAsB,CAAC,IAAI,IAAI,CAAC;CAChC;AAQD;;;GAGG;AACH,qBAAa,cAAc;IAE1B,OAAO,CAAC,aAAa,CAAqC;IAC1D,OAAO,CAAC,gBAAgB,CAA+C;IACvE,OAAO,CAAC,mBAAmB,CAAkC;IAC7D,OAAO,CAAC,qBAAqB,CAAoC;IACjE,OAAO,CAAC,oBAAoB,CAA0C;IACtE,yGAAyG;IACzG,OAAO,CAAC,QAAQ,CAAC,2BAA2B,CAAqB;IACjE,OAAO,CAAC,cAAc,CAA4B;IAClD,OAAO,CAAC,gBAAgB,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAoB;IACvD,OAAO,CAAC,QAAQ,CAAC,2BAA2B,CAA6B;IACzE,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAA+B;IAEpE,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAqB;IAE1C,YAAY,IAAI,EAAE,kBAAkB,EAiBnC;IAED;;;;OAIG;IACH,OAAO,CAAC,uBAAuB;YAmCjB,gBAAgB;IAuC9B,mEAAmE;IACnE,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAE7B;IAED,2EAA2E;IAC3E,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,CAErD;IAED,6DAA6D;IAC7D,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAErD;IAED,gEAAgE;IAChE,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAE1D;IAED;;OAEG;IACH,WAAW,IAAI,QAAQ,EAAE,CAQxB;IAED,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS,CAE1D;IAED,IAAI,iBAAiB,IAAI,iBAAiB,CAEzC;IAED,0FAA0F;IAC1F,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAGvB;IAED,mBAAmB,CAAC,OAAO,CAAC,EAAE;QAAE,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;QAAC,wBAAwB,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,IAAI,CAmKtG;IAED,OAAO,CAAC,4BAA4B;IA6BpC,OAAO,CAAC,6BAA6B;IAsCrC,OAAO,CAAC,oBAAoB;IA2B5B,YAAY,CAAC,OAAO,EAAE;QACrB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;QAC3B,UAAU,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,CAAC,CAAC;QAC3C,wBAAwB,CAAC,EAAE,OAAO,CAAC;QACnC,OAAO,CAAC,EAAE,sBAAsB,CAAC;KACjC,GAAG,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,
|
|
1
|
+
{"version":3,"file":"runtime-builder.d.ts","sourceRoot":"","sources":["../../src/core/runtime-builder.ts"],"names":[],"mappings":"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"}
|
|
@@ -637,6 +637,14 @@ export class RuntimeBuilder {
|
|
|
637
637
|
}
|
|
638
638
|
if (toolAccess.allows("delegate")) {
|
|
639
639
|
const delegateToolDefinition = createDelegateToolDefinition({
|
|
640
|
+
caller: { kind: "session_root" },
|
|
641
|
+
resolveMessageReplayScope: () => {
|
|
642
|
+
const sessionManager = this.deps.getSessionManager();
|
|
643
|
+
return {
|
|
644
|
+
sessionId: sessionManager.getSessionId(),
|
|
645
|
+
branchId: sessionManager.getLeafId() ?? sessionManager.getSessionId(),
|
|
646
|
+
};
|
|
647
|
+
},
|
|
640
648
|
startWorkerDelegation: (args) => this.deps.startWorkerDelegation(args),
|
|
641
649
|
runWorkerDelegation: (args) => this.deps.runWorkerDelegationOnce(args),
|
|
642
650
|
orchestrationProfiles: this.deps.getOrchestrationProfileCatalog(),
|