@intentic/sandbox-contract 1.326.0 → 1.328.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 (537) hide show
  1. package/README.md +24 -12
  2. package/dist/chores/chores.d.ts.map +1 -1
  3. package/dist/chores/chores.js +29 -20
  4. package/dist/chores/chores.js.map +1 -1
  5. package/dist/chores/probes.d.ts +1 -0
  6. package/dist/chores/probes.d.ts.map +1 -1
  7. package/dist/chores/probes.js +81 -12
  8. package/dist/chores/probes.js.map +1 -1
  9. package/dist/contracts/agent.contract.d.ts +1467 -6
  10. package/dist/contracts/agent.contract.d.ts.map +1 -1
  11. package/dist/contracts/agent.contract.js +2 -2
  12. package/dist/contracts/agent.contract.js.map +1 -1
  13. package/dist/contracts/agents.contract.d.ts +1391 -0
  14. package/dist/contracts/agents.contract.d.ts.map +1 -1
  15. package/dist/contracts/agents.contract.js +1 -1
  16. package/dist/contracts/automations.contract.d.ts +123 -4
  17. package/dist/contracts/automations.contract.d.ts.map +1 -1
  18. package/dist/contracts/automations.contract.js +13 -2
  19. package/dist/contracts/automations.contract.js.map +1 -1
  20. package/dist/contracts/capabilities.contract.d.ts +79 -8
  21. package/dist/contracts/capabilities.contract.d.ts.map +1 -1
  22. package/dist/contracts/chores.contract.d.ts +2 -0
  23. package/dist/contracts/chores.contract.d.ts.map +1 -1
  24. package/dist/contracts/ci.contract.d.ts +2 -0
  25. package/dist/contracts/ci.contract.d.ts.map +1 -1
  26. package/dist/contracts/device.contract.d.ts +52 -0
  27. package/dist/contracts/device.contract.d.ts.map +1 -1
  28. package/dist/contracts/device.contract.js +2 -0
  29. package/dist/contracts/device.contract.js.map +1 -1
  30. package/dist/contracts/endpoints.contract.d.ts +42 -33
  31. package/dist/contracts/endpoints.contract.d.ts.map +1 -1
  32. package/dist/contracts/endpoints.contract.js +17 -7
  33. package/dist/contracts/endpoints.contract.js.map +1 -1
  34. package/dist/contracts/extensions.contract.d.ts +192 -0
  35. package/dist/contracts/extensions.contract.d.ts.map +1 -1
  36. package/dist/contracts/extensions.contract.js +37 -1
  37. package/dist/contracts/extensions.contract.js.map +1 -1
  38. package/dist/contracts/needs.contract.d.ts +1009 -0
  39. package/dist/contracts/needs.contract.d.ts.map +1 -1
  40. package/dist/contracts/pages.contract.d.ts +34 -0
  41. package/dist/contracts/pages.contract.d.ts.map +1 -0
  42. package/dist/contracts/pages.contract.js +49 -0
  43. package/dist/contracts/pages.contract.js.map +1 -0
  44. package/dist/contracts/phone.contract.d.ts +78 -0
  45. package/dist/contracts/phone.contract.d.ts.map +1 -0
  46. package/dist/contracts/phone.contract.js +11 -0
  47. package/dist/contracts/phone.contract.js.map +1 -0
  48. package/dist/contracts/privacy.contract.d.ts +20 -0
  49. package/dist/contracts/privacy.contract.d.ts.map +1 -1
  50. package/dist/contracts/privacy.contract.js +12 -2
  51. package/dist/contracts/privacy.contract.js.map +1 -1
  52. package/dist/contracts/runner.contract.d.ts +648 -127
  53. package/dist/contracts/runner.contract.d.ts.map +1 -1
  54. package/dist/contracts/runner.contract.js +1 -1
  55. package/dist/contracts/runner.contract.js.map +1 -1
  56. package/dist/contracts/secrets.contract.d.ts +88 -0
  57. package/dist/contracts/secrets.contract.d.ts.map +1 -1
  58. package/dist/contracts/secrets.contract.js +20 -1
  59. package/dist/contracts/secrets.contract.js.map +1 -1
  60. package/dist/contracts/sessions.contract.d.ts +184 -0
  61. package/dist/contracts/sessions.contract.d.ts.map +1 -1
  62. package/dist/contracts/settings.contract.d.ts +16 -58
  63. package/dist/contracts/settings.contract.d.ts.map +1 -1
  64. package/dist/contracts/settings.contract.js +10 -1
  65. package/dist/contracts/settings.contract.js.map +1 -1
  66. package/dist/contracts/system.contract.d.ts +227 -32
  67. package/dist/contracts/system.contract.d.ts.map +1 -1
  68. package/dist/contracts/system.contract.js +18 -1
  69. package/dist/contracts/system.contract.js.map +1 -1
  70. package/dist/documents/conversions.d.ts.map +1 -1
  71. package/dist/documents/conversions.js +2 -1
  72. package/dist/documents/conversions.js.map +1 -1
  73. package/dist/documents/read.d.ts.map +1 -1
  74. package/dist/documents/read.js +4 -4
  75. package/dist/documents/read.js.map +1 -1
  76. package/dist/events/agent-events.d.ts +747 -1
  77. package/dist/events/agent-events.d.ts.map +1 -1
  78. package/dist/events/agent-events.js +14 -1
  79. package/dist/events/agent-events.js.map +1 -1
  80. package/dist/events/requests.d.ts +40 -0
  81. package/dist/events/requests.d.ts.map +1 -1
  82. package/dist/events/requests.js +39 -0
  83. package/dist/events/requests.js.map +1 -1
  84. package/dist/events/system-events.d.ts +120 -0
  85. package/dist/events/system-events.d.ts.map +1 -1
  86. package/dist/events/transcript.d.ts +1131 -1
  87. package/dist/events/transcript.d.ts.map +1 -1
  88. package/dist/events/transcript.js +9 -1
  89. package/dist/events/transcript.js.map +1 -1
  90. package/dist/ids/hostnames.d.ts +2 -0
  91. package/dist/ids/hostnames.d.ts.map +1 -1
  92. package/dist/ids/hostnames.js +18 -15
  93. package/dist/ids/hostnames.js.map +1 -1
  94. package/dist/ids/sandbox-id.d.ts +2 -0
  95. package/dist/ids/sandbox-id.d.ts.map +1 -0
  96. package/dist/ids/sandbox-id.js +2 -0
  97. package/dist/ids/sandbox-id.js.map +1 -0
  98. package/dist/ids/tunnel-ids.d.ts +1 -1
  99. package/dist/ids/tunnel-ids.d.ts.map +1 -1
  100. package/dist/ids/tunnel-ids.js +1 -1
  101. package/dist/ids/tunnel-ids.js.map +1 -1
  102. package/dist/index.d.ts +4902 -177
  103. package/dist/index.d.ts.map +1 -1
  104. package/dist/index.js +25 -9
  105. package/dist/index.js.map +1 -1
  106. package/dist/models/agent-catalog.d.ts +0 -1
  107. package/dist/models/agent-catalog.d.ts.map +1 -1
  108. package/dist/models/agent-catalog.js +0 -1
  109. package/dist/models/agent-catalog.js.map +1 -1
  110. package/dist/models/agent-runtimes.d.ts +1 -1
  111. package/dist/models/agent-runtimes.d.ts.map +1 -1
  112. package/dist/models/agent-runtimes.js +1 -1
  113. package/dist/models/agent-runtimes.js.map +1 -1
  114. package/dist/models/provider-specs.d.ts +1 -0
  115. package/dist/models/provider-specs.d.ts.map +1 -1
  116. package/dist/models/provider-specs.js +11 -0
  117. package/dist/models/provider-specs.js.map +1 -1
  118. package/dist/netd/browser-wire.d.ts.map +1 -0
  119. package/dist/netd/browser-wire.js.map +1 -0
  120. package/dist/{front → netd}/generated/browser-wire.d.ts +8 -0
  121. package/dist/netd/generated/browser-wire.d.ts.map +1 -0
  122. package/dist/netd/generated/browser-wire.js.map +1 -0
  123. package/dist/{front → netd}/generated/wire.d.ts +20 -11
  124. package/dist/netd/generated/wire.d.ts.map +1 -0
  125. package/dist/{front → netd}/generated/wire.js.map +1 -1
  126. package/dist/netd/netd-wire.d.ts +9 -0
  127. package/dist/netd/netd-wire.d.ts.map +1 -0
  128. package/dist/netd/netd-wire.js +8 -0
  129. package/dist/netd/netd-wire.js.map +1 -0
  130. package/dist/policy/credential-material.d.ts +2 -0
  131. package/dist/policy/credential-material.d.ts.map +1 -1
  132. package/dist/policy/credential-material.js +14 -8
  133. package/dist/policy/credential-material.js.map +1 -1
  134. package/dist/policy/message-limits.d.ts +14 -0
  135. package/dist/policy/message-limits.d.ts.map +1 -0
  136. package/dist/policy/message-limits.js +15 -0
  137. package/dist/policy/message-limits.js.map +1 -0
  138. package/dist/policy/request-status.d.ts.map +1 -1
  139. package/dist/policy/request-status.js +9 -1
  140. package/dist/policy/request-status.js.map +1 -1
  141. package/dist/policy/reserved-servers.d.ts.map +1 -1
  142. package/dist/policy/reserved-servers.js +1 -0
  143. package/dist/policy/reserved-servers.js.map +1 -1
  144. package/dist/policy/turned-away.d.ts.map +1 -1
  145. package/dist/policy/turned-away.js +2 -0
  146. package/dist/policy/turned-away.js.map +1 -1
  147. package/dist/protocol/container-requirements.d.ts.map +1 -1
  148. package/dist/protocol/container-requirements.js +3 -4
  149. package/dist/protocol/container-requirements.js.map +1 -1
  150. package/dist/protocol/doors/host-protocol.d.ts.map +1 -0
  151. package/dist/protocol/doors/host-protocol.js.map +1 -0
  152. package/dist/protocol/{listener-protocol.d.ts → doors/listener-protocol.d.ts} +22 -0
  153. package/dist/protocol/doors/listener-protocol.d.ts.map +1 -0
  154. package/dist/protocol/doors/listener-protocol.js +38 -0
  155. package/dist/protocol/doors/listener-protocol.js.map +1 -0
  156. package/dist/protocol/doors/phone-links.d.ts +16 -0
  157. package/dist/protocol/doors/phone-links.d.ts.map +1 -0
  158. package/dist/protocol/doors/phone-links.js +28 -0
  159. package/dist/protocol/doors/phone-links.js.map +1 -0
  160. package/dist/protocol/doors/phone-protocol.d.ts +47 -0
  161. package/dist/protocol/doors/phone-protocol.d.ts.map +1 -0
  162. package/dist/protocol/doors/phone-protocol.js +33 -0
  163. package/dist/protocol/doors/phone-protocol.js.map +1 -0
  164. package/dist/protocol/doors/runner-protocol.d.ts.map +1 -0
  165. package/dist/protocol/{runner-protocol.js → doors/runner-protocol.js} +1 -1
  166. package/dist/protocol/doors/runner-protocol.js.map +1 -0
  167. package/dist/protocol/{webext-links.d.ts → doors/webext-links.d.ts} +1 -0
  168. package/dist/protocol/doors/webext-links.d.ts.map +1 -0
  169. package/dist/protocol/{webext-links.js → doors/webext-links.js} +1 -0
  170. package/dist/protocol/doors/webext-links.js.map +1 -0
  171. package/dist/protocol/doors/webext-protocol.d.ts.map +1 -0
  172. package/dist/protocol/doors/webext-protocol.js.map +1 -0
  173. package/dist/protocol/edge-verdict.d.ts +1 -1
  174. package/dist/protocol/edge-verdict.d.ts.map +1 -1
  175. package/dist/protocol/headers.d.ts +4 -0
  176. package/dist/protocol/headers.d.ts.map +1 -0
  177. package/dist/protocol/headers.js +4 -0
  178. package/dist/protocol/headers.js.map +1 -0
  179. package/dist/protocol/ingress-contract.d.ts +1 -1
  180. package/dist/protocol/ingress-contract.d.ts.map +1 -1
  181. package/dist/protocol/ingress-contract.js +1 -5
  182. package/dist/protocol/ingress-contract.js.map +1 -1
  183. package/dist/protocol/peer-dial.d.ts.map +1 -1
  184. package/dist/protocol/peer-dial.js +18 -36
  185. package/dist/protocol/peer-dial.js.map +1 -1
  186. package/dist/protocol/raw/extension-protocol.d.ts +47 -0
  187. package/dist/protocol/raw/extension-protocol.d.ts.map +1 -0
  188. package/dist/protocol/raw/extension-protocol.js +32 -0
  189. package/dist/protocol/raw/extension-protocol.js.map +1 -0
  190. package/dist/protocol/raw/raw-json-routes.d.ts +855 -0
  191. package/dist/protocol/raw/raw-json-routes.d.ts.map +1 -0
  192. package/dist/protocol/raw/raw-json-routes.js +28 -0
  193. package/dist/protocol/raw/raw-json-routes.js.map +1 -0
  194. package/dist/protocol/{raw-routes.d.ts → raw/raw-routes.d.ts} +50 -3
  195. package/dist/protocol/raw/raw-routes.d.ts.map +1 -0
  196. package/dist/protocol/{raw-routes.js → raw/raw-routes.js} +17 -3
  197. package/dist/protocol/raw/raw-routes.js.map +1 -0
  198. package/dist/protocol/raw/route-path.d.ts +3 -0
  199. package/dist/protocol/raw/route-path.d.ts.map +1 -0
  200. package/dist/protocol/raw/route-path.js +8 -0
  201. package/dist/protocol/raw/route-path.js.map +1 -0
  202. package/dist/protocol/route-meta.d.ts +1 -1
  203. package/dist/protocol/route-meta.d.ts.map +1 -1
  204. package/dist/protocol/routes.d.ts +1 -0
  205. package/dist/protocol/routes.d.ts.map +1 -1
  206. package/dist/protocol/routes.js +8 -0
  207. package/dist/protocol/routes.js.map +1 -1
  208. package/dist/protocol/sse.d.ts +2 -1
  209. package/dist/protocol/sse.d.ts.map +1 -1
  210. package/dist/protocol/sse.js +23 -12
  211. package/dist/protocol/sse.js.map +1 -1
  212. package/dist/protocol/tunnel-bulk.js +1 -1
  213. package/dist/protocol/tunnel-bulk.js.map +1 -1
  214. package/dist/protocol/vitals.d.ts +2 -1
  215. package/dist/protocol/vitals.d.ts.map +1 -1
  216. package/dist/protocol/vitals.js +1 -0
  217. package/dist/protocol/vitals.js.map +1 -1
  218. package/dist/schemas/activity.d.ts +1 -0
  219. package/dist/schemas/activity.d.ts.map +1 -1
  220. package/dist/schemas/activity.js.map +1 -1
  221. package/dist/schemas/agent.d.ts +6 -0
  222. package/dist/schemas/agent.d.ts.map +1 -1
  223. package/dist/schemas/agent.js +9 -4
  224. package/dist/schemas/agent.js.map +1 -1
  225. package/dist/schemas/agents-list.d.ts +404 -0
  226. package/dist/schemas/agents-list.d.ts.map +1 -0
  227. package/dist/schemas/agents-list.js +14 -0
  228. package/dist/schemas/agents-list.js.map +1 -0
  229. package/dist/schemas/agents.d.ts +203 -0
  230. package/dist/schemas/agents.d.ts.map +1 -1
  231. package/dist/schemas/agents.js +44 -0
  232. package/dist/schemas/agents.js.map +1 -1
  233. package/dist/schemas/automations.d.ts +235 -347
  234. package/dist/schemas/automations.d.ts.map +1 -1
  235. package/dist/schemas/automations.js +82 -13
  236. package/dist/schemas/automations.js.map +1 -1
  237. package/dist/schemas/capabilities.d.ts +43 -8
  238. package/dist/schemas/capabilities.d.ts.map +1 -1
  239. package/dist/schemas/capabilities.js +6 -2
  240. package/dist/schemas/capabilities.js.map +1 -1
  241. package/dist/schemas/ci.d.ts +4 -0
  242. package/dist/schemas/ci.d.ts.map +1 -1
  243. package/dist/schemas/ci.js +8 -0
  244. package/dist/schemas/ci.js.map +1 -1
  245. package/dist/schemas/devices.d.ts +67 -0
  246. package/dist/schemas/devices.d.ts.map +1 -1
  247. package/dist/schemas/devices.js +8 -0
  248. package/dist/schemas/devices.js.map +1 -1
  249. package/dist/schemas/engines.d.ts +57 -0
  250. package/dist/schemas/engines.d.ts.map +1 -1
  251. package/dist/schemas/engines.js +4 -0
  252. package/dist/schemas/engines.js.map +1 -1
  253. package/dist/schemas/extension-updates.d.ts +329 -0
  254. package/dist/schemas/extension-updates.d.ts.map +1 -1
  255. package/dist/schemas/extension-updates.js +68 -3
  256. package/dist/schemas/extension-updates.js.map +1 -1
  257. package/dist/schemas/git/git.d.ts +11 -0
  258. package/dist/schemas/git/git.d.ts.map +1 -1
  259. package/dist/schemas/git/git.js +4 -4
  260. package/dist/schemas/git/git.js.map +1 -1
  261. package/dist/schemas/history.d.ts +2 -0
  262. package/dist/schemas/history.d.ts.map +1 -1
  263. package/dist/schemas/history.js.map +1 -1
  264. package/dist/schemas/hosts.d.ts +74 -0
  265. package/dist/schemas/hosts.d.ts.map +1 -1
  266. package/dist/schemas/hosts.js +10 -1
  267. package/dist/schemas/hosts.js.map +1 -1
  268. package/dist/schemas/loopback-catch.d.ts +1 -0
  269. package/dist/schemas/loopback-catch.d.ts.map +1 -1
  270. package/dist/schemas/loopback-catch.js +1 -0
  271. package/dist/schemas/loopback-catch.js.map +1 -1
  272. package/dist/schemas/maintenance.d.ts +8 -0
  273. package/dist/schemas/maintenance.d.ts.map +1 -1
  274. package/dist/schemas/maintenance.js +6 -0
  275. package/dist/schemas/maintenance.js.map +1 -1
  276. package/dist/schemas/members.d.ts +58 -0
  277. package/dist/schemas/members.d.ts.map +1 -0
  278. package/dist/schemas/members.js +16 -0
  279. package/dist/schemas/members.js.map +1 -0
  280. package/dist/schemas/metrics.d.ts +10 -0
  281. package/dist/schemas/metrics.d.ts.map +1 -1
  282. package/dist/schemas/metrics.js +19 -3
  283. package/dist/schemas/metrics.js.map +1 -1
  284. package/dist/schemas/needs.d.ts +1159 -1
  285. package/dist/schemas/needs.d.ts.map +1 -1
  286. package/dist/schemas/needs.js +25 -3
  287. package/dist/schemas/needs.js.map +1 -1
  288. package/dist/schemas/offload.js +1 -1
  289. package/dist/schemas/offload.js.map +1 -1
  290. package/dist/schemas/peer-enrollment.d.ts +7 -0
  291. package/dist/schemas/peer-enrollment.d.ts.map +1 -0
  292. package/dist/schemas/peer-enrollment.js +6 -0
  293. package/dist/schemas/peer-enrollment.js.map +1 -0
  294. package/dist/schemas/phone.d.ts +231 -0
  295. package/dist/schemas/phone.d.ts.map +1 -0
  296. package/dist/schemas/phone.js +57 -0
  297. package/dist/schemas/phone.js.map +1 -0
  298. package/dist/schemas/privacy.d.ts +41 -0
  299. package/dist/schemas/privacy.d.ts.map +1 -1
  300. package/dist/schemas/privacy.js +20 -3
  301. package/dist/schemas/privacy.js.map +1 -1
  302. package/dist/schemas/project-delivery.d.ts +94 -0
  303. package/dist/schemas/project-delivery.d.ts.map +1 -0
  304. package/dist/schemas/project-delivery.js +35 -0
  305. package/dist/schemas/project-delivery.js.map +1 -0
  306. package/dist/schemas/providers/plan-limits.d.ts +7 -0
  307. package/dist/schemas/providers/plan-limits.d.ts.map +1 -1
  308. package/dist/schemas/providers/plan-limits.js +22 -1
  309. package/dist/schemas/providers/plan-limits.js.map +1 -1
  310. package/dist/schemas/providers/usage.d.ts +1 -2
  311. package/dist/schemas/providers/usage.d.ts.map +1 -1
  312. package/dist/schemas/providers/usage.js +1 -2
  313. package/dist/schemas/providers/usage.js.map +1 -1
  314. package/dist/schemas/push.d.ts +1 -0
  315. package/dist/schemas/push.d.ts.map +1 -1
  316. package/dist/schemas/push.js.map +1 -1
  317. package/dist/schemas/secrets.d.ts +99 -0
  318. package/dist/schemas/secrets.d.ts.map +1 -1
  319. package/dist/schemas/secrets.js +34 -3
  320. package/dist/schemas/secrets.js.map +1 -1
  321. package/dist/schemas/settings-history.d.ts +1 -1
  322. package/dist/schemas/settings-history.d.ts.map +1 -1
  323. package/dist/schemas/settings-history.js +1 -0
  324. package/dist/schemas/settings-history.js.map +1 -1
  325. package/dist/schemas/settings.d.ts +13 -58
  326. package/dist/schemas/settings.d.ts.map +1 -1
  327. package/dist/schemas/settings.js +8 -13
  328. package/dist/schemas/settings.js.map +1 -1
  329. package/dist/schemas/terminal.d.ts +32 -0
  330. package/dist/schemas/terminal.d.ts.map +1 -1
  331. package/dist/schemas/terminal.js +37 -0
  332. package/dist/schemas/terminal.js.map +1 -1
  333. package/dist/schemas/updates.d.ts +1 -0
  334. package/dist/schemas/updates.d.ts.map +1 -1
  335. package/dist/schemas/updates.js +4 -0
  336. package/dist/schemas/updates.js.map +1 -1
  337. package/dist/schemas/workspace/workspace-search.d.ts +1 -0
  338. package/dist/schemas/workspace/workspace-search.d.ts.map +1 -1
  339. package/dist/schemas/workspace/workspace-search.js.map +1 -1
  340. package/dist/schemas/workspace/workspace-tree.d.ts +3 -0
  341. package/dist/schemas/workspace/workspace-tree.d.ts.map +1 -1
  342. package/dist/schemas/workspace/workspace-tree.js +22 -5
  343. package/dist/schemas/workspace/workspace-tree.js.map +1 -1
  344. package/dist/state/arrival.d.ts +59 -0
  345. package/dist/state/arrival.d.ts.map +1 -1
  346. package/dist/state/arrival.js +17 -0
  347. package/dist/state/arrival.js.map +1 -1
  348. package/dist/state/contract-lock.js +2 -2
  349. package/dist/state/contract-lock.js.map +1 -1
  350. package/dist/state/definition.d.ts +82 -16
  351. package/dist/state/definition.d.ts.map +1 -1
  352. package/dist/state/history-state.d.ts.map +1 -1
  353. package/dist/state/history-state.js +38 -0
  354. package/dist/state/history-state.js.map +1 -1
  355. package/dist/state/runtime-state.d.ts +6 -0
  356. package/dist/state/runtime-state.d.ts.map +1 -1
  357. package/dist/state/runtime-state.js +2 -0
  358. package/dist/state/runtime-state.js.map +1 -1
  359. package/dist/state/workspace-state.d.ts +24 -6
  360. package/dist/state/workspace-state.d.ts.map +1 -1
  361. package/dist/state/workspace-state.js +29 -7
  362. package/dist/state/workspace-state.js.map +1 -1
  363. package/dist/text/embed.d.ts +10 -0
  364. package/dist/text/embed.d.ts.map +1 -1
  365. package/dist/text/embed.js +25 -0
  366. package/dist/text/embed.js.map +1 -1
  367. package/dist/text/pages.d.ts +53 -0
  368. package/dist/text/pages.d.ts.map +1 -0
  369. package/dist/text/pages.js +230 -0
  370. package/dist/text/pages.js.map +1 -0
  371. package/dist/text/transcript-fold.d.ts +1 -0
  372. package/dist/text/transcript-fold.d.ts.map +1 -1
  373. package/dist/text/transcript-fold.js +30 -2
  374. package/dist/text/transcript-fold.js.map +1 -1
  375. package/dist/webext/index.d.ts +3 -2
  376. package/dist/webext/index.d.ts.map +1 -1
  377. package/dist/webext/index.js +3 -2
  378. package/dist/webext/index.js.map +1 -1
  379. package/package.json +77 -22
  380. package/src/chores/chores.ts +41 -21
  381. package/src/chores/{probes.test.ts → probes.integration.test.ts} +134 -1
  382. package/src/chores/probes.ts +128 -14
  383. package/src/chores/verdict.test.ts +29 -0
  384. package/src/contracts/agent.contract.ts +2 -2
  385. package/src/contracts/agents.contract.ts +1 -1
  386. package/src/contracts/automations.contract.ts +19 -1
  387. package/src/contracts/device.contract.ts +5 -0
  388. package/src/contracts/endpoints.contract.ts +32 -26
  389. package/src/contracts/extensions.contract.ts +49 -0
  390. package/src/contracts/pages.contract.ts +61 -0
  391. package/src/contracts/phone.contract.ts +21 -0
  392. package/src/contracts/privacy.contract.ts +13 -1
  393. package/src/contracts/runner.contract.ts +1 -1
  394. package/src/contracts/secrets.contract.ts +25 -0
  395. package/src/contracts/settings.contract.ts +10 -0
  396. package/src/contracts/system.contract.ts +26 -0
  397. package/src/documents/conversions.ts +3 -1
  398. package/src/documents/read.ts +4 -5
  399. package/src/events/agent-events.ts +27 -3
  400. package/src/events/requests.ts +47 -0
  401. package/src/events/transcript.ts +14 -0
  402. package/src/ids/hostnames.fixture.json +14 -10
  403. package/src/ids/hostnames.test.ts +21 -2
  404. package/src/ids/hostnames.ts +34 -15
  405. package/src/ids/sandbox-id.ts +3 -0
  406. package/src/ids/tunnel-ids.ts +1 -2
  407. package/src/index.ts +29 -12
  408. package/src/models/agent-catalog.ts +1 -2
  409. package/src/models/agent-runtimes.ts +12 -6
  410. package/src/models/provider-specs.test.ts +12 -0
  411. package/src/models/provider-specs.ts +16 -0
  412. package/src/{front → netd}/browser-wire.ts +1 -1
  413. package/src/{front → netd}/generated/browser-wire.json +80 -7
  414. package/src/{front → netd}/generated/browser-wire.ts +34 -7
  415. package/src/{front/generated/front-wire.json → netd/generated/netd-wire.json} +103 -41
  416. package/src/{front → netd}/generated/tunnel.json +15 -1
  417. package/src/{front → netd}/generated/wire.ts +26 -21
  418. package/src/netd/netd-wire.ts +24 -0
  419. package/src/{front → netd}/wire-manifests.test.ts +31 -11
  420. package/src/policy/credential-material.ts +39 -11
  421. package/src/policy/message-limits.ts +25 -0
  422. package/src/policy/request-status.ts +10 -1
  423. package/src/policy/reserved-servers.ts +3 -2
  424. package/src/policy/tests/credential-material.test.ts +49 -1
  425. package/src/policy/tests/message-limits.test.ts +27 -0
  426. package/src/policy/tests/reserved-servers.test.ts +3 -3
  427. package/src/policy/turned-away.ts +5 -1
  428. package/src/protocol/container-requirements.ts +4 -5
  429. package/src/protocol/{listener-protocol.ts → doors/listener-protocol.ts} +37 -15
  430. package/src/protocol/doors/phone-links.ts +50 -0
  431. package/src/protocol/doors/phone-protocol.test.ts +136 -0
  432. package/src/protocol/doors/phone-protocol.ts +71 -0
  433. package/src/protocol/{runner-protocol.ts → doors/runner-protocol.ts} +1 -1
  434. package/src/protocol/{webext-links.ts → doors/webext-links.ts} +4 -0
  435. package/src/protocol/edge-verdict.ts +1 -1
  436. package/src/protocol/headers.ts +14 -0
  437. package/src/protocol/ingress-contract.ts +6 -10
  438. package/src/protocol/peer-dial.test.ts +83 -4
  439. package/src/protocol/peer-dial.ts +33 -40
  440. package/src/protocol/raw/extension-protocol.ts +59 -0
  441. package/src/protocol/raw/raw-json-routes.ts +61 -0
  442. package/src/protocol/{raw-routes.ts → raw/raw-routes.ts} +40 -7
  443. package/src/protocol/raw/route-path.ts +13 -0
  444. package/src/protocol/route-meta.ts +4 -4
  445. package/src/protocol/routes.ts +12 -0
  446. package/src/protocol/sse.test.ts +49 -0
  447. package/src/protocol/sse.ts +29 -14
  448. package/src/protocol/tunnel-bulk.test.ts +1 -1
  449. package/src/protocol/tunnel-bulk.ts +2 -2
  450. package/src/protocol/vitals.test.ts +7 -7
  451. package/src/protocol/vitals.ts +12 -7
  452. package/src/schemas/activity.ts +1 -0
  453. package/src/schemas/agent.ts +11 -4
  454. package/src/schemas/agents-list.ts +24 -0
  455. package/src/schemas/agents.ts +71 -2
  456. package/src/schemas/automations.ts +126 -24
  457. package/src/schemas/capabilities.ts +13 -3
  458. package/src/schemas/ci.ts +10 -0
  459. package/src/schemas/devices.ts +24 -0
  460. package/src/schemas/engines.ts +7 -0
  461. package/src/schemas/extension-updates.ts +93 -3
  462. package/src/schemas/git/git.ts +15 -4
  463. package/src/schemas/history.ts +2 -0
  464. package/src/schemas/hosts.ts +23 -1
  465. package/src/schemas/loopback-catch.ts +6 -1
  466. package/src/schemas/maintenance.ts +9 -0
  467. package/src/schemas/members.ts +33 -0
  468. package/src/schemas/metrics.ts +21 -3
  469. package/src/schemas/needs.ts +36 -3
  470. package/src/schemas/offload.ts +1 -1
  471. package/src/schemas/peer-enrollment.ts +14 -0
  472. package/src/schemas/phone.ts +121 -0
  473. package/src/schemas/privacy.ts +36 -7
  474. package/src/schemas/project-delivery.ts +78 -0
  475. package/src/schemas/providers/plan-limits.ts +27 -3
  476. package/src/schemas/providers/usage.ts +3 -3
  477. package/src/schemas/push.ts +1 -0
  478. package/src/schemas/secrets.ts +54 -3
  479. package/src/schemas/settings-history.ts +2 -0
  480. package/src/schemas/settings.ts +20 -22
  481. package/src/schemas/terminal.ts +50 -0
  482. package/src/schemas/updates.test.ts +47 -0
  483. package/src/schemas/updates.ts +4 -0
  484. package/src/schemas/workspace/workspace-search.ts +2 -0
  485. package/src/schemas/workspace/workspace-tree.ts +40 -12
  486. package/src/state/arrival.ts +40 -0
  487. package/src/state/contract-lock.test.ts +1 -1
  488. package/src/state/contract-lock.ts +5 -5
  489. package/src/state/history-state.ts +72 -1
  490. package/src/state/runtime-state.ts +4 -0
  491. package/src/state/workspace-state.ts +65 -20
  492. package/src/text/embed.test.ts +21 -1
  493. package/src/text/embed.ts +50 -3
  494. package/src/text/pages.test.ts +161 -0
  495. package/src/text/pages.ts +344 -0
  496. package/src/text/transcript-fold.test.ts +22 -0
  497. package/src/text/transcript-fold.ts +41 -2
  498. package/src/webext/index.ts +3 -2
  499. package/dist/front/browser-wire.d.ts.map +0 -1
  500. package/dist/front/browser-wire.js.map +0 -1
  501. package/dist/front/front-wire.d.ts +0 -6
  502. package/dist/front/front-wire.d.ts.map +0 -1
  503. package/dist/front/front-wire.js +0 -5
  504. package/dist/front/front-wire.js.map +0 -1
  505. package/dist/front/generated/browser-wire.d.ts.map +0 -1
  506. package/dist/front/generated/browser-wire.js.map +0 -1
  507. package/dist/front/generated/wire.d.ts.map +0 -1
  508. package/dist/protocol/host-protocol.d.ts.map +0 -1
  509. package/dist/protocol/host-protocol.js.map +0 -1
  510. package/dist/protocol/listener-protocol.d.ts.map +0 -1
  511. package/dist/protocol/listener-protocol.js +0 -33
  512. package/dist/protocol/listener-protocol.js.map +0 -1
  513. package/dist/protocol/raw-routes.d.ts.map +0 -1
  514. package/dist/protocol/raw-routes.js.map +0 -1
  515. package/dist/protocol/request-id.d.ts +0 -2
  516. package/dist/protocol/request-id.d.ts.map +0 -1
  517. package/dist/protocol/request-id.js +0 -2
  518. package/dist/protocol/request-id.js.map +0 -1
  519. package/dist/protocol/runner-protocol.d.ts.map +0 -1
  520. package/dist/protocol/runner-protocol.js.map +0 -1
  521. package/dist/protocol/webext-links.d.ts.map +0 -1
  522. package/dist/protocol/webext-links.js.map +0 -1
  523. package/dist/protocol/webext-protocol.d.ts.map +0 -1
  524. package/dist/protocol/webext-protocol.js.map +0 -1
  525. package/src/front/front-wire.ts +0 -15
  526. package/src/protocol/request-id.ts +0 -2
  527. /package/dist/{front → netd}/browser-wire.d.ts +0 -0
  528. /package/dist/{front → netd}/browser-wire.js +0 -0
  529. /package/dist/{front → netd}/generated/browser-wire.js +0 -0
  530. /package/dist/{front → netd}/generated/wire.js +0 -0
  531. /package/dist/protocol/{host-protocol.d.ts → doors/host-protocol.d.ts} +0 -0
  532. /package/dist/protocol/{host-protocol.js → doors/host-protocol.js} +0 -0
  533. /package/dist/protocol/{runner-protocol.d.ts → doors/runner-protocol.d.ts} +0 -0
  534. /package/dist/protocol/{webext-protocol.d.ts → doors/webext-protocol.d.ts} +0 -0
  535. /package/dist/protocol/{webext-protocol.js → doors/webext-protocol.js} +0 -0
  536. /package/src/protocol/{host-protocol.ts → doors/host-protocol.ts} +0 -0
  537. /package/src/protocol/{webext-protocol.ts → doors/webext-protocol.ts} +0 -0
