@opengeni/contracts 5.5.0 → 5.5.2-canary.40656248492001

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 (543) hide show
  1. package/dist/agent-authored-durable-text.d.ts +9 -9
  2. package/dist/agent-config.d.ts +148 -37
  3. package/dist/api-key-presets.d.ts +19 -0
  4. package/dist/app-action-catalog-types.d.ts +32 -0
  5. package/dist/app-action-catalog.gen.d.ts +2 -0
  6. package/dist/app-actions.d.ts +91 -0
  7. package/dist/app-actions.js +10130 -0
  8. package/dist/app-actions.js.map +1 -0
  9. package/dist/app-shot.d.ts +55 -0
  10. package/dist/artifact-catalog.d.ts +33 -0
  11. package/dist/artifacts.d.ts +166 -0
  12. package/dist/atlassian-native-retirement.d.ts +16 -0
  13. package/dist/atlassian-native-retirement.js +30 -0
  14. package/dist/atlassian-native-retirement.js.map +1 -0
  15. package/dist/atlassian.js +48 -23
  16. package/dist/automation-templates.d.ts +434 -0
  17. package/dist/automation-templates.js +31 -0
  18. package/dist/automation-templates.js.map +1 -0
  19. package/dist/billing-subscriptions.d.ts +61 -0
  20. package/dist/bots.d.ts +583 -0
  21. package/dist/bundled-skills.d.ts +58 -2
  22. package/dist/canonical-human-identities.js +3 -1
  23. package/dist/child-lifecycle-notice-protocol.d.ts +45 -0
  24. package/dist/chunk-2QKIEAGY.js +396 -0
  25. package/dist/chunk-2QKIEAGY.js.map +1 -0
  26. package/dist/chunk-2WOWEWXV.js +426 -0
  27. package/dist/chunk-2WOWEWXV.js.map +1 -0
  28. package/dist/chunk-2ZIHHL72.js +153 -0
  29. package/dist/chunk-2ZIHHL72.js.map +1 -0
  30. package/dist/chunk-32U6NKQQ.js +389 -0
  31. package/dist/chunk-32U6NKQQ.js.map +1 -0
  32. package/dist/chunk-4YDDHSO2.js +799 -0
  33. package/dist/chunk-4YDDHSO2.js.map +1 -0
  34. package/dist/chunk-56SNIMDO.js +9 -0
  35. package/dist/chunk-56SNIMDO.js.map +1 -0
  36. package/dist/chunk-5RWB6QVL.js +101 -0
  37. package/dist/chunk-5RWB6QVL.js.map +1 -0
  38. package/dist/chunk-5UGUOT3L.js +243 -0
  39. package/dist/chunk-5UGUOT3L.js.map +1 -0
  40. package/dist/chunk-6LAT33BH.js +130 -0
  41. package/dist/chunk-6LAT33BH.js.map +1 -0
  42. package/dist/chunk-7272KVWZ.js +60 -0
  43. package/dist/chunk-7272KVWZ.js.map +1 -0
  44. package/dist/chunk-72QC2GTL.js +36 -0
  45. package/dist/chunk-72QC2GTL.js.map +1 -0
  46. package/dist/chunk-7EQGGZBY.js +105 -0
  47. package/dist/chunk-7EQGGZBY.js.map +1 -0
  48. package/dist/chunk-A3LXWVYU.js +382 -0
  49. package/dist/chunk-A3LXWVYU.js.map +1 -0
  50. package/dist/chunk-AQYDZUJV.js +34 -0
  51. package/dist/chunk-AQYDZUJV.js.map +1 -0
  52. package/dist/chunk-BHCEVVUP.js +93 -0
  53. package/dist/chunk-BHCEVVUP.js.map +1 -0
  54. package/dist/chunk-BMUTAZX5.js +486 -0
  55. package/dist/chunk-BMUTAZX5.js.map +1 -0
  56. package/dist/chunk-DGG6IBBK.js +150 -0
  57. package/dist/chunk-DGG6IBBK.js.map +1 -0
  58. package/dist/{chunk-YBW5JSA3.js → chunk-FBCTUMHI.js} +123 -102
  59. package/dist/chunk-FBCTUMHI.js.map +1 -0
  60. package/dist/chunk-G2KJTFIC.js +97 -0
  61. package/dist/chunk-G2KJTFIC.js.map +1 -0
  62. package/dist/chunk-G4RKARXZ.js +1167 -0
  63. package/dist/chunk-G4RKARXZ.js.map +1 -0
  64. package/dist/chunk-H6UJJIUM.js +350 -0
  65. package/dist/chunk-H6UJJIUM.js.map +1 -0
  66. package/dist/chunk-JOTHDW4H.js +18 -0
  67. package/dist/chunk-JOTHDW4H.js.map +1 -0
  68. package/dist/chunk-L4GUEP7K.js +56480 -0
  69. package/dist/chunk-L4GUEP7K.js.map +1 -0
  70. package/dist/{chunk-SIOU2K4U.js → chunk-LJH2EYGT.js} +23 -23
  71. package/dist/chunk-MTJKSIGA.js +161 -0
  72. package/dist/chunk-MTJKSIGA.js.map +1 -0
  73. package/dist/chunk-MYHMB6GZ.js +202 -0
  74. package/dist/chunk-MYHMB6GZ.js.map +1 -0
  75. package/dist/chunk-PI5VIKJY.js +660 -0
  76. package/dist/chunk-PI5VIKJY.js.map +1 -0
  77. package/dist/{chunk-RIY7GYQS.js → chunk-PTSROVDG.js} +2 -2
  78. package/dist/chunk-PUIUXIOL.js +189 -0
  79. package/dist/chunk-PUIUXIOL.js.map +1 -0
  80. package/dist/chunk-R6VXJIMB.js +19 -0
  81. package/dist/chunk-R6VXJIMB.js.map +1 -0
  82. package/dist/chunk-RLJUNVAM.js +15 -0
  83. package/dist/chunk-RLJUNVAM.js.map +1 -0
  84. package/dist/chunk-RR6APCBK.js +213 -0
  85. package/dist/chunk-RR6APCBK.js.map +1 -0
  86. package/dist/{chunk-TXTQIYCV.js → chunk-RUQ4I6DO.js} +59 -13
  87. package/dist/chunk-RUQ4I6DO.js.map +1 -0
  88. package/dist/{chunk-WYBDERIY.js → chunk-RWEEUDHD.js} +53 -42
  89. package/dist/chunk-RWEEUDHD.js.map +1 -0
  90. package/dist/chunk-S7MSQQL6.js +158 -0
  91. package/dist/chunk-S7MSQQL6.js.map +1 -0
  92. package/dist/{chunk-5Q54VCCH.js → chunk-SHO4YO4B.js} +20 -36
  93. package/dist/chunk-SHO4YO4B.js.map +1 -0
  94. package/dist/{chunk-HHZSZYYF.js → chunk-T3HSWMA5.js} +20 -4
  95. package/dist/chunk-T3HSWMA5.js.map +1 -0
  96. package/dist/{chunk-YRKRZ6OF.js → chunk-TOOJIBJC.js} +2 -2
  97. package/dist/chunk-UCUOTRS6.js +431 -0
  98. package/dist/chunk-UCUOTRS6.js.map +1 -0
  99. package/dist/chunk-UH4K7GP7.js +424 -0
  100. package/dist/chunk-UH4K7GP7.js.map +1 -0
  101. package/dist/chunk-UIZWGPHV.js +120 -0
  102. package/dist/chunk-UIZWGPHV.js.map +1 -0
  103. package/dist/chunk-VLUKBV6Y.js +1170 -0
  104. package/dist/chunk-VLUKBV6Y.js.map +1 -0
  105. package/dist/chunk-W2QQ5Y6K.js +55 -0
  106. package/dist/chunk-W2QQ5Y6K.js.map +1 -0
  107. package/dist/{chunk-Y3KNXVTD.js → chunk-W3NBPR4E.js} +131 -31
  108. package/dist/chunk-W3NBPR4E.js.map +1 -0
  109. package/dist/{chunk-NRMCVHAU.js → chunk-WMGO4HJU.js} +11 -9
  110. package/dist/chunk-WMGO4HJU.js.map +1 -0
  111. package/dist/{chunk-MYBZRDTY.js → chunk-WQI7VNN4.js} +19 -9
  112. package/dist/chunk-WQI7VNN4.js.map +1 -0
  113. package/dist/{chunk-PX3VCKAU.js → chunk-WVCFSOUZ.js} +1 -1
  114. package/dist/{chunk-PX3VCKAU.js.map → chunk-WVCFSOUZ.js.map} +1 -1
  115. package/dist/chunk-XB6GQLBH.js +76 -0
  116. package/dist/chunk-XB6GQLBH.js.map +1 -0
  117. package/dist/{chunk-D2HKF2EF.js → chunk-XP5M3IKT.js} +2 -2
  118. package/dist/{chunk-O77VSFYZ.js → chunk-ZMPU5BWE.js} +12 -2
  119. package/dist/chunk-ZMPU5BWE.js.map +1 -0
  120. package/dist/{chunk-3SIZGL3O.js → chunk-ZYVEJFNU.js} +22 -18
  121. package/dist/chunk-ZYVEJFNU.js.map +1 -0
  122. package/dist/claude-provider-account-authority.d.ts +18 -0
  123. package/dist/claude-subscription-oauth.d.ts +25 -0
  124. package/dist/claude-subscription-usage.d.ts +95 -1
  125. package/dist/client-error-report.d.ts +154 -8
  126. package/dist/client-error-report.js +157 -2
  127. package/dist/client-error-report.js.map +1 -1
  128. package/dist/code-search.d.ts +1 -1
  129. package/dist/code-search.js.map +1 -1
  130. package/dist/codex-provider-account-authority.js +23 -12
  131. package/dist/codex-provider-account-authority.js.map +1 -1
  132. package/dist/company-profile.d.ts +144 -0
  133. package/dist/connect.d.ts +38 -0
  134. package/dist/connect.js +244 -164
  135. package/dist/connect.js.map +1 -1
  136. package/dist/connection-account-label.d.ts +2 -0
  137. package/dist/connection-account-label.js +34 -0
  138. package/dist/connection-account-label.js.map +1 -0
  139. package/dist/connection-authority.js +49 -24
  140. package/dist/connector-attachments.js +3 -1
  141. package/dist/connector-destinations.js +3 -1
  142. package/dist/connector-tool-permissions.d.ts +68 -4
  143. package/dist/credential-profiles.d.ts +166 -0
  144. package/dist/cua-desktop-tools.d.ts +19 -0
  145. package/dist/define-schema.d.ts +8 -0
  146. package/dist/desktop-app.d.ts +28 -0
  147. package/dist/direct-model-provider.d.ts +38 -0
  148. package/dist/document-artifact-commands.js +2 -2
  149. package/dist/document-artifact-query.js +2 -2
  150. package/dist/editable-artifact-binary.d.ts +7 -0
  151. package/dist/editable-artifact-causal-frontier.js +2 -2
  152. package/dist/editable-artifact-codec-registry.js +7 -7
  153. package/dist/editable-artifact-committed-transaction.js +4 -2
  154. package/dist/editable-artifact-live.js +8 -8
  155. package/dist/editable-artifact-serialized-commit.js +9 -9
  156. package/dist/editable-artifact-versions.d.ts +7 -1
  157. package/dist/editable-artifact-versions.js +1 -1
  158. package/dist/editable-artifacts.js +49 -43
  159. package/dist/event-preview.d.ts +22 -0
  160. package/dist/event-triggers.d.ts +1253 -0
  161. package/dist/event-triggers.js +148 -0
  162. package/dist/event-triggers.js.map +1 -0
  163. package/dist/external-identities.d.ts +34 -0
  164. package/dist/external-identities.js +4 -2
  165. package/dist/feedback.d.ts +181 -0
  166. package/dist/file-access.d.ts +23 -0
  167. package/dist/first-party-tool-authorization.d.ts +852 -0
  168. package/dist/github-repository-contracts.js +64 -43
  169. package/dist/github-repository-contracts.js.map +1 -1
  170. package/dist/google-drive-native-retirement.d.ts +12 -0
  171. package/dist/google-drive-native-retirement.js +20 -0
  172. package/dist/google-drive-native-retirement.js.map +1 -0
  173. package/dist/google-drive.d.ts +1 -1
  174. package/dist/google-drive.js +323 -239
  175. package/dist/google-drive.js.map +1 -1
  176. package/dist/host-mcp-bindings.js +250 -198
  177. package/dist/host-mcp-bindings.js.map +1 -1
  178. package/dist/index.d.ts +29072 -20593
  179. package/dist/index.js +2432 -366
  180. package/dist/inference-residency.d.ts +22 -0
  181. package/dist/insights-usage.d.ts +948 -0
  182. package/dist/insights-usage.js +608 -0
  183. package/dist/insights-usage.js.map +1 -0
  184. package/dist/integration-capability-id.d.ts +8 -0
  185. package/dist/interaction-action-deadline.d.ts +48 -0
  186. package/dist/interaction-driver-diagnostic.d.ts +28 -0
  187. package/dist/interaction.d.ts +2126 -881
  188. package/dist/knowledge-entries.d.ts +38 -0
  189. package/dist/knowledge-preparation.d.ts +4 -0
  190. package/dist/learning-refusal.d.ts +43 -0
  191. package/dist/learning-refusal.js +49 -0
  192. package/dist/learning-refusal.js.map +1 -0
  193. package/dist/managed-auth-session-sets.d.ts +1 -0
  194. package/dist/managed-auth-session-sets.js +207 -146
  195. package/dist/managed-auth-session-sets.js.map +1 -1
  196. package/dist/managed-sign-in-methods.d.ts +96 -0
  197. package/dist/managed-sign-in-methods.js +157 -35
  198. package/dist/managed-sign-in-methods.js.map +1 -1
  199. package/dist/mcp-structured-content.d.ts +25 -0
  200. package/dist/message-time-zone.d.ts +38 -0
  201. package/dist/message-time-zone.js +19 -0
  202. package/dist/message-time-zone.js.map +1 -0
  203. package/dist/modal-native-proof-v2.d.ts +587 -0
  204. package/dist/modal-native-proof-v2.js +39 -0
  205. package/dist/modal-native-proof-v2.js.map +1 -0
  206. package/dist/model-account-choice.d.ts +237 -0
  207. package/dist/model-account-settings.d.ts +422 -0
  208. package/dist/model-availability.d.ts +15 -0
  209. package/dist/model-connection-access.d.ts +13 -0
  210. package/dist/model-context-inspector.d.ts +8 -0
  211. package/dist/model-display.d.ts +43 -0
  212. package/dist/model-display.js +17 -0
  213. package/dist/model-display.js.map +1 -0
  214. package/dist/model-picker-order.js.map +1 -1
  215. package/dist/model-residency.d.ts +304 -0
  216. package/dist/organization-access.d.ts +416 -0
  217. package/dist/organization-access.js +40 -0
  218. package/dist/organization-access.js.map +1 -0
  219. package/dist/organization-integration-policy.d.ts +18 -0
  220. package/dist/organization-membership-lifecycle.d.ts +66 -0
  221. package/dist/organization-model-usage.d.ts +146 -0
  222. package/dist/organization-model-usage.js +87 -0
  223. package/dist/organization-model-usage.js.map +1 -0
  224. package/dist/organization-recovery.js +3 -1
  225. package/dist/organization-usage.d.ts +12 -0
  226. package/dist/passkey-only-account.d.ts +14 -0
  227. package/dist/passkey-only-account.js +13 -0
  228. package/dist/passkey-only-account.js.map +1 -0
  229. package/dist/permissions.d.ts +19 -0
  230. package/dist/personal-github.js +220 -148
  231. package/dist/personal-github.js.map +1 -1
  232. package/dist/personal-integration-setup.d.ts +81 -0
  233. package/dist/personal-integration-setup.js +42 -0
  234. package/dist/personal-integration-setup.js.map +1 -0
  235. package/dist/prepared-mcp-setup.d.ts +54 -0
  236. package/dist/prepared-mcp-setup.js +13 -0
  237. package/dist/prepared-mcp-setup.js.map +1 -0
  238. package/dist/presentation-artifact-commands.js +2 -2
  239. package/dist/presentation-artifact-query.js +2 -2
  240. package/dist/primitives.d.ts +18 -0
  241. package/dist/product-analytics.d.ts +27 -10
  242. package/dist/product-lifecycle-facts.d.ts +26 -3
  243. package/dist/prompt-cache-diagnostics.d.ts +92 -0
  244. package/dist/recordings.d.ts +1371 -0
  245. package/dist/remember.d.ts +98 -2
  246. package/dist/retained-output.d.ts +4 -2
  247. package/dist/sandbox-file-artifacts.d.ts +19 -2
  248. package/dist/sandbox-provider-command.d.ts +5 -44
  249. package/dist/sandbox-recovery.d.ts +139 -8
  250. package/dist/secret-generator.d.ts +44 -0
  251. package/dist/secret-mask-strings.d.ts +32 -0
  252. package/dist/secret-references.d.ts +90 -0
  253. package/dist/secret-resolution.d.ts +143 -0
  254. package/dist/secret-shape-masking.d.ts +52 -0
  255. package/dist/secret-shape-masking.js +19 -0
  256. package/dist/secret-shape-masking.js.map +1 -0
  257. package/dist/secret-totp.d.ts +41 -0
  258. package/dist/secret-use-approval-question.d.ts +11 -0
  259. package/dist/secret-use-approval-question.js +11 -0
  260. package/dist/secret-use-approval-question.js.map +1 -0
  261. package/dist/secret-use-approvals.d.ts +106 -0
  262. package/dist/secret-value-masking.d.ts +299 -0
  263. package/dist/secret-value-masking.js +62 -0
  264. package/dist/secret-value-masking.js.map +1 -0
  265. package/dist/secret-value.d.ts +19 -0
  266. package/dist/session-history-import.d.ts +444 -8
  267. package/dist/session-history.d.ts +111 -0
  268. package/dist/session-history.js +35 -0
  269. package/dist/session-history.js.map +1 -0
  270. package/dist/session-list-entries.d.ts +8 -0
  271. package/dist/session-list-entries.js +61 -0
  272. package/dist/session-list-entries.js.map +1 -0
  273. package/dist/session-mcp-projections.d.ts +13 -1
  274. package/dist/session-mcp-tool-permissions.d.ts +62 -0
  275. package/dist/session-target.d.ts +18 -0
  276. package/dist/session-titles.d.ts +8 -0
  277. package/dist/session-titles.js +5 -1
  278. package/dist/session-usage-limit-refusal.d.ts +34 -0
  279. package/dist/session-usage-limit-refusal.js +15 -0
  280. package/dist/session-usage-limit-refusal.js.map +1 -0
  281. package/dist/session-usage-limits.d.ts +127 -0
  282. package/dist/session-usage-limits.js +43 -0
  283. package/dist/session-usage-limits.js.map +1 -0
  284. package/dist/site-data.d.ts +286 -0
  285. package/dist/site-operations.d.ts +39 -0
  286. package/dist/site-publishing.d.ts +813 -0
  287. package/dist/site-session-http.d.ts +103 -4
  288. package/dist/site-session-http.js +27 -1
  289. package/dist/site-sql.d.ts +425 -0
  290. package/dist/skills.d.ts +38 -0
  291. package/dist/slack-bot-scopes.d.ts +9 -7
  292. package/dist/slack-bot-scopes.js +6 -3
  293. package/dist/slack-rest-mcp.d.ts +36 -0
  294. package/dist/slack-rest-mcp.js +25 -0
  295. package/dist/slack-rest-mcp.js.map +1 -0
  296. package/dist/spreadsheet-artifact-commands.d.ts +14 -1
  297. package/dist/spreadsheet-artifact-commands.js +9 -2
  298. package/dist/spreadsheet-artifact-query.d.ts +13 -6
  299. package/dist/spreadsheet-artifact-query.js +4 -3
  300. package/dist/subscription-account-actions.d.ts +83 -0
  301. package/dist/subscription-account-pools.d.ts +326 -0
  302. package/dist/subscription-personal-authority-v2.d.ts +28 -0
  303. package/dist/subscription-personal-authority-v2.js +13 -0
  304. package/dist/subscription-personal-authority-v2.js.map +1 -0
  305. package/dist/subscription-plans.d.ts +38 -0
  306. package/dist/subscription-usage-pool.d.ts +89 -0
  307. package/dist/tool-action-review.d.ts +141 -0
  308. package/dist/tool-catalog.d.ts +479 -0
  309. package/dist/tool-policy.d.ts +5 -0
  310. package/dist/tool-review-presentation.d.ts +29 -0
  311. package/dist/tool-review-presentation.js +21 -0
  312. package/dist/tool-review-presentation.js.map +1 -0
  313. package/dist/turn-serving-policy.d.ts +223 -0
  314. package/dist/usage-allowances.d.ts +30 -0
  315. package/dist/usage-allowances.js +5 -1
  316. package/dist/values.d.ts +11 -0
  317. package/dist/values.js +19 -0
  318. package/dist/values.js.map +1 -0
  319. package/dist/vault-provider-wire.d.ts +907 -0
  320. package/dist/vault-provider-wire.js +74 -0
  321. package/dist/vault-provider-wire.js.map +1 -0
  322. package/dist/vaults.d.ts +2185 -0
  323. package/dist/video-generation.d.ts +75 -0
  324. package/dist/video-generation.js +8 -1
  325. package/dist/workspace-control-event.d.ts +18 -0
  326. package/dist/workspace-control-event.js +18 -0
  327. package/dist/workspace-control-event.js.map +1 -0
  328. package/dist/workspace-governance-context.d.ts +18 -0
  329. package/dist/workspace-integration-wire.d.ts +1 -1
  330. package/dist/workspace-integration-wire.js +1 -1
  331. package/dist/workspace-integrations.d.ts +212 -12
  332. package/dist/xai-provider-account-authority.js +3 -1
  333. package/package.json +121 -4
  334. package/src/agent-authored-durable-text.ts +14 -11
  335. package/src/agent-config.ts +382 -203
  336. package/src/agent-instruction-changes.ts +94 -74
  337. package/src/agent-learning.ts +94 -66
  338. package/src/agent-topology.ts +58 -52
  339. package/src/api-key-presets.ts +28 -0
  340. package/src/app-action-catalog-types.ts +32 -0
  341. package/src/app-action-catalog.gen.ts +9905 -0
  342. package/src/app-actions.ts +365 -0
  343. package/src/app-shot.ts +176 -0
  344. package/src/artifact-catalog.ts +81 -46
  345. package/src/artifacts.ts +360 -227
  346. package/src/atlassian-native-retirement.ts +33 -0
  347. package/src/atlassian.ts +136 -108
  348. package/src/automation-templates.ts +201 -0
  349. package/src/billing-subscriptions.ts +48 -0
  350. package/src/bots.ts +238 -0
  351. package/src/bundled-skills.ts +79 -22
  352. package/src/canonical-human-identities.ts +65 -62
  353. package/src/child-lifecycle-notice-protocol.gen.json +1310 -0
  354. package/src/child-lifecycle-notice-protocol.ts +224 -0
  355. package/src/claude-provider-account-authority.ts +12 -0
  356. package/src/claude-subscription-oauth.ts +61 -19
  357. package/src/claude-subscription-usage.ts +64 -35
  358. package/src/client-error-report.ts +344 -9
  359. package/src/code-search.ts +1 -1
  360. package/src/codex-provider-account-authority.ts +22 -16
  361. package/src/company-brain-governed-writes.ts +265 -244
  362. package/src/company-brain.ts +165 -154
  363. package/src/company-profile.ts +362 -297
  364. package/src/connect.ts +222 -173
  365. package/src/connection-account-label.ts +45 -0
  366. package/src/connection-authority.ts +172 -152
  367. package/src/connector-attachments.ts +139 -123
  368. package/src/connector-destinations.ts +48 -43
  369. package/src/connector-tool-permissions.ts +104 -46
  370. package/src/credential-profiles.ts +161 -0
  371. package/src/cua-desktop-tools.gen.json +6722 -0
  372. package/src/cua-desktop-tools.linux.gen.json +6798 -0
  373. package/src/cua-desktop-tools.ts +42 -0
  374. package/src/cua-desktop-tools.windows.gen.json +6739 -0
  375. package/src/define-schema.ts +10 -0
  376. package/src/desktop-app.ts +50 -0
  377. package/src/direct-model-provider.ts +112 -0
  378. package/src/editable-artifact-binary.ts +29 -8
  379. package/src/editable-artifact-committed-transaction.ts +19 -18
  380. package/src/editable-artifact-serialized-commit.ts +8 -2
  381. package/src/editable-artifact-versions.ts +7 -1
  382. package/src/event-preview.ts +53 -3
  383. package/src/event-triggers.ts +891 -0
  384. package/src/external-identities.ts +239 -195
  385. package/src/feedback.ts +125 -30
  386. package/src/file-access.ts +26 -0
  387. package/src/first-party-tool-authorization.ts +383 -0
  388. package/src/github-repository-contracts.ts +78 -64
  389. package/src/google-drive-native-retirement.ts +20 -0
  390. package/src/google-drive.ts +286 -234
  391. package/src/governed-learning-activation.ts +159 -137
  392. package/src/governed-learning-evaluator.ts +141 -133
  393. package/src/host-mcp-bindings.ts +244 -221
  394. package/src/image-generation.ts +105 -95
  395. package/src/index.ts +13928 -9899
  396. package/src/inference-residency.ts +36 -0
  397. package/src/insights-usage.ts +774 -0
  398. package/src/integration-capability-id.ts +16 -0
  399. package/src/interaction-action-deadline.ts +143 -0
  400. package/src/interaction-driver-diagnostic.ts +89 -0
  401. package/src/interaction.ts +3527 -2427
  402. package/src/knowledge-entries.ts +386 -299
  403. package/src/knowledge-preparation.ts +49 -41
  404. package/src/knowledge.ts +242 -213
  405. package/src/learning-refusal.ts +90 -0
  406. package/src/managed-auth-session-sets.ts +180 -133
  407. package/src/managed-sign-in-methods.ts +156 -34
  408. package/src/mcp-oauth.ts +58 -46
  409. package/src/mcp-receipts.ts +199 -194
  410. package/src/mcp-structured-content.ts +81 -0
  411. package/src/memory-slack-delivery.ts +172 -142
  412. package/src/message-time-zone.ts +109 -0
  413. package/src/modal-native-proof-v2.ts +430 -0
  414. package/src/model-account-choice.ts +178 -0
  415. package/src/model-account-settings.ts +210 -0
  416. package/src/model-availability.ts +22 -0
  417. package/src/model-connection-access.ts +62 -14
  418. package/src/model-context-inspector.ts +130 -109
  419. package/src/model-display.ts +221 -0
  420. package/src/model-picker-order.ts +1 -1
  421. package/src/model-residency.ts +535 -0
  422. package/src/organization-access.ts +216 -0
  423. package/src/organization-integration-policy.ts +47 -28
  424. package/src/organization-membership-lifecycle.ts +558 -384
  425. package/src/organization-model-usage.ts +82 -0
  426. package/src/organization-recovery.ts +148 -135
  427. package/src/organization-usage.ts +84 -52
  428. package/src/passkey-only-account.ts +29 -0
  429. package/src/permissions.ts +94 -52
  430. package/src/personal-github.ts +211 -171
  431. package/src/personal-integration-setup.ts +150 -0
  432. package/src/preference-registry.ts +319 -263
  433. package/src/prepared-mcp-setup.ts +190 -0
  434. package/src/primitives.ts +22 -0
  435. package/src/product-analytics.ts +40 -15
  436. package/src/product-lifecycle-facts.ts +50 -20
  437. package/src/prompt-cache-diagnostics.ts +212 -0
  438. package/src/recordings.ts +1153 -0
  439. package/src/remember.ts +184 -172
  440. package/src/retained-output.ts +181 -168
  441. package/src/sandbox-file-artifacts.ts +78 -57
  442. package/src/sandbox-provider-command.ts +55 -72
  443. package/src/sandbox-recovery.ts +163 -77
  444. package/src/scoped-knowledge.ts +62 -43
  445. package/src/secret-generator.ts +156 -0
  446. package/src/secret-mask-strings.ts +175 -0
  447. package/src/secret-references.ts +414 -0
  448. package/src/secret-resolution.ts +322 -0
  449. package/src/secret-shape-masking.ts +573 -0
  450. package/src/secret-totp.ts +188 -0
  451. package/src/secret-use-approval-question.ts +22 -0
  452. package/src/secret-use-approvals.ts +219 -0
  453. package/src/secret-value-masking.ts +1283 -0
  454. package/src/secret-value.ts +22 -0
  455. package/src/session-goal-reports.ts +55 -49
  456. package/src/session-history-import.ts +84 -68
  457. package/src/session-history.ts +197 -0
  458. package/src/session-list-entries.ts +106 -0
  459. package/src/session-mcp-projections.ts +21 -3
  460. package/src/session-mcp-tool-permissions.ts +109 -0
  461. package/src/session-message-search.ts +46 -38
  462. package/src/session-target.ts +58 -0
  463. package/src/session-titles.ts +40 -4
  464. package/src/session-topology-primitives.ts +20 -12
  465. package/src/session-usage-limit-refusal.ts +101 -0
  466. package/src/session-usage-limits.ts +169 -0
  467. package/src/signup-attribution.ts +20 -15
  468. package/src/site-data.ts +337 -0
  469. package/src/site-operations.ts +154 -0
  470. package/src/site-publishing.ts +903 -0
  471. package/src/site-session-http.ts +344 -16
  472. package/src/site-sql.ts +1120 -0
  473. package/src/skill-use.ts +18 -17
  474. package/src/skills.ts +105 -50
  475. package/src/slack-bot-scopes.ts +18 -35
  476. package/src/slack-rest-mcp.ts +222 -0
  477. package/src/slack-task-policy.ts +97 -73
  478. package/src/spreadsheet-artifact-commands.ts +74 -13
  479. package/src/spreadsheet-artifact-query.ts +188 -50
  480. package/src/subscription-account-actions.ts +103 -0
  481. package/src/subscription-account-pools.ts +74 -0
  482. package/src/subscription-personal-authority-v2.ts +69 -0
  483. package/src/subscription-plans.ts +51 -0
  484. package/src/subscription-usage-pool.ts +44 -0
  485. package/src/task-notes.ts +70 -68
  486. package/src/tool-action-review.ts +271 -0
  487. package/src/tool-catalog.ts +694 -379
  488. package/src/tool-policy.ts +82 -0
  489. package/src/tool-result-spill.ts +13 -9
  490. package/src/tool-review-presentation.ts +643 -0
  491. package/src/turn-serving-policy.ts +167 -0
  492. package/src/usage-allowances.ts +212 -136
  493. package/src/values.ts +25 -0
  494. package/src/vault-provider-wire.ts +580 -0
  495. package/src/vaults.ts +1296 -0
  496. package/src/video-generation.ts +430 -361
  497. package/src/work-claims.ts +183 -166
  498. package/src/workspace-control-event.ts +134 -0
  499. package/src/workspace-governance-context.ts +63 -0
  500. package/src/workspace-instruction-policies.ts +346 -279
  501. package/src/workspace-integration-wire.ts +10 -0
  502. package/src/workspace-integrations.ts +488 -398
  503. package/src/workspace-learning-administration.ts +58 -44
  504. package/src/workspace-learning-policy.ts +126 -99
  505. package/src/workspace-state.ts +239 -220
  506. package/src/xai-provider-account-authority.ts +23 -17
  507. package/dist/chunk-3SIZGL3O.js.map +0 -1
  508. package/dist/chunk-566IFOVP.js +0 -26133
  509. package/dist/chunk-566IFOVP.js.map +0 -1
  510. package/dist/chunk-5IXYF6XN.js +0 -728
  511. package/dist/chunk-5IXYF6XN.js.map +0 -1
  512. package/dist/chunk-5Q54VCCH.js.map +0 -1
  513. package/dist/chunk-BCS7WHCK.js +0 -139
  514. package/dist/chunk-BCS7WHCK.js.map +0 -1
  515. package/dist/chunk-EK7NDGFR.js +0 -128
  516. package/dist/chunk-EK7NDGFR.js.map +0 -1
  517. package/dist/chunk-GRG7PHWQ.js +0 -25
  518. package/dist/chunk-GRG7PHWQ.js.map +0 -1
  519. package/dist/chunk-HHZSZYYF.js.map +0 -1
  520. package/dist/chunk-ICDZGUX2.js +0 -186
  521. package/dist/chunk-ICDZGUX2.js.map +0 -1
  522. package/dist/chunk-JUFK3T4Q.js +0 -80
  523. package/dist/chunk-JUFK3T4Q.js.map +0 -1
  524. package/dist/chunk-MYBZRDTY.js.map +0 -1
  525. package/dist/chunk-NRMCVHAU.js.map +0 -1
  526. package/dist/chunk-O77VSFYZ.js.map +0 -1
  527. package/dist/chunk-P3HLDT77.js +0 -59
  528. package/dist/chunk-P3HLDT77.js.map +0 -1
  529. package/dist/chunk-TXTQIYCV.js.map +0 -1
  530. package/dist/chunk-WYBDERIY.js.map +0 -1
  531. package/dist/chunk-Y3KNXVTD.js.map +0 -1
  532. package/dist/chunk-YBW5JSA3.js.map +0 -1
  533. package/dist/chunk-YRXAWWCU.js +0 -45
  534. package/dist/chunk-YRXAWWCU.js.map +0 -1
  535. package/dist/chunk-YWMOIZ6A.js +0 -185
  536. package/dist/chunk-YWMOIZ6A.js.map +0 -1
  537. package/dist/site-request-headers.test.d.ts +0 -1
  538. package/dist/transcription-recordings.d.ts +0 -300
  539. package/src/transcription-recordings.ts +0 -169
  540. /package/dist/{chunk-SIOU2K4U.js.map → chunk-LJH2EYGT.js.map} +0 -0
  541. /package/dist/{chunk-RIY7GYQS.js.map → chunk-PTSROVDG.js.map} +0 -0
  542. /package/dist/{chunk-YRKRZ6OF.js.map → chunk-TOOJIBJC.js.map} +0 -0
  543. /package/dist/{chunk-D2HKF2EF.js.map → chunk-XP5M3IKT.js.map} +0 -0
