@convex-dev/rag 0.3.2 → 0.3.3-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.
@@ -1 +1 @@
1
- {"version":3,"file":"entries.d.ts","sourceRoot":"","sources":["../../src/component/entries.ts"],"names":[],"mappings":"AAEA,OAAO,EAAK,KAAK,KAAK,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,KAAK,EAAiB,WAAW,EAAW,MAAM,cAAc,CAAC;AACxE,OAAO,EAOL,KAAK,KAAK,EACX,MAAM,cAAc,CAAC;AAEtB,OAAO,KAAK,EAAE,GAAG,EAAE,EAAE,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAKL,KAAK,QAAQ,EACd,MAAM,wBAAwB,CAAC;AAEhC,OAAe,EAAE,KAAK,oBAAoB,EAAE,MAAM,aAAa,CAAC;AA0BhE,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;GA6DnB,CAAC;AAUH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;iBAkC7B,CAAC;AAgCH,eAAO,MAAM,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6Dd,CAAC;AA2CH;;GAEG;AACH,eAAO,MAAM,IAAI;;;;;;;;;;;;;;;;;;GAwBf,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,GAAG;;yBAUd,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,iBAAiB;;;;;;;yBA+C5B,CAAC;AAEH;;;;;;;GAOG;AACH,eAAO,MAAM,cAAc;aAYR,EAAE,CAAC,SAAS,CAAC;;;GAJ9B,CAAC;AA4EH,wBAAsB,gBAAgB,CAAC,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,CAAC,SAAS,CAAC;;;;;;;;;;;;;;;;;;;;;;;UAe1E;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE;IACjC,GAAG,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC;IACnB,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,WAAW,EAAE,CAAC;IAC5B,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,SAAS,CAAC;IAC7C,MAAM,EAAE,oBAAoB,CAAC;CAC9B,GAAG,KAAK,CAwBR;AAED,eAAO,MAAM,WAAW;aAWL,EAAE,CAAC,SAAS,CAAC;gBAAc,MAAM;iBAJlD,CAAC"}
1
+ {"version":3,"file":"entries.d.ts","sourceRoot":"","sources":["../../src/component/entries.ts"],"names":[],"mappings":"AAEA,OAAO,EAAK,KAAK,KAAK,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,KAAK,EAAiB,WAAW,EAAW,MAAM,cAAc,CAAC;AACxE,OAAO,EAOL,KAAK,KAAK,EACX,MAAM,cAAc,CAAC;AAEtB,OAAO,KAAK,EAAE,GAAG,EAAE,EAAE,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAOL,KAAK,QAAQ,EACd,MAAM,wBAAwB,CAAC;AAEhC,OAAe,EAAE,KAAK,oBAAoB,EAAE,MAAM,aAAa,CAAC;AA2BhE,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;GA6DnB,CAAC;AAUH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;iBAkC7B,CAAC;AAgCH,eAAO,MAAM,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6Dd,CAAC;AA2CH;;GAEG;AACH,eAAO,MAAM,IAAI;;;;;;;;;;;;;;;;;;GAwBf,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,GAAG;;yBAUd,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,iBAAiB;;;;;;;yBA+C5B,CAAC;AAEH;;;;;;;GAOG;AACH,eAAO,MAAM,cAAc;aAYR,EAAE,CAAC,SAAS,CAAC;;;GAJ9B,CAAC;AA4EH,wBAAsB,gBAAgB,CAAC,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,CAAC,SAAS,CAAC;;;;;;;;;;;;;;;;;;;;;;;UAe1E;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE;IACjC,GAAG,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC;IACnB,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,WAAW,EAAE,CAAC;IAC5B,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,SAAS,CAAC;IAC7C,MAAM,EAAE,oBAAoB,CAAC;CAC9B,GAAG,KAAK,CAwBR;AAED,eAAO,MAAM,WAAW;aAWL,EAAE,CAAC,SAAS,CAAC;gBAAc,MAAM;iBAJlD,CAAC;AAsBH,eAAO,MAAM,UAAU;;iBAiBrB,CAAC;AAEH,eAAO,MAAM,IAAI;;iBAMf,CAAC;AAEH,eAAO,MAAM,gBAAgB;;;;iBAuB3B,CAAC;AAuBH,eAAO,MAAM,2BAA2B;iBAnBjB,EAAE,CAAC,YAAY,CAAC;SAAO,MAAM;oBAAkB,MAAM;;;;;;;;;;;;;;;;;;;;;;;;KA2B1E,CAAC;AAEH,eAAO,MAAM,eAAe;;;iBAsB1B,CAAC"}
@@ -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: {
@@ -408,7 +409,7 @@ async function deleteAsyncHandler(ctx, args) {
408
409
  if (!entry) {
409
410
  throw new Error(`Entry ${entryId} not found`);
410
411
  }
411
- const status = await deleteChunksPage(ctx, { entryId, startOrder });
412
+ const status = await deleteChunksPageHandler(ctx, { entryId, startOrder });
412
413
  if (status.isDone) {
413
414
  await ctx.db.delete(entryId);
414
415
  }
@@ -419,4 +420,92 @@ async function deleteAsyncHandler(ctx, args) {
419
420
  });
420
421
  }
