@sixb/sqlite 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (152) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +57 -0
  3. package/dist/action-run-storage.d.ts +29 -0
  4. package/dist/action-run-storage.d.ts.map +1 -0
  5. package/dist/agents/agent-storage.d.ts +25 -0
  6. package/dist/agents/agent-storage.d.ts.map +1 -0
  7. package/dist/agents/index.d.ts +6 -0
  8. package/dist/agents/index.d.ts.map +1 -0
  9. package/dist/agents/messages.d.ts +14 -0
  10. package/dist/agents/messages.d.ts.map +1 -0
  11. package/dist/agents/rows.d.ts +77 -0
  12. package/dist/agents/rows.d.ts.map +1 -0
  13. package/dist/agents/runs.d.ts +26 -0
  14. package/dist/agents/runs.d.ts.map +1 -0
  15. package/dist/agents/threads.d.ts +14 -0
  16. package/dist/agents/threads.d.ts.map +1 -0
  17. package/dist/auth-storage/access-tokens.d.ts +33 -0
  18. package/dist/auth-storage/access-tokens.d.ts.map +1 -0
  19. package/dist/auth-storage/auth-storage.d.ts +46 -0
  20. package/dist/auth-storage/auth-storage.d.ts.map +1 -0
  21. package/dist/auth-storage/group-memberships.d.ts +21 -0
  22. package/dist/auth-storage/group-memberships.d.ts.map +1 -0
  23. package/dist/auth-storage/identities.d.ts +17 -0
  24. package/dist/auth-storage/identities.d.ts.map +1 -0
  25. package/dist/auth-storage/index.d.ts +3 -0
  26. package/dist/auth-storage/index.d.ts.map +1 -0
  27. package/dist/auth-storage/invitations.d.ts +28 -0
  28. package/dist/auth-storage/invitations.d.ts.map +1 -0
  29. package/dist/auth-storage/magic-links.d.ts +28 -0
  30. package/dist/auth-storage/magic-links.d.ts.map +1 -0
  31. package/dist/auth-storage/oidc-attempts.d.ts +18 -0
  32. package/dist/auth-storage/oidc-attempts.d.ts.map +1 -0
  33. package/dist/auth-storage/rows.d.ts +134 -0
  34. package/dist/auth-storage/rows.d.ts.map +1 -0
  35. package/dist/auth-storage/service-account-group-memberships.d.ts +17 -0
  36. package/dist/auth-storage/service-account-group-memberships.d.ts.map +1 -0
  37. package/dist/auth-storage/service-accounts.d.ts +14 -0
  38. package/dist/auth-storage/service-accounts.d.ts.map +1 -0
  39. package/dist/auth-storage/sessions.d.ts +55 -0
  40. package/dist/auth-storage/sessions.d.ts.map +1 -0
  41. package/dist/auth-storage/shared.d.ts +131 -0
  42. package/dist/auth-storage/shared.d.ts.map +1 -0
  43. package/dist/auth-storage/users.d.ts +19 -0
  44. package/dist/auth-storage/users.d.ts.map +1 -0
  45. package/dist/index.d.ts +71 -0
  46. package/dist/index.d.ts.map +1 -0
  47. package/dist/index.js +10204 -0
  48. package/dist/index.js.map +54 -0
  49. package/dist/latest-run-query.d.ts +22 -0
  50. package/dist/latest-run-query.d.ts.map +1 -0
  51. package/dist/migrations.d.ts +18 -0
  52. package/dist/migrations.d.ts.map +1 -0
  53. package/dist/object-query-compiler.d.ts +44 -0
  54. package/dist/object-query-compiler.d.ts.map +1 -0
  55. package/dist/object-storage.d.ts +93 -0
  56. package/dist/object-storage.d.ts.map +1 -0
  57. package/dist/ontology-storage/commits.d.ts +14 -0
  58. package/dist/ontology-storage/commits.d.ts.map +1 -0
  59. package/dist/ontology-storage/index.d.ts +22 -0
  60. package/dist/ontology-storage/index.d.ts.map +1 -0
  61. package/dist/ontology-storage/materialization-session.d.ts +49 -0
  62. package/dist/ontology-storage/materialization-session.d.ts.map +1 -0
  63. package/dist/ontology-storage/materialization-state.d.ts +63 -0
  64. package/dist/ontology-storage/materialization-state.d.ts.map +1 -0
  65. package/dist/ontology-storage/materialization-writer.d.ts +15 -0
  66. package/dist/ontology-storage/materialization-writer.d.ts.map +1 -0
  67. package/dist/ontology-storage/materializations.d.ts +32 -0
  68. package/dist/ontology-storage/materializations.d.ts.map +1 -0
  69. package/dist/ontology-storage/outbox.d.ts +14 -0
  70. package/dist/ontology-storage/outbox.d.ts.map +1 -0
  71. package/dist/ontology-storage/shared.d.ts +91 -0
  72. package/dist/ontology-storage/shared.d.ts.map +1 -0
  73. package/dist/ontology-storage/sources.d.ts +26 -0
  74. package/dist/ontology-storage/sources.d.ts.map +1 -0
  75. package/dist/pipeline-run-storage.d.ts +26 -0
  76. package/dist/pipeline-run-storage.d.ts.map +1 -0
  77. package/dist/projection-run-storage.d.ts +32 -0
  78. package/dist/projection-run-storage.d.ts.map +1 -0
  79. package/dist/rules-storage.d.ts +33 -0
  80. package/dist/rules-storage.d.ts.map +1 -0
  81. package/dist/run-list-query.d.ts +27 -0
  82. package/dist/run-list-query.d.ts.map +1 -0
  83. package/dist/storage-errors.d.ts +2 -0
  84. package/dist/storage-errors.d.ts.map +1 -0
  85. package/dist/sync-run-storage.d.ts +23 -0
  86. package/dist/sync-run-storage.d.ts.map +1 -0
  87. package/dist/timeseries-storage.d.ts +41 -0
  88. package/dist/timeseries-storage.d.ts.map +1 -0
  89. package/dist/transactions.d.ts +15 -0
  90. package/dist/transactions.d.ts.map +1 -0
  91. package/dist/tsconfig.json +5 -0
  92. package/dist/validation.d.ts +5 -0
  93. package/dist/validation.d.ts.map +1 -0
  94. package/dist/webhook-delivery-storage.d.ts +27 -0
  95. package/dist/webhook-delivery-storage.d.ts.map +1 -0
  96. package/dist/webhook-run-storage.d.ts +22 -0
  97. package/dist/webhook-run-storage.d.ts.map +1 -0
  98. package/dist/workflow-intervention-storage.d.ts +26 -0
  99. package/dist/workflow-intervention-storage.d.ts.map +1 -0
  100. package/dist/workflow-run-storage.d.ts +63 -0
  101. package/dist/workflow-run-storage.d.ts.map +1 -0
  102. package/package.json +58 -0
  103. package/src/action-run-storage.ts +761 -0
  104. package/src/agents/agent-storage.ts +46 -0
  105. package/src/agents/index.ts +5 -0
  106. package/src/agents/messages.ts +162 -0
  107. package/src/agents/rows.ts +205 -0
  108. package/src/agents/runs.ts +389 -0
  109. package/src/agents/threads.ts +133 -0
  110. package/src/auth-storage/access-tokens.ts +289 -0
  111. package/src/auth-storage/auth-storage.ts +784 -0
  112. package/src/auth-storage/group-memberships.ts +52 -0
  113. package/src/auth-storage/identities.ts +98 -0
  114. package/src/auth-storage/index.ts +2 -0
  115. package/src/auth-storage/invitations.ts +258 -0
  116. package/src/auth-storage/magic-links.ts +149 -0
  117. package/src/auth-storage/oidc-attempts.ts +109 -0
  118. package/src/auth-storage/rows.ts +338 -0
  119. package/src/auth-storage/service-account-group-memberships.ts +161 -0
  120. package/src/auth-storage/service-accounts.ts +168 -0
  121. package/src/auth-storage/sessions.ts +230 -0
  122. package/src/auth-storage/shared.ts +707 -0
  123. package/src/auth-storage/users.ts +226 -0
  124. package/src/index.ts +292 -0
  125. package/src/latest-run-query.ts +49 -0
  126. package/src/migrations/001-initial-schema.sql +1068 -0
  127. package/src/migrations.ts +245 -0
  128. package/src/object-query-compiler.ts +1198 -0
  129. package/src/object-storage.ts +605 -0
  130. package/src/ontology-storage/commits.ts +127 -0
  131. package/src/ontology-storage/index.ts +35 -0
  132. package/src/ontology-storage/materialization-session.ts +393 -0
  133. package/src/ontology-storage/materialization-state.ts +901 -0
  134. package/src/ontology-storage/materialization-writer.ts +394 -0
  135. package/src/ontology-storage/materializations.ts +838 -0
  136. package/src/ontology-storage/outbox.ts +237 -0
  137. package/src/ontology-storage/shared.ts +269 -0
  138. package/src/ontology-storage/sources.ts +653 -0
  139. package/src/pipeline-run-storage.ts +506 -0
  140. package/src/projection-run-storage.ts +592 -0
  141. package/src/rules-storage.ts +375 -0
  142. package/src/run-list-query.ts +98 -0
  143. package/src/sql.d.ts +4 -0
  144. package/src/storage-errors.ts +3 -0
  145. package/src/sync-run-storage.ts +299 -0
  146. package/src/timeseries-storage.ts +212 -0
  147. package/src/transactions.ts +96 -0
  148. package/src/validation.ts +30 -0
  149. package/src/webhook-delivery-storage.ts +272 -0
  150. package/src/webhook-run-storage.ts +240 -0
  151. package/src/workflow-intervention-storage.ts +398 -0
  152. package/src/workflow-run-storage.ts +1148 -0
