@opengeni/contracts 5.5.0 → 5.5.2-canary.40656248492001

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (543) hide show
  1. package/dist/agent-authored-durable-text.d.ts +9 -9
  2. package/dist/agent-config.d.ts +148 -37
  3. package/dist/api-key-presets.d.ts +19 -0
  4. package/dist/app-action-catalog-types.d.ts +32 -0
  5. package/dist/app-action-catalog.gen.d.ts +2 -0
  6. package/dist/app-actions.d.ts +91 -0
  7. package/dist/app-actions.js +10130 -0
  8. package/dist/app-actions.js.map +1 -0
  9. package/dist/app-shot.d.ts +55 -0
  10. package/dist/artifact-catalog.d.ts +33 -0
  11. package/dist/artifacts.d.ts +166 -0
  12. package/dist/atlassian-native-retirement.d.ts +16 -0
  13. package/dist/atlassian-native-retirement.js +30 -0
  14. package/dist/atlassian-native-retirement.js.map +1 -0
  15. package/dist/atlassian.js +48 -23
  16. package/dist/automation-templates.d.ts +434 -0
  17. package/dist/automation-templates.js +31 -0
  18. package/dist/automation-templates.js.map +1 -0
  19. package/dist/billing-subscriptions.d.ts +61 -0
  20. package/dist/bots.d.ts +583 -0
  21. package/dist/bundled-skills.d.ts +58 -2
  22. package/dist/canonical-human-identities.js +3 -1
  23. package/dist/child-lifecycle-notice-protocol.d.ts +45 -0
  24. package/dist/chunk-2QKIEAGY.js +396 -0
  25. package/dist/chunk-2QKIEAGY.js.map +1 -0
  26. package/dist/chunk-2WOWEWXV.js +426 -0
  27. package/dist/chunk-2WOWEWXV.js.map +1 -0
  28. package/dist/chunk-2ZIHHL72.js +153 -0
  29. package/dist/chunk-2ZIHHL72.js.map +1 -0
  30. package/dist/chunk-32U6NKQQ.js +389 -0
  31. package/dist/chunk-32U6NKQQ.js.map +1 -0
  32. package/dist/chunk-4YDDHSO2.js +799 -0
  33. package/dist/chunk-4YDDHSO2.js.map +1 -0
  34. package/dist/chunk-56SNIMDO.js +9 -0
  35. package/dist/chunk-56SNIMDO.js.map +1 -0
  36. package/dist/chunk-5RWB6QVL.js +101 -0
  37. package/dist/chunk-5RWB6QVL.js.map +1 -0
  38. package/dist/chunk-5UGUOT3L.js +243 -0
  39. package/dist/chunk-5UGUOT3L.js.map +1 -0
  40. package/dist/chunk-6LAT33BH.js +130 -0
  41. package/dist/chunk-6LAT33BH.js.map +1 -0
  42. package/dist/chunk-7272KVWZ.js +60 -0
  43. package/dist/chunk-7272KVWZ.js.map +1 -0
  44. package/dist/chunk-72QC2GTL.js +36 -0
  45. package/dist/chunk-72QC2GTL.js.map +1 -0
  46. package/dist/chunk-7EQGGZBY.js +105 -0
  47. package/dist/chunk-7EQGGZBY.js.map +1 -0
  48. package/dist/chunk-A3LXWVYU.js +382 -0
  49. package/dist/chunk-A3LXWVYU.js.map +1 -0
  50. package/dist/chunk-AQYDZUJV.js +34 -0
  51. package/dist/chunk-AQYDZUJV.js.map +1 -0
  52. package/dist/chunk-BHCEVVUP.js +93 -0
  53. package/dist/chunk-BHCEVVUP.js.map +1 -0
  54. package/dist/chunk-BMUTAZX5.js +486 -0
  55. package/dist/chunk-BMUTAZX5.js.map +1 -0
  56. package/dist/chunk-DGG6IBBK.js +150 -0
  57. package/dist/chunk-DGG6IBBK.js.map +1 -0
  58. package/dist/{chunk-YBW5JSA3.js → chunk-FBCTUMHI.js} +123 -102
  59. package/dist/chunk-FBCTUMHI.js.map +1 -0
  60. package/dist/chunk-G2KJTFIC.js +97 -0
  61. package/dist/chunk-G2KJTFIC.js.map +1 -0
  62. package/dist/chunk-G4RKARXZ.js +1167 -0
  63. package/dist/chunk-G4RKARXZ.js.map +1 -0
  64. package/dist/chunk-H6UJJIUM.js +350 -0
  65. package/dist/chunk-H6UJJIUM.js.map +1 -0
  66. package/dist/chunk-JOTHDW4H.js +18 -0
  67. package/dist/chunk-JOTHDW4H.js.map +1 -0
  68. package/dist/chunk-L4GUEP7K.js +56480 -0
  69. package/dist/chunk-L4GUEP7K.js.map +1 -0
  70. package/dist/{chunk-SIOU2K4U.js → chunk-LJH2EYGT.js} +23 -23
  71. package/dist/chunk-MTJKSIGA.js +161 -0
  72. package/dist/chunk-MTJKSIGA.js.map +1 -0
  73. package/dist/chunk-MYHMB6GZ.js +202 -0
  74. package/dist/chunk-MYHMB6GZ.js.map +1 -0
  75. package/dist/chunk-PI5VIKJY.js +660 -0
  76. package/dist/chunk-PI5VIKJY.js.map +1 -0
  77. package/dist/{chunk-RIY7GYQS.js → chunk-PTSROVDG.js} +2 -2
  78. package/dist/chunk-PUIUXIOL.js +189 -0
  79. package/dist/chunk-PUIUXIOL.js.map +1 -0
  80. package/dist/chunk-R6VXJIMB.js +19 -0
  81. package/dist/chunk-R6VXJIMB.js.map +1 -0
  82. package/dist/chunk-RLJUNVAM.js +15 -0
  83. package/dist/chunk-RLJUNVAM.js.map +1 -0
  84. package/dist/chunk-RR6APCBK.js +213 -0
  85. package/dist/chunk-RR6APCBK.js.map +1 -0
  86. package/dist/{chunk-TXTQIYCV.js → chunk-RUQ4I6DO.js} +59 -13
  87. package/dist/chunk-RUQ4I6DO.js.map +1 -0
  88. package/dist/{chunk-WYBDERIY.js → chunk-RWEEUDHD.js} +53 -42
  89. package/dist/chunk-RWEEUDHD.js.map +1 -0
  90. package/dist/chunk-S7MSQQL6.js +158 -0
  91. package/dist/chunk-S7MSQQL6.js.map +1 -0
  92. package/dist/{chunk-5Q54VCCH.js → chunk-SHO4YO4B.js} +20 -36
  93. package/dist/chunk-SHO4YO4B.js.map +1 -0
  94. package/dist/{chunk-HHZSZYYF.js → chunk-T3HSWMA5.js} +20 -4
  95. package/dist/chunk-T3HSWMA5.js.map +1 -0
  96. package/dist/{chunk-YRKRZ6OF.js → chunk-TOOJIBJC.js} +2 -2
  97. package/dist/chunk-UCUOTRS6.js +431 -0
  98. package/dist/chunk-UCUOTRS6.js.map +1 -0
  99. package/dist/chunk-UH4K7GP7.js +424 -0
  100. package/dist/chunk-UH4K7GP7.js.map +1 -0
  101. package/dist/chunk-UIZWGPHV.js +120 -0
  102. package/dist/chunk-UIZWGPHV.js.map +1 -0
  103. package/dist/chunk-VLUKBV6Y.js +1170 -0
  104. package/dist/chunk-VLUKBV6Y.js.map +1 -0
  105. package/dist/chunk-W2QQ5Y6K.js +55 -0
  106. package/dist/chunk-W2QQ5Y6K.js.map +1 -0
  107. package/dist/{chunk-Y3KNXVTD.js → chunk-W3NBPR4E.js} +131 -31
  108. package/dist/chunk-W3NBPR4E.js.map +1 -0
  109. package/dist/{chunk-NRMCVHAU.js → chunk-WMGO4HJU.js} +11 -9
  110. package/dist/chunk-WMGO4HJU.js.map +1 -0
  111. package/dist/{chunk-MYBZRDTY.js → chunk-WQI7VNN4.js} +19 -9
  112. package/dist/chunk-WQI7VNN4.js.map +1 -0
  113. package/dist/{chunk-PX3VCKAU.js → chunk-WVCFSOUZ.js} +1 -1
  114. package/dist/{chunk-PX3VCKAU.js.map → chunk-WVCFSOUZ.js.map} +1 -1
  115. package/dist/chunk-XB6GQLBH.js +76 -0
  116. package/dist/chunk-XB6GQLBH.js.map +1 -0
  117. package/dist/{chunk-D2HKF2EF.js → chunk-XP5M3IKT.js} +2 -2
  118. package/dist/{chunk-O77VSFYZ.js → chunk-ZMPU5BWE.js} +12 -2
  119. package/dist/chunk-ZMPU5BWE.js.map +1 -0
  120. package/dist/{chunk-3SIZGL3O.js → chunk-ZYVEJFNU.js} +22 -18
  121. package/dist/chunk-ZYVEJFNU.js.map +1 -0
  122. package/dist/claude-provider-account-authority.d.ts +18 -0
  123. package/dist/claude-subscription-oauth.d.ts +25 -0
  124. package/dist/claude-subscription-usage.d.ts +95 -1
  125. package/dist/client-error-report.d.ts +154 -8
  126. package/dist/client-error-report.js +157 -2
  127. package/dist/client-error-report.js.map +1 -1
  128. package/dist/code-search.d.ts +1 -1
  129. package/dist/code-search.js.map +1 -1
  130. package/dist/codex-provider-account-authority.js +23 -12
  131. package/dist/codex-provider-account-authority.js.map +1 -1
  132. package/dist/company-profile.d.ts +144 -0
  133. package/dist/connect.d.ts +38 -0
  134. package/dist/connect.js +244 -164
  135. package/dist/connect.js.map +1 -1
  136. package/dist/connection-account-label.d.ts +2 -0
  137. package/dist/connection-account-label.js +34 -0
  138. package/dist/connection-account-label.js.map +1 -0
  139. package/dist/connection-authority.js +49 -24
  140. package/dist/connector-attachments.js +3 -1
  141. package/dist/connector-destinations.js +3 -1
  142. package/dist/connector-tool-permissions.d.ts +68 -4
  143. package/dist/credential-profiles.d.ts +166 -0
  144. package/dist/cua-desktop-tools.d.ts +19 -0
  145. package/dist/define-schema.d.ts +8 -0
  146. package/dist/desktop-app.d.ts +28 -0
  147. package/dist/direct-model-provider.d.ts +38 -0
  148. package/dist/document-artifact-commands.js +2 -2
  149. package/dist/document-artifact-query.js +2 -2
  150. package/dist/editable-artifact-binary.d.ts +7 -0
  151. package/dist/editable-artifact-causal-frontier.js +2 -2
  152. package/dist/editable-artifact-codec-registry.js +7 -7
  153. package/dist/editable-artifact-committed-transaction.js +4 -2
  154. package/dist/editable-artifact-live.js +8 -8
  155. package/dist/editable-artifact-serialized-commit.js +9 -9
  156. package/dist/editable-artifact-versions.d.ts +7 -1
  157. package/dist/editable-artifact-versions.js +1 -1
  158. package/dist/editable-artifacts.js +49 -43
  159. package/dist/event-preview.d.ts +22 -0
  160. package/dist/event-triggers.d.ts +1253 -0
  161. package/dist/event-triggers.js +148 -0
  162. package/dist/event-triggers.js.map +1 -0
  163. package/dist/external-identities.d.ts +34 -0
  164. package/dist/external-identities.js +4 -2
  165. package/dist/feedback.d.ts +181 -0
  166. package/dist/file-access.d.ts +23 -0
  167. package/dist/first-party-tool-authorization.d.ts +852 -0
  168. package/dist/github-repository-contracts.js +64 -43
  169. package/dist/github-repository-contracts.js.map +1 -1
  170. package/dist/google-drive-native-retirement.d.ts +12 -0
  171. package/dist/google-drive-native-retirement.js +20 -0
  172. package/dist/google-drive-native-retirement.js.map +1 -0
  173. package/dist/google-drive.d.ts +1 -1
  174. package/dist/google-drive.js +323 -239
  175. package/dist/google-drive.js.map +1 -1
  176. package/dist/host-mcp-bindings.js +250 -198
  177. package/dist/host-mcp-bindings.js.map +1 -1
  178. package/dist/index.d.ts +29072 -20593
  179. package/dist/index.js +2432 -366
  180. package/dist/inference-residency.d.ts +22 -0
  181. package/dist/insights-usage.d.ts +948 -0
  182. package/dist/insights-usage.js +608 -0
  183. package/dist/insights-usage.js.map +1 -0
  184. package/dist/integration-capability-id.d.ts +8 -0
  185. package/dist/interaction-action-deadline.d.ts +48 -0
  186. package/dist/interaction-driver-diagnostic.d.ts +28 -0
  187. package/dist/interaction.d.ts +2126 -881
  188. package/dist/knowledge-entries.d.ts +38 -0
  189. package/dist/knowledge-preparation.d.ts +4 -0
  190. package/dist/learning-refusal.d.ts +43 -0
  191. package/dist/learning-refusal.js +49 -0
  192. package/dist/learning-refusal.js.map +1 -0
  193. package/dist/managed-auth-session-sets.d.ts +1 -0
  194. package/dist/managed-auth-session-sets.js +207 -146
  195. package/dist/managed-auth-session-sets.js.map +1 -1
  196. package/dist/managed-sign-in-methods.d.ts +96 -0
  197. package/dist/managed-sign-in-methods.js +157 -35
  198. package/dist/managed-sign-in-methods.js.map +1 -1
  199. package/dist/mcp-structured-content.d.ts +25 -0
  200. package/dist/message-time-zone.d.ts +38 -0
  201. package/dist/message-time-zone.js +19 -0
  202. package/dist/message-time-zone.js.map +1 -0
  203. package/dist/modal-native-proof-v2.d.ts +587 -0
  204. package/dist/modal-native-proof-v2.js +39 -0
  205. package/dist/modal-native-proof-v2.js.map +1 -0
  206. package/dist/model-account-choice.d.ts +237 -0
  207. package/dist/model-account-settings.d.ts +422 -0
  208. package/dist/model-availability.d.ts +15 -0
  209. package/dist/model-connection-access.d.ts +13 -0
  210. package/dist/model-context-inspector.d.ts +8 -0
  211. package/dist/model-display.d.ts +43 -0
  212. package/dist/model-display.js +17 -0
  213. package/dist/model-display.js.map +1 -0
  214. package/dist/model-picker-order.js.map +1 -1
  215. package/dist/model-residency.d.ts +304 -0
  216. package/dist/organization-access.d.ts +416 -0
  217. package/dist/organization-access.js +40 -0
  218. package/dist/organization-access.js.map +1 -0
  219. package/dist/organization-integration-policy.d.ts +18 -0
  220. package/dist/organization-membership-lifecycle.d.ts +66 -0
  221. package/dist/organization-model-usage.d.ts +146 -0
  222. package/dist/organization-model-usage.js +87 -0
  223. package/dist/organization-model-usage.js.map +1 -0
  224. package/dist/organization-recovery.js +3 -1
  225. package/dist/organization-usage.d.ts +12 -0
  226. package/dist/passkey-only-account.d.ts +14 -0
  227. package/dist/passkey-only-account.js +13 -0
  228. package/dist/passkey-only-account.js.map +1 -0
  229. package/dist/permissions.d.ts +19 -0
  230. package/dist/personal-github.js +220 -148
  231. package/dist/personal-github.js.map +1 -1
  232. package/dist/personal-integration-setup.d.ts +81 -0
  233. package/dist/personal-integration-setup.js +42 -0
  234. package/dist/personal-integration-setup.js.map +1 -0
  235. package/dist/prepared-mcp-setup.d.ts +54 -0
  236. package/dist/prepared-mcp-setup.js +13 -0
  237. package/dist/prepared-mcp-setup.js.map +1 -0
  238. package/dist/presentation-artifact-commands.js +2 -2
  239. package/dist/presentation-artifact-query.js +2 -2
  240. package/dist/primitives.d.ts +18 -0
  241. package/dist/product-analytics.d.ts +27 -10
  242. package/dist/product-lifecycle-facts.d.ts +26 -3
  243. package/dist/prompt-cache-diagnostics.d.ts +92 -0
  244. package/dist/recordings.d.ts +1371 -0
  245. package/dist/remember.d.ts +98 -2
  246. package/dist/retained-output.d.ts +4 -2
  247. package/dist/sandbox-file-artifacts.d.ts +19 -2
  248. package/dist/sandbox-provider-command.d.ts +5 -44
  249. package/dist/sandbox-recovery.d.ts +139 -8
  250. package/dist/secret-generator.d.ts +44 -0
  251. package/dist/secret-mask-strings.d.ts +32 -0
  252. package/dist/secret-references.d.ts +90 -0
  253. package/dist/secret-resolution.d.ts +143 -0
  254. package/dist/secret-shape-masking.d.ts +52 -0
  255. package/dist/secret-shape-masking.js +19 -0
  256. package/dist/secret-shape-masking.js.map +1 -0
  257. package/dist/secret-totp.d.ts +41 -0
  258. package/dist/secret-use-approval-question.d.ts +11 -0
  259. package/dist/secret-use-approval-question.js +11 -0
  260. package/dist/secret-use-approval-question.js.map +1 -0
  261. package/dist/secret-use-approvals.d.ts +106 -0
  262. package/dist/secret-value-masking.d.ts +299 -0
  263. package/dist/secret-value-masking.js +62 -0
  264. package/dist/secret-value-masking.js.map +1 -0
  265. package/dist/secret-value.d.ts +19 -0
  266. package/dist/session-history-import.d.ts +444 -8
  267. package/dist/session-history.d.ts +111 -0
  268. package/dist/session-history.js +35 -0
  269. package/dist/session-history.js.map +1 -0
  270. package/dist/session-list-entries.d.ts +8 -0
  271. package/dist/session-list-entries.js +61 -0
  272. package/dist/session-list-entries.js.map +1 -0
  273. package/dist/session-mcp-projections.d.ts +13 -1
  274. package/dist/session-mcp-tool-permissions.d.ts +62 -0
  275. package/dist/session-target.d.ts +18 -0
  276. package/dist/session-titles.d.ts +8 -0
  277. package/dist/session-titles.js +5 -1
  278. package/dist/session-usage-limit-refusal.d.ts +34 -0
  279. package/dist/session-usage-limit-refusal.js +15 -0
  280. package/dist/session-usage-limit-refusal.js.map +1 -0
  281. package/dist/session-usage-limits.d.ts +127 -0
  282. package/dist/session-usage-limits.js +43 -0
  283. package/dist/session-usage-limits.js.map +1 -0
  284. package/dist/site-data.d.ts +286 -0
  285. package/dist/site-operations.d.ts +39 -0
  286. package/dist/site-publishing.d.ts +813 -0
  287. package/dist/site-session-http.d.ts +103 -4
  288. package/dist/site-session-http.js +27 -1
  289. package/dist/site-sql.d.ts +425 -0
  290. package/dist/skills.d.ts +38 -0
  291. package/dist/slack-bot-scopes.d.ts +9 -7
  292. package/dist/slack-bot-scopes.js +6 -3
  293. package/dist/slack-rest-mcp.d.ts +36 -0
  294. package/dist/slack-rest-mcp.js +25 -0
  295. package/dist/slack-rest-mcp.js.map +1 -0
  296. package/dist/spreadsheet-artifact-commands.d.ts +14 -1
  297. package/dist/spreadsheet-artifact-commands.js +9 -2
  298. package/dist/spreadsheet-artifact-query.d.ts +13 -6
  299. package/dist/spreadsheet-artifact-query.js +4 -3
  300. package/dist/subscription-account-actions.d.ts +83 -0
  301. package/dist/subscription-account-pools.d.ts +326 -0
  302. package/dist/subscription-personal-authority-v2.d.ts +28 -0
  303. package/dist/subscription-personal-authority-v2.js +13 -0
  304. package/dist/subscription-personal-authority-v2.js.map +1 -0
  305. package/dist/subscription-plans.d.ts +38 -0
  306. package/dist/subscription-usage-pool.d.ts +89 -0
  307. package/dist/tool-action-review.d.ts +141 -0
  308. package/dist/tool-catalog.d.ts +479 -0
  309. package/dist/tool-policy.d.ts +5 -0
  310. package/dist/tool-review-presentation.d.ts +29 -0
  311. package/dist/tool-review-presentation.js +21 -0
  312. package/dist/tool-review-presentation.js.map +1 -0
  313. package/dist/turn-serving-policy.d.ts +223 -0
  314. package/dist/usage-allowances.d.ts +30 -0
  315. package/dist/usage-allowances.js +5 -1
  316. package/dist/values.d.ts +11 -0
  317. package/dist/values.js +19 -0
  318. package/dist/values.js.map +1 -0
  319. package/dist/vault-provider-wire.d.ts +907 -0
  320. package/dist/vault-provider-wire.js +74 -0
  321. package/dist/vault-provider-wire.js.map +1 -0
  322. package/dist/vaults.d.ts +2185 -0
  323. package/dist/video-generation.d.ts +75 -0
  324. package/dist/video-generation.js +8 -1
  325. package/dist/workspace-control-event.d.ts +18 -0
  326. package/dist/workspace-control-event.js +18 -0
  327. package/dist/workspace-control-event.js.map +1 -0
  328. package/dist/workspace-governance-context.d.ts +18 -0
  329. package/dist/workspace-integration-wire.d.ts +1 -1
  330. package/dist/workspace-integration-wire.js +1 -1
  331. package/dist/workspace-integrations.d.ts +212 -12
  332. package/dist/xai-provider-account-authority.js +3 -1
  333. package/package.json +121 -4
  334. package/src/agent-authored-durable-text.ts +14 -11
  335. package/src/agent-config.ts +382 -203
  336. package/src/agent-instruction-changes.ts +94 -74
  337. package/src/agent-learning.ts +94 -66
  338. package/src/agent-topology.ts +58 -52
  339. package/src/api-key-presets.ts +28 -0
  340. package/src/app-action-catalog-types.ts +32 -0
  341. package/src/app-action-catalog.gen.ts +9905 -0
  342. package/src/app-actions.ts +365 -0
  343. package/src/app-shot.ts +176 -0
  344. package/src/artifact-catalog.ts +81 -46
  345. package/src/artifacts.ts +360 -227
  346. package/src/atlassian-native-retirement.ts +33 -0
  347. package/src/atlassian.ts +136 -108
  348. package/src/automation-templates.ts +201 -0
  349. package/src/billing-subscriptions.ts +48 -0
  350. package/src/bots.ts +238 -0
  351. package/src/bundled-skills.ts +79 -22
  352. package/src/canonical-human-identities.ts +65 -62
  353. package/src/child-lifecycle-notice-protocol.gen.json +1310 -0
  354. package/src/child-lifecycle-notice-protocol.ts +224 -0
  355. package/src/claude-provider-account-authority.ts +12 -0
  356. package/src/claude-subscription-oauth.ts +61 -19
  357. package/src/claude-subscription-usage.ts +64 -35
  358. package/src/client-error-report.ts +344 -9
  359. package/src/code-search.ts +1 -1
  360. package/src/codex-provider-account-authority.ts +22 -16
  361. package/src/company-brain-governed-writes.ts +265 -244
  362. package/src/company-brain.ts +165 -154
  363. package/src/company-profile.ts +362 -297
  364. package/src/connect.ts +222 -173
  365. package/src/connection-account-label.ts +45 -0
  366. package/src/connection-authority.ts +172 -152
  367. package/src/connector-attachments.ts +139 -123
  368. package/src/connector-destinations.ts +48 -43
  369. package/src/connector-tool-permissions.ts +104 -46
  370. package/src/credential-profiles.ts +161 -0
  371. package/src/cua-desktop-tools.gen.json +6722 -0
  372. package/src/cua-desktop-tools.linux.gen.json +6798 -0
  373. package/src/cua-desktop-tools.ts +42 -0
  374. package/src/cua-desktop-tools.windows.gen.json +6739 -0
  375. package/src/define-schema.ts +10 -0
  376. package/src/desktop-app.ts +50 -0
  377. package/src/direct-model-provider.ts +112 -0
  378. package/src/editable-artifact-binary.ts +29 -8
  379. package/src/editable-artifact-committed-transaction.ts +19 -18
  380. package/src/editable-artifact-serialized-commit.ts +8 -2
  381. package/src/editable-artifact-versions.ts +7 -1
  382. package/src/event-preview.ts +53 -3
  383. package/src/event-triggers.ts +891 -0
  384. package/src/external-identities.ts +239 -195
  385. package/src/feedback.ts +125 -30
  386. package/src/file-access.ts +26 -0
  387. package/src/first-party-tool-authorization.ts +383 -0
  388. package/src/github-repository-contracts.ts +78 -64
  389. package/src/google-drive-native-retirement.ts +20 -0
  390. package/src/google-drive.ts +286 -234
  391. package/src/governed-learning-activation.ts +159 -137
  392. package/src/governed-learning-evaluator.ts +141 -133
  393. package/src/host-mcp-bindings.ts +244 -221
  394. package/src/image-generation.ts +105 -95
  395. package/src/index.ts +13928 -9899
  396. package/src/inference-residency.ts +36 -0
  397. package/src/insights-usage.ts +774 -0
  398. package/src/integration-capability-id.ts +16 -0
  399. package/src/interaction-action-deadline.ts +143 -0
  400. package/src/interaction-driver-diagnostic.ts +89 -0
  401. package/src/interaction.ts +3527 -2427
  402. package/src/knowledge-entries.ts +386 -299
  403. package/src/knowledge-preparation.ts +49 -41
  404. package/src/knowledge.ts +242 -213
  405. package/src/learning-refusal.ts +90 -0
  406. package/src/managed-auth-session-sets.ts +180 -133
  407. package/src/managed-sign-in-methods.ts +156 -34
  408. package/src/mcp-oauth.ts +58 -46
  409. package/src/mcp-receipts.ts +199 -194
  410. package/src/mcp-structured-content.ts +81 -0
  411. package/src/memory-slack-delivery.ts +172 -142
  412. package/src/message-time-zone.ts +109 -0
  413. package/src/modal-native-proof-v2.ts +430 -0
  414. package/src/model-account-choice.ts +178 -0
  415. package/src/model-account-settings.ts +210 -0
  416. package/src/model-availability.ts +22 -0
  417. package/src/model-connection-access.ts +62 -14
  418. package/src/model-context-inspector.ts +130 -109
  419. package/src/model-display.ts +221 -0
  420. package/src/model-picker-order.ts +1 -1
  421. package/src/model-residency.ts +535 -0
  422. package/src/organization-access.ts +216 -0
  423. package/src/organization-integration-policy.ts +47 -28
  424. package/src/organization-membership-lifecycle.ts +558 -384
  425. package/src/organization-model-usage.ts +82 -0
  426. package/src/organization-recovery.ts +148 -135
  427. package/src/organization-usage.ts +84 -52
  428. package/src/passkey-only-account.ts +29 -0
  429. package/src/permissions.ts +94 -52
  430. package/src/personal-github.ts +211 -171
  431. package/src/personal-integration-setup.ts +150 -0
  432. package/src/preference-registry.ts +319 -263
  433. package/src/prepared-mcp-setup.ts +190 -0
  434. package/src/primitives.ts +22 -0
  435. package/src/product-analytics.ts +40 -15
  436. package/src/product-lifecycle-facts.ts +50 -20
  437. package/src/prompt-cache-diagnostics.ts +212 -0
  438. package/src/recordings.ts +1153 -0
  439. package/src/remember.ts +184 -172
  440. package/src/retained-output.ts +181 -168
  441. package/src/sandbox-file-artifacts.ts +78 -57
  442. package/src/sandbox-provider-command.ts +55 -72
  443. package/src/sandbox-recovery.ts +163 -77
  444. package/src/scoped-knowledge.ts +62 -43
  445. package/src/secret-generator.ts +156 -0
  446. package/src/secret-mask-strings.ts +175 -0
  447. package/src/secret-references.ts +414 -0
  448. package/src/secret-resolution.ts +322 -0
  449. package/src/secret-shape-masking.ts +573 -0
  450. package/src/secret-totp.ts +188 -0
  451. package/src/secret-use-approval-question.ts +22 -0
  452. package/src/secret-use-approvals.ts +219 -0
  453. package/src/secret-value-masking.ts +1283 -0
  454. package/src/secret-value.ts +22 -0
  455. package/src/session-goal-reports.ts +55 -49
  456. package/src/session-history-import.ts +84 -68
  457. package/src/session-history.ts +197 -0
  458. package/src/session-list-entries.ts +106 -0
  459. package/src/session-mcp-projections.ts +21 -3
  460. package/src/session-mcp-tool-permissions.ts +109 -0
  461. package/src/session-message-search.ts +46 -38
  462. package/src/session-target.ts +58 -0
  463. package/src/session-titles.ts +40 -4
  464. package/src/session-topology-primitives.ts +20 -12
  465. package/src/session-usage-limit-refusal.ts +101 -0
  466. package/src/session-usage-limits.ts +169 -0
  467. package/src/signup-attribution.ts +20 -15
  468. package/src/site-data.ts +337 -0
  469. package/src/site-operations.ts +154 -0
  470. package/src/site-publishing.ts +903 -0
  471. package/src/site-session-http.ts +344 -16
  472. package/src/site-sql.ts +1120 -0
  473. package/src/skill-use.ts +18 -17
  474. package/src/skills.ts +105 -50
  475. package/src/slack-bot-scopes.ts +18 -35
  476. package/src/slack-rest-mcp.ts +222 -0
  477. package/src/slack-task-policy.ts +97 -73
  478. package/src/spreadsheet-artifact-commands.ts +74 -13
  479. package/src/spreadsheet-artifact-query.ts +188 -50
  480. package/src/subscription-account-actions.ts +103 -0
  481. package/src/subscription-account-pools.ts +74 -0
  482. package/src/subscription-personal-authority-v2.ts +69 -0
  483. package/src/subscription-plans.ts +51 -0
  484. package/src/subscription-usage-pool.ts +44 -0
  485. package/src/task-notes.ts +70 -68
  486. package/src/tool-action-review.ts +271 -0
  487. package/src/tool-catalog.ts +694 -379
  488. package/src/tool-policy.ts +82 -0
  489. package/src/tool-result-spill.ts +13 -9
  490. package/src/tool-review-presentation.ts +643 -0
  491. package/src/turn-serving-policy.ts +167 -0
  492. package/src/usage-allowances.ts +212 -136
  493. package/src/values.ts +25 -0
  494. package/src/vault-provider-wire.ts +580 -0
  495. package/src/vaults.ts +1296 -0
  496. package/src/video-generation.ts +430 -361
  497. package/src/work-claims.ts +183 -166
  498. package/src/workspace-control-event.ts +134 -0
  499. package/src/workspace-governance-context.ts +63 -0
  500. package/src/workspace-instruction-policies.ts +346 -279
  501. package/src/workspace-integration-wire.ts +10 -0
  502. package/src/workspace-integrations.ts +488 -398
  503. package/src/workspace-learning-administration.ts +58 -44
  504. package/src/workspace-learning-policy.ts +126 -99
  505. package/src/workspace-state.ts +239 -220
  506. package/src/xai-provider-account-authority.ts +23 -17
  507. package/dist/chunk-3SIZGL3O.js.map +0 -1
  508. package/dist/chunk-566IFOVP.js +0 -26133
  509. package/dist/chunk-566IFOVP.js.map +0 -1
  510. package/dist/chunk-5IXYF6XN.js +0 -728
  511. package/dist/chunk-5IXYF6XN.js.map +0 -1
  512. package/dist/chunk-5Q54VCCH.js.map +0 -1
  513. package/dist/chunk-BCS7WHCK.js +0 -139
  514. package/dist/chunk-BCS7WHCK.js.map +0 -1
  515. package/dist/chunk-EK7NDGFR.js +0 -128
  516. package/dist/chunk-EK7NDGFR.js.map +0 -1
  517. package/dist/chunk-GRG7PHWQ.js +0 -25
  518. package/dist/chunk-GRG7PHWQ.js.map +0 -1
  519. package/dist/chunk-HHZSZYYF.js.map +0 -1
  520. package/dist/chunk-ICDZGUX2.js +0 -186
  521. package/dist/chunk-ICDZGUX2.js.map +0 -1
  522. package/dist/chunk-JUFK3T4Q.js +0 -80
  523. package/dist/chunk-JUFK3T4Q.js.map +0 -1
  524. package/dist/chunk-MYBZRDTY.js.map +0 -1
  525. package/dist/chunk-NRMCVHAU.js.map +0 -1
  526. package/dist/chunk-O77VSFYZ.js.map +0 -1
  527. package/dist/chunk-P3HLDT77.js +0 -59
  528. package/dist/chunk-P3HLDT77.js.map +0 -1
  529. package/dist/chunk-TXTQIYCV.js.map +0 -1
  530. package/dist/chunk-WYBDERIY.js.map +0 -1
  531. package/dist/chunk-Y3KNXVTD.js.map +0 -1
  532. package/dist/chunk-YBW5JSA3.js.map +0 -1
  533. package/dist/chunk-YRXAWWCU.js +0 -45
  534. package/dist/chunk-YRXAWWCU.js.map +0 -1
  535. package/dist/chunk-YWMOIZ6A.js +0 -185
  536. package/dist/chunk-YWMOIZ6A.js.map +0 -1
  537. package/dist/site-request-headers.test.d.ts +0 -1
  538. package/dist/transcription-recordings.d.ts +0 -300
  539. package/src/transcription-recordings.ts +0 -169
  540. /package/dist/{chunk-SIOU2K4U.js.map → chunk-LJH2EYGT.js.map} +0 -0
  541. /package/dist/{chunk-RIY7GYQS.js.map → chunk-PTSROVDG.js.map} +0 -0
  542. /package/dist/{chunk-YRKRZ6OF.js.map → chunk-TOOJIBJC.js.map} +0 -0
  543. /package/dist/{chunk-D2HKF2EF.js.map → chunk-XP5M3IKT.js.map} +0 -0
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/managed-auth-session-sets.ts"],"sourcesContent":["import { z } from \"zod\";\n\nexport const MANAGED_AUTH_SESSION_SET_MAX_SLOTS = 8 as const;\nexport const MANAGED_AUTH_TRANSACTION_TTL_SECONDS = 600 as const;\nexport const MANAGED_AUTH_RETURN_INTENT_MAX_BYTES = 2_048 as const;\nexport const MANAGED_AUTH_SESSION_SET_API_CONTRACT_HEADER = \"x-opengeni-api-contract\" as const;\nexport const MANAGED_AUTH_SESSION_SET_API_CONTRACT_REVISION =\n \"2026-08-personal-only-organization-setup-v1\" as const;\n\nexport const ManagedAuthSessionSetMode = z.enum([\"legacy\", \"dual\", \"broker\"]);\nexport type ManagedAuthSessionSetMode = z.infer<typeof ManagedAuthSessionSetMode>;\n\nexport const ManagedAuthLoginSlotState = z.enum([\"active\", \"reauth_required\"]);\nexport type ManagedAuthLoginSlotState = z.infer<typeof ManagedAuthLoginSlotState>;\n\nexport const ManagedAuthVerifiedClaim = z.object({\n kind: z.literal(\"email\"),\n value: z.string().email().max(320),\n});\nexport type ManagedAuthVerifiedClaim = z.infer<typeof ManagedAuthVerifiedClaim>;\n\n/** Secret-free, browser-safe summary. Provider session ids and tokens never enter this shape. */\nexport const ManagedAuthLoginSlot = z.object({\n id: z.string().uuid(),\n displayName: z.string().min(1).max(256),\n verifiedClaim: ManagedAuthVerifiedClaim,\n state: ManagedAuthLoginSlotState,\n});\nexport type ManagedAuthLoginSlot = z.infer<typeof ManagedAuthLoginSlot>;\n\nexport const ManagedAuthSessionSetState = z.enum([\"ready\", \"actor_change_required\"]);\nexport type ManagedAuthSessionSetState = z.infer<typeof ManagedAuthSessionSetState>;\n\nexport const ManagedAuthSessionSetProjection = z.object({\n mode: ManagedAuthSessionSetMode,\n generation: z.string().regex(/^[1-9][0-9]*$/),\n actorEpoch: z.string().regex(/^[1-9][0-9]*$/),\n csrfToken: z.string().min(32).max(512),\n selectedSlotId: z.string().uuid().nullable(),\n state: ManagedAuthSessionSetState,\n slots: z.array(ManagedAuthLoginSlot).max(MANAGED_AUTH_SESSION_SET_MAX_SLOTS),\n});\nexport type ManagedAuthSessionSetProjection = z.infer<typeof ManagedAuthSessionSetProjection>;\n\nexport const ManagedAuthOperationIdentity = z.object({\n operationId: z.string().uuid(),\n expectedGeneration: z.string().regex(/^[1-9][0-9]*$/),\n});\nexport type ManagedAuthOperationIdentity = z.infer<typeof ManagedAuthOperationIdentity>;\n\nexport const BootstrapManagedAuthSessionSetRequest = ManagedAuthOperationIdentity;\nexport type BootstrapManagedAuthSessionSetRequest = z.infer<\n typeof BootstrapManagedAuthSessionSetRequest\n>;\n\nexport const ManagedAuthReturnIntent = z\n .string()\n .min(1)\n .superRefine((value, context) => {\n if (new TextEncoder().encode(value).byteLength > MANAGED_AUTH_RETURN_INTENT_MAX_BYTES) {\n context.addIssue({ code: \"custom\", message: \"return intent exceeds its UTF-8 byte limit\" });\n }\n if (\n !value.startsWith(\"/\") ||\n value.startsWith(\"//\") ||\n value.includes(\"?\") ||\n value.includes(\"#\") ||\n /[\\u0000-\\u001f\\u007f\\\\]/.test(value)\n ) {\n context.addIssue({\n code: \"custom\",\n message: \"return intent must be a safe same-origin path\",\n });\n return;\n }\n try {\n const parsed = new URL(value, \"https://opengeni.invalid\");\n const uuid = \"[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}\";\n const supportedPath = new RegExp(\n `^/(?:sessions/${uuid}|workspaces/${uuid}(?:/sessions(?:/${uuid})?)?)$`,\n \"i\",\n );\n if (\n parsed.origin !== \"https://opengeni.invalid\" ||\n parsed.username ||\n parsed.password ||\n parsed.search ||\n parsed.hash ||\n !supportedPath.test(value) ||\n parsed.pathname !== value\n ) {\n context.addIssue({\n code: \"custom\",\n message: \"return intent contains unsafe authority data\",\n });\n }\n } catch {\n context.addIssue({\n code: \"custom\",\n message: \"return intent is not a valid same-origin path\",\n });\n }\n });\n\nexport const BeginManagedAuthLoginTransactionRequest = ManagedAuthOperationIdentity.extend({\n kind: z.enum([\"add\", \"reauth\"]),\n slotId: z.string().uuid().optional(),\n returnIntent: ManagedAuthReturnIntent.optional(),\n}).superRefine((value, context) => {\n if ((value.kind === \"reauth\") !== Boolean(value.slotId)) {\n context.addIssue({\n code: \"custom\",\n path: [\"slotId\"],\n message: \"reauth requires exactly one slot id and add forbids one\",\n });\n }\n});\nexport type BeginManagedAuthLoginTransactionRequest = z.infer<\n typeof BeginManagedAuthLoginTransactionRequest\n>;\n\nexport const ManagedAuthLoginTransaction = z.object({\n id: z.string().uuid(),\n kind: z.enum([\"add\", \"reauth\"]),\n expiresAt: z.string().datetime(),\n returnIntentId: z.string().uuid().nullable(),\n});\nexport type ManagedAuthLoginTransaction = z.infer<typeof ManagedAuthLoginTransaction>;\n\nexport const ManagedAuthSocialProvider = z.enum([\"google\", \"github\"]);\nexport type ManagedAuthSocialProvider = z.infer<typeof ManagedAuthSocialProvider>;\n\n/**\n * Mirrors `SignupAttribution` from `./signup-attribution` (a contract test pins\n * them together). Declared here, not imported, so the browser session-set\n * client does not pull the attribution module into a new shared web chunk.\n */\nconst SocialStartAttributionValue = z\n .string()\n .trim()\n .min(1)\n .max(100)\n .regex(/^[A-Za-z0-9._~+-]+$/);\nconst SocialStartAttribution = z\n .object({\n utmSource: SocialStartAttributionValue.optional(),\n utmMedium: SocialStartAttributionValue.optional(),\n utmCampaign: SocialStartAttributionValue.optional(),\n utmContent: SocialStartAttributionValue.optional(),\n ref: SocialStartAttributionValue.optional(),\n })\n .strict();\n\nexport const StartManagedAuthSocialTransactionRequest = ManagedAuthOperationIdentity.extend({\n transactionId: z.string().uuid(),\n provider: ManagedAuthSocialProvider,\n /**\n * Optional untrusted first-touch campaign tokens, used only by the\n * content-free sign-up acquisition counter when this start creates a new\n * account. Invalid attribution is dropped rather than failing the sign-in.\n */\n attribution: SocialStartAttribution.optional().catch(undefined),\n});\nexport type StartManagedAuthSocialTransactionRequest = z.infer<\n typeof StartManagedAuthSocialTransactionRequest\n>;\n\nexport const StartManagedAuthSocialTransactionResponse = z.object({\n url: z.string().url().max(4_096),\n});\nexport type StartManagedAuthSocialTransactionResponse = z.infer<\n typeof StartManagedAuthSocialTransactionResponse\n>;\n\nexport const CompleteManagedAuthEmailPasswordTransactionRequest =\n ManagedAuthOperationIdentity.extend({\n transactionId: z.string().uuid(),\n email: z.string().email().max(320),\n password: z.string().min(1).max(1_024),\n });\nexport type CompleteManagedAuthEmailPasswordTransactionRequest = z.infer<\n typeof CompleteManagedAuthEmailPasswordTransactionRequest\n>;\n\nexport const CompleteManagedAuthLoginTransactionResponse = z.object({\n projection: ManagedAuthSessionSetProjection,\n returnIntent: ManagedAuthReturnIntent.nullable(),\n});\nexport type CompleteManagedAuthLoginTransactionResponse = z.infer<\n typeof CompleteManagedAuthLoginTransactionResponse\n>;\n\nexport const CancelManagedAuthLoginTransactionRequest = ManagedAuthOperationIdentity.extend({\n transactionId: z.string().uuid(),\n});\nexport type CancelManagedAuthLoginTransactionRequest = z.infer<\n typeof CancelManagedAuthLoginTransactionRequest\n>;\n\nexport const SelectManagedAuthLoginSlotRequest = ManagedAuthOperationIdentity.extend({\n slotId: z.string().uuid(),\n});\nexport type SelectManagedAuthLoginSlotRequest = z.infer<typeof SelectManagedAuthLoginSlotRequest>;\n\nexport const LogoutManagedAuthLoginSlotRequest = ManagedAuthOperationIdentity.extend({\n slotId: z.string().uuid(),\n replacementSlotId: z.string().uuid().nullable(),\n});\nexport type LogoutManagedAuthLoginSlotRequest = z.infer<typeof LogoutManagedAuthLoginSlotRequest>;\n\nexport const LogoutManagedAuthSessionSetRequest = ManagedAuthOperationIdentity;\nexport type LogoutManagedAuthSessionSetRequest = z.infer<typeof LogoutManagedAuthSessionSetRequest>;\n\nexport const ManagedAuthLogoutAllReceipt = z.object({\n generation: z.string().regex(/^[1-9][0-9]*$/),\n actorEpoch: z.string().regex(/^[1-9][0-9]*$/),\n state: z.literal(\"logged_out\"),\n});\nexport type ManagedAuthLogoutAllReceipt = z.infer<typeof ManagedAuthLogoutAllReceipt>;\n\nexport const ResolveManagedAuthDeepLinkRequest = z.object({\n path: ManagedAuthReturnIntent,\n});\nexport type ResolveManagedAuthDeepLinkRequest = z.infer<typeof ResolveManagedAuthDeepLinkRequest>;\n\nexport const ManagedAuthDeepLinkResolution = z.discriminatedUnion(\"kind\", [\n z.object({ kind: z.literal(\"current\") }),\n z.object({ kind: z.literal(\"switch_required\"), slot: ManagedAuthLoginSlot }),\n z.object({ kind: z.literal(\"unavailable\") }),\n]);\nexport type ManagedAuthDeepLinkResolution = z.infer<typeof ManagedAuthDeepLinkResolution>;\n\nexport const ManagedAuthSessionSetErrorCode = z.enum([\n \"actor_change_required\",\n \"actor_mutation_in_flight\",\n \"api_contract_changed\",\n \"browser_session_set_required\",\n \"browser_session_set_unavailable\",\n \"generation_conflict\",\n \"invalid_browser_session_set_request\",\n \"invalid_transaction\",\n \"managed_authentication_required\",\n \"managed_authentication_unavailable\",\n \"operation_outcome_unknown\",\n \"operation_reused\",\n \"origin_rejected\",\n \"login_transaction_rate_limited\",\n \"provider_route_blocked\",\n \"slot_limit_reached\",\n \"slot_already_exists\",\n \"slot_unavailable\",\n]);\nexport type ManagedAuthSessionSetErrorCode = z.infer<typeof ManagedAuthSessionSetErrorCode>;\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../src/managed-auth-session-sets.ts"],"sourcesContent":["import * as primitives from \"./primitives\";\nimport { defineSchema } from \"./define-schema\";\nimport { z } from \"zod\";\n\nexport const MANAGED_AUTH_SESSION_SET_MAX_SLOTS = 8 as const;\nexport const MANAGED_AUTH_TRANSACTION_TTL_SECONDS = 600 as const;\nexport const MANAGED_AUTH_RETURN_INTENT_MAX_BYTES = 2_048 as const;\nexport const MANAGED_AUTH_SESSION_SET_API_CONTRACT_HEADER = \"x-opengeni-api-contract\" as const;\nexport const MANAGED_AUTH_SESSION_SET_API_CONTRACT_REVISION =\n \"2026-08-personal-only-organization-setup-v1\" as const;\n\nexport const ManagedAuthSessionSetMode = /* @__PURE__ */ defineSchema(() =>\n z.enum([\"legacy\", \"dual\", \"broker\"]),\n);\nexport type ManagedAuthSessionSetMode = z.infer<typeof ManagedAuthSessionSetMode>;\n\nexport const ManagedAuthLoginSlotState = /* @__PURE__ */ defineSchema(() =>\n z.enum([\"active\", \"reauth_required\"]),\n);\nexport type ManagedAuthLoginSlotState = z.infer<typeof ManagedAuthLoginSlotState>;\n\nexport const ManagedAuthVerifiedClaim = /* @__PURE__ */ defineSchema(() =>\n z.object({\n kind: z.literal(\"email\"),\n value: z.string().email().max(320),\n }),\n);\nexport type ManagedAuthVerifiedClaim = z.infer<typeof ManagedAuthVerifiedClaim>;\n\n/** Secret-free, browser-safe summary. Provider session ids and tokens never enter this shape. */\nexport const ManagedAuthLoginSlot = /* @__PURE__ */ defineSchema(() =>\n z.object({\n id: primitives.uuid,\n displayName: z.string().min(1).max(256),\n verifiedClaim: ManagedAuthVerifiedClaim,\n state: ManagedAuthLoginSlotState,\n }),\n);\nexport type ManagedAuthLoginSlot = z.infer<typeof ManagedAuthLoginSlot>;\n\nexport const ManagedAuthSessionSetState = /* @__PURE__ */ defineSchema(() =>\n z.enum([\"ready\", \"actor_change_required\"]),\n);\nexport type ManagedAuthSessionSetState = z.infer<typeof ManagedAuthSessionSetState>;\n\nexport const ManagedAuthSessionSetProjection = /* @__PURE__ */ defineSchema(() =>\n z.object({\n mode: ManagedAuthSessionSetMode,\n generation: primitives.string.regex(/^[1-9][0-9]*$/),\n actorEpoch: primitives.string.regex(/^[1-9][0-9]*$/),\n csrfToken: z.string().min(32).max(512),\n selectedSlotId: primitives.nullableUuid,\n state: ManagedAuthSessionSetState,\n slots: z.array(ManagedAuthLoginSlot).max(MANAGED_AUTH_SESSION_SET_MAX_SLOTS),\n }),\n);\nexport type ManagedAuthSessionSetProjection = z.infer<typeof ManagedAuthSessionSetProjection>;\n\nexport const ManagedAuthOperationIdentity = /* @__PURE__ */ defineSchema(() =>\n z.object({\n operationId: primitives.uuid,\n expectedGeneration: primitives.string.regex(/^[1-9][0-9]*$/),\n }),\n);\nexport type ManagedAuthOperationIdentity = z.infer<typeof ManagedAuthOperationIdentity>;\n\nexport const BootstrapManagedAuthSessionSetRequest = ManagedAuthOperationIdentity;\nexport type BootstrapManagedAuthSessionSetRequest = z.infer<\n typeof BootstrapManagedAuthSessionSetRequest\n>;\n\nexport const ManagedAuthReturnIntent = /* @__PURE__ */ defineSchema(() =>\n primitives.nonEmptyString.superRefine((value, context) => {\n if (new TextEncoder().encode(value).byteLength > MANAGED_AUTH_RETURN_INTENT_MAX_BYTES) {\n context.addIssue({ code: \"custom\", message: \"return intent exceeds its UTF-8 byte limit\" });\n }\n if (\n !value.startsWith(\"/\") ||\n value.startsWith(\"//\") ||\n value.includes(\"?\") ||\n value.includes(\"#\") ||\n /[\\u0000-\\u001f\\u007f\\\\]/.test(value)\n ) {\n context.addIssue({\n code: \"custom\",\n message: \"return intent must be a safe same-origin path\",\n });\n return;\n }\n try {\n const parsed = new URL(value, \"https://opengeni.invalid\");\n const uuid = \"[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}\";\n const supportedPath = new RegExp(\n `^/(?:sessions/${uuid}|workspaces/${uuid}(?:/sessions(?:/${uuid})?)?)$`,\n \"i\",\n );\n if (\n parsed.origin !== \"https://opengeni.invalid\" ||\n parsed.username ||\n parsed.password ||\n parsed.search ||\n parsed.hash ||\n !supportedPath.test(value) ||\n parsed.pathname !== value\n ) {\n context.addIssue({\n code: \"custom\",\n message: \"return intent contains unsafe authority data\",\n });\n }\n } catch {\n context.addIssue({\n code: \"custom\",\n message: \"return intent is not a valid same-origin path\",\n });\n }\n }),\n);\n\nexport const BeginManagedAuthLoginTransactionRequest = /* @__PURE__ */ defineSchema(() =>\n ManagedAuthOperationIdentity.extend({\n kind: z.enum([\"add\", \"reauth\"]),\n slotId: primitives.optionalUuid,\n returnIntent: ManagedAuthReturnIntent.optional(),\n }).superRefine((value, context) => {\n if ((value.kind === \"reauth\") !== Boolean(value.slotId)) {\n context.addIssue({\n code: \"custom\",\n path: [\"slotId\"],\n message: \"reauth requires exactly one slot id and add forbids one\",\n });\n }\n }),\n);\nexport type BeginManagedAuthLoginTransactionRequest = z.infer<\n typeof BeginManagedAuthLoginTransactionRequest\n>;\n\nexport const ManagedAuthLoginTransaction = /* @__PURE__ */ defineSchema(() =>\n z.object({\n id: primitives.uuid,\n kind: z.enum([\"add\", \"reauth\"]),\n expiresAt: primitives.dateTime,\n returnIntentId: primitives.nullableUuid,\n }),\n);\nexport type ManagedAuthLoginTransaction = z.infer<typeof ManagedAuthLoginTransaction>;\n\nexport const ManagedAuthSocialProvider = /* @__PURE__ */ defineSchema(() =>\n z.enum([\"google\", \"github\"]),\n);\nexport type ManagedAuthSocialProvider = z.infer<typeof ManagedAuthSocialProvider>;\n\n/**\n * Mirrors `SignupAttribution` from `./signup-attribution` (a contract test pins\n * them together). Declared here, not imported, so the browser session-set\n * client does not pull the attribution module into a new shared web chunk.\n */\nconst SocialStartAttributionValue = /* @__PURE__ */ defineSchema(() =>\n primitives.string\n .trim()\n .min(1)\n .max(100)\n .regex(/^[A-Za-z0-9._~+-]+$/),\n);\nconst SocialStartAttribution = /* @__PURE__ */ defineSchema(() =>\n z\n .object({\n utmSource: SocialStartAttributionValue.optional(),\n utmMedium: SocialStartAttributionValue.optional(),\n utmCampaign: SocialStartAttributionValue.optional(),\n utmContent: SocialStartAttributionValue.optional(),\n ref: SocialStartAttributionValue.optional(),\n })\n .strict(),\n);\n\nexport const StartManagedAuthSocialTransactionRequest = /* @__PURE__ */ defineSchema(() =>\n ManagedAuthOperationIdentity.extend({\n transactionId: primitives.uuid,\n provider: ManagedAuthSocialProvider,\n signupChallengeToken: z.string().max(2048).optional(),\n /**\n * Optional untrusted first-touch campaign tokens, used only by the\n * content-free sign-up acquisition counter when this start creates a new\n * account. Invalid attribution is dropped rather than failing the sign-in.\n */\n attribution: SocialStartAttribution.optional().catch(undefined),\n }),\n);\nexport type StartManagedAuthSocialTransactionRequest = z.infer<\n typeof StartManagedAuthSocialTransactionRequest\n>;\n\nexport const StartManagedAuthSocialTransactionResponse = /* @__PURE__ */ defineSchema(() =>\n z.object({\n url: z.string().url().max(4_096),\n }),\n);\nexport type StartManagedAuthSocialTransactionResponse = z.infer<\n typeof StartManagedAuthSocialTransactionResponse\n>;\n\nexport const CompleteManagedAuthEmailPasswordTransactionRequest =\n /* @__PURE__ */ defineSchema(() =>\n ManagedAuthOperationIdentity.extend({\n transactionId: primitives.uuid,\n email: z.string().email().max(320),\n password: z.string().min(1).max(1_024),\n }),\n );\nexport type CompleteManagedAuthEmailPasswordTransactionRequest = z.infer<\n typeof CompleteManagedAuthEmailPasswordTransactionRequest\n>;\n\nexport const CompleteManagedAuthLoginTransactionResponse = /* @__PURE__ */ defineSchema(() =>\n z.object({\n projection: ManagedAuthSessionSetProjection,\n returnIntent: ManagedAuthReturnIntent.nullable(),\n }),\n);\nexport type CompleteManagedAuthLoginTransactionResponse = z.infer<\n typeof CompleteManagedAuthLoginTransactionResponse\n>;\n\nexport const CancelManagedAuthLoginTransactionRequest = /* @__PURE__ */ defineSchema(() =>\n ManagedAuthOperationIdentity.extend({\n transactionId: primitives.uuid,\n }),\n);\nexport type CancelManagedAuthLoginTransactionRequest = z.infer<\n typeof CancelManagedAuthLoginTransactionRequest\n>;\n\nexport const SelectManagedAuthLoginSlotRequest = /* @__PURE__ */ defineSchema(() =>\n ManagedAuthOperationIdentity.extend({\n slotId: primitives.uuid,\n }),\n);\nexport type SelectManagedAuthLoginSlotRequest = z.infer<typeof SelectManagedAuthLoginSlotRequest>;\n\nexport const LogoutManagedAuthLoginSlotRequest = /* @__PURE__ */ defineSchema(() =>\n ManagedAuthOperationIdentity.extend({\n slotId: primitives.uuid,\n replacementSlotId: primitives.nullableUuid,\n }),\n);\nexport type LogoutManagedAuthLoginSlotRequest = z.infer<typeof LogoutManagedAuthLoginSlotRequest>;\n\nexport const LogoutManagedAuthSessionSetRequest = ManagedAuthOperationIdentity;\nexport type LogoutManagedAuthSessionSetRequest = z.infer<typeof LogoutManagedAuthSessionSetRequest>;\n\nexport const ManagedAuthLogoutAllReceipt = /* @__PURE__ */ defineSchema(() =>\n z.object({\n generation: primitives.string.regex(/^[1-9][0-9]*$/),\n actorEpoch: primitives.string.regex(/^[1-9][0-9]*$/),\n state: z.literal(\"logged_out\"),\n }),\n);\nexport type ManagedAuthLogoutAllReceipt = z.infer<typeof ManagedAuthLogoutAllReceipt>;\n\nexport const ResolveManagedAuthDeepLinkRequest = /* @__PURE__ */ defineSchema(() =>\n z.object({\n path: ManagedAuthReturnIntent,\n }),\n);\nexport type ResolveManagedAuthDeepLinkRequest = z.infer<typeof ResolveManagedAuthDeepLinkRequest>;\n\nexport const ManagedAuthDeepLinkResolution = /* @__PURE__ */ defineSchema(() =>\n z.discriminatedUnion(\"kind\", [\n z.object({ kind: z.literal(\"current\") }),\n z.object({ kind: z.literal(\"switch_required\"), slot: ManagedAuthLoginSlot }),\n z.object({ kind: z.literal(\"unavailable\") }),\n ]),\n);\nexport type ManagedAuthDeepLinkResolution = z.infer<typeof ManagedAuthDeepLinkResolution>;\n\nexport const ManagedAuthSessionSetErrorCode = /* @__PURE__ */ defineSchema(() =>\n z.enum([\n \"actor_change_required\",\n \"actor_mutation_in_flight\",\n \"api_contract_changed\",\n \"browser_session_set_required\",\n \"browser_session_set_unavailable\",\n \"generation_conflict\",\n \"invalid_browser_session_set_request\",\n \"invalid_transaction\",\n \"managed_authentication_required\",\n \"managed_authentication_unavailable\",\n \"operation_outcome_unknown\",\n \"operation_reused\",\n \"origin_rejected\",\n \"login_transaction_rate_limited\",\n \"provider_route_blocked\",\n \"slot_limit_reached\",\n \"slot_already_exists\",\n \"slot_unavailable\",\n ]),\n);\nexport type ManagedAuthSessionSetErrorCode = z.infer<typeof ManagedAuthSessionSetErrorCode>;\n"],"mappings":"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","names":["uuid"]}
@@ -3,6 +3,63 @@ export declare const ManagedSignInProvider: z.ZodEnum<{
3
3
  github: "github";
4
4
  google: "google";
5
5
  }>;
