@opengeni/contracts 3.1.0-canary.1 → 3.1.2

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 (434) hide show
  1. package/dist/agent-authored-durable-text.d.ts +9 -9
  2. package/dist/agent-config.d.ts +971 -0
  3. package/dist/agent-instruction-changes.d.ts +110 -0
  4. package/dist/agent-learning.d.ts +243 -0
  5. package/dist/allowance-refusal.d.ts +9 -0
  6. package/dist/allowance-refusal.js +50 -0
  7. package/dist/allowance-refusal.js.map +1 -0
  8. package/dist/analytics-consent-report.d.ts +19 -0
  9. package/dist/analytics-consent-report.js +10 -0
  10. package/dist/analytics-consent-report.js.map +1 -0
  11. package/dist/api-key-presets.d.ts +19 -0
  12. package/dist/artifact-catalog.d.ts +188 -0
  13. package/dist/artifacts.d.ts +86 -0
  14. package/dist/atlassian-native-retirement.d.ts +16 -0
  15. package/dist/atlassian-native-retirement.js +30 -0
  16. package/dist/atlassian-native-retirement.js.map +1 -0
  17. package/dist/atlassian.d.ts +1 -0
  18. package/dist/atlassian.js +34 -19
  19. package/dist/browser-storage.d.ts +5 -0
  20. package/dist/browser-storage.js +9 -0
  21. package/dist/browser-storage.js.map +1 -0
  22. package/dist/bundled-skills.d.ts +24 -1
  23. package/dist/canonical-human-identities.js +2 -1
  24. package/dist/chunk-2ZIHHL72.js +153 -0
  25. package/dist/chunk-2ZIHHL72.js.map +1 -0
  26. package/dist/{chunk-5LYFSZ7O.js → chunk-352X6ENP.js} +31 -31
  27. package/dist/chunk-4JGHSSB7.js +11 -0
  28. package/dist/chunk-4JGHSSB7.js.map +1 -0
  29. package/dist/chunk-4QO6GJUX.js +85 -0
  30. package/dist/chunk-4QO6GJUX.js.map +1 -0
  31. package/dist/chunk-4VDMHLLL.js +49 -0
  32. package/dist/chunk-4VDMHLLL.js.map +1 -0
  33. package/dist/chunk-56SNIMDO.js +9 -0
  34. package/dist/chunk-56SNIMDO.js.map +1 -0
  35. package/dist/chunk-6C2HKFTU.js +207 -0
  36. package/dist/chunk-6C2HKFTU.js.map +1 -0
  37. package/dist/chunk-6IXO76Z6.js +72 -0
  38. package/dist/chunk-6IXO76Z6.js.map +1 -0
  39. package/dist/chunk-7272KVWZ.js +60 -0
  40. package/dist/chunk-7272KVWZ.js.map +1 -0
  41. package/dist/{chunk-7ABONTXE.js → chunk-E3GGUBHS.js} +49 -5
  42. package/dist/chunk-E3GGUBHS.js.map +1 -0
  43. package/dist/chunk-EFZYKUE2.js +767 -0
  44. package/dist/chunk-EFZYKUE2.js.map +1 -0
  45. package/dist/chunk-EKWNTOG3.js +154 -0
  46. package/dist/chunk-EKWNTOG3.js.map +1 -0
  47. package/dist/chunk-HABQ7ADB.js +234 -0
  48. package/dist/chunk-HABQ7ADB.js.map +1 -0
  49. package/dist/chunk-HRRU4QPI.js +91 -0
  50. package/dist/chunk-HRRU4QPI.js.map +1 -0
  51. package/dist/{chunk-3SIZGL3O.js → chunk-IK36LXKC.js} +18 -2
  52. package/dist/chunk-IK36LXKC.js.map +1 -0
  53. package/dist/{chunk-TXTQIYCV.js → chunk-ILJ72KPO.js} +56 -3
  54. package/dist/chunk-ILJ72KPO.js.map +1 -0
  55. package/dist/chunk-J4HQ3UKY.js +93 -0
  56. package/dist/chunk-J4HQ3UKY.js.map +1 -0
  57. package/dist/chunk-KHHZTBP7.js +11 -0
  58. package/dist/chunk-KHHZTBP7.js.map +1 -0
  59. package/dist/{chunk-WYBDERIY.js → chunk-LZ2LAHIX.js} +47 -41
  60. package/dist/chunk-LZ2LAHIX.js.map +1 -0
  61. package/dist/chunk-NDZHPTCL.js +400 -0
  62. package/dist/chunk-NDZHPTCL.js.map +1 -0
  63. package/dist/chunk-OF6OKOBF.js +54793 -0
  64. package/dist/chunk-OF6OKOBF.js.map +1 -0
  65. package/dist/chunk-OL23ARTF.js +94 -0
  66. package/dist/chunk-OL23ARTF.js.map +1 -0
  67. package/dist/chunk-PUIUXIOL.js +189 -0
  68. package/dist/chunk-PUIUXIOL.js.map +1 -0
  69. package/dist/{chunk-WBYTNVIW.js → chunk-RKX3NQYS.js} +1 -1
  70. package/dist/{chunk-Y3KNXVTD.js → chunk-RMWXDZEO.js} +128 -21
  71. package/dist/chunk-RMWXDZEO.js.map +1 -0
  72. package/dist/{chunk-MRWYRAS5.js → chunk-SHO4YO4B.js} +27 -35
  73. package/dist/chunk-SHO4YO4B.js.map +1 -0
  74. package/dist/chunk-SWRN2DJ3.js +153 -0
  75. package/dist/chunk-SWRN2DJ3.js.map +1 -0
  76. package/dist/chunk-TCXCRBPF.js +267 -0
  77. package/dist/chunk-TCXCRBPF.js.map +1 -0
  78. package/dist/chunk-TLU3UEMD.js +324 -0
  79. package/dist/chunk-TLU3UEMD.js.map +1 -0
  80. package/dist/chunk-TSWWZMUS.js +186 -0
  81. package/dist/chunk-TSWWZMUS.js.map +1 -0
  82. package/dist/{chunk-PX3VCKAU.js → chunk-WVCFSOUZ.js} +1 -1
  83. package/dist/{chunk-PX3VCKAU.js.map → chunk-WVCFSOUZ.js.map} +1 -1
  84. package/dist/chunk-XDLAGX66.js +127 -0
  85. package/dist/chunk-XDLAGX66.js.map +1 -0
  86. package/dist/chunk-YKZ4WU4P.js +33 -0
  87. package/dist/chunk-YKZ4WU4P.js.map +1 -0
  88. package/dist/{chunk-O5LEQHDM.js → chunk-Z7WEVGCL.js} +3 -3
  89. package/dist/{chunk-YBW5JSA3.js → chunk-ZDCRWCGZ.js} +119 -101
  90. package/dist/chunk-ZDCRWCGZ.js.map +1 -0
  91. package/dist/claude-provider-account-authority.d.ts +18 -0
  92. package/dist/claude-subscription-oauth.d.ts +42 -0
  93. package/dist/claude-subscription-usage.d.ts +159 -0
  94. package/dist/client-error-report.d.ts +158 -0
  95. package/dist/client-error-report.js +164 -0
  96. package/dist/client-error-report.js.map +1 -0
  97. package/dist/code-search.d.ts +52 -0
  98. package/dist/code-search.js +40 -0
  99. package/dist/code-search.js.map +1 -0
  100. package/dist/codex-provider-account-authority.js +20 -12
  101. package/dist/codex-provider-account-authority.js.map +1 -1
  102. package/dist/company-brain.d.ts +19 -81
  103. package/dist/company-profile.d.ts +144 -6
  104. package/dist/connect.d.ts +37 -0
  105. package/dist/connect.js +216 -159
  106. package/dist/connect.js.map +1 -1
  107. package/dist/connection-account-label.d.ts +2 -0
  108. package/dist/connection-account-label.js +35 -0
  109. package/dist/connection-account-label.js.map +1 -0
  110. package/dist/connection-authority.d.ts +9 -317
  111. package/dist/connection-authority.js +37 -42
  112. package/dist/connector-attachments.js +2 -1
  113. package/dist/connector-destinations.js +2 -1
  114. package/dist/connector-tool-permissions.d.ts +137 -0
  115. package/dist/cua-desktop-tools.d.ts +17 -0
  116. package/dist/define-schema.d.ts +8 -0
  117. package/dist/direct-model-provider.d.ts +36 -0
  118. package/dist/editable-artifact-codec-registry.js +5 -5
  119. package/dist/editable-artifact-committed-transaction.js +3 -2
  120. package/dist/editable-artifact-live.js +5 -5
  121. package/dist/editable-artifact-serialized-commit.js +6 -6
  122. package/dist/editable-artifact-versions.d.ts +7 -1
  123. package/dist/editable-artifact-versions.js +1 -1
  124. package/dist/editable-artifacts.js +62 -56
  125. package/dist/event-preview.d.ts +22 -0
  126. package/dist/external-identities.d.ts +174 -0
  127. package/dist/external-identities.js +15 -4
  128. package/dist/first-party-tool-authorization.d.ts +815 -0
  129. package/dist/github-repository-contracts.js +60 -43
  130. package/dist/github-repository-contracts.js.map +1 -1
  131. package/dist/google-drive.d.ts +2 -1
  132. package/dist/google-drive.js +305 -238
  133. package/dist/google-drive.js.map +1 -1
  134. package/dist/host-mcp-bindings.d.ts +39 -10
  135. package/dist/host-mcp-bindings.js +256 -171
  136. package/dist/host-mcp-bindings.js.map +1 -1
  137. package/dist/image-generation.d.ts +1 -0
  138. package/dist/index.d.ts +15715 -3850
  139. package/dist/index.js +2088 -289
  140. package/dist/insights-usage.d.ts +877 -0
  141. package/dist/insights-usage.js +559 -0
  142. package/dist/insights-usage.js.map +1 -0
  143. package/dist/interaction.d.ts +1176 -829
  144. package/dist/knowledge-entries.d.ts +984 -0
  145. package/dist/knowledge-preparation.d.ts +239 -0
  146. package/dist/managed-auth-session-sets.d.ts +7 -0
  147. package/dist/managed-auth-session-sets.js +198 -132
  148. package/dist/managed-auth-session-sets.js.map +1 -1
  149. package/dist/managed-sign-in-methods.d.ts +56 -0
  150. package/dist/managed-sign-in-methods.js +64 -0
  151. package/dist/managed-sign-in-methods.js.map +1 -0
  152. package/dist/mcp-catalog-limits.d.ts +2 -0
  153. package/dist/mcp-endpoint.js +9 -0
  154. package/dist/mcp-endpoint.js.map +1 -0
  155. package/dist/mcp-oauth.d.ts +2 -2
  156. package/dist/mcp-structured-content.d.ts +25 -0
  157. package/dist/modal-native-proof-v2.d.ts +587 -0
  158. package/dist/modal-native-proof-v2.js +38 -0
  159. package/dist/modal-native-proof-v2.js.map +1 -0
  160. package/dist/model-account-choice.d.ts +235 -0
  161. package/dist/model-account-settings.d.ts +422 -0
  162. package/dist/model-availability.d.ts +15 -0
  163. package/dist/model-connection-access.d.ts +13 -0
  164. package/dist/model-context-inspector.d.ts +98 -0
  165. package/dist/model-display.d.ts +43 -0
  166. package/dist/model-display.js +17 -0
  167. package/dist/model-display.js.map +1 -0
  168. package/dist/model-picker-order.d.ts +3 -1
  169. package/dist/model-picker-order.js +3 -0
  170. package/dist/model-picker-order.js.map +1 -1
  171. package/dist/organization-access.d.ts +412 -0
  172. package/dist/organization-access.js +39 -0
  173. package/dist/organization-access.js.map +1 -0
  174. package/dist/organization-integration-policy.d.ts +27 -0
  175. package/dist/organization-membership-lifecycle.d.ts +38 -0
  176. package/dist/organization-model-usage.d.ts +146 -0
  177. package/dist/organization-model-usage.js +78 -0
  178. package/dist/organization-model-usage.js.map +1 -0
  179. package/dist/organization-recovery.js +2 -1
  180. package/dist/organization-usage.d.ts +138 -0
  181. package/dist/permissions.d.ts +18 -0
  182. package/dist/personal-github.d.ts +1 -0
  183. package/dist/personal-github.js +199 -144
  184. package/dist/personal-github.js.map +1 -1
  185. package/dist/plugin-discovery.js +1 -1
  186. package/dist/prepared-mcp-setup.d.ts +54 -0
  187. package/dist/prepared-mcp-setup.js +12 -0
  188. package/dist/prepared-mcp-setup.js.map +1 -0
  189. package/dist/product-analytics.d.ts +116 -0
  190. package/dist/product-lifecycle-facts.d.ts +73 -0
  191. package/dist/remember.d.ts +98 -6
  192. package/dist/retained-output.d.ts +8 -0
  193. package/dist/sandbox-file-artifacts.d.ts +1 -0
  194. package/dist/sandbox-provider-command.d.ts +91 -1
  195. package/dist/sandbox-recovery.d.ts +146 -0
  196. package/dist/secret-generator.d.ts +44 -0
  197. package/dist/secret-references.d.ts +90 -0
  198. package/dist/secret-resolution.d.ts +111 -0
  199. package/dist/secret-totp.d.ts +41 -0
  200. package/dist/session-final-reply.d.ts +6 -0
  201. package/dist/session-final-reply.js +9 -0
  202. package/dist/session-final-reply.js.map +1 -0
  203. package/dist/session-goal-reports.d.ts +21 -0
  204. package/dist/session-history-import.d.ts +1272 -0
  205. package/dist/session-list-entries.d.ts +4 -0
  206. package/dist/session-list-entries.js +56 -0
  207. package/dist/session-list-entries.js.map +1 -0
  208. package/dist/session-mcp-projections.d.ts +6 -0
  209. package/dist/session-mcp-tool-permissions.d.ts +62 -0
  210. package/dist/session-message-search.d.ts +68 -0
  211. package/dist/session-target.d.ts +18 -0
  212. package/dist/session-titles.d.ts +8 -0
  213. package/dist/session-titles.js +5 -1
  214. package/dist/session-usage-limit-refusal.d.ts +34 -0
  215. package/dist/session-usage-limit-refusal.js +15 -0
  216. package/dist/session-usage-limit-refusal.js.map +1 -0
  217. package/dist/session-usage-limits.d.ts +127 -0
  218. package/dist/session-usage-limits.js +41 -0
  219. package/dist/session-usage-limits.js.map +1 -0
  220. package/dist/signup-attribution.d.ts +39 -0
  221. package/dist/site-data.d.ts +286 -0
  222. package/dist/site-operations.d.ts +39 -0
  223. package/dist/site-publishing.d.ts +778 -0
  224. package/dist/site-session-http.d.ts +89 -4
  225. package/dist/site-session-http.js +25 -1
  226. package/dist/site-sql.d.ts +421 -0
  227. package/dist/skill-catalog-context.d.ts +7 -0
  228. package/dist/skill-files.d.ts +1 -1
  229. package/dist/skill-use.d.ts +61 -0
  230. package/dist/skills.d.ts +15 -0
  231. package/dist/slack-bot-scopes.d.ts +17 -12
  232. package/dist/slack-bot-scopes.js +10 -3
  233. package/dist/slack-rest-mcp.d.ts +36 -0
  234. package/dist/slack-rest-mcp.js +25 -0
  235. package/dist/slack-rest-mcp.js.map +1 -0
  236. package/dist/spreadsheet-artifact-commands.d.ts +14 -1
  237. package/dist/spreadsheet-artifact-commands.js +8 -2
  238. package/dist/spreadsheet-artifact-query.d.ts +13 -6
  239. package/dist/spreadsheet-artifact-query.js +3 -3
  240. package/dist/subscription-account-actions.d.ts +64 -0
  241. package/dist/subscription-account-pools.d.ts +292 -0
  242. package/dist/subscription-personal-authority-v2.d.ts +28 -0
  243. package/dist/subscription-personal-authority-v2.js +12 -0
  244. package/dist/subscription-personal-authority-v2.js.map +1 -0
  245. package/dist/tool-action-review.d.ts +132 -0
  246. package/dist/tool-catalog.d.ts +408 -0
  247. package/dist/tool-policy.d.ts +5 -0
  248. package/dist/tool-review-presentation.d.ts +12 -0
  249. package/dist/tool-review-presentation.js +17 -0
  250. package/dist/tool-review-presentation.js.map +1 -0
  251. package/dist/transcription-recordings.d.ts +21 -0
  252. package/dist/turn-serving-policy.d.ts +221 -0
  253. package/dist/usage-allowances.d.ts +314 -0
  254. package/dist/usage-allowances.js +52 -0
  255. package/dist/usage-allowances.js.map +1 -0
  256. package/dist/vaults.d.ts +1286 -0
  257. package/dist/video-generation.d.ts +3 -0
  258. package/dist/video-generation.js +2 -1
  259. package/dist/workspace-instruction-policies.d.ts +13 -0
  260. package/dist/workspace-integration-wire.d.ts +36 -0
  261. package/dist/workspace-integration-wire.js +23 -0
  262. package/dist/workspace-integration-wire.js.map +1 -0
  263. package/dist/workspace-integrations.d.ts +1028 -0
  264. package/dist/workspace-state.d.ts +85 -416
  265. package/dist/xai-provider-account-authority.js +2 -1
  266. package/package.json +98 -2
  267. package/src/agent-authored-durable-text.ts +14 -11
  268. package/src/agent-config.ts +1698 -0
  269. package/src/agent-instruction-changes.ts +115 -0
  270. package/src/agent-learning.ts +188 -0
  271. package/src/agent-topology.ts +57 -52
  272. package/src/allowance-refusal.ts +81 -0
  273. package/src/analytics-consent-report.ts +20 -0
  274. package/src/api-key-presets.ts +28 -0
  275. package/src/artifact-catalog.ts +82 -0
  276. package/src/artifacts.ts +299 -227
  277. package/src/atlassian-native-retirement.ts +33 -0
  278. package/src/atlassian.ts +135 -108
  279. package/src/browser-storage.ts +10 -0
  280. package/src/bundled-skills.ts +60 -17
  281. package/src/canonical-human-identities.ts +60 -58
  282. package/src/claude-provider-account-authority.ts +12 -0
  283. package/src/claude-subscription-oauth.ts +73 -0
  284. package/src/claude-subscription-usage.ts +68 -0
  285. package/src/client-error-report.ts +343 -0
  286. package/src/code-search.ts +105 -0
  287. package/src/codex-provider-account-authority.ts +21 -16
  288. package/src/company-brain-governed-writes.ts +255 -233
  289. package/src/company-brain.ts +164 -153
  290. package/src/company-profile.ts +365 -292
  291. package/src/connect.ts +212 -173
  292. package/src/connection-account-label.ts +46 -0
  293. package/src/connection-authority.ts +183 -364
  294. package/src/connector-attachments.ts +137 -122
  295. package/src/connector-destinations.ts +46 -42
  296. package/src/connector-tool-permissions.ts +117 -0
  297. package/src/cua-desktop-tools.gen.json +6512 -0
  298. package/src/cua-desktop-tools.linux.gen.json +6600 -0
  299. package/src/cua-desktop-tools.ts +36 -0
  300. package/src/cua-desktop-tools.windows.gen.json +6353 -0
  301. package/src/define-schema.ts +10 -0
  302. package/src/direct-model-provider.ts +108 -0
  303. package/src/editable-artifact-committed-transaction.ts +17 -0
  304. package/src/editable-artifact-versions.ts +7 -1
  305. package/src/event-preview.ts +53 -3
  306. package/src/external-identities.ts +262 -145
  307. package/src/feedback.ts +43 -30
  308. package/src/first-party-tool-authorization.ts +356 -0
  309. package/src/github-repository-contracts.ts +78 -64
  310. package/src/google-drive.ts +285 -234
  311. package/src/governed-learning-activation.ts +152 -131
  312. package/src/governed-learning-evaluator.ts +140 -133
  313. package/src/host-mcp-bindings.ts +292 -198
  314. package/src/image-generation.ts +104 -95
  315. package/src/index.ts +13354 -8654
  316. package/src/insights-usage.ts +727 -0
  317. package/src/interaction.ts +3070 -2326
  318. package/src/knowledge-entries.ts +428 -0
  319. package/src/knowledge-preparation.ts +57 -0
  320. package/src/knowledge.ts +246 -213
  321. package/src/managed-auth-session-sets.ts +220 -144
  322. package/src/managed-sign-in-methods.ts +52 -0
  323. package/src/mcp-catalog-limits.ts +2 -0
  324. package/src/mcp-oauth.ts +43 -34
  325. package/src/mcp-receipts.ts +192 -192
  326. package/src/mcp-structured-content.ts +81 -0
  327. package/src/memory-slack-delivery.ts +171 -142
  328. package/src/modal-native-proof-v2.ts +429 -0
  329. package/src/model-account-choice.ts +177 -0
  330. package/src/model-account-settings.ts +210 -0
  331. package/src/model-availability.ts +22 -0
  332. package/src/model-connection-access.ts +61 -14
  333. package/src/model-context-inspector.ts +133 -99
  334. package/src/model-display.ts +221 -0
  335. package/src/model-picker-order.ts +12 -1
  336. package/src/organization-access.ts +217 -0
  337. package/src/organization-integration-policy.ts +63 -0
  338. package/src/organization-membership-lifecycle.ts +528 -382
  339. package/src/organization-model-usage.ts +81 -0
  340. package/src/organization-recovery.ts +147 -135
  341. package/src/organization-usage.ts +94 -0
  342. package/src/permissions.ts +88 -52
  343. package/src/personal-github.ts +210 -171
  344. package/src/preference-registry.ts +314 -258
  345. package/src/prepared-mcp-setup.ts +189 -0
  346. package/src/product-analytics.ts +261 -0
  347. package/src/product-lifecycle-facts.ts +122 -0
  348. package/src/remember.ts +181 -167
  349. package/src/retained-output.ts +194 -165
  350. package/src/sandbox-file-artifacts.ts +60 -47
  351. package/src/sandbox-provider-command.ts +88 -20
  352. package/src/sandbox-recovery.ts +129 -0
  353. package/src/scoped-knowledge.ts +61 -43
  354. package/src/secret-generator.ts +155 -0
  355. package/src/secret-references.ts +414 -0
  356. package/src/secret-resolution.ts +274 -0
  357. package/src/secret-totp.ts +188 -0
  358. package/src/session-final-reply.ts +16 -0
  359. package/src/session-goal-reports.ts +64 -0
  360. package/src/session-history-import.ts +177 -0
  361. package/src/session-list-entries.ts +96 -0
  362. package/src/session-mcp-projections.ts +11 -0
  363. package/src/session-mcp-tool-permissions.ts +108 -0
  364. package/src/session-message-search.ts +61 -0
  365. package/src/session-target.ts +57 -0
  366. package/src/session-titles.ts +80 -10
  367. package/src/session-topology-primitives.ts +19 -12
  368. package/src/session-usage-limit-refusal.ts +101 -0
  369. package/src/session-usage-limits.ts +171 -0
  370. package/src/signup-attribution.ts +86 -0
  371. package/src/site-data.ts +339 -0
  372. package/src/site-operations.ts +154 -0
  373. package/src/site-publishing.ts +876 -0
  374. package/src/site-session-http.ts +294 -16
  375. package/src/site-sql.ts +1123 -0
  376. package/src/skill-catalog-context.ts +50 -0
  377. package/src/skill-files.ts +3 -3
  378. package/src/skill-use.ts +80 -0
  379. package/src/skills.ts +82 -54
  380. package/src/slack-bot-scopes.ts +31 -39
  381. package/src/slack-rest-mcp.ts +222 -0
  382. package/src/slack-task-policy.ts +96 -73
  383. package/src/spreadsheet-artifact-commands.ts +73 -2
  384. package/src/spreadsheet-artifact-query.ts +187 -39
  385. package/src/subscription-account-actions.ts +84 -0
  386. package/src/subscription-account-pools.ts +53 -0
  387. package/src/subscription-personal-authority-v2.ts +66 -0
  388. package/src/task-notes.ts +55 -51
  389. package/src/tool-action-review.ts +258 -0
  390. package/src/tool-catalog.ts +609 -372
  391. package/src/tool-policy.ts +82 -0
  392. package/src/tool-result-spill.ts +12 -9
  393. package/src/tool-review-presentation.ts +385 -0
  394. package/src/transcription-recordings.ts +145 -131
  395. package/src/turn-serving-policy.ts +166 -0
  396. package/src/usage-allowances.ts +248 -0
  397. package/src/vaults.ts +850 -0
  398. package/src/video-generation.ts +385 -360
  399. package/src/work-claims.ts +173 -149
  400. package/src/workspace-instruction-policies.ts +349 -275
  401. package/src/workspace-integration-wire.ts +101 -0
  402. package/src/workspace-integrations.ts +724 -0
  403. package/src/workspace-learning-administration.ts +57 -44
  404. package/src/workspace-learning-policy.ts +127 -96
  405. package/src/workspace-state.ts +253 -333
  406. package/src/xai-provider-account-authority.ts +22 -17
  407. package/dist/chunk-3SIZGL3O.js.map +0 -1
  408. package/dist/chunk-7ABONTXE.js.map +0 -1
  409. package/dist/chunk-BCS7WHCK.js +0 -139
  410. package/dist/chunk-BCS7WHCK.js.map +0 -1
  411. package/dist/chunk-GRG7PHWQ.js +0 -25
  412. package/dist/chunk-GRG7PHWQ.js.map +0 -1
  413. package/dist/chunk-JUFK3T4Q.js +0 -80
  414. package/dist/chunk-JUFK3T4Q.js.map +0 -1
  415. package/dist/chunk-M5ZGRVIQ.js +0 -719
  416. package/dist/chunk-M5ZGRVIQ.js.map +0 -1
  417. package/dist/chunk-MRWYRAS5.js.map +0 -1
  418. package/dist/chunk-OSBYTE3O.js +0 -348
  419. package/dist/chunk-OSBYTE3O.js.map +0 -1
  420. package/dist/chunk-P3HLDT77.js +0 -59
  421. package/dist/chunk-P3HLDT77.js.map +0 -1
  422. package/dist/chunk-TEMFILR7.js +0 -143
  423. package/dist/chunk-TEMFILR7.js.map +0 -1
  424. package/dist/chunk-TXTQIYCV.js.map +0 -1
  425. package/dist/chunk-UR2GFYIE.js +0 -22598
  426. package/dist/chunk-UR2GFYIE.js.map +0 -1
  427. package/dist/chunk-WYBDERIY.js.map +0 -1
  428. package/dist/chunk-Y3KNXVTD.js.map +0 -1
  429. package/dist/chunk-YBW5JSA3.js.map +0 -1
  430. package/dist/chunk-YRXAWWCU.js +0 -45
  431. package/dist/chunk-YRXAWWCU.js.map +0 -1
  432. /package/dist/{chunk-5LYFSZ7O.js.map → chunk-352X6ENP.js.map} +0 -0
  433. /package/dist/{chunk-WBYTNVIW.js.map → chunk-RKX3NQYS.js.map} +0 -0
  434. /package/dist/{chunk-O5LEQHDM.js.map → chunk-Z7WEVGCL.js.map} +0 -0
