@scotthuang/agent-knock-knock 0.12.11 → 0.12.13
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/CHANGELOG.md +40 -0
- package/README.md +43 -30
- package/dist/src/approval-policy.d.ts +11 -2
- package/dist/src/approval-policy.js +33 -7
- package/dist/src/approval-policy.js.map +1 -1
- package/dist/src/callback-cli-adapter.d.ts +47 -0
- package/dist/src/callback-cli-adapter.js +156 -0
- package/dist/src/callback-cli-adapter.js.map +1 -0
- package/dist/src/callback-outbox-policy.d.ts +95 -0
- package/dist/src/callback-outbox-policy.js +149 -0
- package/dist/src/callback-outbox-policy.js.map +1 -0
- package/dist/src/callback-outbox-service.d.ts +247 -0
- package/dist/src/callback-outbox-service.js +1053 -0
- package/dist/src/callback-outbox-service.js.map +1 -0
- package/dist/src/callback-outbox-settlement.d.ts +54 -0
- package/dist/src/callback-outbox-settlement.js +241 -0
- package/dist/src/callback-outbox-settlement.js.map +1 -0
- package/dist/src/canonical-json.d.ts +1 -0
- package/dist/src/canonical-json.js +14 -0
- package/dist/src/canonical-json.js.map +1 -0
- package/dist/src/claude-lifecycle-compatibility.js +15 -0
- package/dist/src/claude-lifecycle-compatibility.js.map +1 -1
- package/dist/src/claude-local-transcript-provider.d.ts +82 -1
- package/dist/src/claude-local-transcript-provider.js +873 -23
- package/dist/src/claude-local-transcript-provider.js.map +1 -1
- package/dist/src/cli-command-runtime.d.ts +14 -0
- package/dist/src/cli-command-runtime.js +164 -0
- package/dist/src/cli-command-runtime.js.map +1 -0
- package/dist/src/cli-core.d.ts +4 -42
- package/dist/src/cli-core.js +958 -28684
- package/dist/src/cli-core.js.map +1 -1
- package/dist/src/cli-runtime-context.d.ts +57 -0
- package/dist/src/cli-runtime-context.js +118 -0
- package/dist/src/cli-runtime-context.js.map +1 -0
- package/dist/src/codex-lifecycle-compatibility.js +2 -1
- package/dist/src/codex-lifecycle-compatibility.js.map +1 -1
- package/dist/src/codex-local-session-provider.d.ts +18 -0
- package/dist/src/codex-local-session-provider.js +67 -0
- package/dist/src/codex-local-session-provider.js.map +1 -1
- package/dist/src/codex-session-provider.js +1 -3
- package/dist/src/codex-session-provider.js.map +1 -1
- package/dist/src/conversation-trace.d.ts +30 -0
- package/dist/src/conversation-trace.js +185 -0
- package/dist/src/conversation-trace.js.map +1 -0
- package/dist/src/deferred-foreground-application-service.d.ts +84 -0
- package/dist/src/deferred-foreground-application-service.js +742 -0
- package/dist/src/deferred-foreground-application-service.js.map +1 -0
- package/dist/src/deferred-foreground-authority-cli-adapter.d.ts +78 -0
- package/dist/src/deferred-foreground-authority-cli-adapter.js +795 -0
- package/dist/src/deferred-foreground-authority-cli-adapter.js.map +1 -0
- package/dist/src/deferred-foreground-boundary.d.ts +61 -0
- package/dist/src/deferred-foreground-boundary.js +2 -0
- package/dist/src/deferred-foreground-boundary.js.map +1 -0
- package/dist/src/deferred-foreground-capability.d.ts +4 -0
- package/dist/src/deferred-foreground-capability.js +184 -0
- package/dist/src/deferred-foreground-capability.js.map +1 -0
- package/dist/src/deferred-foreground-preparation-cli-adapter.d.ts +53 -0
- package/dist/src/deferred-foreground-preparation-cli-adapter.js +210 -0
- package/dist/src/deferred-foreground-preparation-cli-adapter.js.map +1 -0
- package/dist/src/deferred-foreground-preparation-service.d.ts +72 -0
- package/dist/src/deferred-foreground-preparation-service.js +179 -0
- package/dist/src/deferred-foreground-preparation-service.js.map +1 -0
- package/dist/src/deferred-foreground-recovery-cli-adapter.d.ts +139 -0
- package/dist/src/deferred-foreground-recovery-cli-adapter.js +1125 -0
- package/dist/src/deferred-foreground-recovery-cli-adapter.js.map +1 -0
- package/dist/src/deferred-foreground-recovery-service.d.ts +48 -0
- package/dist/src/deferred-foreground-recovery-service.js +91 -0
- package/dist/src/deferred-foreground-recovery-service.js.map +1 -0
- package/dist/src/deferred-foreground-transfer-policy.d.ts +2 -0
- package/dist/src/deferred-foreground-transfer-policy.js +10 -0
- package/dist/src/deferred-foreground-transfer-policy.js.map +1 -0
- package/dist/src/deferred-foreground-transfer.js +46 -105
- package/dist/src/deferred-foreground-transfer.js.map +1 -1
- package/dist/src/doctor-capabilities.d.ts +9 -0
- package/dist/src/doctor-capabilities.js +22 -0
- package/dist/src/doctor-capabilities.js.map +1 -1
- package/dist/src/durable-json-file.d.ts +22 -0
- package/dist/src/durable-json-file.js +127 -0
- package/dist/src/durable-json-file.js.map +1 -0
- package/dist/src/file-lock-cli-adapter.d.ts +43 -0
- package/dist/src/file-lock-cli-adapter.js +150 -0
- package/dist/src/file-lock-cli-adapter.js.map +1 -0
- package/dist/src/herdr-terminal-control-provider.js +1 -3
- package/dist/src/herdr-terminal-control-provider.js.map +1 -1
- package/dist/src/install-doctor-command-adapter.d.ts +17 -0
- package/dist/src/install-doctor-command-adapter.js +225 -0
- package/dist/src/install-doctor-command-adapter.js.map +1 -0
- package/dist/src/live-lifecycle-evidence.js +76 -46
- package/dist/src/live-lifecycle-evidence.js.map +1 -1
- package/dist/src/live-lifecycle-smoke.js +74 -50
- package/dist/src/live-lifecycle-smoke.js.map +1 -1
- package/dist/src/managed-session.d.ts +2 -0
- package/dist/src/managed-session.js +24 -0
- package/dist/src/managed-session.js.map +1 -1
- package/dist/src/managed-turn-recovery-service.d.ts +86 -0
- package/dist/src/managed-turn-recovery-service.js +145 -0
- package/dist/src/managed-turn-recovery-service.js.map +1 -0
- package/dist/src/mutation-transaction.d.ts +48 -0
- package/dist/src/mutation-transaction.js +73 -0
- package/dist/src/mutation-transaction.js.map +1 -0
- package/dist/src/native-thread-lifecycle-cli-adapter.d.ts +154 -0
- package/dist/src/native-thread-lifecycle-cli-adapter.js +786 -0
- package/dist/src/native-thread-lifecycle-cli-adapter.js.map +1 -0
- package/dist/src/native-thread-lifecycle-ledger-cli-adapter.d.ts +25 -0
- package/dist/src/native-thread-lifecycle-ledger-cli-adapter.js +50 -0
- package/dist/src/native-thread-lifecycle-ledger-cli-adapter.js.map +1 -0
- package/dist/src/native-thread-lifecycle-query-service.d.ts +75 -0
- package/dist/src/native-thread-lifecycle-query-service.js +297 -0
- package/dist/src/native-thread-lifecycle-query-service.js.map +1 -0
- package/dist/src/native-thread-lifecycle-recovery-adapter.d.ts +45 -0
- package/dist/src/native-thread-lifecycle-recovery-adapter.js +154 -0
- package/dist/src/native-thread-lifecycle-recovery-adapter.js.map +1 -0
- package/dist/src/native-thread-lifecycle-recovery-service.d.ts +211 -0
- package/dist/src/native-thread-lifecycle-recovery-service.js +1093 -0
- package/dist/src/native-thread-lifecycle-recovery-service.js.map +1 -0
- package/dist/src/native-thread-resume-snapshot-policy.d.ts +73 -0
- package/dist/src/native-thread-resume-snapshot-policy.js +218 -0
- package/dist/src/native-thread-resume-snapshot-policy.js.map +1 -0
- package/dist/src/native-thread-resume-snapshot.d.ts +3 -61
- package/dist/src/native-thread-resume-snapshot.js +2 -143
- package/dist/src/native-thread-resume-snapshot.js.map +1 -1
- package/dist/src/native-thread-transition-application.d.ts +147 -0
- package/dist/src/native-thread-transition-application.js +974 -0
- package/dist/src/native-thread-transition-application.js.map +1 -0
- package/dist/src/native-thread-transition-policy.d.ts +127 -0
- package/dist/src/native-thread-transition-policy.js +154 -0
- package/dist/src/native-thread-transition-policy.js.map +1 -0
- package/dist/src/native-thread-transition-resource-adapter.d.ts +12 -0
- package/dist/src/native-thread-transition-resource-adapter.js +44 -0
- package/dist/src/native-thread-transition-resource-adapter.js.map +1 -0
- package/dist/src/native-thread-transition-settlement-service.d.ts +94 -0
- package/dist/src/native-thread-transition-settlement-service.js +134 -0
- package/dist/src/native-thread-transition-settlement-service.js.map +1 -0
- package/dist/src/native-thread-transition-verification-adapter.d.ts +62 -0
- package/dist/src/native-thread-transition-verification-adapter.js +451 -0
- package/dist/src/native-thread-transition-verification-adapter.js.map +1 -0
- package/dist/src/openclaw-callback-transport.d.ts +69 -0
- package/dist/src/openclaw-callback-transport.js +583 -0
- package/dist/src/openclaw-callback-transport.js.map +1 -0
- package/dist/src/openclaw-plugin-callback-adapter.d.ts +1 -0
- package/dist/src/openclaw-plugin-callback-adapter.js +423 -0
- package/dist/src/openclaw-plugin-callback-adapter.js.map +1 -0
- package/dist/src/openclaw-plugin-command-adapter.d.ts +16 -0
- package/dist/src/openclaw-plugin-command-adapter.js +1868 -0
- package/dist/src/openclaw-plugin-command-adapter.js.map +1 -0
- package/dist/src/openclaw-plugin-helpers.d.ts +27 -4
- package/dist/src/openclaw-plugin-helpers.js +356 -81
- package/dist/src/openclaw-plugin-helpers.js.map +1 -1
- package/dist/src/openclaw-plugin-schemas.d.ts +358 -0
- package/dist/src/openclaw-plugin-schemas.js +366 -0
- package/dist/src/openclaw-plugin-schemas.js.map +1 -0
- package/dist/src/openclaw-plugin-supervisor.d.ts +6 -0
- package/dist/src/openclaw-plugin-supervisor.js +123 -0
- package/dist/src/openclaw-plugin-supervisor.js.map +1 -0
- package/dist/src/openclaw-plugin.js +7 -2212
- package/dist/src/openclaw-plugin.js.map +1 -1
- package/dist/src/openclaw-private-authority-offers.d.ts +22 -0
- package/dist/src/openclaw-private-authority-offers.js +177 -0
- package/dist/src/openclaw-private-authority-offers.js.map +1 -0
- package/dist/src/protocol.d.ts +5 -0
- package/dist/src/protocol.js +59 -3
- package/dist/src/protocol.js.map +1 -1
- package/dist/src/session-store.d.ts +1 -0
- package/dist/src/session-store.js +84 -106
- package/dist/src/session-store.js.map +1 -1
- package/dist/src/store.d.ts +1 -0
- package/dist/src/store.js +5 -2
- package/dist/src/store.js.map +1 -1
- package/dist/src/terminal-acceptance-application-service.d.ts +65 -0
- package/dist/src/terminal-acceptance-application-service.js +63 -0
- package/dist/src/terminal-acceptance-application-service.js.map +1 -0
- package/dist/src/terminal-acceptance-cli-adapter.d.ts +210 -0
- package/dist/src/terminal-acceptance-cli-adapter.js +957 -0
- package/dist/src/terminal-acceptance-cli-adapter.js.map +1 -0
- package/dist/src/terminal-action-projection.d.ts +309 -0
- package/dist/src/terminal-action-projection.js +376 -0
- package/dist/src/terminal-action-projection.js.map +1 -0
- package/dist/src/terminal-agent-bridge.d.ts +3 -0
- package/dist/src/terminal-agent-bridge.js +29 -8
- package/dist/src/terminal-agent-bridge.js.map +1 -1
- package/dist/src/terminal-authority-policy.d.ts +141 -0
- package/dist/src/terminal-authority-policy.js +367 -0
- package/dist/src/terminal-authority-policy.js.map +1 -0
- package/dist/src/terminal-binding-authority.d.ts +118 -0
- package/dist/src/terminal-binding-authority.js +245 -0
- package/dist/src/terminal-binding-authority.js.map +1 -0
- package/dist/src/terminal-binding-reconciliation-service.d.ts +75 -0
- package/dist/src/terminal-binding-reconciliation-service.js +73 -0
- package/dist/src/terminal-binding-reconciliation-service.js.map +1 -0
- package/dist/src/terminal-command-cli-adapter.d.ts +380 -0
- package/dist/src/terminal-command-cli-adapter.js +3288 -0
- package/dist/src/terminal-command-cli-adapter.js.map +1 -0
- package/dist/src/terminal-control-ref.d.ts +4 -0
- package/dist/src/terminal-control-ref.js +11 -8
- package/dist/src/terminal-control-ref.js.map +1 -1
- package/dist/src/terminal-delegate-cli-adapter.d.ts +41 -0
- package/dist/src/terminal-delegate-cli-adapter.js +242 -0
- package/dist/src/terminal-delegate-cli-adapter.js.map +1 -0
- package/dist/src/terminal-dispatch-abort.d.ts +22 -0
- package/dist/src/terminal-dispatch-abort.js +30 -0
- package/dist/src/terminal-dispatch-abort.js.map +1 -0
- package/dist/src/terminal-dispatch-application.d.ts +115 -0
- package/dist/src/terminal-dispatch-application.js +478 -0
- package/dist/src/terminal-dispatch-application.js.map +1 -0
- package/dist/src/terminal-dispatch-capability.d.ts +63 -0
- package/dist/src/terminal-dispatch-capability.js +133 -0
- package/dist/src/terminal-dispatch-capability.js.map +1 -0
- package/dist/src/terminal-dispatch-completion-cli-adapter.d.ts +22 -0
- package/dist/src/terminal-dispatch-completion-cli-adapter.js +96 -0
- package/dist/src/terminal-dispatch-completion-cli-adapter.js.map +1 -0
- package/dist/src/terminal-dispatch-composition.d.ts +79 -0
- package/dist/src/terminal-dispatch-composition.js +2 -0
- package/dist/src/terminal-dispatch-composition.js.map +1 -0
- package/dist/src/terminal-dispatch-execution.d.ts +290 -0
- package/dist/src/terminal-dispatch-execution.js +916 -0
- package/dist/src/terminal-dispatch-execution.js.map +1 -0
- package/dist/src/terminal-dispatch-ledger-codec.d.ts +110 -0
- package/dist/src/terminal-dispatch-ledger-codec.js +399 -0
- package/dist/src/terminal-dispatch-ledger-codec.js.map +1 -0
- package/dist/src/terminal-dispatch-policy.d.ts +93 -0
- package/dist/src/terminal-dispatch-policy.js +122 -0
- package/dist/src/terminal-dispatch-policy.js.map +1 -0
- package/dist/src/terminal-dispatch-presenter.d.ts +65 -0
- package/dist/src/terminal-dispatch-presenter.js +258 -0
- package/dist/src/terminal-dispatch-presenter.js.map +1 -0
- package/dist/src/terminal-dispatch-receipt.d.ts +79 -0
- package/dist/src/terminal-dispatch-receipt.js +314 -0
- package/dist/src/terminal-dispatch-receipt.js.map +1 -0
- package/dist/src/terminal-dispatch-recovery-cli-adapter.d.ts +132 -0
- package/dist/src/terminal-dispatch-recovery-cli-adapter.js +1330 -0
- package/dist/src/terminal-dispatch-recovery-cli-adapter.js.map +1 -0
- package/dist/src/terminal-dispatch-recovery-service.d.ts +271 -0
- package/dist/src/terminal-dispatch-recovery-service.js +374 -0
- package/dist/src/terminal-dispatch-recovery-service.js.map +1 -0
- package/dist/src/terminal-dispatch-repository-cli-adapter.d.ts +35 -0
- package/dist/src/terminal-dispatch-repository-cli-adapter.js +483 -0
- package/dist/src/terminal-dispatch-repository-cli-adapter.js.map +1 -0
- package/dist/src/terminal-handoff-application-service.d.ts +7 -0
- package/dist/src/terminal-handoff-application-service.js +18 -0
- package/dist/src/terminal-handoff-application-service.js.map +1 -0
- package/dist/src/terminal-handoff-cli-adapter.d.ts +229 -0
- package/dist/src/terminal-handoff-cli-adapter.js +1389 -0
- package/dist/src/terminal-handoff-cli-adapter.js.map +1 -0
- package/dist/src/terminal-handoff-facts.d.ts +12 -0
- package/dist/src/terminal-handoff-facts.js +16 -0
- package/dist/src/terminal-handoff-facts.js.map +1 -0
- package/dist/src/terminal-identity-authority-cli-adapter.d.ts +318 -0
- package/dist/src/terminal-identity-authority-cli-adapter.js +1072 -0
- package/dist/src/terminal-identity-authority-cli-adapter.js.map +1 -0
- package/dist/src/terminal-identity-authority-service.d.ts +48 -0
- package/dist/src/terminal-identity-authority-service.js +45 -0
- package/dist/src/terminal-identity-authority-service.js.map +1 -0
- package/dist/src/terminal-list-cli-adapter.d.ts +274 -0
- package/dist/src/terminal-list-cli-adapter.js +2444 -0
- package/dist/src/terminal-list-cli-adapter.js.map +1 -0
- package/dist/src/terminal-list-renderer.d.ts +34 -0
- package/dist/src/terminal-list-renderer.js +643 -0
- package/dist/src/terminal-list-renderer.js.map +1 -0
- package/dist/src/terminal-maintenance-cli-adapter.d.ts +102 -0
- package/dist/src/terminal-maintenance-cli-adapter.js +1059 -0
- package/dist/src/terminal-maintenance-cli-adapter.js.map +1 -0
- package/dist/src/terminal-monitor-application-service.d.ts +275 -0
- package/dist/src/terminal-monitor-application-service.js +982 -0
- package/dist/src/terminal-monitor-application-service.js.map +1 -0
- package/dist/src/terminal-monitor-cli-adapter.d.ts +130 -0
- package/dist/src/terminal-monitor-cli-adapter.js +442 -0
- package/dist/src/terminal-monitor-cli-adapter.js.map +1 -0
- package/dist/src/terminal-monitor-decision-policy.d.ts +98 -0
- package/dist/src/terminal-monitor-decision-policy.js +246 -0
- package/dist/src/terminal-monitor-decision-policy.js.map +1 -0
- package/dist/src/terminal-monitor-launch-plan.d.ts +45 -0
- package/dist/src/terminal-monitor-launch-plan.js +94 -0
- package/dist/src/terminal-monitor-launch-plan.js.map +1 -0
- package/dist/src/terminal-monitor-ownership-policy.d.ts +31 -0
- package/dist/src/terminal-monitor-ownership-policy.js +64 -0
- package/dist/src/terminal-monitor-ownership-policy.js.map +1 -0
- package/dist/src/terminal-monitor-poll-policy.d.ts +48 -0
- package/dist/src/terminal-monitor-poll-policy.js +67 -0
- package/dist/src/terminal-monitor-poll-policy.js.map +1 -0
- package/dist/src/terminal-monitor-reconciliation-eligibility.d.ts +53 -0
- package/dist/src/terminal-monitor-reconciliation-eligibility.js +114 -0
- package/dist/src/terminal-monitor-reconciliation-eligibility.js.map +1 -0
- package/dist/src/terminal-monitor-state-cli-adapter.d.ts +106 -0
- package/dist/src/terminal-monitor-state-cli-adapter.js +1492 -0
- package/dist/src/terminal-monitor-state-cli-adapter.js.map +1 -0
- package/dist/src/terminal-monitor-state-reconciliation-service.d.ts +87 -0
- package/dist/src/terminal-monitor-state-reconciliation-service.js +106 -0
- package/dist/src/terminal-monitor-state-reconciliation-service.js.map +1 -0
- package/dist/src/terminal-monitor-supervision-cli-adapter.d.ts +122 -0
- package/dist/src/terminal-monitor-supervision-cli-adapter.js +685 -0
- package/dist/src/terminal-monitor-supervision-cli-adapter.js.map +1 -0
- package/dist/src/terminal-process-facts.d.ts +2 -0
- package/dist/src/terminal-process-facts.js +19 -0
- package/dist/src/terminal-process-facts.js.map +1 -0
- package/dist/src/terminal-process-source.d.ts +6 -4
- package/dist/src/terminal-process-source.js +25 -20
- package/dist/src/terminal-process-source.js.map +1 -1
- package/dist/src/terminal-runtime-cli-adapter.d.ts +80 -0
- package/dist/src/terminal-runtime-cli-adapter.js +488 -0
- package/dist/src/terminal-runtime-cli-adapter.js.map +1 -0
- package/dist/src/terminal-scoped-approval-authority.d.ts +62 -0
- package/dist/src/terminal-scoped-approval-authority.js +281 -0
- package/dist/src/terminal-scoped-approval-authority.js.map +1 -0
- package/dist/src/terminal-selector-projection-service.d.ts +26 -0
- package/dist/src/terminal-selector-projection-service.js +81 -0
- package/dist/src/terminal-selector-projection-service.js.map +1 -0
- package/dist/src/terminal-status-cli-adapter.d.ts +126 -0
- package/dist/src/terminal-status-cli-adapter.js +577 -0
- package/dist/src/terminal-status-cli-adapter.js.map +1 -0
- package/dist/src/terminal-status-facts.d.ts +56 -0
- package/dist/src/terminal-status-facts.js +199 -0
- package/dist/src/terminal-status-facts.js.map +1 -0
- package/dist/src/terminal-submission-acceptance.d.ts +62 -145
- package/dist/src/terminal-submission-acceptance.js +555 -222
- package/dist/src/terminal-submission-acceptance.js.map +1 -1
- package/dist/src/terminal-submission-facts.d.ts +123 -0
- package/dist/src/terminal-submission-facts.js +205 -0
- package/dist/src/terminal-submission-facts.js.map +1 -0
- package/dist/src/terminal-turn-binding-authority-cli-adapter.d.ts +14 -0
- package/dist/src/terminal-turn-binding-authority-cli-adapter.js +90 -0
- package/dist/src/terminal-turn-binding-authority-cli-adapter.js.map +1 -0
- package/dist/src/terminal-watch-callback-cli-adapter.d.ts +20 -0
- package/dist/src/terminal-watch-callback-cli-adapter.js +55 -0
- package/dist/src/terminal-watch-callback-cli-adapter.js.map +1 -0
- package/dist/src/terminal-watch-cli-adapter.d.ts +64 -0
- package/dist/src/terminal-watch-cli-adapter.js +508 -0
- package/dist/src/terminal-watch-cli-adapter.js.map +1 -0
- package/dist/src/terminal-watch-service.d.ts +97 -0
- package/dist/src/terminal-watch-service.js +714 -0
- package/dist/src/terminal-watch-service.js.map +1 -0
- package/dist/src/terminal-watch-store.d.ts +149 -0
- package/dist/src/terminal-watch-store.js +861 -0
- package/dist/src/terminal-watch-store.js.map +1 -0
- package/dist/src/value-guards.d.ts +4 -0
- package/dist/src/value-guards.js +12 -0
- package/dist/src/value-guards.js.map +1 -0
- package/dist/src/verified-dead-agent-policy.d.ts +192 -0
- package/dist/src/verified-dead-agent-policy.js +262 -0
- package/dist/src/verified-dead-agent-policy.js.map +1 -0
- package/docs/quickstart-herdr.md +8 -0
- package/docs/quickstart-tmux.md +33 -6
- package/openclaw.plugin.json +11 -3
- package/package.json +3 -1
- package/templates/openclaw-skills/agent-knock-knock/SKILL.md +58 -40
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"native-thread-transition-application.js","sourceRoot":"","sources":["../../src/native-thread-transition-application.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Pure lifecycle transition decisions.
|
|
3
|
+
*
|
|
4
|
+
* Callers must collect and validate terminal, Store, process, token, and
|
|
5
|
+
* candidate facts before invoking these reducers. This module deliberately
|
|
6
|
+
* owns no I/O, lock acquisition, persistence, clocks, or user-facing text.
|
|
7
|
+
*/
|
|
8
|
+
import type { ManagedSessionState, ManagedTerminalBinding, NativeThreadCandidate, NativeThreadTransition } from "./managed-session.js";
|
|
9
|
+
import type { ManagedBindingConflictKind, TerminalNativeIdentity } from "./terminal-binding-authority.js";
|
|
10
|
+
export type { ManagedBindingConflictKind } from "./terminal-binding-authority.js";
|
|
11
|
+
export type NativeThreadCommandOperation = "new_thread" | "resume_thread";
|
|
12
|
+
export type NativeThreadTransitionEligibilityDecision = {
|
|
13
|
+
action: "proceed";
|
|
14
|
+
} | {
|
|
15
|
+
action: "reject";
|
|
16
|
+
reason: "binding_token_changed" | "lifecycle_status_not_supported" | "new_thread_not_supported" | "resume_thread_not_supported";
|
|
17
|
+
};
|
|
18
|
+
export declare function decideNativeThreadTransitionEligibility(input: {
|
|
19
|
+
operation: NativeThreadCommandOperation;
|
|
20
|
+
bindingTokenMatches: boolean;
|
|
21
|
+
capabilityStatus: "supported" | "unsupported" | "unknown";
|
|
22
|
+
newThreadSupported: boolean;
|
|
23
|
+
resumeExactSupported: boolean;
|
|
24
|
+
}): NativeThreadTransitionEligibilityDecision;
|
|
25
|
+
export type ResumeCandidateEligibilityDecision = {
|
|
26
|
+
action: "proceed";
|
|
27
|
+
candidate: NativeThreadCandidate;
|
|
28
|
+
} | {
|
|
29
|
+
action: "reject";
|
|
30
|
+
reason: "candidate_not_found" | "candidate_not_resumable" | "candidate_token_changed";
|
|
31
|
+
};
|
|
32
|
+
export declare function decideResumeCandidateEligibility(input: {
|
|
33
|
+
candidate?: NativeThreadCandidate;
|
|
34
|
+
expectedCandidateToken: string;
|
|
35
|
+
}): ResumeCandidateEligibilityDecision;
|
|
36
|
+
export type ResumeTargetSessionDecision = {
|
|
37
|
+
action: "proceed";
|
|
38
|
+
} | {
|
|
39
|
+
action: "detach_stale_binding";
|
|
40
|
+
} | {
|
|
41
|
+
action: "reject";
|
|
42
|
+
reason: "unresolved_turn" | "bound_owner_not_conclusively_inactive";
|
|
43
|
+
};
|
|
44
|
+
export declare function decideResumeTargetSession(input: {
|
|
45
|
+
hasUnresolvedTurn: boolean;
|
|
46
|
+
loadedSession?: ManagedSessionState;
|
|
47
|
+
boundOwnerConclusivelyInactive: boolean;
|
|
48
|
+
}): ResumeTargetSessionDecision;
|
|
49
|
+
export type BindingReconciliationDecision = {
|
|
50
|
+
action: "detach_conflicting_binding";
|
|
51
|
+
} | {
|
|
52
|
+
action: "reject";
|
|
53
|
+
reason: "stale_process_incarnation" | "already_exact" | "unverifiable";
|
|
54
|
+
};
|
|
55
|
+
export declare function decideBindingReconciliation(conflictKind: ManagedBindingConflictKind | undefined): BindingReconciliationDecision;
|
|
56
|
+
export type DurableNativeThreadTransitionStatus = "prepared" | "dispatching" | "submitted" | "uncertain" | "verified" | "committed" | "aborted";
|
|
57
|
+
export type NativeThreadTransitionFailureDecision = {
|
|
58
|
+
action: "report_committed_bookkeeping_failure";
|
|
59
|
+
} | {
|
|
60
|
+
action: "require_verified_recovery";
|
|
61
|
+
} | {
|
|
62
|
+
action: "abort_before_terminal_input";
|
|
63
|
+
} | {
|
|
64
|
+
action: "mark_uncertain";
|
|
65
|
+
};
|
|
66
|
+
export declare function decideNativeThreadTransitionFailure(input: {
|
|
67
|
+
durableStatus: DurableNativeThreadTransitionStatus;
|
|
68
|
+
inputStarted: boolean;
|
|
69
|
+
errorProvesInputNotStarted: boolean;
|
|
70
|
+
}): NativeThreadTransitionFailureDecision;
|
|
71
|
+
export type NativeThreadTransitionPhaseEvent = {
|
|
72
|
+
type: "dispatch_started";
|
|
73
|
+
at: string;
|
|
74
|
+
} | {
|
|
75
|
+
type: "submission_recorded";
|
|
76
|
+
at: string;
|
|
77
|
+
} | {
|
|
78
|
+
type: "target_verified";
|
|
79
|
+
at: string;
|
|
80
|
+
afterBinding: ManagedTerminalBinding;
|
|
81
|
+
} | {
|
|
82
|
+
type: "commit_recorded";
|
|
83
|
+
at: string;
|
|
84
|
+
} | {
|
|
85
|
+
type: "aborted_before_input";
|
|
86
|
+
at: string;
|
|
87
|
+
error: string;
|
|
88
|
+
} | {
|
|
89
|
+
type: "outcome_uncertain";
|
|
90
|
+
at: string;
|
|
91
|
+
error: string;
|
|
92
|
+
};
|
|
93
|
+
export interface NativeThreadTransitionPreparation {
|
|
94
|
+
transitionId: string;
|
|
95
|
+
operation: {
|
|
96
|
+
kind: "new_thread";
|
|
97
|
+
} | {
|
|
98
|
+
kind: "resume_thread";
|
|
99
|
+
nativeThreadId: string;
|
|
100
|
+
};
|
|
101
|
+
terminalId: string;
|
|
102
|
+
agent: NativeThreadTransition["agent"];
|
|
103
|
+
workspace: string;
|
|
104
|
+
source?: {
|
|
105
|
+
state: ManagedSessionState;
|
|
106
|
+
revision: number;
|
|
107
|
+
};
|
|
108
|
+
targetSessionId: string;
|
|
109
|
+
target?: {
|
|
110
|
+
state: ManagedSessionState;
|
|
111
|
+
revision: number;
|
|
112
|
+
};
|
|
113
|
+
candidateFileIdentity?: NativeThreadTransition["target_candidate_file_identity"];
|
|
114
|
+
beforeIdentity: TerminalNativeIdentity;
|
|
115
|
+
beforeProcessUuid: string;
|
|
116
|
+
beforeBinding?: ManagedTerminalBinding;
|
|
117
|
+
adapterVersion: string;
|
|
118
|
+
commandFingerprint: string;
|
|
119
|
+
dispatcherPid: number;
|
|
120
|
+
preparedAt: string;
|
|
121
|
+
}
|
|
122
|
+
export declare function prepareNativeThreadTransition(input: NativeThreadTransitionPreparation): NativeThreadTransition;
|
|
123
|
+
/**
|
|
124
|
+
* Builds the next in-memory transition value only. The caller retains the
|
|
125
|
+
* revision CAS, durable write, ledger ordering, and crash fences.
|
|
126
|
+
*/
|
|
127
|
+
export declare function reduceNativeThreadTransitionPhase(transition: NativeThreadTransition, event: NativeThreadTransitionPhaseEvent): NativeThreadTransition;
|
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Pure lifecycle transition decisions.
|
|
3
|
+
*
|
|
4
|
+
* Callers must collect and validate terminal, Store, process, token, and
|
|
5
|
+
* candidate facts before invoking these reducers. This module deliberately
|
|
6
|
+
* owns no I/O, lock acquisition, persistence, clocks, or user-facing text.
|
|
7
|
+
*/
|
|
8
|
+
export function decideNativeThreadTransitionEligibility(input) {
|
|
9
|
+
if (!input.bindingTokenMatches) {
|
|
10
|
+
return { action: "reject", reason: "binding_token_changed" };
|
|
11
|
+
}
|
|
12
|
+
if (input.capabilityStatus !== "supported") {
|
|
13
|
+
return { action: "reject", reason: "lifecycle_status_not_supported" };
|
|
14
|
+
}
|
|
15
|
+
if (input.operation === "new_thread" && !input.newThreadSupported) {
|
|
16
|
+
return { action: "reject", reason: "new_thread_not_supported" };
|
|
17
|
+
}
|
|
18
|
+
if (input.operation === "resume_thread" && !input.resumeExactSupported) {
|
|
19
|
+
return { action: "reject", reason: "resume_thread_not_supported" };
|
|
20
|
+
}
|
|
21
|
+
return { action: "proceed" };
|
|
22
|
+
}
|
|
23
|
+
export function decideResumeCandidateEligibility(input) {
|
|
24
|
+
if (input.candidate === undefined) {
|
|
25
|
+
return { action: "reject", reason: "candidate_not_found" };
|
|
26
|
+
}
|
|
27
|
+
if (!input.candidate.resumable) {
|
|
28
|
+
return { action: "reject", reason: "candidate_not_resumable" };
|
|
29
|
+
}
|
|
30
|
+
if (input.candidate.candidate_token !== input.expectedCandidateToken) {
|
|
31
|
+
return { action: "reject", reason: "candidate_token_changed" };
|
|
32
|
+
}
|
|
33
|
+
return { action: "proceed", candidate: input.candidate };
|
|
34
|
+
}
|
|
35
|
+
export function decideResumeTargetSession(input) {
|
|
36
|
+
if (input.hasUnresolvedTurn) {
|
|
37
|
+
return { action: "reject", reason: "unresolved_turn" };
|
|
38
|
+
}
|
|
39
|
+
if (input.loadedSession?.status !== "bound") {
|
|
40
|
+
return { action: "proceed" };
|
|
41
|
+
}
|
|
42
|
+
if (input.boundOwnerConclusivelyInactive !== true) {
|
|
43
|
+
return {
|
|
44
|
+
action: "reject",
|
|
45
|
+
reason: "bound_owner_not_conclusively_inactive"
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
return { action: "detach_stale_binding" };
|
|
49
|
+
}
|
|
50
|
+
export function decideBindingReconciliation(conflictKind) {
|
|
51
|
+
if (conflictKind === "provisional_orphan" ||
|
|
52
|
+
conflictKind === "live_external_thread_change") {
|
|
53
|
+
return { action: "detach_conflicting_binding" };
|
|
54
|
+
}
|
|
55
|
+
if (conflictKind === "stale_process_incarnation") {
|
|
56
|
+
return { action: "reject", reason: "stale_process_incarnation" };
|
|
57
|
+
}
|
|
58
|
+
if (conflictKind === undefined) {
|
|
59
|
+
return { action: "reject", reason: "already_exact" };
|
|
60
|
+
}
|
|
61
|
+
return { action: "reject", reason: "unverifiable" };
|
|
62
|
+
}
|
|
63
|
+
export function decideNativeThreadTransitionFailure(input) {
|
|
64
|
+
if (input.durableStatus === "committed") {
|
|
65
|
+
return { action: "report_committed_bookkeeping_failure" };
|
|
66
|
+
}
|
|
67
|
+
if (input.durableStatus === "verified") {
|
|
68
|
+
return { action: "require_verified_recovery" };
|
|
69
|
+
}
|
|
70
|
+
if (!input.inputStarted && input.errorProvesInputNotStarted) {
|
|
71
|
+
return { action: "abort_before_terminal_input" };
|
|
72
|
+
}
|
|
73
|
+
return { action: "mark_uncertain" };
|
|
74
|
+
}
|
|
75
|
+
export function prepareNativeThreadTransition(input) {
|
|
76
|
+
return {
|
|
77
|
+
schema: "agent-knock-knock/native-thread-transition",
|
|
78
|
+
version: 1,
|
|
79
|
+
transition_id: input.transitionId,
|
|
80
|
+
operation: input.operation.kind,
|
|
81
|
+
status: "prepared",
|
|
82
|
+
terminal_id: input.terminalId,
|
|
83
|
+
agent: input.agent,
|
|
84
|
+
workspace: input.workspace,
|
|
85
|
+
source_session_id: input.source?.state.session_id,
|
|
86
|
+
source_expected_revision: input.source?.revision,
|
|
87
|
+
source_previous_last_transition_id: input.source?.state.last_transition_id,
|
|
88
|
+
target_session_id: input.targetSessionId,
|
|
89
|
+
target_expected_revision: input.target?.revision ?? null,
|
|
90
|
+
target_native_thread_id: input.operation.kind === "resume_thread"
|
|
91
|
+
? input.operation.nativeThreadId
|
|
92
|
+
: undefined,
|
|
93
|
+
target_candidate_file_identity: input.candidateFileIdentity,
|
|
94
|
+
before_native_thread_id: input.beforeIdentity.sessionId,
|
|
95
|
+
before_process_uuid: input.beforeProcessUuid,
|
|
96
|
+
before_process_started_at: input.beforeIdentity.processStartedAt,
|
|
97
|
+
before_process_birth: input.beforeIdentity.processBirth,
|
|
98
|
+
before_process_rollout: input.beforeIdentity.rollout,
|
|
99
|
+
before_binding: input.beforeBinding,
|
|
100
|
+
adapter_version: input.adapterVersion,
|
|
101
|
+
command_fingerprint: input.commandFingerprint,
|
|
102
|
+
dispatcher_pid: input.dispatcherPid,
|
|
103
|
+
prepared_at: input.preparedAt
|
|
104
|
+
};
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* Builds the next in-memory transition value only. The caller retains the
|
|
108
|
+
* revision CAS, durable write, ledger ordering, and crash fences.
|
|
109
|
+
*/
|
|
110
|
+
export function reduceNativeThreadTransitionPhase(transition, event) {
|
|
111
|
+
switch (event.type) {
|
|
112
|
+
case "dispatch_started":
|
|
113
|
+
return {
|
|
114
|
+
...transition,
|
|
115
|
+
status: "dispatching",
|
|
116
|
+
dispatching_at: event.at
|
|
117
|
+
};
|
|
118
|
+
case "submission_recorded":
|
|
119
|
+
return {
|
|
120
|
+
...transition,
|
|
121
|
+
status: "submitted",
|
|
122
|
+
submitted_at: event.at
|
|
123
|
+
};
|
|
124
|
+
case "target_verified":
|
|
125
|
+
return {
|
|
126
|
+
...transition,
|
|
127
|
+
status: "verified",
|
|
128
|
+
after_binding: event.afterBinding,
|
|
129
|
+
verified_at: event.at
|
|
130
|
+
};
|
|
131
|
+
case "commit_recorded":
|
|
132
|
+
return {
|
|
133
|
+
...transition,
|
|
134
|
+
status: "committed",
|
|
135
|
+
committed_at: event.at
|
|
136
|
+
};
|
|
137
|
+
case "aborted_before_input":
|
|
138
|
+
return {
|
|
139
|
+
...transition,
|
|
140
|
+
status: "aborted",
|
|
141
|
+
aborted_at: event.at,
|
|
142
|
+
error: event.error
|
|
143
|
+
};
|
|
144
|
+
case "outcome_uncertain":
|
|
145
|
+
return {
|
|
146
|
+
...transition,
|
|
147
|
+
status: "uncertain",
|
|
148
|
+
uncertain_at: event.at,
|
|
149
|
+
error: event.error,
|
|
150
|
+
do_not_retry: true
|
|
151
|
+
};
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
//# sourceMappingURL=native-thread-transition-policy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"native-thread-transition-policy.js","sourceRoot":"","sources":["../../src/native-thread-transition-policy.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { TerminalControlRef } from "./terminal-agent-adapter.js";
|
|
2
|
+
import { type CanonicalMutationResources, type CanonicalMutationScopes } from "./mutation-transaction.js";
|
|
3
|
+
export type NativeThreadTransitionResourceBinding = Readonly<{
|
|
4
|
+
freshTerminal: TerminalControlRef;
|
|
5
|
+
capturedStoreDir: string;
|
|
6
|
+
}>;
|
|
7
|
+
/**
|
|
8
|
+
* Bind one lifecycle operation to the active terminal+writer transaction.
|
|
9
|
+
* The operation receives the post-lock terminal route and canonical Store only
|
|
10
|
+
* after authentic scopes and the captured resource identities are revalidated.
|
|
11
|
+
*/
|
|
12
|
+
export declare function nativeThreadTransitionResourceBoundOperation<Args extends unknown[], Result>(binding: NativeThreadTransitionResourceBinding, operation: (freshTerminal: TerminalControlRef, canonicalStoreDir: string, ...args: Args) => Result): (scopes: CanonicalMutationScopes, resources: CanonicalMutationResources, ...args: Args) => Result;
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import path from "node:path";
|
|
2
|
+
import { sameTerminalControlIncarnation, terminalEndpointFromControlRef, terminalRuntimeResourceKey } from "./terminal-control-ref.js";
|
|
3
|
+
import { capabilityGatedRepositoryPairOperation } from "./mutation-transaction.js";
|
|
4
|
+
/**
|
|
5
|
+
* Bind one lifecycle operation to the active terminal+writer transaction.
|
|
6
|
+
* The operation receives the post-lock terminal route and canonical Store only
|
|
7
|
+
* after authentic scopes and the captured resource identities are revalidated.
|
|
8
|
+
*/
|
|
9
|
+
export function nativeThreadTransitionResourceBoundOperation(binding, operation) {
|
|
10
|
+
const gated = capabilityGatedRepositoryPairOperation(["terminal", "storeWriter"], ["terminal", "storeWriter"], (activeTerminal, activeStoreDir, resources, ...args) => {
|
|
11
|
+
if (typeof activeStoreDir !== "string" ||
|
|
12
|
+
typeof binding.capturedStoreDir !== "string") {
|
|
13
|
+
throw new Error("native thread lifecycle Store changed outside the active writer capability");
|
|
14
|
+
}
|
|
15
|
+
const canonicalStoreDir = path.resolve(activeStoreDir);
|
|
16
|
+
let terminalCapabilityMatches = false;
|
|
17
|
+
try {
|
|
18
|
+
const activePid = Number(terminalEndpointFromControlRef(activeTerminal).processAnchorPid);
|
|
19
|
+
const freshPid = Number(terminalEndpointFromControlRef(binding.freshTerminal).processAnchorPid);
|
|
20
|
+
terminalCapabilityMatches =
|
|
21
|
+
Number.isSafeInteger(activePid) && activePid > 1 &&
|
|
22
|
+
Number.isSafeInteger(freshPid) && freshPid > 1 &&
|
|
23
|
+
sameTerminalControlIncarnation(activeTerminal, binding.freshTerminal) &&
|
|
24
|
+
resources.terminal.key ===
|
|
25
|
+
terminalRuntimeResourceKey(activeTerminal) &&
|
|
26
|
+
resources.terminal.key ===
|
|
27
|
+
terminalRuntimeResourceKey(binding.freshTerminal);
|
|
28
|
+
}
|
|
29
|
+
catch {
|
|
30
|
+
terminalCapabilityMatches = false;
|
|
31
|
+
}
|
|
32
|
+
if (!terminalCapabilityMatches) {
|
|
33
|
+
throw new Error("native thread lifecycle terminal changed outside the active capability");
|
|
34
|
+
}
|
|
35
|
+
if (activeStoreDir !== canonicalStoreDir ||
|
|
36
|
+
resources.storeWriter.key !== canonicalStoreDir ||
|
|
37
|
+
path.resolve(binding.capturedStoreDir) !== canonicalStoreDir) {
|
|
38
|
+
throw new Error("native thread lifecycle Store changed outside the active writer capability");
|
|
39
|
+
}
|
|
40
|
+
return operation(binding.freshTerminal, canonicalStoreDir, ...args);
|
|
41
|
+
});
|
|
42
|
+
return (scopes, resources, ...args) => gated(scopes, resources, resources, ...args);
|
|
43
|
+
}
|
|
44
|
+
//# sourceMappingURL=native-thread-transition-resource-adapter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"native-thread-transition-resource-adapter.js","sourceRoot":"","sources":["../../src/native-thread-transition-resource-adapter.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EACL,8BAA8B,EAC9B,8BAA8B,EAC9B,0BAA0B,EAC3B,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,sCAAsC,EAGvC,MAAM,2BAA2B,CAAC;AAOnC;;;;GAIG;AACH,MAAM,UAAU,4CAA4C,CAI1D,OAA8C,EAC9C,SAIW;IAMX,MAAM,KAAK,GAAG,sCAAsC,CAClD,CAAC,UAAU,EAAE,aAAa,CAAU,EACpC,CAAC,UAAU,EAAE,aAAa,CAAU,EACpC,CACE,cAAkC,EAClC,cAAsB,EACtB,SAAqC,EACrC,GAAG,IAAU,EACL,EAAE;QACV,IACE,OAAO,cAAc,KAAK,QAAQ;YAClC,OAAO,OAAO,CAAC,gBAAgB,KAAK,QAAQ,EAC5C,CAAC;YACD,MAAM,IAAI,KAAK,CACb,4EAA4E,CAC7E,CAAC;QACJ,CAAC;QACD,MAAM,iBAAiB,GAAG,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;QACvD,IAAI,yBAAyB,GAAG,KAAK,CAAC;QACtC,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,MAAM,CACtB,8BAA8B,CAAC,cAAc,CAAC,CAAC,gBAAgB,CAChE,CAAC;YACF,MAAM,QAAQ,GAAG,MAAM,CACrB,8BAA8B,CAC5B,OAAO,CAAC,aAAa,CACtB,CAAC,gBAAgB,CACnB,CAAC;YACF,yBAAyB;gBACvB,MAAM,CAAC,aAAa,CAAC,SAAS,CAAC,IAAI,SAAS,GAAG,CAAC;oBAChD,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,QAAQ,GAAG,CAAC;oBAC9C,8BAA8B,CAC5B,cAAc,EACd,OAAO,CAAC,aAAa,CACtB;oBACD,SAAS,CAAC,QAAQ,CAAC,GAAG;wBACpB,0BAA0B,CAAC,cAAc,CAAC;oBAC5C,SAAS,CAAC,QAAQ,CAAC,GAAG;wBACpB,0BAA0B,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;QACxD,CAAC;QAAC,MAAM,CAAC;YACP,yBAAyB,GAAG,KAAK,CAAC;QACpC,CAAC;QACD,IAAI,CAAC,yBAAyB,EAAE,CAAC;YAC/B,MAAM,IAAI,KAAK,CACb,wEAAwE,CACzE,CAAC;QACJ,CAAC;QACD,IACE,cAAc,KAAK,iBAAiB;YACpC,SAAS,CAAC,WAAW,CAAC,GAAG,KAAK,iBAAiB;YAC/C,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,gBAAgB,CAAC,KAAK,iBAAiB,EAC5D,CAAC;YACD,MAAM,IAAI,KAAK,CACb,4EAA4E,CAC7E,CAAC;QACJ,CAAC;QACD,OAAO,SAAS,CAAC,OAAO,CAAC,aAAa,EAAE,iBAAiB,EAAE,GAAG,IAAI,CAAC,CAAC;IACtE,CAAC,CACF,CAAC;IACF,OAAO,CAAC,MAAM,EAAE,SAAS,EAAE,GAAG,IAAI,EAAE,EAAE,CACpC,KAAK,CAAC,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC,CAAC;AACjD,CAAC"}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
import type { TerminalNativeIdentityFence, TerminalThreadLifecycleOperation, TerminalThreadLifecyclePlan } from "./terminal-agent-adapter.js";
|
|
2
|
+
import type { TerminalNativeIdentity } from "./terminal-binding-authority.js";
|
|
3
|
+
import { type ManagedSessionState, type ManagedTerminalBinding, type NativeThreadTransition } from "./managed-session.js";
|
|
4
|
+
import type { CanonicalMutationResources, CanonicalMutationScopes } from "./mutation-transaction.js";
|
|
5
|
+
import type { NativeThreadLifecycleLedgerPhase } from "./terminal-dispatch-ledger-codec.js";
|
|
6
|
+
export type NativeThreadVerificationRequest = Readonly<{
|
|
7
|
+
operation: TerminalThreadLifecycleOperation;
|
|
8
|
+
plan: TerminalThreadLifecyclePlan;
|
|
9
|
+
beforeIdentity?: TerminalNativeIdentity;
|
|
10
|
+
physicalBeforeIdentity?: TerminalNativeIdentity;
|
|
11
|
+
allowedCompanionIdentity?: TerminalNativeIdentityFence;
|
|
12
|
+
allowedAdditionalIdentities?: readonly TerminalNativeIdentityFence[];
|
|
13
|
+
initialScreenDigest?: string;
|
|
14
|
+
}>;
|
|
15
|
+
type ScopeArgs = [CanonicalMutationScopes, CanonicalMutationResources];
|
|
16
|
+
type Scoped<Args extends unknown[], Result> = (...args: [...ScopeArgs, ...Args]) => Result;
|
|
17
|
+
export type NativeThreadSettlementPresentation = Readonly<{
|
|
18
|
+
status: "committed";
|
|
19
|
+
transition: NativeThreadTransition;
|
|
20
|
+
identity: TerminalNativeIdentity;
|
|
21
|
+
binding: ManagedTerminalBinding;
|
|
22
|
+
committedTarget: ManagedSessionState;
|
|
23
|
+
}> | Readonly<{
|
|
24
|
+
status: "verified_recovery_required" | "uncertain";
|
|
25
|
+
transitionId: string;
|
|
26
|
+
reason: string;
|
|
27
|
+
}>;
|
|
28
|
+
type SettlementPersistencePorts = Readonly<{
|
|
29
|
+
saveLedger: Scoped<[
|
|
30
|
+
transition: NativeThreadTransition,
|
|
31
|
+
phase: NativeThreadLifecycleLedgerPhase,
|
|
32
|
+
expectation: Readonly<{
|
|
33
|
+
expectedTransitionId: string | null;
|
|
34
|
+
expectedStatus?: "prepared" | "dispatching" | "submitted";
|
|
35
|
+
}>
|
|
36
|
+
], void>;
|
|
37
|
+
loadTransition: Scoped<[string], NativeThreadTransition>;
|
|
38
|
+
saveTransition: Scoped<[
|
|
39
|
+
NativeThreadTransition,
|
|
40
|
+
Readonly<{
|
|
41
|
+
expectedRevision: number | null;
|
|
42
|
+
}>
|
|
43
|
+
], NativeThreadTransition>;
|
|
44
|
+
saveSession: Scoped<[
|
|
45
|
+
ManagedSessionState,
|
|
46
|
+
Readonly<{
|
|
47
|
+
expectedRevision: number | null;
|
|
48
|
+
}>
|
|
49
|
+
], ManagedSessionState>;
|
|
50
|
+
commitVerified: Scoped<[
|
|
51
|
+
NativeThreadTransition,
|
|
52
|
+
string
|
|
53
|
+
], ManagedSessionState>;
|
|
54
|
+
}>;
|
|
55
|
+
type SettlementEffectsPorts = Readonly<{
|
|
56
|
+
finalizeIdentity: (observed: TerminalNativeIdentity, transition: NativeThreadTransition, verifiedAt: Date) => Readonly<{
|
|
57
|
+
identity: TerminalNativeIdentity;
|
|
58
|
+
binding: ManagedTerminalBinding;
|
|
59
|
+
}>;
|
|
60
|
+
assertTargetOwnership: Scoped<[NativeThreadTransition], Promise<void>>;
|
|
61
|
+
targetConflictWorkspace: () => string;
|
|
62
|
+
}>;
|
|
63
|
+
type SettlementRuntimePorts = Readonly<{
|
|
64
|
+
now: () => Date;
|
|
65
|
+
crashAfterVerified: () => void;
|
|
66
|
+
injectTargetConflict: () => boolean;
|
|
67
|
+
errorProvesInputNotStarted: (error: unknown) => boolean;
|
|
68
|
+
summarizeError: (message: string) => Readonly<{
|
|
69
|
+
length: number;
|
|
70
|
+
preview?: string;
|
|
71
|
+
}>;
|
|
72
|
+
}>;
|
|
73
|
+
export type NativeThreadTransitionSettlementPorts = Readonly<{
|
|
74
|
+
persistence: SettlementPersistencePorts;
|
|
75
|
+
effects: SettlementEffectsPorts;
|
|
76
|
+
runtime: SettlementRuntimePorts;
|
|
77
|
+
verification: Scoped<[
|
|
78
|
+
NativeThreadVerificationRequest
|
|
79
|
+
], Promise<TerminalNativeIdentity>>;
|
|
80
|
+
present: (result: NativeThreadSettlementPresentation) => void;
|
|
81
|
+
}>;
|
|
82
|
+
export type NativeThreadSettlementRequest = Readonly<{
|
|
83
|
+
transition: NativeThreadTransition;
|
|
84
|
+
verification: NativeThreadVerificationRequest;
|
|
85
|
+
}>;
|
|
86
|
+
export declare function settleVerifiedNativeThreadTransition(request: NativeThreadSettlementRequest, scopes: CanonicalMutationScopes, resources: CanonicalMutationResources, ports: NativeThreadTransitionSettlementPorts): Promise<void>;
|
|
87
|
+
export type NativeThreadSettlementFailureRequest = Readonly<{
|
|
88
|
+
transitionId: string;
|
|
89
|
+
inputStarted: boolean;
|
|
90
|
+
sourceBefore?: ManagedSessionState;
|
|
91
|
+
sourceTransitioning?: ManagedSessionState;
|
|
92
|
+
}>;
|
|
93
|
+
export declare function settleFailedNativeThreadTransition(request: NativeThreadSettlementFailureRequest, error: unknown, scopes: CanonicalMutationScopes, resources: CanonicalMutationResources, ports: NativeThreadTransitionSettlementPorts): Promise<void>;
|
|
94
|
+
export {};
|