@hardkas/query-store 0.2.2-alpha.1 → 0.3.0-alpha

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.
package/dist/backend.d.ts CHANGED
@@ -52,7 +52,16 @@ export interface QueryBackend {
52
52
  }): Promise<LineageEdgeDocument[]>;
53
53
  getStoreStatus(): Promise<string>;
54
54
  doctor(): Promise<any>;
55
- rebuild(): Promise<void>;
55
+ migrate(): Promise<{
56
+ applied: number;
57
+ }>;
58
+ sync(options?: {
59
+ strict?: boolean;
60
+ }): Promise<any>;
61
+ rebuild(options?: {
62
+ strict?: boolean;
63
+ }): Promise<any>;
64
+ executeRawSql(sql: string): Promise<any[]>;
56
65
  findReceipts(filters?: {
57
66
  status?: string;
58
67
  networkId?: string;
@@ -89,6 +98,15 @@ export declare class SqliteQueryBackend implements QueryBackend {
89
98
  }): Promise<ArtifactDocument[]>;
90
99
  getStoreStatus(): Promise<string>;
91
100
  doctor(): Promise<any>;
92
- rebuild(): Promise<void>;
101
+ migrate(): Promise<{
102
+ applied: number;
103
+ }>;
104
+ rebuild(options?: {
105
+ strict?: boolean;
106
+ }): Promise<any>;
107
+ sync(options?: {
108
+ strict?: boolean;
109
+ }): Promise<any>;
110
+ executeRawSql(sql: string): Promise<any[]>;
93
111
  }
94
112
  //# sourceMappingURL=backend.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"backend.d.ts","sourceRoot":"","sources":["../src/backend.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"backend.d.ts","sourceRoot":"","sources":["../src/backend.ts"],"names":[],"mappings":"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"}
package/dist/backend.js CHANGED
@@ -18,7 +18,7 @@ export class SqliteQueryBackend {
18
18
  params.push(filters.schema);
19
19
  }
20
20
  if (filters?.mode) {
21
- query += " AND kind = ?"; // Note: kind stores mode info in simple schemas
21
+ query += " AND mode = ?";
22
22
  params.push(filters.mode);
23
23
  }
