@sixb/sqlite 0.1.9 → 0.1.11

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 (29) hide show
  1. package/dist/index.js +449 -195
  2. package/dist/index.js.map +13 -11
  3. package/dist/migrations.d.ts.map +1 -1
  4. package/dist/ontology-storage/materialization-state.d.ts +2 -1
  5. package/dist/ontology-storage/materialization-state.d.ts.map +1 -1
  6. package/dist/ontology-storage/materializations.d.ts.map +1 -1
  7. package/dist/ontology-storage/outbox.d.ts.map +1 -1
  8. package/dist/ontology-storage/shared.d.ts +2 -0
  9. package/dist/ontology-storage/shared.d.ts.map +1 -1
  10. package/dist/ontology-storage/source-cleanup.d.ts +4 -0
  11. package/dist/ontology-storage/source-cleanup.d.ts.map +1 -0
  12. package/dist/ontology-storage/source-roots.d.ts +27 -0
  13. package/dist/ontology-storage/source-roots.d.ts.map +1 -0
  14. package/dist/ontology-storage/sources.d.ts.map +1 -1
  15. package/dist/projection-run-storage.d.ts.map +1 -1
  16. package/package.json +3 -3
  17. package/src/connector-connection-storage.ts +13 -3
  18. package/src/migrations/038-projection-source-roots.sql +44 -0
  19. package/src/migrations/039-connector-optional-pkce.sql +52 -0
  20. package/src/migrations/040-outbox-publication-order.sql +8 -0
  21. package/src/migrations.ts +13 -0
  22. package/src/ontology-storage/materialization-state.ts +56 -91
  23. package/src/ontology-storage/materializations.ts +7 -1
  24. package/src/ontology-storage/outbox.ts +33 -16
  25. package/src/ontology-storage/shared.ts +10 -0
  26. package/src/ontology-storage/source-cleanup.ts +59 -0
  27. package/src/ontology-storage/source-roots.ts +230 -0
  28. package/src/ontology-storage/sources.ts +25 -78
  29. package/src/projection-run-storage.ts +11 -3
