@convex-dev/agent 0.1.9-alpha.3 → 0.1.9-alpha.4
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 +3 -3
- package/dist/commonjs/client/index.d.ts.map +1 -1
- package/dist/commonjs/client/index.js +1 -1
- package/dist/commonjs/client/index.js.map +1 -1
- package/dist/commonjs/client/streaming.d.ts.map +1 -1
- package/dist/commonjs/client/streaming.js +7 -1
- package/dist/commonjs/client/streaming.js.map +1 -1
- package/dist/commonjs/client/types.d.ts +0 -2
- package/dist/commonjs/client/types.d.ts.map +1 -1
- package/dist/commonjs/component/_generated/api.d.ts +7 -1
- package/dist/commonjs/component/schema.d.ts +36 -6
- package/dist/commonjs/component/schema.d.ts.map +1 -1
- package/dist/commonjs/component/schema.js +3 -0
- package/dist/commonjs/component/schema.js.map +1 -1
- package/dist/commonjs/component/streams.d.ts +5 -0
- package/dist/commonjs/component/streams.d.ts.map +1 -1
- package/dist/commonjs/component/streams.js +35 -7
- package/dist/commonjs/component/streams.js.map +1 -1
- package/dist/commonjs/react/index.d.ts +3 -1
- package/dist/commonjs/react/index.d.ts.map +1 -1
- package/dist/commonjs/react/index.js +14 -3
- package/dist/commonjs/react/index.js.map +1 -1
- package/dist/commonjs/validators.d.ts +5 -2
- package/dist/commonjs/validators.d.ts.map +1 -1
- package/dist/commonjs/validators.js +1 -0
- package/dist/commonjs/validators.js.map +1 -1
- package/dist/commonjs.tsbuildinfo +1 -1
- package/dist/esm/client/index.d.ts.map +1 -1
- package/dist/esm/client/index.js +1 -1
- package/dist/esm/client/index.js.map +1 -1
- package/dist/esm/client/streaming.d.ts.map +1 -1
- package/dist/esm/client/streaming.js +7 -1
- package/dist/esm/client/streaming.js.map +1 -1
- package/dist/esm/client/types.d.ts +0 -2
- package/dist/esm/client/types.d.ts.map +1 -1
- package/dist/esm/component/_generated/api.d.ts +7 -1
- package/dist/esm/component/schema.d.ts +36 -6
- package/dist/esm/component/schema.d.ts.map +1 -1
- package/dist/esm/component/schema.js +3 -0
- package/dist/esm/component/schema.js.map +1 -1
- package/dist/esm/component/streams.d.ts +5 -0
- package/dist/esm/component/streams.d.ts.map +1 -1
- package/dist/esm/component/streams.js +35 -7
- package/dist/esm/component/streams.js.map +1 -1
- package/dist/esm/react/index.d.ts +3 -1
- package/dist/esm/react/index.d.ts.map +1 -1
- package/dist/esm/react/index.js +14 -3
- package/dist/esm/react/index.js.map +1 -1
- package/dist/esm/validators.d.ts +5 -2
- package/dist/esm/validators.d.ts.map +1 -1
- package/dist/esm/validators.js +1 -0
- package/dist/esm/validators.js.map +1 -1
- package/dist/esm.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/src/client/index.ts +1 -2
- package/src/client/streaming.ts +7 -1
- package/src/client/types.ts +0 -2
- package/src/component/_generated/api.d.ts +7 -1
- package/src/component/schema.ts +4 -0
- package/src/component/streams.ts +43 -8
- package/src/react/index.ts +15 -4
- package/src/validators.ts +1 -0
package/src/react/index.ts
CHANGED
|
@@ -7,7 +7,7 @@ import {
|
|
|
7
7
|
} from "convex/react";
|
|
8
8
|
import { usePaginatedQuery } from "convex-helpers/react";
|
|
9
9
|
import type { FunctionArgs } from "convex/server";
|
|
10
|
-
import { useMemo, useState } from "react";
|
|
10
|
+
import { useMemo, useRef, useState } from "react";
|
|
11
11
|
import type { MessageDoc } from "../client/index.js";
|
|
12
12
|
import type { SyncStreamsReturnValue } from "../client/types.js";
|
|
13
13
|
import type { StreamArgs } from "../validators.js";
|
|
@@ -103,7 +103,11 @@ export function useThreadMessages<
|
|
|
103
103
|
ThreadMessagesArgs<Query>,
|
|
104
104
|
ThreadMessagesResult<Query>
|
|
105
105
|
>,
|
|
106
|
-
!options.stream
|
|
106
|
+
!options.stream ||
|
|
107
|
+
args === "skip" ||
|
|
108
|
+
paginated.status === "LoadingFirstPage"
|
|
109
|
+
? "skip"
|
|
110
|
+
: { ...args, startOrder: paginated.results.at(0)?.order }
|
|
107
111
|
);
|
|
108
112
|
|
|
109
113
|
const merged = useMemo(() => {
|
|
@@ -150,7 +154,7 @@ export function useStreamingThreadMessages<
|
|
|
150
154
|
Query extends ThreadStreamQuery<any, any>,
|
|
151
155
|
>(
|
|
152
156
|
query: Query,
|
|
153
|
-
args: ThreadMessagesArgs<Query> | "skip"
|
|
157
|
+
args: (ThreadMessagesArgs<Query> & { startOrder?: number }) | "skip"
|
|
154
158
|
): Array<ThreadMessagesResult<Query>> | undefined {
|
|
155
159
|
// Invariant: streamMessages[streamId] is comprised of all deltas up to the
|
|
156
160
|
// cursor. There can be multiple messages in the same stream, e.g. for tool
|
|
@@ -158,6 +162,10 @@ export function useStreamingThreadMessages<
|
|
|
158
162
|
const [streams, setStreams] = useState<
|
|
159
163
|
Array<{ streamId: string; cursor: number; messages: MessageDoc[] }>
|
|
160
164
|
>([]);
|
|
165
|
+
const startOrderRef = useRef<number>(0);
|
|
166
|
+
if (args !== "skip" && !startOrderRef.current && args.startOrder) {
|
|
167
|
+
startOrderRef.current = args.startOrder;
|
|
168
|
+
}
|
|
161
169
|
// Get all the active streams
|
|
162
170
|
const streamList = useQuery(
|
|
163
171
|
query,
|
|
@@ -166,7 +174,10 @@ export function useStreamingThreadMessages<
|
|
|
166
174
|
: ({
|
|
167
175
|
...args,
|
|
168
176
|
paginationOpts: { cursor: null, numItems: 0 },
|
|
169
|
-
streamArgs: {
|
|
177
|
+
streamArgs: {
|
|
178
|
+
kind: "list",
|
|
179
|
+
startOrder: startOrderRef.current,
|
|
180
|
+
} as StreamArgs,
|
|
170
181
|
} as FunctionArgs<Query>)
|
|
171
182
|
) as
|
|
172
183
|
| { streams: Extract<SyncStreamsReturnValue, { kind: "list" }> }
|