@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
@@ -1,3 +1,4 @@
1
+ import { defineSchema } from "./define-schema";
1
2
  import { z } from "zod";
2
3
 
3
4
  export const MANAGED_AUTH_SESSION_SET_MAX_SLOTS = 8 as const;
@@ -7,45 +8,59 @@ export const MANAGED_AUTH_SESSION_SET_API_CONTRACT_HEADER = "x-opengeni-api-cont
7
8
  export const MANAGED_AUTH_SESSION_SET_API_CONTRACT_REVISION =
8
9
  "2026-08-personal-only-organization-setup-v1" as const;
9
10
 
10
- export const ManagedAuthSessionSetMode = z.enum(["legacy", "dual", "broker"]);
11
+ export const ManagedAuthSessionSetMode = /* @__PURE__ */ defineSchema(() =>
12
+ z.enum(["legacy", "dual", "broker"]),
13
+ );
11
14
  export type ManagedAuthSessionSetMode = z.infer<typeof ManagedAuthSessionSetMode>;
12
15
 
13
- export const ManagedAuthLoginSlotState = z.enum(["active", "reauth_required"]);
16
+ export const ManagedAuthLoginSlotState = /* @__PURE__ */ defineSchema(() =>
17
+ z.enum(["active", "reauth_required"]),
18
+ );
14
19
  export type ManagedAuthLoginSlotState = z.infer<typeof ManagedAuthLoginSlotState>;
15
20
 
16
- export const ManagedAuthVerifiedClaim = z.object({
17
- kind: z.literal("email"),
18
- value: z.string().email().max(320),
19
- });
21
+ export const ManagedAuthVerifiedClaim = /* @__PURE__ */ defineSchema(() =>
22
+ z.object({
23
+ kind: z.literal("email"),
24
+ value: z.string().email().max(320),
25
+ }),
26
+ );
20
27
  export type ManagedAuthVerifiedClaim = z.infer<typeof ManagedAuthVerifiedClaim>;
21
28
 
22
29
  /** Secret-free, browser-safe summary. Provider session ids and tokens never enter this shape. */
23
- export const ManagedAuthLoginSlot = z.object({
24
- id: z.string().uuid(),
25
- displayName: z.string().min(1).max(256),
26
- verifiedClaim: ManagedAuthVerifiedClaim,
27
- state: ManagedAuthLoginSlotState,
28
- });
30
+ export const ManagedAuthLoginSlot = /* @__PURE__ */ defineSchema(() =>
31
+ z.object({
32
+ id: z.string().uuid(),
33
+ displayName: z.string().min(1).max(256),
34
+ verifiedClaim: ManagedAuthVerifiedClaim,
35
+ state: ManagedAuthLoginSlotState,
36
+ }),
37
+ );
29
38
  export type ManagedAuthLoginSlot = z.infer<typeof ManagedAuthLoginSlot>;
30
39
 
31
- export const ManagedAuthSessionSetState = z.enum(["ready", "actor_change_required"]);
40
+ export const ManagedAuthSessionSetState = /* @__PURE__ */ defineSchema(() =>
41
+ z.enum(["ready", "actor_change_required"]),
42
+ );
32
43
  export type ManagedAuthSessionSetState = z.infer<typeof ManagedAuthSessionSetState>;
33
44
 
34
- export const ManagedAuthSessionSetProjection = z.object({
35
- mode: ManagedAuthSessionSetMode,
36
- generation: z.string().regex(/^[1-9][0-9]*$/),
37
- actorEpoch: z.string().regex(/^[1-9][0-9]*$/),
38
- csrfToken: z.string().min(32).max(512),
39
- selectedSlotId: z.string().uuid().nullable(),
40
- state: ManagedAuthSessionSetState,
41
- slots: z.array(ManagedAuthLoginSlot).max(MANAGED_AUTH_SESSION_SET_MAX_SLOTS),
42
- });
45
+ export const ManagedAuthSessionSetProjection = /* @__PURE__ */ defineSchema(() =>
46
+ z.object({
47
+ mode: ManagedAuthSessionSetMode,
48
+ generation: z.string().regex(/^[1-9][0-9]*$/),
49
+ actorEpoch: z.string().regex(/^[1-9][0-9]*$/),
50
+ csrfToken: z.string().min(32).max(512),
51
+ selectedSlotId: z.string().uuid().nullable(),
52
+ state: ManagedAuthSessionSetState,
53
+ slots: z.array(ManagedAuthLoginSlot).max(MANAGED_AUTH_SESSION_SET_MAX_SLOTS),
54
+ }),
55
+ );
43
56
  export type ManagedAuthSessionSetProjection = z.infer<typeof ManagedAuthSessionSetProjection>;
