@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
package/src/bots.ts
ADDED
|
@@ -0,0 +1,238 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { defineSchema } from "./define-schema";
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Bots. A bot is an ordinary long-lived chat: its title is its name, and any
|
|
6
|
+
* chat may also carry a short description and an avatar. Both are display
|
|
7
|
+
* metadata for people; they never reach the model. People and the chat's own
|
|
8
|
+
* agent may change them at any time.
|
|
9
|
+
*
|
|
10
|
+
* A bot template is where a new bot starts: a name, description and avatar,
|
|
11
|
+
* plus setup instructions that become the new chat's first message. The
|
|
12
|
+
* agent then sets itself up with its ordinary tools (Skills, connections,
|
|
13
|
+
* schedules, machines) and the chat simply continues. A workspace keeps the
|
|
14
|
+
* templates its people and agents save.
|
|
15
|
+
*
|
|
16
|
+
* This module must not import `./index`.
|
|
17
|
+
*/
|
|
18
|
+
|
|
19
|
+
export const SESSION_DESCRIPTION_MAX_LENGTH = 280;
|
|
20
|
+
|
|
21
|
+
/** Curated icon names (the web maps each to a Lucide glyph). */
|
|
22
|
+
export const SESSION_AVATAR_ICONS = [
|
|
23
|
+
"bot",
|
|
24
|
+
"bug",
|
|
25
|
+
"mail",
|
|
26
|
+
"git-pull-request",
|
|
27
|
+
"telescope",
|
|
28
|
+
"chart-line",
|
|
29
|
+
"file-text",
|
|
30
|
+
"shield-check",
|
|
31
|
+
"wrench",
|
|
32
|
+
"search",
|
|
33
|
+
"calendar-clock",
|
|
34
|
+
"megaphone",
|
|
35
|
+
"receipt",
|
|
36
|
+
"rocket",
|
|
37
|
+
"database",
|
|
38
|
+
"code",
|
|
39
|
+
"briefcase",
|
|
40
|
+
"book-open",
|
|
41
|
+
"flask-conical",
|
|
42
|
+
"globe",
|
|
43
|
+
"headset",
|
|
44
|
+
"pen-tool",
|
|
45
|
+
"users",
|
|
46
|
+
"sparkles",
|
|
47
|
+
] as const;
|
|
48
|
+
export const SessionAvatarIcon = /* @__PURE__ */ defineSchema(() => z.enum(SESSION_AVATAR_ICONS));
|
|
49
|
+
export type SessionAvatarIcon = z.infer<typeof SessionAvatarIcon>;
|
|
50
|
+
|
|
51
|
+
const SESSION_AVATAR_EMOJI_PATTERN = /\p{Extended_Pictographic}|\p{Regional_Indicator}/u;
|
|
52
|
+
|
|
53
|
+
/** True when `value` is exactly one user-perceived character that is an emoji. */
|
|
54
|
+
export function isSingleSessionAvatarEmoji(value: string): boolean {
|
|
55
|
+
if (!SESSION_AVATAR_EMOJI_PATTERN.test(value)) return false;
|
|
56
|
+
const segmenter =
|
|
57
|
+
typeof Intl !== "undefined" && "Segmenter" in Intl
|
|
58
|
+
? new Intl.Segmenter(undefined, { granularity: "grapheme" })
|
|
59
|
+
: null;
|
|
60
|
+
if (!segmenter) return [...value].length <= 8;
|
|
61
|
+
let count = 0;
|
|
62
|
+
for (const _segment of segmenter.segment(value)) {
|
|
63
|
+
count += 1;
|
|
64
|
+
if (count > 1) return false;
|
|
65
|
+
}
|
|
66
|
+
return count === 1;
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
/** Hue (0-359) of the avatar tile's background. */
|
|
70
|
+
export const SessionAvatarHue = /* @__PURE__ */ defineSchema(() =>
|
|
71
|
+
z.number().int().min(0).max(359),
|
|
72
|
+
);
|
|
73
|
+
|
|
74
|
+
/**
|
|
75
|
+
* What a chat looks like in lists and its header. `image` names an image file
|
|
76
|
+
* in the workspace (for example one the agent generated); each viewer opens it
|
|
77
|
+
* with their own access, and anyone who cannot sees the chat's initials.
|
|
78
|
+
*/
|
|
79
|
+
export const SessionAvatar = /* @__PURE__ */ defineSchema(() =>
|
|
80
|
+
z.discriminatedUnion("kind", [
|
|
81
|
+
z
|
|
82
|
+
.object({
|
|
83
|
+
kind: z.literal("emoji"),
|
|
84
|
+
emoji: z.string().min(1).max(32).refine(isSingleSessionAvatarEmoji, {
|
|
85
|
+
message: "emoji must be a single emoji",
|
|
86
|
+
}),
|
|
87
|
+
hue: SessionAvatarHue,
|
|
88
|
+
})
|
|
89
|
+
.strict(),
|
|
90
|
+
z
|
|
91
|
+
.object({
|
|
92
|
+
kind: z.literal("icon"),
|
|
93
|
+
icon: SessionAvatarIcon,
|
|
94
|
+
hue: SessionAvatarHue,
|
|
95
|
+
})
|
|
96
|
+
.strict(),
|
|
97
|
+
z
|
|
98
|
+
.object({
|
|
99
|
+
kind: z.literal("letters"),
|
|
100
|
+
letters: z.string().regex(/^[\p{L}\p{N}]{1,2}$/u, {
|
|
101
|
+
message: "letters must be one or two letters or digits",
|
|
102
|
+
}),
|
|
103
|
+
hue: SessionAvatarHue,
|
|
104
|
+
})
|
|
105
|
+
.strict(),
|
|
106
|
+
z.object({ kind: z.literal("image"), artifactId: z.string().uuid() }).strict(),
|
|
107
|
+
]),
|
|
108
|
+
);
|
|
109
|
+
export type SessionAvatar = z.infer<typeof SessionAvatar>;
|
|
110
|
+
|
|
111
|
+
/** An avatar a file can carry to another workspace: anything but an image. */
|
|
112
|
+
export const PortableSessionAvatar = /* @__PURE__ */ defineSchema(() =>
|
|
113
|
+
SessionAvatar.refine((avatar) => avatar.kind !== "image", {
|
|
114
|
+
message: "an image avatar stays in its workspace",
|
|
115
|
+
}),
|
|
116
|
+
);
|
|
117
|
+
|
|
118
|
+
/** Stored descriptions are trimmed; an empty one is no description. */
|
|
119
|
+
export const SessionDescription = /* @__PURE__ */ defineSchema(() =>
|
|
120
|
+
z
|
|
121
|
+
.string()
|
|
122
|
+
.trim()
|
|
123
|
+
.max(SESSION_DESCRIPTION_MAX_LENGTH)
|
|
124
|
+
.transform((value) => (value.length > 0 ? value : null)),
|
|
125
|
+
);
|
|
126
|
+
|
|
127
|
+
// --- Bot templates --------------------------------------------------------
|
|
128
|
+
|
|
129
|
+
export const BOT_TEMPLATE_NAME_MAX_LENGTH = 120;
|
|
130
|
+
export const BOT_TEMPLATE_SETUP_INSTRUCTIONS_MAX_LENGTH = 20_000;
|
|
131
|
+
/** Saved templates a workspace keeps; saving another past this is refused. */
|
|
132
|
+
export const BOT_TEMPLATES_PER_WORKSPACE_MAX = 200;
|
|
133
|
+
|
|
134
|
+
const Uuid = /* @__PURE__ */ defineSchema(() => z.string().uuid());
|
|
135
|
+
const BotTemplateName = /* @__PURE__ */ defineSchema(() =>
|
|
136
|
+
z.string().trim().min(1).max(BOT_TEMPLATE_NAME_MAX_LENGTH),
|
|
137
|
+
);
|
|
138
|
+
const BotTemplateDescription = /* @__PURE__ */ defineSchema(() =>
|
|
139
|
+
z.string().trim().max(SESSION_DESCRIPTION_MAX_LENGTH),
|
|
140
|
+
);
|
|
141
|
+
/** The new chat's first message: what the agent does to set itself up. */
|
|
142
|
+
const BotTemplateSetupInstructions = /* @__PURE__ */ defineSchema(() =>
|
|
143
|
+
z.string().trim().min(1).max(BOT_TEMPLATE_SETUP_INSTRUCTIONS_MAX_LENGTH),
|
|
144
|
+
);
|
|
145
|
+
|
|
146
|
+
/** A template saved in a workspace. */
|
|
147
|
+
export const WorkspaceBotTemplate = /* @__PURE__ */ defineSchema(() =>
|
|
148
|
+
z.object({
|
|
149
|
+
id: Uuid,
|
|
150
|
+
workspaceId: Uuid,
|
|
151
|
+
name: z.string(),
|
|
152
|
+
description: z.string(),
|
|
153
|
+
avatar: SessionAvatar.nullable(),
|
|
154
|
+
setupInstructions: z.string(),
|
|
155
|
+
/** The chat it was saved from, when it was saved from one. */
|
|
156
|
+
sourceSessionId: Uuid.nullable(),
|
|
157
|
+
/** Who saved it; null when a workspace-level caller did. */
|
|
158
|
+
createdBySubjectId: z.string().nullable(),
|
|
159
|
+
/** `manage`: the reader may rename, change or delete it. */
|
|
160
|
+
viewerAccess: z.enum(["manage", "use"]),
|
|
161
|
+
createdAt: z.string(),
|
|
162
|
+
updatedAt: z.string(),
|
|
163
|
+
}),
|
|
164
|
+
);
|
|
165
|
+
export type WorkspaceBotTemplate = z.output<typeof WorkspaceBotTemplate>;
|
|
166
|
+
|
|
167
|
+
export const CreateBotTemplateRequest = /* @__PURE__ */ defineSchema(() =>
|
|
168
|
+
z
|
|
169
|
+
.object({
|
|
170
|
+
name: BotTemplateName,
|
|
171
|
+
description: BotTemplateDescription.default(""),
|
|
172
|
+
avatar: SessionAvatar.nullable().default(null),
|
|
173
|
+
setupInstructions: BotTemplateSetupInstructions,
|
|
174
|
+
sourceSessionId: Uuid.nullable().default(null),
|
|
175
|
+
})
|
|
176
|
+
.strict(),
|
|
177
|
+
);
|
|
178
|
+
export type CreateBotTemplateRequest = z.input<typeof CreateBotTemplateRequest>;
|
|
179
|
+
export type ParsedCreateBotTemplateRequest = z.output<typeof CreateBotTemplateRequest>;
|
|
180
|
+
|
|
181
|
+
/** Changes only what it names. */
|
|
182
|
+
export const UpdateBotTemplateRequest = /* @__PURE__ */ defineSchema(() =>
|
|
183
|
+
z
|
|
184
|
+
.object({
|
|
185
|
+
name: BotTemplateName.optional(),
|
|
186
|
+
description: BotTemplateDescription.optional(),
|
|
187
|
+
avatar: SessionAvatar.nullable().optional(),
|
|
188
|
+
setupInstructions: BotTemplateSetupInstructions.optional(),
|
|
189
|
+
})
|
|
190
|
+
.strict(),
|
|
191
|
+
);
|
|
192
|
+
export type UpdateBotTemplateRequest = z.input<typeof UpdateBotTemplateRequest>;
|
|
193
|
+
export type ParsedUpdateBotTemplateRequest = z.output<typeof UpdateBotTemplateRequest>;
|
|
194
|
+
|
|
195
|
+
export const ListBotTemplatesResponse = /* @__PURE__ */ defineSchema(() =>
|
|
196
|
+
z.object({ templates: z.array(WorkspaceBotTemplate) }),
|
|
197
|
+
);
|
|
198
|
+
export type ListBotTemplatesResponse = z.output<typeof ListBotTemplatesResponse>;
|
|
199
|
+
|
|
200
|
+
export const BotTemplateResponse = /* @__PURE__ */ defineSchema(() =>
|
|
201
|
+
z.object({ template: WorkspaceBotTemplate }),
|
|
202
|
+
);
|
|
203
|
+
export type BotTemplateResponse = z.output<typeof BotTemplateResponse>;
|
|
204
|
+
|
|
205
|
+
export const BOT_TEMPLATE_FILE_FORMAT = "opengeni.bot-template";
|
|
206
|
+
|
|
207
|
+
/**
|
|
208
|
+
* A template as a file, to share outside its workspace. It carries no ids,
|
|
209
|
+
* owner or image: importing it saves a new template in the importer's
|
|
210
|
+
* workspace, and an image avatar becomes the name's initials.
|
|
211
|
+
*/
|
|
212
|
+
export const BotTemplateFile = /* @__PURE__ */ defineSchema(() =>
|
|
213
|
+
z
|
|
214
|
+
.object({
|
|
215
|
+
format: z.literal(BOT_TEMPLATE_FILE_FORMAT),
|
|
216
|
+
version: z.literal(1),
|
|
217
|
+
name: BotTemplateName,
|
|
218
|
+
description: BotTemplateDescription.default(""),
|
|
219
|
+
avatar: PortableSessionAvatar.nullable().default(null),
|
|
220
|
+
setupInstructions: BotTemplateSetupInstructions,
|
|
221
|
+
})
|
|
222
|
+
.strict(),
|
|
223
|
+
);
|
|
224
|
+
export type BotTemplateFile = z.input<typeof BotTemplateFile>;
|
|
225
|
+
|
|
226
|
+
/** The file for a template; an image avatar is dropped (see {@link BotTemplateFile}). */
|
|
227
|
+
export function botTemplateFile(
|
|
228
|
+
template: Pick<WorkspaceBotTemplate, "name" | "description" | "avatar" | "setupInstructions">,
|
|
229
|
+
): z.output<typeof BotTemplateFile> {
|
|
230
|
+
return {
|
|
231
|
+
format: BOT_TEMPLATE_FILE_FORMAT,
|
|
232
|
+
version: 1,
|
|
233
|
+
name: template.name,
|
|
234
|
+
description: template.description,
|
|
235
|
+
avatar: template.avatar && template.avatar.kind !== "image" ? template.avatar : null,
|
|
236
|
+
setupInstructions: template.setupInstructions,
|
|
237
|
+
};
|
|
238
|
+
}
|
package/src/bundled-skills.ts
CHANGED
|
@@ -1,36 +1,93 @@
|
|
|
1
|
+
import * as primitives from "./primitives";
|
|
2
|
+
import { defineSchema } from "./define-schema";
|
|
1
3
|
import { z } from "zod";
|
|
2
4
|
|
|
3
|
-
|
|
5
|
+
/**
|
|
6
|
+
* Ids are permanent. The product-named ids on the left were renamed to
|
|
7
|
+
* neutral ones so embedding products never show another product's name to
|
|
8
|
+
* their agents. They stay accepted in requests and stored selections, and
|
|
9
|
+
* every selection resolves them to the current id.
|
|
10
|
+
*/
|
|
11
|
+
export const LEGACY_BUNDLED_SKILL_IDS = {
|
|
12
|
+
"builtin:opengeni-visualize": "builtin:visualize",
|
|
13
|
+
"builtin:opengeni-skills": "builtin:skill-management",
|
|
14
|
+
"builtin:opengeni-projects": "builtin:projects",
|
|
15
|
+
"builtin:opengeni-schedules": "builtin:schedules",
|
|
16
|
+
"builtin:opengeni-documents": "builtin:documents",
|
|
17
|
+
"builtin:opengeni-spreadsheets": "builtin:spreadsheets",
|
|
18
|
+
"builtin:opengeni-presentations": "builtin:presentations",
|
|
19
|
+
"builtin:opengeni-sites": "builtin:sites",
|
|
20
|
+
"builtin:opengeni-video-generation": "builtin:video-generation",
|
|
21
|
+
"builtin:opengeni-secrets": "builtin:secrets",
|
|
22
|
+
} as const;
|
|
23
|
+
const CURRENT_BUNDLED_SKILL_IDS = [
|
|
4
24
|
"builtin:opengeni-help",
|
|
5
25
|
"builtin:opengeni-client",
|
|
6
|
-
"builtin:
|
|
26
|
+
"builtin:visualize",
|
|
7
27
|
"builtin:document-parsing",
|
|
8
|
-
"builtin:
|
|
9
|
-
"builtin:
|
|
10
|
-
"builtin:
|
|
11
|
-
"builtin:
|
|
12
|
-
"builtin:
|
|
13
|
-
"builtin:
|
|
14
|
-
"builtin:
|
|
15
|
-
|
|
28
|
+
"builtin:skill-management",
|
|
29
|
+
"builtin:projects",
|
|
30
|
+
"builtin:schedules",
|
|
31
|
+
"builtin:event-triggers",
|
|
32
|
+
"builtin:documents",
|
|
33
|
+
"builtin:spreadsheets",
|
|
34
|
+
"builtin:presentations",
|
|
35
|
+
"builtin:sites",
|
|
36
|
+
"builtin:video-generation",
|
|
37
|
+
"builtin:secrets",
|
|
38
|
+
] as const;
|
|
39
|
+
type LegacyBundledSkillId = keyof typeof LEGACY_BUNDLED_SKILL_IDS;
|
|
40
|
+
|
|
41
|
+
/** Every accepted id: the current ids, then the legacy ids they replaced. */
|
|
42
|
+
export const BundledSkillId = /* @__PURE__ */ defineSchema(() =>
|
|
43
|
+
z.enum([
|
|
44
|
+
...CURRENT_BUNDLED_SKILL_IDS,
|
|
45
|
+
...(Object.keys(LEGACY_BUNDLED_SKILL_IDS) as LegacyBundledSkillId[]),
|
|
46
|
+
]),
|
|
47
|
+
);
|
|
16
48
|
export type BundledSkillId = z.infer<typeof BundledSkillId>;
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
49
|
+
|
|
50
|
+
/** The current id for a bundled Skill id; a legacy id maps to its rename. */
|
|
51
|
+
export function canonicalBundledSkillId<T extends string>(id: T): T | BundledSkillId {
|
|
52
|
+
return (LEGACY_BUNDLED_SKILL_IDS as Record<string, BundledSkillId>)[id] ?? id;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
export const BundledSkillSelection = /* @__PURE__ */ defineSchema(() =>
|
|
56
|
+
z
|
|
57
|
+
.array(BundledSkillId)
|
|
58
|
+
.max(BundledSkillId.options.length)
|
|
59
|
+
.transform((ids) => ids.map((id) => canonicalBundledSkillId(id)))
|
|
60
|
+
.refine((ids) => new Set(ids).size === ids.length, "bundled Skill ids must be unique")
|
|
61
|
+
.transform((ids) => [...ids].sort()),
|
|
62
|
+
);
|
|
22
63
|
|
|
23
64
|
/** Undefined is defaults/inheritance; an explicit empty list disables bundles. */
|
|
24
65
|
export function resolveBundledSkillSelection(
|
|
25
66
|
requested: readonly BundledSkillId[] | undefined,
|
|
26
67
|
parent: readonly BundledSkillId[] | undefined,
|
|
27
68
|
): BundledSkillId[] | undefined {
|
|
28
|
-
const selected = requested === undefined ? parent : requested
|
|
29
|
-
|
|
69
|
+
const selected = (requested === undefined ? parent : requested)?.map((id) =>
|
|
70
|
+
canonicalBundledSkillId(id),
|
|
71
|
+
);
|
|
72
|
+
const allowed = parent?.map((id) => canonicalBundledSkillId(id));
|
|
73
|
+
if (allowed !== undefined && selected?.some((id) => !allowed.includes(id)))
|
|
30
74
|
throw new Error("A child cannot widen its parent's bundled Skill selection");
|
|
31
75
|
return selected === undefined ? undefined : BundledSkillSelection.parse(selected);
|
|
32
76
|
}
|
|
33
77
|
|
|
78
|
+
/**
|
|
79
|
+
* Freeze the defaults a session's agent configuration implies. An agent that
|
|
80
|
+
* starts from `capabilities: "none"` carries no bundled Opengeni guides unless
|
|
81
|
+
* the request lists them; an explicit list (including `[]`) is kept exactly,
|
|
82
|
+
* and `"all"` or legacy (null) configurations keep the bundled defaults.
|
|
83
|
+
*/
|
|
84
|
+
export function bundledSkillSelectionForAgentConfig(
|
|
85
|
+
selection: BundledSkillId[] | undefined,
|
|
86
|
+
agentConfig: { from: "all" | "none" } | null | undefined,
|
|
87
|
+
): BundledSkillId[] | undefined {
|
|
88
|
+
return selection === undefined && agentConfig?.from === "none" ? [] : selection;
|
|
89
|
+
}
|
|
90
|
+
|
|
34
91
|
// Immutable session configuration, following the existing create-identity
|
|
35
92
|
// metadata convention. Callers cannot set this through arbitrary metadata.
|
|
36
93
|
const BUNDLED_SKILL_SELECTION_KEY = "_opengeni_bundled_skill_ids_v1";
|
|
@@ -50,8 +107,8 @@ export function withBundledSkillSelectionMetadata(
|
|
|
50
107
|
* stored selection and never turns it back into defaults. Input stays strict,
|
|
51
108
|
* and a value that is not a list of id strings still fails.
|
|
52
109
|
*/
|
|
53
|
-
const StoredBundledSkillSelection = z.array(
|
|
54
|
-
const knownBundledSkillIds: ReadonlySet<string> = new Set(
|
|
110
|
+
const StoredBundledSkillSelection = /* @__PURE__ */ defineSchema(() => z.array(primitives.string));
|
|
111
|
+
const knownBundledSkillIds: ReadonlySet<string> = new Set(CURRENT_BUNDLED_SKILL_IDS);
|
|
55
112
|
/**
|
|
56
113
|
* Exact stored selection for keyed create replay identity. Unlike the
|
|
57
114
|
* tolerant read, it keeps ids this build does not know: a retry must match
|
|
@@ -65,8 +122,8 @@ export function bundledSkillSelectionFromMetadata(
|
|
|
65
122
|
): BundledSkillId[] | undefined {
|
|
66
123
|
const value = metadata[BUNDLED_SKILL_SELECTION_KEY];
|
|
67
124
|
if (value === undefined) return undefined;
|
|
68
|
-
const known = StoredBundledSkillSelection.parse(value)
|
|
69
|
-
|
|
70
|
-
|
|
125
|
+
const known = StoredBundledSkillSelection.parse(value)
|
|
126
|
+
.map((id) => canonicalBundledSkillId(id))
|
|
127
|
+
.filter((id): id is BundledSkillId => knownBundledSkillIds.has(id));
|
|
71
128
|
return [...new Set(known)].sort();
|
|
72
129
|
}
|
|
@@ -1,93 +1,96 @@
|
|
|
1
|
+
import * as primitives from "./primitives";
|
|
2
|
+
import { defineSchema } from "./define-schema";
|
|
1
3
|
import { z } from "zod";
|
|
2
4
|
|
|
3
|
-
export const CanonicalHumanIdentityStatus =
|
|
4
|
-
"active",
|
|
5
|
-
|
|
6
|
-
"disputed",
|
|
7
|
-
"disabled",
|
|
8
|
-
]);
|
|
5
|
+
export const CanonicalHumanIdentityStatus = /* @__PURE__ */ defineSchema(() =>
|
|
6
|
+
z.enum(["active", "recovery_required", "disputed", "disabled"]),
|
|
7
|
+
);
|
|
9
8
|
export type CanonicalHumanIdentityStatus = z.infer<typeof CanonicalHumanIdentityStatus>;
|
|
10
9
|
|
|
11
|
-
export const CanonicalHumanLoginBindingStatus =
|
|
12
|
-
"active",
|
|
13
|
-
|
|
14
|
-
"stale",
|
|
15
|
-
"disputed",
|
|
16
|
-
"revoked",
|
|
17
|
-
]);
|
|
10
|
+
export const CanonicalHumanLoginBindingStatus = /* @__PURE__ */ defineSchema(() =>
|
|
11
|
+
z.enum(["active", "recovery_pending", "stale", "disputed", "revoked"]),
|
|
12
|
+
);
|
|
18
13
|
export type CanonicalHumanLoginBindingStatus = z.infer<typeof CanonicalHumanLoginBindingStatus>;
|
|
19
14
|
|
|
20
|
-
export const CanonicalHumanRecoveryState =
|
|
21
|
-
"ready",
|
|
22
|
-
|
|
23
|
-
"lost_factor",
|
|
24
|
-
"disputed",
|
|
25
|
-
"disabled",
|
|
26
|
-
]);
|
|
15
|
+
export const CanonicalHumanRecoveryState = /* @__PURE__ */ defineSchema(() =>
|
|
16
|
+
z.enum(["ready", "recovery_required", "lost_factor", "disputed", "disabled"]),
|
|
17
|
+
);
|
|
27
18
|
export type CanonicalHumanRecoveryState = z.infer<typeof CanonicalHumanRecoveryState>;
|
|
28
19
|
|
|
29
|
-
export const CanonicalHumanLoginBinding =
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
20
|
+
export const CanonicalHumanLoginBinding = /* @__PURE__ */ defineSchema(() =>
|
|
21
|
+
z.object({
|
|
22
|
+
id: primitives.uuid,
|
|
23
|
+
providerId: z.string().min(1).max(128),
|
|
24
|
+
providerAccountId: z.string().min(1).max(1024),
|
|
25
|
+
status: CanonicalHumanLoginBindingStatus,
|
|
26
|
+
revision: primitives.positiveInteger,
|
|
27
|
+
verifiedAt: primitives.dateTime,
|
|
28
|
+
lastVerifiedAt: primitives.dateTime,
|
|
29
|
+
revokedAt: z.string().datetime().nullable(),
|
|
30
|
+
createdAt: primitives.dateTime,
|
|
31
|
+
updatedAt: primitives.dateTime,
|
|
32
|
+
}),
|
|
33
|
+
);
|
|
41
34
|
export type CanonicalHumanLoginBinding = z.infer<typeof CanonicalHumanLoginBinding>;
|
|
42
35
|
|
|
43
|
-
export const CanonicalHumanIdentityProjection =
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
36
|
+
export const CanonicalHumanIdentityProjection = /* @__PURE__ */ defineSchema(() =>
|
|
37
|
+
z.object({
|
|
38
|
+
activeIdentity: z.object({
|
|
39
|
+
id: primitives.uuid,
|
|
40
|
+
displayName: z.string().min(1).max(256),
|
|
41
|
+
status: CanonicalHumanIdentityStatus,
|
|
42
|
+
identityRevision: primitives.positiveInteger,
|
|
43
|
+
authRevision: primitives.positiveInteger,
|
|
44
|
+
activeLoginBindingId: primitives.nullableUuid,
|
|
45
|
+
recoveryState: CanonicalHumanRecoveryState,
|
|
46
|
+
createdAt: primitives.dateTime,
|
|
47
|
+
updatedAt: primitives.dateTime,
|
|
48
|
+
}),
|
|
49
|
+
loginBindings: z.array(CanonicalHumanLoginBinding).max(64),
|
|
54
50
|
}),
|
|
55
|
-
|
|
56
|
-
});
|
|
51
|
+
);
|
|
57
52
|
export type CanonicalHumanIdentityProjection = z.infer<typeof CanonicalHumanIdentityProjection>;
|
|
58
53
|
|
|
59
54
|
const OperationFields = {
|
|
60
|
-
operationId:
|
|
61
|
-
expectedIdentityRevision:
|
|
62
|
-
reason:
|
|
55
|
+
operationId: primitives.optionalUuid,
|
|
56
|
+
expectedIdentityRevision: primitives.positiveInteger,
|
|
57
|
+
reason: primitives.string.trim().min(1).max(512),
|
|
63
58
|
} as const;
|
|
64
59
|
|
|
65
|
-
export const LinkCanonicalHumanLoginBindingRequest =
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
60
|
+
export const LinkCanonicalHumanLoginBindingRequest = /* @__PURE__ */ defineSchema(() =>
|
|
61
|
+
z.object({
|
|
62
|
+
...OperationFields,
|
|
63
|
+
providerId: primitives.string.trim().min(1).max(128),
|
|
64
|
+
providerAccountId: primitives.string.trim().min(1).max(1024),
|
|
65
|
+
}),
|
|
66
|
+
);
|
|
70
67
|
export type LinkCanonicalHumanLoginBindingRequest = z.infer<
|
|
71
68
|
typeof LinkCanonicalHumanLoginBindingRequest
|
|
72
69
|
>;
|
|
73
70
|
|
|
74
|
-
export const CanonicalHumanBindingOperationRequest =
|
|
75
|
-
|
|
76
|
-
|
|
71
|
+
export const CanonicalHumanBindingOperationRequest = /* @__PURE__ */ defineSchema(() =>
|
|
72
|
+
z.object({
|
|
73
|
+
...OperationFields,
|
|
74
|
+
}),
|
|
75
|
+
);
|
|
77
76
|
export type CanonicalHumanBindingOperationRequest = z.infer<
|
|
78
77
|
typeof CanonicalHumanBindingOperationRequest
|
|
79
78
|
>;
|
|
80
79
|
|
|
81
|
-
export const CanonicalHumanIdentityMutationOutcome =
|
|
80
|
+
export const CanonicalHumanIdentityMutationOutcome = /* @__PURE__ */ defineSchema(() =>
|
|
81
|
+
z.enum(["applied", "lost_factor", "disputed"]),
|
|
82
|
+
);
|
|
82
83
|
export type CanonicalHumanIdentityMutationOutcome = z.infer<
|
|
83
84
|
typeof CanonicalHumanIdentityMutationOutcome
|
|
84
85
|
>;
|
|
85
86
|
|
|
86
|
-
export const CanonicalHumanIdentityMutationResponse =
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
87
|
+
export const CanonicalHumanIdentityMutationResponse = /* @__PURE__ */ defineSchema(() =>
|
|
88
|
+
z.object({
|
|
89
|
+
outcome: CanonicalHumanIdentityMutationOutcome,
|
|
90
|
+
operationId: primitives.uuid,
|
|
91
|
+
identity: CanonicalHumanIdentityProjection,
|
|
92
|
+
}),
|
|
93
|
+
);
|
|
91
94
|
export type CanonicalHumanIdentityMutationResponse = z.infer<
|
|
92
95
|
typeof CanonicalHumanIdentityMutationResponse
|
|
93
96
|
>;
|