import { z } from 'zod'; import type { DappDeploymentLockV3 } from './deploymentLockV3.ts'; /** * The common target-plan envelope (plan Section 4.4). Every multi-infrastructure * provider target plan consumes exactly one Lock V3 slice and carries these * fields; provider packages extend the envelope with their strict * kind-specific target objects, configuration, and request templates. The * envelope contains no connection profile, credential grant, alias, protected * identity, inventory, or provider-assigned locator. */ /** The closed broker operation vocabulary (plan Section 6.2). */ export declare const DappBrokerOperationZod: z.ZodEnum<{ "infrastructure.observe-registration": "infrastructure.observe-registration"; "infrastructure.register": "infrastructure.register"; "infrastructure.inventory": "infrastructure.inventory"; "infrastructure.verify": "infrastructure.verify"; "infrastructure.apply": "infrastructure.apply"; "infrastructure.promote": "infrastructure.promote"; "infrastructure.rollback": "infrastructure.rollback"; "artifact-distribution.observe-registration": "artifact-distribution.observe-registration"; "artifact-distribution.register": "artifact-distribution.register"; "artifact.publish": "artifact.publish"; "artifact.read-back": "artifact.read-back"; "guest.bootstrap": "guest.bootstrap"; "resource.adopt": "resource.adopt"; "deployment.deactivate": "deployment.deactivate"; "resource.prune": "resource.prune"; "runtime-secret.deliver": "runtime-secret.deliver"; }>; export type DappBrokerOperation = z.infer; /** The closed action-class vocabulary (plan Section 4.7). */ export declare const DappActionClassZod: z.ZodEnum<{ create: "create"; replace: "replace"; delete: "delete"; inspect: "inspect"; "narrow-update": "narrow-update"; "read-back": "read-back"; publish: "publish"; adopt: "adopt"; power: "power"; }>; export type DappActionClass = z.infer; /** The only action classes an MI0-MI9 adapter descriptor may declare. */ export declare const DappFirstSliceActionClasses: readonly DappActionClass[]; /** Controller-issued public binding identities share the UUID URN form. */ export declare const DappControllerIssuedIdZod: z.ZodString; export declare const DappCredentialRequirementV1Zod: z.ZodObject<{ credentialRequirementId: z.ZodString; operation: z.ZodEnum<{ "infrastructure.observe-registration": "infrastructure.observe-registration"; "infrastructure.register": "infrastructure.register"; "infrastructure.inventory": "infrastructure.inventory"; "infrastructure.verify": "infrastructure.verify"; "infrastructure.apply": "infrastructure.apply"; "infrastructure.promote": "infrastructure.promote"; "infrastructure.rollback": "infrastructure.rollback"; "artifact-distribution.observe-registration": "artifact-distribution.observe-registration"; "artifact-distribution.register": "artifact-distribution.register"; "artifact.publish": "artifact.publish"; "artifact.read-back": "artifact.read-back"; "guest.bootstrap": "guest.bootstrap"; "resource.adopt": "resource.adopt"; "deployment.deactivate": "deployment.deactivate"; "resource.prune": "resource.prune"; "runtime-secret.deliver": "runtime-secret.deliver"; }>; actionClass: z.ZodEnum<{ create: "create"; replace: "replace"; delete: "delete"; inspect: "inspect"; "narrow-update": "narrow-update"; "read-back": "read-back"; publish: "publish"; adopt: "adopt"; power: "power"; }>; }, z.core.$strict>; export type DappCredentialRequirementV1 = z.infer; export declare function compareDappCredentialRequirementsV1(left: DappCredentialRequirementV1, right: DappCredentialRequirementV1): number; export declare const DappTargetArtifactRefV1Zod: z.ZodObject<{ targetArtifactAdmissionId: z.ZodString; targetArtifactDigest: z.ZodString; }, z.core.$strict>; export type DappTargetArtifactRefV1 = z.infer; /** A target plan sees a prerequisite only as its public binding ID, class, commitment, and allowed operations. */ export declare const DappProviderPrerequisiteRefV1Zod: z.ZodObject<{ providerPrerequisiteBindingId: z.ZodString; prerequisiteClass: z.ZodString; providerPrerequisiteCommitment: z.ZodString; allowedOperations: z.ZodArray; }, z.core.$strict>; export type DappProviderPrerequisiteRefV1 = z.infer; export declare const DappTargetObjectV1Zod: z.ZodObject<{ targetObjectId: z.ZodString; owningInfrastructureId: z.ZodString; providerResourceKind: z.ZodString; targetObjectIdentitySchemaVersion: z.ZodNumber; targetObjectIdentityContractHash: z.ZodString; deploymentTargetNamespaceId: z.ZodString; targetObjectRole: z.ZodString; targetObjectIdentityAnchor: z.ZodDiscriminatedUnion<[z.ZodObject<{ kind: z.ZodLiteral<"thing">; thingId: z.ZodString; }, z.core.$strict>, z.ZodObject<{ kind: z.ZodLiteral<"resource">; resourceId: z.ZodString; }, z.core.$strict>, z.ZodObject<{ kind: z.ZodLiteral<"host-partition">; hostPartitionId: z.ZodString; }, z.core.$strict>, z.ZodObject<{ kind: z.ZodLiteral<"deployment-role">; role: z.ZodString; partitionId: z.ZodString; }, z.core.$strict>], "kind">; thingIds: z.ZodArray; resourceIds: z.ZodArray; hostPartitionIds: z.ZodArray; }, z.core.$strict>; export type DappTargetObjectV1 = z.infer; export declare const DappTargetPlanSliceV1Zod: z.ZodObject<{ thingIds: z.ZodArray; resourceIds: z.ZodArray; hostPartitionIds: z.ZodArray; externalResourceIds: z.ZodArray; }, z.core.$strict>; export type DappTargetPlanSliceV1 = z.infer; interface RefinementContext { addIssue: (issue: { code: 'custom'; message: string; path: (number | string)[]; }) => void; } declare const EnvelopeFields: { lockId: z.ZodString; deploymentIntentId: z.ZodString; projectId: z.ZodString; deploymentName: z.ZodString; deploymentTargetNamespaceId: z.ZodString; infrastructure: z.ZodObject<{ infrastructureId: z.ZodString; kind: z.ZodEnum<{ vercel: "vercel"; cloudflare: "cloudflare"; kubernetes: "kubernetes"; proxmox: "proxmox"; }>; adapterId: z.ZodString; adapterVersion: z.ZodString; adapterDescriptorHash: z.ZodString; infrastructureDescriptorHash: z.ZodString; infrastructurePolicyHash: z.ZodString; expectedScopeCommitment: z.ZodString; }, z.core.$strict>; slice: z.ZodObject<{ thingIds: z.ZodArray; resourceIds: z.ZodArray; hostPartitionIds: z.ZodArray; externalResourceIds: z.ZodArray; }, z.core.$strict>; exportedManagedCapabilities: z.ZodArray; }, z.core.$strict>>; importedManagedCapabilities: z.ZodArray; consumerHostPartitionIds: z.ZodArray; }, z.core.$strict>>; targetArtifacts: z.ZodArray>; credentialRequirements: z.ZodArray; actionClass: z.ZodEnum<{ create: "create"; replace: "replace"; delete: "delete"; inspect: "inspect"; "narrow-update": "narrow-update"; "read-back": "read-back"; publish: "publish"; adopt: "adopt"; power: "power"; }>; }, z.core.$strict>>; targetObjects: z.ZodArray; thingId: z.ZodString; }, z.core.$strict>, z.ZodObject<{ kind: z.ZodLiteral<"resource">; resourceId: z.ZodString; }, z.core.$strict>, z.ZodObject<{ kind: z.ZodLiteral<"host-partition">; hostPartitionId: z.ZodString; }, z.core.$strict>, z.ZodObject<{ kind: z.ZodLiteral<"deployment-role">; role: z.ZodString; partitionId: z.ZodString; }, z.core.$strict>], "kind">; thingIds: z.ZodArray; resourceIds: z.ZodArray; hostPartitionIds: z.ZodArray; }, z.core.$strict>>; providerPrerequisites: z.ZodArray; }, z.core.$strict>>; requestTemplates: z.ZodArray; schemaVersion: z.ZodLiteral<1>; hashAlgorithm: z.ZodLiteral<"jcs-sha256-v1">; adapterDescriptorHash: z.ZodString; actionKind: z.ZodString; method: z.ZodEnum<{ GET: "GET"; HEAD: "HEAD"; POST: "POST"; PUT: "PUT"; PATCH: "PATCH"; DELETE: "DELETE"; }>; pathTemplate: z.ZodString; queryTemplate: z.ZodArray>; semanticHeaders: z.ZodArray; }, z.core.$strict>>; bodyTemplateHash: z.ZodNullable; placeholders: z.ZodArray; bindingClass: z.ZodEnum<{ "target-object": "target-object"; "provider-prerequisite": "provider-prerequisite"; "registry-repository": "registry-repository"; "protected-material": "protected-material"; }>; bindingId: z.ZodString; commitment: z.ZodNullable; }, z.core.$strict>>; requestTemplateHash: z.ZodString; }, z.core.$strict>>; }; type DappTargetPlanEnvelopeV1Shape = z.infer>; /** * Intra-plan refinement shared by every provider plan schema. Provider * packages spread `DappTargetPlanEnvelopeV1Fields` into their strict preimage * and call this from their own `superRefine`, so the common rules are checked * once and identically everywhere. */ export declare function refineDappTargetPlanEnvelopeV1(envelope: DappTargetPlanEnvelopeV1Shape, context: RefinementContext): void; export declare const DappTargetPlanEnvelopeV1Fields: { lockId: z.ZodString; deploymentIntentId: z.ZodString; projectId: z.ZodString; deploymentName: z.ZodString; deploymentTargetNamespaceId: z.ZodString; infrastructure: z.ZodObject<{ infrastructureId: z.ZodString; kind: z.ZodEnum<{ vercel: "vercel"; cloudflare: "cloudflare"; kubernetes: "kubernetes"; proxmox: "proxmox"; }>; adapterId: z.ZodString; adapterVersion: z.ZodString; adapterDescriptorHash: z.ZodString; infrastructureDescriptorHash: z.ZodString; infrastructurePolicyHash: z.ZodString; expectedScopeCommitment: z.ZodString; }, z.core.$strict>; slice: z.ZodObject<{ thingIds: z.ZodArray; resourceIds: z.ZodArray; hostPartitionIds: z.ZodArray; externalResourceIds: z.ZodArray; }, z.core.$strict>; exportedManagedCapabilities: z.ZodArray; }, z.core.$strict>>; importedManagedCapabilities: z.ZodArray; consumerHostPartitionIds: z.ZodArray; }, z.core.$strict>>; targetArtifacts: z.ZodArray>; credentialRequirements: z.ZodArray; actionClass: z.ZodEnum<{ create: "create"; replace: "replace"; delete: "delete"; inspect: "inspect"; "narrow-update": "narrow-update"; "read-back": "read-back"; publish: "publish"; adopt: "adopt"; power: "power"; }>; }, z.core.$strict>>; targetObjects: z.ZodArray; thingId: z.ZodString; }, z.core.$strict>, z.ZodObject<{ kind: z.ZodLiteral<"resource">; resourceId: z.ZodString; }, z.core.$strict>, z.ZodObject<{ kind: z.ZodLiteral<"host-partition">; hostPartitionId: z.ZodString; }, z.core.$strict>, z.ZodObject<{ kind: z.ZodLiteral<"deployment-role">; role: z.ZodString; partitionId: z.ZodString; }, z.core.$strict>], "kind">; thingIds: z.ZodArray; resourceIds: z.ZodArray; hostPartitionIds: z.ZodArray; }, z.core.$strict>>; providerPrerequisites: z.ZodArray; }, z.core.$strict>>; requestTemplates: z.ZodArray; schemaVersion: z.ZodLiteral<1>; hashAlgorithm: z.ZodLiteral<"jcs-sha256-v1">; adapterDescriptorHash: z.ZodString; actionKind: z.ZodString; method: z.ZodEnum<{ GET: "GET"; HEAD: "HEAD"; POST: "POST"; PUT: "PUT"; PATCH: "PATCH"; DELETE: "DELETE"; }>; pathTemplate: z.ZodString; queryTemplate: z.ZodArray>; semanticHeaders: z.ZodArray; }, z.core.$strict>>; bodyTemplateHash: z.ZodNullable; placeholders: z.ZodArray; bindingClass: z.ZodEnum<{ "target-object": "target-object"; "provider-prerequisite": "provider-prerequisite"; "registry-repository": "registry-repository"; "protected-material": "protected-material"; }>; bindingId: z.ZodString; commitment: z.ZodNullable; }, z.core.$strict>>; requestTemplateHash: z.ZodString; }, z.core.$strict>>; }; export declare const DappTargetPlanEnvelopeV1Zod: z.ZodObject<{ lockId: z.ZodString; deploymentIntentId: z.ZodString; projectId: z.ZodString; deploymentName: z.ZodString; deploymentTargetNamespaceId: z.ZodString; infrastructure: z.ZodObject<{ infrastructureId: z.ZodString; kind: z.ZodEnum<{ vercel: "vercel"; cloudflare: "cloudflare"; kubernetes: "kubernetes"; proxmox: "proxmox"; }>; adapterId: z.ZodString; adapterVersion: z.ZodString; adapterDescriptorHash: z.ZodString; infrastructureDescriptorHash: z.ZodString; infrastructurePolicyHash: z.ZodString; expectedScopeCommitment: z.ZodString; }, z.core.$strict>; slice: z.ZodObject<{ thingIds: z.ZodArray; resourceIds: z.ZodArray; hostPartitionIds: z.ZodArray; externalResourceIds: z.ZodArray; }, z.core.$strict>; exportedManagedCapabilities: z.ZodArray; }, z.core.$strict>>; importedManagedCapabilities: z.ZodArray; consumerHostPartitionIds: z.ZodArray; }, z.core.$strict>>; targetArtifacts: z.ZodArray>; credentialRequirements: z.ZodArray; actionClass: z.ZodEnum<{ create: "create"; replace: "replace"; delete: "delete"; inspect: "inspect"; "narrow-update": "narrow-update"; "read-back": "read-back"; publish: "publish"; adopt: "adopt"; power: "power"; }>; }, z.core.$strict>>; targetObjects: z.ZodArray; thingId: z.ZodString; }, z.core.$strict>, z.ZodObject<{ kind: z.ZodLiteral<"resource">; resourceId: z.ZodString; }, z.core.$strict>, z.ZodObject<{ kind: z.ZodLiteral<"host-partition">; hostPartitionId: z.ZodString; }, z.core.$strict>, z.ZodObject<{ kind: z.ZodLiteral<"deployment-role">; role: z.ZodString; partitionId: z.ZodString; }, z.core.$strict>], "kind">; thingIds: z.ZodArray; resourceIds: z.ZodArray; hostPartitionIds: z.ZodArray; }, z.core.$strict>>; providerPrerequisites: z.ZodArray; }, z.core.$strict>>; requestTemplates: z.ZodArray; schemaVersion: z.ZodLiteral<1>; hashAlgorithm: z.ZodLiteral<"jcs-sha256-v1">; adapterDescriptorHash: z.ZodString; actionKind: z.ZodString; method: z.ZodEnum<{ GET: "GET"; HEAD: "HEAD"; POST: "POST"; PUT: "PUT"; PATCH: "PATCH"; DELETE: "DELETE"; }>; pathTemplate: z.ZodString; queryTemplate: z.ZodArray>; semanticHeaders: z.ZodArray; }, z.core.$strict>>; bodyTemplateHash: z.ZodNullable; placeholders: z.ZodArray; bindingClass: z.ZodEnum<{ "target-object": "target-object"; "provider-prerequisite": "provider-prerequisite"; "registry-repository": "registry-repository"; "protected-material": "protected-material"; }>; bindingId: z.ZodString; commitment: z.ZodNullable; }, z.core.$strict>>; requestTemplateHash: z.ZodString; }, z.core.$strict>>; }, z.core.$strict>; export type DappTargetPlanEnvelopeV1 = z.infer; /** The exact slice of a Lock V3 that belongs to one infrastructure instance. */ export declare function sliceDappDeploymentLockV3(lock: DappDeploymentLockV3, infrastructureId: string): DappTargetPlanSliceV1; export declare const DappTargetPlanIssueCodes: readonly ["target-plan.envelope-invalid", "target-plan.lock-mismatch"]; export declare const DappTargetPlanIssueCodeZod: z.ZodEnum<{ "target-plan.envelope-invalid": "target-plan.envelope-invalid"; "target-plan.lock-mismatch": "target-plan.lock-mismatch"; }>; export type DappTargetPlanIssueCode = z.infer; export interface DappTargetPlanIssue { code: DappTargetPlanIssueCode; message: string; path: (number | string)[]; } export type DappTargetPlanEnvelopeV1Result = { issues: DappTargetPlanIssue[]; success: false; } | { success: true; value: DappTargetPlanEnvelopeV1; }; /** * Verifies that an envelope is exactly one slice of the given Lock V3: same * lock and intent identities, the lock's own selected-infrastructure entry, * exactly the things, resources, hosts, and external references the lock * places on that instance, and imports whose owners are the lock's owners. * Provider verifiers call this before checking their kind-specific fields. */ export declare function verifyDappTargetPlanEnvelopeV1(lock: DappDeploymentLockV3, value: unknown): DappTargetPlanEnvelopeV1Result; export {}; //# sourceMappingURL=targetPlanEnvelope.d.ts.map