44
57
 
45
- export const ManagedAuthOperationIdentity = z.object({
46
- operationId: z.string().uuid(),
47
- expectedGeneration: z.string().regex(/^[1-9][0-9]*$/),
48
- });
58
+ export const ManagedAuthOperationIdentity = /* @__PURE__ */ defineSchema(() =>
59
+ z.object({
60
+ operationId: z.string().uuid(),
61
+ expectedGeneration: z.string().regex(/^[1-9][0-9]*$/),
62
+ }),
63
+ );
49
64
  export type ManagedAuthOperationIdentity = z.infer<typeof ManagedAuthOperationIdentity>;
50
65
 
51
66
  export const BootstrapManagedAuthSessionSetRequest = ManagedAuthOperationIdentity;
@@ -53,174 +68,235 @@ export type BootstrapManagedAuthSessionSetRequest = z.infer<
53
68
  typeof BootstrapManagedAuthSessionSetRequest
54
69
  >;
55
70
 
56
- export const ManagedAuthReturnIntent = z
57
- .string()
58
- .min(1)
59
- .superRefine((value, context) => {
60
- if (new TextEncoder().encode(value).byteLength > MANAGED_AUTH_RETURN_INTENT_MAX_BYTES) {
61
- context.addIssue({ code: "custom", message: "return intent exceeds its UTF-8 byte limit" });
62
- }
63
- if (
64
- !value.startsWith("/") ||
65
- value.startsWith("//") ||
66
- value.includes("?") ||
67
- value.includes("#") ||
68
- /[\u0000-\u001f\u007f\\]/.test(value)
69
- ) {
70
- context.addIssue({
71
- code: "custom",
72
- message: "return intent must be a safe same-origin path",
73
- });
74
- return;
75
- }
76
- try {
77
- const parsed = new URL(value, "https://opengeni.invalid");
78
- const uuid = "[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}";
79
- const supportedPath = new RegExp(
80
- `^/(?:sessions/${uuid}|workspaces/${uuid}(?:/sessions(?:/${uuid})?)?)$`,
81
- "i",
82
- );
71
+ export const ManagedAuthReturnIntent = /* @__PURE__ */ defineSchema(() =>
72
+ z
73
+ .string()
74
+ .min(1)
75
+ .superRefine((value, context) => {
76
+ if (new TextEncoder().encode(value).byteLength > MANAGED_AUTH_RETURN_INTENT_MAX_BYTES) {
77
+ context.addIssue({ code: "custom", message: "return intent exceeds its UTF-8 byte limit" });
78
+ }
83
79
  if (
84
- parsed.origin !== "https://opengeni.invalid" ||
85
- parsed.username ||
86
- parsed.password ||
87
- parsed.search ||
88
- parsed.hash ||
89
- !supportedPath.test(value) ||
90
- parsed.pathname !== value
80
+ !value.startsWith("/") ||
81
+ value.startsWith("//") ||
82
+ value.includes("?") ||
83
+ value.includes("#") ||
84
+ /[\u0000-\u001f\u007f\\]/.test(value)
91
85
  ) {
92
86
  context.addIssue({
93
87
  code: "custom",
94
- message: "return intent contains unsafe authority data",
88
+ message: "return intent must be a safe same-origin path",
95
89
  });
90
+ return;
96
91
  }
97
- } catch {
92
+ try {
93
+ const parsed = new URL(value, "https://opengeni.invalid");
94
+ const uuid = "[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}";
95
+ const supportedPath = new RegExp(
96
+ `^/(?:sessions/${uuid}|workspaces/${uuid}(?:/sessions(?:/${uuid})?)?)$`,
97
+ "i",
98
+ );
99
+ if (
100
+ parsed.origin !== "https://opengeni.invalid" ||
101
+ parsed.username ||
102
+ parsed.password ||
103
+ parsed.search ||
104
+ parsed.hash ||
105
+ !supportedPath.test(value) ||
106
+ parsed.pathname !== value
107
+ ) {
108
+ context.addIssue({
109
+ code: "custom",
110
+ message: "return intent contains unsafe authority data",
111
+ });
112
+ }
113
+ } catch {
114
+ context.addIssue({
115
+ code: "custom",
116
+ message: "return intent is not a valid same-origin path",
117
+ });
118
+ }
119
+ }),
120
+ );
121
+
122
+ export const BeginManagedAuthLoginTransactionRequest = /* @__PURE__ */ defineSchema(() =>
123
+ ManagedAuthOperationIdentity.extend({
124
+ kind: z.enum(["add", "reauth"]),
125
+ slotId: z.string().uuid().optional(),
126
+ returnIntent: ManagedAuthReturnIntent.optional(),
127
+ }).superRefine((value, context) => {
128
+ if ((value.kind === "reauth") !== Boolean(value.slotId)) {
98
129
  context.addIssue({
99
130
  code: "custom",
100
- message: "return intent is not a valid same-origin path",
131
+ path: ["slotId"],
132
+ message: "reauth requires exactly one slot id and add forbids one",
101
133
  });
102
134
  }
103
- });
104
-
105
- export const BeginManagedAuthLoginTransactionRequest = ManagedAuthOperationIdentity.extend({
106
- kind: z.enum(["add", "reauth"]),
107
- slotId: z.string().uuid().optional(),
108
- returnIntent: ManagedAuthReturnIntent.optional(),
109
- }).superRefine((value, context) => {
110
- if ((value.kind === "reauth") !== Boolean(value.slotId)) {
111
- context.addIssue({
112
- code: "custom",
113
- path: ["slotId"],
114
- message: "reauth requires exactly one slot id and add forbids one",
115
- });
116
- }
117
- });
135
+ }),
136
+ );
118
137
  export type BeginManagedAuthLoginTransactionRequest = z.infer<
119
138
  typeof BeginManagedAuthLoginTransactionRequest
120
139
  >;
121
140
 
122
- export const ManagedAuthLoginTransaction = z.object({
123
- id: z.string().uuid(),
124
- kind: z.enum(["add", "reauth"]),
125
- expiresAt: z.string().datetime(),
126
- returnIntentId: z.string().uuid().nullable(),
127
- });
141
+ export const ManagedAuthLoginTransaction = /* @__PURE__ */ defineSchema(() =>
142
+ z.object({
143
+ id: z.string().uuid(),
144
+ kind: z.enum(["add", "reauth"]),
145
+ expiresAt: z.string().datetime(),
146
+ returnIntentId: z.string().uuid().nullable(),
147
+ }),
148
+ );
128
149
  export type ManagedAuthLoginTransaction = z.infer<typeof ManagedAuthLoginTransaction>;
129
150
 
130
- export const ManagedAuthSocialProvider = z.enum(["google", "github"]);
151
+ export const ManagedAuthSocialProvider = /* @__PURE__ */ defineSchema(() =>
152
+ z.enum(["google", "github"]),
153
+ );
131
154
  export type ManagedAuthSocialProvider = z.infer<typeof ManagedAuthSocialProvider>;
132
155
 
133
- export const StartManagedAuthSocialTransactionRequest = ManagedAuthOperationIdentity.extend({
134
- transactionId: z.string().uuid(),
135
- provider: ManagedAuthSocialProvider,
136
- });
156
+ /**
157
+ * Mirrors `SignupAttribution` from `./signup-attribution` (a contract test pins
158
+ * them together). Declared here, not imported, so the browser session-set
159
+ * client does not pull the attribution module into a new shared web chunk.
160
+ */
161
+ const SocialStartAttributionValue = /* @__PURE__ */ defineSchema(() =>
162
+ z
163
+ .string()
164
+ .trim()
165
+ .min(1)
166
+ .max(100)
167
+ .regex(/^[A-Za-z0-9._~+-]+$/),
168
+ );
169
+ const SocialStartAttribution = /* @__PURE__ */ defineSchema(() =>
170
+ z
171
+ .object({
172
+ utmSource: SocialStartAttributionValue.optional(),
173
+ utmMedium: SocialStartAttributionValue.optional(),
174
+ utmCampaign: SocialStartAttributionValue.optional(),
175
+ utmContent: SocialStartAttributionValue.optional(),
176
+ ref: SocialStartAttributionValue.optional(),
177
+ })
178
+ .strict(),
179
+ );
180
+
181
+ export const StartManagedAuthSocialTransactionRequest = /* @__PURE__ */ defineSchema(() =>
182
+ ManagedAuthOperationIdentity.extend({
183
+ transactionId: z.string().uuid(),
184
+ provider: ManagedAuthSocialProvider,
185
+ /**
186
+ * Optional untrusted first-touch campaign tokens, used only by the
187
+ * content-free sign-up acquisition counter when this start creates a new
188
+ * account. Invalid attribution is dropped rather than failing the sign-in.
189
+ */
190
+ attribution: SocialStartAttribution.optional().catch(undefined),
191
+ }),
192
+ );
137
193
  export type StartManagedAuthSocialTransactionRequest = z.infer<
138
194
  typeof StartManagedAuthSocialTransactionRequest
139
195
  >;
140
196
 
141
- export const StartManagedAuthSocialTransactionResponse = z.object({
142
- url: z.string().url().max(4_096),
143
- });
197
+ export const StartManagedAuthSocialTransactionResponse = /* @__PURE__ */ defineSchema(() =>
198
+ z.object({
199
+ url: z.string().url().max(4_096),
200
+ }),
201
+ );
144
202
  export type StartManagedAuthSocialTransactionResponse = z.infer<
145
203
  typeof StartManagedAuthSocialTransactionResponse
146
204
  >;
147
205
 
148
206
  export const CompleteManagedAuthEmailPasswordTransactionRequest =
149
- ManagedAuthOperationIdentity.extend({
150
- transactionId: z.string().uuid(),
151
- email: z.string().email().max(320),
152
- password: z.string().min(1).max(1_024),
153
- });
207
+ /* @__PURE__ */ defineSchema(() =>
208
+ ManagedAuthOperationIdentity.extend({
209
+ transactionId: z.string().uuid(),
210
+ email: z.string().email().max(320),
211
+ password: z.string().min(1).max(1_024),
212
+ }),
213
+ );
154
214
  export type CompleteManagedAuthEmailPasswordTransactionRequest = z.infer<
155
215
  typeof CompleteManagedAuthEmailPasswordTransactionRequest
156
216
  >;
157
217
 
158
- export const CompleteManagedAuthLoginTransactionResponse = z.object({
159
- projection: ManagedAuthSessionSetProjection,
160
- returnIntent: ManagedAuthReturnIntent.nullable(),
161
- });
218
+ export const CompleteManagedAuthLoginTransactionResponse = /* @__PURE__ */ defineSchema(() =>
219
+ z.object({
220
+ projection: ManagedAuthSessionSetProjection,
221
+ returnIntent: ManagedAuthReturnIntent.nullable(),
222
+ }),
223
+ );
162
224
  export type CompleteManagedAuthLoginTransactionResponse = z.infer<
163
225
  typeof CompleteManagedAuthLoginTransactionResponse
164
226
  >;
165
227
 
166
- export const CancelManagedAuthLoginTransactionRequest = ManagedAuthOperationIdentity.extend({
167
- transactionId: z.string().uuid(),
168
- });
228
+ export const CancelManagedAuthLoginTransactionRequest = /* @__PURE__ */ defineSchema(() =>
229
+ ManagedAuthOperationIdentity.extend({
230
+ transactionId: z.string().uuid(),
231
+ }),
232
+ );
169
233
  export type CancelManagedAuthLoginTransactionRequest = z.infer<
170
234
  typeof CancelManagedAuthLoginTransactionRequest
171
235
  >;
172
236
 
173
- export const SelectManagedAuthLoginSlotRequest = ManagedAuthOperationIdentity.extend({
174
- slotId: z.string().uuid(),
175
- });
237
+ export const SelectManagedAuthLoginSlotRequest = /* @__PURE__ */ defineSchema(() =>
238
+ ManagedAuthOperationIdentity.extend({
239
+ slotId: z.string().uuid(),
240
+ }),
241
+ );
176
242
  export type SelectManagedAuthLoginSlotRequest = z.infer<typeof SelectManagedAuthLoginSlotRequest>;
177
243
 
178
- export const LogoutManagedAuthLoginSlotRequest = ManagedAuthOperationIdentity.extend({
179
- slotId: z.string().uuid(),
180
- replacementSlotId: z.string().uuid().nullable(),
181
- });
244
+ export const LogoutManagedAuthLoginSlotRequest = /* @__PURE__ */ defineSchema(() =>
245
+ ManagedAuthOperationIdentity.extend({
246
+ slotId: z.string().uuid(),
247
+ replacementSlotId: z.string().uuid().nullable(),
248
+ }),
249
+ );
182
250
  export type LogoutManagedAuthLoginSlotRequest = z.infer<typeof LogoutManagedAuthLoginSlotRequest>;
183
251
 
184
252
  export const LogoutManagedAuthSessionSetRequest = ManagedAuthOperationIdentity;
185
253
  export type LogoutManagedAuthSessionSetRequest = z.infer<typeof LogoutManagedAuthSessionSetRequest>;
186
254
 
187
- export const ManagedAuthLogoutAllReceipt = z.object({
188
- generation: z.string().regex(/^[1-9][0-9]*$/),
189
- actorEpoch: z.string().regex(/^[1-9][0-9]*$/),
190
- state: z.literal("logged_out"),
191
- });
255
+ export const ManagedAuthLogoutAllReceipt = /* @__PURE__ */ defineSchema(() =>
256
+ z.object({
257
+ generation: z.string().regex(/^[1-9][0-9]*$/),
258
+ actorEpoch: z.string().regex(/^[1-9][0-9]*$/),
259
+ state: z.literal("logged_out"),
260
+ }),
261
+ );
192
262
  export type ManagedAuthLogoutAllReceipt = z.infer<typeof ManagedAuthLogoutAllReceipt>;
193
263
 
194
- export const ResolveManagedAuthDeepLinkRequest = z.object({
195
- path: ManagedAuthReturnIntent,
196
- });
264
+ export const ResolveManagedAuthDeepLinkRequest = /* @__PURE__ */ defineSchema(() =>
265
+ z.object({
266
+ path: ManagedAuthReturnIntent,
267
+ }),
268
+ );
197
269
  export type ResolveManagedAuthDeepLinkRequest = z.infer<typeof ResolveManagedAuthDeepLinkRequest>;
198
270
 
199
- export const ManagedAuthDeepLinkResolution = z.discriminatedUnion("kind", [
200
- z.object({ kind: z.literal("current") }),
201
- z.object({ kind: z.literal("switch_required"), slot: ManagedAuthLoginSlot }),
202
- z.object({ kind: z.literal("unavailable") }),
203
- ]);
271
+ export const ManagedAuthDeepLinkResolution = /* @__PURE__ */ defineSchema(() =>
272
+ z.discriminatedUnion("kind", [
273
+ z.object({ kind: z.literal("current") }),
274
+ z.object({ kind: z.literal("switch_required"), slot: ManagedAuthLoginSlot }),
275
+ z.object({ kind: z.literal("unavailable") }),
276
+ ]),
277
+ );
204
278
  export type ManagedAuthDeepLinkResolution = z.infer<typeof ManagedAuthDeepLinkResolution>;
205
279
 
206
- export const ManagedAuthSessionSetErrorCode = z.enum([
207
- "actor_change_required",
208
- "actor_mutation_in_flight",
209
- "api_contract_changed",
210
- "browser_session_set_required",
211
- "browser_session_set_unavailable",
212
- "generation_conflict",
213
- "invalid_browser_session_set_request",
214
- "invalid_transaction",
215
- "managed_authentication_required",
216
- "managed_authentication_unavailable",
217
- "operation_outcome_unknown",
218
- "operation_reused",
219
- "origin_rejected",
220
- "login_transaction_rate_limited",
221
- "provider_route_blocked",
222
- "slot_limit_reached",
223
- "slot_already_exists",
224
- "slot_unavailable",
225
- ]);
280
+ export const ManagedAuthSessionSetErrorCode = /* @__PURE__ */ defineSchema(() =>
281
+ z.enum([
282
+ "actor_change_required",
283
+ "actor_mutation_in_flight",
284
+ "api_contract_changed",
285
+ "browser_session_set_required",
286
+ "browser_session_set_unavailable",
287
+ "generation_conflict",
288
+ "invalid_browser_session_set_request",
289
+ "invalid_transaction",
290
+ "managed_authentication_required",
291
+ "managed_authentication_unavailable",
292
+ "operation_outcome_unknown",
293
+ "operation_reused",
294
+ "origin_rejected",
295
+ "login_transaction_rate_limited",
296
+ "provider_route_blocked",
297
+ "slot_limit_reached",
298
+ "slot_already_exists",
299
+ "slot_unavailable",
300
+ ]),
301
+ );
226
302
  export type ManagedAuthSessionSetErrorCode = z.infer<typeof ManagedAuthSessionSetErrorCode>;
@@ -0,0 +1,52 @@
1
+ import { defineSchema } from "./define-schema";
2
+ import { z } from "zod";
3
+
4
+ export const ManagedSignInProvider = /* @__PURE__ */ defineSchema(() =>
5
+ z.enum(["google", "github"]),
6
+ );
7
+ export const ManagedSignInMethods = /* @__PURE__ */ defineSchema(() =>
8
+ z.object({
9
+ identityId: z.string().uuid(),
10
+ email: z.string().email(),
11
+ emailVerified: z.boolean(),
12
+ identityRevision: z.number().int().positive(),
13
+ freshAuthenticationRequired: z.boolean(),
14
+ methods: z.array(
15
+ z.object({
16
+ provider: z.enum(["credential", "google", "github"]),
17
+ connected: z.boolean(),
18
+ available: z.boolean(),
19
+ canDisconnect: z.boolean(),
20
+ implicitRelinkingSuppressed: z.boolean(),
21
+ }),
22
+ ),
23
+ }),
24
+ );
25
+ export type ManagedSignInMethods = z.infer<typeof ManagedSignInMethods>;
26
+ export const ManagedSignInMutation = /* @__PURE__ */ defineSchema(() =>
27
+ z.object({
28
+ expectedIdentityId: z.string().uuid(),
29
+ operationId: z.string().uuid(),
30
+ expectedIdentityRevision: z.number().int().positive(),
31
+ }),
32
+ );
33
+ export const ManagedSignInProviderMutation = /* @__PURE__ */ defineSchema(() =>
34
+ ManagedSignInMutation.extend({
35
+ provider: ManagedSignInProvider,
36
+ }).strict(),
37
+ );
38
+ export const ManagedSignInPasswordMutation = /* @__PURE__ */ defineSchema(() =>
39
+ ManagedSignInMutation.extend({
40
+ newPassword: z.string().min(8).max(128),
41
+ currentPassword: z.string().min(1).max(1024).optional(),
42
+ }).strict(),
43
+ );
44
+ export const ManagedSignInMutationResponse = /* @__PURE__ */ defineSchema(() =>
45
+ z.object({
46
+ reauthenticationRequired: z.literal(true),
47
+ notification: z.enum(["sent", "failed", "outcome_unknown"]),
48
+ }),
49
+ );
50
+ export const ManagedSignInConnectResponse = /* @__PURE__ */ defineSchema(() =>
51
+ z.object({ url: z.string().url() }),
52
+ );
@@ -0,0 +1,2 @@
1
+ /** Shared discovery and explicit permission-selection count allowance. */
2
+ export const MCP_MAX_CATALOG_TOOL_ENTRIES = 4_096;
package/src/mcp-oauth.ts CHANGED
@@ -1,3 +1,4 @@
1
+ import { defineSchema } from "./define-schema";
1
2
  import { z } from "zod";
2
3
 
3
4
  export const MCP_OAUTH_SCOPE = "mcp:access" as const;
@@ -6,10 +7,10 @@ export const MCP_OAUTH_REFRESH_TOKEN_TTL_SECONDS = 30 * 24 * 60 * 60;
6
7
  export const MCP_OAUTH_AUTHORIZATION_CODE_TTL_SECONDS = 5 * 60;
7
8
  export const MCP_OAUTH_CONSENT_TTL_SECONDS = 10 * 60;
8
9
 
9
- const RedirectUri = z.string().url().max(2_048);
10
+ const RedirectUri = /* @__PURE__ */ defineSchema(() => z.string().url().max(2_048));
10
11
 
11
- export const McpOAuthClientRegistrationRequest = z
12
- .object({
12
+ export const McpOAuthClientRegistrationRequest = /* @__PURE__ */ defineSchema(() =>
13
+ z.object({
13
14
  redirect_uris: z.array(RedirectUri).min(1).max(16),
14
15
  client_name: z.string().trim().min(1).max(200).optional(),
15
16
  application_type: z.enum(["native", "web"]).optional(),
@@ -24,45 +25,53 @@ export const McpOAuthClientRegistrationRequest = z
24
25
  })
25
26
  .default(["authorization_code", "refresh_token"]),
26
27
  response_types: z.array(z.literal("code")).min(1).max(1).default(["code"]),
27
- })
28
- .strict();
28
+ }),
29
+ );
29
30
  export type McpOAuthClientRegistrationRequest = z.infer<typeof McpOAuthClientRegistrationRequest>;
