@opengeni/contracts 0.44.1 → 1.0.0
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 +70 -0
- package/dist/agent-config.d.ts +869 -0
- package/dist/agent-instruction-changes.d.ts +110 -0
- package/dist/agent-learning.d.ts +243 -0
- package/dist/agent-topology.d.ts +292 -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 +161 -0
- package/dist/artifacts.d.ts +135 -11
- 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 +2 -0
- package/dist/atlassian.js +27 -11
- 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 +40 -0
- package/dist/canonical-human-identities.d.ts +157 -0
- package/dist/canonical-human-identities.js +23 -0
- package/dist/canonical-human-identities.js.map +1 -0
- package/dist/chunk-2ACYHZFB.js +292 -0
- package/dist/chunk-2ACYHZFB.js.map +1 -0
- package/dist/chunk-2VORLN2R.js +353 -0
- package/dist/chunk-2VORLN2R.js.map +1 -0
- package/dist/{chunk-Y3MLSLB4.js → chunk-3SIZGL3O.js} +42 -30
- package/dist/chunk-3SIZGL3O.js.map +1 -0
- package/dist/chunk-46KLD2UH.js +186 -0
- package/dist/chunk-46KLD2UH.js.map +1 -0
- package/dist/chunk-4JGHSSB7.js +11 -0
- package/dist/chunk-4JGHSSB7.js.map +1 -0
- package/dist/{chunk-52SGB2QO.js → chunk-5IXYF6XN.js} +50 -10
- package/dist/chunk-5IXYF6XN.js.map +1 -0
- package/dist/chunk-BCS7WHCK.js +139 -0
- package/dist/chunk-BCS7WHCK.js.map +1 -0
- package/dist/chunk-EK7NDGFR.js +128 -0
- package/dist/chunk-EK7NDGFR.js.map +1 -0
- package/dist/{chunk-5UDNP7AO.js → chunk-FZ6BXQHL.js} +78 -38
- package/dist/chunk-FZ6BXQHL.js.map +1 -0
- package/dist/chunk-GRG7PHWQ.js +25 -0
- package/dist/chunk-GRG7PHWQ.js.map +1 -0
- package/dist/chunk-JUFK3T4Q.js +80 -0
- package/dist/chunk-JUFK3T4Q.js.map +1 -0
- package/dist/chunk-KHHZTBP7.js +11 -0
- package/dist/chunk-KHHZTBP7.js.map +1 -0
- package/dist/chunk-KR2V42UZ.js +187 -0
- package/dist/chunk-KR2V42UZ.js.map +1 -0
- package/dist/chunk-MZLBPKFE.js +168 -0
- package/dist/chunk-MZLBPKFE.js.map +1 -0
- package/dist/{chunk-H5BVCZKF.js → chunk-NRMCVHAU.js} +6 -5
- package/dist/chunk-NRMCVHAU.js.map +1 -0
- package/dist/{chunk-TZ6YEYN4.js → chunk-NVJMJWLL.js} +3 -1
- package/dist/chunk-NVJMJWLL.js.map +1 -0
- package/dist/chunk-O77VSFYZ.js +70 -0
- package/dist/chunk-O77VSFYZ.js.map +1 -0
- package/dist/chunk-PX3VCKAU.js +29 -0
- package/dist/chunk-PX3VCKAU.js.map +1 -0
- package/dist/chunk-QR5D2IQC.js +61 -0
- package/dist/chunk-QR5D2IQC.js.map +1 -0
- package/dist/chunk-RJ76DRPO.js +117 -0
- package/dist/chunk-RJ76DRPO.js.map +1 -0
- package/dist/chunk-RKX3NQYS.js +28 -0
- package/dist/chunk-RKX3NQYS.js.map +1 -0
- package/dist/{chunk-FJBG5E4O.js → chunk-SIOU2K4U.js} +45 -22
- package/dist/chunk-SIOU2K4U.js.map +1 -0
- package/dist/chunk-TSCDAGET.js +75 -0
- package/dist/chunk-TSCDAGET.js.map +1 -0
- package/dist/{chunk-LSB7GRLG.js → chunk-TXTQIYCV.js} +15 -11
- package/dist/chunk-TXTQIYCV.js.map +1 -0
- package/dist/chunk-X7ETVO4P.js +26544 -0
- package/dist/chunk-X7ETVO4P.js.map +1 -0
- package/dist/{chunk-CADSX6UN.js → chunk-Y3KNXVTD.js} +2 -2
- package/dist/chunk-YBW5JSA3.js +251 -0
- package/dist/chunk-YBW5JSA3.js.map +1 -0
- package/dist/chunk-YRXAWWCU.js +45 -0
- package/dist/chunk-YRXAWWCU.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 +109 -0
- package/dist/client-error-report.js +87 -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.d.ts +23 -0
- package/dist/codex-provider-account-authority.js +23 -0
- package/dist/codex-provider-account-authority.js.map +1 -0
- package/dist/company-brain-governed-writes.d.ts +475 -0
- package/dist/company-brain.d.ts +336 -0
- package/dist/company-profile.d.ts +566 -0
- package/dist/connect.d.ts +325 -0
- package/dist/connect.js +191 -0
- package/dist/connect.js.map +1 -0
- 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 +193 -0
- package/dist/connection-authority.js +50 -0
- package/dist/connection-authority.js.map +1 -0
- package/dist/connector-attachments.d.ts +95 -0
- package/dist/connector-attachments.js +51 -0
- package/dist/connector-attachments.js.map +1 -0
- package/dist/connector-tool-permissions.d.ts +73 -0
- package/dist/direct-model-provider.d.ts +36 -0
- package/dist/editable-artifact-codec-registry.d.ts +16 -7
- package/dist/editable-artifact-codec-registry.js +19 -9
- package/dist/editable-artifact-committed-transaction.d.ts +2 -2
- package/dist/editable-artifact-committed-transaction.js +2 -2
- package/dist/editable-artifact-live.d.ts +11 -12
- package/dist/editable-artifact-live.js +110 -45
- package/dist/editable-artifact-live.js.map +1 -1
- package/dist/editable-artifact-serialized-commit.d.ts +2 -1
- package/dist/editable-artifact-serialized-commit.js +8 -7
- package/dist/editable-artifact-versions.d.ts +20 -5
- package/dist/editable-artifact-versions.js +23 -5
- package/dist/editable-artifacts.d.ts +2 -0
- package/dist/editable-artifacts.js +48 -36
- package/dist/external-identities.d.ts +784 -0
- package/dist/external-identities.js +44 -0
- package/dist/external-identities.js.map +1 -0
- package/dist/feedback.d.ts +51 -0
- package/dist/github-repository-contracts.d.ts +36 -0
- package/dist/github-repository-contracts.js +59 -0
- package/dist/github-repository-contracts.js.map +1 -0
- package/dist/github-repository.d.ts +14 -0
- package/dist/github-repository.js +36 -0
- package/dist/github-repository.js.map +1 -0
- package/dist/google-drive.d.ts +90 -1
- package/dist/google-drive.js +91 -15
- package/dist/google-drive.js.map +1 -1
- package/dist/governed-learning-activation.d.ts +154 -0
- package/dist/governed-learning-evaluator.d.ts +152 -0
- package/dist/host-mcp-bindings.d.ts +326 -0
- package/dist/host-mcp-bindings.js +252 -0
- package/dist/host-mcp-bindings.js.map +1 -0
- package/dist/image-generation.d.ts +1 -0
- package/dist/index.d.ts +27574 -5374
- package/dist/index.js +2531 -177
- package/dist/insights-usage.d.ts +877 -0
- package/dist/insights-usage.js +509 -0
- package/dist/insights-usage.js.map +1 -0
- package/dist/interaction.d.ts +1752 -13
- package/dist/knowledge-entries.d.ts +982 -0
- package/dist/knowledge-preparation.d.ts +237 -0
- package/dist/knowledge.d.ts +740 -0
- package/dist/managed-auth-session-sets.d.ts +241 -0
- package/dist/managed-auth-session-sets.js +191 -0
- package/dist/managed-auth-session-sets.js.map +1 -0
- package/dist/managed-sign-in-methods.d.ts +56 -0
- package/dist/managed-sign-in-methods.js +46 -0
- package/dist/managed-sign-in-methods.js.map +1 -0
- package/dist/mcp-catalog-limits.d.ts +2 -0
- package/dist/mcp-endpoint.d.ts +7 -0
- package/dist/mcp-endpoint.js +9 -0
- package/dist/mcp-endpoint.js.map +1 -0
- package/dist/mcp-oauth.d.ts +71 -0
- package/dist/modal-native-proof-v2.d.ts +587 -0
- package/dist/modal-native-proof-v2.js +37 -0
- package/dist/modal-native-proof-v2.js.map +1 -0
- package/dist/model-availability.d.ts +15 -0
- package/dist/model-connection-access.d.ts +24 -0
- package/dist/model-context-inspector.d.ts +329 -0
- package/dist/model-display.d.ts +38 -0
- package/dist/model-display.js +134 -0
- package/dist/model-display.js.map +1 -0
- package/dist/model-picker-order.d.ts +25 -0
- package/dist/model-picker-order.js +42 -0
- package/dist/model-picker-order.js.map +1 -0
- package/dist/organization-access.d.ts +231 -0
- package/dist/organization-access.js +34 -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 +1022 -0
- package/dist/organization-model-usage.d.ts +146 -0
- package/dist/organization-model-usage.js +67 -0
- package/dist/organization-model-usage.js.map +1 -0
- package/dist/organization-recovery.d.ts +337 -0
- package/dist/organization-recovery.js +37 -0
- package/dist/organization-recovery.js.map +1 -0
- package/dist/organization-usage.d.ts +138 -0
- package/dist/permissions.d.ts +54 -0
- package/dist/personal-github.d.ts +320 -0
- package/dist/personal-github.js +222 -0
- package/dist/personal-github.js.map +1 -0
- package/dist/plugin-discovery.d.ts +35 -0
- package/dist/plugin-discovery.js +7 -0
- package/dist/plugin-discovery.js.map +1 -0
- package/dist/preference-registry.d.ts +44 -1
- package/dist/product-analytics.d.ts +113 -0
- package/dist/product-lifecycle-facts.d.ts +73 -0
- package/dist/remember.d.ts +350 -0
- package/dist/retained-output.d.ts +8 -0
- package/dist/sandbox-file-artifacts.d.ts +57 -0
- package/dist/sandbox-provider-command.d.ts +113 -0
- package/dist/sandbox-recovery.d.ts +146 -0
- package/dist/sandbox-snapshots.d.ts +39 -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 +947 -0
- package/dist/session-list-entries.d.ts +4 -0
- package/dist/session-list-entries.js +51 -0
- package/dist/session-list-entries.js.map +1 -0
- package/dist/session-mcp-projections.d.ts +215 -0
- package/dist/session-message-search.d.ts +68 -0
- package/dist/session-titles.d.ts +68 -0
- package/dist/session-titles.js +25 -0
- package/dist/session-titles.js.map +1 -0
- package/dist/session-topology-primitives.d.ts +22 -0
- package/dist/signup-attribution.d.ts +39 -0
- package/dist/site-request-headers.test.d.ts +1 -0
- package/dist/site-session-http.d.ts +11 -0
- package/dist/site-session-http.js +11 -0
- package/dist/site-session-http.js.map +1 -0
- package/dist/skill-catalog-context.d.ts +7 -0
- package/dist/skill-files.d.ts +12 -0
- package/dist/skill-metadata.d.ts +9 -0
- package/dist/skill-use.d.ts +61 -0
- package/dist/skills.d.ts +185 -0
- package/dist/slack-bot-scopes.d.ts +46 -21
- package/dist/slack-bot-scopes.js +14 -3
- package/dist/slack-rest-mcp.d.ts +31 -0
- package/dist/slack-rest-mcp.js +19 -0
- package/dist/slack-rest-mcp.js.map +1 -0
- package/dist/slack-task-policy.d.ts +294 -0
- package/dist/spreadsheet-artifact-commands.d.ts +2 -3
- package/dist/spreadsheet-artifact-commands.js +4 -2
- package/dist/spreadsheet-artifact-query.js +3 -2
- package/dist/subscription-account-pools.d.ts +292 -0
- package/dist/task-notes.d.ts +169 -0
- package/dist/tool-catalog.d.ts +286 -0
- package/dist/tool-result-spill.d.ts +16 -0
- package/dist/usage-allowances.d.ts +285 -0
- package/dist/usage-allowances.js +49 -0
- package/dist/usage-allowances.js.map +1 -0
- package/dist/video-generation.d.ts +51 -0
- package/dist/video-generation.js +9 -1
- package/dist/work-claims.d.ts +411 -0
- package/dist/workspace-instruction-policies.d.ts +94 -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 +948 -0
- package/dist/workspace-learning-administration.d.ts +289 -0
- package/dist/workspace-learning-policy.d.ts +1 -1
- package/dist/workspace-state.d.ts +85 -416
- package/dist/xai-provider-account-authority.d.ts +26 -0
- package/dist/xai-provider-account-authority.js +9 -0
- package/dist/xai-provider-account-authority.js.map +1 -0
- package/package.json +146 -1
- package/src/agent-authored-durable-text.ts +116 -0
- package/src/agent-config.ts +1527 -0
- package/src/agent-instruction-changes.ts +98 -0
- package/src/agent-learning.ts +161 -0
- package/src/agent-topology.ts +69 -0
- package/src/allowance-refusal.ts +81 -0
- package/src/analytics-consent-report.ts +20 -0
- package/src/api-key-presets.ts +25 -0
- package/src/artifact-catalog.ts +60 -0
- package/src/artifacts.ts +146 -18
- package/src/atlassian-native-retirement.ts +33 -0
- package/src/browser-storage.ts +10 -0
- package/src/bundled-skills.ts +73 -0
- package/src/canonical-human-identities.ts +93 -0
- package/src/claude-provider-account-authority.ts +12 -0
- package/src/claude-subscription-oauth.ts +62 -0
- package/src/claude-subscription-usage.ts +59 -0
- package/src/client-error-report.ts +184 -0
- package/src/code-search.ts +105 -0
- package/src/codex-provider-account-authority.ts +37 -0
- package/src/company-brain-governed-writes.ts +356 -0
- package/src/company-brain.ts +201 -0
- package/src/company-profile.ts +167 -1
- package/src/connect.ts +202 -0
- package/src/connection-account-label.ts +46 -0
- package/src/connection-authority.ts +213 -0
- package/src/connector-attachments.ts +327 -0
- package/src/connector-tool-permissions.ts +60 -0
- package/src/direct-model-provider.ts +98 -0
- package/src/editable-artifact-codec-registry.ts +55 -17
- package/src/editable-artifact-committed-transaction.ts +44 -31
- package/src/editable-artifact-live.ts +123 -57
- package/src/editable-artifact-serialized-commit.ts +2 -1
- package/src/editable-artifact-versions.ts +26 -5
- package/src/editable-artifacts.ts +2 -0
- package/src/external-identities.ts +285 -0
- package/src/feedback.ts +39 -0
- package/src/github-repository-contracts.ts +85 -0
- package/src/github-repository.ts +59 -0
- package/src/google-drive.ts +76 -4
- package/src/governed-learning-activation.ts +191 -0
- package/src/governed-learning-evaluator.ts +176 -0
- package/src/host-mcp-bindings.ts +298 -0
- package/src/image-generation.ts +8 -2
- package/src/index.ts +8019 -1799
- package/src/insights-usage.ts +679 -0
- package/src/interaction.ts +1102 -6
- package/src/knowledge-entries.ts +375 -0
- package/src/knowledge-preparation.ts +50 -0
- package/src/knowledge.ts +335 -0
- package/src/managed-auth-session-sets.ts +253 -0
- package/src/managed-sign-in-methods.ts +37 -0
- package/src/mcp-catalog-limits.ts +2 -0
- package/src/mcp-endpoint.ts +30 -0
- package/src/mcp-oauth.ts +66 -0
- package/src/modal-native-proof-v2.ts +398 -0
- package/src/model-availability.ts +22 -0
- package/src/model-connection-access.ts +17 -0
- package/src/model-context-inspector.ts +139 -0
- package/src/model-display.ts +195 -0
- package/src/model-picker-order.ts +97 -0
- package/src/organization-access.ts +176 -0
- package/src/organization-integration-policy.ts +54 -0
- package/src/organization-membership-lifecycle.ts +559 -0
- package/src/organization-model-usage.ts +72 -0
- package/src/organization-recovery.ts +186 -0
- package/src/organization-usage.ts +79 -0
- package/src/permissions.ts +58 -0
- package/src/personal-github.ts +267 -0
- package/src/plugin-discovery.ts +33 -0
- package/src/preference-registry.ts +20 -1
- package/src/product-analytics.ts +253 -0
- package/src/product-lifecycle-facts.ts +121 -0
- package/src/remember.ts +243 -0
- package/src/retained-output.ts +20 -3
- package/src/sandbox-file-artifacts.ts +73 -0
- package/src/sandbox-provider-command.ts +82 -0
- package/src/sandbox-recovery.ts +116 -0
- package/src/sandbox-snapshots.ts +142 -0
- package/src/session-final-reply.ts +16 -0
- package/src/session-goal-reports.ts +55 -0
- package/src/session-history-import.ts +159 -0
- package/src/session-list-entries.ts +91 -0
- package/src/session-mcp-projections.ts +273 -0
- package/src/session-message-search.ts +54 -0
- package/src/session-titles.ts +467 -0
- package/src/session-topology-primitives.ts +21 -0
- package/src/signup-attribution.ts +81 -0
- package/src/site-request-headers.test.ts +28 -0
- package/src/site-session-http.ts +63 -0
- package/src/skill-catalog-context.ts +50 -0
- package/src/skill-files.ts +52 -0
- package/src/skill-metadata.ts +40 -0
- package/src/skill-use.ts +77 -0
- package/src/skills.ts +136 -0
- package/src/slack-bot-scopes.ts +106 -42
- package/src/slack-rest-mcp.ts +194 -0
- package/src/slack-task-policy.ts +215 -0
- package/src/spreadsheet-artifact-commands.ts +12 -13
- package/src/subscription-account-pools.ts +44 -0
- package/src/task-notes.ts +105 -0
- package/src/tool-catalog.ts +155 -0
- package/src/tool-result-spill.ts +35 -0
- package/src/usage-allowances.ts +187 -0
- package/src/video-generation.ts +43 -6
- package/src/work-claims.ts +266 -0
- package/src/workspace-instruction-policies.ts +31 -0
- package/src/workspace-integration-wire.ts +99 -0
- package/src/workspace-integrations.ts +640 -0
- package/src/workspace-learning-administration.ts +88 -0
- package/src/workspace-learning-policy.ts +4 -3
- package/src/workspace-state.ts +16 -126
- package/src/xai-provider-account-authority.ts +38 -0
- package/dist/chunk-52SGB2QO.js.map +0 -1
- package/dist/chunk-5UDNP7AO.js.map +0 -1
- package/dist/chunk-BVGIYW7D.js +0 -11
- package/dist/chunk-BVGIYW7D.js.map +0 -1
- package/dist/chunk-FJBG5E4O.js.map +0 -1
- package/dist/chunk-H5BVCZKF.js.map +0 -1
- package/dist/chunk-LSB7GRLG.js.map +0 -1
- package/dist/chunk-TZ6YEYN4.js.map +0 -1
- package/dist/chunk-VA22KRHS.js +0 -15177
- package/dist/chunk-VA22KRHS.js.map +0 -1
- package/dist/chunk-Y3MLSLB4.js.map +0 -1
- /package/dist/{chunk-CADSX6UN.js.map → chunk-Y3KNXVTD.js.map} +0 -0
|
@@ -0,0 +1,326 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
export { HostMcpCreateSelections, type HostMcpCreateSelection } from "./index.js";
|
|
3
|
+
import { McpServerConnectionRef } from "./index.js";
|
|
4
|
+
export declare const HostMcpOwnerSubject: z.ZodUnion<readonly [z.ZodString, z.ZodString]>;
|
|
5
|
+
/** Credential-free, immutable destination and host connection selection. */
|
|
6
|
+
export declare const HostMcpBindingDefinition: z.ZodObject<{
|
|
7
|
+
serverId: z.ZodString;
|
|
8
|
+
destinationUrl: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
|
|
9
|
+
connectionRef: z.ZodObject<{
|
|
10
|
+
connectionId: z.ZodOptional<z.ZodString>;
|
|
11
|
+
accountSelection: z.ZodOptional<z.ZodLiteral<"all_eligible">>;
|
|
12
|
+
authoritySource: z.ZodOptional<z.ZodLiteral<"host">>;
|
|
13
|
+
hostBinding: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
|
|
14
|
+
bindingId: z.ZodString;
|
|
15
|
+
generation: z.ZodNumber;
|
|
16
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
17
|
+
selection: z.ZodLiteral<"accepted_turn">;
|
|
18
|
+
}, z.core.$strict>]>>;
|
|
19
|
+
provider: z.ZodOptional<z.ZodString>;
|
|
20
|
+
providerDomain: z.ZodString;
|
|
21
|
+
kind: z.ZodOptional<z.ZodEnum<{
|
|
22
|
+
api_key: "api_key";
|
|
23
|
+
app_install: "app_install";
|
|
24
|
+
delegated: "delegated";
|
|
25
|
+
oauth2: "oauth2";
|
|
26
|
+
}>>;
|
|
27
|
+
scopes: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
28
|
+
resource: z.ZodOptional<z.ZodString>;
|
|
29
|
+
selectedResources: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
30
|
+
id: z.ZodString;
|
|
31
|
+
kind: z.ZodLiteral<"repository">;
|
|
32
|
+
}, z.core.$strict>>>;
|
|
33
|
+
subjectScope: z.ZodOptional<z.ZodEnum<{
|
|
34
|
+
subject: "subject";
|
|
35
|
+
workspace: "workspace";
|
|
36
|
+
}>>;
|
|
37
|
+
}, z.core.$strict>;
|
|
38
|
+
}, z.core.$strict>;
|
|
39
|
+
export type HostMcpBindingDefinition = z.infer<typeof HostMcpBindingDefinition>;
|
|
40
|
+
/** Configuration ceiling, never execution authority. The complete destination
|
|
41
|
+
* and provider/scope/resource selection stay exact; only the account identifier
|
|
42
|
+
* is chosen by a captured owner grant in explicit accepted-turn mode. */
|
|
43
|
+
export type HostMcpBindingSelection = {
|
|
44
|
+
serverId: string;
|
|
45
|
+
destinationUrl: string;
|
|
46
|
+
connectionRef: McpServerConnectionRef;
|
|
47
|
+
};
|
|
48
|
+
export declare function hostMcpBindingMatchesSelection(binding: {
|
|
49
|
+
id: string;
|
|
50
|
+
generation: number;
|
|
51
|
+
definition: HostMcpBindingDefinition;
|
|
52
|
+
}, selection: HostMcpBindingSelection): boolean;
|
|
53
|
+
export declare const HostMcpBinding: z.ZodObject<{
|
|
54
|
+
id: z.ZodString;
|
|
55
|
+
accountId: z.ZodString;
|
|
56
|
+
workspaceId: z.ZodString;
|
|
57
|
+
ownerSubjectId: z.ZodUnion<readonly [z.ZodString, z.ZodString]>;
|
|
58
|
+
authorizationRevision: z.ZodNumber;
|
|
59
|
+
generation: z.ZodNumber;
|
|
60
|
+
status: z.ZodEnum<{
|
|
61
|
+
active: "active";
|
|
62
|
+
revoked: "revoked";
|
|
63
|
+
}>;
|
|
64
|
+
definition: z.ZodObject<{
|
|
65
|
+
serverId: z.ZodString;
|
|
66
|
+
destinationUrl: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
|
|
67
|
+
connectionRef: z.ZodObject<{
|
|
68
|
+
connectionId: z.ZodOptional<z.ZodString>;
|
|
69
|
+
accountSelection: z.ZodOptional<z.ZodLiteral<"all_eligible">>;
|
|
70
|
+
authoritySource: z.ZodOptional<z.ZodLiteral<"host">>;
|
|
71
|
+
hostBinding: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
|
|
72
|
+
bindingId: z.ZodString;
|
|
73
|
+
generation: z.ZodNumber;
|
|
74
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
75
|
+
selection: z.ZodLiteral<"accepted_turn">;
|
|
76
|
+
}, z.core.$strict>]>>;
|
|
77
|
+
provider: z.ZodOptional<z.ZodString>;
|
|
78
|
+
providerDomain: z.ZodString;
|
|
79
|
+
kind: z.ZodOptional<z.ZodEnum<{
|
|
80
|
+
api_key: "api_key";
|
|
81
|
+
app_install: "app_install";
|
|
82
|
+
delegated: "delegated";
|
|
83
|
+
oauth2: "oauth2";
|
|
84
|
+
}>>;
|
|
85
|
+
scopes: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
86
|
+
resource: z.ZodOptional<z.ZodString>;
|
|
87
|
+
selectedResources: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
88
|
+
id: z.ZodString;
|
|
89
|
+
kind: z.ZodLiteral<"repository">;
|
|
90
|
+
}, z.core.$strict>>>;
|
|
91
|
+
subjectScope: z.ZodOptional<z.ZodEnum<{
|
|
92
|
+
subject: "subject";
|
|
93
|
+
workspace: "workspace";
|
|
94
|
+
}>>;
|
|
95
|
+
}, z.core.$strict>;
|
|
96
|
+
}, z.core.$strict>;
|
|
97
|
+
createdAt: z.ZodString;
|
|
98
|
+
revokedAt: z.ZodNullable<z.ZodString>;
|
|
99
|
+
}, z.core.$strict>;
|
|
100
|
+
export type HostMcpBinding = z.infer<typeof HostMcpBinding>;
|
|
101
|
+
export declare const CreateHostMcpBindingRequest: z.ZodObject<{
|
|
102
|
+
operationId: z.ZodString;
|
|
103
|
+
definition: z.ZodObject<{
|
|
104
|
+
serverId: z.ZodString;
|
|
105
|
+
destinationUrl: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
|
|
106
|
+
connectionRef: z.ZodObject<{
|
|
107
|
+
connectionId: z.ZodOptional<z.ZodString>;
|
|
108
|
+
accountSelection: z.ZodOptional<z.ZodLiteral<"all_eligible">>;
|
|
109
|
+
authoritySource: z.ZodOptional<z.ZodLiteral<"host">>;
|
|
110
|
+
hostBinding: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
|
|
111
|
+
bindingId: z.ZodString;
|
|
112
|
+
generation: z.ZodNumber;
|
|
113
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
114
|
+
selection: z.ZodLiteral<"accepted_turn">;
|
|
115
|
+
}, z.core.$strict>]>>;
|
|
116
|
+
provider: z.ZodOptional<z.ZodString>;
|
|
117
|
+
providerDomain: z.ZodString;
|
|
118
|
+
kind: z.ZodOptional<z.ZodEnum<{
|
|
119
|
+
api_key: "api_key";
|
|
120
|
+
app_install: "app_install";
|
|
121
|
+
delegated: "delegated";
|
|
122
|
+
oauth2: "oauth2";
|
|
123
|
+
}>>;
|
|
124
|
+
scopes: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
125
|
+
resource: z.ZodOptional<z.ZodString>;
|
|
126
|
+
selectedResources: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
127
|
+
id: z.ZodString;
|
|
128
|
+
kind: z.ZodLiteral<"repository">;
|
|
129
|
+
}, z.core.$strict>>>;
|
|
130
|
+
subjectScope: z.ZodOptional<z.ZodEnum<{
|
|
131
|
+
subject: "subject";
|
|
132
|
+
workspace: "workspace";
|
|
133
|
+
}>>;
|
|
134
|
+
}, z.core.$strict>;
|
|
135
|
+
}, z.core.$strict>;
|
|
136
|
+
}, z.core.$strict>;
|
|
137
|
+
export type CreateHostMcpBindingRequest = z.infer<typeof CreateHostMcpBindingRequest>;
|
|
138
|
+
export declare const IssueHostMcpDelegationRequest: z.ZodObject<{
|
|
139
|
+
operationId: z.ZodString;
|
|
140
|
+
bindingId: z.ZodString;
|
|
141
|
+
expectedBindingGeneration: z.ZodNumber;
|
|
142
|
+
grant: z.ZodObject<{
|
|
143
|
+
scope: z.ZodLiteral<"user">;
|
|
144
|
+
mode: z.ZodEnum<{
|
|
145
|
+
always: "always";
|
|
146
|
+
session: "session";
|
|
147
|
+
}>;
|
|
148
|
+
context: z.ZodEnum<{
|
|
149
|
+
user_private: "user_private";
|
|
150
|
+
workspace_shared: "workspace_shared";
|
|
151
|
+
}>;
|
|
152
|
+
sessionId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
153
|
+
expectedAuthorityEpoch: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
154
|
+
workspaceSharedAcknowledged: z.ZodDefault<z.ZodBoolean>;
|
|
155
|
+
}, z.core.$strict>;
|
|
156
|
+
}, z.core.$strict>;
|
|
157
|
+
export type IssueHostMcpDelegationRequest = z.infer<typeof IssueHostMcpDelegationRequest>;
|
|
158
|
+
export declare const HostMcpDelegation: z.ZodObject<{
|
|
159
|
+
id: z.ZodString;
|
|
160
|
+
accountId: z.ZodString;
|
|
161
|
+
workspaceId: z.ZodString;
|
|
162
|
+
ownerSubjectId: z.ZodUnion<readonly [z.ZodString, z.ZodString]>;
|
|
163
|
+
ownerAuthorizationRevision: z.ZodNumber;
|
|
164
|
+
bindingId: z.ZodString;
|
|
165
|
+
bindingGeneration: z.ZodNumber;
|
|
166
|
+
grant: z.ZodObject<{
|
|
167
|
+
scope: z.ZodLiteral<"user">;
|
|
168
|
+
mode: z.ZodEnum<{
|
|
169
|
+
always: "always";
|
|
170
|
+
session: "session";
|
|
171
|
+
}>;
|
|
172
|
+
context: z.ZodEnum<{
|
|
173
|
+
user_private: "user_private";
|
|
174
|
+
workspace_shared: "workspace_shared";
|
|
175
|
+
}>;
|
|
176
|
+
sessionId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
177
|
+
expectedAuthorityEpoch: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
178
|
+
workspaceSharedAcknowledged: z.ZodDefault<z.ZodBoolean>;
|
|
179
|
+
}, z.core.$strict>;
|
|
180
|
+
generation: z.ZodNumber;
|
|
181
|
+
status: z.ZodEnum<{
|
|
182
|
+
active: "active";
|
|
183
|
+
revoked: "revoked";
|
|
184
|
+
}>;
|
|
185
|
+
createdAt: z.ZodString;
|
|
186
|
+
revokedAt: z.ZodNullable<z.ZodString>;
|
|
187
|
+
}, z.core.$strict>;
|
|
188
|
+
export type HostMcpDelegation = z.infer<typeof HostMcpDelegation>;
|
|
189
|
+
/** Internal admission evidence, not a caller-supplied permission or credential.
|
|
190
|
+
* Persistence must construct this from live authenticated authority and freeze
|
|
191
|
+
* it with accepted work. Runtime use must independently revalidate that work,
|
|
192
|
+
* membership, binding and delegation. No API key is retained as execution rights.
|
|
193
|
+
*/
|
|
194
|
+
export declare const HostMcpAcceptedAuthority: z.ZodObject<{
|
|
195
|
+
version: z.ZodLiteral<1>;
|
|
196
|
+
accountId: z.ZodString;
|
|
197
|
+
workspaceId: z.ZodString;
|
|
198
|
+
targetSessionId: z.ZodString;
|
|
199
|
+
targetSessionVisibility: z.ZodEnum<{
|
|
200
|
+
user_private: "user_private";
|
|
201
|
+
workspace_shared: "workspace_shared";
|
|
202
|
+
}>;
|
|
203
|
+
targetSessionAuthorityEpoch: z.ZodNumber;
|
|
204
|
+
acceptedWork: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
205
|
+
kind: z.ZodLiteral<"turn">;
|
|
206
|
+
turnId: z.ZodString;
|
|
207
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
208
|
+
kind: z.ZodLiteral<"scheduled_task">;
|
|
209
|
+
taskId: z.ZodString;
|
|
210
|
+
taskAuthorityRevision: z.ZodNumber;
|
|
211
|
+
runId: z.ZodString;
|
|
212
|
+
}, z.core.$strict>], "kind">;
|
|
213
|
+
bindingId: z.ZodString;
|
|
214
|
+
bindingGeneration: z.ZodNumber;
|
|
215
|
+
definition: z.ZodObject<{
|
|
216
|
+
serverId: z.ZodString;
|
|
217
|
+
destinationUrl: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
|
|
218
|
+
connectionRef: z.ZodObject<{
|
|
219
|
+
connectionId: z.ZodOptional<z.ZodString>;
|
|
220
|
+
accountSelection: z.ZodOptional<z.ZodLiteral<"all_eligible">>;
|
|
221
|
+
authoritySource: z.ZodOptional<z.ZodLiteral<"host">>;
|
|
222
|
+
hostBinding: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
|
|
223
|
+
bindingId: z.ZodString;
|
|
224
|
+
generation: z.ZodNumber;
|
|
225
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
226
|
+
selection: z.ZodLiteral<"accepted_turn">;
|
|
227
|
+
}, z.core.$strict>]>>;
|
|
228
|
+
provider: z.ZodOptional<z.ZodString>;
|
|
229
|
+
providerDomain: z.ZodString;
|
|
230
|
+
kind: z.ZodOptional<z.ZodEnum<{
|
|
231
|
+
api_key: "api_key";
|
|
232
|
+
app_install: "app_install";
|
|
233
|
+
delegated: "delegated";
|
|
234
|
+
oauth2: "oauth2";
|
|
235
|
+
}>>;
|
|
236
|
+
scopes: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
237
|
+
resource: z.ZodOptional<z.ZodString>;
|
|
238
|
+
selectedResources: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
239
|
+
id: z.ZodString;
|
|
240
|
+
kind: z.ZodLiteral<"repository">;
|
|
241
|
+
}, z.core.$strict>>>;
|
|
242
|
+
subjectScope: z.ZodOptional<z.ZodEnum<{
|
|
243
|
+
subject: "subject";
|
|
244
|
+
workspace: "workspace";
|
|
245
|
+
}>>;
|
|
246
|
+
}, z.core.$strict>;
|
|
247
|
+
}, z.core.$strict>;
|
|
248
|
+
ownerSubjectId: z.ZodUnion<readonly [z.ZodString, z.ZodString]>;
|
|
249
|
+
ownerOrganizationMembershipId: z.ZodString;
|
|
250
|
+
ownerMembershipAuthorizationRevision: z.ZodNumber;
|
|
251
|
+
delegationId: z.ZodString;
|
|
252
|
+
delegationGeneration: z.ZodNumber;
|
|
253
|
+
scheduledOrigin: z.ZodOptional<z.ZodObject<{
|
|
254
|
+
taskId: z.ZodString;
|
|
255
|
+
taskAuthorityRevision: z.ZodNumber;
|
|
256
|
+
runId: z.ZodString;
|
|
257
|
+
}, z.core.$strict>>;
|
|
258
|
+
source: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
259
|
+
kind: z.ZodLiteral<"direct">;
|
|
260
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
261
|
+
kind: z.ZodLiteral<"scheduled_task">;
|
|
262
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
263
|
+
kind: z.ZodLiteral<"child_turn">;
|
|
264
|
+
sessionId: z.ZodString;
|
|
265
|
+
turnId: z.ZodString;
|
|
266
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
267
|
+
kind: z.ZodLiteral<"inherited_turn">;
|
|
268
|
+
sessionId: z.ZodString;
|
|
269
|
+
turnId: z.ZodString;
|
|
270
|
+
}, z.core.$strict>], "kind">;
|
|
271
|
+
}, z.core.$strict>;
|
|
272
|
+
export type HostMcpAcceptedAuthority = z.infer<typeof HostMcpAcceptedAuthority>;
|
|
273
|
+
/** Credential-free selection frozen on one immutable scheduled-task revision. */
|
|
274
|
+
export declare const HostMcpTaskAuthority: z.ZodObject<{
|
|
275
|
+
version: z.ZodLiteral<1>;
|
|
276
|
+
accountId: z.ZodString;
|
|
277
|
+
workspaceId: z.ZodString;
|
|
278
|
+
taskId: z.ZodString;
|
|
279
|
+
taskAuthorityRevision: z.ZodNumber;
|
|
280
|
+
taskExecutionDigest: z.ZodString;
|
|
281
|
+
ownerSubjectId: z.ZodUnion<readonly [z.ZodString, z.ZodString]>;
|
|
282
|
+
ownerOrganizationMembershipId: z.ZodString;
|
|
283
|
+
ownerMembershipAuthorizationRevision: z.ZodNumber;
|
|
284
|
+
bindingId: z.ZodString;
|
|
285
|
+
bindingGeneration: z.ZodNumber;
|
|
286
|
+
delegationId: z.ZodString;
|
|
287
|
+
delegationGeneration: z.ZodNumber;
|
|
288
|
+
definition: z.ZodObject<{
|
|
289
|
+
serverId: z.ZodString;
|
|
290
|
+
destinationUrl: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
|
|
291
|
+
connectionRef: z.ZodObject<{
|
|
292
|
+
connectionId: z.ZodOptional<z.ZodString>;
|
|
293
|
+
accountSelection: z.ZodOptional<z.ZodLiteral<"all_eligible">>;
|
|
294
|
+
authoritySource: z.ZodOptional<z.ZodLiteral<"host">>;
|
|
295
|
+
hostBinding: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
|
|
296
|
+
bindingId: z.ZodString;
|
|
297
|
+
generation: z.ZodNumber;
|
|
298
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
299
|
+
selection: z.ZodLiteral<"accepted_turn">;
|
|
300
|
+
}, z.core.$strict>]>>;
|
|
301
|
+
provider: z.ZodOptional<z.ZodString>;
|
|
302
|
+
providerDomain: z.ZodString;
|
|
303
|
+
kind: z.ZodOptional<z.ZodEnum<{
|
|
304
|
+
api_key: "api_key";
|
|
305
|
+
app_install: "app_install";
|
|
306
|
+
delegated: "delegated";
|
|
307
|
+
oauth2: "oauth2";
|
|
308
|
+
}>>;
|
|
309
|
+
scopes: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
310
|
+
resource: z.ZodOptional<z.ZodString>;
|
|
311
|
+
selectedResources: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
312
|
+
id: z.ZodString;
|
|
313
|
+
kind: z.ZodLiteral<"repository">;
|
|
314
|
+
}, z.core.$strict>>>;
|
|
315
|
+
subjectScope: z.ZodOptional<z.ZodEnum<{
|
|
316
|
+
subject: "subject";
|
|
317
|
+
workspace: "workspace";
|
|
318
|
+
}>>;
|
|
319
|
+
}, z.core.$strict>;
|
|
320
|
+
}, z.core.$strict>;
|
|
321
|
+
context: z.ZodEnum<{
|
|
322
|
+
user_private: "user_private";
|
|
323
|
+
workspace_shared: "workspace_shared";
|
|
324
|
+
}>;
|
|
325
|
+
}, z.core.$strict>;
|
|
326
|
+
export type HostMcpTaskAuthority = z.infer<typeof HostMcpTaskAuthority>;
|
|
@@ -0,0 +1,252 @@
|
|
|
1
|
+
import {
|
|
2
|
+
ExternalIdentity
|
|
3
|
+
} from "./chunk-KR2V42UZ.js";
|
|
4
|
+
import {
|
|
5
|
+
ConnectionUseAuthoritySnapshot
|
|
6
|
+
} from "./chunk-46KLD2UH.js";
|
|
7
|
+
import {
|
|
8
|
+
HostMcpCreateSelections,
|
|
9
|
+
ManagedUserResourceGrantMode,
|
|
10
|
+
McpServerConnectionRef,
|
|
11
|
+
SessionTenancyVisibility,
|
|
12
|
+
stableJson
|
|
13
|
+
} from "./chunk-X7ETVO4P.js";
|
|
14
|
+
import "./chunk-5IXYF6XN.js";
|
|
15
|
+
import "./chunk-NRMCVHAU.js";
|
|
16
|
+
import "./chunk-WYBDERIY.js";
|
|
17
|
+
import "./chunk-4JGHSSB7.js";
|
|
18
|
+
import "./chunk-EK7NDGFR.js";
|
|
19
|
+
import "./chunk-O77VSFYZ.js";
|
|
20
|
+
import "./chunk-NVJMJWLL.js";
|
|
21
|
+
import "./chunk-SIOU2K4U.js";
|
|
22
|
+
import "./chunk-YRKRZ6OF.js";
|
|
23
|
+
import "./chunk-2VORLN2R.js";
|
|
24
|
+
import "./chunk-FZ6BXQHL.js";
|
|
25
|
+
import "./chunk-GRG7PHWQ.js";
|
|
26
|
+
import "./chunk-YRXAWWCU.js";
|
|
27
|
+
import "./chunk-2ACYHZFB.js";
|
|
28
|
+
import "./chunk-KHHZTBP7.js";
|
|
29
|
+
import "./chunk-YBW5JSA3.js";
|
|
30
|
+
import "./chunk-RJ76DRPO.js";
|
|
31
|
+
import "./chunk-QR5D2IQC.js";
|
|
32
|
+
import "./chunk-3SIZGL3O.js";
|
|
33
|
+
import "./chunk-RIY7GYQS.js";
|
|
34
|
+
import "./chunk-JUFK3T4Q.js";
|
|
35
|
+
import "./chunk-TSCDAGET.js";
|
|
36
|
+
import "./chunk-BCS7WHCK.js";
|
|
37
|
+
import "./chunk-D2HKF2EF.js";
|
|
38
|
+
import "./chunk-MYBZRDTY.js";
|
|
39
|
+
import "./chunk-MZLBPKFE.js";
|
|
40
|
+
import "./chunk-RKX3NQYS.js";
|
|
41
|
+
import "./chunk-Y3KNXVTD.js";
|
|
42
|
+
import "./chunk-TXTQIYCV.js";
|
|
43
|
+
import "./chunk-PX3VCKAU.js";
|
|
44
|
+
|
|
45
|
+
// src/host-mcp-bindings.ts
|
|
46
|
+
import { z } from "zod";
|
|
47
|
+
var HostMcpOwnerSubject = z.union([
|
|
48
|
+
ExternalIdentity.shape.subjectId,
|
|
49
|
+
z.string().max(4096).regex(/^user:[^\r\n\u0000]+$/)
|
|
50
|
+
]);
|
|
51
|
+
var HostMcpBindingDefinition = z.object({
|
|
52
|
+
serverId: z.string().min(1).max(256),
|
|
53
|
+
destinationUrl: z.string().url().max(4096).refine((value) => {
|
|
54
|
+
const url = new URL(value);
|
|
55
|
+
return url.protocol === "https:" && !url.username && !url.password && !url.hash;
|
|
56
|
+
}, "Host binding requires an HTTPS destination without userinfo or fragment").transform((value) => new URL(value).toString()),
|
|
57
|
+
connectionRef: McpServerConnectionRef
|
|
58
|
+
}).strict().superRefine((value, context) => {
|
|
59
|
+
if (value.connectionRef.hostBinding)
|
|
60
|
+
context.addIssue({
|
|
61
|
+
code: "custom",
|
|
62
|
+
path: ["connectionRef", "hostBinding"],
|
|
63
|
+
message: "A binding definition cannot reference another binding"
|
|
64
|
+
});
|
|
65
|
+
if (value.connectionRef.authoritySource !== "host" || !value.connectionRef.connectionId)
|
|
66
|
+
context.addIssue({
|
|
67
|
+
code: "custom",
|
|
68
|
+
path: ["connectionRef"],
|
|
69
|
+
message: "Explicit host connection authority is required"
|
|
70
|
+
});
|
|
71
|
+
if (new TextEncoder().encode(JSON.stringify(value)).byteLength > 65536)
|
|
72
|
+
context.addIssue({ code: "custom", message: "Host binding definition exceeds 64 KiB" });
|
|
73
|
+
});
|
|
74
|
+
function hostMcpBindingMatchesSelection(binding, selection) {
|
|
75
|
+
const parsed = McpServerConnectionRef.safeParse(selection.connectionRef);
|
|
76
|
+
if (!parsed.success || !parsed.data.hostBinding) return false;
|
|
77
|
+
const { hostBinding, ...configuredRef } = parsed.data;
|
|
78
|
+
const definition = HostMcpBindingDefinition.safeParse(binding.definition);
|
|
79
|
+
if (!definition.success) return false;
|
|
80
|
+
let destinationUrl;
|
|
81
|
+
try {
|
|
82
|
+
destinationUrl = new URL(selection.destinationUrl).toString();
|
|
83
|
+
} catch {
|
|
84
|
+
return false;
|
|
85
|
+
}
|
|
86
|
+
if (selection.serverId !== definition.data.serverId || destinationUrl !== definition.data.destinationUrl)
|
|
87
|
+
return false;
|
|
88
|
+
if ("selection" in hostBinding) {
|
|
89
|
+
const { connectionId: _connectionId, ...selectedRef } = definition.data.connectionRef;
|
|
90
|
+
return stableJson(configuredRef) === stableJson(selectedRef);
|
|
91
|
+
}
|
|
92
|
+
return binding.id === hostBinding.bindingId && binding.generation === hostBinding.generation && stableJson(configuredRef) === stableJson(definition.data.connectionRef);
|
|
93
|
+
}
|
|
94
|
+
var HostMcpBinding = z.object({
|
|
95
|
+
id: z.string().uuid(),
|
|
96
|
+
accountId: z.string().uuid(),
|
|
97
|
+
workspaceId: z.string().uuid(),
|
|
98
|
+
ownerSubjectId: HostMcpOwnerSubject,
|
|
99
|
+
authorizationRevision: z.number().int().positive().safe(),
|
|
100
|
+
generation: z.number().int().positive().safe(),
|
|
101
|
+
status: z.enum(["active", "revoked"]),
|
|
102
|
+
definition: HostMcpBindingDefinition,
|
|
103
|
+
createdAt: z.string().datetime({ offset: true }),
|
|
104
|
+
revokedAt: z.string().datetime({ offset: true }).nullable()
|
|
105
|
+
}).strict();
|
|
106
|
+
var CreateHostMcpBindingRequest = z.object({
|
|
107
|
+
operationId: z.string().uuid(),
|
|
108
|
+
definition: HostMcpBindingDefinition
|
|
109
|
+
}).strict();
|
|
110
|
+
var HostMcpGrantRequest = z.object({
|
|
111
|
+
scope: z.literal("user"),
|
|
112
|
+
mode: ManagedUserResourceGrantMode,
|
|
113
|
+
context: SessionTenancyVisibility,
|
|
114
|
+
sessionId: z.string().uuid().nullable().optional(),
|
|
115
|
+
expectedAuthorityEpoch: z.number().int().positive().nullable().optional(),
|
|
116
|
+
workspaceSharedAcknowledged: z.boolean().default(false)
|
|
117
|
+
}).strict().superRefine((value, context) => {
|
|
118
|
+
if (value.context === "workspace_shared" && !value.workspaceSharedAcknowledged) {
|
|
119
|
+
context.addIssue({
|
|
120
|
+
code: "custom",
|
|
121
|
+
path: ["workspaceSharedAcknowledged"],
|
|
122
|
+
message: "workspace_shared requires durable shared-output acknowledgement"
|
|
123
|
+
});
|
|
124
|
+
}
|
|
125
|
+
if (value.mode === "always" && (value.sessionId || value.expectedAuthorityEpoch)) {
|
|
126
|
+
context.addIssue({ code: "custom", path: ["sessionId"], message: "always is unbound" });
|
|
127
|
+
}
|
|
128
|
+
if (value.mode === "session" && (!value.sessionId || !value.expectedAuthorityEpoch)) {
|
|
129
|
+
context.addIssue({
|
|
130
|
+
code: "custom",
|
|
131
|
+
path: ["sessionId"],
|
|
132
|
+
message: "session requires a target session and expectedAuthorityEpoch"
|
|
133
|
+
});
|
|
134
|
+
}
|
|
135
|
+
});
|
|
136
|
+
var HostMcpDelegationGrant = HostMcpGrantRequest.superRefine((value, context) => {
|
|
137
|
+
if (Boolean(value.sessionId) !== (value.expectedAuthorityEpoch != null) || value.expectedAuthorityEpoch != null && !Number.isSafeInteger(value.expectedAuthorityEpoch)) {
|
|
138
|
+
context.addIssue({
|
|
139
|
+
code: "custom",
|
|
140
|
+
message: "Host session grants require a matching safe authority epoch"
|
|
141
|
+
});
|
|
142
|
+
}
|
|
143
|
+
});
|
|
144
|
+
var IssueHostMcpDelegationRequest = z.object({
|
|
145
|
+
operationId: z.string().uuid(),
|
|
146
|
+
bindingId: z.string().uuid(),
|
|
147
|
+
expectedBindingGeneration: z.number().int().positive().safe(),
|
|
148
|
+
grant: HostMcpDelegationGrant
|
|
149
|
+
}).strict();
|
|
150
|
+
var HostMcpDelegation = z.object({
|
|
151
|
+
id: z.string().uuid(),
|
|
152
|
+
accountId: z.string().uuid(),
|
|
153
|
+
workspaceId: z.string().uuid(),
|
|
154
|
+
ownerSubjectId: HostMcpOwnerSubject,
|
|
155
|
+
ownerAuthorizationRevision: z.number().int().positive().safe(),
|
|
156
|
+
bindingId: z.string().uuid(),
|
|
157
|
+
bindingGeneration: z.number().int().positive().safe(),
|
|
158
|
+
grant: HostMcpDelegationGrant,
|
|
159
|
+
generation: z.number().int().positive().safe(),
|
|
160
|
+
status: z.enum(["active", "revoked"]),
|
|
161
|
+
createdAt: z.string().datetime({ offset: true }),
|
|
162
|
+
revokedAt: z.string().datetime({ offset: true }).nullable()
|
|
163
|
+
}).strict();
|
|
164
|
+
var HostMcpAcceptedAuthority = z.object({
|
|
165
|
+
version: z.literal(1),
|
|
166
|
+
accountId: z.string().uuid(),
|
|
167
|
+
workspaceId: z.string().uuid(),
|
|
168
|
+
targetSessionId: z.string().uuid(),
|
|
169
|
+
targetSessionVisibility: SessionTenancyVisibility,
|
|
170
|
+
targetSessionAuthorityEpoch: z.number().int().positive().safe(),
|
|
171
|
+
acceptedWork: ConnectionUseAuthoritySnapshot.shape.acceptedWork,
|
|
172
|
+
bindingId: z.string().uuid(),
|
|
173
|
+
bindingGeneration: z.number().int().positive().safe(),
|
|
174
|
+
definition: HostMcpBindingDefinition,
|
|
175
|
+
ownerSubjectId: HostMcpOwnerSubject,
|
|
176
|
+
ownerOrganizationMembershipId: z.string().uuid(),
|
|
177
|
+
ownerMembershipAuthorizationRevision: z.number().int().positive().safe(),
|
|
178
|
+
delegationId: z.string().uuid(),
|
|
179
|
+
delegationGeneration: z.number().int().positive().safe(),
|
|
180
|
+
scheduledOrigin: z.object({
|
|
181
|
+
taskId: z.string().uuid(),
|
|
182
|
+
taskAuthorityRevision: z.number().int().positive().safe(),
|
|
183
|
+
runId: z.string().uuid()
|
|
184
|
+
}).strict().optional(),
|
|
185
|
+
source: z.discriminatedUnion("kind", [
|
|
186
|
+
z.object({ kind: z.literal("direct") }).strict(),
|
|
187
|
+
z.object({ kind: z.literal("scheduled_task") }).strict(),
|
|
188
|
+
z.object({
|
|
189
|
+
kind: z.literal("child_turn"),
|
|
190
|
+
sessionId: z.string().uuid(),
|
|
191
|
+
turnId: z.string().uuid()
|
|
192
|
+
}).strict(),
|
|
193
|
+
z.object({
|
|
194
|
+
kind: z.literal("inherited_turn"),
|
|
195
|
+
sessionId: z.string().uuid(),
|
|
196
|
+
turnId: z.string().uuid()
|
|
197
|
+
}).strict()
|
|
198
|
+
])
|
|
199
|
+
}).strict().superRefine((value, context) => {
|
|
200
|
+
if (value.source.kind === "direct" && value.scheduledOrigin || value.source.kind === "scheduled_task" && (!value.scheduledOrigin || value.acceptedWork.kind !== "scheduled_task" || value.scheduledOrigin.taskId !== value.acceptedWork.taskId || value.scheduledOrigin.runId !== value.acceptedWork.runId || value.scheduledOrigin.taskAuthorityRevision !== value.acceptedWork.taskAuthorityRevision))
|
|
201
|
+
context.addIssue({
|
|
202
|
+
code: "custom",
|
|
203
|
+
message: "Scheduled host authority must retain its exact run origin"
|
|
204
|
+
});
|
|
205
|
+
if (value.acceptedWork.kind === "turn" && value.source.kind === "inherited_turn" && value.acceptedWork.turnId === value.source.turnId) {
|
|
206
|
+
context.addIssue({
|
|
207
|
+
code: "custom",
|
|
208
|
+
path: ["source"],
|
|
209
|
+
message: "Accepted work cannot inherit from itself"
|
|
210
|
+
});
|
|
211
|
+
}
|
|
212
|
+
if (value.acceptedWork.kind === "scheduled_task" && !Number.isSafeInteger(value.acceptedWork.taskAuthorityRevision)) {
|
|
213
|
+
context.addIssue({
|
|
214
|
+
code: "custom",
|
|
215
|
+
path: ["acceptedWork"],
|
|
216
|
+
message: "Task authority revision must be a safe integer"
|
|
217
|
+
});
|
|
218
|
+
}
|
|
219
|
+
if (new TextEncoder().encode(JSON.stringify(value)).byteLength > 65536) {
|
|
220
|
+
context.addIssue({ code: "custom", message: "Host accepted authority exceeds 64 KiB" });
|
|
221
|
+
}
|
|
222
|
+
});
|
|
223
|
+
var HostMcpTaskAuthority = z.object({
|
|
224
|
+
version: z.literal(1),
|
|
225
|
+
accountId: z.string().uuid(),
|
|
226
|
+
workspaceId: z.string().uuid(),
|
|
227
|
+
taskId: z.string().uuid(),
|
|
228
|
+
taskAuthorityRevision: z.number().int().positive().safe(),
|
|
229
|
+
taskExecutionDigest: z.string().regex(/^[0-9a-f]{64}$/),
|
|
230
|
+
ownerSubjectId: HostMcpOwnerSubject,
|
|
231
|
+
ownerOrganizationMembershipId: z.string().uuid(),
|
|
232
|
+
ownerMembershipAuthorizationRevision: z.number().int().positive().safe(),
|
|
233
|
+
bindingId: z.string().uuid(),
|
|
234
|
+
bindingGeneration: z.number().int().positive().safe(),
|
|
235
|
+
delegationId: z.string().uuid(),
|
|
236
|
+
delegationGeneration: z.number().int().positive().safe(),
|
|
237
|
+
definition: HostMcpBindingDefinition,
|
|
238
|
+
context: SessionTenancyVisibility
|
|
239
|
+
}).strict();
|
|
240
|
+
export {
|
|
241
|
+
CreateHostMcpBindingRequest,
|
|
242
|
+
HostMcpAcceptedAuthority,
|
|
243
|
+
HostMcpBinding,
|
|
244
|
+
HostMcpBindingDefinition,
|
|
245
|
+
HostMcpCreateSelections,
|
|
246
|
+
HostMcpDelegation,
|
|
247
|
+
HostMcpOwnerSubject,
|
|
248
|
+
HostMcpTaskAuthority,
|
|
249
|
+
IssueHostMcpDelegationRequest,
|
|
250
|
+
hostMcpBindingMatchesSelection
|
|
251
|
+
};
|
|
252
|
+
//# sourceMappingURL=host-mcp-bindings.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/host-mcp-bindings.ts"],"sourcesContent":["import { z } from \"zod\";\nexport { HostMcpCreateSelections, type HostMcpCreateSelection } from \"./index\";\nimport {\n McpServerConnectionRef,\n SessionTenancyVisibility,\n ManagedUserResourceGrantMode,\n stableJson,\n} from \"./index\";\nimport { ConnectionUseAuthoritySnapshot } from \"./connection-authority\";\nimport { ExternalIdentity } from \"./external-identities\";\nexport const HostMcpOwnerSubject = z.union([\n ExternalIdentity.shape.subjectId,\n z\n .string()\n .max(4096)\n .regex(/^user:[^\\r\\n\\u0000]+$/),\n]);\n\n/** Credential-free, immutable destination and host connection selection. */\nexport const HostMcpBindingDefinition = z\n .object({\n serverId: z.string().min(1).max(256),\n destinationUrl: z\n .string()\n .url()\n .max(4096)\n .refine((value) => {\n const url = new URL(value);\n return url.protocol === \"https:\" && !url.username && !url.password && !url.hash;\n }, \"Host binding requires an HTTPS destination without userinfo or fragment\")\n .transform((value) => new URL(value).toString()),\n connectionRef: McpServerConnectionRef,\n })\n .strict()\n .superRefine((value, context) => {\n if (value.connectionRef.hostBinding)\n context.addIssue({\n code: \"custom\",\n path: [\"connectionRef\", \"hostBinding\"],\n message: \"A binding definition cannot reference another binding\",\n });\n if (value.connectionRef.authoritySource !== \"host\" || !value.connectionRef.connectionId)\n context.addIssue({\n code: \"custom\",\n path: [\"connectionRef\"],\n message: \"Explicit host connection authority is required\",\n });\n if (new TextEncoder().encode(JSON.stringify(value)).byteLength > 65_536)\n context.addIssue({ code: \"custom\", message: \"Host binding definition exceeds 64 KiB\" });\n });\nexport type HostMcpBindingDefinition = z.infer<typeof HostMcpBindingDefinition>;\n\n/** Configuration ceiling, never execution authority. The complete destination\n * and provider/scope/resource selection stay exact; only the account identifier\n * is chosen by a captured owner grant in explicit accepted-turn mode. */\nexport type HostMcpBindingSelection = {\n serverId: string;\n destinationUrl: string;\n connectionRef: McpServerConnectionRef;\n};\n\nexport function hostMcpBindingMatchesSelection(\n binding: { id: string; generation: number; definition: HostMcpBindingDefinition },\n selection: HostMcpBindingSelection,\n): boolean {\n const parsed = McpServerConnectionRef.safeParse(selection.connectionRef);\n if (!parsed.success || !parsed.data.hostBinding) return false;\n const { hostBinding, ...configuredRef } = parsed.data;\n const definition = HostMcpBindingDefinition.safeParse(binding.definition);\n if (!definition.success) return false;\n let destinationUrl: string;\n try {\n destinationUrl = new URL(selection.destinationUrl).toString();\n } catch {\n return false;\n }\n if (\n selection.serverId !== definition.data.serverId ||\n destinationUrl !== definition.data.destinationUrl\n )\n return false;\n if (\"selection\" in hostBinding) {\n const { connectionId: _connectionId, ...selectedRef } = definition.data.connectionRef;\n return stableJson(configuredRef) === stableJson(selectedRef);\n }\n return (\n binding.id === hostBinding.bindingId &&\n binding.generation === hostBinding.generation &&\n stableJson(configuredRef) === stableJson(definition.data.connectionRef)\n );\n}\n\nexport const HostMcpBinding = z\n .object({\n id: z.string().uuid(),\n accountId: z.string().uuid(),\n workspaceId: z.string().uuid(),\n ownerSubjectId: HostMcpOwnerSubject,\n authorizationRevision: z.number().int().positive().safe(),\n generation: z.number().int().positive().safe(),\n status: z.enum([\"active\", \"revoked\"]),\n definition: HostMcpBindingDefinition,\n createdAt: z.string().datetime({ offset: true }),\n revokedAt: z.string().datetime({ offset: true }).nullable(),\n })\n .strict();\nexport type HostMcpBinding = z.infer<typeof HostMcpBinding>;\n\nexport const CreateHostMcpBindingRequest = z\n .object({\n operationId: z.string().uuid(),\n definition: HostMcpBindingDefinition,\n })\n .strict();\nexport type CreateHostMcpBindingRequest = z.infer<typeof CreateHostMcpBindingRequest>;\n\nconst HostMcpGrantRequest = z\n .object({\n scope: z.literal(\"user\"),\n mode: ManagedUserResourceGrantMode,\n context: SessionTenancyVisibility,\n sessionId: z.string().uuid().nullable().optional(),\n expectedAuthorityEpoch: z.number().int().positive().nullable().optional(),\n workspaceSharedAcknowledged: z.boolean().default(false),\n })\n .strict()\n .superRefine((value, context) => {\n if (value.context === \"workspace_shared\" && !value.workspaceSharedAcknowledged) {\n context.addIssue({\n code: \"custom\",\n path: [\"workspaceSharedAcknowledged\"],\n message: \"workspace_shared requires durable shared-output acknowledgement\",\n });\n }\n if (value.mode === \"always\" && (value.sessionId || value.expectedAuthorityEpoch)) {\n context.addIssue({ code: \"custom\", path: [\"sessionId\"], message: \"always is unbound\" });\n }\n if (value.mode === \"session\" && (!value.sessionId || !value.expectedAuthorityEpoch)) {\n context.addIssue({\n code: \"custom\",\n path: [\"sessionId\"],\n message: \"session requires a target session and expectedAuthorityEpoch\",\n });\n }\n });\n\n/** Internal owner-authorized issuance; never itself proves caller identity. */\nconst HostMcpDelegationGrant = HostMcpGrantRequest.superRefine((value, context) => {\n if (\n Boolean(value.sessionId) !== (value.expectedAuthorityEpoch != null) ||\n (value.expectedAuthorityEpoch != null && !Number.isSafeInteger(value.expectedAuthorityEpoch))\n ) {\n context.addIssue({\n code: \"custom\",\n message: \"Host session grants require a matching safe authority epoch\",\n });\n }\n});\nexport const IssueHostMcpDelegationRequest = z\n .object({\n operationId: z.string().uuid(),\n bindingId: z.string().uuid(),\n expectedBindingGeneration: z.number().int().positive().safe(),\n grant: HostMcpDelegationGrant,\n })\n .strict();\nexport type IssueHostMcpDelegationRequest = z.infer<typeof IssueHostMcpDelegationRequest>;\n\nexport const HostMcpDelegation = z\n .object({\n id: z.string().uuid(),\n accountId: z.string().uuid(),\n workspaceId: z.string().uuid(),\n ownerSubjectId: HostMcpOwnerSubject,\n ownerAuthorizationRevision: z.number().int().positive().safe(),\n bindingId: z.string().uuid(),\n bindingGeneration: z.number().int().positive().safe(),\n grant: HostMcpDelegationGrant,\n generation: z.number().int().positive().safe(),\n status: z.enum([\"active\", \"revoked\"]),\n createdAt: z.string().datetime({ offset: true }),\n revokedAt: z.string().datetime({ offset: true }).nullable(),\n })\n .strict();\nexport type HostMcpDelegation = z.infer<typeof HostMcpDelegation>;\n\n/** Internal admission evidence, not a caller-supplied permission or credential.\n * Persistence must construct this from live authenticated authority and freeze\n * it with accepted work. Runtime use must independently revalidate that work,\n * membership, binding and delegation. No API key is retained as execution rights.\n */\nexport const HostMcpAcceptedAuthority = z\n .object({\n version: z.literal(1),\n accountId: z.string().uuid(),\n workspaceId: z.string().uuid(),\n targetSessionId: z.string().uuid(),\n targetSessionVisibility: SessionTenancyVisibility,\n targetSessionAuthorityEpoch: z.number().int().positive().safe(),\n acceptedWork: ConnectionUseAuthoritySnapshot.shape.acceptedWork,\n bindingId: z.string().uuid(),\n bindingGeneration: z.number().int().positive().safe(),\n definition: HostMcpBindingDefinition,\n ownerSubjectId: HostMcpOwnerSubject,\n ownerOrganizationMembershipId: z.string().uuid(),\n ownerMembershipAuthorizationRevision: z.number().int().positive().safe(),\n delegationId: z.string().uuid(),\n delegationGeneration: z.number().int().positive().safe(),\n scheduledOrigin: z\n .object({\n taskId: z.string().uuid(),\n taskAuthorityRevision: z.number().int().positive().safe(),\n runId: z.string().uuid(),\n })\n .strict()\n .optional(),\n source: z.discriminatedUnion(\"kind\", [\n z.object({ kind: z.literal(\"direct\") }).strict(),\n z.object({ kind: z.literal(\"scheduled_task\") }).strict(),\n z\n .object({\n kind: z.literal(\"child_turn\"),\n sessionId: z.string().uuid(),\n turnId: z.string().uuid(),\n })\n .strict(),\n z\n .object({\n kind: z.literal(\"inherited_turn\"),\n sessionId: z.string().uuid(),\n turnId: z.string().uuid(),\n })\n .strict(),\n ]),\n })\n .strict()\n .superRefine((value, context) => {\n if (\n (value.source.kind === \"direct\" && value.scheduledOrigin) ||\n (value.source.kind === \"scheduled_task\" &&\n (!value.scheduledOrigin ||\n value.acceptedWork.kind !== \"scheduled_task\" ||\n value.scheduledOrigin.taskId !== value.acceptedWork.taskId ||\n value.scheduledOrigin.runId !== value.acceptedWork.runId ||\n value.scheduledOrigin.taskAuthorityRevision !== value.acceptedWork.taskAuthorityRevision))\n )\n context.addIssue({\n code: \"custom\",\n message: \"Scheduled host authority must retain its exact run origin\",\n });\n if (\n value.acceptedWork.kind === \"turn\" &&\n value.source.kind === \"inherited_turn\" &&\n value.acceptedWork.turnId === value.source.turnId\n ) {\n context.addIssue({\n code: \"custom\",\n path: [\"source\"],\n message: \"Accepted work cannot inherit from itself\",\n });\n }\n if (\n value.acceptedWork.kind === \"scheduled_task\" &&\n !Number.isSafeInteger(value.acceptedWork.taskAuthorityRevision)\n ) {\n context.addIssue({\n code: \"custom\",\n path: [\"acceptedWork\"],\n message: \"Task authority revision must be a safe integer\",\n });\n }\n if (new TextEncoder().encode(JSON.stringify(value)).byteLength > 65_536) {\n context.addIssue({ code: \"custom\", message: \"Host accepted authority exceeds 64 KiB\" });\n }\n });\nexport type HostMcpAcceptedAuthority = z.infer<typeof HostMcpAcceptedAuthority>;\n\n/** Credential-free selection frozen on one immutable scheduled-task revision. */\nexport const HostMcpTaskAuthority = z\n .object({\n version: z.literal(1),\n accountId: z.string().uuid(),\n workspaceId: z.string().uuid(),\n taskId: z.string().uuid(),\n taskAuthorityRevision: z.number().int().positive().safe(),\n taskExecutionDigest: z.string().regex(/^[0-9a-f]{64}$/),\n ownerSubjectId: HostMcpOwnerSubject,\n ownerOrganizationMembershipId: z.string().uuid(),\n ownerMembershipAuthorizationRevision: z.number().int().positive().safe(),\n bindingId: z.string().uuid(),\n bindingGeneration: z.number().int().positive().safe(),\n delegationId: z.string().uuid(),\n delegationGeneration: z.number().int().positive().safe(),\n definition: HostMcpBindingDefinition,\n context: SessionTenancyVisibility,\n })\n .strict();\nexport type HostMcpTaskAuthority = z.infer<typeof HostMcpTaskAuthority>;\n"],"mappings":"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","names":[]}
|
|
@@ -35,6 +35,7 @@ export declare const GeneratedImageReceiptSchema: z.ZodObject<{
|
|
|
35
35
|
artifactId: z.ZodString;
|
|
36
36
|
kind: z.ZodEnum<{
|
|
37
37
|
assistant_completion: "assistant_completion";
|
|
38
|
+
browser_screenshot: "browser_screenshot";
|
|
38
39
|
computer_screenshot: "computer_screenshot";
|
|
39
40
|
event_media: "event_media";
|
|
40
41
|
file: "file";
|