@scotthuang/agent-knock-knock 0.13.3 → 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 (259) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/README.md +13 -5
  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/codex-process-incarnation.d.ts +8 -0
  14. package/dist/src/codex-process-incarnation.js +36 -0
  15. package/dist/src/codex-process-incarnation.js.map +1 -0
  16. package/dist/src/deferred-foreground-conflict-policy.d.ts +22 -0
  17. package/dist/src/deferred-foreground-conflict-policy.js +52 -0
  18. package/dist/src/deferred-foreground-conflict-policy.js.map +1 -0
  19. package/dist/src/durable-notification-kernel.d.ts +94 -0
  20. package/dist/src/durable-notification-kernel.js +68 -0
  21. package/dist/src/durable-notification-kernel.js.map +1 -0
  22. package/dist/src/herdr-socket-transport.d.ts +43 -0
  23. package/dist/src/herdr-socket-transport.js +170 -0
  24. package/dist/src/herdr-socket-transport.js.map +1 -0
  25. package/dist/src/herdr-terminal-control-provider.d.ts +2 -45
  26. package/dist/src/herdr-terminal-control-provider.js +2 -172
  27. package/dist/src/herdr-terminal-control-provider.js.map +1 -1
  28. package/dist/src/host-adapter-capabilities.d.ts +35 -0
  29. package/dist/src/host-adapter-capabilities.js +146 -0
  30. package/dist/src/host-adapter-capabilities.js.map +1 -0
  31. package/dist/src/host-adapter.d.ts +9 -3
  32. package/dist/src/host-adapter.js +33 -9
  33. package/dist/src/host-adapter.js.map +1 -1
  34. package/dist/src/host-bridge-tools.d.ts +3 -4
  35. package/dist/src/host-bridge-tools.js +49 -92
  36. package/dist/src/host-bridge-tools.js.map +1 -1
  37. package/dist/src/host-bridge.js +5 -5
  38. package/dist/src/host-bridge.js.map +1 -1
  39. package/dist/src/host-monitor-reconciliation.d.ts +6 -0
  40. package/dist/src/host-monitor-reconciliation.js +96 -0
  41. package/dist/src/host-monitor-reconciliation.js.map +1 -0
  42. package/dist/src/native-thread-lifecycle-cli-adapter.js +116 -60
  43. package/dist/src/native-thread-lifecycle-cli-adapter.js.map +1 -1
  44. package/dist/src/openclaw-list-projection.d.ts +2 -0
  45. package/dist/src/openclaw-list-projection.js +3 -0
  46. package/dist/src/openclaw-list-projection.js.map +1 -0
  47. package/dist/src/openclaw-model-facing-field-policy.d.ts +2 -0
  48. package/dist/src/openclaw-model-facing-field-policy.js +3 -0
  49. package/dist/src/openclaw-model-facing-field-policy.js.map +1 -0
  50. package/dist/src/openclaw-plugin-command-adapter.d.ts +6 -29
  51. package/dist/src/openclaw-plugin-command-adapter.js +7 -2660
  52. package/dist/src/openclaw-plugin-command-adapter.js.map +1 -1
  53. package/dist/src/openclaw-plugin-helpers.d.ts +2 -148
  54. package/dist/src/openclaw-plugin-helpers.js +2 -1844
  55. package/dist/src/openclaw-plugin-helpers.js.map +1 -1
  56. package/dist/src/openclaw-plugin-schemas.d.ts +2 -563
  57. package/dist/src/openclaw-plugin-schemas.js +2 -572
  58. package/dist/src/openclaw-plugin-schemas.js.map +1 -1
  59. package/dist/src/openclaw-plugin-supervisor.d.ts +4 -5
  60. package/dist/src/openclaw-plugin-supervisor.js +5 -94
  61. package/dist/src/openclaw-plugin-supervisor.js.map +1 -1
  62. package/dist/src/openclaw-plugin-value-helpers.d.ts +2 -0
  63. package/dist/src/openclaw-plugin-value-helpers.js +3 -0
  64. package/dist/src/openclaw-plugin-value-helpers.js.map +1 -0
  65. package/dist/src/openclaw-private-authority-offers.d.ts +4 -39
  66. package/dist/src/openclaw-private-authority-offers.js +3 -258
  67. package/dist/src/openclaw-private-authority-offers.js.map +1 -1
  68. package/dist/src/semantic-private-authority-offers.d.ts +41 -0
  69. package/dist/src/semantic-private-authority-offers.js +261 -0
  70. package/dist/src/semantic-private-authority-offers.js.map +1 -0
  71. package/dist/src/semantic-tool-arguments.d.ts +9 -0
  72. package/dist/src/semantic-tool-arguments.js +64 -0
  73. package/dist/src/semantic-tool-arguments.js.map +1 -0
  74. package/dist/src/semantic-tool-catalog.d.ts +48 -0
  75. package/dist/src/semantic-tool-catalog.js +105 -0
  76. package/dist/src/semantic-tool-catalog.js.map +1 -0
  77. package/dist/src/semantic-tool-command-helpers.d.ts +145 -0
  78. package/dist/src/semantic-tool-command-helpers.js +1272 -0
  79. package/dist/src/semantic-tool-command-helpers.js.map +1 -0
  80. package/dist/src/semantic-tool-list-projection.d.ts +10 -0
  81. package/dist/src/semantic-tool-list-projection.js +497 -0
  82. package/dist/src/semantic-tool-list-projection.js.map +1 -0
  83. package/dist/src/semantic-tool-model-facing-field-policy.d.ts +3 -0
  84. package/dist/src/semantic-tool-model-facing-field-policy.js +66 -0
  85. package/dist/src/semantic-tool-model-facing-field-policy.js.map +1 -0
  86. package/dist/src/semantic-tool-presentation.d.ts +37 -0
  87. package/dist/src/semantic-tool-presentation.js +680 -0
  88. package/dist/src/semantic-tool-presentation.js.map +1 -0
  89. package/dist/src/semantic-tool-private-authority.d.ts +39 -0
  90. package/dist/src/semantic-tool-private-authority.js +602 -0
  91. package/dist/src/semantic-tool-private-authority.js.map +1 -0
  92. package/dist/src/semantic-tool-relay.d.ts +16 -0
  93. package/dist/src/semantic-tool-relay.js +175 -0
  94. package/dist/src/semantic-tool-relay.js.map +1 -0
  95. package/dist/src/semantic-tool-runtime.d.ts +10 -0
  96. package/dist/src/semantic-tool-runtime.js +1157 -0
  97. package/dist/src/semantic-tool-runtime.js.map +1 -0
  98. package/dist/src/semantic-tool-schemas.d.ts +563 -0
  99. package/dist/src/semantic-tool-schemas.js +573 -0
  100. package/dist/src/semantic-tool-schemas.js.map +1 -0
  101. package/dist/src/semantic-tool-value-helpers.d.ts +5 -0
  102. package/dist/src/semantic-tool-value-helpers.js +27 -0
  103. package/dist/src/semantic-tool-value-helpers.js.map +1 -0
  104. package/dist/src/store-event-presentation.d.ts +17 -0
  105. package/dist/src/store-event-presentation.js +33 -0
  106. package/dist/src/store-event-presentation.js.map +1 -0
  107. package/dist/src/store.d.ts +3 -16
  108. package/dist/src/store.js +2 -30
  109. package/dist/src/store.js.map +1 -1
  110. package/dist/src/terminal-action-projection.d.ts +2 -98
  111. package/dist/src/terminal-action-projection.js +13 -215
  112. package/dist/src/terminal-action-projection.js.map +1 -1
  113. package/dist/src/terminal-agent-bridge.d.ts +14 -340
  114. package/dist/src/terminal-agent-bridge.js +155 -3226
  115. package/dist/src/terminal-agent-bridge.js.map +1 -1
  116. package/dist/src/terminal-approval-cli-adapter.d.ts +17 -0
  117. package/dist/src/terminal-approval-cli-adapter.js +921 -0
  118. package/dist/src/terminal-approval-cli-adapter.js.map +1 -0
  119. package/dist/src/terminal-command-cli-adapter.d.ts +2 -429
  120. package/dist/src/terminal-command-cli-adapter.js +344 -6061
  121. package/dist/src/terminal-command-cli-adapter.js.map +1 -1
  122. package/dist/src/terminal-command-cli-ports.d.ts +443 -0
  123. package/dist/src/terminal-command-cli-ports.js +2 -0
  124. package/dist/src/terminal-command-cli-ports.js.map +1 -0
  125. package/dist/src/terminal-command-dispatch-preparation.d.ts +81 -0
  126. package/dist/src/terminal-command-dispatch-preparation.js +209 -0
  127. package/dist/src/terminal-command-dispatch-preparation.js.map +1 -0
  128. package/dist/src/terminal-command-dispatch-transport.d.ts +35 -0
  129. package/dist/src/terminal-command-dispatch-transport.js +859 -0
  130. package/dist/src/terminal-command-dispatch-transport.js.map +1 -0
  131. package/dist/src/terminal-command-foreground-proof.d.ts +32 -0
  132. package/dist/src/terminal-command-foreground-proof.js +72 -0
  133. package/dist/src/terminal-command-foreground-proof.js.map +1 -0
  134. package/dist/src/terminal-command-send-preflight.d.ts +41 -0
  135. package/dist/src/terminal-command-send-preflight.js +86 -0
  136. package/dist/src/terminal-command-send-preflight.js.map +1 -0
  137. package/dist/src/terminal-composer-classifier.d.ts +55 -0
  138. package/dist/src/terminal-composer-classifier.js +638 -0
  139. package/dist/src/terminal-composer-classifier.js.map +1 -0
  140. package/dist/src/terminal-dispatch-recovery-authority.d.ts +56 -0
  141. package/dist/src/terminal-dispatch-recovery-authority.js +251 -0
  142. package/dist/src/terminal-dispatch-recovery-authority.js.map +1 -0
  143. package/dist/src/terminal-dispatch-recovery-cli-adapter.d.ts +1 -9
  144. package/dist/src/terminal-dispatch-recovery-cli-adapter.js +5 -240
  145. package/dist/src/terminal-dispatch-recovery-cli-adapter.js.map +1 -1
  146. package/dist/src/terminal-handoff-cli-adapter.d.ts +1 -11
  147. package/dist/src/terminal-handoff-cli-adapter.js +2 -39
  148. package/dist/src/terminal-handoff-cli-adapter.js.map +1 -1
  149. package/dist/src/terminal-human-explicit-send-cli-adapter.d.ts +25 -0
  150. package/dist/src/terminal-human-explicit-send-cli-adapter.js +903 -0
  151. package/dist/src/terminal-human-explicit-send-cli-adapter.js.map +1 -0
  152. package/dist/src/terminal-identity-authority-cli-adapter.d.ts +1 -6
  153. package/dist/src/terminal-identity-authority-cli-adapter.js +3 -33
  154. package/dist/src/terminal-identity-authority-cli-adapter.js.map +1 -1
  155. package/dist/src/terminal-interaction-cli-adapter.js +209 -210
  156. package/dist/src/terminal-interaction-cli-adapter.js.map +1 -1
  157. package/dist/src/terminal-interaction-core.d.ts +0 -2
  158. package/dist/src/terminal-interaction-core.js +4 -3
  159. package/dist/src/terminal-interaction-core.js.map +1 -1
  160. package/dist/src/terminal-interaction-protocol.d.ts +21 -0
  161. package/dist/src/terminal-interaction-protocol.js +74 -0
  162. package/dist/src/terminal-interaction-protocol.js.map +1 -1
  163. package/dist/src/terminal-interaction-response-bridge.d.ts +126 -0
  164. package/dist/src/terminal-interaction-response-bridge.js +579 -0
  165. package/dist/src/terminal-interaction-response-bridge.js.map +1 -0
  166. package/dist/src/terminal-interaction-response-transaction.d.ts +44 -0
  167. package/dist/src/terminal-interaction-response-transaction.js +56 -0
  168. package/dist/src/terminal-interaction-response-transaction.js.map +1 -0
  169. package/dist/src/terminal-list-action-policy.d.ts +43 -0
  170. package/dist/src/terminal-list-action-policy.js +164 -0
  171. package/dist/src/terminal-list-action-policy.js.map +1 -0
  172. package/dist/src/terminal-list-cli-adapter.d.ts +6 -36
  173. package/dist/src/terminal-list-cli-adapter.js +241 -1946
  174. package/dist/src/terminal-list-cli-adapter.js.map +1 -1
  175. package/dist/src/terminal-list-facts.d.ts +129 -0
  176. package/dist/src/terminal-list-facts.js +179 -0
  177. package/dist/src/terminal-list-facts.js.map +1 -0
  178. package/dist/src/terminal-list-inventory.d.ts +59 -0
  179. package/dist/src/terminal-list-inventory.js +194 -0
  180. package/dist/src/terminal-list-inventory.js.map +1 -0
  181. package/dist/src/terminal-list-ownership-service.d.ts +118 -0
  182. package/dist/src/terminal-list-ownership-service.js +1003 -0
  183. package/dist/src/terminal-list-ownership-service.js.map +1 -0
  184. package/dist/src/terminal-list-projection-service.d.ts +49 -0
  185. package/dist/src/terminal-list-projection-service.js +407 -0
  186. package/dist/src/terminal-list-projection-service.js.map +1 -0
  187. package/dist/src/terminal-list-renderer.d.ts +11 -11
  188. package/dist/src/terminal-list-renderer.js +168 -119
  189. package/dist/src/terminal-list-renderer.js.map +1 -1
  190. package/dist/src/terminal-managed-send-cli-adapter.d.ts +33 -0
  191. package/dist/src/terminal-managed-send-cli-adapter.js +994 -0
  192. package/dist/src/terminal-managed-send-cli-adapter.js.map +1 -0
  193. package/dist/src/terminal-managed-turn-list-action-policy.d.ts +47 -0
  194. package/dist/src/terminal-managed-turn-list-action-policy.js +64 -0
  195. package/dist/src/terminal-managed-turn-list-action-policy.js.map +1 -0
  196. package/dist/src/terminal-model-control-action-policy.d.ts +60 -0
  197. package/dist/src/terminal-model-control-action-policy.js +96 -0
  198. package/dist/src/terminal-model-control-action-policy.js.map +1 -0
  199. package/dist/src/terminal-model-control-availability.d.ts +68 -0
  200. package/dist/src/terminal-model-control-availability.js +157 -0
  201. package/dist/src/terminal-model-control-availability.js.map +1 -0
  202. package/dist/src/terminal-model-control-bridge.d.ts +48 -0
  203. package/dist/src/terminal-model-control-bridge.js +259 -0
  204. package/dist/src/terminal-model-control-bridge.js.map +1 -0
  205. package/dist/src/terminal-model-control-profile.d.ts +55 -0
  206. package/dist/src/terminal-model-control-profile.js +137 -0
  207. package/dist/src/terminal-model-control-profile.js.map +1 -0
  208. package/dist/src/terminal-model-control-subject.d.ts +34 -0
  209. package/dist/src/terminal-model-control-subject.js +58 -0
  210. package/dist/src/terminal-model-control-subject.js.map +1 -0
  211. package/dist/src/terminal-model-control-transaction.d.ts +19 -0
  212. package/dist/src/terminal-model-control-transaction.js +39 -0
  213. package/dist/src/terminal-model-control-transaction.js.map +1 -0
  214. package/dist/src/terminal-model-control.d.ts +37 -18
  215. package/dist/src/terminal-model-control.js +285 -194
  216. package/dist/src/terminal-model-control.js.map +1 -1
  217. package/dist/src/terminal-monitor-application-service.js +50 -17
  218. package/dist/src/terminal-monitor-application-service.js.map +1 -1
  219. package/dist/src/terminal-native-inspection-bridge.d.ts +211 -0
  220. package/dist/src/terminal-native-inspection-bridge.js +1127 -0
  221. package/dist/src/terminal-native-inspection-bridge.js.map +1 -0
  222. package/dist/src/terminal-runtime-cli-adapter.d.ts +2 -2
  223. package/dist/src/terminal-runtime-cli-adapter.js.map +1 -1
  224. package/dist/src/terminal-submission-retry-application.d.ts +24 -0
  225. package/dist/src/terminal-submission-retry-application.js +402 -0
  226. package/dist/src/terminal-submission-retry-application.js.map +1 -0
  227. package/dist/src/terminal-submission-retry-ports.d.ts +30 -0
  228. package/dist/src/terminal-submission-retry-ports.js +2 -0
  229. package/dist/src/terminal-submission-retry-ports.js.map +1 -0
  230. package/dist/src/terminal-submission-retry-reconciliation.d.ts +236 -0
  231. package/dist/src/terminal-submission-retry-reconciliation.js +1130 -0
  232. package/dist/src/terminal-submission-retry-reconciliation.js.map +1 -0
  233. package/dist/src/terminal-submission-retry-transport.d.ts +58 -0
  234. package/dist/src/terminal-submission-retry-transport.js +675 -0
  235. package/dist/src/terminal-submission-retry-transport.js.map +1 -0
  236. package/dist/src/terminal-text-submission-bridge.d.ts +200 -0
  237. package/dist/src/terminal-text-submission-bridge.js +632 -0
  238. package/dist/src/terminal-text-submission-bridge.js.map +1 -0
  239. package/dist/src/terminal-user-explicit-send-policy.d.ts +29 -0
  240. package/dist/src/terminal-user-explicit-send-policy.js +46 -0
  241. package/dist/src/terminal-user-explicit-send-policy.js.map +1 -0
  242. package/dist/src/terminal-watch-cli-adapter.js +91 -143
  243. package/dist/src/terminal-watch-cli-adapter.js.map +1 -1
  244. package/dist/src/terminal-watch-codec.d.ts +9 -0
  245. package/dist/src/terminal-watch-codec.js +1051 -0
  246. package/dist/src/terminal-watch-codec.js.map +1 -0
  247. package/dist/src/terminal-watch-interaction-response-store.d.ts +19 -0
  248. package/dist/src/terminal-watch-interaction-response-store.js +87 -0
  249. package/dist/src/terminal-watch-interaction-response-store.js.map +1 -0
  250. package/dist/src/terminal-watch-record.d.ts +319 -0
  251. package/dist/src/terminal-watch-record.js +742 -0
  252. package/dist/src/terminal-watch-record.js.map +1 -0
  253. package/dist/src/terminal-watch-service.js +48 -27
  254. package/dist/src/terminal-watch-service.js.map +1 -1
  255. package/dist/src/terminal-watch-store.d.ts +3 -279
  256. package/dist/src/terminal-watch-store.js +5 -1779
  257. package/dist/src/terminal-watch-store.js.map +1 -1
  258. package/package.json +7 -2
  259. package/templates/openclaw-skills/agent-knock-knock/SKILL.md +1 -1
@@ -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;