@aws-sdk/client-bedrock-agentcore 3.1034.0 → 3.1035.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.
@@ -1,5 +1,5 @@
1
1
  import type { DocumentType as __DocumentType, StreamingBlobTypes } from "@smithy/types";
2
- import type { AutomationStreamStatus, BrowserActionStatus, BrowserEnterprisePolicyType, BrowserSessionStatus, CodeInterpreterSessionStatus, CommandExecutionStatus, ContentBlockType, DescriptorType, EventFilterCondition, ExtractionJobStatus, LanguageRuntime, MemoryRecordStatus, MouseButton, Oauth2FlowType, OperatorType, ProgrammingLanguage, RegistryRecordStatus, ResourceContentType, Role, ScreenshotFormat, SessionStatus, TaskStatus, ToolName } from "./enums";
2
+ import type { AutomationStreamStatus, BrowserActionStatus, BrowserEnterprisePolicyType, BrowserSessionStatus, CodeInterpreterSessionStatus, CommandExecutionStatus, ContentBlockType, DescriptorType, EventFilterCondition, ExtractionJobStatus, HarnessConversationRole, HarnessStopReason, HarnessToolType, HarnessToolUseStatus, HarnessToolUseType, LanguageRuntime, MemoryRecordStatus, MouseButton, Oauth2FlowType, OAuthGrantType, OperatorType, ProgrammingLanguage, RegistryRecordStatus, ResourceContentType, Role, ScreenshotFormat, SessionStatus, TaskStatus, ToolName } from "./enums";
3
3
  import type { AccessDeniedException, ConflictException, InternalServerException, ResourceNotFoundException, RuntimeClientError, ServiceQuotaExceededException, ThrottlingException, ValidationException } from "./errors";
4
4
  /**
5
5
  * <p> The agent card definition for A2A descriptors, including the schema version and inline content that describes the agent's capabilities.</p>
@@ -3306,6 +3306,1417 @@ export interface InvokeCodeInterpreterResponse {
3306
3306
  */
3307
3307
  stream: AsyncIterable<CodeInterpreterStreamOutput> | undefined;
3308
3308
  }