@@ -1 +1 @@
1
- {"version":3,"file":"migrations.d.ts","sourceRoot":"","sources":["../src/migrations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAIrC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AACjD,OAAO,KAAK,EAGV,YAAY,EACZ,aAAa,EACb,oBAAoB,EACrB,MAAM,oBAAoB,CAAA;AA+F3B,eAAO,MAAM,yBAAyB,sBAAsB,CAAA;AAC5D,eAAO,MAAM,mBAAmB,mBAAmB,CAAA;AAEnD,eAAO,MAAM,uBAAuB,wBA4ElC,CAAA;AAEF,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAE1D;AAED,wBAAgB,SAAS,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,aAAa,CAAC,QAAQ,CAAC,CAQ9E;AAED,wBAAgB,UAAU,CACxB,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,CAAC,EAAE,EAAE,QAAQ,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,EAC1C,OAAO,GAAE,oBAAyB,GACjC,aAAa,CAAC,QAAQ,CAAC,CAEzB;AAED,wBAAgB,wBAAwB,CAAC,EAAE,EAAE,QAAQ,GAAG,IAAI,CAS3D;AAED,wBAAgB,4BAA4B,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,eAAe,EAAE,CAOzF;AAED,wBAAgB,oBAAoB,CAAC,MAAM,EAAE;IAC3C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,UAAU,EAAE,YAAY,CAAC,QAAQ,CAAC,CAAA;CAC5C,GAAG,eAAe,CAoBlB;AAED,wBAAsB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAM1E"}
1
+ {"version":3,"file":"migrations.d.ts","sourceRoot":"","sources":["../src/migrations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAIrC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AACjD,OAAO,KAAK,EAGV,YAAY,EACZ,aAAa,EACb,oBAAoB,EACrB,MAAM,oBAAoB,CAAA;AAqG3B,eAAO,MAAM,yBAAyB,sBAAsB,CAAA;AAC5D,eAAO,MAAM,mBAAmB,mBAAmB,CAAA;AAEnD,eAAO,MAAM,uBAAuB,wBA+ElC,CAAA;AAEF,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAE1D;AAED,wBAAgB,SAAS,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,aAAa,CAAC,QAAQ,CAAC,CAQ9E;AAED,wBAAgB,UAAU,CACxB,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,CAAC,EAAE,EAAE,QAAQ,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,EAC1C,OAAO,GAAE,oBAAyB,GACjC,aAAa,CAAC,QAAQ,CAAC,CAEzB;AAED,wBAAgB,wBAAwB,CAAC,EAAE,EAAE,QAAQ,GAAG,IAAI,CAS3D;AAED,wBAAgB,4BAA4B,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,eAAe,EAAE,CAOzF;AAED,wBAAgB,oBAAoB,CAAC,MAAM,EAAE;IAC3C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,UAAU,EAAE,YAAY,CAAC,QAAQ,CAAC,CAAA;CAC5C,GAAG,eAAe,CAoBlB;AAED,wBAAsB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAM1E"}
@@ -15,6 +15,7 @@ export type ReplacementIdentity = {
15
15
  readonly diffRequired: boolean;
16
16
  };
17
17
  interface ReplacementIdentityInput {
18
+ readonly incremental?: boolean;
18
19
  readonly sessionId: string;
19
20
  readonly sourceId: string;
20
21
  readonly candidateMaterializationId: string;
@@ -49,7 +50,7 @@ export declare class SqliteMaterializationStateReader {
49
50
  replacementObjectStates(sourceId: string, candidateMaterializationId: string, refs: readonly OntologyObjectRef[]): readonly SourceReplacementObjectState[];
50
51
  replacementLinkStates(sourceId: string, candidateMaterializationId: string, materializationIds: readonly string[], identities: readonly Extract<ReplacementIdentity, {
51
52
  readonly kind: "link";
52
- }>[]): readonly SourceReplacementLinkState[];
53
+ }>[], incremental?: boolean): readonly SourceReplacementLinkState[];
53
54
  effectiveObjectRevision(ref: OntologyObjectRef): {
54
55
  readonly version: number;
55
56
  readonly lastCommitId: string | null;
@@ -1 +1 @@
1
- {"version":3,"file":"materialization-state.d.ts","sourceRoot":"","sources":["../../src/ontology-storage/materialization-state.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"materialization-state.d.ts","sourceRoot":"","sources":["../../src/ontology-storage/materialization-state.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"materializations.d.ts","sourceRoot":"","sources":["../../src/ontology-storage/materializations.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AA2B1C,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;AAE3B,OAAO,EAGL,KAAK,gCAAgC,EACtC,MAAM,2BAA2B,CAAA;AAiBlC,qBAAa,oCAAqC,YAAW,8BAA8B;IAKvF,OAAO,CAAC,QAAQ,CAAC,EAAE;IAJrB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA+B;IACxD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA6B;gBAGjC,EAAE,EAAE,QAAQ,EAC7B,OAAO,EAAE,gCAAgC,GAAG,IAAI;IAM5C,KAAK,CAAC,KAAK,EAAE,yBAAyB,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAmCvE,WAAW,CAChB,KAAK,EAAE,+BAA+B,GACrC,aAAa,CAAC,wBAAwB,CAAC;IAmDnC,4BAA4B,CACjC,KAAK,EAAE,iCAAiC,GACvC,aAAa,CAAC,0BAA0B,CAAC;IA0FtC,SAAS,CAAC,KAAK,EAAE,6BAA6B,GAAG,OAAO,CAAC,IAAI,CAAC;IAKpE,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;IAkBhE,QAAQ,CAAC,KAAK,EAAE,4BAA4B,GAAG,OAAO,CAAC,0BAA0B,CAAC;IAYxF,kBAAkB,IAAI,IAAI;IAI1B,OAAO,CAAC,kBAAkB;IA2D1B,OAAO,CAAC,kBAAkB;IA+C1B,OAAO,CAAC,YAAY;IAgBpB,OAAO,CAAC,YAAY;IAsBpB,OAAO,CAAC,UAAU;YAsBJ,kBAAkB;IAwDhC,OAAO,CAAC,sBAAsB;IAwD9B,OAAO,CAAC,cAAc;IAqGtB,OAAO,CAAC,YAAY;IAmDpB,OAAO,CAAC,eAAe;IASvB,OAAO,CAAC,SAAS;CAYlB"}
1
+ {"version":3,"file":"materializations.d.ts","sourceRoot":"","sources":["../../src/ontology-storage/materializations.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AA2B1C,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;AAE3B,OAAO,EAGL,KAAK,gCAAgC,EACtC,MAAM,2BAA2B,CAAA;AAkBlC,qBAAa,oCAAqC,YAAW,8BAA8B;IAKvF,OAAO,CAAC,QAAQ,CAAC,EAAE;IAJrB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA+B;IACxD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA6B;gBAGjC,EAAE,EAAE,QAAQ,EAC7B,OAAO,EAAE,gCAAgC,GAAG,IAAI;IAM5C,KAAK,CAAC,KAAK,EAAE,yBAAyB,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAmCvE,WAAW,CAChB,KAAK,EAAE,+BAA+B,GACrC,aAAa,CAAC,wBAAwB,CAAC;IAmDnC,4BAA4B,CACjC,KAAK,EAAE,iCAAiC,GACvC,aAAa,CAAC,0BAA0B,CAAC;IA6FtC,SAAS,CAAC,KAAK,EAAE,6BAA6B,GAAG,OAAO,CAAC,IAAI,CAAC;IAKpE,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;IAkBhE,QAAQ,CAAC,KAAK,EAAE,4BAA4B,GAAG,OAAO,CAAC,0BAA0B,CAAC;IAYxF,kBAAkB,IAAI,IAAI;IAI1B,OAAO,CAAC,kBAAkB;IA4D1B,OAAO,CAAC,kBAAkB;IA+C1B,OAAO,CAAC,YAAY;IAgBpB,OAAO,CAAC,YAAY;IAsBpB,OAAO,CAAC,UAAU;YAsBJ,kBAAkB;IAwDhC,OAAO,CAAC,sBAAsB;IAwD9B,OAAO,CAAC,cAAc;IAsGtB,OAAO,CAAC,YAAY;IAmDpB,OAAO,CAAC,eAAe;IASvB,OAAO,CAAC,SAAS;CAYlB"}
@@ -1 +1 @@
1
- {"version":3,"file":"outbox.d.ts","sourceRoot":"","sources":["../../src/ontology-storage/outbox.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAM1C,OAAO,KAAK,EACV,wBAAwB,EACxB,wBAAwB,EACxB,gCAAgC,EAChC,qBAAqB,EACrB,qBAAqB,EACrB,iCAAiC,EACjC,kCAAkC,EAClC,4BAA4B,EAC7B,MAAM,oBAAoB,CAAA;AAE3B,OAAO,EAML,KAAK,mBAAmB,EACzB,MAAM,UAAU,CAAA;AAEjB,qBAAa,2BAA4B,YAAW,qBAAqB;IAErE,OAAO,CAAC,QAAQ,CAAC,EAAE;IACnB,OAAO,CAAC,QAAQ,CAAC,gBAAgB;gBADhB,EAAE,EAAE,QAAQ,EACZ,gBAAgB,EAAE,mBAAmB;IAGlD,KAAK,CAAC,KAAK,EAAE,wBAAwB,GAAG,OAAO,CAAC,SAAS,wBAAwB,EAAE,CAAC;IAyDpF,aAAa,CAAC,KAAK,EAAE,gCAAgC,GAAG,OAAO,CAAC,IAAI,CAAC;IAqCrE,UAAU,CAAC,KAAK,EAAE,kCAAkC,GAAG,OAAO,CAAC,IAAI,CAAC;IA2CpE,cAAc,CAAC,KAAK,EAAE,iCAAiC,GAAG,OAAO,CAAC,MAAM,CAAC;IAqBzE,SAAS,CAAC,KAAK,EAAE,4BAA4B,GAAG,OAAO,CAAC,qBAAqB,CAAC;CA4BrF"}
1
+ {"version":3,"file":"outbox.d.ts","sourceRoot":"","sources":["../../src/ontology-storage/outbox.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAM1C,OAAO,KAAK,EACV,wBAAwB,EACxB,wBAAwB,EACxB,gCAAgC,EAChC,qBAAqB,EACrB,qBAAqB,EACrB,iCAAiC,EACjC,kCAAkC,EAClC,4BAA4B,EAC7B,MAAM,oBAAoB,CAAA;AAE3B,OAAO,EAML,KAAK,mBAAmB,EACzB,MAAM,UAAU,CAAA;AAEjB,qBAAa,2BAA4B,YAAW,qBAAqB;IAErE,OAAO,CAAC,QAAQ,CAAC,EAAE;IACnB,OAAO,CAAC,QAAQ,CAAC,gBAAgB;gBADhB,EAAE,EAAE,QAAQ,EACZ,gBAAgB,EAAE,mBAAmB;IAGlD,KAAK,CAAC,KAAK,EAAE,wBAAwB,GAAG,OAAO,CAAC,SAAS,wBAAwB,EAAE,CAAC;IAwEpF,aAAa,CAAC,KAAK,EAAE,gCAAgC,GAAG,OAAO,CAAC,IAAI,CAAC;IAsCrE,UAAU,CAAC,KAAK,EAAE,kCAAkC,GAAG,OAAO,CAAC,IAAI,CAAC;IA4CpE,cAAc,CAAC,KAAK,EAAE,iCAAiC,GAAG,OAAO,CAAC,MAAM,CAAC;IAqBzE,SAAS,CAAC,KAAK,EAAE,4BAA4B,GAAG,OAAO,CAAC,qBAAqB,CAAC;CA4BrF"}
@@ -37,6 +37,8 @@ export interface SqliteOntologySourceRow {
37
37
  readonly ownership_hash: string;
38
38
  readonly ontology_revision: string;
39
39
  readonly root_count: number | null;
40
+ readonly base_materialization_id: string | null;
41
+ readonly base_commit_id: string | null;
40
42
  readonly assertion_count: number | null;
41
43
  readonly created_at: string;
42
44
  readonly ready_at: string | null;
@@ -1 +1 @@
1
- {"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../src/ontology-storage/shared.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../src/ontology-storage/shared.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import type { Database } from "bun:sqlite";
2
+ import type { CleanupTerminalSourceMaterializationsInput, CleanupTerminalSourceMaterializationsResult } from "@sixb/core/storage";
3
+ export declare function cleanupSourceVersions(db: Database, input: CleanupTerminalSourceMaterializationsInput): CleanupTerminalSourceMaterializationsResult;
4
+ //# sourceMappingURL=source-cleanup.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"source-cleanup.d.ts","sourceRoot":"","sources":["../../src/ontology-storage/source-cleanup.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAC1C,OAAO,KAAK,EACV,0CAA0C,EAC1C,2CAA2C,EAC5C,MAAM,oBAAoB,CAAA;AAE3B,wBAAgB,qBAAqB,CACnC,EAAE,EAAE,QAAQ,EACZ,KAAK,EAAE,0CAA0C,GAChD,2CAA2C,CAiD7C"}
@@ -0,0 +1,27 @@
1
+ import type { Database } from "bun:sqlite";
2
+ import type { ProjectionEntityRef } from "@sixb/core/internal/materialization";
3
+ import type { SourceActivationWrite, StageSourceRowsInput } from "@sixb/core/storage";
4
+ import type { SqliteOntologySourceAssertionRow } from "./shared";
5
+ import { type SqliteOntologySourceRow } from "./shared";
6
+ export declare function replacementSourceRows(input: {
7
+ readonly projectId: string;
8
+ readonly sourceId: string;
9
+ readonly materializationId: string;
10
+ readonly incremental: boolean;
11
+ }): {
12
+ readonly sql: string;
13
+ readonly values: readonly string[];
14
+ };
15
+ export declare function stageSourceRoots(db: Database, manifest: SqliteOntologySourceRow, input: StageSourceRowsInput): void;
16
+ export declare function activateSourceRoots(db: Database, projectId: string, candidate: SqliteOntologySourceRow, activation: SourceActivationWrite): void;
17
+ export declare function assertSourceRootCoverage(db: Database, manifest: SqliteOntologySourceRow): void;
18
+ export declare function activeSourceRows(db: Database, projectId: string, refs: readonly ProjectionEntityRef[]): SqliteOntologySourceAssertionRow[];
19
+ export declare function replacementAssertionRows(db: Database, input: {
20
+ projectId: string;
21
+ sourceId: string;
22
+ materializationId: string;
23
+ incremental: boolean;
24
+ includePrevious: boolean;
25
+ refs: readonly ProjectionEntityRef[];
26
+ }): SqliteOntologySourceAssertionRow[];
27
+ //# sourceMappingURL=source-roots.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"source-roots.d.ts","sourceRoot":"","sources":["../../src/ontology-storage/source-roots.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAC1C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAA;AAO9E,OAAO,KAAK,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAA;AACrF,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,UAAU,CAAA;AAChE,OAAO,EAAiB,KAAK,uBAAuB,EAAE,MAAM,UAAU,CAAA;AAEtE,wBAAgB,qBAAqB,CAAC,KAAK,EAAE;IAC3C,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAA;IAClC,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAA;CAC9B,GAAG;IAAE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAA;CAAE,CAyB/D;AAED,wBAAgB,gBAAgB,CAC9B,EAAE,EAAE,QAAQ,EACZ,QAAQ,EAAE,uBAAuB,EACjC,KAAK,EAAE,oBAAoB,GAC1B,IAAI,CAuCN;AAED,wBAAgB,mBAAmB,CACjC,EAAE,EAAE,QAAQ,EACZ,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,uBAAuB,EAClC,UAAU,EAAE,qBAAqB,GAChC,IAAI,CAiCN;AAED,wBAAgB,wBAAwB,CAAC,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,uBAAuB,GAAG,IAAI,CAc9F;AAED,wBAAgB,gBAAgB,CAC9B,EAAE,EAAE,QAAQ,EACZ,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,SAAS,mBAAmB,EAAE,GACnC,gCAAgC,EAAE,CAuBpC;AAED,wBAAgB,wBAAwB,CACtC,EAAE,EAAE,QAAQ,EACZ,KAAK,EAAE;IACL,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,MAAM,CAAA;IAChB,iBAAiB,EAAE,MAAM,CAAA;IACzB,WAAW,EAAE,OAAO,CAAA;IACpB,eAAe,EAAE,OAAO,CAAA;IACxB,IAAI,EAAE,SAAS,mBAAmB,EAAE,CAAA;CACrC,GACA,gCAAgC,EAAE,CA6CpC"}
@@ -1 +1 @@
1
- {"version":3,"file":"sources.d.ts","sourceRoot":"","sources":["../../src/ontology-storage/sources.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAkB1C,OAAO,KAAK,EACV,0CAA0C,EAG1C,+BAA+B,EAC/B,0CAA0C,EAC1C,2CAA2C,EAC3C,4BAA4B,EAC5B,mCAAmC,EACnC,oBAAoB,EACpB,qBAAqB,EACrB,iCAAiC,EACjC,oBAAoB,EACpB,qBAAqB,EACrB,4CAA4C,EAC5C,oCAAoC,EACrC,MAAM,oBAAoB,CAAA;AAE3B,OAAO,EASL,KAAK,mBAAmB,EAGzB,MAAM,UAAU,CAAA;AAEjB,qBAAa,2BAA4B,YAAW,qBAAqB;IAErE,OAAO,CAAC,QAAQ,CAAC,EAAE;IACnB,OAAO,CAAC,QAAQ,CAAC,gBAAgB;gBADhB,EAAE,EAAE,QAAQ,EACZ,gBAAgB,EAAE,mBAAmB;IAGlD,oBAAoB,CACxB,KAAK,EAAE,+BAA+B,GACrC,OAAO,CAAC,oBAAoB,CAAC;IAqE1B,SAAS,CAAC,KAAK,EAAE,oBAAoB,GAAG,OAAO,CAAC,qBAAqB,CAAC;IA0BtE,SAAS,CAAC,KAAK,EAAE,mCAAmC,GAAG,OAAO,CAAC,oBAAoB,CAAC;IA8DpF,SAAS,CAAC,KAAK,EAAE,4BAA4B,GAAG,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC;IAepF,OAAO,CAAC,KAAK,EAAE,0CAA0C,GAAG,OAAO,CAAC,oBAAoB,CAAC;IACzF,OAAO,CAAC,KAAK,EAAE,iCAAiC,GAAG,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC;IAavF,eAAe,CACnB,KAAK,EAAE,0CAA0C,GAChD,OAAO,CAAC,2CAA2C,CAAC;IAgFjD,iBAAiB,CACrB,KAAK,EAAE,4CAA4C,GAClD,OAAO,CAAC,oCAAoC,CAAC;IAsBhD,OAAO,CAAC,gBAAgB;IAuBxB,OAAO,CAAC,iBAAiB;IA6BzB,OAAO,CAAC,qBAAqB;IAsC7B,OAAO,CAAC,gBAAgB;IAuExB,OAAO,CAAC,aAAa;IA+BrB,OAAO,CAAC,eAAe;IAwEvB,OAAO,CAAC,eAAe;IAiBvB,OAAO,CAAC,WAAW;IAenB,OAAO,CAAC,eAAe;CASxB"}
1
+ {"version":3,"file":"sources.d.ts","sourceRoot":"","sources":["../../src/ontology-storage/sources.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAkB1C,OAAO,KAAK,EACV,0CAA0C,EAG1C,+BAA+B,EAC/B,0CAA0C,EAC1C,2CAA2C,EAC3C,4BAA4B,EAC5B,mCAAmC,EACnC,oBAAoB,EACpB,qBAAqB,EACrB,iCAAiC,EACjC,oBAAoB,EACpB,qBAAqB,EACrB,4CAA4C,EAC5C,oCAAoC,EACrC,MAAM,oBAAoB,CAAA;AAE3B,OAAO,EASL,KAAK,mBAAmB,EAGzB,MAAM,UAAU,CAAA;AAIjB,qBAAa,2BAA4B,YAAW,qBAAqB;IAErE,OAAO,CAAC,QAAQ,CAAC,EAAE;IACnB,OAAO,CAAC,QAAQ,CAAC,gBAAgB;gBADhB,EAAE,EAAE,QAAQ,EACZ,gBAAgB,EAAE,mBAAmB;IAGlD,oBAAoB,CACxB,KAAK,EAAE,+BAA+B,GACrC,OAAO,CAAC,oBAAoB,CAAC;IAuE1B,SAAS,CAAC,KAAK,EAAE,oBAAoB,GAAG,OAAO,CAAC,qBAAqB,CAAC;IA2BtE,SAAS,CAAC,KAAK,EAAE,mCAAmC,GAAG,OAAO,CAAC,oBAAoB,CAAC;IA8DpF,SAAS,CAAC,KAAK,EAAE,4BAA4B,GAAG,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC;IAepF,OAAO,CAAC,KAAK,EAAE,0CAA0C,GAAG,OAAO,CAAC,oBAAoB,CAAC;IACzF,OAAO,CAAC,KAAK,EAAE,iCAAiC,GAAG,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC;IAavF,eAAe,CACnB,KAAK,EAAE,0CAA0C,GAChD,OAAO,CAAC,2CAA2C,CAAC;IASjD,iBAAiB,CACrB,KAAK,EAAE,4CAA4C,GAClD,OAAO,CAAC,oCAAoC,CAAC;IAsBhD,OAAO,CAAC,gBAAgB;IAuBxB,OAAO,CAAC,iBAAiB;IA6BzB,OAAO,CAAC,qBAAqB;IA0C7B,OAAO,CAAC,gBAAgB;IAgFxB,OAAO,CAAC,aAAa;IA+BrB,OAAO,CAAC,eAAe;IAwEvB,OAAO,CAAC,eAAe;IAiBvB,OAAO,CAAC,WAAW;IAenB,OAAO,CAAC,eAAe;CASxB"}
@@ -1 +1 @@
1
- {"version":3,"file":"projection-run-storage.d.ts","sourceRoot":"","sources":["../src/projection-run-storage.ts"],"names":[],"mappings":"AA8BA,OAAO,KAAK,EACV,yCAAyC,EACzC,gBAAgB,EAChB,6BAA6B,EAC7B,wBAAwB,EACxB,6BAA6B,EAC7B,8BAA8B,EAC9B,uBAAuB,EACvB,wBAAwB,EACxB,wCAAwC,EAExC,kBAAkB,EAElB,mBAAmB,EAEnB,oBAAoB,EACpB,uBAAuB,EACvB,kCAAkC,EAClC,gCAAgC,EAChC,4BAA4B,EAC5B,wBAAwB,EACzB,MAAM,oBAAoB,CAAA;AAI3B,OAAO,EAIL,KAAK,qBAAqB,EAC3B,MAAM,gBAAgB,CAAA;AAEvB,MAAM,WAAW,iCAAiC;IAChD,8DAA8D;IAC9D,UAAU,EAAE,gBAAgB,CAAA;IAC5B,mFAAmF;IACnF,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,gEAAgE;IAChE,UAAU,CAAC,EAAE,qBAAqB,CAAA;CACnC;AAED,qBAAa,0BAA2B,YAAW,oBAAoB;IACrE,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAuB;IAClD,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAU;IAC7B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAkB;gBAEjC,OAAO,EAAE,iCAAiC;IAUhD,KAAK,CAAC,KAAK,EAAE,uBAAuB,GAAG,OAAO,CAAC,mBAAmB,CAAC;IA0DnE,cAAc,CAAC,KAAK,EAAE,gCAAgC,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAyDpF,WAAW,CAAC,KAAK,EAAE,6BAA6B,GAAG,OAAO,CAAC,mBAAmB,CAAC;IA0B/E,sBAAsB,CAC1B,KAAK,EAAE,wCAAwC,GAC9C,OAAO,CAAC,mBAAmB,CAAC;IAIzB,MAAM,CAAC,KAAK,EAAE,wBAAwB,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAYrE,MAAM,CAAC,KAAK,EAAE,wBAAwB,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAqCrE,0BAA0B,CAC9B,KAAK,EAAE,yCAAyC,GAC/C,OAAO,CAAC,4BAA4B,CAAC;IAsClC,mBAAmB,CACvB,KAAK,EAAE,kCAAkC,GACxC,OAAO,CAAC,4BAA4B,CAAC;IAmClC,OAAO,CAAC,MAAM,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,mBAAmB,GAAG,IAAI,CAAC;IAKvF,IAAI,CAAC,KAAK,EAAE,uBAAuB,GAAG,OAAO,CAAC,wBAAwB,CAAC;IAmFvE,yBAAyB,CAC7B,KAAK,EAAE,6BAA6B,GACnC,OAAO,CAAC,8BAA8B,CAAC;IAY1C,KAAK,IAAI,IAAI;IAIb,OAAO,CAAC,+BAA+B;IAoBvC,OAAO,CAAC,YAAY;IA2CpB,OAAO,CAAC,cAAc;IA2BtB,OAAO,CAAC,+BAA+B;IAQvC,OAAO,CAAC,cAAc;IAMtB,OAAO,CAAC,OAAO;IAMf,OAAO,CAAC,UAAU;CAOnB"}
1
+ {"version":3,"file":"projection-run-storage.d.ts","sourceRoot":"","sources":["../src/projection-run-storage.ts"],"names":[],"mappings":"AA8BA,OAAO,KAAK,EACV,yCAAyC,EACzC,gBAAgB,EAChB,6BAA6B,EAC7B,wBAAwB,EACxB,6BAA6B,EAC7B,8BAA8B,EAC9B,uBAAuB,EACvB,wBAAwB,EACxB,wCAAwC,EAExC,kBAAkB,EAElB,mBAAmB,EAEnB,oBAAoB,EACpB,uBAAuB,EACvB,kCAAkC,EAClC,gCAAgC,EAChC,4BAA4B,EAC5B,wBAAwB,EACzB,MAAM,oBAAoB,CAAA;AAI3B,OAAO,EAIL,KAAK,qBAAqB,EAC3B,MAAM,gBAAgB,CAAA;AAEvB,MAAM,WAAW,iCAAiC;IAChD,8DAA8D;IAC9D,UAAU,EAAE,gBAAgB,CAAA;IAC5B,mFAAmF;IACnF,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,gEAAgE;IAChE,UAAU,CAAC,EAAE,qBAAqB,CAAA;CACnC;AAED,qBAAa,0BAA2B,YAAW,oBAAoB;IACrE,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAuB;IAClD,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAU;IAC7B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAkB;gBAEjC,OAAO,EAAE,iCAAiC;IAUhD,KAAK,CAAC,KAAK,EAAE,uBAAuB,GAAG,OAAO,CAAC,mBAAmB,CAAC;IA0DnE,cAAc,CAAC,KAAK,EAAE,gCAAgC,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAyDpF,WAAW,CAAC,KAAK,EAAE,6BAA6B,GAAG,OAAO,CAAC,mBAAmB,CAAC;IA0B/E,sBAAsB,CAC1B,KAAK,EAAE,wCAAwC,GAC9C,OAAO,CAAC,mBAAmB,CAAC;IAIzB,MAAM,CAAC,KAAK,EAAE,wBAAwB,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAYrE,MAAM,CAAC,KAAK,EAAE,wBAAwB,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAuCrE,0BAA0B,CAC9B,KAAK,EAAE,yCAAyC,GAC/C,OAAO,CAAC,4BAA4B,CAAC;IAsClC,mBAAmB,CACvB,KAAK,EAAE,kCAAkC,GACxC,OAAO,CAAC,4BAA4B,CAAC;IAmClC,OAAO,CAAC,MAAM,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,mBAAmB,GAAG,IAAI,CAAC;IAKvF,IAAI,CAAC,KAAK,EAAE,uBAAuB,GAAG,OAAO,CAAC,wBAAwB,CAAC;IAmFvE,yBAAyB,CAC7B,KAAK,EAAE,6BAA6B,GACnC,OAAO,CAAC,8BAA8B,CAAC;IAY1C,KAAK,IAAI,IAAI;IAIb,OAAO,CAAC,+BAA+B;IAoBvC,OAAO,CAAC,YAAY;IA2CpB,OAAO,CAAC,cAAc;IA6BtB,OAAO,CAAC,+BAA+B;IAQvC,OAAO,CAAC,cAAc;IAMtB,OAAO,CAAC,OAAO;IAMf,OAAO,CAAC,UAAU;CAOnB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sixb/sqlite",
3
- "version": "0.1.9",
3
+ "version": "0.1.11",
4
4
  "description": "SQLite storage provider for Sixb",
5
5
  "keywords": [
6
6
  "sixb",
@@ -36,10 +36,10 @@
36
36
  "prepack": "bun run build"
37
37
  },
38
38
  "peerDependencies": {
39
- "@sixb/core": "0.1.9"
39
+ "@sixb/core": "0.1.11"
40
40
  },
41
41
  "devDependencies": {
42
- "@sixb/core": "0.1.9",
42
+ "@sixb/core": "0.1.11",
43
43
  "@types/bun": "latest",
44
44
  "typescript": "^5.7.0"
45
45
  },
@@ -87,7 +87,7 @@ class SqliteConnectorConnectionPersistence implements ConnectorConnectionPersist
87
87
  record.slot,
88
88
  record.initiatedByExecutionId,
89
89
  record.stateHash,
90
- json(record.codeVerifier),
90
+ record.codeVerifier === undefined ? null : json(record.codeVerifier),
91
91
  record.redirectUri,
92
92
  record.connectionRunId ?? null,
93
93
  record.returnTo ?? null,
@@ -143,6 +143,16 @@ class SqliteConnectorConnectionPersistence implements ConnectorConnectionPersist
143
143
  }
144
144
  }
145
145
 
146
+ async listPendingConnectionRuns(): Promise<readonly ConnectorConnectionRunRecord[]> {
147
+ if (!this.scope.connectorId) return []
148
+ const rows = this.db
149
+ .query(`SELECT * FROM connector_connection_runs
150
+ WHERE project_id = ? AND connector_id = ?
151
+ AND (status = 'running' OR (status = 'waiting' AND waiting_for = 'account_selection'))`)
152
+ .all(this.scope.projectId, this.scope.connectorId) as SqliteConnectionRunRow[]
153
+ return rows.map(connectionRunFromRow)
154
+ }
155
+
146
156
  async getConnectionRun(id: string): Promise<ConnectorConnectionRunRecord | null> {
147
157
  const row = this.getById<SqliteConnectionRunRow>("connector_connection_runs", id)
148
158
  return row ? connectionRunFromRow(row) : null
@@ -411,7 +421,7 @@ function authorizationAttemptFromRow(
411
421
  slot: row.slot,
412
422
  initiatedByExecutionId: row.initiated_by_execution_id,
413
423
  stateHash: row.state_hash,
414
- codeVerifier: parseJson(row.code_verifier),
424
+ ...(row.code_verifier === null ? {} : { codeVerifier: parseJson(row.code_verifier) }),
415
425
  redirectUri: row.redirect_uri,
416
426
  ...(row.connection_run_id === null ? {} : { connectionRunId: row.connection_run_id }),
417
427
  ...(row.return_to === null ? {} : { returnTo: row.return_to }),
@@ -706,7 +716,7 @@ interface SqliteAuthorizationAttemptRow {
706
716
  readonly slot: string
707
717
  readonly initiated_by_execution_id: string
708
718
  readonly state_hash: string
709
- readonly code_verifier: string
719
+ readonly code_verifier: string | null
710
720
  readonly redirect_uri: string
711
721
  readonly connection_run_id: string | null
712
722
  readonly return_to: string | null
@@ -0,0 +1,44 @@
1
+ ALTER TABLE ontology_sources ADD COLUMN base_materialization_id TEXT;
2
+ ALTER TABLE ontology_sources ADD COLUMN base_commit_id TEXT
3
+ CHECK ((base_materialization_id IS NULL) = (base_commit_id IS NULL));
4
+
5
+ CREATE TABLE ontology_source_roots (
6
+ project_id TEXT NOT NULL,
7
+ source_id TEXT NOT NULL,
8
+ materialization_id TEXT NOT NULL,
9
+ root_sort_key TEXT NOT NULL,
10
+ root_kind TEXT NOT NULL CHECK (root_kind IN ('object', 'link')),
11
+ root_key TEXT NOT NULL CHECK (json_valid(root_key)),
12
+ root TEXT NOT NULL CHECK (json_valid(root)),
13
+ staging_ordinal INTEGER NOT NULL CHECK (staging_ordinal >= 0),
14
+ deleted INTEGER NOT NULL DEFAULT 0 CHECK (deleted IN (0, 1)),
15
+ active INTEGER NOT NULL DEFAULT 0 CHECK (active IN (0, 1)),
16
+ retired_at TEXT,
17
+ PRIMARY KEY (project_id, source_id, materialization_id, root_sort_key),
18
+ UNIQUE (project_id, source_id, materialization_id, staging_ordinal),
19
+ FOREIGN KEY (project_id, source_id, materialization_id)
20
+ REFERENCES ontology_sources(project_id, source_id, materialization_id) ON DELETE RESTRICT,
21
+ CHECK (active = 0 OR (deleted = 0 AND retired_at IS NULL))
22
+ );
23
+ CREATE UNIQUE INDEX idx_ontology_source_roots_active
24
+ ON ontology_source_roots (project_id, source_id, root_sort_key) WHERE active = 1;
25
+ CREATE INDEX idx_ontology_source_roots_lookup
26
+ ON ontology_source_roots (project_id, root_sort_key, source_id) WHERE active = 1;
27
+ CREATE INDEX idx_ontology_source_roots_cleanup
28
+ ON ontology_source_roots (project_id, retired_at, source_id, materialization_id, root_sort_key)
29
+ WHERE active = 0 AND retired_at IS NOT NULL;
30
+
31
+ INSERT INTO ontology_source_roots (
32
+ project_id, source_id, materialization_id, root_sort_key, root_kind, root_key, root,
33
+ staging_ordinal, active, retired_at
34
+ )
35
+ SELECT DISTINCT rows.project_id, rows.source_id, rows.materialization_id,
36
+ rows.root_sort_key, rows.root_kind, rows.root_key, rows.root, rows.staging_ordinal,
37
+ sources.status = 'active', sources.terminal_at
38
+ FROM ontology_source_rows AS rows
39
+ JOIN ontology_sources AS sources USING (project_id, source_id, materialization_id);
40
+
41
+ ANALYZE ontology_source_roots;
42
+
43
+ ALTER TABLE projection_runs ADD COLUMN source_changes_read INTEGER
44
+ CHECK (source_changes_read IS NULL OR source_changes_read >= 0);
@@ -0,0 +1,52 @@
1
+ -- Rebuild to remove NOT NULL while preserving existing attempts and their constraints.
2
+ CREATE TABLE connector_authorization_attempts_optional_pkce (
3
+ project_id TEXT NOT NULL,
4
+ connector_id TEXT NOT NULL,
5
+ id TEXT NOT NULL,
6
+ slot TEXT NOT NULL,
7
+ initiated_by_execution_id TEXT NOT NULL,
8
+ state_hash TEXT NOT NULL,
9
+ code_verifier TEXT CHECK (
10
+ code_verifier IS NULL
11
+ OR (json_valid(code_verifier) AND json_type(code_verifier) = 'object')
12
+ ),
13
+ redirect_uri TEXT NOT NULL,
14
+ connection_run_id TEXT,
15
+ return_to TEXT,
16
+ callback_binding_hash TEXT,
17
+ reauthorization_id TEXT,
18
+ reauthorization_revision INTEGER CHECK (
19
+ reauthorization_revision IS NULL OR reauthorization_revision >= 0
20
+ ),
21
+ reauthorization_connection_ids TEXT CHECK (
22
+ reauthorization_connection_ids IS NULL
23
+ OR (json_valid(reauthorization_connection_ids) AND json_type(reauthorization_connection_ids) = 'array')
24
+ ),
25
+ created_at TEXT NOT NULL,
26
+ expires_at TEXT NOT NULL,
27
+ PRIMARY KEY (project_id, connector_id, id),
28
+ UNIQUE (project_id, id),
29
+ UNIQUE (project_id, connector_id, connection_run_id),
30
+ FOREIGN KEY (project_id, connector_id, connection_run_id)
31
+ REFERENCES connector_connection_runs (project_id, connector_id, id)
32
+ ON DELETE RESTRICT,
33
+ CHECK (
34
+ (connection_run_id IS NULL AND return_to IS NULL AND callback_binding_hash IS NULL)
35
+ OR
36
+ (connection_run_id IS NOT NULL AND return_to IS NOT NULL AND callback_binding_hash IS NOT NULL)
37
+ ),
38
+ CHECK (
39
+ (reauthorization_id IS NULL AND reauthorization_revision IS NULL AND reauthorization_connection_ids IS NULL)
40
+ OR
41
+ (reauthorization_id IS NOT NULL AND reauthorization_revision IS NOT NULL AND reauthorization_connection_ids IS NOT NULL)
42
+ )
43
+ );
44
+
45
+ INSERT INTO connector_authorization_attempts_optional_pkce
46
+ SELECT * FROM connector_authorization_attempts;
47
+
48
+ DROP TABLE connector_authorization_attempts;
49
+ ALTER TABLE connector_authorization_attempts_optional_pkce RENAME TO connector_authorization_attempts;
50
+
51
+ CREATE INDEX idx_connector_attempts_expiry
52
+ ON connector_authorization_attempts (project_id, connector_id, expires_at);
@@ -0,0 +1,8 @@
1
+ -- Match the bounded claim order without sorting the entire unpublished backlog.
2
+ -- Cover every selection predicate so new databases also benefit before ANALYZE.
3
+ CREATE INDEX idx_ontology_outbox_publication_order
4
+ ON ontology_outbox(
5
+ project_id, published_at, created_at, commit_id, commit_ordinal,
6
+ available_at, lease_expires_at
7
+ )
8
+ WHERE published_at IS NULL;
package/src/migrations.ts CHANGED
@@ -90,6 +90,12 @@ import deviceAuthorizationsSql from "./migrations/034-device-authorizations.sql"
90
90
  }
91
91
  import shareGrantsSql from "./migrations/035-share-grants.sql" with { type: "text" }
92
92
  import shareSessionsSql from "./migrations/036-share-sessions.sql" with { type: "text" }
93
+ import projectionSourceRootsSql from "./migrations/038-projection-source-roots.sql" with {
94
+ type: "text",
95
+ }
96
+ import outboxPublicationOrderSql from "./migrations/040-outbox-publication-order.sql" with {
97
+ type: "text",
98
+ }
93
99
 
94
100
  const MIGRATIONS_TABLE_SQL = `
95
101
  CREATE TABLE IF NOT EXISTS sixb_migrations (
@@ -182,6 +188,9 @@ export const sqliteStorageMigrations = defineMigrations({
182
188
  sqliteSql("035-share-grants", shareGrantsSql),
183
189
  sqliteSql("036-share-sessions", shareSessionsSql),
184
190
  sqliteSql("037-execution-requester-groups", executionRequesterGroupsSql),
191
+ sqliteSql("038-projection-source-roots", projectionSourceRootsSql),
192
+ sqliteSql("039-connector-optional-pkce", connectorOptionalPkceSql),
193
+ sqliteSql("040-outbox-publication-order", outboxPublicationOrderSql),
185
194
  ],
186
195
  })
187
196
 
@@ -401,3 +410,7 @@ function rollbackQuietly(db: Database): void {
401
410
  import executionRequesterGroupsSql from "./migrations/037-execution-requester-groups.sql" with {
402
411
  type: "text",
403
412
  }
413
+
414
+ import connectorOptionalPkceSql from "./migrations/039-connector-optional-pkce.sql" with {
415
+ type: "text",
416
+ }
@@ -44,6 +44,7 @@ import {
44
44
  type SqliteOntologySourceAssertionRow,
45
45
  type SqliteStoredOverrideRow,
46
46
  } from "./shared"
47
+ import { activeSourceRows, replacementAssertionRows, replacementSourceRows } from "./source-roots"
47
48
 
48
49
  export const SQLITE_MATERIALIZATION_WORK_TABLE = "ontology_materialization_work"
49
50
  export const SQLITE_REPLACEMENT_WORK_TABLE = "ontology_replacement_work"
@@ -142,6 +143,7 @@ export type ReplacementIdentity =
142
143
  }
143
144
 
144
145
  interface ReplacementIdentityInput {
146
+ readonly incremental?: boolean
145
147
  readonly sessionId: string
146
148
  readonly sourceId: string
147
149
  readonly candidateMaterializationId: string
@@ -195,22 +197,11 @@ export class SqliteMaterializationStateReader {
195
197
  AND objects.primary_id = requested.primary_id`
196
198
  )
197
199
  .all(requested, this.projectId) as EffectiveObjectRow[]
198
- const sourceRows = this.db
199
- .query(
200
- `WITH requested AS (${requestedObjects})
201
- SELECT rows.* FROM requested
202
- CROSS JOIN ontology_source_rows AS rows
203
- ON rows.project_id = ?
204
- AND rows.entity_kind = 'object'
205
- AND rows.object_type_id = requested.object_type_id
206
- AND rows.primary_id = requested.primary_id
207
- JOIN ontology_sources AS sources
208
- ON sources.project_id = rows.project_id
209
- AND sources.source_id = rows.source_id
210
- AND sources.materialization_id = rows.materialization_id
211
- WHERE sources.status = 'active'`
212
- )
213
- .all(requested, this.projectId) as SqliteOntologySourceAssertionRow[]
200
+ const sourceRows = activeSourceRows(
201
+ this.db,
202
+ this.projectId,
203
+ refs.map((ref) => ({ kind: "object", ref }))
204
+ )
214
205
  const overrideRows = this.db
215
206
  .query(
216
207
  `WITH requested AS (${requestedObjects})
@@ -321,25 +312,11 @@ export class SqliteMaterializationStateReader {
321
312
  AND links.target_id = requested.target_id`
322
313
  )
323
314
  .all(requested, this.projectId) as EffectiveLinkRow[]
324
- const sourceRows = this.db
325
- .query(
326
- `WITH requested AS (${sourceRequest})
327
- SELECT rows.* FROM requested
328
- CROSS JOIN ontology_source_rows AS rows
329
- ON rows.project_id = ?
330
- AND rows.entity_kind = 'link'
331
- AND rows.source_type_id = requested.source_type_id
332
- AND rows.source_primary_id = requested.source_primary_id
333
- AND rows.link_id = requested.link_id
334
- AND rows.target_type_id = requested.target_type_id
335
- AND rows.target_primary_id = requested.target_primary_id
336
- JOIN ontology_sources AS sources
337
- ON sources.project_id = rows.project_id
338
- AND sources.source_id = rows.source_id
339
- AND sources.materialization_id = rows.materialization_id
340
- WHERE sources.status = 'active'`
341
- )
342
- .all(requested, this.projectId) as SqliteOntologySourceAssertionRow[]
315
+ const sourceRows = activeSourceRows(
316
+ this.db,
317
+ this.projectId,
318
+ refs.map((ref) => ({ kind: "link", ref }))
319
+ )
343
320
  const overrideRows = this.db
344
321
  .query(
345
322
  `WITH requested AS (${sourceRequest})
@@ -468,11 +445,12 @@ export class SqliteMaterializationStateReader {
468
445
  AND rows.source_type_id = requested.source_type_id
469
446
  AND rows.source_primary_id = requested.source_primary_id
470
447
  AND rows.link_id = requested.link_id
471
- JOIN ontology_sources AS sources
448
+ JOIN ontology_source_roots AS sources
472
449
  ON sources.project_id = rows.project_id
473
450
  AND sources.source_id = rows.source_id
474
451
  AND sources.materialization_id = rows.materialization_id
475
- WHERE sources.status = 'active'`
452
+ AND sources.root_sort_key = rows.root_sort_key
453
+ WHERE sources.active = 1`
476
454
  )
477
455
  .all(requestedJson, this.projectId) as SqliteOntologySourceAssertionRow[]
478
456
  const slotOverrideRows = this.db
@@ -592,11 +570,12 @@ export class SqliteMaterializationStateReader {
592
570
  SELECT rows.source_type_id, rows.source_primary_id, rows.link_id,
593
571
  rows.target_type_id, rows.target_primary_id
594
572
  FROM ontology_source_rows AS rows
595
- JOIN ontology_sources AS sources
573
+ JOIN ontology_source_roots AS sources
596
574
  ON sources.project_id = rows.project_id
597
575
  AND sources.source_id = rows.source_id
598
576
  AND sources.materialization_id = rows.materialization_id
599
- WHERE rows.project_id = ? AND rows.entity_kind = 'link' AND sources.status = 'active'
577
+ AND sources.root_sort_key = rows.root_sort_key
578
+ WHERE rows.project_id = ? AND rows.entity_kind = 'link' AND sources.active = 1
600
579
  ), selected AS (
601
580
  SELECT DISTINCT links.*,
602
581
  ${linkSortExpression("links")} AS sort_key
@@ -671,14 +650,16 @@ export class SqliteMaterializationStateReader {
671
650
  sourceId: string,
672
651
  candidateMaterializationId: string,
673
652
  materializationIds: readonly string[],
674
- identities: readonly Extract<ReplacementIdentity, { readonly kind: "link" }>[]
653
+ identities: readonly Extract<ReplacementIdentity, { readonly kind: "link" }>[],
654
+ incremental = false
675
655
  ): readonly SourceReplacementLinkState[] {
676
656
  const refs = identities.map((identity) => identity.ref)
677
657
  const base = this.linkStates(refs)
678
658
  const replacements = this.replacementSources(
679
659
  sourceId,
680
660
  materializationIds,
681
- refs.map((ref) => ({ kind: "link" as const, ref }))
661
+ refs.map((ref) => ({ kind: "link" as const, ref })),
662
+ incremental
682
663
  )
683
664
  const candidate = replacements.byMaterialization.get(candidateMaterializationId)
684
665
  return base.map((state, index) => {
@@ -735,39 +716,20 @@ export class SqliteMaterializationStateReader {
735
716
  private replacementSources(
736
717
  sourceId: string,
737
718
  materializationIds: readonly string[],
738
- refs: readonly ProjectionEntityRef[]
719
+ refs: readonly ProjectionEntityRef[],
720
+ incremental = false
739
721
  ): ReplacementSources {
740
722
  if (materializationIds.length === 0 || refs.length === 0) {
741
723
  return { owned: new Set(), byMaterialization: new Map() }
742
724
  }
743
- const requestedEntities = canonicalJson(
744
- refs.map((ref) => ({ entityKind: ref.kind, entityKey: projectionEntityKey(ref) }))
745
- )
746
- const requestedMaterializations = canonicalJson([...new Set(materializationIds)])
747
- const rows = this.db
748
- .query(
749
- `WITH requested_entities AS (
750
- SELECT DISTINCT json_extract(value, '$.entityKind') AS entity_kind,
751
- json_extract(value, '$.entityKey') AS entity_key
752
- FROM json_each(?)
753
- ), requested_materializations AS (
754
- SELECT value AS materialization_id FROM json_each(?)
755
- )
756
- SELECT rows.* FROM requested_materializations
757
- CROSS JOIN requested_entities
758
- CROSS JOIN ontology_source_rows AS rows
759
- ON rows.project_id = ?
760
- AND rows.source_id = ?
761
- AND rows.materialization_id = requested_materializations.materialization_id
762
- AND rows.entity_kind = requested_entities.entity_kind
763
- AND rows.entity_key = requested_entities.entity_key`
764
- )
765
- .all(
766
- requestedEntities,
767
- requestedMaterializations,
768
- this.projectId,
769
- sourceId
770
- ) as SqliteOntologySourceAssertionRow[]
725
+ const rows = replacementAssertionRows(this.db, {
726
+ projectId: this.projectId,
727
+ sourceId,
728
+ materializationId: materializationIds[0]!,
729
+ incremental,
730
+ includePrevious: materializationIds.length > 1,
731
+ refs,
732
+ })
771
733
  const owned = new Set<string>()
772
734
  const byMaterialization = new Map<string, Map<string, StoredSourceAssertion>>()
773
735
  for (const row of rows) {
@@ -790,6 +752,12 @@ export class SqliteMaterializationStateReader {
790
752
  }
791
753
 
792
754
  private prepareReplacementObjects(input: ReplacementIdentityInput): void {
755
+ const rows = replacementSourceRows({
756
+ projectId: this.projectId,
757
+ sourceId: input.sourceId,
758
+ materializationId: input.candidateMaterializationId,
759
+ incremental: input.incremental ?? false,
760
+ })
793
761
  this.db
794
762
  .query(
795
763
  `
@@ -798,22 +766,21 @@ export class SqliteMaterializationStateReader {
798
766
  )
799
767
  SELECT ?, 'object', json_array(object_type_id, primary_id),
800
768
  MIN(entity_sort_key), 1
801
- FROM ontology_source_rows
802
- WHERE project_id = ? AND source_id = ? AND entity_kind = 'object'
803
- AND materialization_id IN (?, COALESCE(?, ''))
769
+ FROM (${rows.sql}) AS rows
770
+ WHERE entity_kind = 'object'
804
771
  GROUP BY object_type_id, primary_id
805
772
  `
806
773
  )
807
- .run(
808
- input.sessionId,
809
- this.projectId,
810
- input.sourceId,
811
- input.candidateMaterializationId,
812
- input.previousMaterializationId
813
- )
774
+ .run(input.sessionId, ...rows.values)
814
775
  }
815
776
 
816
777
  private prepareReplacementLinks(input: ReplacementIdentityInput): void {
778
+ const rows = replacementSourceRows({
779
+ projectId: this.projectId,
780
+ sourceId: input.sourceId,
781
+ materializationId: input.candidateMaterializationId,
782
+ incremental: input.incremental ?? false,
783
+ })
817
784
  this.db
818
785
  .query(
819
786
  `
@@ -826,9 +793,8 @@ export class SqliteMaterializationStateReader {
826
793
  ), replacement_links AS (
827
794
  SELECT source_type_id, source_primary_id AS source_id, link_id,
828
795
  target_type_id, target_primary_id AS target_id
829
- FROM ontology_source_rows
830
- WHERE project_id = ? AND source_id = ? AND entity_kind = 'link'
831
- AND materialization_id IN (?, COALESCE(?, ''))
796
+ FROM (${rows.sql}) AS rows
797
+ WHERE entity_kind = 'link'
832
798
  ), incident_links AS (
833
799
  SELECT links.source_type_id, links.source_id, links.link_id,
834
800
  links.target_type_id, links.target_id
@@ -869,28 +835,30 @@ export class SqliteMaterializationStateReader {
869
835
  SELECT rows.source_type_id, rows.source_primary_id AS source_id,
870
836
  rows.link_id, rows.target_type_id, rows.target_primary_id AS target_id
871
837
  FROM ontology_source_rows AS rows
872
- JOIN ontology_sources AS sources
838
+ JOIN ontology_source_roots AS sources
873
839
  ON sources.project_id = rows.project_id
874
840
  AND sources.source_id = rows.source_id
875
841
  AND sources.materialization_id = rows.materialization_id
842
+ AND sources.root_sort_key = rows.root_sort_key
876
843
  JOIN incident_objects
877
844
  ON incident_objects.object_type_id = rows.source_type_id
878
845
  AND incident_objects.primary_id = rows.source_primary_id
879
846
  WHERE rows.project_id = ? AND rows.entity_kind = 'link'
880
- AND sources.status = 'active'
847
+ AND sources.active = 1
881
848
  UNION
882
849
  SELECT rows.source_type_id, rows.source_primary_id AS source_id,
883
850
  rows.link_id, rows.target_type_id, rows.target_primary_id AS target_id
884
851
  FROM ontology_source_rows AS rows
885
- JOIN ontology_sources AS sources
852
+ JOIN ontology_source_roots AS sources
886
853
  ON sources.project_id = rows.project_id
887
854
  AND sources.source_id = rows.source_id
888
855
  AND sources.materialization_id = rows.materialization_id
856
+ AND sources.root_sort_key = rows.root_sort_key
889
857
  JOIN incident_objects
890
858
  ON incident_objects.object_type_id = rows.target_type_id
891
859
  AND incident_objects.primary_id = rows.target_primary_id
892
860
  WHERE rows.project_id = ? AND rows.entity_kind = 'link'
893
- AND sources.status = 'active'
861
+ AND sources.active = 1
894
862
  ), diff_links AS (
895
863
  SELECT * FROM replacement_links
896
864
  UNION SELECT * FROM incident_links
@@ -932,10 +900,7 @@ export class SqliteMaterializationStateReader {
932
900
  )
933
901
  .run(
934
902
  input.sessionId,
935
- this.projectId,
936
- input.sourceId,
937
- input.candidateMaterializationId,
938
- input.previousMaterializationId,
903
+ ...rows.values,
939
904
  this.projectId,
940
905
  this.projectId,
941
906
  this.projectId,