ugly-app 0.1.629 → 0.1.630

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.
Files changed (38) hide show
  1. package/dist/cli/bootstrapMigration.d.ts +1 -1
  2. package/dist/cli/bootstrapMigration.d.ts.map +1 -1
  3. package/dist/cli/bootstrapMigration.js +8 -1
  4. package/dist/cli/bootstrapMigration.js.map +1 -1
  5. package/dist/cli/version.d.ts +1 -1
  6. package/dist/cli/version.js +1 -1
  7. package/dist/server/DB.d.ts +2 -6
  8. package/dist/server/DB.d.ts.map +1 -1
  9. package/dist/server/DB.js +80 -40
  10. package/dist/server/DB.js.map +1 -1
  11. package/dist/server/PostgresDoc.d.ts +18 -2
  12. package/dist/server/PostgresDoc.d.ts.map +1 -1
  13. package/dist/server/PostgresDoc.js +51 -4
  14. package/dist/server/PostgresDoc.js.map +1 -1
  15. package/dist/server/PostgresSchema.d.ts +21 -11
  16. package/dist/server/PostgresSchema.d.ts.map +1 -1
  17. package/dist/server/PostgresSchema.js +52 -22
  18. package/dist/server/PostgresSchema.js.map +1 -1
  19. package/dist/server/index.d.ts +1 -1
  20. package/dist/server/index.d.ts.map +1 -1
  21. package/dist/server/index.js +1 -1
  22. package/dist/server/index.js.map +1 -1
  23. package/dist/server/vector.d.ts +6 -0
  24. package/dist/server/vector.d.ts.map +1 -1
  25. package/dist/server/vector.js +1 -1
  26. package/dist/server/vector.js.map +1 -1
  27. package/dist/shared/DB.d.ts +29 -9
  28. package/dist/shared/DB.d.ts.map +1 -1
  29. package/dist/shared/DB.js.map +1 -1
  30. package/package.json +1 -1
  31. package/src/cli/bootstrapMigration.ts +14 -2
  32. package/src/cli/version.ts +1 -1
  33. package/src/server/DB.ts +84 -49
  34. package/src/server/PostgresDoc.ts +63 -4
  35. package/src/server/PostgresSchema.ts +62 -26
  36. package/src/server/index.ts +1 -1
  37. package/src/server/vector.ts +1 -1
  38. package/src/shared/DB.ts +30 -5
@@ -10,7 +10,7 @@ interface CollectionBootstrapConfig {
10
10
  };
11
11
  vector?: {
12
12
  dimensions: number;
13
- source: string;
13
+ from: string;
14
14
  };
15
15
  }
16
16
  export declare function generateBootstrapMigration(collections: Record<string, CollectionBootstrapConfig>): string;
@@ -1 +1 @@
1
- {"version":3,"file":"bootstrapMigration.d.ts","sourceRoot":"","sources":["../../src/cli/bootstrapMigration.ts"],"names":[],"mappings":"AAAA,UAAU,yBAAyB;IACjC,OAAO,CAAC,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAAC,MAAM,CAAC,EAAE,OAAO,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC/E,MAAM,CAAC,EAAE;QAAE,MAAM,EAAE,MAAM,EAAE,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACjD,MAAM,CAAC,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;CACjD;AAED,wBAAgB,0BAA0B,CACxC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,yBAAyB,CAAC,GACrD,MAAM,CAyDR"}
1
+ {"version":3,"file":"bootstrapMigration.d.ts","sourceRoot":"","sources":["../../src/cli/bootstrapMigration.ts"],"names":[],"mappings":"AAEA,UAAU,yBAAyB;IACjC,OAAO,CAAC,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAAC,MAAM,CAAC,EAAE,OAAO,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC/E,MAAM,CAAC,EAAE;QAAE,MAAM,EAAE,MAAM,EAAE,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACjD,MAAM,CAAC,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;CAC/C;AAED,wBAAgB,0BAA0B,CACxC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,yBAAyB,CAAC,GACrD,MAAM,CAmER"}
@@ -1,3 +1,4 @@
1
+ import { searchTsvectorExpr } from '../server/PostgresSchema.js';
1
2
  export function generateBootstrapMigration(collections) {
2
3
  // Sort collection names for deterministic output
3
4
  const tableNames = Object.keys(collections).sort();
@@ -26,9 +27,15 @@ export function generateBootstrapMigration(collections) {
26
27
  }
27
28
  }