30
31
 
31
- export const McpOAuthClientRegistrationResponse = McpOAuthClientRegistrationRequest.extend({
32
- client_id: z.string().min(1).max(256),
33
- client_id_issued_at: z.number().int().nonnegative(),
34
- });
32
+ export const McpOAuthClientRegistrationResponse = /* @__PURE__ */ defineSchema(() =>
33
+ McpOAuthClientRegistrationRequest.extend({
34
+ client_id: z.string().min(1).max(256),
35
+ client_id_issued_at: z.number().int().nonnegative(),
36
+ }),
37
+ );
35
38
  export type McpOAuthClientRegistrationResponse = z.infer<typeof McpOAuthClientRegistrationResponse>;
36
39
 
37
- export const McpOAuthTokenResponse = z.object({
38
- access_token: z.string().min(1),
39
- token_type: z.literal("Bearer"),
40
- expires_in: z.number().int().positive(),
41
- refresh_token: z.string().min(1).optional(),
42
- scope: z.literal(MCP_OAUTH_SCOPE),
43
- });
40
+ export const McpOAuthTokenResponse = /* @__PURE__ */ defineSchema(() =>
41
+ z.object({
42
+ access_token: z.string().min(1),
43
+ token_type: z.literal("Bearer"),
44
+ expires_in: z.number().int().positive(),
45
+ refresh_token: z.string().min(1).optional(),
46
+ scope: z.literal(MCP_OAUTH_SCOPE),
47
+ }),
48
+ );
44
49
  export type McpOAuthTokenResponse = z.infer<typeof McpOAuthTokenResponse>;
