@convex-dev/agent 0.5.0-alpha.1 → 0.6.0-alpha.1
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/MIGRATION.md +153 -0
- package/README.md +32 -27
- package/dist/UIMessages.d.ts +46 -0
- package/dist/UIMessages.d.ts.map +1 -0
- package/dist/UIMessages.js +546 -0
- package/dist/UIMessages.js.map +1 -0
- package/dist/client/createTool.d.ts +126 -27
- package/dist/client/createTool.d.ts.map +1 -1
- package/dist/client/createTool.js +67 -12
- package/dist/client/createTool.js.map +1 -1
- package/dist/client/defaultComponent.d.ts +11 -0
- package/dist/client/defaultComponent.d.ts.map +1 -0
- package/dist/client/defaultComponent.js +7 -0
- package/dist/client/defaultComponent.js.map +1 -0
- package/dist/client/definePlaygroundAPI.d.ts +1335 -204
- package/dist/client/definePlaygroundAPI.d.ts.map +1 -1
- package/dist/client/definePlaygroundAPI.js +52 -28
- package/dist/client/definePlaygroundAPI.js.map +1 -1
- package/dist/client/files.d.ts +20 -7
- package/dist/client/files.d.ts.map +1 -1
- package/dist/client/files.js +68 -11
- package/dist/client/files.js.map +1 -1
- package/dist/client/index.d.ts +1116 -978
- package/dist/client/index.d.ts.map +1 -1
- package/dist/client/index.js +332 -747
- package/dist/client/index.js.map +1 -1
- package/dist/client/messages.d.ts +461 -0
- package/dist/client/messages.d.ts.map +1 -0
- package/dist/client/messages.js +106 -0
- package/dist/client/messages.js.map +1 -0
- package/dist/client/mockModel.d.ts +42 -0
- package/dist/client/mockModel.d.ts.map +1 -0
- package/dist/client/mockModel.js +182 -0
- package/dist/client/mockModel.js.map +1 -0
- package/dist/client/saveInputMessages.d.ts +20 -0
- package/dist/client/saveInputMessages.d.ts.map +1 -0
- package/dist/client/saveInputMessages.js +58 -0
- package/dist/client/saveInputMessages.js.map +1 -0
- package/dist/client/search.d.ts +350 -39
- package/dist/client/search.d.ts.map +1 -1
- package/dist/client/search.js +350 -39
- package/dist/client/search.js.map +1 -1
- package/dist/client/start.d.ts +84 -0
- package/dist/client/start.d.ts.map +1 -0
- package/dist/client/start.js +185 -0
- package/dist/client/start.js.map +1 -0
- package/dist/client/streamText.d.ts +46 -0
- package/dist/client/streamText.d.ts.map +1 -0
- package/dist/client/streamText.js +117 -0
- package/dist/client/streamText.js.map +1 -0
- package/dist/client/streaming.d.ts +3716 -32
- package/dist/client/streaming.d.ts.map +1 -1
- package/dist/client/streaming.js +161 -59
- package/dist/client/streaming.js.map +1 -1
- package/dist/client/threads.d.ts +46 -0
- package/dist/client/threads.d.ts.map +1 -0
- package/dist/client/threads.js +49 -0
- package/dist/client/threads.js.map +1 -0
- package/dist/client/types.d.ts +266 -128
- package/dist/client/types.d.ts.map +1 -1
- package/dist/client/utils.d.ts +4 -0
- package/dist/client/utils.d.ts.map +1 -0
- package/dist/client/utils.js +21 -0
- package/dist/client/utils.js.map +1 -0
- package/dist/component/_generated/api.d.ts +24 -2178
- package/dist/component/_generated/api.d.ts.map +1 -1
- package/dist/component/_generated/api.js +10 -1
- package/dist/component/_generated/api.js.map +1 -1
- package/dist/component/_generated/component.d.ts +3120 -0
- package/dist/component/_generated/component.d.ts.map +1 -0
- package/dist/component/_generated/component.js +11 -0
- package/dist/component/_generated/component.js.map +1 -0
- package/dist/component/_generated/dataModel.d.ts +4 -18
- package/dist/component/_generated/dataModel.d.ts.map +1 -0
- package/dist/component/_generated/dataModel.js +11 -0
- package/dist/component/_generated/dataModel.js.map +1 -0
- package/dist/component/_generated/server.d.ts +10 -38
- package/dist/component/_generated/server.d.ts.map +1 -1
- package/dist/component/_generated/server.js +9 -5
- package/dist/component/_generated/server.js.map +1 -1
- package/dist/component/files.d.ts +16 -10
- package/dist/component/files.d.ts.map +1 -1
- package/dist/component/files.js +10 -2
- package/dist/component/files.js.map +1 -1
- package/dist/component/messages.d.ts +2578 -366
- package/dist/component/messages.d.ts.map +1 -1
- package/dist/component/messages.js +397 -154
- package/dist/component/messages.js.map +1 -1
- package/dist/component/schema.d.ts +5697 -3584
- package/dist/component/schema.d.ts.map +1 -1
- package/dist/component/schema.js +18 -41
- package/dist/component/schema.js.map +1 -1
- package/dist/component/streams.d.ts +39 -339
- package/dist/component/streams.d.ts.map +1 -1
- package/dist/component/streams.js +114 -73
- package/dist/component/streams.js.map +1 -1
- package/dist/component/threads.d.ts +13 -13
- package/dist/component/users.d.ts +7 -7
- package/dist/component/vector/index.d.ts +1 -1
- package/dist/component/vector/index.d.ts.map +1 -1
- package/dist/component/vector/index.js +1 -3
- package/dist/component/vector/index.js.map +1 -1
- package/dist/deltas.d.ts +43 -0
- package/dist/deltas.d.ts.map +1 -0
- package/dist/deltas.js +446 -0
- package/dist/deltas.js.map +1 -0
- package/dist/mapping.d.ts +38 -20
- package/dist/mapping.d.ts.map +1 -1
- package/dist/mapping.js +365 -97
- package/dist/mapping.js.map +1 -1
- package/dist/react/SmoothText.d.ts +5 -0
- package/dist/react/SmoothText.d.ts.map +1 -0
- package/dist/react/SmoothText.js +6 -0
- package/dist/react/SmoothText.js.map +1 -0
- package/dist/react/index.d.ts +5 -77
- package/dist/react/index.d.ts.map +1 -1
- package/dist/react/index.js +6 -160
- package/dist/react/index.js.map +1 -1
- package/dist/react/optimisticallySendMessage.d.ts +36 -3
- package/dist/react/optimisticallySendMessage.d.ts.map +1 -1
- package/dist/react/optimisticallySendMessage.js +35 -9
- package/dist/react/optimisticallySendMessage.js.map +1 -1
- package/dist/react/types.d.ts +4 -18
- package/dist/react/types.d.ts.map +1 -1
- package/dist/react/useDeltaStreams.d.ts +10 -0
- package/dist/react/useDeltaStreams.d.ts.map +1 -0
- package/dist/react/useDeltaStreams.js +106 -0
- package/dist/react/useDeltaStreams.js.map +1 -0
- package/dist/react/useSmoothText.d.ts +13 -12
- package/dist/react/useSmoothText.d.ts.map +1 -1
- package/dist/react/useSmoothText.js +32 -15
- package/dist/react/useSmoothText.js.map +1 -1
- package/dist/react/useStreamingUIMessages.d.ts +22 -0
- package/dist/react/useStreamingUIMessages.d.ts.map +1 -0
- package/dist/react/useStreamingUIMessages.js +92 -0
- package/dist/react/useStreamingUIMessages.js.map +1 -0
- package/dist/react/useThreadMessages.d.ts +104 -0
- package/dist/react/useThreadMessages.d.ts.map +1 -0
- package/dist/react/useThreadMessages.js +148 -0
- package/dist/react/useThreadMessages.js.map +1 -0
- package/dist/react/useUIMessages.d.ts +96 -0
- package/dist/react/useUIMessages.d.ts.map +1 -0
- package/dist/react/useUIMessages.js +108 -0
- package/dist/react/useUIMessages.js.map +1 -0
- package/dist/shared.d.ts +20 -4
- package/dist/shared.d.ts.map +1 -1
- package/dist/shared.js +45 -8
- package/dist/shared.js.map +1 -1
- package/dist/validators.d.ts +22981 -5666
- package/dist/validators.d.ts.map +1 -1
- package/dist/validators.js +245 -137
- package/dist/validators.js.map +1 -1
- package/package.json +101 -51
- package/src/UIMessages.combineUIMessages.test.ts +239 -0
- package/src/UIMessages.test.ts +273 -0
- package/src/UIMessages.ts +739 -0
- package/src/client/approval.test.ts +350 -0
- package/src/client/createTool.ts +291 -76
- package/src/client/defaultComponent.ts +17 -0
- package/src/client/definePlaygroundAPI.ts +67 -31
- package/src/client/files.ts +100 -20
- package/src/client/index.test.ts +40 -85
- package/src/client/index.ts +638 -1289
- package/src/client/messages.ts +237 -0
- package/src/client/mockModel.ts +252 -0
- package/src/client/saveInputMessages.test.ts +583 -0
- package/src/client/saveInputMessages.ts +101 -0
- package/src/client/search.test.ts +1207 -0
- package/src/client/search.ts +581 -70
- package/src/client/start.ts +327 -0
- package/src/client/streamText.ts +187 -0
- package/src/client/streaming.test.ts +186 -0
- package/src/client/streaming.ts +241 -97
- package/src/client/threads.ts +83 -0
- package/src/client/types.ts +370 -219
- package/src/client/utils.ts +27 -0
- package/src/component/_generated/api.ts +64 -0
- package/src/component/_generated/component.ts +4902 -0
- package/src/component/_generated/{server.d.ts → server.ts} +33 -21
- package/src/component/files.ts +11 -2
- package/src/component/messages.test.ts +195 -51
- package/src/component/messages.ts +500 -201
- package/src/component/schema.ts +20 -46
- package/src/component/setup.test.ts +7 -0
- package/src/component/streams.ts +184 -83
- package/src/component/users.test.ts +0 -1
- package/src/component/vector/index.ts +1 -3
- package/src/deltas.test.ts +626 -0
- package/src/deltas.ts +569 -0
- package/src/fromUIMessages.test.ts +497 -0
- package/src/mapping.test.ts +180 -6
- package/src/mapping.ts +479 -162
- package/src/react/SmoothText.tsx +9 -0
- package/src/react/index.ts +10 -230
- package/src/react/optimisticallySendMessage.ts +55 -12
- package/src/react/types.ts +6 -39
- package/src/react/useDeltaStreams.ts +160 -0
- package/src/react/useSmoothText.ts +56 -36
- package/src/react/useStreamingUIMessages.ts +143 -0
- package/src/react/useThreadMessages.ts +262 -0
- package/src/react/useUIMessages.test.ts +255 -0
- package/src/react/useUIMessages.ts +195 -0
- package/src/shared.ts +88 -12
- package/src/test.ts +18 -0
- package/src/toUIMessages.test.ts +1269 -0
- package/src/validators.test.ts +18 -19
- package/src/validators.ts +325 -185
- package/dist/client/_generated/_ignore.d.ts +0 -1
- package/dist/client/_generated/_ignore.d.ts.map +0 -1
- package/dist/client/_generated/_ignore.js +0 -3
- package/dist/client/_generated/_ignore.js.map +0 -1
- package/dist/client/listMessages.d.ts +0 -22
- package/dist/client/listMessages.d.ts.map +0 -1
- package/dist/client/listMessages.js +0 -25
- package/dist/client/listMessages.js.map +0 -1
- package/dist/package.json +0 -3
- package/dist/react/deltas.d.ts +0 -26
- package/dist/react/deltas.d.ts.map +0 -1
- package/dist/react/deltas.js +0 -384
- package/dist/react/deltas.js.map +0 -1
- package/dist/react/toUIMessages.d.ts +0 -15
- package/dist/react/toUIMessages.d.ts.map +0 -1
- package/dist/react/toUIMessages.js +0 -211
- package/dist/react/toUIMessages.js.map +0 -1
- package/src/client/listMessages.ts +0 -38
- package/src/component/_generated/api.d.ts +0 -2202
- package/src/component/_generated/api.js +0 -23
- package/src/component/_generated/server.js +0 -90
- package/src/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/results.json +0 -1
- package/src/react/deltas.test.ts +0 -315
- package/src/react/deltas.ts +0 -478
- package/src/react/toUIMessages.test.ts +0 -420
- package/src/react/toUIMessages.ts +0 -253
- package/src/vitest.config.ts +0 -7
- /package/src/component/_generated/{dataModel.d.ts → dataModel.ts} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"streaming.d.ts","sourceRoot":"","sources":["../../src/client/streaming.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"streaming.d.ts","sourceRoot":"","sources":["../../src/client/streaming.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,mBAAmB,EACxB,KAAK,aAAa,EAClB,KAAK,mBAAmB,EACxB,KAAK,cAAc,EACnB,KAAK,OAAO,EACZ,KAAK,cAAc,EACpB,MAAM,IAAI,CAAC;AAEZ,OAAO,EAKL,KAAK,eAAe,EACpB,KAAK,UAAU,EAEf,KAAK,aAAa,EACnB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EACV,SAAS,EACT,cAAc,EACd,WAAW,EACX,QAAQ,EACR,sBAAsB,EACvB,MAAM,YAAY,CAAC;AAEpB,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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"}
|
package/dist/client/streaming.js
CHANGED
|
@@ -1,5 +1,10 @@
|
|
|
1
1
|
import { smoothStream, } from "ai";
|
|
2
|
-
import {
|
|
2
|
+
import { v } from "convex/values";
|
|
3
|
+
import { vMessageDoc, vPaginationResult, vStreamDelta, vStreamMessage, } from "../validators.js";
|
|
4
|
+
export const vStreamMessagesReturnValue = v.object({
|
|
5
|
+
...vPaginationResult(vMessageDoc).fields,
|
|
6
|
+
streams: v.optional(v.union(v.object({ kind: v.literal("list"), messages: v.array(vStreamMessage) }), v.object({ kind: v.literal("deltas"), deltas: v.array(vStreamDelta) }))),
|
|
7
|
+
});
|
|
3
8
|
/**
|
|
4
9
|
* A function that handles fetching stream deltas, used with the React hooks
|
|
5
10
|
* `useThreadMessages` or `useStreamingThreadMessages`.
|
|
@@ -9,16 +14,16 @@ import { omit } from "convex-helpers";
|
|
|
9
14
|
* @param args.streamArgs The stream arguments with per-stream cursors.
|
|
10
15
|
* @returns The deltas for each stream from their existing cursor.
|
|
11
16
|
*/
|
|
12
|
-
export async function syncStreams(ctx, component,
|
|
13
|
-
if (!
|
|
17
|
+
export async function syncStreams(ctx, component, { threadId, streamArgs, includeStatuses, }) {
|
|
18
|
+
if (!streamArgs)
|
|
14
19
|
return undefined;
|
|
15
|
-
if (
|
|
20
|
+
if (streamArgs.kind === "list") {
|
|
16
21
|
return {
|
|
17
22
|
kind: "list",
|
|
18
23
|
messages: await listStreams(ctx, component, {
|
|
19
|
-
threadId
|
|
20
|
-
startOrder:
|
|
21
|
-
includeStatuses
|
|
24
|
+
threadId,
|
|
25
|
+
startOrder: streamArgs.startOrder,
|
|
26
|
+
includeStatuses,
|
|
22
27
|
}),
|
|
23
28
|
};
|
|
24
29
|
}
|
|
@@ -26,8 +31,8 @@ export async function syncStreams(ctx, component, args) {
|
|
|
26
31
|
return {
|
|
27
32
|
kind: "deltas",
|
|
28
33
|
deltas: await ctx.runQuery(component.streams.listDeltas, {
|
|
29
|
-
threadId
|
|
30
|
-
cursors:
|
|
34
|
+
threadId,
|
|
35
|
+
cursors: streamArgs.cursors,
|
|
31
36
|
}),
|
|
32
37
|
};
|
|
33
38
|
}
|
|
@@ -67,7 +72,15 @@ export const DEFAULT_STREAMING_OPTIONS = {
|
|
|
67
72
|
// This chunks by sentences / clauses. Punctuation followed by whitespace.
|
|
68
73
|
chunking: /[\p{P}\s]/u,
|
|
69
74
|
throttleMs: 250,
|
|
75
|
+
returnImmediately: false,
|
|
70
76
|
};
|
|
77
|
+
/**
|
|
78
|
+
*
|
|
79
|
+
* @param options The options passed to `agent.streamText` to decide whether to
|
|
80
|
+
* save deltas while streaming.
|
|
81
|
+
* @param existing The transforms passed to `agent.streamText` to merge with.
|
|
82
|
+
* @returns The merged transforms to pass to the underlying `streamText` call.
|
|
83
|
+
*/
|
|
71
84
|
export function mergeTransforms(options, existing) {
|
|
72
85
|
if (!options) {
|
|
73
86
|
return existing;
|
|
@@ -83,82 +96,125 @@ export function mergeTransforms(options, existing) {
|
|
|
83
96
|
transforms.push(smoothStream({ delayInMs: null, chunking }));
|
|
84
97
|
return transforms;
|
|
85
98
|
}
|
|
99
|
+
/**
|
|
100
|
+
* DeltaStreamer can be used to save a stream of "parts" by writing
|
|
101
|
+
* batches of them in "deltas" to the database so clients can subscribe
|
|
102
|
+
* (using the syncStreams utility and client hooks) and re-hydrate the stream.
|
|
103
|
+
* You can optionally compress the parts, e.g. concatenating text deltas, to
|
|
104
|
+
* optimize the data in transit.
|
|
105
|
+
*/
|
|
86
106
|
export class DeltaStreamer {
|
|
87
107
|
component;
|
|
88
108
|
ctx;
|
|
89
109
|
metadata;
|
|
90
110
|
streamId;
|
|
91
|
-
|
|
111
|
+
config;
|
|
92
112
|
#nextParts = [];
|
|
93
|
-
#nextOrder;
|
|
94
|
-
#nextStepOrder;
|
|
95
113
|
#latestWrite = 0;
|
|
96
114
|
#ongoingWrite;
|
|
97
115
|
#cursor = 0;
|
|
98
116
|
abortController;
|
|
99
|
-
|
|
117
|
+
// When true, the stream will be finished externally (e.g., atomically via addMessages)
|
|
118
|
+
// and consumeStream should skip calling finish().
|
|
119
|
+
#finishedExternally = false;
|
|
120
|
+
constructor(component, ctx, config, metadata) {
|
|
100
121
|
this.component = component;
|
|
101
122
|
this.ctx = ctx;
|
|
102
123
|
this.metadata = metadata;
|
|
103
|
-
this.
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
...options,
|
|
109
|
-
};
|
|
124
|
+
this.config = {
|
|
125
|
+
throttleMs: config.throttleMs ?? DEFAULT_STREAMING_OPTIONS.throttleMs,
|
|
126
|
+
onAsyncAbort: config.onAsyncAbort,
|
|
127
|
+
compress: config.compress,
|
|
128
|
+
};
|
|
110
129
|
this.#nextParts = [];
|
|
111
|
-
this.#nextOrder = metadata.order ?? 0;
|
|
112
|
-
this.#nextStepOrder = (metadata.stepOrder ?? 0) + 1;
|
|
113
130
|
this.abortController = new AbortController();
|
|
114
|
-
if (
|
|
115
|
-
|
|
131
|
+
if (config.abortSignal) {
|
|
132
|
+
config.abortSignal.addEventListener("abort", async () => {
|
|
133
|
+
if (this.abortController.signal.aborted) {
|
|
134
|
+
return;
|
|
135
|
+
}
|
|
116
136
|
if (this.streamId) {
|
|
137
|
+
this.abortController.abort();
|
|
138
|
+
await this.#ongoingWrite;
|
|
117
139
|
await this.ctx.runMutation(this.component.streams.abort, {
|
|
118
140
|
streamId: this.streamId,
|
|
119
141
|
reason: "abortSignal",
|
|
120
142
|
});
|
|
121
143
|
}
|
|
122
|
-
this.abortController.abort();
|
|
123
144
|
});
|
|
124
145
|
}
|
|
125
146
|
}
|
|
147
|
+
// Avoid race conditions by only creating once
|
|
148
|
+
#creatingStreamIdPromise;
|
|
149
|
+
async getStreamId() {
|
|
150
|
+
if (!this.streamId) {
|
|
151
|
+
if (!this.#creatingStreamIdPromise) {
|
|
152
|
+
this.#creatingStreamIdPromise = this.ctx.runMutation(this.component.streams.create, this.metadata);
|
|
153
|
+
}
|
|
154
|
+
this.streamId = await this.#creatingStreamIdPromise;
|
|
155
|
+
}
|
|
156
|
+
return this.streamId;
|
|
157
|
+
}
|
|
126
158
|
async addParts(parts) {
|
|
127
159
|
if (this.abortController.signal.aborted) {
|
|
128
160
|
return;
|
|
129
161
|
}
|
|
130
|
-
|
|
131
|
-
this.streamId = await this.ctx.runMutation(this.component.streams.create, {
|
|
132
|
-
...omit(this.metadata, ["abortSignal"]),
|
|
133
|
-
order: this.#nextOrder,
|
|
134
|
-
stepOrder: this.#nextStepOrder,
|
|
135
|
-
});
|
|
136
|
-
}
|
|
162
|
+
await this.getStreamId();
|
|
137
163
|
this.#nextParts.push(...parts);
|
|
138
164
|
if (!this.#ongoingWrite &&
|
|
139
|
-
Date.now() - this.#latestWrite >= this.
|
|
165
|
+
Date.now() - this.#latestWrite >= this.config.throttleMs) {
|
|
140
166
|
this.#ongoingWrite = this.#sendDelta();
|
|
141
167
|
}
|
|
142
168
|
}
|
|
169
|
+
async consumeStream(stream) {
|
|
170
|
+
for await (const chunk of stream) {
|
|
171
|
+
await this.addParts([chunk]);
|
|
172
|
+
}
|
|
173
|
+
// Skip finish if it will be handled externally (atomically with message save)
|
|
174
|
+
if (!this.#finishedExternally) {
|
|
175
|
+
await this.finish();
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
/**
|
|
179
|
+
* Mark the stream as being finished externally (e.g., atomically via addMessages).
|
|
180
|
+
* When called, consumeStream() will skip calling finish() since it will be
|
|
181
|
+
* handled elsewhere in the same mutation as message saving.
|
|
182
|
+
*/
|
|
183
|
+
markFinishedExternally() {
|
|
184
|
+
this.#finishedExternally = true;
|
|
185
|
+
}
|
|
186
|
+
/**
|
|
187
|
+
* Get the stream ID, waiting for it to be created if necessary.
|
|
188
|
+
* Useful for passing to addMessages for atomic finish.
|
|
189
|
+
*/
|
|
190
|
+
async getOrCreateStreamId() {
|
|
191
|
+
return this.getStreamId();
|
|
192
|
+
}
|
|
143
193
|
async #sendDelta() {
|
|
144
194
|
if (this.abortController.signal.aborted) {
|
|
145
195
|
return;
|
|
146
196
|
}
|
|
147
197
|
const delta = this.#createDelta();
|
|
198
|
+
if (!delta) {
|
|
199
|
+
return;
|
|
200
|
+
}
|
|
148
201
|
this.#latestWrite = Date.now();
|
|
149
202
|
try {
|
|
150
203
|
const success = await this.ctx.runMutation(this.component.streams.addDelta, delta);
|
|
151
204
|
if (!success) {
|
|
205
|
+
await this.config.onAsyncAbort("async abort");
|
|
152
206
|
this.abortController.abort();
|
|
207
|
+
return;
|
|
153
208
|
}
|
|
154
209
|
}
|
|
155
210
|
catch (e) {
|
|
211
|
+
await this.config.onAsyncAbort(e instanceof Error ? e.message : "unknown error");
|
|
156
212
|
this.abortController.abort();
|
|
157
213
|
throw e;
|
|
158
214
|
}
|
|
159
215
|
// Now that we've sent the delta, check if we need to send another one.
|
|
160
216
|
if (this.#nextParts.length > 0 &&
|
|
161
|
-
Date.now() - this.#latestWrite >= this.
|
|
217
|
+
Date.now() - this.#latestWrite >= this.config.throttleMs) {
|
|
162
218
|
// We send again immediately with the accumulated deltas.
|
|
163
219
|
this.#ongoingWrite = this.#sendDelta();
|
|
164
220
|
}
|
|
@@ -167,46 +223,92 @@ export class DeltaStreamer {
|
|
|
167
223
|
}
|
|
168
224
|
}
|
|
169
225
|
#createDelta() {
|
|
226
|
+
if (this.#nextParts.length === 0) {
|
|
227
|
+
return undefined;
|
|
228
|
+
}
|
|
170
229
|
const start = this.#cursor;
|
|
171
230
|
const end = start + this.#nextParts.length;
|
|
172
231
|
this.#cursor = end;
|
|
173
|
-
const parts = this
|
|
232
|
+
const parts = this.config.compress
|
|
233
|
+
? this.config.compress(this.#nextParts)
|
|
234
|
+
: this.#nextParts;
|
|
174
235
|
this.#nextParts = [];
|
|
175
236
|
if (!this.streamId) {
|
|
176
237
|
throw new Error("Creating a delta before the stream is created");
|
|
177
238
|
}
|
|
178
|
-
return {
|
|
239
|
+
return { streamId: this.streamId, start, end, parts };
|
|
240
|
+
}
|
|
241
|
+
async finish() {
|
|
242
|
+
if (!this.streamId) {
|
|
243
|
+
return;
|
|
244
|
+
}
|
|
245
|
+
await this.#ongoingWrite;
|
|
246
|
+
await this.#sendDelta();
|
|
247
|
+
await this.ctx.runMutation(this.component.streams.finish, {
|
|
179
248
|
streamId: this.streamId,
|
|
180
|
-
|
|
181
|
-
end,
|
|
182
|
-
parts,
|
|
183
|
-
};
|
|
249
|
+
});
|
|
184
250
|
}
|
|
185
|
-
async
|
|
186
|
-
if (this
|
|
187
|
-
|
|
188
|
-
this.#ongoingWrite = undefined;
|
|
251
|
+
async fail(reason) {
|
|
252
|
+
if (this.abortController.signal.aborted) {
|
|
253
|
+
return;
|
|
189
254
|
}
|
|
255
|
+
this.abortController.abort();
|
|
190
256
|
if (!this.streamId) {
|
|
191
|
-
|
|
257
|
+
return;
|
|
258
|
+
}
|
|
259
|
+
await this.#ongoingWrite;
|
|
260
|
+
await this.ctx.runMutation(this.component.streams.abort, {
|
|
261
|
+
streamId: this.streamId,
|
|
262
|
+
reason,
|
|
263
|
+
});
|
|
264
|
+
}
|
|
265
|
+
}
|
|
266
|
+
/**
|
|
267
|
+
* Compressing parts when streaming to save bandwidth in deltas.
|
|
268
|
+
*/
|
|
269
|
+
export function compressUIMessageChunks(parts) {
|
|
270
|
+
const compressed = [];
|
|
271
|
+
for (const part of parts) {
|
|
272
|
+
const last = compressed.at(-1);
|
|
273
|
+
if (part.type === "text-delta" || part.type === "reasoning-delta") {
|
|
274
|
+
if (last?.type === part.type && part.id === last.id) {
|
|
275
|
+
last.delta += part.delta;
|
|
276
|
+
}
|
|
277
|
+
else {
|
|
278
|
+
compressed.push(part);
|
|
279
|
+
}
|
|
192
280
|
}
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
281
|
+
else {
|
|
282
|
+
compressed.push(part);
|
|
283
|
+
}
|
|
284
|
+
}
|
|
285
|
+
return compressed;
|
|
286
|
+
}
|
|
287
|
+
export function compressTextStreamParts(parts) {
|
|
288
|
+
const compressed = [];
|
|
289
|
+
for (const part of parts) {
|
|
290
|
+
const last = compressed.at(-1);
|
|
291
|
+
if (part.type === "text-delta" || part.type === "reasoning-delta") {
|
|
292
|
+
if (last?.type === part.type && part.id === last.id) {
|
|
293
|
+
last.text += part.text;
|
|
294
|
+
}
|
|
295
|
+
else {
|
|
296
|
+
compressed.push(part);
|
|
297
|
+
}
|
|
197
298
|
}
|
|
198
299
|
else {
|
|
199
|
-
|
|
300
|
+
if (part.type === "file") {
|
|
301
|
+
compressed.push({
|
|
302
|
+
type: "file",
|
|
303
|
+
file: {
|
|
304
|
+
...part.file,
|
|
305
|
+
uint8Array: undefined,
|
|
306
|
+
},
|
|
307
|
+
});
|
|
308
|
+
}
|
|
309
|
+
compressed.push(part);
|
|
200
310
|
}
|
|
201
|
-
const finalDelta = this.#nextParts.length > 0 ? this.#createDelta() : undefined;
|
|
202
|
-
this.#nextParts = [];
|
|
203
|
-
const streamId = this.streamId;
|
|
204
|
-
this.streamId = undefined;
|
|
205
|
-
this.#cursor = 0;
|
|
206
|
-
await this.ctx.runMutation(this.component.streams.finish, {
|
|
207
|
-
streamId,
|
|
208
|
-
finalDelta,
|
|
209
|
-
});
|
|
210
311
|
}
|
|
312
|
+
return compressed;
|
|
211
313
|
}
|
|
212
314
|
//# sourceMappingURL=streaming.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"streaming.js","sourceRoot":"","sources":["../../src/client/streaming.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"streaming.js","sourceRoot":"","sources":["../../src/client/streaming.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import type { WithoutSystemFields } from "convex/server";
|
|
2
|
+
import type { ThreadDoc } from "../validators.js";
|
|
3
|
+
import type { ActionCtx, AgentComponent, MutationCtx, QueryCtx } from "./types.js";
|
|
4
|
+
/**
|
|
5
|
+
* Create a thread to store messages with an Agent.
|
|
6
|
+
* @param ctx The context from a mutation or action.
|
|
7
|
+
* @param component The Agent component, usually `components.agent`.
|
|
8
|
+
* @param args The associated thread metadata.
|
|
9
|
+
* @returns The id of the created thread.
|
|
10
|
+
*/
|
|
11
|
+
export declare function createThread(ctx: MutationCtx | ActionCtx, component: AgentComponent, args?: {
|
|
12
|
+
userId?: string | null;
|
|
13
|
+
title?: string;
|
|
14
|
+
summary?: string;
|
|
15
|
+
}): Promise<string>;
|
|
16
|
+
/**
|
|
17
|
+
* Get the metadata for a thread.
|
|
18
|
+
* @param ctx A ctx object from a query, mutation, or action.
|
|
19
|
+
* @param args.threadId The thread to get the metadata for.
|
|
20
|
+
* @returns The metadata for the thread.
|
|
21
|
+
*/
|
|
22
|
+
export declare function getThreadMetadata(ctx: QueryCtx | MutationCtx | ActionCtx, component: AgentComponent, args: {
|
|
23
|
+
threadId: string;
|
|
24
|
+
}): Promise<ThreadDoc>;
|
|
25
|
+
export declare function updateThreadMetadata(ctx: MutationCtx | ActionCtx, component: AgentComponent, args: {
|
|
26
|
+
threadId: string;
|
|
27
|
+
patch: Partial<WithoutSystemFields<ThreadDoc>>;
|
|
28
|
+
}): Promise<{
|
|
29
|
+
_creationTime: number;
|
|
30
|
+
_id: string;
|
|
31
|
+
status: "active" | "archived";
|
|
32
|
+
summary?: string;
|
|
33
|
+
title?: string;
|
|
34
|
+
userId?: string;
|
|
35
|
+
}>;
|
|
36
|
+
/**
|
|
37
|
+
* Search for threads by title, paginated.
|
|
38
|
+
* @param ctx The context passed from the query/mutation/action.
|
|
39
|
+
* @returns The threads matching the search, paginated.
|
|
40
|
+
*/
|
|
41
|
+
export declare function searchThreadTitles(ctx: QueryCtx | MutationCtx | ActionCtx, component: AgentComponent, { userId, query, limit, }: {
|
|
42
|
+
userId?: string | undefined;
|
|
43
|
+
query: string;
|
|
44
|
+
limit?: number;
|
|
45
|
+
}): Promise<ThreadDoc[]>;
|
|
46
|
+
//# sourceMappingURL=threads.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"threads.d.ts","sourceRoot":"","sources":["../../src/client/threads.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACzD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,KAAK,EACV,SAAS,EACT,cAAc,EACd,WAAW,EACX,QAAQ,EACT,MAAM,YAAY,CAAC;AAEpB;;;;;;GAMG;AACH,wBAAsB,YAAY,CAChC,GAAG,EAAE,WAAW,GAAG,SAAS,EAC5B,SAAS,EAAE,cAAc,EACzB,IAAI,CAAC,EAAE;IAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,mBAWpE;AAED;;;;;GAKG;AACH,wBAAsB,iBAAiB,CACrC,GAAG,EAAE,QAAQ,GAAG,WAAW,GAAG,SAAS,EACvC,SAAS,EAAE,cAAc,EACzB,IAAI,EAAE;IAAE,QAAQ,EAAE,MAAM,CAAA;CAAE,GACzB,OAAO,CAAC,SAAS,CAAC,CAQpB;AAED,wBAAsB,oBAAoB,CACxC,GAAG,EAAE,WAAW,GAAG,SAAS,EAC5B,SAAS,EAAE,cAAc,EACzB,IAAI,EAAE;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,OAAO,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC,CAAA;CAAE;;;;;;;GAM3E;AAED;;;;GAIG;AACH,wBAAsB,kBAAkB,CACtC,GAAG,EAAE,QAAQ,GAAG,WAAW,GAAG,SAAS,EACvC,SAAS,EAAE,cAAc,EACzB,EACE,MAAM,EACN,KAAK,EACL,KAAK,GACN,EAAE;IAAE,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,GAChE,OAAO,CAAC,SAAS,EAAE,CAAC,CAMtB"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Create a thread to store messages with an Agent.
|
|
3
|
+
* @param ctx The context from a mutation or action.
|
|
4
|
+
* @param component The Agent component, usually `components.agent`.
|
|
5
|
+
* @param args The associated thread metadata.
|
|
6
|
+
* @returns The id of the created thread.
|
|
7
|
+
*/
|
|
8
|
+
export async function createThread(ctx, component, args) {
|
|
9
|
+
const { _id: threadId } = await ctx.runMutation(component.threads.createThread, {
|
|
10
|
+
userId: args?.userId ?? undefined,
|
|
11
|
+
title: args?.title,
|
|
12
|
+
summary: args?.summary,
|
|
13
|
+
});
|
|
14
|
+
return threadId;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Get the metadata for a thread.
|
|
18
|
+
* @param ctx A ctx object from a query, mutation, or action.
|
|
19
|
+
* @param args.threadId The thread to get the metadata for.
|
|
20
|
+
* @returns The metadata for the thread.
|
|
21
|
+
*/
|
|
22
|
+
export async function getThreadMetadata(ctx, component, args) {
|
|
23
|
+
const thread = await ctx.runQuery(component.threads.getThread, {
|
|
24
|
+
threadId: args.threadId,
|
|
25
|
+
});
|
|
26
|
+
if (!thread) {
|
|
27
|
+
throw new Error("Thread not found");
|
|
28
|
+
}
|
|
29
|
+
return thread;
|
|
30
|
+
}
|
|
31
|
+
export async function updateThreadMetadata(ctx, component, args) {
|
|
32
|
+
return ctx.runMutation(component.threads.updateThread, {
|
|
33
|
+
threadId: args.threadId,
|
|
34
|
+
patch: args.patch,
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Search for threads by title, paginated.
|
|
39
|
+
* @param ctx The context passed from the query/mutation/action.
|
|
40
|
+
* @returns The threads matching the search, paginated.
|
|
41
|
+
*/
|
|
42
|
+
export async function searchThreadTitles(ctx, component, { userId, query, limit, }) {
|
|
43
|
+
return ctx.runQuery(component.threads.searchThreadTitles, {
|
|
44
|
+
userId,
|
|
45
|
+
query,
|
|
46
|
+
limit: limit ?? 10,
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
//# sourceMappingURL=threads.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"threads.js","sourceRoot":"","sources":["../../src/client/threads.ts"],"names":[],"mappings":"AASA;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,GAA4B,EAC5B,SAAyB,EACzB,IAAmE;IAEnE,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,MAAM,GAAG,CAAC,WAAW,CAC7C,SAAS,CAAC,OAAO,CAAC,YAAY,EAC9B;QACE,MAAM,EAAE,IAAI,EAAE,MAAM,IAAI,SAAS;QACjC,KAAK,EAAE,IAAI,EAAE,KAAK;QAClB,OAAO,EAAE,IAAI,EAAE,OAAO;KACvB,CACF,CAAC;IACF,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,GAAuC,EACvC,SAAyB,EACzB,IAA0B;IAE1B,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,SAAS,EAAE;QAC7D,QAAQ,EAAE,IAAI,CAAC,QAAQ;KACxB,CAAC,CAAC;IACH,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;IACtC,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,GAA4B,EAC5B,SAAyB,EACzB,IAA0E;IAE1E,OAAO,GAAG,CAAC,WAAW,CAAC,SAAS,CAAC,OAAO,CAAC,YAAY,EAAE;QACrD,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,KAAK,EAAE,IAAI,CAAC,KAAK;KAClB,CAAC,CAAC;AACL,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,GAAuC,EACvC,SAAyB,EACzB,EACE,MAAM,EACN,KAAK,EACL,KAAK,GAC0D;IAEjE,OAAO,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,kBAAkB,EAAE;QACxD,MAAM;QACN,KAAK;QACL,KAAK,EAAE,KAAK,IAAI,EAAE;KACnB,CAAC,CAAC;AACL,CAAC"}
|