@@ -0,0 +1,81 @@
1
+ import { defineSchema } from "./define-schema";
2
+ // Server-parsed only; kept off the root contracts index so browser bundles that
3
+ // import the root never carry these schemas.
4
+ import { z } from "zod";
5
+
6
+ import { OrganizationUsagePeriod, OrganizationUsageQuery } from "./organization-usage";
7
+
8
+ const BigIntString = /* @__PURE__ */ defineSchema(() => z.string().regex(/^\d+$/));
9
+ const OrganizationModelUsageBillingPath = /* @__PURE__ */ defineSchema(() =>
10
+ z.enum(["opengeni_credits", "external"]),
11
+ );
12
+
13
+ /** Exact per-billing-path sums from per-call model facts; bigint sums stay strings. */
14
+ export const OrganizationModelUsageTotals = /* @__PURE__ */ defineSchema(() =>
15
+ z.object({
16
+ billingPath: OrganizationModelUsageBillingPath,
17
+ calls: BigIntString,
18
+ inputTokens: BigIntString,
19
+ outputTokens: BigIntString,
20
+ cachedTokens: BigIntString,
21
+ cacheInputTokens: BigIntString,
22
+ cacheWriteTokens: BigIntString,
23
+ totalTokens: BigIntString,
24
+ tokenKnownCalls: BigIntString,
25
+ cacheKnownCalls: BigIntString,
26
+ creditMicros: BigIntString,
27
+ estimatedProviderMicros: BigIntString,
28
+ estimatedProviderKnownCalls: BigIntString,
29
+ }),
30
+ );
31
+ export type OrganizationModelUsageTotals = z.infer<typeof OrganizationModelUsageTotals>;
32
+
33
+ export const OrganizationModelUsageQuery = /* @__PURE__ */ defineSchema(() =>
34
+ OrganizationUsageQuery.extend({
35
+ afterWorkspaceId: z.string().uuid().optional(),
36
+ }),
37
+ );
38
+
39
+ export const OrganizationModelUsage = /* @__PURE__ */ defineSchema(() =>
40
+ z.object({
41
+ accountId: z.string().uuid(),
42
+ period: OrganizationUsagePeriod,
43
+ since: z.string().datetime(),
44
+ until: z.string().datetime(),
45
+ billing: z.array(OrganizationModelUsageTotals).max(2),
46
+ /** Exact uncapped per-fact payer split; independent of the top-model list. */
47
+ payers: z
48
+ .array(
49
+ OrganizationModelUsageTotals.omit({ billingPath: true }).extend({
50
+ payer: z.enum(["opengeni_credits", "subscription", "own_key"]),
51
+ }),
52
+ )
53
+ .default([]),
54
+ models: z
55
+ .array(
56
+ z.object({
57
+ provider: z.string(),
58
+ model: z.string(),
59
+ totals: OrganizationModelUsageTotals,
60
+ }),
61
+ )
62
+ .max(50),
63
+ modelsTruncated: z.boolean(),
64
+ workspaces: z
65
+ .array(
66
+ z.object({
67
+ workspaceId: z.string().uuid(),
68
+ name: z.string().nullable(),
69
+ billing: z.array(OrganizationModelUsageTotals).max(2),
70
+ }),
71
+ )
72
+ .max(50),
73
+ /** Every Personal workspace, aggregated; individual Personal workspaces are never named. */
74
+ personal: z.object({
75
+ workspacesWithUsage: BigIntString,
76
+ billing: z.array(OrganizationModelUsageTotals).max(2),
77
+ }),
78
+ nextWorkspaceCursor: z.string().uuid().nullable(),
79
+ }),
80
+ );
81
+ export type OrganizationModelUsage = z.infer<typeof OrganizationModelUsage>;
@@ -1,150 +1,156 @@
1
+ import { defineSchema } from "./define-schema";
1
2
  import { z } from "zod";
