@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,88 +0,0 @@
1
- /**
2
- * Wires the Claude transcript watcher into the session's activity stream.
3
- * Implements PRD §5.4 (C-CLAUDE-15): committed assistant text and tool activity
4
- * come from the transcript(s), so an un-sent ghost-text suggestion never posts.
5
- */
6
- import * as activity from "../core/activity.js";
7
- import { createTranscriptWarningRouter, } from "../core/transcript/warning-router.js";
8
- import { ClaudeTranscriptWatcher } from "./transcript/index.js";
9
- import { dropWarning, readErrorWarning, transcriptFailureWarning } from "./transcript/warnings.js";
10
- /**
11
- * Builds a transcript watcher that emits committed items and bounded diagnostics
12
- * (drops, contained fs errors, and a poll-error stop). Diagnostics are routed
13
- * through the session's warning sink so they are emitted through the
14
- * `warning`/`activity` contract (live-only, never persisted). The sink is resolved
15
- * lazily because the session object is constructed after the watcher (PRD §5.7). A
16
- * diagnostic observed BEFORE the sink exists is BUFFERED and flushed through
17
- * `emitWarnings` once it does — never silently dropped.
18
- */
19
- export function createTranscriptWatcher(elwoodSessionId, emitter, sink,
20
- // Poll-cadence override forwarded to the watcher's existing test seam; production
21
- // omits it and the watcher uses its default cadence. Internal only (not a PRD flag).
22
- pollIntervalMs) {
23
- // The shared router buffers diagnostics observed BEFORE the sink exists (the watcher
24
- // is built first) and delivers each exactly once with clear-before-delivery + throw
25
- // containment (see core/transcript/warning-router). `sink` is optional here; when
26
- // omitted the router simply buffers with no sink to flush to.
27
- const { route, flushPendingWarnings } = createTranscriptWarningRouter(() => sink?.());
28
- const watcher = new ClaudeTranscriptWatcher(elwoodSessionId, (event) => emitter.emit("activity", activity.activityFromClaudeTranscript(event)), {
29
- onDrop: (notice) => route(dropWarning(notice)),
30
- onReadError: (notice) => route(readErrorWarning(notice)),
31
- onPollError: (error) => route(transcriptFailureWarning(elwoodSessionId, error)),
32
- ...(pollIntervalMs === undefined ? {} : { pollIntervalMs }),
33
- });
34
- // C-LIFE-10: flush trailing committed items behind an error boundary, then run
35
- // `afterFlush` (terminal:exit emission, status, reap) in a `finally` so a throwing
36
- // flush listener can never abort lifecycle completion. A flush failure is contained
37
- // and surfaced as a bounded diagnostic; a throwing diagnostic route is swallowed.
38
- const noop = () => undefined;
39
- const finishSafely = (afterFlush = noop) => {
40
- try {
41
- watcher.finish();
42
- }
43
- catch (error) {
44
- try {
45
- // A failed FINAL flush at exit is phase-labelled so an operator can tell
46
- // lost trailing shutdown activity from a live poll failure.
47
- route(transcriptFailureWarning(elwoodSessionId, error, "final_flush"));
48
- }
49
- catch { } // a diagnostic-listener bug must not block lifecycle completion
50
- }
51
- finally {
52
- afterFlush();
53
- }
54
- };
55
- return { watcher, flushPendingWarnings, finishSafely };
56
- }
57
- /** Turn-boundary hooks: a first observe here recovers the already-committed tail. */
58
- const turnBoundaryHooks = new Set(["Stop", "SubagentStop"]);
59
- /**
60
- * Points the watcher at every transcript path the hook payload carries. A
61
- * `SubagentStop` event has both a main `transcript_path` and a required
62
- * `agent_transcript_path`; both must be observed (PRD §5.4). The watcher keeps
63
- * an independent cursor per path and no-ops on an already-observed path.
64
- *
65
- * Backward tail recovery runs only when the FIRST observe of a path lands on a
66
- * turn-boundary hook (`Stop`/`SubagentStop`) — the case where a just-committed
67
- * turn would otherwise be missed. On `SessionStart`/resume the first observe
68
- * baselines at EOF with no recovery, so a resumed session never republishes the
69
- * prior conversation's final assistant/tool turn (PRD §5.4, C-CLAUDE-15).
70
- */
71
- export function observeTranscript(watcher, event) {
72
- const hook = event["hook_event_name"];
73
- const recoverTail = turnBoundaryHooks.has(hook);
74
- for (const key of ["transcript_path", "agent_transcript_path"]) {
75
- const path = event[key];
76
- if (typeof path !== "string" || path.length === 0)
77
- continue;
78
- watcher.observe(path, recoverTail);
79
- // A SubagentStop's agent transcript is a one-shot input: flush it now and
80
- // retire it from active polling so a long session with many subagents does
81
- // not accumulate cursors statted twice a second forever (PRD §5.4). The flush
82
- // shares the watcher-wide terminal budget and a wall-clock slice, so it cannot
83
- // stall the hook-dispatch path with a hundreds-of-MiB synchronous loop (§9.2).
84
- if (hook === "SubagentStop" && key === "agent_transcript_path")
85
- watcher.retire(path);
86
- }
87
- }
88
- //# sourceMappingURL=session-transcript.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"session-transcript.js","sourceRoot":"","sources":["../../src/claude/session-transcript.ts"],"names":[],"mappings":"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"}
@@ -1,18 +0,0 @@
1
- /** ClaudeSessionApi entry points: preflight, record creation, and socket-home-guarded start. Implements PRD §5, §6, §8, §9. */
2
- import type { StartClaudeOptions } from "../core/types.ts";
3
- import type { SessionRecord } from "../state/store.ts";
4
- import type { ClaudePreflightWarning } from "./preflight.ts";
5
- import { resetClaudeHookBridgeFactoryForTests, setHookBridgeFactoryForTests } from "./session-bridge.ts";
6
- import type { ClaudeSessionApi } from "./session-interface.ts";
7
- export { resetClaudeHookBridgeFactoryForTests as resetClaudeSessionSeamsForTests, setHookBridgeFactoryForTests, };
8
- /**
9
- * @deprecated Prefer the `ClaudeSession` class (`new ClaudeSession(options)`), which starts
10
- * lazily and exposes both `send`/`stream` and this full control surface. `startClaude`
11
- * remains the low-level eager factory and is used internally; it will be removed once the
12
- * sole consumer migrates.
13
- */
14
- export declare function startClaude(rawOptions: StartClaudeOptions): Promise<ClaudeSessionApi>;
15
- /** Internal deterministic-identity start used by owners that must clean failed launch state. */
16
- export declare function startClaudeWithId(rawOptions: StartClaudeOptions, elwoodSessionId: string): Promise<ClaudeSessionApi>;
17
- export declare function startClaudeFromRecord(record: SessionRecord, stateDir: string, options: StartClaudeOptions, resumed: boolean, preflightWarning: ClaudePreflightWarning | undefined): Promise<import("./session-instance.ts").ClaudeSessionImpl>;
18
- //# sourceMappingURL=session.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/claude/session.ts"],"names":[],"mappings":"AAAA,+HAA+H;AAM/H,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAK3D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAEvD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAE7D,OAAO,EACL,oCAAoC,EACpC,4BAA4B,EAC7B,MAAM,qBAAqB,CAAC;AAE7B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE/D,OAAO,EACL,oCAAoC,IAAI,+BAA+B,EACvE,4BAA4B,GAC7B,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,UAAU,EAAE,kBAAkB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAErF;AAED,gGAAgG;AAChG,wBAAsB,iBAAiB,CACrC,UAAU,EAAE,kBAAkB,EAC9B,eAAe,EAAE,MAAM,GACtB,OAAO,CAAC,gBAAgB,CAAC,CAe3B;AAED,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,aAAa,EACrB,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,kBAAkB,EAC3B,OAAO,EAAE,OAAO,EAChB,gBAAgB,EAAE,sBAAsB,GAAG,SAAS,8DAwBrD"}
@@ -1,58 +0,0 @@
1
- /** ClaudeSessionApi entry points: preflight, record creation, and socket-home-guarded start. Implements PRD §5, §6, §8, §9. */
2
- import { randomUUID } from "node:crypto";
3
- import { resolve } from "node:path";
4
- import { queuePersonaMessage } from "../core/persona.js";
5
- import { claudeReasoningEfforts, validateReasoningEffort } from "../core/reasoning-effort.js";
6
- import { withSocketHomeCleanup } from "../runtime/startup-cleanup.js";
7
- import { claudeLaunchPosture, withClaudeLaunch } from "../state/launch-posture.js";
8
- import { sessionRuntime } from "../state/runtime-paths.js";
9
- import { removeOwnSocketFile } from "../state/socket-home.js";
10
- import { createSessionRecord, defaultStateDir, prepareStateDir } from "../state/store.js";
11
- import { preflightClaude } from "./preflight.js";
12
- import { resetClaudeHookBridgeFactoryForTests, setHookBridgeFactoryForTests, } from "./session-bridge.js";
13
- import { buildClaudeSession } from "./session-build.js";
14
- export { resetClaudeHookBridgeFactoryForTests as resetClaudeSessionSeamsForTests, setHookBridgeFactoryForTests, };
15
- /**
16
- * @deprecated Prefer the `ClaudeSession` class (`new ClaudeSession(options)`), which starts
17
- * lazily and exposes both `send`/`stream` and this full control surface. `startClaude`
18
- * remains the low-level eager factory and is used internally; it will be removed once the
19
- * sole consumer migrates.
20
- */
21
- export function startClaude(rawOptions) {
22
- return startClaudeWithId(rawOptions, randomUUID());
23
- }
24
- /** Internal deterministic-identity start used by owners that must clean failed launch state. */
25
- export async function startClaudeWithId(rawOptions, elwoodSessionId) {
26
- // Resolve BOTH cwd and stateDir to ABSOLUTE before the preflight `await`: a relative
27
- // path resolved after the await could point elsewhere if the caller's (or preflight's)
28
- // process.cwd() changed during it, splitting where state is written from where the CLI
29
- // launches (§8.1, §8.2). Thread the resolved cwd everywhere so the record, launch, and
30
- // PTY spawn all agree.
31
- const options = { ...rawOptions, cwd: resolve(rawOptions.cwd) };
32
- const stateDir = resolve(options.stateDir ?? defaultStateDir(options.cwd));
33
- const strict = options.strictVersionCheck ?? false;
34
- const warning = await preflightClaude(strict, options.autoupdate ?? false);
35
- prepareStateDir(stateDir, { gitignore: options.stateDir === undefined });
36
- const createdRecord = createSessionRecord({ cwd: options.cwd, id: elwoodSessionId });
37
- const record = withClaudeLaunch(createdRecord, claudeLaunchPosture(options));
38
- const session = await startClaudeFromRecord(record, stateDir, options, false, warning);
39
- return queuePersonaMessage(session, options.persona);
40
- }
41
- export function startClaudeFromRecord(record, stateDir, options, resumed, preflightWarning) {
42
- // Validate the effort enum before any spawn (C-CLAUDE-20): both start and resume
43
- // funnel through here, so a bad value fails fast at the single chokepoint.
44
- validateReasoningEffort(options.reasoningEffort, claudeReasoningEfforts, "claude_invalid_reasoning_effort");
45
- // `sessionRuntime` ensures the session's STABLE out-of-tree home and reserves a FRESH
46
- // per-launch socket PATH inside it; the socket is bound later, by `bridge.start()`
47
- // (after the state/runtime files are written). Wrap the WHOLE build so ANY failure
48
- // before the session takes ownership removes THIS launch's own socket file — never the
49
- // shared home, which a concurrent launch may own (§9.1). On success ownership transfers
50
- // to the returned session, whose teardown removes the whole home via removeSessionFiles.
51
- const runtime = sessionRuntime({
52
- stateDir,
53
- elwoodSessionId: record.elwoodSessionId,
54
- adapter: "claude",
55
- });
56
- return withSocketHomeCleanup(() => removeOwnSocketFile(runtime.socketPath), () => buildClaudeSession({ record, stateDir, runtime, options, resumed, preflightWarning }));
57
- }
58
- //# sourceMappingURL=session.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/claude/session.ts"],"names":[],"mappings":"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"}
@@ -1,12 +0,0 @@
1
- /**
2
- * Claude try-resume-else-start convenience entry point.
3
- * Implements PRD §5.2 and C-API-26.
4
- */
5
- import { type StartOrResumeResult } from "../core/start-or-resume.ts";
6
- import type { StartClaudeOptions } from "../core/types.ts";
7
- import type { ClaudeSessionApi } from "./session-interface.ts";
8
- export type StartOrResumeClaudeOptions = StartClaudeOptions & {
9
- readonly elwoodSessionId?: string;
10
- };
11
- export declare function startOrResumeClaude(options: StartOrResumeClaudeOptions): Promise<StartOrResumeResult<ClaudeSessionApi>>;
12
- //# sourceMappingURL=start-or-resume.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"start-or-resume.d.ts","sourceRoot":"","sources":["../../src/claude/start-or-resume.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,KAAK,mBAAmB,EAAiB,MAAM,4BAA4B,CAAC;AACrF,OAAO,KAAK,EAAuB,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAGhF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAG/D,MAAM,MAAM,0BAA0B,GAAG,kBAAkB,GAAG;IAC5D,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;CACnC,CAAC;AAEF,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,0BAA0B,GAClC,OAAO,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,CAAC,CAOhD"}
@@ -1,32 +0,0 @@
1
- /**
2
- * Claude try-resume-else-start convenience entry point.
3
- * Implements PRD §5.2 and C-API-26.
4
- */
5
- import { startOrResume } from "../core/start-or-resume.js";
6
- import { compact } from "../state/launch-posture.js";
7
- import { startClaude } from "./session.js";
8
- import { resumeClaude } from "./session-resume.js";
9
- export function startOrResumeClaude(options) {
10
- const { elwoodSessionId, ...startOptions } = options;
11
- return startOrResume(elwoodSessionId, (id) => resumeClaude(resumeOptions(id, startOptions)), () => startClaude(startOptions));
12
- }
13
- // Every resume-relevant start option is forwarded (PRD §5.2); `compact` drops the
14
- // absent ones so `exactOptionalPropertyTypes` sees no explicit `undefined`.
15
- function resumeOptions(elwoodSessionId, start) {
16
- const forwarded = compact({
17
- stateDir: start.stateDir,
18
- hooks: start.hooks,
19
- initialSize: start.initialSize,
20
- reasoningEffort: start.reasoningEffort,
21
- permissionMode: start.permissionMode,
22
- allowedTools: start.allowedTools,
23
- disallowedTools: start.disallowedTools,
24
- tools: start.tools,
25
- autoupdate: start.autoupdate,
26
- autotrust: start.autotrust,
27
- hookTimeoutMs: start.hookTimeoutMs,
28
- strictVersionCheck: start.strictVersionCheck,
29
- });
30
- return { elwoodSessionId, cwd: start.cwd, ...forwarded };
31
- }
32
- //# sourceMappingURL=start-or-resume.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"start-or-resume.js","sourceRoot":"","sources":["../../src/claude/start-or-resume.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAA4B,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAErF,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAE3C,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAMnD,MAAM,UAAU,mBAAmB,CACjC,OAAmC;IAEnC,MAAM,EAAE,eAAe,EAAE,GAAG,YAAY,EAAE,GAAG,OAAO,CAAC;IACrD,OAAO,aAAa,CAClB,eAAe,EACf,CAAC,EAAE,EAAE,EAAE,CAAC,YAAY,CAAC,aAAa,CAAC,EAAE,EAAE,YAAY,CAAC,CAAC,EACrD,GAAG,EAAE,CAAC,WAAW,CAAC,YAAY,CAAC,CAChC,CAAC;AACJ,CAAC;AAED,kFAAkF;AAClF,4EAA4E;AAC5E,SAAS,aAAa,CAAC,eAAuB,EAAE,KAAyB;IACvE,MAAM,SAAS,GAAG,OAAO,CAAuD;QAC9E,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,eAAe,EAAE,KAAK,CAAC,eAAe;QACtC,cAAc,EAAE,KAAK,CAAC,cAAc;QACpC,YAAY,EAAE,KAAK,CAAC,YAAY;QAChC,eAAe,EAAE,KAAK,CAAC,eAAe;QACtC,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,UAAU,EAAE,KAAK,CAAC,UAAU;QAC5B,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,aAAa,EAAE,KAAK,CAAC,aAAa;QAClC,kBAAkB,EAAE,KAAK,CAAC,kBAAkB;KAC7C,CAAC,CAAC;IACH,OAAO,EAAE,eAAe,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,GAAG,SAAS,EAAE,CAAC;AAC3D,CAAC"}
@@ -1,10 +0,0 @@
1
- /**
2
- * The Claude hook events that carry `tool_name`/`tool_input`, as one runtime list
3
- * with its derived union so validation, settings matchers, and event typing cannot
4
- * drift apart. Implements PRD §6.1.
5
- */
6
- /** The hook events that carry `tool_name`/`tool_input`; the union is derived from it. */
7
- export declare const toolHookEventNames: readonly ["PermissionDenied", "PermissionRequest", "PostToolUse", "PostToolUseFailure", "PreToolUse"];
8
- export type ToolHookEventName = (typeof toolHookEventNames)[number];
9
- export declare function isToolHookEventName(value: unknown): value is ToolHookEventName;
10
- //# sourceMappingURL=tool-hook-events.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tool-hook-events.d.ts","sourceRoot":"","sources":["../../src/claude/tool-hook-events.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,yFAAyF;AACzF,eAAO,MAAM,kBAAkB,uGAMrB,CAAC;AAEX,MAAM,MAAM,iBAAiB,GAAG,CAAC,OAAO,kBAAkB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEpE,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,iBAAiB,CAE9E"}
@@ -1,18 +0,0 @@
1
- /**
2
- * The Claude hook events that carry `tool_name`/`tool_input`, as one runtime list
3
- * with its derived union so validation, settings matchers, and event typing cannot
4
- * drift apart. Implements PRD §6.1.
5
- */
6
- import { isOneOf } from "../core/predicates.js";
7
- /** The hook events that carry `tool_name`/`tool_input`; the union is derived from it. */
8
- export const toolHookEventNames = [
9
- "PermissionDenied",
10
- "PermissionRequest",
11
- "PostToolUse",
12
- "PostToolUseFailure",
13
- "PreToolUse",
14
- ];
15
- export function isToolHookEventName(value) {
16
- return isOneOf(value, toolHookEventNames);
17
- }
18
- //# sourceMappingURL=tool-hook-events.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tool-hook-events.js","sourceRoot":"","sources":["../../src/claude/tool-hook-events.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAEhD,yFAAyF;AACzF,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,kBAAkB;IAClB,mBAAmB;IACnB,aAAa;IACb,oBAAoB;IACpB,YAAY;CACJ,CAAC;AAIX,MAAM,UAAU,mBAAmB,CAAC,KAAc;IAChD,OAAO,OAAO,CAAC,KAAK,EAAE,kBAAkB,CAAC,CAAC;AAC5C,CAAC"}
@@ -1,158 +0,0 @@
1
- /**
2
- * Claude built-in and extensible tool input types.
3
- * Implements PRD §6.
4
- */
5
- import type { ClaudeCommonHookFields } from "./hook-names.ts";
6
- import type { PermissionUpdate } from "./permissions.ts";
7
- import type { ToolHookEventName } from "./tool-hook-events.ts";
8
- export type BashInput = {
9
- readonly command: string;
10
- readonly description?: string;
11
- readonly timeout?: number;
12
- readonly run_in_background?: boolean;
13
- };
14
- export type FileInput = {
15
- readonly file_path: string;
16
- };
17
- export type ReadInput = FileInput & {
18
- readonly offset?: number;
19
- readonly limit?: number;
20
- };
21
- export type WriteInput = FileInput & {
22
- readonly content: string;
23
- };
24
- export type EditInput = FileInput & {
25
- readonly old_string: string;
26
- readonly new_string: string;
27
- readonly replace_all?: boolean;
28
- };
29
- export type GlobInput = {
30
- readonly pattern: string;
31
- readonly path?: string;
32
- };
33
- export type GrepInput = {
34
- readonly pattern: string;
35
- readonly path?: string;
36
- readonly glob?: string;
37
- readonly output_mode?: "content" | "files_with_matches" | "count";
38
- readonly "-i"?: boolean;
39
- readonly multiline?: boolean;
40
- };
41
- export type WebFetchInput = {
42
- readonly url: string;
43
- readonly prompt: string;
44
- };
45
- export type WebSearchInput = {
46
- readonly query: string;
47
- readonly allowed_domains?: readonly string[];
48
- readonly blocked_domains?: readonly string[];
49
- };
50
- export type AgentInput = {
51
- readonly prompt: string;
52
- readonly description?: string;
53
- readonly subagent_type?: string;
54
- readonly model?: string;
55
- };
56
- export type SimplePromptInput = {
57
- readonly prompt?: string;
58
- readonly description?: string;
59
- };
60
- export type IdInput = {
61
- readonly id: string;
62
- };
63
- export type ExitPlanModeInput = {
64
- readonly allowedPrompts?: readonly string[];
65
- readonly plan?: string;
66
- readonly planFilePath?: string;
67
- };
68
- export type AskUserQuestionInput = {
69
- readonly questions: readonly {
70
- readonly question: string;
71
- readonly header: string;
72
- readonly options: readonly {
73
- readonly label: string;
74
- readonly description?: string;
75
- }[];
76
- readonly multiSelect?: boolean;
77
- }[];
78
- readonly answers?: Readonly<Record<string, string>>;
79
- };
80
- export type KnownClaudeToolName = "Agent" | "AskUserQuestion" | "Bash" | "CronCreate" | "CronDelete" | "CronList" | "Edit" | "EnterPlanMode" | "EnterWorktree" | "ExitPlanMode" | "ExitWorktree" | "Glob" | "Grep" | "LS" | "ListMcpResourcesTool" | "LSP" | "Monitor" | "MultiEdit" | "NotebookEdit" | "PowerShell" | "PushNotification" | "Read" | "ReadMcpResourceTool" | "RemoteTrigger" | "ScheduleWakeup" | "SendMessage" | "ShareOnboardingGuide" | "Skill" | "TaskCreate" | "TaskGet" | "TaskList" | "TaskOutput" | "TaskStop" | "TaskUpdate" | "TeamCreate" | "TeamDelete" | "TodoWrite" | "ToolSearch" | "WaitForMcpServers" | "WebFetch" | "WebSearch" | "Write";
81
- export type UnknownClaudeToolName = `mcp__${string}` | `unknown:${string}`;
82
- export type GenericToolInput = Readonly<Record<string, unknown>>;
83
- export type ClaudeToolInputByName = {
84
- readonly tool_name: "Agent";
85
- readonly tool_input: AgentInput;
86
- } | {
87
- readonly tool_name: "AskUserQuestion";
88
- readonly tool_input: AskUserQuestionInput;
89
- } | {
90
- readonly tool_name: "Bash";
91
- readonly tool_input: BashInput;
92
- } | {
93
- readonly tool_name: "CronDelete" | "TaskGet" | "TaskOutput" | "TaskStop";
94
- readonly tool_input: IdInput;
95
- } | {
96
- readonly tool_name: "Edit";
97
- readonly tool_input: EditInput;
98
- } | {
99
- readonly tool_name: "ExitPlanMode";
100
- readonly tool_input: ExitPlanModeInput;
101
- } | {
102
- readonly tool_name: "Glob";
103
- readonly tool_input: GlobInput;
104
- } | {
105
- readonly tool_name: "Grep";
106
- readonly tool_input: GrepInput;
107
- } | {
108
- readonly tool_name: "PowerShell";
109
- readonly tool_input: BashInput;
110
- } | {
111
- readonly tool_name: "SendMessage" | "Skill" | "TaskCreate";
112
- readonly tool_input: SimplePromptInput;
113
- } | {
114
- readonly tool_name: "Read";
115
- readonly tool_input: ReadInput;
116
- } | {
117
- readonly tool_name: "WebFetch";
118
- readonly tool_input: WebFetchInput;
119
- } | {
120
- readonly tool_name: "WebSearch";
121
- readonly tool_input: WebSearchInput;
122
- } | {
123
- readonly tool_name: "Write";
124
- readonly tool_input: WriteInput;
125
- } | {
126
- readonly tool_name: GenericKnownToolName;
127
- readonly tool_input: GenericToolInput;
128
- } | {
129
- readonly tool_name: UnknownClaudeToolName;
130
- readonly tool_input: GenericToolInput;
131
- };
132
- type GenericKnownToolName = Exclude<KnownClaudeToolName, "Agent" | "AskUserQuestion" | "Bash" | "CronDelete" | "Edit" | "ExitPlanMode" | "Glob" | "Grep" | "PowerShell" | "Read" | "SendMessage" | "Skill" | "TaskCreate" | "TaskGet" | "TaskOutput" | "TaskStop" | "WebFetch" | "WebSearch" | "Write">;
133
- export type ClaudeToolInputUpdate<Tool extends ClaudeToolInputByName = ClaudeToolInputByName> = Partial<Tool["tool_input"]>;
134
- export type ClaudeToolEventFields<E extends ToolHookEventName> = E extends "PreToolUse" ? {
135
- readonly tool_use_id?: string;
136
- } : E extends "PermissionRequest" ? {
137
- readonly permission_suggestions?: readonly PermissionUpdate[];
138
- } : E extends "PostToolUse" ? {
139
- readonly tool_use_id?: string;
140
- readonly tool_response: unknown;
141
- readonly duration_ms?: number;
142
- } : E extends "PostToolUseFailure" ? {
143
- readonly tool_use_id?: string;
144
- readonly error: string;
145
- readonly is_interrupt?: boolean;
146
- readonly duration_ms?: number;
147
- } : E extends "PermissionDenied" ? {
148
- readonly tool_use_id: string;
149
- readonly reason: string;
150
- } : Record<string, never>;
151
- export type ClaudeToolEventForName<E extends ToolHookEventName> = ClaudeCommonHookFields & {
152
- readonly hook_event_name: E;
153
- } & ClaudeToolInputByName & ClaudeToolEventFields<E>;
154
- export type ClaudeToolEvent = {
155
- readonly [E in ToolHookEventName]: ClaudeToolEventForName<E>;
156
- }[ToolHookEventName];
157
- export {};
158
- //# sourceMappingURL=tool-types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tool-types.d.ts","sourceRoot":"","sources":["../../src/claude/tool-types.ts"],"names":[],"mappings":"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"}
@@ -1,6 +0,0 @@
1
- /**
2
- * Claude built-in and extensible tool input types.
3
- * Implements PRD §6.
4
- */
5
- export {};
6
- //# sourceMappingURL=tool-types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tool-types.js","sourceRoot":"","sources":["../../src/claude/tool-types.ts"],"names":[],"mappings":"AAAA;;;GAGG"}
@@ -1,8 +0,0 @@
1
- /**
2
- * Runtime validation for Claude hook inputs crossing the bridge: common fields,
3
- * then a per-event predicate table keyed by `hook_event_name`.
4
- * Implements PRD §6.4.
5
- */
6
- import type { ClaudeHookEvent } from "./hooks.ts";
7
- export declare function isClaudeHookInput(value: unknown): value is ClaudeHookEvent;
8
- //# sourceMappingURL=validate-input.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"validate-input.d.ts","sourceRoot":"","sources":["../../src/claude/validate-input.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAcH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AA0DlD,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,eAAe,CAW1E"}
@@ -1,137 +0,0 @@
1
- /**
2
- * Runtime validation for Claude hook inputs crossing the bridge: common fields,
3
- * then a per-event predicate table keyed by `hook_event_name`.
4
- * Implements PRD §6.4.
5
- */
6
- import { isOneOf, isRecord, isString, optionalBoolean, optionalString, } from "../core/predicates.js";
7
- import { claudeHookPermissionModes, } from "./hook-names.js";
8
- import { isToolHookEventName } from "./tool-hook-events.js";
9
- const effortLevels = ["low", "medium", "high", "xhigh", "max"];
10
- const _effortLevelsCoupled = true;
11
- void _effortLevelsCoupled;
12
- const compactTrigger = (value) => isOneOf(value["trigger"], ["manual", "auto"]);
13
- const strings = (...keys) => (value) => hasStrings(value, keys);
14
- // One predicate per non-tool event; tool events share `hasToolEventFields`. The
15
- // table is keyed by the public union so a new event name cannot be forgotten.
16
- const eventChecks = {
17
- SessionStart: strings("source"),
18
- Setup: (value) => isOneOf(value["trigger"], ["init", "maintenance"]),
19
- InstructionsLoaded: hasInstructionsLoaded,
20
- UserPromptSubmit: strings("prompt"),
21
- UserPromptExpansion: hasUserPromptExpansion,
22
- PostToolBatch: (value) => hasPostToolBatch(value["tool_calls"]),
23
- Notification: strings("message", "notification_type"),
24
- SubagentStart: strings("agent_id", "agent_type"),
25
- SubagentStop: strings("agent_id", "agent_type", "agent_transcript_path"),
26
- TaskCreated: strings("task_id", "task_subject"),
27
- TaskCompleted: strings("task_id", "task_subject"),
28
- Stop: (value) => optionalBoolean(value["stop_hook_active"]),
29
- StopFailure: strings("error"),
30
- TeammateIdle: strings("teammate_name", "team_name"),
31
- ConfigChange: strings("source"),
32
- CwdChanged: strings("old_cwd", "new_cwd"),
33
- FileChanged: (value) => hasStrings(value, ["file_path"]) && isOneOf(value["event"], ["change", "add", "unlink"]),
34
- WorktreeCreate: strings("name"),
35
- WorktreeRemove: strings("worktree_path"),
36
- PreCompact: (value) => compactTrigger(value) && isNullableOptionalString(value["custom_instructions"]),
37
- PostCompact: (value) => compactTrigger(value) && hasStrings(value, ["compact_summary"]),
38
- SessionEnd: strings("reason"),
39
- Elicitation: strings("mcp_server_name", "message"),
40
- ElicitationResult: strings("mcp_server_name", "action"),
41
- };
42
- export function isClaudeHookInput(value) {
43
- if (!(isRecord(value) && hasStrings(value, ["hook_event_name", "session_id", "cwd"]))) {
44
- return false;
45
- }
46
- if (!hasValidCommonFields(value))
47
- return false;
48
- const eventName = value["hook_event_name"];
49
- if (isToolHookEventName(eventName))
50
- return hasToolEventFields(eventName, value);
51
- return (Object.hasOwn(eventChecks, eventName) &&
52
- eventChecks[eventName](value));
53
- }
54
- // C-HOOK-07 / C-HOOK-17: typed optional common fields present on every hook
55
- // event must match ClaudeCommonHookFields, not merely be ignored.
56
- function hasValidCommonFields(value) {
57
- return (optionalString(value["transcript_path"]) &&
58
- (value["permission_mode"] === undefined ||
59
- isOneOf(value["permission_mode"], claudeHookPermissionModes)) &&
60
- isValidEffort(value["effort"]));
61
- }
62
- function isValidEffort(value) {
63
- if (value === undefined)
64
- return true;
65
- return isRecord(value) && isOneOf(value["level"], effortLevels);
66
- }
67
- function hasToolEventFields(eventName, value) {
68
- return (typeof value["tool_name"] === "string" &&
69
- isToolInput(value["tool_name"], value["tool_input"]) &&
70
- hasToolSpecificEventFields(eventName, value));
71
- }
72
- function hasToolSpecificEventFields(eventName, value) {
73
- if (eventName === "PostToolUse")
74
- return "tool_response" in value;
75
- if (eventName === "PostToolUseFailure")
76
- return typeof value["error"] === "string";
77
- if (eventName === "PermissionDenied")
78
- return hasStrings(value, ["tool_use_id", "reason"]);
79
- return true;
80
- }
81
- const toolInputChecks = {
82
- Agent: (input) => typeof input["prompt"] === "string",
83
- AskUserQuestion: isAskUserQuestionInput,
84
- Bash: (input) => typeof input["command"] === "string",
85
- Edit: (input) => hasStrings(input, ["file_path", "old_string", "new_string"]),
86
- Glob: (input) => typeof input["pattern"] === "string",
87
- Grep: (input) => typeof input["pattern"] === "string",
88
- Read: (input) => typeof input["file_path"] === "string",
89
- WebFetch: (input) => hasStrings(input, ["url", "prompt"]),
90
- WebSearch: (input) => typeof input["query"] === "string",
91
- Write: (input) => hasStrings(input, ["file_path", "content"]),
92
- };
93
- function isToolInput(toolName, input) {
94
- if (!isRecord(input))
95
- return false;
96
- const check = Object.hasOwn(toolInputChecks, toolName) ? toolInputChecks[toolName] : undefined;
97
- return check === undefined || check(input);
98
- }
99
- function hasInstructionsLoaded(value) {
100
- return (hasStrings(value, ["file_path"]) &&
101
- isOneOf(value["memory_type"], ["User", "Project", "Local", "Managed"]) &&
102
- isOneOf(value["load_reason"], [
103
- "session_start",
104
- "nested_traversal",
105
- "path_glob_match",
106
- "include",
107
- "compact",
108
- ]));
109
- }
110
- function hasUserPromptExpansion(value) {
111
- return (hasStrings(value, ["prompt", "command_name"]) &&
112
- isOneOf(value["expansion_type"], ["slash_command", "mcp_prompt"]));
113
- }
114
- function hasPostToolBatch(value) {
115
- return (Array.isArray(value) &&
116
- value.every((item) => isRecord(item) && hasToolEventFields("PostToolUse", item)));
117
- }
118
- function isAskUserQuestionInput(input) {
119
- return Array.isArray(input["questions"]) && input["questions"].every(isQuestion);
120
- }
121
- function isQuestion(value) {
122
- return (isRecord(value) &&
123
- hasStrings(value, ["question", "header"]) &&
124
- Array.isArray(value["options"]) &&
125
- value["options"].every(isQuestionOption) &&
126
- optionalBoolean(value["multiSelect"]));
127
- }
128
- function isQuestionOption(value) {
129
- return isRecord(value) && isString(value["label"]) && optionalString(value["description"]);
130
- }
131
- function hasStrings(value, keys) {
132
- return keys.every((key) => isString(value[key]));
133
- }
134
- function isNullableOptionalString(value) {
135
- return value === undefined || value === null || typeof value === "string";
136
- }
137
- //# sourceMappingURL=validate-input.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"validate-input.js","sourceRoot":"","sources":["../../src/claude/validate-input.ts"],"names":[],"mappings":"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"}