@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.
- package/dist/agent-authored-durable-text.d.ts +9 -9
- package/dist/agent-config.d.ts +148 -37
- package/dist/api-key-presets.d.ts +19 -0
- package/dist/app-action-catalog-types.d.ts +32 -0
- package/dist/app-action-catalog.gen.d.ts +2 -0
- package/dist/app-actions.d.ts +91 -0
- package/dist/app-actions.js +10130 -0
- package/dist/app-actions.js.map +1 -0
- package/dist/app-shot.d.ts +55 -0
- package/dist/artifact-catalog.d.ts +33 -0
- package/dist/artifacts.d.ts +166 -0
- package/dist/atlassian-native-retirement.d.ts +16 -0
- package/dist/atlassian-native-retirement.js +30 -0
- package/dist/atlassian-native-retirement.js.map +1 -0
- package/dist/atlassian.js +48 -23
- package/dist/automation-templates.d.ts +434 -0
- package/dist/automation-templates.js +31 -0
- package/dist/automation-templates.js.map +1 -0
- package/dist/billing-subscriptions.d.ts +61 -0
- package/dist/bots.d.ts +583 -0
- package/dist/bundled-skills.d.ts +58 -2
- package/dist/canonical-human-identities.js +3 -1
- package/dist/child-lifecycle-notice-protocol.d.ts +45 -0
- package/dist/chunk-2QKIEAGY.js +396 -0
- package/dist/chunk-2QKIEAGY.js.map +1 -0
- package/dist/chunk-2WOWEWXV.js +426 -0
- package/dist/chunk-2WOWEWXV.js.map +1 -0
- package/dist/chunk-2ZIHHL72.js +153 -0
- package/dist/chunk-2ZIHHL72.js.map +1 -0
- package/dist/chunk-32U6NKQQ.js +389 -0
- package/dist/chunk-32U6NKQQ.js.map +1 -0
- package/dist/chunk-4YDDHSO2.js +799 -0
- package/dist/chunk-4YDDHSO2.js.map +1 -0
- package/dist/chunk-56SNIMDO.js +9 -0
- package/dist/chunk-56SNIMDO.js.map +1 -0
- package/dist/chunk-5RWB6QVL.js +101 -0
- package/dist/chunk-5RWB6QVL.js.map +1 -0
- package/dist/chunk-5UGUOT3L.js +243 -0
- package/dist/chunk-5UGUOT3L.js.map +1 -0
- package/dist/chunk-6LAT33BH.js +130 -0
- package/dist/chunk-6LAT33BH.js.map +1 -0
- package/dist/chunk-7272KVWZ.js +60 -0
- package/dist/chunk-7272KVWZ.js.map +1 -0
- package/dist/chunk-72QC2GTL.js +36 -0
- package/dist/chunk-72QC2GTL.js.map +1 -0
- package/dist/chunk-7EQGGZBY.js +105 -0
- package/dist/chunk-7EQGGZBY.js.map +1 -0
- package/dist/chunk-A3LXWVYU.js +382 -0
- package/dist/chunk-A3LXWVYU.js.map +1 -0
- package/dist/chunk-AQYDZUJV.js +34 -0
- package/dist/chunk-AQYDZUJV.js.map +1 -0
- package/dist/chunk-BHCEVVUP.js +93 -0
- package/dist/chunk-BHCEVVUP.js.map +1 -0
- package/dist/chunk-BMUTAZX5.js +486 -0
- package/dist/chunk-BMUTAZX5.js.map +1 -0
- package/dist/chunk-DGG6IBBK.js +150 -0
- package/dist/chunk-DGG6IBBK.js.map +1 -0
- package/dist/{chunk-YBW5JSA3.js → chunk-FBCTUMHI.js} +123 -102
- package/dist/chunk-FBCTUMHI.js.map +1 -0
- package/dist/chunk-G2KJTFIC.js +97 -0
- package/dist/chunk-G2KJTFIC.js.map +1 -0
- package/dist/chunk-G4RKARXZ.js +1167 -0
- package/dist/chunk-G4RKARXZ.js.map +1 -0
- package/dist/chunk-H6UJJIUM.js +350 -0
- package/dist/chunk-H6UJJIUM.js.map +1 -0
- package/dist/chunk-JOTHDW4H.js +18 -0
- package/dist/chunk-JOTHDW4H.js.map +1 -0
- package/dist/chunk-L4GUEP7K.js +56480 -0
- package/dist/chunk-L4GUEP7K.js.map +1 -0
- package/dist/{chunk-SIOU2K4U.js → chunk-LJH2EYGT.js} +23 -23
- package/dist/chunk-MTJKSIGA.js +161 -0
- package/dist/chunk-MTJKSIGA.js.map +1 -0
- package/dist/chunk-MYHMB6GZ.js +202 -0
- package/dist/chunk-MYHMB6GZ.js.map +1 -0
- package/dist/chunk-PI5VIKJY.js +660 -0
- package/dist/chunk-PI5VIKJY.js.map +1 -0
- package/dist/{chunk-RIY7GYQS.js → chunk-PTSROVDG.js} +2 -2
- package/dist/chunk-PUIUXIOL.js +189 -0
- package/dist/chunk-PUIUXIOL.js.map +1 -0
- package/dist/chunk-R6VXJIMB.js +19 -0
- package/dist/chunk-R6VXJIMB.js.map +1 -0
- package/dist/chunk-RLJUNVAM.js +15 -0
- package/dist/chunk-RLJUNVAM.js.map +1 -0
- package/dist/chunk-RR6APCBK.js +213 -0
- package/dist/chunk-RR6APCBK.js.map +1 -0
- package/dist/{chunk-TXTQIYCV.js → chunk-RUQ4I6DO.js} +59 -13
- package/dist/chunk-RUQ4I6DO.js.map +1 -0
- package/dist/{chunk-WYBDERIY.js → chunk-RWEEUDHD.js} +53 -42
- package/dist/chunk-RWEEUDHD.js.map +1 -0
- package/dist/chunk-S7MSQQL6.js +158 -0
- package/dist/chunk-S7MSQQL6.js.map +1 -0
- package/dist/{chunk-5Q54VCCH.js → chunk-SHO4YO4B.js} +20 -36
- package/dist/chunk-SHO4YO4B.js.map +1 -0
- package/dist/{chunk-HHZSZYYF.js → chunk-T3HSWMA5.js} +20 -4
- package/dist/chunk-T3HSWMA5.js.map +1 -0
- package/dist/{chunk-YRKRZ6OF.js → chunk-TOOJIBJC.js} +2 -2
- package/dist/chunk-UCUOTRS6.js +431 -0
- package/dist/chunk-UCUOTRS6.js.map +1 -0
- package/dist/chunk-UH4K7GP7.js +424 -0
- package/dist/chunk-UH4K7GP7.js.map +1 -0
- package/dist/chunk-UIZWGPHV.js +120 -0
- package/dist/chunk-UIZWGPHV.js.map +1 -0
- package/dist/chunk-VLUKBV6Y.js +1170 -0
- package/dist/chunk-VLUKBV6Y.js.map +1 -0
- package/dist/chunk-W2QQ5Y6K.js +55 -0
- package/dist/chunk-W2QQ5Y6K.js.map +1 -0
- package/dist/{chunk-Y3KNXVTD.js → chunk-W3NBPR4E.js} +131 -31
- package/dist/chunk-W3NBPR4E.js.map +1 -0
- package/dist/{chunk-NRMCVHAU.js → chunk-WMGO4HJU.js} +11 -9
- package/dist/chunk-WMGO4HJU.js.map +1 -0
- package/dist/{chunk-MYBZRDTY.js → chunk-WQI7VNN4.js} +19 -9
- package/dist/chunk-WQI7VNN4.js.map +1 -0
- package/dist/{chunk-PX3VCKAU.js → chunk-WVCFSOUZ.js} +1 -1
- package/dist/{chunk-PX3VCKAU.js.map → chunk-WVCFSOUZ.js.map} +1 -1
- package/dist/chunk-XB6GQLBH.js +76 -0
- package/dist/chunk-XB6GQLBH.js.map +1 -0
- package/dist/{chunk-D2HKF2EF.js → chunk-XP5M3IKT.js} +2 -2
- package/dist/{chunk-O77VSFYZ.js → chunk-ZMPU5BWE.js} +12 -2
- package/dist/chunk-ZMPU5BWE.js.map +1 -0
- package/dist/{chunk-3SIZGL3O.js → chunk-ZYVEJFNU.js} +22 -18
- package/dist/chunk-ZYVEJFNU.js.map +1 -0
- package/dist/claude-provider-account-authority.d.ts +18 -0
- package/dist/claude-subscription-oauth.d.ts +25 -0
- package/dist/claude-subscription-usage.d.ts +95 -1
- package/dist/client-error-report.d.ts +154 -8
- package/dist/client-error-report.js +157 -2
- package/dist/client-error-report.js.map +1 -1
- package/dist/code-search.d.ts +1 -1
- package/dist/code-search.js.map +1 -1
- package/dist/codex-provider-account-authority.js +23 -12
- package/dist/codex-provider-account-authority.js.map +1 -1
- package/dist/company-profile.d.ts +144 -0
- package/dist/connect.d.ts +38 -0
- package/dist/connect.js +244 -164
- package/dist/connect.js.map +1 -1
- package/dist/connection-account-label.d.ts +2 -0
- package/dist/connection-account-label.js +34 -0
- package/dist/connection-account-label.js.map +1 -0
- package/dist/connection-authority.js +49 -24
- package/dist/connector-attachments.js +3 -1
- package/dist/connector-destinations.js +3 -1
- package/dist/connector-tool-permissions.d.ts +68 -4
- package/dist/credential-profiles.d.ts +166 -0
- package/dist/cua-desktop-tools.d.ts +19 -0
- package/dist/define-schema.d.ts +8 -0
- package/dist/desktop-app.d.ts +28 -0
- package/dist/direct-model-provider.d.ts +38 -0
- package/dist/document-artifact-commands.js +2 -2
- package/dist/document-artifact-query.js +2 -2
- package/dist/editable-artifact-binary.d.ts +7 -0
- package/dist/editable-artifact-causal-frontier.js +2 -2
- package/dist/editable-artifact-codec-registry.js +7 -7
- package/dist/editable-artifact-committed-transaction.js +4 -2
- package/dist/editable-artifact-live.js +8 -8
- package/dist/editable-artifact-serialized-commit.js +9 -9
- package/dist/editable-artifact-versions.d.ts +7 -1
- package/dist/editable-artifact-versions.js +1 -1
- package/dist/editable-artifacts.js +49 -43
- package/dist/event-preview.d.ts +22 -0
- package/dist/event-triggers.d.ts +1253 -0
- package/dist/event-triggers.js +148 -0
- package/dist/event-triggers.js.map +1 -0
- package/dist/external-identities.d.ts +34 -0
- package/dist/external-identities.js +4 -2
- package/dist/feedback.d.ts +181 -0
- package/dist/file-access.d.ts +23 -0
- package/dist/first-party-tool-authorization.d.ts +852 -0
- package/dist/github-repository-contracts.js +64 -43
- package/dist/github-repository-contracts.js.map +1 -1
- package/dist/google-drive-native-retirement.d.ts +12 -0
- package/dist/google-drive-native-retirement.js +20 -0
- package/dist/google-drive-native-retirement.js.map +1 -0
- package/dist/google-drive.d.ts +1 -1
- package/dist/google-drive.js +323 -239
- package/dist/google-drive.js.map +1 -1
- package/dist/host-mcp-bindings.js +250 -198
- package/dist/host-mcp-bindings.js.map +1 -1
- package/dist/index.d.ts +29072 -20593
- package/dist/index.js +2432 -366
- package/dist/inference-residency.d.ts +22 -0
- package/dist/insights-usage.d.ts +948 -0
- package/dist/insights-usage.js +608 -0
- package/dist/insights-usage.js.map +1 -0
- package/dist/integration-capability-id.d.ts +8 -0
- package/dist/interaction-action-deadline.d.ts +48 -0
- package/dist/interaction-driver-diagnostic.d.ts +28 -0
- package/dist/interaction.d.ts +2126 -881
- package/dist/knowledge-entries.d.ts +38 -0
- package/dist/knowledge-preparation.d.ts +4 -0
- package/dist/learning-refusal.d.ts +43 -0
- package/dist/learning-refusal.js +49 -0
- package/dist/learning-refusal.js.map +1 -0
- package/dist/managed-auth-session-sets.d.ts +1 -0
- package/dist/managed-auth-session-sets.js +207 -146
- package/dist/managed-auth-session-sets.js.map +1 -1
- package/dist/managed-sign-in-methods.d.ts +96 -0
- package/dist/managed-sign-in-methods.js +157 -35
- package/dist/managed-sign-in-methods.js.map +1 -1
- package/dist/mcp-structured-content.d.ts +25 -0
- package/dist/message-time-zone.d.ts +38 -0
- package/dist/message-time-zone.js +19 -0
- package/dist/message-time-zone.js.map +1 -0
- package/dist/modal-native-proof-v2.d.ts +587 -0
- package/dist/modal-native-proof-v2.js +39 -0
- package/dist/modal-native-proof-v2.js.map +1 -0
- package/dist/model-account-choice.d.ts +237 -0
- package/dist/model-account-settings.d.ts +422 -0
- package/dist/model-availability.d.ts +15 -0
- package/dist/model-connection-access.d.ts +13 -0
- package/dist/model-context-inspector.d.ts +8 -0
- package/dist/model-display.d.ts +43 -0
- package/dist/model-display.js +17 -0
- package/dist/model-display.js.map +1 -0
- package/dist/model-picker-order.js.map +1 -1
- package/dist/model-residency.d.ts +304 -0
- package/dist/organization-access.d.ts +416 -0
- package/dist/organization-access.js +40 -0
- package/dist/organization-access.js.map +1 -0
- package/dist/organization-integration-policy.d.ts +18 -0
- package/dist/organization-membership-lifecycle.d.ts +66 -0
- package/dist/organization-model-usage.d.ts +146 -0
- package/dist/organization-model-usage.js +87 -0
- package/dist/organization-model-usage.js.map +1 -0
- package/dist/organization-recovery.js +3 -1
- package/dist/organization-usage.d.ts +12 -0
- package/dist/passkey-only-account.d.ts +14 -0
- package/dist/passkey-only-account.js +13 -0
- package/dist/passkey-only-account.js.map +1 -0
- package/dist/permissions.d.ts +19 -0
- package/dist/personal-github.js +220 -148
- package/dist/personal-github.js.map +1 -1
- package/dist/personal-integration-setup.d.ts +81 -0
- package/dist/personal-integration-setup.js +42 -0
- package/dist/personal-integration-setup.js.map +1 -0
- package/dist/prepared-mcp-setup.d.ts +54 -0
- package/dist/prepared-mcp-setup.js +13 -0
- package/dist/prepared-mcp-setup.js.map +1 -0
- package/dist/presentation-artifact-commands.js +2 -2
- package/dist/presentation-artifact-query.js +2 -2
- package/dist/primitives.d.ts +18 -0
- package/dist/product-analytics.d.ts +27 -10
- package/dist/product-lifecycle-facts.d.ts +26 -3
- package/dist/prompt-cache-diagnostics.d.ts +92 -0
- package/dist/recordings.d.ts +1371 -0
- package/dist/remember.d.ts +98 -2
- package/dist/retained-output.d.ts +4 -2
- package/dist/sandbox-file-artifacts.d.ts +19 -2
- package/dist/sandbox-provider-command.d.ts +5 -44
- package/dist/sandbox-recovery.d.ts +139 -8
- package/dist/secret-generator.d.ts +44 -0
- package/dist/secret-mask-strings.d.ts +32 -0
- package/dist/secret-references.d.ts +90 -0
- package/dist/secret-resolution.d.ts +143 -0
- package/dist/secret-shape-masking.d.ts +52 -0
- package/dist/secret-shape-masking.js +19 -0
- package/dist/secret-shape-masking.js.map +1 -0
- package/dist/secret-totp.d.ts +41 -0
- package/dist/secret-use-approval-question.d.ts +11 -0
- package/dist/secret-use-approval-question.js +11 -0
- package/dist/secret-use-approval-question.js.map +1 -0
- package/dist/secret-use-approvals.d.ts +106 -0
- package/dist/secret-value-masking.d.ts +299 -0
- package/dist/secret-value-masking.js +62 -0
- package/dist/secret-value-masking.js.map +1 -0
- package/dist/secret-value.d.ts +19 -0
- package/dist/session-history-import.d.ts +444 -8
- package/dist/session-history.d.ts +111 -0
- package/dist/session-history.js +35 -0
- package/dist/session-history.js.map +1 -0
- package/dist/session-list-entries.d.ts +8 -0
- package/dist/session-list-entries.js +61 -0
- package/dist/session-list-entries.js.map +1 -0
- package/dist/session-mcp-projections.d.ts +13 -1
- package/dist/session-mcp-tool-permissions.d.ts +62 -0
- package/dist/session-target.d.ts +18 -0
- package/dist/session-titles.d.ts +8 -0
- package/dist/session-titles.js +5 -1
- package/dist/session-usage-limit-refusal.d.ts +34 -0
- package/dist/session-usage-limit-refusal.js +15 -0
- package/dist/session-usage-limit-refusal.js.map +1 -0
- package/dist/session-usage-limits.d.ts +127 -0
- package/dist/session-usage-limits.js +43 -0
- package/dist/session-usage-limits.js.map +1 -0
- package/dist/site-data.d.ts +286 -0
- package/dist/site-operations.d.ts +39 -0
- package/dist/site-publishing.d.ts +813 -0
- package/dist/site-session-http.d.ts +103 -4
- package/dist/site-session-http.js +27 -1
- package/dist/site-sql.d.ts +425 -0
- package/dist/skills.d.ts +38 -0
- package/dist/slack-bot-scopes.d.ts +9 -7
- package/dist/slack-bot-scopes.js +6 -3
- package/dist/slack-rest-mcp.d.ts +36 -0
- package/dist/slack-rest-mcp.js +25 -0
- package/dist/slack-rest-mcp.js.map +1 -0
- package/dist/spreadsheet-artifact-commands.d.ts +14 -1
- package/dist/spreadsheet-artifact-commands.js +9 -2
- package/dist/spreadsheet-artifact-query.d.ts +13 -6
- package/dist/spreadsheet-artifact-query.js +4 -3
- package/dist/subscription-account-actions.d.ts +83 -0
- package/dist/subscription-account-pools.d.ts +326 -0
- package/dist/subscription-personal-authority-v2.d.ts +28 -0
- package/dist/subscription-personal-authority-v2.js +13 -0
- package/dist/subscription-personal-authority-v2.js.map +1 -0
- package/dist/subscription-plans.d.ts +38 -0
- package/dist/subscription-usage-pool.d.ts +89 -0
- package/dist/tool-action-review.d.ts +141 -0
- package/dist/tool-catalog.d.ts +479 -0
- package/dist/tool-policy.d.ts +5 -0
- package/dist/tool-review-presentation.d.ts +29 -0
- package/dist/tool-review-presentation.js +21 -0
- package/dist/tool-review-presentation.js.map +1 -0
- package/dist/turn-serving-policy.d.ts +223 -0
- package/dist/usage-allowances.d.ts +30 -0
- package/dist/usage-allowances.js +5 -1
- package/dist/values.d.ts +11 -0
- package/dist/values.js +19 -0
- package/dist/values.js.map +1 -0
- package/dist/vault-provider-wire.d.ts +907 -0
- package/dist/vault-provider-wire.js +74 -0
- package/dist/vault-provider-wire.js.map +1 -0
- package/dist/vaults.d.ts +2185 -0
- package/dist/video-generation.d.ts +75 -0
- package/dist/video-generation.js +8 -1
- package/dist/workspace-control-event.d.ts +18 -0
- package/dist/workspace-control-event.js +18 -0
- package/dist/workspace-control-event.js.map +1 -0
- package/dist/workspace-governance-context.d.ts +18 -0
- package/dist/workspace-integration-wire.d.ts +1 -1
- package/dist/workspace-integration-wire.js +1 -1
- package/dist/workspace-integrations.d.ts +212 -12
- package/dist/xai-provider-account-authority.js +3 -1
- package/package.json +121 -4
- package/src/agent-authored-durable-text.ts +14 -11
- package/src/agent-config.ts +382 -203
- package/src/agent-instruction-changes.ts +94 -74
- package/src/agent-learning.ts +94 -66
- package/src/agent-topology.ts +58 -52
- package/src/api-key-presets.ts +28 -0
- package/src/app-action-catalog-types.ts +32 -0
- package/src/app-action-catalog.gen.ts +9905 -0
- package/src/app-actions.ts +365 -0
- package/src/app-shot.ts +176 -0
- package/src/artifact-catalog.ts +81 -46
- package/src/artifacts.ts +360 -227
- package/src/atlassian-native-retirement.ts +33 -0
- package/src/atlassian.ts +136 -108
- package/src/automation-templates.ts +201 -0
- package/src/billing-subscriptions.ts +48 -0
- package/src/bots.ts +238 -0
- package/src/bundled-skills.ts +79 -22
- package/src/canonical-human-identities.ts +65 -62
- package/src/child-lifecycle-notice-protocol.gen.json +1310 -0
- package/src/child-lifecycle-notice-protocol.ts +224 -0
- package/src/claude-provider-account-authority.ts +12 -0
- package/src/claude-subscription-oauth.ts +61 -19
- package/src/claude-subscription-usage.ts +64 -35
- package/src/client-error-report.ts +344 -9
- package/src/code-search.ts +1 -1
- package/src/codex-provider-account-authority.ts +22 -16
- package/src/company-brain-governed-writes.ts +265 -244
- package/src/company-brain.ts +165 -154
- package/src/company-profile.ts +362 -297
- package/src/connect.ts +222 -173
- package/src/connection-account-label.ts +45 -0
- package/src/connection-authority.ts +172 -152
- package/src/connector-attachments.ts +139 -123
- package/src/connector-destinations.ts +48 -43
- package/src/connector-tool-permissions.ts +104 -46
- package/src/credential-profiles.ts +161 -0
- package/src/cua-desktop-tools.gen.json +6722 -0
- package/src/cua-desktop-tools.linux.gen.json +6798 -0
- package/src/cua-desktop-tools.ts +42 -0
- package/src/cua-desktop-tools.windows.gen.json +6739 -0
- package/src/define-schema.ts +10 -0
- package/src/desktop-app.ts +50 -0
- package/src/direct-model-provider.ts +112 -0
- package/src/editable-artifact-binary.ts +29 -8
- package/src/editable-artifact-committed-transaction.ts +19 -18
- package/src/editable-artifact-serialized-commit.ts +8 -2
- package/src/editable-artifact-versions.ts +7 -1
- package/src/event-preview.ts +53 -3
- package/src/event-triggers.ts +891 -0
- package/src/external-identities.ts +239 -195
- package/src/feedback.ts +125 -30
- package/src/file-access.ts +26 -0
- package/src/first-party-tool-authorization.ts +383 -0
- package/src/github-repository-contracts.ts +78 -64
- package/src/google-drive-native-retirement.ts +20 -0
- package/src/google-drive.ts +286 -234
- package/src/governed-learning-activation.ts +159 -137
- package/src/governed-learning-evaluator.ts +141 -133
- package/src/host-mcp-bindings.ts +244 -221
- package/src/image-generation.ts +105 -95
- package/src/index.ts +13928 -9899
- package/src/inference-residency.ts +36 -0
- package/src/insights-usage.ts +774 -0
- package/src/integration-capability-id.ts +16 -0
- package/src/interaction-action-deadline.ts +143 -0
- package/src/interaction-driver-diagnostic.ts +89 -0
- package/src/interaction.ts +3527 -2427
- package/src/knowledge-entries.ts +386 -299
- package/src/knowledge-preparation.ts +49 -41
- package/src/knowledge.ts +242 -213
- package/src/learning-refusal.ts +90 -0
- package/src/managed-auth-session-sets.ts +180 -133
- package/src/managed-sign-in-methods.ts +156 -34
- package/src/mcp-oauth.ts +58 -46
- package/src/mcp-receipts.ts +199 -194
- package/src/mcp-structured-content.ts +81 -0
- package/src/memory-slack-delivery.ts +172 -142
- package/src/message-time-zone.ts +109 -0
- package/src/modal-native-proof-v2.ts +430 -0
- package/src/model-account-choice.ts +178 -0
- package/src/model-account-settings.ts +210 -0
- package/src/model-availability.ts +22 -0
- package/src/model-connection-access.ts +62 -14
- package/src/model-context-inspector.ts +130 -109
- package/src/model-display.ts +221 -0
- package/src/model-picker-order.ts +1 -1
- package/src/model-residency.ts +535 -0
- package/src/organization-access.ts +216 -0
- package/src/organization-integration-policy.ts +47 -28
- package/src/organization-membership-lifecycle.ts +558 -384
- package/src/organization-model-usage.ts +82 -0
- package/src/organization-recovery.ts +148 -135
- package/src/organization-usage.ts +84 -52
- package/src/passkey-only-account.ts +29 -0
- package/src/permissions.ts +94 -52
- package/src/personal-github.ts +211 -171
- package/src/personal-integration-setup.ts +150 -0
- package/src/preference-registry.ts +319 -263
- package/src/prepared-mcp-setup.ts +190 -0
- package/src/primitives.ts +22 -0
- package/src/product-analytics.ts +40 -15
- package/src/product-lifecycle-facts.ts +50 -20
- package/src/prompt-cache-diagnostics.ts +212 -0
- package/src/recordings.ts +1153 -0
- package/src/remember.ts +184 -172
- package/src/retained-output.ts +181 -168
- package/src/sandbox-file-artifacts.ts +78 -57
- package/src/sandbox-provider-command.ts +55 -72
- package/src/sandbox-recovery.ts +163 -77
- package/src/scoped-knowledge.ts +62 -43
- package/src/secret-generator.ts +156 -0
- package/src/secret-mask-strings.ts +175 -0
- package/src/secret-references.ts +414 -0
- package/src/secret-resolution.ts +322 -0
- package/src/secret-shape-masking.ts +573 -0
- package/src/secret-totp.ts +188 -0
- package/src/secret-use-approval-question.ts +22 -0
- package/src/secret-use-approvals.ts +219 -0
- package/src/secret-value-masking.ts +1283 -0
- package/src/secret-value.ts +22 -0
- package/src/session-goal-reports.ts +55 -49
- package/src/session-history-import.ts +84 -68
- package/src/session-history.ts +197 -0
- package/src/session-list-entries.ts +106 -0
- package/src/session-mcp-projections.ts +21 -3
- package/src/session-mcp-tool-permissions.ts +109 -0
- package/src/session-message-search.ts +46 -38
- package/src/session-target.ts +58 -0
- package/src/session-titles.ts +40 -4
- package/src/session-topology-primitives.ts +20 -12
- package/src/session-usage-limit-refusal.ts +101 -0
- package/src/session-usage-limits.ts +169 -0
- package/src/signup-attribution.ts +20 -15
- package/src/site-data.ts +337 -0
- package/src/site-operations.ts +154 -0
- package/src/site-publishing.ts +903 -0
- package/src/site-session-http.ts +344 -16
- package/src/site-sql.ts +1120 -0
- package/src/skill-use.ts +18 -17
- package/src/skills.ts +105 -50
- package/src/slack-bot-scopes.ts +18 -35
- package/src/slack-rest-mcp.ts +222 -0
- package/src/slack-task-policy.ts +97 -73
- package/src/spreadsheet-artifact-commands.ts +74 -13
- package/src/spreadsheet-artifact-query.ts +188 -50
- package/src/subscription-account-actions.ts +103 -0
- package/src/subscription-account-pools.ts +74 -0
- package/src/subscription-personal-authority-v2.ts +69 -0
- package/src/subscription-plans.ts +51 -0
- package/src/subscription-usage-pool.ts +44 -0
- package/src/task-notes.ts +70 -68
- package/src/tool-action-review.ts +271 -0
- package/src/tool-catalog.ts +694 -379
- package/src/tool-policy.ts +82 -0
- package/src/tool-result-spill.ts +13 -9
- package/src/tool-review-presentation.ts +643 -0
- package/src/turn-serving-policy.ts +167 -0
- package/src/usage-allowances.ts +212 -136
- package/src/values.ts +25 -0
- package/src/vault-provider-wire.ts +580 -0
- package/src/vaults.ts +1296 -0
- package/src/video-generation.ts +430 -361
- package/src/work-claims.ts +183 -166
- package/src/workspace-control-event.ts +134 -0
- package/src/workspace-governance-context.ts +63 -0
- package/src/workspace-instruction-policies.ts +346 -279
- package/src/workspace-integration-wire.ts +10 -0
- package/src/workspace-integrations.ts +488 -398
- package/src/workspace-learning-administration.ts +58 -44
- package/src/workspace-learning-policy.ts +126 -99
- package/src/workspace-state.ts +239 -220
- package/src/xai-provider-account-authority.ts +23 -17
- package/dist/chunk-3SIZGL3O.js.map +0 -1
- package/dist/chunk-566IFOVP.js +0 -26133
- package/dist/chunk-566IFOVP.js.map +0 -1
- package/dist/chunk-5IXYF6XN.js +0 -728
- package/dist/chunk-5IXYF6XN.js.map +0 -1
- package/dist/chunk-5Q54VCCH.js.map +0 -1
- package/dist/chunk-BCS7WHCK.js +0 -139
- package/dist/chunk-BCS7WHCK.js.map +0 -1
- package/dist/chunk-EK7NDGFR.js +0 -128
- package/dist/chunk-EK7NDGFR.js.map +0 -1
- package/dist/chunk-GRG7PHWQ.js +0 -25
- package/dist/chunk-GRG7PHWQ.js.map +0 -1
- package/dist/chunk-HHZSZYYF.js.map +0 -1
- package/dist/chunk-ICDZGUX2.js +0 -186
- package/dist/chunk-ICDZGUX2.js.map +0 -1
- package/dist/chunk-JUFK3T4Q.js +0 -80
- package/dist/chunk-JUFK3T4Q.js.map +0 -1
- package/dist/chunk-MYBZRDTY.js.map +0 -1
- package/dist/chunk-NRMCVHAU.js.map +0 -1
- package/dist/chunk-O77VSFYZ.js.map +0 -1
- package/dist/chunk-P3HLDT77.js +0 -59
- package/dist/chunk-P3HLDT77.js.map +0 -1
- package/dist/chunk-TXTQIYCV.js.map +0 -1
- package/dist/chunk-WYBDERIY.js.map +0 -1
- package/dist/chunk-Y3KNXVTD.js.map +0 -1
- package/dist/chunk-YBW5JSA3.js.map +0 -1
- package/dist/chunk-YRXAWWCU.js +0 -45
- package/dist/chunk-YRXAWWCU.js.map +0 -1
- package/dist/chunk-YWMOIZ6A.js +0 -185
- package/dist/chunk-YWMOIZ6A.js.map +0 -1
- package/dist/site-request-headers.test.d.ts +0 -1
- package/dist/transcription-recordings.d.ts +0 -300
- package/src/transcription-recordings.ts +0 -169
- /package/dist/{chunk-SIOU2K4U.js.map → chunk-LJH2EYGT.js.map} +0 -0
- /package/dist/{chunk-RIY7GYQS.js.map → chunk-PTSROVDG.js.map} +0 -0
- /package/dist/{chunk-YRKRZ6OF.js.map → chunk-TOOJIBJC.js.map} +0 -0
- /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":";;;;;;;;;;;;;AAEA,SAAS,SAAS;AAEX,IAAM,qCAAqC;AAC3C,IAAM,uCAAuC;AAC7C,IAAM,uCAAuC;AAC7C,IAAM,+CAA+C;AACrD,IAAM,iDACX;AAEK,IAAM,4BAA4C;AAAA,EAAa,MACpE,EAAE,KAAK,CAAC,UAAU,QAAQ,QAAQ,CAAC;AACrC;AAGO,IAAM,4BAA4C;AAAA,EAAa,MACpE,EAAE,KAAK,CAAC,UAAU,iBAAiB,CAAC;AACtC;AAGO,IAAM,2BAA2C;AAAA,EAAa,MACnE,EAAE,OAAO;AAAA,IACP,MAAM,EAAE,QAAQ,OAAO;AAAA,IACvB,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,GAAG;AAAA,EACnC,CAAC;AACH;AAIO,IAAM,uBAAuC;AAAA,EAAa,MAC/D,EAAE,OAAO;AAAA,IACP,IAAe;AAAA,IACf,aAAa,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,IAAI,GAAG;AAAA,IACtC,eAAe;AAAA,IACf,OAAO;AAAA,EACT,CAAC;AACH;AAGO,IAAM,6BAA6C;AAAA,EAAa,MACrE,EAAE,KAAK,CAAC,SAAS,uBAAuB,CAAC;AAC3C;AAGO,IAAM,kCAAkD;AAAA,EAAa,MAC1E,EAAE,OAAO;AAAA,IACP,MAAM;AAAA,IACN,YAAuB,OAAO,MAAM,eAAe;AAAA,IACnD,YAAuB,OAAO,MAAM,eAAe;AAAA,IACnD,WAAW,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,IAAI,GAAG;AAAA,IACrC,gBAA2B;AAAA,IAC3B,OAAO;AAAA,IACP,OAAO,EAAE,MAAM,oBAAoB,EAAE,IAAI,kCAAkC;AAAA,EAC7E,CAAC;AACH;AAGO,IAAM,+BAA+C;AAAA,EAAa,MACvE,EAAE,OAAO;AAAA,IACP,aAAwB;AAAA,IACxB,oBAA+B,OAAO,MAAM,eAAe;AAAA,EAC7D,CAAC;AACH;AAGO,IAAM,wCAAwC;AAK9C,IAAM,0BAA0C;AAAA,EAAa,MACvD,eAAe,YAAY,CAAC,OAAO,YAAY;AACxD,QAAI,IAAI,YAAY,EAAE,OAAO,KAAK,EAAE,aAAa,sCAAsC;AACrF,cAAQ,SAAS,EAAE,MAAM,UAAU,SAAS,6CAA6C,CAAC;AAAA,IAC5F;AACA,QACE,CAAC,MAAM,WAAW,GAAG,KACrB,MAAM,WAAW,IAAI,KACrB,MAAM,SAAS,GAAG,KAClB,MAAM,SAAS,GAAG,KAClB,0BAA0B,KAAK,KAAK,GACpC;AACA,cAAQ,SAAS;AAAA,QACf,MAAM;AAAA,QACN,SAAS;AAAA,MACX,CAAC;AACD;AAAA,IACF;AACA,QAAI;AACF,YAAM,SAAS,IAAI,IAAI,OAAO,0BAA0B;AACxD,YAAMA,QAAO;AACb,YAAM,gBAAgB,IAAI;AAAA,QACxB,iBAAiBA,KAAI,eAAeA,KAAI,mBAAmBA,KAAI;AAAA,QAC/D;AAAA,MACF;AACA,UACE,OAAO,WAAW,8BAClB,OAAO,YACP,OAAO,YACP,OAAO,UACP,OAAO,QACP,CAAC,cAAc,KAAK,KAAK,KACzB,OAAO,aAAa,OACpB;AACA,gBAAQ,SAAS;AAAA,UACf,MAAM;AAAA,UACN,SAAS;AAAA,QACX,CAAC;AAAA,MACH;AAAA,IACF,QAAQ;AACN,cAAQ,SAAS;AAAA,QACf,MAAM;AAAA,QACN,SAAS;AAAA,MACX,CAAC;AAAA,IACH;AAAA,EACF,CAAC;AACH;AAEO,IAAM,0CAA0D;AAAA,EAAa,MAClF,6BAA6B,OAAO;AAAA,IAClC,MAAM,EAAE,KAAK,CAAC,OAAO,QAAQ,CAAC;AAAA,IAC9B,QAAmB;AAAA,IACnB,cAAc,wBAAwB,SAAS;AAAA,EACjD,CAAC,EAAE,YAAY,CAAC,OAAO,YAAY;AACjC,QAAK,MAAM,SAAS,aAAc,QAAQ,MAAM,MAAM,GAAG;AACvD,cAAQ,SAAS;AAAA,QACf,MAAM;AAAA,QACN,MAAM,CAAC,QAAQ;AAAA,QACf,SAAS;AAAA,MACX,CAAC;AAAA,IACH;AAAA,EACF,CAAC;AACH;AAKO,IAAM,8BAA8C;AAAA,EAAa,MACtE,EAAE,OAAO;AAAA,IACP,IAAe;AAAA,IACf,MAAM,EAAE,KAAK,CAAC,OAAO,QAAQ,CAAC;AAAA,IAC9B,WAAsB;AAAA,IACtB,gBAA2B;AAAA,EAC7B,CAAC;AACH;AAGO,IAAM,4BAA4C;AAAA,EAAa,MACpE,EAAE,KAAK,CAAC,UAAU,QAAQ,CAAC;AAC7B;AAQA,IAAM,8BAA8C;AAAA,EAAa,MACpD,OACR,KAAK,EACL,IAAI,CAAC,EACL,IAAI,GAAG,EACP,MAAM,qBAAqB;AAChC;AACA,IAAM,yBAAyC;AAAA,EAAa,MAC1D,EACG,OAAO;AAAA,IACN,WAAW,4BAA4B,SAAS;AAAA,IAChD,WAAW,4BAA4B,SAAS;AAAA,IAChD,aAAa,4BAA4B,SAAS;AAAA,IAClD,YAAY,4BAA4B,SAAS;AAAA,IACjD,KAAK,4BAA4B,SAAS;AAAA,EAC5C,CAAC,EACA,OAAO;AACZ;AAEO,IAAM,2CAA2D;AAAA,EAAa,MACnF,6BAA6B,OAAO;AAAA,IAClC,eAA0B;AAAA,IAC1B,UAAU;AAAA,IACV,sBAAsB,EAAE,OAAO,EAAE,IAAI,IAAI,EAAE,SAAS;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMpD,aAAa,uBAAuB,SAAS,EAAE,MAAM,MAAS;AAAA,EAChE,CAAC;AACH;AAKO,IAAM,4CAA4D;AAAA,EAAa,MACpF,EAAE,OAAO;AAAA,IACP,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,IAAK;AAAA,EACjC,CAAC;AACH;AAKO,IAAM,qDACK;AAAA,EAAa,MAC3B,6BAA6B,OAAO;AAAA,IAClC,eAA0B;AAAA,IAC1B,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,GAAG;AAAA,IACjC,UAAU,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,IAAI,IAAK;AAAA,EACvC,CAAC;AACH;AAKK,IAAM,8CAA8D;AAAA,EAAa,MACtF,EAAE,OAAO;AAAA,IACP,YAAY;AAAA,IACZ,cAAc,wBAAwB,SAAS;AAAA,EACjD,CAAC;AACH;AAKO,IAAM,2CAA2D;AAAA,EAAa,MACnF,6BAA6B,OAAO;AAAA,IAClC,eAA0B;AAAA,EAC5B,CAAC;AACH;AAKO,IAAM,oCAAoD;AAAA,EAAa,MAC5E,6BAA6B,OAAO;AAAA,IAClC,QAAmB;AAAA,EACrB,CAAC;AACH;AAGO,IAAM,oCAAoD;AAAA,EAAa,MAC5E,6BAA6B,OAAO;AAAA,IAClC,QAAmB;AAAA,IACnB,mBAA8B;AAAA,EAChC,CAAC;AACH;AAGO,IAAM,qCAAqC;AAG3C,IAAM,8BAA8C;AAAA,EAAa,MACtE,EAAE,OAAO;AAAA,IACP,YAAuB,OAAO,MAAM,eAAe;AAAA,IACnD,YAAuB,OAAO,MAAM,eAAe;AAAA,IACnD,OAAO,EAAE,QAAQ,YAAY;AAAA,EAC/B,CAAC;AACH;AAGO,IAAM,oCAAoD;AAAA,EAAa,MAC5E,EAAE,OAAO;AAAA,IACP,MAAM;AAAA,EACR,CAAC;AACH;AAGO,IAAM,gCAAgD;AAAA,EAAa,MACxE,EAAE,mBAAmB,QAAQ;AAAA,IAC3B,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,SAAS,EAAE,CAAC;AAAA,IACvC,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,iBAAiB,GAAG,MAAM,qBAAqB,CAAC;AAAA,IAC3E,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,aAAa,EAAE,CAAC;AAAA,EAC7C,CAAC;AACH;AAGO,IAAM,iCAAiD;AAAA,EAAa,MACzE,EAAE,KAAK;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,CAAC;AACH;","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 =
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
z.
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
)
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
})
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
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
|
|
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":"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","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":[]}
|