@@ -0,0 +1,22 @@
1
+ import type { Database } from "bun:sqlite";
2
+ type SqliteLatestRunTarget = {
3
+ readonly tableName: "pipeline_runs";
4
+ readonly ownerColumn: "pipeline_id";
5
+ } | {
6
+ readonly tableName: "projection_runs";
7
+ readonly ownerColumn: "projection_id";
8
+ } | {
9
+ readonly tableName: "sync_runs";
10
+ readonly ownerColumn: "sync_id";
11
+ } | {
12
+ readonly tableName: "workflow_runs";
13
+ readonly ownerColumn: "workflow_id";
14
+ };
15
+ export declare function queryLatestRunsByOwnerId<TRow>(input: {
16
+ readonly db: Database;
17
+ readonly ownerIds: readonly string[];
18
+ readonly projectId: string;
19
+ readonly ownerIdFor: (row: TRow) => string;
20
+ } & SqliteLatestRunTarget): readonly TRow[];
21
+ export {};
22
+ //# sourceMappingURL=latest-run-query.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"latest-run-query.d.ts","sourceRoot":"","sources":["../src/latest-run-query.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAG1C,KAAK,qBAAqB,GACtB;IAAE,QAAQ,CAAC,SAAS,EAAE,eAAe,CAAC;IAAC,QAAQ,CAAC,WAAW,EAAE,aAAa,CAAA;CAAE,GAC5E;IAAE,QAAQ,CAAC,SAAS,EAAE,iBAAiB,CAAC;IAAC,QAAQ,CAAC,WAAW,EAAE,eAAe,CAAA;CAAE,GAChF;IAAE,QAAQ,CAAC,SAAS,EAAE,WAAW,CAAC;IAAC,QAAQ,CAAC,WAAW,EAAE,SAAS,CAAA;CAAE,GACpE;IAAE,QAAQ,CAAC,SAAS,EAAE,eAAe,CAAC;IAAC,QAAQ,CAAC,WAAW,EAAE,aAAa,CAAA;CAAE,CAAA;AAEhF,wBAAgB,wBAAwB,CAAC,IAAI,EAC3C,KAAK,EAAE;IACL,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAA;IACrB,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAA;IACpC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,UAAU,EAAE,CAAC,GAAG,EAAE,IAAI,KAAK,MAAM,CAAA;CAC3C,GAAG,qBAAqB,GACxB,SAAS,IAAI,EAAE,CAgCjB"}
@@ -0,0 +1,18 @@
1
+ import { Database } from "bun:sqlite";
2
+ import type { StorageMigrator } from "@sixb/core";
3
+ import type { MigrationSet, MigrationStep, MigrationStepOptions } from "@sixb/core/storage";
4
+ export declare const SQLITE_STORAGE_ADAPTER_ID = "SixbSqliteStorage";
5
+ export declare const SQLITE_STORAGE_FILE = "storage.sqlite";
6
+ export declare const sqliteStorageMigrations: MigrationSet<Database>;
7
+ export declare function sqliteStoragePath(basePath: string): string;
8
+ export declare function sqliteSql(id: string, sqlText: string): MigrationStep<Database>;
9
+ export declare function sqliteStep(id: string, up: (db: Database) => void | Promise<void>, options?: MigrationStepOptions): MigrationStep<Database>;
10
+ export declare function installFreshSqliteSchema(db: Database): void;
11
+ export declare function createSqliteStorageMigrators(basePath: string): readonly StorageMigrator[];
12
+ export declare function createSqliteMigrator(params: {
13
+ readonly path: string;
14
+ readonly migrations: MigrationSet<Database>;
15
+ }): StorageMigrator;
16
+ export declare function migrateSqliteStorage(basePath: string): Promise<void>;
17
+ export declare function migrateSqliteDatabase(path: string): Promise<void>;
18
+ //# sourceMappingURL=migrations.d.ts.map
@@ -0,0 +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;AAsB3B,eAAO,MAAM,yBAAyB,sBAAsB,CAAA;AAC5D,eAAO,MAAM,mBAAmB,mBAAmB,CAAA;AAEnD,eAAO,MAAM,uBAAuB,wBAGlC,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;AAED,wBAAsB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAEvE"}
@@ -0,0 +1,44 @@
1
+ import { type ObjectQuery } from "@sixb/core";
2
+ export type SqliteValue = string | number | bigint | boolean | null;
3
+ export interface SqliteObjectQueryPageRow {
4
+ object_type_id: string;
5
+ primary_id: string;
6
+ properties: string;
7
+ _cursor_properties?: string;
8
+ }
9
+ export interface CompiledObjectQuery {
10
+ sql: string;
11
+ args: SqliteValue[];
12
+ totalSql: string;
13
+ totalArgs: SqliteValue[];
14
+ order: CompiledOrder;
15
+ hasMoreProbe?: CompiledHasMoreProbe;
16
+ hasMore(rowCount: number, total?: number): boolean;
17
+ trimRows<T>(rows: readonly T[]): readonly T[];
18
+ nextPageToken(rows: readonly SqliteObjectQueryPageRow[], rowCount: number): string | undefined;
19
+ }
20
+ interface CompiledHasMoreProbe {
21
+ sql: string;
22
+ args: SqliteValue[];
23
+ hasMore(rowCount: number): boolean;
24
+ }
25
+ interface CompiledOrder {
26
+ sql: string;
27
+ args: SqliteValue[];
28
+ fields: readonly CompiledOrderField[];
29
+ propertyColumn: string;
30
+ }
31
+ type CompiledOrderField = {
32
+ kind: "property";
33
+ propertyId: string;
34
+ direction: "asc" | "desc";
35
+ } | {
36
+ kind: "column";
37
+ column: "object_type_id" | "primary_id";
38
+ direction: "asc" | "desc";
39
+ };
40
+ export declare function compileObjectQuery(projectId: string, query: ObjectQuery, options?: {
41
+ includeTotal?: boolean;
42
+ }): CompiledObjectQuery;
43
+ export {};
44
+ //# sourceMappingURL=object-query-compiler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"object-query-compiler.d.ts","sourceRoot":"","sources":["../src/object-query-compiler.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,WAAW,EAKjB,MAAM,YAAY,CAAA;AAEnB,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAA;AAEnE,MAAM,WAAW,wBAAwB;IACvC,cAAc,EAAE,MAAM,CAAA;IACtB,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,EAAE,MAAM,CAAA;IAClB,kBAAkB,CAAC,EAAE,MAAM,CAAA;CAC5B;AAED,MAAM,WAAW,mBAAmB;IAClC,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,EAAE,WAAW,EAAE,CAAA;IACnB,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,EAAE,WAAW,EAAE,CAAA;IACxB,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,wBAAwB,EAAE,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAA;CAC/F;AAED,UAAU,oBAAoB;IAC5B,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,EAAE,WAAW,EAAE,CAAA;IACnB,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAA;CACnC;AAWD,UAAU,aAAa;IACrB,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,EAAE,WAAW,EAAE,CAAA;IACnB,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;CAC1B,GACD;IACE,IAAI,EAAE,QAAQ,CAAA;IACd,MAAM,EAAE,gBAAgB,GAAG,YAAY,CAAA;IACvC,SAAS,EAAE,KAAK,GAAG,MAAM,CAAA;CAC1B,CAAA;AAqBL,wBAAgB,kBAAkB,CAChC,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,WAAW,EAClB,OAAO,GAAE;IAAE,YAAY,CAAC,EAAE,OAAO,CAAA;CAAO,GACvC,mBAAmB,CAGrB"}
@@ -0,0 +1,93 @@
1
+ import type { CountObjectsInput, CountObjectsResult, ExistsObjectsInput, ExistsObjectsResult, FacetObjectsInput, FacetObjectsResult, LinkDirection, ObjectLinkRow, ObjectQueryCapabilities, ObjectRow, ObjectStorage, QueryObjectsInput, QueryObjectsResult } from "@sixb/core/storage";
2
+ import { type SqliteStoreConnection } from "./transactions";
3
+ export interface SqliteObjectStorageOptions {
4
+ /** Path to SQLite database file. Defaults to ':memory:' for in-memory database. */
5
+ path?: string;
6
+ /** Internal shared connection used by bundled SqliteStorage. */
7
+ connection?: SqliteStoreConnection;
8
+ }
9
+ /**
10
+ * SQLite-based ObjectStorage implementation.
11
+ *
12
+ * Stores object projections and links. V1 object-query IR pushdown covers the
13
+ * scalar JSON-property and link-traversal subset declared by queryCapabilities().
14
+ */
15
+ export declare class SqliteObjectStorage implements ObjectStorage {
16
+ private readonly connection;
17
+ private readonly db;
18
+ constructor(options?: SqliteObjectStorageOptions);
19
+ queryCapabilities(): ObjectQueryCapabilities;
20
+ queryObjects(params: QueryObjectsInput): Promise<QueryObjectsResult>;
21
+ countObjects(params: CountObjectsInput): Promise<CountObjectsResult>;
22
+ existsObjects(params: ExistsObjectsInput): Promise<ExistsObjectsResult>;
23
+ facetObjects(params: FacetObjectsInput): Promise<FacetObjectsResult>;
24
+ getByPrimaryId(params: {
25
+ projectId: string;
26
+ objectTypeId: string;
27
+ primaryId: string;
28
+ }): Promise<ObjectRow | null>;
29
+ listLinks(params: {
30
+ projectId: string;
31
+ objectTypeId: string;
32
+ objectId: string;
33
+ linkId?: string;
34
+ direction?: LinkDirection;
35
+ }): Promise<readonly ObjectLinkRow[]>;
36
+ getByPrimaryIdBatch(params: {
37
+ projectId: string;
38
+ items: readonly {
39
+ objectTypeId: string;
40
+ primaryId: string;
41
+ }[];
42
+ }): Promise<Map<string, ObjectRow>>;
43
+ listLinksBatch(params: {
44
+ projectId: string;
45
+ items: readonly {
46
+ objectTypeId: string;
47
+ objectId: string;
48
+ linkId: string;
49
+ }[];
50
+ }): Promise<Map<string, ObjectLinkRow[]>>;
51
+ listIncidentLinksBatch(params: {
52
+ projectId: string;
53
+ items: readonly {
54
+ objectTypeId: string;
55
+ objectId: string;
56
+ }[];
57
+ }): Promise<readonly ObjectLinkRow[]>;
58
+ listByPrimaryIdPage(params: {
59
+ projectId: string;
60
+ objectTypeId: string;
61
+ afterPrimaryId?: string;
62
+ limit: number;
63
+ }): Promise<{
64
+ objects: readonly ObjectRow[];
65
+ nextPrimaryId?: string;
66
+ }>;
67
+ list(params: {
68
+ projectId: string;
69
+ objectTypeId?: string | readonly string[];
70
+ primaryIdPrefix?: string;
71
+ primaryIdSuffix?: string;
72
+ updatedAfter?: Date;
73
+ updatedBefore?: Date;
74
+ createdAfter?: Date;
75
+ createdBefore?: Date;
76
+ limit?: number;
77
+ offset?: number;
78
+ orderBy?: "createdAt" | "updatedAt" | "primaryId";
79
+ order?: "asc" | "desc";
80
+ }): Promise<{
81
+ objects: readonly ObjectRow[];
82
+ hasMore: boolean;
83
+ total: number;
84
+ }>;
85
+ private rowToObject;
86
+ private queryRowToObject;
87
+ private rowToLink;
88
+ /**
89
+ * Close the database connection.
90
+ */
91
+ close(): void;
92
+ }
93
+ //# sourceMappingURL=object-storage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"object-storage.d.ts","sourceRoot":"","sources":["../src/object-storage.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ import type { Database } from "bun:sqlite";
2
+ import type { GetOntologyCommitByIdempotencyKeyInput, GetOntologyCommitByIdInput, GetOntologyCommitByOriginInput, ListOntologyCommitsInput, ListOntologyCommitsResult, OntologyCommitRecord, OntologyCommitStorage } from "@sixb/core/storage";
3
+ import { type SqliteRootOperation } from "./shared";
4
+ export declare class SqliteOntologyCommitStorage implements OntologyCommitStorage {
5
+ private readonly db;
6
+ private readonly runRootOperation;
7
+ constructor(db: Database, runRootOperation: SqliteRootOperation);
8
+ getByIdempotencyKey(input: GetOntologyCommitByIdempotencyKeyInput): Promise<OntologyCommitRecord | null>;
9
+ getById(input: GetOntologyCommitByIdInput): Promise<OntologyCommitRecord | null>;
10
+ getByOrigin(input: GetOntologyCommitByOriginInput): Promise<OntologyCommitRecord | null>;
11
+ list(input: ListOntologyCommitsInput): Promise<ListOntologyCommitsResult>;
12
+ private readOne;
13
+ }
14
+ //# sourceMappingURL=commits.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"commits.d.ts","sourceRoot":"","sources":["../../src/ontology-storage/commits.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAC1C,OAAO,KAAK,EACV,sCAAsC,EACtC,0BAA0B,EAC1B,8BAA8B,EAC9B,wBAAwB,EACxB,yBAAyB,EACzB,oBAAoB,EACpB,qBAAqB,EACtB,MAAM,oBAAoB,CAAA;AAC3B,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,mBAAmB,CACvB,KAAK,EAAE,sCAAsC,GAC5C,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC;IAYjC,OAAO,CAAC,KAAK,EAAE,0BAA0B,GAAG,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC;IAQhF,WAAW,CAAC,KAAK,EAAE,8BAA8B,GAAG,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC;IAyBxF,IAAI,CAAC,KAAK,EAAE,wBAAwB,GAAG,OAAO,CAAC,yBAAyB,CAAC;IA6C/E,OAAO,CAAC,OAAO;CAShB"}
@@ -0,0 +1,22 @@
1
+ import type { Database } from "bun:sqlite";
2
+ import type { OntologyStorage } from "@sixb/core/storage";
3
+ import { SqliteOntologyCommitStorage } from "./commits";
4
+ import type { SqliteOntologyTransactionContext } from "./materialization-session";
5
+ import { SqliteOntologyMaterializationStorage } from "./materializations";
6
+ import { SqliteOntologyOutboxStorage } from "./outbox";
7
+ import type { SqliteRootOperation } from "./shared";
8
+ import { SqliteOntologySourceStorage } from "./sources";
9
+ export declare class SqliteOntologyStorage implements OntologyStorage {
10
+ readonly commits: SqliteOntologyCommitStorage;
11
+ readonly sources: SqliteOntologySourceStorage;
12
+ readonly materializations: SqliteOntologyMaterializationStorage;
13
+ readonly outbox: SqliteOntologyOutboxStorage;
14
+ constructor(input: {
15
+ readonly db: Database;
16
+ readonly runRootOperation: SqliteRootOperation;
17
+ readonly transactionContext: SqliteOntologyTransactionContext | null;
18
+ });
19
+ deactivateSessions(): void;
20
+ }
21
+ export type { SqliteOntologyTransactionContext } from "./materialization-session";
22
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ontology-storage/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAC1C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACzD,OAAO,EAAE,2BAA2B,EAAE,MAAM,WAAW,CAAA;AACvD,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,2BAA2B,CAAA;AACjF,OAAO,EAAE,oCAAoC,EAAE,MAAM,oBAAoB,CAAA;AACzE,OAAO,EAAE,2BAA2B,EAAE,MAAM,UAAU,CAAA;AACtD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAA;AACnD,OAAO,EAAE,2BAA2B,EAAE,MAAM,WAAW,CAAA;AAEvD,qBAAa,qBAAsB,YAAW,eAAe;IAC3D,QAAQ,CAAC,OAAO,EAAE,2BAA2B,CAAA;IAC7C,QAAQ,CAAC,OAAO,EAAE,2BAA2B,CAAA;IAC7C,QAAQ,CAAC,gBAAgB,EAAE,oCAAoC,CAAA;IAC/D,QAAQ,CAAC,MAAM,EAAE,2BAA2B,CAAA;gBAEhC,KAAK,EAAE;QACjB,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAA;QACrB,QAAQ,CAAC,gBAAgB,EAAE,mBAAmB,CAAA;QAC9C,QAAQ,CAAC,kBAAkB,EAAE,gCAAgC,GAAG,IAAI,CAAA;KACrE;IAUD,kBAAkB,IAAI,IAAI;CAG3B;AAED,YAAY,EAAE,gCAAgC,EAAE,MAAM,2BAA2B,CAAA"}
@@ -0,0 +1,49 @@
1
+ import type { Database } from "bun:sqlite";
2
+ import { ProviderMaterializationSessionState, type ProviderMaterializationTransactionLifecycle } from "@sixb/core/internal/ontology-storage-provider";
3
+ import type { MaterializationPlanChunk, MaterializationPlanHeader, MaterializationSession, MaterializationWorkPage, MaterializationWorkRecord, StageMaterializationWorkInput, StreamMaterializationWorkInput } from "@sixb/core/storage";
4
+ import { type ReplacementIdentity } from "./materialization-state";
5
+ export interface SqliteOntologyTransactionContext {
6
+ readonly id: object;
7
+ readonly materializations: ProviderMaterializationTransactionLifecycle;
8
+ active: boolean;
9
+ }
10
+ export declare class SqliteMaterializationSessionState extends ProviderMaterializationSessionState {
11
+ }
12
+ export declare class SqliteMaterializationSessions {
13
+ private readonly db;
14
+ private readonly context;
15
+ private readonly sessions;
16
+ private readonly live;
17
+ constructor(db: Database, context: SqliteOntologyTransactionContext | null);
18
+ create(header: MaterializationPlanHeader): SqliteMaterializationSessionState;
19
+ require(session: MaterializationSession): SqliteMaterializationSessionState;
20
+ release(session: SqliteMaterializationSessionState): void;
21
+ deactivateAll(): void;
22
+ stage(input: StageMaterializationWorkInput): void;
23
+ stream(input: StreamMaterializationWorkInput): AsyncIterable<MaterializationWorkPage>;
24
+ readObjectExistence(session: SqliteMaterializationSessionState, refs: readonly {
25
+ readonly objectTypeId: string;
26
+ readonly primaryId: string;
27
+ }[]): readonly {
28
+ readonly ref: {
29
+ readonly objectTypeId: string;
30
+ readonly primaryId: string;
31
+ };
32
+ readonly exists: boolean;
33
+ }[];
34
+ assertChunkSequence(session: SqliteMaterializationSessionState, chunk: MaterializationPlanChunk): void;
35
+ recordReplacementIdentities(session: SqliteMaterializationSessionState, identities: readonly ReplacementIdentity[]): void;
36
+ count(session: SqliteMaterializationSessionState, kind: string): number;
37
+ laneCounts(session: SqliteMaterializationSessionState): {
38
+ readonly apply: number;
39
+ readonly cardinality: number;
40
+ readonly event: number;
41
+ };
42
+ records(session: SqliteMaterializationSessionState, kind?: string): MaterializationWorkRecord[];
43
+ assertClassificationCoverage(session: SqliteMaterializationSessionState): void;
44
+ private planItems;
45
+ private eventRecords;
46
+ private ensureTables;
47
+ private deleteWork;
48
+ }
49
+ //# sourceMappingURL=materialization-session.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"materialization-session.d.ts","sourceRoot":"","sources":["../../src/ontology-storage/materialization-session.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAM1C,OAAO,EAKL,mCAAmC,EACnC,KAAK,2CAA2C,EAEjD,MAAM,+CAA+C,CAAA;AACtD,OAAO,KAAK,EAEV,wBAAwB,EACxB,yBAAyB,EAEzB,sBAAsB,EACtB,uBAAuB,EACvB,yBAAyB,EACzB,6BAA6B,EAC7B,8BAA8B,EAC/B,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EACL,KAAK,mBAAmB,EAGzB,MAAM,yBAAyB,CAAA;AAGhC,MAAM,WAAW,gCAAgC;IAC/C,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,gBAAgB,EAAE,2CAA2C,CAAA;IACtE,MAAM,EAAE,OAAO,CAAA;CAChB;AAED,qBAAa,iCAAkC,SAAQ,mCAAmC;CAAG;AAE7F,qBAAa,6BAA6B;IAKtC,OAAO,CAAC,QAAQ,CAAC,EAAE;IACnB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAL1B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA2D;IACpF,OAAO,CAAC,QAAQ,CAAC,IAAI,CAA+C;gBAGjD,EAAE,EAAE,QAAQ,EACZ,OAAO,EAAE,gCAAgC,GAAG,IAAI;IAGnE,MAAM,CAAC,MAAM,EAAE,yBAAyB,GAAG,iCAAiC;IAe5E,OAAO,CAAC,OAAO,EAAE,sBAAsB,GAAG,iCAAiC;IAgB3E,OAAO,CAAC,OAAO,EAAE,iCAAiC,GAAG,IAAI;IASzD,aAAa,IAAI,IAAI;IAIrB,KAAK,CAAC,KAAK,EAAE,6BAA6B,GAAG,IAAI;IAkC1C,MAAM,CAAC,KAAK,EAAE,8BAA8B,GAAG,aAAa,CAAC,uBAAuB,CAAC;IAqC5F,mBAAmB,CACjB,OAAO,EAAE,iCAAiC,EAC1C,IAAI,EAAE,SAAS;QAAE,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;KAAE,EAAE,GAC7E,SAAS;QACV,QAAQ,CAAC,GAAG,EAAE;YAAE,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;YAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;SAAE,CAAA;QAC3E,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAA;KACzB,EAAE;IAkBH,mBAAmB,CACjB,OAAO,EAAE,iCAAiC,EAC1C,KAAK,EAAE,wBAAwB,GAC9B,IAAI;IAaP,2BAA2B,CACzB,OAAO,EAAE,iCAAiC,EAC1C,UAAU,EAAE,SAAS,mBAAmB,EAAE,GACzC,IAAI;IAoBP,KAAK,CAAC,OAAO,EAAE,iCAAiC,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM;IAUvE,UAAU,CAAC,OAAO,EAAE,iCAAiC,GAAG;QACtD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;QACtB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;QAC5B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;KACvB;IAgBD,OAAO,CAAC,OAAO,EAAE,iCAAiC,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,yBAAyB,EAAE;IAU/F,4BAA4B,CAAC,OAAO,EAAE,iCAAiC,GAAG,IAAI;IA2C9E,OAAO,CAAC,SAAS;IAwBjB,OAAO,CAAC,YAAY;IAmBpB,OAAO,CAAC,YAAY;IA8BpB,OAAO,CAAC,UAAU;CAQnB"}
@@ -0,0 +1,63 @@
1
+ import type { Database } from "bun:sqlite";
2
+ import type { OntologyLinkRef, OntologyObjectRef, TelemetrySeriesRef } from "@sixb/core/internal/materialization";
3
+ import type { MaterializationLinkScopeState, MaterializationLinkState, MaterializationObjectState, SourceReplacementLinkState, SourceReplacementObjectState, StoredTelemetryPoint } from "@sixb/core/storage";
4
+ export declare const SQLITE_MATERIALIZATION_WORK_TABLE = "ontology_materialization_work";
5
+ export declare const SQLITE_REPLACEMENT_WORK_TABLE = "ontology_replacement_work";
6
+ export type ReplacementIdentity = {
7
+ readonly kind: "object";
8
+ readonly ref: OntologyObjectRef;
9
+ readonly sortKey: string;
10
+ readonly diffRequired: true;
11
+ } | {
12
+ readonly kind: "link";
13
+ readonly ref: OntologyLinkRef;
14
+ readonly sortKey: string;
15
+ readonly diffRequired: boolean;
16
+ };
17
+ interface ReplacementIdentityInput {
18
+ readonly sessionId: string;
19
+ readonly sourceId: string;
20
+ readonly candidateMaterializationId: string;
21
+ readonly previousMaterializationId: string | null;
22
+ readonly kind: "object" | "link";
23
+ readonly pageRows: number;
24
+ }
25
+ export declare class SqliteMaterializationStateReader {
26
+ private readonly db;
27
+ readonly projectId: string;
28
+ constructor(db: Database, projectId: string);
29
+ objectState(ref: OntologyObjectRef): MaterializationObjectState;
30
+ objectStates(refs: readonly OntologyObjectRef[]): readonly MaterializationObjectState[];
31
+ linkState(ref: OntologyLinkRef): MaterializationLinkState;
32
+ linkStates(refs: readonly OntologyLinkRef[]): readonly MaterializationLinkState[];
33
+ exactPoint(series: TelemetrySeriesRef, at: string): StoredTelemetryPoint | null;
34
+ exactPoints(points: readonly {
35
+ readonly series: TelemetrySeriesRef;
36
+ readonly at: string;
37
+ }[]): readonly StoredTelemetryPoint[];
38
+ linkScopes(scopes: readonly {
39
+ readonly source: OntologyObjectRef;
40
+ readonly linkId: string;
41
+ }[]): readonly MaterializationLinkScopeState[];
42
+ linkScope(source: OntologyObjectRef, linkId: string): MaterializationLinkScopeState;
43
+ incidentLinks(objects: readonly OntologyObjectRef[], pageRows: number): Iterable<OntologyLinkRef[]>;
44
+ replacementIdentities(input: ReplacementIdentityInput): Iterable<ReplacementIdentity[]>;
45
+ replacementObjectStates(sourceId: string, candidateMaterializationId: string, refs: readonly OntologyObjectRef[]): readonly SourceReplacementObjectState[];
46
+ replacementLinkStates(sourceId: string, candidateMaterializationId: string, materializationIds: readonly string[], identities: readonly Extract<ReplacementIdentity, {
47
+ readonly kind: "link";
48
+ }>[]): readonly SourceReplacementLinkState[];
49
+ effectiveObjectRevision(ref: OntologyObjectRef): {
50
+ readonly version: number;
51
+ readonly lastCommitId: string | null;
52
+ } | null;
53
+ effectiveLinkLastCommit(ref: OntologyLinkRef): string | null | undefined;
54
+ overrideLastCommit(kind: "object" | "link", entityKey: string): string | null;
55
+ private replacementSources;
56
+ private replacementObjectRows;
57
+ private replacementLinkRows;
58
+ }
59
+ export declare function objectSortExpression(alias?: string): string;
60
+ export declare function linkSortExpression(alias?: string): string;
61
+ export declare function pointSortExpression(alias?: string): string;
62
+ export {};
63
+ //# sourceMappingURL=materialization-state.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"materialization-state.d.ts","sourceRoot":"","sources":["../../src/ontology-storage/materialization-state.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ import type { Database } from "bun:sqlite";
2
+ import type { MaterializationPlanChunk } from "@sixb/core/storage";
3
+ /** Applies one already-validated exact plan chunk to SQLite authority tables. */
4
+ export declare class SqliteMaterializationWriter {
5
+ private readonly db;
6
+ constructor(db: Database);
7
+ apply(projectId: string, commitId: string, chunk: MaterializationPlanChunk): void;
8
+ private applyOverrides;
9
+ private applyEffective;
10
+ private applyObject;
11
+ private applyLink;
12
+ private applyTimeseries;
13
+ private applyOutbox;
14
+ }
15
+ //# sourceMappingURL=materialization-writer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"materialization-writer.d.ts","sourceRoot":"","sources":["../../src/ontology-storage/materialization-writer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAY1C,OAAO,KAAK,EAGV,wBAAwB,EACzB,MAAM,oBAAoB,CAAA;AAG3B,iFAAiF;AACjF,qBAAa,2BAA2B;IAC1B,OAAO,CAAC,QAAQ,CAAC,EAAE;gBAAF,EAAE,EAAE,QAAQ;IAEzC,KAAK,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,wBAAwB,GAAG,IAAI;IAOjF,OAAO,CAAC,cAAc;IAsGtB,OAAO,CAAC,cAAc;IA+CtB,OAAO,CAAC,WAAW;IA2DnB,OAAO,CAAC,SAAS;IA8DjB,OAAO,CAAC,eAAe;IA8DvB,OAAO,CAAC,WAAW;CA+BpB"}
@@ -0,0 +1,32 @@
1
+ import type { Database } from "bun:sqlite";
2
+ import type { ApplyMaterializationChunkInput, ApplyMaterializationResult, FinalizeMaterializationInput, MaterializationObjectExistence, MaterializationPlanHeader, MaterializationSession, MaterializationStatePage, MaterializationWorkPage, OntologyMaterializationStorage, ReadMaterializationObjectExistenceInput, SourceReplacementStatePage, StageMaterializationWorkInput, StreamMaterializationStateInput, StreamMaterializationWorkInput, StreamSourceReplacementStateInput } from "@sixb/core/storage";
3
+ import { type SqliteOntologyTransactionContext } from "./materialization-session";
4
+ export declare class SqliteOntologyMaterializationStorage implements OntologyMaterializationStorage {
5
+ private readonly db;
6
+ private readonly sessions;
7
+ private readonly writer;
8
+ constructor(db: Database, context: SqliteOntologyTransactionContext | null);
9
+ begin(input: MaterializationPlanHeader): Promise<MaterializationSession>;
10
+ streamState(input: StreamMaterializationStateInput): AsyncIterable<MaterializationStatePage>;
11
+ streamSourceReplacementState(input: StreamSourceReplacementStateInput): AsyncIterable<SourceReplacementStatePage>;
12
+ stageWork(input: StageMaterializationWorkInput): Promise<void>;
13
+ streamWork(input: StreamMaterializationWorkInput): AsyncIterable<MaterializationWorkPage>;
14
+ readObjectExistence(input: ReadMaterializationObjectExistenceInput): Promise<readonly MaterializationObjectExistence[]>;
15
+ applyChunk(input: ApplyMaterializationChunkInput): Promise<void>;
16
+ finalize(input: FinalizeMaterializationInput): Promise<ApplyMaterializationResult>;
17
+ deactivateSessions(): void;
18
+ private requireReplacement;
19
+ private assertCommitAbsent;
20
+ private assertSource;
21
+ private assertObject;
22
+ private assertLink;
23
+ private assertFinalization;
24
+ private assertFinalCardinality;
25
+ private projectionCounts;
26
+ private telemetryCounts;
27
+ private activateSource;
28
+ private insertCommit;
29
+ private getActiveSource;
30
+ private getSource;
31
+ }
32
+ //# sourceMappingURL=materializations.d.ts.map
@@ -0,0 +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;AA4B1C,OAAO,KAAK,EACV,8BAA8B,EAC9B,0BAA0B,EAC1B,4BAA4B,EAG5B,8BAA8B,EAC9B,yBAAyB,EAEzB,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;IAoCvE,WAAW,CAChB,KAAK,EAAE,+BAA+B,GACrC,aAAa,CAAC,wBAAwB,CAAC;IAmDnC,4BAA4B,CACjC,KAAK,EAAE,iCAAiC,GACvC,aAAa,CAAC,0BAA0B,CAAC;IA4FtC,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;IAoBhE,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;IAsBlB,OAAO,CAAC,kBAAkB;IA6D1B,OAAO,CAAC,sBAAsB;IAkD9B,OAAO,CAAC,gBAAgB;IAyCxB,OAAO,CAAC,eAAe;IAuBvB,OAAO,CAAC,cAAc;IAqGtB,OAAO,CAAC,YAAY;IAkDpB,OAAO,CAAC,eAAe;IASvB,OAAO,CAAC,SAAS;CAYlB"}
@@ -0,0 +1,14 @@
1
+ import type { Database } from "bun:sqlite";
2
+ import type { ClaimedOntologyOutboxRow, ClaimOntologyOutboxInput, CompleteOntologyOutboxLeaseInput, OntologyOutboxStorage, OntologyOutboxSummary, PurgePublishedOntologyOutboxInput, RescheduleOntologyOutboxLeaseInput, SummarizeOntologyOutboxInput } from "@sixb/core/storage";
3
+ import { type SqliteRootOperation } from "./shared";
4
+ export declare class SqliteOntologyOutboxStorage implements OntologyOutboxStorage {
5
+ private readonly db;
6
+ private readonly runRootOperation;
7
+ constructor(db: Database, runRootOperation: SqliteRootOperation);
8
+ claim(input: ClaimOntologyOutboxInput): Promise<readonly ClaimedOntologyOutboxRow[]>;
9
+ markPublished(input: CompleteOntologyOutboxLeaseInput): Promise<void>;
10
+ reschedule(input: RescheduleOntologyOutboxLeaseInput): Promise<void>;
11
+ purgePublished(input: PurgePublishedOntologyOutboxInput): Promise<number>;
12
+ summarize(input: SummarizeOntologyOutboxInput): Promise<OntologyOutboxSummary>;
13
+ }
14
+ //# sourceMappingURL=outbox.d.ts.map
@@ -0,0 +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;AAK1C,OAAO,KAAK,EACV,wBAAwB,EACxB,wBAAwB,EACxB,gCAAgC,EAChC,qBAAqB,EACrB,qBAAqB,EACrB,iCAAiC,EACjC,kCAAkC,EAClC,4BAA4B,EAC7B,MAAM,oBAAoB,CAAA;AAC3B,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;IAsCpE,cAAc,CAAC,KAAK,EAAE,iCAAiC,GAAG,OAAO,CAAC,MAAM,CAAC;IAqBzE,SAAS,CAAC,KAAK,EAAE,4BAA4B,GAAG,OAAO,CAAC,qBAAqB,CAAC;CA4BrF"}
@@ -0,0 +1,91 @@
1
+ import type { Database } from "bun:sqlite";
2
+ import { MaterializationConflictError } from "@sixb/core/internal/materialization";
3
+ import type { AssertSourceMaterializationExecutionInput, OntologyCommitRecord, OntologyOutboxRecord, OntologySourceRecord, StageSourceAssertion } from "@sixb/core/storage";
4
+ export { assertNonblank, assertNonnegativeInteger, assertPositiveInteger, assertTimestamp, canonicalJson, linkRefFromColumns, objectRefFromColumns, originColumns, originWhere, sourceEntityKey, } from "@sixb/core/internal/ontology-storage-provider";
5
+ export type SqliteRootOperation = <T>(run: () => Promise<T> | T) => Promise<T>;
6
+ export interface SqliteOntologyCommitRow {
7
+ readonly project_id: string;
8
+ readonly id: string;
9
+ readonly idempotency_key: string;
10
+ readonly request_hash: string;
11
+ readonly origin_kind: string;
12
+ readonly origin_run_id: string | null;
13
+ readonly origin_batch_ordinal: number | null;
14
+ readonly origin: string;
15
+ readonly actor: string | null;
16
+ readonly ontology_revision: string;
17
+ readonly projection_revision: string | null;
18
+ readonly ownership_hash: string | null;
19
+ readonly intent: string;
20
+ readonly result: string;
21
+ readonly committed_at: string;
22
+ }
23
+ export interface SqliteOntologySourceRow {
24
+ readonly project_id: string;
25
+ readonly source_id: string;
26
+ readonly materialization_id: string;
27
+ readonly projection_run_id: string;
28
+ readonly projection_kind: "object" | "link";
29
+ readonly protocol: "replacement";
30
+ readonly status: OntologySourceRecord["status"];
31
+ readonly execution_token: string | null;
32
+ readonly dataset_id: string;
33
+ readonly dataset_version_id: string;
34
+ readonly dataset_version_created_at: string;
35
+ readonly projection_revision: string;
36
+ readonly ownership_hash: string;
37
+ readonly ontology_revision: string;
38
+ readonly root_count: number | null;
39
+ readonly assertion_count: number | null;
40
+ readonly created_at: string;
41
+ readonly ready_at: string | null;
42
+ readonly activated_at: string | null;
43
+ readonly terminal_at: string | null;
44
+ readonly last_commit_id: string | null;
45
+ readonly updated_at: string;
46
+ }
47
+ export interface SqliteOntologySourceAssertionRow {
48
+ readonly project_id: string;
49
+ readonly source_id: string;
50
+ readonly materialization_id: string;
51
+ readonly entity_kind: "object" | "link";
52
+ readonly entity_key: string;
53
+ readonly entity_sort_key: string;
54
+ readonly root_kind: "object" | "link";
55
+ readonly root_key: string;
56
+ readonly root_sort_key: string;
57
+ readonly staging_ordinal: number;
58
+ readonly root: string;
59
+ readonly assertion: string;
60
+ }
61
+ export interface SqliteOntologyOverrideRow {
62
+ readonly entity_kind: "object" | "link";
63
+ readonly value: string;
64
+ readonly last_commit_id: string;
65
+ readonly updated_at: string;
66
+ }
67
+ export interface SqliteOntologyOutboxRow {
68
+ readonly envelope: string;
69
+ readonly available_at: string;
70
+ readonly attempts: number;
71
+ readonly lease_id: string | null;
72
+ readonly lease_expires_at: string | null;
73
+ readonly published_at: string | null;
74
+ readonly last_error: string | null;
75
+ readonly created_at: string;
76
+ }
77
+ export declare function parseJson<T>(value: string): T;
78
+ export declare function sourceRecord(row: SqliteOntologySourceRow): OntologySourceRecord;
79
+ export declare function sourceAssertion(row: SqliteOntologySourceAssertionRow): StageSourceAssertion;
80
+ export declare function commitRecord(row: SqliteOntologyCommitRow): OntologyCommitRecord;
81
+ export declare function outboxRecord(row: SqliteOntologyOutboxRow): OntologyOutboxRecord;
82
+ export declare function assertProjectionExecution(db: Database, input: {
83
+ readonly projectId: string;
84
+ readonly sourceId: string;
85
+ readonly projectionRunId: string;
86
+ readonly executionToken: string;
87
+ readonly identity?: AssertSourceMaterializationExecutionInput["identity"];
88
+ }): void;
89
+ export declare function requireChanges(changes: number, kind: ConstructorParameters<typeof MaterializationConflictError>[0], message: string): void;
90
+ export declare function isSqliteConstraintError(error: unknown): boolean;
91
+ //# sourceMappingURL=shared.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../src/ontology-storage/shared.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ import type { Database } from "bun:sqlite";
2
+ import type { AbandonSourceMaterializationCandidateInput, BeginSourceMaterializationInput, CleanupTerminalSourceMaterializationsInput, CleanupTerminalSourceMaterializationsResult, GetActiveOntologySourceInput, MarkSourceMaterializationReadyInput, OntologySourceRecord, OntologySourceStorage, ReclaimSourceMaterializationInput, StageSourceRowsInput, StageSourceRowsResult, SummarizeTerminalSourceMaterializationsInput, TerminalSourceMaterializationSummary } from "@sixb/core/storage";
3
+ import { type SqliteRootOperation } from "./shared";
4
+ export declare class SqliteOntologySourceStorage implements OntologySourceStorage {
5
+ private readonly db;
6
+ private readonly runRootOperation;
7
+ constructor(db: Database, runRootOperation: SqliteRootOperation);
8
+ beginMaterialization(input: BeginSourceMaterializationInput): Promise<OntologySourceRecord>;
9
+ stageRows(input: StageSourceRowsInput): Promise<StageSourceRowsResult>;
10
+ markReady(input: MarkSourceMaterializationReadyInput): Promise<OntologySourceRecord>;
11
+ getActive(input: GetActiveOntologySourceInput): Promise<OntologySourceRecord | null>;
12
+ abandon(input: AbandonSourceMaterializationCandidateInput): Promise<OntologySourceRecord>;
13
+ abandon(input: ReclaimSourceMaterializationInput): Promise<OntologySourceRecord | null>;
14
+ cleanupTerminal(input: CleanupTerminalSourceMaterializationsInput): Promise<CleanupTerminalSourceMaterializationsResult>;
15
+ summarizeTerminal(input: SummarizeTerminalSourceMaterializationsInput): Promise<TerminalSourceMaterializationSummary>;
16
+ private abandonCandidate;
17
+ private abandonForReclaim;
18
+ private transitionToAbandoned;
19
+ private assertReadyState;
20
+ private findStageRows;
21
+ private insertStageRows;
22
+ private assertExecution;
23
+ private getManifest;
24
+ private requireManifest;
25
+ }
26
+ //# sourceMappingURL=sources.d.ts.map
@@ -0,0 +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;AAC3B,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;IAwBtE,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"}
@@ -0,0 +1,26 @@
1
+ import type { FinishPipelineRunInput, FinishPipelineStepRunInput, ListLatestPipelineRunsInput, ListLatestPipelineRunsResult, ListPipelineRunsInput, ListPipelineRunsResult, ListPipelineStepRunsInput, ListPipelineStepRunsResult, PipelineRunRecord, PipelineRunStorage, PipelineStepRunRecord, StartPipelineRunInput, StartPipelineStepRunInput } from "@sixb/core/storage";
2
+ import { type SqliteStoreConnection } from "./transactions";
3
+ export interface SqlitePipelineRunStorageOptions {
4
+ /** Path to SQLite database file. Defaults to ':memory:' for in-memory database. */
5
+ path?: string;
6
+ /** Internal shared connection used by bundled SqliteStorage. */
7
+ connection?: SqliteStoreConnection;
8
+ }
9
+ export declare class SqlitePipelineRunStorage implements PipelineRunStorage {
10
+ private readonly connection;
11
+ private readonly db;
12
+ constructor(options?: SqlitePipelineRunStorageOptions);
13
+ start(input: StartPipelineRunInput): Promise<PipelineRunRecord>;
14
+ finish(input: FinishPipelineRunInput): Promise<PipelineRunRecord>;
15
+ startStep(input: StartPipelineStepRunInput): Promise<PipelineStepRunRecord>;
16
+ finishStep(input: FinishPipelineStepRunInput): Promise<PipelineStepRunRecord>;
17
+ getById(params: {
18
+ projectId: string;
19
+ id: string;
20
+ }): Promise<PipelineRunRecord | null>;
21
+ list(input: ListPipelineRunsInput): Promise<ListPipelineRunsResult>;
22
+ listLatestByPipelineIds(input: ListLatestPipelineRunsInput): Promise<ListLatestPipelineRunsResult>;
23
+ listSteps(input: ListPipelineStepRunsInput): Promise<ListPipelineStepRunsResult>;
24
+ close(): void;
25
+ }
26
+ //# sourceMappingURL=pipeline-run-storage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pipeline-run-storage.d.ts","sourceRoot":"","sources":["../src/pipeline-run-storage.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,sBAAsB,EACtB,0BAA0B,EAC1B,2BAA2B,EAC3B,4BAA4B,EAC5B,qBAAqB,EACrB,sBAAsB,EACtB,yBAAyB,EACzB,0BAA0B,EAE1B,iBAAiB,EACjB,kBAAkB,EAClB,qBAAqB,EACrB,qBAAqB,EACrB,yBAAyB,EAC1B,MAAM,oBAAoB,CAAA;AAW3B,OAAO,EAGL,KAAK,qBAAqB,EAC3B,MAAM,gBAAgB,CAAA;AAEvB,MAAM,WAAW,+BAA+B;IAC9C,mFAAmF;IACnF,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,gEAAgE;IAChE,UAAU,CAAC,EAAE,qBAAqB,CAAA;CACnC;AAED,qBAAa,wBAAyB,YAAW,kBAAkB;IACjE,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAuB;IAClD,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAU;gBAEjB,OAAO,GAAE,+BAAoC;IASnD,KAAK,CAAC,KAAK,EAAE,qBAAqB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAqC/D,MAAM,CAAC,KAAK,EAAE,sBAAsB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAmDjE,SAAS,CAAC,KAAK,EAAE,yBAAyB,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAgF3E,UAAU,CAAC,KAAK,EAAE,0BAA0B,GAAG,OAAO,CAAC,qBAAqB,CAAC;IA2D7E,OAAO,CAAC,MAAM,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC;IAQrF,IAAI,CAAC,KAAK,EAAE,qBAAqB,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAyCnE,uBAAuB,CAC3B,KAAK,EAAE,2BAA2B,GACjC,OAAO,CAAC,4BAA4B,CAAC;IAelC,SAAS,CAAC,KAAK,EAAE,yBAAyB,GAAG,OAAO,CAAC,0BAA0B,CAAC;IAmDtF,KAAK,IAAI,IAAI;CAGd"}