@with-logic/elwood 0.1.0 → 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (673) hide show
  1. package/CHANGELOG.md +166 -1
  2. package/LICENSE +1 -1
  3. package/README.md +276 -13
  4. package/dist/claude/command.d.ts +9 -2
  5. package/dist/claude/command.d.ts.map +1 -1
  6. package/dist/claude/command.js +23 -16
  7. package/dist/claude/command.js.map +1 -1
  8. package/dist/claude/session/index.d.ts.map +1 -1
  9. package/dist/claude/session/index.js +5 -2
  10. package/dist/claude/session/index.js.map +1 -1
  11. package/dist/claude/session/resume.d.ts +1 -1
  12. package/dist/claude/session/resume.d.ts.map +1 -1
  13. package/dist/claude/session/resume.js +5 -1
  14. package/dist/claude/session/resume.js.map +1 -1
  15. package/dist/claude/simple.d.ts.map +1 -1
  16. package/dist/claude/simple.js +4 -0
  17. package/dist/claude/simple.js.map +1 -1
  18. package/dist/cli/args/index.d.ts +3 -1
  19. package/dist/cli/args/index.d.ts.map +1 -1
  20. package/dist/cli/args/index.js +10 -2
  21. package/dist/cli/args/index.js.map +1 -1
  22. package/dist/cli/args/options.d.ts.map +1 -1
  23. package/dist/cli/args/options.js +2 -0
  24. package/dist/cli/args/options.js.map +1 -1
  25. package/dist/cli/args-commands.d.ts +10 -0
  26. package/dist/cli/args-commands.d.ts.map +1 -0
  27. package/dist/cli/args-commands.js +113 -0
  28. package/dist/cli/args-commands.js.map +1 -0
  29. package/dist/cli/command-types.d.ts +26 -0
  30. package/dist/cli/command-types.d.ts.map +1 -0
  31. package/dist/cli/command-types.js +9 -0
  32. package/dist/cli/command-types.js.map +1 -0
  33. package/dist/cli/config/codec-primitives.d.ts +20 -0
  34. package/dist/cli/config/codec-primitives.d.ts.map +1 -0
  35. package/dist/cli/config/codec-primitives.js +51 -0
  36. package/dist/cli/config/codec-primitives.js.map +1 -0
  37. package/dist/cli/config/codec.d.ts.map +1 -1
  38. package/dist/cli/config/codec.js +4 -46
  39. package/dist/cli/config/codec.js.map +1 -1
  40. package/dist/cli/config/effective.d.ts.map +1 -1
  41. package/dist/cli/config/effective.js +1 -0
  42. package/dist/cli/config/effective.js.map +1 -1
  43. package/dist/cli/config/keys.d.ts +1 -1
  44. package/dist/cli/config/keys.d.ts.map +1 -1
  45. package/dist/cli/config/keys.js +1 -0
  46. package/dist/cli/config/keys.js.map +1 -1
  47. package/dist/cli/entry.d.ts +4 -2
  48. package/dist/cli/entry.d.ts.map +1 -1
  49. package/dist/cli/entry.js +2 -1
  50. package/dist/cli/entry.js.map +1 -1
  51. package/dist/cli/help.d.ts +2 -2
  52. package/dist/cli/help.d.ts.map +1 -1
  53. package/dist/cli/help.js +40 -1
  54. package/dist/cli/help.js.map +1 -1
  55. package/dist/cli/interactive/index.d.ts +26 -0
  56. package/dist/cli/interactive/index.d.ts.map +1 -0
  57. package/dist/cli/interactive/index.js +33 -0
  58. package/dist/cli/interactive/index.js.map +1 -0
  59. package/dist/cli/interactive/launch.d.ts +14 -0
  60. package/dist/cli/interactive/launch.d.ts.map +1 -0
  61. package/dist/cli/interactive/launch.js +66 -0
  62. package/dist/cli/interactive/launch.js.map +1 -0
  63. package/dist/cli/interactive/spawn.d.ts +18 -0
  64. package/dist/cli/interactive/spawn.d.ts.map +1 -0
  65. package/dist/cli/interactive/spawn.js +32 -0
  66. package/dist/cli/interactive/spawn.js.map +1 -0
  67. package/dist/cli/main-failure.d.ts +28 -0
  68. package/dist/cli/main-failure.d.ts.map +1 -0
  69. package/dist/cli/main-failure.js +78 -0
  70. package/dist/cli/main-failure.js.map +1 -0
  71. package/dist/cli/main.d.ts +12 -4
  72. package/dist/cli/main.d.ts.map +1 -1
  73. package/dist/cli/main.js +27 -73
  74. package/dist/cli/main.js.map +1 -1
  75. package/dist/cli/models/index.d.ts +20 -0
  76. package/dist/cli/models/index.d.ts.map +1 -0
  77. package/dist/cli/models/index.js +60 -0
  78. package/dist/cli/models/index.js.map +1 -0
  79. package/dist/cli/models/render.d.ts +9 -0
  80. package/dist/cli/models/render.d.ts.map +1 -0
  81. package/dist/cli/models/render.js +33 -0
  82. package/dist/cli/models/render.js.map +1 -0
  83. package/dist/cli/request/index.d.ts.map +1 -1
  84. package/dist/cli/request/index.js +8 -2
  85. package/dist/cli/request/index.js.map +1 -1
  86. package/dist/cli/request/posture.d.ts +28 -0
  87. package/dist/cli/request/posture.d.ts.map +1 -0
  88. package/dist/cli/request/posture.js +70 -0
  89. package/dist/cli/request/posture.js.map +1 -0
  90. package/dist/cli/request/resolution-types.d.ts +1 -0
  91. package/dist/cli/request/resolution-types.d.ts.map +1 -1
  92. package/dist/cli/request/settings.d.ts +2 -12
  93. package/dist/cli/request/settings.d.ts.map +1 -1
  94. package/dist/cli/request/settings.js +2 -25
  95. package/dist/cli/request/settings.js.map +1 -1
  96. package/dist/cli/request/validation.d.ts +12 -0
  97. package/dist/cli/request/validation.d.ts.map +1 -1
  98. package/dist/cli/request/validation.js +30 -10
  99. package/dist/cli/request/validation.js.map +1 -1
  100. package/dist/cli/request/values.d.ts +1 -0
  101. package/dist/cli/request/values.d.ts.map +1 -1
  102. package/dist/cli/request/values.js +1 -0
  103. package/dist/cli/request/values.js.map +1 -1
  104. package/dist/cli/run/index.d.ts.map +1 -1
  105. package/dist/cli/run/index.js +5 -41
  106. package/dist/cli/run/index.js.map +1 -1
  107. package/dist/cli/run/subscribe.d.ts +19 -0
  108. package/dist/cli/run/subscribe.d.ts.map +1 -0
  109. package/dist/cli/run/subscribe.js +47 -0
  110. package/dist/cli/run/subscribe.js.map +1 -0
  111. package/dist/cli/session/launch.d.ts +3 -0
  112. package/dist/cli/session/launch.d.ts.map +1 -1
  113. package/dist/cli/session/launch.js +11 -0
  114. package/dist/cli/session/launch.js.map +1 -1
  115. package/dist/cli/sessions/index.d.ts +23 -0
  116. package/dist/cli/sessions/index.d.ts.map +1 -0
  117. package/dist/cli/sessions/index.js +65 -0
  118. package/dist/cli/sessions/index.js.map +1 -0
  119. package/dist/cli/sessions/list.d.ts +28 -0
  120. package/dist/cli/sessions/list.d.ts.map +1 -0
  121. package/dist/cli/sessions/list.js +63 -0
  122. package/dist/cli/sessions/list.js.map +1 -0
  123. package/dist/cli/table.d.ts +7 -0
  124. package/dist/cli/table.d.ts.map +1 -0
  125. package/dist/cli/table.js +14 -0
  126. package/dist/cli/table.js.map +1 -0
  127. package/dist/cli/types.d.ts +5 -1
  128. package/dist/cli/types.d.ts.map +1 -1
  129. package/dist/cli/types.js.map +1 -1
  130. package/dist/codex/command.d.ts +18 -2
  131. package/dist/codex/command.d.ts.map +1 -1
  132. package/dist/codex/command.js +39 -24
  133. package/dist/codex/command.js.map +1 -1
  134. package/dist/codex/session/index.d.ts.map +1 -1
  135. package/dist/codex/session/index.js +5 -2
  136. package/dist/codex/session/index.js.map +1 -1
  137. package/dist/codex/session/resume.d.ts +1 -1
  138. package/dist/codex/session/resume.d.ts.map +1 -1
  139. package/dist/codex/session/resume.js +5 -1
  140. package/dist/codex/session/resume.js.map +1 -1
  141. package/dist/codex/session/types.d.ts +3 -0
  142. package/dist/codex/session/types.d.ts.map +1 -1
  143. package/dist/codex/simple.d.ts.map +1 -1
  144. package/dist/codex/simple.js +4 -0
  145. package/dist/codex/simple.js.map +1 -1
  146. package/dist/core/errors.d.ts +1 -1
  147. package/dist/core/errors.d.ts.map +1 -1
  148. package/dist/core/errors.js.map +1 -1
  149. package/dist/core/high-trust.d.ts +41 -0
  150. package/dist/core/high-trust.d.ts.map +1 -0
  151. package/dist/core/high-trust.js +50 -0
  152. package/dist/core/high-trust.js.map +1 -0
  153. package/dist/core/trust/allowlist.d.ts +56 -0
  154. package/dist/core/trust/allowlist.d.ts.map +1 -0
  155. package/dist/core/{trust-prompts.js → trust/allowlist.js} +21 -38
  156. package/dist/core/trust/allowlist.js.map +1 -0
  157. package/dist/core/trust/prompts.d.ts +4 -46
  158. package/dist/core/trust/prompts.d.ts.map +1 -1
  159. package/dist/core/trust/prompts.js +2 -73
  160. package/dist/core/trust/prompts.js.map +1 -1
  161. package/dist/core/trust/responder.d.ts +2 -0
  162. package/dist/core/trust/responder.d.ts.map +1 -1
  163. package/dist/core/trust/responder.js +4 -0
  164. package/dist/core/trust/responder.js.map +1 -1
  165. package/dist/core/types.d.ts +3 -0
  166. package/dist/core/types.d.ts.map +1 -1
  167. package/dist/runtime/launch-arguments.d.ts +12 -0
  168. package/dist/runtime/launch-arguments.d.ts.map +1 -0
  169. package/dist/runtime/launch-arguments.js +15 -0
  170. package/dist/runtime/launch-arguments.js.map +1 -0
  171. package/docs/cli-behavior.md +88 -0
  172. package/docs/cli-output.md +60 -0
  173. package/docs/cli.md +10 -2
  174. package/package.json +8 -6
  175. package/dist/claude/hook-dispatch.d.ts +0 -9
  176. package/dist/claude/hook-dispatch.d.ts.map +0 -1
  177. package/dist/claude/hook-dispatch.js +0 -12
  178. package/dist/claude/hook-dispatch.js.map +0 -1
  179. package/dist/claude/hook-events-extra.d.ts +0 -81
  180. package/dist/claude/hook-events-extra.d.ts.map +0 -1
  181. package/dist/claude/hook-events-extra.js +0 -6
  182. package/dist/claude/hook-events-extra.js.map +0 -1
  183. package/dist/claude/hook-events.d.ts +0 -101
  184. package/dist/claude/hook-events.d.ts.map +0 -1
  185. package/dist/claude/hook-events.js +0 -6
  186. package/dist/claude/hook-events.js.map +0 -1
  187. package/dist/claude/hook-names.d.ts +0 -24
  188. package/dist/claude/hook-names.d.ts.map +0 -1
  189. package/dist/claude/hook-names.js +0 -45
  190. package/dist/claude/hook-names.js.map +0 -1
  191. package/dist/claude/hooks.d.ts +0 -78
  192. package/dist/claude/hooks.d.ts.map +0 -1
  193. package/dist/claude/hooks.js +0 -6
  194. package/dist/claude/hooks.js.map +0 -1
  195. package/dist/claude/session-bridge.d.ts +0 -11
  196. package/dist/claude/session-bridge.d.ts.map +0 -1
  197. package/dist/claude/session-bridge.js +0 -18
  198. package/dist/claude/session-bridge.js.map +0 -1
  199. package/dist/claude/session-build.d.ts +0 -15
  200. package/dist/claude/session-build.d.ts.map +0 -1
  201. package/dist/claude/session-build.js +0 -147
  202. package/dist/claude/session-build.js.map +0 -1
  203. package/dist/claude/session-hook-handler.d.ts +0 -34
  204. package/dist/claude/session-hook-handler.d.ts.map +0 -1
  205. package/dist/claude/session-hook-handler.js +0 -42
  206. package/dist/claude/session-hook-handler.js.map +0 -1
  207. package/dist/claude/session-instance.d.ts +0 -42
  208. package/dist/claude/session-instance.d.ts.map +0 -1
  209. package/dist/claude/session-instance.js +0 -146
  210. package/dist/claude/session-instance.js.map +0 -1
  211. package/dist/claude/session-interface.d.ts +0 -49
  212. package/dist/claude/session-interface.d.ts.map +0 -1
  213. package/dist/claude/session-interface.js +0 -10
  214. package/dist/claude/session-interface.js.map +0 -1
  215. package/dist/claude/session-resume.d.ts +0 -8
  216. package/dist/claude/session-resume.d.ts.map +0 -1
  217. package/dist/claude/session-resume.js +0 -47
  218. package/dist/claude/session-resume.js.map +0 -1
  219. package/dist/claude/session-runtime.d.ts +0 -43
  220. package/dist/claude/session-runtime.d.ts.map +0 -1
  221. package/dist/claude/session-runtime.js +0 -105
  222. package/dist/claude/session-runtime.js.map +0 -1
  223. package/dist/claude/session-transcript.d.ts +0 -62
  224. package/dist/claude/session-transcript.d.ts.map +0 -1
  225. package/dist/claude/session-transcript.js +0 -88
  226. package/dist/claude/session-transcript.js.map +0 -1
  227. package/dist/claude/session.d.ts +0 -18
  228. package/dist/claude/session.d.ts.map +0 -1
  229. package/dist/claude/session.js +0 -58
  230. package/dist/claude/session.js.map +0 -1
  231. package/dist/claude/start-or-resume.d.ts +0 -12
  232. package/dist/claude/start-or-resume.d.ts.map +0 -1
  233. package/dist/claude/start-or-resume.js +0 -32
  234. package/dist/claude/start-or-resume.js.map +0 -1
  235. package/dist/claude/tool-hook-events.d.ts +0 -10
  236. package/dist/claude/tool-hook-events.d.ts.map +0 -1
  237. package/dist/claude/tool-hook-events.js +0 -18
  238. package/dist/claude/tool-hook-events.js.map +0 -1
  239. package/dist/claude/tool-types.d.ts +0 -158
  240. package/dist/claude/tool-types.d.ts.map +0 -1
  241. package/dist/claude/tool-types.js +0 -6
  242. package/dist/claude/tool-types.js.map +0 -1
  243. package/dist/claude/validate-input.d.ts +0 -8
  244. package/dist/claude/validate-input.d.ts.map +0 -1
  245. package/dist/claude/validate-input.js +0 -137
  246. package/dist/claude/validate-input.js.map +0 -1
  247. package/dist/claude/validate-permission-update.d.ts +0 -10
  248. package/dist/claude/validate-permission-update.d.ts.map +0 -1
  249. package/dist/claude/validate-permission-update.js +0 -72
  250. package/dist/claude/validate-permission-update.js.map +0 -1
  251. package/dist/claude/validate-result.d.ts +0 -7
  252. package/dist/claude/validate-result.d.ts.map +0 -1
  253. package/dist/claude/validate-result.js +0 -118
  254. package/dist/claude/validate-result.js.map +0 -1
  255. package/dist/claude/validate-shapes.d.ts +0 -22
  256. package/dist/claude/validate-shapes.d.ts.map +0 -1
  257. package/dist/claude/validate-shapes.js +0 -15
  258. package/dist/claude/validate-shapes.js.map +0 -1
  259. package/dist/claude/validate-tool-update.d.ts +0 -15
  260. package/dist/claude/validate-tool-update.d.ts.map +0 -1
  261. package/dist/claude/validate-tool-update.js +0 -122
  262. package/dist/claude/validate-tool-update.js.map +0 -1
  263. package/dist/cli/agent-detect.d.ts +0 -44
  264. package/dist/cli/agent-detect.d.ts.map +0 -1
  265. package/dist/cli/agent-detect.js +0 -66
  266. package/dist/cli/agent-detect.js.map +0 -1
  267. package/dist/cli/arg-errors.d.ts +0 -6
  268. package/dist/cli/arg-errors.d.ts.map +0 -1
  269. package/dist/cli/arg-errors.js +0 -44
  270. package/dist/cli/arg-errors.js.map +0 -1
  271. package/dist/cli/arg-options.d.ts +0 -26
  272. package/dist/cli/arg-options.d.ts.map +0 -1
  273. package/dist/cli/arg-options.js +0 -50
  274. package/dist/cli/arg-options.js.map +0 -1
  275. package/dist/cli/args.d.ts +0 -7
  276. package/dist/cli/args.d.ts.map +0 -1
  277. package/dist/cli/args.js +0 -70
  278. package/dist/cli/args.js.map +0 -1
  279. package/dist/cli/lifecycle-outcome.d.ts +0 -13
  280. package/dist/cli/lifecycle-outcome.d.ts.map +0 -1
  281. package/dist/cli/lifecycle-outcome.js +0 -20
  282. package/dist/cli/lifecycle-outcome.js.map +0 -1
  283. package/dist/cli/lifecycle.d.ts +0 -61
  284. package/dist/cli/lifecycle.d.ts.map +0 -1
  285. package/dist/cli/lifecycle.js +0 -152
  286. package/dist/cli/lifecycle.js.map +0 -1
  287. package/dist/cli/request-finalize.d.ts +0 -10
  288. package/dist/cli/request-finalize.d.ts.map +0 -1
  289. package/dist/cli/request-finalize.js +0 -135
  290. package/dist/cli/request-finalize.js.map +0 -1
  291. package/dist/cli/request-layers.d.ts +0 -30
  292. package/dist/cli/request-layers.d.ts.map +0 -1
  293. package/dist/cli/request-layers.js +0 -44
  294. package/dist/cli/request-layers.js.map +0 -1
  295. package/dist/cli/request-settings.d.ts +0 -34
  296. package/dist/cli/request-settings.d.ts.map +0 -1
  297. package/dist/cli/request-settings.js +0 -66
  298. package/dist/cli/request-settings.js.map +0 -1
  299. package/dist/cli/request-sources.d.ts +0 -13
  300. package/dist/cli/request-sources.d.ts.map +0 -1
  301. package/dist/cli/request-sources.js +0 -23
  302. package/dist/cli/request-sources.js.map +0 -1
  303. package/dist/cli/request-validation.d.ts +0 -18
  304. package/dist/cli/request-validation.d.ts.map +0 -1
  305. package/dist/cli/request-validation.js +0 -84
  306. package/dist/cli/request-validation.js.map +0 -1
  307. package/dist/cli/request-values.d.ts +0 -33
  308. package/dist/cli/request-values.d.ts.map +0 -1
  309. package/dist/cli/request-values.js +0 -73
  310. package/dist/cli/request-values.js.map +0 -1
  311. package/dist/cli/request.d.ts +0 -12
  312. package/dist/cli/request.d.ts.map +0 -1
  313. package/dist/cli/request.js +0 -103
  314. package/dist/cli/request.js.map +0 -1
  315. package/dist/cli/resolution-types.d.ts +0 -35
  316. package/dist/cli/resolution-types.d.ts.map +0 -1
  317. package/dist/cli/resolution-types.js +0 -6
  318. package/dist/cli/resolution-types.js.map +0 -1
  319. package/dist/cli/run-output-lines.d.ts +0 -14
  320. package/dist/cli/run-output-lines.d.ts.map +0 -1
  321. package/dist/cli/run-output-lines.js +0 -42
  322. package/dist/cli/run-output-lines.js.map +0 -1
  323. package/dist/cli/run-output.d.ts +0 -48
  324. package/dist/cli/run-output.d.ts.map +0 -1
  325. package/dist/cli/run-output.js +0 -150
  326. package/dist/cli/run-output.js.map +0 -1
  327. package/dist/cli/run.d.ts +0 -20
  328. package/dist/cli/run.d.ts.map +0 -1
  329. package/dist/cli/run.js +0 -126
  330. package/dist/cli/run.js.map +0 -1
  331. package/dist/cli/session-launch.d.ts +0 -23
  332. package/dist/cli/session-launch.d.ts.map +0 -1
  333. package/dist/cli/session-launch.js +0 -57
  334. package/dist/cli/session-launch.js.map +0 -1
  335. package/dist/cli/session.d.ts +0 -68
  336. package/dist/cli/session.d.ts.map +0 -1
  337. package/dist/cli/session.js +0 -124
  338. package/dist/cli/session.js.map +0 -1
  339. package/dist/codex/attach-images.d.ts +0 -20
  340. package/dist/codex/attach-images.d.ts.map +0 -1
  341. package/dist/codex/attach-images.js +0 -66
  342. package/dist/codex/attach-images.js.map +0 -1
  343. package/dist/codex/clipboard-lock.d.ts +0 -15
  344. package/dist/codex/clipboard-lock.d.ts.map +0 -1
  345. package/dist/codex/clipboard-lock.js +0 -16
  346. package/dist/codex/clipboard-lock.js.map +0 -1
  347. package/dist/codex/clipboard.d.ts +0 -32
  348. package/dist/codex/clipboard.d.ts.map +0 -1
  349. package/dist/codex/clipboard.js +0 -92
  350. package/dist/codex/clipboard.js.map +0 -1
  351. package/dist/codex/config-lock.d.ts +0 -21
  352. package/dist/codex/config-lock.d.ts.map +0 -1
  353. package/dist/codex/config-lock.js +0 -22
  354. package/dist/codex/config-lock.js.map +0 -1
  355. package/dist/codex/config-restore.d.ts +0 -33
  356. package/dist/codex/config-restore.d.ts.map +0 -1
  357. package/dist/codex/config-restore.js +0 -90
  358. package/dist/codex/config-restore.js.map +0 -1
  359. package/dist/codex/config-transaction.d.ts +0 -26
  360. package/dist/codex/config-transaction.d.ts.map +0 -1
  361. package/dist/codex/config-transaction.js +0 -47
  362. package/dist/codex/config-transaction.js.map +0 -1
  363. package/dist/codex/hook-dispatch.d.ts +0 -9
  364. package/dist/codex/hook-dispatch.d.ts.map +0 -1
  365. package/dist/codex/hook-dispatch.js +0 -14
  366. package/dist/codex/hook-dispatch.js.map +0 -1
  367. package/dist/codex/hook-names.d.ts +0 -19
  368. package/dist/codex/hook-names.d.ts.map +0 -1
  369. package/dist/codex/hook-names.js +0 -17
  370. package/dist/codex/hook-names.js.map +0 -1
  371. package/dist/codex/hooks.d.ts +0 -99
  372. package/dist/codex/hooks.d.ts.map +0 -1
  373. package/dist/codex/hooks.js +0 -6
  374. package/dist/codex/hooks.js.map +0 -1
  375. package/dist/codex/initial-ready.d.ts +0 -19
  376. package/dist/codex/initial-ready.d.ts.map +0 -1
  377. package/dist/codex/initial-ready.js +0 -19
  378. package/dist/codex/initial-ready.js.map +0 -1
  379. package/dist/codex/serialize.d.ts +0 -8
  380. package/dist/codex/serialize.d.ts.map +0 -1
  381. package/dist/codex/serialize.js +0 -48
  382. package/dist/codex/serialize.js.map +0 -1
  383. package/dist/codex/session-bridge.d.ts +0 -14
  384. package/dist/codex/session-bridge.d.ts.map +0 -1
  385. package/dist/codex/session-bridge.js +0 -20
  386. package/dist/codex/session-bridge.js.map +0 -1
  387. package/dist/codex/session-build.d.ts +0 -15
  388. package/dist/codex/session-build.d.ts.map +0 -1
  389. package/dist/codex/session-build.js +0 -144
  390. package/dist/codex/session-build.js.map +0 -1
  391. package/dist/codex/session-cleanup.d.ts +0 -12
  392. package/dist/codex/session-cleanup.d.ts.map +0 -1
  393. package/dist/codex/session-cleanup.js +0 -15
  394. package/dist/codex/session-cleanup.js.map +0 -1
  395. package/dist/codex/session-hooks.d.ts +0 -13
  396. package/dist/codex/session-hooks.d.ts.map +0 -1
  397. package/dist/codex/session-hooks.js +0 -54
  398. package/dist/codex/session-hooks.js.map +0 -1
  399. package/dist/codex/session-instance.d.ts +0 -50
  400. package/dist/codex/session-instance.d.ts.map +0 -1
  401. package/dist/codex/session-instance.js +0 -117
  402. package/dist/codex/session-instance.js.map +0 -1
  403. package/dist/codex/session-resume.d.ts +0 -7
  404. package/dist/codex/session-resume.d.ts.map +0 -1
  405. package/dist/codex/session-resume.js +0 -44
  406. package/dist/codex/session-resume.js.map +0 -1
  407. package/dist/codex/session-runtime.d.ts +0 -7
  408. package/dist/codex/session-runtime.d.ts.map +0 -1
  409. package/dist/codex/session-runtime.js +0 -10
  410. package/dist/codex/session-runtime.js.map +0 -1
  411. package/dist/codex/session-transcript.d.ts +0 -30
  412. package/dist/codex/session-transcript.d.ts.map +0 -1
  413. package/dist/codex/session-transcript.js +0 -53
  414. package/dist/codex/session-transcript.js.map +0 -1
  415. package/dist/codex/session-types.d.ts +0 -87
  416. package/dist/codex/session-types.d.ts.map +0 -1
  417. package/dist/codex/session-types.js +0 -6
  418. package/dist/codex/session-types.js.map +0 -1
  419. package/dist/codex/session-warnings.d.ts +0 -27
  420. package/dist/codex/session-warnings.d.ts.map +0 -1
  421. package/dist/codex/session-warnings.js +0 -54
  422. package/dist/codex/session-warnings.js.map +0 -1
  423. package/dist/codex/session.d.ts +0 -16
  424. package/dist/codex/session.d.ts.map +0 -1
  425. package/dist/codex/session.js +0 -61
  426. package/dist/codex/session.js.map +0 -1
  427. package/dist/codex/start-or-resume.d.ts +0 -12
  428. package/dist/codex/start-or-resume.d.ts.map +0 -1
  429. package/dist/codex/start-or-resume.js +0 -31
  430. package/dist/codex/start-or-resume.js.map +0 -1
  431. package/dist/codex/transcript/cursor-io.d.ts +0 -7
  432. package/dist/codex/transcript/cursor-io.d.ts.map +0 -1
  433. package/dist/codex/transcript/cursor-io.js +0 -7
  434. package/dist/codex/transcript/cursor-io.js.map +0 -1
  435. package/dist/codex/transcript/cursor.d.ts +0 -8
  436. package/dist/codex/transcript/cursor.d.ts.map +0 -1
  437. package/dist/codex/transcript/cursor.js +0 -8
  438. package/dist/codex/transcript/cursor.js.map +0 -1
  439. package/dist/codex/transcript/drops.d.ts +0 -9
  440. package/dist/codex/transcript/drops.d.ts.map +0 -1
  441. package/dist/codex/transcript/drops.js +0 -9
  442. package/dist/codex/transcript/drops.js.map +0 -1
  443. package/dist/codex/transcript.d.ts +0 -12
  444. package/dist/codex/transcript.d.ts.map +0 -1
  445. package/dist/codex/transcript.js +0 -10
  446. package/dist/codex/transcript.js.map +0 -1
  447. package/dist/codex/validate-result.d.ts +0 -7
  448. package/dist/codex/validate-result.d.ts.map +0 -1
  449. package/dist/codex/validate-result.js +0 -84
  450. package/dist/codex/validate-result.js.map +0 -1
  451. package/dist/codex/validate.d.ts +0 -11
  452. package/dist/codex/validate.d.ts.map +0 -1
  453. package/dist/codex/validate.js +0 -88
  454. package/dist/codex/validate.js.map +0 -1
  455. package/dist/core/activity-lifecycle.d.ts +0 -21
  456. package/dist/core/activity-lifecycle.d.ts.map +0 -1
  457. package/dist/core/activity-lifecycle.js +0 -45
  458. package/dist/core/activity-lifecycle.js.map +0 -1
  459. package/dist/core/activity-meta.d.ts +0 -13
  460. package/dist/core/activity-meta.d.ts.map +0 -1
  461. package/dist/core/activity-meta.js +0 -67
  462. package/dist/core/activity-meta.js.map +0 -1
  463. package/dist/core/activity-transcript.d.ts +0 -19
  464. package/dist/core/activity-transcript.d.ts.map +0 -1
  465. package/dist/core/activity-transcript.js +0 -60
  466. package/dist/core/activity-transcript.js.map +0 -1
  467. package/dist/core/activity.d.ts +0 -51
  468. package/dist/core/activity.d.ts.map +0 -1
  469. package/dist/core/activity.js +0 -81
  470. package/dist/core/activity.js.map +0 -1
  471. package/dist/core/control-queue-state.d.ts +0 -29
  472. package/dist/core/control-queue-state.d.ts.map +0 -1
  473. package/dist/core/control-queue-state.js +0 -95
  474. package/dist/core/control-queue-state.js.map +0 -1
  475. package/dist/core/control-queue-traits.d.ts +0 -54
  476. package/dist/core/control-queue-traits.d.ts.map +0 -1
  477. package/dist/core/control-queue-traits.js +0 -118
  478. package/dist/core/control-queue-traits.js.map +0 -1
  479. package/dist/core/control-queue-types.d.ts +0 -45
  480. package/dist/core/control-queue-types.d.ts.map +0 -1
  481. package/dist/core/control-queue-types.js +0 -7
  482. package/dist/core/control-queue-types.js.map +0 -1
  483. package/dist/core/control-queue.d.ts +0 -21
  484. package/dist/core/control-queue.d.ts.map +0 -1
  485. package/dist/core/control-queue.js +0 -98
  486. package/dist/core/control-queue.js.map +0 -1
  487. package/dist/core/list-models.d.ts +0 -44
  488. package/dist/core/list-models.d.ts.map +0 -1
  489. package/dist/core/list-models.js +0 -73
  490. package/dist/core/list-models.js.map +0 -1
  491. package/dist/core/model-picker.d.ts +0 -22
  492. package/dist/core/model-picker.d.ts.map +0 -1
  493. package/dist/core/model-picker.js +0 -58
  494. package/dist/core/model-picker.js.map +0 -1
  495. package/dist/core/model-rows.d.ts +0 -21
  496. package/dist/core/model-rows.d.ts.map +0 -1
  497. package/dist/core/model-rows.js +0 -57
  498. package/dist/core/model-rows.js.map +0 -1
  499. package/dist/core/probe-state.d.ts +0 -21
  500. package/dist/core/probe-state.d.ts.map +0 -1
  501. package/dist/core/probe-state.js +0 -39
  502. package/dist/core/probe-state.js.map +0 -1
  503. package/dist/core/session-input-abort.d.ts +0 -10
  504. package/dist/core/session-input-abort.d.ts.map +0 -1
  505. package/dist/core/session-input-abort.js +0 -44
  506. package/dist/core/session-input-abort.js.map +0 -1
  507. package/dist/core/session-input.d.ts +0 -37
  508. package/dist/core/session-input.d.ts.map +0 -1
  509. package/dist/core/session-input.js +0 -154
  510. package/dist/core/session-input.js.map +0 -1
  511. package/dist/core/session-warnings.d.ts +0 -20
  512. package/dist/core/session-warnings.d.ts.map +0 -1
  513. package/dist/core/session-warnings.js +0 -32
  514. package/dist/core/session-warnings.js.map +0 -1
  515. package/dist/core/simple/loop-controls.d.ts +0 -7
  516. package/dist/core/simple/loop-controls.d.ts.map +0 -1
  517. package/dist/core/simple/loop-controls.js +0 -7
  518. package/dist/core/simple/loop-controls.js.map +0 -1
  519. package/dist/core/startup-automation.d.ts +0 -54
  520. package/dist/core/startup-automation.d.ts.map +0 -1
  521. package/dist/core/startup-automation.js +0 -40
  522. package/dist/core/startup-automation.js.map +0 -1
  523. package/dist/core/startup-frame.d.ts +0 -39
  524. package/dist/core/startup-frame.d.ts.map +0 -1
  525. package/dist/core/startup-frame.js +0 -60
  526. package/dist/core/startup-frame.js.map +0 -1
  527. package/dist/core/startup-write.d.ts +0 -47
  528. package/dist/core/startup-write.d.ts.map +0 -1
  529. package/dist/core/startup-write.js +0 -73
  530. package/dist/core/startup-write.js.map +0 -1
  531. package/dist/core/trust-blocking.d.ts +0 -22
  532. package/dist/core/trust-blocking.d.ts.map +0 -1
  533. package/dist/core/trust-blocking.js +0 -38
  534. package/dist/core/trust-blocking.js.map +0 -1
  535. package/dist/core/trust-prompts.d.ts +0 -135
  536. package/dist/core/trust-prompts.d.ts.map +0 -1
  537. package/dist/core/trust-prompts.js.map +0 -1
  538. package/dist/core/trust-responder.d.ts +0 -48
  539. package/dist/core/trust-responder.d.ts.map +0 -1
  540. package/dist/core/trust-responder.js +0 -119
  541. package/dist/core/trust-responder.js.map +0 -1
  542. package/dist/core/tui-screen.d.ts +0 -21
  543. package/dist/core/tui-screen.d.ts.map +0 -1
  544. package/dist/core/tui-screen.js +0 -56
  545. package/dist/core/tui-screen.js.map +0 -1
  546. package/dist/core/update-warning.d.ts +0 -25
  547. package/dist/core/update-warning.d.ts.map +0 -1
  548. package/dist/core/update-warning.js +0 -33
  549. package/dist/core/update-warning.js.map +0 -1
  550. package/dist/core/warning-lifecycle.d.ts +0 -23
  551. package/dist/core/warning-lifecycle.d.ts.map +0 -1
  552. package/dist/core/warning-lifecycle.js +0 -6
  553. package/dist/core/warning-lifecycle.js.map +0 -1
  554. package/dist/core/warning-reasons.d.ts +0 -62
  555. package/dist/core/warning-reasons.d.ts.map +0 -1
  556. package/dist/core/warning-reasons.js +0 -121
  557. package/dist/core/warning-reasons.js.map +0 -1
  558. package/dist/core/warnings.d.ts +0 -145
  559. package/dist/core/warnings.d.ts.map +0 -1
  560. package/dist/core/warnings.js +0 -12
  561. package/dist/core/warnings.js.map +0 -1
  562. package/dist/runtime/cleanup-latch.d.ts +0 -27
  563. package/dist/runtime/cleanup-latch.d.ts.map +0 -1
  564. package/dist/runtime/cleanup-latch.js +0 -43
  565. package/dist/runtime/cleanup-latch.js.map +0 -1
  566. package/dist/runtime/initial-ready-advance.d.ts +0 -22
  567. package/dist/runtime/initial-ready-advance.d.ts.map +0 -1
  568. package/dist/runtime/initial-ready-advance.js +0 -39
  569. package/dist/runtime/initial-ready-advance.js.map +0 -1
  570. package/dist/runtime/initial-ready-fallback.d.ts +0 -12
  571. package/dist/runtime/initial-ready-fallback.d.ts.map +0 -1
  572. package/dist/runtime/initial-ready-fallback.js +0 -20
  573. package/dist/runtime/initial-ready-fallback.js.map +0 -1
  574. package/dist/runtime/initial-ready.d.ts +0 -49
  575. package/dist/runtime/initial-ready.d.ts.map +0 -1
  576. package/dist/runtime/initial-ready.js +0 -81
  577. package/dist/runtime/initial-ready.js.map +0 -1
  578. package/dist/runtime/reap-tree.d.ts +0 -62
  579. package/dist/runtime/reap-tree.d.ts.map +0 -1
  580. package/dist/runtime/reap-tree.js +0 -108
  581. package/dist/runtime/reap-tree.js.map +0 -1
  582. package/dist/runtime/session-base-types.d.ts +0 -36
  583. package/dist/runtime/session-base-types.d.ts.map +0 -1
  584. package/dist/runtime/session-base-types.js +0 -14
  585. package/dist/runtime/session-base-types.js.map +0 -1
  586. package/dist/runtime/session-base.d.ts +0 -48
  587. package/dist/runtime/session-base.d.ts.map +0 -1
  588. package/dist/runtime/session-base.js +0 -76
  589. package/dist/runtime/session-base.js.map +0 -1
  590. package/dist/runtime/session-commands.d.ts +0 -43
  591. package/dist/runtime/session-commands.d.ts.map +0 -1
  592. package/dist/runtime/session-commands.js +0 -52
  593. package/dist/runtime/session-commands.js.map +0 -1
  594. package/dist/runtime/session-exit.d.ts +0 -16
  595. package/dist/runtime/session-exit.d.ts.map +0 -1
  596. package/dist/runtime/session-exit.js +0 -32
  597. package/dist/runtime/session-exit.js.map +0 -1
  598. package/dist/runtime/session-image-attach.d.ts +0 -45
  599. package/dist/runtime/session-image-attach.d.ts.map +0 -1
  600. package/dist/runtime/session-image-attach.js +0 -82
  601. package/dist/runtime/session-image-attach.js.map +0 -1
  602. package/dist/runtime/session-lifecycle.d.ts +0 -61
  603. package/dist/runtime/session-lifecycle.d.ts.map +0 -1
  604. package/dist/runtime/session-lifecycle.js +0 -164
  605. package/dist/runtime/session-lifecycle.js.map +0 -1
  606. package/dist/runtime/session-loops.d.ts +0 -32
  607. package/dist/runtime/session-loops.d.ts.map +0 -1
  608. package/dist/runtime/session-loops.js +0 -62
  609. package/dist/runtime/session-loops.js.map +0 -1
  610. package/dist/runtime/session-readiness.d.ts +0 -18
  611. package/dist/runtime/session-readiness.d.ts.map +0 -1
  612. package/dist/runtime/session-readiness.js +0 -22
  613. package/dist/runtime/session-readiness.js.map +0 -1
  614. package/dist/runtime/session-reap.d.ts +0 -28
  615. package/dist/runtime/session-reap.d.ts.map +0 -1
  616. package/dist/runtime/session-reap.js +0 -51
  617. package/dist/runtime/session-reap.js.map +0 -1
  618. package/dist/runtime/session-resize.d.ts +0 -20
  619. package/dist/runtime/session-resize.d.ts.map +0 -1
  620. package/dist/runtime/session-resize.js +0 -26
  621. package/dist/runtime/session-resize.js.map +0 -1
  622. package/dist/runtime/session-shutdown-binding.d.ts +0 -30
  623. package/dist/runtime/session-shutdown-binding.d.ts.map +0 -1
  624. package/dist/runtime/session-shutdown-binding.js +0 -37
  625. package/dist/runtime/session-shutdown-binding.js.map +0 -1
  626. package/dist/runtime/session-shutdown.d.ts +0 -60
  627. package/dist/runtime/session-shutdown.d.ts.map +0 -1
  628. package/dist/runtime/session-shutdown.js +0 -140
  629. package/dist/runtime/session-shutdown.js.map +0 -1
  630. package/dist/runtime/session-status-wiring.d.ts +0 -38
  631. package/dist/runtime/session-status-wiring.d.ts.map +0 -1
  632. package/dist/runtime/session-status-wiring.js +0 -41
  633. package/dist/runtime/session-status-wiring.js.map +0 -1
  634. package/dist/runtime/session-status.d.ts +0 -7
  635. package/dist/runtime/session-status.d.ts.map +0 -1
  636. package/dist/runtime/session-status.js +0 -22
  637. package/dist/runtime/session-status.js.map +0 -1
  638. package/dist/runtime/shutdown-coordinator.d.ts +0 -57
  639. package/dist/runtime/shutdown-coordinator.d.ts.map +0 -1
  640. package/dist/runtime/shutdown-coordinator.js +0 -77
  641. package/dist/runtime/shutdown-coordinator.js.map +0 -1
  642. package/dist/runtime/startup-buffer.d.ts +0 -33
  643. package/dist/runtime/startup-buffer.d.ts.map +0 -1
  644. package/dist/runtime/startup-buffer.js +0 -53
  645. package/dist/runtime/startup-buffer.js.map +0 -1
  646. package/dist/runtime/startup-cleanup.d.ts +0 -43
  647. package/dist/runtime/startup-cleanup.d.ts.map +0 -1
  648. package/dist/runtime/startup-cleanup.js +0 -89
  649. package/dist/runtime/startup-cleanup.js.map +0 -1
  650. package/dist/runtime/startup.d.ts +0 -17
  651. package/dist/runtime/startup.d.ts.map +0 -1
  652. package/dist/runtime/startup.js +0 -47
  653. package/dist/runtime/startup.js.map +0 -1
  654. package/dist/runtime/status-emit.d.ts +0 -14
  655. package/dist/runtime/status-emit.d.ts.map +0 -1
  656. package/dist/runtime/status-emit.js +0 -15
  657. package/dist/runtime/status-emit.js.map +0 -1
  658. package/dist/runtime/teardown.d.ts +0 -15
  659. package/dist/runtime/teardown.d.ts.map +0 -1
  660. package/dist/runtime/teardown.js +0 -40
  661. package/dist/runtime/teardown.js.map +0 -1
  662. package/dist/runtime/terminate.d.ts +0 -22
  663. package/dist/runtime/terminate.d.ts.map +0 -1
  664. package/dist/runtime/terminate.js +0 -129
  665. package/dist/runtime/terminate.js.map +0 -1
  666. package/dist/runtime/update-lock.d.ts +0 -19
  667. package/dist/runtime/update-lock.d.ts.map +0 -1
  668. package/dist/runtime/update-lock.js +0 -183
  669. package/dist/runtime/update-lock.js.map +0 -1
  670. package/dist/runtime/update-once.d.ts +0 -40
  671. package/dist/runtime/update-once.d.ts.map +0 -1
  672. package/dist/runtime/update-once.js +0 -88
  673. package/dist/runtime/update-once.js.map +0 -1
