@elie-laloum/outpost 11.1.2 → 11.2.0

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 (596) hide show
  1. package/CHANGELOG.md +34 -0
  2. package/README.md +2 -1
  3. package/SECURITY.md +5 -1
  4. package/dist/adapters/agents/antigravity/antigravity-adapter.js +9 -0
  5. package/dist/adapters/agents/antigravity/antigravity-adapter.js.map +1 -1
  6. package/dist/adapters/agents/antigravity/antigravity-hook-plan.d.ts +3 -0
  7. package/dist/adapters/agents/antigravity/antigravity-hook-plan.js +39 -0
  8. package/dist/adapters/agents/antigravity/antigravity-hook-plan.js.map +1 -0
  9. package/dist/adapters/agents/antigravity/antigravity-hooks.constants.d.ts +3 -0
  10. package/dist/adapters/agents/antigravity/antigravity-hooks.constants.js +394 -0
  11. package/dist/adapters/agents/antigravity/antigravity-hooks.constants.js.map +1 -0
  12. package/dist/adapters/agents/antigravity/antigravity-hooks.d.ts +2 -0
  13. package/dist/adapters/agents/antigravity/antigravity-hooks.js +6 -0
  14. package/dist/adapters/agents/antigravity/antigravity-hooks.js.map +1 -0
  15. package/dist/adapters/agents/antigravity/antigravity-hooks.types.d.ts +114 -0
  16. package/dist/adapters/agents/antigravity/antigravity-hooks.types.js +2 -0
  17. package/dist/adapters/agents/antigravity/antigravity-hooks.types.js.map +1 -0
  18. package/dist/adapters/agents/antigravity/antigravity.types.d.ts +1 -0
  19. package/dist/adapters/agents/antigravity/antigravity.types.js.map +1 -1
  20. package/dist/adapters/agents/authentication.js +1 -0
  21. package/dist/adapters/agents/authentication.js.map +1 -1
  22. package/dist/adapters/agents/claude/claude-adapter.js +15 -0
  23. package/dist/adapters/agents/claude/claude-adapter.js.map +1 -1
  24. package/dist/adapters/agents/claude/claude-hook-plan.constants.d.ts +1 -0
  25. package/dist/adapters/agents/claude/claude-hook-plan.constants.js +20 -0
  26. package/dist/adapters/agents/claude/claude-hook-plan.constants.js.map +1 -0
  27. package/dist/adapters/agents/claude/claude-hook-plan.d.ts +4 -0
  28. package/dist/adapters/agents/claude/claude-hook-plan.js +60 -0
  29. package/dist/adapters/agents/claude/claude-hook-plan.js.map +1 -0
  30. package/dist/adapters/agents/claude/claude-hooks.constants.d.ts +3 -0
  31. package/dist/adapters/agents/claude/claude-hooks.constants.js +2968 -0
  32. package/dist/adapters/agents/claude/claude-hooks.constants.js.map +1 -0
  33. package/dist/adapters/agents/claude/claude-hooks.d.ts +2 -0
  34. package/dist/adapters/agents/claude/claude-hooks.js +6 -0
  35. package/dist/adapters/agents/claude/claude-hooks.js.map +1 -0
  36. package/dist/adapters/agents/claude/claude-hooks.types.d.ts +900 -0
  37. package/dist/adapters/agents/claude/claude-hooks.types.js +2 -0
  38. package/dist/adapters/agents/claude/claude-hooks.types.js.map +1 -0
  39. package/dist/adapters/agents/claude/claude-profile.d.ts +1 -0
  40. package/dist/adapters/agents/claude/claude-profile.js +23 -11
  41. package/dist/adapters/agents/claude/claude-profile.js.map +1 -1
  42. package/dist/adapters/agents/codex/codex-adapter.js +17 -1
  43. package/dist/adapters/agents/codex/codex-adapter.js.map +1 -1
  44. package/dist/adapters/agents/codex/codex-authentication.js +1 -0
  45. package/dist/adapters/agents/codex/codex-authentication.js.map +1 -1
  46. package/dist/adapters/agents/codex/codex-conversations.constants.d.ts +1 -0
  47. package/dist/adapters/agents/codex/codex-conversations.constants.js +2 -0
  48. package/dist/adapters/agents/codex/codex-conversations.constants.js.map +1 -0
  49. package/dist/adapters/agents/codex/codex-conversations.js +8 -5
  50. package/dist/adapters/agents/codex/codex-conversations.js.map +1 -1
  51. package/dist/adapters/agents/codex/codex-hook-plan.d.ts +3 -0
  52. package/dist/adapters/agents/codex/codex-hook-plan.js +72 -0
  53. package/dist/adapters/agents/codex/codex-hook-plan.js.map +1 -0
  54. package/dist/adapters/agents/codex/codex-hooks.constants.d.ts +3 -0
  55. package/dist/adapters/agents/codex/codex-hooks.constants.js +942 -0
  56. package/dist/adapters/agents/codex/codex-hooks.constants.js.map +1 -0
  57. package/dist/adapters/agents/codex/codex-hooks.d.ts +2 -0
  58. package/dist/adapters/agents/codex/codex-hooks.js +6 -0
  59. package/dist/adapters/agents/codex/codex-hooks.js.map +1 -0
  60. package/dist/adapters/agents/codex/codex-hooks.types.d.ts +255 -0
  61. package/dist/adapters/agents/codex/codex-hooks.types.js +2 -0
  62. package/dist/adapters/agents/codex/codex-hooks.types.js.map +1 -0
  63. package/dist/adapters/agents/codex/codex-provider.js +2 -2
  64. package/dist/adapters/agents/codex/codex-provider.js.map +1 -1
  65. package/dist/adapters/agents/copilot/copilot-adapter.js +14 -0
  66. package/dist/adapters/agents/copilot/copilot-adapter.js.map +1 -1
  67. package/dist/adapters/agents/copilot/copilot-hook-plan.d.ts +3 -0
  68. package/dist/adapters/agents/copilot/copilot-hook-plan.js +26 -0
  69. package/dist/adapters/agents/copilot/copilot-hook-plan.js.map +1 -0
  70. package/dist/adapters/agents/copilot/copilot-hooks.constants.d.ts +3 -0
  71. package/dist/adapters/agents/copilot/copilot-hooks.constants.js +528 -0
  72. package/dist/adapters/agents/copilot/copilot-hooks.constants.js.map +1 -0
  73. package/dist/adapters/agents/copilot/copilot-hooks.d.ts +2 -0
  74. package/dist/adapters/agents/copilot/copilot-hooks.js +6 -0
  75. package/dist/adapters/agents/copilot/copilot-hooks.js.map +1 -0
  76. package/dist/adapters/agents/copilot/copilot-hooks.types.d.ts +166 -0
  77. package/dist/adapters/agents/copilot/copilot-hooks.types.js +2 -0
  78. package/dist/adapters/agents/copilot/copilot-hooks.types.js.map +1 -0
  79. package/dist/adapters/agents/copilot/copilot.types.d.ts +1 -0
  80. package/dist/adapters/agents/copilot/copilot.types.js.map +1 -1
  81. package/dist/adapters/agents/hook-groups.d.ts +2 -0
  82. package/dist/adapters/agents/hook-groups.js +17 -0
  83. package/dist/adapters/agents/hook-groups.js.map +1 -0
  84. package/dist/adapters/agents/kimi/kimi-adapter.js +16 -1
  85. package/dist/adapters/agents/kimi/kimi-adapter.js.map +1 -1
  86. package/dist/adapters/agents/kimi/kimi-hook-plan.d.ts +3 -0
  87. package/dist/adapters/agents/kimi/kimi-hook-plan.js +33 -0
  88. package/dist/adapters/agents/kimi/kimi-hook-plan.js.map +1 -0
  89. package/dist/adapters/agents/kimi/kimi-hooks.constants.d.ts +3 -0
  90. package/dist/adapters/agents/kimi/kimi-hooks.constants.js +747 -0
  91. package/dist/adapters/agents/kimi/kimi-hooks.constants.js.map +1 -0
  92. package/dist/adapters/agents/kimi/kimi-hooks.d.ts +2 -0
  93. package/dist/adapters/agents/kimi/kimi-hooks.js +6 -0
  94. package/dist/adapters/agents/kimi/kimi-hooks.js.map +1 -0
  95. package/dist/adapters/agents/kimi/kimi-hooks.types.d.ts +226 -0
  96. package/dist/adapters/agents/kimi/kimi-hooks.types.js +2 -0
  97. package/dist/adapters/agents/kimi/kimi-hooks.types.js.map +1 -0
  98. package/dist/adapters/agents/kimi/kimi-request.js +2 -0
  99. package/dist/adapters/agents/kimi/kimi-request.js.map +1 -1
  100. package/dist/adapters/agents/kimi/kimi.constants.d.ts +1 -0
  101. package/dist/adapters/agents/kimi/kimi.constants.js +1 -0
  102. package/dist/adapters/agents/kimi/kimi.constants.js.map +1 -1
  103. package/dist/adapters/agents/kimi/kimi.types.d.ts +1 -0
  104. package/dist/adapters/agents/kimi/kimi.types.js.map +1 -1
  105. package/dist/adapters/agents/native-hooks.d.ts +4 -0
  106. package/dist/adapters/agents/native-hooks.js +63 -0
  107. package/dist/adapters/agents/native-hooks.js.map +1 -0
  108. package/dist/adapters/agents/native-hooks.types.d.ts +22 -0
  109. package/dist/adapters/agents/native-hooks.types.js +2 -0
  110. package/dist/adapters/agents/native-hooks.types.js.map +1 -0
  111. package/dist/adapters/agents/settings.types.d.ts +2 -0
  112. package/dist/adapters/agents/settings.types.js.map +1 -1
  113. package/dist/adapters/decisions/system-one-provider.constants.d.ts +1 -1
  114. package/dist/adapters/decisions/system-one-provider.constants.js +1 -1
  115. package/dist/adapters/decisions/system-one-provider.constants.js.map +1 -1
  116. package/dist/adapters/decisions/system-one-provider.js +8 -21
  117. package/dist/adapters/decisions/system-one-provider.js.map +1 -1
  118. package/dist/adapters/models/anthropic-model-provider.constants.d.ts +1 -0
  119. package/dist/adapters/models/anthropic-model-provider.constants.js +4 -0
  120. package/dist/adapters/models/anthropic-model-provider.constants.js.map +1 -1
  121. package/dist/adapters/models/anthropic-model-provider.js +7 -1
  122. package/dist/adapters/models/anthropic-model-provider.js.map +1 -1
  123. package/dist/adapters/models/http-failure.d.ts +3 -0
  124. package/dist/adapters/models/http-failure.js +43 -0
  125. package/dist/adapters/models/http-failure.js.map +1 -0
  126. package/dist/adapters/models/http-provider.js +14 -20
  127. package/dist/adapters/models/http-provider.js.map +1 -1
  128. package/dist/adapters/models/model-protocol.types.d.ts +1 -0
  129. package/dist/adapters/models/model-protocol.types.js.map +1 -1
  130. package/dist/adapters/models/model.constants.d.ts +2 -0
  131. package/dist/adapters/models/model.constants.js +17 -0
  132. package/dist/adapters/models/model.constants.js.map +1 -1
  133. package/dist/adapters/models/openai-chat-stream.js +3 -1
  134. package/dist/adapters/models/openai-chat-stream.js.map +1 -1
  135. package/dist/adapters/models/openai-responses.js +4 -0
  136. package/dist/adapters/models/openai-responses.js.map +1 -1
  137. package/dist/adapters/secrets/aws.js +5 -4
  138. package/dist/adapters/secrets/aws.js.map +1 -1
  139. package/dist/adapters/secrets/azure.constants.d.ts +1 -0
  140. package/dist/adapters/secrets/azure.constants.js +2 -0
  141. package/dist/adapters/secrets/azure.constants.js.map +1 -0
  142. package/dist/adapters/secrets/azure.js +2 -1
  143. package/dist/adapters/secrets/azure.js.map +1 -1
  144. package/dist/adapters/secrets/gcp.constants.d.ts +1 -0
  145. package/dist/adapters/secrets/gcp.constants.js +2 -0
  146. package/dist/adapters/secrets/gcp.constants.js.map +1 -0
  147. package/dist/adapters/secrets/gcp.js +11 -9
  148. package/dist/adapters/secrets/gcp.js.map +1 -1
  149. package/dist/adapters/secrets/infisical.js +3 -2
  150. package/dist/adapters/secrets/infisical.js.map +1 -1
  151. package/dist/adapters/secrets/onepassword.constants.d.ts +1 -0
  152. package/dist/adapters/secrets/onepassword.constants.js +2 -0
  153. package/dist/adapters/secrets/onepassword.constants.js.map +1 -0
  154. package/dist/adapters/secrets/onepassword.js +2 -1
  155. package/dist/adapters/secrets/onepassword.js.map +1 -1
  156. package/dist/adapters/secrets/secret-source.js +3 -1
  157. package/dist/adapters/secrets/secret-source.js.map +1 -1
  158. package/dist/adapters/secrets/vault-response.js +5 -5
  159. package/dist/adapters/secrets/vault-response.js.map +1 -1
  160. package/dist/adapters/secrets/vault.js +4 -3
  161. package/dist/adapters/secrets/vault.js.map +1 -1
  162. package/dist/adapters/testing/scripted-agent.d.ts +3 -1
  163. package/dist/adapters/testing/scripted-agent.js +3 -1
  164. package/dist/adapters/testing/scripted-agent.js.map +1 -1
  165. package/dist/adapters/tools/edit-tools.js +3 -3
  166. package/dist/adapters/tools/edit-tools.js.map +1 -1
  167. package/dist/adapters/tools/git-tools.js +16 -1
  168. package/dist/adapters/tools/git-tools.js.map +1 -1
  169. package/dist/adapters/tools/mcp-launcher.constants.d.ts +1 -1
  170. package/dist/adapters/tools/mcp-launcher.constants.js +29 -7
  171. package/dist/adapters/tools/mcp-launcher.constants.js.map +1 -1
  172. package/dist/adapters/tools/mcp-resources.js +5 -1
  173. package/dist/adapters/tools/mcp-resources.js.map +1 -1
  174. package/dist/adapters/tools/mcp.constants.d.ts +0 -6
  175. package/dist/adapters/tools/mcp.constants.js +0 -6
  176. package/dist/adapters/tools/mcp.constants.js.map +1 -1
  177. package/dist/adapters/tools/mcp.js +1 -0
  178. package/dist/adapters/tools/mcp.js.map +1 -1
  179. package/dist/adapters/tools/sandbox-files.constants.d.ts +1 -0
  180. package/dist/adapters/tools/sandbox-files.constants.js +17 -0
  181. package/dist/adapters/tools/sandbox-files.constants.js.map +1 -0
  182. package/dist/adapters/tools/sandbox-files.d.ts +1 -0
  183. package/dist/adapters/tools/sandbox-files.js +14 -1
  184. package/dist/adapters/tools/sandbox-files.js.map +1 -1
  185. package/dist/adapters/tools/tools.constants.js +1 -0
  186. package/dist/adapters/tools/tools.constants.js.map +1 -1
  187. package/dist/adapters/triggers/github-webhook.js +14 -11
  188. package/dist/adapters/triggers/github-webhook.js.map +1 -1
  189. package/dist/adapters/triggers/gitlab-webhook.js +16 -13
  190. package/dist/adapters/triggers/gitlab-webhook.js.map +1 -1
  191. package/dist/adapters/triggers/slack-request.js +10 -7
  192. package/dist/adapters/triggers/slack-request.js.map +1 -1
  193. package/dist/adapters/triggers/standard-webhook.js +10 -7
  194. package/dist/adapters/triggers/standard-webhook.js.map +1 -1
  195. package/dist/application/agent-authentication.js +4 -1
  196. package/dist/application/agent-authentication.js.map +1 -1
  197. package/dist/application/agent-turn.js +20 -5
  198. package/dist/application/agent-turn.js.map +1 -1
  199. package/dist/application/cli-hooks.constants.d.ts +2 -0
  200. package/dist/application/cli-hooks.constants.js +69 -0
  201. package/dist/application/cli-hooks.constants.js.map +1 -0
  202. package/dist/application/cli-hooks.d.ts +3 -0
  203. package/dist/application/cli-hooks.js +168 -0
  204. package/dist/application/cli-hooks.js.map +1 -0
  205. package/dist/application/cli-steering.js +33 -2
  206. package/dist/application/cli-steering.js.map +1 -1
  207. package/dist/application/custom-turn.js +10 -1
  208. package/dist/application/custom-turn.js.map +1 -1
  209. package/dist/application/diagnostic-probe.d.ts +1 -1
  210. package/dist/application/diagnostic-probe.js +7 -3
  211. package/dist/application/diagnostic-probe.js.map +1 -1
  212. package/dist/application/dispatch-observation.js +4 -0
  213. package/dist/application/dispatch-observation.js.map +1 -1
  214. package/dist/application/doctor-agent.d.ts +1 -1
  215. package/dist/application/doctor-agent.js +2 -2
  216. package/dist/application/doctor-agent.js.map +1 -1
  217. package/dist/application/doctor-deadline.d.ts +1 -0
  218. package/dist/application/doctor-deadline.js +10 -0
  219. package/dist/application/doctor-deadline.js.map +1 -0
  220. package/dist/application/doctor-image.js +9 -7
  221. package/dist/application/doctor-image.js.map +1 -1
  222. package/dist/application/doctor-sandbox.js +4 -4
  223. package/dist/application/doctor-sandbox.js.map +1 -1
  224. package/dist/application/doctor.constants.d.ts +2 -0
  225. package/dist/application/doctor.constants.js +2 -0
  226. package/dist/application/doctor.constants.js.map +1 -1
  227. package/dist/application/doctor.js +12 -8
  228. package/dist/application/doctor.js.map +1 -1
  229. package/dist/application/doctor.types.d.ts +2 -0
  230. package/dist/application/doctor.types.js.map +1 -1
  231. package/dist/application/file-sandbox.js +49 -11
  232. package/dist/application/file-sandbox.js.map +1 -1
  233. package/dist/application/harness-context.js +4 -2
  234. package/dist/application/harness-context.js.map +1 -1
  235. package/dist/application/harness-hook-transforms.d.ts +8 -0
  236. package/dist/application/harness-hook-transforms.js +115 -0
  237. package/dist/application/harness-hook-transforms.js.map +1 -0
  238. package/dist/application/harness-hooks.d.ts +5 -3
  239. package/dist/application/harness-hooks.js +37 -50
  240. package/dist/application/harness-hooks.js.map +1 -1
  241. package/dist/application/harness-loop.d.ts +2 -1
  242. package/dist/application/harness-loop.js +95 -21
  243. package/dist/application/harness-loop.js.map +1 -1
  244. package/dist/application/harness-subagent.d.ts +1 -1
  245. package/dist/application/harness-subagent.js +63 -12
  246. package/dist/application/harness-subagent.js.map +1 -1
  247. package/dist/application/harness.types.d.ts +3 -0
  248. package/dist/application/harness.types.js.map +1 -1
  249. package/dist/application/hook-invocation.d.ts +4 -0
  250. package/dist/application/hook-invocation.js +59 -0
  251. package/dist/application/hook-invocation.js.map +1 -0
  252. package/dist/application/queue-worker.js +51 -9
  253. package/dist/application/queue-worker.js.map +1 -1
  254. package/dist/application/queue-worker.types.d.ts +1 -0
  255. package/dist/application/queue-worker.types.js.map +1 -1
  256. package/dist/application/recipes/native-schemas.constants.js +1439 -218
  257. package/dist/application/recipes/native-schemas.constants.js.map +1 -1
  258. package/dist/application/recovery-inspection.js +4 -1
  259. package/dist/application/recovery-inspection.js.map +1 -1
  260. package/dist/application/remote-download.js +15 -5
  261. package/dist/application/remote-download.js.map +1 -1
  262. package/dist/application/remote-paths.d.ts +1 -0
  263. package/dist/application/remote-paths.js +7 -0
  264. package/dist/application/remote-paths.js.map +1 -0
  265. package/dist/application/remote-validation.js +40 -9
  266. package/dist/application/remote-validation.js.map +1 -1
  267. package/dist/application/remote-workspace.js +17 -2
  268. package/dist/application/remote-workspace.js.map +1 -1
  269. package/dist/application/repetition-watchdog.js +3 -1
  270. package/dist/application/repetition-watchdog.js.map +1 -1
  271. package/dist/application/sandbox-attach.js +38 -9
  272. package/dist/application/sandbox-attach.js.map +1 -1
  273. package/dist/application/sandbox-dispatch.js +7 -1
  274. package/dist/application/sandbox-dispatch.js.map +1 -1
  275. package/dist/application/schedules.js +2 -0
  276. package/dist/application/schedules.js.map +1 -1
  277. package/dist/application/secrets.js +4 -0
  278. package/dist/application/secrets.js.map +1 -1
  279. package/dist/application/tool-execution.js +28 -8
  280. package/dist/application/tool-execution.js.map +1 -1
  281. package/dist/application/transport-retention.js +3 -3
  282. package/dist/application/transport-retention.js.map +1 -1
  283. package/dist/application/workspace-fingerprint.d.ts +1 -0
  284. package/dist/application/workspace-fingerprint.js +19 -4
  285. package/dist/application/workspace-fingerprint.js.map +1 -1
  286. package/dist/cli/doctor-command.js +12 -2
  287. package/dist/cli/doctor-command.js.map +1 -1
  288. package/dist/cli/image.js +2 -0
  289. package/dist/cli/image.js.map +1 -1
  290. package/dist/cli/main.constants.d.ts +14 -2
  291. package/dist/cli/main.constants.js +27 -1
  292. package/dist/cli/main.constants.js.map +1 -1
  293. package/dist/cli/project-settings.js +7 -1
  294. package/dist/cli/project-settings.js.map +1 -1
  295. package/dist/cli/recipe-yaml.js +8 -0
  296. package/dist/cli/recipe-yaml.js.map +1 -1
  297. package/dist/cli/recovery-command.js +3 -0
  298. package/dist/cli/recovery-command.js.map +1 -1
  299. package/dist/cli/recovery-unlock-command.d.ts +2 -0
  300. package/dist/cli/recovery-unlock-command.js +19 -0
  301. package/dist/cli/recovery-unlock-command.js.map +1 -0
  302. package/dist/cli/scaffold-files.js +4 -1
  303. package/dist/cli/scaffold-files.js.map +1 -1
  304. package/dist/cli/scaffold-validation.js +3 -0
  305. package/dist/cli/scaffold-validation.js.map +1 -1
  306. package/dist/cli/scaffold.js +2 -0
  307. package/dist/cli/scaffold.js.map +1 -1
  308. package/dist/domain/agent-hook.types.d.ts +28 -0
  309. package/dist/domain/agent-hook.types.js +2 -0
  310. package/dist/domain/agent-hook.types.js.map +1 -0
  311. package/dist/domain/agent-profile-hooks.d.ts +2 -0
  312. package/dist/domain/agent-profile-hooks.js +52 -0
  313. package/dist/domain/agent-profile-hooks.js.map +1 -0
  314. package/dist/domain/agent-profile-permissions.js +11 -1
  315. package/dist/domain/agent-profile-permissions.js.map +1 -1
  316. package/dist/domain/agent-profile.constants.d.ts +1 -0
  317. package/dist/domain/agent-profile.constants.js +9 -0
  318. package/dist/domain/agent-profile.constants.js.map +1 -1
  319. package/dist/domain/agent-profile.js +6 -1
  320. package/dist/domain/agent-profile.js.map +1 -1
  321. package/dist/domain/agent-profile.types.d.ts +11 -0
  322. package/dist/domain/agent-profile.types.js.map +1 -1
  323. package/dist/domain/agent.types.d.ts +2 -0
  324. package/dist/domain/agent.types.js.map +1 -1
  325. package/dist/domain/container-image.d.ts +1 -0
  326. package/dist/domain/container-image.js +8 -0
  327. package/dist/domain/container-image.js.map +1 -0
  328. package/dist/domain/context.constants.d.ts +1 -0
  329. package/dist/domain/context.constants.js +1 -0
  330. package/dist/domain/context.constants.js.map +1 -1
  331. package/dist/domain/context.js +6 -1
  332. package/dist/domain/context.js.map +1 -1
  333. package/dist/domain/egress.js +6 -1
  334. package/dist/domain/egress.js.map +1 -1
  335. package/dist/domain/glob.js +1 -1
  336. package/dist/domain/glob.js.map +1 -1
  337. package/dist/domain/harness.js +4 -1
  338. package/dist/domain/harness.js.map +1 -1
  339. package/dist/domain/hook-command.d.ts +2 -0
  340. package/dist/domain/hook-command.js +26 -0
  341. package/dist/domain/hook-command.js.map +1 -0
  342. package/dist/domain/hook-command.types.d.ts +7 -0
  343. package/dist/domain/hook-command.types.js +2 -0
  344. package/dist/domain/hook-command.types.js.map +1 -0
  345. package/dist/domain/hook-decision.d.ts +2 -0
  346. package/dist/domain/hook-decision.js +38 -0
  347. package/dist/domain/hook-decision.js.map +1 -0
  348. package/dist/domain/hook.constants.d.ts +3 -0
  349. package/dist/domain/hook.constants.js +31 -1
  350. package/dist/domain/hook.constants.js.map +1 -1
  351. package/dist/domain/hook.js +49 -5
  352. package/dist/domain/hook.js.map +1 -1
  353. package/dist/domain/hook.types.d.ts +82 -5
  354. package/dist/domain/hook.types.js.map +1 -1
  355. package/dist/domain/mcp-server.constants.d.ts +6 -0
  356. package/dist/domain/mcp-server.constants.js +6 -0
  357. package/dist/domain/mcp-server.constants.js.map +1 -1
  358. package/dist/domain/mcp-server.js +1 -0
  359. package/dist/domain/mcp-server.js.map +1 -1
  360. package/dist/domain/permissions.types.d.ts +1 -0
  361. package/dist/domain/permissions.types.js.map +1 -1
  362. package/dist/domain/pricing.js +4 -2
  363. package/dist/domain/pricing.js.map +1 -1
  364. package/dist/domain/redaction.js +6 -3
  365. package/dist/domain/redaction.js.map +1 -1
  366. package/dist/domain/secret-fault.d.ts +4 -0
  367. package/dist/domain/secret-fault.js +11 -0
  368. package/dist/domain/secret-fault.js.map +1 -0
  369. package/dist/domain/secrets.js +3 -2
  370. package/dist/domain/secrets.js.map +1 -1
  371. package/dist/domain/steering.js +2 -0
  372. package/dist/domain/steering.js.map +1 -1
  373. package/dist/domain/steering.types.d.ts +1 -1
  374. package/dist/domain/steering.types.js.map +1 -1
  375. package/dist/domain/transport.js +5 -1
  376. package/dist/domain/transport.js.map +1 -1
  377. package/dist/domain/trigger-payload.d.ts +4 -0
  378. package/dist/domain/trigger-payload.js +15 -0
  379. package/dist/domain/trigger-payload.js.map +1 -0
  380. package/dist/domain/workflow/checkpoint.js +19 -2
  381. package/dist/domain/workflow/checkpoint.js.map +1 -1
  382. package/dist/domain/workflow/retry.constants.d.ts +1 -0
  383. package/dist/domain/workflow/retry.constants.js +1 -0
  384. package/dist/domain/workflow/retry.constants.js.map +1 -1
  385. package/dist/domain/workflow/retry.js +6 -2
  386. package/dist/domain/workflow/retry.js.map +1 -1
  387. package/dist/domain/workflow/task-runner.js +5 -3
  388. package/dist/domain/workflow/task-runner.js.map +1 -1
  389. package/dist/domain/workflow/workflow-state.js +2 -1
  390. package/dist/domain/workflow/workflow-state.js.map +1 -1
  391. package/dist/domain/workflow.types.d.ts +1 -0
  392. package/dist/domain/workflow.types.js.map +1 -1
  393. package/dist/index.d.ts +15 -1
  394. package/dist/index.js +6 -0
  395. package/dist/index.js.map +1 -1
  396. package/dist/infrastructure/conversations/transcript-store.js +32 -5
  397. package/dist/infrastructure/conversations/transcript-store.js.map +1 -1
  398. package/dist/infrastructure/files.d.ts +1 -0
  399. package/dist/infrastructure/files.js +8 -4
  400. package/dist/infrastructure/files.js.map +1 -1
  401. package/dist/infrastructure/git/integration-candidate.js +3 -2
  402. package/dist/infrastructure/git/integration-candidate.js.map +1 -1
  403. package/dist/infrastructure/git/lock-recovery.d.ts +3 -0
  404. package/dist/infrastructure/git/lock-recovery.js +58 -0
  405. package/dist/infrastructure/git/lock-recovery.js.map +1 -0
  406. package/dist/infrastructure/git/lock-recovery.types.d.ts +11 -0
  407. package/dist/infrastructure/git/lock-recovery.types.js +2 -0
  408. package/dist/infrastructure/git/lock-recovery.types.js.map +1 -0
  409. package/dist/infrastructure/git/managed-worktree.js +5 -8
  410. package/dist/infrastructure/git/managed-worktree.js.map +1 -1
  411. package/dist/infrastructure/git/verification-command.js +35 -30
  412. package/dist/infrastructure/git/verification-command.js.map +1 -1
  413. package/dist/infrastructure/git/workspace-lease.js +12 -5
  414. package/dist/infrastructure/git/workspace-lease.js.map +1 -1
  415. package/dist/infrastructure/hook-configuration.constants.d.ts +1 -0
  416. package/dist/infrastructure/hook-configuration.constants.js +59 -0
  417. package/dist/infrastructure/hook-configuration.constants.js.map +1 -0
  418. package/dist/infrastructure/hook-configuration.d.ts +3 -0
  419. package/dist/infrastructure/hook-configuration.js +16 -0
  420. package/dist/infrastructure/hook-configuration.js.map +1 -0
  421. package/dist/infrastructure/hook-configuration.types.d.ts +14 -0
  422. package/dist/infrastructure/hook-configuration.types.js +2 -0
  423. package/dist/infrastructure/hook-configuration.types.js.map +1 -0
  424. package/dist/infrastructure/http-transport.constants.d.ts +1 -0
  425. package/dist/infrastructure/http-transport.constants.js +14 -0
  426. package/dist/infrastructure/http-transport.constants.js.map +1 -0
  427. package/dist/infrastructure/http-transport.d.ts +7 -0
  428. package/dist/infrastructure/http-transport.js +19 -0
  429. package/dist/infrastructure/http-transport.js.map +1 -0
  430. package/dist/infrastructure/input-failure.d.ts +4 -0
  431. package/dist/infrastructure/input-failure.js +14 -0
  432. package/dist/infrastructure/input-failure.js.map +1 -0
  433. package/dist/infrastructure/inspection-file.d.ts +1 -0
  434. package/dist/infrastructure/inspection-file.js +8 -2
  435. package/dist/infrastructure/inspection-file.js.map +1 -1
  436. package/dist/infrastructure/local-transport.js +16 -11
  437. package/dist/infrastructure/local-transport.js.map +1 -1
  438. package/dist/infrastructure/process.constants.d.ts +1 -0
  439. package/dist/infrastructure/process.constants.js +1 -0
  440. package/dist/infrastructure/process.constants.js.map +1 -1
  441. package/dist/infrastructure/process.d.ts +1 -0
  442. package/dist/infrastructure/process.js +48 -8
  443. package/dist/infrastructure/process.js.map +1 -1
  444. package/dist/infrastructure/reservation-ledger.d.ts +2 -0
  445. package/dist/infrastructure/reservation-ledger.js +84 -0
  446. package/dist/infrastructure/reservation-ledger.js.map +1 -0
  447. package/dist/infrastructure/reservation-recovery.d.ts +4 -0
  448. package/dist/infrastructure/reservation-recovery.js +28 -0
  449. package/dist/infrastructure/reservation-recovery.js.map +1 -0
  450. package/dist/infrastructure/s3-tombstones.d.ts +3 -0
  451. package/dist/infrastructure/s3-tombstones.js +46 -0
  452. package/dist/infrastructure/s3-tombstones.js.map +1 -0
  453. package/dist/infrastructure/s3-tombstones.types.d.ts +6 -0
  454. package/dist/infrastructure/s3-tombstones.types.js +2 -0
  455. package/dist/infrastructure/s3-tombstones.types.js.map +1 -0
  456. package/dist/infrastructure/s3-transport.d.ts +2 -0
  457. package/dist/infrastructure/s3-transport.js +4 -2
  458. package/dist/infrastructure/s3-transport.js.map +1 -1
  459. package/dist/infrastructure/sse.js +6 -3
  460. package/dist/infrastructure/sse.js.map +1 -1
  461. package/dist/infrastructure/task-queue-bullmq-connection.d.ts +3 -0
  462. package/dist/infrastructure/task-queue-bullmq-connection.js +32 -0
  463. package/dist/infrastructure/task-queue-bullmq-connection.js.map +1 -0
  464. package/dist/infrastructure/task-queue-bullmq-connection.types.d.ts +8 -0
  465. package/dist/infrastructure/task-queue-bullmq-connection.types.js +2 -0
  466. package/dist/infrastructure/task-queue-bullmq-connection.types.js.map +1 -0
  467. package/dist/infrastructure/task-queue-bullmq-resources.js +21 -15
  468. package/dist/infrastructure/task-queue-bullmq-resources.js.map +1 -1
  469. package/dist/infrastructure/task-queue-bullmq-state.d.ts +1 -0
  470. package/dist/infrastructure/task-queue-bullmq-state.js +1 -0
  471. package/dist/infrastructure/task-queue-bullmq-state.js.map +1 -1
  472. package/dist/infrastructure/task-queue-bullmq.constants.d.ts +2 -1
  473. package/dist/infrastructure/task-queue-bullmq.constants.js +2 -1
  474. package/dist/infrastructure/task-queue-bullmq.constants.js.map +1 -1
  475. package/dist/infrastructure/task-queue-bullmq.js +10 -1
  476. package/dist/infrastructure/task-queue-bullmq.js.map +1 -1
  477. package/dist/infrastructure/task-queue.js +13 -4
  478. package/dist/infrastructure/task-queue.js.map +1 -1
  479. package/dist/infrastructure/transfer-copy.d.ts +1 -0
  480. package/dist/infrastructure/transfer-copy.js +16 -1
  481. package/dist/infrastructure/transfer-copy.js.map +1 -1
  482. package/dist/infrastructure/transport-archive.d.ts +3 -3
  483. package/dist/infrastructure/transport-archive.js +71 -48
  484. package/dist/infrastructure/transport-archive.js.map +1 -1
  485. package/dist/infrastructure/transport-archive.types.d.ts +3 -0
  486. package/dist/infrastructure/transport-archive.types.js.map +1 -1
  487. package/dist/infrastructure/transport-checkpoint.js +14 -4
  488. package/dist/infrastructure/transport-checkpoint.js.map +1 -1
  489. package/dist/infrastructure/transport-envelope.d.ts +1 -0
  490. package/dist/infrastructure/transport-envelope.js +22 -5
  491. package/dist/infrastructure/transport-envelope.js.map +1 -1
  492. package/dist/infrastructure/transport-reservations.constants.d.ts +2 -0
  493. package/dist/infrastructure/transport-reservations.constants.js +3 -0
  494. package/dist/infrastructure/transport-reservations.constants.js.map +1 -0
  495. package/dist/infrastructure/transport-reservations.d.ts +1 -2
  496. package/dist/infrastructure/transport-reservations.js +18 -22
  497. package/dist/infrastructure/transport-reservations.js.map +1 -1
  498. package/dist/infrastructure/transport-reservations.types.d.ts +23 -2
  499. package/dist/infrastructure/transport-reservations.types.js.map +1 -1
  500. package/dist/infrastructure/trigger-server.js +12 -9
  501. package/dist/infrastructure/trigger-server.js.map +1 -1
  502. package/dist/infrastructure/trigger-server.types.d.ts +1 -1
  503. package/dist/infrastructure/trigger-server.types.js.map +1 -1
  504. package/dist/infrastructure/workflow-checkpoint.constants.d.ts +1 -0
  505. package/dist/infrastructure/workflow-checkpoint.constants.js +1 -0
  506. package/dist/infrastructure/workflow-checkpoint.constants.js.map +1 -1
  507. package/dist/infrastructure/workspace-lock.constants.d.ts +2 -1
  508. package/dist/infrastructure/workspace-lock.constants.js +2 -1
  509. package/dist/infrastructure/workspace-lock.constants.js.map +1 -1
  510. package/dist/infrastructure/workspace-lock.js +48 -10
  511. package/dist/infrastructure/workspace-lock.js.map +1 -1
  512. package/dist/providers/cloud-cache.js +14 -9
  513. package/dist/providers/cloud-cache.js.map +1 -1
  514. package/dist/providers/cloud-cache.types.d.ts +1 -0
  515. package/dist/providers/cloud-cache.types.js.map +1 -1
  516. package/dist/providers/cloud-files.js +3 -4
  517. package/dist/providers/cloud-files.js.map +1 -1
  518. package/dist/providers/cloud-input.constants.d.ts +2 -2
  519. package/dist/providers/cloud-input.constants.js +2 -1
  520. package/dist/providers/cloud-input.constants.js.map +1 -1
  521. package/dist/providers/cloud-input.d.ts +2 -2
  522. package/dist/providers/cloud-input.js +14 -3
  523. package/dist/providers/cloud-input.js.map +1 -1
  524. package/dist/providers/container-command.js +30 -5
  525. package/dist/providers/container-command.js.map +1 -1
  526. package/dist/providers/container-egress.constants.d.ts +7 -0
  527. package/dist/providers/container-egress.constants.js +8 -0
  528. package/dist/providers/container-egress.constants.js.map +1 -0
  529. package/dist/providers/container-egress.d.ts +7 -0
  530. package/dist/providers/container-egress.js +101 -0
  531. package/dist/providers/container-egress.js.map +1 -0
  532. package/dist/providers/container-files.js +10 -11
  533. package/dist/providers/container-files.js.map +1 -1
  534. package/dist/providers/container-mounts.js +3 -0
  535. package/dist/providers/container-mounts.js.map +1 -1
  536. package/dist/providers/container-network.js +16 -1
  537. package/dist/providers/container-network.js.map +1 -1
  538. package/dist/providers/container-plan.js +7 -10
  539. package/dist/providers/container-plan.js.map +1 -1
  540. package/dist/providers/container-recovery.js +8 -3
  541. package/dist/providers/container-recovery.js.map +1 -1
  542. package/dist/providers/container.js +36 -5
  543. package/dist/providers/container.js.map +1 -1
  544. package/dist/providers/container.types.d.ts +1 -0
  545. package/dist/providers/container.types.js.map +1 -1
  546. package/dist/providers/daytona-command.constants.js +4 -1
  547. package/dist/providers/daytona-command.constants.js.map +1 -1
  548. package/dist/providers/daytona-command.js +39 -16
  549. package/dist/providers/daytona-command.js.map +1 -1
  550. package/dist/providers/daytona-files.js +5 -5
  551. package/dist/providers/daytona-files.js.map +1 -1
  552. package/dist/providers/daytona-output.js +11 -3
  553. package/dist/providers/daytona-output.js.map +1 -1
  554. package/dist/providers/daytona.js +11 -9
  555. package/dist/providers/daytona.js.map +1 -1
  556. package/dist/providers/egress/address.d.ts +3 -0
  557. package/dist/providers/egress/address.js +26 -0
  558. package/dist/providers/egress/address.js.map +1 -0
  559. package/dist/providers/egress/egress.constants.d.ts +22 -0
  560. package/dist/providers/egress/egress.constants.js +23 -0
  561. package/dist/providers/egress/egress.constants.js.map +1 -0
  562. package/dist/providers/egress/egress.types.d.ts +11 -0
  563. package/dist/providers/egress/egress.types.js +2 -0
  564. package/dist/providers/egress/egress.types.js.map +1 -0
  565. package/dist/providers/egress/firewall.d.ts +3 -0
  566. package/dist/providers/egress/firewall.js +29 -0
  567. package/dist/providers/egress/firewall.js.map +1 -0
  568. package/dist/providers/egress/main.d.ts +1 -0
  569. package/dist/providers/egress/main.js +90 -0
  570. package/dist/providers/egress/main.js.map +1 -0
  571. package/dist/providers/egress/policy.d.ts +5 -0
  572. package/dist/providers/egress/policy.js +54 -0
  573. package/dist/providers/egress/policy.js.map +1 -0
  574. package/dist/providers/egress/proxy.d.ts +2 -0
  575. package/dist/providers/egress/proxy.js +129 -0
  576. package/dist/providers/egress/proxy.js.map +1 -0
  577. package/dist/providers/egress/tls-hello.d.ts +1 -0
  578. package/dist/providers/egress/tls-hello.js +75 -0
  579. package/dist/providers/egress/tls-hello.js.map +1 -0
  580. package/dist/providers/firecracker-command.js +12 -6
  581. package/dist/providers/firecracker-command.js.map +1 -1
  582. package/dist/providers/local-files.d.ts +2 -0
  583. package/dist/providers/local-files.js +24 -0
  584. package/dist/providers/local-files.js.map +1 -0
  585. package/dist/providers/local.js +2 -20
  586. package/dist/providers/local.js.map +1 -1
  587. package/dist/providers/vercel-command.js +33 -9
  588. package/dist/providers/vercel-command.js.map +1 -1
  589. package/dist/providers/vercel.js +11 -9
  590. package/dist/providers/vercel.js.map +1 -1
  591. package/dist/testing.d.ts +1 -1
  592. package/dist/testing.js +1 -1
  593. package/dist/testing.js.map +1 -1
  594. package/package.json +2 -2
  595. package/recipe-configuration.schema.json +2164 -35
  596. package/recipe.schema.json +2512 -404