2
3
 
3
- const Uuid = z.string().uuid();
4
- const Timestamp = z.string().datetime({ offset: true });
4
+ const Uuid = /* @__PURE__ */ defineSchema(() => z.string().uuid());
5
+ const Timestamp = /* @__PURE__ */ defineSchema(() => z.string().datetime({ offset: true }));
5
6
 
6
- export const OrganizationRecoveryPolicyState = z.enum([
7
- "pending_acceptance",
8
- "active",
9
- "degraded",
10
- "superseded",
11
- "disabled",
12
- ]);
7
+ export const OrganizationRecoveryPolicyState = /* @__PURE__ */ defineSchema(() =>
8
+ z.enum(["pending_acceptance", "active", "degraded", "superseded", "disabled"]),
9
+ );
13
10
  export type OrganizationRecoveryPolicyState = z.infer<typeof OrganizationRecoveryPolicyState>;
14
11
 
15
- export const OrganizationRecoveryOperationState = z.enum([
16
- "collecting",
17
- "cooling",
18
- "executed",
19
- "cancelled",
20
- "expired",
21
- "superseded",
22
- ]);
12
+ export const OrganizationRecoveryOperationState = /* @__PURE__ */ defineSchema(() =>
13
+ z.enum(["collecting", "cooling", "executed", "cancelled", "expired", "superseded"]),
14
+ );
23
15
  export type OrganizationRecoveryOperationState = z.infer<typeof OrganizationRecoveryOperationState>;