28
29
  if (config.search) {
29
- indexStatements.push(` await query(\`ALTER TABLE "${name}" ADD COLUMN IF NOT EXISTS search TSVECTOR\`);`);
30
+ const expr = searchTsvectorExpr(config.search.fields, config.search.language);
31
+ indexStatements.push(` await query(\`ALTER TABLE "${name}" ADD COLUMN IF NOT EXISTS search tsvector GENERATED ALWAYS AS (${expr}) STORED\`);`);
30
32
  indexStatements.push(` await query(\`CREATE INDEX IF NOT EXISTS "idx_${name}_search" ON "${name}" USING GIN (search)\`);`);
31
33
  }
34
+ if (config.vector) {
35
+ indexStatements.push(` await query(\`CREATE EXTENSION IF NOT EXISTS vector\`);`);
36
+ indexStatements.push(` await query(\`ALTER TABLE "${name}" ADD COLUMN IF NOT EXISTS embedding vector(${config.vector.dimensions})\`);`);
37
+ indexStatements.push(` await query(\`CREATE INDEX IF NOT EXISTS "idx_${name}_embedding" ON "${name}" USING hnsw (embedding vector_cosine_ops)\`);`);
38
+ }
32
39
  }
33
40
  const allStatements = [...createTableStatements, ...indexStatements];
