@@ -111,6 +111,89 @@ export interface InferenceConfiguration {
111
111
stopSequences ?: string [ ] ;
112
112
}
113
113
114
+ /**
115
+ * @public
116
+ * @enum
117
+ */
118
+ export const DocumentFormat = {
119
+ CSV : "csv" ,
120
+ DOC : "doc" ,
121
+ DOCX : "docx" ,
122
+ HTML : "html" ,
123
+ MD : "md" ,
124
+ PDF : "pdf" ,
125
+ TXT : "txt" ,
126
+ XLS : "xls" ,
127
+ XLSX : "xlsx" ,
128
+ } as const ;
129
+
130
+ /**
131
+ * @public
132
+ */
133
+ export type DocumentFormat = ( typeof DocumentFormat ) [ keyof typeof DocumentFormat ] ;
134
+
135
+ /**
136
+ * <p>Contains the content of the document included in a message when sending a <a href="https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_Converse.html">Converse</a> or <a href="https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_ConverseStream.html">ConverseStream</a> request or in the response.</p>
137
+ * @public
138
+ */
139
+ export type DocumentSource = DocumentSource . BytesMember | DocumentSource . $UnknownMember ;
140
+
141
+ /**
142
+ * @public
143
+ */
144
+ export namespace DocumentSource {
145
+ /**
146
+ * <p>A base64-encoded string of a UTF-8 encoded file, that is the document to include in the message.</p>
147
+ * @public
148
+ */
149
+ export interface BytesMember {
150
+ bytes : Uint8Array ;
151
+ $unknown ?: never ;
152
+ }
153
+
154
+ /**
155
+ * @public
156
+ */
157
+ export interface $UnknownMember {
158
+ bytes ?: never ;
159
+ $unknown : [ string , any ] ;
160
+ }
161
+
162
+ export interface Visitor < T > {
163
+ bytes : ( value : Uint8Array ) => T ;
164
+ _ : ( name : string , value : any ) => T ;
165
+ }
166
+
167
+ export const visit = < T > ( value : DocumentSource , visitor : Visitor < T > ) : T => {
168
+ if ( value . bytes !== undefined ) return visitor . bytes ( value . bytes ) ;
169
+ return visitor . _ ( value . $unknown [ 0 ] , value . $unknown [ 1 ] ) ;
170
+ } ;
171
+ }
172
+
173
+ /**
174
+ * <p>A document to include in a message when sending a <a href="https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_Converse.html">Converse</a> or <a href="https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_ConverseStream.html">ConverseStream</a> request. You can include up to 5 documents in a request. The maximum document size is 50 MB.</p>
175
+ * @public
176
+ */
177
+ export interface DocumentBlock {
178
+ /**
179
+ * <p>The format of a document, or its extension.</p>
180
+ * @public
181
+ */
182
+ format : DocumentFormat | undefined ;
183
+
184
+ /**
185
+ * <p>A name for the document.</p>
186
+ * @public
187
+ */
188
+ name : string | undefined ;
189
+
190
+ /**
191
+ * <p>Contains the content of the document.</p>
192
+ * @public
193
+ */
194
+ source : DocumentSource | undefined ;
195
+ }
196
+
114
197
/**
115
198
* <p>A text block that contains text that you want to assess with a guardrail. For more information, see <a>GuardrailConverseContentBlock</a>.</p>
116
199
* @public
@@ -242,6 +325,7 @@ export interface ImageBlock {
242
325
* @public
243
326
*/
244
327
export type ToolResultContentBlock =
328
+ | ToolResultContentBlock . DocumentMember
245
329
| ToolResultContentBlock . ImageMember
246
330
| ToolResultContentBlock . JsonMember
247
331
| ToolResultContentBlock . TextMember
@@ -259,6 +343,7 @@ export namespace ToolResultContentBlock {
259
343
json : __DocumentType ;
260
344
text ?: never ;
261
345
image ?: never ;
346
+ document ?: never ;
262
347
$unknown ?: never ;
263
348
}
264
349
@@ -270,6 +355,7 @@ export namespace ToolResultContentBlock {
270
355
json ?: never ;
271
356
text : string ;
272
357
image ?: never ;
358
+ document ?: never ;
273
359
$unknown ?: never ;
274
360
}
275
361
@@ -284,6 +370,19 @@ export namespace ToolResultContentBlock {
284
370
json ?: never ;
285
371
text ?: never ;
286
372
image : ImageBlock ;
373
+ document ?: never ;
374
+ $unknown ?: never ;
375
+ }
376
+
377
+ /**
378
+ * <p>A tool result that is a document.</p>
379
+ * @public
380
+ */
381
+ export interface DocumentMember {
382
+ json ?: never ;
383
+ text ?: never ;
384
+ image ?: never ;
385
+ document : DocumentBlock ;
287
386
$unknown ?: never ;
288
387
}
289
388
@@ -294,20 +393,23 @@ export namespace ToolResultContentBlock {
294
393
json ?: never ;
295
394
text ?: never ;
296
395
image ?: never ;
396
+ document ?: never ;
297
397
$unknown : [ string , any ] ;
298
398
}
299
399
300
400
export interface Visitor < T > {
301
401
json : ( value : __DocumentType ) => T ;
302
402
text : ( value : string ) => T ;
303
403
image : ( value : ImageBlock ) => T ;
404
+ document : ( value : DocumentBlock ) => T ;
304
405
_ : ( name : string , value : any ) => T ;
305
406
}
306
407
307
408
export const visit = < T > ( value : ToolResultContentBlock , visitor : Visitor < T > ) : T => {
308
409
if ( value . json !== undefined ) return visitor . json ( value . json ) ;
309
410
if ( value . text !== undefined ) return visitor . text ( value . text ) ;
310
411
if ( value . image !== undefined ) return visitor . image ( value . image ) ;
412
+ if ( value . document !== undefined ) return visitor . document ( value . document ) ;
311
413
return visitor . _ ( value . $unknown [ 0 ] , value . $unknown [ 1 ] ) ;
312
414
} ;
313
415
}
@@ -384,6 +486,7 @@ export interface ToolUseBlock {
384
486
* @public
385
487
*/
386
488
export type ContentBlock =
489
+ | ContentBlock . DocumentMember
387
490
| ContentBlock . GuardContentMember
388
491
| ContentBlock . ImageMember
389
492
| ContentBlock . TextMember
@@ -402,6 +505,7 @@ export namespace ContentBlock {
402
505
export interface TextMember {
403
506
text : string ;
404
507
image ?: never ;
508
+ document ?: never ;
405
509
toolUse ?: never ;
406
510
toolResult ?: never ;
407
511
guardContent ?: never ;
@@ -418,6 +522,21 @@ export namespace ContentBlock {
418
522
export interface ImageMember {
419
523
text ?: never ;
420
524
image : ImageBlock ;
525
+ document ?: never ;
526
+ toolUse ?: never ;
527
+ toolResult ?: never ;
528
+ guardContent ?: never ;
529
+ $unknown ?: never ;
530
+ }
531
+
532
+ /**
533
+ * <p>A document to include in the message.</p>
534
+ * @public
535
+ */
536
+ export interface DocumentMember {
537
+ text ?: never ;
538
+ image ?: never ;
539
+ document : DocumentBlock ;
421
540
toolUse ?: never ;
422
541
toolResult ?: never ;
423
542
guardContent ?: never ;
@@ -431,6 +550,7 @@ export namespace ContentBlock {
431
550
export interface ToolUseMember {
432
551
text ?: never ;
433
552
image ?: never ;
553
+ document ?: never ;
434
554
toolUse : ToolUseBlock ;
435
555
toolResult ?: never ;
436
556
guardContent ?: never ;
@@ -444,6 +564,7 @@ export namespace ContentBlock {
444
564
export interface ToolResultMember {
445
565
text ?: never ;
446
566
image ?: never ;
567
+ document ?: never ;
447
568
toolUse ?: never ;
448
569
toolResult : ToolResultBlock ;
449
570
guardContent ?: never ;
@@ -462,6 +583,7 @@ export namespace ContentBlock {
462
583
export interface GuardContentMember {
463
584
text ?: never ;
464
585
image ?: never ;
586
+ document ?: never ;
465
587
toolUse ?: never ;
466
588
toolResult ?: never ;
467
589
guardContent : GuardrailConverseContentBlock ;
@@ -474,6 +596,7 @@ export namespace ContentBlock {
474
596
export interface $UnknownMember {
475
597
text ?: never ;
476
598
image ?: never ;
599
+ document ?: never ;
477
600
toolUse ?: never ;
478
601
toolResult ?: never ;
479
602
guardContent ?: never ;
@@ -483,6 +606,7 @@ export namespace ContentBlock {
483
606
export interface Visitor < T > {
484
607
text : ( value : string ) => T ;
485
608
image : ( value : ImageBlock ) => T ;
609
+ document : ( value : DocumentBlock ) => T ;
486
610
toolUse : ( value : ToolUseBlock ) => T ;
487
611
toolResult : ( value : ToolResultBlock ) => T ;
488
612
guardContent : ( value : GuardrailConverseContentBlock ) => T ;
@@ -492,6 +616,7 @@ export namespace ContentBlock {
492
616
export const visit = < T > ( value : ContentBlock , visitor : Visitor < T > ) : T => {
493
617
if ( value . text !== undefined ) return visitor . text ( value . text ) ;
494
618
if ( value . image !== undefined ) return visitor . image ( value . image ) ;
619
+ if ( value . document !== undefined ) return visitor . document ( value . document ) ;
495
620
if ( value . toolUse !== undefined ) return visitor . toolUse ( value . toolUse ) ;
496
621
if ( value . toolResult !== undefined ) return visitor . toolResult ( value . toolResult ) ;
497
622
if ( value . guardContent !== undefined ) return visitor . guardContent ( value . guardContent ) ;
0 commit comments