@opengeni/contracts 5.5.0 → 5.5.2-canary.40656248492001
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/agent-authored-durable-text.d.ts +9 -9
- package/dist/agent-config.d.ts +148 -37
- package/dist/api-key-presets.d.ts +19 -0
- package/dist/app-action-catalog-types.d.ts +32 -0
- package/dist/app-action-catalog.gen.d.ts +2 -0
- package/dist/app-actions.d.ts +91 -0
- package/dist/app-actions.js +10130 -0
- package/dist/app-actions.js.map +1 -0
- package/dist/app-shot.d.ts +55 -0
- package/dist/artifact-catalog.d.ts +33 -0
- package/dist/artifacts.d.ts +166 -0
- package/dist/atlassian-native-retirement.d.ts +16 -0
- package/dist/atlassian-native-retirement.js +30 -0
- package/dist/atlassian-native-retirement.js.map +1 -0
- package/dist/atlassian.js +48 -23
- package/dist/automation-templates.d.ts +434 -0
- package/dist/automation-templates.js +31 -0
- package/dist/automation-templates.js.map +1 -0
- package/dist/billing-subscriptions.d.ts +61 -0
- package/dist/bots.d.ts +583 -0
- package/dist/bundled-skills.d.ts +58 -2
- package/dist/canonical-human-identities.js +3 -1
- package/dist/child-lifecycle-notice-protocol.d.ts +45 -0
- package/dist/chunk-2QKIEAGY.js +396 -0
- package/dist/chunk-2QKIEAGY.js.map +1 -0
- package/dist/chunk-2WOWEWXV.js +426 -0
- package/dist/chunk-2WOWEWXV.js.map +1 -0
- package/dist/chunk-2ZIHHL72.js +153 -0
- package/dist/chunk-2ZIHHL72.js.map +1 -0
- package/dist/chunk-32U6NKQQ.js +389 -0
- package/dist/chunk-32U6NKQQ.js.map +1 -0
- package/dist/chunk-4YDDHSO2.js +799 -0
- package/dist/chunk-4YDDHSO2.js.map +1 -0
- package/dist/chunk-56SNIMDO.js +9 -0
- package/dist/chunk-56SNIMDO.js.map +1 -0
- package/dist/chunk-5RWB6QVL.js +101 -0
- package/dist/chunk-5RWB6QVL.js.map +1 -0
- package/dist/chunk-5UGUOT3L.js +243 -0
- package/dist/chunk-5UGUOT3L.js.map +1 -0
- package/dist/chunk-6LAT33BH.js +130 -0
- package/dist/chunk-6LAT33BH.js.map +1 -0
- package/dist/chunk-7272KVWZ.js +60 -0
- package/dist/chunk-7272KVWZ.js.map +1 -0
- package/dist/chunk-72QC2GTL.js +36 -0
- package/dist/chunk-72QC2GTL.js.map +1 -0
- package/dist/chunk-7EQGGZBY.js +105 -0
- package/dist/chunk-7EQGGZBY.js.map +1 -0
- package/dist/chunk-A3LXWVYU.js +382 -0
- package/dist/chunk-A3LXWVYU.js.map +1 -0
- package/dist/chunk-AQYDZUJV.js +34 -0
- package/dist/chunk-AQYDZUJV.js.map +1 -0
- package/dist/chunk-BHCEVVUP.js +93 -0
- package/dist/chunk-BHCEVVUP.js.map +1 -0
- package/dist/chunk-BMUTAZX5.js +486 -0
- package/dist/chunk-BMUTAZX5.js.map +1 -0
- package/dist/chunk-DGG6IBBK.js +150 -0
- package/dist/chunk-DGG6IBBK.js.map +1 -0
- package/dist/{chunk-YBW5JSA3.js → chunk-FBCTUMHI.js} +123 -102
- package/dist/chunk-FBCTUMHI.js.map +1 -0
- package/dist/chunk-G2KJTFIC.js +97 -0
- package/dist/chunk-G2KJTFIC.js.map +1 -0
- package/dist/chunk-G4RKARXZ.js +1167 -0
- package/dist/chunk-G4RKARXZ.js.map +1 -0
- package/dist/chunk-H6UJJIUM.js +350 -0
- package/dist/chunk-H6UJJIUM.js.map +1 -0
- package/dist/chunk-JOTHDW4H.js +18 -0
- package/dist/chunk-JOTHDW4H.js.map +1 -0
- package/dist/chunk-L4GUEP7K.js +56480 -0
- package/dist/chunk-L4GUEP7K.js.map +1 -0
- package/dist/{chunk-SIOU2K4U.js → chunk-LJH2EYGT.js} +23 -23
- package/dist/chunk-MTJKSIGA.js +161 -0
- package/dist/chunk-MTJKSIGA.js.map +1 -0
- package/dist/chunk-MYHMB6GZ.js +202 -0
- package/dist/chunk-MYHMB6GZ.js.map +1 -0
- package/dist/chunk-PI5VIKJY.js +660 -0
- package/dist/chunk-PI5VIKJY.js.map +1 -0
- package/dist/{chunk-RIY7GYQS.js → chunk-PTSROVDG.js} +2 -2
- package/dist/chunk-PUIUXIOL.js +189 -0
- package/dist/chunk-PUIUXIOL.js.map +1 -0
- package/dist/chunk-R6VXJIMB.js +19 -0
- package/dist/chunk-R6VXJIMB.js.map +1 -0
- package/dist/chunk-RLJUNVAM.js +15 -0
- package/dist/chunk-RLJUNVAM.js.map +1 -0
- package/dist/chunk-RR6APCBK.js +213 -0
- package/dist/chunk-RR6APCBK.js.map +1 -0
- package/dist/{chunk-TXTQIYCV.js → chunk-RUQ4I6DO.js} +59 -13
- package/dist/chunk-RUQ4I6DO.js.map +1 -0
- package/dist/{chunk-WYBDERIY.js → chunk-RWEEUDHD.js} +53 -42
- package/dist/chunk-RWEEUDHD.js.map +1 -0
- package/dist/chunk-S7MSQQL6.js +158 -0
- package/dist/chunk-S7MSQQL6.js.map +1 -0
- package/dist/{chunk-5Q54VCCH.js → chunk-SHO4YO4B.js} +20 -36
- package/dist/chunk-SHO4YO4B.js.map +1 -0
- package/dist/{chunk-HHZSZYYF.js → chunk-T3HSWMA5.js} +20 -4
- package/dist/chunk-T3HSWMA5.js.map +1 -0
- package/dist/{chunk-YRKRZ6OF.js → chunk-TOOJIBJC.js} +2 -2
- package/dist/chunk-UCUOTRS6.js +431 -0
- package/dist/chunk-UCUOTRS6.js.map +1 -0
- package/dist/chunk-UH4K7GP7.js +424 -0
- package/dist/chunk-UH4K7GP7.js.map +1 -0
- package/dist/chunk-UIZWGPHV.js +120 -0
- package/dist/chunk-UIZWGPHV.js.map +1 -0
- package/dist/chunk-VLUKBV6Y.js +1170 -0
- package/dist/chunk-VLUKBV6Y.js.map +1 -0
- package/dist/chunk-W2QQ5Y6K.js +55 -0
- package/dist/chunk-W2QQ5Y6K.js.map +1 -0
- package/dist/{chunk-Y3KNXVTD.js → chunk-W3NBPR4E.js} +131 -31
- package/dist/chunk-W3NBPR4E.js.map +1 -0
- package/dist/{chunk-NRMCVHAU.js → chunk-WMGO4HJU.js} +11 -9
- package/dist/chunk-WMGO4HJU.js.map +1 -0
- package/dist/{chunk-MYBZRDTY.js → chunk-WQI7VNN4.js} +19 -9
- package/dist/chunk-WQI7VNN4.js.map +1 -0
- package/dist/{chunk-PX3VCKAU.js → chunk-WVCFSOUZ.js} +1 -1
- package/dist/{chunk-PX3VCKAU.js.map → chunk-WVCFSOUZ.js.map} +1 -1
- package/dist/chunk-XB6GQLBH.js +76 -0
- package/dist/chunk-XB6GQLBH.js.map +1 -0
- package/dist/{chunk-D2HKF2EF.js → chunk-XP5M3IKT.js} +2 -2
- package/dist/{chunk-O77VSFYZ.js → chunk-ZMPU5BWE.js} +12 -2
- package/dist/chunk-ZMPU5BWE.js.map +1 -0
- package/dist/{chunk-3SIZGL3O.js → chunk-ZYVEJFNU.js} +22 -18
- package/dist/chunk-ZYVEJFNU.js.map +1 -0
- package/dist/claude-provider-account-authority.d.ts +18 -0
- package/dist/claude-subscription-oauth.d.ts +25 -0
- package/dist/claude-subscription-usage.d.ts +95 -1
- package/dist/client-error-report.d.ts +154 -8
- package/dist/client-error-report.js +157 -2
- package/dist/client-error-report.js.map +1 -1
- package/dist/code-search.d.ts +1 -1
- package/dist/code-search.js.map +1 -1
- package/dist/codex-provider-account-authority.js +23 -12
- package/dist/codex-provider-account-authority.js.map +1 -1
- package/dist/company-profile.d.ts +144 -0
- package/dist/connect.d.ts +38 -0
- package/dist/connect.js +244 -164
- package/dist/connect.js.map +1 -1
- package/dist/connection-account-label.d.ts +2 -0
- package/dist/connection-account-label.js +34 -0
- package/dist/connection-account-label.js.map +1 -0
- package/dist/connection-authority.js +49 -24
- package/dist/connector-attachments.js +3 -1
- package/dist/connector-destinations.js +3 -1
- package/dist/connector-tool-permissions.d.ts +68 -4
- package/dist/credential-profiles.d.ts +166 -0
- package/dist/cua-desktop-tools.d.ts +19 -0
- package/dist/define-schema.d.ts +8 -0
- package/dist/desktop-app.d.ts +28 -0
- package/dist/direct-model-provider.d.ts +38 -0
- package/dist/document-artifact-commands.js +2 -2
- package/dist/document-artifact-query.js +2 -2
- package/dist/editable-artifact-binary.d.ts +7 -0
- package/dist/editable-artifact-causal-frontier.js +2 -2
- package/dist/editable-artifact-codec-registry.js +7 -7
- package/dist/editable-artifact-committed-transaction.js +4 -2
- package/dist/editable-artifact-live.js +8 -8
- package/dist/editable-artifact-serialized-commit.js +9 -9
- package/dist/editable-artifact-versions.d.ts +7 -1
- package/dist/editable-artifact-versions.js +1 -1
- package/dist/editable-artifacts.js +49 -43
- package/dist/event-preview.d.ts +22 -0
- package/dist/event-triggers.d.ts +1253 -0
- package/dist/event-triggers.js +148 -0
- package/dist/event-triggers.js.map +1 -0
- package/dist/external-identities.d.ts +34 -0
- package/dist/external-identities.js +4 -2
- package/dist/feedback.d.ts +181 -0
- package/dist/file-access.d.ts +23 -0
- package/dist/first-party-tool-authorization.d.ts +852 -0
- package/dist/github-repository-contracts.js +64 -43
- package/dist/github-repository-contracts.js.map +1 -1
- package/dist/google-drive-native-retirement.d.ts +12 -0
- package/dist/google-drive-native-retirement.js +20 -0
- package/dist/google-drive-native-retirement.js.map +1 -0
- package/dist/google-drive.d.ts +1 -1
- package/dist/google-drive.js +323 -239
- package/dist/google-drive.js.map +1 -1
- package/dist/host-mcp-bindings.js +250 -198
- package/dist/host-mcp-bindings.js.map +1 -1
- package/dist/index.d.ts +29072 -20593
- package/dist/index.js +2432 -366
- package/dist/inference-residency.d.ts +22 -0
- package/dist/insights-usage.d.ts +948 -0
- package/dist/insights-usage.js +608 -0
- package/dist/insights-usage.js.map +1 -0
- package/dist/integration-capability-id.d.ts +8 -0
- package/dist/interaction-action-deadline.d.ts +48 -0
- package/dist/interaction-driver-diagnostic.d.ts +28 -0
- package/dist/interaction.d.ts +2126 -881
- package/dist/knowledge-entries.d.ts +38 -0
- package/dist/knowledge-preparation.d.ts +4 -0
- package/dist/learning-refusal.d.ts +43 -0
- package/dist/learning-refusal.js +49 -0
- package/dist/learning-refusal.js.map +1 -0
- package/dist/managed-auth-session-sets.d.ts +1 -0
- package/dist/managed-auth-session-sets.js +207 -146
- package/dist/managed-auth-session-sets.js.map +1 -1
- package/dist/managed-sign-in-methods.d.ts +96 -0
- package/dist/managed-sign-in-methods.js +157 -35
- package/dist/managed-sign-in-methods.js.map +1 -1
- package/dist/mcp-structured-content.d.ts +25 -0
- package/dist/message-time-zone.d.ts +38 -0
- package/dist/message-time-zone.js +19 -0
- package/dist/message-time-zone.js.map +1 -0
- package/dist/modal-native-proof-v2.d.ts +587 -0
- package/dist/modal-native-proof-v2.js +39 -0
- package/dist/modal-native-proof-v2.js.map +1 -0
- package/dist/model-account-choice.d.ts +237 -0
- package/dist/model-account-settings.d.ts +422 -0
- package/dist/model-availability.d.ts +15 -0
- package/dist/model-connection-access.d.ts +13 -0
- package/dist/model-context-inspector.d.ts +8 -0
- package/dist/model-display.d.ts +43 -0
- package/dist/model-display.js +17 -0
- package/dist/model-display.js.map +1 -0
- package/dist/model-picker-order.js.map +1 -1
- package/dist/model-residency.d.ts +304 -0
- package/dist/organization-access.d.ts +416 -0
- package/dist/organization-access.js +40 -0
- package/dist/organization-access.js.map +1 -0
- package/dist/organization-integration-policy.d.ts +18 -0
- package/dist/organization-membership-lifecycle.d.ts +66 -0
- package/dist/organization-model-usage.d.ts +146 -0
- package/dist/organization-model-usage.js +87 -0
- package/dist/organization-model-usage.js.map +1 -0
- package/dist/organization-recovery.js +3 -1
- package/dist/organization-usage.d.ts +12 -0
- package/dist/passkey-only-account.d.ts +14 -0
- package/dist/passkey-only-account.js +13 -0
- package/dist/passkey-only-account.js.map +1 -0
- package/dist/permissions.d.ts +19 -0
- package/dist/personal-github.js +220 -148
- package/dist/personal-github.js.map +1 -1
- package/dist/personal-integration-setup.d.ts +81 -0
- package/dist/personal-integration-setup.js +42 -0
- package/dist/personal-integration-setup.js.map +1 -0
- package/dist/prepared-mcp-setup.d.ts +54 -0
- package/dist/prepared-mcp-setup.js +13 -0
- package/dist/prepared-mcp-setup.js.map +1 -0
- package/dist/presentation-artifact-commands.js +2 -2
- package/dist/presentation-artifact-query.js +2 -2
- package/dist/primitives.d.ts +18 -0
- package/dist/product-analytics.d.ts +27 -10
- package/dist/product-lifecycle-facts.d.ts +26 -3
- package/dist/prompt-cache-diagnostics.d.ts +92 -0
- package/dist/recordings.d.ts +1371 -0
- package/dist/remember.d.ts +98 -2
- package/dist/retained-output.d.ts +4 -2
- package/dist/sandbox-file-artifacts.d.ts +19 -2
- package/dist/sandbox-provider-command.d.ts +5 -44
- package/dist/sandbox-recovery.d.ts +139 -8
- package/dist/secret-generator.d.ts +44 -0
- package/dist/secret-mask-strings.d.ts +32 -0
- package/dist/secret-references.d.ts +90 -0
- package/dist/secret-resolution.d.ts +143 -0
- package/dist/secret-shape-masking.d.ts +52 -0
- package/dist/secret-shape-masking.js +19 -0
- package/dist/secret-shape-masking.js.map +1 -0
- package/dist/secret-totp.d.ts +41 -0
- package/dist/secret-use-approval-question.d.ts +11 -0
- package/dist/secret-use-approval-question.js +11 -0
- package/dist/secret-use-approval-question.js.map +1 -0
- package/dist/secret-use-approvals.d.ts +106 -0
- package/dist/secret-value-masking.d.ts +299 -0
- package/dist/secret-value-masking.js +62 -0
- package/dist/secret-value-masking.js.map +1 -0
- package/dist/secret-value.d.ts +19 -0
- package/dist/session-history-import.d.ts +444 -8
- package/dist/session-history.d.ts +111 -0
- package/dist/session-history.js +35 -0
- package/dist/session-history.js.map +1 -0
- package/dist/session-list-entries.d.ts +8 -0
- package/dist/session-list-entries.js +61 -0
- package/dist/session-list-entries.js.map +1 -0
- package/dist/session-mcp-projections.d.ts +13 -1
- package/dist/session-mcp-tool-permissions.d.ts +62 -0
- package/dist/session-target.d.ts +18 -0
- package/dist/session-titles.d.ts +8 -0
- package/dist/session-titles.js +5 -1
- package/dist/session-usage-limit-refusal.d.ts +34 -0
- package/dist/session-usage-limit-refusal.js +15 -0
- package/dist/session-usage-limit-refusal.js.map +1 -0
- package/dist/session-usage-limits.d.ts +127 -0
- package/dist/session-usage-limits.js +43 -0
- package/dist/session-usage-limits.js.map +1 -0
- package/dist/site-data.d.ts +286 -0
- package/dist/site-operations.d.ts +39 -0
- package/dist/site-publishing.d.ts +813 -0
- package/dist/site-session-http.d.ts +103 -4
- package/dist/site-session-http.js +27 -1
- package/dist/site-sql.d.ts +425 -0
- package/dist/skills.d.ts +38 -0
- package/dist/slack-bot-scopes.d.ts +9 -7
- package/dist/slack-bot-scopes.js +6 -3
- package/dist/slack-rest-mcp.d.ts +36 -0
- package/dist/slack-rest-mcp.js +25 -0
- package/dist/slack-rest-mcp.js.map +1 -0
- package/dist/spreadsheet-artifact-commands.d.ts +14 -1
- package/dist/spreadsheet-artifact-commands.js +9 -2
- package/dist/spreadsheet-artifact-query.d.ts +13 -6
- package/dist/spreadsheet-artifact-query.js +4 -3
- package/dist/subscription-account-actions.d.ts +83 -0
- package/dist/subscription-account-pools.d.ts +326 -0
- package/dist/subscription-personal-authority-v2.d.ts +28 -0
- package/dist/subscription-personal-authority-v2.js +13 -0
- package/dist/subscription-personal-authority-v2.js.map +1 -0
- package/dist/subscription-plans.d.ts +38 -0
- package/dist/subscription-usage-pool.d.ts +89 -0
- package/dist/tool-action-review.d.ts +141 -0
- package/dist/tool-catalog.d.ts +479 -0
- package/dist/tool-policy.d.ts +5 -0
- package/dist/tool-review-presentation.d.ts +29 -0
- package/dist/tool-review-presentation.js +21 -0
- package/dist/tool-review-presentation.js.map +1 -0
- package/dist/turn-serving-policy.d.ts +223 -0
- package/dist/usage-allowances.d.ts +30 -0
- package/dist/usage-allowances.js +5 -1
- package/dist/values.d.ts +11 -0
- package/dist/values.js +19 -0
- package/dist/values.js.map +1 -0
- package/dist/vault-provider-wire.d.ts +907 -0
- package/dist/vault-provider-wire.js +74 -0
- package/dist/vault-provider-wire.js.map +1 -0
- package/dist/vaults.d.ts +2185 -0
- package/dist/video-generation.d.ts +75 -0
- package/dist/video-generation.js +8 -1
- package/dist/workspace-control-event.d.ts +18 -0
- package/dist/workspace-control-event.js +18 -0
- package/dist/workspace-control-event.js.map +1 -0
- package/dist/workspace-governance-context.d.ts +18 -0
- package/dist/workspace-integration-wire.d.ts +1 -1
- package/dist/workspace-integration-wire.js +1 -1
- package/dist/workspace-integrations.d.ts +212 -12
- package/dist/xai-provider-account-authority.js +3 -1
- package/package.json +121 -4
- package/src/agent-authored-durable-text.ts +14 -11
- package/src/agent-config.ts +382 -203
- package/src/agent-instruction-changes.ts +94 -74
- package/src/agent-learning.ts +94 -66
- package/src/agent-topology.ts +58 -52
- package/src/api-key-presets.ts +28 -0
- package/src/app-action-catalog-types.ts +32 -0
- package/src/app-action-catalog.gen.ts +9905 -0
- package/src/app-actions.ts +365 -0
- package/src/app-shot.ts +176 -0
- package/src/artifact-catalog.ts +81 -46
- package/src/artifacts.ts +360 -227
- package/src/atlassian-native-retirement.ts +33 -0
- package/src/atlassian.ts +136 -108
- package/src/automation-templates.ts +201 -0
- package/src/billing-subscriptions.ts +48 -0
- package/src/bots.ts +238 -0
- package/src/bundled-skills.ts +79 -22
- package/src/canonical-human-identities.ts +65 -62
- package/src/child-lifecycle-notice-protocol.gen.json +1310 -0
- package/src/child-lifecycle-notice-protocol.ts +224 -0
- package/src/claude-provider-account-authority.ts +12 -0
- package/src/claude-subscription-oauth.ts +61 -19
- package/src/claude-subscription-usage.ts +64 -35
- package/src/client-error-report.ts +344 -9
- package/src/code-search.ts +1 -1
- package/src/codex-provider-account-authority.ts +22 -16
- package/src/company-brain-governed-writes.ts +265 -244
- package/src/company-brain.ts +165 -154
- package/src/company-profile.ts +362 -297
- package/src/connect.ts +222 -173
- package/src/connection-account-label.ts +45 -0
- package/src/connection-authority.ts +172 -152
- package/src/connector-attachments.ts +139 -123
- package/src/connector-destinations.ts +48 -43
- package/src/connector-tool-permissions.ts +104 -46
- package/src/credential-profiles.ts +161 -0
- package/src/cua-desktop-tools.gen.json +6722 -0
- package/src/cua-desktop-tools.linux.gen.json +6798 -0
- package/src/cua-desktop-tools.ts +42 -0
- package/src/cua-desktop-tools.windows.gen.json +6739 -0
- package/src/define-schema.ts +10 -0
- package/src/desktop-app.ts +50 -0
- package/src/direct-model-provider.ts +112 -0
- package/src/editable-artifact-binary.ts +29 -8
- package/src/editable-artifact-committed-transaction.ts +19 -18
- package/src/editable-artifact-serialized-commit.ts +8 -2
- package/src/editable-artifact-versions.ts +7 -1
- package/src/event-preview.ts +53 -3
- package/src/event-triggers.ts +891 -0
- package/src/external-identities.ts +239 -195
- package/src/feedback.ts +125 -30
- package/src/file-access.ts +26 -0
- package/src/first-party-tool-authorization.ts +383 -0
- package/src/github-repository-contracts.ts +78 -64
- package/src/google-drive-native-retirement.ts +20 -0
- package/src/google-drive.ts +286 -234
- package/src/governed-learning-activation.ts +159 -137
- package/src/governed-learning-evaluator.ts +141 -133
- package/src/host-mcp-bindings.ts +244 -221
- package/src/image-generation.ts +105 -95
- package/src/index.ts +13928 -9899
- package/src/inference-residency.ts +36 -0
- package/src/insights-usage.ts +774 -0
- package/src/integration-capability-id.ts +16 -0
- package/src/interaction-action-deadline.ts +143 -0
- package/src/interaction-driver-diagnostic.ts +89 -0
- package/src/interaction.ts +3527 -2427
- package/src/knowledge-entries.ts +386 -299
- package/src/knowledge-preparation.ts +49 -41
- package/src/knowledge.ts +242 -213
- package/src/learning-refusal.ts +90 -0
- package/src/managed-auth-session-sets.ts +180 -133
- package/src/managed-sign-in-methods.ts +156 -34
- package/src/mcp-oauth.ts +58 -46
- package/src/mcp-receipts.ts +199 -194
- package/src/mcp-structured-content.ts +81 -0
- package/src/memory-slack-delivery.ts +172 -142
- package/src/message-time-zone.ts +109 -0
- package/src/modal-native-proof-v2.ts +430 -0
- package/src/model-account-choice.ts +178 -0
- package/src/model-account-settings.ts +210 -0
- package/src/model-availability.ts +22 -0
- package/src/model-connection-access.ts +62 -14
- package/src/model-context-inspector.ts +130 -109
- package/src/model-display.ts +221 -0
- package/src/model-picker-order.ts +1 -1
- package/src/model-residency.ts +535 -0
- package/src/organization-access.ts +216 -0
- package/src/organization-integration-policy.ts +47 -28
- package/src/organization-membership-lifecycle.ts +558 -384
- package/src/organization-model-usage.ts +82 -0
- package/src/organization-recovery.ts +148 -135
- package/src/organization-usage.ts +84 -52
- package/src/passkey-only-account.ts +29 -0
- package/src/permissions.ts +94 -52
- package/src/personal-github.ts +211 -171
- package/src/personal-integration-setup.ts +150 -0
- package/src/preference-registry.ts +319 -263
- package/src/prepared-mcp-setup.ts +190 -0
- package/src/primitives.ts +22 -0
- package/src/product-analytics.ts +40 -15
- package/src/product-lifecycle-facts.ts +50 -20
- package/src/prompt-cache-diagnostics.ts +212 -0
- package/src/recordings.ts +1153 -0
- package/src/remember.ts +184 -172
- package/src/retained-output.ts +181 -168
- package/src/sandbox-file-artifacts.ts +78 -57
- package/src/sandbox-provider-command.ts +55 -72
- package/src/sandbox-recovery.ts +163 -77
- package/src/scoped-knowledge.ts +62 -43
- package/src/secret-generator.ts +156 -0
- package/src/secret-mask-strings.ts +175 -0
- package/src/secret-references.ts +414 -0
- package/src/secret-resolution.ts +322 -0
- package/src/secret-shape-masking.ts +573 -0
- package/src/secret-totp.ts +188 -0
- package/src/secret-use-approval-question.ts +22 -0
- package/src/secret-use-approvals.ts +219 -0
- package/src/secret-value-masking.ts +1283 -0
- package/src/secret-value.ts +22 -0
- package/src/session-goal-reports.ts +55 -49
- package/src/session-history-import.ts +84 -68
- package/src/session-history.ts +197 -0
- package/src/session-list-entries.ts +106 -0
- package/src/session-mcp-projections.ts +21 -3
- package/src/session-mcp-tool-permissions.ts +109 -0
- package/src/session-message-search.ts +46 -38
- package/src/session-target.ts +58 -0
- package/src/session-titles.ts +40 -4
- package/src/session-topology-primitives.ts +20 -12
- package/src/session-usage-limit-refusal.ts +101 -0
- package/src/session-usage-limits.ts +169 -0
- package/src/signup-attribution.ts +20 -15
- package/src/site-data.ts +337 -0
- package/src/site-operations.ts +154 -0
- package/src/site-publishing.ts +903 -0
- package/src/site-session-http.ts +344 -16
- package/src/site-sql.ts +1120 -0
- package/src/skill-use.ts +18 -17
- package/src/skills.ts +105 -50
- package/src/slack-bot-scopes.ts +18 -35
- package/src/slack-rest-mcp.ts +222 -0
- package/src/slack-task-policy.ts +97 -73
- package/src/spreadsheet-artifact-commands.ts +74 -13
- package/src/spreadsheet-artifact-query.ts +188 -50
- package/src/subscription-account-actions.ts +103 -0
- package/src/subscription-account-pools.ts +74 -0
- package/src/subscription-personal-authority-v2.ts +69 -0
- package/src/subscription-plans.ts +51 -0
- package/src/subscription-usage-pool.ts +44 -0
- package/src/task-notes.ts +70 -68
- package/src/tool-action-review.ts +271 -0
- package/src/tool-catalog.ts +694 -379
- package/src/tool-policy.ts +82 -0
- package/src/tool-result-spill.ts +13 -9
- package/src/tool-review-presentation.ts +643 -0
- package/src/turn-serving-policy.ts +167 -0
- package/src/usage-allowances.ts +212 -136
- package/src/values.ts +25 -0
- package/src/vault-provider-wire.ts +580 -0
- package/src/vaults.ts +1296 -0
- package/src/video-generation.ts +430 -361
- package/src/work-claims.ts +183 -166
- package/src/workspace-control-event.ts +134 -0
- package/src/workspace-governance-context.ts +63 -0
- package/src/workspace-instruction-policies.ts +346 -279
- package/src/workspace-integration-wire.ts +10 -0
- package/src/workspace-integrations.ts +488 -398
- package/src/workspace-learning-administration.ts +58 -44
- package/src/workspace-learning-policy.ts +126 -99
- package/src/workspace-state.ts +239 -220
- package/src/xai-provider-account-authority.ts +23 -17
- package/dist/chunk-3SIZGL3O.js.map +0 -1
- package/dist/chunk-566IFOVP.js +0 -26133
- package/dist/chunk-566IFOVP.js.map +0 -1
- package/dist/chunk-5IXYF6XN.js +0 -728
- package/dist/chunk-5IXYF6XN.js.map +0 -1
- package/dist/chunk-5Q54VCCH.js.map +0 -1
- package/dist/chunk-BCS7WHCK.js +0 -139
- package/dist/chunk-BCS7WHCK.js.map +0 -1
- package/dist/chunk-EK7NDGFR.js +0 -128
- package/dist/chunk-EK7NDGFR.js.map +0 -1
- package/dist/chunk-GRG7PHWQ.js +0 -25
- package/dist/chunk-GRG7PHWQ.js.map +0 -1
- package/dist/chunk-HHZSZYYF.js.map +0 -1
- package/dist/chunk-ICDZGUX2.js +0 -186
- package/dist/chunk-ICDZGUX2.js.map +0 -1
- package/dist/chunk-JUFK3T4Q.js +0 -80
- package/dist/chunk-JUFK3T4Q.js.map +0 -1
- package/dist/chunk-MYBZRDTY.js.map +0 -1
- package/dist/chunk-NRMCVHAU.js.map +0 -1
- package/dist/chunk-O77VSFYZ.js.map +0 -1
- package/dist/chunk-P3HLDT77.js +0 -59
- package/dist/chunk-P3HLDT77.js.map +0 -1
- package/dist/chunk-TXTQIYCV.js.map +0 -1
- package/dist/chunk-WYBDERIY.js.map +0 -1
- package/dist/chunk-Y3KNXVTD.js.map +0 -1
- package/dist/chunk-YBW5JSA3.js.map +0 -1
- package/dist/chunk-YRXAWWCU.js +0 -45
- package/dist/chunk-YRXAWWCU.js.map +0 -1
- package/dist/chunk-YWMOIZ6A.js +0 -185
- package/dist/chunk-YWMOIZ6A.js.map +0 -1
- package/dist/site-request-headers.test.d.ts +0 -1
- package/dist/transcription-recordings.d.ts +0 -300
- package/src/transcription-recordings.ts +0 -169
- /package/dist/{chunk-SIOU2K4U.js.map → chunk-LJH2EYGT.js.map} +0 -0
- /package/dist/{chunk-RIY7GYQS.js.map → chunk-PTSROVDG.js.map} +0 -0
- /package/dist/{chunk-YRKRZ6OF.js.map → chunk-TOOJIBJC.js.map} +0 -0
- /package/dist/{chunk-D2HKF2EF.js.map → chunk-XP5M3IKT.js.map} +0 -0
|
@@ -1,6 +1,14 @@
|
|
|
1
|
+
import {
|
|
2
|
+
SPREADSHEET_DEFAULT_COLUMN_WIDTH,
|
|
3
|
+
SPREADSHEET_DEFAULT_ROW_HEIGHT,
|
|
4
|
+
SPREADSHEET_MAX_DIMENSION_PIXELS
|
|
5
|
+
} from "./chunk-RUQ4I6DO.js";
|
|
1
6
|
import {
|
|
2
7
|
COMMITTED_TRANSACTION_PROTOCOL_VERSION
|
|
3
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-WVCFSOUZ.js";
|
|
9
|
+
import {
|
|
10
|
+
fnv1a64Limbs
|
|
11
|
+
} from "./chunk-WQI7VNN4.js";
|
|
4
12
|
|
|
5
13
|
// src/editable-artifact-committed-transaction.ts
|
|
6
14
|
var MAX_COMMITTED_TRANSACTION_BYTES = 8 * 1024 * 1024;
|
|
@@ -17,9 +25,6 @@ var MAX_SAFE_U64_HIGH = 2097151;
|
|
|
17
25
|
var U32_SIZE = 4294967296;
|
|
18
26
|
var U32_MAX = 4294967295;
|
|
19
27
|
var MAX_DATE_MILLISECONDS = 8640000000000000n;
|
|
20
|
-
var FNV_OFFSET_LOW = 2216829733;
|
|
21
|
-
var FNV_OFFSET_HIGH = 3421674724;
|
|
22
|
-
var FNV_PRIME_LOW = 435;
|
|
23
28
|
var HEX = Array.from({ length: 256 }, (_, value) => value.toString(16).padStart(2, "0"));
|
|
24
29
|
function decodeCommittedTransactionSummary(bytes) {
|
|
25
30
|
assertInput(bytes);
|
|
@@ -52,7 +57,7 @@ function decodeCommittedTransactionSummary(bytes) {
|
|
|
52
57
|
bytes.byteLength < expectedLength ? "truncated OGACO002 payload" : "trailing bytes after OGACO002 envelope"
|
|
53
58
|
);
|
|
54
59
|
}
|
|
55
|
-
const [checksumLow, checksumHigh] =
|
|
60
|
+
const [checksumLow, checksumHigh] = fnv1a64Limbs(bytes, payloadEnd);
|
|
56
61
|
if (view.getUint32(payloadEnd, true) !== checksumLow || view.getUint32(payloadEnd + 4, true) !== checksumHigh) {
|
|
57
62
|
throw new TypeError("OGACO002 checksum mismatch");
|
|
58
63
|
}
|
|
@@ -217,6 +222,17 @@ var Reader = class {
|
|
|
217
222
|
case 5:
|
|
218
223
|
this.stableId("selective undo target");
|
|
219
224
|
return totalCells;
|
|
225
|
+
case 6:
|
|
226
|
+
case 7: {
|
|
227
|
+
this.skipGeneration("dimension sheet generation");
|
|
228
|
+
this.u32("dimension index");
|
|
229
|
+
const pixels = this.u32("dimension pixels");
|
|
230
|
+
const defaultPixels = tag === 6 ? SPREADSHEET_DEFAULT_ROW_HEIGHT : SPREADSHEET_DEFAULT_COLUMN_WIDTH;
|
|
231
|
+
if (pixels > SPREADSHEET_MAX_DIMENSION_PIXELS || pixels === defaultPixels) {
|
|
232
|
+
throw new TypeError("OGACO002 dimension pixels are noncanonical or outside bounds");
|
|
233
|
+
}
|
|
234
|
+
return totalCells;
|
|
235
|
+
}
|
|
220
236
|
default:
|
|
221
237
|
throw new TypeError(`invalid OGACO002 collaboration command tag: ${tag}`);
|
|
222
238
|
}
|
|
@@ -381,18 +397,6 @@ function hexBytes(bytes) {
|
|
|
381
397
|
for (const byte of bytes) result += HEX[byte];
|
|
382
398
|
return result;
|
|
383
399
|
}
|
|
384
|
-
function fnv1a64(bytes, end) {
|
|
385
|
-
let low = FNV_OFFSET_LOW;
|
|
386
|
-
let high = FNV_OFFSET_HIGH;
|
|
387
|
-
for (let index = 0; index < end; index += 1) {
|
|
388
|
-
low = (low ^ bytes[index]) >>> 0;
|
|
389
|
-
const lowProduct = low * FNV_PRIME_LOW;
|
|
390
|
-
const carry = Math.floor(lowProduct / U32_SIZE);
|
|
391
|
-
high = high * FNV_PRIME_LOW + carry + low * 256 >>> 0;
|
|
392
|
-
low = lowProduct >>> 0;
|
|
393
|
-
}
|
|
394
|
-
return [low, high];
|
|
395
|
-
}
|
|
396
400
|
|
|
397
401
|
export {
|
|
398
402
|
MAX_COMMITTED_TRANSACTION_BYTES,
|
|
@@ -401,4 +405,4 @@ export {
|
|
|
401
405
|
MAX_COMMITTED_TRANSACTION_CELLS,
|
|
402
406
|
decodeCommittedTransactionSummary
|
|
403
407
|
};
|
|
404
|
-
//# sourceMappingURL=chunk-
|
|
408
|
+
//# sourceMappingURL=chunk-ZYVEJFNU.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/editable-artifact-committed-transaction.ts"],"sourcesContent":["/**\n * Strict, allocation-bounded inspection of canonical OGACO002 transactions.\n *\n * The Rust kernel remains the authority for applying operations. This decoder\n * validates the complete envelope and every typed operation so metadata after\n * the operation stream cannot be located by trusting attacker-controlled\n * lengths. It intentionally does not construct an editable artifact model.\n */\n\nimport { COMMITTED_TRANSACTION_PROTOCOL_VERSION } from \"./editable-artifact-versions\";\nimport { fnv1a64Limbs } from \"./editable-artifact-binary\";\nimport {\n SPREADSHEET_DEFAULT_ROW_HEIGHT,\n SPREADSHEET_DEFAULT_COLUMN_WIDTH,\n SPREADSHEET_MAX_DIMENSION_PIXELS,\n} from \"./spreadsheet-artifact-commands\";\n\nexport { COMMITTED_TRANSACTION_PROTOCOL_VERSION } from \"./editable-artifact-versions\";\nexport const MAX_COMMITTED_TRANSACTION_BYTES = 8 * 1024 * 1024;\nexport const MAX_COMMITTED_TRANSACTION_OPERATIONS = 4_096;\nexport const MAX_COMMITTED_TRANSACTION_CAUSAL_REPLICAS = 100_000;\nexport const MAX_COMMITTED_TRANSACTION_CELLS = 1_000_000;\n\nconst MAGIC = new Uint8Array([0x4f, 0x47, 0x41, 0x43, 0x4f, 0x30, 0x30, 0x32]); // OGACO002\nconst HEADER_BYTES = 24;\nconst CHECKSUM_BYTES = 8;\nconst HASH_BYTES = 32;\nconst STABLE_ID_BYTES = 16;\nconst MAX_OPERATION_STRING_BYTES = 4 * 1024 * 1024;\nconst MAX_SAFE_U64_HIGH = 0x1f_ffff;\nconst U32_SIZE = 0x1_0000_0000;\nconst U32_MAX = 0xffff_ffff;\nconst MAX_DATE_MILLISECONDS = 8_640_000_000_000_000n;\n\nconst HEX = Array.from({ length: 256 }, (_, value) => value.toString(16).padStart(2, \"0\"));\n\nexport type CommittedTransactionCausalEntry = Readonly<{\n replicaId: string;\n counter: number;\n}>;\n\nexport type CommittedTransactionSummary = Readonly<{\n operationProtocolVersion: typeof COMMITTED_TRANSACTION_PROTOCOL_VERSION;\n transactionId: string;\n dot: CommittedTransactionCausalEntry;\n resolvedCausalBase: readonly CommittedTransactionCausalEntry[];\n operationIds: readonly string[];\n priorStateHash: string;\n resultingCausalFrontier: readonly CommittedTransactionCausalEntry[];\n stateHash: string;\n}>;\n\n/**\n * Decodes only the metadata of one exact canonical OGACO002 byte envelope.\n *\n * This function is synchronous and never mutates or retains `bytes`. The\n * caller remains the owner of the exact canonical envelope.\n */\nexport function decodeCommittedTransactionSummary(bytes: Uint8Array): CommittedTransactionSummary {\n assertInput(bytes);\n if (bytes.byteLength > MAX_COMMITTED_TRANSACTION_BYTES) {\n throw new RangeError(\"OGACO002 envelope exceeds its byte limit\");\n }\n if (bytes.byteLength < HEADER_BYTES + CHECKSUM_BYTES) {\n throw new TypeError(\"truncated OGACO002 envelope\");\n }\n\n const view = new DataView(bytes.buffer, bytes.byteOffset, bytes.byteLength);\n for (let index = 0; index < MAGIC.byteLength; index += 1) {\n if (bytes[index] !== MAGIC[index]) throw new TypeError(\"invalid OGACO002 magic\");\n }\n\n const version = view.getUint16(8, true);\n if (version !== COMMITTED_TRANSACTION_PROTOCOL_VERSION) {\n throw new TypeError(`unsupported OGACO002 version: ${version}`);\n }\n if (view.getUint16(10, true) !== 0) {\n throw new TypeError(\"reserved OGACO002 header bits are set\");\n }\n\n const operationCount = view.getUint32(12, true);\n if (operationCount === 0 || operationCount > MAX_COMMITTED_TRANSACTION_OPERATIONS) {\n throw new RangeError(\"OGACO002 operation count is outside its canonical bounds\");\n }\n\n const payloadLength = safeU64At(view, 16, \"OGACO002 payload length\", false);\n const payloadEnd = checkedAdd(HEADER_BYTES, payloadLength, \"OGACO002 payload length\");\n const expectedLength = checkedAdd(payloadEnd, CHECKSUM_BYTES, \"OGACO002 envelope length\");\n if (bytes.byteLength !== expectedLength) {\n throw new TypeError(\n bytes.byteLength < expectedLength\n ? \"truncated OGACO002 payload\"\n : \"trailing bytes after OGACO002 envelope\",\n );\n }\n\n const [checksumLow, checksumHigh] = fnv1a64Limbs(bytes, payloadEnd);\n if (\n view.getUint32(payloadEnd, true) !== checksumLow ||\n view.getUint32(payloadEnd + 4, true) !== checksumHigh\n ) {\n throw new TypeError(\"OGACO002 checksum mismatch\");\n }\n\n const reader = new Reader(bytes, HEADER_BYTES, payloadEnd);\n const transactionId = reader.stableId(\"transaction id\");\n const dot = Object.freeze({\n replicaId: reader.replicaId(\"transaction dot replica\"),\n counter: reader.safeU64(\"transaction dot counter\", true),\n });\n const resolvedCausalBase = reader.frontier(\"resolved causal base\");\n const priorStateHash = reader.stateHash(\"prior state hash\");\n\n const operationIds: string[] = [];\n const seenOperationIds = new Set<string>();\n let totalCells = 0;\n for (let index = 0; index < operationCount; index += 1) {\n const operationId = reader.stableId(`operation ${index} id`);\n if (seenOperationIds.has(operationId)) {\n throw new TypeError(\"OGACO002 operation ids must be unique\");\n }\n seenOperationIds.add(operationId);\n operationIds.push(operationId);\n totalCells = reader.skipCommand(totalCells);\n }\n\n const resultingCausalFrontier = reader.frontier(\"resulting causal frontier\");\n const stateHash = reader.stateHash(\"resulting state hash\");\n reader.done();\n\n return Object.freeze({\n operationProtocolVersion: COMMITTED_TRANSACTION_PROTOCOL_VERSION,\n transactionId,\n dot,\n resolvedCausalBase,\n operationIds: Object.freeze(operationIds),\n priorStateHash,\n resultingCausalFrontier,\n stateHash,\n });\n}\n\nclass Reader {\n readonly #bytes: Uint8Array;\n readonly #view: DataView;\n readonly #end: number;\n #offset: number;\n\n constructor(bytes: Uint8Array, offset: number, end: number) {\n this.#bytes = bytes;\n this.#view = new DataView(bytes.buffer, bytes.byteOffset, bytes.byteLength);\n this.#offset = offset;\n this.#end = end;\n }\n\n take(length: number, label: string): Uint8Array {\n const offset = this.reserve(length, label);\n return this.#bytes.subarray(offset, offset + length);\n }\n\n reserve(length: number, label: string): number {\n if (!Number.isSafeInteger(length) || length < 0) {\n throw new RangeError(`${label} has an invalid byte length`);\n }\n const offset = this.#offset;\n const end = checkedAdd(offset, length, `${label} byte range`);\n if (end > this.#end) throw new TypeError(`truncated ${label}`);\n this.#offset = end;\n return offset;\n }\n\n u8(label: string): number {\n return this.#bytes[this.reserve(1, label)]!;\n }\n\n u32(label: string): number {\n const offset = this.reserve(4, label);\n return this.#view.getUint32(offset, true);\n }\n\n safeU64(label: string, positive: boolean): number {\n const offset = this.reserve(8, label);\n const value = safeU64At(this.#view, offset, label, positive);\n return value;\n }\n\n replicaId(label: string): string {\n const offset = this.reserve(8, label);\n const low = this.#view.getUint32(offset, true);\n const high = this.#view.getUint32(offset + 4, true);\n if (low === 0 && high === 0) throw new TypeError(`${label} must be nonzero`);\n return hexU64(high, low);\n }\n\n stableId(label: string): string {\n const offset = this.reserve(STABLE_ID_BYTES, label);\n const counterLow = this.#view.getUint32(offset, true);\n const counterHigh = this.#view.getUint32(offset + 4, true);\n const namespaceLow = this.#view.getUint32(offset + 8, true);\n const namespaceHigh = this.#view.getUint32(offset + 12, true);\n if (counterLow === 0 && counterHigh === 0 && namespaceLow === 0 && namespaceHigh === 0) {\n throw new TypeError(`${label} reserves the all-zero value`);\n }\n return `${hexU64(namespaceHigh, namespaceLow)}${hexU64(counterHigh, counterLow)}`;\n }\n\n sheetObjectId(label: string): string {\n const offset = this.#offset;\n const id = this.stableId(label);\n const counterIsZero =\n this.#view.getUint32(offset, true) === 0 && this.#view.getUint32(offset + 4, true) === 0;\n const namespaceIsZero =\n this.#view.getUint32(offset + 8, true) === 0 && this.#view.getUint32(offset + 12, true) === 0;\n if (counterIsZero || namespaceIsZero) {\n throw new TypeError(`${label} requires nonzero namespace and counter`);\n }\n return id;\n }\n\n stateHash(label: string): string {\n return `sha256:${hexBytes(this.take(HASH_BYTES, label))}`;\n }\n\n frontier(label: string): readonly CommittedTransactionCausalEntry[] {\n const count = this.u32(`${label} count`);\n if (count > MAX_COMMITTED_TRANSACTION_CAUSAL_REPLICAS) {\n throw new RangeError(`${label} exceeds its replica limit`);\n }\n const entries: CommittedTransactionCausalEntry[] = [];\n let previousLow = 0;\n let previousHigh = 0;\n let hasPrevious = false;\n for (let index = 0; index < count; index += 1) {\n const replicaOffset = this.#offset;\n const replicaId = this.replicaId(`${label} replica ${index}`);\n const replicaLow = this.#view.getUint32(replicaOffset, true);\n const replicaHigh = this.#view.getUint32(replicaOffset + 4, true);\n if (\n hasPrevious &&\n (replicaHigh < previousHigh || (replicaHigh === previousHigh && replicaLow <= previousLow))\n ) {\n throw new TypeError(`${label} replicas must be unique and strictly ordered`);\n }\n const counter = this.safeU64(`${label} counter ${index}`, true);\n entries.push(Object.freeze({ replicaId, counter }));\n previousLow = replicaLow;\n previousHigh = replicaHigh;\n hasPrevious = true;\n }\n return Object.freeze(entries);\n }\n\n skipCommand(totalCells: number): number {\n const tag = this.u8(\"collaboration command tag\");\n switch (tag) {\n case 0: {\n this.sheetObjectId(\"created sheet id\");\n this.skipString(\"created sheet name\");\n const after = this.u8(\"created sheet predecessor flag\");\n if (after === 1) this.skipGeneration(\"created sheet predecessor\");\n else if (after !== 0) throw new TypeError(\"invalid created sheet predecessor flag\");\n return totalCells;\n }\n case 1:\n this.skipGeneration(\"renamed sheet generation\");\n this.skipString(\"renamed sheet name\");\n return totalCells;\n case 2:\n this.skipGeneration(\"deleted sheet generation\");\n return totalCells;\n case 3:\n return this.skipSetCells(totalCells);\n case 4: {\n this.skipGeneration(\"cleared sheet generation\");\n const startRow = this.u32(\"clear range start row\");\n const startColumn = this.u32(\"clear range start column\");\n const endRow = this.u32(\"clear range end row\");\n const endColumn = this.u32(\"clear range end column\");\n if (startRow > endRow || startColumn > endColumn) {\n throw new TypeError(\"OGACO002 clear range is not normalized\");\n }\n return totalCells;\n }\n case 5:\n this.stableId(\"selective undo target\");\n return totalCells;\n case 6:\n case 7: {\n this.skipGeneration(\"dimension sheet generation\");\n this.u32(\"dimension index\");\n const pixels = this.u32(\"dimension pixels\");\n const defaultPixels =\n tag === 6 ? SPREADSHEET_DEFAULT_ROW_HEIGHT : SPREADSHEET_DEFAULT_COLUMN_WIDTH;\n if (pixels > SPREADSHEET_MAX_DIMENSION_PIXELS || pixels === defaultPixels) {\n throw new TypeError(\"OGACO002 dimension pixels are noncanonical or outside bounds\");\n }\n return totalCells;\n }\n default:\n throw new TypeError(`invalid OGACO002 collaboration command tag: ${tag}`);\n }\n }\n\n skipSetCells(totalCells: number): number {\n this.skipGeneration(\"cell block sheet generation\");\n const anchorRow = this.u32(\"cell block anchor row\");\n const anchorColumn = this.u32(\"cell block anchor column\");\n const rows = this.u32(\"cell block rows\");\n const columns = this.u32(\"cell block columns\");\n if (rows === 0 || columns === 0) {\n throw new TypeError(\"OGACO002 cell block dimensions must be nonzero\");\n }\n if (anchorRow > U32_MAX - (rows - 1) || anchorColumn > U32_MAX - (columns - 1)) {\n throw new RangeError(\"OGACO002 cell block coordinates overflow u32\");\n }\n if (rows > Math.floor(MAX_COMMITTED_TRANSACTION_CELLS / columns)) {\n throw new RangeError(\"OGACO002 cell block exceeds its cell limit\");\n }\n const cellCount = rows * columns;\n const nextTotal = totalCells + cellCount;\n if (nextTotal > MAX_COMMITTED_TRANSACTION_CELLS) {\n throw new RangeError(\"OGACO002 transaction exceeds its cell limit\");\n }\n for (let index = 0; index < cellCount; index += 1) this.skipCell();\n return nextTotal;\n }\n\n skipCell(): void {\n const formulaTag = this.u8(\"cell formula tag\");\n if (formulaTag === 1) {\n if (this.skipString(\"cell formula\") === 0) {\n throw new TypeError(\"OGACO002 formula must not be empty\");\n }\n return;\n } else if (formulaTag !== 0) {\n throw new TypeError(`invalid OGACO002 cell formula tag: ${formulaTag}`);\n }\n\n const valueTag = this.u8(\"cell value tag\");\n switch (valueTag) {\n case 0:\n case 1:\n case 2:\n return;\n case 3:\n this.skipNumber();\n return;\n case 4:\n this.skipString(\"cell text\");\n return;\n case 5:\n this.skipFormulaError();\n return;\n case 6:\n this.skipDate();\n return;\n default:\n throw new TypeError(`invalid OGACO002 cell value tag: ${valueTag}`);\n }\n }\n\n skipNumber(): void {\n const offset = this.reserve(8, \"cell number\");\n const low = this.#view.getUint32(offset, true);\n const high = this.#view.getUint32(offset + 4, true);\n if (low === 0 && high === 0x8000_0000) {\n throw new TypeError(\"OGACO002 cell number uses negative zero\");\n }\n if ((high & 0x7ff0_0000) === 0x7ff0_0000) {\n throw new TypeError(\"OGACO002 cell numbers must be finite\");\n }\n }\n\n skipDate(): void {\n const offset = this.reserve(8, \"cell date\");\n const milliseconds = this.#view.getBigInt64(offset, true);\n if (milliseconds < -MAX_DATE_MILLISECONDS || milliseconds > MAX_DATE_MILLISECONDS) {\n throw new TypeError(\"OGACO002 cell date is outside the ECMAScript range\");\n }\n }\n\n skipFormulaError(): void {\n const tag = this.u8(\"formula error tag\");\n if (tag <= 8) return;\n if (tag === 9) {\n this.skipString(\"custom formula error\");\n return;\n }\n throw new TypeError(`invalid OGACO002 formula error tag: ${tag}`);\n }\n\n skipGeneration(label: string): void {\n this.sheetObjectId(`${label} sheet id`);\n this.stableId(`${label} creation operation id`);\n }\n\n skipString(label: string): number {\n const length = this.u32(`${label} length`);\n if (length > MAX_OPERATION_STRING_BYTES) {\n throw new RangeError(`${label} exceeds its byte limit`);\n }\n const value = this.take(length, label);\n assertUtf8(value, label);\n return length;\n }\n\n done(): void {\n if (this.#offset !== this.#end) throw new TypeError(\"trailing bytes in OGACO002 payload\");\n }\n}\n\nfunction assertInput(bytes: Uint8Array): void {\n if (!(bytes instanceof Uint8Array)) {\n throw new TypeError(\"OGACO002 bytes must be a Uint8Array\");\n }\n if (typeof SharedArrayBuffer !== \"undefined\" && bytes.buffer instanceof SharedArrayBuffer) {\n throw new TypeError(\"OGACO002 bytes must not use shared mutable memory\");\n }\n}\n\nfunction safeU64At(view: DataView, offset: number, label: string, positive: boolean): number {\n const low = view.getUint32(offset, true);\n const high = view.getUint32(offset + 4, true);\n if (high > MAX_SAFE_U64_HIGH)\n throw new RangeError(`${label} exceeds JavaScript safe integer range`);\n const value = high * U32_SIZE + low;\n if (positive && value === 0) throw new TypeError(`${label} must be nonzero`);\n return value;\n}\n\nfunction checkedAdd(left: number, right: number, label: string): number {\n const result = left + right;\n if (!Number.isSafeInteger(result)) throw new RangeError(`${label} exceeds safe integer range`);\n return result;\n}\n\n/** Allocation-free UTF-8 scalar validation equivalent to Rust `str::from_utf8`. */\nfunction assertUtf8(bytes: Uint8Array, label: string): void {\n for (let index = 0; index < bytes.length;) {\n const first = bytes[index]!;\n if (first <= 0x7f) {\n index += 1;\n continue;\n }\n const second = bytes[index + 1];\n if (first >= 0xc2 && first <= 0xdf && continuation(second)) {\n index += 2;\n continue;\n }\n const third = bytes[index + 2];\n if (\n ((first === 0xe0 && between(second, 0xa0, 0xbf)) ||\n (first >= 0xe1 && first <= 0xec && continuation(second)) ||\n (first === 0xed && between(second, 0x80, 0x9f)) ||\n (first >= 0xee && first <= 0xef && continuation(second))) &&\n continuation(third)\n ) {\n index += 3;\n continue;\n }\n const fourth = bytes[index + 3];\n if (\n ((first === 0xf0 && between(second, 0x90, 0xbf)) ||\n (first >= 0xf1 && first <= 0xf3 && continuation(second)) ||\n (first === 0xf4 && between(second, 0x80, 0x8f))) &&\n continuation(third) &&\n continuation(fourth)\n ) {\n index += 4;\n continue;\n }\n throw new TypeError(`${label} is not canonical UTF-8`);\n }\n}\n\nfunction continuation(value: number | undefined): boolean {\n return value !== undefined && value >= 0x80 && value <= 0xbf;\n}\n\nfunction between(value: number | undefined, minimum: number, maximum: number): boolean {\n return value !== undefined && value >= minimum && value <= maximum;\n}\n\nfunction hexU64(high: number, low: number): string {\n return `${high.toString(16).padStart(8, \"0\")}${low.toString(16).padStart(8, \"0\")}`;\n}\n\nfunction hexBytes(bytes: Uint8Array): string {\n let result = \"\";\n for (const byte of bytes) result += HEX[byte];\n return result;\n}\n"],"mappings":"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","names":[]}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { z } from "zod";
|
|
2
|
+
/** Same opaque pool selection shape; Claude's live authority is revalidated separately. */
|
|
3
|
+
export declare const ClaudeProviderAccountAuthoritySnapshotV1: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
4
|
+
version: z.ZodLiteral<1>;
|
|
5
|
+
scope: z.ZodLiteral<"organization">;
|
|
6
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
7
|
+
version: z.ZodLiteral<1>;
|
|
8
|
+
scope: z.ZodLiteral<"workspace">;
|
|
9
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
10
|
+
version: z.ZodLiteral<1>;
|
|
11
|
+
scope: z.ZodLiteral<"user">;
|
|
12
|
+
authorityGeneration: z.ZodNumber;
|
|
13
|
+
}, z.core.$strict>], "scope">;
|
|
14
|
+
export type ClaudeProviderAccountAuthoritySnapshotV1 = z.infer<typeof ClaudeProviderAccountAuthoritySnapshotV1>;
|
|
15
|
+
export declare const WORKSPACE_CLAUDE_PROVIDER_ACCOUNT_AUTHORITY_SNAPSHOT_V1: {
|
|
16
|
+
readonly version: 1;
|
|
17
|
+
readonly scope: "workspace";
|
|
18
|
+
};
|
|
@@ -1,4 +1,23 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
|
+
export declare const ClaudeSubscriptionSetupTokenRequest: z.ZodObject<{
|
|
3
|
+
token: z.ZodString;
|
|
4
|
+
scope: z.ZodDefault<z.ZodEnum<{
|
|
5
|
+
user: "user";
|
|
6
|
+
workspace: "workspace";
|
|
7
|
+
}>>;
|
|
8
|
+
label: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
9
|
+
reconnectAccountId: z.ZodOptional<z.ZodString>;
|
|
10
|
+
expectedCredentialVersion: z.ZodOptional<z.ZodNumber>;
|
|
11
|
+
}, z.core.$strict>;
|
|
12
|
+
export type ClaudeSubscriptionSetupTokenRequest = z.infer<typeof ClaudeSubscriptionSetupTokenRequest>;
|
|
13
|
+
export declare const ClaudeSubscriptionOAuthStartRequest: z.ZodObject<{
|
|
14
|
+
scope: z.ZodDefault<z.ZodEnum<{
|
|
15
|
+
user: "user";
|
|
16
|
+
workspace: "workspace";
|
|
17
|
+
}>>;
|
|
18
|
+
reconnectAccountId: z.ZodOptional<z.ZodString>;
|
|
19
|
+
}, z.core.$strict>;
|
|
20
|
+
export type ClaudeSubscriptionOAuthStartRequest = z.infer<typeof ClaudeSubscriptionOAuthStartRequest>;
|
|
2
21
|
export declare const ClaudeSubscriptionOAuthStartResponse: z.ZodObject<{
|
|
3
22
|
attemptId: z.ZodString;
|
|
4
23
|
authorizationUrl: z.ZodString;
|
|
@@ -12,6 +31,12 @@ export declare const ClaudeSubscriptionOAuthCompleteRequest: z.ZodObject<{
|
|
|
12
31
|
export type ClaudeSubscriptionOAuthCompleteRequest = z.infer<typeof ClaudeSubscriptionOAuthCompleteRequest>;
|
|
13
32
|
export declare const ClaudeSubscriptionOAuthCompleteResponse: z.ZodObject<{
|
|
14
33
|
connected: z.ZodLiteral<true>;
|
|
34
|
+
accountId: z.ZodString;
|
|
35
|
+
scope: z.ZodEnum<{
|
|
36
|
+
organization: "organization";
|
|
37
|
+
user: "user";
|
|
38
|
+
workspace: "workspace";
|
|
39
|
+
}>;
|
|
15
40
|
credentialVersion: z.ZodNumber;
|
|
16
41
|
}, z.core.$strict>;
|
|
17
42
|
export type ClaudeSubscriptionOAuthCompleteResponse = z.infer<typeof ClaudeSubscriptionOAuthCompleteResponse>;
|
|
@@ -24,9 +24,43 @@ export declare const ClaudeUsageWindow: z.ZodObject<{
|
|
|
24
24
|
rejected: "rejected";
|
|
25
25
|
}>>;
|
|
26
26
|
observedAt: z.ZodString;
|
|
27
|
+
source: z.ZodOptional<z.ZodEnum<{
|
|
28
|
+
provider: "provider";
|
|
29
|
+
response_headers: "response_headers";
|
|
30
|
+
}>>;
|
|
27
31
|
}, z.core.$strict>;
|
|
28
32
|
export type ClaudeUsageWindow = z.infer<typeof ClaudeUsageWindow>;
|
|
29
|
-
/**
|
|
33
|
+
/** One response's dispatch authority; never combine statuses from different responses. */
|
|
34
|
+
export declare const ClaudeUsageRequestStatus: z.ZodObject<{
|
|
35
|
+
status: z.ZodNullable<z.ZodEnum<{
|
|
36
|
+
allowed: "allowed";
|
|
37
|
+
allowed_warning: "allowed_warning";
|
|
38
|
+
rejected: "rejected";
|
|
39
|
+
}>>;
|
|
40
|
+
resetsAt: z.ZodNullable<z.ZodString>;
|
|
41
|
+
representativeClaim: z.ZodNullable<z.ZodEnum<{
|
|
42
|
+
five_hour: "five_hour";
|
|
43
|
+
overage: "overage";
|
|
44
|
+
seven_day: "seven_day";
|
|
45
|
+
seven_day_opus: "seven_day_opus";
|
|
46
|
+
seven_day_overage_included: "seven_day_overage_included";
|
|
47
|
+
seven_day_sonnet: "seven_day_sonnet";
|
|
48
|
+
}>>;
|
|
49
|
+
overageStatus: z.ZodNullable<z.ZodEnum<{
|
|
50
|
+
allowed: "allowed";
|
|
51
|
+
allowed_warning: "allowed_warning";
|
|
52
|
+
rejected: "rejected";
|
|
53
|
+
}>>;
|
|
54
|
+
overageResetsAt: z.ZodNullable<z.ZodString>;
|
|
55
|
+
upstreamModelId: z.ZodNullable<z.ZodString>;
|
|
56
|
+
observedAt: z.ZodString;
|
|
57
|
+
source: z.ZodOptional<z.ZodEnum<{
|
|
58
|
+
provider: "provider";
|
|
59
|
+
response_headers: "response_headers";
|
|
60
|
+
}>>;
|
|
61
|
+
}, z.core.$strict>;
|
|
62
|
+
export type ClaudeUsageRequestStatus = z.infer<typeof ClaudeUsageRequestStatus>;
|
|
63
|
+
/** Provider observations, never an estimate based on Opengeni token counts. */
|
|
30
64
|
export declare const ClaudeSubscriptionUsage: z.ZodObject<{
|
|
31
65
|
connected: z.ZodBoolean;
|
|
32
66
|
credentialVersion: z.ZodNullable<z.ZodNumber>;
|
|
@@ -47,6 +81,10 @@ export declare const ClaudeSubscriptionUsage: z.ZodObject<{
|
|
|
47
81
|
rejected: "rejected";
|
|
48
82
|
}>>;
|
|
49
83
|
observedAt: z.ZodString;
|
|
84
|
+
source: z.ZodOptional<z.ZodEnum<{
|
|
85
|
+
provider: "provider";
|
|
86
|
+
response_headers: "response_headers";
|
|
87
|
+
}>>;
|
|
50
88
|
}, z.core.$strict>>;
|
|
51
89
|
observedAt: z.ZodNullable<z.ZodString>;
|
|
52
90
|
source: z.ZodNullable<z.ZodEnum<{
|
|
@@ -61,5 +99,61 @@ export declare const ClaudeSubscriptionUsage: z.ZodObject<{
|
|
|
61
99
|
unavailable: "unavailable";
|
|
62
100
|
}>;
|
|
63
101
|
refreshCheckedAt: z.ZodNullable<z.ZodString>;
|
|
102
|
+
requestStatus: z.ZodOptional<z.ZodNullable<z.ZodObject<{
|
|
103
|
+
status: z.ZodNullable<z.ZodEnum<{
|
|
104
|
+
allowed: "allowed";
|
|
105
|
+
allowed_warning: "allowed_warning";
|
|
106
|
+
rejected: "rejected";
|
|
107
|
+
}>>;
|
|
108
|
+
resetsAt: z.ZodNullable<z.ZodString>;
|
|
109
|
+
representativeClaim: z.ZodNullable<z.ZodEnum<{
|
|
110
|
+
five_hour: "five_hour";
|
|
111
|
+
overage: "overage";
|
|
112
|
+
seven_day: "seven_day";
|
|
113
|
+
seven_day_opus: "seven_day_opus";
|
|
114
|
+
seven_day_overage_included: "seven_day_overage_included";
|
|
115
|
+
seven_day_sonnet: "seven_day_sonnet";
|
|
116
|
+
}>>;
|
|
117
|
+
overageStatus: z.ZodNullable<z.ZodEnum<{
|
|
118
|
+
allowed: "allowed";
|
|
119
|
+
allowed_warning: "allowed_warning";
|
|
120
|
+
rejected: "rejected";
|
|
121
|
+
}>>;
|
|
122
|
+
overageResetsAt: z.ZodNullable<z.ZodString>;
|
|
123
|
+
upstreamModelId: z.ZodNullable<z.ZodString>;
|
|
124
|
+
observedAt: z.ZodString;
|
|
125
|
+
source: z.ZodOptional<z.ZodEnum<{
|
|
126
|
+
provider: "provider";
|
|
127
|
+
response_headers: "response_headers";
|
|
128
|
+
}>>;
|
|
129
|
+
}, z.core.$strict>>>;
|
|
130
|
+
requestRestrictions: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
131
|
+
status: z.ZodNullable<z.ZodEnum<{
|
|
132
|
+
allowed: "allowed";
|
|
133
|
+
allowed_warning: "allowed_warning";
|
|
134
|
+
rejected: "rejected";
|
|
135
|
+
}>>;
|
|
136
|
+
resetsAt: z.ZodNullable<z.ZodString>;
|
|
137
|
+
representativeClaim: z.ZodNullable<z.ZodEnum<{
|
|
138
|
+
five_hour: "five_hour";
|
|
139
|
+
overage: "overage";
|
|
140
|
+
seven_day: "seven_day";
|
|
141
|
+
seven_day_opus: "seven_day_opus";
|
|
142
|
+
seven_day_overage_included: "seven_day_overage_included";
|
|
143
|
+
seven_day_sonnet: "seven_day_sonnet";
|
|
144
|
+
}>>;
|
|
145
|
+
overageStatus: z.ZodNullable<z.ZodEnum<{
|
|
146
|
+
allowed: "allowed";
|
|
147
|
+
allowed_warning: "allowed_warning";
|
|
148
|
+
rejected: "rejected";
|
|
149
|
+
}>>;
|
|
150
|
+
overageResetsAt: z.ZodNullable<z.ZodString>;
|
|
151
|
+
upstreamModelId: z.ZodNullable<z.ZodString>;
|
|
152
|
+
observedAt: z.ZodString;
|
|
153
|
+
source: z.ZodOptional<z.ZodEnum<{
|
|
154
|
+
provider: "provider";
|
|
155
|
+
response_headers: "response_headers";
|
|
156
|
+
}>>;
|
|
157
|
+
}, z.core.$strict>>>;
|
|
64
158
|
}, z.core.$strict>;
|
|
65
159
|
export type ClaudeSubscriptionUsage = z.infer<typeof ClaudeSubscriptionUsage>;
|
|
@@ -1,29 +1,175 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Wire grammar of the
|
|
3
|
-
* (`POST /v1/client-errors`).
|
|
2
|
+
* Wire grammar of the web client error beacon (`POST /v1/client-errors`).
|
|
4
3
|
*
|
|
5
|
-
* A report is
|
|
6
|
-
*
|
|
4
|
+
* A report is a closed error kind, the matched route PATTERN (never a concrete
|
|
5
|
+
* URL), the bundle revision, and optional error diagnostics: the error's name,
|
|
6
|
+
* message and stack, plus React's component stack for a render failure. The
|
|
7
|
+
* diagnostics are error text, not analytics. They can occasionally contain a
|
|
8
|
+
* fragment of user content (an error message that quotes a value), so they are
|
|
9
|
+
* scrubbed of obvious credentials and query strings by
|
|
10
|
+
* {@link scrubClientErrorText} and bounded per field by
|
|
11
|
+
* {@link CLIENT_ERROR_DETAIL_MAX_BYTES} in the browser, and the API re-applies
|
|
12
|
+
* the same projection to whatever it receives. The web client that projects a
|
|
7
13
|
* report, the API route that admits it, and the public structured-log
|
|
8
|
-
* projection that prints it all validate against these exact
|
|
14
|
+
* projection that prints it all validate against these exact rules, so the
|
|
9
15
|
* browser can only send what the API accepts and logs.
|
|
16
|
+
*
|
|
17
|
+
* The same route also admits the closed operational signals below (requests
|
|
18
|
+
* that never reached the server, live-stream health, and web vitals). They
|
|
19
|
+
* follow the same rules: closed values only, a route pattern or page label,
|
|
20
|
+
* never a URL, message, identifier, or user content.
|
|
10
21
|
*/
|
|
11
22
|
export declare const CLIENT_ERRORS_PATH = "/v1/client-errors";
|
|
12
23
|
export declare const CLIENT_ERROR_KINDS: readonly ["route_error", "unhandled_rejection", "window_error", "chunk_load"];
|
|
13
24
|
export type ClientErrorKind = (typeof CLIENT_ERROR_KINDS)[number];
|
|
14
|
-
/**
|
|
15
|
-
|
|
25
|
+
/**
|
|
26
|
+
* Largest UTF-8 byte length of each error diagnostic field. A longer value is
|
|
27
|
+
* cut at the end, so a stack keeps its innermost frames.
|
|
28
|
+
*/
|
|
29
|
+
export declare const CLIENT_ERROR_DETAIL_MAX_BYTES: {
|
|
30
|
+
readonly name: 128;
|
|
31
|
+
readonly message: 1024;
|
|
32
|
+
readonly stack: 4096;
|
|
33
|
+
readonly componentStack: 4096;
|
|
34
|
+
};
|
|
35
|
+
export type ClientErrorDetailField = keyof typeof CLIENT_ERROR_DETAIL_MAX_BYTES;
|
|
36
|
+
export declare const CLIENT_ERROR_DETAIL_FIELDS: ClientErrorDetailField[];
|
|
37
|
+
/**
|
|
38
|
+
* Largest accepted report body. The detail fields total 9,344 bytes; JSON
|
|
39
|
+
* escaping at most doubles that, which leaves room for the closed fields.
|
|
40
|
+
*/
|
|
41
|
+
export declare const CLIENT_ERROR_REPORT_MAX_BYTES: number;
|
|
16
42
|
/**
|
|
17
43
|
* A route pattern of at most 160 characters that is `/`, `unknown`, or up to
|
|
18
44
|
* twelve `/`-separated segments that are each either a lowercase literal
|
|
19
|
-
* (`
|
|
45
|
+
* (`rigs`) or a `$param` placeholder. The grammar excludes digits in
|
|
20
46
|
* literals, so a concrete id cannot pass as one.
|
|
21
47
|
*/
|
|
22
48
|
export declare const CLIENT_ERROR_ROUTE_PATTERN: RegExp;
|
|
23
49
|
/** The bundle revision token (a commit SHA, `dev`, or `unknown`). */
|
|
24
50
|
export declare const CLIENT_ERROR_REVISION_PATTERN: RegExp;
|
|
51
|
+
/** Error diagnostics. Every field is optional and already scrubbed and bounded. */
|
|
52
|
+
export type ClientErrorDetail = Partial<Record<ClientErrorDetailField, string>>;
|
|
25
53
|
export type ClientErrorReport = {
|
|
26
54
|
kind: ClientErrorKind;
|
|
27
55
|
route: string;
|
|
28
56
|
revision: string;
|
|
57
|
+
error?: ClientErrorDetail;
|
|
58
|
+
};
|
|
59
|
+
/**
|
|
60
|
+
* Remove what an error text must never carry while keeping what makes it
|
|
61
|
+
* useful. Query strings and fragments are dropped from http(s) URLs (keeping a
|
|
62
|
+
* stack frame's `:line:column`); authorization values, JWTs, well-known API
|
|
63
|
+
* token formats, the values of `token=`/`password:`-style assignments, and
|
|
64
|
+
* long opaque letter-and-digit runs become `[redacted]`; control characters
|
|
65
|
+
* other than tab and newline become spaces. Messages, file names, route paths,
|
|
66
|
+
* UUIDs and stack frames survive. Applying it twice changes nothing.
|
|
67
|
+
*/
|
|
68
|
+
export declare function scrubClientErrorText(text: string): string;
|
|
69
|
+
/**
|
|
70
|
+
* Cut `text` to at most `maxBytes` UTF-8 bytes on a character boundary, ending
|
|
71
|
+
* with a truncation marker when anything was removed.
|
|
72
|
+
*/
|
|
73
|
+
export declare function boundClientErrorText(text: string, maxBytes: number): string;
|
|
74
|
+
/** Whether `text` is already exactly what the projection would produce for it. */
|
|
75
|
+
export declare function isProjectedClientErrorText(text: string, field: ClientErrorDetailField): boolean;
|
|
76
|
+
/**
|
|
77
|
+
* Project raw diagnostics into a {@link ClientErrorDetail}: non-string and
|
|
78
|
+
* blank fields are dropped, the rest scrubbed and then bounded. Returns
|
|
79
|
+
* `undefined` when nothing remains. Bounding after scrubbing keeps a cut from
|
|
80
|
+
* splitting a credential into a fragment the scrubber no longer recognizes;
|
|
81
|
+
* the marker cannot form one, so the result is stable under re-projection.
|
|
82
|
+
*/
|
|
83
|
+
export declare function projectClientErrorDetail(raw: Partial<Record<ClientErrorDetailField, unknown>> | null | undefined): ClientErrorDetail | undefined;
|
|
84
|
+
/**
|
|
85
|
+
* Content-free operational signals that share the error beacon route. A
|
|
86
|
+
* signal report carries a `signal` discriminator and only closed values; a
|
|
87
|
+
* report without `signal` is a {@link ClientErrorReport}. Older API servers
|
|
88
|
+
* reject signal reports as invalid, so the extension is backward compatible in
|
|
89
|
+
* both directions.
|
|
90
|
+
*/
|
|
91
|
+
export declare const CLIENT_SIGNALS: readonly ["request_failure", "stream", "web_vital", "desktop_bridge_missing"];
|
|
92
|
+
export type ClientSignal = (typeof CLIENT_SIGNALS)[number];
|
|
93
|
+
/**
|
|
94
|
+
* Key product mutations whose failure before any HTTP response is counted.
|
|
95
|
+
* `send_message` includes sends the server queues behind an active turn.
|
|
96
|
+
*/
|
|
97
|
+
export declare const CLIENT_REQUEST_ACTIONS: readonly ["create_session", "send_message", "steer_message", "composer_submit", "retry_turn", "connect_integration", "connect_model", "checkout_start"];
|
|
98
|
+
export type ClientRequestAction = (typeof CLIENT_REQUEST_ACTIONS)[number];
|
|
99
|
+
/**
|
|
100
|
+
* Why a request never produced an HTTP response: the browser reported no
|
|
101
|
+
* connectivity (`offline`), the client's own deadline expired (`timeout`), or
|
|
102
|
+
* the transport failed (`network`). Cancellations the user or the app
|
|
103
|
+
* initiated are never reported.
|
|
104
|
+
*/
|
|
105
|
+
export declare const CLIENT_REQUEST_FAILURE_REASONS: readonly ["network", "timeout", "offline"];
|
|
106
|
+
export type ClientRequestFailureReason = (typeof CLIENT_REQUEST_FAILURE_REASONS)[number];
|
|
107
|
+
/** Browser live streams: one session's event stream, or the workspace live stream. */
|
|
108
|
+
export declare const CLIENT_STREAMS: readonly ["session", "workspace"];
|
|
109
|
+
export type ClientStream = (typeof CLIENT_STREAMS)[number];
|
|
110
|
+
/**
|
|
111
|
+
* Live stream health: a live stream dropped and started reconnecting
|
|
112
|
+
* (`reconnect`), stopped reconnecting (`reconnect_exhausted`), or stayed
|
|
113
|
+
* disconnected for longer than the long-disconnect threshold while the tab
|
|
114
|
+
* was visible (`long_disconnect`).
|
|
115
|
+
*/
|
|
116
|
+
export declare const CLIENT_STREAM_EVENTS: readonly ["reconnect", "reconnect_exhausted", "long_disconnect"];
|
|
117
|
+
export type ClientStreamEvent = (typeof CLIENT_STREAM_EVENTS)[number];
|
|
118
|
+
/** Core Web Vitals plus time to first byte, measured once per document. */
|
|
119
|
+
export declare const CLIENT_WEB_VITAL_METRICS: readonly ["lcp", "inp", "cls", "ttfb"];
|
|
120
|
+
export type ClientWebVitalMetric = (typeof CLIENT_WEB_VITAL_METRICS)[number];
|
|
121
|
+
/**
|
|
122
|
+
* Largest accepted value: seconds for the timing metrics, the unitless layout
|
|
123
|
+
* shift score for `cls`.
|
|
124
|
+
*/
|
|
125
|
+
export declare const CLIENT_WEB_VITAL_MAX_VALUE: Readonly<Record<ClientWebVitalMetric, number>>;
|
|
126
|
+
/**
|
|
127
|
+
* The closed page labels of the web console's product-journey projection
|
|
128
|
+
* (`journeyPage` in apps/web/src/lib/analytics-journey.ts; a drift test keeps
|
|
129
|
+
* the two identical). Workspace pages are the first path segment after
|
|
130
|
+
* `/workspaces/<id>/`; the rest are exact top-level routes.
|
|
131
|
+
*/
|
|
132
|
+
export declare const CLIENT_PAGES: readonly ["sessions", "priority", "plugins", "capabilities", "documents", "state", "memory", "schedules", "automations", "bot-templates", "artifacts", "settings", "organization", "insights", "machines", "computer-use", "files", "agents", "secrets", "rigs", "playground", "read-only-chats", "inbox", "sites", "meetings", "home", "session-link", "identity-link", "checkout-return", "integration-return", "teams-connect", "device", "connect-agent", "native-sign-in", "reset-password", "setup-account", "account-auth", "site-auth", "personal-security", "other"];
|
|
133
|
+
export type ClientPage = (typeof CLIENT_PAGES)[number];
|
|
134
|
+
export type ClientRequestFailureReport = {
|
|
135
|
+
signal: "request_failure";
|
|
136
|
+
action: ClientRequestAction;
|
|
137
|
+
reason: ClientRequestFailureReason;
|
|
138
|
+
route: string;
|
|
139
|
+
revision: string;
|
|
140
|
+
};
|
|
141
|
+
export type ClientStreamReport = {
|
|
142
|
+
signal: "stream";
|
|
143
|
+
stream: ClientStream;
|
|
144
|
+
event: ClientStreamEvent;
|
|
145
|
+
route: string;
|
|
146
|
+
revision: string;
|
|
147
|
+
};
|
|
148
|
+
export type ClientWebVitalReport = {
|
|
149
|
+
signal: "web_vital";
|
|
150
|
+
metric: ClientWebVitalMetric;
|
|
151
|
+
page: ClientPage;
|
|
152
|
+
/** Seconds for timing metrics, the unitless score for `cls`. */
|
|
153
|
+
value: number;
|
|
154
|
+
revision: string;
|
|
155
|
+
};
|
|
156
|
+
/** Desktop app platforms, as the desktop bridge names them. */
|
|
157
|
+
export declare const CLIENT_DESKTOP_PLATFORMS: readonly ["macos", "windows", "linux"];
|
|
158
|
+
export type ClientDesktopPlatform = (typeof CLIENT_DESKTOP_PLATFORMS)[number];
|
|
159
|
+
/** A desktop app version as its user agent writes it (`Opengeni/<version>`). */
|
|
160
|
+
export declare const CLIENT_DESKTOP_APP_VERSION_PATTERN: RegExp;
|
|
161
|
+
/**
|
|
162
|
+
* The page runs in the Opengeni desktop app's own window (its user agent says
|
|
163
|
+
* so) but the shell's bridge is missing. Sent at most once per page load.
|
|
164
|
+
*/
|
|
165
|
+
export type ClientDesktopBridgeMissingReport = {
|
|
166
|
+
signal: "desktop_bridge_missing";
|
|
167
|
+
platform: ClientDesktopPlatform;
|
|
168
|
+
/** The app version from the user agent, or `unknown`. */
|
|
169
|
+
appVersion: string;
|
|
170
|
+
route: string;
|
|
171
|
+
revision: string;
|
|
29
172
|
};
|
|
173
|
+
export type ClientSignalReport = ClientRequestFailureReport | ClientStreamReport | ClientWebVitalReport | ClientDesktopBridgeMissingReport;
|
|
174
|
+
/** Every body the beacon route accepts. */
|
|
175
|
+
export type ClientBeaconReport = ClientErrorReport | ClientSignalReport;
|