@agentuity/runtime 0.0.43 → 0.0.45
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/AGENTS.md +11 -9
- package/README.md +4 -4
- package/dist/_context.d.ts +12 -4
- package/dist/_context.d.ts.map +1 -1
- package/dist/_server.d.ts +7 -4
- package/dist/_server.d.ts.map +1 -1
- package/dist/_services.d.ts +13 -2
- package/dist/_services.d.ts.map +1 -1
- package/dist/_util.d.ts +1 -1
- package/dist/_util.d.ts.map +1 -1
- package/dist/_waituntil.d.ts +1 -3
- package/dist/_waituntil.d.ts.map +1 -1
- package/dist/agent.d.ts +41 -14
- package/dist/agent.d.ts.map +1 -1
- package/dist/app.d.ts +90 -8
- package/dist/app.d.ts.map +1 -1
- package/dist/eval.d.ts +79 -0
- package/dist/eval.d.ts.map +1 -0
- package/dist/index.d.ts +6 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/io/email.d.ts +77 -0
- package/dist/io/email.d.ts.map +1 -0
- package/dist/logger/console.d.ts +7 -1
- package/dist/logger/console.d.ts.map +1 -1
- package/dist/logger/user.d.ts.map +1 -1
- package/dist/otel/config.d.ts +3 -1
- package/dist/otel/config.d.ts.map +1 -1
- package/dist/otel/console.d.ts +2 -1
- package/dist/otel/console.d.ts.map +1 -1
- package/dist/otel/exporters/index.d.ts +4 -0
- package/dist/otel/exporters/index.d.ts.map +1 -0
- package/dist/otel/exporters/jsonl-log-exporter.d.ts +36 -0
- package/dist/otel/exporters/jsonl-log-exporter.d.ts.map +1 -0
- package/dist/otel/exporters/jsonl-metric-exporter.d.ts +40 -0
- package/dist/otel/exporters/jsonl-metric-exporter.d.ts.map +1 -0
- package/dist/otel/exporters/jsonl-trace-exporter.d.ts +36 -0
- package/dist/otel/exporters/jsonl-trace-exporter.d.ts.map +1 -0
- package/dist/otel/http.d.ts.map +1 -1
- package/dist/otel/logger.d.ts +8 -6
- package/dist/otel/logger.d.ts.map +1 -1
- package/dist/otel/otel.d.ts +8 -2
- package/dist/otel/otel.d.ts.map +1 -1
- package/dist/router.d.ts +4 -1
- package/dist/router.d.ts.map +1 -1
- package/dist/services/evalrun/composite.d.ts +21 -0
- package/dist/services/evalrun/composite.d.ts.map +1 -0
- package/dist/services/evalrun/http.d.ts +24 -0
- package/dist/services/evalrun/http.d.ts.map +1 -0
- package/dist/services/evalrun/index.d.ts +5 -0
- package/dist/services/evalrun/index.d.ts.map +1 -0
- package/dist/services/evalrun/json.d.ts +21 -0
- package/dist/services/evalrun/json.d.ts.map +1 -0
- package/dist/services/evalrun/local.d.ts +19 -0
- package/dist/services/evalrun/local.d.ts.map +1 -0
- package/dist/services/local/_db.d.ts +4 -0
- package/dist/services/local/_db.d.ts.map +1 -0
- package/dist/services/local/_router.d.ts +3 -0
- package/dist/services/local/_router.d.ts.map +1 -0
- package/dist/services/local/_util.d.ts +18 -0
- package/dist/services/local/_util.d.ts.map +1 -0
- package/dist/services/local/index.d.ts +8 -0
- package/dist/services/local/index.d.ts.map +1 -0
- package/dist/services/local/keyvalue.d.ts +10 -0
- package/dist/services/local/keyvalue.d.ts.map +1 -0
- package/dist/services/local/objectstore.d.ts +11 -0
- package/dist/services/local/objectstore.d.ts.map +1 -0
- package/dist/services/local/stream.d.ts +10 -0
- package/dist/services/local/stream.d.ts.map +1 -0
- package/dist/services/local/vector.d.ts +13 -0
- package/dist/services/local/vector.d.ts.map +1 -0
- package/dist/services/session/composite.d.ts +21 -0
- package/dist/services/session/composite.d.ts.map +1 -0
- package/dist/services/session/http.d.ts +23 -0
- package/dist/services/session/http.d.ts.map +1 -0
- package/dist/services/session/index.d.ts +5 -0
- package/dist/services/session/index.d.ts.map +1 -0
- package/dist/services/session/json.d.ts +22 -0
- package/dist/services/session/json.d.ts.map +1 -0
- package/dist/services/session/local.d.ts +19 -0
- package/dist/services/session/local.d.ts.map +1 -0
- package/dist/session.d.ts +70 -0
- package/dist/session.d.ts.map +1 -0
- package/package.json +10 -6
- package/src/_config.ts +1 -1
- package/src/_context.ts +19 -16
- package/src/_server.ts +284 -42
- package/src/_services.ts +147 -34
- package/src/_util.ts +2 -3
- package/src/_waituntil.ts +5 -153
- package/src/agent.ts +667 -65
- package/src/app.ts +159 -13
- package/src/eval.ts +95 -0
- package/src/index.ts +6 -1
- package/src/io/email.ts +173 -0
- package/src/logger/console.ts +196 -17
- package/src/logger/user.ts +7 -3
- package/src/otel/config.ts +7 -44
- package/src/otel/console.ts +8 -4
- package/src/otel/exporters/README.md +217 -0
- package/src/otel/exporters/index.ts +3 -0
- package/src/otel/exporters/jsonl-log-exporter.ts +113 -0
- package/src/otel/exporters/jsonl-metric-exporter.ts +120 -0
- package/src/otel/exporters/jsonl-trace-exporter.ts +121 -0
- package/src/otel/http.ts +3 -1
- package/src/otel/logger.ts +87 -37
- package/src/otel/otel.ts +43 -22
- package/src/router.ts +44 -4
- package/src/services/evalrun/composite.ts +34 -0
- package/src/services/evalrun/http.ts +112 -0
- package/src/services/evalrun/index.ts +4 -0
- package/src/services/evalrun/json.ts +46 -0
- package/src/services/evalrun/local.ts +28 -0
- package/src/services/local/README.md +1576 -0
- package/src/services/local/_db.ts +182 -0
- package/src/services/local/_router.ts +86 -0
- package/src/services/local/_util.ts +49 -0
- package/src/services/local/index.ts +7 -0
- package/src/services/local/keyvalue.ts +118 -0
- package/src/services/local/objectstore.ts +152 -0
- package/src/services/local/stream.ts +296 -0
- package/src/services/local/vector.ts +264 -0
- package/src/services/session/composite.ts +33 -0
- package/src/services/session/http.ts +64 -0
- package/src/services/session/index.ts +4 -0
- package/src/services/session/json.ts +42 -0
- package/src/services/session/local.ts +28 -0
- package/src/session.ts +284 -0
- package/dist/_unauthenticated.d.ts +0 -26
- package/dist/_unauthenticated.d.ts.map +0 -1
- package/src/_unauthenticated.ts +0 -126
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { Database } from 'bun:sqlite';
|
|
2
|
+
import type { KeyValueStorage, DataResult, KeyValueStorageSetParams } 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
|
+
}
|
|
10
|
+
//# sourceMappingURL=keyvalue.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
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,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;IAyCzD,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;IA6CV,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAQtD"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { Database } from 'bun:sqlite';
|
|
2
|
+
import type { ObjectStorage, ObjectResult, ObjectStorePutParams, CreatePublicURLParams } from '@agentuity/core';
|
|
3
|
+
export declare class LocalObjectStorage implements ObjectStorage {
|
|
4
|
+
#private;
|
|
5
|
+
constructor(db: Database, projectPath: string, serverUrl: string);
|
|
6
|
+
get(bucket: string, key: string): Promise<ObjectResult>;
|
|
7
|
+
put(bucket: string, key: string, data: Uint8Array | ArrayBuffer | ReadableStream, params?: ObjectStorePutParams): Promise<void>;
|
|
8
|
+
delete(bucket: string, key: string): Promise<boolean>;
|
|
9
|
+
createPublicURL(bucket: string, key: string, _params?: CreatePublicURLParams): Promise<string>;
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=objectstore.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"objectstore.d.ts","sourceRoot":"","sources":["../../../src/services/local/objectstore.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,KAAK,EACX,aAAa,EACb,YAAY,EAEZ,oBAAoB,EACpB,qBAAqB,EACrB,MAAM,iBAAiB,CAAC;AAGzB,qBAAa,kBAAmB,YAAW,aAAa;;gBAK3C,EAAE,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;IAM1D,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IA2BvD,GAAG,CACR,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,UAAU,GAAG,WAAW,GAAG,cAAc,EAC/C,MAAM,CAAC,EAAE,oBAAoB,GAC3B,OAAO,CAAC,IAAI,CAAC;IAiEV,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAcrD,eAAe,CACpB,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,MAAM,EACX,OAAO,CAAC,EAAE,qBAAqB,GAC7B,OAAO,CAAC,MAAM,CAAC;CAelB"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { Database } from 'bun:sqlite';
|
|
2
|
+
import type { StreamStorage, Stream, CreateStreamProps, ListStreamsParams, ListStreamsResponse } from '@agentuity/core';
|
|
3
|
+
export declare class LocalStreamStorage implements StreamStorage {
|
|
4
|
+
#private;
|
|
5
|
+
constructor(db: Database, projectPath: string, serverUrl: string);
|
|
6
|
+
create(name: string, props?: CreateStreamProps): Promise<Stream>;
|
|
7
|
+
list(params?: ListStreamsParams): Promise<ListStreamsResponse>;
|
|
8
|
+
delete(id: string): Promise<void>;
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=stream.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stream.d.ts","sourceRoot":"","sources":["../../../src/services/local/stream.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,KAAK,EACX,aAAa,EACb,MAAM,EACN,iBAAiB,EACjB,iBAAiB,EACjB,mBAAmB,EAEnB,MAAM,iBAAiB,CAAC;AAQzB,qBAAa,kBAAmB,YAAW,aAAa;;gBAM3C,EAAE,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;IAY1D,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC;IAsChE,IAAI,CAAC,MAAM,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAgE9D,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAYvC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { Database } from 'bun:sqlite';
|
|
2
|
+
import type { VectorStorage, VectorUpsertParams, VectorUpsertResult, VectorResult, VectorSearchResultWithDocument, VectorSearchParams, VectorSearchResult } from '@agentuity/core';
|
|
3
|
+
export declare class LocalVectorStorage implements VectorStorage {
|
|
4
|
+
#private;
|
|
5
|
+
constructor(db: Database, projectPath: string);
|
|
6
|
+
upsert(name: string, ...documents: VectorUpsertParams[]): Promise<VectorUpsertResult[]>;
|
|
7
|
+
get<T extends Record<string, unknown> = Record<string, unknown>>(name: string, key: string): Promise<VectorResult<T>>;
|
|
8
|
+
getMany<T extends Record<string, unknown> = Record<string, unknown>>(name: string, ...keys: string[]): Promise<Map<string, VectorSearchResultWithDocument<T>>>;
|
|
9
|
+
search<T extends Record<string, unknown> = Record<string, unknown>>(name: string, params: VectorSearchParams<T>): Promise<VectorSearchResult<T>[]>;
|
|
10
|
+
delete(name: string, ...keys: string[]): Promise<number>;
|
|
11
|
+
exists(name: string): Promise<boolean>;
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=vector.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vector.d.ts","sourceRoot":"","sources":["../../../src/services/local/vector.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,KAAK,EACX,aAAa,EACb,kBAAkB,EAClB,kBAAkB,EAClB,YAAY,EAEZ,8BAA8B,EAC9B,kBAAkB,EAClB,kBAAkB,EAClB,MAAM,iBAAiB,CAAC;AAIzB,qBAAa,kBAAmB,YAAW,aAAa;;gBAI3C,EAAE,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM;IAKvC,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,SAAS,EAAE,kBAAkB,EAAE,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC;IA0EvF,GAAG,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACpE,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,GACT,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IAoCrB,OAAO,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACxE,IAAI,EAAE,MAAM,EACZ,GAAG,IAAI,EAAE,MAAM,EAAE,GACf,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,8BAA8B,CAAC,CAAC,CAAC,CAAC,CAAC;IAyBpD,MAAM,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACvE,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,kBAAkB,CAAC,CAAC,CAAC,GAC3B,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE,CAAC;IAgE7B,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IAkBxD,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;CAc5C"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { type SessionCompleteEvent, type SessionEventProvider, type SessionStartEvent } from '@agentuity/core';
|
|
2
|
+
/**
|
|
3
|
+
* A composite implementation of SessionEventProvider that forwards events to multiple providers
|
|
4
|
+
*/
|
|
5
|
+
export declare class CompositeSessionEventProvider implements SessionEventProvider {
|
|
6
|
+
private providers;
|
|
7
|
+
constructor(...providers: SessionEventProvider[]);
|
|
8
|
+
/**
|
|
9
|
+
* called when the session starts
|
|
10
|
+
*
|
|
11
|
+
* @param event SessionStartEvent
|
|
12
|
+
*/
|
|
13
|
+
start(event: SessionStartEvent): Promise<void>;
|
|
14
|
+
/**
|
|
15
|
+
* called when the session completes
|
|
16
|
+
*
|
|
17
|
+
* @param event SessionCompleteEvent
|
|
18
|
+
*/
|
|
19
|
+
complete(event: SessionCompleteEvent): Promise<void>;
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=composite.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"composite.d.ts","sourceRoot":"","sources":["../../../src/services/session/composite.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,KAAK,oBAAoB,EACzB,KAAK,oBAAoB,EACzB,KAAK,iBAAiB,EACtB,MAAM,iBAAiB,CAAC;AAEzB;;GAEG;AACH,qBAAa,6BAA8B,YAAW,oBAAoB;IACzE,OAAO,CAAC,SAAS,CAAyB;gBAE9B,GAAG,SAAS,EAAE,oBAAoB,EAAE;IAGhD;;;;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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { APIClient } from '@agentuity/server';
|
|
2
|
+
import { type SessionEventProvider, type SessionStartEvent, type SessionCompleteEvent, type Logger } from '@agentuity/core';
|
|
3
|
+
/**
|
|
4
|
+
* An implementation of the SessionEventProvider which uses HTTP for delivery
|
|
5
|
+
*/
|
|
6
|
+
export declare class HTTPSessionEventProvider implements SessionEventProvider {
|
|
7
|
+
private apiClient;
|
|
8
|
+
private logger;
|
|
9
|
+
constructor(client: APIClient, logger: Logger);
|
|
10
|
+
/**
|
|
11
|
+
* called when the session starts
|
|
12
|
+
*
|
|
13
|
+
* @param event SessionStartEvent
|
|
14
|
+
*/
|
|
15
|
+
start(event: SessionStartEvent): Promise<void>;
|
|
16
|
+
/**
|
|
17
|
+
* called when the session completes
|
|
18
|
+
*
|
|
19
|
+
* @param event SessionCompleteEvent
|
|
20
|
+
*/
|
|
21
|
+
complete(event: SessionCompleteEvent): Promise<void>;
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=http.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../../src/services/session/http.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAA2B,MAAM,mBAAmB,CAAC;AACvE,OAAO,EACN,KAAK,oBAAoB,EACzB,KAAK,iBAAiB,EAGtB,KAAK,oBAAoB,EACzB,KAAK,MAAM,EACX,MAAM,iBAAiB,CAAC;AAEzB;;GAEG;AACH,qBAAa,wBAAyB,YAAW,oBAAoB;IACpE,OAAO,CAAC,SAAS,CAAY;IAC7B,OAAO,CAAC,MAAM,CAAS;gBAEX,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM;IAK7C;;;;OAIG;IACG,KAAK,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IAgBpD;;;;OAIG;IACG,QAAQ,CAAC,KAAK,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC;CAe1D"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/services/session/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { type SessionEventProvider, type SessionStartEvent, type SessionCompleteEvent } from '@agentuity/core';
|
|
2
|
+
/**
|
|
3
|
+
* An implementation of the SessionEventProvider which uses JSON logs for delivery
|
|
4
|
+
*/
|
|
5
|
+
export declare class JSONSessionEventProvider implements SessionEventProvider {
|
|
6
|
+
private directory;
|
|
7
|
+
constructor(directory: string);
|
|
8
|
+
private makeFilename;
|
|
9
|
+
/**
|
|
10
|
+
* called when the session starts
|
|
11
|
+
*
|
|
12
|
+
* @param event SessionStartEvent
|
|
13
|
+
*/
|
|
14
|
+
start(event: SessionStartEvent): Promise<void>;
|
|
15
|
+
/**
|
|
16
|
+
* called when the session completes
|
|
17
|
+
*
|
|
18
|
+
* @param event SessionCompleteEvent
|
|
19
|
+
*/
|
|
20
|
+
complete(event: SessionCompleteEvent): Promise<void>;
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=json.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"json.d.ts","sourceRoot":"","sources":["../../../src/services/session/json.ts"],"names":[],"mappings":"AAEA,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;IAG7B,OAAO,CAAC,YAAY;IAGpB;;;;OAIG;IACG,KAAK,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IAMpD;;;;OAIG;IACG,QAAQ,CAAC,KAAK,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC;CAK1D"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { type SessionEventProvider, type SessionStartEvent, type SessionCompleteEvent } from '@agentuity/core';
|
|
2
|
+
/**
|
|
3
|
+
* An implementation of the SessionEventProvider which is no-op
|
|
4
|
+
*/
|
|
5
|
+
export declare class LocalSessionEventProvider implements SessionEventProvider {
|
|
6
|
+
/**
|
|
7
|
+
* called when the session starts
|
|
8
|
+
*
|
|
9
|
+
* @param event SessionStartEvent
|
|
10
|
+
*/
|
|
11
|
+
start(_event: SessionStartEvent): Promise<void>;
|
|
12
|
+
/**
|
|
13
|
+
* called when the session completes
|
|
14
|
+
*
|
|
15
|
+
* @param event SessionCompleteEvent
|
|
16
|
+
*/
|
|
17
|
+
complete(_event: SessionCompleteEvent): Promise<void>;
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=local.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"local.d.ts","sourceRoot":"","sources":["../../../src/services/session/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,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IAIrD;;;;OAIG;IACG,QAAQ,CAAC,MAAM,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC;CAG3D"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
/** biome-ignore-all lint/suspicious/noExplicitAny: anys are great */
|
|
2
|
+
import type { Context } from 'hono';
|
|
3
|
+
import { type Env } from './app';
|
|
4
|
+
export type ThreadEventName = 'destroyed';
|
|
5
|
+
export type SessionEventName = 'completed';
|
|
6
|
+
type ThreadEventCallback<T extends Thread> = (eventName: 'destroyed', thread: T) => Promise<void> | void;
|
|
7
|
+
type SessionEventCallback<T extends Session> = (eventName: 'completed', session: T) => Promise<void> | void;
|
|
8
|
+
export interface Thread {
|
|
9
|
+
id: string;
|
|
10
|
+
state: Map<string, unknown>;
|
|
11
|
+
addEventListener(eventName: 'destroyed', callback: (eventName: 'destroyed', thread: Thread) => Promise<void> | void): void;
|
|
12
|
+
removeEventListener(eventName: 'destroyed', callback: (eventName: 'destroyed', thread: Thread) => Promise<void> | void): void;
|
|
13
|
+
destroy(): Promise<void>;
|
|
14
|
+
}
|
|
15
|
+
export interface Session {
|
|
16
|
+
id: string;
|
|
17
|
+
thread: Thread;
|
|
18
|
+
state: Map<string, unknown>;
|
|
19
|
+
addEventListener(eventName: 'completed', callback: (eventName: 'completed', session: Session) => Promise<void> | void): void;
|
|
20
|
+
removeEventListener(eventName: 'completed', callback: (eventName: 'completed', session: Session) => Promise<void> | void): void;
|
|
21
|
+
}
|
|
22
|
+
export interface ThreadProvider {
|
|
23
|
+
initialize(): Promise<void>;
|
|
24
|
+
restore(ctx: Context<Env>): Promise<Thread>;
|
|
25
|
+
save(thread: Thread): Promise<void>;
|
|
26
|
+
destroy(thread: Thread): Promise<void>;
|
|
27
|
+
}
|
|
28
|
+
export interface SessionProvider {
|
|
29
|
+
initialize(): Promise<void>;
|
|
30
|
+
restore(thread: Thread, sessionId: string): Promise<Session>;
|
|
31
|
+
save(session: Session): Promise<void>;
|
|
32
|
+
}
|
|
33
|
+
export declare function generateId(prefix?: string): string;
|
|
34
|
+
export declare class DefaultThread implements Thread {
|
|
35
|
+
#private;
|
|
36
|
+
readonly id: string;
|
|
37
|
+
readonly state: Map<string, unknown>;
|
|
38
|
+
private provider;
|
|
39
|
+
constructor(provider: ThreadProvider, id: string);
|
|
40
|
+
addEventListener(eventName: ThreadEventName, callback: ThreadEventCallback<any>): void;
|
|
41
|
+
removeEventListener(eventName: ThreadEventName, callback: ThreadEventCallback<any>): void;
|
|
42
|
+
fireEvent(eventName: ThreadEventName): Promise<void>;
|
|
43
|
+
destroy(): Promise<void>;
|
|
44
|
+
touch(): void;
|
|
45
|
+
expired(): boolean;
|
|
46
|
+
}
|
|
47
|
+
export declare class DefaultSession implements Session {
|
|
48
|
+
readonly id: string;
|
|
49
|
+
readonly thread: Thread;
|
|
50
|
+
readonly state: Map<string, unknown>;
|
|
51
|
+
constructor(thread: Thread, id: string);
|
|
52
|
+
addEventListener(eventName: SessionEventName, callback: SessionEventCallback<any>): void;
|
|
53
|
+
removeEventListener(eventName: SessionEventName, callback: SessionEventCallback<any>): void;
|
|
54
|
+
fireEvent(eventName: SessionEventName): Promise<void>;
|
|
55
|
+
}
|
|
56
|
+
export declare class DefaultThreadProvider implements ThreadProvider {
|
|
57
|
+
private threads;
|
|
58
|
+
initialize(): Promise<void>;
|
|
59
|
+
restore(ctx: Context<Env>): Promise<Thread>;
|
|
60
|
+
save(thread: Thread): Promise<void>;
|
|
61
|
+
destroy(thread: Thread): Promise<void>;
|
|
62
|
+
}
|
|
63
|
+
export declare class DefaultSessionProvider implements SessionProvider {
|
|
64
|
+
private sessions;
|
|
65
|
+
initialize(): Promise<void>;
|
|
66
|
+
restore(thread: Thread, sessionId: string): Promise<Session>;
|
|
67
|
+
save(session: Session): Promise<void>;
|
|
68
|
+
}
|
|
69
|
+
export {};
|
|
70
|
+
//# sourceMappingURL=session.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@agentuity/runtime",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.45",
|
|
4
|
+
"license": "Apache-2.0",
|
|
5
|
+
"author": "Agentuity employees and contributors",
|
|
4
6
|
"type": "module",
|
|
5
7
|
"main": "./src/index.ts",
|
|
6
8
|
"types": "./dist/index.d.ts",
|
|
@@ -23,8 +25,8 @@
|
|
|
23
25
|
"prepublishOnly": "bun run clean && bun run build"
|
|
24
26
|
},
|
|
25
27
|
"dependencies": {
|
|
26
|
-
"@agentuity/core": "0.0.
|
|
27
|
-
"@agentuity/server": "0.0.
|
|
28
|
+
"@agentuity/core": "0.0.45",
|
|
29
|
+
"@agentuity/server": "0.0.45",
|
|
28
30
|
"@opentelemetry/api": "^1.9.0",
|
|
29
31
|
"@opentelemetry/api-logs": "^0.207.0",
|
|
30
32
|
"@opentelemetry/auto-instrumentations-node": "^0.66.0",
|
|
@@ -40,17 +42,19 @@
|
|
|
40
42
|
"@opentelemetry/sdk-node": "^0.207.0",
|
|
41
43
|
"@opentelemetry/sdk-trace-base": "^2.2.0",
|
|
42
44
|
"@opentelemetry/semantic-conventions": "^1.37.0",
|
|
43
|
-
"@traceloop/node-server-sdk": "^0.19.1"
|
|
45
|
+
"@traceloop/node-server-sdk": "^0.19.1",
|
|
46
|
+
"mailparser": "^3.7.1"
|
|
44
47
|
},
|
|
45
48
|
"peerDependencies": {
|
|
46
49
|
"hono": "^4.10.3"
|
|
47
50
|
},
|
|
48
51
|
"devDependencies": {
|
|
52
|
+
"@types/mailparser": "^3.4.6",
|
|
49
53
|
"@types/react": "^19.2.2",
|
|
50
54
|
"@types/react-dom": "^19.2.2",
|
|
51
|
-
"typescript": "^5.9.0",
|
|
52
55
|
"react": "^19.2.0",
|
|
53
|
-
"react-dom": "^19.2.0"
|
|
56
|
+
"react-dom": "^19.2.0",
|
|
57
|
+
"typescript": "^5.9.0"
|
|
54
58
|
},
|
|
55
59
|
"publishConfig": {
|
|
56
60
|
"access": "public"
|
package/src/_config.ts
CHANGED
package/src/_context.ts
CHANGED
|
@@ -3,22 +3,27 @@ import type { Tracer } from '@opentelemetry/api';
|
|
|
3
3
|
import type { KeyValueStorage, ObjectStorage, StreamStorage, VectorStorage } from '@agentuity/core';
|
|
4
4
|
import type { AgentContext, AgentName } from './agent';
|
|
5
5
|
import type { Logger } from './logger';
|
|
6
|
-
import WaitUntilHandler from './_waituntil';
|
|
6
|
+
import type WaitUntilHandler from './_waituntil';
|
|
7
7
|
import { registerServices } from './_services';
|
|
8
|
+
import type { Thread, Session } from './session';
|
|
8
9
|
|
|
9
10
|
export interface RequestAgentContextArgs<TAgentMap, TAgent> {
|
|
10
11
|
sessionId: string;
|
|
11
12
|
agent: TAgentMap;
|
|
12
13
|
current: TAgent;
|
|
14
|
+
parent?: TAgent;
|
|
13
15
|
agentName: AgentName;
|
|
14
16
|
logger: Logger;
|
|
15
17
|
tracer: Tracer;
|
|
16
|
-
|
|
18
|
+
session: Session;
|
|
19
|
+
thread: Thread;
|
|
20
|
+
handler: WaitUntilHandler;
|
|
17
21
|
}
|
|
18
22
|
|
|
19
23
|
export class RequestAgentContext<TAgentMap, TAgent> implements AgentContext {
|
|
20
24
|
agent: TAgentMap;
|
|
21
25
|
current: TAgent;
|
|
26
|
+
parent?: TAgent;
|
|
22
27
|
agentName: AgentName;
|
|
23
28
|
logger: Logger;
|
|
24
29
|
sessionId: string;
|
|
@@ -27,25 +32,28 @@ export class RequestAgentContext<TAgentMap, TAgent> implements AgentContext {
|
|
|
27
32
|
objectstore!: ObjectStorage;
|
|
28
33
|
stream!: StreamStorage;
|
|
29
34
|
vector!: VectorStorage;
|
|
30
|
-
|
|
35
|
+
state: Map<string, unknown>;
|
|
36
|
+
session: Session;
|
|
37
|
+
thread: Thread;
|
|
38
|
+
private handler: WaitUntilHandler;
|
|
31
39
|
|
|
32
40
|
constructor(args: RequestAgentContextArgs<TAgentMap, TAgent>) {
|
|
33
41
|
this.agent = args.agent;
|
|
34
42
|
this.current = args.current;
|
|
43
|
+
this.parent = args.parent;
|
|
35
44
|
this.agentName = args.agentName;
|
|
36
45
|
this.logger = args.logger;
|
|
37
46
|
this.sessionId = args.sessionId;
|
|
38
47
|
this.tracer = args.tracer;
|
|
39
|
-
this.
|
|
40
|
-
|
|
48
|
+
this.thread = args.thread;
|
|
49
|
+
this.session = args.session;
|
|
50
|
+
this.state = new Map<string, unknown>();
|
|
51
|
+
this.handler = args.handler;
|
|
52
|
+
registerServices(this, false); // agents already populated via args.agent
|
|
41
53
|
}
|
|
42
54
|
|
|
43
55
|
waitUntil(callback: Promise<void> | (() => void | Promise<void>)): void {
|
|
44
|
-
this.
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
waitUntilAll(): Promise<void> {
|
|
48
|
-
return this.waituntilHandler.waitUntilAll(this.logger, this.sessionId);
|
|
56
|
+
this.handler.waitUntil(callback);
|
|
49
57
|
}
|
|
50
58
|
}
|
|
51
59
|
|
|
@@ -69,8 +77,7 @@ export const getAsyncLocalStorage = () => asyncLocalStorage;
|
|
|
69
77
|
export const runInAgentContext = <TAgentMap, TAgent>(
|
|
70
78
|
ctxObject: Record<string, unknown>,
|
|
71
79
|
args: RequestAgentContextArgs<TAgentMap, TAgent>,
|
|
72
|
-
next: () => Promise<void
|
|
73
|
-
isWebSocket: boolean = false
|
|
80
|
+
next: () => Promise<void>
|
|
74
81
|
) => {
|
|
75
82
|
const ctx = new RequestAgentContext(args);
|
|
76
83
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
@@ -83,10 +90,6 @@ export const runInAgentContext = <TAgentMap, TAgent>(
|
|
|
83
90
|
}
|
|
84
91
|
return asyncLocalStorage.run(ctx, async () => {
|
|
85
92
|
const result = await next();
|
|
86
|
-
// Don't call waitUntilAll for websocket upgrades - they stay open
|
|
87
|
-
if (!isWebSocket) {
|
|
88
|
-
setImmediate(() => ctx.waitUntilAll()); // TODO: move until session
|
|
89
|
-
}
|
|
90
93
|
return result;
|
|
91
94
|
});
|
|
92
95
|
};
|