@aws-sdk/client-bedrock-agent 3.703.0 → 3.706.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.
Files changed (59) hide show
  1. package/README.md +40 -0
  2. package/dist-cjs/index.js +559 -88
  3. package/dist-es/BedrockAgent.js +10 -0
  4. package/dist-es/commands/AssociateAgentCollaboratorCommand.js +23 -0
  5. package/dist-es/commands/CreateKnowledgeBaseCommand.js +2 -1
  6. package/dist-es/commands/DisassociateAgentCollaboratorCommand.js +22 -0
  7. package/dist-es/commands/GetAgentCollaboratorCommand.js +23 -0
  8. package/dist-es/commands/GetKnowledgeBaseCommand.js +2 -1
  9. package/dist-es/commands/IngestKnowledgeBaseDocumentsCommand.js +1 -1
  10. package/dist-es/commands/ListAgentCollaboratorsCommand.js +23 -0
  11. package/dist-es/commands/UpdateAgentCollaboratorCommand.js +23 -0
  12. package/dist-es/commands/UpdateKnowledgeBaseCommand.js +2 -1
  13. package/dist-es/commands/index.js +5 -0
  14. package/dist-es/models/models_0.js +48 -57
  15. package/dist-es/models/models_1.js +142 -1
  16. package/dist-es/pagination/ListAgentCollaboratorsPaginator.js +4 -0
  17. package/dist-es/pagination/index.js +1 -0
  18. package/dist-es/protocols/Aws_restJson1.js +184 -0
  19. package/dist-types/BedrockAgent.d.ts +35 -0
  20. package/dist-types/BedrockAgentClient.d.ts +7 -2
  21. package/dist-types/commands/AssociateAgentCollaboratorCommand.d.ts +113 -0
  22. package/dist-types/commands/CreateAgentCommand.d.ts +4 -0
  23. package/dist-types/commands/CreateDataSourceCommand.d.ts +12 -4
  24. package/dist-types/commands/CreateKnowledgeBaseCommand.d.ts +150 -2
  25. package/dist-types/commands/DisassociateAgentCollaboratorCommand.d.ts +89 -0
  26. package/dist-types/commands/GetAgentCollaboratorCommand.d.ts +101 -0
  27. package/dist-types/commands/GetAgentCommand.d.ts +2 -0
  28. package/dist-types/commands/GetAgentVersionCommand.d.ts +2 -0
  29. package/dist-types/commands/GetDataSourceCommand.d.ts +6 -2
  30. package/dist-types/commands/GetKnowledgeBaseCommand.d.ts +75 -1
  31. package/dist-types/commands/IngestKnowledgeBaseDocumentsCommand.d.ts +1 -1
  32. package/dist-types/commands/ListAgentCollaboratorsCommand.d.ts +104 -0
  33. package/dist-types/commands/ListKnowledgeBaseDocumentsCommand.d.ts +1 -1
  34. package/dist-types/commands/UpdateAgentCollaboratorCommand.d.ts +113 -0
  35. package/dist-types/commands/UpdateAgentCommand.d.ts +4 -0
  36. package/dist-types/commands/UpdateDataSourceCommand.d.ts +12 -4
  37. package/dist-types/commands/UpdateKnowledgeBaseCommand.d.ts +150 -2
  38. package/dist-types/commands/index.d.ts +5 -0
  39. package/dist-types/models/models_0.d.ts +434 -356
  40. package/dist-types/models/models_1.d.ts +802 -18
  41. package/dist-types/pagination/ListAgentCollaboratorsPaginator.d.ts +7 -0
  42. package/dist-types/pagination/index.d.ts +1 -0
  43. package/dist-types/protocols/Aws_restJson1.d.ts +45 -0
  44. package/dist-types/ts3.4/BedrockAgent.d.ts +85 -0
  45. package/dist-types/ts3.4/BedrockAgentClient.d.ts +30 -0
  46. package/dist-types/ts3.4/commands/AssociateAgentCollaboratorCommand.d.ts +51 -0
  47. package/dist-types/ts3.4/commands/DisassociateAgentCollaboratorCommand.d.ts +51 -0
  48. package/dist-types/ts3.4/commands/GetAgentCollaboratorCommand.d.ts +51 -0
  49. package/dist-types/ts3.4/commands/IngestKnowledgeBaseDocumentsCommand.d.ts +1 -1
  50. package/dist-types/ts3.4/commands/ListAgentCollaboratorsCommand.d.ts +51 -0
  51. package/dist-types/ts3.4/commands/ListKnowledgeBaseDocumentsCommand.d.ts +1 -1
  52. package/dist-types/ts3.4/commands/UpdateAgentCollaboratorCommand.d.ts +51 -0
  53. package/dist-types/ts3.4/commands/index.d.ts +5 -0
  54. package/dist-types/ts3.4/models/models_0.d.ts +130 -112
  55. package/dist-types/ts3.4/models/models_1.d.ts +283 -3
  56. package/dist-types/ts3.4/pagination/ListAgentCollaboratorsPaginator.d.ts +11 -0
  57. package/dist-types/ts3.4/pagination/index.d.ts +1 -0
  58. package/dist-types/ts3.4/protocols/Aws_restJson1.d.ts +60 -0
  59. package/package.json +1 -1
@@ -1,50 +1,705 @@
1
1
  import { DocumentType as __DocumentType } from "@smithy/types";
