@opengeni/contracts 5.5.0 → 5.5.2-canary.40656248492001

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 (543) hide show
  1. package/dist/agent-authored-durable-text.d.ts +9 -9
  2. package/dist/agent-config.d.ts +148 -37
  3. package/dist/api-key-presets.d.ts +19 -0
  4. package/dist/app-action-catalog-types.d.ts +32 -0
  5. package/dist/app-action-catalog.gen.d.ts +2 -0
  6. package/dist/app-actions.d.ts +91 -0
  7. package/dist/app-actions.js +10130 -0
  8. package/dist/app-actions.js.map +1 -0
  9. package/dist/app-shot.d.ts +55 -0
  10. package/dist/artifact-catalog.d.ts +33 -0
  11. package/dist/artifacts.d.ts +166 -0
  12. package/dist/atlassian-native-retirement.d.ts +16 -0
  13. package/dist/atlassian-native-retirement.js +30 -0
  14. package/dist/atlassian-native-retirement.js.map +1 -0
  15. package/dist/atlassian.js +48 -23
  16. package/dist/automation-templates.d.ts +434 -0
  17. package/dist/automation-templates.js +31 -0
  18. package/dist/automation-templates.js.map +1 -0
  19. package/dist/billing-subscriptions.d.ts +61 -0
  20. package/dist/bots.d.ts +583 -0
  21. package/dist/bundled-skills.d.ts +58 -2
  22. package/dist/canonical-human-identities.js +3 -1
  23. package/dist/child-lifecycle-notice-protocol.d.ts +45 -0
  24. package/dist/chunk-2QKIEAGY.js +396 -0
  25. package/dist/chunk-2QKIEAGY.js.map +1 -0
  26. package/dist/chunk-2WOWEWXV.js +426 -0
  27. package/dist/chunk-2WOWEWXV.js.map +1 -0
  28. package/dist/chunk-2ZIHHL72.js +153 -0
  29. package/dist/chunk-2ZIHHL72.js.map +1 -0
  30. package/dist/chunk-32U6NKQQ.js +389 -0
  31. package/dist/chunk-32U6NKQQ.js.map +1 -0
  32. package/dist/chunk-4YDDHSO2.js +799 -0
  33. package/dist/chunk-4YDDHSO2.js.map +1 -0
  34. package/dist/chunk-56SNIMDO.js +9 -0
  35. package/dist/chunk-56SNIMDO.js.map +1 -0
  36. package/dist/chunk-5RWB6QVL.js +101 -0
  37. package/dist/chunk-5RWB6QVL.js.map +1 -0
  38. package/dist/chunk-5UGUOT3L.js +243 -0
  39. package/dist/chunk-5UGUOT3L.js.map +1 -0
  40. package/dist/chunk-6LAT33BH.js +130 -0
  41. package/dist/chunk-6LAT33BH.js.map +1 -0
  42. package/dist/chunk-7272KVWZ.js +60 -0
  43. package/dist/chunk-7272KVWZ.js.map +1 -0
  44. package/dist/chunk-72QC2GTL.js +36 -0
  45. package/dist/chunk-72QC2GTL.js.map +1 -0
  46. package/dist/chunk-7EQGGZBY.js +105 -0
  47. package/dist/chunk-7EQGGZBY.js.map +1 -0
  48. package/dist/chunk-A3LXWVYU.js +382 -0
  49. package/dist/chunk-A3LXWVYU.js.map +1 -0
  50. package/dist/chunk-AQYDZUJV.js +34 -0
  51. package/dist/chunk-AQYDZUJV.js.map +1 -0
  52. package/dist/chunk-BHCEVVUP.js +93 -0
  53. package/dist/chunk-BHCEVVUP.js.map +1 -0
  54. package/dist/chunk-BMUTAZX5.js +486 -0
  55. package/dist/chunk-BMUTAZX5.js.map +1 -0
  56. package/dist/chunk-DGG6IBBK.js +150 -0
  57. package/dist/chunk-DGG6IBBK.js.map +1 -0
  58. package/dist/{chunk-YBW5JSA3.js → chunk-FBCTUMHI.js} +123 -102
  59. package/dist/chunk-FBCTUMHI.js.map +1 -0
  60. package/dist/chunk-G2KJTFIC.js +97 -0
  61. package/dist/chunk-G2KJTFIC.js.map +1 -0
  62. package/dist/chunk-G4RKARXZ.js +1167 -0
  63. package/dist/chunk-G4RKARXZ.js.map +1 -0
  64. package/dist/chunk-H6UJJIUM.js +350 -0
  65. package/dist/chunk-H6UJJIUM.js.map +1 -0
  66. package/dist/chunk-JOTHDW4H.js +18 -0
  67. package/dist/chunk-JOTHDW4H.js.map +1 -0
  68. package/dist/chunk-L4GUEP7K.js +56480 -0
  69. package/dist/chunk-L4GUEP7K.js.map +1 -0
  70. package/dist/{chunk-SIOU2K4U.js → chunk-LJH2EYGT.js} +23 -23
  71. package/dist/chunk-MTJKSIGA.js +161 -0
  72. package/dist/chunk-MTJKSIGA.js.map +1 -0
  73. package/dist/chunk-MYHMB6GZ.js +202 -0
  74. package/dist/chunk-MYHMB6GZ.js.map +1 -0
  75. package/dist/chunk-PI5VIKJY.js +660 -0
  76. package/dist/chunk-PI5VIKJY.js.map +1 -0
  77. package/dist/{chunk-RIY7GYQS.js → chunk-PTSROVDG.js} +2 -2
  78. package/dist/chunk-PUIUXIOL.js +189 -0
  79. package/dist/chunk-PUIUXIOL.js.map +1 -0
  80. package/dist/chunk-R6VXJIMB.js +19 -0
  81. package/dist/chunk-R6VXJIMB.js.map +1 -0
  82. package/dist/chunk-RLJUNVAM.js +15 -0
  83. package/dist/chunk-RLJUNVAM.js.map +1 -0
  84. package/dist/chunk-RR6APCBK.js +213 -0
  85. package/dist/chunk-RR6APCBK.js.map +1 -0
  86. package/dist/{chunk-TXTQIYCV.js → chunk-RUQ4I6DO.js} +59 -13
  87. package/dist/chunk-RUQ4I6DO.js.map +1 -0
  88. package/dist/{chunk-WYBDERIY.js → chunk-RWEEUDHD.js} +53 -42
  89. package/dist/chunk-RWEEUDHD.js.map +1 -0
  90. package/dist/chunk-S7MSQQL6.js +158 -0
  91. package/dist/chunk-S7MSQQL6.js.map +1 -0
  92. package/dist/{chunk-5Q54VCCH.js → chunk-SHO4YO4B.js} +20 -36
  93. package/dist/chunk-SHO4YO4B.js.map +1 -0
  94. package/dist/{chunk-HHZSZYYF.js → chunk-T3HSWMA5.js} +20 -4
  95. package/dist/chunk-T3HSWMA5.js.map +1 -0
  96. package/dist/{chunk-YRKRZ6OF.js → chunk-TOOJIBJC.js} +2 -2
  97. package/dist/chunk-UCUOTRS6.js +431 -0
  98. package/dist/chunk-UCUOTRS6.js.map +1 -0
  99. package/dist/chunk-UH4K7GP7.js +424 -0
  100. package/dist/chunk-UH4K7GP7.js.map +1 -0
  101. package/dist/chunk-UIZWGPHV.js +120 -0
  102. package/dist/chunk-UIZWGPHV.js.map +1 -0
  103. package/dist/chunk-VLUKBV6Y.js +1170 -0
  104. package/dist/chunk-VLUKBV6Y.js.map +1 -0
  105. package/dist/chunk-W2QQ5Y6K.js +55 -0
  106. package/dist/chunk-W2QQ5Y6K.js.map +1 -0
  107. package/dist/{chunk-Y3KNXVTD.js → chunk-W3NBPR4E.js} +131 -31
  108. package/dist/chunk-W3NBPR4E.js.map +1 -0
  109. package/dist/{chunk-NRMCVHAU.js → chunk-WMGO4HJU.js} +11 -9
  110. package/dist/chunk-WMGO4HJU.js.map +1 -0
  111. package/dist/{chunk-MYBZRDTY.js → chunk-WQI7VNN4.js} +19 -9
  112. package/dist/chunk-WQI7VNN4.js.map +1 -0
  113. package/dist/{chunk-PX3VCKAU.js → chunk-WVCFSOUZ.js} +1 -1
  114. package/dist/{chunk-PX3VCKAU.js.map → chunk-WVCFSOUZ.js.map} +1 -1
  115. package/dist/chunk-XB6GQLBH.js +76 -0
  116. package/dist/chunk-XB6GQLBH.js.map +1 -0
  117. package/dist/{chunk-D2HKF2EF.js → chunk-XP5M3IKT.js} +2 -2
  118. package/dist/{chunk-O77VSFYZ.js → chunk-ZMPU5BWE.js} +12 -2
  119. package/dist/chunk-ZMPU5BWE.js.map +1 -0
  120. package/dist/{chunk-3SIZGL3O.js → chunk-ZYVEJFNU.js} +22 -18
  121. package/dist/chunk-ZYVEJFNU.js.map +1 -0
  122. package/dist/claude-provider-account-authority.d.ts +18 -0
  123. package/dist/claude-subscription-oauth.d.ts +25 -0
  124. package/dist/claude-subscription-usage.d.ts +95 -1
  125. package/dist/client-error-report.d.ts +154 -8
  126. package/dist/client-error-report.js +157 -2
  127. package/dist/client-error-report.js.map +1 -1
  128. package/dist/code-search.d.ts +1 -1
  129. package/dist/code-search.js.map +1 -1
  130. package/dist/codex-provider-account-authority.js +23 -12
  131. package/dist/codex-provider-account-authority.js.map +1 -1
  132. package/dist/company-profile.d.ts +144 -0
  133. package/dist/connect.d.ts +38 -0
  134. package/dist/connect.js +244 -164
  135. package/dist/connect.js.map +1 -1
  136. package/dist/connection-account-label.d.ts +2 -0
  137. package/dist/connection-account-label.js +34 -0
  138. package/dist/connection-account-label.js.map +1 -0
  139. package/dist/connection-authority.js +49 -24
  140. package/dist/connector-attachments.js +3 -1
  141. package/dist/connector-destinations.js +3 -1
  142. package/dist/connector-tool-permissions.d.ts +68 -4
  143. package/dist/credential-profiles.d.ts +166 -0
  144. package/dist/cua-desktop-tools.d.ts +19 -0
  145. package/dist/define-schema.d.ts +8 -0
  146. package/dist/desktop-app.d.ts +28 -0
  147. package/dist/direct-model-provider.d.ts +38 -0
  148. package/dist/document-artifact-commands.js +2 -2
  149. package/dist/document-artifact-query.js +2 -2
  150. package/dist/editable-artifact-binary.d.ts +7 -0
  151. package/dist/editable-artifact-causal-frontier.js +2 -2
  152. package/dist/editable-artifact-codec-registry.js +7 -7
  153. package/dist/editable-artifact-committed-transaction.js +4 -2
  154. package/dist/editable-artifact-live.js +8 -8
  155. package/dist/editable-artifact-serialized-commit.js +9 -9
  156. package/dist/editable-artifact-versions.d.ts +7 -1
  157. package/dist/editable-artifact-versions.js +1 -1
  158. package/dist/editable-artifacts.js +49 -43
  159. package/dist/event-preview.d.ts +22 -0
  160. package/dist/event-triggers.d.ts +1253 -0
  161. package/dist/event-triggers.js +148 -0
  162. package/dist/event-triggers.js.map +1 -0
  163. package/dist/external-identities.d.ts +34 -0
  164. package/dist/external-identities.js +4 -2
  165. package/dist/feedback.d.ts +181 -0
  166. package/dist/file-access.d.ts +23 -0
  167. package/dist/first-party-tool-authorization.d.ts +852 -0
  168. package/dist/github-repository-contracts.js +64 -43
  169. package/dist/github-repository-contracts.js.map +1 -1
  170. package/dist/google-drive-native-retirement.d.ts +12 -0
  171. package/dist/google-drive-native-retirement.js +20 -0
  172. package/dist/google-drive-native-retirement.js.map +1 -0
  173. package/dist/google-drive.d.ts +1 -1
  174. package/dist/google-drive.js +323 -239
  175. package/dist/google-drive.js.map +1 -1
  176. package/dist/host-mcp-bindings.js +250 -198
  177. package/dist/host-mcp-bindings.js.map +1 -1
  178. package/dist/index.d.ts +29072 -20593
  179. package/dist/index.js +2432 -366
  180. package/dist/inference-residency.d.ts +22 -0
  181. package/dist/insights-usage.d.ts +948 -0
  182. package/dist/insights-usage.js +608 -0
  183. package/dist/insights-usage.js.map +1 -0
  184. package/dist/integration-capability-id.d.ts +8 -0
  185. package/dist/interaction-action-deadline.d.ts +48 -0
  186. package/dist/interaction-driver-diagnostic.d.ts +28 -0
  187. package/dist/interaction.d.ts +2126 -881
  188. package/dist/knowledge-entries.d.ts +38 -0
  189. package/dist/knowledge-preparation.d.ts +4 -0
  190. package/dist/learning-refusal.d.ts +43 -0
  191. package/dist/learning-refusal.js +49 -0
  192. package/dist/learning-refusal.js.map +1 -0
  193. package/dist/managed-auth-session-sets.d.ts +1 -0
  194. package/dist/managed-auth-session-sets.js +207 -146
  195. package/dist/managed-auth-session-sets.js.map +1 -1
  196. package/dist/managed-sign-in-methods.d.ts +96 -0
  197. package/dist/managed-sign-in-methods.js +157 -35
  198. package/dist/managed-sign-in-methods.js.map +1 -1
  199. package/dist/mcp-structured-content.d.ts +25 -0
  200. package/dist/message-time-zone.d.ts +38 -0
  201. package/dist/message-time-zone.js +19 -0
  202. package/dist/message-time-zone.js.map +1 -0
  203. package/dist/modal-native-proof-v2.d.ts +587 -0
  204. package/dist/modal-native-proof-v2.js +39 -0
  205. package/dist/modal-native-proof-v2.js.map +1 -0
  206. package/dist/model-account-choice.d.ts +237 -0
  207. package/dist/model-account-settings.d.ts +422 -0
  208. package/dist/model-availability.d.ts +15 -0
  209. package/dist/model-connection-access.d.ts +13 -0
  210. package/dist/model-context-inspector.d.ts +8 -0
  211. package/dist/model-display.d.ts +43 -0
  212. package/dist/model-display.js +17 -0
  213. package/dist/model-display.js.map +1 -0
  214. package/dist/model-picker-order.js.map +1 -1
  215. package/dist/model-residency.d.ts +304 -0
  216. package/dist/organization-access.d.ts +416 -0
  217. package/dist/organization-access.js +40 -0
  218. package/dist/organization-access.js.map +1 -0
  219. package/dist/organization-integration-policy.d.ts +18 -0
  220. package/dist/organization-membership-lifecycle.d.ts +66 -0
  221. package/dist/organization-model-usage.d.ts +146 -0
  222. package/dist/organization-model-usage.js +87 -0
  223. package/dist/organization-model-usage.js.map +1 -0
  224. package/dist/organization-recovery.js +3 -1
  225. package/dist/organization-usage.d.ts +12 -0
  226. package/dist/passkey-only-account.d.ts +14 -0
  227. package/dist/passkey-only-account.js +13 -0
  228. package/dist/passkey-only-account.js.map +1 -0
  229. package/dist/permissions.d.ts +19 -0
  230. package/dist/personal-github.js +220 -148
  231. package/dist/personal-github.js.map +1 -1
  232. package/dist/personal-integration-setup.d.ts +81 -0
  233. package/dist/personal-integration-setup.js +42 -0
  234. package/dist/personal-integration-setup.js.map +1 -0
  235. package/dist/prepared-mcp-setup.d.ts +54 -0
  236. package/dist/prepared-mcp-setup.js +13 -0
  237. package/dist/prepared-mcp-setup.js.map +1 -0
  238. package/dist/presentation-artifact-commands.js +2 -2
  239. package/dist/presentation-artifact-query.js +2 -2
  240. package/dist/primitives.d.ts +18 -0
  241. package/dist/product-analytics.d.ts +27 -10
  242. package/dist/product-lifecycle-facts.d.ts +26 -3
  243. package/dist/prompt-cache-diagnostics.d.ts +92 -0
  244. package/dist/recordings.d.ts +1371 -0
  245. package/dist/remember.d.ts +98 -2
  246. package/dist/retained-output.d.ts +4 -2
  247. package/dist/sandbox-file-artifacts.d.ts +19 -2
  248. package/dist/sandbox-provider-command.d.ts +5 -44
  249. package/dist/sandbox-recovery.d.ts +139 -8
  250. package/dist/secret-generator.d.ts +44 -0
  251. package/dist/secret-mask-strings.d.ts +32 -0
  252. package/dist/secret-references.d.ts +90 -0
  253. package/dist/secret-resolution.d.ts +143 -0
  254. package/dist/secret-shape-masking.d.ts +52 -0
  255. package/dist/secret-shape-masking.js +19 -0
  256. package/dist/secret-shape-masking.js.map +1 -0
  257. package/dist/secret-totp.d.ts +41 -0
  258. package/dist/secret-use-approval-question.d.ts +11 -0
  259. package/dist/secret-use-approval-question.js +11 -0
  260. package/dist/secret-use-approval-question.js.map +1 -0
  261. package/dist/secret-use-approvals.d.ts +106 -0
  262. package/dist/secret-value-masking.d.ts +299 -0
  263. package/dist/secret-value-masking.js +62 -0
  264. package/dist/secret-value-masking.js.map +1 -0
  265. package/dist/secret-value.d.ts +19 -0
  266. package/dist/session-history-import.d.ts +444 -8
  267. package/dist/session-history.d.ts +111 -0
  268. package/dist/session-history.js +35 -0
  269. package/dist/session-history.js.map +1 -0
  270. package/dist/session-list-entries.d.ts +8 -0
  271. package/dist/session-list-entries.js +61 -0
  272. package/dist/session-list-entries.js.map +1 -0
  273. package/dist/session-mcp-projections.d.ts +13 -1
  274. package/dist/session-mcp-tool-permissions.d.ts +62 -0
  275. package/dist/session-target.d.ts +18 -0
  276. package/dist/session-titles.d.ts +8 -0
  277. package/dist/session-titles.js +5 -1
  278. package/dist/session-usage-limit-refusal.d.ts +34 -0
  279. package/dist/session-usage-limit-refusal.js +15 -0
  280. package/dist/session-usage-limit-refusal.js.map +1 -0
  281. package/dist/session-usage-limits.d.ts +127 -0
  282. package/dist/session-usage-limits.js +43 -0
  283. package/dist/session-usage-limits.js.map +1 -0
  284. package/dist/site-data.d.ts +286 -0
  285. package/dist/site-operations.d.ts +39 -0
  286. package/dist/site-publishing.d.ts +813 -0
  287. package/dist/site-session-http.d.ts +103 -4
  288. package/dist/site-session-http.js +27 -1
  289. package/dist/site-sql.d.ts +425 -0
  290. package/dist/skills.d.ts +38 -0
  291. package/dist/slack-bot-scopes.d.ts +9 -7
  292. package/dist/slack-bot-scopes.js +6 -3
  293. package/dist/slack-rest-mcp.d.ts +36 -0
  294. package/dist/slack-rest-mcp.js +25 -0
  295. package/dist/slack-rest-mcp.js.map +1 -0
  296. package/dist/spreadsheet-artifact-commands.d.ts +14 -1
  297. package/dist/spreadsheet-artifact-commands.js +9 -2
  298. package/dist/spreadsheet-artifact-query.d.ts +13 -6
  299. package/dist/spreadsheet-artifact-query.js +4 -3
  300. package/dist/subscription-account-actions.d.ts +83 -0
  301. package/dist/subscription-account-pools.d.ts +326 -0
  302. package/dist/subscription-personal-authority-v2.d.ts +28 -0
  303. package/dist/subscription-personal-authority-v2.js +13 -0
  304. package/dist/subscription-personal-authority-v2.js.map +1 -0
  305. package/dist/subscription-plans.d.ts +38 -0
  306. package/dist/subscription-usage-pool.d.ts +89 -0
  307. package/dist/tool-action-review.d.ts +141 -0
  308. package/dist/tool-catalog.d.ts +479 -0
  309. package/dist/tool-policy.d.ts +5 -0
  310. package/dist/tool-review-presentation.d.ts +29 -0
  311. package/dist/tool-review-presentation.js +21 -0
  312. package/dist/tool-review-presentation.js.map +1 -0
  313. package/dist/turn-serving-policy.d.ts +223 -0
  314. package/dist/usage-allowances.d.ts +30 -0
  315. package/dist/usage-allowances.js +5 -1
  316. package/dist/values.d.ts +11 -0
  317. package/dist/values.js +19 -0
  318. package/dist/values.js.map +1 -0
  319. package/dist/vault-provider-wire.d.ts +907 -0
  320. package/dist/vault-provider-wire.js +74 -0
  321. package/dist/vault-provider-wire.js.map +1 -0
  322. package/dist/vaults.d.ts +2185 -0
  323. package/dist/video-generation.d.ts +75 -0
  324. package/dist/video-generation.js +8 -1
  325. package/dist/workspace-control-event.d.ts +18 -0
  326. package/dist/workspace-control-event.js +18 -0
  327. package/dist/workspace-control-event.js.map +1 -0
  328. package/dist/workspace-governance-context.d.ts +18 -0
  329. package/dist/workspace-integration-wire.d.ts +1 -1
  330. package/dist/workspace-integration-wire.js +1 -1
  331. package/dist/workspace-integrations.d.ts +212 -12
  332. package/dist/xai-provider-account-authority.js +3 -1
  333. package/package.json +121 -4
  334. package/src/agent-authored-durable-text.ts +14 -11
  335. package/src/agent-config.ts +382 -203
  336. package/src/agent-instruction-changes.ts +94 -74
  337. package/src/agent-learning.ts +94 -66
  338. package/src/agent-topology.ts +58 -52
  339. package/src/api-key-presets.ts +28 -0
  340. package/src/app-action-catalog-types.ts +32 -0
  341. package/src/app-action-catalog.gen.ts +9905 -0
  342. package/src/app-actions.ts +365 -0
  343. package/src/app-shot.ts +176 -0
  344. package/src/artifact-catalog.ts +81 -46
  345. package/src/artifacts.ts +360 -227
  346. package/src/atlassian-native-retirement.ts +33 -0
  347. package/src/atlassian.ts +136 -108
  348. package/src/automation-templates.ts +201 -0
  349. package/src/billing-subscriptions.ts +48 -0
  350. package/src/bots.ts +238 -0
  351. package/src/bundled-skills.ts +79 -22
  352. package/src/canonical-human-identities.ts +65 -62
  353. package/src/child-lifecycle-notice-protocol.gen.json +1310 -0
  354. package/src/child-lifecycle-notice-protocol.ts +224 -0
  355. package/src/claude-provider-account-authority.ts +12 -0
  356. package/src/claude-subscription-oauth.ts +61 -19
  357. package/src/claude-subscription-usage.ts +64 -35
  358. package/src/client-error-report.ts +344 -9
  359. package/src/code-search.ts +1 -1
  360. package/src/codex-provider-account-authority.ts +22 -16
  361. package/src/company-brain-governed-writes.ts +265 -244
  362. package/src/company-brain.ts +165 -154
  363. package/src/company-profile.ts +362 -297
  364. package/src/connect.ts +222 -173
  365. package/src/connection-account-label.ts +45 -0
  366. package/src/connection-authority.ts +172 -152
  367. package/src/connector-attachments.ts +139 -123
  368. package/src/connector-destinations.ts +48 -43
  369. package/src/connector-tool-permissions.ts +104 -46
  370. package/src/credential-profiles.ts +161 -0
  371. package/src/cua-desktop-tools.gen.json +6722 -0
  372. package/src/cua-desktop-tools.linux.gen.json +6798 -0
  373. package/src/cua-desktop-tools.ts +42 -0
  374. package/src/cua-desktop-tools.windows.gen.json +6739 -0
  375. package/src/define-schema.ts +10 -0
  376. package/src/desktop-app.ts +50 -0
  377. package/src/direct-model-provider.ts +112 -0
  378. package/src/editable-artifact-binary.ts +29 -8
  379. package/src/editable-artifact-committed-transaction.ts +19 -18
  380. package/src/editable-artifact-serialized-commit.ts +8 -2
  381. package/src/editable-artifact-versions.ts +7 -1
  382. package/src/event-preview.ts +53 -3
  383. package/src/event-triggers.ts +891 -0
  384. package/src/external-identities.ts +239 -195
  385. package/src/feedback.ts +125 -30
  386. package/src/file-access.ts +26 -0
  387. package/src/first-party-tool-authorization.ts +383 -0
  388. package/src/github-repository-contracts.ts +78 -64
  389. package/src/google-drive-native-retirement.ts +20 -0
  390. package/src/google-drive.ts +286 -234
  391. package/src/governed-learning-activation.ts +159 -137
  392. package/src/governed-learning-evaluator.ts +141 -133
  393. package/src/host-mcp-bindings.ts +244 -221
  394. package/src/image-generation.ts +105 -95
  395. package/src/index.ts +13928 -9899
  396. package/src/inference-residency.ts +36 -0
  397. package/src/insights-usage.ts +774 -0
  398. package/src/integration-capability-id.ts +16 -0
  399. package/src/interaction-action-deadline.ts +143 -0
  400. package/src/interaction-driver-diagnostic.ts +89 -0
  401. package/src/interaction.ts +3527 -2427
  402. package/src/knowledge-entries.ts +386 -299
  403. package/src/knowledge-preparation.ts +49 -41
  404. package/src/knowledge.ts +242 -213
  405. package/src/learning-refusal.ts +90 -0
  406. package/src/managed-auth-session-sets.ts +180 -133
  407. package/src/managed-sign-in-methods.ts +156 -34
  408. package/src/mcp-oauth.ts +58 -46
  409. package/src/mcp-receipts.ts +199 -194
  410. package/src/mcp-structured-content.ts +81 -0
  411. package/src/memory-slack-delivery.ts +172 -142
  412. package/src/message-time-zone.ts +109 -0
  413. package/src/modal-native-proof-v2.ts +430 -0
  414. package/src/model-account-choice.ts +178 -0
  415. package/src/model-account-settings.ts +210 -0
  416. package/src/model-availability.ts +22 -0
  417. package/src/model-connection-access.ts +62 -14
  418. package/src/model-context-inspector.ts +130 -109
  419. package/src/model-display.ts +221 -0
  420. package/src/model-picker-order.ts +1 -1
  421. package/src/model-residency.ts +535 -0
  422. package/src/organization-access.ts +216 -0
  423. package/src/organization-integration-policy.ts +47 -28
  424. package/src/organization-membership-lifecycle.ts +558 -384
  425. package/src/organization-model-usage.ts +82 -0
  426. package/src/organization-recovery.ts +148 -135
  427. package/src/organization-usage.ts +84 -52
  428. package/src/passkey-only-account.ts +29 -0
  429. package/src/permissions.ts +94 -52
  430. package/src/personal-github.ts +211 -171
  431. package/src/personal-integration-setup.ts +150 -0
  432. package/src/preference-registry.ts +319 -263
  433. package/src/prepared-mcp-setup.ts +190 -0
  434. package/src/primitives.ts +22 -0
  435. package/src/product-analytics.ts +40 -15
  436. package/src/product-lifecycle-facts.ts +50 -20
  437. package/src/prompt-cache-diagnostics.ts +212 -0
  438. package/src/recordings.ts +1153 -0
  439. package/src/remember.ts +184 -172
  440. package/src/retained-output.ts +181 -168
  441. package/src/sandbox-file-artifacts.ts +78 -57
  442. package/src/sandbox-provider-command.ts +55 -72
  443. package/src/sandbox-recovery.ts +163 -77
  444. package/src/scoped-knowledge.ts +62 -43
  445. package/src/secret-generator.ts +156 -0
  446. package/src/secret-mask-strings.ts +175 -0
  447. package/src/secret-references.ts +414 -0
  448. package/src/secret-resolution.ts +322 -0
  449. package/src/secret-shape-masking.ts +573 -0
  450. package/src/secret-totp.ts +188 -0
  451. package/src/secret-use-approval-question.ts +22 -0
  452. package/src/secret-use-approvals.ts +219 -0
  453. package/src/secret-value-masking.ts +1283 -0
  454. package/src/secret-value.ts +22 -0
  455. package/src/session-goal-reports.ts +55 -49
  456. package/src/session-history-import.ts +84 -68
  457. package/src/session-history.ts +197 -0
  458. package/src/session-list-entries.ts +106 -0
  459. package/src/session-mcp-projections.ts +21 -3
  460. package/src/session-mcp-tool-permissions.ts +109 -0
  461. package/src/session-message-search.ts +46 -38
  462. package/src/session-target.ts +58 -0
  463. package/src/session-titles.ts +40 -4
  464. package/src/session-topology-primitives.ts +20 -12
  465. package/src/session-usage-limit-refusal.ts +101 -0
  466. package/src/session-usage-limits.ts +169 -0
  467. package/src/signup-attribution.ts +20 -15
  468. package/src/site-data.ts +337 -0
  469. package/src/site-operations.ts +154 -0
  470. package/src/site-publishing.ts +903 -0
  471. package/src/site-session-http.ts +344 -16
  472. package/src/site-sql.ts +1120 -0
  473. package/src/skill-use.ts +18 -17
  474. package/src/skills.ts +105 -50
  475. package/src/slack-bot-scopes.ts +18 -35
  476. package/src/slack-rest-mcp.ts +222 -0
  477. package/src/slack-task-policy.ts +97 -73
  478. package/src/spreadsheet-artifact-commands.ts +74 -13
  479. package/src/spreadsheet-artifact-query.ts +188 -50
  480. package/src/subscription-account-actions.ts +103 -0
  481. package/src/subscription-account-pools.ts +74 -0
  482. package/src/subscription-personal-authority-v2.ts +69 -0
  483. package/src/subscription-plans.ts +51 -0
  484. package/src/subscription-usage-pool.ts +44 -0
  485. package/src/task-notes.ts +70 -68
  486. package/src/tool-action-review.ts +271 -0
  487. package/src/tool-catalog.ts +694 -379
  488. package/src/tool-policy.ts +82 -0
  489. package/src/tool-result-spill.ts +13 -9
  490. package/src/tool-review-presentation.ts +643 -0
  491. package/src/turn-serving-policy.ts +167 -0
  492. package/src/usage-allowances.ts +212 -136
  493. package/src/values.ts +25 -0
  494. package/src/vault-provider-wire.ts +580 -0
  495. package/src/vaults.ts +1296 -0
  496. package/src/video-generation.ts +430 -361
  497. package/src/work-claims.ts +183 -166
  498. package/src/workspace-control-event.ts +134 -0
  499. package/src/workspace-governance-context.ts +63 -0
  500. package/src/workspace-instruction-policies.ts +346 -279
  501. package/src/workspace-integration-wire.ts +10 -0
  502. package/src/workspace-integrations.ts +488 -398
  503. package/src/workspace-learning-administration.ts +58 -44
  504. package/src/workspace-learning-policy.ts +126 -99
  505. package/src/workspace-state.ts +239 -220
  506. package/src/xai-provider-account-authority.ts +23 -17
  507. package/dist/chunk-3SIZGL3O.js.map +0 -1
  508. package/dist/chunk-566IFOVP.js +0 -26133
  509. package/dist/chunk-566IFOVP.js.map +0 -1
  510. package/dist/chunk-5IXYF6XN.js +0 -728
  511. package/dist/chunk-5IXYF6XN.js.map +0 -1
  512. package/dist/chunk-5Q54VCCH.js.map +0 -1
  513. package/dist/chunk-BCS7WHCK.js +0 -139
  514. package/dist/chunk-BCS7WHCK.js.map +0 -1
  515. package/dist/chunk-EK7NDGFR.js +0 -128
  516. package/dist/chunk-EK7NDGFR.js.map +0 -1
  517. package/dist/chunk-GRG7PHWQ.js +0 -25
  518. package/dist/chunk-GRG7PHWQ.js.map +0 -1
  519. package/dist/chunk-HHZSZYYF.js.map +0 -1
  520. package/dist/chunk-ICDZGUX2.js +0 -186
  521. package/dist/chunk-ICDZGUX2.js.map +0 -1
  522. package/dist/chunk-JUFK3T4Q.js +0 -80
  523. package/dist/chunk-JUFK3T4Q.js.map +0 -1
  524. package/dist/chunk-MYBZRDTY.js.map +0 -1
  525. package/dist/chunk-NRMCVHAU.js.map +0 -1
  526. package/dist/chunk-O77VSFYZ.js.map +0 -1
  527. package/dist/chunk-P3HLDT77.js +0 -59
  528. package/dist/chunk-P3HLDT77.js.map +0 -1
  529. package/dist/chunk-TXTQIYCV.js.map +0 -1
  530. package/dist/chunk-WYBDERIY.js.map +0 -1
  531. package/dist/chunk-Y3KNXVTD.js.map +0 -1
  532. package/dist/chunk-YBW5JSA3.js.map +0 -1
  533. package/dist/chunk-YRXAWWCU.js +0 -45
  534. package/dist/chunk-YRXAWWCU.js.map +0 -1
  535. package/dist/chunk-YWMOIZ6A.js +0 -185
  536. package/dist/chunk-YWMOIZ6A.js.map +0 -1
  537. package/dist/site-request-headers.test.d.ts +0 -1
  538. package/dist/transcription-recordings.d.ts +0 -300
  539. package/src/transcription-recordings.ts +0 -169
  540. /package/dist/{chunk-SIOU2K4U.js.map → chunk-LJH2EYGT.js.map} +0 -0
  541. /package/dist/{chunk-RIY7GYQS.js.map → chunk-PTSROVDG.js.map} +0 -0
  542. /package/dist/{chunk-YRKRZ6OF.js.map → chunk-TOOJIBJC.js.map} +0 -0
  543. /package/dist/{chunk-D2HKF2EF.js.map → chunk-XP5M3IKT.js.map} +0 -0
