@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,56 @@
1
+ /**
2
+ * Subject-neutral one-shot response transaction. The ports retain ownership
3
+ * of Store shape, locking, audit wording, and native bridge semantics; this
4
+ * kernel only keeps the reserve/release/uncertain/consume ordering identical.
5
+ */
6
+ export async function executeTerminalInteractionResponseTransaction(transaction) {
7
+ const state = { phase: "none" };
8
+ let execution;
9
+ try {
10
+ execution = await transaction.dispatch({
11
+ authorize: (context) => transaction.authorize(context),
12
+ beforeDispatch: async (context) => {
13
+ if (state.phase !== "none") {
14
+ throw transaction.duplicateReservationError();
15
+ }
16
+ state.reservation = transaction.createReservation(context);
17
+ state.phase = "write_started";
18
+ await transaction.reserve(context, state.reservation, () => {
19
+ state.phase = "confirmed";
20
+ });
21
+ if (state.phase === "write_started") {
22
+ state.phase = "confirmed";
23
+ }
24
+ }
25
+ });
26
+ }
27
+ catch (error) {
28
+ if (transaction.isInputNotStarted(error) &&
29
+ state.phase === "confirmed" &&
30
+ state.reservation !== undefined) {
31
+ try {
32
+ await transaction.release(state.reservation, error);
33
+ }
34
+ catch (releaseError) {
35
+ throw await transaction.releaseFailure(state.reservation, error, releaseError);
36
+ }
37
+ throw transaction.inputNotStartedError(error);
38
+ }
39
+ const uncertain = state.phase === "confirmed" ||
40
+ (state.phase === "write_started" &&
41
+ transaction.reservationFailureFence === "write_started");
42
+ if (uncertain && state.reservation !== undefined) {
43
+ await transaction.markUncertain(state.reservation, error);
44
+ }
45
+ throw error;
46
+ }
47
+ if (!transaction.responded(execution)) {
48
+ return { state: "blocked", execution, reservation: state.reservation };
49
+ }
50
+ if (state.phase !== "confirmed" || state.reservation === undefined) {
51
+ throw transaction.missingReservationError();
52
+ }
53
+ await transaction.consume(state.reservation, execution);
54
+ return { state: "consumed", execution, reservation: state.reservation };
55
+ }
56
+ //# sourceMappingURL=terminal-interaction-response-transaction.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"terminal-interaction-response-transaction.js","sourceRoot":"","sources":["../../src/terminal-interaction-response-transaction.ts"],"names":[],"mappings":"AAiEA;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,6CAA6C,CAMjE,WAKC;IAED,MAAM,KAAK,GAGP,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;IACtB,IAAI,SAAoB,CAAC;IACzB,IAAI,CAAC;QACH,SAAS,GAAG,MAAM,WAAW,CAAC,QAAQ,CAAC;YACrC,SAAS,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,WAAW,CAAC,SAAS,CAAC,OAAO,CAAC;YACtD,cAAc,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;gBAChC,IAAI,KAAK,CAAC,KAAK,KAAK,MAAM,EAAE,CAAC;oBAC3B,MAAM,WAAW,CAAC,yBAAyB,EAAE,CAAC;gBAChD,CAAC;gBACD,KAAK,CAAC,WAAW,GAAG,WAAW,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;gBAC3D,KAAK,CAAC,KAAK,GAAG,eAAe,CAAC;gBAC9B,MAAM,WAAW,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,WAAW,EAAE,GAAG,EAAE;oBACzD,KAAK,CAAC,KAAK,GAAG,WAAW,CAAC;gBAC5B,CAAC,CAAC,CAAC;gBACH,IAAI,KAAK,CAAC,KAAK,KAAK,eAAe,EAAE,CAAC;oBACpC,KAAK,CAAC,KAAK,GAAG,WAAW,CAAC;gBAC5B,CAAC;YACH,CAAC;SACF,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IACE,WAAW,CAAC,iBAAiB,CAAC,KAAK,CAAC;YACpC,KAAK,CAAC,KAAK,KAAK,WAAW;YAC3B,KAAK,CAAC,WAAW,KAAK,SAAS,EAC/B,CAAC;YACD,IAAI,CAAC;gBACH,MAAM,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;YACtD,CAAC;YAAC,OAAO,YAAY,EAAE,CAAC;gBACtB,MAAM,MAAM,WAAW,CAAC,cAAc,CACpC,KAAK,CAAC,WAAW,EACjB,KAAK,EACL,YAAY,CACb,CAAC;YACJ,CAAC;YACD,MAAM,WAAW,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;QAChD,CAAC;QACD,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,KAAK,WAAW;YAC3C,CAAC,KAAK,CAAC,KAAK,KAAK,eAAe;gBAC9B,WAAW,CAAC,uBAAuB,KAAK,eAAe,CAAC,CAAC;QAC7D,IAAI,SAAS,IAAI,KAAK,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;YACjD,MAAM,WAAW,CAAC,aAAa,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;QAC5D,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;IAED,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,CAAC;QACtC,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC;IACzE,CAAC;IACD,IAAI,KAAK,CAAC,KAAK,KAAK,WAAW,IAAI,KAAK,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;QACnE,MAAM,WAAW,CAAC,uBAAuB,EAAE,CAAC;IAC9C,CAAC;IACD,MAAM,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;IACxD,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC;AAC1E,CAAC"}
@@ -0,0 +1,43 @@
1
+ import type { ExecutorKind } from "./executors.js";
2
+ import { type TerminalUserExplicitSendEligibility } from "./terminal-user-explicit-send-policy.js";
3
+ import type { TerminalControlRef } from "./terminal-control-ref.js";
4
+ import type { TerminalListTerminalFacts } from "./terminal-list-facts.js";
5
+ import { type ModelControlActionPolicyDecision, type ModelControlActionPolicyFacts } from "./terminal-model-control-action-policy.js";
6
+ export interface TerminalListActionSubject {
7
+ readonly exactTerminalRow: boolean;
8
+ readonly processState: string;
9
+ readonly terminalControl: TerminalControlRef;
10
+ readonly agent: ExecutorKind;
11
+ readonly pid: number;
12
+ }
13
+ export interface TerminalListCommandDecisions {
14
+ readonly send: boolean;
15
+ readonly approve: boolean;
16
+ readonly status: true;
17
+ readonly cancel: boolean;
18
+ readonly close: boolean;
19
+ readonly new_thread: boolean;
20
+ readonly list_resumable_threads: boolean;
21
+ readonly native_inspect: boolean;
22
+ readonly identify_foreground: boolean;
23
+ readonly identify_and_send: boolean;
24
+ readonly watch: boolean;
25
+ }
26
+ export interface TerminalListActionDecisions {
27
+ readonly commands: TerminalListCommandDecisions;
28
+ readonly terminalUserExplicitSend: TerminalUserExplicitSendEligibility;
29
+ readonly modelControl: ModelControlActionPolicyDecision;
30
+ }
31
+ /**
32
+ * Convert one immutable observation into semantic action decisions. This layer
33
+ * performs no Store reads, terminal capture, private-token generation, or JSON
34
+ * presentation. Mutation execution still re-observes under its terminal lock.
35
+ */
36
+ export declare function decideTerminalListActions(input: {
37
+ readonly subject: TerminalListActionSubject;
38
+ readonly facts: TerminalListTerminalFacts;
39
+ }): TerminalListActionDecisions;
40
+ export declare function modelControlPolicyFacts(input: {
41
+ readonly subject: TerminalListActionSubject;
42
+ readonly facts: TerminalListTerminalFacts;
43
+ }): ModelControlActionPolicyFacts;
@@ -0,0 +1,164 @@
1
+ import { decideTerminalUserExplicitSendEligibility } from "./terminal-user-explicit-send-policy.js";
2
+ import { decideModelControlActionPolicy } from "./terminal-model-control-action-policy.js";
3
+ import { isExactNativeThreadId } from "./managed-session.js";
4
+ /**
5
+ * Convert one immutable observation into semantic action decisions. This layer
6
+ * performs no Store reads, terminal capture, private-token generation, or JSON
7
+ * presentation. Mutation execution still re-observes under its terminal lock.
8
+ */
9
+ export function decideTerminalListActions(input) {
10
+ const { subject, facts } = input;
11
+ const state = facts.status.projected;
12
+ const control = subject.terminalControl;
13
+ const codexLifecycleIncarnationAvailable = subject.agent !== "codex" ||
14
+ Boolean(facts.native.nativeProcessUuid && facts.native.nativeProcessBirth);
15
+ const foregroundIdentificationEligible = subject.agent === "codex" &&
16
+ facts.runtime.nativeInspectionCapability.status === "supported" &&
17
+ facts.runtime.nativeInspectionCapability.statusInspection === true &&
18
+ state.screen_state === "idle" &&
19
+ state.native_identity_state !== "resolved" &&
20
+ state.approval_state.scanned === true &&
21
+ state.approval_state.blocked !== true &&
22
+ facts.composer.automatedInputComposerReady &&
23
+ codexLifecycleIncarnationAvailable &&
24
+ hasTerminalTransport(control) &&
25
+ !facts.status.hasInteraction &&
26
+ !facts.store.hasOrphanedDispatch &&
27
+ !facts.store.terminalHasBlockingTurn;
28
+ const commands = decideTerminalListCommands({
29
+ subject,
30
+ facts,
31
+ codexLifecycleIncarnationAvailable,
32
+ foregroundIdentificationEligible
33
+ });
34
+ const sendFacts = {
35
+ exactTerminalRow: subject.exactTerminalRow,
36
+ terminalId: facts.physical.terminalId,
37
+ processState: subject.processState,
38
+ terminalControl: control,
39
+ agent: subject.agent,
40
+ pid: subject.pid,
41
+ processUuid: facts.physical.processIncarnation?.processUuid,
42
+ processBirth: facts.physical.processIncarnation?.processBirth,
43
+ approvalScanned: state.approval_state.scanned === true,
44
+ approvalBlocked: state.approval_state.blocked === true,
45
+ userExplicitComposerReady: facts.composer.userExplicitComposerReady
46
+ };
47
+ return Object.freeze({
48
+ commands,
49
+ terminalUserExplicitSend: decideTerminalUserExplicitSendEligibility(sendFacts),
50
+ modelControl: decideModelControlActionPolicy(modelControlPolicyFacts(input))
51
+ });
52
+ }
53
+ function decideTerminalListCommands(input) {
54
+ const { subject, facts } = input;
55
+ const control = subject.terminalControl;
56
+ const lifecycle = facts.runtime.lifecycleCapability;
57
+ const state = facts.status.projected;
58
+ const idleAndNotBlocked = state.activity_state === "idle" &&
59
+ state.approval_state.blocked !== true;
60
+ return Object.freeze({
61
+ send: !facts.store.terminalHasBlockingTurn && idleAndNotBlocked,
62
+ approve: control.capabilities.includes("terminal_approval") &&
63
+ facts.status.projected.approval_state.approvable === true,
64
+ status: true,
65
+ cancel: control.capabilities.includes("terminal_cancel"),
66
+ close: facts.store.hasOrphanedDispatch,
67
+ new_thread: lifecycle.status === "supported" &&
68
+ lifecycle.newThread === true &&
69
+ input.codexLifecycleIncarnationAvailable &&
70
+ !facts.store.terminalHasBlockingTurn &&
71
+ idleAndNotBlocked,
72
+ list_resumable_threads: lifecycle.status === "supported" &&
73
+ lifecycle.resumeExact === true &&
74
+ input.codexLifecycleIncarnationAvailable,
75
+ native_inspect: decideNativeInspect({
76
+ subject,
77
+ facts,
78
+ codexLifecycleIncarnationAvailable: input.codexLifecycleIncarnationAvailable
79
+ }),
80
+ identify_foreground: input.foregroundIdentificationEligible,
81
+ identify_and_send: input.foregroundIdentificationEligible,
82
+ watch: control.capabilities.includes("screen_status") ||
83
+ Boolean(facts.native.authorityNativeAgentIdentity?.sessionId &&
84
+ (subject.agent !== "codex" ||
85
+ facts.native.authorityNativeAgentIdentity.rollout))
86
+ });
87
+ }
88
+ export function modelControlPolicyFacts(input) {
89
+ const { subject, facts } = input;
90
+ const profile = facts.runtime.modelControlProfile;
91
+ const capability = facts.runtime.modelControlCapability;
92
+ const behaviorProfile = profile &&
93
+ capability.behaviorProfile === profile.behaviorProfile
94
+ ? profile.behaviorProfile
95
+ : undefined;
96
+ const identity = subject.agent === "codex"
97
+ ? facts.native.nativeAgentIdentity
98
+ : facts.native.authorityNativeAgentIdentity;
99
+ const hasExactNativeIdentity = isExactNativeThreadId(identity?.sessionId) &&
100
+ (subject.agent === "codex" || Boolean(identity?.processUuid));
101
+ const residual = facts.modelControlResidual?.state === "recoverable"
102
+ ? facts.modelControlResidual
103
+ : undefined;
104
+ return {
105
+ exactTerminalRow: subject.exactTerminalRow,
106
+ terminalId: facts.physical.terminalId,
107
+ processState: subject.processState,
108
+ terminalControl: subject.terminalControl,
109
+ agent: subject.agent,
110
+ pid: subject.pid,
111
+ processUuid: facts.physical.processIncarnation?.processUuid,
112
+ processBirth: facts.physical.processIncarnation?.processBirth,
113
+ agentVersion: facts.runtime.agentVersion,
114
+ behaviorProfile,
115
+ nativeAuthority: hasExactNativeIdentity
116
+ ? { kind: "exact_session" }
117
+ : facts.codex.zeroRolloutModelControlVerified
118
+ ? { kind: "verified_zero_rollout" }
119
+ : { kind: "unavailable" },
120
+ modelControlSupported: capability.status === "supported" &&
121
+ capability.modelSelection === true &&
122
+ capability.reasoningEffortSelection === true,
123
+ approvalScanned: facts.status.effective.approval_state.scanned === true,
124
+ approvalBlocked: facts.status.effective.approval_state.blocked === true,
125
+ terminalHasInteraction: facts.status.hasInteraction,
126
+ terminalHasBlockingTurn: facts.store.terminalHasBlockingTurn,
127
+ hasOrphanedDispatch: facts.store.hasOrphanedDispatch,
128
+ surface: residual
129
+ ? {
130
+ kind: "residual",
131
+ residualKind: residual.kind,
132
+ residualFingerprint: residual.fingerprint,
133
+ activityState: facts.status.effective.activity_state
134
+ }
135
+ : facts.status.effective.activity_state === "idle" &&
136
+ facts.composer.automatedInputComposerReady
137
+ ? {
138
+ kind: "idle_empty",
139
+ screenState: facts.status.effective.screen_state
140
+ }
141
+ : { kind: "unavailable" }
142
+ };
143
+ }
144
+ function decideNativeInspect(input) {
145
+ const { subject, facts } = input;
146
+ const capability = facts.runtime.nativeInspectionCapability;
147
+ return capability.status === "supported" &&
148
+ capability.statusInspection === true &&
149
+ facts.status.projected.activity_state === "idle" &&
150
+ facts.status.projected.approval_state.blocked !== true &&
151
+ facts.composer.automatedInputComposerReady &&
152
+ hasTerminalTransport(subject.terminalControl) &&
153
+ (subject.agent === "codex"
154
+ ? input.codexLifecycleIncarnationAvailable
155
+ : Boolean(facts.native.authorityNativeAgentIdentity?.sessionId &&
156
+ facts.native.authorityNativeAgentIdentity.processUuid)) &&
157
+ !facts.store.hasOrphanedDispatch &&
158
+ !facts.store.terminalHasBlockingTurn;
159
+ }
160
+ function hasTerminalTransport(control) {
161
+ return control.capabilities.includes("send_keys") &&
162
+ control.capabilities.includes("screen_status");
163
+ }
164
+ //# sourceMappingURL=terminal-list-action-policy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"terminal-list-action-policy.js","sourceRoot":"","sources":["../../src/terminal-list-action-policy.ts"],"names":[],"mappings":"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"}
@@ -1,17 +1,17 @@
1
1
  import type { CodexOpenRootRolloutInventory } from "./agent-session-provider.js";