24
16
 
25
- export const OrganizationRecoveryUnavailableReason = z.enum([
26
- "no_policy",
27
- "pending_acceptance",
28
- "degraded",
29
- "disabled",
30
- "identity_unavailable",
31
- ]);
17
+ export const OrganizationRecoveryUnavailableReason = /* @__PURE__ */ defineSchema(() =>
18
+ z.enum(["no_policy", "pending_acceptance", "degraded", "disabled", "identity_unavailable"]),
19
+ );
32
20
  export type OrganizationRecoveryUnavailableReason = z.infer<
33
21
  typeof OrganizationRecoveryUnavailableReason
34
22
  >;
35
23
 
36
- export const OrganizationRecoveryMemberSummary = z
37
- .object({
38
- membershipId: Uuid,
39
- name: z.string().trim().min(1).max(1024).nullable(),
40
- email: z.string().email().max(320).nullable(),
41
- })
42
- .strict();
24
+ export const OrganizationRecoveryMemberSummary = /* @__PURE__ */ defineSchema(() =>
25
+ z
26
+ .object({
27
+ membershipId: Uuid,
28
+ name: z.string().trim().min(1).max(1024).nullable(),
29
+ email: z.string().email().max(320).nullable(),
30
+ })
31
+ .strict(),
32
+ );
43
33
  export type OrganizationRecoveryMemberSummary = z.infer<typeof OrganizationRecoveryMemberSummary>;
