@stigmer/runner 3.14.0 → 3.15.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/.build-fingerprint +1 -1
- package/dist/__test-utils__/execution-record-fixture.d.ts +47 -0
- package/dist/__test-utils__/execution-record-fixture.js +68 -0
- package/dist/__test-utils__/execution-record-fixture.js.map +1 -0
- package/dist/__test-utils__/harness-contract/types.d.ts +166 -0
- package/dist/__test-utils__/harness-contract/types.js +49 -0
- package/dist/__test-utils__/harness-contract/types.js.map +1 -0
- package/dist/__test-utils__/hermetic-activity.d.ts +268 -0
- package/dist/__test-utils__/hermetic-activity.js +385 -0
- package/dist/__test-utils__/hermetic-activity.js.map +1 -0
- package/dist/__test-utils__/mock-client.d.ts +13 -0
- package/dist/__test-utils__/mock-client.js +45 -0
- package/dist/__test-utils__/mock-client.js.map +1 -0
- package/dist/__test-utils__/mock-workspace.d.ts +15 -0
- package/dist/__test-utils__/mock-workspace.js +21 -0
- package/dist/__test-utils__/mock-workspace.js.map +1 -0
- package/dist/__test-utils__/model-registry-fixture.d.ts +56 -0
- package/dist/__test-utils__/model-registry-fixture.js +66 -0
- package/dist/__test-utils__/model-registry-fixture.js.map +1 -0
- package/dist/__test-utils__/turn-input-fixture.d.ts +60 -0
- package/dist/__test-utils__/turn-input-fixture.js +118 -0
- package/dist/__test-utils__/turn-input-fixture.js.map +1 -0
- package/dist/activities/execute-cursor/__test-utils__/contract-subject.d.ts +107 -0
- package/dist/activities/execute-cursor/__test-utils__/contract-subject.js +344 -0
- package/dist/activities/execute-cursor/__test-utils__/contract-subject.js.map +1 -0
- package/dist/activities/execute-cursor/__test-utils__/cursor-hook-harness.d.ts +20 -0
- package/dist/activities/execute-cursor/__test-utils__/cursor-hook-harness.js +58 -0
- package/dist/activities/execute-cursor/__test-utils__/cursor-hook-harness.js.map +1 -1
- package/dist/activities/execute-cursor/__test-utils__/gateway-substrate.js +2 -32
- package/dist/activities/execute-cursor/__test-utils__/gateway-substrate.js.map +1 -1
- package/dist/activities/execute-cursor/__test-utils__/hermetic-cursor.d.ts +148 -0
- package/dist/activities/execute-cursor/__test-utils__/hermetic-cursor.js +257 -0
- package/dist/activities/execute-cursor/__test-utils__/hermetic-cursor.js.map +1 -0
- package/dist/activities/execute-cursor/__test-utils__/scripted-agent.d.ts +183 -0
- package/dist/activities/execute-cursor/__test-utils__/scripted-agent.js +262 -0
- package/dist/activities/execute-cursor/__test-utils__/scripted-agent.js.map +1 -0
- package/dist/activities/execute-cursor/__test-utils__/scripted-sdk.d.ts +138 -0
- package/dist/activities/execute-cursor/__test-utils__/scripted-sdk.js +191 -0
- package/dist/activities/execute-cursor/__test-utils__/scripted-sdk.js.map +1 -0
- package/dist/activities/execute-cursor/adapter.d.ts +55 -0
- package/dist/activities/execute-cursor/adapter.js +119 -0
- package/dist/activities/execute-cursor/adapter.js.map +1 -0
- package/dist/activities/execute-cursor/approval-state.d.ts +2 -2
- package/dist/activities/execute-cursor/approval-state.js.map +1 -1
- package/dist/activities/execute-cursor/capture-flow.d.ts +15 -30
- package/dist/activities/execute-cursor/capture-flow.js +17 -26
- package/dist/activities/execute-cursor/capture-flow.js.map +1 -1
- package/dist/activities/execute-cursor/cursor-capabilities.d.ts +23 -0
- package/dist/activities/execute-cursor/cursor-capabilities.js +33 -0
- package/dist/activities/execute-cursor/cursor-capabilities.js.map +1 -0
- package/dist/activities/execute-cursor/cursor-mcp-config.d.ts +2 -2
- package/dist/activities/execute-cursor/cursor-mcp-config.js.map +1 -1
- package/dist/activities/execute-cursor/fetch-interceptor.d.ts +15 -25
- package/dist/activities/execute-cursor/fetch-interceptor.js +39 -33
- package/dist/activities/execute-cursor/fetch-interceptor.js.map +1 -1
- package/dist/activities/execute-cursor/http2-interceptor.d.ts +21 -17
- package/dist/activities/execute-cursor/http2-interceptor.js +38 -31
- package/dist/activities/execute-cursor/http2-interceptor.js.map +1 -1
- package/dist/activities/execute-cursor/message-translator.d.ts +28 -19
- package/dist/activities/execute-cursor/message-translator.js +76 -27
- package/dist/activities/execute-cursor/message-translator.js.map +1 -1
- package/dist/activities/execute-cursor/prompt-builder.d.ts +180 -11
- package/dist/activities/execute-cursor/prompt-builder.js +171 -0
- package/dist/activities/execute-cursor/prompt-builder.js.map +1 -1
- package/dist/activities/execute-cursor/rejection-capture.d.ts +3 -6
- package/dist/activities/execute-cursor/rejection-capture.js +5 -7
- package/dist/activities/execute-cursor/rejection-capture.js.map +1 -1
- package/dist/activities/execute-cursor/session-lifecycle.d.ts +1 -4
- package/dist/activities/execute-cursor/session-lifecycle.js.map +1 -1
- package/dist/activities/execute-cursor/turn-boundary.d.ts +1 -1
- package/dist/activities/execute-cursor/turn-settle.d.ts +49 -0
- package/dist/activities/execute-cursor/turn-settle.js +507 -0
- package/dist/activities/execute-cursor/turn-settle.js.map +1 -0
- package/dist/activities/execute-cursor/turn-setup.d.ts +173 -0
- package/dist/activities/execute-cursor/turn-setup.js +496 -0
- package/dist/activities/execute-cursor/turn-setup.js.map +1 -0
- package/dist/activities/execute-cursor/turn-stream.d.ts +41 -71
- package/dist/activities/execute-cursor/turn-stream.js +70 -135
- package/dist/activities/execute-cursor/turn-stream.js.map +1 -1
- package/dist/activities/execute-cursor/turn.d.ts +43 -0
- package/dist/activities/execute-cursor/turn.js +222 -0
- package/dist/activities/execute-cursor/turn.js.map +1 -0
- package/dist/activities/execute-cursor/usage-pricing.d.ts +38 -0
- package/dist/activities/execute-cursor/usage-pricing.js +50 -0
- package/dist/activities/execute-cursor/usage-pricing.js.map +1 -0
- package/dist/activities/execute-deep-agent/approval-file-change.d.ts +1 -1
- package/dist/activities/execute-deep-agent/approval-file-change.js +1 -1
- package/dist/activities/execute-deep-agent/environment.js +1 -1
- package/dist/activities/execute-deep-agent/environment.js.map +1 -1
- package/dist/activities/execute-deep-agent/setup.js +3 -2
- package/dist/activities/execute-deep-agent/setup.js.map +1 -1
- package/dist/activities/hydrate-workflow-execution.js +1 -1
- package/dist/activities/hydrate-workflow-execution.js.map +1 -1
- package/dist/config.d.ts +15 -0
- package/dist/config.js.map +1 -1
- package/dist/harness/capabilities.d.ts +87 -0
- package/dist/harness/capabilities.js +37 -0
- package/dist/harness/capabilities.js.map +1 -0
- package/dist/harness/persist-chokepoint.d.ts +74 -0
- package/dist/harness/persist-chokepoint.js +88 -0
- package/dist/harness/persist-chokepoint.js.map +1 -0
- package/dist/harness/registry.d.ts +106 -0
- package/dist/harness/registry.js +168 -0
- package/dist/harness/registry.js.map +1 -0
- package/dist/harness/run-turn.d.ts +53 -0
- package/dist/harness/run-turn.js +528 -0
- package/dist/harness/run-turn.js.map +1 -0
- package/dist/harness/stop-controller.d.ts +50 -0
- package/dist/harness/stop-controller.js +62 -0
- package/dist/harness/stop-controller.js.map +1 -0
- package/dist/harness/terminal-table.d.ts +141 -0
- package/dist/harness/terminal-table.js +239 -0
- package/dist/harness/terminal-table.js.map +1 -0
- package/dist/harness/turn-context.d.ts +523 -0
- package/dist/harness/turn-context.js +739 -0
- package/dist/harness/turn-context.js.map +1 -0
- package/dist/harness/types.d.ts +448 -0
- package/dist/harness/types.js +64 -0
- package/dist/harness/types.js.map +1 -0
- package/dist/harness/usage-accumulator.d.ts +68 -0
- package/dist/harness/usage-accumulator.js +101 -0
- package/dist/harness/usage-accumulator.js.map +1 -0
- package/dist/harness-adapters.d.ts +27 -0
- package/dist/harness-adapters.js +28 -0
- package/dist/harness-adapters.js.map +1 -0
- package/dist/main.js.map +1 -1
- package/dist/runner-manager.js +64 -48
- package/dist/runner-manager.js.map +1 -1
- package/dist/runner.d.ts +5 -4
- package/dist/runner.js +65 -64
- package/dist/runner.js.map +1 -1
- package/dist/shared/approval-policy.d.ts +1 -1
- package/dist/shared/approval-policy.js.map +1 -1
- package/dist/{activities/execute-cursor → shared}/attachment-resolver.d.ts +2 -2
- package/dist/{activities/execute-cursor → shared}/attachment-resolver.js +5 -5
- package/dist/shared/attachment-resolver.js.map +1 -0
- package/dist/{activities/execute-cursor → shared}/blueprint-resolver.d.ts +7 -5
- package/dist/{activities/execute-cursor → shared}/blueprint-resolver.js +3 -63
- package/dist/shared/blueprint-resolver.js.map +1 -0
- package/dist/shared/channel-attachment.d.ts +1 -1
- package/dist/shared/channel-attachment.js.map +1 -1
- package/dist/{activities/execute-cursor → shared}/cost-guard.d.ts +5 -1
- package/dist/{activities/execute-cursor → shared}/cost-guard.js +5 -1
- package/dist/shared/cost-guard.js.map +1 -0
- package/dist/{activities/execute-cursor → shared}/env-resolver.d.ts +1 -1
- package/dist/shared/env-resolver.js.map +1 -0
- package/dist/{activities/execute-cursor → shared}/exact-apply.d.ts +1 -1
- package/dist/{activities/execute-cursor → shared}/exact-apply.js +6 -6
- package/dist/shared/exact-apply.js.map +1 -0
- package/dist/shared/execution-context.d.ts +35 -0
- package/dist/shared/execution-context.js +38 -0
- package/dist/shared/execution-context.js.map +1 -0
- package/dist/{activities/execute-cursor → shared}/extract-structured-output.d.ts +5 -2
- package/dist/{activities/execute-cursor → shared}/extract-structured-output.js +9 -6
- package/dist/shared/extract-structured-output.js.map +1 -0
- package/dist/shared/filereview/capture.d.ts +1 -1
- package/dist/shared/filereview/capture.js +1 -1
- package/dist/shared/heartbeat.d.ts +13 -11
- package/dist/shared/heartbeat.js +14 -29
- package/dist/shared/heartbeat.js.map +1 -1
- package/dist/{activities/execute-cursor → shared}/persist-decision.d.ts +5 -2
- package/dist/{activities/execute-cursor → shared}/persist-decision.js +4 -1
- package/dist/shared/persist-decision.js.map +1 -0
- package/dist/{activities/execute-cursor → shared}/skill-resolver.d.ts +16 -3
- package/dist/{activities/execute-cursor → shared}/skill-resolver.js +12 -4
- package/dist/shared/skill-resolver.js.map +1 -0
- package/dist/shared/subagent-rows.d.ts +21 -0
- package/dist/shared/subagent-rows.js +34 -0
- package/dist/shared/subagent-rows.js.map +1 -0
- package/dist/shared/worker-shutdown.d.ts +43 -16
- package/dist/shared/worker-shutdown.js +28 -13
- package/dist/shared/worker-shutdown.js.map +1 -1
- package/dist/shared/workspace/platform-dir.d.ts +1 -1
- package/dist/shared/workspace/platform-dir.js +1 -1
- package/dist/shared/workspace/session-provision.d.ts +54 -0
- package/dist/{activities/execute-cursor/workspace-provision.js → shared/workspace/session-provision.js} +15 -12
- package/dist/shared/workspace/session-provision.js.map +1 -0
- package/package.json +4 -4
- package/src/__test-utils__/__tests__/harness-contract-self-check.test.ts +325 -0
- package/src/__test-utils__/config-fixture.ts +63 -0
- package/src/__test-utils__/execution-record-fixture.ts +104 -0
- package/src/__test-utils__/harness-boot-order-child.ts +58 -0
- package/src/__test-utils__/harness-contract/contract.ts +581 -0
- package/src/__test-utils__/harness-contract/recording-sink.ts +107 -0
- package/src/__test-utils__/harness-contract/runtime-contract.ts +666 -0
- package/src/__test-utils__/harness-contract/scripted-adapter.ts +349 -0
- package/src/__test-utils__/harness-contract/types.ts +176 -0
- package/src/__test-utils__/hermetic-activity.ts +502 -0
- package/src/__test-utils__/model-registry-fixture.ts +72 -0
- package/src/__test-utils__/module-specifiers.ts +82 -0
- package/src/__test-utils__/proto-helpers.ts +25 -0
- package/src/__test-utils__/turn-input-fixture.ts +155 -0
- package/src/__tests__/harness-boot-order.test.ts +77 -0
- package/src/__tests__/harness-contract.test.ts +27 -0
- package/src/__tests__/runner-manager.test.ts +18 -0
- package/src/activities/execute-cursor/__test-utils__/__tests__/scripted-double.test.ts +102 -0
- package/src/activities/execute-cursor/__test-utils__/contract-subject.ts +396 -0
- package/src/activities/execute-cursor/__test-utils__/cursor-hook-harness.ts +66 -0
- package/src/activities/execute-cursor/__test-utils__/gateway-substrate.ts +2 -43
- package/src/activities/execute-cursor/__test-utils__/hermetic-cursor.ts +342 -0
- package/src/activities/execute-cursor/__test-utils__/scripted-agent.ts +368 -0
- package/src/activities/execute-cursor/__test-utils__/scripted-sdk.ts +254 -0
- package/src/activities/execute-cursor/__tests__/adapter-is-temporal-free.test.ts +45 -0
- package/src/activities/execute-cursor/__tests__/approval-decisions-agree.test.ts +90 -0
- package/src/activities/execute-cursor/__tests__/build-prompt.test.ts +7 -8
- package/src/activities/execute-cursor/__tests__/capture-flow.test.ts +28 -1
- package/src/activities/execute-cursor/__tests__/deny-gate-exact-apply.test.ts +1 -1
- package/src/activities/execute-cursor/__tests__/fetch-interceptor.test.ts +64 -6
- package/src/activities/execute-cursor/__tests__/hermetic/deny-and-retry.test.ts +228 -0
- package/src/activities/execute-cursor/__tests__/hermetic/file-review-capture.test.ts +180 -0
- package/src/activities/execute-cursor/__tests__/hermetic/goldens/cost-cap.status.json +53 -0
- package/src/activities/execute-cursor/__tests__/hermetic/goldens/deny-and-retry.turn1.status.json +55 -0
- package/src/activities/execute-cursor/__tests__/hermetic/goldens/deny-and-retry.turn2.status.json +77 -0
- package/src/activities/execute-cursor/__tests__/hermetic/goldens/file-review-capture.status.json +126 -0
- package/src/activities/execute-cursor/__tests__/hermetic/goldens/pause.status.json +40 -0
- package/src/activities/execute-cursor/__tests__/hermetic/goldens/plain-turn.status.json +48 -0
- package/src/activities/execute-cursor/__tests__/hermetic/goldens/platform-stop.status.json +56 -0
- package/src/activities/execute-cursor/__tests__/hermetic/goldens/recovery-fresh-agent.status.json +53 -0
- package/src/activities/execute-cursor/__tests__/hermetic/goldens/recovery-transport-timeout.status.json +48 -0
- package/src/activities/execute-cursor/__tests__/hermetic/goldens/resolution-error.status.json +18 -0
- package/src/activities/execute-cursor/__tests__/hermetic/goldens/run-cancelled.status.json +36 -0
- package/src/activities/execute-cursor/__tests__/hermetic/goldens/run-error-non-retryable.status.json +37 -0
- package/src/activities/execute-cursor/__tests__/hermetic/goldens/sdk-error-at-create.status.json +38 -0
- package/src/activities/execute-cursor/__tests__/hermetic/goldens/stall.status.json +59 -0
- package/src/activities/execute-cursor/__tests__/hermetic/goldens/tool-call.status.json +68 -0
- package/src/activities/execute-cursor/__tests__/hermetic/goldens/unattributed-hook-block.status.json +79 -0
- package/src/activities/execute-cursor/__tests__/hermetic/goldens/worker-shutdown.status.json +42 -0
- package/src/activities/execute-cursor/__tests__/hermetic/harness-contract.test.ts +170 -0
- package/src/activities/execute-cursor/__tests__/hermetic/pause-vs-shutdown.test.ts +205 -0
- package/src/activities/execute-cursor/__tests__/hermetic/plain-turn.test.ts +171 -0
- package/src/activities/execute-cursor/__tests__/hermetic/recovery-fresh-agent.test.ts +156 -0
- package/src/activities/execute-cursor/__tests__/hermetic/run-wait-arms.test.ts +286 -0
- package/src/activities/execute-cursor/__tests__/hermetic/stream-self-stop-arms.test.ts +332 -0
- package/src/activities/execute-cursor/__tests__/hermetic/thrown-error-arms.test.ts +193 -0
- package/src/activities/execute-cursor/__tests__/hermetic/tool-call.test.ts +137 -0
- package/src/activities/execute-cursor/__tests__/hermetic/unattributed-hook-block.test.ts +185 -0
- package/src/activities/execute-cursor/__tests__/hermetic/workspace-lock-timeout.test.ts +151 -0
- package/src/activities/execute-cursor/__tests__/http2-interceptor.test.ts +65 -35
- package/src/activities/execute-cursor/__tests__/message-translator.test.ts +0 -40
- package/src/activities/execute-cursor/__tests__/same-identity-reproposal.test.ts +171 -0
- package/src/activities/execute-cursor/__tests__/turn-stream.test.ts +118 -243
- package/src/activities/execute-cursor/__tests__/usage-pricing.test.ts +84 -0
- package/src/activities/execute-cursor/adapter.ts +138 -0
- package/src/activities/execute-cursor/approval-state.ts +2 -2
- package/src/activities/execute-cursor/capture-flow.ts +18 -41
- package/src/activities/execute-cursor/cursor-capabilities.ts +35 -0
- package/src/activities/execute-cursor/cursor-mcp-config.ts +2 -2
- package/src/activities/execute-cursor/fetch-interceptor.ts +48 -45
- package/src/activities/execute-cursor/http2-interceptor.ts +47 -34
- package/src/activities/execute-cursor/message-translator.ts +90 -45
- package/src/activities/execute-cursor/prompt-builder.ts +327 -12
- package/src/activities/execute-cursor/rejection-capture.ts +5 -12
- package/src/activities/execute-cursor/session-lifecycle.ts +1 -5
- package/src/activities/execute-cursor/turn-boundary.ts +1 -1
- package/src/activities/execute-cursor/turn-settle.ts +601 -0
- package/src/activities/execute-cursor/turn-setup.ts +645 -0
- package/src/activities/execute-cursor/turn-stream.ts +84 -210
- package/src/activities/execute-cursor/turn.ts +240 -0
- package/src/activities/execute-cursor/usage-pricing.ts +67 -0
- package/src/activities/execute-deep-agent/approval-file-change.ts +1 -1
- package/src/activities/execute-deep-agent/environment.ts +1 -1
- package/src/activities/execute-deep-agent/setup.ts +3 -2
- package/src/activities/hydrate-workflow-execution.ts +1 -1
- package/src/config.ts +13 -0
- package/src/harness/__tests__/import-direction.test.ts +168 -0
- package/src/harness/__tests__/persist-chokepoint.test.ts +146 -0
- package/src/harness/__tests__/registry.test.ts +168 -0
- package/src/harness/__tests__/run-turn.test.ts +165 -0
- package/src/harness/__tests__/stop-controller.test.ts +49 -0
- package/src/harness/__tests__/turn-context.test.ts +178 -0
- package/src/harness/__tests__/usage-accumulator.test.ts +83 -0
- package/src/harness/capabilities.ts +92 -0
- package/src/harness/persist-chokepoint.ts +112 -0
- package/src/harness/registry.ts +197 -0
- package/src/harness/run-turn.ts +618 -0
- package/src/harness/stop-controller.ts +83 -0
- package/src/harness/terminal-table.ts +276 -0
- package/src/harness/turn-context.ts +1028 -0
- package/src/harness/types.ts +473 -0
- package/src/harness/usage-accumulator.ts +122 -0
- package/src/harness-adapters.ts +30 -0
- package/src/main.ts +1 -1
- package/src/runner-manager.ts +68 -61
- package/src/runner.ts +67 -78
- package/src/shared/__tests__/attachment-naming.test.ts +1 -1
- package/src/{activities/execute-cursor → shared}/__tests__/attachment-resolver.test.ts +6 -4
- package/src/{activities/execute-cursor → shared}/__tests__/cost-guard.test.ts +2 -1
- package/src/{activities/execute-cursor → shared}/__tests__/exact-apply.test.ts +3 -3
- package/src/{activities/execute-cursor → shared}/__tests__/extract-structured-output.test.ts +8 -8
- package/src/{activities/execute-cursor → shared}/__tests__/persist-decision.test.ts +4 -2
- package/src/{activities/execute-cursor → shared}/__tests__/skill-resolver.test.ts +1 -1
- package/src/shared/__tests__/subagent-rows.test.ts +34 -0
- package/src/shared/__tests__/worker-shutdown.test.ts +44 -39
- package/src/shared/approval-policy.ts +1 -1
- package/src/{activities/execute-cursor → shared}/attachment-resolver.ts +6 -6
- package/src/{activities/execute-cursor → shared}/blueprint-resolver.ts +7 -78
- package/src/shared/channel-attachment.ts +1 -1
- package/src/{activities/execute-cursor → shared}/cost-guard.ts +5 -1
- package/src/{activities/execute-cursor → shared}/env-resolver.ts +1 -1
- package/src/{activities/execute-cursor → shared}/exact-apply.ts +7 -7
- package/src/shared/execution-context.ts +45 -0
- package/src/{activities/execute-cursor → shared}/extract-structured-output.ts +10 -7
- package/src/shared/filereview/capture.ts +1 -1
- package/src/shared/heartbeat.ts +13 -33
- package/src/{activities/execute-cursor → shared}/persist-decision.ts +5 -2
- package/src/{activities/execute-cursor → shared}/skill-resolver.ts +20 -6
- package/src/shared/subagent-rows.ts +39 -0
- package/src/shared/worker-shutdown.ts +55 -25
- package/src/{activities/execute-cursor/__tests__/workspace-provision.test.ts → shared/workspace/__tests__/session-provision.test.ts} +25 -28
- package/src/shared/workspace/platform-dir.ts +1 -1
- package/src/{activities/execute-cursor/workspace-provision.ts → shared/workspace/session-provision.ts} +29 -16
- package/dist/activities/execute-cursor/attachment-resolver.js.map +0 -1
- package/dist/activities/execute-cursor/blueprint-resolver.js.map +0 -1
- package/dist/activities/execute-cursor/cost-guard.js.map +0 -1
- package/dist/activities/execute-cursor/env-resolver.js.map +0 -1
- package/dist/activities/execute-cursor/exact-apply.js.map +0 -1
- package/dist/activities/execute-cursor/extract-structured-output.js.map +0 -1
- package/dist/activities/execute-cursor/index.d.ts +0 -209
- package/dist/activities/execute-cursor/index.js +0 -2345
- package/dist/activities/execute-cursor/index.js.map +0 -1
- package/dist/activities/execute-cursor/persist-decision.js.map +0 -1
- package/dist/activities/execute-cursor/skill-resolver.js.map +0 -1
- package/dist/activities/execute-cursor/usage-accumulator.d.ts +0 -89
- package/dist/activities/execute-cursor/usage-accumulator.js +0 -121
- package/dist/activities/execute-cursor/usage-accumulator.js.map +0 -1
- package/dist/activities/execute-cursor/workspace-provision.d.ts +0 -42
- package/dist/activities/execute-cursor/workspace-provision.js.map +0 -1
- package/src/activities/execute-cursor/__tests__/usage-accumulator.test.ts +0 -164
- package/src/activities/execute-cursor/index.ts +0 -2876
- package/src/activities/execute-cursor/usage-accumulator.ts +0 -169
- /package/dist/{activities/execute-cursor → shared}/env-resolver.js +0 -0
|
@@ -57,43 +57,73 @@ export function unregisterWorkerShutdownSignal(taskQueue: string): void {
|
|
|
57
57
|
registry.delete(taskQueue);
|
|
58
58
|
}
|
|
59
59
|
|
|
60
|
-
/**
|
|
60
|
+
/**
|
|
61
|
+
* Why Temporal cancelled the activity, as the SDK states it: the message of
|
|
62
|
+
* the `CancelledFailure` it aborted `Context.current().cancellationSignal`
|
|
63
|
+
* with (`@temporalio/activity`'s module header lists them — `CANCELLED` for a
|
|
64
|
+
* workflow-requested cancel, `TIMED_OUT` when a heartbeat or other timeout
|
|
65
|
+
* fired server-side, `NOT_FOUND` when the run closed, `WORKER_SHUTDOWN`,
|
|
66
|
+
* `HEARTBEAT_DETAILS_CONVERSION_FAILED`, `PAUSED`). `undefined` when no
|
|
67
|
+
* cancellation was delivered.
|
|
68
|
+
*/
|
|
69
|
+
export type CancellationReason = string | undefined;
|
|
70
|
+
|
|
71
|
+
/** The reason a cancellation signal carries, or `undefined` when it has not aborted. */
|
|
72
|
+
export function cancellationReasonOf(signal: AbortSignal): CancellationReason {
|
|
73
|
+
if (!signal.aborted) return undefined;
|
|
74
|
+
const reason: unknown = signal.reason;
|
|
75
|
+
if (reason instanceof Error) return reason.message;
|
|
76
|
+
return typeof reason === "string" ? reason : "CANCELLED";
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
/** The evidence a turn's interruption classification weighs (see below). */
|
|
61
80
|
export interface TurnInterruptionEvidence {
|
|
62
|
-
/** The
|
|
63
|
-
|
|
64
|
-
/** The periodic heartbeat threw CancelledFailure with the signal aborted. */
|
|
65
|
-
heartbeatWorkerShutdown: boolean;
|
|
66
|
-
/** Temporal delivered cancellation to the activity. */
|
|
67
|
-
cancellationSignalAborted: boolean;
|
|
81
|
+
/** The delivered cancellation's reason; `undefined` when none was delivered. */
|
|
82
|
+
readonly cancellationReason: CancellationReason;
|
|
68
83
|
/** This queue's worker-shutdown signal is aborted. */
|
|
69
|
-
shutdownSignalAborted: boolean;
|
|
84
|
+
readonly shutdownSignalAborted: boolean;
|
|
70
85
|
}
|
|
71
86
|
|
|
72
87
|
/**
|
|
73
|
-
*
|
|
74
|
-
*
|
|
75
|
-
*
|
|
88
|
+
* How Temporal's cancellation reads to the turn:
|
|
89
|
+
* - `worker-shutdown`: the runner is draining (the queue's signal, or the
|
|
90
|
+
* SDK's own `WORKER_SHUTDOWN`); FAILED with the shutdown copy, thrown.
|
|
91
|
+
* - `pause`: the workflow asked (`CANCELLED`, the Pause RPC's path);
|
|
92
|
+
* PAUSED, thrown.
|
|
93
|
+
* - `infrastructure`: the platform cancelled for its own reason (a heartbeat
|
|
94
|
+
* timeout, a closed run); FAILED with the unresponsive copy, thrown.
|
|
95
|
+
* - `none`: nothing was delivered.
|
|
96
|
+
*/
|
|
97
|
+
export type TurnInterruption = "worker-shutdown" | "pause" | "infrastructure" | "none";
|
|
98
|
+
|
|
99
|
+
/**
|
|
100
|
+
* Classify how (whether) Temporal interrupted the turn, from the two live
|
|
101
|
+
* facts: the reason on the cancellation signal and the queue's shutdown
|
|
102
|
+
* signal. Pure so the decision table is directly testable.
|
|
76
103
|
*
|
|
77
104
|
* The load-bearing rule is the grace-window guard (#776): an aborted
|
|
78
105
|
* shutdown signal ALONE is "none", because a run that completes normally
|
|
79
106
|
* inside the drain grace window reaches the classification with the signal
|
|
80
|
-
* already aborted and nothing actually interrupted. Shutdown requires
|
|
81
|
-
*
|
|
82
|
-
*
|
|
83
|
-
*
|
|
107
|
+
* already aborted and nothing actually interrupted. Shutdown requires a
|
|
108
|
+
* delivered cancellation alongside the signal.
|
|
109
|
+
*
|
|
110
|
+
* Until S2 M3 the evidence also carried two flags from the periodic
|
|
111
|
+
* heartbeat ("it threw `CancelledFailure`"), and a delivered cancellation
|
|
112
|
+
* without them read as "none". `Context.heartbeat()` never throws in the
|
|
113
|
+
* Temporal TypeScript SDK (it enqueues to the worker's heartbeat subject;
|
|
114
|
+
* `@temporalio/activity/lib/index.js` `Context.heartbeat`,
|
|
115
|
+
* `@temporalio/worker/lib/worker.js` the heartbeat callback), so the flags
|
|
116
|
+
* were never set and a pause was in fact recognised by the stream loop's
|
|
117
|
+
* own cancellation check. The reason the SDK puts on the signal is the
|
|
118
|
+
* direct identity that inference stood in for.
|
|
84
119
|
*/
|
|
85
|
-
export function classifyTurnInterruption(
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
const interrupted =
|
|
89
|
-
evidence.heartbeatCancelled ||
|
|
90
|
-
evidence.heartbeatWorkerShutdown ||
|
|
91
|
-
evidence.cancellationSignalAborted;
|
|
92
|
-
if (!interrupted) {
|
|
120
|
+
export function classifyTurnInterruption(evidence: TurnInterruptionEvidence): TurnInterruption {
|
|
121
|
+
const { cancellationReason, shutdownSignalAborted } = evidence;
|
|
122
|
+
if (cancellationReason === undefined) {
|
|
93
123
|
return "none";
|
|
94
124
|
}
|
|
95
|
-
if (
|
|
125
|
+
if (shutdownSignalAborted || cancellationReason === "WORKER_SHUTDOWN") {
|
|
96
126
|
return "worker-shutdown";
|
|
97
127
|
}
|
|
98
|
-
return
|
|
128
|
+
return cancellationReason === "CANCELLED" ? "pause" : "infrastructure";
|
|
99
129
|
}
|
|
@@ -1,3 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Pins session workspace provisioning: git-repo workspace entries are cloned
|
|
3
|
+
* locally (never delegated to a cloud agent), local-path entries are
|
|
4
|
+
* mounted, and a session with no entries gets its own empty per-session root.
|
|
5
|
+
* Harness-agnostic; the Cursor activity is today's only caller and the turn
|
|
6
|
+
* runtime takes it over in S2 M3.
|
|
7
|
+
*
|
|
8
|
+
* Uses a real, hermetic local git repository (no network, no harness API) so
|
|
9
|
+
* the clone is deterministic.
|
|
10
|
+
*/
|
|
11
|
+
|
|
1
12
|
import { describe, it, expect, beforeEach, afterEach } from "vitest";
|
|
2
13
|
import { execFileSync } from "node:child_process";
|
|
3
14
|
import { mkdtempSync, mkdirSync, writeFileSync, existsSync, readFileSync, rmSync } from "node:fs";
|
|
@@ -12,18 +23,7 @@ import {
|
|
|
12
23
|
} from "@stigmer/protos/ai/stigmer/agentic/session/v1/workspace_pb";
|
|
13
24
|
import type { WorkspaceEntry } from "@stigmer/protos/ai/stigmer/agentic/session/v1/workspace_pb";
|
|
14
25
|
import type { Session } from "@stigmer/protos/ai/stigmer/agentic/session/v1/api_pb";
|
|
15
|
-
import type
|
|
16
|
-
import { provisionCursorWorkspace } from "../workspace-provision.js";
|
|
17
|
-
|
|
18
|
-
/**
|
|
19
|
-
* Verifies that the Cursor harness provisions git-repo workspace entries
|
|
20
|
-
* locally (clones them) instead of relying on Cursor cloud agents. This is
|
|
21
|
-
* the behavior that makes git-backed Cursor sessions work now that cloud is
|
|
22
|
-
* disabled.
|
|
23
|
-
*
|
|
24
|
-
* Uses a real, hermetic local git repository (no network, no Cursor API) so
|
|
25
|
-
* the clone is deterministic.
|
|
26
|
-
*/
|
|
26
|
+
import { provisionSessionWorkspace, type SessionProvisionConfig } from "../session-provision.js";
|
|
27
27
|
|
|
28
28
|
const MARKER_FILE = "MARKER.txt";
|
|
29
29
|
const MARKER_CONTENT = "stigmer-cursor-clone-proof-7e3a1c";
|
|
@@ -55,11 +55,8 @@ function seedSourceRepo(branch = "main", content = MARKER_CONTENT): string {
|
|
|
55
55
|
return repo;
|
|
56
56
|
}
|
|
57
57
|
|
|
58
|
-
function makeConfig(workspaceRootDir: string):
|
|
59
|
-
return {
|
|
60
|
-
mode: "local",
|
|
61
|
-
workspaceRootDir,
|
|
62
|
-
} as unknown as Config;
|
|
58
|
+
function makeConfig(workspaceRootDir: string): SessionProvisionConfig {
|
|
59
|
+
return { mode: "local", workspaceRootDir };
|
|
63
60
|
}
|
|
64
61
|
|
|
65
62
|
function gitRepoSession(url: string, branch = "main"): Session {
|
|
@@ -114,7 +111,7 @@ function emptySession(): Session {
|
|
|
114
111
|
// these tests use a generous timeout instead of vitest's 5s default.
|
|
115
112
|
const GIT_TEST_TIMEOUT_MS = 30_000;
|
|
116
113
|
|
|
117
|
-
describe("
|
|
114
|
+
describe("provisionSessionWorkspace", () => {
|
|
118
115
|
beforeEach(() => {
|
|
119
116
|
tmpRoot = mkdtempSync(join(tmpdir(), "cursor-ws-"));
|
|
120
117
|
// Redirect the platform dir (~/.stigmer/...) into the temp tree so the
|
|
@@ -139,7 +136,7 @@ describe("provisionCursorWorkspace", () => {
|
|
|
139
136
|
mkdirSync(workspaceRoot, { recursive: true });
|
|
140
137
|
|
|
141
138
|
const { workspaceDirs: dirs, provisionResults, workspaceBackend } =
|
|
142
|
-
await
|
|
139
|
+
await provisionSessionWorkspace(
|
|
143
140
|
makeConfig(workspaceRoot),
|
|
144
141
|
gitRepoSession(source),
|
|
145
142
|
{},
|
|
@@ -168,7 +165,7 @@ describe("provisionCursorWorkspace", () => {
|
|
|
168
165
|
mkdirSync(join(workspaceRoot, "lost+found"), { recursive: true });
|
|
169
166
|
writeFileSync(join(workspaceRoot, "lost+found", "stray"), "fsck-artifact");
|
|
170
167
|
|
|
171
|
-
const { workspaceDirs: dirs } = await
|
|
168
|
+
const { workspaceDirs: dirs } = await provisionSessionWorkspace(
|
|
172
169
|
makeConfig(workspaceRoot),
|
|
173
170
|
gitRepoSession(source),
|
|
174
171
|
{},
|
|
@@ -203,7 +200,7 @@ describe("provisionCursorWorkspace", () => {
|
|
|
203
200
|
const workspaceRoot = join(tmpRoot, "default-branch-workspace");
|
|
204
201
|
mkdirSync(workspaceRoot, { recursive: true });
|
|
205
202
|
|
|
206
|
-
const { workspaceDirs: dirs } = await
|
|
203
|
+
const { workspaceDirs: dirs } = await provisionSessionWorkspace(
|
|
207
204
|
makeConfig(workspaceRoot),
|
|
208
205
|
gitRepoSessionNoBranch(source),
|
|
209
206
|
{},
|
|
@@ -228,7 +225,7 @@ describe("provisionCursorWorkspace", () => {
|
|
|
228
225
|
// a worktree here, so it must be left untouched.
|
|
229
226
|
mkdirSync(join(workspaceRoot, "lost+found"), { recursive: true });
|
|
230
227
|
|
|
231
|
-
const { workspaceDirs: dirs } = await
|
|
228
|
+
const { workspaceDirs: dirs } = await provisionSessionWorkspace(
|
|
232
229
|
makeConfig(workspaceRoot),
|
|
233
230
|
multiGitRepoSession([
|
|
234
231
|
{ name: "frontend", url: frontend },
|
|
@@ -266,7 +263,7 @@ describe("provisionCursorWorkspace", () => {
|
|
|
266
263
|
// Leftovers from other sessions at the shared root must not be visible.
|
|
267
264
|
writeFileSync(join(workspaceRoot, "other-session-leftover.md"), "not yours");
|
|
268
265
|
|
|
269
|
-
const { workspaceDirs: dirs, provisionResults } = await
|
|
266
|
+
const { workspaceDirs: dirs, provisionResults } = await provisionSessionWorkspace(
|
|
270
267
|
makeConfig(workspaceRoot),
|
|
271
268
|
emptySession(),
|
|
272
269
|
{},
|
|
@@ -284,9 +281,9 @@ describe("provisionCursorWorkspace", () => {
|
|
|
284
281
|
mkdirSync(workspaceRoot, { recursive: true });
|
|
285
282
|
const config = makeConfig(workspaceRoot);
|
|
286
283
|
|
|
287
|
-
const turn1 = (await
|
|
284
|
+
const turn1 = (await provisionSessionWorkspace(config, emptySession(), {}, "stable-session")).workspaceDirs;
|
|
288
285
|
writeFileSync(join(turn1[0], "notes.md"), "turn 1 output");
|
|
289
|
-
const turn2 = (await
|
|
286
|
+
const turn2 = (await provisionSessionWorkspace(config, emptySession(), {}, "stable-session")).workspaceDirs;
|
|
290
287
|
|
|
291
288
|
expect(turn2).toEqual(turn1);
|
|
292
289
|
expect(readFileSync(join(turn2[0], "notes.md"), "utf-8")).toBe("turn 1 output");
|
|
@@ -297,8 +294,8 @@ describe("provisionCursorWorkspace", () => {
|
|
|
297
294
|
mkdirSync(workspaceRoot, { recursive: true });
|
|
298
295
|
const config = makeConfig(workspaceRoot);
|
|
299
296
|
|
|
300
|
-
const [dirA] = (await
|
|
301
|
-
const [dirB] = (await
|
|
297
|
+
const [dirA] = (await provisionSessionWorkspace(config, emptySession(), {}, "session-a")).workspaceDirs;
|
|
298
|
+
const [dirB] = (await provisionSessionWorkspace(config, emptySession(), {}, "session-b")).workspaceDirs;
|
|
302
299
|
|
|
303
300
|
expect(dirA).not.toBe(dirB);
|
|
304
301
|
writeFileSync(join(dirA, "a.md"), "session a");
|
|
@@ -312,7 +309,7 @@ describe("provisionCursorWorkspace", () => {
|
|
|
312
309
|
const workspaceRoot = join(tmpRoot, "workspace-local");
|
|
313
310
|
mkdirSync(workspaceRoot, { recursive: true });
|
|
314
311
|
|
|
315
|
-
const { workspaceDirs: dirs } = await
|
|
312
|
+
const { workspaceDirs: dirs } = await provisionSessionWorkspace(
|
|
316
313
|
makeConfig(workspaceRoot),
|
|
317
314
|
localPathSession(projectDir),
|
|
318
315
|
{},
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
* path is written into the workspace itself.
|
|
13
13
|
*
|
|
14
14
|
* This module replaces the duplicated `getPlatformDir` helpers in
|
|
15
|
-
* execute-cursor/skill-resolver.ts and
|
|
15
|
+
* execute-cursor/skill-resolver.ts and shared/attachment-resolver.ts.
|
|
16
16
|
*/
|
|
17
17
|
|
|
18
18
|
import { join } from "node:path";
|
|
@@ -1,22 +1,35 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Local workspace provisioning for
|
|
2
|
+
* Local workspace provisioning for a harness turn.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
4
|
+
* Harness-agnostic: the Cursor activity is today's only caller, the turn
|
|
5
|
+
* runtime takes it over in S2 M3, and S3 retires the native twin
|
|
6
|
+
* (execute-deep-agent/setup.ts `provisionWorkspace`). Agents run LOCAL
|
|
7
|
+
* (cloud is disabled — see execute-cursor/cursor-mode.ts), so the runner
|
|
8
|
+
* must clone git-repo workspace entries itself and mount local-path entries
|
|
9
|
+
* before the agent runs. Cloud agents previously cloned git repos
|
|
10
|
+
* server-side; that path is no longer used.
|
|
8
11
|
*/
|
|
9
12
|
|
|
10
13
|
import type { Config } from "../../config.js";
|
|
11
14
|
import type { Session } from "@stigmer/protos/ai/stigmer/agentic/session/v1/api_pb";
|
|
12
|
-
import { WorkspaceProvisioner } from "
|
|
13
|
-
import type { ProvisionResult, WorkspaceBackend } from "
|
|
14
|
-
import { LocalWorkspaceBackend } from "
|
|
15
|
-
import { ensurePlatformDir } from "
|
|
16
|
-
import { resolveSessionWorkspaceRoot } from "
|
|
15
|
+
import { WorkspaceProvisioner } from "./provisioner.js";
|
|
16
|
+
import type { ProvisionResult, WorkspaceBackend } from "./types.js";
|
|
17
|
+
import { LocalWorkspaceBackend } from "./local-backend.js";
|
|
18
|
+
import { ensurePlatformDir } from "./platform-dir.js";
|
|
19
|
+
import { resolveSessionWorkspaceRoot } from "./session-root.js";
|
|
17
20
|
|
|
18
|
-
/**
|
|
19
|
-
|
|
21
|
+
/**
|
|
22
|
+
* The two runner settings provisioning reads. A `Pick` over `Config` rather
|
|
23
|
+
* than a fresh options type so a caller holding the whole `Config` (the turn
|
|
24
|
+
* orchestrator, and the runtime that replaces it) passes it unchanged, while
|
|
25
|
+
* the signature states exactly what is consumed: the root every workspace
|
|
26
|
+
* resolves under, and the mode that decides whether git entries are cloned
|
|
27
|
+
* or expected in place. A test constructs the two fields and nothing else.
|
|
28
|
+
*/
|
|
29
|
+
export type SessionProvisionConfig = Pick<Config, "workspaceRootDir" | "mode">;
|
|
30
|
+
|
|
31
|
+
/** What {@link provisionSessionWorkspace} hands back to the harness. */
|
|
32
|
+
export interface SessionWorkspaceProvision {
|
|
20
33
|
/** The directories the agent should operate in (never empty). */
|
|
21
34
|
readonly workspaceDirs: string[];
|
|
22
35
|
/**
|
|
@@ -33,7 +46,7 @@ export interface CursorWorkspaceProvision {
|
|
|
33
46
|
}
|
|
34
47
|
|
|
35
48
|
/**
|
|
36
|
-
* Provision the session's workspace entries for a LOCAL
|
|
49
|
+
* Provision the session's workspace entries for a LOCAL agent.
|
|
37
50
|
*
|
|
38
51
|
* Clones git-repo entries (using the user's GITHUB_TOKEN from the resolved
|
|
39
52
|
* execution environment) and mounts local-path entries, then returns the
|
|
@@ -46,12 +59,12 @@ export interface CursorWorkspaceProvision {
|
|
|
46
59
|
* provisionGit is idempotent (it reuses an existing clone), so this is safe
|
|
47
60
|
* to call on every execution, including multi-turn and HITL reinvocations.
|
|
48
61
|
*/
|
|
49
|
-
export async function
|
|
50
|
-
config:
|
|
62
|
+
export async function provisionSessionWorkspace(
|
|
63
|
+
config: SessionProvisionConfig,
|
|
51
64
|
session: Session,
|
|
52
65
|
envVars: Record<string, string>,
|
|
53
66
|
sessionId: string,
|
|
54
|
-
): Promise<
|
|
67
|
+
): Promise<SessionWorkspaceProvision> {
|
|
55
68
|
const entries = session.spec?.workspaceEntries ?? [];
|
|
56
69
|
const platformDir = await ensurePlatformDir(sessionId);
|
|
57
70
|
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"attachment-resolver.js","sourceRoot":"","sources":["../../../src/activities/execute-cursor/attachment-resolver.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"blueprint-resolver.js","sourceRoot":"","sources":["../../../src/activities/execute-cursor/blueprint-resolver.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"cost-guard.js","sourceRoot":"","sources":["../../../src/activities/execute-cursor/cost-guard.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH;;;;;;GAMG;AACH,MAAM,UAAU,eAAe,CAAC,UAAkB,EAAE,gBAAwB;IAC1E,OAAO,UAAU,GAAG,CAAC,IAAI,gBAAgB,IAAI,UAAU,CAAC;AAC1D,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,8BAA8B,CAAC;AAEtE,uDAAuD;AACvD,MAAM,UAAU,oBAAoB,CAAC,UAAkB,EAAE,gBAAwB;IAC/E,OAAO,CACL,GAAG,uBAAuB,oBAAoB;QAC9C,MAAM,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY;QAC9E,mCAAmC,CACpC,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAC/B,qDAAqD;IACrD,wCAAwC;IACxC,4DAA4D,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"env-resolver.js","sourceRoot":"","sources":["../../../src/activities/execute-cursor/env-resolver.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AASH;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,MAAqB,EACrB,WAAmB;IAEnB,4EAA4E;IAC5E,2EAA2E;IAC3E,wEAAwE;IACxE,kEAAkE;IAClE,0EAA0E;IAC1E,MAAM,WAAW,GAAG,MAAM,MAAM,CAAC,wBAAwB,CAAC;QACxD,gBAAgB,EAAE,WAAW;KAC9B,CAAC,CAAC;IAEH,IAAI,OAAO,CAAC;IACZ,IAAI,CAAC;QACH,OAAO,GAAG,MAAM,MAAM,CAAC,gCAAgC,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;IACpF,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,IAAI,GAAI,GAAyB,EAAE,IAAI,CAAC;QAC9C,4DAA4D;QAC5D,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC;YACf,OAAO,CAAC,GAAG,CACT,2CAA2C,WAAW,KAAK;gBACzD,oCAAoC,CACvC,CAAC;YACF,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,UAAU,EAAE,IAAI,GAAG,EAAE,EAAE,CAAC;QAChD,CAAC;QACD,MAAM,GAAG,CAAC;IACZ,CAAC;IAED,MAAM,OAAO,GAA2B,EAAE,CAAC;IAC3C,MAAM,UAAU,GAAG,IAAI,GAAG,EAAU,CAAC;IACrC,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC;IAEhC,IAAI,IAAI,EAAE,CAAC;QACT,KAAK,MAAM,CAAC,GAAG,EAAE,SAAS,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YACpD,OAAO,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC;YAC/B,IAAI,SAAS,CAAC,QAAQ,EAAE,CAAC;gBACvB,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACtB,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,CAAC,GAAG,CACT,8CAA8C;QAC5C,cAAc,OAAO,CAAC,QAAQ,EAAE,EAAE,IAAI;QACtC,aAAa,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,IAAI;QAC5C,gBAAgB,UAAU,CAAC,IAAI,IAAI;QACnC,SAAS,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CACrD,CAAC;IAEF,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC;AACjC,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"exact-apply.js","sourceRoot":"","sources":["../../../src/activities/execute-cursor/exact-apply.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+CG;AAEH,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC1D,OAAO,EACL,cAAc,EACd,cAAc,GACf,MAAM,8DAA8D,CAAC;AAMtE,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAChE,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAClF,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAEnE,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AActD;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,KAAK,UAAU,4BAA4B,CAChD,IAAuB;IAEvB,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;IAElC,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;QAChC,KAAK,MAAM,EAAE,IAAI,GAAG,CAAC,SAAS,EAAE,CAAC;YAC/B,IAAI,CAAC,wBAAwB,CAAC,EAAE,CAAC;gBAAE,SAAS;YAE5C,MAAM,IAAI,GAAG,UAAU,CAAC,EAAE,CAAC,CAAC;YAC5B,MAAM,OAAO,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;YACtC,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,iEAAiE;gBACjE,+CAA+C;gBAC/C,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,EAAE,2BAA2B,CAAC,CAAC;gBAC3D,SAAS;YACX,CAAC;YACD,4EAA4E;YAC5E,6EAA6E;YAC7E,iBAAiB;YACjB,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,GAAG,oBAAoB,CACnD,OAAO,EACP,IAAI,CAAC,gBAAgB,CAAC,OAAO;YAC7B,iBAAiB,CAAC,KAAK,CACxB,CAAC;YACF,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC;gBACnD,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,EAAE,6BAA6B,MAAM,EAAE,CAAC,CAAC;gBACrE,SAAS;YACX,CAAC;YAED,MAAM,OAAO,GAAG,+BAA+B,CAAC,EAAE,CAAC,CAAC;YACpD,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;gBACrB,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,EAAE,mCAAmC,CAAC,CAAC;gBACnE,SAAS;YACX,CAAC;YAED,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YACzD,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO,CACL,IAAI,CAAC,WAAW,EAChB,EAAE,EACF,iBAAiB,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CACpE,CAAC;gBACF,SAAS;YACX,CAAC;YAED,2EAA2E;YAC3E,4EAA4E;YAC5E,0EAA0E;YAC1E,2EAA2E;YAC3E,wEAAwE;YACxE,6BAA6B;YAC7B,EAAE,CAAC,MAAM,GAAG,cAAc,CAAC,mBAAmB,CAAC;YAC/C,IAAI,CAAC,EAAE,CAAC,WAAW;gBAAE,EAAE,CAAC,WAAW,GAAG,YAAY,EAAE,CAAC;YACrD,EAAE,CAAC,KAAK,GAAG,EAAE,CAAC;YACd,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YACnB,OAAO,CAAC,GAAG,CACT,sDAAsD,MAAM,GAAG;gBAC7D,SAAS,EAAE,CAAC,EAAE,mDAAmD;gBACjE,uBAAuB,IAAI,CAAC,WAAW,EAAE,CAC5C,CAAC;QACJ,CAAC;IACH,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,wBAAwB,CACtC,oBAAgD,EAChD,kBAAuC;IAEvC,OAAO,oBAAoB,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,kBAAkB,CAAC,GAAG,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;AACrF,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,+BAA+B,CAAC,EAAY;IAC1D,MAAM,OAAO,GAAG,mBAAmB,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC;IACpD,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,KAAK,cAAc;QAAE,OAAO,OAAO,CAAC;IACnE,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;;;;;GAWG;AACH,SAAS,wBAAwB,CAAC,EAAY;IAC5C,IAAI,EAAE,CAAC,MAAM,KAAK,cAAc,CAAC,0BAA0B;QAAE,OAAO,KAAK,CAAC;IAC1E,IACE,EAAE,CAAC,cAAc,KAAK,cAAc,CAAC,OAAO;QAC5C,EAAE,CAAC,cAAc,KAAK,cAAc,CAAC,WAAW,EAChD,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,mBAAmB,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC;AACtD,CAAC;AAED,mFAAmF;AACnF,SAAS,UAAU,CAAC,EAAY;IAC9B,OAAO,EAAE,CAAC,IAAI,IAAI,OAAO,EAAE,CAAC,IAAI,KAAK,QAAQ;QAC3C,CAAC,CAAE,EAAE,CAAC,IAAgC;QACtC,CAAC,CAAC,EAAE,CAAC;AACT,CAAC;AAED,iFAAiF;AACjF,SAAS,iBAAiB,CACxB,SAAiB,EACjB,aAAgC;IAEhC,MAAM,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;IAClC,OAAO,aAAa,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE;QAChC,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;QAC1B,IAAI,MAAM,KAAK,IAAI;YAAE,OAAO,IAAI,CAAC;QACjC,MAAM,GAAG,GAAG,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACnC,OAAO,GAAG,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IACjE,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,OAAO,CAAC,WAAmB,EAAE,EAAY,EAAE,MAAc;IAChE,OAAO,CAAC,GAAG,CACT,0EAA0E;QACxE,QAAQ,EAAE,CAAC,EAAE,YAAY,MAAM,eAAe,WAAW,EAAE,CAC9D,CAAC;AACJ,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"extract-structured-output.js","sourceRoot":"","sources":["../../../src/activities/execute-cursor/extract-structured-output.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAGH,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AAErE;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,aAAqB,EACrB,MAA+B,EAC/B,MAAc,EACd,YAAoB;IAEpB,MAAM,eAAe,GAAG,MAAM,eAAe,CAAC,YAAY,CAAC,CAAC;IAC5D,MAAM,aAAa,GAAG,MAAM,CAAC,aAAa,IAAI,SAAS,CAAC;IAExD,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,MAAM,QAAQ,GAAG,gBAAgB,CAAC,eAAe,CAAC,CAAC;QACnD,MAAM,OAAO,GAAG,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,sBAAsB,CAAC,QAAQ,CAAC,CAAC;QAC5E,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;YACrB,MAAM,IAAI,KAAK,CACb,0CAA0C,QAAQ,SAAS;gBAC3D,IAAI,eAAe,iCAAiC,OAAO,EAAE,CAC9D,CAAC;QACJ,CAAC;IACH,CAAC;IAED,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,MAAM,cAAc,CAAC;QAC1C,SAAS,EAAE,eAAe;QAC1B,aAAa;QACb,YAAY,EAAE,MAAM,CAAC,YAAY,IAAI,SAAS;QAC9C,SAAS,EAAE,IAAI;KAChB,CAAC,CAAC;IAEH,MAAM,SAAS,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;IAC1C,MAAM,UAAU,GAAG,GAAG,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC;IAEvD,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,MAAM,CAAC;QACrC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,sGAAsG,EAAE;QACnI,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE;KACzC,CAAC,CAAC;IAEH,OAAO,MAAM,IAAI,IAAI,CAAC;AACxB,CAAC"}
|
|
@@ -1,209 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* ExecuteCursor Temporal activity — the core of the cursor-runner service.
|
|
3
|
-
*
|
|
4
|
-
* Implements the same Slim-Payload Pattern as ExecuteGraphton:
|
|
5
|
-
* - Receives only executionId + harnessStateId (Cursor agentId)
|
|
6
|
-
* - Hydrates execution from DB via gRPC
|
|
7
|
-
* - Resolves full agent blueprint (instructions, MCP servers, skills, sub-agents)
|
|
8
|
-
* - Runs the Cursor agent, streams events, reports status
|
|
9
|
-
* - Returns slim AgentExecutionStatus to workflow
|
|
10
|
-
*
|
|
11
|
-
* Durable HITL Model:
|
|
12
|
-
* When a tool requires approval, the preToolUse hook denies it. The activity
|
|
13
|
-
* captures the denied tool details, reports WAITING_FOR_APPROVAL, and RETURNS
|
|
14
|
-
* to the workflow. The workflow waits for the approvalGateResolved signal,
|
|
15
|
-
* then reinvokes this activity. On reinvocation, the activity resumes the
|
|
16
|
-
* Cursor Agent and prompts it to execute the approved tool.
|
|
17
|
-
*
|
|
18
|
-
* This is identical to the LangGraph flow from the workflow's perspective.
|
|
19
|
-
*
|
|
20
|
-
* Durable Continuation Model:
|
|
21
|
-
* Conversation continuity is carried by the Cursor SDK's native local agent
|
|
22
|
-
* state, whose SQLite store is persisted on the durable workspace volume
|
|
23
|
-
* (see resolvePlatformOptions) so Agent.resume() survives pod restart,
|
|
24
|
-
* reschedule, and snapshot restore. When resume fails (store lost/corrupted
|
|
25
|
-
* or agent unknown), resolveAgent() creates a fresh agent and the next turn
|
|
26
|
-
* starts from the user message plus re-injected instructions.
|
|
27
|
-
*/
|
|
28
|
-
import { InteractionMode, ApprovalAction } from "@stigmer/protos/ai/stigmer/agentic/agentexecution/v1/enum_pb";
|
|
29
|
-
import type { Config } from "../../config.js";
|
|
30
|
-
import type { AgentResolution, AgentResolutionReason } from "./session-lifecycle.js";
|
|
31
|
-
import { type ExecuteActivityInput } from "../../shared/activity-input.js";
|
|
32
|
-
/**
|
|
33
|
-
* Creates the activity functions bound to the runner config.
|
|
34
|
-
* Returned object is passed to Temporal Worker.create({ activities }).
|
|
35
|
-
*/
|
|
36
|
-
export declare function createCursorActivities(config: Config): {
|
|
37
|
-
ExecuteCursor: (arg0: ExecuteActivityInput | string, arg1?: string) => Promise<unknown>;
|
|
38
|
-
};
|
|
39
|
-
export interface BuildPromptInput {
|
|
40
|
-
resolution: AgentResolution;
|
|
41
|
-
approvalDecisions: Map<string, ApprovalAction> | undefined;
|
|
42
|
-
instructions: string;
|
|
43
|
-
userMessage: string;
|
|
44
|
-
skills: import("./prompt-builder.js").SkillMetadata[];
|
|
45
|
-
/**
|
|
46
|
-
* Serving proactive channels + their templates (the DD-006 D2
|
|
47
|
-
* discovery read) — the `<available_channel_templates>` section.
|
|
48
|
-
*/
|
|
49
|
-
channelMessaging?: import("../../shared/channel-attachment.js").ChannelMessagingInfo[];
|
|
50
|
-
subAgents: import("@stigmer/protos/ai/stigmer/agentic/agent/v1/spec_pb").SubAgent[];
|
|
51
|
-
workspaceDirs: string[];
|
|
52
|
-
workspaceFileRefs: string[];
|
|
53
|
-
/**
|
|
54
|
-
* This turn's resolved attachments for the `<input_files>` section —
|
|
55
|
-
* final paths plus duplicate-rename disclosure (attachment-resolver.ts).
|
|
56
|
-
*/
|
|
57
|
-
attachments: import("./prompt-builder.js").AttachmentPromptEntry[];
|
|
58
|
-
/**
|
|
59
|
-
* Vision facts for the input-files section (T04): which attachments the
|
|
60
|
-
* model sees inline and which degraded to path-only. PER-TURN like the
|
|
61
|
-
* catchup — it rides both the enhanced prompt and a resumed turn's prefix.
|
|
62
|
-
*/
|
|
63
|
-
vision?: import("./prompt-builder.js").VisionPromptInfo;
|
|
64
|
-
/**
|
|
65
|
-
* What kind of URL the turn's storage backend mints (issue #532) — keys
|
|
66
|
-
* the input-files hand-off wording. Sourced from the resolved
|
|
67
|
-
* artifactStorage's self-description; absent when no storage resolved.
|
|
68
|
-
*/
|
|
69
|
-
downloadUrlKind?: import("../../shared/attachment-download-urls.js").DownloadUrlKind;
|
|
70
|
-
pendingApprovals: import("@stigmer/protos/ai/stigmer/agentic/agentexecution/v1/approval_pb").PendingApproval[];
|
|
71
|
-
/**
|
|
72
|
-
* Approved whole-file writes the runner already applied itself (exact-apply).
|
|
73
|
-
* The reinvocation prompt marks these as done so the model does not redo them;
|
|
74
|
-
* the remaining approved actions are the ones it must still carry out.
|
|
75
|
-
*/
|
|
76
|
-
appliedToolCallIds?: ReadonlySet<string>;
|
|
77
|
-
interactionMode?: InteractionMode;
|
|
78
|
-
/**
|
|
79
|
-
* The execution is a Build-from-plan turn (spec.execution_config
|
|
80
|
-
* .build_from_plan): both prompt paths carry the implement-plan directive.
|
|
81
|
-
*/
|
|
82
|
-
buildFromPlan?: boolean;
|
|
83
|
-
/**
|
|
84
|
-
* Rollover context bridge from `SessionSpec.metadata` (cloud DD-013).
|
|
85
|
-
* Only the enhanced-prompt path consumes it — a resumed agent's native
|
|
86
|
-
* context IS the previous conversation, so it needs no bridge.
|
|
87
|
-
*/
|
|
88
|
-
contextBridge?: string;
|
|
89
|
-
/**
|
|
90
|
-
* Channel sender identity from `SessionSpec.metadata`. Like the bridge,
|
|
91
|
-
* only the enhanced-prompt path consumes it — a resumed agent's native
|
|
92
|
-
* context already carries it from the session's first turn.
|
|
93
|
-
*/
|
|
94
|
-
senderIdentity?: import("../../shared/sender-identity.js").SenderIdentity;
|
|
95
|
-
/**
|
|
96
|
-
* Embedder-supplied session context from `SessionSpec.metadata`. Like
|
|
97
|
-
* the bridge, only the enhanced-prompt path consumes it — a resumed
|
|
98
|
-
* agent's native context already carries it from the session's first
|
|
99
|
-
* turn.
|
|
100
|
-
*/
|
|
101
|
-
sessionContext?: string;
|
|
102
|
-
/**
|
|
103
|
-
* Platform-declared standing preferences from the execution spec's
|
|
104
|
-
* `declared_preferences` (stigmer/stigmer#293). Like the bridge, only
|
|
105
|
-
* the enhanced-prompt path consumes it — deliberately frozen per Cursor
|
|
106
|
-
* session (DD-002 D3): the first turn delivers it into the agent's own
|
|
107
|
-
* conversation store, and repeating it on resumed turns would bloat the
|
|
108
|
-
* store with identical content.
|
|
109
|
-
*/
|
|
110
|
-
declaredPreferences?: import("../../shared/declared-preferences.js").DeclaredPreferencesContent;
|
|
111
|
-
/**
|
|
112
|
-
* The subject's confirmed memories from the execution spec's
|
|
113
|
-
* `recalled_memories` (stigmer/stigmer#293 Phase 2, DD-006). Like the
|
|
114
|
-
* preferences, only the enhanced-prompt path consumes it — deliberately
|
|
115
|
-
* frozen per Cursor session (DD-002 D3, inherited by DD-006 D4): the
|
|
116
|
-
* first turn delivers it into the agent's own conversation store, and
|
|
117
|
-
* repeating it on resumed turns would bloat the store with identical
|
|
118
|
-
* content.
|
|
119
|
-
*/
|
|
120
|
-
recalledMemories?: import("../../shared/recalled-memories.js").RecalledMemoriesContent;
|
|
121
|
-
/**
|
|
122
|
-
* Conversation catchup from the execution spec's `conversation_catchup`
|
|
123
|
-
* (cloud DD-006): what happened on the channel conversation that the
|
|
124
|
-
* agent has not seen. PER-TURN, so unlike the standing values
|
|
125
|
-
* above it rides BOTH prompt paths — the enhanced prompt and a resumed
|
|
126
|
-
* turn's prefix (the `interaction_mode` shape). Handback lands
|
|
127
|
-
* mid-session on a resumed agent: the resumed path is the one that
|
|
128
|
-
* matters. Once delivered, the digest persists in the agent's own
|
|
129
|
-
* conversation store; the next turn's field is composed fresh and is
|
|
130
|
-
* usually blank.
|
|
131
|
-
*/
|
|
132
|
-
conversationCatchup?: string;
|
|
133
|
-
/**
|
|
134
|
-
* The turn's recorded transcript rendered as digest lines
|
|
135
|
-
* (turn-recovery.ts), composed from `status.messages` at the call site.
|
|
136
|
-
* Consumed ONLY by the HITL-recovery shape — a fresh agent that replaced
|
|
137
|
-
* a lost one mid-HITL needs the story of the work it no longer remembers
|
|
138
|
-
* (issue #366); every other shape either has native context or no prior
|
|
139
|
-
* work to tell.
|
|
140
|
-
*/
|
|
141
|
-
turnRecoveryDigest?: string;
|
|
142
|
-
}
|
|
143
|
-
/**
|
|
144
|
-
* Select and build the appropriate prompt based on resolution reason and
|
|
145
|
-
* HITL state.
|
|
146
|
-
*
|
|
147
|
-
* Conversation continuation is carried entirely by the Cursor SDK's native
|
|
148
|
-
* agent state (the local SQLite store persisted on the durable workspace
|
|
149
|
-
* volume, or cloud server-side state) — there is no separate continuation
|
|
150
|
-
* store. The prompt therefore depends only on how the agent was resolved:
|
|
151
|
-
*
|
|
152
|
-
* 1. HITL reinvocation, -> buildReinvocationPrompt (approval decisions
|
|
153
|
-
* resumed agent only; the resumed agent's native context
|
|
154
|
-
* carries the prior conversation)
|
|
155
|
-
* 2. HITL reinvocation, -> buildHitlRecoveryPrompt (full context +
|
|
156
|
-
* fresh agent after the turn's recorded transcript + decisions;
|
|
157
|
-
* resume failure the replacement agent's conversation is
|
|
158
|
-
* empty, and both fresh-agent crossings —
|
|
159
|
-
* resolution-time resume failure and mid-send
|
|
160
|
-
* poisoned-handle recovery — land here by
|
|
161
|
-
* keying on the reason, issue #366)
|
|
162
|
-
* 3. resumed_successfully -> raw userMessage (native context carries it)
|
|
163
|
-
* 4. first execution / fresh -> buildEnhancedPrompt (full instructions +
|
|
164
|
-
* agent after resume failure skills; no prior conversation to inherit)
|
|
165
|
-
*/
|
|
166
|
-
/**
|
|
167
|
-
* Whether this activity invocation is a HITL re-invocation — the turn resumes
|
|
168
|
-
* an agent purely to convey approval decisions, carrying NO user message.
|
|
169
|
-
* Discriminates the two surfaces that depend on the agent already holding
|
|
170
|
-
* this turn's content natively — the prompt shape (below) and the primary
|
|
171
|
-
* send's vision payload — but never alone: both pair it with
|
|
172
|
-
* `resolution.reason`, because a FRESH agent mid-HITL holds nothing and
|
|
173
|
-
* needs the full re-delivery (issue #366).
|
|
174
|
-
*/
|
|
175
|
-
export declare function isHitlReinvocation(approvalDecisions: Map<string, ApprovalAction> | undefined): approvalDecisions is Map<string, ApprovalAction>;
|
|
176
|
-
/**
|
|
177
|
-
* Whether the PRIMARY send delivers the turn's vision payload. The invariant
|
|
178
|
-
* is "images accompany the user's turn message, wherever the conversation
|
|
179
|
-
* does not already hold them" — so the only send that skips them is a HITL
|
|
180
|
-
* re-invocation of a successfully RESUMED agent, whose native conversation
|
|
181
|
-
* carries the images from the original send. A fresh agent mid-HITL
|
|
182
|
-
* (resolution-time resume failure — issue #366's vision corollary) holds
|
|
183
|
-
* nothing and needs the re-delivery. The mid-send recovery retries always
|
|
184
|
-
* run on a fresh agent, so their send sites carry the payload
|
|
185
|
-
* unconditionally rather than consulting this.
|
|
186
|
-
*/
|
|
187
|
-
export declare function primarySendCarriesImages(approvalDecisions: Map<string, ApprovalAction> | undefined, reason: AgentResolutionReason): boolean;
|
|
188
|
-
/**
|
|
189
|
-
* Whether a prompt built for this resolution carries the STANDING context —
|
|
190
|
-
* instructions, skills, declared preferences, recalled memories, session
|
|
191
|
-
* context. Exactly one resolution shape does not: a successfully RESUMED
|
|
192
|
-
* agent, whose native conversation already holds the first message's
|
|
193
|
-
* context (both its prompt shapes — the raw follow-up and the
|
|
194
|
-
* decisions-only HITL reinvocation — send no standing sections).
|
|
195
|
-
*
|
|
196
|
-
* The named authority for that routing property (the
|
|
197
|
-
* primarySendCarriesImages idiom): buildPrompt's internal routing and the
|
|
198
|
-
* activity's standing-context preparation (e.g. the memory selection gate)
|
|
199
|
-
* both consult THIS predicate, so the two can never drift.
|
|
200
|
-
*/
|
|
201
|
-
export declare function promptCarriesStandingContext(reason: AgentResolutionReason): boolean;
|
|
202
|
-
/**
|
|
203
|
-
* Append the structured-output contract to a prompt when the execution
|
|
204
|
-
* requests one. A per-turn directive (the buildFromPlan rule): it must ride
|
|
205
|
-
* every prompt this turn sends — the primary send AND the poisoned-handle
|
|
206
|
-
* recovery rebuild, which previously lost it (issue #366 ride-along).
|
|
207
|
-
*/
|
|
208
|
-
export declare function appendStructuredOutputDirective(basePrompt: string, schema: Record<string, unknown> | undefined): string;
|
|
209
|
-
export declare function buildPrompt(input: BuildPromptInput): string;
|