@@ -29,6 +29,145 @@ export declare const needsContract: {
29
29
  kind: import("zod").ZodLiteral<"environment">;
30
30
  tool: import("zod").ZodString;
31
31
  steps: import("zod").ZodString;
32
+ }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
33
+ kind: import("zod").ZodLiteral<"automation">;
34
+ automation: import("zod").ZodObject<{
35
+ id: import("zod").ZodString;
36
+ trigger: import("zod").ZodDiscriminatedUnion<[import("zod").ZodObject<{
37
+ kind: import("zod").ZodLiteral<"schedule">;
38
+ cron: import("zod").ZodString;
39
+ tz: import("zod").ZodOptional<import("zod").ZodString & import("zod").ZodType<import("../index.js").Zone, string, import("zod/v4/core").$ZodTypeInternals<import("../index.js").Zone, string>>>;
40
+ afterSessions: import("zod").ZodOptional<import("zod").ZodNumber>;
41
+ }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
42
+ kind: import("zod").ZodLiteral<"once">;
43
+ at: import("zod").ZodNumber;
44
+ }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
45
+ kind: import("zod").ZodLiteral<"event">;
46
+ dailyMax: import("zod").ZodOptional<import("zod").ZodNumber>;
47
+ }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
48
+ kind: import("zod").ZodLiteral<"listener">;
49
+ provider: import("zod").ZodString;
50
+ channelId: import("zod").ZodOptional<import("zod").ZodString>;
51
+ eventType: import("zod").ZodOptional<import("zod").ZodString>;
52
+ mentioned: import("zod").ZodOptional<import("zod").ZodBoolean>;
53
+ branch: import("zod").ZodOptional<import("zod").ZodString>;
54
+ allowedOrigins: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
55
+ }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
56
+ kind: import("zod").ZodLiteral<"workspace">;
57
+ event: import("zod").ZodEnum<{
58
+ "agent.landed": "agent.landed";
59
+ "deps.broken": "deps.broken";
60
+ "deps.fixed": "deps.fixed";
61
+ "turn.settled": "turn.settled";
62
+ }>;
63
+ repo: import("zod").ZodOptional<import("zod").ZodString>;
64
+ }, import("zod/v4/core").$strip>], "kind">;
65
+ guard: import("zod").ZodOptional<import("zod").ZodString>;
66
+ source: import("zod").ZodOptional<import("zod").ZodDiscriminatedUnion<[import("zod").ZodObject<{
67
+ kind: import("zod").ZodLiteral<"npm">;
68
+ package: import("zod").ZodString;
69
+ range: import("zod").ZodOptional<import("zod").ZodString>;
70
+ tag: import("zod").ZodOptional<import("zod").ZodString>;
71
+ }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
72
+ kind: import("zod").ZodLiteral<"github-release">;
73
+ repo: import("zod").ZodString;
74
+ prereleases: import("zod").ZodOptional<import("zod").ZodBoolean>;
75
+ }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
76
+ kind: import("zod").ZodLiteral<"url">;
77
+ url: import("zod").ZodString;
78
+ select: import("zod").ZodOptional<import("zod").ZodString>;
79
+ }, import("zod/v4/core").$strip>], "kind">>;
80
+ fireOn: import("zod").ZodOptional<import("zod").ZodEnum<{
81
+ change: "change";
82
+ pass: "pass";
83
+ }>>;
84
+ until: import("zod").ZodOptional<import("zod").ZodEnum<{
85
+ "first-fire": "first-fire";
86
+ }>>;
87
+ expiresAt: import("zod").ZodOptional<import("zod").ZodNumber>;
88
+ target: import("zod").ZodOptional<import("zod").ZodDiscriminatedUnion<[import("zod").ZodObject<{
89
+ kind: import("zod").ZodLiteral<"agent">;
90
+ }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
91
+ kind: import("zod").ZodLiteral<"conversation">;
92
+ conversationId: import("zod").ZodString;
93
+ }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
94
+ kind: import("zod").ZodLiteral<"notify">;
95
+ }, import("zod/v4/core").$strip>], "kind">>;
96
+ note: import("zod").ZodOptional<import("zod").ZodString>;
97
+ prompt: import("zod").ZodString;
98
+ webchat: import("zod").ZodOptional<import("zod").ZodObject<{
99
+ access: import("zod").ZodOptional<import("zod").ZodEnum<{
100
+ google: "google";
101
+ public: "public";
102
+ }>>;
103
+ requireName: import("zod").ZodOptional<import("zod").ZodBoolean>;
104
+ antiBot: import("zod").ZodOptional<import("zod").ZodEnum<{
105
+ pow: "pow";
106
+ turnstile: "turnstile";
107
+ }>>;
108
+ turnstileSiteKey: import("zod").ZodOptional<import("zod").ZodString>;
109
+ turnstileSecret: import("zod").ZodOptional<import("zod").ZodString>;
110
+ googleClientId: import("zod").ZodOptional<import("zod").ZodString>;
111
+ title: import("zod").ZodOptional<import("zod").ZodString>;
112
+ greeting: import("zod").ZodOptional<import("zod").ZodString>;
113
+ accent: import("zod").ZodOptional<import("zod").ZodString>;
114
+ position: import("zod").ZodOptional<import("zod").ZodEnum<{
115
+ "bottom-left": "bottom-left";
116
+ "bottom-right": "bottom-right";
117
+ "top-left": "top-left";
118
+ "top-right": "top-right";
119
+ }>>;
120
+ dailyMessageMax: import("zod").ZodOptional<import("zod").ZodNumber>;
121
+ conversationMessageMax: import("zod").ZodOptional<import("zod").ZodNumber>;
122
+ sessionTtlMinutes: import("zod").ZodOptional<import("zod").ZodNumber>;
123
+ }, import("zod/v4/core").$strip>>;
124
+ issues: import("zod").ZodOptional<import("zod").ZodObject<{
125
+ keyFromBrowsers: import("zod").ZodOptional<import("zod").ZodBoolean>;
126
+ dailyReportMax: import("zod").ZodOptional<import("zod").ZodNumber>;
127
+ escalateAfter: import("zod").ZodOptional<import("zod").ZodNumber>;
128
+ antiBot: import("zod").ZodOptional<import("zod").ZodEnum<{
129
+ pow: "pow";
130
+ }>>;
131
+ title: import("zod").ZodOptional<import("zod").ZodString>;
132
+ prompt: import("zod").ZodOptional<import("zod").ZodString>;
133
+ thanks: import("zod").ZodOptional<import("zod").ZodString>;
134
+ askEmail: import("zod").ZodOptional<import("zod").ZodBoolean>;
135
+ accent: import("zod").ZodOptional<import("zod").ZodString>;
136
+ captureCrashes: import("zod").ZodOptional<import("zod").ZodBoolean>;
137
+ }, import("zod/v4/core").$strip>>;
138
+ allowedTools: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
139
+ models: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodObject<{
140
+ provider: import("zod").ZodString;
141
+ model: import("zod").ZodString;
142
+ effort: import("zod").ZodOptional<import("zod").ZodString>;
143
+ thinking: import("zod").ZodOptional<import("zod").ZodBoolean>;
144
+ fast: import("zod").ZodOptional<import("zod").ZodBoolean>;
145
+ harness: import("zod").ZodOptional<import("zod").ZodEnum<{
146
+ "claude-code": "claude-code";
147
+ native: "native";
148
+ }>>;
149
+ }, import("zod/v4/core").$strip>>>;
150
+ account: import("zod").ZodOptional<import("zod").ZodString>;
151
+ actsAs: import("zod").ZodOptional<import("zod").ZodString>;
152
+ senders: import("zod").ZodOptional<import("zod").ZodObject<{
153
+ rules: import("zod").ZodArray<import("zod").ZodObject<{
154
+ label: import("zod").ZodOptional<import("zod").ZodString>;
155
+ ids: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
156
+ groups: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
157
+ actsAs: import("zod").ZodOptional<import("zod").ZodString>;
158
+ requireApproval: import("zod").ZodOptional<import("zod").ZodBoolean>;
159
+ }, import("zod/v4/core").$strip>>;
160
+ others: import("zod").ZodEnum<{
161
+ allow: "allow";
162
+ hold: "hold";
163
+ ignore: "ignore";
164
+ }>;
165
+ }, import("zod/v4/core").$strip>>;
166
+ requireApproval: import("zod").ZodOptional<import("zod").ZodBoolean>;
167
+ holdForSeconds: import("zod").ZodOptional<import("zod").ZodNumber>;
168
+ chore: import("zod").ZodOptional<import("zod").ZodBoolean>;
169
+ enabled: import("zod").ZodBoolean;
170
+ }, import("zod/v4/core").$strip>;
32
171
  }, import("zod/v4/core").$strip>], "kind">;