34
41
  return `import type { query as pgQuery } from 'ugly-app/server';
@@ -1 +1 @@
1
- {"version":3,"file":"bootstrapMigration.js","sourceRoot":"","sources":["../../src/cli/bootstrapMigration.ts"],"names":[],"mappings":"AAMA,MAAM,UAAU,0BAA0B,CACxC,WAAsD;IAEtD,iDAAiD;IACjD,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,IAAI,EAAE,CAAC;IAEnD,gCAAgC;IAChC,MAAM,qBAAqB,GAAG,UAAU,CAAC,GAAG,CAC1C,CAAC,IAAI,EAAE,EAAE,CACP,+CAA+C,IAAI,OAAO;QAC1D,kCAAkC;QAClC,gCAAgC;QAChC,oDAAoD;QACpD,oDAAoD;QACpD,2CAA2C;QAC3C,SAAS;QACT,qDAAqD,IAAI,cAAc,IAAI,wBAAwB,CACtG,CAAC;IAEF,4CAA4C;IAC5C,MAAM,eAAe,GAAa,EAAE,CAAC;IACrC,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;QAC9B,MAAM,MAAM,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;QACjC,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,OAAO,IAAI,EAAE,EAAE,CAAC;YACvC,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YACvC,IAAI,GAAG,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACtC,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;gBACxB,eAAe,CAAC,IAAI,CAClB,0DAA0D,IAAI,IAAI,KAAK,gBAAgB,IAAI,eAAe,KAAK,SAAS,CACzH,CAAC;YACJ,CAAC;YACD,IAAI,GAAG,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;gBAC1B,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;gBACxB,eAAe,CAAC,IAAI,CAClB,mDAAmD,IAAI,IAAI,KAAK,SAAS,IAAI,eAAe,KAAK,SAAS,CAC3G,CAAC;YACJ,CAAC;QACH,CAAC;QACD,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YAClB,eAAe,CAAC,IAAI,CAClB,gCAAgC,IAAI,gDAAgD,CACrF,CAAC;YACF,eAAe,CAAC,IAAI,CAClB,mDAAmD,IAAI,gBAAgB,IAAI,0BAA0B,CACtG,CAAC;QACJ,CAAC;IACH,CAAC;IAED,MAAM,aAAa,GAAG,CAAC,GAAG,qBAAqB,EAAE,GAAG,eAAe,CAAC,CAAC;IAErE,OAAO;;;;;;EAMP,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC;;CAEzB,CAAC;AACF,CAAC"}
1
+ {"version":3,"file":"bootstrapMigration.js","sourceRoot":"","sources":["../../src/cli/bootstrapMigration.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAQjE,MAAM,UAAU,0BAA0B,CACxC,WAAsD;IAEtD,iDAAiD;IACjD,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,IAAI,EAAE,CAAC;IAEnD,gCAAgC;IAChC,MAAM,qBAAqB,GAAG,UAAU,CAAC,GAAG,CAC1C,CAAC,IAAI,EAAE,EAAE,CACP,+CAA+C,IAAI,OAAO;QAC1D,kCAAkC;QAClC,gCAAgC;QAChC,oDAAoD;QACpD,oDAAoD;QACpD,2CAA2C;QAC3C,SAAS;QACT,qDAAqD,IAAI,cAAc,IAAI,wBAAwB,CACtG,CAAC;IAEF,4CAA4C;IAC5C,MAAM,eAAe,GAAa,EAAE,CAAC;IACrC,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;QAC9B,MAAM,MAAM,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;QACjC,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,OAAO,IAAI,EAAE,EAAE,CAAC;YACvC,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YACvC,IAAI,GAAG,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACtC,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;gBACxB,eAAe,CAAC,IAAI,CAClB,0DAA0D,IAAI,IAAI,KAAK,gBAAgB,IAAI,eAAe,KAAK,SAAS,CACzH,CAAC;YACJ,CAAC;YACD,IAAI,GAAG,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;gBAC1B,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;gBACxB,eAAe,CAAC,IAAI,CAClB,mDAAmD,IAAI,IAAI,KAAK,SAAS,IAAI,eAAe,KAAK,SAAS,CAC3G,CAAC;YACJ,CAAC;QACH,CAAC;QACD,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YAClB,MAAM,IAAI,GAAG,kBAAkB,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YAC9E,eAAe,CAAC,IAAI,CAClB,gCAAgC,IAAI,mEAAmE,IAAI,cAAc,CAC1H,CAAC;YACF,eAAe,CAAC,IAAI,CAClB,mDAAmD,IAAI,gBAAgB,IAAI,0BAA0B,CACtG,CAAC;QACJ,CAAC;QACD,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YAClB,eAAe,CAAC,IAAI,CAAC,2DAA2D,CAAC,CAAC;YAClF,eAAe,CAAC,IAAI,CAClB,gCAAgC,IAAI,+CAA+C,MAAM,CAAC,MAAM,CAAC,UAAU,OAAO,CACnH,CAAC;YACF,eAAe,CAAC,IAAI,CAClB,mDAAmD,IAAI,mBAAmB,IAAI,gDAAgD,CAC/H,CAAC;QACJ,CAAC;IACH,CAAC;IAED,MAAM,aAAa,GAAG,CAAC,GAAG,qBAAqB,EAAE,GAAG,eAAe,CAAC,CAAC;IAErE,OAAO;;;;;;EAMP,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC;;CAEzB,CAAC;AACF,CAAC"}
@@ -1,2 +1,2 @@
1
- export declare const CLI_VERSION = "0.1.629";
1
+ export declare const CLI_VERSION = "0.1.630";
2
2
  //# sourceMappingURL=version.d.ts.map
@@ -1,3 +1,3 @@
1
1
  // Auto-generated by prebuild — do not edit manually
2
- export const CLI_VERSION = "0.1.629";
2
+ export const CLI_VERSION = "0.1.630";
3
3
  //# sourceMappingURL=version.js.map
@@ -1,5 +1,5 @@
1
1
  import { CollectionDef, CollectionDefRegistry, DBObject, DeleteHandlers, DocFields, FindOptions, MongoUpdateOp, TypedFilter, TypedDB } from '../shared/DB.js';
2
- import { type DbNotify } from './PostgresDoc.js';
2
+ import { type DbNotify, type PgGetDocsOptions } from './PostgresDoc.js';
3
3
  export declare function getDoc<T extends DBObject>(collection: string, id: string): Promise<T | null>;
4
4
  export declare function setDoc<T extends DBObject>(collection: string, doc: T, options?: {
5
5
  skipIfExists?: boolean;
@@ -15,11 +15,7 @@ export declare function setDocOpOrIgnore<T extends DBObject>(collection: string,
15
15
  * Not exported publicly; use app.db.deleteDoc() instead.
16
16
  */
17
17
  export declare function deleteDoc(collection: string, id: string, notify?: DbNotify): Promise<void>;
18
- export declare function getDocs<T extends DBObject>(collection: string, filter?: Record<string, unknown>, options?: {
19
- sort?: Record<string, 1 | -1>;
20
- limit?: number;
21
- skip?: number;
22
- }): Promise<T[]>;
18
+ export declare function getDocs<T extends DBObject>(collection: string, filter?: Record<string, unknown>, options?: PgGetDocsOptions): Promise<T[]>;
23
19
  export declare function getQueryCount(collection: string, pipeline: Record<string, unknown>[]): Promise<number>;
24
20
  export declare function getQueryRaw<T>(collection: string, pipeline: Record<string, unknown>[], options?: {
25
21
  skip?: number;
@@ -1 +1 @@
1
- {"version":3,"file":"DB.d.ts","sourceRoot":"","sources":["../../src/server/DB.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DB.d.ts","sourceRoot":"","sources":["../../src/server/DB.ts"],"names":[],"mappings":"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"}
package/dist/server/DB.js CHANGED
@@ -1,31 +1,64 @@
1
1
  import { cacheTtlMs, isCacheEnabled, } from '../shared/DB.js';
2
2
  import { cacheKey as buildCacheKey, cacheDelete, cacheGet, cacheSet, } from './Cache.js';
3
- import { pgGetDoc, pgSetDoc, pgSetDocFields, pgSetDocFieldsOrIgnore, pgSetDocFieldsOrCreate, pgSetDocOp, pgSetDocOpOrIgnore, pgDeleteDoc, pgGetDocs, pgGetQuery, pgGetQueryCount, pgGetQueryRaw, pgFind, pgFindCount, pgFindRandom, pgSearchDocs, } from './PostgresDoc.js';
4
- import { deleteVector, ensureVectorCollection, searchVectors, upsertVector, } from './vector.js';
3
+ import { pgGetDoc, pgSetDoc, pgSetDocFields, pgSetDocFieldsOrIgnore, pgSetDocFieldsOrCreate, pgSetDocOp, pgSetDocOpOrIgnore, pgDeleteDoc, pgGetDocs, pgGetQuery, pgGetQueryCount, pgGetQueryRaw, pgFind, pgFindCount, pgFindRandom, } from './PostgresDoc.js';
4
+ import { toVectorLiteral } from './vector.js';
5
+ import { ensureVectorColumn, ensureSearchColumn } from './PostgresSchema.js';
6
+ import { pgQuery } from './Pg.js';
5
7
  // Collections whose vec_<name> table has been ensured this process. Avoids a
6
8
  // CREATE TABLE IF NOT EXISTS round-trip on every setDoc.
7
- const _ensuredVectorCollections = new Set();
9
+ const _provisionedColumns = new Set();
8
10
  /**
9
- * Sync a document's embedding field into its vec_<name> table when the
10
- * collection declares `meta.vector`. Runtime-neutral (routes through the
11
- * adapter-backed pg query layer, so it works on Node and Workers). Never
12
- * throws a vector-sync failure must not fail the underlying setDoc.
11
+ * Lazily provision a collection's declared `search` (generated tsvector) and
12
+ * `vector` (embedding) columns + indexes once per process. Idempotent DDL, so
13
+ * it works whether or not a migration already created them — and on Workers,
14
+ * where there's no migrate step. Cached so it's a no-op after the first write.
15
+ */
16
+ async function ensureDocColumns(name, meta) {
17
+ if (!meta || _provisionedColumns.has(name))
18
+ return;
19
+ if (meta.search)
20
+ await ensureSearchColumn(name, meta.search.fields, meta.search.language);
21
+ if (meta.vector)
22
+ await ensureVectorColumn(name, meta.vector.dimensions);
23
+ _provisionedColumns.add(name);
24
+ }
25
+ /**
26
+ * MATERIALIZE a document's app-provided embedding (`meta.vector.from`) into the
27
+ * indexed `embedding vector(N)` COLUMN, and strip it from the stored JSON blob
28
+ * so the vector lives only in the column. The framework never embeds — the app
29
+ * fills `from` via its own (billed) embed call. Runtime-neutral (routes through
30
+ * the adapter pg layer; works on Node + Workers). Never throws — a materialize
31
+ * failure must not fail the underlying setDoc.
13
32
  */
14
33
  async function syncDocVector(name, meta, doc) {
34
+ if (!meta?.search && !meta?.vector)
35
+ return;
36
+ try {
37
+ await ensureDocColumns(name, meta);
38
+ }
39
+ catch (err) {
40
+ console.error(`[DB] column provisioning failed for ${name}`, err);
41
+ }
15
42
  if (!meta?.vector)
16
43
  return;
44
+ const { from, dimensions } = meta.vector;
17
45
  try {
18
- const embedding = doc[meta.vector.source];
19
- if (!Array.isArray(embedding) || embedding.length === 0)
46
+ const embedding = doc[from];
47
+ const valid = Array.isArray(embedding) && embedding.length === dimensions;
48
+ if (!valid) {
49
+ // No usable embedding on the doc — drop a stray blob copy if present.
50
+ if (Object.prototype.hasOwnProperty.call(doc, from)) {
51
+ await pgQuery(`UPDATE "${name}" SET data = data - $1 WHERE _id = $2`, [
52
+ from,
53
+ String(doc['_id']),
54
+ ]);
55
+ }
20
56
  return;
21
- if (!_ensuredVectorCollections.has(name)) {
22
- await ensureVectorCollection(name, meta.vector.dimensions);
23
- _ensuredVectorCollections.add(name);
24
57
  }
25
- await upsertVector(name, String(doc['_id']), embedding, {});
58
+ await pgQuery(`UPDATE "${name}" SET embedding = $1::vector, data = data - $2 WHERE _id = $3`, [toVectorLiteral(embedding), from, String(doc['_id'])]);
26
59
  }
27
60
  catch (err) {
28
- console.error(`[DB] vector sync failed for ${name}`, err);
61
+ console.error(`[DB] vector materialize failed for ${name}`, err);
29
62
  }
30
63
  }
31
64
  // ---------------------------------------------------------------------------
@@ -303,25 +336,35 @@ export function createTypedDB(defs, deleteHandlers) {
303
336
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
304
337
  deleteDoc: async (collection, id) => {
305
338
  const name = cn(collection);
339
+ // The `embedding` column lives on the collection table, so deleting the
340
+ // row drops it — no separate vector cleanup needed.
306
341
  await cascadeDeleteDoc(name, id);
307
- if (defs[name]?.meta?.vector) {
308
- try {
309
- await deleteVector(name, id);
310
- }
311
- catch (err) {
312
- console.error(`[DB] vector delete failed for ${name}`, err);
313
- }
314
- }
315
342
  },
316
343
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
317
344
  getDocs: async (collection, filter, options) => {
318
345
  const name = cn(collection);
319
- const idsFilter = getterIdsFromFilter(defs[name]?.meta, filter);
320
- if (idsFilter) {
321
- const docs = await typedDb.getByIds(name, idsFilter);
322
- return docs.filter((d) => d !== null);
346
+ const ranked = !!(options?.search || options?.near);
347
+ if (!ranked) {
348
+ const idsFilter = getterIdsFromFilter(defs[name]?.meta, filter);
349
+ if (idsFilter) {
350
+ const docs = await typedDb.getByIds(name, idsFilter);
351
+ return docs.filter((d) => d !== null);
352
+ }
323
353
  }
324
- return getDocs(name, filter, options);
354
+ const internal = {
355
+ sort: options?.sort,
356
+ limit: options?.limit,
357
+ skip: options?.skip,
358
+ near: options?.near,
359
+ minScore: options?.minScore,
360
+ };
361
+ if (options?.search) {
362
+ internal.search = {
363
+ query: options.search,
364
+ language: defs[name]?.meta?.search?.language ?? 'english',
365
+ };
366
+ }
367
+ return getDocs(name, filter, internal);
325
368
  },
326
369
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
327
370
  getQuery: (collection, pipeline, options) => {
@@ -385,24 +428,21 @@ export function createTypedDB(defs, deleteHandlers) {
385
428
  }
386
429
  return getDocs(name, filter, options);
387
430
  },
431
+ // Thin wrappers over the unified getDocs FTS/vector path (columns on the
432
+ // collection table). vectorSearch takes a PRECOMPUTED query embedding.
388
433
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
389
434
  searchDocs: async (collection, searchQuery, options) => {
390
- return pgSearchDocs(cn(collection), searchQuery, options);
435
+ return typedDb.getDocs(collection, options?.filter ?? {}, {
436
+ search: searchQuery,
437
+ ...(options?.limit !== undefined ? { limit: options.limit } : {}),
438
+ });
391
439
  },
392
440
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
393
441
  vectorSearch: async (collection, vector, options) => {
394
- const name = cn(collection);
395
- const meta = defs[name]?.meta;
396
- if (!meta?.vector)
397
- throw new Error(`[DB] Collection ${name} has no vector config`);
398
- const limit = options?.limit ?? 10;
399
- const results = await searchVectors(name, vector, limit);
400
- if (results.length === 0)
401
- return [];
402
- const ids = results.map((r) => r.id);
403
- const docs = await getDocs(name, { _id: { $in: ids } });
404
- const docMap = new Map(docs.map((d) => [d._id, d]));
405
- return ids.map((id) => docMap.get(id)).filter(Boolean);
442
+ return typedDb.getDocs(collection, options?.filter ?? {}, {
443
+ near: vector,
444
+ ...(options?.limit !== undefined ? { limit: options.limit } : {}),
445
+ });
406
446
  },
407
447
  // Cache passthrough methods
408
448
  cacheGet: (key) => cacheGet(key),
@@ -1 +1 @@
1
- {"version":3,"file":"DB.js","sourceRoot":"","sources":["../../src/server/DB.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DB.js","sourceRoot":"","sources":["../../src/server/DB.ts"],"names":[],"mappings":"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"}
@@ -11,11 +11,27 @@ export interface DbNotify {
11
11
  trackKeys?: readonly string[];
12
12
  }
13
13
  export declare function pgGetDoc<T>(collection: string, id: string): Promise<T | null>;
14
- export declare function pgGetDocs<T>(collection: string, filter?: Record<string, unknown>, options?: {
14
+ export interface PgGetDocsOptions {
15
15
  sort?: Record<string, 1 | -1>;
16
16
  limit?: number;
17
17
  skip?: number;
18
- }): Promise<T[]>;
18
+ /** FTS over the collection's `search` column (language already resolved). */
19
+ search?: {
20
+ query: string;
21
+ language: string;
22
+ };
23
+ /** Precomputed query embedding for ANN over the `embedding` column. */
24
+ near?: number[];
25
+ /** Relevance floor (0..1) for search/near. */
26
+ minScore?: number;
27
+ }
28
+ /**
29
+ * Query docs with structured filter + (optional) Postgres FTS + (optional)
30
+ * pgvector ANN, composed into ONE statement against the collection's `search`
31
+ * (tsvector) and `embedding` (vector) columns. The framework never embeds —
32
+ * `near` is a precomputed query embedding.
33
+ */
34
+ export declare function pgGetDocs<T>(collection: string, filter?: Record<string, unknown>, options?: PgGetDocsOptions): Promise<T[]>;
19
35
  export declare function pgGetQuery<T>(collection: string, pipeline: Record<string, unknown>[], options?: {
20
36
  skip?: number;
21
37
  limit?: number;
@@ -1 +1 @@
1
- {"version":3,"file":"PostgresDoc.d.ts","sourceRoot":"","sources":["../../src/server/PostgresDoc.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PostgresDoc.d.ts","sourceRoot":"","sources":["../../src/server/PostgresDoc.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,8 @@
8
8
  import { getPool } from './Pg.js';
9
9
  import { translateFilter, translateSort } from './PostgresFilter.js';
10
10
  import { translatePipeline } from './PostgresPipeline.js';
11
+ import { safeLanguage } from './PostgresSchema.js';
12
+ import { toVectorLiteral } from './vector.js';
11
13
  import { applyUpdateOp, notifyDocChange, notifyDocDelete, } from './PostgresDocInternal.js';
12
14
  import { warnIfUnindexed } from './PostgresIndexes.js';
13
15
  function toDoc(row) {
@@ -29,14 +31,59 @@ export async function pgGetDoc(collection, id) {
29
31
  const result = await pool.query(`SELECT _id, data, created, updated, version FROM "${collection}" WHERE _id = $1`, [id]);
30
32
  return result.rows.length === 0 ? null : toDoc(result.rows[0]);
31
33
  }
34
+ /**
35
+ * Query docs with structured filter + (optional) Postgres FTS + (optional)
36
+ * pgvector ANN, composed into ONE statement against the collection's `search`
37
+ * (tsvector) and `embedding` (vector) columns. The framework never embeds —
38
+ * `near` is a precomputed query embedding.
39
+ */
32
40
  export async function pgGetDocs(collection, filter, options) {
33
41
  const pool = getPool();
34
- void warnIfUnindexed(pool, collection, filter);
35
42
  const { where, values } = translateFilter(filter ?? {});
43
+ const conds = where ? [where] : [];
44
+ const hasNear = !!(options?.near && options.near.length > 0);
45
+ // Full-text search → ranked by ts_rank. When combined with a vector `near`
46
+ // (hybrid), FTS only BOOSTS the ranking — it does NOT hard-filter, so a
47
+ // semantically-near row without keyword overlap still surfaces. FTS-only
48
+ // queries do filter on a match.
49
+ let rankExpr = null;
50
+ if (options?.search?.query) {
51
+ const lang = safeLanguage(options.search.language);
52
+ values.push(options.search.query);
53
+ const tsq = `websearch_to_tsquery('${lang}', $${values.length})`;
54
+ rankExpr = `ts_rank(search, ${tsq})`;
55
+ if (!hasNear)
56
+ conds.push(`search @@ ${tsq}`);
57
+ }
58
+ else if (!hasNear) {
59
+ void warnIfUnindexed(pool, collection, filter); // only meaningful for plain filters
60
+ }
61
+ // Vector ANN → cosine similarity over the `embedding` column.
62
+ let simExpr = null;
63
+ if (hasNear) {
64
+ values.push(toVectorLiteral(options.near));
65
+ simExpr = `(1 - (embedding <=> $${values.length}::vector))`;
66
+ conds.push(`embedding IS NOT NULL`);
67
+ }
68
+ // Relevance floor (applies to the semantic signal when present, else FTS rank).
69
+ if (options?.minScore !== undefined && Number.isFinite(options.minScore)) {
70
+ const floor = Number(options.minScore);
71
+ if (simExpr)
72
+ conds.push(`${simExpr} >= ${floor}`);
73
+ else if (rankExpr)
74
+ conds.push(`${rankExpr} >= ${floor}`);
75
+ }
36
76
  let sql = `SELECT _id, data, created, updated, version FROM "${collection}"`;
37
- if (where)
38
- sql += ` WHERE ${where}`;
39
- if (options?.sort)
77
+ if (conds.length)
78
+ sql += ` WHERE ${conds.join(' AND ')}`;
79
+ // Order by relevance when search/near is present (hybrid = sum); else caller sort.
80
+ if (rankExpr && simExpr)
81
+ sql += ` ORDER BY (${rankExpr} + ${simExpr}) DESC`;
82
+ else if (simExpr)
83
+ sql += ` ORDER BY ${simExpr} DESC`;
84
+ else if (rankExpr)
85
+ sql += ` ORDER BY ${rankExpr} DESC`;
86
+ else if (options?.sort)
40
87
  sql += ` ORDER BY ${translateSort(options.sort)}`;
41
88
  if (options?.limit) {
42
89
  values.push(options.limit);
@@ -1 +1 @@
1
- {"version":3,"file":"PostgresDoc.js","sourceRoot":"","sources":["../../src/server/PostgresDoc.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PostgresDoc.js","sourceRoot":"","sources":["../../src/server/PostgresDoc.ts"],"names":[],"mappings":"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"}
@@ -11,19 +11,29 @@
11
11
  */
12
12
  export declare function ensureTable(collection: string): Promise<void>;
13
13
  export declare function tableExists(collection: string): Promise<boolean>;
14
+ export declare function safeLanguage(language?: string): string;
14
15
  /**
15
- * Add a tsvector column (named `search`) plus its GIN index to the
16
- * collection. Idempotent.
17
- *
18
- * The trailing optional args are kept for backwards-compat with the
19
- * old RPC signature `(collection, fields, language)` — they're
20
- * accepted but ignored here because the column itself doesn't encode
21
- * which fields populate it; `updateSearchColumn` writes the vector.
16
+ * The `to_tsvector(...)` expression for a collection's `search` column, built
17
+ * from the configured JSONB fields. Shared by `ensureSearchColumn` (runtime
18
+ * DDL) and the migration generator so they emit identical SQL.
19
+ */
20
+ export declare function searchTsvectorExpr(fields: string[], language?: string): string;
21
+ /**
22
+ * Add a STORED GENERATED `search` tsvector column (Postgres keeps it current
23
+ * automatically — no per-write hook, existing rows auto-populate) + its GIN
24
+ * index. Idempotent. Changing `fields`/`language` requires a DROP+ADD migration.
25
+ */
26
+ export declare function ensureSearchColumn(collection: string, fields?: string[], language?: string): Promise<void>;
27
+ /**
28
+ * Add an `embedding vector(N)` column + HNSW (cosine) index to the collection,
29
+ * enabling pgvector first. Idempotent. The column is materialized from the
30
+ * doc's `vector.from` field on setDoc — the framework never embeds.
22
31
  */
23
- export declare function ensureSearchColumn(collection: string, _fields?: string[], _language?: string): Promise<void>;
32
+ export declare function ensureVectorColumn(collection: string, dimensions: number): Promise<void>;
24
33
  /**
25
- * Re-compute the tsvector for a single doc by concatenating the given
26
- * top-level JSONB string fields.
34
+ * @deprecated The `search` column is now a STORED generated column maintained
35
+ * by Postgres; per-doc updates are unnecessary. Kept as a no-op so legacy
36
+ * callers don't break.
27
37
  */
28
- export declare function updateSearchColumn(collection: string, id: string, fields: string[], language?: string): Promise<void>;
38
+ export declare function updateSearchColumn(_collection: string, _id: string, _fields: string[], _language?: string): Promise<void>;
29
39
  //# sourceMappingURL=PostgresSchema.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"PostgresSchema.d.ts","sourceRoot":"","sources":["../../src/server/PostgresSchema.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAYH;;;GAGG;AACH,wBAAsB,WAAW,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAgBnE;AAED,wBAAsB,WAAW,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAStE;AAED;;;;;;;;GAQG;AACH,wBAAsB,kBAAkB,CACtC,UAAU,EAAE,MAAM,EAElB,OAAO,CAAC,EAAE,MAAM,EAAE,EAElB,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,IAAI,CAAC,CAUf;AAED;;;GAGG;AACH,wBAAsB,kBAAkB,CACtC,UAAU,EAAE,MAAM,EAClB,EAAE,EAAE,MAAM,EACV,MAAM,EAAE,MAAM,EAAE,EAChB,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,IAAI,CAAC,CAcf"}
1
+ {"version":3,"file":"PostgresSchema.d.ts","sourceRoot":"","sources":["../../src/server/PostgresSchema.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAYH;;;GAGG;AACH,wBAAsB,WAAW,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAgBnE;AAED,wBAAsB,WAAW,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAStE;AASD,wBAAgB,YAAY,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAItD;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAO9E;AAED;;;;GAIG;AACH,wBAAsB,kBAAkB,CACtC,UAAU,EAAE,MAAM,EAClB,MAAM,GAAE,MAAM,EAAO,EACrB,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,IAAI,CAAC,CAYf;AAED;;;;GAIG;AACH,wBAAsB,kBAAkB,CACtC,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,IAAI,CAAC,CAcf;AAED;;;;GAIG;AACH,wBAAsB,kBAAkB,CACtC,WAAW,EAAE,MAAM,EACnB,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,MAAM,EAAE,EACjB,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,IAAI,CAAC,CAEf"}