44
34
 
45
- export const OrganizationRecoveryCustodian = OrganizationRecoveryMemberSummary.extend({
46
- ordinal: z.number().int().min(1).max(3),
47
- enrollmentState: z.enum(["pending_acceptance", "accepted", "ineligible"]),
48
- acceptedAt: Timestamp.nullable(),
49
- }).strict();
35
+ export const OrganizationRecoveryCustodian = /* @__PURE__ */ defineSchema(() =>
36
+ OrganizationRecoveryMemberSummary.extend({
37
+ ordinal: z.number().int().min(1).max(3),
38
+ enrollmentState: z.enum(["pending_acceptance", "accepted", "ineligible"]),
39
+ acceptedAt: Timestamp.nullable(),
40
+ }).strict(),
41
+ );
50
42
  export type OrganizationRecoveryCustodian = z.infer<typeof OrganizationRecoveryCustodian>;
51
43
 
52
- export const OrganizationRecoveryPolicy = z
53
- .object({
54
- id: Uuid,
55
- organizationId: Uuid,
56
- revision: z.number().int().positive(),
57
- state: OrganizationRecoveryPolicyState,
58
- custodians: z.array(OrganizationRecoveryCustodian).length(3),
59
- createdAt: Timestamp,
60
- updatedAt: Timestamp,
61
- })
62
- .strict();
44
+ export const OrganizationRecoveryPolicy = /* @__PURE__ */ defineSchema(() =>
45
+ z
46
+ .object({
47
+ id: Uuid,
48
+ organizationId: Uuid,
49
+ revision: z.number().int().positive(),
50
+ state: OrganizationRecoveryPolicyState,
51
+ custodians: z.array(OrganizationRecoveryCustodian).length(3),
52
+ createdAt: Timestamp,
53
+ updatedAt: Timestamp,
54
+ })
55
+ .strict(),
56
+ );
63
57
  export type OrganizationRecoveryPolicy = z.infer<typeof OrganizationRecoveryPolicy>;