2
- import { type DeferredForegroundTransferSourceRolloutAuthority, type DeferredForegroundTransferSourceTurnAuthority } from "./deferred-foreground-transfer.js";
3
2
  import { type ExecutorKind } from "./executors.js";
4
3
  import { type HumanObservedHandoffTargetSnapshot, type ManagedSessionState } from "./managed-session.js";
5
4
  import { type Conversation } from "./protocol.js";
6
5
  import { type TerminalAgentAdapterRegistry, type TerminalControlRef, type TerminalRuntimeIdentity } from "./terminal-agent-adapter.js";
7
6
  import { TerminalAgentBridge, type ResolvedTerminalConversation } from "./terminal-agent-bridge.js";
8
7
  import { type TerminalDispatchOwnership } from "./terminal-action-projection.js";
9
- import { type CodexAllowedCompanionSet, type CodexSendAuthorityContext, type DeferredCodexForegroundDispatchSnapshot } from "./terminal-authority-policy.js";
8
+ import { type CodexAllowedCompanionSet, type CodexSendAuthorityContext } from "./terminal-authority-policy.js";
10
9
  import { type TerminalNativeIdentity, type TerminalNativeIdentityObservation } from "./terminal-binding-authority.js";
11
10
  import { type TerminalScopedCodexApprovalBoundary, type TerminalScopedCodexApprovalPromptSnapshot } from "./terminal-scoped-approval-authority.js";
