@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
@@ -0,0 +1,767 @@
1
+ import {
2
+ defineSchema
3
+ } from "./chunk-56SNIMDO.js";
4
+
5
+ // src/video-generation.ts
6
+ import { z as z2 } from "zod";
7
+
8
+ // src/retained-output.ts
9
+ import { z } from "zod";
10
+ var RETAINED_OUTPUT_MAX_PAGE_BYTES = 1024 * 1024;
11
+ var RETAINED_OUTPUT_DEFAULT_PAGE_BYTES = 256 * 1024;
12
+ var RETAINED_OUTPUT_RECEIPT_MAX_BYTES = 2 * 1024;
13
+ var COMPUTER_SCREENSHOT_MAX_BYTES = 32 * 1024 * 1024;
14
+ var COMPUTER_SCREENSHOT_MAX_DIMENSION = 16384;
15
+ var COMPUTER_SCREENSHOT_MAX_PIXELS = 67108864;
16
+ var COMPUTER_SCREENSHOT_RETENTION_MS = 30 * 24 * 60 * 60 * 1e3;
17
+ var COMPUTER_SCREENSHOT_WORKSPACE_QUOTA_BYTES = 5 * 1024 * 1024 * 1024;
18
+ var GENERATED_IMAGE_MAX_BYTES = 64 * 1024 * 1024;
19
+ var GENERATED_VIDEO_MAX_BYTES = 512 * 1024 * 1024;
20
+ var encoder = new TextEncoder();
21
+ var LOWERCASE_UUID = /^[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/;
22
+ var LOWERCASE_SHA256 = /^[0-9a-f]{64}$/;
23
+ var CANONICAL_MEDIA_TYPE = /^[a-z0-9][a-z0-9!#$&^_.+-]{0,62}\/[a-z0-9][a-z0-9!#$&^_.+-]{0,62}$/;
24
+ var WORKSPACE_RETRIEVAL_PATH = /^\/v1\/workspaces\/([0-9a-f-]+)\/artifacts\/([0-9a-f-]+)\/content$/;
25
+ var SESSION_RETRIEVAL_PATH = /^\/v1\/workspaces\/([0-9a-f-]+)\/sessions\/([0-9a-f-]+)\/artifacts\/([0-9a-f-]+)\/content$/;
26
+ var RetainedOutputKind = /* @__PURE__ */ defineSchema(
27
+ () => z.enum([
28
+ "tool_result",
29
+ "assistant_completion",
30
+ "internal_update",
31
+ "event_media",
32
+ "computer_screenshot",
33
+ "browser_screenshot",
34
+ "generated_image",
35
+ "generated_video",
36
+ "file"
37
+ ])
38
+ );
39
+ var RetainedOutputUnavailableReason = /* @__PURE__ */ defineSchema(
40
+ () => z.enum([
41
+ "not_retained",
42
+ "pending",
43
+ "failed",
44
+ "expired",
45
+ "deleted",
46
+ "missing_storage",
47
+ "storage_write_failed",
48
+ "quota_exceeded",
49
+ "invalid_content",
50
+ "oversized",
51
+ "unsupported"
52
+ ])
53
+ );
54
+ var RetainedOutputUnavailableEvidenceSchema = /* @__PURE__ */ defineSchema(
55
+ () => z.object({
56
+ available: z.literal(false),
57
+ reason: RetainedOutputUnavailableReason
58
+ }).strict()
59
+ );
60
+ var RetainedArtifactReferenceSchema = /* @__PURE__ */ defineSchema(
61
+ () => z.object({
62
+ available: z.literal(true),
63
+ artifactId: z.string().regex(LOWERCASE_UUID),
64
+ kind: RetainedOutputKind,
65
+ contentType: z.string().max(127).regex(CANONICAL_MEDIA_TYPE),
66
+ originalBytes: z.number().int().nonnegative().safe(),
67
+ sha256: z.string().regex(LOWERCASE_SHA256),
68
+ retainedAt: z.string().datetime({ offset: true }),
69
+ dimensions: z.object({
70
+ width: z.number().int().positive().max(COMPUTER_SCREENSHOT_MAX_DIMENSION),
71
+ height: z.number().int().positive().max(COMPUTER_SCREENSHOT_MAX_DIMENSION)
72
+ }).strict().optional(),
73
+ retention: z.union([
74
+ z.object({
75
+ policy: z.literal("workspace_file"),
76
+ expiresAt: z.null()
77
+ }).strict(),
78
+ z.object({
79
+ policy: z.literal("session_screenshot"),
80
+ expiresAt: z.string().datetime({ offset: true })
81
+ }).strict()
82
+ ]),
83
+ retrieval: z.object({
84
+ method: z.literal("GET"),
85
+ path: z.string().max(256),
86
+ acceptRanges: z.literal("bytes"),
87
+ maxRangeBytes: z.number().int().positive().max(RETAINED_OUTPUT_MAX_PAGE_BYTES)
88
+ }).strict()
89
+ }).strict().superRefine((value, ctx) => {
90
+ const workspaceMatch = WORKSPACE_RETRIEVAL_PATH.exec(value.retrieval.path);
91
+ const sessionMatch = SESSION_RETRIEVAL_PATH.exec(value.retrieval.path);
92
+ const workspaceId = workspaceMatch?.[1] ?? sessionMatch?.[1];
93
+ const sessionId = sessionMatch?.[2];
94
+ const artifactId = workspaceMatch?.[2] ?? sessionMatch?.[3];
95
+ if (!workspaceId || !LOWERCASE_UUID.test(workspaceId) || sessionId !== void 0 && !LOWERCASE_UUID.test(sessionId) || artifactId !== value.artifactId) {
96
+ ctx.addIssue({
97
+ code: "custom",
98
+ path: ["retrieval", "path"],
99
+ message: "retrieval path must be a workspace/session API content path for this artifact"
100
+ });
101
+ }
102
+ if (value.kind === "computer_screenshot" || value.kind === "browser_screenshot" || value.kind === "generated_image" || value.kind === "generated_video") {
103
+ if (!value.dimensions) {
104
+ ctx.addIssue({
105
+ code: "custom",
106
+ path: ["dimensions"],
107
+ message: `${value.kind} receipts require exact dimensions`
108
+ });
109
+ } else if (value.dimensions.width * value.dimensions.height > COMPUTER_SCREENSHOT_MAX_PIXELS) {
110
+ ctx.addIssue({
111
+ code: "custom",
112
+ path: ["dimensions"],
113
+ message: `${value.kind} dimensions exceed the pixel limit`
114
+ });
115
+ }
116
+ }
117
+ if (value.kind === "generated_image") {
118
+ if (value.retention.policy !== "workspace_file" || !workspaceMatch || sessionMatch) {
119
+ ctx.addIssue({
120
+ code: "custom",
121
+ path: ["retention"],
122
+ message: "generated images require permanent workspace-file retrieval"
123
+ });
124
+ }
125
+ if (!["image/png", "image/jpeg", "image/webp"].includes(value.contentType) || value.originalBytes <= 0 || value.originalBytes > GENERATED_IMAGE_MAX_BYTES) {
126
+ ctx.addIssue({
127
+ code: "custom",
128
+ path: ["contentType"],
129
+ message: "generated image media metadata is invalid"
130
+ });
131
+ }
132
+ }
133
+ if (value.kind === "generated_video") {
134
+ if (value.retention.policy !== "workspace_file" || !workspaceMatch || sessionMatch) {
135
+ ctx.addIssue({
136
+ code: "custom",
137
+ path: ["retention"],
138
+ message: "generated videos require permanent workspace-file retrieval"
139
+ });
140
+ }
141
+ if (value.contentType !== "video/mp4" || value.originalBytes <= 0 || value.originalBytes > GENERATED_VIDEO_MAX_BYTES) {
142
+ ctx.addIssue({
143
+ code: "custom",
144
+ path: ["contentType"],
145
+ message: "generated video media metadata is invalid"
146
+ });
147
+ }
148
+ }
149
+ if (value.kind === "computer_screenshot" || value.kind === "browser_screenshot") {
150
+ if (value.retention.policy !== "session_screenshot" || !sessionMatch) {
151
+ ctx.addIssue({
152
+ code: "custom",
153
+ path: ["retention"],
154
+ message: "session screenshots require session-scoped expiring retrieval"
155
+ });
156
+ }
157
+ }
158
+ if (encoder.encode(JSON.stringify(value)).byteLength > RETAINED_OUTPUT_RECEIPT_MAX_BYTES) {
159
+ ctx.addIssue({
160
+ code: "custom",
161
+ message: "retained-output receipt exceeds its byte envelope"
162
+ });
163
+ }
164
+ })
165
+ );
166
+ var RetainedOutputEvidenceSchema = /* @__PURE__ */ defineSchema(
167
+ () => z.discriminatedUnion("available", [
168
+ RetainedOutputUnavailableEvidenceSchema,
169
+ RetainedArtifactReferenceSchema
170
+ ])
171
+ );
172
+ var RetainedArtifactUnavailableSchema = /* @__PURE__ */ defineSchema(
173
+ () => z.object({
174
+ available: z.literal(false),
175
+ artifactId: z.string().regex(LOWERCASE_UUID),
176
+ reason: RetainedOutputUnavailableReason
177
+ }).strict()
178
+ );
179
+ var RetainedArtifactMetadataSchema = /* @__PURE__ */ defineSchema(
180
+ () => z.union([RetainedArtifactReferenceSchema, RetainedArtifactUnavailableSchema])
181
+ );
182
+ function retainedSessionScreenshotKindFromObjectKey(objectKey) {
183
+ const match = /^workspaces\/[0-9a-f-]+\/files\/[0-9a-f-]+\/retained\/(session-image|computer-screenshot|screenshot|browser-screenshot)\.(png|jpg|webp)$/.exec(
184
+ objectKey
185
+ );
186
+ if (!match) return null;
187
+ return match[1] === "browser-screenshot" ? "browser_screenshot" : "computer_screenshot";
188
+ }
189
+ function retainedArtifactReferenceFromFile(file, kind = "file") {
190
+ if (file.status !== "ready" || !file.sha256) return null;
191
+ const value = {
192
+ available: true,
193
+ artifactId: file.id,
194
+ kind,
195
+ contentType: canonicalRetainedContentType(file.contentType),
196
+ originalBytes: file.sizeBytes,
197
+ sha256: file.sha256,
198
+ retainedAt: file.updatedAt,
199
+ retention: {
200
+ policy: "workspace_file",
201
+ expiresAt: null
202
+ },
203
+ retrieval: {
204
+ method: "GET",
205
+ path: `/v1/workspaces/${file.workspaceId}/artifacts/${file.id}/content`,
206
+ acceptRanges: "bytes",
207
+ maxRangeBytes: RETAINED_OUTPUT_MAX_PAGE_BYTES
208
+ }
209
+ };
210
+ const parsed = RetainedArtifactReferenceSchema.safeParse(value);
211
+ return parsed.success ? parsed.data : null;
212
+ }
213
+ function retainedScreenshotReferenceFromFile(file) {
214
+ if (file.status !== "ready" || !file.sha256 || file.sizeBytes <= 0) return null;
215
+ const value = {
216
+ available: true,
217
+ artifactId: file.id,
218
+ kind: file.kind ?? "computer_screenshot",
219
+ contentType: canonicalRetainedContentType(file.contentType),
220
+ originalBytes: file.sizeBytes,
221
+ sha256: file.sha256,
222
+ retainedAt: file.updatedAt,
223
+ dimensions: { width: file.width, height: file.height },
224
+ retention: {
225
+ policy: "session_screenshot",
226
+ expiresAt: file.expiresAt
227
+ },
228
+ retrieval: {
229
+ method: "GET",
230
+ path: `/v1/workspaces/${file.workspaceId}/sessions/${file.sessionId}/artifacts/${file.id}/content`,
231
+ acceptRanges: "bytes",
232
+ maxRangeBytes: RETAINED_OUTPUT_MAX_PAGE_BYTES
233
+ }
234
+ };
235
+ const parsed = RetainedArtifactReferenceSchema.safeParse(value);
236
+ return parsed.success ? parsed.data : null;
237
+ }
238
+ function retainedGeneratedImageReferenceFromFile(file) {
239
+ if (file.status !== "ready" || !file.sha256 || file.sizeBytes <= 0 || file.sizeBytes > GENERATED_IMAGE_MAX_BYTES) {
240
+ return null;
241
+ }
242
+ const value = {
243
+ available: true,
244
+ artifactId: file.id,
245
+ kind: "generated_image",
246
+ contentType: canonicalRetainedContentType(file.contentType),
247
+ originalBytes: file.sizeBytes,
248
+ sha256: file.sha256,
249
+ retainedAt: file.updatedAt,
250
+ dimensions: { width: file.width, height: file.height },
251
+ retention: {
252
+ policy: "workspace_file",
253
+ expiresAt: null
254
+ },
255
+ retrieval: {
256
+ method: "GET",
257
+ path: `/v1/workspaces/${file.workspaceId}/artifacts/${file.id}/content`,
258
+ acceptRanges: "bytes",
259
+ maxRangeBytes: RETAINED_OUTPUT_MAX_PAGE_BYTES
260
+ }
261
+ };
262
+ const parsed = RetainedArtifactReferenceSchema.safeParse(value);
263
+ return parsed.success ? parsed.data : null;
264
+ }
265
+ function retainedGeneratedVideoReferenceFromFile(file) {
266
+ if (file.status !== "ready" || file.contentType !== "video/mp4" || !file.sha256 || file.sizeBytes <= 0 || file.sizeBytes > GENERATED_VIDEO_MAX_BYTES) {
267
+ return null;
268
+ }
269
+ const value = {
270
+ available: true,
271
+ artifactId: file.id,
272
+ kind: "generated_video",
273
+ contentType: "video/mp4",
274
+ originalBytes: file.sizeBytes,
275
+ sha256: file.sha256,
276
+ retainedAt: file.updatedAt,
277
+ dimensions: { width: file.width, height: file.height },
278
+ retention: {
279
+ policy: "workspace_file",
280
+ expiresAt: null
281
+ },
282
+ retrieval: {
283
+ method: "GET",
284
+ path: `/v1/workspaces/${file.workspaceId}/artifacts/${file.id}/content`,
285
+ acceptRanges: "bytes",
286
+ maxRangeBytes: RETAINED_OUTPUT_MAX_PAGE_BYTES
287
+ }
288
+ };
289
+ const parsed = RetainedArtifactReferenceSchema.safeParse(value);
290
+ return parsed.success ? parsed.data : null;
291
+ }
292
+ function canonicalRetainedContentType(value) {
293
+ const mediaType = value.split(";", 1)[0]?.trim().toLowerCase() ?? "";
294
+ return CANONICAL_MEDIA_TYPE.test(mediaType) ? mediaType : "application/octet-stream";
295
+ }
296
+ function validateRetainedOutputEvidence(value) {
297
+ const parsed = RetainedOutputEvidenceSchema.safeParse(value);
298
+ return parsed.success ? parsed.data : null;
299
+ }
300
+ function retainedOutputUnavailable(reason = "not_retained") {
301
+ return { available: false, reason };
302
+ }
303
+ function resolveRetainedOutputRange(rangeHeader, totalBytes, maxPageBytes = RETAINED_OUTPUT_DEFAULT_PAGE_BYTES) {
304
+ assertRangeInputs(totalBytes, maxPageBytes);
305
+ if (rangeHeader === null || rangeHeader === void 0 || rangeHeader === "") {
306
+ if (totalBytes === 0) {
307
+ return {
308
+ kind: "empty",
309
+ length: 0,
310
+ totalBytes: 0,
311
+ status: 200,
312
+ contentRange: null,
313
+ acceptRanges: "bytes"
314
+ };
315
+ }
316
+ const end = Math.min(totalBytes - 1, maxPageBytes - 1);
317
+ const partial = end + 1 < totalBytes;
318
+ return resolvedRange(0, end, totalBytes, partial ? 206 : 200);
319
+ }
320
+ if (rangeHeader.length > 128 || /[^\x20-\x7e]/.test(rangeHeader)) {
321
+ return invalidRange("malformed", maxPageBytes);
322
+ }
323
+ if (rangeHeader.includes(",")) {
324
+ return invalidRange("multipart_not_supported", maxPageBytes);
325
+ }
326
+ const match = /^bytes=(\d*)-(\d*)$/.exec(rangeHeader);
327
+ if (!match || !match[1] && !match[2]) {
328
+ return invalidRange("malformed", maxPageBytes);
329
+ }
330
+ const first = parseRangeInteger(match[1]);
331
+ const second = parseRangeInteger(match[2]);
332
+ if (first === "overflow" || second === "overflow") {
333
+ return invalidRange("numeric_overflow", maxPageBytes);
334
+ }
335
+ if (first === null) {
336
+ const suffixLength = second;
337
+ if (suffixLength === null) return invalidRange("malformed", maxPageBytes);
338
+ if (suffixLength === 0) return unsatisfiableRange("zero_suffix", totalBytes);
339
+ if (suffixLength > maxPageBytes) return invalidRange("range_too_large", maxPageBytes);
340
+ if (totalBytes === 0) return unsatisfiableRange("empty_artifact", totalBytes);
341
+ const length = Math.min(suffixLength, totalBytes);
342
+ return resolvedRange(totalBytes - length, totalBytes - 1, totalBytes, 206);
343
+ }
344
+ if (totalBytes === 0) return unsatisfiableRange("empty_artifact", totalBytes);
345
+ if (first >= totalBytes) return unsatisfiableRange("start_out_of_bounds", totalBytes);
346
+ if (second === null) {
347
+ const end = Math.min(totalBytes - 1, first + maxPageBytes - 1);
348
+ return resolvedRange(first, end, totalBytes, 206);
349
+ }
350
+ if (second < first) return unsatisfiableRange("end_before_start", totalBytes);
351
+ if (second - first >= maxPageBytes) {
352
+ return invalidRange("range_too_large", maxPageBytes);
353
+ }
354
+ return resolvedRange(first, Math.min(second, totalBytes - 1), totalBytes, 206);
355
+ }
356
+ function assertRangeInputs(totalBytes, maxPageBytes) {
357
+ if (!Number.isSafeInteger(totalBytes) || totalBytes < 0) {
358
+ throw new RangeError("totalBytes must be a nonnegative safe integer");
359
+ }
360
+ if (!Number.isSafeInteger(maxPageBytes) || maxPageBytes <= 0 || maxPageBytes > RETAINED_OUTPUT_MAX_PAGE_BYTES) {
361
+ throw new RangeError(
362
+ `maxPageBytes must be an integer between 1 and ${RETAINED_OUTPUT_MAX_PAGE_BYTES}`
363
+ );
364
+ }
365
+ }
366
+ function parseRangeInteger(value) {
367
+ if (!value) return null;
368
+ if (value.length > 16) return "overflow";
369
+ const parsed = Number(value);
370
+ return Number.isSafeInteger(parsed) ? parsed : "overflow";
371
+ }
372
+ function resolvedRange(start, end, totalBytes, status) {
373
+ return {
374
+ kind: "range",
375
+ start,
376
+ end,
377
+ length: end - start + 1,
378
+ totalBytes,
379
+ status,
380
+ contentRange: status === 206 ? `bytes ${start}-${end}/${totalBytes}` : null,
381
+ acceptRanges: "bytes"
382
+ };
383
+ }
384
+ function invalidRange(reason, maxPageBytes) {
385
+ return { kind: "invalid", reason, maxPageBytes };
386
+ }
387
+ function unsatisfiableRange(reason, totalBytes) {
388
+ return {
389
+ kind: "unsatisfiable",
390
+ reason,
391
+ totalBytes,
392
+ contentRange: `bytes */${totalBytes}`
393
+ };
394
+ }
395
+
396
+ // src/video-generation.ts
397
+ var VIDEO_GENERATION_SCHEMA_VERSION = 1;
398
+ var SEEDANCE_2_5_MODEL_ID = "bytedance/seedance-2.5";
399
+ var GROK_IMAGINE_VIDEO_1_5_MODEL_ID = "xai/grok-imagine-video-1.5";
400
+ var VideoGenerationSourceMode = /* @__PURE__ */ defineSchema(
401
+ () => z2.enum(["text", "first_frame", "first_and_last_frames", "image_reference", "video_reference"])
402
+ );
403
+ var VideoGenerationResolution = /* @__PURE__ */ defineSchema(
404
+ () => z2.enum(["480p", "720p"])
405
+ );
406
+ var VideoGenerationFundingSource = /* @__PURE__ */ defineSchema(
407
+ () => z2.enum(["opengeni_credits", "workspace_gateway", "supergrok_subscription"])
408
+ );
409
+ var VideoGenerationAspectRatio = /* @__PURE__ */ defineSchema(
410
+ () => z2.enum(["16:9", "4:3", "1:1", "3:4", "9:16", "21:9", "adaptive"])
411
+ );
412
+ var SandboxVideoReferencePath = /* @__PURE__ */ defineSchema(
413
+ () => z2.string().min(1).max(1024).refine((value) => value.startsWith("/workspace/"), {
414
+ message: "video references must use an absolute /workspace path"
415
+ })
416
+ );
417
+ var VideoGenerationSource = /* @__PURE__ */ defineSchema(
418
+ () => z2.discriminatedUnion("mode", [
419
+ z2.object({ mode: z2.literal("text") }).strict(),
420
+ z2.object({
421
+ mode: z2.literal("first_frame"),
422
+ imagePath: SandboxVideoReferencePath
423
+ }).strict(),
424
+ z2.object({
425
+ mode: z2.literal("first_and_last_frames"),
426
+ firstFramePath: SandboxVideoReferencePath,
427
+ lastFramePath: SandboxVideoReferencePath
428
+ }).strict().refine((value) => value.firstFramePath !== value.lastFramePath, {
429
+ path: ["lastFramePath"],
430
+ message: "first and last frame paths must differ"
431
+ }),
432
+ z2.object({
433
+ mode: z2.literal("image_reference"),
434
+ imagePath: SandboxVideoReferencePath
435
+ }).strict(),
436
+ z2.object({
437
+ mode: z2.literal("video_reference"),
438
+ videoPath: SandboxVideoReferencePath
439
+ }).strict()
440
+ ])
441
+ );
442
+ var GenerateVideoToolInput = /* @__PURE__ */ defineSchema(
443
+ () => z2.object({
444
+ prompt: z2.string().min(1).max(32e3).refine((value) => value.trim().length > 0),
445
+ modelId: z2.string().min(1).max(256).optional(),
446
+ source: VideoGenerationSource.optional(),
447
+ durationSeconds: z2.number().int().min(4).max(30).optional(),
448
+ aspectRatio: VideoGenerationAspectRatio.optional(),
449
+ resolution: VideoGenerationResolution.optional(),
450
+ generateAudio: z2.boolean().optional()
451
+ }).strict()
452
+ );
453
+ var GetVideoGenerationCapabilitiesToolInput = /* @__PURE__ */ defineSchema(
454
+ () => z2.object({}).strict()
455
+ );
456
+ var VideoGenerationModelCapability = /* @__PURE__ */ defineSchema(
457
+ () => z2.object({
458
+ modelId: z2.string().min(1).max(256),
459
+ label: z2.string().min(1).max(128),
460
+ providerLabel: z2.string().min(1).max(128),
461
+ sourceModes: z2.array(VideoGenerationSourceMode).min(1).max(5),
462
+ resolutions: z2.array(VideoGenerationResolution).min(1).max(2),
463
+ aspectRatios: z2.array(VideoGenerationAspectRatio).min(1).max(7),
464
+ duration: z2.object({
465
+ minSeconds: z2.number().int().positive(),
466
+ maxSeconds: z2.number().int().positive(),
467
+ stepSeconds: z2.number().int().positive()
468
+ }).strict().refine((value) => value.maxSeconds >= value.minSeconds),
469
+ supportsAudio: z2.boolean()
470
+ }).strict()
471
+ );
472
+ var VideoGenerationCapabilities = /* @__PURE__ */ defineSchema(
473
+ () => z2.object({
474
+ schemaVersion: z2.literal(VIDEO_GENERATION_SCHEMA_VERSION),
475
+ capabilityRevision: z2.string().min(1).max(128),
476
+ defaultModelId: z2.string().min(1).max(256),
477
+ models: z2.array(VideoGenerationModelCapability).min(1).max(16)
478
+ }).strict().superRefine((value, ctx) => {
479
+ const ids = new Set(value.models.map((model) => model.modelId));
480
+ if (ids.size !== value.models.length) {
481
+ ctx.addIssue({
482
+ code: "custom",
483
+ path: ["models"],
484
+ message: "model ids must be unique"
485
+ });
486
+ }
487
+ if (!ids.has(value.defaultModelId)) {
488
+ ctx.addIssue({
489
+ code: "custom",
490
+ path: ["defaultModelId"],
491
+ message: "default model must be present in the enabled model list"
492
+ });
493
+ }
494
+ })
495
+ );
496
+ var VideoGenerationPolicy = /* @__PURE__ */ defineSchema(
497
+ () => z2.object({
498
+ schemaVersion: z2.literal(VIDEO_GENERATION_SCHEMA_VERSION),
499
+ revision: z2.number().int().nonnegative().safe(),
500
+ fundingSource: VideoGenerationFundingSource,
501
+ enabledModelIds: z2.array(z2.string().min(1).max(256)).max(16),
502
+ defaultModelId: z2.string().min(1).max(256).nullable()
503
+ }).strict().superRefine((value, ctx) => {
504
+ const ids = new Set(value.enabledModelIds);
505
+ if (ids.size !== value.enabledModelIds.length) {
506
+ ctx.addIssue({
507
+ code: "custom",
508
+ path: ["enabledModelIds"],
509
+ message: "enabled model ids must be unique"
510
+ });
511
+ }
512
+ if (value.defaultModelId !== null && !ids.has(value.defaultModelId)) {
513
+ ctx.addIssue({
514
+ code: "custom",
515
+ path: ["defaultModelId"],
516
+ message: "default model must be enabled"
517
+ });
518
+ }
519
+ })
520
+ );
521
+ var UpdateVideoGenerationPolicyRequest = /* @__PURE__ */ defineSchema(
522
+ () => z2.object({
523
+ expectedRevision: z2.number().int().nonnegative().safe(),
524
+ fundingSource: VideoGenerationFundingSource,
525
+ enabledModelIds: z2.array(z2.string().min(1).max(256)).max(16),
526
+ defaultModelId: z2.string().min(1).max(256).nullable()
527
+ }).strict()
528
+ );
529
+ var VideoGenerationFundingOption = /* @__PURE__ */ defineSchema(
530
+ () => z2.object({
531
+ source: VideoGenerationFundingSource,
532
+ label: z2.string().min(1).max(128),
533
+ description: z2.string().min(1).max(256),
534
+ available: z2.boolean(),
535
+ unavailableReason: z2.string().min(1).max(256).nullable()
536
+ }).strict().superRefine((value, ctx) => {
537
+ if (value.available !== (value.unavailableReason === null)) {
538
+ ctx.addIssue({
539
+ code: "custom",
540
+ path: ["unavailableReason"],
541
+ message: "available funding options cannot have an unavailable reason"
542
+ });
543
+ }
544
+ })
545
+ );
546
+ var WorkspaceVideoGenerationSettings = /* @__PURE__ */ defineSchema(
547
+ () => z2.object({
548
+ schemaVersion: z2.literal(VIDEO_GENERATION_SCHEMA_VERSION),
549
+ policy: VideoGenerationPolicy,
550
+ fundingOptions: z2.array(VideoGenerationFundingOption).length(3),
551
+ availableModels: z2.array(VideoGenerationModelCapability).max(16),
552
+ capabilities: VideoGenerationCapabilities.nullable()
553
+ }).strict().superRefine((value, ctx) => {
554
+ if (new Set(value.fundingOptions.map((option) => option.source)).size !== 3 || !value.fundingOptions.some((option) => option.source === "opengeni_credits") || !value.fundingOptions.some((option) => option.source === "workspace_gateway") || !value.fundingOptions.some((option) => option.source === "supergrok_subscription")) {
555
+ ctx.addIssue({
556
+ code: "custom",
557
+ path: ["fundingOptions"],
558
+ message: "all funding sources must be described exactly once"
559
+ });
560
+ }
561
+ const selected = value.fundingOptions.find(
562
+ (option) => option.source === value.policy.fundingSource
563
+ );
564
+ if (!selected) {
565
+ ctx.addIssue({
566
+ code: "custom",
567
+ path: ["fundingOptions"],
568
+ message: "the selected funding source must be described"
569
+ });
570
+ } else if (!selected.available && value.capabilities !== null) {
571
+ ctx.addIssue({
572
+ code: "custom",
573
+ path: ["capabilities"],
574
+ message: "unavailable funding cannot expose executable capabilities"
575
+ });
576
+ }
577
+ })
578
+ );
579
+ var VideoGenerationAcceptedReceipt = /* @__PURE__ */ defineSchema(
580
+ () => z2.object({
581
+ schemaVersion: z2.literal(VIDEO_GENERATION_SCHEMA_VERSION),
582
+ status: z2.literal("accepted"),
583
+ operationId: z2.string().uuid()
584
+ }).strict()
585
+ );
586
+ var VideoGenerationRejectedCode = /* @__PURE__ */ defineSchema(
587
+ () => z2.enum([
588
+ "invalid_reference_path",
589
+ "reference_not_stable",
590
+ "reference_too_large",
591
+ "reference_media_type_mismatch",
592
+ "unsupported_reference_media"
593
+ ])
594
+ );
595
+ var VideoGenerationRejectedResult = /* @__PURE__ */ defineSchema(
596
+ () => z2.object({
597
+ schemaVersion: z2.literal(VIDEO_GENERATION_SCHEMA_VERSION),
598
+ status: z2.literal("rejected"),
599
+ code: VideoGenerationRejectedCode,
600
+ message: z2.string().min(1).max(512),
601
+ operationCreated: z2.literal(false)
602
+ }).strict()
603
+ );
604
+ var VideoGenerationToolResult = /* @__PURE__ */ defineSchema(
605
+ () => z2.discriminatedUnion("status", [VideoGenerationAcceptedReceipt, VideoGenerationRejectedResult])
606
+ );
607
+ var GeneratedVideoFacts = /* @__PURE__ */ defineSchema(
608
+ () => z2.object({
609
+ durationSeconds: z2.number().positive().max(120),
610
+ width: z2.number().int().positive().max(8192),
611
+ height: z2.number().int().positive().max(8192),
612
+ fps: z2.number().positive().max(120),
613
+ hasAudio: z2.boolean(),
614
+ videoCodec: z2.literal("h264"),
615
+ audioCodec: z2.literal("aac").nullable()
616
+ }).strict()
617
+ );
618
+ var GeneratedVideoReceipt = /* @__PURE__ */ defineSchema(
619
+ () => z2.object({
620
+ type: z2.literal("generated_video"),
621
+ schemaVersion: z2.literal(VIDEO_GENERATION_SCHEMA_VERSION),
622
+ operationId: z2.string().uuid(),
623
+ artifact: RetainedArtifactReferenceSchema,
624
+ video: GeneratedVideoFacts,
625
+ sandboxPath: z2.string().max(256).regex(
626
+ /^\/workspace\/generated-videos\/generated-video-[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}\.mp4$/
627
+ )
628
+ }).strict().superRefine((value, ctx) => {
629
+ if (value.artifact.kind !== "generated_video" || value.artifact.contentType !== "video/mp4" || value.artifact.originalBytes <= 0 || value.artifact.originalBytes > GENERATED_VIDEO_MAX_BYTES || value.artifact.retention.policy !== "workspace_file" || value.artifact.retrieval.maxRangeBytes !== RETAINED_OUTPUT_MAX_PAGE_BYTES) {
630
+ ctx.addIssue({
631
+ code: "custom",
632
+ path: ["artifact"],
633
+ message: "generated-video artifact metadata is invalid"
634
+ });
635
+ }
636
+ if (value.artifact.dimensions?.width !== value.video.width || value.artifact.dimensions?.height !== value.video.height) {
637
+ ctx.addIssue({
638
+ code: "custom",
639
+ path: ["video"],
640
+ message: "video dimensions must match the retained artifact"
641
+ });
642
+ }
643
+ if (value.sandboxPath !== `/workspace/generated-videos/generated-video-${value.artifact.artifactId}.mp4`) {
644
+ ctx.addIssue({
645
+ code: "custom",
646
+ path: ["sandboxPath"],
647
+ message: "generated-video sandbox path does not match its artifact"
648
+ });
649
+ }
650
+ })
651
+ );
652
+ var VideoGenerationTerminalFailureStatus = /* @__PURE__ */ defineSchema(
653
+ () => z2.enum(["provider_failed", "retention_failed", "cancelled_before_submit", "outcome_unknown"])
654
+ );
655
+ var MediaGenerationResult = /* @__PURE__ */ defineSchema(
656
+ () => z2.discriminatedUnion("status", [
657
+ z2.object({
658
+ type: z2.literal("media_generation_result"),
659
+ schemaVersion: z2.literal(VIDEO_GENERATION_SCHEMA_VERSION),
660
+ status: z2.literal("ready"),
661
+ operationId: z2.string().uuid(),
662
+ receipt: GeneratedVideoReceipt
663
+ }).strict().refine((value) => value.receipt.operationId === value.operationId, {
664
+ path: ["receipt", "operationId"],
665
+ message: "terminal receipt must match its operation"
666
+ }),
667
+ z2.object({
668
+ type: z2.literal("media_generation_result"),
669
+ schemaVersion: z2.literal(VIDEO_GENERATION_SCHEMA_VERSION),
670
+ status: VideoGenerationTerminalFailureStatus,
671
+ operationId: z2.string().uuid(),
672
+ boundedPublicReason: z2.string().min(1).max(1e3)
673
+ }).strict()
674
+ ])
675
+ );
676
+ var VideoGenerationPublicStatus = /* @__PURE__ */ defineSchema(
677
+ () => z2.enum([
678
+ "preparing",
679
+ "prepared",
680
+ "accepted",
681
+ "provider_started",
682
+ "retaining",
683
+ "completed",
684
+ "provider_failed",
685
+ "cancelled_before_submit",
686
+ "outcome_unknown",
687
+ "retention_failed"
688
+ ])
689
+ );
690
+ var VideoGenerationOperationSummary = /* @__PURE__ */ defineSchema(
691
+ () => z2.object({
692
+ schemaVersion: z2.literal(VIDEO_GENERATION_SCHEMA_VERSION),
693
+ operationId: z2.string().uuid(),
694
+ modelId: z2.string().min(1).max(256),
695
+ status: VideoGenerationPublicStatus,
696
+ createdAt: z2.string().datetime({ offset: true }),
697
+ updatedAt: z2.string().datetime({ offset: true }),
698
+ terminal: MediaGenerationResult.nullable()
699
+ }).strict()
700
+ );
701
+ var VideoArtifactPlaybackSource = /* @__PURE__ */ defineSchema(
702
+ () => z2.object({
703
+ schemaVersion: z2.literal(VIDEO_GENERATION_SCHEMA_VERSION),
704
+ artifactId: z2.string().uuid(),
705
+ url: z2.string().url().max(8192),
706
+ expiresAt: z2.string().datetime({ offset: true }),
707
+ contentType: z2.literal("video/mp4"),
708
+ sizeBytes: z2.number().int().positive().max(GENERATED_VIDEO_MAX_BYTES),
709
+ sha256: z2.string().regex(/^[0-9a-f]{64}$/),
710
+ acceptRanges: z2.literal("bytes")
711
+ }).strict()
712
+ );
713
+
714
+ export {
715
+ RETAINED_OUTPUT_MAX_PAGE_BYTES,
716
+ RETAINED_OUTPUT_DEFAULT_PAGE_BYTES,
717
+ RETAINED_OUTPUT_RECEIPT_MAX_BYTES,
718
+ COMPUTER_SCREENSHOT_MAX_BYTES,
719
+ COMPUTER_SCREENSHOT_MAX_DIMENSION,
720
+ COMPUTER_SCREENSHOT_MAX_PIXELS,
721
+ COMPUTER_SCREENSHOT_RETENTION_MS,
722
+ COMPUTER_SCREENSHOT_WORKSPACE_QUOTA_BYTES,
723
+ GENERATED_IMAGE_MAX_BYTES,
724
+ GENERATED_VIDEO_MAX_BYTES,
725
+ RetainedOutputKind,
726
+ RetainedOutputUnavailableReason,
727
+ RetainedArtifactReferenceSchema,
728
+ RetainedOutputEvidenceSchema,
729
+ RetainedArtifactUnavailableSchema,
730
+ RetainedArtifactMetadataSchema,
731
+ retainedSessionScreenshotKindFromObjectKey,
732
+ retainedArtifactReferenceFromFile,
733
+ retainedScreenshotReferenceFromFile,
734
+ retainedGeneratedImageReferenceFromFile,
735
+ retainedGeneratedVideoReferenceFromFile,
736
+ validateRetainedOutputEvidence,
737
+ retainedOutputUnavailable,
738
+ resolveRetainedOutputRange,
739
+ VIDEO_GENERATION_SCHEMA_VERSION,
740
+ SEEDANCE_2_5_MODEL_ID,
741
+ GROK_IMAGINE_VIDEO_1_5_MODEL_ID,
742
+ VideoGenerationSourceMode,
743
+ VideoGenerationResolution,
744
+ VideoGenerationFundingSource,
745
+ VideoGenerationAspectRatio,
746
+ VideoGenerationSource,
747
+ GenerateVideoToolInput,
748
+ GetVideoGenerationCapabilitiesToolInput,
749
+ VideoGenerationModelCapability,
750
+ VideoGenerationCapabilities,
751
+ VideoGenerationPolicy,
752
+ UpdateVideoGenerationPolicyRequest,
753
+ VideoGenerationFundingOption,
754
+ WorkspaceVideoGenerationSettings,
755
+ VideoGenerationAcceptedReceipt,
756
+ VideoGenerationRejectedCode,
757
+ VideoGenerationRejectedResult,
758
+ VideoGenerationToolResult,
759
+ GeneratedVideoFacts,
760
+ GeneratedVideoReceipt,
761
+ VideoGenerationTerminalFailureStatus,
762
+ MediaGenerationResult,
763
+ VideoGenerationPublicStatus,
764
+ VideoGenerationOperationSummary,
765
+ VideoArtifactPlaybackSource
766
+ };
767
+ //# sourceMappingURL=chunk-EFZYKUE2.js.map