@scotthuang/agent-knock-knock 0.13.2 → 0.13.4

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.
Files changed (278) hide show
  1. package/CHANGELOG.md +36 -0
  2. package/README.md +27 -6
  3. package/dist/src/callback-outbox-policy.js +27 -6
  4. package/dist/src/callback-outbox-policy.js.map +1 -1
  5. package/dist/src/callback-outbox-service.d.ts +4 -30
  6. package/dist/src/callback-outbox-service.js +21 -154
  7. package/dist/src/callback-outbox-service.js.map +1 -1
  8. package/dist/src/callback-outbox-settlement.js +13 -8
  9. package/dist/src/callback-outbox-settlement.js.map +1 -1
  10. package/dist/src/callback-route-service.d.ts +46 -0
  11. package/dist/src/callback-route-service.js +155 -0
  12. package/dist/src/callback-route-service.js.map +1 -0
  13. package/dist/src/claude-terminal-agent-adapter.js +4 -0
  14. package/dist/src/claude-terminal-agent-adapter.js.map +1 -1
  15. package/dist/src/cli-core.js +9 -1
  16. package/dist/src/cli-core.js.map +1 -1
  17. package/dist/src/codex-process-incarnation.d.ts +8 -0
  18. package/dist/src/codex-process-incarnation.js +36 -0
  19. package/dist/src/codex-process-incarnation.js.map +1 -0
  20. package/dist/src/codex-terminal-agent-adapter.js +4 -0
  21. package/dist/src/codex-terminal-agent-adapter.js.map +1 -1
  22. package/dist/src/deferred-foreground-conflict-policy.d.ts +22 -0
  23. package/dist/src/deferred-foreground-conflict-policy.js +52 -0
  24. package/dist/src/deferred-foreground-conflict-policy.js.map +1 -0
  25. package/dist/src/durable-notification-kernel.d.ts +94 -0
  26. package/dist/src/durable-notification-kernel.js +68 -0
  27. package/dist/src/durable-notification-kernel.js.map +1 -0
  28. package/dist/src/herdr-socket-transport.d.ts +43 -0
  29. package/dist/src/herdr-socket-transport.js +170 -0
  30. package/dist/src/herdr-socket-transport.js.map +1 -0
  31. package/dist/src/herdr-terminal-control-provider.d.ts +2 -45
  32. package/dist/src/herdr-terminal-control-provider.js +8 -173
  33. package/dist/src/herdr-terminal-control-provider.js.map +1 -1
  34. package/dist/src/host-adapter-capabilities.d.ts +35 -0
  35. package/dist/src/host-adapter-capabilities.js +146 -0
  36. package/dist/src/host-adapter-capabilities.js.map +1 -0
  37. package/dist/src/host-adapter.d.ts +9 -3
  38. package/dist/src/host-adapter.js +33 -9
  39. package/dist/src/host-adapter.js.map +1 -1
  40. package/dist/src/host-bridge-tools.d.ts +3 -4
  41. package/dist/src/host-bridge-tools.js +49 -92
  42. package/dist/src/host-bridge-tools.js.map +1 -1
  43. package/dist/src/host-bridge.js +5 -5
  44. package/dist/src/host-bridge.js.map +1 -1
  45. package/dist/src/host-monitor-reconciliation.d.ts +6 -0
  46. package/dist/src/host-monitor-reconciliation.js +96 -0
  47. package/dist/src/host-monitor-reconciliation.js.map +1 -0
  48. package/dist/src/managed-session.js +2 -18
  49. package/dist/src/managed-session.js.map +1 -1
  50. package/dist/src/native-thread-lifecycle-cli-adapter.d.ts +13 -0
  51. package/dist/src/native-thread-lifecycle-cli-adapter.js +635 -3
  52. package/dist/src/native-thread-lifecycle-cli-adapter.js.map +1 -1
  53. package/dist/src/openclaw-list-projection.d.ts +2 -0
  54. package/dist/src/openclaw-list-projection.js +3 -0
  55. package/dist/src/openclaw-list-projection.js.map +1 -0
  56. package/dist/src/openclaw-model-facing-field-policy.d.ts +2 -0
  57. package/dist/src/openclaw-model-facing-field-policy.js +3 -0
  58. package/dist/src/openclaw-model-facing-field-policy.js.map +1 -0
  59. package/dist/src/openclaw-plugin-command-adapter.d.ts +6 -29
  60. package/dist/src/openclaw-plugin-command-adapter.js +7 -2370
  61. package/dist/src/openclaw-plugin-command-adapter.js.map +1 -1
  62. package/dist/src/openclaw-plugin-helpers.d.ts +2 -121
  63. package/dist/src/openclaw-plugin-helpers.js +2 -1164
  64. package/dist/src/openclaw-plugin-helpers.js.map +1 -1
  65. package/dist/src/openclaw-plugin-schemas.d.ts +2 -510
  66. package/dist/src/openclaw-plugin-schemas.js +2 -519
  67. package/dist/src/openclaw-plugin-schemas.js.map +1 -1
  68. package/dist/src/openclaw-plugin-supervisor.d.ts +4 -5
  69. package/dist/src/openclaw-plugin-supervisor.js +5 -94
  70. package/dist/src/openclaw-plugin-supervisor.js.map +1 -1
  71. package/dist/src/openclaw-plugin-value-helpers.d.ts +2 -0
  72. package/dist/src/openclaw-plugin-value-helpers.js +3 -0
  73. package/dist/src/openclaw-plugin-value-helpers.js.map +1 -0
  74. package/dist/src/openclaw-private-authority-offers.d.ts +4 -39
  75. package/dist/src/openclaw-private-authority-offers.js +3 -258
  76. package/dist/src/openclaw-private-authority-offers.js.map +1 -1
  77. package/dist/src/semantic-private-authority-offers.d.ts +41 -0
  78. package/dist/src/semantic-private-authority-offers.js +261 -0
  79. package/dist/src/semantic-private-authority-offers.js.map +1 -0
  80. package/dist/src/semantic-tool-arguments.d.ts +9 -0
  81. package/dist/src/semantic-tool-arguments.js +64 -0
  82. package/dist/src/semantic-tool-arguments.js.map +1 -0
  83. package/dist/src/semantic-tool-catalog.d.ts +48 -0
  84. package/dist/src/semantic-tool-catalog.js +105 -0
  85. package/dist/src/semantic-tool-catalog.js.map +1 -0
  86. package/dist/src/semantic-tool-command-helpers.d.ts +145 -0
  87. package/dist/src/semantic-tool-command-helpers.js +1272 -0
  88. package/dist/src/semantic-tool-command-helpers.js.map +1 -0
  89. package/dist/src/semantic-tool-list-projection.d.ts +10 -0
  90. package/dist/src/semantic-tool-list-projection.js +497 -0
  91. package/dist/src/semantic-tool-list-projection.js.map +1 -0
  92. package/dist/src/semantic-tool-model-facing-field-policy.d.ts +3 -0
  93. package/dist/src/semantic-tool-model-facing-field-policy.js +66 -0
  94. package/dist/src/semantic-tool-model-facing-field-policy.js.map +1 -0
  95. package/dist/src/semantic-tool-presentation.d.ts +37 -0
  96. package/dist/src/semantic-tool-presentation.js +680 -0
  97. package/dist/src/semantic-tool-presentation.js.map +1 -0
  98. package/dist/src/semantic-tool-private-authority.d.ts +39 -0
  99. package/dist/src/semantic-tool-private-authority.js +602 -0
  100. package/dist/src/semantic-tool-private-authority.js.map +1 -0
  101. package/dist/src/semantic-tool-relay.d.ts +16 -0
  102. package/dist/src/semantic-tool-relay.js +175 -0
  103. package/dist/src/semantic-tool-relay.js.map +1 -0
  104. package/dist/src/semantic-tool-runtime.d.ts +10 -0
  105. package/dist/src/semantic-tool-runtime.js +1157 -0
  106. package/dist/src/semantic-tool-runtime.js.map +1 -0
  107. package/dist/src/semantic-tool-schemas.d.ts +563 -0
  108. package/dist/src/semantic-tool-schemas.js +573 -0
  109. package/dist/src/semantic-tool-schemas.js.map +1 -0
  110. package/dist/src/semantic-tool-value-helpers.d.ts +5 -0
  111. package/dist/src/semantic-tool-value-helpers.js +27 -0
  112. package/dist/src/semantic-tool-value-helpers.js.map +1 -0
  113. package/dist/src/store-event-presentation.d.ts +17 -0
  114. package/dist/src/store-event-presentation.js +33 -0
  115. package/dist/src/store-event-presentation.js.map +1 -0
  116. package/dist/src/store.d.ts +3 -16
  117. package/dist/src/store.js +2 -30
  118. package/dist/src/store.js.map +1 -1
  119. package/dist/src/terminal-action-projection.d.ts +3 -17
  120. package/dist/src/terminal-action-projection.js +13 -41
  121. package/dist/src/terminal-action-projection.js.map +1 -1
  122. package/dist/src/terminal-agent-adapter.d.ts +7 -0
  123. package/dist/src/terminal-agent-adapter.js +8 -0
  124. package/dist/src/terminal-agent-adapter.js.map +1 -1
  125. package/dist/src/terminal-agent-bridge.d.ts +35 -332
  126. package/dist/src/terminal-agent-bridge.js +293 -2798
  127. package/dist/src/terminal-agent-bridge.js.map +1 -1
  128. package/dist/src/terminal-approval-cli-adapter.d.ts +17 -0
  129. package/dist/src/terminal-approval-cli-adapter.js +921 -0
  130. package/dist/src/terminal-approval-cli-adapter.js.map +1 -0
  131. package/dist/src/terminal-command-cli-adapter.d.ts +2 -429
  132. package/dist/src/terminal-command-cli-adapter.js +344 -6061
  133. package/dist/src/terminal-command-cli-adapter.js.map +1 -1
  134. package/dist/src/terminal-command-cli-ports.d.ts +443 -0
  135. package/dist/src/terminal-command-cli-ports.js +2 -0
  136. package/dist/src/terminal-command-cli-ports.js.map +1 -0
  137. package/dist/src/terminal-command-dispatch-preparation.d.ts +81 -0
  138. package/dist/src/terminal-command-dispatch-preparation.js +209 -0
  139. package/dist/src/terminal-command-dispatch-preparation.js.map +1 -0
  140. package/dist/src/terminal-command-dispatch-transport.d.ts +35 -0
  141. package/dist/src/terminal-command-dispatch-transport.js +859 -0
  142. package/dist/src/terminal-command-dispatch-transport.js.map +1 -0
  143. package/dist/src/terminal-command-foreground-proof.d.ts +32 -0
  144. package/dist/src/terminal-command-foreground-proof.js +72 -0
  145. package/dist/src/terminal-command-foreground-proof.js.map +1 -0
  146. package/dist/src/terminal-command-send-preflight.d.ts +41 -0
  147. package/dist/src/terminal-command-send-preflight.js +86 -0
  148. package/dist/src/terminal-command-send-preflight.js.map +1 -0
  149. package/dist/src/terminal-composer-classifier.d.ts +55 -0
  150. package/dist/src/terminal-composer-classifier.js +638 -0
  151. package/dist/src/terminal-composer-classifier.js.map +1 -0
  152. package/dist/src/terminal-control-ref.d.ts +23 -0
  153. package/dist/src/terminal-control-ref.js +32 -0
  154. package/dist/src/terminal-control-ref.js.map +1 -1
  155. package/dist/src/terminal-dispatch-recovery-authority.d.ts +56 -0
  156. package/dist/src/terminal-dispatch-recovery-authority.js +251 -0
  157. package/dist/src/terminal-dispatch-recovery-authority.js.map +1 -0
  158. package/dist/src/terminal-dispatch-recovery-cli-adapter.d.ts +1 -9
  159. package/dist/src/terminal-dispatch-recovery-cli-adapter.js +5 -240
  160. package/dist/src/terminal-dispatch-recovery-cli-adapter.js.map +1 -1
  161. package/dist/src/terminal-handoff-cli-adapter.d.ts +1 -11
  162. package/dist/src/terminal-handoff-cli-adapter.js +2 -39
  163. package/dist/src/terminal-handoff-cli-adapter.js.map +1 -1
  164. package/dist/src/terminal-human-explicit-send-cli-adapter.d.ts +25 -0
  165. package/dist/src/terminal-human-explicit-send-cli-adapter.js +903 -0
  166. package/dist/src/terminal-human-explicit-send-cli-adapter.js.map +1 -0
  167. package/dist/src/terminal-identity-authority-cli-adapter.d.ts +1 -6
  168. package/dist/src/terminal-identity-authority-cli-adapter.js +3 -33
  169. package/dist/src/terminal-identity-authority-cli-adapter.js.map +1 -1
  170. package/dist/src/terminal-interaction-cli-adapter.js +209 -210
  171. package/dist/src/terminal-interaction-cli-adapter.js.map +1 -1
  172. package/dist/src/terminal-interaction-core.d.ts +0 -2
  173. package/dist/src/terminal-interaction-core.js +4 -3
  174. package/dist/src/terminal-interaction-core.js.map +1 -1
  175. package/dist/src/terminal-interaction-protocol.d.ts +21 -0
  176. package/dist/src/terminal-interaction-protocol.js +74 -0
  177. package/dist/src/terminal-interaction-protocol.js.map +1 -1
  178. package/dist/src/terminal-interaction-response-bridge.d.ts +126 -0
  179. package/dist/src/terminal-interaction-response-bridge.js +579 -0
  180. package/dist/src/terminal-interaction-response-bridge.js.map +1 -0
  181. package/dist/src/terminal-interaction-response-transaction.d.ts +44 -0
  182. package/dist/src/terminal-interaction-response-transaction.js +56 -0
  183. package/dist/src/terminal-interaction-response-transaction.js.map +1 -0
  184. package/dist/src/terminal-list-action-policy.d.ts +43 -0
  185. package/dist/src/terminal-list-action-policy.js +164 -0
  186. package/dist/src/terminal-list-action-policy.js.map +1 -0
  187. package/dist/src/terminal-list-cli-adapter.d.ts +6 -36
  188. package/dist/src/terminal-list-cli-adapter.js +314 -1711
  189. package/dist/src/terminal-list-cli-adapter.js.map +1 -1
  190. package/dist/src/terminal-list-facts.d.ts +129 -0
  191. package/dist/src/terminal-list-facts.js +179 -0
  192. package/dist/src/terminal-list-facts.js.map +1 -0
  193. package/dist/src/terminal-list-inventory.d.ts +59 -0
  194. package/dist/src/terminal-list-inventory.js +194 -0
  195. package/dist/src/terminal-list-inventory.js.map +1 -0
  196. package/dist/src/terminal-list-ownership-service.d.ts +118 -0
  197. package/dist/src/terminal-list-ownership-service.js +1003 -0
  198. package/dist/src/terminal-list-ownership-service.js.map +1 -0
  199. package/dist/src/terminal-list-projection-service.d.ts +49 -0
  200. package/dist/src/terminal-list-projection-service.js +407 -0
  201. package/dist/src/terminal-list-projection-service.js.map +1 -0
  202. package/dist/src/terminal-list-renderer.d.ts +12 -11
  203. package/dist/src/terminal-list-renderer.js +237 -104
  204. package/dist/src/terminal-list-renderer.js.map +1 -1
  205. package/dist/src/terminal-managed-send-cli-adapter.d.ts +33 -0
  206. package/dist/src/terminal-managed-send-cli-adapter.js +994 -0
  207. package/dist/src/terminal-managed-send-cli-adapter.js.map +1 -0
  208. package/dist/src/terminal-managed-turn-list-action-policy.d.ts +47 -0
  209. package/dist/src/terminal-managed-turn-list-action-policy.js +64 -0
  210. package/dist/src/terminal-managed-turn-list-action-policy.js.map +1 -0
  211. package/dist/src/terminal-model-control-action-policy.d.ts +60 -0
  212. package/dist/src/terminal-model-control-action-policy.js +96 -0
  213. package/dist/src/terminal-model-control-action-policy.js.map +1 -0
  214. package/dist/src/terminal-model-control-availability.d.ts +68 -0
  215. package/dist/src/terminal-model-control-availability.js +157 -0
  216. package/dist/src/terminal-model-control-availability.js.map +1 -0
  217. package/dist/src/terminal-model-control-bridge.d.ts +48 -0
  218. package/dist/src/terminal-model-control-bridge.js +259 -0
  219. package/dist/src/terminal-model-control-bridge.js.map +1 -0
  220. package/dist/src/terminal-model-control-profile.d.ts +55 -0
  221. package/dist/src/terminal-model-control-profile.js +137 -0
  222. package/dist/src/terminal-model-control-profile.js.map +1 -0
  223. package/dist/src/terminal-model-control-subject.d.ts +34 -0
  224. package/dist/src/terminal-model-control-subject.js +58 -0
  225. package/dist/src/terminal-model-control-subject.js.map +1 -0
  226. package/dist/src/terminal-model-control-transaction.d.ts +19 -0
  227. package/dist/src/terminal-model-control-transaction.js +39 -0
  228. package/dist/src/terminal-model-control-transaction.js.map +1 -0
  229. package/dist/src/terminal-model-control.d.ts +331 -0
  230. package/dist/src/terminal-model-control.js +1686 -0
  231. package/dist/src/terminal-model-control.js.map +1 -0
  232. package/dist/src/terminal-monitor-application-service.js +50 -17
  233. package/dist/src/terminal-monitor-application-service.js.map +1 -1
  234. package/dist/src/terminal-native-inspection-bridge.d.ts +211 -0
  235. package/dist/src/terminal-native-inspection-bridge.js +1127 -0
  236. package/dist/src/terminal-native-inspection-bridge.js.map +1 -0
  237. package/dist/src/terminal-runtime-cli-adapter.d.ts +2 -0
  238. package/dist/src/terminal-runtime-cli-adapter.js +59 -17
  239. package/dist/src/terminal-runtime-cli-adapter.js.map +1 -1
  240. package/dist/src/terminal-submission-retry-application.d.ts +24 -0
  241. package/dist/src/terminal-submission-retry-application.js +402 -0
  242. package/dist/src/terminal-submission-retry-application.js.map +1 -0
  243. package/dist/src/terminal-submission-retry-ports.d.ts +30 -0
  244. package/dist/src/terminal-submission-retry-ports.js +2 -0
  245. package/dist/src/terminal-submission-retry-ports.js.map +1 -0
  246. package/dist/src/terminal-submission-retry-reconciliation.d.ts +236 -0
  247. package/dist/src/terminal-submission-retry-reconciliation.js +1130 -0
  248. package/dist/src/terminal-submission-retry-reconciliation.js.map +1 -0
  249. package/dist/src/terminal-submission-retry-transport.d.ts +58 -0
  250. package/dist/src/terminal-submission-retry-transport.js +675 -0
  251. package/dist/src/terminal-submission-retry-transport.js.map +1 -0
  252. package/dist/src/terminal-text-submission-bridge.d.ts +200 -0
  253. package/dist/src/terminal-text-submission-bridge.js +632 -0
  254. package/dist/src/terminal-text-submission-bridge.js.map +1 -0
  255. package/dist/src/terminal-user-explicit-send-policy.d.ts +29 -0
  256. package/dist/src/terminal-user-explicit-send-policy.js +46 -0
  257. package/dist/src/terminal-user-explicit-send-policy.js.map +1 -0
  258. package/dist/src/terminal-watch-cli-adapter.js +91 -143
  259. package/dist/src/terminal-watch-cli-adapter.js.map +1 -1
  260. package/dist/src/terminal-watch-codec.d.ts +9 -0
  261. package/dist/src/terminal-watch-codec.js +1051 -0
  262. package/dist/src/terminal-watch-codec.js.map +1 -0
  263. package/dist/src/terminal-watch-interaction-response-store.d.ts +19 -0
  264. package/dist/src/terminal-watch-interaction-response-store.js +87 -0
  265. package/dist/src/terminal-watch-interaction-response-store.js.map +1 -0
  266. package/dist/src/terminal-watch-record.d.ts +319 -0
  267. package/dist/src/terminal-watch-record.js +742 -0
  268. package/dist/src/terminal-watch-record.js.map +1 -0
  269. package/dist/src/terminal-watch-service.js +48 -27
  270. package/dist/src/terminal-watch-service.js.map +1 -1
  271. package/dist/src/terminal-watch-store.d.ts +3 -279
  272. package/dist/src/terminal-watch-store.js +5 -1779
  273. package/dist/src/terminal-watch-store.js.map +1 -1
  274. package/docs/quickstart-herdr.md +1 -1
  275. package/docs/quickstart-tmux.md +27 -2
  276. package/openclaw.plugin.json +13 -1
  277. package/package.json +7 -2
  278. package/templates/openclaw-skills/agent-knock-knock/SKILL.md +54 -11
