@opengeni/contracts 5.5.0 → 5.5.2-canary.40656248492001

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (543) hide show
  1. package/dist/agent-authored-durable-text.d.ts +9 -9
  2. package/dist/agent-config.d.ts +148 -37
  3. package/dist/api-key-presets.d.ts +19 -0
  4. package/dist/app-action-catalog-types.d.ts +32 -0
  5. package/dist/app-action-catalog.gen.d.ts +2 -0
  6. package/dist/app-actions.d.ts +91 -0
  7. package/dist/app-actions.js +10130 -0
  8. package/dist/app-actions.js.map +1 -0
  9. package/dist/app-shot.d.ts +55 -0
  10. package/dist/artifact-catalog.d.ts +33 -0
  11. package/dist/artifacts.d.ts +166 -0
  12. package/dist/atlassian-native-retirement.d.ts +16 -0
  13. package/dist/atlassian-native-retirement.js +30 -0
  14. package/dist/atlassian-native-retirement.js.map +1 -0
  15. package/dist/atlassian.js +48 -23
  16. package/dist/automation-templates.d.ts +434 -0
  17. package/dist/automation-templates.js +31 -0
  18. package/dist/automation-templates.js.map +1 -0
  19. package/dist/billing-subscriptions.d.ts +61 -0
  20. package/dist/bots.d.ts +583 -0
  21. package/dist/bundled-skills.d.ts +58 -2
  22. package/dist/canonical-human-identities.js +3 -1
  23. package/dist/child-lifecycle-notice-protocol.d.ts +45 -0
  24. package/dist/chunk-2QKIEAGY.js +396 -0
  25. package/dist/chunk-2QKIEAGY.js.map +1 -0
  26. package/dist/chunk-2WOWEWXV.js +426 -0
  27. package/dist/chunk-2WOWEWXV.js.map +1 -0
  28. package/dist/chunk-2ZIHHL72.js +153 -0
  29. package/dist/chunk-2ZIHHL72.js.map +1 -0
  30. package/dist/chunk-32U6NKQQ.js +389 -0
  31. package/dist/chunk-32U6NKQQ.js.map +1 -0
  32. package/dist/chunk-4YDDHSO2.js +799 -0
  33. package/dist/chunk-4YDDHSO2.js.map +1 -0
  34. package/dist/chunk-56SNIMDO.js +9 -0
  35. package/dist/chunk-56SNIMDO.js.map +1 -0
  36. package/dist/chunk-5RWB6QVL.js +101 -0
  37. package/dist/chunk-5RWB6QVL.js.map +1 -0
  38. package/dist/chunk-5UGUOT3L.js +243 -0
  39. package/dist/chunk-5UGUOT3L.js.map +1 -0
  40. package/dist/chunk-6LAT33BH.js +130 -0
  41. package/dist/chunk-6LAT33BH.js.map +1 -0
  42. package/dist/chunk-7272KVWZ.js +60 -0
  43. package/dist/chunk-7272KVWZ.js.map +1 -0
  44. package/dist/chunk-72QC2GTL.js +36 -0
  45. package/dist/chunk-72QC2GTL.js.map +1 -0
  46. package/dist/chunk-7EQGGZBY.js +105 -0
  47. package/dist/chunk-7EQGGZBY.js.map +1 -0
  48. package/dist/chunk-A3LXWVYU.js +382 -0
  49. package/dist/chunk-A3LXWVYU.js.map +1 -0
  50. package/dist/chunk-AQYDZUJV.js +34 -0
  51. package/dist/chunk-AQYDZUJV.js.map +1 -0
  52. package/dist/chunk-BHCEVVUP.js +93 -0
  53. package/dist/chunk-BHCEVVUP.js.map +1 -0
  54. package/dist/chunk-BMUTAZX5.js +486 -0
  55. package/dist/chunk-BMUTAZX5.js.map +1 -0
  56. package/dist/chunk-DGG6IBBK.js +150 -0
  57. package/dist/chunk-DGG6IBBK.js.map +1 -0
  58. package/dist/{chunk-YBW5JSA3.js → chunk-FBCTUMHI.js} +123 -102
  59. package/dist/chunk-FBCTUMHI.js.map +1 -0
  60. package/dist/chunk-G2KJTFIC.js +97 -0
  61. package/dist/chunk-G2KJTFIC.js.map +1 -0
  62. package/dist/chunk-G4RKARXZ.js +1167 -0
  63. package/dist/chunk-G4RKARXZ.js.map +1 -0
  64. package/dist/chunk-H6UJJIUM.js +350 -0
  65. package/dist/chunk-H6UJJIUM.js.map +1 -0
  66. package/dist/chunk-JOTHDW4H.js +18 -0
  67. package/dist/chunk-JOTHDW4H.js.map +1 -0
  68. package/dist/chunk-L4GUEP7K.js +56480 -0
  69. package/dist/chunk-L4GUEP7K.js.map +1 -0
  70. package/dist/{chunk-SIOU2K4U.js → chunk-LJH2EYGT.js} +23 -23
  71. package/dist/chunk-MTJKSIGA.js +161 -0
  72. package/dist/chunk-MTJKSIGA.js.map +1 -0
  73. package/dist/chunk-MYHMB6GZ.js +202 -0
  74. package/dist/chunk-MYHMB6GZ.js.map +1 -0
  75. package/dist/chunk-PI5VIKJY.js +660 -0
  76. package/dist/chunk-PI5VIKJY.js.map +1 -0
  77. package/dist/{chunk-RIY7GYQS.js → chunk-PTSROVDG.js} +2 -2
  78. package/dist/chunk-PUIUXIOL.js +189 -0
  79. package/dist/chunk-PUIUXIOL.js.map +1 -0
  80. package/dist/chunk-R6VXJIMB.js +19 -0
  81. package/dist/chunk-R6VXJIMB.js.map +1 -0
  82. package/dist/chunk-RLJUNVAM.js +15 -0
  83. package/dist/chunk-RLJUNVAM.js.map +1 -0
  84. package/dist/chunk-RR6APCBK.js +213 -0
  85. package/dist/chunk-RR6APCBK.js.map +1 -0
  86. package/dist/{chunk-TXTQIYCV.js → chunk-RUQ4I6DO.js} +59 -13
  87. package/dist/chunk-RUQ4I6DO.js.map +1 -0
  88. package/dist/{chunk-WYBDERIY.js → chunk-RWEEUDHD.js} +53 -42
  89. package/dist/chunk-RWEEUDHD.js.map +1 -0
  90. package/dist/chunk-S7MSQQL6.js +158 -0
  91. package/dist/chunk-S7MSQQL6.js.map +1 -0
  92. package/dist/{chunk-5Q54VCCH.js → chunk-SHO4YO4B.js} +20 -36
  93. package/dist/chunk-SHO4YO4B.js.map +1 -0
  94. package/dist/{chunk-HHZSZYYF.js → chunk-T3HSWMA5.js} +20 -4
  95. package/dist/chunk-T3HSWMA5.js.map +1 -0
  96. package/dist/{chunk-YRKRZ6OF.js → chunk-TOOJIBJC.js} +2 -2
  97. package/dist/chunk-UCUOTRS6.js +431 -0
  98. package/dist/chunk-UCUOTRS6.js.map +1 -0
  99. package/dist/chunk-UH4K7GP7.js +424 -0
  100. package/dist/chunk-UH4K7GP7.js.map +1 -0
  101. package/dist/chunk-UIZWGPHV.js +120 -0
  102. package/dist/chunk-UIZWGPHV.js.map +1 -0
  103. package/dist/chunk-VLUKBV6Y.js +1170 -0
  104. package/dist/chunk-VLUKBV6Y.js.map +1 -0
  105. package/dist/chunk-W2QQ5Y6K.js +55 -0
  106. package/dist/chunk-W2QQ5Y6K.js.map +1 -0
  107. package/dist/{chunk-Y3KNXVTD.js → chunk-W3NBPR4E.js} +131 -31
  108. package/dist/chunk-W3NBPR4E.js.map +1 -0
  109. package/dist/{chunk-NRMCVHAU.js → chunk-WMGO4HJU.js} +11 -9
  110. package/dist/chunk-WMGO4HJU.js.map +1 -0
  111. package/dist/{chunk-MYBZRDTY.js → chunk-WQI7VNN4.js} +19 -9
  112. package/dist/chunk-WQI7VNN4.js.map +1 -0
  113. package/dist/{chunk-PX3VCKAU.js → chunk-WVCFSOUZ.js} +1 -1
  114. package/dist/{chunk-PX3VCKAU.js.map → chunk-WVCFSOUZ.js.map} +1 -1
  115. package/dist/chunk-XB6GQLBH.js +76 -0
  116. package/dist/chunk-XB6GQLBH.js.map +1 -0
  117. package/dist/{chunk-D2HKF2EF.js → chunk-XP5M3IKT.js} +2 -2
  118. package/dist/{chunk-O77VSFYZ.js → chunk-ZMPU5BWE.js} +12 -2
  119. package/dist/chunk-ZMPU5BWE.js.map +1 -0
  120. package/dist/{chunk-3SIZGL3O.js → chunk-ZYVEJFNU.js} +22 -18
  121. package/dist/chunk-ZYVEJFNU.js.map +1 -0
  122. package/dist/claude-provider-account-authority.d.ts +18 -0
  123. package/dist/claude-subscription-oauth.d.ts +25 -0
  124. package/dist/claude-subscription-usage.d.ts +95 -1
  125. package/dist/client-error-report.d.ts +154 -8
  126. package/dist/client-error-report.js +157 -2
  127. package/dist/client-error-report.js.map +1 -1
  128. package/dist/code-search.d.ts +1 -1
  129. package/dist/code-search.js.map +1 -1
  130. package/dist/codex-provider-account-authority.js +23 -12
  131. package/dist/codex-provider-account-authority.js.map +1 -1
  132. package/dist/company-profile.d.ts +144 -0
  133. package/dist/connect.d.ts +38 -0
  134. package/dist/connect.js +244 -164
  135. package/dist/connect.js.map +1 -1
  136. package/dist/connection-account-label.d.ts +2 -0
  137. package/dist/connection-account-label.js +34 -0
  138. package/dist/connection-account-label.js.map +1 -0
  139. package/dist/connection-authority.js +49 -24
  140. package/dist/connector-attachments.js +3 -1
  141. package/dist/connector-destinations.js +3 -1
  142. package/dist/connector-tool-permissions.d.ts +68 -4
  143. package/dist/credential-profiles.d.ts +166 -0
  144. package/dist/cua-desktop-tools.d.ts +19 -0
  145. package/dist/define-schema.d.ts +8 -0
  146. package/dist/desktop-app.d.ts +28 -0
  147. package/dist/direct-model-provider.d.ts +38 -0
  148. package/dist/document-artifact-commands.js +2 -2
  149. package/dist/document-artifact-query.js +2 -2
  150. package/dist/editable-artifact-binary.d.ts +7 -0
  151. package/dist/editable-artifact-causal-frontier.js +2 -2
  152. package/dist/editable-artifact-codec-registry.js +7 -7
  153. package/dist/editable-artifact-committed-transaction.js +4 -2
  154. package/dist/editable-artifact-live.js +8 -8
  155. package/dist/editable-artifact-serialized-commit.js +9 -9
  156. package/dist/editable-artifact-versions.d.ts +7 -1
  157. package/dist/editable-artifact-versions.js +1 -1
  158. package/dist/editable-artifacts.js +49 -43
  159. package/dist/event-preview.d.ts +22 -0
  160. package/dist/event-triggers.d.ts +1253 -0
  161. package/dist/event-triggers.js +148 -0
  162. package/dist/event-triggers.js.map +1 -0
  163. package/dist/external-identities.d.ts +34 -0
  164. package/dist/external-identities.js +4 -2
  165. package/dist/feedback.d.ts +181 -0
  166. package/dist/file-access.d.ts +23 -0
  167. package/dist/first-party-tool-authorization.d.ts +852 -0
  168. package/dist/github-repository-contracts.js +64 -43
  169. package/dist/github-repository-contracts.js.map +1 -1
  170. package/dist/google-drive-native-retirement.d.ts +12 -0
  171. package/dist/google-drive-native-retirement.js +20 -0
  172. package/dist/google-drive-native-retirement.js.map +1 -0
  173. package/dist/google-drive.d.ts +1 -1
  174. package/dist/google-drive.js +323 -239
  175. package/dist/google-drive.js.map +1 -1
  176. package/dist/host-mcp-bindings.js +250 -198
  177. package/dist/host-mcp-bindings.js.map +1 -1
  178. package/dist/index.d.ts +29072 -20593
  179. package/dist/index.js +2432 -366
  180. package/dist/inference-residency.d.ts +22 -0
  181. package/dist/insights-usage.d.ts +948 -0
  182. package/dist/insights-usage.js +608 -0
  183. package/dist/insights-usage.js.map +1 -0
  184. package/dist/integration-capability-id.d.ts +8 -0
  185. package/dist/interaction-action-deadline.d.ts +48 -0
  186. package/dist/interaction-driver-diagnostic.d.ts +28 -0
  187. package/dist/interaction.d.ts +2126 -881
  188. package/dist/knowledge-entries.d.ts +38 -0
  189. package/dist/knowledge-preparation.d.ts +4 -0
  190. package/dist/learning-refusal.d.ts +43 -0
  191. package/dist/learning-refusal.js +49 -0
  192. package/dist/learning-refusal.js.map +1 -0
  193. package/dist/managed-auth-session-sets.d.ts +1 -0
  194. package/dist/managed-auth-session-sets.js +207 -146
  195. package/dist/managed-auth-session-sets.js.map +1 -1
  196. package/dist/managed-sign-in-methods.d.ts +96 -0
  197. package/dist/managed-sign-in-methods.js +157 -35
  198. package/dist/managed-sign-in-methods.js.map +1 -1
  199. package/dist/mcp-structured-content.d.ts +25 -0
  200. package/dist/message-time-zone.d.ts +38 -0
  201. package/dist/message-time-zone.js +19 -0
  202. package/dist/message-time-zone.js.map +1 -0
  203. package/dist/modal-native-proof-v2.d.ts +587 -0
  204. package/dist/modal-native-proof-v2.js +39 -0
  205. package/dist/modal-native-proof-v2.js.map +1 -0
  206. package/dist/model-account-choice.d.ts +237 -0
  207. package/dist/model-account-settings.d.ts +422 -0
  208. package/dist/model-availability.d.ts +15 -0
  209. package/dist/model-connection-access.d.ts +13 -0
  210. package/dist/model-context-inspector.d.ts +8 -0
  211. package/dist/model-display.d.ts +43 -0
  212. package/dist/model-display.js +17 -0
  213. package/dist/model-display.js.map +1 -0
  214. package/dist/model-picker-order.js.map +1 -1
  215. package/dist/model-residency.d.ts +304 -0
  216. package/dist/organization-access.d.ts +416 -0
  217. package/dist/organization-access.js +40 -0
  218. package/dist/organization-access.js.map +1 -0
  219. package/dist/organization-integration-policy.d.ts +18 -0
  220. package/dist/organization-membership-lifecycle.d.ts +66 -0
  221. package/dist/organization-model-usage.d.ts +146 -0
  222. package/dist/organization-model-usage.js +87 -0
  223. package/dist/organization-model-usage.js.map +1 -0
  224. package/dist/organization-recovery.js +3 -1
  225. package/dist/organization-usage.d.ts +12 -0
  226. package/dist/passkey-only-account.d.ts +14 -0
  227. package/dist/passkey-only-account.js +13 -0
  228. package/dist/passkey-only-account.js.map +1 -0
  229. package/dist/permissions.d.ts +19 -0
  230. package/dist/personal-github.js +220 -148
  231. package/dist/personal-github.js.map +1 -1
  232. package/dist/personal-integration-setup.d.ts +81 -0
  233. package/dist/personal-integration-setup.js +42 -0
  234. package/dist/personal-integration-setup.js.map +1 -0
  235. package/dist/prepared-mcp-setup.d.ts +54 -0
  236. package/dist/prepared-mcp-setup.js +13 -0
  237. package/dist/prepared-mcp-setup.js.map +1 -0
  238. package/dist/presentation-artifact-commands.js +2 -2
  239. package/dist/presentation-artifact-query.js +2 -2
  240. package/dist/primitives.d.ts +18 -0
  241. package/dist/product-analytics.d.ts +27 -10
  242. package/dist/product-lifecycle-facts.d.ts +26 -3
  243. package/dist/prompt-cache-diagnostics.d.ts +92 -0
  244. package/dist/recordings.d.ts +1371 -0
  245. package/dist/remember.d.ts +98 -2
  246. package/dist/retained-output.d.ts +4 -2
  247. package/dist/sandbox-file-artifacts.d.ts +19 -2
  248. package/dist/sandbox-provider-command.d.ts +5 -44
  249. package/dist/sandbox-recovery.d.ts +139 -8
  250. package/dist/secret-generator.d.ts +44 -0
  251. package/dist/secret-mask-strings.d.ts +32 -0
  252. package/dist/secret-references.d.ts +90 -0
  253. package/dist/secret-resolution.d.ts +143 -0
  254. package/dist/secret-shape-masking.d.ts +52 -0
  255. package/dist/secret-shape-masking.js +19 -0
  256. package/dist/secret-shape-masking.js.map +1 -0
  257. package/dist/secret-totp.d.ts +41 -0
  258. package/dist/secret-use-approval-question.d.ts +11 -0
  259. package/dist/secret-use-approval-question.js +11 -0
  260. package/dist/secret-use-approval-question.js.map +1 -0
  261. package/dist/secret-use-approvals.d.ts +106 -0
  262. package/dist/secret-value-masking.d.ts +299 -0
  263. package/dist/secret-value-masking.js +62 -0
  264. package/dist/secret-value-masking.js.map +1 -0
  265. package/dist/secret-value.d.ts +19 -0
  266. package/dist/session-history-import.d.ts +444 -8
  267. package/dist/session-history.d.ts +111 -0
  268. package/dist/session-history.js +35 -0
  269. package/dist/session-history.js.map +1 -0
  270. package/dist/session-list-entries.d.ts +8 -0
  271. package/dist/session-list-entries.js +61 -0
  272. package/dist/session-list-entries.js.map +1 -0
  273. package/dist/session-mcp-projections.d.ts +13 -1
  274. package/dist/session-mcp-tool-permissions.d.ts +62 -0
  275. package/dist/session-target.d.ts +18 -0
  276. package/dist/session-titles.d.ts +8 -0
  277. package/dist/session-titles.js +5 -1
  278. package/dist/session-usage-limit-refusal.d.ts +34 -0
  279. package/dist/session-usage-limit-refusal.js +15 -0
  280. package/dist/session-usage-limit-refusal.js.map +1 -0
  281. package/dist/session-usage-limits.d.ts +127 -0
  282. package/dist/session-usage-limits.js +43 -0
  283. package/dist/session-usage-limits.js.map +1 -0
  284. package/dist/site-data.d.ts +286 -0
  285. package/dist/site-operations.d.ts +39 -0
  286. package/dist/site-publishing.d.ts +813 -0
  287. package/dist/site-session-http.d.ts +103 -4
  288. package/dist/site-session-http.js +27 -1
  289. package/dist/site-sql.d.ts +425 -0
  290. package/dist/skills.d.ts +38 -0
  291. package/dist/slack-bot-scopes.d.ts +9 -7
  292. package/dist/slack-bot-scopes.js +6 -3
  293. package/dist/slack-rest-mcp.d.ts +36 -0
  294. package/dist/slack-rest-mcp.js +25 -0
  295. package/dist/slack-rest-mcp.js.map +1 -0
  296. package/dist/spreadsheet-artifact-commands.d.ts +14 -1
  297. package/dist/spreadsheet-artifact-commands.js +9 -2
  298. package/dist/spreadsheet-artifact-query.d.ts +13 -6
  299. package/dist/spreadsheet-artifact-query.js +4 -3
  300. package/dist/subscription-account-actions.d.ts +83 -0
  301. package/dist/subscription-account-pools.d.ts +326 -0
  302. package/dist/subscription-personal-authority-v2.d.ts +28 -0
  303. package/dist/subscription-personal-authority-v2.js +13 -0
  304. package/dist/subscription-personal-authority-v2.js.map +1 -0
  305. package/dist/subscription-plans.d.ts +38 -0
  306. package/dist/subscription-usage-pool.d.ts +89 -0
  307. package/dist/tool-action-review.d.ts +141 -0
  308. package/dist/tool-catalog.d.ts +479 -0
  309. package/dist/tool-policy.d.ts +5 -0
  310. package/dist/tool-review-presentation.d.ts +29 -0
  311. package/dist/tool-review-presentation.js +21 -0
  312. package/dist/tool-review-presentation.js.map +1 -0
  313. package/dist/turn-serving-policy.d.ts +223 -0
  314. package/dist/usage-allowances.d.ts +30 -0
  315. package/dist/usage-allowances.js +5 -1
  316. package/dist/values.d.ts +11 -0
  317. package/dist/values.js +19 -0
  318. package/dist/values.js.map +1 -0
  319. package/dist/vault-provider-wire.d.ts +907 -0
  320. package/dist/vault-provider-wire.js +74 -0
  321. package/dist/vault-provider-wire.js.map +1 -0
  322. package/dist/vaults.d.ts +2185 -0
  323. package/dist/video-generation.d.ts +75 -0
  324. package/dist/video-generation.js +8 -1
  325. package/dist/workspace-control-event.d.ts +18 -0
  326. package/dist/workspace-control-event.js +18 -0
  327. package/dist/workspace-control-event.js.map +1 -0
  328. package/dist/workspace-governance-context.d.ts +18 -0
  329. package/dist/workspace-integration-wire.d.ts +1 -1
  330. package/dist/workspace-integration-wire.js +1 -1
  331. package/dist/workspace-integrations.d.ts +212 -12
  332. package/dist/xai-provider-account-authority.js +3 -1
  333. package/package.json +121 -4
  334. package/src/agent-authored-durable-text.ts +14 -11
  335. package/src/agent-config.ts +382 -203
  336. package/src/agent-instruction-changes.ts +94 -74
  337. package/src/agent-learning.ts +94 -66
  338. package/src/agent-topology.ts +58 -52
  339. package/src/api-key-presets.ts +28 -0
  340. package/src/app-action-catalog-types.ts +32 -0
  341. package/src/app-action-catalog.gen.ts +9905 -0
  342. package/src/app-actions.ts +365 -0
  343. package/src/app-shot.ts +176 -0
  344. package/src/artifact-catalog.ts +81 -46
  345. package/src/artifacts.ts +360 -227
  346. package/src/atlassian-native-retirement.ts +33 -0
  347. package/src/atlassian.ts +136 -108
  348. package/src/automation-templates.ts +201 -0
  349. package/src/billing-subscriptions.ts +48 -0
  350. package/src/bots.ts +238 -0
  351. package/src/bundled-skills.ts +79 -22
  352. package/src/canonical-human-identities.ts +65 -62
  353. package/src/child-lifecycle-notice-protocol.gen.json +1310 -0
  354. package/src/child-lifecycle-notice-protocol.ts +224 -0
  355. package/src/claude-provider-account-authority.ts +12 -0
  356. package/src/claude-subscription-oauth.ts +61 -19
  357. package/src/claude-subscription-usage.ts +64 -35
  358. package/src/client-error-report.ts +344 -9
  359. package/src/code-search.ts +1 -1
  360. package/src/codex-provider-account-authority.ts +22 -16
  361. package/src/company-brain-governed-writes.ts +265 -244
  362. package/src/company-brain.ts +165 -154
  363. package/src/company-profile.ts +362 -297
  364. package/src/connect.ts +222 -173
  365. package/src/connection-account-label.ts +45 -0
  366. package/src/connection-authority.ts +172 -152
  367. package/src/connector-attachments.ts +139 -123
  368. package/src/connector-destinations.ts +48 -43
  369. package/src/connector-tool-permissions.ts +104 -46
  370. package/src/credential-profiles.ts +161 -0
  371. package/src/cua-desktop-tools.gen.json +6722 -0
  372. package/src/cua-desktop-tools.linux.gen.json +6798 -0
  373. package/src/cua-desktop-tools.ts +42 -0
  374. package/src/cua-desktop-tools.windows.gen.json +6739 -0
  375. package/src/define-schema.ts +10 -0
  376. package/src/desktop-app.ts +50 -0
  377. package/src/direct-model-provider.ts +112 -0
  378. package/src/editable-artifact-binary.ts +29 -8
  379. package/src/editable-artifact-committed-transaction.ts +19 -18
  380. package/src/editable-artifact-serialized-commit.ts +8 -2
  381. package/src/editable-artifact-versions.ts +7 -1
  382. package/src/event-preview.ts +53 -3
  383. package/src/event-triggers.ts +891 -0
  384. package/src/external-identities.ts +239 -195
  385. package/src/feedback.ts +125 -30
  386. package/src/file-access.ts +26 -0
  387. package/src/first-party-tool-authorization.ts +383 -0
  388. package/src/github-repository-contracts.ts +78 -64
  389. package/src/google-drive-native-retirement.ts +20 -0
  390. package/src/google-drive.ts +286 -234
  391. package/src/governed-learning-activation.ts +159 -137
  392. package/src/governed-learning-evaluator.ts +141 -133
  393. package/src/host-mcp-bindings.ts +244 -221
  394. package/src/image-generation.ts +105 -95
  395. package/src/index.ts +13928 -9899
  396. package/src/inference-residency.ts +36 -0
  397. package/src/insights-usage.ts +774 -0
  398. package/src/integration-capability-id.ts +16 -0
  399. package/src/interaction-action-deadline.ts +143 -0
  400. package/src/interaction-driver-diagnostic.ts +89 -0
  401. package/src/interaction.ts +3527 -2427
  402. package/src/knowledge-entries.ts +386 -299
  403. package/src/knowledge-preparation.ts +49 -41
  404. package/src/knowledge.ts +242 -213
  405. package/src/learning-refusal.ts +90 -0
  406. package/src/managed-auth-session-sets.ts +180 -133
  407. package/src/managed-sign-in-methods.ts +156 -34
  408. package/src/mcp-oauth.ts +58 -46
  409. package/src/mcp-receipts.ts +199 -194
  410. package/src/mcp-structured-content.ts +81 -0
  411. package/src/memory-slack-delivery.ts +172 -142
  412. package/src/message-time-zone.ts +109 -0
  413. package/src/modal-native-proof-v2.ts +430 -0
  414. package/src/model-account-choice.ts +178 -0
  415. package/src/model-account-settings.ts +210 -0
  416. package/src/model-availability.ts +22 -0
  417. package/src/model-connection-access.ts +62 -14
  418. package/src/model-context-inspector.ts +130 -109
  419. package/src/model-display.ts +221 -0
  420. package/src/model-picker-order.ts +1 -1
  421. package/src/model-residency.ts +535 -0
  422. package/src/organization-access.ts +216 -0
  423. package/src/organization-integration-policy.ts +47 -28
  424. package/src/organization-membership-lifecycle.ts +558 -384
  425. package/src/organization-model-usage.ts +82 -0
  426. package/src/organization-recovery.ts +148 -135
  427. package/src/organization-usage.ts +84 -52
  428. package/src/passkey-only-account.ts +29 -0
  429. package/src/permissions.ts +94 -52
  430. package/src/personal-github.ts +211 -171
  431. package/src/personal-integration-setup.ts +150 -0
  432. package/src/preference-registry.ts +319 -263
  433. package/src/prepared-mcp-setup.ts +190 -0
  434. package/src/primitives.ts +22 -0
  435. package/src/product-analytics.ts +40 -15
  436. package/src/product-lifecycle-facts.ts +50 -20
  437. package/src/prompt-cache-diagnostics.ts +212 -0
  438. package/src/recordings.ts +1153 -0
  439. package/src/remember.ts +184 -172
  440. package/src/retained-output.ts +181 -168
  441. package/src/sandbox-file-artifacts.ts +78 -57
  442. package/src/sandbox-provider-command.ts +55 -72
  443. package/src/sandbox-recovery.ts +163 -77
  444. package/src/scoped-knowledge.ts +62 -43
  445. package/src/secret-generator.ts +156 -0
  446. package/src/secret-mask-strings.ts +175 -0
  447. package/src/secret-references.ts +414 -0
  448. package/src/secret-resolution.ts +322 -0
  449. package/src/secret-shape-masking.ts +573 -0
  450. package/src/secret-totp.ts +188 -0
  451. package/src/secret-use-approval-question.ts +22 -0
  452. package/src/secret-use-approvals.ts +219 -0
  453. package/src/secret-value-masking.ts +1283 -0
  454. package/src/secret-value.ts +22 -0
  455. package/src/session-goal-reports.ts +55 -49
  456. package/src/session-history-import.ts +84 -68
  457. package/src/session-history.ts +197 -0
  458. package/src/session-list-entries.ts +106 -0
  459. package/src/session-mcp-projections.ts +21 -3
  460. package/src/session-mcp-tool-permissions.ts +109 -0
  461. package/src/session-message-search.ts +46 -38
  462. package/src/session-target.ts +58 -0
  463. package/src/session-titles.ts +40 -4
  464. package/src/session-topology-primitives.ts +20 -12
  465. package/src/session-usage-limit-refusal.ts +101 -0
  466. package/src/session-usage-limits.ts +169 -0
  467. package/src/signup-attribution.ts +20 -15
  468. package/src/site-data.ts +337 -0
  469. package/src/site-operations.ts +154 -0
  470. package/src/site-publishing.ts +903 -0
  471. package/src/site-session-http.ts +344 -16
  472. package/src/site-sql.ts +1120 -0
  473. package/src/skill-use.ts +18 -17
  474. package/src/skills.ts +105 -50
  475. package/src/slack-bot-scopes.ts +18 -35
  476. package/src/slack-rest-mcp.ts +222 -0
  477. package/src/slack-task-policy.ts +97 -73
  478. package/src/spreadsheet-artifact-commands.ts +74 -13
  479. package/src/spreadsheet-artifact-query.ts +188 -50
  480. package/src/subscription-account-actions.ts +103 -0
  481. package/src/subscription-account-pools.ts +74 -0
  482. package/src/subscription-personal-authority-v2.ts +69 -0
  483. package/src/subscription-plans.ts +51 -0
  484. package/src/subscription-usage-pool.ts +44 -0
  485. package/src/task-notes.ts +70 -68
  486. package/src/tool-action-review.ts +271 -0
  487. package/src/tool-catalog.ts +694 -379
  488. package/src/tool-policy.ts +82 -0
  489. package/src/tool-result-spill.ts +13 -9
  490. package/src/tool-review-presentation.ts +643 -0
  491. package/src/turn-serving-policy.ts +167 -0
  492. package/src/usage-allowances.ts +212 -136
  493. package/src/values.ts +25 -0
  494. package/src/vault-provider-wire.ts +580 -0
  495. package/src/vaults.ts +1296 -0
  496. package/src/video-generation.ts +430 -361
  497. package/src/work-claims.ts +183 -166
  498. package/src/workspace-control-event.ts +134 -0
  499. package/src/workspace-governance-context.ts +63 -0
  500. package/src/workspace-instruction-policies.ts +346 -279
  501. package/src/workspace-integration-wire.ts +10 -0
  502. package/src/workspace-integrations.ts +488 -398
  503. package/src/workspace-learning-administration.ts +58 -44
  504. package/src/workspace-learning-policy.ts +126 -99
  505. package/src/workspace-state.ts +239 -220
  506. package/src/xai-provider-account-authority.ts +23 -17
  507. package/dist/chunk-3SIZGL3O.js.map +0 -1
  508. package/dist/chunk-566IFOVP.js +0 -26133
  509. package/dist/chunk-566IFOVP.js.map +0 -1
  510. package/dist/chunk-5IXYF6XN.js +0 -728
  511. package/dist/chunk-5IXYF6XN.js.map +0 -1
  512. package/dist/chunk-5Q54VCCH.js.map +0 -1
  513. package/dist/chunk-BCS7WHCK.js +0 -139
  514. package/dist/chunk-BCS7WHCK.js.map +0 -1
  515. package/dist/chunk-EK7NDGFR.js +0 -128
  516. package/dist/chunk-EK7NDGFR.js.map +0 -1
  517. package/dist/chunk-GRG7PHWQ.js +0 -25
  518. package/dist/chunk-GRG7PHWQ.js.map +0 -1
  519. package/dist/chunk-HHZSZYYF.js.map +0 -1
  520. package/dist/chunk-ICDZGUX2.js +0 -186
  521. package/dist/chunk-ICDZGUX2.js.map +0 -1
  522. package/dist/chunk-JUFK3T4Q.js +0 -80
  523. package/dist/chunk-JUFK3T4Q.js.map +0 -1
  524. package/dist/chunk-MYBZRDTY.js.map +0 -1
  525. package/dist/chunk-NRMCVHAU.js.map +0 -1
  526. package/dist/chunk-O77VSFYZ.js.map +0 -1
  527. package/dist/chunk-P3HLDT77.js +0 -59
  528. package/dist/chunk-P3HLDT77.js.map +0 -1
  529. package/dist/chunk-TXTQIYCV.js.map +0 -1
  530. package/dist/chunk-WYBDERIY.js.map +0 -1
  531. package/dist/chunk-Y3KNXVTD.js.map +0 -1
  532. package/dist/chunk-YBW5JSA3.js.map +0 -1
  533. package/dist/chunk-YRXAWWCU.js +0 -45
  534. package/dist/chunk-YRXAWWCU.js.map +0 -1
  535. package/dist/chunk-YWMOIZ6A.js +0 -185
  536. package/dist/chunk-YWMOIZ6A.js.map +0 -1
  537. package/dist/site-request-headers.test.d.ts +0 -1
  538. package/dist/transcription-recordings.d.ts +0 -300
  539. package/src/transcription-recordings.ts +0 -169
  540. /package/dist/{chunk-SIOU2K4U.js.map → chunk-LJH2EYGT.js.map} +0 -0
  541. /package/dist/{chunk-RIY7GYQS.js.map → chunk-PTSROVDG.js.map} +0 -0
  542. /package/dist/{chunk-YRKRZ6OF.js.map → chunk-TOOJIBJC.js.map} +0 -0
  543. /package/dist/{chunk-D2HKF2EF.js.map → chunk-XP5M3IKT.js.map} +0 -0