@@ -1,3 +1,5 @@
1
+ import * as primitives from "./primitives";
2
+ import { defineSchema } from "./define-schema";
1
3
  import { z } from "zod";
2
4
 
3
5
  /** Hard server-side ceiling for one retained-output response body. */
@@ -13,8 +15,6 @@ export const COMPUTER_SCREENSHOT_MAX_DIMENSION = 16_384;
13
15
  export const COMPUTER_SCREENSHOT_MAX_PIXELS = 67_108_864;
14
16
  /** Canonical ready-object retention window: 30 days from successful settlement. */
15
17
  export const COMPUTER_SCREENSHOT_RETENTION_MS = 30 * 24 * 60 * 60 * 1_000;
16
- /** Hard workspace reservation across pending + ready screenshot artifacts. */
17
- export const COMPUTER_SCREENSHOT_WORKSPACE_QUOTA_BYTES = 5 * 1024 * 1024 * 1024;
18
18
  /** Generated images are permanent workspace files, never inline history blobs. */
19
19
  export const GENERATED_IMAGE_MAX_BYTES = 64 * 1024 * 1024;
20
20
  /** Generated videos are permanent workspace files and are always streamed. */
@@ -29,183 +29,193 @@ const WORKSPACE_RETRIEVAL_PATH =
29
29
  const SESSION_RETRIEVAL_PATH =