64
58
 
65
- export const OrganizationRecoveryApproval = OrganizationRecoveryMemberSummary.extend({
66
- approvedAt: Timestamp,
67
- }).strict();
59
+ export const OrganizationRecoveryApproval = /* @__PURE__ */ defineSchema(() =>
60
+ OrganizationRecoveryMemberSummary.extend({
61
+ approvedAt: Timestamp,
62
+ }).strict(),
63
+ );
68
64
  export type OrganizationRecoveryApproval = z.infer<typeof OrganizationRecoveryApproval>;
69
65
 
70
- export const OrganizationRecoveryOperation = z
71
- .object({
72
- id: Uuid,
73
- organizationId: Uuid,
74
- policyId: Uuid,
75
- policyRevision: z.number().int().positive(),
76
- revision: z.number().int().positive(),
77
- state: OrganizationRecoveryOperationState,
78
- target: OrganizationRecoveryMemberSummary,
79
- approvals: z.array(OrganizationRecoveryApproval).max(3),
80
- approvalCount: z.number().int().min(0).max(3),
81
- quorumAt: Timestamp.nullable(),
82
- executableAt: Timestamp.nullable(),
83
- expiresAt: Timestamp,
84
- executedAt: Timestamp.nullable(),
85
- cancelledAt: Timestamp.nullable(),
86
- notificationJournaled: z.boolean(),
87
- createdAt: Timestamp,
88
- updatedAt: Timestamp,
89
- })
90
- .strict();
66
+ export const OrganizationRecoveryOperation = /* @__PURE__ */ defineSchema(() =>
67
+ z
68
+ .object({
69
+ id: Uuid,
70
+ organizationId: Uuid,
71
+ policyId: Uuid,
72
+ policyRevision: z.number().int().positive(),
73
+ revision: z.number().int().positive(),
74
+ state: OrganizationRecoveryOperationState,
75
+ target: OrganizationRecoveryMemberSummary,
76
+ approvals: z.array(OrganizationRecoveryApproval).max(3),
77
+ approvalCount: z.number().int().min(0).max(3),
78
+ quorumAt: Timestamp.nullable(),
79
+ executableAt: Timestamp.nullable(),
80
+ expiresAt: Timestamp,
81
+ executedAt: Timestamp.nullable(),
82
+ cancelledAt: Timestamp.nullable(),
83
+ notificationJournaled: z.boolean(),
84
+ createdAt: Timestamp,
85
+ updatedAt: Timestamp,
86
+ })
87
+ .strict(),
88
+ );
91
89
  export type OrganizationRecoveryOperation = z.infer<typeof OrganizationRecoveryOperation>;
92
90
 
93
- export const OrganizationRecoveryCapabilities = z
94
- .object({
95
- configure: z.boolean(),
96
- accept: z.boolean(),
97
- disable: z.boolean(),
98
- start: z.boolean(),
99
- approve: z.boolean(),
100
- cancel: z.boolean(),
101
- execute: z.boolean(),
102
- })
103
- .strict();
91
+ export const OrganizationRecoveryCapabilities = /* @__PURE__ */ defineSchema(() =>
92
+ z
93
+ .object({
94
+ configure: z.boolean(),
95
+ accept: z.boolean(),
96
+ disable: z.boolean(),
97
+ start: z.boolean(),
98
+ approve: z.boolean(),
99
+ cancel: z.boolean(),
100
+ execute: z.boolean(),
101
+ })
102
+ .strict(),
103
+ );
104
104
  export type OrganizationRecoveryCapabilities = z.infer<typeof OrganizationRecoveryCapabilities>;
105
105
 
106
- export const OrganizationRecoveryOverview = z
107
- .object({
108
- organizationId: Uuid,
109
- availability: z.enum(["available", "recovery_unavailable"]),
110
- unavailableReason: OrganizationRecoveryUnavailableReason.nullable(),
111
- recentReauthenticationAt: Timestamp.nullable(),
112
- eligibleMembers: z.array(OrganizationRecoveryMemberSummary).max(1000),
113
- policy: OrganizationRecoveryPolicy.nullable(),
114
- operation: OrganizationRecoveryOperation.nullable(),
115
- capabilities: OrganizationRecoveryCapabilities,
116
- })
117
- .strict();
106
+ export const OrganizationRecoveryOverview = /* @__PURE__ */ defineSchema(() =>
107
+ z
108
+ .object({
109
+ organizationId: Uuid,
110
+ availability: z.enum(["available", "recovery_unavailable"]),
111
+ unavailableReason: OrganizationRecoveryUnavailableReason.nullable(),
112
+ recentReauthenticationAt: Timestamp.nullable(),
113
+ eligibleMembers: z.array(OrganizationRecoveryMemberSummary).max(1000),
114
+ policy: OrganizationRecoveryPolicy.nullable(),
115
+ operation: OrganizationRecoveryOperation.nullable(),
116
+ capabilities: OrganizationRecoveryCapabilities,
117
+ })
118
+ .strict(),
119
+ );
118
120
  export type OrganizationRecoveryOverview = z.infer<typeof OrganizationRecoveryOverview>;
119
121
 
120
- const ExpectedPolicyRevision = z.number().int().nonnegative();
121
- const ExpectedOperationRevision = z.number().int().positive();
122
+ const ExpectedPolicyRevision = /* @__PURE__ */ defineSchema(() => z.number().int().nonnegative());
123
+ const ExpectedOperationRevision = /* @__PURE__ */ defineSchema(() => z.number().int().positive());
122
124
  const CommandOperationId = Uuid;
123
125
 