package/src/bots.ts ADDED
@@ -0,0 +1,238 @@
1
+ import { z } from "zod";
2
+ import { defineSchema } from "./define-schema";
3
+
4
+ /**
5
+ * Bots. A bot is an ordinary long-lived chat: its title is its name, and any
6
+ * chat may also carry a short description and an avatar. Both are display
7
+ * metadata for people; they never reach the model. People and the chat's own
8
+ * agent may change them at any time.
9
+ *
10
+ * A bot template is where a new bot starts: a name, description and avatar,
11
+ * plus setup instructions that become the new chat's first message. The
12
+ * agent then sets itself up with its ordinary tools (Skills, connections,
13
+ * schedules, machines) and the chat simply continues. A workspace keeps the
14
+ * templates its people and agents save.
15
+ *
16
+ * This module must not import `./index`.
17
+ */
18
+
19
+ export const SESSION_DESCRIPTION_MAX_LENGTH = 280;
20
+
21
+ /** Curated icon names (the web maps each to a Lucide glyph). */
22
+ export const SESSION_AVATAR_ICONS = [
23
+ "bot",
24
+ "bug",
25
+ "mail",
26
+ "git-pull-request",
27
+ "telescope",
28
+ "chart-line",
29
+ "file-text",
30
+ "shield-check",
31
+ "wrench",
32
+ "search",
33
+ "calendar-clock",
34
+ "megaphone",
35
+ "receipt",
36
+ "rocket",
37
+ "database",
38
+ "code",
39
+ "briefcase",
40
+ "book-open",
41
+ "flask-conical",
42
+ "globe",
43
+ "headset",
44
+ "pen-tool",
45
+ "users",
46
+ "sparkles",
47
+ ] as const;
48
+ export const SessionAvatarIcon = /* @__PURE__ */ defineSchema(() => z.enum(SESSION_AVATAR_ICONS));
49
+ export type SessionAvatarIcon = z.infer<typeof SessionAvatarIcon>;
50
+
51
+ const SESSION_AVATAR_EMOJI_PATTERN = /\p{Extended_Pictographic}|\p{Regional_Indicator}/u;
52
+
53
+ /** True when `value` is exactly one user-perceived character that is an emoji. */
54
+ export function isSingleSessionAvatarEmoji(value: string): boolean {
55
+ if (!SESSION_AVATAR_EMOJI_PATTERN.test(value)) return false;
56
+ const segmenter =
57
+ typeof Intl !== "undefined" && "Segmenter" in Intl
58
+ ? new Intl.Segmenter(undefined, { granularity: "grapheme" })
59
+ : null;
60
+ if (!segmenter) return [...value].length <= 8;
61
+ let count = 0;
62
+ for (const _segment of segmenter.segment(value)) {
63
+ count += 1;
64
+ if (count > 1) return false;
65
+ }
66
+ return count === 1;
67
+ }
68
+
69
+ /** Hue (0-359) of the avatar tile's background. */
70
+ export const SessionAvatarHue = /* @__PURE__ */ defineSchema(() =>
71
+ z.number().int().min(0).max(359),
72
+ );
73
+
74
+ /**
75
+ * What a chat looks like in lists and its header. `image` names an image file
76
+ * in the workspace (for example one the agent generated); each viewer opens it
77
+ * with their own access, and anyone who cannot sees the chat's initials.
78
+ */
79
+ export const SessionAvatar = /* @__PURE__ */ defineSchema(() =>
80
+ z.discriminatedUnion("kind", [
81
+ z
82
+ .object({
83
+ kind: z.literal("emoji"),
84
+ emoji: z.string().min(1).max(32).refine(isSingleSessionAvatarEmoji, {
85
+ message: "emoji must be a single emoji",
86
+ }),
87
+ hue: SessionAvatarHue,
88
+ })
89
+ .strict(),
90
+ z
91
+ .object({
92
+ kind: z.literal("icon"),
93
+ icon: SessionAvatarIcon,
94
+ hue: SessionAvatarHue,
95
+ })
96
+ .strict(),
97
+ z
98
+ .object({
99
+ kind: z.literal("letters"),
100
+ letters: z.string().regex(/^[\p{L}\p{N}]{1,2}$/u, {
101
+ message: "letters must be one or two letters or digits",
102
+ }),
103
+ hue: SessionAvatarHue,
104
+ })
105
+ .strict(),
106
+ z.object({ kind: z.literal("image"), artifactId: z.string().uuid() }).strict(),
107
+ ]),
108
+ );
109
+ export type SessionAvatar = z.infer<typeof SessionAvatar>;
110
+
111
+ /** An avatar a file can carry to another workspace: anything but an image. */
112
+ export const PortableSessionAvatar = /* @__PURE__ */ defineSchema(() =>
113
+ SessionAvatar.refine((avatar) => avatar.kind !== "image", {
114
+ message: "an image avatar stays in its workspace",
115
+ }),
116
+ );
117
+
118
+ /** Stored descriptions are trimmed; an empty one is no description. */
119
+ export const SessionDescription = /* @__PURE__ */ defineSchema(() =>
120
+ z
121
+ .string()
122
+ .trim()
123
+ .max(SESSION_DESCRIPTION_MAX_LENGTH)
124
+ .transform((value) => (value.length > 0 ? value : null)),
125
+ );
126
+
127
+ // --- Bot templates --------------------------------------------------------
128
+
129
+ export const BOT_TEMPLATE_NAME_MAX_LENGTH = 120;
130
+ export const BOT_TEMPLATE_SETUP_INSTRUCTIONS_MAX_LENGTH = 20_000;
131
+ /** Saved templates a workspace keeps; saving another past this is refused. */
132
+ export const BOT_TEMPLATES_PER_WORKSPACE_MAX = 200;
133
+
134
+ const Uuid = /* @__PURE__ */ defineSchema(() => z.string().uuid());
135
+ const BotTemplateName = /* @__PURE__ */ defineSchema(() =>
136
+ z.string().trim().min(1).max(BOT_TEMPLATE_NAME_MAX_LENGTH),
137
+ );
138
+ const BotTemplateDescription = /* @__PURE__ */ defineSchema(() =>
139
+ z.string().trim().max(SESSION_DESCRIPTION_MAX_LENGTH),
140
+ );
141
+ /** The new chat's first message: what the agent does to set itself up. */
142
+ const BotTemplateSetupInstructions = /* @__PURE__ */ defineSchema(() =>
143
+ z.string().trim().min(1).max(BOT_TEMPLATE_SETUP_INSTRUCTIONS_MAX_LENGTH),
144
+ );
145
+
146
+ /** A template saved in a workspace. */
147
+ export const WorkspaceBotTemplate = /* @__PURE__ */ defineSchema(() =>
148
+ z.object({
149
+ id: Uuid,
150
+ workspaceId: Uuid,
151
+ name: z.string(),
152
+ description: z.string(),
153
+ avatar: SessionAvatar.nullable(),
154
+ setupInstructions: z.string(),
155
+ /** The chat it was saved from, when it was saved from one. */
156
+ sourceSessionId: Uuid.nullable(),
157
+ /** Who saved it; null when a workspace-level caller did. */
158
+ createdBySubjectId: z.string().nullable(),
159
+ /** `manage`: the reader may rename, change or delete it. */
160
+ viewerAccess: z.enum(["manage", "use"]),
161
+ createdAt: z.string(),
162
+ updatedAt: z.string(),
163
+ }),
164
+ );
165
+ export type WorkspaceBotTemplate = z.output<typeof WorkspaceBotTemplate>;
166
+
167
+ export const CreateBotTemplateRequest = /* @__PURE__ */ defineSchema(() =>
168
+ z
169
+ .object({
170
+ name: BotTemplateName,
171
+ description: BotTemplateDescription.default(""),
172
+ avatar: SessionAvatar.nullable().default(null),
173
+ setupInstructions: BotTemplateSetupInstructions,
174
+ sourceSessionId: Uuid.nullable().default(null),
175
+ })
176
+ .strict(),
177
+ );
178
+ export type CreateBotTemplateRequest = z.input<typeof CreateBotTemplateRequest>;
179
+ export type ParsedCreateBotTemplateRequest = z.output<typeof CreateBotTemplateRequest>;
180
+
181
+ /** Changes only what it names. */
182
+ export const UpdateBotTemplateRequest = /* @__PURE__ */ defineSchema(() =>
183
+ z
184
+ .object({
185
+ name: BotTemplateName.optional(),
186
+ description: BotTemplateDescription.optional(),
187
+ avatar: SessionAvatar.nullable().optional(),
188
+ setupInstructions: BotTemplateSetupInstructions.optional(),
189
+ })
190
+ .strict(),
191
+ );
192
+ export type UpdateBotTemplateRequest = z.input<typeof UpdateBotTemplateRequest>;
193
+ export type ParsedUpdateBotTemplateRequest = z.output<typeof UpdateBotTemplateRequest>;
194
+
195
+ export const ListBotTemplatesResponse = /* @__PURE__ */ defineSchema(() =>
196
+ z.object({ templates: z.array(WorkspaceBotTemplate) }),
197
+ );
198
+ export type ListBotTemplatesResponse = z.output<typeof ListBotTemplatesResponse>;
199
+
200
+ export const BotTemplateResponse = /* @__PURE__ */ defineSchema(() =>
201
+ z.object({ template: WorkspaceBotTemplate }),
202
+ );
203
+ export type BotTemplateResponse = z.output<typeof BotTemplateResponse>;
204
+
205
+ export const BOT_TEMPLATE_FILE_FORMAT = "opengeni.bot-template";
206
+
207
+ /**
208
+ * A template as a file, to share outside its workspace. It carries no ids,
209
+ * owner or image: importing it saves a new template in the importer's
210
+ * workspace, and an image avatar becomes the name's initials.
211
+ */
212
+ export const BotTemplateFile = /* @__PURE__ */ defineSchema(() =>
213
+ z
214
+ .object({
215
+ format: z.literal(BOT_TEMPLATE_FILE_FORMAT),
216
+ version: z.literal(1),
217
+ name: BotTemplateName,
218
+ description: BotTemplateDescription.default(""),
219
+ avatar: PortableSessionAvatar.nullable().default(null),
220
+ setupInstructions: BotTemplateSetupInstructions,
221
+ })
222
+ .strict(),
223
+ );
224
+ export type BotTemplateFile = z.input<typeof BotTemplateFile>;
225
+
226
+ /** The file for a template; an image avatar is dropped (see {@link BotTemplateFile}). */
227
+ export function botTemplateFile(
228
+ template: Pick<WorkspaceBotTemplate, "name" | "description" | "avatar" | "setupInstructions">,
229
+ ): z.output<typeof BotTemplateFile> {
230
+ return {
231
+ format: BOT_TEMPLATE_FILE_FORMAT,
232
+ version: 1,
233
+ name: template.name,
234
+ description: template.description,
235
+ avatar: template.avatar && template.avatar.kind !== "image" ? template.avatar : null,
236
+ setupInstructions: template.setupInstructions,
237
+ };
238
+ }
@@ -1,36 +1,93 @@
1
+ import * as primitives from "./primitives";
2
+ import { defineSchema } from "./define-schema";
1
3
  import { z } from "zod";
