proofscan 0.1.0 → 0.2.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.
Files changed (71) hide show
  1. package/README.md +210 -60
  2. package/dist/cli.js +5 -3
  3. package/dist/cli.js.map +1 -1
  4. package/dist/commands/archive.d.ts +6 -0
  5. package/dist/commands/archive.d.ts.map +1 -0
  6. package/dist/commands/archive.js +245 -0
  7. package/dist/commands/archive.js.map +1 -0
  8. package/dist/commands/index.d.ts +2 -0
  9. package/dist/commands/index.d.ts.map +1 -1
  10. package/dist/commands/index.js +2 -0
  11. package/dist/commands/index.js.map +1 -1
  12. package/dist/commands/monitor.d.ts +1 -1
  13. package/dist/commands/monitor.d.ts.map +1 -1
  14. package/dist/commands/monitor.js +33 -21
  15. package/dist/commands/monitor.js.map +1 -1
  16. package/dist/commands/scan.d.ts.map +1 -1
  17. package/dist/commands/scan.js +4 -0
  18. package/dist/commands/scan.js.map +1 -1
  19. package/dist/commands/sessions.d.ts +6 -0
  20. package/dist/commands/sessions.d.ts.map +1 -0
  21. package/dist/commands/sessions.js +203 -0
  22. package/dist/commands/sessions.js.map +1 -0
  23. package/dist/db/connection.d.ts +28 -0
  24. package/dist/db/connection.d.ts.map +1 -0
  25. package/dist/db/connection.js +123 -0
  26. package/dist/db/connection.js.map +1 -0
  27. package/dist/db/events-store.d.ts +56 -0
  28. package/dist/db/events-store.d.ts.map +1 -0
  29. package/dist/db/events-store.js +269 -0
  30. package/dist/db/events-store.js.map +1 -0
  31. package/dist/db/index.d.ts +6 -0
  32. package/dist/db/index.d.ts.map +1 -0
  33. package/dist/db/index.js +6 -0
  34. package/dist/db/index.js.map +1 -0
  35. package/dist/db/proofs-store.d.ts +56 -0
  36. package/dist/db/proofs-store.d.ts.map +1 -0
  37. package/dist/db/proofs-store.js +116 -0
  38. package/dist/db/proofs-store.js.map +1 -0
  39. package/dist/db/schema.d.ts +8 -0
  40. package/dist/db/schema.d.ts.map +1 -0
  41. package/dist/db/schema.js +76 -0
  42. package/dist/db/schema.js.map +1 -0
  43. package/dist/db/types.d.ts +64 -0
  44. package/dist/db/types.d.ts.map +1 -0
  45. package/dist/db/types.js +5 -0
  46. package/dist/db/types.js.map +1 -0
  47. package/dist/index.d.ts +14 -6
  48. package/dist/index.d.ts.map +1 -1
  49. package/dist/index.js +15 -6
  50. package/dist/index.js.map +1 -1
  51. package/dist/scanner/index.d.ts +3 -2
  52. package/dist/scanner/index.d.ts.map +1 -1
  53. package/dist/scanner/index.js +66 -51
  54. package/dist/scanner/index.js.map +1 -1
  55. package/dist/types/config.d.ts +7 -0
  56. package/dist/types/config.d.ts.map +1 -1
  57. package/dist/types/config.js +5 -0
  58. package/dist/types/config.js.map +1 -1
  59. package/dist/types/events.d.ts +1 -17
  60. package/dist/types/events.d.ts.map +1 -1
  61. package/dist/types/events.js +1 -0
  62. package/dist/types/events.js.map +1 -1
  63. package/package.json +5 -2
  64. package/dist/events/index.d.ts +0 -2
  65. package/dist/events/index.d.ts.map +0 -1
  66. package/dist/events/index.js +0 -2
  67. package/dist/events/index.js.map +0 -1
  68. package/dist/events/store.d.ts +0 -25
  69. package/dist/events/store.d.ts.map +0 -1
  70. package/dist/events/store.js +0 -91
  71. package/dist/events/store.js.map +0 -1
