@intentic/sandbox-contract 1.316.0 → 1.318.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 (362) hide show
  1. package/README.md +12 -4
  2. package/dist/chores/chores.js +1 -1
  3. package/dist/chores/chores.js.map +1 -1
  4. package/dist/chores/probes.js +1 -1
  5. package/dist/chores/probes.js.map +1 -1
  6. package/dist/contracts/accounts.contract.d.ts +75 -0
  7. package/dist/contracts/accounts.contract.d.ts.map +1 -1
  8. package/dist/contracts/accounts.contract.js +10 -1
  9. package/dist/contracts/accounts.contract.js.map +1 -1
  10. package/dist/contracts/agent.contract.d.ts +616 -1
  11. package/dist/contracts/agent.contract.d.ts.map +1 -1
  12. package/dist/contracts/agents.contract.d.ts +1134 -29
  13. package/dist/contracts/agents.contract.d.ts.map +1 -1
  14. package/dist/contracts/agents.contract.js +12 -12
  15. package/dist/contracts/agents.contract.js.map +1 -1
  16. package/dist/contracts/capabilities.contract.d.ts +16 -0
  17. package/dist/contracts/capabilities.contract.d.ts.map +1 -1
  18. package/dist/contracts/capabilities.contract.js +10 -1
  19. package/dist/contracts/capabilities.contract.js.map +1 -1
  20. package/dist/contracts/ci.contract.d.ts +22 -4
  21. package/dist/contracts/ci.contract.d.ts.map +1 -1
  22. package/dist/contracts/device.contract.d.ts +39 -0
  23. package/dist/contracts/device.contract.d.ts.map +1 -1
  24. package/dist/contracts/device.contract.js +2 -0
  25. package/dist/contracts/device.contract.js.map +1 -1
  26. package/dist/contracts/endpoints.contract.d.ts +23 -0
  27. package/dist/contracts/endpoints.contract.d.ts.map +1 -1
  28. package/dist/contracts/endpoints.contract.js +6 -1
  29. package/dist/contracts/endpoints.contract.js.map +1 -1
  30. package/dist/contracts/extensions.contract.d.ts +12 -0
  31. package/dist/contracts/extensions.contract.d.ts.map +1 -1
  32. package/dist/contracts/needs.contract.d.ts +534 -0
  33. package/dist/contracts/needs.contract.d.ts.map +1 -0
  34. package/dist/contracts/needs.contract.js +80 -0
  35. package/dist/contracts/needs.contract.js.map +1 -0
  36. package/dist/contracts/providers.contract.d.ts +4 -0
  37. package/dist/contracts/providers.contract.d.ts.map +1 -1
  38. package/dist/contracts/runner.contract.d.ts +193 -2
  39. package/dist/contracts/runner.contract.d.ts.map +1 -1
  40. package/dist/contracts/secrets.contract.d.ts +53 -0
  41. package/dist/contracts/secrets.contract.d.ts.map +1 -1
  42. package/dist/contracts/secrets.contract.js +31 -2
  43. package/dist/contracts/secrets.contract.js.map +1 -1
  44. package/dist/contracts/sessions.contract.d.ts +83 -0
  45. package/dist/contracts/sessions.contract.d.ts.map +1 -1
  46. package/dist/contracts/settings.contract.d.ts +33 -2
  47. package/dist/contracts/settings.contract.d.ts.map +1 -1
  48. package/dist/contracts/settings.contract.js +20 -1
  49. package/dist/contracts/settings.contract.js.map +1 -1
  50. package/dist/contracts/system.contract.d.ts +177 -356
  51. package/dist/contracts/system.contract.d.ts.map +1 -1
  52. package/dist/contracts/system.contract.js +13 -12
  53. package/dist/contracts/system.contract.js.map +1 -1
  54. package/dist/contracts/translator.contract.d.ts +7 -0
  55. package/dist/contracts/translator.contract.d.ts.map +1 -1
  56. package/dist/contracts/translator.contract.js.map +1 -1
  57. package/dist/contracts/webext.contract.d.ts +38 -0
  58. package/dist/contracts/webext.contract.d.ts.map +1 -1
  59. package/dist/contracts/webext.contract.js +3 -0
  60. package/dist/contracts/webext.contract.js.map +1 -1
  61. package/dist/contracts/workspace.contract.d.ts +1 -80
  62. package/dist/contracts/workspace.contract.d.ts.map +1 -1
  63. package/dist/contracts/workspace.contract.js +0 -27
  64. package/dist/contracts/workspace.contract.js.map +1 -1
  65. package/dist/events/agent-events.d.ts +330 -0
  66. package/dist/events/agent-events.d.ts.map +1 -1
  67. package/dist/events/agent-events.js +13 -0
  68. package/dist/events/agent-events.js.map +1 -1
  69. package/dist/events/agent-words.d.ts +1 -0
  70. package/dist/events/agent-words.d.ts.map +1 -1
  71. package/dist/events/agent-words.js +3 -2
  72. package/dist/events/agent-words.js.map +1 -1
  73. package/dist/events/land-breakage.d.ts.map +1 -1
  74. package/dist/events/land-breakage.js.map +1 -1
  75. package/dist/events/need-wake.d.ts +17 -0
  76. package/dist/events/need-wake.d.ts.map +1 -0
  77. package/dist/events/need-wake.js +34 -0
  78. package/dist/events/need-wake.js.map +1 -0
  79. package/dist/events/resume.d.ts +6 -1
  80. package/dist/events/resume.d.ts.map +1 -1
  81. package/dist/events/resume.js +17 -10
  82. package/dist/events/resume.js.map +1 -1
  83. package/dist/events/sandbox-notice.d.ts +183 -0
  84. package/dist/events/sandbox-notice.d.ts.map +1 -0
  85. package/dist/events/sandbox-notice.js +56 -0
  86. package/dist/events/sandbox-notice.js.map +1 -0
  87. package/dist/events/system-events.d.ts +84 -0
  88. package/dist/events/system-events.d.ts.map +1 -1
  89. package/dist/events/system-events.js +2 -0
  90. package/dist/events/system-events.js.map +1 -1
  91. package/dist/events/transcript.d.ts +508 -0
  92. package/dist/events/transcript.d.ts.map +1 -1
  93. package/dist/events/transcript.js +12 -1
  94. package/dist/events/transcript.js.map +1 -1
  95. package/dist/ids/conversation-ids.d.ts +1 -3
  96. package/dist/ids/conversation-ids.d.ts.map +1 -1
  97. package/dist/ids/conversation-ids.js +1 -3
  98. package/dist/ids/conversation-ids.js.map +1 -1
  99. package/dist/ids/project-dir.d.ts +6 -0
  100. package/dist/ids/project-dir.d.ts.map +1 -0
  101. package/dist/ids/project-dir.js +43 -0
  102. package/dist/ids/project-dir.js.map +1 -0
  103. package/dist/index.d.ts +3474 -1163
  104. package/dist/index.d.ts.map +1 -1
  105. package/dist/index.js +13 -4
  106. package/dist/index.js.map +1 -1
  107. package/dist/models/agent-runtimes.d.ts.map +1 -1
  108. package/dist/models/agent-runtimes.js +2 -2
  109. package/dist/models/agent-runtimes.js.map +1 -1
  110. package/dist/models/model-roles.d.ts +1 -9
  111. package/dist/models/model-roles.d.ts.map +1 -1
  112. package/dist/models/model-roles.js +1 -9
  113. package/dist/models/model-roles.js.map +1 -1
  114. package/dist/policy/command-classes.d.ts.map +1 -1
  115. package/dist/policy/command-classes.js +52 -3
  116. package/dist/policy/command-classes.js.map +1 -1
  117. package/dist/policy/safety-policy.d.ts +7 -1
  118. package/dist/policy/safety-policy.d.ts.map +1 -1
  119. package/dist/policy/safety-policy.js +2 -0
  120. package/dist/policy/safety-policy.js.map +1 -1
  121. package/dist/policy/secret-hosts.d.ts +13 -0
  122. package/dist/policy/secret-hosts.d.ts.map +1 -0
  123. package/dist/policy/secret-hosts.js +41 -0
  124. package/dist/policy/secret-hosts.js.map +1 -0
  125. package/dist/policy/turned-away.d.ts.map +1 -1
  126. package/dist/policy/turned-away.js +1 -0
  127. package/dist/policy/turned-away.js.map +1 -1
  128. package/dist/protocol/raw-routes.d.ts +7 -5
  129. package/dist/protocol/raw-routes.d.ts.map +1 -1
  130. package/dist/protocol/raw-routes.js +4 -1
  131. package/dist/protocol/raw-routes.js.map +1 -1
  132. package/dist/protocol/routes.d.ts +2 -6
  133. package/dist/protocol/routes.d.ts.map +1 -1
  134. package/dist/protocol/routes.js +2 -3
  135. package/dist/protocol/routes.js.map +1 -1
  136. package/dist/protocol/stream-of.d.ts +6 -0
  137. package/dist/protocol/stream-of.d.ts.map +1 -0
  138. package/dist/protocol/stream-of.js +4 -0
  139. package/dist/protocol/stream-of.js.map +1 -0
  140. package/dist/schemas/activity.js +1 -1
  141. package/dist/schemas/activity.js.map +1 -1
  142. package/dist/schemas/agent.d.ts +19 -2
  143. package/dist/schemas/agent.d.ts.map +1 -1
  144. package/dist/schemas/agent.js +2 -1
  145. package/dist/schemas/agent.js.map +1 -1
  146. package/dist/schemas/agents.d.ts +119 -0
  147. package/dist/schemas/agents.d.ts.map +1 -1
  148. package/dist/schemas/agents.js +45 -0
  149. package/dist/schemas/agents.js.map +1 -1
  150. package/dist/schemas/automations.d.ts +37 -0
  151. package/dist/schemas/automations.d.ts.map +1 -1
  152. package/dist/schemas/capabilities.d.ts +21 -0
  153. package/dist/schemas/capabilities.d.ts.map +1 -1
  154. package/dist/schemas/capabilities.js +50 -4
  155. package/dist/schemas/capabilities.js.map +1 -1
  156. package/dist/schemas/ci.d.ts +69 -9
  157. package/dist/schemas/ci.d.ts.map +1 -1
  158. package/dist/schemas/ci.js +29 -8
  159. package/dist/schemas/ci.js.map +1 -1
  160. package/dist/schemas/context-trim.d.ts +5 -1
  161. package/dist/schemas/context-trim.d.ts.map +1 -1
  162. package/dist/schemas/context-trim.js +8 -4
  163. package/dist/schemas/context-trim.js.map +1 -1
  164. package/dist/schemas/devices.d.ts +91 -0
  165. package/dist/schemas/devices.d.ts.map +1 -1
  166. package/dist/schemas/devices.js +23 -1
  167. package/dist/schemas/devices.js.map +1 -1
  168. package/dist/schemas/environment.d.ts +48 -0
  169. package/dist/schemas/environment.d.ts.map +1 -1
  170. package/dist/schemas/environment.js +15 -0
  171. package/dist/schemas/environment.js.map +1 -1
  172. package/dist/schemas/extension-updates.d.ts +24 -0
  173. package/dist/schemas/extension-updates.d.ts.map +1 -1
  174. package/dist/schemas/git/git.d.ts +13 -0
  175. package/dist/schemas/git/git.d.ts.map +1 -1
  176. package/dist/schemas/git/git.js +11 -1
  177. package/dist/schemas/git/git.js.map +1 -1
  178. package/dist/schemas/hosts.d.ts +4 -0
  179. package/dist/schemas/hosts.d.ts.map +1 -1
  180. package/dist/schemas/hosts.js +3 -1
  181. package/dist/schemas/hosts.js.map +1 -1
  182. package/dist/schemas/keep-warm.d.ts +4 -0
  183. package/dist/schemas/keep-warm.d.ts.map +1 -1
  184. package/dist/schemas/keep-warm.js +15 -5
  185. package/dist/schemas/keep-warm.js.map +1 -1
  186. package/dist/schemas/loopback-catch.d.ts +33 -0
  187. package/dist/schemas/loopback-catch.d.ts.map +1 -0
  188. package/dist/schemas/loopback-catch.js +20 -0
  189. package/dist/schemas/loopback-catch.js.map +1 -0
  190. package/dist/schemas/maintenance.js +1 -1
  191. package/dist/schemas/maintenance.js.map +1 -1
  192. package/dist/schemas/needs.d.ts +664 -0
  193. package/dist/schemas/needs.d.ts.map +1 -0
  194. package/dist/schemas/needs.js +203 -0
  195. package/dist/schemas/needs.js.map +1 -0
  196. package/dist/schemas/personas.d.ts.map +1 -1
  197. package/dist/schemas/personas.js +6 -3
  198. package/dist/schemas/personas.js.map +1 -1
  199. package/dist/schemas/providers/provider-oauth.d.ts +87 -0
  200. package/dist/schemas/providers/provider-oauth.d.ts.map +1 -1
  201. package/dist/schemas/providers/provider-oauth.js +20 -0
  202. package/dist/schemas/providers/provider-oauth.js.map +1 -1
  203. package/dist/schemas/secrets.d.ts +84 -0
  204. package/dist/schemas/secrets.d.ts.map +1 -1
  205. package/dist/schemas/secrets.js +70 -0
  206. package/dist/schemas/secrets.js.map +1 -1
  207. package/dist/schemas/settings-history.d.ts +1 -1
  208. package/dist/schemas/settings-history.d.ts.map +1 -1
  209. package/dist/schemas/settings-history.js +1 -0
  210. package/dist/schemas/settings-history.js.map +1 -1
  211. package/dist/schemas/settings.d.ts +44 -2
  212. package/dist/schemas/settings.d.ts.map +1 -1
  213. package/dist/schemas/settings.js +30 -4
  214. package/dist/schemas/settings.js.map +1 -1
  215. package/dist/schemas/state-plan.d.ts +1 -0
  216. package/dist/schemas/state-plan.d.ts.map +1 -1
  217. package/dist/schemas/state-plan.js +3 -1
  218. package/dist/schemas/state-plan.js.map +1 -1
  219. package/dist/schemas/system.d.ts +20 -0
  220. package/dist/schemas/system.d.ts.map +1 -1
  221. package/dist/schemas/system.js +7 -0
  222. package/dist/schemas/system.js.map +1 -1
  223. package/dist/schemas/terminal.d.ts +2 -3
  224. package/dist/schemas/terminal.d.ts.map +1 -1
  225. package/dist/schemas/terminal.js +12 -4
  226. package/dist/schemas/terminal.js.map +1 -1
  227. package/dist/schemas/updates.d.ts +39 -0
  228. package/dist/schemas/updates.d.ts.map +1 -0
  229. package/dist/schemas/updates.js +31 -0
  230. package/dist/schemas/updates.js.map +1 -0
  231. package/dist/schemas/webext.d.ts +3 -0
  232. package/dist/schemas/webext.d.ts.map +1 -1
  233. package/dist/schemas/webext.js +1 -0
  234. package/dist/schemas/webext.js.map +1 -1
  235. package/dist/schemas/workflows.js +3 -3
  236. package/dist/schemas/workflows.js.map +1 -1
  237. package/dist/schemas/workspace/workspace-tree.d.ts +2 -0
  238. package/dist/schemas/workspace/workspace-tree.d.ts.map +1 -1
  239. package/dist/schemas/workspace/workspace-tree.js +4 -0
  240. package/dist/schemas/workspace/workspace-tree.js.map +1 -1
  241. package/dist/state/definition.d.ts +28 -4
  242. package/dist/state/definition.d.ts.map +1 -1
  243. package/dist/state/history-state.d.ts.map +1 -1
  244. package/dist/state/history-state.js +10 -0
  245. package/dist/state/history-state.js.map +1 -1
  246. package/dist/state/runtime-state.d.ts +0 -3
  247. package/dist/state/runtime-state.d.ts.map +1 -1
  248. package/dist/state/runtime-state.js +0 -1
  249. package/dist/state/runtime-state.js.map +1 -1
  250. package/dist/state/workspace-state.d.ts +4 -5
  251. package/dist/state/workspace-state.d.ts.map +1 -1
  252. package/dist/state/workspace-state.js +1 -6
  253. package/dist/state/workspace-state.js.map +1 -1
  254. package/dist/text/documents.d.ts +3 -0
  255. package/dist/text/documents.d.ts.map +1 -1
  256. package/dist/text/documents.js +14 -0
  257. package/dist/text/documents.js.map +1 -1
  258. package/dist/text/transcript-fold.d.ts +4 -3
  259. package/dist/text/transcript-fold.d.ts.map +1 -1
  260. package/dist/text/transcript-fold.js +140 -31
  261. package/dist/text/transcript-fold.js.map +1 -1
  262. package/dist/webext/index.d.ts +1 -0
  263. package/dist/webext/index.d.ts.map +1 -1
  264. package/dist/webext/index.js +1 -0
  265. package/dist/webext/index.js.map +1 -1
  266. package/package.json +5 -5
  267. package/src/chores/chores.ts +2 -2
  268. package/src/chores/probes.ts +1 -1
  269. package/src/contracts/accounts.contract.ts +12 -0
  270. package/src/contracts/agents.contract.ts +13 -13
  271. package/src/contracts/capabilities.contract.ts +14 -1
  272. package/src/contracts/device.contract.ts +5 -0
  273. package/src/contracts/endpoints.contract.ts +20 -4
  274. package/src/contracts/needs.contract.ts +103 -0
  275. package/src/contracts/secrets.contract.ts +45 -3
  276. package/src/contracts/settings.contract.ts +29 -0
  277. package/src/contracts/system.contract.ts +19 -14
  278. package/src/contracts/translator.contract.ts +2 -1
  279. package/src/contracts/webext.contract.ts +7 -1
  280. package/src/contracts/workspace.contract.ts +0 -37
  281. package/src/events/agent-events.ts +22 -1
  282. package/src/events/agent-words.ts +6 -2
  283. package/src/events/land-breakage.ts +3 -4
  284. package/src/events/need-wake.test.ts +55 -0
  285. package/src/events/need-wake.ts +71 -0
  286. package/src/events/resume.test.ts +13 -2
  287. package/src/events/resume.ts +25 -12
  288. package/src/events/sandbox-notice.ts +92 -0
  289. package/src/events/system-events.ts +7 -0
  290. package/src/events/transcript.ts +23 -1
  291. package/src/events/verify-nudge.ts +3 -3
  292. package/src/ids/conversation-ids.test.ts +2 -26
  293. package/src/ids/conversation-ids.ts +6 -12
  294. package/src/ids/project-dir.fixture.json +65 -0
  295. package/src/ids/project-dir.test.ts +60 -0
  296. package/src/ids/project-dir.ts +70 -0
  297. package/src/index.ts +18 -4
  298. package/src/models/agent-catalog.test.ts +7 -1
  299. package/src/models/agent-runtimes.ts +7 -5
  300. package/src/models/model-roles.ts +1 -9
  301. package/src/policy/command-classes.test.ts +39 -0
  302. package/src/policy/command-classes.ts +70 -3
  303. package/src/policy/safety-policy.ts +10 -0
  304. package/src/policy/secret-hosts.test.ts +89 -0
  305. package/src/policy/secret-hosts.ts +73 -0
  306. package/src/policy/turned-away.ts +1 -0
  307. package/src/protocol/raw-routes.ts +6 -3
  308. package/src/protocol/routes.test.ts +6 -6
  309. package/src/protocol/routes.ts +2 -9
  310. package/src/protocol/stream-of.ts +13 -0
  311. package/src/schemas/activity.ts +1 -1
  312. package/src/schemas/agent.ts +4 -1
  313. package/src/schemas/agents.ts +72 -5
  314. package/src/schemas/automations.ts +2 -2
  315. package/src/schemas/capabilities.ts +72 -7
  316. package/src/schemas/ci.ts +56 -11
  317. package/src/schemas/context-trim.ts +11 -6
  318. package/src/schemas/devices.ts +55 -2
  319. package/src/schemas/environment.ts +39 -0
  320. package/src/schemas/git/git.ts +20 -2
  321. package/src/schemas/hosts.ts +7 -1
  322. package/src/schemas/keep-warm.ts +19 -6
  323. package/src/schemas/loopback-catch.ts +45 -0
  324. package/src/schemas/maintenance.ts +1 -1
  325. package/src/schemas/needs.ts +301 -0
  326. package/src/schemas/personas.ts +8 -3
  327. package/src/schemas/providers/provider-oauth.ts +35 -0
  328. package/src/schemas/secrets.ts +93 -0
  329. package/src/schemas/settings-history.ts +2 -0
  330. package/src/schemas/settings.test.ts +19 -1
  331. package/src/schemas/settings.ts +66 -9
  332. package/src/schemas/speaker.ts +5 -5
  333. package/src/schemas/state-plan.ts +8 -1
  334. package/src/schemas/system.ts +15 -0
  335. package/src/schemas/terminal.ts +19 -6
  336. package/src/schemas/updates.ts +56 -0
  337. package/src/schemas/webext.ts +3 -0
  338. package/src/schemas/workflows.ts +5 -5
  339. package/src/schemas/workspace/workspace-tree.ts +7 -0
  340. package/src/state/fix-attempt-plan.test.ts +1 -1
  341. package/src/state/fix-stance.ts +1 -1
  342. package/src/state/history-state.ts +19 -0
  343. package/src/state/runtime-state.ts +0 -3
  344. package/src/state/workspace-state.ts +4 -6
  345. package/src/text/documents.test.ts +25 -1
  346. package/src/text/documents.ts +24 -0
  347. package/src/text/title.ts +1 -1
  348. package/src/text/transcript-fold.test.ts +218 -25
  349. package/src/text/transcript-fold.ts +170 -45
  350. package/src/webext/index.ts +1 -0
  351. package/dist/schemas/workspace/push-checks.d.ts +0 -222
  352. package/dist/schemas/workspace/push-checks.d.ts.map +0 -1
  353. package/dist/schemas/workspace/push-checks.js +0 -97
  354. package/dist/schemas/workspace/push-checks.js.map +0 -1
  355. package/dist/state/red-streak.d.ts +0 -7
  356. package/dist/state/red-streak.d.ts.map +0 -1
  357. package/dist/state/red-streak.js +0 -11
  358. package/dist/state/red-streak.js.map +0 -1
  359. package/src/schemas/workspace/push-checks.test.ts +0 -28
  360. package/src/schemas/workspace/push-checks.ts +0 -155
  361. package/src/state/red-streak.test.ts +0 -28
  362. package/src/state/red-streak.ts +0 -28
