@with-logic/elwood 0.1.0 → 0.1.1

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 (673) hide show
  1. package/CHANGELOG.md +166 -1
  2. package/LICENSE +1 -1
  3. package/README.md +276 -13
  4. package/dist/claude/command.d.ts +9 -2
  5. package/dist/claude/command.d.ts.map +1 -1
  6. package/dist/claude/command.js +23 -16
  7. package/dist/claude/command.js.map +1 -1
  8. package/dist/claude/session/index.d.ts.map +1 -1
  9. package/dist/claude/session/index.js +5 -2
  10. package/dist/claude/session/index.js.map +1 -1
  11. package/dist/claude/session/resume.d.ts +1 -1
  12. package/dist/claude/session/resume.d.ts.map +1 -1
  13. package/dist/claude/session/resume.js +5 -1
  14. package/dist/claude/session/resume.js.map +1 -1
  15. package/dist/claude/simple.d.ts.map +1 -1
  16. package/dist/claude/simple.js +4 -0
  17. package/dist/claude/simple.js.map +1 -1
  18. package/dist/cli/args/index.d.ts +3 -1
  19. package/dist/cli/args/index.d.ts.map +1 -1
  20. package/dist/cli/args/index.js +10 -2
  21. package/dist/cli/args/index.js.map +1 -1
  22. package/dist/cli/args/options.d.ts.map +1 -1
  23. package/dist/cli/args/options.js +2 -0
  24. package/dist/cli/args/options.js.map +1 -1
  25. package/dist/cli/args-commands.d.ts +10 -0
  26. package/dist/cli/args-commands.d.ts.map +1 -0
  27. package/dist/cli/args-commands.js +113 -0
  28. package/dist/cli/args-commands.js.map +1 -0
  29. package/dist/cli/command-types.d.ts +26 -0
  30. package/dist/cli/command-types.d.ts.map +1 -0
  31. package/dist/cli/command-types.js +9 -0
  32. package/dist/cli/command-types.js.map +1 -0
  33. package/dist/cli/config/codec-primitives.d.ts +20 -0
  34. package/dist/cli/config/codec-primitives.d.ts.map +1 -0
  35. package/dist/cli/config/codec-primitives.js +51 -0
  36. package/dist/cli/config/codec-primitives.js.map +1 -0
  37. package/dist/cli/config/codec.d.ts.map +1 -1
  38. package/dist/cli/config/codec.js +4 -46
  39. package/dist/cli/config/codec.js.map +1 -1
  40. package/dist/cli/config/effective.d.ts.map +1 -1
  41. package/dist/cli/config/effective.js +1 -0
  42. package/dist/cli/config/effective.js.map +1 -1
  43. package/dist/cli/config/keys.d.ts +1 -1
  44. package/dist/cli/config/keys.d.ts.map +1 -1
  45. package/dist/cli/config/keys.js +1 -0
  46. package/dist/cli/config/keys.js.map +1 -1
  47. package/dist/cli/entry.d.ts +4 -2
  48. package/dist/cli/entry.d.ts.map +1 -1
  49. package/dist/cli/entry.js +2 -1
  50. package/dist/cli/entry.js.map +1 -1
  51. package/dist/cli/help.d.ts +2 -2
  52. package/dist/cli/help.d.ts.map +1 -1
  53. package/dist/cli/help.js +40 -1
  54. package/dist/cli/help.js.map +1 -1
  55. package/dist/cli/interactive/index.d.ts +26 -0
  56. package/dist/cli/interactive/index.d.ts.map +1 -0
  57. package/dist/cli/interactive/index.js +33 -0
  58. package/dist/cli/interactive/index.js.map +1 -0
  59. package/dist/cli/interactive/launch.d.ts +14 -0
  60. package/dist/cli/interactive/launch.d.ts.map +1 -0
  61. package/dist/cli/interactive/launch.js +66 -0
  62. package/dist/cli/interactive/launch.js.map +1 -0
  63. package/dist/cli/interactive/spawn.d.ts +18 -0
  64. package/dist/cli/interactive/spawn.d.ts.map +1 -0
  65. package/dist/cli/interactive/spawn.js +32 -0
  66. package/dist/cli/interactive/spawn.js.map +1 -0
  67. package/dist/cli/main-failure.d.ts +28 -0
  68. package/dist/cli/main-failure.d.ts.map +1 -0
  69. package/dist/cli/main-failure.js +78 -0
  70. package/dist/cli/main-failure.js.map +1 -0
  71. package/dist/cli/main.d.ts +12 -4
  72. package/dist/cli/main.d.ts.map +1 -1
  73. package/dist/cli/main.js +27 -73
  74. package/dist/cli/main.js.map +1 -1
  75. package/dist/cli/models/index.d.ts +20 -0
  76. package/dist/cli/models/index.d.ts.map +1 -0
  77. package/dist/cli/models/index.js +60 -0
  78. package/dist/cli/models/index.js.map +1 -0
  79. package/dist/cli/models/render.d.ts +9 -0
  80. package/dist/cli/models/render.d.ts.map +1 -0
  81. package/dist/cli/models/render.js +33 -0
  82. package/dist/cli/models/render.js.map +1 -0
  83. package/dist/cli/request/index.d.ts.map +1 -1
  84. package/dist/cli/request/index.js +8 -2
  85. package/dist/cli/request/index.js.map +1 -1
  86. package/dist/cli/request/posture.d.ts +28 -0
  87. package/dist/cli/request/posture.d.ts.map +1 -0
  88. package/dist/cli/request/posture.js +70 -0
  89. package/dist/cli/request/posture.js.map +1 -0
  90. package/dist/cli/request/resolution-types.d.ts +1 -0
  91. package/dist/cli/request/resolution-types.d.ts.map +1 -1
  92. package/dist/cli/request/settings.d.ts +2 -12
  93. package/dist/cli/request/settings.d.ts.map +1 -1
  94. package/dist/cli/request/settings.js +2 -25
  95. package/dist/cli/request/settings.js.map +1 -1
  96. package/dist/cli/request/validation.d.ts +12 -0
  97. package/dist/cli/request/validation.d.ts.map +1 -1
  98. package/dist/cli/request/validation.js +30 -10
  99. package/dist/cli/request/validation.js.map +1 -1
  100. package/dist/cli/request/values.d.ts +1 -0
  101. package/dist/cli/request/values.d.ts.map +1 -1
  102. package/dist/cli/request/values.js +1 -0
  103. package/dist/cli/request/values.js.map +1 -1
  104. package/dist/cli/run/index.d.ts.map +1 -1
  105. package/dist/cli/run/index.js +5 -41
  106. package/dist/cli/run/index.js.map +1 -1
  107. package/dist/cli/run/subscribe.d.ts +19 -0
  108. package/dist/cli/run/subscribe.d.ts.map +1 -0
  109. package/dist/cli/run/subscribe.js +47 -0
  110. package/dist/cli/run/subscribe.js.map +1 -0
  111. package/dist/cli/session/launch.d.ts +3 -0
  112. package/dist/cli/session/launch.d.ts.map +1 -1
  113. package/dist/cli/session/launch.js +11 -0
  114. package/dist/cli/session/launch.js.map +1 -1
  115. package/dist/cli/sessions/index.d.ts +23 -0
  116. package/dist/cli/sessions/index.d.ts.map +1 -0
  117. package/dist/cli/sessions/index.js +65 -0
  118. package/dist/cli/sessions/index.js.map +1 -0
  119. package/dist/cli/sessions/list.d.ts +28 -0
  120. package/dist/cli/sessions/list.d.ts.map +1 -0
  121. package/dist/cli/sessions/list.js +63 -0
  122. package/dist/cli/sessions/list.js.map +1 -0
  123. package/dist/cli/table.d.ts +7 -0
  124. package/dist/cli/table.d.ts.map +1 -0
  125. package/dist/cli/table.js +14 -0
  126. package/dist/cli/table.js.map +1 -0
  127. package/dist/cli/types.d.ts +5 -1
  128. package/dist/cli/types.d.ts.map +1 -1
  129. package/dist/cli/types.js.map +1 -1
  130. package/dist/codex/command.d.ts +18 -2
  131. package/dist/codex/command.d.ts.map +1 -1
  132. package/dist/codex/command.js +39 -24
  133. package/dist/codex/command.js.map +1 -1
  134. package/dist/codex/session/index.d.ts.map +1 -1
  135. package/dist/codex/session/index.js +5 -2
  136. package/dist/codex/session/index.js.map +1 -1
  137. package/dist/codex/session/resume.d.ts +1 -1
  138. package/dist/codex/session/resume.d.ts.map +1 -1
  139. package/dist/codex/session/resume.js +5 -1
  140. package/dist/codex/session/resume.js.map +1 -1
  141. package/dist/codex/session/types.d.ts +3 -0
  142. package/dist/codex/session/types.d.ts.map +1 -1
  143. package/dist/codex/simple.d.ts.map +1 -1
  144. package/dist/codex/simple.js +4 -0
  145. package/dist/codex/simple.js.map +1 -1
  146. package/dist/core/errors.d.ts +1 -1
  147. package/dist/core/errors.d.ts.map +1 -1
  148. package/dist/core/errors.js.map +1 -1
  149. package/dist/core/high-trust.d.ts +41 -0
  150. package/dist/core/high-trust.d.ts.map +1 -0
  151. package/dist/core/high-trust.js +50 -0
  152. package/dist/core/high-trust.js.map +1 -0
  153. package/dist/core/trust/allowlist.d.ts +56 -0
  154. package/dist/core/trust/allowlist.d.ts.map +1 -0
  155. package/dist/core/{trust-prompts.js → trust/allowlist.js} +21 -38
  156. package/dist/core/trust/allowlist.js.map +1 -0
  157. package/dist/core/trust/prompts.d.ts +4 -46
  158. package/dist/core/trust/prompts.d.ts.map +1 -1
  159. package/dist/core/trust/prompts.js +2 -73
  160. package/dist/core/trust/prompts.js.map +1 -1
  161. package/dist/core/trust/responder.d.ts +2 -0
  162. package/dist/core/trust/responder.d.ts.map +1 -1
  163. package/dist/core/trust/responder.js +4 -0
  164. package/dist/core/trust/responder.js.map +1 -1
  165. package/dist/core/types.d.ts +3 -0
  166. package/dist/core/types.d.ts.map +1 -1
  167. package/dist/runtime/launch-arguments.d.ts +12 -0
  168. package/dist/runtime/launch-arguments.d.ts.map +1 -0
  169. package/dist/runtime/launch-arguments.js +15 -0
  170. package/dist/runtime/launch-arguments.js.map +1 -0
  171. package/docs/cli-behavior.md +88 -0
  172. package/docs/cli-output.md +60 -0
  173. package/docs/cli.md +10 -2
  174. package/package.json +8 -6
  175. package/dist/claude/hook-dispatch.d.ts +0 -9
  176. package/dist/claude/hook-dispatch.d.ts.map +0 -1
  177. package/dist/claude/hook-dispatch.js +0 -12
  178. package/dist/claude/hook-dispatch.js.map +0 -1
  179. package/dist/claude/hook-events-extra.d.ts +0 -81
  180. package/dist/claude/hook-events-extra.d.ts.map +0 -1
  181. package/dist/claude/hook-events-extra.js +0 -6
  182. package/dist/claude/hook-events-extra.js.map +0 -1
  183. package/dist/claude/hook-events.d.ts +0 -101
  184. package/dist/claude/hook-events.d.ts.map +0 -1
  185. package/dist/claude/hook-events.js +0 -6
  186. package/dist/claude/hook-events.js.map +0 -1
  187. package/dist/claude/hook-names.d.ts +0 -24
  188. package/dist/claude/hook-names.d.ts.map +0 -1
  189. package/dist/claude/hook-names.js +0 -45
  190. package/dist/claude/hook-names.js.map +0 -1
  191. package/dist/claude/hooks.d.ts +0 -78
  192. package/dist/claude/hooks.d.ts.map +0 -1
  193. package/dist/claude/hooks.js +0 -6
  194. package/dist/claude/hooks.js.map +0 -1
  195. package/dist/claude/session-bridge.d.ts +0 -11
  196. package/dist/claude/session-bridge.d.ts.map +0 -1
  197. package/dist/claude/session-bridge.js +0 -18
  198. package/dist/claude/session-bridge.js.map +0 -1
  199. package/dist/claude/session-build.d.ts +0 -15
  200. package/dist/claude/session-build.d.ts.map +0 -1
  201. package/dist/claude/session-build.js +0 -147
  202. package/dist/claude/session-build.js.map +0 -1
  203. package/dist/claude/session-hook-handler.d.ts +0 -34
  204. package/dist/claude/session-hook-handler.d.ts.map +0 -1
  205. package/dist/claude/session-hook-handler.js +0 -42
  206. package/dist/claude/session-hook-handler.js.map +0 -1
  207. package/dist/claude/session-instance.d.ts +0 -42
  208. package/dist/claude/session-instance.d.ts.map +0 -1
  209. package/dist/claude/session-instance.js +0 -146
  210. package/dist/claude/session-instance.js.map +0 -1
  211. package/dist/claude/session-interface.d.ts +0 -49
  212. package/dist/claude/session-interface.d.ts.map +0 -1
  213. package/dist/claude/session-interface.js +0 -10
  214. package/dist/claude/session-interface.js.map +0 -1
  215. package/dist/claude/session-resume.d.ts +0 -8
  216. package/dist/claude/session-resume.d.ts.map +0 -1
  217. package/dist/claude/session-resume.js +0 -47
  218. package/dist/claude/session-resume.js.map +0 -1
  219. package/dist/claude/session-runtime.d.ts +0 -43
  220. package/dist/claude/session-runtime.d.ts.map +0 -1
  221. package/dist/claude/session-runtime.js +0 -105
  222. package/dist/claude/session-runtime.js.map +0 -1
  223. package/dist/claude/session-transcript.d.ts +0 -62
  224. package/dist/claude/session-transcript.d.ts.map +0 -1
  225. package/dist/claude/session-transcript.js +0 -88
  226. package/dist/claude/session-transcript.js.map +0 -1
  227. package/dist/claude/session.d.ts +0 -18
  228. package/dist/claude/session.d.ts.map +0 -1
  229. package/dist/claude/session.js +0 -58
  230. package/dist/claude/session.js.map +0 -1
  231. package/dist/claude/start-or-resume.d.ts +0 -12
  232. package/dist/claude/start-or-resume.d.ts.map +0 -1
  233. package/dist/claude/start-or-resume.js +0 -32
  234. package/dist/claude/start-or-resume.js.map +0 -1
  235. package/dist/claude/tool-hook-events.d.ts +0 -10
  236. package/dist/claude/tool-hook-events.d.ts.map +0 -1
  237. package/dist/claude/tool-hook-events.js +0 -18
  238. package/dist/claude/tool-hook-events.js.map +0 -1
  239. package/dist/claude/tool-types.d.ts +0 -158
  240. package/dist/claude/tool-types.d.ts.map +0 -1
  241. package/dist/claude/tool-types.js +0 -6
  242. package/dist/claude/tool-types.js.map +0 -1
  243. package/dist/claude/validate-input.d.ts +0 -8
  244. package/dist/claude/validate-input.d.ts.map +0 -1
  245. package/dist/claude/validate-input.js +0 -137
  246. package/dist/claude/validate-input.js.map +0 -1
  247. package/dist/claude/validate-permission-update.d.ts +0 -10
  248. package/dist/claude/validate-permission-update.d.ts.map +0 -1
  249. package/dist/claude/validate-permission-update.js +0 -72
  250. package/dist/claude/validate-permission-update.js.map +0 -1
  251. package/dist/claude/validate-result.d.ts +0 -7
  252. package/dist/claude/validate-result.d.ts.map +0 -1
  253. package/dist/claude/validate-result.js +0 -118
  254. package/dist/claude/validate-result.js.map +0 -1
  255. package/dist/claude/validate-shapes.d.ts +0 -22
  256. package/dist/claude/validate-shapes.d.ts.map +0 -1
  257. package/dist/claude/validate-shapes.js +0 -15
  258. package/dist/claude/validate-shapes.js.map +0 -1
  259. package/dist/claude/validate-tool-update.d.ts +0 -15
  260. package/dist/claude/validate-tool-update.d.ts.map +0 -1
  261. package/dist/claude/validate-tool-update.js +0 -122
  262. package/dist/claude/validate-tool-update.js.map +0 -1
  263. package/dist/cli/agent-detect.d.ts +0 -44
  264. package/dist/cli/agent-detect.d.ts.map +0 -1
  265. package/dist/cli/agent-detect.js +0 -66
  266. package/dist/cli/agent-detect.js.map +0 -1
  267. package/dist/cli/arg-errors.d.ts +0 -6
  268. package/dist/cli/arg-errors.d.ts.map +0 -1
  269. package/dist/cli/arg-errors.js +0 -44
  270. package/dist/cli/arg-errors.js.map +0 -1
  271. package/dist/cli/arg-options.d.ts +0 -26
  272. package/dist/cli/arg-options.d.ts.map +0 -1
  273. package/dist/cli/arg-options.js +0 -50
  274. package/dist/cli/arg-options.js.map +0 -1
  275. package/dist/cli/args.d.ts +0 -7
  276. package/dist/cli/args.d.ts.map +0 -1
  277. package/dist/cli/args.js +0 -70
  278. package/dist/cli/args.js.map +0 -1
  279. package/dist/cli/lifecycle-outcome.d.ts +0 -13
  280. package/dist/cli/lifecycle-outcome.d.ts.map +0 -1
  281. package/dist/cli/lifecycle-outcome.js +0 -20
  282. package/dist/cli/lifecycle-outcome.js.map +0 -1
  283. package/dist/cli/lifecycle.d.ts +0 -61
  284. package/dist/cli/lifecycle.d.ts.map +0 -1
  285. package/dist/cli/lifecycle.js +0 -152
  286. package/dist/cli/lifecycle.js.map +0 -1
  287. package/dist/cli/request-finalize.d.ts +0 -10
  288. package/dist/cli/request-finalize.d.ts.map +0 -1
  289. package/dist/cli/request-finalize.js +0 -135
  290. package/dist/cli/request-finalize.js.map +0 -1
  291. package/dist/cli/request-layers.d.ts +0 -30
  292. package/dist/cli/request-layers.d.ts.map +0 -1
  293. package/dist/cli/request-layers.js +0 -44
  294. package/dist/cli/request-layers.js.map +0 -1
  295. package/dist/cli/request-settings.d.ts +0 -34
  296. package/dist/cli/request-settings.d.ts.map +0 -1
  297. package/dist/cli/request-settings.js +0 -66
  298. package/dist/cli/request-settings.js.map +0 -1
  299. package/dist/cli/request-sources.d.ts +0 -13
  300. package/dist/cli/request-sources.d.ts.map +0 -1
  301. package/dist/cli/request-sources.js +0 -23
  302. package/dist/cli/request-sources.js.map +0 -1
  303. package/dist/cli/request-validation.d.ts +0 -18
  304. package/dist/cli/request-validation.d.ts.map +0 -1
  305. package/dist/cli/request-validation.js +0 -84
  306. package/dist/cli/request-validation.js.map +0 -1
  307. package/dist/cli/request-values.d.ts +0 -33
  308. package/dist/cli/request-values.d.ts.map +0 -1
  309. package/dist/cli/request-values.js +0 -73
  310. package/dist/cli/request-values.js.map +0 -1
  311. package/dist/cli/request.d.ts +0 -12
  312. package/dist/cli/request.d.ts.map +0 -1
  313. package/dist/cli/request.js +0 -103
  314. package/dist/cli/request.js.map +0 -1
  315. package/dist/cli/resolution-types.d.ts +0 -35
  316. package/dist/cli/resolution-types.d.ts.map +0 -1
  317. package/dist/cli/resolution-types.js +0 -6
  318. package/dist/cli/resolution-types.js.map +0 -1
  319. package/dist/cli/run-output-lines.d.ts +0 -14
  320. package/dist/cli/run-output-lines.d.ts.map +0 -1
  321. package/dist/cli/run-output-lines.js +0 -42
  322. package/dist/cli/run-output-lines.js.map +0 -1
  323. package/dist/cli/run-output.d.ts +0 -48
  324. package/dist/cli/run-output.d.ts.map +0 -1
  325. package/dist/cli/run-output.js +0 -150
  326. package/dist/cli/run-output.js.map +0 -1
  327. package/dist/cli/run.d.ts +0 -20
  328. package/dist/cli/run.d.ts.map +0 -1
  329. package/dist/cli/run.js +0 -126
  330. package/dist/cli/run.js.map +0 -1
  331. package/dist/cli/session-launch.d.ts +0 -23
  332. package/dist/cli/session-launch.d.ts.map +0 -1
  333. package/dist/cli/session-launch.js +0 -57
  334. package/dist/cli/session-launch.js.map +0 -1
  335. package/dist/cli/session.d.ts +0 -68
  336. package/dist/cli/session.d.ts.map +0 -1
  337. package/dist/cli/session.js +0 -124
  338. package/dist/cli/session.js.map +0 -1
  339. package/dist/codex/attach-images.d.ts +0 -20
  340. package/dist/codex/attach-images.d.ts.map +0 -1
  341. package/dist/codex/attach-images.js +0 -66
  342. package/dist/codex/attach-images.js.map +0 -1
  343. package/dist/codex/clipboard-lock.d.ts +0 -15
  344. package/dist/codex/clipboard-lock.d.ts.map +0 -1
  345. package/dist/codex/clipboard-lock.js +0 -16
  346. package/dist/codex/clipboard-lock.js.map +0 -1
  347. package/dist/codex/clipboard.d.ts +0 -32
  348. package/dist/codex/clipboard.d.ts.map +0 -1
  349. package/dist/codex/clipboard.js +0 -92
  350. package/dist/codex/clipboard.js.map +0 -1
  351. package/dist/codex/config-lock.d.ts +0 -21
  352. package/dist/codex/config-lock.d.ts.map +0 -1
  353. package/dist/codex/config-lock.js +0 -22
  354. package/dist/codex/config-lock.js.map +0 -1
  355. package/dist/codex/config-restore.d.ts +0 -33
  356. package/dist/codex/config-restore.d.ts.map +0 -1
  357. package/dist/codex/config-restore.js +0 -90
  358. package/dist/codex/config-restore.js.map +0 -1
  359. package/dist/codex/config-transaction.d.ts +0 -26
  360. package/dist/codex/config-transaction.d.ts.map +0 -1
  361. package/dist/codex/config-transaction.js +0 -47
  362. package/dist/codex/config-transaction.js.map +0 -1
  363. package/dist/codex/hook-dispatch.d.ts +0 -9
  364. package/dist/codex/hook-dispatch.d.ts.map +0 -1
  365. package/dist/codex/hook-dispatch.js +0 -14
  366. package/dist/codex/hook-dispatch.js.map +0 -1
  367. package/dist/codex/hook-names.d.ts +0 -19
  368. package/dist/codex/hook-names.d.ts.map +0 -1
  369. package/dist/codex/hook-names.js +0 -17
  370. package/dist/codex/hook-names.js.map +0 -1
  371. package/dist/codex/hooks.d.ts +0 -99
  372. package/dist/codex/hooks.d.ts.map +0 -1
  373. package/dist/codex/hooks.js +0 -6
  374. package/dist/codex/hooks.js.map +0 -1
  375. package/dist/codex/initial-ready.d.ts +0 -19
  376. package/dist/codex/initial-ready.d.ts.map +0 -1
  377. package/dist/codex/initial-ready.js +0 -19
  378. package/dist/codex/initial-ready.js.map +0 -1
  379. package/dist/codex/serialize.d.ts +0 -8
  380. package/dist/codex/serialize.d.ts.map +0 -1
  381. package/dist/codex/serialize.js +0 -48
  382. package/dist/codex/serialize.js.map +0 -1
  383. package/dist/codex/session-bridge.d.ts +0 -14
  384. package/dist/codex/session-bridge.d.ts.map +0 -1
  385. package/dist/codex/session-bridge.js +0 -20
  386. package/dist/codex/session-bridge.js.map +0 -1
  387. package/dist/codex/session-build.d.ts +0 -15
  388. package/dist/codex/session-build.d.ts.map +0 -1
  389. package/dist/codex/session-build.js +0 -144
  390. package/dist/codex/session-build.js.map +0 -1
  391. package/dist/codex/session-cleanup.d.ts +0 -12
  392. package/dist/codex/session-cleanup.d.ts.map +0 -1
  393. package/dist/codex/session-cleanup.js +0 -15
  394. package/dist/codex/session-cleanup.js.map +0 -1
  395. package/dist/codex/session-hooks.d.ts +0 -13
  396. package/dist/codex/session-hooks.d.ts.map +0 -1
  397. package/dist/codex/session-hooks.js +0 -54
  398. package/dist/codex/session-hooks.js.map +0 -1
  399. package/dist/codex/session-instance.d.ts +0 -50
  400. package/dist/codex/session-instance.d.ts.map +0 -1
  401. package/dist/codex/session-instance.js +0 -117
  402. package/dist/codex/session-instance.js.map +0 -1
  403. package/dist/codex/session-resume.d.ts +0 -7
  404. package/dist/codex/session-resume.d.ts.map +0 -1
  405. package/dist/codex/session-resume.js +0 -44
  406. package/dist/codex/session-resume.js.map +0 -1
  407. package/dist/codex/session-runtime.d.ts +0 -7
  408. package/dist/codex/session-runtime.d.ts.map +0 -1
  409. package/dist/codex/session-runtime.js +0 -10
  410. package/dist/codex/session-runtime.js.map +0 -1
  411. package/dist/codex/session-transcript.d.ts +0 -30
  412. package/dist/codex/session-transcript.d.ts.map +0 -1
  413. package/dist/codex/session-transcript.js +0 -53
  414. package/dist/codex/session-transcript.js.map +0 -1
  415. package/dist/codex/session-types.d.ts +0 -87
  416. package/dist/codex/session-types.d.ts.map +0 -1
  417. package/dist/codex/session-types.js +0 -6
  418. package/dist/codex/session-types.js.map +0 -1
  419. package/dist/codex/session-warnings.d.ts +0 -27
  420. package/dist/codex/session-warnings.d.ts.map +0 -1
  421. package/dist/codex/session-warnings.js +0 -54
  422. package/dist/codex/session-warnings.js.map +0 -1
  423. package/dist/codex/session.d.ts +0 -16
  424. package/dist/codex/session.d.ts.map +0 -1
  425. package/dist/codex/session.js +0 -61
  426. package/dist/codex/session.js.map +0 -1
  427. package/dist/codex/start-or-resume.d.ts +0 -12
  428. package/dist/codex/start-or-resume.d.ts.map +0 -1
  429. package/dist/codex/start-or-resume.js +0 -31
  430. package/dist/codex/start-or-resume.js.map +0 -1
  431. package/dist/codex/transcript/cursor-io.d.ts +0 -7
  432. package/dist/codex/transcript/cursor-io.d.ts.map +0 -1
  433. package/dist/codex/transcript/cursor-io.js +0 -7
  434. package/dist/codex/transcript/cursor-io.js.map +0 -1
  435. package/dist/codex/transcript/cursor.d.ts +0 -8
  436. package/dist/codex/transcript/cursor.d.ts.map +0 -1
  437. package/dist/codex/transcript/cursor.js +0 -8
  438. package/dist/codex/transcript/cursor.js.map +0 -1
  439. package/dist/codex/transcript/drops.d.ts +0 -9
  440. package/dist/codex/transcript/drops.d.ts.map +0 -1
  441. package/dist/codex/transcript/drops.js +0 -9
  442. package/dist/codex/transcript/drops.js.map +0 -1
  443. package/dist/codex/transcript.d.ts +0 -12
  444. package/dist/codex/transcript.d.ts.map +0 -1
  445. package/dist/codex/transcript.js +0 -10
  446. package/dist/codex/transcript.js.map +0 -1
  447. package/dist/codex/validate-result.d.ts +0 -7
  448. package/dist/codex/validate-result.d.ts.map +0 -1
  449. package/dist/codex/validate-result.js +0 -84
  450. package/dist/codex/validate-result.js.map +0 -1
  451. package/dist/codex/validate.d.ts +0 -11
  452. package/dist/codex/validate.d.ts.map +0 -1
  453. package/dist/codex/validate.js +0 -88
  454. package/dist/codex/validate.js.map +0 -1
  455. package/dist/core/activity-lifecycle.d.ts +0 -21
  456. package/dist/core/activity-lifecycle.d.ts.map +0 -1
  457. package/dist/core/activity-lifecycle.js +0 -45
  458. package/dist/core/activity-lifecycle.js.map +0 -1
  459. package/dist/core/activity-meta.d.ts +0 -13
  460. package/dist/core/activity-meta.d.ts.map +0 -1
  461. package/dist/core/activity-meta.js +0 -67
  462. package/dist/core/activity-meta.js.map +0 -1
  463. package/dist/core/activity-transcript.d.ts +0 -19
  464. package/dist/core/activity-transcript.d.ts.map +0 -1
  465. package/dist/core/activity-transcript.js +0 -60
  466. package/dist/core/activity-transcript.js.map +0 -1
  467. package/dist/core/activity.d.ts +0 -51
  468. package/dist/core/activity.d.ts.map +0 -1
  469. package/dist/core/activity.js +0 -81
  470. package/dist/core/activity.js.map +0 -1
  471. package/dist/core/control-queue-state.d.ts +0 -29
  472. package/dist/core/control-queue-state.d.ts.map +0 -1
  473. package/dist/core/control-queue-state.js +0 -95
  474. package/dist/core/control-queue-state.js.map +0 -1
  475. package/dist/core/control-queue-traits.d.ts +0 -54
  476. package/dist/core/control-queue-traits.d.ts.map +0 -1
  477. package/dist/core/control-queue-traits.js +0 -118
  478. package/dist/core/control-queue-traits.js.map +0 -1
  479. package/dist/core/control-queue-types.d.ts +0 -45
  480. package/dist/core/control-queue-types.d.ts.map +0 -1
  481. package/dist/core/control-queue-types.js +0 -7
  482. package/dist/core/control-queue-types.js.map +0 -1
  483. package/dist/core/control-queue.d.ts +0 -21
  484. package/dist/core/control-queue.d.ts.map +0 -1
  485. package/dist/core/control-queue.js +0 -98
  486. package/dist/core/control-queue.js.map +0 -1
  487. package/dist/core/list-models.d.ts +0 -44
  488. package/dist/core/list-models.d.ts.map +0 -1
  489. package/dist/core/list-models.js +0 -73
  490. package/dist/core/list-models.js.map +0 -1
  491. package/dist/core/model-picker.d.ts +0 -22
  492. package/dist/core/model-picker.d.ts.map +0 -1
  493. package/dist/core/model-picker.js +0 -58
  494. package/dist/core/model-picker.js.map +0 -1
  495. package/dist/core/model-rows.d.ts +0 -21
  496. package/dist/core/model-rows.d.ts.map +0 -1
  497. package/dist/core/model-rows.js +0 -57
  498. package/dist/core/model-rows.js.map +0 -1
  499. package/dist/core/probe-state.d.ts +0 -21
  500. package/dist/core/probe-state.d.ts.map +0 -1
  501. package/dist/core/probe-state.js +0 -39
  502. package/dist/core/probe-state.js.map +0 -1
  503. package/dist/core/session-input-abort.d.ts +0 -10
  504. package/dist/core/session-input-abort.d.ts.map +0 -1
  505. package/dist/core/session-input-abort.js +0 -44
  506. package/dist/core/session-input-abort.js.map +0 -1
  507. package/dist/core/session-input.d.ts +0 -37
  508. package/dist/core/session-input.d.ts.map +0 -1
  509. package/dist/core/session-input.js +0 -154
  510. package/dist/core/session-input.js.map +0 -1
  511. package/dist/core/session-warnings.d.ts +0 -20
  512. package/dist/core/session-warnings.d.ts.map +0 -1
  513. package/dist/core/session-warnings.js +0 -32
  514. package/dist/core/session-warnings.js.map +0 -1
  515. package/dist/core/simple/loop-controls.d.ts +0 -7
  516. package/dist/core/simple/loop-controls.d.ts.map +0 -1
  517. package/dist/core/simple/loop-controls.js +0 -7
  518. package/dist/core/simple/loop-controls.js.map +0 -1
  519. package/dist/core/startup-automation.d.ts +0 -54
  520. package/dist/core/startup-automation.d.ts.map +0 -1
  521. package/dist/core/startup-automation.js +0 -40
  522. package/dist/core/startup-automation.js.map +0 -1
  523. package/dist/core/startup-frame.d.ts +0 -39
  524. package/dist/core/startup-frame.d.ts.map +0 -1
  525. package/dist/core/startup-frame.js +0 -60
  526. package/dist/core/startup-frame.js.map +0 -1
  527. package/dist/core/startup-write.d.ts +0 -47
  528. package/dist/core/startup-write.d.ts.map +0 -1
  529. package/dist/core/startup-write.js +0 -73
  530. package/dist/core/startup-write.js.map +0 -1
  531. package/dist/core/trust-blocking.d.ts +0 -22
  532. package/dist/core/trust-blocking.d.ts.map +0 -1
  533. package/dist/core/trust-blocking.js +0 -38
  534. package/dist/core/trust-blocking.js.map +0 -1
  535. package/dist/core/trust-prompts.d.ts +0 -135
  536. package/dist/core/trust-prompts.d.ts.map +0 -1
  537. package/dist/core/trust-prompts.js.map +0 -1
  538. package/dist/core/trust-responder.d.ts +0 -48
  539. package/dist/core/trust-responder.d.ts.map +0 -1
  540. package/dist/core/trust-responder.js +0 -119
  541. package/dist/core/trust-responder.js.map +0 -1
  542. package/dist/core/tui-screen.d.ts +0 -21
  543. package/dist/core/tui-screen.d.ts.map +0 -1
  544. package/dist/core/tui-screen.js +0 -56
  545. package/dist/core/tui-screen.js.map +0 -1
  546. package/dist/core/update-warning.d.ts +0 -25
  547. package/dist/core/update-warning.d.ts.map +0 -1
  548. package/dist/core/update-warning.js +0 -33
  549. package/dist/core/update-warning.js.map +0 -1
  550. package/dist/core/warning-lifecycle.d.ts +0 -23
  551. package/dist/core/warning-lifecycle.d.ts.map +0 -1
  552. package/dist/core/warning-lifecycle.js +0 -6
  553. package/dist/core/warning-lifecycle.js.map +0 -1
  554. package/dist/core/warning-reasons.d.ts +0 -62
  555. package/dist/core/warning-reasons.d.ts.map +0 -1
  556. package/dist/core/warning-reasons.js +0 -121
  557. package/dist/core/warning-reasons.js.map +0 -1
  558. package/dist/core/warnings.d.ts +0 -145
  559. package/dist/core/warnings.d.ts.map +0 -1
  560. package/dist/core/warnings.js +0 -12
  561. package/dist/core/warnings.js.map +0 -1
  562. package/dist/runtime/cleanup-latch.d.ts +0 -27
  563. package/dist/runtime/cleanup-latch.d.ts.map +0 -1
  564. package/dist/runtime/cleanup-latch.js +0 -43
  565. package/dist/runtime/cleanup-latch.js.map +0 -1
  566. package/dist/runtime/initial-ready-advance.d.ts +0 -22
  567. package/dist/runtime/initial-ready-advance.d.ts.map +0 -1
  568. package/dist/runtime/initial-ready-advance.js +0 -39
  569. package/dist/runtime/initial-ready-advance.js.map +0 -1
  570. package/dist/runtime/initial-ready-fallback.d.ts +0 -12
  571. package/dist/runtime/initial-ready-fallback.d.ts.map +0 -1
  572. package/dist/runtime/initial-ready-fallback.js +0 -20
  573. package/dist/runtime/initial-ready-fallback.js.map +0 -1
  574. package/dist/runtime/initial-ready.d.ts +0 -49
  575. package/dist/runtime/initial-ready.d.ts.map +0 -1
  576. package/dist/runtime/initial-ready.js +0 -81
  577. package/dist/runtime/initial-ready.js.map +0 -1
  578. package/dist/runtime/reap-tree.d.ts +0 -62
  579. package/dist/runtime/reap-tree.d.ts.map +0 -1
  580. package/dist/runtime/reap-tree.js +0 -108
  581. package/dist/runtime/reap-tree.js.map +0 -1
  582. package/dist/runtime/session-base-types.d.ts +0 -36
  583. package/dist/runtime/session-base-types.d.ts.map +0 -1
  584. package/dist/runtime/session-base-types.js +0 -14
  585. package/dist/runtime/session-base-types.js.map +0 -1
  586. package/dist/runtime/session-base.d.ts +0 -48
  587. package/dist/runtime/session-base.d.ts.map +0 -1
  588. package/dist/runtime/session-base.js +0 -76
  589. package/dist/runtime/session-base.js.map +0 -1
  590. package/dist/runtime/session-commands.d.ts +0 -43
  591. package/dist/runtime/session-commands.d.ts.map +0 -1
  592. package/dist/runtime/session-commands.js +0 -52
  593. package/dist/runtime/session-commands.js.map +0 -1
  594. package/dist/runtime/session-exit.d.ts +0 -16
  595. package/dist/runtime/session-exit.d.ts.map +0 -1
  596. package/dist/runtime/session-exit.js +0 -32
  597. package/dist/runtime/session-exit.js.map +0 -1
  598. package/dist/runtime/session-image-attach.d.ts +0 -45
  599. package/dist/runtime/session-image-attach.d.ts.map +0 -1
  600. package/dist/runtime/session-image-attach.js +0 -82
  601. package/dist/runtime/session-image-attach.js.map +0 -1
  602. package/dist/runtime/session-lifecycle.d.ts +0 -61
  603. package/dist/runtime/session-lifecycle.d.ts.map +0 -1
  604. package/dist/runtime/session-lifecycle.js +0 -164
  605. package/dist/runtime/session-lifecycle.js.map +0 -1
  606. package/dist/runtime/session-loops.d.ts +0 -32
  607. package/dist/runtime/session-loops.d.ts.map +0 -1
  608. package/dist/runtime/session-loops.js +0 -62
  609. package/dist/runtime/session-loops.js.map +0 -1
  610. package/dist/runtime/session-readiness.d.ts +0 -18
  611. package/dist/runtime/session-readiness.d.ts.map +0 -1
  612. package/dist/runtime/session-readiness.js +0 -22
  613. package/dist/runtime/session-readiness.js.map +0 -1
  614. package/dist/runtime/session-reap.d.ts +0 -28
  615. package/dist/runtime/session-reap.d.ts.map +0 -1
  616. package/dist/runtime/session-reap.js +0 -51
  617. package/dist/runtime/session-reap.js.map +0 -1
  618. package/dist/runtime/session-resize.d.ts +0 -20
  619. package/dist/runtime/session-resize.d.ts.map +0 -1
  620. package/dist/runtime/session-resize.js +0 -26
  621. package/dist/runtime/session-resize.js.map +0 -1
  622. package/dist/runtime/session-shutdown-binding.d.ts +0 -30
  623. package/dist/runtime/session-shutdown-binding.d.ts.map +0 -1
  624. package/dist/runtime/session-shutdown-binding.js +0 -37
  625. package/dist/runtime/session-shutdown-binding.js.map +0 -1
  626. package/dist/runtime/session-shutdown.d.ts +0 -60
  627. package/dist/runtime/session-shutdown.d.ts.map +0 -1
  628. package/dist/runtime/session-shutdown.js +0 -140
  629. package/dist/runtime/session-shutdown.js.map +0 -1
  630. package/dist/runtime/session-status-wiring.d.ts +0 -38
  631. package/dist/runtime/session-status-wiring.d.ts.map +0 -1
  632. package/dist/runtime/session-status-wiring.js +0 -41
  633. package/dist/runtime/session-status-wiring.js.map +0 -1
  634. package/dist/runtime/session-status.d.ts +0 -7
  635. package/dist/runtime/session-status.d.ts.map +0 -1
  636. package/dist/runtime/session-status.js +0 -22
  637. package/dist/runtime/session-status.js.map +0 -1
  638. package/dist/runtime/shutdown-coordinator.d.ts +0 -57
  639. package/dist/runtime/shutdown-coordinator.d.ts.map +0 -1
  640. package/dist/runtime/shutdown-coordinator.js +0 -77
  641. package/dist/runtime/shutdown-coordinator.js.map +0 -1
  642. package/dist/runtime/startup-buffer.d.ts +0 -33
  643. package/dist/runtime/startup-buffer.d.ts.map +0 -1
  644. package/dist/runtime/startup-buffer.js +0 -53
  645. package/dist/runtime/startup-buffer.js.map +0 -1
  646. package/dist/runtime/startup-cleanup.d.ts +0 -43
  647. package/dist/runtime/startup-cleanup.d.ts.map +0 -1
  648. package/dist/runtime/startup-cleanup.js +0 -89
  649. package/dist/runtime/startup-cleanup.js.map +0 -1
  650. package/dist/runtime/startup.d.ts +0 -17
  651. package/dist/runtime/startup.d.ts.map +0 -1
  652. package/dist/runtime/startup.js +0 -47
  653. package/dist/runtime/startup.js.map +0 -1
  654. package/dist/runtime/status-emit.d.ts +0 -14
  655. package/dist/runtime/status-emit.d.ts.map +0 -1
  656. package/dist/runtime/status-emit.js +0 -15
  657. package/dist/runtime/status-emit.js.map +0 -1
  658. package/dist/runtime/teardown.d.ts +0 -15
  659. package/dist/runtime/teardown.d.ts.map +0 -1
  660. package/dist/runtime/teardown.js +0 -40
  661. package/dist/runtime/teardown.js.map +0 -1
  662. package/dist/runtime/terminate.d.ts +0 -22
  663. package/dist/runtime/terminate.d.ts.map +0 -1
  664. package/dist/runtime/terminate.js +0 -129
  665. package/dist/runtime/terminate.js.map +0 -1
  666. package/dist/runtime/update-lock.d.ts +0 -19
  667. package/dist/runtime/update-lock.d.ts.map +0 -1
  668. package/dist/runtime/update-lock.js +0 -183
  669. package/dist/runtime/update-lock.js.map +0 -1
  670. package/dist/runtime/update-once.d.ts +0 -40
  671. package/dist/runtime/update-once.d.ts.map +0 -1
  672. package/dist/runtime/update-once.js +0 -88
  673. package/dist/runtime/update-once.js.map +0 -1
