@opengeni/contracts 3.1.0-canary.1 → 3.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (434) hide show
  1. package/dist/agent-authored-durable-text.d.ts +9 -9
  2. package/dist/agent-config.d.ts +971 -0
  3. package/dist/agent-instruction-changes.d.ts +110 -0
  4. package/dist/agent-learning.d.ts +243 -0
  5. package/dist/allowance-refusal.d.ts +9 -0
  6. package/dist/allowance-refusal.js +50 -0
  7. package/dist/allowance-refusal.js.map +1 -0
  8. package/dist/analytics-consent-report.d.ts +19 -0
  9. package/dist/analytics-consent-report.js +10 -0
  10. package/dist/analytics-consent-report.js.map +1 -0
  11. package/dist/api-key-presets.d.ts +19 -0
  12. package/dist/artifact-catalog.d.ts +188 -0
  13. package/dist/artifacts.d.ts +86 -0
  14. package/dist/atlassian-native-retirement.d.ts +16 -0
  15. package/dist/atlassian-native-retirement.js +30 -0
  16. package/dist/atlassian-native-retirement.js.map +1 -0
  17. package/dist/atlassian.d.ts +1 -0
  18. package/dist/atlassian.js +34 -19
  19. package/dist/browser-storage.d.ts +5 -0
  20. package/dist/browser-storage.js +9 -0
  21. package/dist/browser-storage.js.map +1 -0
  22. package/dist/bundled-skills.d.ts +24 -1
  23. package/dist/canonical-human-identities.js +2 -1
  24. package/dist/chunk-2ZIHHL72.js +153 -0
  25. package/dist/chunk-2ZIHHL72.js.map +1 -0
  26. package/dist/{chunk-5LYFSZ7O.js → chunk-352X6ENP.js} +31 -31
  27. package/dist/chunk-4JGHSSB7.js +11 -0
  28. package/dist/chunk-4JGHSSB7.js.map +1 -0
  29. package/dist/chunk-4QO6GJUX.js +85 -0
  30. package/dist/chunk-4QO6GJUX.js.map +1 -0
  31. package/dist/chunk-4VDMHLLL.js +49 -0
  32. package/dist/chunk-4VDMHLLL.js.map +1 -0
  33. package/dist/chunk-56SNIMDO.js +9 -0
  34. package/dist/chunk-56SNIMDO.js.map +1 -0
  35. package/dist/chunk-6C2HKFTU.js +207 -0
  36. package/dist/chunk-6C2HKFTU.js.map +1 -0
  37. package/dist/chunk-6IXO76Z6.js +72 -0
  38. package/dist/chunk-6IXO76Z6.js.map +1 -0
  39. package/dist/chunk-7272KVWZ.js +60 -0
  40. package/dist/chunk-7272KVWZ.js.map +1 -0
  41. package/dist/{chunk-7ABONTXE.js → chunk-E3GGUBHS.js} +49 -5
  42. package/dist/chunk-E3GGUBHS.js.map +1 -0
  43. package/dist/chunk-EFZYKUE2.js +767 -0
  44. package/dist/chunk-EFZYKUE2.js.map +1 -0
  45. package/dist/chunk-EKWNTOG3.js +154 -0
  46. package/dist/chunk-EKWNTOG3.js.map +1 -0
  47. package/dist/chunk-HABQ7ADB.js +234 -0
  48. package/dist/chunk-HABQ7ADB.js.map +1 -0
  49. package/dist/chunk-HRRU4QPI.js +91 -0
  50. package/dist/chunk-HRRU4QPI.js.map +1 -0
  51. package/dist/{chunk-3SIZGL3O.js → chunk-IK36LXKC.js} +18 -2
  52. package/dist/chunk-IK36LXKC.js.map +1 -0
  53. package/dist/{chunk-TXTQIYCV.js → chunk-ILJ72KPO.js} +56 -3
  54. package/dist/chunk-ILJ72KPO.js.map +1 -0
  55. package/dist/chunk-J4HQ3UKY.js +93 -0
  56. package/dist/chunk-J4HQ3UKY.js.map +1 -0
  57. package/dist/chunk-KHHZTBP7.js +11 -0
  58. package/dist/chunk-KHHZTBP7.js.map +1 -0
  59. package/dist/{chunk-WYBDERIY.js → chunk-LZ2LAHIX.js} +47 -41
  60. package/dist/chunk-LZ2LAHIX.js.map +1 -0
  61. package/dist/chunk-NDZHPTCL.js +400 -0
  62. package/dist/chunk-NDZHPTCL.js.map +1 -0
  63. package/dist/chunk-OF6OKOBF.js +54793 -0
  64. package/dist/chunk-OF6OKOBF.js.map +1 -0
  65. package/dist/chunk-OL23ARTF.js +94 -0
  66. package/dist/chunk-OL23ARTF.js.map +1 -0
  67. package/dist/chunk-PUIUXIOL.js +189 -0
  68. package/dist/chunk-PUIUXIOL.js.map +1 -0
  69. package/dist/{chunk-WBYTNVIW.js → chunk-RKX3NQYS.js} +1 -1
  70. package/dist/{chunk-Y3KNXVTD.js → chunk-RMWXDZEO.js} +128 -21
  71. package/dist/chunk-RMWXDZEO.js.map +1 -0
  72. package/dist/{chunk-MRWYRAS5.js → chunk-SHO4YO4B.js} +27 -35
  73. package/dist/chunk-SHO4YO4B.js.map +1 -0
  74. package/dist/chunk-SWRN2DJ3.js +153 -0
  75. package/dist/chunk-SWRN2DJ3.js.map +1 -0
  76. package/dist/chunk-TCXCRBPF.js +267 -0
  77. package/dist/chunk-TCXCRBPF.js.map +1 -0
  78. package/dist/chunk-TLU3UEMD.js +324 -0
  79. package/dist/chunk-TLU3UEMD.js.map +1 -0
  80. package/dist/chunk-TSWWZMUS.js +186 -0
  81. package/dist/chunk-TSWWZMUS.js.map +1 -0
  82. package/dist/{chunk-PX3VCKAU.js → chunk-WVCFSOUZ.js} +1 -1
  83. package/dist/{chunk-PX3VCKAU.js.map → chunk-WVCFSOUZ.js.map} +1 -1
  84. package/dist/chunk-XDLAGX66.js +127 -0
  85. package/dist/chunk-XDLAGX66.js.map +1 -0
  86. package/dist/chunk-YKZ4WU4P.js +33 -0
  87. package/dist/chunk-YKZ4WU4P.js.map +1 -0
  88. package/dist/{chunk-O5LEQHDM.js → chunk-Z7WEVGCL.js} +3 -3
  89. package/dist/{chunk-YBW5JSA3.js → chunk-ZDCRWCGZ.js} +119 -101
  90. package/dist/chunk-ZDCRWCGZ.js.map +1 -0
  91. package/dist/claude-provider-account-authority.d.ts +18 -0
  92. package/dist/claude-subscription-oauth.d.ts +42 -0
  93. package/dist/claude-subscription-usage.d.ts +159 -0
  94. package/dist/client-error-report.d.ts +158 -0
  95. package/dist/client-error-report.js +164 -0
  96. package/dist/client-error-report.js.map +1 -0
  97. package/dist/code-search.d.ts +52 -0
  98. package/dist/code-search.js +40 -0
  99. package/dist/code-search.js.map +1 -0
  100. package/dist/codex-provider-account-authority.js +20 -12
  101. package/dist/codex-provider-account-authority.js.map +1 -1
  102. package/dist/company-brain.d.ts +19 -81
  103. package/dist/company-profile.d.ts +144 -6
  104. package/dist/connect.d.ts +37 -0
  105. package/dist/connect.js +216 -159
  106. package/dist/connect.js.map +1 -1
  107. package/dist/connection-account-label.d.ts +2 -0
  108. package/dist/connection-account-label.js +35 -0
  109. package/dist/connection-account-label.js.map +1 -0
  110. package/dist/connection-authority.d.ts +9 -317
  111. package/dist/connection-authority.js +37 -42
  112. package/dist/connector-attachments.js +2 -1
  113. package/dist/connector-destinations.js +2 -1
  114. package/dist/connector-tool-permissions.d.ts +137 -0
  115. package/dist/cua-desktop-tools.d.ts +17 -0
  116. package/dist/define-schema.d.ts +8 -0
  117. package/dist/direct-model-provider.d.ts +36 -0
  118. package/dist/editable-artifact-codec-registry.js +5 -5
  119. package/dist/editable-artifact-committed-transaction.js +3 -2
  120. package/dist/editable-artifact-live.js +5 -5
  121. package/dist/editable-artifact-serialized-commit.js +6 -6
  122. package/dist/editable-artifact-versions.d.ts +7 -1
  123. package/dist/editable-artifact-versions.js +1 -1
  124. package/dist/editable-artifacts.js +62 -56
  125. package/dist/event-preview.d.ts +22 -0
  126. package/dist/external-identities.d.ts +174 -0
  127. package/dist/external-identities.js +15 -4
  128. package/dist/first-party-tool-authorization.d.ts +815 -0
  129. package/dist/github-repository-contracts.js +60 -43
  130. package/dist/github-repository-contracts.js.map +1 -1
  131. package/dist/google-drive.d.ts +2 -1
  132. package/dist/google-drive.js +305 -238
  133. package/dist/google-drive.js.map +1 -1
  134. package/dist/host-mcp-bindings.d.ts +39 -10
  135. package/dist/host-mcp-bindings.js +256 -171
  136. package/dist/host-mcp-bindings.js.map +1 -1
  137. package/dist/image-generation.d.ts +1 -0
  138. package/dist/index.d.ts +15715 -3850
  139. package/dist/index.js +2088 -289
  140. package/dist/insights-usage.d.ts +877 -0
  141. package/dist/insights-usage.js +559 -0
  142. package/dist/insights-usage.js.map +1 -0
  143. package/dist/interaction.d.ts +1176 -829
  144. package/dist/knowledge-entries.d.ts +984 -0
  145. package/dist/knowledge-preparation.d.ts +239 -0
  146. package/dist/managed-auth-session-sets.d.ts +7 -0
  147. package/dist/managed-auth-session-sets.js +198 -132
  148. package/dist/managed-auth-session-sets.js.map +1 -1
  149. package/dist/managed-sign-in-methods.d.ts +56 -0
  150. package/dist/managed-sign-in-methods.js +64 -0
  151. package/dist/managed-sign-in-methods.js.map +1 -0
  152. package/dist/mcp-catalog-limits.d.ts +2 -0
  153. package/dist/mcp-endpoint.js +9 -0
  154. package/dist/mcp-endpoint.js.map +1 -0
  155. package/dist/mcp-oauth.d.ts +2 -2
  156. package/dist/mcp-structured-content.d.ts +25 -0
  157. package/dist/modal-native-proof-v2.d.ts +587 -0
  158. package/dist/modal-native-proof-v2.js +38 -0
  159. package/dist/modal-native-proof-v2.js.map +1 -0
  160. package/dist/model-account-choice.d.ts +235 -0
  161. package/dist/model-account-settings.d.ts +422 -0
  162. package/dist/model-availability.d.ts +15 -0
  163. package/dist/model-connection-access.d.ts +13 -0
  164. package/dist/model-context-inspector.d.ts +98 -0
  165. package/dist/model-display.d.ts +43 -0
  166. package/dist/model-display.js +17 -0
  167. package/dist/model-display.js.map +1 -0
  168. package/dist/model-picker-order.d.ts +3 -1
  169. package/dist/model-picker-order.js +3 -0
  170. package/dist/model-picker-order.js.map +1 -1
  171. package/dist/organization-access.d.ts +412 -0
  172. package/dist/organization-access.js +39 -0
  173. package/dist/organization-access.js.map +1 -0
  174. package/dist/organization-integration-policy.d.ts +27 -0
  175. package/dist/organization-membership-lifecycle.d.ts +38 -0
  176. package/dist/organization-model-usage.d.ts +146 -0
  177. package/dist/organization-model-usage.js +78 -0
  178. package/dist/organization-model-usage.js.map +1 -0
  179. package/dist/organization-recovery.js +2 -1
  180. package/dist/organization-usage.d.ts +138 -0
  181. package/dist/permissions.d.ts +18 -0
  182. package/dist/personal-github.d.ts +1 -0
  183. package/dist/personal-github.js +199 -144
  184. package/dist/personal-github.js.map +1 -1
  185. package/dist/plugin-discovery.js +1 -1
  186. package/dist/prepared-mcp-setup.d.ts +54 -0
  187. package/dist/prepared-mcp-setup.js +12 -0
  188. package/dist/prepared-mcp-setup.js.map +1 -0
  189. package/dist/product-analytics.d.ts +116 -0
  190. package/dist/product-lifecycle-facts.d.ts +73 -0
  191. package/dist/remember.d.ts +98 -6
  192. package/dist/retained-output.d.ts +8 -0
  193. package/dist/sandbox-file-artifacts.d.ts +1 -0
  194. package/dist/sandbox-provider-command.d.ts +91 -1
  195. package/dist/sandbox-recovery.d.ts +146 -0
  196. package/dist/secret-generator.d.ts +44 -0
  197. package/dist/secret-references.d.ts +90 -0
  198. package/dist/secret-resolution.d.ts +111 -0
  199. package/dist/secret-totp.d.ts +41 -0
  200. package/dist/session-final-reply.d.ts +6 -0
  201. package/dist/session-final-reply.js +9 -0
  202. package/dist/session-final-reply.js.map +1 -0
  203. package/dist/session-goal-reports.d.ts +21 -0
  204. package/dist/session-history-import.d.ts +1272 -0
  205. package/dist/session-list-entries.d.ts +4 -0
  206. package/dist/session-list-entries.js +56 -0
  207. package/dist/session-list-entries.js.map +1 -0
  208. package/dist/session-mcp-projections.d.ts +6 -0
  209. package/dist/session-mcp-tool-permissions.d.ts +62 -0
  210. package/dist/session-message-search.d.ts +68 -0
  211. package/dist/session-target.d.ts +18 -0
  212. package/dist/session-titles.d.ts +8 -0
  213. package/dist/session-titles.js +5 -1
  214. package/dist/session-usage-limit-refusal.d.ts +34 -0
  215. package/dist/session-usage-limit-refusal.js +15 -0
  216. package/dist/session-usage-limit-refusal.js.map +1 -0
  217. package/dist/session-usage-limits.d.ts +127 -0
  218. package/dist/session-usage-limits.js +41 -0
  219. package/dist/session-usage-limits.js.map +1 -0
  220. package/dist/signup-attribution.d.ts +39 -0
  221. package/dist/site-data.d.ts +286 -0
  222. package/dist/site-operations.d.ts +39 -0
  223. package/dist/site-publishing.d.ts +778 -0
  224. package/dist/site-session-http.d.ts +89 -4
  225. package/dist/site-session-http.js +25 -1
  226. package/dist/site-sql.d.ts +421 -0
  227. package/dist/skill-catalog-context.d.ts +7 -0
  228. package/dist/skill-files.d.ts +1 -1
  229. package/dist/skill-use.d.ts +61 -0
  230. package/dist/skills.d.ts +15 -0
  231. package/dist/slack-bot-scopes.d.ts +17 -12
  232. package/dist/slack-bot-scopes.js +10 -3
  233. package/dist/slack-rest-mcp.d.ts +36 -0
  234. package/dist/slack-rest-mcp.js +25 -0
  235. package/dist/slack-rest-mcp.js.map +1 -0
  236. package/dist/spreadsheet-artifact-commands.d.ts +14 -1
  237. package/dist/spreadsheet-artifact-commands.js +8 -2
  238. package/dist/spreadsheet-artifact-query.d.ts +13 -6
  239. package/dist/spreadsheet-artifact-query.js +3 -3
  240. package/dist/subscription-account-actions.d.ts +64 -0
  241. package/dist/subscription-account-pools.d.ts +292 -0
  242. package/dist/subscription-personal-authority-v2.d.ts +28 -0
  243. package/dist/subscription-personal-authority-v2.js +12 -0
  244. package/dist/subscription-personal-authority-v2.js.map +1 -0
  245. package/dist/tool-action-review.d.ts +132 -0
  246. package/dist/tool-catalog.d.ts +408 -0
  247. package/dist/tool-policy.d.ts +5 -0
  248. package/dist/tool-review-presentation.d.ts +12 -0
  249. package/dist/tool-review-presentation.js +17 -0
  250. package/dist/tool-review-presentation.js.map +1 -0
  251. package/dist/transcription-recordings.d.ts +21 -0
  252. package/dist/turn-serving-policy.d.ts +221 -0
  253. package/dist/usage-allowances.d.ts +314 -0
  254. package/dist/usage-allowances.js +52 -0
  255. package/dist/usage-allowances.js.map +1 -0
  256. package/dist/vaults.d.ts +1286 -0
  257. package/dist/video-generation.d.ts +3 -0
  258. package/dist/video-generation.js +2 -1
  259. package/dist/workspace-instruction-policies.d.ts +13 -0
  260. package/dist/workspace-integration-wire.d.ts +36 -0
  261. package/dist/workspace-integration-wire.js +23 -0
  262. package/dist/workspace-integration-wire.js.map +1 -0
  263. package/dist/workspace-integrations.d.ts +1028 -0
  264. package/dist/workspace-state.d.ts +85 -416
  265. package/dist/xai-provider-account-authority.js +2 -1
  266. package/package.json +98 -2
  267. package/src/agent-authored-durable-text.ts +14 -11
  268. package/src/agent-config.ts +1698 -0
  269. package/src/agent-instruction-changes.ts +115 -0
  270. package/src/agent-learning.ts +188 -0
  271. package/src/agent-topology.ts +57 -52
  272. package/src/allowance-refusal.ts +81 -0
  273. package/src/analytics-consent-report.ts +20 -0
  274. package/src/api-key-presets.ts +28 -0
  275. package/src/artifact-catalog.ts +82 -0
  276. package/src/artifacts.ts +299 -227
  277. package/src/atlassian-native-retirement.ts +33 -0
  278. package/src/atlassian.ts +135 -108
  279. package/src/browser-storage.ts +10 -0
  280. package/src/bundled-skills.ts +60 -17
  281. package/src/canonical-human-identities.ts +60 -58
  282. package/src/claude-provider-account-authority.ts +12 -0
  283. package/src/claude-subscription-oauth.ts +73 -0
  284. package/src/claude-subscription-usage.ts +68 -0
  285. package/src/client-error-report.ts +343 -0
  286. package/src/code-search.ts +105 -0
  287. package/src/codex-provider-account-authority.ts +21 -16
  288. package/src/company-brain-governed-writes.ts +255 -233
  289. package/src/company-brain.ts +164 -153
  290. package/src/company-profile.ts +365 -292
  291. package/src/connect.ts +212 -173
  292. package/src/connection-account-label.ts +46 -0
  293. package/src/connection-authority.ts +183 -364
  294. package/src/connector-attachments.ts +137 -122
  295. package/src/connector-destinations.ts +46 -42
  296. package/src/connector-tool-permissions.ts +117 -0
  297. package/src/cua-desktop-tools.gen.json +6512 -0
  298. package/src/cua-desktop-tools.linux.gen.json +6600 -0
  299. package/src/cua-desktop-tools.ts +36 -0
  300. package/src/cua-desktop-tools.windows.gen.json +6353 -0
  301. package/src/define-schema.ts +10 -0
  302. package/src/direct-model-provider.ts +108 -0
  303. package/src/editable-artifact-committed-transaction.ts +17 -0
  304. package/src/editable-artifact-versions.ts +7 -1
  305. package/src/event-preview.ts +53 -3
  306. package/src/external-identities.ts +262 -145
  307. package/src/feedback.ts +43 -30
  308. package/src/first-party-tool-authorization.ts +356 -0
  309. package/src/github-repository-contracts.ts +78 -64
  310. package/src/google-drive.ts +285 -234
  311. package/src/governed-learning-activation.ts +152 -131
  312. package/src/governed-learning-evaluator.ts +140 -133
  313. package/src/host-mcp-bindings.ts +292 -198
  314. package/src/image-generation.ts +104 -95
  315. package/src/index.ts +13354 -8654
  316. package/src/insights-usage.ts +727 -0
  317. package/src/interaction.ts +3070 -2326
  318. package/src/knowledge-entries.ts +428 -0
  319. package/src/knowledge-preparation.ts +57 -0
  320. package/src/knowledge.ts +246 -213
  321. package/src/managed-auth-session-sets.ts +220 -144
  322. package/src/managed-sign-in-methods.ts +52 -0
  323. package/src/mcp-catalog-limits.ts +2 -0
  324. package/src/mcp-oauth.ts +43 -34
  325. package/src/mcp-receipts.ts +192 -192
  326. package/src/mcp-structured-content.ts +81 -0
  327. package/src/memory-slack-delivery.ts +171 -142
  328. package/src/modal-native-proof-v2.ts +429 -0
  329. package/src/model-account-choice.ts +177 -0
  330. package/src/model-account-settings.ts +210 -0
  331. package/src/model-availability.ts +22 -0
  332. package/src/model-connection-access.ts +61 -14
  333. package/src/model-context-inspector.ts +133 -99
  334. package/src/model-display.ts +221 -0
  335. package/src/model-picker-order.ts +12 -1
  336. package/src/organization-access.ts +217 -0
  337. package/src/organization-integration-policy.ts +63 -0
  338. package/src/organization-membership-lifecycle.ts +528 -382
  339. package/src/organization-model-usage.ts +81 -0
  340. package/src/organization-recovery.ts +147 -135
  341. package/src/organization-usage.ts +94 -0
  342. package/src/permissions.ts +88 -52
  343. package/src/personal-github.ts +210 -171
  344. package/src/preference-registry.ts +314 -258
  345. package/src/prepared-mcp-setup.ts +189 -0
  346. package/src/product-analytics.ts +261 -0
  347. package/src/product-lifecycle-facts.ts +122 -0
  348. package/src/remember.ts +181 -167
  349. package/src/retained-output.ts +194 -165
  350. package/src/sandbox-file-artifacts.ts +60 -47
  351. package/src/sandbox-provider-command.ts +88 -20
  352. package/src/sandbox-recovery.ts +129 -0
  353. package/src/scoped-knowledge.ts +61 -43
  354. package/src/secret-generator.ts +155 -0
  355. package/src/secret-references.ts +414 -0
  356. package/src/secret-resolution.ts +274 -0
  357. package/src/secret-totp.ts +188 -0
  358. package/src/session-final-reply.ts +16 -0
  359. package/src/session-goal-reports.ts +64 -0
  360. package/src/session-history-import.ts +177 -0
  361. package/src/session-list-entries.ts +96 -0
  362. package/src/session-mcp-projections.ts +11 -0
  363. package/src/session-mcp-tool-permissions.ts +108 -0
  364. package/src/session-message-search.ts +61 -0
  365. package/src/session-target.ts +57 -0
  366. package/src/session-titles.ts +80 -10
  367. package/src/session-topology-primitives.ts +19 -12
  368. package/src/session-usage-limit-refusal.ts +101 -0
  369. package/src/session-usage-limits.ts +171 -0
  370. package/src/signup-attribution.ts +86 -0
  371. package/src/site-data.ts +339 -0
  372. package/src/site-operations.ts +154 -0
  373. package/src/site-publishing.ts +876 -0
  374. package/src/site-session-http.ts +294 -16
  375. package/src/site-sql.ts +1123 -0
  376. package/src/skill-catalog-context.ts +50 -0
  377. package/src/skill-files.ts +3 -3
  378. package/src/skill-use.ts +80 -0
  379. package/src/skills.ts +82 -54
  380. package/src/slack-bot-scopes.ts +31 -39
  381. package/src/slack-rest-mcp.ts +222 -0
  382. package/src/slack-task-policy.ts +96 -73
  383. package/src/spreadsheet-artifact-commands.ts +73 -2
  384. package/src/spreadsheet-artifact-query.ts +187 -39
  385. package/src/subscription-account-actions.ts +84 -0
  386. package/src/subscription-account-pools.ts +53 -0
  387. package/src/subscription-personal-authority-v2.ts +66 -0
  388. package/src/task-notes.ts +55 -51
  389. package/src/tool-action-review.ts +258 -0
  390. package/src/tool-catalog.ts +609 -372
  391. package/src/tool-policy.ts +82 -0
  392. package/src/tool-result-spill.ts +12 -9
  393. package/src/tool-review-presentation.ts +385 -0
  394. package/src/transcription-recordings.ts +145 -131
  395. package/src/turn-serving-policy.ts +166 -0
  396. package/src/usage-allowances.ts +248 -0
  397. package/src/vaults.ts +850 -0
  398. package/src/video-generation.ts +385 -360
  399. package/src/work-claims.ts +173 -149
  400. package/src/workspace-instruction-policies.ts +349 -275
  401. package/src/workspace-integration-wire.ts +101 -0
  402. package/src/workspace-integrations.ts +724 -0
  403. package/src/workspace-learning-administration.ts +57 -44
  404. package/src/workspace-learning-policy.ts +127 -96
  405. package/src/workspace-state.ts +253 -333
  406. package/src/xai-provider-account-authority.ts +22 -17
  407. package/dist/chunk-3SIZGL3O.js.map +0 -1
  408. package/dist/chunk-7ABONTXE.js.map +0 -1
  409. package/dist/chunk-BCS7WHCK.js +0 -139
  410. package/dist/chunk-BCS7WHCK.js.map +0 -1
  411. package/dist/chunk-GRG7PHWQ.js +0 -25
  412. package/dist/chunk-GRG7PHWQ.js.map +0 -1
  413. package/dist/chunk-JUFK3T4Q.js +0 -80
  414. package/dist/chunk-JUFK3T4Q.js.map +0 -1
  415. package/dist/chunk-M5ZGRVIQ.js +0 -719
  416. package/dist/chunk-M5ZGRVIQ.js.map +0 -1
  417. package/dist/chunk-MRWYRAS5.js.map +0 -1
  418. package/dist/chunk-OSBYTE3O.js +0 -348
  419. package/dist/chunk-OSBYTE3O.js.map +0 -1
  420. package/dist/chunk-P3HLDT77.js +0 -59
  421. package/dist/chunk-P3HLDT77.js.map +0 -1
  422. package/dist/chunk-TEMFILR7.js +0 -143
  423. package/dist/chunk-TEMFILR7.js.map +0 -1
  424. package/dist/chunk-TXTQIYCV.js.map +0 -1
  425. package/dist/chunk-UR2GFYIE.js +0 -22598
  426. package/dist/chunk-UR2GFYIE.js.map +0 -1
  427. package/dist/chunk-WYBDERIY.js.map +0 -1
  428. package/dist/chunk-Y3KNXVTD.js.map +0 -1
  429. package/dist/chunk-YBW5JSA3.js.map +0 -1
  430. package/dist/chunk-YRXAWWCU.js +0 -45
  431. package/dist/chunk-YRXAWWCU.js.map +0 -1
  432. /package/dist/{chunk-5LYFSZ7O.js.map → chunk-352X6ENP.js.map} +0 -0
  433. /package/dist/{chunk-WBYTNVIW.js.map → chunk-RKX3NQYS.js.map} +0 -0
  434. /package/dist/{chunk-O5LEQHDM.js.map → chunk-Z7WEVGCL.js.map} +0 -0