421
422
  }
423
+ export const deleteSync = action({
424
+ args: { entryId: v.id("entries") },
425
+ returns: v.null(),
426
+ handler: async (ctx, { entryId }) => {
427
+ let startOrder = 0;
428
+ while (true) {
429
+ const status = await ctx.runMutation(internal.chunks.deleteChunksPage, {
430
+ entryId,
431
+ startOrder,
432
+ });
433
+ if (status.isDone) {
434
+ await ctx.runMutation(internal.entries._del, { entryId });
435
+ break;
436
+ }
437
+ startOrder = status.nextStartOrder;
438
+ }
439
+ },
440
+ });
441
+ export const _del = internalMutation({
442
+ args: { entryId: v.id("entries") },
443
+ returns: v.null(),
444
+ handler: async (ctx, args) => {
445
+ await ctx.db.delete(args.entryId);
446
+ },
447
+ });
448
+ export const deleteByKeyAsync = mutation({
449
+ args: v.object({
450
+ namespaceId: v.id("namespaces"),
451
+ key: v.string(),
452
+ beforeVersion: v.optional(v.number()),
453
+ }),
454
+ returns: v.null(),
455
+ handler: async (ctx, args) => {
456
+ const entries = await getEntriesByKey(ctx, args);
457
+ for await (const entry of entries) {
458
+ await workpool.enqueueMutation(ctx, api.entries.deleteAsync, {
459
+ entryId: entry._id,
460
+ startOrder: 0,
461
+ });
462
+ }
463
+ if (entries.length === 100) {
464
+ await workpool.enqueueMutation(ctx, api.entries.deleteByKeyAsync, {
465
+ namespaceId: args.namespaceId,
466
+ key: args.key,
467
+ beforeVersion: entries[entries.length - 1].version,
468
+ });
469
+ }
470
+ },
471
+ });
472
+ async function getEntriesByKey(ctx, args) {
473
+ return mergedStream(statuses.map((status) => stream(ctx.db, schema)
474
+ .query("entries")
475
+ .withIndex("namespaceId_status_key_version", (q) => q
476
+ .eq("namespaceId", args.namespaceId)
477
+ .eq("status.kind", status)
478
+ .eq("key", args.key)
479
+ .lt("version", args.beforeVersion ?? Infinity))
480
+ .order("desc")), ["version"]).take(100);
481
+ }
482
+ export const getEntriesForNamespaceByKey = internalQuery({
483
+ args: {
484
+ namespaceId: v.id("namespaces"),
485
+ key: v.string(),
486
+ beforeVersion: v.optional(v.number()),
487
+ },
488
+ returns: v.array(doc(schema, "entries")),
489
+ handler: getEntriesByKey,
490
+ });
491
+ export const deleteByKeySync = action({
492
+ args: {
493
+ namespaceId: v.id("namespaces"),
494
+ key: v.string(),
495
+ },
496
+ returns: v.null(),
497
+ handler: async (ctx, args) => {
498
+ while (true) {
499
+ const entries = await ctx.runQuery(internal.entries.getEntriesForNamespaceByKey, { namespaceId: args.namespaceId, key: args.key });
500
+ for await (const entry of entries) {
501
+ await ctx.runAction(api.entries.deleteSync, {
502
+ entryId: entry._id,
503
+ });
504
+ }
505
+ if (entries.length <= 100) {
506
+ break;
507
+ }
508
+ }
509
+ },
510
+ });
422
511
  //# 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.2",
