cmp-standards 2.8.0-alpha → 2.8.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/cache/EmbeddingCache.d.ts +2 -1
- package/dist/cache/EmbeddingCache.d.ts.map +1 -1
- package/dist/cache/EmbeddingCache.js +12 -12
- package/dist/cache/EmbeddingCache.js.map +1 -1
- package/dist/db/cloud.d.ts +1 -0
- package/dist/db/cloud.d.ts.map +1 -1
- package/dist/db/drizzle-client.d.ts +10 -1
- package/dist/db/drizzle-client.d.ts.map +1 -1
- package/dist/db/drizzle-client.js +57 -3
- package/dist/db/drizzle-client.js.map +1 -1
- package/dist/db/errors.d.ts +13 -1
- package/dist/db/errors.d.ts.map +1 -1
- package/dist/db/errors.js +49 -5
- package/dist/db/errors.js.map +1 -1
- package/dist/db/migrations.d.ts +42 -0
- package/dist/db/migrations.d.ts.map +1 -0
- package/dist/db/migrations.js +173 -0
- package/dist/db/migrations.js.map +1 -0
- package/dist/db/turso-client.d.ts +15 -3
- package/dist/db/turso-client.d.ts.map +1 -1
- package/dist/db/turso-client.js +49 -38
- package/dist/db/turso-client.js.map +1 -1
- package/dist/events/EventBus.d.ts +10 -0
- package/dist/events/EventBus.d.ts.map +1 -1
- package/dist/events/EventBus.js +57 -1
- package/dist/events/EventBus.js.map +1 -1
- package/dist/interfaces/index.d.ts +450 -0
- package/dist/interfaces/index.d.ts.map +1 -0
- package/dist/interfaces/index.js +50 -0
- package/dist/interfaces/index.js.map +1 -0
- package/dist/mcp/schemas.d.ts +278 -0
- package/dist/mcp/schemas.d.ts.map +1 -0
- package/dist/mcp/schemas.js +166 -0
- package/dist/mcp/schemas.js.map +1 -0
- package/dist/mcp/server.d.ts.map +1 -1
- package/dist/mcp/server.js +14 -3
- package/dist/mcp/server.js.map +1 -1
- package/dist/patterns/feedback-loop.d.ts +264 -0
- package/dist/patterns/feedback-loop.d.ts.map +1 -0
- package/dist/patterns/feedback-loop.js +329 -0
- package/dist/patterns/feedback-loop.js.map +1 -0
- package/dist/patterns/index.d.ts +9 -0
- package/dist/patterns/index.d.ts.map +1 -0
- package/dist/patterns/index.js +9 -0
- package/dist/patterns/index.js.map +1 -0
- package/dist/patterns/lifecycle.d.ts +88 -0
- package/dist/patterns/lifecycle.d.ts.map +1 -0
- package/dist/patterns/lifecycle.js +284 -0
- package/dist/patterns/lifecycle.js.map +1 -0
- package/dist/patterns/registry.d.ts +142 -0
- package/dist/patterns/registry.d.ts.map +1 -0
- package/dist/patterns/registry.js +442 -0
- package/dist/patterns/registry.js.map +1 -0
- package/dist/services/PlanManager.d.ts +1 -1
- package/dist/services/PlanManager.d.ts.map +1 -1
- package/dist/services/PlanManager.js +26 -6
- package/dist/services/PlanManager.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,173 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file Database Migrations
|
|
3
|
+
* @description Version-controlled schema changes for Turso
|
|
4
|
+
* @version 2.8.0
|
|
5
|
+
*/
|
|
6
|
+
import { getTurso, TursoError } from './turso-client.js';
|
|
7
|
+
// =============================================================================
|
|
8
|
+
// Migrations
|
|
9
|
+
// =============================================================================
|
|
10
|
+
const migrations = [
|
|
11
|
+
{
|
|
12
|
+
version: 1,
|
|
13
|
+
name: 'initial_schema',
|
|
14
|
+
up: async (db) => {
|
|
15
|
+
await db.execute(`
|
|
16
|
+
CREATE TABLE IF NOT EXISTS items (
|
|
17
|
+
id TEXT PRIMARY KEY,
|
|
18
|
+
type TEXT NOT NULL,
|
|
19
|
+
status TEXT NOT NULL DEFAULT 'pending',
|
|
20
|
+
system TEXT NOT NULL,
|
|
21
|
+
content TEXT NOT NULL,
|
|
22
|
+
created_at TEXT NOT NULL DEFAULT (datetime('now')),
|
|
23
|
+
updated_at TEXT NOT NULL DEFAULT (datetime('now'))
|
|
24
|
+
)
|
|
25
|
+
`);
|
|
26
|
+
await db.execute(`CREATE INDEX IF NOT EXISTS idx_items_type ON items(type)`);
|
|
27
|
+
await db.execute(`CREATE INDEX IF NOT EXISTS idx_items_status ON items(status)`);
|
|
28
|
+
await db.execute(`CREATE INDEX IF NOT EXISTS idx_items_system ON items(system)`);
|
|
29
|
+
await db.execute(`CREATE INDEX IF NOT EXISTS idx_items_type_status ON items(type, status)`);
|
|
30
|
+
},
|
|
31
|
+
down: async (db) => {
|
|
32
|
+
await db.execute(`DROP TABLE IF EXISTS items`);
|
|
33
|
+
}
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
version: 2,
|
|
37
|
+
name: 'add_parent_id',
|
|
38
|
+
up: async (db) => {
|
|
39
|
+
// Check if column exists
|
|
40
|
+
const result = await db.execute(`PRAGMA table_info(items)`);
|
|
41
|
+
const hasParentId = result.rows.some(row => row.name === 'parent_id');
|
|
42
|
+
if (!hasParentId) {
|
|
43
|
+
await db.execute(`ALTER TABLE items ADD COLUMN parent_id TEXT`);
|
|
44
|
+
await db.execute(`CREATE INDEX IF NOT EXISTS idx_items_parent_id ON items(parent_id)`);
|
|
45
|
+
}
|
|
46
|
+
},
|
|
47
|
+
down: async () => {
|
|
48
|
+
// SQLite doesn't support DROP COLUMN easily
|
|
49
|
+
throw new Error('Migration 2 rollback not supported - requires table recreation');
|
|
50
|
+
}
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
version: 3,
|
|
54
|
+
name: 'add_system_type_status_index',
|
|
55
|
+
up: async (db) => {
|
|
56
|
+
await db.execute(`CREATE INDEX IF NOT EXISTS idx_items_system_type_status ON items(system, type, status)`);
|
|
57
|
+
},
|
|
58
|
+
down: async (db) => {
|
|
59
|
+
await db.execute(`DROP INDEX IF EXISTS idx_items_system_type_status`);
|
|
60
|
+
}
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
version: 4,
|
|
64
|
+
name: 'add_created_at_index',
|
|
65
|
+
up: async (db) => {
|
|
66
|
+
await db.execute(`CREATE INDEX IF NOT EXISTS idx_items_created_at ON items(created_at)`);
|
|
67
|
+
},
|
|
68
|
+
down: async (db) => {
|
|
69
|
+
await db.execute(`DROP INDEX IF EXISTS idx_items_created_at`);
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
];
|
|
73
|
+
// =============================================================================
|
|
74
|
+
// Migration Runner
|
|
75
|
+
// =============================================================================
|
|
76
|
+
/**
|
|
77
|
+
* Run all pending migrations
|
|
78
|
+
*/
|
|
79
|
+
export async function runMigrations() {
|
|
80
|
+
const db = getTurso();
|
|
81
|
+
// Create migrations tracking table
|
|
82
|
+
await db.execute(`
|
|
83
|
+
CREATE TABLE IF NOT EXISTS schema_migrations (
|
|
84
|
+
version INTEGER PRIMARY KEY,
|
|
85
|
+
name TEXT NOT NULL,
|
|
86
|
+
applied_at TEXT NOT NULL DEFAULT (datetime('now'))
|
|
87
|
+
)
|
|
88
|
+
`);
|
|
89
|
+
// Get current version
|
|
90
|
+
const result = await db.execute('SELECT MAX(version) as version FROM schema_migrations');
|
|
91
|
+
const currentVersion = result.rows[0]?.version || 0;
|
|
92
|
+
let applied = 0;
|
|
93
|
+
// Run pending migrations
|
|
94
|
+
for (const migration of migrations) {
|
|
95
|
+
if (migration.version > currentVersion) {
|
|
96
|
+
console.log(`[Migration] Running ${migration.version}: ${migration.name}`);
|
|
97
|
+
try {
|
|
98
|
+
await migration.up(db);
|
|
99
|
+
await db.execute({
|
|
100
|
+
sql: 'INSERT INTO schema_migrations (version, name) VALUES (?, ?)',
|
|
101
|
+
args: [migration.version, migration.name]
|
|
102
|
+
});
|
|
103
|
+
console.log(`[Migration] ✓ ${migration.version} completed`);
|
|
104
|
+
applied++;
|
|
105
|
+
}
|
|
106
|
+
catch (error) {
|
|
107
|
+
console.error(`[Migration] ✗ ${migration.version} failed:`, error);
|
|
108
|
+
throw new TursoError(`Migration ${migration.version} failed`, error, 'init');
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
const newVersion = currentVersion + applied;
|
|
113
|
+
if (applied > 0) {
|
|
114
|
+
console.log(`[Migration] Applied ${applied} migrations. Now at version ${newVersion}`);
|
|
115
|
+
}
|
|
116
|
+
return { applied, current: newVersion };
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* Get migration status
|
|
120
|
+
*/
|
|
121
|
+
export async function getMigrationStatus() {
|
|
122
|
+
const db = getTurso();
|
|
123
|
+
// Check if migrations table exists
|
|
124
|
+
const tables = await db.execute(`
|
|
125
|
+
SELECT name FROM sqlite_master
|
|
126
|
+
WHERE type='table' AND name='schema_migrations'
|
|
127
|
+
`);
|
|
128
|
+
if (tables.rows.length === 0) {
|
|
129
|
+
return { current: 0, pending: migrations.length, applied: [] };
|
|
130
|
+
}
|
|
131
|
+
const result = await db.execute('SELECT version, name, applied_at FROM schema_migrations ORDER BY version');
|
|
132
|
+
const applied = result.rows.map(row => ({
|
|
133
|
+
version: row.version,
|
|
134
|
+
name: row.name,
|
|
135
|
+
appliedAt: row.applied_at
|
|
136
|
+
}));
|
|
137
|
+
const current = applied.length > 0 ? Math.max(...applied.map(a => a.version)) : 0;
|
|
138
|
+
const pending = migrations.filter(m => m.version > current).length;
|
|
139
|
+
return { current, pending, applied };
|
|
140
|
+
}
|
|
141
|
+
/**
|
|
142
|
+
* Rollback last migration
|
|
143
|
+
*/
|
|
144
|
+
export async function rollbackMigration() {
|
|
145
|
+
const db = getTurso();
|
|
146
|
+
const status = await getMigrationStatus();
|
|
147
|
+
if (status.current === 0) {
|
|
148
|
+
return { rolledBack: null, current: 0 };
|
|
149
|
+
}
|
|
150
|
+
const migration = migrations.find(m => m.version === status.current);
|
|
151
|
+
if (!migration) {
|
|
152
|
+
throw new TursoError(`Migration ${status.current} not found`, undefined, 'init');
|
|
153
|
+
}
|
|
154
|
+
console.log(`[Migration] Rolling back ${migration.version}: ${migration.name}`);
|
|
155
|
+
try {
|
|
156
|
+
await migration.down(db);
|
|
157
|
+
await db.execute({
|
|
158
|
+
sql: 'DELETE FROM schema_migrations WHERE version = ?',
|
|
159
|
+
args: [migration.version]
|
|
160
|
+
});
|
|
161
|
+
console.log(`[Migration] ✓ Rollback complete`);
|
|
162
|
+
return { rolledBack: migration.version, current: status.current - 1 };
|
|
163
|
+
}
|
|
164
|
+
catch (error) {
|
|
165
|
+
console.error(`[Migration] ✗ Rollback failed:`, error);
|
|
166
|
+
throw new TursoError(`Rollback of migration ${migration.version} failed`, error, 'init');
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
// =============================================================================
|
|
170
|
+
// Exports
|
|
171
|
+
// =============================================================================
|
|
172
|
+
export { migrations };
|
|
173
|
+
//# sourceMappingURL=migrations.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"migrations.js","sourceRoot":"","sources":["../../src/db/migrations.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,8 +2,10 @@
|
|
|
2
2
|
* @file Cliente Turso (SQLite Edge)
|
|
3
3
|
* @description Cliente serverless para Turso - base de datos principal para tareas, mejoras y memorias
|
|
4
4
|
*/
|
|
5
|
-
import { type Client } from '@libsql/client';
|
|
5
|
+
import { type Client, type InValue } from '@libsql/client';
|
|
6
6
|
import type { TaskContent, ImprovementContent } from '../schema/tracking.js';
|
|
7
|
+
import { TursoError } from './errors.js';
|
|
8
|
+
export { TursoError };
|
|
7
9
|
export interface TursoConfig {
|
|
8
10
|
url: string;
|
|
9
11
|
authToken: string;
|
|
@@ -35,10 +37,19 @@ export declare function initTurso(config?: TursoConfig): Client;
|
|
|
35
37
|
*/
|
|
36
38
|
export declare function getTurso(): Client;
|
|
37
39
|
/**
|
|
38
|
-
* Crear tablas en Turso
|
|
40
|
+
* Crear tablas en Turso usando sistema de migraciones
|
|
39
41
|
* @throws {TursoError} If schema creation fails
|
|
40
42
|
*/
|
|
41
43
|
export declare function setupTursoSchema(): Promise<void>;
|
|
44
|
+
export interface TransactionStatement {
|
|
45
|
+
sql: string;
|
|
46
|
+
args: InValue[];
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Execute multiple statements in an atomic transaction
|
|
50
|
+
* @throws {TursoError} If transaction fails
|
|
51
|
+
*/
|
|
52
|
+
export declare function transaction(statements: TransactionStatement[]): Promise<void>;
|
|
42
53
|
/**
|
|
43
54
|
* Crear un nuevo item
|
|
44
55
|
* @throws {TursoError} If insert fails
|
|
@@ -105,7 +116,7 @@ export declare function getActiveTasks(system: string): Promise<Array<{
|
|
|
105
116
|
*/
|
|
106
117
|
export declare function updateTaskProgress(taskId: string, updates: Partial<TaskContent>): Promise<void>;
|
|
107
118
|
/**
|
|
108
|
-
* Completar tarea
|
|
119
|
+
* Completar tarea (con transacción atómica)
|
|
109
120
|
* @throws {NotFoundError} If task not found
|
|
110
121
|
* @throws {TursoError} If update fails
|
|
111
122
|
*/
|
|
@@ -164,6 +175,7 @@ export declare const turso: {
|
|
|
164
175
|
update: typeof update;
|
|
165
176
|
query: typeof query;
|
|
166
177
|
remove: typeof remove;
|
|
178
|
+
transaction: typeof transaction;
|
|
167
179
|
createTask: typeof createTask;
|
|
168
180
|
getActiveTasks: typeof getActiveTasks;
|
|
169
181
|
updateTaskProgress: typeof updateTaskProgress;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"turso-client.d.ts","sourceRoot":"","sources":["../../src/db/turso-client.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAgB,KAAK,MAAM,
|
|
1
|
+
{"version":3,"file":"turso-client.d.ts","sourceRoot":"","sources":["../../src/db/turso-client.ts"],"names":[],"mappings":"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"}
|
package/dist/db/turso-client.js
CHANGED
|
@@ -5,6 +5,8 @@
|
|
|
5
5
|
import { createClient } from '@libsql/client';
|
|
6
6
|
import { ulid } from 'ulid';
|
|
7
7
|
import { TursoError, NotFoundError, ConfigError, safeJsonParse } from './errors.js';
|
|
8
|
+
// Re-export TursoError for migrations
|
|
9
|
+
export { TursoError };
|
|
8
10
|
// Allowed orderBy columns (prevent SQL injection)
|
|
9
11
|
const ALLOWED_ORDER_COLUMNS = ['created_at', 'updated_at', 'id', 'type', 'status'];
|
|
10
12
|
const ALLOWED_ORDER_DIRS = ['ASC', 'DESC'];
|
|
@@ -53,35 +55,33 @@ export function getTurso() {
|
|
|
53
55
|
// Schema Setup
|
|
54
56
|
// =============================================================================
|
|
55
57
|
/**
|
|
56
|
-
* Crear tablas en Turso
|
|
58
|
+
* Crear tablas en Turso usando sistema de migraciones
|
|
57
59
|
* @throws {TursoError} If schema creation fails
|
|
58
60
|
*/
|
|
59
61
|
export async function setupTursoSchema() {
|
|
60
62
|
try {
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
await
|
|
64
|
-
CREATE TABLE IF NOT EXISTS items (
|
|
65
|
-
id TEXT PRIMARY KEY,
|
|
66
|
-
type TEXT NOT NULL,
|
|
67
|
-
status TEXT NOT NULL DEFAULT 'pending',
|
|
68
|
-
system TEXT NOT NULL,
|
|
69
|
-
content TEXT NOT NULL,
|
|
70
|
-
created_at TEXT NOT NULL DEFAULT (datetime('now')),
|
|
71
|
-
updated_at TEXT NOT NULL DEFAULT (datetime('now'))
|
|
72
|
-
)
|
|
73
|
-
`);
|
|
74
|
-
// Índices para queries comunes
|
|
75
|
-
await db.execute(`CREATE INDEX IF NOT EXISTS idx_items_type ON items(type)`);
|
|
76
|
-
await db.execute(`CREATE INDEX IF NOT EXISTS idx_items_status ON items(status)`);
|
|
77
|
-
await db.execute(`CREATE INDEX IF NOT EXISTS idx_items_system ON items(system)`);
|
|
78
|
-
await db.execute(`CREATE INDEX IF NOT EXISTS idx_items_type_status ON items(type, status)`);
|
|
63
|
+
// Import dynamically to avoid circular deps
|
|
64
|
+
const { runMigrations } = await import('./migrations.js');
|
|
65
|
+
await runMigrations();
|
|
79
66
|
console.log('✓ Turso schema initialized');
|
|
80
67
|
}
|
|
81
68
|
catch (error) {
|
|
82
69
|
throw new TursoError('Failed to setup Turso schema', error, 'init');
|
|
83
70
|
}
|
|
84
71
|
}
|
|
72
|
+
/**
|
|
73
|
+
* Execute multiple statements in an atomic transaction
|
|
74
|
+
* @throws {TursoError} If transaction fails
|
|
75
|
+
*/
|
|
76
|
+
export async function transaction(statements) {
|
|
77
|
+
try {
|
|
78
|
+
const db = getTurso();
|
|
79
|
+
await db.batch(statements, 'write');
|
|
80
|
+
}
|
|
81
|
+
catch (error) {
|
|
82
|
+
throw new TursoError('Transaction failed', error, 'update');
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
85
|
// =============================================================================
|
|
86
86
|
// CRUD Operations
|
|
87
87
|
// =============================================================================
|
|
@@ -295,7 +295,7 @@ export async function updateTaskProgress(taskId, updates) {
|
|
|
295
295
|
});
|
|
296
296
|
}
|
|
297
297
|
/**
|
|
298
|
-
* Completar tarea
|
|
298
|
+
* Completar tarea (con transacción atómica)
|
|
299
299
|
* @throws {NotFoundError} If task not found
|
|
300
300
|
* @throws {TursoError} If update fails
|
|
301
301
|
*/
|
|
@@ -304,9 +304,11 @@ export async function completeTask(taskId, result) {
|
|
|
304
304
|
if (!existing)
|
|
305
305
|
throw new NotFoundError('Task', taskId);
|
|
306
306
|
const now = new Date().toISOString();
|
|
307
|
-
|
|
307
|
+
const statements = [];
|
|
308
|
+
// Build improvement insert statements
|
|
308
309
|
for (const imp of result.improvements) {
|
|
309
|
-
|
|
310
|
+
const impId = ulid();
|
|
311
|
+
const impContent = {
|
|
310
312
|
area: imp.area,
|
|
311
313
|
title: imp.title,
|
|
312
314
|
description: imp.description,
|
|
@@ -315,24 +317,32 @@ export async function completeTask(taskId, result) {
|
|
|
315
317
|
detectedAt: now,
|
|
316
318
|
priority: imp.priority,
|
|
317
319
|
effort: imp.effort
|
|
318
|
-
}
|
|
320
|
+
};
|
|
321
|
+
statements.push({
|
|
322
|
+
sql: `INSERT INTO items (id, type, status, system, content, created_at, updated_at)
|
|
323
|
+
VALUES (?, ?, ?, ?, ?, ?, ?)`,
|
|
324
|
+
args: [impId, 'improvement', 'pending', existing.system, JSON.stringify(impContent), now, now]
|
|
325
|
+
});
|
|
319
326
|
}
|
|
320
|
-
//
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
327
|
+
// Build task update statement
|
|
328
|
+
const updatedContent = {
|
|
329
|
+
...existing.content,
|
|
330
|
+
result: result.result,
|
|
331
|
+
resultNotes: result.resultNotes,
|
|
332
|
+
completedAt: now,
|
|
333
|
+
improvements: result.improvements.map((imp, i) => ({
|
|
334
|
+
id: `imp_${i}`,
|
|
335
|
+
...imp,
|
|
336
|
+
detectedAt: now
|
|
337
|
+
})),
|
|
338
|
+
lessons: result.lessons || []
|
|
339
|
+
};
|
|
340
|
+
statements.push({
|
|
341
|
+
sql: `UPDATE items SET status = ?, content = ?, updated_at = ? WHERE id = ?`,
|
|
342
|
+
args: ['completed', JSON.stringify(updatedContent), now, taskId]
|
|
335
343
|
});
|
|
344
|
+
// Execute all statements atomically
|
|
345
|
+
await transaction(statements);
|
|
336
346
|
}
|
|
337
347
|
// =============================================================================
|
|
338
348
|
// Improvement Operations
|
|
@@ -438,6 +448,7 @@ export const turso = {
|
|
|
438
448
|
update,
|
|
439
449
|
query,
|
|
440
450
|
remove,
|
|
451
|
+
transaction,
|
|
441
452
|
// Tasks
|
|
442
453
|
createTask,
|
|
443
454
|
getActiveTasks,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"turso-client.js","sourceRoot":"","sources":["../../src/db/turso-client.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"turso-client.js","sourceRoot":"","sources":["../../src/db/turso-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -22,7 +22,17 @@ export declare class EventBus {
|
|
|
22
22
|
private handlers;
|
|
23
23
|
private history;
|
|
24
24
|
private config;
|
|
25
|
+
private handlerLastUsed;
|
|
26
|
+
private cleanupInterval;
|
|
25
27
|
constructor(config?: Partial<EventBusConfig>);
|
|
28
|
+
/**
|
|
29
|
+
* Cleanup stale handlers (not used in 30 minutes)
|
|
30
|
+
*/
|
|
31
|
+
private cleanupStaleHandlers;
|
|
32
|
+
/**
|
|
33
|
+
* Stop the cleanup interval (for cleanup on shutdown)
|
|
34
|
+
*/
|
|
35
|
+
destroy(): void;
|
|
26
36
|
/**
|
|
27
37
|
* Subscribe to an event type
|
|
28
38
|
* @returns Unsubscribe function
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EventBus.d.ts","sourceRoot":"","sources":["../../src/events/EventBus.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EACL,KAAK,EACL,SAAS,EACT,YAAY,EAGb,MAAM,YAAY,CAAA;AAMnB,MAAM,WAAW,cAAc;IAC7B,wCAAwC;IACxC,YAAY,EAAE,MAAM,CAAA;IACpB,sCAAsC;IACtC,cAAc,EAAE,MAAM,CAAA;IACtB,2BAA2B;IAC3B,KAAK,EAAE,OAAO,CAAA;CACf;AAYD,qBAAa,QAAQ;IACnB,OAAO,CAAC,QAAQ,CAAsB;IACtC,OAAO,CAAC,OAAO,CAAc;IAC7B,OAAO,CAAC,MAAM,CAAgB;
|
|
1
|
+
{"version":3,"file":"EventBus.d.ts","sourceRoot":"","sources":["../../src/events/EventBus.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EACL,KAAK,EACL,SAAS,EACT,YAAY,EAGb,MAAM,YAAY,CAAA;AAMnB,MAAM,WAAW,cAAc;IAC7B,wCAAwC;IACxC,YAAY,EAAE,MAAM,CAAA;IACpB,sCAAsC;IACtC,cAAc,EAAE,MAAM,CAAA;IACtB,2BAA2B;IAC3B,KAAK,EAAE,OAAO,CAAA;CACf;AAYD,qBAAa,QAAQ;IACnB,OAAO,CAAC,QAAQ,CAAsB;IACtC,OAAO,CAAC,OAAO,CAAc;IAC7B,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,eAAe,CAA4B;IACnD,OAAO,CAAC,eAAe,CAA8C;gBAEzD,MAAM,GAAE,OAAO,CAAC,cAAc,CAAM;IAShD;;OAEG;IACH,OAAO,CAAC,oBAAoB;IA4B5B;;OAEG;IACH,OAAO,IAAI,IAAI;IAQf;;;OAGG;IACH,SAAS,CAAC,CAAC,SAAS,SAAS,EAC3B,SAAS,EAAE,CAAC,EACZ,OAAO,EAAE,YAAY,CAAC,OAAO,CAAC,KAAK,EAAE;QAAE,IAAI,EAAE,CAAC,CAAA;KAAE,CAAC,CAAC,GACjD,MAAM,IAAI;IA+Bb;;;OAGG;IACG,OAAO,CAAC,CAAC,SAAS,KAAK,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC;QAChD,OAAO,EAAE,OAAO,CAAA;QAChB,cAAc,EAAE,oBAAoB,CAAC,IAAI,CAAC,EAAE,CAAA;QAC5C,QAAQ,EAAE,MAAM,CAAA;KACjB,CAAC;IAoDF;;OAEG;IACG,aAAa,CAAC,CAAC,SAAS,KAAK,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAe7D;;OAEG;YACW,kBAAkB;IAqBhC;;OAEG;IACH,OAAO,CAAC,YAAY;IAQpB;;OAEG;IACH,UAAU,CAAC,IAAI,CAAC,EAAE,SAAS,GAAG,KAAK,EAAE;IAKrC;;OAEG;IACH,kBAAkB,CAAC,aAAa,EAAE,MAAM,GAAG,KAAK,EAAE;IAMlD;;OAEG;IACH,KAAK,IAAI,IAAI;IAMb;;OAEG;IACH,eAAe,CAAC,IAAI,EAAE,SAAS,GAAG,MAAM;IAIxC;;OAEG;IACH,WAAW,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO;CAGtC;AAQD;;GAEG;AACH,wBAAgB,WAAW,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,GAAG,QAAQ,CAKtE;AAED;;GAEG;AACH,wBAAgB,aAAa,IAAI,IAAI,CAKpC;AAMD;;GAEG;AACH,wBAAsB,SAAS,CAC7B,SAAS,EAAE,IAAI,CAAC,KAAK,EAAE,UAAU,CAAC,EAClC,MAAM,EAAE,MAAM,EACd,aAAa,CAAC,EAAE,MAAM,GACrB,OAAO,CAAC,IAAI,CAAC,CAQf"}
|
package/dist/events/EventBus.js
CHANGED
|
@@ -22,8 +22,51 @@ export class EventBus {
|
|
|
22
22
|
handlers = {};
|
|
23
23
|
history = [];
|
|
24
24
|
config;
|
|
25
|
+
handlerLastUsed = new Map(); // Track handler activity
|
|
26
|
+
cleanupInterval = null;
|
|
25
27
|
constructor(config = {}) {
|
|
26
28
|
this.config = { ...DEFAULT_CONFIG, ...config };
|
|
29
|
+
// Start auto-cleanup every 5 minutes
|
|
30
|
+
this.cleanupInterval = setInterval(() => {
|
|
31
|
+
this.cleanupStaleHandlers();
|
|
32
|
+
}, 5 * 60 * 1000);
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Cleanup stale handlers (not used in 30 minutes)
|
|
36
|
+
*/
|
|
37
|
+
cleanupStaleHandlers() {
|
|
38
|
+
const now = Date.now();
|
|
39
|
+
const staleThreshold = 30 * 60 * 1000; // 30 minutes
|
|
40
|
+
let removed = 0;
|
|
41
|
+
for (const [handlerId, lastUsed] of this.handlerLastUsed) {
|
|
42
|
+
if (now - lastUsed > staleThreshold) {
|
|
43
|
+
// Remove handler from all event types
|
|
44
|
+
for (const eventType of Object.keys(this.handlers)) {
|
|
45
|
+
const handlers = this.handlers[eventType];
|
|
46
|
+
if (handlers) {
|
|
47
|
+
const idx = handlers.findIndex((h) => h._id === handlerId);
|
|
48
|
+
if (idx > -1) {
|
|
49
|
+
handlers.splice(idx, 1);
|
|
50
|
+
removed++;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
this.handlerLastUsed.delete(handlerId);
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
if (this.config.debug && removed > 0) {
|
|
58
|
+
console.log(`[EventBus] Cleaned up ${removed} stale handlers`);
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Stop the cleanup interval (for cleanup on shutdown)
|
|
63
|
+
*/
|
|
64
|
+
destroy() {
|
|
65
|
+
if (this.cleanupInterval) {
|
|
66
|
+
clearInterval(this.cleanupInterval);
|
|
67
|
+
this.cleanupInterval = null;
|
|
68
|
+
}
|
|
69
|
+
this.clear();
|
|
27
70
|
}
|
|
28
71
|
/**
|
|
29
72
|
* Subscribe to an event type
|
|
@@ -33,6 +76,10 @@ export class EventBus {
|
|
|
33
76
|
if (!this.handlers[eventType]) {
|
|
34
77
|
this.handlers[eventType] = [];
|
|
35
78
|
}
|
|
79
|
+
// Add unique ID for tracking
|
|
80
|
+
const handlerId = Symbol('handler');
|
|
81
|
+
handler._id = handlerId;
|
|
82
|
+
this.handlerLastUsed.set(handlerId, Date.now());
|
|
36
83
|
// Type assertion needed due to TypeScript limitations with mapped types
|
|
37
84
|
const handlers = this.handlers[eventType];
|
|
38
85
|
handlers.push(handler);
|
|
@@ -44,6 +91,7 @@ export class EventBus {
|
|
|
44
91
|
const index = handlers.indexOf(handler);
|
|
45
92
|
if (index > -1) {
|
|
46
93
|
handlers.splice(index, 1);
|
|
94
|
+
this.handlerLastUsed.delete(handlerId);
|
|
47
95
|
if (this.config.debug) {
|
|
48
96
|
console.log(`[EventBus] Unsubscribed from ${eventType}`);
|
|
49
97
|
}
|
|
@@ -73,7 +121,14 @@ export class EventBus {
|
|
|
73
121
|
console.log(`[EventBus] Publishing ${event.type} to ${handlers.length} handlers`);
|
|
74
122
|
}
|
|
75
123
|
// Execute all handlers in parallel with timeout
|
|
76
|
-
const handlerPromises = handlers.map(handler =>
|
|
124
|
+
const handlerPromises = handlers.map(handler => {
|
|
125
|
+
// Update last used time
|
|
126
|
+
const handlerId = handler._id;
|
|
127
|
+
if (handlerId) {
|
|
128
|
+
this.handlerLastUsed.set(handlerId, Date.now());
|
|
129
|
+
}
|
|
130
|
+
return this.executeWithTimeout(handler, event);
|
|
131
|
+
});
|
|
77
132
|
const results = await Promise.allSettled(handlerPromises);
|
|
78
133
|
const failedCount = results.filter(r => r.status === 'rejected').length;
|
|
79
134
|
const duration = Date.now() - startTime;
|
|
@@ -147,6 +202,7 @@ export class EventBus {
|
|
|
147
202
|
clear() {
|
|
148
203
|
this.handlers = {};
|
|
149
204
|
this.history = [];
|
|
205
|
+
this.handlerLastUsed.clear();
|
|
150
206
|
}
|
|
151
207
|
/**
|
|
152
208
|
* Get handler count for a specific event type
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EventBus.js","sourceRoot":"","sources":["../../src/events/EventBus.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAKL,mBAAmB,GACpB,MAAM,YAAY,CAAA;AAenB,MAAM,cAAc,GAAmB;IACrC,YAAY,EAAE,GAAG;IACjB,cAAc,EAAE,IAAI;IACpB,KAAK,EAAE,KAAK;CACb,CAAA;AAED,gFAAgF;AAChF,0BAA0B;AAC1B,gFAAgF;AAEhF,MAAM,OAAO,QAAQ;IACX,QAAQ,GAAoB,EAAE,CAAA;IAC9B,OAAO,GAAY,EAAE,CAAA;IACrB,MAAM,CAAgB;
|
|
1
|
+
{"version":3,"file":"EventBus.js","sourceRoot":"","sources":["../../src/events/EventBus.ts"],"names":[],"mappings":"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"}
|