124
- export const ConfigureOrganizationRecoveryPolicyRequest = z
125
- .object({
126
- custodianMembershipIds: z.tuple([Uuid, Uuid, Uuid]).superRefine((ids, context) => {
127
- if (new Set(ids).size !== 3) {
128
- context.addIssue({
129
- code: "custom",
130
- message: "recovery custodians must be three distinct memberships",
131
- });
132
- }
133
- }),
134
- expectedPolicyRevision: ExpectedPolicyRevision,
135
- operationId: CommandOperationId,
136
- })
137
- .strict();
126
+ export const ConfigureOrganizationRecoveryPolicyRequest = /* @__PURE__ */ defineSchema(() =>
127
+ z
128
+ .object({
129
+ custodianMembershipIds: z.tuple([Uuid, Uuid, Uuid]).superRefine((ids, context) => {
130
+ if (new Set(ids).size !== 3) {
131
+ context.addIssue({
132
+ code: "custom",
133
+ message: "recovery custodians must be three distinct memberships",
134
+ });
135
+ }
136
+ }),
137
+ expectedPolicyRevision: ExpectedPolicyRevision,
138
+ operationId: CommandOperationId,
139
+ })
140
+ .strict(),
141
+ );
138
142
  export type ConfigureOrganizationRecoveryPolicyRequest = z.infer<
139
143
  typeof ConfigureOrganizationRecoveryPolicyRequest
140
144
  >;
141
145
 
142
- export const AcceptOrganizationRecoveryCustodyRequest = z
143
- .object({
144
- expectedPolicyRevision: ExpectedPolicyRevision,
145
- operationId: CommandOperationId,
146
- })
147
- .strict();
146
+ export const AcceptOrganizationRecoveryCustodyRequest = /* @__PURE__ */ defineSchema(() =>
147
+ z
148
+ .object({
149
+ expectedPolicyRevision: ExpectedPolicyRevision,
150
+ operationId: CommandOperationId,
151
+ })
152
+ .strict(),
153
+ );
148
154
  export type AcceptOrganizationRecoveryCustodyRequest = z.infer<
149
155
  typeof AcceptOrganizationRecoveryCustodyRequest
150
156
  >;
@@ -154,33 +160,39 @@ export type DisableOrganizationRecoveryPolicyRequest = z.infer<
154
160
  typeof DisableOrganizationRecoveryPolicyRequest
155
161
  >;
156
162
 
157
- export const StartOrganizationRecoveryOperationRequest = z
158
- .object({
159
- targetMembershipId: Uuid,
160
- expectedPolicyRevision: z.number().int().positive(),
161
- operationId: CommandOperationId,
162
- })
163
- .strict();
163
+ export const StartOrganizationRecoveryOperationRequest = /* @__PURE__ */ defineSchema(() =>
164
+ z
165
+ .object({
166
+ targetMembershipId: Uuid,
167
+ expectedPolicyRevision: z.number().int().positive(),
168
+ operationId: CommandOperationId,
169
+ })
170
+ .strict(),
171
+ );
164
172
  export type StartOrganizationRecoveryOperationRequest = z.infer<
165
173
  typeof StartOrganizationRecoveryOperationRequest
166
174
  >;
167
175
 
168
- export const OrganizationRecoveryOperationCommandRequest = z
169
- .object({
170
- expectedOperationRevision: ExpectedOperationRevision,
171
- operationId: CommandOperationId,
172
- })
173
- .strict();
176
+ export const OrganizationRecoveryOperationCommandRequest = /* @__PURE__ */ defineSchema(() =>
177
+ z
178
+ .object({
179
+ expectedOperationRevision: ExpectedOperationRevision,
180
+ operationId: CommandOperationId,
181
+ })
182
+ .strict(),
183
+ );
174
184
  export type OrganizationRecoveryOperationCommandRequest = z.infer<
175
185
  typeof OrganizationRecoveryOperationCommandRequest
176
186
  >;
177
187
 
178
- export const OrganizationRecoveryMutationResponse = z
179
- .object({
180
- replay: z.boolean(),
181
- overview: OrganizationRecoveryOverview,
182
- })
183
- .strict();
188
+ export const OrganizationRecoveryMutationResponse = /* @__PURE__ */ defineSchema(() =>
189
+ z
190
+ .object({
191
+ replay: z.boolean(),
192
+ overview: OrganizationRecoveryOverview,
193
+ })
194
+ .strict(),
195
+ );
184
196
  export type OrganizationRecoveryMutationResponse = z.infer<
185
197
  typeof OrganizationRecoveryMutationResponse
186
198
  >;
@@ -0,0 +1,94 @@
1
+ import { defineSchema } from "./define-schema";
2
+ import { z } from "zod";
3
+
4
+ export const OrganizationUsagePeriod = /* @__PURE__ */ defineSchema(() =>
5
+ z.enum(["today", "week", "month", "ytd"]),
6
+ );
7
+ export type OrganizationUsagePeriod = z.infer<typeof OrganizationUsagePeriod>;
8
+ export const OrganizationUsageQuery = /* @__PURE__ */ defineSchema(() =>
9
+ z.object({
10
+ period: OrganizationUsagePeriod.default("month"),
11
+ }),
12
+ );
13
+ export const OrganizationUsageWorkspacePageQuery = /* @__PURE__ */ defineSchema(() =>
14
+ OrganizationUsageQuery.extend({
15
+ until: z.string().datetime(),
16
+ afterWorkspaceId: z.string().uuid().optional(),
17
+ }),
18
+ );
19
+ // PostgreSQL SUM(bigint) must never pass through a JavaScript number.
20
+ export const OrganizationUsageTotal = /* @__PURE__ */ defineSchema(() =>
21
+ z.object({
22
+ eventType: z.string(),
23
+ unit: z.string(),
24
+ quantity: z.string().regex(/^-?\d+$/),
25
+ eventCount: z.string().regex(/^\d+$/),
26
+ }),
27
+ );
28
+ /** One member's Personal workspace, as usage only. */
29
+ export const OrganizationUsagePersonalWorkspace = /* @__PURE__ */ defineSchema(() =>
30
+ z.object({
31
+ membershipId: z.string().uuid(),
32
+ totals: z.array(OrganizationUsageTotal),
33
+ }),
34
+ );
35
+ export type OrganizationUsagePersonalWorkspace = z.infer<typeof OrganizationUsagePersonalWorkspace>;
36
+ export const OrganizationUsageSummary = /* @__PURE__ */ defineSchema(() =>
37
+ z.object({
38
+ accountId: z.string().uuid(),
39
+ period: OrganizationUsagePeriod,
40
+ since: z.string().datetime(),
41
+ until: z.string().datetime(),
42
+ granularity: z.enum(["hour", "day"]),
43
+ totals: z.array(OrganizationUsageTotal),
44
+ buckets: z.array(z.object({ bucket: z.string(), totals: z.array(OrganizationUsageTotal) })),
45
+ workspaces: z
46
+ .array(
47
+ z.object({
48
+ workspaceId: z.string().uuid(),
49
+ name: z.string().nullable(),
50
+ totals: z.array(OrganizationUsageTotal),
51
+ }),
52
+ )
53
+ .max(50),
54
+ nextWorkspaceCursor: z.string().uuid().nullable(),
55
+ /**
56
+ * Usage in each member's Personal workspace, keyed by the owner's
57
+ * organization membership: amounts only, never the workspace's id, name or
58
+ * content. Only Personal workspaces with usage in the period, the 50 that
59
+ * spent the most. Absent before migration 0543, hence the defaults.
60
+ */
61
+ personalWorkspaces: z.array(OrganizationUsagePersonalWorkspace).max(50).default([]),
62
+ /** How many Personal workspaces had usage in the period, listed or not. */
63
+ personalWorkspaceCount: z.number().int().nonnegative().default(0),
64
+ /** Other people's Only-me chats in shared workspaces: member amounts only. */
65
+ privateChats: z
66
+ .array(
67
+ z.object({
68
+ workspaceId: z.string().uuid(),
69
+ membershipId: z.string().uuid().nullable(),
70
+ name: z.string().nullable(),
71
+ totals: z.array(OrganizationUsageTotal),
72
+ }),
73
+ )
74
+ .default([]),
75
+ privateChatsTruncated: z.boolean().default(false),
76
+ }),
77
+ );
78
+ export type OrganizationUsageSummary = z.infer<typeof OrganizationUsageSummary>;
79
+
80
+ /**
81
+ * A page deliberately excludes totals, charts and Personal rows: those are not
82
+ * recomputed. Pages continue the shared workspaces only.
83
+ */
84
+ export const OrganizationUsageWorkspacePage = /* @__PURE__ */ defineSchema(() =>
85
+ OrganizationUsageSummary.omit({
86
+ totals: true,
87
+ buckets: true,
88
+ personalWorkspaces: true,
89
+ personalWorkspaceCount: true,
90
+ privateChats: true,
91
+ privateChatsTruncated: true,
92
+ }),
93
+ );
94
+ export type OrganizationUsageWorkspacePage = z.infer<typeof OrganizationUsageWorkspacePage>;
@@ -1,56 +1,92 @@
1
+ import { defineSchema } from "./define-schema";
1
2
  import { z } from "zod";
