@with-logic/elwood 0.1.0 → 0.1.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 (777) hide show
  1. package/CHANGELOG.md +182 -3
  2. package/CONTRIBUTING.md +104 -0
  3. package/LICENSE +1 -1
  4. package/README.md +295 -26
  5. package/SECURITY.md +42 -0
  6. package/dist/claude/command.d.ts +9 -2
  7. package/dist/claude/command.d.ts.map +1 -1
  8. package/dist/claude/command.js +23 -16
  9. package/dist/claude/command.js.map +1 -1
  10. package/dist/claude/model-picker.d.ts.map +1 -1
  11. package/dist/claude/model-picker.js +4 -3
  12. package/dist/claude/model-picker.js.map +1 -1
  13. package/dist/claude/model-switch-confirmation.js +9 -1
  14. package/dist/claude/model-switch-confirmation.js.map +1 -1
  15. package/dist/claude/screen-table.js +1 -1
  16. package/dist/claude/screen-table.js.map +1 -1
  17. package/dist/claude/session/build.d.ts.map +1 -1
  18. package/dist/claude/session/build.js +3 -0
  19. package/dist/claude/session/build.js.map +1 -1
  20. package/dist/claude/session/index.d.ts.map +1 -1
  21. package/dist/claude/session/index.js +5 -2
  22. package/dist/claude/session/index.js.map +1 -1
  23. package/dist/claude/session/resume.d.ts +1 -1
  24. package/dist/claude/session/resume.d.ts.map +1 -1
  25. package/dist/claude/session/resume.js +5 -1
  26. package/dist/claude/session/resume.js.map +1 -1
  27. package/dist/claude/session/start-or-resume.js +1 -0
  28. package/dist/claude/session/start-or-resume.js.map +1 -1
  29. package/dist/claude/simple.d.ts.map +1 -1
  30. package/dist/claude/simple.js +4 -0
  31. package/dist/claude/simple.js.map +1 -1
  32. package/dist/cli/args/index.d.ts +3 -1
  33. package/dist/cli/args/index.d.ts.map +1 -1
  34. package/dist/cli/args/index.js +10 -2
  35. package/dist/cli/args/index.js.map +1 -1
  36. package/dist/cli/args/options.d.ts.map +1 -1
  37. package/dist/cli/args/options.js +2 -0
  38. package/dist/cli/args/options.js.map +1 -1
  39. package/dist/cli/args-commands.d.ts +10 -0
  40. package/dist/cli/args-commands.d.ts.map +1 -0
  41. package/dist/cli/args-commands.js +113 -0
  42. package/dist/cli/args-commands.js.map +1 -0
  43. package/dist/cli/command-types.d.ts +26 -0
  44. package/dist/cli/command-types.d.ts.map +1 -0
  45. package/dist/cli/command-types.js +9 -0
  46. package/dist/cli/command-types.js.map +1 -0
  47. package/dist/cli/config/codec-primitives.d.ts +20 -0
  48. package/dist/cli/config/codec-primitives.d.ts.map +1 -0
  49. package/dist/cli/config/codec-primitives.js +51 -0
  50. package/dist/cli/config/codec-primitives.js.map +1 -0
  51. package/dist/cli/config/codec.d.ts.map +1 -1
  52. package/dist/cli/config/codec.js +4 -46
  53. package/dist/cli/config/codec.js.map +1 -1
  54. package/dist/cli/config/effective.d.ts.map +1 -1
  55. package/dist/cli/config/effective.js +1 -0
  56. package/dist/cli/config/effective.js.map +1 -1
  57. package/dist/cli/config/keys.d.ts +1 -1
  58. package/dist/cli/config/keys.d.ts.map +1 -1
  59. package/dist/cli/config/keys.js +1 -0
  60. package/dist/cli/config/keys.js.map +1 -1
  61. package/dist/cli/entry.d.ts +4 -2
  62. package/dist/cli/entry.d.ts.map +1 -1
  63. package/dist/cli/entry.js +2 -1
  64. package/dist/cli/entry.js.map +1 -1
  65. package/dist/cli/help.d.ts +2 -2
  66. package/dist/cli/help.d.ts.map +1 -1
  67. package/dist/cli/help.js +40 -1
  68. package/dist/cli/help.js.map +1 -1
  69. package/dist/cli/interactive/index.d.ts +26 -0
  70. package/dist/cli/interactive/index.d.ts.map +1 -0
  71. package/dist/cli/interactive/index.js +33 -0
  72. package/dist/cli/interactive/index.js.map +1 -0
  73. package/dist/cli/interactive/launch.d.ts +14 -0
  74. package/dist/cli/interactive/launch.d.ts.map +1 -0
  75. package/dist/cli/interactive/launch.js +66 -0
  76. package/dist/cli/interactive/launch.js.map +1 -0
  77. package/dist/cli/interactive/spawn.d.ts +18 -0
  78. package/dist/cli/interactive/spawn.d.ts.map +1 -0
  79. package/dist/cli/interactive/spawn.js +53 -0
  80. package/dist/cli/interactive/spawn.js.map +1 -0
  81. package/dist/cli/main-failure.d.ts +28 -0
  82. package/dist/cli/main-failure.d.ts.map +1 -0
  83. package/dist/cli/main-failure.js +78 -0
  84. package/dist/cli/main-failure.js.map +1 -0
  85. package/dist/cli/main.d.ts +12 -4
  86. package/dist/cli/main.d.ts.map +1 -1
  87. package/dist/cli/main.js +27 -73
  88. package/dist/cli/main.js.map +1 -1
  89. package/dist/cli/models/index.d.ts +20 -0
  90. package/dist/cli/models/index.d.ts.map +1 -0
  91. package/dist/cli/models/index.js +63 -0
  92. package/dist/cli/models/index.js.map +1 -0
  93. package/dist/cli/models/render.d.ts +9 -0
  94. package/dist/cli/models/render.d.ts.map +1 -0
  95. package/dist/cli/models/render.js +33 -0
  96. package/dist/cli/models/render.js.map +1 -0
  97. package/dist/cli/request/index.d.ts.map +1 -1
  98. package/dist/cli/request/index.js +8 -2
  99. package/dist/cli/request/index.js.map +1 -1
  100. package/dist/cli/request/layers.d.ts +2 -0
  101. package/dist/cli/request/layers.d.ts.map +1 -1
  102. package/dist/cli/request/layers.js +9 -5
  103. package/dist/cli/request/layers.js.map +1 -1
  104. package/dist/cli/request/posture.d.ts +28 -0
  105. package/dist/cli/request/posture.d.ts.map +1 -0
  106. package/dist/cli/request/posture.js +70 -0
  107. package/dist/cli/request/posture.js.map +1 -0
  108. package/dist/cli/request/resolution-types.d.ts +1 -0
  109. package/dist/cli/request/resolution-types.d.ts.map +1 -1
  110. package/dist/cli/request/settings.d.ts +2 -12
  111. package/dist/cli/request/settings.d.ts.map +1 -1
  112. package/dist/cli/request/settings.js +2 -25
  113. package/dist/cli/request/settings.js.map +1 -1
  114. package/dist/cli/request/validation.d.ts +12 -0
  115. package/dist/cli/request/validation.d.ts.map +1 -1
  116. package/dist/cli/request/validation.js +30 -10
  117. package/dist/cli/request/validation.js.map +1 -1
  118. package/dist/cli/request/values.d.ts +1 -0
  119. package/dist/cli/request/values.d.ts.map +1 -1
  120. package/dist/cli/request/values.js +1 -0
  121. package/dist/cli/request/values.js.map +1 -1
  122. package/dist/cli/run/index.d.ts.map +1 -1
  123. package/dist/cli/run/index.js +5 -41
  124. package/dist/cli/run/index.js.map +1 -1
  125. package/dist/cli/run/subscribe.d.ts +19 -0
  126. package/dist/cli/run/subscribe.d.ts.map +1 -0
  127. package/dist/cli/run/subscribe.js +47 -0
  128. package/dist/cli/run/subscribe.js.map +1 -0
  129. package/dist/cli/session/launch.d.ts +3 -0
  130. package/dist/cli/session/launch.d.ts.map +1 -1
  131. package/dist/cli/session/launch.js +11 -0
  132. package/dist/cli/session/launch.js.map +1 -1
  133. package/dist/cli/sessions/index.d.ts +30 -0
  134. package/dist/cli/sessions/index.d.ts.map +1 -0
  135. package/dist/cli/sessions/index.js +61 -0
  136. package/dist/cli/sessions/index.js.map +1 -0
  137. package/dist/cli/sessions/list.d.ts +28 -0
  138. package/dist/cli/sessions/list.d.ts.map +1 -0
  139. package/dist/cli/sessions/list.js +63 -0
  140. package/dist/cli/sessions/list.js.map +1 -0
  141. package/dist/cli/sessions/settings.d.ts +11 -0
  142. package/dist/cli/sessions/settings.d.ts.map +1 -0
  143. package/dist/cli/sessions/settings.js +26 -0
  144. package/dist/cli/sessions/settings.js.map +1 -0
  145. package/dist/cli/table.d.ts +7 -0
  146. package/dist/cli/table.d.ts.map +1 -0
  147. package/dist/cli/table.js +14 -0
  148. package/dist/cli/table.js.map +1 -0
  149. package/dist/cli/types.d.ts +5 -1
  150. package/dist/cli/types.d.ts.map +1 -1
  151. package/dist/cli/types.js.map +1 -1
  152. package/dist/codex/command.d.ts +18 -2
  153. package/dist/codex/command.d.ts.map +1 -1
  154. package/dist/codex/command.js +39 -24
  155. package/dist/codex/command.js.map +1 -1
  156. package/dist/codex/model-picker.d.ts.map +1 -1
  157. package/dist/codex/model-picker.js +3 -2
  158. package/dist/codex/model-picker.js.map +1 -1
  159. package/dist/codex/session/build.d.ts.map +1 -1
  160. package/dist/codex/session/build.js +5 -7
  161. package/dist/codex/session/build.js.map +1 -1
  162. package/dist/codex/session/index.d.ts.map +1 -1
  163. package/dist/codex/session/index.js +5 -2
  164. package/dist/codex/session/index.js.map +1 -1
  165. package/dist/codex/session/resume.d.ts +1 -1
  166. package/dist/codex/session/resume.d.ts.map +1 -1
  167. package/dist/codex/session/resume.js +5 -1
  168. package/dist/codex/session/resume.js.map +1 -1
  169. package/dist/codex/session/start-or-resume.js +1 -0
  170. package/dist/codex/session/start-or-resume.js.map +1 -1
  171. package/dist/codex/session/types.d.ts +3 -0
  172. package/dist/codex/session/types.d.ts.map +1 -1
  173. package/dist/codex/simple.d.ts.map +1 -1
  174. package/dist/codex/simple.js +4 -0
  175. package/dist/codex/simple.js.map +1 -1
  176. package/dist/core/errors.d.ts +1 -1
  177. package/dist/core/errors.d.ts.map +1 -1
  178. package/dist/core/errors.js.map +1 -1
  179. package/dist/core/high-trust.d.ts +41 -0
  180. package/dist/core/high-trust.d.ts.map +1 -0
  181. package/dist/core/high-trust.js +50 -0
  182. package/dist/core/high-trust.js.map +1 -0
  183. package/dist/core/input/index.d.ts.map +1 -1
  184. package/dist/core/input/index.js +15 -3
  185. package/dist/core/input/index.js.map +1 -1
  186. package/dist/core/models/input.d.ts +3 -0
  187. package/dist/core/models/input.d.ts.map +1 -0
  188. package/dist/core/models/input.js +9 -0
  189. package/dist/core/models/input.js.map +1 -0
  190. package/dist/core/models/picker.d.ts +2 -1
  191. package/dist/core/models/picker.d.ts.map +1 -1
  192. package/dist/core/models/picker.js +6 -5
  193. package/dist/core/models/picker.js.map +1 -1
  194. package/dist/core/models/tui-screen.d.ts +1 -1
  195. package/dist/core/models/tui-screen.d.ts.map +1 -1
  196. package/dist/core/models/tui-screen.js +26 -3
  197. package/dist/core/models/tui-screen.js.map +1 -1
  198. package/dist/core/trust/allowlist.d.ts +56 -0
  199. package/dist/core/trust/allowlist.d.ts.map +1 -0
  200. package/dist/core/{trust-prompts.js → trust/allowlist.js} +21 -38
  201. package/dist/core/trust/allowlist.js.map +1 -0
  202. package/dist/core/trust/prompts.d.ts +4 -46
  203. package/dist/core/trust/prompts.d.ts.map +1 -1
  204. package/dist/core/trust/prompts.js +2 -73
  205. package/dist/core/trust/prompts.js.map +1 -1
  206. package/dist/core/trust/responder.d.ts +2 -0
  207. package/dist/core/trust/responder.d.ts.map +1 -1
  208. package/dist/core/trust/responder.js +4 -0
  209. package/dist/core/trust/responder.js.map +1 -1
  210. package/dist/core/types.d.ts +3 -0
  211. package/dist/core/types.d.ts.map +1 -1
  212. package/dist/runtime/launch-arguments.d.ts +12 -0
  213. package/dist/runtime/launch-arguments.d.ts.map +1 -0
  214. package/dist/runtime/launch-arguments.js +15 -0
  215. package/dist/runtime/launch-arguments.js.map +1 -0
  216. package/dist/runtime/session/base.d.ts.map +1 -1
  217. package/dist/runtime/session/base.js +4 -1
  218. package/dist/runtime/session/base.js.map +1 -1
  219. package/dist/runtime/session/commands.d.ts +2 -1
  220. package/dist/runtime/session/commands.d.ts.map +1 -1
  221. package/dist/runtime/session/commands.js +10 -4
  222. package/dist/runtime/session/commands.js.map +1 -1
  223. package/dist/runtime/session/lifecycle.d.ts +3 -4
  224. package/dist/runtime/session/lifecycle.d.ts.map +1 -1
  225. package/dist/runtime/session/lifecycle.js +6 -5
  226. package/dist/runtime/session/lifecycle.js.map +1 -1
  227. package/dist/state/directories.d.ts +4 -0
  228. package/dist/state/directories.d.ts.map +1 -0
  229. package/dist/state/directories.js +41 -0
  230. package/dist/state/directories.js.map +1 -0
  231. package/dist/state/files.d.ts.map +1 -1
  232. package/dist/state/files.js +25 -11
  233. package/dist/state/files.js.map +1 -1
  234. package/dist/state/private-session.d.ts.map +1 -1
  235. package/dist/state/private-session.js +2 -0
  236. package/dist/state/private-session.js.map +1 -1
  237. package/dist/state/store.d.ts.map +1 -1
  238. package/dist/state/store.js +7 -1
  239. package/dist/state/store.js.map +1 -1
  240. package/docs/cli-behavior.md +89 -1
  241. package/docs/cli-output.md +60 -0
  242. package/docs/cli.md +10 -2
  243. package/docs/codex/cli.md +57 -0
  244. package/docs/codex/config.md +47 -0
  245. package/docs/codex/hooks.md +70 -0
  246. package/examples/README.md +56 -0
  247. package/examples/full.ts +113 -0
  248. package/examples/minimal.ts +15 -0
  249. package/examples/stream.ts +39 -0
  250. package/examples/support.ts +71 -0
  251. package/package.json +17 -10
  252. package/prd/01-overview.md +21 -0
  253. package/prd/02-goals.md +47 -0
  254. package/prd/03-terminology.md +32 -0
  255. package/prd/04-architecture.md +121 -0
  256. package/prd/05-api/5.1-starting-claude.md +108 -0
  257. package/prd/05-api/5.2-resuming-claude.md +86 -0
  258. package/prd/05-api/5.3-claude-session-api.md +658 -0
  259. package/prd/05-api/5.4-events.md +145 -0
  260. package/prd/05-api/5.5-starting-codex.md +106 -0
  261. package/prd/05-api/5.6-resuming-codex.md +48 -0
  262. package/prd/05-api/5.7-codex-session-api.md +425 -0
  263. package/prd/05-api/5.8-session-api.md +122 -0
  264. package/prd/05-api/5.9-loops.md +170 -0
  265. package/prd/05-api/README.md +19 -0
  266. package/prd/06-claude-hook-bridge.md +164 -0
  267. package/prd/07-claude-policy.md +15 -0
  268. package/prd/07a-codex-hook-bridge.md +76 -0
  269. package/prd/08-state.md +127 -0
  270. package/prd/09-lifecycle.md +222 -0
  271. package/prd/10-errors.md +55 -0
  272. package/prd/11-test-app.md +53 -0
  273. package/prd/12-e2e.md +23 -0
  274. package/prd/12a-cli.md +375 -0
  275. package/prd/13-latitude.md +12 -0
  276. package/prd/14-conformance.md +333 -0
  277. package/prd/15-open-notes.md +8 -0
  278. package/prd/README.md +45 -0
  279. package/dist/claude/hook-dispatch.d.ts +0 -9
  280. package/dist/claude/hook-dispatch.d.ts.map +0 -1
  281. package/dist/claude/hook-dispatch.js +0 -12
  282. package/dist/claude/hook-dispatch.js.map +0 -1
  283. package/dist/claude/hook-events-extra.d.ts +0 -81
  284. package/dist/claude/hook-events-extra.d.ts.map +0 -1
  285. package/dist/claude/hook-events-extra.js +0 -6
  286. package/dist/claude/hook-events-extra.js.map +0 -1
  287. package/dist/claude/hook-events.d.ts +0 -101
  288. package/dist/claude/hook-events.d.ts.map +0 -1
  289. package/dist/claude/hook-events.js +0 -6
  290. package/dist/claude/hook-events.js.map +0 -1
  291. package/dist/claude/hook-names.d.ts +0 -24
  292. package/dist/claude/hook-names.d.ts.map +0 -1
  293. package/dist/claude/hook-names.js +0 -45
  294. package/dist/claude/hook-names.js.map +0 -1
  295. package/dist/claude/hooks.d.ts +0 -78
  296. package/dist/claude/hooks.d.ts.map +0 -1
  297. package/dist/claude/hooks.js +0 -6
  298. package/dist/claude/hooks.js.map +0 -1
  299. package/dist/claude/session-bridge.d.ts +0 -11
  300. package/dist/claude/session-bridge.d.ts.map +0 -1
  301. package/dist/claude/session-bridge.js +0 -18
  302. package/dist/claude/session-bridge.js.map +0 -1
  303. package/dist/claude/session-build.d.ts +0 -15
  304. package/dist/claude/session-build.d.ts.map +0 -1
  305. package/dist/claude/session-build.js +0 -147
  306. package/dist/claude/session-build.js.map +0 -1
  307. package/dist/claude/session-hook-handler.d.ts +0 -34
  308. package/dist/claude/session-hook-handler.d.ts.map +0 -1
  309. package/dist/claude/session-hook-handler.js +0 -42
  310. package/dist/claude/session-hook-handler.js.map +0 -1
  311. package/dist/claude/session-instance.d.ts +0 -42
  312. package/dist/claude/session-instance.d.ts.map +0 -1
  313. package/dist/claude/session-instance.js +0 -146
  314. package/dist/claude/session-instance.js.map +0 -1
  315. package/dist/claude/session-interface.d.ts +0 -49
  316. package/dist/claude/session-interface.d.ts.map +0 -1
  317. package/dist/claude/session-interface.js +0 -10
  318. package/dist/claude/session-interface.js.map +0 -1
  319. package/dist/claude/session-resume.d.ts +0 -8
  320. package/dist/claude/session-resume.d.ts.map +0 -1
  321. package/dist/claude/session-resume.js +0 -47
  322. package/dist/claude/session-resume.js.map +0 -1
  323. package/dist/claude/session-runtime.d.ts +0 -43
  324. package/dist/claude/session-runtime.d.ts.map +0 -1
  325. package/dist/claude/session-runtime.js +0 -105
  326. package/dist/claude/session-runtime.js.map +0 -1
  327. package/dist/claude/session-transcript.d.ts +0 -62
  328. package/dist/claude/session-transcript.d.ts.map +0 -1
  329. package/dist/claude/session-transcript.js +0 -88
  330. package/dist/claude/session-transcript.js.map +0 -1
  331. package/dist/claude/session.d.ts +0 -18
  332. package/dist/claude/session.d.ts.map +0 -1
  333. package/dist/claude/session.js +0 -58
  334. package/dist/claude/session.js.map +0 -1
  335. package/dist/claude/start-or-resume.d.ts +0 -12
  336. package/dist/claude/start-or-resume.d.ts.map +0 -1
  337. package/dist/claude/start-or-resume.js +0 -32
  338. package/dist/claude/start-or-resume.js.map +0 -1
  339. package/dist/claude/tool-hook-events.d.ts +0 -10
  340. package/dist/claude/tool-hook-events.d.ts.map +0 -1
  341. package/dist/claude/tool-hook-events.js +0 -18
  342. package/dist/claude/tool-hook-events.js.map +0 -1
  343. package/dist/claude/tool-types.d.ts +0 -158
  344. package/dist/claude/tool-types.d.ts.map +0 -1
  345. package/dist/claude/tool-types.js +0 -6
  346. package/dist/claude/tool-types.js.map +0 -1
  347. package/dist/claude/validate-input.d.ts +0 -8
  348. package/dist/claude/validate-input.d.ts.map +0 -1
  349. package/dist/claude/validate-input.js +0 -137
  350. package/dist/claude/validate-input.js.map +0 -1
  351. package/dist/claude/validate-permission-update.d.ts +0 -10
  352. package/dist/claude/validate-permission-update.d.ts.map +0 -1
  353. package/dist/claude/validate-permission-update.js +0 -72
  354. package/dist/claude/validate-permission-update.js.map +0 -1
  355. package/dist/claude/validate-result.d.ts +0 -7
  356. package/dist/claude/validate-result.d.ts.map +0 -1
  357. package/dist/claude/validate-result.js +0 -118
  358. package/dist/claude/validate-result.js.map +0 -1
  359. package/dist/claude/validate-shapes.d.ts +0 -22
  360. package/dist/claude/validate-shapes.d.ts.map +0 -1
  361. package/dist/claude/validate-shapes.js +0 -15
  362. package/dist/claude/validate-shapes.js.map +0 -1
  363. package/dist/claude/validate-tool-update.d.ts +0 -15
  364. package/dist/claude/validate-tool-update.d.ts.map +0 -1
  365. package/dist/claude/validate-tool-update.js +0 -122
  366. package/dist/claude/validate-tool-update.js.map +0 -1
  367. package/dist/cli/agent-detect.d.ts +0 -44
  368. package/dist/cli/agent-detect.d.ts.map +0 -1
  369. package/dist/cli/agent-detect.js +0 -66
  370. package/dist/cli/agent-detect.js.map +0 -1
  371. package/dist/cli/arg-errors.d.ts +0 -6
  372. package/dist/cli/arg-errors.d.ts.map +0 -1
  373. package/dist/cli/arg-errors.js +0 -44
  374. package/dist/cli/arg-errors.js.map +0 -1
  375. package/dist/cli/arg-options.d.ts +0 -26
  376. package/dist/cli/arg-options.d.ts.map +0 -1
  377. package/dist/cli/arg-options.js +0 -50
  378. package/dist/cli/arg-options.js.map +0 -1
  379. package/dist/cli/args.d.ts +0 -7
  380. package/dist/cli/args.d.ts.map +0 -1
  381. package/dist/cli/args.js +0 -70
  382. package/dist/cli/args.js.map +0 -1
  383. package/dist/cli/lifecycle-outcome.d.ts +0 -13
  384. package/dist/cli/lifecycle-outcome.d.ts.map +0 -1
  385. package/dist/cli/lifecycle-outcome.js +0 -20
  386. package/dist/cli/lifecycle-outcome.js.map +0 -1
  387. package/dist/cli/lifecycle.d.ts +0 -61
  388. package/dist/cli/lifecycle.d.ts.map +0 -1
  389. package/dist/cli/lifecycle.js +0 -152
  390. package/dist/cli/lifecycle.js.map +0 -1
  391. package/dist/cli/request-finalize.d.ts +0 -10
  392. package/dist/cli/request-finalize.d.ts.map +0 -1
  393. package/dist/cli/request-finalize.js +0 -135
  394. package/dist/cli/request-finalize.js.map +0 -1
  395. package/dist/cli/request-layers.d.ts +0 -30
  396. package/dist/cli/request-layers.d.ts.map +0 -1
  397. package/dist/cli/request-layers.js +0 -44
  398. package/dist/cli/request-layers.js.map +0 -1
  399. package/dist/cli/request-settings.d.ts +0 -34
  400. package/dist/cli/request-settings.d.ts.map +0 -1
  401. package/dist/cli/request-settings.js +0 -66
  402. package/dist/cli/request-settings.js.map +0 -1
  403. package/dist/cli/request-sources.d.ts +0 -13
  404. package/dist/cli/request-sources.d.ts.map +0 -1
  405. package/dist/cli/request-sources.js +0 -23
  406. package/dist/cli/request-sources.js.map +0 -1
  407. package/dist/cli/request-validation.d.ts +0 -18
  408. package/dist/cli/request-validation.d.ts.map +0 -1
  409. package/dist/cli/request-validation.js +0 -84
  410. package/dist/cli/request-validation.js.map +0 -1
  411. package/dist/cli/request-values.d.ts +0 -33
  412. package/dist/cli/request-values.d.ts.map +0 -1
  413. package/dist/cli/request-values.js +0 -73
  414. package/dist/cli/request-values.js.map +0 -1
  415. package/dist/cli/request.d.ts +0 -12
  416. package/dist/cli/request.d.ts.map +0 -1
  417. package/dist/cli/request.js +0 -103
  418. package/dist/cli/request.js.map +0 -1
  419. package/dist/cli/resolution-types.d.ts +0 -35
  420. package/dist/cli/resolution-types.d.ts.map +0 -1
  421. package/dist/cli/resolution-types.js +0 -6
  422. package/dist/cli/resolution-types.js.map +0 -1
  423. package/dist/cli/run-output-lines.d.ts +0 -14
  424. package/dist/cli/run-output-lines.d.ts.map +0 -1
  425. package/dist/cli/run-output-lines.js +0 -42
  426. package/dist/cli/run-output-lines.js.map +0 -1
  427. package/dist/cli/run-output.d.ts +0 -48
  428. package/dist/cli/run-output.d.ts.map +0 -1
  429. package/dist/cli/run-output.js +0 -150
  430. package/dist/cli/run-output.js.map +0 -1
  431. package/dist/cli/run.d.ts +0 -20
  432. package/dist/cli/run.d.ts.map +0 -1
  433. package/dist/cli/run.js +0 -126
  434. package/dist/cli/run.js.map +0 -1
  435. package/dist/cli/session-launch.d.ts +0 -23
  436. package/dist/cli/session-launch.d.ts.map +0 -1
  437. package/dist/cli/session-launch.js +0 -57
  438. package/dist/cli/session-launch.js.map +0 -1
  439. package/dist/cli/session.d.ts +0 -68
  440. package/dist/cli/session.d.ts.map +0 -1
  441. package/dist/cli/session.js +0 -124
  442. package/dist/cli/session.js.map +0 -1
  443. package/dist/codex/attach-images.d.ts +0 -20
  444. package/dist/codex/attach-images.d.ts.map +0 -1
  445. package/dist/codex/attach-images.js +0 -66
  446. package/dist/codex/attach-images.js.map +0 -1
  447. package/dist/codex/clipboard-lock.d.ts +0 -15
  448. package/dist/codex/clipboard-lock.d.ts.map +0 -1
  449. package/dist/codex/clipboard-lock.js +0 -16
  450. package/dist/codex/clipboard-lock.js.map +0 -1
  451. package/dist/codex/clipboard.d.ts +0 -32
  452. package/dist/codex/clipboard.d.ts.map +0 -1
  453. package/dist/codex/clipboard.js +0 -92
  454. package/dist/codex/clipboard.js.map +0 -1
  455. package/dist/codex/config-lock.d.ts +0 -21
  456. package/dist/codex/config-lock.d.ts.map +0 -1
  457. package/dist/codex/config-lock.js +0 -22
  458. package/dist/codex/config-lock.js.map +0 -1
  459. package/dist/codex/config-restore.d.ts +0 -33
  460. package/dist/codex/config-restore.d.ts.map +0 -1
  461. package/dist/codex/config-restore.js +0 -90
  462. package/dist/codex/config-restore.js.map +0 -1
  463. package/dist/codex/config-transaction.d.ts +0 -26
  464. package/dist/codex/config-transaction.d.ts.map +0 -1
  465. package/dist/codex/config-transaction.js +0 -47
  466. package/dist/codex/config-transaction.js.map +0 -1
  467. package/dist/codex/hook-dispatch.d.ts +0 -9
  468. package/dist/codex/hook-dispatch.d.ts.map +0 -1
  469. package/dist/codex/hook-dispatch.js +0 -14
  470. package/dist/codex/hook-dispatch.js.map +0 -1
  471. package/dist/codex/hook-names.d.ts +0 -19
  472. package/dist/codex/hook-names.d.ts.map +0 -1
  473. package/dist/codex/hook-names.js +0 -17
  474. package/dist/codex/hook-names.js.map +0 -1
  475. package/dist/codex/hooks.d.ts +0 -99
  476. package/dist/codex/hooks.d.ts.map +0 -1
  477. package/dist/codex/hooks.js +0 -6
  478. package/dist/codex/hooks.js.map +0 -1
  479. package/dist/codex/initial-ready.d.ts +0 -19
  480. package/dist/codex/initial-ready.d.ts.map +0 -1
  481. package/dist/codex/initial-ready.js +0 -19
  482. package/dist/codex/initial-ready.js.map +0 -1
  483. package/dist/codex/serialize.d.ts +0 -8
  484. package/dist/codex/serialize.d.ts.map +0 -1
  485. package/dist/codex/serialize.js +0 -48
  486. package/dist/codex/serialize.js.map +0 -1
  487. package/dist/codex/session-bridge.d.ts +0 -14
  488. package/dist/codex/session-bridge.d.ts.map +0 -1
  489. package/dist/codex/session-bridge.js +0 -20
  490. package/dist/codex/session-bridge.js.map +0 -1
  491. package/dist/codex/session-build.d.ts +0 -15
  492. package/dist/codex/session-build.d.ts.map +0 -1
  493. package/dist/codex/session-build.js +0 -144
  494. package/dist/codex/session-build.js.map +0 -1
  495. package/dist/codex/session-cleanup.d.ts +0 -12
  496. package/dist/codex/session-cleanup.d.ts.map +0 -1
  497. package/dist/codex/session-cleanup.js +0 -15
  498. package/dist/codex/session-cleanup.js.map +0 -1
  499. package/dist/codex/session-hooks.d.ts +0 -13
  500. package/dist/codex/session-hooks.d.ts.map +0 -1
  501. package/dist/codex/session-hooks.js +0 -54
  502. package/dist/codex/session-hooks.js.map +0 -1
  503. package/dist/codex/session-instance.d.ts +0 -50
  504. package/dist/codex/session-instance.d.ts.map +0 -1
  505. package/dist/codex/session-instance.js +0 -117
  506. package/dist/codex/session-instance.js.map +0 -1
  507. package/dist/codex/session-resume.d.ts +0 -7
  508. package/dist/codex/session-resume.d.ts.map +0 -1
  509. package/dist/codex/session-resume.js +0 -44
  510. package/dist/codex/session-resume.js.map +0 -1
  511. package/dist/codex/session-runtime.d.ts +0 -7
  512. package/dist/codex/session-runtime.d.ts.map +0 -1
  513. package/dist/codex/session-runtime.js +0 -10
  514. package/dist/codex/session-runtime.js.map +0 -1
  515. package/dist/codex/session-transcript.d.ts +0 -30
  516. package/dist/codex/session-transcript.d.ts.map +0 -1
  517. package/dist/codex/session-transcript.js +0 -53
  518. package/dist/codex/session-transcript.js.map +0 -1
  519. package/dist/codex/session-types.d.ts +0 -87
  520. package/dist/codex/session-types.d.ts.map +0 -1
  521. package/dist/codex/session-types.js +0 -6
  522. package/dist/codex/session-types.js.map +0 -1
  523. package/dist/codex/session-warnings.d.ts +0 -27
  524. package/dist/codex/session-warnings.d.ts.map +0 -1
  525. package/dist/codex/session-warnings.js +0 -54
  526. package/dist/codex/session-warnings.js.map +0 -1
  527. package/dist/codex/session.d.ts +0 -16
  528. package/dist/codex/session.d.ts.map +0 -1
  529. package/dist/codex/session.js +0 -61
  530. package/dist/codex/session.js.map +0 -1
  531. package/dist/codex/start-or-resume.d.ts +0 -12
  532. package/dist/codex/start-or-resume.d.ts.map +0 -1
  533. package/dist/codex/start-or-resume.js +0 -31
  534. package/dist/codex/start-or-resume.js.map +0 -1
  535. package/dist/codex/transcript/cursor-io.d.ts +0 -7
  536. package/dist/codex/transcript/cursor-io.d.ts.map +0 -1
  537. package/dist/codex/transcript/cursor-io.js +0 -7
  538. package/dist/codex/transcript/cursor-io.js.map +0 -1
  539. package/dist/codex/transcript/cursor.d.ts +0 -8
  540. package/dist/codex/transcript/cursor.d.ts.map +0 -1
  541. package/dist/codex/transcript/cursor.js +0 -8
  542. package/dist/codex/transcript/cursor.js.map +0 -1
  543. package/dist/codex/transcript/drops.d.ts +0 -9
  544. package/dist/codex/transcript/drops.d.ts.map +0 -1
  545. package/dist/codex/transcript/drops.js +0 -9
  546. package/dist/codex/transcript/drops.js.map +0 -1
  547. package/dist/codex/transcript.d.ts +0 -12
  548. package/dist/codex/transcript.d.ts.map +0 -1
  549. package/dist/codex/transcript.js +0 -10
  550. package/dist/codex/transcript.js.map +0 -1
  551. package/dist/codex/validate-result.d.ts +0 -7
  552. package/dist/codex/validate-result.d.ts.map +0 -1
  553. package/dist/codex/validate-result.js +0 -84
  554. package/dist/codex/validate-result.js.map +0 -1
  555. package/dist/codex/validate.d.ts +0 -11
  556. package/dist/codex/validate.d.ts.map +0 -1
  557. package/dist/codex/validate.js +0 -88
  558. package/dist/codex/validate.js.map +0 -1
  559. package/dist/core/activity-lifecycle.d.ts +0 -21
  560. package/dist/core/activity-lifecycle.d.ts.map +0 -1
  561. package/dist/core/activity-lifecycle.js +0 -45
  562. package/dist/core/activity-lifecycle.js.map +0 -1
  563. package/dist/core/activity-meta.d.ts +0 -13
  564. package/dist/core/activity-meta.d.ts.map +0 -1
  565. package/dist/core/activity-meta.js +0 -67
  566. package/dist/core/activity-meta.js.map +0 -1
  567. package/dist/core/activity-transcript.d.ts +0 -19
  568. package/dist/core/activity-transcript.d.ts.map +0 -1
  569. package/dist/core/activity-transcript.js +0 -60
  570. package/dist/core/activity-transcript.js.map +0 -1
  571. package/dist/core/activity.d.ts +0 -51
  572. package/dist/core/activity.d.ts.map +0 -1
  573. package/dist/core/activity.js +0 -81
  574. package/dist/core/activity.js.map +0 -1
  575. package/dist/core/control-queue-state.d.ts +0 -29
  576. package/dist/core/control-queue-state.d.ts.map +0 -1
  577. package/dist/core/control-queue-state.js +0 -95
  578. package/dist/core/control-queue-state.js.map +0 -1
  579. package/dist/core/control-queue-traits.d.ts +0 -54
  580. package/dist/core/control-queue-traits.d.ts.map +0 -1
  581. package/dist/core/control-queue-traits.js +0 -118
  582. package/dist/core/control-queue-traits.js.map +0 -1
  583. package/dist/core/control-queue-types.d.ts +0 -45
  584. package/dist/core/control-queue-types.d.ts.map +0 -1
  585. package/dist/core/control-queue-types.js +0 -7
  586. package/dist/core/control-queue-types.js.map +0 -1
  587. package/dist/core/control-queue.d.ts +0 -21
  588. package/dist/core/control-queue.d.ts.map +0 -1
  589. package/dist/core/control-queue.js +0 -98
  590. package/dist/core/control-queue.js.map +0 -1
  591. package/dist/core/list-models.d.ts +0 -44
  592. package/dist/core/list-models.d.ts.map +0 -1
  593. package/dist/core/list-models.js +0 -73
  594. package/dist/core/list-models.js.map +0 -1
  595. package/dist/core/model-picker.d.ts +0 -22
  596. package/dist/core/model-picker.d.ts.map +0 -1
  597. package/dist/core/model-picker.js +0 -58
  598. package/dist/core/model-picker.js.map +0 -1
  599. package/dist/core/model-rows.d.ts +0 -21
  600. package/dist/core/model-rows.d.ts.map +0 -1
  601. package/dist/core/model-rows.js +0 -57
  602. package/dist/core/model-rows.js.map +0 -1
  603. package/dist/core/probe-state.d.ts +0 -21
  604. package/dist/core/probe-state.d.ts.map +0 -1
  605. package/dist/core/probe-state.js +0 -39
  606. package/dist/core/probe-state.js.map +0 -1
  607. package/dist/core/session-input-abort.d.ts +0 -10
  608. package/dist/core/session-input-abort.d.ts.map +0 -1
  609. package/dist/core/session-input-abort.js +0 -44
  610. package/dist/core/session-input-abort.js.map +0 -1
  611. package/dist/core/session-input.d.ts +0 -37
  612. package/dist/core/session-input.d.ts.map +0 -1
  613. package/dist/core/session-input.js +0 -154
  614. package/dist/core/session-input.js.map +0 -1
  615. package/dist/core/session-warnings.d.ts +0 -20
  616. package/dist/core/session-warnings.d.ts.map +0 -1
  617. package/dist/core/session-warnings.js +0 -32
  618. package/dist/core/session-warnings.js.map +0 -1
  619. package/dist/core/simple/loop-controls.d.ts +0 -7
  620. package/dist/core/simple/loop-controls.d.ts.map +0 -1
  621. package/dist/core/simple/loop-controls.js +0 -7
  622. package/dist/core/simple/loop-controls.js.map +0 -1
  623. package/dist/core/startup-automation.d.ts +0 -54
  624. package/dist/core/startup-automation.d.ts.map +0 -1
  625. package/dist/core/startup-automation.js +0 -40
  626. package/dist/core/startup-automation.js.map +0 -1
  627. package/dist/core/startup-frame.d.ts +0 -39
  628. package/dist/core/startup-frame.d.ts.map +0 -1
  629. package/dist/core/startup-frame.js +0 -60
  630. package/dist/core/startup-frame.js.map +0 -1
  631. package/dist/core/startup-write.d.ts +0 -47
  632. package/dist/core/startup-write.d.ts.map +0 -1
  633. package/dist/core/startup-write.js +0 -73
  634. package/dist/core/startup-write.js.map +0 -1
  635. package/dist/core/trust-blocking.d.ts +0 -22
  636. package/dist/core/trust-blocking.d.ts.map +0 -1
  637. package/dist/core/trust-blocking.js +0 -38
  638. package/dist/core/trust-blocking.js.map +0 -1
  639. package/dist/core/trust-prompts.d.ts +0 -135
  640. package/dist/core/trust-prompts.d.ts.map +0 -1
  641. package/dist/core/trust-prompts.js.map +0 -1
  642. package/dist/core/trust-responder.d.ts +0 -48
  643. package/dist/core/trust-responder.d.ts.map +0 -1
  644. package/dist/core/trust-responder.js +0 -119
  645. package/dist/core/trust-responder.js.map +0 -1
  646. package/dist/core/tui-screen.d.ts +0 -21
  647. package/dist/core/tui-screen.d.ts.map +0 -1
  648. package/dist/core/tui-screen.js +0 -56
  649. package/dist/core/tui-screen.js.map +0 -1
  650. package/dist/core/update-warning.d.ts +0 -25
  651. package/dist/core/update-warning.d.ts.map +0 -1
  652. package/dist/core/update-warning.js +0 -33
  653. package/dist/core/update-warning.js.map +0 -1
  654. package/dist/core/warning-lifecycle.d.ts +0 -23
  655. package/dist/core/warning-lifecycle.d.ts.map +0 -1
  656. package/dist/core/warning-lifecycle.js +0 -6
  657. package/dist/core/warning-lifecycle.js.map +0 -1
  658. package/dist/core/warning-reasons.d.ts +0 -62
  659. package/dist/core/warning-reasons.d.ts.map +0 -1
  660. package/dist/core/warning-reasons.js +0 -121
  661. package/dist/core/warning-reasons.js.map +0 -1
  662. package/dist/core/warnings.d.ts +0 -145
  663. package/dist/core/warnings.d.ts.map +0 -1
  664. package/dist/core/warnings.js +0 -12
  665. package/dist/core/warnings.js.map +0 -1
  666. package/dist/runtime/cleanup-latch.d.ts +0 -27
  667. package/dist/runtime/cleanup-latch.d.ts.map +0 -1
  668. package/dist/runtime/cleanup-latch.js +0 -43
  669. package/dist/runtime/cleanup-latch.js.map +0 -1
  670. package/dist/runtime/initial-ready-advance.d.ts +0 -22
  671. package/dist/runtime/initial-ready-advance.d.ts.map +0 -1
  672. package/dist/runtime/initial-ready-advance.js +0 -39
  673. package/dist/runtime/initial-ready-advance.js.map +0 -1
  674. package/dist/runtime/initial-ready-fallback.d.ts +0 -12
  675. package/dist/runtime/initial-ready-fallback.d.ts.map +0 -1
  676. package/dist/runtime/initial-ready-fallback.js +0 -20
  677. package/dist/runtime/initial-ready-fallback.js.map +0 -1
  678. package/dist/runtime/initial-ready.d.ts +0 -49
  679. package/dist/runtime/initial-ready.d.ts.map +0 -1
  680. package/dist/runtime/initial-ready.js +0 -81
  681. package/dist/runtime/initial-ready.js.map +0 -1
  682. package/dist/runtime/reap-tree.d.ts +0 -62
  683. package/dist/runtime/reap-tree.d.ts.map +0 -1
  684. package/dist/runtime/reap-tree.js +0 -108
  685. package/dist/runtime/reap-tree.js.map +0 -1
  686. package/dist/runtime/session-base-types.d.ts +0 -36
  687. package/dist/runtime/session-base-types.d.ts.map +0 -1
  688. package/dist/runtime/session-base-types.js +0 -14
  689. package/dist/runtime/session-base-types.js.map +0 -1
  690. package/dist/runtime/session-base.d.ts +0 -48
  691. package/dist/runtime/session-base.d.ts.map +0 -1
  692. package/dist/runtime/session-base.js +0 -76
  693. package/dist/runtime/session-base.js.map +0 -1
  694. package/dist/runtime/session-commands.d.ts +0 -43
  695. package/dist/runtime/session-commands.d.ts.map +0 -1
  696. package/dist/runtime/session-commands.js +0 -52
  697. package/dist/runtime/session-commands.js.map +0 -1
  698. package/dist/runtime/session-exit.d.ts +0 -16
  699. package/dist/runtime/session-exit.d.ts.map +0 -1
  700. package/dist/runtime/session-exit.js +0 -32
  701. package/dist/runtime/session-exit.js.map +0 -1
  702. package/dist/runtime/session-image-attach.d.ts +0 -45
  703. package/dist/runtime/session-image-attach.d.ts.map +0 -1
  704. package/dist/runtime/session-image-attach.js +0 -82
  705. package/dist/runtime/session-image-attach.js.map +0 -1
  706. package/dist/runtime/session-lifecycle.d.ts +0 -61
  707. package/dist/runtime/session-lifecycle.d.ts.map +0 -1
  708. package/dist/runtime/session-lifecycle.js +0 -164
  709. package/dist/runtime/session-lifecycle.js.map +0 -1
  710. package/dist/runtime/session-loops.d.ts +0 -32
  711. package/dist/runtime/session-loops.d.ts.map +0 -1
  712. package/dist/runtime/session-loops.js +0 -62
  713. package/dist/runtime/session-loops.js.map +0 -1
  714. package/dist/runtime/session-readiness.d.ts +0 -18
  715. package/dist/runtime/session-readiness.d.ts.map +0 -1
  716. package/dist/runtime/session-readiness.js +0 -22
  717. package/dist/runtime/session-readiness.js.map +0 -1
  718. package/dist/runtime/session-reap.d.ts +0 -28
  719. package/dist/runtime/session-reap.d.ts.map +0 -1
  720. package/dist/runtime/session-reap.js +0 -51
  721. package/dist/runtime/session-reap.js.map +0 -1
  722. package/dist/runtime/session-resize.d.ts +0 -20
  723. package/dist/runtime/session-resize.d.ts.map +0 -1
  724. package/dist/runtime/session-resize.js +0 -26
  725. package/dist/runtime/session-resize.js.map +0 -1
  726. package/dist/runtime/session-shutdown-binding.d.ts +0 -30
  727. package/dist/runtime/session-shutdown-binding.d.ts.map +0 -1
  728. package/dist/runtime/session-shutdown-binding.js +0 -37
  729. package/dist/runtime/session-shutdown-binding.js.map +0 -1
  730. package/dist/runtime/session-shutdown.d.ts +0 -60
  731. package/dist/runtime/session-shutdown.d.ts.map +0 -1
  732. package/dist/runtime/session-shutdown.js +0 -140
  733. package/dist/runtime/session-shutdown.js.map +0 -1
  734. package/dist/runtime/session-status-wiring.d.ts +0 -38
  735. package/dist/runtime/session-status-wiring.d.ts.map +0 -1
  736. package/dist/runtime/session-status-wiring.js +0 -41
  737. package/dist/runtime/session-status-wiring.js.map +0 -1
  738. package/dist/runtime/session-status.d.ts +0 -7
  739. package/dist/runtime/session-status.d.ts.map +0 -1
  740. package/dist/runtime/session-status.js +0 -22
  741. package/dist/runtime/session-status.js.map +0 -1
  742. package/dist/runtime/shutdown-coordinator.d.ts +0 -57
  743. package/dist/runtime/shutdown-coordinator.d.ts.map +0 -1
  744. package/dist/runtime/shutdown-coordinator.js +0 -77
  745. package/dist/runtime/shutdown-coordinator.js.map +0 -1
  746. package/dist/runtime/startup-buffer.d.ts +0 -33
  747. package/dist/runtime/startup-buffer.d.ts.map +0 -1
  748. package/dist/runtime/startup-buffer.js +0 -53
  749. package/dist/runtime/startup-buffer.js.map +0 -1
  750. package/dist/runtime/startup-cleanup.d.ts +0 -43
  751. package/dist/runtime/startup-cleanup.d.ts.map +0 -1
  752. package/dist/runtime/startup-cleanup.js +0 -89
  753. package/dist/runtime/startup-cleanup.js.map +0 -1
  754. package/dist/runtime/startup.d.ts +0 -17
  755. package/dist/runtime/startup.d.ts.map +0 -1
  756. package/dist/runtime/startup.js +0 -47
  757. package/dist/runtime/startup.js.map +0 -1
  758. package/dist/runtime/status-emit.d.ts +0 -14
  759. package/dist/runtime/status-emit.d.ts.map +0 -1
  760. package/dist/runtime/status-emit.js +0 -15
  761. package/dist/runtime/status-emit.js.map +0 -1
  762. package/dist/runtime/teardown.d.ts +0 -15
  763. package/dist/runtime/teardown.d.ts.map +0 -1
  764. package/dist/runtime/teardown.js +0 -40
  765. package/dist/runtime/teardown.js.map +0 -1
  766. package/dist/runtime/terminate.d.ts +0 -22
  767. package/dist/runtime/terminate.d.ts.map +0 -1
  768. package/dist/runtime/terminate.js +0 -129
  769. package/dist/runtime/terminate.js.map +0 -1
  770. package/dist/runtime/update-lock.d.ts +0 -19
  771. package/dist/runtime/update-lock.d.ts.map +0 -1
  772. package/dist/runtime/update-lock.js +0 -183
  773. package/dist/runtime/update-lock.js.map +0 -1
  774. package/dist/runtime/update-once.d.ts +0 -40
  775. package/dist/runtime/update-once.d.ts.map +0 -1
  776. package/dist/runtime/update-once.js +0 -88
  777. package/dist/runtime/update-once.js.map +0 -1