10
+ "version": "0.3.3-alpha.1",
11
11
  "license": "Apache-2.0",
12
12
  "keywords": [
13
13
  "convex",
@@ -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",
@@ -0,0 +1,39 @@
1
+ /**
2
+ * Rank results from multiple results, e.g. from vector search and text search.
3
+ * Uses the "Recriprocal Rank Fusion" algorithm.
4
+ * @param sortedResults The results arrays ordered by most important first.
5
+ */
6
+ export function hybridRank<T extends string>(
7
+ sortedResults: T[][],
8
+ opts?: {
9
+ /**
10
+ * A constant used to change the bias of the top results in each list vs.
11
+ * results in the middle of multiple lists.
12
+ * A higher k means less of a bias toward the top few results.
13
+ */
14
+ k: number;
15
+ /**
16
+ * The weights of each sortedResults array.
17
+ * Used to prefer results from one sortedResults array over another.
18
+ */
19
+ weights: number[];
20
+ /**
21
+ * The cutoff score for a result to be returned.
22
+ */
23
+ cutoffScore?: number;
24
+ }
25
+ ): T[] {
26
+ const k = opts?.k ?? 10;
27
+ const scores: Map<T, number> = new Map();
28
+ for (const [i, results] of sortedResults.entries()) {
29
+ const weight = opts?.weights?.[i] ?? 1;
30
+ for (let j = 0; j < results.length; j++) {
31
+ const key = results[j];
32
+ scores.set(key, (scores.get(key) ?? 0) + weight / (k + j));
33
+ }
34
+ }
35
+ const sortedScores = Array.from(scores.entries()).sort((a, b) => b[1] - a[1]);
36
+ return sortedScores
37
+ .filter(([_, score]) => score >= (opts?.cutoffScore ?? 0))
38
+ .map(([key]) => key);
39
+ }
@@ -49,6 +49,7 @@ import {
49
49
  import type { NamedFilter } from "../component/filters.js";
50
50
  import { defaultChunker } from "./defaultChunker.js";
51
51
 
52
+ export { hybridRank } from "./hybridRank.js";
52
53
  export { defaultChunker, vEntryId, vNamespaceId };
53
54
  export type {
54
55
  ChunkerAction,
@@ -699,15 +700,67 @@ export class RAG<
699
700
  }
700
701
 
701
702
  /**
702
- * Delete an entry and all its chunks.
703
+ * Delete an entry and all its chunks in the background using a workpool.
703
704
  */
704
- async delete(ctx: RunMutationCtx, args: { entryId: EntryId }) {
705
+ async deleteAsync(ctx: RunMutationCtx, args: { entryId: EntryId }) {
705
706
  await ctx.runMutation(this.component.entries.deleteAsync, {
706
707
  entryId: args.entryId,
707
708
  startOrder: 0,
708
709
  });
709
710
  }
710
711
 
712
+ /**
713
+ * Delete an entry and all its chunks (synchronously).
714
+ * If you are getting warnings about `ctx` not being compatible,
715
+ * you're likely running this in a mutation.
716
+ * Use `deleteAsync` or run `delete` in an action.
717
+ */
718
+ async delete(ctx: RunActionCtx, args: { entryId: EntryId }): Promise<void>;
719
+ /** @deprecated Use `deleteAsync` in mutations. */
720
+ async delete(ctx: RunMutationCtx, args: { entryId: EntryId }): Promise<void>;
721
+ async delete(ctx: RunActionCtx | RunMutationCtx, args: { entryId: EntryId }) {
722
+ if ("runAction" in ctx) {
723
+ await ctx.runAction(this.component.entries.deleteSync, {
724
+ entryId: args.entryId,
725
+ });
726
+ } else {
727
+ console.warn(
728
+ "You are running `rag.delete` in a mutation. This is deprecated. Use `rag.deleteAsync` from mutations, or `rag.delete` in actions."
729
+ );
730
+ await ctx.runMutation(this.component.entries.deleteAsync, {
731
+ entryId: args.entryId,
732
+ startOrder: 0,
733
+ });
734
+ }
735
+ }
736
+
737
+ /**
738
+ * Delete all entries with a given key (asynchrounously).
739
+ */
740
+ async deleteByKeyAsync(
741
+ ctx: RunMutationCtx,
742
+ args: { namespaceId: NamespaceId; key: string; beforeVersion?: number }
743
+ ) {
744
+ await ctx.runMutation(this.component.entries.deleteByKeyAsync, {
745
+ namespaceId: args.namespaceId,
746
+ key: args.key,
747
+ beforeVersion: args.beforeVersion,
748
+ });
749
+ }
750
+
751
+ /**
752
+ * Delete all entries with a given key (synchronously).
753
+ * If you are getting warnings about `ctx` not being compatible,
754
+ * you're likely running this in a mutation.
755
+ * Use `deleteByKeyAsync` or run `delete` in an action.
756
+ */
757
+ async deleteByKey(
758
+ ctx: RunActionCtx,
759
+ args: { namespaceId: NamespaceId; key: string; beforeVersion?: number }
760
+ ) {
761
+ await ctx.runAction(this.component.entries.deleteByKeySync, args);
762
+ }
763
+
711
764
  /**
712
765
  * Define a function that can be provided to the `onComplete` parameter of
713
766
  * `add` or `addAsync` like:
@@ -952,46 +1005,6 @@ async function createChunkArgsBatch(
952
1005
  }) as CreateChunkArgs[];
953
1006
  }
954
1007
 
955
- /**
956
- * Rank results from multiple results, e.g. from vector search and text search.
957
- * Uses the "Recriprocal Rank Fusion" algorithm.
958
- * @param sortedResults The results arrays ordered by most important first.
959
- */
960
- export function hybridRank<T extends string>(
961
- sortedResults: T[][],
962
- opts?: {
963
- /**
964
- * A constant used to change the bias of the top results in each list vs.
965
- * results in the middle of multiple lists.
966
- * A higher k means less of a bias toward the top few results.
967
- */
968
- k: number;
969
- /**
970
- * The weights of each sortedResults array.
971
- * Used to prefer results from one sortedResults array over another.
972
- */
973
- weights: number[];
974
- /**
975
- * The cutoff score for a result to be returned.
976
- */
977
- cutoffScore?: number;
978
- }
979
- ): T[] {
980
- const k = opts?.k ?? 10;
981
- const scores: Map<T, number> = new Map();
982
- for (const [i, results] of sortedResults.entries()) {
983
- const weight = opts?.weights?.[i] ?? 1;
984
- for (let j = 0; j < results.length; j++) {
985
- const key = results[j];
986
- scores.set(key, (scores.get(key) ?? 0) + weight / (k + j));
987
- }
988
- }
989
- const sortedScores = Array.from(scores.entries()).sort((a, b) => b[1] - a[1]);
990
- return sortedScores
991
- .filter(([_, score]) => score >= (opts?.cutoffScore ?? 0))
992
- .map(([key]) => key);
993
- }
994
-
995
1008
  type MastraChunk = {
996
1009
  text: string;
997
1010
  metadata: Record<string, Value>;
@@ -154,6 +154,24 @@ export type Mounts = {
154
154
  { entryId: string; startOrder: number },
155
155
  null
156
156
  >;
157
+ deleteByKeyAsync: FunctionReference<
158
+ "mutation",
159
+ "public",
160
+ { beforeVersion?: number; key: string; namespaceId: string },
161
+ null
162
+ >;
163
+ deleteByKeySync: FunctionReference<
164
+ "action",
165
+ "public",
166
+ { key: string; namespaceId: string },
167
+ null
168
+ >;
169
+ deleteSync: FunctionReference<
170
+ "action",
171
+ "public",
172
+ { entryId: string },
173
+ null
174
+ >;
157
175
  findByContentHash: FunctionReference<
158
176
  "query",
159
177
  "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
 
@@ -332,11 +332,12 @@ describe("chunks", () => {
332
332
  // Insert a large number of chunks
333
333
  const chunks = createTestChunks(10);
334
334
  await t.run(async (ctx) => {
335
- return insertChunks(ctx, {
335
+ const result = await insertChunks(ctx, {
336
336
  entryId,
337
337
  startOrder: 0,
338
338
  chunks,
339
339
  });
340
+ expect(result.status).toBe("ready");
340
341
  });
341
342
 
342
343
  // Verify chunks exist
@@ -350,7 +351,7 @@ describe("chunks", () => {
350
351
 
351
352
  // Delete chunks starting from order 3
352
353
  const deleteResult = await t.run(async (ctx) => {
353
- return deleteChunksPage(ctx, {
354
+ return deleteChunksPageHandler(ctx, {
354
355
  entryId,
355
356
  startOrder: 3,
356
357
  });
@@ -375,8 +376,15 @@ describe("chunks", () => {
375
376
  const allContent = await t.run(async (ctx) => {
376
377
  return ctx.db.query("content").collect();
377
378
  });
379
+
378
380
  // Should have only 3 content records remaining (for the 3 remaining chunks)
379
381
  expect(allContent).toHaveLength(3);
382
+
383
+ // Verify embeddings were deleted
384
+ const allEmbeddings = await t.run(async (ctx) => {
385
+ return ctx.db.query("vectors_128").collect();
386
+ });
387
+ expect(allEmbeddings).toHaveLength(3);
380
388
  });
381
389
 
382
390
  test("listing chunks returns correct pagination", async () => {
@@ -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,
@@ -21,7 +22,7 @@ import {
21
22
  type QueryCtx,
22
23
  } from "./_generated/server.js";
23
24
  import { insertEmbedding } from "./embeddings/index.js";
24
- import { vVectorId } from "./embeddings/tables.js";
25
+ import { vVectorId, type VectorTableName } from "./embeddings/tables.js";
25
26
  import { schema, v } from "./schema.js";
26
27
  import { getPreviousEntry, publicEntry } from "./entries.js";
27
28
  import {
@@ -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
  ) {
@@ -525,20 +535,49 @@ export async function deleteChunksPage(
525
535
  for await (const chunk of chunkStream) {
526
536
  dataUsedSoFar += await estimateChunkSize(chunk);
527
537
  await ctx.db.delete(chunk._id);
538
+ if (chunk.state.kind === "ready") {
539
+ const embedding = await ctx.db.get(chunk.state.embeddingId);
540
+ if (embedding) {
541
+ dataUsedSoFar += estimateEmbeddingSize(embedding);
542
+ await ctx.db.delete(chunk.state.embeddingId);
543
+ }
544
+ }
528
545
  dataUsedSoFar += await estimateContentSize(ctx, chunk.contentId);
529
546
  await ctx.db.delete(chunk.contentId);
530
547
  if (dataUsedSoFar > BANDWIDTH_PER_TRANSACTION_HARD_LIMIT) {
531
- // TODO: schedule follow-up - workpool?
532
548
  return { isDone: false, nextStartOrder: chunk.order };
533
549
  }
534
550
  }
535
551
  return { isDone: true, nextStartOrder: -1 };
536
552
  }
537
553
 
554
+ function estimateEmbeddingSize(embedding: Doc<VectorTableName>) {
555
+ let dataUsedSoFar =
556
+ embedding.vector.length * 8 +
557
+ embedding.namespaceId.length +
558
+ embedding._id.length +
559
+ 8;
560
+ for (const filter of [
561
+ embedding.filter0,
562
+ embedding.filter1,
563
+ embedding.filter2,
564
+ embedding.filter3,
565
+ ]) {
566
+ if (filter) {
567
+ dataUsedSoFar += JSON.stringify(convexToJson(filter[1])).length;
568
+ }
569
+ }
570
+ return dataUsedSoFar;
571
+ }
572
+
538
573
  async function estimateChunkSize(chunk: Doc<"chunks">) {
539
574
  let dataUsedSoFar = 100; // constant metadata - roughly
540
575
  if (chunk.state.kind === "pending") {
541
576
  dataUsedSoFar += chunk.state.embedding.length * 8;
577
+ dataUsedSoFar += chunk.state.pendingSearchableText?.length ?? 0;
578
+ } else if (chunk.state.kind === "replaced") {
579
+ dataUsedSoFar += chunk.state.vector.length * 8;
580
+ dataUsedSoFar += chunk.state.pendingSearchableText?.length ?? 0;
542
581
  }
543
582
  return dataUsedSoFar;
544
583
  }