@@ -0,0 +1,900 @@
1
+ import type { NativeHook, NativeHookOptions } from "../native-hooks.types.ts";
2
+ export interface ClaudeHookEvents {
3
+ readonly SessionStart: {
4
+ readonly session_id: string;
5
+ readonly transcript_path?: string;
6
+ readonly cwd: string;
7
+ readonly hook_event_name: "SessionStart";
8
+ readonly permission_mode?: string;
9
+ readonly prompt_id?: string;
10
+ readonly scratchpad_dir?: string;
11
+ readonly agent_id?: string;
12
+ readonly agent_type?: string;
13
+ readonly effort?: {
14
+ readonly level: string;
15
+ };
16
+ readonly source?: string;
17
+ readonly model?: string;
18
+ readonly session_title?: string;
19
+ };
20
+ readonly Setup: {
21
+ readonly session_id: string;
22
+ readonly transcript_path?: string;
23
+ readonly cwd: string;
24
+ readonly hook_event_name: "Setup";
25
+ readonly permission_mode?: string;
26
+ readonly prompt_id?: string;
27
+ readonly scratchpad_dir?: string;
28
+ readonly agent_id?: string;
29
+ readonly agent_type?: string;
30
+ readonly effort?: {
31
+ readonly level: string;
32
+ };
33
+ readonly trigger?: string;
34
+ };
35
+ readonly UserPromptSubmit: {
36
+ readonly session_id: string;
37
+ readonly transcript_path?: string;
38
+ readonly cwd: string;
39
+ readonly hook_event_name: "UserPromptSubmit";
40
+ readonly permission_mode?: string;
41
+ readonly prompt_id?: string;
42
+ readonly scratchpad_dir?: string;
43
+ readonly agent_id?: string;
44
+ readonly agent_type?: string;
45
+ readonly effort?: {
46
+ readonly level: string;
47
+ };
48
+ readonly prompt: string;
49
+ readonly session_title?: string;
50
+ };
51
+ readonly UserPromptExpansion: {
52
+ readonly session_id: string;
53
+ readonly transcript_path?: string;
54
+ readonly cwd: string;
55
+ readonly hook_event_name: "UserPromptExpansion";
56
+ readonly permission_mode?: string;
57
+ readonly prompt_id?: string;
58
+ readonly scratchpad_dir?: string;
59
+ readonly agent_id?: string;
60
+ readonly agent_type?: string;
61
+ readonly effort?: {
62
+ readonly level: string;
63
+ };
64
+ readonly prompt: string;
65
+ readonly expansion_type?: string;
66
+ readonly command_name?: string;
67
+ readonly command_args?: string;
68
+ readonly command_source?: string;
69
+ };
70
+ readonly PreToolUse: {
71
+ readonly session_id: string;
72
+ readonly transcript_path?: string;
73
+ readonly cwd: string;
74
+ readonly hook_event_name: "PreToolUse";
75
+ readonly permission_mode?: string;
76
+ readonly prompt_id?: string;
77
+ readonly scratchpad_dir?: string;
78
+ readonly agent_id?: string;
79
+ readonly agent_type?: string;
80
+ readonly effort?: {
81
+ readonly level: string;
82
+ };
83
+ readonly tool_name: string;
84
+ readonly tool_input?: Readonly<Record<string, unknown>>;
85
+ readonly tool_use_id?: string;
86
+ readonly mcp_server?: Readonly<Record<string, unknown>>;
87
+ };
88
+ readonly PermissionRequest: {
89
+ readonly session_id: string;
90
+ readonly transcript_path?: string;
91
+ readonly cwd: string;
92
+ readonly hook_event_name: "PermissionRequest";
93
+ readonly permission_mode?: string;
94
+ readonly prompt_id?: string;
95
+ readonly scratchpad_dir?: string;
96
+ readonly agent_id?: string;
97
+ readonly agent_type?: string;
98
+ readonly effort?: {
99
+ readonly level: string;
100
+ };
101
+ readonly tool_name: string;
102
+ readonly tool_input?: Readonly<Record<string, unknown>>;
103
+ readonly tool_use_id?: string;
104
+ readonly permission_suggestions?: readonly unknown[];
105
+ readonly mcp_server?: Readonly<Record<string, unknown>>;
106
+ };
107
+ readonly PermissionDenied: {
108
+ readonly session_id: string;
109
+ readonly transcript_path?: string;
110
+ readonly cwd: string;
111
+ readonly hook_event_name: "PermissionDenied";
112
+ readonly permission_mode?: string;
113
+ readonly prompt_id?: string;
114
+ readonly scratchpad_dir?: string;
115
+ readonly agent_id?: string;
116
+ readonly agent_type?: string;
117
+ readonly effort?: {
118
+ readonly level: string;
119
+ };
120
+ readonly tool_name: string;
121
+ readonly tool_input?: Readonly<Record<string, unknown>>;
122
+ readonly tool_use_id?: string;
123
+ readonly reason?: string;
124
+ readonly mcp_server?: Readonly<Record<string, unknown>>;
125
+ };
126
+ readonly PostToolUse: {
127
+ readonly session_id: string;
128
+ readonly transcript_path?: string;
129
+ readonly cwd: string;
130
+ readonly hook_event_name: "PostToolUse";
131
+ readonly permission_mode?: string;
132
+ readonly prompt_id?: string;
133
+ readonly scratchpad_dir?: string;
134
+ readonly agent_id?: string;
135
+ readonly agent_type?: string;
136
+ readonly effort?: {
137
+ readonly level: string;
138
+ };
139
+ readonly tool_name: string;
140
+ readonly tool_input?: Readonly<Record<string, unknown>>;
141
+ readonly tool_use_id?: string;
142
+ readonly tool_response?: unknown;
143
+ readonly mcp_server?: Readonly<Record<string, unknown>>;
144
+ };
145
+ readonly PostToolUseFailure: {
146
+ readonly session_id: string;
147
+ readonly transcript_path?: string;
148
+ readonly cwd: string;
149
+ readonly hook_event_name: "PostToolUseFailure";
150
+ readonly permission_mode?: string;
151
+ readonly prompt_id?: string;
152
+ readonly scratchpad_dir?: string;
153
+ readonly agent_id?: string;
154
+ readonly agent_type?: string;
155
+ readonly effort?: {
156
+ readonly level: string;
157
+ };
158
+ readonly tool_name: string;
159
+ readonly tool_input?: Readonly<Record<string, unknown>>;
160
+ readonly tool_use_id?: string;
161
+ readonly error?: string;
162
+ readonly is_interrupt?: boolean;
163
+ readonly mcp_server?: Readonly<Record<string, unknown>>;
164
+ };
165
+ readonly PostToolBatch: {
166
+ readonly session_id: string;
167
+ readonly transcript_path?: string;
168
+ readonly cwd: string;
169
+ readonly hook_event_name: "PostToolBatch";
170
+ readonly permission_mode?: string;
171
+ readonly prompt_id?: string;
172
+ readonly scratchpad_dir?: string;
173
+ readonly agent_id?: string;
174
+ readonly agent_type?: string;
175
+ readonly effort?: {
176
+ readonly level: string;
177
+ };
178
+ readonly tool_calls?: readonly {
179
+ readonly tool_name?: string;
180
+ readonly tool_input?: Readonly<Record<string, unknown>>;
181
+ readonly tool_use_id?: string;
182
+ readonly tool_response?: unknown;
183
+ }[];
184
+ };
185
+ readonly Notification: {
186
+ readonly session_id: string;
187
+ readonly transcript_path?: string;
188
+ readonly cwd: string;
189
+ readonly hook_event_name: "Notification";
190
+ readonly permission_mode?: string;
191
+ readonly prompt_id?: string;
192
+ readonly scratchpad_dir?: string;
193
+ readonly agent_id?: string;
194
+ readonly agent_type?: string;
195
+ readonly effort?: {
196
+ readonly level: string;
197
+ };
198
+ readonly message?: string;
199
+ readonly title?: string;
200
+ readonly notification_type?: string;
201
+ };
202
+ readonly MessageDisplay: {
203
+ readonly session_id: string;
204
+ readonly transcript_path?: string;
205
+ readonly cwd: string;
206
+ readonly hook_event_name: "MessageDisplay";
207
+ readonly permission_mode?: string;
208
+ readonly prompt_id?: string;
209
+ readonly scratchpad_dir?: string;
210
+ readonly agent_id?: string;
211
+ readonly agent_type?: string;
212
+ readonly effort?: {
213
+ readonly level: string;
214
+ };
215
+ readonly delta: string;
216
+ readonly turn_id?: string;
217
+ readonly message_id?: string;
218
+ readonly index?: number;
219
+ readonly final?: boolean;
220
+ };
221
+ readonly SubagentStart: {
222
+ readonly session_id: string;
223
+ readonly transcript_path?: string;
224
+ readonly cwd: string;
225
+ readonly hook_event_name: "SubagentStart";
226
+ readonly permission_mode?: string;
227
+ readonly prompt_id?: string;
228
+ readonly scratchpad_dir?: string;
229
+ readonly agent_id?: string;
230
+ readonly agent_type?: string;
231
+ readonly effort?: {
232
+ readonly level: string;
233
+ };
234
+ };
235
+ readonly SubagentStop: {
236
+ readonly session_id: string;
237
+ readonly transcript_path?: string;
238
+ readonly cwd: string;
239
+ readonly hook_event_name: "SubagentStop";
240
+ readonly permission_mode?: string;
241
+ readonly prompt_id?: string;
242
+ readonly scratchpad_dir?: string;
243
+ readonly agent_id?: string;
244
+ readonly agent_type?: string;
245
+ readonly effort?: {
246
+ readonly level: string;
247
+ };
248
+ readonly agent_transcript_path?: string;
249
+ readonly last_assistant_message?: string;
250
+ readonly stop_hook_active?: boolean;
251
+ };
252
+ readonly TaskCreated: {
253
+ readonly session_id: string;
254
+ readonly transcript_path?: string;
255
+ readonly cwd: string;
256
+ readonly hook_event_name: "TaskCreated";
257
+ readonly permission_mode?: string;
258
+ readonly prompt_id?: string;
259
+ readonly scratchpad_dir?: string;
260
+ readonly agent_id?: string;
261
+ readonly agent_type?: string;
262
+ readonly effort?: {
263
+ readonly level: string;
264
+ };
265
+ readonly task_id?: string;
266
+ readonly task_subject?: string;
267
+ readonly task_description?: string;
268
+ };
269
+ readonly TaskCompleted: {
270
+ readonly session_id: string;
271
+ readonly transcript_path?: string;
272
+ readonly cwd: string;
273
+ readonly hook_event_name: "TaskCompleted";
274
+ readonly permission_mode?: string;
275
+ readonly prompt_id?: string;
276
+ readonly scratchpad_dir?: string;
277
+ readonly agent_id?: string;
278
+ readonly agent_type?: string;
279
+ readonly effort?: {
280
+ readonly level: string;
281
+ };
282
+ readonly task_id?: string;
283
+ readonly task_subject?: string;
284
+ readonly task_description?: string;
285
+ readonly teammate_name?: string;
286
+ readonly team_name?: string;
287
+ };
288
+ readonly Stop: {
289
+ readonly session_id: string;
290
+ readonly transcript_path?: string;
291
+ readonly cwd: string;
292
+ readonly hook_event_name: "Stop";
293
+ readonly permission_mode?: string;
294
+ readonly prompt_id?: string;
295
+ readonly scratchpad_dir?: string;
296
+ readonly agent_id?: string;
297
+ readonly agent_type?: string;
298
+ readonly effort?: {
299
+ readonly level: string;
300
+ };
301
+ readonly stop_hook_active?: boolean;
302
+ readonly last_assistant_message?: string;
303
+ };
304
+ readonly StopFailure: {
305
+ readonly session_id: string;
306
+ readonly transcript_path?: string;
307
+ readonly cwd: string;
308
+ readonly hook_event_name: "StopFailure";
309
+ readonly permission_mode?: string;
310
+ readonly prompt_id?: string;
311
+ readonly scratchpad_dir?: string;
312
+ readonly agent_id?: string;
313
+ readonly agent_type?: string;
314
+ readonly effort?: {
315
+ readonly level: string;
316
+ };
317
+ readonly error?: string;
318
+ readonly error_details?: string;
319
+ readonly last_assistant_message?: string;
320
+ };
321
+ readonly TeammateIdle: {
322
+ readonly session_id: string;
323
+ readonly transcript_path?: string;
324
+ readonly cwd: string;
325
+ readonly hook_event_name: "TeammateIdle";
326
+ readonly permission_mode?: string;
327
+ readonly prompt_id?: string;
328
+ readonly scratchpad_dir?: string;
329
+ readonly agent_id?: string;
330
+ readonly agent_type?: string;
331
+ readonly effort?: {
332
+ readonly level: string;
333
+ };
334
+ readonly teammate_name?: string;
335
+ readonly team_name?: string;
336
+ };
337
+ readonly InstructionsLoaded: {
338
+ readonly session_id: string;
339
+ readonly transcript_path?: string;
340
+ readonly cwd: string;
341
+ readonly hook_event_name: "InstructionsLoaded";
342
+ readonly permission_mode?: string;
343
+ readonly prompt_id?: string;
344
+ readonly scratchpad_dir?: string;
345
+ readonly agent_id?: string;
346
+ readonly agent_type?: string;
347
+ readonly effort?: {
348
+ readonly level: string;
349
+ };
350
+ readonly file_path?: string;
351
+ readonly memory_type?: string;
352
+ readonly load_reason?: string;
353
+ readonly globs?: readonly string[];
354
+ readonly trigger_file_path?: string;
355
+ readonly parent_file_path?: string;
356
+ };
357
+ readonly ConfigChange: {
358
+ readonly session_id: string;
359
+ readonly transcript_path?: string;
360
+ readonly cwd: string;
361
+ readonly hook_event_name: "ConfigChange";
362
+ readonly permission_mode?: string;
363
+ readonly prompt_id?: string;
364
+ readonly scratchpad_dir?: string;
365
+ readonly agent_id?: string;
366
+ readonly agent_type?: string;
367
+ readonly effort?: {
368
+ readonly level: string;
369
+ };
370
+ readonly source?: string;
371
+ readonly file_path?: string;
372
+ };
373
+ readonly CwdChanged: {
374
+ readonly session_id: string;
375
+ readonly transcript_path?: string;
376
+ readonly cwd: string;
377
+ readonly hook_event_name: "CwdChanged";
378
+ readonly permission_mode?: string;
379
+ readonly prompt_id?: string;
380
+ readonly scratchpad_dir?: string;
381
+ readonly agent_id?: string;
382
+ readonly agent_type?: string;
383
+ readonly effort?: {
384
+ readonly level: string;
385
+ };
386
+ readonly old_cwd?: string;
387
+ readonly new_cwd?: string;
388
+ };
389
+ readonly DirectoryAdded: {
390
+ readonly session_id: string;
391
+ readonly transcript_path?: string;
392
+ readonly cwd: string;
393
+ readonly hook_event_name: "DirectoryAdded";
394
+ readonly permission_mode?: string;
395
+ readonly prompt_id?: string;
396
+ readonly scratchpad_dir?: string;
397
+ readonly agent_id?: string;
398
+ readonly agent_type?: string;
399
+ readonly effort?: {
400
+ readonly level: string;
401
+ };
402
+ readonly directory?: string;
403
+ readonly source?: "slash_command" | "register_repo_root";
404
+ };
405
+ readonly FileChanged: {
406
+ readonly session_id: string;
407
+ readonly transcript_path?: string;
408
+ readonly cwd: string;
409
+ readonly hook_event_name: "FileChanged";
410
+ readonly permission_mode?: string;
411
+ readonly prompt_id?: string;
412
+ readonly scratchpad_dir?: string;
413
+ readonly agent_id?: string;
414
+ readonly agent_type?: string;
415
+ readonly effort?: {
416
+ readonly level: string;
417
+ };
418
+ readonly file_path?: string;
419
+ readonly event?: string;
420
+ };
421
+ readonly WorktreeCreate: {
422
+ readonly session_id: string;
423
+ readonly transcript_path?: string;
424
+ readonly cwd: string;
425
+ readonly hook_event_name: "WorktreeCreate";
426
+ readonly permission_mode?: string;
427
+ readonly prompt_id?: string;
428
+ readonly scratchpad_dir?: string;
429
+ readonly agent_id?: string;
430
+ readonly agent_type?: string;
431
+ readonly effort?: {
432
+ readonly level: string;
433
+ };
434
+ readonly name?: string;
435
+ };
436
+ readonly WorktreeRemove: {
437
+ readonly session_id: string;
438
+ readonly transcript_path?: string;
439
+ readonly cwd: string;
440
+ readonly hook_event_name: "WorktreeRemove";
441
+ readonly permission_mode?: string;
442
+ readonly prompt_id?: string;
443
+ readonly scratchpad_dir?: string;
444
+ readonly agent_id?: string;
445
+ readonly agent_type?: string;
446
+ readonly effort?: {
447
+ readonly level: string;
448
+ };
449
+ readonly worktree_path?: string;
450
+ };
451
+ readonly PreCompact: {
452
+ readonly session_id: string;
453
+ readonly transcript_path?: string;
454
+ readonly cwd: string;
455
+ readonly hook_event_name: "PreCompact";
456
+ readonly permission_mode?: string;
457
+ readonly prompt_id?: string;
458
+ readonly scratchpad_dir?: string;
459
+ readonly agent_id?: string;
460
+ readonly agent_type?: string;
461
+ readonly effort?: {
462
+ readonly level: string;
463
+ };
464
+ readonly trigger?: string;
465
+ readonly custom_instructions?: string | null;
466
+ };
467
+ readonly PostCompact: {
468
+ readonly session_id: string;
469
+ readonly transcript_path?: string;
470
+ readonly cwd: string;
471
+ readonly hook_event_name: "PostCompact";
472
+ readonly permission_mode?: string;
473
+ readonly prompt_id?: string;
474
+ readonly scratchpad_dir?: string;
475
+ readonly agent_id?: string;
476
+ readonly agent_type?: string;
477
+ readonly effort?: {
478
+ readonly level: string;
479
+ };
480
+ readonly trigger?: string;
481
+ readonly compact_summary?: string;
482
+ };
483
+ readonly PreModelSwitch: {
484
+ readonly session_id: string;
485
+ readonly transcript_path?: string;
486
+ readonly cwd: string;
487
+ readonly hook_event_name: "PreModelSwitch";
488
+ readonly permission_mode?: string;
489
+ readonly prompt_id?: string;
490
+ readonly scratchpad_dir?: string;
491
+ readonly agent_id?: string;
492
+ readonly agent_type?: string;
493
+ readonly effort?: {
494
+ readonly level: string;
495
+ };
496
+ readonly from_model?: string;
497
+ readonly to_model?: string;
498
+ readonly requested_model?: string | null;
499
+ readonly source?: string;
500
+ readonly context_tokens?: number;
501
+ readonly prompt_cache_warm?: boolean;
502
+ readonly cache_ttl?: string;
503
+ readonly estimated_cache_write_usd?: number;
504
+ readonly pricing?: string;
505
+ };
506
+ readonly PostModelSwitch: {
507
+ readonly session_id: string;
508
+ readonly transcript_path?: string;
509
+ readonly cwd: string;
510
+ readonly hook_event_name: "PostModelSwitch";
511
+ readonly permission_mode?: string;
512
+ readonly prompt_id?: string;
513
+ readonly scratchpad_dir?: string;
514
+ readonly agent_id?: string;
515
+ readonly agent_type?: string;
516
+ readonly effort?: {
517
+ readonly level: string;
518
+ };
519
+ readonly from_model?: string;
520
+ readonly to_model?: string;
521
+ readonly requested_model?: string | null;
522
+ readonly source?: string;
523
+ readonly context_tokens?: number;
524
+ readonly prompt_cache_warm?: boolean;
525
+ readonly cache_ttl?: string;
526
+ readonly estimated_cache_write_usd?: number;
527
+ readonly pricing?: string;
528
+ };
529
+ readonly Elicitation: {
530
+ readonly session_id: string;
531
+ readonly transcript_path?: string;
532
+ readonly cwd: string;
533
+ readonly hook_event_name: "Elicitation";
534
+ readonly permission_mode?: string;
535
+ readonly prompt_id?: string;
536
+ readonly scratchpad_dir?: string;
537
+ readonly agent_id?: string;
538
+ readonly agent_type?: string;
539
+ readonly effort?: {
540
+ readonly level: string;
541
+ };
542
+ readonly mcp_server_name?: string;
543
+ readonly message?: string;
544
+ readonly mode?: string;
545
+ readonly requested_schema?: Readonly<Record<string, unknown>>;
546
+ readonly elicitation_id?: string;
547
+ readonly url?: string;
548
+ };
549
+ readonly ElicitationResult: {
550
+ readonly session_id: string;
551
+ readonly transcript_path?: string;
552
+ readonly cwd: string;
553
+ readonly hook_event_name: "ElicitationResult";
554
+ readonly permission_mode?: string;
555
+ readonly prompt_id?: string;
556
+ readonly scratchpad_dir?: string;
557
+ readonly agent_id?: string;
558
+ readonly agent_type?: string;
559
+ readonly effort?: {
560
+ readonly level: string;
561
+ };
562
+ readonly mcp_server_name?: string;
563
+ readonly action?: string;
564
+ readonly content?: Readonly<Record<string, unknown>>;
565
+ };
566
+ readonly SessionEnd: {
567
+ readonly session_id: string;
568
+ readonly transcript_path?: string;
569
+ readonly cwd: string;
570
+ readonly hook_event_name: "SessionEnd";
571
+ readonly permission_mode?: string;
572
+ readonly prompt_id?: string;
573
+ readonly scratchpad_dir?: string;
574
+ readonly agent_id?: string;
575
+ readonly agent_type?: string;
576
+ readonly effort?: {
577
+ readonly level: string;
578
+ };
579
+ readonly reason?: string;
580
+ };
581
+ }
582
+ export interface ClaudeHookDecisions {
583
+ readonly SessionStart: string | {
584
+ readonly continue?: boolean;
585
+ readonly stopReason?: string;
586
+ readonly suppressOutput?: boolean;
587
+ readonly systemMessage?: string;
588
+ readonly hookSpecificOutput?: {
589
+ readonly hookEventName: "SessionStart";
590
+ readonly additionalContext?: string;
591
+ readonly initialUserMessage?: string;
592
+ readonly sessionTitle?: string;
593
+ readonly watchPaths?: readonly string[];
594
+ readonly reloadSkills?: boolean;
595
+ };
596
+ readonly terminalSequence?: string;
597
+ };
598
+ readonly Setup: {
599
+ readonly terminalSequence?: string;
600
+ };
601
+ readonly UserPromptSubmit: string | {
602
+ readonly continue?: boolean;
603
+ readonly stopReason?: string;
604
+ readonly suppressOutput?: boolean;
605
+ readonly systemMessage?: string;
606
+ readonly decision?: "block";
607
+ readonly reason?: string;
608
+ readonly hookSpecificOutput?: {
609
+ readonly hookEventName: "UserPromptSubmit";
610
+ readonly additionalContext?: string;
611
+ };
612
+ readonly terminalSequence?: string;
613
+ };
614
+ readonly UserPromptExpansion: {
615
+ readonly continue?: boolean;
616
+ readonly stopReason?: string;
617
+ readonly suppressOutput?: boolean;
618
+ readonly systemMessage?: string;
619
+ readonly decision?: "block";
620
+ readonly reason?: string;
621
+ readonly hookSpecificOutput?: {
622
+ readonly hookEventName: "UserPromptExpansion";
623
+ readonly additionalContext?: string;
624
+ };
625
+ readonly terminalSequence?: string;
626
+ };
627
+ readonly PreToolUse: {
628
+ readonly continue?: boolean;
629
+ readonly stopReason?: string;
630
+ readonly suppressOutput?: boolean;
631
+ readonly systemMessage?: string;
632
+ readonly hookSpecificOutput?: {
633
+ readonly hookEventName: "PreToolUse";
634
+ readonly permissionDecision?: "allow" | "deny" | "ask" | "defer";
635
+ readonly permissionDecisionReason?: string;
636
+ readonly updatedInput?: Readonly<Record<string, unknown>>;
637
+ readonly additionalContext?: string;
638
+ };
639
+ readonly terminalSequence?: string;
640
+ };
641
+ readonly PermissionRequest: {
642
+ readonly continue?: boolean;
643
+ readonly stopReason?: string;
644
+ readonly suppressOutput?: boolean;
645
+ readonly systemMessage?: string;
646
+ readonly hookSpecificOutput?: {
647
+ readonly hookEventName: "PermissionRequest";
648
+ readonly decision?: {
649
+ readonly behavior: "allow" | "deny";
650
+ readonly updatedInput?: Readonly<Record<string, unknown>>;
651
+ readonly updatedPermissions?: readonly unknown[];
652
+ readonly message?: string;
653
+ readonly interrupt?: boolean;
654
+ };
655
+ };
656
+ readonly terminalSequence?: string;
657
+ };
658
+ readonly PermissionDenied: {
659
+ readonly continue?: boolean;
660
+ readonly stopReason?: string;
661
+ readonly suppressOutput?: boolean;
662
+ readonly systemMessage?: string;
663
+ readonly hookSpecificOutput?: {
664
+ readonly hookEventName: "PermissionDenied";
665
+ readonly retry?: boolean;
666
+ };
667
+ readonly terminalSequence?: string;
668
+ };
669
+ readonly PostToolUse: {
670
+ readonly continue?: boolean;
671
+ readonly stopReason?: string;
672
+ readonly suppressOutput?: boolean;
673
+ readonly systemMessage?: string;
674
+ readonly decision?: "block";
675
+ readonly reason?: string;
676
+ readonly hookSpecificOutput?: {
677
+ readonly hookEventName: "PostToolUse";
678
+ readonly additionalContext?: string;
679
+ readonly classifierContext?: string;
680
+ readonly updatedToolOutput?: unknown;
681
+ readonly updatedMCPToolOutput?: unknown;
682
+ };
683
+ readonly terminalSequence?: string;
684
+ };
685
+ readonly PostToolUseFailure: {
686
+ readonly continue?: boolean;
687
+ readonly stopReason?: string;
688
+ readonly suppressOutput?: boolean;
689
+ readonly systemMessage?: string;
690
+ readonly hookSpecificOutput?: {
691
+ readonly hookEventName: "PostToolUseFailure";
692
+ readonly additionalContext?: string;
693
+ };
694
+ readonly terminalSequence?: string;
695
+ };
696
+ readonly PostToolBatch: {
697
+ readonly continue?: boolean;
698
+ readonly stopReason?: string;
699
+ readonly suppressOutput?: boolean;
700
+ readonly systemMessage?: string;
701
+ readonly decision?: "block";
702
+ readonly reason?: string;
703
+ readonly hookSpecificOutput?: {
704
+ readonly hookEventName: "PostToolBatch";
705
+ readonly additionalContext?: string;
706
+ };
707
+ readonly terminalSequence?: string;
708
+ };
709
+ readonly Notification: {
710
+ readonly continue?: boolean;
711
+ readonly stopReason?: string;
712
+ readonly suppressOutput?: boolean;
713
+ readonly systemMessage?: string;
714
+ readonly hookSpecificOutput?: {
715
+ readonly hookEventName: "Notification";
716
+ readonly additionalContext?: string;
717
+ };
718
+ readonly terminalSequence?: string;
719
+ };
720
+ readonly MessageDisplay: {
721
+ readonly continue?: boolean;
722
+ readonly stopReason?: string;
723
+ readonly suppressOutput?: boolean;
724
+ readonly systemMessage?: string;
725
+ readonly hookSpecificOutput?: {
726
+ readonly hookEventName: "MessageDisplay";
727
+ readonly displayContent?: string;
728
+ };
729
+ readonly terminalSequence?: string;
730
+ };
731
+ readonly SubagentStart: {
732
+ readonly continue?: boolean;
733
+ readonly stopReason?: string;
734
+ readonly suppressOutput?: boolean;
735
+ readonly systemMessage?: string;
736
+ readonly hookSpecificOutput?: {
737
+ readonly hookEventName: "SubagentStart";
738
+ readonly additionalContext?: string;
739
+ };
740
+ readonly terminalSequence?: string;
741
+ };
742
+ readonly SubagentStop: {
743
+ readonly continue?: boolean;
744
+ readonly stopReason?: string;
745
+ readonly suppressOutput?: boolean;
746
+ readonly systemMessage?: string;
747
+ readonly decision?: "block";
748
+ readonly reason?: string;
749
+ readonly hookSpecificOutput?: {
750
+ readonly hookEventName: "SubagentStop";
751
+ readonly additionalContext?: string;
752
+ };
753
+ readonly terminalSequence?: string;
754
+ };
755
+ readonly TaskCreated: {
756
+ readonly continue?: boolean;
757
+ readonly stopReason?: string;
758
+ readonly suppressOutput?: boolean;
759
+ readonly systemMessage?: string;
760
+ readonly decision?: "block";
761
+ readonly reason?: string;
762
+ readonly terminalSequence?: string;
763
+ };
764
+ readonly TaskCompleted: {
765
+ readonly continue?: boolean;
766
+ readonly stopReason?: string;
767
+ readonly terminalSequence?: string;
768
+ };
769
+ readonly Stop: {
770
+ readonly continue?: boolean;
771
+ readonly stopReason?: string;
772
+ readonly suppressOutput?: boolean;
773
+ readonly systemMessage?: string;
774
+ readonly decision?: "block";
775
+ readonly reason?: string;
776
+ readonly hookSpecificOutput?: {
777
+ readonly hookEventName: "Stop";
778
+ readonly additionalContext?: string;
779
+ };
780
+ readonly terminalSequence?: string;
781
+ };
782
+ readonly StopFailure: {
783
+ readonly terminalSequence?: string;
784
+ };
785
+ readonly TeammateIdle: {
786
+ readonly continue?: boolean;
787
+ readonly stopReason?: string;
788
+ readonly terminalSequence?: string;
789
+ };
790
+ readonly InstructionsLoaded: {
791
+ readonly terminalSequence?: string;
792
+ };
793
+ readonly ConfigChange: {
794
+ readonly continue?: boolean;
795
+ readonly stopReason?: string;
796
+ readonly suppressOutput?: boolean;
797
+ readonly systemMessage?: string;
798
+ readonly decision?: "block";
799
+ readonly reason?: string;
800
+ readonly terminalSequence?: string;
801
+ };
802
+ readonly CwdChanged: {
803
+ readonly continue?: boolean;
804
+ readonly stopReason?: string;
805
+ readonly suppressOutput?: boolean;
806
+ readonly systemMessage?: string;
807
+ readonly hookSpecificOutput?: {
808
+ readonly hookEventName: "CwdChanged";
809
+ readonly watchPaths?: readonly string[];
810
+ };
811
+ readonly terminalSequence?: string;
812
+ };
813
+ readonly DirectoryAdded: {
814
+ readonly continue?: boolean;
815
+ readonly stopReason?: string;
816
+ readonly suppressOutput?: boolean;
817
+ readonly systemMessage?: string;
818
+ readonly terminalSequence?: string;
819
+ };
820
+ readonly FileChanged: {
821
+ readonly continue?: boolean;
822
+ readonly stopReason?: string;
823
+ readonly suppressOutput?: boolean;
824
+ readonly systemMessage?: string;
825
+ readonly hookSpecificOutput?: {
826
+ readonly hookEventName: "FileChanged";
827
+ readonly watchPaths?: readonly string[];
828
+ };
829
+ readonly terminalSequence?: string;
830
+ };
831
+ readonly WorktreeCreate: string;
832
+ readonly WorktreeRemove: {
833
+ readonly terminalSequence?: string;
834
+ };
835
+ readonly PreCompact: {
836
+ readonly decision?: "block";
837
+ readonly reason?: string;
838
+ readonly terminalSequence?: string;
839
+ };
840
+ readonly PostCompact: {
841
+ readonly terminalSequence?: string;
842
+ };
843
+ readonly PreModelSwitch: {
844
+ readonly continue?: boolean;
845
+ readonly stopReason?: string;
846
+ readonly suppressOutput?: boolean;
847
+ readonly systemMessage?: string;
848
+ readonly decision?: "block";
849
+ readonly reason?: string;
850
+ readonly hookSpecificOutput?: {
851
+ readonly hookEventName: "PreModelSwitch";
852
+ readonly permissionDecision?: "allow" | "deny" | "ask";
853
+ readonly permissionDecisionReason?: string;
854
+ };
855
+ readonly terminalSequence?: string;
856
+ };
857
+ readonly PostModelSwitch: string | {
858
+ readonly continue?: boolean;
859
+ readonly stopReason?: string;
860
+ readonly suppressOutput?: boolean;
861
+ readonly systemMessage?: string;
862
+ readonly hookSpecificOutput?: {
863
+ readonly hookEventName: "PostModelSwitch";
864
+ readonly additionalContext?: string;
865
+ };
866
+ readonly terminalSequence?: string;
867
+ };
868
+ readonly Elicitation: {
869
+ readonly continue?: boolean;
870
+ readonly stopReason?: string;
871
+ readonly suppressOutput?: boolean;
872
+ readonly systemMessage?: string;
873
+ readonly hookSpecificOutput?: {
874
+ readonly hookEventName: "Elicitation";
875
+ readonly action?: "accept" | "decline" | "cancel";
876
+ readonly content?: Readonly<Record<string, unknown>>;
877
+ };
878
+ readonly decision?: "block";
879
+ readonly terminalSequence?: string;
880
+ };
881
+ readonly ElicitationResult: {
882
+ readonly continue?: boolean;
883
+ readonly stopReason?: string;
884
+ readonly suppressOutput?: boolean;
885
+ readonly systemMessage?: string;
886
+ readonly hookSpecificOutput?: {
887
+ readonly hookEventName: "ElicitationResult";
888
+ readonly action?: "accept" | "decline" | "cancel";
889
+ readonly content?: Readonly<Record<string, unknown>>;
890
+ };
891
+ readonly decision?: "block";
892
+ readonly terminalSequence?: string;
893
+ };
894
+ readonly SessionEnd: {
895
+ readonly terminalSequence?: string;
896
+ };
897
+ }
898
+ export type ClaudeHookPhase = keyof ClaudeHookEvents;
899
+ export type ClaudeHook<Phase extends ClaudeHookPhase = ClaudeHookPhase> = NativeHook<"claude", Phase>;
900
+ export type ClaudeHookOptions<Phase extends ClaudeHookPhase> = NativeHookOptions<Phase, ClaudeHookEvents[Phase], ClaudeHookDecisions[Phase]>;