30
30
  /^\/v1\/workspaces\/([0-9a-f-]+)\/sessions\/([0-9a-f-]+)\/artifacts\/([0-9a-f-]+)\/content$/;
31
31
 
32
- export const RetainedOutputKind = z.enum([
33
- "tool_result",
34
- "assistant_completion",
35
- "internal_update",
36
- "event_media",
37
- "computer_screenshot",
38
- "browser_screenshot",
39
- "generated_image",
40
- "generated_video",
41
- "file",
42
- ]);
32
+ export const RetainedOutputKind = /* @__PURE__ */ defineSchema(() =>
33
+ z.enum([
34
+ "tool_result",
35
+ "assistant_completion",
36
+ "internal_update",
37
+ "event_media",
38
+ "computer_screenshot",
39
+ "browser_screenshot",
40
+ "generated_image",
41
+ "generated_video",
42
+ "file",
43
+ ]),
44
+ );
43
45
  export type RetainedOutputKind = z.infer<typeof RetainedOutputKind>;
44
46
 
45
- export const RetainedOutputUnavailableReason = z.enum([
46
- "not_retained",
47
- "pending",
48
- "failed",
49
- "expired",
50
- "deleted",
51
- "missing_storage",
52
- "storage_write_failed",
53
- "quota_exceeded",
54
- "invalid_content",
55
- "oversized",
56
- "unsupported",
57
- ]);
47
+ export const RetainedOutputUnavailableReason = /* @__PURE__ */ defineSchema(() =>
48
+ z.enum([
49
+ "not_retained",
50
+ "pending",
51
+ "failed",
52
+ "expired",
53
+ "deleted",
54
+ "missing_storage",
55
+ "storage_write_failed",
56
+ "quota_exceeded",
57
+ "invalid_content",
58
+ "oversized",
59
+ "unsupported",
60
+ // The file exists but is Only me for someone else. Never says whose.
61
+ "private",
62
+ ]),
63
+ );
58
64
  export type RetainedOutputUnavailableReason = z.infer<typeof RetainedOutputUnavailableReason>;
