proofscan 0.5.8 → 0.5.10
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/cli.js +5 -2
- package/dist/cli.js.map +1 -1
- package/dist/commands/config.d.ts.map +1 -1
- package/dist/commands/config.js +13 -2
- package/dist/commands/config.js.map +1 -1
- package/dist/commands/doctor.d.ts +6 -0
- package/dist/commands/doctor.d.ts.map +1 -0
- package/dist/commands/doctor.js +112 -0
- package/dist/commands/doctor.js.map +1 -0
- package/dist/commands/index.d.ts +1 -0
- package/dist/commands/index.d.ts.map +1 -1
- package/dist/commands/index.js +1 -0
- package/dist/commands/index.js.map +1 -1
- package/dist/commands/record.d.ts +6 -2
- package/dist/commands/record.d.ts.map +1 -1
- package/dist/commands/record.js +32 -1
- package/dist/commands/record.js.map +1 -1
- package/dist/commands/status.d.ts.map +1 -1
- package/dist/commands/status.js +37 -1
- package/dist/commands/status.js.map +1 -1
- package/dist/commands/summary.d.ts +11 -1
- package/dist/commands/summary.d.ts.map +1 -1
- package/dist/commands/summary.js +33 -1
- package/dist/commands/summary.js.map +1 -1
- package/dist/config/add.d.ts +11 -1
- package/dist/config/add.d.ts.map +1 -1
- package/dist/config/add.js +15 -7
- package/dist/config/add.js.map +1 -1
- package/dist/db/connection.d.ts +38 -0
- package/dist/db/connection.d.ts.map +1 -1
- package/dist/db/connection.js +247 -12
- package/dist/db/connection.js.map +1 -1
- package/dist/db/events-store.d.ts +17 -1
- package/dist/db/events-store.d.ts.map +1 -1
- package/dist/db/events-store.js +24 -4
- package/dist/db/events-store.js.map +1 -1
- package/dist/db/schema.d.ts +8 -2
- package/dist/db/schema.d.ts.map +1 -1
- package/dist/db/schema.js +48 -4
- package/dist/db/schema.js.map +1 -1
- package/dist/db/types.d.ts +13 -1
- package/dist/db/types.d.ts.map +1 -1
- package/dist/db/types.js +1 -1
- package/dist/utils/sanitize-secrets.d.ts +45 -0
- package/dist/utils/sanitize-secrets.d.ts.map +1 -0
- package/dist/utils/sanitize-secrets.js +78 -0
- package/dist/utils/sanitize-secrets.js.map +1 -0
- package/package.json +1 -1
package/dist/db/connection.js
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
import Database from 'better-sqlite3';
|
|
5
5
|
import { join } from 'path';
|
|
6
6
|
import { mkdirSync, statSync } from 'fs';
|
|
7
|
-
import { EVENTS_DB_SCHEMA, PROOFS_DB_SCHEMA, EVENTS_DB_VERSION, PROOFS_DB_VERSION, EVENTS_DB_MIGRATION_1_TO_2 } from './schema.js';
|
|
7
|
+
import { EVENTS_DB_SCHEMA, PROOFS_DB_SCHEMA, EVENTS_DB_VERSION, PROOFS_DB_VERSION, EVENTS_DB_MIGRATION_1_TO_2, EVENTS_DB_MIGRATION_2_TO_3 } from './schema.js';
|
|
8
8
|
import { getDefaultConfigDir } from '../utils/config-path.js';
|
|
9
9
|
let eventsDb = null;
|
|
10
10
|
let proofsDb = null;
|
|
@@ -15,32 +15,103 @@ let dbDir = null;
|
|
|
15
15
|
export function getDbDir(configDir) {
|
|
16
16
|
return configDir || getDefaultConfigDir();
|
|
17
17
|
}
|
|
18
|
+
/**
|
|
19
|
+
* Print helpful error message for DB failures
|
|
20
|
+
*/
|
|
21
|
+
function printDbError(dbPath, err, operation) {
|
|
22
|
+
console.error('');
|
|
23
|
+
console.error('═══════════════════════════════════════════════════════════');
|
|
24
|
+
console.error(` Database ${operation} failed`);
|
|
25
|
+
console.error('═══════════════════════════════════════════════════════════');
|
|
26
|
+
console.error(` Path: ${dbPath}`);
|
|
27
|
+
if (err instanceof Error) {
|
|
28
|
+
console.error(` Error: ${err.message}`);
|
|
29
|
+
}
|
|
30
|
+
console.error('');
|
|
31
|
+
console.error(' Recovery options:');
|
|
32
|
+
console.error('');
|
|
33
|
+
console.error(' 1. Backup and recreate (loses existing data):');
|
|
34
|
+
console.error(` mv "${dbPath}" "${dbPath}.bak"`);
|
|
35
|
+
console.error(' pfscan status # will recreate fresh DB');
|
|
36
|
+
console.error('');
|
|
37
|
+
console.error(' 2. Run diagnostics:');
|
|
38
|
+
console.error(' pfscan doctor');
|
|
39
|
+
console.error('');
|
|
40
|
+
console.error(' 3. Try manual repair:');
|
|
41
|
+
console.error(' pfscan doctor --fix');
|
|
42
|
+
console.error('');
|
|
43
|
+
console.error('═══════════════════════════════════════════════════════════');
|
|
44
|
+
console.error('');
|
|
45
|
+
}
|
|
18
46
|
/**
|
|
19
47
|
* Initialize events.db with migrations
|
|
20
48
|
*/
|
|
21
49
|
function initEventsDb(dir) {
|
|
22
50
|
const dbPath = join(dir, 'events.db');
|
|
23
|
-
|
|
51
|
+
let db;
|
|
52
|
+
try {
|
|
53
|
+
db = new Database(dbPath);
|
|
54
|
+
}
|
|
55
|
+
catch (err) {
|
|
56
|
+
printDbError(dbPath, err, 'open');
|
|
57
|
+
throw err;
|
|
58
|
+
}
|
|
24
59
|
// Enable foreign keys
|
|
25
60
|
db.pragma('foreign_keys = ON');
|
|
26
61
|
// Check version
|
|
27
62
|
const currentVersion = db.pragma('user_version', { simple: true });
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
63
|
+
try {
|
|
64
|
+
if (currentVersion === 0) {
|
|
65
|
+
// Fresh database - create full schema
|
|
66
|
+
db.exec(EVENTS_DB_SCHEMA);
|
|
67
|
+
db.pragma(`user_version = ${EVENTS_DB_VERSION}`);
|
|
68
|
+
}
|
|
69
|
+
else if (currentVersion < EVENTS_DB_VERSION) {
|
|
70
|
+
// Run incremental migrations
|
|
71
|
+
runEventsMigrations(db, currentVersion);
|
|
72
|
+
db.pragma(`user_version = ${EVENTS_DB_VERSION}`);
|
|
73
|
+
}
|
|
32
74
|
}
|
|
33
|
-
|
|
34
|
-
//
|
|
35
|
-
|
|
36
|
-
|
|
75
|
+
catch (err) {
|
|
76
|
+
// Close DB before re-throwing to prevent resource leak
|
|
77
|
+
db.close();
|
|
78
|
+
printDbError(dbPath, err, 'migrate');
|
|
79
|
+
throw err;
|
|
37
80
|
}
|
|
38
81
|
return db;
|
|
39
82
|
}
|
|
83
|
+
/**
|
|
84
|
+
* Ensure critical tables exist (guard against partial migrations)
|
|
85
|
+
* This runs BEFORE version-based migrations to handle edge cases
|
|
86
|
+
*/
|
|
87
|
+
function ensureCriticalTables(db) {
|
|
88
|
+
// Phase 3.4: Ensure actors table exists (may be missing if migration failed partway)
|
|
89
|
+
try {
|
|
90
|
+
db.exec(`
|
|
91
|
+
CREATE TABLE IF NOT EXISTS actors (
|
|
92
|
+
id TEXT PRIMARY KEY,
|
|
93
|
+
kind TEXT NOT NULL,
|
|
94
|
+
label TEXT NOT NULL,
|
|
95
|
+
created_at TEXT NOT NULL,
|
|
96
|
+
revoked_at TEXT
|
|
97
|
+
);
|
|
98
|
+
CREATE INDEX IF NOT EXISTS idx_actors_kind ON actors(kind);
|
|
99
|
+
CREATE INDEX IF NOT EXISTS idx_actors_revoked ON actors(revoked_at);
|
|
100
|
+
`);
|
|
101
|
+
}
|
|
102
|
+
catch (err) {
|
|
103
|
+
// Only ignore "table already exists" errors - warn on other errors
|
|
104
|
+
if (err instanceof Error && !err.message.includes('already exists')) {
|
|
105
|
+
console.warn('Warning: Failed to create critical tables:', err.message);
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
}
|
|
40
109
|
/**
|
|
41
110
|
* Run incremental migrations for events.db
|
|
42
111
|
*/
|
|
43
112
|
function runEventsMigrations(db, fromVersion) {
|
|
113
|
+
// Guard: Ensure critical tables exist before running migrations
|
|
114
|
+
ensureCriticalTables(db);
|
|
44
115
|
// Migration 1 → 2: Add seq, summary, payload_hash columns
|
|
45
116
|
if (fromVersion < 2) {
|
|
46
117
|
try {
|
|
@@ -70,8 +141,34 @@ function runEventsMigrations(db, fromVersion) {
|
|
|
70
141
|
throw err;
|
|
71
142
|
}
|
|
72
143
|
}
|
|
73
|
-
//
|
|
74
|
-
|
|
144
|
+
// Migration 2 → 3: Add actor columns, secret_ref_count, actors table (Phase 3.4)
|
|
145
|
+
if (fromVersion < 3) {
|
|
146
|
+
try {
|
|
147
|
+
db.exec('BEGIN TRANSACTION');
|
|
148
|
+
const statements = EVENTS_DB_MIGRATION_2_TO_3
|
|
149
|
+
.split(';')
|
|
150
|
+
.map(s => s.trim())
|
|
151
|
+
.filter(s => s.length > 0 && !s.startsWith('--'));
|
|
152
|
+
for (const stmt of statements) {
|
|
153
|
+
try {
|
|
154
|
+
db.exec(stmt + ';');
|
|
155
|
+
}
|
|
156
|
+
catch (err) {
|
|
157
|
+
// Ignore "duplicate column" and "table already exists" errors
|
|
158
|
+
if (err instanceof Error &&
|
|
159
|
+
!err.message.includes('duplicate column') &&
|
|
160
|
+
!err.message.includes('already exists')) {
|
|
161
|
+
throw err;
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
db.exec('COMMIT');
|
|
166
|
+
}
|
|
167
|
+
catch (err) {
|
|
168
|
+
db.exec('ROLLBACK');
|
|
169
|
+
throw err;
|
|
170
|
+
}
|
|
171
|
+
}
|
|
75
172
|
}
|
|
76
173
|
/**
|
|
77
174
|
* Initialize proofs.db
|
|
@@ -161,4 +258,142 @@ export function getDbSizes(configDir) {
|
|
|
161
258
|
}
|
|
162
259
|
return { events: eventsSize, proofs: proofsSize };
|
|
163
260
|
}
|
|
261
|
+
/**
|
|
262
|
+
* Get database paths
|
|
263
|
+
*/
|
|
264
|
+
export function getDbPaths(configDir) {
|
|
265
|
+
const dir = getDbDir(configDir);
|
|
266
|
+
return {
|
|
267
|
+
events: join(dir, 'events.db'),
|
|
268
|
+
proofs: join(dir, 'proofs.db'),
|
|
269
|
+
};
|
|
270
|
+
}
|
|
271
|
+
/**
|
|
272
|
+
* Run diagnostics on events.db without modifying it
|
|
273
|
+
*/
|
|
274
|
+
export function diagnoseEventsDb(configDir) {
|
|
275
|
+
const dir = getDbDir(configDir);
|
|
276
|
+
const dbPath = join(dir, 'events.db');
|
|
277
|
+
const result = {
|
|
278
|
+
path: dbPath,
|
|
279
|
+
exists: false,
|
|
280
|
+
readable: false,
|
|
281
|
+
userVersion: null,
|
|
282
|
+
tables: [],
|
|
283
|
+
missingTables: [],
|
|
284
|
+
missingColumns: [],
|
|
285
|
+
};
|
|
286
|
+
// Check if file exists
|
|
287
|
+
try {
|
|
288
|
+
statSync(dbPath);
|
|
289
|
+
result.exists = true;
|
|
290
|
+
}
|
|
291
|
+
catch {
|
|
292
|
+
return result;
|
|
293
|
+
}
|
|
294
|
+
// Try to open and read
|
|
295
|
+
let db;
|
|
296
|
+
try {
|
|
297
|
+
db = new Database(dbPath, { readonly: true });
|
|
298
|
+
result.readable = true;
|
|
299
|
+
// Get user_version
|
|
300
|
+
result.userVersion = db.pragma('user_version', { simple: true });
|
|
301
|
+
// Get existing tables
|
|
302
|
+
const tablesResult = db.prepare("SELECT name FROM sqlite_master WHERE type='table' AND name NOT LIKE 'sqlite_%'").all();
|
|
303
|
+
result.tables = tablesResult.map(t => t.name).sort();
|
|
304
|
+
// Check for required tables
|
|
305
|
+
const requiredTables = ['sessions', 'rpc_calls', 'events', 'actors'];
|
|
306
|
+
result.missingTables = requiredTables.filter(t => !result.tables.includes(t));
|
|
307
|
+
// Check for required columns in sessions table (Phase 3.4)
|
|
308
|
+
if (result.tables.includes('sessions')) {
|
|
309
|
+
const columnsResult = db.prepare("PRAGMA table_info(sessions)").all();
|
|
310
|
+
const existingColumns = new Set(columnsResult.map(c => c.name));
|
|
311
|
+
const requiredSessionColumns = ['actor_id', 'actor_kind', 'actor_label', 'secret_ref_count'];
|
|
312
|
+
for (const col of requiredSessionColumns) {
|
|
313
|
+
if (!existingColumns.has(col)) {
|
|
314
|
+
result.missingColumns.push({ table: 'sessions', column: col });
|
|
315
|
+
}
|
|
316
|
+
}
|
|
317
|
+
}
|
|
318
|
+
}
|
|
319
|
+
catch (err) {
|
|
320
|
+
result.error = err instanceof Error ? err.message : String(err);
|
|
321
|
+
}
|
|
322
|
+
finally {
|
|
323
|
+
db?.close();
|
|
324
|
+
}
|
|
325
|
+
return result;
|
|
326
|
+
}
|
|
327
|
+
/** Valid column names for sessions table (Phase 3.4) - security: prevent SQL injection */
|
|
328
|
+
const VALID_SESSION_COLUMNS = new Map([
|
|
329
|
+
['actor_id', 'TEXT'],
|
|
330
|
+
['actor_kind', 'TEXT'],
|
|
331
|
+
['actor_label', 'TEXT'],
|
|
332
|
+
['secret_ref_count', 'INTEGER NOT NULL DEFAULT 0'],
|
|
333
|
+
]);
|
|
334
|
+
/**
|
|
335
|
+
* Attempt to fix missing tables and columns in events.db
|
|
336
|
+
*
|
|
337
|
+
* @param configDir - Optional config directory path
|
|
338
|
+
* @returns Object with success status, list of fixed items, and optional error
|
|
339
|
+
*/
|
|
340
|
+
export function fixEventsDb(configDir) {
|
|
341
|
+
const dir = getDbDir(configDir);
|
|
342
|
+
const dbPath = join(dir, 'events.db');
|
|
343
|
+
const fixed = [];
|
|
344
|
+
let db;
|
|
345
|
+
try {
|
|
346
|
+
db = new Database(dbPath);
|
|
347
|
+
// Wrap all fix operations in a transaction to prevent partial fixes
|
|
348
|
+
db.exec('BEGIN TRANSACTION');
|
|
349
|
+
try {
|
|
350
|
+
// Check if actors table exists before trying to create
|
|
351
|
+
const actorsExists = db.prepare("SELECT name FROM sqlite_master WHERE type='table' AND name='actors'").get();
|
|
352
|
+
if (!actorsExists) {
|
|
353
|
+
db.exec(`
|
|
354
|
+
CREATE TABLE IF NOT EXISTS actors (
|
|
355
|
+
id TEXT PRIMARY KEY,
|
|
356
|
+
kind TEXT NOT NULL,
|
|
357
|
+
label TEXT NOT NULL,
|
|
358
|
+
created_at TEXT NOT NULL,
|
|
359
|
+
revoked_at TEXT
|
|
360
|
+
);
|
|
361
|
+
CREATE INDEX IF NOT EXISTS idx_actors_kind ON actors(kind);
|
|
362
|
+
CREATE INDEX IF NOT EXISTS idx_actors_revoked ON actors(revoked_at);
|
|
363
|
+
`);
|
|
364
|
+
fixed.push('table:actors');
|
|
365
|
+
}
|
|
366
|
+
// Check if sessions table exists before trying to add columns
|
|
367
|
+
const sessionsExists = db.prepare("SELECT name FROM sqlite_master WHERE type='table' AND name='sessions'").get();
|
|
368
|
+
if (sessionsExists) {
|
|
369
|
+
// Add missing columns to sessions table (Phase 3.4)
|
|
370
|
+
const columnsResult = db.prepare("PRAGMA table_info(sessions)").all();
|
|
371
|
+
const existingColumns = new Set(columnsResult.map(c => c.name));
|
|
372
|
+
for (const [colName, colDef] of VALID_SESSION_COLUMNS) {
|
|
373
|
+
if (!existingColumns.has(colName)) {
|
|
374
|
+
// Security: column names validated against VALID_SESSION_COLUMNS whitelist
|
|
375
|
+
db.exec(`ALTER TABLE sessions ADD COLUMN ${colName} ${colDef}`);
|
|
376
|
+
fixed.push(`column:sessions.${colName}`);
|
|
377
|
+
}
|
|
378
|
+
}
|
|
379
|
+
}
|
|
380
|
+
db.exec('COMMIT');
|
|
381
|
+
return { success: true, fixed };
|
|
382
|
+
}
|
|
383
|
+
catch (err) {
|
|
384
|
+
db.exec('ROLLBACK');
|
|
385
|
+
throw err;
|
|
386
|
+
}
|
|
387
|
+
}
|
|
388
|
+
catch (err) {
|
|
389
|
+
return {
|
|
390
|
+
success: false,
|
|
391
|
+
fixed: [], // On rollback, nothing was actually fixed
|
|
392
|
+
error: err instanceof Error ? err.message : String(err),
|
|
393
|
+
};
|
|
394
|
+
}
|
|
395
|
+
finally {
|
|
396
|
+
db?.close();
|
|
397
|
+
}
|
|
398
|
+
}
|
|
164
399
|
//# sourceMappingURL=connection.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connection.js","sourceRoot":"","sources":["../../src/db/connection.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"connection.js","sourceRoot":"","sources":["../../src/db/connection.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,12 +6,28 @@ export declare class EventsStore {
|
|
|
6
6
|
private configDir?;
|
|
7
7
|
constructor(configDir?: string);
|
|
8
8
|
private get db();
|
|
9
|
-
createSession(connectorId: string
|
|
9
|
+
createSession(connectorId: string, options?: {
|
|
10
|
+
actorId?: string;
|
|
11
|
+
actorKind?: string;
|
|
12
|
+
actorLabel?: string;
|
|
13
|
+
}): Session;
|
|
10
14
|
endSession(sessionId: string, exitReason: ExitReason): void;
|
|
11
15
|
getSession(sessionId: string): Session | null;
|
|
12
16
|
getSessionsByConnector(connectorId: string, limit?: number): SessionWithStats[];
|
|
13
17
|
getAllSessions(limit?: number): SessionWithStats[];
|
|
14
18
|
protectSession(sessionId: string): void;
|
|
19
|
+
/**
|
|
20
|
+
* Increment secret_ref_count for a session (Phase 3.4)
|
|
21
|
+
*/
|
|
22
|
+
incrementSecretRefCount(sessionId: string, count: number): void;
|
|
23
|
+
/**
|
|
24
|
+
* Update actor info for a session (Phase 3.4)
|
|
25
|
+
*/
|
|
26
|
+
updateSessionActor(sessionId: string, actor: {
|
|
27
|
+
id: string;
|
|
28
|
+
kind: string;
|
|
29
|
+
label: string;
|
|
30
|
+
}): void;
|
|
15
31
|
saveEvent(sessionId: string, direction: EventDirection, kind: EventKind, options?: {
|
|
16
32
|
rpcId?: string;
|
|
17
33
|
rawJson?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"events-store.d.ts","sourceRoot":"","sources":["../../src/db/events-store.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,KAAK,EACV,OAAO,EACP,KAAK,EACL,OAAO,EACP,UAAU,EACV,cAAc,EACd,SAAS,EACT,gBAAgB,EAChB,cAAc,EACf,MAAM,YAAY,CAAC;AAEpB,qBAAa,WAAW;IACtB,OAAO,CAAC,SAAS,CAAC,CAAS;gBAEf,SAAS,CAAC,EAAE,MAAM;IAI9B,OAAO,KAAK,EAAE,GAEb;IAID,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO;
|
|
1
|
+
{"version":3,"file":"events-store.d.ts","sourceRoot":"","sources":["../../src/db/events-store.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,KAAK,EACV,OAAO,EACP,KAAK,EACL,OAAO,EACP,UAAU,EACV,cAAc,EACd,SAAS,EACT,gBAAgB,EAChB,cAAc,EACf,MAAM,YAAY,CAAC;AAEpB,qBAAa,WAAW;IACtB,OAAO,CAAC,SAAS,CAAC,CAAS;gBAEf,SAAS,CAAC,EAAE,MAAM;IAI9B,OAAO,KAAK,EAAE,GAEb;IAID,aAAa,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAC3C,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,GAAG,OAAO;IAqCX,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,GAAG,IAAI;IAO3D,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,GAAG,IAAI;IAK7C,sBAAsB,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,gBAAgB,EAAE;IAgB/E,cAAc,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,gBAAgB,EAAE;IAelD,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAKvC;;OAEG;IACH,uBAAuB,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAM/D;;OAEG;IACH,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IAO/F,SAAS,CACP,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,cAAc,EACzB,IAAI,EAAE,SAAS,EACf,OAAO,GAAE;QACP,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,WAAW,CAAC,EAAE,MAAM,CAAC;KACjB,GACL,KAAK;IAmCR,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,KAAK,EAAE;IAS9D,0BAA0B,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,GAAE,MAAW,GAAG,KAAK,EAAE;IAc5E,WAAW,CACT,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,GACb,OAAO;IA6BV,eAAe,CACb,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,OAAO,EAChB,SAAS,CAAC,EAAE,MAAM,GACjB,IAAI;IAeP,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,EAAE;IASlD;;OAEG;IACH,kBAAkB,CAAC,OAAO,GAAE;QAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,WAAW,CAAC,EAAE,MAAM,CAAC;KACjB,GAAG,cAAc,EAAE;IAmEzB;;OAEG;IACH,cAAc,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,MAAM;IAc5C;;OAEG;IACH,YAAY,CAAC,OAAO,EAAE;QACpB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;KACvB,GAAG,MAAM;IAyBV;;OAEG;IACH,qBAAqB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM;IAcjD;;OAEG;IACH,cAAc,IAAI,MAAM;IAMxB;;OAEG;IACH,MAAM,IAAI,IAAI;CAGf"}
|
package/dist/db/events-store.js
CHANGED
|
@@ -12,7 +12,7 @@ export class EventsStore {
|
|
|
12
12
|
return getEventsDb(this.configDir);
|
|
13
13
|
}
|
|
14
14
|
// ==================== Sessions ====================
|
|
15
|
-
createSession(connectorId) {
|
|
15
|
+
createSession(connectorId, options) {
|
|
16
16
|
const session = {
|
|
17
17
|
session_id: randomUUID(),
|
|
18
18
|
connector_id: connectorId,
|
|
@@ -21,12 +21,16 @@ export class EventsStore {
|
|
|
21
21
|
exit_reason: null,
|
|
22
22
|
protected: 0,
|
|
23
23
|
created_at: new Date().toISOString(),
|
|
24
|
+
actor_id: options?.actorId || null,
|
|
25
|
+
actor_kind: options?.actorKind || null,
|
|
26
|
+
actor_label: options?.actorLabel || null,
|
|
27
|
+
secret_ref_count: 0,
|
|
24
28
|
};
|
|
25
29
|
const stmt = this.db.prepare(`
|
|
26
|
-
INSERT INTO sessions (session_id, connector_id, started_at, ended_at, exit_reason, protected, created_at)
|
|
27
|
-
VALUES (?, ?, ?, ?, ?, ?, ?)
|
|
30
|
+
INSERT INTO sessions (session_id, connector_id, started_at, ended_at, exit_reason, protected, created_at, actor_id, actor_kind, actor_label, secret_ref_count)
|
|
31
|
+
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
|
|
28
32
|
`);
|
|
29
|
-
stmt.run(session.session_id, session.connector_id, session.started_at, session.ended_at, session.exit_reason, session.protected, session.created_at);
|
|
33
|
+
stmt.run(session.session_id, session.connector_id, session.started_at, session.ended_at, session.exit_reason, session.protected, session.created_at, session.actor_id, session.actor_kind, session.actor_label, session.secret_ref_count);
|
|
30
34
|
return session;
|
|
31
35
|
}
|
|
32
36
|
endSession(sessionId, exitReason) {
|
|
@@ -72,6 +76,22 @@ export class EventsStore {
|
|
|
72
76
|
const stmt = this.db.prepare(`UPDATE sessions SET protected = 1 WHERE session_id = ?`);
|
|
73
77
|
stmt.run(sessionId);
|
|
74
78
|
}
|
|
79
|
+
/**
|
|
80
|
+
* Increment secret_ref_count for a session (Phase 3.4)
|
|
81
|
+
*/
|
|
82
|
+
incrementSecretRefCount(sessionId, count) {
|
|
83
|
+
if (count <= 0)
|
|
84
|
+
return;
|
|
85
|
+
const stmt = this.db.prepare(`UPDATE sessions SET secret_ref_count = secret_ref_count + ? WHERE session_id = ?`);
|
|
86
|
+
stmt.run(count, sessionId);
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Update actor info for a session (Phase 3.4)
|
|
90
|
+
*/
|
|
91
|
+
updateSessionActor(sessionId, actor) {
|
|
92
|
+
const stmt = this.db.prepare(`UPDATE sessions SET actor_id = ?, actor_kind = ?, actor_label = ? WHERE session_id = ?`);
|
|
93
|
+
stmt.run(actor.id, actor.kind, actor.label, sessionId);
|
|
94
|
+
}
|
|
75
95
|
// ==================== Events ====================
|
|
76
96
|
saveEvent(sessionId, direction, kind, options = {}) {
|
|
77
97
|
const event = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"events-store.js","sourceRoot":"","sources":["../../src/db/events-store.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AACpC,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAY9C,MAAM,OAAO,WAAW;IACd,SAAS,CAAU;IAE3B,YAAY,SAAkB;QAC5B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC7B,CAAC;IAED,IAAY,EAAE;QACZ,OAAO,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACrC,CAAC;IAED,qDAAqD;IAErD,aAAa,CAAC,WAAmB;
|
|
1
|
+
{"version":3,"file":"events-store.js","sourceRoot":"","sources":["../../src/db/events-store.ts"],"names":[],"mappings":"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"}
|
package/dist/db/schema.d.ts
CHANGED
|
@@ -1,14 +1,20 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Database schema definitions and migrations
|
|
3
3
|
* Phase 2.1: Schema version 2 with seq, summary, payload_hash
|
|
4
|
+
* Phase 3.4: Schema version 3 with actor columns, secret_ref_count, actors table
|
|
4
5
|
*/
|
|
5
|
-
export declare const EVENTS_DB_VERSION =
|
|
6
|
+
export declare const EVENTS_DB_VERSION = 3;
|
|
6
7
|
export declare const PROOFS_DB_VERSION = 1;
|
|
7
|
-
export declare const EVENTS_DB_SCHEMA = "\n-- Sessions table\nCREATE TABLE IF NOT EXISTS sessions (\n session_id TEXT PRIMARY KEY,\n connector_id TEXT NOT NULL,\n started_at TEXT NOT NULL,\n ended_at TEXT,\n exit_reason TEXT CHECK(exit_reason IN ('normal', 'error', 'killed')),\n protected INTEGER DEFAULT 0,\n created_at TEXT NOT NULL\n);\n\nCREATE INDEX IF NOT EXISTS idx_sessions_connector ON sessions(connector_id);\nCREATE INDEX IF NOT EXISTS idx_sessions_started ON sessions(started_at);\nCREATE INDEX IF NOT EXISTS idx_sessions_protected ON sessions(protected);\n\n-- RPC calls table\nCREATE TABLE IF NOT EXISTS rpc_calls (\n rpc_id TEXT NOT NULL,\n session_id TEXT NOT NULL,\n method TEXT NOT NULL,\n request_ts TEXT NOT NULL,\n response_ts TEXT,\n success INTEGER,\n error_code INTEGER,\n PRIMARY KEY (rpc_id, session_id),\n FOREIGN KEY (session_id) REFERENCES sessions(session_id) ON DELETE CASCADE\n);\n\nCREATE INDEX IF NOT EXISTS idx_rpc_calls_session ON rpc_calls(session_id);\nCREATE INDEX IF NOT EXISTS idx_rpc_calls_method ON rpc_calls(method);\n\n-- Events table (version 2: added seq, summary, payload_hash)\nCREATE TABLE IF NOT EXISTS events (\n event_id TEXT PRIMARY KEY,\n session_id TEXT NOT NULL,\n rpc_id TEXT,\n direction TEXT NOT NULL CHECK(direction IN ('client_to_server', 'server_to_client')),\n kind TEXT NOT NULL CHECK(kind IN ('request', 'response', 'notification', 'transport_event')),\n ts TEXT NOT NULL,\n seq INTEGER,\n summary TEXT,\n payload_hash TEXT,\n raw_json TEXT,\n FOREIGN KEY (session_id) REFERENCES sessions(session_id) ON DELETE CASCADE\n);\n\nCREATE INDEX IF NOT EXISTS idx_events_session ON events(session_id);\nCREATE INDEX IF NOT EXISTS idx_events_ts ON events(ts);\nCREATE INDEX IF NOT EXISTS idx_events_rpc ON events(rpc_id);\nCREATE INDEX IF NOT EXISTS idx_events_seq ON events(session_id, seq);\nCREATE INDEX IF NOT EXISTS idx_events_payload_hash ON events(payload_hash);\n";
|
|
8
|
+
export declare const EVENTS_DB_SCHEMA = "\n-- Sessions table (Phase 3.4: added actor_id, actor_kind, actor_label, secret_ref_count)\nCREATE TABLE IF NOT EXISTS sessions (\n session_id TEXT PRIMARY KEY,\n connector_id TEXT NOT NULL,\n started_at TEXT NOT NULL,\n ended_at TEXT,\n exit_reason TEXT CHECK(exit_reason IN ('normal', 'error', 'killed')),\n protected INTEGER DEFAULT 0,\n created_at TEXT NOT NULL,\n actor_id TEXT,\n actor_kind TEXT,\n actor_label TEXT,\n secret_ref_count INTEGER NOT NULL DEFAULT 0\n);\n\nCREATE INDEX IF NOT EXISTS idx_sessions_connector ON sessions(connector_id);\nCREATE INDEX IF NOT EXISTS idx_sessions_started ON sessions(started_at);\nCREATE INDEX IF NOT EXISTS idx_sessions_protected ON sessions(protected);\n\n-- RPC calls table\nCREATE TABLE IF NOT EXISTS rpc_calls (\n rpc_id TEXT NOT NULL,\n session_id TEXT NOT NULL,\n method TEXT NOT NULL,\n request_ts TEXT NOT NULL,\n response_ts TEXT,\n success INTEGER,\n error_code INTEGER,\n PRIMARY KEY (rpc_id, session_id),\n FOREIGN KEY (session_id) REFERENCES sessions(session_id) ON DELETE CASCADE\n);\n\nCREATE INDEX IF NOT EXISTS idx_rpc_calls_session ON rpc_calls(session_id);\nCREATE INDEX IF NOT EXISTS idx_rpc_calls_method ON rpc_calls(method);\n\n-- Events table (version 2: added seq, summary, payload_hash)\nCREATE TABLE IF NOT EXISTS events (\n event_id TEXT PRIMARY KEY,\n session_id TEXT NOT NULL,\n rpc_id TEXT,\n direction TEXT NOT NULL CHECK(direction IN ('client_to_server', 'server_to_client')),\n kind TEXT NOT NULL CHECK(kind IN ('request', 'response', 'notification', 'transport_event')),\n ts TEXT NOT NULL,\n seq INTEGER,\n summary TEXT,\n payload_hash TEXT,\n raw_json TEXT,\n FOREIGN KEY (session_id) REFERENCES sessions(session_id) ON DELETE CASCADE\n);\n\nCREATE INDEX IF NOT EXISTS idx_events_session ON events(session_id);\nCREATE INDEX IF NOT EXISTS idx_events_ts ON events(ts);\nCREATE INDEX IF NOT EXISTS idx_events_rpc ON events(rpc_id);\nCREATE INDEX IF NOT EXISTS idx_events_seq ON events(session_id, seq);\nCREATE INDEX IF NOT EXISTS idx_events_payload_hash ON events(payload_hash);\n\n-- Actors table (Phase 3.4: registry of known actors, not required for operation)\nCREATE TABLE IF NOT EXISTS actors (\n id TEXT PRIMARY KEY,\n kind TEXT NOT NULL,\n label TEXT NOT NULL,\n created_at TEXT NOT NULL,\n revoked_at TEXT\n);\n\nCREATE INDEX IF NOT EXISTS idx_actors_kind ON actors(kind);\nCREATE INDEX IF NOT EXISTS idx_actors_revoked ON actors(revoked_at);\n";
|
|
8
9
|
/**
|
|
9
10
|
* Migration from version 1 to version 2
|
|
10
11
|
* Adds: seq, summary, payload_hash columns to events table
|
|
11
12
|
*/
|
|
12
13
|
export declare const EVENTS_DB_MIGRATION_1_TO_2 = "\n-- Add seq column (sequence number within session)\nALTER TABLE events ADD COLUMN seq INTEGER;\n\n-- Add summary column (human-readable summary)\nALTER TABLE events ADD COLUMN summary TEXT;\n\n-- Add payload_hash column (SHA-256 first 16 chars)\nALTER TABLE events ADD COLUMN payload_hash TEXT;\n\n-- Create index for seq lookups\nCREATE INDEX IF NOT EXISTS idx_events_seq ON events(session_id, seq);\n\n-- Create index for payload_hash lookups\nCREATE INDEX IF NOT EXISTS idx_events_payload_hash ON events(payload_hash);\n";
|
|
14
|
+
/**
|
|
15
|
+
* Migration from version 2 to version 3
|
|
16
|
+
* Phase 3.4: Adds actor columns and secret_ref_count to sessions, creates actors table
|
|
17
|
+
*/
|
|
18
|
+
export declare const EVENTS_DB_MIGRATION_2_TO_3 = "\n-- Add actor columns to sessions\nALTER TABLE sessions ADD COLUMN actor_id TEXT;\n\nALTER TABLE sessions ADD COLUMN actor_kind TEXT;\n\nALTER TABLE sessions ADD COLUMN actor_label TEXT;\n\nALTER TABLE sessions ADD COLUMN secret_ref_count INTEGER NOT NULL DEFAULT 0;\n\n-- Create actors table\nCREATE TABLE IF NOT EXISTS actors (\n id TEXT PRIMARY KEY,\n kind TEXT NOT NULL,\n label TEXT NOT NULL,\n created_at TEXT NOT NULL,\n revoked_at TEXT\n);\n\nCREATE INDEX IF NOT EXISTS idx_actors_kind ON actors(kind);\n\nCREATE INDEX IF NOT EXISTS idx_actors_revoked ON actors(revoked_at);\n";
|
|
13
19
|
export declare const PROOFS_DB_SCHEMA = "\n-- Proofs table (immutable, never pruned)\nCREATE TABLE IF NOT EXISTS proofs (\n proof_id TEXT PRIMARY KEY,\n connector_id TEXT NOT NULL,\n session_id TEXT,\n rpc_id TEXT,\n method TEXT,\n payload_hash TEXT NOT NULL,\n hash_algo TEXT NOT NULL,\n inscriber_type TEXT NOT NULL,\n inscriber_ref TEXT NOT NULL,\n artifact_uri TEXT,\n created_at TEXT NOT NULL\n);\n\nCREATE INDEX IF NOT EXISTS idx_proofs_connector ON proofs(connector_id);\nCREATE INDEX IF NOT EXISTS idx_proofs_session ON proofs(session_id);\nCREATE INDEX IF NOT EXISTS idx_proofs_created ON proofs(created_at);\n";
|
|
14
20
|
//# sourceMappingURL=schema.d.ts.map
|
package/dist/db/schema.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/db/schema.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/db/schema.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,eAAO,MAAM,iBAAiB,IAAI,CAAC;AACnC,eAAO,MAAM,iBAAiB,IAAI,CAAC;AAGnC,eAAO,MAAM,gBAAgB,66EAoE5B,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,0BAA0B,khBAetC,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,0BAA0B,mlBAsBtC,CAAC;AAGF,eAAO,MAAM,gBAAgB,klBAmB5B,CAAC"}
|
package/dist/db/schema.js
CHANGED
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Database schema definitions and migrations
|
|
3
3
|
* Phase 2.1: Schema version 2 with seq, summary, payload_hash
|
|
4
|
+
* Phase 3.4: Schema version 3 with actor columns, secret_ref_count, actors table
|
|
4
5
|
*/
|
|
5
|
-
export const EVENTS_DB_VERSION =
|
|
6
|
+
export const EVENTS_DB_VERSION = 3;
|
|
6
7
|
export const PROOFS_DB_VERSION = 1;
|
|
7
|
-
// events.db schema (version
|
|
8
|
+
// events.db schema (version 3)
|
|
8
9
|
export const EVENTS_DB_SCHEMA = `
|
|
9
|
-
-- Sessions table
|
|
10
|
+
-- Sessions table (Phase 3.4: added actor_id, actor_kind, actor_label, secret_ref_count)
|
|
10
11
|
CREATE TABLE IF NOT EXISTS sessions (
|
|
11
12
|
session_id TEXT PRIMARY KEY,
|
|
12
13
|
connector_id TEXT NOT NULL,
|
|
@@ -14,7 +15,11 @@ CREATE TABLE IF NOT EXISTS sessions (
|
|
|
14
15
|
ended_at TEXT,
|
|
15
16
|
exit_reason TEXT CHECK(exit_reason IN ('normal', 'error', 'killed')),
|
|
16
17
|
protected INTEGER DEFAULT 0,
|
|
17
|
-
created_at TEXT NOT NULL
|
|
18
|
+
created_at TEXT NOT NULL,
|
|
19
|
+
actor_id TEXT,
|
|
20
|
+
actor_kind TEXT,
|
|
21
|
+
actor_label TEXT,
|
|
22
|
+
secret_ref_count INTEGER NOT NULL DEFAULT 0
|
|
18
23
|
);
|
|
19
24
|
|
|
20
25
|
CREATE INDEX IF NOT EXISTS idx_sessions_connector ON sessions(connector_id);
|
|
@@ -57,6 +62,18 @@ CREATE INDEX IF NOT EXISTS idx_events_ts ON events(ts);
|
|
|
57
62
|
CREATE INDEX IF NOT EXISTS idx_events_rpc ON events(rpc_id);
|
|
58
63
|
CREATE INDEX IF NOT EXISTS idx_events_seq ON events(session_id, seq);
|
|
59
64
|
CREATE INDEX IF NOT EXISTS idx_events_payload_hash ON events(payload_hash);
|
|
65
|
+
|
|
66
|
+
-- Actors table (Phase 3.4: registry of known actors, not required for operation)
|
|
67
|
+
CREATE TABLE IF NOT EXISTS actors (
|
|
68
|
+
id TEXT PRIMARY KEY,
|
|
69
|
+
kind TEXT NOT NULL,
|
|
70
|
+
label TEXT NOT NULL,
|
|
71
|
+
created_at TEXT NOT NULL,
|
|
72
|
+
revoked_at TEXT
|
|
73
|
+
);
|
|
74
|
+
|
|
75
|
+
CREATE INDEX IF NOT EXISTS idx_actors_kind ON actors(kind);
|
|
76
|
+
CREATE INDEX IF NOT EXISTS idx_actors_revoked ON actors(revoked_at);
|
|
60
77
|
`;
|
|
61
78
|
/**
|
|
62
79
|
* Migration from version 1 to version 2
|
|
@@ -78,6 +95,33 @@ CREATE INDEX IF NOT EXISTS idx_events_seq ON events(session_id, seq);
|
|
|
78
95
|
-- Create index for payload_hash lookups
|
|
79
96
|
CREATE INDEX IF NOT EXISTS idx_events_payload_hash ON events(payload_hash);
|
|
80
97
|
`;
|
|
98
|
+
/**
|
|
99
|
+
* Migration from version 2 to version 3
|
|
100
|
+
* Phase 3.4: Adds actor columns and secret_ref_count to sessions, creates actors table
|
|
101
|
+
*/
|
|
102
|
+
export const EVENTS_DB_MIGRATION_2_TO_3 = `
|
|
103
|
+
-- Add actor columns to sessions
|
|
104
|
+
ALTER TABLE sessions ADD COLUMN actor_id TEXT;
|
|
105
|
+
|
|
106
|
+
ALTER TABLE sessions ADD COLUMN actor_kind TEXT;
|
|
107
|
+
|
|
108
|
+
ALTER TABLE sessions ADD COLUMN actor_label TEXT;
|
|
109
|
+
|
|
110
|
+
ALTER TABLE sessions ADD COLUMN secret_ref_count INTEGER NOT NULL DEFAULT 0;
|
|
111
|
+
|
|
112
|
+
-- Create actors table
|
|
113
|
+
CREATE TABLE IF NOT EXISTS actors (
|
|
114
|
+
id TEXT PRIMARY KEY,
|
|
115
|
+
kind TEXT NOT NULL,
|
|
116
|
+
label TEXT NOT NULL,
|
|
117
|
+
created_at TEXT NOT NULL,
|
|
118
|
+
revoked_at TEXT
|
|
119
|
+
);
|
|
120
|
+
|
|
121
|
+
CREATE INDEX IF NOT EXISTS idx_actors_kind ON actors(kind);
|
|
122
|
+
|
|
123
|
+
CREATE INDEX IF NOT EXISTS idx_actors_revoked ON actors(revoked_at);
|
|
124
|
+
`;
|
|
81
125
|
// proofs.db schema
|
|
82
126
|
export const PROOFS_DB_SCHEMA = `
|
|
83
127
|
-- Proofs table (immutable, never pruned)
|
package/dist/db/schema.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/db/schema.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/db/schema.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC;AACnC,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC;AAEnC,+BAA+B;AAC/B,MAAM,CAAC,MAAM,gBAAgB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoE/B,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG;;;;;;;;;;;;;;;CAezC,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG;;;;;;;;;;;;;;;;;;;;;;CAsBzC,CAAC;AAEF,mBAAmB;AACnB,MAAM,CAAC,MAAM,gBAAgB,GAAG;;;;;;;;;;;;;;;;;;;CAmB/B,CAAC"}
|
package/dist/db/types.d.ts
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Database types for Phase2
|
|
2
|
+
* Database types for Phase2 + Phase 3.4
|
|
3
3
|
*/
|
|
4
4
|
export type ExitReason = 'normal' | 'error' | 'killed';
|
|
5
|
+
export type ActorKind = 'human' | 'agent' | 'system';
|
|
5
6
|
export type EventDirection = 'client_to_server' | 'server_to_client';
|
|
6
7
|
export type EventKind = 'request' | 'response' | 'notification' | 'transport_event';
|
|
7
8
|
export interface Session {
|
|
@@ -12,6 +13,17 @@ export interface Session {
|
|
|
12
13
|
exit_reason: ExitReason | null;
|
|
13
14
|
protected: number;
|
|
14
15
|
created_at: string;
|
|
16
|
+
actor_id: string | null;
|
|
17
|
+
actor_kind: string | null;
|
|
18
|
+
actor_label: string | null;
|
|
19
|
+
secret_ref_count: number;
|
|
20
|
+
}
|
|
21
|
+
export interface Actor {
|
|
22
|
+
id: string;
|
|
23
|
+
kind: ActorKind;
|
|
24
|
+
label: string;
|
|
25
|
+
created_at: string;
|
|
26
|
+
revoked_at: string | null;
|
|
15
27
|
}
|
|
16
28
|
export interface RpcCall {
|
|
17
29
|
rpc_id: string;
|
package/dist/db/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/db/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,OAAO,GAAG,QAAQ,CAAC;AAGvD,MAAM,MAAM,cAAc,GAAG,kBAAkB,GAAG,kBAAkB,CAAC;AACrE,MAAM,MAAM,SAAS,GAAG,SAAS,GAAG,UAAU,GAAG,cAAc,GAAG,iBAAiB,CAAC;AAGpF,MAAM,WAAW,OAAO;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,WAAW,EAAE,UAAU,GAAG,IAAI,CAAC;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/db/types.ts"],"names":[],"mappings":"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"}
|
package/dist/db/types.js
CHANGED