33
172
  why: import("zod").ZodOptional<import("zod").ZodString>;
34
173
  wait: import("zod").ZodOptional<import("zod").ZodNumber>;
@@ -88,6 +227,151 @@ export declare const needsContract: {
88
227
  tool: import("zod").ZodString;
89
228
  steps: import("zod").ZodString;
90
229
  approvedHash: import("zod").ZodOptional<import("zod").ZodString>;
230
+ }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
231
+ kind: import("zod").ZodLiteral<"automation">;
232
+ automation: import("zod").ZodObject<{
233
+ id: import("zod").ZodString;
234
+ trigger: import("zod").ZodDiscriminatedUnion<[import("zod").ZodObject<{
235
+ kind: import("zod").ZodLiteral<"schedule">;
236
+ cron: import("zod").ZodString;
237
+ tz: import("zod").ZodOptional<import("zod").ZodString & import("zod").ZodType<import("../index.js").Zone, string, import("zod/v4/core").$ZodTypeInternals<import("../index.js").Zone, string>>>;
238
+ afterSessions: import("zod").ZodOptional<import("zod").ZodNumber>;
239
+ }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
240
+ kind: import("zod").ZodLiteral<"once">;
241
+ at: import("zod").ZodNumber;
242
+ }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
243
+ kind: import("zod").ZodLiteral<"event">;
244
+ dailyMax: import("zod").ZodOptional<import("zod").ZodNumber>;
245
+ }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
246
+ kind: import("zod").ZodLiteral<"listener">;
247
+ provider: import("zod").ZodString;
248
+ channelId: import("zod").ZodOptional<import("zod").ZodString>;
249
+ eventType: import("zod").ZodOptional<import("zod").ZodString>;
250
+ mentioned: import("zod").ZodOptional<import("zod").ZodBoolean>;
251
+ branch: import("zod").ZodOptional<import("zod").ZodString>;
252
+ allowedOrigins: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
253
+ }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
254
+ kind: import("zod").ZodLiteral<"workspace">;
255
+ event: import("zod").ZodEnum<{
256
+ "agent.landed": "agent.landed";
257
+ "deps.broken": "deps.broken";
258
+ "deps.fixed": "deps.fixed";
259
+ "turn.settled": "turn.settled";
260
+ }>;
261
+ repo: import("zod").ZodOptional<import("zod").ZodString>;
262
+ }, import("zod/v4/core").$strip>], "kind">;
263
+ guard: import("zod").ZodOptional<import("zod").ZodString>;
264
+ source: import("zod").ZodOptional<import("zod").ZodDiscriminatedUnion<[import("zod").ZodObject<{
265
+ kind: import("zod").ZodLiteral<"npm">;
266
+ package: import("zod").ZodString;
267
+ range: import("zod").ZodOptional<import("zod").ZodString>;
268
+ tag: import("zod").ZodOptional<import("zod").ZodString>;
269
+ }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
270
+ kind: import("zod").ZodLiteral<"github-release">;
271
+ repo: import("zod").ZodString;
272
+ prereleases: import("zod").ZodOptional<import("zod").ZodBoolean>;
273
+ }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
274
+ kind: import("zod").ZodLiteral<"url">;
275
+ url: import("zod").ZodString;
276
+ select: import("zod").ZodOptional<import("zod").ZodString>;
277
+ }, import("zod/v4/core").$strip>], "kind">>;
278
+ fireOn: import("zod").ZodOptional<import("zod").ZodEnum<{
279
+ change: "change";
280
+ pass: "pass";
281
+ }>>;
282
+ until: import("zod").ZodOptional<import("zod").ZodEnum<{
283
+ "first-fire": "first-fire";
284
+ }>>;
285
+ expiresAt: import("zod").ZodOptional<import("zod").ZodNumber>;
286
+ target: import("zod").ZodOptional<import("zod").ZodDiscriminatedUnion<[import("zod").ZodObject<{
287
+ kind: import("zod").ZodLiteral<"agent">;
288
+ }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
289
+ kind: import("zod").ZodLiteral<"conversation">;
290
+ conversationId: import("zod").ZodString;
291
+ }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
292
+ kind: import("zod").ZodLiteral<"notify">;
293
+ }, import("zod/v4/core").$strip>], "kind">>;
294
+ note: import("zod").ZodOptional<import("zod").ZodString>;
295
+ prompt: import("zod").ZodString;
296
+ webchat: import("zod").ZodOptional<import("zod").ZodObject<{
297
+ access: import("zod").ZodOptional<import("zod").ZodEnum<{
298
+ google: "google";
299
+ public: "public";
300
+ }>>;
301
+ requireName: import("zod").ZodOptional<import("zod").ZodBoolean>;
302
+ antiBot: import("zod").ZodOptional<import("zod").ZodEnum<{
303
+ pow: "pow";
304
+ turnstile: "turnstile";
305
+ }>>;
306
+ turnstileSiteKey: import("zod").ZodOptional<import("zod").ZodString>;
307
+ turnstileSecret: import("zod").ZodOptional<import("zod").ZodString>;
308
+ googleClientId: import("zod").ZodOptional<import("zod").ZodString>;
309
+ title: import("zod").ZodOptional<import("zod").ZodString>;
310
+ greeting: import("zod").ZodOptional<import("zod").ZodString>;
311
+ accent: import("zod").ZodOptional<import("zod").ZodString>;
312
+ position: import("zod").ZodOptional<import("zod").ZodEnum<{
313
+ "bottom-left": "bottom-left";
314
+ "bottom-right": "bottom-right";
315
+ "top-left": "top-left";
316
+ "top-right": "top-right";
317
+ }>>;
318
+ dailyMessageMax: import("zod").ZodOptional<import("zod").ZodNumber>;
319
+ conversationMessageMax: import("zod").ZodOptional<import("zod").ZodNumber>;
320
+ sessionTtlMinutes: import("zod").ZodOptional<import("zod").ZodNumber>;
321
+ }, import("zod/v4/core").$strip>>;
322
+ issues: import("zod").ZodOptional<import("zod").ZodObject<{
323
+ keyFromBrowsers: import("zod").ZodOptional<import("zod").ZodBoolean>;
324
+ dailyReportMax: import("zod").ZodOptional<import("zod").ZodNumber>;
325
+ escalateAfter: import("zod").ZodOptional<import("zod").ZodNumber>;
326
+ antiBot: import("zod").ZodOptional<import("zod").ZodEnum<{
327
+ pow: "pow";
328
+ }>>;
329
+ title: import("zod").ZodOptional<import("zod").ZodString>;
330
+ prompt: import("zod").ZodOptional<import("zod").ZodString>;
331
+ thanks: import("zod").ZodOptional<import("zod").ZodString>;
332
+ askEmail: import("zod").ZodOptional<import("zod").ZodBoolean>;
333
+ accent: import("zod").ZodOptional<import("zod").ZodString>;
334
+ captureCrashes: import("zod").ZodOptional<import("zod").ZodBoolean>;
335
+ }, import("zod/v4/core").$strip>>;
336
+ allowedTools: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
337
+ models: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodObject<{
338
+ provider: import("zod").ZodString;
339
+ model: import("zod").ZodString;
340
+ effort: import("zod").ZodOptional<import("zod").ZodString>;
341
+ thinking: import("zod").ZodOptional<import("zod").ZodBoolean>;
342
+ fast: import("zod").ZodOptional<import("zod").ZodBoolean>;
343
+ harness: import("zod").ZodOptional<import("zod").ZodEnum<{
344
+ "claude-code": "claude-code";
345
+ native: "native";
346
+ }>>;
347
+ }, import("zod/v4/core").$strip>>>;
348
+ account: import("zod").ZodOptional<import("zod").ZodString>;
349
+ actsAs: import("zod").ZodOptional<import("zod").ZodString>;
350
+ senders: import("zod").ZodOptional<import("zod").ZodObject<{
351
+ rules: import("zod").ZodArray<import("zod").ZodObject<{
352
+ label: import("zod").ZodOptional<import("zod").ZodString>;
353
+ ids: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
354
+ groups: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
355
+ actsAs: import("zod").ZodOptional<import("zod").ZodString>;
356
+ requireApproval: import("zod").ZodOptional<import("zod").ZodBoolean>;
357
+ }, import("zod/v4/core").$strip>>;
358
+ others: import("zod").ZodEnum<{
359
+ allow: "allow";
360
+ hold: "hold";
361
+ ignore: "ignore";
362
+ }>;
363
+ }, import("zod/v4/core").$strip>>;
364
+ requireApproval: import("zod").ZodOptional<import("zod").ZodBoolean>;
365
+ holdForSeconds: import("zod").ZodOptional<import("zod").ZodNumber>;
366
+ chore: import("zod").ZodOptional<import("zod").ZodBoolean>;
367
+ enabled: import("zod").ZodBoolean;
368
+ }, import("zod/v4/core").$strip>;
369
+ replaces: import("zod").ZodOptional<import("zod").ZodBoolean>;
370
+ firstCheck: import("zod").ZodOptional<import("zod").ZodObject<{
371
+ pass: import("zod").ZodBoolean;
372
+ saw: import("zod").ZodString;
373
+ at: import("zod").ZodNumber;
374
+ }, import("zod/v4/core").$strip>>;
91
375
  }, import("zod/v4/core").$strip>], "kind">;
