@opengeni/contracts 3.1.0-canary.2 → 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 +0 -2
- 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-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-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 +138 -0
- package/dist/external-identities.js +9 -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 +5 -0
- package/dist/host-mcp-bindings.js +233 -170
- package/dist/host-mcp-bindings.js.map +1 -1
- package/dist/image-generation.d.ts +1 -0
- package/dist/index.d.ts +16761 -5946
- package/dist/index.js +1973 -260
- 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 +81 -2
- 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-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/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-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/xai-provider-account-authority.js +2 -1
- package/package.json +93 -5
- package/src/agent-authored-durable-text.ts +14 -11
- package/src/agent-config.ts +1698 -0
- package/src/agent-instruction-changes.ts +91 -74
- package/src/agent-learning.ts +94 -67
- 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 +249 -176
- 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 +252 -198
- package/src/image-generation.ts +104 -95
- package/src/index.ts +13235 -8687
- package/src/insights-usage.ts +727 -0
- package/src/interaction.ts +3070 -2326
- package/src/knowledge-entries.ts +361 -276
- 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 -276
- 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 +250 -220
- package/src/xai-provider-account-authority.ts +22 -17
- package/dist/chunk-2AC63F4S.js +0 -171
- package/dist/chunk-2AC63F4S.js.map +0 -1
- 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-OVFORMPW.js +0 -348
- package/dist/chunk-OVFORMPW.js.map +0 -1
- package/dist/chunk-P3HLDT77.js +0 -59
- package/dist/chunk-P3HLDT77.js.map +0 -1
- package/dist/chunk-QQUJ6NPW.js +0 -23093
- package/dist/chunk-QQUJ6NPW.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/host-mcp-resolvers.d.ts +0 -32
- package/dist/host-mcp-resolvers.js +0 -34
- package/dist/host-mcp-resolvers.js.map +0 -1
- package/src/host-mcp-resolvers.ts +0 -50
- /package/dist/{chunk-5LYFSZ7O.js.map → chunk-352X6ENP.js.map} +0 -0
- /package/dist/{chunk-O5LEQHDM.js.map → chunk-Z7WEVGCL.js.map} +0 -0
package/src/tool-catalog.ts
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
|
+
import { defineSchema } from "./define-schema";
|
|
1
2
|
import { z } from "zod";
|
|
3
|
+
import { Permission } from "./permissions";
|
|
2
4
|
|
|
3
5
|
export const ATTEMPT_TOOL_CATALOG_VERSION = 1 as const;
|
|
4
6
|
export const TOOL_GATEWAY_CATALOG_VERSION = 1 as const;
|
|
@@ -14,365 +16,582 @@ export const CODEMODE_CLAIM_LEASE_MS = 30_000;
|
|
|
14
16
|
export const CODEMODE_CLAIM_HEARTBEAT_MS = 10_000;
|
|
15
17
|
export const CODEMODE_MAX_CONCURRENT_CALLS_PER_ATTEMPT = 16;
|
|
16
18
|
|
|
17
|
-
const sha256 = z.string().regex(/^[0-9a-f]{64}$/u);
|
|
18
|
-
const serverIdentifier =
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
19
|
+
const sha256 = /* @__PURE__ */ defineSchema(() => z.string().regex(/^[0-9a-f]{64}$/u));
|
|
20
|
+
const serverIdentifier = /* @__PURE__ */ defineSchema(() =>
|
|
21
|
+
z
|
|
22
|
+
.string()
|
|
23
|
+
.min(1)
|
|
24
|
+
.max(256)
|
|
25
|
+
.regex(/^[A-Za-z0-9_-]+$/u),
|
|
26
|
+
);
|
|
27
|
+
const toolIdentifier = /* @__PURE__ */ defineSchema(() =>
|
|
28
|
+
z
|
|
29
|
+
.string()
|
|
30
|
+
.min(1)
|
|
31
|
+
.max(512)
|
|
32
|
+
.regex(/^[^\u0000-\u001f\u007f]+$/u),
|
|
33
|
+
);
|
|
34
|
+
const namespaceSegment = /* @__PURE__ */ defineSchema(() =>
|
|
35
|
+
z
|
|
36
|
+
.string()
|
|
37
|
+
.min(1)
|
|
38
|
+
.max(128)
|
|
39
|
+
.regex(/^[A-Za-z_$][A-Za-z0-9_$]*$/u)
|
|
40
|
+
.refine((value) => !["__proto__", "prototype", "constructor"].includes(value), {
|
|
41
|
+
message: "unsafe Codemode namespace segment",
|
|
42
|
+
}),
|
|
43
|
+
);
|
|
44
|
+
const jsonObject = /* @__PURE__ */ defineSchema(() => z.record(z.string().max(512), z.json()));
|
|
37
45
|
|
|
38
46
|
/** Opaque authority identity. Display/wire names must never be parsed as authority. */
|
|
39
|
-
export const AttemptToolIdentity =
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
47
|
+
export const AttemptToolIdentity = /* @__PURE__ */ defineSchema(() =>
|
|
48
|
+
z
|
|
49
|
+
.object({
|
|
50
|
+
serverId: serverIdentifier,
|
|
51
|
+
toolName: toolIdentifier,
|
|
52
|
+
})
|
|
53
|
+
.strict(),
|
|
54
|
+
);
|
|
45
55
|
export type AttemptToolIdentity = z.infer<typeof AttemptToolIdentity>;
|
|
46
56
|
|
|
47
57
|
/** Protocol-neutral tool identity shared by MCP, HTTP/SDK, agents, and Codemode. */
|
|
48
58
|
export const ToolGatewayIdentity = AttemptToolIdentity;
|
|
49
59
|
export type ToolGatewayIdentity = AttemptToolIdentity;
|
|
50
60
|
|
|
51
|
-
export const AttemptToolCatalogIcon =
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
61
|
+
export const AttemptToolCatalogIcon = /* @__PURE__ */ defineSchema(() =>
|
|
62
|
+
z
|
|
63
|
+
.object({
|
|
64
|
+
src: z.string().min(1).max(8_192),
|
|
65
|
+
mimeType: z.string().min(1).max(128).optional(),
|
|
66
|
+
sizes: z.array(z.string().min(1).max(64)).max(16).optional(),
|
|
67
|
+
theme: z.enum(["light", "dark"]).optional(),
|
|
68
|
+
})
|
|
69
|
+
.strict(),
|
|
70
|
+
);
|
|
59
71
|
export type AttemptToolCatalogIcon = z.infer<typeof AttemptToolCatalogIcon>;
|
|
60
72
|
|
|
61
73
|
/** MCP annotations retained without inventing stronger effect guarantees. */
|
|
62
|
-
export const AttemptToolAnnotations =
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
74
|
+
export const AttemptToolAnnotations = /* @__PURE__ */ defineSchema(() =>
|
|
75
|
+
z
|
|
76
|
+
.object({
|
|
77
|
+
title: z.string().max(512).optional(),
|
|
78
|
+
readOnlyHint: z.boolean().optional(),
|
|
79
|
+
destructiveHint: z.boolean().optional(),
|
|
80
|
+
idempotentHint: z.boolean().optional(),
|
|
81
|
+
openWorldHint: z.boolean().optional(),
|
|
82
|
+
})
|
|
83
|
+
.loose(),
|
|
84
|
+
);
|
|
71
85
|
export type AttemptToolAnnotations = z.infer<typeof AttemptToolAnnotations>;
|
|
72
86
|
|
|
73
87
|
/** JSON Schema is preserved as received. Runtime byte/node guards remain authoritative. */
|
|
74
88
|
export const AttemptToolJsonSchema = jsonObject;
|
|
75
89
|
export type AttemptToolJsonSchema = z.infer<typeof AttemptToolJsonSchema>;
|
|
76
90
|
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
91
|
+
/** Presentation only; never parsed as execution or account authority. */
|
|
92
|
+
export const ToolDisplayMetadata = /* @__PURE__ */ defineSchema(() =>
|
|
93
|
+
z
|
|
94
|
+
.object({
|
|
95
|
+
toolName: toolIdentifier,
|
|
96
|
+
title: z.string().min(1).max(512).optional(),
|
|
97
|
+
/** Account to name beside the tool. Set only when the connector has more than one. */
|
|
98
|
+
accountLabel: z.string().min(1).max(1024).optional(),
|
|
99
|
+
/** The connector the tool belongs to, e.g. "Linear". */
|
|
100
|
+
connector: z.string().min(1).max(512).optional(),
|
|
101
|
+
/** The connector's provider, so a host can draw its logo. */
|
|
102
|
+
providerDomain: z.string().min(1).max(253).optional(),
|
|
103
|
+
})
|
|
104
|
+
.strict(),
|
|
105
|
+
);
|
|
106
|
+
export type ToolDisplayMetadata = z.infer<typeof ToolDisplayMetadata>;
|
|
107
|
+
|
|
108
|
+
/**
|
|
109
|
+
* How one connector account route is named. The model always gets the full
|
|
110
|
+
* account in tool descriptions; people see the connector, and the account only
|
|
111
|
+
* when there is more than one to tell apart.
|
|
112
|
+
*/
|
|
113
|
+
export type McpAccountRouteLabel = {
|
|
114
|
+
/** Model-facing account description. */
|
|
115
|
+
model: string;
|
|
116
|
+
connector: string;
|
|
117
|
+
providerDomain: string;
|
|
118
|
+
/** Present only when the connector has several accounts in the turn. */
|
|
119
|
+
account?: string | undefined;
|
|
120
|
+
};
|
|
121
|
+
|
|
122
|
+
/** The short account line for approvals: "Linear", or "Linear · alice@example.com". */
|
|
123
|
+
export function mcpAccountRouteReviewLabel(label: McpAccountRouteLabel): string {
|
|
124
|
+
return label.account ? `${label.connector} · ${label.account}` : label.connector;
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
export const AttemptToolCatalogEntry = /* @__PURE__ */ defineSchema(() =>
|
|
128
|
+
z
|
|
129
|
+
.object({
|
|
130
|
+
identity: AttemptToolIdentity,
|
|
131
|
+
/** Exact model-wire projection for this generation, e.g. `slack__search`. */
|
|
132
|
+
modelName: toolIdentifier,
|
|
133
|
+
/** Safe generated Codemode namespace; convenience only, never authority. */
|
|
134
|
+
codemodePath: z.array(namespaceSegment).min(2).max(ATTEMPT_TOOL_CATALOG_MAX_PATH_SEGMENTS),
|
|
135
|
+
title: z.string().min(1).max(512).optional(),
|
|
136
|
+
description: z.string().max(32_768).optional(),
|
|
137
|
+
inputSchema: AttemptToolJsonSchema,
|
|
138
|
+
outputSchema: AttemptToolJsonSchema.optional(),
|
|
139
|
+
annotations: AttemptToolAnnotations.optional(),
|
|
140
|
+
icons: z.array(AttemptToolCatalogIcon).max(16).optional(),
|
|
141
|
+
source: z.enum(["opengeni", "files", "docs", "mcp", "codex_apps", "interaction"]),
|
|
142
|
+
approval: z.enum(["none", "human", "policy"]),
|
|
143
|
+
})
|
|
144
|
+
.strict(),
|
|
145
|
+
);
|
|
94
146
|
export type AttemptToolCatalogEntry = z.infer<typeof AttemptToolCatalogEntry>;
|
|
95
147
|
|
|
96
148
|
/** One canonical gateway entry. Adapter-specific names are projections, never authority. */
|
|
97
149
|
export const ToolGatewayCatalogEntry = AttemptToolCatalogEntry;
|
|
98
150
|
export type ToolGatewayCatalogEntry = AttemptToolCatalogEntry;
|
|
99
151
|
|
|
100
|
-
export const ToolGatewayCatalog =
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
const
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
152
|
+
export const ToolGatewayCatalog = /* @__PURE__ */ defineSchema(() =>
|
|
153
|
+
z
|
|
154
|
+
.object({
|
|
155
|
+
version: z.literal(TOOL_GATEWAY_CATALOG_VERSION),
|
|
156
|
+
accountId: z.string().uuid(),
|
|
157
|
+
workspaceId: z.string().uuid(),
|
|
158
|
+
generation: z.number().int().positive(),
|
|
159
|
+
digest: sha256,
|
|
160
|
+
createdAt: z.string().datetime({ offset: true }),
|
|
161
|
+
entries: z.array(ToolGatewayCatalogEntry).max(ATTEMPT_TOOL_CATALOG_MAX_ENTRIES),
|
|
162
|
+
})
|
|
163
|
+
.strict()
|
|
164
|
+
.superRefine((catalog, context) => {
|
|
165
|
+
const identities = new Set<string>();
|
|
166
|
+
const modelNames = new Set<string>();
|
|
167
|
+
const toolPaths = new Set<string>();
|
|
168
|
+
for (const [index, entry] of catalog.entries.entries()) {
|
|
169
|
+
const identity = `${entry.identity.serverId}\u0000${entry.identity.toolName}`;
|
|
170
|
+
const toolPath = entry.codemodePath.join(".");
|
|
171
|
+
if (identities.has(identity)) {
|
|
172
|
+
context.addIssue({
|
|
173
|
+
code: "custom",
|
|
174
|
+
path: ["entries", index, "identity"],
|
|
175
|
+
message: "duplicate tool identity",
|
|
176
|
+
});
|
|
177
|
+
}
|
|
178
|
+
if (modelNames.has(entry.modelName)) {
|
|
179
|
+
context.addIssue({
|
|
180
|
+
code: "custom",
|
|
181
|
+
path: ["entries", index, "modelName"],
|
|
182
|
+
message: "duplicate model tool name",
|
|
183
|
+
});
|
|
184
|
+
}
|
|
185
|
+
if (toolPaths.has(toolPath)) {
|
|
186
|
+
context.addIssue({
|
|
187
|
+
code: "custom",
|
|
188
|
+
path: ["entries", index, "codemodePath"],
|
|
189
|
+
message: "duplicate tool path",
|
|
190
|
+
});
|
|
191
|
+
}
|
|
192
|
+
identities.add(identity);
|
|
193
|
+
modelNames.add(entry.modelName);
|
|
194
|
+
toolPaths.add(toolPath);
|
|
138
195
|
}
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
toolPaths.add(toolPath);
|
|
142
|
-
}
|
|
143
|
-
});
|
|
196
|
+
}),
|
|
197
|
+
);
|
|
144
198
|
export type ToolGatewayCatalog = z.infer<typeof ToolGatewayCatalog>;
|
|
145
199
|
|
|
146
|
-
export const ToolGatewayCaller =
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
200
|
+
export const ToolGatewayCaller = /* @__PURE__ */ defineSchema(() =>
|
|
201
|
+
z
|
|
202
|
+
.object({
|
|
203
|
+
kind: z.enum(["model", "codemode", "http", "mcp", "browser"]),
|
|
204
|
+
subjectId: z.string().min(1).max(1_024),
|
|
205
|
+
})
|
|
206
|
+
.strict(),
|
|
207
|
+
);
|
|
152
208
|
export type ToolGatewayCaller = z.infer<typeof ToolGatewayCaller>;
|
|
153
209
|
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
}
|
|
210
|
+
/**
|
|
211
|
+
* MCP request `_meta` key naming the attempt surface that issued a call to the
|
|
212
|
+
* first-party server: `model` for a direct model tool call, `codemode` for a
|
|
213
|
+
* Codemode script. Only the worker's own tool gateway sets it, and only for the
|
|
214
|
+
* first-party server. A read reached the model's context only when it says
|
|
215
|
+
* `model`; a Codemode script may keep the output to itself.
|
|
216
|
+
*/
|
|
217
|
+
export const FIRST_PARTY_MCP_CALLER_META_KEY = "opengeniCaller";
|
|
218
|
+
|
|
219
|
+
export const AttemptToolCatalog = /* @__PURE__ */ defineSchema(() =>
|
|
220
|
+
z
|
|
221
|
+
.object({
|
|
222
|
+
version: z.literal(ATTEMPT_TOOL_CATALOG_VERSION),
|
|
223
|
+
accountId: z.string().uuid(),
|
|
224
|
+
workspaceId: z.string().uuid(),
|
|
225
|
+
sessionId: z.string().uuid(),
|
|
226
|
+
turnId: z.string().uuid(),
|
|
227
|
+
attemptId: z.string().uuid(),
|
|
228
|
+
executionGeneration: z.number().int().positive(),
|
|
229
|
+
generation: z.number().int().positive(),
|
|
230
|
+
digest: sha256,
|
|
231
|
+
createdAt: z.string().datetime({ offset: true }),
|
|
232
|
+
/** Native permission ceiling frozen by the worker with this catalog.
|
|
233
|
+
* Absence is legacy/unknown, not permission to derive a larger live set. */
|
|
234
|
+
firstPartyMcpPermissions: z.array(Permission).max(128).optional(),
|
|
235
|
+
entries: z.array(AttemptToolCatalogEntry).max(ATTEMPT_TOOL_CATALOG_MAX_ENTRIES),
|
|
236
|
+
})
|
|
237
|
+
.strict()
|
|
238
|
+
.superRefine((catalog, context) => {
|
|
239
|
+
const identities = new Set<string>();
|
|
240
|
+
const modelNames = new Set<string>();
|
|
241
|
+
const codemodePaths = new Set<string>();
|
|
242
|
+
for (const [index, entry] of catalog.entries.entries()) {
|
|
243
|
+
const identity = `${entry.identity.serverId}\u0000${entry.identity.toolName}`;
|
|
244
|
+
const codemodePath = entry.codemodePath.join(".");
|
|
245
|
+
if (identities.has(identity)) {
|
|
246
|
+
context.addIssue({
|
|
247
|
+
code: "custom",
|
|
248
|
+
path: ["entries", index, "identity"],
|
|
249
|
+
message: "duplicate tool identity",
|
|
250
|
+
});
|
|
251
|
+
}
|
|
252
|
+
if (modelNames.has(entry.modelName)) {
|
|
253
|
+
context.addIssue({
|
|
254
|
+
code: "custom",
|
|
255
|
+
path: ["entries", index, "modelName"],
|
|
256
|
+
message: "duplicate model tool name",
|
|
257
|
+
});
|
|
258
|
+
}
|
|
259
|
+
if (codemodePaths.has(codemodePath)) {
|
|
260
|
+
context.addIssue({
|
|
261
|
+
code: "custom",
|
|
262
|
+
path: ["entries", index, "codemodePath"],
|
|
263
|
+
message: "duplicate Codemode tool path",
|
|
264
|
+
});
|
|
265
|
+
}
|
|
266
|
+
identities.add(identity);
|
|
267
|
+
modelNames.add(entry.modelName);
|
|
268
|
+
codemodePaths.add(codemodePath);
|
|
196
269
|
}
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
codemodePaths.add(codemodePath);
|
|
200
|
-
}
|
|
201
|
-
});
|
|
270
|
+
}),
|
|
271
|
+
);
|
|
202
272
|
export type AttemptToolCatalog = z.infer<typeof AttemptToolCatalog>;
|
|
203
273
|
|
|
204
|
-
export const AttemptToolCaller =
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
274
|
+
export const AttemptToolCaller = /* @__PURE__ */ defineSchema(() =>
|
|
275
|
+
z
|
|
276
|
+
.object({
|
|
277
|
+
kind: z.enum(["model", "codemode"]),
|
|
278
|
+
subjectId: z.string().min(1).max(1_024),
|
|
279
|
+
})
|
|
280
|
+
.strict(),
|
|
281
|
+
);
|
|
210
282
|
export type AttemptToolCaller = z.infer<typeof AttemptToolCaller>;
|
|
211
283
|
|
|
212
|
-
export const AttemptToolCall =
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
284
|
+
export const AttemptToolCall = /* @__PURE__ */ defineSchema(() =>
|
|
285
|
+
z
|
|
286
|
+
.object({
|
|
287
|
+
operationId: z.string().uuid(),
|
|
288
|
+
catalogDigest: sha256,
|
|
289
|
+
identity: AttemptToolIdentity,
|
|
290
|
+
arguments: jsonObject,
|
|
291
|
+
caller: AttemptToolCaller,
|
|
292
|
+
})
|
|
293
|
+
.strict(),
|
|
294
|
+
);
|
|
221
295
|
export type AttemptToolCall = z.infer<typeof AttemptToolCall>;
|
|
222
296
|
|
|
223
|
-
const McpAnnotations =
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
.
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
297
|
+
const McpAnnotations = /* @__PURE__ */ defineSchema(() =>
|
|
298
|
+
z.record(z.string().max(256), z.json()).optional(),
|
|
299
|
+
);
|
|
300
|
+
const McpMeta = /* @__PURE__ */ defineSchema(() =>
|
|
301
|
+
z.record(z.string().max(512), z.json()).optional(),
|
|
302
|
+
);
|
|
303
|
+
|
|
304
|
+
export const AttemptToolTextContent = /* @__PURE__ */ defineSchema(() =>
|
|
305
|
+
z
|
|
306
|
+
.object({
|
|
307
|
+
type: z.literal("text"),
|
|
308
|
+
text: z.string(),
|
|
309
|
+
annotations: McpAnnotations,
|
|
310
|
+
_meta: McpMeta,
|
|
311
|
+
})
|
|
312
|
+
.loose(),
|
|
313
|
+
);
|
|
314
|
+
|
|
315
|
+
export const AttemptToolImageContent = /* @__PURE__ */ defineSchema(() =>
|
|
316
|
+
z
|
|
317
|
+
.object({
|
|
318
|
+
type: z.literal("image"),
|
|
319
|
+
data: z.string(),
|
|
320
|
+
mimeType: z.string().min(1).max(128),
|
|
321
|
+
annotations: McpAnnotations,
|
|
322
|
+
_meta: McpMeta,
|
|
323
|
+
})
|
|
324
|
+
.loose(),
|
|
325
|
+
);
|
|
326
|
+
|
|
327
|
+
export const AttemptToolAudioContent = /* @__PURE__ */ defineSchema(() =>
|
|
328
|
+
z
|
|
329
|
+
.object({
|
|
330
|
+
type: z.literal("audio"),
|
|
331
|
+
data: z.string(),
|
|
332
|
+
mimeType: z.string().min(1).max(128),
|
|
333
|
+
annotations: McpAnnotations,
|
|
334
|
+
_meta: McpMeta,
|
|
335
|
+
})
|
|
336
|
+
.loose(),
|
|
337
|
+
);
|
|
338
|
+
|
|
339
|
+
export const AttemptToolResourceLinkContent = /* @__PURE__ */ defineSchema(() =>
|
|
340
|
+
z
|
|
341
|
+
.object({
|
|
342
|
+
type: z.literal("resource_link"),
|
|
343
|
+
name: z.string().min(1).max(1_024),
|
|
344
|
+
title: z.string().max(1_024).optional(),
|
|
345
|
+
uri: z.string().min(1).max(16_384),
|
|
346
|
+
description: z.string().max(32_768).optional(),
|
|
347
|
+
mimeType: z.string().max(128).optional(),
|
|
348
|
+
size: z.number().int().nonnegative().optional(),
|
|
349
|
+
icons: z.array(AttemptToolCatalogIcon).max(16).optional(),
|
|
350
|
+
annotations: McpAnnotations,
|
|
351
|
+
_meta: McpMeta,
|
|
352
|
+
})
|
|
353
|
+
.loose(),
|
|
354
|
+
);
|
|
355
|
+
|
|
356
|
+
const AttemptToolTextResource = /* @__PURE__ */ defineSchema(() =>
|
|
357
|
+
z
|
|
358
|
+
.object({
|
|
359
|
+
uri: z.string().min(1).max(16_384),
|
|
360
|
+
mimeType: z.string().max(128).optional(),
|
|
361
|
+
text: z.string(),
|
|
362
|
+
_meta: McpMeta,
|
|
363
|
+
})
|
|
364
|
+
.loose(),
|
|
365
|
+
);
|
|
366
|
+
|
|
367
|
+
const AttemptToolBlobResource = /* @__PURE__ */ defineSchema(() =>
|
|
368
|
+
z
|
|
369
|
+
.object({
|
|
370
|
+
uri: z.string().min(1).max(16_384),
|
|
371
|
+
mimeType: z.string().max(128).optional(),
|
|
372
|
+
blob: z.string(),
|
|
373
|
+
_meta: McpMeta,
|
|
374
|
+
})
|
|
375
|
+
.loose(),
|
|
376
|
+
);
|
|
377
|
+
|
|
378
|
+
export const AttemptToolEmbeddedResourceContent = /* @__PURE__ */ defineSchema(() =>
|
|
379
|
+
z
|
|
380
|
+
.object({
|
|
381
|
+
type: z.literal("resource"),
|
|
382
|
+
resource: z.union([AttemptToolTextResource, AttemptToolBlobResource]),
|
|
383
|
+
annotations: McpAnnotations,
|
|
384
|
+
_meta: McpMeta,
|
|
385
|
+
})
|
|
386
|
+
.loose(),
|
|
387
|
+
);
|
|
388
|
+
|
|
389
|
+
export const AttemptToolContent = /* @__PURE__ */ defineSchema(() =>
|
|
390
|
+
z.discriminatedUnion("type", [
|
|
391
|
+
AttemptToolTextContent,
|
|
392
|
+
AttemptToolImageContent,
|
|
393
|
+
AttemptToolAudioContent,
|
|
394
|
+
AttemptToolResourceLinkContent,
|
|
395
|
+
AttemptToolEmbeddedResourceContent,
|
|
396
|
+
]),
|
|
397
|
+
);
|
|
304
398
|
export type AttemptToolContent = z.infer<typeof AttemptToolContent>;
|
|
305
399
|
|
|
306
400
|
/** Exact MCP-shaped result. No output type is fabricated when `outputSchema` is absent. */
|
|
307
|
-
export const AttemptToolResult =
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
401
|
+
export const AttemptToolResult = /* @__PURE__ */ defineSchema(() =>
|
|
402
|
+
z
|
|
403
|
+
.object({
|
|
404
|
+
content: z.array(AttemptToolContent).max(ATTEMPT_TOOL_CATALOG_MAX_CONTENT_BLOCKS),
|
|
405
|
+
structuredContent: jsonObject.optional(),
|
|
406
|
+
isError: z.boolean().optional(),
|
|
407
|
+
_meta: McpMeta,
|
|
408
|
+
})
|
|
409
|
+
.loose(),
|
|
410
|
+
);
|
|
315
411
|
export type AttemptToolResult = z.infer<typeof AttemptToolResult>;
|
|
316
412
|
|
|
317
413
|
export const ToolGatewayResult = AttemptToolResult;
|
|
318
414
|
export type ToolGatewayResult = AttemptToolResult;
|
|
319
415
|
|
|
320
|
-
export const ToolGatewayCallRequest =
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
416
|
+
export const ToolGatewayCallRequest = /* @__PURE__ */ defineSchema(() =>
|
|
417
|
+
z
|
|
418
|
+
.object({
|
|
419
|
+
operationId: z.string().uuid().optional(),
|
|
420
|
+
catalogDigest: sha256,
|
|
421
|
+
identity: ToolGatewayIdentity,
|
|
422
|
+
arguments: jsonObject,
|
|
423
|
+
/** Host-owned Site context. Publisher-controlled iframe code cannot set it. */
|
|
424
|
+
siteArtifactId: z.string().uuid().optional(),
|
|
425
|
+
siteVersionId: z.string().uuid().optional(),
|
|
426
|
+
/** Opaque, server-issued, single-use capability for an approval-required call. */
|
|
427
|
+
approvalToken: z
|
|
428
|
+
.string()
|
|
429
|
+
.regex(/^ogta_[A-Za-z0-9_-]{43}$/u)
|
|
430
|
+
.optional(),
|
|
431
|
+
})
|
|
432
|
+
.strict()
|
|
433
|
+
.superRefine(requireCompleteSiteToolContext),
|
|
434
|
+
);
|
|
337
435
|
export type ToolGatewayCallRequest = z.infer<typeof ToolGatewayCallRequest>;
|
|
338
436
|
|
|
339
|
-
export const ToolGatewayApprovalRequest =
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
437
|
+
export const ToolGatewayApprovalRequest = /* @__PURE__ */ defineSchema(() =>
|
|
438
|
+
z
|
|
439
|
+
.object({
|
|
440
|
+
operationId: z.string().uuid(),
|
|
441
|
+
catalogDigest: sha256,
|
|
442
|
+
identity: ToolGatewayIdentity,
|
|
443
|
+
arguments: jsonObject,
|
|
444
|
+
})
|
|
445
|
+
.strict(),
|
|
446
|
+
);
|
|
347
447
|
export type ToolGatewayApprovalRequest = z.infer<typeof ToolGatewayApprovalRequest>;
|
|
348
448
|
|
|
349
|
-
export const ToolGatewayApprovalResponse =
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
449
|
+
export const ToolGatewayApprovalResponse = /* @__PURE__ */ defineSchema(() =>
|
|
450
|
+
z
|
|
451
|
+
.object({
|
|
452
|
+
operationId: z.string().uuid(),
|
|
453
|
+
catalogDigest: sha256,
|
|
454
|
+
identity: ToolGatewayIdentity,
|
|
455
|
+
approvalToken: z.string().regex(/^ogta_[A-Za-z0-9_-]{43}$/u),
|
|
456
|
+
expiresAt: z.string().datetime({ offset: true }),
|
|
457
|
+
})
|
|
458
|
+
.strict(),
|
|
459
|
+
);
|
|
358
460
|
export type ToolGatewayApprovalResponse = z.infer<typeof ToolGatewayApprovalResponse>;
|
|
359
461
|
|
|
360
|
-
export const ToolGatewayCallResponse =
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
462
|
+
export const ToolGatewayCallResponse = /* @__PURE__ */ defineSchema(() =>
|
|
463
|
+
z
|
|
464
|
+
.object({
|
|
465
|
+
operationId: z.string().uuid(),
|
|
466
|
+
catalogDigest: sha256,
|
|
467
|
+
result: ToolGatewayResult,
|
|
468
|
+
})
|
|
469
|
+
.strict(),
|
|
470
|
+
);
|
|
367
471
|
export type ToolGatewayCallResponse = z.infer<typeof ToolGatewayCallResponse>;
|
|
368
472
|
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
473
|
+
/** A selector, never an authority claim. Symbolic paths use the canonical projection. */
|
|
474
|
+
export const ToolGatewayTarget = /* @__PURE__ */ defineSchema(() =>
|
|
475
|
+
z.union([
|
|
476
|
+
z.object({ identity: ToolGatewayIdentity }).strict(),
|
|
477
|
+
z.object({ path: z.array(namespaceSegment).min(2).max(8) }).strict(),
|
|
478
|
+
]),
|
|
479
|
+
);
|
|
480
|
+
export type ToolGatewayTarget = z.infer<typeof ToolGatewayTarget>;
|
|
481
|
+
|
|
482
|
+
const targetContext = {
|
|
483
|
+
siteArtifactId: z.string().uuid().optional(),
|
|
484
|
+
siteVersionId: z.string().uuid().optional(),
|
|
485
|
+
};
|
|
486
|
+
export const ToolGatewayResolveRequest = /* @__PURE__ */ defineSchema(() =>
|
|
487
|
+
z
|
|
488
|
+
.object({
|
|
489
|
+
target: ToolGatewayTarget,
|
|
490
|
+
...targetContext,
|
|
491
|
+
})
|
|
492
|
+
.strict()
|
|
493
|
+
.superRefine(requireCompleteSiteToolContext),
|
|
494
|
+
);
|
|
495
|
+
export type ToolGatewayResolveRequest = z.infer<typeof ToolGatewayResolveRequest>;
|
|
496
|
+
|
|
497
|
+
export const ToolGatewayResolvedTool = /* @__PURE__ */ defineSchema(() =>
|
|
498
|
+
z
|
|
499
|
+
.object({
|
|
500
|
+
version: z.literal(1),
|
|
501
|
+
definitionDigest: sha256,
|
|
502
|
+
entry: ToolGatewayCatalogEntry,
|
|
503
|
+
})
|
|
504
|
+
.strict(),
|
|
505
|
+
);
|
|
506
|
+
export type ToolGatewayResolvedTool = z.infer<typeof ToolGatewayResolvedTool>;
|
|
507
|
+
|
|
508
|
+
export const ToolGatewayInvokeRequest = /* @__PURE__ */ defineSchema(() =>
|
|
509
|
+
z
|
|
510
|
+
.object({
|
|
511
|
+
target: ToolGatewayTarget,
|
|
512
|
+
operationId: z.string().uuid(),
|
|
513
|
+
arguments: jsonObject,
|
|
514
|
+
/** Omission explicitly selects the current authorized definition. */
|
|
515
|
+
expectedDefinitionDigest: sha256.optional(),
|
|
516
|
+
approvalToken: z
|
|
517
|
+
.string()
|
|
518
|
+
.regex(/^ogta_[A-Za-z0-9_-]{43}$/u)
|
|
519
|
+
.optional(),
|
|
520
|
+
...targetContext,
|
|
521
|
+
})
|
|
522
|
+
.strict()
|
|
523
|
+
.superRefine(requireCompleteSiteToolContext),
|
|
524
|
+
);
|
|
525
|
+
export type ToolGatewayInvokeRequest = z.infer<typeof ToolGatewayInvokeRequest>;
|
|
526
|
+
|
|
527
|
+
export const ToolGatewayInvokeResponse = /* @__PURE__ */ defineSchema(() =>
|
|
528
|
+
z
|
|
529
|
+
.object({
|
|
530
|
+
operationId: z.string().uuid(),
|
|
531
|
+
tool: ToolGatewayResolvedTool,
|
|
532
|
+
result: ToolGatewayResult,
|
|
533
|
+
})
|
|
534
|
+
.strict(),
|
|
535
|
+
);
|
|
536
|
+
export type ToolGatewayInvokeResponse = z.infer<typeof ToolGatewayInvokeResponse>;
|
|
537
|
+
|
|
538
|
+
export const ToolGatewayTargetApprovalRequest = /* @__PURE__ */ defineSchema(() =>
|
|
539
|
+
z
|
|
540
|
+
.object({
|
|
541
|
+
identity: ToolGatewayIdentity,
|
|
542
|
+
operationId: z.string().uuid(),
|
|
543
|
+
arguments: jsonObject,
|
|
544
|
+
expectedDefinitionDigest: sha256,
|
|
545
|
+
...targetContext,
|
|
546
|
+
})
|
|
547
|
+
.strict()
|
|
548
|
+
.superRefine(requireCompleteSiteToolContext),
|
|
549
|
+
);
|
|
550
|
+
export type ToolGatewayTargetApprovalRequest = z.infer<typeof ToolGatewayTargetApprovalRequest>;
|
|
551
|
+
export const ToolGatewayTargetApprovalResponse = /* @__PURE__ */ defineSchema(() =>
|
|
552
|
+
z
|
|
553
|
+
.object({
|
|
554
|
+
bindingVersion: z.literal(2),
|
|
555
|
+
operationId: z.string().uuid(),
|
|
556
|
+
tool: ToolGatewayResolvedTool,
|
|
557
|
+
approvalToken: z.string().regex(/^ogta_[A-Za-z0-9_-]{43}$/u),
|
|
558
|
+
expiresAt: z.string().datetime({ offset: true }),
|
|
559
|
+
})
|
|
560
|
+
.strict(),
|
|
561
|
+
);
|
|
562
|
+
export type ToolGatewayTargetApprovalResponse = z.infer<typeof ToolGatewayTargetApprovalResponse>;
|
|
563
|
+
|
|
564
|
+
/** Bounded compatibility manifest, not workspace discovery. */
|
|
565
|
+
export const ToolGatewayManifestRequest = /* @__PURE__ */ defineSchema(() =>
|
|
566
|
+
z
|
|
567
|
+
.object({
|
|
568
|
+
identities: z.array(ToolGatewayIdentity).max(256),
|
|
569
|
+
...targetContext,
|
|
570
|
+
})
|
|
571
|
+
.strict()
|
|
572
|
+
.superRefine(requireCompleteSiteToolContext),
|
|
573
|
+
);
|
|
574
|
+
export type ToolGatewayManifestRequest = z.infer<typeof ToolGatewayManifestRequest>;
|
|
575
|
+
export const ToolGatewayManifestResponse = /* @__PURE__ */ defineSchema(() =>
|
|
576
|
+
z
|
|
577
|
+
.object({
|
|
578
|
+
version: z.literal(1),
|
|
579
|
+
digest: sha256,
|
|
580
|
+
tools: z.array(ToolGatewayResolvedTool).max(256),
|
|
581
|
+
})
|
|
582
|
+
.strict(),
|
|
583
|
+
);
|
|
584
|
+
export type ToolGatewayManifestResponse = z.infer<typeof ToolGatewayManifestResponse>;
|
|
585
|
+
|
|
586
|
+
export const ToolGatewayDeclarationsResponse = /* @__PURE__ */ defineSchema(() =>
|
|
587
|
+
z
|
|
588
|
+
.object({
|
|
589
|
+
catalogDigest: sha256,
|
|
590
|
+
moduleSpecifier: z.string().min(1).max(512),
|
|
591
|
+
source: z.string().max(16 * 1024 * 1024),
|
|
592
|
+
})
|
|
593
|
+
.strict(),
|
|
594
|
+
);
|
|
376
595
|
export type ToolGatewayDeclarationsResponse = z.infer<typeof ToolGatewayDeclarationsResponse>;
|
|
377
596
|
|
|
378
597
|
function requireCompleteSiteToolContext(
|
|
@@ -387,14 +606,17 @@ function requireCompleteSiteToolContext(
|
|
|
387
606
|
});
|
|
388
607
|
}
|
|
389
608
|
|
|
390
|
-
export const CodemodeOperationState =
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
609
|
+
export const CodemodeOperationState = /* @__PURE__ */ defineSchema(() =>
|
|
610
|
+
z.enum([
|
|
611
|
+
"queued",
|
|
612
|
+
"waiting_for_approval",
|
|
613
|
+
"running",
|
|
614
|
+
"completed",
|
|
615
|
+
"failed",
|
|
616
|
+
"outcome_unknown",
|
|
617
|
+
"cancelled",
|
|
618
|
+
]),
|
|
619
|
+
);
|
|
398
620
|
export type CodemodeOperationState = z.infer<typeof CodemodeOperationState>;
|
|
399
621
|
|
|
400
622
|
/**
|
|
@@ -402,69 +624,84 @@ export type CodemodeOperationState = z.infer<typeof CodemodeOperationState>;
|
|
|
402
624
|
* idempotency key to one exact call; callers may safely poll/retry the same
|
|
403
625
|
* operation id but may never repurpose it.
|
|
404
626
|
*/
|
|
405
|
-
export const CodemodeOperation =
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
627
|
+
export const CodemodeOperation = /* @__PURE__ */ defineSchema(() =>
|
|
628
|
+
z
|
|
629
|
+
.object({
|
|
630
|
+
version: z.literal(CODEMODE_OPERATION_VERSION),
|
|
631
|
+
operationId: z.string().uuid(),
|
|
632
|
+
accountId: z.string().uuid(),
|
|
633
|
+
workspaceId: z.string().uuid(),
|
|
634
|
+
sessionId: z.string().uuid(),
|
|
635
|
+
turnId: z.string().uuid(),
|
|
636
|
+
attemptId: z.string().uuid(),
|
|
637
|
+
executionGeneration: z.number().int().positive(),
|
|
638
|
+
catalogDigest: sha256,
|
|
639
|
+
requestDigest: sha256,
|
|
640
|
+
identity: AttemptToolIdentity,
|
|
641
|
+
arguments: jsonObject,
|
|
642
|
+
caller: AttemptToolCaller.refine((caller) => caller.kind === "codemode", {
|
|
643
|
+
message: "Codemode operation caller must be codemode",
|
|
644
|
+
}),
|
|
645
|
+
state: CodemodeOperationState,
|
|
646
|
+
/** Present only for clients that acknowledged durable approval continuation. */
|
|
647
|
+
durableApproval: z.literal(true).optional(),
|
|
648
|
+
approvalRequestId: z.string().uuid().optional(),
|
|
649
|
+
result: AttemptToolResult.nullable(),
|
|
650
|
+
errorCode: z.string().min(1).max(128).nullable(),
|
|
651
|
+
errorMessage: z.string().min(1).max(4_096).nullable(),
|
|
652
|
+
createdAt: z.string().datetime({ offset: true }),
|
|
653
|
+
claimedAt: z.string().datetime({ offset: true }).nullable(),
|
|
654
|
+
executionStartedAt: z.string().datetime({ offset: true }).nullable(),
|
|
655
|
+
completedAt: z.string().datetime({ offset: true }).nullable(),
|
|
656
|
+
updatedAt: z.string().datetime({ offset: true }),
|
|
657
|
+
})
|
|
658
|
+
.strict(),
|
|
659
|
+
);
|
|
433
660
|
export type CodemodeOperation = z.infer<typeof CodemodeOperation>;
|
|
434
661
|
|
|
435
|
-
export const CodemodeCallRequest =
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
662
|
+
export const CodemodeCallRequest = /* @__PURE__ */ defineSchema(() =>
|
|
663
|
+
z
|
|
664
|
+
.object({
|
|
665
|
+
/** Opt-in transport capability, never permission to execute. */
|
|
666
|
+
durableApproval: z.literal(true).optional(),
|
|
667
|
+
operationId: z.string().uuid(),
|
|
668
|
+
catalogDigest: sha256,
|
|
669
|
+
identity: AttemptToolIdentity,
|
|
670
|
+
arguments: jsonObject,
|
|
671
|
+
})
|
|
672
|
+
.strict(),
|
|
673
|
+
);
|
|
443
674
|
export type CodemodeCallRequest = z.infer<typeof CodemodeCallRequest>;
|
|
444
675
|
|
|
445
|
-
export const CodemodeCallSubmission =
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
676
|
+
export const CodemodeCallSubmission = /* @__PURE__ */ defineSchema(() =>
|
|
677
|
+
z
|
|
678
|
+
.object({
|
|
679
|
+
operation: CodemodeOperation,
|
|
680
|
+
dispatch: z.enum(["accepted", "already_running", "terminal", "unavailable", "rejected"]),
|
|
681
|
+
})
|
|
682
|
+
.strict(),
|
|
683
|
+
);
|
|
451
684
|
export type CodemodeCallSubmission = z.infer<typeof CodemodeCallSubmission>;
|
|
452
685
|
|
|
453
686
|
/** Tiny NATS wake-up. Postgres, never the broker payload, is durable truth. */
|
|
454
|
-
export const CodemodeDispatchRequest =
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
687
|
+
export const CodemodeDispatchRequest = /* @__PURE__ */ defineSchema(() =>
|
|
688
|
+
z
|
|
689
|
+
.object({
|
|
690
|
+
version: z.literal(CODEMODE_OPERATION_VERSION),
|
|
691
|
+
operationId: z.string().uuid(),
|
|
692
|
+
catalogDigest: sha256,
|
|
693
|
+
})
|
|
694
|
+
.strict(),
|
|
695
|
+
);
|
|
461
696
|
export type CodemodeDispatchRequest = z.infer<typeof CodemodeDispatchRequest>;
|
|
462
697
|
|
|
463
|
-
export const CodemodeDispatchAck =
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
698
|
+
export const CodemodeDispatchAck = /* @__PURE__ */ defineSchema(() =>
|
|
699
|
+
z
|
|
700
|
+
.object({
|
|
701
|
+
version: z.literal(CODEMODE_OPERATION_VERSION),
|
|
702
|
+
operationId: z.string().uuid(),
|
|
703
|
+
status: z.enum(["accepted", "already_running", "terminal", "unavailable", "rejected"]),
|
|
704
|
+
})
|
|
705
|
+
.strict(),
|
|
706
|
+
);
|
|
470
707
|
export type CodemodeDispatchAck = z.infer<typeof CodemodeDispatchAck>;
|