24
24
  if (filters?.networkId) {
@@ -31,7 +31,7 @@ export class SqliteQueryBackend {
31
31
  schema: r.schema,
32
32
  version: r.version,
33
33
  kind: r.kind,
34
- mode: r.kind, // Match mode to kind for now
34
+ mode: (r.mode || "unknown"),
35
35
  networkId: r.network_id,
36
36
  createdAt: r.created_at,
37
37
  txId: r.tx_id,
@@ -50,7 +50,7 @@ export class SqliteQueryBackend {
50
50
  schema: row.schema,
51
51
  version: row.version,
52
52
  kind: row.kind,
53
- mode: row.kind,
53
+ mode: (row.mode || "unknown"),
54
54
  networkId: row.network_id,
55
55
  createdAt: row.created_at,
56
56
  txId: row.tx_id,
@@ -124,7 +124,7 @@ export class SqliteQueryBackend {
124
124
  schema: r.schema,
125
125
  version: r.version,
126
126
  kind: r.kind,
127
- mode: r.kind,
127
+ mode: (r.mode || "unknown"),
128
128
  networkId: r.network_id,
129
129
  createdAt: r.created_at,
130
130
  txId: r.tx_id,
@@ -142,12 +142,34 @@ export class SqliteQueryBackend {
142
142
  async doctor() {
143
143
  const { HardkasIndexer } = await import("./indexer.js");
144
144
  const indexer = new HardkasIndexer(this.store.getDatabase());
145
- return indexer.doctor();
145
+ const indexerReport = indexer.doctor();
146
+ const storeHealth = this.store.checkHealth();
147
+ return {
148
+ ...indexerReport,
149
+ ok: indexerReport.ok && storeHealth.ok,
150
+ storeIssues: storeHealth.issues
151
+ };
146
152
  }
147
- async rebuild() {
153
+ async migrate() {
154
+ return this.store.migrate();
155
+ }
156
+ async rebuild(options) {
157
+ // Ensure schema is up to date before rebuild
158
+ this.store.migrate();
148
159
  const { HardkasIndexer } = await import("./indexer.js");
149
- const indexer = new HardkasIndexer(this.store.getDatabase());
150
- indexer.rebuild();
160
+ const indexer = new HardkasIndexer(this.store.getDatabase(), options);
161
+ return indexer.rebuild();
162
+ }
163
+ async sync(options) {
164
+ // Ensure schema is up to date before sync
165
+ this.store.migrate();
166
+ const { HardkasIndexer } = await import("./indexer.js");
167
+ const indexer = new HardkasIndexer(this.store.getDatabase(), options);
168
+ return indexer.sync();
169
+ }
170
+ async executeRawSql(sql) {
171
+ const db = this.store.getDatabase();
172
+ return db.prepare(sql).all();
151
173
  }
152
174
  }
153
175
  //# sourceMappingURL=backend.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"backend.js","sourceRoot":"","sources":["../src/backend.ts"],"names":[],"mappings":"AA0DA,MAAM,OAAO,kBAAkB;IACrB,KAAK,CAAe;IAE5B,YAAY,KAAmB;QAC7B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAED,OAAO;QACL,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,IAAI,CAAC;IAC3C,CAAC;IAED,IAAI;QACF,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,OAAgE;QAClF,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;QAEpC,IAAI,KAAK,GAAG,mCAAmC,CAAC;QAChD,MAAM,MAAM,GAAU,EAAE,CAAC;QAEzB,IAAI,OAAO,EAAE,MAAM,EAAE,CAAC;YACpB,KAAK,IAAI,iBAAiB,CAAC;YAC3B,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC9B,CAAC;QACD,IAAI,OAAO,EAAE,IAAI,EAAE,CAAC;YAClB,KAAK,IAAI,eAAe,CAAC,CAAC,gDAAgD;YAC1E,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC5B,CAAC;QACD,IAAI,OAAO,EAAE,SAAS,EAAE,CAAC;YACvB,KAAK,IAAI,qBAAqB,CAAC;YAC/B,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QACjC,CAAC;QAED,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,GAAG,MAAM,CAAU,CAAC;QACvD,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACpB,WAAW,EAAE,CAAC,CAAC,YAAY;YAC3B,MAAM,EAAE,CAAC,CAAC,MAAM;YAChB,OAAO,EAAE,CAAC,CAAC,OAAO;YAClB,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,IAAI,EAAE,CAAC,CAAC,IAAqB,EAAE,6BAA6B;YAC5D,SAAS,EAAE,CAAC,CAAC,UAAuB;YACpC,SAAS,EAAE,CAAC,CAAC,UAAU;YACvB,IAAI,EAAE,CAAC,CAAC,KAAK;YACb,UAAU,EAAE,CAAC,CAAC,WAAW;YACzB,IAAI,EAAE,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,WAAW;YAClC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC;SAChC,CAAC,CAAC,CAAC;IACN,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,QAAgB;QAChC,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;QAEpC,MAAM,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,gFAAgF,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAQ,CAAC;QAElJ,IAAI,CAAC,GAAG;YAAE,OAAO,IAAI,CAAC;QAEtB,OAAO;YACL,WAAW,EAAE,GAAG,CAAC,YAAY;YAC7B,MAAM,EAAE,GAAG,CAAC,MAAM;YAClB,OAAO,EAAE,GAAG,CAAC,OAAO;YACpB,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,IAAI,EAAE,GAAG,CAAC,IAAqB;YAC/B,SAAS,EAAE,GAAG,CAAC,UAAuB;YACtC,SAAS,EAAE,GAAG,CAAC,UAAU;YACzB,IAAI,EAAE,GAAG,CAAC,KAAK;YACf,UAAU,EAAE,GAAG,CAAC,WAAW;YAC3B,IAAI,EAAE,GAAG,CAAC,SAAS,IAAI,GAAG,CAAC,WAAW;YACtC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC;SAClC,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,OAA0C;QACxD,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;QAEpC,IAAI,KAAK,GAAG,gCAAgC,CAAC;QAC7C,MAAM,MAAM,GAAU,EAAE,CAAC;QAEzB,IAAI,OAAO,EAAE,IAAI,EAAE,CAAC;YAClB,KAAK,IAAI,eAAe,CAAC;YACzB,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC5B,CAAC;QACD,IAAI,OAAO,EAAE,IAAI,EAAE,CAAC;YAClB,KAAK,IAAI,gBAAgB,CAAC;YAC1B,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC5B,CAAC;QAED,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,GAAG,MAAM,CAAU,CAAC;QACvD,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACpB,OAAO,EAAE,CAAC,CAAC,QAAQ;YACnB,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,MAAM,EAAE,CAAC,CAAC,MAAM;YAChB,UAAU,EAAE,CAAC,CAAC,WAAW;YACzB,aAAa,EAAE,CAAC,CAAC,cAAc;YAC/B,WAAW,EAAE,CAAC,CAAC,YAAY;YAC3B,IAAI,EAAE,CAAC,CAAC,KAAK;YACb,UAAU,EAAE,CAAC,CAAC,WAAW;YACzB,SAAS,EAAE,CAAC,CAAC,UAAU;YACvB,SAAS,EAAE,CAAC,CAAC,SAAS;YACtB,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,OAAO;SACxC,CAAC,CAAC,CAAC;IACN,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,OAAqD;QACzE,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;QAEpC,IAAI,KAAK,GAAG,uCAAuC,CAAC;QACpD,MAAM,MAAM,GAAU,EAAE,CAAC;QAEzB,IAAI,OAAO,EAAE,UAAU,EAAE,CAAC;YACxB,KAAK,IAAI,6BAA6B,CAAC;YACvC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAClC,CAAC;QACD,IAAI,OAAO,EAAE,SAAS,EAAE,CAAC;YACvB,KAAK,IAAI,4BAA4B,CAAC;YACtC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QACjC,CAAC;QAED,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,GAAG,MAAM,CAAU,CAAC;QACvD,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACpB,gBAAgB,EAAE,CAAC,CAAC,kBAAkB;YACtC,eAAe,EAAE,CAAC,CAAC,iBAAiB;YACpC,SAAS,EAAE,CAAC,CAAC,UAAU;YACvB,IAAI,EAAE,CAAC,CAAC,SAAS;YACjB,SAAS,EAAE,CAAC,CAAC,UAAU;SACxB,CAAC,CAAC,CAAC;IACN,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,OAAiD;QAClE,OAAO,IAAI,CAAC,aAAa,CAAC,EAAE,MAAM,EAAE,mBAAmB,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;IACzE,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,OAA2B;QAC1C,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;QACpC,IAAI,KAAK,GAAG,0DAA0D,CAAC;QACvE,MAAM,MAAM,GAAU,EAAE,CAAC;QAEzB,IAAI,OAAO,EAAE,IAAI,EAAE,CAAC;YAClB,KAAK,IAAI,gBAAgB,CAAC;YAC1B,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC5B,CAAC;QAED,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,GAAG,MAAM,CAAU,CAAC;QACvD,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACpB,WAAW,EAAE,CAAC,CAAC,YAAY;YAC3B,MAAM,EAAE,CAAC,CAAC,MAAM;YAChB,OAAO,EAAE,CAAC,CAAC,OAAO;YAClB,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,IAAI,EAAE,CAAC,CAAC,IAAqB;YAC7B,SAAS,EAAE,CAAC,CAAC,UAAuB;YACpC,SAAS,EAAE,CAAC,CAAC,UAAU;YACvB,IAAI,EAAE,CAAC,CAAC,KAAK;YACb,UAAU,EAAE,CAAC,CAAC,WAAW;YACzB,IAAI,EAAE,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,WAAW;YAClC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC;SAChC,CAAC,CAAC,CAAC;IACN,CAAC;IAED,KAAK,CAAC,cAAc;QAClB,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,CAAC;QACxD,MAAM,OAAO,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;QAC7D,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;QAChC,OAAO,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC;IACvC,CAAC;IAED,KAAK,CAAC,MAAM;QACV,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,CAAC;QACxD,MAAM,OAAO,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;QAC7D,OAAO,OAAO,CAAC,MAAM,EAAE,CAAC;IAC1B,CAAC;IAED,KAAK,CAAC,OAAO;QACX,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,CAAC;QACxD,MAAM,OAAO,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;QAC7D,OAAO,CAAC,OAAO,EAAE,CAAC;IACpB,CAAC;CACF"}
1
+ {"version":3,"file":"backend.js","sourceRoot":"","sources":["../src/backend.ts"],"names":[],"mappings":"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"}
package/dist/db.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { DatabaseSync } from "node:sqlite";
1
+ import { CorruptionIssue } from "@hardkas/core";
2
2
  export declare class HardkasStore {
3
3
  private db;
4
4
  private readonly dbPath;
@@ -6,9 +6,26 @@ export declare class HardkasStore {
6
6
  dbPath?: string;
7
7
  memory?: boolean;
8
8
  });
9
- connect(): void;
9
+ connect(options?: {
10
+ autoMigrate?: boolean;
11
+ }): void;
10
12
  disconnect(): void;
11
- getDatabase(): DatabaseSync;
13
+ getDatabase(): any;
14
+ /**
15
+ * Safe migration entry point.
16
+ * Must be called under query-store lock for non-memory DBs.
17
+ */
18
+ migrate(): {
19
+ applied: number;
20
+ status: string;
21
+ };
12
22
  private initialize;
23
+ /**
24
+ * Performs a health check on the store.
25
+ */
26
+ checkHealth(): {
27
+ ok: boolean;
28
+ issues: CorruptionIssue[];
29
+ };
13
30
  }
14
31
  //# sourceMappingURL=db.d.ts.map
package/dist/db.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"db.d.ts","sourceRoot":"","sources":["../src/db.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAK3C,qBAAa,YAAY;IACvB,OAAO,CAAC,EAAE,CAA6B;IACvC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;gBAEpB,OAAO,GAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,OAAO,CAAA;KAAO;IAQxD,OAAO;IAcP,UAAU;IAOV,WAAW,IAAI,YAAY;IAOlC,OAAO,CAAC,UAAU;CA4CnB"}
1
+ {"version":3,"file":"db.d.ts","sourceRoot":"","sources":["../src/db.ts"],"names":[],"mappings":"AAKA,OAAO,EAAgB,eAAe,EAAE,MAAM,eAAe,CAAC;AAI9D,qBAAa,YAAY;IACvB,OAAO,CAAC,EAAE,CAAoB;IAC9B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;gBAEpB,OAAO,GAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,OAAO,CAAA;KAAO;IAQxD,OAAO,CAAC,OAAO,GAAE;QAAE,WAAW,CAAC,EAAE,OAAO,CAAA;KAA2B;IAuBnE,UAAU;IAOV,WAAW,IAAI,GAAG;IAOzB;;;OAGG;IACI,OAAO,IAAI;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE;IAYrD,OAAO,CAAC,UAAU;IAgBlB;;OAEG;IACI,WAAW,IAAI;QAAE,EAAE,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,eAAe,EAAE,CAAA;KAAE;CA0EjE"}
package/dist/db.js CHANGED
@@ -1,7 +1,10 @@
1
- import { DatabaseSync } from "node:sqlite";
1
+ import { createRequire } from "node:module";
2
+ const require = createRequire(import.meta.url);
3
+ const { DatabaseSync } = require("node:sqlite");
2
4
  import path from "node:path";
3
5
  import fs from "node:fs";
4
- import { DDL, SCHEMA_VERSION } from "./schema.js";
6
+ import { HardkasError } from "@hardkas/core";
7
+ import { MigrationRunner, MIGRATIONS } from "./migrations.js";
5
8
  export class HardkasStore {
6
9
  db = null;
7
10
  dbPath;
@@ -13,7 +16,7 @@ export class HardkasStore {
13
16
  this.dbPath = options.dbPath || path.join(process.cwd(), ".hardkas", "store.db");
14
17
  }
15
18
  }
16
- connect() {
19
+ connect(options = { autoMigrate: false }) {
17
20
  if (this.db)
18
21
  return;
19
22
  if (this.dbPath !== ":memory:") {
@@ -23,7 +26,14 @@ export class HardkasStore {
23
26
  }
24
27
  }
25
28
  this.db = new DatabaseSync(this.dbPath);
26
- this.initialize();
29
+ this.db.exec("PRAGMA foreign_keys = ON;");
30
+ // Core SQLite tuning
31
+ this.db.exec("PRAGMA journal_mode = WAL;");
32
+ this.db.exec("PRAGMA synchronous = FULL;");
33
+ this.db.exec("PRAGMA foreign_keys = ON;");
34
+ if (options.autoMigrate) {
35
+ this.initialize();
36
+ }
27
37
  }
28
38
  disconnect() {
29
39
  if (this.db) {
@@ -37,46 +47,106 @@ export class HardkasStore {
37
47
  }
38
48
  return this.db;
39
49
  }
50
+ /**
51
+ * Safe migration entry point.
52
+ * Must be called under query-store lock for non-memory DBs.
53
+ */
54
+ migrate() {
55
+ if (!this.db)
56
+ throw new Error("Database not connected");
57
+ const runner = new MigrationRunner(this.db);
58
+ // 1. Handle legacy transition (version 1 baseline)
59
+ runner.bootstrapLegacy(1, MIGRATIONS);
60
+ // 2. Run pending migrations
61
+ return runner.migrate(MIGRATIONS);
62
+ }
40
63
  initialize() {
41
64
  if (!this.db)
42
65
  return;
43
- // Enable WAL mode for better concurrency
44
- this.db.exec("PRAGMA journal_mode = WAL;");
45
- this.db.exec("PRAGMA synchronous = NORMAL;");
46
- this.db.exec("PRAGMA foreign_keys = ON;");
47
- // Apply schema
48
- this.db.exec(DDL);
49
- // Check version
50
- const stmt = this.db.prepare("SELECT value FROM metadata WHERE key = 'version'");
51
- let version = 0;
66
+ // We only perform non-destructive initialization here.
67
+ // Full migrations or rebuilds are triggered via migrate() or indexer.
52
68
  try {
53
- const row = stmt.get();
54
- if (row) {
55
- version = parseInt(row.value, 10);
56
- }
69
+ this.migrate();
57
70
  }
58
71
  catch (e) {
59
- // Ignore if table was just created
72
+ // If auto-migration fails during connect, we log but don't crash
73
+ // unless it's a critical error. The doctor will catch it.
74
+ if (e instanceof HardkasError && e.code === "STORE_MIGRATION_CHECKSUM_MISMATCH") {
75
+ console.error(`\n ❌ ${e.message}`);
76
+ }
60
77
  }
61
- if (version === 0) {
62
- const insert = this.db.prepare("INSERT INTO metadata (key, value) VALUES ('version', ?)");
63
- insert.run(SCHEMA_VERSION.toString());
78
+ }
79
+ /**
80
+ * Performs a health check on the store.
81
+ */
82
+ checkHealth() {
83
+ const issues = [];
84
+ if (this.dbPath === ":memory:")
85
+ return { ok: true, issues: [] };
86
+ if (!fs.existsSync(this.dbPath)) {
87
+ issues.push({
88
+ code: "STORE_REBUILD_REQUIRED",
89
+ severity: "error",
90
+ message: "Query store database file is missing.",
91
+ suggestion: "Run 'hardkas query store rebuild' to recreate the read model."
92
+ });
93
+ return { ok: false, issues };
64
94
  }
65
- else if (version !== SCHEMA_VERSION) {
66
- console.warn(`Schema version mismatch (expected ${SCHEMA_VERSION}, got ${version}). Developer Preview: Recreating schema.`);
67
- // Developer Preview Migration: Drop and Recreate
68
- this.db.exec("PRAGMA foreign_keys = OFF;");
69
- this.db.exec("DROP TABLE IF EXISTS artifacts;");
70
- this.db.exec("DROP TABLE IF EXISTS lineage_edges;");
71
- this.db.exec("DROP TABLE IF EXISTS events;");
72
- this.db.exec("DROP TABLE IF EXISTS traces;");
73
- this.db.exec("DROP TABLE IF EXISTS metadata;");
74
- this.db.exec("PRAGMA foreign_keys = ON;");
75
- // Re-initialize
76
- this.db.exec(DDL);
77
- const insert = this.db.prepare("INSERT INTO metadata (key, value) VALUES ('version', ?)");
78
- insert.run(SCHEMA_VERSION.toString());
95
+ try {
96
+ const stats = fs.statSync(this.dbPath);
97
+ if (stats.size === 0) {
98
+ issues.push({
99
+ code: "STORE_CORRUPT",
100
+ severity: "error",
101
+ message: "Query store database file is empty.",
102
+ suggestion: "Run 'hardkas query store rebuild'."
103
+ });
104
+ }
105
+ }
106
+ catch (e) {
107
+ issues.push({
108
+ code: "STORE_CORRUPT",
109
+ severity: "error",
110
+ message: `Failed to access store database: ${e instanceof Error ? e.message : String(e)}`
111
+ });
112
+ }
113
+ // Migration/Version check
114
+ if (this.db) {
115
+ try {
116
+ const runner = new MigrationRunner(this.db);
117
+ const applied = runner.getAppliedMigrations();
118
+ const appliedMap = new Map(applied.map(m => [m.version, m]));
119
+ const pending = MIGRATIONS.filter((m) => !appliedMap.has(m.version));
120
+ if (pending.length > 0) {
121
+ issues.push({
122
+ code: "STORE_MIGRATION_REQUIRED",
123
+ severity: "warning",
124
+ message: `${pending.length} pending schema migration(s) detected.`,
125
+ suggestion: "Run 'hardkas query store migrate' or 'hardkas query store rebuild'."
126
+ });
127
+ }
128
+ // Checksums
129
+ for (const m of MIGRATIONS) {
130
+ const existing = appliedMap.get(m.version);
131
+ if (existing && existing.checksum !== m.checksum) {
132
+ issues.push({
133
+ code: "STORE_MIGRATION_CHECKSUM_MISMATCH",
134
+ severity: "error",
135
+ message: `Integrity violation: Migration ${m.version} checksum changed.`,
136
+ suggestion: "The database schema was modified externally or migrations were edited. A full rebuild is recommended."
137
+ });
138
+ }
139
+ }
140
+ }
141
+ catch (e) {
142
+ issues.push({
143
+ code: "STORE_CORRUPT",
144
+ severity: "error",
145
+ message: "Could not read migration history from store database."
146
+ });
147
+ }
79
148
  }
149
+ return { ok: issues.length === 0, issues };
80
150
  }
81
151
  }
82
152
  //# sourceMappingURL=db.js.map
package/dist/db.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"db.js","sourceRoot":"","sources":["../src/db.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"db.js","sourceRoot":"","sources":["../src/db.ts"],"names":[],"mappings":"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"}
package/dist/indexer.d.ts CHANGED
@@ -1,6 +1,22 @@
1
- import { DatabaseSync } from "node:sqlite";
1
+ import { type CorruptionIssue } from "@hardkas/core";
2
2
  export interface IndexerOptions {
3
3
  cwd?: string;
4
+ strict?: boolean;
5
+ }
6
+ export interface SyncStats {
7
+ scanned: number;
8
+ indexed: number;
9
+ duplicates: number;
10
+ corrupted: number;
11
+ }
12
+ export interface SyncResult {
13
+ schema: "hardkas.queryRebuild.v1";
14
+ ok: boolean;
15
+ artifacts: SyncStats;
16
+ events: SyncStats;
17
+ warnings: string[];
18
+ errors: string[];
19
+ issues: CorruptionIssue[];
4
20
  }
5
21
  export interface DoctorReport {
6
22
  ok: boolean;
@@ -13,12 +29,26 @@ export interface DoctorReport {
13
29
  export declare class HardkasIndexer {
14
30
  private db;
15
31
  private hardkasDir;
16
- constructor(db: DatabaseSync, options?: IndexerOptions);
17
- sync(): void;
32
+ private strict;
33
+ constructor(db: any, options?: IndexerOptions);
34
+ /**
35
+ * Performs an incremental sync of the index.
36
+ * Transactional.
37
+ */
38
+ sync(): Promise<SyncResult>;
39
+ /**
40
+ * Internal indexing logic without transaction management.
41
+ */
42
+ private _syncInternal;
43
+ /**
44
+ * Complete wipe and rebuild of the index.
45
+ */
18
46
  /**
19
47
  * Complete wipe and rebuild of the index.
48
+ * Atomic across wipe and first sync.
20
49
  */
21
- rebuild(): void;
50
+ rebuild(): Promise<SyncResult>;
51
+ private _wipeInternal;
22
52
  /**
23
53
  * Diagnostic check of the index integrity and freshness.
24
54
  */
@@ -1 +1 @@
1
- {"version":3,"file":"indexer.d.ts","sourceRoot":"","sources":["../src/indexer.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAI3C,MAAM,WAAW,cAAc;IAC7B,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,OAAO,CAAC;IACZ,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9B;AAED,qBAAa,cAAc;IACzB,OAAO,CAAC,EAAE,CAAe;IACzB,OAAO,CAAC,UAAU,CAAS;gBAEf,EAAE,EAAE,YAAY,EAAE,OAAO,GAAE,cAAmB;IAKnD,IAAI;IAqBX;;OAEG;IACI,OAAO;IAgBd;;OAEG;IACI,MAAM,IAAI,YAAY;IAuC7B,OAAO,CAAC,aAAa;IAkFrB,OAAO,CAAC,UAAU;IA+DlB,OAAO,CAAC,UAAU;IAmClB,OAAO,CAAC,cAAc;IAiBtB,OAAO,CAAC,IAAI;CAgBb"}
1
+ {"version":3,"file":"indexer.d.ts","sourceRoot":"","sources":["../src/indexer.ts"],"names":[],"mappings":"AAMA,OAAO,EAGL,KAAK,eAAe,EAErB,MAAM,eAAe,CAAC;AAEvB,MAAM,WAAW,cAAc;IAC7B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,yBAAyB,CAAC;IAClC,EAAE,EAAE,OAAO,CAAC;IACZ,SAAS,EAAE,SAAS,CAAC;IACrB,MAAM,EAAE,SAAS,CAAC;IAClB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,MAAM,EAAE,eAAe,EAAE,CAAC;CAC3B;AAED,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,OAAO,CAAC;IACZ,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9B;AAED,qBAAa,cAAc;IACzB,OAAO,CAAC,EAAE,CAAM;IAChB,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,MAAM,CAAU;gBAEZ,EAAE,EAAE,GAAG,EAAE,OAAO,GAAE,cAAmB;IAMjD;;;OAGG;IACU,IAAI,IAAI,OAAO,CAAC,UAAU,CAAC;IA+BxC;;OAEG;YACW,aAAa;IAW3B;;OAEG;IACH;;;OAGG;IACU,OAAO,IAAI,OAAO,CAAC,UAAU,CAAC;IAgC3C,OAAO,CAAC,aAAa;IAQrB;;OAEG;IACI,MAAM,IAAI,YAAY;YAuCf,aAAa;IAmH3B,OAAO,CAAC,UAAU;IAyFlB,OAAO,CAAC,UAAU;IAmClB,OAAO,CAAC,cAAc;IAiBtB,OAAO,CAAC,IAAI;CAgBb"}
package/dist/indexer.js CHANGED
@@ -1,51 +1,106 @@
1
1
  import fs from "node:fs";
2
2
  import path from "node:path";
3
- import { calculateContentHash } from "@hardkas/artifacts";
4
- import { validateEventEnvelope } from "@hardkas/core";
3
+ import { createRequire } from "node:module";
4
+ const require = createRequire(import.meta.url);
5
+ const { DatabaseSync } = require("node:sqlite");
6
+ import { calculateContentHash, verifyArtifactIntegrity } from "@hardkas/artifacts";
7
+ import { validateEventEnvelope, formatCorruptionIssue } from "@hardkas/core";
5
8
  export class HardkasIndexer {
6
9
  db;
7
10
  hardkasDir;
11
+ strict;
8
12
  constructor(db, options = {}) {
9
13
  this.db = db;
10
14
  this.hardkasDir = path.join(options.cwd || process.cwd(), ".hardkas");
15
+ this.strict = options.strict || false;
11
16
  }
12
- sync() {
13
- if (!fs.existsSync(this.hardkasDir))
14
- return;
17
+ /**
18
+ * Performs an incremental sync of the index.
19
+ * Transactional.
20
+ */
21
+ async sync() {
22
+ const result = {
23
+ schema: "hardkas.queryRebuild.v1",
24
+ ok: true,
25
+ artifacts: { scanned: 0, indexed: 0, duplicates: 0, corrupted: 0 },
26
+ events: { scanned: 0, indexed: 0, duplicates: 0, corrupted: 0 },
27
+ warnings: [],
28
+ errors: [],
29
+ issues: []
30
+ };
31
+ if (!fs.existsSync(this.hardkasDir)) {
32
+ return result;
33
+ }
34
+ // HardKAS Policy: Do not nest transactions.
35
+ // Sync handles its own transaction.
15
36
  this.db.exec("BEGIN TRANSACTION;");
16
37
  try {
17
- this.syncArtifacts();
18
- this.syncEvents();
19
- this.syncTraces();
20
- this.cleanupZombies();
21
- // Mark last sync
22
- this.db.prepare("INSERT OR REPLACE INTO metadata (key, value) VALUES (?, ?)")
23
- .run("last_indexed_at", new Date().toISOString());
38
+ await this._syncInternal(result);
24
39
  this.db.exec("COMMIT;");
25
40
  }
26
41
  catch (e) {
27
42
  this.db.exec("ROLLBACK;");
28
- throw e;
43
+ result.ok = false;
44
+ result.errors.push(`Sync failed: ${e.message}`);
45
+ if (this.strict)
46
+ throw e;
29
47
  }
48
+ return result;
49
+ }
50
+ /**
51
+ * Internal indexing logic without transaction management.
52
+ */
53
+ async _syncInternal(result) {
54
+ await this.syncArtifacts(result);
55
+ this.syncEvents(result);
56
+ this.syncTraces();
57
+ this.cleanupZombies();
58
+ // Mark last sync
59
+ this.db.prepare("INSERT OR REPLACE INTO metadata (key, value) VALUES (?, ?)")
60
+ .run("last_indexed_at", new Date().toISOString());
30
61
  }
31
62
  /**
32
63
  * Complete wipe and rebuild of the index.
33
64
  */
34
- rebuild() {
65
+ /**
66
+ * Complete wipe and rebuild of the index.
67
+ * Atomic across wipe and first sync.
68
+ */
69
+ async rebuild() {
70
+ const result = {
71
+ schema: "hardkas.queryRebuild.v1",
72
+ ok: true,
73
+ artifacts: { scanned: 0, indexed: 0, duplicates: 0, corrupted: 0 },
74
+ events: { scanned: 0, indexed: 0, duplicates: 0, corrupted: 0 },
75
+ warnings: [],
76
+ errors: [],
77
+ issues: []
78
+ };
35
79
  this.db.exec("BEGIN TRANSACTION;");
36
80
  try {
37
- this.db.exec("DELETE FROM artifacts;");
38
- this.db.exec("DELETE FROM lineage_edges;");
39
- this.db.exec("DELETE FROM events;");
40
- this.db.exec("DELETE FROM traces;");
41
- this.db.exec("DELETE FROM metadata WHERE key = 'last_indexed_at';");
81
+ // 1. Wipe
82
+ this._wipeInternal();
83
+ // 2. Full Sync (using internal logic to avoid nested transaction)
84
+ if (fs.existsSync(this.hardkasDir)) {
85
+ await this._syncInternal(result);
86
+ }
42
87
  this.db.exec("COMMIT;");
43
- this.sync();
44
88
  }
45
89
  catch (e) {
46
90
  this.db.exec("ROLLBACK;");
47
- throw e;
91
+ result.ok = false;
92
+ result.errors.push(`Rebuild failed: ${e.message}`);
93
+ if (this.strict)
94
+ throw e;
48
95
  }
96
+ return result;
97
+ }
98
+ _wipeInternal() {
99
+ this.db.exec("DELETE FROM traces;");
100
+ this.db.exec("DELETE FROM events;");
101
+ this.db.exec("DELETE FROM lineage_edges;");
102
+ this.db.exec("DELETE FROM artifacts;");
103
+ this.db.exec("DELETE FROM metadata WHERE key = 'last_indexed_at';");
49
104
  }
50
105
  /**
51
106
  * Diagnostic check of the index integrity and freshness.
@@ -85,18 +140,20 @@ export class HardkasIndexer {
85
140
  report.ok = report.staleArtifacts === 0 && report.zombieArtifacts === 0 && report.orphanEdges === 0;
86
141
  return report;
87
142
  }
88
- syncArtifacts() {
89
- const files = this.walk(this.hardkasDir);
143
+ async syncArtifacts(result) {
144
+ // Sort files to ensure deterministic indexing order
145
+ const files = this.walk(this.hardkasDir).sort();
90
146
  const indexedAt = new Date().toISOString();
91
147
  const upsertArtifact = this.db.prepare(`
92
148
  INSERT INTO artifacts
93
- (artifact_id, content_hash, schema, version, kind, network_id, tx_id, created_at, raw_json, file_path, file_mtime_ms, indexed_at)
94
- VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
149
+ (artifact_id, content_hash, schema, version, kind, mode, network_id, tx_id, created_at, raw_json, file_path, file_mtime_ms, indexed_at)
150
+ VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
95
151
  ON CONFLICT(artifact_id) DO UPDATE SET
96
152
  content_hash = excluded.content_hash,
97
153
  schema = excluded.schema,
98
154
  version = excluded.version,
99
155
  kind = excluded.kind,
156
+ mode = excluded.mode,
100
157
  network_id = excluded.network_id,
101
158
  tx_id = excluded.tx_id,
102
159
  created_at = excluded.created_at,
@@ -109,48 +166,73 @@ export class HardkasIndexer {
109
166
  INSERT OR REPLACE INTO lineage_edges (lineage_id, parent_artifact_id, child_artifact_id, edge_kind, created_at)
110
167
  VALUES (?, ?, ?, ?, ?)
111
168
  `);
112
- const mtimeStmt = this.db.prepare("SELECT file_mtime_ms FROM artifacts WHERE artifact_id = ?");
113
169
  const artifactsToLink = [];
114
170
  for (const file of files) {
171
+ result.artifacts.scanned++;
115
172
  const stat = fs.statSync(file);
116
- const existing = this.db.prepare("SELECT artifact_id, file_mtime_ms FROM artifacts WHERE file_path = ?").get(file);
117
- if (existing && existing.file_mtime_ms === stat.mtimeMs) {
118
- // Still need to track for lineage if we want to be safe, or assume it's already there
119
- // For simplicity in sync, we'll re-parse lineage for all files or use a more complex cache
120
- }
121
- const content = fs.readFileSync(file, "utf-8");
122
173
  try {
174
+ const verification = await verifyArtifactIntegrity(file);
175
+ if (!verification.ok) {
176
+ result.artifacts.corrupted++;
177
+ verification.issues.forEach(issue => {
178
+ const corruptionIssue = {
179
+ code: issue.code,
180
+ severity: issue.severity === "warning" ? "warning" : "error",
181
+ message: issue.message,
182
+ path: file
183
+ };
184
+ result.issues.push(corruptionIssue);
185
+ result.warnings.push(formatCorruptionIssue(corruptionIssue));
186
+ });
187
+ if (this.strict) {
188
+ throw new Error(`Strict mode: corrupted artifact in ${file}`);
189
+ }
190
+ continue; // Skip corrupted artifact
191
+ }
192
+ const content = fs.readFileSync(file, "utf-8");
123
193
  const parsed = JSON.parse(content);
124
- if (!parsed.schema || !parsed.version || !parsed.artifactId)
125
- continue;
194
+ // Artifact ID is required for indexing
195
+ const artifactId = parsed.artifactId || parsed.contentHash || calculateContentHash(parsed);
126
196
  const hash = parsed.contentHash || calculateContentHash(parsed);
127
- upsertArtifact.run(parsed.artifactId, hash, parsed.schema, parsed.version, parsed.kind || parsed.schema, parsed.networkId || "unknown", parsed.txId || null, parsed.createdAt || null, content, file, stat.mtimeMs, indexedAt);
197
+ upsertArtifact.run(artifactId, hash, parsed.schema, parsed.version, parsed.kind || parsed.schema, parsed.mode || "unknown", parsed.networkId || "unknown", parsed.txId || null, parsed.createdAt || null, content, file, stat.mtimeMs, indexedAt);
198
+ result.artifacts.indexed++;
128
199
  if (parsed.lineage && parsed.lineage.parentArtifactId) {
129
200
  artifactsToLink.push(parsed);
130
201
  }
131
202
  }
132
203
  catch (e) {
133
- // Skip invalid JSON
204
+ result.artifacts.corrupted++;
205
+ const code = e instanceof SyntaxError ? "ARTIFACT_JSON_INVALID" : "ARTIFACT_ID_INVALID";
206
+ const corruptionIssue = {
207
+ code: code,
208
+ severity: "error",
209
+ message: e.message,
210
+ path: file
211
+ };
212
+ result.issues.push(corruptionIssue);
213
+ if (this.strict)
214
+ throw e;
215
+ result.warnings.push(formatCorruptionIssue(corruptionIssue));
134
216
  }
135
217
  }
136
218
  // Pass 2: Lineage Edges (Now all artifact IDs exist)
137
219
  for (const parsed of artifactsToLink) {
138
- insertEdge.run(parsed.lineage.lineageId || "legacy-lineage", parsed.lineage.parentArtifactId, parsed.artifactId, "derived", parsed.createdAt || null);
220
+ try {
221
+ insertEdge.run(parsed.lineage.lineageId || "legacy-lineage", parsed.lineage.parentArtifactId, parsed.artifactId || parsed.contentHash, "derived", parsed.createdAt || null);
222
+ }
223
+ catch (e) {
224
+ result.warnings.push(`Failed to link lineage for ${parsed.artifactId}: ${e.message}`);
225
+ }
139
226
  }
140
227
  }
141
- syncEvents() {
228
+ syncEvents(result) {
142
229
  const eventsPath = path.join(this.hardkasDir, "events.jsonl");
143
230
  if (!fs.existsSync(eventsPath))
144
231
  return;
145
232
  const stat = fs.statSync(eventsPath);
146
233
  const indexedAt = new Date().toISOString();
147
- // Check if events file changed
148
- const existing = this.db.prepare("SELECT file_mtime_ms FROM events WHERE file_path = ? LIMIT 1").get(eventsPath);
149
- if (existing && existing.file_mtime_ms === stat.mtimeMs) {
150
- return;
151
- }
152
234
  const content = fs.readFileSync(eventsPath, "utf-8");
153
- const lines = content.split("\n").filter(l => l.trim() !== "");
235
+ const lines = content.split("\n");
154
236
  const upsertEvent = this.db.prepare(`
155
237
  INSERT INTO events
156
238
  (event_id, kind, domain, timestamp, workflow_id, correlation_id, causation_id, tx_id, artifact_id, network_id, raw_json, file_path, file_mtime_ms, indexed_at)
@@ -170,15 +252,46 @@ export class HardkasIndexer {
170
252
  file_mtime_ms = excluded.file_mtime_ms,
171
253
  indexed_at = excluded.indexed_at
172
254
  `);
173
- for (const line of lines) {
255
+ for (let i = 0; i < lines.length; i++) {
256
+ const line = lines[i].trim();
257
+ if (line === "")
258
+ continue;
259
+ result.events.scanned++;
260
+ const lineNum = i + 1;
174
261
  try {
175
262
  const parsed = JSON.parse(line);
176
- if (!validateEventEnvelope(parsed))
263
+ if (!validateEventEnvelope(parsed)) {
264
+ const issue = {
265
+ code: "EVENT_SCHEMA_INVALID",
266
+ severity: "error",
267
+ message: "Invalid event envelope structure",
268
+ path: eventsPath,
269
+ lineNumber: lineNum
270
+ };
271
+ result.issues.push(issue);
272
+ result.events.corrupted++;
273
+ if (this.strict)
274
+ throw new Error(formatCorruptionIssue(issue));
275
+ result.warnings.push(formatCorruptionIssue(issue));
177
276
  continue;
277
+ }
178
278
  upsertEvent.run(parsed.eventId, parsed.kind, parsed.domain, parsed.timestamp || null, parsed.workflowId, parsed.correlationId, parsed.causationId || null, parsed.txId || null, parsed.artifactId || null, parsed.networkId, line, eventsPath, stat.mtimeMs, indexedAt);
279
+ result.events.indexed++;
179
280
  }
180
281
  catch (e) {
181
- // Skip invalid line
282
+ result.events.corrupted++;
283
+ const issue = {
284
+ code: e instanceof SyntaxError ? "EVENT_JSON_INVALID" : "EVENT_LINE_CORRUPT",
285
+ severity: "error",
286
+ message: e.message,
287
+ path: eventsPath,
288
+ lineNumber: lineNum
289
+ };
290
+ result.issues.push(issue);
291
+ if (this.strict) {
292
+ throw new Error(formatCorruptionIssue(issue));
293
+ }
294
+ result.warnings.push(formatCorruptionIssue(issue));
182
295
  }
183
296
  }
184
297
  }
@@ -1 +1 @@
1
- {"version":3,"file":"indexer.js","sourceRoot":"","sources":["../src/indexer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"indexer.js","sourceRoot":"","sources":["../src/indexer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,42 @@
1
+ export interface Migration {
2
+ version: number;
3
+ name: string;
4
+ checksum: string;
5
+ up(db: any): void;
6
+ }
7
+ export interface MigrationHistoryEntry {
8
+ version: number;
9
+ name: string;
10
+ checksum: string;
11
+ applied_at: string;
12
+ }
13
+ export declare class MigrationRunner {
14
+ private db;
15
+ constructor(db: any);
16
+ /**
17
+ * Ensures the migration history table exists.
18
+ */
19
+ ensureHistoryTable(): void;
20
+ /**
21
+ * Fetches all applied migrations from the history table.
22
+ */
23
+ getAppliedMigrations(): MigrationHistoryEntry[];
24
+ /**
25
+ * Applies pending migrations in order.
26
+ */
27
+ migrate(migrations: Migration[]): {
28
+ applied: number;
29
+ status: "ok" | "bootstrapped" | "failed";
30
+ };
31
+ /**
32
+ * Legacy bootstrap: if the DB is in a known state but has no migration history,
33
+ * we inject the history without running the 'up' logic.
34
+ */
35
+ bootstrapLegacy(knownVersion: number, migrations: Migration[]): boolean;
36
+ }
37
+ /**
38
+ * Registry of all query-store migrations.
39
+ * Version 1: Initial schema (Baseline v0.2-alpha).
40
+ */
41
+ export declare const MIGRATIONS: Migration[];
42
+ //# sourceMappingURL=migrations.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"migrations.d.ts","sourceRoot":"","sources":["../src/migrations.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,EAAE,CAAC,EAAE,EAAE,GAAG,GAAG,IAAI,CAAC;CACnB;AAED,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,qBAAa,eAAe;IACd,OAAO,CAAC,EAAE;gBAAF,EAAE,EAAE,GAAG;IAE3B;;OAEG;IACI,kBAAkB,IAAI,IAAI;IAWjC;;OAEG;IACI,oBAAoB,IAAI,qBAAqB,EAAE;IAStD;;OAEG;IACI,OAAO,CAAC,UAAU,EAAE,SAAS,EAAE,GAAG;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,IAAI,GAAG,cAAc,GAAG,QAAQ,CAAA;KAAE;IAkDtG;;;OAGG;IACI,eAAe,CAAC,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,OAAO;CAkB/E;AAED;;;GAGG;AACH,eAAO,MAAM,UAAU,EAAE,SAAS,EA+FjC,CAAC"}
@@ -0,0 +1,195 @@
1
+ import { createRequire } from "node:module";
2
+ const require = createRequire(import.meta.url);
3
+ const { DatabaseSync } = require("node:sqlite");
4
+ import { HardkasError } from "@hardkas/core";
5
+ export class MigrationRunner {
6
+ db;
7
+ constructor(db) {
8
+ this.db = db;
9
+ }
10
+ /**
11
+ * Ensures the migration history table exists.
12
+ */
13
+ ensureHistoryTable() {
14
+ this.db.exec(`
15
+ CREATE TABLE IF NOT EXISTS hardkas_migrations (
16
+ version INTEGER PRIMARY KEY,
17
+ name TEXT NOT NULL,
18
+ checksum TEXT NOT NULL,
19
+ applied_at TEXT NOT NULL
20
+ );
21
+ `);
22
+ }
23
+ /**
24
+ * Fetches all applied migrations from the history table.
25
+ */
26
+ getAppliedMigrations() {
27
+ try {
28
+ const stmt = this.db.prepare("SELECT * FROM hardkas_migrations ORDER BY version ASC");
29
+ return stmt.all();
30
+ }
31
+ catch {
32
+ return [];
33
+ }
34
+ }
35
+ /**
36
+ * Applies pending migrations in order.
37
+ */
38
+ migrate(migrations) {
39
+ this.ensureHistoryTable();
40
+ const applied = this.getAppliedMigrations();
41
+ const appliedMap = new Map(applied.map(m => [m.version, m]));
42
+ // Check for checksum mismatches in already applied migrations
43
+ for (const m of migrations) {
44
+ const existing = appliedMap.get(m.version);
45
+ if (existing && existing.checksum !== m.checksum) {
46
+ throw new HardkasError("STORE_MIGRATION_CHECKSUM_MISMATCH", `Migration checksum mismatch for version ${m.version} (${m.name}). Expected ${m.checksum}, got ${existing.checksum}.`);
47
+ }
48
+ }
49
+ const pending = migrations
50
+ .filter(m => !appliedMap.has(m.version))
51
+ .sort((a, b) => a.version - b.version);
52
+ if (pending.length === 0) {
53
+ return { applied: 0, status: "ok" };
54
+ }
55
+ let appliedCount = 0;
56
+ for (const m of pending) {
57
+ try {
58
+ this.db.exec("BEGIN TRANSACTION;");
59
+ m.up(this.db);
60
+ const stmt = this.db.prepare("INSERT INTO hardkas_migrations (version, name, checksum, applied_at) VALUES (?, ?, ?, ?)");
61
+ stmt.run(m.version, m.name, m.checksum, new Date().toISOString());
62
+ this.db.exec("COMMIT;");
63
+ appliedCount++;
64
+ }
65
+ catch (e) {
66
+ this.db.exec("ROLLBACK;");
67
+ throw new HardkasError("STORE_MIGRATION_FAILED", `Failed to apply migration ${m.version} (${m.name}): ${e instanceof Error ? e.message : String(e)}`, { cause: e });
68
+ }
69
+ }
70
+ return { applied: appliedCount, status: "ok" };
71
+ }
72
+ /**
73
+ * Legacy bootstrap: if the DB is in a known state but has no migration history,
74
+ * we inject the history without running the 'up' logic.
75
+ */
76
+ bootstrapLegacy(knownVersion, migrations) {
77
+ const applied = this.getAppliedMigrations();
78
+ if (applied.length > 0)
79
+ return false; // Already has history
80
+ // Check if it's a known legacy state (e.g. has artifacts table)
81
+ const tables = this.db.prepare("SELECT name FROM sqlite_master WHERE type='table' AND name='artifacts'").get();
82
+ if (!tables)
83
+ return false;
84
+ // It's a legacy DB. Inject history for migrations up to knownVersion.
85
+ this.ensureHistoryTable();
86
+ for (const m of migrations) {
87
+ if (m.version <= knownVersion) {
88
+ const stmt = this.db.prepare("INSERT INTO hardkas_migrations (version, name, checksum, applied_at) VALUES (?, ?, ?, ?)");
89
+ stmt.run(m.version, m.name, m.checksum, new Date().toISOString());
90
+ }
91
+ }
92
+ return true;
93
+ }
94
+ }
95
+ /**
96
+ * Registry of all query-store migrations.
97
+ * Version 1: Initial schema (Baseline v0.2-alpha).
98
+ */
99
+ export const MIGRATIONS = [
100
+ {
101
+ version: 1,
102
+ name: "initial_schema",
103
+ checksum: "hardkas_v1_baseline",
104
+ up: (db) => {
105
+ db.exec(`
106
+ CREATE TABLE IF NOT EXISTS metadata (
107
+ key TEXT PRIMARY KEY,
108
+ value TEXT NOT NULL
109
+ );
110
+
111
+ CREATE TABLE IF NOT EXISTS artifacts (
112
+ artifact_id TEXT PRIMARY KEY,
113
+ content_hash TEXT NOT NULL,
114
+ schema TEXT NOT NULL,
115
+ version TEXT NOT NULL,
116
+ kind TEXT NOT NULL,
117
+ mode TEXT NOT NULL DEFAULT 'unknown',
118
+ network_id TEXT NOT NULL,
119
+ tx_id TEXT,
120
+ created_at TEXT,
121
+ raw_json TEXT NOT NULL,
122
+ file_path TEXT,
123
+ file_mtime_ms INTEGER,
124
+ indexed_at TEXT
125
+ );
126
+
127
+ CREATE INDEX IF NOT EXISTS idx_artifacts_content_hash ON artifacts(content_hash);
128
+ CREATE INDEX IF NOT EXISTS idx_artifacts_schema ON artifacts(schema);
129
+ CREATE INDEX IF NOT EXISTS idx_artifacts_kind ON artifacts(kind);
130
+ CREATE INDEX IF NOT EXISTS idx_artifacts_mode ON artifacts(mode);
131
+ CREATE INDEX IF NOT EXISTS idx_artifacts_network_id ON artifacts(network_id);
132
+ CREATE INDEX IF NOT EXISTS idx_artifacts_tx_id ON artifacts(tx_id);
133
+ CREATE INDEX IF NOT EXISTS idx_artifacts_created_at ON artifacts(created_at);
134
+ CREATE INDEX IF NOT EXISTS idx_artifacts_file_path ON artifacts(file_path);
135
+
136
+ CREATE TABLE IF NOT EXISTS lineage_edges (
137
+ lineage_id TEXT NOT NULL,
138
+ parent_artifact_id TEXT NOT NULL,
139
+ child_artifact_id TEXT NOT NULL,
140
+ edge_kind TEXT NOT NULL,
141
+ created_at TEXT,
142
+ PRIMARY KEY (parent_artifact_id, child_artifact_id),
143
+ FOREIGN KEY (parent_artifact_id) REFERENCES artifacts(artifact_id) ON DELETE CASCADE,
144
+ FOREIGN KEY (child_artifact_id) REFERENCES artifacts(artifact_id) ON DELETE CASCADE
145
+ );
146
+
147
+ CREATE INDEX IF NOT EXISTS idx_lineage_parent ON lineage_edges(parent_artifact_id);
148
+ CREATE INDEX IF NOT EXISTS idx_lineage_child ON lineage_edges(child_artifact_id);
149
+ CREATE INDEX IF NOT EXISTS idx_lineage_id ON lineage_edges(lineage_id);
150
+
151
+ CREATE TABLE IF NOT EXISTS events (
152
+ event_id TEXT PRIMARY KEY,
153
+ kind TEXT NOT NULL,
154
+ domain TEXT NOT NULL,
155
+ timestamp TEXT,
156
+ workflow_id TEXT NOT NULL,
157
+ correlation_id TEXT NOT NULL,
158
+ causation_id TEXT,
159
+ tx_id TEXT,
160
+ artifact_id TEXT,
161
+ network_id TEXT NOT NULL,
162
+ raw_json TEXT NOT NULL,
163
+ file_path TEXT,
164
+ file_mtime_ms INTEGER,
165
+ indexed_at TEXT
166
+ );
167
+
168
+ CREATE INDEX IF NOT EXISTS idx_events_kind ON events(kind);
169
+ CREATE INDEX IF NOT EXISTS idx_events_domain ON events(domain);
170
+ CREATE INDEX IF NOT EXISTS idx_events_workflow_id ON events(workflow_id);
171
+ CREATE INDEX IF NOT EXISTS idx_events_correlation_id ON events(correlation_id);
172
+ CREATE INDEX IF NOT EXISTS idx_events_causation_id ON events(causation_id);
173
+ CREATE INDEX IF NOT EXISTS idx_events_tx_id ON events(tx_id);
174
+ CREATE INDEX IF NOT EXISTS idx_events_artifact_id ON events(artifact_id);
175
+ CREATE INDEX IF NOT EXISTS idx_events_network_id ON events(network_id);
176
+ CREATE INDEX IF NOT EXISTS idx_events_timestamp ON events(timestamp);
177
+ CREATE INDEX IF NOT EXISTS idx_events_file_path ON events(file_path);
178
+
179
+ CREATE TABLE IF NOT EXISTS traces (
180
+ trace_id TEXT PRIMARY KEY,
181
+ workflow_id TEXT UNIQUE NOT NULL,
182
+ root_event_id TEXT,
183
+ status TEXT NOT NULL,
184
+ started_at TEXT,
185
+ ended_at TEXT,
186
+ FOREIGN KEY (root_event_id) REFERENCES events(event_id) ON DELETE SET NULL
187
+ );
188
+
189
+ CREATE INDEX IF NOT EXISTS idx_traces_workflow_id ON traces(workflow_id);
190
+ CREATE INDEX IF NOT EXISTS idx_traces_status ON traces(status);
191
+ `);
192
+ }
193
+ }
194
+ ];
195
+ //# sourceMappingURL=migrations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"migrations.js","sourceRoot":"","sources":["../src/migrations.ts"],"names":[],"mappings":"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"}
package/dist/schema.d.ts CHANGED
@@ -1,3 +1,21 @@
1
- export declare const SCHEMA_VERSION = 3;
2
- export declare const DDL = "\nCREATE TABLE IF NOT EXISTS metadata (\n key TEXT PRIMARY KEY,\n value TEXT NOT NULL\n);\n\nCREATE TABLE IF NOT EXISTS artifacts (\n artifact_id TEXT PRIMARY KEY,\n content_hash TEXT NOT NULL,\n schema TEXT NOT NULL,\n version TEXT NOT NULL,\n kind TEXT NOT NULL,\n network_id TEXT NOT NULL,\n tx_id TEXT,\n created_at TEXT,\n raw_json TEXT NOT NULL,\n file_path TEXT,\n file_mtime_ms INTEGER,\n indexed_at TEXT\n);\n\nCREATE INDEX IF NOT EXISTS idx_artifacts_content_hash ON artifacts(content_hash);\nCREATE INDEX IF NOT EXISTS idx_artifacts_schema ON artifacts(schema);\nCREATE INDEX IF NOT EXISTS idx_artifacts_kind ON artifacts(kind);\nCREATE INDEX IF NOT EXISTS idx_artifacts_network_id ON artifacts(network_id);\nCREATE INDEX IF NOT EXISTS idx_artifacts_tx_id ON artifacts(tx_id);\nCREATE INDEX IF NOT EXISTS idx_artifacts_created_at ON artifacts(created_at);\nCREATE INDEX IF NOT EXISTS idx_artifacts_file_path ON artifacts(file_path);\n\nCREATE TABLE IF NOT EXISTS lineage_edges (\n lineage_id TEXT NOT NULL,\n parent_artifact_id TEXT NOT NULL,\n child_artifact_id TEXT NOT NULL,\n edge_kind TEXT NOT NULL,\n created_at TEXT,\n PRIMARY KEY (parent_artifact_id, child_artifact_id),\n FOREIGN KEY (parent_artifact_id) REFERENCES artifacts(artifact_id) ON DELETE CASCADE,\n FOREIGN KEY (child_artifact_id) REFERENCES artifacts(artifact_id) ON DELETE CASCADE\n);\n\nCREATE INDEX IF NOT EXISTS idx_lineage_parent ON lineage_edges(parent_artifact_id);\nCREATE INDEX IF NOT EXISTS idx_lineage_child ON lineage_edges(child_artifact_id);\nCREATE INDEX IF NOT EXISTS idx_lineage_id ON lineage_edges(lineage_id);\n\nCREATE TABLE IF NOT EXISTS events (\n event_id TEXT PRIMARY KEY,\n kind TEXT NOT NULL,\n domain TEXT NOT NULL,\n timestamp TEXT,\n workflow_id TEXT NOT NULL,\n correlation_id TEXT NOT NULL,\n causation_id TEXT,\n tx_id TEXT,\n artifact_id TEXT,\n network_id TEXT NOT NULL,\n raw_json TEXT NOT NULL,\n file_path TEXT,\n file_mtime_ms INTEGER,\n indexed_at TEXT\n);\n\nCREATE INDEX IF NOT EXISTS idx_events_kind ON events(kind);\nCREATE INDEX IF NOT EXISTS idx_events_domain ON events(domain);\nCREATE INDEX IF NOT EXISTS idx_events_workflow_id ON events(workflow_id);\nCREATE INDEX IF NOT EXISTS idx_events_correlation_id ON events(correlation_id);\nCREATE INDEX IF NOT EXISTS idx_events_causation_id ON events(causation_id);\nCREATE INDEX IF NOT EXISTS idx_events_tx_id ON events(tx_id);\nCREATE INDEX IF NOT EXISTS idx_events_artifact_id ON events(artifact_id);\nCREATE INDEX IF NOT EXISTS idx_events_network_id ON events(network_id);\nCREATE INDEX IF NOT EXISTS idx_events_timestamp ON events(timestamp);\nCREATE INDEX IF NOT EXISTS idx_events_file_path ON events(file_path);\n\nCREATE TABLE IF NOT EXISTS traces (\n trace_id TEXT PRIMARY KEY,\n workflow_id TEXT UNIQUE NOT NULL,\n root_event_id TEXT,\n status TEXT NOT NULL,\n started_at TEXT,\n ended_at TEXT,\n FOREIGN KEY (root_event_id) REFERENCES events(event_id) ON DELETE SET NULL\n);\n\nCREATE INDEX IF NOT EXISTS idx_traces_workflow_id ON traces(workflow_id);\nCREATE INDEX IF NOT EXISTS idx_traces_status ON traces(status);\n";
1
+ export declare const SCHEMA_VERSION = 1;
2
+ export interface MetadataRow {
3
+ key: string;
4
+ value: string;
5
+ }
6
+ export interface ArtifactRow {
7
+ artifact_id: string;
8
+ content_hash: string;
9
+ schema: string;
10
+ version: string;
11
+ kind: string;
12
+ mode: string;
13
+ network_id: string;
14
+ tx_id?: string;
15
+ created_at?: string;
16
+ raw_json: string;
17
+ file_path?: string;
18
+ file_mtime_ms?: number;
19
+ indexed_at?: string;
20
+ }
3
21
  //# sourceMappingURL=schema.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,cAAc,IAAI,CAAC;AAEhC,eAAO,MAAM,GAAG,8kGAoFf,CAAC"}
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,cAAc,IAAI,CAAC;AAEhC,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,WAAW;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB"}
package/dist/schema.js CHANGED
@@ -1,87 +1,2 @@
1
- export const SCHEMA_VERSION = 3;
2
- export const DDL = `
3
- CREATE TABLE IF NOT EXISTS metadata (
4
- key TEXT PRIMARY KEY,
5
- value TEXT NOT NULL
6
- );
7
-
8
- CREATE TABLE IF NOT EXISTS artifacts (
9
- artifact_id TEXT PRIMARY KEY,
10
- content_hash TEXT NOT NULL,
11
- schema TEXT NOT NULL,
12
- version TEXT NOT NULL,
13
- kind TEXT NOT NULL,
14
- network_id TEXT NOT NULL,
15
- tx_id TEXT,
16
- created_at TEXT,
17
- raw_json TEXT NOT NULL,
18
- file_path TEXT,
19
- file_mtime_ms INTEGER,
20
- indexed_at TEXT
21
- );
22
-
23
- CREATE INDEX IF NOT EXISTS idx_artifacts_content_hash ON artifacts(content_hash);
24
- CREATE INDEX IF NOT EXISTS idx_artifacts_schema ON artifacts(schema);
25
- CREATE INDEX IF NOT EXISTS idx_artifacts_kind ON artifacts(kind);
26
- CREATE INDEX IF NOT EXISTS idx_artifacts_network_id ON artifacts(network_id);
27
- CREATE INDEX IF NOT EXISTS idx_artifacts_tx_id ON artifacts(tx_id);
28
- CREATE INDEX IF NOT EXISTS idx_artifacts_created_at ON artifacts(created_at);
29
- CREATE INDEX IF NOT EXISTS idx_artifacts_file_path ON artifacts(file_path);
30
-
31
- CREATE TABLE IF NOT EXISTS lineage_edges (
32
- lineage_id TEXT NOT NULL,
33
- parent_artifact_id TEXT NOT NULL,
34
- child_artifact_id TEXT NOT NULL,
35
- edge_kind TEXT NOT NULL,
36
- created_at TEXT,
37
- PRIMARY KEY (parent_artifact_id, child_artifact_id),
38
- FOREIGN KEY (parent_artifact_id) REFERENCES artifacts(artifact_id) ON DELETE CASCADE,
39
- FOREIGN KEY (child_artifact_id) REFERENCES artifacts(artifact_id) ON DELETE CASCADE
40
- );
41
-
42
- CREATE INDEX IF NOT EXISTS idx_lineage_parent ON lineage_edges(parent_artifact_id);
43
- CREATE INDEX IF NOT EXISTS idx_lineage_child ON lineage_edges(child_artifact_id);
44
- CREATE INDEX IF NOT EXISTS idx_lineage_id ON lineage_edges(lineage_id);
45
-
46
- CREATE TABLE IF NOT EXISTS events (
47
- event_id TEXT PRIMARY KEY,
48
- kind TEXT NOT NULL,
49
- domain TEXT NOT NULL,
50
- timestamp TEXT,
51
- workflow_id TEXT NOT NULL,
52
- correlation_id TEXT NOT NULL,
53
- causation_id TEXT,
54
- tx_id TEXT,
55
- artifact_id TEXT,
56
- network_id TEXT NOT NULL,
57
- raw_json TEXT NOT NULL,
58
- file_path TEXT,
59
- file_mtime_ms INTEGER,
60
- indexed_at TEXT
61
- );
62
-
63
- CREATE INDEX IF NOT EXISTS idx_events_kind ON events(kind);
64
- CREATE INDEX IF NOT EXISTS idx_events_domain ON events(domain);
65
- CREATE INDEX IF NOT EXISTS idx_events_workflow_id ON events(workflow_id);
66
- CREATE INDEX IF NOT EXISTS idx_events_correlation_id ON events(correlation_id);
67
- CREATE INDEX IF NOT EXISTS idx_events_causation_id ON events(causation_id);
68
- CREATE INDEX IF NOT EXISTS idx_events_tx_id ON events(tx_id);
69
- CREATE INDEX IF NOT EXISTS idx_events_artifact_id ON events(artifact_id);
70
- CREATE INDEX IF NOT EXISTS idx_events_network_id ON events(network_id);
71
- CREATE INDEX IF NOT EXISTS idx_events_timestamp ON events(timestamp);
72
- CREATE INDEX IF NOT EXISTS idx_events_file_path ON events(file_path);
73
-
74
- CREATE TABLE IF NOT EXISTS traces (
75
- trace_id TEXT PRIMARY KEY,
76
- workflow_id TEXT UNIQUE NOT NULL,
77
- root_event_id TEXT,
78
- status TEXT NOT NULL,
79
- started_at TEXT,
80
- ended_at TEXT,
81
- FOREIGN KEY (root_event_id) REFERENCES events(event_id) ON DELETE SET NULL
82
- );
83
-
84
- CREATE INDEX IF NOT EXISTS idx_traces_workflow_id ON traces(workflow_id);
85
- CREATE INDEX IF NOT EXISTS idx_traces_status ON traces(status);
86
- `;
1
+ export const SCHEMA_VERSION = 1;
87
2
  //# sourceMappingURL=schema.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC;AAEhC,MAAM,CAAC,MAAM,GAAG,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoFlB,CAAC"}
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hardkas/query-store",
3
- "version": "0.2.2-alpha.1",
3
+ "version": "0.3.0-alpha",
4
4
  "type": "module",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",
@@ -11,8 +11,8 @@
11
11
  }
12
12
  },
13
13
  "dependencies": {
14
- "@hardkas/artifacts": "0.2.2-alpha.1",
15
- "@hardkas/core": "0.2.2-alpha.1"
14
+ "@hardkas/core": "0.3.0-alpha",
15
+ "@hardkas/artifacts": "0.3.0-alpha"
16
16
  },
17
17
  "devDependencies": {
18
18
  "tsup": "^8.3.5",
@@ -39,7 +39,7 @@
39
39
  ],
40
40
  "scripts": {
41
41
  "build": "tsc",
42
- "test": "node --import tsx --test test/*.test.ts",
42
+ "test": "vitest run",
43
43
  "typecheck": "tsc --noEmit",
44
44
  "lint": "eslint ."
45
45
  }