@deepagents/context 4.2.1 → 5.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +37 -12
- package/dist/browser.d.ts +6 -2
- package/dist/browser.d.ts.map +1 -1
- package/dist/browser.js +97 -68
- package/dist/browser.js.map +4 -4
- package/dist/index.d.ts +1 -9
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5839 -5496
- package/dist/index.js.map +4 -4
- package/dist/lib/advisor.d.ts +2 -2
- package/dist/lib/agent.d.ts +33 -15
- package/dist/lib/agent.d.ts.map +1 -1
- package/dist/lib/chain-summary.d.ts +8 -0
- package/dist/lib/chain-summary.d.ts.map +1 -1
- package/dist/lib/chat.d.ts +2 -2
- package/dist/lib/chat.d.ts.map +1 -1
- package/dist/lib/engine.d.ts +43 -71
- package/dist/lib/engine.d.ts.map +1 -1
- package/dist/lib/fragments/message/user.d.ts +2 -213
- package/dist/lib/fragments/message/user.d.ts.map +1 -1
- package/dist/lib/fragments/reminders/index.d.ts +3 -0
- package/dist/lib/fragments/reminders/index.d.ts.map +1 -0
- package/dist/lib/{save/reminder-eval.d.ts → fragments/reminders/src/evaluate.d.ts} +3 -3
- package/dist/lib/fragments/reminders/src/evaluate.d.ts.map +1 -0
- package/dist/lib/fragments/reminders/src/index.d.ts +5 -0
- package/dist/lib/fragments/reminders/src/index.d.ts.map +1 -0
- package/dist/lib/fragments/reminders/src/predicates/classifier.d.ts.map +1 -0
- package/dist/lib/fragments/reminders/{combinators.d.ts → src/predicates/combinators.d.ts} +9 -9
- package/dist/lib/fragments/reminders/src/predicates/combinators.d.ts.map +1 -0
- package/dist/lib/fragments/reminders/{content-predicates.d.ts → src/predicates/content.d.ts} +2 -2
- package/dist/lib/fragments/reminders/src/predicates/content.d.ts.map +1 -0
- package/dist/lib/fragments/reminders/src/predicates/index.d.ts +9 -0
- package/dist/lib/fragments/reminders/src/predicates/index.d.ts.map +1 -0
- package/dist/lib/fragments/reminders/{message-predicates.d.ts → src/predicates/message.d.ts} +3 -7
- package/dist/lib/fragments/reminders/src/predicates/message.d.ts.map +1 -0
- package/dist/lib/fragments/reminders/{once.d.ts → src/predicates/once.d.ts} +2 -2
- package/dist/lib/fragments/reminders/src/predicates/once.d.ts.map +1 -0
- package/dist/lib/fragments/reminders/src/predicates/tool.d.ts +41 -0
- package/dist/lib/fragments/reminders/src/predicates/tool.d.ts.map +1 -0
- package/dist/lib/fragments/reminders/{turn-predicates.d.ts → src/predicates/turn.d.ts} +2 -2
- package/dist/lib/fragments/reminders/src/predicates/turn.d.ts.map +1 -0
- package/dist/lib/fragments/reminders/src/predicates/usage.d.ts +3 -0
- package/dist/lib/fragments/reminders/src/predicates/usage.d.ts.map +1 -0
- package/dist/lib/fragments/reminders/src/reminders.d.ts +94 -0
- package/dist/lib/fragments/reminders/src/reminders.d.ts.map +1 -0
- package/dist/lib/fragments/reminders/src/types.d.ts +138 -0
- package/dist/lib/fragments/reminders/src/types.d.ts.map +1 -0
- package/dist/lib/fragments/reminders/temporal/elapsed.d.ts +1 -1
- package/dist/lib/fragments/reminders/temporal/elapsed.d.ts.map +1 -1
- package/dist/lib/fragments/reminders/temporal/predicates.d.ts +1 -1
- package/dist/lib/fragments/reminders/temporal/predicates.d.ts.map +1 -1
- package/dist/lib/fragments/reminders/temporal/reminder.d.ts.map +1 -1
- package/dist/lib/guardrail.d.ts +2 -2
- package/dist/lib/guardrail.d.ts.map +1 -1
- package/dist/lib/repair.d.ts +2 -2
- package/dist/lib/sandbox/agent-os-sandbox.d.ts +1 -1
- package/dist/lib/sandbox/agent-os-sandbox.d.ts.map +1 -1
- package/dist/lib/sandbox/apple-container-sandbox.d.ts +2 -0
- package/dist/lib/sandbox/apple-container-sandbox.d.ts.map +1 -1
- package/dist/lib/sandbox/bash-exception.d.ts +1 -1
- package/dist/lib/sandbox/bash-exception.d.ts.map +1 -1
- package/dist/lib/sandbox/bash-tool.d.ts +7 -42
- package/dist/lib/sandbox/bash-tool.d.ts.map +1 -1
- package/dist/lib/sandbox/container-sandbox.d.ts +2 -2
- package/dist/lib/sandbox/container-sandbox.d.ts.map +1 -1
- package/dist/lib/sandbox/daytona-sandbox.d.ts.map +1 -1
- package/dist/lib/sandbox/docker-sandbox.d.ts +2 -3
- package/dist/lib/sandbox/docker-sandbox.d.ts.map +1 -1
- package/dist/lib/sandbox/index.d.ts +0 -3
- package/dist/lib/sandbox/index.d.ts.map +1 -1
- package/dist/lib/sandbox/installers/installer.d.ts +1 -1
- package/dist/lib/sandbox/installers/installer.d.ts.map +1 -1
- package/dist/lib/sandbox/microsandbox-sandbox.d.ts.map +1 -1
- package/dist/lib/sandbox/strace/file-changes.d.ts +4 -10
- package/dist/lib/sandbox/strace/file-changes.d.ts.map +1 -1
- package/dist/lib/sandbox/types.d.ts +79 -32
- package/dist/lib/sandbox/types.d.ts.map +1 -1
- package/dist/lib/skills/fragments.d.ts +11 -10
- package/dist/lib/skills/fragments.d.ts.map +1 -1
- package/dist/lib/skills/frontmatter.d.ts +16 -0
- package/dist/lib/skills/frontmatter.d.ts.map +1 -0
- package/dist/lib/skills/index.d.ts +11 -10
- package/dist/lib/skills/index.d.ts.map +1 -1
- package/dist/lib/skills/skill-reminder.d.ts +3 -3
- package/dist/lib/skills/skill-reminder.d.ts.map +1 -1
- package/dist/lib/skills/types.d.ts +5 -23
- package/dist/lib/skills/types.d.ts.map +1 -1
- package/dist/lib/store/postgres.store.d.ts +2 -2
- package/dist/lib/store/postgres.store.d.ts.map +1 -1
- package/dist/lib/store/sqlite.store.d.ts +2 -2
- package/dist/lib/store/sqlite.store.d.ts.map +1 -1
- package/dist/lib/store/sqlserver.store.d.ts +2 -2
- package/dist/lib/store/sqlserver.store.d.ts.map +1 -1
- package/dist/lib/store/store.d.ts +5 -4
- package/dist/lib/store/store.d.ts.map +1 -1
- package/dist/lib/stream/postgres.stream-store.d.ts +2 -1
- package/dist/lib/stream/postgres.stream-store.d.ts.map +1 -1
- package/dist/lib/stream/sqlite.stream-store.d.ts +2 -1
- package/dist/lib/stream/sqlite.stream-store.d.ts.map +1 -1
- package/dist/lib/stream/stream-manager.d.ts +4 -0
- package/dist/lib/stream/stream-manager.d.ts.map +1 -1
- package/dist/lib/stream/stream-store.d.ts +16 -0
- package/dist/lib/stream/stream-store.d.ts.map +1 -1
- package/dist/lib/telemetry/console-telemetry.d.ts +8 -0
- package/dist/lib/telemetry/console-telemetry.d.ts.map +1 -0
- package/dist/lib/telemetry/create-telemetry-integration.d.ts +6 -0
- package/dist/lib/telemetry/create-telemetry-integration.d.ts.map +1 -0
- package/dist/lib/telemetry/file/file-telemetry.d.ts +9 -0
- package/dist/lib/telemetry/file/file-telemetry.d.ts.map +1 -0
- package/dist/lib/telemetry/file/index.d.ts +2 -0
- package/dist/lib/telemetry/file/index.d.ts.map +1 -0
- package/dist/lib/telemetry/file/index.js +307 -0
- package/dist/lib/telemetry/file/index.js.map +7 -0
- package/dist/lib/telemetry/index.d.ts +3 -0
- package/dist/lib/telemetry/index.d.ts.map +1 -0
- package/dist/lib/telemetry/index.js +291 -0
- package/dist/lib/telemetry/index.js.map +7 -0
- package/dist/lib/telemetry/redact-telemetry-event.d.ts +2 -0
- package/dist/lib/telemetry/redact-telemetry-event.d.ts.map +1 -0
- package/dist/lib/telemetry/safe-serialize.d.ts +8 -0
- package/dist/lib/telemetry/safe-serialize.d.ts.map +1 -0
- package/dist/lib/title.d.ts.map +1 -1
- package/dist/lib/tracing/index.js +47 -113
- package/dist/lib/tracing/index.js.map +2 -2
- package/dist/lib/tracing/openai-traces-integration.d.ts +2 -2
- package/dist/lib/tracing/openai-traces-integration.d.ts.map +1 -1
- package/dist/lib/tracing/serialization.d.ts.map +1 -1
- package/package.json +20 -9
- package/dist/lib/fragments/reminders/classifier.d.ts.map +0 -1
- package/dist/lib/fragments/reminders/combinators.d.ts.map +0 -1
- package/dist/lib/fragments/reminders/content-predicates.d.ts.map +0 -1
- package/dist/lib/fragments/reminders/message-predicates.d.ts.map +0 -1
- package/dist/lib/fragments/reminders/once.d.ts.map +0 -1
- package/dist/lib/fragments/reminders/tool-predicates.d.ts +0 -17
- package/dist/lib/fragments/reminders/tool-predicates.d.ts.map +0 -1
- package/dist/lib/fragments/reminders/turn-predicates.d.ts.map +0 -1
- package/dist/lib/fragments/reminders/usage-predicates.d.ts +0 -3
- package/dist/lib/fragments/reminders/usage-predicates.d.ts.map +0 -1
- package/dist/lib/sandbox/abort.d.ts +0 -24
- package/dist/lib/sandbox/abort.d.ts.map +0 -1
- package/dist/lib/sandbox/bash-meta.d.ts +0 -10
- package/dist/lib/sandbox/bash-meta.d.ts.map +0 -1
- package/dist/lib/sandbox/upload-skills.d.ts +0 -20
- package/dist/lib/sandbox/upload-skills.d.ts.map +0 -1
- package/dist/lib/sandbox/walk.d.ts +0 -17
- package/dist/lib/sandbox/walk.d.ts.map +0 -1
- package/dist/lib/save/reminder-eval.d.ts.map +0 -1
- package/dist/lib/skills/loader.d.ts +0 -28
- package/dist/lib/skills/loader.d.ts.map +0 -1
- /package/dist/lib/fragments/reminders/{classifier.d.ts → src/predicates/classifier.d.ts} +0 -0
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { DatabaseSync } from 'node:sqlite';
|
|
2
|
-
import type { BranchData, BranchInfo, ChatData, ChatInfo, CheckpointData, CheckpointInfo, DeleteChatOptions, GraphData, ListChatsOptions, MessageData, SearchOptions, SearchResult, StoredChatData } from './store.ts';
|
|
2
|
+
import type { BranchData, BranchInfo, ChatData, ChatInfo, ChatUpdater, CheckpointData, CheckpointInfo, DeleteChatOptions, GraphData, ListChatsOptions, MessageData, SearchOptions, SearchResult, StoredChatData } from './store.ts';
|
|
3
3
|
import { ContextStore } from './store.ts';
|
|
4
4
|
/**
|
|
5
5
|
* SQLite-based context store using graph model.
|
|
@@ -13,7 +13,7 @@ export declare class SqliteContextStore extends ContextStore {
|
|
|
13
13
|
createChat(chat: ChatData): Promise<StoredChatData>;
|
|
14
14
|
upsertChat(chat: ChatData): Promise<StoredChatData>;
|
|
15
15
|
getChat(chatId: string): Promise<StoredChatData | undefined>;
|
|
16
|
-
updateChat(chatId: string,
|
|
16
|
+
updateChat(chatId: string, update: ChatUpdater): Promise<StoredChatData>;
|
|
17
17
|
listChats(options?: ListChatsOptions): Promise<ChatInfo[]>;
|
|
18
18
|
deleteChat(chatId: string, options?: DeleteChatOptions): Promise<boolean>;
|
|
19
19
|
addMessage(message: MessageData): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sqlite.store.d.ts","sourceRoot":"","sources":["../../../src/lib/store/sqlite.store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAsB,MAAM,aAAa,CAAC;AAG/D,OAAO,KAAK,EACV,UAAU,EACV,UAAU,EACV,QAAQ,EACR,QAAQ,EACR,cAAc,EACd,cAAc,EACd,iBAAiB,EAGjB,SAAS,EAET,gBAAgB,EAChB,WAAW,EACX,aAAa,EACb,YAAY,EACZ,cAAc,EACf,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE1C;;;;;GAKG;AACH,qBAAa,kBAAmB,SAAQ,YAAY;;gBAkBtC,QAAQ,EAAE,MAAM,GAAG,YAAY;
|
|
1
|
+
{"version":3,"file":"sqlite.store.d.ts","sourceRoot":"","sources":["../../../src/lib/store/sqlite.store.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { ConnectionPool, config } from 'mssql';
|
|
2
|
-
import type { BranchData, BranchInfo, ChatData, ChatInfo, CheckpointData, CheckpointInfo, DeleteChatOptions, GraphData, ListChatsOptions, MessageData, SearchOptions, SearchResult, StoredChatData } from './store.ts';
|
|
2
|
+
import type { BranchData, BranchInfo, ChatData, ChatInfo, ChatUpdater, CheckpointData, CheckpointInfo, DeleteChatOptions, GraphData, ListChatsOptions, MessageData, SearchOptions, SearchResult, StoredChatData } from './store.ts';
|
|
3
3
|
import { ContextStore } from './store.ts';
|
|
4
4
|
export interface SqlServerStoreOptions {
|
|
5
5
|
/**
|
|
@@ -36,7 +36,7 @@ export declare class SqlServerContextStore extends ContextStore {
|
|
|
36
36
|
createChat(chat: ChatData): Promise<StoredChatData>;
|
|
37
37
|
upsertChat(chat: ChatData): Promise<StoredChatData>;
|
|
38
38
|
getChat(chatId: string): Promise<StoredChatData | undefined>;
|
|
39
|
-
updateChat(chatId: string,
|
|
39
|
+
updateChat(chatId: string, update: ChatUpdater): Promise<StoredChatData>;
|
|
40
40
|
listChats(options?: ListChatsOptions): Promise<ChatInfo[]>;
|
|
41
41
|
deleteChat(chatId: string, options?: DeleteChatOptions): Promise<boolean>;
|
|
42
42
|
addMessage(message: MessageData): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sqlserver.store.d.ts","sourceRoot":"","sources":["../../../src/lib/store/sqlserver.store.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAe,MAAM,EAAE,MAAM,OAAO,CAAC;AAIjE,OAAO,KAAK,EACV,UAAU,EACV,UAAU,EACV,QAAQ,EACR,QAAQ,EACR,cAAc,EACd,cAAc,EACd,iBAAiB,EAGjB,SAAS,EAET,gBAAgB,EAChB,WAAW,EACX,aAAa,EACb,YAAY,EACZ,cAAc,EACf,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE1C,MAAM,WAAW,qBAAqB;IACpC;;;OAGG;IACH,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,cAAc,CAAC;IACvC;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;;;;GAUG;AACH,qBAAa,qBAAsB,SAAQ,YAAY;;gBAMzC,OAAO,EAAE,qBAAqB;IAgCpC,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IA0EjC;;;OAGG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAUtB,UAAU,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,cAAc,CAAC;IAoDnD,UAAU,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,cAAc,CAAC;IAiEnD,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC;IAyB5D,UAAU,CACd,MAAM,EAAE,MAAM,EACd,
|
|
1
|
+
{"version":3,"file":"sqlserver.store.d.ts","sourceRoot":"","sources":["../../../src/lib/store/sqlserver.store.ts"],"names":[],"mappings":"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"}
|
|
@@ -23,6 +23,8 @@ export interface StoredChatData extends ChatData {
|
|
|
23
23
|
createdAt: number;
|
|
24
24
|
updatedAt: number;
|
|
25
25
|
}
|
|
26
|
+
export type ChatUpdate = Partial<Pick<ChatData, 'title' | 'metadata'>>;
|
|
27
|
+
export type ChatUpdater = (chat: StoredChatData) => ChatUpdate | undefined;
|
|
26
28
|
/**
|
|
27
29
|
* Information about a chat for listing.
|
|
28
30
|
*/
|
|
@@ -199,11 +201,10 @@ export declare abstract class ContextStore {
|
|
|
199
201
|
*/
|
|
200
202
|
abstract getChat(chatId: string): Promise<StoredChatData | undefined>;
|
|
201
203
|
/**
|
|
202
|
-
*
|
|
203
|
-
*
|
|
204
|
-
* Returns the updated chat data.
|
|
204
|
+
* Atomically read and update a chat while holding the store's write lock.
|
|
205
|
+
* Return `undefined` from the updater to leave the chat unchanged.
|
|
205
206
|
*/
|
|
206
|
-
abstract updateChat(chatId: string,
|
|
207
|
+
abstract updateChat(chatId: string, update: ChatUpdater): Promise<StoredChatData>;
|
|
207
208
|
/**
|
|
208
209
|
* List chats, sorted by updatedAt descending.
|
|
209
210
|
* @param options - Optional filters for userId, limit, offset
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../../src/lib/store/store.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAMH;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED;;GAEG;AACH,MAAM,WAAW,cAAe,SAAQ,QAAQ;IAC9C,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,wBAAwB;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,oEAAoE;IACpE,QAAQ,CAAC,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAA;KAAE,CAAC;IAC7D,0CAA0C;IAC1C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,iDAAiD;IACjD,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,4DAA4D;IAC5D,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAMD;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,OAAO,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,WAAY,SAAQ,WAAW;IAC9C,WAAW,EAAE,OAAO,CAAC;CACtB;AAMD;;;GAGG;AACH,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,QAAQ,EAAE,OAAO,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,QAAQ,EAAE,OAAO,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;CACnB;AAMD;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAMD;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,kEAAkE;IAClE,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,8CAA8C;IAC9C,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,0BAA0B;IAC1B,OAAO,EAAE,WAAW,CAAC;IACrB,mDAAmD;IACnD,IAAI,EAAE,MAAM,CAAC;IACb,6CAA6C;IAC7C,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAMD;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,SAAS,EAAE,CAAC;IACnB,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,WAAW,EAAE,eAAe,EAAE,CAAC;CAChC;AAMD;;;;;;;;GAQG;AACH,8BAAsB,YAAY;IAKhC;;;OAGG;IACH,QAAQ,CAAC,UAAU,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,cAAc,CAAC;IAE5D;;;OAGG;IACH,QAAQ,CAAC,UAAU,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,cAAc,CAAC;IAE5D;;OAEG;IACH,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC;IAErE
|
|
1
|
+
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../../src/lib/store/store.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAMH;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED;;GAEG;AACH,MAAM,WAAW,cAAe,SAAQ,QAAQ;IAC9C,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,GAAG,UAAU,CAAC,CAAC,CAAC;AAEvE,MAAM,MAAM,WAAW,GAAG,CAAC,IAAI,EAAE,cAAc,KAAK,UAAU,GAAG,SAAS,CAAC;AAE3E;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,wBAAwB;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,oEAAoE;IACpE,QAAQ,CAAC,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAA;KAAE,CAAC;IAC7D,0CAA0C;IAC1C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,iDAAiD;IACjD,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,4DAA4D;IAC5D,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAMD;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,OAAO,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,WAAY,SAAQ,WAAW;IAC9C,WAAW,EAAE,OAAO,CAAC;CACtB;AAMD;;;GAGG;AACH,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,QAAQ,EAAE,OAAO,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,QAAQ,EAAE,OAAO,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;CACnB;AAMD;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAMD;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,kEAAkE;IAClE,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,8CAA8C;IAC9C,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,0BAA0B;IAC1B,OAAO,EAAE,WAAW,CAAC;IACrB,mDAAmD;IACnD,IAAI,EAAE,MAAM,CAAC;IACb,6CAA6C;IAC7C,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAMD;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,SAAS,EAAE,CAAC;IACnB,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,WAAW,EAAE,eAAe,EAAE,CAAC;CAChC;AAMD;;;;;;;;GAQG;AACH,8BAAsB,YAAY;IAKhC;;;OAGG;IACH,QAAQ,CAAC,UAAU,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,cAAc,CAAC;IAE5D;;;OAGG;IACH,QAAQ,CAAC,UAAU,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,cAAc,CAAC;IAE5D;;OAEG;IACH,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC;IAErE;;;OAGG;IACH,QAAQ,CAAC,UAAU,CACjB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,WAAW,GAClB,OAAO,CAAC,cAAc,CAAC;IAE1B;;;OAGG;IACH,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;IAEnE;;;OAGG;IACH,QAAQ,CAAC,UAAU,CACjB,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,iBAAiB,GAC1B,OAAO,CAAC,OAAO,CAAC;IAMnB;;OAEG;IACH,QAAQ,CAAC,UAAU,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAExD;;;;;;OAMG;IACG,WAAW,CAAC,QAAQ,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAMzD;;OAEG;IACH,QAAQ,CAAC,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC;IAExE;;;OAGG;IACH,QAAQ,CAAC,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IAEhE;;;;;;OAMG;IACH,QAAQ,CAAC,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IAE5D;;OAEG;IACH,QAAQ,CAAC,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAEzD;;;;;;OAMG;IACH,QAAQ,CAAC,gBAAgB,CACvB,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,GAAG,IAAI,GACtB,OAAO,CAAC,IAAI,CAAC;IAMhB;;OAEG;IACH,QAAQ,CAAC,YAAY,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAExD;;OAEG;IACH,QAAQ,CAAC,SAAS,CAChB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC;IAElC;;OAEG;IACH,QAAQ,CAAC,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC;IAEzE;;OAEG;IACH,QAAQ,CAAC,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAEzE;;;;;;;;;OASG;IACH,QAAQ,CAAC,gBAAgB,CACvB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,GAAG,IAAI,EACxB,qBAAqB,EAAE,MAAM,GAAG,IAAI,GACnC,OAAO,CAAC,OAAO,CAAC;IAEnB;;OAEG;IACH,QAAQ,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAM5D;;OAEG;IACH,QAAQ,CAAC,gBAAgB,CAAC,UAAU,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAEpE;;OAEG;IACH,QAAQ,CAAC,aAAa,CACpB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC;IAEtC;;OAEG;IACH,QAAQ,CAAC,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAEnE;;OAEG;IACH,QAAQ,CAAC,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAMtE;;;;;;;OAOG;IACH,QAAQ,CAAC,cAAc,CACrB,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE,aAAa,GACtB,OAAO,CAAC,YAAY,EAAE,CAAC;IAM1B;;;OAGG;IACH,QAAQ,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC;CACtD"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { Pool, PoolConfig } from 'pg';
|
|
2
|
-
import type { ListStreamIdsOptions, StreamChunkData, StreamData, StreamStatus } from './stream-store.ts';
|
|
2
|
+
import type { ListStreamIdsOptions, StreamChunkData, StreamData, StreamStatus, StreamUpdateResult, StreamUpdater } from './stream-store.ts';
|
|
3
3
|
import { StreamStore } from './stream-store.ts';
|
|
4
4
|
export interface PostgresStreamStoreOptions {
|
|
5
5
|
pool: Pool | PoolConfig | string;
|
|
@@ -18,6 +18,7 @@ export declare class PostgresStreamStore extends StreamStore {
|
|
|
18
18
|
getStream(streamId: string): Promise<StreamData | undefined>;
|
|
19
19
|
getStreamStatus(streamId: string): Promise<StreamStatus | undefined>;
|
|
20
20
|
listStreamIds(options?: ListStreamIdsOptions): Promise<string[]>;
|
|
21
|
+
updateStream(streamId: string, update: StreamUpdater): Promise<StreamUpdateResult>;
|
|
21
22
|
updateStreamStatus(streamId: string, status: StreamStatus, options?: {
|
|
22
23
|
error?: string;
|
|
23
24
|
}): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"postgres.stream-store.d.ts","sourceRoot":"","sources":["../../../src/lib/stream/postgres.stream-store.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAc,UAAU,EAAE,MAAM,IAAI,CAAC;AAGvD,OAAO,KAAK,EACV,oBAAoB,EACpB,eAAe,EACf,UAAU,EACV,YAAY,
|
|
1
|
+
{"version":3,"file":"postgres.stream-store.d.ts","sourceRoot":"","sources":["../../../src/lib/stream/postgres.stream-store.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAc,UAAU,EAAE,MAAM,IAAI,CAAC;AAGvD,OAAO,KAAK,EACV,oBAAoB,EACpB,eAAe,EACf,UAAU,EACV,YAAY,EACZ,kBAAkB,EAClB,aAAa,EACd,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,MAAM,WAAW,0BAA0B;IACzC,IAAI,EAAE,IAAI,GAAG,UAAU,GAAG,MAAM,CAAC;IACjC,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAmBD,qBAAa,mBAAoB,SAAQ,WAAW;;gBAOtC,OAAO,EAAE,0BAA0B;IAkCzC,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAK3B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAyCtB,YAAY,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAS/C,YAAY,CAChB,MAAM,EAAE,UAAU,GACjB,OAAO,CAAC;QAAE,MAAM,EAAE,UAAU,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC;IAuB9C,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC;IAQ5D,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC;IAQpE,aAAa,CAAC,OAAO,CAAC,EAAE,oBAAoB,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAehE,YAAY,CAChB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,aAAa,GACpB,OAAO,CAAC,kBAAkB,CAAC;IA6CxB,kBAAkB,CACtB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,YAAY,EACpB,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAC3B,OAAO,CAAC,IAAI,CAAC;IA6CV,YAAY,CAAC,MAAM,EAAE,eAAe,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IA2CtD,SAAS,CACb,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE,MAAM,EAChB,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,eAAe,EAAE,CAAC;IAyBvB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAM7C,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;CAyC1D"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { DatabaseSync } from 'node:sqlite';
|
|
2
|
-
import type { ListStreamIdsOptions, StreamChunkData, StreamData, StreamStatus } from './stream-store.ts';
|
|
2
|
+
import type { ListStreamIdsOptions, StreamChunkData, StreamData, StreamStatus, StreamUpdateResult, StreamUpdater } from './stream-store.ts';
|
|
3
3
|
import { StreamStore } from './stream-store.ts';
|
|
4
4
|
export declare class SqliteStreamStore extends StreamStore {
|
|
5
5
|
#private;
|
|
@@ -13,6 +13,7 @@ export declare class SqliteStreamStore extends StreamStore {
|
|
|
13
13
|
getStream(streamId: string): Promise<StreamData | undefined>;
|
|
14
14
|
getStreamStatus(streamId: string): Promise<StreamStatus | undefined>;
|
|
15
15
|
listStreamIds(options?: ListStreamIdsOptions): Promise<string[]>;
|
|
16
|
+
updateStream(streamId: string, update: StreamUpdater): Promise<StreamUpdateResult>;
|
|
16
17
|
updateStreamStatus(streamId: string, status: StreamStatus, options?: {
|
|
17
18
|
error?: string;
|
|
18
19
|
}): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sqlite.stream-store.d.ts","sourceRoot":"","sources":["../../../src/lib/stream/sqlite.stream-store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAsB,MAAM,aAAa,CAAC;AAG/D,OAAO,KAAK,EACV,oBAAoB,EACpB,eAAe,EACf,UAAU,EACV,YAAY,
|
|
1
|
+
{"version":3,"file":"sqlite.stream-store.d.ts","sourceRoot":"","sources":["../../../src/lib/stream/sqlite.stream-store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAsB,MAAM,aAAa,CAAC;AAG/D,OAAO,KAAK,EACV,oBAAoB,EACpB,eAAe,EACf,UAAU,EACV,YAAY,EACZ,kBAAkB,EAClB,aAAa,EACd,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,qBAAa,iBAAkB,SAAQ,WAAW;;IAchD,KAAK,IAAI,IAAI;gBAOD,QAAQ,EAAE,MAAM,GAAG,YAAY;IAOrC,YAAY,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAe/C,YAAY,CAChB,MAAM,EAAE,UAAU,GACjB,OAAO,CAAC;QAAE,MAAM,EAAE,UAAU,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC;IAkD9C,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC;IA4B5D,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC;IAWpE,aAAa,CAAC,OAAO,CAAC,EAAE,oBAAoB,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAehE,YAAY,CAChB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,aAAa,GACpB,OAAO,CAAC,kBAAkB,CAAC;IAiDxB,kBAAkB,CACtB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,YAAY,EACpB,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAC3B,OAAO,CAAC,IAAI,CAAC;IAmCV,YAAY,CAAC,MAAM,EAAE,eAAe,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAsCtD,SAAS,CACb,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE,MAAM,EAChB,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,eAAe,EAAE,CAAC;IA+BvB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI7C,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;CAsD1D"}
|
|
@@ -3,6 +3,8 @@ import type { StreamChangeSource } from './change-source.ts';
|
|
|
3
3
|
import type { ListStreamIdsOptions, StreamData, StreamStore } from './stream-store.ts';
|
|
4
4
|
import type { StreamPart } from './types.ts';
|
|
5
5
|
export interface PersistStreamOptions extends Pick<PersistedWriterOptions, 'strategy' | 'flushSize'> {
|
|
6
|
+
/** @internal The caller already won the queued-to-running transition. */
|
|
7
|
+
preclaimed?: boolean;
|
|
6
8
|
onCancelDetected?: (info: {
|
|
7
9
|
streamId: string;
|
|
8
10
|
latencyMs: number | null;
|
|
@@ -41,6 +43,8 @@ export declare class StreamManager {
|
|
|
41
43
|
created: boolean;
|
|
42
44
|
}>;
|
|
43
45
|
cancel(streamId: string): Promise<void>;
|
|
46
|
+
claim(streamId: string): Promise<boolean>;
|
|
47
|
+
monitorCancellation(streamId: string, onCancelDetected: NonNullable<PersistStreamOptions['onCancelDetected']>): AsyncDisposable;
|
|
44
48
|
listStreamIds(options?: ListStreamIdsOptions): Promise<string[]>;
|
|
45
49
|
persist(stream: ReadableStream, streamId: string, options?: PersistStreamOptions): Promise<{
|
|
46
50
|
streamId: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stream-manager.d.ts","sourceRoot":"","sources":["../../../src/lib/stream/stream-manager.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,KAAK,sBAAsB,EAE5B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAgB,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAC3E,OAAO,KAAK,EACV,oBAAoB,EACpB,UAAU,EAEV,WAAW,EACZ,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAM7C,MAAM,WAAW,oBAAqB,SAAQ,IAAI,CAChD,sBAAsB,EACtB,UAAU,GAAG,WAAW,CACzB;IACC,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE;QACxB,QAAQ,EAAE,MAAM,CAAC;QACjB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;KAC1B,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC5B;AAED,MAAM,MAAM,yBAAyB,GACjC;IACE,IAAI,EAAE,cAAc,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;CACjB,GACD;IACE,IAAI,EAAE,cAAc,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,UAAU,GAAG,SAAS,GAAG,cAAc,CAAC;CACjD,GACD;IACE,IAAI,EAAE,qBAAqB,CAAC;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,EAAE,MAAM,CAAC;CACzB,GACD;IACE,IAAI,EAAE,yBAAyB,CAAC;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B,CAAC;AAEN,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,WAAW,CAAC;IACnB,YAAY,EAAE,kBAAkB,CAAC;IACjC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,yBAAyB,KAAK,IAAI,CAAC;CAC3D;AAID,qBAAa,aAAa;;
|
|
1
|
+
{"version":3,"file":"stream-manager.d.ts","sourceRoot":"","sources":["../../../src/lib/stream/stream-manager.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,KAAK,sBAAsB,EAE5B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAgB,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAC3E,OAAO,KAAK,EACV,oBAAoB,EACpB,UAAU,EAEV,WAAW,EACZ,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAM7C,MAAM,WAAW,oBAAqB,SAAQ,IAAI,CAChD,sBAAsB,EACtB,UAAU,GAAG,WAAW,CACzB;IACC,yEAAyE;IACzE,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE;QACxB,QAAQ,EAAE,MAAM,CAAC;QACjB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;KAC1B,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC5B;AAED,MAAM,MAAM,yBAAyB,GACjC;IACE,IAAI,EAAE,cAAc,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;CACjB,GACD;IACE,IAAI,EAAE,cAAc,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,UAAU,GAAG,SAAS,GAAG,cAAc,CAAC;CACjD,GACD;IACE,IAAI,EAAE,qBAAqB,CAAC;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,EAAE,MAAM,CAAC;CACzB,GACD;IACE,IAAI,EAAE,yBAAyB,CAAC;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B,CAAC;AAEN,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,WAAW,CAAC;IACnB,YAAY,EAAE,kBAAkB,CAAC;IACjC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,yBAAyB,KAAK,IAAI,CAAC;CAC3D;AAID,qBAAa,aAAa;;gBAUZ,OAAO,EAAE,oBAAoB;IAOzC,IAAI,KAAK,IAAI,WAAW,CAEvB;IAEK,QAAQ,CACZ,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC;QAAE,MAAM,EAAE,UAAU,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC;IAY9C,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAkBvC,KAAK,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAW/C,mBAAmB,CACjB,QAAQ,EAAE,MAAM,EAChB,gBAAgB,EAAE,WAAW,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,CAAC,GACtE,eAAe;IAaZ,aAAa,CAAC,OAAO,CAAC,EAAE,oBAAoB,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAIhE,OAAO,CACX,MAAM,EAAE,cAAc,EACtB,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE,oBAAoB,GAC7B,OAAO,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;IAoIhC,KAAK,CAAC,QAAQ,EAAE,MAAM,GAAG,cAAc,CAAC,UAAU,CAAC;IA4G7C,MAAM,CACV,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC;QAAE,MAAM,EAAE,UAAU,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC;IAK9C,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAY/C"}
|
|
@@ -13,6 +13,12 @@ export interface StreamData {
|
|
|
13
13
|
cancelRequestedAt: number | null;
|
|
14
14
|
error: string | null;
|
|
15
15
|
}
|
|
16
|
+
export type StreamUpdate = Partial<Omit<StreamData, 'id' | 'createdAt'>>;
|
|
17
|
+
export type StreamUpdater = (stream: Readonly<StreamData>) => StreamUpdate | undefined;
|
|
18
|
+
export interface StreamUpdateResult {
|
|
19
|
+
stream: StreamData;
|
|
20
|
+
updated: boolean;
|
|
21
|
+
}
|
|
16
22
|
export interface StreamChunkData {
|
|
17
23
|
streamId: string;
|
|
18
24
|
seq: number;
|
|
@@ -34,6 +40,16 @@ export declare abstract class StreamStore {
|
|
|
34
40
|
abstract getStreamStatus(streamId: string): Promise<StreamStatus | undefined>;
|
|
35
41
|
abstract listStreamIds(options?: ListStreamIdsOptions): Promise<string[]>;
|
|
36
42
|
listRunningStreamIds(): Promise<string[]>;
|
|
43
|
+
/**
|
|
44
|
+
* Atomically read and conditionally update a stream while holding the
|
|
45
|
+
* store's write lock for that stream. Concurrent calls for the same stream
|
|
46
|
+
* must observe one another's committed updates.
|
|
47
|
+
*
|
|
48
|
+
* The updater is synchronous and should be free of side effects. Return
|
|
49
|
+
* `undefined` to leave the stream unchanged. `updated` reports whether this
|
|
50
|
+
* caller persisted an update.
|
|
51
|
+
*/
|
|
52
|
+
abstract updateStream(streamId: string, update: StreamUpdater): Promise<StreamUpdateResult>;
|
|
37
53
|
abstract updateStreamStatus(streamId: string, status: StreamStatus, options?: {
|
|
38
54
|
error?: string;
|
|
39
55
|
}): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stream-store.d.ts","sourceRoot":"","sources":["../../../src/lib/stream/stream-store.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE7C,YAAY,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE7C,MAAM,MAAM,YAAY,GACpB,QAAQ,GACR,SAAS,GACT,WAAW,GACX,QAAQ,GACR,WAAW,CAAC;AAEhB,MAAM,WAAW,oBAAoB;IACnC,MAAM,CAAC,EAAE,YAAY,CAAC;CACvB;AAED,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,YAAY,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,UAAU,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,eAAe,EAAE,GACxB,aAAa,EAAE,CASjB;AAED,8BAAsB,WAAW;IAC/B,QAAQ,CAAC,YAAY,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAExD,QAAQ,CAAC,YAAY,CACnB,MAAM,EAAE,UAAU,GACjB,OAAO,CAAC;QAAE,MAAM,EAAE,UAAU,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC;IAEpD,QAAQ,CAAC,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC;IAErE,QAAQ,CAAC,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC;IAE7E,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE,oBAAoB,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAEnE,oBAAoB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAI/C,QAAQ,CAAC,kBAAkB,CACzB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,YAAY,EACpB,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAC3B,OAAO,CAAC,IAAI,CAAC;IAEhB,QAAQ,CAAC,YAAY,CAAC,MAAM,EAAE,eAAe,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAE/D,QAAQ,CAAC,SAAS,CAChB,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE,MAAM,EAChB,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,eAAe,EAAE,CAAC;IAE7B,QAAQ,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAEtD,QAAQ,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;CAC7D"}
|
|
1
|
+
{"version":3,"file":"stream-store.d.ts","sourceRoot":"","sources":["../../../src/lib/stream/stream-store.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { Telemetry } from 'ai';
|
|
2
|
+
export interface ConsoleTelemetryOptions {
|
|
3
|
+
includeTimestamp?: boolean;
|
|
4
|
+
pretty?: boolean;
|
|
5
|
+
logger?: Pick<Console, 'log' | 'error'>;
|
|
6
|
+
}
|
|
7
|
+
export declare function createConsoleTelemetry(options?: ConsoleTelemetryOptions): Telemetry;
|
|
8
|
+
//# sourceMappingURL=console-telemetry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"console-telemetry.d.ts","sourceRoot":"","sources":["../../../src/lib/telemetry/console-telemetry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AAQpC,MAAM,WAAW,uBAAuB;IACtC,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,IAAI,CAAC,OAAO,EAAE,KAAK,GAAG,OAAO,CAAC,CAAC;CACzC;AAED,wBAAgB,sBAAsB,CACpC,OAAO,GAAE,uBAA4B,GACpC,SAAS,CAaX"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { Telemetry } from 'ai';
|
|
2
|
+
type TelemetryLogLevel = 'log' | 'error';
|
|
3
|
+
type TelemetryEventWriter = (level: TelemetryLogLevel, event: string, data: unknown) => void | PromiseLike<void>;
|
|
4
|
+
export declare function createTelemetryIntegration(write: TelemetryEventWriter): Telemetry;
|
|
5
|
+
export {};
|
|
6
|
+
//# sourceMappingURL=create-telemetry-integration.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create-telemetry-integration.d.ts","sourceRoot":"","sources":["../../../src/lib/telemetry/create-telemetry-integration.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AAIpC,KAAK,iBAAiB,GAAG,KAAK,GAAG,OAAO,CAAC;AAEzC,KAAK,oBAAoB,GAAG,CAC1B,KAAK,EAAE,iBAAiB,EACxB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,OAAO,KACV,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;AAE9B,wBAAgB,0BAA0B,CACxC,KAAK,EAAE,oBAAoB,GAC1B,SAAS,CAuBX"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { Telemetry } from 'ai';
|
|
2
|
+
export interface FileTelemetryOptions {
|
|
3
|
+
path: string;
|
|
4
|
+
includeTimestamp?: boolean;
|
|
5
|
+
append?: boolean;
|
|
6
|
+
onWriteError?: (error: unknown) => void | PromiseLike<void>;
|
|
7
|
+
}
|
|
8
|
+
export declare function createFileTelemetry(options: FileTelemetryOptions): Telemetry;
|
|
9
|
+
//# sourceMappingURL=file-telemetry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"file-telemetry.d.ts","sourceRoot":"","sources":["../../../../src/lib/telemetry/file/file-telemetry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AAUpC,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;CAC7D;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,oBAAoB,GAAG,SAAS,CA+B5E"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lib/telemetry/file/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC"}
|
|
@@ -0,0 +1,307 @@
|
|
|
1
|
+
// packages/context/src/lib/telemetry/file/file-telemetry.ts
|
|
2
|
+
import { appendFile, mkdir, writeFile } from "node:fs/promises";
|
|
3
|
+
import { dirname } from "node:path";
|
|
4
|
+
|
|
5
|
+
// packages/context/src/lib/telemetry/redact-telemetry-event.ts
|
|
6
|
+
var REDACTED = "[Redacted]";
|
|
7
|
+
var INPUT_FIELDS = [
|
|
8
|
+
"system",
|
|
9
|
+
"prompt",
|
|
10
|
+
"instructions",
|
|
11
|
+
"messages",
|
|
12
|
+
"tools",
|
|
13
|
+
"toolChoice",
|
|
14
|
+
"activeTools",
|
|
15
|
+
"toolOrder",
|
|
16
|
+
"headers",
|
|
17
|
+
"providerOptions",
|
|
18
|
+
"runtimeContext",
|
|
19
|
+
"toolsContext",
|
|
20
|
+
"toolContext",
|
|
21
|
+
"promptMessages",
|
|
22
|
+
"stepTools",
|
|
23
|
+
"stepToolChoice",
|
|
24
|
+
"request",
|
|
25
|
+
"values",
|
|
26
|
+
"value",
|
|
27
|
+
"query",
|
|
28
|
+
"documents",
|
|
29
|
+
"schema",
|
|
30
|
+
"schemaDescription",
|
|
31
|
+
"schemaName"
|
|
32
|
+
];
|
|
33
|
+
var OUTPUT_FIELDS = [
|
|
34
|
+
"content",
|
|
35
|
+
"text",
|
|
36
|
+
"reasoning",
|
|
37
|
+
"reasoningText",
|
|
38
|
+
"files",
|
|
39
|
+
"sources",
|
|
40
|
+
"toolCalls",
|
|
41
|
+
"staticToolCalls",
|
|
42
|
+
"dynamicToolCalls",
|
|
43
|
+
"toolResults",
|
|
44
|
+
"staticToolResults",
|
|
45
|
+
"dynamicToolResults",
|
|
46
|
+
"response",
|
|
47
|
+
"responseMessages",
|
|
48
|
+
"providerMetadata",
|
|
49
|
+
"steps",
|
|
50
|
+
"finalStep",
|
|
51
|
+
"object",
|
|
52
|
+
"objectText",
|
|
53
|
+
"embedding",
|
|
54
|
+
"embeddings",
|
|
55
|
+
"ranking",
|
|
56
|
+
"rankings",
|
|
57
|
+
"results",
|
|
58
|
+
"error"
|
|
59
|
+
];
|
|
60
|
+
var OUTPUT_SPECIFICATION_EVENTS = /* @__PURE__ */ new Set([
|
|
61
|
+
"onStart",
|
|
62
|
+
"onStepStart",
|
|
63
|
+
"onObjectStepStart"
|
|
64
|
+
]);
|
|
65
|
+
function redactTelemetryEvent(event, data) {
|
|
66
|
+
if (!isRecord(data)) return data;
|
|
67
|
+
const recordInputs = data.recordInputs !== false;
|
|
68
|
+
const recordOutputs = data.recordOutputs !== false;
|
|
69
|
+
if (recordInputs && recordOutputs) return data;
|
|
70
|
+
const redacted = { ...data };
|
|
71
|
+
if (!recordInputs) {
|
|
72
|
+
redactFields(redacted, INPUT_FIELDS);
|
|
73
|
+
if (OUTPUT_SPECIFICATION_EVENTS.has(event) && Object.hasOwn(redacted, "output")) {
|
|
74
|
+
redacted.output = REDACTED;
|
|
75
|
+
}
|
|
76
|
+
if (Object.hasOwn(redacted, "toolCall")) {
|
|
77
|
+
redacted.toolCall = redactToolCallInput(redacted.toolCall);
|
|
78
|
+
}
|
|
79
|
+
if (Object.hasOwn(redacted, "toolOutput")) {
|
|
80
|
+
redacted.toolOutput = redactToolOutput(redacted.toolOutput, true, false);
|
|
81
|
+
}
|
|
82
|
+
if (Object.hasOwn(redacted, "steps")) {
|
|
83
|
+
redacted.steps = redactStepInputs(redacted.steps);
|
|
84
|
+
}
|
|
85
|
+
if (Object.hasOwn(redacted, "finalStep")) {
|
|
86
|
+
redacted.finalStep = redactStepInputs(redacted.finalStep);
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
if (!recordOutputs) {
|
|
90
|
+
redactFields(redacted, OUTPUT_FIELDS);
|
|
91
|
+
if (!OUTPUT_SPECIFICATION_EVENTS.has(event) && Object.hasOwn(redacted, "output")) {
|
|
92
|
+
redacted.output = REDACTED;
|
|
93
|
+
}
|
|
94
|
+
if (Object.hasOwn(redacted, "toolOutput")) {
|
|
95
|
+
redacted.toolOutput = redactToolOutput(redacted.toolOutput, false, true);
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
return redacted;
|
|
99
|
+
}
|
|
100
|
+
function redactFields(value, fields) {
|
|
101
|
+
for (const field of fields) {
|
|
102
|
+
if (Object.hasOwn(value, field)) value[field] = REDACTED;
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
function redactToolCallInput(value) {
|
|
106
|
+
if (!isRecord(value) || !Object.hasOwn(value, "input")) return value;
|
|
107
|
+
return { ...value, input: REDACTED };
|
|
108
|
+
}
|
|
109
|
+
function redactToolOutput(value, redactInput, redactOutput) {
|
|
110
|
+
if (!isRecord(value)) return value;
|
|
111
|
+
const redacted = { ...value };
|
|
112
|
+
if (redactInput && Object.hasOwn(redacted, "input")) {
|
|
113
|
+
redacted.input = REDACTED;
|
|
114
|
+
}
|
|
115
|
+
if (redactOutput) {
|
|
116
|
+
if (Object.hasOwn(redacted, "output")) redacted.output = REDACTED;
|
|
117
|
+
if (Object.hasOwn(redacted, "error")) redacted.error = REDACTED;
|
|
118
|
+
}
|
|
119
|
+
return redacted;
|
|
120
|
+
}
|
|
121
|
+
function redactStepInputs(value) {
|
|
122
|
+
if (Array.isArray(value)) return value.map(redactStepInputs);
|
|
123
|
+
if (!isRecord(value)) return value;
|
|
124
|
+
const redacted = { ...value };
|
|
125
|
+
redactFields(redacted, INPUT_FIELDS);
|
|
126
|
+
return redacted;
|
|
127
|
+
}
|
|
128
|
+
function isRecord(value) {
|
|
129
|
+
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
// packages/context/src/lib/telemetry/create-telemetry-integration.ts
|
|
133
|
+
function createTelemetryIntegration(write) {
|
|
134
|
+
const emit = (level, event, data) => write(level, event, redactTelemetryEvent(event, data));
|
|
135
|
+
const log = (event, data) => emit("log", event, data);
|
|
136
|
+
return {
|
|
137
|
+
onStart: (event) => log("onStart", event),
|
|
138
|
+
onStepStart: (event) => log("onStepStart", event),
|
|
139
|
+
onLanguageModelCallStart: (event) => log("onLanguageModelCallStart", event),
|
|
140
|
+
onLanguageModelCallEnd: (event) => log("onLanguageModelCallEnd", event),
|
|
141
|
+
onToolExecutionStart: (event) => log("onToolExecutionStart", event),
|
|
142
|
+
onToolExecutionEnd: (event) => log("onToolExecutionEnd", event),
|
|
143
|
+
onStepEnd: (event) => log("onStepEnd", event),
|
|
144
|
+
onObjectStepStart: (event) => log("onObjectStepStart", event),
|
|
145
|
+
onObjectStepEnd: (event) => log("onObjectStepEnd", event),
|
|
146
|
+
onEmbedStart: (event) => log("onEmbedStart", event),
|
|
147
|
+
onEmbedEnd: (event) => log("onEmbedEnd", event),
|
|
148
|
+
onRerankStart: (event) => log("onRerankStart", event),
|
|
149
|
+
onRerankEnd: (event) => log("onRerankEnd", event),
|
|
150
|
+
onEnd: (event) => log("onEnd", event),
|
|
151
|
+
onAbort: (event) => log("onAbort", event),
|
|
152
|
+
onError: (error) => emit("error", "onError", error)
|
|
153
|
+
};
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
// packages/context/src/lib/telemetry/safe-serialize.ts
|
|
157
|
+
function createTelemetryLogRecord(event, data, includeTimestamp) {
|
|
158
|
+
return {
|
|
159
|
+
...includeTimestamp ? { timestamp: (/* @__PURE__ */ new Date()).toISOString() } : {},
|
|
160
|
+
event,
|
|
161
|
+
data: normalizeTelemetryValue(data)
|
|
162
|
+
};
|
|
163
|
+
}
|
|
164
|
+
function stringifyTelemetryLogRecord(record, indentation) {
|
|
165
|
+
return JSON.stringify(record, null, indentation);
|
|
166
|
+
}
|
|
167
|
+
function normalizeTelemetryValue(value) {
|
|
168
|
+
return normalize(value, /* @__PURE__ */ new WeakSet());
|
|
169
|
+
}
|
|
170
|
+
function normalize(value, ancestors) {
|
|
171
|
+
if (value === null || typeof value === "string" || typeof value === "boolean") {
|
|
172
|
+
return value;
|
|
173
|
+
}
|
|
174
|
+
if (typeof value === "number") {
|
|
175
|
+
if (Number.isNaN(value)) return "[NaN]";
|
|
176
|
+
if (value === Infinity) return "[Infinity]";
|
|
177
|
+
if (value === -Infinity) return "[-Infinity]";
|
|
178
|
+
if (Object.is(value, -0)) return "[-0]";
|
|
179
|
+
return value;
|
|
180
|
+
}
|
|
181
|
+
if (typeof value === "undefined") return "[Undefined]";
|
|
182
|
+
if (typeof value === "bigint") return `${value}n`;
|
|
183
|
+
if (typeof value === "symbol") return String(value);
|
|
184
|
+
if (typeof value === "function") {
|
|
185
|
+
return `[Function${value.name ? ` ${value.name}` : ""}]`;
|
|
186
|
+
}
|
|
187
|
+
if (ancestors.has(value)) return "[Circular]";
|
|
188
|
+
ancestors.add(value);
|
|
189
|
+
try {
|
|
190
|
+
if (value instanceof Error) return normalizeError(value, ancestors);
|
|
191
|
+
if (value instanceof Date) {
|
|
192
|
+
return Number.isNaN(value.getTime()) ? "[Invalid Date]" : value.toISOString();
|
|
193
|
+
}
|
|
194
|
+
if (value instanceof RegExp) return String(value);
|
|
195
|
+
if (value instanceof URL) return value.href;
|
|
196
|
+
if (value instanceof Map) {
|
|
197
|
+
return {
|
|
198
|
+
$type: "Map",
|
|
199
|
+
entries: [...value.entries()].map(([key, entryValue]) => [
|
|
200
|
+
normalize(key, ancestors),
|
|
201
|
+
normalize(entryValue, ancestors)
|
|
202
|
+
])
|
|
203
|
+
};
|
|
204
|
+
}
|
|
205
|
+
if (value instanceof Set) {
|
|
206
|
+
return {
|
|
207
|
+
$type: "Set",
|
|
208
|
+
values: [...value].map((entry) => normalize(entry, ancestors))
|
|
209
|
+
};
|
|
210
|
+
}
|
|
211
|
+
if (value instanceof ArrayBuffer) {
|
|
212
|
+
return {
|
|
213
|
+
$type: "ArrayBuffer",
|
|
214
|
+
values: [...new Uint8Array(value)]
|
|
215
|
+
};
|
|
216
|
+
}
|
|
217
|
+
if (ArrayBuffer.isView(value)) {
|
|
218
|
+
const bytes = new Uint8Array(
|
|
219
|
+
value.buffer,
|
|
220
|
+
value.byteOffset,
|
|
221
|
+
value.byteLength
|
|
222
|
+
);
|
|
223
|
+
return {
|
|
224
|
+
$type: value.constructor.name,
|
|
225
|
+
values: [...bytes]
|
|
226
|
+
};
|
|
227
|
+
}
|
|
228
|
+
if (Array.isArray(value)) {
|
|
229
|
+
return value.map((entry) => normalize(entry, ancestors));
|
|
230
|
+
}
|
|
231
|
+
return normalizeObject(value, ancestors);
|
|
232
|
+
} catch (error) {
|
|
233
|
+
return `[Unserializable: ${errorMessage(error)}]`;
|
|
234
|
+
} finally {
|
|
235
|
+
ancestors.delete(value);
|
|
236
|
+
}
|
|
237
|
+
}
|
|
238
|
+
function normalizeError(error, ancestors) {
|
|
239
|
+
const normalized = /* @__PURE__ */ Object.create(null);
|
|
240
|
+
normalized.name = error.name;
|
|
241
|
+
normalized.message = error.message;
|
|
242
|
+
if (error.stack != null) normalized.stack = error.stack;
|
|
243
|
+
if (error.cause !== void 0) {
|
|
244
|
+
normalized.cause = normalize(error.cause, ancestors);
|
|
245
|
+
}
|
|
246
|
+
for (const [key, descriptor] of Object.entries(
|
|
247
|
+
Object.getOwnPropertyDescriptors(error)
|
|
248
|
+
)) {
|
|
249
|
+
if (["name", "message", "stack", "cause"].includes(key)) continue;
|
|
250
|
+
normalized[key] = normalizeDescriptor(descriptor, ancestors);
|
|
251
|
+
}
|
|
252
|
+
return normalized;
|
|
253
|
+
}
|
|
254
|
+
function normalizeObject(value, ancestors) {
|
|
255
|
+
const normalized = /* @__PURE__ */ Object.create(null);
|
|
256
|
+
const prototype = Object.getPrototypeOf(value);
|
|
257
|
+
const typeName = prototype?.constructor?.name;
|
|
258
|
+
if (typeName && typeName !== "Object") normalized.$type = typeName;
|
|
259
|
+
for (const key of Reflect.ownKeys(value)) {
|
|
260
|
+
const descriptor = Object.getOwnPropertyDescriptor(value, key);
|
|
261
|
+
if (descriptor == null) continue;
|
|
262
|
+
normalized[typeof key === "symbol" ? String(key) : key] = normalizeDescriptor(descriptor, ancestors);
|
|
263
|
+
}
|
|
264
|
+
return normalized;
|
|
265
|
+
}
|
|
266
|
+
function normalizeDescriptor(descriptor, ancestors) {
|
|
267
|
+
if ("value" in descriptor) return normalize(descriptor.value, ancestors);
|
|
268
|
+
const accessors = [
|
|
269
|
+
descriptor.get == null ? null : "Getter",
|
|
270
|
+
descriptor.set == null ? null : "Setter"
|
|
271
|
+
].filter(Boolean);
|
|
272
|
+
return `[${accessors.join("/")}]`;
|
|
273
|
+
}
|
|
274
|
+
function errorMessage(error) {
|
|
275
|
+
return error instanceof Error ? error.message : String(error);
|
|
276
|
+
}
|
|
277
|
+
|
|
278
|
+
// packages/context/src/lib/telemetry/file/file-telemetry.ts
|
|
279
|
+
function createFileTelemetry(options) {
|
|
280
|
+
const includeTimestamp = options.includeTimestamp ?? true;
|
|
281
|
+
const reportWriteError = async (error) => {
|
|
282
|
+
try {
|
|
283
|
+
await options.onWriteError?.(error);
|
|
284
|
+
} catch {
|
|
285
|
+
}
|
|
286
|
+
};
|
|
287
|
+
const initialize = mkdir(dirname(options.path), { recursive: true }).then(async () => {
|
|
288
|
+
if (options.append === false) await writeFile(options.path, "");
|
|
289
|
+
}).catch(reportWriteError);
|
|
290
|
+
let queue = initialize;
|
|
291
|
+
const write = (_level, event, data) => {
|
|
292
|
+
const record = createTelemetryLogRecord(event, data, includeTimestamp);
|
|
293
|
+
const line = `${stringifyTelemetryLogRecord(record)}
|
|
294
|
+
`;
|
|
295
|
+
const pendingWrite = queue.then(async () => {
|
|
296
|
+
await appendFile(options.path, line);
|
|
297
|
+
});
|
|
298
|
+
queue = pendingWrite.catch(() => {
|
|
299
|
+
});
|
|
300
|
+
return pendingWrite.catch(reportWriteError);
|
|
301
|
+
};
|
|
302
|
+
return createTelemetryIntegration(write);
|
|
303
|
+
}
|
|
304
|
+
export {
|
|
305
|
+
createFileTelemetry
|
|
306
|
+
};
|
|
307
|
+
//# sourceMappingURL=index.js.map
|