2
4
 
3
- export const BundledSkillId = z.enum([
5
+ /**
6
+ * Ids are permanent. The product-named ids on the left were renamed to
7
+ * neutral ones so embedding products never show another product's name to
8
+ * their agents. They stay accepted in requests and stored selections, and
9
+ * every selection resolves them to the current id.
10
+ */
11
+ export const LEGACY_BUNDLED_SKILL_IDS = {
12
+ "builtin:opengeni-visualize": "builtin:visualize",
13
+ "builtin:opengeni-skills": "builtin:skill-management",
14
+ "builtin:opengeni-projects": "builtin:projects",
15
+ "builtin:opengeni-schedules": "builtin:schedules",
16
+ "builtin:opengeni-documents": "builtin:documents",
17
+ "builtin:opengeni-spreadsheets": "builtin:spreadsheets",
18
+ "builtin:opengeni-presentations": "builtin:presentations",
19
+ "builtin:opengeni-sites": "builtin:sites",
20
+ "builtin:opengeni-video-generation": "builtin:video-generation",
21
+ "builtin:opengeni-secrets": "builtin:secrets",
22
+ } as const;
23
+ const CURRENT_BUNDLED_SKILL_IDS = [
4
24
  "builtin:opengeni-help",
5
25
  "builtin:opengeni-client",
6
- "builtin:opengeni-visualize",
26
+ "builtin:visualize",
7
27
  "builtin:document-parsing",
8
- "builtin:opengeni-skills",
9
- "builtin:opengeni-projects",
10
- "builtin:opengeni-documents",
11
- "builtin:opengeni-spreadsheets",
12
- "builtin:opengeni-presentations",
13
- "builtin:opengeni-sites",
14
- "builtin:opengeni-video-generation",
15
- ]);
28
+ "builtin:skill-management",
29
+ "builtin:projects",
30
+ "builtin:schedules",
31
+ "builtin:event-triggers",
32
+ "builtin:documents",
33
+ "builtin:spreadsheets",
34
+ "builtin:presentations",
35
+ "builtin:sites",
36
+ "builtin:video-generation",
37
+ "builtin:secrets",
38
+ ] as const;
39
+ type LegacyBundledSkillId = keyof typeof LEGACY_BUNDLED_SKILL_IDS;
40
+
41
+ /** Every accepted id: the current ids, then the legacy ids they replaced. */
42
+ export const BundledSkillId = /* @__PURE__ */ defineSchema(() =>
43
+ z.enum([
44
+ ...CURRENT_BUNDLED_SKILL_IDS,
45
+ ...(Object.keys(LEGACY_BUNDLED_SKILL_IDS) as LegacyBundledSkillId[]),
46
+ ]),
47
+ );
16
48
  export type BundledSkillId = z.infer<typeof BundledSkillId>;
