@agentuity/core 0.0.47 → 0.0.49
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.
- package/dist/services/_util.d.ts +2 -2
- package/dist/services/_util.d.ts.map +1 -1
- package/dist/services/_util.js +10 -10
- package/dist/services/_util.js.map +1 -1
- package/dist/services/adapter.d.ts +1 -1
- package/dist/services/adapter.d.ts.map +1 -1
- package/dist/services/evalrun.d.ts +40 -5
- package/dist/services/evalrun.d.ts.map +1 -1
- package/dist/services/exception.d.ts +2 -1
- package/dist/services/exception.d.ts.map +1 -1
- package/dist/services/exception.js +3 -1
- package/dist/services/exception.js.map +1 -1
- package/dist/services/keyvalue.d.ts +72 -0
- package/dist/services/keyvalue.d.ts.map +1 -1
- package/dist/services/keyvalue.js +103 -3
- package/dist/services/keyvalue.js.map +1 -1
- package/dist/services/objectstore.d.ts +100 -0
- package/dist/services/objectstore.d.ts.map +1 -1
- package/dist/services/objectstore.js +169 -4
- package/dist/services/objectstore.js.map +1 -1
- package/dist/services/session.d.ts +43 -5
- package/dist/services/session.d.ts.map +1 -1
- package/dist/services/stream.d.ts +60 -8
- package/dist/services/stream.d.ts.map +1 -1
- package/dist/services/stream.js +3 -3
- package/dist/services/stream.js.map +1 -1
- package/dist/services/vector.d.ts +103 -22
- package/dist/services/vector.d.ts.map +1 -1
- package/dist/services/vector.js +4 -4
- package/dist/services/vector.js.map +1 -1
- package/package.json +1 -1
- package/src/services/_util.ts +15 -9
- package/src/services/adapter.ts +1 -1
- package/src/services/evalrun.ts +40 -5
- package/src/services/exception.ts +3 -1
- package/src/services/keyvalue.ts +193 -3
- package/src/services/objectstore.ts +319 -4
- package/src/services/session.ts +43 -5
- package/src/services/stream.ts +63 -11
- package/src/services/vector.ts +107 -26
|
@@ -155,54 +155,135 @@ export interface VectorResultNotFound {
|
|
|
155
155
|
*/
|
|
156
156
|
export type VectorResult<T extends Record<string, unknown> = Record<string, unknown>> = VectorResultFound<T> | VectorResultNotFound;
|
|
157
157
|
/**
|
|
158
|
-
* Vector storage service for managing vector embeddings
|
|
158
|
+
* Vector storage service for managing vector embeddings and semantic search
|
|
159
159
|
*/
|
|
160
160
|
export interface VectorStorage {
|
|
161
161
|
/**
|
|
162
|
-
*
|
|
162
|
+
* Upsert vectors into the vector storage. You can provide either pre-computed embeddings
|
|
163
|
+
* or text documents that will be automatically embedded.
|
|
163
164
|
*
|
|
164
|
-
* @param name - the name of the vector storage
|
|
165
|
-
* @param documents -
|
|
165
|
+
* @param name - the name of the vector storage namespace
|
|
166
|
+
* @param documents - one or more documents to upsert
|
|
166
167
|
* @returns array of results with key-to-id mappings for the upserted vectors
|
|
168
|
+
*
|
|
169
|
+
* @example
|
|
170
|
+
* ```typescript
|
|
171
|
+
* // Upsert with automatic embedding
|
|
172
|
+
* const results = await vectorStore.upsert('products',
|
|
173
|
+
* {
|
|
174
|
+
* key: 'chair-001',
|
|
175
|
+
* document: 'Comfortable office chair with lumbar support',
|
|
176
|
+
* metadata: { category: 'furniture', price: 299 }
|
|
177
|
+
* },
|
|
178
|
+
* {
|
|
179
|
+
* key: 'desk-001',
|
|
180
|
+
* document: 'Standing desk with adjustable height',
|
|
181
|
+
* metadata: { category: 'furniture', price: 599 }
|
|
182
|
+
* }
|
|
183
|
+
* );
|
|
184
|
+
*
|
|
185
|
+
* // Upsert with pre-computed embeddings
|
|
186
|
+
* await vectorStore.upsert('products', {
|
|
187
|
+
* key: 'lamp-001',
|
|
188
|
+
* embeddings: [0.1, 0.2, 0.3, ...], // Your pre-computed vector
|
|
189
|
+
* metadata: { category: 'lighting', price: 49 }
|
|
190
|
+
* });
|
|
191
|
+
* ```
|
|
167
192
|
*/
|
|
168
193
|
upsert(name: string, ...documents: VectorUpsertParams[]): Promise<VectorUpsertResult[]>;
|
|
169
194
|
/**
|
|
170
|
-
*
|
|
195
|
+
* Get a single vector by its key
|
|
171
196
|
*
|
|
172
|
-
* @param name - the name of the vector storage
|
|
173
|
-
* @param key - the key of the vector to
|
|
197
|
+
* @param name - the name of the vector storage namespace
|
|
198
|
+
* @param key - the key of the vector to retrieve
|
|
174
199
|
* @returns VectorResult with exists field for type-safe checking
|
|
200
|
+
*
|
|
201
|
+
* @example
|
|
202
|
+
* ```typescript
|
|
203
|
+
* const result = await vectorStore.get('products', 'chair-001');
|
|
204
|
+
* if (result.exists) {
|
|
205
|
+
* console.log('Found:', result.data.metadata);
|
|
206
|
+
* console.log('Embeddings:', result.data.embeddings);
|
|
207
|
+
* }
|
|
208
|
+
* ```
|
|
175
209
|
*/
|
|
176
210
|
get<T extends Record<string, unknown> = Record<string, unknown>>(name: string, key: string): Promise<VectorResult<T>>;
|
|
177
211
|
/**
|
|
178
|
-
*
|
|
212
|
+
* Get multiple vectors by their keys in a single request
|
|
179
213
|
*
|
|
180
|
-
* @param name - the name of the vector storage
|
|
181
|
-
* @param keys - the keys of the vectors to
|
|
182
|
-
* @returns a Map of key to vector data
|
|
214
|
+
* @param name - the name of the vector storage namespace
|
|
215
|
+
* @param keys - the keys of the vectors to retrieve
|
|
216
|
+
* @returns a Map of key to vector data (only includes found vectors)
|
|
217
|
+
*
|
|
218
|
+
* @example
|
|
219
|
+
* ```typescript
|
|
220
|
+
* const vectors = await vectorStore.getMany('products', 'chair-001', 'desk-001', 'lamp-001');
|
|
221
|
+
* for (const [key, data] of vectors) {
|
|
222
|
+
* console.log(`${key}:`, data.metadata);
|
|
223
|
+
* }
|
|
224
|
+
* ```
|
|
183
225
|
*/
|
|
184
226
|
getMany<T extends Record<string, unknown> = Record<string, unknown>>(name: string, ...keys: string[]): Promise<Map<string, VectorSearchResultWithDocument<T>>>;
|
|
185
227
|
/**
|
|
186
|
-
*
|
|
228
|
+
* Search for semantically similar vectors using natural language queries
|
|
229
|
+
*
|
|
230
|
+
* @param name - the name of the vector storage namespace
|
|
231
|
+
* @param params - search parameters including query, filters, and limits
|
|
232
|
+
* @returns array of search results ordered by similarity (highest first)
|
|
187
233
|
*
|
|
188
|
-
* @
|
|
189
|
-
*
|
|
190
|
-
*
|
|
234
|
+
* @example
|
|
235
|
+
* ```typescript
|
|
236
|
+
* // Basic semantic search
|
|
237
|
+
* const results = await vectorStore.search('products', {
|
|
238
|
+
* query: 'comfortable seating for office',
|
|
239
|
+
* limit: 5
|
|
240
|
+
* });
|
|
241
|
+
*
|
|
242
|
+
* // Search with metadata filters and similarity threshold
|
|
243
|
+
* const filteredResults = await vectorStore.search('products', {
|
|
244
|
+
* query: 'ergonomic furniture',
|
|
245
|
+
* limit: 10,
|
|
246
|
+
* similarity: 0.7, // Only results with 70%+ similarity
|
|
247
|
+
* metadata: { category: 'furniture', inStock: true }
|
|
248
|
+
* });
|
|
249
|
+
*
|
|
250
|
+
* for (const result of filteredResults) {
|
|
251
|
+
* console.log(`${result.key}: ${result.similarity * 100}% match`);
|
|
252
|
+
* console.log('Metadata:', result.metadata);
|
|
253
|
+
* }
|
|
254
|
+
* ```
|
|
191
255
|
*/
|
|
192
256
|
search<T extends Record<string, unknown> = Record<string, unknown>>(name: string, params: VectorSearchParams<T>): Promise<VectorSearchResult<T>[]>;
|
|
193
257
|
/**
|
|
194
|
-
*
|
|
258
|
+
* Delete one or more vectors by their keys
|
|
259
|
+
*
|
|
260
|
+
* @param name - the name of the vector storage namespace
|
|
261
|
+
* @param keys - one or more keys of vectors to delete
|
|
262
|
+
* @returns the number of vectors that were deleted
|
|
195
263
|
*
|
|
196
|
-
* @
|
|
197
|
-
*
|
|
198
|
-
*
|
|
264
|
+
* @example
|
|
265
|
+
* ```typescript
|
|
266
|
+
* // Delete a single vector
|
|
267
|
+
* const deleted = await vectorStore.delete('products', 'chair-001');
|
|
268
|
+
* console.log(`Deleted ${deleted} vector(s)`);
|
|
269
|
+
*
|
|
270
|
+
* // Delete multiple vectors
|
|
271
|
+
* await vectorStore.delete('products', 'chair-001', 'desk-001', 'lamp-001');
|
|
272
|
+
* ```
|
|
199
273
|
*/
|
|
200
274
|
delete(name: string, ...keys: string[]): Promise<number>;
|
|
201
275
|
/**
|
|
202
|
-
*
|
|
276
|
+
* Check if a vector storage namespace exists
|
|
277
|
+
*
|
|
278
|
+
* @param name - the name of the vector storage namespace
|
|
279
|
+
* @returns true if the namespace exists, false otherwise
|
|
203
280
|
*
|
|
204
|
-
* @
|
|
205
|
-
*
|
|
281
|
+
* @example
|
|
282
|
+
* ```typescript
|
|
283
|
+
* if (await vectorStore.exists('products')) {
|
|
284
|
+
* console.log('Products namespace exists');
|
|
285
|
+
* }
|
|
286
|
+
* ```
|
|
206
287
|
*/
|
|
207
288
|
exists(name: string): Promise<boolean>;
|
|
208
289
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vector.d.ts","sourceRoot":"","sources":["../../src/services/vector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAIzC;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAChC;;OAEG;IACH,GAAG,EAAE,MAAM,CAAC;IAEZ;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC;AAED;;GAEG;AACH,MAAM,WAAW,sBAAuB,SAAQ,gBAAgB;IAC/D;;OAEG;IACH,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAC1B,QAAQ,CAAC,EAAE,KAAK,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAiB,SAAQ,gBAAgB;IACzD;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,KAAK,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG,sBAAsB,GAAG,gBAAgB,CAAC;AAE3E;;GAEG;AACH,MAAM,WAAW,kBAAkB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAC9F;;;;;;OAMG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;;;;;;OAOG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;;;;;;;;OASG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE,CAAC,CAAC;CACb;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAC9F;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IAEX;;OAEG;IACH,GAAG,EAAE,MAAM,CAAC;IAEZ;;OAEG;IACH,QAAQ,CAAC,EAAE,CAAC,CAAC;IAEb;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,8BAA8B,CAC9C,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAC1D,SAAQ,kBAAkB,CAAC,CAAC,CAAC;IAC9B;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,UAAU,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IAClC;;OAEG;IACH,GAAG,EAAE,MAAM,CAAC;IAEZ;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;CACX;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAC7F;;OAEG;IACH,IAAI,EAAE,8BAA8B,CAAC,CAAC,CAAC,CAAC;IAExC;;OAEG;IACH,MAAM,EAAE,IAAI,CAAC;CACb;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACpC;;OAEG;IACH,IAAI,EAAE,KAAK,CAAC;IAEZ;;OAEG;IACH,MAAM,EAAE,KAAK,CAAC;CACd;AAED;;GAEG;AACH,MAAM,MAAM,YAAY,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IACjF,iBAAiB,CAAC,CAAC,CAAC,GACpB,oBAAoB,CAAC;AAExB;;GAEG;AACH,MAAM,WAAW,aAAa;IAC7B
|
|
1
|
+
{"version":3,"file":"vector.d.ts","sourceRoot":"","sources":["../../src/services/vector.ts"],"names":[],"mappings":"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"}
|
package/dist/services/vector.js
CHANGED
|
@@ -58,7 +58,7 @@ export class VectorStorageService {
|
|
|
58
58
|
throw new Error(res.data.message);
|
|
59
59
|
}
|
|
60
60
|
}
|
|
61
|
-
throw await toServiceException(url, res.response);
|
|
61
|
+
throw await toServiceException(url, 'PUT', res.response);
|
|
62
62
|
}
|
|
63
63
|
async get(name, key) {
|
|
64
64
|
if (!name || typeof name !== 'string' || name.trim().length === 0) {
|
|
@@ -94,7 +94,7 @@ export class VectorStorageService {
|
|
|
94
94
|
throw new Error(res.data.message);
|
|
95
95
|
}
|
|
96
96
|
}
|
|
97
|
-
throw await toServiceException(url, res.response);
|
|
97
|
+
throw await toServiceException(url, 'DELETE', res.response);
|
|
98
98
|
}
|
|
99
99
|
async getMany(name, ...keys) {
|
|
100
100
|
if (!name || typeof name !== 'string' || name.trim().length === 0) {
|
|
@@ -174,7 +174,7 @@ export class VectorStorageService {
|
|
|
174
174
|
throw new Error(res.data.message);
|
|
175
175
|
}
|
|
176
176
|
}
|
|
177
|
-
throw await toServiceException(url, res.response);
|
|
177
|
+
throw await toServiceException(url, 'POST', res.response);
|
|
178
178
|
}
|
|
179
179
|
async delete(name, ...keys) {
|
|
180
180
|
if (!name || typeof name !== 'string' || name.trim().length === 0) {
|
|
@@ -218,7 +218,7 @@ export class VectorStorageService {
|
|
|
218
218
|
throw new Error(res.data.message);
|
|
219
219
|
}
|
|
220
220
|
}
|
|
221
|
-
throw await toServiceException(url, res.response);
|
|
221
|
+
throw await toServiceException(url, 'DELETE', res.response);
|
|
222
222
|
}
|
|
223
223
|
async exists(name) {
|
|
224
224
|
if (!name || typeof name !== 'string' || name.trim().length === 0) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vector.js","sourceRoot":"","sources":["../../src/services/vector.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"vector.js","sourceRoot":"","sources":["../../src/services/vector.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/services/_util.ts
CHANGED
|
@@ -21,15 +21,16 @@ export const buildUrl = (
|
|
|
21
21
|
};
|
|
22
22
|
|
|
23
23
|
export async function toServiceException(
|
|
24
|
+
method: string,
|
|
24
25
|
url: string,
|
|
25
26
|
response: Response
|
|
26
27
|
): Promise<ServiceException> {
|
|
27
28
|
switch (response.status) {
|
|
28
29
|
case 401:
|
|
29
30
|
case 403:
|
|
30
|
-
return new ServiceException('Unauthorized', url, response.status);
|
|
31
|
+
return new ServiceException('Unauthorized', method, url, response.status);
|
|
31
32
|
case 404:
|
|
32
|
-
return new ServiceException('Not Found', url, response.status);
|
|
33
|
+
return new ServiceException('Not Found', method, url, response.status);
|
|
33
34
|
default:
|
|
34
35
|
}
|
|
35
36
|
const ct = response.headers.get('content-type');
|
|
@@ -37,24 +38,24 @@ export async function toServiceException(
|
|
|
37
38
|
try {
|
|
38
39
|
const payload = (await response.json()) as { message?: string; error?: string };
|
|
39
40
|
if (payload.error) {
|
|
40
|
-
return new ServiceException(payload.error, url, response.status);
|
|
41
|
+
return new ServiceException(payload.error, method, url, response.status);
|
|
41
42
|
}
|
|
42
43
|
if (payload.message) {
|
|
43
|
-
return new ServiceException(payload.message, url, response.status);
|
|
44
|
+
return new ServiceException(payload.message, method, url, response.status);
|
|
44
45
|
}
|
|
45
|
-
return new ServiceException(JSON.stringify(payload), url, response.status);
|
|
46
|
+
return new ServiceException(JSON.stringify(payload), method, url, response.status);
|
|
46
47
|
} catch {
|
|
47
48
|
/** don't worry */
|
|
48
49
|
}
|
|
49
50
|
}
|
|
50
51
|
try {
|
|
51
52
|
const body = await response.text();
|
|
52
|
-
return new ServiceException(body, url, response.status);
|
|
53
|
+
return new ServiceException(body, method, url, response.status);
|
|
53
54
|
} catch {
|
|
54
55
|
/* fall through */
|
|
55
56
|
}
|
|
56
57
|
|
|
57
|
-
return new ServiceException(response.statusText, url, response.status);
|
|
58
|
+
return new ServiceException(response.statusText, method, url, response.status);
|
|
58
59
|
}
|
|
59
60
|
|
|
60
61
|
const binaryContentType = 'application/octet-stream';
|
|
@@ -105,7 +106,7 @@ export async function toPayload(data: unknown): Promise<[Body, string]> {
|
|
|
105
106
|
return ['', textContentType];
|
|
106
107
|
}
|
|
107
108
|
|
|
108
|
-
export async function fromResponse<T>(url: string, response: Response): Promise<T> {
|
|
109
|
+
export async function fromResponse<T>(method: string, url: string, response: Response): Promise<T> {
|
|
109
110
|
const contentType = response.headers.get('content-type');
|
|
110
111
|
if (!contentType || contentType?.includes('/json')) {
|
|
111
112
|
return (await response.json()) as T;
|
|
@@ -116,5 +117,10 @@ export async function fromResponse<T>(url: string, response: Response): Promise<
|
|
|
116
117
|
if (contentType?.includes(binaryContentType)) {
|
|
117
118
|
return (await response.arrayBuffer()) as T;
|
|
118
119
|
}
|
|
119
|
-
throw new ServiceException(
|
|
120
|
+
throw new ServiceException(
|
|
121
|
+
`Unsupported content-type: ${contentType}`,
|
|
122
|
+
method,
|
|
123
|
+
url,
|
|
124
|
+
response.status
|
|
125
|
+
);
|
|
120
126
|
}
|
package/src/services/adapter.ts
CHANGED
|
@@ -15,7 +15,7 @@ export type FetchResponse<T> = FetchErrorResponse | FetchSuccessResponse<T>;
|
|
|
15
15
|
export type Body = string | Buffer | ArrayBuffer | ReadableStream;
|
|
16
16
|
|
|
17
17
|
export interface FetchRequest {
|
|
18
|
-
method: 'GET' | 'PUT' | 'POST' | 'DELETE';
|
|
18
|
+
method: 'GET' | 'PUT' | 'POST' | 'DELETE' | 'HEAD';
|
|
19
19
|
body?: Body;
|
|
20
20
|
signal?: AbortSignal;
|
|
21
21
|
contentType?: string;
|
package/src/services/evalrun.ts
CHANGED
|
@@ -34,20 +34,55 @@ export const EvalRunCompleteEventDelayedSchema = z.intersection(
|
|
|
34
34
|
);
|
|
35
35
|
|
|
36
36
|
/**
|
|
37
|
-
* EvalRunEventProvider is a provider for logging
|
|
37
|
+
* EvalRunEventProvider is a provider for logging and tracking agent evaluation run lifecycle events.
|
|
38
|
+
* Eval runs represent test executions of agents for quality assurance and performance monitoring.
|
|
38
39
|
*/
|
|
39
40
|
export interface EvalRunEventProvider {
|
|
40
41
|
/**
|
|
41
|
-
*
|
|
42
|
+
* Called when an agent evaluation run starts. Records the initial context including
|
|
43
|
+
* the evaluation ID, associated session, and organization/project metadata.
|
|
42
44
|
*
|
|
43
|
-
* @param event EvalRunStartEvent
|
|
45
|
+
* @param event - EvalRunStartEvent containing evaluation initialization data
|
|
46
|
+
*
|
|
47
|
+
* @example
|
|
48
|
+
* ```typescript
|
|
49
|
+
* await evalProvider.start({
|
|
50
|
+
* id: 'eval-run-123',
|
|
51
|
+
* sessionId: 'session-abc',
|
|
52
|
+
* evalId: 'eval-def',
|
|
53
|
+
* orgId: 'org-456',
|
|
54
|
+
* projectId: 'proj-789',
|
|
55
|
+
* devmode: true
|
|
56
|
+
* });
|
|
57
|
+
* ```
|
|
44
58
|
*/
|
|
45
59
|
start(event: EvalRunStartEvent): Promise<void>;
|
|
46
60
|
|
|
47
61
|
/**
|
|
48
|
-
*
|
|
62
|
+
* Called when an agent evaluation run completes (successfully or with error).
|
|
63
|
+
* Records final results, metrics, and any errors encountered during evaluation.
|
|
64
|
+
*
|
|
65
|
+
* @param event - EvalRunCompleteEvent containing evaluation results and status
|
|
66
|
+
*
|
|
67
|
+
* @example
|
|
68
|
+
* ```typescript
|
|
69
|
+
* // Successful evaluation completion
|
|
70
|
+
* await evalProvider.complete({
|
|
71
|
+
* id: 'eval-run-123',
|
|
72
|
+
* result: {
|
|
73
|
+
* passed: true,
|
|
74
|
+
* score: 0.95,
|
|
75
|
+
* metrics: { latency: 250, accuracy: 0.98 }
|
|
76
|
+
* }
|
|
77
|
+
* });
|
|
49
78
|
*
|
|
50
|
-
*
|
|
79
|
+
* // Evaluation with error
|
|
80
|
+
* await evalProvider.complete({
|
|
81
|
+
* id: 'eval-run-123',
|
|
82
|
+
* error: 'Agent timeout after 30 seconds',
|
|
83
|
+
* result: { passed: false }
|
|
84
|
+
* });
|
|
85
|
+
* ```
|
|
51
86
|
*/
|
|
52
87
|
complete(event: EvalRunCompleteEvent): Promise<void>;
|
|
53
88
|
}
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
export class ServiceException extends Error {
|
|
2
2
|
statusCode: number;
|
|
3
|
+
method: string;
|
|
3
4
|
url: string;
|
|
4
|
-
constructor(message: string, url: string, statusCode: number) {
|
|
5
|
+
constructor(message: string, method: string, url: string, statusCode: number) {
|
|
5
6
|
super(message);
|
|
7
|
+
this.method = method;
|
|
6
8
|
this.url = url;
|
|
7
9
|
this.statusCode = statusCode;
|
|
8
10
|
}
|
package/src/services/keyvalue.ts
CHANGED
|
@@ -48,6 +48,27 @@ export interface KeyValueStorageSetParams {
|
|
|
48
48
|
contentType?: string;
|
|
49
49
|
}
|
|
50
50
|
|
|
51
|
+
/**
|
|
52
|
+
* Statistics for a key-value store namespace
|
|
53
|
+
*/
|
|
54
|
+
export interface KeyValueStats {
|
|
55
|
+
sum: number;
|
|
56
|
+
count: number;
|
|
57
|
+
createdAt?: number;
|
|
58
|
+
lastUsedAt?: number;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
/**
|
|
62
|
+
* Item with metadata from search results
|
|
63
|
+
*/
|
|
64
|
+
export interface KeyValueItemWithMetadata<T = unknown> {
|
|
65
|
+
value: T;
|
|
66
|
+
contentType: string;
|
|
67
|
+
size: number;
|
|
68
|
+
created_at: string;
|
|
69
|
+
updated_at: string;
|
|
70
|
+
}
|
|
71
|
+
|
|
51
72
|
export interface KeyValueStorage {
|
|
52
73
|
/**
|
|
53
74
|
* get a value from the key value storage
|
|
@@ -80,6 +101,62 @@ export interface KeyValueStorage {
|
|
|
80
101
|
* @param key - the key to delete
|
|
81
102
|
*/
|
|
82
103
|
delete(name: string, key: string): Promise<void>;
|
|
104
|
+
|
|
105
|
+
/**
|
|
106
|
+
* get statistics for a specific namespace
|
|
107
|
+
*
|
|
108
|
+
* @param name - the name of the key value storage
|
|
109
|
+
* @returns statistics for the namespace
|
|
110
|
+
*/
|
|
111
|
+
getStats(name: string): Promise<KeyValueStats>;
|
|
112
|
+
|
|
113
|
+
/**
|
|
114
|
+
* get statistics for all namespaces
|
|
115
|
+
*
|
|
116
|
+
* @returns map of namespace names to statistics
|
|
117
|
+
*/
|
|
118
|
+
getAllStats(): Promise<Record<string, KeyValueStats>>;
|
|
119
|
+
|
|
120
|
+
/**
|
|
121
|
+
* get all namespace names
|
|
122
|
+
*
|
|
123
|
+
* @returns array of namespace names
|
|
124
|
+
*/
|
|
125
|
+
getNamespaces(): Promise<string[]>;
|
|
126
|
+
|
|
127
|
+
/**
|
|
128
|
+
* search for keys matching a keyword
|
|
129
|
+
*
|
|
130
|
+
* @param name - the name of the key value storage
|
|
131
|
+
* @param keyword - the keyword to search for
|
|
132
|
+
* @returns map of keys to items with metadata
|
|
133
|
+
*/
|
|
134
|
+
search<T = unknown>(
|
|
135
|
+
name: string,
|
|
136
|
+
keyword: string
|
|
137
|
+
): Promise<Record<string, KeyValueItemWithMetadata<T>>>;
|
|
138
|
+
|
|
139
|
+
/**
|
|
140
|
+
* get all keys in a namespace
|
|
141
|
+
*
|
|
142
|
+
* @param name - the name of the key value storage
|
|
143
|
+
* @returns array of keys
|
|
144
|
+
*/
|
|
145
|
+
getKeys(name: string): Promise<string[]>;
|
|
146
|
+
|
|
147
|
+
/**
|
|
148
|
+
* delete all keys in a namespace
|
|
149
|
+
*
|
|
150
|
+
* @param name - the name of the key value storage
|
|
151
|
+
*/
|
|
152
|
+
deleteNamespace(name: string): Promise<void>;
|
|
153
|
+
|
|
154
|
+
/**
|
|
155
|
+
* create a new namespace
|
|
156
|
+
*
|
|
157
|
+
* @param name - the name of the key value storage to create
|
|
158
|
+
*/
|
|
159
|
+
createNamespace(name: string): Promise<void>;
|
|
83
160
|
}
|
|
84
161
|
|
|
85
162
|
export class KeyValueStorageService implements KeyValueStorage {
|
|
@@ -118,7 +195,7 @@ export class KeyValueStorageService implements KeyValueStorage {
|
|
|
118
195
|
if (res.response.status === 404) {
|
|
119
196
|
return { exists: false } as DataResultNotFound;
|
|
120
197
|
}
|
|
121
|
-
throw await toServiceException(url, res.response);
|
|
198
|
+
throw await toServiceException(url, 'GET', res.response);
|
|
122
199
|
}
|
|
123
200
|
|
|
124
201
|
async set<T = unknown>(
|
|
@@ -157,7 +234,7 @@ export class KeyValueStorageService implements KeyValueStorage {
|
|
|
157
234
|
if (res.ok) {
|
|
158
235
|
return;
|
|
159
236
|
}
|
|
160
|
-
throw await toServiceException(url, res.response);
|
|
237
|
+
throw await toServiceException(url, 'PUT', res.response);
|
|
161
238
|
}
|
|
162
239
|
|
|
163
240
|
async delete(name: string, key: string): Promise<void> {
|
|
@@ -180,6 +257,119 @@ export class KeyValueStorageService implements KeyValueStorage {
|
|
|
180
257
|
if (res.ok) {
|
|
181
258
|
return;
|
|
182
259
|
}
|
|
183
|
-
throw await toServiceException(url, res.response);
|
|
260
|
+
throw await toServiceException(url, 'DELETE', res.response);
|
|
261
|
+
}
|
|
262
|
+
|
|
263
|
+
async getStats(name: string): Promise<KeyValueStats> {
|
|
264
|
+
const url = buildUrl(this.#baseUrl, `/kv/2025-03-17/stats/${encodeURIComponent(name)}`);
|
|
265
|
+
const signal = AbortSignal.timeout(10_000);
|
|
266
|
+
const res = await this.#adapter.invoke<KeyValueStats>(url, {
|
|
267
|
+
method: 'GET',
|
|
268
|
+
signal,
|
|
269
|
+
telemetry: {
|
|
270
|
+
name: 'agentuity.keyvalue.getStats',
|
|
271
|
+
attributes: { name },
|
|
272
|
+
},
|
|
273
|
+
});
|
|
274
|
+
if (res.ok) {
|
|
275
|
+
return res.data;
|
|
276
|
+
}
|
|
277
|
+
throw await toServiceException(url, 'GET', res.response);
|
|
278
|
+
}
|
|
279
|
+
|
|
280
|
+
async getAllStats(): Promise<Record<string, KeyValueStats>> {
|
|
281
|
+
const url = buildUrl(this.#baseUrl, '/kv/2025-03-17/stats');
|
|
282
|
+
const signal = AbortSignal.timeout(10_000);
|
|
283
|
+
const res = await this.#adapter.invoke<Record<string, KeyValueStats>>(url, {
|
|
284
|
+
method: 'GET',
|
|
285
|
+
signal,
|
|
286
|
+
telemetry: {
|
|
287
|
+
name: 'agentuity.keyvalue.getAllStats',
|
|
288
|
+
attributes: {},
|
|
289
|
+
},
|
|
290
|
+
});
|
|
291
|
+
if (res.ok) {
|
|
292
|
+
return res.data;
|
|
293
|
+
}
|
|
294
|
+
throw await toServiceException(url, 'GET', res.response);
|
|
295
|
+
}
|
|
296
|
+
|
|
297
|
+
async getNamespaces(): Promise<string[]> {
|
|
298
|
+
const stats = await this.getAllStats();
|
|
299
|
+
return Object.keys(stats);
|
|
300
|
+
}
|
|
301
|
+
|
|
302
|
+
async search<T = unknown>(
|
|
303
|
+
name: string,
|
|
304
|
+
keyword: string
|
|
305
|
+
): Promise<Record<string, KeyValueItemWithMetadata<T>>> {
|
|
306
|
+
const url = buildUrl(
|
|
307
|
+
this.#baseUrl,
|
|
308
|
+
`/kv/2025-03-17/search/${encodeURIComponent(name)}/${encodeURIComponent(keyword)}`
|
|
309
|
+
);
|
|
310
|
+
const signal = AbortSignal.timeout(30_000);
|
|
311
|
+
const res = await this.#adapter.invoke<Record<string, KeyValueItemWithMetadata<T>>>(url, {
|
|
312
|
+
method: 'GET',
|
|
313
|
+
signal,
|
|
314
|
+
telemetry: {
|
|
315
|
+
name: 'agentuity.keyvalue.search',
|
|
316
|
+
attributes: { name, keyword },
|
|
317
|
+
},
|
|
318
|
+
});
|
|
319
|
+
if (res.ok) {
|
|
320
|
+
return res.data;
|
|
321
|
+
}
|
|
322
|
+
throw await toServiceException(url, 'GET', res.response);
|
|
323
|
+
}
|
|
324
|
+
|
|
325
|
+
async getKeys(name: string): Promise<string[]> {
|
|
326
|
+
const url = buildUrl(this.#baseUrl, `/kv/2025-03-17/keys/${encodeURIComponent(name)}`);
|
|
327
|
+
const signal = AbortSignal.timeout(30_000);
|
|
328
|
+
const res = await this.#adapter.invoke<string[]>(url, {
|
|
329
|
+
method: 'GET',
|
|
330
|
+
signal,
|
|
331
|
+
telemetry: {
|
|
332
|
+
name: 'agentuity.keyvalue.getKeys',
|
|
333
|
+
attributes: { name },
|
|
334
|
+
},
|
|
335
|
+
});
|
|
336
|
+
if (res.ok) {
|
|
337
|
+
return res.data;
|
|
338
|
+
}
|
|
339
|
+
throw await toServiceException(url, 'GET', res.response);
|
|
340
|
+
}
|
|
341
|
+
|
|
342
|
+
async deleteNamespace(name: string): Promise<void> {
|
|
343
|
+
const url = buildUrl(this.#baseUrl, `/kv/2025-03-17/${encodeURIComponent(name)}`);
|
|
344
|
+
const signal = AbortSignal.timeout(30_000);
|
|
345
|
+
const res = await this.#adapter.invoke(url, {
|
|
346
|
+
method: 'DELETE',
|
|
347
|
+
signal,
|
|
348
|
+
telemetry: {
|
|
349
|
+
name: 'agentuity.keyvalue.deleteNamespace',
|
|
350
|
+
attributes: { name },
|
|
351
|
+
},
|
|
352
|
+
});
|
|
353
|
+
if (res.ok) {
|
|
354
|
+
return;
|
|
355
|
+
}
|
|
356
|
+
throw await toServiceException(url, 'DELETE', res.response);
|
|
357
|
+
}
|
|
358
|
+
|
|
359
|
+
async createNamespace(name: string): Promise<void> {
|
|
360
|
+
const url = buildUrl(this.#baseUrl, `/kv/2025-03-17/${encodeURIComponent(name)}`);
|
|
361
|
+
const signal = AbortSignal.timeout(10_000);
|
|
362
|
+
const res = await this.#adapter.invoke(url, {
|
|
363
|
+
method: 'POST',
|
|
364
|
+
signal,
|
|
365
|
+
telemetry: {
|
|
366
|
+
name: 'agentuity.keyvalue.createNamespace',
|
|
367
|
+
attributes: { name },
|
|
368
|
+
},
|
|
369
|
+
});
|
|
370
|
+
if (res.ok) {
|
|
371
|
+
return;
|
|
372
|
+
}
|
|
373
|
+
throw await toServiceException(url, 'POST', res.response);
|
|
184
374
|
}
|
|
185
375
|
}
|