@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
package/src/artifacts.ts CHANGED
@@ -1,3 +1,4 @@
1
+ import { defineSchema } from "./define-schema";
1
2
  import { z } from "zod";
2
3
  import { ToolGatewayIdentity } from "./tool-catalog";
3
4
 
@@ -12,280 +13,351 @@ export const WORKSPACE_ARTIFACT_LIST_DEFAULT = 50;
12
13
  export const WORKSPACE_ARTIFACT_CURSOR_MAX_CHARS = 512;
13
14
 
14
15
  const encoder = new TextEncoder();
15
- const sha256 = z.string().regex(/^[0-9a-f]{64}$/);
16
+ const sha256 = /* @__PURE__ */ defineSchema(() => z.string().regex(/^[0-9a-f]{64}$/));
16
17
 
17
- export const WorkspaceArtifactSlug = z
18
- .string()
19
- .trim()
20
- .min(1)
21
- .max(96)
22
- .regex(/^[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/);
18
+ export const WorkspaceArtifactSlug = /* @__PURE__ */ defineSchema(() =>
19
+ z
20
+ .string()
21
+ .trim()
22
+ .min(1)
23
+ .max(96)
24
+ .regex(/^[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/),
25
+ );
23
26
  export type WorkspaceArtifactSlug = z.infer<typeof WorkspaceArtifactSlug>;
24
27
 
25
- export const WorkspaceArtifactStatus = z.enum(["active", "archived"]);
28
+ export const WorkspaceArtifactStatus = /* @__PURE__ */ defineSchema(() =>
29
+ z.enum(["active", "archived"]),
30
+ );
26
31
  export type WorkspaceArtifactStatus = z.infer<typeof WorkspaceArtifactStatus>;
27
32
 
28
- export const WorkspaceArtifactSourcePath = z
29
- .string()
30
- .min(1)
31
- .max(256)
32
- .regex(/^[A-Za-z0-9._-]+(?:\/[A-Za-z0-9._-]+)*$/u)
33
- .refine(
34
- (value) =>
35
- !value
36
- .split("/")
37
- .some((segment) => segment === "." || segment === ".." || segment.length === 0),
38
- { message: "artifact source paths must be relative and traversal-free" },
39
- );
33
+ export const WorkspaceArtifactSourcePath = /* @__PURE__ */ defineSchema(() =>
34
+ z
35
+ .string()
36
+ .min(1)
37
+ .max(256)
38
+ .regex(/^[A-Za-z0-9._-]+(?:\/[A-Za-z0-9._-]+)*$/u)
39
+ .refine(
40
+ (value) =>
41
+ !value
42
+ .split("/")
43
+ .some((segment) => segment === "." || segment === ".." || segment.length === 0),
44
+ { message: "artifact source paths must be relative and traversal-free" },
45
+ ),
46
+ );
40
47
  export type WorkspaceArtifactSourcePath = z.infer<typeof WorkspaceArtifactSourcePath>;
41
48
 
42
- export const WorkspaceArtifactSourceFile = z
43
- .object({
44
- path: WorkspaceArtifactSourcePath,
45
- content: z.string(),
46
- })
47
- .strict();
49
+ export const WorkspaceArtifactSourceFile = /* @__PURE__ */ defineSchema(() =>
50
+ z
51
+ .object({
52
+ path: WorkspaceArtifactSourcePath,
53
+ content: z.string(),
54
+ })
55
+ .strict(),
56
+ );
48
57
  export type WorkspaceArtifactSourceFile = z.infer<typeof WorkspaceArtifactSourceFile>;
49
58
 
50
59
  /** Retained editable source; the published runtime remains one exact HTML document. */
51
- export const WorkspaceArtifactSourceBundle = z
52
- .object({
53
- entrypoint: WorkspaceArtifactSourcePath,
54
- files: z.array(WorkspaceArtifactSourceFile).min(1).max(WORKSPACE_ARTIFACT_SOURCE_MAX_FILES),
55
- })
56
- .strict()
57
- .superRefine((value, context) => {
58
- const paths = new Set<string>();
59
- for (const [index, file] of value.files.entries()) {
60
- if (paths.has(file.path)) {
60
+ export const WorkspaceArtifactSourceBundle = /* @__PURE__ */ defineSchema(() =>
61
+ z
62
+ .object({
63
+ entrypoint: WorkspaceArtifactSourcePath,
64
+ files: z.array(WorkspaceArtifactSourceFile).min(1).max(WORKSPACE_ARTIFACT_SOURCE_MAX_FILES),
65
+ })
66
+ .strict()
67
+ .superRefine((value, context) => {
68
+ const paths = new Set<string>();
69
+ for (const [index, file] of value.files.entries()) {
70
+ if (paths.has(file.path)) {
71
+ context.addIssue({
72
+ code: "custom",
73
+ path: ["files", index, "path"],
74
+ message: "artifact source file paths must be unique",
75
+ });
76
+ }
77
+ paths.add(file.path);
78
+ }
79
+ if (!paths.has(value.entrypoint)) {
61
80
  context.addIssue({
62
81
  code: "custom",
63
- path: ["files", index, "path"],
64
- message: "artifact source file paths must be unique",
82
+ path: ["entrypoint"],
83
+ message: "artifact source entrypoint must name one retained file",
65
84
  });
66
85
  }
67
- paths.add(file.path);
68
- }
69
- if (!paths.has(value.entrypoint)) {
70
- context.addIssue({
71
- code: "custom",
72
- path: ["entrypoint"],
73
- message: "artifact source entrypoint must name one retained file",
74
- });
75
- }
76
- if (
77
- encoder.encode(JSON.stringify(value)).byteLength > WORKSPACE_ARTIFACT_SOURCE_MAX_UTF8_BYTES
78
- ) {
79
- context.addIssue({
80
- code: "custom",
81
- message: `artifact source exceeds ${WORKSPACE_ARTIFACT_SOURCE_MAX_UTF8_BYTES} UTF-8 bytes`,
82
- });
83
- }
84
- });
85
- export type WorkspaceArtifactSourceBundle = z.infer<typeof WorkspaceArtifactSourceBundle>;
86
-
87
- export const WorkspaceArtifactRequestedTools = z
88
- .array(ToolGatewayIdentity)
89
- .max(WORKSPACE_ARTIFACT_REQUESTED_TOOLS_MAX)
90
- .superRefine((tools, context) => {
91
- const seen = new Set<string>();
92
- for (const [index, identity] of tools.entries()) {
93
- const key = `${identity.serverId}\u0000${identity.toolName}`;
94
- if (seen.has(key)) {
86
+ if (
87
+ encoder.encode(JSON.stringify(value)).byteLength > WORKSPACE_ARTIFACT_SOURCE_MAX_UTF8_BYTES
88
+ ) {
95
89
  context.addIssue({
96
90
  code: "custom",
97
- path: [index],
98
- message: "requested artifact tools must be unique",
91
+ message: `artifact source exceeds ${WORKSPACE_ARTIFACT_SOURCE_MAX_UTF8_BYTES} UTF-8 bytes`,
99
92
  });
100
93
  }
101
- seen.add(key);
102
- }
103
- });
94
+ }),
95
+ );
96
+ export type WorkspaceArtifactSourceBundle = z.infer<typeof WorkspaceArtifactSourceBundle>;
97
+
98
+ export const WorkspaceArtifactRequestedTools = /* @__PURE__ */ defineSchema(() =>
99
+ z
100
+ .array(ToolGatewayIdentity)
101
+ .max(WORKSPACE_ARTIFACT_REQUESTED_TOOLS_MAX)
102
+ .superRefine((tools, context) => {
103
+ const seen = new Set<string>();
104
+ for (const [index, identity] of tools.entries()) {
105
+ const key = `${identity.serverId}\u0000${identity.toolName}`;
106
+ if (seen.has(key)) {
107
+ context.addIssue({
108
+ code: "custom",
109
+ path: [index],
110
+ message: "requested artifact tools must be unique",
111
+ });
112
+ }
113
+ seen.add(key);
114
+ }
115
+ }),
116
+ );
104
117
  export type WorkspaceArtifactRequestedTools = z.infer<typeof WorkspaceArtifactRequestedTools>;
105
118
 
106
- export const WorkspaceArtifactVersion = z.object({
107
- id: z.string().uuid(),
108
- accountId: z.string().uuid(),
109
- workspaceId: z.string().uuid(),
110
- artifactId: z.string().uuid(),
111
- revision: z.number().int().positive(),
112
- contentType: z.literal("text/html"),
113
- contentSha256: sha256.nullable(),
114
- sizeBytes: z.number().int().positive().max(WORKSPACE_ARTIFACT_HTML_MAX_UTF8_BYTES),
115
- sourceSha256: sha256.nullable(),
116
- sourceSizeBytes: z
117
- .number()
118
- .int()
119
- .positive()
120
- .max(WORKSPACE_ARTIFACT_SOURCE_MAX_UTF8_BYTES)
121
- .nullable(),
122
- requestedTools: WorkspaceArtifactRequestedTools,
123
- sourceSessionId: z.string().uuid().nullable(),
124
- sourceTurnId: z.string().uuid().nullable(),
125
- sourceAttemptId: z.string().uuid().nullable(),
126
- sourceExecutionGeneration: z.number().int().positive().nullable(),
127
- createdBySubjectId: z.string().min(1).max(1024),
128
- createdAt: z.string().datetime({ offset: true }),
129
- });
119
+ export const WorkspaceArtifactVersion = /* @__PURE__ */ defineSchema(() =>
120
+ z.object({
121
+ id: z.string().uuid(),
122
+ accountId: z.string().uuid(),
123
+ workspaceId: z.string().uuid(),
124
+ artifactId: z.string().uuid(),
125
+ revision: z.number().int().positive(),
126
+ contentType: z.literal("text/html"),
127
+ contentSha256: sha256.nullable(),
128
+ sizeBytes: z.number().int().positive().max(WORKSPACE_ARTIFACT_HTML_MAX_UTF8_BYTES),
129
+ sourceSha256: sha256.nullable(),
130
+ sourceSizeBytes: z
131
+ .number()
132
+ .int()
133
+ .positive()
134
+ .max(WORKSPACE_ARTIFACT_SOURCE_MAX_UTF8_BYTES)
135
+ .nullable(),
136
+ requestedTools: WorkspaceArtifactRequestedTools,
137
+ sourceSessionId: z.string().uuid().nullable(),
138
+ sourceTurnId: z.string().uuid().nullable(),
139
+ sourceAttemptId: z.string().uuid().nullable(),
140
+ sourceExecutionGeneration: z.number().int().positive().nullable(),
141
+ createdBySubjectId: z.string().min(1).max(1024),
142
+ createdAt: z.string().datetime({ offset: true }),
143
+ }),
144
+ );
130
145
  export type WorkspaceArtifactVersion = z.infer<typeof WorkspaceArtifactVersion>;
131
146
 
132
- export const WorkspaceArtifact = z.object({
133
- id: z.string().uuid(),
134
- accountId: z.string().uuid(),
135
- workspaceId: z.string().uuid(),
136
- slug: WorkspaceArtifactSlug,
137
- title: z.string().trim().min(1).max(WORKSPACE_ARTIFACT_TITLE_MAX_CHARS),
138
- description: z.string().max(WORKSPACE_ARTIFACT_DESCRIPTION_MAX_CHARS).nullable(),
139
- status: WorkspaceArtifactStatus,
140
- currentVersion: WorkspaceArtifactVersion.nullable(),
141
- createdBySubjectId: z.string().min(1).max(1024),
142
- createdAt: z.string().datetime({ offset: true }),
143
- updatedAt: z.string().datetime({ offset: true }),
144
- });
147
+ /**
148
+ * Who can see a Site, in the same words as a chat or a schedule: everyone in
149
+ * the workspace, or only its owner ("Only me").
150
+ */
151
+ export const WorkspaceArtifactVisibility = /* @__PURE__ */ defineSchema(() =>
152
+ z.enum(["private", "workspace"]),
153
+ );
154
+ export type WorkspaceArtifactVisibility = z.infer<typeof WorkspaceArtifactVisibility>;
155
+
156
+ export const WorkspaceArtifact = /* @__PURE__ */ defineSchema(() =>
157
+ z.object({
158
+ id: z.string().uuid(),
159
+ accountId: z.string().uuid(),
160
+ workspaceId: z.string().uuid(),
161
+ slug: WorkspaceArtifactSlug,
162
+ title: z.string().trim().min(1).max(WORKSPACE_ARTIFACT_TITLE_MAX_CHARS),
163
+ description: z.string().max(WORKSPACE_ARTIFACT_DESCRIPTION_MAX_CHARS).nullable(),
164
+ status: WorkspaceArtifactStatus,
165
+ /** Absent from older servers, where every Site is visible to the workspace. */
166
+ visibility: WorkspaceArtifactVisibility.default("workspace"),
167
+ /** The person the Site belongs to; only they can change its audience. */
168
+ ownerSubjectId: z.string().min(1).max(1024).nullable().default(null),
169
+ currentVersion: WorkspaceArtifactVersion.nullable(),
170
+ createdBySubjectId: z.string().min(1).max(1024),
171
+ createdAt: z.string().datetime({ offset: true }),
172
+ updatedAt: z.string().datetime({ offset: true }),
173
+ }),
174
+ );
145
175
  export type WorkspaceArtifact = z.infer<typeof WorkspaceArtifact>;
146
176
 
147
- export const WorkspaceArtifactEventType = z.enum([
148
- "published",
149
- "rolled_back",
150
- "archived",
151
- "restored",
152
- ]);
177
+ export const WorkspaceArtifactEventType = /* @__PURE__ */ defineSchema(() =>
178
+ z.enum(["published", "rolled_back", "archived", "restored"]),
179
+ );
153
180
  export type WorkspaceArtifactEventType = z.infer<typeof WorkspaceArtifactEventType>;
154
181
 
155
- export const WorkspaceArtifactEvent = z.object({
156
- id: z.string().uuid(),
157
- accountId: z.string().uuid(),
158
- workspaceId: z.string().uuid(),
159
- artifactId: z.string().uuid(),
160
- type: WorkspaceArtifactEventType,
161
- fromVersionId: z.string().uuid().nullable(),
162
- toVersionId: z.string().uuid(),
163
- sourceSessionId: z.string().uuid().nullable(),
164
- sourceTurnId: z.string().uuid().nullable(),
165
- sourceAttemptId: z.string().uuid().nullable(),
166
- sourceExecutionGeneration: z.number().int().positive().nullable(),
167
- actorSubjectId: z.string().min(1).max(1024),
168
- reason: z.string().min(1).max(4096),
169
- createdAt: z.string().datetime({ offset: true }),
170
- });
182
+ export const WorkspaceArtifactEvent = /* @__PURE__ */ defineSchema(() =>
183
+ z.object({
184
+ id: z.string().uuid(),
185
+ accountId: z.string().uuid(),
186
+ workspaceId: z.string().uuid(),
187
+ artifactId: z.string().uuid(),
188
+ type: WorkspaceArtifactEventType,
189
+ fromVersionId: z.string().uuid().nullable(),
190
+ toVersionId: z.string().uuid(),
191
+ sourceSessionId: z.string().uuid().nullable(),
192
+ sourceTurnId: z.string().uuid().nullable(),
193
+ sourceAttemptId: z.string().uuid().nullable(),
194
+ sourceExecutionGeneration: z.number().int().positive().nullable(),
195
+ actorSubjectId: z.string().min(1).max(1024),
196
+ reason: z.string().min(1).max(4096),
197
+ createdAt: z.string().datetime({ offset: true }),
198
+ }),
199
+ );
171
200
  export type WorkspaceArtifactEvent = z.infer<typeof WorkspaceArtifactEvent>;
172
201
 
173
- export const WorkspaceArtifactListQuery = z.object({
174
- limit: z.coerce
175
- .number()
176
- .int()
177
- .positive()
178
- .max(WORKSPACE_ARTIFACT_LIST_MAX)
179
- .default(WORKSPACE_ARTIFACT_LIST_DEFAULT),
180
- cursor: z.string().min(1).max(WORKSPACE_ARTIFACT_CURSOR_MAX_CHARS).optional(),
181
- status: WorkspaceArtifactStatus.optional(),
182
- /** Sites created or published by this session, including older versions. */
183
- sourceSessionId: z.string().uuid().optional(),
184
- });
202
+ export const WorkspaceArtifactListQuery = /* @__PURE__ */ defineSchema(() =>
203
+ z.object({
204
+ limit: z.coerce
205
+ .number()
206
+ .int()
207
+ .positive()
208
+ .max(WORKSPACE_ARTIFACT_LIST_MAX)
209
+ .default(WORKSPACE_ARTIFACT_LIST_DEFAULT),
210
+ cursor: z.string().min(1).max(WORKSPACE_ARTIFACT_CURSOR_MAX_CHARS).optional(),
211
+ status: WorkspaceArtifactStatus.optional(),
212
+ /** Sites created or published by this session, including older versions. */
213
+ sourceSessionId: z.string().uuid().optional(),
214
+ }),
215
+ );
185
216
  export type WorkspaceArtifactListQuery = z.infer<typeof WorkspaceArtifactListQuery>;
186
217
 
187
- export const WorkspaceArtifactListResponse = z.object({
188
- artifacts: z.array(WorkspaceArtifact).max(WORKSPACE_ARTIFACT_LIST_MAX),
189
- nextCursor: z.string().max(WORKSPACE_ARTIFACT_CURSOR_MAX_CHARS).nullable(),
190
- truncated: z.boolean(),
191
- });
218
+ export const WorkspaceArtifactListResponse = /* @__PURE__ */ defineSchema(() =>
219
+ z.object({
220
+ artifacts: z.array(WorkspaceArtifact).max(WORKSPACE_ARTIFACT_LIST_MAX),
221
+ nextCursor: z.string().max(WORKSPACE_ARTIFACT_CURSOR_MAX_CHARS).nullable(),
222
+ truncated: z.boolean(),
223
+ }),
224
+ );
192
225
  export type WorkspaceArtifactListResponse = z.infer<typeof WorkspaceArtifactListResponse>;
193
226
 
194
- export const WorkspaceArtifactDetailResponse = z.object({
195
- artifact: WorkspaceArtifact,
196
- versions: z.array(WorkspaceArtifactVersion).max(WORKSPACE_ARTIFACT_LIST_MAX),
197
- events: z.array(WorkspaceArtifactEvent).max(WORKSPACE_ARTIFACT_LIST_MAX),
198
- versionsTruncated: z.boolean(),
199
- eventsTruncated: z.boolean(),
200
- });
227
+ export const WorkspaceArtifactDetailResponse = /* @__PURE__ */ defineSchema(() =>
228
+ z.object({
229
+ artifact: WorkspaceArtifact,
230
+ versions: z.array(WorkspaceArtifactVersion).max(WORKSPACE_ARTIFACT_LIST_MAX),
231
+ events: z.array(WorkspaceArtifactEvent).max(WORKSPACE_ARTIFACT_LIST_MAX),
232
+ versionsTruncated: z.boolean(),
233
+ eventsTruncated: z.boolean(),
234
+ }),
235
+ );
201
236
  export type WorkspaceArtifactDetailResponse = z.infer<typeof WorkspaceArtifactDetailResponse>;
202
237
 
203
- export const WorkspaceArtifactHtml = z
204
- .string()
205
- .min(1)
206
- .max(WORKSPACE_ARTIFACT_HTML_MAX_UTF8_BYTES)
207
- .superRefine((value, ctx) => {
208
- if (encoder.encode(value).byteLength > WORKSPACE_ARTIFACT_HTML_MAX_UTF8_BYTES) {
209
- ctx.addIssue({
210
- code: "custom",
211
- message: `artifact HTML exceeds ${WORKSPACE_ARTIFACT_HTML_MAX_UTF8_BYTES} UTF-8 bytes`,
212
- });
213
- }
214
- });
238
+ export const WorkspaceArtifactHtml = /* @__PURE__ */ defineSchema(() =>
239
+ z
240
+ .string()
241
+ .min(1)
242
+ .max(WORKSPACE_ARTIFACT_HTML_MAX_UTF8_BYTES)
243
+ .superRefine((value, ctx) => {
244
+ if (encoder.encode(value).byteLength > WORKSPACE_ARTIFACT_HTML_MAX_UTF8_BYTES) {
245
+ ctx.addIssue({
246
+ code: "custom",
247
+ message: `artifact HTML exceeds ${WORKSPACE_ARTIFACT_HTML_MAX_UTF8_BYTES} UTF-8 bytes`,
248
+ });
249
+ }
250
+ }),
251
+ );
215
252
 
216
- export const CreateWorkspaceArtifactRequest = z
217
- .object({
218
- slug: WorkspaceArtifactSlug.optional(),
219
- title: z.string().trim().min(1).max(WORKSPACE_ARTIFACT_TITLE_MAX_CHARS),
220
- description: z.string().max(WORKSPACE_ARTIFACT_DESCRIPTION_MAX_CHARS).nullable().optional(),
221
- html: WorkspaceArtifactHtml.optional(),
222
- uploadId: z.string().uuid().optional(),
223
- source: WorkspaceArtifactSourceBundle.optional(),
224
- requestedTools: WorkspaceArtifactRequestedTools.optional(),
225
- idempotencyKey: z.string().trim().min(1).max(200),
226
- })
227
- .refine((value) => (value.html !== undefined) !== (value.uploadId !== undefined), {
228
- message: "Provide either html or uploadId",
229
- })
230
- .refine((value) => !value.uploadId || value.source === undefined, {
231
- message: "Upload source using the prepared source URL",
232
- });
253
+ export const CreateWorkspaceArtifactRequest = /* @__PURE__ */ defineSchema(() =>
254
+ z
255
+ .object({
256
+ slug: WorkspaceArtifactSlug.optional(),
257
+ title: z.string().trim().min(1).max(WORKSPACE_ARTIFACT_TITLE_MAX_CHARS),
258
+ description: z.string().max(WORKSPACE_ARTIFACT_DESCRIPTION_MAX_CHARS).nullable().optional(),
259
+ html: WorkspaceArtifactHtml.optional(),
260
+ uploadId: z.string().uuid().optional(),
261
+ source: WorkspaceArtifactSourceBundle.optional(),
262
+ requestedTools: WorkspaceArtifactRequestedTools.optional(),
263
+ /** Who can see the new Site. Omitted: the whole workspace. */
264
+ visibility: WorkspaceArtifactVisibility.optional(),
265
+ idempotencyKey: z.string().trim().min(1).max(200),
266
+ })
267
+ .refine((value) => (value.html !== undefined) !== (value.uploadId !== undefined), {
268
+ message: "Provide either html or uploadId",
269
+ })
270
+ .refine((value) => !value.uploadId || value.source === undefined, {
271
+ message: "Upload source using the prepared source URL",
272
+ }),
273
+ );
233
274
  export type CreateWorkspaceArtifactRequest = z.infer<typeof CreateWorkspaceArtifactRequest>;
234
275
 
235
- export const PublishWorkspaceArtifactVersionRequest = z
236
- .object({
237
- title: z.string().trim().min(1).max(WORKSPACE_ARTIFACT_TITLE_MAX_CHARS).optional(),
238
- description: z.string().max(WORKSPACE_ARTIFACT_DESCRIPTION_MAX_CHARS).nullable().optional(),
239
- html: WorkspaceArtifactHtml.optional(),
240
- uploadId: z.string().uuid().optional(),
241
- source: WorkspaceArtifactSourceBundle.optional(),
242
- requestedTools: WorkspaceArtifactRequestedTools.optional(),
243
- expectedCurrentVersionId: z.string().uuid(),
244
- idempotencyKey: z.string().trim().min(1).max(200),
245
- })
246
- .refine((value) => (value.html !== undefined) !== (value.uploadId !== undefined), {
247
- message: "Provide either html or uploadId",
248
- })
249
- .refine((value) => !value.uploadId || value.source === undefined, {
250
- message: "Upload source using the prepared source URL",
251
- });
276
+ export const PublishWorkspaceArtifactVersionRequest = /* @__PURE__ */ defineSchema(() =>
277
+ z
278
+ .object({
279
+ title: z.string().trim().min(1).max(WORKSPACE_ARTIFACT_TITLE_MAX_CHARS).optional(),
280
+ description: z.string().max(WORKSPACE_ARTIFACT_DESCRIPTION_MAX_CHARS).nullable().optional(),
281
+ html: WorkspaceArtifactHtml.optional(),
282
+ uploadId: z.string().uuid().optional(),
283
+ source: WorkspaceArtifactSourceBundle.optional(),
284
+ requestedTools: WorkspaceArtifactRequestedTools.optional(),
285
+ expectedCurrentVersionId: z.string().uuid(),
286
+ idempotencyKey: z.string().trim().min(1).max(200),
287
+ })
288
+ .refine((value) => (value.html !== undefined) !== (value.uploadId !== undefined), {
289
+ message: "Provide either html or uploadId",
290
+ })
291
+ .refine((value) => !value.uploadId || value.source === undefined, {
292
+ message: "Upload source using the prepared source URL",
293
+ }),
294
+ );
252
295
  export type PublishWorkspaceArtifactVersionRequest = z.infer<
253
296
  typeof PublishWorkspaceArtifactVersionRequest
254
297
  >;
255
298
 
256
- export const RollbackWorkspaceArtifactRequest = z.object({
257
- versionId: z.string().uuid(),
258
- expectedCurrentVersionId: z.string().uuid(),
259
- reason: z.string().trim().min(1).max(4096),
260
- idempotencyKey: z.string().trim().min(1).max(200),
261
- });
299
+ export const RollbackWorkspaceArtifactRequest = /* @__PURE__ */ defineSchema(() =>
300
+ z.object({
301
+ versionId: z.string().uuid(),
302
+ expectedCurrentVersionId: z.string().uuid(),
303
+ reason: z.string().trim().min(1).max(4096),
304
+ idempotencyKey: z.string().trim().min(1).max(200),
305
+ }),
306
+ );
262
307
  export type RollbackWorkspaceArtifactRequest = z.infer<typeof RollbackWorkspaceArtifactRequest>;
263
308
 
264
- export const SetWorkspaceArtifactStatusRequest = z.object({
265
- status: WorkspaceArtifactStatus,
266
- expectedCurrentVersionId: z.string().uuid(),
267
- reason: z.string().trim().min(1).max(4096),
268
- idempotencyKey: z.string().trim().min(1).max(200),
269
- });
309
+ export const SetWorkspaceArtifactStatusRequest = /* @__PURE__ */ defineSchema(() =>
310
+ z.object({
311
+ status: WorkspaceArtifactStatus,
312
+ expectedCurrentVersionId: z.string().uuid(),
313
+ reason: z.string().trim().min(1).max(4096),
314
+ idempotencyKey: z.string().trim().min(1).max(200),
315
+ }),
316
+ );
270
317
  export type SetWorkspaceArtifactStatusRequest = z.infer<typeof SetWorkspaceArtifactStatusRequest>;
271
318
 
272
- export const WorkspaceArtifactMutationResponse = z.object({
273
- artifact: WorkspaceArtifact,
274
- version: WorkspaceArtifactVersion,
275
- event: WorkspaceArtifactEvent,
276
- replayed: z.boolean(),
277
- });
319
+ /** Change who can see a Site. Only its owner can. */
320
+ export const UpdateWorkspaceArtifactVisibilityRequest = /* @__PURE__ */ defineSchema(() =>
321
+ z
322
+ .object({
323
+ visibility: WorkspaceArtifactVisibility,
324
+ })
325
+ .strict(),
326
+ );
327
+ export type UpdateWorkspaceArtifactVisibilityRequest = z.infer<
328
+ typeof UpdateWorkspaceArtifactVisibilityRequest
329
+ >;
330
+
331
+ export const UpdateWorkspaceArtifactVisibilityResponse = /* @__PURE__ */ defineSchema(() =>
332
+ z.object({
333
+ artifact: WorkspaceArtifact,
334
+ }),
335
+ );
336
+ export type UpdateWorkspaceArtifactVisibilityResponse = z.infer<
337
+ typeof UpdateWorkspaceArtifactVisibilityResponse
338
+ >;
339
+
340
+ export const WorkspaceArtifactMutationResponse = /* @__PURE__ */ defineSchema(() =>
341
+ z.object({
342
+ artifact: WorkspaceArtifact,
343
+ version: WorkspaceArtifactVersion,
344
+ event: WorkspaceArtifactEvent,
345
+ replayed: z.boolean(),
346
+ }),
347
+ );
278
348
  export type WorkspaceArtifactMutationResponse = z.infer<typeof WorkspaceArtifactMutationResponse>;
279
349
 
280
- export const WorkspaceArtifactContentResponse = z.object({
281
- artifactId: z.string().uuid(),
282
- versionId: z.string().uuid(),
283
- contentType: z.literal("text/html"),
284
- contentSha256: sha256.nullable(),
285
- html: WorkspaceArtifactHtml,
286
- source: WorkspaceArtifactSourceBundle,
287
- requestedTools: WorkspaceArtifactRequestedTools,
288
- });
350
+ export const WorkspaceArtifactContentResponse = /* @__PURE__ */ defineSchema(() =>
351
+ z.object({
352
+ artifactId: z.string().uuid(),
353
+ versionId: z.string().uuid(),
354
+ contentType: z.literal("text/html"),
355
+ contentSha256: sha256.nullable(),
356
+ html: WorkspaceArtifactHtml,
357
+ source: WorkspaceArtifactSourceBundle,
358
+ requestedTools: WorkspaceArtifactRequestedTools,
359
+ }),
360
+ );
289
361
  export type WorkspaceArtifactContentResponse = z.infer<typeof WorkspaceArtifactContentResponse>;
290
362
 
291
363
  export function normalizeWorkspaceArtifactSlug(value: string): string {
@@ -0,0 +1,33 @@
1
+ /** The former API/Knowledge-sync adapter is historical; hosted Atlassian MCP remains supported. */
2
+ export const ATLASSIAN_NATIVE_RETIRED_REASON = "atlassian_native_retired" as const;
3
+ export const ATLASSIAN_NATIVE_RETIRED_MESSAGE =
4
+ "Jira and Confluence knowledge sync has been retired. Connect Atlassian agent tools to use its hosted MCP server.";
5
+ export const RETIRED_NATIVE_ATLASSIAN_TOOL_NAMES = [
6
+ "atlassian_sources_list",
7
+ "atlassian_search",
8
+ "atlassian_get",
9
+ ] as const;
10
+
11
+ export function isRetiredNativeAtlassianTool(name: string): boolean {
12
+ return (RETIRED_NATIVE_ATLASSIAN_TOOL_NAMES as readonly string[]).includes(name);
13
+ }
14
+
15
+ /** Match the native source identity, never the hosted MCP provider or a display name. */
16
+ export function isRetiredNativeAtlassianSource(source: unknown): boolean {
17
+ if (!source || typeof source !== "object") return false;
18
+ const connection = (source as { connection?: unknown }).connection;
19
+ if (!connection || typeof connection !== "object") return false;
20
+ const provider = (connection as { providerDomain?: unknown }).providerDomain;
21
+ return typeof provider === "string" && provider.toLowerCase() === "api.atlassian.com";
22
+ }
23
+
24
+ /** Includes frozen historical source actions without changing their stored bytes. */
25
+ export function isRetiredNativeAtlassianTask(task: {
26
+ agentConfig?: { knowledgeSource?: unknown } | null;
27
+ action?: { kind?: unknown } | null;
28
+ }): boolean {
29
+ return (
30
+ isRetiredNativeAtlassianSource(task.agentConfig?.knowledgeSource) ||
31
+ (task.action?.kind === "knowledge_source_sync" && isRetiredNativeAtlassianSource(task.action))
32
+ );
33
+ }