@@ -1,5 +1,15 @@
1
+ import * as primitives from "./primitives";
2
+ import { defineSchema } from "./define-schema";
3
+ import { secretValue } from "./secret-value";
1
4
  import { z } from "zod";
2
- import type { TurnInitiator, TurnInitiatorContext } from "./index";
5
+ import {
6
+ NotificationFact,
7
+ NotificationLink,
8
+ NotificationUndeliveredReason,
9
+ NotificationUrgency,
10
+ type TurnInitiator,
11
+ type TurnInitiatorContext,
12
+ } from "./index";
3
13
 
4
14
  import {
5
15
  OPENGENI_WEBHOOK_TEST_EVENT_TYPE,
@@ -16,176 +26,205 @@ export * from "./workspace-integration-wire";
16
26
  /**
17
27
  * Workspace integration primitives for embedding hosts: signed outbound
18
28
  * webhooks and one signed HTTP credential provider per workspace. Both
19
- * directions share one signature scheme so a host verifies every OpenGeni
29
+ * directions share one signature scheme so a host verifies every Opengeni
20
30
  * request with the same helper.
21
31
  */
22
32
 
23
- export const WorkspaceWebhookEventType = z.enum(WORKSPACE_WEBHOOK_EVENT_TYPES);
33
+ export const WorkspaceWebhookEventType = /* @__PURE__ */ defineSchema(() =>
34
+ z.enum(WORKSPACE_WEBHOOK_EVENT_TYPES),
35
+ );
24
36
  export type WorkspaceWebhookEventType = z.infer<typeof WorkspaceWebhookEventType>;
25
37
 
26
38
  export const WORKSPACE_WEBHOOK_LIMIT_PER_WORKSPACE = 10;
27
39
  export const ORGANIZATION_WEBHOOK_LIMIT_PER_ORGANIZATION = 10;
28
40
 
29
41
  /** Scoping convenience, never authority. Null means all non-personal workspaces. */
30
- export const IntegrationWorkspaceFilter = z
31
- .object({
32
- externalSource: z
33
- .string()
34
- .min(1)
35
- .max(200)
36
- .refine(
37
- (value) =>
38
- !value.includes("\0") &&
39
- !/[\uD800-\uDFFF]/u.test(value) &&
40
- new TextEncoder().encode(value).byteLength <= 200,
41
- "External source must be valid PostgreSQL text of at most 200 UTF-8 bytes",
42
- ),
43
- })
44
- .strict();
42
+ export const IntegrationWorkspaceFilter = /* @__PURE__ */ defineSchema(() =>
43
+ z
44
+ .object({
45
+ externalSource: z
46
+ .string()
47
+ .min(1)
48
+ .max(200)
49
+ .refine(
50
+ (value) =>
51
+ !value.includes("\0") &&
52
+ !/[\uD800-\uDFFF]/u.test(value) &&
53
+ new TextEncoder().encode(value).byteLength <= 200,
54
+ "External source must be valid PostgreSQL text of at most 200 UTF-8 bytes",
55
+ ),
56
+ })
57
+ .strict(),
58
+ );
45
59
  export type IntegrationWorkspaceFilter = z.infer<typeof IntegrationWorkspaceFilter>;
46
60
 
47
61
  /** Informational attribution only. It never supplies or changes authorization. */
48
- export const InitiatingHuman = z.object({
49
- subjectId: z.string(),
50
- externalIdentity: z.object({ source: z.string(), externalId: z.string() }).nullable(),
51
- });
62
+ export const InitiatingHuman = /* @__PURE__ */ defineSchema(() =>
63
+ z.object({
64
+ subjectId: primitives.string,
65
+ externalIdentity: z
66
+ .object({ source: primitives.string, externalId: primitives.string })
67
+ .nullable(),
68
+ }),
69
+ );
52
70
  export type InitiatingHuman = z.infer<typeof InitiatingHuman>;
53
71
 
54
- const HttpUrl = z
55
- .string()
56
- .trim()
57
- .min(8)
58
- .max(2048)
59
- .url()
60
- .refine((value) => /^https?:\/\//i.test(value), "URL must use http or https");
61
-
62
- const EventTypes = z
63
- .array(WorkspaceWebhookEventType)
64
- .min(1)
65
- .max(WORKSPACE_WEBHOOK_EVENT_TYPES.length)
66
- .transform((types) => [...new Set(types)]);
67
-
68
- export const WorkspaceWebhook = z
69
- .object({
70
- id: z.string().uuid(),
71
- workspaceId: z.string().uuid(),
72
- url: z.string(),
73
- eventTypes: z.array(WorkspaceWebhookEventType),
74
- enabled: z.boolean(),
75
- description: z.string().nullable(),
76
- createdAt: z.string(),
77
- updatedAt: z.string(),
78
- })
79
- .strict();
72
+ const HttpUrl = /* @__PURE__ */ defineSchema(() =>
73
+ primitives.string
74
+ .trim()
75
+ .min(8)
76
+ .max(2048)
77
+ .url()
78
+ .refine((value) => /^https?:\/\//i.test(value), "URL must use http or https"),
79
+ );
80
+
81
+ const EventTypes = /* @__PURE__ */ defineSchema(() =>
82
+ z
83
+ .array(WorkspaceWebhookEventType)
84
+ .min(1)
85
+ .max(WORKSPACE_WEBHOOK_EVENT_TYPES.length)
86
+ .transform((types) => [...new Set(types)]),
87
+ );
88
+
89
+ export const WorkspaceWebhook = /* @__PURE__ */ defineSchema(() =>
90
+ z
91
+ .object({
92
+ id: primitives.uuid,
93
+ workspaceId: primitives.uuid,
94
+ url: primitives.string,
95
+ eventTypes: z.array(WorkspaceWebhookEventType),
96
+ enabled: primitives.boolean,
97
+ description: primitives.nullableString,
98
+ createdAt: primitives.string,
99
+ updatedAt: primitives.string,
100
+ })
101
+ .strict(),
102
+ );
80
103
  export type WorkspaceWebhook = z.infer<typeof WorkspaceWebhook>;
81
104
 
82
- export const CreateWorkspaceWebhookRequest = z
83
- .object({
84
- url: HttpUrl,
85
- eventTypes: EventTypes,
86
- enabled: z.boolean().optional(),
87
- description: z.string().trim().max(500).nullable().optional(),
88
- })
89
- .strict();
105
+ export const CreateWorkspaceWebhookRequest = /* @__PURE__ */ defineSchema(() =>
106
+ z
107
+ .object({
108
+ url: HttpUrl,
109
+ eventTypes: EventTypes,
110
+ enabled: primitives.optionalBoolean,
111
+ description: primitives.string.trim().max(500).nullable().optional(),
112
+ })
113
+ .strict(),
114
+ );
90
115
  export type CreateWorkspaceWebhookRequest = z.input<typeof CreateWorkspaceWebhookRequest>;
91
116
 
92
117
  /** The signing secret is returned exactly once, at creation. */
93
- export const CreateWorkspaceWebhookResponse = z
94
- .object({ webhook: WorkspaceWebhook, secret: z.string() })
95
- .strict();
118
+ export const CreateWorkspaceWebhookResponse = /* @__PURE__ */ defineSchema(() =>
119
+ z.object({ webhook: WorkspaceWebhook, secret: primitives.string }).strict(),
120
+ );
96
121
  export type CreateWorkspaceWebhookResponse = z.infer<typeof CreateWorkspaceWebhookResponse>;
97
122
 
98
- export const UpdateWorkspaceWebhookRequest = z
99
- .object({
100
- url: HttpUrl.optional(),
101
- eventTypes: EventTypes.optional(),
102
- enabled: z.boolean().optional(),
103
- description: z.string().trim().max(500).nullable().optional(),
104
- })
105
- .strict();
123
+ export const UpdateWorkspaceWebhookRequest = /* @__PURE__ */ defineSchema(() =>
124
+ z
125
+ .object({
126
+ url: HttpUrl.optional(),
127
+ eventTypes: EventTypes.optional(),
128
+ enabled: primitives.optionalBoolean,
129
+ description: primitives.string.trim().max(500).nullable().optional(),
130
+ })
131
+ .strict(),
132
+ );
106
133
  export type UpdateWorkspaceWebhookRequest = z.input<typeof UpdateWorkspaceWebhookRequest>;
107
134
 
108
- export const ListWorkspaceWebhooksResponse = z
109
- .object({ webhooks: z.array(WorkspaceWebhook) })
110
- .strict();
135
+ export const ListWorkspaceWebhooksResponse = /* @__PURE__ */ defineSchema(() =>
136
+ z.object({ webhooks: z.array(WorkspaceWebhook) }).strict(),
137
+ );
111
138
  export type ListWorkspaceWebhooksResponse = z.infer<typeof ListWorkspaceWebhooksResponse>;
112
139
 
113
- /** Organization webhooks fan out session events only; usage events are per-workspace. */
140
+ /** Organization webhooks fan out session and recording events; usage events are per-workspace. */
114
141
  export const OrganizationWebhookEventType = WorkspaceWebhookEventType.exclude([
115
142
  "usage.threshold_reached",
116
143
  "usage.exhausted",
117
144
  "usage.period_reset",
118
145
  ]);
119
146
  export type OrganizationWebhookEventType = z.infer<typeof OrganizationWebhookEventType>;
120
- const OrganizationEventTypes = z
121
- .array(WorkspaceWebhookEventType)
122
- .min(1)
123
- .max(WorkspaceWebhookEventType.options.length)
124
- .refine((types) => types.every((type) => !type.startsWith("usage.")), {
125
- message:
126
- "Organization webhooks accept session events only; subscribe to usage events on a workspace webhook.",
127
- })
128
- .transform((types) => [...new Set(types)]);
129
-
130
- export const OrganizationWebhook = WorkspaceWebhook.omit({ workspaceId: true }).extend({
131
- organizationId: z.string().uuid(),
132
- eventTypes: z
147
+ const OrganizationEventTypes = /* @__PURE__ */ defineSchema(() =>
148
+ z
133
149
  .array(WorkspaceWebhookEventType)
150
+ .min(1)
151
+ .max(WorkspaceWebhookEventType.options.length)
134
152
  .refine((types) => types.every((type) => !type.startsWith("usage.")), {
135
153
  message:
136
154
  "Organization webhooks accept session events only; subscribe to usage events on a workspace webhook.",
137
- }),
138
- workspaceFilter: IntegrationWorkspaceFilter.nullable(),
139
- });
155
+ })
156
+ .transform((types) => [...new Set(types)]),
157
+ );
158
+
159
+ export const OrganizationWebhook = /* @__PURE__ */ defineSchema(() =>
160
+ WorkspaceWebhook.omit({ workspaceId: true }).extend({
161
+ organizationId: primitives.uuid,
162
+ eventTypes: z
163
+ .array(WorkspaceWebhookEventType)
164
+ .refine((types) => types.every((type) => !type.startsWith("usage.")), {
165
+ message:
166
+ "Organization webhooks accept session events only; subscribe to usage events on a workspace webhook.",
167
+ }),
168
+ workspaceFilter: IntegrationWorkspaceFilter.nullable(),
169
+ }),
170
+ );
140
171
  export type OrganizationWebhook = z.infer<typeof OrganizationWebhook>;
141
172
 
142
- export const CreateOrganizationWebhookRequest = CreateWorkspaceWebhookRequest.extend({
143
- eventTypes: OrganizationEventTypes,
144
- workspaceFilter: IntegrationWorkspaceFilter.nullable(),
145
- });
173
+ export const CreateOrganizationWebhookRequest = /* @__PURE__ */ defineSchema(() =>
174
+ CreateWorkspaceWebhookRequest.extend({
175
+ eventTypes: OrganizationEventTypes,
176
+ workspaceFilter: IntegrationWorkspaceFilter.nullable(),
177
+ }),
178
+ );
146
179
  export type CreateOrganizationWebhookRequest = z.input<typeof CreateOrganizationWebhookRequest>;
147
180
 
148
- export const UpdateOrganizationWebhookRequest = UpdateWorkspaceWebhookRequest.extend({
149
- eventTypes: OrganizationEventTypes.optional(),
150
- /** Explicit on every update: null covers all non-personal workspaces. */
151
- workspaceFilter: IntegrationWorkspaceFilter.nullable(),
152
- });
181
+ export const UpdateOrganizationWebhookRequest = /* @__PURE__ */ defineSchema(() =>
182
+ UpdateWorkspaceWebhookRequest.extend({
183
+ eventTypes: OrganizationEventTypes.optional(),
184
+ /** Explicit on every update: null covers all non-personal workspaces. */
185
+ workspaceFilter: IntegrationWorkspaceFilter.nullable(),
186
+ }),
187
+ );
153
188
  export type UpdateOrganizationWebhookRequest = z.input<typeof UpdateOrganizationWebhookRequest>;
154
189
 
155
- export const CreateOrganizationWebhookResponse = z
156
- .object({ webhook: OrganizationWebhook, secret: z.string() })
157
- .strict();
190
+ export const CreateOrganizationWebhookResponse = /* @__PURE__ */ defineSchema(() =>
191
+ z.object({ webhook: OrganizationWebhook, secret: primitives.string }).strict(),
192
+ );
158
193
  export type CreateOrganizationWebhookResponse = z.infer<typeof CreateOrganizationWebhookResponse>;
159
194
 
160
- export const ListOrganizationWebhooksResponse = z
161
- .object({ webhooks: z.array(OrganizationWebhook) })
162
- .strict();
195
+ export const ListOrganizationWebhooksResponse = /* @__PURE__ */ defineSchema(() =>
196
+ z.object({ webhooks: z.array(OrganizationWebhook) }).strict(),
197
+ );
163
198
  export type ListOrganizationWebhooksResponse = z.infer<typeof ListOrganizationWebhooksResponse>;
164
199
 
165
- export const WorkspaceWebhookDeliveryStatus = z.enum(["pending", "delivered", "failed"]);
200
+ export const WorkspaceWebhookDeliveryStatus = /* @__PURE__ */ defineSchema(() =>
201
+ z.enum(["pending", "delivered", "failed"]),
202
+ );
166
203
  export type WorkspaceWebhookDeliveryStatus = z.infer<typeof WorkspaceWebhookDeliveryStatus>;
167
204
 
168
- export const WorkspaceWebhookDelivery = z
169
- .object({
170
- id: z.string().uuid(),
171
- webhookId: z.string().uuid(),
172
- eventId: z.string().uuid(),
173
- eventType: z.string(),
174
- status: WorkspaceWebhookDeliveryStatus,
175
- attempts: z.number().int(),
176
- lastStatus: z.number().int().nullable(),
177
- lastError: z.string().nullable(),
178
- nextAttemptAt: z.string().nullable(),
179
- deliveredAt: z.string().nullable(),
180
- failedAt: z.string().nullable(),
181
- createdAt: z.string(),
182
- })
183
- .strict();
205
+ export const WorkspaceWebhookDelivery = /* @__PURE__ */ defineSchema(() =>
206
+ z
207
+ .object({
208
+ id: primitives.uuid,
209
+ webhookId: primitives.uuid,
210
+ eventId: primitives.uuid,
211
+ eventType: primitives.string,
212
+ status: WorkspaceWebhookDeliveryStatus,
213
+ attempts: z.number().int(),
214
+ lastStatus: z.number().int().nullable(),
215
+ lastError: primitives.nullableString,
216
+ nextAttemptAt: primitives.nullableString,
217
+ deliveredAt: primitives.nullableString,
218
+ failedAt: primitives.nullableString,
219
+ createdAt: primitives.string,
220
+ })
221
+ .strict(),
222
+ );
184
223
  export type WorkspaceWebhookDelivery = z.infer<typeof WorkspaceWebhookDelivery>;
185
224
 
186
- export const ListWorkspaceWebhookDeliveriesResponse = z
187
- .object({ deliveries: z.array(WorkspaceWebhookDelivery) })
188
- .strict();
225
+ export const ListWorkspaceWebhookDeliveriesResponse = /* @__PURE__ */ defineSchema(() =>
226
+ z.object({ deliveries: z.array(WorkspaceWebhookDelivery) }).strict(),
227
+ );
189
228
  export type ListWorkspaceWebhookDeliveriesResponse = z.infer<
190
229
  typeof ListWorkspaceWebhookDeliveriesResponse
191
230
  >;
@@ -198,155 +237,185 @@ export type ListOrganizationWebhookDeliveriesResponse = z.infer<
198
237
  >;
199
238
 
200
239
  /**
201
- * The thin body POSTed to a webhook endpoint. It identifies what changed;
202
- * receivers read details through the authenticated API.
240
+ * The body POSTed to a webhook endpoint. Lifecycle events identify what
241
+ * changed; notification events also include their bounded display content.
203
242
  */
204
- export const SessionWorkspaceWebhookEvent = z.object({
205
- lane: z.enum(["organization", "workspace"]).default("workspace"),
206
- id: z.string().uuid(),
207
- type: z.string(),
208
- workspaceId: z.string().uuid(),
209
- /** Present on new deliveries; optional for receivers of pre-upgrade deliveries. */
210
- workspace: z
211
- .object({
212
- id: z.string().uuid(),
213
- externalSource: z.string().nullable(),
214
- externalId: z.string().nullable(),
215
- })
216
- .optional(),
217
- sessionId: z.string().uuid(),
218
- turnId: z.string().uuid().nullable(),
219
- sequence: z.number().int(),
220
- occurredAt: z.string(),
221
- initiatingHuman: InitiatingHuman.nullable().optional(),
222
- data: z.object({ status: z.string().optional(), reason: z.string().optional() }).passthrough(),
223
- });
243
+ export const SessionWorkspaceWebhookEvent = /* @__PURE__ */ defineSchema(() =>
244
+ z.object({
245
+ lane: z.enum(["organization", "workspace"]).default("workspace"),
246
+ id: primitives.uuid,
247
+ type: primitives.string,
248
+ workspaceId: primitives.uuid,
249
+ /** Present on new deliveries; optional for receivers of pre-upgrade deliveries. */
250
+ workspace: z
251
+ .object({
252
+ id: primitives.uuid,
253
+ externalSource: primitives.nullableString,
254
+ externalId: primitives.nullableString,
255
+ })
256
+ .optional(),
257
+ sessionId: primitives.uuid,
258
+ turnId: primitives.nullableUuid,
259
+ sequence: z.number().int(),
260
+ occurredAt: primitives.string,
261
+ initiatingHuman: InitiatingHuman.nullable().optional(),
262
+ data: z
263
+ .object({
264
+ status: z.string().optional(),
265
+ reason: z.string().optional(),
266
+ /** Notification fields are optional for pre-upgrade thin deliveries. */
267
+ key: z.string().optional(),
268
+ title: z.string().optional(),
269
+ subtitle: z.string().optional(),
270
+ body: z.string().optional(),
271
+ facts: z.array(z.lazy(() => NotificationFact)).optional(),
272
+ link: z.lazy(() => NotificationLink).optional(),
273
+ urgency: z.lazy(() => NotificationUrgency).optional(),
274
+ replaced: primitives.optionalBoolean,
275
+ recipientSubjectId: z.string().optional(),
276
+ sender: z.object({ subjectId: primitives.string, label: primitives.string }).optional(),
277
+ /** Present when Opengeni notified no one, so the receiver may deliver it. */
278
+ undeliveredReason: z.lazy(() => NotificationUndeliveredReason).optional(),
279
+ })
280
+ .passthrough(),
281
+ }),
282
+ );
224
283
  export type SessionWorkspaceWebhookEvent = z.infer<typeof SessionWorkspaceWebhookEvent>;
225
284
  /** Workspace allowance events have no synthetic session or turn identity.
226
285
  * Optional null context fields let transport adapters share an envelope. */
227
- export const WorkspaceUsageWebhookEvent = z.object({
228
- lane: z.literal("workspace").default("workspace"),
229
- id: z.string().uuid(),
230
- type: z.enum(["usage.threshold_reached", "usage.exhausted", "usage.period_reset"]),
231
- workspaceId: z.string().uuid(),
232
- workspace: z
233
- .object({
234
- id: z.string().uuid(),
235
- externalSource: z.string().nullable(),
236
- externalId: z.string().nullable(),
237
- })
238
- .optional(),
239
- sessionId: z.null().optional(),
240
- turnId: z.null().optional(),
241
- sequence: z.number().int().nonnegative().optional(),
242
- occurredAt: z.string(),
243
- data: z
244
- .object({
245
- scope: z.enum(["workspace", "member"]).optional(),
246
- subjectId: z.string().nullable().optional(),
247
- threshold: z.number().finite().optional(),
248
- fraction: z.number().finite().nullable().optional(),
249
- resetsAt: z.string().nullable().optional(),
250
- status: UsageAllowanceStatus.optional(),
251
- period: z.union([UsageAllowanceWindow, UsageAllowancePeriod, z.literal("*")]).optional(),
252
- })
253
- .passthrough(),
254
- });
286
+ export const WorkspaceUsageWebhookEvent = /* @__PURE__ */ defineSchema(() =>
287
+ z.object({
288
+ lane: z.literal("workspace").default("workspace"),
289
+ id: primitives.uuid,
290
+ type: z.enum(["usage.threshold_reached", "usage.exhausted", "usage.period_reset"]),
291
+ workspaceId: primitives.uuid,
292
+ workspace: z
293
+ .object({
294
+ id: primitives.uuid,
295
+ externalSource: primitives.nullableString,
296
+ externalId: primitives.nullableString,
297
+ })
298
+ .optional(),
299
+ sessionId: z.null().optional(),
300
+ turnId: z.null().optional(),
301
+ sequence: z.number().int().nonnegative().optional(),
302
+ occurredAt: primitives.string,
303
+ data: z
304
+ .object({
305
+ scope: z.enum(["workspace", "member"]).optional(),
306
+ subjectId: z.string().nullable().optional(),
307
+ threshold: z.number().finite().optional(),
308
+ fraction: z.number().finite().nullable().optional(),
309
+ resetsAt: z.string().nullable().optional(),
310
+ status: UsageAllowanceStatus.optional(),
311
+ period: z.union([UsageAllowanceWindow, UsageAllowancePeriod, z.literal("*")]).optional(),
312
+ })
313
+ .passthrough(),
314
+ }),
315
+ );
255
316
  export type WorkspaceUsageWebhookEvent = z.infer<typeof WorkspaceUsageWebhookEvent>;
256
317
  /**
257
318
  * "Send test event": proves the endpoint is reachable and verifies the
258
319
  * signature. It names the workspace but no session, turn or sequence.
259
320
  */
260
- export const WorkspaceTestWebhookEvent = z.object({
261
- lane: z.enum(["organization", "workspace"]).default("workspace"),
262
- id: z.string().uuid(),
263
- type: z.literal(OPENGENI_WEBHOOK_TEST_EVENT_TYPE),
264
- workspaceId: z.string().uuid(),
265
- workspace: z
266
- .object({
267
- id: z.string().uuid(),
268
- externalSource: z.string().nullable(),
269
- externalId: z.string().nullable(),
270
- })
271
- .optional(),
272
- sessionId: z.null().optional(),
273
- turnId: z.null().optional(),
274
- occurredAt: z.string(),
275
- data: z.object({ webhookId: z.string().uuid().optional() }).passthrough(),
276
- });
321
+ export const WorkspaceTestWebhookEvent = /* @__PURE__ */ defineSchema(() =>
322
+ z.object({
323
+ lane: z.enum(["organization", "workspace"]).default("workspace"),
324
+ id: primitives.uuid,
325
+ type: z.literal(OPENGENI_WEBHOOK_TEST_EVENT_TYPE),
326
+ workspaceId: primitives.uuid,
327
+ workspace: z
328
+ .object({
329
+ id: primitives.uuid,
330
+ externalSource: primitives.nullableString,
331
+ externalId: primitives.nullableString,
332
+ })
333
+ .optional(),
334
+ sessionId: z.null().optional(),
335
+ turnId: z.null().optional(),
336
+ occurredAt: primitives.string,
337
+ data: z.object({ webhookId: primitives.optionalUuid }).passthrough(),
338
+ }),
339
+ );
277
340
  export type WorkspaceTestWebhookEvent = z.infer<typeof WorkspaceTestWebhookEvent>;
278
- export const WorkspaceWebhookEvent = z.union([
279
- SessionWorkspaceWebhookEvent,
280
- WorkspaceUsageWebhookEvent,
281
- WorkspaceTestWebhookEvent,
282
- ]);
341
+ export const WorkspaceWebhookEvent = /* @__PURE__ */ defineSchema(() =>
342
+ z.union([SessionWorkspaceWebhookEvent, WorkspaceUsageWebhookEvent, WorkspaceTestWebhookEvent]),
343
+ );
283
344
  export type WorkspaceWebhookEvent = z.infer<typeof WorkspaceWebhookEvent>;
284
345
 
285
- export const WorkspaceCredentialProvider = z
286
- .object({
287
- workspaceId: z.string().uuid(),
288
- url: z.string(),
289
- enabled: z.boolean(),
290
- timeoutMs: z.number().int(),
291
- createdAt: z.string(),
292
- updatedAt: z.string(),
293
- })
294
- .strict();
346
+ export const WorkspaceCredentialProvider = /* @__PURE__ */ defineSchema(() =>
347
+ z
348
+ .object({
349
+ workspaceId: primitives.uuid,
350
+ url: primitives.string,
351
+ enabled: primitives.boolean,
352
+ timeoutMs: z.number().int(),
353
+ createdAt: primitives.string,
354
+ updatedAt: primitives.string,
355
+ })
356
+ .strict(),
357
+ );
295
358
  export type WorkspaceCredentialProvider = z.infer<typeof WorkspaceCredentialProvider>;
296
359
 
297
- export const PutWorkspaceCredentialProviderRequest = z
298
- .object({
299
- url: HttpUrl,
300
- enabled: z.boolean().optional(),
301
- timeoutMs: z.number().int().min(1000).max(30000).optional(),
302
- })
303
- .strict();
360
+ export const PutWorkspaceCredentialProviderRequest = /* @__PURE__ */ defineSchema(() =>
361
+ z
362
+ .object({
363
+ url: HttpUrl,
364
+ enabled: primitives.optionalBoolean,
365
+ timeoutMs: z.number().int().min(1000).max(30000).optional(),
366
+ })
367
+ .strict(),
368
+ );
304
369
  export type PutWorkspaceCredentialProviderRequest = z.input<
305
370
  typeof PutWorkspaceCredentialProviderRequest
306
371
  >;
307
372
 
308
373
  /** `secret` is present only when the provider was first created. */
309
- export const PutWorkspaceCredentialProviderResponse = z
310
- .object({ provider: WorkspaceCredentialProvider, secret: z.string().optional() })
311
- .strict();
374
+ export const PutWorkspaceCredentialProviderResponse = /* @__PURE__ */ defineSchema(() =>
375
+ z.object({ provider: WorkspaceCredentialProvider, secret: z.string().optional() }).strict(),
376
+ );
312
377
  export type PutWorkspaceCredentialProviderResponse = z.infer<
313
378
  typeof PutWorkspaceCredentialProviderResponse
314
379
  >;
315
380
 
316
- export const GetWorkspaceCredentialProviderResponse = z
317
- .object({ provider: WorkspaceCredentialProvider.nullable() })
318
- .strict();
381
+ export const GetWorkspaceCredentialProviderResponse = /* @__PURE__ */ defineSchema(() =>
382
+ z.object({ provider: WorkspaceCredentialProvider.nullable() }).strict(),
383
+ );
319
384
  export type GetWorkspaceCredentialProviderResponse = z.infer<
320
385
  typeof GetWorkspaceCredentialProviderResponse
321
386
  >;
322
387
 
323
- export const OrganizationCredentialProvider = WorkspaceCredentialProvider.omit({
324
- workspaceId: true,
325
- }).extend({
326
- organizationId: z.string().uuid(),
327
- workspaceFilter: IntegrationWorkspaceFilter.nullable(),
328
- });
388
+ export const OrganizationCredentialProvider = /* @__PURE__ */ defineSchema(() =>
389
+ WorkspaceCredentialProvider.omit({
390
+ workspaceId: true,
391
+ }).extend({
392
+ organizationId: primitives.uuid,
393
+ workspaceFilter: IntegrationWorkspaceFilter.nullable(),
394
+ }),
395
+ );
329
396
  export type OrganizationCredentialProvider = z.infer<typeof OrganizationCredentialProvider>;
330
397
 
331
398
  export const PutOrganizationCredentialProviderRequest =
332
- PutWorkspaceCredentialProviderRequest.extend({
333
- /** Required; null explicitly covers all non-personal workspaces. PUT replaces configuration. */
334
- workspaceFilter: IntegrationWorkspaceFilter.nullable(),
335
- });
399
+ /* @__PURE__ */ defineSchema(() =>
400
+ PutWorkspaceCredentialProviderRequest.extend({
401
+ /** Required; null explicitly covers all non-personal workspaces. PUT replaces configuration. */
402
+ workspaceFilter: IntegrationWorkspaceFilter.nullable(),
403
+ }),
404
+ );
336
405
  export type PutOrganizationCredentialProviderRequest = z.input<
337
406
  typeof PutOrganizationCredentialProviderRequest
338
407
  >;
339
408
 
340
- export const PutOrganizationCredentialProviderResponse = z
341
- .object({ provider: OrganizationCredentialProvider, secret: z.string().optional() })
342
- .strict();
409
+ export const PutOrganizationCredentialProviderResponse = /* @__PURE__ */ defineSchema(() =>
410
+ z.object({ provider: OrganizationCredentialProvider, secret: z.string().optional() }).strict(),
411
+ );
343
412
  export type PutOrganizationCredentialProviderResponse = z.infer<
344
413
  typeof PutOrganizationCredentialProviderResponse
345
414
  >;
346
415
 
347
- export const GetOrganizationCredentialProviderResponse = z
348
- .object({ provider: OrganizationCredentialProvider.nullable() })
349
- .strict();
416
+ export const GetOrganizationCredentialProviderResponse = /* @__PURE__ */ defineSchema(() =>
417
+ z.object({ provider: OrganizationCredentialProvider.nullable() }).strict(),
418
+ );
350
419
  export type GetOrganizationCredentialProviderResponse = z.infer<
351
420
  typeof GetOrganizationCredentialProviderResponse
352
421
  >;
@@ -361,7 +430,7 @@ export type CredentialProviderInitiatorContext = {
361
430
  context: TurnInitiatorContext;
362
431
  };
363
432
 
364
- /** The body OpenGeni POSTs to a workspace credential provider. */
433
+ /** The body Opengeni POSTs to a workspace credential provider. */
365
434
  export type CredentialProviderRequest = {
366
435
  type: "credentials.request";
367
436
  lane: "organization" | "workspace";
@@ -370,7 +439,7 @@ export type CredentialProviderRequest = {
370
439
  /**
371
440
  * `test` comes from an administrator's "Test connection": it is not a run,
372
441
  * so `sessionId`, `rootSessionId`, `turnId` and `attemptId` are the nil
373
- * UUID. Answer it as you would a run in this workspace (OpenGeni shows only
442
+ * UUID. Answer it as you would a run in this workspace (Opengeni shows only
374
443
  * the names of what you return, never the values), or `not_applicable`.
375
444
  */
376
445
  purpose: "provision" | "renewal" | "test";
@@ -392,31 +461,34 @@ export type CredentialProviderRequest = {
392
461
  sandboxOs: string;
393
462
  };
394
463
 
395
- const ProviderAuthNeeded = z.object({
396
- reason: z.enum(["missing_connection", "expired", "insufficient_scope", "refresh_failed"]),
397
- providerDomain: z.string().optional(),
398
- connectionId: z.string().optional(),
399
- scopes: z.array(z.string()).optional(),
400
- resource: z.string().optional(),
401
- authorizationUrl: z.string().optional(),
402
- message: z.string().optional(),
403
- });
464
+ const ProviderAuthNeeded = /* @__PURE__ */ defineSchema(() =>
465
+ z.object({
466
+ reason: z.enum(["missing_connection", "expired", "insufficient_scope", "refresh_failed"]),
467
+ providerDomain: z.string().optional(),
468
+ connectionId: z.string().optional(),
469
+ scopes: z.array(primitives.string).optional(),
470
+ resource: z.string().optional(),
471
+ authorizationUrl: z.string().optional(),
472
+ message: z.string().optional(),
473
+ }),
474
+ );
404
475
 
405
476
  /**
406
477
  * HTTPS Git credentials the host wants available to `git` in the sandbox.
407
- * OpenGeni stores them in a renewable file and points a credential helper at
478
+ * Opengeni stores them in a renewable file and points a credential helper at
408
479
  * it, so a refreshed token applies to the next git command.
409
480
  */
410
- const ProviderGitCredential = z.object({
411
- host: z
412
- .string()
413
- .trim()
414
- .min(1)
415
- .max(253)
416
- .regex(/^[A-Za-z0-9.-]+(:\d{1,5})?$/, "host must be a bare hostname"),
417
- username: z.string().min(1).max(256).optional(),
418
- password: z.string().min(1).max(16384),
419
- });
481
+ const ProviderGitCredential = /* @__PURE__ */ defineSchema(() =>
482
+ z.object({
483
+ host: primitives.string
484
+ .trim()
485
+ .min(1)
486
+ .max(253)
487
+ .regex(/^[A-Za-z0-9.-]+(:\d{1,5})?$/, "host must be a bare hostname"),
488
+ username: z.string().min(1).max(256).optional(),
489
+ password: z.string().min(1).max(16384),
490
+ }),
491
+ );
420
492
 
421
493
  const FORBIDDEN_MCP_HEADERS = new Set([
422
494
  "host",
@@ -444,104 +516,112 @@ export function normalizeCredentialProviderMcpUrl(value: string): string {
444
516
  return url.href;
445
517
  }
446
518
 
447
- const ProviderMcpUrl = z
448
- .string()
449
- .min(8)
450
- .max(2048)
451
- .refine((value) => {
452
- try {
453
- normalizeCredentialProviderMcpUrl(value);
454
- return true;
455
- } catch {
456
- return false;
457
- }
458
- }, "MCP credential url must be an HTTP endpoint without credentials or fragment")
459
- .transform(normalizeCredentialProviderMcpUrl);
519
+ const ProviderMcpUrl = /* @__PURE__ */ defineSchema(() =>
520
+ z
521
+ .string()
522
+ .min(8)
523
+ .max(2048)
524
+ .refine((value) => {
525
+ try {
526
+ normalizeCredentialProviderMcpUrl(value);
527
+ return true;
528
+ } catch {
529
+ return false;
530
+ }
531
+ }, "MCP credential url must be an HTTP endpoint without credentials or fragment")
532
+ .transform(normalizeCredentialProviderMcpUrl),
533
+ );
460
534
 
461
535
  /** Secret, turn-local headers for one session-attached remote MCP, by normalized URL only. */
462
- export const CredentialProviderMcpHeaders = z
463
- .object({
464
- url: ProviderMcpUrl,
465
- headers: z.record(z.string(), z.string()),
466
- expiresAt: z.iso.datetime({ offset: true }).optional(),
467
- })
468
- .strict()
469
- .superRefine((entry, context) => {
470
- const headers = Object.entries(entry.headers);
471
- const seen = new Set<string>();
472
- let bytes = 0;
473
- if (headers.length === 0 || headers.length > 32) {
474
- context.addIssue({ code: "custom", message: "MCP headers must contain 1–32 entries" });
475
- }
476
- for (const [name, value] of headers) {
477
- const lower = name.toLowerCase();
478
- if (
479
- name.length > 128 ||
480
- name.length === 0 ||
481
- /[^!#$%&'*+.^_`|~0-9A-Za-z-]/.test(name) ||
482
- FORBIDDEN_MCP_HEADERS.has(lower) ||
483
- seen.has(lower)
484
- ) {
485
- context.addIssue({ code: "custom", message: "Invalid or duplicate MCP header name" });
536
+ export const CredentialProviderMcpHeaders = /* @__PURE__ */ defineSchema(() =>
537
+ z
538
+ .object({
539
+ url: ProviderMcpUrl,
540
+ headers: secretValue(z.record(primitives.string, primitives.string)),
541
+ expiresAt: z.iso.datetime({ offset: true }).optional(),
542
+ })
543
+ .strict()
544
+ .superRefine((entry, context) => {
545
+ const headers = Object.entries(entry.headers);
546
+ const seen = new Set<string>();
547
+ let bytes = 0;
548
+ if (headers.length === 0 || headers.length > 32) {
549
+ context.addIssue({ code: "custom", message: "MCP headers must contain 1–32 entries" });
550
+ }
551
+ for (const [name, value] of headers) {
552
+ const lower = name.toLowerCase();
553
+ if (
554
+ name.length > 128 ||
555
+ name.length === 0 ||
556
+ /[^!#$%&'*+.^_`|~0-9A-Za-z-]/.test(name) ||
557
+ FORBIDDEN_MCP_HEADERS.has(lower) ||
558
+ seen.has(lower)
559
+ ) {
560
+ context.addIssue({ code: "custom", message: "Invalid or duplicate MCP header name" });
561
+ }
562
+ seen.add(lower);
563
+ const valueBytes = new TextEncoder().encode(value).byteLength;
564
+ bytes += name.length + valueBytes;
565
+ if (valueBytes > 16384 || /[^\t\u0020-\u007e\u0080-\u00ff]/.test(value)) {
566
+ context.addIssue({ code: "custom", message: "Invalid or oversized MCP header value" });
567
+ }
486
568
  }
487
- seen.add(lower);
488
- const valueBytes = new TextEncoder().encode(value).byteLength;
489
- bytes += name.length + valueBytes;
490
- if (valueBytes > 16384 || /[^\t\u0020-\u007e\u0080-\u00ff]/.test(value)) {
491
- context.addIssue({ code: "custom", message: "Invalid or oversized MCP header value" });
569
+ if (bytes > 65536) {
570
+ context.addIssue({ code: "custom", message: "MCP header material exceeds 64 KiB" });
492
571
  }
493
- }
494
- if (bytes > 65536) {
495
- context.addIssue({ code: "custom", message: "MCP header material exceeds 64 KiB" });
496
- }
497
- });
572
+ }),
573
+ );
498
574
  export type CredentialProviderMcpHeaders = z.infer<typeof CredentialProviderMcpHeaders>;
499
575
 
500
- export const CredentialProviderMcpMaterial = z
501
- .array(CredentialProviderMcpHeaders)
502
- .max(32)
503
- .superRefine((entries, context) => {
504
- if (new Set(entries.map((entry) => entry.url)).size !== entries.length) {
505
- context.addIssue({ code: "custom", message: "Duplicate MCP server target" });
506
- }
507
- });
576
+ export const CredentialProviderMcpMaterial = /* @__PURE__ */ defineSchema(() =>
577
+ z
578
+ .array(CredentialProviderMcpHeaders)
579
+ .max(32)
580
+ .superRefine((entries, context) => {
581
+ if (new Set(entries.map((entry) => entry.url)).size !== entries.length) {
582
+ context.addIssue({ code: "custom", message: "Duplicate MCP server target" });
583
+ }
584
+ }),
585
+ );
508
586
  export type CredentialProviderMcpMaterial = z.infer<typeof CredentialProviderMcpMaterial>;
509
587
 
510
- /** What a credential provider returns. Scope echoes are added by OpenGeni. */
511
- export const CredentialProviderResponse = z.discriminatedUnion("status", [
512
- z.object({
513
- status: z.literal("ok"),
514
- environment: z.record(z.string(), z.string()).optional(),
515
- files: z
516
- .array(
517
- z.object({
518
- path: z.string(),
519
- content: z.string(),
520
- mode: z.enum(["0400", "0600"]).optional(),
521
- }),
522
- )
523
- .optional(),
524
- fileEnvironment: z.record(z.string(), z.string()).optional(),
525
- git: z.array(ProviderGitCredential).max(16).optional(),
526
- mcp: CredentialProviderMcpMaterial.optional(),
527
- expiresAt: z.string().nullable().optional(),
528
- authNeeded: z.array(ProviderAuthNeeded).optional(),
529
- }),
530
- z.object({ status: z.literal("not_applicable") }),
531
- z.object({ status: z.literal("auth_needed"), authNeeded: z.array(ProviderAuthNeeded).min(1) }),
532
- ]);
588
+ /** What a credential provider returns. Scope echoes are added by Opengeni. */
589
+ export const CredentialProviderResponse = /* @__PURE__ */ defineSchema(() =>
590
+ z.discriminatedUnion("status", [
591
+ z.object({
592
+ status: z.literal("ok"),
593
+ environment: z.record(primitives.string, primitives.string).optional(),
594
+ files: z
595
+ .array(
596
+ z.object({
597
+ path: primitives.string,
598
+ content: primitives.string,
599
+ mode: z.enum(["0400", "0600"]).optional(),
600
+ }),
601
+ )
602
+ .optional(),
603
+ fileEnvironment: z.record(primitives.string, primitives.string).optional(),
604
+ git: z.array(ProviderGitCredential).max(16).optional(),
605
+ mcp: CredentialProviderMcpMaterial.optional(),
606
+ expiresAt: z.string().nullable().optional(),
607
+ authNeeded: z.array(ProviderAuthNeeded).optional(),
608
+ }),
609
+ z.object({ status: z.literal("not_applicable") }),
610
+ z.object({ status: z.literal("auth_needed"), authNeeded: z.array(ProviderAuthNeeded).min(1) }),
611
+ ]),
612
+ );
533
613
  export type CredentialProviderResponse = z.infer<typeof CredentialProviderResponse>;
534
614
 
535
615
  /** Immediate signing-secret rotation; the new secret is returned once. */
536
- export const RotateWorkspaceCredentialProviderSecretResponse = z
537
- .object({ provider: WorkspaceCredentialProvider, secret: z.string() })
538
- .strict();
616
+ export const RotateWorkspaceCredentialProviderSecretResponse = /* @__PURE__ */ defineSchema(() =>
617
+ z.object({ provider: WorkspaceCredentialProvider, secret: primitives.string }).strict(),
618
+ );
539
619
  export type RotateWorkspaceCredentialProviderSecretResponse = z.infer<
540
620
  typeof RotateWorkspaceCredentialProviderSecretResponse
541
621
  >;
542
- export const RotateOrganizationCredentialProviderSecretResponse = z
543
- .object({ provider: OrganizationCredentialProvider, secret: z.string() })
544
- .strict();
622
+ export const RotateOrganizationCredentialProviderSecretResponse = /* @__PURE__ */ defineSchema(() =>
623
+ z.object({ provider: OrganizationCredentialProvider, secret: primitives.string }).strict(),
624
+ );
545
625
  export type RotateOrganizationCredentialProviderSecretResponse = z.infer<
546
626
  typeof RotateOrganizationCredentialProviderSecretResponse
547
627
  >;
@@ -559,54 +639,58 @@ export type RotateOrganizationWebhookSecretResponse = z.infer<
559
639
  * endpoint. Nothing is stored: the request is sent once, synchronously.
560
640
  * Credential values never appear; `credentials` names what a run would get.
561
641
  */
562
- export const IntegrationEndpointTestResult = z
563
- .object({
564
- /** A 2xx answer (for a provider, also a valid response body). */
565
- ok: z.boolean(),
566
- /** The HTTP status, or null when the endpoint was not reached. */
567
- status: z.number().int().nullable(),
568
- durationMs: z.number().int().nonnegative(),
569
- /** What went wrong, in one sentence, or null. */
570
- error: z.string().nullable(),
571
- /** The exact JSON body OpenGeni signed and sent. */
572
- request: z.string(),
573
- /** The start of the endpoint's answer. Omitted for a successful provider answer. */
574
- responseBody: z.string().nullable(),
575
- credentials: z
576
- .object({
577
- status: z.enum(["ok", "not_applicable", "auth_needed"]),
578
- environment: z.array(z.string()),
579
- files: z.array(z.string()),
580
- git: z.array(z.string()),
581
- mcp: z.array(z.string()),
582
- expiresAt: z.string().nullable(),
583
- authNeeded: z.array(
584
- z.object({
585
- reason: z.string(),
586
- providerDomain: z.string().nullable(),
587
- message: z.string().nullable(),
588
- }),
589
- ),
590
- })
591
- .strict()
592
- .nullable(),
593
- })
594
- .strict();
642
+ export const IntegrationEndpointTestResult = /* @__PURE__ */ defineSchema(() =>
643
+ z
644
+ .object({
645
+ /** A 2xx answer (for a provider, also a valid response body). */
646
+ ok: primitives.boolean,
647
+ /** The HTTP status, or null when the endpoint was not reached. */
648
+ status: z.number().int().nullable(),
649
+ durationMs: primitives.nonnegativeInteger,
650
+ /** What went wrong, in one sentence, or null. */
651
+ error: primitives.nullableString,
652
+ /** The exact JSON body Opengeni signed and sent. */
653
+ request: primitives.string,
654
+ /** The start of the endpoint's answer. Omitted for a successful provider answer. */
655
+ responseBody: primitives.nullableString,
656
+ credentials: z
657
+ .object({
658
+ status: z.enum(["ok", "not_applicable", "auth_needed"]),
659
+ environment: z.array(primitives.string),
660
+ files: z.array(primitives.string),
661
+ git: z.array(primitives.string),
662
+ mcp: z.array(primitives.string),
663
+ expiresAt: primitives.nullableString,
664
+ authNeeded: z.array(
665
+ z.object({
666
+ reason: primitives.string,
667
+ providerDomain: primitives.nullableString,
668
+ message: primitives.nullableString,
669
+ }),
670
+ ),
671
+ })
672
+ .strict()
673
+ .nullable(),
674
+ })
675
+ .strict(),
676
+ );
595
677
  export type IntegrationEndpointTestResult = z.infer<typeof IntegrationEndpointTestResult>;
596
678
 
597
- export const TestWorkspaceWebhookResponse = z
598
- .object({ result: IntegrationEndpointTestResult })
599
- .strict();
679
+ export const TestWorkspaceWebhookResponse = /* @__PURE__ */ defineSchema(() =>
680
+ z.object({ result: IntegrationEndpointTestResult }).strict(),
681
+ );
600
682
  export type TestWorkspaceWebhookResponse = z.infer<typeof TestWorkspaceWebhookResponse>;
601
683
 
602
684
  /** Tests the provider runs in this workspace would use: its own, else the organization's. */
603
- export const TestWorkspaceCredentialProviderResponse = z
604
- .object({
605
- lane: z.enum(["workspace", "organization"]),
606
- url: z.string(),
607
- result: IntegrationEndpointTestResult,
608
- })
609
- .strict();
685
+ export const TestWorkspaceCredentialProviderResponse = /* @__PURE__ */ defineSchema(() =>
686
+ z
687
+ .object({
688
+ lane: z.enum(["workspace", "organization"]),
689
+ url: primitives.string,
690
+ result: IntegrationEndpointTestResult,
691
+ })
692
+ .strict(),
693
+ );
610
694
  export type TestWorkspaceCredentialProviderResponse = z.infer<
611
695
  typeof TestWorkspaceCredentialProviderResponse
612
696
  >;
@@ -617,24 +701,30 @@ export type TestWorkspaceCredentialProviderResponse = z.infer<
617
701
  * (even when this workspace overrides it) and the enabled organization
618
702
  * webhooks that also receive this workspace's events. Never secrets.
619
703
  */
620
- export const WorkspaceInheritedIntegrationsResponse = z
621
- .object({
622
- credentialProvider: z
623
- .object({ url: z.string(), timeoutMs: z.number().int(), updatedAt: z.string() })
624
- .strict()
625
- .nullable(),
626
- webhooks: z.array(
627
- z
704
+ export const WorkspaceInheritedIntegrationsResponse = /* @__PURE__ */ defineSchema(() =>
705
+ z
706
+ .object({
707
+ credentialProvider: z
628
708
  .object({
629
- id: z.string().uuid(),
630
- url: z.string(),
631
- eventTypes: z.array(WorkspaceWebhookEventType),
632
- description: z.string().nullable(),
709
+ url: primitives.string,
710
+ timeoutMs: z.number().int(),
711
+ updatedAt: primitives.string,
633
712
  })
634
- .strict(),
635
- ),
636
- })
637
- .strict();
713
+ .strict()
714
+ .nullable(),
715
+ webhooks: z.array(
716
+ z
717
+ .object({
718
+ id: primitives.uuid,
719
+ url: primitives.string,
720
+ eventTypes: z.array(WorkspaceWebhookEventType),
721
+ description: primitives.nullableString,
722
+ })
723
+ .strict(),
724
+ ),
725
+ })
726
+ .strict(),
727
+ );
638
728
  export type WorkspaceInheritedIntegrationsResponse = z.infer<
639
729
  typeof WorkspaceInheritedIntegrationsResponse
640
730
  >;