@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
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Construct a schema eagerly, but give bundlers one removable boundary around
|
|
3
|
+
* the whole initializer (including nested schemas and chained builders).
|
|
4
|
+
* Annotate calls with @__PURE__ only when the factory has no effects beyond
|
|
5
|
+
* constructing its returned schema. This is not lazy validation: used schemas
|
|
6
|
+
* are created once, in the same module evaluation order as ordinary constants.
|
|
7
|
+
*/
|
|
8
|
+
export function defineSchema<Schema>(factory: () => Schema): Schema {
|
|
9
|
+
return factory();
|
|
10
|
+
}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The web console running inside an Opengeni desktop app.
|
|
3
|
+
*
|
|
4
|
+
* A sign-in the console starts there finishes in the person's own browser
|
|
5
|
+
* (providers refuse embedded app windows). The console marks its API requests
|
|
6
|
+
* with this header so a flow that ends in that browser can hand the person
|
|
7
|
+
* back to the app instead of leaving them on a web page. It only changes where
|
|
8
|
+
* the person's own browser goes afterwards; it never grants or narrows access.
|
|
9
|
+
*/
|
|
10
|
+
export const OPENGENI_DESKTOP_APP_HEADER = "x-opengeni-desktop-app";
|
|
11
|
+
|
|
12
|
+
/** The console page that hands a finished browser flow back to the desktop app. */
|
|
13
|
+
export const DESKTOP_APP_RETURN_PATH = "/desktop-return";
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* Where a flow started in the desktop app should send the browser when it
|
|
17
|
+
* finishes: the console's hand-back page carrying the original destination.
|
|
18
|
+
* Only a destination on the requesting console's own origin is wrapped;
|
|
19
|
+
* anything else (an embedding product's page, a malformed origin) is returned
|
|
20
|
+
* unchanged, as is a destination that is already the hand-back page.
|
|
21
|
+
*/
|
|
22
|
+
export function desktopAppReturnUrl(returnUrl: string, consoleOrigin: string | null): string {
|
|
23
|
+
if (!consoleOrigin) return returnUrl;
|
|
24
|
+
let target: URL;
|
|
25
|
+
let origin: string;
|
|
26
|
+
try {
|
|
27
|
+
target = new URL(returnUrl);
|
|
28
|
+
origin = new URL(consoleOrigin).origin;
|
|
29
|
+
} catch {
|
|
30
|
+
return returnUrl;
|
|
31
|
+
}
|
|
32
|
+
if (target.origin !== origin || target.pathname === DESKTOP_APP_RETURN_PATH) return returnUrl;
|
|
33
|
+
const handBack = new URL(DESKTOP_APP_RETURN_PATH, origin);
|
|
34
|
+
handBack.searchParams.set("url", returnUrl);
|
|
35
|
+
return handBack.toString();
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
/**
|
|
39
|
+
* The same hand-back for flows that name their destination as a console path
|
|
40
|
+
* (`/workspaces/…`) and add their outcome parameters to it when they finish;
|
|
41
|
+
* the hand-back page carries those parameters on to the destination. A path
|
|
42
|
+
* that is not console-relative, or is already the hand-back page, is returned
|
|
43
|
+
* unchanged.
|
|
44
|
+
*/
|
|
45
|
+
export function desktopAppReturnPath(returnPath: string): string {
|
|
46
|
+
if (!returnPath.startsWith("/") || returnPath.startsWith("//")) return returnPath;
|
|
47
|
+
const base = "https://console.invalid";
|
|
48
|
+
if (new URL(returnPath, base).pathname === DESKTOP_APP_RETURN_PATH) return returnPath;
|
|
49
|
+
return `${DESKTOP_APP_RETURN_PATH}?${new URLSearchParams({ url: returnPath }).toString()}`;
|
|
50
|
+
}
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
import * as primitives from "./primitives";
|
|
2
|
+
import { defineSchema } from "./define-schema";
|
|
3
|
+
import { z } from "zod";
|
|
4
|
+
|
|
5
|
+
export const DirectModelProvider = /* @__PURE__ */ defineSchema(() =>
|
|
6
|
+
z.enum(["openai", "azure_openai"]),
|
|
7
|
+
);
|
|
8
|
+
export type DirectModelProvider = z.infer<typeof DirectModelProvider>;
|
|
9
|
+
|
|
10
|
+
/** Pin customer credentials to official provider origins, never arbitrary URLs. */
|
|
11
|
+
export const AzureOpenAIEndpoint = /* @__PURE__ */ defineSchema(() =>
|
|
12
|
+
primitives.string
|
|
13
|
+
.trim()
|
|
14
|
+
.url()
|
|
15
|
+
.superRefine((value, ctx) => {
|
|
16
|
+
let url: URL;
|
|
17
|
+
try {
|
|
18
|
+
url = new URL(value);
|
|
19
|
+
} catch {
|
|
20
|
+
// The preceding URL validator supplies the normal validation issue.
|
|
21
|
+
return;
|
|
22
|
+
}
|
|
23
|
+
if (
|
|
24
|
+
url.protocol !== "https:" ||
|
|
25
|
+
url.username ||
|
|
26
|
+
url.password ||
|
|
27
|
+
url.port ||
|
|
28
|
+
!/^[a-z0-9-]+\.openai\.azure\.com$/i.test(url.hostname) ||
|
|
29
|
+
!["", "/", "/openai/v1", "/openai/v1/"].includes(url.pathname) ||
|
|
30
|
+
url.search ||
|
|
31
|
+
url.hash
|
|
32
|
+
) {
|
|
33
|
+
ctx.addIssue({
|
|
34
|
+
code: "custom",
|
|
35
|
+
message: "Enter your Azure OpenAI HTTPS resource endpoint",
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
})
|
|
39
|
+
.transform((value) => new URL(value).origin + "/openai/v1"),
|
|
40
|
+
);
|
|
41
|
+
|
|
42
|
+
/** An exact OpenAI model or Azure OpenAI deployment name. */
|
|
43
|
+
export const DirectModelName = /* @__PURE__ */ defineSchema(() =>
|
|
44
|
+
primitives.string
|
|
45
|
+
.trim()
|
|
46
|
+
.min(1)
|
|
47
|
+
.max(128)
|
|
48
|
+
.regex(/^[A-Za-z0-9][A-Za-z0-9._-]*$/),
|
|
49
|
+
);
|
|
50
|
+
|
|
51
|
+
export const DirectModelProviderMetadata = /* @__PURE__ */ defineSchema(() =>
|
|
52
|
+
z
|
|
53
|
+
.object({
|
|
54
|
+
provider: DirectModelProvider,
|
|
55
|
+
model: DirectModelName,
|
|
56
|
+
endpoint: AzureOpenAIEndpoint.optional(),
|
|
57
|
+
})
|
|
58
|
+
.strict()
|
|
59
|
+
.superRefine((value, ctx) => {
|
|
60
|
+
if (value.provider === "azure_openai" && !value.endpoint) {
|
|
61
|
+
ctx.addIssue({
|
|
62
|
+
code: "custom",
|
|
63
|
+
path: ["endpoint"],
|
|
64
|
+
message: "Azure OpenAI needs an endpoint",
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
if (value.provider === "openai" && value.endpoint) {
|
|
68
|
+
ctx.addIssue({
|
|
69
|
+
code: "custom",
|
|
70
|
+
path: ["endpoint"],
|
|
71
|
+
message: "OpenAI uses its official API endpoint",
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
}),
|
|
75
|
+
);
|
|
76
|
+
export type DirectModelProviderMetadata = z.infer<typeof DirectModelProviderMetadata>;
|
|
77
|
+
|
|
78
|
+
export function directModelConnectionSpec(connection: {
|
|
79
|
+
id: string;
|
|
80
|
+
version: number;
|
|
81
|
+
subjectId: string | null;
|
|
82
|
+
kind: string;
|
|
83
|
+
status: string;
|
|
84
|
+
providerDomain: string;
|
|
85
|
+
metadata: Record<string, unknown>;
|
|
86
|
+
}) {
|
|
87
|
+
if (
|
|
88
|
+
connection.subjectId !== null ||
|
|
89
|
+
connection.kind !== "api_key" ||
|
|
90
|
+
connection.status !== "active"
|
|
91
|
+
)
|
|
92
|
+
return null;
|
|
93
|
+
const parsed = DirectModelProviderMetadata.safeParse(connection.metadata.directModelProvider);
|
|
94
|
+
if (!parsed.success || connection.metadata.credentialRole !== `direct_${parsed.data.provider}`)
|
|
95
|
+
return null;
|
|
96
|
+
const config = parsed.data;
|
|
97
|
+
const baseUrl = config.provider === "openai" ? "https://api.openai.com/v1" : config.endpoint!;
|
|
98
|
+
if (connection.providerDomain.toLowerCase() !== new URL(baseUrl).hostname) return null;
|
|
99
|
+
const providerId = `workspace-${config.provider === "openai" ? "openai" : "azure-openai"}-${connection.id}`;
|
|
100
|
+
return {
|
|
101
|
+
...config,
|
|
102
|
+
baseUrl,
|
|
103
|
+
providerId,
|
|
104
|
+
modelId: `${providerId}/${connection.version}/${config.model}`,
|
|
105
|
+
connectionId: connection.id,
|
|
106
|
+
version: connection.version,
|
|
107
|
+
};
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
export function isDirectModelId(modelId: string): boolean {
|
|
111
|
+
return /^workspace-(?:openai|azure-openai)-[0-9a-f-]{36}\//.test(modelId);
|
|
112
|
+
}
|
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
const TEXT_ENCODER = new TextEncoder();
|
|
2
2
|
const TEXT_DECODER = new TextDecoder("utf-8", { fatal: true });
|
|
3
|
-
const
|
|
4
|
-
const
|
|
3
|
+
const FNV_OFFSET_LOW = 0x8422_2325;
|
|
4
|
+
const FNV_OFFSET_HIGH = 0xcbf2_9ce4;
|
|
5
|
+
// The 64-bit FNV prime is 2^40 + 0x1b3: multiply the low limb by 0x1b3 and
|
|
6
|
+
// carry `low << 40` into the high limb as `low * 2^8`.
|
|
7
|
+
const FNV_PRIME_LOW = 0x01b3;
|
|
5
8
|
const SAFE_INTEGER = BigInt(Number.MAX_SAFE_INTEGER);
|
|
6
9
|
const STABLE_ID = /^[0-9a-f]{32}$/u;
|
|
7
10
|
|
|
@@ -76,13 +79,31 @@ export function canonicalNumber(value: number, label: string): number {
|
|
|
76
79
|
return value;
|
|
77
80
|
}
|
|
78
81
|
|
|
82
|
+
/**
|
|
83
|
+
* FNV-1a-64 over `bytes[0, end)` using 32-bit integer limbs, with the low
|
|
84
|
+
* limb's product split into 16-bit halves so every step stays in int32
|
|
85
|
+
* arithmetic. Bit-identical to the BigInt definition without allocating a
|
|
86
|
+
* BigInt per byte (which made checksumming stored history a dominant CPU cost).
|
|
87
|
+
*/
|
|
88
|
+
export function fnv1a64Limbs(
|
|
89
|
+
bytes: Uint8Array,
|
|
90
|
+
end: number = bytes.byteLength,
|
|
91
|
+
): readonly [low: number, high: number] {
|
|
92
|
+
let low = FNV_OFFSET_LOW | 0;
|
|
93
|
+
let high = FNV_OFFSET_HIGH | 0;
|
|
94
|
+
for (let index = 0; index < end; index += 1) {
|
|
95
|
+
low ^= bytes[index]!;
|
|
96
|
+
const lowHalf = (low & 0xffff) * FNV_PRIME_LOW;
|
|
97
|
+
const highHalf = (low >>> 16) * FNV_PRIME_LOW + (lowHalf >>> 16);
|
|
98
|
+
high = (Math.imul(high, FNV_PRIME_LOW) + (highHalf >>> 16) + (low << 8)) | 0;
|
|
99
|
+
low = (highHalf << 16) | (lowHalf & 0xffff);
|
|
100
|
+
}
|
|
101
|
+
return [low >>> 0, high >>> 0];
|
|
102
|
+
}
|
|
103
|
+
|
|
79
104
|
export function fnv1a64(bytes: Uint8Array): bigint {
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
hash ^= BigInt(byte);
|
|
83
|
-
hash = BigInt.asUintN(64, hash * FNV_PRIME);
|
|
84
|
-
}
|
|
85
|
-
return hash;
|
|
105
|
+
const [low, high] = fnv1a64Limbs(bytes);
|
|
106
|
+
return (BigInt(high) << 32n) | BigInt(low);
|
|
86
107
|
}
|
|
87
108
|
|
|
88
109
|
export function equalBytes(left: Uint8Array, right: Uint8Array): boolean {
|
|
@@ -8,6 +8,12 @@
|
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
10
|
import { COMMITTED_TRANSACTION_PROTOCOL_VERSION } from "./editable-artifact-versions";
|
|
11
|
+
import { fnv1a64Limbs } from "./editable-artifact-binary";
|
|
12
|
+
import {
|
|
13
|
+
SPREADSHEET_DEFAULT_ROW_HEIGHT,
|
|
14
|
+
SPREADSHEET_DEFAULT_COLUMN_WIDTH,
|
|
15
|
+
SPREADSHEET_MAX_DIMENSION_PIXELS,
|
|
16
|
+
} from "./spreadsheet-artifact-commands";
|
|
11
17
|
|
|
12
18
|
export { COMMITTED_TRANSACTION_PROTOCOL_VERSION } from "./editable-artifact-versions";
|
|
13
19
|
export const MAX_COMMITTED_TRANSACTION_BYTES = 8 * 1024 * 1024;
|
|
@@ -25,9 +31,6 @@ const MAX_SAFE_U64_HIGH = 0x1f_ffff;
|
|
|
25
31
|
const U32_SIZE = 0x1_0000_0000;
|
|
26
32
|
const U32_MAX = 0xffff_ffff;
|
|
27
33
|
const MAX_DATE_MILLISECONDS = 8_640_000_000_000_000n;
|
|
28
|
-
const FNV_OFFSET_LOW = 0x8422_2325;
|
|
29
|
-
const FNV_OFFSET_HIGH = 0xcbf2_9ce4;
|
|
30
|
-
const FNV_PRIME_LOW = 0x01b3;
|
|
31
34
|
|
|
32
35
|
const HEX = Array.from({ length: 256 }, (_, value) => value.toString(16).padStart(2, "0"));
|
|
33
36
|
|
|
@@ -91,7 +94,7 @@ export function decodeCommittedTransactionSummary(bytes: Uint8Array): CommittedT
|
|
|
91
94
|
);
|
|
92
95
|
}
|
|
93
96
|
|
|
94
|
-
const [checksumLow, checksumHigh] =
|
|
97
|
+
const [checksumLow, checksumHigh] = fnv1a64Limbs(bytes, payloadEnd);
|
|
95
98
|
if (
|
|
96
99
|
view.getUint32(payloadEnd, true) !== checksumLow ||
|
|
97
100
|
view.getUint32(payloadEnd + 4, true) !== checksumHigh
|
|
@@ -281,6 +284,18 @@ class Reader {
|
|
|
281
284
|
case 5:
|
|
282
285
|
this.stableId("selective undo target");
|
|
283
286
|
return totalCells;
|
|
287
|
+
case 6:
|
|
288
|
+
case 7: {
|
|
289
|
+
this.skipGeneration("dimension sheet generation");
|
|
290
|
+
this.u32("dimension index");
|
|
291
|
+
const pixels = this.u32("dimension pixels");
|
|
292
|
+
const defaultPixels =
|
|
293
|
+
tag === 6 ? SPREADSHEET_DEFAULT_ROW_HEIGHT : SPREADSHEET_DEFAULT_COLUMN_WIDTH;
|
|
294
|
+
if (pixels > SPREADSHEET_MAX_DIMENSION_PIXELS || pixels === defaultPixels) {
|
|
295
|
+
throw new TypeError("OGACO002 dimension pixels are noncanonical or outside bounds");
|
|
296
|
+
}
|
|
297
|
+
return totalCells;
|
|
298
|
+
}
|
|
284
299
|
default:
|
|
285
300
|
throw new TypeError(`invalid OGACO002 collaboration command tag: ${tag}`);
|
|
286
301
|
}
|
|
@@ -475,17 +490,3 @@ function hexBytes(bytes: Uint8Array): string {
|
|
|
475
490
|
for (const byte of bytes) result += HEX[byte];
|
|
476
491
|
return result;
|
|
477
492
|
}
|
|
478
|
-
|
|
479
|
-
/** FNV-1a-64 using exact 32-bit limbs; avoids a BigInt allocation per byte. */
|
|
480
|
-
function fnv1a64(bytes: Uint8Array, end: number): readonly [low: number, high: number] {
|
|
481
|
-
let low = FNV_OFFSET_LOW;
|
|
482
|
-
let high = FNV_OFFSET_HIGH;
|
|
483
|
-
for (let index = 0; index < end; index += 1) {
|
|
484
|
-
low = (low ^ bytes[index]!) >>> 0;
|
|
485
|
-
const lowProduct = low * FNV_PRIME_LOW;
|
|
486
|
-
const carry = Math.floor(lowProduct / U32_SIZE);
|
|
487
|
-
high = (high * FNV_PRIME_LOW + carry + low * 0x100) >>> 0;
|
|
488
|
-
low = lowProduct >>> 0;
|
|
489
|
-
}
|
|
490
|
-
return [low, high];
|
|
491
|
-
}
|
|
@@ -94,7 +94,11 @@ export type EditableArtifactSerializedCommitSummary = Readonly<{
|
|
|
94
94
|
export function encodeEditableArtifactSerializedCommit(
|
|
95
95
|
input: EditableArtifactSerializedCommitInput,
|
|
96
96
|
): Uint8Array {
|
|
97
|
-
|
|
97
|
+
return encodeNormalizedSerializedCommit(normalizeSerializedCommit(input));
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
/** Encodes a commit whose fields `normalizeSerializedCommit` already validated. */
|
|
101
|
+
function encodeNormalizedSerializedCommit(normalized: NormalizedSerializedCommit): Uint8Array {
|
|
98
102
|
const payload = new ArtifactBinaryWriter(
|
|
99
103
|
EDITABLE_ARTIFACT_SERIALIZED_COMMIT_MAX_BYTES -
|
|
100
104
|
EDITABLE_ARTIFACT_BINARY_HEADER_BYTES -
|
|
@@ -206,7 +210,9 @@ export function decodeEditableArtifactSerializedCommit(
|
|
|
206
210
|
intentBytes,
|
|
207
211
|
nativeReceiptBytes,
|
|
208
212
|
});
|
|
209
|
-
|
|
213
|
+
// The fields were just normalized; re-encoding them proves canonical bytes
|
|
214
|
+
// without decoding and validating the nested intent and receipt twice.
|
|
215
|
+
const canonical = encodeNormalizedSerializedCommit(normalized);
|
|
210
216
|
if (!equalBytes(bytes, canonical)) {
|
|
211
217
|
throw new TypeError("serialized commit is not canonically encoded");
|
|
212
218
|
}
|
|
@@ -1,4 +1,10 @@
|
|
|
1
|
-
/**
|
|
1
|
+
/**
|
|
2
|
+
* Modality-specific durable semantic/schema versions.
|
|
3
|
+
* Spreadsheet dimensions are an additive current-schema extension: existing
|
|
4
|
+
* command/operation tags and dimension-free snapshot bytes stay unchanged.
|
|
5
|
+
* Direct snapshots and private projections advertise their explicit extension
|
|
6
|
+
* flags; old executables reject new tags/flags, never silently discard them.
|
|
7
|
+
*/
|
|
2
8
|
export const SPREADSHEET_ARTIFACT_MODEL_SCHEMA_VERSION = 2 as const;
|
|
3
9
|
export const DOCUMENT_ARTIFACT_MODEL_SCHEMA_VERSION = 1 as const;
|
|
4
10
|
export const PRESENTATION_ARTIFACT_MODEL_SCHEMA_VERSION = 1 as const;
|
package/src/event-preview.ts
CHANGED
|
@@ -15,6 +15,18 @@ import {
|
|
|
15
15
|
|
|
16
16
|
export const SESSION_EVENT_PAYLOAD_MAX_BYTES = 64 * 1024;
|
|
17
17
|
|
|
18
|
+
/**
|
|
19
|
+
* Durable ceiling for one `agent.toolCall.output` event. The event is the
|
|
20
|
+
* human/audit record of a tool result; model history keeps its own truncated
|
|
21
|
+
* copy separately. A tool can return far more than anyone ever sees (a shell
|
|
22
|
+
* command printing a 45 MB line, for example), and storing that inline made
|
|
23
|
+
* every later history read load it whole. The budget comfortably exceeds the
|
|
24
|
+
* model-facing tool-output truncation, so the timeline never shows less than
|
|
25
|
+
* the model saw.
|
|
26
|
+
*/
|
|
27
|
+
export const TOOL_CALL_OUTPUT_EVENT_MAX_BYTES = 256 * 1024;
|
|
28
|
+
const TOOL_CALL_OUTPUT_EVENT_STRING_BYTES = 64 * 1024;
|
|
29
|
+
|
|
18
30
|
const TARGET_PAYLOAD_BYTES = 60 * 1024;
|
|
19
31
|
const DEFAULT_STRING_BYTES = 8 * 1024;
|
|
20
32
|
const RETRY_STRING_BYTES = 1024;
|
|
@@ -90,6 +102,11 @@ export type SessionEventPayloadTruncation = {
|
|
|
90
102
|
export type BoundSessionEventPayloadOptions = {
|
|
91
103
|
surface?: SessionEventBoundarySurface;
|
|
92
104
|
maxBytes?: number;
|
|
105
|
+
/**
|
|
106
|
+
* Per-string head+tail budget once the payload must be bounded. Defaults to
|
|
107
|
+
* the compact preview budget; larger budgets keep the byte target at maxBytes.
|
|
108
|
+
*/
|
|
109
|
+
stringBytes?: number;
|
|
93
110
|
/**
|
|
94
111
|
* Separately trusted durable receipt. Producer payload fields never populate
|
|
95
112
|
* this slot; invalid values fail closed to not_retained.
|
|
@@ -195,12 +212,23 @@ export function boundSessionEventPayload<T>(
|
|
|
195
212
|
): T {
|
|
196
213
|
const maxBytes = Math.max(1024, Math.floor(options.maxBytes ?? SESSION_EVENT_PAYLOAD_MAX_BYTES));
|
|
197
214
|
const surface = options.surface ?? "durable_audit";
|
|
215
|
+
const customStringBytes =
|
|
216
|
+
options.stringBytes === undefined
|
|
217
|
+
? null
|
|
218
|
+
: Math.max(RETRY_STRING_BYTES, Math.floor(options.stringBytes));
|
|
219
|
+
const stringBytes = customStringBytes ?? DEFAULT_STRING_BYTES;
|
|
220
|
+
const retryStringBytes =
|
|
221
|
+
customStringBytes === null
|
|
222
|
+
? RETRY_STRING_BYTES
|
|
223
|
+
: Math.max(RETRY_STRING_BYTES, Math.floor(customStringBytes / 8));
|
|
224
|
+
const targetBytes =
|
|
225
|
+
customStringBytes === null ? Math.min(maxBytes, TARGET_PAYLOAD_BYTES) : maxBytes;
|
|
198
226
|
const fullEvidence =
|
|
199
227
|
validateRetainedOutputEvidence(options.fullEvidence) ?? retainedOutputUnavailable();
|
|
200
228
|
const originalMeasurement = measureJsonBytes(payload);
|
|
201
229
|
const originalBytes = originalMeasurement.bytes;
|
|
202
230
|
|
|
203
|
-
let state = previewState(
|
|
231
|
+
let state = previewState(stringBytes, DEFAULT_ARRAY_ENTRIES, DEFAULT_OBJECT_FIELDS);
|
|
204
232
|
let preview = previewValue(payload, state, "$", 0);
|
|
205
233
|
if (!state.changed && originalBytes !== null && originalBytes <= maxBytes) {
|
|
206
234
|
return payload;
|
|
@@ -212,8 +240,8 @@ export function boundSessionEventPayload<T>(
|
|
|
212
240
|
boundaryMetadata(surface, reason, originalBytes, state, fullEvidence),
|
|
213
241
|
);
|
|
214
242
|
|
|
215
|
-
if (sessionEventJsonBytes(bounded) >
|
|
216
|
-
state = previewState(
|
|
243
|
+
if (sessionEventJsonBytes(bounded) > targetBytes) {
|
|
244
|
+
state = previewState(retryStringBytes, RETRY_ARRAY_ENTRIES, RETRY_OBJECT_FIELDS);
|
|
217
245
|
preview = previewValue(payload, state, "$", 0);
|
|
218
246
|
reason = payloadTruncationReason(originalMeasurement, state);
|
|
219
247
|
bounded = attachTruncation(
|
|
@@ -243,6 +271,28 @@ export function boundSessionEventPayload<T>(
|
|
|
243
271
|
return bounded as T;
|
|
244
272
|
}
|
|
245
273
|
|
|
274
|
+
/**
|
|
275
|
+
* Write-time bound for durable session events. Only tool-call output has an
|
|
276
|
+
* unbounded producer; it is kept intact up to TOOL_CALL_OUTPUT_EVENT_MAX_BYTES
|
|
277
|
+
* and otherwise stored as an explicit head+tail preview whose `truncation`
|
|
278
|
+
* records the original size. Every other event type is returned unchanged.
|
|
279
|
+
*/
|
|
280
|
+
export function boundSessionEventPayloadForWrite<T>(type: string, payload: T): T {
|
|
281
|
+
if (type !== "agent.toolCall.output") return payload;
|
|
282
|
+
let bytes: number | null;
|
|
283
|
+
try {
|
|
284
|
+
bytes = sessionEventJsonBytes(payload);
|
|
285
|
+
} catch {
|
|
286
|
+
bytes = null;
|
|
287
|
+
}
|
|
288
|
+
if (bytes !== null && bytes <= TOOL_CALL_OUTPUT_EVENT_MAX_BYTES) return payload;
|
|
289
|
+
return boundSessionEventPayload(payload, {
|
|
290
|
+
surface: "durable_audit",
|
|
291
|
+
maxBytes: TOOL_CALL_OUTPUT_EVENT_MAX_BYTES,
|
|
292
|
+
stringBytes: TOOL_CALL_OUTPUT_EVENT_STRING_BYTES,
|
|
293
|
+
});
|
|
294
|
+
}
|
|
295
|
+
|
|
246
296
|
function previewState(
|
|
247
297
|
stringBytes: number,
|
|
248
298
|
arrayEntries: number,
|