@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,6 +0,0 @@
1
- /**
2
- * Less central Claude hook event payload fragments.
3
- * Implements PRD §6.
4
- */
5
- export {};
6
- //# sourceMappingURL=hook-events-extra.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"hook-events-extra.js","sourceRoot":"","sources":["../../src/claude/hook-events-extra.ts"],"names":[],"mappings":"AAAA;;;GAGG"}
@@ -1,101 +0,0 @@
1
- /**
2
- * Claude hook event payload types.
3
- * Implements PRD §6.
4
- */
5
- import type { ConfigChangeEvent, CwdChangedEvent, ElicitationEvent, ElicitationResultEvent, FileChangedEvent, PostCompactEvent, PreCompactEvent, SessionEndEvent, StopEvent, StopFailureEvent, TaskCompletedEvent, TaskCreatedEvent, TeammateIdleEvent, WorktreeCreateEvent, WorktreeRemoveEvent } from "./hook-events-extra.ts";
6
- import type { ClaudeCommonHookFields, ClaudeHookEventName } from "./hook-names.ts";
7
- import type { ClaudeToolEvent, ClaudeToolInputByName } from "./tool-types.ts";
8
- export type ClaudePostToolBatchCall = ClaudeToolInputByName & {
9
- readonly tool_use_id?: string;
10
- readonly tool_response: unknown;
11
- };
12
- export type ClaudeNotificationType = "permission_prompt" | "idle_prompt" | "auth_success" | "elicitation_dialog" | "elicitation_complete" | "elicitation_response";
13
- export type ClaudeBackgroundTask = {
14
- readonly id: string;
15
- readonly type: string;
16
- readonly status: string;
17
- readonly description?: string;
18
- readonly command?: string;
19
- readonly agent_type?: string;
20
- readonly server?: string;
21
- readonly tool?: string;
22
- readonly name?: string;
23
- };
24
- export type ClaudeSessionCron = {
25
- readonly id: string;
26
- readonly schedule: string;
27
- readonly recurring: boolean;
28
- readonly prompt: string;
29
- };
30
- export type ClaudeStopFields = {
31
- readonly stop_hook_active?: boolean;
32
- readonly last_assistant_message?: string;
33
- readonly background_tasks?: readonly ClaudeBackgroundTask[];
34
- readonly session_crons?: readonly ClaudeSessionCron[];
35
- };
36
- export type ClaudeStopFailureError = "rate_limit" | "authentication_failed" | "oauth_org_not_allowed" | "billing_error" | "invalid_request" | "model_not_found" | "server_error" | "max_output_tokens" | "unknown";
37
- export type ClaudeTaskFields = {
38
- readonly task_id: string;
39
- readonly task_subject: string;
40
- readonly task_description?: string;
41
- readonly teammate_name?: string;
42
- readonly team_name?: string;
43
- };
44
- export type ClaudeHookEvent = ClaudeToolEvent | SessionStartEvent | SetupEvent | InstructionsLoadedEvent | UserPromptSubmitEvent | UserPromptExpansionEvent | PostToolBatchEvent | NotificationEvent | SubagentStartEvent | SubagentStopEvent | TaskCreatedEvent | TaskCompletedEvent | StopEvent | StopFailureEvent | TeammateIdleEvent | ConfigChangeEvent | CwdChangedEvent | FileChangedEvent | WorktreeCreateEvent | WorktreeRemoveEvent | PreCompactEvent | PostCompactEvent | SessionEndEvent | ElicitationEvent | ElicitationResultEvent;
45
- export type ClaudeHookEventFor<K extends ClaudeHookEventName> = ClaudeHookEvent extends infer Event ? Event extends {
46
- readonly hook_event_name: infer EventName;
47
- } ? K extends EventName ? Event : never : never : never;
48
- type SessionStartEvent = ClaudeCommonHookFields & {
49
- readonly hook_event_name: "SessionStart";
50
- readonly source: "startup" | "resume" | "clear" | "compact" | string;
51
- readonly model?: string;
52
- readonly agent_type?: string;
53
- };
54
- type SetupEvent = ClaudeCommonHookFields & {
55
- readonly hook_event_name: "Setup";
56
- readonly trigger: "init" | "maintenance";
57
- };
58
- type InstructionsLoadedEvent = ClaudeCommonHookFields & {
59
- readonly hook_event_name: "InstructionsLoaded";
60
- readonly file_path: string;
61
- readonly memory_type: "User" | "Project" | "Local" | "Managed";
62
- readonly load_reason: "session_start" | "nested_traversal" | "path_glob_match" | "include" | "compact";
63
- readonly globs?: readonly string[];
64
- readonly trigger_file_path?: string;
65
- readonly parent_file_path?: string;
66
- };
67
- type UserPromptSubmitEvent = ClaudeCommonHookFields & {
68
- readonly hook_event_name: "UserPromptSubmit";
69
- readonly prompt: string;
70
- };
71
- type UserPromptExpansionEvent = ClaudeCommonHookFields & {
72
- readonly hook_event_name: "UserPromptExpansion";
73
- readonly expansion_type: "slash_command" | "mcp_prompt";
74
- readonly command_name: string;
75
- readonly command_args?: string;
76
- readonly command_source?: string;
77
- readonly prompt: string;
78
- };
79
- type PostToolBatchEvent = ClaudeCommonHookFields & {
80
- readonly hook_event_name: "PostToolBatch";
81
- readonly tool_calls: readonly ClaudePostToolBatchCall[];
82
- };
83
- type NotificationEvent = ClaudeCommonHookFields & {
84
- readonly hook_event_name: "Notification";
85
- readonly message: string;
86
- readonly title?: string;
87
- readonly notification_type: ClaudeNotificationType | string;
88
- };
89
- type SubagentStartEvent = ClaudeCommonHookFields & {
90
- readonly hook_event_name: "SubagentStart";
91
- readonly agent_id: string;
92
- readonly agent_type: string;
93
- };
94
- type SubagentStopEvent = ClaudeCommonHookFields & ClaudeStopFields & {
95
- readonly hook_event_name: "SubagentStop";
96
- readonly agent_id: string;
97
- readonly agent_type: string;
98
- readonly agent_transcript_path: string;
99
- };
100
- export {};
101
- //# sourceMappingURL=hook-events.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"hook-events.d.ts","sourceRoot":"","sources":["../../src/claude/hook-events.ts"],"names":[],"mappings":"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"}
@@ -1,6 +0,0 @@
1
- /**
2
- * Claude hook event payload types.
3
- * Implements PRD §6.
4
- */
5
- export {};
6
- //# sourceMappingURL=hook-events.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"hook-events.js","sourceRoot":"","sources":["../../src/claude/hook-events.ts"],"names":[],"mappings":"AAAA;;;GAGG"}
@@ -1,24 +0,0 @@
1
- /**
2
- * Claude hook names and common hook fields.
3
- * Implements PRD §6.
4
- */
5
- export declare const claudeHookEventNames: readonly ["SessionStart", "Setup", "InstructionsLoaded", "UserPromptSubmit", "UserPromptExpansion", "PreToolUse", "PermissionRequest", "PostToolUse", "PostToolUseFailure", "PostToolBatch", "PermissionDenied", "Notification", "SubagentStart", "SubagentStop", "TaskCreated", "TaskCompleted", "Stop", "StopFailure", "TeammateIdle", "ConfigChange", "CwdChanged", "FileChanged", "WorktreeCreate", "WorktreeRemove", "PreCompact", "PostCompact", "SessionEnd", "Elicitation", "ElicitationResult"];
6
- export type ClaudeHookEventName = (typeof claudeHookEventNames)[number];
7
- /** The permission modes a hook payload may report; the union is derived from it. */
8
- export declare const claudeHookPermissionModes: readonly ["default", "acceptEdits", "plan", "auto", "dontAsk", "bypassPermissions"];
9
- export type ClaudeHookPermissionMode = (typeof claudeHookPermissionModes)[number];
10
- export type ClaudeEffortLevel = "low" | "medium" | "high" | "xhigh" | "max";
11
- export type ClaudeUnknownHookFields = {
12
- readonly [key: string]: unknown;
13
- };
14
- export type ClaudeCommonHookFields = {
15
- readonly session_id: string;
16
- readonly transcript_path?: string;
17
- readonly cwd: string;
18
- readonly permission_mode?: ClaudeHookPermissionMode;
19
- readonly effort?: {
20
- readonly level: ClaudeEffortLevel;
21
- };
22
- readonly hook_event_name: ClaudeHookEventName;
23
- } & ClaudeUnknownHookFields;
24
- //# sourceMappingURL=hook-names.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"hook-names.d.ts","sourceRoot":"","sources":["../../src/claude/hook-names.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,eAAO,MAAM,oBAAoB,0eA8BvB,CAAC;AAEX,MAAM,MAAM,mBAAmB,GAAG,CAAC,OAAO,oBAAoB,CAAC,CAAC,MAAM,CAAC,CAAC;AAExE,oFAAoF;AACpF,eAAO,MAAM,yBAAyB,qFAO5B,CAAC;AAEX,MAAM,MAAM,wBAAwB,GAAG,CAAC,OAAO,yBAAyB,CAAC,CAAC,MAAM,CAAC,CAAC;AAElF,MAAM,MAAM,iBAAiB,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,GAAG,KAAK,CAAC;AAE5E,MAAM,MAAM,uBAAuB,GAAG;IACpC,QAAQ,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACjC,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG;IACnC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,eAAe,CAAC,EAAE,wBAAwB,CAAC;IACpD,QAAQ,CAAC,MAAM,CAAC,EAAE;QAAE,QAAQ,CAAC,KAAK,EAAE,iBAAiB,CAAA;KAAE,CAAC;IACxD,QAAQ,CAAC,eAAe,EAAE,mBAAmB,CAAC;CAC/C,GAAG,uBAAuB,CAAC"}
@@ -1,45 +0,0 @@
1
- /**
2
- * Claude hook names and common hook fields.
3
- * Implements PRD §6.
4
- */
5
- export const claudeHookEventNames = [
6
- "SessionStart",
7
- "Setup",
8
- "InstructionsLoaded",
9
- "UserPromptSubmit",
10
- "UserPromptExpansion",
11
- "PreToolUse",
12
- "PermissionRequest",
13
- "PostToolUse",
14
- "PostToolUseFailure",
15
- "PostToolBatch",
16
- "PermissionDenied",
17
- "Notification",
18
- "SubagentStart",
19
- "SubagentStop",
20
- "TaskCreated",
21
- "TaskCompleted",
22
- "Stop",
23
- "StopFailure",
24
- "TeammateIdle",
25
- "ConfigChange",
26
- "CwdChanged",
27
- "FileChanged",
28
- "WorktreeCreate",
29
- "WorktreeRemove",
30
- "PreCompact",
31
- "PostCompact",
32
- "SessionEnd",
33
- "Elicitation",
34
- "ElicitationResult",
35
- ];
36
- /** The permission modes a hook payload may report; the union is derived from it. */
37
- export const claudeHookPermissionModes = [
38
- "default",
39
- "acceptEdits",
40
- "plan",
41
- "auto",
42
- "dontAsk",
43
- "bypassPermissions",
44
- ];
45
- //# sourceMappingURL=hook-names.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"hook-names.js","sourceRoot":"","sources":["../../src/claude/hook-names.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC,cAAc;IACd,OAAO;IACP,oBAAoB;IACpB,kBAAkB;IAClB,qBAAqB;IACrB,YAAY;IACZ,mBAAmB;IACnB,aAAa;IACb,oBAAoB;IACpB,eAAe;IACf,kBAAkB;IAClB,cAAc;IACd,eAAe;IACf,cAAc;IACd,aAAa;IACb,eAAe;IACf,MAAM;IACN,aAAa;IACb,cAAc;IACd,cAAc;IACd,YAAY;IACZ,aAAa;IACb,gBAAgB;IAChB,gBAAgB;IAChB,YAAY;IACZ,aAAa;IACb,YAAY;IACZ,aAAa;IACb,mBAAmB;CACX,CAAC;AAIX,oFAAoF;AACpF,MAAM,CAAC,MAAM,yBAAyB,GAAG;IACvC,SAAS;IACT,aAAa;IACb,MAAM;IACN,MAAM;IACN,SAAS;IACT,mBAAmB;CACX,CAAC"}
@@ -1,78 +0,0 @@
1
- /**
2
- * Public Claude hook type barrel.
3
- * Implements PRD §6 and §7.
4
- */
5
- export type { ClaudeHookHandlers } from "./handler-types.ts";
6
- export type { ClaudeBackgroundTask, ClaudeHookEvent, ClaudeHookEventFor, ClaudeNotificationType, ClaudePostToolBatchCall, ClaudeSessionCron, ClaudeStopFailureError, ClaudeStopFields, ClaudeTaskFields, } from "./hook-events.ts";
7
- export { type ClaudeCommonHookFields, type ClaudeEffortLevel, type ClaudeHookEventName, type ClaudeHookPermissionMode, type ClaudeUnknownHookFields, claudeHookEventNames, } from "./hook-names.ts";
8
- export type { PermissionRule, PermissionRuleBehavior, PermissionUpdate, PermissionUpdateDestination, } from "./permissions.ts";
9
- export type { AgentInput, AskUserQuestionInput, BashInput, ClaudeToolInputUpdate, EditInput, ExitPlanModeInput, FileInput, GenericToolInput, GlobInput, GrepInput, KnownClaudeToolName, ReadInput, UnknownClaudeToolName, WebFetchInput, WebSearchInput, WriteInput, } from "./tool-types.ts";
10
- import type { ClaudeHookEventFor } from "./hook-events.ts";
11
- import type { ClaudeHookEventName } from "./hook-names.ts";
12
- import type { PermissionUpdate } from "./permissions.ts";
13
- export type { ToolHookEventName } from "./tool-hook-events.ts";
14
- export type ClaudeToolInputUpdateForEvent<Event> = Event extends {
15
- readonly tool_input: infer Input;
16
- } ? Partial<Input> : never;
17
- export type PreToolUseDecisionResultFor<Event> = {
18
- readonly permissionDecision: "allow" | "deny" | "ask" | "defer";
19
- readonly permissionDecisionReason?: string;
20
- readonly updatedInput?: ClaudeToolInputUpdateForEvent<Event>;
21
- readonly additionalContext?: string;
22
- };
23
- export type PreToolUseDecisionResult = PreToolUseDecisionResultFor<ClaudeHookEventFor<"PreToolUse">>;
24
- export type PreToolUseCommonResult = (Omit<PreToolUseDecisionResult, "updatedInput"> & {
25
- readonly updatedInput?: never;
26
- }) | {
27
- readonly additionalContext: string;
28
- };
29
- export type PreToolUseResultFor<Event> = PreToolUseDecisionResultFor<Event> | {
30
- readonly additionalContext: string;
31
- };
32
- export type PreToolUseResult = PreToolUseResultFor<ClaudeHookEventFor<"PreToolUse">>;
33
- export type TopLevelBlockResult = {
34
- readonly decision: "block";
35
- readonly reason: string;
36
- readonly additionalContext?: string;
37
- };
38
- export type PermissionRequestResult = {
39
- readonly behavior: "allow" | "deny";
40
- readonly updatedInput?: ClaudeToolInputUpdateForEvent<ClaudeHookEventFor<"PermissionRequest">>;
41
- readonly updatedPermissions?: readonly PermissionUpdate[];
42
- readonly message?: string;
43
- readonly interrupt?: boolean;
44
- };
45
- export type PermissionRequestCommonResult = Omit<PermissionRequestResult, "updatedInput"> & {
46
- readonly updatedInput?: never;
47
- };
48
- export type PermissionDeniedResult = {
49
- readonly retry: true;
50
- };
51
- export type ContextResult = {
52
- readonly additionalContext?: string;
53
- readonly initialUserMessage?: string;
54
- readonly watchPaths?: readonly string[];
55
- };
56
- export type ContinueFalseResult = {
57
- readonly continue: false;
58
- readonly stopReason?: string;
59
- };
60
- export type PostToolUseResult = TopLevelBlockResult | {
61
- readonly additionalContext?: string;
62
- readonly updatedToolOutput?: unknown;
63
- readonly updatedMCPToolOutput?: unknown;
64
- };
65
- export type ElicitationResult = {
66
- readonly action: "accept" | "decline" | "cancel";
67
- readonly content?: Readonly<Record<string, unknown>>;
68
- };
69
- export type WorktreeCreateResult = {
70
- readonly worktreePath: string;
71
- };
72
- export type ClaudeContextHookEventName = Exclude<ClaudeHookEventName, "Elicitation" | "ElicitationResult" | "ConfigChange" | "CwdChanged" | "FileChanged" | "InstructionsLoaded" | "Notification" | "PermissionDenied" | "PermissionRequest" | "PostCompact" | "PostToolUse" | "PostToolUseFailure" | "PostToolBatch" | "PreCompact" | "PreToolUse" | "SessionEnd" | "StopFailure" | "Stop" | "SubagentStop" | "TaskCompleted" | "TaskCreated" | "TeammateIdle" | "UserPromptExpansion" | "UserPromptSubmit" | "WorktreeCreate" | "WorktreeRemove">;
73
- export type ClaudeTopLevelBlockHookEventName = "UserPromptSubmit" | "UserPromptExpansion" | "PostToolUseFailure" | "PostToolBatch" | "Stop" | "SubagentStop" | "ConfigChange" | "PreCompact";
74
- export type ClaudeContinueFalseHookEventName = "TeammateIdle" | "TaskCreated" | "TaskCompleted";
75
- export type ClaudeHookResultFor<K extends ClaudeHookEventName> = K extends "PreToolUse" ? PreToolUseResult | undefined : K extends "PermissionRequest" ? PermissionRequestResult | undefined : K extends "PermissionDenied" ? PermissionDeniedResult | undefined : K extends "PostToolUse" ? PostToolUseResult | undefined : K extends ClaudeTopLevelBlockHookEventName ? TopLevelBlockResult | undefined : K extends ClaudeContinueFalseHookEventName ? ContinueFalseResult | undefined : K extends "Elicitation" | "ElicitationResult" ? ElicitationResult | undefined : K extends "WorktreeCreate" ? WorktreeCreateResult | undefined : K extends ClaudeContextHookEventName ? ContextResult | undefined : undefined;
76
- export type ClaudeHookResultForEvent<Event extends ClaudeHookEventFor<ClaudeHookEventName>> = Event["hook_event_name"] extends "PreToolUse" ? PreToolUseResultFor<Event> | undefined : ClaudeHookResultFor<Event["hook_event_name"]>;
77
- export type ClaudeHookResult = undefined | PreToolUseResult | TopLevelBlockResult | ContinueFalseResult | PermissionRequestResult | PermissionDeniedResult | ContextResult | PostToolUseResult | ElicitationResult | WorktreeCreateResult;
78
- //# sourceMappingURL=hooks.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../../src/claude/hooks.ts"],"names":[],"mappings":"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"}
@@ -1,6 +0,0 @@
1
- /**
2
- * Public Claude hook type barrel.
3
- * Implements PRD §6 and §7.
4
- */
5
- export { claudeHookEventNames, } from "./hook-names.js";
6
- //# sourceMappingURL=hooks.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"hooks.js","sourceRoot":"","sources":["../../src/claude/hooks.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAcH,OAAO,EAML,oBAAoB,GACrB,MAAM,iBAAiB,CAAC"}
@@ -1,11 +0,0 @@
1
- /**
2
- * Claude session hook bridge factory seam.
3
- * Implements PRD §6.2 and §13.
4
- */
5
- import { HookBridgeServer } from "../bridge/server.ts";
6
- import type { HookBridge } from "./session-instance.ts";
7
- export type ClaudeHookBridgeFactory = (socketPath: string, token: string, elwoodSessionId: string, dispatch: ConstructorParameters<typeof HookBridgeServer>[2], onError: ConstructorParameters<typeof HookBridgeServer>[3]) => HookBridge;
8
- export declare function currentClaudeHookBridgeFactory(): ClaudeHookBridgeFactory;
9
- export declare function setHookBridgeFactoryForTests(next: ClaudeHookBridgeFactory): void;
10
- export declare function resetClaudeHookBridgeFactoryForTests(): void;
11
- //# sourceMappingURL=session-bridge.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"session-bridge.d.ts","sourceRoot":"","sources":["../../src/claude/session-bridge.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAGxD,MAAM,MAAM,uBAAuB,GAAG,CACpC,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,MAAM,EACb,eAAe,EAAE,MAAM,EACvB,QAAQ,EAAE,qBAAqB,CAAC,OAAO,gBAAgB,CAAC,CAAC,CAAC,CAAC,EAC3D,OAAO,EAAE,qBAAqB,CAAC,OAAO,gBAAgB,CAAC,CAAC,CAAC,CAAC,KACvD,UAAU,CAAC;AAOhB,wBAAgB,8BAA8B,IAAI,uBAAuB,CAExE;AAED,wBAAgB,4BAA4B,CAAC,IAAI,EAAE,uBAAuB,GAAG,IAAI,CAEhF;AAED,wBAAgB,oCAAoC,IAAI,IAAI,CAE3D"}
@@ -1,18 +0,0 @@
1
- /**
2
- * Claude session hook bridge factory seam.
3
- * Implements PRD §6.2 and §13.
4
- */
5
- import { HookBridgeServer } from "../bridge/server.js";
6
- import { isClaudeHookInput } from "./validate-input.js";
7
- const realFactory = (socketPath, token, id, dispatch, onError) => new HookBridgeServer(socketPath, token, dispatch, onError, isClaudeHookInput, id);
8
- let factory = realFactory;
9
- export function currentClaudeHookBridgeFactory() {
10
- return factory;
11
- }
12
- export function setHookBridgeFactoryForTests(next) {
13
- factory = next;
14
- }
15
- export function resetClaudeHookBridgeFactoryForTests() {
16
- factory = realFactory;
17
- }
18
- //# sourceMappingURL=session-bridge.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"session-bridge.js","sourceRoot":"","sources":["../../src/claude/session-bridge.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAEvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAUxD,MAAM,WAAW,GAA4B,CAAC,UAAU,EAAE,KAAK,EAAE,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,CACxF,IAAI,gBAAgB,CAAC,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,iBAAiB,EAAE,EAAE,CAAC,CAAC;AAEpF,IAAI,OAAO,GAAG,WAAW,CAAC;AAE1B,MAAM,UAAU,8BAA8B;IAC5C,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,4BAA4B,CAAC,IAA6B;IACxE,OAAO,GAAG,IAAI,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,oCAAoC;IAClD,OAAO,GAAG,WAAW,CAAC;AACxB,CAAC"}
@@ -1,15 +0,0 @@
1
- import type { StartClaudeOptions } from "../core/types.ts";
2
- import type { SessionRuntime } from "../state/runtime-paths.ts";
3
- import { type SessionRecord } from "../state/store.ts";
4
- import { type ClaudePreflightWarning } from "./preflight.ts";
5
- import { ClaudeSessionImpl } from "./session-instance.ts";
6
- export type BuildClaudeSessionInput = {
7
- readonly record: SessionRecord;
8
- readonly stateDir: string;
9
- readonly runtime: SessionRuntime;
10
- readonly options: StartClaudeOptions;
11
- readonly resumed: boolean;
12
- readonly preflightWarning: ClaudePreflightWarning | undefined;
13
- };
14
- export declare function buildClaudeSession(input: BuildClaudeSessionInput): Promise<ClaudeSessionImpl>;
15
- //# sourceMappingURL=session-build.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"session-build.d.ts","sourceRoot":"","sources":["../../src/claude/session-build.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAkB,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAQ3E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,KAAK,aAAa,EAAsB,MAAM,mBAAmB,CAAC;AAE3E,OAAO,EAAE,KAAK,sBAAsB,EAAkB,MAAM,gBAAgB,CAAC;AAG7E,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAY1D,MAAM,MAAM,uBAAuB,GAAG;IACpC,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;IAC/B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAC;IACjC,QAAQ,CAAC,OAAO,EAAE,kBAAkB,CAAC;IACrC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,gBAAgB,EAAE,sBAAsB,GAAG,SAAS,CAAC;CAC/D,CAAC;AAEF,wBAAsB,kBAAkB,CACtC,KAAK,EAAE,uBAAuB,GAC7B,OAAO,CAAC,iBAAiB,CAAC,CAkJ5B"}
@@ -1,147 +0,0 @@
1
- /** Builds a live ClaudeSessionApi from a record + runtime. Implements PRD §5, §6, §8, §9. */
2
- import { defaultTerminalSize } from "../core/defaults.js";
3
- import { causeDetails, elwoodError } from "../core/errors.js";
4
- import { observeRenderedFrame } from "../core/rendered-observers.js";
5
- import { createStartupWarningGate, deliverFrameWarnings } from "../core/startup-frame.js";
6
- import { emitSettledStartupOutcomes } from "../core/startup-write.js";
7
- import { TerminalReplayBuffer } from "../core/terminal-replay.js";
8
- import { TypedEmitter } from "../events/emitter.js";
9
- import { loadRuntimeLoopDefinitions as loadLoops } from "../runtime/loop-restore.js";
10
- import { createReadinessGate } from "../runtime/session-readiness.js";
11
- import { assertStartupThenRelease, createStartupBuffer } from "../runtime/startup-buffer.js";
12
- import { cleanupStartupResources, guardStartupRegion } from "../runtime/startup-cleanup.js";
13
- import { secureMkdir } from "../state/files.js";
14
- import { writeSessionRecord } from "../state/store.js";
15
- import { attachPtyTerminal } from "../terminal/headless.js";
16
- import { preflightEvent } from "./preflight.js";
17
- import { currentClaudeHookBridgeFactory } from "./session-bridge.js";
18
- import { buildClaudeHookErrorHandler, buildClaudeHookHandler } from "./session-hook-handler.js";
19
- import { ClaudeSessionImpl } from "./session-instance.js";
20
- import { buildClaudeObservers, handleClaudeExit, registerInitialHooks, spawnClaudePty, writeRuntimeFiles, } from "./session-runtime.js";
21
- import { createTranscriptWatcher, observeTranscript } from "./session-transcript.js";
22
- import { ClaudeStartupPromptResponder } from "./startup-prompts.js";
23
- import { CLAUDE_STARTUP_MIN_COLS } from "./startup-size.js";
24
- export async function buildClaudeSession(input) {
25
- const { record, stateDir, runtime, options, resumed, preflightWarning } = input;
26
- secureMkdir(runtime.sessionDir);
27
- writeSessionRecord(record, runtime.sessionDir);
28
- const loopDefinitions = resumed ? loadLoops(stateDir, record.elwoodSessionId) : [];
29
- writeRuntimeFiles(runtime, options);
30
- const emitter = new TypedEmitter();
31
- registerInitialHooks(emitter, options.hooks);
32
- let session;
33
- // ALL startup-region warnings — startup-prompt (frame path) AND transcript
34
- // drop/read-error diagnostics — route through ONE gate that buffers anything emitted
35
- // before startClaude resolves and flushes it on a deferred macrotask after return,
36
- // so every source stays observable without late-subscriber replay (C-API-14).
37
- const warnGate = createStartupWarningGate({
38
- emitWarnings: (w) => deliverFrameWarnings(session, w),
39
- });
40
- const wired = createTranscriptWatcher(record.elwoodSessionId, emitter, () => warnGate);
41
- const { watcher: transcriptWatcher, flushPendingWarnings, finishSafely } = wired;
42
- // Initial readiness is hook-backed (`InstructionsLoaded` fires `mark`); the first
43
- // frame arms a starvation deadline so a missing/failed hook cannot starve the queue,
44
- // and on resume the first composer frame also marks ready (PRD §5.3, C-API-28).
45
- const autotrust = options.autotrust ?? false;
46
- // Observers are built BEFORE the readiness gate so its callback never closes
47
- // over a binding declared later in this function.
48
- const observers = buildClaudeObservers(record.elwoodSessionId, autotrust, emitter);
49
- const turnWatcher = observers.turn;
50
- const { ready, observeReadinessFrame } = createReadinessGate(() => {
51
- turnWatcher.arm(resumed); // resume arms in settling mode (no phantom replay turn)
52
- // completeInitialReady advances readiness in a finally, isolating restore/warning
53
- // failures internally, so its promise never rejects (not awaited).
54
- void session?.completeInitialReady();
55
- }, resumed);
56
- const bridge = currentClaudeHookBridgeFactory()(runtime.socketPath, runtime.bridgeToken, record.elwoodSessionId, buildClaudeHookHandler({
57
- record,
58
- options,
59
- emitter,
60
- transcriptWatcher,
61
- ready,
62
- getSession: () => session,
63
- getTurnWatcher: () => turnWatcher,
64
- observeHookTranscript: (event) => observeTranscript(transcriptWatcher, event),
65
- }), buildClaudeHookErrorHandler(record, emitter));
66
- try {
67
- await bridge.start();
68
- }
69
- catch (error) {
70
- // Best-effort shut down a partially-started bridge so its listener/socket is not
71
- // leaked; contained so the original bridge-start error is the one that rejects.
72
- await bridge.stop().catch(() => undefined);
73
- throw elwoodError("hook_bridge_failed", "Could not start Elwood hook bridge.", {
74
- ...causeDetails(error),
75
- socketPath: runtime.socketPath,
76
- });
77
- }
78
- const requestedSize = options.initialSize ?? defaultTerminalSize;
79
- const startupSize = {
80
- ...requestedSize,
81
- cols: Math.max(requestedSize.cols, CLAUDE_STARTUP_MIN_COLS),
82
- };
83
- let pty;
84
- try {
85
- pty = spawnClaudePty(record, runtime.settingsPath, { ...options, initialSize: startupSize });
86
- }
87
- catch (error) {
88
- await cleanupStartupResources({ bridge });
89
- throw error;
90
- }
91
- const startupOutput = createStartupBuffer();
92
- let startupExit;
93
- const terminalReplay = new TerminalReplayBuffer(record.elwoodSessionId);
94
- terminalReplay.captureStartupAttention(emitter);
95
- const promptResponder = new ClaudeStartupPromptResponder(autotrust);
96
- let latestRenderedText = "";
97
- const terminal = attachPtyTerminal(startupSize, pty, (data, renderedTerminal) => {
98
- startupOutput.push(data);
99
- terminalReplay.push(data);
100
- latestRenderedText = renderedTerminal.snapshot().text;
101
- const frame = { text: latestRenderedText, title: renderedTerminal.title };
102
- // The write RETURNS its `sendInput` completion (no longer swallowed): the
103
- // responder settles the prompt and its `startup_prompt` activity only after
104
- // the write fulfills, and a rejected write stays retryable + warns (C-CLAUDE-16).
105
- const autos = promptResponder.handle(frame.text, (input) => renderedTerminal.sendInput(input), () => latestRenderedText);
106
- // Warning delivery is CONTAINED on the frame path: a throwing `warning`/`activity`
107
- // listener must never skip readiness, login detection, or terminal:data (§5.7).
108
- emitSettledStartupOutcomes(emitter, "claude", record.elwoodSessionId, autos, {
109
- emitWarnings: (warnings) => warnGate.emitWarnings(warnings),
110
- });
111
- // Hook-backed readiness + deadline fallback; on resume the first composer also marks ready (C-API-28).
112
- ready.armDeadline();
113
- const reading = observeRenderedFrame(observers, frame, session);
114
- observeReadinessFrame(reading.facts); // blocking gate + resume-composer mark
115
- // Surface a mid-session login-expiry banner once (C-CLAUDE-18); no-op pre-readiness.
116
- session?.noteLoginExpiry(frame.text);
117
- emitter.emit("terminal:data", { elwoodSessionId: record.elwoodSessionId, data });
118
- });
119
- session = new ClaudeSessionImpl(record, stateDir, runtime, pty, terminal, bridge, emitter, terminalReplay, requestedSize, loopDefinitions);
120
- const active = session;
121
- const beforeCleanup = () => active.pauseLoopsForStartupCleanup(ready.cancel);
122
- // Guard every live-resource step after session creation: a failure in any of them
123
- // tears down the now-live PTY, bridge, terminal, and watcher first (PRD §9.1, §9.4).
124
- await guardStartupRegion(async () => {
125
- active.startLoops();
126
- flushPendingWarnings(); // sink now exists: flush any early-buffered diagnostic (§5.7)
127
- // A hook or deadline that fired before the session existed submitted nothing
128
- // (evidence is `session?.`-guarded); replay it now the session can consume it.
129
- ready.replay();
130
- pty.onExit((exit) => {
131
- startupExit = exit;
132
- ready.cancel(); // No queued message can release after exit; drop the pending deadline.
133
- handleClaudeExit(emitter, record.elwoodSessionId, exit, finishSafely, () => active.submitExit());
134
- });
135
- // Release the startup buffer once the check settles (§9.4).
136
- await assertStartupThenRelease("claude", startupOutput, () => startupExit);
137
- active.submitEvidence("startup_usable");
138
- }, { before: beforeCleanup, pty, bridge, terminal, after: () => transcriptWatcher.stop() });
139
- // Open buffered startup warnings after return so synchronous subscribers see them (C-API-14).
140
- if (preflightWarning !== undefined) {
141
- warnGate.emitWarnings([preflightEvent(record.elwoodSessionId, preflightWarning)]);
142
- }
143
- warnGate.openAfterReturn();
144
- terminalReplay.releaseStartupAttentionAfterReturn();
145
- return session;
146
- }
147
- //# sourceMappingURL=session-build.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"session-build.js","sourceRoot":"","sources":["../../src/claude/session-build.ts"],"names":[],"mappings":"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"}
@@ -1,34 +0,0 @@
1
- /**
2
- * The Claude hook-bridge message and error handlers that `session-build.ts` hands
3
- * to the bridge factory. Implements PRD §5.3, §5.4, §6, and §8:
4
- * normalize each hook, emit its `hook`/`activity` events, run the caller's hook
5
- * with a bounded timeout, and drive readiness/turn state — initial readiness on
6
- * `InstructionsLoaded` (C-API-28), turn-end on an unblocked `Stop` (C-CLAUDE-15).
7
- */
8
- import type { BridgeProcessResult } from "../bridge/types.ts";
9
- import type { TurnStateWatcher } from "../core/turn-state.ts";
10
- import type { ClaudeEventMap, HookErrorEvent, StartClaudeOptions } from "../core/types.ts";
11
- import type { TypedEmitter } from "../events/emitter.ts";
12
- import type { InitialReady } from "../runtime/initial-ready.ts";
13
- import type { SessionRecord } from "../state/store.ts";
14
- import type { ClaudeHookEvent } from "./hooks.ts";
15
- import type { ClaudeSessionImpl } from "./session-instance.ts";
16
- /** The live pieces the Claude hook handler drives; `session`/`turnWatcher` are read
17
- * lazily because both are assigned after the bridge is constructed. */
18
- export type ClaudeHookHandlerDeps = {
19
- readonly record: SessionRecord;
20
- readonly options: StartClaudeOptions;
21
- readonly emitter: TypedEmitter<ClaudeEventMap>;
22
- readonly transcriptWatcher: {
23
- readonly scan: () => void;
24
- };
25
- readonly ready: InitialReady;
26
- readonly getSession: () => ClaudeSessionImpl | undefined;
27
- readonly getTurnWatcher: () => TurnStateWatcher;
28
- readonly observeHookTranscript: (event: ClaudeHookEvent) => void;
29
- };
30
- /** Builds the async hook-message handler passed to the Claude hook bridge factory. */
31
- export declare function buildClaudeHookHandler(deps: ClaudeHookHandlerDeps): (input: unknown) => Promise<BridgeProcessResult>;
32
- /** Builds the hook-error handler passed to the Claude hook bridge factory. */
33
- export declare function buildClaudeHookErrorHandler(record: SessionRecord, emitter: TypedEmitter<ClaudeEventMap>): (event: Omit<HookErrorEvent, "elwoodSessionId">) => void;
34
- //# sourceMappingURL=session-hook-handler.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"session-hook-handler.d.ts","sourceRoot":"","sources":["../../src/claude/session-hook-handler.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAE9D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAC3F,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAEvD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAGlD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAE/D;uEACuE;AACvE,MAAM,MAAM,qBAAqB,GAAG;IAClC,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;IAC/B,QAAQ,CAAC,OAAO,EAAE,kBAAkB,CAAC;IACrC,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAC,cAAc,CAAC,CAAC;IAC/C,QAAQ,CAAC,iBAAiB,EAAE;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,IAAI,CAAA;KAAE,CAAC;IAC1D,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC;IAC7B,QAAQ,CAAC,UAAU,EAAE,MAAM,iBAAiB,GAAG,SAAS,CAAC;IACzD,QAAQ,CAAC,cAAc,EAAE,MAAM,gBAAgB,CAAC;IAChD,QAAQ,CAAC,qBAAqB,EAAE,CAAC,KAAK,EAAE,eAAe,KAAK,IAAI,CAAC;CAClE,CAAC;AAEF,sFAAsF;AACtF,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,qBAAqB,GAC1B,CAAC,KAAK,EAAE,OAAO,KAAK,OAAO,CAAC,mBAAmB,CAAC,CAiClD;AAED,8EAA8E;AAC9E,wBAAgB,2BAA2B,CACzC,MAAM,EAAE,aAAa,EACrB,OAAO,EAAE,YAAY,CAAC,cAAc,CAAC,GACpC,CAAC,KAAK,EAAE,IAAI,CAAC,cAAc,EAAE,iBAAiB,CAAC,KAAK,IAAI,CAM1D"}
@@ -1,42 +0,0 @@
1
- /**
2
- * The Claude hook-bridge message and error handlers that `session-build.ts` hands
3
- * to the bridge factory. Implements PRD §5.3, §5.4, §6, and §8:
4
- * normalize each hook, emit its `hook`/`activity` events, run the caller's hook
5
- * with a bounded timeout, and drive readiness/turn state — initial readiness on
6
- * `InstructionsLoaded` (C-API-28), turn-end on an unblocked `Stop` (C-CLAUDE-15).
7
- */
8
- import * as activity from "../core/activity.js";
9
- import { isBlock, requestHook } from "./hook-dispatch.js";
10
- import { normalizeClaudeHookEvent } from "./normalize.js";
11
- import { serializeHookResult } from "./serialize.js";
12
- /** Builds the async hook-message handler passed to the Claude hook bridge factory. */
13
- export function buildClaudeHookHandler(deps) {
14
- const { record, options, emitter, transcriptWatcher, ready } = deps;
15
- return async (input) => {
16
- const event = normalizeClaudeHookEvent(input);
17
- if (event.hook_event_name === "SessionStart")
18
- deps.getSession()?.rememberClaudeSessionId(event.session_id);
19
- deps.observeHookTranscript(event);
20
- emitter.emit("hook", event);
21
- emitter.emit("activity", activity.activityFromClaudeHook(record.elwoodSessionId, event));
22
- const outcome = await requestHook(emitter, event, options.hookTimeoutMs ?? 25_000, record.elwoodSessionId);
23
- emitter.emit("activity", activity.activityFromHookResult("claude", record.elwoodSessionId, event.hook_event_name, outcome.result, outcome.failedOpen));
24
- if (event.hook_event_name === "InstructionsLoaded")
25
- ready.mark();
26
- if (event.hook_event_name === "Stop" && !isBlock(outcome.result)) {
27
- transcriptWatcher.scan(); // Committed turn is on disk; read it now (C-CLAUDE-15).
28
- deps.getTurnWatcher().arm();
29
- deps.getSession()?.submitEvidence("hook_turn_ended");
30
- }
31
- return serializeHookResult(event.hook_event_name, outcome.result);
32
- };
33
- }
34
- /** Builds the hook-error handler passed to the Claude hook bridge factory. */
35
- export function buildClaudeHookErrorHandler(record, emitter) {
36
- return (event) => {
37
- const hookError = { elwoodSessionId: record.elwoodSessionId, ...event };
38
- emitter.emit("hookError", hookError);
39
- emitter.emit("activity", activity.activityFromHookError("claude", hookError));
40
- };
41
- }
42
- //# sourceMappingURL=session-hook-handler.js.map