@tangle-network/braid 0.2.2 → 0.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +256 -152
- package/THIRD_PARTY_LICENSES.json +8 -0
- package/THIRD_PARTY_NOTICES.md +5 -3
- package/dist/adapters/analysis/eval-analyst.d.ts.map +1 -1
- package/dist/adapters/analysis/eval-analyst.js +27 -7
- package/dist/adapters/analysis/eval-analyst.js.map +1 -1
- package/dist/adapters/analysis/managed-analysis-runtime.d.ts +3 -1
- package/dist/adapters/analysis/managed-analysis-runtime.d.ts.map +1 -1
- package/dist/adapters/analysis/managed-analysis-runtime.js +10 -2
- package/dist/adapters/analysis/managed-analysis-runtime.js.map +1 -1
- package/dist/adapters/analysis/python-runner.js +3 -3
- package/dist/adapters/analysis/python-runner.js.map +1 -1
- package/dist/adapters/analysis/question-analyst.d.ts +4 -4
- package/dist/adapters/analysis/question-analyst.d.ts.map +1 -1
- package/dist/adapters/analysis/question-analyst.js +192 -10
- package/dist/adapters/analysis/question-analyst.js.map +1 -1
- package/dist/adapters/analysis/runtime-model-owner.d.ts.map +1 -1
- package/dist/adapters/analysis/runtime-model-owner.js +19 -15
- package/dist/adapters/analysis/runtime-model-owner.js.map +1 -1
- package/dist/adapters/analysis/runtime-retained-model-call.d.ts.map +1 -1
- package/dist/adapters/analysis/runtime-retained-model-call.js +20 -8
- package/dist/adapters/analysis/runtime-retained-model-call.js.map +1 -1
- package/dist/adapters/analysis/trace-analysis-adapter.d.ts.map +1 -1
- package/dist/adapters/analysis/trace-analysis-adapter.js +17 -8
- package/dist/adapters/analysis/trace-analysis-adapter.js.map +1 -1
- package/dist/adapters/connections/aws-nitro-root-g1.d.ts +11 -0
- package/dist/adapters/connections/aws-nitro-root-g1.d.ts.map +1 -0
- package/dist/adapters/connections/aws-nitro-root-g1.js +24 -0
- package/dist/adapters/connections/aws-nitro-root-g1.js.map +1 -0
- package/dist/adapters/connections/cli-bridge-model-validation.d.ts +3 -1
- package/dist/adapters/connections/cli-bridge-model-validation.d.ts.map +1 -1
- package/dist/adapters/connections/cli-bridge-model-validation.js +11 -4
- package/dist/adapters/connections/cli-bridge-model-validation.js.map +1 -1
- package/dist/adapters/connections/nitro-confidential-attestation.d.ts +36 -0
- package/dist/adapters/connections/nitro-confidential-attestation.d.ts.map +1 -0
- package/dist/adapters/connections/nitro-confidential-attestation.js +255 -0
- package/dist/adapters/connections/nitro-confidential-attestation.js.map +1 -0
- package/dist/adapters/connections/production-connection-credentials.d.ts +6 -0
- package/dist/adapters/connections/production-connection-credentials.d.ts.map +1 -1
- package/dist/adapters/connections/production-connection-credentials.js +46 -2
- package/dist/adapters/connections/production-connection-credentials.js.map +1 -1
- package/dist/adapters/connections/production-connection-health.d.ts.map +1 -1
- package/dist/adapters/connections/production-connection-health.js +9 -4
- package/dist/adapters/connections/production-connection-health.js.map +1 -1
- package/dist/adapters/connections/production-connection-providers.d.ts +13 -0
- package/dist/adapters/connections/production-connection-providers.d.ts.map +1 -1
- package/dist/adapters/connections/production-connection-providers.js +59 -3
- package/dist/adapters/connections/production-connection-providers.js.map +1 -1
- package/dist/adapters/connections/production-connection-types.d.ts +10 -3
- package/dist/adapters/connections/production-connection-types.d.ts.map +1 -1
- package/dist/adapters/connections/production-connection-types.js.map +1 -1
- package/dist/adapters/connections/production-connections.d.ts +4 -2
- package/dist/adapters/connections/production-connections.d.ts.map +1 -1
- package/dist/adapters/connections/production-connections.js +2 -1
- package/dist/adapters/connections/production-connections.js.map +1 -1
- package/dist/adapters/connections/tangle-router-client.d.ts +20 -0
- package/dist/adapters/connections/tangle-router-client.d.ts.map +1 -0
- package/dist/adapters/connections/tangle-router-client.js +33 -0
- package/dist/adapters/connections/tangle-router-client.js.map +1 -0
- package/dist/adapters/runtime/abortable.d.ts +3 -0
- package/dist/adapters/runtime/abortable.d.ts.map +1 -0
- package/dist/adapters/runtime/abortable.js +12 -0
- package/dist/adapters/runtime/abortable.js.map +1 -0
- package/dist/adapters/runtime/agent-runtime-execution.d.ts +5 -0
- package/dist/adapters/runtime/agent-runtime-execution.d.ts.map +1 -1
- package/dist/adapters/runtime/agent-runtime-execution.js +75 -23
- package/dist/adapters/runtime/agent-runtime-execution.js.map +1 -1
- package/dist/adapters/runtime/cli-bridge-context-transfer.d.ts +13 -0
- package/dist/adapters/runtime/cli-bridge-context-transfer.d.ts.map +1 -0
- package/dist/adapters/runtime/cli-bridge-context-transfer.js +39 -0
- package/dist/adapters/runtime/cli-bridge-context-transfer.js.map +1 -0
- package/dist/adapters/runtime/cli-bridge-retained-execution.d.ts +3 -1
- package/dist/adapters/runtime/cli-bridge-retained-execution.d.ts.map +1 -1
- package/dist/adapters/runtime/cli-bridge-retained-execution.js +4 -0
- package/dist/adapters/runtime/cli-bridge-retained-execution.js.map +1 -1
- package/dist/adapters/runtime/cli-bridge-retained-run.d.ts.map +1 -1
- package/dist/adapters/runtime/cli-bridge-retained-run.js +28 -6
- package/dist/adapters/runtime/cli-bridge-retained-run.js.map +1 -1
- package/dist/adapters/runtime/lazy-execution.d.ts +49 -0
- package/dist/adapters/runtime/lazy-execution.d.ts.map +1 -0
- package/dist/adapters/runtime/lazy-execution.js +111 -0
- package/dist/adapters/runtime/lazy-execution.js.map +1 -0
- package/dist/adapters/runtime/mode-routing-execution.d.ts +27 -3
- package/dist/adapters/runtime/mode-routing-execution.d.ts.map +1 -1
- package/dist/adapters/runtime/mode-routing-execution.js +25 -0
- package/dist/adapters/runtime/mode-routing-execution.js.map +1 -1
- package/dist/adapters/runtime/native-interactive-run-broker.d.ts.map +1 -1
- package/dist/adapters/runtime/native-interactive-run-broker.js +1 -10
- package/dist/adapters/runtime/native-interactive-run-broker.js.map +1 -1
- package/dist/adapters/runtime/prepared-execution.d.ts +2 -2
- package/dist/adapters/runtime/prepared-execution.d.ts.map +1 -1
- package/dist/adapters/runtime/production-backend-common.d.ts +3 -1
- package/dist/adapters/runtime/production-backend-common.d.ts.map +1 -1
- package/dist/adapters/runtime/production-backend-common.js +7 -0
- package/dist/adapters/runtime/production-backend-common.js.map +1 -1
- package/dist/adapters/runtime/production-cli-bridge-backend.d.ts +9 -0
- package/dist/adapters/runtime/production-cli-bridge-backend.d.ts.map +1 -1
- package/dist/adapters/runtime/production-cli-bridge-backend.js +61 -27
- package/dist/adapters/runtime/production-cli-bridge-backend.js.map +1 -1
- package/dist/adapters/runtime/production-tangle-inference-backend.d.ts.map +1 -1
- package/dist/adapters/runtime/production-tangle-inference-backend.js +3 -2
- package/dist/adapters/runtime/production-tangle-inference-backend.js.map +1 -1
- package/dist/adapters/runtime/production-tangle-sandbox-backend.d.ts +8 -2
- package/dist/adapters/runtime/production-tangle-sandbox-backend.d.ts.map +1 -1
- package/dist/adapters/runtime/production-tangle-sandbox-backend.js +78 -12
- package/dist/adapters/runtime/production-tangle-sandbox-backend.js.map +1 -1
- package/dist/adapters/runtime/retained-execution-contract.d.ts +8 -4
- package/dist/adapters/runtime/retained-execution-contract.d.ts.map +1 -1
- package/dist/adapters/runtime/retained-execution-projection.d.ts +5 -5
- package/dist/adapters/runtime/retained-execution-projection.d.ts.map +1 -1
- package/dist/adapters/runtime/retained-execution-projection.js +8 -3
- package/dist/adapters/runtime/retained-execution-projection.js.map +1 -1
- package/dist/adapters/runtime/retained-execution-state.d.ts.map +1 -1
- package/dist/adapters/runtime/retained-execution-state.js +5 -0
- package/dist/adapters/runtime/retained-execution-state.js.map +1 -1
- package/dist/adapters/runtime/retained-execution-stream.d.ts +6 -1
- package/dist/adapters/runtime/retained-execution-stream.d.ts.map +1 -1
- package/dist/adapters/runtime/retained-execution-stream.js +47 -10
- package/dist/adapters/runtime/retained-execution-stream.js.map +1 -1
- package/dist/adapters/runtime/retained-execution.d.ts +24 -0
- package/dist/adapters/runtime/retained-execution.d.ts.map +1 -1
- package/dist/adapters/runtime/retained-execution.js +102 -20
- package/dist/adapters/runtime/retained-execution.js.map +1 -1
- package/dist/adapters/runtime/retained-native-continuation.d.ts +14 -0
- package/dist/adapters/runtime/retained-native-continuation.d.ts.map +1 -0
- package/dist/adapters/runtime/retained-native-continuation.js +110 -0
- package/dist/adapters/runtime/retained-native-continuation.js.map +1 -0
- package/dist/adapters/runtime/supervisor-control.d.ts +39 -11
- package/dist/adapters/runtime/supervisor-control.d.ts.map +1 -1
- package/dist/adapters/runtime/supervisor-control.js +115 -25
- package/dist/adapters/runtime/supervisor-control.js.map +1 -1
- package/dist/adapters/runtime/tangle-retained-execution.d.ts +5 -1
- package/dist/adapters/runtime/tangle-retained-execution.d.ts.map +1 -1
- package/dist/adapters/runtime/tangle-retained-execution.js +8 -1
- package/dist/adapters/runtime/tangle-retained-execution.js.map +1 -1
- package/dist/adapters/runtime/tangle-retained-interactive-contract.d.ts +2 -0
- package/dist/adapters/runtime/tangle-retained-interactive-contract.d.ts.map +1 -1
- package/dist/adapters/runtime/tangle-retained-interactive-contract.js +9 -0
- package/dist/adapters/runtime/tangle-retained-interactive-contract.js.map +1 -1
- package/dist/adapters/runtime/tangle-retained-interactive-execution.d.ts +5 -1
- package/dist/adapters/runtime/tangle-retained-interactive-execution.d.ts.map +1 -1
- package/dist/adapters/runtime/tangle-retained-interactive-execution.js +20 -3
- package/dist/adapters/runtime/tangle-retained-interactive-execution.js.map +1 -1
- package/dist/adapters/runtime/tangle-retained-run.d.ts +4 -2
- package/dist/adapters/runtime/tangle-retained-run.d.ts.map +1 -1
- package/dist/adapters/runtime/tangle-retained-run.js +110 -13
- package/dist/adapters/runtime/tangle-retained-run.js.map +1 -1
- package/dist/adapters/storage/sqlite-crypto.d.ts.map +1 -1
- package/dist/adapters/storage/sqlite-crypto.js +9 -1
- package/dist/adapters/storage/sqlite-crypto.js.map +1 -1
- package/dist/adapters/storage/storage-validation.d.ts +1 -1
- package/dist/adapters/storage/storage-validation.d.ts.map +1 -1
- package/dist/adapters/storage/storage-validation.js +2 -1
- package/dist/adapters/storage/storage-validation.js.map +1 -1
- package/dist/adapters/tui/application-ui-controller.d.ts.map +1 -1
- package/dist/adapters/tui/application-ui-controller.js +38 -5
- package/dist/adapters/tui/application-ui-controller.js.map +1 -1
- package/dist/adapters/tui/ui-capabilities.d.ts +2 -1
- package/dist/adapters/tui/ui-capabilities.d.ts.map +1 -1
- package/dist/adapters/tui/ui-capabilities.js +79 -31
- package/dist/adapters/tui/ui-capabilities.js.map +1 -1
- package/dist/adapters/tui/ui-command-dispatch.d.ts.map +1 -1
- package/dist/adapters/tui/ui-command-dispatch.js +15 -5
- package/dist/adapters/tui/ui-command-dispatch.js.map +1 -1
- package/dist/adapters/tui/ui-conversation-dispatch.d.ts +1 -1
- package/dist/adapters/tui/ui-conversation-dispatch.d.ts.map +1 -1
- package/dist/adapters/tui/ui-conversation-dispatch.js +83 -7
- package/dist/adapters/tui/ui-conversation-dispatch.js.map +1 -1
- package/dist/adapters/tui/ui-core-dispatch.d.ts.map +1 -1
- package/dist/adapters/tui/ui-core-dispatch.js +28 -4
- package/dist/adapters/tui/ui-core-dispatch.js.map +1 -1
- package/dist/adapters/tui/ui-entity-details.d.ts.map +1 -1
- package/dist/adapters/tui/ui-entity-details.js +26 -4
- package/dist/adapters/tui/ui-entity-details.js.map +1 -1
- package/dist/adapters/tui/ui-fixtures.d.ts +1 -1
- package/dist/adapters/tui/ui-fixtures.d.ts.map +1 -1
- package/dist/adapters/tui/ui-fixtures.js +41 -11
- package/dist/adapters/tui/ui-fixtures.js.map +1 -1
- package/dist/adapters/tui/ui-headless-dispatch.d.ts.map +1 -1
- package/dist/adapters/tui/ui-headless-dispatch.js +25 -7
- package/dist/adapters/tui/ui-headless-dispatch.js.map +1 -1
- package/dist/adapters/tui/ui-intelligence-dispatch.d.ts +2 -0
- package/dist/adapters/tui/ui-intelligence-dispatch.d.ts.map +1 -1
- package/dist/adapters/tui/ui-intelligence-dispatch.js +124 -26
- package/dist/adapters/tui/ui-intelligence-dispatch.js.map +1 -1
- package/dist/adapters/tui/ui-projection.d.ts +4 -2
- package/dist/adapters/tui/ui-projection.d.ts.map +1 -1
- package/dist/adapters/tui/ui-projection.js +94 -26
- package/dist/adapters/tui/ui-projection.js.map +1 -1
- package/dist/adapters/tui/ui-semantic-state.d.ts.map +1 -1
- package/dist/adapters/tui/ui-semantic-state.js +78 -21
- package/dist/adapters/tui/ui-semantic-state.js.map +1 -1
- package/dist/adapters/tui/ui-view-model.d.ts +1 -1
- package/dist/adapters/tui/ui-view-model.d.ts.map +1 -1
- package/dist/adapters/tui/ui-view-model.js +48 -6
- package/dist/adapters/tui/ui-view-model.js.map +1 -1
- package/dist/app/analysis-lifecycle.d.ts +3 -1
- package/dist/app/analysis-lifecycle.d.ts.map +1 -1
- package/dist/app/analysis-lifecycle.js +64 -2
- package/dist/app/analysis-lifecycle.js.map +1 -1
- package/dist/app/analysis-service.d.ts.map +1 -1
- package/dist/app/analysis-service.js +3 -2
- package/dist/app/analysis-service.js.map +1 -1
- package/dist/app/analysis-types.d.ts +2 -1
- package/dist/app/analysis-types.d.ts.map +1 -1
- package/dist/app/analysis-types.js.map +1 -1
- package/dist/app/application-interaction-actions.d.ts +6 -1
- package/dist/app/application-interaction-actions.d.ts.map +1 -1
- package/dist/app/application-interaction-actions.js +23 -9
- package/dist/app/application-interaction-actions.js.map +1 -1
- package/dist/app/application-lifecycle.d.ts +1 -0
- package/dist/app/application-lifecycle.d.ts.map +1 -1
- package/dist/app/application-lifecycle.js +2 -1
- package/dist/app/application-lifecycle.js.map +1 -1
- package/dist/app/application-options.d.ts +3 -1
- package/dist/app/application-options.d.ts.map +1 -1
- package/dist/app/application-port-builder.d.ts +1 -0
- package/dist/app/application-port-builder.d.ts.map +1 -1
- package/dist/app/application-port-builder.js +10 -1
- package/dist/app/application-port-builder.js.map +1 -1
- package/dist/app/application-port-runtime.d.ts +1 -0
- package/dist/app/application-port-runtime.d.ts.map +1 -1
- package/dist/app/application-port-runtime.js +1 -0
- package/dist/app/application-port-runtime.js.map +1 -1
- package/dist/app/application-ports.d.ts +18 -4
- package/dist/app/application-ports.d.ts.map +1 -1
- package/dist/app/application-runtime-wiring.d.ts.map +1 -1
- package/dist/app/application-runtime-wiring.js +23 -1
- package/dist/app/application-runtime-wiring.js.map +1 -1
- package/dist/app/application-support.d.ts +2 -1
- package/dist/app/application-support.d.ts.map +1 -1
- package/dist/app/application-support.js +29 -8
- package/dist/app/application-support.js.map +1 -1
- package/dist/app/application-transition.d.ts.map +1 -1
- package/dist/app/application-transition.js +9 -6
- package/dist/app/application-transition.js.map +1 -1
- package/dist/app/application-types.d.ts +6 -0
- package/dist/app/application-types.d.ts.map +1 -1
- package/dist/app/application.d.ts +7 -2
- package/dist/app/application.d.ts.map +1 -1
- package/dist/app/application.js +121 -12
- package/dist/app/application.js.map +1 -1
- package/dist/app/automation-actions.d.ts +7 -2
- package/dist/app/automation-actions.d.ts.map +1 -1
- package/dist/app/automation-actions.js +24 -19
- package/dist/app/automation-actions.js.map +1 -1
- package/dist/app/composition-options.d.ts +27 -0
- package/dist/app/composition-options.d.ts.map +1 -0
- package/dist/app/composition-options.js +2 -0
- package/dist/app/composition-options.js.map +1 -0
- package/dist/app/composition.d.ts +4 -58
- package/dist/app/composition.d.ts.map +1 -1
- package/dist/app/composition.js +14 -108
- package/dist/app/composition.js.map +1 -1
- package/dist/app/confidential-workspace-fork.d.ts +7 -0
- package/dist/app/confidential-workspace-fork.d.ts.map +1 -0
- package/dist/app/confidential-workspace-fork.js +26 -0
- package/dist/app/confidential-workspace-fork.js.map +1 -0
- package/dist/app/configuration-session.d.ts +9 -3
- package/dist/app/configuration-session.d.ts.map +1 -1
- package/dist/app/configuration-session.js +44 -2
- package/dist/app/configuration-session.js.map +1 -1
- package/dist/app/connection-errors.d.ts +1 -1
- package/dist/app/connection-errors.d.ts.map +1 -1
- package/dist/app/connection-errors.js.map +1 -1
- package/dist/app/connections.d.ts.map +1 -1
- package/dist/app/connections.js +21 -0
- package/dist/app/connections.js.map +1 -1
- package/dist/app/conversation-branch-effects.d.ts +12 -0
- package/dist/app/conversation-branch-effects.d.ts.map +1 -0
- package/dist/app/conversation-branch-effects.js +820 -0
- package/dist/app/conversation-branch-effects.js.map +1 -0
- package/dist/app/conversation-branches.d.ts +1 -0
- package/dist/app/conversation-branches.d.ts.map +1 -1
- package/dist/app/conversation-branches.js +171 -26
- package/dist/app/conversation-branches.js.map +1 -1
- package/dist/app/conversation-composition.d.ts +4 -0
- package/dist/app/conversation-composition.d.ts.map +1 -1
- package/dist/app/conversation-composition.js +3 -0
- package/dist/app/conversation-composition.js.map +1 -1
- package/dist/app/conversation-context.d.ts +17 -0
- package/dist/app/conversation-context.d.ts.map +1 -1
- package/dist/app/conversation-context.js +299 -0
- package/dist/app/conversation-context.js.map +1 -1
- package/dist/app/conversation-import-builder.d.ts.map +1 -1
- package/dist/app/conversation-import-builder.js +1 -2
- package/dist/app/conversation-import-builder.js.map +1 -1
- package/dist/app/conversation-lifecycle.d.ts.map +1 -1
- package/dist/app/conversation-lifecycle.js +1 -3
- package/dist/app/conversation-lifecycle.js.map +1 -1
- package/dist/app/conversation-support.d.ts +0 -1
- package/dist/app/conversation-support.d.ts.map +1 -1
- package/dist/app/conversation-support.js +0 -5
- package/dist/app/conversation-support.js.map +1 -1
- package/dist/app/conversation-types.d.ts +36 -3
- package/dist/app/conversation-types.d.ts.map +1 -1
- package/dist/app/conversations.d.ts +1 -1
- package/dist/app/conversations.d.ts.map +1 -1
- package/dist/app/default-profiles.d.ts +4 -0
- package/dist/app/default-profiles.d.ts.map +1 -0
- package/dist/app/default-profiles.js +16 -0
- package/dist/app/default-profiles.js.map +1 -0
- package/dist/app/durable-send.d.ts +1 -1
- package/dist/app/durable-send.d.ts.map +1 -1
- package/dist/app/durable-send.js +18 -11
- package/dist/app/durable-send.js.map +1 -1
- package/dist/app/interaction-controller.d.ts.map +1 -1
- package/dist/app/interaction-controller.js +78 -39
- package/dist/app/interaction-controller.js.map +1 -1
- package/dist/app/interaction-response-replay.d.ts +9 -2
- package/dist/app/interaction-response-replay.d.ts.map +1 -1
- package/dist/app/interaction-response-replay.js +11 -4
- package/dist/app/interaction-response-replay.js.map +1 -1
- package/dist/app/legacy-cancel.js +1 -1
- package/dist/app/legacy-cancel.js.map +1 -1
- package/dist/app/production-composition.d.ts +6 -1
- package/dist/app/production-composition.d.ts.map +1 -1
- package/dist/app/production-composition.js +77 -4
- package/dist/app/production-composition.js.map +1 -1
- package/dist/app/profile-selection.d.ts.map +1 -1
- package/dist/app/profile-selection.js +12 -2
- package/dist/app/profile-selection.js.map +1 -1
- package/dist/app/provider-values.d.ts.map +1 -1
- package/dist/app/provider-values.js +16 -3
- package/dist/app/provider-values.js.map +1 -1
- package/dist/app/run-admission-context.d.ts +3 -0
- package/dist/app/run-admission-context.d.ts.map +1 -0
- package/dist/app/run-admission-context.js +74 -0
- package/dist/app/run-admission-context.js.map +1 -0
- package/dist/app/run-admission-continuation.d.ts +1 -0
- package/dist/app/run-admission-continuation.d.ts.map +1 -1
- package/dist/app/run-admission-continuation.js +26 -14
- package/dist/app/run-admission-continuation.js.map +1 -1
- package/dist/app/run-admission-dispatch.d.ts.map +1 -1
- package/dist/app/run-admission-dispatch.js +60 -16
- package/dist/app/run-admission-dispatch.js.map +1 -1
- package/dist/app/run-admission-receipt.d.ts.map +1 -1
- package/dist/app/run-admission-receipt.js +8 -2
- package/dist/app/run-admission-receipt.js.map +1 -1
- package/dist/app/run-admission-request.d.ts.map +1 -1
- package/dist/app/run-admission-request.js +19 -0
- package/dist/app/run-admission-request.js.map +1 -1
- package/dist/app/run-admission-validation.d.ts +3 -3
- package/dist/app/run-admission-validation.d.ts.map +1 -1
- package/dist/app/run-admission-validation.js +33 -30
- package/dist/app/run-admission-validation.js.map +1 -1
- package/dist/app/run-continuation.d.ts +10 -7
- package/dist/app/run-continuation.d.ts.map +1 -1
- package/dist/app/run-continuation.js +31 -17
- package/dist/app/run-continuation.js.map +1 -1
- package/dist/app/run-controls.d.ts.map +1 -1
- package/dist/app/run-controls.js +21 -13
- package/dist/app/run-controls.js.map +1 -1
- package/dist/app/run-event-mapper.d.ts +7 -1
- package/dist/app/run-event-mapper.d.ts.map +1 -1
- package/dist/app/run-event-mapper.js +31 -15
- package/dist/app/run-event-mapper.js.map +1 -1
- package/dist/app/run-execution-snapshot.d.ts +8 -2
- package/dist/app/run-execution-snapshot.d.ts.map +1 -1
- package/dist/app/run-execution-snapshot.js +13 -1
- package/dist/app/run-execution-snapshot.js.map +1 -1
- package/dist/app/run-execution.d.ts.map +1 -1
- package/dist/app/run-execution.js +78 -12
- package/dist/app/run-execution.js.map +1 -1
- package/dist/app/run-final-recovery.d.ts +34 -0
- package/dist/app/run-final-recovery.d.ts.map +1 -0
- package/dist/app/run-final-recovery.js +132 -0
- package/dist/app/run-final-recovery.js.map +1 -0
- package/dist/app/run-ingestion.js +26 -7
- package/dist/app/run-ingestion.js.map +1 -1
- package/dist/app/run-ledger.d.ts +1 -1
- package/dist/app/run-ledger.d.ts.map +1 -1
- package/dist/app/run-ledger.js +2 -4
- package/dist/app/run-ledger.js.map +1 -1
- package/dist/app/run-recovery-context.d.ts.map +1 -1
- package/dist/app/run-recovery-context.js +8 -1
- package/dist/app/run-recovery-context.js.map +1 -1
- package/dist/app/run-replay.d.ts +5 -2
- package/dist/app/run-replay.d.ts.map +1 -1
- package/dist/app/run-replay.js +23 -7
- package/dist/app/run-replay.js.map +1 -1
- package/dist/app/run-status.d.ts +9 -1
- package/dist/app/run-status.d.ts.map +1 -1
- package/dist/app/run-status.js +61 -10
- package/dist/app/run-status.js.map +1 -1
- package/dist/app/run-stream-sanitizer.d.ts +21 -0
- package/dist/app/run-stream-sanitizer.d.ts.map +1 -0
- package/dist/app/run-stream-sanitizer.js +73 -0
- package/dist/app/run-stream-sanitizer.js.map +1 -0
- package/dist/app/shutdown-controller.d.ts +1 -1
- package/dist/app/shutdown-controller.d.ts.map +1 -1
- package/dist/app/shutdown-controller.js +25 -15
- package/dist/app/shutdown-controller.js.map +1 -1
- package/dist/app/storage-journal-support.d.ts +1 -1
- package/dist/app/storage-journal-support.d.ts.map +1 -1
- package/dist/app/storage-journal-support.js +8 -2
- package/dist/app/storage-journal-support.js.map +1 -1
- package/dist/app/supervisor-projection.d.ts +8 -0
- package/dist/app/supervisor-projection.d.ts.map +1 -1
- package/dist/app/supervisor-projection.js +14 -0
- package/dist/app/supervisor-projection.js.map +1 -1
- package/dist/app/supervisor-service.d.ts +6 -5
- package/dist/app/supervisor-service.d.ts.map +1 -1
- package/dist/app/supervisor-service.js +10 -6
- package/dist/app/supervisor-service.js.map +1 -1
- package/dist/app/workspace-request.d.ts +3 -0
- package/dist/app/workspace-request.d.ts.map +1 -0
- package/dist/app/workspace-request.js +2 -0
- package/dist/app/workspace-request.js.map +1 -0
- package/dist/bin/args.d.ts +1 -1
- package/dist/bin/args.d.ts.map +1 -1
- package/dist/bin/args.js +4 -2
- package/dist/bin/args.js.map +1 -1
- package/dist/bin/braid-runtime.d.ts.map +1 -1
- package/dist/bin/braid-runtime.js +3 -17
- package/dist/bin/braid-runtime.js.map +1 -1
- package/dist/bin/fixture-application.d.ts +9 -0
- package/dist/bin/fixture-application.d.ts.map +1 -0
- package/dist/bin/fixture-application.js +36 -0
- package/dist/bin/fixture-application.js.map +1 -0
- package/dist/bin/interface-runner.d.ts.map +1 -1
- package/dist/bin/interface-runner.js +3 -0
- package/dist/bin/interface-runner.js.map +1 -1
- package/dist/bin/interface-state-recorder.d.ts.map +1 -1
- package/dist/bin/interface-state-recorder.js +6 -2
- package/dist/bin/interface-state-recorder.js.map +1 -1
- package/dist/bin/native-interactive-actions.d.ts +1 -1
- package/dist/bin/native-interactive-actions.d.ts.map +1 -1
- package/dist/bin/native-interactive-actions.js +123 -24
- package/dist/bin/native-interactive-actions.js.map +1 -1
- package/dist/bin/production-application.d.ts.map +1 -1
- package/dist/bin/production-application.js +3 -0
- package/dist/bin/production-application.js.map +1 -1
- package/dist/bin/production-setup-credentials.d.ts.map +1 -1
- package/dist/bin/production-setup-credentials.js +6 -2
- package/dist/bin/production-setup-credentials.js.map +1 -1
- package/dist/bin/production-setup-discovery.d.ts.map +1 -1
- package/dist/bin/production-setup-discovery.js +3 -0
- package/dist/bin/production-setup-discovery.js.map +1 -1
- package/dist/bin/production-setup-persistence.d.ts.map +1 -1
- package/dist/bin/production-setup-persistence.js +4 -0
- package/dist/bin/production-setup-persistence.js.map +1 -1
- package/dist/bin/production-setup-types.d.ts +5 -0
- package/dist/bin/production-setup-types.d.ts.map +1 -1
- package/dist/bin/production-setup-validation.d.ts.map +1 -1
- package/dist/bin/production-setup-validation.js +19 -1
- package/dist/bin/production-setup-validation.js.map +1 -1
- package/dist/bin/production-startup.d.ts +2 -0
- package/dist/bin/production-startup.d.ts.map +1 -1
- package/dist/bin/production-startup.js +19 -0
- package/dist/bin/production-startup.js.map +1 -1
- package/dist/domain/bounded-structured.d.ts.map +1 -1
- package/dist/domain/bounded-structured.js +19 -0
- package/dist/domain/bounded-structured.js.map +1 -1
- package/dist/domain/connection-removal.d.ts +1 -1
- package/dist/domain/connection-removal.d.ts.map +1 -1
- package/dist/domain/connection-removal.js +3 -2
- package/dist/domain/connection-removal.js.map +1 -1
- package/dist/domain/entities-core.d.ts +19 -1
- package/dist/domain/entities-core.d.ts.map +1 -1
- package/dist/domain/entities-core.js +2 -0
- package/dist/domain/entities-core.js.map +1 -1
- package/dist/domain/entities-interactions.d.ts +9 -0
- package/dist/domain/entities-interactions.d.ts.map +1 -1
- package/dist/domain/events-legacy.d.ts +5 -0
- package/dist/domain/events-legacy.d.ts.map +1 -1
- package/dist/domain/events.d.ts +15 -0
- package/dist/domain/events.d.ts.map +1 -1
- package/dist/domain/events.js +13 -2
- package/dist/domain/events.js.map +1 -1
- package/dist/domain/interaction-identity.d.ts +4 -0
- package/dist/domain/interaction-identity.d.ts.map +1 -0
- package/dist/domain/interaction-identity.js +7 -0
- package/dist/domain/interaction-identity.js.map +1 -0
- package/dist/domain/invariants-base.d.ts +7 -0
- package/dist/domain/invariants-base.d.ts.map +1 -1
- package/dist/domain/invariants-base.js +106 -0
- package/dist/domain/invariants-base.js.map +1 -1
- package/dist/domain/invariants-profile.d.ts.map +1 -1
- package/dist/domain/invariants-profile.js +73 -1
- package/dist/domain/invariants-profile.js.map +1 -1
- package/dist/domain/invariants-retained-admission.d.ts +1 -0
- package/dist/domain/invariants-retained-admission.d.ts.map +1 -1
- package/dist/domain/invariants-retained-admission.js +12 -1
- package/dist/domain/invariants-retained-admission.js.map +1 -1
- package/dist/domain/invariants-run.d.ts.map +1 -1
- package/dist/domain/invariants-run.js +32 -4
- package/dist/domain/invariants-run.js.map +1 -1
- package/dist/domain/invariants-state.d.ts +1 -1
- package/dist/domain/invariants-state.d.ts.map +1 -1
- package/dist/domain/invariants-state.js +26 -0
- package/dist/domain/invariants-state.js.map +1 -1
- package/dist/domain/legacy-interaction-snapshot.d.ts.map +1 -1
- package/dist/domain/legacy-interaction-snapshot.js +95 -29
- package/dist/domain/legacy-interaction-snapshot.js.map +1 -1
- package/dist/domain/materialized-state-snapshot.d.ts.map +1 -1
- package/dist/domain/materialized-state-snapshot.js +33 -4
- package/dist/domain/materialized-state-snapshot.js.map +1 -1
- package/dist/domain/materialized-state.d.ts +5 -0
- package/dist/domain/materialized-state.d.ts.map +1 -1
- package/dist/domain/receipts.d.ts +3 -0
- package/dist/domain/receipts.d.ts.map +1 -1
- package/dist/domain/receipts.js +6 -0
- package/dist/domain/receipts.js.map +1 -1
- package/dist/domain/redaction.d.ts +1 -0
- package/dist/domain/redaction.d.ts.map +1 -1
- package/dist/domain/redaction.js +43 -2
- package/dist/domain/redaction.js.map +1 -1
- package/dist/domain/reducer-conversation-events.d.ts +1 -1
- package/dist/domain/reducer-conversation-events.d.ts.map +1 -1
- package/dist/domain/reducer-conversation-events.js +9 -6
- package/dist/domain/reducer-conversation-events.js.map +1 -1
- package/dist/domain/reducer-domain-events.d.ts +1 -1
- package/dist/domain/reducer-domain-events.d.ts.map +1 -1
- package/dist/domain/reducer-domain-events.js +30 -0
- package/dist/domain/reducer-domain-events.js.map +1 -1
- package/dist/domain/reducer-helpers.d.ts +6 -3
- package/dist/domain/reducer-helpers.d.ts.map +1 -1
- package/dist/domain/reducer-helpers.js +9 -9
- package/dist/domain/reducer-helpers.js.map +1 -1
- package/dist/domain/reducer-interactions.d.ts.map +1 -1
- package/dist/domain/reducer-interactions.js +31 -16
- package/dist/domain/reducer-interactions.js.map +1 -1
- package/dist/domain/reducer-legacy.d.ts +1 -1
- package/dist/domain/reducer-legacy.d.ts.map +1 -1
- package/dist/domain/reducer-legacy.js +8 -4
- package/dist/domain/reducer-legacy.js.map +1 -1
- package/dist/domain/reducer-lifecycle.d.ts +1 -1
- package/dist/domain/reducer-lifecycle.d.ts.map +1 -1
- package/dist/domain/reducer-lifecycle.js +35 -30
- package/dist/domain/reducer-lifecycle.js.map +1 -1
- package/dist/domain/reducer-replay.d.ts.map +1 -1
- package/dist/domain/reducer-replay.js +4 -4
- package/dist/domain/reducer-replay.js.map +1 -1
- package/dist/domain/reducer-run-graph.d.ts.map +1 -1
- package/dist/domain/reducer-run-graph.js +2 -1
- package/dist/domain/reducer-run-graph.js.map +1 -1
- package/dist/domain/reducer-runtime.d.ts.map +1 -1
- package/dist/domain/reducer-runtime.js +22 -11
- package/dist/domain/reducer-runtime.js.map +1 -1
- package/dist/domain/reducer-support.js +1 -1
- package/dist/domain/reducer-support.js.map +1 -1
- package/dist/domain/run-contracts.d.ts +5 -9
- package/dist/domain/run-contracts.d.ts.map +1 -1
- package/dist/domain/runtime-projection.d.ts +5 -0
- package/dist/domain/runtime-projection.d.ts.map +1 -1
- package/dist/domain/runtime-projection.js.map +1 -1
- package/dist/domain/secret-sanitizer.d.ts +14 -0
- package/dist/domain/secret-sanitizer.d.ts.map +1 -1
- package/dist/domain/secret-sanitizer.js +93 -11
- package/dist/domain/secret-sanitizer.js.map +1 -1
- package/dist/domain/state.d.ts +23 -1
- package/dist/domain/state.d.ts.map +1 -1
- package/dist/domain/state.js +60 -0
- package/dist/domain/state.js.map +1 -1
- package/dist/domain/terminal-sanitizer.d.ts +1 -0
- package/dist/domain/terminal-sanitizer.d.ts.map +1 -1
- package/dist/domain/terminal-sanitizer.js +35 -10
- package/dist/domain/terminal-sanitizer.js.map +1 -1
- package/dist/domain/workspace-request.d.ts +11 -0
- package/dist/domain/workspace-request.d.ts.map +1 -0
- package/dist/domain/workspace-request.js +86 -0
- package/dist/domain/workspace-request.js.map +1 -0
- package/dist/eval/execution.d.ts +1 -1
- package/dist/eval/execution.d.ts.map +1 -1
- package/dist/eval/execution.js +6 -2
- package/dist/eval/execution.js.map +1 -1
- package/dist/eval/product-path.d.ts.map +1 -1
- package/dist/eval/product-path.js +4 -2
- package/dist/eval/product-path.js.map +1 -1
- package/dist/index.d.ts +6 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/ports/execution.d.ts +44 -6
- package/dist/ports/execution.d.ts.map +1 -1
- package/dist/ports/execution.js +10 -0
- package/dist/ports/execution.js.map +1 -1
- package/dist/startup/durable-runtime.d.ts +36 -1
- package/dist/startup/durable-runtime.d.ts.map +1 -1
- package/dist/startup/durable-runtime.js +135 -1
- package/dist/startup/durable-runtime.js.map +1 -1
- package/dist/testing/supervision-fixture.d.ts +32 -0
- package/dist/testing/supervision-fixture.d.ts.map +1 -0
- package/dist/testing/supervision-fixture.js +115 -0
- package/dist/testing/supervision-fixture.js.map +1 -0
- package/dist/testing/supervision-ui-fixture.d.ts +4 -0
- package/dist/testing/supervision-ui-fixture.d.ts.map +1 -0
- package/dist/testing/supervision-ui-fixture.js +74 -0
- package/dist/testing/supervision-ui-fixture.js.map +1 -0
- package/dist/version.d.ts.map +1 -1
- package/dist/version.js +3 -1
- package/dist/version.js.map +1 -1
- package/dist/views/headless/protocol.d.ts +1 -1
- package/dist/views/headless/protocol.d.ts.map +1 -1
- package/dist/views/headless/rpc-parser.d.ts.map +1 -1
- package/dist/views/headless/rpc-parser.js +57 -5
- package/dist/views/headless/rpc-parser.js.map +1 -1
- package/dist/views/headless/rpc.d.ts.map +1 -1
- package/dist/views/headless/rpc.js +28 -14
- package/dist/views/headless/rpc.js.map +1 -1
- package/dist/views/shared/analysis-presentation.d.ts.map +1 -1
- package/dist/views/shared/analysis-presentation.js +42 -4
- package/dist/views/shared/analysis-presentation.js.map +1 -1
- package/dist/views/shared/command-registry.js +5 -5
- package/dist/views/shared/command-registry.js.map +1 -1
- package/dist/views/shared/duration.d.ts.map +1 -1
- package/dist/views/shared/duration.js +3 -1
- package/dist/views/shared/duration.js.map +1 -1
- package/dist/views/shared/headless-commands.d.ts +1 -1
- package/dist/views/shared/headless-commands.d.ts.map +1 -1
- package/dist/views/shared/headless-commands.js +13 -2
- package/dist/views/shared/headless-commands.js.map +1 -1
- package/dist/views/shared/intents.d.ts +6 -0
- package/dist/views/shared/intents.d.ts.map +1 -1
- package/dist/views/shared/models.d.ts +54 -0
- package/dist/views/shared/models.d.ts.map +1 -1
- package/dist/views/shared/models.js.map +1 -1
- package/dist/views/shared/native-interactive-actions.d.ts +19 -0
- package/dist/views/shared/native-interactive-actions.d.ts.map +1 -1
- package/dist/views/shared/run-selection.d.ts +11 -0
- package/dist/views/shared/run-selection.d.ts.map +1 -0
- package/dist/views/shared/run-selection.js +26 -0
- package/dist/views/shared/run-selection.js.map +1 -0
- package/dist/views/shared/semantic-activity.d.ts.map +1 -1
- package/dist/views/shared/semantic-activity.js +4 -1
- package/dist/views/shared/semantic-activity.js.map +1 -1
- package/dist/views/shared/semantic-projection.d.ts.map +1 -1
- package/dist/views/shared/semantic-projection.js +146 -1
- package/dist/views/shared/semantic-projection.js.map +1 -1
- package/dist/views/tui/activity-browser.d.ts +6 -2
- package/dist/views/tui/activity-browser.d.ts.map +1 -1
- package/dist/views/tui/activity-browser.js +50 -5
- package/dist/views/tui/activity-browser.js.map +1 -1
- package/dist/views/tui/command-palette.d.ts.map +1 -1
- package/dist/views/tui/command-palette.js +1 -0
- package/dist/views/tui/command-palette.js.map +1 -1
- package/dist/views/tui/configuration-wizard-presentation.d.ts +2 -1
- package/dist/views/tui/configuration-wizard-presentation.d.ts.map +1 -1
- package/dist/views/tui/configuration-wizard-presentation.js +45 -4
- package/dist/views/tui/configuration-wizard-presentation.js.map +1 -1
- package/dist/views/tui/configuration-wizard.d.ts.map +1 -1
- package/dist/views/tui/configuration-wizard.js +60 -65
- package/dist/views/tui/configuration-wizard.js.map +1 -1
- package/dist/views/tui/conversation-overlay-actions.d.ts.map +1 -1
- package/dist/views/tui/conversation-overlay-actions.js +8 -0
- package/dist/views/tui/conversation-overlay-actions.js.map +1 -1
- package/dist/views/tui/conversation-overlay-helpers.d.ts +0 -1
- package/dist/views/tui/conversation-overlay-helpers.d.ts.map +1 -1
- package/dist/views/tui/conversation-overlay-helpers.js +2 -5
- package/dist/views/tui/conversation-overlay-helpers.js.map +1 -1
- package/dist/views/tui/entity-browser-layout.js +9 -4
- package/dist/views/tui/entity-browser-layout.js.map +1 -1
- package/dist/views/tui/entity-browser.d.ts +2 -0
- package/dist/views/tui/entity-browser.d.ts.map +1 -1
- package/dist/views/tui/entity-browser.js +5 -0
- package/dist/views/tui/entity-browser.js.map +1 -1
- package/dist/views/tui/execution-target.d.ts.map +1 -1
- package/dist/views/tui/execution-target.js +6 -3
- package/dist/views/tui/execution-target.js.map +1 -1
- package/dist/views/tui/fork-preview.d.ts.map +1 -1
- package/dist/views/tui/fork-preview.js +10 -0
- package/dist/views/tui/fork-preview.js.map +1 -1
- package/dist/views/tui/profile-compatibility.js +2 -2
- package/dist/views/tui/profile-compatibility.js.map +1 -1
- package/dist/views/tui/selector.d.ts +10 -0
- package/dist/views/tui/selector.d.ts.map +1 -1
- package/dist/views/tui/selector.js +61 -2
- package/dist/views/tui/selector.js.map +1 -1
- package/dist/views/tui/setup-stage-rendering.d.ts +23 -0
- package/dist/views/tui/setup-stage-rendering.d.ts.map +1 -0
- package/dist/views/tui/setup-stage-rendering.js +60 -0
- package/dist/views/tui/setup-stage-rendering.js.map +1 -0
- package/dist/views/tui/supervisor-actions.d.ts +19 -0
- package/dist/views/tui/supervisor-actions.d.ts.map +1 -0
- package/dist/views/tui/supervisor-actions.js +59 -0
- package/dist/views/tui/supervisor-actions.js.map +1 -0
- package/dist/views/tui/terminal-app.d.ts.map +1 -1
- package/dist/views/tui/terminal-app.js +3 -0
- package/dist/views/tui/terminal-app.js.map +1 -1
- package/dist/views/tui/terminal-chrome.d.ts +1 -1
- package/dist/views/tui/terminal-chrome.d.ts.map +1 -1
- package/dist/views/tui/terminal-chrome.js +54 -4
- package/dist/views/tui/terminal-chrome.js.map +1 -1
- package/dist/views/tui/terminal-command-controller.d.ts.map +1 -1
- package/dist/views/tui/terminal-command-controller.js +10 -5
- package/dist/views/tui/terminal-command-controller.js.map +1 -1
- package/dist/views/tui/terminal-identity.js +1 -1
- package/dist/views/tui/terminal-identity.js.map +1 -1
- package/dist/views/tui/terminal-input-controller.d.ts.map +1 -1
- package/dist/views/tui/terminal-input-controller.js +26 -4
- package/dist/views/tui/terminal-input-controller.js.map +1 -1
- package/dist/views/tui/terminal-overlays.d.ts +2 -0
- package/dist/views/tui/terminal-overlays.d.ts.map +1 -1
- package/dist/views/tui/terminal-overlays.js +15 -0
- package/dist/views/tui/terminal-overlays.js.map +1 -1
- package/dist/views/tui/terminal-surface-overlays.d.ts +4 -0
- package/dist/views/tui/terminal-surface-overlays.d.ts.map +1 -1
- package/dist/views/tui/terminal-surface-overlays.js +243 -1
- package/dist/views/tui/terminal-surface-overlays.js.map +1 -1
- package/dist/views/tui/workspace-request-form.d.ts +19 -0
- package/dist/views/tui/workspace-request-form.d.ts.map +1 -0
- package/dist/views/tui/workspace-request-form.js +204 -0
- package/dist/views/tui/workspace-request-form.js.map +1 -0
- package/dist/views/tui/workspace-request-presentation.d.ts +4 -0
- package/dist/views/tui/workspace-request-presentation.d.ts.map +1 -0
- package/dist/views/tui/workspace-request-presentation.js +39 -0
- package/dist/views/tui/workspace-request-presentation.js.map +1 -0
- package/dist/views/tui/workspace-request-workflow.d.ts +17 -0
- package/dist/views/tui/workspace-request-workflow.d.ts.map +1 -0
- package/dist/views/tui/workspace-request-workflow.js +27 -0
- package/dist/views/tui/workspace-request-workflow.js.map +1 -0
- package/package.json +20 -13
package/dist/app/run-replay.js
CHANGED
|
@@ -1,20 +1,33 @@
|
|
|
1
1
|
import { canonicalDigest } from '../domain/canonical.js';
|
|
2
2
|
import { AppError } from './errors.js';
|
|
3
3
|
import { safeSnapshotDetail, safeSnapshotText, safeSnapshotUsage } from './provider-snapshot.js';
|
|
4
|
+
import { safeRuntimeDiagnostic } from './provider-values.js';
|
|
4
5
|
import { retainedExecutionRecoveryContext } from './run-recovery-context.js';
|
|
5
6
|
export async function reconnectRun(context, input) {
|
|
6
7
|
const run = context.findRun(input.runId);
|
|
7
|
-
if (context.isTerminal(run.status) && run.status !== 'unknown')
|
|
8
|
+
if (context.isTerminal(run.status) && run.status !== 'unknown') {
|
|
8
9
|
return structuredClone(context.currentState());
|
|
10
|
+
}
|
|
9
11
|
if (!run.capabilities.streaming.replay ||
|
|
10
12
|
!run.capabilities.events.cursor ||
|
|
11
13
|
!context.execution.reconnect)
|
|
12
14
|
throw new AppError('CAPABILITY_UNAVAILABLE', 'The selected execution path does not report replay with a stable cursor');
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
15
|
+
if (run.status !== 'reconnecting') {
|
|
16
|
+
await context.commitAndWait({
|
|
17
|
+
kind: 'run.reconnecting',
|
|
18
|
+
runId: run.id,
|
|
19
|
+
...(run.lastCursor === undefined ? {} : { after: run.lastCursor }),
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
let interactionReadyNotified = false;
|
|
23
|
+
const notifyInteractionReady = () => {
|
|
24
|
+
if (!interactionReadyNotified &&
|
|
25
|
+
context.findRun(run.id).interactions.some((interaction) => interaction.status === 'pending')) {
|
|
26
|
+
interactionReadyNotified = true;
|
|
27
|
+
input.onInteractionReady?.();
|
|
28
|
+
}
|
|
29
|
+
};
|
|
30
|
+
notifyInteractionReady();
|
|
18
31
|
const abort = context.ledger.getAbort(run.id) ?? new AbortController();
|
|
19
32
|
context.ledger.setAbort(run.id, abort);
|
|
20
33
|
context.ledger.clearDetached(run.id);
|
|
@@ -39,6 +52,8 @@ export async function reconnectRun(context, input) {
|
|
|
39
52
|
signal: abort.signal,
|
|
40
53
|
})) {
|
|
41
54
|
const result = await context.ingestRuntimeEvent(envelope);
|
|
55
|
+
if (result.accepted)
|
|
56
|
+
notifyInteractionReady();
|
|
42
57
|
if (result.accepted && envelope.event.type === 'final')
|
|
43
58
|
sawTerminal = true;
|
|
44
59
|
}
|
|
@@ -56,7 +71,7 @@ export async function reconnectRun(context, input) {
|
|
|
56
71
|
await context.commitAndWait({
|
|
57
72
|
kind: 'run.unknown',
|
|
58
73
|
runId: run.id,
|
|
59
|
-
detail:
|
|
74
|
+
detail: safeRuntimeDiagnostic(error, 'RUNTIME_RECONCILIATION_ERROR'),
|
|
60
75
|
});
|
|
61
76
|
}
|
|
62
77
|
return structuredClone(context.currentState());
|
|
@@ -79,6 +94,7 @@ export async function reconcileRun(context, input) {
|
|
|
79
94
|
...(run.providerSessionId === undefined ? {} : { providerSessionId: run.providerSessionId }),
|
|
80
95
|
...(run.controlRef === undefined ? {} : { controlRef: run.controlRef }),
|
|
81
96
|
...retainedExecutionRecoveryContext(run, context.currentState().workspace),
|
|
97
|
+
...(input.signal === undefined ? {} : { signal: input.signal }),
|
|
82
98
|
});
|
|
83
99
|
}
|
|
84
100
|
catch (error) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-replay.js","sourceRoot":"","sources":["../../src/app/run-replay.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AAIxD,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AACtC,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAChG,OAAO,EAAE,gCAAgC,EAAE,MAAM,2BAA2B,CAAA;
|
|
1
|
+
{"version":3,"file":"run-replay.js","sourceRoot":"","sources":["../../src/app/run-replay.ts"],"names":[],"mappings":"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"}
|
package/dist/app/run-status.d.ts
CHANGED
|
@@ -1,7 +1,15 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import { type BraidRun, type BraidState, type RunStatus } from '../domain/state.js';
|
|
2
2
|
import type { StateReader, StatusPort } from './application-ports.js';
|
|
3
3
|
export declare function findRun(context: Pick<StateReader, 'currentState'>, runId: string): BraidRun;
|
|
4
4
|
export declare function isTerminal(status: RunStatus): status is Extract<RunStatus, 'completed' | 'failed' | 'aborted' | 'cancelled' | 'blocked' | 'expired' | 'unknown'>;
|
|
5
5
|
export declare function waitForRun(context: StatusPort, runId: string): Promise<BraidState>;
|
|
6
|
+
/**
|
|
7
|
+
* Waits until no live run remains.
|
|
8
|
+
* A detached retained run keeps its remote work but is not live, so it never holds the wait.
|
|
9
|
+
* A live run whose local operation has settled, or that has no operation, can still be
|
|
10
|
+
* advanced by provider reconciliation, so the wait resumes on the next state transition.
|
|
11
|
+
* Every iteration awaits an unsettled operation or a state transition; re-awaiting a settled
|
|
12
|
+
* promise would loop on microtasks and starve timers.
|
|
13
|
+
*/
|
|
6
14
|
export declare function waitForIdle(context: StatusPort): Promise<BraidState>;
|
|
7
15
|
//# sourceMappingURL=run-status.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-status.d.ts","sourceRoot":"","sources":["../../src/app/run-status.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"run-status.d.ts","sourceRoot":"","sources":["../../src/app/run-status.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,QAAQ,EAAE,KAAK,UAAU,EAAmB,KAAK,SAAS,EAAE,MAAM,oBAAoB,CAAA;AACpG,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAA;AAGrE,wBAAgB,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE,cAAc,CAAC,EAAE,KAAK,EAAE,MAAM,GAAG,QAAQ,CAI3F;AAED,wBAAgB,UAAU,CACxB,MAAM,EAAE,SAAS,GAChB,MAAM,IAAI,OAAO,CAClB,SAAS,EACT,WAAW,GAAG,QAAQ,GAAG,SAAS,GAAG,WAAW,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,CACrF,CAUA;AAED,wBAAsB,UAAU,CAAC,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAIxF;AAED;;;;;;;GAOG;AACH,wBAAsB,WAAW,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,CAqD1E"}
|
package/dist/app/run-status.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { isLiveRunStatus } from '../domain/state.js';
|
|
1
2
|
import { AppError } from './errors.js';
|
|
2
3
|
export function findRun(context, runId) {
|
|
3
4
|
const run = context.currentState().runs.find((candidate) => candidate.id === runId);
|
|
@@ -20,18 +21,68 @@ export async function waitForRun(context, runId) {
|
|
|
20
21
|
await operation.completion;
|
|
21
22
|
return structuredClone(context.currentState());
|
|
22
23
|
}
|
|
24
|
+
/**
|
|
25
|
+
* Waits until no live run remains.
|
|
26
|
+
* A detached retained run keeps its remote work but is not live, so it never holds the wait.
|
|
27
|
+
* A live run whose local operation has settled, or that has no operation, can still be
|
|
28
|
+
* advanced by provider reconciliation, so the wait resumes on the next state transition.
|
|
29
|
+
* Every iteration awaits an unsettled operation or a state transition; re-awaiting a settled
|
|
30
|
+
* promise would loop on microtasks and starve timers.
|
|
31
|
+
*/
|
|
23
32
|
export async function waitForIdle(context) {
|
|
24
33
|
await Promise.resolve();
|
|
25
|
-
const
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
34
|
+
const settled = new WeakSet();
|
|
35
|
+
const observed = new WeakSet();
|
|
36
|
+
const observe = (completion) => {
|
|
37
|
+
if (observed.has(completion))
|
|
38
|
+
return;
|
|
39
|
+
observed.add(completion);
|
|
40
|
+
const markSettled = () => settled.add(completion);
|
|
41
|
+
completion.then(markSettled, markSettled);
|
|
42
|
+
};
|
|
43
|
+
for (;;) {
|
|
44
|
+
const subscription = new AbortController();
|
|
45
|
+
try {
|
|
46
|
+
// Subscribe before reading so a transition during the checks below still wakes the wait.
|
|
47
|
+
const stateChanged = context.nextStateChange(subscription.signal);
|
|
48
|
+
const state = context.currentState();
|
|
49
|
+
const isLive = (runId) => {
|
|
50
|
+
const record = state.runs.find((candidate) => candidate.id === runId);
|
|
51
|
+
return record !== undefined && isLiveRunStatus(record.status);
|
|
52
|
+
};
|
|
53
|
+
const runIds = new Set((state.activeRuns ?? []).map((run) => run.runId).filter((runId) => isLive(runId)));
|
|
54
|
+
if (runIds.size === 0 && state.activeRunId !== null && isLive(state.activeRunId))
|
|
55
|
+
runIds.add(state.activeRunId);
|
|
56
|
+
const waits = [];
|
|
57
|
+
let awaitsStateChange = false;
|
|
58
|
+
for (const runId of runIds) {
|
|
59
|
+
const control = context.ledger.controlForRun(runId);
|
|
60
|
+
if (control) {
|
|
61
|
+
await control.acknowledgement;
|
|
62
|
+
const controlledRun = context.currentState().runs.find((run) => run.id === runId);
|
|
63
|
+
if (controlledRun === undefined || !isLiveRunStatus(controlledRun.status))
|
|
64
|
+
continue;
|
|
65
|
+
}
|
|
66
|
+
const operation = context.ledger.operationForRun(runId);
|
|
67
|
+
if (operation === undefined || settled.has(operation.completion)) {
|
|
68
|
+
awaitsStateChange = true;
|
|
69
|
+
continue;
|
|
70
|
+
}
|
|
71
|
+
observe(operation.completion);
|
|
72
|
+
waits.push(operation.completion);
|
|
73
|
+
}
|
|
74
|
+
if (waits.length === 0 && !awaitsStateChange) {
|
|
75
|
+
// A control acknowledgement can admit another live run; re-evaluate a changed state.
|
|
76
|
+
if (context.currentState().revision !== state.revision)
|
|
77
|
+
continue;
|
|
78
|
+
return structuredClone(context.currentState());
|
|
79
|
+
}
|
|
80
|
+
await Promise.race([...waits, stateChanged]);
|
|
81
|
+
}
|
|
82
|
+
finally {
|
|
83
|
+
// Every exit from this iteration drops its waiter, including an early return.
|
|
84
|
+
subscription.abort();
|
|
85
|
+
}
|
|
33
86
|
}
|
|
34
|
-
await waitForRun(context, runId);
|
|
35
|
-
return structuredClone(context.currentState());
|
|
36
87
|
}
|
|
37
88
|
//# sourceMappingURL=run-status.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-status.js","sourceRoot":"","sources":["../../src/app/run-status.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"run-status.js","sourceRoot":"","sources":["../../src/app/run-status.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/** Bounds the number of provider streams that one application retains. */
|
|
2
|
+
export declare const MAX_ACTIVE_RUNTIME_STREAMS = 256;
|
|
3
|
+
/** A stream name is application-owned and never contains provider payload data. */
|
|
4
|
+
export type RuntimeStreamName = 'text' | 'reasoning' | 'final' | `part:${string}`;
|
|
5
|
+
export interface RuntimeStreamSanitizer {
|
|
6
|
+
readonly push: (runId: string, stream: RuntimeStreamName, text: string) => string;
|
|
7
|
+
readonly complete: (runId: string, stream: RuntimeStreamName, text: string) => string;
|
|
8
|
+
readonly finish: (runId: string, stream: RuntimeStreamName) => string;
|
|
9
|
+
readonly reset: (runId: string) => void;
|
|
10
|
+
}
|
|
11
|
+
/** Owns incremental provider text state at the application ingestion boundary. */
|
|
12
|
+
export declare class ApplicationStreamSanitizer implements RuntimeStreamSanitizer {
|
|
13
|
+
#private;
|
|
14
|
+
constructor(maxActiveStreams?: number);
|
|
15
|
+
push(runId: string, stream: RuntimeStreamName, text: string): string;
|
|
16
|
+
complete(runId: string, stream: RuntimeStreamName, text: string): string;
|
|
17
|
+
finish(runId: string, stream: RuntimeStreamName): string;
|
|
18
|
+
reset(runId: string): void;
|
|
19
|
+
get activeStreamCount(): number;
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=run-stream-sanitizer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"run-stream-sanitizer.d.ts","sourceRoot":"","sources":["../../src/app/run-stream-sanitizer.ts"],"names":[],"mappings":"AAEA,0EAA0E;AAC1E,eAAO,MAAM,0BAA0B,MAAM,CAAA;AAE7C,mFAAmF;AACnF,MAAM,MAAM,iBAAiB,GAAG,MAAM,GAAG,WAAW,GAAG,OAAO,GAAG,QAAQ,MAAM,EAAE,CAAA;AAEjF,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,iBAAiB,EAAE,IAAI,EAAE,MAAM,KAAK,MAAM,CAAA;IACjF,QAAQ,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,iBAAiB,EAAE,IAAI,EAAE,MAAM,KAAK,MAAM,CAAA;IACrF,QAAQ,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,iBAAiB,KAAK,MAAM,CAAA;IACrE,QAAQ,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;CACxC;AAOD,kFAAkF;AAClF,qBAAa,0BAA2B,YAAW,sBAAsB;;IAKvE,YAAY,gBAAgB,SAA6B,EAIxD;IAED,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,iBAAiB,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAKnE;IAED,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,iBAAiB,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAQvE;IAED,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,iBAAiB,GAAG,MAAM,CAMvD;IAED,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAKzB;IAED,IAAI,iBAAiB,IAAI,MAAM,CAE9B;CAmBF"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import { IncrementalSecretTextSanitizer } from '../domain/secret-sanitizer.js';
|
|
2
|
+
/** Bounds the number of provider streams that one application retains. */
|
|
3
|
+
export const MAX_ACTIVE_RUNTIME_STREAMS = 256;
|
|
4
|
+
/** Owns incremental provider text state at the application ingestion boundary. */
|
|
5
|
+
export class ApplicationStreamSanitizer {
|
|
6
|
+
#streams = new Map();
|
|
7
|
+
#maxActiveStreams;
|
|
8
|
+
#activeStreams = 0;
|
|
9
|
+
constructor(maxActiveStreams = MAX_ACTIVE_RUNTIME_STREAMS) {
|
|
10
|
+
if (!Number.isSafeInteger(maxActiveStreams) || maxActiveStreams < 1)
|
|
11
|
+
throw new RangeError('maxActiveStreams must be a positive safe integer');
|
|
12
|
+
this.#maxActiveStreams = maxActiveStreams;
|
|
13
|
+
}
|
|
14
|
+
push(runId, stream, text) {
|
|
15
|
+
if (typeof text !== 'string' || text.length === 0)
|
|
16
|
+
return '';
|
|
17
|
+
const active = this.#getOrCreate(runId, stream);
|
|
18
|
+
if (active === undefined || active.finished)
|
|
19
|
+
return '';
|
|
20
|
+
return active.sanitizer.push(text);
|
|
21
|
+
}
|
|
22
|
+
complete(runId, stream, text) {
|
|
23
|
+
if (typeof text !== 'string')
|
|
24
|
+
return this.finish(runId, stream);
|
|
25
|
+
const active = this.#getOrCreate(runId, stream);
|
|
26
|
+
if (active === undefined)
|
|
27
|
+
return '';
|
|
28
|
+
if (active.finished)
|
|
29
|
+
return '';
|
|
30
|
+
const output = `${active.sanitizer.push(text)}${active.sanitizer.finish()}`;
|
|
31
|
+
active.finished = true;
|
|
32
|
+
return output;
|
|
33
|
+
}
|
|
34
|
+
finish(runId, stream) {
|
|
35
|
+
const active = this.#streams.get(runId)?.get(stream);
|
|
36
|
+
if (active === undefined)
|
|
37
|
+
return '';
|
|
38
|
+
if (active.finished)
|
|
39
|
+
return '';
|
|
40
|
+
active.finished = true;
|
|
41
|
+
return active.sanitizer.finish();
|
|
42
|
+
}
|
|
43
|
+
reset(runId) {
|
|
44
|
+
const streams = this.#streams.get(runId);
|
|
45
|
+
if (streams === undefined)
|
|
46
|
+
return;
|
|
47
|
+
this.#activeStreams -= streams.size;
|
|
48
|
+
this.#streams.delete(runId);
|
|
49
|
+
}
|
|
50
|
+
get activeStreamCount() {
|
|
51
|
+
return this.#activeStreams;
|
|
52
|
+
}
|
|
53
|
+
#getOrCreate(runId, stream) {
|
|
54
|
+
let streams = this.#streams.get(runId);
|
|
55
|
+
const existing = streams?.get(stream);
|
|
56
|
+
if (existing !== undefined)
|
|
57
|
+
return existing;
|
|
58
|
+
if (this.#activeStreams >= this.#maxActiveStreams)
|
|
59
|
+
return undefined;
|
|
60
|
+
if (streams === undefined) {
|
|
61
|
+
streams = new Map();
|
|
62
|
+
this.#streams.set(runId, streams);
|
|
63
|
+
}
|
|
64
|
+
const active = {
|
|
65
|
+
sanitizer: new IncrementalSecretTextSanitizer(Number.POSITIVE_INFINITY),
|
|
66
|
+
finished: false,
|
|
67
|
+
};
|
|
68
|
+
streams.set(stream, active);
|
|
69
|
+
this.#activeStreams += 1;
|
|
70
|
+
return active;
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
//# sourceMappingURL=run-stream-sanitizer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"run-stream-sanitizer.js","sourceRoot":"","sources":["../../src/app/run-stream-sanitizer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { BraidEvent } from '../domain/events.js';
|
|
2
|
-
import type
|
|
2
|
+
import { type BraidState } from '../domain/state.js';
|
|
3
3
|
import type { ShutdownReceipt } from './application-types.js';
|
|
4
4
|
import type { RunLedger } from './run-ledger.js';
|
|
5
5
|
export interface ShutdownControllerInput {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shutdown-controller.d.ts","sourceRoot":"","sources":["../../src/app/shutdown-controller.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AACrD,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"shutdown-controller.d.ts","sourceRoot":"","sources":["../../src/app/shutdown-controller.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AACrD,OAAO,EAAkC,KAAK,UAAU,EAAE,MAAM,oBAAoB,CAAA;AACpF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AAG7D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAEhD,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,QAAQ,CAAA;IAC5C,QAAQ,CAAC,KAAK,EAAE,MAAM,UAAU,CAAA;IAChC,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAA;IAC1B,QAAQ,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAA;IAC5C,QAAQ,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE;QAC1B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;QAC5B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;QACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;QACvB,QAAQ,CAAC,cAAc,EAAE,SAAS,CAAA;QAClC,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAA;KACtB,KAAK,OAAO,CAAC;QAAE,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC,UAAU,CAAC,CAAA;KAAE,CAAC,CAAA;IAC3D,QAAQ,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE;QAC1B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;QAC5B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;KACvB,KAAK,OAAO,CAAC;QAAE,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC,UAAU,CAAC,CAAA;KAAE,CAAC,CAAA;IAC3D,QAAQ,CAAC,WAAW,EAAE,MAAM,OAAO,CAAC,UAAU,CAAC,CAAA;CAChD;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,uBAAuB,GAAG,eAAe,CA+BnF"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { isLiveRunStatus } from '../domain/state.js';
|
|
1
2
|
import { AppError } from './errors.js';
|
|
2
3
|
import { shutdownRequestDigest } from './operation-ledger.js';
|
|
3
4
|
export function shutdownApplication(input) {
|
|
@@ -15,9 +16,9 @@ export function shutdownApplication(input) {
|
|
|
15
16
|
}
|
|
16
17
|
input.commit({ kind: 'application.shutdown.requested', operationId: input.operationId });
|
|
17
18
|
const state = input.state();
|
|
18
|
-
const
|
|
19
|
-
const
|
|
20
|
-
const completion = completeShutdown(input,
|
|
19
|
+
const activeRuns = state.runs.filter((candidate) => isLiveRunStatus(candidate.status));
|
|
20
|
+
const runId = state.activeRunId ?? activeRuns[0]?.id;
|
|
21
|
+
const completion = completeShutdown(input, activeRuns);
|
|
21
22
|
input.ledger.setShutdown(input.operationId, { digest, completion });
|
|
22
23
|
return {
|
|
23
24
|
operationId: input.operationId,
|
|
@@ -29,22 +30,31 @@ export function shutdownApplication(input) {
|
|
|
29
30
|
completion: completion.then(() => structuredClone(input.state())),
|
|
30
31
|
};
|
|
31
32
|
}
|
|
32
|
-
async function completeShutdown(input,
|
|
33
|
-
if (
|
|
33
|
+
async function completeShutdown(input, runs) {
|
|
34
|
+
if (runs.length === 0)
|
|
34
35
|
return input.state();
|
|
35
36
|
if (input.mode === 'cancel') {
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
37
|
+
await Promise.all(runs.map(async (run) => {
|
|
38
|
+
const receipt = await input.cancelRun({
|
|
39
|
+
operationId: `${input.operationId}:cancel:${run.id}`,
|
|
40
|
+
runId: run.id,
|
|
41
|
+
reason: 'Braid is shutting down',
|
|
42
|
+
terminalStatus: 'aborted',
|
|
43
|
+
legacy: true,
|
|
44
|
+
});
|
|
45
|
+
await receipt.completion;
|
|
46
|
+
}));
|
|
47
|
+
return input.state();
|
|
44
48
|
}
|
|
45
49
|
if (input.mode === 'detach') {
|
|
46
|
-
|
|
47
|
-
|
|
50
|
+
await Promise.all(runs.map(async (run) => {
|
|
51
|
+
const receipt = await input.detachRun({
|
|
52
|
+
operationId: `${input.operationId}:detach:${run.id}`,
|
|
53
|
+
runId: run.id,
|
|
54
|
+
});
|
|
55
|
+
await receipt.completion;
|
|
56
|
+
}));
|
|
57
|
+
return input.state();
|
|
48
58
|
}
|
|
49
59
|
return input.waitForIdle();
|
|
50
60
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shutdown-controller.js","sourceRoot":"","sources":["../../src/app/shutdown-controller.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"shutdown-controller.js","sourceRoot":"","sources":["../../src/app/shutdown-controller.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import { type BraidEvent, type BraidEventEnvelope } from '../domain/events.js';
|
|
2
2
|
import { type ConversationId, type OperationId, type RunId, type WorkspaceId } from '../domain/ids.js';
|
|
3
3
|
import type { BraidState } from '../domain/state.js';
|
|
4
4
|
import type { JsonValue, StateSnapshot, StoredJournalEvent } from '../ports/storage.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"storage-journal-support.d.ts","sourceRoot":"","sources":["../../src/app/storage-journal-support.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"storage-journal-support.d.ts","sourceRoot":"","sources":["../../src/app/storage-journal-support.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,UAAU,EAAE,KAAK,kBAAkB,EAAc,MAAM,qBAAqB,CAAA;AAC1F,OAAO,EACL,KAAK,cAAc,EAInB,KAAK,WAAW,EAEhB,KAAK,KAAK,EACV,KAAK,WAAW,EACjB,MAAM,kBAAkB,CAAA;AAMzB,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AACpD,OAAO,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAA;AAGvF,eAAO,MAAM,oBAAoB,MAAM,CAAA;AACvC,eAAO,MAAM,iBAAiB,MAAM,CAAA;AAEpC,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,YAAY,EAAE,UAAU,CAAA;IACjC,QAAQ,CAAC,eAAe,EAAE;QACxB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;QACzB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;QACzB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;QAC3B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;QACxB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KACzB,CAAA;CACF;AAED,qBAAa,0BAA2B,SAAQ,KAAK;IACnD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IAErB,YAAY,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAIxC;CACF;AAED,wBAAgB,MAAM,CAAC,KAAK,EAAE,OAAO,GAAG,SAAS,CAKhD;AAED,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,GAAG,WAAW,CAMxE;AAED,wBAAgB,cAAc,CAAC,WAAW,EAAE,WAAW,EAAE,cAAc,EAAE,cAAc,GAAG,KAAK,CAE9F;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,kBAAkB,GAAG,OAAO,CAKvF;AAED,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,kBAAkB,EAC5B,KAAK,EAAE,UAAU,EACjB,OAAO,EAAE,MAAM,GACd,aAAa,CAUf;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,UAAU,CAS1D;AAED,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,UAAU,EACnB,MAAM,EAAE,SAAS,kBAAkB,EAAE,GACpC,UAAU,CASZ;AAED,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,SAAS,kBAAkB,EAAE,GAAG,kBAAkB,EAAE,CAW/F;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,UAAU,GAAG,WAAW,GAAG,SAAS,CAwBzE;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,GAAG,cAAc,CA+C3F"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { createHash } from 'node:crypto';
|
|
2
2
|
import { canonicalDigest } from '../domain/canonical.js';
|
|
3
|
+
import { eventRunId } from '../domain/events.js';
|
|
3
4
|
import { createEventId, createRunId, createWorkspaceId, parseReplayCursor, } from '../domain/ids.js';
|
|
4
5
|
import { createMaterializedStateSnapshot, restoreMaterializedState, } from '../domain/materialized-state-snapshot.js';
|
|
5
6
|
import { replayEvents } from '../domain/reducer.js';
|
|
@@ -96,6 +97,8 @@ export function runOperationId(event) {
|
|
|
96
97
|
}
|
|
97
98
|
export function conversationIdForEvent(state, event) {
|
|
98
99
|
switch (event.kind) {
|
|
100
|
+
case 'run.requested':
|
|
101
|
+
return event.receipt?.conversationId ?? state.conversationId;
|
|
99
102
|
case 'conversation.created':
|
|
100
103
|
case 'conversation.imported':
|
|
101
104
|
case 'conversation.updated':
|
|
@@ -131,9 +134,12 @@ export function conversationIdForEvent(state, event) {
|
|
|
131
134
|
event.operation.target?.kind === 'conversation'
|
|
132
135
|
? event.operation.target.id
|
|
133
136
|
: state.conversationId;
|
|
134
|
-
default:
|
|
135
|
-
return state.conversationId;
|
|
136
137
|
}
|
|
138
|
+
const runId = eventRunId(event);
|
|
139
|
+
if (runId !== undefined) {
|
|
140
|
+
return state.runs.find((run) => run.id === runId)?.conversationId ?? state.conversationId;
|
|
141
|
+
}
|
|
142
|
+
return state.conversationId;
|
|
137
143
|
}
|
|
138
144
|
function isPersistedEnvelope(value) {
|
|
139
145
|
if (value === null || typeof value !== 'object' || Array.isArray(value))
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"storage-journal-support.js","sourceRoot":"","sources":["../../src/app/storage-journal-support.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;
|
|
1
|
+
{"version":3,"file":"storage-journal-support.js","sourceRoot":"","sources":["../../src/app/storage-journal-support.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { TopSnapshot } from '../adapters/runtime/supervisor-watch.js';
|
|
2
2
|
import type { GraphEdgeRecord, GraphNodeRecord, SupervisorRecord, WorkerRecord } from '../domain/entities.js';
|
|
3
3
|
import type { RunId } from '../domain/ids.js';
|
|
4
|
+
import type { BraidState } from '../domain/state.js';
|
|
4
5
|
import type { AnalysisApplicationHost } from './analysis-types.js';
|
|
5
6
|
export interface SupervisorRunBinding {
|
|
6
7
|
readonly runtimeSupervisorId: string;
|
|
@@ -23,5 +24,12 @@ export interface SupervisorProjection {
|
|
|
23
24
|
readonly graphNodes: readonly GraphNodeRecord[];
|
|
24
25
|
readonly graphEdges: readonly GraphEdgeRecord[];
|
|
25
26
|
}
|
|
27
|
+
export interface RuntimeWorkerReference {
|
|
28
|
+
readonly rootDir: string;
|
|
29
|
+
readonly runtimeSupervisorId: string;
|
|
30
|
+
readonly runtimeWorkerId: string;
|
|
31
|
+
}
|
|
32
|
+
/** Resolve one projected worker back to the opaque Runtime identifiers that own its controls. */
|
|
33
|
+
export declare function runtimeWorkerReference(state: BraidState, supervisorId: string, workerId: string): RuntimeWorkerReference | undefined;
|
|
26
34
|
export declare function commitSupervisorProjection(host: AnalysisApplicationHost, input: SupervisorSnapshotRequest, raw: TopSnapshot): Promise<SupervisorProjection>;
|
|
27
35
|
//# sourceMappingURL=supervisor-projection.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"supervisor-projection.d.ts","sourceRoot":"","sources":["../../src/app/supervisor-projection.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yCAAyC,CAAA;AAE1E,OAAO,KAAK,EACV,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,YAAY,EACb,MAAM,uBAAuB,CAAA;AAE9B,OAAO,KAAK,EAAE,KAAK,EAA0B,MAAM,kBAAkB,CAAA;
|
|
1
|
+
{"version":3,"file":"supervisor-projection.d.ts","sourceRoot":"","sources":["../../src/app/supervisor-projection.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yCAAyC,CAAA;AAE1E,OAAO,KAAK,EACV,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,YAAY,EACb,MAAM,uBAAuB,CAAA;AAE9B,OAAO,KAAK,EAAE,KAAK,EAA0B,MAAM,kBAAkB,CAAA;AAGrE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AACpD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAA;AAIlE,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAA;IACpC,QAAQ,CAAC,SAAS,EAAE,KAAK,CAAA;CAC1B;AAED,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,wFAAwF;IACxF,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,oBAAoB,EAAE,CAAA;IACnD,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAA;CACtB;AAED,MAAM,WAAW,sBAAuB,SAAQ,yBAAyB;IACvE,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAA;CAC9B;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,GAAG,EAAE,WAAW,CAAA;IACzB,QAAQ,CAAC,WAAW,EAAE,SAAS,gBAAgB,EAAE,CAAA;IACjD,QAAQ,CAAC,OAAO,EAAE,SAAS,YAAY,EAAE,CAAA;IACzC,QAAQ,CAAC,UAAU,EAAE,SAAS,eAAe,EAAE,CAAA;IAC/C,QAAQ,CAAC,UAAU,EAAE,SAAS,eAAe,EAAE,CAAA;CAChD;AAED,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAA;IACpC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAA;CACjC;AAED,iGAAiG;AACjG,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,UAAU,EACjB,YAAY,EAAE,MAAM,EACpB,QAAQ,EAAE,MAAM,GACf,sBAAsB,GAAG,SAAS,CAYpC;AA+WD,wBAAsB,0BAA0B,CAC9C,IAAI,EAAE,uBAAuB,EAC7B,KAAK,EAAE,yBAAyB,EAChC,GAAG,EAAE,WAAW,GACf,OAAO,CAAC,oBAAoB,CAAC,CAiD/B"}
|
|
@@ -3,6 +3,20 @@ import { graphEdge, graphNode } from '../domain/graph-records.js';
|
|
|
3
3
|
import { createSupervisorId, createWorkerId } from '../domain/ids-values.js';
|
|
4
4
|
import { redactSensitiveText } from '../domain/redaction.js';
|
|
5
5
|
const MAX_RUNTIME_ID_LENGTH = 1_024;
|
|
6
|
+
/** Resolve one projected worker back to the opaque Runtime identifiers that own its controls. */
|
|
7
|
+
export function runtimeWorkerReference(state, supervisorId, workerId) {
|
|
8
|
+
const supervisor = state.supervisors.find((candidate) => String(candidate.id) === supervisorId);
|
|
9
|
+
if (supervisor === undefined || state.workspace !== supervisor.runtimeRoot)
|
|
10
|
+
return undefined;
|
|
11
|
+
const worker = state.workers.find((candidate) => String(candidate.id) === workerId && candidate.supervisorId === supervisor.id);
|
|
12
|
+
if (worker === undefined)
|
|
13
|
+
return undefined;
|
|
14
|
+
return {
|
|
15
|
+
rootDir: supervisor.runtimeRoot,
|
|
16
|
+
runtimeSupervisorId: supervisor.runtimeId,
|
|
17
|
+
runtimeWorkerId: worker.runtimeId,
|
|
18
|
+
};
|
|
19
|
+
}
|
|
6
20
|
function validIso(value, fallback) {
|
|
7
21
|
if (value !== undefined && Number.isFinite(Date.parse(value)))
|
|
8
22
|
return value;
|