2
- import { AgentKnowledgeBase, AgentKnowledgeBaseSummary, AgentStatus, AgentVersion, AgentVersionSummary, FlowDefinition, FlowValidation, KnowledgeBaseState, PromptInferenceConfiguration, PromptTemplateConfiguration, PromptTemplateType } from "./models_0";
2
+ import { AgentKnowledgeBase, AgentKnowledgeBaseSummary, AgentStatus, AgentVersion, AgentVersionSummary, ByteContentDoc, ContentDataSourceType, CustomDocumentIdentifier, FlowDefinition, FlowValidation, KnowledgeBaseDocumentDetail, KnowledgeBaseState, PromptInferenceConfiguration, PromptTemplateConfiguration, PromptTemplateType, S3Location, TextContentDoc } from "./models_0";
3
3
  /**
4
+ * @public
5
+ * @enum
6
+ */
7
+ export declare const InlineContentType: {
8
+ readonly BYTE: "BYTE";
9
+ readonly TEXT: "TEXT";
10
+ };
11
+ /**
12
+ * @public
13
+ */
14
+ export type InlineContentType = (typeof InlineContentType)[keyof typeof InlineContentType];
15
+ /**
16
+ * <p>Contains information about content defined inline to ingest into a data source. Choose a <code>type</code> and include the field that corresponds to it.</p>
17
+ * @public
18
+ */
19
+ export interface InlineContent {
20
+ /**
21
+ * <p>The type of inline content to define.</p>
22
+ * @public
23
+ */
24
+ type: InlineContentType | undefined;
25
+ /**
26
+ * <p>Contains information about content defined inline in bytes.</p>
27
+ * @public
28
+ */
29
+ byteContent?: ByteContentDoc | undefined;
30
+ /**
31
+ * <p>Contains information about content defined inline in text.</p>
32
+ * @public
33
+ */
34
+ textContent?: TextContentDoc | undefined;
35
+ }
36
+ /**
37
+ * <p>Contains information about the Amazon S3 location of the file containing the content to ingest into a knowledge base connected to a custom data source.</p>
38
+ * @public
39
+ */
40
+ export interface CustomS3Location {
41
+ /**
42
+ * <p>The S3 URI of the file containing the content to ingest.</p>
43
+ * @public
44
+ */
45
+ uri: string | undefined;
46
+ /**
47
+ * <p>The identifier of the Amazon Web Services account that owns the S3 bucket containing the content to ingest.</p>
48
+ * @public
49
+ */
50
+ bucketOwnerAccountId?: string | undefined;
51
+ }
52
+ /**
53
+ * @public
54
+ * @enum
55
+ */
56
+ export declare const CustomSourceType: {
57
+ readonly IN_LINE: "IN_LINE";
58
+ readonly S3_LOCATION: "S3_LOCATION";
59
+ };
60
+ /**
61
+ * @public
62
+ */
63
+ export type CustomSourceType = (typeof CustomSourceType)[keyof typeof CustomSourceType];
64
+ /**
65
+ * <p>Contains information about the content to ingest into a knowledge base connected to a custom data source. Choose a <code>sourceType</code> and include the field that corresponds to it.</p>
66
+ * @public
67
+ */
68
+ export interface CustomContent {
69
+ /**
70
+ * <p>A unique identifier for the document.</p>
71
+ * @public
72
+ */
73
+ customDocumentIdentifier: CustomDocumentIdentifier | undefined;
74
+ /**
75
+ * <p>The source of the data to ingest.</p>
76
+ * @public
77
+ */
78
+ sourceType: CustomSourceType | undefined;
79
+ /**
80
+ * <p>Contains information about the Amazon S3 location of the file from which to ingest data.</p>
81
+ * @public
82
+ */
83
+ s3Location?: CustomS3Location | undefined;
84
+ /**
85
+ * <p>Contains information about content defined inline to ingest into a knowledge base.</p>
86
+ * @public
87
+ */
88
+ inlineContent?: InlineContent | undefined;
89
+ }
90
+ /**
91
+ * <p>Contains information about the content to ingest into a knowledge base connected to an Amazon S3 data source.</p>
92
+ * @public
93
+ */
94
+ export interface S3Content {
95
+ /**
96
+ * <p>The S3 location of the file containing the content to ingest.</p>
97
+ * @public
98
+ */
99
+ s3Location: S3Location | undefined;
100
+ }
101
+ /**
102
+ * <p>Contains information about the content of a document. Choose a <code>dataSourceType</code> and include the field that corresponds to it.</p>
103
+ * @public
104
+ */
105
+ export interface DocumentContent {
106
+ /**
107
+ * <p>The type of data source that is connected to the knowledge base to which to ingest this document.</p>
108
+ * @public
109
+ */
110
+ dataSourceType: ContentDataSourceType | undefined;
111
+ /**
112
+ * <p>Contains information about the content to ingest into a knowledge base connected to a custom data source.</p>
113
+ * @public
114
+ */
115
+ custom?: CustomContent | undefined;
116
+ /**
117
+ * <p>Contains information about the content to ingest into a knowledge base connected to an Amazon S3 data source</p>
118
+ * @public
119
+ */
120
+ s3?: S3Content | undefined;
121
+ }
122
+ /**
123
+ * @public
124
+ * @enum
125
+ */
126
+ export declare const MetadataValueType: {
127
+ readonly BOOLEAN: "BOOLEAN";
128
+ readonly NUMBER: "NUMBER";
129
+ readonly STRING: "STRING";
130
+ readonly STRING_LIST: "STRING_LIST";
131
+ };
132
+ /**
133
+ * @public
134
+ */
135
+ export type MetadataValueType = (typeof MetadataValueType)[keyof typeof MetadataValueType];
136
+ /**
137
+ * <p>Contains the value of the metadata attribute. Choose a <code>type</code> and include the field that corresponds to it.</p>
138
+ * @public
139
+ */
140
+ export interface MetadataAttributeValue {
141
+ /**
142
+ * <p>The type of the metadata attribute.</p>
143
+ * @public
144
+ */
145
+ type: MetadataValueType | undefined;
146
+ /**
147
+ * <p>The value of the numeric metadata attribute.</p>
148
+ * @public
149
+ */
150
+ numberValue?: number | undefined;
151
+ /**
152
+ * <p>The value of the Boolean metadata attribute.</p>
153
+ * @public
154
+ */
155
+ booleanValue?: boolean | undefined;
156
+ /**
157
+ * <p>The value of the string metadata attribute.</p>
158
+ * @public
159
+ */
160
+ stringValue?: string | undefined;
161
+ /**
162
+ * <p>An array of strings that define the value of the metadata attribute.</p>
163
+ * @public
164
+ */
165
+ stringListValue?: string[] | undefined;
166
+ }
167
+ /**
168
+ * <p>Contains information about a metadata attribute.</p>
169
+ * @public
170
+ */
171
+ export interface MetadataAttribute {
172
+ /**
173
+ * <p>The key of the metadata attribute.</p>
174
+ * @public
175
+ */
176
+ key: string | undefined;
177
+ /**
178
+ * <p>Contains the value of the metadata attribute.</p>
179
+ * @public
180
+ */
181
+ value: MetadataAttributeValue | undefined;
182
+ }
183
+ /**
184
+ * @public
185
+ * @enum
186
+ */
187
+ export declare const MetadataSourceType: {
188
+ readonly IN_LINE_ATTRIBUTE: "IN_LINE_ATTRIBUTE";
189
+ readonly S3_LOCATION: "S3_LOCATION";
190
+ };
191
+ /**
192
+ * @public
193
+ */
194
+ export type MetadataSourceType = (typeof MetadataSourceType)[keyof typeof MetadataSourceType];
195
+ /**
196
+ * <p>Contains information about the metadata associate with the content to ingest into a knowledge base. Choose a <code>type</code> and include the field that corresponds to it.</p>
197
+ * @public
198
+ */
199
+ export interface DocumentMetadata {
200
+ /**
201
+ * <p>The type of the source source from which to add metadata.</p>
202
+ * @public
203
+ */
204
+ type: MetadataSourceType | undefined;
205
+ /**
206
+ * <p>An array of objects, each of which defines a metadata attribute to associate with the content to ingest. You define the attributes inline.</p>
207
+ * @public
208
+ */
209
+ inlineAttributes?: MetadataAttribute[] | undefined;
210
+ /**
211
+ * <p>The Amazon S3 location of the file containing metadata to associate with the content to ingest.</p>
212
+ * @public
213
+ */
214
+ s3Location?: CustomS3Location | undefined;
215
+ }
216
+ /**
217
+ * <p>Contains information about a document to ingest into a knowledge base and metadata to associate with it.</p>
218
+ * @public
219
+ */
220
+ export interface KnowledgeBaseDocument {
221
+ /**
222
+ * <p>Contains the metadata to associate with the document.</p>
223
+ * @public
224
+ */
225
+ metadata?: DocumentMetadata | undefined;
226
+ /**
227
+ * <p>Contains the content of the document.</p>
228
+ * @public
229
+ */
230
+ content: DocumentContent | undefined;
231
+ }
232
+ /**
233
+ * @public
234
+ */
235
+ export interface IngestKnowledgeBaseDocumentsRequest {
236
+ /**
237
+ * <p>The unique identifier of the knowledge base to ingest the documents into.</p>
238
+ * @public
239
+ */
240
+ knowledgeBaseId: string | undefined;
241
+ /**
242
+ * <p>The unique identifier of the data source connected to the knowledge base that you're adding documents to.</p>
243
+ * @public
244
+ */
245
+ dataSourceId: string | undefined;
246
+ /**
247
+ * <p>A unique, case-sensitive identifier to ensure that the API request completes no more than one time. If this token matches a previous request,
248
+ * Amazon Bedrock ignores the request, but does not return an error. For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html">Ensuring idempotency</a>.</p>
249
+ * @public
250
+ */
251
+ clientToken?: string | undefined;
252
+ /**
253
+ * <p>A list of objects, each of which contains information about the documents to add.</p>
254
+ * @public
255
+ */
256
+ documents: KnowledgeBaseDocument[] | undefined;
257
+ }
258
+ /**
259
+ * @public
260
+ */
261
+ export interface IngestKnowledgeBaseDocumentsResponse {
262
+ /**
263
+ * <p>A list of objects, each of which contains information about the documents that were ingested.</p>
264
+ * @public
265
+ */
266
+ documentDetails?: KnowledgeBaseDocumentDetail[] | undefined;
267
+ }
268
+ /**
269
+ * @public
270
+ */
271
+ export interface ListKnowledgeBaseDocumentsRequest {
272
+ /**
273
+ * <p>The unique identifier of the knowledge base that is connected to the data source.</p>
274
+ * @public
275
+ */
276
+ knowledgeBaseId: string | undefined;
277
+ /**
278
+ * <p>The unique identifier of the data source that contains the documents.</p>
279
+ * @public
280
+ */
281
+ dataSourceId: string | undefined;
282
+ /**
283
+ * <p>The maximum number of results to return in the response. If the total number of results is greater than this value, use the token returned in the response in the <code>nextToken</code> field when making another request to return the next batch of results.</p>
284
+ * @public
285
+ */
286
+ maxResults?: number | undefined;
287
+ /**
288
+ * <p>If the total number of results is greater than the <code>maxResults</code> value provided in the request, enter the token returned in the <code>nextToken</code> field in the response in this field to return the next batch of results.</p>
289
+ * @public
290
+ */
291
+ nextToken?: string | undefined;
292
+ }
293
+ /**
294
+ * @public
295
+ */
296
+ export interface ListKnowledgeBaseDocumentsResponse {
297
+ /**
298
+ * <p>A list of objects, each of which contains information about the documents that were retrieved.</p>
299
+ * @public
300
+ */
301
+ documentDetails: KnowledgeBaseDocumentDetail[] | undefined;
302
+ /**
303
+ * <p>If the total number of results is greater than the <code>maxResults</code> value provided in the request, use this token when making another request in the <code>nextToken</code> field to return the next batch of results.</p>
304
+ * @public
305
+ */
306
+ nextToken?: string | undefined;
307
+ }
308
+ /**
309
+ * @public
310
+ */
311
+ export interface AssociateAgentKnowledgeBaseRequest {
312
+ /**
313
+ * <p>The unique identifier of the agent with which you want to associate the knowledge base.</p>
314
+ * @public
315
+ */
316
+ agentId: string | undefined;
317
+ /**
318
+ * <p>The version of the agent with which you want to associate the knowledge base.</p>
319
+ * @public
320
+ */
321
+ agentVersion: string | undefined;
322
+ /**
323
+ * <p>The unique identifier of the knowledge base to associate with the agent.</p>
324
+ * @public
325
+ */
326
+ knowledgeBaseId: string | undefined;
327
+ /**
328
+ * <p>A description of what the agent should use the knowledge base for.</p>
329
+ * @public
330
+ */
331
+ description: string | undefined;
332
+ /**
333
+ * <p>Specifies whether to use the knowledge base or not when sending an <a href="https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_InvokeAgent.html">InvokeAgent</a> request.</p>
334
+ * @public
335
+ */
336
+ knowledgeBaseState?: KnowledgeBaseState | undefined;
337
+ }
338
+ /**
339
+ * @public
340
+ */
341
+ export interface AssociateAgentKnowledgeBaseResponse {
342
+ /**
343
+ * <p>Contains details about the knowledge base that has been associated with the agent.</p>
344
+ * @public
345
+ */
346
+ agentKnowledgeBase: AgentKnowledgeBase | undefined;
347
+ }
348
+ /**
349
+ * <p>Settings for an Amazon Kendra knowledge base.</p>
350
+ * @public
351
+ */
352
+ export interface KendraKnowledgeBaseConfiguration {
353
+ /**
354
+ * <p>The ARN of the Amazon Kendra index.</p>
355
+ * @public
356
+ */
357
+ kendraIndexArn: string | undefined;
358
+ }
359
+ /**
360
+ * @public
361
+ * @enum
362
+ */
363
+ export declare const RedshiftProvisionedAuthType: {
364
+ readonly IAM: "IAM";
365
+ readonly USERNAME: "USERNAME";
366
+ readonly USERNAME_PASSWORD: "USERNAME_PASSWORD";
367
+ };
368
+ /**
369
+ * @public
370
+ */
371
+ export type RedshiftProvisionedAuthType = (typeof RedshiftProvisionedAuthType)[keyof typeof RedshiftProvisionedAuthType];
372
+ /**
373
+ * <p>Contains configurations for authentication to an Amazon Redshift provisioned data warehouse. Specify the type of authentication to use in the <code>type</code> field and include the corresponding field. If you specify IAM authentication, you don't need to include another field.</p>
374
+ * @public
375
+ */
376
+ export interface RedshiftProvisionedAuthConfiguration {
377
+ /**
378
+ * <p>The type of authentication to use.</p>
379
+ * @public
380
+ */
381
+ type: RedshiftProvisionedAuthType | undefined;
382
+ /**
383
+ * <p>The database username for authentication to an Amazon Redshift provisioned data warehouse.</p>
384
+ * @public
385
+ */
386
+ databaseUser?: string | undefined;
387
+ /**
388
+ * <p>The ARN of an Secrets Manager secret for authentication.</p>
389
+ * @public
390
+ */
391
+ usernamePasswordSecretArn?: string | undefined;
392
+ }
393
+ /**
394
+ * <p>Contains configurations for a provisioned Amazon Redshift query engine.</p>
395
+ * @public
396
+ */
397
+ export interface RedshiftProvisionedConfiguration {
398
+ /**
399
+ * <p>The ID of the Amazon Redshift cluster.</p>
400
+ * @public
401
+ */
402
+ clusterIdentifier: string | undefined;
403
+ /**
404
+ * <p>Specifies configurations for authentication to Amazon Redshift.</p>
405
+ * @public
406
+ */
407
+ authConfiguration: RedshiftProvisionedAuthConfiguration | undefined;
408
+ }
409
+ /**
410
+ * @public
411
+ * @enum
412
+ */
413
+ export declare const RedshiftServerlessAuthType: {
414
+ readonly IAM: "IAM";
415
+ readonly USERNAME_PASSWORD: "USERNAME_PASSWORD";
416
+ };
417
+ /**
418
+ * @public
419
+ */
420
+ export type RedshiftServerlessAuthType = (typeof RedshiftServerlessAuthType)[keyof typeof RedshiftServerlessAuthType];
421
+ /**
422
+ * <p>Specifies configurations for authentication to a Redshift Serverless. Specify the type of authentication to use in the <code>type</code> field and include the corresponding field. If you specify IAM authentication, you don't need to include another field.</p>
423
+ * @public
424
+ */
425
+ export interface RedshiftServerlessAuthConfiguration {
426
+ /**
427
+ * <p>The type of authentication to use.</p>
428
+ * @public
429
+ */
430
+ type: RedshiftServerlessAuthType | undefined;
431
+ /**
432
+ * <p>The ARN of an Secrets Manager secret for authentication.</p>
433
+ * @public
434
+ */
435
+ usernamePasswordSecretArn?: string | undefined;
436
+ }
437
+ /**
438
+ * <p>Contains configurations for authentication to Amazon Redshift Serverless.</p>
4
439
  * @public
5
440
  */