@@ -0,0 +1,245 @@
1
+ /**
2
+ * Archive commands - plan and run cleanup based on retention settings
3
+ */
4
+ import { Command } from 'commander';
5
+ import { ConfigManager } from '../config/index.js';
6
+ import { EventsStore, getDbSizes } from '../db/index.js';
7
+ import { ProofsStore } from '../db/proofs-store.js';
8
+ import { output, outputSuccess, outputError, outputTable, getOutputOptions } from '../utils/output.js';
9
+ function formatBytes(bytes) {
10
+ if (bytes < 1024)
11
+ return `${bytes} B`;
12
+ if (bytes < 1024 * 1024)
13
+ return `${(bytes / 1024).toFixed(1)} KB`;
14
+ return `${(bytes / (1024 * 1024)).toFixed(1)} MB`;
15
+ }
16
+ async function computeArchivePlan(eventsStore, proofsStore, retention, configDir) {
17
+ const protectedIds = new Set(proofsStore.getProtectedSessionIds());
18
+ const sessionsToDelete = [];
19
+ // 1. Get sessions exceeding keep_last_sessions
20
+ if (retention.keep_last_sessions !== undefined) {
21
+ const candidates = eventsStore.getPruneCandidates({
22
+ keepLast: retention.keep_last_sessions,
23
+ });
24
+ for (const c of candidates) {
25
+ if (!protectedIds.has(c.session_id)) {
26
+ sessionsToDelete.push(c);
27
+ }
28
+ }
29
+ }
30
+ // 2. Count raw_json that can be cleared based on raw_days
31
+ let rawJsonToClear = 0;
32
+ if (retention.raw_days !== undefined) {
33
+ rawJsonToClear = eventsStore.countClearableRawJson(retention.raw_days);
34
+ }
35
+ // 3. Check max_db_mb (simple heuristic)
36
+ const dbSizes = getDbSizes(configDir);
37
+ const currentSizeMb = dbSizes.events / (1024 * 1024);
38
+ const maxMb = retention.max_db_mb || 500;
39
+ // Estimate savings (rough: each event ~500 bytes raw_json)
40
+ const rawJsonSize = eventsStore.getRawJsonSize();
41
+ const estimatedSavingsMb = (sessionsToDelete.reduce((sum, s) => sum + s.event_count * 500, 0) +
42
+ (rawJsonToClear * 300)) / (1024 * 1024);
43
+ return {
44
+ sessions_to_delete: sessionsToDelete,
45
+ raw_json_to_clear: rawJsonToClear,
46
+ estimated_savings_mb: estimatedSavingsMb,
47
+ };
48
+ }
49
+ export function createArchiveCommand(getConfigPath) {
50
+ const cmd = new Command('archive')
51
+ .description('Manage data retention and cleanup');
52
+ cmd
53
+ .command('plan')
54
+ .description('Show what would be archived based on retention settings')
55
+ .action(async () => {
56
+ try {
57
+ const manager = new ConfigManager(getConfigPath());
58
+ const config = await manager.load();
59
+ const eventsStore = new EventsStore(manager.getConfigDir());
60
+ const proofsStore = new ProofsStore(manager.getConfigDir());
61
+ // Get retention settings with defaults
62
+ const retention = {
63
+ keep_last_sessions: config.retention?.keep_last_sessions ?? 50,
64
+ raw_days: config.retention?.raw_days ?? 7,
65
+ max_db_mb: config.retention?.max_db_mb ?? 500,
66
+ };
67
+ const plan = await computeArchivePlan(eventsStore, proofsStore, retention, manager.getConfigDir());
68
+ const dbSizes = getDbSizes(manager.getConfigDir());
69
+ if (getOutputOptions().json) {
70
+ output({
71
+ retention,
72
+ plan,
73
+ current_db_size_mb: dbSizes.events / (1024 * 1024),
74
+ });
75
+ }
76
+ else {
77
+ console.log('Archive Plan');
78
+ console.log('============\n');
79
+ console.log('Retention Settings:');
80
+ console.log(` keep_last_sessions: ${retention.keep_last_sessions}`);
81
+ console.log(` raw_days: ${retention.raw_days}`);
82
+ console.log(` max_db_mb: ${retention.max_db_mb}`);
83
+ console.log();
84
+ console.log('Current Status:');
85
+ console.log(` events.db size: ${formatBytes(dbSizes.events)}`);
86
+ console.log(` proofs.db size: ${formatBytes(dbSizes.proofs)}`);
87
+ console.log();
88
+ console.log('Planned Actions:');
89
+ if (plan.sessions_to_delete.length > 0) {
90
+ console.log(`\n Sessions to delete: ${plan.sessions_to_delete.length}`);
91
+ const headers = ['Session ID', 'Connector', 'Events', 'Reason'];
92
+ const rows = plan.sessions_to_delete.slice(0, 10).map(s => [
93
+ s.session_id.slice(0, 8) + '...',
94
+ s.connector_id,
95
+ String(s.event_count),
96
+ s.reason,
97
+ ]);
98
+ outputTable(headers, rows);
99
+ if (plan.sessions_to_delete.length > 10) {
100
+ console.log(` ... and ${plan.sessions_to_delete.length - 10} more`);
101
+ }
102
+ }
103
+ else {
104
+ console.log(' Sessions to delete: 0');
105
+ }
106
+ console.log(`\n raw_json to clear: ${plan.raw_json_to_clear} events`);
107
+ console.log(` Estimated savings: ~${plan.estimated_savings_mb.toFixed(1)} MB`);
108
+ console.log('\nRun "pfscan archive run" to execute (or "pfscan archive run --yes" to confirm).');
109
+ }
110
+ }
111
+ catch (error) {
112
+ outputError('Failed to compute archive plan', error instanceof Error ? error : undefined);
113
+ process.exit(1);
114
+ }
115
+ });
116
+ cmd
117
+ .command('run')
118
+ .description('Execute archive cleanup')
119
+ .option('--yes', 'Actually execute (without this, only shows what would be done)')
120
+ .option('--vacuum', 'Run VACUUM after cleanup to reclaim space')
121
+ .action(async (options) => {
122
+ try {
123
+ const manager = new ConfigManager(getConfigPath());
124
+ const config = await manager.load();
125
+ const eventsStore = new EventsStore(manager.getConfigDir());
126
+ const proofsStore = new ProofsStore(manager.getConfigDir());
127
+ // Get retention settings with defaults
128
+ const retention = {
129
+ keep_last_sessions: config.retention?.keep_last_sessions ?? 50,
130
+ raw_days: config.retention?.raw_days ?? 7,
131
+ max_db_mb: config.retention?.max_db_mb ?? 500,
132
+ };
133
+ const plan = await computeArchivePlan(eventsStore, proofsStore, retention, manager.getConfigDir());
134
+ if (!options.yes) {
135
+ // Dry run - same as plan
136
+ const dbSizes = getDbSizes(manager.getConfigDir());
137
+ if (getOutputOptions().json) {
138
+ output({
139
+ dry_run: true,
140
+ retention,
141
+ plan,
142
+ current_db_size_mb: dbSizes.events / (1024 * 1024),
143
+ });
144
+ }
145
+ else {
146
+ console.log('Archive Run (DRY RUN)');
147
+ console.log('=====================\n');
148
+ console.log(`Sessions to delete: ${plan.sessions_to_delete.length}`);
149
+ console.log(`raw_json to clear: ${plan.raw_json_to_clear} events`);
150
+ console.log(`Estimated savings: ~${plan.estimated_savings_mb.toFixed(1)} MB`);
151
+ console.log('\nRun with --yes to actually execute.');
152
+ }
153
+ return;
154
+ }
155
+ // Actually execute
156
+ const results = {
157
+ sessions_deleted: 0,
158
+ raw_json_cleared: 0,
159
+ vacuumed: false,
160
+ };
161
+ // 1. Delete sessions
162
+ if (plan.sessions_to_delete.length > 0) {
163
+ const sessionIds = plan.sessions_to_delete.map(s => s.session_id);
164
+ results.sessions_deleted = eventsStore.deleteSessions(sessionIds);
165
+ }
166
+ // 2. Clear raw_json
167
+ if (plan.raw_json_to_clear > 0 && retention.raw_days !== undefined) {
168
+ results.raw_json_cleared = eventsStore.clearRawJson({
169
+ beforeDays: retention.raw_days,
170
+ });
171
+ }
172
+ // 3. Vacuum if requested
173
+ if (options.vacuum) {
174
+ eventsStore.vacuum();
175
+ results.vacuumed = true;
176
+ }
177
+ const dbSizes = getDbSizes(manager.getConfigDir());
178
+ if (getOutputOptions().json) {
179
+ output({
180
+ success: true,
181
+ results,
182
+ final_db_size_mb: dbSizes.events / (1024 * 1024),
183
+ });
184
+ }
185
+ else {
186
+ console.log('Archive Run Complete');
187
+ console.log('====================\n');
188
+ console.log(`Sessions deleted: ${results.sessions_deleted}`);
189
+ console.log(`raw_json cleared: ${results.raw_json_cleared} events`);
190
+ if (results.vacuumed) {
191
+ console.log('Database vacuumed');
192
+ }
193
+ console.log(`\nFinal events.db size: ${formatBytes(dbSizes.events)}`);
194
+ outputSuccess('Archive complete');
195
+ }
196
+ }
197
+ catch (error) {
198
+ outputError('Failed to run archive', error instanceof Error ? error : undefined);
199
+ process.exit(1);
200
+ }
201
+ });
202
+ cmd
203
+ .command('status')
204
+ .description('Show current database status')
205
+ .action(async () => {
206
+ try {
207
+ const manager = new ConfigManager(getConfigPath());
208
+ const eventsStore = new EventsStore(manager.getConfigDir());
209
+ const proofsStore = new ProofsStore(manager.getConfigDir());
210
+ const dbSizes = getDbSizes(manager.getConfigDir());
211
+ const sessions = eventsStore.getAllSessions();
212
+ const proofCount = proofsStore.countProofs();
213
+ const protectedIds = proofsStore.getProtectedSessionIds();
214
+ const rawJsonSize = eventsStore.getRawJsonSize();
215
+ const status = {
216
+ events_db_size: dbSizes.events,
217
+ proofs_db_size: dbSizes.proofs,
218
+ total_sessions: sessions.length,
219
+ protected_sessions: protectedIds.length,
220
+ total_proofs: proofCount,
221
+ raw_json_size: rawJsonSize,
222
+ };
223
+ if (getOutputOptions().json) {
224
+ output(status);
225
+ }
226
+ else {
227
+ console.log('Database Status');
228
+ console.log('===============\n');
229
+ console.log(`events.db size: ${formatBytes(dbSizes.events)}`);
230
+ console.log(`proofs.db size: ${formatBytes(dbSizes.proofs)}`);
231
+ console.log();
232
+ console.log(`Total sessions: ${sessions.length}`);
233
+ console.log(`Protected sessions: ${protectedIds.length}`);
234
+ console.log(`Total proofs: ${proofCount}`);
235
+ console.log(`raw_json storage: ${formatBytes(rawJsonSize)}`);
236
+ }
237
+ }
238
+ catch (error) {
239
+ outputError('Failed to get status', error instanceof Error ? error : undefined);
240
+ process.exit(1);
241
+ }
242
+ });
243
+ return cmd;
244
+ }
245
+ //# sourceMappingURL=archive.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"archive.js","sourceRoot":"","sources":["../../src/commands/archive.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,WAAW,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAIvG,SAAS,WAAW,CAAC,KAAa;IAChC,IAAI,KAAK,GAAG,IAAI;QAAE,OAAO,GAAG,KAAK,IAAI,CAAC;IACtC,IAAI,KAAK,GAAG,IAAI,GAAG,IAAI;QAAE,OAAO,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC;IAClE,OAAO,GAAG,CAAC,KAAK,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC;AACpD,CAAC;AAED,KAAK,UAAU,kBAAkB,CAC/B,WAAwB,EACxB,WAAwB,EACxB,SAA0B,EAC1B,SAAiB;IAEjB,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,WAAW,CAAC,sBAAsB,EAAE,CAAC,CAAC;IACnE,MAAM,gBAAgB,GAAqB,EAAE,CAAC;IAE9C,+CAA+C;IAC/C,IAAI,SAAS,CAAC,kBAAkB,KAAK,SAAS,EAAE,CAAC;QAC/C,MAAM,UAAU,GAAG,WAAW,CAAC,kBAAkB,CAAC;YAChD,QAAQ,EAAE,SAAS,CAAC,kBAAkB;SACvC,CAAC,CAAC;QACH,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;YAC3B,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC;gBACpC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAC3B,CAAC;QACH,CAAC;IACH,CAAC;IAED,0DAA0D;IAC1D,IAAI,cAAc,GAAG,CAAC,CAAC;IACvB,IAAI,SAAS,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;QACrC,cAAc,GAAG,WAAW,CAAC,qBAAqB,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;IACzE,CAAC;IAED,wCAAwC;IACxC,MAAM,OAAO,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC;IACtC,MAAM,aAAa,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC;IACrD,MAAM,KAAK,GAAG,SAAS,CAAC,SAAS,IAAI,GAAG,CAAC;IAEzC,2DAA2D;IAC3D,MAAM,WAAW,GAAG,WAAW,CAAC,cAAc,EAAE,CAAC;IACjD,MAAM,kBAAkB,GAAG,CACzB,gBAAgB,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,WAAW,GAAG,GAAG,EAAE,CAAC,CAAC;QACjE,CAAC,cAAc,GAAG,GAAG,CAAC,CACvB,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC;IAElB,OAAO;QACL,kBAAkB,EAAE,gBAAgB;QACpC,iBAAiB,EAAE,cAAc;QACjC,oBAAoB,EAAE,kBAAkB;KACzC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,aAA2B;IAC9D,MAAM,GAAG,GAAG,IAAI,OAAO,CAAC,SAAS,CAAC;SAC/B,WAAW,CAAC,mCAAmC,CAAC,CAAC;IAEpD,GAAG;SACA,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,yDAAyD,CAAC;SACtE,MAAM,CAAC,KAAK,IAAI,EAAE;QACjB,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,IAAI,aAAa,CAAC,aAAa,EAAE,CAAC,CAAC;YACnD,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC;YACpC,MAAM,WAAW,GAAG,IAAI,WAAW,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;YAC5D,MAAM,WAAW,GAAG,IAAI,WAAW,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;YAE5D,uCAAuC;YACvC,MAAM,SAAS,GAAoB;gBACjC,kBAAkB,EAAE,MAAM,CAAC,SAAS,EAAE,kBAAkB,IAAI,EAAE;gBAC9D,QAAQ,EAAE,MAAM,CAAC,SAAS,EAAE,QAAQ,IAAI,CAAC;gBACzC,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,SAAS,IAAI,GAAG;aAC9C,CAAC;YAEF,MAAM,IAAI,GAAG,MAAM,kBAAkB,CAAC,WAAW,EAAE,WAAW,EAAE,SAAS,EAAE,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;YACnG,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;YAEnD,IAAI,gBAAgB,EAAE,CAAC,IAAI,EAAE,CAAC;gBAC5B,MAAM,CAAC;oBACL,SAAS;oBACT,IAAI;oBACJ,kBAAkB,EAAE,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC;iBACnD,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;gBAC5B,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;gBAE9B,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;gBACnC,OAAO,CAAC,GAAG,CAAC,yBAAyB,SAAS,CAAC,kBAAkB,EAAE,CAAC,CAAC;gBACrE,OAAO,CAAC,GAAG,CAAC,eAAe,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC;gBACjD,OAAO,CAAC,GAAG,CAAC,gBAAgB,SAAS,CAAC,SAAS,EAAE,CAAC,CAAC;gBACnD,OAAO,CAAC,GAAG,EAAE,CAAC;gBAEd,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;gBAC/B,OAAO,CAAC,GAAG,CAAC,qBAAqB,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBAChE,OAAO,CAAC,GAAG,CAAC,qBAAqB,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBAChE,OAAO,CAAC,GAAG,EAAE,CAAC;gBAEd,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;gBAEhC,IAAI,IAAI,CAAC,kBAAkB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACvC,OAAO,CAAC,GAAG,CAAC,2BAA2B,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,CAAC,CAAC;oBACzE,MAAM,OAAO,GAAG,CAAC,YAAY,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;oBAChE,MAAM,IAAI,GAAG,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;wBACzD,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,KAAK;wBAChC,CAAC,CAAC,YAAY;wBACd,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC;wBACrB,CAAC,CAAC,MAAM;qBACT,CAAC,CAAC;oBACH,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;oBAC3B,IAAI,IAAI,CAAC,kBAAkB,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;wBACxC,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,CAAC,kBAAkB,CAAC,MAAM,GAAG,EAAE,OAAO,CAAC,CAAC;oBACvE,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;gBACzC,CAAC;gBAED,OAAO,CAAC,GAAG,CAAC,0BAA0B,IAAI,CAAC,iBAAiB,SAAS,CAAC,CAAC;gBACvE,OAAO,CAAC,GAAG,CAAC,yBAAyB,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;gBAChF,OAAO,CAAC,GAAG,CAAC,mFAAmF,CAAC,CAAC;YACnG,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,WAAW,CAAC,gCAAgC,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YAC1F,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,GAAG;SACA,OAAO,CAAC,KAAK,CAAC;SACd,WAAW,CAAC,yBAAyB,CAAC;SACtC,MAAM,CAAC,OAAO,EAAE,gEAAgE,CAAC;SACjF,MAAM,CAAC,UAAU,EAAE,2CAA2C,CAAC;SAC/D,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;QACxB,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,IAAI,aAAa,CAAC,aAAa,EAAE,CAAC,CAAC;YACnD,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC;YACpC,MAAM,WAAW,GAAG,IAAI,WAAW,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;YAC5D,MAAM,WAAW,GAAG,IAAI,WAAW,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;YAE5D,uCAAuC;YACvC,MAAM,SAAS,GAAoB;gBACjC,kBAAkB,EAAE,MAAM,CAAC,SAAS,EAAE,kBAAkB,IAAI,EAAE;gBAC9D,QAAQ,EAAE,MAAM,CAAC,SAAS,EAAE,QAAQ,IAAI,CAAC;gBACzC,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,SAAS,IAAI,GAAG;aAC9C,CAAC;YAEF,MAAM,IAAI,GAAG,MAAM,kBAAkB,CAAC,WAAW,EAAE,WAAW,EAAE,SAAS,EAAE,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;YAEnG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;gBACjB,yBAAyB;gBACzB,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;gBAEnD,IAAI,gBAAgB,EAAE,CAAC,IAAI,EAAE,CAAC;oBAC5B,MAAM,CAAC;wBACL,OAAO,EAAE,IAAI;wBACb,SAAS;wBACT,IAAI;wBACJ,kBAAkB,EAAE,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC;qBACnD,CAAC,CAAC;gBACL,CAAC;qBAAM,CAAC;oBACN,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;oBACrC,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;oBAEvC,OAAO,CAAC,GAAG,CAAC,uBAAuB,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,CAAC,CAAC;oBACrE,OAAO,CAAC,GAAG,CAAC,sBAAsB,IAAI,CAAC,iBAAiB,SAAS,CAAC,CAAC;oBACnE,OAAO,CAAC,GAAG,CAAC,uBAAuB,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;oBAC9E,OAAO,CAAC,GAAG,CAAC,uCAAuC,CAAC,CAAC;gBACvD,CAAC;gBACD,OAAO;YACT,CAAC;YAED,mBAAmB;YACnB,MAAM,OAAO,GAAG;gBACd,gBAAgB,EAAE,CAAC;gBACnB,gBAAgB,EAAE,CAAC;gBACnB,QAAQ,EAAE,KAAK;aAChB,CAAC;YAEF,qBAAqB;YACrB,IAAI,IAAI,CAAC,kBAAkB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACvC,MAAM,UAAU,GAAG,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;gBAClE,OAAO,CAAC,gBAAgB,GAAG,WAAW,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;YACpE,CAAC;YAED,oBAAoB;YACpB,IAAI,IAAI,CAAC,iBAAiB,GAAG,CAAC,IAAI,SAAS,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;gBACnE,OAAO,CAAC,gBAAgB,GAAG,WAAW,CAAC,YAAY,CAAC;oBAClD,UAAU,EAAE,SAAS,CAAC,QAAQ;iBAC/B,CAAC,CAAC;YACL,CAAC;YAED,yBAAyB;YACzB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;gBACnB,WAAW,CAAC,MAAM,EAAE,CAAC;gBACrB,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;YAC1B,CAAC;YAED,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;YAEnD,IAAI,gBAAgB,EAAE,CAAC,IAAI,EAAE,CAAC;gBAC5B,MAAM,CAAC;oBACL,OAAO,EAAE,IAAI;oBACb,OAAO;oBACP,gBAAgB,EAAE,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC;iBACjD,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;gBACpC,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;gBAEtC,OAAO,CAAC,GAAG,CAAC,qBAAqB,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAAC;gBAC7D,OAAO,CAAC,GAAG,CAAC,qBAAqB,OAAO,CAAC,gBAAgB,SAAS,CAAC,CAAC;gBACpE,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;oBACrB,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;gBACnC,CAAC;gBACD,OAAO,CAAC,GAAG,CAAC,2BAA2B,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBAEtE,aAAa,CAAC,kBAAkB,CAAC,CAAC;YACpC,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,WAAW,CAAC,uBAAuB,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YACjF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,GAAG;SACA,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,8BAA8B,CAAC;SAC3C,MAAM,CAAC,KAAK,IAAI,EAAE;QACjB,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,IAAI,aAAa,CAAC,aAAa,EAAE,CAAC,CAAC;YACnD,MAAM,WAAW,GAAG,IAAI,WAAW,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;YAC5D,MAAM,WAAW,GAAG,IAAI,WAAW,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;YAC5D,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;YAEnD,MAAM,QAAQ,GAAG,WAAW,CAAC,cAAc,EAAE,CAAC;YAC9C,MAAM,UAAU,GAAG,WAAW,CAAC,WAAW,EAAE,CAAC;YAC7C,MAAM,YAAY,GAAG,WAAW,CAAC,sBAAsB,EAAE,CAAC;YAC1D,MAAM,WAAW,GAAG,WAAW,CAAC,cAAc,EAAE,CAAC;YAEjD,MAAM,MAAM,GAAG;gBACb,cAAc,EAAE,OAAO,CAAC,MAAM;gBAC9B,cAAc,EAAE,OAAO,CAAC,MAAM;gBAC9B,cAAc,EAAE,QAAQ,CAAC,MAAM;gBAC/B,kBAAkB,EAAE,YAAY,CAAC,MAAM;gBACvC,YAAY,EAAE,UAAU;gBACxB,aAAa,EAAE,WAAW;aAC3B,CAAC;YAEF,IAAI,gBAAgB,EAAE,CAAC,IAAI,EAAE,CAAC;gBAC5B,MAAM,CAAC,MAAM,CAAC,CAAC;YACjB,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;gBAC/B,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;gBAEjC,OAAO,CAAC,GAAG,CAAC,mBAAmB,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBAC9D,OAAO,CAAC,GAAG,CAAC,mBAAmB,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBAC9D,OAAO,CAAC,GAAG,EAAE,CAAC;gBACd,OAAO,CAAC,GAAG,CAAC,mBAAmB,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;gBAClD,OAAO,CAAC,GAAG,CAAC,uBAAuB,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC;gBAC1D,OAAO,CAAC,GAAG,CAAC,iBAAiB,UAAU,EAAE,CAAC,CAAC;gBAC3C,OAAO,CAAC,GAAG,CAAC,qBAAqB,WAAW,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;YAC/D,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,WAAW,CAAC,sBAAsB,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YAChF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,OAAO,GAAG,CAAC;AACb,CAAC"}
@@ -2,4 +2,6 @@ export * from './config.js';
2
2
  export * from './connectors.js';