12
- import { type TerminalDispatchLedgerDocument } from "./terminal-dispatch-ledger-codec.js";
11
+ import type { TerminalDispatchLedgerDocument } from "./terminal-dispatch-ledger-codec.js";
13
12
  import type { TerminalProcessSource } from "./terminal-process-source.js";
14
13
  import type { TerminalControlProvider } from "./terminal-control-provider.js";
14
+ import { type TerminalListInventoryEntry, type TerminalListInventoryScan } from "./terminal-list-inventory.js";
15
15
  interface JsonObject {
16
16
  [key: string]: unknown;
17
17
  }
@@ -64,38 +64,8 @@ interface TerminalListNativeIdentityRequest {
64
64
  allowedCompanionIdentity?: CodexAllowedCompanionSet["primary"];
65
65
  allowedAdditionalIdentities?: CodexAllowedCompanionSet["additional"];
66
66
  }
67
- interface DeferredCodexAuthorityObservation {
68
- sourceRolloutAuthority: DeferredForegroundTransferSourceRolloutAuthority;
69
- sourceTurnHistory?: DeferredForegroundTransferSourceTurnAuthority[];
70
- dispatchSnapshot?: DeferredCodexForegroundDispatchSnapshot;
71
- sourceAbandonmentFingerprint?: string;
72
- exactSource: boolean;
73
- }
74
- export interface TerminalListScanEntry {
75
- agent?: string;
76
- activity_state?: string;
77
- durable_activity_reason?: string;
78
- durable_activity_state?: string;
79
- cwd?: string;
80
- id?: string;
81
- native_identity_state?: string;
82
- screen_reason?: string;
83
- screen_state?: string;
84
- short_ref?: string;
85
- terminal_control?: {
86
- target?: string;
87
- [field: string]: unknown;
88
- };
89
- workspace?: string;
90
- [field: string]: unknown;
91
- }
92
- export interface TerminalListScan {
93
- terminalControlled: TerminalListScanEntry[];
94
- summary: {
95
- error?: string;
96
- [field: string]: unknown;
97
- };
98
- }
67
+ export type TerminalListScanEntry = TerminalListInventoryEntry;
68
+ export type TerminalListScan = TerminalListInventoryScan;
99
69
  export type ExactTerminalListObservation = {
100
70
  state: "available";
101
71
  rawTerminal: TerminalListScanEntry;
@@ -226,7 +196,7 @@ export interface TerminalListAuthorityPorts {
226
196
  candidateInventory?: CodexOpenRootRolloutInventory;
227
197
  abandonment: "never" | "missing_rollout";
228
198
  requireUnclaimedCandidate: true;
229
- }): DeferredCodexAuthorityObservation | undefined;
199
+ }): import("./terminal-list-ownership-service.js").DeferredCodexAuthorityObservation | undefined;
230
200
  observedHandoffTargetResolution(request: {
231
201
  storeDir: string;
232
202
  agent: ExecutorKind;