6
- export interface AssociateAgentKnowledgeBaseRequest {
441
+ export interface RedshiftServerlessConfiguration {
7
442
  /**
8
- * <p>The unique identifier of the agent with which you want to associate the knowledge base.</p>
443
+ * <p>The ARN of the Amazon Redshift workgroup.</p>
9
444
  * @public
10
445
  */
11
- agentId: string | undefined;
446
+ workgroupArn: string | undefined;
12
447
  /**
13
- * <p>The version of the agent with which you want to associate the knowledge base.</p>
448
+ * <p>Specifies configurations for authentication to an Amazon Redshift provisioned data warehouse.</p>
14
449
  * @public
15
450
  */
16
- agentVersion: string | undefined;
451
+ authConfiguration: RedshiftServerlessAuthConfiguration | undefined;
452
+ }
453
+ /**
454
+ * @public
455
+ * @enum
456
+ */
457
+ export declare const RedshiftQueryEngineType: {
458
+ readonly PROVISIONED: "PROVISIONED";
459
+ readonly SERVERLESS: "SERVERLESS";
460
+ };
461
+ /**
462
+ * @public
463
+ */
464
+ export type RedshiftQueryEngineType = (typeof RedshiftQueryEngineType)[keyof typeof RedshiftQueryEngineType];
465
+ /**
466
+ * <p>Contains configurations for an Amazon Redshift query engine. Specify the type of query engine in <code>type</code> and include the corresponding field. For more information, see <a href="https://docs.aws.amazon.com/bedrock/latest/userguide/knowledge-base-build-structured.html">Build a knowledge base by connecting to a structured data source</a> in the Amazon Bedrock User Guide.</p>
467
+ * @public
468
+ */
469
+ export interface RedshiftQueryEngineConfiguration {
17
470
  /**
18
- * <p>The unique identifier of the knowledge base to associate with the agent.</p>
471
+ * <p>The type of query engine.</p>
19
472
  * @public
20
473
  */
21
- knowledgeBaseId: string | undefined;
474
+ type: RedshiftQueryEngineType | undefined;
22
475
  /**
23
- * <p>A description of what the agent should use the knowledge base for.</p>
476
+ * <p>Specifies configurations for a serverless Amazon Redshift query engine.</p>
24
477
  * @public
25
478
  */
26
- description: string | undefined;
479
+ serverlessConfiguration?: RedshiftServerlessConfiguration | undefined;
27
480
  /**
28
- * <p>Specifies whether to use the knowledge base or not when sending an <a href="https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_InvokeAgent.html">InvokeAgent</a> request.</p>
481
+ * <p>Specifies configurations for a provisioned Amazon Redshift query engine.</p>
29
482
  * @public
30
483
  */
31
- knowledgeBaseState?: KnowledgeBaseState | undefined;
484
+ provisionedConfiguration?: RedshiftProvisionedConfiguration | undefined;
32
485
  }
33
486
  /**
487
+ * <p>Contains configurations for a query, each of which defines information about example queries to help the query engine generate appropriate SQL queries.</p>
34
488
  * @public
35
489
  */
36
- export interface AssociateAgentKnowledgeBaseResponse {
490
+ export interface CuratedQuery {
37
491
  /**
38
- * <p>Contains details about the knowledge base that has been associated with the agent.</p>
492
+ * <p>An example natural language query.</p>
39
493
  * @public
40
494
  */
41
- agentKnowledgeBase: AgentKnowledgeBase | undefined;
495
+ naturalLanguage: string | undefined;
496
+ /**
497
+ * <p>The SQL equivalent of the natural language query.</p>
498
+ * @public
499
+ */
500
+ sql: string | undefined;
501
+ }
502
+ /**
503
+ * @public
504
+ * @enum
505
+ */
506
+ export declare const IncludeExclude: {
507
+ readonly EXCLUDE: "EXCLUDE";
508
+ readonly INCLUDE: "INCLUDE";
509
+ };
510
+ /**
511
+ * @public
512
+ */
513
+ export type IncludeExclude = (typeof IncludeExclude)[keyof typeof IncludeExclude];
514
+ /**
515
+ * <p>Contains information about a column in the current table for the query engine to consider.</p>
516
+ * @public
517
+ */
518
+ export interface QueryGenerationColumn {
519
+ /**
520
+ * <p>The name of the column for which the other fields in this object apply.</p>
521
+ * @public
522
+ */
523
+ name?: string | undefined;
524
+ /**
525
+ * <p>A description of the column that helps the query engine understand the contents of the column.</p>
526
+ * @public
527
+ */
528
+ description?: string | undefined;
529
+ /**
530
+ * <p>Specifies whether to include or exclude the column during query generation. If you specify <code>EXCLUDE</code>, the column will be ignored. If you specify <code>INCLUDE</code>, all other columns in the table will be ignored.</p>
531
+ * @public
532
+ */
533
+ inclusion?: IncludeExclude | undefined;
534
+ }
535
+ /**
536
+ * <p>Contains information about a table for the query engine to consider.</p>
537
+ * @public
538
+ */
539
+ export interface QueryGenerationTable {
540
+ /**
541
+ * <p>The name of the table for which the other fields in this object apply.</p>
542
+ * @public
543
+ */
544
+ name: string | undefined;
545
+ /**
546
+ * <p>A description of the table that helps the query engine understand the contents of the table.</p>
547
+ * @public
548
+ */
549
+ description?: string | undefined;
550
+ /**
551
+ * <p>Specifies whether to include or exclude the table during query generation. If you specify <code>EXCLUDE</code>, the table will be ignored. If you specify <code>INCLUDE</code>, all other tables will be ignored.</p>
552
+ * @public
553
+ */
554
+ inclusion?: IncludeExclude | undefined;
555
+ /**
556
+ * <p>An array of objects, each of which defines information about a column in the table.</p>
557
+ * @public
558
+ */
559
+ columns?: QueryGenerationColumn[] | undefined;
560
+ }
561
+ /**
562
+ * <p>&gt;Contains configurations for context to use during query generation.</p>
563
+ * @public
564
+ */
565
+ export interface QueryGenerationContext {
566
+ /**
567
+ * <p>An array of objects, each of which defines information about a table in the database.</p>
568
+ * @public
569
+ */
570
+ tables?: QueryGenerationTable[] | undefined;
571
+ /**
572
+ * <p>An array of objects, each of which defines information about example queries to help the query engine generate appropriate SQL queries.</p>
573
+ * @public
574
+ */
575
+ curatedQueries?: CuratedQuery[] | undefined;
576
+ }
577
+ /**
578
+ * <p>Contains configurations for query generation. For more information, see <a href="https://docs.aws.amazon.com/bedrock/latest/userguide/knowledge-base-build-structured.html">Build a knowledge base by connecting to a structured data source</a> in the Amazon Bedrock User Guide..</p>
579
+ * @public
580
+ */
581
+ export interface QueryGenerationConfiguration {
582
+ /**
583
+ * <p>The time after which query generation will time out.</p>
584
+ * @public
585
+ */
586
+ executionTimeoutSeconds?: number | undefined;
587
+ /**
588
+ * <p>Specifies configurations for context to use during query generation.</p>
589
+ * @public
590
+ */
591
+ generationContext?: QueryGenerationContext | undefined;
592
+ }
593
+ /**
594
+ * <p>Contains configurations for storage in Glue Data Catalog.</p>
595
+ * @public
596
+ */
597
+ export interface RedshiftQueryEngineAwsDataCatalogStorageConfiguration {
598
+ /**
599
+ * <p>A list of names of the tables to use.</p>
600
+ * @public
601
+ */
602
+ tableNames: string[] | undefined;
603
+ }
604
+ /**
605
+ * <p>Contains configurations for storage in Amazon Redshift.</p>
606
+ * @public
607
+ */
608
+ export interface RedshiftQueryEngineRedshiftStorageConfiguration {
609
+ /**
610
+ * <p>The name of the Amazon Redshift database.</p>
611
+ * @public
612
+ */
613
+ databaseName: string | undefined;
614
+ }
615
+ /**
616
+ * @public
617
+ * @enum
618
+ */
619
+ export declare const RedshiftQueryEngineStorageType: {
620
+ readonly AWS_DATA_CATALOG: "AWS_DATA_CATALOG";
621
+ readonly REDSHIFT: "REDSHIFT";
622
+ };
623
+ /**
624
+ * @public
625
+ */
626
+ export type RedshiftQueryEngineStorageType = (typeof RedshiftQueryEngineStorageType)[keyof typeof RedshiftQueryEngineStorageType];
627
+ /**
628
+ * <p>Contains configurations for Amazon Redshift data storage. Specify the data storage service to use in the <code>type</code> field and include the corresponding field. For more information, see <a href="https://docs.aws.amazon.com/bedrock/latest/userguide/knowledge-base-build-structured.html">Build a knowledge base by connecting to a structured data source</a> in the Amazon Bedrock User Guide.</p>
629
+ * @public
630
+ */
631
+ export interface RedshiftQueryEngineStorageConfiguration {
632
+ /**
633
+ * <p>The data storage service to use.</p>
634
+ * @public
635
+ */
636
+ type: RedshiftQueryEngineStorageType | undefined;
637
+ /**
638
+ * <p>Specifies configurations for storage in Glue Data Catalog.</p>
639
+ * @public
640
+ */
641
+ awsDataCatalogConfiguration?: RedshiftQueryEngineAwsDataCatalogStorageConfiguration | undefined;
642
+ /**
643
+ * <p>Specifies configurations for storage in Amazon Redshift.</p>
644
+ * @public
645
+ */
646
+ redshiftConfiguration?: RedshiftQueryEngineRedshiftStorageConfiguration | undefined;
647
+ }
648
+ /**
649
+ * <p>Contains configurations for an Amazon Redshift database. For more information, see <a href="https://docs.aws.amazon.com/bedrock/latest/userguide/knowledge-base-build-structured.html">Build a knowledge base by connecting to a structured data source</a> in the Amazon Bedrock User Guide.</p>
650
+ * @public
651
+ */
652
+ export interface RedshiftConfiguration {
653
+ /**
654
+ * <p>Specifies configurations for Amazon Redshift database storage.</p>
655
+ * @public
656
+ */
657
+ storageConfigurations: RedshiftQueryEngineStorageConfiguration[] | undefined;
658
+ /**
659
+ * <p>Specifies configurations for an Amazon Redshift query engine.</p>
660
+ * @public
661
+ */
662
+ queryEngineConfiguration: RedshiftQueryEngineConfiguration | undefined;
663
+ /**
664
+ * <p>Specifies configurations for generating queries.</p>
665
+ * @public
666
+ */
667
+ queryGenerationConfiguration?: QueryGenerationConfiguration | undefined;
668
+ }
669
+ /**
670
+ * @public
671
+ * @enum
672
+ */
673
+ export declare const QueryEngineType: {
674
+ readonly REDSHIFT: "REDSHIFT";
675
+ };
676
+ /**
677
+ * @public
678
+ */
679
+ export type QueryEngineType = (typeof QueryEngineType)[keyof typeof QueryEngineType];
680
+ /**
681
+ * <p>Contains configurations for a knowledge base connected to an SQL database. Specify the SQL database type in the <code>type</code> field and include the corresponding field. For more information, see <a href="https://docs.aws.amazon.com/bedrock/latest/userguide/knowledge-base-build-structured.html">Build a knowledge base by connecting to a structured data source</a> in the Amazon Bedrock User Guide.</p>
682
+ * @public
683
+ */
684
+ export interface SqlKnowledgeBaseConfiguration {
685
+ /**
686
+ * <p>The type of SQL database to connect to the knowledge base.</p>
687
+ * @public
688
+ */
689
+ type: QueryEngineType | undefined;
690
+ /**
691
+ * <p>Specifies configurations for a knowledge base connected to an Amazon Redshift database.</p>
692
+ * @public
693
+ */
694
+ redshiftConfiguration?: RedshiftConfiguration | undefined;
42
695
  }
43
696
  /**
44
697
  * @public
45
698
  * @enum
46
699
  */
47
700
  export declare const KnowledgeBaseType: {
701
+ readonly KENDRA: "KENDRA";
702
+ readonly SQL: "SQL";
48
703
  readonly VECTOR: "VECTOR";
49
704
  };
50
705
  /**
@@ -94,6 +749,44 @@ export interface EmbeddingModelConfiguration {
94
749
  */
95
750
  bedrockEmbeddingModelConfiguration?: BedrockEmbeddingModelConfiguration | undefined;
96
751
  }
752
+ /**
753
+ * @public
754
+ * @enum
755
+ */
756
+ export declare const SupplementalDataStorageLocationType: {
757
+ readonly S3: "S3";
758
+ };
759
+ /**
760
+ * @public
761
+ */
762
+ export type SupplementalDataStorageLocationType = (typeof SupplementalDataStorageLocationType)[keyof typeof SupplementalDataStorageLocationType];
763
+ /**
764
+ * <p>Contains information about a storage location for images extracted from multimodal documents in your data source.</p>
765
+ * @public
766
+ */
767
+ export interface SupplementalDataStorageLocation {
768
+ /**
769
+ * <p>Specifies the storage service used for this location.</p>
770
+ * @public
771
+ */
772
+ type: SupplementalDataStorageLocationType | undefined;
773
+ /**
774
+ * <p>Contains information about the Amazon S3 location for the extracted images.</p>
775
+ * @public
776
+ */
777
+ s3Location?: S3Location | undefined;
778
+ }
779
+ /**
780
+ * <p>Specifies configurations for the storage location of the images extracted from multimodal documents in your data source. These images can be retrieved and returned to the end user.</p>
781
+ * @public
782
+ */
783
+ export interface SupplementalDataStorageConfiguration {
784
+ /**
785
+ * <p>A list of objects specifying storage locations for images extracted from multimodal documents in your data source.</p>
786
+ * @public
787
+ */
788
+ storageLocations: SupplementalDataStorageLocation[] | undefined;
789
+ }
97
790
  /**
98
791
  * <p>Contains details about the model used to create vector embeddings for the knowledge base.</p>
99
792
  * @public
@@ -109,6 +802,11 @@ export interface VectorKnowledgeBaseConfiguration {
109
802
  * @public
110
803
  */
111
804
  embeddingModelConfiguration?: EmbeddingModelConfiguration | undefined;
805
+ /**
806
+ * <p>If you include multimodal data from your data source, use this object to specify configurations for the storage location of the images extracted from your documents. These images can be retrieved and returned to the end user. They can also be used in generation when using <a href="https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerate.html">RetrieveAndGenerate</a>.</p>
807
+ * @public
808
+ */
809
+ supplementalDataStorageConfiguration?: SupplementalDataStorageConfiguration | undefined;
112
810
  }
