@tangle-network/braid 0.1.0 → 0.1.2
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 +69 -54
- package/THIRD_PARTY_LICENSES.json +16 -0
- package/THIRD_PARTY_NOTICES.md +4 -1
- package/dist/adapters/agent-interface/harness-runtime.d.ts +1 -0
- package/dist/adapters/agent-interface/harness-runtime.d.ts.map +1 -1
- package/dist/adapters/agent-interface/harness-runtime.js +3 -1
- package/dist/adapters/agent-interface/harness-runtime.js.map +1 -1
- package/dist/adapters/analysis/agent-eval-version.d.ts +1 -1
- package/dist/adapters/analysis/agent-eval-version.d.ts.map +1 -1
- package/dist/adapters/analysis/agent-eval-version.js +2 -1
- package/dist/adapters/analysis/agent-eval-version.js.map +1 -1
- package/dist/adapters/analysis/citations.d.ts.map +1 -1
- package/dist/adapters/analysis/citations.js +17 -14
- package/dist/adapters/analysis/citations.js.map +1 -1
- package/dist/adapters/analysis/eval-analyst.d.ts +2 -0
- 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 +19 -0
- package/dist/adapters/analysis/managed-analysis-runtime.d.ts.map +1 -0
- package/dist/adapters/analysis/managed-analysis-runtime.js +72 -0
- package/dist/adapters/analysis/managed-analysis-runtime.js.map +1 -0
- package/dist/adapters/analysis/production-analysis-analyst.d.ts +1 -1
- package/dist/adapters/analysis/production-analysis-analyst.d.ts.map +1 -1
- package/dist/adapters/analysis/production-analysis-analyst.js +18 -2
- package/dist/adapters/analysis/production-analysis-analyst.js.map +1 -1
- package/dist/adapters/analysis/python-runner.d.ts +3 -1
- package/dist/adapters/analysis/python-runner.d.ts.map +1 -1
- package/dist/adapters/analysis/python-runner.js +99 -1
- package/dist/adapters/analysis/python-runner.js.map +1 -1
- package/dist/adapters/analysis/question-analyst.js +2 -2
- package/dist/adapters/analysis/question-analyst.js.map +1 -1
- package/dist/adapters/analysis/runtime-model-owner.d.ts +2 -0
- package/dist/adapters/analysis/runtime-model-owner.d.ts.map +1 -1
- package/dist/adapters/analysis/runtime-model-owner.js +118 -34
- package/dist/adapters/analysis/runtime-model-owner.js.map +1 -1
- package/dist/adapters/analysis/runtime-retained-model-call.d.ts +27 -0
- package/dist/adapters/analysis/runtime-retained-model-call.d.ts.map +1 -0
- package/dist/adapters/analysis/runtime-retained-model-call.js +94 -0
- package/dist/adapters/analysis/runtime-retained-model-call.js.map +1 -0
- package/dist/adapters/analysis/trace-analysis-adapter.d.ts +4 -0
- package/dist/adapters/analysis/trace-analysis-adapter.d.ts.map +1 -1
- package/dist/adapters/analysis/trace-analysis-adapter.js +29 -7
- package/dist/adapters/analysis/trace-analysis-adapter.js.map +1 -1
- package/dist/adapters/analysis/trace-event-projection.js +1 -1
- package/dist/adapters/analysis/trace-event-projection.js.map +1 -1
- package/dist/adapters/analysis/trace-store.d.ts +1 -1
- package/dist/adapters/analysis/trace-store.d.ts.map +1 -1
- package/dist/adapters/analysis/trace-store.js +1 -1
- package/dist/adapters/analysis/trace-store.js.map +1 -1
- package/dist/adapters/connections/cli-bridge-model-route.d.ts +2 -2
- package/dist/adapters/connections/cli-bridge-model-route.d.ts.map +1 -1
- package/dist/adapters/connections/cli-bridge-model-route.js +17 -7
- package/dist/adapters/connections/cli-bridge-model-route.js.map +1 -1
- package/dist/adapters/connections/production-connection-providers.d.ts.map +1 -1
- package/dist/adapters/connections/production-connection-providers.js +34 -1
- package/dist/adapters/connections/production-connection-providers.js.map +1 -1
- package/dist/adapters/connections/production-connection-types.d.ts +12 -1
- package/dist/adapters/connections/production-connection-types.d.ts.map +1 -1
- package/dist/adapters/connections/production-connections.d.ts +1 -1
- package/dist/adapters/connections/production-connections.d.ts.map +1 -1
- package/dist/adapters/connections/production-connections.js.map +1 -1
- package/dist/adapters/connections/tangle-retained-control-lookup.d.ts +6 -0
- package/dist/adapters/connections/tangle-retained-control-lookup.d.ts.map +1 -0
- package/dist/adapters/connections/tangle-retained-control-lookup.js +98 -0
- package/dist/adapters/connections/tangle-retained-control-lookup.js.map +1 -0
- package/dist/adapters/credentials/headless-key.js +3 -2
- package/dist/adapters/credentials/headless-key.js.map +1 -1
- package/dist/adapters/persistence/posix-at.d.ts +8 -0
- package/dist/adapters/persistence/posix-at.d.ts.map +1 -0
- package/dist/adapters/persistence/posix-at.js +96 -0
- package/dist/adapters/persistence/posix-at.js.map +1 -0
- package/dist/adapters/persistence/safe-file-descriptor.d.ts +1 -1
- package/dist/adapters/persistence/safe-file-descriptor.d.ts.map +1 -1
- package/dist/adapters/persistence/safe-file-descriptor.js +29 -18
- package/dist/adapters/persistence/safe-file-descriptor.js.map +1 -1
- package/dist/adapters/persistence/safe-file-io.d.ts.map +1 -1
- package/dist/adapters/persistence/safe-file-io.js +9 -9
- package/dist/adapters/persistence/safe-file-io.js.map +1 -1
- package/dist/adapters/persistence/safe-file.d.ts +1 -1
- package/dist/adapters/persistence/safe-file.d.ts.map +1 -1
- package/dist/adapters/persistence/safe-file.js +4 -4
- package/dist/adapters/persistence/safe-file.js.map +1 -1
- package/dist/adapters/runtime/agent-runtime-version.d.ts +1 -1
- package/dist/adapters/runtime/agent-runtime-version.d.ts.map +1 -1
- package/dist/adapters/runtime/agent-runtime-version.js +2 -1
- package/dist/adapters/runtime/agent-runtime-version.js.map +1 -1
- package/dist/adapters/runtime/cli-bridge-retained-execution.d.ts +6 -32
- package/dist/adapters/runtime/cli-bridge-retained-execution.d.ts.map +1 -1
- package/dist/adapters/runtime/cli-bridge-retained-execution.js +11 -317
- package/dist/adapters/runtime/cli-bridge-retained-execution.js.map +1 -1
- package/dist/adapters/runtime/cli-bridge-retained-run.d.ts +4 -3
- package/dist/adapters/runtime/cli-bridge-retained-run.d.ts.map +1 -1
- package/dist/adapters/runtime/cli-bridge-retained-run.js +53 -16
- package/dist/adapters/runtime/cli-bridge-retained-run.js.map +1 -1
- package/dist/adapters/runtime/prepared-execution.d.ts +1 -0
- package/dist/adapters/runtime/prepared-execution.d.ts.map +1 -1
- package/dist/adapters/runtime/prepared-execution.js.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 +3 -3
- package/dist/adapters/runtime/production-backend-common.js.map +1 -1
- package/dist/adapters/runtime/production-backend-resolver.d.ts +4 -1
- package/dist/adapters/runtime/production-backend-resolver.d.ts.map +1 -1
- package/dist/adapters/runtime/production-backend-resolver.js +13 -1
- package/dist/adapters/runtime/production-backend-resolver.js.map +1 -1
- package/dist/adapters/runtime/production-cli-bridge-backend.d.ts.map +1 -1
- package/dist/adapters/runtime/production-cli-bridge-backend.js +4 -2
- package/dist/adapters/runtime/production-cli-bridge-backend.js.map +1 -1
- package/dist/adapters/runtime/production-tangle-sandbox-backend.d.ts +21 -1
- package/dist/adapters/runtime/production-tangle-sandbox-backend.d.ts.map +1 -1
- package/dist/adapters/runtime/production-tangle-sandbox-backend.js +108 -11
- package/dist/adapters/runtime/production-tangle-sandbox-backend.js.map +1 -1
- package/dist/adapters/runtime/retained-execution-contract.d.ts +48 -0
- package/dist/adapters/runtime/retained-execution-contract.d.ts.map +1 -0
- package/dist/adapters/runtime/retained-execution-contract.js +2 -0
- package/dist/adapters/runtime/retained-execution-contract.js.map +1 -0
- package/dist/adapters/runtime/{cli-bridge-retained-projection.d.ts → retained-execution-projection.d.ts} +8 -7
- package/dist/adapters/runtime/retained-execution-projection.d.ts.map +1 -0
- package/dist/adapters/runtime/retained-execution-projection.js +108 -0
- package/dist/adapters/runtime/retained-execution-projection.js.map +1 -0
- package/dist/adapters/runtime/retained-execution-state.d.ts +31 -0
- package/dist/adapters/runtime/retained-execution-state.d.ts.map +1 -0
- package/dist/adapters/runtime/retained-execution-state.js +161 -0
- package/dist/adapters/runtime/retained-execution-state.js.map +1 -0
- package/dist/adapters/runtime/retained-execution-stream.d.ts +15 -0
- package/dist/adapters/runtime/retained-execution-stream.d.ts.map +1 -0
- package/dist/adapters/runtime/retained-execution-stream.js +47 -0
- package/dist/adapters/runtime/retained-execution-stream.js.map +1 -0
- package/dist/adapters/runtime/retained-execution.d.ts +39 -0
- package/dist/adapters/runtime/retained-execution.d.ts.map +1 -0
- package/dist/adapters/runtime/retained-execution.js +293 -0
- package/dist/adapters/runtime/retained-execution.js.map +1 -0
- package/dist/adapters/runtime/sandbox-observation.d.ts.map +1 -1
- package/dist/adapters/runtime/sandbox-observation.js +20 -13
- package/dist/adapters/runtime/sandbox-observation.js.map +1 -1
- package/dist/adapters/runtime/tangle-retained-execution.d.ts +17 -0
- package/dist/adapters/runtime/tangle-retained-execution.d.ts.map +1 -0
- package/dist/adapters/runtime/tangle-retained-execution.js +16 -0
- package/dist/adapters/runtime/tangle-retained-execution.js.map +1 -0
- package/dist/adapters/runtime/tangle-retained-run.d.ts +14 -0
- package/dist/adapters/runtime/tangle-retained-run.d.ts.map +1 -0
- package/dist/adapters/runtime/tangle-retained-run.js +75 -0
- package/dist/adapters/runtime/tangle-retained-run.js.map +1 -0
- package/dist/adapters/runtime/tangle-sandbox-retention.d.ts +19 -0
- package/dist/adapters/runtime/tangle-sandbox-retention.d.ts.map +1 -0
- package/dist/adapters/runtime/tangle-sandbox-retention.js +62 -0
- package/dist/adapters/runtime/tangle-sandbox-retention.js.map +1 -0
- package/dist/adapters/storage/sqlite-bound-open.d.ts +4 -4
- package/dist/adapters/storage/sqlite-bound-open.d.ts.map +1 -1
- package/dist/adapters/storage/sqlite-bound-open.js +49 -19
- package/dist/adapters/storage/sqlite-bound-open.js.map +1 -1
- package/dist/adapters/storage/sqlite-crypto.d.ts.map +1 -1
- package/dist/adapters/storage/sqlite-crypto.js +8 -1
- package/dist/adapters/storage/sqlite-crypto.js.map +1 -1
- package/dist/adapters/tui/application-ui-controller.d.ts.map +1 -1
- package/dist/adapters/tui/application-ui-controller.js +9 -2
- package/dist/adapters/tui/application-ui-controller.js.map +1 -1
- package/dist/adapters/tui/ui-capabilities.d.ts.map +1 -1
- package/dist/adapters/tui/ui-capabilities.js +14 -0
- 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 +7 -1
- package/dist/adapters/tui/ui-command-dispatch.js.map +1 -1
- package/dist/adapters/tui/ui-conversation-dispatch.d.ts.map +1 -1
- package/dist/adapters/tui/ui-conversation-dispatch.js +40 -0
- 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 +3 -9
- package/dist/adapters/tui/ui-core-dispatch.js.map +1 -1
- package/dist/adapters/tui/ui-dispatch-context.d.ts +1 -1
- package/dist/adapters/tui/ui-dispatch-context.d.ts.map +1 -1
- package/dist/adapters/tui/ui-entity-details.d.ts.map +1 -1
- package/dist/adapters/tui/ui-entity-details.js +10 -5
- package/dist/adapters/tui/ui-entity-details.js.map +1 -1
- package/dist/adapters/tui/ui-fixtures.d.ts.map +1 -1
- package/dist/adapters/tui/ui-fixtures.js +1 -0
- 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 +2 -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 +2 -0
- package/dist/adapters/tui/ui-intelligence-result-view.js.map +1 -1
- package/dist/adapters/tui/ui-projection.d.ts +1 -1
- package/dist/adapters/tui/ui-projection.d.ts.map +1 -1
- package/dist/adapters/tui/ui-projection.js +114 -46
- package/dist/adapters/tui/ui-projection.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 +34 -17
- package/dist/adapters/tui/ui-view-model.js.map +1 -1
- package/dist/app/analysis-comparison-request.d.ts +1 -1
- package/dist/app/analysis-comparison-request.d.ts.map +1 -1
- package/dist/app/analysis-comparison-request.js +9 -5
- package/dist/app/analysis-comparison-request.js.map +1 -1
- package/dist/app/analysis-comparison.js +2 -2
- package/dist/app/analysis-comparison.js.map +1 -1
- package/dist/app/analysis-execution-session.d.ts +2 -0
- package/dist/app/analysis-execution-session.d.ts.map +1 -1
- package/dist/app/analysis-execution-session.js +1 -0
- package/dist/app/analysis-execution-session.js.map +1 -1
- package/dist/app/analysis-lifecycle.d.ts +2 -0
- package/dist/app/analysis-lifecycle.d.ts.map +1 -1
- package/dist/app/analysis-lifecycle.js +20 -10
- package/dist/app/analysis-lifecycle.js.map +1 -1
- package/dist/app/analysis-promotion.d.ts.map +1 -1
- package/dist/app/analysis-promotion.js +4 -5
- package/dist/app/analysis-promotion.js.map +1 -1
- package/dist/app/analysis-request.d.ts +1 -1
- package/dist/app/analysis-request.d.ts.map +1 -1
- package/dist/app/analysis-request.js +3 -7
- package/dist/app/analysis-request.js.map +1 -1
- package/dist/app/analysis-retained-admission.d.ts +6 -0
- package/dist/app/analysis-retained-admission.d.ts.map +1 -0
- package/dist/app/analysis-retained-admission.js +87 -0
- package/dist/app/analysis-retained-admission.js.map +1 -0
- package/dist/app/analysis-service.d.ts.map +1 -1
- package/dist/app/analysis-service.js +2 -1
- package/dist/app/analysis-service.js.map +1 -1
- package/dist/app/analysis-source.d.ts +4 -1
- package/dist/app/analysis-source.d.ts.map +1 -1
- package/dist/app/analysis-source.js +18 -0
- package/dist/app/analysis-source.js.map +1 -1
- package/dist/app/analysis-types.d.ts +1 -0
- 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.map +1 -1
- package/dist/app/application-interaction-actions.js +17 -0
- package/dist/app/application-interaction-actions.js.map +1 -1
- package/dist/app/application-support.d.ts +4 -0
- package/dist/app/application-support.d.ts.map +1 -1
- package/dist/app/application-support.js +59 -17
- package/dist/app/application-support.js.map +1 -1
- package/dist/app/application-types.d.ts +1 -0
- package/dist/app/application-types.d.ts.map +1 -1
- package/dist/app/application.d.ts.map +1 -1
- package/dist/app/application.js +31 -8
- package/dist/app/application.js.map +1 -1
- package/dist/app/connections.js +1 -0
- package/dist/app/connections.js.map +1 -1
- package/dist/app/conversation-branches.d.ts +2 -1
- package/dist/app/conversation-branches.d.ts.map +1 -1
- package/dist/app/conversation-branches.js +66 -9
- package/dist/app/conversation-branches.js.map +1 -1
- package/dist/app/conversation-lifecycle.js +9 -4
- package/dist/app/conversation-lifecycle.js.map +1 -1
- package/dist/app/conversation-records.d.ts +1 -0
- package/dist/app/conversation-records.d.ts.map +1 -1
- package/dist/app/conversation-records.js +32 -15
- package/dist/app/conversation-records.js.map +1 -1
- package/dist/app/conversation-types.d.ts +11 -0
- 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/effective-run-configuration.d.ts +13 -0
- package/dist/app/effective-run-configuration.d.ts.map +1 -0
- package/dist/app/effective-run-configuration.js +47 -0
- package/dist/app/effective-run-configuration.js.map +1 -0
- package/dist/app/fail-closed-journal.d.ts.map +1 -1
- package/dist/app/fail-closed-journal.js +4 -0
- package/dist/app/fail-closed-journal.js.map +1 -1
- package/dist/app/interaction-controller.d.ts +4 -4
- package/dist/app/interaction-controller.d.ts.map +1 -1
- package/dist/app/interaction-controller.js +3 -5
- package/dist/app/interaction-controller.js.map +1 -1
- package/dist/app/journal.d.ts +4 -0
- package/dist/app/journal.d.ts.map +1 -1
- package/dist/app/journal.js +10 -1
- package/dist/app/journal.js.map +1 -1
- package/dist/app/production-composition.d.ts.map +1 -1
- package/dist/app/production-composition.js +28 -20
- package/dist/app/production-composition.js.map +1 -1
- package/dist/app/profile-types.d.ts +1 -1
- package/dist/app/profile-types.d.ts.map +1 -1
- package/dist/app/provider-values.d.ts +0 -5
- package/dist/app/provider-values.d.ts.map +1 -1
- package/dist/app/provider-values.js +27 -15
- package/dist/app/provider-values.js.map +1 -1
- package/dist/app/run-controls.js +6 -0
- package/dist/app/run-controls.js.map +1 -1
- package/dist/app/run-event-mapper.d.ts.map +1 -1
- package/dist/app/run-event-mapper.js +2 -0
- package/dist/app/run-event-mapper.js.map +1 -1
- package/dist/app/run-execution.d.ts.map +1 -1
- package/dist/app/run-execution.js +11 -1
- package/dist/app/run-execution.js.map +1 -1
- package/dist/app/run-replay.d.ts +6 -2
- package/dist/app/run-replay.d.ts.map +1 -1
- package/dist/app/run-replay.js +9 -3
- package/dist/app/run-replay.js.map +1 -1
- package/dist/app/storage-journal-support.d.ts.map +1 -1
- package/dist/app/storage-journal-support.js +1 -0
- package/dist/app/storage-journal-support.js.map +1 -1
- package/dist/app/storage-journal.d.ts +4 -1
- package/dist/app/storage-journal.d.ts.map +1 -1
- package/dist/app/storage-journal.js +13 -2
- package/dist/app/storage-journal.js.map +1 -1
- package/dist/bin/braid-runtime.d.ts.map +1 -1
- package/dist/bin/braid-runtime.js +5 -7
- package/dist/bin/braid-runtime.js.map +1 -1
- package/dist/bin/plain.js +1 -1
- package/dist/bin/plain.js.map +1 -1
- package/dist/bin/production-profile-projection.d.ts.map +1 -1
- package/dist/bin/production-profile-projection.js +7 -10
- package/dist/bin/production-profile-projection.js.map +1 -1
- package/dist/bin/production-setup-discovery.d.ts +4 -0
- package/dist/bin/production-setup-discovery.d.ts.map +1 -1
- package/dist/bin/production-setup-discovery.js +33 -0
- package/dist/bin/production-setup-discovery.js.map +1 -1
- package/dist/bin/production-setup.d.ts +1 -1
- package/dist/bin/production-setup.d.ts.map +1 -1
- package/dist/bin/production-setup.js +1 -1
- package/dist/bin/production-setup.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 +9 -2
- package/dist/domain/entities-core.d.ts.map +1 -1
- package/dist/domain/entities-core.js +3 -1
- package/dist/domain/entities-core.js.map +1 -1
- package/dist/domain/entities-graph.d.ts +1 -1
- package/dist/domain/entities-graph.d.ts.map +1 -1
- package/dist/domain/entities-interactions.d.ts +2 -51
- package/dist/domain/entities-interactions.d.ts.map +1 -1
- package/dist/domain/entities-messages.d.ts +2 -0
- package/dist/domain/entities-messages.d.ts.map +1 -1
- package/dist/domain/events.d.ts +9 -27
- package/dist/domain/events.d.ts.map +1 -1
- package/dist/domain/events.js +7 -7
- package/dist/domain/events.js.map +1 -1
- package/dist/domain/ids-core.d.ts +1 -1
- package/dist/domain/ids-core.d.ts.map +1 -1
- package/dist/domain/ids-core.js +5 -2
- package/dist/domain/ids-core.js.map +1 -1
- package/dist/domain/interaction-timeout.d.ts +2 -0
- package/dist/domain/interaction-timeout.d.ts.map +1 -0
- package/dist/domain/interaction-timeout.js +11 -0
- package/dist/domain/interaction-timeout.js.map +1 -0
- package/dist/domain/invariants-base.d.ts.map +1 -1
- package/dist/domain/invariants-base.js +1 -0
- package/dist/domain/invariants-base.js.map +1 -1
- package/dist/domain/invariants-conversation.d.ts.map +1 -1
- package/dist/domain/invariants-conversation.js +21 -1
- package/dist/domain/invariants-conversation.js.map +1 -1
- package/dist/domain/invariants-profile.d.ts.map +1 -1
- package/dist/domain/invariants-profile.js +35 -1
- package/dist/domain/invariants-profile.js.map +1 -1
- package/dist/domain/invariants-retained-admission.d.ts +3 -0
- package/dist/domain/invariants-retained-admission.d.ts.map +1 -0
- package/dist/domain/invariants-retained-admission.js +40 -0
- package/dist/domain/invariants-retained-admission.js.map +1 -0
- package/dist/domain/invariants-run.d.ts +1 -3
- package/dist/domain/invariants-run.d.ts.map +1 -1
- package/dist/domain/invariants-run.js +124 -77
- 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 +2 -1
- package/dist/domain/invariants-runtime.js.map +1 -1
- package/dist/domain/invariants-state.d.ts.map +1 -1
- package/dist/domain/invariants-state.js +1 -4
- package/dist/domain/invariants-state.js.map +1 -1
- package/dist/domain/legacy-interaction-snapshot.d.ts +7 -0
- package/dist/domain/legacy-interaction-snapshot.d.ts.map +1 -0
- package/dist/domain/legacy-interaction-snapshot.js +227 -0
- package/dist/domain/legacy-interaction-snapshot.js.map +1 -0
- package/dist/domain/materialized-state-snapshot.d.ts +3 -47
- package/dist/domain/materialized-state-snapshot.d.ts.map +1 -1
- package/dist/domain/materialized-state-snapshot.js +5 -4
- package/dist/domain/materialized-state-snapshot.js.map +1 -1
- package/dist/domain/materialized-state.d.ts +48 -0
- package/dist/domain/materialized-state.d.ts.map +1 -0
- package/dist/domain/materialized-state.js +2 -0
- package/dist/domain/materialized-state.js.map +1 -0
- package/dist/domain/reducer-conversation-events.d.ts.map +1 -1
- package/dist/domain/reducer-conversation-events.js +14 -3
- package/dist/domain/reducer-conversation-events.js.map +1 -1
- package/dist/domain/reducer-domain-events.d.ts.map +1 -1
- package/dist/domain/reducer-domain-events.js +3 -52
- package/dist/domain/reducer-domain-events.js.map +1 -1
- package/dist/domain/reducer-interactions.d.ts.map +1 -1
- package/dist/domain/reducer-interactions.js +180 -43
- package/dist/domain/reducer-interactions.js.map +1 -1
- package/dist/domain/reducer-lifecycle.d.ts.map +1 -1
- package/dist/domain/reducer-lifecycle.js +46 -4
- package/dist/domain/reducer-lifecycle.js.map +1 -1
- package/dist/domain/reducer-retained-admission.d.ts +8 -0
- package/dist/domain/reducer-retained-admission.d.ts.map +1 -0
- package/dist/domain/reducer-retained-admission.js +55 -0
- package/dist/domain/reducer-retained-admission.js.map +1 -0
- package/dist/domain/reducer-runtime.d.ts.map +1 -1
- package/dist/domain/reducer-runtime.js +29 -6
- package/dist/domain/reducer-runtime.js.map +1 -1
- package/dist/domain/reducer-support.d.ts +6 -0
- package/dist/domain/reducer-support.d.ts.map +1 -1
- package/dist/domain/reducer-support.js +24 -0
- package/dist/domain/reducer-support.js.map +1 -1
- package/dist/domain/run-contracts.d.ts +19 -1
- package/dist/domain/run-contracts.d.ts.map +1 -1
- package/dist/domain/runtime-events.d.ts +10 -4
- package/dist/domain/runtime-events.d.ts.map +1 -1
- package/dist/domain/runtime-events.js.map +1 -1
- package/dist/domain/runtime-projection.d.ts +9 -3
- package/dist/domain/runtime-projection.d.ts.map +1 -1
- package/dist/domain/runtime-projection.js.map +1 -1
- package/dist/domain/secret-sanitizer.js +2 -2
- package/dist/domain/secret-sanitizer.js.map +1 -1
- package/dist/domain/state.d.ts +1 -2
- package/dist/domain/state.d.ts.map +1 -1
- package/dist/domain/state.js +0 -1
- package/dist/domain/state.js.map +1 -1
- package/dist/index.d.ts +1 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -2
- package/dist/index.js.map +1 -1
- package/dist/installed-package-version.d.ts +3 -0
- package/dist/installed-package-version.d.ts.map +1 -0
- package/dist/installed-package-version.js +34 -0
- package/dist/installed-package-version.js.map +1 -0
- package/dist/ports/effect-storage.d.ts +5 -0
- package/dist/ports/effect-storage.d.ts.map +1 -1
- package/dist/ports/execution.d.ts +3 -1
- package/dist/ports/execution.d.ts.map +1 -1
- package/dist/ports/execution.js.map +1 -1
- package/dist/startup/durable-runtime.js +2 -344
- package/dist/startup/durable-runtime.js.map +1 -6
- package/dist/startup/preview-runtime.d.ts.map +1 -1
- package/dist/startup/preview-runtime.js +161 -6
- package/dist/startup/preview-runtime.js.map +1 -6
- package/dist/startup/terminal-runtime.js +5 -13
- package/dist/startup/terminal-runtime.js.map +1 -6
- package/dist/testing/deterministic-backend.js +1 -1
- package/dist/testing/deterministic-backend.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.d.ts.map +1 -1
- package/dist/version.js +21 -1
- package/dist/version.js.map +1 -1
- package/dist/views/headless/rpc.d.ts.map +1 -1
- package/dist/views/headless/rpc.js +5 -0
- package/dist/views/headless/rpc.js.map +1 -1
- package/dist/views/shared/analysis-model-call-presentation.js +2 -2
- 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 -0
- package/dist/views/shared/analysis-presentation.js.map +1 -1
- package/dist/views/shared/command-registry.d.ts.map +1 -1
- package/dist/views/shared/command-registry.js +9 -5
- package/dist/views/shared/command-registry.js.map +1 -1
- package/dist/views/shared/models.d.ts +42 -0
- package/dist/views/shared/models.d.ts.map +1 -1
- package/dist/views/shared/models.js.map +1 -1
- package/dist/views/shared/semantic-activity.d.ts.map +1 -1
- package/dist/views/shared/semantic-activity.js +6 -21
- package/dist/views/shared/semantic-activity.js.map +1 -1
- package/dist/views/shared/semantic-details.d.ts.map +1 -1
- package/dist/views/shared/semantic-details.js +8 -0
- package/dist/views/shared/semantic-details.js.map +1 -1
- package/dist/views/shared/semantic-projection.d.ts.map +1 -1
- package/dist/views/shared/semantic-projection.js +15 -2
- package/dist/views/shared/semantic-projection.js.map +1 -1
- package/dist/views/shared/usage-projection.d.ts +2 -2
- package/dist/views/shared/usage-projection.d.ts.map +1 -1
- package/dist/views/shared/usage-projection.js +25 -14
- package/dist/views/shared/usage-projection.js.map +1 -1
- 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 +35 -112
- package/dist/views/tui/activity-browser.js.map +1 -1
- package/dist/views/tui/activity.d.ts +1 -0
- package/dist/views/tui/activity.d.ts.map +1 -1
- package/dist/views/tui/activity.js +25 -26
- package/dist/views/tui/activity.js.map +1 -1
- package/dist/views/tui/composer-view.d.ts +3 -1
- package/dist/views/tui/composer-view.d.ts.map +1 -1
- package/dist/views/tui/composer-view.js +57 -33
- package/dist/views/tui/composer-view.js.map +1 -1
- package/dist/views/tui/entity-browser.d.ts +1 -1
- package/dist/views/tui/entity-browser.d.ts.map +1 -1
- package/dist/views/tui/entity-browser.js +7 -3
- package/dist/views/tui/entity-browser.js.map +1 -1
- package/dist/views/tui/execution-target.d.ts +3 -1
- package/dist/views/tui/execution-target.d.ts.map +1 -1
- package/dist/views/tui/execution-target.js +57 -0
- 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 +50 -10
- package/dist/views/tui/fork-preview.js.map +1 -1
- package/dist/views/tui/graph.d.ts +4 -2
- package/dist/views/tui/graph.d.ts.map +1 -1
- package/dist/views/tui/graph.js +115 -8
- package/dist/views/tui/graph.js.map +1 -1
- package/dist/views/tui/help.js +1 -1
- package/dist/views/tui/help.js.map +1 -1
- package/dist/views/tui/interaction-presentation.d.ts +2 -1
- package/dist/views/tui/interaction-presentation.d.ts.map +1 -1
- package/dist/views/tui/interaction-presentation.js +13 -14
- package/dist/views/tui/interaction-presentation.js.map +1 -1
- package/dist/views/tui/interaction.d.ts +1 -0
- package/dist/views/tui/interaction.d.ts.map +1 -1
- package/dist/views/tui/interaction.js +11 -11
- package/dist/views/tui/interaction.js.map +1 -1
- package/dist/views/tui/keyboard.d.ts +1 -1
- package/dist/views/tui/keyboard.d.ts.map +1 -1
- package/dist/views/tui/keyboard.js +4 -1
- package/dist/views/tui/keyboard.js.map +1 -1
- package/dist/views/tui/measurement-display.d.ts +3 -0
- package/dist/views/tui/measurement-display.d.ts.map +1 -0
- package/dist/views/tui/measurement-display.js +11 -0
- package/dist/views/tui/measurement-display.js.map +1 -0
- 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 +8 -1
- package/dist/views/tui/modal-coordinator.js.map +1 -1
- package/dist/views/tui/profile-editor.d.ts.map +1 -1
- package/dist/views/tui/profile-editor.js +2 -31
- package/dist/views/tui/profile-editor.js.map +1 -1
- 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 +3 -1
- package/dist/views/tui/terminal-chrome.d.ts.map +1 -1
- package/dist/views/tui/terminal-chrome.js +107 -57
- package/dist/views/tui/terminal-chrome.js.map +1 -1
- package/dist/views/tui/terminal-command-controller.d.ts +2 -0
- package/dist/views/tui/terminal-command-controller.d.ts.map +1 -1
- package/dist/views/tui/terminal-command-controller.js +16 -7
- package/dist/views/tui/terminal-command-controller.js.map +1 -1
- package/dist/views/tui/terminal-identity.d.ts +3 -1
- package/dist/views/tui/terminal-identity.d.ts.map +1 -1
- package/dist/views/tui/terminal-identity.js +22 -80
- package/dist/views/tui/terminal-identity.js.map +1 -1
- package/dist/views/tui/terminal-input-controller.d.ts +4 -2
- package/dist/views/tui/terminal-input-controller.d.ts.map +1 -1
- package/dist/views/tui/terminal-input-controller.js +36 -6
- package/dist/views/tui/terminal-input-controller.js.map +1 -1
- package/dist/views/tui/terminal-interaction-controller.d.ts +2 -0
- package/dist/views/tui/terminal-interaction-controller.d.ts.map +1 -1
- package/dist/views/tui/terminal-interaction-controller.js +43 -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 +57 -15
- package/dist/views/tui/terminal-overlays.js.map +1 -1
- package/dist/views/tui/terminal-shell.d.ts +2 -0
- package/dist/views/tui/terminal-shell.d.ts.map +1 -1
- package/dist/views/tui/terminal-shell.js +15 -4
- package/dist/views/tui/terminal-shell.js.map +1 -1
- package/dist/views/tui/terminal-usage.d.ts +1 -0
- package/dist/views/tui/terminal-usage.d.ts.map +1 -1
- package/dist/views/tui/terminal-usage.js +44 -123
- 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 +3 -5
- package/dist/views/tui/transcript.js.map +1 -1
- package/package.json +20 -13
- package/dist/adapters/runtime/cli-bridge-retained-projection.d.ts.map +0 -1
- package/dist/adapters/runtime/cli-bridge-retained-projection.js +0 -101
- package/dist/adapters/runtime/cli-bridge-retained-projection.js.map +0 -1
- package/dist/app/view-model.d.ts +0 -37
- package/dist/app/view-model.d.ts.map +0 -1
- package/dist/app/view-model.js +0 -103
- package/dist/app/view-model.js.map +0 -1
- package/dist/startup/chunks/analysis-comparison-facts-BYZX2KTR.js +0 -2
- package/dist/startup/chunks/analysis-comparison-facts-BYZX2KTR.js.map +0 -6
- package/dist/startup/chunks/analysis-comparison-record-VMUVZPUV.js +0 -2
- package/dist/startup/chunks/analysis-comparison-record-VMUVZPUV.js.map +0 -6
- package/dist/startup/chunks/chunk-2B6P3EZQ.js +0 -2
- package/dist/startup/chunks/chunk-2B6P3EZQ.js.map +0 -6
- package/dist/startup/chunks/chunk-3SLVNOQZ.js +0 -2
- package/dist/startup/chunks/chunk-3SLVNOQZ.js.map +0 -6
- package/dist/startup/chunks/chunk-5ZIGORCF.js +0 -6
- package/dist/startup/chunks/chunk-5ZIGORCF.js.map +0 -6
- package/dist/startup/chunks/chunk-6G7QKB6J.js +0 -2
- package/dist/startup/chunks/chunk-6G7QKB6J.js.map +0 -6
- package/dist/startup/chunks/chunk-AUAERYTD.js +0 -2
- package/dist/startup/chunks/chunk-AUAERYTD.js.map +0 -6
- package/dist/startup/chunks/chunk-BCT2WD5R.js +0 -2
- package/dist/startup/chunks/chunk-BCT2WD5R.js.map +0 -6
- package/dist/startup/chunks/chunk-ECYRVU25.js +0 -2
- package/dist/startup/chunks/chunk-ECYRVU25.js.map +0 -6
- package/dist/startup/chunks/chunk-EQDIVTWX.js +0 -2
- package/dist/startup/chunks/chunk-EQDIVTWX.js.map +0 -6
- package/dist/startup/chunks/chunk-FRHYXPNB.js +0 -2
- package/dist/startup/chunks/chunk-FRHYXPNB.js.map +0 -6
- package/dist/startup/chunks/chunk-GZKMBTCI.js +0 -3
- package/dist/startup/chunks/chunk-GZKMBTCI.js.map +0 -6
- package/dist/startup/chunks/chunk-GZLREBOD.js +0 -2
- package/dist/startup/chunks/chunk-GZLREBOD.js.map +0 -6
- package/dist/startup/chunks/chunk-HFZ5Q3X5.js +0 -2
- package/dist/startup/chunks/chunk-HFZ5Q3X5.js.map +0 -6
- package/dist/startup/chunks/chunk-ICFZ5GZR.js +0 -2
- package/dist/startup/chunks/chunk-ICFZ5GZR.js.map +0 -6
- package/dist/startup/chunks/chunk-JR4A5QXZ.js +0 -2
- package/dist/startup/chunks/chunk-JR4A5QXZ.js.map +0 -6
- package/dist/startup/chunks/chunk-LUXHNCKY.js +0 -2
- package/dist/startup/chunks/chunk-LUXHNCKY.js.map +0 -6
- package/dist/startup/chunks/chunk-NDSFD5HI.js +0 -2
- package/dist/startup/chunks/chunk-NDSFD5HI.js.map +0 -6
- package/dist/startup/chunks/chunk-NWDQFVYZ.js +0 -6
- package/dist/startup/chunks/chunk-NWDQFVYZ.js.map +0 -6
- package/dist/startup/chunks/chunk-PAPTIOCL.js +0 -2
- package/dist/startup/chunks/chunk-PAPTIOCL.js.map +0 -6
- package/dist/startup/chunks/chunk-PIJUYQ3B.js +0 -2
- package/dist/startup/chunks/chunk-PIJUYQ3B.js.map +0 -6
- package/dist/startup/chunks/chunk-PXRVFPRL.js +0 -2
- package/dist/startup/chunks/chunk-PXRVFPRL.js.map +0 -6
- package/dist/startup/chunks/chunk-RELMHYIG.js +0 -3
- package/dist/startup/chunks/chunk-RELMHYIG.js.map +0 -6
- package/dist/startup/chunks/chunk-RJAXEI5Z.js +0 -2
- package/dist/startup/chunks/chunk-RJAXEI5Z.js.map +0 -6
- package/dist/startup/chunks/chunk-RPJ2AWHI.js +0 -2
- package/dist/startup/chunks/chunk-RPJ2AWHI.js.map +0 -6
- package/dist/startup/chunks/chunk-TW2LBTSL.js +0 -2
- package/dist/startup/chunks/chunk-TW2LBTSL.js.map +0 -6
- package/dist/startup/chunks/chunk-TYNDYSMP.js +0 -2
- package/dist/startup/chunks/chunk-TYNDYSMP.js.map +0 -6
- package/dist/startup/chunks/chunk-TZNTMUGF.js +0 -117
- package/dist/startup/chunks/chunk-TZNTMUGF.js.map +0 -6
- package/dist/startup/chunks/chunk-UT4NB43O.js +0 -2
- package/dist/startup/chunks/chunk-UT4NB43O.js.map +0 -6
- package/dist/startup/chunks/chunk-VTNLVERY.js +0 -2
- package/dist/startup/chunks/chunk-VTNLVERY.js.map +0 -6
- package/dist/startup/chunks/configuration-wizard-G5VQFNBR.js +0 -3
- package/dist/startup/chunks/configuration-wizard-G5VQFNBR.js.map +0 -6
- package/dist/startup/chunks/production-connection-providers-3BNIYUIS.js +0 -2
- package/dist/startup/chunks/production-connection-providers-3BNIYUIS.js.map +0 -6
- package/dist/startup/chunks/production-connections-27KWJIR6.js +0 -2
- package/dist/startup/chunks/production-connections-27KWJIR6.js.map +0 -6
- package/dist/startup/chunks/profile-connection-dispatch-HFTWSEIR.js +0 -2
- package/dist/startup/chunks/profile-connection-dispatch-HFTWSEIR.js.map +0 -6
- package/dist/startup/chunks/supervisor-control-VPVKE7NI.js +0 -2
- package/dist/startup/chunks/supervisor-control-VPVKE7NI.js.map +0 -6
- package/dist/startup/chunks/supervisor-watch-X6TXO6GN.js +0 -2
- package/dist/startup/chunks/supervisor-watch-X6TXO6GN.js.map +0 -6
- package/dist/startup/chunks/trace-store-ZIU4S2VR.js +0 -6
- package/dist/startup/chunks/trace-store-ZIU4S2VR.js.map +0 -6
- package/dist/startup/chunks/ui-dispatch-NV3XTZDR.js +0 -3
- package/dist/startup/chunks/ui-dispatch-NV3XTZDR.js.map +0 -6
|
@@ -11,7 +11,7 @@ export class ProductionAnalysisAnalyst {
|
|
|
11
11
|
const connectionOptions = input.connectionOptions ?? {};
|
|
12
12
|
this.#create =
|
|
13
13
|
input.create ??
|
|
14
|
-
(async (target) => {
|
|
14
|
+
(async (target, request) => {
|
|
15
15
|
if (target.connection === undefined) {
|
|
16
16
|
return createUnavailableTraceAnalysisAnalyst('The captured analysis route has no matching connection record.');
|
|
17
17
|
}
|
|
@@ -23,6 +23,14 @@ export class ProductionAnalysisAnalyst {
|
|
|
23
23
|
? {}
|
|
24
24
|
: { maxOutputTokens: modelSettings.maxOutputTokens }),
|
|
25
25
|
...connectionOptions,
|
|
26
|
+
managedRuntimeReadiness: 'complete',
|
|
27
|
+
...(request.onRetainedAdmission === undefined
|
|
28
|
+
? {}
|
|
29
|
+
: { onRetainedAdmission: request.onRetainedAdmission }),
|
|
30
|
+
...(request.signal === undefined ? {} : { signal: request.signal }),
|
|
31
|
+
...(request.totalTimeoutMs === undefined
|
|
32
|
+
? {}
|
|
33
|
+
: { pythonProbeTimeoutMs: request.totalTimeoutMs }),
|
|
26
34
|
}));
|
|
27
35
|
});
|
|
28
36
|
}
|
|
@@ -43,7 +51,15 @@ export class ProductionAnalysisAnalyst {
|
|
|
43
51
|
const target = request.executionTarget;
|
|
44
52
|
const analyst = target === undefined
|
|
45
53
|
? createUnavailableTraceAnalysisAnalyst('The analysis request has no captured execution route.')
|
|
46
|
-
: await this.#create(target
|
|
54
|
+
: await this.#create(target, {
|
|
55
|
+
...(request.onRetainedAdmission === undefined
|
|
56
|
+
? {}
|
|
57
|
+
: { onRetainedAdmission: request.onRetainedAdmission }),
|
|
58
|
+
...(request.signal === undefined ? {} : { signal: request.signal }),
|
|
59
|
+
...(request.totalTimeoutMs === undefined
|
|
60
|
+
? {}
|
|
61
|
+
: { totalTimeoutMs: request.totalTimeoutMs }),
|
|
62
|
+
});
|
|
47
63
|
try {
|
|
48
64
|
for await (const item of analyst.stream(request))
|
|
49
65
|
yield item;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"production-analysis-analyst.js","sourceRoot":"","sources":["../../../src/adapters/analysis/production-analysis-analyst.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAA;AAG1E,OAAO,EACL,0BAA0B,EAC1B,0BAA0B,EAC1B,qCAAqC,GACtC,MAAM,6BAA6B,CAAA;AAEpC,MAAM,kBAAkB,GAAG,GAAG,CAAA;AAE9B,wFAAwF;AACxF,MAAM,OAAO,yBAAyB;IAC3B,UAAU,CAAiB;IAC3B,OAAO,
|
|
1
|
+
{"version":3,"file":"production-analysis-analyst.js","sourceRoot":"","sources":["../../../src/adapters/analysis/production-analysis-analyst.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,7 +3,7 @@ export interface PythonRunnerSpec {
|
|
|
3
3
|
readonly args?: readonly string[];
|
|
4
4
|
}
|
|
5
5
|
export interface PythonRunnerIdentity extends PythonRunnerSpec {
|
|
6
|
-
readonly source: 'explicit' | 'detected';
|
|
6
|
+
readonly source: 'explicit' | 'detected' | 'managed';
|
|
7
7
|
}
|
|
8
8
|
export type PythonCommandProbeStatus = 'ok' | 'not-found' | 'failed' | 'timed-out';
|
|
9
9
|
export interface PythonCommandProbeResult {
|
|
@@ -18,6 +18,8 @@ export interface ResolvePythonRunnerOptions {
|
|
|
18
18
|
readonly candidates?: readonly string[];
|
|
19
19
|
readonly probe?: PythonCommandProbe;
|
|
20
20
|
readonly timeoutMs?: number;
|
|
21
|
+
readonly managedRuntimeReadiness?: 'launcher' | 'complete';
|
|
22
|
+
readonly signal?: AbortSignal;
|
|
21
23
|
}
|
|
22
24
|
export type PythonRunnerResolution = {
|
|
23
25
|
readonly status: 'ready';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"python-runner.d.ts","sourceRoot":"","sources":["../../../src/adapters/analysis/python-runner.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"python-runner.d.ts","sourceRoot":"","sources":["../../../src/adapters/analysis/python-runner.ts"],"names":[],"mappings":"AAqBA,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;CAClC;AAED,MAAM,WAAW,oBAAqB,SAAQ,gBAAgB;IAC5D,QAAQ,CAAC,MAAM,EAAE,UAAU,GAAG,UAAU,GAAG,SAAS,CAAA;CACrD;AAED,MAAM,MAAM,wBAAwB,GAAG,IAAI,GAAG,WAAW,GAAG,QAAQ,GAAG,WAAW,CAAA;AAElF,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,MAAM,EAAE,wBAAwB,CAAA;IACzC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAC3B;AAED,MAAM,MAAM,kBAAkB,GAAG,CAC/B,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,SAAS,EAAE,MAAM,KACd,OAAO,CAAC,wBAAwB,CAAC,CAAA;AAEtC,MAAM,WAAW,0BAA0B;IACzC,gFAAgF;IAChF,QAAQ,CAAC,MAAM,CAAC,EAAE,gBAAgB,CAAA;IAClC,6EAA6E;IAC7E,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;IACvC,QAAQ,CAAC,KAAK,CAAC,EAAE,kBAAkB,CAAA;IACnC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,uBAAuB,CAAC,EAAE,UAAU,GAAG,UAAU,CAAA;IAC1D,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAA;CAC9B;AAED,MAAM,MAAM,sBAAsB,GAC9B;IACE,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAA;IACxB,QAAQ,CAAC,MAAM,EAAE,oBAAoB,CAAA;CACtC,GACD;IACE,QAAQ,CAAC,MAAM,EAAE,gBAAgB,CAAA;IACjC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CACzB,GACD;IACE,QAAQ,CAAC,MAAM,EAAE,wBAAwB,CAAA;IACzC,QAAQ,CAAC,MAAM,EAAE,oBAAoB,CAAA;IACrC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CACzB,GACD;IACE,QAAQ,CAAC,MAAM,EAAE,qBAAqB,CAAA;IACtC,QAAQ,CAAC,MAAM,EAAE,oBAAoB,CAAA;IACrC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CACzB,CAAA;AAyKL,uEAAuE;AACvE,wBAAsB,mBAAmB,CACvC,OAAO,GAAE,0BAA+B,GACvC,OAAO,CAAC,sBAAsB,CAAC,CA6FjC;AAED,eAAO,MAAM,mCAAmC,QAAgB,CAAA"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { spawn } from 'node:child_process';
|
|
2
|
+
import { managedAnalysisRunner } from './managed-analysis-runtime.js';
|
|
2
3
|
const PACKAGE_PROBE = [
|
|
3
4
|
'import importlib.util',
|
|
4
5
|
"required = ('agent_eval_rpc.dspy_rlm_bridge', 'dspy')",
|
|
@@ -14,6 +15,7 @@ const PACKAGE_PROBE = [
|
|
|
14
15
|
].join('\n');
|
|
15
16
|
const PACKAGE_MISSING_EXIT_CODE = 13;
|
|
16
17
|
const DEFAULT_PROBE_TIMEOUT_MS = 2_000;
|
|
18
|
+
const DEFAULT_MANAGED_RUNTIME_PROBE_TIMEOUT_MS = 120_000;
|
|
17
19
|
function defaultCandidates() {
|
|
18
20
|
const configured = process.env.BRAID_PYTHON?.trim();
|
|
19
21
|
return [...new Set([configured, 'python3', 'python'].filter((value) => !!value))];
|
|
@@ -60,6 +62,61 @@ async function defaultProbe(command, args, timeoutMs) {
|
|
|
60
62
|
});
|
|
61
63
|
});
|
|
62
64
|
}
|
|
65
|
+
const completeManagedRuntimeProbes = new WeakMap();
|
|
66
|
+
function waitForProbe(pending, timeoutMs, signal) {
|
|
67
|
+
return new Promise((resolve, reject) => {
|
|
68
|
+
let settled = false;
|
|
69
|
+
const finish = (result) => {
|
|
70
|
+
if (settled)
|
|
71
|
+
return;
|
|
72
|
+
settled = true;
|
|
73
|
+
clearTimeout(timer);
|
|
74
|
+
signal?.removeEventListener('abort', aborted);
|
|
75
|
+
resolve(result);
|
|
76
|
+
};
|
|
77
|
+
const fail = (error) => {
|
|
78
|
+
if (settled)
|
|
79
|
+
return;
|
|
80
|
+
settled = true;
|
|
81
|
+
clearTimeout(timer);
|
|
82
|
+
signal?.removeEventListener('abort', aborted);
|
|
83
|
+
reject(error);
|
|
84
|
+
};
|
|
85
|
+
const aborted = () => {
|
|
86
|
+
fail(signal?.reason instanceof Error
|
|
87
|
+
? signal.reason
|
|
88
|
+
: new DOMException('The operation was aborted', 'AbortError'));
|
|
89
|
+
};
|
|
90
|
+
const timer = setTimeout(() => finish({ status: 'timed-out' }), timeoutMs);
|
|
91
|
+
if (signal?.aborted) {
|
|
92
|
+
aborted();
|
|
93
|
+
return;
|
|
94
|
+
}
|
|
95
|
+
signal?.addEventListener('abort', aborted, { once: true });
|
|
96
|
+
pending.then(finish, fail);
|
|
97
|
+
});
|
|
98
|
+
}
|
|
99
|
+
async function probeCompleteManagedRuntime(command, args, probe, timeoutMs, signal) {
|
|
100
|
+
const key = JSON.stringify([command, args]);
|
|
101
|
+
let probes = completeManagedRuntimeProbes.get(probe);
|
|
102
|
+
if (probes === undefined) {
|
|
103
|
+
probes = new Map();
|
|
104
|
+
completeManagedRuntimeProbes.set(probe, probes);
|
|
105
|
+
}
|
|
106
|
+
let pending = probes.get(key);
|
|
107
|
+
if (pending === undefined) {
|
|
108
|
+
pending = probe(command, args, DEFAULT_MANAGED_RUNTIME_PROBE_TIMEOUT_MS);
|
|
109
|
+
probes.set(key, pending);
|
|
110
|
+
void pending.then((result) => {
|
|
111
|
+
if (result.status !== 'ok' && probes.get(key) === pending)
|
|
112
|
+
probes.delete(key);
|
|
113
|
+
}, () => {
|
|
114
|
+
if (probes.get(key) === pending)
|
|
115
|
+
probes.delete(key);
|
|
116
|
+
});
|
|
117
|
+
}
|
|
118
|
+
return waitForProbe(pending, timeoutMs, signal);
|
|
119
|
+
}
|
|
63
120
|
async function probeRunner(runner, probe, timeoutMs) {
|
|
64
121
|
const prefix = runner.args ?? [];
|
|
65
122
|
const version = await probe(runner.command, [...prefix, '--version'], timeoutMs);
|
|
@@ -94,8 +151,17 @@ async function probeRunner(runner, probe, timeoutMs) {
|
|
|
94
151
|
}
|
|
95
152
|
/** Resolve and verify a Python executable without invoking a shell. */
|
|
96
153
|
export async function resolvePythonRunner(options = {}) {
|
|
154
|
+
if (options.signal?.aborted) {
|
|
155
|
+
throw options.signal.reason instanceof Error
|
|
156
|
+
? options.signal.reason
|
|
157
|
+
: new DOMException('The operation was aborted', 'AbortError');
|
|
158
|
+
}
|
|
97
159
|
const probe = options.probe ?? defaultProbe;
|
|
98
|
-
const
|
|
160
|
+
const managedRuntimeReadiness = options.managedRuntimeReadiness ?? 'launcher';
|
|
161
|
+
const timeoutMs = options.timeoutMs ??
|
|
162
|
+
(managedRuntimeReadiness === 'complete'
|
|
163
|
+
? DEFAULT_MANAGED_RUNTIME_PROBE_TIMEOUT_MS
|
|
164
|
+
: DEFAULT_PROBE_TIMEOUT_MS);
|
|
99
165
|
if (!Number.isSafeInteger(timeoutMs) || timeoutMs <= 0) {
|
|
100
166
|
throw new RangeError('Python readiness probe timeout must be a positive safe integer');
|
|
101
167
|
}
|
|
@@ -112,6 +178,38 @@ export async function resolvePythonRunner(options = {}) {
|
|
|
112
178
|
}
|
|
113
179
|
let packageMissing;
|
|
114
180
|
let probeFailed;
|
|
181
|
+
if (options.candidates === undefined && !process.env.BRAID_PYTHON?.trim()) {
|
|
182
|
+
const managed = managedAnalysisRunner();
|
|
183
|
+
if (managed !== undefined) {
|
|
184
|
+
const readinessArgs = managedRuntimeReadiness === 'complete'
|
|
185
|
+
? managed.runtimeProbeArgs
|
|
186
|
+
: managed.launcherProbeArgs;
|
|
187
|
+
const readiness = managedRuntimeReadiness === 'complete'
|
|
188
|
+
? await probeCompleteManagedRuntime(managed.command, readinessArgs, probe, timeoutMs, options.signal)
|
|
189
|
+
: await probe(managed.command, readinessArgs, timeoutMs);
|
|
190
|
+
if (readiness.status === 'ok') {
|
|
191
|
+
return {
|
|
192
|
+
status: 'ready',
|
|
193
|
+
runner: {
|
|
194
|
+
command: managed.command,
|
|
195
|
+
args: managed.args,
|
|
196
|
+
source: 'managed',
|
|
197
|
+
},
|
|
198
|
+
};
|
|
199
|
+
}
|
|
200
|
+
probeFailed = {
|
|
201
|
+
status: 'python-probe-failed',
|
|
202
|
+
runner: {
|
|
203
|
+
command: managed.command,
|
|
204
|
+
args: managed.args,
|
|
205
|
+
source: 'managed',
|
|
206
|
+
},
|
|
207
|
+
message: managedRuntimeReadiness === 'complete'
|
|
208
|
+
? 'The managed trace-analysis runtime could not resolve Python 3.12 and the pinned Agent Eval package.'
|
|
209
|
+
: 'The managed trace-analysis launcher could not be started.',
|
|
210
|
+
};
|
|
211
|
+
}
|
|
212
|
+
}
|
|
115
213
|
for (const candidate of options.candidates ?? defaultCandidates()) {
|
|
116
214
|
const runner = normalizedRunner({ command: candidate }, 'detected');
|
|
117
215
|
if (runner === undefined)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"python-runner.js","sourceRoot":"","sources":["../../../src/adapters/analysis/python-runner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAA;
|
|
1
|
+
{"version":3,"file":"python-runner.js","sourceRoot":"","sources":["../../../src/adapters/analysis/python-runner.ts"],"names":[],"mappings":"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"}
|
|
@@ -18,8 +18,8 @@ async function prepareQuestionContext(store) {
|
|
|
18
18
|
'Never use an attribute label or a constructed JSON fragment as an excerpt.',
|
|
19
19
|
'For numeric facts, quote a related model, status, or output string from the same span.',
|
|
20
20
|
'Before SUBMIT, ensure each distinct request in Focus has one finding or one explicit limit.',
|
|
21
|
-
'The final call must be SUBMIT(answer, json.dumps(findings)).',
|
|
22
|
-
'Never pass the findings list
|
|
21
|
+
'The final call must be SUBMIT(answer=answer, findings_json=json.dumps(findings)).',
|
|
22
|
+
'Never pass either output positionally or pass the findings list without JSON encoding.',
|
|
23
23
|
].join('\n');
|
|
24
24
|
}
|
|
25
25
|
export const BRAID_QUESTION_ANALYST_DEFINITION = Object.freeze({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"question-analyst.js","sourceRoot":"","sources":["../../../src/adapters/analysis/question-analyst.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,kBAAkB,GAInB,MAAM,4BAA4B,CAAA;AACnC,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAA;AAEzD,MAAM,CAAC,MAAM,yBAAyB,GAAG,UAAU,CAAA;AAEnD,KAAK,UAAU,sBAAsB,CAAC,KAAyB;IAC7D,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC,CAAA;IAC5C,MAAM,OAAO,GAAG,QAAQ,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IACtF,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,OAAO,mFAAmF,CAAA;IAC5F,CAAC;IACD,OAAO;QACL,+CAA+C;QAC/C,mBAAmB,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG;QAC7C,2DAA2D;QAC3D,0EAA0E;QAC1E,qBAAqB;QACrB,kCAAkC;QAClC,yFAAyF;QACzF,4EAA4E;QAC5E,wFAAwF;QACxF,6FAA6F;QAC7F,
|
|
1
|
+
{"version":3,"file":"question-analyst.js","sourceRoot":"","sources":["../../../src/adapters/analysis/question-analyst.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,kBAAkB,GAInB,MAAM,4BAA4B,CAAA;AACnC,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAA;AAEzD,MAAM,CAAC,MAAM,yBAAyB,GAAG,UAAU,CAAA;AAEnD,KAAK,UAAU,sBAAsB,CAAC,KAAyB;IAC7D,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC,CAAA;IAC5C,MAAM,OAAO,GAAG,QAAQ,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IACtF,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,OAAO,mFAAmF,CAAA;IAC5F,CAAC;IACD,OAAO;QACL,+CAA+C;QAC/C,mBAAmB,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG;QAC7C,2DAA2D;QAC3D,0EAA0E;QAC1E,qBAAqB;QACrB,kCAAkC;QAClC,yFAAyF;QACzF,4EAA4E;QAC5E,wFAAwF;QACxF,6FAA6F;QAC7F,mFAAmF;QACnF,wFAAwF;KACzF,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACd,CAAC;AAED,MAAM,CAAC,MAAM,iCAAiC,GAAG,MAAM,CAAC,MAAM,CAAC;IAC7D,EAAE,EAAE,yBAAyB;IAC7B,WAAW,EAAE,2EAA2E;IACxF,IAAI,EAAE,iBAAiB;IACvB,OAAO,EAAE,OAAO;IAChB,QAAQ,EAAE,qDAAqD;IAC/D,YAAY,EAAE;QACZ,yDAAyD;QACzD,wCAAwC;QACxC,+DAA+D;QAC/D,8BAA8B;QAC9B,0FAA0F;QAC1F,qEAAqE;QACrE,qDAAqD;QACrD,wCAAwC;QACxC,0DAA0D;QAC1D,iFAAiF;QACjF,gEAAgE;QAChE,sEAAsE;QACtE,mDAAmD;QACnD,wFAAwF;QACxF,iEAAiE;QACjE,wEAAwE;QACxE,0FAA0F;QAC1F,wFAAwF;KACzF,CAAC,IAAI,CAAC,IAAI,CAAC;IACZ,cAAc,EAAE,sBAAsB;IACtC,SAAS,EAAE,aAAa;IACxB,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC;QACpB,aAAa,EAAE,EAAE;QACjB,WAAW,EAAE,CAAC;QACd,YAAY,EAAE,EAAE;QAChB,cAAc,EAAE,MAAM;KACvB,CAAC;IACF,wBAAwB,EAAE,CAAC;IAC3B,yBAAyB,EAAE,IAAI;CAChC,CAAkC,CAAA;AAEnC,SAAS,gBAAgB,CAAC,OAAuB;IAC/C,OAAO,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,CAAmB,CAAA;AAC7D,CAAC;AAED,yFAAyF;AACzF,MAAM,UAAU,4BAA4B,CAC1C,QAAyB,EACzB,MAA2B;IAE3B,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,KAAK,yBAAyB,CAAC;QAAE,OAAM;IACvF,MAAM,OAAO,GAAG,kBAAkB,CAAC,iCAAiC,EAAE,EAAE,MAAM,EAAE,CAAC,CAAA;IACjF,QAAQ,CAAC,QAAQ,CAAC;QAChB,GAAG,OAAO;QACV,OAAO,EAAE,KAAK,EAAE,KAAyB,EAAE,OAAuB,EAAE,EAAE,CACpE,CAAC,MAAM,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,gBAAgB,CAAC;KAChE,CAAC,CAAA;AACJ,CAAC"}
|
|
@@ -3,6 +3,7 @@ import type { ExternalOptimizerModelCall, ExternalOptimizerModelExecutionObserva
|
|
|
3
3
|
import { type AgentProfile } from '@tangle-network/agent-interface';
|
|
4
4
|
import type { RouterTransportConfig } from '@tangle-network/agent-runtime/kernel';
|
|
5
5
|
import type { ConnectionRecord } from '../../domain/entities.js';
|
|
6
|
+
import type { RetainedRunAdmissionRecord } from '../../domain/run-contracts.js';
|
|
6
7
|
export interface RuntimeRouterRetryPolicy {
|
|
7
8
|
readonly maxAttempts?: number;
|
|
8
9
|
readonly initialBackoffMs?: number;
|
|
@@ -22,6 +23,7 @@ export interface RuntimeTraceModelOwnerOptions {
|
|
|
22
23
|
readonly complete?: RouterTransportConfig['complete'];
|
|
23
24
|
readonly retry?: RuntimeRouterRetryPolicy;
|
|
24
25
|
readonly recordExecution?: ModelExecutionRecorder;
|
|
26
|
+
readonly onRetainedAdmission?: (callId: string, admission: RetainedRunAdmissionRecord) => Promise<void>;
|
|
25
27
|
}
|
|
26
28
|
export interface RuntimeTraceModelOwner {
|
|
27
29
|
readonly call: ExternalOptimizerModelCall;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime-model-owner.d.ts","sourceRoot":"","sources":["../../../src/adapters/analysis/runtime-model-owner.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,kBAAkB,EAGxB,MAAM,4BAA4B,CAAA;AACnC,OAAO,KAAK,EACV,0BAA0B,EAE1B,0CAA0C,EAC3C,MAAM,qCAAqC,CAAA;AAC5C,OAAO,
|
|
1
|
+
{"version":3,"file":"runtime-model-owner.d.ts","sourceRoot":"","sources":["../../../src/adapters/analysis/runtime-model-owner.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,kBAAkB,EAGxB,MAAM,4BAA4B,CAAA;AACnC,OAAO,KAAK,EACV,0BAA0B,EAE1B,0CAA0C,EAC3C,MAAM,qCAAqC,CAAA;AAC5C,OAAO,EAEL,KAAK,YAAY,EAElB,MAAM,iCAAiC,CAAA;AAExC,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,sCAAsC,CAAA;AAEjF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAA;AAChE,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,+BAA+B,CAAA;AAwC/E,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAA;IAClC,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAA;IAC9B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,aAAa,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;IAC9C,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAA;CACnC;AAED,KAAK,sBAAsB,GAAG,CAAC,WAAW,EAAE,0CAA0C,KAAK,IAAI,CAAA;AAE/F,MAAM,WAAW,6BAA6B;IAC5C,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,YAAY,CAAC,CAAA;IACxC,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAC,IAAI,CAAC,gBAAgB,EAAE,IAAI,GAAG,MAAM,GAAG,WAAW,CAAC,CAAC,CAAA;IAClF,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,OAAO,CAAC,EAAE,kBAAkB,CAAA;IACrC,QAAQ,CAAC,QAAQ,CAAC,EAAE,qBAAqB,CAAC,UAAU,CAAC,CAAA;IACrD,QAAQ,CAAC,KAAK,CAAC,EAAE,wBAAwB,CAAA;IACzC,QAAQ,CAAC,eAAe,CAAC,EAAE,sBAAsB,CAAA;IACjD,QAAQ,CAAC,mBAAmB,CAAC,EAAE,CAC7B,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,0BAA0B,KAClC,OAAO,CAAC,IAAI,CAAC,CAAA;CACnB;AAED,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,IAAI,EAAE,0BAA0B,CAAA;IACzC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,eAAe,EAAE,sBAAsB,CAAA;IAChD,QAAQ,CAAC,OAAO,CAAC,EAAE,kBAAkB,CAAA;IACrC,QAAQ,CAAC,UAAU,EAAE,MAAM,SAAS,0CAA0C,EAAE,CAAA;CACjF;AAqhBD;;;GAGG;AACH,wBAAgB,4BAA4B,CAC1C,OAAO,EAAE,6BAA6B,GACrC,sBAAsB,CA4KxB"}
|
|
@@ -1,29 +1,34 @@
|
|
|
1
1
|
import { costForTokenPricing, resolveModelPricing, } from '@tangle-network/agent-eval';
|
|
2
|
-
import { harnessSystemPromptIntents } from '@tangle-network/agent-interface';
|
|
2
|
+
import { harnessSystemPromptIntents, } from '@tangle-network/agent-interface';
|
|
3
3
|
import { canonicalDigest } from '../../domain/canonical.js';
|
|
4
4
|
import { safePublicIdentifier } from '../../domain/provider-values.js';
|
|
5
5
|
import { redactProviderError } from '../../domain/redaction.js';
|
|
6
6
|
import { canonicalAgentProfileDigestHex, snapshotAgentProfile, } from '../agent-interface/profile-runtime.js';
|
|
7
7
|
import { portableBridgeModel } from '../connections/cli-bridge-model-route.js';
|
|
8
8
|
import { AGENT_RUNTIME_VERSION } from '../runtime/agent-runtime-version.js';
|
|
9
|
+
import { RetainedModelCallError, runRetainedCliBridgeModelCall, } from './runtime-retained-model-call.js';
|
|
9
10
|
const MAX_RETAINED_EXECUTIONS = 256;
|
|
10
11
|
const LOCAL_ROUTER_BEARER = 'braid-local-analysis';
|
|
11
|
-
const ANALYST_MODEL_PROFILE_POLICY_VERSION =
|
|
12
|
+
const ANALYST_MODEL_PROFILE_POLICY_VERSION = 4;
|
|
12
13
|
const ANALYST_MODEL_INSTRUCTIONS = Object.freeze([
|
|
13
14
|
'You are a text-generation endpoint inside a trace-analysis program.',
|
|
14
|
-
'
|
|
15
|
-
'
|
|
15
|
+
'Parse the supplied JSON object and treat its messages array as the complete conversation.',
|
|
16
|
+
'Follow those messages in order, including every system message and output contract.',
|
|
17
|
+
'Return only the requested assistant message, without a preface or explanation.',
|
|
18
|
+
'When the messages require a machine format, emit exactly that format without Markdown fences.',
|
|
19
|
+
'Never replace a requested structured field with prose.',
|
|
20
|
+
'A format-repair request must preserve every exact identifier and quoted evidence string.',
|
|
16
21
|
'Do not inspect files, use tools, modify workspaces, or perform unrelated work.',
|
|
17
22
|
]);
|
|
18
23
|
const ANALYST_MODEL_TOOLS = Object.freeze({
|
|
19
24
|
read: false,
|
|
20
|
-
|
|
25
|
+
bash: false,
|
|
21
26
|
edit: false,
|
|
22
27
|
write: false,
|
|
23
28
|
});
|
|
24
29
|
const ANALYST_MODEL_PERMISSIONS = Object.freeze({
|
|
25
30
|
read: 'deny',
|
|
26
|
-
|
|
31
|
+
bash: 'deny',
|
|
27
32
|
edit: 'deny',
|
|
28
33
|
write: 'deny',
|
|
29
34
|
});
|
|
@@ -80,6 +85,7 @@ function summarizeRuntimeEvents(events, startedAt) {
|
|
|
80
85
|
const promptCache = promptCacheFacts(calls);
|
|
81
86
|
const cachedTokens = sumPromptCache(promptCache, ['cachedTokens', 'cacheReadTokens']);
|
|
82
87
|
const cacheWriteTokens = sumPromptCache(promptCache, ['cacheWriteTokens']);
|
|
88
|
+
const reasoningTokens = finiteTokenCount(final.metadata?.reasoningTokens);
|
|
83
89
|
const observedCostUsd = completeCallAmount(calls, 'costUsd', (event) => event.usdKnown !== false);
|
|
84
90
|
const estimatedCostUsd = completeCallAmount(calls, 'estimatedCostUsd');
|
|
85
91
|
return {
|
|
@@ -101,6 +107,7 @@ function summarizeRuntimeEvents(events, startedAt) {
|
|
|
101
107
|
: 0,
|
|
102
108
|
...(cachedTokens === undefined ? {} : { cachedTokens }),
|
|
103
109
|
...(cacheWriteTokens === undefined ? {} : { cacheWriteTokens }),
|
|
110
|
+
...(reasoningTokens === undefined ? {} : { reasoningTokens }),
|
|
104
111
|
...(Object.keys(promptCache).length === 0 ? {} : { promptCache }),
|
|
105
112
|
...(observedCostUsd === undefined ? {} : { observedCostUsd }),
|
|
106
113
|
...(estimatedCostUsd === undefined ? {} : { estimatedCostUsd }),
|
|
@@ -111,6 +118,40 @@ function summarizeRuntimeEvents(events, startedAt) {
|
|
|
111
118
|
...(errorStatus === undefined ? {} : { errorStatus }),
|
|
112
119
|
};
|
|
113
120
|
}
|
|
121
|
+
function summarizeRetainedResult(result, model, startedAt) {
|
|
122
|
+
const endedAt = Date.now();
|
|
123
|
+
const inputTokens = finiteTokenCount(result.usage?.inputTokens);
|
|
124
|
+
const outputTokens = finiteTokenCount(result.usage?.outputTokens);
|
|
125
|
+
const usageCaptured = inputTokens !== undefined && outputTokens !== undefined;
|
|
126
|
+
const errorStatus = result.error === undefined ? undefined : httpStatusFromReason(result.error);
|
|
127
|
+
const cachedTokens = finiteTokenCount(result.usage?.cacheReadInputTokens);
|
|
128
|
+
const cacheWriteTokens = finiteTokenCount(result.usage?.cacheCreationInputTokens);
|
|
129
|
+
const observedCostUsd = finiteNumber(result.usage?.cost);
|
|
130
|
+
const reasoningTokens = finiteTokenCount(result.usage?.reasoningTokens);
|
|
131
|
+
return {
|
|
132
|
+
events: [],
|
|
133
|
+
status: result.success ? 'completed' : 'failed',
|
|
134
|
+
reason: result.success
|
|
135
|
+
? 'Retained model execution completed'
|
|
136
|
+
: (result.error ?? 'Retained model execution failed'),
|
|
137
|
+
content: result.text,
|
|
138
|
+
durationMs: Math.max(0, endedAt - startedAt),
|
|
139
|
+
endedAt,
|
|
140
|
+
inputTokens: inputTokens ?? 0,
|
|
141
|
+
outputTokens: outputTokens ?? 0,
|
|
142
|
+
...(cachedTokens === undefined ? {} : { cachedTokens }),
|
|
143
|
+
...(cacheWriteTokens === undefined ? {} : { cacheWriteTokens }),
|
|
144
|
+
...(observedCostUsd === undefined ? {} : { observedCostUsd }),
|
|
145
|
+
...(reasoningTokens === undefined ? {} : { reasoningTokens }),
|
|
146
|
+
usageCaptured,
|
|
147
|
+
reportedModel: model,
|
|
148
|
+
...(!result.success ? { errorKind: 'backend' } : {}),
|
|
149
|
+
...(errorStatus === undefined ? {} : { errorStatus }),
|
|
150
|
+
};
|
|
151
|
+
}
|
|
152
|
+
function finiteTokenCount(value) {
|
|
153
|
+
return typeof value === 'number' && Number.isSafeInteger(value) && value >= 0 ? value : undefined;
|
|
154
|
+
}
|
|
114
155
|
function finiteNumber(value) {
|
|
115
156
|
return typeof value === 'number' && Number.isFinite(value) && value >= 0 ? value : undefined;
|
|
116
157
|
}
|
|
@@ -169,6 +210,7 @@ function receiptFor(model, pricing, usage, knownNoExecution = false) {
|
|
|
169
210
|
outputTokens: usage.outputTokens,
|
|
170
211
|
...(usage.cachedTokens === undefined ? {} : { cachedTokens: usage.cachedTokens }),
|
|
171
212
|
...(usage.cacheWriteTokens === undefined ? {} : { cacheWriteTokens: usage.cacheWriteTokens }),
|
|
213
|
+
...(usage.reasoningTokens === undefined ? {} : { reasoningTokens: usage.reasoningTokens }),
|
|
172
214
|
};
|
|
173
215
|
if (usage.observedCostUsd !== undefined) {
|
|
174
216
|
return { ...receipt, actualCostUsd: usage.observedCostUsd };
|
|
@@ -183,6 +225,7 @@ function receiptFor(model, pricing, usage, knownNoExecution = false) {
|
|
|
183
225
|
function responseFor(request, summary, pricing) {
|
|
184
226
|
const model = safeModelRoute(request.request.model);
|
|
185
227
|
const receipt = receiptFor(model, pricing, summary);
|
|
228
|
+
const promptTokens = summary.inputTokens + (summary.cachedTokens ?? 0);
|
|
186
229
|
const costUsd = summary.observedCostUsd ??
|
|
187
230
|
(summary.usageCaptured && pricing !== undefined ? costForTokenPricing(pricing, receipt) : null);
|
|
188
231
|
const raw = {
|
|
@@ -197,10 +240,14 @@ function responseFor(request, summary, pricing) {
|
|
|
197
240
|
return {
|
|
198
241
|
content: summary.content,
|
|
199
242
|
usage: {
|
|
200
|
-
promptTokens
|
|
243
|
+
promptTokens,
|
|
201
244
|
completionTokens: summary.outputTokens,
|
|
202
|
-
totalTokens:
|
|
245
|
+
totalTokens: promptTokens + summary.outputTokens,
|
|
203
246
|
captured: summary.usageCaptured,
|
|
247
|
+
...(summary.cachedTokens === undefined ? {} : { cachedPromptTokens: summary.cachedTokens }),
|
|
248
|
+
...(summary.reasoningTokens === undefined
|
|
249
|
+
? {}
|
|
250
|
+
: { reasoningTokens: summary.reasoningTokens }),
|
|
204
251
|
},
|
|
205
252
|
costUsd,
|
|
206
253
|
model,
|
|
@@ -219,7 +266,7 @@ function executionEvidence(input) {
|
|
|
219
266
|
runtime: {
|
|
220
267
|
package: '@tangle-network/agent-runtime',
|
|
221
268
|
version: AGENT_RUNTIME_VERSION,
|
|
222
|
-
operation:
|
|
269
|
+
operation: input.operation,
|
|
223
270
|
},
|
|
224
271
|
...(input.provider === undefined ? {} : { provider: input.provider }),
|
|
225
272
|
callId: input.request.callId,
|
|
@@ -245,6 +292,17 @@ function executionEvidence(input) {
|
|
|
245
292
|
durationMs: summary?.durationMs ?? Math.max(0, endedAt - input.startedAt),
|
|
246
293
|
billing: cost,
|
|
247
294
|
dispatched: input.dispatched,
|
|
295
|
+
...(input.controlRef === undefined
|
|
296
|
+
? {}
|
|
297
|
+
: {
|
|
298
|
+
retained: {
|
|
299
|
+
runId: input.controlRef.runId,
|
|
300
|
+
environmentId: input.controlRef.environmentId,
|
|
301
|
+
sessionId: input.controlRef.sessionId,
|
|
302
|
+
executionId: input.controlRef.executionId,
|
|
303
|
+
requestDigest: input.controlRef.requestDigest,
|
|
304
|
+
},
|
|
305
|
+
}),
|
|
248
306
|
...(summary === undefined
|
|
249
307
|
? {}
|
|
250
308
|
: {
|
|
@@ -262,6 +320,9 @@ function executionEvidence(input) {
|
|
|
262
320
|
...(summary.cacheWriteTokens === undefined
|
|
263
321
|
? {}
|
|
264
322
|
: { cacheWriteTokens: summary.cacheWriteTokens }),
|
|
323
|
+
...(summary.reasoningTokens === undefined
|
|
324
|
+
? {}
|
|
325
|
+
: { reasoningTokens: summary.reasoningTokens }),
|
|
265
326
|
...(summary.promptCache === undefined ? {} : { promptCache: summary.promptCache }),
|
|
266
327
|
...(summary.reportedModel === undefined
|
|
267
328
|
? {}
|
|
@@ -315,10 +376,10 @@ function publicError(value) {
|
|
|
315
376
|
function analystCallProfile(options, request, retry) {
|
|
316
377
|
const source = snapshotAgentProfile(options.profile);
|
|
317
378
|
const provider = source.model?.provider?.trim();
|
|
318
|
-
|
|
379
|
+
const bridge = options.connection.kind === 'cli-bridge';
|
|
380
|
+
if (!bridge && !provider) {
|
|
319
381
|
throw new TypeError('Trace analysis requires AgentProfile.model.provider before model execution');
|
|
320
382
|
}
|
|
321
|
-
const bridge = options.connection.kind === 'cli-bridge';
|
|
322
383
|
let harness = 'cli-base';
|
|
323
384
|
let model = safeModelRoute(options.model);
|
|
324
385
|
let prompt;
|
|
@@ -357,7 +418,7 @@ function analystCallProfile(options, request, retry) {
|
|
|
357
418
|
: {}),
|
|
358
419
|
model: {
|
|
359
420
|
default: model,
|
|
360
|
-
provider,
|
|
421
|
+
...(provider === undefined ? {} : { provider }),
|
|
361
422
|
...(reasoningEffort === undefined ? {} : { reasoningEffort }),
|
|
362
423
|
metadata: {
|
|
363
424
|
...(bridge ? {} : { retry }),
|
|
@@ -414,6 +475,8 @@ export function createRuntimeTraceModelOwner(options) {
|
|
|
414
475
|
let dispatched = false;
|
|
415
476
|
let summary;
|
|
416
477
|
let executionProfileDigest = sourceProfileDigest;
|
|
478
|
+
const operation = options.connection.kind === 'cli-bridge' ? 'startRetainedRun' : 'streamAgentTurn';
|
|
479
|
+
let controlRef;
|
|
417
480
|
try {
|
|
418
481
|
const configuredModel = safePublicIdentifier(options.model);
|
|
419
482
|
if (configuredModel === undefined) {
|
|
@@ -425,34 +488,49 @@ export function createRuntimeTraceModelOwner(options) {
|
|
|
425
488
|
const messages = textMessages(request.request);
|
|
426
489
|
const profile = analystCallProfile(options, request.request, retry);
|
|
427
490
|
executionProfileDigest = canonicalAgentProfileDigestHex(profile);
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
491
|
+
if (options.connection.kind === 'cli-bridge') {
|
|
492
|
+
const onRetainedAdmission = options.onRetainedAdmission;
|
|
493
|
+
if (onRetainedAdmission === undefined) {
|
|
494
|
+
throw new TypeError('CLI Bridge trace analysis requires durable admission storage');
|
|
495
|
+
}
|
|
496
|
+
dispatched = true;
|
|
497
|
+
const retained = await runRetainedCliBridgeModelCall({
|
|
498
|
+
baseUrl: options.baseUrl,
|
|
499
|
+
bearerToken: options.credential ?? LOCAL_ROUTER_BEARER,
|
|
500
|
+
profile,
|
|
501
|
+
model: configuredModel,
|
|
502
|
+
messages,
|
|
503
|
+
callId: request.callId,
|
|
504
|
+
signal: request.signal,
|
|
505
|
+
onAdmission: (admission) => onRetainedAdmission(request.callId, admission),
|
|
506
|
+
});
|
|
507
|
+
controlRef = retained.controlRef;
|
|
508
|
+
summary = summarizeRetainedResult(retained.result, configuredModel, startedAt);
|
|
509
|
+
}
|
|
510
|
+
else {
|
|
511
|
+
dispatched = true;
|
|
512
|
+
const { createExecutor, streamAgentTurn } = await import('@tangle-network/agent-runtime/kernel');
|
|
513
|
+
const executor = createExecutor({
|
|
436
514
|
backend: 'router',
|
|
437
515
|
routerBaseUrl: options.baseUrl,
|
|
438
516
|
routerKey: options.credential ?? LOCAL_ROUTER_BEARER,
|
|
439
517
|
...(options.complete === undefined ? {} : { complete: options.complete }),
|
|
440
518
|
});
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
519
|
+
const backend = Object.freeze({
|
|
520
|
+
kind: 'executor',
|
|
521
|
+
factory: executor,
|
|
522
|
+
profile,
|
|
523
|
+
agentRunName: configuredModel,
|
|
524
|
+
});
|
|
525
|
+
for await (const event of streamAgentTurn(backend, { messages }, {
|
|
526
|
+
signal: request.signal,
|
|
527
|
+
callId: request.callId,
|
|
528
|
+
correlationId: `braid-analysis-${request.callId}`,
|
|
529
|
+
})) {
|
|
530
|
+
events.push(event);
|
|
531
|
+
}
|
|
532
|
+
summary = summarizeRuntimeEvents(events, startedAt);
|
|
454
533
|
}
|
|
455
|
-
summary = summarizeRuntimeEvents(events, startedAt);
|
|
456
534
|
const receipt = receiptFor(options.model, pricing, summary);
|
|
457
535
|
const evidence = executionEvidence({
|
|
458
536
|
request,
|
|
@@ -466,6 +544,8 @@ export function createRuntimeTraceModelOwner(options) {
|
|
|
466
544
|
summary,
|
|
467
545
|
dispatched,
|
|
468
546
|
startedAt,
|
|
547
|
+
operation,
|
|
548
|
+
...(controlRef === undefined ? {} : { controlRef }),
|
|
469
549
|
});
|
|
470
550
|
if (summary.status !== 'completed') {
|
|
471
551
|
return {
|
|
@@ -483,6 +563,8 @@ export function createRuntimeTraceModelOwner(options) {
|
|
|
483
563
|
};
|
|
484
564
|
}
|
|
485
565
|
catch (error) {
|
|
566
|
+
if (error instanceof RetainedModelCallError)
|
|
567
|
+
controlRef = error.controlRef;
|
|
486
568
|
const message = publicError(error);
|
|
487
569
|
const receipt = receiptFor(options.model, pricing, summary ?? { inputTokens: 0, outputTokens: 0, usageCaptured: false }, !dispatched);
|
|
488
570
|
return {
|
|
@@ -504,6 +586,8 @@ export function createRuntimeTraceModelOwner(options) {
|
|
|
504
586
|
dispatched,
|
|
505
587
|
...(events.length === 0 ? {} : { partialEvents: events }),
|
|
506
588
|
startedAt,
|
|
589
|
+
operation,
|
|
590
|
+
...(controlRef === undefined ? {} : { controlRef }),
|
|
507
591
|
failure: message,
|
|
508
592
|
}),
|
|
509
593
|
};
|