@@ -1,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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"}
@@ -1,10 +0,0 @@
1
- /**
2
- * Runtime validation for Claude `updatedPermissions` (PermissionUpdate[]).
3
- *
4
- * Implements PRD §6.4: a `PermissionRequest` result may return
5
- * `updatedPermissions`, which is serialized to Claude. Each entry must match one
6
- * of the documented PermissionUpdate variants (see permissions.ts) rather than
7
- * merely being an array, so a malformed entry cannot slip through.
8
- */
9
- export declare function isPermissionUpdateArray(value: unknown): boolean;
10
- //# sourceMappingURL=validate-permission-update.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"validate-permission-update.d.ts","sourceRoot":"","sources":["../../src/claude/validate-permission-update.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAuCH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAE/D"}
@@ -1,72 +0,0 @@
1
- /**
2
- * Runtime validation for Claude `updatedPermissions` (PermissionUpdate[]).
3
- *
4
- * Implements PRD §6.4: a `PermissionRequest` result may return
5
- * `updatedPermissions`, which is serialized to Claude. Each entry must match one
6
- * of the documented PermissionUpdate variants (see permissions.ts) rather than
7
- * merely being an array, so a malformed entry cannot slip through.
8
- */
9
- import { isOneOf, isRecord, optionalString } from "../core/predicates.js";
10
- import { claudeHookPermissionModes } from "./hook-names.js";
11
- const destinations = ["session", "localSettings", "projectSettings", "userSettings"];
12
- const ruleBehaviors = ["allow", "deny", "ask"];
13
- const updateTypes = [
14
- "addRules",
15
- "replaceRules",
16
- "removeRules",
17
- "setMode",
18
- "addDirectories",
19
- "removeDirectories",
20
- ];
21
- // Bidirectional exactness guards (see Exact above). Each stops compiling the moment
22
- // its allowlist and the public union disagree.
23
- const _destinationsExact = destinations[0];
24
- const _behaviorsExact = ruleBehaviors[0];
25
- const _typesExact = updateTypes[0];
26
- void _destinationsExact;
27
- void _behaviorsExact;
28
- void _typesExact;
29
- export function isPermissionUpdateArray(value) {
30
- return Array.isArray(value) && value.every(isPermissionUpdate);
31
- }
32
- function isPermissionUpdate(value) {
33
- if (!isRecord(value))
34
- return false;
35
- if (!isOneOf(value["destination"], destinations))
36
- return false;
37
- const type = value["type"];
38
- if (type === "addRules" || type === "replaceRules" || type === "removeRules") {
39
- return isRulesUpdate(value);
40
- }
41
- if (type === "setMode")
42
- return isSetModeUpdate(value);
43
- if (type === "addDirectories" || type === "removeDirectories")
44
- return isDirectoriesUpdate(value);
45
- return false;
46
- }
47
- function isRulesUpdate(value) {
48
- return (keysAllowed(value, ["type", "rules", "behavior", "destination"]) &&
49
- isOneOf(value["behavior"], ruleBehaviors) &&
50
- Array.isArray(value["rules"]) &&
51
- value["rules"].every(isPermissionRule));
52
- }
53
- function isSetModeUpdate(value) {
54
- return (keysAllowed(value, ["type", "mode", "destination"]) &&
55
- isOneOf(value["mode"], claudeHookPermissionModes));
56
- }
57
- function isDirectoriesUpdate(value) {
58
- return (keysAllowed(value, ["type", "directories", "destination"]) &&
59
- Array.isArray(value["directories"]) &&
60
- value["directories"].every((entry) => typeof entry === "string"));
61
- }
62
- function isPermissionRule(value) {
63
- if (!isRecord(value))
64
- return false;
65
- return (keysAllowed(value, ["toolName", "ruleContent"]) &&
66
- typeof value["toolName"] === "string" &&
67
- optionalString(value["ruleContent"]));
68
- }
69
- function keysAllowed(value, allowed) {
70
- return Object.keys(value).every((key) => allowed.includes(key));
71
- }
72
- //# sourceMappingURL=validate-permission-update.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"validate-permission-update.js","sourceRoot":"","sources":["../../src/claude/validate-permission-update.ts"],"names":[],"mappings":"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"}
@@ -1,7 +0,0 @@
1
- /**
2
- * Runtime validation for Claude hook handler results.
3
- * Implements PRD §6.4.
4
- */
5
- import type { ClaudeHookEvent, ClaudeHookEventName, ClaudeHookResult } from "./hooks.ts";
6
- export declare function isClaudeHookResult(event: ClaudeHookEventName | ClaudeHookEvent, value: unknown): value is ClaudeHookResult;
7
- //# sourceMappingURL=validate-result.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"validate-result.d.ts","sourceRoot":"","sources":["../../src/claude/validate-result.ts"],"names":[],"mappings":"AAAA;;;GAGG;AASH,OAAO,KAAK,EAAE,eAAe,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAkBzF,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,mBAAmB,GAAG,eAAe,EAC5C,KAAK,EAAE,OAAO,GACb,KAAK,IAAI,gBAAgB,CAuB3B"}
@@ -1,118 +0,0 @@
1
- /**
2
- * Runtime validation for Claude hook handler results.
3
- * Implements PRD §6.4.
4
- */
5
- import { isOneOf, isRecord, optionalBoolean, optionalString, optionalStringArray, } from "../core/predicates.js";
6
- import { isPermissionUpdateArray } from "./validate-permission-update.js";
7
- import { isClaudeToolInputUpdate } from "./validate-tool-update.js";
8
- const contextResultEvents = new Set(["SessionStart", "Setup", "SubagentStart"]);
9
- const blockResultEvents = new Set([
10
- "UserPromptSubmit",
11
- "UserPromptExpansion",
12
- "PostToolUse",
13
- "PostToolUseFailure",
14
- "PostToolBatch",
15
- "Stop",
16
- "SubagentStop",
17
- "ConfigChange",
18
- "PreCompact",
19
- ]);
20
- const continueFalseEvents = new Set(["TeammateIdle", "TaskCreated", "TaskCompleted"]);
21
- export function isClaudeHookResult(event, value) {
22
- const eventName = typeof event === "string" ? event : event.hook_event_name;
23
- const toolName = typeof event === "string" || !("tool_name" in event) || typeof event.tool_name !== "string"
24
- ? undefined
25
- : event.tool_name;
26
- if (value === undefined)
27
- return true;
28
- if (!isRecord(value))
29
- return false;
30
- if ("permissionDecision" in value)
31
- return isPreToolUseResult(eventName, value, toolName);
32
- if (eventName === "PreToolUse" && "additionalContext" in value) {
33
- return isPreToolUseResult(eventName, value, toolName);
34
- }
35
- if ("behavior" in value)
36
- return isPermissionRequestResult(eventName, value, toolName);
37
- if ("retry" in value)
38
- return eventName === "PermissionDenied" && value["retry"] === true;
39
- if ("worktreePath" in value) {
40
- return eventName === "WorktreeCreate" && typeof value["worktreePath"] === "string";
41
- }
42
- if ("action" in value)
43
- return isElicitationResult(eventName, value);
44
- if ("decision" in value)
45
- return isBlockResult(eventName, value);
46
- if ("continue" in value)
47
- return isContinueFalseResult(eventName, value);
48
- if (eventName === "PostToolUse")
49
- return isPostToolUseResult(value);
50
- if (!contextResultEvents.has(eventName))
51
- return false;
52
- return isContextResult(value);
53
- }
54
- function isPreToolUseResult(eventName, value, toolName) {
55
- if (eventName !== "PreToolUse")
56
- return false;
57
- if (!("permissionDecision" in value)) {
58
- return keysAre(value, ["additionalContext"]) && typeof value["additionalContext"] === "string";
59
- }
60
- return (keysAre(value, [
61
- "permissionDecision",
62
- "permissionDecisionReason",
63
- "updatedInput",
64
- "additionalContext",
65
- ]) &&
66
- isOneOf(value["permissionDecision"], ["allow", "deny", "ask", "defer"]) &&
67
- optionalString(value["permissionDecisionReason"]) &&
68
- optionalString(value["additionalContext"]) &&
69
- isClaudeToolInputUpdate(toolName, value["updatedInput"]));
70
- }
71
- function isPermissionRequestResult(eventName, value, toolName) {
72
- return (eventName === "PermissionRequest" &&
73
- keysAre(value, ["behavior", "updatedInput", "updatedPermissions", "message", "interrupt"]) &&
74
- isOneOf(value["behavior"], ["allow", "deny"]) &&
75
- optionalString(value["message"]) &&
76
- optionalBoolean(value["interrupt"]) &&
77
- optionalPermissionUpdates(value["updatedPermissions"]) &&
78
- isClaudeToolInputUpdate(toolName, value["updatedInput"]));
79
- }
80
- function optionalPermissionUpdates(value) {
81
- return value === undefined || isPermissionUpdateArray(value);
82
- }
83
- function isElicitationResult(eventName, value) {
84
- return ((eventName === "Elicitation" || eventName === "ElicitationResult") &&
85
- keysAre(value, ["action", "content"]) &&
86
- isOneOf(value["action"], ["accept", "decline", "cancel"]) &&
87
- // `content` is an OPTIONAL non-array record; a string/array/null must fail
88
- // rather than be serialized as if valid (matches ElicitationResult.content).
89
- (value["content"] === undefined || isRecord(value["content"])));
90
- }
91
- function isBlockResult(eventName, value) {
92
- return (blockResultEvents.has(eventName) &&
93
- keysAre(value, ["decision", "reason", "additionalContext"]) &&
94
- value["decision"] === "block" &&
95
- typeof value["reason"] === "string" &&
96
- optionalString(value["additionalContext"]));
97
- }
98
- function isContinueFalseResult(eventName, value) {
99
- return (continueFalseEvents.has(eventName) &&
100
- keysAre(value, ["continue", "stopReason"]) &&
101
- value["continue"] === false &&
102
- optionalString(value["stopReason"]));
103
- }
104
- function keysAre(value, allowed) {
105
- return Object.keys(value).every((key) => allowed.includes(key));
106
- }
107
- // Every field is optional, so `{}` is a valid (no-op) result, as it is for context events.
108
- function isPostToolUseResult(value) {
109
- return (keysAre(value, ["additionalContext", "updatedToolOutput", "updatedMCPToolOutput"]) &&
110
- optionalString(value["additionalContext"]));
111
- }
112
- function isContextResult(value) {
113
- return (keysAre(value, ["additionalContext", "initialUserMessage", "watchPaths"]) &&
114
- optionalString(value["additionalContext"]) &&
115
- optionalString(value["initialUserMessage"]) &&
116
- optionalStringArray(value["watchPaths"]));
117
- }
118
- //# sourceMappingURL=validate-result.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"validate-result.js","sourceRoot":"","sources":["../../src/claude/validate-result.ts"],"names":[],"mappings":"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"}
@@ -1,22 +0,0 @@
1
- /**
2
- * Field-shape validation tables for Claude hook payloads, built on the shared
3
- * trust-boundary predicates in core/predicates.ts.
4
- * Implements PRD §6.4: value TYPES, not merely key names, are validated.
5
- */
6
- export { isRecord, optionalBoolean, optionalNumber, optionalString, optionalStringArray, } from "../core/predicates.ts";
7
- export type FieldCheck = (value: unknown) => boolean;
8
- /**
9
- * A validator table COUPLED to a public tool input `T`: exactly one field check per
10
- * key of `T` (required, so adding a field to the public type forces a matching check
11
- * and can't silently pass validation). Declare each table `satisfies FieldChecks<T>`.
12
- */
13
- export type FieldChecks<T> = {
14
- readonly [K in keyof Required<T>]-?: FieldCheck;
15
- };
16
- /**
17
- * Validates a partial record: every present key must be one of `checks` and its
18
- * value must pass that field's check. Absent keys pass (partial rewrites and
19
- * optional fields), unknown keys fail.
20
- */
21
- export declare function partial(value: Readonly<Record<string, unknown>>, checks: Readonly<Record<string, FieldCheck>>): boolean;
22
- //# sourceMappingURL=validate-shapes.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"validate-shapes.d.ts","sourceRoot":"","sources":["../../src/claude/validate-shapes.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACL,QAAQ,EACR,eAAe,EACf,cAAc,EACd,cAAc,EACd,mBAAmB,GACpB,MAAM,uBAAuB,CAAC;AAE/B,MAAM,MAAM,UAAU,GAAG,CAAC,KAAK,EAAE,OAAO,KAAK,OAAO,CAAC;AAErD;;;;GAIG;AACH,MAAM,MAAM,WAAW,CAAC,CAAC,IAAI;IAAE,QAAQ,EAAE,CAAC,IAAI,MAAM,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU;CAAE,CAAC;AAEjF;;;;GAIG;AACH,wBAAgB,OAAO,CACrB,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EACxC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,GAC3C,OAAO,CAIT"}
@@ -1,15 +0,0 @@
1
- /**
2
- * Field-shape validation tables for Claude hook payloads, built on the shared
3
- * trust-boundary predicates in core/predicates.ts.
4
- * Implements PRD §6.4: value TYPES, not merely key names, are validated.
5
- */
6
- export { isRecord, optionalBoolean, optionalNumber, optionalString, optionalStringArray, } from "../core/predicates.js";
7
- /**
8
- * Validates a partial record: every present key must be one of `checks` and its
9
- * value must pass that field's check. Absent keys pass (partial rewrites and
10
- * optional fields), unknown keys fail.
11
- */
12
- export function partial(value, checks) {
13
- return Object.keys(value).every((key) => Object.hasOwn(checks, key) && checks[key](value[key]));
14
- }
15
- //# sourceMappingURL=validate-shapes.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"validate-shapes.js","sourceRoot":"","sources":["../../src/claude/validate-shapes.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACL,QAAQ,EACR,eAAe,EACf,cAAc,EACd,cAAc,EACd,mBAAmB,GACpB,MAAM,uBAAuB,CAAC;AAW/B;;;;GAIG;AACH,MAAM,UAAU,OAAO,CACrB,KAAwC,EACxC,MAA4C;IAE5C,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,CAC7B,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,IAAK,MAAM,CAAC,GAAG,CAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAC/E,CAAC;AACJ,CAAC"}