@@ -1,3 +1,4 @@
1
+ import { defineSchema } from "./define-schema";
1
2
  import { z } from "zod";
2
3
 
3
4
  export const CONNECTOR_ATTACHMENT_TRANSFER_VERSION = 1 as const;
@@ -102,20 +103,22 @@ function publicMetadataContainsCredential(publicValue: string, credential: strin
102
103
  return publicValue.includes(credential);
103
104
  }
104
105
 
105
- export const ConnectorAttachmentProviderIdentity = z
106
- .object({
107
- provider: boundedString(CONNECTOR_ATTACHMENT_PROVIDER_MAX_UTF8_BYTES).regex(PROVIDER_PATTERN),
108
- kind: z.literal("attachment"),
109
- value: boundedString(CONNECTOR_ATTACHMENT_PROVIDER_ID_MAX_UTF8_BYTES)
110
- .min(1)
111
- .refine((value) => !CONTROL_CHARACTER_PATTERN.test(value), {
112
- message: "must not contain control characters",
113
- })
114
- .refine((value) => !isHttpUrl(value) && !containsHttpUrlReference(value), {
115
- message: "must be an opaque provider attachment identity, not a URL",
116
- }),
117
- })
118
- .strict();
106
+ export const ConnectorAttachmentProviderIdentity = /* @__PURE__ */ defineSchema(() =>
107
+ z
108
+ .object({
109
+ provider: boundedString(CONNECTOR_ATTACHMENT_PROVIDER_MAX_UTF8_BYTES).regex(PROVIDER_PATTERN),
110
+ kind: z.literal("attachment"),
111
+ value: boundedString(CONNECTOR_ATTACHMENT_PROVIDER_ID_MAX_UTF8_BYTES)
112
+ .min(1)
113
+ .refine((value) => !CONTROL_CHARACTER_PATTERN.test(value), {
114
+ message: "must not contain control characters",
115
+ })
116
+ .refine((value) => !isHttpUrl(value) && !containsHttpUrlReference(value), {
117
+ message: "must be an opaque provider attachment identity, not a URL",
118
+ }),
119
+ })
120
+ .strict(),
121
+ );
119
122
  export type ConnectorAttachmentProviderIdentity = z.infer<