3309
+ /**
3310
+ * <p>A block of reasoning text from the model.</p>
3311
+ * @public
3312
+ */
3313
+ export interface HarnessReasoningTextBlock {
3314
+ /**
3315
+ * <p>The reasoning text.</p>
3316
+ * @public
3317
+ */
3318
+ text: string | undefined;
3319
+ /**
3320
+ * <p>Signature for verifying the reasoning content.</p>
3321
+ * @public
3322
+ */
3323
+ signature?: string | undefined;
3324
+ }
3325
+ /**
3326
+ * <p>Reasoning content from the model.</p>
3327
+ * @public
3328
+ */
3329
+ export type HarnessReasoningContentBlock = HarnessReasoningContentBlock.ReasoningTextMember | HarnessReasoningContentBlock.RedactedContentMember | HarnessReasoningContentBlock.$UnknownMember;
3330
+ /**
3331
+ * @public
3332
+ */
3333
+ export declare namespace HarnessReasoningContentBlock {
3334
+ /**
3335
+ * <p>The reasoning text.</p>
3336
+ * @public
3337
+ */
3338
+ interface ReasoningTextMember {
3339
+ reasoningText: HarnessReasoningTextBlock;
3340
+ redactedContent?: never;
3341
+ $unknown?: never;
3342
+ }
3343
+ /**
3344
+ * <p>Redacted reasoning content.</p>
3345
+ * @public
3346
+ */
3347
+ interface RedactedContentMember {
3348
+ reasoningText?: never;
3349
+ redactedContent: Uint8Array;
3350
+ $unknown?: never;
3351
+ }
3352
+ /**
3353
+ * @public
3354
+ */
3355
+ interface $UnknownMember {
3356
+ reasoningText?: never;
3357
+ redactedContent?: never;
3358
+ $unknown: [string, any];
3359
+ }
3360
+ /**
3361
+ * @deprecated unused in schema-serde mode.
3362
+ *
3363
+ */
3364
+ interface Visitor<T> {
3365
+ reasoningText: (value: HarnessReasoningTextBlock) => T;
3366
+ redactedContent: (value: Uint8Array) => T;
3367
+ _: (name: string, value: any) => T;
3368
+ }
3369
+ }
3370
+ /**
3371
+ * <p>A content block within a tool result.</p>
3372
+ * @public
3373
+ */
3374
+ export type HarnessToolResultContentBlock = HarnessToolResultContentBlock.JsonMember | HarnessToolResultContentBlock.TextMember | HarnessToolResultContentBlock.$UnknownMember;
3375
+ /**
3376
+ * @public
3377
+ */
3378
+ export declare namespace HarnessToolResultContentBlock {
3379
+ /**
3380
+ * <p>Text content.</p>
3381
+ * @public
3382
+ */
3383
+ interface TextMember {
3384
+ text: string;
3385
+ json?: never;
3386
+ $unknown?: never;
3387
+ }
3388
+ /**
3389
+ * <p>JSON content.</p>
3390
+ * @public
3391
+ */
3392
+ interface JsonMember {
3393
+ text?: never;
3394
+ json: __DocumentType;
3395
+ $unknown?: never;
3396
+ }
3397
+ /**
3398
+ * @public
3399
+ */
3400
+ interface $UnknownMember {
3401
+ text?: never;
3402
+ json?: never;
3403
+ $unknown: [string, any];
3404
+ }
3405
+ /**
3406
+ * @deprecated unused in schema-serde mode.
3407
+ *
3408
+ */
3409
+ interface Visitor<T> {
3410
+ text: (value: string) => T;
3411
+ json: (value: __DocumentType) => T;
3412
+ _: (name: string, value: any) => T;
3413
+ }
3414
+ }
3415
+ /**
3416
+ * <p>The result of a tool execution.</p>
3417
+ * @public
3418
+ */
3419
+ export interface HarnessToolResultBlock {
3420
+ /**
3421
+ * <p>The tool use ID that this result corresponds to.</p>
3422
+ * @public
3423
+ */
3424
+ toolUseId: string | undefined;
3425
+ /**
3426
+ * <p>The content of the tool result.</p>
3427
+ * @public
3428
+ */
3429
+ content: HarnessToolResultContentBlock[] | undefined;
3430
+ /**
3431
+ * <p>The status of the tool execution.</p>
3432
+ * @public
3433
+ */
3434
+ status?: HarnessToolUseStatus | undefined;
3435
+ /**
3436
+ * <p>The type of tool use that produced this result.</p>
3437
+ * @public
3438
+ */
3439
+ type?: HarnessToolUseType | undefined;
3440
+ }
3441
+ /**
3442
+ * <p>A tool use request from the model.</p>
3443
+ * @public
3444
+ */
3445
+ export interface HarnessToolUseBlock {
3446
+ /**
3447
+ * <p>The name of the tool to call.</p>
3448
+ * @public
3449
+ */
3450
+ name: string | undefined;
3451
+ /**
3452
+ * <p>The unique ID of this tool use.</p>
3453
+ * @public
3454
+ */
3455
+ toolUseId: string | undefined;
3456
+ /**
3457
+ * <p>The JSON input to pass to the tool.</p>
3458
+ * @public
3459
+ */
3460
+ input: __DocumentType | undefined;
3461
+ /**
3462
+ * <p>The type of tool use.</p>
3463
+ * @public
3464
+ */
3465
+ type?: HarnessToolUseType | undefined;
3466
+ /**
3467
+ * <p>The name of the MCP server providing this tool.</p>
3468
+ * @public
3469
+ */
3470
+ serverName?: string | undefined;
3471
+ }
3472
+ /**
3473
+ * <p>A content block within a message.</p>
3474
+ * @public
3475
+ */
3476
+ export type HarnessContentBlock = HarnessContentBlock.ReasoningContentMember | HarnessContentBlock.TextMember | HarnessContentBlock.ToolResultMember | HarnessContentBlock.ToolUseMember | HarnessContentBlock.$UnknownMember;
3477
+ /**
3478
+ * @public
3479
+ */
3480
+ export declare namespace HarnessContentBlock {
3481
+ /**
3482
+ * <p>Text content.</p>
3483
+ * @public
3484
+ */
3485
+ interface TextMember {
3486
+ text: string;
3487
+ toolUse?: never;
3488
+ toolResult?: never;
3489
+ reasoningContent?: never;
3490
+ $unknown?: never;
3491
+ }
3492
+ /**
3493
+ * <p>A tool use request from the model.</p>
3494
+ * @public
3495
+ */
3496
+ interface ToolUseMember {
3497
+ text?: never;
3498
+ toolUse: HarnessToolUseBlock;
3499
+ toolResult?: never;
3500
+ reasoningContent?: never;
3501
+ $unknown?: never;
3502
+ }
3503
+ /**
3504
+ * <p>A tool execution result.</p>
3505
+ * @public
3506
+ */
3507
+ interface ToolResultMember {
3508
+ text?: never;
3509
+ toolUse?: never;
3510
+ toolResult: HarnessToolResultBlock;
3511
+ reasoningContent?: never;
3512
+ $unknown?: never;
3513
+ }
3514
+ /**
3515
+ * <p>Model reasoning content.</p>
3516
+ * @public
3517
+ */
3518
+ interface ReasoningContentMember {
3519
+ text?: never;
3520
+ toolUse?: never;
3521
+ toolResult?: never;
3522
+ reasoningContent: HarnessReasoningContentBlock;
3523
+ $unknown?: never;
3524
+ }
3525
+ /**
3526
+ * @public
3527
+ */
3528
+ interface $UnknownMember {
3529
+ text?: never;
3530
+ toolUse?: never;
3531
+ toolResult?: never;
3532
+ reasoningContent?: never;
3533
+ $unknown: [string, any];
3534
+ }
3535
+ /**
3536
+ * @deprecated unused in schema-serde mode.
3537
+ *
3538
+ */
3539
+ interface Visitor<T> {
3540
+ text: (value: string) => T;
3541
+ toolUse: (value: HarnessToolUseBlock) => T;
3542
+ toolResult: (value: HarnessToolResultBlock) => T;
3543
+ reasoningContent: (value: HarnessReasoningContentBlock) => T;
3544
+ _: (name: string, value: any) => T;
3545
+ }
3546
+ }
3547
+ /**
3548
+ * <p>A message in the conversation.</p>
3549
+ * @public
3550
+ */
3551
+ export interface HarnessMessage {
3552
+ /**
3553
+ * <p>The role of the message sender.</p>
3554
+ * @public
3555
+ */
3556
+ role: HarnessConversationRole | undefined;
3557
+ /**
3558
+ * <p>The content blocks of the message.</p>
3559
+ * @public
3560
+ */
3561
+ content: HarnessContentBlock[] | undefined;
3562
+ }
3563
+ /**
3564
+ * <p>Configuration for an Amazon Bedrock model provider.</p>
3565
+ * @public
3566
+ */
3567
+ export interface HarnessBedrockModelConfig {
3568
+ /**
3569
+ * <p>The Bedrock model ID.</p>
3570
+ * @public
3571
+ */
3572
+ modelId: string | undefined;
3573
+ /**
3574
+ * <p>The maximum number of tokens to allow in the generated response per iteration.</p>
3575
+ * @public
3576
+ */
3577
+ maxTokens?: number | undefined;
3578
+ /**
3579
+ * <p>The temperature to set when calling the model.</p>
3580
+ * @public
3581
+ */
3582
+ temperature?: number | undefined;
3583
+ /**
3584
+ * <p>The topP set when calling the model.</p>
3585
+ * @public
3586
+ */
3587
+ topP?: number | undefined;
3588
+ }
3589
+ /**
3590
+ * <p>Configuration for a Google Gemini model provider. Requires an API key stored in AgentCore Identity.</p>
3591
+ * @public
3592
+ */
3593
+ export interface HarnessGeminiModelConfig {
3594
+ /**
3595
+ * <p>The Gemini model ID.</p>
3596
+ * @public
3597
+ */
3598
+ modelId: string | undefined;
3599
+ /**
3600
+ * <p>The ARN of your Gemini API key on AgentCore Identity.</p>
3601
+ * @public
3602
+ */
3603
+ apiKeyArn: string | undefined;
3604
+ /**
3605
+ * <p>The maximum number of tokens to allow in the generated response per iteration.</p>
3606
+ * @public
3607
+ */
3608
+ maxTokens?: number | undefined;
3609
+ /**
3610
+ * <p>The temperature to set when calling the model.</p>
3611
+ * @public
3612
+ */
3613
+ temperature?: number | undefined;
3614
+ /**
3615
+ * <p>The topP set when calling the model.</p>
3616
+ * @public
3617
+ */
3618
+ topP?: number | undefined;
3619
+ /**
3620
+ * <p>The topK set when calling the model.</p>
3621
+ * @public
3622
+ */
3623
+ topK?: number | undefined;
3624
+ }
3625
+ /**
3626
+ * <p>Configuration for an OpenAI model provider. Requires an API key stored in AgentCore Identity.</p>
3627
+ * @public
3628
+ */
3629
+ export interface HarnessOpenAiModelConfig {
3630
+ /**
3631
+ * <p>The OpenAI model ID.</p>
3632
+ * @public
3633
+ */
3634
+ modelId: string | undefined;
3635
+ /**
3636
+ * <p>The ARN of your OpenAI API key on AgentCore Identity.</p>
3637
+ * @public
3638
+ */
3639
+ apiKeyArn: string | undefined;
3640
+ /**
3641
+ * <p>The maximum number of tokens to allow in the generated response per iteration.</p>
3642
+ * @public
3643
+ */
3644
+ maxTokens?: number | undefined;
3645
+ /**
3646
+ * <p>The temperature to set when calling the model.</p>
3647
+ * @public
3648
+ */
3649
+ temperature?: number | undefined;
3650
+ /**
3651
+ * <p>The topP set when calling the model.</p>
3652
+ * @public
3653
+ */
3654
+ topP?: number | undefined;
3655
+ }
3656
+ /**
3657
+ * <p>Specification of which model to use.</p>
3658
+ * @public
3659
+ */
3660
+ export type HarnessModelConfiguration = HarnessModelConfiguration.BedrockModelConfigMember | HarnessModelConfiguration.GeminiModelConfigMember | HarnessModelConfiguration.OpenAiModelConfigMember | HarnessModelConfiguration.$UnknownMember;
3661
+ /**
3662
+ * @public
3663
+ */
3664
+ export declare namespace HarnessModelConfiguration {
3665
+ /**
3666
+ * <p>Configuration for an Amazon Bedrock model.</p>
3667
+ * @public
3668
+ */
3669
+ interface BedrockModelConfigMember {
3670
+ bedrockModelConfig: HarnessBedrockModelConfig;
3671
+ openAiModelConfig?: never;
3672
+ geminiModelConfig?: never;
3673
+ $unknown?: never;
3674
+ }
3675
+ /**
3676
+ * <p>Configuration for an OpenAI model.</p>
3677
+ * @public
3678
+ */
3679
+ interface OpenAiModelConfigMember {
3680
+ bedrockModelConfig?: never;
3681
+ openAiModelConfig: HarnessOpenAiModelConfig;
3682
+ geminiModelConfig?: never;
3683
+ $unknown?: never;
3684
+ }
3685
+ /**
3686
+ * <p>Configuration for a Google Gemini model.</p>
3687
+ * @public
3688
+ */
3689
+ interface GeminiModelConfigMember {
3690
+ bedrockModelConfig?: never;
3691
+ openAiModelConfig?: never;
3692
+ geminiModelConfig: HarnessGeminiModelConfig;
3693
+ $unknown?: never;
3694
+ }
3695
+ /**
3696
+ * @public
3697
+ */
3698
+ interface $UnknownMember {
3699
+ bedrockModelConfig?: never;
3700
+ openAiModelConfig?: never;
3701
+ geminiModelConfig?: never;
3702
+ $unknown: [string, any];
3703
+ }
3704
+ /**
3705
+ * @deprecated unused in schema-serde mode.
3706
+ *
3707
+ */
3708
+ interface Visitor<T> {
3709
+ bedrockModelConfig: (value: HarnessBedrockModelConfig) => T;
3710
+ openAiModelConfig: (value: HarnessOpenAiModelConfig) => T;
3711
+ geminiModelConfig: (value: HarnessGeminiModelConfig) => T;
3712
+ _: (name: string, value: any) => T;
3713
+ }
3714
+ }
3715
+ /**
3716
+ * <p>A skill available to the agent.</p>
3717
+ * @public
3718
+ */
3719
+ export type HarnessSkill = HarnessSkill.PathMember | HarnessSkill.$UnknownMember;
3720
+ /**
3721
+ * @public
3722
+ */
3723
+ export declare namespace HarnessSkill {
3724
+ /**
3725
+ * <p>The filesystem path to the skill definition.</p>
3726
+ * @public
3727
+ */
3728
+ interface PathMember {
3729
+ path: string;
3730
+ $unknown?: never;
3731
+ }
3732
+ /**
3733
+ * @public
3734
+ */
3735
+ interface $UnknownMember {
3736
+ path?: never;
3737
+ $unknown: [string, any];
3738
+ }
3739
+ /**
3740
+ * @deprecated unused in schema-serde mode.
3741
+ *
3742
+ */
3743
+ interface Visitor<T> {
3744
+ path: (value: string) => T;
3745
+ _: (name: string, value: any) => T;
3746
+ }
3747
+ }
3748
+ /**
3749
+ * <p>A content block in the system prompt.</p>
3750
+ * @public
3751
+ */
3752
+ export type HarnessSystemContentBlock = HarnessSystemContentBlock.TextMember | HarnessSystemContentBlock.$UnknownMember;
3753
+ /**
3754
+ * @public
3755
+ */
3756
+ export declare namespace HarnessSystemContentBlock {
3757
+ /**
3758
+ * <p>The text content of the system prompt block.</p>
3759
+ * @public
3760
+ */
3761
+ interface TextMember {
3762
+ text: string;
3763
+ $unknown?: never;
3764
+ }
3765
+ /**
3766
+ * @public
3767
+ */
3768
+ interface $UnknownMember {
3769
+ text?: never;
3770
+ $unknown: [string, any];
3771
+ }
3772
+ /**
3773
+ * @deprecated unused in schema-serde mode.
3774
+ *
3775
+ */
3776
+ interface Visitor<T> {
3777
+ text: (value: string) => T;
3778
+ _: (name: string, value: any) => T;
3779
+ }
3780
+ }
3781
+ /**
3782
+ * <p>Configuration for AgentCore Browser.</p>
3783
+ * @public
3784
+ */
3785
+ export interface HarnessAgentCoreBrowserConfig {
3786
+ /**
3787
+ * <p>If not populated, the built-in Browser ARN is used.</p>
3788
+ * @public
3789
+ */
3790
+ browserArn?: string | undefined;
3791
+ }
3792
+ /**
3793
+ * <p>Configuration for AgentCore Code Interpreter.</p>
3794
+ * @public
3795
+ */
3796
+ export interface HarnessAgentCoreCodeInterpreterConfig {
3797
+ /**
3798
+ * <p>If not populated, the built-in Code Interpreter ARN is used.</p>
3799
+ * @public
3800
+ */
3801
+ codeInterpreterArn?: string | undefined;
3802
+ }
3803
+ /**
3804
+ * @public
3805
+ */
3806
+ export interface Unit {
3807
+ }
3808
+ /**
3809
+ * <p>Configuration for an OAuth 2.0 credential provider used to authenticate tool calls.</p>
3810
+ * @public
3811
+ */
3812
+ export interface OAuthCredentialProvider {
3813
+ /**
3814
+ * <p>The ARN of the OAuth 2.0 credential provider in AgentCore Identity.</p>
3815
+ * @public
3816
+ */
3817
+ providerArn: string | undefined;
3818
+ /**
3819
+ * <p>The OAuth 2.0 scopes to request when obtaining an access token.</p>
3820
+ * @public
3821
+ */
3822
+ scopes: string[] | undefined;
3823
+ /**
3824
+ * <p>Additional custom parameters to include in the OAuth 2.0 token request.</p>
3825
+ * @public
3826
+ */
3827
+ customParameters?: Record<string, string> | undefined;
3828
+ /**
3829
+ * <p>The OAuth 2.0 grant type to use for authentication.</p>
3830
+ * @public
3831
+ */
3832
+ grantType?: OAuthGrantType | undefined;
3833
+ /**
3834
+ * <p>The default return URL for the OAuth 2.0 authorization flow.</p>
3835
+ * @public
3836
+ */
3837
+ defaultReturnUrl?: string | undefined;
3838
+ }
3839
+ /**
3840
+ * <p>Authentication method for calling a Gateway.</p>
3841
+ * @public
3842
+ */
3843
+ export type HarnessGatewayOutboundAuth = HarnessGatewayOutboundAuth.AwsIamMember | HarnessGatewayOutboundAuth.NoneMember | HarnessGatewayOutboundAuth.OauthMember | HarnessGatewayOutboundAuth.$UnknownMember;
3844
+ /**
3845
+ * @public
3846
+ */
3847
+ export declare namespace HarnessGatewayOutboundAuth {
3848
+ /**
3849
+ * <p>SigV4-sign requests using the agent's execution role.</p>
3850
+ * @public
3851
+ */
3852
+ interface AwsIamMember {
3853
+ awsIam: Unit;
3854
+ none?: never;
3855
+ oauth?: never;
3856
+ $unknown?: never;
3857
+ }
3858
+ /**
3859
+ * <p>No authentication.</p>
3860
+ * @public
3861
+ */
3862
+ interface NoneMember {
3863
+ awsIam?: never;
3864
+ none: Unit;
3865
+ oauth?: never;
3866
+ $unknown?: never;
3867
+ }
3868
+ /**
3869
+ * <p>OAuth 2.0 authentication via AgentCore Identity.</p>
3870
+ * @public
3871
+ */
3872
+ interface OauthMember {
3873
+ awsIam?: never;
3874
+ none?: never;
3875
+ oauth: OAuthCredentialProvider;
3876
+ $unknown?: never;
3877
+ }
3878
+ /**
3879
+ * @public
3880
+ */
3881
+ interface $UnknownMember {
3882
+ awsIam?: never;
3883
+ none?: never;
3884
+ oauth?: never;
3885
+ $unknown: [string, any];
3886
+ }
3887
+ /**
3888
+ * @deprecated unused in schema-serde mode.
3889
+ *
3890
+ */
3891
+ interface Visitor<T> {
3892
+ awsIam: (value: Unit) => T;
3893
+ none: (value: Unit) => T;
3894
+ oauth: (value: OAuthCredentialProvider) => T;
3895
+ _: (name: string, value: any) => T;
3896
+ }
3897
+ }
3898
+ /**
3899
+ * <p>Configuration for AgentCore Gateway.</p>
3900
+ * @public
3901
+ */
3902
+ export interface HarnessAgentCoreGatewayConfig {
3903
+ /**
3904
+ * <p>The ARN of the desired AgentCore Gateway.</p>
3905
+ * @public
3906
+ */
3907
+ gatewayArn: string | undefined;
3908
+ /**
3909
+ * <p>How Loopy authenticates to this Gateway. Defaults to AWS_IAM (SigV4) if omitted.</p>
3910
+ * @public
3911
+ */
3912
+ outboundAuth?: HarnessGatewayOutboundAuth | undefined;
3913
+ }
3914
+ /**
3915
+ * <p>Configuration for an inline function tool. When the agent calls this tool, the tool call is returned to the caller for external execution.</p>
3916
+ * @public
3917
+ */
3918
+ export interface HarnessInlineFunctionConfig {
3919
+ /**
3920
+ * <p>Description of what the tool does, provided to the model.</p>
3921
+ * @public
3922
+ */
3923
+ description: string | undefined;
3924
+ /**
3925
+ * <p>JSON Schema describing the tool's input parameters.</p>
3926
+ * @public
3927
+ */
3928
+ inputSchema: __DocumentType | undefined;
3929
+ }
3930
+ /**
3931
+ * <p>Configuration for connecting to a remote MCP server.</p>
3932
+ * @public
3933
+ */
3934
+ export interface HarnessRemoteMcpConfig {
3935
+ /**
3936
+ * <p>URL of the MCP endpoint.</p>
3937
+ * @public
3938
+ */
3939
+ url: string | undefined;
3940
+ /**
3941
+ * Map of key/value pairs for HTTP headers.
3942
+ * @public
3943
+ */
3944
+ headers?: Record<string, string> | undefined;
3945
+ }
3946
+ /**
3947
+ * <p>Configuration union for different tool types.</p>
3948
+ * @public
3949
+ */
3950
+ export type HarnessToolConfiguration = HarnessToolConfiguration.AgentCoreBrowserMember | HarnessToolConfiguration.AgentCoreCodeInterpreterMember | HarnessToolConfiguration.AgentCoreGatewayMember | HarnessToolConfiguration.InlineFunctionMember | HarnessToolConfiguration.RemoteMcpMember | HarnessToolConfiguration.$UnknownMember;
3951
+ /**
3952
+ * @public
3953
+ */
3954
+ export declare namespace HarnessToolConfiguration {
3955
+ /**
3956
+ * <p>Configuration for remote MCP server.</p>
3957
+ * @public
3958
+ */
3959
+ interface RemoteMcpMember {
3960
+ remoteMcp: HarnessRemoteMcpConfig;
3961
+ agentCoreBrowser?: never;
3962
+ agentCoreGateway?: never;
3963
+ inlineFunction?: never;
3964
+ agentCoreCodeInterpreter?: never;
3965
+ $unknown?: never;
3966
+ }
3967
+ /**
3968
+ * <p>Configuration for AgentCore Browser.</p>
3969
+ * @public
3970
+ */
3971
+ interface AgentCoreBrowserMember {
3972
+ remoteMcp?: never;
3973
+ agentCoreBrowser: HarnessAgentCoreBrowserConfig;
3974
+ agentCoreGateway?: never;
3975
+ inlineFunction?: never;
3976
+ agentCoreCodeInterpreter?: never;
3977
+ $unknown?: never;
3978
+ }
3979
+ /**
3980
+ * <p>Configuration for AgentCore Gateway.</p>
3981
+ * @public
3982
+ */
3983
+ interface AgentCoreGatewayMember {
3984
+ remoteMcp?: never;
3985
+ agentCoreBrowser?: never;
3986
+ agentCoreGateway: HarnessAgentCoreGatewayConfig;
3987
+ inlineFunction?: never;
3988
+ agentCoreCodeInterpreter?: never;
3989
+ $unknown?: never;
3990
+ }
3991
+ /**
3992
+ * <p>Configuration for an inline function tool.</p>
3993
+ * @public
3994
+ */
3995
+ interface InlineFunctionMember {
3996
+ remoteMcp?: never;
3997
+ agentCoreBrowser?: never;
3998
+ agentCoreGateway?: never;
3999
+ inlineFunction: HarnessInlineFunctionConfig;
4000
+ agentCoreCodeInterpreter?: never;
4001
+ $unknown?: never;
4002
+ }
4003
+ /**
4004
+ * <p>Configuration for AgentCore Code Interpreter.</p>
4005
+ * @public
4006
+ */
4007
+ interface AgentCoreCodeInterpreterMember {
4008
+ remoteMcp?: never;
4009
+ agentCoreBrowser?: never;
4010
+ agentCoreGateway?: never;
4011
+ inlineFunction?: never;
4012
+ agentCoreCodeInterpreter: HarnessAgentCoreCodeInterpreterConfig;
4013
+ $unknown?: never;
4014
+ }
4015
+ /**
4016
+ * @public
4017
+ */
4018
+ interface $UnknownMember {
4019
+ remoteMcp?: never;
4020
+ agentCoreBrowser?: never;
4021
+ agentCoreGateway?: never;
4022
+ inlineFunction?: never;
4023
+ agentCoreCodeInterpreter?: never;
4024
+ $unknown: [string, any];
4025
+ }
4026
+ /**
4027
+ * @deprecated unused in schema-serde mode.
4028
+ *
4029
+ */
4030
+ interface Visitor<T> {
4031
+ remoteMcp: (value: HarnessRemoteMcpConfig) => T;
4032
+ agentCoreBrowser: (value: HarnessAgentCoreBrowserConfig) => T;
4033
+ agentCoreGateway: (value: HarnessAgentCoreGatewayConfig) => T;
4034
+ inlineFunction: (value: HarnessInlineFunctionConfig) => T;
4035
+ agentCoreCodeInterpreter: (value: HarnessAgentCoreCodeInterpreterConfig) => T;
4036
+ _: (name: string, value: any) => T;
4037
+ }
4038
+ }
4039
+ /**
4040
+ * <p>A tool available to the agent loop.</p>
4041
+ * @public
4042
+ */
4043
+ export interface HarnessTool {
4044
+ /**
4045
+ * <p>The type of tool.</p>
4046
+ * @public
4047
+ */
4048
+ type: HarnessToolType | undefined;
4049
+ /**
4050
+ * <p>Unique name for the tool. If not provided, a name will be inferred or generated.</p>
4051
+ * @public
4052
+ */
4053
+ name?: string | undefined;
4054
+ /**
4055
+ * <p>Tool-specific configuration.</p>
4056
+ * @public
4057
+ */
4058
+ config?: HarnessToolConfiguration | undefined;
4059
+ }
4060
+ /**
4061
+ * @public
4062
+ */
4063
+ export interface InvokeHarnessRequest {
4064
+ /**
4065
+ * <p>The ARN of the harness to invoke.</p>
4066
+ * @public
4067
+ */
4068
+ harnessArn: string | undefined;
4069
+ /**
4070
+ * <p>The session ID for the invocation. Use the same session ID across requests to continue a conversation.</p>
4071
+ * @public
4072
+ */
4073
+ runtimeSessionId: string | undefined;
4074
+ /**
4075
+ * <p>The messages to send to the agent.</p>
4076
+ * @public
4077
+ */
4078
+ messages: HarnessMessage[] | undefined;
4079
+ /**
4080
+ * <p>The model configuration to use for this invocation. If specified, overrides the harness default.</p>
4081
+ * @public
4082
+ */
4083
+ model?: HarnessModelConfiguration | undefined;
4084
+ /**
4085
+ * <p>The system prompt to use for this invocation. If specified, overrides the harness default.</p>
4086
+ * @public
4087
+ */
4088
+ systemPrompt?: HarnessSystemContentBlock[] | undefined;
4089
+ /**
4090
+ * <p>The tools available to the agent for this invocation. If specified, overrides the harness default.</p>
4091
+ * @public
4092
+ */
4093
+ tools?: HarnessTool[] | undefined;
4094
+ /**
4095
+ * <p>The skills available to the agent for this invocation. If specified, overrides the harness default.</p>
4096
+ * @public
4097
+ */
4098
+ skills?: HarnessSkill[] | undefined;
4099
+ /**
4100
+ * <p>The tools that the agent is allowed to use for this invocation. If specified, overrides the harness default.</p>
4101
+ * @public
4102
+ */
4103
+ allowedTools?: string[] | undefined;
4104
+ /**
4105
+ * <p>The maximum number of iterations the agent loop can execute. If specified, overrides the harness default.</p>
4106
+ * @public
4107
+ */
4108
+ maxIterations?: number | undefined;
4109
+ /**
4110
+ * <p>The maximum number of tokens the agent can generate per iteration. If specified, overrides the harness default.</p>
4111
+ * @public
4112
+ */
4113
+ maxTokens?: number | undefined;
4114
+ /**
4115
+ * <p>The maximum duration in seconds for the agent loop execution. If specified, overrides the harness default.</p>
4116
+ * @public
4117
+ */
4118
+ timeoutSeconds?: number | undefined;
4119
+ /**
4120
+ * <p>The actor ID for memory operations. Overrides the actor ID configured on the harness.</p>
4121
+ * @public
4122
+ */
4123
+ actorId?: string | undefined;
4124
+ }
4125
+ /**
4126
+ * <p>A delta update to a reasoning content block.</p>
4127
+ * @public
4128
+ */
4129
+ export type HarnessReasoningContentBlockDelta = HarnessReasoningContentBlockDelta.RedactedContentMember | HarnessReasoningContentBlockDelta.SignatureMember | HarnessReasoningContentBlockDelta.TextMember | HarnessReasoningContentBlockDelta.$UnknownMember;
4130
+ /**
4131
+ * @public
4132
+ */
4133
+ export declare namespace HarnessReasoningContentBlockDelta {
4134
+ /**
4135
+ * <p>Reasoning text delta.</p>
4136
+ * @public
4137
+ */
4138
+ interface TextMember {
4139
+ text: string;
4140
+ redactedContent?: never;
4141
+ signature?: never;
4142
+ $unknown?: never;
4143
+ }
4144
+ /**
4145
+ * <p>Redacted reasoning content.</p>
4146
+ * @public
4147
+ */
4148
+ interface RedactedContentMember {
4149
+ text?: never;
4150
+ redactedContent: Uint8Array;
4151
+ signature?: never;
4152
+ $unknown?: never;
4153
+ }
4154
+ /**
4155
+ * <p>Signature for the reasoning content.</p>
4156
+ * @public
4157
+ */
4158
+ interface SignatureMember {
4159
+ text?: never;
4160
+ redactedContent?: never;
4161
+ signature: string;
4162
+ $unknown?: never;
4163
+ }
4164
+ /**
4165
+ * @public
4166
+ */
4167
+ interface $UnknownMember {
4168
+ text?: never;
4169
+ redactedContent?: never;
4170
+ signature?: never;
4171
+ $unknown: [string, any];
4172
+ }
4173
+ /**
4174
+ * @deprecated unused in schema-serde mode.
4175
+ *
4176
+ */
4177
+ interface Visitor<T> {
4178
+ text: (value: string) => T;
4179
+ redactedContent: (value: Uint8Array) => T;
4180
+ signature: (value: string) => T;
4181
+ _: (name: string, value: any) => T;
4182
+ }
4183
+ }
4184
+ /**
4185
+ * <p>A delta update to a tool result content block.</p>
4186
+ * @public
4187
+ */
4188
+ export type HarnessToolResultBlockDelta = HarnessToolResultBlockDelta.JsonMember | HarnessToolResultBlockDelta.TextMember | HarnessToolResultBlockDelta.$UnknownMember;
4189
+ /**
4190
+ * @public
4191
+ */
4192
+ export declare namespace HarnessToolResultBlockDelta {
4193
+ /**
4194
+ * <p>A text tool result delta.</p>
4195
+ * @public
4196
+ */
4197
+ interface TextMember {
4198
+ text: string;
4199
+ json?: never;
4200
+ $unknown?: never;
4201
+ }
4202
+ /**
4203
+ * <p>A JSON tool result delta.</p>
4204
+ * @public
4205
+ */
4206
+ interface JsonMember {
4207
+ text?: never;
4208
+ json: __DocumentType;
4209
+ $unknown?: never;
4210
+ }
4211
+ /**
4212
+ * @public
4213
+ */
4214
+ interface $UnknownMember {
4215
+ text?: never;
4216
+ json?: never;
4217
+ $unknown: [string, any];
4218
+ }
4219
+ /**
4220
+ * @deprecated unused in schema-serde mode.
4221
+ *
4222
+ */
4223
+ interface Visitor<T> {
4224
+ text: (value: string) => T;
4225
+ json: (value: __DocumentType) => T;
4226
+ _: (name: string, value: any) => T;
4227
+ }
4228
+ }
4229
+ /**
4230
+ * <p>Delta payload for tool use input.</p>
4231
+ * @public
4232
+ */
4233
+ export interface HarnessToolUseBlockDelta {
4234
+ /**
4235
+ * <p>The partial JSON input for the tool call.</p>
4236
+ * @public
4237
+ */
4238
+ input: string | undefined;
4239
+ }
4240
+ /**
4241
+ * <p>A delta update to a content block.</p>
4242
+ * @public
4243
+ */
4244
+ export type HarnessContentBlockDelta = HarnessContentBlockDelta.ReasoningContentMember | HarnessContentBlockDelta.TextMember | HarnessContentBlockDelta.ToolResultMember | HarnessContentBlockDelta.ToolUseMember | HarnessContentBlockDelta.$UnknownMember;
4245
+ /**
4246
+ * @public
4247
+ */
4248
+ export declare namespace HarnessContentBlockDelta {
4249
+ /**
4250
+ * <p>A text delta.</p>
4251
+ * @public
4252
+ */
4253
+ interface TextMember {
4254
+ text: string;
4255
+ toolUse?: never;
4256
+ toolResult?: never;
4257
+ reasoningContent?: never;
4258
+ $unknown?: never;
4259
+ }
4260
+ /**
4261
+ * <p>A tool use input delta.</p>
4262
+ * @public
4263
+ */
4264
+ interface ToolUseMember {
4265
+ text?: never;
4266
+ toolUse: HarnessToolUseBlockDelta;
4267
+ toolResult?: never;
4268
+ reasoningContent?: never;
4269
+ $unknown?: never;
4270
+ }
4271
+ /**
4272
+ * <p>A tool result delta.</p>
4273
+ * @public
4274
+ */
4275
+ interface ToolResultMember {
4276
+ text?: never;
4277
+ toolUse?: never;
4278
+ toolResult: HarnessToolResultBlockDelta[];
4279
+ reasoningContent?: never;
4280
+ $unknown?: never;
4281
+ }
4282
+ /**
4283
+ * <p>A reasoning content delta.</p>
4284
+ * @public
4285
+ */
4286
+ interface ReasoningContentMember {
4287
+ text?: never;
4288
+ toolUse?: never;
4289
+ toolResult?: never;
4290
+ reasoningContent: HarnessReasoningContentBlockDelta;
4291
+ $unknown?: never;
4292
+ }
4293
+ /**
4294
+ * @public
4295
+ */
4296
+ interface $UnknownMember {
4297
+ text?: never;
4298
+ toolUse?: never;
4299
+ toolResult?: never;
4300
+ reasoningContent?: never;
4301
+ $unknown: [string, any];
4302
+ }
4303
+ /**
4304
+ * @deprecated unused in schema-serde mode.
4305
+ *
4306
+ */
4307
+ interface Visitor<T> {
4308
+ text: (value: string) => T;
4309
+ toolUse: (value: HarnessToolUseBlockDelta) => T;
4310
+ toolResult: (value: HarnessToolResultBlockDelta[]) => T;
4311
+ reasoningContent: (value: HarnessReasoningContentBlockDelta) => T;
4312
+ _: (name: string, value: any) => T;
4313
+ }
4314
+ }
4315
+ /**
4316
+ * <p>Event containing a delta update to a content block.</p>
4317
+ * @public
4318
+ */
4319
+ export interface HarnessContentBlockDeltaEvent {
4320
+ /**
4321
+ * <p>The index of the content block being updated.</p>
4322
+ * @public
4323
+ */
4324
+ contentBlockIndex: number | undefined;
4325
+ /**
4326
+ * <p>The delta payload.</p>
4327
+ * @public
4328
+ */
4329
+ delta: HarnessContentBlockDelta | undefined;
4330
+ }
4331
+ /**
4332
+ * <p>Start payload for a tool result content block.</p>
4333
+ * @public
4334
+ */
4335
+ export interface HarnessToolResultBlockStart {
4336
+ /**
4337
+ * <p>The tool use ID that this result corresponds to.</p>
4338
+ * @public
4339
+ */
4340
+ toolUseId: string | undefined;
4341
+ /**
4342
+ * <p>The status of the tool execution.</p>
4343
+ * @public
4344
+ */
4345
+ status?: HarnessToolUseStatus | undefined;
4346
+ }
4347
+ /**
4348
+ * <p>Start payload for a tool use content block.</p>
4349
+ * @public
4350
+ */
4351
+ export interface HarnessToolUseBlockStart {
4352
+ /**
4353
+ * <p>The unique ID of this tool use.</p>
4354
+ * @public
4355
+ */
4356
+ toolUseId: string | undefined;
4357
+ /**
4358
+ * <p>The name of the tool being called.</p>
4359
+ * @public
4360
+ */
4361
+ name: string | undefined;
4362
+ /**
4363
+ * <p>The type of tool use.</p>
4364
+ * @public
4365
+ */
4366
+ type?: HarnessToolUseType | undefined;
4367
+ /**
4368
+ * <p>The name of the MCP server providing this tool.</p>
4369
+ * @public
4370
+ */
4371
+ serverName?: string | undefined;
4372
+ }
4373
+ /**
4374
+ * <p>The start payload for a content block.</p>
4375
+ * @public
4376
+ */
4377
+ export type HarnessContentBlockStart = HarnessContentBlockStart.ToolResultMember | HarnessContentBlockStart.ToolUseMember | HarnessContentBlockStart.$UnknownMember;
4378
+ /**
4379
+ * @public
4380
+ */
4381
+ export declare namespace HarnessContentBlockStart {
4382
+ /**
4383
+ * <p>Start of a tool use content block.</p>
4384
+ * @public
4385
+ */
4386
+ interface ToolUseMember {
4387
+ toolUse: HarnessToolUseBlockStart;
4388
+ toolResult?: never;
4389
+ $unknown?: never;
4390
+ }
4391
+ /**
4392
+ * <p>Start of a tool result content block.</p>
4393
+ * @public
4394
+ */
4395
+ interface ToolResultMember {
4396
+ toolUse?: never;
4397
+ toolResult: HarnessToolResultBlockStart;
4398
+ $unknown?: never;
4399
+ }
4400
+ /**
4401
+ * @public
4402
+ */
4403
+ interface $UnknownMember {
4404
+ toolUse?: never;
4405
+ toolResult?: never;
4406
+ $unknown: [string, any];
4407
+ }
4408
+ /**
4409
+ * @deprecated unused in schema-serde mode.
4410
+ *
4411
+ */
4412
+ interface Visitor<T> {
4413
+ toolUse: (value: HarnessToolUseBlockStart) => T;
4414
+ toolResult: (value: HarnessToolResultBlockStart) => T;
4415
+ _: (name: string, value: any) => T;
4416
+ }
4417
+ }
4418
+ /**
4419
+ * <p>Event indicating the start of a content block.</p>
4420
+ * @public
4421
+ */
4422
+ export interface HarnessContentBlockStartEvent {
4423
+ /**
4424
+ * <p>The index of the content block within the message.</p>
4425
+ * @public
4426
+ */
4427
+ contentBlockIndex: number | undefined;
4428
+ /**
4429
+ * <p>The content block start payload.</p>
4430
+ * @public
4431
+ */
4432
+ start: HarnessContentBlockStart | undefined;
4433
+ }
4434
+ /**
4435
+ * <p>Event indicating the end of a content block.</p>
4436
+ * @public
4437
+ */
4438
+ export interface HarnessContentBlockStopEvent {
4439
+ /**
4440
+ * <p>The index of the content block that ended.</p>
4441
+ * @public
4442
+ */
4443
+ contentBlockIndex: number | undefined;
4444
+ }
4445
+ /**
4446
+ * <p>Event indicating the start of a message.</p>
4447
+ * @public
4448
+ */
4449
+ export interface HarnessMessageStartEvent {
4450
+ /**
4451
+ * <p>The role of the message sender.</p>
4452
+ * @public
4453
+ */
4454
+ role: HarnessConversationRole | undefined;
4455
+ }
4456
+ /**
4457
+ * <p>Event indicating the end of a message.</p>
4458
+ * @public
4459
+ */
4460
+ export interface HarnessMessageStopEvent {
4461
+ /**
4462
+ * <p>The reason the agent stopped generating.</p>
4463
+ * @public
4464
+ */
4465
+ stopReason: HarnessStopReason | undefined;
4466
+ }
4467
+ /**
4468
+ * <p>Latency metrics for the invocation.</p>
4469
+ * @public
4470
+ */
4471
+ export interface HarnessStreamMetrics {
4472
+ /**
4473
+ * <p>The end-to-end latency of the invocation in milliseconds.</p>
4474
+ * @public
4475
+ */
4476
+ latencyMs: number | undefined;
4477
+ }
4478
+ /**
4479
+ * <p>Token usage counts for the invocation.</p>
4480
+ * @public
4481
+ */
4482
+ export interface HarnessTokenUsage {
4483
+ /**
4484
+ * <p>The number of input tokens consumed.</p>
4485
+ * @public
4486
+ */
4487
+ inputTokens: number | undefined;
4488
+ /**
4489
+ * <p>The number of output tokens generated.</p>
4490
+ * @public
4491
+ */
4492
+ outputTokens: number | undefined;
4493
+ /**
4494
+ * <p>The total number of tokens consumed.</p>
4495
+ * @public
4496
+ */
4497
+ totalTokens: number | undefined;
4498
+ /**
4499
+ * <p>The number of input tokens read from cache.</p>
4500
+ * @public
4501
+ */
4502
+ cacheReadInputTokens?: number | undefined;
4503
+ /**
4504
+ * <p>The number of input tokens written to cache.</p>
4505
+ * @public
4506
+ */
4507
+ cacheWriteInputTokens?: number | undefined;
4508
+ }
4509
+ /**
4510
+ * <p>Token usage and latency metrics for the invocation.</p>
4511
+ * @public
4512
+ */
4513
+ export interface HarnessMetadataEvent {
4514
+ /**
4515
+ * <p>Token usage counts.</p>
4516
+ * @public
4517
+ */
4518
+ usage: HarnessTokenUsage | undefined;
4519
+ /**
4520
+ * <p>Latency metrics.</p>
4521
+ * @public
4522
+ */
4523
+ metrics: HarnessStreamMetrics | undefined;
4524
+ }
4525
+ /**
4526
+ * <p>The streaming events returned by a harness invocation.</p>
4527
+ * @public
4528
+ */
4529
+ export type InvokeHarnessStreamOutput = InvokeHarnessStreamOutput.ContentBlockDeltaMember | InvokeHarnessStreamOutput.ContentBlockStartMember | InvokeHarnessStreamOutput.ContentBlockStopMember | InvokeHarnessStreamOutput.InternalServerExceptionMember | InvokeHarnessStreamOutput.MessageStartMember | InvokeHarnessStreamOutput.MessageStopMember | InvokeHarnessStreamOutput.MetadataMember | InvokeHarnessStreamOutput.RuntimeClientErrorMember | InvokeHarnessStreamOutput.ValidationExceptionMember | InvokeHarnessStreamOutput.$UnknownMember;
4530
+ /**
4531
+ * @public
4532
+ */
4533
+ export declare namespace InvokeHarnessStreamOutput {
4534
+ /**
4535
+ * <p>Indicates the start of a new message from the agent.</p>
4536
+ * @public
4537
+ */
4538
+ interface MessageStartMember {
4539
+ messageStart: HarnessMessageStartEvent;
4540
+ contentBlockStart?: never;
4541
+ contentBlockDelta?: never;
4542
+ contentBlockStop?: never;
4543
+ messageStop?: never;
4544
+ metadata?: never;
4545
+ internalServerException?: never;
4546
+ validationException?: never;
4547
+ runtimeClientError?: never;
4548
+ $unknown?: never;
4549
+ }
4550
+ /**
4551
+ * <p>Indicates the start of a new content block.</p>
4552
+ * @public
4553
+ */
4554
+ interface ContentBlockStartMember {
4555
+ messageStart?: never;
4556
+ contentBlockStart: HarnessContentBlockStartEvent;
4557
+ contentBlockDelta?: never;
4558
+ contentBlockStop?: never;
4559
+ messageStop?: never;
4560
+ metadata?: never;
4561
+ internalServerException?: never;
4562
+ validationException?: never;
4563
+ runtimeClientError?: never;
4564
+ $unknown?: never;
4565
+ }
4566
+ /**
4567
+ * <p>A delta update to the current content block.</p>
4568
+ * @public
4569
+ */
4570
+ interface ContentBlockDeltaMember {
4571
+ messageStart?: never;
4572
+ contentBlockStart?: never;
4573
+ contentBlockDelta: HarnessContentBlockDeltaEvent;
4574
+ contentBlockStop?: never;
4575
+ messageStop?: never;
4576
+ metadata?: never;
4577
+ internalServerException?: never;
4578
+ validationException?: never;
4579
+ runtimeClientError?: never;
4580
+ $unknown?: never;
4581
+ }
4582
+ /**
4583
+ * <p>Indicates the end of the current content block.</p>
4584
+ * @public
4585
+ */
4586
+ interface ContentBlockStopMember {
4587
+ messageStart?: never;
4588
+ contentBlockStart?: never;
4589
+ contentBlockDelta?: never;
4590
+ contentBlockStop: HarnessContentBlockStopEvent;
4591
+ messageStop?: never;
4592
+ metadata?: never;
4593
+ internalServerException?: never;
4594
+ validationException?: never;
4595
+ runtimeClientError?: never;
4596
+ $unknown?: never;
4597
+ }
4598
+ /**
4599
+ * <p>Indicates the end of the current message.</p>
4600
+ * @public
4601
+ */
4602
+ interface MessageStopMember {
4603
+ messageStart?: never;
4604
+ contentBlockStart?: never;
4605
+ contentBlockDelta?: never;
4606
+ contentBlockStop?: never;
4607
+ messageStop: HarnessMessageStopEvent;
4608
+ metadata?: never;
4609
+ internalServerException?: never;
4610
+ validationException?: never;
4611
+ runtimeClientError?: never;
4612
+ $unknown?: never;
4613
+ }
4614
+ /**
4615
+ * <p>Token usage and latency metrics for the invocation.</p>
4616
+ * @public
4617
+ */
4618
+ interface MetadataMember {
4619
+ messageStart?: never;
4620
+ contentBlockStart?: never;
4621
+ contentBlockDelta?: never;
4622
+ contentBlockStop?: never;
4623
+ messageStop?: never;
4624
+ metadata: HarnessMetadataEvent;
4625
+ internalServerException?: never;
4626
+ validationException?: never;
4627
+ runtimeClientError?: never;
4628
+ $unknown?: never;
4629
+ }
4630
+ /**
4631
+ * <p>The exception that occurs when the service encounters an unexpected internal error. This is a temporary condition that will resolve itself with retries. We recommend implementing exponential backoff retry logic in your application.</p>
4632
+ * @public
4633
+ */
4634
+ interface InternalServerExceptionMember {
4635
+ messageStart?: never;
4636
+ contentBlockStart?: never;
4637
+ contentBlockDelta?: never;
4638
+ contentBlockStop?: never;
4639
+ messageStop?: never;
4640
+ metadata?: never;
4641
+ internalServerException: InternalServerException;
4642
+ validationException?: never;
4643
+ runtimeClientError?: never;
4644
+ $unknown?: never;
4645
+ }
4646
+ /**
4647
+ * <p>The exception that occurs when the input fails to satisfy the constraints specified by the service. Check the error message for details about which input parameter is invalid and correct your request.</p>
4648
+ * @public
4649
+ */
4650
+ interface ValidationExceptionMember {
4651
+ messageStart?: never;
4652
+ contentBlockStart?: never;
4653
+ contentBlockDelta?: never;
4654
+ contentBlockStop?: never;
4655
+ messageStop?: never;
4656
+ metadata?: never;
4657
+ internalServerException?: never;
4658
+ validationException: ValidationException;
4659
+ runtimeClientError?: never;
4660
+ $unknown?: never;
4661
+ }
4662
+ /**
4663
+ * <p>The exception that occurs when there is an error in the runtime client. This can happen due to network issues, invalid configuration, or other client-side problems. Check the error message for specific details about the error.</p>
4664
+ * @public
4665
+ */
4666
+ interface RuntimeClientErrorMember {
4667
+ messageStart?: never;
4668
+ contentBlockStart?: never;
4669
+ contentBlockDelta?: never;
4670
+ contentBlockStop?: never;
4671
+ messageStop?: never;
4672
+ metadata?: never;
4673
+ internalServerException?: never;
4674
+ validationException?: never;
4675
+ runtimeClientError: RuntimeClientError;
4676
+ $unknown?: never;
4677
+ }
4678
+ /**
4679
+ * @public
4680
+ */
4681
+ interface $UnknownMember {
4682
+ messageStart?: never;
4683
+ contentBlockStart?: never;
4684
+ contentBlockDelta?: never;
4685
+ contentBlockStop?: never;
4686
+ messageStop?: never;
4687
+ metadata?: never;
4688
+ internalServerException?: never;
4689
+ validationException?: never;
4690
+ runtimeClientError?: never;
4691
+ $unknown: [string, any];
4692
+ }
4693
+ /**
4694
+ * @deprecated unused in schema-serde mode.
4695
+ *
4696
+ */
4697
+ interface Visitor<T> {
4698
+ messageStart: (value: HarnessMessageStartEvent) => T;
4699
+ contentBlockStart: (value: HarnessContentBlockStartEvent) => T;
4700
+ contentBlockDelta: (value: HarnessContentBlockDeltaEvent) => T;
4701
+ contentBlockStop: (value: HarnessContentBlockStopEvent) => T;
4702
+ messageStop: (value: HarnessMessageStopEvent) => T;
4703
+ metadata: (value: HarnessMetadataEvent) => T;
4704
+ internalServerException: (value: InternalServerException) => T;
4705
+ validationException: (value: ValidationException) => T;
4706
+ runtimeClientError: (value: RuntimeClientError) => T;
4707
+ _: (name: string, value: any) => T;
4708
+ }
4709
+ }
4710
+ /**
4711
+ * @public
4712
+ */
4713
+ export interface InvokeHarnessResponse {
4714
+ /**
4715
+ * <p>The streaming output from the harness invocation.</p>
4716
+ * @public
4717
+ */
4718
+ stream: AsyncIterable<InvokeHarnessStreamOutput> | undefined;
4719
+ }
3309
4720
  /**
3310
4721
  * <p>Contains the content of a memory record.</p>
3311
4722
  * @public