@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
@@ -3237,6 +3237,9 @@
3237
3237
  "maxDelayMs": {
3238
3238
  "type": "number"
3239
3239
  },
3240
+ "maxRetryAfterMs": {
3241
+ "type": "number"
3242
+ },
3240
3243
  "jitter": {
3241
3244
  "anyOf": [
3242
3245
  {
@@ -8777,6 +8780,9 @@
8777
8780
  }
8778
8781
  ]
8779
8782
  },
8783
+ "egressImage": {
8784
+ "type": "string"
8785
+ },
8780
8786
  "repositoryMode": {
8781
8787
  "anyOf": [
8782
8788
  {
@@ -9004,6 +9010,9 @@
9004
9010
  }
9005
9011
  ]
9006
9012
  },
9013
+ "egressImage": {
9014
+ "type": "string"
9015
+ },
9007
9016
  "repositoryMode": {
9008
9017
  "anyOf": [
9009
9018
  {
@@ -9265,6 +9274,9 @@
9265
9274
  }
9266
9275
  ]
9267
9276
  },
9277
+ "timeoutMs": {
9278
+ "type": "number"
9279
+ },
9268
9280
  "name": {
9269
9281
  "type": "string"
9270
9282
  },
@@ -10495,6 +10507,9 @@
10495
10507
  }
10496
10508
  ]
10497
10509
  },
10510
+ "timeoutMs": {
10511
+ "type": "number"
10512
+ },
10498
10513
  "name": {
10499
10514
  "type": "string"
10500
10515
  },
@@ -17554,6 +17569,21 @@
17554
17569
  "leaseMs": {
17555
17570
  "type": "number"
17556
17571
  },
17572
+ "onError": {
17573
+ "anyOf": [
17574
+ {
17575
+ "type": "object",
17576
+ "required": ["$ref"],
17577
+ "properties": {
17578
+ "$ref": {
17579
+ "type": "string",
17580
+ "pattern": "\\S"
17581
+ }
17582
+ },
17583
+ "additionalProperties": false
17584
+ }
17585
+ ]
17586
+ },
17557
17587
  "type": {
17558
17588
  "const": "worker"
17559
17589
  }
