@principles/core 1.189.0 → 1.190.0
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/runtime-v2/__tests__/pain-signal-observability.test.js +1 -1
- package/dist/runtime-v2/__tests__/pi-artifact-store.test.js +11 -0
- package/dist/runtime-v2/__tests__/pi-artifact-store.test.js.map +1 -1
- package/dist/runtime-v2/activation/__tests__/approval-store-extended.test.js +15 -1
- package/dist/runtime-v2/activation/__tests__/approval-store-extended.test.js.map +1 -1
- package/dist/runtime-v2/activation/__tests__/sqlite-activation-state-store-fk.test.d.ts +2 -0
- package/dist/runtime-v2/activation/__tests__/sqlite-activation-state-store-fk.test.d.ts.map +1 -0
- package/dist/runtime-v2/activation/__tests__/sqlite-activation-state-store-fk.test.js +62 -0
- package/dist/runtime-v2/activation/__tests__/sqlite-activation-state-store-fk.test.js.map +1 -0
- package/dist/runtime-v2/activation/__tests__/sqlite-activation-state-store.test.js +12 -2
- package/dist/runtime-v2/activation/__tests__/sqlite-activation-state-store.test.js.map +1 -1
- package/dist/runtime-v2/activation/__tests__/sqlite-approval-store-fk.test.d.ts +2 -0
- package/dist/runtime-v2/activation/__tests__/sqlite-approval-store-fk.test.d.ts.map +1 -0
- package/dist/runtime-v2/activation/__tests__/sqlite-approval-store-fk.test.js +56 -0
- package/dist/runtime-v2/activation/__tests__/sqlite-approval-store-fk.test.js.map +1 -0
- package/dist/runtime-v2/activation/__tests__/sqlite-approval-store.test.js +8 -0
- package/dist/runtime-v2/activation/__tests__/sqlite-approval-store.test.js.map +1 -1
- package/dist/runtime-v2/activation/__tests__/story-a-acceptance.test.js +20 -0
- package/dist/runtime-v2/activation/__tests__/story-a-acceptance.test.js.map +1 -1
- package/dist/runtime-v2/activation/sqlite-activation-state-store.d.ts.map +1 -1
- package/dist/runtime-v2/activation/sqlite-activation-state-store.js +6 -0
- package/dist/runtime-v2/activation/sqlite-activation-state-store.js.map +1 -1
- package/dist/runtime-v2/activation/sqlite-approval-store.d.ts.map +1 -1
- package/dist/runtime-v2/activation/sqlite-approval-store.js +86 -32
- package/dist/runtime-v2/activation/sqlite-approval-store.js.map +1 -1
- package/dist/runtime-v2/pain-signal-observability.d.ts.map +1 -1
- package/dist/runtime-v2/pain-signal-observability.js +3 -2
- package/dist/runtime-v2/pain-signal-observability.js.map +1 -1
- package/dist/runtime-v2/store/artifact/__tests__/sqlite-pi-artifact-store-fk.test.d.ts +2 -0
- package/dist/runtime-v2/store/artifact/__tests__/sqlite-pi-artifact-store-fk.test.d.ts.map +1 -0
- package/dist/runtime-v2/store/artifact/__tests__/sqlite-pi-artifact-store-fk.test.js +55 -0
- package/dist/runtime-v2/store/artifact/__tests__/sqlite-pi-artifact-store-fk.test.js.map +1 -0
- package/dist/runtime-v2/store/artifact/sqlite-pi-artifact-store.d.ts.map +1 -1
- package/dist/runtime-v2/store/artifact/sqlite-pi-artifact-store.js +6 -0
- package/dist/runtime-v2/store/artifact/sqlite-pi-artifact-store.js.map +1 -1
- package/dist/runtime-v2/store/sqlite-connection-schema-version.test.d.ts +2 -0
- package/dist/runtime-v2/store/sqlite-connection-schema-version.test.d.ts.map +1 -0
- package/dist/runtime-v2/store/sqlite-connection-schema-version.test.js +72 -0
- package/dist/runtime-v2/store/sqlite-connection-schema-version.test.js.map +1 -0
- package/dist/runtime-v2/store/sqlite-connection.d.ts +11 -0
- package/dist/runtime-v2/store/sqlite-connection.d.ts.map +1 -1
- package/dist/runtime-v2/store/sqlite-connection.js +41 -11
- package/dist/runtime-v2/store/sqlite-connection.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sqlite-connection-schema-version.test.js","sourceRoot":"","sources":["../../../src/runtime-v2/store/sqlite-connection-schema-version.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -31,6 +31,17 @@ export declare class SqliteConnection {
|
|
|
31
31
|
constructor(workspaceDirOrOpts: string | SqliteConnectionOptions);
|
|
32
32
|
getDb(): Database.Database;
|
|
33
33
|
getPragmaReport(): SqlitePragmaReport;
|
|
34
|
+
/**
|
|
35
|
+
* Returns the current schema version of state.db.
|
|
36
|
+
* Versions are stored as TEXT and compared lexicographically (e.g., '000' < '001').
|
|
37
|
+
* Returns '000' for fresh databases or if the table is somehow missing.
|
|
38
|
+
*/
|
|
39
|
+
getSchemaVersion(): string;
|
|
40
|
+
/**
|
|
41
|
+
* Records a new schema version after a migration is applied.
|
|
42
|
+
* Each call inserts a new row (append-only history for audit).
|
|
43
|
+
*/
|
|
44
|
+
setSchemaVersion(version: string): void;
|
|
34
45
|
private initSchema;
|
|
35
46
|
private migrateSchema;
|
|
36
47
|
/** Closes the underlying database connection. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sqlite-connection.d.ts","sourceRoot":"","sources":["../../../src/runtime-v2/store/sqlite-connection.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,OAAO,QAAQ,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"sqlite-connection.d.ts","sourceRoot":"","sources":["../../../src/runtime-v2/store/sqlite-connection.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AAStC,MAAM,WAAW,uBAAuB;IACtC,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,kBAAkB;IACjC,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,OAAO,CAAC;IACrB,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,EAAE,CAAkC;IAC5C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAU;gBAE3B,kBAAkB,EAAE,MAAM,GAAG,uBAAuB;IAYhE,KAAK,IAAI,QAAQ,CAAC,QAAQ;IAsD1B,eAAe,IAAI,kBAAkB;IA6BrC;;;;OAIG;IACH,gBAAgB,IAAI,MAAM;IAO1B;;;OAGG;IACH,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAKvC,OAAO,CAAC,UAAU;IAiSlB,OAAO,CAAC,aAAa;IA+BrB,iDAAiD;IACjD,KAAK,IAAI,IAAI;CAWd"}
|
|
@@ -15,6 +15,9 @@ import Database from 'better-sqlite3';
|
|
|
15
15
|
import { join } from 'path';
|
|
16
16
|
import * as fs from 'fs';
|
|
17
17
|
import { PDRuntimeError } from '../error-categories.js';
|
|
18
|
+
function isRecord(value) {
|
|
19
|
+
return value !== null && typeof value === 'object' && !Array.isArray(value);
|
|
20
|
+
}
|
|
18
21
|
export class SqliteConnection {
|
|
19
22
|
db = null;
|
|
20
23
|
dbPath;
|
|
@@ -106,6 +109,26 @@ export class SqliteConnection {
|
|
|
106
109
|
return { journalMode: 'error', busyTimeout: 0, synchronous: 'error', foreignKeys: false, healthy: false, issues: ['pragma read failed - database may be corrupted'] };
|
|
107
110
|
}
|
|
108
111
|
}
|
|
112
|
+
/**
|
|
113
|
+
* Returns the current schema version of state.db.
|
|
114
|
+
* Versions are stored as TEXT and compared lexicographically (e.g., '000' < '001').
|
|
115
|
+
* Returns '000' for fresh databases or if the table is somehow missing.
|
|
116
|
+
*/
|
|
117
|
+
getSchemaVersion() {
|
|
118
|
+
const db = this.getDb();
|
|
119
|
+
const row = db.prepare('SELECT version FROM schema_version ORDER BY version DESC LIMIT 1').get();
|
|
120
|
+
if (!isRecord(row) || typeof row.version !== 'string')
|
|
121
|
+
return '000';
|
|
122
|
+
return row.version;
|
|
123
|
+
}
|
|
124
|
+
/**
|
|
125
|
+
* Records a new schema version after a migration is applied.
|
|
126
|
+
* Each call inserts a new row (append-only history for audit).
|
|
127
|
+
*/
|
|
128
|
+
setSchemaVersion(version) {
|
|
129
|
+
const db = this.getDb();
|
|
130
|
+
db.prepare('INSERT INTO schema_version (version) VALUES (?)').run(version);
|
|
131
|
+
}
|
|
109
132
|
initSchema() {
|
|
110
133
|
const db = this.db;
|
|
111
134
|
db.exec(`
|
|
@@ -326,18 +349,11 @@ export class SqliteConnection {
|
|
|
326
349
|
db.exec('ALTER TABLE activations ADD COLUMN deactivated_at TEXT');
|
|
327
350
|
}
|
|
328
351
|
}
|
|
352
|
+
// PRI-286: confirm_first_state table is orphaned (SqliteConfirmFirstStateStore class deleted).
|
|
353
|
+
// Drop legacy table if exists; CREATE is no longer needed.
|
|
329
354
|
db.exec(`
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
directive_active INTEGER NOT NULL DEFAULT 0,
|
|
333
|
-
directive_principle_id TEXT,
|
|
334
|
-
directive_set_at TEXT NOT NULL,
|
|
335
|
-
approval_active INTEGER NOT NULL DEFAULT 0,
|
|
336
|
-
approval_set_at TEXT,
|
|
337
|
-
last_seen_at TEXT NOT NULL
|
|
338
|
-
);
|
|
339
|
-
CREATE INDEX IF NOT EXISTS idx_confirm_first_state_last_seen
|
|
340
|
-
ON confirm_first_state(last_seen_at);
|
|
355
|
+
DROP TABLE IF EXISTS confirm_first_state;
|
|
356
|
+
DROP INDEX IF EXISTS idx_confirm_first_state_last_seen;
|
|
341
357
|
`);
|
|
342
358
|
// PRI-470: IntentDecisionRecord durable store (SPEC §21.7).
|
|
343
359
|
// Stores immutable snapshots of source / evidenceStrength /
|
|
@@ -372,6 +388,20 @@ export class SqliteConnection {
|
|
|
372
388
|
ON intent_decisions(pain_id, intent_doc_hash, owner_action)
|
|
373
389
|
WHERE pain_id IS NOT NULL;
|
|
374
390
|
`);
|
|
391
|
+
// P2-10: Minimal schema_version table for state.db migration tracking.
|
|
392
|
+
// core cannot import plugin's MigrationRunner (dependency direction),
|
|
393
|
+
// so this is a lightweight version that records schema version history.
|
|
394
|
+
db.exec(`
|
|
395
|
+
CREATE TABLE IF NOT EXISTS schema_version (
|
|
396
|
+
version TEXT NOT NULL DEFAULT '000',
|
|
397
|
+
applied_at TEXT NOT NULL DEFAULT (strftime('%Y-%m-%dT%H:%M:%SZ', 'now'))
|
|
398
|
+
);
|
|
399
|
+
`);
|
|
400
|
+
// Seed initial version '000' if table is empty (fresh database).
|
|
401
|
+
const countRow = db.prepare('SELECT COUNT(*) as cnt FROM schema_version').get();
|
|
402
|
+
if (!isRecord(countRow) || typeof countRow.cnt !== 'number' || countRow.cnt === 0) {
|
|
403
|
+
db.prepare("INSERT INTO schema_version (version) VALUES ('000')").run();
|
|
404
|
+
}
|
|
375
405
|
}
|
|
376
406
|
migrateSchema() {
|
|
377
407
|
const db = this.db;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sqlite-connection.js","sourceRoot":"","sources":["../../../src/runtime-v2/store/sqlite-connection.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AACtC,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"sqlite-connection.js","sourceRoot":"","sources":["../../../src/runtime-v2/store/sqlite-connection.ts"],"names":[],"mappings":"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"}
|