@sixb/pg 0.1.10 → 0.1.12

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 (47) hide show
  1. package/README.md +34 -0
  2. package/dist/agents/rows.d.ts +3 -1
  3. package/dist/agents/rows.d.ts.map +1 -1
  4. package/dist/agents/threads.d.ts +3 -2
  5. package/dist/agents/threads.d.ts.map +1 -1
  6. package/dist/index.js +563 -54
  7. package/dist/index.js.map +17 -15
  8. package/dist/migrations.d.ts.map +1 -1
  9. package/dist/objects/query-compiler.d.ts +8 -1
  10. package/dist/objects/query-compiler.d.ts.map +1 -1
  11. package/dist/objects/read-scope.d.ts +1 -0
  12. package/dist/objects/read-scope.d.ts.map +1 -1
  13. package/dist/objects/reader.d.ts +1 -0
  14. package/dist/objects/reader.d.ts.map +1 -1
  15. package/dist/objects/rows.d.ts +1 -0
  16. package/dist/objects/rows.d.ts.map +1 -1
  17. package/dist/objects/storage.d.ts +1 -1
  18. package/dist/objects/storage.d.ts.map +1 -1
  19. package/dist/ontology-storage/index.d.ts +4 -0
  20. package/dist/ontology-storage/index.d.ts.map +1 -1
  21. package/dist/ontology-storage/materializations.d.ts +1 -0
  22. package/dist/ontology-storage/materializations.d.ts.map +1 -1
  23. package/dist/ontology-storage/vector-indexing.d.ts +20 -0
  24. package/dist/ontology-storage/vector-indexing.d.ts.map +1 -0
  25. package/dist/ontology-storage/vectors.d.ts +16 -0
  26. package/dist/ontology-storage/vectors.d.ts.map +1 -0
  27. package/dist/pg-ai-cost-storage.d.ts.map +1 -1
  28. package/package.json +3 -3
  29. package/src/agents/rows.ts +21 -0
  30. package/src/agents/threads.ts +47 -2
  31. package/src/connector-connection-storage.ts +10 -0
  32. package/src/migrations/041-agent-thread-workspaces.sql +2 -0
  33. package/src/migrations/042-vector-profiles.sql +28 -0
  34. package/src/migrations/043-vector-indexing.sql +24 -0
  35. package/src/migrations/044-vector-batching.sql +3 -0
  36. package/src/migrations/045-agent-thread-sandbox-state.sql +2 -0
  37. package/src/migrations.ts +14 -0
  38. package/src/objects/query-compiler.ts +102 -11
  39. package/src/objects/read-scope.ts +26 -25
  40. package/src/objects/reader.ts +33 -1
  41. package/src/objects/rows.ts +5 -1
  42. package/src/objects/storage.ts +20 -2
  43. package/src/ontology-storage/index.ts +15 -0
  44. package/src/ontology-storage/materializations.ts +13 -0
  45. package/src/ontology-storage/vector-indexing.ts +168 -0
  46. package/src/ontology-storage/vectors.ts +172 -0
  47. package/src/pg-ai-cost-storage.ts +4 -0
