@convex-dev/rag 0.3.3-alpha.0 → 0.3.3

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.
@@ -3,14 +3,15 @@ import { createFunctionHandle, paginationOptsValidator } from "convex/server";
3
3
  import { v } from "convex/values";
4
4
  import { statuses, vActiveStatus, vCreateChunkArgs, vEntry, vPaginationResult, vStatus, } from "../shared.js";
5
5
  import { api, internal } from "./_generated/api.js";
6
- import { internalMutation, mutation, query, } from "./_generated/server.js";
7
- import { deleteChunksPage, insertChunks } from "./chunks.js";
8
- import schema, {} from "./schema.js";
6
+ import { action, internalMutation, internalQuery, mutation, query, } from "./_generated/server.js";
7
+ import { deleteChunksPageHandler, insertChunks } from "./chunks.js";
8
+ import schema from "./schema.js";
9
9
  import { mergedStream } from "convex-helpers/server/stream";
10
10
  import { stream } from "convex-helpers/server/stream";
11
11
  import { getCompatibleNamespaceHandler, publicNamespace, vNamespaceLookupArgs, } from "./namespaces.js";
12
12
  import { vResultValidator, vWorkIdValidator, Workpool, } from "@convex-dev/workpool";
13
13
  import { components } from "./_generated/api.js";