17
- export const BundledSkillSelection = z
18
- .array(BundledSkillId)
19
- .max(BundledSkillId.options.length)
20
- .refine((ids) => new Set(ids).size === ids.length, "bundled Skill ids must be unique")
21
- .transform((ids) => [...ids].sort());
49
+
50
+ /** The current id for a bundled Skill id; a legacy id maps to its rename. */
51
+ export function canonicalBundledSkillId<T extends string>(id: T): T | BundledSkillId {
52
+ return (LEGACY_BUNDLED_SKILL_IDS as Record<string, BundledSkillId>)[id] ?? id;
53
+ }
54
+
55
+ export const BundledSkillSelection = /* @__PURE__ */ defineSchema(() =>
56
+ z
57
+ .array(BundledSkillId)
58
+ .max(BundledSkillId.options.length)
59
+ .transform((ids) => ids.map((id) => canonicalBundledSkillId(id)))
60
+ .refine((ids) => new Set(ids).size === ids.length, "bundled Skill ids must be unique")
61
+ .transform((ids) => [...ids].sort()),
62
+ );
22
63
 
23
64
  /** Undefined is defaults/inheritance; an explicit empty list disables bundles. */
24
65
  export function resolveBundledSkillSelection(
25
66
  requested: readonly BundledSkillId[] | undefined,
26
67
  parent: readonly BundledSkillId[] | undefined,
27
68
  ): BundledSkillId[] | undefined {
28
- const selected = requested === undefined ? parent : requested;
29
- if (parent !== undefined && selected?.some((id) => !parent.includes(id)))
69
+ const selected = (requested === undefined ? parent : requested)?.map((id) =>
70
+ canonicalBundledSkillId(id),
71
+ );
72
+ const allowed = parent?.map((id) => canonicalBundledSkillId(id));
73
+ if (allowed !== undefined && selected?.some((id) => !allowed.includes(id)))
30
74
  throw new Error("A child cannot widen its parent's bundled Skill selection");
31
75
  return selected === undefined ? undefined : BundledSkillSelection.parse(selected);
32
76
  }
