@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 +0,0 @@
1
- {"version":3,"file":"warning-reasons.d.ts","sourceRoot":"","sources":["../../src/core/warning-reasons.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAIH,iFAAiF;AACjF,eAAO,MAAM,iBAAiB,iBAAiB,CAAC;AAEhD;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,MAAM,EAChD,KAAK,EAAE,OAAO,EACd,KAAK,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,KAAK,IAAI,CAAC,GACpC,CAAC,GAAG,OAAO,iBAAiB,CAK9B;AAED;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,6QAyBnB,CAAC;AAEX,qEAAqE;AACrE,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAC;AAIhE,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,eAAe,CAE1E;AAED;;;;;;GAMG;AACH,eAAO,MAAM,cAAc,iIAajB,CAAC;AAEX,4DAA4D;AAC5D,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,CAAC,CAAC;AAI5D,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,aAAa,CAEtE;AAED,kEAAkE;AAClE,eAAO,MAAM,UAAU,yDAA0D,CAAC;AAElF,0DAA0D;AAC1D,MAAM,MAAM,SAAS,GAAG,CAAC,OAAO,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC;AAEpD;;;;;;GAMG;AACH,eAAO,MAAM,gBAAgB,uIAcnB,CAAC;AAEX,sEAAsE;AACtE,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAC;AAIhE,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,eAAe,CAE1E;AAED,8DAA8D;AAC9D,eAAO,MAAM,UAAU,kCAAmC,CAAC;AAE3D,uDAAuD;AACvD,MAAM,MAAM,SAAS,GAAG,CAAC,OAAO,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC"}
@@ -1,121 +0,0 @@
1
- /**
2
- * The fixed allowlists of bounded reason/error-code tokens carried by content-free
3
- * warnings, and their derived types + guards.
4
- * Implements PRD §5.7 (C-CLAUDE-15, C-LIFE-10): the `reason` field of a
5
- * `transcript_poll_stopped` warning and the `errorCode` field of a `reap_failed`
6
- * warning may carry ONLY a value from a fixed allowlist — never a raw system
7
- * message or a caller-controlled string that could leak content into a live
8
- * warning. This module is the single source of truth the unions and their
9
- * producers derive from, so a producer and its type can never drift apart.
10
- */
11
- import { errnoCode } from "./errors.js";
12
- /** The fixed fallback token every bounded error-token allowlist collapses to. */
13
- export const unknownErrorToken = "UnknownError";
14
- /**
15
- * Maps an arbitrary thrown value to a bounded, ALLOWLISTED token, shared by every
16
- * content-free warning that carries a normalized error code (reap, transcript
17
- * poll, resize restore). An error's `.code` (errno), `Error.name`, and message are
18
- * all system/caller-controlled and can embed an env path or conversation text, so
19
- * only a value the caller's `allow` guard accepts passes through; anything else —
20
- * including a raw system message — collapses to `UnknownError`. This is the single
21
- * place the sanitizing rule lives, so no producer can weaken it (§5.7).
22
- */
23
- export function boundedErrorToken(error, allow) {
24
- const code = errnoCode(error);
25
- if (allow(code))
26
- return code;
27
- if (error instanceof Error && allow(error.name))
28
- return error.name;
29
- return unknownErrorToken;
30
- }
31
- /**
32
- * The allowlisted tokens for `transcript_poll_stopped.reason`: standard JS error
33
- * constructor names + common Node filesystem/stream errnos, plus the fixed
34
- * `UnknownError` fallback that any unrecognized value collapses to.
35
- */
36
- export const pollErrorReasons = [
37
- "UnknownError",
38
- // Standard ECMAScript error constructor names.
39
- "Error",
40
- "TypeError",
41
- "RangeError",
42
- "ReferenceError",
43
- "SyntaxError",
44
- "EvalError",
45
- "URIError",
46
- "AggregateError",
47
- // Common Node.js filesystem/stream errno codes seen on a transcript read.
48
- "ENOENT",
49
- "EACCES",
50
- "EPERM",
51
- "EISDIR",
52
- "ENOTDIR",
53
- "EBADF",
54
- "EMFILE",
55
- "ENFILE",
56
- "ELOOP",
57
- "ENAMETOOLONG",
58
- "EBUSY",
59
- "EAGAIN",
60
- "EIO",
61
- ];
62
- const pollErrorReasonSet = new Set(pollErrorReasons);
63
- export function isPollErrorReason(value) {
64
- return typeof value === "string" && pollErrorReasonSet.has(value);
65
- }
66
- /**
67
- * The allowlisted tokens for `reap_failed.errorCode`: standard JS error
68
- * constructor names + the process-signalling errnos a group SIGKILL can surface,
69
- * plus the fixed `UnknownError` fallback any unrecognized value collapses to. A
70
- * reap failure's error `name`/`.code`/message are caller/system-controlled, so
71
- * only a value on this allowlist may reach the live warning.
72
- */
73
- export const reapErrorCodes = [
74
- "UnknownError",
75
- // Standard ECMAScript error constructor names.
76
- "Error",
77
- "TypeError",
78
- "RangeError",
79
- "ReferenceError",
80
- // Errnos a process-group signal (kill(-pgid, SIGKILL)) can surface.
81
- "EPERM",
82
- "ESRCH",
83
- "EINVAL",
84
- "EACCES",
85
- "EAGAIN",
86
- ];
87
- const reapErrorCodeSet = new Set(reapErrorCodes);
88
- export function isReapErrorCode(value) {
89
- return typeof value === "string" && reapErrorCodeSet.has(value);
90
- }
91
- /** Why transcript data was lost, so cause is never mislabeled. */
92
- export const dropCauses = ["unparseable", "oversized", "unread_backlog"];
93
- /**
94
- * The allowlisted tokens for `resize_restore_failed.errorCode`: standard JS error
95
- * constructor names + the errnos a native PTY resize can surface, plus the fixed
96
- * `UnknownError` fallback any unrecognized value collapses to. A resize failure's
97
- * error `name`/`.code`/message are system-controlled, so only a value on this
98
- * allowlist may reach the live warning (§5.7).
99
- */
100
- export const resizeErrorCodes = [
101
- "UnknownError",
102
- // Standard ECMAScript error constructor names.
103
- "Error",
104
- "TypeError",
105
- "RangeError",
106
- "ReferenceError",
107
- // Errnos a native PTY resize (ioctl TIOCSWINSZ) or terminal write can surface.
108
- "EBADF",
109
- "EINVAL",
110
- "EIO",
111
- "ENXIO",
112
- "EPERM",
113
- "EACCES",
114
- ];
115
- const resizeErrorCodeSet = new Set(resizeErrorCodes);
116
- export function isResizeErrorCode(value) {
117
- return typeof value === "string" && resizeErrorCodeSet.has(value);
118
- }
119
- /** Which lifecycle phase a transcript failure occurred in. */
120
- export const pollPhases = ["poll", "final_flush"];
121
- //# sourceMappingURL=warning-reasons.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"warning-reasons.js","sourceRoot":"","sources":["../../src/core/warning-reasons.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,iFAAiF;AACjF,MAAM,CAAC,MAAM,iBAAiB,GAAG,cAAc,CAAC;AAEhD;;;;;;;;GAQG;AACH,MAAM,UAAU,iBAAiB,CAC/B,KAAc,EACd,KAAqC;IAErC,MAAM,IAAI,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;IAC9B,IAAI,KAAK,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IAC7B,IAAI,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC,IAAI,CAAC;IACnE,OAAO,iBAAiB,CAAC;AAC3B,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,cAAc;IACd,+CAA+C;IAC/C,OAAO;IACP,WAAW;IACX,YAAY;IACZ,gBAAgB;IAChB,aAAa;IACb,WAAW;IACX,UAAU;IACV,gBAAgB;IAChB,0EAA0E;IAC1E,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,SAAS;IACT,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,cAAc;IACd,OAAO;IACP,QAAQ;IACR,KAAK;CACG,CAAC;AAKX,MAAM,kBAAkB,GAAwB,IAAI,GAAG,CAAC,gBAAgB,CAAC,CAAC;AAE1E,MAAM,UAAU,iBAAiB,CAAC,KAAc;IAC9C,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,kBAAkB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACpE,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,cAAc;IACd,+CAA+C;IAC/C,OAAO;IACP,WAAW;IACX,YAAY;IACZ,gBAAgB;IAChB,oEAAoE;IACpE,OAAO;IACP,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,QAAQ;CACA,CAAC;AAKX,MAAM,gBAAgB,GAAwB,IAAI,GAAG,CAAC,cAAc,CAAC,CAAC;AAEtE,MAAM,UAAU,eAAe,CAAC,KAAc;IAC5C,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AAClE,CAAC;AAED,kEAAkE;AAClE,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,aAAa,EAAE,WAAW,EAAE,gBAAgB,CAAU,CAAC;AAKlF;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,cAAc;IACd,+CAA+C;IAC/C,OAAO;IACP,WAAW;IACX,YAAY;IACZ,gBAAgB;IAChB,+EAA+E;IAC/E,OAAO;IACP,QAAQ;IACR,KAAK;IACL,OAAO;IACP,OAAO;IACP,QAAQ;CACA,CAAC;AAKX,MAAM,kBAAkB,GAAwB,IAAI,GAAG,CAAC,gBAAgB,CAAC,CAAC;AAE1E,MAAM,UAAU,iBAAiB,CAAC,KAAc;IAC9C,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,kBAAkB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACpE,CAAC;AAED,8DAA8D;AAC9D,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,MAAM,EAAE,aAAa,CAAU,CAAC"}
@@ -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":"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"}
@@ -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"}