@agentuity/runtime 0.1.13 → 0.1.14
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/package.json +8 -8
- package/src/_config.ts +13 -0
- package/src/_standalone.ts +167 -19
- package/src/index.ts +1 -0
- package/dist/_config.d.ts +0 -90
- package/dist/_config.d.ts.map +0 -1
- package/dist/_config.js +0 -135
- package/dist/_config.js.map +0 -1
- package/dist/_context.d.ts +0 -76
- package/dist/_context.d.ts.map +0 -1
- package/dist/_context.js +0 -147
- package/dist/_context.js.map +0 -1
- package/dist/_events.d.ts +0 -64
- package/dist/_events.d.ts.map +0 -1
- package/dist/_events.js +0 -92
- package/dist/_events.js.map +0 -1
- package/dist/_idle.d.ts +0 -7
- package/dist/_idle.d.ts.map +0 -1
- package/dist/_idle.js +0 -10
- package/dist/_idle.js.map +0 -1
- package/dist/_metadata.d.ts +0 -117
- package/dist/_metadata.d.ts.map +0 -1
- package/dist/_metadata.js +0 -246
- package/dist/_metadata.js.map +0 -1
- package/dist/_process-protection.d.ts +0 -25
- package/dist/_process-protection.d.ts.map +0 -1
- package/dist/_process-protection.js +0 -65
- package/dist/_process-protection.js.map +0 -1
- package/dist/_server.d.ts +0 -46
- package/dist/_server.d.ts.map +0 -1
- package/dist/_server.js +0 -85
- package/dist/_server.js.map +0 -1
- package/dist/_services.d.ts +0 -21
- package/dist/_services.d.ts.map +0 -1
- package/dist/_services.js +0 -248
- package/dist/_services.js.map +0 -1
- package/dist/_standalone.d.ts +0 -168
- package/dist/_standalone.d.ts.map +0 -1
- package/dist/_standalone.js +0 -441
- package/dist/_standalone.js.map +0 -1
- package/dist/_tokens.d.ts +0 -12
- package/dist/_tokens.d.ts.map +0 -1
- package/dist/_tokens.js +0 -96
- package/dist/_tokens.js.map +0 -1
- package/dist/_util.d.ts +0 -16
- package/dist/_util.d.ts.map +0 -1
- package/dist/_util.js +0 -54
- package/dist/_util.js.map +0 -1
- package/dist/_validation.d.ts +0 -89
- package/dist/_validation.d.ts.map +0 -1
- package/dist/_validation.js +0 -29
- package/dist/_validation.js.map +0 -1
- package/dist/_waituntil.d.ts +0 -18
- package/dist/_waituntil.d.ts.map +0 -1
- package/dist/_waituntil.js +0 -97
- package/dist/_waituntil.js.map +0 -1
- package/dist/agent.d.ts +0 -1210
- package/dist/agent.d.ts.map +0 -1
- package/dist/agent.js +0 -903
- package/dist/agent.js.map +0 -1
- package/dist/app.d.ts +0 -322
- package/dist/app.d.ts.map +0 -1
- package/dist/app.js +0 -160
- package/dist/app.js.map +0 -1
- package/dist/bun-s3-patch.d.ts +0 -37
- package/dist/bun-s3-patch.d.ts.map +0 -1
- package/dist/bun-s3-patch.js +0 -139
- package/dist/bun-s3-patch.js.map +0 -1
- package/dist/cors.d.ts +0 -42
- package/dist/cors.d.ts.map +0 -1
- package/dist/cors.js +0 -117
- package/dist/cors.js.map +0 -1
- package/dist/devmode.d.ts +0 -3
- package/dist/devmode.d.ts.map +0 -1
- package/dist/devmode.js +0 -167
- package/dist/devmode.js.map +0 -1
- package/dist/eval.d.ts +0 -91
- package/dist/eval.d.ts.map +0 -1
- package/dist/eval.js +0 -16
- package/dist/eval.js.map +0 -1
- package/dist/handlers/cron.d.ts +0 -47
- package/dist/handlers/cron.d.ts.map +0 -1
- package/dist/handlers/cron.js +0 -49
- package/dist/handlers/cron.js.map +0 -1
- package/dist/handlers/index.d.ts +0 -5
- package/dist/handlers/index.d.ts.map +0 -1
- package/dist/handlers/index.js +0 -5
- package/dist/handlers/index.js.map +0 -1
- package/dist/handlers/sse.d.ts +0 -91
- package/dist/handlers/sse.d.ts.map +0 -1
- package/dist/handlers/sse.js +0 -213
- package/dist/handlers/sse.js.map +0 -1
- package/dist/handlers/stream.d.ts +0 -52
- package/dist/handlers/stream.d.ts.map +0 -1
- package/dist/handlers/stream.js +0 -116
- package/dist/handlers/stream.js.map +0 -1
- package/dist/handlers/websocket.d.ts +0 -49
- package/dist/handlers/websocket.d.ts.map +0 -1
- package/dist/handlers/websocket.js +0 -143
- package/dist/handlers/websocket.js.map +0 -1
- package/dist/index.d.ts +0 -71
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js +0 -58
- package/dist/index.js.map +0 -1
- package/dist/logger/console.d.ts +0 -70
- package/dist/logger/console.d.ts.map +0 -1
- package/dist/logger/console.js +0 -274
- package/dist/logger/console.js.map +0 -1
- package/dist/logger/index.d.ts +0 -3
- package/dist/logger/index.d.ts.map +0 -1
- package/dist/logger/index.js +0 -3
- package/dist/logger/index.js.map +0 -1
- package/dist/logger/internal.d.ts +0 -79
- package/dist/logger/internal.d.ts.map +0 -1
- package/dist/logger/internal.js +0 -133
- package/dist/logger/internal.js.map +0 -1
- package/dist/logger/logger.d.ts +0 -41
- package/dist/logger/logger.d.ts.map +0 -1
- package/dist/logger/logger.js +0 -2
- package/dist/logger/logger.js.map +0 -1
- package/dist/logger/user.d.ts +0 -8
- package/dist/logger/user.d.ts.map +0 -1
- package/dist/logger/user.js +0 -7
- package/dist/logger/user.js.map +0 -1
- package/dist/logger/util.d.ts +0 -11
- package/dist/logger/util.d.ts.map +0 -1
- package/dist/logger/util.js +0 -77
- package/dist/logger/util.js.map +0 -1
- package/dist/middleware.d.ts +0 -112
- package/dist/middleware.d.ts.map +0 -1
- package/dist/middleware.js +0 -507
- package/dist/middleware.js.map +0 -1
- package/dist/otel/config.d.ts +0 -19
- package/dist/otel/config.d.ts.map +0 -1
- package/dist/otel/config.js +0 -26
- package/dist/otel/config.js.map +0 -1
- package/dist/otel/console.d.ts +0 -33
- package/dist/otel/console.d.ts.map +0 -1
- package/dist/otel/console.js +0 -86
- package/dist/otel/console.js.map +0 -1
- package/dist/otel/exporters/index.d.ts +0 -4
- package/dist/otel/exporters/index.d.ts.map +0 -1
- package/dist/otel/exporters/index.js +0 -4
- package/dist/otel/exporters/index.js.map +0 -1
- package/dist/otel/exporters/jsonl-log-exporter.d.ts +0 -36
- package/dist/otel/exporters/jsonl-log-exporter.d.ts.map +0 -1
- package/dist/otel/exporters/jsonl-log-exporter.js +0 -103
- package/dist/otel/exporters/jsonl-log-exporter.js.map +0 -1
- package/dist/otel/exporters/jsonl-metric-exporter.d.ts +0 -40
- package/dist/otel/exporters/jsonl-metric-exporter.d.ts.map +0 -1
- package/dist/otel/exporters/jsonl-metric-exporter.js +0 -104
- package/dist/otel/exporters/jsonl-metric-exporter.js.map +0 -1
- package/dist/otel/exporters/jsonl-trace-exporter.d.ts +0 -36
- package/dist/otel/exporters/jsonl-trace-exporter.d.ts.map +0 -1
- package/dist/otel/exporters/jsonl-trace-exporter.js +0 -111
- package/dist/otel/exporters/jsonl-trace-exporter.js.map +0 -1
- package/dist/otel/fetch.d.ts +0 -12
- package/dist/otel/fetch.d.ts.map +0 -1
- package/dist/otel/fetch.js +0 -82
- package/dist/otel/fetch.js.map +0 -1
- package/dist/otel/http.d.ts +0 -16
- package/dist/otel/http.d.ts.map +0 -1
- package/dist/otel/http.js +0 -44
- package/dist/otel/http.js.map +0 -1
- package/dist/otel/logger.d.ts +0 -37
- package/dist/otel/logger.d.ts.map +0 -1
- package/dist/otel/logger.js +0 -268
- package/dist/otel/logger.js.map +0 -1
- package/dist/otel/otel.d.ts +0 -65
- package/dist/otel/otel.d.ts.map +0 -1
- package/dist/otel/otel.js +0 -261
- package/dist/otel/otel.js.map +0 -1
- package/dist/router.d.ts +0 -100
- package/dist/router.d.ts.map +0 -1
- package/dist/router.js +0 -163
- package/dist/router.js.map +0 -1
- package/dist/services/evalrun/composite.d.ts +0 -21
- package/dist/services/evalrun/composite.d.ts.map +0 -1
- package/dist/services/evalrun/composite.js +0 -26
- package/dist/services/evalrun/composite.js.map +0 -1
- package/dist/services/evalrun/http.d.ts +0 -24
- package/dist/services/evalrun/http.d.ts.map +0 -1
- package/dist/services/evalrun/http.js +0 -86
- package/dist/services/evalrun/http.js.map +0 -1
- package/dist/services/evalrun/index.d.ts +0 -5
- package/dist/services/evalrun/index.d.ts.map +0 -1
- package/dist/services/evalrun/index.js +0 -5
- package/dist/services/evalrun/index.js.map +0 -1
- package/dist/services/evalrun/json.d.ts +0 -21
- package/dist/services/evalrun/json.d.ts.map +0 -1
- package/dist/services/evalrun/json.js +0 -38
- package/dist/services/evalrun/json.js.map +0 -1
- package/dist/services/evalrun/local.d.ts +0 -19
- package/dist/services/evalrun/local.d.ts.map +0 -1
- package/dist/services/evalrun/local.js +0 -22
- package/dist/services/evalrun/local.js.map +0 -1
- package/dist/services/local/_db.d.ts +0 -4
- package/dist/services/local/_db.d.ts.map +0 -1
- package/dist/services/local/_db.js +0 -123
- package/dist/services/local/_db.js.map +0 -1
- package/dist/services/local/_router.d.ts +0 -3
- package/dist/services/local/_router.d.ts.map +0 -1
- package/dist/services/local/_router.js +0 -28
- package/dist/services/local/_router.js.map +0 -1
- package/dist/services/local/_util.d.ts +0 -18
- package/dist/services/local/_util.d.ts.map +0 -1
- package/dist/services/local/_util.js +0 -44
- package/dist/services/local/_util.js.map +0 -1
- package/dist/services/local/index.d.ts +0 -7
- package/dist/services/local/index.d.ts.map +0 -1
- package/dist/services/local/index.js +0 -7
- package/dist/services/local/index.js.map +0 -1
- package/dist/services/local/keyvalue.d.ts +0 -17
- package/dist/services/local/keyvalue.d.ts.map +0 -1
- package/dist/services/local/keyvalue.js +0 -125
- package/dist/services/local/keyvalue.js.map +0 -1
- package/dist/services/local/stream.d.ts +0 -12
- package/dist/services/local/stream.d.ts.map +0 -1
- package/dist/services/local/stream.js +0 -262
- package/dist/services/local/stream.js.map +0 -1
- package/dist/services/local/vector.d.ts +0 -17
- package/dist/services/local/vector.d.ts.map +0 -1
- package/dist/services/local/vector.js +0 -303
- package/dist/services/local/vector.js.map +0 -1
- package/dist/services/sandbox/http.d.ts +0 -13
- package/dist/services/sandbox/http.d.ts.map +0 -1
- package/dist/services/sandbox/http.js +0 -130
- package/dist/services/sandbox/http.js.map +0 -1
- package/dist/services/sandbox/index.d.ts +0 -2
- package/dist/services/sandbox/index.d.ts.map +0 -1
- package/dist/services/sandbox/index.js +0 -2
- package/dist/services/sandbox/index.js.map +0 -1
- package/dist/services/session/composite.d.ts +0 -21
- package/dist/services/session/composite.d.ts.map +0 -1
- package/dist/services/session/composite.js +0 -26
- package/dist/services/session/composite.js.map +0 -1
- package/dist/services/session/http.d.ts +0 -34
- package/dist/services/session/http.d.ts.map +0 -1
- package/dist/services/session/http.js +0 -80
- package/dist/services/session/http.js.map +0 -1
- package/dist/services/session/index.d.ts +0 -5
- package/dist/services/session/index.d.ts.map +0 -1
- package/dist/services/session/index.js +0 -5
- package/dist/services/session/index.js.map +0 -1
- package/dist/services/session/json.d.ts +0 -22
- package/dist/services/session/json.d.ts.map +0 -1
- package/dist/services/session/json.js +0 -35
- package/dist/services/session/json.js.map +0 -1
- package/dist/services/session/local.d.ts +0 -19
- package/dist/services/session/local.d.ts.map +0 -1
- package/dist/services/session/local.js +0 -23
- package/dist/services/session/local.js.map +0 -1
- package/dist/services/thread/local.d.ts +0 -20
- package/dist/services/thread/local.d.ts.map +0 -1
- package/dist/services/thread/local.js +0 -158
- package/dist/services/thread/local.js.map +0 -1
- package/dist/session.d.ts +0 -734
- package/dist/session.d.ts.map +0 -1
- package/dist/session.js +0 -1139
- package/dist/session.js.map +0 -1
- package/dist/validator.d.ts +0 -142
- package/dist/validator.d.ts.map +0 -1
- package/dist/validator.js +0 -149
- package/dist/validator.js.map +0 -1
- package/dist/web.d.ts +0 -8
- package/dist/web.d.ts.map +0 -1
- package/dist/web.js +0 -66
- package/dist/web.js.map +0 -1
- package/dist/workbench.d.ts +0 -17
- package/dist/workbench.d.ts.map +0 -1
- package/dist/workbench.js +0 -507
- package/dist/workbench.js.map +0 -1
|
@@ -1,86 +0,0 @@
|
|
|
1
|
-
import { APIResponseSchemaNoData, ValidationInputError, ValidationOutputError, } from '@agentuity/server';
|
|
2
|
-
import { EvalRunStartEventDelayedSchema, EvalRunCompleteEventDelayedSchema, StructuredError, } from '@agentuity/core';
|
|
3
|
-
import { internal } from '../../logger/internal';
|
|
4
|
-
const EvalRunResponseError = StructuredError('EvalRunResponseError');
|
|
5
|
-
/**
|
|
6
|
-
* An implementation of the EvalRunEventProvider which uses HTTP for delivery
|
|
7
|
-
*/
|
|
8
|
-
export class HTTPEvalRunEventProvider {
|
|
9
|
-
apiClient;
|
|
10
|
-
logger;
|
|
11
|
-
baseUrl;
|
|
12
|
-
constructor(client, logger, baseUrl) {
|
|
13
|
-
this.apiClient = client;
|
|
14
|
-
this.logger = logger;
|
|
15
|
-
this.baseUrl = baseUrl;
|
|
16
|
-
}
|
|
17
|
-
/**
|
|
18
|
-
* called when the eval run starts
|
|
19
|
-
*
|
|
20
|
-
* @param event EvalRunStartEvent
|
|
21
|
-
*/
|
|
22
|
-
async start(event) {
|
|
23
|
-
const endpoint = '/evalrun/2025-03-17';
|
|
24
|
-
const fullUrl = `${this.baseUrl}${endpoint}`;
|
|
25
|
-
const payload = { ...event, timestamp: Date.now() };
|
|
26
|
-
// Log full payload using internal logger
|
|
27
|
-
internal.info('[EVALRUN HTTP] ========== START PAYLOAD ==========');
|
|
28
|
-
internal.info('[EVALRUN HTTP] id: %s', payload.id);
|
|
29
|
-
internal.info('[EVALRUN HTTP] evalId: %s', payload.evalId);
|
|
30
|
-
internal.info('[EVALRUN HTTP] evalIdentifier: %s', payload.evalIdentifier);
|
|
31
|
-
internal.info('[EVALRUN HTTP] sessionId: %s', payload.sessionId);
|
|
32
|
-
internal.info('[EVALRUN HTTP] orgId: %s', payload.orgId);
|
|
33
|
-
internal.info('[EVALRUN HTTP] projectId: %s', payload.projectId);
|
|
34
|
-
internal.info('[EVALRUN HTTP] devmode: %s', payload.devmode);
|
|
35
|
-
internal.info('[EVALRUN HTTP] deploymentId: %s', payload.deploymentId);
|
|
36
|
-
internal.info('[EVALRUN HTTP] spanId: %s', payload.spanId);
|
|
37
|
-
internal.info('[EVALRUN HTTP] URL: POST %s', fullUrl);
|
|
38
|
-
internal.info('[EVALRUN HTTP] ============================================');
|
|
39
|
-
try {
|
|
40
|
-
const resp = await this.apiClient.post(endpoint, payload, APIResponseSchemaNoData(), EvalRunStartEventDelayedSchema);
|
|
41
|
-
if (resp.success) {
|
|
42
|
-
this.logger.debug('[EVALRUN HTTP] Start event sent successfully: %s', event.id);
|
|
43
|
-
return;
|
|
44
|
-
}
|
|
45
|
-
const errorMsg = resp.message || 'Unknown error';
|
|
46
|
-
this.logger.error('[EVALRUN HTTP] Start event failed: %s, error: %s', event.id, errorMsg);
|
|
47
|
-
throw new EvalRunResponseError({ message: errorMsg });
|
|
48
|
-
}
|
|
49
|
-
catch (error) {
|
|
50
|
-
this.logger.error('[EVALRUN HTTP] Start event exception: %s, error: %s', event.id, error instanceof Error ? error.message : String(error));
|
|
51
|
-
// Log validation errors if available
|
|
52
|
-
if ((error instanceof ValidationInputError || error instanceof ValidationOutputError) &&
|
|
53
|
-
error.issues?.length) {
|
|
54
|
-
this.logger.error('[EVALRUN HTTP] Validation issues: %s', JSON.stringify(error.issues, null, 2));
|
|
55
|
-
}
|
|
56
|
-
throw error;
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
/**
|
|
60
|
-
* called when the eval run completes
|
|
61
|
-
*
|
|
62
|
-
* @param event EvalRunCompleteEvent
|
|
63
|
-
*/
|
|
64
|
-
async complete(event) {
|
|
65
|
-
const endpoint = '/evalrun/2025-03-17';
|
|
66
|
-
const fullUrl = `${this.baseUrl}${endpoint}`;
|
|
67
|
-
this.logger.debug('[EVALRUN HTTP] Sending eval run complete event: %s', event.id);
|
|
68
|
-
this.logger.debug('[EVALRUN HTTP] URL: %s %s', 'PUT', fullUrl);
|
|
69
|
-
this.logger.debug('[EVALRUN HTTP] Base URL: %s', this.baseUrl);
|
|
70
|
-
try {
|
|
71
|
-
const resp = await this.apiClient.put(endpoint, { ...event, timestamp: Date.now() }, APIResponseSchemaNoData(), EvalRunCompleteEventDelayedSchema);
|
|
72
|
-
if (resp.success) {
|
|
73
|
-
this.logger.debug('[EVALRUN HTTP] Complete event sent successfully: %s', event.id);
|
|
74
|
-
return;
|
|
75
|
-
}
|
|
76
|
-
const errorMsg = resp.message || 'Unknown error';
|
|
77
|
-
this.logger.error('[EVALRUN HTTP] Complete event failed: %s, error: %s', event.id, errorMsg);
|
|
78
|
-
throw new EvalRunResponseError({ message: errorMsg });
|
|
79
|
-
}
|
|
80
|
-
catch (error) {
|
|
81
|
-
this.logger.error('[EVALRUN HTTP] Complete event exception: %s, error: %s', event.id, error instanceof Error ? error.message : String(error));
|
|
82
|
-
throw error;
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
//# sourceMappingURL=http.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"http.js","sourceRoot":"","sources":["../../../src/services/evalrun/http.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/services/evalrun/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,QAAQ,CAAC;AAClD,OAAO,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAC;AACpD,OAAO,EAAE,wBAAwB,EAAE,MAAM,QAAQ,CAAC;AAClD,OAAO,EAAE,6BAA6B,EAAE,MAAM,aAAa,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/services/evalrun/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,QAAQ,CAAC;AAClD,OAAO,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAC;AACpD,OAAO,EAAE,wBAAwB,EAAE,MAAM,QAAQ,CAAC;AAClD,OAAO,EAAE,6BAA6B,EAAE,MAAM,aAAa,CAAC"}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import { type EvalRunEventProvider, type EvalRunStartEvent, type EvalRunCompleteEvent } from '@agentuity/core';
|
|
2
|
-
/**
|
|
3
|
-
* An implementation of the EvalRunEventProvider which writes to JSON files
|
|
4
|
-
*/
|
|
5
|
-
export declare class JSONEvalRunEventProvider implements EvalRunEventProvider {
|
|
6
|
-
private exportDir;
|
|
7
|
-
constructor(exportDir: string);
|
|
8
|
-
/**
|
|
9
|
-
* called when the eval run starts
|
|
10
|
-
*
|
|
11
|
-
* @param event EvalRunStartEvent
|
|
12
|
-
*/
|
|
13
|
-
start(event: EvalRunStartEvent): Promise<void>;
|
|
14
|
-
/**
|
|
15
|
-
* called when the eval run completes
|
|
16
|
-
*
|
|
17
|
-
* @param event EvalRunCompleteEvent
|
|
18
|
-
*/
|
|
19
|
-
complete(event: EvalRunCompleteEvent): Promise<void>;
|
|
20
|
-
}
|
|
21
|
-
//# sourceMappingURL=json.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"json.d.ts","sourceRoot":"","sources":["../../../src/services/evalrun/json.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,KAAK,oBAAoB,EACzB,KAAK,iBAAiB,EACtB,KAAK,oBAAoB,EACzB,MAAM,iBAAiB,CAAC;AAEzB;;GAEG;AACH,qBAAa,wBAAyB,YAAW,oBAAoB;IACpE,OAAO,CAAC,SAAS,CAAS;gBAEd,SAAS,EAAE,MAAM;IAI7B;;;;OAIG;IACG,KAAK,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IAUpD;;;;OAIG;IACG,QAAQ,CAAC,KAAK,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC;CAS1D"}
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* An implementation of the EvalRunEventProvider which writes to JSON files
|
|
3
|
-
*/
|
|
4
|
-
export class JSONEvalRunEventProvider {
|
|
5
|
-
exportDir;
|
|
6
|
-
constructor(exportDir) {
|
|
7
|
-
this.exportDir = exportDir;
|
|
8
|
-
}
|
|
9
|
-
/**
|
|
10
|
-
* called when the eval run starts
|
|
11
|
-
*
|
|
12
|
-
* @param event EvalRunStartEvent
|
|
13
|
-
*/
|
|
14
|
-
async start(event) {
|
|
15
|
-
const data = {
|
|
16
|
-
type: 'evalrun_start',
|
|
17
|
-
timestamp: Date.now(),
|
|
18
|
-
...event,
|
|
19
|
-
};
|
|
20
|
-
const filename = `${this.exportDir}/evalrun-${event.id}-start.json`;
|
|
21
|
-
await Bun.write(filename, JSON.stringify(data, null, 2));
|
|
22
|
-
}
|
|
23
|
-
/**
|
|
24
|
-
* called when the eval run completes
|
|
25
|
-
*
|
|
26
|
-
* @param event EvalRunCompleteEvent
|
|
27
|
-
*/
|
|
28
|
-
async complete(event) {
|
|
29
|
-
const data = {
|
|
30
|
-
type: 'evalrun_complete',
|
|
31
|
-
timestamp: Date.now(),
|
|
32
|
-
...event,
|
|
33
|
-
};
|
|
34
|
-
const filename = `${this.exportDir}/evalrun-${event.id}-complete.json`;
|
|
35
|
-
await Bun.write(filename, JSON.stringify(data, null, 2));
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
//# sourceMappingURL=json.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"json.js","sourceRoot":"","sources":["../../../src/services/evalrun/json.ts"],"names":[],"mappings":"AAMA;;GAEG;AACH,MAAM,OAAO,wBAAwB;IAC5B,SAAS,CAAS;IAE1B,YAAY,SAAiB;QAC5B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC5B,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,KAAK,CAAC,KAAwB;QACnC,MAAM,IAAI,GAAG;YACZ,IAAI,EAAE,eAAe;YACrB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;YACrB,GAAG,KAAK;SACR,CAAC;QACF,MAAM,QAAQ,GAAG,GAAG,IAAI,CAAC,SAAS,YAAY,KAAK,CAAC,EAAE,aAAa,CAAC;QACpE,MAAM,GAAG,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAC1D,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,QAAQ,CAAC,KAA2B;QACzC,MAAM,IAAI,GAAG;YACZ,IAAI,EAAE,kBAAkB;YACxB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;YACrB,GAAG,KAAK;SACR,CAAC;QACF,MAAM,QAAQ,GAAG,GAAG,IAAI,CAAC,SAAS,YAAY,KAAK,CAAC,EAAE,gBAAgB,CAAC;QACvE,MAAM,GAAG,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAC1D,CAAC;CACD"}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import { type EvalRunEventProvider, type EvalRunStartEvent, type EvalRunCompleteEvent } from '@agentuity/core';
|
|
2
|
-
/**
|
|
3
|
-
* An implementation of the EvalRunEventProvider which just logs locally
|
|
4
|
-
*/
|
|
5
|
-
export declare class LocalEvalRunEventProvider implements EvalRunEventProvider {
|
|
6
|
-
/**
|
|
7
|
-
* called when the eval run starts
|
|
8
|
-
*
|
|
9
|
-
* @param event EvalRunStartEvent
|
|
10
|
-
*/
|
|
11
|
-
start(event: EvalRunStartEvent): Promise<void>;
|
|
12
|
-
/**
|
|
13
|
-
* called when the eval run completes
|
|
14
|
-
*
|
|
15
|
-
* @param event EvalRunCompleteEvent
|
|
16
|
-
*/
|
|
17
|
-
complete(event: EvalRunCompleteEvent): Promise<void>;
|
|
18
|
-
}
|
|
19
|
-
//# sourceMappingURL=local.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"local.d.ts","sourceRoot":"","sources":["../../../src/services/evalrun/local.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,KAAK,oBAAoB,EACzB,KAAK,iBAAiB,EACtB,KAAK,oBAAoB,EACzB,MAAM,iBAAiB,CAAC;AAEzB;;GAEG;AACH,qBAAa,yBAA0B,YAAW,oBAAoB;IACrE;;;;OAIG;IACG,KAAK,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IAIpD;;;;OAIG;IACG,QAAQ,CAAC,KAAK,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC;CAG1D"}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* An implementation of the EvalRunEventProvider which just logs locally
|
|
3
|
-
*/
|
|
4
|
-
export class LocalEvalRunEventProvider {
|
|
5
|
-
/**
|
|
6
|
-
* called when the eval run starts
|
|
7
|
-
*
|
|
8
|
-
* @param event EvalRunStartEvent
|
|
9
|
-
*/
|
|
10
|
-
async start(event) {
|
|
11
|
-
console.log('EvalRun started:', event);
|
|
12
|
-
}
|
|
13
|
-
/**
|
|
14
|
-
* called when the eval run completes
|
|
15
|
-
*
|
|
16
|
-
* @param event EvalRunCompleteEvent
|
|
17
|
-
*/
|
|
18
|
-
async complete(event) {
|
|
19
|
-
console.log('EvalRun completed:', event);
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
//# sourceMappingURL=local.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"local.js","sourceRoot":"","sources":["../../../src/services/evalrun/local.ts"],"names":[],"mappings":"AAMA;;GAEG;AACH,MAAM,OAAO,yBAAyB;IACrC;;;;OAIG;IACH,KAAK,CAAC,KAAK,CAAC,KAAwB;QACnC,OAAO,CAAC,GAAG,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC;IACxC,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,QAAQ,CAAC,KAA2B;QACzC,OAAO,CAAC,GAAG,CAAC,oBAAoB,EAAE,KAAK,CAAC,CAAC;IAC1C,CAAC;CACD"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"_db.d.ts","sourceRoot":"","sources":["../../../src/services/local/_db.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAOtC,wBAAgB,UAAU,IAAI,QAAQ,CAkBrC;AA6HD,wBAAgB,YAAY,IAAI,IAAI,CAKnC"}
|
|
@@ -1,123 +0,0 @@
|
|
|
1
|
-
import { Database } from 'bun:sqlite';
|
|
2
|
-
import { mkdirSync, existsSync } from 'node:fs';
|
|
3
|
-
import { homedir } from 'node:os';
|
|
4
|
-
import { join } from 'node:path';
|
|
5
|
-
let dbInstance = null;
|
|
6
|
-
export function getLocalDB() {
|
|
7
|
-
if (dbInstance) {
|
|
8
|
-
return dbInstance;
|
|
9
|
-
}
|
|
10
|
-
const configDir = join(homedir(), '.config', 'agentuity');
|
|
11
|
-
if (!existsSync(configDir)) {
|
|
12
|
-
mkdirSync(configDir, { recursive: true });
|
|
13
|
-
}
|
|
14
|
-
const dbPath = join(configDir, 'local.db');
|
|
15
|
-
dbInstance = new Database(dbPath);
|
|
16
|
-
initializeTables(dbInstance);
|
|
17
|
-
cleanupOrphanedProjects(dbInstance);
|
|
18
|
-
return dbInstance;
|
|
19
|
-
}
|
|
20
|
-
function initializeTables(db) {
|
|
21
|
-
// KeyValue Storage table
|
|
22
|
-
db.run(`
|
|
23
|
-
CREATE TABLE IF NOT EXISTS kv_storage (
|
|
24
|
-
project_path TEXT NOT NULL,
|
|
25
|
-
name TEXT NOT NULL,
|
|
26
|
-
key TEXT NOT NULL,
|
|
27
|
-
value BLOB NOT NULL,
|
|
28
|
-
content_type TEXT NOT NULL DEFAULT 'application/octet-stream',
|
|
29
|
-
expires_at INTEGER,
|
|
30
|
-
created_at INTEGER NOT NULL,
|
|
31
|
-
updated_at INTEGER NOT NULL,
|
|
32
|
-
PRIMARY KEY (project_path, name, key)
|
|
33
|
-
)
|
|
34
|
-
`);
|
|
35
|
-
db.run(`
|
|
36
|
-
CREATE INDEX IF NOT EXISTS idx_kv_expires
|
|
37
|
-
ON kv_storage(expires_at)
|
|
38
|
-
WHERE expires_at IS NOT NULL
|
|
39
|
-
`);
|
|
40
|
-
// Stream Storage table
|
|
41
|
-
db.run(`
|
|
42
|
-
CREATE TABLE IF NOT EXISTS stream_storage (
|
|
43
|
-
project_path TEXT NOT NULL,
|
|
44
|
-
id TEXT PRIMARY KEY,
|
|
45
|
-
name TEXT NOT NULL,
|
|
46
|
-
metadata TEXT,
|
|
47
|
-
content_type TEXT NOT NULL DEFAULT 'application/octet-stream',
|
|
48
|
-
data BLOB,
|
|
49
|
-
size_bytes INTEGER NOT NULL DEFAULT 0,
|
|
50
|
-
created_at INTEGER NOT NULL
|
|
51
|
-
)
|
|
52
|
-
`);
|
|
53
|
-
db.run(`
|
|
54
|
-
CREATE INDEX IF NOT EXISTS idx_stream_name
|
|
55
|
-
ON stream_storage(project_path, name)
|
|
56
|
-
`);
|
|
57
|
-
db.run(`
|
|
58
|
-
CREATE INDEX IF NOT EXISTS idx_stream_metadata
|
|
59
|
-
ON stream_storage(metadata)
|
|
60
|
-
`);
|
|
61
|
-
// Vector Storage table
|
|
62
|
-
db.run(`
|
|
63
|
-
CREATE TABLE IF NOT EXISTS vector_storage (
|
|
64
|
-
project_path TEXT NOT NULL,
|
|
65
|
-
name TEXT NOT NULL,
|
|
66
|
-
id TEXT PRIMARY KEY,
|
|
67
|
-
key TEXT NOT NULL,
|
|
68
|
-
embedding TEXT NOT NULL,
|
|
69
|
-
document TEXT,
|
|
70
|
-
metadata TEXT,
|
|
71
|
-
created_at INTEGER NOT NULL,
|
|
72
|
-
updated_at INTEGER NOT NULL,
|
|
73
|
-
UNIQUE (project_path, name, key)
|
|
74
|
-
)
|
|
75
|
-
`);
|
|
76
|
-
db.run(`
|
|
77
|
-
CREATE INDEX IF NOT EXISTS idx_vector_lookup
|
|
78
|
-
ON vector_storage(project_path, name, key)
|
|
79
|
-
`);
|
|
80
|
-
db.run(`
|
|
81
|
-
CREATE INDEX IF NOT EXISTS idx_vector_name
|
|
82
|
-
ON vector_storage(project_path, name)
|
|
83
|
-
`);
|
|
84
|
-
}
|
|
85
|
-
function cleanupOrphanedProjects(db) {
|
|
86
|
-
// Get the current project path to exclude from cleanup
|
|
87
|
-
const currentProjectPath = process.cwd();
|
|
88
|
-
// Query all tables for unique project paths
|
|
89
|
-
const kvPaths = db.query('SELECT DISTINCT project_path FROM kv_storage').all();
|
|
90
|
-
const streamPaths = db.query('SELECT DISTINCT project_path FROM stream_storage').all();
|
|
91
|
-
const vectorPaths = db.query('SELECT DISTINCT project_path FROM vector_storage').all();
|
|
92
|
-
// Combine and deduplicate all project paths
|
|
93
|
-
const allPaths = new Set();
|
|
94
|
-
[...kvPaths, ...streamPaths, ...vectorPaths].forEach((row) => {
|
|
95
|
-
allPaths.add(row.project_path);
|
|
96
|
-
});
|
|
97
|
-
// Check which paths no longer exist and are not the current project
|
|
98
|
-
const pathsToDelete = [];
|
|
99
|
-
for (const path of allPaths) {
|
|
100
|
-
if (path !== currentProjectPath && !existsSync(path)) {
|
|
101
|
-
pathsToDelete.push(path);
|
|
102
|
-
}
|
|
103
|
-
}
|
|
104
|
-
// Delete data for removed projects
|
|
105
|
-
if (pathsToDelete.length > 0) {
|
|
106
|
-
const placeholders = pathsToDelete.map(() => '?').join(', ');
|
|
107
|
-
// Delete from all tables
|
|
108
|
-
const deleteKv = db.prepare(`DELETE FROM kv_storage WHERE project_path IN (${placeholders})`);
|
|
109
|
-
const deleteStream = db.prepare(`DELETE FROM stream_storage WHERE project_path IN (${placeholders})`);
|
|
110
|
-
const deleteVector = db.prepare(`DELETE FROM vector_storage WHERE project_path IN (${placeholders})`);
|
|
111
|
-
deleteKv.run(...pathsToDelete);
|
|
112
|
-
deleteStream.run(...pathsToDelete);
|
|
113
|
-
deleteVector.run(...pathsToDelete);
|
|
114
|
-
console.log(`[LocalDB] Cleaned up data for ${pathsToDelete.length} orphaned project(s)`);
|
|
115
|
-
}
|
|
116
|
-
}
|
|
117
|
-
export function closeLocalDB() {
|
|
118
|
-
if (dbInstance) {
|
|
119
|
-
dbInstance.close();
|
|
120
|
-
dbInstance = null;
|
|
121
|
-
}
|
|
122
|
-
}
|
|
123
|
-
//# sourceMappingURL=_db.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"_db.js","sourceRoot":"","sources":["../../../src/services/local/_db.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"_router.d.ts","sourceRoot":"","sources":["../../../src/services/local/_router.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAI3C,wBAAgB,wBAAwB,CAAC,EAAE,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,GAAG,GAAG,CAmC/E"}
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import { createRouter } from '../../router';
|
|
2
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
3
|
-
export function createLocalStorageRouter(db, projectPath) {
|
|
4
|
-
const router = createRouter();
|
|
5
|
-
// so we can detect if we're running in local mode easily
|
|
6
|
-
router.get('/_agentuity/local/health', (c) => c.text('OK'));
|
|
7
|
-
// Serve streams: GET /_agentuity/local/stream/:id
|
|
8
|
-
router.get('/_agentuity/local/stream/:id', async (c) => {
|
|
9
|
-
const id = c.req.param('id');
|
|
10
|
-
const query = db.query(`
|
|
11
|
-
SELECT data, content_type
|
|
12
|
-
FROM stream_storage
|
|
13
|
-
WHERE project_path = ? AND id = ?
|
|
14
|
-
`);
|
|
15
|
-
const row = query.get(projectPath, id);
|
|
16
|
-
if (!row) {
|
|
17
|
-
return c.notFound();
|
|
18
|
-
}
|
|
19
|
-
if (!row.data) {
|
|
20
|
-
return c.json({ error: 'Stream not finalized' }, 400);
|
|
21
|
-
}
|
|
22
|
-
return c.body(new Uint8Array(row.data), 200, {
|
|
23
|
-
'Content-Type': row.content_type,
|
|
24
|
-
});
|
|
25
|
-
});
|
|
26
|
-
return router;
|
|
27
|
-
}
|
|
28
|
-
//# sourceMappingURL=_router.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"_router.js","sourceRoot":"","sources":["../../../src/services/local/_router.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAE5C,8DAA8D;AAC9D,MAAM,UAAU,wBAAwB,CAAC,EAAY,EAAE,WAAmB;IACzE,MAAM,MAAM,GAAG,YAAY,EAAE,CAAC;IAE9B,yDAAyD;IACzD,MAAM,CAAC,GAAG,CAAC,0BAA0B,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAE5D,kDAAkD;IAClD,MAAM,CAAC,GAAG,CAAC,8BAA8B,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;QACtD,MAAM,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAE7B,MAAM,KAAK,GAAG,EAAE,CAAC,KAAK,CAAC;;;;GAItB,CAAC,CAAC;QAEH,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,WAAW,EAAE,EAAE,CAG7B,CAAC;QAET,IAAI,CAAC,GAAG,EAAE,CAAC;YACV,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC;QACrB,CAAC;QAED,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;YACf,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,sBAAsB,EAAE,EAAE,GAAG,CAAC,CAAC;QACvD,CAAC;QAED,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE;YAC5C,cAAc,EAAE,GAAG,CAAC,YAAY;SAChC,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AACf,CAAC"}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Normalize a project path to an absolute path for consistent DB keys
|
|
3
|
-
*/
|
|
4
|
-
export declare function normalizeProjectPath(cwd?: string): string;
|
|
5
|
-
/**
|
|
6
|
-
* Simple character-based embedding for local vector search
|
|
7
|
-
* Not production-quality, but good enough for local dev/testing
|
|
8
|
-
*/
|
|
9
|
-
export declare function simpleEmbedding(text: string, dimensions?: number): number[];
|
|
10
|
-
/**
|
|
11
|
-
* Calculate cosine similarity between two vectors
|
|
12
|
-
*/
|
|
13
|
-
export declare function cosineSimilarity(a: number[], b: number[]): number;
|
|
14
|
-
/**
|
|
15
|
-
* Get current timestamp in milliseconds
|
|
16
|
-
*/
|
|
17
|
-
export declare function now(): number;
|
|
18
|
-
//# sourceMappingURL=_util.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"_util.d.ts","sourceRoot":"","sources":["../../../src/services/local/_util.ts"],"names":[],"mappings":"AAGA;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,GAAE,MAAsB,GAAG,MAAM,CAExE;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,SAAM,GAAG,MAAM,EAAE,CAaxE;AAOD;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,CAUjE;AAED;;GAEG;AACH,wBAAgB,GAAG,IAAI,MAAM,CAE5B"}
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
import { StructuredError } from '@agentuity/core';
|
|
2
|
-
import { resolve } from 'node:path';
|
|
3
|
-
/**
|
|
4
|
-
* Normalize a project path to an absolute path for consistent DB keys
|
|
5
|
-
*/
|
|
6
|
-
export function normalizeProjectPath(cwd = process.cwd()) {
|
|
7
|
-
return resolve(cwd);
|
|
8
|
-
}
|
|
9
|
-
/**
|
|
10
|
-
* Simple character-based embedding for local vector search
|
|
11
|
-
* Not production-quality, but good enough for local dev/testing
|
|
12
|
-
*/
|
|
13
|
-
export function simpleEmbedding(text, dimensions = 128) {
|
|
14
|
-
const vec = new Array(dimensions).fill(0);
|
|
15
|
-
const normalized = text.toLowerCase();
|
|
16
|
-
for (let i = 0; i < normalized.length; i++) {
|
|
17
|
-
const charCode = normalized.charCodeAt(i);
|
|
18
|
-
vec[i % dimensions] += Math.sin(charCode * (i + 1));
|
|
19
|
-
vec[(i * 2) % dimensions] += Math.cos(charCode);
|
|
20
|
-
}
|
|
21
|
-
// Normalize vector
|
|
22
|
-
const magnitude = Math.sqrt(vec.reduce((sum, v) => sum + v * v, 0));
|
|
23
|
-
return magnitude > 0 ? vec.map((v) => v / magnitude) : vec;
|
|
24
|
-
}
|
|
25
|
-
const InvalidVectorError = StructuredError('InvalidVectorError', 'Vectors must have the same dimension');
|
|
26
|
-
/**
|
|
27
|
-
* Calculate cosine similarity between two vectors
|
|
28
|
-
*/
|
|
29
|
-
export function cosineSimilarity(a, b) {
|
|
30
|
-
if (a.length !== b.length) {
|
|
31
|
-
throw new InvalidVectorError();
|
|
32
|
-
}
|
|
33
|
-
const dot = a.reduce((sum, ai, i) => sum + ai * (b[i] ?? 0), 0);
|
|
34
|
-
const normA = Math.sqrt(a.reduce((sum, ai) => sum + ai * ai, 0));
|
|
35
|
-
const normB = Math.sqrt(b.reduce((sum, bi) => sum + bi * bi, 0));
|
|
36
|
-
return normA > 0 && normB > 0 ? dot / (normA * normB) : 0;
|
|
37
|
-
}
|
|
38
|
-
/**
|
|
39
|
-
* Get current timestamp in milliseconds
|
|
40
|
-
*/
|
|
41
|
-
export function now() {
|
|
42
|
-
return Date.now();
|
|
43
|
-
}
|
|
44
|
-
//# sourceMappingURL=_util.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"_util.js","sourceRoot":"","sources":["../../../src/services/local/_util.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAAC,MAAc,OAAO,CAAC,GAAG,EAAE;IAC/D,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC;AACrB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,eAAe,CAAC,IAAY,EAAE,UAAU,GAAG,GAAG;IAC7D,MAAM,GAAG,GAAG,IAAI,KAAK,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC1C,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;IAEtC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC5C,MAAM,QAAQ,GAAG,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QAC1C,GAAG,CAAC,CAAC,GAAG,UAAU,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,QAAQ,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACpD,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,UAAU,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACjD,CAAC;IAED,mBAAmB;IACnB,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACpE,OAAO,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;AAC5D,CAAC;AAED,MAAM,kBAAkB,GAAG,eAAe,CACzC,oBAAoB,EACpB,sCAAsC,CACtC,CAAC;AAEF;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,CAAW,EAAE,CAAW;IACxD,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC;QAC3B,MAAM,IAAI,kBAAkB,EAAE,CAAC;IAChC,CAAC;IAED,MAAM,GAAG,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAChE,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;IACjE,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;IAEjE,OAAO,KAAK,GAAG,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3D,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,GAAG;IAClB,OAAO,IAAI,CAAC,GAAG,EAAE,CAAC;AACnB,CAAC"}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
export { getLocalDB, closeLocalDB } from './_db';
|
|
2
|
-
export { normalizeProjectPath, simpleEmbedding, cosineSimilarity } from './_util';
|
|
3
|
-
export { createLocalStorageRouter } from './_router';
|
|
4
|
-
export { LocalKeyValueStorage } from './keyvalue';
|
|
5
|
-
export { LocalStreamStorage } from './stream';
|
|
6
|
-
export { LocalVectorStorage } from './vector';
|
|
7
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/services/local/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AACjD,OAAO,EAAE,oBAAoB,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAClF,OAAO,EAAE,wBAAwB,EAAE,MAAM,WAAW,CAAC;AACrD,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAC9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC"}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
export { getLocalDB, closeLocalDB } from './_db';
|
|
2
|
-
export { normalizeProjectPath, simpleEmbedding, cosineSimilarity } from './_util';
|
|
3
|
-
export { createLocalStorageRouter } from './_router';
|
|
4
|
-
export { LocalKeyValueStorage } from './keyvalue';
|
|
5
|
-
export { LocalStreamStorage } from './stream';
|
|
6
|
-
export { LocalVectorStorage } from './vector';
|
|
7
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/services/local/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AACjD,OAAO,EAAE,oBAAoB,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAClF,OAAO,EAAE,wBAAwB,EAAE,MAAM,WAAW,CAAC;AACrD,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAC9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC"}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import type { Database } from 'bun:sqlite';
|
|
2
|
-
import type { KeyValueStorage, DataResult, KeyValueStorageSetParams, KeyValueStats, KeyValueItemWithMetadata } from '@agentuity/core';
|
|
3
|
-
export declare class LocalKeyValueStorage implements KeyValueStorage {
|
|
4
|
-
#private;
|
|
5
|
-
constructor(db: Database, projectPath: string);
|
|
6
|
-
get<T>(name: string, key: string): Promise<DataResult<T>>;
|
|
7
|
-
set<T = unknown>(name: string, key: string, value: T, params?: KeyValueStorageSetParams): Promise<void>;
|
|
8
|
-
delete(name: string, key: string): Promise<void>;
|
|
9
|
-
getStats(_name: string): Promise<KeyValueStats>;
|
|
10
|
-
getAllStats(): Promise<Record<string, KeyValueStats>>;
|
|
11
|
-
getNamespaces(): Promise<string[]>;
|
|
12
|
-
search<T = unknown>(_name: string, _keyword: string): Promise<Record<string, KeyValueItemWithMetadata<T>>>;
|
|
13
|
-
getKeys(_name: string): Promise<string[]>;
|
|
14
|
-
deleteNamespace(_name: string): Promise<void>;
|
|
15
|
-
createNamespace(_name: string): Promise<void>;
|
|
16
|
-
}
|
|
17
|
-
//# sourceMappingURL=keyvalue.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"keyvalue.d.ts","sourceRoot":"","sources":["../../../src/services/local/keyvalue.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,KAAK,EACX,eAAe,EACf,UAAU,EAEV,wBAAwB,EACxB,aAAa,EACb,wBAAwB,EACxB,MAAM,iBAAiB,CAAC;AAGzB,qBAAa,oBAAqB,YAAW,eAAe;;gBAI/C,EAAE,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM;IAKvC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IA+CzD,GAAG,CAAC,CAAC,GAAG,OAAO,EACpB,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,CAAC,EACR,MAAM,CAAC,EAAE,wBAAwB,GAC/B,OAAO,CAAC,IAAI,CAAC;IAmDV,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAShD,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAI/C,WAAW,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IAIrD,aAAa,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAIlC,MAAM,CAAC,CAAC,GAAG,OAAO,EACvB,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,GACd,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,wBAAwB,CAAC,CAAC,CAAC,CAAC,CAAC;IAIjD,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAIzC,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI7C,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAGnD"}
|