92
376
  title: import("zod").ZodString;
93
377
  why: import("zod").ZodOptional<import("zod").ZodString>;
@@ -161,6 +445,151 @@ export declare const needsContract: {
161
445
  tool: import("zod").ZodString;
162
446
  steps: import("zod").ZodString;
163
447
  approvedHash: import("zod").ZodOptional<import("zod").ZodString>;
448
+ }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
449
+ kind: import("zod").ZodLiteral<"automation">;
450
+ automation: import("zod").ZodObject<{
451
+ id: import("zod").ZodString;
452
+ trigger: import("zod").ZodDiscriminatedUnion<[import("zod").ZodObject<{
453
+ kind: import("zod").ZodLiteral<"schedule">;
454
+ cron: import("zod").ZodString;
455
+ tz: import("zod").ZodOptional<import("zod").ZodString & import("zod").ZodType<import("../index.js").Zone, string, import("zod/v4/core").$ZodTypeInternals<import("../index.js").Zone, string>>>;
456
+ afterSessions: import("zod").ZodOptional<import("zod").ZodNumber>;
457
+ }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
458
+ kind: import("zod").ZodLiteral<"once">;
459
+ at: import("zod").ZodNumber;
460
+ }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
461
+ kind: import("zod").ZodLiteral<"event">;
462
+ dailyMax: import("zod").ZodOptional<import("zod").ZodNumber>;
463
+ }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
464
+ kind: import("zod").ZodLiteral<"listener">;
465
+ provider: import("zod").ZodString;
466
+ channelId: import("zod").ZodOptional<import("zod").ZodString>;
467
+ eventType: import("zod").ZodOptional<import("zod").ZodString>;
468
+ mentioned: import("zod").ZodOptional<import("zod").ZodBoolean>;
469
+ branch: import("zod").ZodOptional<import("zod").ZodString>;
470
+ allowedOrigins: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
471
+ }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
472
+ kind: import("zod").ZodLiteral<"workspace">;
473
+ event: import("zod").ZodEnum<{
474
+ "agent.landed": "agent.landed";
475
+ "deps.broken": "deps.broken";
476
+ "deps.fixed": "deps.fixed";
477
+ "turn.settled": "turn.settled";
478
+ }>;
479
+ repo: import("zod").ZodOptional<import("zod").ZodString>;
480
+ }, import("zod/v4/core").$strip>], "kind">;
481
+ guard: import("zod").ZodOptional<import("zod").ZodString>;
482
+ source: import("zod").ZodOptional<import("zod").ZodDiscriminatedUnion<[import("zod").ZodObject<{
483
+ kind: import("zod").ZodLiteral<"npm">;
484
+ package: import("zod").ZodString;
485
+ range: import("zod").ZodOptional<import("zod").ZodString>;
486
+ tag: import("zod").ZodOptional<import("zod").ZodString>;
487
+ }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
488
+ kind: import("zod").ZodLiteral<"github-release">;
489
+ repo: import("zod").ZodString;
490
+ prereleases: import("zod").ZodOptional<import("zod").ZodBoolean>;
491
+ }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
492
+ kind: import("zod").ZodLiteral<"url">;
493
+ url: import("zod").ZodString;
494
+ select: import("zod").ZodOptional<import("zod").ZodString>;
495
+ }, import("zod/v4/core").$strip>], "kind">>;
496
+ fireOn: import("zod").ZodOptional<import("zod").ZodEnum<{
497
+ change: "change";
498
+ pass: "pass";
499
+ }>>;
500
+ until: import("zod").ZodOptional<import("zod").ZodEnum<{
501
+ "first-fire": "first-fire";
502
+ }>>;
503
+ expiresAt: import("zod").ZodOptional<import("zod").ZodNumber>;
504
+ target: import("zod").ZodOptional<import("zod").ZodDiscriminatedUnion<[import("zod").ZodObject<{
505
+ kind: import("zod").ZodLiteral<"agent">;
506
+ }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
507
+ kind: import("zod").ZodLiteral<"conversation">;
508
+ conversationId: import("zod").ZodString;
509
+ }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
510
+ kind: import("zod").ZodLiteral<"notify">;
511
+ }, import("zod/v4/core").$strip>], "kind">>;
512
+ note: import("zod").ZodOptional<import("zod").ZodString>;
513
+ prompt: import("zod").ZodString;
514
+ webchat: import("zod").ZodOptional<import("zod").ZodObject<{
515
+ access: import("zod").ZodOptional<import("zod").ZodEnum<{
516
+ google: "google";
517
+ public: "public";
518
+ }>>;
519
+ requireName: import("zod").ZodOptional<import("zod").ZodBoolean>;
520
+ antiBot: import("zod").ZodOptional<import("zod").ZodEnum<{
521
+ pow: "pow";
522
+ turnstile: "turnstile";
523
+ }>>;
524
+ turnstileSiteKey: import("zod").ZodOptional<import("zod").ZodString>;
525
+ turnstileSecret: import("zod").ZodOptional<import("zod").ZodString>;
526
+ googleClientId: import("zod").ZodOptional<import("zod").ZodString>;
527
+ title: import("zod").ZodOptional<import("zod").ZodString>;
528
+ greeting: import("zod").ZodOptional<import("zod").ZodString>;
529
+ accent: import("zod").ZodOptional<import("zod").ZodString>;
530
+ position: import("zod").ZodOptional<import("zod").ZodEnum<{
531
+ "bottom-left": "bottom-left";
532
+ "bottom-right": "bottom-right";
533
+ "top-left": "top-left";
534
+ "top-right": "top-right";
535
+ }>>;
536
+ dailyMessageMax: import("zod").ZodOptional<import("zod").ZodNumber>;
537
+ conversationMessageMax: import("zod").ZodOptional<import("zod").ZodNumber>;
538
+ sessionTtlMinutes: import("zod").ZodOptional<import("zod").ZodNumber>;
539
+ }, import("zod/v4/core").$strip>>;
540
+ issues: import("zod").ZodOptional<import("zod").ZodObject<{
541
+ keyFromBrowsers: import("zod").ZodOptional<import("zod").ZodBoolean>;
542
+ dailyReportMax: import("zod").ZodOptional<import("zod").ZodNumber>;
543
+ escalateAfter: import("zod").ZodOptional<import("zod").ZodNumber>;
544
+ antiBot: import("zod").ZodOptional<import("zod").ZodEnum<{
545
+ pow: "pow";
546
+ }>>;
547
+ title: import("zod").ZodOptional<import("zod").ZodString>;
548
+ prompt: import("zod").ZodOptional<import("zod").ZodString>;
549
+ thanks: import("zod").ZodOptional<import("zod").ZodString>;
550
+ askEmail: import("zod").ZodOptional<import("zod").ZodBoolean>;
551
+ accent: import("zod").ZodOptional<import("zod").ZodString>;
552
+ captureCrashes: import("zod").ZodOptional<import("zod").ZodBoolean>;
553
+ }, import("zod/v4/core").$strip>>;
554
+ allowedTools: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
555
+ models: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodObject<{
556
+ provider: import("zod").ZodString;
557
+ model: import("zod").ZodString;
558
+ effort: import("zod").ZodOptional<import("zod").ZodString>;
559
+ thinking: import("zod").ZodOptional<import("zod").ZodBoolean>;
560
+ fast: import("zod").ZodOptional<import("zod").ZodBoolean>;
561
+ harness: import("zod").ZodOptional<import("zod").ZodEnum<{
562
+ "claude-code": "claude-code";
563
+ native: "native";
564
+ }>>;
565
+ }, import("zod/v4/core").$strip>>>;
566
+ account: import("zod").ZodOptional<import("zod").ZodString>;
567
+ actsAs: import("zod").ZodOptional<import("zod").ZodString>;
568
+ senders: import("zod").ZodOptional<import("zod").ZodObject<{
569
+ rules: import("zod").ZodArray<import("zod").ZodObject<{
570
+ label: import("zod").ZodOptional<import("zod").ZodString>;
571
+ ids: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
572
+ groups: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
573
+ actsAs: import("zod").ZodOptional<import("zod").ZodString>;
574
+ requireApproval: import("zod").ZodOptional<import("zod").ZodBoolean>;
575
+ }, import("zod/v4/core").$strip>>;
576
+ others: import("zod").ZodEnum<{
577
+ allow: "allow";
578
+ hold: "hold";
579
+ ignore: "ignore";
580
+ }>;
581
+ }, import("zod/v4/core").$strip>>;
582
+ requireApproval: import("zod").ZodOptional<import("zod").ZodBoolean>;
583
+ holdForSeconds: import("zod").ZodOptional<import("zod").ZodNumber>;
584
+ chore: import("zod").ZodOptional<import("zod").ZodBoolean>;
585
+ enabled: import("zod").ZodBoolean;
586
+ }, import("zod/v4/core").$strip>;
587
+ replaces: import("zod").ZodOptional<import("zod").ZodBoolean>;
588
+ firstCheck: import("zod").ZodOptional<import("zod").ZodObject<{
589
+ pass: import("zod").ZodBoolean;
590
+ saw: import("zod").ZodString;
591
+ at: import("zod").ZodNumber;
592
+ }, import("zod/v4/core").$strip>>;
164
593
  }, import("zod/v4/core").$strip>], "kind">;
