@tangle-network/braid 0.1.2 → 0.2.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/README.md +25 -22
- package/THIRD_PARTY_LICENSES.json +8 -0
- package/dist/adapters/analysis/eval-analyst.d.ts +1 -1
- package/dist/adapters/analysis/eval-analyst.d.ts.map +1 -1
- package/dist/adapters/analysis/eval-analyst.js.map +1 -1
- package/dist/adapters/analysis/managed-analysis-runtime.d.ts +1 -1
- package/dist/adapters/analysis/managed-analysis-runtime.js +1 -1
- package/dist/adapters/analysis/production-analysis-analyst.d.ts.map +1 -1
- package/dist/adapters/analysis/production-analysis-analyst.js +8 -2
- package/dist/adapters/analysis/production-analysis-analyst.js.map +1 -1
- package/dist/adapters/analysis/question-analyst.d.ts +2 -2
- package/dist/adapters/analysis/question-analyst.d.ts.map +1 -1
- package/dist/adapters/analysis/question-analyst.js +10 -15
- package/dist/adapters/analysis/question-analyst.js.map +1 -1
- package/dist/adapters/analysis/runtime-model-owner.d.ts +3 -0
- package/dist/adapters/analysis/runtime-model-owner.d.ts.map +1 -1
- package/dist/adapters/analysis/runtime-model-owner.js +17 -2
- package/dist/adapters/analysis/runtime-model-owner.js.map +1 -1
- package/dist/adapters/analysis/trace-analysis-adapter.d.ts +1 -0
- package/dist/adapters/analysis/trace-analysis-adapter.d.ts.map +1 -1
- package/dist/adapters/analysis/trace-analysis-adapter.js +26 -2
- package/dist/adapters/analysis/trace-analysis-adapter.js.map +1 -1
- package/dist/adapters/analysis/trace-event-projection.d.ts.map +1 -1
- package/dist/adapters/analysis/trace-event-projection.js +6 -2
- package/dist/adapters/analysis/trace-event-projection.js.map +1 -1
- package/dist/adapters/connections/cli-bridge-model-validation.d.ts.map +1 -1
- package/dist/adapters/connections/cli-bridge-model-validation.js +2 -1
- package/dist/adapters/connections/cli-bridge-model-validation.js.map +1 -1
- package/dist/adapters/connections/production-connection-providers.d.ts.map +1 -1
- package/dist/adapters/connections/production-connection-providers.js +2 -4
- package/dist/adapters/connections/production-connection-providers.js.map +1 -1
- package/dist/adapters/connections/production-connection-types.d.ts +3 -2
- 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/tangle-retained-control-lookup.d.ts.map +1 -1
- package/dist/adapters/connections/tangle-retained-control-lookup.js +10 -7
- package/dist/adapters/connections/tangle-retained-control-lookup.js.map +1 -1
- package/dist/adapters/runtime/agent-runtime-execution.d.ts.map +1 -1
- package/dist/adapters/runtime/agent-runtime-execution.js +46 -19
- package/dist/adapters/runtime/agent-runtime-execution.js.map +1 -1
- package/dist/adapters/runtime/cli-bridge-retained-execution.d.ts +3 -2
- package/dist/adapters/runtime/cli-bridge-retained-execution.d.ts.map +1 -1
- package/dist/adapters/runtime/cli-bridge-retained-execution.js +4 -2
- package/dist/adapters/runtime/cli-bridge-retained-execution.js.map +1 -1
- package/dist/adapters/runtime/cli-bridge-retained-run.d.ts +7 -7
- package/dist/adapters/runtime/cli-bridge-retained-run.d.ts.map +1 -1
- package/dist/adapters/runtime/cli-bridge-retained-run.js +94 -75
- package/dist/adapters/runtime/cli-bridge-retained-run.js.map +1 -1
- package/dist/adapters/runtime/mode-routing-execution.d.ts +42 -0
- package/dist/adapters/runtime/mode-routing-execution.d.ts.map +1 -0
- package/dist/adapters/runtime/mode-routing-execution.js +161 -0
- package/dist/adapters/runtime/mode-routing-execution.js.map +1 -0
- package/dist/adapters/runtime/native-interactive-run-broker.d.ts +21 -0
- package/dist/adapters/runtime/native-interactive-run-broker.d.ts.map +1 -0
- package/dist/adapters/runtime/native-interactive-run-broker.js +97 -0
- package/dist/adapters/runtime/native-interactive-run-broker.js.map +1 -0
- package/dist/adapters/runtime/production-backend-common.d.ts +2 -0
- package/dist/adapters/runtime/production-backend-common.d.ts.map +1 -1
- package/dist/adapters/runtime/production-backend-common.js +14 -1
- package/dist/adapters/runtime/production-backend-common.js.map +1 -1
- package/dist/adapters/runtime/production-backend-resolver.d.ts.map +1 -1
- package/dist/adapters/runtime/production-backend-resolver.js +4 -3
- package/dist/adapters/runtime/production-backend-resolver.js.map +1 -1
- package/dist/adapters/runtime/production-cli-bridge-backend.d.ts +4 -1
- package/dist/adapters/runtime/production-cli-bridge-backend.d.ts.map +1 -1
- package/dist/adapters/runtime/production-cli-bridge-backend.js +81 -30
- package/dist/adapters/runtime/production-cli-bridge-backend.js.map +1 -1
- package/dist/adapters/runtime/production-tangle-sandbox-backend.d.ts.map +1 -1
- package/dist/adapters/runtime/production-tangle-sandbox-backend.js +6 -7
- package/dist/adapters/runtime/production-tangle-sandbox-backend.js.map +1 -1
- package/dist/adapters/runtime/retained-execution-contract.d.ts +9 -2
- package/dist/adapters/runtime/retained-execution-contract.d.ts.map +1 -1
- package/dist/adapters/runtime/retained-execution-projection.d.ts.map +1 -1
- package/dist/adapters/runtime/retained-execution-projection.js +4 -1
- package/dist/adapters/runtime/retained-execution-projection.js.map +1 -1
- package/dist/adapters/runtime/retained-execution-state.d.ts +3 -1
- package/dist/adapters/runtime/retained-execution-state.d.ts.map +1 -1
- package/dist/adapters/runtime/retained-execution-state.js +8 -1
- package/dist/adapters/runtime/retained-execution-state.js.map +1 -1
- package/dist/adapters/runtime/retained-execution.d.ts +11 -4
- package/dist/adapters/runtime/retained-execution.d.ts.map +1 -1
- package/dist/adapters/runtime/retained-execution.js +213 -16
- package/dist/adapters/runtime/retained-execution.js.map +1 -1
- package/dist/adapters/runtime/sandbox-observation.d.ts.map +1 -1
- package/dist/adapters/runtime/sandbox-observation.js +5 -0
- package/dist/adapters/runtime/sandbox-observation.js.map +1 -1
- package/dist/adapters/runtime/tangle-retained-execution.d.ts +3 -2
- package/dist/adapters/runtime/tangle-retained-execution.d.ts.map +1 -1
- package/dist/adapters/runtime/tangle-retained-execution.js +3 -1
- package/dist/adapters/runtime/tangle-retained-execution.js.map +1 -1
- package/dist/adapters/runtime/tangle-retained-interactive-contract.d.ts +37 -0
- package/dist/adapters/runtime/tangle-retained-interactive-contract.d.ts.map +1 -0
- package/dist/adapters/runtime/tangle-retained-interactive-contract.js +135 -0
- package/dist/adapters/runtime/tangle-retained-interactive-contract.js.map +1 -0
- package/dist/adapters/runtime/tangle-retained-interactive-execution.d.ts +35 -0
- package/dist/adapters/runtime/tangle-retained-interactive-execution.d.ts.map +1 -0
- package/dist/adapters/runtime/tangle-retained-interactive-execution.js +456 -0
- package/dist/adapters/runtime/tangle-retained-interactive-execution.js.map +1 -0
- package/dist/adapters/runtime/tangle-retained-interactive-projection.d.ts +19 -0
- package/dist/adapters/runtime/tangle-retained-interactive-projection.d.ts.map +1 -0
- package/dist/adapters/runtime/tangle-retained-interactive-projection.js +110 -0
- package/dist/adapters/runtime/tangle-retained-interactive-projection.js.map +1 -0
- package/dist/adapters/runtime/tangle-retained-run.d.ts.map +1 -1
- package/dist/adapters/runtime/tangle-retained-run.js +7 -5
- package/dist/adapters/runtime/tangle-retained-run.js.map +1 -1
- package/dist/adapters/runtime/tangle-sandbox-retention.d.ts.map +1 -1
- package/dist/adapters/runtime/tangle-sandbox-retention.js +8 -4
- package/dist/adapters/runtime/tangle-sandbox-retention.js.map +1 -1
- package/dist/adapters/storage/memory-effects.d.ts.map +1 -1
- package/dist/adapters/storage/memory-effects.js +1 -1
- package/dist/adapters/storage/memory-effects.js.map +1 -1
- package/dist/adapters/storage/memory-maintenance.d.ts.map +1 -1
- package/dist/adapters/storage/memory-maintenance.js +2 -2
- package/dist/adapters/storage/memory-maintenance.js.map +1 -1
- package/dist/adapters/storage/memory-operations.d.ts.map +1 -1
- package/dist/adapters/storage/memory-operations.js +2 -2
- package/dist/adapters/storage/memory-operations.js.map +1 -1
- package/dist/adapters/storage/memory-retention.d.ts.map +1 -1
- package/dist/adapters/storage/memory-retention.js +2 -2
- package/dist/adapters/storage/memory-retention.js.map +1 -1
- package/dist/adapters/storage/memory.d.ts +1 -1
- package/dist/adapters/storage/memory.d.ts.map +1 -1
- package/dist/adapters/storage/memory.js.map +1 -1
- package/dist/adapters/storage/sqlite-effects.d.ts.map +1 -1
- package/dist/adapters/storage/sqlite-effects.js +3 -3
- package/dist/adapters/storage/sqlite-effects.js.map +1 -1
- package/dist/adapters/storage/sqlite-initialization.js +1 -1
- package/dist/adapters/storage/sqlite-initialization.js.map +1 -1
- package/dist/adapters/storage/sqlite-maintenance.d.ts.map +1 -1
- package/dist/adapters/storage/sqlite-maintenance.js +5 -6
- package/dist/adapters/storage/sqlite-maintenance.js.map +1 -1
- package/dist/adapters/storage/sqlite-operations.d.ts.map +1 -1
- package/dist/adapters/storage/sqlite-operations.js +2 -2
- package/dist/adapters/storage/sqlite-operations.js.map +1 -1
- package/dist/adapters/storage/sqlite-rows.d.ts.map +1 -1
- package/dist/adapters/storage/sqlite-rows.js +1 -1
- package/dist/adapters/storage/sqlite-rows.js.map +1 -1
- package/dist/adapters/storage/sqlite.d.ts.map +1 -1
- package/dist/adapters/tui/application-ui-controller.d.ts.map +1 -1
- package/dist/adapters/tui/application-ui-controller.js +4 -3
- package/dist/adapters/tui/application-ui-controller.js.map +1 -1
- package/dist/adapters/tui/native-terminal-transport.d.ts +3 -0
- package/dist/adapters/tui/native-terminal-transport.d.ts.map +1 -0
- package/dist/adapters/tui/native-terminal-transport.js +270 -0
- package/dist/adapters/tui/native-terminal-transport.js.map +1 -0
- package/dist/adapters/tui/profile-connection-dispatch.d.ts.map +1 -1
- package/dist/adapters/tui/profile-connection-dispatch.js.map +1 -1
- package/dist/adapters/tui/ui-capabilities.d.ts +2 -0
- package/dist/adapters/tui/ui-capabilities.d.ts.map +1 -1
- package/dist/adapters/tui/ui-capabilities.js +2 -0
- package/dist/adapters/tui/ui-capabilities.js.map +1 -1
- package/dist/adapters/tui/ui-core-dispatch.js +2 -2
- package/dist/adapters/tui/ui-core-dispatch.js.map +1 -1
- package/dist/adapters/tui/ui-headless-dispatch.d.ts.map +1 -1
- package/dist/adapters/tui/ui-headless-dispatch.js +7 -0
- package/dist/adapters/tui/ui-headless-dispatch.js.map +1 -1
- package/dist/adapters/tui/ui-intelligence-result-view.d.ts.map +1 -1
- package/dist/adapters/tui/ui-intelligence-result-view.js.map +1 -1
- package/dist/adapters/tui/ui-projection.d.ts.map +1 -1
- package/dist/adapters/tui/ui-projection.js +17 -2
- package/dist/adapters/tui/ui-projection.js.map +1 -1
- package/dist/adapters/tui/ui-view-model.d.ts.map +1 -1
- package/dist/adapters/tui/ui-view-model.js +8 -2
- package/dist/adapters/tui/ui-view-model.js.map +1 -1
- package/dist/app/analysis-execution-session.d.ts +1 -1
- package/dist/app/analysis-execution-session.d.ts.map +1 -1
- package/dist/app/analysis-lifecycle.d.ts.map +1 -1
- package/dist/app/analysis-lifecycle.js +1 -1
- package/dist/app/analysis-lifecycle.js.map +1 -1
- package/dist/app/analysis-retained-admission.d.ts.map +1 -1
- package/dist/app/analysis-retained-admission.js +2 -25
- package/dist/app/analysis-retained-admission.js.map +1 -1
- package/dist/app/analysis-source.d.ts.map +1 -1
- package/dist/app/analysis-source.js.map +1 -1
- package/dist/app/application-guards.d.ts.map +1 -1
- package/dist/app/application-guards.js.map +1 -1
- package/dist/app/application-interaction-actions.d.ts +2 -2
- package/dist/app/application-interaction-actions.d.ts.map +1 -1
- package/dist/app/application-interaction-actions.js +15 -9
- package/dist/app/application-interaction-actions.js.map +1 -1
- package/dist/app/application-ports.d.ts +2 -1
- package/dist/app/application-ports.d.ts.map +1 -1
- package/dist/app/application-support.d.ts.map +1 -1
- package/dist/app/application-support.js +8 -0
- package/dist/app/application-support.js.map +1 -1
- package/dist/app/application-types.d.ts +2 -0
- package/dist/app/application-types.d.ts.map +1 -1
- package/dist/app/application.d.ts +1 -1
- package/dist/app/application.d.ts.map +1 -1
- package/dist/app/application.js +4 -4
- package/dist/app/application.js.map +1 -1
- package/dist/app/automation-actions.d.ts +1 -1
- package/dist/app/automation-actions.d.ts.map +1 -1
- package/dist/app/automation-actions.js +9 -2
- package/dist/app/automation-actions.js.map +1 -1
- package/dist/app/automation-matching.d.ts +1 -1
- package/dist/app/automation-matching.d.ts.map +1 -1
- package/dist/app/composition.d.ts +3 -1
- package/dist/app/composition.d.ts.map +1 -1
- package/dist/app/composition.js +7 -1
- package/dist/app/composition.js.map +1 -1
- package/dist/app/configuration-action-transition.d.ts.map +1 -1
- package/dist/app/configuration-action-transition.js.map +1 -1
- package/dist/app/configuration-session.d.ts.map +1 -1
- package/dist/app/configuration-session.js.map +1 -1
- package/dist/app/connection-record-factory.d.ts.map +1 -1
- package/dist/app/connection-record-factory.js.map +1 -1
- package/dist/app/control-effects.js +8 -1
- package/dist/app/control-effects.js.map +1 -1
- package/dist/app/conversation-branches.d.ts.map +1 -1
- package/dist/app/conversation-branches.js.map +1 -1
- package/dist/app/conversation-import-runs.js +1 -0
- package/dist/app/conversation-import-runs.js.map +1 -1
- package/dist/app/conversation-lifecycle.js.map +1 -1
- package/dist/app/effective-run-configuration.d.ts +1 -1
- package/dist/app/effective-run-configuration.d.ts.map +1 -1
- package/dist/app/effective-run-configuration.js +1 -0
- package/dist/app/effective-run-configuration.js.map +1 -1
- package/dist/app/intelligence-actions.d.ts +1 -1
- package/dist/app/intelligence-actions.d.ts.map +1 -1
- package/dist/app/intelligence-actions.js.map +1 -1
- package/dist/app/interaction-controller.d.ts +1 -1
- package/dist/app/interaction-controller.d.ts.map +1 -1
- package/dist/app/interaction-controller.js +5 -0
- package/dist/app/interaction-controller.js.map +1 -1
- package/dist/app/interaction-effects.d.ts +2 -1
- package/dist/app/interaction-effects.d.ts.map +1 -1
- package/dist/app/interaction-effects.js +8 -4
- package/dist/app/interaction-effects.js.map +1 -1
- package/dist/app/journal.d.ts.map +1 -1
- package/dist/app/journal.js +1 -2
- package/dist/app/journal.js.map +1 -1
- package/dist/app/production-composition.d.ts +2 -0
- package/dist/app/production-composition.d.ts.map +1 -1
- package/dist/app/production-composition.js +50 -13
- package/dist/app/production-composition.js.map +1 -1
- package/dist/app/profile-action-support.d.ts +3 -1
- package/dist/app/profile-action-support.d.ts.map +1 -1
- package/dist/app/profile-actions.d.ts +1 -1
- package/dist/app/profile-actions.d.ts.map +1 -1
- package/dist/app/profile-actions.js.map +1 -1
- package/dist/app/profile-draft.d.ts.map +1 -1
- package/dist/app/profile-draft.js +1 -1
- package/dist/app/profile-draft.js.map +1 -1
- package/dist/app/profile-model-settings.d.ts +3 -1
- package/dist/app/profile-model-settings.d.ts.map +1 -1
- package/dist/app/profile-model-settings.js +9 -5
- package/dist/app/profile-model-settings.js.map +1 -1
- package/dist/app/profile-selection.d.ts.map +1 -1
- package/dist/app/profile-selection.js.map +1 -1
- package/dist/app/profile-sources.d.ts +1 -1
- package/dist/app/profile-sources.d.ts.map +1 -1
- package/dist/app/profile-sources.js +2 -2
- package/dist/app/profile-sources.js.map +1 -1
- package/dist/app/profiles.d.ts +3 -1
- package/dist/app/profiles.d.ts.map +1 -1
- package/dist/app/profiles.js.map +1 -1
- package/dist/app/run-admission-dispatch.d.ts.map +1 -1
- package/dist/app/run-admission-dispatch.js +2 -0
- 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 +9 -0
- 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 +3 -0
- package/dist/app/run-admission-request.js.map +1 -1
- package/dist/app/run-admission.d.ts +2 -2
- package/dist/app/run-admission.d.ts.map +1 -1
- package/dist/app/run-admission.js +2 -2
- package/dist/app/run-admission.js.map +1 -1
- package/dist/app/run-controls.d.ts.map +1 -1
- package/dist/app/run-controls.js +3 -0
- package/dist/app/run-controls.js.map +1 -1
- package/dist/app/run-execution-snapshot.d.ts +2 -1
- package/dist/app/run-execution-snapshot.d.ts.map +1 -1
- package/dist/app/run-execution-snapshot.js +2 -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 +2 -0
- package/dist/app/run-execution.js.map +1 -1
- package/dist/app/run-ingestion.d.ts.map +1 -1
- package/dist/app/run-ingestion.js +2 -2
- package/dist/app/run-ingestion.js.map +1 -1
- package/dist/app/run-recovery-context.d.ts +5 -0
- package/dist/app/run-recovery-context.d.ts.map +1 -0
- package/dist/app/run-recovery-context.js +11 -0
- package/dist/app/run-recovery-context.js.map +1 -0
- package/dist/app/run-replay.d.ts.map +1 -1
- package/dist/app/run-replay.js +12 -0
- package/dist/app/run-replay.js.map +1 -1
- package/dist/app/supervisor-service.d.ts +1 -1
- package/dist/app/supervisor-service.d.ts.map +1 -1
- package/dist/app/unavailable-analyst.d.ts +1 -1
- package/dist/app/unavailable-analyst.d.ts.map +1 -1
- package/dist/app/unavailable-analyst.js +1 -1
- package/dist/app/unavailable-analyst.js.map +1 -1
- package/dist/bin/braid-runtime.d.ts.map +1 -1
- package/dist/bin/braid-runtime.js +3 -0
- package/dist/bin/braid-runtime.js.map +1 -1
- package/dist/bin/interface-runner.d.ts.map +1 -1
- package/dist/bin/interface-runner.js +18 -0
- package/dist/bin/interface-runner.js.map +1 -1
- package/dist/bin/interface-signal-lifecycle.d.ts +3 -1
- package/dist/bin/interface-signal-lifecycle.d.ts.map +1 -1
- package/dist/bin/interface-signal-lifecycle.js +31 -4
- package/dist/bin/interface-signal-lifecycle.js.map +1 -1
- package/dist/bin/native-interactive-actions.d.ts +21 -0
- package/dist/bin/native-interactive-actions.d.ts.map +1 -0
- package/dist/bin/native-interactive-actions.js +173 -0
- package/dist/bin/native-interactive-actions.js.map +1 -0
- package/dist/bin/production-application.d.ts +2 -0
- package/dist/bin/production-application.d.ts.map +1 -1
- package/dist/bin/production-application.js +13 -3
- package/dist/bin/production-application.js.map +1 -1
- package/dist/bin/production-connection-actions.d.ts.map +1 -1
- package/dist/bin/production-connection-actions.js +2 -2
- package/dist/bin/production-connection-actions.js.map +1 -1
- package/dist/bin/production-connection-credential-cleanup.d.ts.map +1 -1
- package/dist/bin/production-connection-credential-cleanup.js +1 -1
- package/dist/bin/production-connection-credential-cleanup.js.map +1 -1
- package/dist/bin/production-connection-removal.d.ts.map +1 -1
- package/dist/bin/production-connection-removal.js.map +1 -1
- package/dist/bin/production-setup-discovery.d.ts +1 -1
- package/dist/bin/production-setup-discovery.d.ts.map +1 -1
- package/dist/bin/production-setup-discovery.js +1 -1
- package/dist/bin/production-setup-discovery.js.map +1 -1
- package/dist/bin/production-setup-transition.d.ts +3 -1
- package/dist/bin/production-setup-transition.d.ts.map +1 -1
- package/dist/bin/production-setup-transition.js.map +1 -1
- package/dist/bin/production-setup-types.d.ts +2 -0
- package/dist/bin/production-setup-types.d.ts.map +1 -1
- package/dist/bin/production-startup.d.ts.map +1 -1
- package/dist/bin/production-startup.js +3 -0
- package/dist/bin/production-startup.js.map +1 -1
- package/dist/bin/runtime-startup-options.d.ts.map +1 -1
- package/dist/bin/runtime-startup-options.js +12 -0
- package/dist/bin/runtime-startup-options.js.map +1 -1
- package/dist/domain/bounded-structured.d.ts.map +1 -1
- package/dist/domain/bounded-structured.js +2 -0
- package/dist/domain/bounded-structured.js.map +1 -1
- package/dist/domain/entities-core.d.ts +1 -1
- package/dist/domain/entities-core.d.ts.map +1 -1
- package/dist/domain/entities-messages.d.ts +1 -1
- package/dist/domain/entities-messages.d.ts.map +1 -1
- package/dist/domain/entities-runtime.d.ts +2 -2
- package/dist/domain/entities-runtime.d.ts.map +1 -1
- package/dist/domain/entities.d.ts +3 -3
- package/dist/domain/entities.d.ts.map +1 -1
- package/dist/domain/entities.js +3 -3
- package/dist/domain/entities.js.map +1 -1
- package/dist/domain/events-legacy.d.ts +3 -3
- package/dist/domain/events-legacy.d.ts.map +1 -1
- package/dist/domain/events.d.ts +1 -1
- package/dist/domain/events.d.ts.map +1 -1
- package/dist/domain/ids-values.d.ts +1 -1
- package/dist/domain/ids-values.d.ts.map +1 -1
- package/dist/domain/ids-values.js.map +1 -1
- package/dist/domain/ids.d.ts.map +1 -1
- package/dist/domain/ids.js.map +1 -1
- package/dist/domain/invariants-relations.d.ts.map +1 -1
- package/dist/domain/invariants-relations.js.map +1 -1
- package/dist/domain/invariants-retained-admission.d.ts.map +1 -1
- package/dist/domain/invariants-retained-admission.js +84 -24
- 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 +2 -2
- package/dist/domain/invariants-run.js.map +1 -1
- package/dist/domain/invariants-runtime.d.ts.map +1 -1
- package/dist/domain/invariants-runtime.js +1 -1
- package/dist/domain/invariants-runtime.js.map +1 -1
- package/dist/domain/invariants.d.ts +1 -1
- package/dist/domain/invariants.d.ts.map +1 -1
- package/dist/domain/invariants.js +1 -1
- package/dist/domain/invariants.js.map +1 -1
- package/dist/domain/legacy-interaction-snapshot.d.ts.map +1 -1
- 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 +1 -1
- package/dist/domain/materialized-state-snapshot.js.map +1 -1
- package/dist/domain/receipts.d.ts +4 -2
- package/dist/domain/receipts.d.ts.map +1 -1
- package/dist/domain/receipts.js +4 -0
- package/dist/domain/receipts.js.map +1 -1
- package/dist/domain/redaction.d.ts.map +1 -1
- package/dist/domain/redaction.js +2 -2
- package/dist/domain/redaction.js.map +1 -1
- package/dist/domain/reducer-content.d.ts +1 -1
- package/dist/domain/reducer-content.d.ts.map +1 -1
- package/dist/domain/reducer-content.js +1 -1
- package/dist/domain/reducer-content.js.map +1 -1
- package/dist/domain/reducer-domain-events.d.ts.map +1 -1
- package/dist/domain/reducer-domain-events.js +1 -1
- package/dist/domain/reducer-domain-events.js.map +1 -1
- package/dist/domain/reducer-execution-observation.js.map +1 -1
- package/dist/domain/reducer-helpers.d.ts.map +1 -1
- package/dist/domain/reducer-helpers.js +1 -1
- package/dist/domain/reducer-helpers.js.map +1 -1
- package/dist/domain/reducer-interactions.d.ts +1 -1
- package/dist/domain/reducer-interactions.d.ts.map +1 -1
- package/dist/domain/reducer-interactions.js +4 -4
- package/dist/domain/reducer-interactions.js.map +1 -1
- package/dist/domain/reducer-legacy.d.ts.map +1 -1
- package/dist/domain/reducer-legacy.js +1 -1
- package/dist/domain/reducer-legacy.js.map +1 -1
- package/dist/domain/reducer-retained-admission.d.ts.map +1 -1
- package/dist/domain/reducer-retained-admission.js +117 -21
- package/dist/domain/reducer-retained-admission.js.map +1 -1
- package/dist/domain/reducer-run-graph.d.ts.map +1 -1
- package/dist/domain/reducer-run-graph.js.map +1 -1
- package/dist/domain/reducer-support.d.ts +1 -1
- package/dist/domain/reducer-support.d.ts.map +1 -1
- package/dist/domain/reducer.d.ts +1 -1
- package/dist/domain/reducer.d.ts.map +1 -1
- package/dist/domain/reducer.js.map +1 -1
- package/dist/domain/run-contracts.d.ts +7 -18
- package/dist/domain/run-contracts.d.ts.map +1 -1
- package/dist/domain/run-interactions.d.ts +4 -0
- package/dist/domain/run-interactions.d.ts.map +1 -0
- package/dist/domain/run-interactions.js +13 -0
- package/dist/domain/run-interactions.js.map +1 -0
- package/dist/eval/calibration.js +1 -1
- package/dist/eval/calibration.js.map +1 -1
- package/dist/eval/cases.d.ts.map +1 -1
- package/dist/eval/cases.js.map +1 -1
- package/dist/eval/fixtures.js +1 -1
- package/dist/eval/fixtures.js.map +1 -1
- package/dist/eval/product-path.js.map +1 -1
- package/dist/index.d.ts +25 -23
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +15 -14
- package/dist/index.js.map +1 -1
- package/dist/ports/execution.d.ts +28 -8
- package/dist/ports/execution.d.ts.map +1 -1
- package/dist/ports/execution.js +11 -0
- package/dist/ports/execution.js.map +1 -1
- package/dist/ports/native-interactive-execution.d.ts +19 -0
- package/dist/ports/native-interactive-execution.d.ts.map +1 -0
- package/dist/ports/native-interactive-execution.js +2 -0
- package/dist/ports/native-interactive-execution.js.map +1 -0
- package/dist/ports/native-terminal-transport.d.ts +65 -0
- package/dist/ports/native-terminal-transport.d.ts.map +1 -0
- package/dist/ports/native-terminal-transport.js +2 -0
- package/dist/ports/native-terminal-transport.js.map +1 -0
- package/dist/startup/preview-runtime.d.ts +4 -2
- package/dist/startup/preview-runtime.d.ts.map +1 -1
- package/dist/startup/preview-runtime.js +9 -3
- package/dist/startup/preview-runtime.js.map +1 -1
- package/dist/testing/runtime-contract-fixtures.d.ts.map +1 -1
- package/dist/testing/runtime-contract-fixtures.js.map +1 -1
- package/dist/views/headless/protocol.d.ts +2 -2
- package/dist/views/headless/protocol.d.ts.map +1 -1
- package/dist/views/headless/protocol.js.map +1 -1
- package/dist/views/shared/analysis-model-call-presentation.d.ts +4 -0
- package/dist/views/shared/analysis-model-call-presentation.d.ts.map +1 -1
- package/dist/views/shared/analysis-model-call-presentation.js +50 -1
- package/dist/views/shared/analysis-model-call-presentation.js.map +1 -1
- package/dist/views/shared/analysis-presentation.d.ts.map +1 -1
- package/dist/views/shared/analysis-presentation.js +5 -11
- package/dist/views/shared/analysis-presentation.js.map +1 -1
- package/dist/views/shared/command-registry.d.ts +1 -1
- package/dist/views/shared/command-registry.d.ts.map +1 -1
- package/dist/views/shared/command-registry.js +19 -1
- package/dist/views/shared/command-registry.js.map +1 -1
- package/dist/views/shared/command-table.d.ts +10 -0
- package/dist/views/shared/command-table.d.ts.map +1 -1
- package/dist/views/shared/command-table.js +12 -0
- package/dist/views/shared/command-table.js.map +1 -1
- package/dist/views/shared/models.d.ts +6 -2
- 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 +28 -0
- package/dist/views/shared/native-interactive-actions.d.ts.map +1 -0
- package/dist/views/shared/native-interactive-actions.js +2 -0
- package/dist/views/shared/native-interactive-actions.js.map +1 -0
- package/dist/views/tui/activity-browser.d.ts +1 -1
- package/dist/views/tui/activity-browser.d.ts.map +1 -1
- package/dist/views/tui/activity-browser.js +17 -22
- package/dist/views/tui/activity-browser.js.map +1 -1
- package/dist/views/tui/automation-rule-panel.js +4 -4
- package/dist/views/tui/automation-rule-panel.js.map +1 -1
- package/dist/views/tui/composer-view.d.ts.map +1 -1
- package/dist/views/tui/composer-view.js +20 -7
- package/dist/views/tui/composer-view.js.map +1 -1
- package/dist/views/tui/configuration-credential.d.ts.map +1 -1
- package/dist/views/tui/configuration-credential.js.map +1 -1
- package/dist/views/tui/configuration-presenters.d.ts.map +1 -1
- package/dist/views/tui/configuration-presenters.js +35 -14
- package/dist/views/tui/configuration-presenters.js.map +1 -1
- package/dist/views/tui/configuration-review.d.ts.map +1 -1
- package/dist/views/tui/configuration-review.js +8 -2
- package/dist/views/tui/configuration-review.js.map +1 -1
- package/dist/views/tui/configuration-wizard-presentation.d.ts.map +1 -1
- package/dist/views/tui/configuration-wizard-presentation.js +9 -5
- 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 +4 -4
- package/dist/views/tui/configuration-wizard.js.map +1 -1
- package/dist/views/tui/connection-metadata-editor-actions.js +1 -1
- package/dist/views/tui/connection-metadata-editor-actions.js.map +1 -1
- package/dist/views/tui/connection-metadata-editor-rendering.js +3 -3
- package/dist/views/tui/connection-metadata-editor-rendering.js.map +1 -1
- package/dist/views/tui/connection-metadata-editor.d.ts.map +1 -1
- package/dist/views/tui/connection-metadata-editor.js +9 -1
- package/dist/views/tui/connection-metadata-editor.js.map +1 -1
- package/dist/views/tui/connection-overlay-workflow.d.ts.map +1 -1
- package/dist/views/tui/connection-overlay-workflow.js +1 -1
- package/dist/views/tui/connection-overlay-workflow.js.map +1 -1
- package/dist/views/tui/connection-setup.js +2 -2
- package/dist/views/tui/connection-setup.js.map +1 -1
- package/dist/views/tui/conversation-dialogs.d.ts.map +1 -1
- package/dist/views/tui/conversation-dialogs.js +5 -2
- package/dist/views/tui/conversation-dialogs.js.map +1 -1
- package/dist/views/tui/conversation-overlay-actions.js +4 -4
- package/dist/views/tui/conversation-overlay-actions.js.map +1 -1
- package/dist/views/tui/conversation-overlays.d.ts.map +1 -1
- package/dist/views/tui/conversation-overlays.js +2 -2
- package/dist/views/tui/conversation-overlays.js.map +1 -1
- package/dist/views/tui/entity-browser-layout.d.ts +12 -0
- package/dist/views/tui/entity-browser-layout.d.ts.map +1 -0
- package/dist/views/tui/entity-browser-layout.js +63 -0
- package/dist/views/tui/entity-browser-layout.js.map +1 -0
- package/dist/views/tui/entity-browser.d.ts.map +1 -1
- package/dist/views/tui/entity-browser.js +28 -35
- package/dist/views/tui/entity-browser.js.map +1 -1
- package/dist/views/tui/execution-target.d.ts +4 -1
- package/dist/views/tui/execution-target.d.ts.map +1 -1
- package/dist/views/tui/execution-target.js +18 -2
- package/dist/views/tui/execution-target.js.map +1 -1
- package/dist/views/tui/interaction-presentation.d.ts.map +1 -1
- package/dist/views/tui/interaction-presentation.js +4 -9
- package/dist/views/tui/interaction-presentation.js.map +1 -1
- package/dist/views/tui/interaction.d.ts.map +1 -1
- package/dist/views/tui/interaction.js +1 -3
- package/dist/views/tui/interaction.js.map +1 -1
- package/dist/views/tui/modal-coordinator.d.ts +1 -0
- package/dist/views/tui/modal-coordinator.d.ts.map +1 -1
- package/dist/views/tui/modal-coordinator.js +15 -2
- package/dist/views/tui/modal-coordinator.js.map +1 -1
- package/dist/views/tui/profile-editor-rendering.d.ts.map +1 -1
- package/dist/views/tui/profile-editor-rendering.js +2 -2
- package/dist/views/tui/profile-editor-rendering.js.map +1 -1
- package/dist/views/tui/profile-editor.d.ts +2 -0
- package/dist/views/tui/profile-editor.d.ts.map +1 -1
- package/dist/views/tui/profile-editor.js +32 -6
- package/dist/views/tui/profile-editor.js.map +1 -1
- package/dist/views/tui/secret-input.d.ts.map +1 -1
- package/dist/views/tui/secret-input.js.map +1 -1
- package/dist/views/tui/selector.js +2 -2
- package/dist/views/tui/selector.js.map +1 -1
- package/dist/views/tui/terminal-app.d.ts +6 -0
- package/dist/views/tui/terminal-app.d.ts.map +1 -1
- package/dist/views/tui/terminal-app.js +44 -2
- 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 +126 -49
- package/dist/views/tui/terminal-chrome.js.map +1 -1
- package/dist/views/tui/terminal-command-controller.d.ts +3 -1
- package/dist/views/tui/terminal-command-controller.d.ts.map +1 -1
- package/dist/views/tui/terminal-command-controller.js +39 -0
- package/dist/views/tui/terminal-command-controller.js.map +1 -1
- package/dist/views/tui/terminal-identity.d.ts +7 -1
- package/dist/views/tui/terminal-identity.d.ts.map +1 -1
- package/dist/views/tui/terminal-identity.js +92 -16
- package/dist/views/tui/terminal-identity.js.map +1 -1
- package/dist/views/tui/terminal-input-controller.d.ts +0 -4
- package/dist/views/tui/terminal-input-controller.d.ts.map +1 -1
- package/dist/views/tui/terminal-input-controller.js +6 -12
- package/dist/views/tui/terminal-input-controller.js.map +1 -1
- package/dist/views/tui/terminal-interaction-controller.d.ts.map +1 -1
- package/dist/views/tui/terminal-interaction-controller.js +1 -0
- package/dist/views/tui/terminal-interaction-controller.js.map +1 -1
- package/dist/views/tui/terminal-overlays.d.ts +1 -0
- package/dist/views/tui/terminal-overlays.d.ts.map +1 -1
- package/dist/views/tui/terminal-overlays.js +24 -3
- package/dist/views/tui/terminal-overlays.js.map +1 -1
- package/dist/views/tui/terminal-shell.d.ts +0 -1
- package/dist/views/tui/terminal-shell.d.ts.map +1 -1
- package/dist/views/tui/terminal-shell.js +9 -39
- package/dist/views/tui/terminal-shell.js.map +1 -1
- package/dist/views/tui/terminal-surface-overlays.js +1 -1
- package/dist/views/tui/terminal-surface-overlays.js.map +1 -1
- package/dist/views/tui/terminal-usage.d.ts +2 -0
- package/dist/views/tui/terminal-usage.d.ts.map +1 -1
- package/dist/views/tui/terminal-usage.js +20 -1
- package/dist/views/tui/terminal-usage.js.map +1 -1
- package/dist/views/tui/transcript.d.ts.map +1 -1
- package/dist/views/tui/transcript.js +7 -2
- package/dist/views/tui/transcript.js.map +1 -1
- package/package.json +9 -8
- package/dist/adapters/runtime/sandbox-result-projection.d.ts +0 -10
- package/dist/adapters/runtime/sandbox-result-projection.d.ts.map +0 -1
- package/dist/adapters/runtime/sandbox-result-projection.js +0 -205
- package/dist/adapters/runtime/sandbox-result-projection.js.map +0 -1
|
@@ -1,40 +1,55 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { reconnectRetainedRun, recoverRetainedRun, startRetainedRun, } from '@tangle-network/agent-runtime/kernel';
|
|
2
|
+
import { canonicalDigest } from '../../domain/canonical.js';
|
|
3
3
|
import { publicMaterializationReceipt } from '../../domain/materialization-receipt.js';
|
|
4
|
-
import { safeExecutionId } from './production-backend-common.js';
|
|
4
|
+
import { safeExecutionId, stableProviderId } from './production-backend-common.js';
|
|
5
5
|
import { finalRetainedEnvelope, isTerminalRetainedStatus, modelRequestsFromResult, retainedCapabilities, retainedStatus, retainedTurnUsage, } from './retained-execution-projection.js';
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
const
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
6
|
+
export async function createCliBridgeRetainedPlan(prepared, runId, controlRef, recovery) {
|
|
7
|
+
const provider = prepared.provider;
|
|
8
|
+
const admission = headlessRetainedAdmission(recovery?.retainedAdmission);
|
|
9
|
+
if (admission !== undefined && admissionProvider(admission) !== provider.name) {
|
|
10
|
+
throw new Error('retained CLI Bridge admission belongs to another provider');
|
|
11
|
+
}
|
|
12
|
+
const persistedControlRef = admission?.phase === 'dispatched' ? admission.controlRef : undefined;
|
|
13
|
+
if (controlRef !== undefined &&
|
|
14
|
+
persistedControlRef !== undefined &&
|
|
15
|
+
canonicalDigest(controlRef) !== canonicalDigest(persistedControlRef)) {
|
|
16
|
+
throw new Error('retained CLI Bridge control reference conflicts with the persisted run');
|
|
17
|
+
}
|
|
18
|
+
const exactControlRef = controlRef ?? persistedControlRef;
|
|
19
|
+
const environmentId = exactControlRef?.environmentId ??
|
|
20
|
+
(admission?.phase === 'environment' ? admission.environmentId : undefined);
|
|
21
|
+
const executionId = exactControlRef?.executionId ??
|
|
22
|
+
(admission?.phase === 'intent' || admission?.phase === 'environment'
|
|
23
|
+
? admission.executionId
|
|
24
|
+
: safeExecutionId(runId));
|
|
25
|
+
const providerSessionId = exactControlRef?.sessionId ??
|
|
26
|
+
(admission?.phase === 'intent' || admission?.phase === 'environment'
|
|
27
|
+
? admission.sessionId
|
|
28
|
+
: prepared.providerSessionId);
|
|
29
|
+
const environmentIdempotencyKey = admission?.idempotencyKey ?? retainedEnvironmentIdempotencyKey(providerSessionId);
|
|
17
30
|
const providerName = provider.name;
|
|
18
|
-
const capabilities = retainedCapabilities(
|
|
31
|
+
const capabilities = retainedCapabilities(await provider.capabilities());
|
|
19
32
|
const materializationReceipt = publicMaterializationReceipt({
|
|
20
33
|
...prepared.materializationReceipt,
|
|
21
34
|
backend: 'environment-provider',
|
|
22
|
-
environmentId,
|
|
23
|
-
providerRunId:
|
|
35
|
+
...(environmentId === undefined ? {} : { environmentId }),
|
|
36
|
+
providerRunId: exactControlRef?.runId ?? executionId,
|
|
24
37
|
retainedControl: 'exact-after-dispatch',
|
|
25
38
|
});
|
|
26
39
|
const plan = {
|
|
27
40
|
prepared,
|
|
28
41
|
provider,
|
|
29
|
-
environmentId,
|
|
42
|
+
...(environmentId === undefined ? {} : { environmentId }),
|
|
43
|
+
environmentIdempotencyKey,
|
|
30
44
|
executionId,
|
|
31
45
|
providerName,
|
|
32
|
-
providerSessionId
|
|
46
|
+
providerSessionId,
|
|
33
47
|
model: prepared.route,
|
|
34
48
|
capabilities,
|
|
35
49
|
materializationReceipt,
|
|
36
50
|
start: (input) => startCliBridgeRetainedRun(plan, input),
|
|
37
51
|
reconnect: (controlRef) => reconnectCliBridgeRetainedRun(plan, controlRef),
|
|
52
|
+
recover: (input) => recoverCliBridgeRetainedRun(plan, input),
|
|
38
53
|
discover: (braidRunId, signal) => discoverCliBridgeControlRef(plan, braidRunId, signal),
|
|
39
54
|
observe: () => prepared.observation.snapshot(),
|
|
40
55
|
projectStatus: ({ status, detached }) => retainedStatus(status, detached),
|
|
@@ -58,11 +73,12 @@ export async function startCliBridgeRetainedRun(plan, input) {
|
|
|
58
73
|
profile: plan.prepared.profile,
|
|
59
74
|
backend: plan.prepared.runner,
|
|
60
75
|
workspace: { cwd: plan.prepared.workspace },
|
|
61
|
-
idempotencyKey: plan.
|
|
76
|
+
idempotencyKey: plan.environmentIdempotencyKey,
|
|
62
77
|
},
|
|
63
78
|
turn: {
|
|
64
79
|
prompt: input.text,
|
|
65
80
|
turnId: safeExecutionId(input.operationId),
|
|
81
|
+
interactions: input.interactions ?? {},
|
|
66
82
|
signal: input.signal,
|
|
67
83
|
},
|
|
68
84
|
identity: {
|
|
@@ -75,70 +91,73 @@ export async function startCliBridgeRetainedRun(plan, input) {
|
|
|
75
91
|
export async function reconnectCliBridgeRetainedRun(plan, controlRef) {
|
|
76
92
|
return reconnectRetainedRun({ provider: plan.provider, controlRef });
|
|
77
93
|
}
|
|
94
|
+
async function recoverCliBridgeRetainedRun(plan, input) {
|
|
95
|
+
const admission = headlessRetainedAdmission(input.admission);
|
|
96
|
+
if (admission === undefined)
|
|
97
|
+
return null;
|
|
98
|
+
if (admission.phase === 'intent') {
|
|
99
|
+
if (input.receipt === undefined || input.onRetainedAdmission === undefined)
|
|
100
|
+
return null;
|
|
101
|
+
const result = await recoverRetainedRun({
|
|
102
|
+
provider: plan.provider,
|
|
103
|
+
admission,
|
|
104
|
+
replay: {
|
|
105
|
+
environment: {
|
|
106
|
+
profile: plan.prepared.profile,
|
|
107
|
+
backend: plan.prepared.runner,
|
|
108
|
+
workspace: { cwd: plan.prepared.workspace },
|
|
109
|
+
idempotencyKey: admission.idempotencyKey,
|
|
110
|
+
},
|
|
111
|
+
turn: {
|
|
112
|
+
prompt: input.receipt.requested.text,
|
|
113
|
+
turnId: admission.turnId,
|
|
114
|
+
interactions: input.receipt.requested.interactions ?? {},
|
|
115
|
+
...(input.signal === undefined ? {} : { signal: input.signal }),
|
|
116
|
+
},
|
|
117
|
+
identity: {
|
|
118
|
+
sessionId: admission.sessionId,
|
|
119
|
+
executionId: admission.executionId,
|
|
120
|
+
},
|
|
121
|
+
},
|
|
122
|
+
onAdmission: input.onRetainedAdmission,
|
|
123
|
+
});
|
|
124
|
+
return result.outcome === 'recovered' ? result.handle : null;
|
|
125
|
+
}
|
|
126
|
+
if (admission.phase !== 'environment')
|
|
127
|
+
return null;
|
|
128
|
+
const result = await recoverRetainedRun({
|
|
129
|
+
provider: plan.provider,
|
|
130
|
+
environmentId: admission.environmentId,
|
|
131
|
+
sessionId: admission.sessionId,
|
|
132
|
+
executionId: admission.executionId,
|
|
133
|
+
});
|
|
134
|
+
return result.outcome === 'recovered' ? result.handle : null;
|
|
135
|
+
}
|
|
78
136
|
/** Recover the exact server-issued digest after a client crashed during dispatch. */
|
|
79
137
|
export async function discoverCliBridgeControlRef(plan, _braidRunId, signal) {
|
|
80
|
-
|
|
81
|
-
const response = await (plan.prepared.fetch ?? globalThis.fetch)(`${plan.prepared.bridgeUrl}/v1/runs/${encodeURIComponent(providerRunId)}`, {
|
|
82
|
-
method: 'GET',
|
|
83
|
-
headers: { authorization: `Bearer ${plan.prepared.bearerToken}` },
|
|
84
|
-
...(signal === undefined ? {} : { signal }),
|
|
85
|
-
});
|
|
86
|
-
if (response.status === 404)
|
|
138
|
+
if (plan.environmentId === undefined || plan.providerSessionId === undefined)
|
|
87
139
|
return null;
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
}
|
|
91
|
-
const body = await boundedResponseText(response);
|
|
92
|
-
let value;
|
|
93
|
-
try {
|
|
94
|
-
value = JSON.parse(body);
|
|
95
|
-
}
|
|
96
|
-
catch {
|
|
97
|
-
throw new Error('cli-bridge run discovery returned invalid JSON');
|
|
98
|
-
}
|
|
99
|
-
if (value === null || typeof value !== 'object' || Array.isArray(value)) {
|
|
100
|
-
throw new Error('cli-bridge run discovery returned an invalid run snapshot');
|
|
101
|
-
}
|
|
102
|
-
const snapshot = value;
|
|
103
|
-
if (snapshot.id !== providerRunId) {
|
|
104
|
-
throw new Error('cli-bridge run discovery returned another run identity');
|
|
105
|
-
}
|
|
106
|
-
return AgentExactRunControlRefSchema.parse({
|
|
107
|
-
runId: snapshot.id,
|
|
108
|
-
provider: plan.provider.name,
|
|
140
|
+
return plan.provider.lookupRun({
|
|
141
|
+
runId: plan.executionId,
|
|
109
142
|
environmentId: plan.environmentId,
|
|
110
143
|
sessionId: plan.providerSessionId,
|
|
111
144
|
executionId: plan.executionId,
|
|
112
|
-
|
|
145
|
+
...(signal === undefined ? {} : { signal }),
|
|
113
146
|
});
|
|
114
147
|
}
|
|
115
|
-
|
|
116
|
-
|
|
148
|
+
/** One provider session keeps one Bridge environment across every retained turn. */
|
|
149
|
+
function retainedEnvironmentIdempotencyKey(providerSessionId) {
|
|
150
|
+
return stableProviderId('environment-braid-', providerSessionId);
|
|
117
151
|
}
|
|
118
|
-
|
|
119
|
-
if (
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
const chunks = [];
|
|
124
|
-
let byteLength = 0;
|
|
125
|
-
try {
|
|
126
|
-
while (true) {
|
|
127
|
-
const next = await reader.read();
|
|
128
|
-
if (next.done)
|
|
129
|
-
break;
|
|
130
|
-
byteLength += next.value.byteLength;
|
|
131
|
-
if (byteLength > MAX_STATUS_BYTES) {
|
|
132
|
-
await reader.cancel('CLI Bridge run discovery response exceeded 64 KiB');
|
|
133
|
-
throw new Error('cli-bridge run discovery response exceeded 64 KiB');
|
|
134
|
-
}
|
|
135
|
-
chunks.push(decoder.decode(next.value, { stream: true }));
|
|
136
|
-
}
|
|
137
|
-
chunks.push(decoder.decode());
|
|
138
|
-
return chunks.join('');
|
|
139
|
-
}
|
|
140
|
-
finally {
|
|
141
|
-
reader.releaseLock();
|
|
152
|
+
function headlessRetainedAdmission(admission) {
|
|
153
|
+
if (admission?.phase !== 'intent' &&
|
|
154
|
+
admission?.phase !== 'environment' &&
|
|
155
|
+
admission?.phase !== 'dispatched') {
|
|
156
|
+
return undefined;
|
|
142
157
|
}
|
|
158
|
+
return admission;
|
|
159
|
+
}
|
|
160
|
+
function admissionProvider(admission) {
|
|
161
|
+
return admission.phase === 'dispatched' ? admission.controlRef.provider : admission.provider;
|
|
143
162
|
}
|
|
144
163
|
//# sourceMappingURL=cli-bridge-retained-run.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli-bridge-retained-run.js","sourceRoot":"","sources":["../../../src/adapters/runtime/cli-bridge-retained-run.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"cli-bridge-retained-run.js","sourceRoot":"","sources":["../../../src/adapters/runtime/cli-bridge-retained-run.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import type { InteractionResponseCommand } from '@tangle-network/agent-interface';
|
|
2
|
+
import type { ExecuteTurnInput, ExecutionPort, NormalizedExecutionEvent, RetainedExecutionRecoveryContext } from '../../ports/execution.js';
|
|
3
|
+
type StatusInput = Parameters<NonNullable<ExecutionPort['status']>>[0];
|
|
4
|
+
type ReconnectInput = Parameters<NonNullable<ExecutionPort['reconnect']>>[0];
|
|
5
|
+
type ReconnectEvent = Awaited<ReturnType<NonNullable<ExecutionPort['reconnect']>>> extends AsyncIterable<infer Event> ? Event : never;
|
|
6
|
+
type CancelInput = Parameters<NonNullable<ExecutionPort['cancelRun']>>[0];
|
|
7
|
+
type DetachInput = Parameters<NonNullable<ExecutionPort['detachRun']>>[0];
|
|
8
|
+
type SteerInput = Parameters<NonNullable<ExecutionPort['steerRun']>>[0];
|
|
9
|
+
type NativeBoundaryInput = Parameters<NonNullable<ExecutionPort['nativeBoundary']>>[0];
|
|
10
|
+
export interface ModeRoutingExecutionOptions {
|
|
11
|
+
readonly headless: ExecutionPort;
|
|
12
|
+
readonly interactive: ExecutionPort;
|
|
13
|
+
/** Supplies durable mode state after Braid has restarted. */
|
|
14
|
+
readonly isInteractiveRun?: (runId: string) => boolean;
|
|
15
|
+
}
|
|
16
|
+
/** Routes one run by its explicit mode or canonical retained admission. */
|
|
17
|
+
export declare class ModeRoutingExecutionPort implements ExecutionPort {
|
|
18
|
+
#private;
|
|
19
|
+
readonly admissionMode: 'sync' | 'async';
|
|
20
|
+
readonly capabilities: NonNullable<ExecutionPort['capabilities']>;
|
|
21
|
+
readonly environmentCapabilities?: NonNullable<ExecutionPort['environmentCapabilities']>;
|
|
22
|
+
constructor(options: ModeRoutingExecutionOptions);
|
|
23
|
+
admit(input: ExecuteTurnInput): Promise<import("../../ports/execution.js").ExecutionAdmission>;
|
|
24
|
+
streamTurn(input: ExecuteTurnInput): AsyncIterable<NormalizedExecutionEvent>;
|
|
25
|
+
cancelRun(input: CancelInput): Promise<import("../../ports/execution.js").ControlAcknowledgement | import("../../ports/execution.js").CancelRunResult>;
|
|
26
|
+
detachRun(input: DetachInput): Promise<import("../../ports/execution.js").ControlAcknowledgement>;
|
|
27
|
+
steerRun(input: SteerInput): Promise<import("../../ports/execution.js").ControlAcknowledgement>;
|
|
28
|
+
status(input: StatusInput): Promise<import("../../ports/execution.js").ProviderRunSnapshot | null>;
|
|
29
|
+
respondInteraction(input: {
|
|
30
|
+
readonly command: InteractionResponseCommand;
|
|
31
|
+
readonly signal?: AbortSignal;
|
|
32
|
+
readonly recovery?: RetainedExecutionRecoveryContext;
|
|
33
|
+
}): Promise<import("../../ports/execution.js").ControlAcknowledgement>;
|
|
34
|
+
reconnect(input: ReconnectInput): AsyncIterable<ReconnectEvent>;
|
|
35
|
+
nativeBoundary(input: NativeBoundaryInput): Promise<{
|
|
36
|
+
readonly boundary: string;
|
|
37
|
+
readonly digest: string;
|
|
38
|
+
readonly revision?: string;
|
|
39
|
+
} | null>;
|
|
40
|
+
}
|
|
41
|
+
export {};
|
|
42
|
+
//# sourceMappingURL=mode-routing-execution.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mode-routing-execution.d.ts","sourceRoot":"","sources":["../../../src/adapters/runtime/mode-routing-execution.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAA;AACjF,OAAO,KAAK,EACV,gBAAgB,EAChB,aAAa,EACb,wBAAwB,EACxB,gCAAgC,EAEjC,MAAM,0BAA0B,CAAA;AAGjC,KAAK,WAAW,GAAG,UAAU,CAAC,WAAW,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;AACtE,KAAK,cAAc,GAAG,UAAU,CAAC,WAAW,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;AAC5E,KAAK,cAAc,GACjB,OAAO,CAAC,UAAU,CAAC,WAAW,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,aAAa,CAAC,MAAM,KAAK,CAAC,GAC3F,KAAK,GACL,KAAK,CAAA;AACX,KAAK,WAAW,GAAG,UAAU,CAAC,WAAW,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;AACzE,KAAK,WAAW,GAAG,UAAU,CAAC,WAAW,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;AACzE,KAAK,UAAU,GAAG,UAAU,CAAC,WAAW,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;AACvE,KAAK,mBAAmB,GAAG,UAAU,CAAC,WAAW,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;AAEtF,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAA;IAChC,QAAQ,CAAC,WAAW,EAAE,aAAa,CAAA;IACnC,6DAA6D;IAC7D,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAA;CACvD;AAED,2EAA2E;AAC3E,qBAAa,wBAAyB,YAAW,aAAa;;IAK5D,QAAQ,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAA;IACxC,QAAQ,CAAC,YAAY,EAAE,WAAW,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC,CAAA;IACjE,QAAQ,CAAC,uBAAuB,CAAC,EAAE,WAAW,CAAC,aAAa,CAAC,yBAAyB,CAAC,CAAC,CAAA;IAExF,YAAY,OAAO,EAAE,2BAA2B,EAY/C;IAEK,KAAK,CAAC,KAAK,EAAE,gBAAgB,kEAQlC;IAEM,UAAU,CAAC,KAAK,EAAE,gBAAgB,GAAG,aAAa,CAAC,wBAAwB,CAAC,CAGlF;IAEK,SAAS,CAAC,KAAK,EAAE,WAAW,2HAMjC;IAEK,SAAS,CAAC,KAAK,EAAE,WAAW,sEAMjC;IAEK,QAAQ,CAAC,KAAK,EAAE,UAAU,sEAM/B;IAEK,MAAM,CAAC,KAAK,EAAE,WAAW,0EAM9B;IAEK,kBAAkB,CAAC,KAAK,EAAE;QAC9B,QAAQ,CAAC,OAAO,EAAE,0BAA0B,CAAA;QAC5C,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAA;QAC7B,QAAQ,CAAC,QAAQ,CAAC,EAAE,gCAAgC,CAAA;KACrD,sEAYA;IAEM,SAAS,CAAC,KAAK,EAAE,cAAc,GAAG,aAAa,CAAC,cAAc,CAAC,CAMrE;IAEK,cAAc,CAAC,KAAK,EAAE,mBAAmB;;;;cAI9C;CA8DF"}
|
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
import { UNKNOWN_RUN_CAPABILITIES } from '../../ports/execution.js';
|
|
2
|
+
/** Routes one run by its explicit mode or canonical retained admission. */
|
|
3
|
+
export class ModeRoutingExecutionPort {
|
|
4
|
+
#headless;
|
|
5
|
+
#interactive;
|
|
6
|
+
#isInteractiveRun;
|
|
7
|
+
#interactiveRuns = new Set();
|
|
8
|
+
admissionMode;
|
|
9
|
+
capabilities;
|
|
10
|
+
environmentCapabilities;
|
|
11
|
+
constructor(options) {
|
|
12
|
+
this.#headless = options.headless;
|
|
13
|
+
this.#interactive = options.interactive;
|
|
14
|
+
this.#isInteractiveRun = options.isInteractiveRun ?? (() => false);
|
|
15
|
+
this.admissionMode =
|
|
16
|
+
options.headless.admissionMode === 'async' || options.interactive.admissionMode === 'async'
|
|
17
|
+
? 'async'
|
|
18
|
+
: 'sync';
|
|
19
|
+
this.capabilities = this.#capabilities();
|
|
20
|
+
if (options.headless.environmentCapabilities !== undefined) {
|
|
21
|
+
this.environmentCapabilities = options.headless.environmentCapabilities.bind(options.headless);
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
async admit(input) {
|
|
25
|
+
const port = this.#portForInput(input);
|
|
26
|
+
if (port.admit === undefined) {
|
|
27
|
+
throw new Error('The selected execution port does not support admission');
|
|
28
|
+
}
|
|
29
|
+
const admission = await port.admit(input);
|
|
30
|
+
if (this.#isInteractivePort(port))
|
|
31
|
+
this.#interactiveRuns.add(input.runId);
|
|
32
|
+
return admission;
|
|
33
|
+
}
|
|
34
|
+
async *streamTurn(input) {
|
|
35
|
+
const port = this.#portForInput(input);
|
|
36
|
+
yield* port.streamTurn(input);
|
|
37
|
+
}
|
|
38
|
+
async cancelRun(input) {
|
|
39
|
+
const port = this.#portForInput(input);
|
|
40
|
+
if (port.cancelRun === undefined) {
|
|
41
|
+
throw new Error('The selected execution port does not support cancellation');
|
|
42
|
+
}
|
|
43
|
+
return port.cancelRun(input);
|
|
44
|
+
}
|
|
45
|
+
async detachRun(input) {
|
|
46
|
+
const port = this.#portForInput(input);
|
|
47
|
+
if (port.detachRun === undefined) {
|
|
48
|
+
throw new Error('The selected execution port does not support detachment');
|
|
49
|
+
}
|
|
50
|
+
return port.detachRun(input);
|
|
51
|
+
}
|
|
52
|
+
async steerRun(input) {
|
|
53
|
+
const port = this.#portForRun(input.runId);
|
|
54
|
+
if (port.steerRun === undefined) {
|
|
55
|
+
throw new Error('The selected execution port does not support steering');
|
|
56
|
+
}
|
|
57
|
+
return port.steerRun(input);
|
|
58
|
+
}
|
|
59
|
+
async status(input) {
|
|
60
|
+
const port = this.#portForRecovery(input);
|
|
61
|
+
if (port.status === undefined) {
|
|
62
|
+
throw new Error('The selected execution port does not support status');
|
|
63
|
+
}
|
|
64
|
+
return port.status(input);
|
|
65
|
+
}
|
|
66
|
+
async respondInteraction(input) {
|
|
67
|
+
const port = this.#portForInput({
|
|
68
|
+
runId: input.command.binding.runId,
|
|
69
|
+
...(input.recovery?.retainedAdmission === undefined
|
|
70
|
+
? {}
|
|
71
|
+
: { retainedAdmission: input.recovery.retainedAdmission }),
|
|
72
|
+
...(input.recovery?.receipt === undefined ? {} : { receipt: input.recovery.receipt }),
|
|
73
|
+
});
|
|
74
|
+
if (port.respondInteraction === undefined) {
|
|
75
|
+
throw new Error('The selected execution port does not support interaction responses');
|
|
76
|
+
}
|
|
77
|
+
return port.respondInteraction(input);
|
|
78
|
+
}
|
|
79
|
+
async *reconnect(input) {
|
|
80
|
+
const port = this.#portForRecovery(input);
|
|
81
|
+
if (port.reconnect === undefined) {
|
|
82
|
+
throw new Error('The selected execution port does not support reconnection');
|
|
83
|
+
}
|
|
84
|
+
yield* port.reconnect(input);
|
|
85
|
+
}
|
|
86
|
+
async nativeBoundary(input) {
|
|
87
|
+
const port = this.#portForRun(input.runId);
|
|
88
|
+
if (port.nativeBoundary === undefined)
|
|
89
|
+
return null;
|
|
90
|
+
return port.nativeBoundary(input);
|
|
91
|
+
}
|
|
92
|
+
#capabilities() {
|
|
93
|
+
return ((input) => {
|
|
94
|
+
const selected = this.#portForInput(input).capabilities;
|
|
95
|
+
if (selected === undefined)
|
|
96
|
+
return UNKNOWN_RUN_CAPABILITIES;
|
|
97
|
+
if (typeof selected === 'function')
|
|
98
|
+
return selected(input);
|
|
99
|
+
return legacyCapabilities(selected);
|
|
100
|
+
});
|
|
101
|
+
}
|
|
102
|
+
#portForRecovery(input) {
|
|
103
|
+
const port = this.#portForInput(input);
|
|
104
|
+
if (this.#isInteractivePort(port))
|
|
105
|
+
this.#interactiveRuns.add(input.runId);
|
|
106
|
+
return port;
|
|
107
|
+
}
|
|
108
|
+
#portForRun(runId, _controlRef) {
|
|
109
|
+
const known = this.#interactiveRuns.has(runId) || this.#isInteractiveRun(runId);
|
|
110
|
+
if (known) {
|
|
111
|
+
this.#interactiveRuns.add(runId);
|
|
112
|
+
return this.#interactive;
|
|
113
|
+
}
|
|
114
|
+
return this.#headless;
|
|
115
|
+
}
|
|
116
|
+
#portForInput(input) {
|
|
117
|
+
const admissionMode = retainedAdmissionMode(input.retainedAdmission);
|
|
118
|
+
const receiptMode = input.receipt?.requested?.mode;
|
|
119
|
+
if (input.mode === 'interactive' && admissionMode === 'headless') {
|
|
120
|
+
throw new Error('Interactive mode conflicts with a headless retained admission');
|
|
121
|
+
}
|
|
122
|
+
if (input.mode !== undefined &&
|
|
123
|
+
input.mode !== 'interactive' &&
|
|
124
|
+
admissionMode === 'interactive') {
|
|
125
|
+
throw new Error('Headless mode conflicts with an interactive retained admission');
|
|
126
|
+
}
|
|
127
|
+
if (input.mode === 'interactive' ||
|
|
128
|
+
admissionMode === 'interactive' ||
|
|
129
|
+
receiptMode === 'interactive') {
|
|
130
|
+
this.#interactiveRuns.add(input.runId);
|
|
131
|
+
return this.#interactive;
|
|
132
|
+
}
|
|
133
|
+
if (this.#interactiveRuns.has(input.runId) || this.#isInteractiveRun(input.runId)) {
|
|
134
|
+
this.#interactiveRuns.add(input.runId);
|
|
135
|
+
return this.#interactive;
|
|
136
|
+
}
|
|
137
|
+
return this.#headless;
|
|
138
|
+
}
|
|
139
|
+
#isInteractivePort(port) {
|
|
140
|
+
return port === this.#interactive;
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
function legacyCapabilities(capabilities) {
|
|
144
|
+
return {
|
|
145
|
+
...UNKNOWN_RUN_CAPABILITIES,
|
|
146
|
+
controls: { ...UNKNOWN_RUN_CAPABILITIES.controls, cancel: capabilities.cancel },
|
|
147
|
+
};
|
|
148
|
+
}
|
|
149
|
+
function retainedAdmissionMode(value) {
|
|
150
|
+
if (value === null || typeof value !== 'object' || Array.isArray(value))
|
|
151
|
+
return undefined;
|
|
152
|
+
const phase = value.phase;
|
|
153
|
+
if (typeof phase !== 'string')
|
|
154
|
+
return undefined;
|
|
155
|
+
if (phase.startsWith('interactive_'))
|
|
156
|
+
return 'interactive';
|
|
157
|
+
if (phase === 'intent' || phase === 'environment' || phase === 'dispatched')
|
|
158
|
+
return 'headless';
|
|
159
|
+
return undefined;
|
|
160
|
+
}
|
|
161
|
+
//# sourceMappingURL=mode-routing-execution.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mode-routing-execution.js","sourceRoot":"","sources":["../../../src/adapters/runtime/mode-routing-execution.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { RetainedInteractiveRunHandle } from '@tangle-network/agent-runtime/kernel';
|
|
2
|
+
import type { NativeInteractiveExecutionControl, NativeInteractiveRunOutcome } from '../../ports/native-interactive-execution.js';
|
|
3
|
+
export type NativeInteractiveRunSettlement = 'settled' | 'absent' | 'already-settled';
|
|
4
|
+
export interface NativeInteractiveRunLease {
|
|
5
|
+
publish(handle: RetainedInteractiveRunHandle): void;
|
|
6
|
+
outcome(options?: {
|
|
7
|
+
readonly signal?: AbortSignal;
|
|
8
|
+
}): Promise<NativeInteractiveRunOutcome>;
|
|
9
|
+
fail(error: unknown): void;
|
|
10
|
+
close(): void;
|
|
11
|
+
}
|
|
12
|
+
/** One in-memory rendezvous only; Runtime and Braid's journal remain the durable owners. */
|
|
13
|
+
export declare class NativeInteractiveRunBroker implements NativeInteractiveExecutionControl {
|
|
14
|
+
#private;
|
|
15
|
+
open(runId: string): NativeInteractiveRunLease;
|
|
16
|
+
waitForHandle(runId: string, options?: {
|
|
17
|
+
readonly signal?: AbortSignal;
|
|
18
|
+
}): Promise<RetainedInteractiveRunHandle>;
|
|
19
|
+
settle(runId: string, outcome: NativeInteractiveRunOutcome): NativeInteractiveRunSettlement;
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=native-interactive-run-broker.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"native-interactive-run-broker.d.ts","sourceRoot":"","sources":["../../../src/adapters/runtime/native-interactive-run-broker.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,sCAAsC,CAAA;AACxF,OAAO,KAAK,EACV,iCAAiC,EACjC,2BAA2B,EAC5B,MAAM,6CAA6C,CAAA;AAepD,MAAM,MAAM,8BAA8B,GAAG,SAAS,GAAG,QAAQ,GAAG,iBAAiB,CAAA;AAErF,MAAM,WAAW,yBAAyB;IACxC,OAAO,CAAC,MAAM,EAAE,4BAA4B,GAAG,IAAI,CAAA;IACnD,OAAO,CAAC,OAAO,CAAC,EAAE;QAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAA;KAAE,GAAG,OAAO,CAAC,2BAA2B,CAAC,CAAA;IAC1F,IAAI,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,CAAA;IAC1B,KAAK,IAAI,IAAI,CAAA;CACd;AAED,4FAA4F;AAC5F,qBAAa,0BAA2B,YAAW,iCAAiC;;IAGlF,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,yBAAyB,CAwB7C;IAED,aAAa,CACX,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE;QAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAA;KAAE,GAC1C,OAAO,CAAC,4BAA4B,CAAC,CAEvC;IAED,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,2BAA2B,GAAG,8BAA8B,CAM1F;CAcF"}
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
/** One in-memory rendezvous only; Runtime and Braid's journal remain the durable owners. */
|
|
2
|
+
export class NativeInteractiveRunBroker {
|
|
3
|
+
#entries = new Map();
|
|
4
|
+
open(runId) {
|
|
5
|
+
const entry = this.#entry(runId);
|
|
6
|
+
if (entry.opened)
|
|
7
|
+
throw new Error(`Interactive run ${runId} already has an active execution`);
|
|
8
|
+
entry.opened = true;
|
|
9
|
+
let closed = false;
|
|
10
|
+
return Object.freeze({
|
|
11
|
+
publish: (handle) => {
|
|
12
|
+
if (closed)
|
|
13
|
+
throw new Error(`Interactive run ${runId} execution is closed`);
|
|
14
|
+
entry.handle.resolve(handle);
|
|
15
|
+
},
|
|
16
|
+
outcome: (options) => abortable(entry.outcome.promise, options?.signal),
|
|
17
|
+
fail: (error) => {
|
|
18
|
+
entry.handle.reject(asError(error));
|
|
19
|
+
entry.outcome.reject(asError(error));
|
|
20
|
+
},
|
|
21
|
+
close: () => {
|
|
22
|
+
if (closed)
|
|
23
|
+
return;
|
|
24
|
+
closed = true;
|
|
25
|
+
entry.handle.reject(new Error(`Interactive run ${runId} ended before terminal attach`));
|
|
26
|
+
entry.outcome.reject(new Error(`Interactive run ${runId} ended without a terminal outcome`));
|
|
27
|
+
if (this.#entries.get(runId) === entry)
|
|
28
|
+
this.#entries.delete(runId);
|
|
29
|
+
},
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
waitForHandle(runId, options) {
|
|
33
|
+
return abortable(this.#entry(runId).handle.promise, options?.signal);
|
|
34
|
+
}
|
|
35
|
+
settle(runId, outcome) {
|
|
36
|
+
const entry = this.#entries.get(runId);
|
|
37
|
+
if (entry === undefined || !entry.opened)
|
|
38
|
+
return 'absent';
|
|
39
|
+
if (entry.outcome.settled)
|
|
40
|
+
return 'already-settled';
|
|
41
|
+
entry.outcome.resolve(structuredClone(outcome));
|
|
42
|
+
return 'settled';
|
|
43
|
+
}
|
|
44
|
+
#entry(runId) {
|
|
45
|
+
if (runId.trim().length === 0)
|
|
46
|
+
throw new Error('Interactive run id must not be empty');
|
|
47
|
+
const current = this.#entries.get(runId);
|
|
48
|
+
if (current !== undefined)
|
|
49
|
+
return current;
|
|
50
|
+
const entry = {
|
|
51
|
+
handle: deferred(),
|
|
52
|
+
outcome: deferred(),
|
|
53
|
+
opened: false,
|
|
54
|
+
};
|
|
55
|
+
this.#entries.set(runId, entry);
|
|
56
|
+
return entry;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
function deferred() {
|
|
60
|
+
let resolvePromise = () => { };
|
|
61
|
+
let rejectPromise = () => { };
|
|
62
|
+
const value = {
|
|
63
|
+
promise: new Promise((resolve, reject) => {
|
|
64
|
+
resolvePromise = resolve;
|
|
65
|
+
rejectPromise = reject;
|
|
66
|
+
}),
|
|
67
|
+
resolve: (next) => {
|
|
68
|
+
if (value.settled)
|
|
69
|
+
return;
|
|
70
|
+
value.settled = true;
|
|
71
|
+
resolvePromise(next);
|
|
72
|
+
},
|
|
73
|
+
reject: (error) => {
|
|
74
|
+
if (value.settled)
|
|
75
|
+
return;
|
|
76
|
+
value.settled = true;
|
|
77
|
+
rejectPromise(error);
|
|
78
|
+
},
|
|
79
|
+
settled: false,
|
|
80
|
+
};
|
|
81
|
+
void value.promise.catch(() => undefined);
|
|
82
|
+
return value;
|
|
83
|
+
}
|
|
84
|
+
function asError(error) {
|
|
85
|
+
return error instanceof Error ? error : new Error(String(error));
|
|
86
|
+
}
|
|
87
|
+
async function abortable(promise, signal) {
|
|
88
|
+
signal?.throwIfAborted();
|
|
89
|
+
if (signal === undefined)
|
|
90
|
+
return promise;
|
|
91
|
+
return new Promise((resolve, reject) => {
|
|
92
|
+
const abort = () => reject(signal.reason);
|
|
93
|
+
signal.addEventListener('abort', abort, { once: true });
|
|
94
|
+
void promise.then(resolve, reject).finally(() => signal.removeEventListener('abort', abort));
|
|
95
|
+
});
|
|
96
|
+
}
|
|
97
|
+
//# sourceMappingURL=native-interactive-run-broker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"native-interactive-run-broker.js","sourceRoot":"","sources":["../../../src/adapters/runtime/native-interactive-run-broker.ts"],"names":[],"mappings":"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"}
|
|
@@ -22,6 +22,8 @@ export declare function requiredProfileModel(profile: Readonly<AgentProfile>, co
|
|
|
22
22
|
export declare function requiredProfileRunner(profile: Readonly<AgentProfile>, connectionId: ConnectionId): HarnessType;
|
|
23
23
|
export declare function requiredWorkspaceCwd(inputRoot: string | undefined, configuredRoot: string | undefined): string;
|
|
24
24
|
export declare function safeExecutionId(value: string): string;
|
|
25
|
+
/** Build a readable provider key without collisions or overlong truncation. */
|
|
26
|
+
export declare function stableProviderId(prefix: string, value: string): string;
|
|
25
27
|
export declare function freezeExecution<T>(value: T): T;
|
|
26
28
|
export declare function connectionRecord(connectionId: ConnectionId, options: ProductionBackendResolverOptions): ConnectionRecord;
|
|
27
29
|
//# sourceMappingURL=production-backend-common.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"production-backend-common.d.ts","sourceRoot":"","sources":["../../../src/adapters/runtime/production-backend-common.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAA;AAEhF,OAAO,KAAK,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAA;
|
|
1
|
+
{"version":3,"file":"production-backend-common.d.ts","sourceRoot":"","sources":["../../../src/adapters/runtime/production-backend-common.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAA;AAEhF,OAAO,KAAK,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAA;AAE3F,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAA;AAChE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AACvD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAA;AAEhE,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,+CAA+C,CAAA;AAEhG,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,CAAC,UAAU,EAAE,wBAAwB,CAAA;IAC7C,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAA;CAC9B;AAED,MAAM,MAAM,2BAA2B,GAAG,CACxC,KAAK,EAAE,gBAAgB,KACpB,4BAA4B,GAAG,OAAO,CAAC,4BAA4B,CAAC,CAAA;AAEzE,MAAM,WAAW,gCAAiC,SAAQ,2BAA2B;IACnF,QAAQ,CAAC,WAAW,EAAE,iBAAiB,CAAA;IACvC,QAAQ,CAAC,MAAM,EAAE,2BAA2B,CAAA;IAC5C,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAA;CAC/B;AAED,wBAAsB,qBAAqB,CACzC,MAAM,EAAE,QAAQ,CAAC,YAAY,CAAC,EAC9B,SAAS,EAAE,4BAA4B,EACvC,YAAY,EAAE,YAAY,EAC1B,OAAO,GAAE;IAAE,QAAQ,CAAC,eAAe,CAAC,EAAE,OAAO,CAAA;CAAO,GACnD,OAAO,CAAC,YAAY,CAAC,CA4BvB;AAED,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,QAAQ,CAAC,YAAY,CAAC,EAC/B,YAAY,EAAE,YAAY,GACzB,MAAM,CAUR;AAED,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,QAAQ,CAAC,YAAY,CAAC,EAC/B,YAAY,EAAE,YAAY,GACzB,WAAW,CASb;AAED,wBAAgB,oBAAoB,CAClC,SAAS,EAAE,MAAM,GAAG,SAAS,EAC7B,cAAc,EAAE,MAAM,GAAG,SAAS,GACjC,MAAM,CASR;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAMrD;AAED,+EAA+E;AAC/E,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAKtE;AAED,wBAAgB,eAAe,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,CAM9C;AAED,wBAAgB,gBAAgB,CAC9B,YAAY,EAAE,YAAY,EAC1B,OAAO,EAAE,gCAAgC,GACxC,gBAAgB,CAQlB"}
|