14
+ import { doc } from "convex-helpers/validators";
14
15
  const workpool = new Workpool(components.workpool, {
15
16
  retryActionsByDefault: true,
16
17
  defaultRetryBehavior: {
@@ -131,7 +132,6 @@ export const add = mutation({
131
132
  entryId: v.id("entries"),
132
133
  status: vStatus,
133
134
  created: v.boolean(),
134
- replacedEntry: v.union(vEntry, v.null()),
135
135
  }),
136
136
  handler: async (ctx, args) => {
137
137
  const { namespaceId, key } = args.entry;
@@ -145,7 +145,6 @@ export const add = mutation({
145
145
  entryId: existing._id,
146
146
  status: existing.status.kind,
147
147
  created: false,
148
- replacedEntry: null,
149
148
  };
150
149
  }
151
150
  const version = existing ? existing.version + 1 : 0;
@@ -155,26 +154,24 @@ export const add = mutation({
155
154
  status: { kind: "pending", onComplete: args.onComplete },
156
155
  });
157
156
  if (args.allChunks) {
158
- await insertChunks(ctx, {
157
+ const { status } = await insertChunks(ctx, {
159
158
  entryId,
160
159
  startOrder: 0,
161
160
  chunks: args.allChunks,
162
161
  });
163
- const { replacedEntry } = await promoteToReadyHandler(ctx, {
164
- entryId,
165
- });
162
+ if (status === "ready") {
163
+ await promoteToReadyHandler(ctx, { entryId });
164
+ }
166
165
  return {
167
166
  entryId,
168
- status: "ready",
167
+ status,
169
168
  created: true,
170
- replacedEntry,
171
169
  };
172
170
  }
173
171
  return {
174
172
  entryId,
175
173
  status: "pending",
176
174
  created: true,
177
- replacedEntry: null,
178
175
  };
179
176
  },
180
177
  });
@@ -408,7 +405,7 @@ async function deleteAsyncHandler(ctx, args) {
408
405
  if (!entry) {
409
406
  throw new Error(`Entry ${entryId} not found`);
410
407
  }
411
- const status = await deleteChunksPage(ctx, { entryId, startOrder });
408
+ const status = await deleteChunksPageHandler(ctx, { entryId, startOrder });
412
409
  if (status.isDone) {
413
410
  await ctx.db.delete(entryId);
414
411
  }
@@ -419,4 +416,92 @@ async function deleteAsyncHandler(ctx, args) {
419
416
  });
420
417
  }
421
418
  }
419
+ export const deleteSync = action({
420
+ args: { entryId: v.id("entries") },
421
+ returns: v.null(),
422
+ handler: async (ctx, { entryId }) => {
423
+ let startOrder = 0;
424
+ while (true) {
425
+ const status = await ctx.runMutation(internal.chunks.deleteChunksPage, {
426
+ entryId,
427
+ startOrder,
428
+ });
429
+ if (status.isDone) {
430
+ await ctx.runMutation(internal.entries._del, { entryId });
431
+ break;
432
+ }
433
+ startOrder = status.nextStartOrder;
434
+ }
435
+ },
436
+ });
437
+ export const _del = internalMutation({
438
+ args: { entryId: v.id("entries") },
439
+ returns: v.null(),
440
+ handler: async (ctx, args) => {
441
+ await ctx.db.delete(args.entryId);
442
+ },
443
+ });
444
+ export const deleteByKeyAsync = mutation({
445
+ args: v.object({
446
+ namespaceId: v.id("namespaces"),
447
+ key: v.string(),
448
+ beforeVersion: v.optional(v.number()),
449
+ }),
450
+ returns: v.null(),
451
+ handler: async (ctx, args) => {
452
+ const entries = await getEntriesByKey(ctx, args);
453
+ for await (const entry of entries) {
454
+ await workpool.enqueueMutation(ctx, api.entries.deleteAsync, {
455
+ entryId: entry._id,
456
+ startOrder: 0,
457
+ });
458
+ }
459
+ if (entries.length === 100) {
460
+ await workpool.enqueueMutation(ctx, api.entries.deleteByKeyAsync, {
461
+ namespaceId: args.namespaceId,
462
+ key: args.key,
463
+ beforeVersion: entries[entries.length - 1].version,
464
+ });
465
+ }
466
+ },
467
+ });
468
+ async function getEntriesByKey(ctx, args) {
469
+ return mergedStream(statuses.map((status) => stream(ctx.db, schema)
470
+ .query("entries")
471
+ .withIndex("namespaceId_status_key_version", (q) => q
472
+ .eq("namespaceId", args.namespaceId)
473
+ .eq("status.kind", status)
474
+ .eq("key", args.key)
475
+ .lt("version", args.beforeVersion ?? Infinity))
476
+ .order("desc")), ["version"]).take(100);
477
+ }
478
+ export const getEntriesForNamespaceByKey = internalQuery({
479
+ args: {
480
+ namespaceId: v.id("namespaces"),
481
+ key: v.string(),
482
+ beforeVersion: v.optional(v.number()),
483
+ },
484
+ returns: v.array(doc(schema, "entries")),
485
+ handler: getEntriesByKey,
486
+ });
487
+ export const deleteByKeySync = action({
488
+ args: {
489
+ namespaceId: v.id("namespaces"),
490
+ key: v.string(),
491
+ },
492
+ returns: v.null(),
493
+ handler: async (ctx, args) => {
494
+ while (true) {
495
+ const entries = await ctx.runQuery(internal.entries.getEntriesForNamespaceByKey, { namespaceId: args.namespaceId, key: args.key });
496
+ for await (const entry of entries) {
497
+ await ctx.runAction(api.entries.deleteSync, {
498
+ entryId: entry._id,
499
+ });
500
+ }
501
+ if (entries.length <= 100) {
502
+ break;
503
+ }
504
+ }
505
+ },
506
+ });
422
507
  //# sourceMappingURL=entries.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"entries.js","sourceRoot":"","sources":["../../src/component/entries.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"entries.js","sourceRoot":"","sources":["../../src/component/entries.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -7,7 +7,7 @@
7
7
  "email": "support@convex.dev",
8
8
  "url": "https://github.com/get-convex/rag/issues"
9
9
  },
10
- "version": "0.3.3-alpha.0",
10
+ "version": "0.3.3",
11
11
  "license": "Apache-2.0",
