-
Notifications
You must be signed in to change notification settings - Fork 20
Expand file tree
/
Copy pathknowledge-bases.ts
More file actions
122 lines (113 loc) · 3.4 KB
/
knowledge-bases.ts
File metadata and controls
122 lines (113 loc) · 3.4 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
import { APIResource } from '../../core/resource';
import * as AgentsAPI from './agents';
import { APIPromise } from '../../core/api-promise';
import { RequestOptions } from '../../internal/request-options';
import { path } from '../../internal/utils/path';
export class KnowledgeBases extends APIResource {
/**
* To attach knowledge bases to an agent, send a POST request to
* `/v2/gen-ai/agents/{agent_uuid}/knowledge_bases`
*
* @example
* ```ts
* const apiLinkKnowledgeBaseOutput =
* await client.agents.knowledgeBases.attach(
* '"123e4567-e89b-12d3-a456-426614174000"',
* );
* ```
*/
attach(agentUuid: string, options?: RequestOptions): APIPromise<APILinkKnowledgeBaseOutput> {
return this._client.post(path`/v2/gen-ai/agents/${agentUuid}/knowledge_bases`, {
defaultBaseURL: 'https://api.digitalocean.com',
...options,
});
}
/**
* To attach a knowledge base to an agent, send a POST request to
* `/v2/gen-ai/agents/{agent_uuid}/knowledge_bases/{knowledge_base_uuid}`
*
* @example
* ```ts
* const apiLinkKnowledgeBaseOutput =
* await client.agents.knowledgeBases.attachSingle(
* '"123e4567-e89b-12d3-a456-426614174000"',
* {
* agent_uuid: '"123e4567-e89b-12d3-a456-426614174000"',
* },
* );
* ```
*/
attachSingle(
knowledgeBaseUuid: string,
params: KnowledgeBaseAttachSingleParams,
options?: RequestOptions,
): APIPromise<APILinkKnowledgeBaseOutput> {
const { agent_uuid } = params;
return this._client.post(path`/v2/gen-ai/agents/${agent_uuid}/knowledge_bases/${knowledgeBaseUuid}`, {
defaultBaseURL: 'https://api.digitalocean.com',
...options,
});
}
/**
* To detach a knowledge base from an agent, send a DELETE request to
* `/v2/gen-ai/agents/{agent_uuid}/knowledge_bases/{knowledge_base_uuid}`.
*
* @example
* ```ts
* const response = await client.agents.knowledgeBases.detach(
* '"123e4567-e89b-12d3-a456-426614174000"',
* { agent_uuid: '"123e4567-e89b-12d3-a456-426614174000"' },
* );
* ```
*/
detach(
knowledgeBaseUuid: string,
params: KnowledgeBaseDetachParams,
options?: RequestOptions,
): APIPromise<KnowledgeBaseDetachResponse> {
const { agent_uuid } = params;
return this._client.delete(path`/v2/gen-ai/agents/${agent_uuid}/knowledge_bases/${knowledgeBaseUuid}`, {
defaultBaseURL: 'https://api.digitalocean.com',
...options,
});
}
}
/**
* Information about a linked knowledge base
*/
export interface APILinkKnowledgeBaseOutput {
/**
* An Agent
*/
agent?: AgentsAPI.APIAgent;
}
/**
* Informatinon about a unlinked knowledge base
*/
export interface KnowledgeBaseDetachResponse {
/**
* An Agent
*/
agent?: AgentsAPI.APIAgent;
}
export interface KnowledgeBaseAttachSingleParams {
/**
* A unique identifier for an agent.
*/
agent_uuid: string;
}
export interface KnowledgeBaseDetachParams {
/**
* Agent id
*/
agent_uuid: string;
}
export declare namespace KnowledgeBases {
export {
type APILinkKnowledgeBaseOutput as APILinkKnowledgeBaseOutput,
type KnowledgeBaseDetachResponse as KnowledgeBaseDetachResponse,
type KnowledgeBaseAttachSingleParams as KnowledgeBaseAttachSingleParams,
type KnowledgeBaseDetachParams as KnowledgeBaseDetachParams,
};
}