165
594
  title: import("zod").ZodString;
166
595
  why: import("zod").ZodOptional<import("zod").ZodString>;
@@ -234,6 +663,151 @@ export declare const needsContract: {
234
663
  tool: import("zod").ZodString;
235
664
  steps: import("zod").ZodString;
236
665
  approvedHash: import("zod").ZodOptional<import("zod").ZodString>;
666
+ }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
667
+ kind: import("zod").ZodLiteral<"automation">;
668
+ automation: import("zod").ZodObject<{
669
+ id: import("zod").ZodString;
670
+ trigger: import("zod").ZodDiscriminatedUnion<[import("zod").ZodObject<{
671
+ kind: import("zod").ZodLiteral<"schedule">;
672
+ cron: import("zod").ZodString;
673
+ tz: import("zod").ZodOptional<import("zod").ZodString & import("zod").ZodType<import("../index.js").Zone, string, import("zod/v4/core").$ZodTypeInternals<import("../index.js").Zone, string>>>;
674
+ afterSessions: import("zod").ZodOptional<import("zod").ZodNumber>;
675
+ }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
676
+ kind: import("zod").ZodLiteral<"once">;
677
+ at: import("zod").ZodNumber;
678
+ }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
679
+ kind: import("zod").ZodLiteral<"event">;
680
+ dailyMax: import("zod").ZodOptional<import("zod").ZodNumber>;
681
+ }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
682
+ kind: import("zod").ZodLiteral<"listener">;
683
+ provider: import("zod").ZodString;
684
+ channelId: import("zod").ZodOptional<import("zod").ZodString>;
685
+ eventType: import("zod").ZodOptional<import("zod").ZodString>;
686
+ mentioned: import("zod").ZodOptional<import("zod").ZodBoolean>;
687
+ branch: import("zod").ZodOptional<import("zod").ZodString>;
688
+ allowedOrigins: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
689
+ }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
690
+ kind: import("zod").ZodLiteral<"workspace">;
691
+ event: import("zod").ZodEnum<{
692
+ "agent.landed": "agent.landed";
693
+ "deps.broken": "deps.broken";
694
+ "deps.fixed": "deps.fixed";
695
+ "turn.settled": "turn.settled";
696
+ }>;
697
+ repo: import("zod").ZodOptional<import("zod").ZodString>;
698
+ }, import("zod/v4/core").$strip>], "kind">;
699
+ guard: import("zod").ZodOptional<import("zod").ZodString>;
700
+ source: import("zod").ZodOptional<import("zod").ZodDiscriminatedUnion<[import("zod").ZodObject<{
701
+ kind: import("zod").ZodLiteral<"npm">;
702
+ package: import("zod").ZodString;
703
+ range: import("zod").ZodOptional<import("zod").ZodString>;
704
+ tag: import("zod").ZodOptional<import("zod").ZodString>;
705
+ }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
706
+ kind: import("zod").ZodLiteral<"github-release">;
707
+ repo: import("zod").ZodString;
708
+ prereleases: import("zod").ZodOptional<import("zod").ZodBoolean>;
709
+ }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
710
+ kind: import("zod").ZodLiteral<"url">;
711
+ url: import("zod").ZodString;
712
+ select: import("zod").ZodOptional<import("zod").ZodString>;
713
+ }, import("zod/v4/core").$strip>], "kind">>;
714
+ fireOn: import("zod").ZodOptional<import("zod").ZodEnum<{
715
+ change: "change";
716
+ pass: "pass";
717
+ }>>;
718
+ until: import("zod").ZodOptional<import("zod").ZodEnum<{
719
+ "first-fire": "first-fire";
720
+ }>>;
721
+ expiresAt: import("zod").ZodOptional<import("zod").ZodNumber>;
722
+ target: import("zod").ZodOptional<import("zod").ZodDiscriminatedUnion<[import("zod").ZodObject<{
723
+ kind: import("zod").ZodLiteral<"agent">;
724
+ }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
725
+ kind: import("zod").ZodLiteral<"conversation">;
726
+ conversationId: import("zod").ZodString;
727
+ }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
728
+ kind: import("zod").ZodLiteral<"notify">;
729
+ }, import("zod/v4/core").$strip>], "kind">>;
730
+ note: import("zod").ZodOptional<import("zod").ZodString>;
731
+ prompt: import("zod").ZodString;
732
+ webchat: import("zod").ZodOptional<import("zod").ZodObject<{
733
+ access: import("zod").ZodOptional<import("zod").ZodEnum<{
734
+ google: "google";
735
+ public: "public";
736
+ }>>;
737
+ requireName: import("zod").ZodOptional<import("zod").ZodBoolean>;
738
+ antiBot: import("zod").ZodOptional<import("zod").ZodEnum<{
739
+ pow: "pow";
740
+ turnstile: "turnstile";
741
+ }>>;
742
+ turnstileSiteKey: import("zod").ZodOptional<import("zod").ZodString>;
743
+ turnstileSecret: import("zod").ZodOptional<import("zod").ZodString>;
744
+ googleClientId: import("zod").ZodOptional<import("zod").ZodString>;
745
+ title: import("zod").ZodOptional<import("zod").ZodString>;
746
+ greeting: import("zod").ZodOptional<import("zod").ZodString>;
747
+ accent: import("zod").ZodOptional<import("zod").ZodString>;
748
+ position: import("zod").ZodOptional<import("zod").ZodEnum<{
749
+ "bottom-left": "bottom-left";
750
+ "bottom-right": "bottom-right";
751
+ "top-left": "top-left";
752
+ "top-right": "top-right";
753
+ }>>;
754
+ dailyMessageMax: import("zod").ZodOptional<import("zod").ZodNumber>;
755
+ conversationMessageMax: import("zod").ZodOptional<import("zod").ZodNumber>;
756
+ sessionTtlMinutes: import("zod").ZodOptional<import("zod").ZodNumber>;
757
+ }, import("zod/v4/core").$strip>>;
758
+ issues: import("zod").ZodOptional<import("zod").ZodObject<{
759
+ keyFromBrowsers: import("zod").ZodOptional<import("zod").ZodBoolean>;
760
+ dailyReportMax: import("zod").ZodOptional<import("zod").ZodNumber>;
761
+ escalateAfter: import("zod").ZodOptional<import("zod").ZodNumber>;
762
+ antiBot: import("zod").ZodOptional<import("zod").ZodEnum<{
763
+ pow: "pow";
764
+ }>>;
765
+ title: import("zod").ZodOptional<import("zod").ZodString>;
766
+ prompt: import("zod").ZodOptional<import("zod").ZodString>;
767
+ thanks: import("zod").ZodOptional<import("zod").ZodString>;
768
+ askEmail: import("zod").ZodOptional<import("zod").ZodBoolean>;
769
+ accent: import("zod").ZodOptional<import("zod").ZodString>;
770
+ captureCrashes: import("zod").ZodOptional<import("zod").ZodBoolean>;
771
+ }, import("zod/v4/core").$strip>>;
772
+ allowedTools: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
773
+ models: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodObject<{
774
+ provider: import("zod").ZodString;
775
+ model: import("zod").ZodString;
776
+ effort: import("zod").ZodOptional<import("zod").ZodString>;
777
+ thinking: import("zod").ZodOptional<import("zod").ZodBoolean>;
778
+ fast: import("zod").ZodOptional<import("zod").ZodBoolean>;
779
+ harness: import("zod").ZodOptional<import("zod").ZodEnum<{
780
+ "claude-code": "claude-code";
781
+ native: "native";
782
+ }>>;
783
+ }, import("zod/v4/core").$strip>>>;
784
+ account: import("zod").ZodOptional<import("zod").ZodString>;
785
+ actsAs: import("zod").ZodOptional<import("zod").ZodString>;
786
+ senders: import("zod").ZodOptional<import("zod").ZodObject<{
787
+ rules: import("zod").ZodArray<import("zod").ZodObject<{
788
+ label: import("zod").ZodOptional<import("zod").ZodString>;
789
+ ids: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
790
+ groups: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
791
+ actsAs: import("zod").ZodOptional<import("zod").ZodString>;
792
+ requireApproval: import("zod").ZodOptional<import("zod").ZodBoolean>;
793
+ }, import("zod/v4/core").$strip>>;
794
+ others: import("zod").ZodEnum<{
795
+ allow: "allow";
796
+ hold: "hold";
797
+ ignore: "ignore";
798
+ }>;
799
+ }, import("zod/v4/core").$strip>>;
800
+ requireApproval: import("zod").ZodOptional<import("zod").ZodBoolean>;
801
+ holdForSeconds: import("zod").ZodOptional<import("zod").ZodNumber>;
802
+ chore: import("zod").ZodOptional<import("zod").ZodBoolean>;
803
+ enabled: import("zod").ZodBoolean;
804
+ }, import("zod/v4/core").$strip>;
805
+ replaces: import("zod").ZodOptional<import("zod").ZodBoolean>;
806
+ firstCheck: import("zod").ZodOptional<import("zod").ZodObject<{
807
+ pass: import("zod").ZodBoolean;
808
+ saw: import("zod").ZodString;
809
+ at: import("zod").ZodNumber;
810
+ }, import("zod/v4/core").$strip>>;
237
811
  }, import("zod/v4/core").$strip>], "kind">;
