@with-logic/elwood 0.2.0 → 0.2.2

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 (878) hide show
  1. package/CHANGELOG.md +571 -1
  2. package/CONTRIBUTING.md +3 -0
  3. package/README.md +6 -2
  4. package/dist/bridge/socket-release.d.ts +15 -0
  5. package/dist/bridge/socket-release.d.ts.map +1 -0
  6. package/dist/bridge/socket-release.js +22 -0
  7. package/dist/bridge/socket-release.js.map +1 -0
  8. package/dist/claude/composer/border.d.ts +12 -0
  9. package/dist/claude/composer/border.d.ts.map +1 -0
  10. package/dist/claude/composer/border.js +12 -0
  11. package/dist/claude/composer/border.js.map +1 -0
  12. package/dist/claude/composer/empty-input.d.ts +15 -0
  13. package/dist/claude/composer/empty-input.d.ts.map +1 -1
  14. package/dist/claude/composer/empty-input.js +30 -11
  15. package/dist/claude/composer/empty-input.js.map +1 -1
  16. package/dist/claude/composer/footer.d.ts +26 -2
  17. package/dist/claude/composer/footer.d.ts.map +1 -1
  18. package/dist/claude/composer/footer.js +29 -2
  19. package/dist/claude/composer/footer.js.map +1 -1
  20. package/dist/claude/composer/idle.d.ts +14 -0
  21. package/dist/claude/composer/idle.d.ts.map +1 -0
  22. package/dist/claude/composer/idle.js +17 -0
  23. package/dist/claude/composer/idle.js.map +1 -0
  24. package/dist/claude/composer/last.d.ts +2 -0
  25. package/dist/claude/composer/last.d.ts.map +1 -0
  26. package/dist/claude/composer/last.js +15 -0
  27. package/dist/claude/composer/last.js.map +1 -0
  28. package/dist/claude/composer/staged-input.d.ts.map +1 -1
  29. package/dist/claude/composer/staged-input.js +2 -1
  30. package/dist/claude/composer/staged-input.js.map +1 -1
  31. package/dist/claude/hooks/stop-failure.d.ts +15 -2
  32. package/dist/claude/hooks/stop-failure.d.ts.map +1 -1
  33. package/dist/claude/hooks/stop-failure.js +32 -9
  34. package/dist/claude/hooks/stop-failure.js.map +1 -1
  35. package/dist/claude/login/stages.d.ts.map +1 -1
  36. package/dist/claude/login/stages.js +2 -2
  37. package/dist/claude/login/stages.js.map +1 -1
  38. package/dist/claude/model-picker.d.ts +1 -1
  39. package/dist/claude/model-picker.d.ts.map +1 -1
  40. package/dist/claude/model-picker.js +27 -10
  41. package/dist/claude/model-picker.js.map +1 -1
  42. package/dist/claude/preflight.d.ts +1 -1
  43. package/dist/claude/preflight.d.ts.map +1 -1
  44. package/dist/claude/preflight.js +18 -12
  45. package/dist/claude/preflight.js.map +1 -1
  46. package/dist/claude/questions/navigation.d.ts.map +1 -1
  47. package/dist/claude/questions/navigation.js +1 -2
  48. package/dist/claude/questions/navigation.js.map +1 -1
  49. package/dist/claude/questions/screen.d.ts.map +1 -1
  50. package/dist/claude/questions/screen.js +10 -2
  51. package/dist/claude/questions/screen.js.map +1 -1
  52. package/dist/claude/screen-table.d.ts +8 -5
  53. package/dist/claude/screen-table.d.ts.map +1 -1
  54. package/dist/claude/screen-table.js +20 -12
  55. package/dist/claude/screen-table.js.map +1 -1
  56. package/dist/claude/session/bridge.d.ts +2 -1
  57. package/dist/claude/session/bridge.d.ts.map +1 -1
  58. package/dist/claude/session/bridge.js +3 -1
  59. package/dist/claude/session/bridge.js.map +1 -1
  60. package/dist/claude/session/build.d.ts.map +1 -1
  61. package/dist/claude/session/build.js +13 -11
  62. package/dist/claude/session/build.js.map +1 -1
  63. package/dist/claude/session/cleanup.d.ts +18 -0
  64. package/dist/claude/session/cleanup.d.ts.map +1 -0
  65. package/dist/claude/session/cleanup.js +10 -0
  66. package/dist/claude/session/cleanup.js.map +1 -0
  67. package/dist/claude/session/index.d.ts.map +1 -1
  68. package/dist/claude/session/index.js +27 -13
  69. package/dist/claude/session/index.js.map +1 -1
  70. package/dist/claude/session/instance.d.ts +7 -8
  71. package/dist/claude/session/instance.d.ts.map +1 -1
  72. package/dist/claude/session/instance.js +9 -13
  73. package/dist/claude/session/instance.js.map +1 -1
  74. package/dist/claude/session/resume.d.ts.map +1 -1
  75. package/dist/claude/session/resume.js +14 -5
  76. package/dist/claude/session/resume.js.map +1 -1
  77. package/dist/claude/session/transcript.js +2 -2
  78. package/dist/claude/session/transcript.js.map +1 -1
  79. package/dist/claude/simple.d.ts +1 -1
  80. package/dist/claude/simple.d.ts.map +1 -1
  81. package/dist/claude/simple.js +3 -3
  82. package/dist/claude/simple.js.map +1 -1
  83. package/dist/claude/startup-prompts.d.ts +2 -0
  84. package/dist/claude/startup-prompts.d.ts.map +1 -1
  85. package/dist/claude/startup-prompts.js +5 -1
  86. package/dist/claude/startup-prompts.js.map +1 -1
  87. package/dist/claude/transcript/cursor-io.d.ts +1 -1
  88. package/dist/claude/transcript/cursor-io.d.ts.map +1 -1
  89. package/dist/claude/transcript/cursor-io.js +1 -1
  90. package/dist/claude/transcript/cursor-io.js.map +1 -1
  91. package/dist/claude/transcript/cursor.d.ts +5 -3
  92. package/dist/claude/transcript/cursor.d.ts.map +1 -1
  93. package/dist/claude/transcript/cursor.js +18 -8
  94. package/dist/claude/transcript/cursor.js.map +1 -1
  95. package/dist/claude/transcript/drain-context.d.ts +4 -3
  96. package/dist/claude/transcript/drain-context.d.ts.map +1 -1
  97. package/dist/claude/transcript/drain-context.js.map +1 -1
  98. package/dist/claude/transcript/emit.d.ts +2 -1
  99. package/dist/claude/transcript/emit.d.ts.map +1 -1
  100. package/dist/claude/transcript/emit.js +1 -0
  101. package/dist/claude/transcript/emit.js.map +1 -1
  102. package/dist/claude/transcript/index.d.ts.map +1 -1
  103. package/dist/claude/transcript/index.js +2 -2
  104. package/dist/claude/transcript/index.js.map +1 -1
  105. package/dist/claude/transcript/warnings.d.ts +2 -1
  106. package/dist/claude/transcript/warnings.d.ts.map +1 -1
  107. package/dist/claude/transcript/warnings.js +3 -2
  108. package/dist/claude/transcript/warnings.js.map +1 -1
  109. package/dist/cli/config/effective.d.ts +2 -2
  110. package/dist/cli/config/effective.d.ts.map +1 -1
  111. package/dist/cli/config/effective.js +0 -2
  112. package/dist/cli/config/effective.js.map +1 -1
  113. package/dist/cli/interactive/spawn.d.ts +0 -2
  114. package/dist/cli/interactive/spawn.d.ts.map +1 -1
  115. package/dist/cli/interactive/spawn.js +27 -24
  116. package/dist/cli/interactive/spawn.js.map +1 -1
  117. package/dist/cli/lifecycle/index.d.ts.map +1 -1
  118. package/dist/cli/lifecycle/index.js +5 -3
  119. package/dist/cli/lifecycle/index.js.map +1 -1
  120. package/dist/cli/main-failure.d.ts.map +1 -1
  121. package/dist/cli/main-failure.js +5 -2
  122. package/dist/cli/main-failure.js.map +1 -1
  123. package/dist/cli/models/combined.d.ts.map +1 -1
  124. package/dist/cli/models/combined.js +3 -2
  125. package/dist/cli/models/combined.js.map +1 -1
  126. package/dist/cli/models/render.d.ts.map +1 -1
  127. package/dist/cli/models/render.js +2 -1
  128. package/dist/cli/models/render.js.map +1 -1
  129. package/dist/cli/output/cleanup-error.d.ts +22 -0
  130. package/dist/cli/output/cleanup-error.d.ts.map +1 -0
  131. package/dist/cli/output/cleanup-error.js +67 -0
  132. package/dist/cli/output/cleanup-error.js.map +1 -0
  133. package/dist/cli/output/types.d.ts +6 -2
  134. package/dist/cli/output/types.d.ts.map +1 -1
  135. package/dist/cli/request/agent-detect.d.ts +6 -2
  136. package/dist/cli/request/agent-detect.d.ts.map +1 -1
  137. package/dist/cli/request/agent-detect.js +14 -6
  138. package/dist/cli/request/agent-detect.js.map +1 -1
  139. package/dist/cli/request/finalize.d.ts +1 -1
  140. package/dist/cli/request/finalize.d.ts.map +1 -1
  141. package/dist/cli/request/finalize.js +4 -25
  142. package/dist/cli/request/finalize.js.map +1 -1
  143. package/dist/cli/request/index.d.ts.map +1 -1
  144. package/dist/cli/request/index.js +11 -5
  145. package/dist/cli/request/index.js.map +1 -1
  146. package/dist/cli/request/path-replacement.d.ts +27 -0
  147. package/dist/cli/request/path-replacement.d.ts.map +1 -0
  148. package/dist/cli/request/path-replacement.js +79 -0
  149. package/dist/cli/request/path-replacement.js.map +1 -0
  150. package/dist/cli/request/workspace.d.ts +8 -0
  151. package/dist/cli/request/workspace.d.ts.map +1 -0
  152. package/dist/cli/request/workspace.js +50 -0
  153. package/dist/cli/request/workspace.js.map +1 -0
  154. package/dist/cli/run/output.d.ts.map +1 -1
  155. package/dist/cli/run/output.js +2 -1
  156. package/dist/cli/run/output.js.map +1 -1
  157. package/dist/cli/run/subscribe.d.ts.map +1 -1
  158. package/dist/cli/run/subscribe.js +1 -1
  159. package/dist/cli/run/subscribe.js.map +1 -1
  160. package/dist/cli/session/index.d.ts +4 -4
  161. package/dist/cli/session/index.d.ts.map +1 -1
  162. package/dist/cli/session/index.js +5 -5
  163. package/dist/cli/session/index.js.map +1 -1
  164. package/dist/cli/session/launch.d.ts +2 -2
  165. package/dist/cli/session/launch.d.ts.map +1 -1
  166. package/dist/cli/session/launch.js +12 -3
  167. package/dist/cli/session/launch.js.map +1 -1
  168. package/dist/cli/session/turn-readers.d.ts +14 -0
  169. package/dist/cli/session/turn-readers.d.ts.map +1 -0
  170. package/dist/cli/session/turn-readers.js +13 -0
  171. package/dist/cli/session/turn-readers.js.map +1 -0
  172. package/dist/codex/config/default-model.d.ts +24 -0
  173. package/dist/codex/config/default-model.d.ts.map +1 -0
  174. package/dist/codex/config/default-model.js +133 -0
  175. package/dist/codex/config/default-model.js.map +1 -0
  176. package/dist/codex/config/home.d.ts +35 -0
  177. package/dist/codex/config/home.d.ts.map +1 -0
  178. package/dist/codex/config/home.js +122 -0
  179. package/dist/codex/config/home.js.map +1 -0
  180. package/dist/codex/config/lock.d.ts +17 -11
  181. package/dist/codex/config/lock.d.ts.map +1 -1
  182. package/dist/codex/config/lock.js +102 -11
  183. package/dist/codex/config/lock.js.map +1 -1
  184. package/dist/codex/config/read.d.ts +16 -0
  185. package/dist/codex/config/read.d.ts.map +1 -0
  186. package/dist/codex/config/read.js +75 -0
  187. package/dist/codex/config/read.js.map +1 -0
  188. package/dist/codex/config/restore.d.ts +17 -7
  189. package/dist/codex/config/restore.d.ts.map +1 -1
  190. package/dist/codex/config/restore.js +33 -20
  191. package/dist/codex/config/restore.js.map +1 -1
  192. package/dist/codex/config/transaction.d.ts +6 -4
  193. package/dist/codex/config/transaction.d.ts.map +1 -1
  194. package/dist/codex/config/transaction.js +4 -3
  195. package/dist/codex/config/transaction.js.map +1 -1
  196. package/dist/codex/images/clipboard-copies.d.ts +39 -0
  197. package/dist/codex/images/clipboard-copies.d.ts.map +1 -0
  198. package/dist/codex/images/clipboard-copies.js +91 -0
  199. package/dist/codex/images/clipboard-copies.js.map +1 -0
  200. package/dist/codex/model-picker.d.ts +1 -1
  201. package/dist/codex/model-picker.d.ts.map +1 -1
  202. package/dist/codex/model-picker.js +16 -6
  203. package/dist/codex/model-picker.js.map +1 -1
  204. package/dist/codex/preflight.d.ts +2 -2
  205. package/dist/codex/preflight.d.ts.map +1 -1
  206. package/dist/codex/preflight.js +28 -21
  207. package/dist/codex/preflight.js.map +1 -1
  208. package/dist/codex/pty.d.ts +25 -3
  209. package/dist/codex/pty.d.ts.map +1 -1
  210. package/dist/codex/pty.js +53 -7
  211. package/dist/codex/pty.js.map +1 -1
  212. package/dist/codex/questions/candidates.d.ts.map +1 -1
  213. package/dist/codex/questions/candidates.js +4 -5
  214. package/dist/codex/questions/candidates.js.map +1 -1
  215. package/dist/codex/questions/driver.js +2 -2
  216. package/dist/codex/questions/driver.js.map +1 -1
  217. package/dist/codex/questions/records.d.ts +1 -1
  218. package/dist/codex/questions/records.d.ts.map +1 -1
  219. package/dist/codex/questions/records.js +1 -3
  220. package/dist/codex/questions/records.js.map +1 -1
  221. package/dist/codex/screen/clearance.d.ts +6 -0
  222. package/dist/codex/screen/clearance.d.ts.map +1 -1
  223. package/dist/codex/screen/clearance.js +10 -0
  224. package/dist/codex/screen/clearance.js.map +1 -1
  225. package/dist/codex/screen-table.d.ts.map +1 -1
  226. package/dist/codex/screen-table.js +6 -2
  227. package/dist/codex/screen-table.js.map +1 -1
  228. package/dist/codex/session/bridge.d.ts +1 -0
  229. package/dist/codex/session/bridge.d.ts.map +1 -1
  230. package/dist/codex/session/bridge.js +3 -1
  231. package/dist/codex/session/bridge.js.map +1 -1
  232. package/dist/codex/session/build.d.ts.map +1 -1
  233. package/dist/codex/session/build.js +14 -12
  234. package/dist/codex/session/build.js.map +1 -1
  235. package/dist/codex/session/cleanup.d.ts +2 -2
  236. package/dist/codex/session/cleanup.d.ts.map +1 -1
  237. package/dist/codex/session/cleanup.js +8 -11
  238. package/dist/codex/session/cleanup.js.map +1 -1
  239. package/dist/codex/session/config-switch.d.ts +20 -0
  240. package/dist/codex/session/config-switch.d.ts.map +1 -0
  241. package/dist/codex/session/config-switch.js +42 -0
  242. package/dist/codex/session/config-switch.js.map +1 -0
  243. package/dist/codex/session/hooks.d.ts.map +1 -1
  244. package/dist/codex/session/hooks.js +7 -0
  245. package/dist/codex/session/hooks.js.map +1 -1
  246. package/dist/codex/session/index.d.ts.map +1 -1
  247. package/dist/codex/session/index.js +34 -16
  248. package/dist/codex/session/index.js.map +1 -1
  249. package/dist/codex/session/instance.d.ts +10 -12
  250. package/dist/codex/session/instance.d.ts.map +1 -1
  251. package/dist/codex/session/instance.js +42 -37
  252. package/dist/codex/session/instance.js.map +1 -1
  253. package/dist/codex/session/readiness.d.ts +11 -0
  254. package/dist/codex/session/readiness.d.ts.map +1 -0
  255. package/dist/codex/session/readiness.js +22 -0
  256. package/dist/codex/session/readiness.js.map +1 -0
  257. package/dist/codex/session/resume.d.ts.map +1 -1
  258. package/dist/codex/session/resume.js +9 -4
  259. package/dist/codex/session/resume.js.map +1 -1
  260. package/dist/codex/session/transcript.d.ts.map +1 -1
  261. package/dist/codex/session/transcript.js +12 -1
  262. package/dist/codex/session/transcript.js.map +1 -1
  263. package/dist/codex/session/turn-commit.d.ts +58 -0
  264. package/dist/codex/session/turn-commit.d.ts.map +1 -0
  265. package/dist/codex/session/turn-commit.js +97 -0
  266. package/dist/codex/session/turn-commit.js.map +1 -0
  267. package/dist/codex/session/warnings.d.ts +13 -6
  268. package/dist/codex/session/warnings.d.ts.map +1 -1
  269. package/dist/codex/session/warnings.js +36 -9
  270. package/dist/codex/session/warnings.js.map +1 -1
  271. package/dist/codex/startup-prompts.d.ts +3 -0
  272. package/dist/codex/startup-prompts.d.ts.map +1 -1
  273. package/dist/codex/startup-prompts.js +20 -13
  274. package/dist/codex/startup-prompts.js.map +1 -1
  275. package/dist/codex/startup-warnings.d.ts +2 -0
  276. package/dist/codex/startup-warnings.d.ts.map +1 -1
  277. package/dist/codex/startup-warnings.js +6 -0
  278. package/dist/codex/startup-warnings.js.map +1 -1
  279. package/dist/codex/transcript/payload.d.ts +8 -0
  280. package/dist/codex/transcript/payload.d.ts.map +1 -0
  281. package/dist/codex/transcript/payload.js +11 -0
  282. package/dist/codex/transcript/payload.js.map +1 -0
  283. package/dist/codex/transcript/rejection.d.ts +15 -0
  284. package/dist/codex/transcript/rejection.d.ts.map +1 -0
  285. package/dist/codex/transcript/rejection.js +44 -0
  286. package/dist/codex/transcript/rejection.js.map +1 -0
  287. package/dist/codex/transcript/turn-end.d.ts +8 -0
  288. package/dist/codex/transcript/turn-end.d.ts.map +1 -0
  289. package/dist/codex/transcript/turn-end.js +17 -0
  290. package/dist/codex/transcript/turn-end.js.map +1 -0
  291. package/dist/codex/transcript/watcher.d.ts +5 -2
  292. package/dist/codex/transcript/watcher.d.ts.map +1 -1
  293. package/dist/codex/transcript/watcher.js +11 -6
  294. package/dist/codex/transcript/watcher.js.map +1 -1
  295. package/dist/codex/trust-retry.d.ts +12 -0
  296. package/dist/codex/trust-retry.d.ts.map +1 -0
  297. package/dist/codex/trust-retry.js +12 -0
  298. package/dist/codex/trust-retry.js.map +1 -0
  299. package/dist/codex/update/skip-attempt.d.ts +2 -0
  300. package/dist/codex/update/skip-attempt.d.ts.map +1 -1
  301. package/dist/codex/update/skip-attempt.js +4 -0
  302. package/dist/codex/update/skip-attempt.js.map +1 -1
  303. package/dist/codex/update/tracker.d.ts +2 -0
  304. package/dist/codex/update/tracker.d.ts.map +1 -1
  305. package/dist/codex/update/tracker.js +4 -0
  306. package/dist/codex/update/tracker.js.map +1 -1
  307. package/dist/core/delay.d.ts +3 -2
  308. package/dist/core/delay.d.ts.map +1 -1
  309. package/dist/core/delay.js +3 -2
  310. package/dist/core/delay.js.map +1 -1
  311. package/dist/core/errors.d.ts +33 -4
  312. package/dist/core/errors.d.ts.map +1 -1
  313. package/dist/core/errors.js +51 -7
  314. package/dist/core/errors.js.map +1 -1
  315. package/dist/core/images/materialize.d.ts +13 -4
  316. package/dist/core/images/materialize.d.ts.map +1 -1
  317. package/dist/core/images/materialize.js +48 -11
  318. package/dist/core/images/materialize.js.map +1 -1
  319. package/dist/core/input/abort.d.ts +15 -0
  320. package/dist/core/input/abort.d.ts.map +1 -1
  321. package/dist/core/input/abort.js +18 -2
  322. package/dist/core/input/abort.js.map +1 -1
  323. package/dist/core/input/constants.d.ts +4 -1
  324. package/dist/core/input/constants.d.ts.map +1 -1
  325. package/dist/core/input/constants.js +4 -1
  326. package/dist/core/input/constants.js.map +1 -1
  327. package/dist/core/input/index.d.ts +1 -1
  328. package/dist/core/input/index.d.ts.map +1 -1
  329. package/dist/core/input/index.js +1 -1
  330. package/dist/core/input/index.js.map +1 -1
  331. package/dist/core/models/clearance.d.ts +38 -0
  332. package/dist/core/models/clearance.d.ts.map +1 -0
  333. package/dist/core/models/clearance.js +38 -0
  334. package/dist/core/models/clearance.js.map +1 -0
  335. package/dist/core/models/close-wait.d.ts +17 -0
  336. package/dist/core/models/close-wait.d.ts.map +1 -0
  337. package/dist/core/models/close-wait.js +44 -0
  338. package/dist/core/models/close-wait.js.map +1 -0
  339. package/dist/core/models/dialog-region.d.ts +18 -3
  340. package/dist/core/models/dialog-region.d.ts.map +1 -1
  341. package/dist/core/models/dialog-region.js +29 -40
  342. package/dist/core/models/dialog-region.js.map +1 -1
  343. package/dist/core/models/input.d.ts +10 -1
  344. package/dist/core/models/input.d.ts.map +1 -1
  345. package/dist/core/models/input.js +15 -2
  346. package/dist/core/models/input.js.map +1 -1
  347. package/dist/core/models/intervention.d.ts +2 -2
  348. package/dist/core/models/intervention.d.ts.map +1 -1
  349. package/dist/core/models/intervention.js +6 -3
  350. package/dist/core/models/intervention.js.map +1 -1
  351. package/dist/core/models/own-picker.d.ts +21 -0
  352. package/dist/core/models/own-picker.d.ts.map +1 -0
  353. package/dist/core/models/own-picker.js +21 -0
  354. package/dist/core/models/own-picker.js.map +1 -0
  355. package/dist/core/models/picker.d.ts +34 -4
  356. package/dist/core/models/picker.d.ts.map +1 -1
  357. package/dist/core/models/picker.js +50 -44
  358. package/dist/core/models/picker.js.map +1 -1
  359. package/dist/core/models/row-block.d.ts +66 -0
  360. package/dist/core/models/row-block.d.ts.map +1 -0
  361. package/dist/core/models/row-block.js +87 -0
  362. package/dist/core/models/row-block.js.map +1 -0
  363. package/dist/core/models/rows.d.ts +32 -3
  364. package/dist/core/models/rows.d.ts.map +1 -1
  365. package/dist/core/models/rows.js +48 -20
  366. package/dist/core/models/rows.js.map +1 -1
  367. package/dist/core/models/tui-screen.d.ts +6 -1
  368. package/dist/core/models/tui-screen.d.ts.map +1 -1
  369. package/dist/core/models/tui-screen.js +25 -10
  370. package/dist/core/models/tui-screen.js.map +1 -1
  371. package/dist/core/models/window.d.ts +49 -0
  372. package/dist/core/models/window.d.ts.map +1 -0
  373. package/dist/core/models/window.js +105 -0
  374. package/dist/core/models/window.js.map +1 -0
  375. package/dist/core/path-trust.d.ts +11 -0
  376. package/dist/core/path-trust.d.ts.map +1 -0
  377. package/dist/core/path-trust.js +21 -0
  378. package/dist/core/path-trust.js.map +1 -0
  379. package/dist/core/screen-facts.d.ts +3 -1
  380. package/dist/core/screen-facts.d.ts.map +1 -1
  381. package/dist/core/screen-facts.js +1 -0
  382. package/dist/core/screen-facts.js.map +1 -1
  383. package/dist/core/simple/boundary-signal.d.ts +41 -6
  384. package/dist/core/simple/boundary-signal.d.ts.map +1 -1
  385. package/dist/core/simple/boundary-signal.js +43 -3
  386. package/dist/core/simple/boundary-signal.js.map +1 -1
  387. package/dist/core/simple/close.d.ts +2 -1
  388. package/dist/core/simple/close.d.ts.map +1 -1
  389. package/dist/core/simple/close.js +10 -2
  390. package/dist/core/simple/close.js.map +1 -1
  391. package/dist/core/simple/turn-boundary.d.ts +2 -0
  392. package/dist/core/simple/turn-boundary.d.ts.map +1 -1
  393. package/dist/core/simple/turn-boundary.js +1 -1
  394. package/dist/core/simple/turn-boundary.js.map +1 -1
  395. package/dist/core/simple/turn-types.d.ts +9 -3
  396. package/dist/core/simple/turn-types.d.ts.map +1 -1
  397. package/dist/core/simple/turn-types.js +10 -2
  398. package/dist/core/simple/turn-types.js.map +1 -1
  399. package/dist/core/simple/turn.d.ts +2 -0
  400. package/dist/core/simple/turn.d.ts.map +1 -1
  401. package/dist/core/simple/turn.js +11 -5
  402. package/dist/core/simple/turn.js.map +1 -1
  403. package/dist/core/terminal-options.d.ts +17 -1
  404. package/dist/core/terminal-options.d.ts.map +1 -1
  405. package/dist/core/terminal-options.js +20 -8
  406. package/dist/core/terminal-options.js.map +1 -1
  407. package/dist/core/transcript/cursor-io.d.ts +8 -0
  408. package/dist/core/transcript/cursor-io.d.ts.map +1 -1
  409. package/dist/core/transcript/cursor-io.js +11 -5
  410. package/dist/core/transcript/cursor-io.js.map +1 -1
  411. package/dist/core/transcript/cursor.d.ts +28 -4
  412. package/dist/core/transcript/cursor.d.ts.map +1 -1
  413. package/dist/core/transcript/cursor.js +53 -7
  414. package/dist/core/transcript/cursor.js.map +1 -1
  415. package/dist/core/transcript/drain.d.ts +43 -0
  416. package/dist/core/transcript/drain.d.ts.map +1 -0
  417. package/dist/core/transcript/drain.js +67 -0
  418. package/dist/core/transcript/drain.js.map +1 -0
  419. package/dist/core/trust/abortable.d.ts +12 -0
  420. package/dist/core/trust/abortable.d.ts.map +1 -0
  421. package/dist/core/trust/abortable.js +48 -0
  422. package/dist/core/trust/abortable.js.map +1 -0
  423. package/dist/core/trust/allowlist.d.ts +2 -0
  424. package/dist/core/trust/allowlist.d.ts.map +1 -1
  425. package/dist/core/trust/allowlist.js +4 -1
  426. package/dist/core/trust/allowlist.js.map +1 -1
  427. package/dist/core/trust/blocking.d.ts +11 -0
  428. package/dist/core/trust/blocking.d.ts.map +1 -1
  429. package/dist/core/trust/blocking.js +5 -4
  430. package/dist/core/trust/blocking.js.map +1 -1
  431. package/dist/core/trust/copy.d.ts.map +1 -1
  432. package/dist/core/trust/copy.js +7 -1
  433. package/dist/core/trust/copy.js.map +1 -1
  434. package/dist/core/trust/deadline.d.ts +24 -0
  435. package/dist/core/trust/deadline.d.ts.map +1 -0
  436. package/dist/core/trust/deadline.js +56 -0
  437. package/dist/core/trust/deadline.js.map +1 -0
  438. package/dist/core/trust/dialog.d.ts +11 -2
  439. package/dist/core/trust/dialog.d.ts.map +1 -1
  440. package/dist/core/trust/dialog.js +12 -3
  441. package/dist/core/trust/dialog.js.map +1 -1
  442. package/dist/core/trust/options.d.ts +5 -1
  443. package/dist/core/trust/options.d.ts.map +1 -1
  444. package/dist/core/trust/options.js +8 -2
  445. package/dist/core/trust/options.js.map +1 -1
  446. package/dist/core/trust/prompts.d.ts +3 -0
  447. package/dist/core/trust/prompts.d.ts.map +1 -1
  448. package/dist/core/trust/prompts.js +2 -1
  449. package/dist/core/trust/prompts.js.map +1 -1
  450. package/dist/core/trust/responder.d.ts +10 -5
  451. package/dist/core/trust/responder.d.ts.map +1 -1
  452. package/dist/core/trust/responder.js +37 -33
  453. package/dist/core/trust/responder.js.map +1 -1
  454. package/dist/core/trust/step.d.ts +67 -0
  455. package/dist/core/trust/step.d.ts.map +1 -0
  456. package/dist/core/trust/step.js +45 -0
  457. package/dist/core/trust/step.js.map +1 -0
  458. package/dist/core/trust/types.d.ts +21 -1
  459. package/dist/core/trust/types.d.ts.map +1 -1
  460. package/dist/core/trust/types.js +25 -1
  461. package/dist/core/trust/types.js.map +1 -1
  462. package/dist/core/trust/view.d.ts +2 -0
  463. package/dist/core/trust/view.d.ts.map +1 -1
  464. package/dist/core/trust/view.js +3 -0
  465. package/dist/core/trust/view.js.map +1 -1
  466. package/dist/core/trust/write.d.ts +31 -6
  467. package/dist/core/trust/write.d.ts.map +1 -1
  468. package/dist/core/trust/write.js +95 -80
  469. package/dist/core/trust/write.js.map +1 -1
  470. package/dist/core/turn-state.d.ts +18 -4
  471. package/dist/core/turn-state.d.ts.map +1 -1
  472. package/dist/core/turn-state.js +47 -25
  473. package/dist/core/turn-state.js.map +1 -1
  474. package/dist/core/warnings/images.d.ts +22 -0
  475. package/dist/core/warnings/images.d.ts.map +1 -0
  476. package/dist/core/warnings/images.js +3 -0
  477. package/dist/core/warnings/images.js.map +1 -0
  478. package/dist/core/warnings/index.d.ts +3 -2
  479. package/dist/core/warnings/index.d.ts.map +1 -1
  480. package/dist/core/warnings/lifecycle.d.ts +35 -4
  481. package/dist/core/warnings/lifecycle.d.ts.map +1 -1
  482. package/dist/core/warnings/lifecycle.js +1 -1
  483. package/dist/core/warnings/update.d.ts +8 -4
  484. package/dist/core/warnings/update.d.ts.map +1 -1
  485. package/dist/core/warnings/update.js +21 -6
  486. package/dist/core/warnings/update.js.map +1 -1
  487. package/dist/pty/exit-latch.d.ts +28 -0
  488. package/dist/pty/exit-latch.d.ts.map +1 -0
  489. package/dist/pty/exit-latch.js +50 -0
  490. package/dist/pty/exit-latch.js.map +1 -0
  491. package/dist/runtime/exit-status.d.ts +7 -0
  492. package/dist/runtime/exit-status.d.ts.map +1 -0
  493. package/dist/runtime/exit-status.js +13 -0
  494. package/dist/runtime/exit-status.js.map +1 -0
  495. package/dist/runtime/home-guard/index.d.ts +45 -0
  496. package/dist/runtime/home-guard/index.d.ts.map +1 -0
  497. package/dist/runtime/home-guard/index.js +69 -0
  498. package/dist/runtime/home-guard/index.js.map +1 -0
  499. package/dist/runtime/loop-restore.d.ts +9 -9
  500. package/dist/runtime/loop-restore.d.ts.map +1 -1
  501. package/dist/runtime/loop-restore.js +10 -10
  502. package/dist/runtime/loop-restore.js.map +1 -1
  503. package/dist/runtime/probe/capped-buffer.d.ts +16 -0
  504. package/dist/runtime/probe/capped-buffer.d.ts.map +1 -0
  505. package/dist/runtime/probe/capped-buffer.js +38 -0
  506. package/dist/runtime/probe/capped-buffer.js.map +1 -0
  507. package/dist/runtime/probe/capture.d.ts +55 -0
  508. package/dist/runtime/probe/capture.d.ts.map +1 -0
  509. package/dist/runtime/probe/capture.js +71 -0
  510. package/dist/runtime/probe/capture.js.map +1 -0
  511. package/dist/runtime/{probe-cleanup.d.ts → probe/cleanup.d.ts} +2 -2
  512. package/dist/runtime/probe/cleanup.d.ts.map +1 -0
  513. package/dist/runtime/{probe-cleanup.js → probe/cleanup.js} +3 -3
  514. package/dist/runtime/probe/cleanup.js.map +1 -0
  515. package/dist/runtime/probe/directory-key.d.ts +26 -0
  516. package/dist/runtime/probe/directory-key.d.ts.map +1 -0
  517. package/dist/runtime/probe/directory-key.js +46 -0
  518. package/dist/runtime/probe/directory-key.js.map +1 -0
  519. package/dist/runtime/probe/index.d.ts +25 -0
  520. package/dist/runtime/probe/index.d.ts.map +1 -0
  521. package/dist/runtime/probe/index.js +153 -0
  522. package/dist/runtime/probe/index.js.map +1 -0
  523. package/dist/runtime/probe/lookup.d.ts +12 -0
  524. package/dist/runtime/probe/lookup.d.ts.map +1 -0
  525. package/dist/runtime/probe/lookup.js +29 -0
  526. package/dist/runtime/probe/lookup.js.map +1 -0
  527. package/dist/runtime/probe/named-pipes.d.ts +35 -0
  528. package/dist/runtime/probe/named-pipes.d.ts.map +1 -0
  529. package/dist/runtime/probe/named-pipes.js +167 -0
  530. package/dist/runtime/probe/named-pipes.js.map +1 -0
  531. package/dist/runtime/probe/private-directory.d.ts +14 -0
  532. package/dist/runtime/probe/private-directory.d.ts.map +1 -0
  533. package/dist/runtime/probe/private-directory.js +50 -0
  534. package/dist/runtime/probe/private-directory.js.map +1 -0
  535. package/dist/runtime/probe/results.d.ts +14 -0
  536. package/dist/runtime/probe/results.d.ts.map +1 -0
  537. package/dist/runtime/probe/results.js +38 -0
  538. package/dist/runtime/probe/results.js.map +1 -0
  539. package/dist/runtime/probe/slots.d.ts +17 -0
  540. package/dist/runtime/probe/slots.d.ts.map +1 -0
  541. package/dist/runtime/probe/slots.js +35 -0
  542. package/dist/runtime/probe/slots.js.map +1 -0
  543. package/dist/runtime/probe/start.d.ts +64 -0
  544. package/dist/runtime/probe/start.d.ts.map +1 -0
  545. package/dist/runtime/probe/start.js +80 -0
  546. package/dist/runtime/probe/start.js.map +1 -0
  547. package/dist/runtime/probe-cache.d.ts +19 -0
  548. package/dist/runtime/probe-cache.d.ts.map +1 -0
  549. package/dist/runtime/probe-cache.js +56 -0
  550. package/dist/runtime/probe-cache.js.map +1 -0
  551. package/dist/runtime/readiness/initial-ready.d.ts +31 -5
  552. package/dist/runtime/readiness/initial-ready.d.ts.map +1 -1
  553. package/dist/runtime/readiness/initial-ready.js +64 -18
  554. package/dist/runtime/readiness/initial-ready.js.map +1 -1
  555. package/dist/runtime/seams.d.ts +14 -2
  556. package/dist/runtime/seams.d.ts.map +1 -1
  557. package/dist/runtime/seams.js +2 -2
  558. package/dist/runtime/seams.js.map +1 -1
  559. package/dist/runtime/session/base.d.ts.map +1 -1
  560. package/dist/runtime/session/base.js +9 -6
  561. package/dist/runtime/session/base.js.map +1 -1
  562. package/dist/runtime/session/commands.d.ts +6 -4
  563. package/dist/runtime/session/commands.d.ts.map +1 -1
  564. package/dist/runtime/session/commands.js +5 -2
  565. package/dist/runtime/session/commands.js.map +1 -1
  566. package/dist/runtime/session/frames.d.ts +12 -2
  567. package/dist/runtime/session/frames.d.ts.map +1 -1
  568. package/dist/runtime/session/frames.js +10 -3
  569. package/dist/runtime/session/frames.js.map +1 -1
  570. package/dist/runtime/session/image-attach.js +7 -2
  571. package/dist/runtime/session/image-attach.js.map +1 -1
  572. package/dist/runtime/session/launch-directory.d.ts +33 -0
  573. package/dist/runtime/session/launch-directory.d.ts.map +1 -0
  574. package/dist/runtime/session/launch-directory.js +84 -0
  575. package/dist/runtime/session/launch-directory.js.map +1 -0
  576. package/dist/runtime/session/lifecycle.d.ts +3 -3
  577. package/dist/runtime/session/lifecycle.d.ts.map +1 -1
  578. package/dist/runtime/session/lifecycle.js +1 -5
  579. package/dist/runtime/session/lifecycle.js.map +1 -1
  580. package/dist/runtime/session/loops.d.ts +1 -1
  581. package/dist/runtime/session/loops.d.ts.map +1 -1
  582. package/dist/runtime/session/loops.js +6 -3
  583. package/dist/runtime/session/loops.js.map +1 -1
  584. package/dist/runtime/session/picker-cleanup.d.ts +6 -21
  585. package/dist/runtime/session/picker-cleanup.d.ts.map +1 -1
  586. package/dist/runtime/session/picker-cleanup.js +19 -31
  587. package/dist/runtime/session/picker-cleanup.js.map +1 -1
  588. package/dist/runtime/session/picker-hold.d.ts +24 -0
  589. package/dist/runtime/session/picker-hold.d.ts.map +1 -0
  590. package/dist/runtime/session/picker-hold.js +42 -0
  591. package/dist/runtime/session/picker-hold.js.map +1 -0
  592. package/dist/runtime/session/picker.d.ts +15 -13
  593. package/dist/runtime/session/picker.d.ts.map +1 -1
  594. package/dist/runtime/session/picker.js +49 -27
  595. package/dist/runtime/session/picker.js.map +1 -1
  596. package/dist/runtime/session/prepare-state.d.ts +6 -0
  597. package/dist/runtime/session/prepare-state.d.ts.map +1 -0
  598. package/dist/runtime/session/prepare-state.js +14 -0
  599. package/dist/runtime/session/prepare-state.js.map +1 -0
  600. package/dist/runtime/session/questions.d.ts +2 -2
  601. package/dist/runtime/session/questions.d.ts.map +1 -1
  602. package/dist/runtime/session/questions.js.map +1 -1
  603. package/dist/runtime/session/readiness.d.ts +14 -5
  604. package/dist/runtime/session/readiness.d.ts.map +1 -1
  605. package/dist/runtime/session/readiness.js +22 -6
  606. package/dist/runtime/session/readiness.js.map +1 -1
  607. package/dist/runtime/session/reap.d.ts +11 -7
  608. package/dist/runtime/session/reap.d.ts.map +1 -1
  609. package/dist/runtime/session/reap.js +16 -10
  610. package/dist/runtime/session/reap.js.map +1 -1
  611. package/dist/runtime/session/runtime-cleanup.d.ts +18 -0
  612. package/dist/runtime/session/runtime-cleanup.d.ts.map +1 -0
  613. package/dist/runtime/session/runtime-cleanup.js +18 -0
  614. package/dist/runtime/session/runtime-cleanup.js.map +1 -0
  615. package/dist/runtime/session/session-input.d.ts +32 -0
  616. package/dist/runtime/session/session-input.d.ts.map +1 -0
  617. package/dist/runtime/session/{picker-input.js → session-input.js} +35 -7
  618. package/dist/runtime/session/session-input.js.map +1 -0
  619. package/dist/runtime/session/shutdown-binding.d.ts +12 -1
  620. package/dist/runtime/session/shutdown-binding.d.ts.map +1 -1
  621. package/dist/runtime/session/shutdown-binding.js +33 -1
  622. package/dist/runtime/session/shutdown-binding.js.map +1 -1
  623. package/dist/runtime/session/shutdown-cleanup.d.ts +17 -0
  624. package/dist/runtime/session/shutdown-cleanup.d.ts.map +1 -0
  625. package/dist/runtime/session/shutdown-cleanup.js +49 -0
  626. package/dist/runtime/session/shutdown-cleanup.js.map +1 -0
  627. package/dist/runtime/session/shutdown.d.ts +3 -2
  628. package/dist/runtime/session/shutdown.d.ts.map +1 -1
  629. package/dist/runtime/session/shutdown.js +13 -24
  630. package/dist/runtime/session/shutdown.js.map +1 -1
  631. package/dist/runtime/shell-quote.d.ts +8 -0
  632. package/dist/runtime/shell-quote.d.ts.map +1 -0
  633. package/dist/runtime/shell-quote.js +10 -0
  634. package/dist/runtime/shell-quote.js.map +1 -0
  635. package/dist/runtime/shell.d.ts +36 -12
  636. package/dist/runtime/shell.d.ts.map +1 -1
  637. package/dist/runtime/shell.js +90 -14
  638. package/dist/runtime/shell.js.map +1 -1
  639. package/dist/runtime/shutdown/coalesce.d.ts +15 -0
  640. package/dist/runtime/shutdown/coalesce.d.ts.map +1 -0
  641. package/dist/runtime/shutdown/coalesce.js +42 -0
  642. package/dist/runtime/shutdown/coalesce.js.map +1 -0
  643. package/dist/runtime/shutdown/detached-sweep/failures.d.ts +24 -0
  644. package/dist/runtime/shutdown/detached-sweep/failures.d.ts.map +1 -0
  645. package/dist/runtime/shutdown/detached-sweep/failures.js +32 -0
  646. package/dist/runtime/shutdown/detached-sweep/failures.js.map +1 -0
  647. package/dist/runtime/shutdown/detached-sweep/index.d.ts +55 -0
  648. package/dist/runtime/shutdown/detached-sweep/index.d.ts.map +1 -0
  649. package/dist/runtime/shutdown/detached-sweep/index.js +129 -0
  650. package/dist/runtime/shutdown/detached-sweep/index.js.map +1 -0
  651. package/dist/runtime/shutdown/detached-sweep/kill.d.ts +37 -0
  652. package/dist/runtime/shutdown/detached-sweep/kill.d.ts.map +1 -0
  653. package/dist/runtime/shutdown/detached-sweep/kill.js +87 -0
  654. package/dist/runtime/shutdown/detached-sweep/kill.js.map +1 -0
  655. package/dist/runtime/shutdown/detached-sweep/record.d.ts +67 -0
  656. package/dist/runtime/shutdown/detached-sweep/record.d.ts.map +1 -0
  657. package/dist/runtime/shutdown/detached-sweep/record.js +111 -0
  658. package/dist/runtime/shutdown/detached-sweep/record.js.map +1 -0
  659. package/dist/runtime/shutdown/detached-sweep/rounds.d.ts +78 -0
  660. package/dist/runtime/shutdown/detached-sweep/rounds.d.ts.map +1 -0
  661. package/dist/runtime/shutdown/detached-sweep/rounds.js +116 -0
  662. package/dist/runtime/shutdown/detached-sweep/rounds.js.map +1 -0
  663. package/dist/runtime/shutdown/detached-sweep/survivors.d.ts +40 -0
  664. package/dist/runtime/shutdown/detached-sweep/survivors.d.ts.map +1 -0
  665. package/dist/runtime/shutdown/detached-sweep/survivors.js +112 -0
  666. package/dist/runtime/shutdown/detached-sweep/survivors.js.map +1 -0
  667. package/dist/runtime/shutdown/leader-group.d.ts +29 -0
  668. package/dist/runtime/shutdown/leader-group.d.ts.map +1 -0
  669. package/dist/runtime/shutdown/leader-group.js +35 -0
  670. package/dist/runtime/shutdown/leader-group.js.map +1 -0
  671. package/dist/runtime/shutdown/native-read-admission.d.ts +13 -0
  672. package/dist/runtime/shutdown/native-read-admission.d.ts.map +1 -0
  673. package/dist/runtime/shutdown/native-read-admission.js +64 -0
  674. package/dist/runtime/shutdown/native-read-admission.js.map +1 -0
  675. package/dist/runtime/shutdown/process-table.d.ts +80 -0
  676. package/dist/runtime/shutdown/process-table.d.ts.map +1 -0
  677. package/dist/runtime/shutdown/process-table.js +147 -0
  678. package/dist/runtime/shutdown/process-table.js.map +1 -0
  679. package/dist/runtime/shutdown/process-tree-ops.d.ts +39 -0
  680. package/dist/runtime/shutdown/process-tree-ops.d.ts.map +1 -0
  681. package/dist/runtime/shutdown/process-tree-ops.js +73 -0
  682. package/dist/runtime/shutdown/process-tree-ops.js.map +1 -0
  683. package/dist/runtime/shutdown/read-timeout.d.ts +4 -0
  684. package/dist/runtime/shutdown/read-timeout.d.ts.map +1 -0
  685. package/dist/runtime/shutdown/read-timeout.js +6 -0
  686. package/dist/runtime/shutdown/read-timeout.js.map +1 -0
  687. package/dist/runtime/shutdown/reap-queue.d.ts +10 -0
  688. package/dist/runtime/shutdown/reap-queue.d.ts.map +1 -0
  689. package/dist/runtime/shutdown/reap-queue.js +29 -0
  690. package/dist/runtime/shutdown/reap-queue.js.map +1 -0
  691. package/dist/runtime/shutdown/reap-tree.d.ts +42 -32
  692. package/dist/runtime/shutdown/reap-tree.d.ts.map +1 -1
  693. package/dist/runtime/shutdown/reap-tree.js +78 -71
  694. package/dist/runtime/shutdown/reap-tree.js.map +1 -1
  695. package/dist/runtime/shutdown/shared-daemon.d.ts +59 -0
  696. package/dist/runtime/shutdown/shared-daemon.d.ts.map +1 -0
  697. package/dist/runtime/shutdown/shared-daemon.js +139 -0
  698. package/dist/runtime/shutdown/shared-daemon.js.map +1 -0
  699. package/dist/runtime/shutdown/teardown.d.ts +15 -0
  700. package/dist/runtime/shutdown/teardown.d.ts.map +1 -1
  701. package/dist/runtime/shutdown/teardown.js +19 -6
  702. package/dist/runtime/shutdown/teardown.js.map +1 -1
  703. package/dist/runtime/shutdown/terminate.d.ts +21 -1
  704. package/dist/runtime/shutdown/terminate.d.ts.map +1 -1
  705. package/dist/runtime/shutdown/terminate.js +83 -56
  706. package/dist/runtime/shutdown/terminate.js.map +1 -1
  707. package/dist/runtime/startup/buffer.d.ts +26 -7
  708. package/dist/runtime/startup/buffer.d.ts.map +1 -1
  709. package/dist/runtime/startup/buffer.js +42 -19
  710. package/dist/runtime/startup/buffer.js.map +1 -1
  711. package/dist/runtime/startup/cleanup.d.ts +37 -11
  712. package/dist/runtime/startup/cleanup.d.ts.map +1 -1
  713. package/dist/runtime/startup/cleanup.js +55 -25
  714. package/dist/runtime/startup/cleanup.js.map +1 -1
  715. package/dist/runtime/startup/index.d.ts +13 -1
  716. package/dist/runtime/startup/index.d.ts.map +1 -1
  717. package/dist/runtime/startup/index.js +38 -6
  718. package/dist/runtime/startup/index.js.map +1 -1
  719. package/dist/runtime/stream-marker.d.ts +17 -0
  720. package/dist/runtime/stream-marker.d.ts.map +1 -0
  721. package/dist/runtime/stream-marker.js +35 -0
  722. package/dist/runtime/stream-marker.js.map +1 -0
  723. package/dist/runtime/update/acquire.d.ts +16 -0
  724. package/dist/runtime/update/acquire.d.ts.map +1 -0
  725. package/dist/runtime/update/acquire.js +62 -0
  726. package/dist/runtime/update/acquire.js.map +1 -0
  727. package/dist/runtime/update/completion.d.ts +12 -0
  728. package/dist/runtime/update/completion.d.ts.map +1 -0
  729. package/dist/runtime/update/completion.js +50 -0
  730. package/dist/runtime/update/completion.js.map +1 -0
  731. package/dist/runtime/update/lock.d.ts +1 -1
  732. package/dist/runtime/update/lock.d.ts.map +1 -1
  733. package/dist/runtime/update/lock.js +21 -38
  734. package/dist/runtime/update/lock.js.map +1 -1
  735. package/dist/runtime/update/once.d.ts +16 -13
  736. package/dist/runtime/update/once.d.ts.map +1 -1
  737. package/dist/runtime/update/once.js +41 -31
  738. package/dist/runtime/update/once.js.map +1 -1
  739. package/dist/runtime/update/owner.js +1 -1
  740. package/dist/runtime/update/retained-lease.js +1 -1
  741. package/dist/runtime/update/waiting.d.ts +14 -1
  742. package/dist/runtime/update/waiting.d.ts.map +1 -1
  743. package/dist/runtime/update/waiting.js +20 -12
  744. package/dist/runtime/update/waiting.js.map +1 -1
  745. package/dist/state/canonical-path.d.ts +5 -0
  746. package/dist/state/canonical-path.d.ts.map +1 -1
  747. package/dist/state/canonical-path.js +11 -5
  748. package/dist/state/canonical-path.js.map +1 -1
  749. package/dist/state/directories.d.ts +31 -1
  750. package/dist/state/directories.d.ts.map +1 -1
  751. package/dist/state/directories.js +75 -13
  752. package/dist/state/directories.js.map +1 -1
  753. package/dist/state/files.d.ts +3 -3
  754. package/dist/state/files.d.ts.map +1 -1
  755. package/dist/state/files.js +4 -10
  756. package/dist/state/files.js.map +1 -1
  757. package/dist/state/launch-ownership.d.ts +4 -2
  758. package/dist/state/launch-ownership.d.ts.map +1 -1
  759. package/dist/state/launch-ownership.js +18 -10
  760. package/dist/state/launch-ownership.js.map +1 -1
  761. package/dist/state/launch-publication.d.ts +7 -1
  762. package/dist/state/launch-publication.d.ts.map +1 -1
  763. package/dist/state/launch-publication.js +14 -2
  764. package/dist/state/launch-publication.js.map +1 -1
  765. package/dist/state/loop-store.d.ts +15 -4
  766. package/dist/state/loop-store.d.ts.map +1 -1
  767. package/dist/state/loop-store.js +13 -7
  768. package/dist/state/loop-store.js.map +1 -1
  769. package/dist/state/preparation/created-directories.d.ts +13 -0
  770. package/dist/state/preparation/created-directories.d.ts.map +1 -0
  771. package/dist/state/preparation/created-directories.js +45 -0
  772. package/dist/state/preparation/created-directories.js.map +1 -0
  773. package/dist/state/preparation/ignore-sync.d.ts +9 -0
  774. package/dist/state/preparation/ignore-sync.d.ts.map +1 -0
  775. package/dist/state/preparation/ignore-sync.js +47 -0
  776. package/dist/state/preparation/ignore-sync.js.map +1 -0
  777. package/dist/state/preparation/index.d.ts +25 -0
  778. package/dist/state/preparation/index.d.ts.map +1 -0
  779. package/dist/state/preparation/index.js +31 -0
  780. package/dist/state/preparation/index.js.map +1 -0
  781. package/dist/state/preparation/install-ignore.d.ts +6 -0
  782. package/dist/state/preparation/install-ignore.d.ts.map +1 -0
  783. package/dist/state/preparation/install-ignore.js +87 -0
  784. package/dist/state/preparation/install-ignore.js.map +1 -0
  785. package/dist/state/preparation/rollback-parent.d.ts +3 -0
  786. package/dist/state/preparation/rollback-parent.d.ts.map +1 -0
  787. package/dist/state/preparation/rollback-parent.js +18 -0
  788. package/dist/state/preparation/rollback-parent.js.map +1 -0
  789. package/dist/state/preparation/root-trust.d.ts +3 -0
  790. package/dist/state/preparation/root-trust.d.ts.map +1 -0
  791. package/dist/state/preparation/root-trust.js +70 -0
  792. package/dist/state/preparation/root-trust.js.map +1 -0
  793. package/dist/state/private-session.d.ts +5 -2
  794. package/dist/state/private-session.d.ts.map +1 -1
  795. package/dist/state/private-session.js +21 -9
  796. package/dist/state/private-session.js.map +1 -1
  797. package/dist/state/root.d.ts +25 -0
  798. package/dist/state/root.d.ts.map +1 -0
  799. package/dist/state/root.js +84 -0
  800. package/dist/state/root.js.map +1 -0
  801. package/dist/state/runtime-paths.d.ts +5 -4
  802. package/dist/state/runtime-paths.d.ts.map +1 -1
  803. package/dist/state/runtime-paths.js +5 -4
  804. package/dist/state/runtime-paths.js.map +1 -1
  805. package/dist/state/setup-failure.d.ts +3 -0
  806. package/dist/state/setup-failure.d.ts.map +1 -0
  807. package/dist/state/setup-failure.js +13 -0
  808. package/dist/state/setup-failure.js.map +1 -0
  809. package/dist/state/socket-home.d.ts +17 -12
  810. package/dist/state/socket-home.d.ts.map +1 -1
  811. package/dist/state/socket-home.js +31 -14
  812. package/dist/state/socket-home.js.map +1 -1
  813. package/dist/state/store.d.ts +1 -3
  814. package/dist/state/store.d.ts.map +1 -1
  815. package/dist/state/store.js +3 -18
  816. package/dist/state/store.js.map +1 -1
  817. package/dist/terminal/cursor.d.ts +1 -1
  818. package/dist/terminal/cursor.d.ts.map +1 -1
  819. package/dist/terminal/cursor.js +36 -1
  820. package/dist/terminal/cursor.js.map +1 -1
  821. package/dist/terminal/headless.d.ts +1 -1
  822. package/dist/terminal/headless.d.ts.map +1 -1
  823. package/dist/terminal/headless.js +1 -3
  824. package/dist/terminal/headless.js.map +1 -1
  825. package/docs/cli-behavior.md +1218 -28
  826. package/docs/cli.md +2 -0
  827. package/docs/codex/cli.md +4 -2
  828. package/docs/embedding.md +7 -0
  829. package/docs/performance/terminal-engines.md +88 -0
  830. package/docs/performance.md +120 -0
  831. package/package.json +4 -4
  832. package/prd/04-architecture.md +32 -0
  833. package/prd/05-api/5.1-starting-claude.md +17 -1
  834. package/prd/05-api/5.2-resuming-claude.md +5 -0
  835. package/prd/05-api/5.3-claude-session-api.md +267 -40
  836. package/prd/05-api/5.4-events.md +77 -10
  837. package/prd/05-api/5.5-starting-codex.md +3 -1
  838. package/prd/05-api/5.6-resuming-codex.md +4 -1
  839. package/prd/05-api/5.7-codex-session-api.md +87 -5
  840. package/prd/05-api/5.8-session-api.md +32 -1
  841. package/prd/06-claude-hook-bridge.md +2 -0
  842. package/prd/07a-codex-hook-bridge.md +5 -0
  843. package/prd/08-state.md +63 -7
  844. package/prd/09-lifecycle.md +126 -35
  845. package/prd/10-errors.md +11 -4
  846. package/prd/12-e2e.md +81 -0
  847. package/prd/12a-cli.md +63 -9
  848. package/prd/14-conformance.md +52 -35
  849. package/prd/16-maintainer-review.md +11 -0
  850. package/dist/claude/model-composer.d.ts +0 -2
  851. package/dist/claude/model-composer.d.ts.map +0 -1
  852. package/dist/claude/model-composer.js +0 -12
  853. package/dist/claude/model-composer.js.map +0 -1
  854. package/dist/claude/transcript/drain.d.ts +0 -33
  855. package/dist/claude/transcript/drain.d.ts.map +0 -1
  856. package/dist/claude/transcript/drain.js +0 -56
  857. package/dist/claude/transcript/drain.js.map +0 -1
  858. package/dist/codex/session/cli-exit.d.ts +0 -24
  859. package/dist/codex/session/cli-exit.d.ts.map +0 -1
  860. package/dist/codex/session/cli-exit.js +0 -43
  861. package/dist/codex/session/cli-exit.js.map +0 -1
  862. package/dist/codex/transcript/drain.d.ts +0 -30
  863. package/dist/codex/transcript/drain.d.ts.map +0 -1
  864. package/dist/codex/transcript/drain.js +0 -48
  865. package/dist/codex/transcript/drain.js.map +0 -1
  866. package/dist/runtime/probe-cleanup.d.ts.map +0 -1
  867. package/dist/runtime/probe-cleanup.js.map +0 -1
  868. package/dist/runtime/probe.d.ts +0 -11
  869. package/dist/runtime/probe.d.ts.map +0 -1
  870. package/dist/runtime/probe.js +0 -113
  871. package/dist/runtime/probe.js.map +0 -1
  872. package/dist/runtime/session/foreign-picker.d.ts +0 -8
  873. package/dist/runtime/session/foreign-picker.d.ts.map +0 -1
  874. package/dist/runtime/session/foreign-picker.js +0 -18
  875. package/dist/runtime/session/foreign-picker.js.map +0 -1
  876. package/dist/runtime/session/picker-input.d.ts +0 -17
  877. package/dist/runtime/session/picker-input.d.ts.map +0 -1
  878. package/dist/runtime/session/picker-input.js.map +0 -1