@@ -19167,6 +19197,148 @@
19167
19197
  {
19168
19198
  "type": "object",
19169
19199
  "properties": {
19200
+ "hooks": {
19201
+ "type": "array",
19202
+ "items": {
19203
+ "type": "object",
19204
+ "properties": {
19205
+ "kind": {
19206
+ "const": "native-hook"
19207
+ },
19208
+ "agent": {
19209
+ "const": "codex"
19210
+ },
19211
+ "on": {
19212
+ "anyOf": [
19213
+ {
19214
+ "const": "SessionStart"
19215
+ },
19216
+ {
19217
+ "const": "SessionEnd"
19218
+ },
19219
+ {
19220
+ "const": "UserPromptSubmit"
19221
+ },
19222
+ {
19223
+ "const": "PreToolUse"
19224
+ },
19225
+ {
19226
+ "const": "PermissionRequest"
19227
+ },
19228
+ {
19229
+ "const": "PostToolUse"
19230
+ },
19231
+ {
19232
+ "const": "PreCompact"
19233
+ },
19234
+ {
19235
+ "const": "PostCompact"
19236
+ },
19237
+ {
19238
+ "const": "SubagentStart"
19239
+ },
19240
+ {
19241
+ "const": "SubagentStop"
19242
+ },
19243
+ {
19244
+ "const": "Stop"
19245
+ },
19246
+ {
19247
+ "const": "Interrupt"
19248
+ }
19249
+ ]
19250
+ },
19251
+ "name": {
19252
+ "type": "string"
19253
+ },
19254
+ "timeoutMs": {
19255
+ "type": "number"
19256
+ },
19257
+ "command": {
19258
+ "type": "object",
19259
+ "properties": {
19260
+ "executable": {
19261
+ "type": "string"
19262
+ },
19263
+ "arguments": {
19264
+ "type": "array",
19265
+ "items": {
19266
+ "type": "string"
19267
+ }
19268
+ },
19269
+ "directory": {
19270
+ "type": "string"
19271
+ },
19272
+ "variables": {
19273
+ "anyOf": [
19274
+ {
19275
+ "anyOf": [
19276
+ {
19277
+ "type": "object",
19278
+ "required": ["$ref"],
19279
+ "properties": {
19280
+ "$ref": {
19281
+ "type": "string",
19282
+ "pattern": "\\S"
19283
+ }
19284
+ },
19285
+ "additionalProperties": false
19286
+ },
19287
+ {
19288
+ "$ref": "#/$defs/variables"
19289
+ }
19290
+ ]
19291
+ },
19292
+ {
19293
+ "type": "object",
19294
+ "additionalProperties": {
19295
+ "anyOf": [
19296
+ {
19297
+ "type": "string"
19298
+ },
19299
+ {
19300
+ "type": "object",
19301
+ "properties": {
19302
+ "env": {
19303
+ "type": "string",
19304
+ "pattern": "^[A-Za-z_][A-Za-z0-9_]*$"
19305
+ }
19306
+ },
19307
+ "required": ["env"],
19308
+ "additionalProperties": false
19309
+ }
19310
+ ]
19311
+ }
19312
+ }
19313
+ ]
19314
+ }
19315
+ },
19316
+ "required": ["executable"],
19317
+ "additionalProperties": false
19318
+ },
19319
+ "matcher": {
19320
+ "type": "string"
19321
+ },
19322
+ "run": {
19323
+ "anyOf": [
19324
+ {
19325
+ "type": "object",
19326
+ "required": ["$ref"],
19327
+ "properties": {
19328
+ "$ref": {
19329
+ "type": "string",
19330
+ "pattern": "\\S"
19331
+ }
19332
+ },
19333
+ "additionalProperties": false
19334
+ }
19335
+ ]
19336
+ }
19337
+ },
19338
+ "required": ["kind", "agent", "on", "name", "timeoutMs", "run"],
19339
+ "additionalProperties": false
19340
+ }
19341
+ },
19170
19342
  "modelProvider": {
19171
19343
  "type": "object",
19172
19344
  "properties": {
@@ -19522,6 +19694,211 @@
19522
19694
  {
19523
19695
  "type": "object",
19524
19696
  "properties": {
19697
+ "hooks": {
19698
+ "type": "array",
19699
+ "items": {
19700
+ "type": "object",
19701
+ "properties": {
19702
+ "kind": {
19703
+ "const": "native-hook"
19704
+ },
19705
+ "agent": {
19706
+ "const": "claude"
19707
+ },
19708
+ "on": {
19709
+ "anyOf": [
19710
+ {
19711
+ "const": "SessionStart"
19712
+ },
19713
+ {
19714
+ "const": "SessionEnd"
19715
+ },
19716
+ {
19717
+ "const": "UserPromptSubmit"
19718
+ },
19719
+ {
19720
+ "const": "PreToolUse"
19721
+ },
19722
+ {
19723
+ "const": "PermissionRequest"
19724
+ },
19725
+ {
19726
+ "const": "PostToolUse"
19727
+ },
19728
+ {
19729
+ "const": "PreCompact"
19730
+ },
19731
+ {
19732
+ "const": "PostCompact"
19733
+ },
19734
+ {
19735
+ "const": "SubagentStart"
19736
+ },
19737
+ {
19738
+ "const": "SubagentStop"
19739
+ },
19740
+ {
19741
+ "const": "Stop"
19742
+ },
19743
+ {
19744
+ "const": "Setup"
19745
+ },
19746
+ {
19747
+ "const": "UserPromptExpansion"
19748
+ },
19749
+ {
19750
+ "const": "PermissionDenied"
19751
+ },
19752
+ {
19753
+ "const": "PostToolUseFailure"
19754
+ },
19755
+ {
19756
+ "const": "PostToolBatch"
19757
+ },
19758
+ {
19759
+ "const": "Notification"
19760
+ },
19761
+ {
19762
+ "const": "MessageDisplay"
19763
+ },
19764
+ {
19765
+ "const": "TaskCreated"
19766
+ },
19767
+ {
19768
+ "const": "TaskCompleted"
19769
+ },
19770
+ {
19771
+ "const": "StopFailure"
19772
+ },
19773
+ {
19774
+ "const": "TeammateIdle"
19775
+ },
19776
+ {
19777
+ "const": "InstructionsLoaded"
19778
+ },
19779
+ {
19780
+ "const": "ConfigChange"
19781
+ },
19782
+ {
19783
+ "const": "CwdChanged"
19784
+ },
19785
+ {
19786
+ "const": "DirectoryAdded"
19787
+ },
19788
+ {
19789
+ "const": "FileChanged"
19790
+ },
19791
+ {
19792
+ "const": "WorktreeCreate"
19793
+ },
19794
+ {
19795
+ "const": "WorktreeRemove"
19796
+ },
19797
+ {
19798
+ "const": "PreModelSwitch"
19799
+ },
19800
+ {
19801
+ "const": "PostModelSwitch"
19802
+ },
19803
+ {
19804
+ "const": "Elicitation"
19805
+ },
19806
+ {
19807
+ "const": "ElicitationResult"
19808
+ }
19809
+ ]
19810
+ },
19811
+ "name": {
19812
+ "type": "string"
19813
+ },
19814
+ "timeoutMs": {
19815
+ "type": "number"
19816
+ },
19817
+ "command": {
19818
+ "type": "object",
19819
+ "properties": {
19820
+ "executable": {
19821
+ "type": "string"
19822
+ },
19823
+ "arguments": {
19824
+ "type": "array",
19825
+ "items": {
19826
+ "type": "string"
19827
+ }
19828
+ },
19829
+ "directory": {
19830
+ "type": "string"
19831
+ },
19832
+ "variables": {
19833
+ "anyOf": [
19834
+ {
19835
+ "anyOf": [
19836
+ {
19837
+ "type": "object",
19838
+ "required": ["$ref"],
19839
+ "properties": {
19840
+ "$ref": {
19841
+ "type": "string",
19842
+ "pattern": "\\S"
19843
+ }
19844
+ },
19845
+ "additionalProperties": false
19846
+ },
19847
+ {
19848
+ "$ref": "#/$defs/variables"
19849
+ }
19850
+ ]
19851
+ },
19852
+ {
19853
+ "type": "object",
19854
+ "additionalProperties": {
19855
+ "anyOf": [
19856
+ {
19857
+ "type": "string"
19858
+ },
19859
+ {
19860
+ "type": "object",
19861
+ "properties": {
19862
+ "env": {
19863
+ "type": "string",
19864
+ "pattern": "^[A-Za-z_][A-Za-z0-9_]*$"
19865
+ }
19866
+ },
19867
+ "required": ["env"],
19868
+ "additionalProperties": false
19869
+ }
19870
+ ]
19871
+ }
19872
+ }
19873
+ ]
19874
+ }
19875
+ },
19876
+ "required": ["executable"],
19877
+ "additionalProperties": false
19878
+ },
19879
+ "matcher": {
19880
+ "type": "string"
19881
+ },
19882
+ "run": {
19883
+ "anyOf": [
19884
+ {
19885
+ "type": "object",
19886
+ "required": ["$ref"],
19887
+ "properties": {
19888
+ "$ref": {
19889
+ "type": "string",
19890
+ "pattern": "\\S"
19891
+ }
19892
+ },
19893
+ "additionalProperties": false
19894
+ }
19895
+ ]
19896
+ }
19897
+ },
19898
+ "required": ["kind", "agent", "on", "name", "timeoutMs", "run"],
19899
+ "additionalProperties": false
19900
+ }
19901
+ },
19525
19902
  "partialMessages": {
19526
19903
  "anyOf": [
19527
19904
  {
@@ -19879,6 +20256,130 @@
19879
20256
  {
19880
20257
  "type": "object",
19881
20258
  "properties": {
20259
+ "hooks": {
20260
+ "type": "array",
20261
+ "items": {
20262
+ "type": "object",
20263
+ "properties": {
20264
+ "kind": {
20265
+ "const": "native-hook"
20266
+ },
20267
+ "agent": {
20268
+ "const": "antigravity"
20269
+ },
20270
+ "on": {
20271
+ "anyOf": [
20272
+ {
20273
+ "const": "SessionStart"
20274
+ },
20275
+ {
20276
+ "const": "PreToolUse"
20277
+ },
20278
+ {
20279
+ "const": "PostToolUse"
20280
+ },
20281
+ {
20282
+ "const": "Stop"
20283
+ },
20284
+ {
20285
+ "const": "PreInvocation"
20286
+ },
20287
+ {
20288
+ "const": "PostInvocation"
20289
+ }
20290
+ ]
20291
+ },
20292
+ "name": {
20293
+ "type": "string"
20294
+ },
20295
+ "timeoutMs": {
20296
+ "type": "number"
20297
+ },
20298
+ "command": {
20299
+ "type": "object",
20300
+ "properties": {
20301
+ "executable": {
20302
+ "type": "string"
20303
+ },
20304
+ "arguments": {
20305
+ "type": "array",
20306
+ "items": {
20307
+ "type": "string"
20308
+ }
20309
+ },
20310
+ "directory": {
20311
+ "type": "string"
20312
+ },
20313
+ "variables": {
20314
+ "anyOf": [
20315
+ {
20316
+ "anyOf": [
20317
+ {
20318
+ "type": "object",
20319
+ "required": ["$ref"],
20320
+ "properties": {
20321
+ "$ref": {
20322
+ "type": "string",
20323
+ "pattern": "\\S"
20324
+ }
20325
+ },
20326
+ "additionalProperties": false
20327
+ },
20328
+ {
20329
+ "$ref": "#/$defs/variables"
20330
+ }
20331
+ ]
20332
+ },
20333
+ {
20334
+ "type": "object",
20335
+ "additionalProperties": {
20336
+ "anyOf": [
20337
+ {
20338
+ "type": "string"
20339
+ },
20340
+ {
20341
+ "type": "object",
20342
+ "properties": {
20343
+ "env": {
20344
+ "type": "string",
20345
+ "pattern": "^[A-Za-z_][A-Za-z0-9_]*$"
20346
+ }
20347
+ },
20348
+ "required": ["env"],
20349
+ "additionalProperties": false
20350
+ }
20351
+ ]
20352
+ }
20353
+ }
20354
+ ]
20355
+ }
20356
+ },
20357
+ "required": ["executable"],
20358
+ "additionalProperties": false
20359
+ },
20360
+ "matcher": {
20361
+ "type": "string"
20362
+ },
20363
+ "run": {
20364
+ "anyOf": [
20365
+ {
20366
+ "type": "object",
20367
+ "required": ["$ref"],
20368
+ "properties": {
20369
+ "$ref": {
20370
+ "type": "string",
20371
+ "pattern": "\\S"
20372
+ }
20373
+ },
20374
+ "additionalProperties": false
20375
+ }
20376
+ ]
20377
+ }
20378
+ },
20379
+ "required": ["kind", "agent", "on", "name", "timeoutMs", "run"],
20380
+ "additionalProperties": false
20381
+ }
20382
+ },
19882
20383
  "authentication": {
19883
20384
  "anyOf": [
19884
20385
  {
@@ -20186,6 +20687,154 @@
20186
20687
  {
20187
20688
  "type": "object",
20188
20689
  "properties": {
20690
+ "hooks": {
20691
+ "type": "array",
20692
+ "items": {
20693
+ "type": "object",
20694
+ "properties": {
20695
+ "kind": {
20696
+ "const": "native-hook"
20697
+ },
20698
+ "agent": {
20699
+ "const": "copilot"
20700
+ },
20701
+ "on": {
20702
+ "anyOf": [
20703
+ {
20704
+ "const": "sessionStart"
20705
+ },
20706
+ {
20707
+ "const": "sessionEnd"
20708
+ },
20709
+ {
20710
+ "const": "userPromptSubmitted"
20711
+ },
20712
+ {
20713
+ "const": "userPromptTransformed"
20714
+ },
20715
+ {
20716
+ "const": "preToolUse"
20717
+ },
20718
+ {
20719
+ "const": "postToolUse"
20720
+ },
20721
+ {
20722
+ "const": "postToolUseFailure"
20723
+ },
20724
+ {
20725
+ "const": "permissionRequest"
20726
+ },
20727
+ {
20728
+ "const": "agentStop"
20729
+ },
20730
+ {
20731
+ "const": "subagentStart"
20732
+ },
20733
+ {
20734
+ "const": "subagentStop"
20735
+ },
20736
+ {
20737
+ "const": "preCompact"
20738
+ },
20739
+ {
20740
+ "const": "notification"
20741
+ },
20742
+ {
20743
+ "const": "errorOccurred"
20744
+ }
20745
+ ]
20746
+ },
20747
+ "name": {
20748
+ "type": "string"
20749
+ },
20750
+ "timeoutMs": {
20751
+ "type": "number"
20752
+ },
20753
+ "command": {
20754
+ "type": "object",
20755
+ "properties": {
20756
+ "executable": {
20757
+ "type": "string"
20758
+ },
20759
+ "arguments": {
20760
+ "type": "array",
20761
+ "items": {
20762
+ "type": "string"
20763
+ }
20764
+ },
20765
+ "directory": {
20766
+ "type": "string"
20767
+ },
20768
+ "variables": {
20769
+ "anyOf": [
20770
+ {
20771
+ "anyOf": [
20772
+ {
20773
+ "type": "object",
20774
+ "required": ["$ref"],
20775
+ "properties": {
20776
+ "$ref": {
20777
+ "type": "string",
20778
+ "pattern": "\\S"
20779
+ }
20780
+ },
20781
+ "additionalProperties": false
20782
+ },
20783
+ {
20784
+ "$ref": "#/$defs/variables"
20785
+ }
20786
+ ]
20787
+ },
20788
+ {
20789
+ "type": "object",
20790
+ "additionalProperties": {
20791
+ "anyOf": [
20792
+ {
20793
+ "type": "string"
20794
+ },
20795
+ {
20796
+ "type": "object",
20797
+ "properties": {
20798
+ "env": {
20799
+ "type": "string",
20800
+ "pattern": "^[A-Za-z_][A-Za-z0-9_]*$"
20801
+ }
20802
+ },
20803
+ "required": ["env"],
20804
+ "additionalProperties": false
20805
+ }
20806
+ ]
20807
+ }
20808
+ }
20809
+ ]
20810
+ }
20811
+ },
20812
+ "required": ["executable"],
20813
+ "additionalProperties": false
20814
+ },
20815
+ "matcher": {
20816
+ "type": "string"
20817
+ },
20818
+ "run": {
20819
+ "anyOf": [
20820
+ {
20821
+ "type": "object",
20822
+ "required": ["$ref"],
20823
+ "properties": {
20824
+ "$ref": {
20825
+ "type": "string",
20826
+ "pattern": "\\S"
20827
+ }
20828
+ },
20829
+ "additionalProperties": false
20830
+ }
20831
+ ]
20832
+ }
20833
+ },
20834
+ "required": ["kind", "agent", "on", "name", "timeoutMs", "run"],
20835
+ "additionalProperties": false
20836
+ }
20837
+ },
20189
20838
  "authentication": {
20190
20839
  "anyOf": [
20191
20840
  {
@@ -20501,6 +21150,172 @@
20501
21150
  {
20502
21151
  "type": "object",
20503
21152
  "properties": {
21153
+ "hooks": {
21154
+ "type": "array",
21155
+ "items": {
21156
+ "type": "object",
21157
+ "properties": {
21158
+ "kind": {
21159
+ "const": "native-hook"
21160
+ },
21161
+ "agent": {
21162
+ "const": "kimi"
21163
+ },
21164
+ "on": {
21165
+ "anyOf": [
21166
+ {
21167
+ "const": "SessionStart"
21168
+ },
21169
+ {
21170
+ "const": "SessionEnd"
21171
+ },
21172
+ {
21173
+ "const": "UserPromptSubmit"
21174
+ },
21175
+ {
21176
+ "const": "PreToolUse"
21177
+ },
21178
+ {
21179
+ "const": "PermissionRequest"
21180
+ },
21181
+ {
21182
+ "const": "PostToolUse"
21183
+ },
21184
+ {
21185
+ "const": "PreCompact"
21186
+ },
21187
+ {
21188
+ "const": "PostCompact"
21189
+ },
21190
+ {
21191
+ "const": "SubagentStart"
21192
+ },
21193
+ {
21194
+ "const": "SubagentStop"
21195
+ },
21196
+ {
21197
+ "const": "Stop"
21198
+ },
21199
+ {
21200
+ "const": "Interrupt"
21201
+ },
21202
+ {
21203
+ "const": "PostToolUseFailure"
21204
+ },
21205
+ {
21206
+ "const": "Notification"
21207
+ },
21208
+ {
21209
+ "const": "StopFailure"
21210
+ },
21211
+ {
21212
+ "const": "UserPromptQueued"
21213
+ },
21214
+ {
21215
+ "const": "TurnStarted"
21216
+ },
21217
+ {
21218
+ "const": "PermissionResult"
21219
+ },
21220
+ {
21221
+ "const": "SessionHeartbeat"
21222
+ },
21223
+ {
21224
+ "const": "TaskStarted"
21225
+ }
21226
+ ]
21227
+ },
21228
+ "name": {
21229
+ "type": "string"
21230
+ },
21231
+ "timeoutMs": {
21232
+ "type": "number"
21233
+ },
21234
+ "command": {
21235
+ "type": "object",
21236
+ "properties": {
21237
+ "executable": {
21238
+ "type": "string"
21239
+ },
21240
+ "arguments": {
21241
+ "type": "array",
21242
+ "items": {
21243
+ "type": "string"
21244
+ }
21245
+ },
21246
+ "directory": {
21247
+ "type": "string"
21248
+ },
21249
+ "variables": {
21250
+ "anyOf": [
21251
+ {
21252
+ "anyOf": [
21253
+ {
21254
+ "type": "object",
21255
+ "required": ["$ref"],
21256
+ "properties": {
21257
+ "$ref": {
21258
+ "type": "string",
21259
+ "pattern": "\\S"
21260
+ }
21261
+ },
21262
+ "additionalProperties": false
21263
+ },
21264
+ {
21265
+ "$ref": "#/$defs/variables"
21266
+ }
21267
+ ]
21268
+ },
21269
+ {
21270
+ "type": "object",
21271
+ "additionalProperties": {
21272
+ "anyOf": [
21273
+ {
21274
+ "type": "string"
21275
+ },
21276
+ {
21277
+ "type": "object",
21278
+ "properties": {
21279
+ "env": {
21280
+ "type": "string",
21281
+ "pattern": "^[A-Za-z_][A-Za-z0-9_]*$"
21282
+ }
21283
+ },
21284
+ "required": ["env"],
21285
+ "additionalProperties": false
21286
+ }
21287
+ ]
21288
+ }
21289
+ }
21290
+ ]
21291
+ }
21292
+ },
21293
+ "required": ["executable"],
21294
+ "additionalProperties": false
21295
+ },
21296
+ "matcher": {
21297
+ "type": "string"
21298
+ },
21299
+ "run": {
21300
+ "anyOf": [
21301
+ {
21302
+ "type": "object",
21303
+ "required": ["$ref"],
21304
+ "properties": {
21305
+ "$ref": {
21306
+ "type": "string",
21307
+ "pattern": "\\S"
21308
+ }
21309
+ },
21310
+ "additionalProperties": false
21311
+ }
21312
+ ]
21313
+ }
21314
+ },
21315
+ "required": ["kind", "agent", "on", "name", "timeoutMs", "run"],
21316
+ "additionalProperties": false
21317
+ }
21318
+ },
20504
21319
  "region": {
20505
21320
  "anyOf": [
20506
21321
  {
@@ -21279,54 +22094,205 @@
21279
22094
  "hook": {
21280
22095
  "anyOf": [
21281
22096
  {
21282
- "type": "object",
21283
- "properties": {
21284
- "on": {
21285
- "anyOf": [
21286
- {
21287
- "const": "stop"
21288
- },
21289
- {
21290
- "const": "session-start"
22097
+ "anyOf": [
22098
+ {
22099
+ "type": "object",
22100
+ "properties": {
22101
+ "on": {
22102
+ "anyOf": [
22103
+ {
22104
+ "const": "model-error"
22105
+ },
22106
+ {
22107
+ "const": "stop"
22108
+ },
22109
+ {
22110
+ "const": "session-start"
22111
+ },
22112
+ {
22113
+ "const": "before-model"
22114
+ },
22115
+ {
22116
+ "const": "after-model"
22117
+ },
22118
+ {
22119
+ "const": "before-tool"
22120
+ },
22121
+ {
22122
+ "const": "after-tool"
22123
+ },
22124
+ {
22125
+ "const": "before-prompt"
22126
+ },
22127
+ {
22128
+ "const": "before-compaction"
22129
+ },
22130
+ {
22131
+ "const": "after-compaction"
22132
+ },
22133
+ {
22134
+ "const": "before-subagent"
22135
+ },
22136
+ {
22137
+ "const": "after-subagent"
22138
+ },
22139
+ {
22140
+ "const": "run-end"
22141
+ }
22142
+ ]
21291
22143
  },
21292
- {
21293
- "const": "before-model"
22144
+ "name": {
22145
+ "type": "string"
21294
22146
  },
21295
- {
21296
- "const": "after-model"
22147
+ "timeoutMs": {
22148
+ "type": "number"
21297
22149
  },
21298
- {
21299
- "const": "before-tool"
22150
+ "command": false,
22151
+ "run": {
22152
+ "anyOf": [
22153
+ {
22154
+ "type": "object",
22155
+ "required": ["$ref"],
22156
+ "properties": {
22157
+ "$ref": {
22158
+ "type": "string",
22159
+ "pattern": "\\S"
22160
+ }
22161
+ },
22162
+ "additionalProperties": false
22163
+ }
22164
+ ]
21300
22165
  },
21301
- {
21302
- "const": "after-tool"
22166
+ "type": {
22167
+ "const": "custom"
21303
22168
  }
21304
- ]
21305
- },
21306
- "name": {
21307
- "type": "string"
22169
+ },
22170
+ "required": ["on", "run", "type"],
22171
+ "additionalProperties": false
21308
22172
  },
21309
- "run": {
21310
- "anyOf": [
21311
- {
22173
+ {
22174
+ "type": "object",
22175
+ "properties": {
22176
+ "on": {
22177
+ "anyOf": [
22178
+ {
22179
+ "const": "model-error"
22180
+ },
22181
+ {
22182
+ "const": "stop"
22183
+ },
22184
+ {
22185
+ "const": "session-start"
22186
+ },
22187
+ {
22188
+ "const": "before-model"
22189
+ },
22190
+ {
22191
+ "const": "after-model"
22192
+ },
22193
+ {
22194
+ "const": "before-tool"
22195
+ },
22196
+ {
22197
+ "const": "after-tool"
22198
+ },
22199
+ {
22200
+ "const": "before-prompt"
22201
+ },
22202
+ {
22203
+ "const": "before-compaction"
22204
+ },
22205
+ {
22206
+ "const": "after-compaction"
22207
+ },
22208
+ {
22209
+ "const": "before-subagent"
22210
+ },
22211
+ {
22212
+ "const": "after-subagent"
22213
+ },
22214
+ {
22215
+ "const": "run-end"
22216
+ }
22217
+ ]
22218
+ },
22219
+ "name": {
22220
+ "type": "string"
22221
+ },
22222
+ "timeoutMs": {
22223
+ "type": "number"
22224
+ },
22225
+ "command": {
21312
22226
  "type": "object",
21313
- "required": ["$ref"],
21314
22227
  "properties": {
21315
- "$ref": {
21316
- "type": "string",
21317
- "pattern": "\\S"
22228
+ "executable": {
22229
+ "type": "string"
22230
+ },
22231
+ "arguments": {
22232
+ "type": "array",
22233
+ "items": {
22234
+ "type": "string"
22235
+ }
22236
+ },
22237
+ "directory": {
22238
+ "type": "string"
22239
+ },
22240
+ "variables": {
22241
+ "anyOf": [
22242
+ {
22243
+ "anyOf": [
22244
+ {
22245
+ "type": "object",
22246
+ "required": ["$ref"],
22247
+ "properties": {
22248
+ "$ref": {
22249
+ "type": "string",
22250
+ "pattern": "\\S"
22251
+ }
22252
+ },
22253
+ "additionalProperties": false
22254
+ },
22255
+ {
22256
+ "$ref": "#/$defs/variables"
22257
+ }
22258
+ ]
22259
+ },
22260
+ {
22261
+ "type": "object",
22262
+ "additionalProperties": {
22263
+ "anyOf": [
22264
+ {
22265
+ "type": "string"
22266
+ },
22267
+ {
22268
+ "type": "object",
22269
+ "properties": {
22270
+ "env": {
22271
+ "type": "string",
22272
+ "pattern": "^[A-Za-z_][A-Za-z0-9_]*$"
22273
+ }
22274
+ },
22275
+ "required": ["env"],
22276
+ "additionalProperties": false
22277
+ }
22278
+ ]
22279
+ }
22280
+ }
22281
+ ]
21318
22282
  }
21319
22283
  },
22284
+ "required": ["executable"],
21320
22285
  "additionalProperties": false
22286
+ },
22287
+ "run": false,
22288
+ "type": {
22289
+ "const": "custom"
21321
22290
  }
21322
- ]
21323
- },
21324
- "type": {
21325
- "const": "custom"
22291
+ },
22292
+ "required": ["on", "command", "type"],
22293
+ "additionalProperties": false
21326
22294
  }
21327
- },
21328
- "required": ["on", "run", "type"],
21329
- "additionalProperties": false
22295
+ ]
21330
22296
  }
21331
22297
  ]
21332
22298
  },
@@ -22301,6 +23267,148 @@
22301
23267
  {
22302
23268
  "type": "object",
22303
23269
  "properties": {
23270
+ "hooks": {
23271
+ "type": "array",
23272
+ "items": {
23273
+ "type": "object",
23274
+ "properties": {
23275
+ "kind": {
23276
+ "const": "native-hook"
23277
+ },
23278
+ "agent": {
23279
+ "const": "codex"
23280
+ },
23281
+ "on": {
23282
+ "anyOf": [
23283
+ {
23284
+ "const": "SessionStart"
23285
+ },
23286
+ {
23287
+ "const": "SessionEnd"
23288
+ },
23289
+ {
23290
+ "const": "UserPromptSubmit"
23291
+ },
23292
+ {
23293
+ "const": "PreToolUse"
23294
+ },
23295
+ {
23296
+ "const": "PermissionRequest"
23297
+ },
23298
+ {
23299
+ "const": "PostToolUse"
23300
+ },
23301
+ {
23302
+ "const": "PreCompact"
23303
+ },
23304
+ {
23305
+ "const": "PostCompact"
23306
+ },
23307
+ {
23308
+ "const": "SubagentStart"
23309
+ },
23310
+ {
23311
+ "const": "SubagentStop"
23312
+ },
23313
+ {
23314
+ "const": "Stop"
23315
+ },
23316
+ {
23317
+ "const": "Interrupt"
23318
+ }
23319
+ ]
23320
+ },
23321
+ "name": {
23322
+ "type": "string"
23323
+ },
23324
+ "timeoutMs": {
23325
+ "type": "number"
23326
+ },
23327
+ "command": {
23328
+ "type": "object",
23329
+ "properties": {
23330
+ "executable": {
23331
+ "type": "string"
23332
+ },
23333
+ "arguments": {
23334
+ "type": "array",
23335
+ "items": {
23336
+ "type": "string"
23337
+ }
23338
+ },
23339
+ "directory": {
23340
+ "type": "string"
23341
+ },
23342
+ "variables": {
23343
+ "anyOf": [
23344
+ {
23345
+ "anyOf": [
23346
+ {
23347
+ "type": "object",
23348
+ "required": ["$ref"],
23349
+ "properties": {
23350
+ "$ref": {
23351
+ "type": "string",
23352
+ "pattern": "\\S"
23353
+ }
23354
+ },
23355
+ "additionalProperties": false
23356
+ },
23357
+ {
23358
+ "$ref": "#/$defs/variables"
23359
+ }
23360
+ ]
23361
+ },
23362
+ {
23363
+ "type": "object",
23364
+ "additionalProperties": {
23365
+ "anyOf": [
23366
+ {
23367
+ "type": "string"
23368
+ },
23369
+ {
23370
+ "type": "object",
23371
+ "properties": {
23372
+ "env": {
23373
+ "type": "string",
23374
+ "pattern": "^[A-Za-z_][A-Za-z0-9_]*$"
23375
+ }
23376
+ },
23377
+ "required": ["env"],
23378
+ "additionalProperties": false
23379
+ }
23380
+ ]
23381
+ }
23382
+ }
23383
+ ]
23384
+ }
23385
+ },
23386
+ "required": ["executable"],
23387
+ "additionalProperties": false
23388
+ },
23389
+ "matcher": {
23390
+ "type": "string"
23391
+ },
23392
+ "run": {
23393
+ "anyOf": [
23394
+ {
23395
+ "type": "object",
23396
+ "required": ["$ref"],
23397
+ "properties": {
23398
+ "$ref": {
23399
+ "type": "string",
23400
+ "pattern": "\\S"
23401
+ }
23402
+ },
23403
+ "additionalProperties": false
23404
+ }
23405
+ ]
23406
+ }
23407
+ },
23408
+ "required": ["kind", "agent", "on", "name", "timeoutMs", "run"],
23409
+ "additionalProperties": false
23410
+ }
23411
+ },
22304
23412
  "modelProvider": {
22305
23413
  "type": "object",
22306
23414
  "properties": {
@@ -22701,6 +23809,211 @@
22701
23809
  {
22702
23810
  "type": "object",
22703
23811
  "properties": {
23812
+ "hooks": {
23813
+ "type": "array",
23814
+ "items": {
23815
+ "type": "object",
23816
+ "properties": {
23817
+ "kind": {
23818
+ "const": "native-hook"
23819
+ },
23820
+ "agent": {
23821
+ "const": "claude"
23822
+ },
23823
+ "on": {
23824
+ "anyOf": [
23825
+ {
23826
+ "const": "SessionStart"
23827
+ },
23828
+ {
23829
+ "const": "SessionEnd"
23830
+ },
23831
+ {
23832
+ "const": "UserPromptSubmit"
23833
+ },
23834
+ {
23835
+ "const": "PreToolUse"
23836
+ },
23837
+ {
23838
+ "const": "PermissionRequest"
23839
+ },
23840
+ {
23841
+ "const": "PostToolUse"
23842
+ },
23843
+ {
23844
+ "const": "PreCompact"
23845
+ },
23846
+ {
23847
+ "const": "PostCompact"
23848
+ },
23849
+ {
23850
+ "const": "SubagentStart"
23851
+ },
23852
+ {
23853
+ "const": "SubagentStop"
23854
+ },
23855
+ {
23856
+ "const": "Stop"
23857
+ },
23858
+ {
23859
+ "const": "Setup"
23860
+ },
23861
+ {
23862
+ "const": "UserPromptExpansion"
23863
+ },
23864
+ {
23865
+ "const": "PermissionDenied"
23866
+ },
23867
+ {
23868
+ "const": "PostToolUseFailure"
23869
+ },
23870
+ {
23871
+ "const": "PostToolBatch"
23872
+ },
23873
+ {
23874
+ "const": "Notification"
23875
+ },
23876
+ {
23877
+ "const": "MessageDisplay"
23878
+ },
23879
+ {
23880
+ "const": "TaskCreated"
23881
+ },
23882
+ {
23883
+ "const": "TaskCompleted"
23884
+ },
23885
+ {
23886
+ "const": "StopFailure"
23887
+ },
23888
+ {
23889
+ "const": "TeammateIdle"
23890
+ },
23891
+ {
23892
+ "const": "InstructionsLoaded"
23893
+ },
23894
+ {
23895
+ "const": "ConfigChange"
23896
+ },
23897
+ {
23898
+ "const": "CwdChanged"
23899
+ },
23900
+ {
23901
+ "const": "DirectoryAdded"
23902
+ },
23903
+ {
23904
+ "const": "FileChanged"
23905
+ },
23906
+ {
23907
+ "const": "WorktreeCreate"
23908
+ },
23909
+ {
23910
+ "const": "WorktreeRemove"
23911
+ },
23912
+ {
23913
+ "const": "PreModelSwitch"
23914
+ },
23915
+ {
23916
+ "const": "PostModelSwitch"
23917
+ },
23918
+ {
23919
+ "const": "Elicitation"
23920
+ },
23921
+ {
23922
+ "const": "ElicitationResult"
23923
+ }
23924
+ ]
23925
+ },
23926
+ "name": {
23927
+ "type": "string"
23928
+ },
23929
+ "timeoutMs": {
23930
+ "type": "number"
23931
+ },
23932
+ "command": {
23933
+ "type": "object",
23934
+ "properties": {
23935
+ "executable": {
23936
+ "type": "string"
23937
+ },
23938
+ "arguments": {
23939
+ "type": "array",
23940
+ "items": {
23941
+ "type": "string"
23942
+ }
23943
+ },
23944
+ "directory": {
23945
+ "type": "string"
23946
+ },
23947
+ "variables": {
23948
+ "anyOf": [
23949
+ {
23950
+ "anyOf": [
23951
+ {
23952
+ "type": "object",
23953
+ "required": ["$ref"],
23954
+ "properties": {
23955
+ "$ref": {
23956
+ "type": "string",
23957
+ "pattern": "\\S"
23958
+ }
23959
+ },
23960
+ "additionalProperties": false
23961
+ },
23962
+ {
23963
+ "$ref": "#/$defs/variables"
23964
+ }
23965
+ ]
23966
+ },
23967
+ {
23968
+ "type": "object",
23969
+ "additionalProperties": {
23970
+ "anyOf": [
23971
+ {
23972
+ "type": "string"
23973
+ },
23974
+ {
23975
+ "type": "object",
23976
+ "properties": {
23977
+ "env": {
23978
+ "type": "string",
23979
+ "pattern": "^[A-Za-z_][A-Za-z0-9_]*$"
23980
+ }
23981
+ },
23982
+ "required": ["env"],
23983
+ "additionalProperties": false
23984
+ }
23985
+ ]
23986
+ }
23987
+ }
23988
+ ]
23989
+ }
23990
+ },
23991
+ "required": ["executable"],
23992
+ "additionalProperties": false
23993
+ },
23994
+ "matcher": {
23995
+ "type": "string"
23996
+ },
23997
+ "run": {
23998
+ "anyOf": [
23999
+ {
24000
+ "type": "object",
24001
+ "required": ["$ref"],
24002
+ "properties": {
24003
+ "$ref": {
24004
+ "type": "string",
24005
+ "pattern": "\\S"
24006
+ }
24007
+ },
24008
+ "additionalProperties": false
24009
+ }
24010
+ ]
24011
+ }
24012
+ },
24013
+ "required": ["kind", "agent", "on", "name", "timeoutMs", "run"],
24014
+ "additionalProperties": false
24015
+ }
24016
+ },
22704
24017
  "partialMessages": {
22705
24018
  "anyOf": [
22706
24019
  {
@@ -23103,6 +24416,130 @@
23103
24416
  {
23104
24417
  "type": "object",
23105
24418
  "properties": {
24419
+ "hooks": {
24420
+ "type": "array",
24421
+ "items": {
24422
+ "type": "object",
24423
+ "properties": {
24424
+ "kind": {
24425
+ "const": "native-hook"
24426
+ },
24427
+ "agent": {
24428
+ "const": "antigravity"
24429
+ },
24430
+ "on": {
24431
+ "anyOf": [
24432
+ {
24433
+ "const": "SessionStart"
24434
+ },
24435
+ {
24436
+ "const": "PreToolUse"
24437
+ },
24438
+ {
24439
+ "const": "PostToolUse"
24440
+ },
24441
+ {
24442
+ "const": "Stop"
24443
+ },
24444
+ {
24445
+ "const": "PreInvocation"
24446
+ },
24447
+ {
24448
+ "const": "PostInvocation"
24449
+ }
24450
+ ]
24451
+ },
24452
+ "name": {
24453
+ "type": "string"
24454
+ },
24455
+ "timeoutMs": {
24456
+ "type": "number"
24457
+ },
24458
+ "command": {
24459
+ "type": "object",
24460
+ "properties": {
24461
+ "executable": {
24462
+ "type": "string"
24463
+ },
24464
+ "arguments": {
24465
+ "type": "array",
24466
+ "items": {
24467
+ "type": "string"
24468
+ }
24469
+ },
24470
+ "directory": {
24471
+ "type": "string"
24472
+ },
24473
+ "variables": {
24474
+ "anyOf": [
24475
+ {
24476
+ "anyOf": [
24477
+ {
24478
+ "type": "object",
24479
+ "required": ["$ref"],
24480
+ "properties": {
24481
+ "$ref": {
24482
+ "type": "string",
24483
+ "pattern": "\\S"
24484
+ }
24485
+ },
24486
+ "additionalProperties": false
24487
+ },
24488
+ {
24489
+ "$ref": "#/$defs/variables"
24490
+ }
24491
+ ]
24492
+ },
24493
+ {
24494
+ "type": "object",
24495
+ "additionalProperties": {
24496
+ "anyOf": [
24497
+ {
24498
+ "type": "string"
24499
+ },
24500
+ {
24501
+ "type": "object",
24502
+ "properties": {
24503
+ "env": {
24504
+ "type": "string",
24505
+ "pattern": "^[A-Za-z_][A-Za-z0-9_]*$"
24506
+ }
24507
+ },
24508
+ "required": ["env"],
24509
+ "additionalProperties": false
24510
+ }
24511
+ ]
24512
+ }
24513
+ }
24514
+ ]
24515
+ }
24516
+ },
24517
+ "required": ["executable"],
24518
+ "additionalProperties": false
24519
+ },
24520
+ "matcher": {
24521
+ "type": "string"
24522
+ },
24523
+ "run": {
24524
+ "anyOf": [
24525
+ {
24526
+ "type": "object",
24527
+ "required": ["$ref"],
24528
+ "properties": {
24529
+ "$ref": {
24530
+ "type": "string",
24531
+ "pattern": "\\S"
24532
+ }
24533
+ },
24534
+ "additionalProperties": false
24535
+ }
24536
+ ]
24537
+ }
24538
+ },
24539
+ "required": ["kind", "agent", "on", "name", "timeoutMs", "run"],
24540
+ "additionalProperties": false
24541
+ }
24542
+ },
23106
24543
  "authentication": {
23107
24544
  "anyOf": [
23108
24545
  {
@@ -23455,6 +24892,154 @@
23455
24892
  {
23456
24893
  "type": "object",
23457
24894
  "properties": {
24895
+ "hooks": {
24896
+ "type": "array",
24897
+ "items": {
24898
+ "type": "object",
24899
+ "properties": {
24900
+ "kind": {
24901
+ "const": "native-hook"
24902
+ },
24903
+ "agent": {
24904
+ "const": "copilot"
24905
+ },
24906
+ "on": {
24907
+ "anyOf": [
24908
+ {
24909
+ "const": "sessionStart"
24910
+ },
24911
+ {
24912
+ "const": "sessionEnd"
24913
+ },
24914
+ {
24915
+ "const": "userPromptSubmitted"
24916
+ },
24917
+ {
24918
+ "const": "userPromptTransformed"
24919
+ },
24920
+ {
24921
+ "const": "preToolUse"
24922
+ },
24923
+ {
24924
+ "const": "postToolUse"
24925
+ },
24926
+ {
24927
+ "const": "postToolUseFailure"
24928
+ },
24929
+ {
24930
+ "const": "permissionRequest"
24931
+ },
24932
+ {
24933
+ "const": "agentStop"
24934
+ },
24935
+ {
24936
+ "const": "subagentStart"
24937
+ },
24938
+ {
24939
+ "const": "subagentStop"
24940
+ },
24941
+ {
24942
+ "const": "preCompact"
24943
+ },
24944
+ {
24945
+ "const": "notification"
24946
+ },
24947
+ {
24948
+ "const": "errorOccurred"
24949
+ }
24950
+ ]
24951
+ },
24952
+ "name": {
24953
+ "type": "string"
24954
+ },
24955
+ "timeoutMs": {
24956
+ "type": "number"
24957
+ },
24958
+ "command": {
24959
+ "type": "object",
24960
+ "properties": {
24961
+ "executable": {
24962
+ "type": "string"
24963
+ },
24964
+ "arguments": {
24965
+ "type": "array",
24966
+ "items": {
24967
+ "type": "string"
24968
+ }
24969
+ },
24970
+ "directory": {
24971
+ "type": "string"
24972
+ },
24973
+ "variables": {
24974
+ "anyOf": [
24975
+ {
24976
+ "anyOf": [
24977
+ {
24978
+ "type": "object",
24979
+ "required": ["$ref"],
24980
+ "properties": {
24981
+ "$ref": {
24982
+ "type": "string",
24983
+ "pattern": "\\S"
24984
+ }
24985
+ },
24986
+ "additionalProperties": false
24987
+ },
24988
+ {
24989
+ "$ref": "#/$defs/variables"
24990
+ }
24991
+ ]
24992
+ },
24993
+ {
24994
+ "type": "object",
24995
+ "additionalProperties": {
24996
+ "anyOf": [
24997
+ {
24998
+ "type": "string"
24999
+ },
25000
+ {
25001
+ "type": "object",
25002
+ "properties": {
25003
+ "env": {
25004
+ "type": "string",
25005
+ "pattern": "^[A-Za-z_][A-Za-z0-9_]*$"
25006
+ }
25007
+ },
25008
+ "required": ["env"],
25009
+ "additionalProperties": false
25010
+ }
25011
+ ]
25012
+ }
25013
+ }
25014
+ ]
25015
+ }
25016
+ },
25017
+ "required": ["executable"],
25018
+ "additionalProperties": false
25019
+ },
25020
+ "matcher": {
25021
+ "type": "string"
25022
+ },
25023
+ "run": {
25024
+ "anyOf": [
25025
+ {
25026
+ "type": "object",
25027
+ "required": ["$ref"],
25028
+ "properties": {
25029
+ "$ref": {
25030
+ "type": "string",
25031
+ "pattern": "\\S"
25032
+ }
25033
+ },
25034
+ "additionalProperties": false
25035
+ }
25036
+ ]
25037
+ }
25038
+ },
25039
+ "required": ["kind", "agent", "on", "name", "timeoutMs", "run"],
25040
+ "additionalProperties": false
25041
+ }
25042
+ },
23458
25043
  "authentication": {
23459
25044
  "anyOf": [
23460
25045
  {
@@ -23815,6 +25400,172 @@
23815
25400
  {
23816
25401
  "type": "object",
23817
25402
  "properties": {
25403
+ "hooks": {
25404
+ "type": "array",
25405
+ "items": {
25406
+ "type": "object",
25407
+ "properties": {
25408
+ "kind": {
25409
+ "const": "native-hook"
25410
+ },
25411
+ "agent": {
25412
+ "const": "kimi"
25413
+ },
25414
+ "on": {
25415
+ "anyOf": [
25416
+ {
25417
+ "const": "SessionStart"
25418
+ },
25419
+ {
25420
+ "const": "SessionEnd"
25421
+ },
25422
+ {
25423
+ "const": "UserPromptSubmit"
25424
+ },
25425
+ {
25426
+ "const": "PreToolUse"
25427
+ },
25428
+ {
25429
+ "const": "PermissionRequest"
25430
+ },
25431
+ {
25432
+ "const": "PostToolUse"
25433
+ },
25434
+ {
25435
+ "const": "PreCompact"
25436
+ },
25437
+ {
25438
+ "const": "PostCompact"
25439
+ },
25440
+ {
25441
+ "const": "SubagentStart"
25442
+ },
25443
+ {
25444
+ "const": "SubagentStop"
25445
+ },
25446
+ {
25447
+ "const": "Stop"
25448
+ },
25449
+ {
25450
+ "const": "Interrupt"
25451
+ },
25452
+ {
25453
+ "const": "PostToolUseFailure"
25454
+ },
25455
+ {
25456
+ "const": "Notification"
25457
+ },
25458
+ {
25459
+ "const": "StopFailure"
25460
+ },
25461
+ {
25462
+ "const": "UserPromptQueued"
25463
+ },
25464
+ {
25465
+ "const": "TurnStarted"
25466
+ },
25467
+ {
25468
+ "const": "PermissionResult"
25469
+ },
25470
+ {
25471
+ "const": "SessionHeartbeat"
25472
+ },
25473
+ {
25474
+ "const": "TaskStarted"
25475
+ }
25476
+ ]
25477
+ },
25478
+ "name": {
25479
+ "type": "string"
25480
+ },
25481
+ "timeoutMs": {
25482
+ "type": "number"
25483
+ },
25484
+ "command": {
25485
+ "type": "object",
25486
+ "properties": {
25487
+ "executable": {
25488
+ "type": "string"
25489
+ },
25490
+ "arguments": {
25491
+ "type": "array",
25492
+ "items": {
25493
+ "type": "string"
25494
+ }
25495
+ },
25496
+ "directory": {
25497
+ "type": "string"
25498
+ },
25499
+ "variables": {
25500
+ "anyOf": [
25501
+ {
25502
+ "anyOf": [
25503
+ {
25504
+ "type": "object",
25505
+ "required": ["$ref"],
25506
+ "properties": {
25507
+ "$ref": {
25508
+ "type": "string",
25509
+ "pattern": "\\S"
25510
+ }
25511
+ },
25512
+ "additionalProperties": false
25513
+ },
25514
+ {
25515
+ "$ref": "#/$defs/variables"
25516
+ }
25517
+ ]
25518
+ },
25519
+ {
25520
+ "type": "object",
25521
+ "additionalProperties": {
25522
+ "anyOf": [
25523
+ {
25524
+ "type": "string"
25525
+ },
25526
+ {
25527
+ "type": "object",
25528
+ "properties": {
25529
+ "env": {
25530
+ "type": "string",
25531
+ "pattern": "^[A-Za-z_][A-Za-z0-9_]*$"
25532
+ }
25533
+ },
25534
+ "required": ["env"],
25535
+ "additionalProperties": false
25536
+ }
25537
+ ]
25538
+ }
25539
+ }
25540
+ ]
25541
+ }
25542
+ },
25543
+ "required": ["executable"],
25544
+ "additionalProperties": false
25545
+ },
25546
+ "matcher": {
25547
+ "type": "string"
25548
+ },
25549
+ "run": {
25550
+ "anyOf": [
25551
+ {
25552
+ "type": "object",
25553
+ "required": ["$ref"],
25554
+ "properties": {
25555
+ "$ref": {
25556
+ "type": "string",
25557
+ "pattern": "\\S"
25558
+ }
25559
+ },
25560
+ "additionalProperties": false
25561
+ }
25562
+ ]
25563
+ }
25564
+ },
25565
+ "required": ["kind", "agent", "on", "name", "timeoutMs", "run"],
25566
+ "additionalProperties": false
25567
+ }
25568
+ },
23818
25569
  "region": {
23819
25570
  "anyOf": [
23820
25571
  {
@@ -28593,11 +30344,365 @@
28593
30344
  ],
28594
30345
  "additionalProperties": false
28595
30346
  },
30347
+ "profile.portable.option0": {
30348
+ "type": "object",
30349
+ "properties": {
30350
+ "executable": {
30351
+ "type": "string"
30352
+ },
30353
+ "arguments": {
30354
+ "type": "array",
30355
+ "items": {
30356
+ "type": "string"
30357
+ }
30358
+ },
30359
+ "directory": {
30360
+ "type": "string"
30361
+ },
30362
+ "variables": {
30363
+ "anyOf": [
30364
+ {
30365
+ "anyOf": [
30366
+ {
30367
+ "type": "object",
30368
+ "required": ["$ref"],
30369
+ "properties": {
30370
+ "$ref": {
30371
+ "type": "string",
30372
+ "pattern": "\\S"
30373
+ }
30374
+ },
30375
+ "additionalProperties": false
30376
+ },
30377
+ {
30378
+ "$ref": "#/$defs/variables"
30379
+ }
30380
+ ]
30381
+ },
30382
+ {
30383
+ "type": "object",
30384
+ "additionalProperties": {
30385
+ "anyOf": [
30386
+ {
30387
+ "type": "string"
30388
+ },
30389
+ {
30390
+ "type": "object",
30391
+ "properties": {
30392
+ "env": {
30393
+ "type": "string",
30394
+ "pattern": "^[A-Za-z_][A-Za-z0-9_]*$"
30395
+ }
30396
+ },
30397
+ "required": ["env"],
30398
+ "additionalProperties": false
30399
+ }
30400
+ ]
30401
+ }
30402
+ }
30403
+ ]
30404
+ }
30405
+ },
30406
+ "required": ["executable"],
30407
+ "additionalProperties": false
30408
+ },
28596
30409
  "profile": {
28597
30410
  "anyOf": [
28598
30411
  {
28599
30412
  "type": "object",
28600
30413
  "properties": {
30414
+ "hooks": {
30415
+ "type": "object",
30416
+ "properties": {
30417
+ "claude": {
30418
+ "type": "array",
30419
+ "items": {
30420
+ "type": "object",
30421
+ "properties": {
30422
+ "kind": {
30423
+ "const": "native-hook"
30424
+ },
30425
+ "agent": {
30426
+ "const": "claude"
30427
+ },
30428
+ "on": {
30429
+ "type": "string"
30430
+ },
30431
+ "name": {
30432
+ "type": "string"
30433
+ },
30434
+ "timeoutMs": {
30435
+ "type": "number"
30436
+ },
30437
+ "command": {
30438
+ "$ref": "#/$defs/profile.portable.option0"
30439
+ },
30440
+ "matcher": {
30441
+ "type": "string"
30442
+ },
30443
+ "run": {
30444
+ "anyOf": [
30445
+ {
30446
+ "type": "object",
30447
+ "required": ["$ref"],
30448
+ "properties": {
30449
+ "$ref": {
30450
+ "type": "string",
30451
+ "pattern": "\\S"
30452
+ }
30453
+ },
30454
+ "additionalProperties": false
30455
+ }
30456
+ ]
30457
+ }
30458
+ },
30459
+ "required": [
30460
+ "kind",
30461
+ "agent",
30462
+ "on",
30463
+ "name",
30464
+ "timeoutMs",
30465
+ "run"
30466
+ ],
30467
+ "additionalProperties": false
30468
+ }
30469
+ },
30470
+ "codex": {
30471
+ "type": "array",
30472
+ "items": {
30473
+ "type": "object",
30474
+ "properties": {
30475
+ "kind": {
30476
+ "const": "native-hook"
30477
+ },
30478
+ "agent": {
30479
+ "const": "codex"
30480
+ },
30481
+ "on": {
30482
+ "type": "string"
30483
+ },
30484
+ "name": {
30485
+ "type": "string"
30486
+ },
30487
+ "timeoutMs": {
30488
+ "type": "number"
30489
+ },
30490
+ "command": {
30491
+ "$ref": "#/$defs/profile.portable.option0"
30492
+ },
30493
+ "matcher": {
30494
+ "type": "string"
30495
+ },
30496
+ "run": {
30497
+ "anyOf": [
30498
+ {
30499
+ "type": "object",
30500
+ "required": ["$ref"],
30501
+ "properties": {
30502
+ "$ref": {
30503
+ "type": "string",
30504
+ "pattern": "\\S"
30505
+ }
30506
+ },
30507
+ "additionalProperties": false
30508
+ }
30509
+ ]
30510
+ }
30511
+ },
30512
+ "required": [
30513
+ "kind",
30514
+ "agent",
30515
+ "on",
30516
+ "name",
30517
+ "timeoutMs",
30518
+ "run"
30519
+ ],
30520
+ "additionalProperties": false
30521
+ }
30522
+ },
30523
+ "copilot": {
30524
+ "type": "array",
30525
+ "items": {
30526
+ "type": "object",
30527
+ "properties": {
30528
+ "kind": {
30529
+ "const": "native-hook"
30530
+ },
30531
+ "agent": {
30532
+ "const": "copilot"
30533
+ },
30534
+ "on": {
30535
+ "type": "string"
30536
+ },
30537
+ "name": {
30538
+ "type": "string"
30539
+ },
30540
+ "timeoutMs": {
30541
+ "type": "number"
30542
+ },
30543
+ "command": {
30544
+ "$ref": "#/$defs/profile.portable.option0"
30545
+ },
30546
+ "matcher": {
30547
+ "type": "string"
30548
+ },
30549
+ "run": {
30550
+ "anyOf": [
30551
+ {
30552
+ "type": "object",
30553
+ "required": ["$ref"],
30554
+ "properties": {
30555
+ "$ref": {
30556
+ "type": "string",
30557
+ "pattern": "\\S"
30558
+ }
30559
+ },
30560
+ "additionalProperties": false
30561
+ }
30562
+ ]
30563
+ }
30564
+ },
30565
+ "required": [
30566
+ "kind",
30567
+ "agent",
30568
+ "on",
30569
+ "name",
30570
+ "timeoutMs",
30571
+ "run"
30572
+ ],
30573
+ "additionalProperties": false
30574
+ }
30575
+ },
30576
+ "kimi": {
30577
+ "type": "array",
30578
+ "items": {
30579
+ "type": "object",
30580
+ "properties": {
30581
+ "kind": {
30582
+ "const": "native-hook"
30583
+ },
30584
+ "agent": {
30585
+ "const": "kimi"
30586
+ },
30587
+ "on": {
30588
+ "type": "string"
30589
+ },
30590
+ "name": {
30591
+ "type": "string"
30592
+ },
30593
+ "timeoutMs": {
30594
+ "type": "number"
30595
+ },
30596
+ "command": {
30597
+ "$ref": "#/$defs/profile.portable.option0"
30598
+ },
30599
+ "matcher": {
30600
+ "type": "string"
30601
+ },
30602
+ "run": {
30603
+ "anyOf": [
30604
+ {
30605
+ "type": "object",
30606
+ "required": ["$ref"],
30607
+ "properties": {
30608
+ "$ref": {
30609
+ "type": "string",
30610
+ "pattern": "\\S"
30611
+ }
30612
+ },
30613
+ "additionalProperties": false
30614
+ }
30615
+ ]
30616
+ }
30617
+ },
30618
+ "required": [
30619
+ "kind",
30620
+ "agent",
30621
+ "on",
30622
+ "name",
30623
+ "timeoutMs",
30624
+ "run"
30625
+ ],
30626
+ "additionalProperties": false
30627
+ }
30628
+ },
30629
+ "antigravity": {
30630
+ "type": "array",
30631
+ "items": {
30632
+ "type": "object",
30633
+ "properties": {
30634
+ "kind": {
30635
+ "const": "native-hook"
30636
+ },
30637
+ "agent": {
30638
+ "const": "antigravity"
30639
+ },
30640
+ "on": {
30641
+ "type": "string"
30642
+ },
30643
+ "name": {
30644
+ "type": "string"
30645
+ },
30646
+ "timeoutMs": {
30647
+ "type": "number"
30648
+ },
30649
+ "command": {
30650
+ "$ref": "#/$defs/profile.portable.option0"
30651
+ },
30652
+ "matcher": {
30653
+ "type": "string"
30654
+ },
30655
+ "run": {
30656
+ "anyOf": [
30657
+ {
30658
+ "type": "object",
30659
+ "required": ["$ref"],
30660
+ "properties": {
30661
+ "$ref": {
30662
+ "type": "string",
30663
+ "pattern": "\\S"
30664
+ }
30665
+ },
30666
+ "additionalProperties": false
30667
+ }
30668
+ ]
30669
+ }
30670
+ },
30671
+ "required": [
30672
+ "kind",
30673
+ "agent",
30674
+ "on",
30675
+ "name",
30676
+ "timeoutMs",
30677
+ "run"
30678
+ ],
30679
+ "additionalProperties": false
30680
+ }
30681
+ },
30682
+ "outpost": {
30683
+ "type": "array",
30684
+ "items": {
30685
+ "anyOf": [
30686
+ {
30687
+ "type": "object",
30688
+ "required": ["$ref"],
30689
+ "properties": {
30690
+ "$ref": {
30691
+ "type": "string",
30692
+ "pattern": "\\S"
30693
+ }
30694
+ },
30695
+ "additionalProperties": false
30696
+ },
30697
+ {
30698
+ "$ref": "#/$defs/hook"
30699
+ }
30700
+ ]
30701
+ }
30702
+ }
30703
+ },
30704
+ "additionalProperties": false
30705
+ },
28601
30706
  "instructions": {
28602
30707
  "type": "string"
28603
30708
  },
@@ -32541,6 +34646,9 @@
32541
34646
  }
32542
34647
  ]
32543
34648
  },
34649
+ "egressImage": {
34650
+ "type": "string"
34651
+ },
32544
34652
  "repositoryMode": {
32545
34653
  "anyOf": [
32546
34654
  {
@@ -32768,6 +34876,9 @@
32768
34876
  }
32769
34877
  ]
32770
34878
  },
34879
+ "egressImage": {
34880
+ "type": "string"
34881
+ },
32771
34882
  "repositoryMode": {
32772
34883
  "anyOf": [
32773
34884
  {
@@ -33029,6 +35140,9 @@
33029
35140
  }
33030
35141
  ]
33031
35142
  },
35143
+ "timeoutMs": {
35144
+ "type": "number"
35145
+ },
33032
35146
  "name": {
33033
35147
  "type": "string"
33034
35148
  },
@@ -34259,6 +36373,9 @@
34259
36373
  }
34260
36374
  ]
34261
36375
  },
36376
+ "timeoutMs": {
36377
+ "type": "number"
36378
+ },
34262
36379
  "name": {
34263
36380
  "type": "string"
34264
36381
  },
@@ -38379,6 +40496,9 @@
38379
40496
  }
38380
40497
  ]
38381
40498
  },
40499
+ "egressImage": {
40500
+ "type": "string"
40501
+ },
38382
40502
  "repositoryMode": {
38383
40503
  "anyOf": [
38384
40504
  {
@@ -38606,6 +40726,9 @@
38606
40726
  }
38607
40727
  ]
38608
40728
  },
40729
+ "egressImage": {
40730
+ "type": "string"
40731
+ },
38609
40732
  "repositoryMode": {
38610
40733
  "anyOf": [
38611
40734
  {
@@ -38867,6 +40990,9 @@
38867
40990
  }
38868
40991
  ]
38869
40992
  },
40993
+ "timeoutMs": {
40994
+ "type": "number"
40995
+ },
38870
40996
  "name": {
38871
40997
  "type": "string"
38872
40998
  },
@@ -40097,6 +42223,9 @@
40097
42223
  }
40098
42224
  ]
40099
42225
  },
42226
+ "timeoutMs": {
42227
+ "type": "number"
42228
+ },
40100
42229
  "name": {
40101
42230
  "type": "string"
40102
42231
  },