@opengeni/contracts 3.1.0-canary.2 → 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 (429) 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 +0 -2
  4. package/dist/allowance-refusal.d.ts +9 -0
  5. package/dist/allowance-refusal.js +50 -0
  6. package/dist/allowance-refusal.js.map +1 -0
  7. package/dist/analytics-consent-report.d.ts +19 -0
  8. package/dist/analytics-consent-report.js +10 -0
  9. package/dist/analytics-consent-report.js.map +1 -0
  10. package/dist/api-key-presets.d.ts +19 -0
  11. package/dist/artifact-catalog.d.ts +188 -0
  12. package/dist/artifacts.d.ts +86 -0
  13. package/dist/atlassian-native-retirement.d.ts +16 -0
  14. package/dist/atlassian-native-retirement.js +30 -0
  15. package/dist/atlassian-native-retirement.js.map +1 -0
  16. package/dist/atlassian.d.ts +1 -0
  17. package/dist/atlassian.js +34 -19
  18. package/dist/browser-storage.d.ts +5 -0
  19. package/dist/browser-storage.js +9 -0
  20. package/dist/browser-storage.js.map +1 -0
  21. package/dist/bundled-skills.d.ts +24 -1
  22. package/dist/canonical-human-identities.js +2 -1
  23. package/dist/chunk-2ZIHHL72.js +153 -0
  24. package/dist/chunk-2ZIHHL72.js.map +1 -0
  25. package/dist/{chunk-5LYFSZ7O.js → chunk-352X6ENP.js} +31 -31
  26. package/dist/chunk-4JGHSSB7.js +11 -0
  27. package/dist/chunk-4JGHSSB7.js.map +1 -0
  28. package/dist/chunk-4QO6GJUX.js +85 -0
  29. package/dist/chunk-4QO6GJUX.js.map +1 -0
  30. package/dist/chunk-4VDMHLLL.js +49 -0
  31. package/dist/chunk-4VDMHLLL.js.map +1 -0
  32. package/dist/chunk-56SNIMDO.js +9 -0
  33. package/dist/chunk-56SNIMDO.js.map +1 -0
  34. package/dist/chunk-6C2HKFTU.js +207 -0
  35. package/dist/chunk-6C2HKFTU.js.map +1 -0
  36. package/dist/chunk-6IXO76Z6.js +72 -0
  37. package/dist/chunk-6IXO76Z6.js.map +1 -0
  38. package/dist/chunk-7272KVWZ.js +60 -0
  39. package/dist/chunk-7272KVWZ.js.map +1 -0
  40. package/dist/{chunk-7ABONTXE.js → chunk-E3GGUBHS.js} +49 -5
  41. package/dist/chunk-E3GGUBHS.js.map +1 -0
  42. package/dist/chunk-EFZYKUE2.js +767 -0
  43. package/dist/chunk-EFZYKUE2.js.map +1 -0
  44. package/dist/chunk-EKWNTOG3.js +154 -0
  45. package/dist/chunk-EKWNTOG3.js.map +1 -0
  46. package/dist/chunk-HABQ7ADB.js +234 -0
  47. package/dist/chunk-HABQ7ADB.js.map +1 -0
  48. package/dist/chunk-HRRU4QPI.js +91 -0
  49. package/dist/chunk-HRRU4QPI.js.map +1 -0
  50. package/dist/{chunk-3SIZGL3O.js → chunk-IK36LXKC.js} +18 -2
  51. package/dist/chunk-IK36LXKC.js.map +1 -0
  52. package/dist/{chunk-TXTQIYCV.js → chunk-ILJ72KPO.js} +56 -3
  53. package/dist/chunk-ILJ72KPO.js.map +1 -0
  54. package/dist/chunk-J4HQ3UKY.js +93 -0
  55. package/dist/chunk-J4HQ3UKY.js.map +1 -0
  56. package/dist/chunk-KHHZTBP7.js +11 -0
  57. package/dist/chunk-KHHZTBP7.js.map +1 -0
  58. package/dist/{chunk-WYBDERIY.js → chunk-LZ2LAHIX.js} +47 -41
  59. package/dist/chunk-LZ2LAHIX.js.map +1 -0
  60. package/dist/chunk-NDZHPTCL.js +400 -0
  61. package/dist/chunk-NDZHPTCL.js.map +1 -0
  62. package/dist/chunk-OF6OKOBF.js +54793 -0
  63. package/dist/chunk-OF6OKOBF.js.map +1 -0
  64. package/dist/chunk-OL23ARTF.js +94 -0
  65. package/dist/chunk-OL23ARTF.js.map +1 -0
  66. package/dist/chunk-PUIUXIOL.js +189 -0
  67. package/dist/chunk-PUIUXIOL.js.map +1 -0
  68. package/dist/{chunk-Y3KNXVTD.js → chunk-RMWXDZEO.js} +128 -21
  69. package/dist/chunk-RMWXDZEO.js.map +1 -0
  70. package/dist/{chunk-MRWYRAS5.js → chunk-SHO4YO4B.js} +27 -35
  71. package/dist/chunk-SHO4YO4B.js.map +1 -0
  72. package/dist/chunk-SWRN2DJ3.js +153 -0
  73. package/dist/chunk-SWRN2DJ3.js.map +1 -0
  74. package/dist/chunk-TCXCRBPF.js +267 -0
  75. package/dist/chunk-TCXCRBPF.js.map +1 -0
  76. package/dist/chunk-TLU3UEMD.js +324 -0
  77. package/dist/chunk-TLU3UEMD.js.map +1 -0
  78. package/dist/chunk-TSWWZMUS.js +186 -0
  79. package/dist/chunk-TSWWZMUS.js.map +1 -0
  80. package/dist/{chunk-PX3VCKAU.js → chunk-WVCFSOUZ.js} +1 -1
  81. package/dist/{chunk-PX3VCKAU.js.map → chunk-WVCFSOUZ.js.map} +1 -1
  82. package/dist/chunk-XDLAGX66.js +127 -0
  83. package/dist/chunk-XDLAGX66.js.map +1 -0
  84. package/dist/chunk-YKZ4WU4P.js +33 -0
  85. package/dist/chunk-YKZ4WU4P.js.map +1 -0
  86. package/dist/{chunk-O5LEQHDM.js → chunk-Z7WEVGCL.js} +3 -3
  87. package/dist/{chunk-YBW5JSA3.js → chunk-ZDCRWCGZ.js} +119 -101
  88. package/dist/chunk-ZDCRWCGZ.js.map +1 -0
  89. package/dist/claude-provider-account-authority.d.ts +18 -0
  90. package/dist/claude-subscription-oauth.d.ts +42 -0
  91. package/dist/claude-subscription-usage.d.ts +159 -0
  92. package/dist/client-error-report.d.ts +158 -0
  93. package/dist/client-error-report.js +164 -0
  94. package/dist/client-error-report.js.map +1 -0
  95. package/dist/code-search.d.ts +52 -0
  96. package/dist/code-search.js +40 -0
  97. package/dist/code-search.js.map +1 -0
  98. package/dist/codex-provider-account-authority.js +20 -12
  99. package/dist/codex-provider-account-authority.js.map +1 -1
  100. package/dist/company-profile.d.ts +144 -6
  101. package/dist/connect.d.ts +37 -0
  102. package/dist/connect.js +216 -159
  103. package/dist/connect.js.map +1 -1
  104. package/dist/connection-account-label.d.ts +2 -0
  105. package/dist/connection-account-label.js +35 -0
  106. package/dist/connection-account-label.js.map +1 -0
  107. package/dist/connection-authority.d.ts +9 -317
  108. package/dist/connection-authority.js +37 -42
  109. package/dist/connector-attachments.js +2 -1
  110. package/dist/connector-destinations.js +2 -1
  111. package/dist/connector-tool-permissions.d.ts +137 -0
  112. package/dist/cua-desktop-tools.d.ts +17 -0
  113. package/dist/define-schema.d.ts +8 -0
  114. package/dist/direct-model-provider.d.ts +36 -0
  115. package/dist/editable-artifact-codec-registry.js +5 -5
  116. package/dist/editable-artifact-committed-transaction.js +3 -2
  117. package/dist/editable-artifact-live.js +5 -5
  118. package/dist/editable-artifact-serialized-commit.js +6 -6
  119. package/dist/editable-artifact-versions.d.ts +7 -1
  120. package/dist/editable-artifact-versions.js +1 -1
  121. package/dist/editable-artifacts.js +62 -56
  122. package/dist/event-preview.d.ts +22 -0
  123. package/dist/external-identities.d.ts +138 -0
  124. package/dist/external-identities.js +9 -4
  125. package/dist/first-party-tool-authorization.d.ts +815 -0
  126. package/dist/github-repository-contracts.js +60 -43
  127. package/dist/github-repository-contracts.js.map +1 -1
  128. package/dist/google-drive.d.ts +2 -1
  129. package/dist/google-drive.js +305 -238
  130. package/dist/google-drive.js.map +1 -1
  131. package/dist/host-mcp-bindings.d.ts +5 -0
  132. package/dist/host-mcp-bindings.js +233 -170
  133. package/dist/host-mcp-bindings.js.map +1 -1
  134. package/dist/image-generation.d.ts +1 -0
  135. package/dist/index.d.ts +16761 -5946
  136. package/dist/index.js +1973 -260
  137. package/dist/insights-usage.d.ts +877 -0
  138. package/dist/insights-usage.js +559 -0
  139. package/dist/insights-usage.js.map +1 -0
  140. package/dist/interaction.d.ts +1176 -829
  141. package/dist/knowledge-entries.d.ts +81 -2
  142. package/dist/knowledge-preparation.d.ts +239 -0
  143. package/dist/managed-auth-session-sets.d.ts +7 -0
  144. package/dist/managed-auth-session-sets.js +198 -132
  145. package/dist/managed-auth-session-sets.js.map +1 -1
  146. package/dist/managed-sign-in-methods.d.ts +56 -0
  147. package/dist/managed-sign-in-methods.js +64 -0
  148. package/dist/managed-sign-in-methods.js.map +1 -0
  149. package/dist/mcp-catalog-limits.d.ts +2 -0
  150. package/dist/mcp-oauth.d.ts +2 -2
  151. package/dist/mcp-structured-content.d.ts +25 -0
  152. package/dist/modal-native-proof-v2.d.ts +587 -0
  153. package/dist/modal-native-proof-v2.js +38 -0
  154. package/dist/modal-native-proof-v2.js.map +1 -0
  155. package/dist/model-account-choice.d.ts +235 -0
  156. package/dist/model-account-settings.d.ts +422 -0
  157. package/dist/model-availability.d.ts +15 -0
  158. package/dist/model-connection-access.d.ts +13 -0
  159. package/dist/model-context-inspector.d.ts +98 -0
  160. package/dist/model-display.d.ts +43 -0
  161. package/dist/model-display.js +17 -0
  162. package/dist/model-display.js.map +1 -0
  163. package/dist/model-picker-order.d.ts +3 -1
  164. package/dist/model-picker-order.js +3 -0
  165. package/dist/model-picker-order.js.map +1 -1
  166. package/dist/organization-access.d.ts +412 -0
  167. package/dist/organization-access.js +39 -0
  168. package/dist/organization-access.js.map +1 -0
  169. package/dist/organization-integration-policy.d.ts +27 -0
  170. package/dist/organization-membership-lifecycle.d.ts +38 -0
  171. package/dist/organization-model-usage.d.ts +146 -0
  172. package/dist/organization-model-usage.js +78 -0
  173. package/dist/organization-model-usage.js.map +1 -0
  174. package/dist/organization-recovery.js +2 -1
  175. package/dist/organization-usage.d.ts +138 -0
  176. package/dist/permissions.d.ts +18 -0
  177. package/dist/personal-github.d.ts +1 -0
  178. package/dist/personal-github.js +199 -144
  179. package/dist/personal-github.js.map +1 -1
  180. package/dist/prepared-mcp-setup.d.ts +54 -0
  181. package/dist/prepared-mcp-setup.js +12 -0
  182. package/dist/prepared-mcp-setup.js.map +1 -0
  183. package/dist/product-analytics.d.ts +116 -0
  184. package/dist/product-lifecycle-facts.d.ts +73 -0
  185. package/dist/remember.d.ts +98 -6
  186. package/dist/retained-output.d.ts +8 -0
  187. package/dist/sandbox-file-artifacts.d.ts +1 -0
  188. package/dist/sandbox-provider-command.d.ts +91 -1
  189. package/dist/sandbox-recovery.d.ts +146 -0
  190. package/dist/secret-generator.d.ts +44 -0
  191. package/dist/secret-references.d.ts +90 -0
  192. package/dist/secret-resolution.d.ts +111 -0
  193. package/dist/secret-totp.d.ts +41 -0
  194. package/dist/session-final-reply.d.ts +6 -0
  195. package/dist/session-final-reply.js +9 -0
  196. package/dist/session-final-reply.js.map +1 -0
  197. package/dist/session-goal-reports.d.ts +21 -0
  198. package/dist/session-history-import.d.ts +1272 -0
  199. package/dist/session-list-entries.d.ts +4 -0
  200. package/dist/session-list-entries.js +56 -0
  201. package/dist/session-list-entries.js.map +1 -0
  202. package/dist/session-mcp-projections.d.ts +6 -0
  203. package/dist/session-mcp-tool-permissions.d.ts +62 -0
  204. package/dist/session-message-search.d.ts +68 -0
  205. package/dist/session-target.d.ts +18 -0
  206. package/dist/session-titles.d.ts +8 -0
  207. package/dist/session-titles.js +5 -1
  208. package/dist/session-usage-limit-refusal.d.ts +34 -0
  209. package/dist/session-usage-limit-refusal.js +15 -0
  210. package/dist/session-usage-limit-refusal.js.map +1 -0
  211. package/dist/session-usage-limits.d.ts +127 -0
  212. package/dist/session-usage-limits.js +41 -0
  213. package/dist/session-usage-limits.js.map +1 -0
  214. package/dist/signup-attribution.d.ts +39 -0
  215. package/dist/site-data.d.ts +286 -0
  216. package/dist/site-operations.d.ts +39 -0
  217. package/dist/site-publishing.d.ts +778 -0
  218. package/dist/site-session-http.d.ts +89 -4
  219. package/dist/site-session-http.js +25 -1
  220. package/dist/site-sql.d.ts +421 -0
  221. package/dist/skill-catalog-context.d.ts +7 -0
  222. package/dist/skill-files.d.ts +1 -1
  223. package/dist/skill-use.d.ts +61 -0
  224. package/dist/skills.d.ts +15 -0
  225. package/dist/slack-bot-scopes.d.ts +17 -12
  226. package/dist/slack-bot-scopes.js +10 -3
  227. package/dist/slack-rest-mcp.d.ts +36 -0
  228. package/dist/slack-rest-mcp.js +25 -0
  229. package/dist/slack-rest-mcp.js.map +1 -0
  230. package/dist/spreadsheet-artifact-commands.d.ts +14 -1
  231. package/dist/spreadsheet-artifact-commands.js +8 -2
  232. package/dist/spreadsheet-artifact-query.d.ts +13 -6
  233. package/dist/spreadsheet-artifact-query.js +3 -3
  234. package/dist/subscription-account-actions.d.ts +64 -0
  235. package/dist/subscription-account-pools.d.ts +292 -0
  236. package/dist/subscription-personal-authority-v2.d.ts +28 -0
  237. package/dist/subscription-personal-authority-v2.js +12 -0
  238. package/dist/subscription-personal-authority-v2.js.map +1 -0
  239. package/dist/tool-action-review.d.ts +132 -0
  240. package/dist/tool-catalog.d.ts +408 -0
  241. package/dist/tool-policy.d.ts +5 -0
  242. package/dist/tool-review-presentation.d.ts +12 -0
  243. package/dist/tool-review-presentation.js +17 -0
  244. package/dist/tool-review-presentation.js.map +1 -0
  245. package/dist/transcription-recordings.d.ts +21 -0
  246. package/dist/turn-serving-policy.d.ts +221 -0
  247. package/dist/usage-allowances.d.ts +314 -0
  248. package/dist/usage-allowances.js +52 -0
  249. package/dist/usage-allowances.js.map +1 -0
  250. package/dist/vaults.d.ts +1286 -0
  251. package/dist/video-generation.d.ts +3 -0
  252. package/dist/video-generation.js +2 -1
  253. package/dist/workspace-integration-wire.d.ts +36 -0
  254. package/dist/workspace-integration-wire.js +23 -0
  255. package/dist/workspace-integration-wire.js.map +1 -0
  256. package/dist/workspace-integrations.d.ts +1028 -0
  257. package/dist/xai-provider-account-authority.js +2 -1
  258. package/package.json +93 -5
  259. package/src/agent-authored-durable-text.ts +14 -11
  260. package/src/agent-config.ts +1698 -0
  261. package/src/agent-instruction-changes.ts +91 -74
  262. package/src/agent-learning.ts +94 -67
  263. package/src/agent-topology.ts +57 -52
  264. package/src/allowance-refusal.ts +81 -0
  265. package/src/analytics-consent-report.ts +20 -0
  266. package/src/api-key-presets.ts +28 -0
  267. package/src/artifact-catalog.ts +82 -0
  268. package/src/artifacts.ts +299 -227
  269. package/src/atlassian-native-retirement.ts +33 -0
  270. package/src/atlassian.ts +135 -108
  271. package/src/browser-storage.ts +10 -0
  272. package/src/bundled-skills.ts +60 -17
  273. package/src/canonical-human-identities.ts +60 -58
  274. package/src/claude-provider-account-authority.ts +12 -0
  275. package/src/claude-subscription-oauth.ts +73 -0
  276. package/src/claude-subscription-usage.ts +68 -0
  277. package/src/client-error-report.ts +343 -0
  278. package/src/code-search.ts +105 -0
  279. package/src/codex-provider-account-authority.ts +21 -16
  280. package/src/company-brain-governed-writes.ts +255 -233
  281. package/src/company-brain.ts +164 -153
  282. package/src/company-profile.ts +365 -292
  283. package/src/connect.ts +212 -173
  284. package/src/connection-account-label.ts +46 -0
  285. package/src/connection-authority.ts +183 -364
  286. package/src/connector-attachments.ts +137 -122
  287. package/src/connector-destinations.ts +46 -42
  288. package/src/connector-tool-permissions.ts +117 -0
  289. package/src/cua-desktop-tools.gen.json +6512 -0
  290. package/src/cua-desktop-tools.linux.gen.json +6600 -0
  291. package/src/cua-desktop-tools.ts +36 -0
  292. package/src/cua-desktop-tools.windows.gen.json +6353 -0
  293. package/src/define-schema.ts +10 -0
  294. package/src/direct-model-provider.ts +108 -0
  295. package/src/editable-artifact-committed-transaction.ts +17 -0
  296. package/src/editable-artifact-versions.ts +7 -1
  297. package/src/event-preview.ts +53 -3
  298. package/src/external-identities.ts +249 -176
  299. package/src/feedback.ts +43 -30
  300. package/src/first-party-tool-authorization.ts +356 -0
  301. package/src/github-repository-contracts.ts +78 -64
  302. package/src/google-drive.ts +285 -234
  303. package/src/governed-learning-activation.ts +152 -131
  304. package/src/governed-learning-evaluator.ts +140 -133
  305. package/src/host-mcp-bindings.ts +252 -198
  306. package/src/image-generation.ts +104 -95
  307. package/src/index.ts +13235 -8687
  308. package/src/insights-usage.ts +727 -0
  309. package/src/interaction.ts +3070 -2326
  310. package/src/knowledge-entries.ts +361 -276
  311. package/src/knowledge-preparation.ts +57 -0
  312. package/src/knowledge.ts +246 -213
  313. package/src/managed-auth-session-sets.ts +220 -144
  314. package/src/managed-sign-in-methods.ts +52 -0
  315. package/src/mcp-catalog-limits.ts +2 -0
  316. package/src/mcp-oauth.ts +43 -34
  317. package/src/mcp-receipts.ts +192 -192
  318. package/src/mcp-structured-content.ts +81 -0
  319. package/src/memory-slack-delivery.ts +171 -142
  320. package/src/modal-native-proof-v2.ts +429 -0
  321. package/src/model-account-choice.ts +177 -0
  322. package/src/model-account-settings.ts +210 -0
  323. package/src/model-availability.ts +22 -0
  324. package/src/model-connection-access.ts +61 -14
  325. package/src/model-context-inspector.ts +133 -99
  326. package/src/model-display.ts +221 -0
  327. package/src/model-picker-order.ts +12 -1
  328. package/src/organization-access.ts +217 -0
  329. package/src/organization-integration-policy.ts +63 -0
  330. package/src/organization-membership-lifecycle.ts +528 -382
  331. package/src/organization-model-usage.ts +81 -0
  332. package/src/organization-recovery.ts +147 -135
  333. package/src/organization-usage.ts +94 -0
  334. package/src/permissions.ts +88 -52
  335. package/src/personal-github.ts +210 -171
  336. package/src/preference-registry.ts +314 -258
  337. package/src/prepared-mcp-setup.ts +189 -0
  338. package/src/product-analytics.ts +261 -0
  339. package/src/product-lifecycle-facts.ts +122 -0
  340. package/src/remember.ts +181 -167
  341. package/src/retained-output.ts +194 -165
  342. package/src/sandbox-file-artifacts.ts +60 -47
  343. package/src/sandbox-provider-command.ts +88 -20
  344. package/src/sandbox-recovery.ts +129 -0
  345. package/src/scoped-knowledge.ts +61 -43
  346. package/src/secret-generator.ts +155 -0
  347. package/src/secret-references.ts +414 -0
  348. package/src/secret-resolution.ts +274 -0
  349. package/src/secret-totp.ts +188 -0
  350. package/src/session-final-reply.ts +16 -0
  351. package/src/session-goal-reports.ts +64 -0
  352. package/src/session-history-import.ts +177 -0
  353. package/src/session-list-entries.ts +96 -0
  354. package/src/session-mcp-projections.ts +11 -0
  355. package/src/session-mcp-tool-permissions.ts +108 -0
  356. package/src/session-message-search.ts +61 -0
  357. package/src/session-target.ts +57 -0
  358. package/src/session-titles.ts +80 -10
  359. package/src/session-topology-primitives.ts +19 -12
  360. package/src/session-usage-limit-refusal.ts +101 -0
  361. package/src/session-usage-limits.ts +171 -0
  362. package/src/signup-attribution.ts +86 -0
  363. package/src/site-data.ts +339 -0
  364. package/src/site-operations.ts +154 -0
  365. package/src/site-publishing.ts +876 -0
  366. package/src/site-session-http.ts +294 -16
  367. package/src/site-sql.ts +1123 -0
  368. package/src/skill-catalog-context.ts +50 -0
  369. package/src/skill-files.ts +3 -3
  370. package/src/skill-use.ts +80 -0
  371. package/src/skills.ts +82 -54
  372. package/src/slack-bot-scopes.ts +31 -39
  373. package/src/slack-rest-mcp.ts +222 -0
  374. package/src/slack-task-policy.ts +96 -73
  375. package/src/spreadsheet-artifact-commands.ts +73 -2
  376. package/src/spreadsheet-artifact-query.ts +187 -39
  377. package/src/subscription-account-actions.ts +84 -0
  378. package/src/subscription-account-pools.ts +53 -0
  379. package/src/subscription-personal-authority-v2.ts +66 -0
  380. package/src/task-notes.ts +55 -51
  381. package/src/tool-action-review.ts +258 -0
  382. package/src/tool-catalog.ts +609 -372
  383. package/src/tool-policy.ts +82 -0
  384. package/src/tool-result-spill.ts +12 -9
  385. package/src/tool-review-presentation.ts +385 -0
  386. package/src/transcription-recordings.ts +145 -131
  387. package/src/turn-serving-policy.ts +166 -0
  388. package/src/usage-allowances.ts +248 -0
  389. package/src/vaults.ts +850 -0
  390. package/src/video-generation.ts +385 -360
  391. package/src/work-claims.ts +173 -149
  392. package/src/workspace-instruction-policies.ts +349 -276
  393. package/src/workspace-integration-wire.ts +101 -0
  394. package/src/workspace-integrations.ts +724 -0
  395. package/src/workspace-learning-administration.ts +57 -44
  396. package/src/workspace-learning-policy.ts +127 -96
  397. package/src/workspace-state.ts +250 -220
  398. package/src/xai-provider-account-authority.ts +22 -17
  399. package/dist/chunk-2AC63F4S.js +0 -171
  400. package/dist/chunk-2AC63F4S.js.map +0 -1
  401. package/dist/chunk-3SIZGL3O.js.map +0 -1
  402. package/dist/chunk-7ABONTXE.js.map +0 -1
  403. package/dist/chunk-BCS7WHCK.js +0 -139
  404. package/dist/chunk-BCS7WHCK.js.map +0 -1
  405. package/dist/chunk-GRG7PHWQ.js +0 -25
  406. package/dist/chunk-GRG7PHWQ.js.map +0 -1
  407. package/dist/chunk-JUFK3T4Q.js +0 -80
  408. package/dist/chunk-JUFK3T4Q.js.map +0 -1
  409. package/dist/chunk-M5ZGRVIQ.js +0 -719
  410. package/dist/chunk-M5ZGRVIQ.js.map +0 -1
  411. package/dist/chunk-MRWYRAS5.js.map +0 -1
  412. package/dist/chunk-OVFORMPW.js +0 -348
  413. package/dist/chunk-OVFORMPW.js.map +0 -1
  414. package/dist/chunk-P3HLDT77.js +0 -59
  415. package/dist/chunk-P3HLDT77.js.map +0 -1
  416. package/dist/chunk-QQUJ6NPW.js +0 -23093
  417. package/dist/chunk-QQUJ6NPW.js.map +0 -1
  418. package/dist/chunk-TXTQIYCV.js.map +0 -1
  419. package/dist/chunk-WYBDERIY.js.map +0 -1
  420. package/dist/chunk-Y3KNXVTD.js.map +0 -1
  421. package/dist/chunk-YBW5JSA3.js.map +0 -1
  422. package/dist/chunk-YRXAWWCU.js +0 -45
  423. package/dist/chunk-YRXAWWCU.js.map +0 -1
  424. package/dist/host-mcp-resolvers.d.ts +0 -32
  425. package/dist/host-mcp-resolvers.js +0 -34
  426. package/dist/host-mcp-resolvers.js.map +0 -1
  427. package/src/host-mcp-resolvers.ts +0 -50
  428. /package/dist/{chunk-5LYFSZ7O.js.map → chunk-352X6ENP.js.map} +0 -0
  429. /package/dist/{chunk-O5LEQHDM.js.map → chunk-Z7WEVGCL.js.map} +0 -0
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/google-drive.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { ConnectionMetadata } from \"./index\";\nimport {\n ConnectorDocumentDestination,\n ConnectorDocumentDestinationSelection,\n} from \"./connector-destinations\";\n\nexport const GOOGLE_DRIVE_PROVIDER_DOMAIN = \"googleapis.com\" as const;\nexport const GOOGLE_DRIVE_FULL_SCOPE = \"https://www.googleapis.com/auth/drive\" as const;\nexport const GOOGLE_DRIVE_FILE_SCOPE = \"https://www.googleapis.com/auth/drive.file\" as const;\nexport const GOOGLE_DRIVE_METADATA_READONLY_SCOPE =\n \"https://www.googleapis.com/auth/drive.metadata.readonly\" as const;\nexport const GOOGLE_DRIVE_READONLY_SCOPE =\n \"https://www.googleapis.com/auth/drive.readonly\" as const;\n/** Stable serialized role retained for existing connection rows; not product-facing copy. */\nexport const GOOGLE_DRIVE_CREDENTIAL_ROLE = \"google_drive_metadata\" as const;\nexport const GOOGLE_DRIVE_CREDENTIAL_LABEL = \"Google Drive read-only source sync\" as const;\nexport const GOOGLE_DRIVE_LEGACY_CREDENTIAL_LABEL = \"Google Drive metadata browser\" as const;\nexport const GOOGLE_DRIVE_PUBLICATION_SERVER_ID = \"google-drive-publishing\" as const;\nexport const GOOGLE_DRIVE_PUBLICATION_TOOL_NAME = \"google_drive_publish_file\" as const;\nexport const GOOGLE_DRIVE_PUBLICATION_CREATE_ACTION = \"create\" as const;\n\nexport const GoogleDriveOAuthCapability = z.enum([\n \"picker_file_read\",\n \"publish_file\",\n \"source_metadata_discovery\",\n \"source_content_read\",\n \"recursive_source_sync\",\n]);\nexport type GoogleDriveOAuthCapability = z.infer<typeof GoogleDriveOAuthCapability>;\n\nexport type GoogleDriveOAuthScopeDecision = {\n accessMode: \"file_only\" | \"metadata_readonly\" | \"readonly\" | null;\n capabilities: GoogleDriveOAuthCapability[];\n};\n\n/**\n * Converts exact Google OAuth grants into the Drive capabilities OpenGeni may\n * rely on. Unknown or malformed grants add no authority. In particular,\n * drive.file covers only files explicitly opened or shared with the app and\n * never authorizes arbitrary recursive descendant discovery.\n */\nexport function googleDriveOAuthScopeDecision(\n grantedScopes: readonly string[],\n): GoogleDriveOAuthScopeDecision {\n const granted = new Set(grantedScopes);\n const hasFullDrive = granted.has(GOOGLE_DRIVE_FULL_SCOPE);\n const hasSourceContentRead = hasFullDrive || granted.has(GOOGLE_DRIVE_READONLY_SCOPE);\n const hasFileWrite = hasFullDrive || granted.has(GOOGLE_DRIVE_FILE_SCOPE);\n const hasSourceMetadataDiscovery =\n hasSourceContentRead || granted.has(GOOGLE_DRIVE_METADATA_READONLY_SCOPE);\n const hasPickerFileRead = hasSourceContentRead || hasFileWrite;\n const capabilities: GoogleDriveOAuthCapability[] = [];\n if (hasPickerFileRead) capabilities.push(\"picker_file_read\");\n if (hasFileWrite) capabilities.push(\"publish_file\");\n if (hasSourceMetadataDiscovery) capabilities.push(\"source_metadata_discovery\");\n if (hasSourceContentRead) {\n capabilities.push(\"source_content_read\", \"recursive_source_sync\");\n }\n return {\n accessMode: hasSourceContentRead\n ? \"readonly\"\n : hasSourceMetadataDiscovery\n ? \"metadata_readonly\"\n : hasFileWrite\n ? \"file_only\"\n : null,\n capabilities,\n };\n}\n\nexport function googleDriveScopesAllowCapability(\n grantedScopes: readonly string[],\n capability: GoogleDriveOAuthCapability,\n): boolean {\n return googleDriveOAuthScopeDecision(grantedScopes).capabilities.includes(capability);\n}\n\n/** @deprecated Connector document destinations use organization/workspace/personal authority. */\nexport const GoogleDriveTargetScope = z.enum([\"user\", \"workspace\", \"organization\"]);\nexport type GoogleDriveTargetScope = z.infer<typeof GoogleDriveTargetScope>;\n\nexport const GoogleDriveSyncCadence = z.enum([\"manual\", \"hourly\", \"daily\"]);\nexport type GoogleDriveSyncCadence = z.infer<typeof GoogleDriveSyncCadence>;\n\nexport const GoogleDriveReadPolicy = z.enum([\"allow\", \"ask\", \"block\"]);\nexport type GoogleDriveReadPolicy = z.infer<typeof GoogleDriveReadPolicy>;\n\nexport const GoogleDriveConnectionLifecycleState = z.enum([\n \"active\",\n \"paused\",\n \"token_revoked\",\n \"app_removed\",\n \"disconnected\",\n \"reconnect_required\",\n \"reconsent_required\",\n]);\nexport type GoogleDriveConnectionLifecycleState = z.infer<\n typeof GoogleDriveConnectionLifecycleState\n>;\n\nconst GoogleDriveLifecycleObservedAt = z.string().datetime({ offset: true });\nexport const GoogleDriveConnectionLifecycle = z.discriminatedUnion(\"state\", [\n z.object({\n state: z.literal(\"active\"),\n recoverable: z.literal(true),\n observedAt: GoogleDriveLifecycleObservedAt,\n }),\n z.object({\n state: z.literal(\"paused\"),\n recoverable: z.literal(true),\n observedAt: GoogleDriveLifecycleObservedAt,\n }),\n z.object({\n state: z.literal(\"token_revoked\"),\n recoverable: z.literal(true),\n observedAt: GoogleDriveLifecycleObservedAt,\n }),\n z.object({\n state: z.literal(\"app_removed\"),\n recoverable: z.literal(false),\n observedAt: GoogleDriveLifecycleObservedAt,\n }),\n z.object({\n state: z.literal(\"disconnected\"),\n recoverable: z.literal(true),\n observedAt: GoogleDriveLifecycleObservedAt,\n }),\n z.object({\n state: z.literal(\"reconnect_required\"),\n recoverable: z.literal(true),\n observedAt: GoogleDriveLifecycleObservedAt,\n }),\n z.object({\n state: z.literal(\"reconsent_required\"),\n recoverable: z.literal(true),\n observedAt: GoogleDriveLifecycleObservedAt,\n }),\n]);\nexport type GoogleDriveConnectionLifecycle = z.infer<typeof GoogleDriveConnectionLifecycle>;\n\nexport const GoogleDriveSelectedSource = z.object({\n id: z.string().min(1).max(256),\n name: z.string().min(1).max(1024),\n mimeType: z.string().min(1).max(256),\n driveId: z.string().min(1).max(256).nullable().default(null),\n destination: ConnectorDocumentDestination.optional(),\n /** @deprecated Missing destinations resolve to the current workspace boundary. */\n targetScope: GoogleDriveTargetScope.optional(),\n syncCadence: GoogleDriveSyncCadence.default(\"hourly\"),\n syncEnabled: z.boolean().default(false),\n configGeneration: z.number().int().positive().default(1),\n readPolicy: GoogleDriveReadPolicy.default(\"allow\"),\n selectedAt: z.string().datetime({ offset: true }),\n});\nexport type GoogleDriveSelectedSource = z.infer<typeof GoogleDriveSelectedSource>;\n\nexport const GoogleDriveOutputDestination = z\n .object({\n folderId: z.string().min(1).max(256),\n folderName: z.string().min(1).max(1024),\n driveId: z.string().min(1).max(256).nullable(),\n location: z.enum([\"my_drive\", \"shared_drive\"]),\n selectedAt: z.string().datetime({ offset: true }),\n })\n .strict()\n .superRefine((value, context) => {\n if ((value.location === \"my_drive\") !== (value.driveId === null)) {\n context.addIssue({\n code: \"custom\",\n path: [\"driveId\"],\n message: \"Google Drive destination location does not match its drive identity\",\n });\n }\n });\nexport type GoogleDriveOutputDestination = z.infer<typeof GoogleDriveOutputDestination>;\n\nexport const GoogleDriveConnectionMetadata = z\n .object({\n credentialRole: z.literal(GOOGLE_DRIVE_CREDENTIAL_ROLE),\n credentialLabel: z.union([\n z.literal(GOOGLE_DRIVE_CREDENTIAL_LABEL),\n z.literal(GOOGLE_DRIVE_LEGACY_CREDENTIAL_LABEL),\n ]),\n googlePermissionId: z.string().min(1).max(256),\n googleEmail: z.string().email().max(320),\n googleDisplayName: z.string().min(1).max(512).nullable(),\n verifiedAt: z.string().datetime({ offset: true }),\n accessMode: z.enum([\"file_only\", \"metadata_readonly\", \"readonly\"]),\n lifecycle: GoogleDriveConnectionLifecycle.optional(),\n outputDestination: GoogleDriveOutputDestination.optional(),\n documentDestination: ConnectorDocumentDestination.optional(),\n selectedSources: z.array(GoogleDriveSelectedSource).max(100).optional(),\n /** @deprecated Read `selectedSources`; retained while existing connections migrate. */\n selectedSource: GoogleDriveSelectedSource.nullable().optional(),\n })\n .passthrough();\nexport type GoogleDriveConnectionMetadata = z.infer<typeof GoogleDriveConnectionMetadata>;\n\nexport const GoogleDriveOAuthStartRequest = z.object({\n connectionId: z.string().uuid().optional(),\n capability: z.enum([\"source_read\", \"publish\"]).default(\"source_read\"),\n});\nexport type GoogleDriveOAuthStartRequest = z.infer<typeof GoogleDriveOAuthStartRequest>;\n\nexport const GoogleDriveOAuthStartResponse = z.object({\n authorizationUrl: z.string().url(),\n expiresAt: z.string().datetime({ offset: true }),\n});\nexport type GoogleDriveOAuthStartResponse = z.infer<typeof GoogleDriveOAuthStartResponse>;\n\nexport const GoogleDriveLifecycleActionRequest = z.object({\n action: z.enum([\"pause\", \"resume\"]),\n expectedVersion: z.number().int().positive(),\n});\nexport type GoogleDriveLifecycleActionRequest = z.infer<typeof GoogleDriveLifecycleActionRequest>;\n\nexport const GoogleDriveDisconnectRequest = z.object({\n expectedVersion: z.number().int().positive(),\n idempotencyKey: z.string().trim().min(1).max(200),\n});\nexport type GoogleDriveDisconnectRequest = z.infer<typeof GoogleDriveDisconnectRequest>;\n\nexport const GoogleDrivePublicationExportFile = z\n .object({\n fileId: z.string().uuid(),\n filename: z.string().trim().min(1).max(512),\n contentType: z.string().trim().min(1).max(256),\n sizeBytes: z.number().int().positive(),\n sha256: z.string().regex(/^[0-9a-f]{64}$/u),\n artifactId: z.string().regex(/^[0-9a-f]{32}$/u),\n versionId: z.string().regex(/^[0-9a-f]{32}$/u),\n materializationJobId: z.string().regex(/^[0-9a-f]{32}$/u),\n sourceHeadSequence: z.number().int().nonnegative(),\n sourceStateHash: z.string().regex(/^sha256:[0-9a-f]{64}$/u),\n })\n .strict();\nexport type GoogleDrivePublicationExportFile = z.infer<typeof GoogleDrivePublicationExportFile>;\n\nexport const GoogleDrivePublicationToolInput = z\n .object({\n title: z.string().trim().min(1).max(512),\n modality: z.enum([\"document\", \"spreadsheet\", \"presentation\"]),\n file: GoogleDrivePublicationExportFile,\n idempotencyKey: z.string().trim().min(1).max(200),\n })\n .strict();\nexport type GoogleDrivePublicationToolInput = z.infer<typeof GoogleDrivePublicationToolInput>;\n\nexport const GoogleDrivePublicationReceipt = z\n .object({\n connectionId: z.string().uuid(),\n providerFileId: z.string().min(1).max(256),\n webViewLink: z.string().url(),\n mimeType: z.enum([\n \"application/vnd.google-apps.document\",\n \"application/vnd.google-apps.spreadsheet\",\n \"application/vnd.google-apps.presentation\",\n ]),\n destination: GoogleDriveOutputDestination,\n replayed: z.boolean(),\n })\n .strict();\nexport type GoogleDrivePublicationReceipt = z.infer<typeof GoogleDrivePublicationReceipt>;\n\nexport const GoogleDriveBrowseItem = z.object({\n id: z.string().min(1).max(256),\n name: z.string().min(1).max(1024),\n mimeType: z.string().min(1).max(256),\n kind: z.enum([\"folder\", \"file\"]),\n driveId: z.string().min(1).max(256).nullable(),\n modifiedTime: z.string().datetime({ offset: true }).nullable(),\n size: z.string().regex(/^\\d+$/).nullable(),\n webViewLink: z.string().url().nullable(),\n});\nexport type GoogleDriveBrowseItem = z.infer<typeof GoogleDriveBrowseItem>;\n\nexport const GoogleDriveBrowseResponse = z.object({\n connection: z.lazy(() => ConnectionMetadata),\n parentId: z.string().min(1).max(256),\n current: GoogleDriveBrowseItem.nullable(),\n items: z.array(GoogleDriveBrowseItem),\n nextPageToken: z.string().min(1).max(4096).nullable(),\n incompleteSearch: z.boolean(),\n});\nexport type GoogleDriveBrowseResponse = z.infer<typeof GoogleDriveBrowseResponse>;\n\nconst GoogleDriveSourceSelection = z\n .array(\n GoogleDriveBrowseItem.pick({\n id: true,\n name: true,\n mimeType: true,\n driveId: true,\n }),\n )\n .max(100)\n .refine((sources) => new Set(sources.map((source) => source.id)).size === sources.length, {\n message: \"Google Drive sources must be unique\",\n });\n\nexport const SaveGoogleDriveSourceRequest = z\n .object({\n sources: GoogleDriveSourceSelection,\n destination: ConnectorDocumentDestinationSelection.optional(),\n /** @deprecated Legacy requests are accepted but resolve to workspace authority. */\n targetScope: GoogleDriveTargetScope.optional(),\n syncCadence: GoogleDriveSyncCadence.default(\"hourly\"),\n syncEnabled: z.boolean().default(false),\n readPolicy: GoogleDriveReadPolicy.default(\"allow\"),\n })\n .refine((request) => request.destination !== undefined || request.targetScope !== undefined, {\n message: \"Google Drive document destination is required\",\n });\nexport type SaveGoogleDriveSourceRequest = z.infer<typeof SaveGoogleDriveSourceRequest>;\n\nexport const GoogleDriveKnowledgeSourceItem = z.object({\n id: z.string().min(1).max(512),\n name: z.string().min(1).max(1024),\n mimeType: z.string().min(1).max(256),\n driveId: z.string().min(1).max(512).optional(),\n sourceKind: z.enum([\"my_drive\", \"shared_drive\", \"folder\"]),\n includeDescendants: z.boolean(),\n});\nexport type GoogleDriveKnowledgeSourceItem = z.infer<typeof GoogleDriveKnowledgeSourceItem>;\n\nexport const GoogleDriveKnowledgeSourceDestination = z.object({\n authorityKind: z.enum([\"organization\", \"workspace\", \"personal\"]),\n authorityAccountId: z.string().min(1).max(128),\n authorityWorkspaceId: z.string().min(1).max(128).optional(),\n authoritySubjectId: z.string().min(1).max(512).optional(),\n collectionId: z.string().min(1).max(512).optional(),\n});\nexport type GoogleDriveKnowledgeSourceDestination = z.infer<\n typeof GoogleDriveKnowledgeSourceDestination\n>;\n\nexport const GoogleDriveKnowledgeSourceConfig = z.object({\n sources: z.array(GoogleDriveKnowledgeSourceItem).min(1).max(100),\n destination: GoogleDriveKnowledgeSourceDestination,\n syncCadence: GoogleDriveSyncCadence,\n readPolicy: GoogleDriveReadPolicy,\n});\nexport type GoogleDriveKnowledgeSourceConfig = z.infer<typeof GoogleDriveKnowledgeSourceConfig>;\n\nexport const SaveGoogleDriveIntegrationSourceRequest = z.intersection(\n SaveGoogleDriveSourceRequest,\n z.object({\n sources: GoogleDriveSourceSelection.refine((sources) => sources.length > 0, {\n message: \"At least one Google Drive source is required\",\n }),\n expectedVersion: z.number().int().positive().optional(),\n idempotencyKey: z.string().uuid(),\n }),\n);\nexport type SaveGoogleDriveIntegrationSourceRequest = z.infer<\n typeof SaveGoogleDriveIntegrationSourceRequest\n>;\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../src/google-drive.ts"],"sourcesContent":["import { defineSchema } from \"./define-schema\";\nimport { z } from \"zod\";\n\nimport { ConnectionMetadata } from \"./index\";\nimport {\n ConnectorDocumentDestination,\n ConnectorDocumentDestinationSelection,\n} from \"./connector-destinations\";\n\nexport const GOOGLE_DRIVE_PROVIDER_DOMAIN = \"googleapis.com\" as const;\nexport const GOOGLE_DRIVE_FULL_SCOPE = \"https://www.googleapis.com/auth/drive\" as const;\nexport const GOOGLE_DRIVE_FILE_SCOPE = \"https://www.googleapis.com/auth/drive.file\" as const;\nexport const GOOGLE_DRIVE_METADATA_READONLY_SCOPE =\n \"https://www.googleapis.com/auth/drive.metadata.readonly\" as const;\nexport const GOOGLE_DRIVE_READONLY_SCOPE =\n \"https://www.googleapis.com/auth/drive.readonly\" as const;\n/** Stable serialized role retained for existing connection rows; not product-facing copy. */\nexport const GOOGLE_DRIVE_CREDENTIAL_ROLE = \"google_drive_metadata\" as const;\nexport const GOOGLE_DRIVE_CREDENTIAL_LABEL = \"Google Drive read-only source sync\" as const;\nexport const GOOGLE_DRIVE_LEGACY_CREDENTIAL_LABEL = \"Google Drive metadata browser\" as const;\nexport const GOOGLE_DRIVE_PUBLICATION_SERVER_ID = \"google-drive-publishing\" as const;\nexport const GOOGLE_DRIVE_PUBLICATION_TOOL_NAME = \"google_drive_publish_file\" as const;\nexport const GOOGLE_DRIVE_PUBLICATION_CREATE_ACTION = \"create\" as const;\n\nexport const GoogleDriveOAuthCapability = /* @__PURE__ */ defineSchema(() =>\n z.enum([\n \"picker_file_read\",\n \"publish_file\",\n \"source_metadata_discovery\",\n \"source_content_read\",\n \"recursive_source_sync\",\n ]),\n);\nexport type GoogleDriveOAuthCapability = z.infer<typeof GoogleDriveOAuthCapability>;\n\nexport type GoogleDriveOAuthScopeDecision = {\n accessMode: \"file_only\" | \"metadata_readonly\" | \"readonly\" | null;\n capabilities: GoogleDriveOAuthCapability[];\n};\n\n/**\n * Converts exact Google OAuth grants into the Drive capabilities Opengeni may\n * rely on. Unknown or malformed grants add no authority. In particular,\n * drive.file covers only files explicitly opened or shared with the app and\n * never authorizes arbitrary recursive descendant discovery.\n */\nexport function googleDriveOAuthScopeDecision(\n grantedScopes: readonly string[],\n): GoogleDriveOAuthScopeDecision {\n const granted = new Set(grantedScopes);\n const hasFullDrive = granted.has(GOOGLE_DRIVE_FULL_SCOPE);\n const hasSourceContentRead = hasFullDrive || granted.has(GOOGLE_DRIVE_READONLY_SCOPE);\n const hasFileWrite = hasFullDrive || granted.has(GOOGLE_DRIVE_FILE_SCOPE);\n const hasSourceMetadataDiscovery =\n hasSourceContentRead || granted.has(GOOGLE_DRIVE_METADATA_READONLY_SCOPE);\n const hasPickerFileRead = hasSourceContentRead || hasFileWrite;\n const capabilities: GoogleDriveOAuthCapability[] = [];\n if (hasPickerFileRead) capabilities.push(\"picker_file_read\");\n if (hasFileWrite) capabilities.push(\"publish_file\");\n if (hasSourceMetadataDiscovery) capabilities.push(\"source_metadata_discovery\");\n if (hasSourceContentRead) {\n capabilities.push(\"source_content_read\", \"recursive_source_sync\");\n }\n return {\n accessMode: hasSourceContentRead\n ? \"readonly\"\n : hasSourceMetadataDiscovery\n ? \"metadata_readonly\"\n : hasFileWrite\n ? \"file_only\"\n : null,\n capabilities,\n };\n}\n\nexport function googleDriveScopesAllowCapability(\n grantedScopes: readonly string[],\n capability: GoogleDriveOAuthCapability,\n): boolean {\n return googleDriveOAuthScopeDecision(grantedScopes).capabilities.includes(capability);\n}\n\n/** @deprecated Connector document destinations use organization/workspace/personal authority. */\nexport const GoogleDriveTargetScope = /* @__PURE__ */ defineSchema(() =>\n z.enum([\"user\", \"workspace\", \"organization\"]),\n);\nexport type GoogleDriveTargetScope = z.infer<typeof GoogleDriveTargetScope>;\n\nexport const GoogleDriveSyncCadence = /* @__PURE__ */ defineSchema(() =>\n z.enum([\"manual\", \"hourly\", \"daily\"]),\n);\nexport type GoogleDriveSyncCadence = z.infer<typeof GoogleDriveSyncCadence>;\n\nexport const GoogleDriveReadPolicy = /* @__PURE__ */ defineSchema(() =>\n z.enum([\"allow\", \"ask\", \"block\"]),\n);\nexport type GoogleDriveReadPolicy = z.infer<typeof GoogleDriveReadPolicy>;\n\nexport const GoogleDriveConnectionLifecycleState = /* @__PURE__ */ defineSchema(() =>\n z.enum([\n \"active\",\n \"paused\",\n \"token_revoked\",\n \"app_removed\",\n \"disconnected\",\n \"reconnect_required\",\n \"reconsent_required\",\n ]),\n);\nexport type GoogleDriveConnectionLifecycleState = z.infer<\n typeof GoogleDriveConnectionLifecycleState\n>;\n\nconst GoogleDriveLifecycleObservedAt = /* @__PURE__ */ defineSchema(() =>\n z.string().datetime({ offset: true }),\n);\nexport const GoogleDriveConnectionLifecycle = /* @__PURE__ */ defineSchema(() =>\n z.discriminatedUnion(\"state\", [\n z.object({\n state: z.literal(\"active\"),\n recoverable: z.literal(true),\n observedAt: GoogleDriveLifecycleObservedAt,\n }),\n z.object({\n state: z.literal(\"paused\"),\n recoverable: z.literal(true),\n observedAt: GoogleDriveLifecycleObservedAt,\n }),\n z.object({\n state: z.literal(\"token_revoked\"),\n recoverable: z.literal(true),\n observedAt: GoogleDriveLifecycleObservedAt,\n }),\n z.object({\n state: z.literal(\"app_removed\"),\n recoverable: z.literal(false),\n observedAt: GoogleDriveLifecycleObservedAt,\n }),\n z.object({\n state: z.literal(\"disconnected\"),\n recoverable: z.literal(true),\n observedAt: GoogleDriveLifecycleObservedAt,\n }),\n z.object({\n state: z.literal(\"reconnect_required\"),\n recoverable: z.literal(true),\n observedAt: GoogleDriveLifecycleObservedAt,\n }),\n z.object({\n state: z.literal(\"reconsent_required\"),\n recoverable: z.literal(true),\n observedAt: GoogleDriveLifecycleObservedAt,\n }),\n ]),\n);\nexport type GoogleDriveConnectionLifecycle = z.infer<typeof GoogleDriveConnectionLifecycle>;\n\nexport const GoogleDriveSelectedSource = /* @__PURE__ */ defineSchema(() =>\n z.object({\n id: z.string().min(1).max(256),\n name: z.string().min(1).max(1024),\n mimeType: z.string().min(1).max(256),\n driveId: z.string().min(1).max(256).nullable().default(null),\n destination: ConnectorDocumentDestination.optional(),\n /** @deprecated Missing destinations resolve to the current workspace boundary. */\n targetScope: GoogleDriveTargetScope.optional(),\n syncCadence: GoogleDriveSyncCadence.default(\"hourly\"),\n syncEnabled: z.boolean().default(false),\n configGeneration: z.number().int().positive().default(1),\n readPolicy: GoogleDriveReadPolicy.default(\"allow\"),\n selectedAt: z.string().datetime({ offset: true }),\n }),\n);\nexport type GoogleDriveSelectedSource = z.infer<typeof GoogleDriveSelectedSource>;\n\nexport const GoogleDriveOutputDestination = /* @__PURE__ */ defineSchema(() =>\n z\n .object({\n folderId: z.string().min(1).max(256),\n folderName: z.string().min(1).max(1024),\n driveId: z.string().min(1).max(256).nullable(),\n location: z.enum([\"my_drive\", \"shared_drive\"]),\n selectedAt: z.string().datetime({ offset: true }),\n })\n .strict()\n .superRefine((value, context) => {\n if ((value.location === \"my_drive\") !== (value.driveId === null)) {\n context.addIssue({\n code: \"custom\",\n path: [\"driveId\"],\n message: \"Google Drive destination location does not match its drive identity\",\n });\n }\n }),\n);\nexport type GoogleDriveOutputDestination = z.infer<typeof GoogleDriveOutputDestination>;\n\nexport const GoogleDriveConnectionMetadata = /* @__PURE__ */ defineSchema(() =>\n z\n .object({\n credentialRole: z.literal(GOOGLE_DRIVE_CREDENTIAL_ROLE),\n credentialLabel: z.union([\n z.literal(GOOGLE_DRIVE_CREDENTIAL_LABEL),\n z.literal(GOOGLE_DRIVE_LEGACY_CREDENTIAL_LABEL),\n ]),\n googlePermissionId: z.string().min(1).max(256),\n googleEmail: z.string().email().max(320),\n googleDisplayName: z.string().min(1).max(512).nullable(),\n verifiedAt: z.string().datetime({ offset: true }),\n accessMode: z.enum([\"file_only\", \"metadata_readonly\", \"readonly\"]),\n lifecycle: GoogleDriveConnectionLifecycle.optional(),\n outputDestination: GoogleDriveOutputDestination.optional(),\n documentDestination: ConnectorDocumentDestination.optional(),\n selectedSources: z.array(GoogleDriveSelectedSource).max(100).optional(),\n /** @deprecated Read `selectedSources`; retained while existing connections migrate. */\n selectedSource: GoogleDriveSelectedSource.nullable().optional(),\n })\n .passthrough(),\n);\nexport type GoogleDriveConnectionMetadata = z.infer<typeof GoogleDriveConnectionMetadata>;\n\nexport const GoogleDriveOAuthStartRequest = /* @__PURE__ */ defineSchema(() =>\n z.object({\n connectionId: z.string().uuid().optional(),\n capability: z.enum([\"source_read\", \"publish\"]).default(\"source_read\"),\n }),\n);\nexport type GoogleDriveOAuthStartRequest = z.infer<typeof GoogleDriveOAuthStartRequest>;\n\nexport const GoogleDriveOAuthStartResponse = /* @__PURE__ */ defineSchema(() =>\n z.object({\n authorizationUrl: z.string().url(),\n expiresAt: z.string().datetime({ offset: true }),\n }),\n);\nexport type GoogleDriveOAuthStartResponse = z.infer<typeof GoogleDriveOAuthStartResponse>;\n\nexport const GoogleDriveLifecycleActionRequest = /* @__PURE__ */ defineSchema(() =>\n z.object({\n action: z.enum([\"pause\", \"resume\"]),\n expectedVersion: z.number().int().positive(),\n }),\n);\nexport type GoogleDriveLifecycleActionRequest = z.infer<typeof GoogleDriveLifecycleActionRequest>;\n\nexport const GoogleDriveDisconnectRequest = /* @__PURE__ */ defineSchema(() =>\n z.object({\n expectedVersion: z.number().int().positive(),\n idempotencyKey: z.string().trim().min(1).max(200),\n }),\n);\nexport type GoogleDriveDisconnectRequest = z.infer<typeof GoogleDriveDisconnectRequest>;\n\nexport const GoogleDrivePublicationExportFile = /* @__PURE__ */ defineSchema(() =>\n z\n .object({\n fileId: z.string().uuid(),\n filename: z.string().trim().min(1).max(512),\n contentType: z.string().trim().min(1).max(256),\n sizeBytes: z.number().int().positive(),\n sha256: z.string().regex(/^[0-9a-f]{64}$/u),\n artifactId: z.string().regex(/^[0-9a-f]{32}$/u),\n versionId: z.string().regex(/^[0-9a-f]{32}$/u),\n materializationJobId: z.string().regex(/^[0-9a-f]{32}$/u),\n sourceHeadSequence: z.number().int().nonnegative(),\n sourceStateHash: z.string().regex(/^sha256:[0-9a-f]{64}$/u),\n })\n .strict(),\n);\nexport type GoogleDrivePublicationExportFile = z.infer<typeof GoogleDrivePublicationExportFile>;\n\nexport const GoogleDrivePublicationToolInput = /* @__PURE__ */ defineSchema(() =>\n z\n .object({\n title: z.string().trim().min(1).max(512),\n modality: z.enum([\"document\", \"spreadsheet\", \"presentation\"]),\n file: GoogleDrivePublicationExportFile,\n idempotencyKey: z.string().trim().min(1).max(200),\n })\n .strict(),\n);\nexport type GoogleDrivePublicationToolInput = z.infer<typeof GoogleDrivePublicationToolInput>;\n\nexport const GoogleDrivePublicationReceipt = /* @__PURE__ */ defineSchema(() =>\n z\n .object({\n connectionId: z.string().uuid(),\n providerFileId: z.string().min(1).max(256),\n webViewLink: z.string().url(),\n mimeType: z.enum([\n \"application/vnd.google-apps.document\",\n \"application/vnd.google-apps.spreadsheet\",\n \"application/vnd.google-apps.presentation\",\n ]),\n destination: GoogleDriveOutputDestination,\n replayed: z.boolean(),\n })\n .strict(),\n);\nexport type GoogleDrivePublicationReceipt = z.infer<typeof GoogleDrivePublicationReceipt>;\n\nexport const GoogleDriveBrowseItem = /* @__PURE__ */ defineSchema(() =>\n z.object({\n id: z.string().min(1).max(256),\n name: z.string().min(1).max(1024),\n mimeType: z.string().min(1).max(256),\n kind: z.enum([\"folder\", \"file\"]),\n driveId: z.string().min(1).max(256).nullable(),\n modifiedTime: z.string().datetime({ offset: true }).nullable(),\n size: z.string().regex(/^\\d+$/).nullable(),\n webViewLink: z.string().url().nullable(),\n }),\n);\nexport type GoogleDriveBrowseItem = z.infer<typeof GoogleDriveBrowseItem>;\n\nexport const GoogleDriveBrowseResponse = /* @__PURE__ */ defineSchema(() =>\n z.object({\n connection: z.lazy(() => ConnectionMetadata),\n parentId: z.string().min(1).max(256),\n current: GoogleDriveBrowseItem.nullable(),\n items: z.array(GoogleDriveBrowseItem),\n nextPageToken: z.string().min(1).max(4096).nullable(),\n incompleteSearch: z.boolean(),\n }),\n);\nexport type GoogleDriveBrowseResponse = z.infer<typeof GoogleDriveBrowseResponse>;\n\nconst GoogleDriveSourceSelection = /* @__PURE__ */ defineSchema(() =>\n z\n .array(\n GoogleDriveBrowseItem.pick({\n id: true,\n name: true,\n mimeType: true,\n driveId: true,\n }),\n )\n .max(100)\n .refine((sources) => new Set(sources.map((source) => source.id)).size === sources.length, {\n message: \"Google Drive sources must be unique\",\n }),\n);\n\nexport const SaveGoogleDriveSourceRequest = /* @__PURE__ */ defineSchema(() =>\n z\n .object({\n sources: GoogleDriveSourceSelection,\n destination: ConnectorDocumentDestinationSelection.optional(),\n /** @deprecated Legacy requests are accepted but resolve to workspace authority. */\n targetScope: GoogleDriveTargetScope.optional(),\n syncCadence: GoogleDriveSyncCadence.default(\"hourly\"),\n syncEnabled: z.boolean().default(false),\n readPolicy: GoogleDriveReadPolicy.default(\"allow\"),\n })\n .refine((request) => request.destination !== undefined || request.targetScope !== undefined, {\n message: \"Google Drive document destination is required\",\n }),\n);\nexport type SaveGoogleDriveSourceRequest = z.infer<typeof SaveGoogleDriveSourceRequest>;\n\nexport const GoogleDriveKnowledgeSourceItem = /* @__PURE__ */ defineSchema(() =>\n z.object({\n id: z.string().min(1).max(512),\n name: z.string().min(1).max(1024),\n mimeType: z.string().min(1).max(256),\n driveId: z.string().min(1).max(512).optional(),\n sourceKind: z.enum([\"my_drive\", \"shared_drive\", \"folder\"]),\n includeDescendants: z.boolean(),\n }),\n);\nexport type GoogleDriveKnowledgeSourceItem = z.infer<typeof GoogleDriveKnowledgeSourceItem>;\n\nexport const GoogleDriveKnowledgeSourceDestination = /* @__PURE__ */ defineSchema(() =>\n z.object({\n authorityKind: z.enum([\"organization\", \"workspace\", \"personal\"]),\n authorityAccountId: z.string().min(1).max(128),\n authorityWorkspaceId: z.string().min(1).max(128).optional(),\n authoritySubjectId: z.string().min(1).max(512).optional(),\n collectionId: z.string().min(1).max(512).optional(),\n }),\n);\nexport type GoogleDriveKnowledgeSourceDestination = z.infer<\n typeof GoogleDriveKnowledgeSourceDestination\n>;\n\nexport const GoogleDriveKnowledgeSourceConfig = /* @__PURE__ */ defineSchema(() =>\n z.object({\n sources: z.array(GoogleDriveKnowledgeSourceItem).min(1).max(100),\n destination: GoogleDriveKnowledgeSourceDestination,\n syncCadence: GoogleDriveSyncCadence,\n readPolicy: GoogleDriveReadPolicy,\n }),\n);\nexport type GoogleDriveKnowledgeSourceConfig = z.infer<typeof GoogleDriveKnowledgeSourceConfig>;\n\nexport const SaveGoogleDriveIntegrationSourceRequest = /* @__PURE__ */ defineSchema(() =>\n z.intersection(\n SaveGoogleDriveSourceRequest,\n z.object({\n sources: GoogleDriveSourceSelection.refine((sources) => sources.length > 0, {\n message: \"At least one Google Drive source is required\",\n }),\n expectedVersion: z.number().int().positive().optional(),\n idempotencyKey: z.string().uuid(),\n }),\n ),\n);\nexport type SaveGoogleDriveIntegrationSourceRequest = z.infer<\n typeof SaveGoogleDriveIntegrationSourceRequest\n>;\n"],"mappings":"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","names":[]}
@@ -8,6 +8,7 @@ export declare const HostMcpBindingDefinition: z.ZodObject<{
8
8
  destinationUrl: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
9
9
  connectionRef: z.ZodObject<{
10
10
  connectionId: z.ZodOptional<z.ZodString>;
11
+ accountSelection: z.ZodOptional<z.ZodLiteral<"all_eligible">>;
11
12
  authoritySource: z.ZodOptional<z.ZodLiteral<"host">>;
12
13
  hostBinding: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
13
14
  bindingId: z.ZodString;
@@ -65,6 +66,7 @@ export declare const HostMcpBinding: z.ZodObject<{
65
66
  destinationUrl: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
66
67
  connectionRef: z.ZodObject<{
67
68
  connectionId: z.ZodOptional<z.ZodString>;
69
+ accountSelection: z.ZodOptional<z.ZodLiteral<"all_eligible">>;
68
70
  authoritySource: z.ZodOptional<z.ZodLiteral<"host">>;
69
71
  hostBinding: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
70
72
  bindingId: z.ZodString;
@@ -103,6 +105,7 @@ export declare const CreateHostMcpBindingRequest: z.ZodObject<{
103
105
  destinationUrl: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
104
106
  connectionRef: z.ZodObject<{
105
107
  connectionId: z.ZodOptional<z.ZodString>;
108
+ accountSelection: z.ZodOptional<z.ZodLiteral<"all_eligible">>;
106
109
  authoritySource: z.ZodOptional<z.ZodLiteral<"host">>;
107
110
  hostBinding: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
108
111
  bindingId: z.ZodString;
@@ -214,6 +217,7 @@ export declare const HostMcpAcceptedAuthority: z.ZodObject<{
214
217
  destinationUrl: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
215
218
  connectionRef: z.ZodObject<{
216
219
  connectionId: z.ZodOptional<z.ZodString>;
220
+ accountSelection: z.ZodOptional<z.ZodLiteral<"all_eligible">>;
217
221
  authoritySource: z.ZodOptional<z.ZodLiteral<"host">>;
218
222
  hostBinding: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
219
223
  bindingId: z.ZodString;
@@ -286,6 +290,7 @@ export declare const HostMcpTaskAuthority: z.ZodObject<{
286
290
  destinationUrl: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
287
291
  connectionRef: z.ZodObject<{
288
292
  connectionId: z.ZodOptional<z.ZodString>;
293
+ accountSelection: z.ZodOptional<z.ZodLiteral<"all_eligible">>;
289
294
  authoritySource: z.ZodOptional<z.ZodLiteral<"host">>;
290
295
  hostBinding: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
291
296
  bindingId: z.ZodString;
@@ -1,68 +1,89 @@
1
1
  import {
2
- ConnectionUseAuthoritySnapshot,
3
- IssueConnectionUseGrantRequest
4
- } from "./chunk-OVFORMPW.js";
2
+ ExternalIdentity
3
+ } from "./chunk-HABQ7ADB.js";
4
+ import {
5
+ ConnectionUseAuthoritySnapshot
6
+ } from "./chunk-6C2HKFTU.js";
5
7
  import {
6
8
  HostMcpCreateSelections,
9
+ ManagedUserResourceGrantMode,
7
10
  McpServerConnectionRef,
8
11
  SessionTenancyVisibility,
9
12
  stableJson
10
- } from "./chunk-QQUJ6NPW.js";
11
- import "./chunk-YBW5JSA3.js";
12
- import "./chunk-O5LEQHDM.js";
13
- import "./chunk-GRG7PHWQ.js";
14
- import "./chunk-RKX3NQYS.js";
15
- import "./chunk-MRWYRAS5.js";
16
- import "./chunk-3SIZGL3O.js";
13
+ } from "./chunk-OF6OKOBF.js";
14
+ import "./chunk-EFZYKUE2.js";
15
+ import "./chunk-Z7WEVGCL.js";
16
+ import "./chunk-4JGHSSB7.js";
17
+ import "./chunk-2ZIHHL72.js";
18
+ import "./chunk-LZ2LAHIX.js";
19
+ import "./chunk-NDZHPTCL.js";
20
+ import "./chunk-SHO4YO4B.js";
21
+ import "./chunk-TSWWZMUS.js";
22
+ import "./chunk-XDLAGX66.js";
23
+ import "./chunk-4VDMHLLL.js";
24
+ import "./chunk-E3GGUBHS.js";
25
+ import "./chunk-KHHZTBP7.js";
26
+ import "./chunk-6IXO76Z6.js";
17
27
  import "./chunk-NVJMJWLL.js";
28
+ import "./chunk-352X6ENP.js";
18
29
  import "./chunk-YRKRZ6OF.js";
19
- import "./chunk-JUFK3T4Q.js";
20
- import "./chunk-M5ZGRVIQ.js";
21
- import "./chunk-BCS7WHCK.js";
22
- import "./chunk-5LYFSZ7O.js";
23
- import "./chunk-Y3KNXVTD.js";
24
- import "./chunk-D2HKF2EF.js";
25
- import "./chunk-TXTQIYCV.js";
30
+ import "./chunk-J4HQ3UKY.js";
31
+ import "./chunk-YKZ4WU4P.js";
32
+ import "./chunk-TLU3UEMD.js";
33
+ import "./chunk-OL23ARTF.js";
34
+ import "./chunk-TCXCRBPF.js";
35
+ import "./chunk-ZDCRWCGZ.js";
36
+ import "./chunk-SWRN2DJ3.js";
37
+ import "./chunk-HRRU4QPI.js";
38
+ import "./chunk-IK36LXKC.js";
26
39
  import "./chunk-RIY7GYQS.js";
27
- import "./chunk-MYBZRDTY.js";
28
- import "./chunk-PX3VCKAU.js";
29
- import "./chunk-YRXAWWCU.js";
30
- import "./chunk-WYBDERIY.js";
40
+ import "./chunk-4QO6GJUX.js";
41
+ import "./chunk-EKWNTOG3.js";
31
42
  import {
32
- ExternalIdentity
33
- } from "./chunk-2AC63F4S.js";
34
- import "./chunk-P3HLDT77.js";
35
- import "./chunk-7ABONTXE.js";
43
+ defineSchema
44
+ } from "./chunk-56SNIMDO.js";
45
+ import "./chunk-D2HKF2EF.js";
46
+ import "./chunk-MYBZRDTY.js";
47
+ import "./chunk-PUIUXIOL.js";
48
+ import "./chunk-RKX3NQYS.js";
49
+ import "./chunk-7272KVWZ.js";
50
+ import "./chunk-RMWXDZEO.js";
51
+ import "./chunk-ILJ72KPO.js";
52
+ import "./chunk-WVCFSOUZ.js";
36
53
 
37
54
  // src/host-mcp-bindings.ts
38
55
  import { z } from "zod";
39
- var HostMcpOwnerSubject = z.union([
40
- ExternalIdentity.shape.subjectId,
41
- z.string().max(4096).regex(/^user:[^\r\n\u0000]+$/)
42
- ]);
43
- var HostMcpBindingDefinition = z.object({
44
- serverId: z.string().min(1).max(256),
45
- destinationUrl: z.string().url().max(4096).refine((value) => {
46
- const url = new URL(value);
47
- return url.protocol === "https:" && !url.username && !url.password && !url.hash;
48
- }, "Host binding requires an HTTPS destination without userinfo or fragment").transform((value) => new URL(value).toString()),
49
- connectionRef: McpServerConnectionRef
50
- }).strict().superRefine((value, context) => {
51
- if (value.connectionRef.hostBinding)
52
- context.addIssue({
53
- code: "custom",
54
- path: ["connectionRef", "hostBinding"],
55
- message: "A binding definition cannot reference another binding"
56
- });
57
- if (value.connectionRef.authoritySource !== "host" || !value.connectionRef.connectionId)
58
- context.addIssue({
59
- code: "custom",
60
- path: ["connectionRef"],
61
- message: "Explicit host connection authority is required"
62
- });
63
- if (new TextEncoder().encode(JSON.stringify(value)).byteLength > 65536)
64
- context.addIssue({ code: "custom", message: "Host binding definition exceeds 64 KiB" });
65
- });
56
+ var HostMcpOwnerSubject = /* @__PURE__ */ defineSchema(
57
+ () => z.union([
58
+ ExternalIdentity.shape.subjectId,
59
+ z.string().max(4096).regex(/^user:[^\r\n\u0000]+$/)
60
+ ])
61
+ );
62
+ var HostMcpBindingDefinition = /* @__PURE__ */ defineSchema(
63
+ () => z.object({
64
+ serverId: z.string().min(1).max(256),
65
+ destinationUrl: z.string().url().max(4096).refine((value) => {
66
+ const url = new URL(value);
67
+ return url.protocol === "https:" && !url.username && !url.password && !url.hash;
68
+ }, "Host binding requires an HTTPS destination without userinfo or fragment").transform((value) => new URL(value).toString()),
69
+ connectionRef: McpServerConnectionRef
70
+ }).strict().superRefine((value, context) => {
71
+ if (value.connectionRef.hostBinding)
72
+ context.addIssue({
73
+ code: "custom",
74
+ path: ["connectionRef", "hostBinding"],
75
+ message: "A binding definition cannot reference another binding"
76
+ });
77
+ if (value.connectionRef.authoritySource !== "host" || !value.connectionRef.connectionId)
78
+ context.addIssue({
79
+ code: "custom",
80
+ path: ["connectionRef"],
81
+ message: "Explicit host connection authority is required"
82
+ });
83
+ if (new TextEncoder().encode(JSON.stringify(value)).byteLength > 65536)
84
+ context.addIssue({ code: "custom", message: "Host binding definition exceeds 64 KiB" });
85
+ })
86
+ );
66
87
  function hostMcpBindingMatchesSelection(binding, selection) {
67
88
  const parsed = McpServerConnectionRef.safeParse(selection.connectionRef);
68
89
  if (!parsed.success || !parsed.data.hostBinding) return false;
@@ -83,126 +104,168 @@ function hostMcpBindingMatchesSelection(binding, selection) {
83
104
  }
84
105
  return binding.id === hostBinding.bindingId && binding.generation === hostBinding.generation && stableJson(configuredRef) === stableJson(definition.data.connectionRef);
85
106
  }
86
- var HostMcpBinding = z.object({
87
- id: z.string().uuid(),
88
- accountId: z.string().uuid(),
89
- workspaceId: z.string().uuid(),
90
- ownerSubjectId: HostMcpOwnerSubject,
91
- authorizationRevision: z.number().int().positive().safe(),
92
- generation: z.number().int().positive().safe(),
93
- status: z.enum(["active", "revoked"]),
94
- definition: HostMcpBindingDefinition,
95
- createdAt: z.string().datetime({ offset: true }),
96
- revokedAt: z.string().datetime({ offset: true }).nullable()
97
- }).strict();
98
- var CreateHostMcpBindingRequest = z.object({
99
- operationId: z.string().uuid(),
100
- definition: HostMcpBindingDefinition
101
- }).strict();
102
- var HostMcpDelegationGrant = IssueConnectionUseGrantRequest.superRefine((value, context) => {
103
- if (Boolean(value.sessionId) !== (value.expectedAuthorityEpoch != null) || value.expectedAuthorityEpoch != null && !Number.isSafeInteger(value.expectedAuthorityEpoch)) {
104
- context.addIssue({
105
- code: "custom",
106
- message: "Host session grants require a matching safe authority epoch"
107
- });
108
- }
109
- });
110
- var IssueHostMcpDelegationRequest = z.object({
111
- operationId: z.string().uuid(),
112
- bindingId: z.string().uuid(),
113
- expectedBindingGeneration: z.number().int().positive().safe(),
114
- grant: HostMcpDelegationGrant
115
- }).strict();
116
- var HostMcpDelegation = z.object({
117
- id: z.string().uuid(),
118
- accountId: z.string().uuid(),
119
- workspaceId: z.string().uuid(),
120
- ownerSubjectId: HostMcpOwnerSubject,
121
- ownerAuthorizationRevision: z.number().int().positive().safe(),
122
- bindingId: z.string().uuid(),
123
- bindingGeneration: z.number().int().positive().safe(),
124
- grant: HostMcpDelegationGrant,
125
- generation: z.number().int().positive().safe(),
126
- status: z.enum(["active", "revoked"]),
127
- createdAt: z.string().datetime({ offset: true }),
128
- revokedAt: z.string().datetime({ offset: true }).nullable()
129
- }).strict();
130
- var HostMcpAcceptedAuthority = z.object({
131
- version: z.literal(1),
132
- accountId: z.string().uuid(),
133
- workspaceId: z.string().uuid(),
134
- targetSessionId: z.string().uuid(),
135
- targetSessionVisibility: SessionTenancyVisibility,
136
- targetSessionAuthorityEpoch: z.number().int().positive().safe(),
137
- acceptedWork: ConnectionUseAuthoritySnapshot.shape.acceptedWork,
138
- bindingId: z.string().uuid(),
139
- bindingGeneration: z.number().int().positive().safe(),
140
- definition: HostMcpBindingDefinition,
141
- ownerSubjectId: HostMcpOwnerSubject,
142
- ownerOrganizationMembershipId: z.string().uuid(),
143
- ownerMembershipAuthorizationRevision: z.number().int().positive().safe(),
144
- delegationId: z.string().uuid(),
145
- delegationGeneration: z.number().int().positive().safe(),
146
- scheduledOrigin: z.object({
107
+ var HostMcpBinding = /* @__PURE__ */ defineSchema(
108
+ () => z.object({
109
+ id: z.string().uuid(),
110
+ accountId: z.string().uuid(),
111
+ workspaceId: z.string().uuid(),
112
+ ownerSubjectId: HostMcpOwnerSubject,
113
+ authorizationRevision: z.number().int().positive().safe(),
114
+ generation: z.number().int().positive().safe(),
115
+ status: z.enum(["active", "revoked"]),
116
+ definition: HostMcpBindingDefinition,
117
+ createdAt: z.string().datetime({ offset: true }),
118
+ revokedAt: z.string().datetime({ offset: true }).nullable()
119
+ }).strict()
120
+ );
121
+ var CreateHostMcpBindingRequest = /* @__PURE__ */ defineSchema(
122
+ () => z.object({
123
+ operationId: z.string().uuid(),
124
+ definition: HostMcpBindingDefinition
125
+ }).strict()
126
+ );
127
+ var HostMcpGrantRequest = /* @__PURE__ */ defineSchema(
128
+ () => z.object({
129
+ scope: z.literal("user"),
130
+ mode: ManagedUserResourceGrantMode,
131
+ context: SessionTenancyVisibility,
132
+ sessionId: z.string().uuid().nullable().optional(),
133
+ expectedAuthorityEpoch: z.number().int().positive().nullable().optional(),
134
+ workspaceSharedAcknowledged: z.boolean().default(false)
135
+ }).strict().superRefine((value, context) => {
136
+ if (value.context === "workspace_shared" && !value.workspaceSharedAcknowledged) {
137
+ context.addIssue({
138
+ code: "custom",
139
+ path: ["workspaceSharedAcknowledged"],
140
+ message: "workspace_shared requires durable shared-output acknowledgement"
141
+ });
142
+ }
143
+ if (value.mode === "always" && (value.sessionId || value.expectedAuthorityEpoch)) {
144
+ context.addIssue({ code: "custom", path: ["sessionId"], message: "always is unbound" });
145
+ }
146
+ if (value.mode === "session" && (!value.sessionId || !value.expectedAuthorityEpoch)) {
147
+ context.addIssue({
148
+ code: "custom",
149
+ path: ["sessionId"],
150
+ message: "session requires a target session and expectedAuthorityEpoch"
151
+ });
152
+ }
153
+ })
154
+ );
155
+ var HostMcpDelegationGrant = /* @__PURE__ */ defineSchema(
156
+ () => HostMcpGrantRequest.superRefine((value, context) => {
157
+ if (Boolean(value.sessionId) !== (value.expectedAuthorityEpoch != null) || value.expectedAuthorityEpoch != null && !Number.isSafeInteger(value.expectedAuthorityEpoch)) {
158
+ context.addIssue({
159
+ code: "custom",
160
+ message: "Host session grants require a matching safe authority epoch"
161
+ });
162
+ }
163
+ })
164
+ );
165
+ var IssueHostMcpDelegationRequest = /* @__PURE__ */ defineSchema(
166
+ () => z.object({
167
+ operationId: z.string().uuid(),
168
+ bindingId: z.string().uuid(),
169
+ expectedBindingGeneration: z.number().int().positive().safe(),
170
+ grant: HostMcpDelegationGrant
171
+ }).strict()
172
+ );
173
+ var HostMcpDelegation = /* @__PURE__ */ defineSchema(
174
+ () => z.object({
175
+ id: z.string().uuid(),
176
+ accountId: z.string().uuid(),
177
+ workspaceId: z.string().uuid(),
178
+ ownerSubjectId: HostMcpOwnerSubject,
179
+ ownerAuthorizationRevision: z.number().int().positive().safe(),
180
+ bindingId: z.string().uuid(),
181
+ bindingGeneration: z.number().int().positive().safe(),
182
+ grant: HostMcpDelegationGrant,
183
+ generation: z.number().int().positive().safe(),
184
+ status: z.enum(["active", "revoked"]),
185
+ createdAt: z.string().datetime({ offset: true }),
186
+ revokedAt: z.string().datetime({ offset: true }).nullable()
187
+ }).strict()
188
+ );
189
+ var HostMcpAcceptedAuthority = /* @__PURE__ */ defineSchema(
190
+ () => z.object({
191
+ version: z.literal(1),
192
+ accountId: z.string().uuid(),
193
+ workspaceId: z.string().uuid(),
194
+ targetSessionId: z.string().uuid(),
195
+ targetSessionVisibility: SessionTenancyVisibility,
196
+ targetSessionAuthorityEpoch: z.number().int().positive().safe(),
197
+ acceptedWork: ConnectionUseAuthoritySnapshot.shape.acceptedWork,
198
+ bindingId: z.string().uuid(),
199
+ bindingGeneration: z.number().int().positive().safe(),
200
+ definition: HostMcpBindingDefinition,
201
+ ownerSubjectId: HostMcpOwnerSubject,
202
+ ownerOrganizationMembershipId: z.string().uuid(),
203
+ ownerMembershipAuthorizationRevision: z.number().int().positive().safe(),
204
+ delegationId: z.string().uuid(),
205
+ delegationGeneration: z.number().int().positive().safe(),
206
+ scheduledOrigin: z.object({
207
+ taskId: z.string().uuid(),
208
+ taskAuthorityRevision: z.number().int().positive().safe(),
209
+ runId: z.string().uuid()
210
+ }).strict().optional(),
211
+ source: z.discriminatedUnion("kind", [
212
+ z.object({ kind: z.literal("direct") }).strict(),
213
+ z.object({ kind: z.literal("scheduled_task") }).strict(),
214
+ z.object({
215
+ kind: z.literal("child_turn"),
216
+ sessionId: z.string().uuid(),
217
+ turnId: z.string().uuid()
218
+ }).strict(),
219
+ z.object({
220
+ kind: z.literal("inherited_turn"),
221
+ sessionId: z.string().uuid(),
222
+ turnId: z.string().uuid()
223
+ }).strict()
224
+ ])
225
+ }).strict().superRefine((value, context) => {
226
+ if (value.source.kind === "direct" && value.scheduledOrigin || value.source.kind === "scheduled_task" && (!value.scheduledOrigin || value.acceptedWork.kind !== "scheduled_task" || value.scheduledOrigin.taskId !== value.acceptedWork.taskId || value.scheduledOrigin.runId !== value.acceptedWork.runId || value.scheduledOrigin.taskAuthorityRevision !== value.acceptedWork.taskAuthorityRevision))
227
+ context.addIssue({
228
+ code: "custom",
229
+ message: "Scheduled host authority must retain its exact run origin"
230
+ });
231
+ if (value.acceptedWork.kind === "turn" && value.source.kind === "inherited_turn" && value.acceptedWork.turnId === value.source.turnId) {
232
+ context.addIssue({
233
+ code: "custom",
234
+ path: ["source"],
235
+ message: "Accepted work cannot inherit from itself"
236
+ });
237
+ }
238
+ if (value.acceptedWork.kind === "scheduled_task" && !Number.isSafeInteger(value.acceptedWork.taskAuthorityRevision)) {
239
+ context.addIssue({
240
+ code: "custom",
241
+ path: ["acceptedWork"],
242
+ message: "Task authority revision must be a safe integer"
243
+ });
244
+ }
245
+ if (new TextEncoder().encode(JSON.stringify(value)).byteLength > 65536) {
246
+ context.addIssue({ code: "custom", message: "Host accepted authority exceeds 64 KiB" });
247
+ }
248
+ })
249
+ );
250
+ var HostMcpTaskAuthority = /* @__PURE__ */ defineSchema(
251
+ () => z.object({
252
+ version: z.literal(1),
253
+ accountId: z.string().uuid(),
254
+ workspaceId: z.string().uuid(),
147
255
  taskId: z.string().uuid(),
148
256
  taskAuthorityRevision: z.number().int().positive().safe(),
149
- runId: z.string().uuid()
150
- }).strict().optional(),
151
- source: z.discriminatedUnion("kind", [
152
- z.object({ kind: z.literal("direct") }).strict(),
153
- z.object({ kind: z.literal("scheduled_task") }).strict(),
154
- z.object({
155
- kind: z.literal("child_turn"),
156
- sessionId: z.string().uuid(),
157
- turnId: z.string().uuid()
158
- }).strict(),
159
- z.object({
160
- kind: z.literal("inherited_turn"),
161
- sessionId: z.string().uuid(),
162
- turnId: z.string().uuid()
163
- }).strict()
164
- ])
165
- }).strict().superRefine((value, context) => {
166
- if (value.source.kind === "direct" && value.scheduledOrigin || value.source.kind === "scheduled_task" && (!value.scheduledOrigin || value.acceptedWork.kind !== "scheduled_task" || value.scheduledOrigin.taskId !== value.acceptedWork.taskId || value.scheduledOrigin.runId !== value.acceptedWork.runId || value.scheduledOrigin.taskAuthorityRevision !== value.acceptedWork.taskAuthorityRevision))
167
- context.addIssue({
168
- code: "custom",
169
- message: "Scheduled host authority must retain its exact run origin"
170
- });
171
- if (value.acceptedWork.kind === "turn" && value.source.kind === "inherited_turn" && value.acceptedWork.turnId === value.source.turnId) {
172
- context.addIssue({
173
- code: "custom",
174
- path: ["source"],
175
- message: "Accepted work cannot inherit from itself"
176
- });
177
- }
178
- if (value.acceptedWork.kind === "scheduled_task" && !Number.isSafeInteger(value.acceptedWork.taskAuthorityRevision)) {
179
- context.addIssue({
180
- code: "custom",
181
- path: ["acceptedWork"],
182
- message: "Task authority revision must be a safe integer"
183
- });
184
- }
185
- if (new TextEncoder().encode(JSON.stringify(value)).byteLength > 65536) {
186
- context.addIssue({ code: "custom", message: "Host accepted authority exceeds 64 KiB" });
187
- }
188
- });
189
- var HostMcpTaskAuthority = z.object({
190
- version: z.literal(1),
191
- accountId: z.string().uuid(),
192
- workspaceId: z.string().uuid(),
193
- taskId: z.string().uuid(),
194
- taskAuthorityRevision: z.number().int().positive().safe(),
195
- taskExecutionDigest: z.string().regex(/^[0-9a-f]{64}$/),
196
- ownerSubjectId: HostMcpOwnerSubject,
197
- ownerOrganizationMembershipId: z.string().uuid(),
198
- ownerMembershipAuthorizationRevision: z.number().int().positive().safe(),
199
- bindingId: z.string().uuid(),
200
- bindingGeneration: z.number().int().positive().safe(),
201
- delegationId: z.string().uuid(),
202
- delegationGeneration: z.number().int().positive().safe(),
203
- definition: HostMcpBindingDefinition,
204
- context: SessionTenancyVisibility
205
- }).strict();
257
+ taskExecutionDigest: z.string().regex(/^[0-9a-f]{64}$/),
258
+ ownerSubjectId: HostMcpOwnerSubject,
259
+ ownerOrganizationMembershipId: z.string().uuid(),
260
+ ownerMembershipAuthorizationRevision: z.number().int().positive().safe(),
261
+ bindingId: z.string().uuid(),
262
+ bindingGeneration: z.number().int().positive().safe(),
263
+ delegationId: z.string().uuid(),
264
+ delegationGeneration: z.number().int().positive().safe(),
265
+ definition: HostMcpBindingDefinition,
266
+ context: SessionTenancyVisibility
267
+ }).strict()
268
+ );
206
269
  export {
207
270
  CreateHostMcpBindingRequest,
208
271
  HostMcpAcceptedAuthority,