@@ -0,0 +1 @@
1
+ {"version":3,"file":"terminal-managed-send-cli-adapter.js","sourceRoot":"","sources":["../../src/terminal-managed-send-cli-adapter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,47 @@
1
+ export interface ManagedTurnListRuntimeActionFacts {
2
+ readonly terminalBridgeReady: boolean;
3
+ readonly managedApprovalPending: boolean;
4
+ readonly renewEligible: boolean;
5
+ readonly retryCallbackEligible: boolean;
6
+ readonly retrySubmissionCandidate: boolean;
7
+ }
8
+ export interface ManagedTurnListActionFacts extends ManagedTurnListRuntimeActionFacts {
9
+ readonly status: unknown;
10
+ readonly agent: unknown;
11
+ readonly terminalBridgeAdvertised: boolean;
12
+ readonly approvalState?: Readonly<Record<string, unknown>>;
13
+ readonly orphanedTerminalDispatch?: Readonly<Record<string, unknown>>;
14
+ }
15
+ export interface ManagedTurnApprovalChoiceDecision {
16
+ readonly decision: "approve_once" | "reject";
17
+ readonly label?: string;
18
+ }
19
+ export type ManagedTurnApprovalActionDecision = {
20
+ readonly available: false;
21
+ } | {
22
+ readonly available: true;
23
+ readonly choices: readonly ManagedTurnApprovalChoiceDecision[];
24
+ };
25
+ export type ManagedTurnCloseActionDecision = {
26
+ readonly available: false;
27
+ } | {
28
+ readonly available: true;
29
+ readonly expectedMessageId?: string;
30
+ readonly expectedTransitionId?: string;
31
+ };
32
+ export interface ManagedTurnListActionDecision {
33
+ readonly status: true;
34
+ readonly respond: boolean;
35
+ readonly approval: ManagedTurnApprovalActionDecision;
36
+ readonly cancel: boolean;
37
+ readonly renew: boolean;
38
+ readonly retryCallback: boolean;
39
+ readonly retrySubmission: boolean;
40
+ readonly close: ManagedTurnCloseActionDecision;
41
+ }
42
+ /**
43
+ * Decide managed-Turn action availability from an already-sampled projection.
44
+ * This policy performs no Store/terminal reads, mints no authority, and emits no
45
+ * public JSON. Mutation execution continues to revalidate fresh authority.
46
+ */
47
+ export declare function decideManagedTurnListActions(facts: ManagedTurnListActionFacts): ManagedTurnListActionDecision;
@@ -0,0 +1,64 @@
1
+ import { isActiveConversationStatus } from "./protocol.js";
2
+ import { isRecord, nonBlankString as stringValue } from "./value-guards.js";
3
+ /**
4
+ * Decide managed-Turn action availability from an already-sampled projection.
5
+ * This policy performs no Store/terminal reads, mints no authority, and emits no
6
+ * public JSON. Mutation execution continues to revalidate fresh authority.
7
+ */
8
+ export function decideManagedTurnListActions(facts) {
9
+ const approvalState = facts.approvalState ?? {};
10
+ const waitingForOpenClaw = facts.status === "waiting_for_openclaw";
11
+ const approvalEligible = facts.terminalBridgeAdvertised &&
12
+ isActiveConversationStatus(facts.status) &&
13
+ facts.terminalBridgeReady &&
14
+ waitingForOpenClaw &&
15
+ (facts.agent !== "claude" ||
16
+ approvalState.decision_mode === "keys") &&
17
+ approvalState.approvable === true &&
18
+ stringValue(approvalState.fingerprint) !== undefined;
19
+ const closeAvailable = facts.status !== "closed";
20
+ const orphanedDispatch = facts.orphanedTerminalDispatch;
21
+ return Object.freeze({
22
+ status: true,
23
+ respond: waitingForOpenClaw &&
24
+ facts.terminalBridgeReady &&
25
+ !facts.managedApprovalPending &&
26
+ approvalState.blocked !== true,
27
+ approval: approvalEligible
28
+ ? Object.freeze({
29
+ available: true,
30
+ choices: managedApprovalChoices(approvalState)
31
+ })
32
+ : Object.freeze({ available: false }),
33
+ cancel: facts.terminalBridgeReady &&
34
+ ["waiting_for_agent", "waiting_for_openclaw"].includes(String(facts.status)) &&
35
+ !(facts.managedApprovalPending &&
36
+ approvalState.approvable !== true),
37
+ renew: facts.renewEligible,
38
+ retryCallback: facts.retryCallbackEligible,
39
+ retrySubmission: facts.agent === "codex" && facts.retrySubmissionCandidate,
40
+ close: closeAvailable
41
+ ? Object.freeze({
42
+ available: true,
43
+ expectedMessageId: stringValue(orphanedDispatch?.message_id),
44
+ expectedTransitionId: stringValue(orphanedDispatch?.transition_id)
45
+ })
46
+ : Object.freeze({ available: false })
47
+ });
48
+ }
49
+ function managedApprovalChoices(approvalState) {
50
+ if (!Array.isArray(approvalState.choices)) {
51
+ return Object.freeze([Object.freeze({
52
+ decision: "approve_once",
53
+ label: stringValue(approvalState.label)
54
+ })]);
55
+ }
56
+ return Object.freeze(approvalState.choices.flatMap((choice) => isRecord(choice) &&
57
+ (choice.decision === "approve_once" || choice.decision === "reject")
58
+ ? [Object.freeze({
59
+ decision: choice.decision,
60
+ label: stringValue(choice.label)
61
+ })]
62
+ : []));
63
+ }
64
+ //# sourceMappingURL=terminal-managed-turn-list-action-policy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"terminal-managed-turn-list-action-policy.js","sourceRoot":"","sources":["../../src/terminal-managed-turn-list-action-policy.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,60 @@
1
+ import type { ExecutorKind } from "./executors.js";
2
+ import { type TerminalModelControlBehaviorProfile } from "./terminal-model-control-profile.js";
3
+ import type { TerminalControlRef } from "./terminal-control-ref.js";
4
+ import type { TerminalModelControlResidualKind } from "./terminal-model-control.js";
5
+ export interface ModelControlActionPolicyFacts {
6
+ readonly exactTerminalRow: boolean;
7
+ readonly terminalId?: string;
8
+ readonly processState?: string;
9
+ readonly terminalControl?: TerminalControlRef;
10
+ readonly agent?: ExecutorKind;
11
+ readonly pid?: number;
12
+ readonly processUuid?: string;
13
+ readonly processBirth?: string;
14
+ readonly agentVersion?: string;
15
+ readonly behaviorProfile?: TerminalModelControlBehaviorProfile;
16
+ readonly nativeAuthority: {
17
+ readonly kind: "exact_session";
18
+ } | {
19
+ readonly kind: "verified_zero_rollout";
20
+ } | {
21
+ readonly kind: "unavailable";
22
+ };
23
+ readonly modelControlSupported: boolean;
24
+ readonly approvalScanned: boolean;
25
+ readonly approvalBlocked: boolean;
26
+ readonly terminalHasInteraction: boolean;
27
+ readonly terminalHasBlockingTurn: boolean;
28
+ readonly hasOrphanedDispatch: boolean;
29
+ readonly surface: {
30
+ readonly kind: "idle_empty";
31
+ readonly screenState?: string;
32
+ } | {
33
+ readonly kind: "residual";
34
+ readonly residualKind: TerminalModelControlResidualKind;
35
+ readonly residualFingerprint: string;
36
+ readonly activityState?: string;
37
+ } | {
38
+ readonly kind: "unavailable";
39
+ };
40
+ }
41
+ export type ModelControlActionPolicyDecision = {
42
+ readonly availability: "unavailable";
43
+ readonly reason: "invalid_subject" | "transport_unavailable" | "unsupported_profile" | "blocked" | "native_identity_unavailable" | "surface_unavailable";
44
+ } | {
45
+ readonly availability: "open_from_empty";
46
+ readonly authority: "native_session" | "zero_rollout_physical";
47
+ readonly terminalId: string;
48
+ } | {
49
+ readonly availability: "residual_continuation";
50
+ readonly terminalId: string;
51
+ } | {
52
+ readonly availability: "repair_only";
53
+ readonly terminalId: string;
54
+ };
55
+ /**
56
+ * Decide model-control semantics without minting private authority. Execution
57
+ * and List projection both re-observe the same safety facts; a separate
58
+ * materializer binds an allowed decision to the current physical subject.
59
+ */
60
+ export declare function decideModelControlActionPolicy(facts: ModelControlActionPolicyFacts): ModelControlActionPolicyDecision;
@@ -0,0 +1,96 @@
1
+ import { terminalModelControlProfileFor } from "./terminal-model-control-profile.js";
2
+ import { canonicalModelControlSubject } from "./terminal-model-control-subject.js";
3
+ /**
4
+ * Decide model-control semantics without minting private authority. Execution
5
+ * and List projection both re-observe the same safety facts; a separate
6
+ * materializer binds an allowed decision to the current physical subject.
7
+ */
8
+ export function decideModelControlActionPolicy(facts) {
9
+ const subject = canonicalModelControlSubject({
10
+ terminalId: facts.terminalId,
11
+ terminalControl: facts.terminalControl,
12
+ agent: facts.agent,
13
+ pid: facts.pid,
14
+ workspace: facts.terminalControl?.currentPath,
15
+ processUuid: facts.processUuid,
16
+ processBirth: facts.processBirth,
17
+ agentVersion: facts.agentVersion,
18
+ behaviorProfile: facts.behaviorProfile
19
+ });
20
+ const profile = subject
21
+ ? terminalModelControlProfileFor(subject.agent, subject.agentVersion)
22
+ : undefined;
23
+ if (!facts.exactTerminalRow ||
24
+ facts.processState !== "active" ||
25
+ !subject ||
26
+ !profile) {
27
+ return { availability: "unavailable", reason: "invalid_subject" };
28
+ }
29
+ const safetyReason = modelControlSafetyReason(facts, subject.terminalControl);
30
+ if (safetyReason)
31
+ return { availability: "unavailable", reason: safetyReason };
32
+ const exactIdentity = facts.nativeAuthority.kind === "exact_session";
33
+ const zeroRollout = facts.nativeAuthority.kind ===
34
+ "verified_zero_rollout" &&
35
+ subject.agent === "codex" &&
36
+ profile.supportsZeroRolloutPhysicalAuthority;
37
+ if (!exactIdentity && !zeroRollout) {
38
+ return {
39
+ availability: "unavailable",
40
+ reason: "native_identity_unavailable"
41
+ };
42
+ }
43
+ if (facts.surface.kind === "residual") {
44
+ return decideResidualModelControlAction(facts, facts.surface, subject.terminalId, profile);
45
+ }
46
+ if (facts.surface.kind !== "idle_empty" ||
47
+ facts.surface.screenState !== "idle") {
48
+ return { availability: "unavailable", reason: "surface_unavailable" };
49
+ }
50
+ return {
51
+ availability: "open_from_empty",
52
+ authority: exactIdentity ? "native_session" : "zero_rollout_physical",
53
+ terminalId: subject.terminalId
54
+ };
55
+ }
56
+ function modelControlSafetyReason(facts, control) {
57
+ if (!control.capabilities.includes("send_keys") ||
58
+ !control.capabilities.includes("screen_status")) {
59
+ return "transport_unavailable";
60
+ }
61
+ if (!facts.modelControlSupported)
62
+ return "unsupported_profile";
63
+ return !facts.approvalScanned ||
64
+ facts.approvalBlocked ||
65
+ facts.terminalHasInteraction ||
66
+ facts.terminalHasBlockingTurn ||
67
+ facts.hasOrphanedDispatch
68
+ ? "blocked"
69
+ : undefined;
70
+ }
71
+ function decideResidualModelControlAction(facts, surface, terminalId, profile) {
72
+ const { residualKind } = surface;
73
+ const fingerprint = nonBlank(surface.residualFingerprint);
74
+ if (facts.agent !== "codex" ||
75
+ !profile.supportsResidualRepair ||
76
+ (residualKind !== "model_surface" &&
77
+ (surface.activityState === "working" ||
78
+ surface.activityState === "awaiting_approval")) ||
79
+ !fingerprint ||
80
+ (residualKind !== "profiled_command_popup" &&
81
+ residualKind !== "bare_command" &&
82
+ residualKind !== "model_surface")) {
83
+ return { availability: "unavailable", reason: "surface_unavailable" };
84
+ }
85
+ return profile.supportsResidualContinuation &&
86
+ (residualKind === "profiled_command_popup" ||
87
+ residualKind === "bare_command")
88
+ ? { availability: "residual_continuation", terminalId }
89
+ : { availability: "repair_only", terminalId };
90
+ }
91
+ function nonBlank(value) {
92
+ return typeof value === "string" && value.trim().length > 0
93
+ ? value.trim()
94
+ : undefined;
95
+ }
96
+ //# sourceMappingURL=terminal-model-control-action-policy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"terminal-model-control-action-policy.js","sourceRoot":"","sources":["../../src/terminal-model-control-action-policy.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,68 @@
1
+ import type { ExecutorKind } from "./executors.js";
2
+ import { type TerminalModelControlResidualKind } from "./terminal-model-control.js";
3
+ import { type TerminalModelControlBehaviorProfile } from "./terminal-model-control-profile.js";
4
+ import { type ModelControlActionPolicyDecision } from "./terminal-model-control-action-policy.js";
5
+ import type { TerminalControlRef } from "./terminal-control-ref.js";
6
+ export interface ModelControlSafetyFacts {
7
+ readonly exactTerminalRow: boolean;
8
+ readonly terminalId?: string;
9
+ readonly processState?: string;
10
+ readonly terminalControl?: TerminalControlRef;
11
+ readonly agent?: ExecutorKind;
12
+ readonly pid?: number;
13
+ readonly processUuid?: string;
14
+ readonly processBirth?: string;
15
+ readonly agentVersion?: string;
16
+ readonly behaviorProfile?: TerminalModelControlBehaviorProfile;
17
+ readonly nativeAuthority: {
18
+ readonly kind: "exact_session";
19
+ readonly ordinaryBindingToken: string;
20
+ } | {
21
+ readonly kind: "verified_zero_rollout";
22
+ } | {
23
+ readonly kind: "unavailable";
24
+ };
25
+ readonly modelControlSupported: boolean;
26
+ readonly approvalScanned: boolean;
27
+ readonly approvalBlocked: boolean;
28
+ readonly terminalHasInteraction: boolean;
29
+ readonly terminalHasBlockingTurn: boolean;
30
+ readonly hasOrphanedDispatch: boolean;
31
+ readonly surface: {
32
+ readonly kind: "idle_empty";
33
+ readonly screenState?: string;
34
+ } | {
35
+ readonly kind: "residual";
36
+ readonly residualKind: TerminalModelControlResidualKind;
37
+ readonly residualFingerprint: string;
38
+ readonly activityState?: string;
39
+ } | {
40
+ readonly kind: "unavailable";
41
+ };
42
+ }
43
+ export type ModelControlAvailabilityDecision = {
44
+ readonly availability: "unavailable";
45
+ readonly reason: "invalid_subject" | "transport_unavailable" | "unsupported_profile" | "blocked" | "native_identity_unavailable" | "surface_unavailable";
46
+ } | {
47
+ readonly availability: "open_from_empty";
48
+ readonly authority: "native_session" | "zero_rollout_physical";
49
+ readonly terminalId: string;
50
+ readonly expectedBindingToken: string;
51
+ } | {
52
+ readonly availability: "residual_continuation";
53
+ readonly terminalId: string;
54
+ readonly expectedBindingToken: string;
55
+ readonly repairBindingToken: string;
56
+ } | {
57
+ readonly availability: "repair_only";
58
+ readonly terminalId: string;
59
+ readonly expectedBindingToken: string;
60
+ };
61
+ /**
62
+ * The single model-control availability policy shared by read-only projection
63
+ * and mutation preparation. It grants no durable authority: execution must
64
+ * independently sample these facts again while holding the terminal lock.
65
+ */
66
+ export declare function decideModelControlAvailability(facts: ModelControlSafetyFacts): ModelControlAvailabilityDecision;
67
+ /** Bind one already-decided semantic action to its current private authority. */
68
+ export declare function materializeModelControlAvailability(facts: ModelControlSafetyFacts, policy: ModelControlActionPolicyDecision): ModelControlAvailabilityDecision;
@@ -0,0 +1,157 @@
1
+ import { terminalUserExplicitModelControlBindingToken, terminalUserExplicitModelControlResidualEntryBindingToken, terminalUserExplicitModelControlRepairBindingToken } from "./terminal-model-control.js";
2
+ import { terminalModelControlProfileFor } from "./terminal-model-control-profile.js";
3
+ import { decideModelControlActionPolicy } from "./terminal-model-control-action-policy.js";
4
+ import { canonicalModelControlSubject } from "./terminal-model-control-subject.js";
5
+ /**
6
+ * The single model-control availability policy shared by read-only projection
7
+ * and mutation preparation. It grants no durable authority: execution must
8
+ * independently sample these facts again while holding the terminal lock.
9
+ */
10
+ export function decideModelControlAvailability(facts) {
11
+ const policy = decideModelControlActionPolicy(policyFacts(facts));
12
+ return materializeModelControlAvailability(facts, policy);
13
+ }
14
+ /** Bind one already-decided semantic action to its current private authority. */
15
+ export function materializeModelControlAvailability(facts, policy) {
16
+ if (policy.availability === "unavailable")
17
+ return policy;
18
+ const currentPolicy = decideModelControlActionPolicy(policyFacts(facts));
19
+ if (!samePolicyDecision(currentPolicy, policy)) {
20
+ return currentPolicy.availability === "unavailable"
21
+ ? currentPolicy
22
+ : { availability: "unavailable", reason: "surface_unavailable" };
23
+ }
24
+ const subject = canonicalModelControlSubject({
25
+ terminalId: facts.terminalId,
26
+ terminalControl: facts.terminalControl,
27
+ agent: facts.agent,
28
+ pid: facts.pid,
29
+ workspace: facts.terminalControl?.currentPath,
30
+ processUuid: facts.processUuid,
31
+ processBirth: facts.processBirth,
32
+ agentVersion: facts.agentVersion,
33
+ behaviorProfile: facts.behaviorProfile
34
+ });
35
+ const profile = subject
36
+ ? terminalModelControlProfileFor(subject.agent, subject.agentVersion)
37
+ : undefined;
38
+ if (!subject || !profile || subject.terminalId !== policy.terminalId) {
39
+ return { availability: "unavailable", reason: "invalid_subject" };
40
+ }
41
+ if (policy.availability === "open_from_empty") {
42
+ return materializeOpenFromEmpty(facts, policy, subject);
43
+ }
44
+ return materializeResidualAvailability(facts, policy, subject);
45
+ }
46
+ function materializeOpenFromEmpty(facts, policy, subject) {
47
+ const ordinaryBindingToken = facts.nativeAuthority.kind === "exact_session"
48
+ ? nonBlank(facts.nativeAuthority.ordinaryBindingToken)
49
+ : undefined;
50
+ if (policy.authority === "native_session") {
51
+ return ordinaryBindingToken
52
+ ? {
53
+ availability: "open_from_empty",
54
+ authority: "native_session",
55
+ terminalId: subject.terminalId,
56
+ expectedBindingToken: ordinaryBindingToken
57
+ }
58
+ : {
59
+ availability: "unavailable",
60
+ reason: "native_identity_unavailable"
61
+ };
62
+ }
63
+ return {
64
+ availability: "open_from_empty",
65
+ authority: "zero_rollout_physical",
66
+ terminalId: subject.terminalId,
67
+ expectedBindingToken: terminalUserExplicitModelControlBindingToken({
68
+ terminalId: subject.terminalId,
69
+ terminalControl: subject.terminalControl,
70
+ pid: subject.pid,
71
+ workspace: subject.workspace,
72
+ processUuid: subject.processUuid,
73
+ processBirth: subject.processBirth,
74
+ agentVersion: subject.agentVersion,
75
+ behaviorProfile: subject.behaviorProfile
76
+ })
77
+ };
78
+ }
79
+ function materializeResidualAvailability(facts, policy, subject) {
80
+ if (facts.surface.kind !== "residual") {
81
+ return {
82
+ availability: "unavailable",
83
+ reason: "surface_unavailable"
84
+ };
85
+ }
86
+ const residualFingerprint = nonBlank(facts.surface.residualFingerprint);
87
+ if (!residualFingerprint) {
88
+ return { availability: "unavailable", reason: "surface_unavailable" };
89
+ }
90
+ const residualKind = facts.surface.residualKind;
91
+ const repairBindingToken = terminalUserExplicitModelControlRepairBindingToken({
92
+ terminalId: subject.terminalId,
93
+ terminalControl: subject.terminalControl,
94
+ pid: subject.pid,
95
+ workspace: subject.workspace,
96
+ processUuid: subject.processUuid,
97
+ processBirth: subject.processBirth,
98
+ agentVersion: subject.agentVersion,
99
+ behaviorProfile: subject.behaviorProfile,
100
+ residualKind,
101
+ residualFingerprint
102
+ });
103
+ if (policy.availability === "residual_continuation") {
104
+ return {
105
+ availability: "residual_continuation",
106
+ terminalId: subject.terminalId,
107
+ expectedBindingToken: terminalUserExplicitModelControlResidualEntryBindingToken({
108
+ terminalId: subject.terminalId,
109
+ terminalControl: subject.terminalControl,
110
+ pid: subject.pid,
111
+ workspace: subject.workspace,
112
+ processUuid: subject.processUuid,
113
+ processBirth: subject.processBirth,
114
+ agentVersion: subject.agentVersion,
115
+ behaviorProfile: subject.behaviorProfile,
116
+ residualKind,
117
+ residualFingerprint
118
+ }),
119
+ repairBindingToken
120
+ };
121
+ }
122
+ return {
123
+ availability: "repair_only",
124
+ terminalId: subject.terminalId,
125
+ expectedBindingToken: repairBindingToken
126
+ };
127
+ }
128
+ function policyFacts(facts) {
129
+ const ordinaryBindingToken = facts.nativeAuthority.kind === "exact_session"
130
+ ? nonBlank(facts.nativeAuthority.ordinaryBindingToken)
131
+ : undefined;
132
+ return {
133
+ ...facts,
134
+ nativeAuthority: facts.nativeAuthority.kind === "exact_session" &&
135
+ ordinaryBindingToken
136
+ ? { kind: "exact_session" }
137
+ : facts.nativeAuthority.kind === "verified_zero_rollout"
138
+ ? { kind: "verified_zero_rollout" }
139
+ : { kind: "unavailable" }
140
+ };
141
+ }
142
+ function samePolicyDecision(left, right) {
143
+ return left.availability === right.availability &&
144
+ (left.availability === "unavailable"
145
+ ? right.availability === "unavailable" && left.reason === right.reason
146
+ : right.availability !== "unavailable" &&
147
+ left.terminalId === right.terminalId &&
148
+ (left.availability !== "open_from_empty" ||
149
+ right.availability === "open_from_empty" &&
150
+ left.authority === right.authority));
151
+ }
152
+ function nonBlank(value) {
153
+ return typeof value === "string" && value.trim().length > 0
154
+ ? value.trim()
155
+ : undefined;
156
+ }
157
+ //# sourceMappingURL=terminal-model-control-availability.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"terminal-model-control-availability.js","sourceRoot":"","sources":["../../src/terminal-model-control-availability.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,48 @@
1
+ import type { ExecutorKind } from "./executors.js";
2
+ import type { TerminalAgentAdapter, TerminalControlRef, TerminalRuntimeIdentity } from "./terminal-agent-adapter.js";
3
+ import { type TerminalModelControlPlan, type TerminalModelControlPorts } from "./terminal-model-control.js";
4
+ type CodexComposerCapture = {
5
+ state: "exact_draft" | "exact_empty" | "different_draft";
6
+ digest: string;
7
+ profiledSlashPopup?: true;
8
+ bareCommand?: true;
9
+ };
10
+ export interface TerminalModelControlBridgeRuntimePorts {
11
+ verifyTerminalIdentity(agent: ExecutorKind, terminalControl: TerminalControlRef, runtime: TerminalRuntimeIdentity | undefined): Promise<TerminalControlRef>;
12
+ captureStyled(terminalControl: TerminalControlRef): Promise<string>;
13
+ sendText(terminalControl: TerminalControlRef, text: string): Promise<void>;
14
+ sendKeys(terminalControl: TerminalControlRef, keys: readonly string[]): Promise<void>;
15
+ sleep(milliseconds: number): Promise<void>;
16
+ }
17
+ export interface TerminalModelControlClassifierPorts {
18
+ stripEscapes(value: string): string;
19
+ sameIdentity(left: TerminalControlRef, right: TerminalControlRef): boolean;
20
+ currentCodexComposer(styledScreen: string, expectedText: string, allowOpaqueLargePastePlaceholder: boolean, classifyOpaqueLargePasteAsDifferent: boolean, exactSlashPopupRows?: readonly string[]): CodexComposerCapture | undefined;
21
+ inspectCodexAsyncQuestionInputMode(styledScreen: string): "absent" | "collapsed" | "expanded" | "ambiguous";
22
+ codexActiveWriterViewerVisible(styledScreen: string): boolean;
23
+ isExactClaudeIdleComposer(screen: string): boolean;
24
+ exactClaudeModelControlComposer(screen: string, plan: TerminalModelControlPlan, expectedText: string): {
25
+ digest: string;
26
+ } | undefined;
27
+ exactTerminalComposer(agent: ExecutorKind, screen: string, expectedText: string): {
28
+ digest: string;
29
+ } | undefined;
30
+ }
31
+ export interface CreateTerminalModelControlPortsInput {
32
+ adapter: TerminalAgentAdapter;
33
+ plan: TerminalModelControlPlan;
34
+ runtime?: TerminalRuntimeIdentity;
35
+ beforeInput: () => void | Promise<void>;
36
+ loadCodexCatalog?: TerminalModelControlPorts["loadCodexCatalog"];
37
+ runtimePorts: TerminalModelControlBridgeRuntimePorts;
38
+ classifiers: TerminalModelControlClassifierPorts;
39
+ }
40
+ /**
41
+ * Bind model-control's semantic transaction to the terminal transport.
42
+ *
43
+ * Every input permit below is deliberately operation-local and one-shot. The
44
+ * factory neither owns terminal locks nor writes Store state: callers retain
45
+ * those boundaries and the domain state machine retains `beforeInput` timing.
46
+ */
47
+ export declare function createTerminalModelControlPorts(input: CreateTerminalModelControlPortsInput): TerminalModelControlPorts;
48
+ export {};