3
3
  export * from './scan.js';
4
4
  export * from './monitor.js';
5
+ export * from './sessions.js';
6
+ export * from './archive.js';
5
7
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC"}
@@ -2,4 +2,6 @@ export * from './config.js';
2
2
  export * from './connectors.js';
3
3
  export * from './scan.js';
4
4
  export * from './monitor.js';
5
+ export * from './sessions.js';
6
+ export * from './archive.js';
5
7
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC"}
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Monitor commands
2
+ * Monitor commands - reads from SQLite
3
3
  */
4
4
  import { Command } from 'commander';
5
5
  export declare function createMonitorCommand(getConfigPath: () => string): Command;
@@ -1 +1 @@
1
- {"version":3,"file":"monitor.d.ts","sourceRoot":"","sources":["../../src/commands/monitor.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAgCpC,wBAAgB,oBAAoB,CAAC,aAAa,EAAE,MAAM,MAAM,GAAG,OAAO,CA6CzE"}
1
+ {"version":3,"file":"monitor.d.ts","sourceRoot":"","sources":["../../src/commands/monitor.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA0CpC,wBAAgB,oBAAoB,CAAC,aAAa,EAAE,MAAM,MAAM,GAAG,OAAO,CA6CzE"}
@@ -1,35 +1,47 @@
1
1
  /**
2
- * Monitor commands
2
+ * Monitor commands - reads from SQLite
3
3
  */
4
4
  import { Command } from 'commander';
5
5
  import { ConfigManager } from '../config/index.js';
6
- import { EventStore } from '../events/index.js';
6
+ import { EventsStore } from '../db/events-store.js';
7
7
  import { output, outputError, getOutputOptions } from '../utils/output.js';
8
8
  function formatEvent(event) {
9
9
  const time = new Date(event.ts).toLocaleTimeString();
10
10
  const dir = event.direction === 'client_to_server' ? '→' : '←';
11
- const status = event.ok === false ? '✗' : event.ok === true ? '✓' : ' ';
11
+ // Determine status from raw_json if it's a response
12
+ let status = ' ';
12
13
  let summary = '';
13
- if (event.method) {
14
- summary = event.method;
15
- }
16
- else if (event.kind === 'transport_event' && event.raw) {
14
+ if (event.raw_json) {
17
15
  try {
18
- const raw = JSON.parse(event.raw);
19
- summary = `[${raw.type || 'transport'}]`;
20
- if (raw.error)
21
- summary += ` ${raw.error}`;
22
- if (raw.data)
23
- summary += ` ${raw.data.slice(0, 50)}`;
16
+ const raw = JSON.parse(event.raw_json);
17
+ // Check for response success/error
18
+ if (event.kind === 'response') {
19
+ status = raw.error ? '✗' : '✓';
20
+ if (raw.error) {
21
+ summary = `(${raw.error.code}: ${raw.error.message})`;
22
+ }
23
+ }
24
+ else if (event.kind === 'request' && raw.method) {
25
+ summary = raw.method;
26
+ }
27
+ else if (event.kind === 'notification' && raw.method) {
28
+ summary = raw.method;
29
+ }
30
+ else if (event.kind === 'transport_event') {
31
+ summary = `[${raw.type || 'transport'}]`;
32
+ if (raw.error)
33
+ summary += ` ${raw.error}`;
34
+ if (raw.data)
35
+ summary += ` ${String(raw.data).slice(0, 50)}`;
36
+ if (raw.message)
37
+ summary += ` ${raw.message}`;
38
+ }
24
39
  }
25
40
  catch {
26
- summary = '[transport]';
41
+ summary = '[parse error]';
27
42
  }
28
43
  }
29
- if (event.error) {
30
- summary += ` (${event.error.code}: ${event.error.message})`;
31
- }
32
- return `${time} ${dir} ${status} ${event.kind.padEnd(12)} ${summary}`;
44
+ return `${time} ${dir} ${status} ${event.kind.padEnd(15)} ${summary}`;
33
45
  }
34
46
  export function createMonitorCommand(getConfigPath) {
35
47
  const cmd = new Command('monitor')
@@ -47,9 +59,9 @@ export function createMonitorCommand(getConfigPath) {
47
59
  outputError(`Connector not found: ${options.id}`);
48
60
  process.exit(1);
49
61
  }
50
- const eventStore = new EventStore(manager.getConfigDir());
62
+ const eventsStore = new EventsStore(manager.getConfigDir());
51
63
  const count = parseInt(options.last, 10);
52
- const events = await eventStore.getRecentEvents(options.id, count);
64
+ const events = eventsStore.getRecentEventsByConnector(options.id, count);
53
65
  if (events.length === 0) {
54
66
  output({ events: [] }, `No events found for connector: ${options.id}`);
55
67
  return;
@@ -59,7 +71,7 @@ export function createMonitorCommand(getConfigPath) {
59
71
  }
60
72
  else {
61
73
  console.log(`Recent events for '${options.id}' (last ${events.length}):\n`);
62
- console.log('Time Dir Status Kind Summary');
74
+ console.log('Time Dir Status Kind Summary');
63
75
  console.log('-'.repeat(70));
64
76
  for (const event of events) {
65
77
  console.log(formatEvent(event));
@@ -1 +1 @@
1
- {"version":3,"file":"monitor.js","sourceRoot":"","sources":["../../src/commands/monitor.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAG3E,SAAS,WAAW,CAAC,KAAgB;IACnC,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,kBAAkB,EAAE,CAAC;IACrD,MAAM,GAAG,GAAG,KAAK,CAAC,SAAS,KAAK,kBAAkB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;IAC/D,MAAM,MAAM,GAAG,KAAK,CAAC,EAAE,KAAK,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,KAAK,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;IAExE,IAAI,OAAO,GAAG,EAAE,CAAC;IACjB,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;QACjB,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC;IACzB,CAAC;SAAM,IAAI,KAAK,CAAC,IAAI,KAAK,iBAAiB,IAAI,KAAK,CAAC,GAAG,EAAE,CAAC;QACzD,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAClC,OAAO,GAAG,IAAI,GAAG,CAAC,IAAI,IAAI,WAAW,GAAG,CAAC;YACzC,IAAI,GAAG,CAAC,KAAK;gBAAE,OAAO,IAAI,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC;YAC1C,IAAI,GAAG,CAAC,IAAI;gBAAE,OAAO,IAAI,IAAI,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;QACvD,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,GAAG,aAAa,CAAC;QAC1B,CAAC;IACH,CAAC;IAED,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;QAChB,OAAO,IAAI,KAAK,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC;IAC9D,CAAC;IAED,OAAO,GAAG,IAAI,IAAI,GAAG,IAAI,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,OAAO,EAAE,CAAC;AACxE,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,aAA2B;IAC9D,MAAM,GAAG,GAAG,IAAI,OAAO,CAAC,SAAS,CAAC;SAC/B,WAAW,CAAC,qBAAqB,CAAC,CAAC;IAEtC,GAAG;SACA,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,oCAAoC,CAAC;SACjD,cAAc,CAAC,WAAW,EAAE,cAAc,CAAC;SAC3C,MAAM,CAAC,YAAY,EAAE,0BAA0B,EAAE,IAAI,CAAC;SACtD,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;QACxB,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,IAAI,aAAa,CAAC,aAAa,EAAE,CAAC,CAAC;YACnD,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YAEzD,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,WAAW,CAAC,wBAAwB,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;gBAClD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YAED,MAAM,UAAU,GAAG,IAAI,UAAU,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;YAC1D,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YACzC,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,eAAe,CAAC,OAAO,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;YAEnE,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACxB,MAAM,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,kCAAkC,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;gBACvE,OAAO;YACT,CAAC;YAED,IAAI,gBAAgB,EAAE,CAAC,IAAI,EAAE,CAAC;gBAC5B,MAAM,CAAC,MAAM,CAAC,CAAC;YACjB,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,sBAAsB,OAAO,CAAC,EAAE,WAAW,MAAM,CAAC,MAAM,MAAM,CAAC,CAAC;gBAC5E,OAAO,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC;gBACxD,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;gBAC5B,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;oBAC3B,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC;gBAClC,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,WAAW,CAAC,sBAAsB,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YAChF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,OAAO,GAAG,CAAC;AACb,CAAC"}
1
+ {"version":3,"file":"monitor.js","sourceRoot":"","sources":["../../src/commands/monitor.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"scan.d.ts","sourceRoot":"","sources":["../../src/commands/scan.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAKpC,wBAAgB,iBAAiB,CAAC,aAAa,EAAE,MAAM,MAAM,GAAG,OAAO,CA+EtE"}
1
+ {"version":3,"file":"scan.d.ts","sourceRoot":"","sources":["../../src/commands/scan.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAKpC,wBAAgB,iBAAiB,CAAC,aAAa,EAAE,MAAM,MAAM,GAAG,OAAO,CAmFtE"}
@@ -44,11 +44,13 @@ export function createScanCommand(getConfigPath) {
44
44
  output({
45
45
  success: true,
46
46
  connector_id: result.connectorId,
47
+ session_id: result.sessionId,
47
48
  tools_count: toolCount,
48
49
  tools: toolNames,
49
50
  event_count: result.eventCount,
50
51
  }, `✓ Scan successful!\n` +
51
52
  ` Connector: ${result.connectorId}\n` +
53
+ ` Session: ${result.sessionId}\n` +
52
54
  ` Tools found: ${toolCount}\n` +
53
55
  (toolNames.length > 0 ? ` Tool names: ${toolNames.join(', ')}\n` : '') +
54
56
  ` Events recorded: ${result.eventCount}`);
@@ -57,10 +59,12 @@ export function createScanCommand(getConfigPath) {
57
59
  output({
58
60
  success: false,
59
61
  connector_id: result.connectorId,
62
+ session_id: result.sessionId,
60
63
  error: result.error,
61
64
  event_count: result.eventCount,
62
65
  }, `✗ Scan failed!\n` +
63
66
  ` Connector: ${result.connectorId}\n` +
67
+ ` Session: ${result.sessionId}\n` +
64
68
  ` Error: ${result.error}\n` +
65
69
  ` Events recorded: ${result.eventCount}`);
66
70
  process.exit(1);
@@ -1 +1 @@
1
- {"version":3,"file":"scan.js","sourceRoot":"","sources":["../../src/commands/scan.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scan.js","sourceRoot":"","sources":["../../src/commands/scan.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Sessions commands - list, show, prune
3
+ */
4
+ import { Command } from 'commander';
5
+ export declare function createSessionsCommand(getConfigPath: () => string): Command;
6
+ //# sourceMappingURL=sessions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sessions.d.ts","sourceRoot":"","sources":["../../src/commands/sessions.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAsBpC,wBAAgB,qBAAqB,CAAC,aAAa,EAAE,MAAM,MAAM,GAAG,OAAO,CAuM1E"}