12
12
  "keywords": [
13
13
  "convex",
@@ -22,11 +22,11 @@
22
22
  "type": "module",
23
23
  "scripts": {
24
24
  "example": "cd example && npm run dev",
25
- "dev": "run-p -r 'example' 'build:watch'",
25
+ "dev": "run-p -r 'example' 'build:watch' 'test:watch'",
26
26
  "dashboard": "cd example && npx convex dashboard",
27
27
  "all": "run-p -r 'example' 'build:watch' 'test:watch'",
28
28
  "setup": "npm i && npm run build && cd example && npm i && npx convex dev --once && printf 'VITE_CONVEX_SITE_URL=' >> .env.local && npx convex env get CONVEX_SITE_URL >> .env.local",
29
- "build:watch": "cd src && npx chokidar -d 1000 '../tsconfig.json' '**/*.ts' -c 'npm run build' --initial",
29
+ "build:watch": "npx chokidar -d 1000 './tsconfig.json' 'src/**/*.ts' -c 'npm run build' --initial",
30
30
  "build": "tsc --project ./tsconfig.build.json && npm run copy:dts && echo '{\\n \"type\": \"module\"\\n}' > dist/package.json",
31
31
  "copy:dts": "rsync -a --include='*/' --include='*.d.ts' --exclude='*' src/ dist/ || cpy 'src/**/*.d.ts' 'dist/' --parents",
32
32
  "typecheck": "tsc --noEmit",
@@ -38,7 +38,7 @@
38
38
  "test:debug": "vitest --inspect-brk --no-file-parallelism --config ./src/vitest.config.ts",
39
39
  "test:coverage": "vitest run --coverage --coverage.reporter=text",
40
40
  "lint": "eslint src",
41
- "version": "pbcopy <<<$npm_package_version; vim CHANGELOG.md && git add CHANGELOG.md"
41
+ "version": "pbcopy <<<$npm_package_version; vim CHANGELOG.md && npx prettier -w CHANGELOG.md && git add CHANGELOG.md"
42
42
  },
43
43
  "files": [
44
44
  "dist",
@@ -165,6 +165,38 @@ describe("RAG thick client", () => {
165
165
  // expect(result).toBe(1);
166
166
  });
167
167
 
168
+ test("should be able to re-add an entry with the same key", async () => {
169
+ const t = initConvexTest(schema);
170
+ const { entryId, status } = await t.mutation(testApi.add, {
171
+ key: "test",
172
+ chunks: [{ text: "A", metadata: {}, embedding: dummyEmbeddings("A") }],
173
+ namespace: "test",
174
+ });
175
+ expect(entryId).toBeDefined();
176
+ expect(status).toBe("ready");
177
+ const { entryId: entryId2, status: status2 } = await t.mutation(
178
+ testApi.add,
179
+ {
180
+ key: "test",
181
+ chunks: [
182
+ { text: "A", metadata: {}, embedding: dummyEmbeddings("A") },
183
+ ],
184
+ namespace: "test",
185
+ }
186
+ );
187
+ expect(entryId2).toBeDefined();
188
+ expect(status2).toBe("ready");
189
+ const { page } = await t.query(components.rag.chunks.list, {
190
+ entryId: entryId2,
191
+ paginationOpts: { numItems: 10, cursor: null },
192
+ order: "asc",
193
+ });
194
+ expect(page.length).toBe(1);
195
+ expect(page[0].order).toBe(0);
196
+ expect(page[0].text).toBe("A");
197
+ expect(page[0].state).toBe("ready");
198
+ });
199
+
168
200
  describe("text formatting validation", () => {
169
201
  test("should format single entry with sequential chunks correctly", async () => {
170
202
  const t = initConvexTest(schema);
@@ -184,7 +184,7 @@ export class RAG<
184
184
  const onComplete =
185
185
  args.onComplete && (await createFunctionHandle(args.onComplete));
186
186
 
187
- const { entryId, status, created, replacedEntry } = await ctx.runMutation(
187
+ const { entryId, status, created } = await ctx.runMutation(
188
188
  this.component.entries.add,
189
189
  {
190
190
  entry: {
@@ -205,29 +205,31 @@ export class RAG<
205
205
  entryId: entryId as EntryId,
206
206
  status,
207
207
  created,
208
- replacedEntry: replacedEntry as Entry<
209
- FitlerSchemas,
210
- EntryMetadata
211
- > | null,
208
+ replacedEntry: null,
212
209
  };
213
210
  }
214
211
 
215
- // break chunks up into batches, respecting soft limit
216
- let startOrder = 0;
217
212
  let isPending = false;
218
- for await (const batch of batchIterator(chunks, CHUNK_BATCH_SIZE)) {
219
- const chunks = await createChunkArgsBatch(
220
- this.options.textEmbeddingModel,
221
- batch
222
- );
223
- const { status } = await ctx.runMutation(this.component.chunks.insert, {
224
- entryId,
225
- startOrder,
226
- chunks,
227
- });
228
- startOrder += chunks.length;
229
- if (status === "pending") {
230
- isPending = true;
213
+ if (allChunks) {
214
+ // If we added all the chunks and we're here, they're pending.
215
+ isPending = true;
216
+ } else {
217
+ // break chunks up into batches, respecting soft limit
218
+ let startOrder = 0;
219
+ for await (const batch of batchIterator(chunks, CHUNK_BATCH_SIZE)) {
220
+ const chunks = await createChunkArgsBatch(
221
+ this.options.textEmbeddingModel,
222
+ batch
223
+ );
224
+ const { status } = await ctx.runMutation(this.component.chunks.insert, {
225
+ entryId,
226
+ startOrder,
227
+ chunks,
228
+ });
229
+ startOrder += chunks.length;
230
+ if (status === "pending") {
231
+ isPending = true;
232
+ }
231
233
  }
232
234
  }
233
235
  if (isPending) {
@@ -700,15 +702,67 @@ export class RAG<
700
702
  }
701
703
 
702
704
  /**
703
- * Delete an entry and all its chunks.
705
+ * Delete an entry and all its chunks in the background using a workpool.
704
706
  */
705
- async delete(ctx: RunMutationCtx, args: { entryId: EntryId }) {
707
+ async deleteAsync(ctx: RunMutationCtx, args: { entryId: EntryId }) {
706
708
  await ctx.runMutation(this.component.entries.deleteAsync, {
707
709
  entryId: args.entryId,
708
710
  startOrder: 0,
709
711
  });
710
712
  }
711
713
 
714
+ /**
715
+ * Delete an entry and all its chunks (synchronously).
716
+ * If you are getting warnings about `ctx` not being compatible,
717
+ * you're likely running this in a mutation.
718
+ * Use `deleteAsync` or run `delete` in an action.
719
+ */
720
+ async delete(ctx: RunActionCtx, args: { entryId: EntryId }): Promise<void>;
721
+ /** @deprecated Use `deleteAsync` in mutations. */
722
+ async delete(ctx: RunMutationCtx, args: { entryId: EntryId }): Promise<void>;
723
+ async delete(ctx: RunActionCtx | RunMutationCtx, args: { entryId: EntryId }) {
724
+ if ("runAction" in ctx) {
725
+ await ctx.runAction(this.component.entries.deleteSync, {
726
+ entryId: args.entryId,
727
+ });
728
+ } else {
729
+ console.warn(
730
+ "You are running `rag.delete` in a mutation. This is deprecated. Use `rag.deleteAsync` from mutations, or `rag.delete` in actions."
731
+ );
732
+ await ctx.runMutation(this.component.entries.deleteAsync, {
733
+ entryId: args.entryId,
734
+ startOrder: 0,
735
+ });
736
+ }
737
+ }
738
+
739
+ /**
740
+ * Delete all entries with a given key (asynchrounously).
741
+ */
742
+ async deleteByKeyAsync(
743
+ ctx: RunMutationCtx,
744
+ args: { namespaceId: NamespaceId; key: string; beforeVersion?: number }
745
+ ) {
746
+ await ctx.runMutation(this.component.entries.deleteByKeyAsync, {
747
+ namespaceId: args.namespaceId,
748
+ key: args.key,
749
+ beforeVersion: args.beforeVersion,
750
+ });
751
+ }
752
+
753
+ /**
754
+ * Delete all entries with a given key (synchronously).
755
+ * If you are getting warnings about `ctx` not being compatible,
756
+ * you're likely running this in a mutation.
757
+ * Use `deleteByKeyAsync` or run `delete` in an action.
758
+ */
759
+ async deleteByKey(
760
+ ctx: RunActionCtx,
761
+ args: { namespaceId: NamespaceId; key: string; beforeVersion?: number }
762
+ ) {
763
+ await ctx.runAction(this.component.entries.deleteByKeySync, args);
764
+ }
765
+
712
766
  /**
713
767
  * Define a function that can be provided to the `onComplete` parameter of
714
768
  * `add` or `addAsync` like:
@@ -116,17 +116,6 @@ export type Mounts = {
116
116
  {
117
117
  created: boolean;
118
118
  entryId: string;
119
- replacedEntry: {
120
- contentHash?: string;
121
- entryId: string;
122
- filterValues: Array<{ name: string; value: any }>;
123
- importance: number;
124
- key?: string;
125
- metadata?: Record<string, any>;
126
- replacedAt?: number;
127
- status: "pending" | "ready" | "replaced";
128
- title?: string;
129
- } | null;
130
119
  status: "pending" | "ready" | "replaced";
131
120
  }
132
121
  >;
@@ -154,6 +143,24 @@ export type Mounts = {
154
143
  { entryId: string; startOrder: number },
155
144
  null
156
145
  >;
146
+ deleteByKeyAsync: FunctionReference<
147
+ "mutation",
148
+ "public",
149
+ { beforeVersion?: number; key: string; namespaceId: string },
150
+ null
151
+ >;
152
+ deleteByKeySync: FunctionReference<
153
+ "action",
154
+ "public",
155
+ { key: string; namespaceId: string },
156
+ null
157
+ >;
158
+ deleteSync: FunctionReference<
159
+ "action",
160
+ "public",
161
+ { entryId: string },
162
+ null
163
+ >;
157
164
  findByContentHash: FunctionReference<
158
165
  "query",
159
166
  "public",
@@ -5,7 +5,7 @@ import { convexTest, type TestConvex } from "convex-test";
5
5
  import schema from "./schema.js";
6
6
  import { api, internal } from "./_generated/api.js";
7
7
  import { modules } from "./setup.test.js";
8
- import { insertChunks, deleteChunksPage } from "./chunks.js";
8
+ import { insertChunks, deleteChunksPageHandler } from "./chunks.js";
9
9
  import type { Id } from "./_generated/dataModel.js";
10
10
  import { assert } from "convex-helpers";
11
11
 
@@ -351,7 +351,7 @@ describe("chunks", () => {
351
351
 
352
352
  // Delete chunks starting from order 3
353
353
  const deleteResult = await t.run(async (ctx) => {
354
- return deleteChunksPage(ctx, {
354
+ return deleteChunksPageHandler(ctx, {
355
355
  entryId,
356
356
  startOrder: 3,
357
357
  });
@@ -14,6 +14,7 @@ import {
14
14
  } from "../shared.js";
15
15
  import type { Doc, Id } from "./_generated/dataModel.js";
16
16
  import {
17
+ internalMutation,
17
18
  internalQuery,
18
19
  mutation,
19
20
  query,
@@ -512,7 +513,16 @@ async function publicChunk(chunk: Doc<"chunks">, content: Doc<"content">) {
512
513
  };
513
514
  }
514
515
 
515
- export async function deleteChunksPage(
516
+ export const deleteChunksPage = internalMutation({
517
+ args: v.object({
518
+ entryId: v.id("entries"),
519
+ startOrder: v.number(),
520
+ }),
521
+ returns: v.object({ isDone: v.boolean(), nextStartOrder: v.number() }),
522
+ handler: deleteChunksPageHandler,
523
+ });
524
+
525
+ export async function deleteChunksPageHandler(
516
526
  ctx: MutationCtx,
517
527
  { entryId, startOrder }: { entryId: Id<"entries">; startOrder: number }
518
528
  ) {