@opengeni/contracts 3.1.0-canary.1 → 3.1.2
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 +971 -0
- package/dist/agent-instruction-changes.d.ts +110 -0
- package/dist/agent-learning.d.ts +243 -0
- package/dist/allowance-refusal.d.ts +9 -0
- package/dist/allowance-refusal.js +50 -0
- package/dist/allowance-refusal.js.map +1 -0
- package/dist/analytics-consent-report.d.ts +19 -0
- package/dist/analytics-consent-report.js +10 -0
- package/dist/analytics-consent-report.js.map +1 -0
- package/dist/api-key-presets.d.ts +19 -0
- package/dist/artifact-catalog.d.ts +188 -0
- package/dist/artifacts.d.ts +86 -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.d.ts +1 -0
- package/dist/atlassian.js +34 -19
- package/dist/browser-storage.d.ts +5 -0
- package/dist/browser-storage.js +9 -0
- package/dist/browser-storage.js.map +1 -0
- package/dist/bundled-skills.d.ts +24 -1
- package/dist/canonical-human-identities.js +2 -1
- package/dist/chunk-2ZIHHL72.js +153 -0
- package/dist/chunk-2ZIHHL72.js.map +1 -0
- package/dist/{chunk-5LYFSZ7O.js → chunk-352X6ENP.js} +31 -31
- package/dist/chunk-4JGHSSB7.js +11 -0
- package/dist/chunk-4JGHSSB7.js.map +1 -0
- package/dist/chunk-4QO6GJUX.js +85 -0
- package/dist/chunk-4QO6GJUX.js.map +1 -0
- package/dist/chunk-4VDMHLLL.js +49 -0
- package/dist/chunk-4VDMHLLL.js.map +1 -0
- package/dist/chunk-56SNIMDO.js +9 -0
- package/dist/chunk-56SNIMDO.js.map +1 -0
- package/dist/chunk-6C2HKFTU.js +207 -0
- package/dist/chunk-6C2HKFTU.js.map +1 -0
- package/dist/chunk-6IXO76Z6.js +72 -0
- package/dist/chunk-6IXO76Z6.js.map +1 -0
- package/dist/chunk-7272KVWZ.js +60 -0
- package/dist/chunk-7272KVWZ.js.map +1 -0
- package/dist/{chunk-7ABONTXE.js → chunk-E3GGUBHS.js} +49 -5
- package/dist/chunk-E3GGUBHS.js.map +1 -0
- package/dist/chunk-EFZYKUE2.js +767 -0
- package/dist/chunk-EFZYKUE2.js.map +1 -0
- package/dist/chunk-EKWNTOG3.js +154 -0
- package/dist/chunk-EKWNTOG3.js.map +1 -0
- package/dist/chunk-HABQ7ADB.js +234 -0
- package/dist/chunk-HABQ7ADB.js.map +1 -0
- package/dist/chunk-HRRU4QPI.js +91 -0
- package/dist/chunk-HRRU4QPI.js.map +1 -0
- package/dist/{chunk-3SIZGL3O.js → chunk-IK36LXKC.js} +18 -2
- package/dist/chunk-IK36LXKC.js.map +1 -0
- package/dist/{chunk-TXTQIYCV.js → chunk-ILJ72KPO.js} +56 -3
- package/dist/chunk-ILJ72KPO.js.map +1 -0
- package/dist/chunk-J4HQ3UKY.js +93 -0
- package/dist/chunk-J4HQ3UKY.js.map +1 -0
- package/dist/chunk-KHHZTBP7.js +11 -0
- package/dist/chunk-KHHZTBP7.js.map +1 -0
- package/dist/{chunk-WYBDERIY.js → chunk-LZ2LAHIX.js} +47 -41
- package/dist/chunk-LZ2LAHIX.js.map +1 -0
- package/dist/chunk-NDZHPTCL.js +400 -0
- package/dist/chunk-NDZHPTCL.js.map +1 -0
- package/dist/chunk-OF6OKOBF.js +54793 -0
- package/dist/chunk-OF6OKOBF.js.map +1 -0
- package/dist/chunk-OL23ARTF.js +94 -0
- package/dist/chunk-OL23ARTF.js.map +1 -0
- package/dist/chunk-PUIUXIOL.js +189 -0
- package/dist/chunk-PUIUXIOL.js.map +1 -0
- package/dist/{chunk-WBYTNVIW.js → chunk-RKX3NQYS.js} +1 -1
- package/dist/{chunk-Y3KNXVTD.js → chunk-RMWXDZEO.js} +128 -21
- package/dist/chunk-RMWXDZEO.js.map +1 -0
- package/dist/{chunk-MRWYRAS5.js → chunk-SHO4YO4B.js} +27 -35
- package/dist/chunk-SHO4YO4B.js.map +1 -0
- package/dist/chunk-SWRN2DJ3.js +153 -0
- package/dist/chunk-SWRN2DJ3.js.map +1 -0
- package/dist/chunk-TCXCRBPF.js +267 -0
- package/dist/chunk-TCXCRBPF.js.map +1 -0
- package/dist/chunk-TLU3UEMD.js +324 -0
- package/dist/chunk-TLU3UEMD.js.map +1 -0
- package/dist/chunk-TSWWZMUS.js +186 -0
- package/dist/chunk-TSWWZMUS.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-XDLAGX66.js +127 -0
- package/dist/chunk-XDLAGX66.js.map +1 -0
- package/dist/chunk-YKZ4WU4P.js +33 -0
- package/dist/chunk-YKZ4WU4P.js.map +1 -0
- package/dist/{chunk-O5LEQHDM.js → chunk-Z7WEVGCL.js} +3 -3
- package/dist/{chunk-YBW5JSA3.js → chunk-ZDCRWCGZ.js} +119 -101
- package/dist/chunk-ZDCRWCGZ.js.map +1 -0
- package/dist/claude-provider-account-authority.d.ts +18 -0
- package/dist/claude-subscription-oauth.d.ts +42 -0
- package/dist/claude-subscription-usage.d.ts +159 -0
- package/dist/client-error-report.d.ts +158 -0
- package/dist/client-error-report.js +164 -0
- package/dist/client-error-report.js.map +1 -0
- package/dist/code-search.d.ts +52 -0
- package/dist/code-search.js +40 -0
- package/dist/code-search.js.map +1 -0
- package/dist/codex-provider-account-authority.js +20 -12
- package/dist/codex-provider-account-authority.js.map +1 -1
- package/dist/company-brain.d.ts +19 -81
- package/dist/company-profile.d.ts +144 -6
- package/dist/connect.d.ts +37 -0
- package/dist/connect.js +216 -159
- package/dist/connect.js.map +1 -1
- package/dist/connection-account-label.d.ts +2 -0
- package/dist/connection-account-label.js +35 -0
- package/dist/connection-account-label.js.map +1 -0
- package/dist/connection-authority.d.ts +9 -317
- package/dist/connection-authority.js +37 -42
- package/dist/connector-attachments.js +2 -1
- package/dist/connector-destinations.js +2 -1
- package/dist/connector-tool-permissions.d.ts +137 -0
- package/dist/cua-desktop-tools.d.ts +17 -0
- package/dist/define-schema.d.ts +8 -0
- package/dist/direct-model-provider.d.ts +36 -0
- package/dist/editable-artifact-codec-registry.js +5 -5
- package/dist/editable-artifact-committed-transaction.js +3 -2
- package/dist/editable-artifact-live.js +5 -5
- package/dist/editable-artifact-serialized-commit.js +6 -6
- package/dist/editable-artifact-versions.d.ts +7 -1
- package/dist/editable-artifact-versions.js +1 -1
- package/dist/editable-artifacts.js +62 -56
- package/dist/event-preview.d.ts +22 -0
- package/dist/external-identities.d.ts +174 -0
- package/dist/external-identities.js +15 -4
- package/dist/first-party-tool-authorization.d.ts +815 -0
- package/dist/github-repository-contracts.js +60 -43
- package/dist/github-repository-contracts.js.map +1 -1
- package/dist/google-drive.d.ts +2 -1
- package/dist/google-drive.js +305 -238
- package/dist/google-drive.js.map +1 -1
- package/dist/host-mcp-bindings.d.ts +39 -10
- package/dist/host-mcp-bindings.js +256 -171
- package/dist/host-mcp-bindings.js.map +1 -1
- package/dist/image-generation.d.ts +1 -0
- package/dist/index.d.ts +15715 -3850
- package/dist/index.js +2088 -289
- package/dist/insights-usage.d.ts +877 -0
- package/dist/insights-usage.js +559 -0
- package/dist/insights-usage.js.map +1 -0
- package/dist/interaction.d.ts +1176 -829
- package/dist/knowledge-entries.d.ts +984 -0
- package/dist/knowledge-preparation.d.ts +239 -0
- package/dist/managed-auth-session-sets.d.ts +7 -0
- package/dist/managed-auth-session-sets.js +198 -132
- package/dist/managed-auth-session-sets.js.map +1 -1
- package/dist/managed-sign-in-methods.d.ts +56 -0
- package/dist/managed-sign-in-methods.js +64 -0
- package/dist/managed-sign-in-methods.js.map +1 -0
- package/dist/mcp-catalog-limits.d.ts +2 -0
- package/dist/mcp-endpoint.js +9 -0
- package/dist/mcp-endpoint.js.map +1 -0
- package/dist/mcp-oauth.d.ts +2 -2
- package/dist/mcp-structured-content.d.ts +25 -0
- package/dist/modal-native-proof-v2.d.ts +587 -0
- package/dist/modal-native-proof-v2.js +38 -0
- package/dist/modal-native-proof-v2.js.map +1 -0
- package/dist/model-account-choice.d.ts +235 -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 +98 -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.d.ts +3 -1
- package/dist/model-picker-order.js +3 -0
- package/dist/model-picker-order.js.map +1 -1
- package/dist/organization-access.d.ts +412 -0
- package/dist/organization-access.js +39 -0
- package/dist/organization-access.js.map +1 -0
- package/dist/organization-integration-policy.d.ts +27 -0
- package/dist/organization-membership-lifecycle.d.ts +38 -0
- package/dist/organization-model-usage.d.ts +146 -0
- package/dist/organization-model-usage.js +78 -0
- package/dist/organization-model-usage.js.map +1 -0
- package/dist/organization-recovery.js +2 -1
- package/dist/organization-usage.d.ts +138 -0
- package/dist/permissions.d.ts +18 -0
- package/dist/personal-github.d.ts +1 -0
- package/dist/personal-github.js +199 -144
- package/dist/personal-github.js.map +1 -1
- package/dist/plugin-discovery.js +1 -1
- package/dist/prepared-mcp-setup.d.ts +54 -0
- package/dist/prepared-mcp-setup.js +12 -0
- package/dist/prepared-mcp-setup.js.map +1 -0
- package/dist/product-analytics.d.ts +116 -0
- package/dist/product-lifecycle-facts.d.ts +73 -0
- package/dist/remember.d.ts +98 -6
- package/dist/retained-output.d.ts +8 -0
- package/dist/sandbox-file-artifacts.d.ts +1 -0
- package/dist/sandbox-provider-command.d.ts +91 -1
- package/dist/sandbox-recovery.d.ts +146 -0
- package/dist/secret-generator.d.ts +44 -0
- package/dist/secret-references.d.ts +90 -0
- package/dist/secret-resolution.d.ts +111 -0
- package/dist/secret-totp.d.ts +41 -0
- package/dist/session-final-reply.d.ts +6 -0
- package/dist/session-final-reply.js +9 -0
- package/dist/session-final-reply.js.map +1 -0
- package/dist/session-goal-reports.d.ts +21 -0
- package/dist/session-history-import.d.ts +1272 -0
- package/dist/session-list-entries.d.ts +4 -0
- package/dist/session-list-entries.js +56 -0
- package/dist/session-list-entries.js.map +1 -0
- package/dist/session-mcp-projections.d.ts +6 -0
- package/dist/session-mcp-tool-permissions.d.ts +62 -0
- package/dist/session-message-search.d.ts +68 -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 +41 -0
- package/dist/session-usage-limits.js.map +1 -0
- package/dist/signup-attribution.d.ts +39 -0
- package/dist/site-data.d.ts +286 -0
- package/dist/site-operations.d.ts +39 -0
- package/dist/site-publishing.d.ts +778 -0
- package/dist/site-session-http.d.ts +89 -4
- package/dist/site-session-http.js +25 -1
- package/dist/site-sql.d.ts +421 -0
- package/dist/skill-catalog-context.d.ts +7 -0
- package/dist/skill-files.d.ts +1 -1
- package/dist/skill-use.d.ts +61 -0
- package/dist/skills.d.ts +15 -0
- package/dist/slack-bot-scopes.d.ts +17 -12
- package/dist/slack-bot-scopes.js +10 -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 +8 -2
- package/dist/spreadsheet-artifact-query.d.ts +13 -6
- package/dist/spreadsheet-artifact-query.js +3 -3
- package/dist/subscription-account-actions.d.ts +64 -0
- package/dist/subscription-account-pools.d.ts +292 -0
- package/dist/subscription-personal-authority-v2.d.ts +28 -0
- package/dist/subscription-personal-authority-v2.js +12 -0
- package/dist/subscription-personal-authority-v2.js.map +1 -0
- package/dist/tool-action-review.d.ts +132 -0
- package/dist/tool-catalog.d.ts +408 -0
- package/dist/tool-policy.d.ts +5 -0
- package/dist/tool-review-presentation.d.ts +12 -0
- package/dist/tool-review-presentation.js +17 -0
- package/dist/tool-review-presentation.js.map +1 -0
- package/dist/transcription-recordings.d.ts +21 -0
- package/dist/turn-serving-policy.d.ts +221 -0
- package/dist/usage-allowances.d.ts +314 -0
- package/dist/usage-allowances.js +52 -0
- package/dist/usage-allowances.js.map +1 -0
- package/dist/vaults.d.ts +1286 -0
- package/dist/video-generation.d.ts +3 -0
- package/dist/video-generation.js +2 -1
- package/dist/workspace-instruction-policies.d.ts +13 -0
- package/dist/workspace-integration-wire.d.ts +36 -0
- package/dist/workspace-integration-wire.js +23 -0
- package/dist/workspace-integration-wire.js.map +1 -0
- package/dist/workspace-integrations.d.ts +1028 -0
- package/dist/workspace-state.d.ts +85 -416
- package/dist/xai-provider-account-authority.js +2 -1
- package/package.json +98 -2
- package/src/agent-authored-durable-text.ts +14 -11
- package/src/agent-config.ts +1698 -0
- package/src/agent-instruction-changes.ts +115 -0
- package/src/agent-learning.ts +188 -0
- package/src/agent-topology.ts +57 -52
- package/src/allowance-refusal.ts +81 -0
- package/src/analytics-consent-report.ts +20 -0
- package/src/api-key-presets.ts +28 -0
- package/src/artifact-catalog.ts +82 -0
- package/src/artifacts.ts +299 -227
- package/src/atlassian-native-retirement.ts +33 -0
- package/src/atlassian.ts +135 -108
- package/src/browser-storage.ts +10 -0
- package/src/bundled-skills.ts +60 -17
- package/src/canonical-human-identities.ts +60 -58
- package/src/claude-provider-account-authority.ts +12 -0
- package/src/claude-subscription-oauth.ts +73 -0
- package/src/claude-subscription-usage.ts +68 -0
- package/src/client-error-report.ts +343 -0
- package/src/code-search.ts +105 -0
- package/src/codex-provider-account-authority.ts +21 -16
- package/src/company-brain-governed-writes.ts +255 -233
- package/src/company-brain.ts +164 -153
- package/src/company-profile.ts +365 -292
- package/src/connect.ts +212 -173
- package/src/connection-account-label.ts +46 -0
- package/src/connection-authority.ts +183 -364
- package/src/connector-attachments.ts +137 -122
- package/src/connector-destinations.ts +46 -42
- package/src/connector-tool-permissions.ts +117 -0
- package/src/cua-desktop-tools.gen.json +6512 -0
- package/src/cua-desktop-tools.linux.gen.json +6600 -0
- package/src/cua-desktop-tools.ts +36 -0
- package/src/cua-desktop-tools.windows.gen.json +6353 -0
- package/src/define-schema.ts +10 -0
- package/src/direct-model-provider.ts +108 -0
- package/src/editable-artifact-committed-transaction.ts +17 -0
- package/src/editable-artifact-versions.ts +7 -1
- package/src/event-preview.ts +53 -3
- package/src/external-identities.ts +262 -145
- package/src/feedback.ts +43 -30
- package/src/first-party-tool-authorization.ts +356 -0
- package/src/github-repository-contracts.ts +78 -64
- package/src/google-drive.ts +285 -234
- package/src/governed-learning-activation.ts +152 -131
- package/src/governed-learning-evaluator.ts +140 -133
- package/src/host-mcp-bindings.ts +292 -198
- package/src/image-generation.ts +104 -95
- package/src/index.ts +13354 -8654
- package/src/insights-usage.ts +727 -0
- package/src/interaction.ts +3070 -2326
- package/src/knowledge-entries.ts +428 -0
- package/src/knowledge-preparation.ts +57 -0
- package/src/knowledge.ts +246 -213
- package/src/managed-auth-session-sets.ts +220 -144
- package/src/managed-sign-in-methods.ts +52 -0
- package/src/mcp-catalog-limits.ts +2 -0
- package/src/mcp-oauth.ts +43 -34
- package/src/mcp-receipts.ts +192 -192
- package/src/mcp-structured-content.ts +81 -0
- package/src/memory-slack-delivery.ts +171 -142
- package/src/modal-native-proof-v2.ts +429 -0
- package/src/model-account-choice.ts +177 -0
- package/src/model-account-settings.ts +210 -0
- package/src/model-availability.ts +22 -0
- package/src/model-connection-access.ts +61 -14
- package/src/model-context-inspector.ts +133 -99
- package/src/model-display.ts +221 -0
- package/src/model-picker-order.ts +12 -1
- package/src/organization-access.ts +217 -0
- package/src/organization-integration-policy.ts +63 -0
- package/src/organization-membership-lifecycle.ts +528 -382
- package/src/organization-model-usage.ts +81 -0
- package/src/organization-recovery.ts +147 -135
- package/src/organization-usage.ts +94 -0
- package/src/permissions.ts +88 -52
- package/src/personal-github.ts +210 -171
- package/src/preference-registry.ts +314 -258
- package/src/prepared-mcp-setup.ts +189 -0
- package/src/product-analytics.ts +261 -0
- package/src/product-lifecycle-facts.ts +122 -0
- package/src/remember.ts +181 -167
- package/src/retained-output.ts +194 -165
- package/src/sandbox-file-artifacts.ts +60 -47
- package/src/sandbox-provider-command.ts +88 -20
- package/src/sandbox-recovery.ts +129 -0
- package/src/scoped-knowledge.ts +61 -43
- package/src/secret-generator.ts +155 -0
- package/src/secret-references.ts +414 -0
- package/src/secret-resolution.ts +274 -0
- package/src/secret-totp.ts +188 -0
- package/src/session-final-reply.ts +16 -0
- package/src/session-goal-reports.ts +64 -0
- package/src/session-history-import.ts +177 -0
- package/src/session-list-entries.ts +96 -0
- package/src/session-mcp-projections.ts +11 -0
- package/src/session-mcp-tool-permissions.ts +108 -0
- package/src/session-message-search.ts +61 -0
- package/src/session-target.ts +57 -0
- package/src/session-titles.ts +80 -10
- package/src/session-topology-primitives.ts +19 -12
- package/src/session-usage-limit-refusal.ts +101 -0
- package/src/session-usage-limits.ts +171 -0
- package/src/signup-attribution.ts +86 -0
- package/src/site-data.ts +339 -0
- package/src/site-operations.ts +154 -0
- package/src/site-publishing.ts +876 -0
- package/src/site-session-http.ts +294 -16
- package/src/site-sql.ts +1123 -0
- package/src/skill-catalog-context.ts +50 -0
- package/src/skill-files.ts +3 -3
- package/src/skill-use.ts +80 -0
- package/src/skills.ts +82 -54
- package/src/slack-bot-scopes.ts +31 -39
- package/src/slack-rest-mcp.ts +222 -0
- package/src/slack-task-policy.ts +96 -73
- package/src/spreadsheet-artifact-commands.ts +73 -2
- package/src/spreadsheet-artifact-query.ts +187 -39
- package/src/subscription-account-actions.ts +84 -0
- package/src/subscription-account-pools.ts +53 -0
- package/src/subscription-personal-authority-v2.ts +66 -0
- package/src/task-notes.ts +55 -51
- package/src/tool-action-review.ts +258 -0
- package/src/tool-catalog.ts +609 -372
- package/src/tool-policy.ts +82 -0
- package/src/tool-result-spill.ts +12 -9
- package/src/tool-review-presentation.ts +385 -0
- package/src/transcription-recordings.ts +145 -131
- package/src/turn-serving-policy.ts +166 -0
- package/src/usage-allowances.ts +248 -0
- package/src/vaults.ts +850 -0
- package/src/video-generation.ts +385 -360
- package/src/work-claims.ts +173 -149
- package/src/workspace-instruction-policies.ts +349 -275
- package/src/workspace-integration-wire.ts +101 -0
- package/src/workspace-integrations.ts +724 -0
- package/src/workspace-learning-administration.ts +57 -44
- package/src/workspace-learning-policy.ts +127 -96
- package/src/workspace-state.ts +253 -333
- package/src/xai-provider-account-authority.ts +22 -17
- package/dist/chunk-3SIZGL3O.js.map +0 -1
- package/dist/chunk-7ABONTXE.js.map +0 -1
- package/dist/chunk-BCS7WHCK.js +0 -139
- package/dist/chunk-BCS7WHCK.js.map +0 -1
- package/dist/chunk-GRG7PHWQ.js +0 -25
- package/dist/chunk-GRG7PHWQ.js.map +0 -1
- package/dist/chunk-JUFK3T4Q.js +0 -80
- package/dist/chunk-JUFK3T4Q.js.map +0 -1
- package/dist/chunk-M5ZGRVIQ.js +0 -719
- package/dist/chunk-M5ZGRVIQ.js.map +0 -1
- package/dist/chunk-MRWYRAS5.js.map +0 -1
- package/dist/chunk-OSBYTE3O.js +0 -348
- package/dist/chunk-OSBYTE3O.js.map +0 -1
- package/dist/chunk-P3HLDT77.js +0 -59
- package/dist/chunk-P3HLDT77.js.map +0 -1
- package/dist/chunk-TEMFILR7.js +0 -143
- package/dist/chunk-TEMFILR7.js.map +0 -1
- package/dist/chunk-TXTQIYCV.js.map +0 -1
- package/dist/chunk-UR2GFYIE.js +0 -22598
- package/dist/chunk-UR2GFYIE.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-5LYFSZ7O.js.map → chunk-352X6ENP.js.map} +0 -0
- /package/dist/{chunk-WBYTNVIW.js.map → chunk-RKX3NQYS.js.map} +0 -0
- /package/dist/{chunk-O5LEQHDM.js.map → chunk-Z7WEVGCL.js.map} +0 -0
|
@@ -0,0 +1,429 @@
|
|
|
1
|
+
import { defineSchema } from "./define-schema";
|
|
2
|
+
import { z } from "zod";
|
|
3
|
+
import { ModalRouterProviderCommand } from "./sandbox-provider-command";
|
|
4
|
+
|
|
5
|
+
/** Secret-free descriptions for the NEW native proof protocol. Parsing any
|
|
6
|
+
* value below establishes correlation ONLY. It does not authenticate a host,
|
|
7
|
+
* native response, grant, election, capture, Start, or semantic continuation.
|
|
8
|
+
* Frozen reservation/journal v1 values are never adopted into this protocol. */
|
|
9
|
+
export const MODAL_NATIVE_PROOF_PROTOCOL_VERSION = 2 as const;
|
|
10
|
+
export const MODAL_NATIVE_FRESH_COMPILER_FINGERPRINT =
|
|
11
|
+
"db6d33c8a1142e5ffe3d1a130d8b9f9d819e46832ad0417d41d5606b7fe25ab1" as const;
|
|
12
|
+
|
|
13
|
+
const uuid = /* @__PURE__ */ defineSchema(() =>
|
|
14
|
+
z.string().regex(/^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$/u),
|
|
15
|
+
);
|
|
16
|
+
// Fresh readiness must round-trip through the retained original-command schema.
|
|
17
|
+
// Reuse its exact UUID domain; do not widen it or change the frozen compiler.
|
|
18
|
+
const commandExecId = /* @__PURE__ */ defineSchema(() =>
|
|
19
|
+
uuid.pipe(ModalRouterProviderCommand.shape.execId),
|
|
20
|
+
);
|
|
21
|
+
const positive = /* @__PURE__ */ defineSchema(() => z.number().int().positive().safe());
|
|
22
|
+
const nonnegative = /* @__PURE__ */ defineSchema(() => z.number().int().nonnegative().safe());
|
|
23
|
+
const digest = /* @__PURE__ */ defineSchema(() => z.string().regex(/^[a-f0-9]{64}$/u));
|
|
24
|
+
const empty = /* @__PURE__ */ defineSchema(() => z.object({}).strict());
|
|
25
|
+
const noItems = /* @__PURE__ */ defineSchema(() => z.tuple([]));
|
|
26
|
+
const entrypoint = /* @__PURE__ */ defineSchema(() =>
|
|
27
|
+
z.tuple([z.literal("sleep"), z.literal("infinity")]),
|
|
28
|
+
);
|
|
29
|
+
const sourceSha = "bb830ded1925e1d927d1fc221b2329d961f9a57eafdd9a85bf13fb7cfc982599";
|
|
30
|
+
|
|
31
|
+
/** This entire profile is declared BEFORE even namespace lookup. It is a
|
|
32
|
+
* reviewed literal, not caller-selected defaults or an arbitrary self-hash. */
|
|
33
|
+
export const ModalNativeFreshNormalizationV1 = /* @__PURE__ */ defineSchema(() =>
|
|
34
|
+
z
|
|
35
|
+
.object({
|
|
36
|
+
recipeId: z.literal("modal-native-fresh-v1"),
|
|
37
|
+
recipeRevision: z.literal(1),
|
|
38
|
+
schema: z.literal("modal.client.ModalClient/SandboxCreate"),
|
|
39
|
+
encoding: z.literal("modal-create-json-v1"),
|
|
40
|
+
sdkVersion: z.literal("0.9.0"),
|
|
41
|
+
sdkSourceSha256: z.literal(sourceSha),
|
|
42
|
+
entrypoint,
|
|
43
|
+
createWorkdir: z.literal("/tmp"),
|
|
44
|
+
env: empty,
|
|
45
|
+
mounts: noItems,
|
|
46
|
+
restore: z.null(),
|
|
47
|
+
idleTimeout: z.literal("unset"),
|
|
48
|
+
gpu: z.literal("unset"),
|
|
49
|
+
gpuProto: z
|
|
50
|
+
.object({ type: z.literal(0), count: z.literal(0), gpuType: z.literal("") })
|
|
51
|
+
.strict(),
|
|
52
|
+
cpuLimit: z.literal("unset"),
|
|
53
|
+
memoryLimit: z.literal("unset"),
|
|
54
|
+
pty: z.literal("unset"),
|
|
55
|
+
regions: z.literal("unset"),
|
|
56
|
+
proxy: z.literal("unset"),
|
|
57
|
+
readinessProbe: z.literal("unset"),
|
|
58
|
+
environmentVariables: z.literal("unset"),
|
|
59
|
+
network: z
|
|
60
|
+
.object({
|
|
61
|
+
access: z.literal("OPEN"),
|
|
62
|
+
outboundCidrs: noItems,
|
|
63
|
+
outboundDomains: noItems,
|
|
64
|
+
inboundCidrs: noItems,
|
|
65
|
+
i6pn: z.literal(false),
|
|
66
|
+
})
|
|
67
|
+
.strict(),
|
|
68
|
+
volumes: noItems,
|
|
69
|
+
cloudBucketMounts: noItems,
|
|
70
|
+
secrets: noItems,
|
|
71
|
+
ports: noItems,
|
|
72
|
+
cloud: z.literal(""),
|
|
73
|
+
verbose: z.literal(false),
|
|
74
|
+
includeOidcIdentityToken: z.literal(false),
|
|
75
|
+
experimentalOptions: empty,
|
|
76
|
+
experimentalOptionsV2: empty,
|
|
77
|
+
customDomain: z.literal(""),
|
|
78
|
+
})
|
|
79
|
+
.strict(),
|
|
80
|
+
);
|
|
81
|
+
export type ModalNativeFreshNormalizationV1 = z.infer<typeof ModalNativeFreshNormalizationV1>;
|
|
82
|
+
|
|
83
|
+
function freezeLiteral<T>(value: T): T {
|
|
84
|
+
if (value !== null && typeof value === "object") {
|
|
85
|
+
for (const child of Object.values(value)) freezeLiteral(child);
|
|
86
|
+
Object.freeze(value);
|
|
87
|
+
}
|
|
88
|
+
return value;
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
/** Public, credential-free recipe data. The host must normatively select this
|
|
92
|
+
* literal before I/O; possessing a copy supplies no issuance provenance. */
|
|
93
|
+
export const MODAL_NATIVE_FRESH_NORMALIZATION_V1 = freezeLiteral(
|
|
94
|
+
ModalNativeFreshNormalizationV1.parse({
|
|
95
|
+
recipeId: "modal-native-fresh-v1",
|
|
96
|
+
recipeRevision: 1,
|
|
97
|
+
schema: "modal.client.ModalClient/SandboxCreate",
|
|
98
|
+
encoding: "modal-create-json-v1",
|
|
99
|
+
sdkVersion: "0.9.0",
|
|
100
|
+
sdkSourceSha256: sourceSha,
|
|
101
|
+
entrypoint: ["sleep", "infinity"],
|
|
102
|
+
createWorkdir: "/tmp",
|
|
103
|
+
env: {},
|
|
104
|
+
mounts: [],
|
|
105
|
+
restore: null,
|
|
106
|
+
idleTimeout: "unset",
|
|
107
|
+
gpu: "unset",
|
|
108
|
+
gpuProto: { type: 0, count: 0, gpuType: "" },
|
|
109
|
+
cpuLimit: "unset",
|
|
110
|
+
memoryLimit: "unset",
|
|
111
|
+
pty: "unset",
|
|
112
|
+
regions: "unset",
|
|
113
|
+
proxy: "unset",
|
|
114
|
+
readinessProbe: "unset",
|
|
115
|
+
environmentVariables: "unset",
|
|
116
|
+
network: {
|
|
117
|
+
access: "OPEN",
|
|
118
|
+
outboundCidrs: [],
|
|
119
|
+
outboundDomains: [],
|
|
120
|
+
inboundCidrs: [],
|
|
121
|
+
i6pn: false,
|
|
122
|
+
},
|
|
123
|
+
volumes: [],
|
|
124
|
+
cloudBucketMounts: [],
|
|
125
|
+
secrets: [],
|
|
126
|
+
ports: [],
|
|
127
|
+
cloud: "",
|
|
128
|
+
verbose: false,
|
|
129
|
+
includeOidcIdentityToken: false,
|
|
130
|
+
experimentalOptions: {},
|
|
131
|
+
experimentalOptionsV2: {},
|
|
132
|
+
customDomain: "",
|
|
133
|
+
}),
|
|
134
|
+
);
|
|
135
|
+
|
|
136
|
+
export const ModalNativePreparationRecipeV2 = /* @__PURE__ */ defineSchema(() =>
|
|
137
|
+
z
|
|
138
|
+
.object({
|
|
139
|
+
version: z.literal(1),
|
|
140
|
+
recipeId: z.literal("modal-native-fresh-v1"),
|
|
141
|
+
recipeRevision: z.literal(1),
|
|
142
|
+
createWorkdir: z.literal("/tmp"),
|
|
143
|
+
entrypoint,
|
|
144
|
+
normalization: ModalNativeFreshNormalizationV1,
|
|
145
|
+
compilerFingerprint: z.literal(MODAL_NATIVE_FRESH_COMPILER_FINGERPRINT),
|
|
146
|
+
})
|
|
147
|
+
.strict(),
|
|
148
|
+
);
|
|
149
|
+
export type ModalNativePreparationRecipeV2 = z.infer<typeof ModalNativePreparationRecipeV2>;
|
|
150
|
+
|
|
151
|
+
export const MODAL_NATIVE_PREPARATION_RECIPE_V2 = freezeLiteral(
|
|
152
|
+
ModalNativePreparationRecipeV2.parse({
|
|
153
|
+
version: 1,
|
|
154
|
+
recipeId: "modal-native-fresh-v1",
|
|
155
|
+
recipeRevision: 1,
|
|
156
|
+
createWorkdir: "/tmp",
|
|
157
|
+
entrypoint: ["sleep", "infinity"],
|
|
158
|
+
normalization: MODAL_NATIVE_FRESH_NORMALIZATION_V1,
|
|
159
|
+
compilerFingerprint: MODAL_NATIVE_FRESH_COMPILER_FINGERPRINT,
|
|
160
|
+
}),
|
|
161
|
+
);
|
|
162
|
+
|
|
163
|
+
/** Exactly the old reservation vocabulary, NOT an extension to its keys. */
|
|
164
|
+
export const ModalNativeFreshBlueprintV1 = /* @__PURE__ */ defineSchema(() =>
|
|
165
|
+
z
|
|
166
|
+
.object({
|
|
167
|
+
version: z.literal(1),
|
|
168
|
+
adapterId: z.literal("modal-native-fresh-creator-reservation-v1"),
|
|
169
|
+
create: z
|
|
170
|
+
.object({
|
|
171
|
+
operationId: uuid,
|
|
172
|
+
appId: z.string().regex(/^ap-[A-Za-z0-9_-]{1,200}$/u),
|
|
173
|
+
imageId: z.string().regex(/^im-[A-Za-z0-9_-]{1,200}$/u),
|
|
174
|
+
cpu: z
|
|
175
|
+
.number()
|
|
176
|
+
.positive()
|
|
177
|
+
.max(128)
|
|
178
|
+
.refine(
|
|
179
|
+
(v) =>
|
|
180
|
+
Number.isSafeInteger(Math.trunc(v * 1000)) &&
|
|
181
|
+
Math.trunc(v * 1000) >= 1 &&
|
|
182
|
+
Math.trunc(v * 1000) / 1000 === v,
|
|
183
|
+
),
|
|
184
|
+
memoryMiB: z.number().int().min(128).max(1048576).safe(),
|
|
185
|
+
timeoutSeconds: z.number().int().min(1).max(86400).safe(),
|
|
186
|
+
env: empty,
|
|
187
|
+
mounts: noItems,
|
|
188
|
+
})
|
|
189
|
+
.strict(),
|
|
190
|
+
restore: z.null(),
|
|
191
|
+
readiness: z
|
|
192
|
+
.object({
|
|
193
|
+
operationId: uuid,
|
|
194
|
+
execId: commandExecId,
|
|
195
|
+
commandArgs: z.tuple([z.literal("/bin/true")]),
|
|
196
|
+
workdir: z.literal("/tmp"),
|
|
197
|
+
env: empty,
|
|
198
|
+
})
|
|
199
|
+
.strict(),
|
|
200
|
+
publishOperationId: uuid,
|
|
201
|
+
cleanup: z
|
|
202
|
+
.object({ operationId: uuid, requires: z.literal("physical-terminal-proof") })
|
|
203
|
+
.strict(),
|
|
204
|
+
})
|
|
205
|
+
.strict(),
|
|
206
|
+
);
|
|
207
|
+
export type ModalNativeFreshBlueprintV1 = z.infer<typeof ModalNativeFreshBlueprintV1>;
|
|
208
|
+
|
|
209
|
+
/** Full pre-election identity. routeEpoch is NOT the physical lease epoch;
|
|
210
|
+
* creatorId is NOT an elected owner or a replacement accepted attempt. */
|
|
211
|
+
export const ModalNativeOriginalScopeV2 = /* @__PURE__ */ defineSchema(() =>
|
|
212
|
+
z
|
|
213
|
+
.object({
|
|
214
|
+
version: z.literal(2),
|
|
215
|
+
declarationId: uuid,
|
|
216
|
+
planId: uuid,
|
|
217
|
+
creatorId: uuid,
|
|
218
|
+
accountId: uuid,
|
|
219
|
+
workspaceId: uuid,
|
|
220
|
+
sessionId: uuid,
|
|
221
|
+
turnId: uuid,
|
|
222
|
+
attemptId: uuid,
|
|
223
|
+
executionGeneration: positive,
|
|
224
|
+
triggerEventId: uuid,
|
|
225
|
+
sandboxGroupId: uuid,
|
|
226
|
+
routeKind: z.literal("home"),
|
|
227
|
+
routeTargetId: z.null(),
|
|
228
|
+
routeEpoch: nonnegative,
|
|
229
|
+
})
|
|
230
|
+
.strict()
|
|
231
|
+
.refine((v) => v.creatorId !== v.attemptId && v.creatorId !== v.planId, {
|
|
232
|
+
message: "A declared creator is distinct from the accepted attempt and plan",
|
|
233
|
+
}),
|
|
234
|
+
);
|
|
235
|
+
export type ModalNativeOriginalScopeV2 = z.infer<typeof ModalNativeOriginalScopeV2>;
|
|
236
|
+
|
|
237
|
+
/** References must resolve through the complete protected scope/config join.
|
|
238
|
+
* They are neither credentials nor canonical/native authentication receipts. */
|
|
239
|
+
export const ModalNativeConfigurationCaptureRefV2 = /* @__PURE__ */ defineSchema(() =>
|
|
240
|
+
z.object({ id: uuid, revision: positive }).strict(),
|
|
241
|
+
);
|
|
242
|
+
export type ModalNativeConfigurationCaptureRefV2 = z.infer<
|
|
243
|
+
typeof ModalNativeConfigurationCaptureRefV2
|
|
244
|
+
>;
|
|
245
|
+
export const ModalNativeProofGrantRefV2 = /* @__PURE__ */ defineSchema(() =>
|
|
246
|
+
z.object({ id: uuid, epoch: positive }).strict(),
|
|
247
|
+
);
|
|
248
|
+
export type ModalNativeProofGrantRefV2 = z.infer<typeof ModalNativeProofGrantRefV2>;
|
|
249
|
+
export const ModalNativeReservedLeaseRefV2 = /* @__PURE__ */ defineSchema(() =>
|
|
250
|
+
z.object({ id: uuid, epoch: nonnegative }).strict(),
|
|
251
|
+
);
|
|
252
|
+
export type ModalNativeReservedLeaseRefV2 = z.infer<typeof ModalNativeReservedLeaseRefV2>;
|
|
253
|
+
|
|
254
|
+
export const ModalNativePreparationDeclarationV2 = /* @__PURE__ */ defineSchema(() =>
|
|
255
|
+
z
|
|
256
|
+
.object({
|
|
257
|
+
version: z.literal(2),
|
|
258
|
+
scope: ModalNativeOriginalScopeV2,
|
|
259
|
+
blueprint: ModalNativeFreshBlueprintV1,
|
|
260
|
+
preparationRecipe: ModalNativePreparationRecipeV2,
|
|
261
|
+
configurationCaptureRef: ModalNativeConfigurationCaptureRefV2,
|
|
262
|
+
proofGrantRef: ModalNativeProofGrantRefV2,
|
|
263
|
+
providerRecoveryCount: z.union([
|
|
264
|
+
z.literal(0),
|
|
265
|
+
z.literal(1),
|
|
266
|
+
z.literal(2),
|
|
267
|
+
z.literal(3),
|
|
268
|
+
z.literal(4),
|
|
269
|
+
z.literal(5),
|
|
270
|
+
]),
|
|
271
|
+
namespaceState: z.literal("unbound"),
|
|
272
|
+
})
|
|
273
|
+
.strict()
|
|
274
|
+
.superRefine((v, ctx) => {
|
|
275
|
+
const ids = [
|
|
276
|
+
v.scope.planId,
|
|
277
|
+
v.scope.creatorId,
|
|
278
|
+
v.blueprint.create.operationId,
|
|
279
|
+
v.blueprint.readiness.operationId,
|
|
280
|
+
v.blueprint.readiness.execId,
|
|
281
|
+
v.blueprint.publishOperationId,
|
|
282
|
+
v.blueprint.cleanup.operationId,
|
|
283
|
+
];
|
|
284
|
+
if (new Set(ids).size !== 7)
|
|
285
|
+
ctx.addIssue({
|
|
286
|
+
code: "custom",
|
|
287
|
+
message: "All seven supplied operation identities must be distinct",
|
|
288
|
+
});
|
|
289
|
+
}),
|
|
290
|
+
);
|
|
291
|
+
export type ModalNativePreparationDeclarationV2 = z.infer<
|
|
292
|
+
typeof ModalNativePreparationDeclarationV2
|
|
293
|
+
>;
|
|
294
|
+
|
|
295
|
+
const safeEndpoint = /* @__PURE__ */ defineSchema(() =>
|
|
296
|
+
z
|
|
297
|
+
.string()
|
|
298
|
+
.url()
|
|
299
|
+
.max(1024)
|
|
300
|
+
.refine(
|
|
301
|
+
(v) => {
|
|
302
|
+
try {
|
|
303
|
+
const url = new URL(v);
|
|
304
|
+
return (
|
|
305
|
+
url.protocol === "https:" && !url.username && !url.password && !url.search && !url.hash
|
|
306
|
+
);
|
|
307
|
+
} catch {
|
|
308
|
+
return false;
|
|
309
|
+
}
|
|
310
|
+
},
|
|
311
|
+
{ message: "Only a credential-free captured HTTPS endpoint is supported" },
|
|
312
|
+
),
|
|
313
|
+
);
|
|
314
|
+
|
|
315
|
+
/** Separate bind-once append, linked to the SAME captured configuration and
|
|
316
|
+
* claim. This deliberately has no invented immutable provider-principal ID.
|
|
317
|
+
* Only a trusted native issuer + authenticated host ingress can attest it. */
|
|
318
|
+
export const ModalNativeNamespaceEvidenceV2 = /* @__PURE__ */ defineSchema(() =>
|
|
319
|
+
z
|
|
320
|
+
.object({
|
|
321
|
+
version: z.literal(2),
|
|
322
|
+
scope: ModalNativeOriginalScopeV2,
|
|
323
|
+
configurationCaptureRef: ModalNativeConfigurationCaptureRefV2,
|
|
324
|
+
proofGrantRef: ModalNativeProofGrantRefV2,
|
|
325
|
+
claimId: uuid,
|
|
326
|
+
nonce: uuid,
|
|
327
|
+
claimRevision: positive,
|
|
328
|
+
recordRevision: positive,
|
|
329
|
+
captureId: uuid,
|
|
330
|
+
purpose: z.literal("original-namespace-read"),
|
|
331
|
+
reservation: ModalNativeReservedLeaseRefV2,
|
|
332
|
+
source: z.literal("modal-client-workspace-name-lookup-v1"),
|
|
333
|
+
responseField: z.enum(["workspaceName", "username"]),
|
|
334
|
+
binding: z
|
|
335
|
+
.object({
|
|
336
|
+
version: z.literal(1),
|
|
337
|
+
serverUrl: safeEndpoint,
|
|
338
|
+
workspaceName: z.string().min(1).max(200),
|
|
339
|
+
environment: z.string().max(200),
|
|
340
|
+
})
|
|
341
|
+
.strict(),
|
|
342
|
+
})
|
|
343
|
+
.strict(),
|
|
344
|
+
);
|
|
345
|
+
export type ModalNativeNamespaceEvidenceV2 = z.infer<typeof ModalNativeNamespaceEvidenceV2>;
|
|
346
|
+
|
|
347
|
+
const claimFields = {
|
|
348
|
+
version: z.literal(2),
|
|
349
|
+
scope: ModalNativeOriginalScopeV2,
|
|
350
|
+
configurationCaptureRef: ModalNativeConfigurationCaptureRefV2,
|
|
351
|
+
proofGrantRef: ModalNativeProofGrantRefV2,
|
|
352
|
+
claimId: uuid,
|
|
353
|
+
nonce: uuid,
|
|
354
|
+
claimRevision: positive,
|
|
355
|
+
recordRevision: positive,
|
|
356
|
+
captureId: uuid,
|
|
357
|
+
expiresAt: z.string().datetime(),
|
|
358
|
+
};
|
|
359
|
+
|
|
360
|
+
/** Scheduling custody ONLY. No lease/task grant is fabricated to authorize
|
|
361
|
+
* this prerequisite lookup. A reserved lease supplies exclusion, not effects. */
|
|
362
|
+
export const ModalNativeNamespaceReadClaimV2 = /* @__PURE__ */ defineSchema(() =>
|
|
363
|
+
z
|
|
364
|
+
.object({
|
|
365
|
+
...claimFields,
|
|
366
|
+
purpose: z.literal("original-namespace-read"),
|
|
367
|
+
reservation: ModalNativeReservedLeaseRefV2,
|
|
368
|
+
})
|
|
369
|
+
.strict(),
|
|
370
|
+
);
|
|
371
|
+
export type ModalNativeNamespaceReadClaimV2 = z.infer<typeof ModalNativeNamespaceReadClaimV2>;
|
|
372
|
+
|
|
373
|
+
/** Exact original router command and authoritative prior cursors; no retarget,
|
|
374
|
+
* new TaskGet adoption, legacy locator, PTY, Start, stdin or process-cancel API. */
|
|
375
|
+
export const ModalNativeOriginalCommandReadClaimV2 = /* @__PURE__ */ defineSchema(() =>
|
|
376
|
+
z
|
|
377
|
+
.object({
|
|
378
|
+
...claimFields,
|
|
379
|
+
purpose: z.literal("original-readiness-read"),
|
|
380
|
+
reservation: ModalNativeReservedLeaseRefV2,
|
|
381
|
+
physicalOwnerGeneration: positive,
|
|
382
|
+
operationId: uuid,
|
|
383
|
+
providerBindingKey: z.string().min(1).max(1024),
|
|
384
|
+
command: ModalRouterProviderCommand.refine((v) => v.pty !== true),
|
|
385
|
+
})
|
|
386
|
+
.strict(),
|
|
387
|
+
);
|
|
388
|
+
export type ModalNativeOriginalCommandReadClaimV2 = z.infer<
|
|
389
|
+
typeof ModalNativeOriginalCommandReadClaimV2
|
|
390
|
+
>;
|
|
391
|
+
|
|
392
|
+
/** Preserve the actual runtime descriptor's encoding/fingerprint domain. This
|
|
393
|
+
* is passive protobuf PREFLIGHT, not the RPC's transmitted bytes or permission. */
|
|
394
|
+
export const ModalNativePreparedStartDescriptionV1 = /* @__PURE__ */ defineSchema(() =>
|
|
395
|
+
z
|
|
396
|
+
.object({
|
|
397
|
+
taskId: z.string().min(1).max(200),
|
|
398
|
+
execId: commandExecId,
|
|
399
|
+
descriptorProtocol: z.literal("modal-prepared-start-descriptor"),
|
|
400
|
+
descriptorVersion: z.literal(1),
|
|
401
|
+
readinessRecipe: z.literal("modal-exec-readiness-bin-true-v1"),
|
|
402
|
+
readinessRecipeVersion: z.literal(1),
|
|
403
|
+
startMessage: z.literal("Start"),
|
|
404
|
+
rpcMethod: z.literal("/modal.task_command_router.TaskCommandRouter/TaskExecStart"),
|
|
405
|
+
encoderVersion: z.literal("protobufjs@7.6.5"),
|
|
406
|
+
preflight: z
|
|
407
|
+
.object({
|
|
408
|
+
encoding: z.literal("modal-start-protobuf-preflight-v1"),
|
|
409
|
+
sha256: digest,
|
|
410
|
+
byteLength: positive.max(1024 * 1024),
|
|
411
|
+
encoderFingerprint: z.string().regex(/^sha256:[a-f0-9]{64}$/u),
|
|
412
|
+
})
|
|
413
|
+
.strict(),
|
|
414
|
+
})
|
|
415
|
+
.strict(),
|
|
416
|
+
);
|
|
417
|
+
export type ModalNativePreparedStartDescriptionV1 = z.infer<
|
|
418
|
+
typeof ModalNativePreparedStartDescriptionV1
|
|
419
|
+
>;
|
|
420
|
+
|
|
421
|
+
/** Host/native acquisition objects are intentionally NOT constructed here.
|
|
422
|
+
* Raw DTOs, copied refs and any schema-success result cannot mint those objects.
|
|
423
|
+
* Capture needs issuer-authenticated OWN bytes, the exact original claim and a
|
|
424
|
+
* durable capture key; unknown ACK reconciles that same key/acquisition. */
|
|
425
|
+
export type ModalNativeProofCaptureStatusV2 =
|
|
426
|
+
| { status: "committed"; captureId: string; receiptId: string; recordRevision: number }
|
|
427
|
+
| { status: "absent_fenced"; captureId: string }
|
|
428
|
+
| { status: "conflict"; captureId: string }
|
|
429
|
+
| { status: "unresolved"; captureId: string };
|
|
@@ -0,0 +1,177 @@
|
|
|
1
|
+
import { defineSchema } from "./define-schema";
|
|
2
|
+
import { z } from "zod";
|
|
3
|
+
import { LatencyMode, ReasoningEffort } from "./index";
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* A person's explicit model-account choice for a session and their own
|
|
7
|
+
* personal preferences (contract SUB-SEL-02, SUB-SEL-04, SUB-ELIG-05,
|
|
8
|
+
* SUB-OWN-05, D-24, D-27 and D-28), for every provider on the shared
|
|
9
|
+
* subscription core.
|
|
10
|
+
*
|
|
11
|
+
* The picker lists the shared accounts of the workspace's pool and the
|
|
12
|
+
* caller's own personal accounts (never another person's). A personal
|
|
13
|
+
* account can be chosen only by its owner, in their private session or
|
|
14
|
+
* Personal workspace, or for their own newly accepted sends in a shared
|
|
15
|
+
* session, while personal accounts are allowed there. Choosing never widens
|
|
16
|
+
* already accepted work; the database enforces the same authority boundary.
|
|
17
|
+
*/
|
|
18
|
+
const ProviderId = /* @__PURE__ */ defineSchema(() => z.string().regex(/^[a-z][a-z0-9_]{1,31}$/));
|
|
19
|
+
|
|
20
|
+
/** Why a listed account cannot be chosen for this session. */
|
|
21
|
+
export const ModelAccountChoiceRefusal = /* @__PURE__ */ defineSchema(() =>
|
|
22
|
+
z.enum([
|
|
23
|
+
"inactive",
|
|
24
|
+
"personal_not_allowed",
|
|
25
|
+
"personal_not_owner_work",
|
|
26
|
+
/** The session has no owner (for example a scheduled run started with an API key). */
|
|
27
|
+
"session_has_no_owner",
|
|
28
|
+
]),
|
|
29
|
+
);
|
|
30
|
+
export type ModelAccountChoiceRefusal = z.infer<typeof ModelAccountChoiceRefusal>;
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
* Stored observation only, not a live check or a promise of available capacity.
|
|
34
|
+
* Source/time describe the snapshot, not each retained window. Windows can be
|
|
35
|
+
* partial, unknown or stale; a past reset does not prove replenishment.
|
|
36
|
+
*/
|
|
37
|
+
export const ModelAccountUsageSnapshot = /* @__PURE__ */ defineSchema(() =>
|
|
38
|
+
z.object({
|
|
39
|
+
observedAt: z.string().datetime().nullable(),
|
|
40
|
+
source: z.enum(["usage_endpoint", "response_headers", "refusal"]).nullable(),
|
|
41
|
+
windows: z.array(
|
|
42
|
+
z.object({
|
|
43
|
+
id: z.string(),
|
|
44
|
+
/** Null means unknown; values over 100 can represent overage. */
|
|
45
|
+
usedPercent: z.number().finite().nonnegative().nullable(),
|
|
46
|
+
resetsAt: z.string().datetime().nullable(),
|
|
47
|
+
status: z.enum(["ok", "warning", "exhausted", "unknown"]),
|
|
48
|
+
}),
|
|
49
|
+
),
|
|
50
|
+
exhaustedUntil: z.string().datetime().nullable(),
|
|
51
|
+
exhaustedKind: z.enum(["quota", "rate_limit"]).nullable(),
|
|
52
|
+
}),
|
|
53
|
+
);
|
|
54
|
+
export type ModelAccountUsageSnapshot = z.infer<typeof ModelAccountUsageSnapshot>;
|
|
55
|
+
|
|
56
|
+
export const ModelAccountChoiceOption = /* @__PURE__ */ defineSchema(() =>
|
|
57
|
+
z.object({
|
|
58
|
+
provider: ProviderId,
|
|
59
|
+
connectionId: z.string().uuid(),
|
|
60
|
+
label: z.string().nullable(),
|
|
61
|
+
accountEmail: z.string().nullable(),
|
|
62
|
+
planType: z.string().nullable(),
|
|
63
|
+
status: z.string(),
|
|
64
|
+
/** The caller's own personal account. */
|
|
65
|
+
personal: z.boolean(),
|
|
66
|
+
/** The workspace pool a shared account belongs to, or `personal`. */
|
|
67
|
+
source: z.enum(["workspace", "organization", "personal"]),
|
|
68
|
+
/** Models the account may serve (null: every model the provider offers). */
|
|
69
|
+
allowedModelIds: z.array(z.string()).nullable(),
|
|
70
|
+
choosable: z.boolean(),
|
|
71
|
+
refusal: ModelAccountChoiceRefusal.nullable(),
|
|
72
|
+
/** Omitted on older servers; null when this visible account has no decodable snapshot. */
|
|
73
|
+
usage: ModelAccountUsageSnapshot.nullable().optional(),
|
|
74
|
+
}),
|
|
75
|
+
);
|
|
76
|
+
export type ModelAccountChoiceOption = z.infer<typeof ModelAccountChoiceOption>;
|
|
77
|
+
|
|
78
|
+
/** A session's binding for one provider: its explicit choice or its automatic placement. */
|
|
79
|
+
const SessionModelAccountBinding = /* @__PURE__ */ defineSchema(() =>
|
|
80
|
+
z.object({
|
|
81
|
+
provider: ProviderId,
|
|
82
|
+
connectionId: z.string().uuid().nullable(),
|
|
83
|
+
choice: z.enum(["explicit", "automatic"]),
|
|
84
|
+
}),
|
|
85
|
+
);
|
|
86
|
+
|
|
87
|
+
/** Last lease-backed selection, not a queued choice or an unplaced proposal. */
|
|
88
|
+
export const SessionModelAccountServing = /* @__PURE__ */ defineSchema(() =>
|
|
89
|
+
z.object({
|
|
90
|
+
turnId: z.string().uuid(),
|
|
91
|
+
provider: ProviderId,
|
|
92
|
+
connectionId: z.string().uuid().nullable(),
|
|
93
|
+
modelId: z.string().min(1),
|
|
94
|
+
preferredModelId: z.string().min(1),
|
|
95
|
+
reasoningEffort: z.lazy(() => ReasoningEffort),
|
|
96
|
+
latencyMode: z.lazy(() => LatencyMode),
|
|
97
|
+
}),
|
|
98
|
+
);
|
|
99
|
+
export type SessionModelAccountServing = z.infer<typeof SessionModelAccountServing>;
|
|
100
|
+
|
|
101
|
+
export const SessionModelAccountChoiceResponse = /* @__PURE__ */ defineSchema(() =>
|
|
102
|
+
z.object({
|
|
103
|
+
/**
|
|
104
|
+
* The session's current account when it has bindings for one provider
|
|
105
|
+
* only: `explicit` after a person's choice, else the account automatic
|
|
106
|
+
* placement last used. Null when it has none, or bindings for several
|
|
107
|
+
* providers (see `bindings`). `connectionId` is null when the caller may
|
|
108
|
+
* not see that account.
|
|
109
|
+
*/
|
|
110
|
+
binding: SessionModelAccountBinding.nullable(),
|
|
111
|
+
/** One binding per provider: a session keeps each provider's choice separately. */
|
|
112
|
+
bindings: z.array(SessionModelAccountBinding),
|
|
113
|
+
/** Omitted by older servers. Account identity is withheld under the same visibility rule. */
|
|
114
|
+
serving: SessionModelAccountServing.nullable().optional(),
|
|
115
|
+
accounts: z.array(ModelAccountChoiceOption),
|
|
116
|
+
personal: z.object({
|
|
117
|
+
/** Personal accounts are allowed in this workspace (effective setting). */
|
|
118
|
+
connectionsAllowed: z.boolean(),
|
|
119
|
+
/** Personal fallback is allowed in this workspace (effective setting). */
|
|
120
|
+
fallbackAllowed: z.boolean(),
|
|
121
|
+
/** The caller's own personal-fallback opt-in. */
|
|
122
|
+
fallbackOptIn: z.boolean(),
|
|
123
|
+
}),
|
|
124
|
+
}),
|
|
125
|
+
);
|
|
126
|
+
export type SessionModelAccountChoiceResponse = z.infer<typeof SessionModelAccountChoiceResponse>;
|
|
127
|
+
|
|
128
|
+
/**
|
|
129
|
+
* A connection makes it the session's choice for that connection's provider;
|
|
130
|
+
* other providers' choices stay. `connectionId: null` returns the session to
|
|
131
|
+
* automatic account selection: only `provider`'s choice when given, else
|
|
132
|
+
* every provider's.
|
|
133
|
+
*/
|
|
134
|
+
export const SetSessionModelAccountChoiceRequest = /* @__PURE__ */ defineSchema(() =>
|
|
135
|
+
z
|
|
136
|
+
.object({ connectionId: z.string().uuid().nullable(), provider: ProviderId.optional() })
|
|
137
|
+
.strict(),
|
|
138
|
+
);
|
|
139
|
+
export type SetSessionModelAccountChoiceRequest = z.infer<
|
|
140
|
+
typeof SetSessionModelAccountChoiceRequest
|
|
141
|
+
>;
|
|
142
|
+
|
|
143
|
+
export const SetSessionModelAccountChoiceResponse = /* @__PURE__ */ defineSchema(() =>
|
|
144
|
+
z.object({
|
|
145
|
+
changed: z.boolean(),
|
|
146
|
+
/** A waiting turn re-places now; otherwise the choice applies from the next turn. */
|
|
147
|
+
appliedTo: z.enum(["waiting_turn", "next_turn"]),
|
|
148
|
+
provider: ProviderId.nullable(),
|
|
149
|
+
connectionId: z.string().uuid().nullable(),
|
|
150
|
+
choice: z.enum(["explicit", "automatic"]),
|
|
151
|
+
}),
|
|
152
|
+
);
|
|
153
|
+
export type SetSessionModelAccountChoiceResponse = z.infer<
|
|
154
|
+
typeof SetSessionModelAccountChoiceResponse
|
|
155
|
+
>;
|
|
156
|
+
|
|
157
|
+
export const ModelAccountPreferences = /* @__PURE__ */ defineSchema(() =>
|
|
158
|
+
z.object({
|
|
159
|
+
/** Use my personal accounts when every shared account is exhausted, where allowed. */
|
|
160
|
+
personalFallbackOptIn: z.boolean(),
|
|
161
|
+
/** 0 before any preference was saved; pass it back as `expectedVersion`. */
|
|
162
|
+
version: z.number().int().nonnegative(),
|
|
163
|
+
}),
|
|
164
|
+
);
|
|
165
|
+
export type ModelAccountPreferences = z.infer<typeof ModelAccountPreferences>;
|
|
166
|
+
|
|
167
|
+
export const UpdateModelAccountPreferencesRequest = /* @__PURE__ */ defineSchema(() =>
|
|
168
|
+
z
|
|
169
|
+
.object({
|
|
170
|
+
personalFallbackOptIn: z.boolean(),
|
|
171
|
+
expectedVersion: z.number().int().nonnegative().optional(),
|
|
172
|
+
})
|
|
173
|
+
.strict(),
|
|
174
|
+
);
|
|
175
|
+
export type UpdateModelAccountPreferencesRequest = z.infer<
|
|
176
|
+
typeof UpdateModelAccountPreferencesRequest
|
|
177
|
+
>;
|