120
123
  typeof ConnectorAttachmentProviderIdentity
121
124
  >;
@@ -146,92 +149,100 @@ export const ConnectorAttachmentMediaType = boundedString(
146
149
  message: "must not contain an HTTP URL reference",
147
150
  });
148
151
 
149
- export const ConnectorAttachmentSha256 = z.string().regex(SHA256_PATTERN);
152
+ export const ConnectorAttachmentSha256 = /* @__PURE__ */ defineSchema(() =>
153
+ z.string().regex(SHA256_PATTERN),
154
+ );
150
155
 
151
- export const ConnectorAttachmentPrivateSource = z
152
- .object({
153
- url: boundedString(CONNECTOR_ATTACHMENT_SOURCE_URL_MAX_UTF8_BYTES).superRefine(
154
- (value, context) => {
155
- let parsed: URL;
156
- try {
157
- parsed = new URL(value);
158
- } catch {
156
+ export const ConnectorAttachmentPrivateSource = /* @__PURE__ */ defineSchema(() =>
157
+ z
158
+ .object({
159
+ url: boundedString(CONNECTOR_ATTACHMENT_SOURCE_URL_MAX_UTF8_BYTES).superRefine(
160
+ (value, context) => {
161
+ let parsed: URL;
162
+ try {
163
+ parsed = new URL(value);
164
+ } catch {
165
+ context.addIssue({
166
+ code: "custom",
167
+ message: "must be an absolute URL",
168
+ });
169
+ return;
170
+ }
171
+ if (parsed.protocol !== "http:" && parsed.protocol !== "https:") {
172
+ context.addIssue({ code: "custom", message: "must use http or https" });
173
+ }
174
+ if (parsed.username || parsed.password) {
175
+ context.addIssue({
176
+ code: "custom",
177
+ message: "must not contain URL userinfo",
178
+ });
179
+ }
180
+ if (parsed.hash) {
181
+ context.addIssue({
182
+ code: "custom",
183
+ message: "must not contain a URL fragment",
184
+ });
185
+ }
186
+ },
187
+ ),
188
+ expiresAt: z.iso.datetime({ offset: true }),
189
+ })
190
+ .strict(),
191
+ );
192
+ export type ConnectorAttachmentPrivateSource = z.infer<typeof ConnectorAttachmentPrivateSource>;
193
+
194
+ export const ConnectorAttachmentTransfer = /* @__PURE__ */ defineSchema(() =>
195
+ z
196
+ .object({
197
+ providerAttachmentId: ConnectorAttachmentProviderIdentity,
198
+ fileName: ConnectorAttachmentFileName,
199
+ mediaType: ConnectorAttachmentMediaType,
200
+ byteSize: z.number().int().min(0).max(CONNECTOR_ATTACHMENT_MAX_BYTES),
201
+ contentSha256: ConnectorAttachmentSha256,
202
+ source: ConnectorAttachmentPrivateSource,
203
+ })
204
+ .strict()
205
+ .superRefine((attachment, context) => {
206
+ const publicValues = [
207
+ attachment.providerAttachmentId.value,
208
+ attachment.fileName,
209
+ attachment.mediaType,
210
+ ];
211
+ for (const credential of privateUrlCredentialValues(attachment.source.url)) {
212
+ if (publicValues.some((value) => publicMetadataContainsCredential(value, credential))) {
159
213
  context.addIssue({
160
214
  code: "custom",
161
- message: "must be an absolute URL",
215
+ message: "private source credentials must not appear in public attachment metadata",
162
216
  });
163
217
  return;
164
218
  }
165
- if (parsed.protocol !== "http:" && parsed.protocol !== "https:") {
166
- context.addIssue({ code: "custom", message: "must use http or https" });
167
- }
168
- if (parsed.username || parsed.password) {
169
- context.addIssue({
170
- code: "custom",
171
- message: "must not contain URL userinfo",
172
- });
173
- }
174
- if (parsed.hash) {
219
+ }
220
+ }),
221
+ );
222
+ export type ConnectorAttachmentTransfer = z.infer<typeof ConnectorAttachmentTransfer>;
223
+
224
+ export const ConnectorAttachmentTransferEnvelope = /* @__PURE__ */ defineSchema(() =>
225
+ z
226
+ .object({
227
+ version: z.literal(CONNECTOR_ATTACHMENT_TRANSFER_VERSION),
228
+ attachments: z.array(ConnectorAttachmentTransfer).min(1).max(CONNECTOR_ATTACHMENT_MAX_COUNT),
229
+ })
230
+ .strict()
231
+ .superRefine((envelope, context) => {
232
+ const identities = new Set<string>();
233
+ for (const [index, attachment] of envelope.attachments.entries()) {
234
+ const identity = `${attachment.providerAttachmentId.provider}\0${attachment.providerAttachmentId.value}`;
235
+ if (identities.has(identity)) {
175
236
  context.addIssue({
176
237
  code: "custom",
177
- message: "must not contain a URL fragment",
238
+ message: "provider attachment identities must be unique",
239
+ path: ["attachments", index, "providerAttachmentId"],
178
240
  });
179
241
  }
180
- },
181
- ),
182
- expiresAt: z.iso.datetime({ offset: true }),
183
- })
184
- .strict();
185
- export type ConnectorAttachmentPrivateSource = z.infer<typeof ConnectorAttachmentPrivateSource>;
186
-
187
- export const ConnectorAttachmentTransfer = z
188
- .object({
189
- providerAttachmentId: ConnectorAttachmentProviderIdentity,
190
- fileName: ConnectorAttachmentFileName,
191
- mediaType: ConnectorAttachmentMediaType,
192
- byteSize: z.number().int().min(0).max(CONNECTOR_ATTACHMENT_MAX_BYTES),
193
- contentSha256: ConnectorAttachmentSha256,
194
- source: ConnectorAttachmentPrivateSource,
195
- })
196
- .strict()
197
- .superRefine((attachment, context) => {
198
- const publicValues = [
199
- attachment.providerAttachmentId.value,
200
- attachment.fileName,
201
- attachment.mediaType,
202
- ];
203
- for (const credential of privateUrlCredentialValues(attachment.source.url)) {
204
- if (publicValues.some((value) => publicMetadataContainsCredential(value, credential))) {
205
- context.addIssue({
206
- code: "custom",
207
- message: "private source credentials must not appear in public attachment metadata",
208
- });
209
- return;
210
- }
211
- }
212
- });
213
- export type ConnectorAttachmentTransfer = z.infer<typeof ConnectorAttachmentTransfer>;
214
-
215
- export const ConnectorAttachmentTransferEnvelope = z
216
- .object({
217
- version: z.literal(CONNECTOR_ATTACHMENT_TRANSFER_VERSION),
218
- attachments: z.array(ConnectorAttachmentTransfer).min(1).max(CONNECTOR_ATTACHMENT_MAX_COUNT),
219
- })
220
- .strict()
221
- .superRefine((envelope, context) => {
222
- const identities = new Set<string>();
223
- for (const [index, attachment] of envelope.attachments.entries()) {
224
- const identity = `${attachment.providerAttachmentId.provider}\0${attachment.providerAttachmentId.value}`;
225
- if (identities.has(identity)) {
226
- context.addIssue({
227
- code: "custom",
228
- message: "provider attachment identities must be unique",
229
- path: ["attachments", index, "providerAttachmentId"],
230
- });
242
+ identities.add(identity);
231
243
  }
232
- identities.add(identity);
233
- }
234
- });
244
+ }),
245
+ );
235
246
  export type ConnectorAttachmentTransferEnvelope = z.infer<
236
247
  typeof ConnectorAttachmentTransferEnvelope
237
248
  >;
@@ -275,41 +286,45 @@ export const ConnectorAttachmentSandboxPath = boundedString(
275
286
  { message: "must be a confined connector attachment sandbox path" },
276
287
  );
277
288
 
278
- export const ConnectorAttachmentReceipt = z
279
- .object({
280
- providerAttachmentId: ConnectorAttachmentProviderIdentity,
281
- fileName: ConnectorAttachmentFileName,
282
- mediaType: ConnectorAttachmentMediaType,
283
- byteSize: z.number().int().min(0).max(CONNECTOR_ATTACHMENT_MAX_BYTES),
284
- contentSha256: ConnectorAttachmentSha256,
285
- sandboxPath: ConnectorAttachmentSandboxPath,
286
- })
287
- .strict()
288
- .superRefine((receipt, context) => {
289
- const segments = receipt.sandboxPath.split("/");
290
- if (segments[2] !== receipt.providerAttachmentId.provider) {
291
- context.addIssue({
292
- code: "custom",
293
- message: "sandbox path provider must match the provider attachment identity",
294
- path: ["sandboxPath"],
295
- });
296
- }
297
- if (segments[4] !== receipt.fileName) {
298
- context.addIssue({
299
- code: "custom",
300
- message: "sandbox path filename must match the attachment filename",
301
- path: ["sandboxPath"],
302
- });
303
- }
304
- });
289
+ export const ConnectorAttachmentReceipt = /* @__PURE__ */ defineSchema(() =>
290
+ z
291
+ .object({
292
+ providerAttachmentId: ConnectorAttachmentProviderIdentity,
293
+ fileName: ConnectorAttachmentFileName,
294
+ mediaType: ConnectorAttachmentMediaType,
295
+ byteSize: z.number().int().min(0).max(CONNECTOR_ATTACHMENT_MAX_BYTES),
296
+ contentSha256: ConnectorAttachmentSha256,
297
+ sandboxPath: ConnectorAttachmentSandboxPath,
298
+ })
299
+ .strict()
300
+ .superRefine((receipt, context) => {
301
+ const segments = receipt.sandboxPath.split("/");
302
+ if (segments[2] !== receipt.providerAttachmentId.provider) {
303
+ context.addIssue({
304
+ code: "custom",
305
+ message: "sandbox path provider must match the provider attachment identity",
306
+ path: ["sandboxPath"],
307
+ });
308
+ }
309
+ if (segments[4] !== receipt.fileName) {
310
+ context.addIssue({
311
+ code: "custom",
312
+ message: "sandbox path filename must match the attachment filename",
313
+ path: ["sandboxPath"],
314
+ });
315
+ }
316
+ }),
317
+ );
305
318
  export type ConnectorAttachmentReceipt = z.infer<typeof ConnectorAttachmentReceipt>;
306
319
 
307
- export const ConnectorAttachmentReceiptEnvelope = z
308
- .object({
309
- version: z.literal(CONNECTOR_ATTACHMENT_RECEIPT_VERSION),
310
- attachments: z.array(ConnectorAttachmentReceipt).min(1).max(CONNECTOR_ATTACHMENT_MAX_COUNT),
311
- })
312
- .strict();
320
+ export const ConnectorAttachmentReceiptEnvelope = /* @__PURE__ */ defineSchema(() =>
321
+ z
322
+ .object({
323
+ version: z.literal(CONNECTOR_ATTACHMENT_RECEIPT_VERSION),
324
+ attachments: z.array(ConnectorAttachmentReceipt).min(1).max(CONNECTOR_ATTACHMENT_MAX_COUNT),
325
+ })
326
+ .strict(),
327
+ );
313
328
  export type ConnectorAttachmentReceiptEnvelope = z.infer<typeof ConnectorAttachmentReceiptEnvelope>;
314
329
 
315
330
  export function parseConnectorAttachmentTransferEnvelope(
@@ -1,59 +1,63 @@
1
+ import { defineSchema } from "./define-schema";
1
2
  import { z } from "zod";
2
3
 
3
- export const ConnectorDocumentDestinationAuthority = z.enum([
4
- "organization",
5
- "workspace",
6
- "personal",
7
- ]);
4
+ export const ConnectorDocumentDestinationAuthority = /* @__PURE__ */ defineSchema(() =>
5
+ z.enum(["organization", "workspace", "personal"]),
6
+ );
8
7
  export type ConnectorDocumentDestinationAuthority = z.infer<
9
8
  typeof ConnectorDocumentDestinationAuthority
10
9
  >;
11
10
 
12
- export const ConnectorDocumentDestinationSelection = z.object({
13
- authorityKind: ConnectorDocumentDestinationAuthority,
14
- collectionId: z.string().uuid().nullable().default(null),
15
- });
11
+ export const ConnectorDocumentDestinationSelection = /* @__PURE__ */ defineSchema(() =>
12
+ z.object({
13
+ authorityKind: ConnectorDocumentDestinationAuthority,
14
+ collectionId: z.string().uuid().nullable().default(null),
15
+ }),
16
+ );
16
17
  export type ConnectorDocumentDestinationSelection = z.infer<
17
18
  typeof ConnectorDocumentDestinationSelection
18
19
  >;
19
20
 
20
- export const ConnectorDocumentDestination = z
21
- .object({
22
- authorityKind: ConnectorDocumentDestinationAuthority,
23
- authorityAccountId: z.string().uuid(),
24
- authorityWorkspaceId: z.string().uuid().nullable(),
25
- authoritySubjectId: z.string().trim().min(1).max(1024).nullable(),
26
- collectionId: z.string().uuid().nullable().default(null),
27
- })
28
- .superRefine((destination, context) => {
29
- if (destination.authorityKind === "organization") {
30
- if (destination.authorityWorkspaceId !== null || destination.authoritySubjectId !== null) {
21
+ export const ConnectorDocumentDestination = /* @__PURE__ */ defineSchema(() =>
22
+ z
23
+ .object({
24
+ authorityKind: ConnectorDocumentDestinationAuthority,
25
+ authorityAccountId: z.string().uuid(),
26
+ authorityWorkspaceId: z.string().uuid().nullable(),
27
+ authoritySubjectId: z.string().trim().min(1).max(1024).nullable(),
28
+ collectionId: z.string().uuid().nullable().default(null),
29
+ })
30
+ .superRefine((destination, context) => {
31
+ if (destination.authorityKind === "organization") {
32
+ if (destination.authorityWorkspaceId !== null || destination.authoritySubjectId !== null) {
33
+ context.addIssue({
34
+ code: "custom",
35
+ message:
36
+ "organization connector destinations cannot bind workspace or subject authority",
37
+ });
38
+ }
39
+ return;
40
+ }
41
+ if (destination.authorityWorkspaceId === null) {
31
42
  context.addIssue({
32
43
  code: "custom",
33
- message: "organization connector destinations cannot bind workspace or subject authority",
44
+ message: "workspace and personal connector destinations require workspace authority",
34
45
  });
35
46
  }
36
- return;
37
- }
38
- if (destination.authorityWorkspaceId === null) {
39
- context.addIssue({
40
- code: "custom",
41
- message: "workspace and personal connector destinations require workspace authority",
42
- });
43
- }
44
- if (destination.authorityKind === "workspace" && destination.authoritySubjectId !== null) {
45
- context.addIssue({
46
- code: "custom",
47
- message: "workspace connector destinations cannot bind subject authority",
48
- });
49
- }
50
- if (destination.authorityKind === "personal" && destination.authoritySubjectId === null) {
51
- context.addIssue({
52
- code: "custom",
53
- message: "personal connector destinations require immutable subject authority",
54
- });
55
- }
56
- });
47
+ if (destination.authorityKind === "workspace" && destination.authoritySubjectId !== null) {
48
+ context.addIssue({
49
+ code: "custom",
50
+ message: "workspace connector destinations cannot bind subject authority",
51
+ });
52
+ }
53
+ if (destination.authorityKind === "personal" && destination.authoritySubjectId === null) {
54
+ context.addIssue({
55
+ code: "custom",
56
+ message: "personal connector destinations require immutable subject authority",
57
+ });
58
+ }
59
+ }),
60
+ );
57
61
  export type ConnectorDocumentDestination = z.infer<typeof ConnectorDocumentDestination>;
58
62
 
59
63
  export function bindConnectorDocumentDestination(
@@ -0,0 +1,117 @@
1
+ import { defineSchema } from "./define-schema";
2
+ import { z } from "zod";
3
+ import { MCP_MAX_CATALOG_TOOL_ENTRIES } from "./mcp-catalog-limits";
4
+
5
+ export const ConnectorToolPermission = /* @__PURE__ */ defineSchema(() =>
6
+ z.enum(["allow", "ask", "block"]),
7
+ );
8
+ export type ConnectorToolPermission = z.infer<typeof ConnectorToolPermission>;
9
+
10
+ export const ConnectorToolPermissionEntry = /* @__PURE__ */ defineSchema(() =>
11
+ z.object({
12
+ name: z.string().min(1).max(512),
13
+ title: z.string().optional(),
14
+ description: z.string().optional(),
15
+ group: z.enum(["read", "write", "other"]),
16
+ permission: ConnectorToolPermission,
17
+ inherited: z.boolean(),
18
+ resetReason: z.literal("operation_changed").optional(),
19
+ approvalRequired: z.boolean(),
20
+ source: z.enum(["recommended", "connector_default", "tool", "action", "conflict"]).optional(),
21
+ conditional: z.boolean().optional(),
22
+ actionPermissions: z
23
+ .array(
24
+ z.object({
25
+ actionName: z.string(),
26
+ permission: ConnectorToolPermission,
27
+ }),
28
+ )
29
+ .optional(),
30
+ }),
31
+ );
32
+ export type ConnectorToolPermissionEntry = z.infer<typeof ConnectorToolPermissionEntry>;
33
+
34
+ export const ConnectorToolPermissionsResponse = /* @__PURE__ */ defineSchema(() =>
35
+ z.object({
36
+ connectionId: z.string(),
37
+ serverId: z.string(),
38
+ defaultPermission: ConnectorToolPermission.nullable(),
39
+ tools: z.array(ConnectorToolPermissionEntry),
40
+ discoveryError: z.string().nullable(),
41
+ canManage: z.boolean(),
42
+ appliesTo: z.literal("next_attempt").optional(),
43
+ revision: z.string().optional(),
44
+ accountLabel: z.string().optional(),
45
+ instanceKey: z.string().optional(),
46
+ accounts: z
47
+ .array(
48
+ z.object({
49
+ connectionId: z.string(),
50
+ label: z.string(),
51
+ scope: z.enum(["personal", "workspace", "none"]),
52
+ instanceKey: z.string().optional(),
53
+ }),
54
+ )
55
+ .optional(),
56
+ }),
57
+ );
58
+ export type ConnectorToolPermissionsResponse = z.infer<typeof ConnectorToolPermissionsResponse>;
59
+
60
+ // Group changes name the currently displayed tools explicitly. MCP annotations
61
+ // organize the UI only; they never grant future tools permission automatically.
62
+ export const UpdateConnectorToolPermissionsRequest = /* @__PURE__ */ defineSchema(() =>
63
+ z.discriminatedUnion("target", [
64
+ z
65
+ .object({
66
+ connectionId: z.string().min(1).max(512),
67
+ target: z.literal("default"),
68
+ permission: ConnectorToolPermission.nullable(),
69
+ expectedRevision: z.string().optional(),
70
+ instanceKey: z.string().optional(),
71
+ })
72
+ .strict(),
73
+ z
74
+ .object({
75
+ connectionId: z.string().min(1).max(512),
76
+ target: z.literal("tools"),
77
+ toolNames: z
78
+ .array(
79
+ z
80
+ .string()
81
+ .min(1)
82
+ .max(512)
83
+ .refine((name) => name !== "*" && name === name.trim(), {
84
+ message: "Tool names must be exact and cannot use the connector-default wildcard.",
85
+ }),
86
+ )
87
+ .min(1)
88
+ .max(MCP_MAX_CATALOG_TOOL_ENTRIES),
89
+ permission: ConnectorToolPermission.nullable(),
90
+ expectedRevision: z.string().optional(),
91
+ instanceKey: z.string().optional(),
92
+ })
93
+ .strict(),
94
+ z
95
+ .object({
96
+ connectionId: z.string().min(1).max(512),
97
+ target: z.literal("action"),
98
+ toolName: z
99
+ .string()
100
+ .min(1)
101
+ .max(512)
102
+ .refine((value) => value !== "*" && value === value.trim()),
103
+ actionName: z
104
+ .string()
105
+ .min(1)
106
+ .max(512)
107
+ .refine((value) => value !== "*" && value === value.trim()),
108
+ permission: ConnectorToolPermission.nullable(),
109
+ expectedRevision: z.string().optional(),
110
+ instanceKey: z.string().optional(),
111
+ })
112
+ .strict(),
113
+ ]),
114
+ );
115
+ export type UpdateConnectorToolPermissionsRequest = z.infer<
116
+ typeof UpdateConnectorToolPermissionsRequest
117
+ >;