238
812
  title: import("zod").ZodString;
239
813
  why: import("zod").ZodOptional<import("zod").ZodString>;
@@ -308,6 +882,151 @@ export declare const needsContract: {
308
882
  tool: import("zod").ZodString;
309
883
  steps: import("zod").ZodString;
310
884
  approvedHash: import("zod").ZodOptional<import("zod").ZodString>;
885
+ }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
886
+ kind: import("zod").ZodLiteral<"automation">;
887
+ automation: import("zod").ZodObject<{
888
+ id: import("zod").ZodString;
889
+ trigger: import("zod").ZodDiscriminatedUnion<[import("zod").ZodObject<{
890
+ kind: import("zod").ZodLiteral<"schedule">;
891
+ cron: import("zod").ZodString;
892
+ tz: import("zod").ZodOptional<import("zod").ZodString & import("zod").ZodType<import("../index.js").Zone, string, import("zod/v4/core").$ZodTypeInternals<import("../index.js").Zone, string>>>;
893
+ afterSessions: import("zod").ZodOptional<import("zod").ZodNumber>;
894
+ }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
895
+ kind: import("zod").ZodLiteral<"once">;
896
+ at: import("zod").ZodNumber;
897
+ }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
898
+ kind: import("zod").ZodLiteral<"event">;
899
+ dailyMax: import("zod").ZodOptional<import("zod").ZodNumber>;
900
+ }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
901
+ kind: import("zod").ZodLiteral<"listener">;
902
+ provider: import("zod").ZodString;
903
+ channelId: import("zod").ZodOptional<import("zod").ZodString>;
904
+ eventType: import("zod").ZodOptional<import("zod").ZodString>;
905
+ mentioned: import("zod").ZodOptional<import("zod").ZodBoolean>;
906
+ branch: import("zod").ZodOptional<import("zod").ZodString>;
907
+ allowedOrigins: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
908
+ }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
909
+ kind: import("zod").ZodLiteral<"workspace">;
910
+ event: import("zod").ZodEnum<{
911
+ "agent.landed": "agent.landed";
912
+ "deps.broken": "deps.broken";
913
+ "deps.fixed": "deps.fixed";
914
+ "turn.settled": "turn.settled";
915
+ }>;
916
+ repo: import("zod").ZodOptional<import("zod").ZodString>;
917
+ }, import("zod/v4/core").$strip>], "kind">;
918
+ guard: import("zod").ZodOptional<import("zod").ZodString>;
919
+ source: import("zod").ZodOptional<import("zod").ZodDiscriminatedUnion<[import("zod").ZodObject<{
920
+ kind: import("zod").ZodLiteral<"npm">;
921
+ package: import("zod").ZodString;
922
+ range: import("zod").ZodOptional<import("zod").ZodString>;
923
+ tag: import("zod").ZodOptional<import("zod").ZodString>;
924
+ }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
925
+ kind: import("zod").ZodLiteral<"github-release">;
926
+ repo: import("zod").ZodString;
927
+ prereleases: import("zod").ZodOptional<import("zod").ZodBoolean>;
928
+ }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
929
+ kind: import("zod").ZodLiteral<"url">;
930
+ url: import("zod").ZodString;
931
+ select: import("zod").ZodOptional<import("zod").ZodString>;
932
+ }, import("zod/v4/core").$strip>], "kind">>;
933
+ fireOn: import("zod").ZodOptional<import("zod").ZodEnum<{
934
+ change: "change";
935
+ pass: "pass";
936
+ }>>;
937
+ until: import("zod").ZodOptional<import("zod").ZodEnum<{
938
+ "first-fire": "first-fire";
939
+ }>>;
940
+ expiresAt: import("zod").ZodOptional<import("zod").ZodNumber>;
941
+ target: import("zod").ZodOptional<import("zod").ZodDiscriminatedUnion<[import("zod").ZodObject<{
942
+ kind: import("zod").ZodLiteral<"agent">;
943
+ }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
944
+ kind: import("zod").ZodLiteral<"conversation">;
945
+ conversationId: import("zod").ZodString;
946
+ }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
947
+ kind: import("zod").ZodLiteral<"notify">;
948
+ }, import("zod/v4/core").$strip>], "kind">>;
949
+ note: import("zod").ZodOptional<import("zod").ZodString>;
950
+ prompt: import("zod").ZodString;
951
+ webchat: import("zod").ZodOptional<import("zod").ZodObject<{
952
+ access: import("zod").ZodOptional<import("zod").ZodEnum<{
953
+ google: "google";
954
+ public: "public";
955
+ }>>;
956
+ requireName: import("zod").ZodOptional<import("zod").ZodBoolean>;
957
+ antiBot: import("zod").ZodOptional<import("zod").ZodEnum<{
958
+ pow: "pow";
959
+ turnstile: "turnstile";
960
+ }>>;
961
+ turnstileSiteKey: import("zod").ZodOptional<import("zod").ZodString>;
962
+ turnstileSecret: import("zod").ZodOptional<import("zod").ZodString>;
963
+ googleClientId: import("zod").ZodOptional<import("zod").ZodString>;
964
+ title: import("zod").ZodOptional<import("zod").ZodString>;
965
+ greeting: import("zod").ZodOptional<import("zod").ZodString>;
966
+ accent: import("zod").ZodOptional<import("zod").ZodString>;
967
+ position: import("zod").ZodOptional<import("zod").ZodEnum<{
968
+ "bottom-left": "bottom-left";
969
+ "bottom-right": "bottom-right";
970
+ "top-left": "top-left";
971
+ "top-right": "top-right";
972
+ }>>;
973
+ dailyMessageMax: import("zod").ZodOptional<import("zod").ZodNumber>;
974
+ conversationMessageMax: import("zod").ZodOptional<import("zod").ZodNumber>;
975
+ sessionTtlMinutes: import("zod").ZodOptional<import("zod").ZodNumber>;
976
+ }, import("zod/v4/core").$strip>>;
977
+ issues: import("zod").ZodOptional<import("zod").ZodObject<{
978
+ keyFromBrowsers: import("zod").ZodOptional<import("zod").ZodBoolean>;
979
+ dailyReportMax: import("zod").ZodOptional<import("zod").ZodNumber>;
980
+ escalateAfter: import("zod").ZodOptional<import("zod").ZodNumber>;
981
+ antiBot: import("zod").ZodOptional<import("zod").ZodEnum<{
982
+ pow: "pow";
983
+ }>>;
984
+ title: import("zod").ZodOptional<import("zod").ZodString>;
985
+ prompt: import("zod").ZodOptional<import("zod").ZodString>;
986
+ thanks: import("zod").ZodOptional<import("zod").ZodString>;
987
+ askEmail: import("zod").ZodOptional<import("zod").ZodBoolean>;
988
+ accent: import("zod").ZodOptional<import("zod").ZodString>;
989
+ captureCrashes: import("zod").ZodOptional<import("zod").ZodBoolean>;
990
+ }, import("zod/v4/core").$strip>>;
991
+ allowedTools: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
992
+ models: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodObject<{
993
+ provider: import("zod").ZodString;
994
+ model: import("zod").ZodString;
995
+ effort: import("zod").ZodOptional<import("zod").ZodString>;
996
+ thinking: import("zod").ZodOptional<import("zod").ZodBoolean>;
997
+ fast: import("zod").ZodOptional<import("zod").ZodBoolean>;
998
+ harness: import("zod").ZodOptional<import("zod").ZodEnum<{
999
+ "claude-code": "claude-code";
1000
+ native: "native";
1001
+ }>>;
1002
+ }, import("zod/v4/core").$strip>>>;
1003
+ account: import("zod").ZodOptional<import("zod").ZodString>;
1004
+ actsAs: import("zod").ZodOptional<import("zod").ZodString>;
1005
+ senders: import("zod").ZodOptional<import("zod").ZodObject<{
1006
+ rules: import("zod").ZodArray<import("zod").ZodObject<{
1007
+ label: import("zod").ZodOptional<import("zod").ZodString>;
1008
+ ids: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
1009
+ groups: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
1010
+ actsAs: import("zod").ZodOptional<import("zod").ZodString>;
1011
+ requireApproval: import("zod").ZodOptional<import("zod").ZodBoolean>;
1012
+ }, import("zod/v4/core").$strip>>;
1013
+ others: import("zod").ZodEnum<{
1014
+ allow: "allow";
1015
+ hold: "hold";
1016
+ ignore: "ignore";
1017
+ }>;
1018
+ }, import("zod/v4/core").$strip>>;
1019
+ requireApproval: import("zod").ZodOptional<import("zod").ZodBoolean>;
1020
+ holdForSeconds: import("zod").ZodOptional<import("zod").ZodNumber>;
1021
+ chore: import("zod").ZodOptional<import("zod").ZodBoolean>;
1022
+ enabled: import("zod").ZodBoolean;
1023
+ }, import("zod/v4/core").$strip>;
1024
+ replaces: import("zod").ZodOptional<import("zod").ZodBoolean>;
1025
+ firstCheck: import("zod").ZodOptional<import("zod").ZodObject<{
1026
+ pass: import("zod").ZodBoolean;
1027
+ saw: import("zod").ZodString;
1028
+ at: import("zod").ZodNumber;
1029
+ }, import("zod/v4/core").$strip>>;
311
1030
  }, import("zod/v4/core").$strip>], "kind">;