33
77
 
78
+ /**
79
+ * Freeze the defaults a session's agent configuration implies. An agent that
80
+ * starts from `capabilities: "none"` carries no bundled Opengeni guides unless
81
+ * the request lists them; an explicit list (including `[]`) is kept exactly,
82
+ * and `"all"` or legacy (null) configurations keep the bundled defaults.
83
+ */
84
+ export function bundledSkillSelectionForAgentConfig(
85
+ selection: BundledSkillId[] | undefined,
86
+ agentConfig: { from: "all" | "none" } | null | undefined,
87
+ ): BundledSkillId[] | undefined {
88
+ return selection === undefined && agentConfig?.from === "none" ? [] : selection;
89
+ }
90
+
34
91
  // Immutable session configuration, following the existing create-identity
35
92
  // metadata convention. Callers cannot set this through arbitrary metadata.
36
93
  const BUNDLED_SKILL_SELECTION_KEY = "_opengeni_bundled_skill_ids_v1";
@@ -50,8 +107,8 @@ export function withBundledSkillSelectionMetadata(
50
107
  * stored selection and never turns it back into defaults. Input stays strict,
51
108
  * and a value that is not a list of id strings still fails.
52
109
  */
53
- const StoredBundledSkillSelection = z.array(z.string());
54
- const knownBundledSkillIds: ReadonlySet<string> = new Set(BundledSkillId.options);
110
+ const StoredBundledSkillSelection = /* @__PURE__ */ defineSchema(() => z.array(primitives.string));
111
+ const knownBundledSkillIds: ReadonlySet<string> = new Set(CURRENT_BUNDLED_SKILL_IDS);
55
112
  /**
56
113
  * Exact stored selection for keyed create replay identity. Unlike the
57
114
  * tolerant read, it keeps ids this build does not know: a retry must match
@@ -65,8 +122,8 @@ export function bundledSkillSelectionFromMetadata(
65
122
  ): BundledSkillId[] | undefined {
66
123
  const value = metadata[BUNDLED_SKILL_SELECTION_KEY];
67
124
  if (value === undefined) return undefined;
68
- const known = StoredBundledSkillSelection.parse(value).filter((id): id is BundledSkillId =>
69
- knownBundledSkillIds.has(id),
70
- );
125
+ const known = StoredBundledSkillSelection.parse(value)
126
+ .map((id) => canonicalBundledSkillId(id))
127
+ .filter((id): id is BundledSkillId => knownBundledSkillIds.has(id));
71
128
  return [...new Set(known)].sort();
72
129
  }
@@ -1,93 +1,96 @@
1
+ import * as primitives from "./primitives";
2
+ import { defineSchema } from "./define-schema";
1
3
  import { z } from "zod";
2
4
 
3
- export const CanonicalHumanIdentityStatus = z.enum([
4
- "active",
5
- "recovery_required",
6
- "disputed",
7
- "disabled",
8
- ]);
5
+ export const CanonicalHumanIdentityStatus = /* @__PURE__ */ defineSchema(() =>
6
+ z.enum(["active", "recovery_required", "disputed", "disabled"]),
7
+ );
9
8
  export type CanonicalHumanIdentityStatus = z.infer<typeof CanonicalHumanIdentityStatus>;
10
9
 
11
- export const CanonicalHumanLoginBindingStatus = z.enum([
12
- "active",
13
- "recovery_pending",
14
- "stale",
15
- "disputed",
16
- "revoked",
17
- ]);
10
+ export const CanonicalHumanLoginBindingStatus = /* @__PURE__ */ defineSchema(() =>
11
+ z.enum(["active", "recovery_pending", "stale", "disputed", "revoked"]),
12
+ );
18
13
  export type CanonicalHumanLoginBindingStatus = z.infer<typeof CanonicalHumanLoginBindingStatus>;
19
14
 
20
- export const CanonicalHumanRecoveryState = z.enum([
21
- "ready",
22
- "recovery_required",
23
- "lost_factor",
24
- "disputed",
25
- "disabled",
26
- ]);
15
+ export const CanonicalHumanRecoveryState = /* @__PURE__ */ defineSchema(() =>
16
+ z.enum(["ready", "recovery_required", "lost_factor", "disputed", "disabled"]),
17
+ );
27
18
  export type CanonicalHumanRecoveryState = z.infer<typeof CanonicalHumanRecoveryState>;
28
19
 
29
- export const CanonicalHumanLoginBinding = z.object({
30
- id: z.string().uuid(),
31
- providerId: z.string().min(1).max(128),
32
- providerAccountId: z.string().min(1).max(1024),
33
- status: CanonicalHumanLoginBindingStatus,
34
- revision: z.number().int().positive(),
35
- verifiedAt: z.string().datetime(),
36
- lastVerifiedAt: z.string().datetime(),
37
- revokedAt: z.string().datetime().nullable(),
38
- createdAt: z.string().datetime(),
39
- updatedAt: z.string().datetime(),
40
- });
20
+ export const CanonicalHumanLoginBinding = /* @__PURE__ */ defineSchema(() =>
21
+ z.object({
22
+ id: primitives.uuid,
23
+ providerId: z.string().min(1).max(128),
24
+ providerAccountId: z.string().min(1).max(1024),
25
+ status: CanonicalHumanLoginBindingStatus,
26
+ revision: primitives.positiveInteger,
27
+ verifiedAt: primitives.dateTime,
28
+ lastVerifiedAt: primitives.dateTime,
29
+ revokedAt: z.string().datetime().nullable(),
30
+ createdAt: primitives.dateTime,
31
+ updatedAt: primitives.dateTime,
32
+ }),
33
+ );
41
34
  export type CanonicalHumanLoginBinding = z.infer<typeof CanonicalHumanLoginBinding>;
42
35
 
43
- export const CanonicalHumanIdentityProjection = z.object({
44
- activeIdentity: z.object({
45
- id: z.string().uuid(),
46
- displayName: z.string().min(1).max(256),
47
- status: CanonicalHumanIdentityStatus,
48
- identityRevision: z.number().int().positive(),
49
- authRevision: z.number().int().positive(),
50
- activeLoginBindingId: z.string().uuid().nullable(),
51
- recoveryState: CanonicalHumanRecoveryState,
52
- createdAt: z.string().datetime(),
53
- updatedAt: z.string().datetime(),
36
+ export const CanonicalHumanIdentityProjection = /* @__PURE__ */ defineSchema(() =>
37
+ z.object({
38
+ activeIdentity: z.object({
39
+ id: primitives.uuid,
40
+ displayName: z.string().min(1).max(256),
41
+ status: CanonicalHumanIdentityStatus,
42
+ identityRevision: primitives.positiveInteger,
43
+ authRevision: primitives.positiveInteger,
44
+ activeLoginBindingId: primitives.nullableUuid,
45
+ recoveryState: CanonicalHumanRecoveryState,
46
+ createdAt: primitives.dateTime,
47
+ updatedAt: primitives.dateTime,
48
+ }),
49
+ loginBindings: z.array(CanonicalHumanLoginBinding).max(64),
54
50
  }),
55
- loginBindings: z.array(CanonicalHumanLoginBinding).max(64),
56
- });
51
+ );
57
52
  export type CanonicalHumanIdentityProjection = z.infer<typeof CanonicalHumanIdentityProjection>;
58
53
 
59
54
  const OperationFields = {
60
- operationId: z.string().uuid().optional(),
61
- expectedIdentityRevision: z.number().int().positive(),
62
- reason: z.string().trim().min(1).max(512),
55
+ operationId: primitives.optionalUuid,
56
+ expectedIdentityRevision: primitives.positiveInteger,
57
+ reason: primitives.string.trim().min(1).max(512),
63
58
  } as const;
64
59
 
65
- export const LinkCanonicalHumanLoginBindingRequest = z.object({
66
- ...OperationFields,
67
- providerId: z.string().trim().min(1).max(128),
68
- providerAccountId: z.string().trim().min(1).max(1024),
69
- });
60
+ export const LinkCanonicalHumanLoginBindingRequest = /* @__PURE__ */ defineSchema(() =>
61
+ z.object({
62
+ ...OperationFields,
63
+ providerId: primitives.string.trim().min(1).max(128),
64
+ providerAccountId: primitives.string.trim().min(1).max(1024),
65
+ }),
66
+ );
70
67
  export type LinkCanonicalHumanLoginBindingRequest = z.infer<
71
68
  typeof LinkCanonicalHumanLoginBindingRequest
72
69
  >;
73
70
 
74
- export const CanonicalHumanBindingOperationRequest = z.object({
75
- ...OperationFields,
76
- });
71
+ export const CanonicalHumanBindingOperationRequest = /* @__PURE__ */ defineSchema(() =>
72
+ z.object({
73
+ ...OperationFields,
74
+ }),
75
+ );
77
76
  export type CanonicalHumanBindingOperationRequest = z.infer<
78
77
  typeof CanonicalHumanBindingOperationRequest
79
78
  >;
80
79
 
81
- export const CanonicalHumanIdentityMutationOutcome = z.enum(["applied", "lost_factor", "disputed"]);
80
+ export const CanonicalHumanIdentityMutationOutcome = /* @__PURE__ */ defineSchema(() =>
81
+ z.enum(["applied", "lost_factor", "disputed"]),
82
+ );
82
83
  export type CanonicalHumanIdentityMutationOutcome = z.infer<
83
84
  typeof CanonicalHumanIdentityMutationOutcome
84
85
  >;
85
86
 
86
- export const CanonicalHumanIdentityMutationResponse = z.object({
87
- outcome: CanonicalHumanIdentityMutationOutcome,
88
- operationId: z.string().uuid(),
89
- identity: CanonicalHumanIdentityProjection,
90
- });
87
+ export const CanonicalHumanIdentityMutationResponse = /* @__PURE__ */ defineSchema(() =>
88
+ z.object({
89
+ outcome: CanonicalHumanIdentityMutationOutcome,
90
+ operationId: primitives.uuid,
91
+ identity: CanonicalHumanIdentityProjection,
92
+ }),
93
+ );
91
94
  export type CanonicalHumanIdentityMutationResponse = z.infer<
92
95
  typeof CanonicalHumanIdentityMutationResponse
93
96
  >;