@defai.digital/sqlite-adapter 13.4.4 → 13.4.7

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/index.d.ts CHANGED
@@ -4,4 +4,5 @@ export { SQLiteFTSStore, FTSStoreError, FTSStoreErrorCodes, createSQLiteFTSStore
4
4
  export { SqliteCheckpointStorage, SqliteCheckpointStoreError, SqliteCheckpointStoreErrorCodes, createSqliteCheckpointStorage, } from './checkpoint-store.js';
5
5
  export { SqliteDeadLetterStorage, SqliteDeadLetterStoreError, SqliteDeadLetterStoreErrorCodes, createSqliteDeadLetterStorage, } from './dead-letter-store.js';
6
6
  export { SqliteSemanticStore, SemanticStoreError, SemanticStoreErrorCodes, createSqliteSemanticStore, } from './semantic-store.js';
7
+ export { SqliteSessionStore, SqliteSessionStoreError, SqliteSessionStoreErrorCodes, createSqliteSessionStore, } from './session-store.js';
7
8
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,qBAAqB,EACrB,0BAA0B,EAC1B,sBAAsB,GACvB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACL,gBAAgB,EAChB,qBAAqB,EACrB,0BAA0B,EAC1B,sBAAsB,GACvB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACL,cAAc,EACd,aAAa,EACb,kBAAkB,EAClB,oBAAoB,EACpB,KAAK,SAAS,EACd,KAAK,gBAAgB,EACrB,KAAK,OAAO,GACb,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,uBAAuB,EACvB,0BAA0B,EAC1B,+BAA+B,EAC/B,6BAA6B,GAC9B,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EACL,uBAAuB,EACvB,0BAA0B,EAC1B,+BAA+B,EAC/B,6BAA6B,GAC9B,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EACL,mBAAmB,EACnB,kBAAkB,EAClB,uBAAuB,EACvB,yBAAyB,GAC1B,MAAM,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,qBAAqB,EACrB,0BAA0B,EAC1B,sBAAsB,GACvB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACL,gBAAgB,EAChB,qBAAqB,EACrB,0BAA0B,EAC1B,sBAAsB,GACvB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACL,cAAc,EACd,aAAa,EACb,kBAAkB,EAClB,oBAAoB,EACpB,KAAK,SAAS,EACd,KAAK,gBAAgB,EACrB,KAAK,OAAO,GACb,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,uBAAuB,EACvB,0BAA0B,EAC1B,+BAA+B,EAC/B,6BAA6B,GAC9B,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EACL,uBAAuB,EACvB,0BAA0B,EAC1B,+BAA+B,EAC/B,6BAA6B,GAC9B,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EACL,mBAAmB,EACnB,kBAAkB,EAClB,uBAAuB,EACvB,yBAAyB,GAC1B,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACL,kBAAkB,EAClB,uBAAuB,EACvB,4BAA4B,EAC5B,wBAAwB,GACzB,MAAM,oBAAoB,CAAC"}
package/dist/index.js CHANGED
@@ -4,4 +4,5 @@ export { SQLiteFTSStore, FTSStoreError, FTSStoreErrorCodes, createSQLiteFTSStore
4
4
  export { SqliteCheckpointStorage, SqliteCheckpointStoreError, SqliteCheckpointStoreErrorCodes, createSqliteCheckpointStorage, } from './checkpoint-store.js';
5
5
  export { SqliteDeadLetterStorage, SqliteDeadLetterStoreError, SqliteDeadLetterStoreErrorCodes, createSqliteDeadLetterStorage, } from './dead-letter-store.js';
6
6
  export { SqliteSemanticStore, SemanticStoreError, SemanticStoreErrorCodes, createSqliteSemanticStore, } from './semantic-store.js';
7
+ export { SqliteSessionStore, SqliteSessionStoreError, SqliteSessionStoreErrorCodes, createSqliteSessionStore, } from './session-store.js';
7
8
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,qBAAqB,EACrB,0BAA0B,EAC1B,sBAAsB,GACvB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACL,gBAAgB,EAChB,qBAAqB,EACrB,0BAA0B,EAC1B,sBAAsB,GACvB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACL,cAAc,EACd,aAAa,EACb,kBAAkB,EAClB,oBAAoB,GAIrB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,uBAAuB,EACvB,0BAA0B,EAC1B,+BAA+B,EAC/B,6BAA6B,GAC9B,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EACL,uBAAuB,EACvB,0BAA0B,EAC1B,+BAA+B,EAC/B,6BAA6B,GAC9B,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EACL,mBAAmB,EACnB,kBAAkB,EAClB,uBAAuB,EACvB,yBAAyB,GAC1B,MAAM,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,qBAAqB,EACrB,0BAA0B,EAC1B,sBAAsB,GACvB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACL,gBAAgB,EAChB,qBAAqB,EACrB,0BAA0B,EAC1B,sBAAsB,GACvB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACL,cAAc,EACd,aAAa,EACb,kBAAkB,EAClB,oBAAoB,GAIrB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,uBAAuB,EACvB,0BAA0B,EAC1B,+BAA+B,EAC/B,6BAA6B,GAC9B,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EACL,uBAAuB,EACvB,0BAA0B,EAC1B,+BAA+B,EAC/B,6BAA6B,GAC9B,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EACL,mBAAmB,EACnB,kBAAkB,EAClB,uBAAuB,EACvB,yBAAyB,GAC1B,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACL,kBAAkB,EAClB,uBAAuB,EACvB,4BAA4B,EAC5B,wBAAwB,GACzB,MAAM,oBAAoB,CAAC"}
@@ -0,0 +1,114 @@
1
+ /**
2
+ * SQLite Session Store
3
+ *
4
+ * Provides persistent storage for collaboration sessions.
5
+ *
6
+ * Invariants:
7
+ * - INV-SESS-SQL-001: Sessions are persisted to SQLite
8
+ * - INV-SESS-SQL-002: Optimistic concurrency via version field
9
+ * - INV-SESS-SQL-003: Participants stored as JSON array
10
+ */
11
+ import type { Session, SessionStatus, CreateSessionInput } from '@defai.digital/contracts';
12
+ import type Database from 'better-sqlite3';
13
+ /**
14
+ * Filter options for listing sessions (matches session-domain interface)
15
+ */
16
+ export interface SessionFilter {
17
+ status?: SessionStatus;
18
+ initiator?: string;
19
+ participant?: string;
20
+ workspace?: string;
21
+ createdAfter?: string;
22
+ createdBefore?: string;
23
+ limit?: number;
24
+ }
25
+ /**
26
+ * Session store interface (matches session-domain interface)
27
+ */
28
+ export interface SessionStore {
29
+ create(input: CreateSessionInput): Promise<Session>;
30
+ get(sessionId: string): Promise<Session | undefined>;
31
+ update(sessionId: string, session: Session): Promise<void>;
32
+ delete(sessionId: string): Promise<void>;
33
+ list(filter?: SessionFilter): Promise<Session[]>;
34
+ findActiveForAgent(agentId: string, workspace?: string): Promise<Session | undefined>;
35
+ applyPolicy(sessionId: string, policyId: string): Promise<Session>;
36
+ getAppliedPolicies(sessionId: string): Promise<string[]>;
37
+ closeStuckSessions(maxAgeMs?: number): Promise<number>;
38
+ }
39
+ /**
40
+ * Error thrown by SQLite session store operations
41
+ */
42
+ export declare class SqliteSessionStoreError extends Error {
43
+ readonly code: string;
44
+ readonly details?: Record<string, unknown> | undefined;
45
+ constructor(code: string, message: string, details?: Record<string, unknown> | undefined);
46
+ }
47
+ /**
48
+ * Error codes for SQLite session store
49
+ */
50
+ export declare const SqliteSessionStoreErrorCodes: {
51
+ readonly DATABASE_ERROR: "SQLITE_SESSION_DATABASE_ERROR";
52
+ readonly NOT_FOUND: "SQLITE_SESSION_NOT_FOUND";
53
+ readonly VERSION_CONFLICT: "SQLITE_SESSION_VERSION_CONFLICT";
54
+ readonly INVALID_TABLE_NAME: "SQLITE_SESSION_INVALID_TABLE_NAME";
55
+ };
56
+ /**
57
+ * SQLite implementation of SessionStore
58
+ * INV-SESS-SQL-001: Sessions are persisted to SQLite
59
+ */
60
+ export declare class SqliteSessionStore implements SessionStore {
61
+ private readonly db;
62
+ private readonly tableName;
63
+ constructor(db: Database.Database, tableName?: string);
64
+ /**
65
+ * Initializes the database schema
66
+ */
67
+ private initialize;
68
+ /**
69
+ * Create a new session
70
+ */
71
+ create(input: CreateSessionInput): Promise<Session>;
72
+ /**
73
+ * Get a session by ID
74
+ */
75
+ get(sessionId: string): Promise<Session | undefined>;
76
+ /**
77
+ * Update a session
78
+ * INV-SESS-SQL-002: Optimistic concurrency via version field
79
+ */
80
+ update(sessionId: string, session: Session): Promise<void>;
81
+ /**
82
+ * Delete a session
83
+ */
84
+ delete(sessionId: string): Promise<void>;
85
+ /**
86
+ * List sessions with optional filters
87
+ */
88
+ list(filter?: SessionFilter): Promise<Session[]>;
89
+ /**
90
+ * Find active session for an agent
91
+ */
92
+ findActiveForAgent(agentId: string, workspace?: string): Promise<Session | undefined>;
93
+ /**
94
+ * Apply a governance policy to a session
95
+ */
96
+ applyPolicy(sessionId: string, policyId: string): Promise<Session>;
97
+ /**
98
+ * Get applied policies for a session
99
+ */
100
+ getAppliedPolicies(sessionId: string): Promise<string[]>;
101
+ /**
102
+ * Close stuck sessions that have been active longer than maxAgeMs
103
+ */
104
+ closeStuckSessions(maxAgeMs?: number): Promise<number>;
105
+ /**
106
+ * Convert database row to Session object
107
+ */
108
+ private rowToSession;
109
+ }
110
+ /**
111
+ * Creates a new SQLite session store
112
+ */
113
+ export declare function createSqliteSessionStore(db: Database.Database, tableName?: string): SessionStore;
114
+ //# sourceMappingURL=session-store.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-store.d.ts","sourceRoot":"","sources":["../src/session-store.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,351 @@
1
+ /**
2
+ * SQLite Session Store
3
+ *
4
+ * Provides persistent storage for collaboration sessions.
5
+ *
6
+ * Invariants:
7
+ * - INV-SESS-SQL-001: Sessions are persisted to SQLite
8
+ * - INV-SESS-SQL-002: Optimistic concurrency via version field
9
+ * - INV-SESS-SQL-003: Participants stored as JSON array
10
+ */
11
+ import { isValidTableName, invalidTableNameMessage } from './validation.js';
12
+ /**
13
+ * Error thrown by SQLite session store operations
14
+ */
15
+ export class SqliteSessionStoreError extends Error {
16
+ code;
17
+ details;
18
+ constructor(code, message, details) {
19
+ super(message);
20
+ this.code = code;
21
+ this.details = details;
22
+ this.name = 'SqliteSessionStoreError';
23
+ }
24
+ }
25
+ /**
26
+ * Error codes for SQLite session store
27
+ */
28
+ export const SqliteSessionStoreErrorCodes = {
29
+ DATABASE_ERROR: 'SQLITE_SESSION_DATABASE_ERROR',
30
+ NOT_FOUND: 'SQLITE_SESSION_NOT_FOUND',
31
+ VERSION_CONFLICT: 'SQLITE_SESSION_VERSION_CONFLICT',
32
+ INVALID_TABLE_NAME: 'SQLITE_SESSION_INVALID_TABLE_NAME',
33
+ };
34
+ /**
35
+ * SQLite implementation of SessionStore
36
+ * INV-SESS-SQL-001: Sessions are persisted to SQLite
37
+ */
38
+ export class SqliteSessionStore {
39
+ db;
40
+ tableName;
41
+ constructor(db, tableName = 'sessions') {
42
+ // Validate table name to prevent SQL injection
43
+ if (!isValidTableName(tableName)) {
44
+ throw new SqliteSessionStoreError(SqliteSessionStoreErrorCodes.INVALID_TABLE_NAME, invalidTableNameMessage(tableName));
45
+ }
46
+ this.db = db;
47
+ this.tableName = tableName;
48
+ this.initialize();
49
+ }
50
+ /**
51
+ * Initializes the database schema
52
+ */
53
+ initialize() {
54
+ this.db.exec(`
55
+ CREATE TABLE IF NOT EXISTS ${this.tableName} (
56
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
57
+ session_id TEXT NOT NULL UNIQUE,
58
+ initiator TEXT NOT NULL,
59
+ task TEXT NOT NULL,
60
+ status TEXT NOT NULL DEFAULT 'active',
61
+ participants TEXT NOT NULL DEFAULT '[]',
62
+ workspace TEXT,
63
+ metadata TEXT,
64
+ applied_policies TEXT DEFAULT '[]',
65
+ version INTEGER NOT NULL DEFAULT 1,
66
+ created_at TEXT NOT NULL,
67
+ updated_at TEXT NOT NULL,
68
+ completed_at TEXT
69
+ );
70
+
71
+ CREATE INDEX IF NOT EXISTS idx_${this.tableName}_status
72
+ ON ${this.tableName}(status);
73
+
74
+ CREATE INDEX IF NOT EXISTS idx_${this.tableName}_initiator
75
+ ON ${this.tableName}(initiator);
76
+
77
+ CREATE INDEX IF NOT EXISTS idx_${this.tableName}_created_at
78
+ ON ${this.tableName}(created_at DESC);
79
+ `);
80
+ }
81
+ /**
82
+ * Create a new session
83
+ */
84
+ async create(input) {
85
+ const now = new Date().toISOString();
86
+ const sessionId = crypto.randomUUID();
87
+ const session = {
88
+ sessionId,
89
+ initiator: input.initiator,
90
+ task: input.task,
91
+ participants: [
92
+ {
93
+ agentId: input.initiator,
94
+ role: 'initiator',
95
+ joinedAt: now,
96
+ tasks: [],
97
+ },
98
+ ],
99
+ status: 'active',
100
+ createdAt: now,
101
+ updatedAt: now,
102
+ version: 1,
103
+ workspace: input.workspace,
104
+ metadata: input.metadata,
105
+ appliedPolicies: [],
106
+ };
107
+ try {
108
+ const stmt = this.db.prepare(`
109
+ INSERT INTO ${this.tableName} (
110
+ session_id, initiator, task, status, participants,
111
+ workspace, metadata, applied_policies, version, created_at, updated_at
112
+ ) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
113
+ `);
114
+ stmt.run(session.sessionId, session.initiator, session.task, session.status, JSON.stringify(session.participants), session.workspace ?? null, session.metadata ? JSON.stringify(session.metadata) : null, JSON.stringify(session.appliedPolicies), session.version, session.createdAt, session.updatedAt);
115
+ return session;
116
+ }
117
+ catch (error) {
118
+ throw new SqliteSessionStoreError(SqliteSessionStoreErrorCodes.DATABASE_ERROR, `Failed to create session: ${error instanceof Error ? error.message : 'Unknown error'}`);
119
+ }
120
+ }
121
+ /**
122
+ * Get a session by ID
123
+ */
124
+ async get(sessionId) {
125
+ try {
126
+ const stmt = this.db.prepare(`
127
+ SELECT * FROM ${this.tableName} WHERE session_id = ?
128
+ `);
129
+ const row = stmt.get(sessionId);
130
+ if (!row)
131
+ return undefined;
132
+ return this.rowToSession(row);
133
+ }
134
+ catch (error) {
135
+ throw new SqliteSessionStoreError(SqliteSessionStoreErrorCodes.DATABASE_ERROR, `Failed to get session: ${error instanceof Error ? error.message : 'Unknown error'}`);
136
+ }
137
+ }
138
+ /**
139
+ * Update a session
140
+ * INV-SESS-SQL-002: Optimistic concurrency via version field
141
+ */
142
+ async update(sessionId, session) {
143
+ try {
144
+ const now = new Date().toISOString();
145
+ const stmt = this.db.prepare(`
146
+ UPDATE ${this.tableName}
147
+ SET initiator = ?,
148
+ task = ?,
149
+ status = ?,
150
+ participants = ?,
151
+ workspace = ?,
152
+ metadata = ?,
153
+ applied_policies = ?,
154
+ version = ?,
155
+ updated_at = ?,
156
+ completed_at = ?
157
+ WHERE session_id = ? AND version = ?
158
+ `);
159
+ const result = stmt.run(session.initiator, session.task, session.status, JSON.stringify(session.participants), session.workspace ?? null, session.metadata ? JSON.stringify(session.metadata) : null, JSON.stringify(session.appliedPolicies ?? []), session.version, now, session.completedAt ?? null, sessionId, session.version - 1 // Expected previous version
160
+ );
161
+ if (result.changes === 0) {
162
+ // Check if session exists
163
+ const existing = await this.get(sessionId);
164
+ if (!existing) {
165
+ throw new SqliteSessionStoreError(SqliteSessionStoreErrorCodes.NOT_FOUND, `Session ${sessionId} not found`);
166
+ }
167
+ throw new SqliteSessionStoreError(SqliteSessionStoreErrorCodes.VERSION_CONFLICT, `Version conflict for session ${sessionId}: expected ${session.version - 1}, got ${existing.version}`);
168
+ }
169
+ }
170
+ catch (error) {
171
+ if (error instanceof SqliteSessionStoreError)
172
+ throw error;
173
+ throw new SqliteSessionStoreError(SqliteSessionStoreErrorCodes.DATABASE_ERROR, `Failed to update session: ${error instanceof Error ? error.message : 'Unknown error'}`);
174
+ }
175
+ }
176
+ /**
177
+ * Delete a session
178
+ */
179
+ async delete(sessionId) {
180
+ try {
181
+ const stmt = this.db.prepare(`
182
+ DELETE FROM ${this.tableName} WHERE session_id = ?
183
+ `);
184
+ stmt.run(sessionId);
185
+ }
186
+ catch (error) {
187
+ throw new SqliteSessionStoreError(SqliteSessionStoreErrorCodes.DATABASE_ERROR, `Failed to delete session: ${error instanceof Error ? error.message : 'Unknown error'}`);
188
+ }
189
+ }
190
+ /**
191
+ * List sessions with optional filters
192
+ */
193
+ async list(filter) {
194
+ try {
195
+ let sql = `SELECT * FROM ${this.tableName} WHERE 1=1`;
196
+ const params = [];
197
+ if (filter?.status) {
198
+ sql += ' AND status = ?';
199
+ params.push(filter.status);
200
+ }
201
+ if (filter?.initiator) {
202
+ sql += ' AND initiator = ?';
203
+ params.push(filter.initiator);
204
+ }
205
+ if (filter?.workspace) {
206
+ sql += ' AND workspace = ?';
207
+ params.push(filter.workspace);
208
+ }
209
+ if (filter?.createdAfter) {
210
+ sql += ' AND created_at > ?';
211
+ params.push(filter.createdAfter);
212
+ }
213
+ if (filter?.createdBefore) {
214
+ sql += ' AND created_at < ?';
215
+ params.push(filter.createdBefore);
216
+ }
217
+ sql += ' ORDER BY created_at DESC';
218
+ if (filter?.limit) {
219
+ sql += ' LIMIT ?';
220
+ params.push(filter.limit);
221
+ }
222
+ const stmt = this.db.prepare(sql);
223
+ const rows = stmt.all(...params);
224
+ let sessions = rows.map((row) => this.rowToSession(row));
225
+ // Filter by participant (requires post-query filtering due to JSON)
226
+ if (filter?.participant) {
227
+ sessions = sessions.filter((s) => s.participants.some((p) => p.agentId === filter.participant));
228
+ }
229
+ return sessions;
230
+ }
231
+ catch (error) {
232
+ throw new SqliteSessionStoreError(SqliteSessionStoreErrorCodes.DATABASE_ERROR, `Failed to list sessions: ${error instanceof Error ? error.message : 'Unknown error'}`);
233
+ }
234
+ }
235
+ /**
236
+ * Find active session for an agent
237
+ */
238
+ async findActiveForAgent(agentId, workspace) {
239
+ try {
240
+ let sql = `
241
+ SELECT * FROM ${this.tableName}
242
+ WHERE status = 'active'
243
+ `;
244
+ const params = [];
245
+ if (workspace) {
246
+ sql += ' AND workspace = ?';
247
+ params.push(workspace);
248
+ }
249
+ sql += ' ORDER BY created_at DESC';
250
+ const stmt = this.db.prepare(sql);
251
+ const rows = stmt.all(...params);
252
+ for (const row of rows) {
253
+ const session = this.rowToSession(row);
254
+ const isParticipant = session.participants.some((p) => p.agentId === agentId && p.leftAt === undefined);
255
+ if (isParticipant) {
256
+ return session;
257
+ }
258
+ }
259
+ return undefined;
260
+ }
261
+ catch (error) {
262
+ throw new SqliteSessionStoreError(SqliteSessionStoreErrorCodes.DATABASE_ERROR, `Failed to find active session: ${error instanceof Error ? error.message : 'Unknown error'}`);
263
+ }
264
+ }
265
+ /**
266
+ * Apply a governance policy to a session
267
+ */
268
+ async applyPolicy(sessionId, policyId) {
269
+ const session = await this.get(sessionId);
270
+ if (!session) {
271
+ throw new SqliteSessionStoreError(SqliteSessionStoreErrorCodes.NOT_FOUND, `Session ${sessionId} not found`);
272
+ }
273
+ const appliedPolicies = session.appliedPolicies ?? [];
274
+ if (appliedPolicies.includes(policyId)) {
275
+ return session; // Already applied
276
+ }
277
+ const updatedSession = {
278
+ ...session,
279
+ appliedPolicies: [...appliedPolicies, policyId],
280
+ version: session.version + 1,
281
+ };
282
+ await this.update(sessionId, updatedSession);
283
+ return updatedSession;
284
+ }
285
+ /**
286
+ * Get applied policies for a session
287
+ */
288
+ async getAppliedPolicies(sessionId) {
289
+ const session = await this.get(sessionId);
290
+ if (!session) {
291
+ throw new SqliteSessionStoreError(SqliteSessionStoreErrorCodes.NOT_FOUND, `Session ${sessionId} not found`);
292
+ }
293
+ return session.appliedPolicies ?? [];
294
+ }
295
+ /**
296
+ * Close stuck sessions that have been active longer than maxAgeMs
297
+ */
298
+ async closeStuckSessions(maxAgeMs = 86400000) {
299
+ if (maxAgeMs <= 0) {
300
+ throw new Error('maxAgeMs must be a positive number');
301
+ }
302
+ try {
303
+ const cutoff = new Date(Date.now() - maxAgeMs).toISOString();
304
+ const now = new Date().toISOString();
305
+ const stmt = this.db.prepare(`
306
+ UPDATE ${this.tableName}
307
+ SET status = 'failed',
308
+ updated_at = ?,
309
+ completed_at = ?,
310
+ version = version + 1,
311
+ metadata = json_set(
312
+ COALESCE(metadata, '{}'),
313
+ '$.error',
314
+ json('{"code":"SESSION_AUTO_CLOSED","message":"Session closed automatically - exceeded maximum active time"}')
315
+ )
316
+ WHERE status = 'active' AND created_at < ?
317
+ `);
318
+ const result = stmt.run(now, now, cutoff);
319
+ return result.changes;
320
+ }
321
+ catch (error) {
322
+ throw new SqliteSessionStoreError(SqliteSessionStoreErrorCodes.DATABASE_ERROR, `Failed to close stuck sessions: ${error instanceof Error ? error.message : 'Unknown error'}`);
323
+ }
324
+ }
325
+ /**
326
+ * Convert database row to Session object
327
+ */
328
+ rowToSession(row) {
329
+ return {
330
+ sessionId: row.session_id,
331
+ initiator: row.initiator,
332
+ task: row.task,
333
+ status: row.status,
334
+ participants: JSON.parse(row.participants),
335
+ workspace: row.workspace ?? undefined,
336
+ metadata: row.metadata ? JSON.parse(row.metadata) : undefined,
337
+ appliedPolicies: row.applied_policies ? JSON.parse(row.applied_policies) : [],
338
+ version: row.version,
339
+ createdAt: row.created_at,
340
+ updatedAt: row.updated_at,
341
+ completedAt: row.completed_at ?? undefined,
342
+ };
343
+ }
344
+ }
345
+ /**
346
+ * Creates a new SQLite session store
347
+ */
348
+ export function createSqliteSessionStore(db, tableName = 'sessions') {
349
+ return new SqliteSessionStore(db, tableName);
350
+ }
351
+ //# sourceMappingURL=session-store.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-store.js","sourceRoot":"","sources":["../src/session-store.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAQH,OAAO,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AA8B5E;;GAEG;AACH,MAAM,OAAO,uBAAwB,SAAQ,KAAK;IAE9B;IAEA;IAHlB,YACkB,IAAY,EAC5B,OAAe,EACC,OAAiC;QAEjD,KAAK,CAAC,OAAO,CAAC,CAAC;QAJC,SAAI,GAAJ,IAAI,CAAQ;QAEZ,YAAO,GAAP,OAAO,CAA0B;QAGjD,IAAI,CAAC,IAAI,GAAG,yBAAyB,CAAC;IACxC,CAAC;CACF;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAG;IAC1C,cAAc,EAAE,+BAA+B;IAC/C,SAAS,EAAE,0BAA0B;IACrC,gBAAgB,EAAE,iCAAiC;IACnD,kBAAkB,EAAE,mCAAmC;CAC/C,CAAC;AAEX;;;GAGG;AACH,MAAM,OAAO,kBAAkB;IACZ,EAAE,CAAoB;IACtB,SAAS,CAAS;IAEnC,YAAY,EAAqB,EAAE,SAAS,GAAG,UAAU;QACvD,+CAA+C;QAC/C,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,EAAE,CAAC;YACjC,MAAM,IAAI,uBAAuB,CAC/B,4BAA4B,CAAC,kBAAkB,EAC/C,uBAAuB,CAAC,SAAS,CAAC,CACnC,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,UAAU,EAAE,CAAC;IACpB,CAAC;IAED;;OAEG;IACK,UAAU;QAChB,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC;mCACkB,IAAI,CAAC,SAAS;;;;;;;;;;;;;;;;uCAgBV,IAAI,CAAC,SAAS;aACxC,IAAI,CAAC,SAAS;;uCAEY,IAAI,CAAC,SAAS;aACxC,IAAI,CAAC,SAAS;;uCAEY,IAAI,CAAC,SAAS;aACxC,IAAI,CAAC,SAAS;KACtB,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM,CAAC,KAAyB;QACpC,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QACrC,MAAM,SAAS,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;QAEtC,MAAM,OAAO,GAAY;YACvB,SAAS;YACT,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,YAAY,EAAE;gBACZ;oBACE,OAAO,EAAE,KAAK,CAAC,SAAS;oBACxB,IAAI,EAAE,WAAW;oBACjB,QAAQ,EAAE,GAAG;oBACb,KAAK,EAAE,EAAE;iBACV;aACF;YACD,MAAM,EAAE,QAAQ;YAChB,SAAS,EAAE,GAAG;YACd,SAAS,EAAE,GAAG;YACd,OAAO,EAAE,CAAC;YACV,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,eAAe,EAAE,EAAE;SACpB,CAAC;QAEF,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;sBACb,IAAI,CAAC,SAAS;;;;OAI7B,CAAC,CAAC;YAEH,IAAI,CAAC,GAAG,CACN,OAAO,CAAC,SAAS,EACjB,OAAO,CAAC,SAAS,EACjB,OAAO,CAAC,IAAI,EACZ,OAAO,CAAC,MAAM,EACd,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,YAAY,CAAC,EACpC,OAAO,CAAC,SAAS,IAAI,IAAI,EACzB,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,EAC1D,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,eAAe,CAAC,EACvC,OAAO,CAAC,OAAO,EACf,OAAO,CAAC,SAAS,EACjB,OAAO,CAAC,SAAS,CAClB,CAAC;YAEF,OAAO,OAAO,CAAC;QACjB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,uBAAuB,CAC/B,4BAA4B,CAAC,cAAc,EAC3C,6BAA6B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAAE,CACxF,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,GAAG,CAAC,SAAiB;QACzB,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;wBACX,IAAI,CAAC,SAAS;OAC/B,CAAC,CAAC;YAEH,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAA2B,CAAC;YAC1D,IAAI,CAAC,GAAG;gBAAE,OAAO,SAAS,CAAC;YAE3B,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;QAChC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,uBAAuB,CAC/B,4BAA4B,CAAC,cAAc,EAC3C,0BAA0B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAAE,CACrF,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,MAAM,CAAC,SAAiB,EAAE,OAAgB;QAC9C,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;YAErC,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;iBAClB,IAAI,CAAC,SAAS;;;;;;;;;;;;OAYxB,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CACrB,OAAO,CAAC,SAAS,EACjB,OAAO,CAAC,IAAI,EACZ,OAAO,CAAC,MAAM,EACd,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,YAAY,CAAC,EACpC,OAAO,CAAC,SAAS,IAAI,IAAI,EACzB,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,EAC1D,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,eAAe,IAAI,EAAE,CAAC,EAC7C,OAAO,CAAC,OAAO,EACf,GAAG,EACH,OAAO,CAAC,WAAW,IAAI,IAAI,EAC3B,SAAS,EACT,OAAO,CAAC,OAAO,GAAG,CAAC,CAAC,4BAA4B;aACjD,CAAC;YAEF,IAAI,MAAM,CAAC,OAAO,KAAK,CAAC,EAAE,CAAC;gBACzB,0BAA0B;gBAC1B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;gBAC3C,IAAI,CAAC,QAAQ,EAAE,CAAC;oBACd,MAAM,IAAI,uBAAuB,CAC/B,4BAA4B,CAAC,SAAS,EACtC,WAAW,SAAS,YAAY,CACjC,CAAC;gBACJ,CAAC;gBACD,MAAM,IAAI,uBAAuB,CAC/B,4BAA4B,CAAC,gBAAgB,EAC7C,gCAAgC,SAAS,cAAc,OAAO,CAAC,OAAO,GAAG,CAAC,SAAS,QAAQ,CAAC,OAAO,EAAE,CACtG,CAAC;YACJ,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,uBAAuB;gBAAE,MAAM,KAAK,CAAC;YAC1D,MAAM,IAAI,uBAAuB,CAC/B,4BAA4B,CAAC,cAAc,EAC3C,6BAA6B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAAE,CACxF,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM,CAAC,SAAiB;QAC5B,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;sBACb,IAAI,CAAC,SAAS;OAC7B,CAAC,CAAC;YACH,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACtB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,uBAAuB,CAC/B,4BAA4B,CAAC,cAAc,EAC3C,6BAA6B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAAE,CACxF,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,IAAI,CAAC,MAAsB;QAC/B,IAAI,CAAC;YACH,IAAI,GAAG,GAAG,iBAAiB,IAAI,CAAC,SAAS,YAAY,CAAC;YACtD,MAAM,MAAM,GAAc,EAAE,CAAC;YAE7B,IAAI,MAAM,EAAE,MAAM,EAAE,CAAC;gBACnB,GAAG,IAAI,iBAAiB,CAAC;gBACzB,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAC7B,CAAC;YAED,IAAI,MAAM,EAAE,SAAS,EAAE,CAAC;gBACtB,GAAG,IAAI,oBAAoB,CAAC;gBAC5B,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YAChC,CAAC;YAED,IAAI,MAAM,EAAE,SAAS,EAAE,CAAC;gBACtB,GAAG,IAAI,oBAAoB,CAAC;gBAC5B,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YAChC,CAAC;YAED,IAAI,MAAM,EAAE,YAAY,EAAE,CAAC;gBACzB,GAAG,IAAI,qBAAqB,CAAC;gBAC7B,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;YACnC,CAAC;YAED,IAAI,MAAM,EAAE,aAAa,EAAE,CAAC;gBAC1B,GAAG,IAAI,qBAAqB,CAAC;gBAC7B,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;YACpC,CAAC;YAED,GAAG,IAAI,2BAA2B,CAAC;YAEnC,IAAI,MAAM,EAAE,KAAK,EAAE,CAAC;gBAClB,GAAG,IAAI,UAAU,CAAC;gBAClB,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC5B,CAAC;YAED,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YAClC,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,MAAM,CAAiB,CAAC;YAEjD,IAAI,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC;YAEzD,oEAAoE;YACpE,IAAI,MAAM,EAAE,WAAW,EAAE,CAAC;gBACxB,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAC/B,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,MAAM,CAAC,WAAW,CAAC,CAC7D,CAAC;YACJ,CAAC;YAED,OAAO,QAAQ,CAAC;QAClB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,uBAAuB,CAC/B,4BAA4B,CAAC,cAAc,EAC3C,4BAA4B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAAE,CACvF,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,kBAAkB,CACtB,OAAe,EACf,SAAkB;QAElB,IAAI,CAAC;YACH,IAAI,GAAG,GAAG;wBACQ,IAAI,CAAC,SAAS;;OAE/B,CAAC;YACF,MAAM,MAAM,GAAc,EAAE,CAAC;YAE7B,IAAI,SAAS,EAAE,CAAC;gBACd,GAAG,IAAI,oBAAoB,CAAC;gBAC5B,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACzB,CAAC;YAED,GAAG,IAAI,2BAA2B,CAAC;YAEnC,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YAClC,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,MAAM,CAAiB,CAAC;YAEjD,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;gBACvB,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;gBACvC,MAAM,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC,IAAI,CAC7C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,OAAO,IAAI,CAAC,CAAC,MAAM,KAAK,SAAS,CACvD,CAAC;gBACF,IAAI,aAAa,EAAE,CAAC;oBAClB,OAAO,OAAO,CAAC;gBACjB,CAAC;YACH,CAAC;YAED,OAAO,SAAS,CAAC;QACnB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,uBAAuB,CAC/B,4BAA4B,CAAC,cAAc,EAC3C,kCAAkC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAAE,CAC7F,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,WAAW,CAAC,SAAiB,EAAE,QAAgB;QACnD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC1C,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,uBAAuB,CAC/B,4BAA4B,CAAC,SAAS,EACtC,WAAW,SAAS,YAAY,CACjC,CAAC;QACJ,CAAC;QAED,MAAM,eAAe,GAAG,OAAO,CAAC,eAAe,IAAI,EAAE,CAAC;QACtD,IAAI,eAAe,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;YACvC,OAAO,OAAO,CAAC,CAAC,kBAAkB;QACpC,CAAC;QAED,MAAM,cAAc,GAAY;YAC9B,GAAG,OAAO;YACV,eAAe,EAAE,CAAC,GAAG,eAAe,EAAE,QAAQ,CAAC;YAC/C,OAAO,EAAE,OAAO,CAAC,OAAO,GAAG,CAAC;SAC7B,CAAC;QAEF,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;QAC7C,OAAO,cAAc,CAAC;IACxB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,kBAAkB,CAAC,SAAiB;QACxC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC1C,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,uBAAuB,CAC/B,4BAA4B,CAAC,SAAS,EACtC,WAAW,SAAS,YAAY,CACjC,CAAC;QACJ,CAAC;QACD,OAAO,OAAO,CAAC,eAAe,IAAI,EAAE,CAAC;IACvC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,kBAAkB,CAAC,QAAQ,GAAG,QAAQ;QAC1C,IAAI,QAAQ,IAAI,CAAC,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;QACxD,CAAC;QAED,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC;YAC7D,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;YAErC,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;iBAClB,IAAI,CAAC,SAAS;;;;;;;;;;;OAWxB,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;YAC1C,OAAO,MAAM,CAAC,OAAO,CAAC;QACxB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,uBAAuB,CAC/B,4BAA4B,CAAC,cAAc,EAC3C,mCAAmC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAAE,CAC9F,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;OAEG;IACK,YAAY,CAAC,GAAe;QAClC,OAAO;YACL,SAAS,EAAE,GAAG,CAAC,UAAU;YACzB,SAAS,EAAE,GAAG,CAAC,SAAS;YACxB,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,MAAM,EAAE,GAAG,CAAC,MAAuB;YACnC,YAAY,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC;YAC1C,SAAS,EAAE,GAAG,CAAC,SAAS,IAAI,SAAS;YACrC,QAAQ,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS;YAC7D,eAAe,EAAE,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,EAAE;YAC7E,OAAO,EAAE,GAAG,CAAC,OAAO;YACpB,SAAS,EAAE,GAAG,CAAC,UAAU;YACzB,SAAS,EAAE,GAAG,CAAC,UAAU;YACzB,WAAW,EAAE,GAAG,CAAC,YAAY,IAAI,SAAS;SAC3C,CAAC;IACJ,CAAC;CACF;AAqBD;;GAEG;AACH,MAAM,UAAU,wBAAwB,CACtC,EAAqB,EACrB,SAAS,GAAG,UAAU;IAEtB,OAAO,IAAI,kBAAkB,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;AAC/C,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"trace-store.d.ts","sourceRoot":"","sources":["../src/trace-store.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAA6B,MAAM,0BAA0B,CAAC;AAEtF,OAAO,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC3F,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAG3C;;GAEG;AACH,qBAAa,qBAAsB,SAAQ,KAAK;aAE5B,IAAI,EAAE,MAAM;aAEZ,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;gBAFjC,IAAI,EAAE,MAAM,EAC5B,OAAO,EAAE,MAAM,EACC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,YAAA;CAKpD;AAED;;GAEG;AACH,eAAO,MAAM,0BAA0B;;;;CAI7B,CAAC;AAEX;;;;GAIG;AACH,qBAAa,gBAAiB,YAAW,UAAU;IACjD,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAoB;IACvC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;IACrC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAS;gBAGtC,EAAE,EAAE,QAAQ,CAAC,QAAQ,EACrB,WAAW,SAAiB,EAC5B,cAAc,SAAoB;IAqBpC;;OAEG;IACH,OAAO,CAAC,UAAU;IAkElB;;OAEG;IACH,OAAO,CAAC,uBAAuB;IA2B/B;;;OAGG;IACH,KAAK,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAmCvC;;;OAGG;IACH,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAItB;;;OAGG;IACH,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAahD;;OAEG;IACH,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC;IAY3E;;OAEG;IACH,UAAU,CAAC,KAAK,SAAM,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAchD;;OAEG;IACH,OAAO,CAAC,aAAa;IAkGrB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IA0DxB;;;OAGG;IACH,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAc7D;;;OAGG;IACH,cAAc,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAc9D;;;OAGG;IACH,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAc9D;;;OAGG;IACG,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC;IAwDvE;;OAEG;IACH,KAAK,IAAI,IAAI;IAKb;;;;;OAKG;IACG,gBAAgB,CAAC,QAAQ,SAAU,GAAG,OAAO,CAAC,MAAM,CAAC;IAsD3D;;;OAGG;IACH,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;CAuB/C;AAqHD;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,EAAE,EAAE,QAAQ,CAAC,QAAQ,EACrB,WAAW,CAAC,EAAE,MAAM,EACpB,cAAc,CAAC,EAAE,MAAM,GACtB,gBAAgB,CAElB"}
1
+ {"version":3,"file":"trace-store.d.ts","sourceRoot":"","sources":["../src/trace-store.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAA6B,MAAM,0BAA0B,CAAC;AAEtF,OAAO,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC3F,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAG3C;;GAEG;AACH,qBAAa,qBAAsB,SAAQ,KAAK;aAE5B,IAAI,EAAE,MAAM;aAEZ,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;gBAFjC,IAAI,EAAE,MAAM,EAC5B,OAAO,EAAE,MAAM,EACC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,YAAA;CAKpD;AAED;;GAEG;AACH,eAAO,MAAM,0BAA0B;;;;CAI7B,CAAC;AAEX;;;;GAIG;AACH,qBAAa,gBAAiB,YAAW,UAAU;IACjD,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAoB;IACvC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;IACrC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAS;gBAGtC,EAAE,EAAE,QAAQ,CAAC,QAAQ,EACrB,WAAW,SAAiB,EAC5B,cAAc,SAAoB;IAqBpC;;OAEG;IACH,OAAO,CAAC,UAAU;IAkElB;;OAEG;IACH,OAAO,CAAC,uBAAuB;IA2B/B;;;OAGG;IACH,KAAK,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAmCvC;;;OAGG;IACH,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAItB;;;OAGG;IACH,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAahD;;OAEG;IACH,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC;IAY3E;;OAEG;IACH,UAAU,CAAC,KAAK,SAAM,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAchD;;OAEG;IACH,OAAO,CAAC,aAAa;IAkGrB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IA0DxB;;;OAGG;IACH,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAc7D;;;OAGG;IACH,cAAc,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAc9D;;;OAGG;IACH,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAc9D;;;OAGG;IACG,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC;IAwEvE;;OAEG;IACH,KAAK,IAAI,IAAI;IAKb;;;;;OAKG;IACG,gBAAgB,CAAC,QAAQ,SAAkB,GAAG,OAAO,CAAC,MAAM,CAAC;IA6DnE;;;OAGG;IACH,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;CAuB/C;AAqHD;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,EAAE,EAAE,QAAQ,CAAC,QAAQ,EACrB,WAAW,CAAC,EAAE,MAAM,EACpB,cAAc,CAAC,EAAE,MAAM,GACtB,gBAAgB,CAElB"}
@@ -1,4 +1,4 @@
1
- import { getErrorMessage } from '@defai.digital/contracts';
1
+ import { getErrorMessage, TIMEOUT_SESSION } from '@defai.digital/contracts';
2
2
  import { isValidTableName, invalidTableNameMessage } from './validation.js';
3
3
  /**
4
4
  * Error thrown by SQLite trace store operations
@@ -412,11 +412,25 @@ export class SqliteTraceStore {
412
412
  for (const trace of allTraces) {
413
413
  traceMap.set(trace.traceId, trace);
414
414
  }
415
- // Build tree recursively
416
- const buildNode = (summary) => {
415
+ // Build tree recursively with cycle detection
416
+ // INV-TR-023: Prevent infinite recursion from circular parent references
417
+ const buildNode = (summary, visited = new Set()) => {
418
+ // Detect cycles - if we've already visited this trace, skip its children
419
+ if (visited.has(summary.traceId)) {
420
+ console.warn(`[trace-store] Circular reference detected for trace ${summary.traceId}, breaking cycle`);
421
+ return {
422
+ trace: summary,
423
+ children: [],
424
+ totalDurationMs: summary.durationMs ?? 0,
425
+ totalEventCount: summary.eventCount,
426
+ };
427
+ }
428
+ // Mark this trace as visited
429
+ const newVisited = new Set(visited);
430
+ newVisited.add(summary.traceId);
417
431
  const children = allTraces
418
432
  .filter((t) => t.parentTraceId === summary.traceId)
419
- .map((childSummary) => buildNode(childSummary));
433
+ .map((childSummary) => buildNode(childSummary, newVisited));
420
434
  const childDuration = children.reduce((sum, child) => sum + (child.totalDurationMs ?? 0), 0);
421
435
  const childEventCount = children.reduce((sum, child) => sum + child.totalEventCount, 0);
422
436
  return {
@@ -445,7 +459,7 @@ export class SqliteTraceStore {
445
459
  * @param maxAgeMs Maximum age in milliseconds (default: 1 hour)
446
460
  * @returns number of traces that were closed
447
461
  */
448
- async closeStuckTraces(maxAgeMs = 3600000) {
462
+ async closeStuckTraces(maxAgeMs = TIMEOUT_SESSION) {
449
463
  // Input validation
450
464
  if (maxAgeMs <= 0) {
451
465
  throw new Error('maxAgeMs must be a positive number');
@@ -464,11 +478,18 @@ export class SqliteTraceStore {
464
478
  let closedCount = 0;
465
479
  for (const trace of stuckTraces) {
466
480
  const startTime = new Date(trace.start_time).getTime();
481
+ // INV-TR-026: Guard against invalid timestamps producing NaN duration
482
+ if (Number.isNaN(startTime)) {
483
+ console.warn(`[trace-store] Invalid start_time for trace ${trace.trace_id}, skipping auto-close`);
484
+ continue;
485
+ }
467
486
  const durationMs = currentTime - startTime;
468
487
  // Write a run.end event to close the trace
469
- // Use timestamp in eventId to prevent collisions on repeated cleanup calls
488
+ // Use timestamp + random suffix in eventId to prevent collisions on repeated cleanup calls
489
+ // INV-TR-025: Prevent eventId collision in closeStuckTraces
490
+ const randomSuffix = Math.random().toString(36).slice(2, 8);
470
491
  const endEvent = {
471
- eventId: `${trace.trace_id}-auto-close-${currentTime}`,
492
+ eventId: `${trace.trace_id}-auto-close-${currentTime}-${randomSuffix}`,
472
493
  traceId: trace.trace_id,
473
494
  type: 'run.end',
474
495
  timestamp: new Date().toISOString(),
@@ -1 +1 @@
1
- {"version":3,"file":"trace-store.js","sourceRoot":"","sources":["../src/trace-store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"trace-store.js","sourceRoot":"","sources":["../src/trace-store.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@defai.digital/sqlite-adapter",
3
- "version": "13.4.4",
3
+ "version": "13.4.7",
4
4
  "type": "module",
5
5
  "license": "BUSL-1.1",
6
6
  "author": "DEFAI Private Limited",
@@ -30,12 +30,12 @@
30
30
  },
31
31
  "dependencies": {
32
32
  "better-sqlite3": "^11.6.0",
33
- "@defai.digital/agent-execution": "13.4.4",
34
- "@defai.digital/contracts": "13.4.4",
35
- "@defai.digital/cross-cutting": "13.4.4",
36
- "@defai.digital/memory-domain": "13.4.4",
37
- "@defai.digital/semantic-context": "13.4.4",
38
- "@defai.digital/trace-domain": "13.4.4"
33
+ "@defai.digital/agent-execution": "13.4.7",
34
+ "@defai.digital/cross-cutting": "13.4.7",
35
+ "@defai.digital/contracts": "13.4.7",
36
+ "@defai.digital/memory-domain": "13.4.7",
37
+ "@defai.digital/semantic-context": "13.4.7",
38
+ "@defai.digital/trace-domain": "13.4.7"
39
39
  },
40
40
  "devDependencies": {
41
41
  "@types/better-sqlite3": "^7.6.11",