import type { HarnessSpec } from '../../../../../schema'; import type { AgentCoreComponentProps } from '../../base-props'; import { aws_iam as iam } from 'aws-cdk-lib'; import { Construct } from 'constructs'; export interface AgentCoreHarnessProps extends AgentCoreComponentProps { /** The full harness configuration (already validated against HarnessSpecSchema). */ readonly harness: HarnessSpec; /** Directory containing this harness's harness.json — used to resolve a system-prompt file path at synth. */ readonly harnessDir: string; /** Execution role ARN the harness assumes (CFN-required). */ readonly executionRoleArn: string; /** The execution role construct, when created in-stack, so the resource depends on its policies. */ readonly executionRole?: iam.IRole; /** Resolved container image URI (from spec.containerUri or a dockerfile build). */ readonly containerUri?: string; /** Resolved memory ARN (intra-stack token or literal) when the harness references memory. */ readonly memoryArn?: string; /** Retrieval config (per-namespace TopK/RelevanceScore) derived from the referenced memory. */ readonly retrievalConfig?: Record; /** Credential deployed state for resolving skill git auth credential names. */ readonly credentials?: Record; } /** * AgentCore Harness component construct. * * Creates an `AWS::BedrockAgentCore::Harness` resource from a HarnessSpec. * * Uses a raw CfnResource because no L1 CfnHarness exists in aws-cdk-lib that * matches the (private) resource's property surface yet — following the * Dataset / PaymentManager escape-hatch precedent. * * Key property notes: * - HarnessName is createOnly; the physical name is `${projectName}_${name}` and * must be ≤40 chars (CFN cap) — validated here before synth. * - Environment.AgentCoreRuntimeEnvironment.NetworkConfiguration is createOnly. * - Ref resolves to the harness Arn; HarnessId/Status/Version/AgentRuntimeArn via getAtt. */ export declare class AgentCoreHarness extends Construct { /** The ARN of the harness (CloudFormation Ref). */ readonly harnessArn: string; /** The unique identifier of the harness. */ readonly harnessId: string; /** The current status of the harness. */ readonly status: string; /** The read-only harness config version (service-incremented on every successful update). */ readonly harnessVersion: string; /** The ARN of the underlying managed AgentCore Runtime. */ readonly agentRuntimeArn: string; /** The physical harness name as deployed to AWS. */ readonly harnessName: string; constructor(scope: Construct, id: string, props: AgentCoreHarnessProps); } //# sourceMappingURL=AgentCoreHarness.d.ts.map