@opengeni/contracts 5.5.0 → 5.5.2-canary.40656248492001
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/agent-authored-durable-text.d.ts +9 -9
- package/dist/agent-config.d.ts +148 -37
- package/dist/api-key-presets.d.ts +19 -0
- package/dist/app-action-catalog-types.d.ts +32 -0
- package/dist/app-action-catalog.gen.d.ts +2 -0
- package/dist/app-actions.d.ts +91 -0
- package/dist/app-actions.js +10130 -0
- package/dist/app-actions.js.map +1 -0
- package/dist/app-shot.d.ts +55 -0
- package/dist/artifact-catalog.d.ts +33 -0
- package/dist/artifacts.d.ts +166 -0
- package/dist/atlassian-native-retirement.d.ts +16 -0
- package/dist/atlassian-native-retirement.js +30 -0
- package/dist/atlassian-native-retirement.js.map +1 -0
- package/dist/atlassian.js +48 -23
- package/dist/automation-templates.d.ts +434 -0
- package/dist/automation-templates.js +31 -0
- package/dist/automation-templates.js.map +1 -0
- package/dist/billing-subscriptions.d.ts +61 -0
- package/dist/bots.d.ts +583 -0
- package/dist/bundled-skills.d.ts +58 -2
- package/dist/canonical-human-identities.js +3 -1
- package/dist/child-lifecycle-notice-protocol.d.ts +45 -0
- package/dist/chunk-2QKIEAGY.js +396 -0
- package/dist/chunk-2QKIEAGY.js.map +1 -0
- package/dist/chunk-2WOWEWXV.js +426 -0
- package/dist/chunk-2WOWEWXV.js.map +1 -0
- package/dist/chunk-2ZIHHL72.js +153 -0
- package/dist/chunk-2ZIHHL72.js.map +1 -0
- package/dist/chunk-32U6NKQQ.js +389 -0
- package/dist/chunk-32U6NKQQ.js.map +1 -0
- package/dist/chunk-4YDDHSO2.js +799 -0
- package/dist/chunk-4YDDHSO2.js.map +1 -0
- package/dist/chunk-56SNIMDO.js +9 -0
- package/dist/chunk-56SNIMDO.js.map +1 -0
- package/dist/chunk-5RWB6QVL.js +101 -0
- package/dist/chunk-5RWB6QVL.js.map +1 -0
- package/dist/chunk-5UGUOT3L.js +243 -0
- package/dist/chunk-5UGUOT3L.js.map +1 -0
- package/dist/chunk-6LAT33BH.js +130 -0
- package/dist/chunk-6LAT33BH.js.map +1 -0
- package/dist/chunk-7272KVWZ.js +60 -0
- package/dist/chunk-7272KVWZ.js.map +1 -0
- package/dist/chunk-72QC2GTL.js +36 -0
- package/dist/chunk-72QC2GTL.js.map +1 -0
- package/dist/chunk-7EQGGZBY.js +105 -0
- package/dist/chunk-7EQGGZBY.js.map +1 -0
- package/dist/chunk-A3LXWVYU.js +382 -0
- package/dist/chunk-A3LXWVYU.js.map +1 -0
- package/dist/chunk-AQYDZUJV.js +34 -0
- package/dist/chunk-AQYDZUJV.js.map +1 -0
- package/dist/chunk-BHCEVVUP.js +93 -0
- package/dist/chunk-BHCEVVUP.js.map +1 -0
- package/dist/chunk-BMUTAZX5.js +486 -0
- package/dist/chunk-BMUTAZX5.js.map +1 -0
- package/dist/chunk-DGG6IBBK.js +150 -0
- package/dist/chunk-DGG6IBBK.js.map +1 -0
- package/dist/{chunk-YBW5JSA3.js → chunk-FBCTUMHI.js} +123 -102
- package/dist/chunk-FBCTUMHI.js.map +1 -0
- package/dist/chunk-G2KJTFIC.js +97 -0
- package/dist/chunk-G2KJTFIC.js.map +1 -0
- package/dist/chunk-G4RKARXZ.js +1167 -0
- package/dist/chunk-G4RKARXZ.js.map +1 -0
- package/dist/chunk-H6UJJIUM.js +350 -0
- package/dist/chunk-H6UJJIUM.js.map +1 -0
- package/dist/chunk-JOTHDW4H.js +18 -0
- package/dist/chunk-JOTHDW4H.js.map +1 -0
- package/dist/chunk-L4GUEP7K.js +56480 -0
- package/dist/chunk-L4GUEP7K.js.map +1 -0
- package/dist/{chunk-SIOU2K4U.js → chunk-LJH2EYGT.js} +23 -23
- package/dist/chunk-MTJKSIGA.js +161 -0
- package/dist/chunk-MTJKSIGA.js.map +1 -0
- package/dist/chunk-MYHMB6GZ.js +202 -0
- package/dist/chunk-MYHMB6GZ.js.map +1 -0
- package/dist/chunk-PI5VIKJY.js +660 -0
- package/dist/chunk-PI5VIKJY.js.map +1 -0
- package/dist/{chunk-RIY7GYQS.js → chunk-PTSROVDG.js} +2 -2
- package/dist/chunk-PUIUXIOL.js +189 -0
- package/dist/chunk-PUIUXIOL.js.map +1 -0
- package/dist/chunk-R6VXJIMB.js +19 -0
- package/dist/chunk-R6VXJIMB.js.map +1 -0
- package/dist/chunk-RLJUNVAM.js +15 -0
- package/dist/chunk-RLJUNVAM.js.map +1 -0
- package/dist/chunk-RR6APCBK.js +213 -0
- package/dist/chunk-RR6APCBK.js.map +1 -0
- package/dist/{chunk-TXTQIYCV.js → chunk-RUQ4I6DO.js} +59 -13
- package/dist/chunk-RUQ4I6DO.js.map +1 -0
- package/dist/{chunk-WYBDERIY.js → chunk-RWEEUDHD.js} +53 -42
- package/dist/chunk-RWEEUDHD.js.map +1 -0
- package/dist/chunk-S7MSQQL6.js +158 -0
- package/dist/chunk-S7MSQQL6.js.map +1 -0
- package/dist/{chunk-5Q54VCCH.js → chunk-SHO4YO4B.js} +20 -36
- package/dist/chunk-SHO4YO4B.js.map +1 -0
- package/dist/{chunk-HHZSZYYF.js → chunk-T3HSWMA5.js} +20 -4
- package/dist/chunk-T3HSWMA5.js.map +1 -0
- package/dist/{chunk-YRKRZ6OF.js → chunk-TOOJIBJC.js} +2 -2
- package/dist/chunk-UCUOTRS6.js +431 -0
- package/dist/chunk-UCUOTRS6.js.map +1 -0
- package/dist/chunk-UH4K7GP7.js +424 -0
- package/dist/chunk-UH4K7GP7.js.map +1 -0
- package/dist/chunk-UIZWGPHV.js +120 -0
- package/dist/chunk-UIZWGPHV.js.map +1 -0
- package/dist/chunk-VLUKBV6Y.js +1170 -0
- package/dist/chunk-VLUKBV6Y.js.map +1 -0
- package/dist/chunk-W2QQ5Y6K.js +55 -0
- package/dist/chunk-W2QQ5Y6K.js.map +1 -0
- package/dist/{chunk-Y3KNXVTD.js → chunk-W3NBPR4E.js} +131 -31
- package/dist/chunk-W3NBPR4E.js.map +1 -0
- package/dist/{chunk-NRMCVHAU.js → chunk-WMGO4HJU.js} +11 -9
- package/dist/chunk-WMGO4HJU.js.map +1 -0
- package/dist/{chunk-MYBZRDTY.js → chunk-WQI7VNN4.js} +19 -9
- package/dist/chunk-WQI7VNN4.js.map +1 -0
- package/dist/{chunk-PX3VCKAU.js → chunk-WVCFSOUZ.js} +1 -1
- package/dist/{chunk-PX3VCKAU.js.map → chunk-WVCFSOUZ.js.map} +1 -1
- package/dist/chunk-XB6GQLBH.js +76 -0
- package/dist/chunk-XB6GQLBH.js.map +1 -0
- package/dist/{chunk-D2HKF2EF.js → chunk-XP5M3IKT.js} +2 -2
- package/dist/{chunk-O77VSFYZ.js → chunk-ZMPU5BWE.js} +12 -2
- package/dist/chunk-ZMPU5BWE.js.map +1 -0
- package/dist/{chunk-3SIZGL3O.js → chunk-ZYVEJFNU.js} +22 -18
- package/dist/chunk-ZYVEJFNU.js.map +1 -0
- package/dist/claude-provider-account-authority.d.ts +18 -0
- package/dist/claude-subscription-oauth.d.ts +25 -0
- package/dist/claude-subscription-usage.d.ts +95 -1
- package/dist/client-error-report.d.ts +154 -8
- package/dist/client-error-report.js +157 -2
- package/dist/client-error-report.js.map +1 -1
- package/dist/code-search.d.ts +1 -1
- package/dist/code-search.js.map +1 -1
- package/dist/codex-provider-account-authority.js +23 -12
- package/dist/codex-provider-account-authority.js.map +1 -1
- package/dist/company-profile.d.ts +144 -0
- package/dist/connect.d.ts +38 -0
- package/dist/connect.js +244 -164
- package/dist/connect.js.map +1 -1
- package/dist/connection-account-label.d.ts +2 -0
- package/dist/connection-account-label.js +34 -0
- package/dist/connection-account-label.js.map +1 -0
- package/dist/connection-authority.js +49 -24
- package/dist/connector-attachments.js +3 -1
- package/dist/connector-destinations.js +3 -1
- package/dist/connector-tool-permissions.d.ts +68 -4
- package/dist/credential-profiles.d.ts +166 -0
- package/dist/cua-desktop-tools.d.ts +19 -0
- package/dist/define-schema.d.ts +8 -0
- package/dist/desktop-app.d.ts +28 -0
- package/dist/direct-model-provider.d.ts +38 -0
- package/dist/document-artifact-commands.js +2 -2
- package/dist/document-artifact-query.js +2 -2
- package/dist/editable-artifact-binary.d.ts +7 -0
- package/dist/editable-artifact-causal-frontier.js +2 -2
- package/dist/editable-artifact-codec-registry.js +7 -7
- package/dist/editable-artifact-committed-transaction.js +4 -2
- package/dist/editable-artifact-live.js +8 -8
- package/dist/editable-artifact-serialized-commit.js +9 -9
- package/dist/editable-artifact-versions.d.ts +7 -1
- package/dist/editable-artifact-versions.js +1 -1
- package/dist/editable-artifacts.js +49 -43
- package/dist/event-preview.d.ts +22 -0
- package/dist/event-triggers.d.ts +1253 -0
- package/dist/event-triggers.js +148 -0
- package/dist/event-triggers.js.map +1 -0
- package/dist/external-identities.d.ts +34 -0
- package/dist/external-identities.js +4 -2
- package/dist/feedback.d.ts +181 -0
- package/dist/file-access.d.ts +23 -0
- package/dist/first-party-tool-authorization.d.ts +852 -0
- package/dist/github-repository-contracts.js +64 -43
- package/dist/github-repository-contracts.js.map +1 -1
- package/dist/google-drive-native-retirement.d.ts +12 -0
- package/dist/google-drive-native-retirement.js +20 -0
- package/dist/google-drive-native-retirement.js.map +1 -0
- package/dist/google-drive.d.ts +1 -1
- package/dist/google-drive.js +323 -239
- package/dist/google-drive.js.map +1 -1
- package/dist/host-mcp-bindings.js +250 -198
- package/dist/host-mcp-bindings.js.map +1 -1
- package/dist/index.d.ts +29072 -20593
- package/dist/index.js +2432 -366
- package/dist/inference-residency.d.ts +22 -0
- package/dist/insights-usage.d.ts +948 -0
- package/dist/insights-usage.js +608 -0
- package/dist/insights-usage.js.map +1 -0
- package/dist/integration-capability-id.d.ts +8 -0
- package/dist/interaction-action-deadline.d.ts +48 -0
- package/dist/interaction-driver-diagnostic.d.ts +28 -0
- package/dist/interaction.d.ts +2126 -881
- package/dist/knowledge-entries.d.ts +38 -0
- package/dist/knowledge-preparation.d.ts +4 -0
- package/dist/learning-refusal.d.ts +43 -0
- package/dist/learning-refusal.js +49 -0
- package/dist/learning-refusal.js.map +1 -0
- package/dist/managed-auth-session-sets.d.ts +1 -0
- package/dist/managed-auth-session-sets.js +207 -146
- package/dist/managed-auth-session-sets.js.map +1 -1
- package/dist/managed-sign-in-methods.d.ts +96 -0
- package/dist/managed-sign-in-methods.js +157 -35
- package/dist/managed-sign-in-methods.js.map +1 -1
- package/dist/mcp-structured-content.d.ts +25 -0
- package/dist/message-time-zone.d.ts +38 -0
- package/dist/message-time-zone.js +19 -0
- package/dist/message-time-zone.js.map +1 -0
- package/dist/modal-native-proof-v2.d.ts +587 -0
- package/dist/modal-native-proof-v2.js +39 -0
- package/dist/modal-native-proof-v2.js.map +1 -0
- package/dist/model-account-choice.d.ts +237 -0
- package/dist/model-account-settings.d.ts +422 -0
- package/dist/model-availability.d.ts +15 -0
- package/dist/model-connection-access.d.ts +13 -0
- package/dist/model-context-inspector.d.ts +8 -0
- package/dist/model-display.d.ts +43 -0
- package/dist/model-display.js +17 -0
- package/dist/model-display.js.map +1 -0
- package/dist/model-picker-order.js.map +1 -1
- package/dist/model-residency.d.ts +304 -0
- package/dist/organization-access.d.ts +416 -0
- package/dist/organization-access.js +40 -0
- package/dist/organization-access.js.map +1 -0
- package/dist/organization-integration-policy.d.ts +18 -0
- package/dist/organization-membership-lifecycle.d.ts +66 -0
- package/dist/organization-model-usage.d.ts +146 -0
- package/dist/organization-model-usage.js +87 -0
- package/dist/organization-model-usage.js.map +1 -0
- package/dist/organization-recovery.js +3 -1
- package/dist/organization-usage.d.ts +12 -0
- package/dist/passkey-only-account.d.ts +14 -0
- package/dist/passkey-only-account.js +13 -0
- package/dist/passkey-only-account.js.map +1 -0
- package/dist/permissions.d.ts +19 -0
- package/dist/personal-github.js +220 -148
- package/dist/personal-github.js.map +1 -1
- package/dist/personal-integration-setup.d.ts +81 -0
- package/dist/personal-integration-setup.js +42 -0
- package/dist/personal-integration-setup.js.map +1 -0
- package/dist/prepared-mcp-setup.d.ts +54 -0
- package/dist/prepared-mcp-setup.js +13 -0
- package/dist/prepared-mcp-setup.js.map +1 -0
- package/dist/presentation-artifact-commands.js +2 -2
- package/dist/presentation-artifact-query.js +2 -2
- package/dist/primitives.d.ts +18 -0
- package/dist/product-analytics.d.ts +27 -10
- package/dist/product-lifecycle-facts.d.ts +26 -3
- package/dist/prompt-cache-diagnostics.d.ts +92 -0
- package/dist/recordings.d.ts +1371 -0
- package/dist/remember.d.ts +98 -2
- package/dist/retained-output.d.ts +4 -2
- package/dist/sandbox-file-artifacts.d.ts +19 -2
- package/dist/sandbox-provider-command.d.ts +5 -44
- package/dist/sandbox-recovery.d.ts +139 -8
- package/dist/secret-generator.d.ts +44 -0
- package/dist/secret-mask-strings.d.ts +32 -0
- package/dist/secret-references.d.ts +90 -0
- package/dist/secret-resolution.d.ts +143 -0
- package/dist/secret-shape-masking.d.ts +52 -0
- package/dist/secret-shape-masking.js +19 -0
- package/dist/secret-shape-masking.js.map +1 -0
- package/dist/secret-totp.d.ts +41 -0
- package/dist/secret-use-approval-question.d.ts +11 -0
- package/dist/secret-use-approval-question.js +11 -0
- package/dist/secret-use-approval-question.js.map +1 -0
- package/dist/secret-use-approvals.d.ts +106 -0
- package/dist/secret-value-masking.d.ts +299 -0
- package/dist/secret-value-masking.js +62 -0
- package/dist/secret-value-masking.js.map +1 -0
- package/dist/secret-value.d.ts +19 -0
- package/dist/session-history-import.d.ts +444 -8
- package/dist/session-history.d.ts +111 -0
- package/dist/session-history.js +35 -0
- package/dist/session-history.js.map +1 -0
- package/dist/session-list-entries.d.ts +8 -0
- package/dist/session-list-entries.js +61 -0
- package/dist/session-list-entries.js.map +1 -0
- package/dist/session-mcp-projections.d.ts +13 -1
- package/dist/session-mcp-tool-permissions.d.ts +62 -0
- package/dist/session-target.d.ts +18 -0
- package/dist/session-titles.d.ts +8 -0
- package/dist/session-titles.js +5 -1
- package/dist/session-usage-limit-refusal.d.ts +34 -0
- package/dist/session-usage-limit-refusal.js +15 -0
- package/dist/session-usage-limit-refusal.js.map +1 -0
- package/dist/session-usage-limits.d.ts +127 -0
- package/dist/session-usage-limits.js +43 -0
- package/dist/session-usage-limits.js.map +1 -0
- package/dist/site-data.d.ts +286 -0
- package/dist/site-operations.d.ts +39 -0
- package/dist/site-publishing.d.ts +813 -0
- package/dist/site-session-http.d.ts +103 -4
- package/dist/site-session-http.js +27 -1
- package/dist/site-sql.d.ts +425 -0
- package/dist/skills.d.ts +38 -0
- package/dist/slack-bot-scopes.d.ts +9 -7
- package/dist/slack-bot-scopes.js +6 -3
- package/dist/slack-rest-mcp.d.ts +36 -0
- package/dist/slack-rest-mcp.js +25 -0
- package/dist/slack-rest-mcp.js.map +1 -0
- package/dist/spreadsheet-artifact-commands.d.ts +14 -1
- package/dist/spreadsheet-artifact-commands.js +9 -2
- package/dist/spreadsheet-artifact-query.d.ts +13 -6
- package/dist/spreadsheet-artifact-query.js +4 -3
- package/dist/subscription-account-actions.d.ts +83 -0
- package/dist/subscription-account-pools.d.ts +326 -0
- package/dist/subscription-personal-authority-v2.d.ts +28 -0
- package/dist/subscription-personal-authority-v2.js +13 -0
- package/dist/subscription-personal-authority-v2.js.map +1 -0
- package/dist/subscription-plans.d.ts +38 -0
- package/dist/subscription-usage-pool.d.ts +89 -0
- package/dist/tool-action-review.d.ts +141 -0
- package/dist/tool-catalog.d.ts +479 -0
- package/dist/tool-policy.d.ts +5 -0
- package/dist/tool-review-presentation.d.ts +29 -0
- package/dist/tool-review-presentation.js +21 -0
- package/dist/tool-review-presentation.js.map +1 -0
- package/dist/turn-serving-policy.d.ts +223 -0
- package/dist/usage-allowances.d.ts +30 -0
- package/dist/usage-allowances.js +5 -1
- package/dist/values.d.ts +11 -0
- package/dist/values.js +19 -0
- package/dist/values.js.map +1 -0
- package/dist/vault-provider-wire.d.ts +907 -0
- package/dist/vault-provider-wire.js +74 -0
- package/dist/vault-provider-wire.js.map +1 -0
- package/dist/vaults.d.ts +2185 -0
- package/dist/video-generation.d.ts +75 -0
- package/dist/video-generation.js +8 -1
- package/dist/workspace-control-event.d.ts +18 -0
- package/dist/workspace-control-event.js +18 -0
- package/dist/workspace-control-event.js.map +1 -0
- package/dist/workspace-governance-context.d.ts +18 -0
- package/dist/workspace-integration-wire.d.ts +1 -1
- package/dist/workspace-integration-wire.js +1 -1
- package/dist/workspace-integrations.d.ts +212 -12
- package/dist/xai-provider-account-authority.js +3 -1
- package/package.json +121 -4
- package/src/agent-authored-durable-text.ts +14 -11
- package/src/agent-config.ts +382 -203
- package/src/agent-instruction-changes.ts +94 -74
- package/src/agent-learning.ts +94 -66
- package/src/agent-topology.ts +58 -52
- package/src/api-key-presets.ts +28 -0
- package/src/app-action-catalog-types.ts +32 -0
- package/src/app-action-catalog.gen.ts +9905 -0
- package/src/app-actions.ts +365 -0
- package/src/app-shot.ts +176 -0
- package/src/artifact-catalog.ts +81 -46
- package/src/artifacts.ts +360 -227
- package/src/atlassian-native-retirement.ts +33 -0
- package/src/atlassian.ts +136 -108
- package/src/automation-templates.ts +201 -0
- package/src/billing-subscriptions.ts +48 -0
- package/src/bots.ts +238 -0
- package/src/bundled-skills.ts +79 -22
- package/src/canonical-human-identities.ts +65 -62
- package/src/child-lifecycle-notice-protocol.gen.json +1310 -0
- package/src/child-lifecycle-notice-protocol.ts +224 -0
- package/src/claude-provider-account-authority.ts +12 -0
- package/src/claude-subscription-oauth.ts +61 -19
- package/src/claude-subscription-usage.ts +64 -35
- package/src/client-error-report.ts +344 -9
- package/src/code-search.ts +1 -1
- package/src/codex-provider-account-authority.ts +22 -16
- package/src/company-brain-governed-writes.ts +265 -244
- package/src/company-brain.ts +165 -154
- package/src/company-profile.ts +362 -297
- package/src/connect.ts +222 -173
- package/src/connection-account-label.ts +45 -0
- package/src/connection-authority.ts +172 -152
- package/src/connector-attachments.ts +139 -123
- package/src/connector-destinations.ts +48 -43
- package/src/connector-tool-permissions.ts +104 -46
- package/src/credential-profiles.ts +161 -0
- package/src/cua-desktop-tools.gen.json +6722 -0
- package/src/cua-desktop-tools.linux.gen.json +6798 -0
- package/src/cua-desktop-tools.ts +42 -0
- package/src/cua-desktop-tools.windows.gen.json +6739 -0
- package/src/define-schema.ts +10 -0
- package/src/desktop-app.ts +50 -0
- package/src/direct-model-provider.ts +112 -0
- package/src/editable-artifact-binary.ts +29 -8
- package/src/editable-artifact-committed-transaction.ts +19 -18
- package/src/editable-artifact-serialized-commit.ts +8 -2
- package/src/editable-artifact-versions.ts +7 -1
- package/src/event-preview.ts +53 -3
- package/src/event-triggers.ts +891 -0
- package/src/external-identities.ts +239 -195
- package/src/feedback.ts +125 -30
- package/src/file-access.ts +26 -0
- package/src/first-party-tool-authorization.ts +383 -0
- package/src/github-repository-contracts.ts +78 -64
- package/src/google-drive-native-retirement.ts +20 -0
- package/src/google-drive.ts +286 -234
- package/src/governed-learning-activation.ts +159 -137
- package/src/governed-learning-evaluator.ts +141 -133
- package/src/host-mcp-bindings.ts +244 -221
- package/src/image-generation.ts +105 -95
- package/src/index.ts +13928 -9899
- package/src/inference-residency.ts +36 -0
- package/src/insights-usage.ts +774 -0
- package/src/integration-capability-id.ts +16 -0
- package/src/interaction-action-deadline.ts +143 -0
- package/src/interaction-driver-diagnostic.ts +89 -0
- package/src/interaction.ts +3527 -2427
- package/src/knowledge-entries.ts +386 -299
- package/src/knowledge-preparation.ts +49 -41
- package/src/knowledge.ts +242 -213
- package/src/learning-refusal.ts +90 -0
- package/src/managed-auth-session-sets.ts +180 -133
- package/src/managed-sign-in-methods.ts +156 -34
- package/src/mcp-oauth.ts +58 -46
- package/src/mcp-receipts.ts +199 -194
- package/src/mcp-structured-content.ts +81 -0
- package/src/memory-slack-delivery.ts +172 -142
- package/src/message-time-zone.ts +109 -0
- package/src/modal-native-proof-v2.ts +430 -0
- package/src/model-account-choice.ts +178 -0
- package/src/model-account-settings.ts +210 -0
- package/src/model-availability.ts +22 -0
- package/src/model-connection-access.ts +62 -14
- package/src/model-context-inspector.ts +130 -109
- package/src/model-display.ts +221 -0
- package/src/model-picker-order.ts +1 -1
- package/src/model-residency.ts +535 -0
- package/src/organization-access.ts +216 -0
- package/src/organization-integration-policy.ts +47 -28
- package/src/organization-membership-lifecycle.ts +558 -384
- package/src/organization-model-usage.ts +82 -0
- package/src/organization-recovery.ts +148 -135
- package/src/organization-usage.ts +84 -52
- package/src/passkey-only-account.ts +29 -0
- package/src/permissions.ts +94 -52
- package/src/personal-github.ts +211 -171
- package/src/personal-integration-setup.ts +150 -0
- package/src/preference-registry.ts +319 -263
- package/src/prepared-mcp-setup.ts +190 -0
- package/src/primitives.ts +22 -0
- package/src/product-analytics.ts +40 -15
- package/src/product-lifecycle-facts.ts +50 -20
- package/src/prompt-cache-diagnostics.ts +212 -0
- package/src/recordings.ts +1153 -0
- package/src/remember.ts +184 -172
- package/src/retained-output.ts +181 -168
- package/src/sandbox-file-artifacts.ts +78 -57
- package/src/sandbox-provider-command.ts +55 -72
- package/src/sandbox-recovery.ts +163 -77
- package/src/scoped-knowledge.ts +62 -43
- package/src/secret-generator.ts +156 -0
- package/src/secret-mask-strings.ts +175 -0
- package/src/secret-references.ts +414 -0
- package/src/secret-resolution.ts +322 -0
- package/src/secret-shape-masking.ts +573 -0
- package/src/secret-totp.ts +188 -0
- package/src/secret-use-approval-question.ts +22 -0
- package/src/secret-use-approvals.ts +219 -0
- package/src/secret-value-masking.ts +1283 -0
- package/src/secret-value.ts +22 -0
- package/src/session-goal-reports.ts +55 -49
- package/src/session-history-import.ts +84 -68
- package/src/session-history.ts +197 -0
- package/src/session-list-entries.ts +106 -0
- package/src/session-mcp-projections.ts +21 -3
- package/src/session-mcp-tool-permissions.ts +109 -0
- package/src/session-message-search.ts +46 -38
- package/src/session-target.ts +58 -0
- package/src/session-titles.ts +40 -4
- package/src/session-topology-primitives.ts +20 -12
- package/src/session-usage-limit-refusal.ts +101 -0
- package/src/session-usage-limits.ts +169 -0
- package/src/signup-attribution.ts +20 -15
- package/src/site-data.ts +337 -0
- package/src/site-operations.ts +154 -0
- package/src/site-publishing.ts +903 -0
- package/src/site-session-http.ts +344 -16
- package/src/site-sql.ts +1120 -0
- package/src/skill-use.ts +18 -17
- package/src/skills.ts +105 -50
- package/src/slack-bot-scopes.ts +18 -35
- package/src/slack-rest-mcp.ts +222 -0
- package/src/slack-task-policy.ts +97 -73
- package/src/spreadsheet-artifact-commands.ts +74 -13
- package/src/spreadsheet-artifact-query.ts +188 -50
- package/src/subscription-account-actions.ts +103 -0
- package/src/subscription-account-pools.ts +74 -0
- package/src/subscription-personal-authority-v2.ts +69 -0
- package/src/subscription-plans.ts +51 -0
- package/src/subscription-usage-pool.ts +44 -0
- package/src/task-notes.ts +70 -68
- package/src/tool-action-review.ts +271 -0
- package/src/tool-catalog.ts +694 -379
- package/src/tool-policy.ts +82 -0
- package/src/tool-result-spill.ts +13 -9
- package/src/tool-review-presentation.ts +643 -0
- package/src/turn-serving-policy.ts +167 -0
- package/src/usage-allowances.ts +212 -136
- package/src/values.ts +25 -0
- package/src/vault-provider-wire.ts +580 -0
- package/src/vaults.ts +1296 -0
- package/src/video-generation.ts +430 -361
- package/src/work-claims.ts +183 -166
- package/src/workspace-control-event.ts +134 -0
- package/src/workspace-governance-context.ts +63 -0
- package/src/workspace-instruction-policies.ts +346 -279
- package/src/workspace-integration-wire.ts +10 -0
- package/src/workspace-integrations.ts +488 -398
- package/src/workspace-learning-administration.ts +58 -44
- package/src/workspace-learning-policy.ts +126 -99
- package/src/workspace-state.ts +239 -220
- package/src/xai-provider-account-authority.ts +23 -17
- package/dist/chunk-3SIZGL3O.js.map +0 -1
- package/dist/chunk-566IFOVP.js +0 -26133
- package/dist/chunk-566IFOVP.js.map +0 -1
- package/dist/chunk-5IXYF6XN.js +0 -728
- package/dist/chunk-5IXYF6XN.js.map +0 -1
- package/dist/chunk-5Q54VCCH.js.map +0 -1
- package/dist/chunk-BCS7WHCK.js +0 -139
- package/dist/chunk-BCS7WHCK.js.map +0 -1
- package/dist/chunk-EK7NDGFR.js +0 -128
- package/dist/chunk-EK7NDGFR.js.map +0 -1
- package/dist/chunk-GRG7PHWQ.js +0 -25
- package/dist/chunk-GRG7PHWQ.js.map +0 -1
- package/dist/chunk-HHZSZYYF.js.map +0 -1
- package/dist/chunk-ICDZGUX2.js +0 -186
- package/dist/chunk-ICDZGUX2.js.map +0 -1
- package/dist/chunk-JUFK3T4Q.js +0 -80
- package/dist/chunk-JUFK3T4Q.js.map +0 -1
- package/dist/chunk-MYBZRDTY.js.map +0 -1
- package/dist/chunk-NRMCVHAU.js.map +0 -1
- package/dist/chunk-O77VSFYZ.js.map +0 -1
- package/dist/chunk-P3HLDT77.js +0 -59
- package/dist/chunk-P3HLDT77.js.map +0 -1
- package/dist/chunk-TXTQIYCV.js.map +0 -1
- package/dist/chunk-WYBDERIY.js.map +0 -1
- package/dist/chunk-Y3KNXVTD.js.map +0 -1
- package/dist/chunk-YBW5JSA3.js.map +0 -1
- package/dist/chunk-YRXAWWCU.js +0 -45
- package/dist/chunk-YRXAWWCU.js.map +0 -1
- package/dist/chunk-YWMOIZ6A.js +0 -185
- package/dist/chunk-YWMOIZ6A.js.map +0 -1
- package/dist/site-request-headers.test.d.ts +0 -1
- package/dist/transcription-recordings.d.ts +0 -300
- package/src/transcription-recordings.ts +0 -169
- /package/dist/{chunk-SIOU2K4U.js.map → chunk-LJH2EYGT.js.map} +0 -0
- /package/dist/{chunk-RIY7GYQS.js.map → chunk-PTSROVDG.js.map} +0 -0
- /package/dist/{chunk-YRKRZ6OF.js.map → chunk-TOOJIBJC.js.map} +0 -0
- /package/dist/{chunk-D2HKF2EF.js.map → chunk-XP5M3IKT.js.map} +0 -0
package/src/retained-output.ts
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import * as primitives from "./primitives";
|
|
2
|
+
import { defineSchema } from "./define-schema";
|
|
1
3
|
import { z } from "zod";
|
|
2
4
|
|
|
3
5
|
/** Hard server-side ceiling for one retained-output response body. */
|
|
@@ -13,8 +15,6 @@ export const COMPUTER_SCREENSHOT_MAX_DIMENSION = 16_384;
|
|
|
13
15
|
export const COMPUTER_SCREENSHOT_MAX_PIXELS = 67_108_864;
|
|
14
16
|
/** Canonical ready-object retention window: 30 days from successful settlement. */
|
|
15
17
|
export const COMPUTER_SCREENSHOT_RETENTION_MS = 30 * 24 * 60 * 60 * 1_000;
|
|
16
|
-
/** Hard workspace reservation across pending + ready screenshot artifacts. */
|
|
17
|
-
export const COMPUTER_SCREENSHOT_WORKSPACE_QUOTA_BYTES = 5 * 1024 * 1024 * 1024;
|
|
18
18
|
/** Generated images are permanent workspace files, never inline history blobs. */
|
|
19
19
|
export const GENERATED_IMAGE_MAX_BYTES = 64 * 1024 * 1024;
|
|
20
20
|
/** Generated videos are permanent workspace files and are always streamed. */
|
|
@@ -29,183 +29,193 @@ const WORKSPACE_RETRIEVAL_PATH =
|
|
|
29
29
|
const SESSION_RETRIEVAL_PATH =
|
|
30
30
|
/^\/v1\/workspaces\/([0-9a-f-]+)\/sessions\/([0-9a-f-]+)\/artifacts\/([0-9a-f-]+)\/content$/;
|
|
31
31
|
|
|
32
|
-
export const RetainedOutputKind =
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
32
|
+
export const RetainedOutputKind = /* @__PURE__ */ defineSchema(() =>
|
|
33
|
+
z.enum([
|
|
34
|
+
"tool_result",
|
|
35
|
+
"assistant_completion",
|
|
36
|
+
"internal_update",
|
|
37
|
+
"event_media",
|
|
38
|
+
"computer_screenshot",
|
|
39
|
+
"browser_screenshot",
|
|
40
|
+
"generated_image",
|
|
41
|
+
"generated_video",
|
|
42
|
+
"file",
|
|
43
|
+
]),
|
|
44
|
+
);
|
|
43
45
|
export type RetainedOutputKind = z.infer<typeof RetainedOutputKind>;
|
|
44
46
|
|
|
45
|
-
export const RetainedOutputUnavailableReason =
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
47
|
+
export const RetainedOutputUnavailableReason = /* @__PURE__ */ defineSchema(() =>
|
|
48
|
+
z.enum([
|
|
49
|
+
"not_retained",
|
|
50
|
+
"pending",
|
|
51
|
+
"failed",
|
|
52
|
+
"expired",
|
|
53
|
+
"deleted",
|
|
54
|
+
"missing_storage",
|
|
55
|
+
"storage_write_failed",
|
|
56
|
+
"quota_exceeded",
|
|
57
|
+
"invalid_content",
|
|
58
|
+
"oversized",
|
|
59
|
+
"unsupported",
|
|
60
|
+
// The file exists but is Only me for someone else. Never says whose.
|
|
61
|
+
"private",
|
|
62
|
+
]),
|
|
63
|
+
);
|
|
58
64
|
export type RetainedOutputUnavailableReason = z.infer<typeof RetainedOutputUnavailableReason>;
|
|
59
65
|
|
|
60
|
-
const RetainedOutputUnavailableEvidenceSchema =
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
.
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
})
|
|
81
|
-
.strict()
|
|
82
|
-
.optional(),
|
|
83
|
-
retention: z.union([
|
|
84
|
-
z
|
|
66
|
+
const RetainedOutputUnavailableEvidenceSchema = /* @__PURE__ */ defineSchema(() =>
|
|
67
|
+
z
|
|
68
|
+
.object({
|
|
69
|
+
available: z.literal(false),
|
|
70
|
+
reason: RetainedOutputUnavailableReason,
|
|
71
|
+
})
|
|
72
|
+
.strict(),
|
|
73
|
+
);
|
|
74
|
+
|
|
75
|
+
export const RetainedArtifactReferenceSchema = /* @__PURE__ */ defineSchema(() =>
|
|
76
|
+
z
|
|
77
|
+
.object({
|
|
78
|
+
available: z.literal(true),
|
|
79
|
+
artifactId: primitives.string.regex(LOWERCASE_UUID),
|
|
80
|
+
kind: RetainedOutputKind,
|
|
81
|
+
contentType: z.string().max(127).regex(CANONICAL_MEDIA_TYPE),
|
|
82
|
+
originalBytes: primitives.nonnegativeInteger.safe(),
|
|
83
|
+
sha256: primitives.string.regex(LOWERCASE_SHA256),
|
|
84
|
+
retainedAt: primitives.string.datetime({ offset: true }),
|
|
85
|
+
dimensions: z
|
|
85
86
|
.object({
|
|
86
|
-
|
|
87
|
-
|
|
87
|
+
width: primitives.positiveInteger.max(COMPUTER_SCREENSHOT_MAX_DIMENSION),
|
|
88
|
+
height: primitives.positiveInteger.max(COMPUTER_SCREENSHOT_MAX_DIMENSION),
|
|
88
89
|
})
|
|
89
|
-
.strict()
|
|
90
|
-
|
|
90
|
+
.strict()
|
|
91
|
+
.optional(),
|
|
92
|
+
retention: z.union([
|
|
93
|
+
z
|
|
94
|
+
.object({
|
|
95
|
+
policy: z.literal("workspace_file"),
|
|
96
|
+
expiresAt: z.null(),
|
|
97
|
+
})
|
|
98
|
+
.strict(),
|
|
99
|
+
z
|
|
100
|
+
.object({
|
|
101
|
+
policy: z.literal("session_screenshot"),
|
|
102
|
+
expiresAt: primitives.string.datetime({ offset: true }),
|
|
103
|
+
})
|
|
104
|
+
.strict(),
|
|
105
|
+
]),
|
|
106
|
+
retrieval: z
|
|
91
107
|
.object({
|
|
92
|
-
|
|
93
|
-
|
|
108
|
+
method: z.literal("GET"),
|
|
109
|
+
path: z.string().max(256),
|
|
110
|
+
acceptRanges: z.literal("bytes"),
|
|
111
|
+
maxRangeBytes: primitives.positiveInteger.max(RETAINED_OUTPUT_MAX_PAGE_BYTES),
|
|
94
112
|
})
|
|
95
113
|
.strict(),
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
const sessionMatch = SESSION_RETRIEVAL_PATH.exec(value.retrieval.path);
|
|
110
|
-
const workspaceId = workspaceMatch?.[1] ?? sessionMatch?.[1];
|
|
111
|
-
const sessionId = sessionMatch?.[2];
|
|
112
|
-
const artifactId = workspaceMatch?.[2] ?? sessionMatch?.[3];
|
|
113
|
-
if (
|
|
114
|
-
!workspaceId ||
|
|
115
|
-
!LOWERCASE_UUID.test(workspaceId) ||
|
|
116
|
-
(sessionId !== undefined && !LOWERCASE_UUID.test(sessionId)) ||
|
|
117
|
-
artifactId !== value.artifactId
|
|
118
|
-
) {
|
|
119
|
-
ctx.addIssue({
|
|
120
|
-
code: "custom",
|
|
121
|
-
path: ["retrieval", "path"],
|
|
122
|
-
message: "retrieval path must be a workspace/session API content path for this artifact",
|
|
123
|
-
});
|
|
124
|
-
}
|
|
125
|
-
|
|
126
|
-
if (
|
|
127
|
-
value.kind === "computer_screenshot" ||
|
|
128
|
-
value.kind === "browser_screenshot" ||
|
|
129
|
-
value.kind === "generated_image" ||
|
|
130
|
-
value.kind === "generated_video"
|
|
131
|
-
) {
|
|
132
|
-
if (!value.dimensions) {
|
|
133
|
-
ctx.addIssue({
|
|
134
|
-
code: "custom",
|
|
135
|
-
path: ["dimensions"],
|
|
136
|
-
message: `${value.kind} receipts require exact dimensions`,
|
|
137
|
-
});
|
|
138
|
-
} else if (
|
|
139
|
-
value.dimensions.width * value.dimensions.height >
|
|
140
|
-
COMPUTER_SCREENSHOT_MAX_PIXELS
|
|
114
|
+
})
|
|
115
|
+
.strict()
|
|
116
|
+
.superRefine((value, ctx) => {
|
|
117
|
+
const workspaceMatch = WORKSPACE_RETRIEVAL_PATH.exec(value.retrieval.path);
|
|
118
|
+
const sessionMatch = SESSION_RETRIEVAL_PATH.exec(value.retrieval.path);
|
|
119
|
+
const workspaceId = workspaceMatch?.[1] ?? sessionMatch?.[1];
|
|
120
|
+
const sessionId = sessionMatch?.[2];
|
|
121
|
+
const artifactId = workspaceMatch?.[2] ?? sessionMatch?.[3];
|
|
122
|
+
if (
|
|
123
|
+
!workspaceId ||
|
|
124
|
+
!LOWERCASE_UUID.test(workspaceId) ||
|
|
125
|
+
(sessionId !== undefined && !LOWERCASE_UUID.test(sessionId)) ||
|
|
126
|
+
artifactId !== value.artifactId
|
|
141
127
|
) {
|
|
142
128
|
ctx.addIssue({
|
|
143
129
|
code: "custom",
|
|
144
|
-
path: ["
|
|
145
|
-
message:
|
|
130
|
+
path: ["retrieval", "path"],
|
|
131
|
+
message: "retrieval path must be a workspace/session API content path for this artifact",
|
|
146
132
|
});
|
|
147
133
|
}
|
|
148
|
-
}
|
|
149
134
|
|
|
150
|
-
if (value.kind === "generated_image") {
|
|
151
|
-
if (value.retention.policy !== "workspace_file" || !workspaceMatch || sessionMatch) {
|
|
152
|
-
ctx.addIssue({
|
|
153
|
-
code: "custom",
|
|
154
|
-
path: ["retention"],
|
|
155
|
-
message: "generated images require permanent workspace-file retrieval",
|
|
156
|
-
});
|
|
157
|
-
}
|
|
158
135
|
if (
|
|
159
|
-
|
|
160
|
-
value.
|
|
161
|
-
value.
|
|
136
|
+
value.kind === "computer_screenshot" ||
|
|
137
|
+
value.kind === "browser_screenshot" ||
|
|
138
|
+
value.kind === "generated_image" ||
|
|
139
|
+
value.kind === "generated_video"
|
|
162
140
|
) {
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
141
|
+
if (!value.dimensions) {
|
|
142
|
+
ctx.addIssue({
|
|
143
|
+
code: "custom",
|
|
144
|
+
path: ["dimensions"],
|
|
145
|
+
message: `${value.kind} receipts require exact dimensions`,
|
|
146
|
+
});
|
|
147
|
+
} else if (
|
|
148
|
+
value.dimensions.width * value.dimensions.height >
|
|
149
|
+
COMPUTER_SCREENSHOT_MAX_PIXELS
|
|
150
|
+
) {
|
|
151
|
+
ctx.addIssue({
|
|
152
|
+
code: "custom",
|
|
153
|
+
path: ["dimensions"],
|
|
154
|
+
message: `${value.kind} dimensions exceed the pixel limit`,
|
|
155
|
+
});
|
|
156
|
+
}
|
|
168
157
|
}
|
|
169
|
-
}
|
|
170
158
|
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
159
|
+
if (value.kind === "generated_image") {
|
|
160
|
+
if (value.retention.policy !== "workspace_file" || !workspaceMatch || sessionMatch) {
|
|
161
|
+
ctx.addIssue({
|
|
162
|
+
code: "custom",
|
|
163
|
+
path: ["retention"],
|
|
164
|
+
message: "generated images require permanent workspace-file retrieval",
|
|
165
|
+
});
|
|
166
|
+
}
|
|
167
|
+
if (
|
|
168
|
+
!["image/png", "image/jpeg", "image/webp"].includes(value.contentType) ||
|
|
169
|
+
value.originalBytes <= 0 ||
|
|
170
|
+
value.originalBytes > GENERATED_IMAGE_MAX_BYTES
|
|
171
|
+
) {
|
|
172
|
+
ctx.addIssue({
|
|
173
|
+
code: "custom",
|
|
174
|
+
path: ["contentType"],
|
|
175
|
+
message: "generated image media metadata is invalid",
|
|
176
|
+
});
|
|
177
|
+
}
|
|
178
178
|
}
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
value.
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
179
|
+
|
|
180
|
+
if (value.kind === "generated_video") {
|
|
181
|
+
if (value.retention.policy !== "workspace_file" || !workspaceMatch || sessionMatch) {
|
|
182
|
+
ctx.addIssue({
|
|
183
|
+
code: "custom",
|
|
184
|
+
path: ["retention"],
|
|
185
|
+
message: "generated videos require permanent workspace-file retrieval",
|
|
186
|
+
});
|
|
187
|
+
}
|
|
188
|
+
if (
|
|
189
|
+
value.contentType !== "video/mp4" ||
|
|
190
|
+
value.originalBytes <= 0 ||
|
|
191
|
+
value.originalBytes > GENERATED_VIDEO_MAX_BYTES
|
|
192
|
+
) {
|
|
193
|
+
ctx.addIssue({
|
|
194
|
+
code: "custom",
|
|
195
|
+
path: ["contentType"],
|
|
196
|
+
message: "generated video media metadata is invalid",
|
|
197
|
+
});
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
|
|
201
|
+
if (value.kind === "computer_screenshot" || value.kind === "browser_screenshot") {
|
|
202
|
+
if (value.retention.policy !== "session_screenshot" || !sessionMatch) {
|
|
203
|
+
ctx.addIssue({
|
|
204
|
+
code: "custom",
|
|
205
|
+
path: ["retention"],
|
|
206
|
+
message: "session screenshots require session-scoped expiring retrieval",
|
|
207
|
+
});
|
|
208
|
+
}
|
|
189
209
|
}
|
|
190
|
-
}
|
|
191
210
|
|
|
192
|
-
|
|
193
|
-
if (value.retention.policy !== "session_screenshot" || !sessionMatch) {
|
|
211
|
+
if (encoder.encode(JSON.stringify(value)).byteLength > RETAINED_OUTPUT_RECEIPT_MAX_BYTES) {
|
|
194
212
|
ctx.addIssue({
|
|
195
213
|
code: "custom",
|
|
196
|
-
|
|
197
|
-
message: "session screenshots require session-scoped expiring retrieval",
|
|
214
|
+
message: "retained-output receipt exceeds its byte envelope",
|
|
198
215
|
});
|
|
199
216
|
}
|
|
200
|
-
}
|
|
201
|
-
|
|
202
|
-
if (encoder.encode(JSON.stringify(value)).byteLength > RETAINED_OUTPUT_RECEIPT_MAX_BYTES) {
|
|
203
|
-
ctx.addIssue({
|
|
204
|
-
code: "custom",
|
|
205
|
-
message: "retained-output receipt exceeds its byte envelope",
|
|
206
|
-
});
|
|
207
|
-
}
|
|
208
|
-
});
|
|
217
|
+
}),
|
|
218
|
+
);
|
|
209
219
|
|
|
210
220
|
/**
|
|
211
221
|
* Canonical evidence fact carried by bounded audit/NATS/SSE/UI previews.
|
|
@@ -214,29 +224,32 @@ export const RetainedArtifactReferenceSchema = z
|
|
|
214
224
|
* object key, signed URL, arbitrary metadata, or producer-controlled labels can
|
|
215
225
|
* cross this boundary.
|
|
216
226
|
*/
|
|
217
|
-
export const RetainedOutputEvidenceSchema =
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
227
|
+
export const RetainedOutputEvidenceSchema = /* @__PURE__ */ defineSchema(() =>
|
|
228
|
+
z.discriminatedUnion("available", [
|
|
229
|
+
RetainedOutputUnavailableEvidenceSchema,
|
|
230
|
+
RetainedArtifactReferenceSchema,
|
|
231
|
+
]),
|
|
232
|
+
);
|
|
221
233
|
export type RetainedOutputEvidence = z.infer<typeof RetainedOutputEvidenceSchema>;
|
|
222
234
|
export type RetainedArtifactReference = z.infer<typeof RetainedArtifactReferenceSchema>;
|
|
223
235
|
/** @deprecated use RetainedArtifactReference. */
|
|
224
236
|
export type RetainedOutputAvailableEvidence = RetainedArtifactReference;
|
|
225
237
|
|
|
226
|
-
export const RetainedArtifactUnavailableSchema =
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
238
|
+
export const RetainedArtifactUnavailableSchema = /* @__PURE__ */ defineSchema(() =>
|
|
239
|
+
z
|
|
240
|
+
.object({
|
|
241
|
+
available: z.literal(false),
|
|
242
|
+
artifactId: primitives.string.regex(LOWERCASE_UUID),
|
|
243
|
+
reason: RetainedOutputUnavailableReason,
|
|
244
|
+
})
|
|
245
|
+
.strict(),
|
|
246
|
+
);
|
|
233
247
|
export type RetainedArtifactUnavailable = z.infer<typeof RetainedArtifactUnavailableSchema>;
|
|
234
248
|
|
|
235
249
|
/** Authenticated metadata result for one opaque workspace file identity. */
|
|
236
|
-
export const RetainedArtifactMetadataSchema =
|
|
237
|
-
RetainedArtifactReferenceSchema,
|
|
238
|
-
|
|
239
|
-
]);
|
|
250
|
+
export const RetainedArtifactMetadataSchema = /* @__PURE__ */ defineSchema(() =>
|
|
251
|
+
z.union([RetainedArtifactReferenceSchema, RetainedArtifactUnavailableSchema]),
|
|
252
|
+
);
|
|
240
253
|
export type RetainedArtifactMetadata = z.infer<typeof RetainedArtifactMetadataSchema>;
|
|
241
254
|
|
|
242
255
|
export type RetainedArtifactFileInput = {
|
|
@@ -1,73 +1,94 @@
|
|
|
1
|
+
import { defineSchema } from "./define-schema";
|
|
1
2
|
import { z } from "zod";
|
|
2
3
|
|
|
3
4
|
import { RetainedArtifactReferenceSchema } from "./retained-output";
|
|
5
|
+
import { WorkspaceArtifactVisibility } from "./artifacts";
|
|
6
|
+
import { FileAccess } from "./file-access";
|
|
4
7
|
|
|
5
8
|
/**
|
|
6
|
-
*
|
|
9
|
+
* Largest publishable sandbox file: one object-storage PUT. Files up to
|
|
10
|
+
* SANDBOX_FILE_ARTIFACT_INLINE_MAX_BYTES are read through Channel-A; larger
|
|
11
|
+
* files are hashed and uploaded by the box itself.
|
|
12
|
+
*/
|
|
13
|
+
export const SANDBOX_FILE_ARTIFACT_MAX_BYTES = 5_000_000_000;
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* Channel-A returns one bounded binary-safe read. Keep inline publication
|
|
7
17
|
* below that ceiling so an extra sentinel byte can distinguish an exact file
|
|
8
18
|
* from a truncated prefix.
|
|
9
19
|
*/
|
|
10
|
-
export const
|
|
20
|
+
export const SANDBOX_FILE_ARTIFACT_INLINE_MAX_BYTES = 25 * 1024 * 1024 - 1;
|
|
11
21
|
|
|
12
|
-
export const PublishSandboxFileArtifactRequest =
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
22
|
+
export const PublishSandboxFileArtifactRequest = /* @__PURE__ */ defineSchema(() =>
|
|
23
|
+
z
|
|
24
|
+
.object({
|
|
25
|
+
path: z.string().min(1).max(4_096),
|
|
26
|
+
/**
|
|
27
|
+
* Who can open the published file. Omitted: the chat's own audience
|
|
28
|
+
* (Only me in an Only me chat, else the workspace).
|
|
29
|
+
*/
|
|
30
|
+
visibility: WorkspaceArtifactVisibility.optional(),
|
|
31
|
+
})
|
|
32
|
+
.strict(),
|
|
33
|
+
);
|
|
17
34
|
export type PublishSandboxFileArtifactRequest = z.infer<typeof PublishSandboxFileArtifactRequest>;
|
|
18
35
|
|
|
19
36
|
/**
|
|
20
37
|
* Closed model/UI receipt for one exact sandbox-file publication. Storage
|
|
21
38
|
* locators and signed URLs never cross this boundary.
|
|
22
39
|
*/
|
|
23
|
-
export const SandboxFileArtifactReceipt =
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
40
|
+
export const SandboxFileArtifactReceipt = /* @__PURE__ */ defineSchema(() =>
|
|
41
|
+
z
|
|
42
|
+
.object({
|
|
43
|
+
type: z.literal("sandbox_file"),
|
|
44
|
+
sandboxPath: z.string().min(1).max(4_096),
|
|
45
|
+
filename: z.string().min(1).max(1_024),
|
|
46
|
+
artifact: RetainedArtifactReferenceSchema,
|
|
47
|
+
/** Who can open the file. Absent from receipts made before files had audiences. */
|
|
48
|
+
access: FileAccess.optional(),
|
|
49
|
+
})
|
|
50
|
+
.strict()
|
|
51
|
+
.superRefine((value, context) => {
|
|
52
|
+
const pathSegments = value.sandboxPath.split("/");
|
|
53
|
+
// This is a receipt, not read authority. The publisher confines the path
|
|
54
|
+
// against its resolved provider root; receipts preserve that native path.
|
|
55
|
+
const unc = value.sandboxPath.startsWith("//");
|
|
56
|
+
const absolute = unc
|
|
57
|
+
? /^\/\/[^/]+\/[^/]+\/.+/u.test(value.sandboxPath) && !value.sandboxPath.startsWith("//?/")
|
|
58
|
+
: value.sandboxPath.startsWith("/") || /^[A-Z]:\//u.test(value.sandboxPath);
|
|
59
|
+
if (
|
|
60
|
+
!absolute ||
|
|
61
|
+
/[\\\u0000-\u001f\u007f]/u.test(value.sandboxPath) ||
|
|
62
|
+
pathSegments.some(
|
|
63
|
+
(segment, index) =>
|
|
64
|
+
index >= (unc ? 2 : 1) && (!segment || segment === "." || segment === ".."),
|
|
65
|
+
) ||
|
|
66
|
+
pathSegments.at(-1) !== value.filename
|
|
67
|
+
) {
|
|
68
|
+
context.addIssue({
|
|
69
|
+
code: "custom",
|
|
70
|
+
path: ["sandboxPath"],
|
|
71
|
+
message:
|
|
72
|
+
"sandbox path must canonically identify the published filename at an absolute host path",
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
if (value.artifact.kind !== "file" || value.artifact.retention.policy !== "workspace_file") {
|
|
76
|
+
context.addIssue({
|
|
77
|
+
code: "custom",
|
|
78
|
+
path: ["artifact"],
|
|
79
|
+
message: "sandbox files require a permanent workspace-file artifact",
|
|
80
|
+
});
|
|
81
|
+
}
|
|
82
|
+
if (
|
|
83
|
+
value.artifact.originalBytes < 1 ||
|
|
84
|
+
value.artifact.originalBytes > SANDBOX_FILE_ARTIFACT_MAX_BYTES
|
|
85
|
+
) {
|
|
86
|
+
context.addIssue({
|
|
87
|
+
code: "custom",
|
|
88
|
+
path: ["artifact", "originalBytes"],
|
|
89
|
+
message: "sandbox file size is outside the publication byte limit",
|
|
90
|
+
});
|
|
91
|
+
}
|
|
92
|
+
}),
|
|
93
|
+
);
|
|
73
94
|
export type SandboxFileArtifactReceipt = z.infer<typeof SandboxFileArtifactReceipt>;
|