import { z } from 'zod'; /** * ECR container image URI pattern, mirroring the CFN ContainerConfiguration.ContainerUri * constraint (private 12-digit ECR registry or public.ecr.aws, optional tag/digest). * A non-ECR URI is rejected client-side instead of failing at CloudFormation CREATE. */ export declare const CONTAINER_URI_PATTERN: RegExp; /** CFN ContainerConfiguration.ContainerUri maxLength. */ export declare const MAX_CONTAINER_URI_LENGTH = 1024; /** CFN EnvironmentVariables value maxLength and map maxProperties. */ export declare const MAX_ENV_VAR_VALUE_LENGTH = 5000; export declare const MAX_ENV_VARS = 50; /** CFN/Smithy EnvironmentVariableKey length bounds (Smithy EnvironmentVariableKey: 1–100, no char pattern). */ export declare const MAX_ENV_VAR_KEY_LENGTH = 100; export declare const HarnessNameSchema: z.ZodString; export declare const HarnessModelProviderSchema: z.ZodEnum<{ bedrock: "bedrock"; open_ai: "open_ai"; gemini: "gemini"; lite_llm: "lite_llm"; }>; export type HarnessModelProvider = z.infer; /** Max length of the LiteLLM apiBase URL (Smithy: HarnessLiteLlmApiBase, 1–16383). */ export declare const MAX_LITE_LLM_API_BASE_LENGTH = 16383; export declare const BedrockApiFormatSchema: z.ZodEnum<{ converse_stream: "converse_stream"; responses: "responses"; chat_completions: "chat_completions"; }>; export type BedrockApiFormat = z.infer; export declare const OpenAiApiFormatSchema: z.ZodEnum<{ responses: "responses"; chat_completions: "chat_completions"; }>; export type OpenAiApiFormat = z.infer; export declare const HarnessApiFormatSchema: z.ZodEnum<{ converse_stream: "converse_stream"; responses: "responses"; chat_completions: "chat_completions"; }>; export type HarnessApiFormat = z.infer; export declare const HarnessModelSchema: z.ZodObject<{ provider: z.ZodEnum<{ bedrock: "bedrock"; open_ai: "open_ai"; gemini: "gemini"; lite_llm: "lite_llm"; }>; modelId: z.ZodString; apiKeyArn: z.ZodOptional; apiFormat: z.ZodOptional>; temperature: z.ZodOptional; topP: z.ZodOptional; topK: z.ZodOptional; maxTokens: z.ZodOptional; apiBase: z.ZodOptional; additionalParams: z.ZodOptional>; }, z.core.$strip>; export type HarnessModel = z.infer; export declare function validateApiFormat(apiFormat: string, provider: string): { valid: true; } | { valid: false; error: string; }; export declare const HarnessToolTypeSchema: z.ZodEnum<{ remote_mcp: "remote_mcp"; agentcore_browser: "agentcore_browser"; agentcore_gateway: "agentcore_gateway"; inline_function: "inline_function"; agentcore_code_interpreter: "agentcore_code_interpreter"; }>; export type HarnessToolType = z.infer; export declare const HarnessToolNameSchema: z.ZodString; export declare const RemoteMcpConfigSchema: z.ZodObject<{ remoteMcp: z.ZodObject<{ url: z.ZodString; headers: z.ZodOptional>; }, z.core.$strip>; }, z.core.$strip>; export declare const AgentCoreBrowserConfigSchema: z.ZodObject<{ agentCoreBrowser: z.ZodObject<{ browserArn: z.ZodOptional; }, z.core.$strip>; }, z.core.$strip>; export declare const AgentCoreCodeInterpreterConfigSchema: z.ZodObject<{ agentCoreCodeInterpreter: z.ZodObject<{ codeInterpreterArn: z.ZodOptional; }, z.core.$strip>; }, z.core.$strip>; export declare const GatewayOAuthGrantTypeSchema: z.ZodEnum<{ CLIENT_CREDENTIALS: "CLIENT_CREDENTIALS"; USER_FEDERATION: "USER_FEDERATION"; }>; export declare const HarnessGatewayOutboundAuthSchema: z.ZodUnion; }, z.core.$strip>, z.ZodObject<{ none: z.ZodObject<{}, z.core.$strip>; }, z.core.$strip>, z.ZodObject<{ oauth: z.ZodObject<{ providerArn: z.ZodString; scopes: z.ZodArray; grantType: z.ZodOptional>; customParameters: z.ZodOptional>; }, z.core.$strip>; }, z.core.$strip>]>; export type HarnessGatewayOutboundAuth = z.infer; export declare const AgentCoreGatewayConfigSchema: z.ZodObject<{ agentCoreGateway: z.ZodObject<{ gatewayArn: z.ZodString; outboundAuth: z.ZodOptional; }, z.core.$strip>, z.ZodObject<{ none: z.ZodObject<{}, z.core.$strip>; }, z.core.$strip>, z.ZodObject<{ oauth: z.ZodObject<{ providerArn: z.ZodString; scopes: z.ZodArray; grantType: z.ZodOptional>; customParameters: z.ZodOptional>; }, z.core.$strip>; }, z.core.$strip>]>>; }, z.core.$loose>; }, z.core.$strip>; export declare const InlineFunctionConfigSchema: z.ZodObject<{ inlineFunction: z.ZodObject<{ description: z.ZodString; inputSchema: z.ZodRecord; }, z.core.$strip>; }, z.core.$strip>; export declare const HarnessToolConfigSchema: z.ZodUnion>; }, z.core.$strip>; }, z.core.$strip>, z.ZodObject<{ agentCoreBrowser: z.ZodObject<{ browserArn: z.ZodOptional; }, z.core.$strip>; }, z.core.$strip>, z.ZodObject<{ agentCoreCodeInterpreter: z.ZodObject<{ codeInterpreterArn: z.ZodOptional; }, z.core.$strip>; }, z.core.$strip>, z.ZodObject<{ agentCoreGateway: z.ZodObject<{ gatewayArn: z.ZodString; outboundAuth: z.ZodOptional; }, z.core.$strip>, z.ZodObject<{ none: z.ZodObject<{}, z.core.$strip>; }, z.core.$strip>, z.ZodObject<{ oauth: z.ZodObject<{ providerArn: z.ZodString; scopes: z.ZodArray; grantType: z.ZodOptional>; customParameters: z.ZodOptional>; }, z.core.$strip>; }, z.core.$strip>]>>; }, z.core.$loose>; }, z.core.$strip>, z.ZodObject<{ inlineFunction: z.ZodObject<{ description: z.ZodString; inputSchema: z.ZodRecord; }, z.core.$strip>; }, z.core.$strip>]>; export declare const HarnessToolSchema: z.ZodObject<{ type: z.ZodEnum<{ remote_mcp: "remote_mcp"; agentcore_browser: "agentcore_browser"; agentcore_gateway: "agentcore_gateway"; inline_function: "inline_function"; agentcore_code_interpreter: "agentcore_code_interpreter"; }>; name: z.ZodString; config: z.ZodOptional>; }, z.core.$strip>; }, z.core.$strip>, z.ZodObject<{ agentCoreBrowser: z.ZodObject<{ browserArn: z.ZodOptional; }, z.core.$strip>; }, z.core.$strip>, z.ZodObject<{ agentCoreCodeInterpreter: z.ZodObject<{ codeInterpreterArn: z.ZodOptional; }, z.core.$strip>; }, z.core.$strip>, z.ZodObject<{ agentCoreGateway: z.ZodObject<{ gatewayArn: z.ZodString; outboundAuth: z.ZodOptional; }, z.core.$strip>, z.ZodObject<{ none: z.ZodObject<{}, z.core.$strip>; }, z.core.$strip>, z.ZodObject<{ oauth: z.ZodObject<{ providerArn: z.ZodString; scopes: z.ZodArray; grantType: z.ZodOptional>; customParameters: z.ZodOptional>; }, z.core.$strip>; }, z.core.$strip>]>>; }, z.core.$loose>; }, z.core.$strip>, z.ZodObject<{ inlineFunction: z.ZodObject<{ description: z.ZodString; inputSchema: z.ZodRecord; }, z.core.$strip>; }, z.core.$strip>]>>; }, z.core.$strip>; export type HarnessTool = z.infer; /** * Per-namespace retrieval tuning, applied as a flat default across every namespace * of the referenced memory's strategies. Namespaces are only known at synth (from the * resolved Memory's strategies), so a per-namespace map cannot be authored here; this * single config is fanned out to each namespace. StrategyId is omitted deliberately — * the namespace already identifies the strategy and the id is service-assigned. Maps to * CFN HarnessAgentCoreMemoryRetrievalConfig {TopK, RelevanceScore}. */ export declare const HarnessMemoryRetrievalConfigSchema: z.ZodObject<{ topK: z.ZodOptional; relevanceScore: z.ZodOptional; }, z.core.$strict>; export type HarnessMemoryRetrievalConfig = z.infer; /** * Managed-memory strategy set. NOT MemoryStrategyTypeSchema: managed harness memory excludes * CUSTOM (the CFN ManagedMemoryConfiguration.Strategies enum is exactly these four). */ export declare const ManagedMemoryStrategySchema: z.ZodEnum<{ SEMANTIC: "SEMANTIC"; SUMMARIZATION: "SUMMARIZATION"; USER_PREFERENCE: "USER_PREFERENCE"; EPISODIC: "EPISODIC"; }>; /** * Memory reference for a harness — exactly one of managed | existing | disabled. * A legacy-aware preprocess maps the pre-union flat shape ({ name | arn | ... }) to the `existing` * arm. Absent memory STAYS absent — managed is the default only for NEW harnesses (seeded at create * time by the CLI/TUI), never invented here, so already-deployed harnesses are not auto-upgraded. */ export declare const HarnessMemoryRefSchema: z.ZodPipe, z.ZodDiscriminatedUnion<[z.ZodObject<{ mode: z.ZodLiteral<"managed">; strategies: z.ZodOptional>>; eventExpiryDuration: z.ZodOptional; encryptionKeyArn: z.ZodOptional; }, z.core.$strict>, z.ZodObject<{ mode: z.ZodLiteral<"existing">; name: z.ZodOptional; arn: z.ZodOptional; actorId: z.ZodOptional; messagesCount: z.ZodOptional; retrievalConfig: z.ZodOptional; relevanceScore: z.ZodOptional; }, z.core.$strict>>; }, z.core.$strict>, z.ZodObject<{ mode: z.ZodLiteral<"disabled">; }, z.core.$strict>], "mode">>; export type HarnessMemoryRef = z.infer; export type ManagedMemoryStrategy = z.infer; export declare const HarnessTruncationStrategySchema: z.ZodEnum<{ none: "none"; sliding_window: "sliding_window"; summarization: "summarization"; }>; export declare const SlidingWindowConfigSchema: z.ZodObject<{ slidingWindow: z.ZodObject<{ messagesCount: z.ZodOptional; }, z.core.$strip>; }, z.core.$strict>; export declare const SummarizationConfigSchema: z.ZodObject<{ summarization: z.ZodObject<{ summaryRatio: z.ZodOptional; preserveRecentMessages: z.ZodOptional; summarizationSystemPrompt: z.ZodOptional; }, z.core.$strip>; }, z.core.$strict>; export declare const HarnessTruncationConfigSchema: z.ZodObject<{ strategy: z.ZodEnum<{ none: "none"; sliding_window: "sliding_window"; summarization: "summarization"; }>; config: z.ZodOptional; }, z.core.$strip>; }, z.core.$strict>, z.ZodObject<{ summarization: z.ZodObject<{ summaryRatio: z.ZodOptional; preserveRecentMessages: z.ZodOptional; summarizationSystemPrompt: z.ZodOptional; }, z.core.$strip>; }, z.core.$strict>]>>; }, z.core.$strip>; export type HarnessTruncationConfig = z.infer; export declare const HarnessSkillGitAuthSchema: z.ZodObject<{ credentialName: z.ZodString; username: z.ZodOptional; }, z.core.$strip>; export type HarnessSkillGitAuth = z.infer; export declare const HarnessSkillS3SourceSchema: z.ZodObject<{ s3Uri: z.ZodString; }, z.core.$strict>; export type HarnessSkillS3Source = z.infer; export declare const HarnessSkillGitSourceSchema: z.ZodObject<{ gitUrl: z.ZodString; path: z.ZodOptional; auth: z.ZodOptional; }, z.core.$strip>>; }, z.core.$strict>; export type HarnessSkillGitSource = z.infer; export declare const HarnessSkillPathSourceSchema: z.ZodObject<{ path: z.ZodString; }, z.core.$strict>; export type HarnessSkillPathSource = z.infer; export declare const HarnessSkillAwsSkillsSourceSchema: z.ZodObject<{ awsSkills: z.ZodObject<{ paths: z.ZodOptional>; }, z.core.$strict>; }, z.core.$strict>; export type HarnessSkillAwsSkillsSource = z.infer; /** * A skill source: either an S3 source, Git source, path object, AWS skills, or a bare string * (treated as a filesystem path for backward compatibility). */ export declare const HarnessSkillSchema: z.ZodUnion>, z.ZodObject<{ s3Uri: z.ZodString; }, z.core.$strict>, z.ZodObject<{ gitUrl: z.ZodString; path: z.ZodOptional; auth: z.ZodOptional; }, z.core.$strip>>; }, z.core.$strict>, z.ZodObject<{ path: z.ZodString; }, z.core.$strict>, z.ZodObject<{ awsSkills: z.ZodObject<{ paths: z.ZodOptional>; }, z.core.$strict>; }, z.core.$strict>]>; export type HarnessSkillInput = z.input; export type HarnessSkill = z.output; export declare const AllowedToolSchema: z.ZodString; /** * Detects the legacy file-path-shaped `systemPrompt` (the pre-migration `./prompt.md` style that * the old L3 read from disk). A real system prompt is instructional prose containing whitespace; * the legacy shape was always a single bare token that is a relative path or ends in .md/.txt. * Used to fail fast on upgrade rather than silently shipping the path string as the prompt text. */ export declare function looksLikeLegacyPromptPath(value: string): boolean; export declare const HarnessSpecSchema: z.ZodObject<{ name: z.ZodString; model: z.ZodObject<{ provider: z.ZodEnum<{ bedrock: "bedrock"; open_ai: "open_ai"; gemini: "gemini"; lite_llm: "lite_llm"; }>; modelId: z.ZodString; apiKeyArn: z.ZodOptional; apiFormat: z.ZodOptional>; temperature: z.ZodOptional; topP: z.ZodOptional; topK: z.ZodOptional; maxTokens: z.ZodOptional; apiBase: z.ZodOptional; additionalParams: z.ZodOptional>; }, z.core.$strip>; systemPrompt: z.ZodOptional; tools: z.ZodDefault; name: z.ZodString; config: z.ZodOptional>; }, z.core.$strip>; }, z.core.$strip>, z.ZodObject<{ agentCoreBrowser: z.ZodObject<{ browserArn: z.ZodOptional; }, z.core.$strip>; }, z.core.$strip>, z.ZodObject<{ agentCoreCodeInterpreter: z.ZodObject<{ codeInterpreterArn: z.ZodOptional; }, z.core.$strip>; }, z.core.$strip>, z.ZodObject<{ agentCoreGateway: z.ZodObject<{ gatewayArn: z.ZodString; outboundAuth: z.ZodOptional; }, z.core.$strip>, z.ZodObject<{ none: z.ZodObject<{}, z.core.$strip>; }, z.core.$strip>, z.ZodObject<{ oauth: z.ZodObject<{ providerArn: z.ZodString; scopes: z.ZodArray; grantType: z.ZodOptional>; customParameters: z.ZodOptional>; }, z.core.$strip>; }, z.core.$strip>]>>; }, z.core.$loose>; }, z.core.$strip>, z.ZodObject<{ inlineFunction: z.ZodObject<{ description: z.ZodString; inputSchema: z.ZodRecord; }, z.core.$strip>; }, z.core.$strip>]>>; }, z.core.$strip>>>; skills: z.ZodDefault>, z.ZodObject<{ s3Uri: z.ZodString; }, z.core.$strict>, z.ZodObject<{ gitUrl: z.ZodString; path: z.ZodOptional; auth: z.ZodOptional; }, z.core.$strip>>; }, z.core.$strict>, z.ZodObject<{ path: z.ZodString; }, z.core.$strict>, z.ZodObject<{ awsSkills: z.ZodObject<{ paths: z.ZodOptional>; }, z.core.$strict>; }, z.core.$strict>]>>>; allowedTools: z.ZodOptional>; memory: z.ZodOptional, z.ZodDiscriminatedUnion<[z.ZodObject<{ mode: z.ZodLiteral<"managed">; strategies: z.ZodOptional>>; eventExpiryDuration: z.ZodOptional; encryptionKeyArn: z.ZodOptional; }, z.core.$strict>, z.ZodObject<{ mode: z.ZodLiteral<"existing">; name: z.ZodOptional; arn: z.ZodOptional; actorId: z.ZodOptional; messagesCount: z.ZodOptional; retrievalConfig: z.ZodOptional; relevanceScore: z.ZodOptional; }, z.core.$strict>>; }, z.core.$strict>, z.ZodObject<{ mode: z.ZodLiteral<"disabled">; }, z.core.$strict>], "mode">>>; maxIterations: z.ZodOptional; maxTokens: z.ZodOptional; timeoutSeconds: z.ZodOptional; truncation: z.ZodOptional; config: z.ZodOptional; }, z.core.$strip>; }, z.core.$strict>, z.ZodObject<{ summarization: z.ZodObject<{ summaryRatio: z.ZodOptional; preserveRecentMessages: z.ZodOptional; summarizationSystemPrompt: z.ZodOptional; }, z.core.$strip>; }, z.core.$strict>]>>; }, z.core.$strip>>; containerUri: z.ZodOptional; dockerfile: z.ZodOptional; executionRoleArn: z.ZodOptional; networkMode: z.ZodOptional>; networkConfig: z.ZodOptional; securityGroups: z.ZodArray; }, z.core.$strip>>; lifecycleConfig: z.ZodOptional; maxLifetime: z.ZodOptional; }, z.core.$strip>>; sessionStoragePath: z.ZodOptional; efsAccessPoints: z.ZodOptional>>; s3AccessPoints: z.ZodOptional>>; environmentVariables: 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>>; tags: z.ZodOptional>; }, z.core.$strip>; export type HarnessSpec = z.infer; //# sourceMappingURL=harness.d.ts.map