@@ -0,0 +1,534 @@
1
+ export declare const needsContract: {
2
+ ask: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<import("zod").ZodObject<{
3
+ ask: import("zod").ZodDiscriminatedUnion<[import("zod").ZodObject<{
4
+ kind: import("zod").ZodLiteral<"capability">;
5
+ entry: import("zod").ZodString;
6
+ target: import("zod").ZodOptional<import("zod").ZodString>;
7
+ set: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodString>>;
8
+ reconnect: import("zod").ZodOptional<import("zod").ZodBoolean>;
9
+ }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
10
+ kind: import("zod").ZodLiteral<"secret">;
11
+ name: import("zod").ZodString;
12
+ where: import("zod").ZodOptional<import("zod").ZodString>;
13
+ link: import("zod").ZodOptional<import("zod").ZodString>;
14
+ hint: import("zod").ZodOptional<import("zod").ZodString>;
15
+ replace: import("zod").ZodOptional<import("zod").ZodBoolean>;
16
+ }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
17
+ kind: import("zod").ZodLiteral<"grant">;
18
+ subject: import("zod").ZodEnum<{
19
+ capability: "capability";
20
+ folder: "folder";
21
+ shelf: "shelf";
22
+ site: "site";
23
+ }>;
24
+ what: import("zod").ZodString;
25
+ }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
26
+ kind: import("zod").ZodLiteral<"release">;
27
+ subject: import("zod").ZodString;
28
+ }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
29
+ kind: import("zod").ZodLiteral<"environment">;
30
+ tool: import("zod").ZodString;
31
+ steps: import("zod").ZodString;
32
+ }, import("zod/v4/core").$strip>], "kind">;
33
+ why: import("zod").ZodOptional<import("zod").ZodString>;
34
+ wait: import("zod").ZodOptional<import("zod").ZodNumber>;
35
+ }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
36
+ state: import("zod").ZodEnum<{
37
+ met: "met";
38
+ open: "open";
39
+ refused: "refused";
40
+ }>;
41
+ message: import("zod").ZodString;
42
+ need: import("zod").ZodOptional<import("zod").ZodObject<{
43
+ id: import("zod").ZodString;
44
+ conversationId: import("zod").ZodString;
45
+ subject: import("zod").ZodDiscriminatedUnion<[import("zod").ZodObject<{
46
+ kind: import("zod").ZodLiteral<"capability">;
47
+ entry: import("zod").ZodString;
48
+ name: import("zod").ZodString;
49
+ mode: import("zod").ZodEnum<{
50
+ change: "change";
51
+ connect: "connect";
52
+ reconnect: "reconnect";
53
+ }>;
54
+ instance: import("zod").ZodOptional<import("zod").ZodString>;
55
+ target: import("zod").ZodOptional<import("zod").ZodString>;
56
+ prefill: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodString>>;
57
+ changes: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodString>>;
58
+ reason: import("zod").ZodOptional<import("zod").ZodString>;
59
+ reported: import("zod").ZodOptional<import("zod").ZodBoolean>;
60
+ }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
61
+ kind: import("zod").ZodLiteral<"secret">;
62
+ name: import("zod").ZodString;
63
+ where: import("zod").ZodOptional<import("zod").ZodString>;
64
+ link: import("zod").ZodOptional<import("zod").ZodString>;
65
+ hint: import("zod").ZodOptional<import("zod").ZodString>;
66
+ replace: import("zod").ZodOptional<import("zod").ZodBoolean>;
67
+ }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
68
+ kind: import("zod").ZodLiteral<"grant">;
69
+ subject: import("zod").ZodEnum<{
70
+ capability: "capability";
71
+ folder: "folder";
72
+ shelf: "shelf";
73
+ site: "site";
74
+ }>;
75
+ what: import("zod").ZodString;
76
+ label: import("zod").ZodString;
77
+ persona: import("zod").ZodOptional<import("zod").ZodString>;
78
+ scope: import("zod").ZodOptional<import("zod").ZodEnum<{
79
+ conversation: "conversation";
80
+ persona: "persona";
81
+ }>>;
82
+ }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
83
+ kind: import("zod").ZodLiteral<"release">;
84
+ subject: import("zod").ZodString;
85
+ approvers: import("zod").ZodArray<import("zod").ZodString>;
86
+ }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
87
+ kind: import("zod").ZodLiteral<"environment">;
88
+ tool: import("zod").ZodString;
89
+ steps: import("zod").ZodString;
90
+ approvedHash: import("zod").ZodOptional<import("zod").ZodString>;
91
+ }, import("zod/v4/core").$strip>], "kind">;
92
+ title: import("zod").ZodString;
93
+ why: import("zod").ZodOptional<import("zod").ZodString>;
94
+ status: import("zod").ZodEnum<{
95
+ cancelled: "cancelled";
96
+ declined: "declined";
97
+ met: "met";
98
+ open: "open";
99
+ working: "working";
100
+ }>;
101
+ createdAt: import("zod").ZodNumber;
102
+ updatedAt: import("zod").ZodNumber;
103
+ answeredBy: import("zod").ZodOptional<import("zod").ZodString>;
104
+ outcome: import("zod").ZodOptional<import("zod").ZodString>;
105
+ told: import("zod").ZodOptional<import("zod").ZodEnum<{
106
+ call: "call";
107
+ queued: "queued";
108
+ turn: "turn";
109
+ }>>;
110
+ unattended: import("zod").ZodOptional<import("zod").ZodBoolean>;
111
+ }, import("zod/v4/core").$strip>>;
112
+ code: import("zod").ZodOptional<import("zod").ZodString>;
113
+ }, import("zod/v4/core").$strip>, Record<never, never>, import("../protocol/route-meta.js").RouteMeta & Record<never, never>>;
114
+ mine: import("@orpc/contract").ContractProcedureBuilderWithOutput<import("@orpc/contract").Schema<unknown, unknown>, import("zod").ZodObject<{
115
+ needs: import("zod").ZodArray<import("zod").ZodObject<{
116
+ id: import("zod").ZodString;
117
+ conversationId: import("zod").ZodString;
118
+ subject: import("zod").ZodDiscriminatedUnion<[import("zod").ZodObject<{
119
+ kind: import("zod").ZodLiteral<"capability">;
120
+ entry: import("zod").ZodString;
121
+ name: import("zod").ZodString;
122
+ mode: import("zod").ZodEnum<{
123
+ change: "change";
124
+ connect: "connect";
125
+ reconnect: "reconnect";
126
+ }>;
127
+ instance: import("zod").ZodOptional<import("zod").ZodString>;
128
+ target: import("zod").ZodOptional<import("zod").ZodString>;
129
+ prefill: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodString>>;
130
+ changes: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodString>>;
131
+ reason: import("zod").ZodOptional<import("zod").ZodString>;
132
+ reported: import("zod").ZodOptional<import("zod").ZodBoolean>;
133
+ }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
134
+ kind: import("zod").ZodLiteral<"secret">;
135
+ name: import("zod").ZodString;
136
+ where: import("zod").ZodOptional<import("zod").ZodString>;
137
+ link: import("zod").ZodOptional<import("zod").ZodString>;
138
+ hint: import("zod").ZodOptional<import("zod").ZodString>;
139
+ replace: import("zod").ZodOptional<import("zod").ZodBoolean>;
140
+ }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
141
+ kind: import("zod").ZodLiteral<"grant">;
142
+ subject: import("zod").ZodEnum<{
143
+ capability: "capability";
144
+ folder: "folder";
145
+ shelf: "shelf";
146
+ site: "site";
147
+ }>;
148
+ what: import("zod").ZodString;
149
+ label: import("zod").ZodString;
150
+ persona: import("zod").ZodOptional<import("zod").ZodString>;
151
+ scope: import("zod").ZodOptional<import("zod").ZodEnum<{
152
+ conversation: "conversation";
153
+ persona: "persona";
154
+ }>>;
155
+ }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
156
+ kind: import("zod").ZodLiteral<"release">;
157
+ subject: import("zod").ZodString;
158
+ approvers: import("zod").ZodArray<import("zod").ZodString>;
159
+ }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
160
+ kind: import("zod").ZodLiteral<"environment">;
161
+ tool: import("zod").ZodString;
162
+ steps: import("zod").ZodString;
163
+ approvedHash: import("zod").ZodOptional<import("zod").ZodString>;
164
+ }, import("zod/v4/core").$strip>], "kind">;
165
+ title: import("zod").ZodString;
166
+ why: import("zod").ZodOptional<import("zod").ZodString>;
167
+ status: import("zod").ZodEnum<{
168
+ cancelled: "cancelled";
169
+ declined: "declined";
170
+ met: "met";
171
+ open: "open";
172
+ working: "working";
173
+ }>;
174
+ createdAt: import("zod").ZodNumber;
175
+ updatedAt: import("zod").ZodNumber;
176
+ answeredBy: import("zod").ZodOptional<import("zod").ZodString>;
177
+ outcome: import("zod").ZodOptional<import("zod").ZodString>;
178
+ told: import("zod").ZodOptional<import("zod").ZodEnum<{
179
+ call: "call";
180
+ queued: "queued";
181
+ turn: "turn";
182
+ }>>;
183
+ unattended: import("zod").ZodOptional<import("zod").ZodBoolean>;
184
+ }, import("zod/v4/core").$strip>>;
185
+ }, import("zod/v4/core").$strip>, Record<never, never>, import("../protocol/route-meta.js").RouteMeta & Record<never, never>>;
186
+ withdraw: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<import("zod").ZodObject<{
187
+ id: import("zod").ZodString;
188
+ }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
189
+ id: import("zod").ZodString;
190
+ conversationId: import("zod").ZodString;
191
+ subject: import("zod").ZodDiscriminatedUnion<[import("zod").ZodObject<{
192
+ kind: import("zod").ZodLiteral<"capability">;
193
+ entry: import("zod").ZodString;
194
+ name: import("zod").ZodString;
195
+ mode: import("zod").ZodEnum<{
196
+ change: "change";
197
+ connect: "connect";
198
+ reconnect: "reconnect";
199
+ }>;
200
+ instance: import("zod").ZodOptional<import("zod").ZodString>;
201
+ target: import("zod").ZodOptional<import("zod").ZodString>;
202
+ prefill: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodString>>;
203
+ changes: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodString>>;
204
+ reason: import("zod").ZodOptional<import("zod").ZodString>;
205
+ reported: import("zod").ZodOptional<import("zod").ZodBoolean>;
206
+ }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
207
+ kind: import("zod").ZodLiteral<"secret">;
208
+ name: import("zod").ZodString;
209
+ where: import("zod").ZodOptional<import("zod").ZodString>;
210
+ link: import("zod").ZodOptional<import("zod").ZodString>;
211
+ hint: import("zod").ZodOptional<import("zod").ZodString>;
212
+ replace: import("zod").ZodOptional<import("zod").ZodBoolean>;
213
+ }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
214
+ kind: import("zod").ZodLiteral<"grant">;
215
+ subject: import("zod").ZodEnum<{
216
+ capability: "capability";
217
+ folder: "folder";
218
+ shelf: "shelf";
219
+ site: "site";
220
+ }>;
221
+ what: import("zod").ZodString;
222
+ label: import("zod").ZodString;
223
+ persona: import("zod").ZodOptional<import("zod").ZodString>;
224
+ scope: import("zod").ZodOptional<import("zod").ZodEnum<{
225
+ conversation: "conversation";
226
+ persona: "persona";
227
+ }>>;
228
+ }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
229
+ kind: import("zod").ZodLiteral<"release">;
230
+ subject: import("zod").ZodString;
231
+ approvers: import("zod").ZodArray<import("zod").ZodString>;
232
+ }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
233
+ kind: import("zod").ZodLiteral<"environment">;
234
+ tool: import("zod").ZodString;
235
+ steps: import("zod").ZodString;
236
+ approvedHash: import("zod").ZodOptional<import("zod").ZodString>;
237
+ }, import("zod/v4/core").$strip>], "kind">;
238
+ title: import("zod").ZodString;
239
+ why: import("zod").ZodOptional<import("zod").ZodString>;
240
+ status: import("zod").ZodEnum<{
241
+ cancelled: "cancelled";
242
+ declined: "declined";
243
+ met: "met";
244
+ open: "open";
245
+ working: "working";
246
+ }>;
247
+ createdAt: import("zod").ZodNumber;
248
+ updatedAt: import("zod").ZodNumber;
249
+ answeredBy: import("zod").ZodOptional<import("zod").ZodString>;
250
+ outcome: import("zod").ZodOptional<import("zod").ZodString>;
251
+ told: import("zod").ZodOptional<import("zod").ZodEnum<{
252
+ call: "call";
253
+ queued: "queued";
254
+ turn: "turn";
255
+ }>>;
256
+ unattended: import("zod").ZodOptional<import("zod").ZodBoolean>;
257
+ }, import("zod/v4/core").$strip>, Record<never, never>, import("../protocol/route-meta.js").RouteMeta & Record<never, never>>;
258
+ list: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<import("zod").ZodObject<{
259
+ conversationId: import("zod").ZodOptional<import("zod").ZodString>;
260
+ open: import("zod").ZodOptional<import("zod").ZodBoolean>;
261
+ }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
262
+ needs: import("zod").ZodArray<import("zod").ZodObject<{
263
+ id: import("zod").ZodString;
264
+ conversationId: import("zod").ZodString;
265
+ subject: import("zod").ZodDiscriminatedUnion<[import("zod").ZodObject<{
266
+ kind: import("zod").ZodLiteral<"capability">;
267
+ entry: import("zod").ZodString;
268
+ name: import("zod").ZodString;
269
+ mode: import("zod").ZodEnum<{
270
+ change: "change";
271
+ connect: "connect";
272
+ reconnect: "reconnect";
273
+ }>;
274
+ instance: import("zod").ZodOptional<import("zod").ZodString>;
275
+ target: import("zod").ZodOptional<import("zod").ZodString>;
276
+ prefill: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodString>>;
277
+ changes: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodString>>;
278
+ reason: import("zod").ZodOptional<import("zod").ZodString>;
279
+ reported: import("zod").ZodOptional<import("zod").ZodBoolean>;
280
+ }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
281
+ kind: import("zod").ZodLiteral<"secret">;
282
+ name: import("zod").ZodString;
283
+ where: import("zod").ZodOptional<import("zod").ZodString>;
284
+ link: import("zod").ZodOptional<import("zod").ZodString>;
285
+ hint: import("zod").ZodOptional<import("zod").ZodString>;
286
+ replace: import("zod").ZodOptional<import("zod").ZodBoolean>;
287
+ }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
288
+ kind: import("zod").ZodLiteral<"grant">;
289
+ subject: import("zod").ZodEnum<{
290
+ capability: "capability";
291
+ folder: "folder";
292
+ shelf: "shelf";
293
+ site: "site";
294
+ }>;
295
+ what: import("zod").ZodString;
296
+ label: import("zod").ZodString;
297
+ persona: import("zod").ZodOptional<import("zod").ZodString>;
298
+ scope: import("zod").ZodOptional<import("zod").ZodEnum<{
299
+ conversation: "conversation";
300
+ persona: "persona";
301
+ }>>;
302
+ }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
303
+ kind: import("zod").ZodLiteral<"release">;
304
+ subject: import("zod").ZodString;
305
+ approvers: import("zod").ZodArray<import("zod").ZodString>;
306
+ }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
307
+ kind: import("zod").ZodLiteral<"environment">;
308
+ tool: import("zod").ZodString;
309
+ steps: import("zod").ZodString;
310
+ approvedHash: import("zod").ZodOptional<import("zod").ZodString>;
311
+ }, import("zod/v4/core").$strip>], "kind">;
312
+ title: import("zod").ZodString;
313
+ why: import("zod").ZodOptional<import("zod").ZodString>;
314
+ status: import("zod").ZodEnum<{
315
+ cancelled: "cancelled";
316
+ declined: "declined";
317
+ met: "met";
318
+ open: "open";
319
+ working: "working";
320
+ }>;
321
+ createdAt: import("zod").ZodNumber;
322
+ updatedAt: import("zod").ZodNumber;
323
+ answeredBy: import("zod").ZodOptional<import("zod").ZodString>;
324
+ outcome: import("zod").ZodOptional<import("zod").ZodString>;
325
+ told: import("zod").ZodOptional<import("zod").ZodEnum<{
326
+ call: "call";
327
+ queued: "queued";
328
+ turn: "turn";
329
+ }>>;
330
+ unattended: import("zod").ZodOptional<import("zod").ZodBoolean>;
331
+ }, import("zod/v4/core").$strip>>;
332
+ }, import("zod/v4/core").$strip>, Record<never, never>, import("../protocol/route-meta.js").RouteMeta & Record<never, never>>;
333
+ answer: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<import("zod").ZodObject<{
334
+ id: import("zod").ZodString;
335
+ answer: import("zod").ZodDiscriminatedUnion<[import("zod").ZodObject<{
336
+ kind: import("zod").ZodLiteral<"decline">;
337
+ note: import("zod").ZodOptional<import("zod").ZodString>;
338
+ }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
339
+ kind: import("zod").ZodLiteral<"accept">;
340
+ }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
341
+ kind: import("zod").ZodLiteral<"apply">;
342
+ }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
343
+ kind: import("zod").ZodLiteral<"grant">;
344
+ scope: import("zod").ZodEnum<{
345
+ conversation: "conversation";
346
+ persona: "persona";
347
+ }>;
348
+ }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
349
+ kind: import("zod").ZodLiteral<"release">;
350
+ }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
351
+ kind: import("zod").ZodLiteral<"approve">;
352
+ }, import("zod/v4/core").$strip>], "kind">;
353
+ }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
354
+ id: import("zod").ZodString;
355
+ conversationId: import("zod").ZodString;
356
+ subject: import("zod").ZodDiscriminatedUnion<[import("zod").ZodObject<{
357
+ kind: import("zod").ZodLiteral<"capability">;
358
+ entry: import("zod").ZodString;
359
+ name: import("zod").ZodString;
360
+ mode: import("zod").ZodEnum<{
361
+ change: "change";
362
+ connect: "connect";
363
+ reconnect: "reconnect";
364
+ }>;
365
+ instance: import("zod").ZodOptional<import("zod").ZodString>;
366
+ target: import("zod").ZodOptional<import("zod").ZodString>;
367
+ prefill: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodString>>;
368
+ changes: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodString>>;
369
+ reason: import("zod").ZodOptional<import("zod").ZodString>;
370
+ reported: import("zod").ZodOptional<import("zod").ZodBoolean>;
371
+ }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
372
+ kind: import("zod").ZodLiteral<"secret">;
373
+ name: import("zod").ZodString;
374
+ where: import("zod").ZodOptional<import("zod").ZodString>;
375
+ link: import("zod").ZodOptional<import("zod").ZodString>;
376
+ hint: import("zod").ZodOptional<import("zod").ZodString>;
377
+ replace: import("zod").ZodOptional<import("zod").ZodBoolean>;
378
+ }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
379
+ kind: import("zod").ZodLiteral<"grant">;
380
+ subject: import("zod").ZodEnum<{
381
+ capability: "capability";
382
+ folder: "folder";
383
+ shelf: "shelf";
384
+ site: "site";
385
+ }>;
386
+ what: import("zod").ZodString;
387
+ label: import("zod").ZodString;
388
+ persona: import("zod").ZodOptional<import("zod").ZodString>;
389
+ scope: import("zod").ZodOptional<import("zod").ZodEnum<{
390
+ conversation: "conversation";
391
+ persona: "persona";
392
+ }>>;
393
+ }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
394
+ kind: import("zod").ZodLiteral<"release">;
395
+ subject: import("zod").ZodString;
396
+ approvers: import("zod").ZodArray<import("zod").ZodString>;
397
+ }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
398
+ kind: import("zod").ZodLiteral<"environment">;
399
+ tool: import("zod").ZodString;
400
+ steps: import("zod").ZodString;
401
+ approvedHash: import("zod").ZodOptional<import("zod").ZodString>;
402
+ }, import("zod/v4/core").$strip>], "kind">;
403
+ title: import("zod").ZodString;
404
+ why: import("zod").ZodOptional<import("zod").ZodString>;
405
+ status: import("zod").ZodEnum<{
406
+ cancelled: "cancelled";
407
+ declined: "declined";
408
+ met: "met";
409
+ open: "open";
410
+ working: "working";
411
+ }>;
412
+ createdAt: import("zod").ZodNumber;
413
+ updatedAt: import("zod").ZodNumber;
414
+ answeredBy: import("zod").ZodOptional<import("zod").ZodString>;
415
+ outcome: import("zod").ZodOptional<import("zod").ZodString>;
416
+ told: import("zod").ZodOptional<import("zod").ZodEnum<{
417
+ call: "call";
418
+ queued: "queued";
419
+ turn: "turn";
420
+ }>>;
421
+ unattended: import("zod").ZodOptional<import("zod").ZodBoolean>;
422
+ }, import("zod/v4/core").$strip>, Record<never, never>, import("../protocol/route-meta.js").RouteMeta & Record<never, never>>;
423
+ provideSecret: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<import("zod").ZodObject<{
424
+ id: import("zod").ZodString;
425
+ value: import("zod").ZodString;
426
+ }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
427
+ id: import("zod").ZodString;
428
+ conversationId: import("zod").ZodString;
429
+ subject: import("zod").ZodDiscriminatedUnion<[import("zod").ZodObject<{
430
+ kind: import("zod").ZodLiteral<"capability">;
431
+ entry: import("zod").ZodString;
432
+ name: import("zod").ZodString;
433
+ mode: import("zod").ZodEnum<{
434
+ change: "change";
435
+ connect: "connect";
436
+ reconnect: "reconnect";
437
+ }>;
438
+ instance: import("zod").ZodOptional<import("zod").ZodString>;
439
+ target: import("zod").ZodOptional<import("zod").ZodString>;
440
+ prefill: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodString>>;
441
+ changes: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodString>>;
442
+ reason: import("zod").ZodOptional<import("zod").ZodString>;
443
+ reported: import("zod").ZodOptional<import("zod").ZodBoolean>;
444
+ }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
445
+ kind: import("zod").ZodLiteral<"secret">;
446
+ name: import("zod").ZodString;
447
+ where: import("zod").ZodOptional<import("zod").ZodString>;
448
+ link: import("zod").ZodOptional<import("zod").ZodString>;
449
+ hint: import("zod").ZodOptional<import("zod").ZodString>;
450
+ replace: import("zod").ZodOptional<import("zod").ZodBoolean>;
451
+ }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
452
+ kind: import("zod").ZodLiteral<"grant">;
453
+ subject: import("zod").ZodEnum<{
454
+ capability: "capability";
455
+ folder: "folder";
456
+ shelf: "shelf";
457
+ site: "site";
458
+ }>;
459
+ what: import("zod").ZodString;
460
+ label: import("zod").ZodString;
461
+ persona: import("zod").ZodOptional<import("zod").ZodString>;
462
+ scope: import("zod").ZodOptional<import("zod").ZodEnum<{
463
+ conversation: "conversation";
464
+ persona: "persona";
465
+ }>>;
466
+ }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
467
+ kind: import("zod").ZodLiteral<"release">;
468
+ subject: import("zod").ZodString;
469
+ approvers: import("zod").ZodArray<import("zod").ZodString>;
470
+ }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
471
+ kind: import("zod").ZodLiteral<"environment">;
472
+ tool: import("zod").ZodString;
473
+ steps: import("zod").ZodString;
474
+ approvedHash: import("zod").ZodOptional<import("zod").ZodString>;
475
+ }, import("zod/v4/core").$strip>], "kind">;
476
+ title: import("zod").ZodString;
477
+ why: import("zod").ZodOptional<import("zod").ZodString>;
478
+ status: import("zod").ZodEnum<{
479
+ cancelled: "cancelled";
480
+ declined: "declined";
481
+ met: "met";
482
+ open: "open";
483
+ working: "working";
484
+ }>;
485
+ createdAt: import("zod").ZodNumber;
486
+ updatedAt: import("zod").ZodNumber;
487
+ answeredBy: import("zod").ZodOptional<import("zod").ZodString>;
488
+ outcome: import("zod").ZodOptional<import("zod").ZodString>;
489
+ told: import("zod").ZodOptional<import("zod").ZodEnum<{
490
+ call: "call";
491
+ queued: "queued";
492
+ turn: "turn";
493
+ }>>;
494
+ unattended: import("zod").ZodOptional<import("zod").ZodBoolean>;
495
+ }, import("zod/v4/core").$strip>, Record<never, never>, import("../protocol/route-meta.js").RouteMeta & Record<never, never>>;
496
+ grants: import("@orpc/contract").ContractProcedureBuilderWithOutput<import("@orpc/contract").Schema<unknown, unknown>, import("zod").ZodObject<{
497
+ conversations: import("zod").ZodArray<import("zod").ZodObject<{
498
+ conversationId: import("zod").ZodString;
499
+ capabilities: import("zod").ZodArray<import("zod").ZodString>;
500
+ folders: import("zod").ZodArray<import("zod").ZodString>;
501
+ shelves: import("zod").ZodArray<import("zod").ZodEnum<{
502
+ browser: "browser";
503
+ code: "code";
504
+ delegate: "delegate";
505
+ files: "files";
506
+ sandbox: "sandbox";
507
+ shell: "shell";
508
+ web: "web";
509
+ }>>;
510
+ installs: import("zod").ZodDefault<import("zod").ZodBoolean>;
511
+ by: import("zod").ZodOptional<import("zod").ZodString>;
512
+ updatedAt: import("zod").ZodOptional<import("zod").ZodNumber>;
513
+ releases: import("zod").ZodArray<import("zod").ZodObject<{
514
+ subject: import("zod").ZodString;
515
+ approvedBy: import("zod").ZodString;
516
+ at: import("zod").ZodNumber;
517
+ }, import("zod/v4/core").$strip>>;
518
+ }, import("zod/v4/core").$strip>>;
519
+ }, import("zod/v4/core").$strip>, Record<never, never>, import("../protocol/route-meta.js").RouteMeta & Record<never, never>>;
520
+ revokeGrant: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<import("zod").ZodObject<{
521
+ conversationId: import("zod").ZodString;
522
+ kind: import("zod").ZodEnum<{
523
+ capability: "capability";
524
+ folder: "folder";
525
+ install: "install";
526
+ release: "release";
527
+ shelf: "shelf";
528
+ }>;
529
+ what: import("zod").ZodString;
530
+ }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
531
+ ok: import("zod").ZodLiteral<true>;
532
+ }, import("zod/v4/core").$strip>, Record<never, never>, import("../protocol/route-meta.js").RouteMeta & Record<never, never>>;
533
+ };
534
+ //# sourceMappingURL=needs.contract.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"needs.contract.d.ts","sourceRoot":"","sources":["../../src/contracts/needs.contract.ts"],"names":[],"mappings":"AAsBA,eAAO,MAAM,aAAa;IACtB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAYH,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAQJ,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IASR,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IASJ,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAUN,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAYb,MAAM;;;;;;;;;;;;;;;;;;;;;;;;IASN,WAAW;;;;;;;;;;;;;CAUd,CAAC"}
@@ -0,0 +1,80 @@
1
+ import { procedure } from "../protocol/route-meta.js";
2
+ import { OkSchema } from "../schemas/shared.js";
3
+ import { GrantRevokeSchema, NeedAnswerInputSchema, NeedIdParamSchema, NeedRaisedSchema, NeedRaiseSchema, NeedSchema, NeedSecretInputSchema, NeedsListSchema, NeedsQuerySchema, StandingGrantsSchema, } from "../schemas/needs.js";
4
+ const agentDoor = procedure.meta({ agent: true, control: "never" });
5
+ const answerRoute = procedure.meta({ floor: "maintainer", control: "never" });
6
+ export const needsContract = {
7
+ ask: agentDoor
8
+ .route({
9
+ method: "POST",
10
+ path: "/needs/ask",
11
+ summary: "Ask a person for something the task needs",
12
+ description: "Raises a need in the conversation the calling shell belongs to and holds the call up to `wait` seconds for an answer. Answers `met` when it is usable now (or already was), `open` when it is still waiting, and `refused` when nothing was raised or a person declined. An open need's answer reaches the conversation by itself.",
13
+ })
14
+ .meta({ stream: true })
15
+ .input(NeedRaiseSchema)
16
+ .output(NeedRaisedSchema),
17
+ mine: agentDoor
18
+ .route({
19
+ method: "GET",
20
+ path: "/needs/mine",
21
+ summary: "This conversation's needs",
22
+ description: "Every need the calling shell's conversation raised, newest first, open or answered.",
23
+ })
24
+ .output(NeedsListSchema),
25
+ withdraw: agentDoor
26
+ .route({
27
+ method: "POST",
28
+ path: "/needs/{id}/withdraw",
29
+ summary: "Withdraw a need",
30
+ description: "Closes one of this conversation's open needs because the task no longer needs it. Its card says so.",
31
+ })
32
+ .input(NeedIdParamSchema)
33
+ .output(NeedSchema),
34
+ list: procedure
35
+ .route({
36
+ method: "GET",
37
+ path: "/needs",
38
+ summary: "What agents are waiting on people for",
39
+ description: "Needs across the sandbox, or one conversation's, newest first. Never a secret's value.",
40
+ })
41
+ .input(NeedsQuerySchema)
42
+ .output(NeedsListSchema),
43
+ answer: answerRoute
44
+ .route({
45
+ method: "POST",
46
+ path: "/needs/{id}/answer",
47
+ summary: "Answer a need",
48
+ description: "Declines it, or says yes the way its card offered: accept a connection being set up, apply a change, grant for this conversation or the persona, release a gated credential, approve an environment proposal. A release is refused from anyone the gate does not name.",
49
+ })
50
+ .input(NeedAnswerInputSchema)
51
+ .output(NeedSchema),
52
+ provideSecret: answerRoute
53
+ .route({
54
+ method: "POST",
55
+ path: "/needs/{id}/secret",
56
+ summary: "Give a secret a need asked for",
57
+ description: "Stores the value under the name the need asked for and meets it. The value goes to the sandbox's secret store and nowhere else: not the answer, not the transcript, not a log.",
58
+ })
59
+ .meta({ panel: false })
60
+ .input(NeedSecretInputSchema)
61
+ .output(NeedSchema),
62
+ grants: answerRoute
63
+ .route({
64
+ method: "GET",
65
+ path: "/needs/grants",
66
+ summary: "The yeses still standing",
67
+ description: "What people allowed conversations beyond their persona or area, and the gated credentials released to them, by conversation. Names only, never a value.",
68
+ })
69
+ .output(StandingGrantsSchema),
70
+ revokeGrant: answerRoute
71
+ .route({
72
+ method: "POST",
73
+ path: "/needs/grants/revoke",
74
+ summary: "Take a yes back",
75
+ description: "Takes back one grant or one release. The conversation's next turn runs without it; a turn already running keeps what it mounted.",
76
+ })
77
+ .input(GrantRevokeSchema)
78
+ .output(OkSchema),
79
+ };
80
+ //# sourceMappingURL=needs.contract.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"needs.contract.js","sourceRoot":"","sources":["../../src/contracts/needs.contract.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EACH,iBAAiB,EACjB,qBAAqB,EACrB,iBAAiB,EACjB,gBAAgB,EAChB,eAAe,EACf,UAAU,EACV,qBAAqB,EACrB,eAAe,EACf,gBAAgB,EAChB,oBAAoB,GACvB,MAAM,qBAAqB,CAAC;AAM7B,MAAM,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;AACpE,MAAM,WAAW,GAAG,SAAS,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;AAE9E,MAAM,CAAC,MAAM,aAAa,GAAG;IACzB,GAAG,EAAE,SAAS;SACT,KAAK,CAAC;QACH,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,YAAY;QAClB,OAAO,EAAE,2CAA2C;QACpD,WAAW,EACP,oUAAoU;KAC3U,CAAC;SAED,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;SACtB,KAAK,CAAC,eAAe,CAAC;SACtB,MAAM,CAAC,gBAAgB,CAAC;IAC7B,IAAI,EAAE,SAAS;SACV,KAAK,CAAC;QACH,MAAM,EAAE,KAAK;QACb,IAAI,EAAE,aAAa;QACnB,OAAO,EAAE,2BAA2B;QACpC,WAAW,EAAE,qFAAqF;KACrG,CAAC;SACD,MAAM,CAAC,eAAe,CAAC;IAC5B,QAAQ,EAAE,SAAS;SACd,KAAK,CAAC;QACH,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,sBAAsB;QAC5B,OAAO,EAAE,iBAAiB;QAC1B,WAAW,EAAE,qGAAqG;KACrH,CAAC;SACD,KAAK,CAAC,iBAAiB,CAAC;SACxB,MAAM,CAAC,UAAU,CAAC;IACvB,IAAI,EAAE,SAAS;SACV,KAAK,CAAC;QACH,MAAM,EAAE,KAAK;QACb,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,uCAAuC;QAChD,WAAW,EAAE,wFAAwF;KACxG,CAAC;SACD,KAAK,CAAC,gBAAgB,CAAC;SACvB,MAAM,CAAC,eAAe,CAAC;IAC5B,MAAM,EAAE,WAAW;SACd,KAAK,CAAC;QACH,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,oBAAoB;QAC1B,OAAO,EAAE,eAAe;QACxB,WAAW,EACP,wQAAwQ;KAC/Q,CAAC;SACD,KAAK,CAAC,qBAAqB,CAAC;SAC5B,MAAM,CAAC,UAAU,CAAC;IACvB,aAAa,EAAE,WAAW;SACrB,KAAK,CAAC;QACH,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,oBAAoB;QAC1B,OAAO,EAAE,gCAAgC;QACzC,WAAW,EACP,gLAAgL;KACvL,CAAC;SAED,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;SACtB,KAAK,CAAC,qBAAqB,CAAC;SAC5B,MAAM,CAAC,UAAU,CAAC;IACvB,MAAM,EAAE,WAAW;SACd,KAAK,CAAC;QACH,MAAM,EAAE,KAAK;QACb,IAAI,EAAE,eAAe;QACrB,OAAO,EAAE,0BAA0B;QACnC,WAAW,EACP,yJAAyJ;KAChK,CAAC;SACD,MAAM,CAAC,oBAAoB,CAAC;IACjC,WAAW,EAAE,WAAW;SACnB,KAAK,CAAC;QACH,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,sBAAsB;QAC5B,OAAO,EAAE,iBAAiB;QAC1B,WAAW,EACP,kIAAkI;KACzI,CAAC;SACD,KAAK,CAAC,iBAAiB,CAAC;SACxB,MAAM,CAAC,QAAQ,CAAC;CACxB,CAAC"}
@@ -71,6 +71,10 @@ export declare const providersContract: {
71
71
  reasoning: "reasoning";
72
72
  }>>>;
73
73
  contextWindow: z.ZodOptional<z.ZodNumber>;
74
+ helperOnly: z.ZodOptional<z.ZodEnum<{
75
+ "instant-tier": "instant-tier";
76
+ "no-tool-calls": "no-tool-calls";
77
+ }>>;
74
78
  availableAt: z.ZodOptional<z.ZodNumber>;
75
79
  }, z.core.$strip>>;
76
80
  default: z.ZodString;
@@ -1 +1 @@
1
- {"version":3,"file":"providers.contract.d.ts","sourceRoot":"","sources":["../../src/contracts/providers.contract.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAOxB,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;iBAoBlC,CAAC;AACH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAKxE,eAAO,MAAM,iBAAiB;IAC1B,IAAI;;;;;;;;;;;;;;;;;;;;;;;;IAWJ,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;CAWT,CAAC"}
1
+ {"version":3,"file":"providers.contract.d.ts","sourceRoot":"","sources":["../../src/contracts/providers.contract.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAOxB,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;iBAoBlC,CAAC;AACH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAKxE,eAAO,MAAM,iBAAiB;IAC1B,IAAI;;;;;;;;;;;;;;;;;;;;;;;;IAWJ,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAWT,CAAC"}