@@ -1 +1 @@
1
- {"version":3,"file":"migrations.d.ts","sourceRoot":"","sources":["../src/migrations.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AACjD,OAAO,KAAK,EAGV,YAAY,EACZ,aAAa,EACb,oBAAoB,EACrB,MAAM,oBAAoB,CAAA;AAoF3B,OAAO,KAAK,EAAE,GAAG,EAAa,MAAM,aAAa,CAAA;AAEjD,MAAM,WAAW,wBAAwB;IACvC,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CACrC;AAED,eAAO,MAAM,2BAA2B,wBAAwB,CAAA;AAEhE,wBAAgB,KAAK,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,aAAa,CAAC,wBAAwB,CAAC,CAE1F;AAED,wBAAgB,MAAM,CACpB,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,CAAC,OAAO,EAAE,wBAAwB,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,EAC/D,OAAO,GAAE,oBAAyB,GACjC,aAAa,CAAC,wBAAwB,CAAC,CAEzC;AAED,wBAAgB,8BAA8B,CAC5C,GAAG,EAAE,GAAG,EACR,UAAU,EAAE,MAAM,GACjB,SAAS,eAAe,EAAE,CAQ5B;AAED,wBAAgB,sBAAsB,CAAC,MAAM,EAAE;IAC7C,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAA;IACjB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,UAAU,EAAE,YAAY,CAAC,wBAAwB,CAAC,CAAA;CAC5D,GAAG,eAAe,CAqBlB;AAED,wBAAsB,sBAAsB,CAAC,GAAG,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAMxF;AAED,wBAAsB,UAAU,CAAC,GAAG,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAE5E;AAED,wBAAgB,UAAU,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAKrD;AA6KD,eAAO,MAAM,yBAAyB,wCA4CpC,CAAA"}
1
+ {"version":3,"file":"migrations.d.ts","sourceRoot":"","sources":["../src/migrations.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AACjD,OAAO,KAAK,EAGV,YAAY,EACZ,aAAa,EACb,oBAAoB,EACrB,MAAM,oBAAoB,CAAA;AA6F3B,OAAO,KAAK,EAAE,GAAG,EAAa,MAAM,aAAa,CAAA;AAEjD,MAAM,WAAW,wBAAwB;IACvC,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CACrC;AAED,eAAO,MAAM,2BAA2B,wBAAwB,CAAA;AAEhE,wBAAgB,KAAK,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,aAAa,CAAC,wBAAwB,CAAC,CAE1F;AAED,wBAAgB,MAAM,CACpB,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,CAAC,OAAO,EAAE,wBAAwB,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,EAC/D,OAAO,GAAE,oBAAyB,GACjC,aAAa,CAAC,wBAAwB,CAAC,CAEzC;AAED,wBAAgB,8BAA8B,CAC5C,GAAG,EAAE,GAAG,EACR,UAAU,EAAE,MAAM,GACjB,SAAS,eAAe,EAAE,CAQ5B;AAED,wBAAgB,sBAAsB,CAAC,MAAM,EAAE;IAC7C,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAA;IACjB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,UAAU,EAAE,YAAY,CAAC,wBAAwB,CAAC,CAAA;CAC5D,GAAG,eAAe,CAqBlB;AAED,wBAAsB,sBAAsB,CAAC,GAAG,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAMxF;AAED,wBAAsB,UAAU,CAAC,GAAG,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAE5E;AAED,wBAAgB,UAAU,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAKrD;AA6KD,eAAO,MAAM,yBAAyB,wCAiDpC,CAAA"}
@@ -6,6 +6,11 @@ export interface PgObjectQueryPageRow {
6
6
  _cursor_properties?: unknown;
7
7
  }
8
8
  export interface CompiledPgObjectQuery {
9
+ vectorProbe?: {
10
+ sql: string;
11
+ args: unknown[];
12
+ limit: number;
13
+ };
9
14
  sql: string;
10
15
  args: unknown[];
11
16
  totalSql: string;
@@ -42,7 +47,8 @@ type CompiledOrderField = {
42
47
  scalarKind?: QueryScalarKind;
43
48
  } | {
44
49
  kind: "column";
45
- column: "object_type_id" | "primary_id";
50
+ column: "object_type_id" | "primary_id" | "_vector_score";
51
+ binary?: boolean;
46
52
  direction: "asc" | "desc";
47
53
  };
48
54
  export declare function compilePgObjectQuery(projectId: string, query: ObjectQuery, options?: {
@@ -53,6 +59,7 @@ export declare function compilePgObjectQuery(projectId: string, query: ObjectQue
53
59
  export interface PgObjectQuerySource {
54
60
  readonly objectsTable: string;
55
61
  readonly linksTable: string;
62
+ readonly objectPropertyPermissionsTable?: string;
56
63
  /** Wrap a terminal SELECT without its own WITH clause; the selected source owns the only WITH. */
57
64
  wrapStatement(sql: string, args?: readonly unknown[]): {
58
65
  readonly sql: string;
@@ -1 +1 @@
1
- {"version":3,"file":"query-compiler.d.ts","sourceRoot":"","sources":["../../src/objects/query-compiler.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,WAAW,EAKhB,KAAK,eAAe,EACrB,MAAM,YAAY,CAAA;AAEnB,MAAM,WAAW,oBAAoB;IACnC,cAAc,EAAE,MAAM,CAAA;IACtB,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,EAAE,OAAO,CAAA;IACnB,kBAAkB,CAAC,EAAE,OAAO,CAAA;CAC7B;AAED,MAAM,WAAW,qBAAqB;IACpC,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,EAAE,OAAO,EAAE,CAAA;IACf,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,EAAE,OAAO,EAAE,CAAA;IACpB,KAAK,EAAE,aAAa,CAAA;IACpB,YAAY,CAAC,EAAE,oBAAoB,CAAA;IACnC,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;IAClD,QAAQ,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,CAAC,EAAE,GAAG,SAAS,CAAC,EAAE,CAAA;IAC7C,aAAa,CAAC,IAAI,EAAE,SAAS,oBAAoB,EAAE,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAA;CAC3F;AAED,MAAM,WAAW,qBAAqB;IACpC,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,EAAE,OAAO,EAAE,CAAA;CAChB;AAED,MAAM,WAAW,oBAAoB;IACnC,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,EAAE,OAAO,EAAE,CAAA;CAChB;AAED,UAAU,oBAAoB;IAC5B,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,EAAE,OAAO,EAAE,CAAA;IACf,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAA;CACnC;AAiBD,UAAU,aAAa;IACrB,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,EAAE,OAAO,EAAE,CAAA;IACf,MAAM,EAAE,SAAS,kBAAkB,EAAE,CAAA;IACrC,cAAc,EAAE,MAAM,CAAA;CACvB;AAED,KAAK,kBAAkB,GACnB;IACE,IAAI,EAAE,UAAU,CAAA;IAChB,UAAU,EAAE,MAAM,CAAA;IAClB,SAAS,EAAE,KAAK,GAAG,MAAM,CAAA;IACzB,UAAU,CAAC,EAAE,eAAe,CAAA;CAC7B,GACD;IACE,IAAI,EAAE,QAAQ,CAAA;IACd,MAAM,EAAE,gBAAgB,GAAG,YAAY,CAAA;IACvC,SAAS,EAAE,KAAK,GAAG,MAAM,CAAA;CAC1B,CAAA;AAkBL,wBAAgB,oBAAoB,CAClC,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,WAAW,EAClB,OAAO,GAAE;IAAE,YAAY,CAAC,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,mBAAmB,CAAA;CAAO,GACrE,qBAAqB,CAmBvB;AAED,uEAAuE;AACvE,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,kGAAkG;IAClG,aAAa,CACX,GAAG,EAAE,MAAM,EACX,IAAI,CAAC,EAAE,SAAS,OAAO,EAAE,GACxB;QACD,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;QACpB,QAAQ,CAAC,IAAI,EAAE,OAAO,EAAE,CAAA;KACzB,CAAA;IACD,SAAS,CAAC,KAAK,EAAE,qBAAqB,GAAG,qBAAqB,CAAA;CAC/D;AAED,uFAAuF;AACvF,wBAAgB,wBAAwB,CACtC,GAAG,EAAE,MAAM,EACX,IAAI,GAAE,SAAS,OAAO,EAAO,EAC7B,MAAM,CAAC,EAAE,mBAAmB,GAC3B,qBAAqB,CAEvB;AAED,eAAO,MAAM,2BAA2B,EAAE,mBAKzC,CAAA;AAMD,wBAAgB,yBAAyB,CACvC,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,WAAW,EAClB,OAAO,GAAE;IAAE,MAAM,CAAC,EAAE,mBAAmB,CAAA;CAAO,GAC7C,qBAAqB,CAYvB;AAED,wBAAgB,0BAA0B,CACxC,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,WAAW,EAClB,OAAO,GAAE;IAAE,MAAM,CAAC,EAAE,mBAAmB,CAAA;CAAO,GAC7C,qBAAqB,CAavB;AAED,wBAAgB,yBAAyB,CACvC,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,WAAW,EAClB,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,MAAM,EACb,OAAO,GAAE;IAAE,MAAM,CAAC,EAAE,mBAAmB,CAAA;CAAO,GAC7C,oBAAoB,CAqBtB"}
1
+ {"version":3,"file":"query-compiler.d.ts","sourceRoot":"","sources":["../../src/objects/query-compiler.ts"],"names":[],"mappings":"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"}
@@ -12,6 +12,7 @@ export interface PgSelectedObjectReadSource extends PgObjectQuerySource {
12
12
  *
13
13
  * The complete compiled scope is serialized once. Every statement receives that one JSONB
14
14
  * document and the bound project id, keeping the parameter count constant as selections grow.
15
+ * Group property grants after resolving paths so redaction reads only each object's own grants.
15
16
  */
16
17
  export declare function compilePgSelectedObjectReadSource(projectId: string, scope: CompiledSelectedObjectReadScope, maxTraversalFacts: number): PgSelectedObjectReadSource;
17
18
  //# sourceMappingURL=read-scope.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"read-scope.d.ts","sourceRoot":"","sources":["../../src/objects/read-scope.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,oBAAoB,CAAA;AACzE,OAAO,EAGL,KAAK,mBAAmB,EACzB,MAAM,kBAAkB,CAAA;AAEzB,MAAM,WAAW,0BAA2B,SAAQ,mBAAmB;IACrE,QAAQ,CAAC,8BAA8B,EAAE,MAAM,CAAA;IAC/C,QAAQ,CAAC,cAAc,EAAE;QACvB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;QACpB,QAAQ,CAAC,IAAI,EAAE,SAAS,OAAO,EAAE,CAAA;KAClC,CAAA;CACF;AAED;;;;;GAKG;AACH,wBAAgB,iCAAiC,CAC/C,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,+BAA+B,EACtC,iBAAiB,EAAE,MAAM,GACxB,0BAA0B,CAsD5B"}
1
+ {"version":3,"file":"read-scope.d.ts","sourceRoot":"","sources":["../../src/objects/read-scope.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,oBAAoB,CAAA;AACzE,OAAO,EAGL,KAAK,mBAAmB,EACzB,MAAM,kBAAkB,CAAA;AAEzB,MAAM,WAAW,0BAA2B,SAAQ,mBAAmB;IACrE,QAAQ,CAAC,8BAA8B,EAAE,MAAM,CAAA;IAC/C,QAAQ,CAAC,cAAc,EAAE;QACvB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;QACpB,QAAQ,CAAC,IAAI,EAAE,SAAS,OAAO,EAAE,CAAA;KAClC,CAAA;CACF;AAED;;;;;;GAMG;AACH,wBAAgB,iCAAiC,CAC/C,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,+BAA+B,EACtC,iBAAiB,EAAE,MAAM,GACxB,0BAA0B,CAyD5B"}
@@ -6,6 +6,7 @@ export declare class PgObjectReader {
6
6
  private readonly sql;
7
7
  private readonly source;
8
8
  constructor(sql: SQLClient, source: PgObjectQuerySource | PgSelectedObjectReadSource);
9
+ private assertVectorSearch;
9
10
  queryObjects(params: QueryObjectsInput): Promise<QueryObjectsResult>;
10
11
  countObjects(params: CountObjectsInput): Promise<CountObjectsResult>;
11
12
  existsObjects(params: ExistsObjectsInput): Promise<ExistsObjectsResult>;
@@ -1 +1 @@
1
- {"version":3,"file":"reader.d.ts","sourceRoot":"","sources":["../../src/objects/reader.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,EAClB,mBAAmB,EACnB,iBAAiB,EACjB,kBAAkB,EAClB,YAAY,EACZ,aAAa,EACb,cAAc,EAEd,aAAa,EACb,iBAAiB,EACjB,SAAS,EACT,qBAAqB,EACrB,sBAAsB,EACtB,iBAAiB,EACjB,kBAAkB,EACnB,MAAM,oBAAoB,CAAA;AAE3B,OAAO,KAAK,EAAE,SAAS,EAAgB,MAAM,cAAc,CAAA;AAC3D,OAAO,EAOL,KAAK,mBAAmB,EACzB,MAAM,kBAAkB,CAAA;AACzB,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,cAAc,CAAA;AAgB9D,qBAAa,cAAc;IAEvB,OAAO,CAAC,QAAQ,CAAC,GAAG;IACpB,OAAO,CAAC,QAAQ,CAAC,MAAM;gBADN,GAAG,EAAE,SAAS,EACd,MAAM,EAAE,mBAAmB,GAAG,0BAA0B;IAGrE,YAAY,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAiCpE,YAAY,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAapE,aAAa,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAYvE,YAAY,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAsBpE,cAAc,CAAC,MAAM,EAAE;QAC3B,SAAS,EAAE,MAAM,CAAA;QACjB,YAAY,EAAE,MAAM,CAAA;QACpB,SAAS,EAAE,MAAM,CAAA;KAClB,GAAG,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;IAoBvB,uBAAuB,CAC3B,MAAM,EAAE,UAAU,CAAC,iBAAiB,CAAC,yBAAyB,CAAC,CAAC,CAAC,CAAC,CAAC,GAClE,OAAO,CAAC,SAAS,OAAO,EAAE,CAAC;IAqCxB,SAAS,CAAC,MAAM,EAAE;QACtB,SAAS,EAAE,MAAM,CAAA;QACjB,YAAY,EAAE,MAAM,CAAA;QACpB,QAAQ,EAAE,MAAM,CAAA;QAChB,MAAM,CAAC,EAAE,MAAM,CAAA;QACf,SAAS,CAAC,EAAE,aAAa,CAAA;KAC1B,GAAG,OAAO,CAAC,SAAS,aAAa,EAAE,CAAC;IAiC/B,mBAAmB,CAAC,MAAM,EAAE;QAChC,SAAS,EAAE,MAAM,CAAA;QACjB,KAAK,EAAE,SAAS;YAAE,YAAY,EAAE,MAAM,CAAC;YAAC,SAAS,EAAE,MAAM,CAAA;SAAE,EAAE,CAAA;KAC9D,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC;IA+BrC,cAAc,CAAC,MAAM,EAAE;QAC3B,SAAS,EAAE,MAAM,CAAA;QACjB,SAAS,CAAC,EAAE,aAAa,CAAA;QACzB,KAAK,EAAE,SAAS;YAAE,YAAY,EAAE,MAAM,CAAC;YAAC,QAAQ,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,CAAA;SAAE,EAAE,CAAA;KAC7E,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,aAAa,EAAE,CAAC,CAAC;IAuFzC,UAAU,CAAC,MAAM,EAAE,qBAAqB,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAuG1E,IAAI,CACR,MAAM,EAAE,UAAU,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,GAC/C,OAAO,CAAC;QAAE,OAAO,EAAE,SAAS,SAAS,EAAE,CAAC;QAAC,OAAO,EAAE,OAAO,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;CA+E/E;AAuDD,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAIxD"}
1
+ {"version":3,"file":"reader.d.ts","sourceRoot":"","sources":["../../src/objects/reader.ts"],"names":[],"mappings":"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"}
@@ -14,6 +14,7 @@ export interface ObjectDatabaseRow {
14
14
  last_commit_id: string;
15
15
  }
16
16
  export interface ObjectQueryDatabaseRow extends ObjectDatabaseRow {
17
+ _vector_score?: number;
17
18
  _cursor_properties?: unknown;
18
19
  /** `jsonb_build_object(linkId, value, ...)` from an `expand` pushdown; absent otherwise. */
19
20
  _expand?: unknown;
@@ -1 +1 @@
1
- {"version":3,"file":"rows.d.ts","sourceRoot":"","sources":["../../src/objects/rows.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAGV,aAAa,EACb,SAAS,EAEV,MAAM,oBAAoB,CAAA;AAE3B,wBAAgB,WAAW,CAAC,GAAG,EAAE,iBAAiB,GAAG,SAAS,CAW7D;AAKD,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,sBAAsB,GAAG,SAAS,CAIvE;AA8CD,wBAAgB,SAAS,CAAC,GAAG,EAAE,eAAe,GAAG,aAAa,CAa7D;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,aAAa,GAAG,MAAM,CAQxD;AAED,MAAM,WAAW,iBAAiB;IAChC,UAAU,EAAE,MAAM,CAAA;IAClB,cAAc,EAAE,MAAM,CAAA;IACtB,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,EAAE,OAAO,CAAA;IACnB,UAAU,EAAE,IAAI,GAAG,MAAM,CAAA;IACzB,UAAU,EAAE,IAAI,GAAG,MAAM,CAAA;IACzB,OAAO,EAAE,MAAM,CAAA;IACf,cAAc,EAAE,MAAM,CAAA;CACvB;AAED,MAAM,WAAW,sBAAuB,SAAQ,iBAAiB;IAC/D,kBAAkB,CAAC,EAAE,OAAO,CAAA;IAC5B,4FAA4F;IAC5F,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB;AAED,MAAM,WAAW,sBAAuB,SAAQ,iBAAiB;IAC/D,YAAY,EAAE,MAAM,CAAA;CACrB;AAED,MAAM,WAAW,kCAAkC;IACjD,YAAY,EAAE,MAAM,CAAA;CACrB;AAED,MAAM,WAAW,gBAAgB;IAC/B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAA;CAChC;AAED,MAAM,WAAW,eAAe;IAC9B,UAAU,EAAE,MAAM,CAAA;IAClB,cAAc,EAAE,MAAM,CAAA;IACtB,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE,MAAM,CAAA;IACf,cAAc,EAAE,MAAM,CAAA;IACtB,SAAS,EAAE,MAAM,CAAA;IACjB,UAAU,EAAE,OAAO,GAAG,IAAI,CAAA;IAC1B,UAAU,EAAE,IAAI,GAAG,MAAM,CAAA;IACzB,UAAU,EAAE,IAAI,GAAG,MAAM,CAAA;IACzB,cAAc,EAAE,MAAM,CAAA;CACvB;AAED,MAAM,WAAW,oBAAqB,SAAQ,eAAe;IAC3D,YAAY,EAAE,MAAM,CAAA;CACrB"}
1
+ {"version":3,"file":"rows.d.ts","sourceRoot":"","sources":["../../src/objects/rows.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAGV,aAAa,EACb,SAAS,EAEV,MAAM,oBAAoB,CAAA;AAE3B,wBAAgB,WAAW,CAAC,GAAG,EAAE,iBAAiB,GAAG,SAAS,CAW7D;AAKD,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,sBAAsB,GAAG,SAAS,CAOvE;AA8CD,wBAAgB,SAAS,CAAC,GAAG,EAAE,eAAe,GAAG,aAAa,CAa7D;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,aAAa,GAAG,MAAM,CAQxD;AAED,MAAM,WAAW,iBAAiB;IAChC,UAAU,EAAE,MAAM,CAAA;IAClB,cAAc,EAAE,MAAM,CAAA;IACtB,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,EAAE,OAAO,CAAA;IACnB,UAAU,EAAE,IAAI,GAAG,MAAM,CAAA;IACzB,UAAU,EAAE,IAAI,GAAG,MAAM,CAAA;IACzB,OAAO,EAAE,MAAM,CAAA;IACf,cAAc,EAAE,MAAM,CAAA;CACvB;AAED,MAAM,WAAW,sBAAuB,SAAQ,iBAAiB;IAC/D,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,kBAAkB,CAAC,EAAE,OAAO,CAAA;IAC5B,4FAA4F;IAC5F,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB;AAED,MAAM,WAAW,sBAAuB,SAAQ,iBAAiB;IAC/D,YAAY,EAAE,MAAM,CAAA;CACrB;AAED,MAAM,WAAW,kCAAkC;IACjD,YAAY,EAAE,MAAM,CAAA;CACrB;AAED,MAAM,WAAW,gBAAgB;IAC/B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAA;CAChC;AAED,MAAM,WAAW,eAAe;IAC9B,UAAU,EAAE,MAAM,CAAA;IAClB,cAAc,EAAE,MAAM,CAAA;IACtB,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE,MAAM,CAAA;IACf,cAAc,EAAE,MAAM,CAAA;IACtB,SAAS,EAAE,MAAM,CAAA;IACjB,UAAU,EAAE,OAAO,GAAG,IAAI,CAAA;IAC1B,UAAU,EAAE,IAAI,GAAG,MAAM,CAAA;IACzB,UAAU,EAAE,IAAI,GAAG,MAAM,CAAA;IACzB,cAAc,EAAE,MAAM,CAAA;CACvB;AAED,MAAM,WAAW,oBAAqB,SAAQ,eAAe;IAC3D,YAAY,EAAE,MAAM,CAAA;CACrB"}
@@ -1,5 +1,5 @@
1
1
  import type { CompiledSelectedObjectReadScope, CountObjectsInput, CountObjectsResult, ExistsObjectsInput, ExistsObjectsResult, FacetObjectsInput, FacetObjectsResult, LinkBatchKey, LinkDirection, ObjectBatchKey, ObjectLinkRow, ObjectQueryCapabilities, ObjectReadExecutionLimits, ObjectReadStorage, ObjectRow, ObjectStorage, QueryObjectLinksInput, QueryObjectLinksResult, QueryObjectsInput, QueryObjectsResult } from "@sixb/core/storage";
2
- import type { PgStoreClient } from "../transactions";
2
+ import { type PgStoreClient } from "../transactions";
3
3
  /** PostgreSQL object provider; interactive reads share one source-aware reader. */
4
4
  export declare class PgObjectStorage implements ObjectStorage {
5
5
  private readonly sql;
@@ -1 +1 @@
1
- {"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../../src/objects/storage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../../src/objects/storage.ts"],"names":[],"mappings":"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"}
@@ -6,11 +6,15 @@ import { PgOntologyMaterializationStorage } from "./materializations";
6
6
  import { PgOntologyOutboxStorage } from "./outbox";
7
7
  import type { PgRootOperation } from "./shared";
8
8
  import { PgOntologySourceStorage } from "./sources";
9
+ import { PgVectorIndexingStorage } from "./vector-indexing";
10
+ import { PgOntologyVectorStorage } from "./vectors";
9
11
  export declare class PgOntologyStorage implements OntologyStorage {
10
12
  readonly commits: PgOntologyCommitStorage;
11
13
  readonly sources: PgOntologySourceStorage;
12
14
  readonly materializations: PgOntologyMaterializationStorage;
13
15
  readonly outbox: PgOntologyOutboxStorage;
16
+ readonly vectorIndexing: PgVectorIndexingStorage;
17
+ readonly vectors: PgOntologyVectorStorage;
14
18
  constructor(input: {
15
19
  readonly sql: SQLClient;
16
20
  readonly runRootOperation: PgRootOperation;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ontology-storage/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACzD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAC7C,OAAO,EAAE,uBAAuB,EAAE,MAAM,WAAW,CAAA;AACnD,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,2BAA2B,CAAA;AAC7E,OAAO,EAAE,gCAAgC,EAAE,MAAM,oBAAoB,CAAA;AACrE,OAAO,EAAE,uBAAuB,EAAE,MAAM,UAAU,CAAA;AAClD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAC/C,OAAO,EAAE,uBAAuB,EAAE,MAAM,WAAW,CAAA;AAEnD,qBAAa,iBAAkB,YAAW,eAAe;IACvD,QAAQ,CAAC,OAAO,EAAE,uBAAuB,CAAA;IACzC,QAAQ,CAAC,OAAO,EAAE,uBAAuB,CAAA;IACzC,QAAQ,CAAC,gBAAgB,EAAE,gCAAgC,CAAA;IAC3D,QAAQ,CAAC,MAAM,EAAE,uBAAuB,CAAA;gBAE5B,KAAK,EAAE;QACjB,QAAQ,CAAC,GAAG,EAAE,SAAS,CAAA;QACvB,QAAQ,CAAC,gBAAgB,EAAE,eAAe,CAAA;QAC1C,QAAQ,CAAC,kBAAkB,EAAE,4BAA4B,GAAG,IAAI,CAAA;KACjE;IAUD,kBAAkB,IAAI,IAAI;CAG3B;AAED,YAAY,EAAE,4BAA4B,EAAE,MAAM,2BAA2B,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ontology-storage/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACzD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAC7C,OAAO,EAAE,uBAAuB,EAAE,MAAM,WAAW,CAAA;AACnD,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,2BAA2B,CAAA;AAC7E,OAAO,EAAE,gCAAgC,EAAE,MAAM,oBAAoB,CAAA;AACrE,OAAO,EAAE,uBAAuB,EAAE,MAAM,UAAU,CAAA;AAClD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAC/C,OAAO,EAAE,uBAAuB,EAAE,MAAM,WAAW,CAAA;AACnD,OAAO,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAA;AAC3D,OAAO,EAAE,uBAAuB,EAAE,MAAM,WAAW,CAAA;AAEnD,qBAAa,iBAAkB,YAAW,eAAe;IACvD,QAAQ,CAAC,OAAO,EAAE,uBAAuB,CAAA;IACzC,QAAQ,CAAC,OAAO,EAAE,uBAAuB,CAAA;IACzC,QAAQ,CAAC,gBAAgB,EAAE,gCAAgC,CAAA;IAC3D,QAAQ,CAAC,MAAM,EAAE,uBAAuB,CAAA;IACxC,QAAQ,CAAC,cAAc,EAAE,uBAAuB,CAAA;IAChD,QAAQ,CAAC,OAAO,EAAE,uBAAuB,CAAA;gBAE7B,KAAK,EAAE;QACjB,QAAQ,CAAC,GAAG,EAAE,SAAS,CAAA;QACvB,QAAQ,CAAC,gBAAgB,EAAE,eAAe,CAAA;QAC1C,QAAQ,CAAC,kBAAkB,EAAE,4BAA4B,GAAG,IAAI,CAAA;KACjE;IAqBD,kBAAkB,IAAI,IAAI;CAG3B;AAED,YAAY,EAAE,4BAA4B,EAAE,MAAM,2BAA2B,CAAA"}
@@ -6,6 +6,7 @@ export declare class PgOntologyMaterializationStorage implements OntologyMateria
6
6
  private readonly sessions;
7
7
  private readonly writer;
8
8
  constructor(sql: SQLClient, context: PgOntologyTransactionContext | null);
9
+ assertVectorSession(session: MaterializationSession, projectId: string, commitId?: string): void;
9
10
  begin(input: MaterializationPlanHeader): Promise<MaterializationSession>;
10
11
  streamState(input: StreamMaterializationStateInput): AsyncIterable<MaterializationStatePage>;
11
12
  streamSourceReplacementState(input: StreamSourceReplacementStateInput): AsyncIterable<SourceReplacementStatePage>;
@@ -1 +1 @@
1
- {"version":3,"file":"materializations.d.ts","sourceRoot":"","sources":["../../src/ontology-storage/materializations.ts"],"names":[],"mappings":"AA2BA,OAAO,KAAK,EACV,8BAA8B,EAC9B,0BAA0B,EAC1B,4BAA4B,EAC5B,8BAA8B,EAC9B,yBAAyB,EACzB,sBAAsB,EACtB,wBAAwB,EACxB,uBAAuB,EAEvB,8BAA8B,EAC9B,uCAAuC,EAEvC,0BAA0B,EAC1B,6BAA6B,EAC7B,+BAA+B,EAC/B,8BAA8B,EAC9B,iCAAiC,EAClC,MAAM,oBAAoB,CAAA;AAC3B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAG7C,OAAO,EAGL,KAAK,4BAA4B,EAClC,MAAM,2BAA2B,CAAA;AAqClC,qBAAa,gCAAiC,YAAW,8BAA8B;IAKnF,OAAO,CAAC,QAAQ,CAAC,GAAG;IAJtB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA2B;IACpD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAyB;gBAG7B,GAAG,EAAE,SAAS,EAC/B,OAAO,EAAE,4BAA4B,GAAG,IAAI;IAMxC,KAAK,CAAC,KAAK,EAAE,yBAAyB,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAuDvE,WAAW,CAChB,KAAK,EAAE,+BAA+B,GACrC,aAAa,CAAC,wBAAwB,CAAC;IAqDnC,4BAA4B,CACjC,KAAK,EAAE,iCAAiC,GACvC,aAAa,CAAC,0BAA0B,CAAC;IA6FtC,SAAS,CAAC,KAAK,EAAE,6BAA6B,GAAG,OAAO,CAAC,IAAI,CAAC;IAIpE,UAAU,CAAC,KAAK,EAAE,8BAA8B,GAAG,aAAa,CAAC,uBAAuB,CAAC;IAKnF,mBAAmB,CACvB,KAAK,EAAE,uCAAuC,GAC7C,OAAO,CAAC,SAAS,8BAA8B,EAAE,CAAC;IAK/C,UAAU,CAAC,KAAK,EAAE,8BAA8B,GAAG,OAAO,CAAC,IAAI,CAAC;IAahE,QAAQ,CAAC,KAAK,EAAE,4BAA4B,GAAG,OAAO,CAAC,0BAA0B,CAAC;IAgBxF,kBAAkB,IAAI,IAAI;YAIZ,kBAAkB;YA6DlB,kBAAkB;YAmDlB,aAAa;IAoB3B,OAAO,CAAC,eAAe;IAevB,OAAO,CAAC,YAAY;IAqBpB,OAAO,CAAC,UAAU;YAqBJ,kBAAkB;YAqDlB,sBAAsB;YAyDtB,gBAAgB;YA2DhB,gBAAgB;YAiChB,cAAc;YA6Gd,YAAY;YAmCZ,eAAe;YAcf,SAAS;CAgBxB"}
1
+ {"version":3,"file":"materializations.d.ts","sourceRoot":"","sources":["../../src/ontology-storage/materializations.ts"],"names":[],"mappings":"AA4BA,OAAO,KAAK,EACV,8BAA8B,EAC9B,0BAA0B,EAC1B,4BAA4B,EAC5B,8BAA8B,EAC9B,yBAAyB,EACzB,sBAAsB,EACtB,wBAAwB,EACxB,uBAAuB,EAEvB,8BAA8B,EAC9B,uCAAuC,EAEvC,0BAA0B,EAC1B,6BAA6B,EAC7B,+BAA+B,EAC/B,8BAA8B,EAC9B,iCAAiC,EAClC,MAAM,oBAAoB,CAAA;AAC3B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAG7C,OAAO,EAGL,KAAK,4BAA4B,EAClC,MAAM,2BAA2B,CAAA;AAqClC,qBAAa,gCAAiC,YAAW,8BAA8B;IAKnF,OAAO,CAAC,QAAQ,CAAC,GAAG;IAJtB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA2B;IACpD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAyB;gBAG7B,GAAG,EAAE,SAAS,EAC/B,OAAO,EAAE,4BAA4B,GAAG,IAAI;IAM9C,mBAAmB,CAAC,OAAO,EAAE,sBAAsB,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI;IAY1F,KAAK,CAAC,KAAK,EAAE,yBAAyB,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAuDvE,WAAW,CAChB,KAAK,EAAE,+BAA+B,GACrC,aAAa,CAAC,wBAAwB,CAAC;IAqDnC,4BAA4B,CACjC,KAAK,EAAE,iCAAiC,GACvC,aAAa,CAAC,0BAA0B,CAAC;IA6FtC,SAAS,CAAC,KAAK,EAAE,6BAA6B,GAAG,OAAO,CAAC,IAAI,CAAC;IAIpE,UAAU,CAAC,KAAK,EAAE,8BAA8B,GAAG,aAAa,CAAC,uBAAuB,CAAC;IAKnF,mBAAmB,CACvB,KAAK,EAAE,uCAAuC,GAC7C,OAAO,CAAC,SAAS,8BAA8B,EAAE,CAAC;IAK/C,UAAU,CAAC,KAAK,EAAE,8BAA8B,GAAG,OAAO,CAAC,IAAI,CAAC;IAahE,QAAQ,CAAC,KAAK,EAAE,4BAA4B,GAAG,OAAO,CAAC,0BAA0B,CAAC;IAgBxF,kBAAkB,IAAI,IAAI;YAIZ,kBAAkB;YA6DlB,kBAAkB;YAmDlB,aAAa;IAoB3B,OAAO,CAAC,eAAe;IAevB,OAAO,CAAC,YAAY;IAqBpB,OAAO,CAAC,UAAU;YAqBJ,kBAAkB;YAqDlB,sBAAsB;YAyDtB,gBAAgB;YA2DhB,gBAAgB;YAiChB,cAAc;YA6Gd,YAAY;YAmCZ,eAAe;YAcf,SAAS;CAgBxB"}
@@ -0,0 +1,20 @@
1
+ import { type MaterializationSession, type OntologyVectorIndexingStorage, type VectorIndexingWork } from "@sixb/core/storage";
2
+ import type { SQLClient } from "../pg-client";
3
+ import { type PgRootOperation } from "./shared";
4
+ export declare class PgVectorIndexingStorage implements OntologyVectorIndexingStorage {
5
+ private readonly sql;
6
+ private readonly run;
7
+ private readonly assertSession;
8
+ constructor(sql: SQLClient, run: PgRootOperation, assertSession: (session: MaterializationSession, projectId: string) => void);
9
+ schedule(input: Parameters<OntologyVectorIndexingStorage["schedule"]>[0]): Promise<void>;
10
+ complete(input: Parameters<OntologyVectorIndexingStorage["complete"]>[0]): Promise<void>;
11
+ dispatched(input: Parameters<OntologyVectorIndexingStorage["dispatched"]>[0]): Promise<void>;
12
+ get(input: Parameters<OntologyVectorIndexingStorage["get"]>[0]): Promise<VectorIndexingWork | null>;
13
+ getBatch(input: Parameters<OntologyVectorIndexingStorage["getBatch"]>[0]): Promise<VectorIndexingWork[]>;
14
+ getBatchMember(input: Parameters<OntologyVectorIndexingStorage["getBatchMember"]>[0]): Promise<VectorIndexingWork | null>;
15
+ updateBatch(input: Parameters<OntologyVectorIndexingStorage["updateBatch"]>[0]): Promise<boolean>;
16
+ listDue(input: Parameters<OntologyVectorIndexingStorage["listDue"]>[0]): Promise<VectorIndexingWork[]>;
17
+ update(input: Parameters<OntologyVectorIndexingStorage["update"]>[0]): Promise<boolean>;
18
+ remove(input: Parameters<OntologyVectorIndexingStorage["remove"]>[0]): Promise<void>;
19
+ }
20
+ //# sourceMappingURL=vector-indexing.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vector-indexing.d.ts","sourceRoot":"","sources":["../../src/ontology-storage/vector-indexing.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,sBAAsB,EAC3B,KAAK,6BAA6B,EAGlC,KAAK,kBAAkB,EACxB,MAAM,oBAAoB,CAAA;AAC3B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAC7C,OAAO,EAAyB,KAAK,eAAe,EAAE,MAAM,UAAU,CAAA;AAWtE,qBAAa,uBAAwB,YAAW,6BAA6B;IAEzE,OAAO,CAAC,QAAQ,CAAC,GAAG;IACpB,OAAO,CAAC,QAAQ,CAAC,GAAG;IACpB,OAAO,CAAC,QAAQ,CAAC,aAAa;gBAFb,GAAG,EAAE,SAAS,EACd,GAAG,EAAE,eAAe,EACpB,aAAa,EAAE,CAAC,OAAO,EAAE,sBAAsB,EAAE,SAAS,EAAE,MAAM,KAAK,IAAI;IAGxF,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC,6BAA6B,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;IAyBxE,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC,6BAA6B,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;IAexE,UAAU,CAAC,KAAK,EAAE,UAAU,CAAC,6BAA6B,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;IAM5E,GAAG,CAAC,KAAK,EAAE,UAAU,CAAC,6BAA6B,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAQ9D,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC,6BAA6B,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;IAWxE,cAAc,CAAC,KAAK,EAAE,UAAU,CAAC,6BAA6B,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;IAWpF,WAAW,CAAC,KAAK,EAAE,UAAU,CAAC,6BAA6B,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;IAwB9E,OAAO,CAAC,KAAK,EAAE,UAAU,CAAC,6BAA6B,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;IAStE,MAAM,CAAC,KAAK,EAAE,UAAU,CAAC,6BAA6B,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IAYpE,MAAM,CAAC,KAAK,EAAE,UAAU,CAAC,6BAA6B,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;CAK3E"}
@@ -0,0 +1,16 @@
1
+ import type { MaterializationSession, ObjectVectorState, OntologyVectorStorage } from "@sixb/core/storage";
2
+ import type { SQLClient } from "../pg-client";
3
+ import { type PgRootOperation } from "./shared";
4
+ export declare class PgOntologyVectorStorage implements OntologyVectorStorage {
5
+ private readonly sql;
6
+ private readonly runRootOperation;
7
+ private readonly assertSession;
8
+ constructor(sql: SQLClient, runRootOperation: PgRootOperation, assertSession: (session: MaterializationSession, projectId: string, commitId?: string) => void);
9
+ list(input: Parameters<OntologyVectorStorage["list"]>[0]): Promise<readonly ObjectVectorState[]>;
10
+ listBatch(input: Parameters<OntologyVectorStorage["listBatch"]>[0]): Promise<readonly ObjectVectorState[]>;
11
+ removeBatch(input: Parameters<OntologyVectorStorage["removeBatch"]>[0]): Promise<void>;
12
+ write(input: Parameters<OntologyVectorStorage["write"]>[0]): Promise<void>;
13
+ writeBatch(input: Parameters<OntologyVectorStorage["writeBatch"]>[0]): Promise<void>;
14
+ remove(input: Parameters<OntologyVectorStorage["remove"]>[0]): Promise<void>;
15
+ }
16
+ //# sourceMappingURL=vectors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vectors.d.ts","sourceRoot":"","sources":["../../src/ontology-storage/vectors.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,sBAAsB,EACtB,iBAAiB,EACjB,qBAAqB,EACtB,MAAM,oBAAoB,CAAA;AAC3B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAC7C,OAAO,EAAyB,KAAK,eAAe,EAAE,MAAM,UAAU,CAAA;AAUtE,qBAAa,uBAAwB,YAAW,qBAAqB;IAEjE,OAAO,CAAC,QAAQ,CAAC,GAAG;IACpB,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IACjC,OAAO,CAAC,QAAQ,CAAC,aAAa;gBAFb,GAAG,EAAE,SAAS,EACd,gBAAgB,EAAE,eAAe,EACjC,aAAa,EAAE,CAC9B,OAAO,EAAE,sBAAsB,EAC/B,SAAS,EAAE,MAAM,EACjB,QAAQ,CAAC,EAAE,MAAM,KACd,IAAI;IAGL,IAAI,CACR,KAAK,EAAE,UAAU,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,GAClD,OAAO,CAAC,SAAS,iBAAiB,EAAE,CAAC;IAoBlC,SAAS,CACb,KAAK,EAAE,UAAU,CAAC,qBAAqB,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,GACvD,OAAO,CAAC,SAAS,iBAAiB,EAAE,CAAC;IAyBlC,WAAW,CAAC,KAAK,EAAE,UAAU,CAAC,qBAAqB,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAetF,KAAK,CAAC,KAAK,EAAE,UAAU,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAI1E,UAAU,CAAC,KAAK,EAAE,UAAU,CAAC,qBAAqB,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAyDpF,MAAM,CAAC,KAAK,EAAE,UAAU,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;CAWnF"}
@@ -1 +1 @@
1
- {"version":3,"file":"pg-ai-cost-storage.d.ts","sourceRoot":"","sources":["../src/pg-ai-cost-storage.ts"],"names":[],"mappings":"AAeA,OAAO,EACL,KAAK,oBAAoB,EACzB,KAAK,aAAa,EAElB,KAAK,aAAa,EAClB,KAAK,qBAAqB,EAE1B,KAAK,8BAA8B,EACnC,KAAK,+BAA+B,EACpC,KAAK,0BAA0B,EAC/B,KAAK,2BAA2B,EAChC,KAAK,8BAA8B,EACnC,KAAK,8BAA8B,EACpC,MAAM,oBAAoB,CAAA;AAG3B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAGnD,8EAA8E;AAC9E,qBAAa,eAAgB,YAAW,aAAa;IACvC,OAAO,CAAC,QAAQ,CAAC,GAAG;gBAAH,GAAG,EAAE,aAAa;IAEzC,mBAAmB,CACvB,KAAK,EAAE,0BAA0B,GAChC,OAAO,CAAC,2BAA2B,CAAC;IAIjC,mBAAmB,CAAC,KAAK,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC;IA6BhE,mBAAmB,CACvB,KAAK,EAAE,8BAA8B,GACpC,OAAO,CAAC,SAAS,aAAa,EAAE,CAAC;IAsB9B,oBAAoB,CAAC,KAAK,EAAE,8BAA8B,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAuH1F,cAAc,CAClB,KAAK,EAAE,8BAA8B,GACpC,OAAO,CAAC,+BAA+B,CAAC;CA0F5C"}
1
+ {"version":3,"file":"pg-ai-cost-storage.d.ts","sourceRoot":"","sources":["../src/pg-ai-cost-storage.ts"],"names":[],"mappings":"AAeA,OAAO,EACL,KAAK,oBAAoB,EACzB,KAAK,aAAa,EAElB,KAAK,aAAa,EAClB,KAAK,qBAAqB,EAE1B,KAAK,8BAA8B,EACnC,KAAK,+BAA+B,EACpC,KAAK,0BAA0B,EAC/B,KAAK,2BAA2B,EAChC,KAAK,8BAA8B,EACnC,KAAK,8BAA8B,EACpC,MAAM,oBAAoB,CAAA;AAG3B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAGnD,8EAA8E;AAC9E,qBAAa,eAAgB,YAAW,aAAa;IACvC,OAAO,CAAC,QAAQ,CAAC,GAAG;gBAAH,GAAG,EAAE,aAAa;IAEzC,mBAAmB,CACvB,KAAK,EAAE,0BAA0B,GAChC,OAAO,CAAC,2BAA2B,CAAC;IAIjC,mBAAmB,CAAC,KAAK,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC;IA6BhE,mBAAmB,CACvB,KAAK,EAAE,8BAA8B,GACpC,OAAO,CAAC,SAAS,aAAa,EAAE,CAAC;IAsB9B,oBAAoB,CAAC,KAAK,EAAE,8BAA8B,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAyH1F,cAAc,CAClB,KAAK,EAAE,8BAA8B,GACpC,OAAO,CAAC,+BAA+B,CAAC;CA0F5C"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sixb/pg",
3
- "version": "0.1.10",
3
+ "version": "0.1.12",
4
4
  "description": "PostgreSQL storage provider for Sixb",
5
5
  "keywords": [
6
6
  "sixb",
@@ -40,10 +40,10 @@
40
40
  "postgres": "^3.4.5"
41
41
  },
42
42
  "peerDependencies": {
43
- "@sixb/core": "0.1.10"
43
+ "@sixb/core": "0.1.12"
44
44
  },
45
45
  "devDependencies": {
46
- "@sixb/core": "0.1.10",
46
+ "@sixb/core": "0.1.12",
47
47
  "@types/bun": "latest",
48
48
  "typescript": "^5.7.0"
49
49
  },
@@ -1,4 +1,5 @@
1
1
  import type { AgentMessagePart, JsonValue, Principal } from "@sixb/core"
2
+ import { snapshotAgentThreadSandboxParams } from "@sixb/core/internal/agent-run-storage-provider"
2
3
  import { parseSixbFailure } from "@sixb/core/internal/errors"
3
4
  import {
4
5
  AGENT_RUN_FAILURE_CODES,
@@ -7,6 +8,7 @@ import {
7
8
  type AgentRunDiagnostic,
8
9
  type AgentRunRecord,
9
10
  type AgentThreadRecord,
11
+ type AgentThreadSandboxState,
10
12
  type ConversationAgentRunSpec,
11
13
  coerceAgentRunFinishReason,
12
14
  type SubagentRunResult,
@@ -23,6 +25,8 @@ export interface AgentThreadRow {
23
25
  owner_principal_type: Principal["type"]
24
26
  owner_principal_id: string
25
27
  title: string | null
28
+ sandbox_params: JsonValue | string | null
29
+ sandbox_state: AgentThreadSandboxState | string | null
26
30
  status: AgentThreadRecord["status"]
27
31
  active_run_id: string | null
28
32
  last_message_at: Date | string | null
@@ -96,6 +100,23 @@ export function rowToThreadRecord(row: AgentThreadRow): AgentThreadRecord {
96
100
  projectId: row.project_id,
97
101
  ownerPrincipal: { type: row.owner_principal_type, id: row.owner_principal_id },
98
102
  title: row.title ?? undefined,
103
+ ...(row.sandbox_state == null
104
+ ? {}
105
+ : {
106
+ sandboxState:
107
+ typeof row.sandbox_state === "string"
108
+ ? JSON.parse(row.sandbox_state)
109
+ : row.sandbox_state,
110
+ }),
111
+ ...(row.sandbox_params == null
112
+ ? {}
113
+ : {
114
+ sandboxParams: snapshotAgentThreadSandboxParams(
115
+ typeof row.sandbox_params === "string"
116
+ ? JSON.parse(row.sandbox_params)
117
+ : row.sandbox_params
118
+ ),
119
+ }),
99
120
  status: row.status,
100
121
  activeRunId: row.active_run_id,
101
122
  lastMessageAt: row.last_message_at ? new Date(row.last_message_at) : undefined,
@@ -1,20 +1,63 @@
1
+ import {
2
+ snapshotAgentThreadSandboxParams,
3
+ transitionAgentThreadSandbox,
4
+ } from "@sixb/core/internal/agent-run-storage-provider"
1
5
  import {
2
6
  AgentStorageError,
3
7
  type AgentThreadRecord,
8
+ type AgentThreadSandboxState,
4
9
  type AgentThreadStore,
5
10
  type CreateAgentThreadInput,
6
11
  type ListAgentThreadsInput,
7
12
  type ListAgentThreadsResult,
13
+ type TransitionAgentThreadSandboxInput,
8
14
  } from "@sixb/core/storage"
9
15
  import type { SqlParameter } from "../pg-client"
10
16
  import { isUniqueViolation } from "../storage-errors"
11
- import type { PgStoreClient } from "../transactions"
12
- import { type AgentThreadRow, queryAgentList, rowToThreadRecord } from "./rows"
17
+ import { type PgStoreClient, runPgTransaction } from "../transactions"
18
+ import {
19
+ type AgentRunRow,
20
+ type AgentThreadRow,
21
+ queryAgentList,
22
+ rowToRunRecord,
23
+ rowToThreadRecord,
24
+ } from "./rows"
13
25
 
14
26
  export class PgAgentThreadStore implements AgentThreadStore {
15
27
  constructor(private readonly sql: PgStoreClient) {}
16
28
 
29
+ async transitionSandbox(
30
+ input: TransitionAgentThreadSandboxInput
31
+ ): Promise<AgentThreadSandboxState> {
32
+ return runPgTransaction(this.sql, async (tx) => {
33
+ // Same lock order as run finalization: run, then thread.
34
+ const runs =
35
+ input.action === "recreate"
36
+ ? []
37
+ : await tx<AgentRunRow[]>`
38
+ SELECT * FROM agent_runs WHERE project_id = ${input.projectId} AND id = ${input.runId}
39
+ FOR UPDATE
40
+ `
41
+ const [thread] = await tx<AgentThreadRow[]>`
42
+ SELECT * FROM agent_threads WHERE project_id = ${input.projectId} AND id = ${input.id}
43
+ FOR UPDATE
44
+ `
45
+ const state = transitionAgentThreadSandbox(
46
+ thread ? rowToThreadRecord(thread) : null,
47
+ runs[0] ? rowToRunRecord(runs[0]) : null,
48
+ input
49
+ )
50
+ await tx`UPDATE agent_threads SET sandbox_state = ${JSON.stringify(state)}::text::jsonb
51
+ WHERE project_id = ${input.projectId} AND id = ${input.id}`
52
+ return state
53
+ })
54
+ }
55
+
17
56
  async create(input: CreateAgentThreadInput): Promise<AgentThreadRecord> {
57
+ const sandboxParams =
58
+ input.sandboxParams === undefined
59
+ ? null
60
+ : JSON.stringify(snapshotAgentThreadSandboxParams(input.sandboxParams))
18
61
  const createdAt = input.createdAt ?? new Date()
19
62
  const updatedAt = input.updatedAt ?? createdAt
20
63
 
@@ -26,6 +69,7 @@ export class PgAgentThreadStore implements AgentThreadStore {
26
69
  owner_principal_type,
27
70
  owner_principal_id,
28
71
  title,
72
+ sandbox_params,
29
73
  status,
30
74
  created_at,
31
75
  updated_at
@@ -35,6 +79,7 @@ export class PgAgentThreadStore implements AgentThreadStore {
35
79
  ${input.ownerPrincipal.type},
36
80
  ${input.ownerPrincipal.id},
37
81
  ${input.title ?? null},
82
+ ${sandboxParams}::text::jsonb,
38
83
  ${input.status ?? "active"},
39
84
  ${createdAt},
40
85
  ${updatedAt}
@@ -180,6 +180,16 @@ class PgConnectorConnectionPersistence implements ConnectorConnectionPersistence
180
180
  }
181
181
  }
182
182
 
183
+ async listPendingConnectionRuns(): Promise<readonly ConnectorConnectionRunRecord[]> {
184
+ if (!this.scope.connectorId) return []
185
+ const rows = await this.sql<PgConnectionRunRow[]>`
186
+ SELECT * FROM connector_connection_runs
187
+ WHERE project_id = ${this.scope.projectId} AND connector_id = ${this.scope.connectorId}
188
+ AND (status = 'running' OR (status = 'waiting' AND waiting_for = 'account_selection'))
189
+ `
190
+ return rows.map(connectionRunFromRow)
191
+ }
192
+
183
193
  async getConnectionRun(id: string): Promise<ConnectorConnectionRunRecord | null> {
184
194
  const rows = await this.runById(id)
185
195
  return rows[0] ? connectionRunFromRow(rows[0]) : null
@@ -0,0 +1,2 @@
1
+ ALTER TABLE agent_threads ADD COLUMN sandbox_params JSONB
2
+ CHECK (sandbox_params IS NULL OR jsonb_typeof(sandbox_params) = 'object');
@@ -0,0 +1,28 @@
1
+ -- Transactional derived state. Search extensions are not required for persistence.
2
+ CREATE TABLE object_vectors (
3
+ project_id TEXT NOT NULL,
4
+ object_type_id TEXT NOT NULL,
5
+ primary_id TEXT NOT NULL,
6
+ profile TEXT NOT NULL CHECK (length(btrim(profile)) > 0),
7
+ configuration TEXT NOT NULL,
8
+ source TEXT[] NOT NULL,
9
+ source_fingerprint TEXT NOT NULL,
10
+ embedding REAL[] NOT NULL,
11
+ last_commit_id TEXT NOT NULL,
12
+ PRIMARY KEY (project_id, object_type_id, primary_id, profile),
13
+ FOREIGN KEY (project_id, object_type_id, primary_id)
14
+ REFERENCES objects (project_id, object_type_id, primary_id) ON DELETE CASCADE,
15
+ FOREIGN KEY (project_id, last_commit_id)
16
+ REFERENCES ontology_commits (project_id, id) DEFERRABLE INITIALLY DEFERRED,
17
+ CONSTRAINT object_vectors_sources CHECK (
18
+ cardinality(source) > 0 AND array_ndims(source) = 1 AND array_lower(source, 1) = 1
19
+ AND array_position(source, NULL) IS NULL
20
+ ),
21
+ CONSTRAINT object_vectors_values CHECK (
22
+ cardinality(embedding) BETWEEN 1 AND 16000
23
+ AND array_ndims(embedding) = 1 AND array_lower(embedding, 1) = 1
24
+ AND array_position(embedding, NULL) IS NULL
25
+ AND '-Infinity'::real < ALL(embedding) AND 'Infinity'::real > ALL(embedding)
26
+ AND 0::real <> ANY(embedding)
27
+ )
28
+ );
@@ -0,0 +1,24 @@
1
+ CREATE TABLE object_vector_indexing (
2
+ project_id TEXT NOT NULL,
3
+ id TEXT NOT NULL,
4
+ object_type_id TEXT NOT NULL,
5
+ primary_id TEXT NOT NULL,
6
+ profile TEXT NOT NULL,
7
+ request JSONB NOT NULL,
8
+ status TEXT NOT NULL CHECK (status IN ('pending', 'running', 'ready', 'failed')),
9
+ available_at TIMESTAMPTZ NOT NULL,
10
+ dispatch_at TIMESTAMPTZ NOT NULL,
11
+ values_json JSONB,
12
+ error TEXT,
13
+ PRIMARY KEY (project_id, id),
14
+ UNIQUE (project_id, object_type_id, primary_id, profile)
15
+ );
16
+ CREATE INDEX object_vector_indexing_due ON object_vector_indexing (project_id, dispatch_at, id)
17
+ WHERE status <> 'failed';
18
+
19
+ ALTER TABLE executions DROP CONSTRAINT executions_authority_kernel_operation_check;
20
+ ALTER TABLE executions ADD CONSTRAINT executions_authority_kernel_operation_check
21
+ CHECK (authority_kernel_operation IS NULL OR authority_kernel_operation IN ('ontology.recover', 'ontology.indexVectors'));
22
+ ALTER TABLE executions DROP CONSTRAINT executions_source_kind_check;
23
+ ALTER TABLE executions ADD CONSTRAINT executions_source_kind_check
24
+ CHECK (source_kind IN ('http', 'webhook', 'schedule', 'event', 'datasetVersion', 'execution', 'ontologyCommit'));
@@ -0,0 +1,3 @@
1
+ ALTER TABLE object_vector_indexing ADD COLUMN batch_id TEXT;
2
+ CREATE INDEX object_vector_indexing_batch ON object_vector_indexing (project_id, batch_id, id)
3
+ WHERE batch_id IS NOT NULL;
@@ -0,0 +1,2 @@
1
+ ALTER TABLE agent_threads ADD COLUMN sandbox_state JSONB
2
+ CHECK (sandbox_state IS NULL OR jsonb_typeof(sandbox_state) = 'object');
package/src/migrations.ts CHANGED
@@ -90,6 +90,15 @@ import shareSessionsSql from "./migrations/036-share-sessions.sql" with { type:
90
90
  import projectionSourceRootsSql from "./migrations/039-projection-source-roots.sql" with {
91
91
  type: "text",
92
92
  }
93
+ import agentThreadWorkspacesSql from "./migrations/041-agent-thread-workspaces.sql" with {
94
+ type: "text",
95
+ }
96
+ import vectorProfilesSql from "./migrations/042-vector-profiles.sql" with { type: "text" }
97
+ import vectorIndexingSql from "./migrations/043-vector-indexing.sql" with { type: "text" }
98
+ import vectorBatchingSql from "./migrations/044-vector-batching.sql" with { type: "text" }
99
+ import agentThreadSandboxStateSql from "./migrations/045-agent-thread-sandbox-state.sql" with {
100
+ type: "text",
101
+ }
93
102
  import type { SQL, SQLClient } from "./pg-client"
94
103
 
95
104
  export interface PostgresMigrationContext {
@@ -383,6 +392,11 @@ export const postgresStorageMigrations = defineMigrations<PostgresMigrationConte
383
392
  pgSql("038-outbox-publication-order", outboxPublicationOrderSql),
384
393
  pgSql("039-projection-source-roots", projectionSourceRootsSql),
385
394
  pgSql("040-connector-optional-pkce", connectorOptionalPkceSql),
395
+ pgSql("041-agent-thread-workspaces", agentThreadWorkspacesSql),
396
+ pgSql("042-vector-profiles", vectorProfilesSql),
397
+ pgSql("043-vector-indexing", vectorIndexingSql),
398
+ pgSql("044-vector-batching", vectorBatchingSql),
399
+ pgSql("045-agent-thread-sandbox-state", agentThreadSandboxStateSql),
386
400
  ],
387
401
  })
388
402