6
+ export { accountContactEmail, isPasskeyOnlyAccountEmail, PASSKEY_ONLY_ACCOUNT_EMAIL_DOMAIN, passkeyOnlyAccountEmail, } from "./passkey-only-account.js";
7
+ /** A WebAuthn credential a person registered, without its key material. */
8
+ export declare const ManagedPasskey: z.ZodObject<{
9
+ id: z.ZodString;
10
+ name: z.ZodString;
11
+ createdAt: z.ZodString;
12
+ lastUsedAt: z.ZodNullable<z.ZodString>;
13
+ backedUp: z.ZodBoolean;
14
+ }, z.core.$strip>;
15
+ export type ManagedPasskey = z.infer<typeof ManagedPasskey>;
16
+ /**
17
+ * A browser's WebAuthn response, exactly as `navigator.credentials` produced
18
+ * it in JSON form. The server verifies it; nothing in it is trusted before.
19
+ */
20
+ export declare const ManagedPasskeyCredentialResponse: z.ZodObject<{
21
+ id: z.ZodString;
22
+ rawId: z.ZodString;
23
+ type: z.ZodLiteral<"public-key">;
24
+ response: z.ZodRecord<z.ZodString, z.ZodUnknown>;
25
+ clientExtensionResults: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
26
+ authenticatorAttachment: z.ZodOptional<z.ZodString>;
27
+ }, z.core.$loose>;
28
+ /** Options for one WebAuthn ceremony, and the single-use id that answers it. */
29
+ export declare const ManagedPasskeyCeremony: z.ZodObject<{
30
+ challengeId: z.ZodString;
31
+ options: z.ZodRecord<z.ZodString, z.ZodUnknown>;
32
+ }, z.core.$strip>;
33
+ export type ManagedPasskeyCeremony = z.infer<typeof ManagedPasskeyCeremony>;
34
+ export declare const ManagedPasskeySignInRequest: z.ZodObject<{
35
+ challengeId: z.ZodString;
36
+ response: z.ZodObject<{
37
+ id: z.ZodString;
38
+ rawId: z.ZodString;
39
+ type: z.ZodLiteral<"public-key">;
40
+ response: z.ZodRecord<z.ZodString, z.ZodUnknown>;
41
+ clientExtensionResults: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
42
+ authenticatorAttachment: z.ZodOptional<z.ZodString>;
43
+ }, z.core.$loose>;
44
+ }, z.core.$strict>;
45
+ export declare const ManagedPasskeySignUpOptionsRequest: z.ZodObject<{
46
+ name: z.ZodString;
47
+ signupChallengeToken: z.ZodOptional<z.ZodString>;
48
+ }, z.core.$strict>;
49
+ export declare const ManagedPasskeySignUpRequest: z.ZodObject<{
50
+ challengeId: z.ZodString;
51
+ response: z.ZodObject<{
52
+ id: z.ZodString;
53
+ rawId: z.ZodString;
54
+ type: z.ZodLiteral<"public-key">;
55
+ response: z.ZodRecord<z.ZodString, z.ZodUnknown>;
56
+ clientExtensionResults: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
57
+ authenticatorAttachment: z.ZodOptional<z.ZodString>;
58
+ }, z.core.$loose>;
59
+ }, z.core.$strict>;
60
+ export declare const ManagedPasskeySignInResponse: z.ZodObject<{
61
+ signedIn: z.ZodBoolean;
62
+ }, z.core.$strip>;
6
63
  export declare const ManagedSignInMethods: z.ZodObject<{
7
64
  identityId: z.ZodString;
8
65
  email: z.ZodString;
@@ -20,6 +77,15 @@ export declare const ManagedSignInMethods: z.ZodObject<{
20
77
  canDisconnect: z.ZodBoolean;
21
78
  implicitRelinkingSuppressed: z.ZodBoolean;
22
79
  }, z.core.$strip>>;
80
+ passkeys: z.ZodDefault<z.ZodArray<z.ZodObject<{
81
+ id: z.ZodString;
82
+ name: z.ZodString;
83
+ createdAt: z.ZodString;
84
+ lastUsedAt: z.ZodNullable<z.ZodString>;
85
+ backedUp: z.ZodBoolean;
86
+ }, z.core.$strip>>>;
87
+ passkeysAvailable: z.ZodDefault<z.ZodBoolean>;
88
+ canRemovePasskey: z.ZodDefault<z.ZodBoolean>;
23
89
  }, z.core.$strip>;