113
811
  /**
114
812
  * <p>Contains details about the vector embeddings configuration of the knowledge base.</p>
@@ -125,6 +823,16 @@ export interface KnowledgeBaseConfiguration {
125
823
  * @public
126
824
  */
127
825
  vectorKnowledgeBaseConfiguration?: VectorKnowledgeBaseConfiguration | undefined;
826
+ /**
827
+ * <p>Settings for an Amazon Kendra knowledge base.</p>
828
+ * @public
829
+ */
830
+ kendraKnowledgeBaseConfiguration?: KendraKnowledgeBaseConfiguration | undefined;
831
+ /**
832
+ * <p>Specifies configurations for a knowledge base connected to an SQL database.</p>
833
+ * @public
834
+ */
835
+ sqlKnowledgeBaseConfiguration?: SqlKnowledgeBaseConfiguration | undefined;
128
836
  }
129
837
  /**
130
838
  * <p>Contains the names of the fields to which to map information about the vector store.</p>
@@ -461,7 +1169,7 @@ export interface CreateKnowledgeBaseRequest {
461
1169
  * <p>Contains details about the configuration of the vector database used for the knowledge base.</p>
462
1170
  * @public
463
1171
  */
464
- storageConfiguration: StorageConfiguration | undefined;
1172
+ storageConfiguration?: StorageConfiguration | undefined;
465
1173
  /**
466
1174
  * <p>Specify the key-value pairs for the tags that you want to attach to your knowledge base in this object.</p>
467
1175
  * @public
@@ -523,7 +1231,7 @@ export interface KnowledgeBase {
523
1231
  * <p>Contains details about the storage configuration of the knowledge base.</p>
524
1232
  * @public
525
1233
  */
