@trigger.dev/sdk 0.0.0-prerelease-20260908122921 → 0.0.0-prerelease-20260909071038
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/commonjs/v3/ai-shared.d.ts +15 -0
- package/dist/commonjs/v3/ai-shared.js +35 -1
- package/dist/commonjs/v3/ai-shared.js.map +1 -1
- package/dist/commonjs/v3/ai.d.ts +76 -9
- package/dist/commonjs/v3/ai.js +316 -222
- package/dist/commonjs/v3/ai.js.map +1 -1
- package/dist/commonjs/v3/chat-client.d.ts +8 -0
- package/dist/commonjs/v3/chat-client.js +199 -109
- package/dist/commonjs/v3/chat-client.js.map +1 -1
- package/dist/commonjs/v3/chat-react.d.ts +54 -0
- package/dist/commonjs/v3/chat-react.js +83 -0
- package/dist/commonjs/v3/chat-react.js.map +1 -1
- package/dist/commonjs/v3/chat.d.ts +11 -0
- package/dist/commonjs/v3/chat.js +36 -27
- package/dist/commonjs/v3/chat.js.map +1 -1
- package/dist/commonjs/v3/chatSnapshotIo.d.ts +2 -0
- package/dist/commonjs/v3/chatSnapshotIo.js +174 -0
- package/dist/commonjs/v3/chatSnapshotIo.js.map +1 -0
- package/dist/commonjs/v3/test/index.d.ts +1 -0
- package/dist/commonjs/v3/test/index.js +3 -1
- package/dist/commonjs/v3/test/index.js.map +1 -1
- package/dist/commonjs/v3/test/mock-chat-agent.d.ts +4 -4
- package/dist/commonjs/v3/test/mock-chat-agent.js +25 -4
- package/dist/commonjs/v3/test/mock-chat-agent.js.map +1 -1
- package/dist/commonjs/v3/test/transcript-storage-tests.d.ts +40 -0
- package/dist/commonjs/v3/test/transcript-storage-tests.js +258 -0
- package/dist/commonjs/v3/test/transcript-storage-tests.js.map +1 -0
- package/dist/commonjs/v3/transcriptStorage.d.ts +229 -0
- package/dist/commonjs/v3/transcriptStorage.js +321 -0
- package/dist/commonjs/v3/transcriptStorage.js.map +1 -0
- package/dist/commonjs/version.js +1 -1
- package/dist/esm/v3/ai-shared.d.ts +15 -0
- package/dist/esm/v3/ai-shared.js +33 -0
- package/dist/esm/v3/ai-shared.js.map +1 -1
- package/dist/esm/v3/ai.d.ts +76 -9
- package/dist/esm/v3/ai.js +306 -217
- package/dist/esm/v3/ai.js.map +1 -1
- package/dist/esm/v3/chat-client.d.ts +8 -0
- package/dist/esm/v3/chat-client.js +200 -110
- package/dist/esm/v3/chat-client.js.map +1 -1
- package/dist/esm/v3/chat-react.d.ts +54 -0
- package/dist/esm/v3/chat-react.js +81 -0
- package/dist/esm/v3/chat-react.js.map +1 -1
- package/dist/esm/v3/chat.d.ts +11 -0
- package/dist/esm/v3/chat.js +36 -27
- package/dist/esm/v3/chat.js.map +1 -1
- package/dist/esm/v3/chatSnapshotIo.d.ts +2 -0
- package/dist/esm/v3/chatSnapshotIo.js +166 -0
- package/dist/esm/v3/chatSnapshotIo.js.map +1 -0
- package/dist/esm/v3/test/index.d.ts +1 -0
- package/dist/esm/v3/test/index.js +1 -0
- package/dist/esm/v3/test/index.js.map +1 -1
- package/dist/esm/v3/test/mock-chat-agent.d.ts +4 -4
- package/dist/esm/v3/test/mock-chat-agent.js +25 -4
- package/dist/esm/v3/test/mock-chat-agent.js.map +1 -1
- package/dist/esm/v3/test/transcript-storage-tests.d.ts +40 -0
- package/dist/esm/v3/test/transcript-storage-tests.js +255 -0
- package/dist/esm/v3/test/transcript-storage-tests.js.map +1 -0
- package/dist/esm/v3/transcriptStorage.d.ts +229 -0
- package/dist/esm/v3/transcriptStorage.js +309 -0
- package/dist/esm/v3/transcriptStorage.js.map +1 -0
- package/dist/esm/version.js +1 -1
- package/docs/ai-chat/actions.mdx +2 -2
- package/docs/ai-chat/background-injection.mdx +2 -0
- package/docs/ai-chat/compaction.mdx +2 -0
- package/docs/ai-chat/frontend.mdx +2 -0
- package/docs/ai-chat/lifecycle-hooks.mdx +6 -2
- package/docs/ai-chat/patterns/database-persistence.mdx +6 -2
- package/docs/ai-chat/patterns/persistence-and-replay.mdx +34 -23
- package/docs/ai-chat/reference.mdx +56 -5
- package/docs/ai-chat/transcript-storage.mdx +233 -0
- package/docs/config/extensions/syncEnvVars.mdx +6 -0
- package/docs/deploy-environment-variables.mdx +23 -2
- package/package.json +2 -2
- package/skills/trigger-authoring-chat-agent/SKILL.md +3 -2
- package/skills/trigger-chat-agent-advanced/SKILL.md +5 -5
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { UIMessage, UIMessageChunk } from "ai";
|
|
2
|
-
import type { LocalsKey } from "@trigger.dev/core/v3";
|
|
2
|
+
import type { LocalsKey, TranscriptSnapshotV2 } from "@trigger.dev/core/v3";
|
|
3
3
|
import { type MockTaskContextOptions } from "@trigger.dev/core/v3/test";
|
|
4
4
|
import { type ChatSnapshotV1 } from "../ai.js";
|
|
5
5
|
/** Pre-seed locals before the agent's `run()` starts. */
|
|
@@ -63,7 +63,7 @@ export type MockChatAgentOptions = {
|
|
|
63
63
|
*
|
|
64
64
|
* See plan section B.3 for the boot orchestration spec.
|
|
65
65
|
*/
|
|
66
|
-
snapshot?: ChatSnapshotV1;
|
|
66
|
+
snapshot?: ChatSnapshotV1 | TranscriptSnapshotV2;
|
|
67
67
|
/**
|
|
68
68
|
* Set `payload.continuation = true` on the initial wire payload. Used
|
|
69
69
|
* to simulate a continuation-run boot (a new run picking up after a
|
|
@@ -190,7 +190,7 @@ export type MockChatAgentHarness = {
|
|
|
190
190
|
* Effective on the next run boot only. Calling mid-turn is a no-op
|
|
191
191
|
* because the snapshot read happens once at run boot.
|
|
192
192
|
*/
|
|
193
|
-
seedSnapshot(snapshot: ChatSnapshotV1 | undefined): void;
|
|
193
|
+
seedSnapshot(snapshot: ChatSnapshotV1 | TranscriptSnapshotV2 | undefined): void;
|
|
194
194
|
/**
|
|
195
195
|
* Pre-seed `session.out` chunks for the next boot's replay. The runtime's
|
|
196
196
|
* `replaySessionOutTail` returns whatever the synthetic chunks reduce
|
|
@@ -258,7 +258,7 @@ export type MockChatAgentHarness = {
|
|
|
258
258
|
* has been written yet. Updated each time `writeChatSnapshot` is
|
|
259
259
|
* invoked from the run loop's snapshot-write site (plan section B.6).
|
|
260
260
|
*/
|
|
261
|
-
getSnapshot():
|
|
261
|
+
getSnapshot(): TranscriptSnapshotV2 | undefined;
|
|
262
262
|
/**
|
|
263
263
|
* Close the chat session cleanly. Sends `trigger: "close"` and awaits the
|
|
264
264
|
* task's `run()` function returning. Call this at the end of every test
|
|
@@ -10,6 +10,15 @@ function isControlChunk(chunk) {
|
|
|
10
10
|
const type = chunk.type;
|
|
11
11
|
return typeof type === "string" && CONTROL_CHUNK_TYPES.has(type);
|
|
12
12
|
}
|
|
13
|
+
/**
|
|
14
|
+
* Highest `session.in` seqNum any harness has produced for a session id,
|
|
15
|
+
* keyed by `sessionId`. Production `session.in` is a durable S2 stream whose
|
|
16
|
+
* seqNums are monotonic across the runs of a chat; a fresh in-memory manager
|
|
17
|
+
* per `mockChatAgent` would otherwise restart at 0, so a continuation's
|
|
18
|
+
* follow-up message would collide with the resume floor and be dropped. This
|
|
19
|
+
* survives the per-run manager reset so continuation runs stay monotonic.
|
|
20
|
+
*/
|
|
21
|
+
const durableSessionInSeq = new Map();
|
|
13
22
|
/**
|
|
14
23
|
* Create an offline test harness for a `chat.agent` task.
|
|
15
24
|
*
|
|
@@ -103,9 +112,7 @@ export function mockChatAgent(agent, options = {}) {
|
|
|
103
112
|
const closeCalls = [];
|
|
104
113
|
let failCloseCalls = 0;
|
|
105
114
|
__resetChatInputRouterForTests();
|
|
106
|
-
__setReadChatSnapshotImplForTests((
|
|
107
|
-
return seededSnapshot;
|
|
108
|
-
});
|
|
115
|
+
__setReadChatSnapshotImplForTests(() => seededSnapshot);
|
|
109
116
|
__setWriteChatSnapshotImplForTests((_id, snapshot) => {
|
|
110
117
|
lastWrittenSnapshot = snapshot;
|
|
111
118
|
});
|
|
@@ -216,7 +223,21 @@ export function mockChatAgent(agent, options = {}) {
|
|
|
216
223
|
...(options.previousRunId ? { previousRunId: options.previousRunId } : {}),
|
|
217
224
|
...(options.headStartMessages ? { headStartMessages: options.headStartMessages } : {}),
|
|
218
225
|
};
|
|
219
|
-
|
|
226
|
+
const durableSeq = durableSessionInSeq.get(sessionId);
|
|
227
|
+
if (durableSeq !== undefined) {
|
|
228
|
+
sessionStreams.setLastSeqNum(sessionId, "in", durableSeq);
|
|
229
|
+
}
|
|
230
|
+
const rawSendSessionInput = drivers.sessions.in.send;
|
|
231
|
+
sendSessionInput = async (id, data, io, metadata) => {
|
|
232
|
+
await rawSendSessionInput(id, data, io, metadata);
|
|
233
|
+
const io2 = io ?? "in";
|
|
234
|
+
if (io2 === "in") {
|
|
235
|
+
const latest = sessionStreams.lastSeqNum(id, "in");
|
|
236
|
+
if (latest !== undefined) {
|
|
237
|
+
durableSessionInSeq.set(id, Math.max(durableSessionInSeq.get(id) ?? latest, latest));
|
|
238
|
+
}
|
|
239
|
+
}
|
|
240
|
+
};
|
|
220
241
|
closeSessionInput = drivers.sessions.in.close;
|
|
221
242
|
// Record every chunk written to session.out, detect turn-complete.
|
|
222
243
|
const listener = (chunk) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mock-chat-agent.js","sourceRoot":"","sources":["../../../../src/v3/test/mock-chat-agent.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"mock-chat-agent.js","sourceRoot":"","sources":["../../../../src/v3/test/mock-chat-agent.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEvE,OAAO,EAAE,oBAAoB,EAA+B,MAAM,2BAA2B,CAAC;AAC9F,OAAO,EACL,6BAA6B,EAC7B,4BAA4B,EAC5B,6BAA6B,GAC9B,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,8BAA8B,EAC9B,iCAAiC,EACjC,oCAAoC,EACpC,qCAAqC,EACrC,kCAAkC,GAEnC,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,uBAAuB,EAA4B,MAAM,0BAA0B,CAAC;AAwT7F,MAAM,mBAAmB,GAAG,IAAI,GAAG,CAAC,CAAC,uBAAuB,EAAE,0BAA0B,CAAC,CAAC,CAAC;AAE3F,SAAS,cAAc,CAAC,KAAc;IACpC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,KAAK,CAAC;IAC9D,MAAM,IAAI,GAAI,KAA2B,CAAC,IAAI,CAAC;IAC/C,OAAO,OAAO,IAAI,KAAK,QAAQ,IAAI,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AACnE,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,mBAAmB,GAAG,IAAI,GAAG,EAAkB,CAAC;AAEtD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,MAAM,UAAU,aAAa,CAC3B,KAAsB,EACtB,OAAO,GAAyB,EAAE;IAElC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,WAAW,CAAC;IAC7C,0EAA0E;IAC1E,oDAAoD;IACpD,MAAM,SAAS,GAAG,MAAM,CAAC;IACzB,4EAA4E;IAC5E,qDAAqD;IACrD,MAAM,IAAI,GACR,OAAO,CAAC,IAAI;QACZ,CAAC,OAAO,CAAC,YAAY,KAAK,IAAI;YAC5B,CAAC,CAAC,cAAc;YAChB,CAAC,CAAC,OAAO,CAAC,OAAO,KAAK,KAAK;gBACzB,CAAC,CAAC,gBAAgB;gBAClB,CAAC,CAAC,SAAS,CAAC,CAAC;IACnB,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;IAEtC,MAAM,SAAS,GAAG,eAAe,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACpD,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CACb,8CAA8C,KAAK,CAAC,EAAE,KAAK;YACzD,yFAAyF,CAC5F,CAAC;IACJ,CAAC;IAED,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC;IAEhC,qEAAqE;IACrE,4EAA4E;IAC5E,MAAM,eAAe,GAAwB;QAC3C,MAAM,EAAE,EAAE;QACV,SAAS,EAAE,IAAI,GAAG,EAAE;KACrB,CAAC;IAEF,mDAAmD;IACnD,MAAM,YAAY,GAAc,EAAE,CAAC;IACnC,MAAM,SAAS,GAAqB,EAAE,CAAC;IAEvC,yEAAyE;IACzE,IAAI,YAA4B,CAAC;IACjC,IAAI,gBAKc,CAAC;IACnB,IAAI,iBAA4D,CAAC;IACjE,IAAI,SAA2B,CAAC;IAEhC,uFAAuF;IACvF,wEAAwE;IACxE,IAAI,qBAAqB,GAAsB,EAAE,CAAC;IAClD,MAAM,mBAAmB,GAAG,GAAG,EAAE,CAC/B,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;QAC5B,qBAAqB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACtC,CAAC,CAAC,CAAC;IAEL,oDAAoD;IACpD,IAAI,mBAAgC,CAAC;IACrC,MAAM,YAAY,GAAG,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;QACjD,mBAAmB,GAAG,OAAO,CAAC;IAChC,CAAC,CAAC,CAAC;IAEH,wEAAwE;IACxE,sEAAsE;IACtE,wDAAwD;IACxD,4DAA4D;IAC5D,oEAAoE;IACpE,8CAA8C;IAC9C,IAAI,cAAc,GAAsD,OAAO,CAAC,QAAQ,CAAC;IACzF,IAAI,mBAAqD,CAAC;IAC1D,IAAI,kBAAkB,GAAqB,EAAE,CAAC;IAC9C,IAAI,mBAA0C,CAAC;IAC/C,IAAI,uBAAuB,GAAgB,EAAE,CAAC;IAC9C,MAAM,UAAU,GAAkD,EAAE,CAAC;IACrE,IAAI,cAAc,GAAG,CAAC,CAAC;IAEvB,8BAA8B,EAAE,CAAC;IAEjC,iCAAiC,CAAC,GAAG,EAAE,CAAC,cAAc,CAAC,CAAC;IACxD,kCAAkC,CAChC,CAAsB,GAAW,EAAE,QAAiC,EAAE,EAAE;QACtE,mBAAmB,GAAG,QAAgC,CAAC;IACzD,CAAC,CACF,CAAC;IAEF,2DAA2D;IAC3D,qEAAqE;IACrE,gEAAgE;IAChE,+DAA+D;IAC/D,0DAA0D;IAC1D,mEAAmE;IACnE,qCAAqC,CAAC,KAAK,IAAI,EAAE;QAC/C,MAAM,OAAO,GACX,kBAAkB,CAAC,MAAM,KAAK,CAAC;YAC7B,CAAC,CAAC,EAAE;YACJ,CAAC,CAAE,CAAC,MAAM,sBAAsB,CAAC,kBAAkB,CAAC,CAAe,CAAC;QACxE,mEAAmE;QACnE,kEAAkE;QAClE,kEAAkE;QAClE,OAAO;YACL,OAAO;YACP,OAAO,EAAE,mBAAmB;YAC5B,UAAU,EAAE,mBAAmB;SACvB,CAAC;IACb,CAAC,CAAC,CAAC;IAEH,4DAA4D;IAC5D,mEAAmE;IACnE,oEAAoE;IACpE,oEAAoE;IACpE,4DAA4D;IAC5D,oCAAoC,CAAC,KAAK,IAAI,EAAE;QAC9C,OAAO,uBAAuB,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;YAClD,OAAO;YACP,QAAQ,EAAE,SAAS;YACnB,MAAM,EAAE,CAAC,GAAG,CAAC;SACd,CAAC,CAAU,CAAC;IACf,CAAC,CAAC,CAAC;IAEH,qEAAqE;IACrE,mEAAmE;IACnE,iEAAiE;IACjE,8DAA8D;IAC9D,mEAAmE;IACnE,sEAAsE;IACtE,2BAA2B;IAC3B,4BAA4B,CAAC,CAAC,EAAE,EAAE,EAAE,CAClC,uBAAuB,CAAC,EAAE,EAAE,eAAe,EAAE,GAAG,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC,CACtE,CAAC;IAEF,4EAA4E;IAC5E,8EAA8E;IAC9E,6BAA6B,CAAC,CAAC,qBAAqB,EAAE,IAAI,EAAE,EAAE;QAC5D,UAAU,CAAC,IAAI,CAAC;YACd,SAAS,EAAE,qBAAqB;YAChC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACjD,CAAC,CAAC;QACH,IAAI,cAAc,GAAG,CAAC,EAAE,CAAC;YACvB,cAAc,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,8DAA8D,CAAC,CAAC;QAClF,CAAC;QACD,OAAO;YACL,EAAE,EAAE,qBAAqB;YACzB,UAAU,EAAE,qBAAqB;YACjC,QAAQ,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YAClC,YAAY,EAAE,IAAI,EAAE,MAAM,IAAI,IAAI;SAC1B,CAAC;IACb,CAAC,CAAC,CAAC;IAEH,mEAAmE;IACnE,kEAAkE;IAClE,sEAAsE;IACtE,qEAAqE;IACrE,mEAAmE;IACnE,2DAA2D;IAC3D,6BAA6B,CAAC,CAAC,IAAI,EAAE,EAAE;QACrC,IAAI,OAAO,CAAC,GAAG,CAAC,uBAAuB,KAAK,GAAG,EAAE,CAAC;YAChD,OAAO,CAAC,GAAG,CAAC,0CAA0C,EAAE,IAAI,CAAC,CAAC;QAChE,CAAC;QACD,MAAM,SAAS,GAAG,YAAY,IAAI,CAAC,UAAU,IAAI,MAAM,EAAE,CAAC;QAC1D,OAAO;YACL,EAAE,EAAE,gBAAgB,IAAI,CAAC,UAAU,IAAI,MAAM,EAAE;YAC/C,UAAU,EAAE,IAAI,CAAC,UAAU,IAAI,IAAI;YACnC,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,cAAc,EAAE,IAAI,CAAC,cAAc;YACnC,aAAa,EAAE,IAAI,CAAC,aAAa;YACjC,YAAY,EAAE,SAAS;YACvB,KAAK,EAAE,SAAS;YAChB,iBAAiB,EAAE,qBAAqB;YACxC,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,EAAE;YACrB,QAAQ,EAAE,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAmC;YACnE,QAAQ,EAAE,IAAI;YACd,YAAY,EAAE,IAAI;YAClB,SAAS,EAAE,IAAI;YACf,SAAS,EAAE,IAAI,IAAI,CAAC,CAAC,CAAC;YACtB,SAAS,EAAE,IAAI,IAAI,CAAC,CAAC,CAAC;YACtB,QAAQ,EAAE,KAAK;SAChB,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,YAAY,GAAG,oBAAoB,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;QACpD,SAAS,GAAG,IAAI,eAAe,EAAE,CAAC;QAElC,qEAAqE;QACrE,qEAAqE;QACrE,kEAAkE;QAClE,+DAA+D;QAC/D,uEAAuE;QACvE,gEAAgE;QAChE,uCAAuC;QACvC,MAAM,kBAAkB,GAAG,IAAI,KAAK,cAAc,CAAC;QACnD,MAAM,cAAc,GAAoB;YACtC,MAAM;YACN,GAAG,CAAC,kBAAkB;gBACpB,CAAC,CAAC,EAAE,OAAO,EAAE,SAAkB,EAAE,YAAY,EAAE,IAAI,EAAE;gBACrD,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;YACtB,QAAQ,EAAE,UAAU;YACpB,GAAG,CAAC,CAAC,kBAAkB,IAAI,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC9E,GAAG,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC1E,GAAG,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACvF,CAAC;QAEF,MAAM,UAAU,GAAG,mBAAmB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACtD,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;YAC7B,cAAc,CAAC,aAAa,CAAC,SAAS,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC;QAC5D,CAAC;QACD,MAAM,mBAAmB,GAAG,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC;QACrD,gBAAgB,GAAG,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE;YAClD,MAAM,mBAAmB,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,QAAQ,CAAC,CAAC;YAClD,MAAM,GAAG,GAAG,EAAE,IAAI,IAAI,CAAC;YACvB,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;gBACjB,MAAM,MAAM,GAAG,cAAc,CAAC,UAAU,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;gBACnD,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;oBACzB,mBAAmB,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,mBAAmB,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;gBACvF,CAAC;YACH,CAAC;QACH,CAAC,CAAC;QACF,iBAAiB,GAAG,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,KAAK,CAAC;QAE9C,mEAAmE;QACnE,MAAM,QAAQ,GAAG,CAAC,KAAc,EAAE,EAAE;YAClC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACzB,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC3B,SAAS,CAAC,IAAI,CAAC,KAAuB,CAAC,CAAC;YAC1C,CAAC;YACD,IACE,OAAO,KAAK,KAAK,QAAQ;gBACzB,KAAK,KAAK,IAAI;gBACb,KAA2B,CAAC,IAAI,KAAK,uBAAuB,EAC7D,CAAC;gBACD,MAAM,SAAS,GAAG,qBAAqB,CAAC;gBACxC,qBAAqB,GAAG,EAAE,CAAC;gBAC3B,KAAK,MAAM,OAAO,IAAI,SAAS;oBAAE,OAAO,EAAE,CAAC;YAC7C,CAAC;QACH,CAAC,CAAC;QACF,eAAe,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACxC,MAAM,WAAW,GAAG,GAAG,EAAE,CAAC,eAAe,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAErE,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;YACxB,MAAM,OAAO,CAAC,WAAW,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC;QACzD,CAAC;QAED,mBAAmB,EAAE,CAAC;QAEtB,IAAI,CAAC;YACH,IAAI,OAAO,CAAC,GAAG,CAAC,uBAAuB,KAAK,GAAG,EAAE,CAAC;gBAChD,OAAO,CAAC,GAAG,CAAC,8CAA8C,EAAE,cAAc,CAAC,CAAC;YAC9E,CAAC;YACD,MAAM,KAAK,CAAC,cAAc,EAAE;gBAC1B,GAAG,EAAE,OAAO,CAAC,GAAG;gBAChB,MAAM,EAAE,SAAS,CAAC,MAAM;aACzB,CAAC,CAAC;YACH,IAAI,OAAO,CAAC,GAAG,CAAC,uBAAuB,KAAK,GAAG,EAAE,CAAC;gBAChD,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC;YAChD,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,OAAO,CAAC,GAAG,CAAC,uBAAuB,KAAK,GAAG,EAAE,CAAC;gBAChD,OAAO,CAAC,GAAG,CAAC,8BAA8B,EAAE,GAAG,CAAC,CAAC;YACnD,CAAC;YACD,MAAM,GAAG,CAAC;QACZ,CAAC;gBAAS,CAAC;YACT,WAAW,EAAE,CAAC;YACd,sEAAsE;YACtE,MAAM,SAAS,GAAG,qBAAqB,CAAC;YACxC,qBAAqB,GAAG,EAAE,CAAC;YAC3B,KAAK,MAAM,OAAO,IAAI,SAAS;gBAAE,OAAO,EAAE,CAAC;QAC7C,CAAC;IACH,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC;SACpB,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;QACb,oEAAoE;QACpE,MAAM,SAAS,GAAG,qBAAqB,CAAC;QACxC,qBAAqB,GAAG,EAAE,CAAC;QAC3B,KAAK,MAAM,OAAO,IAAI,SAAS;YAAE,OAAO,EAAE,CAAC;QAC3C,MAAM,GAAG,CAAC;IACZ,CAAC,CAAC;SACD,OAAO,CAAC,GAAG,EAAE;QACZ,2DAA2D;QAC3D,4BAA4B,CAAC,SAAS,CAAC,CAAC;QACxC,6BAA6B,CAAC,SAAS,CAAC,CAAC;QACzC,6BAA6B,CAAC,SAAS,CAAC,CAAC;QACzC,iCAAiC,CAAC,SAAS,CAAC,CAAC;QAC7C,kCAAkC,CAAC,SAAS,CAAC,CAAC;QAC9C,qCAAqC,CAAC,SAAS,CAAC,CAAC;QACjD,oCAAoC,CAAC,SAAS,CAAC,CAAC;IAClD,CAAC,CAAC,CAAC;IAEL,MAAM,kBAAkB,GAAG,KAAK,EAAE,OAAwB,EAA8B,EAAE;QACxF,MAAM,YAAY,CAAC;QACnB,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC;QACnC,MAAM,YAAY,GAAG,mBAAmB,EAAE,CAAC;QAC3C,MAAM,gBAAgB,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,CAAC;QAChE,MAAM,YAAY,CAAC;QACnB,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC7C,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAqB,CAAC;QAC/E,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;IAC/B,CAAC,CAAC;IAEF,MAAM,OAAO,GAAyB;QACpC,MAAM;QAEN,KAAK,CAAC,WAAW,CAAC,OAAO;YACvB,OAAO,kBAAkB,CAAC;gBACxB,OAAO;gBACP,MAAM;gBACN,OAAO,EAAE,gBAAgB;gBACzB,QAAQ,EAAE,UAAU;aACrB,CAAC,CAAC;QACL,CAAC;QAED,KAAK,CAAC,cAAc;YAClB,OAAO,kBAAkB,CAAC;gBACxB,MAAM;gBACN,OAAO,EAAE,oBAAoB;gBAC7B,QAAQ,EAAE,UAAU;aACrB,CAAC,CAAC;QACL,CAAC;QAED,KAAK,CAAC,aAAa,CAAC,EAAE,QAAQ,EAAE;YAC9B,OAAO,kBAAkB,CAAC;gBACxB,iBAAiB,EAAE,QAAQ;gBAC3B,MAAM;gBACN,OAAO,EAAE,kBAAkB;gBAC3B,QAAQ,EAAE,UAAU;aACrB,CAAC,CAAC;QACL,CAAC;QAED,KAAK,CAAC,UAAU,CAAC,MAAM;YACrB,OAAO,kBAAkB,CAAC;gBACxB,MAAM;gBACN,OAAO,EAAE,QAAQ;gBACjB,MAAM;gBACN,QAAQ,EAAE,UAAU;aACrB,CAAC,CAAC;QACL,CAAC;QAED,KAAK,CAAC,kBAAkB,CAAC,OAAO;YAC9B,MAAM,YAAY,CAAC;YAEnB,MAAM,SAAS,GAAG,cAAc,CAAC,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YAEhE,MAAM,gBAAgB,CAAC,SAAS,EAAE;gBAChC,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE;oBACP,OAAO;oBACP,MAAM;oBACN,OAAO,EAAE,gBAAgB;oBACzB,QAAQ,EAAE,UAAU;iBACrB;aACF,CAAC,CAAC;YAEH;;;;;;eAMG;YACH,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC;YACpC,OAAO,CAAC,cAAc,CAAC,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,SAAS,EAAE,CAAC;gBACpE,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,EAAE,CAAC;oBAC1B,MAAM,IAAI,KAAK,CACb,kCAAkC,OAAO,CAAC,EAAE,6BAA6B,CAC1E,CAAC;gBACJ,CAAC;gBACD,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;YACzD,CAAC;QACH,CAAC;QAED,KAAK,CAAC,QAAQ,CAAC,OAAO;YACpB,MAAM,YAAY,CAAC;YACnB,MAAM,gBAAgB,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;QAC/D,CAAC;QAED,KAAK,CAAC,YAAY,CAAC,IAAI;YACrB,MAAM,YAAY,CAAC;YACnB,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC;YACnC,MAAM,YAAY,GAAG,mBAAmB,EAAE,CAAC;YAC3C,MAAM,gBAAgB,CAAC,SAAS,EAAE;gBAChC,IAAI,EAAE,UAAU;gBAChB,uBAAuB,EAAE,IAAI,CAAC,uBAAuB;gBACrD,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,KAAK;aAC/B,CAAC,CAAC;YACH,MAAM,YAAY,CAAC;YACnB,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YAC7C,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAqB,CAAC;YAC/E,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;QAC/B,CAAC;QAED,KAAK,CAAC,gBAAgB;YACpB,MAAM,YAAY,CAAC;YACnB,mEAAmE;YACnE,iDAAiD;YACjD,MAAM,gBAAgB,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC,CAAC;YAC7D,MAAM,OAAO,CAAC,IAAI,CAAC;gBACjB,YAAY,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC;gBAC5B,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;aAC1D,CAAC,CAAC;QACL,CAAC;QAED,KAAK,CAAC,SAAS;YACb,MAAM,YAAY,CAAC;YACnB,MAAM,gBAAgB,CAAC,SAAS,EAAE;gBAChC,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE;oBACP,MAAM;oBACN,OAAO,EAAE,OAAO;iBACjB;aACF,CAAC,CAAC;YACH,MAAM,OAAO,CAAC,WAAW,EAAE,CAAC;QAC9B,CAAC;QAED,KAAK,CAAC,WAAW,CAAC,SAAS,GAAG,IAAI;YAChC,IAAI,KAAgD,CAAC;YACrD,MAAM,QAAQ,GAAG,IAAI,OAAO,CAAY,CAAC,OAAO,EAAE,EAAE;gBAClD,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC,CAAC;YAC1D,CAAC,CAAC,CAAC;YACH,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,MAAe,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC;gBACzF,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;oBACzB,MAAM,IAAI,KAAK,CAAC,0CAA0C,SAAS,IAAI,CAAC,CAAC;gBAC3E,CAAC;YACH,CAAC;oBAAS,CAAC;gBACT,IAAI,KAAK;oBAAE,YAAY,CAAC,KAAK,CAAC,CAAC;YACjC,CAAC;QACH,CAAC;QAED,aAAa;YACX,OAAO,CAAC,GAAG,UAAU,CAAC,CAAC;QACzB,CAAC;QAED,kBAAkB,CAAC,KAAK;YACtB,cAAc,GAAG,KAAK,CAAC;QACzB,CAAC;QAED,YAAY,CAAC,QAAQ;YACnB,cAAc,GAAG,QAAQ,CAAC;QAC5B,CAAC;QAED,kBAAkB,CAAC,MAAM;YACvB,kBAAkB,GAAG,MAAM,IAAI,EAAE,CAAC;QACpC,CAAC;QAED,qBAAqB,CAAC,OAAO;YAC3B,mBAAmB,GAAG,OAAO,CAAC;QAChC,CAAC;QAED,iBAAiB,CAAC,QAAQ;YACxB,uBAAuB,GAAG,QAAQ,CAAC;YACnC,yEAAyE;YACzE,4CAA4C;YAC5C,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACxB,cAAc,CAAC,aAAa,CAAC,SAAS,EAAE,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;YACjE,CAAC;QACH,CAAC;QAED,KAAK,CAAC,qBAAqB,CAAC,OAAO,EAAE,MAAM;YACzC,MAAM,YAAY,CAAC;YACnB,MAAM,gBAAgB,CACpB,SAAS,EACT,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB,EAAE,OAAO,EAAE,EAAE,EAC5E,IAAI,EACJ,EAAE,MAAM,EAAE,CACX,CAAC;QACJ,CAAC;QAED,WAAW;YACT,OAAO,mBAAmB,CAAC;QAC7B,CAAC;QAED,KAAK,CAAC,KAAK;YACT,MAAM,YAAY,CAAC;YAEnB,sEAAsE;YACtE,kEAAkE;YAClE,iEAAiE;YACjE,iEAAiE;YACjE,sCAAsC;YACtC,IAAI,CAAC;gBACH,MAAM,gBAAgB,CAAC,SAAS,EAAE;oBAChC,IAAI,EAAE,SAAS;oBACf,OAAO,EAAE;wBACP,MAAM;wBACN,OAAO,EAAE,OAAO;qBACjB;iBACF,CAAC,CAAC;YACL,CAAC;YAAC,MAAM,CAAC;gBACP,cAAc;YAChB,CAAC;YACD,iEAAiE;YACjE,wDAAwD;YACxD,mDAAmD;YACnD,iBAAiB,EAAE,CAAC,SAAS,CAAC,CAAC;YAE/B,gEAAgE;YAChE,mCAAmC;YACnC,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;YAE1B,gEAAgE;YAChE,iEAAiE;YACjE,MAAM,OAAO,CAAC,IAAI,CAAC;gBACjB,YAAY,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC;gBAC5B,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;aAC1D,CAAC,CAAC;QACL,CAAC;QAED,IAAI,SAAS;YACX,OAAO,SAAS,CAAC,KAAK,EAAE,CAAC;QAC3B,CAAC;QAED,IAAI,YAAY;YACd,OAAO,YAAY,CAAC,KAAK,EAAE,CAAC;QAC9B,CAAC;KACF,CAAC;IAEF,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;;;;GAOG;AACH,KAAK,UAAU,sBAAsB,CAAC,MAAwB;IAC5D,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IACnC,MAAM,QAAQ,GAAG,CAAC,MAAM,MAAM,CAAC,IAAI,CAAC,CAKnC,CAAC;IACF,MAAM,mBAAmB,GAAG,QAAQ,CAAC,mBAAmB,CAAC;IACzD,MAAM,mBAAmB,GAAG,QAAQ,CAAC,mBAAmB,CAAC;IACzD,IAAI,CAAC,mBAAmB;QAAE,OAAO,EAAE,CAAC;IAGpC,MAAM,QAAQ,GAAc,EAAE,CAAC;IAC/B,IAAI,OAA4B,CAAC;IACjC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YAC3B,OAAO,GAAG,EAAE,MAAM,EAAE,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;YAC7C,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACvB,SAAS;QACX,CAAC;QACD,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;YACxC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACzB,CAAC;QACD,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC3B,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC5B,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;YACtB,OAAO,GAAG,SAAS,CAAC;QACtB,CAAC;IACH,CAAC;IAED,MAAM,GAAG,GAAgB,EAAE,CAAC;IAC5B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACzC,MAAM,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAE,CAAC;QACzB,MAAM,UAAU,GAAG,CAAC,KAAK,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC;QAC5D,MAAM,aAAa,GAAG,IAAI,cAAc,CAAiB;YACvD,KAAK,CAAC,UAAU;gBACd,KAAK,MAAM,CAAC,IAAI,GAAG,CAAC,MAAM;oBAAE,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;gBAClD,UAAU,CAAC,KAAK,EAAE,CAAC;YACrB,CAAC;SACF,CAAC,CAAC;QACH,IAAI,IAA2B,CAAC;QAChC,IAAI,CAAC;YACH,IAAI,KAAK,EAAE,MAAM,QAAQ,IAAI,mBAAmB,CAAC,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC,EAAE,CAAC;gBAC5E,IAAI,GAAG,QAAQ,CAAC;YAClB,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,iFAAiF;YACjF,SAAS;QACX,CAAC;QACD,IAAI,CAAC,IAAI;YAAE,SAAS;QACpB,IAAI,UAAU,IAAI,mBAAmB,EAAE,CAAC;YACtC,MAAM,OAAO,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC;YAC1C,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC;gBAAE,SAAS;YAC3D,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACpB,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjB,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { type TranscriptStorage } from "../transcriptStorage.js";
|
|
2
|
+
type TestApi = {
|
|
3
|
+
describe: (name: string, fn: () => void) => void;
|
|
4
|
+
it: (name: string, fn: () => Promise<void> | void) => void;
|
|
5
|
+
expect: (actual: unknown) => {
|
|
6
|
+
toEqual: (expected: unknown) => void;
|
|
7
|
+
toBeNull: () => void;
|
|
8
|
+
toBeUndefined: () => void;
|
|
9
|
+
toBe: (expected: unknown) => void;
|
|
10
|
+
toHaveLength: (length: number) => void;
|
|
11
|
+
};
|
|
12
|
+
};
|
|
13
|
+
export type TranscriptStorageTestOptions = {
|
|
14
|
+
/**
|
|
15
|
+
* The test framework's `describe`, `it` and `expect`. Defaults to the
|
|
16
|
+
* globals a vitest or jest run with `globals: true` provides.
|
|
17
|
+
*/
|
|
18
|
+
api?: TestApi;
|
|
19
|
+
/**
|
|
20
|
+
* A chat id the storage accepts. Each test appends a suffix so tests do
|
|
21
|
+
* not see each other's rows. Defaults to `"transcript-conformance"`.
|
|
22
|
+
*/
|
|
23
|
+
chatId?: string;
|
|
24
|
+
/** The `clientData` the storage expects in every scope and context. */
|
|
25
|
+
clientData?: unknown;
|
|
26
|
+
};
|
|
27
|
+
/**
|
|
28
|
+
* The contract every `TranscriptStorage` has to meet, as a test suite. Point
|
|
29
|
+
* it at a factory for your storage and run it under vitest or jest:
|
|
30
|
+
*
|
|
31
|
+
* ```ts
|
|
32
|
+
* import { runTranscriptStorageTests } from "@trigger.dev/sdk/ai/test";
|
|
33
|
+
* runTranscriptStorageTests(() => myTranscriptStorage(testDatabaseUrl));
|
|
34
|
+
* ```
|
|
35
|
+
*
|
|
36
|
+
* The factory runs once per test. Return a fresh, empty storage, or one
|
|
37
|
+
* whose chats are isolated by the `chatId` option.
|
|
38
|
+
*/
|
|
39
|
+
export declare function runTranscriptStorageTests<TClientData = unknown>(makeStorage: () => TranscriptStorage<TClientData> | Promise<TranscriptStorage<TClientData>>, options?: TranscriptStorageTestOptions): void;
|
|
40
|
+
export {};
|
|
@@ -0,0 +1,255 @@
|
|
|
1
|
+
import { emptyTranscriptState, reduceTranscriptChanges, } from "../transcriptStorage.js";
|
|
2
|
+
function message(id, text, role = "user") {
|
|
3
|
+
return { id, role, parts: [{ type: "text", text }] };
|
|
4
|
+
}
|
|
5
|
+
/**
|
|
6
|
+
* The contract every `TranscriptStorage` has to meet, as a test suite. Point
|
|
7
|
+
* it at a factory for your storage and run it under vitest or jest:
|
|
8
|
+
*
|
|
9
|
+
* ```ts
|
|
10
|
+
* import { runTranscriptStorageTests } from "@trigger.dev/sdk/ai/test";
|
|
11
|
+
* runTranscriptStorageTests(() => myTranscriptStorage(testDatabaseUrl));
|
|
12
|
+
* ```
|
|
13
|
+
*
|
|
14
|
+
* The factory runs once per test. Return a fresh, empty storage, or one
|
|
15
|
+
* whose chats are isolated by the `chatId` option.
|
|
16
|
+
*/
|
|
17
|
+
export function runTranscriptStorageTests(makeStorage, options = {}) {
|
|
18
|
+
const globals = globalThis;
|
|
19
|
+
const api = options.api ?? {
|
|
20
|
+
describe: globals.describe,
|
|
21
|
+
it: globals.it,
|
|
22
|
+
expect: globals.expect,
|
|
23
|
+
};
|
|
24
|
+
if (!api.describe || !api.it || !api.expect) {
|
|
25
|
+
throw new Error("runTranscriptStorageTests: no test API found. Enable `globals: true` in your test " +
|
|
26
|
+
"config or pass `{ api: { describe, it, expect } }`.");
|
|
27
|
+
}
|
|
28
|
+
const { describe, it, expect } = api;
|
|
29
|
+
const baseChatId = options.chatId ?? "transcript-conformance";
|
|
30
|
+
const clientData = options.clientData;
|
|
31
|
+
const ctx = (chatId, turn = 0) => ({
|
|
32
|
+
chatId,
|
|
33
|
+
clientData,
|
|
34
|
+
turn,
|
|
35
|
+
trigger: "submit-message",
|
|
36
|
+
runId: "run_conformance",
|
|
37
|
+
ctx: {},
|
|
38
|
+
});
|
|
39
|
+
const scope = (chatId) => ({ chatId, clientData });
|
|
40
|
+
const ids = (messages) => messages.map((m) => m.id);
|
|
41
|
+
const expected = new WeakMap();
|
|
42
|
+
const save = async (storage, context, changeset) => {
|
|
43
|
+
let perChat = expected.get(storage);
|
|
44
|
+
if (!perChat) {
|
|
45
|
+
perChat = new Map();
|
|
46
|
+
expected.set(storage, perChat);
|
|
47
|
+
}
|
|
48
|
+
const transcript = reduceTranscriptChanges(perChat.get(context.chatId) ?? emptyTranscriptState(), changeset.changes);
|
|
49
|
+
perChat.set(context.chatId, transcript);
|
|
50
|
+
await storage.save(context, { ...changeset, transcript });
|
|
51
|
+
};
|
|
52
|
+
describe("TranscriptStorage conformance", () => {
|
|
53
|
+
it("loads an unknown chat as an empty transcript", async () => {
|
|
54
|
+
const storage = await makeStorage();
|
|
55
|
+
const loaded = await storage.load(scope(`${baseChatId}-empty`));
|
|
56
|
+
expect(loaded.messages).toEqual([]);
|
|
57
|
+
expect(loaded.state).toBeNull();
|
|
58
|
+
expect(loaded.nextCursor).toBeUndefined();
|
|
59
|
+
});
|
|
60
|
+
it("appends puts in changeset order and replaces a known id in place", async () => {
|
|
61
|
+
const storage = await makeStorage();
|
|
62
|
+
const chatId = `${baseChatId}-put`;
|
|
63
|
+
await save(storage, ctx(chatId), {
|
|
64
|
+
reason: "turn-complete",
|
|
65
|
+
changes: [
|
|
66
|
+
{ op: "put", message: message("u1", "one") },
|
|
67
|
+
{ op: "put", message: message("a1", "two", "assistant") },
|
|
68
|
+
{ op: "put", message: message("u2", "three") },
|
|
69
|
+
],
|
|
70
|
+
});
|
|
71
|
+
await save(storage, ctx(chatId, 1), {
|
|
72
|
+
reason: "turn-complete",
|
|
73
|
+
changes: [{ op: "put", message: message("a1", "two, edited", "assistant") }],
|
|
74
|
+
});
|
|
75
|
+
const loaded = await storage.load(scope(chatId));
|
|
76
|
+
expect(ids(loaded.messages)).toEqual(["u1", "a1", "u2"]);
|
|
77
|
+
expect(loaded.messages[1]).toEqual(message("a1", "two, edited", "assistant"));
|
|
78
|
+
});
|
|
79
|
+
it("removes by id and ignores an unknown id", async () => {
|
|
80
|
+
const storage = await makeStorage();
|
|
81
|
+
const chatId = `${baseChatId}-remove`;
|
|
82
|
+
await save(storage, ctx(chatId), {
|
|
83
|
+
reason: "turn-complete",
|
|
84
|
+
changes: [
|
|
85
|
+
{ op: "put", message: message("u1", "one") },
|
|
86
|
+
{ op: "put", message: message("a1", "two", "assistant") },
|
|
87
|
+
{ op: "put", message: message("u2", "three") },
|
|
88
|
+
],
|
|
89
|
+
});
|
|
90
|
+
await save(storage, ctx(chatId, 1), {
|
|
91
|
+
reason: "action",
|
|
92
|
+
changes: [
|
|
93
|
+
{ op: "remove", id: "a1" },
|
|
94
|
+
{ op: "remove", id: "never-existed" },
|
|
95
|
+
],
|
|
96
|
+
});
|
|
97
|
+
expect(ids((await storage.load(scope(chatId))).messages)).toEqual(["u1", "u2"]);
|
|
98
|
+
});
|
|
99
|
+
it("truncates after an id and ignores an unknown id", async () => {
|
|
100
|
+
const storage = await makeStorage();
|
|
101
|
+
const chatId = `${baseChatId}-truncate`;
|
|
102
|
+
await save(storage, ctx(chatId), {
|
|
103
|
+
reason: "turn-complete",
|
|
104
|
+
changes: ["u1", "a1", "u2", "a2"].map((id) => ({
|
|
105
|
+
op: "put",
|
|
106
|
+
message: message(id, id),
|
|
107
|
+
})),
|
|
108
|
+
});
|
|
109
|
+
await save(storage, ctx(chatId, 1), {
|
|
110
|
+
reason: "action",
|
|
111
|
+
changes: [{ op: "truncateAfter", afterId: "never-existed" }],
|
|
112
|
+
});
|
|
113
|
+
expect((await storage.load(scope(chatId))).messages).toHaveLength(4);
|
|
114
|
+
await save(storage, ctx(chatId, 1), {
|
|
115
|
+
reason: "action",
|
|
116
|
+
changes: [{ op: "truncateAfter", afterId: "a1" }],
|
|
117
|
+
});
|
|
118
|
+
expect(ids((await storage.load(scope(chatId))).messages)).toEqual(["u1", "a1"]);
|
|
119
|
+
});
|
|
120
|
+
it("appends after a truncate at the end of the transcript", async () => {
|
|
121
|
+
const storage = await makeStorage();
|
|
122
|
+
const chatId = `${baseChatId}-truncate-append`;
|
|
123
|
+
await save(storage, ctx(chatId), {
|
|
124
|
+
reason: "turn-complete",
|
|
125
|
+
changes: ["u1", "a1", "u2", "a2"].map((id) => ({
|
|
126
|
+
op: "put",
|
|
127
|
+
message: message(id, id),
|
|
128
|
+
})),
|
|
129
|
+
});
|
|
130
|
+
await save(storage, ctx(chatId, 1), {
|
|
131
|
+
reason: "action",
|
|
132
|
+
changes: [
|
|
133
|
+
{ op: "truncateAfter", afterId: "u2" },
|
|
134
|
+
{ op: "put", message: message("a2b", "regenerated", "assistant") },
|
|
135
|
+
],
|
|
136
|
+
});
|
|
137
|
+
expect(ids((await storage.load(scope(chatId))).messages)).toEqual(["u1", "a1", "u2", "a2b"]);
|
|
138
|
+
});
|
|
139
|
+
it("round-trips state and clears it with null", async () => {
|
|
140
|
+
const storage = await makeStorage();
|
|
141
|
+
const chatId = `${baseChatId}-state`;
|
|
142
|
+
await save(storage, ctx(chatId), {
|
|
143
|
+
reason: "turn-complete",
|
|
144
|
+
changes: [
|
|
145
|
+
{ op: "put", message: message("u1", "one") },
|
|
146
|
+
{ op: "state", value: { v: 1, summary: "so far" } },
|
|
147
|
+
],
|
|
148
|
+
});
|
|
149
|
+
expect((await storage.load(scope(chatId))).state).toEqual({ v: 1, summary: "so far" });
|
|
150
|
+
await save(storage, ctx(chatId, 1), {
|
|
151
|
+
reason: "turn-complete",
|
|
152
|
+
changes: [{ op: "put", message: message("u2", "two") }],
|
|
153
|
+
});
|
|
154
|
+
expect((await storage.load(scope(chatId))).state).toEqual({ v: 1, summary: "so far" });
|
|
155
|
+
await save(storage, ctx(chatId, 2), {
|
|
156
|
+
reason: "action",
|
|
157
|
+
changes: [{ op: "state", value: null }],
|
|
158
|
+
});
|
|
159
|
+
expect((await storage.load(scope(chatId))).state).toBeNull();
|
|
160
|
+
});
|
|
161
|
+
it("keeps the latest cursors it was given", async () => {
|
|
162
|
+
const storage = await makeStorage();
|
|
163
|
+
const chatId = `${baseChatId}-cursors`;
|
|
164
|
+
await save(storage, ctx(chatId), {
|
|
165
|
+
reason: "turn-complete",
|
|
166
|
+
changes: [{ op: "put", message: message("u1", "one") }],
|
|
167
|
+
cursors: { lastOutEventId: "10", lastInEventId: "2" },
|
|
168
|
+
});
|
|
169
|
+
await save(storage, ctx(chatId, 1), {
|
|
170
|
+
reason: "turn-complete",
|
|
171
|
+
changes: [{ op: "put", message: message("u2", "two") }],
|
|
172
|
+
cursors: { lastOutEventId: "20", lastInEventId: "4" },
|
|
173
|
+
});
|
|
174
|
+
const loaded = await storage.load(scope(chatId));
|
|
175
|
+
expect(loaded.cursors?.lastOutEventId).toBe("20");
|
|
176
|
+
expect(loaded.cursors?.lastInEventId).toBe("4");
|
|
177
|
+
});
|
|
178
|
+
it("keeps a partial answer's non-final status when the storage reports it", async () => {
|
|
179
|
+
const storage = await makeStorage();
|
|
180
|
+
const chatId = `${baseChatId}-final`;
|
|
181
|
+
await save(storage, ctx(chatId), {
|
|
182
|
+
reason: "turn-error",
|
|
183
|
+
changes: [
|
|
184
|
+
{ op: "put", message: message("u1", "one") },
|
|
185
|
+
{ op: "put", message: message("a1", "partial", "assistant"), final: false },
|
|
186
|
+
],
|
|
187
|
+
});
|
|
188
|
+
const partial = await storage.load(scope(chatId));
|
|
189
|
+
if (partial.nonFinalIds !== undefined) {
|
|
190
|
+
expect(partial.nonFinalIds).toEqual(["a1"]);
|
|
191
|
+
}
|
|
192
|
+
await save(storage, ctx(chatId, 1), {
|
|
193
|
+
reason: "turn-complete",
|
|
194
|
+
changes: [{ op: "put", message: message("a1", "the finished answer", "assistant") }],
|
|
195
|
+
});
|
|
196
|
+
const finalized = await storage.load(scope(chatId));
|
|
197
|
+
expect(ids(finalized.messages)).toEqual(["u1", "a1"]);
|
|
198
|
+
if (finalized.nonFinalIds !== undefined) {
|
|
199
|
+
expect(finalized.nonFinalIds).toEqual([]);
|
|
200
|
+
}
|
|
201
|
+
});
|
|
202
|
+
it("converges when the same changeset is saved twice", async () => {
|
|
203
|
+
const storage = await makeStorage();
|
|
204
|
+
const chatId = `${baseChatId}-replay`;
|
|
205
|
+
const changeset = {
|
|
206
|
+
reason: "turn-complete",
|
|
207
|
+
changes: [
|
|
208
|
+
{ op: "put", message: message("u1", "one") },
|
|
209
|
+
{ op: "put", message: message("a1", "two", "assistant") },
|
|
210
|
+
{ op: "state", value: { v: 1 } },
|
|
211
|
+
],
|
|
212
|
+
cursors: { lastOutEventId: "7" },
|
|
213
|
+
};
|
|
214
|
+
await save(storage, ctx(chatId), changeset);
|
|
215
|
+
await save(storage, ctx(chatId), changeset);
|
|
216
|
+
const loaded = await storage.load(scope(chatId));
|
|
217
|
+
expect(ids(loaded.messages)).toEqual(["u1", "a1"]);
|
|
218
|
+
expect(loaded.state).toEqual({ v: 1 });
|
|
219
|
+
});
|
|
220
|
+
it("pages from the most recent message backwards with limit and before", async () => {
|
|
221
|
+
const storage = await makeStorage();
|
|
222
|
+
const chatId = `${baseChatId}-paging`;
|
|
223
|
+
await save(storage, ctx(chatId), {
|
|
224
|
+
reason: "turn-complete",
|
|
225
|
+
changes: ["m1", "m2", "m3", "m4", "m5"].map((id) => ({
|
|
226
|
+
op: "put",
|
|
227
|
+
message: message(id, id),
|
|
228
|
+
})),
|
|
229
|
+
});
|
|
230
|
+
const last = await storage.load(scope(chatId), { limit: 2 });
|
|
231
|
+
expect(ids(last.messages)).toEqual(["m4", "m5"]);
|
|
232
|
+
expect(last.nextCursor).toBe("m4");
|
|
233
|
+
const middle = await storage.load(scope(chatId), { limit: 2, before: last.nextCursor });
|
|
234
|
+
expect(ids(middle.messages)).toEqual(["m2", "m3"]);
|
|
235
|
+
expect(middle.nextCursor).toBe("m2");
|
|
236
|
+
const first = await storage.load(scope(chatId), { limit: 2, before: middle.nextCursor });
|
|
237
|
+
expect(ids(first.messages)).toEqual(["m1"]);
|
|
238
|
+
expect(first.nextCursor).toBeUndefined();
|
|
239
|
+
});
|
|
240
|
+
it("keeps chats apart", async () => {
|
|
241
|
+
const storage = await makeStorage();
|
|
242
|
+
await save(storage, ctx(`${baseChatId}-a`), {
|
|
243
|
+
reason: "turn-complete",
|
|
244
|
+
changes: [{ op: "put", message: message("u1", "in a") }],
|
|
245
|
+
});
|
|
246
|
+
await save(storage, ctx(`${baseChatId}-b`), {
|
|
247
|
+
reason: "turn-complete",
|
|
248
|
+
changes: [{ op: "put", message: message("u1", "in b") }],
|
|
249
|
+
});
|
|
250
|
+
expect((await storage.load(scope(`${baseChatId}-a`))).messages[0]).toEqual(message("u1", "in a"));
|
|
251
|
+
expect((await storage.load(scope(`${baseChatId}-b`))).messages[0]).toEqual(message("u1", "in b"));
|
|
252
|
+
});
|
|
253
|
+
});
|
|
254
|
+
}
|
|
255
|
+
//# sourceMappingURL=transcript-storage-tests.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transcript-storage-tests.js","sourceRoot":"","sources":["../../../../src/v3/test/transcript-storage-tests.ts"],"names":[],"mappings":"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"}
|