@@ -1,27 +1,32 @@
1
- /** Owns trust episodes, bounded attempts, and recoverable blocking (PRD §5.4/C-TRUST-01). */
1
+ /** Owns trust episodes, on-screen budgets, and recoverable blocking (PRD §5.4/C-TRUST-01). */
2
2
  import type { ElwoodAgentKind } from "../activity/index.ts";
3
3
  import type { TrustClearance } from "./clearance.ts";
4
4
  import type { TrustPromptIdFor } from "./prompts.ts";
5
- import type { TrustPromptResult, TrustWriteResult } from "./types.ts";
5
+ import type { TrustHooks, TrustPromptResult, TrustWriteResult } from "./types.ts";
6
6
  export type { TrustPromptAutomation, TrustPromptResult, TrustWriteResult } from "./types.ts";
7
7
  export { trustPromptVisible } from "./view.ts";
8
8
  export declare class TrustPromptResponder<A extends ElwoodAgentKind> {
9
9
  private episode;
10
10
  private humanPrompt;
11
- private timer;
11
+ private readonly deadline;
12
12
  private readonly attempts;
13
13
  private disposed;
14
14
  private readonly agent;
15
15
  private readonly autotrust;
16
- private readonly onStateChange;
16
+ private readonly hooks;
17
17
  /** The ADAPTER's clearance grammar; the coordinator never encodes a CLI's layout. */
18
18
  private readonly clearance;
19
- constructor(agent: A, clearance: TrustClearance, autotrust?: boolean, onStateChange?: () => void);
19
+ constructor(agent: A, clearance: TrustClearance, autotrust?: boolean, hooks?: TrustHooks);
20
20
  get inputBlocking(): boolean;
21
21
  get blockedPrompt(): TrustPromptIdFor<A> | undefined;
22
22
  /** Read the latest settled frame; undefined during pending/synchronized/failed rendering
23
23
  * holds input until the deadline. Omit the reader only for static/legacy numbered writes. */
24
24
  handle(frame: string, write: (input: string) => TrustWriteResult, readFrame?: () => string | undefined): TrustPromptResult<A>;
25
+ /**
26
+ * Raw caller input owns the gate on screen: its attempt is cancelled before the caller's
27
+ * keys are written, and automation writes nothing more to that gate (C-TRUST-01).
28
+ */
29
+ callerInput(): void;
25
30
  /** Session closing owns all cancellation, including writes whose promises settle late. */
26
31
  dispose(): void;
27
32
  private observe;
@@ -1 +1 @@
1
- {"version":3,"file":"responder.d.ts","sourceRoot":"","sources":["../../../src/core/trust/responder.ts"],"names":[],"mappings":"AAAA,6FAA6F;AAC7F,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAE5D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,KAAK,EAAiB,gBAAgB,EAAE,MAAM,cAAc,CAAC;AACpE,OAAO,KAAK,EAAW,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAK/E,YAAY,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC7F,OAAO,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAG/C,qBAAa,oBAAoB,CAAC,CAAC,SAAS,eAAe;IACzD,OAAO,CAAC,OAAO,CAAsB;IACrC,OAAO,CAAC,WAAW,CAA4B;IAC/C,OAAO,CAAC,KAAK,CAA4C;IACzD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA2B;IACpD,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAI;IAC1B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAU;IACpC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA2B;IACzD,qFAAqF;IACrF,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAiB;gBAC/B,KAAK,EAAE,CAAC,EAAE,SAAS,EAAE,cAAc,EAAE,SAAS,UAAQ,EAAE,aAAa,CAAC,EAAE,MAAM,IAAI;IAM9F,IAAI,aAAa,IAAI,OAAO,CAE3B;IACD,IAAI,aAAa,IAAI,gBAAgB,CAAC,CAAC,CAAC,GAAG,SAAS,CAGnD;IACD;iGAC6F;IAC7F,MAAM,CACJ,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,gBAAgB,EAC1C,SAAS,CAAC,EAAE,MAAM,MAAM,GAAG,SAAS,GACnC,iBAAiB,CAAC,CAAC,CAAC;IAqFvB,0FAA0F;IAC1F,OAAO,IAAI,IAAI;IAOf,OAAO,CAAC,OAAO;IAmCf,OAAO,CAAC,GAAG;IAcX,OAAO,CAAC,OAAO;IAMf,OAAO,CAAC,MAAM;CAOf"}
1
+ {"version":3,"file":"responder.d.ts","sourceRoot":"","sources":["../../../src/core/trust/responder.ts"],"names":[],"mappings":"AAAA,8FAA8F;AAC9F,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAErD,OAAO,KAAK,EAAiB,gBAAgB,EAAE,MAAM,cAAc,CAAC;AACpE,OAAO,KAAK,EAAW,UAAU,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAK3F,YAAY,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC7F,OAAO,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAE/C,qBAAa,oBAAoB,CAAC,CAAC,SAAS,eAAe;IACzD,OAAO,CAAC,OAAO,CAAsB;IACrC,OAAO,CAAC,WAAW,CAA4B;IAC/C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAsB;IAC/C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA2B;IACpD,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAI;IAC1B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAU;IACpC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAa;IACnC,qFAAqF;IACrF,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAiB;gBAC/B,KAAK,EAAE,CAAC,EAAE,SAAS,EAAE,cAAc,EAAE,SAAS,UAAQ,EAAE,KAAK,GAAE,UAAe;IAM1F,IAAI,aAAa,IAAI,OAAO,CAE3B;IACD,IAAI,aAAa,IAAI,gBAAgB,CAAC,CAAC,CAAC,GAAG,SAAS,CAGnD;IACD;iGAC6F;IAC7F,MAAM,CACJ,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,gBAAgB,EAC1C,SAAS,CAAC,EAAE,MAAM,MAAM,GAAG,SAAS,GACnC,iBAAiB,CAAC,CAAC,CAAC;IAgFvB;;;OAGG;IACH,WAAW,IAAI,IAAI;IAKnB,0FAA0F;IAC1F,OAAO,IAAI,IAAI;IAOf,OAAO,CAAC,OAAO;IAmCf,OAAO,CAAC,GAAG;IAWX,OAAO,CAAC,OAAO;IAMf,OAAO,CAAC,MAAM;CAOf"}
@@ -1,25 +1,24 @@
1
- import { optionInput } from "../terminal-options.js";
2
- import { newEpisode } from "./types.js";
1
+ import { GateDeadline, gateBudgetMs } from "./deadline.js";
2
+ import { attempted, leaveFrame, newEpisode } from "./types.js";
3
3
  import { choiceIdentity, readTrustView, trustView } from "./view.js";
4
4
  import { TrustAttempt } from "./write.js";
5
5
  export { trustPromptVisible } from "./view.js";
6
- const episodeTimeoutMs = 5_000;
7
6
  export class TrustPromptResponder {
8
7
  episode;
9
8
  humanPrompt;
10
- timer;
9
+ deadline = new GateDeadline();
11
10
  attempts = new Set();
12
11
  disposed = false;
13
12
  agent;
14
13
  autotrust;
15
- onStateChange;
14
+ hooks;
16
15
  /** The ADAPTER's clearance grammar; the coordinator never encodes a CLI's layout. */
17
16
  clearance;
18
- constructor(agent, clearance, autotrust = false, onStateChange) {
17
+ constructor(agent, clearance, autotrust = false, hooks = {}) {
19
18
  this.agent = agent;
20
19
  this.clearance = clearance;
21
20
  this.autotrust = autotrust;
22
- this.onStateChange = onStateChange;
21
+ this.hooks = hooks;
23
22
  }
24
23
  get inputBlocking() {
25
24
  return this.humanPrompt !== undefined || this.episode !== undefined;
@@ -36,6 +35,10 @@ export class TrustPromptResponder {
36
35
  const priorIdentity = this.episode?.lastIdentity;
37
36
  const view = trustView(frame, this.agent, this.clearance);
38
37
  this.observe(view);
38
+ // A rendered frame is evidence for the gate's next attempt as well as its current one.
39
+ if (this.episode !== undefined)
40
+ this.episode.phase.renderedSinceWrite = true;
41
+ this.episode?.attempt?.wake();
39
42
  const episode = this.episode;
40
43
  if (view.kind !== "candidate" || episode === undefined || view.key !== episode.candidate.key)
41
44
  return undefined;
@@ -60,19 +63,20 @@ export class TrustPromptResponder {
60
63
  episode.reportedPending = true;
61
64
  return { kind: "option_pending", prompt: view.spec.id };
62
65
  }
63
- if (episode.expired ||
64
- episode.attempt ||
66
+ // Running now, answered without a reader, or this choice was already attempted.
67
+ const attemptAlreadyHandled = episode.attempt !== undefined ||
65
68
  episode.legacyAnswered ||
66
- episode.attemptedIdentity === identity)
69
+ episode.attemptedIdentity === identity;
70
+ if (episode.expired || episode.callerOwned || attemptAlreadyHandled)
67
71
  return undefined;
68
72
  const read = readFrame === undefined
69
73
  ? undefined
70
74
  : () => readTrustView(readFrame, this.agent, this.clearance);
71
- const attempt = new TrustAttempt(view, identity);
75
+ const attempt = new TrustAttempt(view, identity, episode.phase, this.hooks.numberedRetry);
72
76
  episode.attempt = attempt;
73
77
  episode.attemptedIdentity = identity;
74
78
  this.attempts.add(attempt);
75
- const settled = attempt.start(write, read, episode.deadlineAtMs).then((completion) => {
79
+ const settled = attempt.start(write, read, this.deadline).then((completion) => {
76
80
  this.attempts.delete(attempt);
77
81
  if (this.disposed || attempt.invalidated)
78
82
  return "cancelled";
@@ -83,7 +87,7 @@ export class TrustPromptResponder {
83
87
  episode.attemptedIdentity = undefined;
84
88
  if (read === undefined && completion === "answered") {
85
89
  episode.legacyAnswered = true;
86
- clearTimeout(this.timer);
90
+ this.deadline.cancel();
87
91
  }
88
92
  if (read === undefined)
89
93
  return completion;
@@ -107,19 +111,22 @@ export class TrustPromptResponder {
107
111
  episode.attemptedIdentity = undefined;
108
112
  throw error;
109
113
  });
110
- return {
111
- kind: "attempted",
112
- automation: {
113
- prompt: view.spec.id,
114
- input: optionInput(view.option),
115
- },
116
- settled,
117
- };
114
+ return attempted(view.spec.id, view.option, settled);
115
+ }
116
+ /**
117
+ * Raw caller input owns the gate on screen: its attempt is cancelled before the caller's
118
+ * keys are written, and automation writes nothing more to that gate (C-TRUST-01).
119
+ */
120
+ callerInput() {
121
+ if (this.episode === undefined)
122
+ return;
123
+ this.episode.callerOwned = true;
124
+ this.episode.attempt?.cancel();
118
125
  }
119
126
  /** Session closing owns all cancellation, including writes whose promises settle late. */
120
127
  dispose() {
121
128
  this.disposed = true;
122
- clearTimeout(this.timer);
129
+ this.deadline.cancel();
123
130
  for (const attempt of this.attempts)
124
131
  attempt.cancel();
125
132
  this.episode = undefined;
@@ -133,10 +140,9 @@ export class TrustPromptResponder {
133
140
  if (view.kind === "unknown") {
134
141
  // Unknown/partial replacements retain human ownership until verified clearance.
135
142
  if (this.episode) {
136
- this.episode.attempt?.cancel();
137
- this.episode.attempt = undefined;
138
- this.episode.attemptedIdentity = undefined;
139
- this.episode.lastIdentity = undefined;
143
+ leaveFrame(this.episode, view.gate === true);
144
+ // No human can act on a gate that left the frame; its budget waits for its return.
145
+ this.deadline.pause();
140
146
  }
141
147
  return;
142
148
  }
@@ -148,6 +154,7 @@ export class TrustPromptResponder {
148
154
  }
149
155
  if (this.episode?.candidate.key === view.key) {
150
156
  this.episode.lastIdentity = choiceIdentity(view);
157
+ this.deadline.resume();
151
158
  return;
152
159
  }
153
160
  const blocked = this.blockedPrompt !== undefined;
@@ -162,28 +169,25 @@ export class TrustPromptResponder {
162
169
  this.arm(episode);
163
170
  }
164
171
  arm(episode) {
165
- clearTimeout(this.timer);
166
172
  episode.expired = false;
167
- episode.deadlineAtMs = Date.now() + episodeTimeoutMs;
168
- this.timer = setTimeout(() => {
173
+ this.deadline.start(gateBudgetMs, () => {
169
174
  episode.expired = true;
170
175
  episode.expiredIdentity = episode.lastIdentity;
171
176
  episode.blocked = true;
172
177
  episode.attempt?.cancel();
173
178
  episode.attempt = undefined;
174
179
  this.notify();
175
- }, episodeTimeoutMs);
176
- this.timer.unref();
180
+ });
177
181
  }
178
182
  release(cleared) {
179
- clearTimeout(this.timer);
183
+ this.deadline.cancel();
180
184
  this.episode?.attempt?.cancel(cleared);
181
185
  this.episode = undefined;
182
186
  this.humanPrompt = undefined;
183
187
  }
184
188
  notify() {
185
189
  try {
186
- this.onStateChange?.();
190
+ this.hooks.onStateChange?.();
187
191
  }
188
192
  catch {
189
193
  /* An observer cannot retain owned timers or writes. */
@@ -1 +1 @@
1
- {"version":3,"file":"responder.js","sourceRoot":"","sources":["../../../src/core/trust/responder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"responder.js","sourceRoot":"","sources":["../../../src/core/trust/responder.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,67 @@
1
+ /**
2
+ * The keys one trust answer writes, and what a retry of it may write (PRD §5.4,
3
+ * C-TRUST-01). Kept apart from the attempt's lifecycle in `write.ts`.
4
+ */
5
+ import { type SelectableOption } from "../terminal-options.ts";
6
+ export declare const retryMs = 250;
7
+ export declare const observationMs = 20;
8
+ export type TrustStep = {
9
+ /** The raw PTY keystrokes, not the printable answer summary activity reports. */
10
+ readonly keys: string;
11
+ /** The write confirms the answer (it carries Enter). */
12
+ readonly confirm: boolean;
13
+ readonly pollMs: number;
14
+ };
15
+ /**
16
+ * A cursor answer never sends a relative arrow or a bare Enter (docs/cli-behavior.md).
17
+ * Claude 2.1.310 remounts its dialog with the cursor back on "No, exit" once its input
18
+ * guard settles, and a retried arrow can land after the first already moved; a bare
19
+ * Enter decided from the earlier frame then confirms the decline. The absolute selection
20
+ * lands on the same row however often it repeats, and Enter travels only in the same
21
+ * write as it, once the rendered cursor sits on the affirmative.
22
+ */
23
+ export declare function trustStep(option: SelectableOption): TrustStep;
24
+ /**
25
+ * Shared by every attempt at one gate, so a later attempt (after a rejected write, a lost
26
+ * choice, or expiry) retries as after the gate's last write, never by typing a number
27
+ * blind. Only another complete dialog replacing the gate makes its return a fresh one.
28
+ */
29
+ export type TrustPhase = {
30
+ /**
31
+ * A confirming write was started, whatever its outcome: a rejected or abandoned write
32
+ * may still have reached the CLI, so the gate's later numbered steps are retries.
33
+ */
34
+ confirmationWriteAttempted: boolean;
35
+ /** A confirming write fulfilled. That is not clearance, which only a frame verifies. */
36
+ confirmationWriteFulfilled: boolean;
37
+ /** A frame rendered after the last write: only such a frame can show it was ignored. */
38
+ renderedSinceWrite: boolean;
39
+ };
40
+ /** The phase of a gate the CLI drew afresh: nothing written to it yet. */
41
+ export declare function freshPhase(): TrustPhase;
42
+ type SelectableNumberedOption = Extract<SelectableOption, {
43
+ style: "numbered";
44
+ }>;
45
+ /**
46
+ * What a numbered answer's retry writes after its first write typed the number
47
+ * (`trustStep`); `undefined` waits for the next rendered frame. A frame still showing
48
+ * the gate does not prove the CLI ignored the answer: under load Codex 0.164 takes `1\r`
49
+ * but paints its composer after the retry interval, and the same keys typed again submit
50
+ * "1" as a user turn. Each adapter chooses its retry beside its clearance grammar
51
+ * (C-TRUST-01).
52
+ */
53
+ export type NumberedRetry = (option: SelectableNumberedOption, renderedSinceWrite: boolean) => TrustStep | undefined;
54
+ /**
55
+ * The default: the number again, but only once a frame rendered from output received
56
+ * after the last write still shows the gate. Claude needs this: its list remounts with
57
+ * the caret on the decline, so a bare Enter could exit.
58
+ */
59
+ export declare const retypeAfterRender: NumberedRetry;
60
+ /**
61
+ * For a CLI whose gate confirms its highlighted option on Enter and whose empty composer
62
+ * ignores a bare Enter: Enter alone while the rendered caret is on the affirmative, which
63
+ * confirms the gate or does nothing; otherwise `retypeAfterRender`.
64
+ */
65
+ export declare const enterWhileSelected: NumberedRetry;
66
+ export {};
67
+ //# sourceMappingURL=step.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"step.d.ts","sourceRoot":"","sources":["../../../src/core/trust/step.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAmB,KAAK,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAEhF,eAAO,MAAM,OAAO,MAAM,CAAC;AAC3B,eAAO,MAAM,aAAa,KAAK,CAAC;AAEhC,MAAM,MAAM,SAAS,GAAG;IACtB,iFAAiF;IACjF,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,wDAAwD;IACxD,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF;;;;;;;GAOG;AACH,wBAAgB,SAAS,CAAC,MAAM,EAAE,gBAAgB,GAAG,SAAS,CAM7D;AAED;;;;GAIG;AACH,MAAM,MAAM,UAAU,GAAG;IACvB;;;OAGG;IACH,0BAA0B,EAAE,OAAO,CAAC;IACpC,wFAAwF;IACxF,0BAA0B,EAAE,OAAO,CAAC;IACpC,wFAAwF;IACxF,kBAAkB,EAAE,OAAO,CAAC;CAC7B,CAAC;AAEF,0EAA0E;AAC1E,wBAAgB,UAAU,IAAI,UAAU,CAMvC;AAED,KAAK,wBAAwB,GAAG,OAAO,CAAC,gBAAgB,EAAE;IAAE,KAAK,EAAE,UAAU,CAAA;CAAE,CAAC,CAAC;AAEjF;;;;;;;GAOG;AACH,MAAM,MAAM,aAAa,GAAG,CAC1B,MAAM,EAAE,wBAAwB,EAChC,kBAAkB,EAAE,OAAO,KACxB,SAAS,GAAG,SAAS,CAAC;AAE3B;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,EAAE,aACoB,CAAC;AAErD;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,EAAE,aAGkB,CAAC"}
@@ -0,0 +1,45 @@
1
+ /**
2
+ * The keys one trust answer writes, and what a retry of it may write (PRD §5.4,
3
+ * C-TRUST-01). Kept apart from the attempt's lifecycle in `write.ts`.
4
+ */
5
+ import { cursorSelection } from "../terminal-options.js";
6
+ export const retryMs = 250;
7
+ export const observationMs = 20;
8
+ /**
9
+ * A cursor answer never sends a relative arrow or a bare Enter (docs/cli-behavior.md).
10
+ * Claude 2.1.310 remounts its dialog with the cursor back on "No, exit" once its input
11
+ * guard settles, and a retried arrow can land after the first already moved; a bare
12
+ * Enter decided from the earlier frame then confirms the decline. The absolute selection
13
+ * lands on the same row however often it repeats, and Enter travels only in the same
14
+ * write as it, once the rendered cursor sits on the affirmative.
15
+ */
16
+ export function trustStep(option) {
17
+ if (option.style === "numbered")
18
+ return { keys: `${option.number}\r`, confirm: true, pollMs: retryMs };
19
+ const select = cursorSelection(option);
20
+ const confirm = option.offset === 0;
21
+ return { keys: confirm ? `${select}\r` : select, confirm, pollMs: observationMs };
22
+ }
23
+ /** The phase of a gate the CLI drew afresh: nothing written to it yet. */
24
+ export function freshPhase() {
25
+ return {
26
+ confirmationWriteAttempted: false,
27
+ confirmationWriteFulfilled: false,
28
+ renderedSinceWrite: false,
29
+ };
30
+ }
31
+ /**
32
+ * The default: the number again, but only once a frame rendered from output received
33
+ * after the last write still shows the gate. Claude needs this: its list remounts with
34
+ * the caret on the decline, so a bare Enter could exit.
35
+ */
36
+ export const retypeAfterRender = (option, renderedSinceWrite) => renderedSinceWrite ? trustStep(option) : undefined;
37
+ /**
38
+ * For a CLI whose gate confirms its highlighted option on Enter and whose empty composer
39
+ * ignores a bare Enter: Enter alone while the rendered caret is on the affirmative, which
40
+ * confirms the gate or does nothing; otherwise `retypeAfterRender`.
41
+ */
42
+ export const enterWhileSelected = (option, renderedSinceWrite) => option.selected === true
43
+ ? { keys: "\r", confirm: true, pollMs: retryMs }
44
+ : retypeAfterRender(option, renderedSinceWrite);
45
+ //# sourceMappingURL=step.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"step.js","sourceRoot":"","sources":["../../../src/core/trust/step.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,eAAe,EAAyB,MAAM,wBAAwB,CAAC;AAEhF,MAAM,CAAC,MAAM,OAAO,GAAG,GAAG,CAAC;AAC3B,MAAM,CAAC,MAAM,aAAa,GAAG,EAAE,CAAC;AAUhC;;;;;;;GAOG;AACH,MAAM,UAAU,SAAS,CAAC,MAAwB;IAChD,IAAI,MAAM,CAAC,KAAK,KAAK,UAAU;QAC7B,OAAO,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC,MAAM,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;IACxE,MAAM,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;IACvC,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC;IACpC,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,MAAM,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC;AACpF,CAAC;AAmBD,0EAA0E;AAC1E,MAAM,UAAU,UAAU;IACxB,OAAO;QACL,0BAA0B,EAAE,KAAK;QACjC,0BAA0B,EAAE,KAAK;QACjC,kBAAkB,EAAE,KAAK;KAC1B,CAAC;AACJ,CAAC;AAiBD;;;;GAIG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAkB,CAAC,MAAM,EAAE,kBAAkB,EAAE,EAAE,CAC7E,kBAAkB,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AAErD;;;;GAIG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAkB,CAAC,MAAM,EAAE,kBAAkB,EAAE,EAAE,CAC9E,MAAM,CAAC,QAAQ,KAAK,IAAI;IACtB,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE;IAChD,CAAC,CAAC,iBAAiB,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC"}
@@ -1,13 +1,22 @@
1
1
  /** Attempt descriptors distinguish trust input from confirmed clearance (PRD §5.4). */
2
2
  import type { ElwoodAgentKind } from "../activity/index.ts";
3
3
  import type { StartupWriteCompletion } from "../startup/write.ts";
4
+ import { type SelectableOption } from "../terminal-options.ts";
4
5
  import type { TrustPromptIdFor } from "./prompts.ts";
6
+ import { type NumberedRetry, type TrustPhase } from "./step.ts";
5
7
  import { type TrustCandidate } from "./view.ts";
6
8
  import type { TrustAttempt } from "./write.ts";
7
9
  export type TrustPromptAutomation<A extends ElwoodAgentKind = ElwoodAgentKind> = {
8
10
  readonly prompt: TrustPromptIdFor<A>;
9
11
  readonly input: string;
10
12
  };
13
+ /** What an adapter supplies beside its clearance grammar (C-TRUST-01). */
14
+ export type TrustHooks = {
15
+ /** Told when blocking state changes without a frame (expiry, settlement). */
16
+ readonly onStateChange?: (() => void) | undefined;
17
+ /** What a numbered retry writes; the default retypes only after a rendered frame. */
18
+ readonly numberedRetry?: NumberedRetry;
19
+ };
11
20
  /** Raw PTY result; the coordinator separately owns cancellation and clearance. */
12
21
  export type TrustWriteResult = void | Promise<void>;
13
22
  export type TrustPromptResult<A extends ElwoodAgentKind = ElwoodAgentKind> = {
@@ -21,7 +30,6 @@ export type TrustPromptResult<A extends ElwoodAgentKind = ElwoodAgentKind> = {
21
30
  /** Mutable coordinator state stays owned by a single observed trust generation. */
22
31
  export type Episode = {
23
32
  candidate: TrustCandidate;
24
- deadlineAtMs: number;
25
33
  blocked: boolean;
26
34
  expired: boolean;
27
35
  expiredIdentity: string | undefined;
@@ -29,8 +37,20 @@ export type Episode = {
29
37
  attemptedIdentity: string | undefined;
30
38
  reportedPending: boolean;
31
39
  legacyAnswered: boolean;
40
+ /** Raw caller input reached this gate; automation writes nothing more to it. */
41
+ callerOwned: boolean;
42
+ /** Every attempt at this gate shares it, so its writes and frames outlive each attempt. */
43
+ readonly phase: TrustPhase;
32
44
  attempt: TrustAttempt | undefined;
33
45
  };
34
46
  /** A fresh episode for a newly observed candidate; only `blocked` carries over. */
35
47
  export declare function newEpisode(candidate: TrustCandidate, blocked: boolean): Episode;
48
+ /** The result announcing an attempt at `prompt`'s affirmative `option`. */
49
+ export declare function attempted<A extends ElwoodAgentKind>(prompt: TrustPromptIdFor<A>, option: SelectableOption, settled: Promise<StartupWriteCompletion>): TrustPromptResult<A>;
50
+ /**
51
+ * The gate left the frame. An unconfirmed attempt lost its choice; a confirmed answer
52
+ * keeps waiting for verified clearance or the gate's return, unless an off-allowlist
53
+ * gate a human must answer replaced it (C-TRUST-01).
54
+ */
55
+ export declare function leaveFrame(episode: Episode, offAllowlistGate: boolean): void;
36
56
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/core/trust/types.ts"],"names":[],"mappings":"AAAA,uFAAuF;AACvF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAClE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAkB,KAAK,cAAc,EAAE,MAAM,WAAW,CAAC;AAChE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C,MAAM,MAAM,qBAAqB,CAAC,CAAC,SAAS,eAAe,GAAG,eAAe,IAAI;IAC/E,QAAQ,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC;IACrC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB,CAAC;AACF,kFAAkF;AAClF,MAAM,MAAM,gBAAgB,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AACpD,MAAM,MAAM,iBAAiB,CAAC,CAAC,SAAS,eAAe,GAAG,eAAe,IACrE;IACE,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAC3B,QAAQ,CAAC,UAAU,EAAE,qBAAqB,CAAC,CAAC,CAAC,CAAC;IAC9C,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,sBAAsB,CAAC,CAAC;CACnD,GACD;IAAE,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAA;CAAE,GACzE,SAAS,CAAC;AAEd,mFAAmF;AACnF,MAAM,MAAM,OAAO,GAAG;IACpB,SAAS,EAAE,cAAc,CAAC;IAC1B,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,eAAe,EAAE,MAAM,GAAG,SAAS,CAAC;IACpC,YAAY,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,iBAAiB,EAAE,MAAM,GAAG,SAAS,CAAC;IACtC,eAAe,EAAE,OAAO,CAAC;IACzB,cAAc,EAAE,OAAO,CAAC;IACxB,OAAO,EAAE,YAAY,GAAG,SAAS,CAAC;CACnC,CAAC;AAEF,mFAAmF;AACnF,wBAAgB,UAAU,CAAC,SAAS,EAAE,cAAc,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAa/E"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/core/trust/types.ts"],"names":[],"mappings":"AAAA,uFAAuF;AACvF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAClE,OAAO,EAAe,KAAK,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC5E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAc,KAAK,aAAa,EAAE,KAAK,UAAU,EAAE,MAAM,WAAW,CAAC;AAC5E,OAAO,EAAkB,KAAK,cAAc,EAAE,MAAM,WAAW,CAAC;AAChE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C,MAAM,MAAM,qBAAqB,CAAC,CAAC,SAAS,eAAe,GAAG,eAAe,IAAI;IAC/E,QAAQ,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC;IACrC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB,CAAC;AACF,0EAA0E;AAC1E,MAAM,MAAM,UAAU,GAAG;IACvB,6EAA6E;IAC7E,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAAC;IAClD,qFAAqF;IACrF,QAAQ,CAAC,aAAa,CAAC,EAAE,aAAa,CAAC;CACxC,CAAC;AACF,kFAAkF;AAClF,MAAM,MAAM,gBAAgB,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AACpD,MAAM,MAAM,iBAAiB,CAAC,CAAC,SAAS,eAAe,GAAG,eAAe,IACrE;IACE,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAC3B,QAAQ,CAAC,UAAU,EAAE,qBAAqB,CAAC,CAAC,CAAC,CAAC;IAC9C,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,sBAAsB,CAAC,CAAC;CACnD,GACD;IAAE,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAA;CAAE,GACzE,SAAS,CAAC;AAEd,mFAAmF;AACnF,MAAM,MAAM,OAAO,GAAG;IACpB,SAAS,EAAE,cAAc,CAAC;IAC1B,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,eAAe,EAAE,MAAM,GAAG,SAAS,CAAC;IACpC,YAAY,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,iBAAiB,EAAE,MAAM,GAAG,SAAS,CAAC;IACtC,eAAe,EAAE,OAAO,CAAC;IACzB,cAAc,EAAE,OAAO,CAAC;IACxB,gFAAgF;IAChF,WAAW,EAAE,OAAO,CAAC;IACrB,2FAA2F;IAC3F,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC;IAC3B,OAAO,EAAE,YAAY,GAAG,SAAS,CAAC;CACnC,CAAC;AAEF,mFAAmF;AACnF,wBAAgB,UAAU,CAAC,SAAS,EAAE,cAAc,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAc/E;AAED,2EAA2E;AAC3E,wBAAgB,SAAS,CAAC,CAAC,SAAS,eAAe,EACjD,MAAM,EAAE,gBAAgB,CAAC,CAAC,CAAC,EAC3B,MAAM,EAAE,gBAAgB,EACxB,OAAO,EAAE,OAAO,CAAC,sBAAsB,CAAC,GACvC,iBAAiB,CAAC,CAAC,CAAC,CAEtB;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,OAAO,EAAE,OAAO,EAAE,gBAAgB,EAAE,OAAO,GAAG,IAAI,CAS5E"}
@@ -1,9 +1,10 @@
1
+ import { optionInput } from "../terminal-options.js";
2
+ import { freshPhase } from "./step.js";
1
3
  import { choiceIdentity } from "./view.js";
2
4
  /** A fresh episode for a newly observed candidate; only `blocked` carries over. */
3
5
  export function newEpisode(candidate, blocked) {
4
6
  return {
5
7
  candidate,
6
- deadlineAtMs: 0,
7
8
  blocked,
8
9
  expired: false,
9
10
  expiredIdentity: undefined,
@@ -11,7 +12,30 @@ export function newEpisode(candidate, blocked) {
11
12
  attemptedIdentity: undefined,
12
13
  reportedPending: false,
13
14
  legacyAnswered: false,
15
+ callerOwned: false,
16
+ phase: freshPhase(),
14
17
  attempt: undefined,
15
18
  };
16
19
  }
20
+ /** The result announcing an attempt at `prompt`'s affirmative `option`. */
21
+ export function attempted(prompt, option, settled) {
22
+ return { kind: "attempted", automation: { prompt, input: optionInput(option) }, settled };
23
+ }
24
+ /**
25
+ * The gate left the frame. An unconfirmed attempt lost its choice; a confirmed answer
26
+ * keeps waiting for verified clearance or the gate's return, unless an off-allowlist
27
+ * gate a human must answer replaced it (C-TRUST-01).
28
+ */
29
+ export function leaveFrame(episode, offAllowlistGate) {
30
+ episode.lastIdentity = undefined;
31
+ const confirmed = episode.phase.confirmationWriteFulfilled;
32
+ if (episode.attempt !== undefined && confirmed && !offAllowlistGate)
33
+ return;
34
+ episode.attempt?.cancel();
35
+ episode.attempt = undefined;
36
+ episode.attemptedIdentity = undefined;
37
+ // Another complete dialog replaced the gate, so the CLI drew its return afresh.
38
+ if (offAllowlistGate)
39
+ Object.assign(episode.phase, freshPhase());
40
+ }
17
41
  //# sourceMappingURL=types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/core/trust/types.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,cAAc,EAAuB,MAAM,WAAW,CAAC;AAgChE,mFAAmF;AACnF,MAAM,UAAU,UAAU,CAAC,SAAyB,EAAE,OAAgB;IACpE,OAAO;QACL,SAAS;QACT,YAAY,EAAE,CAAC;QACf,OAAO;QACP,OAAO,EAAE,KAAK;QACd,eAAe,EAAE,SAAS;QAC1B,YAAY,EAAE,cAAc,CAAC,SAAS,CAAC;QACvC,iBAAiB,EAAE,SAAS;QAC5B,eAAe,EAAE,KAAK;QACtB,cAAc,EAAE,KAAK;QACrB,OAAO,EAAE,SAAS;KACnB,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/core/trust/types.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAyB,MAAM,wBAAwB,CAAC;AAE5E,OAAO,EAAE,UAAU,EAAuC,MAAM,WAAW,CAAC;AAC5E,OAAO,EAAE,cAAc,EAAuB,MAAM,WAAW,CAAC;AA0ChE,mFAAmF;AACnF,MAAM,UAAU,UAAU,CAAC,SAAyB,EAAE,OAAgB;IACpE,OAAO;QACL,SAAS;QACT,OAAO;QACP,OAAO,EAAE,KAAK;QACd,eAAe,EAAE,SAAS;QAC1B,YAAY,EAAE,cAAc,CAAC,SAAS,CAAC;QACvC,iBAAiB,EAAE,SAAS;QAC5B,eAAe,EAAE,KAAK;QACtB,cAAc,EAAE,KAAK;QACrB,WAAW,EAAE,KAAK;QAClB,KAAK,EAAE,UAAU,EAAE;QACnB,OAAO,EAAE,SAAS;KACnB,CAAC;AACJ,CAAC;AAED,2EAA2E;AAC3E,MAAM,UAAU,SAAS,CACvB,MAA2B,EAC3B,MAAwB,EACxB,OAAwC;IAExC,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,UAAU,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC;AAC5F,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,UAAU,CAAC,OAAgB,EAAE,gBAAyB;IACpE,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC;IACjC,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,0BAA0B,CAAC;IAC3D,IAAI,OAAO,CAAC,OAAO,KAAK,SAAS,IAAI,SAAS,IAAI,CAAC,gBAAgB;QAAE,OAAO;IAC5E,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC;IAC1B,OAAO,CAAC,OAAO,GAAG,SAAS,CAAC;IAC5B,OAAO,CAAC,iBAAiB,GAAG,SAAS,CAAC;IACtC,gFAAgF;IAChF,IAAI,gBAAgB;QAAE,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC;AACnE,CAAC"}
@@ -16,10 +16,12 @@ export type TrustCandidate = {
16
16
  readonly valid: boolean;
17
17
  readonly option: SelectableOption | undefined;
18
18
  };
19
+ /** `gate` marks a complete off-allowlist dialog, which a human must answer. */
19
20
  export type TrustView = TrustCandidate | {
20
21
  readonly kind: "clear";
21
22
  } | {
22
23
  readonly kind: "unknown";
24
+ readonly gate?: true;
23
25
  };
24
26
  /** A present reader with unavailable output must never become the permissive no-reader mode. */
25
27
  export declare function readTrustView(readFrame: () => string | undefined, agent: ElwoodAgentKind, clearance: TrustClearance): TrustView | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"view.d.ts","sourceRoot":"","sources":["../../../src/core/trust/view.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAA0C,KAAK,WAAW,EAAE,MAAM,aAAa,CAAC;AACvF,OAAO,EAA4B,KAAK,eAAe,EAAwB,MAAM,cAAc,CAAC;AAEpG,MAAM,MAAM,cAAc,GAAG;IAC3B,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAC3B,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAC;IAC/B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,gBAAgB,GAAG,SAAS,CAAC;CAC/C,CAAC;AACF,MAAM,MAAM,SAAS,GAAG,cAAc,GAAG;IAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAA;CAAE,GAAG;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAA;CAAE,CAAC;AAEnG,gGAAgG;AAChG,wBAAgB,aAAa,CAC3B,SAAS,EAAE,MAAM,MAAM,GAAG,SAAS,EACnC,KAAK,EAAE,eAAe,EACtB,SAAS,EAAE,cAAc,GACxB,SAAS,GAAG,SAAS,CAGvB;AAED,gFAAgF;AAChF,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,eAAe,GAAG,OAAO,CAKhF;AAED,wBAAgB,SAAS,CACvB,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,eAAe,EACtB,SAAS,EAAE,cAAc,GACxB,SAAS,CAuBX;AAED,6FAA6F;AAC7F,wBAAgB,cAAc,CAAC,IAAI,EAAE,cAAc,GAAG,MAAM,GAAG,SAAS,CASvE"}
1
+ {"version":3,"file":"view.d.ts","sourceRoot":"","sources":["../../../src/core/trust/view.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE/D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAA0C,KAAK,WAAW,EAAE,MAAM,aAAa,CAAC;AACvF,OAAO,EAA4B,KAAK,eAAe,EAAwB,MAAM,cAAc,CAAC;AAEpG,MAAM,MAAM,cAAc,GAAG;IAC3B,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAC3B,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAC;IAC/B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,gBAAgB,GAAG,SAAS,CAAC;CAC/C,CAAC;AACF,+EAA+E;AAC/E,MAAM,MAAM,SAAS,GACjB,cAAc,GACd;IAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAA;CAAE,GAC1B;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,CAAA;CAAE,CAAC;AAEvD,gGAAgG;AAChG,wBAAgB,aAAa,CAC3B,SAAS,EAAE,MAAM,MAAM,GAAG,SAAS,EACnC,KAAK,EAAE,eAAe,EACtB,SAAS,EAAE,cAAc,GACxB,SAAS,GAAG,SAAS,CAGvB;AAED,gFAAgF;AAChF,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,eAAe,GAAG,OAAO,CAKhF;AAED,wBAAgB,SAAS,CACvB,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,eAAe,EACtB,SAAS,EAAE,cAAc,GACxB,SAAS,CAwBX;AAED,6FAA6F;AAC7F,wBAAgB,cAAc,CAAC,IAAI,EAAE,cAAc,GAAG,MAAM,GAAG,SAAS,CASvE"}
@@ -1,3 +1,4 @@
1
+ import { unknownGateVisible } from "./blocking.js";
1
2
  import { parseTrustCandidates, parseTrustDialog } from "./dialog.js";
2
3
  import { activeTrustDialogVisible, trustPromptAllowlist } from "./prompts.js";
3
4
  /** A present reader with unavailable output must never become the permissive no-reader mode. */
@@ -33,6 +34,8 @@ export function trustView(frame, agent, clearance) {
33
34
  };
34
35
  }
35
36
  }
37
+ if (unknownGateVisible(regions, agent))
38
+ return { kind: "unknown", gate: true };
36
39
  if (regions.length > 0)
37
40
  return { kind: "unknown" };
38
41
  return { kind: clearance(frame) ? "clear" : "unknown" };
@@ -1 +1 @@
1
- {"version":3,"file":"view.js","sourceRoot":"","sources":["../../../src/core/trust/view.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,oBAAoB,EAAE,gBAAgB,EAAoB,MAAM,aAAa,CAAC;AACvF,OAAO,EAAE,wBAAwB,EAAwB,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAYpG,gGAAgG;AAChG,MAAM,UAAU,aAAa,CAC3B,SAAmC,EACnC,KAAsB,EACtB,SAAyB;IAEzB,MAAM,KAAK,GAAG,SAAS,EAAE,CAAC;IAC1B,OAAO,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;AAC9E,CAAC;AAED,gFAAgF;AAChF,MAAM,UAAU,kBAAkB,CAAC,IAAY,EAAE,KAAsB;IACrE,MAAM,MAAM,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;IACtC,OAAO,oBAAoB,CAAC,IAAI,CAC9B,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,KAAK,KAAK,IAAI,wBAAwB,CAAC,MAAM,EAAE,IAAI,CAAC,CACzE,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,SAAS,CACvB,KAAa,EACb,KAAsB,EACtB,SAAyB;IAEzB,MAAM,OAAO,GAAG,oBAAoB,CAAC,KAAK,CAAC,CAAC;IAC5C,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,KAAK,MAAM,IAAI,IAAI,oBAAoB,EAAE,CAAC;YACxC,IAAI,IAAI,CAAC,KAAK,KAAK,KAAK;gBAAE,SAAS;YACnC,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAC7D,IAAI,MAAM,KAAK,IAAI;gBAAE,SAAS;YAC9B,MAAM,KAAK,GAAG,MAAM,CAAC,SAAS,IAAI,wBAAwB,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YAChF,OAAO;gBACL,IAAI,EAAE,WAAW;gBACjB,IAAI;gBACJ,sFAAsF;gBACtF,GAAG,EAAE,GAAG,IAAI,CAAC,EAAE,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE;gBACrC,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,KAAK;gBACL,MAAM,EAAE,KAAK;oBACX,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;oBACxE,CAAC,CAAC,SAAS;aACd,CAAC;QACJ,CAAC;IACH,CAAC;IACD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;IACnD,OAAO,EAAE,IAAI,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC;AAC1D,CAAC;AAED,6FAA6F;AAC7F,MAAM,UAAU,cAAc,CAAC,IAAoB;IACjD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;IAC3B,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC3C,OAAO,IAAI,CAAC,SAAS,CAAC;QACpB,IAAI,CAAC,MAAM,CAAC,MAAM;QAClB,MAAM,CAAC,KAAK;QACZ,MAAM,CAAC,KAAK;QACZ,MAAM,CAAC,KAAK,KAAK,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE;KACjD,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"view.js","sourceRoot":"","sources":["../../../src/core/trust/view.ts"],"names":[],"mappings":"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"}
@@ -1,19 +1,29 @@
1
1
  /** One abortable, generation-owned trust attempt for both layouts (PRD §5.4/C-TRUST-01). */
2
2
  import type { StartupWriteCompletion } from "../startup/write.ts";
3
+ import type { GateDeadline } from "./deadline.ts";
4
+ import { type NumberedRetry, type TrustPhase } from "./step.ts";
3
5
  import type { TrustWriteResult } from "./types.ts";
4
6
  import { type TrustCandidate, type TrustView } from "./view.ts";
5
7
  export declare class TrustAttempt {
6
8
  readonly candidate: TrustCandidate;
7
9
  readonly identity: string;
8
10
  private readonly controller;
9
- private confirmationWriteFulfilled;
10
11
  private clearance;
12
+ private retryAt;
13
+ private previousKeys;
14
+ private wakeWaiter;
11
15
  invalidated: boolean;
12
16
  /** The polled choice vanished mid-attempt; its return deserves a fresh attempt. */
13
17
  lostChoice: boolean;
14
- constructor(candidate: TrustCandidate, identity: string);
18
+ private readonly numberedRetry;
19
+ /** The gate's write phase, shared with its earlier and later attempts. */
20
+ readonly phase: TrustPhase;
21
+ constructor(candidate: TrustCandidate, identity: string, phase: TrustPhase, numberedRetry?: NumberedRetry);
15
22
  get cleared(): boolean;
16
- start(write: (input: string) => TrustWriteResult, read: (() => TrustView | undefined) | undefined, deadlineAtMs: number): Promise<StartupWriteCompletion>;
23
+ /** A frame rendered: a waiting answer or retry re-reads it (`awaiting`, `numberedRetry`). */
24
+ wake(): void;
25
+ /** The deadline is read live, so a gate that returns writes within its resumed budget. */
26
+ start(write: (input: string) => TrustWriteResult, read: (() => TrustView | undefined) | undefined, deadline: Pick<GateDeadline, "deadlineAtMs">): Promise<StartupWriteCompletion>;
17
27
  /**
18
28
  * With a live reader, only an observed clear/successor after a fulfilled confirmation
19
29
  * permits success. Without one (`atomic`), a fulfilled numbered write is the only evidence.
@@ -22,10 +32,25 @@ export declare class TrustAttempt {
22
32
  private completion;
23
33
  private atomic;
24
34
  private run;
25
- private send;
26
- private readChoice;
27
- /** Race disposal against an in-flight write while retaining a rejection handler for it. */
35
+ /**
36
+ * `view`'s choice settled, or the wait for the next read: false once aborted. Not async,
37
+ * so a rejected write reaches `run` in as few turns as a direct `send` would.
38
+ */
39
+ private answer;
40
+ private stepFor;
41
+ /**
42
+ * A confirmed answer whose gate left the frame (the CLI erased it and is painting its
43
+ * next screen), or whose frame is unavailable, writes nothing and is not lost: it waits,
44
+ * unbounded here and without polling, for verified clearance or the gate's return. The
45
+ * coordinator owns that wait's end: clearance, expiry, a changed gate, an off-allowlist
46
+ * gate (which a human must answer), or closing (C-TRUST-01).
47
+ */
48
+ private awaiting;
49
+ private nextFrame;
28
50
  private own;
29
51
  private pause;
52
+ /** Write `step` unless it repeats the last input within the retry interval, then pause. */
53
+ private send;
54
+ private readChoice;
30
55
  }
31
56
  //# sourceMappingURL=write.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"write.d.ts","sourceRoot":"","sources":["../../../src/core/trust/write.ts"],"names":[],"mappings":"AAAA,4FAA4F;AAC5F,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAElE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AACnD,OAAO,EAAkB,KAAK,cAAc,EAAE,KAAK,SAAS,EAAE,MAAM,WAAW,CAAC;AAKhF,qBAAa,YAAY;IACvB,QAAQ,CAAC,SAAS,EAAE,cAAc,CAAC;IACnC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAyB;IACpD,OAAO,CAAC,0BAA0B,CAAS;IAC3C,OAAO,CAAC,SAAS,CAAS;IAC1B,WAAW,UAAS;IACpB,mFAAmF;IACnF,UAAU,UAAS;gBAEP,SAAS,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM;IAKvD,IAAI,OAAO,IAAI,OAAO,CAErB;IAED,KAAK,CACH,KAAK,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,gBAAgB,EAC1C,IAAI,EAAE,CAAC,MAAM,SAAS,GAAG,SAAS,CAAC,GAAG,SAAS,EAC/C,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,sBAAsB,CAAC;IAQlC;;;OAGG;IACH,MAAM,CAAC,OAAO,UAAQ,GAAG,IAAI;IAM7B,OAAO,CAAC,UAAU;YAMJ,MAAM;YASN,GAAG;YAgCH,IAAI;IAYlB,OAAO,CAAC,UAAU;IAclB,2FAA2F;IAC3F,OAAO,CAAC,GAAG;IAmBX,OAAO,CAAC,KAAK;CAgBd"}
1
+ {"version":3,"file":"write.d.ts","sourceRoot":"","sources":["../../../src/core/trust/write.ts"],"names":[],"mappings":"AAAA,4FAA4F;AAC5F,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAGlE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,EACL,KAAK,aAAa,EAIlB,KAAK,UAAU,EAGhB,MAAM,WAAW,CAAC;AACnB,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AACnD,OAAO,EAAkB,KAAK,cAAc,EAAE,KAAK,SAAS,EAAE,MAAM,WAAW,CAAC;AAEhF,qBAAa,YAAY;IACvB,QAAQ,CAAC,SAAS,EAAE,cAAc,CAAC;IACnC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAyB;IACpD,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,OAAO,CAAK;IACpB,OAAO,CAAC,YAAY,CAAqB;IACzC,OAAO,CAAC,UAAU,CAA2B;IAC7C,WAAW,UAAS;IACpB,mFAAmF;IACnF,UAAU,UAAS;IACnB,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAgB;IAC9C,0EAA0E;IAC1E,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC;gBAGzB,SAAS,EAAE,cAAc,EACzB,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,UAAU,EACjB,aAAa,GAAE,aAAiC;IAQlD,IAAI,OAAO,IAAI,OAAO,CAErB;IAED,6FAA6F;IAC7F,IAAI,IAAI,IAAI;IAOZ,0FAA0F;IAC1F,KAAK,CACH,KAAK,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,gBAAgB,EAC1C,IAAI,EAAE,CAAC,MAAM,SAAS,GAAG,SAAS,CAAC,GAAG,SAAS,EAC/C,QAAQ,EAAE,IAAI,CAAC,YAAY,EAAE,cAAc,CAAC,GAC3C,OAAO,CAAC,sBAAsB,CAAC;IAQlC;;;OAGG;IACH,MAAM,CAAC,OAAO,UAAQ,GAAG,IAAI;IAM7B,OAAO,CAAC,UAAU;YAKJ,MAAM;YASN,GAAG;IA2BjB;;;OAGG;IACH,OAAO,CAAC,MAAM;IAUd,OAAO,CAAC,OAAO;IAKf;;;;;;OAMG;IACH,OAAO,CAAC,QAAQ;IAKhB,OAAO,CAAC,SAAS;IAMjB,OAAO,CAAC,GAAG;IAIX,OAAO,CAAC,KAAK;IAIb,2FAA2F;YAC7E,IAAI;IAoBlB,OAAO,CAAC,UAAU;CAanB"}