526
- storageConfiguration: StorageConfiguration | undefined;
1234
+ storageConfiguration?: StorageConfiguration | undefined;
527
1235
  /**
528
1236
  * <p>The status of the knowledge base. The following statuses are possible:</p>
529
1237
  * <ul>
@@ -846,7 +1554,7 @@ export interface UpdateKnowledgeBaseRequest {
846
1554
  * <p>Specifies the configuration for the vector store used for the knowledge base. You must use the same configuration as when the knowledge base was created.</p>
847
1555
  * @public
848
1556
  */
849
- storageConfiguration: StorageConfiguration | undefined;
1557
+ storageConfiguration?: StorageConfiguration | undefined;
850
1558
  }
851
1559
  /**
852
1560
  * @public
@@ -1592,6 +2300,82 @@ export interface ListAgentVersionsResponse {
1592
2300
  */
1593
2301
  nextToken?: string | undefined;
1594
2302
  }
2303
+ /**
2304
+ * @internal
2305
+ */
2306
+ export declare const InlineContentFilterSensitiveLog: (obj: InlineContent) => any;
2307
+ /**
2308
+ * @internal
2309
+ */
2310
+ export declare const CustomContentFilterSensitiveLog: (obj: CustomContent) => any;
2311
+ /**
2312
+ * @internal
2313
+ */
2314
+ export declare const DocumentContentFilterSensitiveLog: (obj: DocumentContent) => any;
2315
+ /**
2316
+ * @internal
2317
+ */
2318
+ export declare const MetadataAttributeValueFilterSensitiveLog: (obj: MetadataAttributeValue) => any;
2319
+ /**
2320
+ * @internal
2321
+ */
2322
+ export declare const MetadataAttributeFilterSensitiveLog: (obj: MetadataAttribute) => any;
2323
+ /**
2324
+ * @internal
2325
+ */
2326
+ export declare const DocumentMetadataFilterSensitiveLog: (obj: DocumentMetadata) => any;
2327
+ /**
2328
+ * @internal
2329
+ */
2330
+ export declare const KnowledgeBaseDocumentFilterSensitiveLog: (obj: KnowledgeBaseDocument) => any;
2331
+ /**
2332
+ * @internal
2333
+ */
2334
+ export declare const IngestKnowledgeBaseDocumentsRequestFilterSensitiveLog: (obj: IngestKnowledgeBaseDocumentsRequest) => any;
2335
+ /**
2336
+ * @internal
2337
+ */
2338
+ export declare const QueryGenerationContextFilterSensitiveLog: (obj: QueryGenerationContext) => any;
2339
+ /**
2340
+ * @internal
2341
+ */
2342
+ export declare const QueryGenerationConfigurationFilterSensitiveLog: (obj: QueryGenerationConfiguration) => any;
2343
+ /**
2344
+ * @internal
2345
+ */
2346
+ export declare const RedshiftConfigurationFilterSensitiveLog: (obj: RedshiftConfiguration) => any;
2347
+ /**
2348
+ * @internal
2349
+ */
2350
+ export declare const SqlKnowledgeBaseConfigurationFilterSensitiveLog: (obj: SqlKnowledgeBaseConfiguration) => any;
2351
+ /**
2352
+ * @internal
2353
+ */
2354
+ export declare const KnowledgeBaseConfigurationFilterSensitiveLog: (obj: KnowledgeBaseConfiguration) => any;
2355
+ /**
2356
+ * @internal
2357
+ */
2358
+ export declare const CreateKnowledgeBaseRequestFilterSensitiveLog: (obj: CreateKnowledgeBaseRequest) => any;
2359
+ /**
2360
+ * @internal
2361
+ */
2362
+ export declare const KnowledgeBaseFilterSensitiveLog: (obj: KnowledgeBase) => any;
2363
+ /**
2364
+ * @internal
2365
+ */
2366
+ export declare const CreateKnowledgeBaseResponseFilterSensitiveLog: (obj: CreateKnowledgeBaseResponse) => any;
2367
+ /**
2368
+ * @internal
2369
+ */
2370
+ export declare const GetKnowledgeBaseResponseFilterSensitiveLog: (obj: GetKnowledgeBaseResponse) => any;
2371
+ /**
2372
+ * @internal
2373
+ */
2374
+ export declare const UpdateKnowledgeBaseRequestFilterSensitiveLog: (obj: UpdateKnowledgeBaseRequest) => any;
2375
+ /**
2376
+ * @internal
2377
+ */
2378
+ export declare const UpdateKnowledgeBaseResponseFilterSensitiveLog: (obj: UpdateKnowledgeBaseResponse) => any;
1595
2379
  /**
1596
2380
  * @internal
1597
2381
  */