@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,7 @@
1
+ import {
2
+ defineSchema
3
+ } from "./chunk-56SNIMDO.js";
4
+
1
5
  // src/connector-attachments.ts
2
6
  import { z } from "zod";
3
7
  var CONNECTOR_ATTACHMENT_TRANSFER_VERSION = 1;
@@ -74,15 +78,17 @@ function privateUrlCredentialValues(value) {
74
78
  function publicMetadataContainsCredential(publicValue, credential) {
75
79
  return publicValue.includes(credential);
76
80
  }
77
- var ConnectorAttachmentProviderIdentity = z.object({
78
- provider: boundedString(CONNECTOR_ATTACHMENT_PROVIDER_MAX_UTF8_BYTES).regex(PROVIDER_PATTERN),
79
- kind: z.literal("attachment"),
80
- value: boundedString(CONNECTOR_ATTACHMENT_PROVIDER_ID_MAX_UTF8_BYTES).min(1).refine((value) => !CONTROL_CHARACTER_PATTERN.test(value), {
81
- message: "must not contain control characters"
82
- }).refine((value) => !isHttpUrl(value) && !containsHttpUrlReference(value), {
83
- message: "must be an opaque provider attachment identity, not a URL"
84
- })
85
- }).strict();
81
+ var ConnectorAttachmentProviderIdentity = /* @__PURE__ */ defineSchema(
82
+ () => z.object({
83
+ provider: boundedString(CONNECTOR_ATTACHMENT_PROVIDER_MAX_UTF8_BYTES).regex(PROVIDER_PATTERN),
84
+ kind: z.literal("attachment"),
85
+ value: boundedString(CONNECTOR_ATTACHMENT_PROVIDER_ID_MAX_UTF8_BYTES).min(1).refine((value) => !CONTROL_CHARACTER_PATTERN.test(value), {
86
+ message: "must not contain control characters"
87
+ }).refine((value) => !isHttpUrl(value) && !containsHttpUrlReference(value), {
88
+ message: "must be an opaque provider attachment identity, not a URL"
89
+ })
90
+ }).strict()
91
+ );
86
92
  var ConnectorAttachmentFileName = boundedString(
87
93
  CONNECTOR_ATTACHMENT_FILENAME_MAX_UTF8_BYTES
88
94
  ).min(1).refine(
@@ -94,79 +100,87 @@ var ConnectorAttachmentMediaType = boundedString(
94
100
  ).regex(MEDIA_TYPE_PATTERN).refine((value) => !containsHttpUrlReference(value), {
95
101
  message: "must not contain an HTTP URL reference"
96
102
  });
97
- var ConnectorAttachmentSha256 = z.string().regex(SHA256_PATTERN);
98
- var ConnectorAttachmentPrivateSource = z.object({
99
- url: boundedString(CONNECTOR_ATTACHMENT_SOURCE_URL_MAX_UTF8_BYTES).superRefine(
100
- (value, context) => {
101
- let parsed;
102
- try {
103
- parsed = new URL(value);
104
- } catch {
105
- context.addIssue({
106
- code: "custom",
107
- message: "must be an absolute URL"
108
- });
109
- return;
110
- }
111
- if (parsed.protocol !== "http:" && parsed.protocol !== "https:") {
112
- context.addIssue({ code: "custom", message: "must use http or https" });
103
+ var ConnectorAttachmentSha256 = /* @__PURE__ */ defineSchema(
104
+ () => z.string().regex(SHA256_PATTERN)
105
+ );
106
+ var ConnectorAttachmentPrivateSource = /* @__PURE__ */ defineSchema(
107
+ () => z.object({
108
+ url: boundedString(CONNECTOR_ATTACHMENT_SOURCE_URL_MAX_UTF8_BYTES).superRefine(
109
+ (value, context) => {
110
+ let parsed;
111
+ try {
112
+ parsed = new URL(value);
113
+ } catch {
114
+ context.addIssue({
115
+ code: "custom",
116
+ message: "must be an absolute URL"
117
+ });
118
+ return;
119
+ }
120
+ if (parsed.protocol !== "http:" && parsed.protocol !== "https:") {
121
+ context.addIssue({ code: "custom", message: "must use http or https" });
122
+ }
123
+ if (parsed.username || parsed.password) {
124
+ context.addIssue({
125
+ code: "custom",
126
+ message: "must not contain URL userinfo"
127
+ });
128
+ }
129
+ if (parsed.hash) {
130
+ context.addIssue({
131
+ code: "custom",
132
+ message: "must not contain a URL fragment"
133
+ });
134
+ }
113
135
  }
114
- if (parsed.username || parsed.password) {
136
+ ),
137
+ expiresAt: z.iso.datetime({ offset: true })
138
+ }).strict()
139
+ );
140
+ var ConnectorAttachmentTransfer = /* @__PURE__ */ defineSchema(
141
+ () => z.object({
142
+ providerAttachmentId: ConnectorAttachmentProviderIdentity,
143
+ fileName: ConnectorAttachmentFileName,
144
+ mediaType: ConnectorAttachmentMediaType,
145
+ byteSize: z.number().int().min(0).max(CONNECTOR_ATTACHMENT_MAX_BYTES),
146
+ contentSha256: ConnectorAttachmentSha256,
147
+ source: ConnectorAttachmentPrivateSource
148
+ }).strict().superRefine((attachment, context) => {
149
+ const publicValues = [
150
+ attachment.providerAttachmentId.value,
151
+ attachment.fileName,
152
+ attachment.mediaType
153
+ ];
154
+ for (const credential of privateUrlCredentialValues(attachment.source.url)) {
155
+ if (publicValues.some((value) => publicMetadataContainsCredential(value, credential))) {
115
156
  context.addIssue({
116
157
  code: "custom",
117
- message: "must not contain URL userinfo"
158
+ message: "private source credentials must not appear in public attachment metadata"
118
159
  });
160
+ return;
119
161
  }
120
- if (parsed.hash) {
162
+ }
163
+ })
164
+ );
165
+ var ConnectorAttachmentTransferEnvelope = /* @__PURE__ */ defineSchema(
166
+ () => z.object({
167
+ version: z.literal(CONNECTOR_ATTACHMENT_TRANSFER_VERSION),
168
+ attachments: z.array(ConnectorAttachmentTransfer).min(1).max(CONNECTOR_ATTACHMENT_MAX_COUNT)
169
+ }).strict().superRefine((envelope, context) => {
170
+ const identities = /* @__PURE__ */ new Set();
171
+ for (const [index, attachment] of envelope.attachments.entries()) {
172
+ const identity = `${attachment.providerAttachmentId.provider}\0${attachment.providerAttachmentId.value}`;
173
+ if (identities.has(identity)) {
121
174
  context.addIssue({
122
175
  code: "custom",
123
- message: "must not contain a URL fragment"
176
+ message: "provider attachment identities must be unique",
177
+ path: ["attachments", index, "providerAttachmentId"]
124
178
  });
125
179
  }
180
+ identities.add(identity);
126
181
  }
127
- ),
128
- expiresAt: z.iso.datetime({ offset: true })
129
- }).strict();
130
- var ConnectorAttachmentTransfer = z.object({
131
- providerAttachmentId: ConnectorAttachmentProviderIdentity,
132
- fileName: ConnectorAttachmentFileName,
133
- mediaType: ConnectorAttachmentMediaType,
134
- byteSize: z.number().int().min(0).max(CONNECTOR_ATTACHMENT_MAX_BYTES),
135
- contentSha256: ConnectorAttachmentSha256,
136
- source: ConnectorAttachmentPrivateSource
137
- }).strict().superRefine((attachment, context) => {
138
- const publicValues = [
139
- attachment.providerAttachmentId.value,
140
- attachment.fileName,
141
- attachment.mediaType
142
- ];
143
- for (const credential of privateUrlCredentialValues(attachment.source.url)) {
144
- if (publicValues.some((value) => publicMetadataContainsCredential(value, credential))) {
145
- context.addIssue({
146
- code: "custom",
147
- message: "private source credentials must not appear in public attachment metadata"
148
- });
149
- return;
150
- }
151
- }
152
- });
153
- var ConnectorAttachmentTransferEnvelope = z.object({
154
- version: z.literal(CONNECTOR_ATTACHMENT_TRANSFER_VERSION),
155
- attachments: z.array(ConnectorAttachmentTransfer).min(1).max(CONNECTOR_ATTACHMENT_MAX_COUNT)
156
- }).strict().superRefine((envelope, context) => {
157
- const identities = /* @__PURE__ */ new Set();
158
- for (const [index, attachment] of envelope.attachments.entries()) {
159
- const identity = `${attachment.providerAttachmentId.provider}\0${attachment.providerAttachmentId.value}`;
160
- if (identities.has(identity)) {
161
- context.addIssue({
162
- code: "custom",
163
- message: "provider attachment identities must be unique",
164
- path: ["attachments", index, "providerAttachmentId"]
165
- });
166
- }
167
- identities.add(identity);
168
- }
169
- });
182
+ })
183
+ );
170
184
  var ConnectorAttachmentSandboxPath = boundedString(
171
185
  CONNECTOR_ATTACHMENT_SANDBOX_PATH_MAX_UTF8_BYTES
172
186
  ).min(1).refine(
@@ -184,34 +198,38 @@ var ConnectorAttachmentSandboxPath = boundedString(
184
198
  },
185
199
  { message: "must be a confined connector attachment sandbox path" }
186
200
  );
187
- var ConnectorAttachmentReceipt = z.object({
188
- providerAttachmentId: ConnectorAttachmentProviderIdentity,
189
- fileName: ConnectorAttachmentFileName,
190
- mediaType: ConnectorAttachmentMediaType,
191
- byteSize: z.number().int().min(0).max(CONNECTOR_ATTACHMENT_MAX_BYTES),
192
- contentSha256: ConnectorAttachmentSha256,
193
- sandboxPath: ConnectorAttachmentSandboxPath
194
- }).strict().superRefine((receipt, context) => {
195
- const segments = receipt.sandboxPath.split("/");
196
- if (segments[2] !== receipt.providerAttachmentId.provider) {
197
- context.addIssue({
198
- code: "custom",
199
- message: "sandbox path provider must match the provider attachment identity",
200
- path: ["sandboxPath"]
201
- });
202
- }
203
- if (segments[4] !== receipt.fileName) {
204
- context.addIssue({
205
- code: "custom",
206
- message: "sandbox path filename must match the attachment filename",
207
- path: ["sandboxPath"]
208
- });
209
- }
210
- });
211
- var ConnectorAttachmentReceiptEnvelope = z.object({
212
- version: z.literal(CONNECTOR_ATTACHMENT_RECEIPT_VERSION),
213
- attachments: z.array(ConnectorAttachmentReceipt).min(1).max(CONNECTOR_ATTACHMENT_MAX_COUNT)
214
- }).strict();
201
+ var ConnectorAttachmentReceipt = /* @__PURE__ */ defineSchema(
202
+ () => z.object({
203
+ providerAttachmentId: ConnectorAttachmentProviderIdentity,
204
+ fileName: ConnectorAttachmentFileName,
205
+ mediaType: ConnectorAttachmentMediaType,
206
+ byteSize: z.number().int().min(0).max(CONNECTOR_ATTACHMENT_MAX_BYTES),
207
+ contentSha256: ConnectorAttachmentSha256,
208
+ sandboxPath: ConnectorAttachmentSandboxPath
209
+ }).strict().superRefine((receipt, context) => {
210
+ const segments = receipt.sandboxPath.split("/");
211
+ if (segments[2] !== receipt.providerAttachmentId.provider) {
212
+ context.addIssue({
213
+ code: "custom",
214
+ message: "sandbox path provider must match the provider attachment identity",
215
+ path: ["sandboxPath"]
216
+ });
217
+ }
218
+ if (segments[4] !== receipt.fileName) {
219
+ context.addIssue({
220
+ code: "custom",
221
+ message: "sandbox path filename must match the attachment filename",
222
+ path: ["sandboxPath"]
223
+ });
224
+ }
225
+ })
226
+ );
227
+ var ConnectorAttachmentReceiptEnvelope = /* @__PURE__ */ defineSchema(
228
+ () => z.object({
229
+ version: z.literal(CONNECTOR_ATTACHMENT_RECEIPT_VERSION),
230
+ attachments: z.array(ConnectorAttachmentReceipt).min(1).max(CONNECTOR_ATTACHMENT_MAX_COUNT)
231
+ }).strict()
232
+ );
215
233
  function parseConnectorAttachmentTransferEnvelope(value, options = {}) {
216
234
  const envelope = ConnectorAttachmentTransferEnvelope.parse(value);
217
235
  const nowMs = options.nowMs ?? Date.now();
@@ -248,4 +266,4 @@ export {
248
266
  ConnectorAttachmentReceiptEnvelope,
249
267
  parseConnectorAttachmentTransferEnvelope
250
268
  };
251
- //# sourceMappingURL=chunk-YBW5JSA3.js.map
269
+ //# sourceMappingURL=chunk-ZDCRWCGZ.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/connector-attachments.ts"],"sourcesContent":["import { defineSchema } from \"./define-schema\";\nimport { z } from \"zod\";\n\nexport const CONNECTOR_ATTACHMENT_TRANSFER_VERSION = 1 as const;\nexport const CONNECTOR_ATTACHMENT_RECEIPT_VERSION = 1 as const;\nexport const CONNECTOR_ATTACHMENT_TRANSFER_META_KEY =\n \"opengeni/connector-attachment-transfers\" as const;\nexport const CONNECTOR_ATTACHMENT_RECEIPT_META_KEY =\n \"opengeni/connector-attachment-receipts\" as const;\nexport const CONNECTOR_ATTACHMENT_MAX_COUNT = 16;\n// Must remain byte-for-byte aligned with Channel A's exact workspace importer.\nexport const CONNECTOR_ATTACHMENT_MAX_BYTES = 5_000_000_000;\nexport const CONNECTOR_ATTACHMENT_FILENAME_MAX_UTF8_BYTES = 255;\nexport const CONNECTOR_ATTACHMENT_MEDIA_TYPE_MAX_UTF8_BYTES = 256;\nexport const CONNECTOR_ATTACHMENT_PROVIDER_MAX_UTF8_BYTES = 128;\nexport const CONNECTOR_ATTACHMENT_PROVIDER_ID_MAX_UTF8_BYTES = 512;\nexport const CONNECTOR_ATTACHMENT_SOURCE_URL_MAX_UTF8_BYTES = 8 * 1024;\nexport const CONNECTOR_ATTACHMENT_SANDBOX_PATH_MAX_UTF8_BYTES = 2 * 1024;\n\nconst PROVIDER_PATTERN = /^[a-z0-9]+(?:[._-][a-z0-9]+)*$/u;\nconst SHA256_PATTERN = /^[0-9a-f]{64}$/u;\nconst MEDIA_TYPE_PATTERN =\n /^[a-z0-9!#$&^_.+-]+\\/[a-z0-9!#$&^_.+-]+(?:\\s*;\\s*[a-z0-9!#$&^_.+-]+=(?:[a-z0-9!#$&^_.+-]+|\"[^\"\\r\\n]*\"))*$/iu;\nconst CONTROL_CHARACTER_PATTERN = /[\\u0000-\\u001f\\u007f]/u;\nconst HTTP_URL_REFERENCE_PATTERN = /(?:https?:)?\\/\\/[^\\s]/iu;\nconst PORTABLE_FILENAME_FORBIDDEN_PATTERN = /[<>:\"|?*]/u;\nconst PORTABLE_FILENAME_RESERVED_PATTERN = /^(?:con|prn|aux|nul|com[1-9]|lpt[1-9])(?:\\.|$)/iu;\nconst textEncoder = new TextEncoder();\n\nfunction utf8Bytes(value: string): number {\n return textEncoder.encode(value).byteLength;\n}\n\nfunction boundedString(maxUtf8Bytes: number) {\n return z.string().refine((value) => utf8Bytes(value) <= maxUtf8Bytes, {\n message: `must be at most ${maxUtf8Bytes} UTF-8 bytes`,\n });\n}\n\nfunction isHttpUrl(value: string): boolean {\n try {\n const parsed = new URL(value);\n return parsed.protocol === \"http:\" || parsed.protocol === \"https:\";\n } catch {\n return false;\n }\n}\n\nfunction containsHttpUrlReference(value: string): boolean {\n return HTTP_URL_REFERENCE_PATTERN.test(value);\n}\n\nfunction isPrivateUrlCredentialQueryName(value: string): boolean {\n const normalized = value.toLowerCase().replace(/[^a-z0-9]/gu, \"\");\n return (\n normalized === \"sig\" ||\n normalized === \"auth\" ||\n normalized.endsWith(\"signature\") ||\n normalized.endsWith(\"token\") ||\n normalized.endsWith(\"credential\") ||\n normalized.endsWith(\"secret\") ||\n normalized.endsWith(\"password\") ||\n normalized.endsWith(\"passcode\") ||\n normalized.endsWith(\"authorization\") ||\n normalized.endsWith(\"apikey\") ||\n normalized.endsWith(\"accesskey\") ||\n normalized.endsWith(\"securitytoken\") ||\n normalized.endsWith(\"sas\") ||\n normalized === \"googleaccessid\"\n );\n}\n\nfunction privateUrlCredentialValues(value: string): string[] {\n let parsed: URL;\n try {\n parsed = new URL(value);\n } catch {\n return [];\n }\n const credentials = new Set<string>();\n for (const [name, credential] of parsed.searchParams) {\n if (credential && isPrivateUrlCredentialQueryName(name)) credentials.add(credential);\n }\n for (const pair of parsed.search.slice(1).split(\"&\")) {\n if (!pair) continue;\n const separator = pair.indexOf(\"=\");\n const rawName = separator === -1 ? pair : pair.slice(0, separator);\n const rawCredential = separator === -1 ? \"\" : pair.slice(separator + 1);\n let decodedName: string;\n try {\n decodedName = decodeURIComponent(rawName.replace(/\\+/gu, \" \"));\n } catch {\n continue;\n }\n if (rawCredential && isPrivateUrlCredentialQueryName(decodedName)) {\n credentials.add(rawCredential);\n }\n }\n return [...credentials];\n}\n\nfunction publicMetadataContainsCredential(publicValue: string, credential: string): boolean {\n return publicValue.includes(credential);\n}\n\nexport const ConnectorAttachmentProviderIdentity = /* @__PURE__ */ defineSchema(() =>\n z\n .object({\n provider: boundedString(CONNECTOR_ATTACHMENT_PROVIDER_MAX_UTF8_BYTES).regex(PROVIDER_PATTERN),\n kind: z.literal(\"attachment\"),\n value: boundedString(CONNECTOR_ATTACHMENT_PROVIDER_ID_MAX_UTF8_BYTES)\n .min(1)\n .refine((value) => !CONTROL_CHARACTER_PATTERN.test(value), {\n message: \"must not contain control characters\",\n })\n .refine((value) => !isHttpUrl(value) && !containsHttpUrlReference(value), {\n message: \"must be an opaque provider attachment identity, not a URL\",\n }),\n })\n .strict(),\n);\nexport type ConnectorAttachmentProviderIdentity = z.infer<\n typeof ConnectorAttachmentProviderIdentity\n>;\n\nexport const ConnectorAttachmentFileName = boundedString(\n CONNECTOR_ATTACHMENT_FILENAME_MAX_UTF8_BYTES,\n)\n .min(1)\n .refine(\n (value) =>\n value !== \".\" &&\n value !== \"..\" &&\n value === value.trim() &&\n !value.includes(\"/\") &&\n !value.includes(\"\\\\\") &&\n !CONTROL_CHARACTER_PATTERN.test(value) &&\n !PORTABLE_FILENAME_FORBIDDEN_PATTERN.test(value) &&\n !/[ .]$/u.test(value) &&\n !PORTABLE_FILENAME_RESERVED_PATTERN.test(value),\n { message: \"must be a safe leaf filename\" },\n );\n\nexport const ConnectorAttachmentMediaType = boundedString(\n CONNECTOR_ATTACHMENT_MEDIA_TYPE_MAX_UTF8_BYTES,\n)\n .regex(MEDIA_TYPE_PATTERN)\n .refine((value) => !containsHttpUrlReference(value), {\n message: \"must not contain an HTTP URL reference\",\n });\n\nexport const ConnectorAttachmentSha256 = /* @__PURE__ */ defineSchema(() =>\n z.string().regex(SHA256_PATTERN),\n);\n\nexport const ConnectorAttachmentPrivateSource = /* @__PURE__ */ defineSchema(() =>\n z\n .object({\n url: boundedString(CONNECTOR_ATTACHMENT_SOURCE_URL_MAX_UTF8_BYTES).superRefine(\n (value, context) => {\n let parsed: URL;\n try {\n parsed = new URL(value);\n } catch {\n context.addIssue({\n code: \"custom\",\n message: \"must be an absolute URL\",\n });\n return;\n }\n if (parsed.protocol !== \"http:\" && parsed.protocol !== \"https:\") {\n context.addIssue({ code: \"custom\", message: \"must use http or https\" });\n }\n if (parsed.username || parsed.password) {\n context.addIssue({\n code: \"custom\",\n message: \"must not contain URL userinfo\",\n });\n }\n if (parsed.hash) {\n context.addIssue({\n code: \"custom\",\n message: \"must not contain a URL fragment\",\n });\n }\n },\n ),\n expiresAt: z.iso.datetime({ offset: true }),\n })\n .strict(),\n);\nexport type ConnectorAttachmentPrivateSource = z.infer<typeof ConnectorAttachmentPrivateSource>;\n\nexport const ConnectorAttachmentTransfer = /* @__PURE__ */ defineSchema(() =>\n z\n .object({\n providerAttachmentId: ConnectorAttachmentProviderIdentity,\n fileName: ConnectorAttachmentFileName,\n mediaType: ConnectorAttachmentMediaType,\n byteSize: z.number().int().min(0).max(CONNECTOR_ATTACHMENT_MAX_BYTES),\n contentSha256: ConnectorAttachmentSha256,\n source: ConnectorAttachmentPrivateSource,\n })\n .strict()\n .superRefine((attachment, context) => {\n const publicValues = [\n attachment.providerAttachmentId.value,\n attachment.fileName,\n attachment.mediaType,\n ];\n for (const credential of privateUrlCredentialValues(attachment.source.url)) {\n if (publicValues.some((value) => publicMetadataContainsCredential(value, credential))) {\n context.addIssue({\n code: \"custom\",\n message: \"private source credentials must not appear in public attachment metadata\",\n });\n return;\n }\n }\n }),\n);\nexport type ConnectorAttachmentTransfer = z.infer<typeof ConnectorAttachmentTransfer>;\n\nexport const ConnectorAttachmentTransferEnvelope = /* @__PURE__ */ defineSchema(() =>\n z\n .object({\n version: z.literal(CONNECTOR_ATTACHMENT_TRANSFER_VERSION),\n attachments: z.array(ConnectorAttachmentTransfer).min(1).max(CONNECTOR_ATTACHMENT_MAX_COUNT),\n })\n .strict()\n .superRefine((envelope, context) => {\n const identities = new Set<string>();\n for (const [index, attachment] of envelope.attachments.entries()) {\n const identity = `${attachment.providerAttachmentId.provider}\\0${attachment.providerAttachmentId.value}`;\n if (identities.has(identity)) {\n context.addIssue({\n code: \"custom\",\n message: \"provider attachment identities must be unique\",\n path: [\"attachments\", index, \"providerAttachmentId\"],\n });\n }\n identities.add(identity);\n }\n }),\n);\nexport type ConnectorAttachmentTransferEnvelope = z.infer<\n typeof ConnectorAttachmentTransferEnvelope\n>;\n\nexport const ConnectorAttachmentSandboxPath = boundedString(\n CONNECTOR_ATTACHMENT_SANDBOX_PATH_MAX_UTF8_BYTES,\n)\n .min(1)\n .refine(\n (value) => {\n if (\n value !== value.trim() ||\n value.startsWith(\"/\") ||\n /^[A-Za-z]:[\\\\/]/u.test(value) ||\n value.includes(\"\\\\\") ||\n CONTROL_CHARACTER_PATTERN.test(value)\n ) {\n return false;\n }\n const segments = value.split(\"/\");\n if (\n segments.length !== 5 ||\n segments[0] !== \".opengeni\" ||\n segments[1] !== \"connector-attachments\" ||\n !PROVIDER_PATTERN.test(segments[2] ?? \"\") ||\n !/^[0-9a-f]{32}$/u.test(segments[3] ?? \"\") ||\n !ConnectorAttachmentFileName.safeParse(segments[4]).success\n ) {\n return false;\n }\n return segments.every(\n (segment) =>\n segment.length > 0 &&\n segment !== \".\" &&\n segment !== \"..\" &&\n !PORTABLE_FILENAME_FORBIDDEN_PATTERN.test(segment) &&\n !/[ .]$/u.test(segment) &&\n !PORTABLE_FILENAME_RESERVED_PATTERN.test(segment),\n );\n },\n { message: \"must be a confined connector attachment sandbox path\" },\n );\n\nexport const ConnectorAttachmentReceipt = /* @__PURE__ */ defineSchema(() =>\n z\n .object({\n providerAttachmentId: ConnectorAttachmentProviderIdentity,\n fileName: ConnectorAttachmentFileName,\n mediaType: ConnectorAttachmentMediaType,\n byteSize: z.number().int().min(0).max(CONNECTOR_ATTACHMENT_MAX_BYTES),\n contentSha256: ConnectorAttachmentSha256,\n sandboxPath: ConnectorAttachmentSandboxPath,\n })\n .strict()\n .superRefine((receipt, context) => {\n const segments = receipt.sandboxPath.split(\"/\");\n if (segments[2] !== receipt.providerAttachmentId.provider) {\n context.addIssue({\n code: \"custom\",\n message: \"sandbox path provider must match the provider attachment identity\",\n path: [\"sandboxPath\"],\n });\n }\n if (segments[4] !== receipt.fileName) {\n context.addIssue({\n code: \"custom\",\n message: \"sandbox path filename must match the attachment filename\",\n path: [\"sandboxPath\"],\n });\n }\n }),\n);\nexport type ConnectorAttachmentReceipt = z.infer<typeof ConnectorAttachmentReceipt>;\n\nexport const ConnectorAttachmentReceiptEnvelope = /* @__PURE__ */ defineSchema(() =>\n z\n .object({\n version: z.literal(CONNECTOR_ATTACHMENT_RECEIPT_VERSION),\n attachments: z.array(ConnectorAttachmentReceipt).min(1).max(CONNECTOR_ATTACHMENT_MAX_COUNT),\n })\n .strict(),\n);\nexport type ConnectorAttachmentReceiptEnvelope = z.infer<typeof ConnectorAttachmentReceiptEnvelope>;\n\nexport function parseConnectorAttachmentTransferEnvelope(\n value: unknown,\n options: { nowMs?: number } = {},\n): ConnectorAttachmentTransferEnvelope {\n const envelope = ConnectorAttachmentTransferEnvelope.parse(value);\n const nowMs = options.nowMs ?? Date.now();\n for (const attachment of envelope.attachments) {\n if (Date.parse(attachment.source.expiresAt) <= nowMs) {\n throw new Error(\"connector attachment source is expired\");\n }\n }\n return envelope;\n}\n"],"mappings":"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","names":[]}
@@ -0,0 +1,18 @@
1
+ import type { z } from "zod";
2
+ /** Same opaque pool selection shape; Claude's live authority is revalidated separately. */
3
+ export declare const ClaudeProviderAccountAuthoritySnapshotV1: z.ZodDiscriminatedUnion<[z.ZodObject<{
4
+ version: z.ZodLiteral<1>;
5
+ scope: z.ZodLiteral<"organization">;
6
+ }, z.core.$strict>, z.ZodObject<{
7
+ version: z.ZodLiteral<1>;
8
+ scope: z.ZodLiteral<"workspace">;
9
+ }, z.core.$strict>, z.ZodObject<{
10
+ version: z.ZodLiteral<1>;
11
+ scope: z.ZodLiteral<"user">;
12
+ authorityGeneration: z.ZodNumber;
13
+ }, z.core.$strict>], "scope">;
14
+ export type ClaudeProviderAccountAuthoritySnapshotV1 = z.infer<typeof ClaudeProviderAccountAuthoritySnapshotV1>;
15
+ export declare const WORKSPACE_CLAUDE_PROVIDER_ACCOUNT_AUTHORITY_SNAPSHOT_V1: {
16
+ readonly version: 1;
17
+ readonly scope: "workspace";
18
+ };
@@ -0,0 +1,42 @@
1
+ import { z } from "zod";
2
+ export declare const ClaudeSubscriptionSetupTokenRequest: z.ZodObject<{
3
+ token: z.ZodString;
4
+ scope: z.ZodDefault<z.ZodEnum<{
5
+ user: "user";
6
+ workspace: "workspace";
7
+ }>>;
8
+ label: z.ZodOptional<z.ZodNullable<z.ZodString>>;
9
+ reconnectAccountId: z.ZodOptional<z.ZodString>;
10
+ expectedCredentialVersion: z.ZodOptional<z.ZodNumber>;
11
+ }, z.core.$strict>;
12
+ export type ClaudeSubscriptionSetupTokenRequest = z.infer<typeof ClaudeSubscriptionSetupTokenRequest>;
13
+ export declare const ClaudeSubscriptionOAuthStartRequest: z.ZodObject<{
14
+ scope: z.ZodDefault<z.ZodEnum<{
15
+ user: "user";
16
+ workspace: "workspace";
17
+ }>>;
18
+ reconnectAccountId: z.ZodOptional<z.ZodString>;
19
+ }, z.core.$strict>;
20
+ export type ClaudeSubscriptionOAuthStartRequest = z.infer<typeof ClaudeSubscriptionOAuthStartRequest>;
21
+ export declare const ClaudeSubscriptionOAuthStartResponse: z.ZodObject<{
22
+ attemptId: z.ZodString;
23
+ authorizationUrl: z.ZodString;
24
+ expiresAt: z.ZodString;
25
+ }, z.core.$strict>;
26
+ export type ClaudeSubscriptionOAuthStartResponse = z.infer<typeof ClaudeSubscriptionOAuthStartResponse>;
27
+ export declare const ClaudeSubscriptionOAuthCompleteRequest: z.ZodObject<{
28
+ attemptId: z.ZodString;
29
+ code: z.ZodString;
30
+ }, z.core.$strict>;
31
+ export type ClaudeSubscriptionOAuthCompleteRequest = z.infer<typeof ClaudeSubscriptionOAuthCompleteRequest>;
32
+ export declare const ClaudeSubscriptionOAuthCompleteResponse: z.ZodObject<{
33
+ connected: z.ZodLiteral<true>;
34
+ accountId: z.ZodString;
35
+ scope: z.ZodEnum<{
36
+ organization: "organization";
37
+ user: "user";
38
+ workspace: "workspace";
39
+ }>;
40
+ credentialVersion: z.ZodNumber;
41
+ }, z.core.$strict>;
42
+ export type ClaudeSubscriptionOAuthCompleteResponse = z.infer<typeof ClaudeSubscriptionOAuthCompleteResponse>;
@@ -0,0 +1,159 @@
1
+ import { z } from "zod";
2
+ export declare const ClaudeUsageWindowId: z.ZodEnum<{
3
+ five_hour: "five_hour";
4
+ overage: "overage";
5
+ seven_day: "seven_day";
6
+ seven_day_opus: "seven_day_opus";
7
+ seven_day_overage_included: "seven_day_overage_included";
8
+ seven_day_sonnet: "seven_day_sonnet";
9
+ }>;
10
+ export declare const ClaudeUsageWindow: z.ZodObject<{
11
+ id: z.ZodEnum<{
12
+ five_hour: "five_hour";
13
+ overage: "overage";
14
+ seven_day: "seven_day";
15
+ seven_day_opus: "seven_day_opus";
16
+ seven_day_overage_included: "seven_day_overage_included";
17
+ seven_day_sonnet: "seven_day_sonnet";
18
+ }>;
19
+ usedPercent: z.ZodNullable<z.ZodNumber>;
20
+ resetsAt: z.ZodNullable<z.ZodString>;
21
+ status: z.ZodNullable<z.ZodEnum<{
22
+ allowed: "allowed";
23
+ allowed_warning: "allowed_warning";
24
+ rejected: "rejected";
25
+ }>>;
26
+ observedAt: z.ZodString;
27
+ source: z.ZodOptional<z.ZodEnum<{
28
+ provider: "provider";
29
+ response_headers: "response_headers";
30
+ }>>;
31
+ }, z.core.$strict>;
32
+ export type ClaudeUsageWindow = z.infer<typeof ClaudeUsageWindow>;
33
+ /** One response's dispatch authority; never combine statuses from different responses. */
34
+ export declare const ClaudeUsageRequestStatus: z.ZodObject<{
35
+ status: z.ZodNullable<z.ZodEnum<{
36
+ allowed: "allowed";
37
+ allowed_warning: "allowed_warning";
38
+ rejected: "rejected";
39
+ }>>;
40
+ resetsAt: z.ZodNullable<z.ZodString>;
41
+ representativeClaim: z.ZodNullable<z.ZodEnum<{
42
+ five_hour: "five_hour";
43
+ overage: "overage";
44
+ seven_day: "seven_day";
45
+ seven_day_opus: "seven_day_opus";
46
+ seven_day_overage_included: "seven_day_overage_included";
47
+ seven_day_sonnet: "seven_day_sonnet";
48
+ }>>;
49
+ overageStatus: z.ZodNullable<z.ZodEnum<{
50
+ allowed: "allowed";
51
+ allowed_warning: "allowed_warning";
52
+ rejected: "rejected";
53
+ }>>;
54
+ overageResetsAt: z.ZodNullable<z.ZodString>;
55
+ upstreamModelId: z.ZodNullable<z.ZodString>;
56
+ observedAt: z.ZodString;
57
+ source: z.ZodOptional<z.ZodEnum<{
58
+ provider: "provider";
59
+ response_headers: "response_headers";
60
+ }>>;
61
+ }, z.core.$strict>;
62
+ export type ClaudeUsageRequestStatus = z.infer<typeof ClaudeUsageRequestStatus>;
63
+ /** Provider observations, never an estimate based on Opengeni token counts. */
64
+ export declare const ClaudeSubscriptionUsage: z.ZodObject<{
65
+ connected: z.ZodBoolean;
66
+ credentialVersion: z.ZodNullable<z.ZodNumber>;
67
+ windows: z.ZodArray<z.ZodObject<{
68
+ id: z.ZodEnum<{
69
+ five_hour: "five_hour";
70
+ overage: "overage";
71
+ seven_day: "seven_day";
72
+ seven_day_opus: "seven_day_opus";
73
+ seven_day_overage_included: "seven_day_overage_included";
74
+ seven_day_sonnet: "seven_day_sonnet";
75
+ }>;
76
+ usedPercent: z.ZodNullable<z.ZodNumber>;
77
+ resetsAt: z.ZodNullable<z.ZodString>;
78
+ status: z.ZodNullable<z.ZodEnum<{
79
+ allowed: "allowed";
80
+ allowed_warning: "allowed_warning";
81
+ rejected: "rejected";
82
+ }>>;
83
+ observedAt: z.ZodString;
84
+ source: z.ZodOptional<z.ZodEnum<{
85
+ provider: "provider";
86
+ response_headers: "response_headers";
87
+ }>>;
88
+ }, z.core.$strict>>;
89
+ observedAt: z.ZodNullable<z.ZodString>;
90
+ source: z.ZodNullable<z.ZodEnum<{
91
+ provider: "provider";
92
+ response_headers: "response_headers";
93
+ }>>;
94
+ refreshStatus: z.ZodEnum<{
95
+ available: "available";
96
+ not_checked: "not_checked";
97
+ reconnect: "reconnect";
98
+ scope_required: "scope_required";
99
+ unavailable: "unavailable";
100
+ }>;
101
+ refreshCheckedAt: z.ZodNullable<z.ZodString>;
102
+ requestStatus: z.ZodOptional<z.ZodNullable<z.ZodObject<{
103
+ status: z.ZodNullable<z.ZodEnum<{
104
+ allowed: "allowed";
105
+ allowed_warning: "allowed_warning";
106
+ rejected: "rejected";
107
+ }>>;
108
+ resetsAt: z.ZodNullable<z.ZodString>;
109
+ representativeClaim: z.ZodNullable<z.ZodEnum<{
110
+ five_hour: "five_hour";
111
+ overage: "overage";
112
+ seven_day: "seven_day";
113
+ seven_day_opus: "seven_day_opus";
114
+ seven_day_overage_included: "seven_day_overage_included";
115
+ seven_day_sonnet: "seven_day_sonnet";
116
+ }>>;
117
+ overageStatus: z.ZodNullable<z.ZodEnum<{
118
+ allowed: "allowed";
119
+ allowed_warning: "allowed_warning";
120
+ rejected: "rejected";
121
+ }>>;
122
+ overageResetsAt: z.ZodNullable<z.ZodString>;
123
+ upstreamModelId: z.ZodNullable<z.ZodString>;
124
+ observedAt: z.ZodString;
125
+ source: z.ZodOptional<z.ZodEnum<{
126
+ provider: "provider";
127
+ response_headers: "response_headers";
128
+ }>>;
129
+ }, z.core.$strict>>>;
130
+ requestRestrictions: z.ZodOptional<z.ZodArray<z.ZodObject<{
131
+ status: z.ZodNullable<z.ZodEnum<{
132
+ allowed: "allowed";
133
+ allowed_warning: "allowed_warning";
134
+ rejected: "rejected";
135
+ }>>;
136
+ resetsAt: z.ZodNullable<z.ZodString>;
137
+ representativeClaim: z.ZodNullable<z.ZodEnum<{
138
+ five_hour: "five_hour";
139
+ overage: "overage";
140
+ seven_day: "seven_day";
141
+ seven_day_opus: "seven_day_opus";
142
+ seven_day_overage_included: "seven_day_overage_included";
143
+ seven_day_sonnet: "seven_day_sonnet";
144
+ }>>;
145
+ overageStatus: z.ZodNullable<z.ZodEnum<{
146
+ allowed: "allowed";
147
+ allowed_warning: "allowed_warning";
148
+ rejected: "rejected";
149
+ }>>;
150
+ overageResetsAt: z.ZodNullable<z.ZodString>;
151
+ upstreamModelId: z.ZodNullable<z.ZodString>;
152
+ observedAt: z.ZodString;
153
+ source: z.ZodOptional<z.ZodEnum<{
154
+ provider: "provider";
155
+ response_headers: "response_headers";
156
+ }>>;
157
+ }, z.core.$strict>>>;
158
+ }, z.core.$strict>;
159
+ export type ClaudeSubscriptionUsage = z.infer<typeof ClaudeSubscriptionUsage>;