@tangle-network/braid 0.2.2 → 0.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +256 -152
- package/THIRD_PARTY_LICENSES.json +8 -0
- package/THIRD_PARTY_NOTICES.md +5 -3
- package/dist/adapters/analysis/eval-analyst.d.ts.map +1 -1
- package/dist/adapters/analysis/eval-analyst.js +27 -7
- package/dist/adapters/analysis/eval-analyst.js.map +1 -1
- package/dist/adapters/analysis/managed-analysis-runtime.d.ts +3 -1
- package/dist/adapters/analysis/managed-analysis-runtime.d.ts.map +1 -1
- package/dist/adapters/analysis/managed-analysis-runtime.js +10 -2
- package/dist/adapters/analysis/managed-analysis-runtime.js.map +1 -1
- package/dist/adapters/analysis/python-runner.js +3 -3
- package/dist/adapters/analysis/python-runner.js.map +1 -1
- package/dist/adapters/analysis/question-analyst.d.ts +4 -4
- package/dist/adapters/analysis/question-analyst.d.ts.map +1 -1
- package/dist/adapters/analysis/question-analyst.js +192 -10
- package/dist/adapters/analysis/question-analyst.js.map +1 -1
- package/dist/adapters/analysis/runtime-model-owner.d.ts.map +1 -1
- package/dist/adapters/analysis/runtime-model-owner.js +19 -15
- package/dist/adapters/analysis/runtime-model-owner.js.map +1 -1
- package/dist/adapters/analysis/runtime-retained-model-call.d.ts.map +1 -1
- package/dist/adapters/analysis/runtime-retained-model-call.js +20 -8
- package/dist/adapters/analysis/runtime-retained-model-call.js.map +1 -1
- package/dist/adapters/analysis/trace-analysis-adapter.d.ts.map +1 -1
- package/dist/adapters/analysis/trace-analysis-adapter.js +17 -8
- package/dist/adapters/analysis/trace-analysis-adapter.js.map +1 -1
- package/dist/adapters/connections/aws-nitro-root-g1.d.ts +11 -0
- package/dist/adapters/connections/aws-nitro-root-g1.d.ts.map +1 -0
- package/dist/adapters/connections/aws-nitro-root-g1.js +24 -0
- package/dist/adapters/connections/aws-nitro-root-g1.js.map +1 -0
- package/dist/adapters/connections/cli-bridge-model-validation.d.ts +3 -1
- package/dist/adapters/connections/cli-bridge-model-validation.d.ts.map +1 -1
- package/dist/adapters/connections/cli-bridge-model-validation.js +11 -4
- package/dist/adapters/connections/cli-bridge-model-validation.js.map +1 -1
- package/dist/adapters/connections/nitro-confidential-attestation.d.ts +36 -0
- package/dist/adapters/connections/nitro-confidential-attestation.d.ts.map +1 -0
- package/dist/adapters/connections/nitro-confidential-attestation.js +255 -0
- package/dist/adapters/connections/nitro-confidential-attestation.js.map +1 -0
- package/dist/adapters/connections/production-connection-credentials.d.ts +6 -0
- package/dist/adapters/connections/production-connection-credentials.d.ts.map +1 -1
- package/dist/adapters/connections/production-connection-credentials.js +46 -2
- package/dist/adapters/connections/production-connection-credentials.js.map +1 -1
- package/dist/adapters/connections/production-connection-health.d.ts.map +1 -1
- package/dist/adapters/connections/production-connection-health.js +9 -4
- package/dist/adapters/connections/production-connection-health.js.map +1 -1
- package/dist/adapters/connections/production-connection-providers.d.ts +13 -0
- package/dist/adapters/connections/production-connection-providers.d.ts.map +1 -1
- package/dist/adapters/connections/production-connection-providers.js +59 -3
- package/dist/adapters/connections/production-connection-providers.js.map +1 -1
- package/dist/adapters/connections/production-connection-types.d.ts +10 -3
- package/dist/adapters/connections/production-connection-types.d.ts.map +1 -1
- package/dist/adapters/connections/production-connection-types.js.map +1 -1
- package/dist/adapters/connections/production-connections.d.ts +4 -2
- package/dist/adapters/connections/production-connections.d.ts.map +1 -1
- package/dist/adapters/connections/production-connections.js +2 -1
- package/dist/adapters/connections/production-connections.js.map +1 -1
- package/dist/adapters/connections/tangle-router-client.d.ts +20 -0
- package/dist/adapters/connections/tangle-router-client.d.ts.map +1 -0
- package/dist/adapters/connections/tangle-router-client.js +33 -0
- package/dist/adapters/connections/tangle-router-client.js.map +1 -0
- package/dist/adapters/runtime/abortable.d.ts +3 -0
- package/dist/adapters/runtime/abortable.d.ts.map +1 -0
- package/dist/adapters/runtime/abortable.js +12 -0
- package/dist/adapters/runtime/abortable.js.map +1 -0
- package/dist/adapters/runtime/agent-runtime-execution.d.ts +5 -0
- package/dist/adapters/runtime/agent-runtime-execution.d.ts.map +1 -1
- package/dist/adapters/runtime/agent-runtime-execution.js +75 -23
- package/dist/adapters/runtime/agent-runtime-execution.js.map +1 -1
- package/dist/adapters/runtime/cli-bridge-context-transfer.d.ts +13 -0
- package/dist/adapters/runtime/cli-bridge-context-transfer.d.ts.map +1 -0
- package/dist/adapters/runtime/cli-bridge-context-transfer.js +39 -0
- package/dist/adapters/runtime/cli-bridge-context-transfer.js.map +1 -0
- package/dist/adapters/runtime/cli-bridge-retained-execution.d.ts +3 -1
- package/dist/adapters/runtime/cli-bridge-retained-execution.d.ts.map +1 -1
- package/dist/adapters/runtime/cli-bridge-retained-execution.js +4 -0
- package/dist/adapters/runtime/cli-bridge-retained-execution.js.map +1 -1
- package/dist/adapters/runtime/cli-bridge-retained-run.d.ts.map +1 -1
- package/dist/adapters/runtime/cli-bridge-retained-run.js +28 -6
- package/dist/adapters/runtime/cli-bridge-retained-run.js.map +1 -1
- package/dist/adapters/runtime/lazy-execution.d.ts +49 -0
- package/dist/adapters/runtime/lazy-execution.d.ts.map +1 -0
- package/dist/adapters/runtime/lazy-execution.js +111 -0
- package/dist/adapters/runtime/lazy-execution.js.map +1 -0
- package/dist/adapters/runtime/mode-routing-execution.d.ts +27 -3
- package/dist/adapters/runtime/mode-routing-execution.d.ts.map +1 -1
- package/dist/adapters/runtime/mode-routing-execution.js +25 -0
- package/dist/adapters/runtime/mode-routing-execution.js.map +1 -1
- package/dist/adapters/runtime/native-interactive-run-broker.d.ts.map +1 -1
- package/dist/adapters/runtime/native-interactive-run-broker.js +1 -10
- package/dist/adapters/runtime/native-interactive-run-broker.js.map +1 -1
- package/dist/adapters/runtime/prepared-execution.d.ts +2 -2
- package/dist/adapters/runtime/prepared-execution.d.ts.map +1 -1
- package/dist/adapters/runtime/production-backend-common.d.ts +3 -1
- package/dist/adapters/runtime/production-backend-common.d.ts.map +1 -1
- package/dist/adapters/runtime/production-backend-common.js +7 -0
- package/dist/adapters/runtime/production-backend-common.js.map +1 -1
- package/dist/adapters/runtime/production-cli-bridge-backend.d.ts +9 -0
- package/dist/adapters/runtime/production-cli-bridge-backend.d.ts.map +1 -1
- package/dist/adapters/runtime/production-cli-bridge-backend.js +61 -27
- package/dist/adapters/runtime/production-cli-bridge-backend.js.map +1 -1
- package/dist/adapters/runtime/production-tangle-inference-backend.d.ts.map +1 -1
- package/dist/adapters/runtime/production-tangle-inference-backend.js +3 -2
- package/dist/adapters/runtime/production-tangle-inference-backend.js.map +1 -1
- package/dist/adapters/runtime/production-tangle-sandbox-backend.d.ts +8 -2
- package/dist/adapters/runtime/production-tangle-sandbox-backend.d.ts.map +1 -1
- package/dist/adapters/runtime/production-tangle-sandbox-backend.js +78 -12
- package/dist/adapters/runtime/production-tangle-sandbox-backend.js.map +1 -1
- package/dist/adapters/runtime/retained-execution-contract.d.ts +8 -4
- package/dist/adapters/runtime/retained-execution-contract.d.ts.map +1 -1
- package/dist/adapters/runtime/retained-execution-projection.d.ts +5 -5
- package/dist/adapters/runtime/retained-execution-projection.d.ts.map +1 -1
- package/dist/adapters/runtime/retained-execution-projection.js +8 -3
- package/dist/adapters/runtime/retained-execution-projection.js.map +1 -1
- package/dist/adapters/runtime/retained-execution-state.d.ts.map +1 -1
- package/dist/adapters/runtime/retained-execution-state.js +5 -0
- package/dist/adapters/runtime/retained-execution-state.js.map +1 -1
- package/dist/adapters/runtime/retained-execution-stream.d.ts +6 -1
- package/dist/adapters/runtime/retained-execution-stream.d.ts.map +1 -1
- package/dist/adapters/runtime/retained-execution-stream.js +47 -10
- package/dist/adapters/runtime/retained-execution-stream.js.map +1 -1
- package/dist/adapters/runtime/retained-execution.d.ts +24 -0
- package/dist/adapters/runtime/retained-execution.d.ts.map +1 -1
- package/dist/adapters/runtime/retained-execution.js +102 -20
- package/dist/adapters/runtime/retained-execution.js.map +1 -1
- package/dist/adapters/runtime/retained-native-continuation.d.ts +14 -0
- package/dist/adapters/runtime/retained-native-continuation.d.ts.map +1 -0
- package/dist/adapters/runtime/retained-native-continuation.js +110 -0
- package/dist/adapters/runtime/retained-native-continuation.js.map +1 -0
- package/dist/adapters/runtime/supervisor-control.d.ts +39 -11
- package/dist/adapters/runtime/supervisor-control.d.ts.map +1 -1
- package/dist/adapters/runtime/supervisor-control.js +115 -25
- package/dist/adapters/runtime/supervisor-control.js.map +1 -1
- package/dist/adapters/runtime/tangle-retained-execution.d.ts +5 -1
- package/dist/adapters/runtime/tangle-retained-execution.d.ts.map +1 -1
- package/dist/adapters/runtime/tangle-retained-execution.js +8 -1
- package/dist/adapters/runtime/tangle-retained-execution.js.map +1 -1
- package/dist/adapters/runtime/tangle-retained-interactive-contract.d.ts +2 -0
- package/dist/adapters/runtime/tangle-retained-interactive-contract.d.ts.map +1 -1
- package/dist/adapters/runtime/tangle-retained-interactive-contract.js +9 -0
- package/dist/adapters/runtime/tangle-retained-interactive-contract.js.map +1 -1
- package/dist/adapters/runtime/tangle-retained-interactive-execution.d.ts +5 -1
- package/dist/adapters/runtime/tangle-retained-interactive-execution.d.ts.map +1 -1
- package/dist/adapters/runtime/tangle-retained-interactive-execution.js +20 -3
- package/dist/adapters/runtime/tangle-retained-interactive-execution.js.map +1 -1
- package/dist/adapters/runtime/tangle-retained-run.d.ts +4 -2
- package/dist/adapters/runtime/tangle-retained-run.d.ts.map +1 -1
- package/dist/adapters/runtime/tangle-retained-run.js +110 -13
- package/dist/adapters/runtime/tangle-retained-run.js.map +1 -1
- package/dist/adapters/storage/sqlite-crypto.d.ts.map +1 -1
- package/dist/adapters/storage/sqlite-crypto.js +9 -1
- package/dist/adapters/storage/sqlite-crypto.js.map +1 -1
- package/dist/adapters/storage/storage-validation.d.ts +1 -1
- package/dist/adapters/storage/storage-validation.d.ts.map +1 -1
- package/dist/adapters/storage/storage-validation.js +2 -1
- package/dist/adapters/storage/storage-validation.js.map +1 -1
- package/dist/adapters/tui/application-ui-controller.d.ts.map +1 -1
- package/dist/adapters/tui/application-ui-controller.js +38 -5
- package/dist/adapters/tui/application-ui-controller.js.map +1 -1
- package/dist/adapters/tui/ui-capabilities.d.ts +2 -1
- package/dist/adapters/tui/ui-capabilities.d.ts.map +1 -1
- package/dist/adapters/tui/ui-capabilities.js +79 -31
- package/dist/adapters/tui/ui-capabilities.js.map +1 -1
- package/dist/adapters/tui/ui-command-dispatch.d.ts.map +1 -1
- package/dist/adapters/tui/ui-command-dispatch.js +15 -5
- package/dist/adapters/tui/ui-command-dispatch.js.map +1 -1
- package/dist/adapters/tui/ui-conversation-dispatch.d.ts +1 -1
- package/dist/adapters/tui/ui-conversation-dispatch.d.ts.map +1 -1
- package/dist/adapters/tui/ui-conversation-dispatch.js +83 -7
- package/dist/adapters/tui/ui-conversation-dispatch.js.map +1 -1
- package/dist/adapters/tui/ui-core-dispatch.d.ts.map +1 -1
- package/dist/adapters/tui/ui-core-dispatch.js +28 -4
- package/dist/adapters/tui/ui-core-dispatch.js.map +1 -1
- package/dist/adapters/tui/ui-entity-details.d.ts.map +1 -1
- package/dist/adapters/tui/ui-entity-details.js +26 -4
- package/dist/adapters/tui/ui-entity-details.js.map +1 -1
- package/dist/adapters/tui/ui-fixtures.d.ts +1 -1
- package/dist/adapters/tui/ui-fixtures.d.ts.map +1 -1
- package/dist/adapters/tui/ui-fixtures.js +41 -11
- package/dist/adapters/tui/ui-fixtures.js.map +1 -1
- package/dist/adapters/tui/ui-headless-dispatch.d.ts.map +1 -1
- package/dist/adapters/tui/ui-headless-dispatch.js +25 -7
- package/dist/adapters/tui/ui-headless-dispatch.js.map +1 -1
- package/dist/adapters/tui/ui-intelligence-dispatch.d.ts +2 -0
- package/dist/adapters/tui/ui-intelligence-dispatch.d.ts.map +1 -1
- package/dist/adapters/tui/ui-intelligence-dispatch.js +124 -26
- package/dist/adapters/tui/ui-intelligence-dispatch.js.map +1 -1
- package/dist/adapters/tui/ui-projection.d.ts +4 -2
- package/dist/adapters/tui/ui-projection.d.ts.map +1 -1
- package/dist/adapters/tui/ui-projection.js +94 -26
- package/dist/adapters/tui/ui-projection.js.map +1 -1
- package/dist/adapters/tui/ui-semantic-state.d.ts.map +1 -1
- package/dist/adapters/tui/ui-semantic-state.js +78 -21
- package/dist/adapters/tui/ui-semantic-state.js.map +1 -1
- package/dist/adapters/tui/ui-view-model.d.ts +1 -1
- package/dist/adapters/tui/ui-view-model.d.ts.map +1 -1
- package/dist/adapters/tui/ui-view-model.js +48 -6
- package/dist/adapters/tui/ui-view-model.js.map +1 -1
- package/dist/app/analysis-lifecycle.d.ts +3 -1
- package/dist/app/analysis-lifecycle.d.ts.map +1 -1
- package/dist/app/analysis-lifecycle.js +64 -2
- package/dist/app/analysis-lifecycle.js.map +1 -1
- package/dist/app/analysis-service.d.ts.map +1 -1
- package/dist/app/analysis-service.js +3 -2
- package/dist/app/analysis-service.js.map +1 -1
- package/dist/app/analysis-types.d.ts +2 -1
- package/dist/app/analysis-types.d.ts.map +1 -1
- package/dist/app/analysis-types.js.map +1 -1
- package/dist/app/application-interaction-actions.d.ts +6 -1
- package/dist/app/application-interaction-actions.d.ts.map +1 -1
- package/dist/app/application-interaction-actions.js +23 -9
- package/dist/app/application-interaction-actions.js.map +1 -1
- package/dist/app/application-lifecycle.d.ts +1 -0
- package/dist/app/application-lifecycle.d.ts.map +1 -1
- package/dist/app/application-lifecycle.js +2 -1
- package/dist/app/application-lifecycle.js.map +1 -1
- package/dist/app/application-options.d.ts +3 -1
- package/dist/app/application-options.d.ts.map +1 -1
- package/dist/app/application-port-builder.d.ts +1 -0
- package/dist/app/application-port-builder.d.ts.map +1 -1
- package/dist/app/application-port-builder.js +10 -1
- package/dist/app/application-port-builder.js.map +1 -1
- package/dist/app/application-port-runtime.d.ts +1 -0
- package/dist/app/application-port-runtime.d.ts.map +1 -1
- package/dist/app/application-port-runtime.js +1 -0
- package/dist/app/application-port-runtime.js.map +1 -1
- package/dist/app/application-ports.d.ts +18 -4
- package/dist/app/application-ports.d.ts.map +1 -1
- package/dist/app/application-runtime-wiring.d.ts.map +1 -1
- package/dist/app/application-runtime-wiring.js +23 -1
- package/dist/app/application-runtime-wiring.js.map +1 -1
- package/dist/app/application-support.d.ts +2 -1
- package/dist/app/application-support.d.ts.map +1 -1
- package/dist/app/application-support.js +29 -8
- package/dist/app/application-support.js.map +1 -1
- package/dist/app/application-transition.d.ts.map +1 -1
- package/dist/app/application-transition.js +9 -6
- package/dist/app/application-transition.js.map +1 -1
- package/dist/app/application-types.d.ts +6 -0
- package/dist/app/application-types.d.ts.map +1 -1
- package/dist/app/application.d.ts +7 -2
- package/dist/app/application.d.ts.map +1 -1
- package/dist/app/application.js +121 -12
- package/dist/app/application.js.map +1 -1
- package/dist/app/automation-actions.d.ts +7 -2
- package/dist/app/automation-actions.d.ts.map +1 -1
- package/dist/app/automation-actions.js +24 -19
- package/dist/app/automation-actions.js.map +1 -1
- package/dist/app/composition-options.d.ts +27 -0
- package/dist/app/composition-options.d.ts.map +1 -0
- package/dist/app/composition-options.js +2 -0
- package/dist/app/composition-options.js.map +1 -0
- package/dist/app/composition.d.ts +4 -58
- package/dist/app/composition.d.ts.map +1 -1
- package/dist/app/composition.js +14 -108
- package/dist/app/composition.js.map +1 -1
- package/dist/app/confidential-workspace-fork.d.ts +7 -0
- package/dist/app/confidential-workspace-fork.d.ts.map +1 -0
- package/dist/app/confidential-workspace-fork.js +26 -0
- package/dist/app/confidential-workspace-fork.js.map +1 -0
- package/dist/app/configuration-session.d.ts +9 -3
- package/dist/app/configuration-session.d.ts.map +1 -1
- package/dist/app/configuration-session.js +44 -2
- package/dist/app/configuration-session.js.map +1 -1
- package/dist/app/connection-errors.d.ts +1 -1
- package/dist/app/connection-errors.d.ts.map +1 -1
- package/dist/app/connection-errors.js.map +1 -1
- package/dist/app/connections.d.ts.map +1 -1
- package/dist/app/connections.js +21 -0
- package/dist/app/connections.js.map +1 -1
- package/dist/app/conversation-branch-effects.d.ts +12 -0
- package/dist/app/conversation-branch-effects.d.ts.map +1 -0
- package/dist/app/conversation-branch-effects.js +820 -0
- package/dist/app/conversation-branch-effects.js.map +1 -0
- package/dist/app/conversation-branches.d.ts +1 -0
- package/dist/app/conversation-branches.d.ts.map +1 -1
- package/dist/app/conversation-branches.js +171 -26
- package/dist/app/conversation-branches.js.map +1 -1
- package/dist/app/conversation-composition.d.ts +4 -0
- package/dist/app/conversation-composition.d.ts.map +1 -1
- package/dist/app/conversation-composition.js +3 -0
- package/dist/app/conversation-composition.js.map +1 -1
- package/dist/app/conversation-context.d.ts +17 -0
- package/dist/app/conversation-context.d.ts.map +1 -1
- package/dist/app/conversation-context.js +299 -0
- package/dist/app/conversation-context.js.map +1 -1
- package/dist/app/conversation-import-builder.d.ts.map +1 -1
- package/dist/app/conversation-import-builder.js +1 -2
- package/dist/app/conversation-import-builder.js.map +1 -1
- package/dist/app/conversation-lifecycle.d.ts.map +1 -1
- package/dist/app/conversation-lifecycle.js +1 -3
- package/dist/app/conversation-lifecycle.js.map +1 -1
- package/dist/app/conversation-support.d.ts +0 -1
- package/dist/app/conversation-support.d.ts.map +1 -1
- package/dist/app/conversation-support.js +0 -5
- package/dist/app/conversation-support.js.map +1 -1
- package/dist/app/conversation-types.d.ts +36 -3
- package/dist/app/conversation-types.d.ts.map +1 -1
- package/dist/app/conversations.d.ts +1 -1
- package/dist/app/conversations.d.ts.map +1 -1
- package/dist/app/default-profiles.d.ts +4 -0
- package/dist/app/default-profiles.d.ts.map +1 -0
- package/dist/app/default-profiles.js +16 -0
- package/dist/app/default-profiles.js.map +1 -0
- package/dist/app/durable-send.d.ts +1 -1
- package/dist/app/durable-send.d.ts.map +1 -1
- package/dist/app/durable-send.js +18 -11
- package/dist/app/durable-send.js.map +1 -1
- package/dist/app/interaction-controller.d.ts.map +1 -1
- package/dist/app/interaction-controller.js +78 -39
- package/dist/app/interaction-controller.js.map +1 -1
- package/dist/app/interaction-response-replay.d.ts +9 -2
- package/dist/app/interaction-response-replay.d.ts.map +1 -1
- package/dist/app/interaction-response-replay.js +11 -4
- package/dist/app/interaction-response-replay.js.map +1 -1
- package/dist/app/legacy-cancel.js +1 -1
- package/dist/app/legacy-cancel.js.map +1 -1
- package/dist/app/production-composition.d.ts +6 -1
- package/dist/app/production-composition.d.ts.map +1 -1
- package/dist/app/production-composition.js +77 -4
- package/dist/app/production-composition.js.map +1 -1
- package/dist/app/profile-selection.d.ts.map +1 -1
- package/dist/app/profile-selection.js +12 -2
- package/dist/app/profile-selection.js.map +1 -1
- package/dist/app/provider-values.d.ts.map +1 -1
- package/dist/app/provider-values.js +16 -3
- package/dist/app/provider-values.js.map +1 -1
- package/dist/app/run-admission-context.d.ts +3 -0
- package/dist/app/run-admission-context.d.ts.map +1 -0
- package/dist/app/run-admission-context.js +74 -0
- package/dist/app/run-admission-context.js.map +1 -0
- package/dist/app/run-admission-continuation.d.ts +1 -0
- package/dist/app/run-admission-continuation.d.ts.map +1 -1
- package/dist/app/run-admission-continuation.js +26 -14
- package/dist/app/run-admission-continuation.js.map +1 -1
- package/dist/app/run-admission-dispatch.d.ts.map +1 -1
- package/dist/app/run-admission-dispatch.js +60 -16
- package/dist/app/run-admission-dispatch.js.map +1 -1
- package/dist/app/run-admission-receipt.d.ts.map +1 -1
- package/dist/app/run-admission-receipt.js +8 -2
- package/dist/app/run-admission-receipt.js.map +1 -1
- package/dist/app/run-admission-request.d.ts.map +1 -1
- package/dist/app/run-admission-request.js +19 -0
- package/dist/app/run-admission-request.js.map +1 -1
- package/dist/app/run-admission-validation.d.ts +3 -3
- package/dist/app/run-admission-validation.d.ts.map +1 -1
- package/dist/app/run-admission-validation.js +33 -30
- package/dist/app/run-admission-validation.js.map +1 -1
- package/dist/app/run-continuation.d.ts +10 -7
- package/dist/app/run-continuation.d.ts.map +1 -1
- package/dist/app/run-continuation.js +31 -17
- package/dist/app/run-continuation.js.map +1 -1
- package/dist/app/run-controls.d.ts.map +1 -1
- package/dist/app/run-controls.js +21 -13
- package/dist/app/run-controls.js.map +1 -1
- package/dist/app/run-event-mapper.d.ts +7 -1
- package/dist/app/run-event-mapper.d.ts.map +1 -1
- package/dist/app/run-event-mapper.js +31 -15
- package/dist/app/run-event-mapper.js.map +1 -1
- package/dist/app/run-execution-snapshot.d.ts +8 -2
- package/dist/app/run-execution-snapshot.d.ts.map +1 -1
- package/dist/app/run-execution-snapshot.js +13 -1
- package/dist/app/run-execution-snapshot.js.map +1 -1
- package/dist/app/run-execution.d.ts.map +1 -1
- package/dist/app/run-execution.js +78 -12
- package/dist/app/run-execution.js.map +1 -1
- package/dist/app/run-final-recovery.d.ts +34 -0
- package/dist/app/run-final-recovery.d.ts.map +1 -0
- package/dist/app/run-final-recovery.js +132 -0
- package/dist/app/run-final-recovery.js.map +1 -0
- package/dist/app/run-ingestion.js +26 -7
- package/dist/app/run-ingestion.js.map +1 -1
- package/dist/app/run-ledger.d.ts +1 -1
- package/dist/app/run-ledger.d.ts.map +1 -1
- package/dist/app/run-ledger.js +2 -4
- package/dist/app/run-ledger.js.map +1 -1
- package/dist/app/run-recovery-context.d.ts.map +1 -1
- package/dist/app/run-recovery-context.js +8 -1
- package/dist/app/run-recovery-context.js.map +1 -1
- package/dist/app/run-replay.d.ts +5 -2
- package/dist/app/run-replay.d.ts.map +1 -1
- package/dist/app/run-replay.js +23 -7
- package/dist/app/run-replay.js.map +1 -1
- package/dist/app/run-status.d.ts +9 -1
- package/dist/app/run-status.d.ts.map +1 -1
- package/dist/app/run-status.js +61 -10
- package/dist/app/run-status.js.map +1 -1
- package/dist/app/run-stream-sanitizer.d.ts +21 -0
- package/dist/app/run-stream-sanitizer.d.ts.map +1 -0
- package/dist/app/run-stream-sanitizer.js +73 -0
- package/dist/app/run-stream-sanitizer.js.map +1 -0
- package/dist/app/shutdown-controller.d.ts +1 -1
- package/dist/app/shutdown-controller.d.ts.map +1 -1
- package/dist/app/shutdown-controller.js +25 -15
- package/dist/app/shutdown-controller.js.map +1 -1
- package/dist/app/storage-journal-support.d.ts +1 -1
- package/dist/app/storage-journal-support.d.ts.map +1 -1
- package/dist/app/storage-journal-support.js +8 -2
- package/dist/app/storage-journal-support.js.map +1 -1
- package/dist/app/supervisor-projection.d.ts +8 -0
- package/dist/app/supervisor-projection.d.ts.map +1 -1
- package/dist/app/supervisor-projection.js +14 -0
- package/dist/app/supervisor-projection.js.map +1 -1
- package/dist/app/supervisor-service.d.ts +6 -5
- package/dist/app/supervisor-service.d.ts.map +1 -1
- package/dist/app/supervisor-service.js +10 -6
- package/dist/app/supervisor-service.js.map +1 -1
- package/dist/app/workspace-request.d.ts +3 -0
- package/dist/app/workspace-request.d.ts.map +1 -0
- package/dist/app/workspace-request.js +2 -0
- package/dist/app/workspace-request.js.map +1 -0
- package/dist/bin/args.d.ts +1 -1
- package/dist/bin/args.d.ts.map +1 -1
- package/dist/bin/args.js +4 -2
- package/dist/bin/args.js.map +1 -1
- package/dist/bin/braid-runtime.d.ts.map +1 -1
- package/dist/bin/braid-runtime.js +3 -17
- package/dist/bin/braid-runtime.js.map +1 -1
- package/dist/bin/fixture-application.d.ts +9 -0
- package/dist/bin/fixture-application.d.ts.map +1 -0
- package/dist/bin/fixture-application.js +36 -0
- package/dist/bin/fixture-application.js.map +1 -0
- package/dist/bin/interface-runner.d.ts.map +1 -1
- package/dist/bin/interface-runner.js +3 -0
- package/dist/bin/interface-runner.js.map +1 -1
- package/dist/bin/interface-state-recorder.d.ts.map +1 -1
- package/dist/bin/interface-state-recorder.js +6 -2
- package/dist/bin/interface-state-recorder.js.map +1 -1
- package/dist/bin/native-interactive-actions.d.ts +1 -1
- package/dist/bin/native-interactive-actions.d.ts.map +1 -1
- package/dist/bin/native-interactive-actions.js +123 -24
- package/dist/bin/native-interactive-actions.js.map +1 -1
- package/dist/bin/production-application.d.ts.map +1 -1
- package/dist/bin/production-application.js +3 -0
- package/dist/bin/production-application.js.map +1 -1
- package/dist/bin/production-setup-credentials.d.ts.map +1 -1
- package/dist/bin/production-setup-credentials.js +6 -2
- package/dist/bin/production-setup-credentials.js.map +1 -1
- package/dist/bin/production-setup-discovery.d.ts.map +1 -1
- package/dist/bin/production-setup-discovery.js +3 -0
- package/dist/bin/production-setup-discovery.js.map +1 -1
- package/dist/bin/production-setup-persistence.d.ts.map +1 -1
- package/dist/bin/production-setup-persistence.js +4 -0
- package/dist/bin/production-setup-persistence.js.map +1 -1
- package/dist/bin/production-setup-types.d.ts +5 -0
- package/dist/bin/production-setup-types.d.ts.map +1 -1
- package/dist/bin/production-setup-validation.d.ts.map +1 -1
- package/dist/bin/production-setup-validation.js +19 -1
- package/dist/bin/production-setup-validation.js.map +1 -1
- package/dist/bin/production-startup.d.ts +2 -0
- package/dist/bin/production-startup.d.ts.map +1 -1
- package/dist/bin/production-startup.js +19 -0
- package/dist/bin/production-startup.js.map +1 -1
- package/dist/domain/bounded-structured.d.ts.map +1 -1
- package/dist/domain/bounded-structured.js +19 -0
- package/dist/domain/bounded-structured.js.map +1 -1
- package/dist/domain/connection-removal.d.ts +1 -1
- package/dist/domain/connection-removal.d.ts.map +1 -1
- package/dist/domain/connection-removal.js +3 -2
- package/dist/domain/connection-removal.js.map +1 -1
- package/dist/domain/entities-core.d.ts +19 -1
- package/dist/domain/entities-core.d.ts.map +1 -1
- package/dist/domain/entities-core.js +2 -0
- package/dist/domain/entities-core.js.map +1 -1
- package/dist/domain/entities-interactions.d.ts +9 -0
- package/dist/domain/entities-interactions.d.ts.map +1 -1
- package/dist/domain/events-legacy.d.ts +5 -0
- package/dist/domain/events-legacy.d.ts.map +1 -1
- package/dist/domain/events.d.ts +15 -0
- package/dist/domain/events.d.ts.map +1 -1
- package/dist/domain/events.js +13 -2
- package/dist/domain/events.js.map +1 -1
- package/dist/domain/interaction-identity.d.ts +4 -0
- package/dist/domain/interaction-identity.d.ts.map +1 -0
- package/dist/domain/interaction-identity.js +7 -0
- package/dist/domain/interaction-identity.js.map +1 -0
- package/dist/domain/invariants-base.d.ts +7 -0
- package/dist/domain/invariants-base.d.ts.map +1 -1
- package/dist/domain/invariants-base.js +106 -0
- package/dist/domain/invariants-base.js.map +1 -1
- package/dist/domain/invariants-profile.d.ts.map +1 -1
- package/dist/domain/invariants-profile.js +73 -1
- package/dist/domain/invariants-profile.js.map +1 -1
- package/dist/domain/invariants-retained-admission.d.ts +1 -0
- package/dist/domain/invariants-retained-admission.d.ts.map +1 -1
- package/dist/domain/invariants-retained-admission.js +12 -1
- package/dist/domain/invariants-retained-admission.js.map +1 -1
- package/dist/domain/invariants-run.d.ts.map +1 -1
- package/dist/domain/invariants-run.js +32 -4
- package/dist/domain/invariants-run.js.map +1 -1
- package/dist/domain/invariants-state.d.ts +1 -1
- package/dist/domain/invariants-state.d.ts.map +1 -1
- package/dist/domain/invariants-state.js +26 -0
- package/dist/domain/invariants-state.js.map +1 -1
- package/dist/domain/legacy-interaction-snapshot.d.ts.map +1 -1
- package/dist/domain/legacy-interaction-snapshot.js +95 -29
- package/dist/domain/legacy-interaction-snapshot.js.map +1 -1
- package/dist/domain/materialized-state-snapshot.d.ts.map +1 -1
- package/dist/domain/materialized-state-snapshot.js +33 -4
- package/dist/domain/materialized-state-snapshot.js.map +1 -1
- package/dist/domain/materialized-state.d.ts +5 -0
- package/dist/domain/materialized-state.d.ts.map +1 -1
- package/dist/domain/receipts.d.ts +3 -0
- package/dist/domain/receipts.d.ts.map +1 -1
- package/dist/domain/receipts.js +6 -0
- package/dist/domain/receipts.js.map +1 -1
- package/dist/domain/redaction.d.ts +1 -0
- package/dist/domain/redaction.d.ts.map +1 -1
- package/dist/domain/redaction.js +43 -2
- package/dist/domain/redaction.js.map +1 -1
- package/dist/domain/reducer-conversation-events.d.ts +1 -1
- package/dist/domain/reducer-conversation-events.d.ts.map +1 -1
- package/dist/domain/reducer-conversation-events.js +9 -6
- package/dist/domain/reducer-conversation-events.js.map +1 -1
- package/dist/domain/reducer-domain-events.d.ts +1 -1
- package/dist/domain/reducer-domain-events.d.ts.map +1 -1
- package/dist/domain/reducer-domain-events.js +30 -0
- package/dist/domain/reducer-domain-events.js.map +1 -1
- package/dist/domain/reducer-helpers.d.ts +6 -3
- package/dist/domain/reducer-helpers.d.ts.map +1 -1
- package/dist/domain/reducer-helpers.js +9 -9
- package/dist/domain/reducer-helpers.js.map +1 -1
- package/dist/domain/reducer-interactions.d.ts.map +1 -1
- package/dist/domain/reducer-interactions.js +31 -16
- package/dist/domain/reducer-interactions.js.map +1 -1
- package/dist/domain/reducer-legacy.d.ts +1 -1
- package/dist/domain/reducer-legacy.d.ts.map +1 -1
- package/dist/domain/reducer-legacy.js +8 -4
- package/dist/domain/reducer-legacy.js.map +1 -1
- package/dist/domain/reducer-lifecycle.d.ts +1 -1
- package/dist/domain/reducer-lifecycle.d.ts.map +1 -1
- package/dist/domain/reducer-lifecycle.js +35 -30
- package/dist/domain/reducer-lifecycle.js.map +1 -1
- package/dist/domain/reducer-replay.d.ts.map +1 -1
- package/dist/domain/reducer-replay.js +4 -4
- package/dist/domain/reducer-replay.js.map +1 -1
- package/dist/domain/reducer-run-graph.d.ts.map +1 -1
- package/dist/domain/reducer-run-graph.js +2 -1
- package/dist/domain/reducer-run-graph.js.map +1 -1
- package/dist/domain/reducer-runtime.d.ts.map +1 -1
- package/dist/domain/reducer-runtime.js +22 -11
- package/dist/domain/reducer-runtime.js.map +1 -1
- package/dist/domain/reducer-support.js +1 -1
- package/dist/domain/reducer-support.js.map +1 -1
- package/dist/domain/run-contracts.d.ts +5 -9
- package/dist/domain/run-contracts.d.ts.map +1 -1
- package/dist/domain/runtime-projection.d.ts +5 -0
- package/dist/domain/runtime-projection.d.ts.map +1 -1
- package/dist/domain/runtime-projection.js.map +1 -1
- package/dist/domain/secret-sanitizer.d.ts +14 -0
- package/dist/domain/secret-sanitizer.d.ts.map +1 -1
- package/dist/domain/secret-sanitizer.js +93 -11
- package/dist/domain/secret-sanitizer.js.map +1 -1
- package/dist/domain/state.d.ts +23 -1
- package/dist/domain/state.d.ts.map +1 -1
- package/dist/domain/state.js +60 -0
- package/dist/domain/state.js.map +1 -1
- package/dist/domain/terminal-sanitizer.d.ts +1 -0
- package/dist/domain/terminal-sanitizer.d.ts.map +1 -1
- package/dist/domain/terminal-sanitizer.js +35 -10
- package/dist/domain/terminal-sanitizer.js.map +1 -1
- package/dist/domain/workspace-request.d.ts +11 -0
- package/dist/domain/workspace-request.d.ts.map +1 -0
- package/dist/domain/workspace-request.js +86 -0
- package/dist/domain/workspace-request.js.map +1 -0
- package/dist/eval/execution.d.ts +1 -1
- package/dist/eval/execution.d.ts.map +1 -1
- package/dist/eval/execution.js +6 -2
- package/dist/eval/execution.js.map +1 -1
- package/dist/eval/product-path.d.ts.map +1 -1
- package/dist/eval/product-path.js +4 -2
- package/dist/eval/product-path.js.map +1 -1
- package/dist/index.d.ts +6 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/ports/execution.d.ts +44 -6
- package/dist/ports/execution.d.ts.map +1 -1
- package/dist/ports/execution.js +10 -0
- package/dist/ports/execution.js.map +1 -1
- package/dist/startup/durable-runtime.d.ts +36 -1
- package/dist/startup/durable-runtime.d.ts.map +1 -1
- package/dist/startup/durable-runtime.js +135 -1
- package/dist/startup/durable-runtime.js.map +1 -1
- package/dist/testing/supervision-fixture.d.ts +32 -0
- package/dist/testing/supervision-fixture.d.ts.map +1 -0
- package/dist/testing/supervision-fixture.js +115 -0
- package/dist/testing/supervision-fixture.js.map +1 -0
- package/dist/testing/supervision-ui-fixture.d.ts +4 -0
- package/dist/testing/supervision-ui-fixture.d.ts.map +1 -0
- package/dist/testing/supervision-ui-fixture.js +74 -0
- package/dist/testing/supervision-ui-fixture.js.map +1 -0
- package/dist/version.d.ts.map +1 -1
- package/dist/version.js +3 -1
- package/dist/version.js.map +1 -1
- package/dist/views/headless/protocol.d.ts +1 -1
- package/dist/views/headless/protocol.d.ts.map +1 -1
- package/dist/views/headless/rpc-parser.d.ts.map +1 -1
- package/dist/views/headless/rpc-parser.js +57 -5
- package/dist/views/headless/rpc-parser.js.map +1 -1
- package/dist/views/headless/rpc.d.ts.map +1 -1
- package/dist/views/headless/rpc.js +28 -14
- package/dist/views/headless/rpc.js.map +1 -1
- package/dist/views/shared/analysis-presentation.d.ts.map +1 -1
- package/dist/views/shared/analysis-presentation.js +42 -4
- package/dist/views/shared/analysis-presentation.js.map +1 -1
- package/dist/views/shared/command-registry.js +5 -5
- package/dist/views/shared/command-registry.js.map +1 -1
- package/dist/views/shared/duration.d.ts.map +1 -1
- package/dist/views/shared/duration.js +3 -1
- package/dist/views/shared/duration.js.map +1 -1
- package/dist/views/shared/headless-commands.d.ts +1 -1
- package/dist/views/shared/headless-commands.d.ts.map +1 -1
- package/dist/views/shared/headless-commands.js +13 -2
- package/dist/views/shared/headless-commands.js.map +1 -1
- package/dist/views/shared/intents.d.ts +6 -0
- package/dist/views/shared/intents.d.ts.map +1 -1
- package/dist/views/shared/models.d.ts +54 -0
- package/dist/views/shared/models.d.ts.map +1 -1
- package/dist/views/shared/models.js.map +1 -1
- package/dist/views/shared/native-interactive-actions.d.ts +19 -0
- package/dist/views/shared/native-interactive-actions.d.ts.map +1 -1
- package/dist/views/shared/run-selection.d.ts +11 -0
- package/dist/views/shared/run-selection.d.ts.map +1 -0
- package/dist/views/shared/run-selection.js +26 -0
- package/dist/views/shared/run-selection.js.map +1 -0
- package/dist/views/shared/semantic-activity.d.ts.map +1 -1
- package/dist/views/shared/semantic-activity.js +4 -1
- package/dist/views/shared/semantic-activity.js.map +1 -1
- package/dist/views/shared/semantic-projection.d.ts.map +1 -1
- package/dist/views/shared/semantic-projection.js +146 -1
- package/dist/views/shared/semantic-projection.js.map +1 -1
- package/dist/views/tui/activity-browser.d.ts +6 -2
- package/dist/views/tui/activity-browser.d.ts.map +1 -1
- package/dist/views/tui/activity-browser.js +50 -5
- package/dist/views/tui/activity-browser.js.map +1 -1
- package/dist/views/tui/command-palette.d.ts.map +1 -1
- package/dist/views/tui/command-palette.js +1 -0
- package/dist/views/tui/command-palette.js.map +1 -1
- package/dist/views/tui/configuration-wizard-presentation.d.ts +2 -1
- package/dist/views/tui/configuration-wizard-presentation.d.ts.map +1 -1
- package/dist/views/tui/configuration-wizard-presentation.js +45 -4
- package/dist/views/tui/configuration-wizard-presentation.js.map +1 -1
- package/dist/views/tui/configuration-wizard.d.ts.map +1 -1
- package/dist/views/tui/configuration-wizard.js +60 -65
- package/dist/views/tui/configuration-wizard.js.map +1 -1
- package/dist/views/tui/conversation-overlay-actions.d.ts.map +1 -1
- package/dist/views/tui/conversation-overlay-actions.js +8 -0
- package/dist/views/tui/conversation-overlay-actions.js.map +1 -1
- package/dist/views/tui/conversation-overlay-helpers.d.ts +0 -1
- package/dist/views/tui/conversation-overlay-helpers.d.ts.map +1 -1
- package/dist/views/tui/conversation-overlay-helpers.js +2 -5
- package/dist/views/tui/conversation-overlay-helpers.js.map +1 -1
- package/dist/views/tui/entity-browser-layout.js +9 -4
- package/dist/views/tui/entity-browser-layout.js.map +1 -1
- package/dist/views/tui/entity-browser.d.ts +2 -0
- package/dist/views/tui/entity-browser.d.ts.map +1 -1
- package/dist/views/tui/entity-browser.js +5 -0
- package/dist/views/tui/entity-browser.js.map +1 -1
- package/dist/views/tui/execution-target.d.ts.map +1 -1
- package/dist/views/tui/execution-target.js +6 -3
- package/dist/views/tui/execution-target.js.map +1 -1
- package/dist/views/tui/fork-preview.d.ts.map +1 -1
- package/dist/views/tui/fork-preview.js +10 -0
- package/dist/views/tui/fork-preview.js.map +1 -1
- package/dist/views/tui/profile-compatibility.js +2 -2
- package/dist/views/tui/profile-compatibility.js.map +1 -1
- package/dist/views/tui/selector.d.ts +10 -0
- package/dist/views/tui/selector.d.ts.map +1 -1
- package/dist/views/tui/selector.js +61 -2
- package/dist/views/tui/selector.js.map +1 -1
- package/dist/views/tui/setup-stage-rendering.d.ts +23 -0
- package/dist/views/tui/setup-stage-rendering.d.ts.map +1 -0
- package/dist/views/tui/setup-stage-rendering.js +60 -0
- package/dist/views/tui/setup-stage-rendering.js.map +1 -0
- package/dist/views/tui/supervisor-actions.d.ts +19 -0
- package/dist/views/tui/supervisor-actions.d.ts.map +1 -0
- package/dist/views/tui/supervisor-actions.js +59 -0
- package/dist/views/tui/supervisor-actions.js.map +1 -0
- package/dist/views/tui/terminal-app.d.ts.map +1 -1
- package/dist/views/tui/terminal-app.js +3 -0
- package/dist/views/tui/terminal-app.js.map +1 -1
- package/dist/views/tui/terminal-chrome.d.ts +1 -1
- package/dist/views/tui/terminal-chrome.d.ts.map +1 -1
- package/dist/views/tui/terminal-chrome.js +54 -4
- package/dist/views/tui/terminal-chrome.js.map +1 -1
- package/dist/views/tui/terminal-command-controller.d.ts.map +1 -1
- package/dist/views/tui/terminal-command-controller.js +10 -5
- package/dist/views/tui/terminal-command-controller.js.map +1 -1
- package/dist/views/tui/terminal-identity.js +1 -1
- package/dist/views/tui/terminal-identity.js.map +1 -1
- package/dist/views/tui/terminal-input-controller.d.ts.map +1 -1
- package/dist/views/tui/terminal-input-controller.js +26 -4
- package/dist/views/tui/terminal-input-controller.js.map +1 -1
- package/dist/views/tui/terminal-overlays.d.ts +2 -0
- package/dist/views/tui/terminal-overlays.d.ts.map +1 -1
- package/dist/views/tui/terminal-overlays.js +15 -0
- package/dist/views/tui/terminal-overlays.js.map +1 -1
- package/dist/views/tui/terminal-surface-overlays.d.ts +4 -0
- package/dist/views/tui/terminal-surface-overlays.d.ts.map +1 -1
- package/dist/views/tui/terminal-surface-overlays.js +243 -1
- package/dist/views/tui/terminal-surface-overlays.js.map +1 -1
- package/dist/views/tui/workspace-request-form.d.ts +19 -0
- package/dist/views/tui/workspace-request-form.d.ts.map +1 -0
- package/dist/views/tui/workspace-request-form.js +204 -0
- package/dist/views/tui/workspace-request-form.js.map +1 -0
- package/dist/views/tui/workspace-request-presentation.d.ts +4 -0
- package/dist/views/tui/workspace-request-presentation.d.ts.map +1 -0
- package/dist/views/tui/workspace-request-presentation.js +39 -0
- package/dist/views/tui/workspace-request-presentation.js.map +1 -0
- package/dist/views/tui/workspace-request-workflow.d.ts +17 -0
- package/dist/views/tui/workspace-request-workflow.d.ts.map +1 -0
- package/dist/views/tui/workspace-request-workflow.js +27 -0
- package/dist/views/tui/workspace-request-workflow.js.map +1 -0
- package/package.json +20 -13
package/README.md
CHANGED
|
@@ -1,56 +1,112 @@
|
|
|
1
1
|
<div align="center">
|
|
2
2
|
<h1>Braid</h1>
|
|
3
|
-
<p><strong>One
|
|
3
|
+
<p><strong>One coding-agent profile across Pi, Codex, and OpenCode, on your machine or in a Tangle cloud sandbox.</strong></p>
|
|
4
4
|
<p>
|
|
5
5
|
<a href="https://github.com/tangle-network/braid/actions/workflows/ci.yml"><img alt="CI" src="https://github.com/tangle-network/braid/actions/workflows/ci.yml/badge.svg"></a>
|
|
6
6
|
<a href="LICENSE"><img alt="MIT License" src="https://img.shields.io/badge/license-MIT-7aa2f7"></a>
|
|
7
7
|
</p>
|
|
8
8
|
</div>
|
|
9
9
|
|
|
10
|
-
Braid is
|
|
10
|
+
Braid is a terminal client for coding agents.
|
|
11
11
|
|
|
12
|
-
A portable [`AgentProfile`](https://github.com/tangle-network/agent-sdk/tree/main/packages/agent-interface)
|
|
12
|
+
A portable [`AgentProfile`](https://github.com/tangle-network/agent-sdk/tree/main/packages/agent-interface) defines one agent's identity, instructions, model, runner preference, tools, and permissions.
|
|
13
13
|
|
|
14
|
-
Braid sends
|
|
14
|
+
Braid sends each turn through [`agent-runtime`](https://github.com/tangle-network/agent-runtime) and keeps the conversation, branches, runs, interactions, and usage records together.
|
|
15
|
+
Choose a local runner through CLI Bridge, Tangle inference, or a Tangle Sandbox for each turn.
|
|
15
16
|
|
|
16
|
-
|
|
17
|
+
Braid is a terminal client, not another agent loop.
|
|
17
18
|
|
|
18
|
-
|
|
19
|
+
<img alt="Braid terminal opening a conversation fork preview" src="artifacts/verification/w6/80x24-fork-preview.gif">
|
|
19
20
|
|
|
20
|
-
|
|
21
|
+
The terminal capture above is a deterministic conversation fixture from a packed 0.3.0 development build.
|
|
22
|
+
It does not show a live runner or cloud call.
|
|
23
|
+
The [launch comparison](docs/launch/comparison.md) separates live runner and cloud proofs from fixture captures.
|
|
21
24
|
|
|
22
|
-
|
|
25
|
+
The [component design map](docs/components/README.md) links each visible surface to its owning contract and source component.
|
|
23
26
|
|
|
24
27
|
## Install
|
|
25
28
|
|
|
26
29
|
Braid requires Node.js 22.19 or newer.
|
|
27
30
|
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
The package rejects Windows installation until encrypted state meets the required path-race boundary there.
|
|
31
|
+
The published package currently targets Linux and macOS.
|
|
31
32
|
|
|
32
33
|
```bash
|
|
33
34
|
npm install --global @tangle-network/braid
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
Braid runs an `AgentProfile` from your workspace.
|
|
38
|
+
A clean workspace has none, so create one before the first run:
|
|
39
|
+
|
|
40
|
+
```bash
|
|
41
|
+
mkdir -p .braid
|
|
42
|
+
cat > .braid/profile.json <<'EOF'
|
|
43
|
+
{
|
|
44
|
+
"name": "Coding agent",
|
|
45
|
+
"harness": "opencode",
|
|
46
|
+
"model": { "provider": "tangle-router", "default": "tangle-router/glm-5.3" },
|
|
47
|
+
"prompt": { "instructions": ["Inspect the repository before changing it."] }
|
|
48
|
+
}
|
|
49
|
+
EOF
|
|
34
50
|
braid
|
|
35
51
|
```
|
|
36
52
|
|
|
37
|
-
|
|
53
|
+
Braid also reads `braid.profile.json`, or any file passed with `--profile <path>`.
|
|
54
|
+
The first-run flow selects that `AgentProfile` and a connection.
|
|
55
|
+
|
|
56
|
+
A connection supplies transport and credential references.
|
|
57
|
+
|
|
58
|
+
Credential values stay in the operating-system credential facility or their bounded response path.
|
|
59
|
+
|
|
60
|
+
For a local runner, install and start [CLI Bridge](https://github.com/drewstone/cli-bridge#install) in another terminal.
|
|
61
|
+
Sign in to each runner you want to use, then choose **Local CLI Bridge** during Braid setup.
|
|
62
|
+
For example, from the CLI Bridge checkout:
|
|
63
|
+
|
|
64
|
+
```bash
|
|
65
|
+
pnpm install
|
|
66
|
+
BRIDGE_BACKENDS=codex,opencode pnpm start
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
Braid connects to the default local service at `http://127.0.0.1:3344`; it does not start the runners.
|
|
70
|
+
Pi on Linux also needs bubblewrap and `PI_EXECUTOR=host BRIDGE_JAIL_MODE=fs-jail BRIDGE_BACKENDS=pi` ([CLI Bridge requirements](https://github.com/drewstone/cli-bridge#install)).
|
|
71
|
+
|
|
72
|
+
For Tangle inference or a Tangle Sandbox, [create a Tangle account and key](https://sandbox.tangle.tools/?utm_source=github&utm_medium=readme&utm_campaign=braid-0.3.0&ref=braid).
|
|
73
|
+
Enter the key in setup, or provide it to Braid through `BRAID_TANGLE_AUTH`:
|
|
74
|
+
|
|
75
|
+
```bash
|
|
76
|
+
export BRAID_TANGLE_AUTH=YOUR_TANGLE_KEY
|
|
77
|
+
braid
|
|
78
|
+
```
|
|
38
79
|
|
|
39
|
-
|
|
80
|
+
First-run setup creates an ephemeral sandbox connection.
|
|
81
|
+
It deletes its environment after one turn.
|
|
82
|
+
To use `/detach` and `/reconnect`, set that connection's `providerOptions` to `{"lifecycle":"retained","idleTtlSeconds":1800}` in your workspace's `.braid/config.json` before starting a run.
|
|
40
83
|
|
|
41
|
-
|
|
84
|
+
Use these launch forms when needed:
|
|
42
85
|
|
|
43
86
|
```bash
|
|
44
|
-
|
|
87
|
+
braid --inline # keep normal terminal scrollback
|
|
88
|
+
braid --plain # readable non-interactive output
|
|
89
|
+
braid rpc # JSON Lines control interface
|
|
90
|
+
braid --conversation <id> # open a durable Braid conversation
|
|
45
91
|
```
|
|
46
92
|
|
|
47
|
-
|
|
93
|
+
`--profile`, `--connection`, `--runner`, `--model`, and `--effort` select defaults for the opened or new branch.
|
|
48
94
|
|
|
49
|
-
|
|
95
|
+
They do not rewrite the profile source.
|
|
50
96
|
|
|
51
|
-
##
|
|
97
|
+
## Operating model
|
|
52
98
|
|
|
53
|
-
The
|
|
99
|
+
The profile defines who the agent is.
|
|
100
|
+
|
|
101
|
+
The connection defines where requests go and which credentials they use.
|
|
102
|
+
|
|
103
|
+
The runner defines which coding program executes one run.
|
|
104
|
+
|
|
105
|
+
The SDK field `harness` stores that runner preference.
|
|
106
|
+
|
|
107
|
+
Braid owns the user-visible conversation graph, durable event journal, branch choices, interaction decisions, activity views, and terminal/headless presentation.
|
|
108
|
+
|
|
109
|
+
The execution route is:
|
|
54
110
|
|
|
55
111
|
```text
|
|
56
112
|
AgentProfile + user turn
|
|
@@ -61,27 +117,21 @@ AgentProfile + user turn
|
|
|
61
117
|
▼
|
|
62
118
|
agent-runtime
|
|
63
119
|
│
|
|
64
|
-
├── CLI Bridge ──
|
|
120
|
+
├── CLI Bridge ── selected local runner
|
|
65
121
|
├── Tangle inference
|
|
66
|
-
└── Tangle sandbox ── remote workspace
|
|
122
|
+
└── Tangle sandbox ── remote workspace
|
|
67
123
|
│
|
|
68
124
|
▼
|
|
69
125
|
normalized events, receipts, activity, and final output
|
|
70
126
|
```
|
|
71
127
|
|
|
72
|
-
Braid does not
|
|
128
|
+
Braid does not launch runner processes directly, parse private runner output, materialize profile files, schedule sandboxes, run trace judges, or implement billing.
|
|
73
129
|
|
|
74
|
-
|
|
130
|
+
An admitted run stores an immutable profile snapshot, effective runner, model, reasoning effort, configured output limits, connection, provider session, environment, and capability snapshot.
|
|
75
131
|
|
|
76
|
-
|
|
132
|
+
Configured limits are not measured usage.
|
|
77
133
|
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
It can contain the profile name, instructions, model hints, preferred runner, tools, permissions, resources, skills, MCP connections, modes, hooks, and subagent definitions.
|
|
81
|
-
|
|
82
|
-
The `harness` field in the SDK is a runner preference.
|
|
83
|
-
|
|
84
|
-
Braid displays that preference as `runner` so the profile remains the agent identity while the execution route remains replaceable.
|
|
134
|
+
This is the shape of a profile using the current routed model example:
|
|
85
135
|
|
|
86
136
|
```ts
|
|
87
137
|
import type { AgentProfile } from '@tangle-network/agent-interface'
|
|
@@ -91,11 +141,8 @@ const profile: AgentProfile = {
|
|
|
91
141
|
harness: 'pi',
|
|
92
142
|
model: {
|
|
93
143
|
provider: 'tangle-router',
|
|
94
|
-
default: 'tangle-router/glm-5.
|
|
144
|
+
default: 'tangle-router/glm-5.3',
|
|
95
145
|
reasoningEffort: 'high',
|
|
96
|
-
maxVisibleOutputTokens: 16_384,
|
|
97
|
-
maxReasoningTokens: 32_768,
|
|
98
|
-
maxTotalOutputTokens: 49_152,
|
|
99
146
|
},
|
|
100
147
|
prompt: {
|
|
101
148
|
instructions: [
|
|
@@ -108,193 +155,256 @@ const profile: AgentProfile = {
|
|
|
108
155
|
}
|
|
109
156
|
```
|
|
110
157
|
|
|
111
|
-
|
|
158
|
+
## Parallel work: Work Strip, activity, and focus
|
|
112
159
|
|
|
113
|
-
|
|
160
|
+
Braid admits one run per conversation branch at a time.
|
|
114
161
|
|
|
115
|
-
|
|
162
|
+
Different branches and conversations can stream concurrently while each branch preserves its own turn order.
|
|
116
163
|
|
|
117
|
-
|
|
164
|
+
Inputs for an active run queue by default.
|
|
118
165
|
|
|
119
|
-
|
|
166
|
+
`/queue <text>` always adds the next turn.
|
|
120
167
|
|
|
121
|
-
|
|
168
|
+
`/steer <text>` sends live steering only when that run reports steering support.
|
|
122
169
|
|
|
123
|
-
|
|
170
|
+
`Alt+S` switches between queue and steer when both actions are available.
|
|
124
171
|
|
|
125
|
-
The
|
|
172
|
+
The Work Strip appears when at least two active, queued, waiting, or detached work items need attention.
|
|
126
173
|
|
|
127
|
-
|
|
128
|
-
| --- | --- |
|
|
129
|
-
| Profile | `Release engineer` |
|
|
130
|
-
| Runner | `pi` |
|
|
131
|
-
| Model | `tangle-router/glm-5.2` |
|
|
132
|
-
| Reasoning | `high` |
|
|
133
|
-
| Max visible output | `16,384 tokens` |
|
|
134
|
-
| Max reasoning output | `32,768 tokens` |
|
|
135
|
-
| Max total output | `49,152 tokens` |
|
|
136
|
-
| Connection | `Local CLI Bridge` |
|
|
137
|
-
| Execution location | `local workspace through CLI Bridge` |
|
|
138
|
-
| Environment | `local process; sandbox fields not applicable` |
|
|
174
|
+
Each item shows its branch, state, runner and model, pending interaction count, and available actions.
|
|
139
175
|
|
|
140
|
-
|
|
176
|
+
Standard terminals show up to three items, wide terminals show up to eight, and narrow terminals show one bounded count with `/activity to switch`.
|
|
141
177
|
|
|
142
|
-
|
|
178
|
+
`/activity` opens a full-screen browser instead of adding a permanent side panel.
|
|
143
179
|
|
|
144
|
-
|
|
180
|
+
`Tab` cycles `all`, `runs`, `analyses`, and `workers` scopes.
|
|
145
181
|
|
|
146
|
-
|
|
182
|
+
In the `runs` scope, `Enter` opens details and focuses controls for that exact run.
|
|
147
183
|
|
|
148
|
-
|
|
184
|
+
Changing focus does not pause, cancel, detach, or reassign another run.
|
|
149
185
|
|
|
150
|
-
|
|
151
|
-
| --- | --- | --- |
|
|
152
|
-
| Turn | A user message admitted to the selected runner | Direct model, tool, latency, and cost values for that run |
|
|
153
|
-
| Analysis | A separate `agent-eval` execution over a frozen run or branch | Its own analyst profile, model, tokens, latency, cost, citations, and cancellation |
|
|
154
|
-
| Worker | A runtime-owned child under a supervisor | Its own status and usage when reported, with parent binding and control capability |
|
|
186
|
+
Controls carry the selected run identifier, so a background run cannot receive a focus-dependent action by accident.
|
|
155
187
|
|
|
156
|
-
|
|
188
|
+
Direct turns, trace analyses, supervisors, and workers remain separate activity records with separate usage totals.
|
|
157
189
|
|
|
158
|
-
An unbound supervisor remains workspace activity and is not
|
|
190
|
+
An unbound supervisor remains workspace activity and is not attributed to the current turn.
|
|
159
191
|
|
|
160
|
-
|
|
192
|
+
## Continue, branch, and fork
|
|
161
193
|
|
|
162
|
-
|
|
194
|
+
### Native continuation
|
|
163
195
|
|
|
164
|
-
|
|
196
|
+
An ordinary follow-up uses the exact provider session only when the current branch tip has the same profile and connection, the provider reports session continuation, and the provider proves the recorded message boundary with retry-safe request identity.
|
|
165
197
|
|
|
166
|
-
|
|
167
|
-
| --- | --- |
|
|
168
|
-
| `/ask <question>` | Ask one free-form question about a selected frozen run or branch and return cited findings. |
|
|
169
|
-
| `/analyze <recipe>` | Run a named recipe such as `failure`, `cost`, `tools`, or `improvement` through `agent-eval`. |
|
|
170
|
-
| `/compare <left> <right>` | Freeze two run or branch sources, show their measured asymmetries, and create a paired comparison. |
|
|
198
|
+
Only the new user input is submitted because the provider session remains authoritative for its native context.
|
|
171
199
|
|
|
172
|
-
|
|
200
|
+
If the provider cannot prove that boundary, Braid does not submit to the native session.
|
|
173
201
|
|
|
174
|
-
|
|
202
|
+
Choose a fresh provider session with an explicit portable context transfer when that provider supports it.
|
|
175
203
|
|
|
176
|
-
The
|
|
204
|
+
The transfer lists included, omitted, and transformed parts and requires acceptance when it changes the context.
|
|
177
205
|
|
|
178
|
-
|
|
206
|
+
`--conversation <id>` attaches to Braid's durable record and recorded run bindings.
|
|
179
207
|
|
|
180
|
-
|
|
208
|
+
It does not take over an arbitrary native runner process.
|
|
181
209
|
|
|
182
|
-
|
|
210
|
+
`/interactive <prompt>` and `/attach [run-id]` are separate native-terminal operations.
|
|
183
211
|
|
|
184
|
-
|
|
212
|
+
They require an interactive TUI and a retained provider session with native terminal support.
|
|
185
213
|
|
|
186
|
-
|
|
214
|
+
### Conversation operations
|
|
187
215
|
|
|
188
|
-
|
|
216
|
+
`/branch [message]` creates a new branch at a message boundary in the same conversation.
|
|
189
217
|
|
|
190
|
-
|
|
191
|
-
braid
|
|
192
|
-
braid --inline
|
|
193
|
-
```
|
|
218
|
+
It uses a new provider session and keeps the current environment shared.
|
|
194
219
|
|
|
195
|
-
|
|
220
|
+
Pending interactions and queued work after the boundary are not inherited.
|
|
196
221
|
|
|
197
|
-
|
|
198
|
-
braid rpc
|
|
199
|
-
```
|
|
222
|
+
`/clone` creates a separate conversation from the active branch tip with new conversation, branch, and execution identities.
|
|
200
223
|
|
|
201
|
-
|
|
224
|
+
It may retain a reference to the same workspace, but it does not copy provider process memory.
|
|
202
225
|
|
|
203
|
-
|
|
204
|
-
braid --plain
|
|
205
|
-
```
|
|
226
|
+
`/fork` opens a provenance preview before creating a branch.
|
|
206
227
|
|
|
207
|
-
The
|
|
228
|
+
The preview shows the transcript boundary, profile, run overrides, provider session, environment, checkpoint, working-tree state, queued input, and pending interactions.
|
|
208
229
|
|
|
209
|
-
|
|
230
|
+
The default is a conversation-only fork with a new provider session and shared environment.
|
|
210
231
|
|
|
211
|
-
|
|
232
|
+
`/fork --runner <name>` creates a cross-runner handoff with a new provider session and explicit portable context.
|
|
212
233
|
|
|
213
|
-
|
|
234
|
+
Hidden process memory, runner-specific todos, opaque tool state, and opaque tool identifiers do not transfer.
|
|
214
235
|
|
|
215
|
-
|
|
236
|
+
`/fork --workspace` requests a real provider checkpoint and destination environment.
|
|
216
237
|
|
|
217
|
-
|
|
238
|
+
It is available only when the provider reports retry-safe checkpoint and fork operations, lookup by idempotency key, and explicit cleanup.
|
|
218
239
|
|
|
219
|
-
|
|
240
|
+
The source environment remains unchanged, and a failed fork does not destroy its checkpoint or source.
|
|
220
241
|
|
|
221
|
-
|
|
242
|
+
The destination environment is not assumed to include external services, browser sessions, secrets, network connections, or provider process memory.
|
|
222
243
|
|
|
223
|
-
|
|
244
|
+
## Interactions and secrets
|
|
224
245
|
|
|
225
|
-
|
|
246
|
+
An interaction is a provider request with a stable identifier, kind, prompt, subject, timeout, allowed outcomes, and canonical `answerSpec`.
|
|
226
247
|
|
|
227
|
-
|
|
248
|
+
Known kinds include questions, permissions, and plans.
|
|
228
249
|
|
|
229
|
-
|
|
250
|
+
Unknown kinds render through the generic answer specification and fail closed if Braid cannot validate a response.
|
|
230
251
|
|
|
231
|
-
|
|
252
|
+
`/approve [scope]` accepts an allowed response.
|
|
232
253
|
|
|
233
|
-
|
|
254
|
+
`/reject [feedback]` declines it when the schema accepts feedback.
|
|
234
255
|
|
|
235
|
-
|
|
256
|
+
The terminal validates text, number, boolean, select, and secret answers before dispatch.
|
|
236
257
|
|
|
237
|
-
|
|
258
|
+
Permission controls expose only scopes declared by the provider.
|
|
238
259
|
|
|
239
|
-
|
|
260
|
+
Secret answers are masked and sent only through the bounded response path.
|
|
240
261
|
|
|
241
|
-
|
|
262
|
+
They are excluded from history, profiles, SQLite, logs, snapshots, screenshots, and trace artifacts.
|
|
242
263
|
|
|
243
|
-
|
|
264
|
+
`/automate` manages scoped non-secret response rules.
|
|
244
265
|
|
|
245
|
-
|
|
266
|
+
An answer specification containing a secret field cannot create or match an automation rule.
|
|
246
267
|
|
|
247
|
-
|
|
268
|
+
Concurrent interactions remain attached to their source runs and display in stable arrival order.
|
|
248
269
|
|
|
249
|
-
|
|
270
|
+
Response retries reuse the same operation identifier and never answer twice.
|
|
250
271
|
|
|
251
|
-
|
|
272
|
+
## Trace analysis
|
|
252
273
|
|
|
253
|
-
|
|
274
|
+
Trace analysis reads a frozen run or branch record in a separate execution.
|
|
254
275
|
|
|
255
|
-
|
|
276
|
+
It does not send a question to the active agent and does not append a message to the analyzed branch.
|
|
256
277
|
|
|
257
|
-
|
|
278
|
+
```text
|
|
279
|
+
/ask <question> cited free-form question about the last eligible source
|
|
280
|
+
/analyze failure,cost,tools run selected named recipes
|
|
281
|
+
/analyze all run every available trace analyst
|
|
282
|
+
/compare <left> <right> compare two frozen sources
|
|
283
|
+
```
|
|
284
|
+
|
|
285
|
+
`/ask` uses the last completed or failed run unless a source is selected explicitly.
|
|
286
|
+
|
|
287
|
+
Each analysis records its source digest, analyst profile, model, recipe, progress, findings, citations, completeness, usage, latency, cost, and cancellation state.
|
|
288
|
+
|
|
289
|
+
The analysis activity scope uses `p` to promote a supported cited finding and `x` to cancel active analysis.
|
|
290
|
+
|
|
291
|
+
Promotion creates an explicit attachment or a branch fork; it never changes the source implicitly.
|
|
292
|
+
|
|
293
|
+
Comparisons show every measured field and asymmetry before any semantic interpretation.
|
|
294
|
+
|
|
295
|
+
## Runtime supervisors and workers
|
|
296
|
+
|
|
297
|
+
`/activity` reads runtime-owned supervisor snapshots through the shared Runtime API.
|
|
298
|
+
|
|
299
|
+
It does not read `.agent/supervisor` files or infer identity from display text, timestamps, or row order.
|
|
300
|
+
|
|
301
|
+
In the `workers` scope, `r` refreshes the snapshot, `s` opens a worker steering prompt, `x` requests cancellation, and `a` attaches to a running worker's retained terminal when available.
|
|
258
302
|
|
|
259
|
-
|
|
303
|
+
Worker steering sends the exact runtime worker identifier with a stable operation identifier and displays a queued or acknowledged effect.
|
|
260
304
|
|
|
261
|
-
|
|
305
|
+
Worker cancellation and supervisor cancellation use runtime-owned idempotent operations and display the acknowledged effect and terminated descendants when reported.
|
|
262
306
|
|
|
263
|
-
|
|
307
|
+
Worker attachment resolves the projected Braid supervisor and worker to exact Runtime identifiers, then claims the retained interactive handle for that worker.
|
|
264
308
|
|
|
265
|
-
|
|
309
|
+
It is available only in the interactive TUI when the selected worker is running and its provider exposes a retained terminal binding.
|
|
310
|
+
|
|
311
|
+
That worker action is different from `/attach [run-id]`, which targets a retained native terminal session.
|
|
312
|
+
|
|
313
|
+
When the runtime cannot acknowledge a control, Braid leaves the result queued or unknown.
|
|
314
|
+
|
|
315
|
+
It never displays delivered steering or cancellation without the matching runtime effect.
|
|
316
|
+
|
|
317
|
+
## Capability-aware commands
|
|
318
|
+
|
|
319
|
+
Braid asks the active provider and Runtime for capabilities before it enables an action.
|
|
320
|
+
|
|
321
|
+
Unavailable commands remain searchable and explain the exact missing capability.
|
|
322
|
+
|
|
323
|
+
Common reasons include:
|
|
324
|
+
|
|
325
|
+
| Action | Exact reason shown when the condition applies |
|
|
326
|
+
| --- | --- |
|
|
327
|
+
| Worker steer | `There is no running supervised worker to steer` |
|
|
328
|
+
| Worker cancel | `There is no running supervised worker to cancel` |
|
|
329
|
+
| Supervisor cancel | `There is no running supervisor to cancel` |
|
|
330
|
+
| Worker attach without an interactive TUI | `Worker terminals require an interactive TUI` |
|
|
331
|
+
| Worker attach without a running worker | `There is no running supervised worker to attach` |
|
|
332
|
+
| Worker attach with a stale selection | `The selected worker is not running` |
|
|
333
|
+
| Worker attach with a missing target | `The selected worker is not present under the selected supervisor` |
|
|
334
|
+
| Worker attach without a retained binding | `The worker has no retained terminal binding` |
|
|
335
|
+
| Worker attach without provider support | `The worker provider cannot attach a terminal` |
|
|
336
|
+
| Worker attach without a configured provider | `Select the worker's Tangle Sandbox connection first` |
|
|
337
|
+
| Native terminal | `Select a retained Tangle Sandbox connection with native terminal support` |
|
|
338
|
+
| Native session attach | `No retained native session is available` |
|
|
339
|
+
| Interaction response | `Interaction response is not exposed by the current runtime adapter` |
|
|
340
|
+
| Provider cancellation | `The current runtime does not acknowledge provider cancellation` |
|
|
341
|
+
| Live steering | `The current runtime does not report steering support` |
|
|
342
|
+
| Queued input | `The current runtime does not report queued input support` |
|
|
266
343
|
|
|
267
|
-
|
|
344
|
+
A missing capability never becomes a simulated success.
|
|
268
345
|
|
|
269
|
-
##
|
|
346
|
+
## Tangle Sandbox lifecycle
|
|
347
|
+
|
|
348
|
+
New Tangle Sandbox connections default to one ephemeral cloud turn and delete the environment after the turn.
|
|
349
|
+
|
|
350
|
+
Retained execution is an explicit connection choice.
|
|
351
|
+
|
|
352
|
+
Braid requires exact retained-run control and provider-backed lookup before it creates a retained environment, so restart can recover an uncommitted dispatch.
|
|
353
|
+
|
|
354
|
+
The provider reports lifecycle, replay, control, interaction, continuation, workspace, placement, resource, and usage capabilities per run.
|
|
355
|
+
|
|
356
|
+
Braid shows requested, verified, sampled, estimated, and unavailable values separately.
|
|
357
|
+
|
|
358
|
+
It never guesses machine identity, IP address, effective resources, storage, or cost when the provider does not report them.
|
|
359
|
+
|
|
360
|
+
## Commands at a glance
|
|
270
361
|
|
|
271
362
|
| Need | Command or key |
|
|
272
363
|
| --- | --- |
|
|
273
|
-
| Select
|
|
274
|
-
|
|
|
275
|
-
| Navigate
|
|
276
|
-
| Answer
|
|
277
|
-
|
|
|
364
|
+
| Select profile and route | `/profile`, `/connection`, `/runner`, `/model`, `/effort` |
|
|
365
|
+
| Open activity and focus a run | `/activity`, `F2`, `Enter` on a run row |
|
|
366
|
+
| Navigate conversation work | `/graph`, `/branch`, `/clone`, `/fork` |
|
|
367
|
+
| Answer an interaction | `/approve`, `/reject`, `/automate` |
|
|
368
|
+
| Queue, steer, or cancel a run | `/queue`, `/steer`, `/cancel` |
|
|
369
|
+
| Detach and recover retained work | `/detach`, `/reconnect`, `/reconcile` |
|
|
370
|
+
| Use a native terminal | `/interactive`, `/attach` |
|
|
371
|
+
| Analyze or compare work | `/ask`, `/analyze`, `/compare` |
|
|
278
372
|
| Drive Braid from another process | `braid rpc` |
|
|
279
373
|
|
|
280
|
-
|
|
374
|
+
Run `/help [query]` for the complete command and key registry.
|
|
375
|
+
|
|
376
|
+
The command palette uses the same capability explanations as direct invocation.
|
|
377
|
+
|
|
378
|
+
## Headless mode
|
|
281
379
|
|
|
282
|
-
|
|
380
|
+
`braid rpc` exposes JSON Lines commands over the same application core as the terminal.
|
|
283
381
|
|
|
284
|
-
|
|
382
|
+
Headless clients can inspect state, send, queue, steer, cancel, detach, reconnect, reconcile, respond to interactions, manage automation, branch, clone, fork, analyze, compare, inspect activity, control workers, and export records.
|
|
383
|
+
|
|
384
|
+
Worker terminal attachment remains an interactive-TUI action.
|
|
385
|
+
|
|
386
|
+
Mutating requests carry stable operation identifiers, so retries can be recognized instead of dispatched twice.
|
|
387
|
+
|
|
388
|
+
Plain output and headless state contain no terminal control sequences.
|
|
389
|
+
|
|
390
|
+
## Ownership and safety boundaries
|
|
285
391
|
|
|
286
392
|
| Boundary | Owner |
|
|
287
393
|
| --- | --- |
|
|
288
|
-
| Portable agent definition and compatibility
|
|
289
|
-
| Run admission, lifecycle, normalized events, and runtime control | `agent-runtime` |
|
|
394
|
+
| Portable agent definition and compatibility helpers | `agent-interface` |
|
|
395
|
+
| Run admission, lifecycle, normalized events, replay, and runtime control | `agent-runtime` |
|
|
290
396
|
| Local runner process and native profile materialization | CLI Bridge |
|
|
291
|
-
|
|
|
397
|
+
| Inference and remote workspace lifecycle | Tangle provider and sandbox packages |
|
|
292
398
|
| Trace analysis and paired comparison | `agent-eval` |
|
|
293
|
-
| Conversation journal, branches, graph,
|
|
399
|
+
| Conversation journal, branches, graph, interactions, projections, and interfaces | Braid |
|
|
400
|
+
|
|
401
|
+
Components render immutable view models and emit typed intents.
|
|
294
402
|
|
|
295
|
-
|
|
403
|
+
Controllers own workflows, cancellation, event reduction, and side effects through ports.
|
|
296
404
|
|
|
297
|
-
|
|
405
|
+
Untrusted terminal content is sanitized before rendering, and OSC control sequences are suppressed by default.
|
|
406
|
+
|
|
407
|
+
No credential value, secret interaction answer, provider-private state, or raw secret-bearing trace enters a profile, SQLite record, log, snapshot, screenshot, or export.
|
|
298
408
|
|
|
299
409
|
## Development and proof
|
|
300
410
|
|
|
@@ -304,27 +414,21 @@ pnpm check
|
|
|
304
414
|
pnpm capture:visual
|
|
305
415
|
```
|
|
306
416
|
|
|
307
|
-
`pnpm check`
|
|
308
|
-
|
|
309
|
-
When a ready Pi backend is configured, `pnpm capture:visual` drives the packed CLI through a pseudo-terminal and records terminal state evidence plus a live Pi and CLI Bridge product capture.
|
|
417
|
+
`pnpm check` runs the repository's formatting, lint, type, boundary, dependency, attribution, license, test, live, and release checks.
|
|
310
418
|
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
A successful product capture is the evidence for the live Pi, CLI Bridge, inference route, and sandbox run.
|
|
419
|
+
`pnpm capture:visual` records terminal state at 40×12, 80×24, 120×40, and 200×60 and exercises the keyboard path.
|
|
314
420
|
|
|
315
421
|
The [verification plan](docs/08-verification.md) defines the required live, headless, terminal, security, installation, and release evidence.
|
|
316
422
|
|
|
317
423
|
The [delivery plan](docs/09-delivery-plan.md) records dependency order and completion criteria.
|
|
318
424
|
|
|
319
|
-
The [product contract](docs/01-product-contract.md), [experience specification](docs/02-experience-specification.md), and [
|
|
425
|
+
The [product contract](docs/01-product-contract.md), [experience specification](docs/02-experience-specification.md), [runtime contracts](docs/04-runtime-contracts.md), and [conversation/fork/analysis contract](docs/06-conversations-forks-and-analysis.md) define the behavior and ownership boundaries.
|
|
320
426
|
|
|
321
427
|
## Open-source foundation
|
|
322
428
|
|
|
323
429
|
Braid uses the MIT-licensed [`@earendil-works/pi-tui`](https://www.npmjs.com/package/@earendil-works/pi-tui) package for terminal rendering and input primitives.
|
|
324
430
|
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
See the [renderer decision](docs/decisions/001-pi-tui-renderer.md), [runtime boundary](docs/decisions/002-runtime-boundary.md), [upstream strategy](docs/10-upstream-strategy.md), and [third-party notices](THIRD_PARTY_NOTICES.md) for the exact reuse boundary.
|
|
431
|
+
See the [renderer decision](docs/decisions/001-pi-tui-renderer.md), [runtime boundary](docs/decisions/002-runtime-boundary.md), [upstream strategy](docs/10-upstream-strategy.md), and [third-party notices](THIRD_PARTY_NOTICES.md) for the reuse boundary.
|
|
328
432
|
|
|
329
433
|
## License
|
|
330
434
|
|
|
@@ -77,6 +77,10 @@
|
|
|
77
77
|
"license": "MIT",
|
|
78
78
|
"name": "@tangle-network/sandbox"
|
|
79
79
|
},
|
|
80
|
+
{
|
|
81
|
+
"license": "Apache-2.0",
|
|
82
|
+
"name": "@tangle-network/tcloud-attestation"
|
|
83
|
+
},
|
|
80
84
|
{
|
|
81
85
|
"license": "MIT",
|
|
82
86
|
"name": "@types/proper-lockfile"
|
|
@@ -213,6 +217,10 @@
|
|
|
213
217
|
"license": "ISC",
|
|
214
218
|
"name": "signal-exit"
|
|
215
219
|
},
|
|
220
|
+
{
|
|
221
|
+
"license": "BSD-3-Clause",
|
|
222
|
+
"name": "smol-toml"
|
|
223
|
+
},
|
|
216
224
|
{
|
|
217
225
|
"license": "CC-BY-3.0",
|
|
218
226
|
"name": "spdx-exceptions"
|