24
90
  export type ManagedSignInMethods = z.infer<typeof ManagedSignInMethods>;
25
91
  export declare const ManagedSignInMutation: z.ZodObject<{
@@ -43,6 +109,36 @@ export declare const ManagedSignInPasswordMutation: z.ZodObject<{
43
109
  newPassword: z.ZodString;
44
110
  currentPassword: z.ZodOptional<z.ZodString>;
45
111
  }, z.core.$strict>;
112
+ export declare const ManagedPasskeyRegisterMutation: z.ZodObject<{
113
+ expectedIdentityId: z.ZodString;
114
+ operationId: z.ZodString;
115
+ expectedIdentityRevision: z.ZodNumber;
116
+ challengeId: z.ZodString;
117
+ response: z.ZodObject<{
118
+ id: z.ZodString;
119
+ rawId: z.ZodString;
120
+ type: z.ZodLiteral<"public-key">;
121
+ response: z.ZodRecord<z.ZodString, z.ZodUnknown>;
122
+ clientExtensionResults: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
123
+ authenticatorAttachment: z.ZodOptional<z.ZodString>;
124
+ }, z.core.$loose>;
125
+ name: z.ZodOptional<z.ZodString>;
126
+ }, z.core.$strict>;
127
+ export declare const ManagedPasskeyRemoveMutation: z.ZodObject<{
128
+ expectedIdentityId: z.ZodString;
129
+ operationId: z.ZodString;
130
+ expectedIdentityRevision: z.ZodNumber;
131
+ passkeyId: z.ZodString;
132
+ }, z.core.$strict>;
133
+ export declare const ManagedPasskeyMutationResponse: z.ZodObject<{
134
+ reauthenticationRequired: z.ZodBoolean;
135
+ notification: z.ZodEnum<{
136
+ failed: "failed";
137
+ none: "none";
138
+ outcome_unknown: "outcome_unknown";
139
+ sent: "sent";
140
+ }>;
141
+ }, z.core.$strip>;
46
142
  export declare const ManagedSignInMutationResponse: z.ZodObject<{
47
143
  reauthenticationRequired: z.ZodLiteral<true>;
48
144
  notification: z.ZodEnum<{
@@ -1,46 +1,168 @@
1
+ import {
2
+ PASSKEY_ONLY_ACCOUNT_EMAIL_DOMAIN,
3
+ accountContactEmail,
4
+ isPasskeyOnlyAccountEmail,
5
+ passkeyOnlyAccountEmail
6
+ } from "./chunk-R6VXJIMB.js";
7
+ import {
8
+ boolean,
9
+ positiveInteger,
10
+ uuid
11
+ } from "./chunk-AQYDZUJV.js";
12
+ import {
13
+ defineSchema
14
+ } from "./chunk-56SNIMDO.js";
15
+
1
16
  // src/managed-sign-in-methods.ts
2
17
  import { z } from "zod";
3
- var ManagedSignInProvider = z.enum(["google", "github"]);
4
- var ManagedSignInMethods = z.object({
5
- identityId: z.string().uuid(),
6
- email: z.string().email(),
7
- emailVerified: z.boolean(),
8
- identityRevision: z.number().int().positive(),
9
- freshAuthenticationRequired: z.boolean(),
10
- methods: z.array(
11
- z.object({
12
- provider: z.enum(["credential", "google", "github"]),
13
- connected: z.boolean(),
14
- available: z.boolean(),
15
- canDisconnect: z.boolean(),
16
- implicitRelinkingSuppressed: z.boolean()
17
- })
18
- )
19
- });
20
- var ManagedSignInMutation = z.object({
21
- expectedIdentityId: z.string().uuid(),
22
- operationId: z.string().uuid(),
23
- expectedIdentityRevision: z.number().int().positive()
24
- });
25
- var ManagedSignInProviderMutation = ManagedSignInMutation.extend({
26
- provider: ManagedSignInProvider
27
- }).strict();
28
- var ManagedSignInPasswordMutation = ManagedSignInMutation.extend({
29
- newPassword: z.string().min(8).max(128),
30
- currentPassword: z.string().min(1).max(1024).optional()
31
- }).strict();
32
- var ManagedSignInMutationResponse = z.object({
33
- reauthenticationRequired: z.literal(true),
34
- notification: z.enum(["sent", "failed", "outcome_unknown"])
35
- });
36
- var ManagedSignInConnectResponse = z.object({ url: z.string().url() });
18
+ var ManagedSignInProvider = /* @__PURE__ */ defineSchema(
19
+ () => z.enum(["google", "github"])
20
+ );
21
+ var ManagedPasskey = /* @__PURE__ */ defineSchema(
22
+ () => z.object({
23
+ id: uuid,
24
+ name: z.string().min(1).max(80),
25
+ createdAt: z.string(),
26
+ lastUsedAt: z.string().nullable(),
27
+ // Synced passkeys (a password manager or platform keychain) survive the
28
+ // loss of one device; a single-device key, such as a security key, does not.
29
+ backedUp: boolean
30
+ })
31
+ );
32
+ var ManagedPasskeyCredentialResponse = /* @__PURE__ */ defineSchema(
33
+ () => z.object({
34
+ id: z.string().min(1).max(1400),
35
+ rawId: z.string().min(1).max(1400),
36
+ type: z.literal("public-key"),
37
+ response: z.record(z.string(), z.unknown()),
38
+ clientExtensionResults: z.record(z.string(), z.unknown()).default({}),
39
+ authenticatorAttachment: z.string().max(32).optional()
40
+ }).passthrough()
41
+ );
42
+ var ManagedPasskeyCeremony = /* @__PURE__ */ defineSchema(
43
+ () => z.object({
44
+ challengeId: z.string().min(16).max(128),
45
+ options: z.record(z.string(), z.unknown())
46
+ })
47
+ );
48
+ var ManagedPasskeySignInRequest = /* @__PURE__ */ defineSchema(
49
+ () => z.object({
50
+ challengeId: z.string().min(16).max(128),
51
+ response: ManagedPasskeyCredentialResponse
52
+ }).strict()
53
+ );
54
+ var ManagedPasskeySignUpOptionsRequest = /* @__PURE__ */ defineSchema(
55
+ () => z.object({
56
+ name: z.string().trim().min(1).max(80),
57
+ signupChallengeToken: z.string().max(2048).optional()
58
+ }).strict()
59
+ );
60
+ var ManagedPasskeySignUpRequest = /* @__PURE__ */ defineSchema(
61
+ () => z.object({
62
+ challengeId: z.string().min(16).max(128),
63
+ response: ManagedPasskeyCredentialResponse
64
+ }).strict()
65
+ );
66
+ var ManagedPasskeySignInResponse = /* @__PURE__ */ defineSchema(
67
+ () => z.object({
68
+ // True when the response signed this browser in. Passkeys are offered
69
+ // only in the legacy session-set mode, where that is always the case.
70
+ signedIn: boolean
71
+ })
72
+ );
73
+ var ManagedSignInMethods = /* @__PURE__ */ defineSchema(
74
+ () => z.object({
75
+ identityId: uuid,
76
+ email: z.string().email(),
77
+ emailVerified: boolean,
78
+ identityRevision: positiveInteger,
79
+ freshAuthenticationRequired: boolean,
80
+ methods: z.array(
81
+ z.object({
82
+ provider: z.enum(["credential", "google", "github"]),
83
+ connected: boolean,
84
+ available: boolean,
85
+ canDisconnect: boolean,
86
+ implicitRelinkingSuppressed: boolean
87
+ })
88
+ ),
89
+ // The person's passkeys, oldest first. Absent from servers without
90
+ // passkey sign-in.
91
+ passkeys: z.array(ManagedPasskey).default([]),
92
+ // Whether this deployment lets people add and sign in with passkeys.
93
+ passkeysAvailable: boolean.default(false),
94
+ // False while removing any one passkey would leave no usable sign-in method.
95
+ canRemovePasskey: boolean.default(false)
96
+ })
97
+ );
98
+ var ManagedSignInMutation = /* @__PURE__ */ defineSchema(
99
+ () => z.object({
100
+ expectedIdentityId: uuid,
101
+ operationId: uuid,
102
+ expectedIdentityRevision: positiveInteger
103
+ })
104
+ );
105
+ var ManagedSignInProviderMutation = /* @__PURE__ */ defineSchema(
106
+ () => ManagedSignInMutation.extend({
107
+ provider: ManagedSignInProvider
108
+ }).strict()
109
+ );
110
+ var ManagedSignInPasswordMutation = /* @__PURE__ */ defineSchema(
111
+ () => ManagedSignInMutation.extend({
112
+ newPassword: z.string().min(8).max(128),
113
+ currentPassword: z.string().min(1).max(1024).optional()
114
+ }).strict()
115
+ );
116
+ var ManagedPasskeyRegisterMutation = /* @__PURE__ */ defineSchema(
117
+ () => ManagedSignInMutation.extend({
118
+ challengeId: z.string().min(16).max(128),
119
+ response: ManagedPasskeyCredentialResponse,
120
+ name: z.string().trim().min(1).max(80).optional()
121
+ }).strict()
122
+ );
123
+ var ManagedPasskeyRemoveMutation = /* @__PURE__ */ defineSchema(
124
+ () => ManagedSignInMutation.extend({
125
+ passkeyId: uuid
126
+ }).strict()
127
+ );
128
+ var ManagedPasskeyMutationResponse = /* @__PURE__ */ defineSchema(
129
+ () => z.object({
130
+ // True when this change linked passkey sign-in to the account for the
131
+ // first time: every session ends, as for any new sign-in method.
132
+ reauthenticationRequired: boolean,
133
+ notification: z.enum(["sent", "failed", "outcome_unknown", "none"])
134
+ })
135
+ );
136
+ var ManagedSignInMutationResponse = /* @__PURE__ */ defineSchema(
137
+ () => z.object({
138
+ reauthenticationRequired: z.literal(true),
139
+ notification: z.enum(["sent", "failed", "outcome_unknown"])
140
+ })
141
+ );
142
+ var ManagedSignInConnectResponse = /* @__PURE__ */ defineSchema(
143
+ () => z.object({ url: z.string().url() })
144
+ );
37
145
  export {
146
+ ManagedPasskey,
147
+ ManagedPasskeyCeremony,
148
+ ManagedPasskeyCredentialResponse,
149
+ ManagedPasskeyMutationResponse,
150
+ ManagedPasskeyRegisterMutation,
151
+ ManagedPasskeyRemoveMutation,
152
+ ManagedPasskeySignInRequest,
153
+ ManagedPasskeySignInResponse,
154
+ ManagedPasskeySignUpOptionsRequest,
155
+ ManagedPasskeySignUpRequest,
38
156
  ManagedSignInConnectResponse,
39
157
  ManagedSignInMethods,
40
158
  ManagedSignInMutation,
41
159
  ManagedSignInMutationResponse,
42
160
  ManagedSignInPasswordMutation,
43
161
  ManagedSignInProvider,
44
- ManagedSignInProviderMutation
162
+ ManagedSignInProviderMutation,
163
+ PASSKEY_ONLY_ACCOUNT_EMAIL_DOMAIN,
164
+ accountContactEmail,
165
+ isPasskeyOnlyAccountEmail,
166
+ passkeyOnlyAccountEmail
45
167
  };
46
168
  //# sourceMappingURL=managed-sign-in-methods.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/managed-sign-in-methods.ts"],"sourcesContent":["import { z } from \"zod\";\n\nexport const ManagedSignInProvider = z.enum([\"google\", \"github\"]);\nexport const ManagedSignInMethods = z.object({\n identityId: z.string().uuid(),\n email: z.string().email(),\n emailVerified: z.boolean(),\n identityRevision: z.number().int().positive(),\n freshAuthenticationRequired: z.boolean(),\n methods: z.array(\n z.object({\n provider: z.enum([\"credential\", \"google\", \"github\"]),\n connected: z.boolean(),\n available: z.boolean(),\n canDisconnect: z.boolean(),\n implicitRelinkingSuppressed: z.boolean(),\n }),\n ),\n});\nexport type ManagedSignInMethods = z.infer<typeof ManagedSignInMethods>;\nexport const ManagedSignInMutation = z.object({\n expectedIdentityId: z.string().uuid(),\n operationId: z.string().uuid(),\n expectedIdentityRevision: z.number().int().positive(),\n});\nexport const ManagedSignInProviderMutation = ManagedSignInMutation.extend({\n provider: ManagedSignInProvider,\n}).strict();\nexport const ManagedSignInPasswordMutation = ManagedSignInMutation.extend({\n newPassword: z.string().min(8).max(128),\n currentPassword: z.string().min(1).max(1024).optional(),\n}).strict();\nexport const ManagedSignInMutationResponse = z.object({\n reauthenticationRequired: z.literal(true),\n notification: z.enum([\"sent\", \"failed\", \"outcome_unknown\"]),\n});\nexport const ManagedSignInConnectResponse = z.object({ url: z.string().url() });\n"],"mappings":";AAAA,SAAS,SAAS;AAEX,IAAM,wBAAwB,EAAE,KAAK,CAAC,UAAU,QAAQ,CAAC;AACzD,IAAM,uBAAuB,EAAE,OAAO;AAAA,EAC3C,YAAY,EAAE,OAAO,EAAE,KAAK;AAAA,EAC5B,OAAO,EAAE,OAAO,EAAE,MAAM;AAAA,EACxB,eAAe,EAAE,QAAQ;AAAA,EACzB,kBAAkB,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS;AAAA,EAC5C,6BAA6B,EAAE,QAAQ;AAAA,EACvC,SAAS,EAAE;AAAA,IACT,EAAE,OAAO;AAAA,MACP,UAAU,EAAE,KAAK,CAAC,cAAc,UAAU,QAAQ,CAAC;AAAA,MACnD,WAAW,EAAE,QAAQ;AAAA,MACrB,WAAW,EAAE,QAAQ;AAAA,MACrB,eAAe,EAAE,QAAQ;AAAA,MACzB,6BAA6B,EAAE,QAAQ;AAAA,IACzC,CAAC;AAAA,EACH;AACF,CAAC;AAEM,IAAM,wBAAwB,EAAE,OAAO;AAAA,EAC5C,oBAAoB,EAAE,OAAO,EAAE,KAAK;AAAA,EACpC,aAAa,EAAE,OAAO,EAAE,KAAK;AAAA,EAC7B,0BAA0B,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS;AACtD,CAAC;AACM,IAAM,gCAAgC,sBAAsB,OAAO;AAAA,EACxE,UAAU;AACZ,CAAC,EAAE,OAAO;AACH,IAAM,gCAAgC,sBAAsB,OAAO;AAAA,EACxE,aAAa,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,IAAI,GAAG;AAAA,EACtC,iBAAiB,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,IAAI,IAAI,EAAE,SAAS;AACxD,CAAC,EAAE,OAAO;AACH,IAAM,gCAAgC,EAAE,OAAO;AAAA,EACpD,0BAA0B,EAAE,QAAQ,IAAI;AAAA,EACxC,cAAc,EAAE,KAAK,CAAC,QAAQ,UAAU,iBAAiB,CAAC;AAC5D,CAAC;AACM,IAAM,+BAA+B,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;","names":[]}
1
+ {"version":3,"sources":["../src/managed-sign-in-methods.ts"],"sourcesContent":["import * as primitives from \"./primitives\";\nimport { defineSchema } from \"./define-schema\";\nimport { z } from \"zod\";\n\nexport const ManagedSignInProvider = /* @__PURE__ */ defineSchema(() =>\n z.enum([\"google\", \"github\"]),\n);\n\nexport {\n accountContactEmail,\n isPasskeyOnlyAccountEmail,\n PASSKEY_ONLY_ACCOUNT_EMAIL_DOMAIN,\n passkeyOnlyAccountEmail,\n} from \"./passkey-only-account\";\n\n/** A WebAuthn credential a person registered, without its key material. */\nexport const ManagedPasskey = /* @__PURE__ */ defineSchema(() =>\n z.object({\n id: primitives.uuid,\n name: z.string().min(1).max(80),\n createdAt: z.string(),\n lastUsedAt: z.string().nullable(),\n // Synced passkeys (a password manager or platform keychain) survive the\n // loss of one device; a single-device key, such as a security key, does not.\n backedUp: primitives.boolean,\n }),\n);\nexport type ManagedPasskey = z.infer<typeof ManagedPasskey>;\n\n/**\n * A browser's WebAuthn response, exactly as `navigator.credentials` produced\n * it in JSON form. The server verifies it; nothing in it is trusted before.\n */\nexport const ManagedPasskeyCredentialResponse = /* @__PURE__ */ defineSchema(() =>\n z\n .object({\n id: z.string().min(1).max(1400),\n rawId: z.string().min(1).max(1400),\n type: z.literal(\"public-key\"),\n response: z.record(z.string(), z.unknown()),\n clientExtensionResults: z.record(z.string(), z.unknown()).default({}),\n authenticatorAttachment: z.string().max(32).optional(),\n })\n .passthrough(),\n);\n\n/** Options for one WebAuthn ceremony, and the single-use id that answers it. */\nexport const ManagedPasskeyCeremony = /* @__PURE__ */ defineSchema(() =>\n z.object({\n challengeId: z.string().min(16).max(128),\n options: z.record(z.string(), z.unknown()),\n }),\n);\nexport type ManagedPasskeyCeremony = z.infer<typeof ManagedPasskeyCeremony>;\n\nexport const ManagedPasskeySignInRequest = /* @__PURE__ */ defineSchema(() =>\n z\n .object({\n challengeId: z.string().min(16).max(128),\n response: ManagedPasskeyCredentialResponse,\n })\n .strict(),\n);\nexport const ManagedPasskeySignUpOptionsRequest = /* @__PURE__ */ defineSchema(() =>\n z\n .object({\n name: z.string().trim().min(1).max(80),\n signupChallengeToken: z.string().max(2048).optional(),\n })\n .strict(),\n);\nexport const ManagedPasskeySignUpRequest = /* @__PURE__ */ defineSchema(() =>\n z\n .object({\n challengeId: z.string().min(16).max(128),\n response: ManagedPasskeyCredentialResponse,\n })\n .strict(),\n);\nexport const ManagedPasskeySignInResponse = /* @__PURE__ */ defineSchema(() =>\n z.object({\n // True when the response signed this browser in. Passkeys are offered\n // only in the legacy session-set mode, where that is always the case.\n signedIn: primitives.boolean,\n }),\n);\nexport const ManagedSignInMethods = /* @__PURE__ */ defineSchema(() =>\n z.object({\n identityId: primitives.uuid,\n email: z.string().email(),\n emailVerified: primitives.boolean,\n identityRevision: primitives.positiveInteger,\n freshAuthenticationRequired: primitives.boolean,\n methods: z.array(\n z.object({\n provider: z.enum([\"credential\", \"google\", \"github\"]),\n connected: primitives.boolean,\n available: primitives.boolean,\n canDisconnect: primitives.boolean,\n implicitRelinkingSuppressed: primitives.boolean,\n }),\n ),\n // The person's passkeys, oldest first. Absent from servers without\n // passkey sign-in.\n passkeys: z.array(ManagedPasskey).default([]),\n // Whether this deployment lets people add and sign in with passkeys.\n passkeysAvailable: primitives.boolean.default(false),\n // False while removing any one passkey would leave no usable sign-in method.\n canRemovePasskey: primitives.boolean.default(false),\n }),\n);\nexport type ManagedSignInMethods = z.infer<typeof ManagedSignInMethods>;\nexport const ManagedSignInMutation = /* @__PURE__ */ defineSchema(() =>\n z.object({\n expectedIdentityId: primitives.uuid,\n operationId: primitives.uuid,\n expectedIdentityRevision: primitives.positiveInteger,\n }),\n);\nexport const ManagedSignInProviderMutation = /* @__PURE__ */ defineSchema(() =>\n ManagedSignInMutation.extend({\n provider: ManagedSignInProvider,\n }).strict(),\n);\nexport const ManagedSignInPasswordMutation = /* @__PURE__ */ defineSchema(() =>\n ManagedSignInMutation.extend({\n newPassword: z.string().min(8).max(128),\n currentPassword: z.string().min(1).max(1024).optional(),\n }).strict(),\n);\nexport const ManagedPasskeyRegisterMutation = /* @__PURE__ */ defineSchema(() =>\n ManagedSignInMutation.extend({\n challengeId: z.string().min(16).max(128),\n response: ManagedPasskeyCredentialResponse,\n name: z.string().trim().min(1).max(80).optional(),\n }).strict(),\n);\nexport const ManagedPasskeyRemoveMutation = /* @__PURE__ */ defineSchema(() =>\n ManagedSignInMutation.extend({\n passkeyId: primitives.uuid,\n }).strict(),\n);\nexport const ManagedPasskeyMutationResponse = /* @__PURE__ */ defineSchema(() =>\n z.object({\n // True when this change linked passkey sign-in to the account for the\n // first time: every session ends, as for any new sign-in method.\n reauthenticationRequired: primitives.boolean,\n notification: z.enum([\"sent\", \"failed\", \"outcome_unknown\", \"none\"]),\n }),\n);\nexport const ManagedSignInMutationResponse = /* @__PURE__ */ defineSchema(() =>\n z.object({\n reauthenticationRequired: z.literal(true),\n notification: z.enum([\"sent\", \"failed\", \"outcome_unknown\"]),\n }),\n);\nexport const ManagedSignInConnectResponse = /* @__PURE__ */ defineSchema(() =>\n z.object({ url: z.string().url() }),\n);\n"],"mappings":";;;;;;;;;;;;;;;;AAEA,SAAS,SAAS;AAEX,IAAM,wBAAwC;AAAA,EAAa,MAChE,EAAE,KAAK,CAAC,UAAU,QAAQ,CAAC;AAC7B;AAUO,IAAM,iBAAiC;AAAA,EAAa,MACzD,EAAE,OAAO;AAAA,IACP,IAAe;AAAA,IACf,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,IAAI,EAAE;AAAA,IAC9B,WAAW,EAAE,OAAO;AAAA,IACpB,YAAY,EAAE,OAAO,EAAE,SAAS;AAAA;AAAA;AAAA,IAGhC,UAAqB;AAAA,EACvB,CAAC;AACH;AAOO,IAAM,mCAAmD;AAAA,EAAa,MAC3E,EACG,OAAO;AAAA,IACN,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,IAAI,IAAI;AAAA,IAC9B,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,IAAI,IAAI;AAAA,IACjC,MAAM,EAAE,QAAQ,YAAY;AAAA,IAC5B,UAAU,EAAE,OAAO,EAAE,OAAO,GAAG,EAAE,QAAQ,CAAC;AAAA,IAC1C,wBAAwB,EAAE,OAAO,EAAE,OAAO,GAAG,EAAE,QAAQ,CAAC,EAAE,QAAQ,CAAC,CAAC;AAAA,IACpE,yBAAyB,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,SAAS;AAAA,EACvD,CAAC,EACA,YAAY;AACjB;AAGO,IAAM,yBAAyC;AAAA,EAAa,MACjE,EAAE,OAAO;AAAA,IACP,aAAa,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,IAAI,GAAG;AAAA,IACvC,SAAS,EAAE,OAAO,EAAE,OAAO,GAAG,EAAE,QAAQ,CAAC;AAAA,EAC3C,CAAC;AACH;AAGO,IAAM,8BAA8C;AAAA,EAAa,MACtE,EACG,OAAO;AAAA,IACN,aAAa,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,IAAI,GAAG;AAAA,IACvC,UAAU;AAAA,EACZ,CAAC,EACA,OAAO;AACZ;AACO,IAAM,qCAAqD;AAAA,EAAa,MAC7E,EACG,OAAO;AAAA,IACN,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,IAAI,EAAE;AAAA,IACrC,sBAAsB,EAAE,OAAO,EAAE,IAAI,IAAI,EAAE,SAAS;AAAA,EACtD,CAAC,EACA,OAAO;AACZ;AACO,IAAM,8BAA8C;AAAA,EAAa,MACtE,EACG,OAAO;AAAA,IACN,aAAa,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,IAAI,GAAG;AAAA,IACvC,UAAU;AAAA,EACZ,CAAC,EACA,OAAO;AACZ;AACO,IAAM,+BAA+C;AAAA,EAAa,MACvE,EAAE,OAAO;AAAA;AAAA;AAAA,IAGP,UAAqB;AAAA,EACvB,CAAC;AACH;AACO,IAAM,uBAAuC;AAAA,EAAa,MAC/D,EAAE,OAAO;AAAA,IACP,YAAuB;AAAA,IACvB,OAAO,EAAE,OAAO,EAAE,MAAM;AAAA,IACxB,eAA0B;AAAA,IAC1B,kBAA6B;AAAA,IAC7B,6BAAwC;AAAA,IACxC,SAAS,EAAE;AAAA,MACT,EAAE,OAAO;AAAA,QACP,UAAU,EAAE,KAAK,CAAC,cAAc,UAAU,QAAQ,CAAC;AAAA,QACnD,WAAsB;AAAA,QACtB,WAAsB;AAAA,QACtB,eAA0B;AAAA,QAC1B,6BAAwC;AAAA,MAC1C,CAAC;AAAA,IACH;AAAA;AAAA;AAAA,IAGA,UAAU,EAAE,MAAM,cAAc,EAAE,QAAQ,CAAC,CAAC;AAAA;AAAA,IAE5C,mBAA8B,QAAQ,QAAQ,KAAK;AAAA;AAAA,IAEnD,kBAA6B,QAAQ,QAAQ,KAAK;AAAA,EACpD,CAAC;AACH;AAEO,IAAM,wBAAwC;AAAA,EAAa,MAChE,EAAE,OAAO;AAAA,IACP,oBAA+B;AAAA,IAC/B,aAAwB;AAAA,IACxB,0BAAqC;AAAA,EACvC,CAAC;AACH;AACO,IAAM,gCAAgD;AAAA,EAAa,MACxE,sBAAsB,OAAO;AAAA,IAC3B,UAAU;AAAA,EACZ,CAAC,EAAE,OAAO;AACZ;AACO,IAAM,gCAAgD;AAAA,EAAa,MACxE,sBAAsB,OAAO;AAAA,IAC3B,aAAa,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,IAAI,GAAG;AAAA,IACtC,iBAAiB,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,IAAI,IAAI,EAAE,SAAS;AAAA,EACxD,CAAC,EAAE,OAAO;AACZ;AACO,IAAM,iCAAiD;AAAA,EAAa,MACzE,sBAAsB,OAAO;AAAA,IAC3B,aAAa,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,IAAI,GAAG;AAAA,IACvC,UAAU;AAAA,IACV,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,SAAS;AAAA,EAClD,CAAC,EAAE,OAAO;AACZ;AACO,IAAM,+BAA+C;AAAA,EAAa,MACvE,sBAAsB,OAAO;AAAA,IAC3B,WAAsB;AAAA,EACxB,CAAC,EAAE,OAAO;AACZ;AACO,IAAM,iCAAiD;AAAA,EAAa,MACzE,EAAE,OAAO;AAAA;AAAA;AAAA,IAGP,0BAAqC;AAAA,IACrC,cAAc,EAAE,KAAK,CAAC,QAAQ,UAAU,mBAAmB,MAAM,CAAC;AAAA,EACpE,CAAC;AACH;AACO,IAAM,gCAAgD;AAAA,EAAa,MACxE,EAAE,OAAO;AAAA,IACP,0BAA0B,EAAE,QAAQ,IAAI;AAAA,IACxC,cAAc,EAAE,KAAK,CAAC,QAAQ,UAAU,iBAAiB,CAAC;AAAA,EAC5D,CAAC;AACH;AACO,IAAM,+BAA+C;AAAA,EAAa,MACvE,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AACpC;","names":[]}
@@ -0,0 +1,25 @@
1
+ import type { AttemptToolResult } from "./tool-catalog.js";
2
+ /**
3
+ * Remove the backwards-compatibility text copy of an MCP result's
4
+ * `structuredContent`.
5
+ *
6
+ * The MCP specification asks a server that returns `structuredContent` to also
7
+ * return the same value serialized in a text content block. Printing or sending
8
+ * both pays for the payload twice, and the text copy pays again for JSON string
9
+ * escaping inside the result envelope.
10
+ *
11
+ * The envelope (`content`, `structuredContent`, `_meta`, `isError`, extension
12
+ * fields) and its key order are kept. Only a plain `{type: "text", text}` block
13
+ * whose text parses as JSON to a value equal to `structuredContent` is removed.
14
+ * Prose, differing JSON, annotated text, images, resources, and every other
15
+ * block stay. A text block whose JSON carries an integer outside the IEEE-754
16
+ * safe range also stays, because its digits may be more precise than the
17
+ * parsed `structuredContent`. Numbers compare by IEEE-754 value.
18
+ *
19
+ * Results without a removable block are returned as the same object.
20
+ *
21
+ * Callers: the runtime's model-facing MCP projection, and the default
22
+ * `ogtool call` print. The native Connected Machine client implements the
23
+ * same rule in `agent/crates/opengeni-agent/src/codemode.rs`; keep them equal.
24
+ */
25
+ export declare function omitStructuredContentTextDuplicates<T extends AttemptToolResult>(result: T): T;
@@ -0,0 +1,38 @@
1
+ /**
2
+ * The IANA time zone a person's client reports when they send a message, so
3
+ * the model can see the message's local time. Dependency-free so browser
4
+ * packages can import it without the schema bundle.
5
+ */
6
+ /** Longest accepted time zone name. Real IANA names are at most about 32 characters. */
7
+ export declare const MESSAGE_TIME_ZONE_MAX_CHARS = 64;
8
+ /**
9
+ * Turn metadata key for the sender's IANA time zone, frozen when the message is
10
+ * accepted. Claim renders the message's local time from it exactly once.
11
+ */
12
+ export declare const MESSAGE_TIME_ZONE_METADATA_KEY: "messageTimeZone";
13
+ /**
14
+ * IANA names such as `Europe/Oslo`, `America/Argentina/Buenos_Aires`,
15
+ * `Etc/GMT+5` or `EST5EDT`. Numeric offsets (`+01:00`) are not zone names.
16
+ */
17
+ export declare const MESSAGE_TIME_ZONE_PATTERN: RegExp;
18
+ /**
19
+ * The canonical name of a sender's time zone, or undefined when the value is
20
+ * not an IANA zone name this runtime can resolve, or is just UTC. Accepting
21
+ * surfaces store the returned name; clients use it to drop invalid values.
22
+ */
23
+ export declare function normalizeMessageTimeZone(value: unknown): string | undefined;
24
+ /** The sender's time zone frozen in one accepted turn's metadata, when it holds a usable one. */
25
+ export declare function messageTimeZoneFromTurnMetadata(metadata: unknown): string | undefined;
26
+ /** The time zone this runtime's own clock uses, when it is a usable IANA zone. */
27
+ export declare function currentMessageTimeZone(): string | undefined;
28
+ /**
29
+ * Calendar date and minute of `date` on a wall clock in `timeZone` (seconds
30
+ * are truncated, as in UTC rendering). Undefined for an unusable zone.
31
+ */
32
+ export declare function messageTimeZoneWallClock(date: Date, timeZone: string): {
33
+ year: number;
34
+ month: number;
35
+ day: number;
36
+ hour: number;
37
+ minute: number;
38
+ } | undefined;
@@ -0,0 +1,19 @@
1
+ import {
2
+ MESSAGE_TIME_ZONE_MAX_CHARS,
3
+ MESSAGE_TIME_ZONE_METADATA_KEY,
4
+ MESSAGE_TIME_ZONE_PATTERN,
5
+ currentMessageTimeZone,
6
+ messageTimeZoneFromTurnMetadata,
7
+ messageTimeZoneWallClock,
8
+ normalizeMessageTimeZone
9
+ } from "./chunk-XB6GQLBH.js";
10
+ export {
11
+ MESSAGE_TIME_ZONE_MAX_CHARS,
12
+ MESSAGE_TIME_ZONE_METADATA_KEY,
13
+ MESSAGE_TIME_ZONE_PATTERN,
14
+ currentMessageTimeZone,
15
+ messageTimeZoneFromTurnMetadata,
16
+ messageTimeZoneWallClock,
17
+ normalizeMessageTimeZone
18
+ };
19
+ //# sourceMappingURL=message-time-zone.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}