@@ -1,21 +0,0 @@
1
- /** Serialized adapter controls with readiness semantics (PRD §5.3/§5.9). */
2
- import { ControlQueueState } from "./control-queue-state.ts";
3
- import { type ControlOperationKind, type ControlQueueError } from "./control-queue-traits.ts";
4
- import type { AbortableQueueTask, Cancel, ControlSendOptions, ControlSubmissionOrigin, ControlSubmitter } from "./control-queue-types.ts";
5
- export type { ControlOperationKind, ControlOperationTraits, ControlQueueError, ControlSubmitMode, ReadinessPolicy, } from "./control-queue-traits.ts";
6
- export { controlOperationTraits } from "./control-queue-traits.ts";
7
- export type { AbortableQueueTask, Cancel, ControlSendOptions, ControlSubmissionOrigin, ControlSubmitter, } from "./control-queue-types.ts";
8
- export declare class ControlQueue extends ControlQueueState {
9
- private readonly submit;
10
- private readonly onTurnStarted;
11
- private readonly guidanceMayBypass;
12
- constructor(submit: ControlSubmitter, stoppedError: ControlQueueError, onTurnStarted: (origin: ControlSubmissionOrigin) => void, guidanceMayBypass?: () => boolean);
13
- send(input: string, kind: ControlOperationKind, attach?: AbortableQueueTask, options?: ControlSendOptions): Promise<void>;
14
- runExclusive(kind: ControlOperationKind, run: AbortableQueueTask, cancel?: Cancel): Promise<void>;
15
- protected drain(): void;
16
- private submitWithAttach;
17
- private beginSubmission;
18
- private commit;
19
- private rollback;
20
- }
21
- //# sourceMappingURL=control-queue.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"control-queue.d.ts","sourceRoot":"","sources":["../../src/core/control-queue.ts"],"names":[],"mappings":"AAAA,4EAA4E;AAG5E,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EACL,KAAK,oBAAoB,EAEzB,KAAK,iBAAiB,EAIvB,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,EACV,kBAAkB,EAClB,MAAM,EACN,kBAAkB,EAClB,uBAAuB,EACvB,gBAAgB,EAEjB,MAAM,0BAA0B,CAAC;AAGlC,YAAY,EACV,oBAAoB,EACpB,sBAAsB,EACtB,iBAAiB,EACjB,iBAAiB,EACjB,eAAe,GAChB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AACnE,YAAY,EACV,kBAAkB,EAClB,MAAM,EACN,kBAAkB,EAClB,uBAAuB,EACvB,gBAAgB,GACjB,MAAM,0BAA0B,CAAC;AAIlC,qBAAa,YAAa,SAAQ,iBAAiB;IACjD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAmB;IAC1C,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA4C;IAC1E,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAgB;gBAGhD,MAAM,EAAE,gBAAgB,EACxB,YAAY,EAAE,iBAAiB,EAC/B,aAAa,EAAE,CAAC,MAAM,EAAE,uBAAuB,KAAK,IAAI,EACxD,iBAAiB,GAAE,MAAM,OAAqB;IAQhD,IAAI,CACF,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,oBAAoB,EAC1B,MAAM,CAAC,EAAE,kBAAkB,EAC3B,OAAO,GAAE,kBAAuB,GAC/B,OAAO,CAAC,IAAI,CAAC;IAiBhB,YAAY,CACV,IAAI,EAAE,oBAAoB,EAC1B,GAAG,EAAE,kBAAkB,EACvB,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,IAAI,CAAC;IAahB,SAAS,CAAC,KAAK,IAAI,IAAI;YA8BT,gBAAgB;IAa9B,OAAO,CAAC,eAAe;IAOvB,OAAO,CAAC,MAAM;IAOd,OAAO,CAAC,QAAQ;CASjB"}
@@ -1,98 +0,0 @@
1
- /** Serialized adapter controls with readiness semantics (PRD §5.3/§5.9). */
2
- import { runContained } from "./contained.js";
3
- import { ControlQueueState } from "./control-queue-state.js";
4
- import { controlOperationTraits, nextDispatchIndex, overtakesReadiness, } from "./control-queue-traits.js";
5
- import { toError } from "./errors.js";
6
- export { controlOperationTraits } from "./control-queue-traits.js";
7
- const callerOrigin = { kind: "caller" };
8
- export class ControlQueue extends ControlQueueState {
9
- submit;
10
- onTurnStarted;
11
- guidanceMayBypass;
12
- constructor(submit, stoppedError, onTurnStarted, guidanceMayBypass = () => false) {
13
- super(stoppedError);
14
- this.submit = submit;
15
- this.onTurnStarted = onTurnStarted;
16
- this.guidanceMayBypass = guidanceMayBypass;
17
- }
18
- send(input, kind, attach, options = {}) {
19
- const mayBypassReadiness = controlOperationTraits[kind].readiness === "running_after_ready" &&
20
- this.everReady &&
21
- this.guidanceMayBypass();
22
- return this.enqueue({
23
- input,
24
- kind,
25
- mayBypassReadiness,
26
- origin: options.origin ?? callerOrigin,
27
- ...(attach ? { attach } : {}),
28
- }, options.cancel);
29
- }
30
- runExclusive(kind, run, cancel) {
31
- return this.enqueue({
32
- input: "",
33
- kind,
34
- mayBypassReadiness: false,
35
- origin: callerOrigin,
36
- run,
37
- }, cancel);
38
- }
39
- drain() {
40
- if (this.inFlight || this.queue.length === 0)
41
- return;
42
- const index = nextDispatchIndex(this.queue, this.ready, this.bypassable);
43
- if (index < 0)
44
- return;
45
- const operation = this.queue.splice(index, 1)[0];
46
- if (overtakesReadiness(operation))
47
- this.bypassable -= 1;
48
- this.inFlight = operation;
49
- const traits = controlOperationTraits[operation.kind];
50
- const priorReady = this.ready;
51
- const epoch = this.readinessEpoch;
52
- let dispatched;
53
- try {
54
- const signal = this.armAbort();
55
- if (!operation.attach)
56
- this.beginSubmission(operation, traits);
57
- dispatched = operation.run
58
- ? operation.run(signal)
59
- : this.submitWithAttach(operation, traits, signal);
60
- }
61
- catch (error) {
62
- this.rollback(operation, priorReady, epoch, toError(error));
63
- return;
64
- }
65
- dispatched.then(() => this.commit(operation, traits), (error) => {
66
- const cancellation = this.cancellation.errorFor(operation);
67
- this.rollback(operation, priorReady, epoch, cancellation ?? toError(error));
68
- });
69
- }
70
- async submitWithAttach(operation, traits, signal) {
71
- if (operation.attach) {
72
- await operation.attach(signal);
73
- if (signal.aborted)
74
- throw this.abortError(signal);
75
- this.beginSubmission(operation, traits);
76
- }
77
- await this.submit(operation.input, traits.submitMode, signal);
78
- }
79
- beginSubmission(operation, traits) {
80
- if (traits.consumesReadiness)
81
- this.ready = false;
82
- if (traits.reportsCallerSubmission && operation.origin.kind === "caller") {
83
- runContained(() => this.onTurnStarted(operation.origin));
84
- }
85
- }
86
- commit(operation, traits) {
87
- if (traits.reportsCallerSubmission && operation.origin.kind === "loop") {
88
- runContained(() => this.onTurnStarted(operation.origin));
89
- }
90
- this.settle(operation, () => operation.resolve());
91
- }
92
- rollback(operation, priorReady, epoch, error) {
93
- if (!this.closed && this.readinessEpoch === epoch)
94
- this.ready = priorReady;
95
- this.settle(operation, () => operation.reject(error));
96
- }
97
- }
98
- //# sourceMappingURL=control-queue.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"control-queue.js","sourceRoot":"","sources":["../../src/core/control-queue.ts"],"names":[],"mappings":"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"}
@@ -1,44 +0,0 @@
1
- /**
2
- * Session-less model enumeration: start a throwaway session, list its models,
3
- * and always tear it down. Implements PRD §5.3 and C-API-41.
4
- */
5
- import type { ElwoodAgentSession } from "./agent-session.ts";
6
- import type { AgentModelOption } from "./model-rows.ts";
7
- /** Launch-relevant options for a throwaway model-listing probe (C-API-41). */
8
- export type ListModelsOptions = {
9
- readonly cwd: string;
10
- readonly stateDir?: string;
11
- readonly autoupdate?: boolean;
12
- readonly hookTimeoutMs?: number;
13
- readonly strictVersionCheck?: boolean;
14
- /** Bounds the picker automation, exactly as on a live session's `listModels`. */
15
- readonly timeoutMs?: number;
16
- };
17
- /**
18
- * The throwaway session surface a probe drives: wait for ready, list, tear down.
19
- * Derived from the public session contract so it uses the SAME closed
20
- * `ElwoodSessionStatus` type and cannot drift from the real methods.
21
- */
22
- type ProbeSession = Pick<ElwoodAgentSession, "waitForStatus" | "listModels" | "teardown">;
23
- /** Adapter hooks for a probe: how to start the session and how to remove ALL its state. */
24
- export type ProbeAdapter<S extends ProbeSession> = {
25
- /** Starts the throwaway session against the probe's owned state directory. */
26
- readonly start: () => Promise<S>;
27
- /**
28
- * Removes ALL probe state (its owned temp directory and everything under it).
29
- * Runs on EVERY outcome — success, readiness/picker failure, AND a start failure
30
- * that already allocated a state directory or runtime files — so nothing leaks
31
- * regardless of how far startup got (C-API-41). Best-effort and non-throwing.
32
- */
33
- readonly removeState: () => void;
34
- };
35
- /**
36
- * Runs a throwaway session to its first readiness, lists its models, and cleans
37
- * up EVERYTHING it allocated — the session (via `teardown`) and its owned state
38
- * directory (via `removeState`) — on every outcome, so nothing is leaked (C-API-41).
39
- * The probe only opens and cancels the picker, so the user's default stays
40
- * untouched. A teardown/cleanup failure never masks a real list/readiness error.
41
- */
42
- export declare function probeModels<S extends ProbeSession>(adapter: ProbeAdapter<S>, options: ListModelsOptions): Promise<readonly AgentModelOption[]>;
43
- export {};
44
- //# sourceMappingURL=list-models.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"list-models.d.ts","sourceRoot":"","sources":["../../src/core/list-models.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAE7D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAExD,8EAA8E;AAC9E,MAAM,MAAM,iBAAiB,GAAG;IAC9B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC;IAC9B,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,OAAO,CAAC;IACtC,iFAAiF;IACjF,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B,CAAC;AAEF;;;;GAIG;AACH,KAAK,YAAY,GAAG,IAAI,CAAC,kBAAkB,EAAE,eAAe,GAAG,YAAY,GAAG,UAAU,CAAC,CAAC;AAE1F,2FAA2F;AAC3F,MAAM,MAAM,YAAY,CAAC,CAAC,SAAS,YAAY,IAAI;IACjD,8EAA8E;IAC9E,QAAQ,CAAC,KAAK,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,CAAC;IACjC;;;;;OAKG;IACH,QAAQ,CAAC,WAAW,EAAE,MAAM,IAAI,CAAC;CAClC,CAAC;AAEF;;;;;;GAMG;AACH,wBAAsB,WAAW,CAAC,CAAC,SAAS,YAAY,EACtD,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,EACxB,OAAO,EAAE,iBAAiB,GACzB,OAAO,CAAC,SAAS,gBAAgB,EAAE,CAAC,CAiBtC"}
@@ -1,73 +0,0 @@
1
- /**
2
- * Session-less model enumeration: start a throwaway session, list its models,
3
- * and always tear it down. Implements PRD §5.3 and C-API-41.
4
- */
5
- import { errnoCode, toError } from "./errors.js";
6
- /**
7
- * Runs a throwaway session to its first readiness, lists its models, and cleans
8
- * up EVERYTHING it allocated — the session (via `teardown`) and its owned state
9
- * directory (via `removeState`) — on every outcome, so nothing is leaked (C-API-41).
10
- * The probe only opens and cancels the picker, so the user's default stays
11
- * untouched. A teardown/cleanup failure never masks a real list/readiness error.
12
- */
13
- export async function probeModels(adapter, options) {
14
- let session;
15
- try {
16
- session = await adapter.start();
17
- }
18
- catch (error) {
19
- // Adapter startup can allocate a state directory / runtime files BEFORE the
20
- // bridge or PTY fails, so "no returned session" does not mean "nothing
21
- // allocated": remove the owned state directory before rethrowing (C-API-41).
22
- adapter.removeState();
23
- throw error;
24
- }
25
- try {
26
- return await runProbe(session, options);
27
- }
28
- finally {
29
- // Always sweep the owned state directory, even after a successful teardown.
30
- adapter.removeState();
31
- }
32
- }
33
- async function runProbe(session, options) {
34
- let models;
35
- try {
36
- await session.waitForStatus((status) => status === "ready");
37
- models = await session.listModels(options.timeoutMs === undefined ? undefined : { timeoutMs: options.timeoutMs });
38
- }
39
- catch (error) {
40
- // The list/readiness error is what the caller must see, so it stays the thrown
41
- // error and teardown never masks it. But a FAILED teardown here can leak a
42
- // probe process tree, so surface it as a bounded `cause` rather than silently
43
- // discarding it: the caller keeps the primary error AND learns of the leak.
44
- await teardownWithoutMasking(session, toError(error));
45
- throw error;
46
- }
47
- // The clean path DOES surface a genuine teardown failure — a leaked probe
48
- // session is a real defect the caller should learn about (C-API-41).
49
- await session.teardown();
50
- return models;
51
- }
52
- /**
53
- * Tear down the probe on the error path without masking the primary error. A
54
- * rejecting teardown can leave a probe process tree alive, so instead of
55
- * discarding it we attach a bounded diagnostic (the teardown error's allowlisted
56
- * errno, or its name) to the primary error's `cause` — visible to the caller,
57
- * never overriding the readiness/picker error that actually explains the failure.
58
- */
59
- async function teardownWithoutMasking(session, primary) {
60
- try {
61
- await session.teardown();
62
- }
63
- catch (teardownError) {
64
- // `cause` may already be set by the primary error; only fill it when empty so
65
- // we never clobber a more specific upstream cause. The token is bounded — an
66
- // errno like `EPERM` or the error's constructor name — never a raw message.
67
- if (primary.cause === undefined) {
68
- const token = errnoCode(teardownError) ?? toError(teardownError).name;
69
- primary.cause = `probe_teardown_failed:${token}`;
70
- }
71
- }
72
- }
73
- //# sourceMappingURL=list-models.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"list-models.js","sourceRoot":"","sources":["../../src/core/list-models.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAkCjD;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,OAAwB,EACxB,OAA0B;IAE1B,IAAI,OAAU,CAAC;IACf,IAAI,CAAC;QACH,OAAO,GAAG,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;IAClC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,4EAA4E;QAC5E,uEAAuE;QACvE,6EAA6E;QAC7E,OAAO,CAAC,WAAW,EAAE,CAAC;QACtB,MAAM,KAAK,CAAC;IACd,CAAC;IACD,IAAI,CAAC;QACH,OAAO,MAAM,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC1C,CAAC;YAAS,CAAC;QACT,4EAA4E;QAC5E,OAAO,CAAC,WAAW,EAAE,CAAC;IACxB,CAAC;AACH,CAAC;AAED,KAAK,UAAU,QAAQ,CACrB,OAAU,EACV,OAA0B;IAE1B,IAAI,MAAmC,CAAC;IACxC,IAAI,CAAC;QACH,MAAM,OAAO,CAAC,aAAa,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,KAAK,OAAO,CAAC,CAAC;QAC5D,MAAM,GAAG,MAAM,OAAO,CAAC,UAAU,CAC/B,OAAO,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,CAC/E,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,+EAA+E;QAC/E,2EAA2E;QAC3E,8EAA8E;QAC9E,4EAA4E;QAC5E,MAAM,sBAAsB,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;QACtD,MAAM,KAAK,CAAC;IACd,CAAC;IACD,0EAA0E;IAC1E,qEAAqE;IACrE,MAAM,OAAO,CAAC,QAAQ,EAAE,CAAC;IACzB,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;;GAMG;AACH,KAAK,UAAU,sBAAsB,CAAC,OAAqB,EAAE,OAAc;IACzE,IAAI,CAAC;QACH,MAAM,OAAO,CAAC,QAAQ,EAAE,CAAC;IAC3B,CAAC;IAAC,OAAO,aAAa,EAAE,CAAC;QACvB,8EAA8E;QAC9E,6EAA6E;QAC7E,4EAA4E;QAC5E,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YAChC,MAAM,KAAK,GAAG,SAAS,CAAC,aAAa,CAAC,IAAI,OAAO,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC;YACtE,OAAO,CAAC,KAAK,GAAG,yBAAyB,KAAK,EAAE,CAAC;QACnD,CAAC;IACH,CAAC;AACH,CAAC"}
@@ -1,22 +0,0 @@
1
- /**
2
- * Shared /model picker automation for adapter sessions.
3
- * Implements PRD §5.3, §5.7, C-API-23, and C-API-24.
4
- */
5
- import type { AgentModelOption, ParsedModelPicker } from "./model-rows.ts";
6
- import { type ScreenTerminal } from "./tui-screen.ts";
7
- export declare function pickerTimeout(options?: {
8
- readonly timeoutMs?: number;
9
- }): number;
10
- export type ModelPickerIo = {
11
- readonly terminal: ScreenTerminal;
12
- readonly submit: (command: string) => Promise<void>;
13
- };
14
- export type ModelPickerSpec = {
15
- readonly agent: string;
16
- readonly isOpen: (text: string) => boolean;
17
- readonly parse: (text: string) => ParsedModelPicker;
18
- readonly apply: (io: ModelPickerIo, timeoutMs: number) => Promise<void>;
19
- };
20
- export declare function listPickerModels(io: ModelPickerIo, spec: ModelPickerSpec, timeoutMs: number): Promise<readonly AgentModelOption[]>;
21
- export declare function setPickerModel(io: ModelPickerIo, spec: ModelPickerSpec, id: string, timeoutMs: number): Promise<void>;
22
- //# sourceMappingURL=model-picker.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"model-picker.d.ts","sourceRoot":"","sources":["../../src/core/model-picker.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,KAAK,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAC3E,OAAO,EAGL,KAAK,cAAc,EAEpB,MAAM,iBAAiB,CAAC;AAEzB,wBAAgB,aAAa,CAAC,OAAO,CAAC,EAAE;IAAE,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAE/E;AAED,MAAM,MAAM,aAAa,GAAG;IAC1B,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC;IAClC,QAAQ,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACrD,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;IAC3C,QAAQ,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,iBAAiB,CAAC;IACpD,QAAQ,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACzE,CAAC;AAOF,wBAAsB,gBAAgB,CACpC,EAAE,EAAE,aAAa,EACjB,IAAI,EAAE,eAAe,EACrB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,SAAS,gBAAgB,EAAE,CAAC,CAUtC;AAED,wBAAsB,cAAc,CAClC,EAAE,EAAE,aAAa,EACjB,IAAI,EAAE,eAAe,EACrB,EAAE,EAAE,MAAM,EACV,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,IAAI,CAAC,CA2Bf"}
@@ -1,58 +0,0 @@
1
- /**
2
- * Shared /model picker automation for adapter sessions.
3
- * Implements PRD §5.3, §5.7, C-API-23, and C-API-24.
4
- */
5
- import { delay } from "./delay.js";
6
- import { elwoodError } from "./errors.js";
7
- import { defaultModelTimeoutMs, openCommandScreen, waitForScreen, } from "./tui-screen.js";
8
- export function pickerTimeout(options) {
9
- return options?.timeoutMs ?? defaultModelTimeoutMs;
10
- }
11
- const escapeKey = "\u001b";
12
- const arrowDown = "\u001b[B";
13
- const arrowUp = "\u001b[A";
14
- const arrowStepMs = 80;
15
- export async function listPickerModels(io, spec, timeoutMs) {
16
- const parsed = await openAndParse(io, spec, timeoutMs);
17
- await io.terminal.sendInput(escapeKey);
18
- await waitForScreen(io.terminal, (text) => !spec.isOpen(text), timeoutMs, `${spec.agent} model picker to close`);
19
- return parsed.options;
20
- }
21
- export async function setPickerModel(io, spec, id, timeoutMs) {
22
- const parsed = await openAndParse(io, spec, timeoutMs);
23
- const wanted = id.toLowerCase();
24
- // Row ids are already lower-cased labels (`model-rows.ts`), so matching the id
25
- // alone covers a caller that passes the display label in any case.
26
- const target = parsed.options.findIndex((option) => option.id === wanted);
27
- if (target === -1 || parsed.cursorIndex === -1) {
28
- await io.terminal.sendInput(escapeKey);
29
- const reason = target === -1 ? `Unknown model id "${id}".` : "Could not locate the picker cursor.";
30
- throw elwoodError("model_automation_failed", reason, {
31
- available: parsed.options.map((option) => option.id),
32
- });
33
- }
34
- const delta = target - parsed.cursorIndex;
35
- const key = delta > 0 ? arrowDown : arrowUp;
36
- for (let step = 0; step < Math.abs(delta); step += 1) {
37
- await io.terminal.sendInput(key);
38
- await delay(arrowStepMs);
39
- }
40
- await waitForScreen(io.terminal, (text) => spec.parse(text).cursorIndex === target, timeoutMs, `${spec.agent} picker cursor on "${id}"`);
41
- await spec.apply(io, timeoutMs);
42
- }
43
- async function openAndParse(io, spec, timeoutMs) {
44
- const text = await openCommandScreen({
45
- terminal: io.terminal,
46
- submit: () => io.submit("/model"),
47
- isOpen: spec.isOpen,
48
- timeoutMs,
49
- label: `${spec.agent} model picker`,
50
- });
51
- const parsed = spec.parse(text);
52
- if (parsed.options.length === 0) {
53
- await io.terminal.sendInput(escapeKey);
54
- throw elwoodError("model_automation_failed", "Could not parse any model picker rows.");
55
- }
56
- return parsed;
57
- }
58
- //# sourceMappingURL=model-picker.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"model-picker.js","sourceRoot":"","sources":["../../src/core/model-picker.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1C,OAAO,EACL,qBAAqB,EACrB,iBAAiB,EAEjB,aAAa,GACd,MAAM,iBAAiB,CAAC;AAEzB,MAAM,UAAU,aAAa,CAAC,OAAyC;IACrE,OAAO,OAAO,EAAE,SAAS,IAAI,qBAAqB,CAAC;AACrD,CAAC;AAcD,MAAM,SAAS,GAAG,QAAQ,CAAC;AAC3B,MAAM,SAAS,GAAG,UAAU,CAAC;AAC7B,MAAM,OAAO,GAAG,UAAU,CAAC;AAC3B,MAAM,WAAW,GAAG,EAAE,CAAC;AAEvB,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,EAAiB,EACjB,IAAqB,EACrB,SAAiB;IAEjB,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,EAAE,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;IACvD,MAAM,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;IACvC,MAAM,aAAa,CACjB,EAAE,CAAC,QAAQ,EACX,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAC5B,SAAS,EACT,GAAG,IAAI,CAAC,KAAK,wBAAwB,CACtC,CAAC;IACF,OAAO,MAAM,CAAC,OAAO,CAAC;AACxB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,EAAiB,EACjB,IAAqB,EACrB,EAAU,EACV,SAAiB;IAEjB,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,EAAE,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;IACvD,MAAM,MAAM,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC;IAChC,+EAA+E;IAC/E,mEAAmE;IACnE,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,KAAK,MAAM,CAAC,CAAC;IAC1E,IAAI,MAAM,KAAK,CAAC,CAAC,IAAI,MAAM,CAAC,WAAW,KAAK,CAAC,CAAC,EAAE,CAAC;QAC/C,MAAM,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QACvC,MAAM,MAAM,GACV,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,qBAAqB,EAAE,IAAI,CAAC,CAAC,CAAC,qCAAqC,CAAC;QACtF,MAAM,WAAW,CAAC,yBAAyB,EAAE,MAAM,EAAE;YACnD,SAAS,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC;SACrD,CAAC,CAAC;IACL,CAAC;IACD,MAAM,KAAK,GAAG,MAAM,GAAG,MAAM,CAAC,WAAW,CAAC;IAC1C,MAAM,GAAG,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC;IAC5C,KAAK,IAAI,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,IAAI,IAAI,CAAC,EAAE,CAAC;QACrD,MAAM,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QACjC,MAAM,KAAK,CAAC,WAAW,CAAC,CAAC;IAC3B,CAAC;IACD,MAAM,aAAa,CACjB,EAAE,CAAC,QAAQ,EACX,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,WAAW,KAAK,MAAM,EACjD,SAAS,EACT,GAAG,IAAI,CAAC,KAAK,sBAAsB,EAAE,GAAG,CACzC,CAAC;IACF,MAAM,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;AAClC,CAAC;AAED,KAAK,UAAU,YAAY,CACzB,EAAiB,EACjB,IAAqB,EACrB,SAAiB;IAEjB,MAAM,IAAI,GAAG,MAAM,iBAAiB,CAAC;QACnC,QAAQ,EAAE,EAAE,CAAC,QAAQ;QACrB,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC;QACjC,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,SAAS;QACT,KAAK,EAAE,GAAG,IAAI,CAAC,KAAK,eAAe;KACpC,CAAC,CAAC;IACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAChC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAChC,MAAM,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QACvC,MAAM,WAAW,CAAC,yBAAyB,EAAE,wCAAwC,CAAC,CAAC;IACzF,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -1,21 +0,0 @@
1
- /**
2
- * Parses rendered adapter model picker rows into typed options.
3
- * Implements PRD §5.3 AgentModelOption and C-API-23.
4
- */
5
- export type AgentModelOption = {
6
- readonly id: string;
7
- readonly label: string;
8
- readonly description?: string;
9
- readonly isCurrent: boolean;
10
- readonly isDefault: boolean;
11
- readonly raw: string;
12
- };
13
- export type ParsedModelPicker = {
14
- readonly options: readonly AgentModelOption[];
15
- readonly cursorIndex: number;
16
- };
17
- export declare const claudeModelPickerHeader: RegExp;
18
- export declare const codexModelPickerHeader: RegExp;
19
- export declare function parseClaudeModelPicker(text: string): ParsedModelPicker;
20
- export declare function parseCodexModelPicker(text: string): ParsedModelPicker;
21
- //# sourceMappingURL=model-rows.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"model-rows.d.ts","sourceRoot":"","sources":["../../src/core/model-rows.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,MAAM,gBAAgB,GAAG;IAC7B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,QAAQ,CAAC,OAAO,EAAE,SAAS,gBAAgB,EAAE,CAAC;IAC9C,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC9B,CAAC;AAEF,eAAO,MAAM,uBAAuB,QAAiB,CAAC;AACtD,eAAO,MAAM,sBAAsB,QAA4B,CAAC;AAIhE,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,iBAAiB,CAUtE;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,iBAAiB,CAarE"}
@@ -1,57 +0,0 @@
1
- /**
2
- * Parses rendered adapter model picker rows into typed options.
3
- * Implements PRD §5.3 AgentModelOption and C-API-23.
4
- */
5
- export const claudeModelPickerHeader = /Select model/;
6
- export const codexModelPickerHeader = /Select Model and Effort/;
7
- const rowPattern = /^\s*(❯|›)?\s*\d+\.\s+(.+?)\s{2,}(\S.*?)\s*$/;
8
- export function parseClaudeModelPicker(text) {
9
- return parseRows(pickerRegion(text, claudeModelPickerHeader), (labelText) => {
10
- const isCurrent = labelText.includes("✔");
11
- const isDefault = /\(recommended\)/i.test(labelText);
12
- const label = labelText
13
- .replace("✔", "")
14
- .replace(/\(recommended\)/i, "")
15
- .trim();
16
- return { label, id: label.toLowerCase(), isCurrent, isDefault };
17
- });
18
- }
19
- export function parseCodexModelPicker(text) {
20
- const parsed = parseRows(pickerRegion(text, codexModelPickerHeader), (labelText) => {
21
- const isCurrent = /\(current\)/i.test(labelText);
22
- const isDefault = /\(default\)/i.test(labelText);
23
- const label = labelText.replace(/\((?:current|default)\)/gi, "").trim();
24
- return { label, id: label.toLowerCase(), isCurrent, isDefault };
25
- });
26
- // Codex omits the default marker when the current model is the default.
27
- if (parsed.options.some((option) => option.isDefault))
28
- return parsed;
29
- const options = parsed.options.map((option) => option.isCurrent ? { ...option, isDefault: true } : option);
30
- return { options, cursorIndex: parsed.cursorIndex };
31
- }
32
- function parseRows(region, decorate) {
33
- const options = [];
34
- let cursorIndex = -1;
35
- for (const line of region.split("\n")) {
36
- const match = rowPattern.exec(line);
37
- if (!match)
38
- continue;
39
- if (match[1])
40
- cursorIndex = options.length;
41
- options.push({
42
- ...decorate(match[2]),
43
- description: match[3],
44
- raw: line.trim(),
45
- });
46
- }
47
- return { options, cursorIndex };
48
- }
49
- function pickerRegion(text, header) {
50
- const lines = text.split("\n");
51
- for (let index = lines.length - 1; index >= 0; index -= 1) {
52
- if (header.test(lines[index]))
53
- return lines.slice(index).join("\n");
54
- }
55
- return "";
56
- }
57
- //# sourceMappingURL=model-rows.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"model-rows.js","sourceRoot":"","sources":["../../src/core/model-rows.ts"],"names":[],"mappings":"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"}
@@ -1,21 +0,0 @@
1
- /**
2
- * Elwood-owned temp state directory for a session-less probe (C-API-41).
3
- * The probe creates a fresh directory it fully owns, so it can remove EVERYTHING
4
- * it allocated — even when adapter startup fails after writing the session
5
- * directory or runtime files — without touching any caller-owned state.
6
- */
7
- export type OwnedProbeStateDir = {
8
- /** The fresh, probe-owned state directory to launch the throwaway session in. */
9
- readonly dir: string;
10
- /** Removes the owned directory and everything under it; best-effort, never throws. */
11
- readonly remove: () => void;
12
- };
13
- /**
14
- * Creates a fresh probe-owned state directory. When the caller supplies a `parent`
15
- * (the `ListModelsOptions.stateDir`), the temp directory is created inside it so
16
- * the caller can locate the probe's state; otherwise it lands under the OS temp
17
- * dir. Either way Elwood OWNS the created directory and removes exactly it — never
18
- * a caller-owned tree — on cleanup.
19
- */
20
- export declare function ownedProbeStateDir(agent: string, parent?: string): OwnedProbeStateDir;
21
- //# sourceMappingURL=probe-state.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"probe-state.d.ts","sourceRoot":"","sources":["../../src/core/probe-state.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,MAAM,MAAM,kBAAkB,GAAG;IAC/B,iFAAiF;IACjF,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,sFAAsF;IACtF,QAAQ,CAAC,MAAM,EAAE,MAAM,IAAI,CAAC;CAC7B,CAAC;AAEF;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,kBAAkB,CAMrF"}
@@ -1,39 +0,0 @@
1
- /**
2
- * Elwood-owned temp state directory for a session-less probe (C-API-41).
3
- * The probe creates a fresh directory it fully owns, so it can remove EVERYTHING
4
- * it allocated — even when adapter startup fails after writing the session
5
- * directory or runtime files — without touching any caller-owned state.
6
- */
7
- import { mkdirSync, mkdtempSync, rmSync } from "node:fs";
8
- import { tmpdir } from "node:os";
9
- import { join } from "node:path";
10
- /**
11
- * Creates a fresh probe-owned state directory. When the caller supplies a `parent`
12
- * (the `ListModelsOptions.stateDir`), the temp directory is created inside it so
13
- * the caller can locate the probe's state; otherwise it lands under the OS temp
14
- * dir. Either way Elwood OWNS the created directory and removes exactly it — never
15
- * a caller-owned tree — on cleanup.
16
- */
17
- export function ownedProbeStateDir(agent, parent) {
18
- const root = parent ?? tmpdir();
19
- // A caller-supplied `stateDir` need not exist yet; mkdtemp requires its parent.
20
- if (parent !== undefined)
21
- mkdirSync(root, { recursive: true });
22
- const dir = mkdtempSync(join(root, `elwood-${agent}-models-`));
23
- return { dir, remove: () => removeProbeStateDir(dir) };
24
- }
25
- /**
26
- * Removes a probe-owned directory and everything under it. Best-effort: `force`
27
- * already ignores an already-gone directory, and any other fs error (EPERM, a
28
- * file where a directory was expected, and so on) is swallowed so a cleanup
29
- * failure never masks the probe's real result.
30
- */
31
- function removeProbeStateDir(dir) {
32
- try {
33
- rmSync(dir, { recursive: true, force: true });
34
- }
35
- catch {
36
- // Best-effort cleanup: a failure here is never surfaced to the caller.
37
- }
38
- }
39
- //# sourceMappingURL=probe-state.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"probe-state.js","sourceRoot":"","sources":["../../src/core/probe-state.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACzD,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AASjC;;;;;;GAMG;AACH,MAAM,UAAU,kBAAkB,CAAC,KAAa,EAAE,MAAe;IAC/D,MAAM,IAAI,GAAG,MAAM,IAAI,MAAM,EAAE,CAAC;IAChC,gFAAgF;IAChF,IAAI,MAAM,KAAK,SAAS;QAAE,SAAS,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC/D,MAAM,GAAG,GAAG,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,KAAK,UAAU,CAAC,CAAC,CAAC;IAC/D,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,mBAAmB,CAAC,GAAG,CAAC,EAAE,CAAC;AACzD,CAAC;AAED;;;;;GAKG;AACH,SAAS,mBAAmB,CAAC,GAAW;IACtC,IAAI,CAAC;QACH,MAAM,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IAChD,CAAC;IAAC,MAAM,CAAC;QACP,uEAAuE;IACzE,CAAC;AACH,CAAC"}
@@ -1,10 +0,0 @@
1
- /** Abort-aware timing and composer cleanup for queued input (PRD §5.3/§5.9). */
2
- /** The narrow PTY write surface the queued-input helpers drive. */
3
- export type InputTerminal = {
4
- sendInput(data: string | Uint8Array): void | Promise<void>;
5
- };
6
- export declare function waitForInput(ms: number, signal?: AbortSignal): Promise<void>;
7
- export declare function throwIfInputAborted(signal?: AbortSignal): void;
8
- export declare function inputAbortError(signal: AbortSignal): Error;
9
- export declare function clearStagedComposer(terminal: InputTerminal): Promise<void>;
10
- //# sourceMappingURL=session-input-abort.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"session-input-abort.d.ts","sourceRoot":"","sources":["../../src/core/session-input-abort.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAEhF,mEAAmE;AACnE,MAAM,MAAM,aAAa,GAAG;IAAE,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CAAE,CAAC;AAE3F,wBAAgB,YAAY,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAkB5E;AAUD,wBAAgB,mBAAmB,CAAC,MAAM,CAAC,EAAE,WAAW,GAAG,IAAI,CAE9D;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,WAAW,GAAG,KAAK,CAE1D;AAED,wBAAsB,mBAAmB,CAAC,QAAQ,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAMhF"}
@@ -1,44 +0,0 @@
1
- /** Abort-aware timing and composer cleanup for queued input (PRD §5.3/§5.9). */
2
- export function waitForInput(ms, signal) {
3
- if (signal === undefined)
4
- return delayUnref(ms);
5
- return new Promise((resolve, reject) => {
6
- if (signal.aborted) {
7
- reject(inputAbortError(signal));
8
- return;
9
- }
10
- const aborted = () => {
11
- clearTimeout(timer);
12
- reject(inputAbortError(signal));
13
- };
14
- const timer = setTimeout(() => {
15
- signal.removeEventListener("abort", aborted);
16
- resolve();
17
- }, ms);
18
- timer.unref?.();
19
- signal.addEventListener("abort", aborted, { once: true });
20
- });
21
- }
22
- /** An unreferenced sleep: a pending settle delay never keeps the host alive by itself. */
23
- function delayUnref(ms) {
24
- return new Promise((resolve) => {
25
- const timer = setTimeout(resolve, ms);
26
- timer.unref?.();
27
- });
28
- }
29
- export function throwIfInputAborted(signal) {
30
- if (signal?.aborted)
31
- throw inputAbortError(signal);
32
- }
33
- export function inputAbortError(signal) {
34
- return signal.reason instanceof Error ? signal.reason : new Error("Submission aborted.");
35
- }
36
- export async function clearStagedComposer(terminal) {
37
- try {
38
- await terminal.sendInput("\u0015\u000b");
39
- }
40
- catch {
41
- // Best-effort: preserve the cancellation as the primary outcome.
42
- }
43
- }
44
- //# sourceMappingURL=session-input-abort.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"session-input-abort.js","sourceRoot":"","sources":["../../src/core/session-input-abort.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAKhF,MAAM,UAAU,YAAY,CAAC,EAAU,EAAE,MAAoB;IAC3D,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,UAAU,CAAC,EAAE,CAAC,CAAC;IAChD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACnB,MAAM,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC;YAChC,OAAO;QACT,CAAC;QACD,MAAM,OAAO,GAAG,GAAG,EAAE;YACnB,YAAY,CAAC,KAAK,CAAC,CAAC;YACpB,MAAM,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC;QAClC,CAAC,CAAC;QACF,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;YAC5B,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAC7C,OAAO,EAAE,CAAC;QACZ,CAAC,EAAE,EAAE,CAAC,CAAC;QACP,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC;QAChB,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IAC5D,CAAC,CAAC,CAAC;AACL,CAAC;AAED,0FAA0F;AAC1F,SAAS,UAAU,CAAC,EAAU;IAC5B,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,MAAM,KAAK,GAAG,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QACtC,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC;IAClB,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,MAAoB;IACtD,IAAI,MAAM,EAAE,OAAO;QAAE,MAAM,eAAe,CAAC,MAAM,CAAC,CAAC;AACrD,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,MAAmB;IACjD,OAAO,MAAM,CAAC,MAAM,YAAY,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;AAC3F,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,QAAuB;IAC/D,IAAI,CAAC;QACH,MAAM,QAAQ,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;IAC3C,CAAC;IAAC,MAAM,CAAC;QACP,iEAAiE;IACnE,CAAC;AACH,CAAC"}
@@ -1,37 +0,0 @@
1
- /**
2
- * Shared PTY input submission helpers for adapter sessions.
3
- * Implements PRD §5.3 prompt and command submission semantics (C-API-31).
4
- */
5
- import type { ControlSubmitMode } from "./control-queue.ts";
6
- import { type InputTerminal } from "./session-input-abort.ts";
7
- /** Adapter view of "the paste is still staged in the composer". */
8
- export type PasteGuard = {
9
- readonly snapshot: () => string;
10
- readonly staged: (screen: string, prompt: string) => boolean;
11
- /**
12
- * True when a blocking human-decision dialog is on screen. A dialog can
13
- * appear during the paste-settle window; sending the submitting Enter then
14
- * would confirm the dialog's highlighted option (e.g. approve a tool). The
15
- * Enter is therefore held while this is true and retried once it clears.
16
- */
17
- readonly blocked?: () => boolean;
18
- };
19
- export declare const commandEnterDelayMs = 150;
20
- export declare const pasteSettleDelayMs = 150;
21
- export declare const pasteNudgeDelayMs = 1000;
22
- export declare const pasteNudgeAttempts = 2;
23
- /** How often the submitting Enter re-checks a blocking dialog before firing. */
24
- export declare const blockedPollMs = 50;
25
- /** Explicitly best-effort input for startup/recovery automation. */
26
- export declare function ignoreInputFailure(input: void | Promise<void>): void;
27
- /**
28
- * Neutralizes caller/model text before it is framed as a bracketed paste (§5.3).
29
- * Message text is data, so an embedded `ESC[201~` end sentinel (or a bare control
30
- * byte) MUST NOT terminate paste mode early and turn following bytes into live
31
- * keystrokes — e.g. an Enter that confirms a permission dialog. Tab, newline, and
32
- * carriage return survive as legitimate multi-line text; everything else is
33
- * stripped. `sendKeys` is the raw escape hatch and never goes through here.
34
- */
35
- export declare function sanitizePasteText(text: string): string;
36
- export declare function writeQueuedInput(terminal: InputTerminal, input: string, mode: ControlSubmitMode, guard?: PasteGuard, signal?: AbortSignal, enterDelayMs?: number): Promise<void>;
37
- //# sourceMappingURL=session-input.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"session-input.d.ts","sourceRoot":"","sources":["../../src/core/session-input.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAEL,KAAK,aAAa,EAGnB,MAAM,0BAA0B,CAAC;AAElC,mEAAmE;AACnE,MAAM,MAAM,UAAU,GAAG;IACvB,QAAQ,CAAC,QAAQ,EAAE,MAAM,MAAM,CAAC;IAChC,QAAQ,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC;IAC7D;;;;;OAKG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,OAAO,CAAC;CAClC,CAAC;AAEF,eAAO,MAAM,mBAAmB,MAAM,CAAC;AACvC,eAAO,MAAM,kBAAkB,MAAM,CAAC;AACtC,eAAO,MAAM,iBAAiB,OAAQ,CAAC;AACvC,eAAO,MAAM,kBAAkB,IAAI,CAAC;AACpC,gFAAgF;AAChF,eAAO,MAAM,aAAa,KAAK,CAAC;AAEhC,oEAAoE;AACpE,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAEpE;AASD;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEtD;AAwGD,wBAAsB,gBAAgB,CACpC,QAAQ,EAAE,aAAa,EACvB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,iBAAiB,EACvB,KAAK,CAAC,EAAE,UAAU,EAClB,MAAM,CAAC,EAAE,WAAW,EACpB,YAAY,SAAsB,GACjC,OAAO,CAAC,IAAI,CAAC,CAoBf"}