312
1031
  title: import("zod").ZodString;
313
1032
  why: import("zod").ZodOptional<import("zod").ZodString>;
@@ -399,6 +1118,151 @@ export declare const needsContract: {
399
1118
  tool: import("zod").ZodString;
400
1119
  steps: import("zod").ZodString;
401
1120
  approvedHash: import("zod").ZodOptional<import("zod").ZodString>;
1121
+ }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
1122
+ kind: import("zod").ZodLiteral<"automation">;
1123
+ automation: import("zod").ZodObject<{
1124
+ id: import("zod").ZodString;
1125
+ trigger: import("zod").ZodDiscriminatedUnion<[import("zod").ZodObject<{
1126
+ kind: import("zod").ZodLiteral<"schedule">;
1127
+ cron: import("zod").ZodString;
1128
+ tz: import("zod").ZodOptional<import("zod").ZodString & import("zod").ZodType<import("../index.js").Zone, string, import("zod/v4/core").$ZodTypeInternals<import("../index.js").Zone, string>>>;
1129
+ afterSessions: import("zod").ZodOptional<import("zod").ZodNumber>;
1130
+ }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
1131
+ kind: import("zod").ZodLiteral<"once">;
1132
+ at: import("zod").ZodNumber;
1133
+ }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
1134
+ kind: import("zod").ZodLiteral<"event">;
1135
+ dailyMax: import("zod").ZodOptional<import("zod").ZodNumber>;
1136
+ }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
1137
+ kind: import("zod").ZodLiteral<"listener">;
1138
+ provider: import("zod").ZodString;
1139
+ channelId: import("zod").ZodOptional<import("zod").ZodString>;
1140
+ eventType: import("zod").ZodOptional<import("zod").ZodString>;
1141
+ mentioned: import("zod").ZodOptional<import("zod").ZodBoolean>;
1142
+ branch: import("zod").ZodOptional<import("zod").ZodString>;
1143
+ allowedOrigins: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
1144
+ }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
1145
+ kind: import("zod").ZodLiteral<"workspace">;
1146
+ event: import("zod").ZodEnum<{
1147
+ "agent.landed": "agent.landed";
1148
+ "deps.broken": "deps.broken";
1149
+ "deps.fixed": "deps.fixed";
1150
+ "turn.settled": "turn.settled";
1151
+ }>;
1152
+ repo: import("zod").ZodOptional<import("zod").ZodString>;
1153
+ }, import("zod/v4/core").$strip>], "kind">;
1154
+ guard: import("zod").ZodOptional<import("zod").ZodString>;
1155
+ source: import("zod").ZodOptional<import("zod").ZodDiscriminatedUnion<[import("zod").ZodObject<{
1156
+ kind: import("zod").ZodLiteral<"npm">;
1157
+ package: import("zod").ZodString;
1158
+ range: import("zod").ZodOptional<import("zod").ZodString>;
1159
+ tag: import("zod").ZodOptional<import("zod").ZodString>;
1160
+ }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
1161
+ kind: import("zod").ZodLiteral<"github-release">;
1162
+ repo: import("zod").ZodString;
1163
+ prereleases: import("zod").ZodOptional<import("zod").ZodBoolean>;
1164
+ }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
1165
+ kind: import("zod").ZodLiteral<"url">;
1166
+ url: import("zod").ZodString;
1167
+ select: import("zod").ZodOptional<import("zod").ZodString>;
1168
+ }, import("zod/v4/core").$strip>], "kind">>;
1169
+ fireOn: import("zod").ZodOptional<import("zod").ZodEnum<{
1170
+ change: "change";
1171
+ pass: "pass";
1172
+ }>>;
1173
+ until: import("zod").ZodOptional<import("zod").ZodEnum<{
1174
+ "first-fire": "first-fire";
1175
+ }>>;
1176
+ expiresAt: import("zod").ZodOptional<import("zod").ZodNumber>;
1177
+ target: import("zod").ZodOptional<import("zod").ZodDiscriminatedUnion<[import("zod").ZodObject<{
1178
+ kind: import("zod").ZodLiteral<"agent">;
1179
+ }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
1180
+ kind: import("zod").ZodLiteral<"conversation">;
1181
+ conversationId: import("zod").ZodString;
1182
+ }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
1183
+ kind: import("zod").ZodLiteral<"notify">;
1184
+ }, import("zod/v4/core").$strip>], "kind">>;
1185
+ note: import("zod").ZodOptional<import("zod").ZodString>;
1186
+ prompt: import("zod").ZodString;
1187
+ webchat: import("zod").ZodOptional<import("zod").ZodObject<{
1188
+ access: import("zod").ZodOptional<import("zod").ZodEnum<{
1189
+ google: "google";
1190
+ public: "public";
1191
+ }>>;
1192
+ requireName: import("zod").ZodOptional<import("zod").ZodBoolean>;
1193
+ antiBot: import("zod").ZodOptional<import("zod").ZodEnum<{
1194
+ pow: "pow";
1195
+ turnstile: "turnstile";
1196
+ }>>;
1197
+ turnstileSiteKey: import("zod").ZodOptional<import("zod").ZodString>;
1198
+ turnstileSecret: import("zod").ZodOptional<import("zod").ZodString>;
1199
+ googleClientId: import("zod").ZodOptional<import("zod").ZodString>;
1200
+ title: import("zod").ZodOptional<import("zod").ZodString>;
1201
+ greeting: import("zod").ZodOptional<import("zod").ZodString>;
1202
+ accent: import("zod").ZodOptional<import("zod").ZodString>;
1203
+ position: import("zod").ZodOptional<import("zod").ZodEnum<{
1204
+ "bottom-left": "bottom-left";
1205
+ "bottom-right": "bottom-right";
1206
+ "top-left": "top-left";
1207
+ "top-right": "top-right";
1208
+ }>>;
1209
+ dailyMessageMax: import("zod").ZodOptional<import("zod").ZodNumber>;
1210
+ conversationMessageMax: import("zod").ZodOptional<import("zod").ZodNumber>;
1211
+ sessionTtlMinutes: import("zod").ZodOptional<import("zod").ZodNumber>;
1212
+ }, import("zod/v4/core").$strip>>;
1213
+ issues: import("zod").ZodOptional<import("zod").ZodObject<{
1214
+ keyFromBrowsers: import("zod").ZodOptional<import("zod").ZodBoolean>;
1215
+ dailyReportMax: import("zod").ZodOptional<import("zod").ZodNumber>;
1216
+ escalateAfter: import("zod").ZodOptional<import("zod").ZodNumber>;
1217
+ antiBot: import("zod").ZodOptional<import("zod").ZodEnum<{
1218
+ pow: "pow";
1219
+ }>>;
1220
+ title: import("zod").ZodOptional<import("zod").ZodString>;
1221
+ prompt: import("zod").ZodOptional<import("zod").ZodString>;
1222
+ thanks: import("zod").ZodOptional<import("zod").ZodString>;
1223
+ askEmail: import("zod").ZodOptional<import("zod").ZodBoolean>;
1224
+ accent: import("zod").ZodOptional<import("zod").ZodString>;
1225
+ captureCrashes: import("zod").ZodOptional<import("zod").ZodBoolean>;
1226
+ }, import("zod/v4/core").$strip>>;
1227
+ allowedTools: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
1228
+ models: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodObject<{
1229
+ provider: import("zod").ZodString;
1230
+ model: import("zod").ZodString;
1231
+ effort: import("zod").ZodOptional<import("zod").ZodString>;
1232
+ thinking: import("zod").ZodOptional<import("zod").ZodBoolean>;
1233
+ fast: import("zod").ZodOptional<import("zod").ZodBoolean>;
1234
+ harness: import("zod").ZodOptional<import("zod").ZodEnum<{
1235
+ "claude-code": "claude-code";
1236
+ native: "native";
1237
+ }>>;
1238
+ }, import("zod/v4/core").$strip>>>;
1239
+ account: import("zod").ZodOptional<import("zod").ZodString>;
1240
+ actsAs: import("zod").ZodOptional<import("zod").ZodString>;
1241
+ senders: import("zod").ZodOptional<import("zod").ZodObject<{
1242
+ rules: import("zod").ZodArray<import("zod").ZodObject<{
1243
+ label: import("zod").ZodOptional<import("zod").ZodString>;
1244
+ ids: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
1245
+ groups: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
1246
+ actsAs: import("zod").ZodOptional<import("zod").ZodString>;
1247
+ requireApproval: import("zod").ZodOptional<import("zod").ZodBoolean>;
1248
+ }, import("zod/v4/core").$strip>>;
1249
+ others: import("zod").ZodEnum<{
1250
+ allow: "allow";
1251
+ hold: "hold";
1252
+ ignore: "ignore";
1253
+ }>;
1254
+ }, import("zod/v4/core").$strip>>;
1255
+ requireApproval: import("zod").ZodOptional<import("zod").ZodBoolean>;
1256
+ holdForSeconds: import("zod").ZodOptional<import("zod").ZodNumber>;
1257
+ chore: import("zod").ZodOptional<import("zod").ZodBoolean>;
1258
+ enabled: import("zod").ZodBoolean;
1259
+ }, import("zod/v4/core").$strip>;
1260
+ replaces: import("zod").ZodOptional<import("zod").ZodBoolean>;
1261
+ firstCheck: import("zod").ZodOptional<import("zod").ZodObject<{
1262
+ pass: import("zod").ZodBoolean;
1263
+ saw: import("zod").ZodString;
1264
+ at: import("zod").ZodNumber;
1265
+ }, import("zod/v4/core").$strip>>;
402
1266
  }, import("zod/v4/core").$strip>], "kind">;