2
3
 
3
4
  /** Canonical public permission vocabulary shared by operational and control-plane contracts. */
4
- export const Permission = z.enum([
5
- "account:read",
6
- "account:admin",
7
- "members:manage",
8
- "workspace:create",
9
- "billing:read",
10
- "billing:manage",
11
- "workspace:read",
12
- "workspace:admin",
13
- "sessions:create",
14
- "sessions:read",
15
- "sessions:control",
16
- "stream:view",
17
- "stream:control",
18
- "stream:acknowledge",
19
- "files:upload",
20
- "files:read",
21
- "files:write",
22
- "terminal:attach",
23
- "documents:manage",
24
- "documents:search",
25
- "scheduled_tasks:manage",
26
- "scheduled_tasks:run",
27
- "github:manage",
28
- "github:use",
29
- "api_keys:manage",
30
- "connections:read",
31
- "connections:write",
32
- "capabilities:manage",
33
- /** @deprecated alias of variable-sets:manage */
34
- "environments:manage",
35
- /** @deprecated alias of variable-sets:use */
36
- "environments:use",
37
- "variable-sets:list",
38
- "variable-sets:read",
39
- "variable-sets:write",
40
- "variable-sets:manage",
41
- "variable-sets:attach",
42
- "variable-sets:use",
43
- "secrets:list",
44
- "secrets:read",
45
- "secrets:write",
46
- "mcp_servers:attach",
47
- "codemode:call",
48
- "goals:manage",
49
- "enrollments:read",
50
- "enrollments:manage",
51
- "rigs:use",
52
- "rigs:manage",
53
- "artifacts:read",
54
- "artifacts:publish",
55
- ]);
5
+ export const Permission = /* @__PURE__ */ defineSchema(() =>
6
+ z.enum([
7
+ "account:read",
8
+ "account:admin",
9
+ "members:manage",
10
+ "workspace:create",
11
+ "billing:read",
12
+ "billing:manage",
13
+ "workspace:read",
14
+ "workspace:admin",
15
+ "sessions:create",
16
+ "sessions:read",
17
+ "sessions:control",
18
+ "stream:view",
19
+ "stream:control",
20
+ "stream:acknowledge",
21
+ "files:upload",
22
+ "files:read",
23
+ "files:write",
24
+ "terminal:attach",
25
+ "documents:manage",
26
+ "documents:search",
27
+ "scheduled_tasks:manage",
28
+ "scheduled_tasks:run",
29
+ "github:manage",
30
+ "github:use",
31
+ "api_keys:manage",
32
+ /** Literal organization-key authority to configure workspace usage allowances. */
33
+ "usage_allowances:manage",
34
+ "connections:read",
35
+ "connections:write",
36
+ "capabilities:manage",
37
+ /** @deprecated alias of secrets:write */
38
+ "environments:manage",
39
+ /** @deprecated alias of secrets:use */
40
+ "environments:use",
41
+ /** @deprecated alias of secrets:list */
42
+ "variable-sets:list",
43
+ /** @deprecated alias of secrets:list */
44
+ "variable-sets:read",
45
+ /** @deprecated alias of secrets:write */
46
+ "variable-sets:write",
47
+ /** @deprecated alias of secrets:write */
48
+ "variable-sets:manage",
49
+ /** @deprecated alias of secrets:use */
50
+ "variable-sets:attach",
51
+ /** @deprecated alias of secrets:use */
52
+ "variable-sets:use",
53
+ "secrets:list",
54
+ /** Literal plaintext read through a tool or API key (agents lack it by default). */
55
+ "secrets:read",
56
+ "secrets:write",
57
+ /** Use secrets by reference; for humans, also reveal ("use = reveal"). */
58
+ "secrets:use",
59
+ "mcp_servers:attach",
60
+ "codemode:call",
61
+ "goals:manage",
62
+ "enrollments:read",
63
+ "enrollments:manage",
64
+ "rigs:use",
65
+ "rigs:manage",
66
+ "artifacts:read",
67
+ "artifacts:publish",
68
+ ]),
69
+ );
56
70
  export type Permission = z.infer<typeof Permission>;
71
+
72
+ /**
73
+ * Legacy permission names and their secrets equivalents (Q-16). Stored role
74
+ * and API-key permission arrays are aliased at read time, never rewritten.
75
+ */
76
+ export const SECRET_PERMISSION_ALIASES = {
77
+ "variable-sets:list": "secrets:list",
78
+ "variable-sets:read": "secrets:list",
79
+ "variable-sets:write": "secrets:write",
80
+ "variable-sets:manage": "secrets:write",
81
+ "environments:manage": "secrets:write",
82
+ "variable-sets:attach": "secrets:use",
83
+ "variable-sets:use": "secrets:use",
84
+ "environments:use": "secrets:use",
85
+ } as const satisfies Readonly<Partial<Record<Permission, Permission>>>;
86
+
87
+ /** Canonical name for a permission: legacy variable-set names map to `secrets:*`. */
88
+ export function normalizePermission(name: string): string {
89
+ return Object.hasOwn(SECRET_PERMISSION_ALIASES, name)
90
+ ? SECRET_PERMISSION_ALIASES[name as keyof typeof SECRET_PERMISSION_ALIASES]
91
+ : name;
92
+ }