59
65
 
60
- const RetainedOutputUnavailableEvidenceSchema = z
61
- .object({
62
- available: z.literal(false),
63
- reason: RetainedOutputUnavailableReason,
64
- })
65
- .strict();
66
-
67
- export const RetainedArtifactReferenceSchema = z
68
- .object({
69
- available: z.literal(true),
70
- artifactId: z.string().regex(LOWERCASE_UUID),
71
- kind: RetainedOutputKind,
72
- contentType: z.string().max(127).regex(CANONICAL_MEDIA_TYPE),
73
- originalBytes: z.number().int().nonnegative().safe(),
74
- sha256: z.string().regex(LOWERCASE_SHA256),
75
- retainedAt: z.string().datetime({ offset: true }),
76
- dimensions: z
77
- .object({
78
- width: z.number().int().positive().max(COMPUTER_SCREENSHOT_MAX_DIMENSION),
79
- height: z.number().int().positive().max(COMPUTER_SCREENSHOT_MAX_DIMENSION),
80
- })
81
- .strict()
82
- .optional(),
83
- retention: z.union([
84
- z
66
+ const RetainedOutputUnavailableEvidenceSchema = /* @__PURE__ */ defineSchema(() =>
67
+ z
68
+ .object({
69
+ available: z.literal(false),
70
+ reason: RetainedOutputUnavailableReason,
71
+ })
72
+ .strict(),
73
+ );
74
+
75
+ export const RetainedArtifactReferenceSchema = /* @__PURE__ */ defineSchema(() =>
76
+ z
77
+ .object({
78
+ available: z.literal(true),
79
+ artifactId: primitives.string.regex(LOWERCASE_UUID),
80
+ kind: RetainedOutputKind,
81
+ contentType: z.string().max(127).regex(CANONICAL_MEDIA_TYPE),
82
+ originalBytes: primitives.nonnegativeInteger.safe(),
83
+ sha256: primitives.string.regex(LOWERCASE_SHA256),
84
+ retainedAt: primitives.string.datetime({ offset: true }),
85
+ dimensions: z
85
86
  .object({
86
- policy: z.literal("workspace_file"),
87
- expiresAt: z.null(),
87
+ width: primitives.positiveInteger.max(COMPUTER_SCREENSHOT_MAX_DIMENSION),
88
+ height: primitives.positiveInteger.max(COMPUTER_SCREENSHOT_MAX_DIMENSION),
88
89
  })
89
- .strict(),
90
- z
90
+ .strict()
91
+ .optional(),
92
+ retention: z.union([
93
+ z
94
+ .object({
95
+ policy: z.literal("workspace_file"),
96
+ expiresAt: z.null(),
97
+ })
98
+ .strict(),
99
+ z
100
+ .object({
101
+ policy: z.literal("session_screenshot"),
102
+ expiresAt: primitives.string.datetime({ offset: true }),
103
+ })
104
+ .strict(),
105
+ ]),
106
+ retrieval: z
91
107
  .object({
92
- policy: z.literal("session_screenshot"),
93
- expiresAt: z.string().datetime({ offset: true }),
108
+ method: z.literal("GET"),
109
+ path: z.string().max(256),
110
+ acceptRanges: z.literal("bytes"),
111
+ maxRangeBytes: primitives.positiveInteger.max(RETAINED_OUTPUT_MAX_PAGE_BYTES),
94
112
  })
95
113
  .strict(),
96
- ]),
97
- retrieval: z
98
- .object({
99
- method: z.literal("GET"),
100
- path: z.string().max(256),
101
- acceptRanges: z.literal("bytes"),
102
- maxRangeBytes: z.number().int().positive().max(RETAINED_OUTPUT_MAX_PAGE_BYTES),
103
- })
104
- .strict(),
105
- })
106
- .strict()
107
- .superRefine((value, ctx) => {
108
- const workspaceMatch = WORKSPACE_RETRIEVAL_PATH.exec(value.retrieval.path);
109
- const sessionMatch = SESSION_RETRIEVAL_PATH.exec(value.retrieval.path);
110
- const workspaceId = workspaceMatch?.[1] ?? sessionMatch?.[1];
111
- const sessionId = sessionMatch?.[2];
112
- const artifactId = workspaceMatch?.[2] ?? sessionMatch?.[3];
113
- if (
114
- !workspaceId ||
115
- !LOWERCASE_UUID.test(workspaceId) ||
116
- (sessionId !== undefined && !LOWERCASE_UUID.test(sessionId)) ||
117
- artifactId !== value.artifactId
118
- ) {
119
- ctx.addIssue({
120
- code: "custom",
121
- path: ["retrieval", "path"],
122
- message: "retrieval path must be a workspace/session API content path for this artifact",
123
- });
124
- }
125
-
126
- if (
127
- value.kind === "computer_screenshot" ||
128
- value.kind === "browser_screenshot" ||
129
- value.kind === "generated_image" ||
130
- value.kind === "generated_video"
131
- ) {
132
- if (!value.dimensions) {
133
- ctx.addIssue({
134
- code: "custom",
135
- path: ["dimensions"],
136
- message: `${value.kind} receipts require exact dimensions`,
137
- });
138
- } else if (
139
- value.dimensions.width * value.dimensions.height >
140
- COMPUTER_SCREENSHOT_MAX_PIXELS
114
+ })
115
+ .strict()
116
+ .superRefine((value, ctx) => {
117
+ const workspaceMatch = WORKSPACE_RETRIEVAL_PATH.exec(value.retrieval.path);
118
+ const sessionMatch = SESSION_RETRIEVAL_PATH.exec(value.retrieval.path);
119
+ const workspaceId = workspaceMatch?.[1] ?? sessionMatch?.[1];
120
+ const sessionId = sessionMatch?.[2];
121
+ const artifactId = workspaceMatch?.[2] ?? sessionMatch?.[3];
122
+ if (
123
+ !workspaceId ||
124
+ !LOWERCASE_UUID.test(workspaceId) ||
125
+ (sessionId !== undefined && !LOWERCASE_UUID.test(sessionId)) ||
126
+ artifactId !== value.artifactId
141
127
  ) {
142
128
  ctx.addIssue({
143
129
  code: "custom",
144
- path: ["dimensions"],
145
- message: `${value.kind} dimensions exceed the pixel limit`,
130
+ path: ["retrieval", "path"],
131
+ message: "retrieval path must be a workspace/session API content path for this artifact",
146
132
  });
147
133
  }
148
- }
149
134
 
150
- if (value.kind === "generated_image") {
151
- if (value.retention.policy !== "workspace_file" || !workspaceMatch || sessionMatch) {
152
- ctx.addIssue({
153
- code: "custom",
154
- path: ["retention"],
155
- message: "generated images require permanent workspace-file retrieval",
156
- });
157
- }
158
135
  if (
159
- !["image/png", "image/jpeg", "image/webp"].includes(value.contentType) ||
160
- value.originalBytes <= 0 ||
161
- value.originalBytes > GENERATED_IMAGE_MAX_BYTES
136
+ value.kind === "computer_screenshot" ||
137
+ value.kind === "browser_screenshot" ||
138
+ value.kind === "generated_image" ||
139
+ value.kind === "generated_video"
162
140
  ) {
163
- ctx.addIssue({
164
- code: "custom",
165
- path: ["contentType"],
166
- message: "generated image media metadata is invalid",
167
- });
141
+ if (!value.dimensions) {
142
+ ctx.addIssue({
143
+ code: "custom",
144
+ path: ["dimensions"],
145
+ message: `${value.kind} receipts require exact dimensions`,
146
+ });
147
+ } else if (
148
+ value.dimensions.width * value.dimensions.height >
149
+ COMPUTER_SCREENSHOT_MAX_PIXELS
150
+ ) {
151
+ ctx.addIssue({
152
+ code: "custom",
153
+ path: ["dimensions"],
154
+ message: `${value.kind} dimensions exceed the pixel limit`,
155
+ });
156
+ }
168
157
  }
169
- }
170
158
 
171
- if (value.kind === "generated_video") {
172
- if (value.retention.policy !== "workspace_file" || !workspaceMatch || sessionMatch) {
173
- ctx.addIssue({
174
- code: "custom",
175
- path: ["retention"],
176
- message: "generated videos require permanent workspace-file retrieval",
177
- });
159
+ if (value.kind === "generated_image") {
160
+ if (value.retention.policy !== "workspace_file" || !workspaceMatch || sessionMatch) {
161
+ ctx.addIssue({
162
+ code: "custom",
163
+ path: ["retention"],
164
+ message: "generated images require permanent workspace-file retrieval",
165
+ });
166
+ }
167
+ if (
168
+ !["image/png", "image/jpeg", "image/webp"].includes(value.contentType) ||
169
+ value.originalBytes <= 0 ||
170
+ value.originalBytes > GENERATED_IMAGE_MAX_BYTES
171
+ ) {
172
+ ctx.addIssue({
173
+ code: "custom",
174
+ path: ["contentType"],
175
+ message: "generated image media metadata is invalid",
176
+ });
177
+ }
178
178
  }
179
- if (
180
- value.contentType !== "video/mp4" ||
181
- value.originalBytes <= 0 ||
182
- value.originalBytes > GENERATED_VIDEO_MAX_BYTES
183
- ) {
184
- ctx.addIssue({
185
- code: "custom",
186
- path: ["contentType"],
187
- message: "generated video media metadata is invalid",
188
- });
179
+
180
+ if (value.kind === "generated_video") {
181
+ if (value.retention.policy !== "workspace_file" || !workspaceMatch || sessionMatch) {
182
+ ctx.addIssue({
183
+ code: "custom",
184
+ path: ["retention"],
185
+ message: "generated videos require permanent workspace-file retrieval",
186
+ });
187
+ }
188
+ if (
189
+ value.contentType !== "video/mp4" ||
190
+ value.originalBytes <= 0 ||
191
+ value.originalBytes > GENERATED_VIDEO_MAX_BYTES
192
+ ) {
193
+ ctx.addIssue({
194
+ code: "custom",
195
+ path: ["contentType"],
196
+ message: "generated video media metadata is invalid",
197
+ });
198
+ }
199
+ }
200
+
201
+ if (value.kind === "computer_screenshot" || value.kind === "browser_screenshot") {
202
+ if (value.retention.policy !== "session_screenshot" || !sessionMatch) {
203
+ ctx.addIssue({
204
+ code: "custom",
205
+ path: ["retention"],
206
+ message: "session screenshots require session-scoped expiring retrieval",
207
+ });
208
+ }
189
209
  }
190
- }
191
210
 
192
- if (value.kind === "computer_screenshot" || value.kind === "browser_screenshot") {
193
- if (value.retention.policy !== "session_screenshot" || !sessionMatch) {
211
+ if (encoder.encode(JSON.stringify(value)).byteLength > RETAINED_OUTPUT_RECEIPT_MAX_BYTES) {
194
212
  ctx.addIssue({
195
213
  code: "custom",
196
- path: ["retention"],
197
- message: "session screenshots require session-scoped expiring retrieval",
214
+ message: "retained-output receipt exceeds its byte envelope",
198
215
  });
199
216
  }
200
- }
201
-
202
- if (encoder.encode(JSON.stringify(value)).byteLength > RETAINED_OUTPUT_RECEIPT_MAX_BYTES) {
203
- ctx.addIssue({
204
- code: "custom",
205
- message: "retained-output receipt exceeds its byte envelope",
206
- });
207
- }
208
- });
217
+ }),
218
+ );
209
219
 
210
220
  /**
211
221
  * Canonical evidence fact carried by bounded audit/NATS/SSE/UI previews.
@@ -214,29 +224,32 @@ export const RetainedArtifactReferenceSchema = z
214
224
  * object key, signed URL, arbitrary metadata, or producer-controlled labels can
215
225
  * cross this boundary.
216
226
  */
217
- export const RetainedOutputEvidenceSchema = z.discriminatedUnion("available", [
218
- RetainedOutputUnavailableEvidenceSchema,
219
- RetainedArtifactReferenceSchema,
220
- ]);
227
+ export const RetainedOutputEvidenceSchema = /* @__PURE__ */ defineSchema(() =>
228
+ z.discriminatedUnion("available", [
229
+ RetainedOutputUnavailableEvidenceSchema,
230
+ RetainedArtifactReferenceSchema,
231
+ ]),
232
+ );
221
233
  export type RetainedOutputEvidence = z.infer<typeof RetainedOutputEvidenceSchema>;
222
234
  export type RetainedArtifactReference = z.infer<typeof RetainedArtifactReferenceSchema>;
223
235
  /** @deprecated use RetainedArtifactReference. */
224
236
  export type RetainedOutputAvailableEvidence = RetainedArtifactReference;
225
237
 
226
- export const RetainedArtifactUnavailableSchema = z
227
- .object({
228
- available: z.literal(false),
229
- artifactId: z.string().regex(LOWERCASE_UUID),
230
- reason: RetainedOutputUnavailableReason,
231
- })
232
- .strict();
238
+ export const RetainedArtifactUnavailableSchema = /* @__PURE__ */ defineSchema(() =>
239
+ z
240
+ .object({
241
+ available: z.literal(false),
242
+ artifactId: primitives.string.regex(LOWERCASE_UUID),
243
+ reason: RetainedOutputUnavailableReason,
244
+ })
245
+ .strict(),
246
+ );
233
247
  export type RetainedArtifactUnavailable = z.infer<typeof RetainedArtifactUnavailableSchema>;
234
248
 
235
249
  /** Authenticated metadata result for one opaque workspace file identity. */
236
- export const RetainedArtifactMetadataSchema = z.union([
237
- RetainedArtifactReferenceSchema,
238
- RetainedArtifactUnavailableSchema,
239
- ]);
250
+ export const RetainedArtifactMetadataSchema = /* @__PURE__ */ defineSchema(() =>
251
+ z.union([RetainedArtifactReferenceSchema, RetainedArtifactUnavailableSchema]),
252
+ );
240
253
  export type RetainedArtifactMetadata = z.infer<typeof RetainedArtifactMetadataSchema>;
241
254
 
242
255
  export type RetainedArtifactFileInput = {
@@ -1,73 +1,94 @@
1
+ import { defineSchema } from "./define-schema";
1
2
  import { z } from "zod";
2
3
 
3
4
  import { RetainedArtifactReferenceSchema } from "./retained-output";
5
+ import { WorkspaceArtifactVisibility } from "./artifacts";
6
+ import { FileAccess } from "./file-access";
4
7
 
5
8
  /**
6
- * Channel-A currently returns one bounded binary-safe read. Keep publication
9
+ * Largest publishable sandbox file: one object-storage PUT. Files up to
10
+ * SANDBOX_FILE_ARTIFACT_INLINE_MAX_BYTES are read through Channel-A; larger
11
+ * files are hashed and uploaded by the box itself.
12
+ */
13
+ export const SANDBOX_FILE_ARTIFACT_MAX_BYTES = 5_000_000_000;
14
+
15
+ /**
16
+ * Channel-A returns one bounded binary-safe read. Keep inline publication
7
17
  * below that ceiling so an extra sentinel byte can distinguish an exact file
8
18
  * from a truncated prefix.
9
19
  */
10
- export const SANDBOX_FILE_ARTIFACT_MAX_BYTES = 25 * 1024 * 1024 - 1;
20
+ export const SANDBOX_FILE_ARTIFACT_INLINE_MAX_BYTES = 25 * 1024 * 1024 - 1;
11
21
 
12
- export const PublishSandboxFileArtifactRequest = z
13
- .object({
14
- path: z.string().min(1).max(4_096),
15
- })
16
- .strict();
22
+ export const PublishSandboxFileArtifactRequest = /* @__PURE__ */ defineSchema(() =>
23
+ z
24
+ .object({
25
+ path: z.string().min(1).max(4_096),
26
+ /**
27
+ * Who can open the published file. Omitted: the chat's own audience
28
+ * (Only me in an Only me chat, else the workspace).
29
+ */
30
+ visibility: WorkspaceArtifactVisibility.optional(),
31
+ })
32
+ .strict(),
33
+ );
17
34
  export type PublishSandboxFileArtifactRequest = z.infer<typeof PublishSandboxFileArtifactRequest>;
18
35
 
19
36
  /**
20
37
  * Closed model/UI receipt for one exact sandbox-file publication. Storage
21
38
  * locators and signed URLs never cross this boundary.
22
39
  */
23
- export const SandboxFileArtifactReceipt = z
24
- .object({
25
- type: z.literal("sandbox_file"),
26
- sandboxPath: z.string().min(1).max(4_096),
27
- filename: z.string().min(1).max(1_024),
28
- artifact: RetainedArtifactReferenceSchema,
29
- })
30
- .strict()
31
- .superRefine((value, context) => {
32
- const pathSegments = value.sandboxPath.split("/");
33
- // This is a receipt, not read authority. The publisher confines the path
34
- // against its resolved provider root; receipts preserve that native path.
35
- const unc = value.sandboxPath.startsWith("//");
36
- const absolute = unc
37
- ? /^\/\/[^/]+\/[^/]+\/.+/u.test(value.sandboxPath) && !value.sandboxPath.startsWith("//?/")
38
- : value.sandboxPath.startsWith("/") || /^[A-Z]:\//u.test(value.sandboxPath);
39
- if (
40
- !absolute ||
41
- /[\\\u0000-\u001f\u007f]/u.test(value.sandboxPath) ||
42
- pathSegments.some(
43
- (segment, index) =>
44
- index >= (unc ? 2 : 1) && (!segment || segment === "." || segment === ".."),
45
- ) ||
46
- pathSegments.at(-1) !== value.filename
47
- ) {
48
- context.addIssue({
49
- code: "custom",
50
- path: ["sandboxPath"],
51
- message:
52
- "sandbox path must canonically identify the published filename at an absolute host path",
53
- });
54
- }
55
- if (value.artifact.kind !== "file" || value.artifact.retention.policy !== "workspace_file") {
56
- context.addIssue({
57
- code: "custom",
58
- path: ["artifact"],
59
- message: "sandbox files require a permanent workspace-file artifact",
60
- });
61
- }
62
- if (
63
- value.artifact.originalBytes < 1 ||
64
- value.artifact.originalBytes > SANDBOX_FILE_ARTIFACT_MAX_BYTES
65
- ) {
66
- context.addIssue({
67
- code: "custom",
68
- path: ["artifact", "originalBytes"],
69
- message: "sandbox file size is outside the publication byte limit",
70
- });
71
- }
72
- });
40
+ export const SandboxFileArtifactReceipt = /* @__PURE__ */ defineSchema(() =>
41
+ z
42
+ .object({
43
+ type: z.literal("sandbox_file"),
44
+ sandboxPath: z.string().min(1).max(4_096),
45
+ filename: z.string().min(1).max(1_024),
46
+ artifact: RetainedArtifactReferenceSchema,
47
+ /** Who can open the file. Absent from receipts made before files had audiences. */
48
+ access: FileAccess.optional(),
49
+ })
50
+ .strict()
51
+ .superRefine((value, context) => {
52
+ const pathSegments = value.sandboxPath.split("/");
53
+ // This is a receipt, not read authority. The publisher confines the path
54
+ // against its resolved provider root; receipts preserve that native path.
55
+ const unc = value.sandboxPath.startsWith("//");
56
+ const absolute = unc
57
+ ? /^\/\/[^/]+\/[^/]+\/.+/u.test(value.sandboxPath) && !value.sandboxPath.startsWith("//?/")
58
+ : value.sandboxPath.startsWith("/") || /^[A-Z]:\//u.test(value.sandboxPath);
59
+ if (
60
+ !absolute ||
61
+ /[\\\u0000-\u001f\u007f]/u.test(value.sandboxPath) ||
62
+ pathSegments.some(
63
+ (segment, index) =>
64
+ index >= (unc ? 2 : 1) && (!segment || segment === "." || segment === ".."),
65
+ ) ||
66
+ pathSegments.at(-1) !== value.filename
67
+ ) {
68
+ context.addIssue({
69
+ code: "custom",
70
+ path: ["sandboxPath"],
71
+ message:
72
+ "sandbox path must canonically identify the published filename at an absolute host path",
73
+ });
74
+ }
75
+ if (value.artifact.kind !== "file" || value.artifact.retention.policy !== "workspace_file") {
76
+ context.addIssue({
77
+ code: "custom",
78
+ path: ["artifact"],
79
+ message: "sandbox files require a permanent workspace-file artifact",
80
+ });
81
+ }
82
+ if (
83
+ value.artifact.originalBytes < 1 ||
84
+ value.artifact.originalBytes > SANDBOX_FILE_ARTIFACT_MAX_BYTES
85
+ ) {
86
+ context.addIssue({
87
+ code: "custom",
88
+ path: ["artifact", "originalBytes"],
89
+ message: "sandbox file size is outside the publication byte limit",
90
+ });
91
+ }
92
+ }),
93
+ );
73
94
  export type SandboxFileArtifactReceipt = z.infer<typeof SandboxFileArtifactReceipt>;