403
1267
  title: import("zod").ZodString;
404
1268
  why: import("zod").ZodOptional<import("zod").ZodString>;
@@ -472,6 +1336,151 @@ export declare const needsContract: {
472
1336
  tool: import("zod").ZodString;
473
1337
  steps: import("zod").ZodString;
474
1338
  approvedHash: import("zod").ZodOptional<import("zod").ZodString>;
1339
+ }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
1340
+ kind: import("zod").ZodLiteral<"automation">;
1341
+ automation: import("zod").ZodObject<{
1342
+ id: import("zod").ZodString;
1343
+ trigger: import("zod").ZodDiscriminatedUnion<[import("zod").ZodObject<{
1344
+ kind: import("zod").ZodLiteral<"schedule">;
1345
+ cron: import("zod").ZodString;
1346
+ tz: import("zod").ZodOptional<import("zod").ZodString & import("zod").ZodType<import("../index.js").Zone, string, import("zod/v4/core").$ZodTypeInternals<import("../index.js").Zone, string>>>;
1347
+ afterSessions: import("zod").ZodOptional<import("zod").ZodNumber>;
1348
+ }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
1349
+ kind: import("zod").ZodLiteral<"once">;
1350
+ at: import("zod").ZodNumber;
1351
+ }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
1352
+ kind: import("zod").ZodLiteral<"event">;
1353
+ dailyMax: import("zod").ZodOptional<import("zod").ZodNumber>;
1354
+ }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
1355
+ kind: import("zod").ZodLiteral<"listener">;
1356
+ provider: import("zod").ZodString;
1357
+ channelId: import("zod").ZodOptional<import("zod").ZodString>;
1358
+ eventType: import("zod").ZodOptional<import("zod").ZodString>;
1359
+ mentioned: import("zod").ZodOptional<import("zod").ZodBoolean>;
1360
+ branch: import("zod").ZodOptional<import("zod").ZodString>;
1361
+ allowedOrigins: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
1362
+ }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
1363
+ kind: import("zod").ZodLiteral<"workspace">;
1364
+ event: import("zod").ZodEnum<{
1365
+ "agent.landed": "agent.landed";
1366
+ "deps.broken": "deps.broken";
1367
+ "deps.fixed": "deps.fixed";
1368
+ "turn.settled": "turn.settled";
1369
+ }>;
1370
+ repo: import("zod").ZodOptional<import("zod").ZodString>;
1371
+ }, import("zod/v4/core").$strip>], "kind">;
1372
+ guard: import("zod").ZodOptional<import("zod").ZodString>;
1373
+ source: import("zod").ZodOptional<import("zod").ZodDiscriminatedUnion<[import("zod").ZodObject<{
1374
+ kind: import("zod").ZodLiteral<"npm">;
1375
+ package: import("zod").ZodString;
1376
+ range: import("zod").ZodOptional<import("zod").ZodString>;
1377
+ tag: import("zod").ZodOptional<import("zod").ZodString>;
1378
+ }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
1379
+ kind: import("zod").ZodLiteral<"github-release">;
1380
+ repo: import("zod").ZodString;
1381
+ prereleases: import("zod").ZodOptional<import("zod").ZodBoolean>;
1382
+ }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
1383
+ kind: import("zod").ZodLiteral<"url">;
1384
+ url: import("zod").ZodString;
1385
+ select: import("zod").ZodOptional<import("zod").ZodString>;
1386
+ }, import("zod/v4/core").$strip>], "kind">>;
1387
+ fireOn: import("zod").ZodOptional<import("zod").ZodEnum<{
1388
+ change: "change";
1389
+ pass: "pass";
1390
+ }>>;
1391
+ until: import("zod").ZodOptional<import("zod").ZodEnum<{
1392
+ "first-fire": "first-fire";
1393
+ }>>;
1394
+ expiresAt: import("zod").ZodOptional<import("zod").ZodNumber>;
1395
+ target: import("zod").ZodOptional<import("zod").ZodDiscriminatedUnion<[import("zod").ZodObject<{
1396
+ kind: import("zod").ZodLiteral<"agent">;
1397
+ }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
1398
+ kind: import("zod").ZodLiteral<"conversation">;
1399
+ conversationId: import("zod").ZodString;
1400
+ }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
1401
+ kind: import("zod").ZodLiteral<"notify">;
1402
+ }, import("zod/v4/core").$strip>], "kind">>;
1403
+ note: import("zod").ZodOptional<import("zod").ZodString>;
1404
+ prompt: import("zod").ZodString;
1405
+ webchat: import("zod").ZodOptional<import("zod").ZodObject<{
1406
+ access: import("zod").ZodOptional<import("zod").ZodEnum<{
1407
+ google: "google";
1408
+ public: "public";
1409
+ }>>;
1410
+ requireName: import("zod").ZodOptional<import("zod").ZodBoolean>;
1411
+ antiBot: import("zod").ZodOptional<import("zod").ZodEnum<{
1412
+ pow: "pow";
1413
+ turnstile: "turnstile";
1414
+ }>>;
1415
+ turnstileSiteKey: import("zod").ZodOptional<import("zod").ZodString>;
1416
+ turnstileSecret: import("zod").ZodOptional<import("zod").ZodString>;
1417
+ googleClientId: import("zod").ZodOptional<import("zod").ZodString>;
1418
+ title: import("zod").ZodOptional<import("zod").ZodString>;
1419
+ greeting: import("zod").ZodOptional<import("zod").ZodString>;
1420
+ accent: import("zod").ZodOptional<import("zod").ZodString>;
1421
+ position: import("zod").ZodOptional<import("zod").ZodEnum<{
1422
+ "bottom-left": "bottom-left";
1423
+ "bottom-right": "bottom-right";
1424
+ "top-left": "top-left";
1425
+ "top-right": "top-right";
1426
+ }>>;
1427
+ dailyMessageMax: import("zod").ZodOptional<import("zod").ZodNumber>;
1428
+ conversationMessageMax: import("zod").ZodOptional<import("zod").ZodNumber>;
1429
+ sessionTtlMinutes: import("zod").ZodOptional<import("zod").ZodNumber>;
1430
+ }, import("zod/v4/core").$strip>>;
1431
+ issues: import("zod").ZodOptional<import("zod").ZodObject<{
1432
+ keyFromBrowsers: import("zod").ZodOptional<import("zod").ZodBoolean>;
1433
+ dailyReportMax: import("zod").ZodOptional<import("zod").ZodNumber>;
1434
+ escalateAfter: import("zod").ZodOptional<import("zod").ZodNumber>;
1435
+ antiBot: import("zod").ZodOptional<import("zod").ZodEnum<{
1436
+ pow: "pow";
1437
+ }>>;
1438
+ title: import("zod").ZodOptional<import("zod").ZodString>;
1439
+ prompt: import("zod").ZodOptional<import("zod").ZodString>;
1440
+ thanks: import("zod").ZodOptional<import("zod").ZodString>;
1441
+ askEmail: import("zod").ZodOptional<import("zod").ZodBoolean>;
1442
+ accent: import("zod").ZodOptional<import("zod").ZodString>;
1443
+ captureCrashes: import("zod").ZodOptional<import("zod").ZodBoolean>;
1444
+ }, import("zod/v4/core").$strip>>;
1445
+ allowedTools: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
1446
+ models: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodObject<{
1447
+ provider: import("zod").ZodString;
1448
+ model: import("zod").ZodString;
1449
+ effort: import("zod").ZodOptional<import("zod").ZodString>;
1450
+ thinking: import("zod").ZodOptional<import("zod").ZodBoolean>;
1451
+ fast: import("zod").ZodOptional<import("zod").ZodBoolean>;
1452
+ harness: import("zod").ZodOptional<import("zod").ZodEnum<{
1453
+ "claude-code": "claude-code";
1454
+ native: "native";
1455
+ }>>;
1456
+ }, import("zod/v4/core").$strip>>>;
1457
+ account: import("zod").ZodOptional<import("zod").ZodString>;
1458
+ actsAs: import("zod").ZodOptional<import("zod").ZodString>;
1459
+ senders: import("zod").ZodOptional<import("zod").ZodObject<{
1460
+ rules: import("zod").ZodArray<import("zod").ZodObject<{
1461
+ label: import("zod").ZodOptional<import("zod").ZodString>;
1462
+ ids: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
1463
+ groups: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
1464
+ actsAs: import("zod").ZodOptional<import("zod").ZodString>;
1465
+ requireApproval: import("zod").ZodOptional<import("zod").ZodBoolean>;
1466
+ }, import("zod/v4/core").$strip>>;
1467
+ others: import("zod").ZodEnum<{
1468
+ allow: "allow";
1469
+ hold: "hold";
1470
+ ignore: "ignore";
1471
+ }>;
1472
+ }, import("zod/v4/core").$strip>>;
1473
+ requireApproval: import("zod").ZodOptional<import("zod").ZodBoolean>;
1474
+ holdForSeconds: import("zod").ZodOptional<import("zod").ZodNumber>;
1475
+ chore: import("zod").ZodOptional<import("zod").ZodBoolean>;
1476
+ enabled: import("zod").ZodBoolean;
1477
+ }, import("zod/v4/core").$strip>;
1478
+ replaces: import("zod").ZodOptional<import("zod").ZodBoolean>;
1479
+ firstCheck: import("zod").ZodOptional<import("zod").ZodObject<{
1480
+ pass: import("zod").ZodBoolean;
1481
+ saw: import("zod").ZodString;
1482
+ at: import("zod").ZodNumber;
1483
+ }, import("zod/v4/core").$strip>>;
475
1484
  }, import("zod/v4/core").$strip>], "kind">;
476
1485
  title: import("zod").ZodString;
477
1486
  why: import("zod").ZodOptional<import("zod").ZodString>;