import type { DirectoryPath, FilePath } from '../types'; import { z } from 'zod'; export type { DirectoryPath, FilePath, PathType } from '../types'; export type { PythonRuntime, NodeRuntime, RuntimeVersion, NetworkMode, ProtocolMode } from '../constants'; export declare const AgentNameSchema: z.ZodString; export declare const EnvVarNameSchema: z.ZodString; export declare const GatewayNameSchema: z.ZodString; /** Access level for resource sharing */ export declare const AccessSchema: z.ZodEnum<{ read: "read"; readwrite: "readwrite"; }>; export type Access = z.infer; export declare const AgentTypeSchema: z.ZodLiteral<"AgentCoreRuntime">; export type AgentType = z.infer; export declare const BuildTypeSchema: z.ZodEnum<{ CodeZip: "CodeZip"; Container: "Container"; }>; export type BuildType = z.infer; /** * Entrypoint schema - supports both Python (.py) and TypeScript (.ts/.js) files. * Python: main.py or main.py:handler * TypeScript: main.ts, main.js, or index.ts */ export declare const EntrypointSchema: z.ZodType; export declare const EnvVarSchema: z.ZodObject<{ name: z.ZodString; value: z.ZodString; }, z.core.$strip>; export type EnvVar = z.infer; /** * Instrumentation configuration for runtime observability. */ export declare const InstrumentationSchema: z.ZodObject<{ enableOtel: z.ZodDefault; }, z.core.$strip>; export type Instrumentation = z.infer; /** * Network configuration for VPC mode. * Required when networkMode is 'VPC'. */ export declare const NetworkConfigSchema: z.ZodObject<{ subnets: z.ZodArray; securityGroups: z.ZodArray; }, z.core.$strip>; export type NetworkConfig = z.infer; /** * Allowed request headers for the runtime. * Per https://docs.aws.amazon.com/bedrock-agentcore/latest/devguide/runtime-header-allowlist.html * any valid HTTP header name (alphanumeric, hyphens, underscores) may be allow-listed, * provided it is not structurally reserved (x-amz-*, x-amzn-* except Runtime-Custom-*). * Maximum 20 headers. */ export declare const HEADER_ALLOWLIST_PREFIX = "X-Amzn-Bedrock-AgentCore-Runtime-Custom-"; export declare const HEADER_NAME_PATTERN: RegExp; export declare const MAX_HEADER_ALLOWLIST_SIZE = 20; /** * Validate a single allowlist header name. Returns null if valid, or a specific * error message describing which rule the input violated. * * Note: 'x-amz-' and 'x-amzn-' are disjoint prefixes (position 5 differs: '-' vs 'n'), * so the two checks below are independent. */ export declare function checkAllowlistHeader(val: string): string | null; export declare const RequestHeaderAllowlistSchema: z.ZodArray; /** * Session storage configuration for filesystem persistence. * Files written to mountPath persist across session stop/resume cycles. */ export declare const SessionStorageSchema: z.ZodObject<{ mountPath: z.ZodString; }, z.core.$strip>; export type SessionStorage = z.infer; /** EFS access point mount configuration. Requires VPC network mode. */ export declare const EfsAccessPointConfigSchema: z.ZodObject<{ accessPointArn: z.ZodString; mountPath: z.ZodString; }, z.core.$strip>; export type EfsAccessPointConfig = z.infer; /** S3 Files access point mount configuration. Requires VPC network mode. */ export declare const S3FilesAccessPointConfigSchema: z.ZodObject<{ accessPointArn: z.ZodString; mountPath: z.ZodString; }, z.core.$strip>; export type S3FilesAccessPointConfig = z.infer; /** * Filesystem configuration — union of three mount types. * Exactly one key must be present per entry. * * Service limits per runtime: max 5 total, max 1 sessionStorage, * max 2 efsAccessPoint, max 2 s3FilesAccessPoint. * efsAccessPoint and s3FilesAccessPoint require networkMode: VPC. */ export declare const FilesystemConfigurationSchema: z.ZodUnion; }, z.core.$strip>, z.ZodObject<{ efsAccessPoint: z.ZodObject<{ accessPointArn: z.ZodString; mountPath: z.ZodString; }, z.core.$strip>; }, z.core.$strip>, z.ZodObject<{ s3FilesAccessPoint: z.ZodObject<{ accessPointArn: z.ZodString; mountPath: z.ZodString; }, z.core.$strip>; }, z.core.$strip>]>; export type FilesystemConfiguration = z.infer; /** * Lifecycle configuration for runtime sessions. * Controls idle timeout and max lifetime of runtime instances. */ export declare const LifecycleConfigurationSchema: z.ZodObject<{ idleRuntimeSessionTimeout: z.ZodOptional; maxLifetime: z.ZodOptional; }, z.core.$strip>; export type LifecycleConfiguration = z.infer; /** * Endpoint name follows the AgentCore API regex for endpoint aliases. */ export declare const RuntimeEndpointNameSchema: z.ZodString; export declare const RuntimeEndpointSchema: z.ZodObject<{ version: z.ZodNumber; description: z.ZodOptional; }, z.core.$strip>; export type RuntimeEndpoint = z.infer; /** * AgentEnvSpec - represents an AgentCore Runtime. * This is a top-level resource in the schema. */ export declare const AgentEnvSpecSchema: z.ZodObject<{ name: z.ZodString; description: z.ZodOptional; build: z.ZodEnum<{ CodeZip: "CodeZip"; Container: "Container"; }>; entrypoint: z.ZodType>; codeLocation: z.ZodType>; dockerfile: z.ZodOptional; runtimeVersion: z.ZodOptional, z.ZodEnum<{ NODE_18: "NODE_18"; NODE_20: "NODE_20"; NODE_22: "NODE_22"; }>]>>; envVars: z.ZodOptional>>; networkMode: z.ZodOptional>; networkConfig: z.ZodOptional; securityGroups: z.ZodArray; }, z.core.$strip>>; instrumentation: z.ZodOptional; }, z.core.$strip>>; protocol: z.ZodOptional>; requestHeaderAllowlist: z.ZodOptional>; authorizerType: z.ZodOptional>; authorizerConfiguration: z.ZodOptional>; allowedClients: z.ZodOptional>; allowedScopes: z.ZodOptional>; customClaims: z.ZodOptional; authorizingClaimMatchValue: z.ZodObject<{ claimMatchOperator: z.ZodEnum<{ EQUALS: "EQUALS"; CONTAINS: "CONTAINS"; CONTAINS_ANY: "CONTAINS_ANY"; }>; claimMatchValue: z.ZodObject<{ matchValueString: z.ZodOptional; matchValueStringList: z.ZodOptional>; }, z.core.$strip>; }, z.core.$strip>; }, z.core.$strict>>>; privateEndpoint: z.ZodOptional>; managedVpcResource: z.ZodOptional; endpointIpAddressType: z.ZodEnum<{ IPV4: "IPV4"; IPV6: "IPV6"; }>; securityGroupIds: z.ZodOptional>; tags: z.ZodOptional>; routingDomain: z.ZodOptional; }, z.core.$strict>>; }, z.core.$strict>>; privateEndpointOverrides: z.ZodOptional>; managedVpcResource: z.ZodOptional; endpointIpAddressType: z.ZodEnum<{ IPV4: "IPV4"; IPV6: "IPV6"; }>; securityGroupIds: z.ZodOptional>; tags: z.ZodOptional>; routingDomain: z.ZodOptional; }, z.core.$strict>>; }, z.core.$strict>; }, z.core.$strict>>>; }, z.core.$strict>>; }, z.core.$strip>>; executionRoleArn: z.ZodOptional; tags: z.ZodOptional>; lifecycleConfiguration: z.ZodOptional; maxLifetime: z.ZodOptional; }, z.core.$strip>>; filesystemConfigurations: z.ZodOptional; }, z.core.$strip>, z.ZodObject<{ efsAccessPoint: z.ZodObject<{ accessPointArn: z.ZodString; mountPath: z.ZodString; }, z.core.$strip>; }, z.core.$strip>, z.ZodObject<{ s3FilesAccessPoint: z.ZodObject<{ accessPointArn: z.ZodString; mountPath: z.ZodString; }, z.core.$strip>; }, z.core.$strip>]>>>; endpoints: z.ZodOptional; }, z.core.$strip>>>; }, z.core.$strip>; export type AgentEnvSpec = z.infer; //# sourceMappingURL=agent-env.d.ts.map