@@ -1,145 +0,0 @@
1
- /**
2
- * The typed non-fatal warning contract shared across adapters.
3
- * Implements PRD §5.7 and §8.2: every warning is a named variant carrying only
4
- * diagnostics (cause/phase labels, error codes, recovery hints) — no counts or
5
- * byte magnitudes — and never raw prompts, transcripts, or conversation content.
6
- * Most error-code fields are allowlisted tokens (`warning-reasons.ts`); the one
7
- * exception is `transcript_read_error.lastErrorCode`, which the PRD types as the
8
- * raw fs errno string (a system-controlled code, never transcript content).
9
- * Warnings are live-only: emitted once when observed, never persisted.
10
- */
11
- import type { ElwoodAgentKind } from "./activity.ts";
12
- import type { StartupPromptLabelFor } from "./startup-automation.ts";
13
- import type { AgentUpdateFailedWarning } from "./warning-lifecycle.ts";
14
- import type { DropCause, PollErrorReason, PollPhase, ReapErrorCode, ResizeErrorCode } from "./warning-reasons.ts";
15
- export type ElwoodWarningEvent = {
16
- readonly elwoodSessionId: string;
17
- readonly agent: ElwoodAgentKind;
18
- readonly source: "lifecycle";
19
- readonly code: "version_unparseable";
20
- readonly severity: "warning";
21
- readonly message: string;
22
- readonly raw: string;
23
- } | AgentUpdateFailedWarning | {
24
- readonly elwoodSessionId: string;
25
- readonly agent: "codex";
26
- readonly source: "terminal";
27
- readonly code: "mcp_server_not_logged_in";
28
- readonly severity: "warning";
29
- readonly message: string;
30
- readonly mcpServerName: string;
31
- readonly recoveryCommand: string;
32
- readonly raw: string;
33
- } | {
34
- readonly elwoodSessionId: string;
35
- readonly agent: "claude";
36
- readonly source: "terminal";
37
- readonly code: "login_expired";
38
- readonly severity: "warning";
39
- readonly message: string;
40
- readonly recoveryCommand: "/login";
41
- readonly raw: string;
42
- } | {
43
- readonly elwoodSessionId: string;
44
- readonly agent: "codex";
45
- readonly source: "terminal";
46
- readonly code: "mcp_startup_incomplete";
47
- readonly severity: "warning";
48
- readonly message: string;
49
- readonly failedServers: readonly string[];
50
- readonly recoveryCommands: readonly string[];
51
- readonly raw: string;
52
- } | {
53
- readonly elwoodSessionId: string;
54
- readonly agent: "codex";
55
- readonly source: "lifecycle";
56
- readonly code: "codex_default_model_persisted";
57
- readonly severity: "warning";
58
- readonly message: string;
59
- readonly raw: string;
60
- } | {
61
- readonly elwoodSessionId: string;
62
- readonly agent: "codex";
63
- readonly source: "lifecycle";
64
- readonly code: "clipboard_restore_failed";
65
- readonly severity: "warning";
66
- readonly message: string;
67
- readonly raw: string;
68
- } | {
69
- readonly elwoodSessionId: string;
70
- readonly agent: ElwoodAgentKind;
71
- readonly source: "terminal";
72
- readonly code: "transcript_records_dropped";
73
- readonly severity: "warning";
74
- readonly message: string;
75
- readonly cause: DropCause;
76
- readonly transcriptPath: string;
77
- readonly raw: string;
78
- } | {
79
- readonly elwoodSessionId: string;
80
- readonly agent: ElwoodAgentKind;
81
- readonly source: "terminal";
82
- readonly code: "transcript_read_error";
83
- readonly severity: "warning";
84
- readonly message: string;
85
- readonly lastErrorCode: string;
86
- readonly transcriptPath: string;
87
- readonly raw: string;
88
- } | {
89
- readonly elwoodSessionId: string;
90
- readonly agent: ElwoodAgentKind;
91
- readonly source: "terminal";
92
- readonly code: "transcript_poll_stopped";
93
- readonly severity: "warning";
94
- readonly message: string;
95
- readonly reason: PollErrorReason;
96
- readonly phase: PollPhase;
97
- readonly raw: string;
98
- } | StartupPromptWriteFailed<"claude"> | StartupPromptWriteFailed<"codex"> | {
99
- readonly elwoodSessionId: string;
100
- readonly agent: ElwoodAgentKind;
101
- readonly source: "lifecycle";
102
- readonly code: "reap_failed";
103
- readonly severity: "warning";
104
- readonly message: string;
105
- readonly processGroupId: number;
106
- readonly errorCode: ReapErrorCode;
107
- readonly raw: string;
108
- } | {
109
- readonly elwoodSessionId: string;
110
- readonly agent: "claude";
111
- readonly source: "lifecycle";
112
- readonly code: "resize_restore_failed";
113
- readonly severity: "warning";
114
- readonly message: string;
115
- readonly requestedCols: number;
116
- readonly requestedRows: number;
117
- readonly errorCode: ResizeErrorCode;
118
- readonly raw: string;
119
- } | {
120
- readonly elwoodSessionId: string;
121
- readonly agent: ElwoodAgentKind;
122
- readonly source: "lifecycle";
123
- readonly code: "initial_ready_fallback";
124
- readonly severity: "warning";
125
- readonly message: string;
126
- readonly raw: string;
127
- };
128
- /**
129
- * A rejected startup-prompt PTY write, discriminated by agent so the LABEL is
130
- * agent-correlated: an impossible pairing like Claude + `update` or Codex +
131
- * `browser_tools` is unrepresentable (§5.4). The label is a bounded id from the
132
- * agent's fixed startup-prompt set only — never raw prompt/screen content — and
133
- * the prompt is left retryable so a later frame re-attempts the write.
134
- */
135
- export type StartupPromptWriteFailed<A extends ElwoodAgentKind> = {
136
- readonly elwoodSessionId: string;
137
- readonly agent: A;
138
- readonly source: "terminal";
139
- readonly code: "startup_prompt_write_failed";
140
- readonly severity: "warning";
141
- readonly message: string;
142
- readonly label: StartupPromptLabelFor<A>;
143
- readonly raw: string;
144
- };
145
- //# sourceMappingURL=warnings.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"warnings.d.ts","sourceRoot":"","sources":["../../src/core/warnings.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AACrE,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AACvE,OAAO,KAAK,EACV,SAAS,EACT,eAAe,EACf,SAAS,EACT,aAAa,EACb,eAAe,EAChB,MAAM,sBAAsB,CAAC;AAE9B,MAAM,MAAM,kBAAkB,GAC1B;IACE,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,KAAK,EAAE,eAAe,CAAC;IAChC,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,QAAQ,CAAC,IAAI,EAAE,qBAAqB,CAAC;IACrC,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAC;IAC7B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;CACtB,GACD,wBAAwB,GACxB;IACE,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;IAC5B,QAAQ,CAAC,IAAI,EAAE,0BAA0B,CAAC;IAC1C,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAC;IAC7B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;CACtB,GACD;IACE,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;IAC5B,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAC;IAC/B,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAC;IAC7B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAKzB,QAAQ,CAAC,eAAe,EAAE,QAAQ,CAAC;IACnC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;CACtB,GACD;IACE,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;IAC5B,QAAQ,CAAC,IAAI,EAAE,wBAAwB,CAAC;IACxC,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAC;IAC7B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,aAAa,EAAE,SAAS,MAAM,EAAE,CAAC;IAC1C,QAAQ,CAAC,gBAAgB,EAAE,SAAS,MAAM,EAAE,CAAC;IAC7C,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;CACtB,GACD;IACE,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,QAAQ,CAAC,IAAI,EAAE,+BAA+B,CAAC;IAC/C,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAC;IAC7B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;CACtB,GACD;IAGE,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,QAAQ,CAAC,IAAI,EAAE,0BAA0B,CAAC;IAC1C,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAC;IAC7B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;CACtB,GACD;IACE,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IAEjC,QAAQ,CAAC,KAAK,EAAE,eAAe,CAAC;IAChC,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;IAC5B,QAAQ,CAAC,IAAI,EAAE,4BAA4B,CAAC;IAC5C,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAC;IAC7B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAKzB,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC;IAC1B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;CACtB,GACD;IACE,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,KAAK,EAAE,eAAe,CAAC;IAChC,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;IAC5B,QAAQ,CAAC,IAAI,EAAE,uBAAuB,CAAC;IACvC,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAC;IAC7B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAKzB,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;CACtB,GACD;IACE,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,KAAK,EAAE,eAAe,CAAC;IAChC,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;IAC5B,QAAQ,CAAC,IAAI,EAAE,yBAAyB,CAAC;IACzC,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAC;IAC7B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAEzB,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAC;IAIjC,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC;IAC1B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;CACtB,GACD,wBAAwB,CAAC,QAAQ,CAAC,GAClC,wBAAwB,CAAC,OAAO,CAAC,GACjC;IACE,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,KAAK,EAAE,eAAe,CAAC;IAChC,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;IAC7B,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAC;IAC7B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAIzB,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,SAAS,EAAE,aAAa,CAAC;IAClC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;CACtB,GACD;IACE,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,QAAQ,CAAC,IAAI,EAAE,uBAAuB,CAAC;IACvC,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAC;IAC7B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAKzB,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,SAAS,EAAE,eAAe,CAAC;IACpC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;CACtB,GACD;IACE,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,KAAK,EAAE,eAAe,CAAC;IAChC,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,QAAQ,CAAC,IAAI,EAAE,wBAAwB,CAAC;IACxC,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAC;IAC7B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAKzB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;CACtB,CAAC;AAEN;;;;;;GAMG;AACH,MAAM,MAAM,wBAAwB,CAAC,CAAC,SAAS,eAAe,IAAI;IAChE,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;IAClB,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;IAC5B,QAAQ,CAAC,IAAI,EAAE,6BAA6B,CAAC;IAC7C,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAC;IAC7B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,qBAAqB,CAAC,CAAC,CAAC,CAAC;IACzC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;CACtB,CAAC"}
@@ -1,12 +0,0 @@
1
- /**
2
- * The typed non-fatal warning contract shared across adapters.
3
- * Implements PRD §5.7 and §8.2: every warning is a named variant carrying only
4
- * diagnostics (cause/phase labels, error codes, recovery hints) — no counts or
5
- * byte magnitudes — and never raw prompts, transcripts, or conversation content.
6
- * Most error-code fields are allowlisted tokens (`warning-reasons.ts`); the one
7
- * exception is `transcript_read_error.lastErrorCode`, which the PRD types as the
8
- * raw fs errno string (a system-controlled code, never transcript content).
9
- * Warnings are live-only: emitted once when observed, never persisted.
10
- */
11
- export {};
12
- //# sourceMappingURL=warnings.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"warnings.js","sourceRoot":"","sources":["../../src/core/warnings.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG"}
@@ -1,27 +0,0 @@
1
- /**
2
- * Coalesces runtime-cleanup attempts while keeping a FAILED cleanup retryable.
3
- * PRD §9.4 requires that a settled cleanup failure is not permanently sticky — a
4
- * later explicit stop/kill/teardown must run a fresh attempt. A plain `??=` cache
5
- * would latch a rejected promise forever, so this latch clears its cache the moment
6
- * the attempt rejects. `cachedAttempt` is therefore only ever the reusable non-rejected
7
- * attempt (in flight or successfully settled). Implements PRD §9.4.
8
- */
9
- export declare class CleanupLatch {
10
- private cachedAttempt;
11
- private readonly run;
12
- constructor(run: () => Promise<void>);
13
- /**
14
- * Runs cleanup, coalescing concurrent callers onto one in-flight attempt. On
15
- * failure the cache is cleared so the NEXT call re-runs `run` instead of
16
- * replaying the old rejection; the rejection still propagates to this caller.
17
- */
18
- attempt(): Promise<void>;
19
- /**
20
- * Runs cleanup from a path with no caller to reject to (an unsolicited exit).
21
- * Owns the rejection so it never becomes an unhandled rejection; the failure is
22
- * swallowed because `attempt` cleared its cache, so a later explicit shutdown
23
- * retries cleanup and surfaces any persistent failure through its own error.
24
- */
25
- float(): void;
26
- }
27
- //# sourceMappingURL=cleanup-latch.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cleanup-latch.d.ts","sourceRoot":"","sources":["../../src/runtime/cleanup-latch.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,qBAAa,YAAY;IACvB,OAAO,CAAC,aAAa,CAA4B;IACjD,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAsB;gBAE9B,GAAG,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC;IAIpC;;;;OAIG;IACH,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAaxB;;;;;OAKG;IACH,KAAK,IAAI,IAAI;CAGd"}
@@ -1,43 +0,0 @@
1
- /**
2
- * Coalesces runtime-cleanup attempts while keeping a FAILED cleanup retryable.
3
- * PRD §9.4 requires that a settled cleanup failure is not permanently sticky — a
4
- * later explicit stop/kill/teardown must run a fresh attempt. A plain `??=` cache
5
- * would latch a rejected promise forever, so this latch clears its cache the moment
6
- * the attempt rejects. `cachedAttempt` is therefore only ever the reusable non-rejected
7
- * attempt (in flight or successfully settled). Implements PRD §9.4.
8
- */
9
- export class CleanupLatch {
10
- cachedAttempt;
11
- run;
12
- constructor(run) {
13
- this.run = run;
14
- }
15
- /**
16
- * Runs cleanup, coalescing concurrent callers onto one in-flight attempt. On
17
- * failure the cache is cleared so the NEXT call re-runs `run` instead of
18
- * replaying the old rejection; the rejection still propagates to this caller.
19
- */
20
- attempt() {
21
- // A cached attempt is reused only when it is in flight or already settled
22
- // SUCCESSFULLY; a rejecting attempt clears the cache below before any other
23
- // caller can observe it, so no identity guard is needed on the clear.
24
- if (this.cachedAttempt)
25
- return this.cachedAttempt;
26
- const attempt = this.run().catch((error) => {
27
- this.cachedAttempt = undefined;
28
- throw error;
29
- });
30
- this.cachedAttempt = attempt;
31
- return attempt;
32
- }
33
- /**
34
- * Runs cleanup from a path with no caller to reject to (an unsolicited exit).
35
- * Owns the rejection so it never becomes an unhandled rejection; the failure is
36
- * swallowed because `attempt` cleared its cache, so a later explicit shutdown
37
- * retries cleanup and surfaces any persistent failure through its own error.
38
- */
39
- float() {
40
- void this.attempt().catch(() => undefined);
41
- }
42
- }
43
- //# sourceMappingURL=cleanup-latch.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cleanup-latch.js","sourceRoot":"","sources":["../../src/runtime/cleanup-latch.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,MAAM,OAAO,YAAY;IACf,aAAa,CAA4B;IAChC,GAAG,CAAsB;IAE1C,YAAY,GAAwB;QAClC,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;IACjB,CAAC;IAED;;;;OAIG;IACH,OAAO;QACL,0EAA0E;QAC1E,4EAA4E;QAC5E,sEAAsE;QACtE,IAAI,IAAI,CAAC,aAAa;YAAE,OAAO,IAAI,CAAC,aAAa,CAAC;QAClD,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;YAClD,IAAI,CAAC,aAAa,GAAG,SAAS,CAAC;YAC/B,MAAM,KAAK,CAAC;QACd,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC;QAC7B,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;;;;OAKG;IACH,KAAK;QACH,KAAK,IAAI,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;IAC7C,CAAC;CACF"}
@@ -1,22 +0,0 @@
1
- /**
2
- * The one-shot initial-ready transition with an anti-starvation completion boundary,
3
- * shared by BOTH adapters (PRD §5.3, C-API-42). The status engine commits
4
- * `current = ready` BEFORE it emits and releases the queue, so a lifecycle-listener
5
- * throw there would leave the queue suspended AND make a retry a no-op (status is
6
- * already `ready`). On any throw this releases the queue DIRECTLY and surfaces the
7
- * risk as a typed, content-free `initial_ready_fallback` warning (emitted lifecycle
8
- * events may be stale), so queued input is never starved by a partially-committed
9
- * ready transition.
10
- */
11
- import type { ElwoodAgentKind } from "../core/activity.ts";
12
- import type { ElwoodWarningEvent } from "../core/types.ts";
13
- /** The narrow session surface the initial-ready advance needs. */
14
- export type InitialReadyAdvanceDeps = {
15
- readonly agent: ElwoodAgentKind;
16
- readonly elwoodSessionId: string;
17
- readonly submitInitialReady: () => void;
18
- readonly markReady: () => void;
19
- readonly emitWarnings: (warnings: readonly ElwoodWarningEvent[]) => void;
20
- };
21
- export declare function advanceInitialReady(deps: InitialReadyAdvanceDeps): void;
22
- //# sourceMappingURL=initial-ready-advance.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"initial-ready-advance.d.ts","sourceRoot":"","sources":["../../src/runtime/initial-ready-advance.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAE3D,kEAAkE;AAClE,MAAM,MAAM,uBAAuB,GAAG;IACpC,QAAQ,CAAC,KAAK,EAAE,eAAe,CAAC;IAChC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,kBAAkB,EAAE,MAAM,IAAI,CAAC;IACxC,QAAQ,CAAC,SAAS,EAAE,MAAM,IAAI,CAAC;IAC/B,QAAQ,CAAC,YAAY,EAAE,CAAC,QAAQ,EAAE,SAAS,kBAAkB,EAAE,KAAK,IAAI,CAAC;CAC1E,CAAC;AAEF,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,uBAAuB,GAAG,IAAI,CAavE"}
@@ -1,39 +0,0 @@
1
- /**
2
- * The one-shot initial-ready transition with an anti-starvation completion boundary,
3
- * shared by BOTH adapters (PRD §5.3, C-API-42). The status engine commits
4
- * `current = ready` BEFORE it emits and releases the queue, so a lifecycle-listener
5
- * throw there would leave the queue suspended AND make a retry a no-op (status is
6
- * already `ready`). On any throw this releases the queue DIRECTLY and surfaces the
7
- * risk as a typed, content-free `initial_ready_fallback` warning (emitted lifecycle
8
- * events may be stale), so queued input is never starved by a partially-committed
9
- * ready transition.
10
- */
11
- export function advanceInitialReady(deps) {
12
- try {
13
- deps.submitInitialReady();
14
- }
15
- catch {
16
- // A lifecycle-event LISTENER threw after `current` committed to `ready`; release
17
- // the queue unconditionally so queued input is never starved, then warn.
18
- deps.markReady();
19
- try {
20
- deps.emitWarnings([fallbackWarning(deps.agent, deps.elwoodSessionId)]);
21
- }
22
- catch {
23
- // A warning-sink/listener failure must never block the readiness release.
24
- }
25
- }
26
- }
27
- /** Live-only and content-free: no raw system message, no listener error text. */
28
- function fallbackWarning(agent, elwoodSessionId) {
29
- return {
30
- elwoodSessionId,
31
- agent,
32
- source: "lifecycle",
33
- code: "initial_ready_fallback",
34
- severity: "warning",
35
- message: "Recording the initial-ready transition failed; released the queue directly, so lifecycle events may be stale.",
36
- raw: "initial_ready_fallback",
37
- };
38
- }
39
- //# sourceMappingURL=initial-ready-advance.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"initial-ready-advance.js","sourceRoot":"","sources":["../../src/runtime/initial-ready-advance.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAcH,MAAM,UAAU,mBAAmB,CAAC,IAA6B;IAC/D,IAAI,CAAC;QACH,IAAI,CAAC,kBAAkB,EAAE,CAAC;IAC5B,CAAC;IAAC,MAAM,CAAC;QACP,iFAAiF;QACjF,yEAAyE;QACzE,IAAI,CAAC,SAAS,EAAE,CAAC;QACjB,IAAI,CAAC;YACH,IAAI,CAAC,YAAY,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;QACzE,CAAC;QAAC,MAAM,CAAC;YACP,0EAA0E;QAC5E,CAAC;IACH,CAAC;AACH,CAAC;AAED,iFAAiF;AACjF,SAAS,eAAe,CAAC,KAAsB,EAAE,eAAuB;IACtE,OAAO;QACL,eAAe;QACf,KAAK;QACL,MAAM,EAAE,WAAW;QACnB,IAAI,EAAE,wBAAwB;QAC9B,QAAQ,EAAE,SAAS;QACnB,OAAO,EACL,+GAA+G;QACjH,GAAG,EAAE,wBAAwB;KAC9B,CAAC;AACJ,CAAC"}
@@ -1,12 +0,0 @@
1
- /**
2
- * The live, content-free warning for a fallback initial-ready transition.
3
- * Implements PRD §5.3 and C-API-42: when recording a session's one-shot initial-ready
4
- * transition throws (a lifecycle-event listener), Elwood still releases the control
5
- * queue directly so queued input is never starved, but emitted lifecycle events may be
6
- * stale. This surfaces that risk as a typed `initial_ready_fallback` warning carrying
7
- * no raw system message or session content. Both adapters.
8
- */
9
- import type { ElwoodAgentKind } from "../core/activity.ts";
10
- import type { ElwoodWarningEvent } from "../core/types.ts";
11
- export declare function initialReadyFallbackWarning(agent: ElwoodAgentKind, elwoodSessionId: string): ElwoodWarningEvent;
12
- //# sourceMappingURL=initial-ready-fallback.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"initial-ready-fallback.d.ts","sourceRoot":"","sources":["../../src/runtime/initial-ready-fallback.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAE3D,wBAAgB,2BAA2B,CACzC,KAAK,EAAE,eAAe,EACtB,eAAe,EAAE,MAAM,GACtB,kBAAkB,CAWpB"}
@@ -1,20 +0,0 @@
1
- /**
2
- * The live, content-free warning for a fallback initial-ready transition.
3
- * Implements PRD §5.3 and C-API-42: when recording a session's one-shot initial-ready
4
- * transition throws (a lifecycle-event listener), Elwood still releases the control
5
- * queue directly so queued input is never starved, but emitted lifecycle events may be
6
- * stale. This surfaces that risk as a typed `initial_ready_fallback` warning carrying
7
- * no raw system message or session content. Both adapters.
8
- */
9
- export function initialReadyFallbackWarning(agent, elwoodSessionId) {
10
- return {
11
- elwoodSessionId,
12
- agent,
13
- source: "lifecycle",
14
- code: "initial_ready_fallback",
15
- severity: "warning",
16
- message: "Recording the initial-ready transition failed; released the queue directly, so lifecycle events may be stale.",
17
- raw: "initial_ready_fallback",
18
- };
19
- }
20
- //# sourceMappingURL=initial-ready-fallback.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"initial-ready-fallback.js","sourceRoot":"","sources":["../../src/runtime/initial-ready-fallback.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAKH,MAAM,UAAU,2BAA2B,CACzC,KAAsB,EACtB,eAAuB;IAEvB,OAAO;QACL,eAAe;QACf,KAAK;QACL,MAAM,EAAE,WAAW;QACnB,IAAI,EAAE,wBAAwB;QAC9B,QAAQ,EAAE,SAAS;QACnB,OAAO,EACL,+GAA+G;QACjH,GAAG,EAAE,wBAAwB;KAC9B,CAAC;AACJ,CAAC"}
@@ -1,49 +0,0 @@
1
- /**
2
- * Shared hook-backed initial-readiness marker with a starvation deadline.
3
- * Implements PRD §5.3, C-API-19, and C-API-28.
4
- *
5
- * On a COLD start both adapters gate the first queued message on a pre-input
6
- * readiness hook — Claude's `InstructionsLoaded`, Codex's `SessionStart` — the CLI's
7
- * authoritative "initialized and accepting input" signal, fired via `mark`. The
8
- * rendered composer is NOT a readiness signal on cold start: it paints as a boot
9
- * placeholder before input is accepted, so releasing the first queued message on it
10
- * would swallow the message. On RESUME the input loop is live when the composer paints,
11
- * so `markReadyOnResumeComposer` releases readiness on the first composer marker
12
- * (verified accepted, not swallowed) — UNLESS a blocking dialog is on screen, whose
13
- * option caret is byte-identical to the composer marker. The hooks differ on resume:
14
- * Codex does NOT re-fire `SessionStart` (so the composer is the fast signal), while
15
- * Claude's `InstructionsLoaded` DOES re-fire — so a resumed Claude is a hook/composer
16
- * race, whichever arrives first (readiness is idempotent). `armDeadline` is the ultimate
17
- * fallback for both start and resume so a missing readiness signal never starves the
18
- * queue forever.
19
- */
20
- export type InitialReady = {
21
- readonly cancel: () => void;
22
- readonly replay: () => void;
23
- readonly armDeadline: () => void;
24
- /** Fire readiness now (one-shot) — the pre-input readiness hook path. */
25
- readonly mark: () => void;
26
- /**
27
- * Re-attempt a readiness mark that a hook/deadline requested while a blocking
28
- * dialog was on screen. Call per rendered frame with the frame's blocking fact:
29
- * once the dialog clears, the deferred readiness fires so the queue is never
30
- * drained INTO the dialog and is never permanently starved BY it (C-API-28).
31
- */
32
- readonly retryWhenUnblocked: (blockingVisible: boolean) => void;
33
- };
34
- /** The rendered-frame facts the resume-composer readiness path inspects. */
35
- export type ComposerReadyFacts = {
36
- readonly composer_visible: boolean;
37
- readonly blocking_prompt_visible: boolean;
38
- };
39
- /**
40
- * On RESUME, mark readiness on the first genuine composer frame: the composer is
41
- * visible AND no blocking dialog is on screen. The dialog's option caret (`›`/`❯`) is
42
- * byte-identical to the composer marker, so a dialog frame must NOT latch readiness —
43
- * otherwise a draining queued message's Enter could approve the dialog; readiness waits
44
- * for the dialog to clear. Cold start (`resumed: false`) never fires here, so the
45
- * composer stays an unsafe signal there (C-API-28).
46
- */
47
- export declare function markReadyOnResumeComposer(ready: Pick<InitialReady, "mark">, resumed: boolean, facts: ComposerReadyFacts): void;
48
- export declare function initialReady(callback: () => void, maxWaitMs?: number, isBlocked?: () => boolean): InitialReady;
49
- //# sourceMappingURL=initial-ready.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"initial-ready.d.ts","sourceRoot":"","sources":["../../src/runtime/initial-ready.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,MAAM,MAAM,YAAY,GAAG;IACzB,QAAQ,CAAC,MAAM,EAAE,MAAM,IAAI,CAAC;IAC5B,QAAQ,CAAC,MAAM,EAAE,MAAM,IAAI,CAAC;IAC5B,QAAQ,CAAC,WAAW,EAAE,MAAM,IAAI,CAAC;IACjC,yEAAyE;IACzE,QAAQ,CAAC,IAAI,EAAE,MAAM,IAAI,CAAC;IAC1B;;;;;OAKG;IACH,QAAQ,CAAC,kBAAkB,EAAE,CAAC,eAAe,EAAE,OAAO,KAAK,IAAI,CAAC;CACjE,CAAC;AAEF,4EAA4E;AAC5E,MAAM,MAAM,kBAAkB,GAAG;IAC/B,QAAQ,CAAC,gBAAgB,EAAE,OAAO,CAAC;IACnC,QAAQ,CAAC,uBAAuB,EAAE,OAAO,CAAC;CAC3C,CAAC;AAEF;;;;;;;GAOG;AACH,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,IAAI,CAAC,YAAY,EAAE,MAAM,CAAC,EACjC,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,kBAAkB,GACxB,IAAI,CAEN;AAED,wBAAgB,YAAY,CAC1B,QAAQ,EAAE,MAAM,IAAI,EACpB,SAAS,SAAS,EAClB,SAAS,GAAE,MAAM,OAAqB,GACrC,YAAY,CA4Cd"}
@@ -1,81 +0,0 @@
1
- /**
2
- * Shared hook-backed initial-readiness marker with a starvation deadline.
3
- * Implements PRD §5.3, C-API-19, and C-API-28.
4
- *
5
- * On a COLD start both adapters gate the first queued message on a pre-input
6
- * readiness hook — Claude's `InstructionsLoaded`, Codex's `SessionStart` — the CLI's
7
- * authoritative "initialized and accepting input" signal, fired via `mark`. The
8
- * rendered composer is NOT a readiness signal on cold start: it paints as a boot
9
- * placeholder before input is accepted, so releasing the first queued message on it
10
- * would swallow the message. On RESUME the input loop is live when the composer paints,
11
- * so `markReadyOnResumeComposer` releases readiness on the first composer marker
12
- * (verified accepted, not swallowed) — UNLESS a blocking dialog is on screen, whose
13
- * option caret is byte-identical to the composer marker. The hooks differ on resume:
14
- * Codex does NOT re-fire `SessionStart` (so the composer is the fast signal), while
15
- * Claude's `InstructionsLoaded` DOES re-fire — so a resumed Claude is a hook/composer
16
- * race, whichever arrives first (readiness is idempotent). `armDeadline` is the ultimate
17
- * fallback for both start and resume so a missing readiness signal never starves the
18
- * queue forever.
19
- */
20
- /**
21
- * On RESUME, mark readiness on the first genuine composer frame: the composer is
22
- * visible AND no blocking dialog is on screen. The dialog's option caret (`›`/`❯`) is
23
- * byte-identical to the composer marker, so a dialog frame must NOT latch readiness —
24
- * otherwise a draining queued message's Enter could approve the dialog; readiness waits
25
- * for the dialog to clear. Cold start (`resumed: false`) never fires here, so the
26
- * composer stays an unsafe signal there (C-API-28).
27
- */
28
- export function markReadyOnResumeComposer(ready, resumed, facts) {
29
- if (resumed && facts.composer_visible && !facts.blocking_prompt_visible)
30
- ready.mark();
31
- }
32
- export function initialReady(callback, maxWaitMs = 10_000, isBlocked = () => false) {
33
- let ready = false;
34
- let deferredByBlock = false;
35
- let deadline;
36
- const mark = () => {
37
- if (ready)
38
- return;
39
- // A blocking dialog is on screen (it may have rendered while still `starting`,
40
- // so it never latched `blocked`): do NOT release the queue into it. Remember the
41
- // request and re-fire it from `retryWhenUnblocked` once the dialog clears — never
42
- // latch here, so readiness is neither drained into the dialog nor starved by it.
43
- if (isBlocked()) {
44
- deferredByBlock = true;
45
- return;
46
- }
47
- deferredByBlock = false;
48
- // Latch AFTER the callback returns, so if it throws (a throwing status/activity
49
- // listener) readiness is NOT consumed and a later hook/deadline/frame retries —
50
- // a failed transition must never permanently starve the queue (C-API-28).
51
- callback();
52
- ready = true;
53
- };
54
- return {
55
- cancel: () => {
56
- if (deadline)
57
- clearTimeout(deadline);
58
- },
59
- mark,
60
- retryWhenUnblocked: (blockingVisible) => {
61
- if (!ready && deferredByBlock && !blockingVisible)
62
- mark();
63
- },
64
- replay: () => void (ready && callback()),
65
- // Arms on the first frame regardless of hook arrival, so a missing or failed
66
- // readiness hook cannot starve readiness forever. The deadline's mark is contained
67
- // (a throwing callback on a timer would otherwise be an uncaught exception); if it
68
- // fails, `ready` stays false so a later hook or composer frame still retries.
69
- armDeadline: () => {
70
- deadline ??= setTimeout(() => {
71
- try {
72
- mark();
73
- }
74
- catch {
75
- // Retried by a subsequent readiness hook or rendered composer frame.
76
- }
77
- }, maxWaitMs);
78
- },
79
- };
80
- }
81
- //# sourceMappingURL=initial-ready.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"initial-ready.js","sourceRoot":"","sources":["../../src/runtime/initial-ready.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAuBH;;;;;;;GAOG;AACH,MAAM,UAAU,yBAAyB,CACvC,KAAiC,EACjC,OAAgB,EAChB,KAAyB;IAEzB,IAAI,OAAO,IAAI,KAAK,CAAC,gBAAgB,IAAI,CAAC,KAAK,CAAC,uBAAuB;QAAE,KAAK,CAAC,IAAI,EAAE,CAAC;AACxF,CAAC;AAED,MAAM,UAAU,YAAY,CAC1B,QAAoB,EACpB,SAAS,GAAG,MAAM,EAClB,YAA2B,GAAG,EAAE,CAAC,KAAK;IAEtC,IAAI,KAAK,GAAG,KAAK,CAAC;IAClB,IAAI,eAAe,GAAG,KAAK,CAAC;IAC5B,IAAI,QAAmD,CAAC;IACxD,MAAM,IAAI,GAAG,GAAG,EAAE;QAChB,IAAI,KAAK;YAAE,OAAO;QAClB,+EAA+E;QAC/E,iFAAiF;QACjF,kFAAkF;QAClF,iFAAiF;QACjF,IAAI,SAAS,EAAE,EAAE,CAAC;YAChB,eAAe,GAAG,IAAI,CAAC;YACvB,OAAO;QACT,CAAC;QACD,eAAe,GAAG,KAAK,CAAC;QACxB,gFAAgF;QAChF,gFAAgF;QAChF,0EAA0E;QAC1E,QAAQ,EAAE,CAAC;QACX,KAAK,GAAG,IAAI,CAAC;IACf,CAAC,CAAC;IACF,OAAO;QACL,MAAM,EAAE,GAAG,EAAE;YACX,IAAI,QAAQ;gBAAE,YAAY,CAAC,QAAQ,CAAC,CAAC;QACvC,CAAC;QACD,IAAI;QACJ,kBAAkB,EAAE,CAAC,eAAe,EAAE,EAAE;YACtC,IAAI,CAAC,KAAK,IAAI,eAAe,IAAI,CAAC,eAAe;gBAAE,IAAI,EAAE,CAAC;QAC5D,CAAC;QACD,MAAM,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,KAAK,IAAI,QAAQ,EAAE,CAAC;QACxC,6EAA6E;QAC7E,mFAAmF;QACnF,mFAAmF;QACnF,8EAA8E;QAC9E,WAAW,EAAE,GAAG,EAAE;YAChB,QAAQ,KAAK,UAAU,CAAC,GAAG,EAAE;gBAC3B,IAAI,CAAC;oBACH,IAAI,EAAE,CAAC;gBACT,CAAC;gBAAC,MAAM,CAAC;oBACP,qEAAqE;gBACvE,CAAC;YACH,CAAC,EAAE,SAAS,CAAC,CAAC;QAChB,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -1,62 +0,0 @@
1
- /**
2
- * Reaps the process tree of a PTY leader on session teardown.
3
- * Implements PRD §5.3 and §9.4 (C-LIFE-10): a CLI-spawned helper such as the
4
- * Claude hook bridge is a descendant of the PTY leader. Because POSIX reparents
5
- * a surviving descendant to PID 1 the instant its parent exits, a parent-pid
6
- * walk (`pgrep -P`) cannot find it afterwards — but node-pty starts the leader
7
- * as its own session/process-group leader, and group membership is inherited
8
- * and survives reparenting. So we reap by SIGKILLing the leader's process group,
9
- * which reaches every descendant in one in-process syscall: no subprocess, no
10
- * PATH lookup, no post-exit reparenting blind spot.
11
- */
12
- /** Injectable so tests never signal real process groups; production uses `process.kill`. */
13
- export type ProcessGroupKiller = {
14
- /** SIGKILLs the process group `pgid` (via `kill(-pgid)`); tolerates an empty/dead group. */
15
- readonly killGroup: (pgid: number) => void;
16
- };
17
- /**
18
- * SIGKILLs the process group led by `leaderPid`, reaping every descendant still
19
- * in the group — including one already reparented to PID 1. node-pty starts the
20
- * leader via `setsid()`, so it heads its own session and its pgid equals its pid;
21
- * that group is always distinct from the host's own group, so this cannot signal
22
- * the host process. Refuses only pids the kernel would misroute (see
23
- * `isReapableGroupId`), never an arbitrary numeric floor. An already-dead group
24
- * (leader and children exited together) is the normal case and its `ESRCH` is
25
- * swallowed; a real kill failure such as `EPERM` propagates.
26
- */
27
- export declare function reapProcessGroup(leaderPid: number, ops?: ProcessGroupKiller): void;
28
- export declare function setGroupKillerForTests(killer: ProcessGroupKiller): void;
29
- export declare function resetGroupKillerForTests(): void;
30
- /**
31
- * Swallows the ESRCH raised when the group is already empty (the normal case:
32
- * the leader and its children exited together) and re-throws any other error —
33
- * a real failure (e.g. EPERM) that must not be reported as a successful reap.
34
- * Reads the errno through `errnoCode`, which narrows object-ness first, so a
35
- * thrown `null`/non-Error is preserved and rethrown rather than triggering a
36
- * secondary TypeError while inspecting it (C-ERR-01). Exported for focused
37
- * coverage of both branches without an unsafe real signal.
38
- */
39
- export declare function rethrowUnlessGroupGone(error: unknown): void;
40
- /**
41
- * Owns a single PTY leader's group reap. A SUCCESSFUL reap MUST happen at most
42
- * once: `stop()` then a later `teardown()` both want to guarantee the group is
43
- * gone, but signaling the same numeric pgid twice is unsafe — once the group is
44
- * empty the kernel may recycle the pid, and a second `kill(-pgid)` would hit an
45
- * unrelated group. So the latch is set only AFTER the kill succeeds (an already
46
- * empty group's `ESRCH` is normalized to success by `reapProcessGroup`). A real
47
- * failure (e.g. EPERM) leaves the latch OPEN and rethrows, so a later teardown
48
- * call can retry rather than leaving the descendant leak permanently unreaped.
49
- */
50
- export declare class SessionReaper {
51
- private readonly leaderPid;
52
- private readonly ops;
53
- private done;
54
- constructor(leaderPid: number, ops?: ProcessGroupKiller);
55
- /**
56
- * Reap the group once it succeeds; a successful call latches so subsequent
57
- * calls no-op (no recycled-pgid double-kill). A failed kill does NOT latch and
58
- * rethrows, keeping the reap retryable on a later lifecycle call.
59
- */
60
- reap(): void;
61
- }
62
- //# sourceMappingURL=reap-tree.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"reap-tree.d.ts","sourceRoot":"","sources":["../../src/runtime/reap-tree.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAIH,4FAA4F;AAC5F,MAAM,MAAM,kBAAkB,GAAG;IAC/B,4FAA4F;IAC5F,QAAQ,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CAC5C,CAAC;AAoBF;;;;;;;;;GASG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,GAAE,kBAAiC,GAAG,IAAI,CAGhG;AAiBD,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,kBAAkB,GAAG,IAAI,CAEvE;AAED,wBAAgB,wBAAwB,IAAI,IAAI,CAE/C;AAED;;;;;;;;GAQG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,CAE3D;AAED;;;;;;;;;GASG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAqB;IACzC,OAAO,CAAC,IAAI,CAAS;gBAET,SAAS,EAAE,MAAM,EAAE,GAAG,GAAE,kBAAiC;IAKrE;;;;OAIG;IACH,IAAI,IAAI,IAAI;CAKb"}