45
50
 
46
- export const McpOAuthProtectedResourceMetadata = z.object({
47
- resource: z.string().url(),
48
- authorization_servers: z.array(z.string().url()).min(1).max(1),
49
- scopes_supported: z.array(z.literal(MCP_OAUTH_SCOPE)).length(1),
50
- bearer_methods_supported: z.array(z.literal("header")).length(1),
51
- });
51
+ export const McpOAuthProtectedResourceMetadata = /* @__PURE__ */ defineSchema(() =>
52
+ z.object({
53
+ resource: z.string().url(),
54
+ authorization_servers: z.array(z.string().url()).min(1).max(1),
55
+ scopes_supported: z.array(z.literal(MCP_OAUTH_SCOPE)).length(1),
56
+ bearer_methods_supported: z.array(z.literal("header")).length(1),
57
+ }),
58
+ );
52
59
  export type McpOAuthProtectedResourceMetadata = z.infer<typeof McpOAuthProtectedResourceMetadata>;
53
60
 
54
- export const McpOAuthAuthorizationServerMetadata = z.object({
55
- issuer: z.string().url(),
56
- authorization_endpoint: z.string().url(),
57
- token_endpoint: z.string().url(),
58
- registration_endpoint: z.string().url(),
59
- response_types_supported: z.array(z.literal("code")).length(1),
60
- grant_types_supported: z.array(z.enum(["authorization_code", "refresh_token"])).length(2),
61
- code_challenge_methods_supported: z.array(z.literal("S256")).length(1),
62
- token_endpoint_auth_methods_supported: z.array(z.literal("none")).length(1),
63
- scopes_supported: z.array(z.literal(MCP_OAUTH_SCOPE)).length(1),
64
- authorization_response_iss_parameter_supported: z.literal(true),
65
- });
61
+ export const McpOAuthAuthorizationServerMetadata = /* @__PURE__ */ defineSchema(() =>
62
+ z.object({
63
+ issuer: z.string().url(),
64
+ authorization_endpoint: z.string().url(),
65
+ token_endpoint: z.string().url(),
66
+ registration_endpoint: z.string().url(),
67
+ response_types_supported: z.array(z.literal("code")).length(1),
68
+ grant_types_supported: z.array(z.enum(["authorization_code", "refresh_token"])).length(2),
69
+ code_challenge_methods_supported: z.array(z.literal("S256")).length(1),
70
+ token_endpoint_auth_methods_supported: z.array(z.literal("none")).length(1),
71
+ scopes_supported: z.array(z.literal(MCP_OAUTH_SCOPE)).length(1),
72
+ authorization_response_iss_parameter_supported: z.literal(true),
73
+ }),
74
+ );
66
75
  export type McpOAuthAuthorizationServerMetadata = z.infer<
67
76
  typeof McpOAuthAuthorizationServerMetadata
68
77
  >;