@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,116 @@
1
+ import { z } from "zod";
2
+ /**
3
+ * The product surface through which a turn's request entered Opengeni.
4
+ *
5
+ * - `web`: the Opengeni web app (managed cookie or the local browser context).
6
+ * - `slack`: a Slack mention, command, DM, shortcut, thread reply, or reaction.
7
+ * - `api_key`: an API key or configured key, including the SDK and scripts.
8
+ * - `embedded`: a host that embeds Opengeni through signed delegation or an
9
+ * organization key acting for an external user.
10
+ * - `scheduled`: a scheduled-task occurrence.
11
+ * - `agent`: another agent (a child session, an agent message, or Agent Steer).
12
+ * - `voice`: a realtime voice delegation or its end-of-call handoff.
13
+ * - `site`: a published workspace Site.
14
+ * - `automation`: an event-triggered automation run.
15
+ * - `mcp`: an external MCP client connected through workspace MCP OAuth.
16
+ * - `system`: Opengeni's own maintenance work with no human entry.
17
+ *
18
+ * Turns that no new request entered (goal continuations, child results,
19
+ * command results, wait timeouts, compaction) inherit the surface of the
20
+ * session's latest started turn. Null means no surface was captured: rows
21
+ * written before capture existed, or machine work in a session that has
22
+ * never started a turn with one.
23
+ */
24
+ export declare const SESSION_TURN_SURFACES: readonly ["web", "slack", "api_key", "embedded", "scheduled", "agent", "voice", "site", "automation", "mcp", "system"];
25
+ export declare const SessionTurnSurface: z.ZodEnum<{
26
+ agent: "agent";
27
+ api_key: "api_key";
28
+ automation: "automation";
29
+ embedded: "embedded";
30
+ mcp: "mcp";
31
+ scheduled: "scheduled";
32
+ site: "site";
33
+ slack: "slack";
34
+ system: "system";
35
+ voice: "voice";
36
+ web: "web";
37
+ }>;
38
+ export type SessionTurnSurface = z.infer<typeof SessionTurnSurface>;
39
+ /**
40
+ * Request header the first-party web console sends while its tab is visible
41
+ * and the person interacted with it in the last few minutes. The API records
42
+ * server-side presence (`opengeni_active_users`, `user.active`) only for
43
+ * canonical managed browser sessions carrying this exact value, so an idle open
44
+ * tab, background polling and stream re-authorization never count as activity.
45
+ * Analytics only: it never grants or narrows access.
46
+ */
47
+ export declare const OPENGENI_USER_ACTIVITY_HEADER = "x-opengeni-user-activity";
48
+ export declare const OPENGENI_USER_ACTIVITY_ACTIVE = "active";
49
+ /** Interaction recency, in milliseconds, behind the activity header. */
50
+ export declare const OPENGENI_USER_ACTIVITY_WINDOW_MS: number;
51
+ /** Parse a stored value; anything outside the fixed list is treated as absent. */
52
+ export declare function sessionTurnSurfaceOrNull(value: unknown): SessionTurnSurface | null;
53
+ /**
54
+ * Model provider families exported for analytics. Reserved Opengeni provider
55
+ * ids pass through unchanged; every operator-configured registry provider is
56
+ * reported as `registry` so a deployment's own naming never leaves it.
57
+ * `opengeni_private.analytics_model_provider` (migration 0533) mirrors this.
58
+ */
59
+ export declare const ANALYTICS_MODEL_PROVIDERS: readonly ["openai", "azure", "codex-subscription", "supergrok-subscription", "opengeni-gateway", "workspace-gateway", "organization-gateway", "openrouter", "workspace-openrouter", "organization-openrouter", "opper", "workspace-opper", "organization-opper", "registry"];
60
+ export declare const AnalyticsModelProvider: z.ZodEnum<{
61
+ azure: "azure";
62
+ "codex-subscription": "codex-subscription";
63
+ openai: "openai";
64
+ "opengeni-gateway": "opengeni-gateway";
65
+ openrouter: "openrouter";
66
+ opper: "opper";
67
+ "organization-gateway": "organization-gateway";
68
+ "organization-openrouter": "organization-openrouter";
69
+ "organization-opper": "organization-opper";
70
+ registry: "registry";
71
+ "supergrok-subscription": "supergrok-subscription";
72
+ "workspace-gateway": "workspace-gateway";
73
+ "workspace-openrouter": "workspace-openrouter";
74
+ "workspace-opper": "workspace-opper";
75
+ }>;
76
+ export type AnalyticsModelProvider = z.infer<typeof AnalyticsModelProvider>;
77
+ /** Map an accepted turn's execution-policy provider id to its analytics family. */
78
+ export declare function analyticsModelProvider(providerId: string | null | undefined): AnalyticsModelProvider | null;
79
+ /**
80
+ * Tool family on a tool-call fact: an Opengeni first-party tool name,
81
+ * `integration:<catalog domain>` for a reviewed catalog integration, or
82
+ * `custom` for any other MCP server (a workspace's own server, a self-hosted
83
+ * provider, or an unreviewed catalog entry). The domain part is limited to
84
+ * {@link TOOL_FAMILY_INTEGRATION_DOMAINS}, so a tenant's own host name is
85
+ * never exported.
86
+ */
87
+ export declare const ToolFamily: z.ZodString;
88
+ export type ToolFamily = z.infer<typeof ToolFamily>;
89
+ /**
90
+ * Reviewed integration domains that may appear as `integration:<domain>`:
91
+ * Opengeni's native provider domains plus the MCP host of every curated
92
+ * catalog entry (`data/catalog/curated.json`). A test keeps the curated part
93
+ * in sync. Any other domain is reported as `custom`.
94
+ */
95
+ export declare const TOOL_FAMILY_INTEGRATION_DOMAINS: readonly ["github.com", "gitlab.com", "dev.azure.com", "slack.com", "chatgpt.com", "x.com", "reddit.com", "fiken.no", "api.atlassian.com", "googleapis.com", "gmailmcp.googleapis.com", "mcp.slack.com", "api.mobbin.com", "mcp.linear.app", "mcp.asana.com", "mcp.stripe.com", "mcp.figma.com", "mcp.canva.com", "mcp.sentry.dev", "mcp.vercel.com", "bindings.mcp.cloudflare.com", "mcp.paypal.com", "mcp.monday.com", "mcp.airtable.com", "mcp.zapier.com", "mcp.webflow.com", "mcp.supabase.com", "mcp.clickup.com", "mcp.calendly.com", "mcp.box.com", "mcp.dropbox.com", "mcp.amplitude.com", "mcp.posthog.com", "mcp.pagerduty.com", "mcp.apollo.io", "api.ahrefs.com", "mcp.semrush.com", "mcp.frontapp.com", "mcp.otter.ai", "mcp.notion.com", "mcp.hubspot.com", "mcp.atlassian.com", "mcp.intercom.com"];
96
+ /**
97
+ * Tool family for an MCP server that is not first-party. The first candidate
98
+ * domain on the reviewed list wins; otherwise the server is `custom`.
99
+ */
100
+ export declare function integrationToolFamily(candidateDomains: readonly (string | null | undefined)[]): ToolFamily;
101
+ /**
102
+ * First-party tools the runtime exposes outside any MCP server: base sandbox
103
+ * and runtime tools, progressive-disclosure routers, media generation, and
104
+ * provider-hosted tool calls as the event stream names them.
105
+ */
106
+ export declare const FIRST_PARTY_FUNCTION_TOOL_FAMILY_NAMES: readonly ["exec_command", "write_stdin", "view_image", "apply_patch", "skill_read", "repository_skill_read", "request_human_input", "list_models", "code_search", "tool_search", "tool_list", "tool_invoke", "generate_image", "generate_video", "get_video_generation_capabilities", "computer_screenshot", "web_search_call", "image_generation_call", "code_interpreter_call", "file_search_call", "computer_call", "local_shell_call", "shell_call", "apply_patch_call"];
107
+ /**
108
+ * First-party tools served by in-process attempt definitions or the dedicated
109
+ * `files` server rather than the public `opengeni` MCP catalog.
110
+ */
111
+ export declare const FIRST_PARTY_ATTEMPT_TOOL_FAMILY_NAMES: readonly ["skill_checkout", "skill_publish", "skill_install", "skill_remove", "skill_save", "skill_search", "operation_read", "knowledge_source_fetch", "knowledge_source_read", "files_get_download_url"];
112
+ /**
113
+ * Opengeni's in-process integration tools that are not registry MCP servers,
114
+ * keyed by their catalog server id, with the provider domain they act on.
115
+ */
116
+ export declare const IN_PROCESS_INTEGRATION_TOOL_FAMILY_DOMAINS: Readonly<Record<string, string>>;
@@ -0,0 +1,73 @@
1
+ /**
2
+ * Content-free per-person product lifecycle facts.
3
+ *
4
+ * Migration `0532_product_lifecycle_fact_export.sql` captures one fact per
5
+ * product change with row triggers and writes it to the durable host export as
6
+ * the `lifecycle_fact` kind; `0565_usage_analytics_presence_and_facts.sql` adds
7
+ * `user.active`, `credits.granted` and `connection.revoked`. Every value is drawn from a fixed list; the
8
+ * database function `opengeni_private.product_lifecycle_fact_valid` enforces
9
+ * the same lists and a test keeps the two copies identical.
10
+ */
11
+ /**
12
+ * Closed class of a positive credit grant (`grant` or `manual_credit_grant`
13
+ * ledger row). `opengeni_private.credit_grant_class` mirrors this mapping:
14
+ * - `signup_trial`: the one-time verified-signup trial (source `verified_signup_trial`).
15
+ * - `coupon`: a fully discounted Stripe checkout (source `stripe_checkout_coupon`).
16
+ * - `manual`: an operator grant (`manual_credit_grant` or source `operator_adjustment`).
17
+ * - `other`: any other grant source.
18
+ */
19
+ export declare const CREDIT_GRANT_CLASSES: readonly ["signup_trial", "coupon", "manual", "other"];
20
+ export type CreditGrantClass = (typeof CREDIT_GRANT_CLASSES)[number];
21
+ /** Each fact type and the fixed values its `attribute` may carry. */
22
+ export declare const PRODUCT_LIFECYCLE_FACT_ATTRIBUTES: {
23
+ /** A managed account was created. Attribute: first sign-in method. */
24
+ readonly "auth.sign_up": readonly ["email", "google", "github", "other"];
25
+ /**
26
+ * The account email became verified: by the verification link, or at
27
+ * creation when a social provider already verified it.
28
+ */
29
+ readonly "auth.email_verified": readonly [];
30
+ /** A live sign-in session was created. Attribute: method of that session. */
31
+ readonly "auth.sign_in": readonly ["email", "google", "github", "other"];
32
+ /** An organization was created by self-service setup or as an additional one. */
33
+ readonly "organization.setup": readonly ["created", "additional"];
34
+ /** A model subscription or organization model provider was connected. */
35
+ readonly "model.connected": readonly ["codex", "supergrok", "vercel_gateway", "openrouter", "anthropic", "claude_subscription", "opper"];
36
+ /** A credit top-up payment was granted. */
37
+ readonly "credits.purchased": readonly [];
38
+ /** Credits were granted without a purchase. Attribute: grant class. */
39
+ readonly "credits.granted": readonly ["signup_trial", "coupon", "manual", "other"];
40
+ /** An integration connection was created. Attribute: provider class. */
41
+ readonly "connection.created": readonly ["slack", "github", "gitlab", "azure_devops", "bitbucket", "google", "microsoft", "linear", "atlassian", "notion", "supabase", "datadog", "posthog", "openai", "x", "other"];
42
+ /**
43
+ * An integration connection was revoked, or deleted while still live.
44
+ * Attribute: provider class, the same list as `connection.created`.
45
+ */
46
+ readonly "connection.revoked": readonly ["slack", "github", "gitlab", "azure_devops", "bitbucket", "google", "microsoft", "linear", "atlassian", "notion", "supabase", "datadog", "posthog", "openai", "x", "other"];
47
+ readonly "scheduled_task.created": readonly [];
48
+ /** A catalog Skill was installed into a workspace. */
49
+ readonly "skill.installed": readonly [];
50
+ /** A Slack user was linked to an Opengeni user. */
51
+ readonly "slack.user_linked": readonly [];
52
+ /** A new Connected Machine was enrolled. */
53
+ readonly "machine.enrolled": readonly [];
54
+ /** A person became an active member of an organization that already had one. */
55
+ readonly "member.joined": readonly [];
56
+ /**
57
+ * A managed person was active in an authenticated browser session on a new
58
+ * UTC day: at most one fact per person per UTC day, with no organization.
59
+ */
60
+ readonly "user.active": readonly [];
61
+ };
62
+ export type ProductLifecycleFactType = keyof typeof PRODUCT_LIFECYCLE_FACT_ATTRIBUTES;
63
+ export declare const PRODUCT_LIFECYCLE_FACT_TYPES: ProductLifecycleFactType[];
64
+ /**
65
+ * What kind of subject caused the fact. Only `user` and `api_key` facts carry
66
+ * their opaque subject id; every other subject string is reduced to its kind
67
+ * because embedded hosts may put their own identifiers in it.
68
+ */
69
+ export declare const PRODUCT_LIFECYCLE_SUBJECT_KINDS: readonly ["user", "api_key", "service", "other", "none"];
70
+ export type ProductLifecycleSubjectKind = (typeof PRODUCT_LIFECYCLE_SUBJECT_KINDS)[number];
71
+ /** Pseudonymous subject ids that may leave the database. */
72
+ export declare const PRODUCT_LIFECYCLE_SUBJECT_ID_PATTERN: RegExp;
73
+ export declare function isProductLifecycleFact(type: string, attribute: string | null): boolean;
@@ -22,8 +22,8 @@ export declare const RememberScope: z.ZodEnum<{
22
22
  export type RememberScope = z.infer<typeof RememberScope>;
23
23
  /**
24
24
  * Ceiling for the Knowledge lane, which is retrieval evidence rather than
25
- * always-composed prompt text. The prompt-composed lanes are bounded far more
26
- * tightly: see `AGENT_AUTHORED_INSTRUCTION_POLICY_CONTENT_MAX_CHARS` and
25
+ * always-composed prompt text. Other lanes have their own destination bounds:
26
+ * see `AGENT_AUTHORED_INSTRUCTION_POLICY_CONTENT_MAX_CHARS` and
27
27
  * `AGENT_AUTHORED_PREFERENCE_CONTENT_MAX_CHARS`.
28
28
  */
29
29
  export declare const REMEMBER_CONTENT_MAX_CHARS = 4000;
@@ -82,24 +82,70 @@ export declare const RememberHumanInputPrompt: z.ZodObject<{
82
82
  id: z.ZodString;
83
83
  kind: z.ZodEnum<{
84
84
  multi_select: "multi_select";
85
+ secret: "secret";
85
86
  single_select: "single_select";
86
87
  text: "text";
87
88
  }>;
88
89
  prompt: z.ZodString;
89
90
  label: z.ZodOptional<z.ZodNullable<z.ZodString>>;
90
91
  helpText: z.ZodOptional<z.ZodNullable<z.ZodString>>;
91
- skillReview: z.ZodOptional<z.ZodObject<{
92
+ skillReview: z.ZodOptional<z.ZodNullable<z.ZodObject<{
93
+ removalOperationId: z.ZodOptional<z.ZodUUID>;
92
94
  sourceOperationId: z.ZodUUID;
93
95
  skillId: z.ZodUUID;
94
96
  revisionId: z.ZodUUID;
95
97
  expectedRevisionId: z.ZodNullable<z.ZodUUID>;
96
98
  expectedScopeVersion: z.ZodNumber;
97
- }, z.core.$strip>>;
99
+ }, z.core.$strip>>>;
98
100
  options: z.ZodDefault<z.ZodArray<z.ZodObject<{
99
101
  id: z.ZodString;
100
102
  label: z.ZodString;
101
103
  description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
102
104
  }, z.core.$strip>>>;
105
+ secret: z.ZodOptional<z.ZodNullable<z.ZodObject<{
106
+ item: z.ZodString;
107
+ field: z.ZodDefault<z.ZodString>;
108
+ fieldKind: z.ZodDefault<z.ZodEnum<{
109
+ concealed: "concealed";
110
+ text: "text";
111
+ totp: "totp";
112
+ }>>;
113
+ itemType: z.ZodDefault<z.ZodEnum<{
114
+ api_key: "api_key";
115
+ login: "login";
116
+ note: "note";
117
+ }>>;
118
+ username: z.ZodOptional<z.ZodNullable<z.ZodObject<{
119
+ prompt: z.ZodString;
120
+ value: z.ZodOptional<z.ZodNullable<z.ZodString>>;
121
+ }, z.core.$strict>>>;
122
+ website: z.ZodOptional<z.ZodNullable<z.ZodString>>;
123
+ looksLike: z.ZodOptional<z.ZodNullable<z.ZodString>>;
124
+ pattern: z.ZodOptional<z.ZodNullable<z.ZodString>>;
125
+ saveTo: z.ZodDefault<z.ZodEnum<{
126
+ task: "task";
127
+ user: "user";
128
+ workspace: "workspace";
129
+ }>>;
130
+ vault: z.ZodOptional<z.ZodNullable<z.ZodString>>;
131
+ allowGenerate: z.ZodDefault<z.ZodBoolean>;
132
+ generate: z.ZodOptional<z.ZodNullable<z.ZodObject<{
133
+ length: z.ZodDefault<z.ZodNumber>;
134
+ lowercase: z.ZodDefault<z.ZodBoolean>;
135
+ uppercase: z.ZodDefault<z.ZodBoolean>;
136
+ digits: z.ZodDefault<z.ZodBoolean>;
137
+ symbols: z.ZodDefault<z.ZodBoolean>;
138
+ symbolSet: z.ZodDefault<z.ZodString>;
139
+ excludeAmbiguous: z.ZodDefault<z.ZodBoolean>;
140
+ requireEachClass: z.ZodDefault<z.ZodBoolean>;
141
+ }, z.core.$strict>>>;
142
+ autocomplete: z.ZodDefault<z.ZodEnum<{
143
+ "current-password": "current-password";
144
+ "new-password": "new-password";
145
+ off: "off";
146
+ "one-time-code": "one-time-code";
147
+ }>>;
148
+ }, z.core.$strict>>>;
103
149
  required: z.ZodDefault<z.ZodBoolean>;
104
150
  allowOther: z.ZodDefault<z.ZodBoolean>;
105
151
  validation: z.ZodOptional<z.ZodNullable<z.ZodObject<{
@@ -272,24 +318,70 @@ export declare const RememberReceipt: z.ZodDiscriminatedUnion<[z.ZodObject<{
272
318
  id: z.ZodString;
273
319
  kind: z.ZodEnum<{
274
320
  multi_select: "multi_select";
321
+ secret: "secret";
275
322
  single_select: "single_select";
276
323
  text: "text";
277
324
  }>;
278
325
  prompt: z.ZodString;
279
326
  label: z.ZodOptional<z.ZodNullable<z.ZodString>>;
280
327
  helpText: z.ZodOptional<z.ZodNullable<z.ZodString>>;
281
- skillReview: z.ZodOptional<z.ZodObject<{
328
+ skillReview: z.ZodOptional<z.ZodNullable<z.ZodObject<{
329
+ removalOperationId: z.ZodOptional<z.ZodUUID>;
282
330
  sourceOperationId: z.ZodUUID;
283
331
  skillId: z.ZodUUID;
284
332
  revisionId: z.ZodUUID;
285
333
  expectedRevisionId: z.ZodNullable<z.ZodUUID>;
286
334
  expectedScopeVersion: z.ZodNumber;
287
- }, z.core.$strip>>;
335
+ }, z.core.$strip>>>;
288
336
  options: z.ZodDefault<z.ZodArray<z.ZodObject<{
289
337
  id: z.ZodString;
290
338
  label: z.ZodString;
291
339
  description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
292
340
  }, z.core.$strip>>>;
341
+ secret: z.ZodOptional<z.ZodNullable<z.ZodObject<{
342
+ item: z.ZodString;
343
+ field: z.ZodDefault<z.ZodString>;
344
+ fieldKind: z.ZodDefault<z.ZodEnum<{
345
+ concealed: "concealed";
346
+ text: "text";
347
+ totp: "totp";
348
+ }>>;
349
+ itemType: z.ZodDefault<z.ZodEnum<{
350
+ api_key: "api_key";
351
+ login: "login";
352
+ note: "note";
353
+ }>>;
354
+ username: z.ZodOptional<z.ZodNullable<z.ZodObject<{
355
+ prompt: z.ZodString;
356
+ value: z.ZodOptional<z.ZodNullable<z.ZodString>>;
357
+ }, z.core.$strict>>>;
358
+ website: z.ZodOptional<z.ZodNullable<z.ZodString>>;
359
+ looksLike: z.ZodOptional<z.ZodNullable<z.ZodString>>;
360
+ pattern: z.ZodOptional<z.ZodNullable<z.ZodString>>;
361
+ saveTo: z.ZodDefault<z.ZodEnum<{
362
+ task: "task";
363
+ user: "user";
364
+ workspace: "workspace";
365
+ }>>;
366
+ vault: z.ZodOptional<z.ZodNullable<z.ZodString>>;
367
+ allowGenerate: z.ZodDefault<z.ZodBoolean>;
368
+ generate: z.ZodOptional<z.ZodNullable<z.ZodObject<{
369
+ length: z.ZodDefault<z.ZodNumber>;
370
+ lowercase: z.ZodDefault<z.ZodBoolean>;
371
+ uppercase: z.ZodDefault<z.ZodBoolean>;
372
+ digits: z.ZodDefault<z.ZodBoolean>;
373
+ symbols: z.ZodDefault<z.ZodBoolean>;
374
+ symbolSet: z.ZodDefault<z.ZodString>;
375
+ excludeAmbiguous: z.ZodDefault<z.ZodBoolean>;
376
+ requireEachClass: z.ZodDefault<z.ZodBoolean>;
377
+ }, z.core.$strict>>>;
378
+ autocomplete: z.ZodDefault<z.ZodEnum<{
379
+ "current-password": "current-password";
380
+ "new-password": "new-password";
381
+ off: "off";
382
+ "one-time-code": "one-time-code";
383
+ }>>;
384
+ }, z.core.$strict>>>;
293
385
  required: z.ZodDefault<z.ZodBoolean>;
294
386
  allowOther: z.ZodDefault<z.ZodBoolean>;
295
387
  validation: z.ZodOptional<z.ZodNullable<z.ZodObject<{
@@ -19,6 +19,7 @@ export declare const GENERATED_IMAGE_MAX_BYTES: number;
19
19
  export declare const GENERATED_VIDEO_MAX_BYTES: number;
20
20
  export declare const RetainedOutputKind: z.ZodEnum<{
21
21
  assistant_completion: "assistant_completion";
22
+ browser_screenshot: "browser_screenshot";
22
23
  computer_screenshot: "computer_screenshot";
23
24
  event_media: "event_media";
24
25
  file: "file";
@@ -47,6 +48,7 @@ export declare const RetainedArtifactReferenceSchema: z.ZodObject<{
47
48
  artifactId: z.ZodString;
48
49
  kind: z.ZodEnum<{
49
50
  assistant_completion: "assistant_completion";
51
+ browser_screenshot: "browser_screenshot";
50
52
  computer_screenshot: "computer_screenshot";
51
53
  event_media: "event_media";
52
54
  file: "file";
@@ -104,6 +106,7 @@ export declare const RetainedOutputEvidenceSchema: z.ZodDiscriminatedUnion<[z.Zo
104
106
  artifactId: z.ZodString;
105
107
  kind: z.ZodEnum<{
106
108
  assistant_completion: "assistant_completion";
109
+ browser_screenshot: "browser_screenshot";
107
110
  computer_screenshot: "computer_screenshot";
108
111
  event_media: "event_media";
109
112
  file: "file";
@@ -162,6 +165,7 @@ export declare const RetainedArtifactMetadataSchema: z.ZodUnion<readonly [z.ZodO
162
165
  artifactId: z.ZodString;
163
166
  kind: z.ZodEnum<{
164
167
  assistant_completion: "assistant_completion";
168
+ browser_screenshot: "browser_screenshot";
165
169
  computer_screenshot: "computer_screenshot";
166
170
  event_media: "event_media";
167
171
  file: "file";
@@ -223,7 +227,11 @@ export type RetainedScreenshotArtifactInput = RetainedArtifactFileInput & {
223
227
  width: number;
224
228
  height: number;
225
229
  expiresAt: string;
230
+ kind?: "computer_screenshot" | "browser_screenshot";
226
231
  };
232
+ export type RetainedSessionScreenshotKind = "computer_screenshot" | "browser_screenshot";
233
+ /** The persisted, server-authored storage key distinguishes browser captures from legacy computer captures. */
234
+ export declare function retainedSessionScreenshotKindFromObjectKey(objectKey: string): RetainedSessionScreenshotKind | null;
227
235
  export type RetainedGeneratedImageArtifactInput = RetainedArtifactFileInput & {
228
236
  width: number;
229
237
  height: number;
@@ -22,6 +22,7 @@ export declare const SandboxFileArtifactReceipt: z.ZodObject<{
22
22
  artifactId: z.ZodString;
23
23
  kind: z.ZodEnum<{
24
24
  assistant_completion: "assistant_completion";
25
+ browser_screenshot: "browser_screenshot";
25
26
  computer_screenshot: "computer_screenshot";
26
27
  event_media: "event_media";
27
28
  file: "file";
@@ -1,7 +1,7 @@
1
1
  import { z } from "zod";
2
2
  /** Provider-owned execution identity and acknowledged output cursors. These
3
3
  * values are retained by the control plane, never recovered from sandbox files. */
4
- export declare const SandboxProviderCommand: z.ZodObject<{
4
+ export declare const ModalLegacyProviderCommand: z.ZodObject<{
5
5
  kind: z.ZodLiteral<"modal-control-v1">;
6
6
  sandboxId: z.ZodString;
7
7
  taskId: z.ZodString;
@@ -20,4 +20,94 @@ export declare const SandboxProviderCommand: z.ZodObject<{
20
20
  }, z.core.$strict>;
21
21
  }, z.core.$strict>;
22
22
  }, z.core.$strict>;
23
+ export type ModalLegacyProviderCommand = z.infer<typeof ModalLegacyProviderCommand>;
24
+ export declare const CommandSupervisionDescriptor: z.ZodObject<{
25
+ protocol: z.ZodLiteral<"native-subreaper-v1">;
26
+ invocationId: z.ZodString;
27
+ nonce: z.ZodString;
28
+ controlPath: z.ZodString;
29
+ }, z.core.$strict>;
30
+ export type CommandSupervisionDescriptor = z.infer<typeof CommandSupervisionDescriptor>;
31
+ export declare const CommandSupervisionReceipt: z.ZodObject<{
32
+ protocol: z.ZodLiteral<"native-subreaper-v1">;
33
+ invocationId: z.ZodString;
34
+ receiptId: z.ZodString;
35
+ leaderExitCode: z.ZodNumber;
36
+ }, z.core.$strict>;
37
+ export type CommandSupervisionReceipt = z.infer<typeof CommandSupervisionReceipt>;
38
+ export declare const ModalRouterProviderCommand: z.ZodObject<{
39
+ kind: z.ZodLiteral<"modal-router-v1">;
40
+ sandboxId: z.ZodString;
41
+ taskId: z.ZodString;
42
+ execId: z.ZodString;
43
+ pty: z.ZodOptional<z.ZodBoolean>;
44
+ supervision: z.ZodOptional<z.ZodObject<{
45
+ protocol: z.ZodLiteral<"native-subreaper-v1">;
46
+ invocationId: z.ZodString;
47
+ nonce: z.ZodString;
48
+ controlPath: z.ZodString;
49
+ }, z.core.$strict>>;
50
+ streams: z.ZodObject<{
51
+ stdout: z.ZodObject<{
52
+ byteOffset: z.ZodNumber;
53
+ utf8Remainder: z.ZodString;
54
+ eof: z.ZodBoolean;
55
+ exitCode: z.ZodNullable<z.ZodNumber>;
56
+ }, z.core.$strict>;
57
+ stderr: z.ZodObject<{
58
+ byteOffset: z.ZodNumber;
59
+ utf8Remainder: z.ZodString;
60
+ eof: z.ZodBoolean;
61
+ exitCode: z.ZodNullable<z.ZodNumber>;
62
+ }, z.core.$strict>;
63
+ }, z.core.$strict>;
64
+ }, z.core.$strict>;
65
+ export type ModalRouterProviderCommand = z.infer<typeof ModalRouterProviderCommand>;
66
+ /** Legacy locators are read-only compatibility for already launched commands;
67
+ * new starts use authenticated task-router byte offsets, never batch indices. */
68
+ export declare const SandboxProviderCommand: z.ZodDiscriminatedUnion<[z.ZodObject<{
69
+ kind: z.ZodLiteral<"modal-control-v1">;
70
+ sandboxId: z.ZodString;
71
+ taskId: z.ZodString;
72
+ execId: z.ZodString;
73
+ pty: z.ZodOptional<z.ZodBoolean>;
74
+ streams: z.ZodObject<{
75
+ stdout: z.ZodObject<{
76
+ batchIndex: z.ZodNumber;
77
+ utf8Remainder: z.ZodString;
78
+ exitCode: z.ZodNullable<z.ZodNumber>;
79
+ }, z.core.$strict>;
80
+ stderr: z.ZodObject<{
81
+ batchIndex: z.ZodNumber;
82
+ utf8Remainder: z.ZodString;
83
+ exitCode: z.ZodNullable<z.ZodNumber>;
84
+ }, z.core.$strict>;
85
+ }, z.core.$strict>;
86
+ }, z.core.$strict>, z.ZodObject<{
87
+ kind: z.ZodLiteral<"modal-router-v1">;
88
+ sandboxId: z.ZodString;
89
+ taskId: z.ZodString;
90
+ execId: z.ZodString;
91
+ pty: z.ZodOptional<z.ZodBoolean>;
92
+ supervision: z.ZodOptional<z.ZodObject<{
93
+ protocol: z.ZodLiteral<"native-subreaper-v1">;
94
+ invocationId: z.ZodString;
95
+ nonce: z.ZodString;
96
+ controlPath: z.ZodString;
97
+ }, z.core.$strict>>;
98
+ streams: z.ZodObject<{
99
+ stdout: z.ZodObject<{
100
+ byteOffset: z.ZodNumber;
101
+ utf8Remainder: z.ZodString;
102
+ eof: z.ZodBoolean;
103
+ exitCode: z.ZodNullable<z.ZodNumber>;
104
+ }, z.core.$strict>;
105
+ stderr: z.ZodObject<{
106
+ byteOffset: z.ZodNumber;
107
+ utf8Remainder: z.ZodString;
108
+ eof: z.ZodBoolean;
109
+ exitCode: z.ZodNullable<z.ZodNumber>;
110
+ }, z.core.$strict>;
111
+ }, z.core.$strict>;
112
+ }, z.core.$strict>], "kind">;
23
113
  export type SandboxProviderCommand = z.infer<typeof SandboxProviderCommand>;
@@ -0,0 +1,146 @@
1
+ import { z } from "zod";
2
+ /** Public, content-free selection. Never include native provider bindings. */
3
+ export declare const SandboxRecoverySelection: z.ZodObject<{
4
+ version: z.ZodLiteral<1>;
5
+ sessionId: z.ZodString;
6
+ sandboxGroupId: z.ZodString;
7
+ leaseId: z.ZodString;
8
+ routeEpoch: z.ZodNumber;
9
+ authorityEpoch: z.ZodNumber;
10
+ leaseEpoch: z.ZodNumber;
11
+ workspaceGeneration: z.ZodNumber;
12
+ archiveGeneration: z.ZodNumber;
13
+ artifactId: z.ZodString;
14
+ revision: z.ZodString;
15
+ capturedAt: z.ZodString;
16
+ }, z.core.$strict>;
17
+ export type SandboxRecoverySelection = z.infer<typeof SandboxRecoverySelection>;
18
+ export declare const SandboxRecoveryProjection: z.ZodObject<{
19
+ version: z.ZodLiteral<1>;
20
+ status: z.ZodEnum<{
21
+ blocked: "blocked";
22
+ consent_accepted: "consent_accepted";
23
+ eligible: "eligible";
24
+ restored: "restored";
25
+ restoring: "restoring";
26
+ unsupported: "unsupported";
27
+ }>;
28
+ reason: z.ZodNullable<z.ZodString>;
29
+ checkpoint: z.ZodNullable<z.ZodObject<{
30
+ version: z.ZodLiteral<1>;
31
+ sessionId: z.ZodString;
32
+ sandboxGroupId: z.ZodString;
33
+ leaseId: z.ZodString;
34
+ routeEpoch: z.ZodNumber;
35
+ authorityEpoch: z.ZodNumber;
36
+ leaseEpoch: z.ZodNumber;
37
+ workspaceGeneration: z.ZodNumber;
38
+ archiveGeneration: z.ZodNumber;
39
+ artifactId: z.ZodString;
40
+ revision: z.ZodString;
41
+ capturedAt: z.ZodString;
42
+ }, z.core.$strict>>;
43
+ operationId: z.ZodNullable<z.ZodString>;
44
+ automaticAvailable: z.ZodOptional<z.ZodBoolean>;
45
+ automaticLane: z.ZodOptional<z.ZodEnum<{
46
+ checkpoint: "checkpoint";
47
+ fresh_workspace: "fresh_workspace";
48
+ }>>;
49
+ availableAt: z.ZodOptional<z.ZodString>;
50
+ }, z.core.$strict>;
51
+ export type SandboxRecoveryProjection = z.infer<typeof SandboxRecoveryProjection>;
52
+ /** Why a definitively lost managed sandbox continues on an empty workspace. */
53
+ export declare const SandboxFreshWorkspaceReason: z.ZodEnum<{
54
+ archive_unavailable: "archive_unavailable";
55
+ archive_unverified: "archive_unverified";
56
+ checkpoint_restore_failed: "checkpoint_restore_failed";
57
+ checkpoint_unrestorable: "checkpoint_unrestorable";
58
+ }>;
59
+ export type SandboxFreshWorkspaceReason = z.infer<typeof SandboxFreshWorkspaceReason>;
60
+ /** Durable, content-free fresh-workspace decision for one group member. */
61
+ export declare const SandboxFreshWorkspaceRecovery: z.ZodObject<{
62
+ version: z.ZodLiteral<1>;
63
+ sessionId: z.ZodString;
64
+ sandboxGroupId: z.ZodString;
65
+ leaseId: z.ZodString;
66
+ leaseEpoch: z.ZodNumber;
67
+ workspaceGeneration: z.ZodNumber;
68
+ archiveGeneration: z.ZodNullable<z.ZodNumber>;
69
+ lostAt: z.ZodString;
70
+ reason: z.ZodEnum<{
71
+ archive_unavailable: "archive_unavailable";
72
+ archive_unverified: "archive_unverified";
73
+ checkpoint_restore_failed: "checkpoint_restore_failed";
74
+ checkpoint_unrestorable: "checkpoint_unrestorable";
75
+ }>;
76
+ }, z.core.$strict>;
77
+ export type SandboxFreshWorkspaceRecovery = z.infer<typeof SandboxFreshWorkspaceRecovery>;
78
+ export declare const SandboxRecoveryRequest: z.ZodObject<{
79
+ operationId: z.ZodString;
80
+ acceptHistoricalCheckpoint: z.ZodLiteral<true>;
81
+ selection: z.ZodObject<{
82
+ version: z.ZodLiteral<1>;
83
+ sessionId: z.ZodString;
84
+ sandboxGroupId: z.ZodString;
85
+ leaseId: z.ZodString;
86
+ routeEpoch: z.ZodNumber;
87
+ authorityEpoch: z.ZodNumber;
88
+ leaseEpoch: z.ZodNumber;
89
+ workspaceGeneration: z.ZodNumber;
90
+ archiveGeneration: z.ZodNumber;
91
+ artifactId: z.ZodString;
92
+ revision: z.ZodString;
93
+ capturedAt: z.ZodString;
94
+ }, z.core.$strict>;
95
+ }, z.core.$strict>;
96
+ export type SandboxRecoveryRequest = z.infer<typeof SandboxRecoveryRequest>;
97
+ export declare const SandboxRecoveryResponse: z.ZodObject<{
98
+ outcome: z.ZodEnum<{
99
+ accepted: "accepted";
100
+ replayed: "replayed";
101
+ }>;
102
+ operationId: z.ZodString;
103
+ recovery: z.ZodObject<{
104
+ version: z.ZodLiteral<1>;
105
+ status: z.ZodEnum<{
106
+ blocked: "blocked";
107
+ consent_accepted: "consent_accepted";
108
+ eligible: "eligible";
109
+ restored: "restored";
110
+ restoring: "restoring";
111
+ unsupported: "unsupported";
112
+ }>;
113
+ reason: z.ZodNullable<z.ZodString>;
114
+ checkpoint: z.ZodNullable<z.ZodObject<{
115
+ version: z.ZodLiteral<1>;
116
+ sessionId: z.ZodString;
117
+ sandboxGroupId: z.ZodString;
118
+ leaseId: z.ZodString;
119
+ routeEpoch: z.ZodNumber;
120
+ authorityEpoch: z.ZodNumber;
121
+ leaseEpoch: z.ZodNumber;
122
+ workspaceGeneration: z.ZodNumber;
123
+ archiveGeneration: z.ZodNumber;
124
+ artifactId: z.ZodString;
125
+ revision: z.ZodString;
126
+ capturedAt: z.ZodString;
127
+ }, z.core.$strict>>;
128
+ operationId: z.ZodNullable<z.ZodString>;
129
+ automaticAvailable: z.ZodOptional<z.ZodBoolean>;
130
+ automaticLane: z.ZodOptional<z.ZodEnum<{
131
+ checkpoint: "checkpoint";
132
+ fresh_workspace: "fresh_workspace";
133
+ }>>;
134
+ availableAt: z.ZodOptional<z.ZodString>;
135
+ }, z.core.$strict>;
136
+ }, z.core.$strict>;
137
+ export type SandboxRecoveryResponse = z.infer<typeof SandboxRecoveryResponse>;
138
+ /** Re-injected from durable receipts on every attempt, not lossy transcript state. */
139
+ export declare function sandboxRecoveryDiscontinuity(selection: SandboxRecoverySelection): string;
140
+ /** Stable tail instructions, sourced from a durable system recovery receipt.
141
+ * `shared` names the sandbox this session shares with other sessions; every
142
+ * member of that group receives its own receipt for the same selection. */
143
+ export declare function automaticSandboxRecoveryDiscontinuity(selection: SandboxRecoverySelection, scope?: "session" | "shared"): string;
144
+ /** Stable tail instructions for continuing on a new empty workspace. The text
145
+ * is true on every later turn too: it names the loss, not the current tree. */
146
+ export declare function freshWorkspaceSandboxRecoveryDiscontinuity(recovery: SandboxFreshWorkspaceRecovery): string;