resolve-solo 0.2.0 → 0.4.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/README.md +197 -47
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +214 -137
- package/dist/cli.js.map +1 -1
- package/dist/database.d.ts +46 -0
- package/dist/database.d.ts.map +1 -0
- package/dist/database.js +185 -0
- package/dist/database.js.map +1 -0
- package/dist/handlers.d.ts +55 -0
- package/dist/handlers.d.ts.map +1 -0
- package/dist/handlers.js +366 -0
- package/dist/handlers.js.map +1 -0
- package/dist/mcp/tools.d.ts +16 -0
- package/dist/mcp/tools.d.ts.map +1 -0
- package/dist/mcp/tools.js +105 -0
- package/dist/mcp/tools.js.map +1 -0
- package/dist/mcp-cli.d.ts +9 -0
- package/dist/mcp-cli.d.ts.map +1 -0
- package/dist/mcp-cli.js +9 -0
- package/dist/mcp-cli.js.map +1 -0
- package/dist/mcp-server.d.ts +9 -0
- package/dist/mcp-server.d.ts.map +1 -0
- package/dist/mcp-server.js +154 -0
- package/dist/mcp-server.js.map +1 -0
- package/dist/parser.d.ts.map +1 -1
- package/dist/parser.js +11 -0
- package/dist/parser.js.map +1 -1
- package/dist/repl.d.ts +11 -0
- package/dist/repl.d.ts.map +1 -0
- package/dist/repl.js +375 -0
- package/dist/repl.js.map +1 -0
- package/dist/setup.d.ts +25 -0
- package/dist/setup.d.ts.map +1 -0
- package/dist/setup.js +108 -0
- package/dist/setup.js.map +1 -0
- package/dist/types.d.ts +1 -1
- package/dist/types.d.ts.map +1 -1
- package/package.json +6 -3
package/dist/cli.js
CHANGED
|
@@ -5,48 +5,65 @@
|
|
|
5
5
|
* Natural language CLI for on-call investigation assistance.
|
|
6
6
|
*/
|
|
7
7
|
import { parseIntent } from './parser.js';
|
|
8
|
-
import {
|
|
9
|
-
import { generateDemoData } from './demo-generator.js';
|
|
10
|
-
import { saveDemoData, loadDemoData, deleteDemoData, demoDataExists, getStorageInfo, } from './storage.js';
|
|
11
|
-
import { buildTimeline, deduplicateTimeline } from './timeline.js';
|
|
12
|
-
import { generateInvestigationPaths, findRecallMatches, detectMissingSignals, generateSuggestions, } from './investigation.js';
|
|
8
|
+
import { showHelp, showUnknownCommand, showNotImplemented, } from './output.js';
|
|
13
9
|
import { displayInvestigation, promptTimeSaved } from './demo-output.js';
|
|
10
|
+
import { getStorageInfo } from './storage.js';
|
|
14
11
|
import chalk from 'chalk';
|
|
12
|
+
import * as handlers from './handlers.js';
|
|
15
13
|
export async function main(args = process.argv.slice(2)) {
|
|
16
|
-
//
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
14
|
+
// Mode detection
|
|
15
|
+
// MCP server mode (stdio transport for Claude Code)
|
|
16
|
+
if (args.includes('--mcp')) {
|
|
17
|
+
console.error('Starting MCP server mode...');
|
|
18
|
+
await import('./mcp-server.js');
|
|
19
|
+
return; // MCP server runs until killed
|
|
20
|
+
}
|
|
21
|
+
// No args = REPL mode (interactive session)
|
|
22
|
+
if (args.length === 0) {
|
|
23
|
+
const { startRepl } = await import('./repl.js');
|
|
24
|
+
await startRepl();
|
|
21
25
|
return;
|
|
22
26
|
}
|
|
27
|
+
// CLI mode (single command execution)
|
|
28
|
+
await handleCliMode(args);
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Handle CLI mode (single command)
|
|
32
|
+
*/
|
|
33
|
+
async function handleCliMode(args) {
|
|
34
|
+
// Join all args into a single natural language input
|
|
35
|
+
const input = args.join(' ').trim();
|
|
23
36
|
// Parse the natural language input
|
|
24
37
|
const parsed = parseIntent(input);
|
|
25
38
|
// Route based on intent
|
|
39
|
+
const context = { mode: 'cli' };
|
|
26
40
|
switch (parsed.intent) {
|
|
27
41
|
case 'help':
|
|
28
42
|
showHelp();
|
|
29
43
|
break;
|
|
30
44
|
case 'demo':
|
|
31
|
-
await
|
|
45
|
+
await handleDemoCommand(context);
|
|
32
46
|
break;
|
|
33
47
|
case 'demo-seed':
|
|
34
|
-
|
|
48
|
+
handleDemoSeedCommand(context);
|
|
35
49
|
break;
|
|
36
50
|
case 'demo-reset':
|
|
37
|
-
|
|
51
|
+
handleDemoResetCommand(context);
|
|
38
52
|
break;
|
|
39
53
|
case 'investigate':
|
|
40
|
-
await
|
|
54
|
+
await handleInvestigateCommand(parsed.query || 'recent issues', context);
|
|
41
55
|
break;
|
|
42
56
|
case 'details':
|
|
43
|
-
|
|
57
|
+
await handleDetailsCommand(parsed.args, context);
|
|
44
58
|
break;
|
|
45
59
|
case 'note':
|
|
46
|
-
|
|
60
|
+
await handleNoteCommand(parsed.args.join(' '), context);
|
|
47
61
|
break;
|
|
48
62
|
case 'close':
|
|
49
|
-
|
|
63
|
+
await handleCloseCommand(parsed.args.join(' '), context);
|
|
64
|
+
break;
|
|
65
|
+
case 'setup':
|
|
66
|
+
await handleSetupCommand(context);
|
|
50
67
|
break;
|
|
51
68
|
case 'report-weekly':
|
|
52
69
|
showNotImplemented('report weekly');
|
|
@@ -64,67 +81,29 @@ export async function main(args = process.argv.slice(2)) {
|
|
|
64
81
|
}
|
|
65
82
|
}
|
|
66
83
|
/**
|
|
67
|
-
*
|
|
84
|
+
* CLI wrapper for demo command
|
|
68
85
|
*/
|
|
69
|
-
async function
|
|
86
|
+
async function handleDemoCommand(context) {
|
|
70
87
|
console.log();
|
|
71
88
|
console.log(chalk.cyan('🔍 Running demo investigation...'));
|
|
72
89
|
console.log();
|
|
73
|
-
|
|
74
|
-
if (!
|
|
75
|
-
console.log(chalk.
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
console.log();
|
|
80
|
-
}
|
|
81
|
-
// Step 2: Load demo data
|
|
82
|
-
const dataset = loadDemoData();
|
|
83
|
-
if (!dataset) {
|
|
84
|
-
console.log(chalk.red('✗ Failed to load demo data'));
|
|
85
|
-
console.log();
|
|
86
|
-
console.log('Try running:');
|
|
87
|
-
console.log(chalk.cyan(' resolveai demo reset'));
|
|
90
|
+
const result = await handlers.handleDemo(context);
|
|
91
|
+
if (!result.success) {
|
|
92
|
+
console.log(chalk.red('✗'), result.message);
|
|
93
|
+
if (result.error) {
|
|
94
|
+
console.log(chalk.gray(result.error));
|
|
95
|
+
}
|
|
88
96
|
console.log();
|
|
89
97
|
return;
|
|
90
98
|
}
|
|
91
|
-
//
|
|
92
|
-
const
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
// Build timeline
|
|
96
|
-
const rawTimeline = buildTimeline(dataset, {
|
|
97
|
-
hoursAgo: 48, // Last 2 days for demo
|
|
98
|
-
maxItems: 20,
|
|
99
|
-
});
|
|
100
|
-
const timeline = deduplicateTimeline(rawTimeline);
|
|
101
|
-
// Generate investigation paths
|
|
102
|
-
const paths = generateInvestigationPaths(timeline, dataset);
|
|
103
|
-
// Find similar past incidents
|
|
104
|
-
const recall = findRecallMatches(query, dataset);
|
|
105
|
-
// Detect missing signals
|
|
106
|
-
const missingSignals = detectMissingSignals(timeline);
|
|
107
|
-
// Generate suggestions
|
|
108
|
-
const suggestions = generateSuggestions(timeline);
|
|
109
|
-
// Create investigation result
|
|
110
|
-
const result = {
|
|
111
|
-
mode: 'demo',
|
|
112
|
-
sessionId: `demo-${Date.now()}`,
|
|
113
|
-
query,
|
|
114
|
-
timeWindow: 'Last 48 hours',
|
|
115
|
-
timeline,
|
|
116
|
-
paths,
|
|
117
|
-
recall,
|
|
118
|
-
missingSignals,
|
|
119
|
-
suggestions,
|
|
120
|
-
};
|
|
121
|
-
// Step 4: Display investigation
|
|
122
|
-
displayInvestigation(result);
|
|
123
|
-
// Step 5: Prompt for time saved
|
|
99
|
+
// Display investigation
|
|
100
|
+
const investigation = result.data;
|
|
101
|
+
displayInvestigation(investigation);
|
|
102
|
+
// Prompt for time saved
|
|
124
103
|
const timeSaved = await promptTimeSaved();
|
|
125
104
|
console.log(chalk.green(`✓ Recorded: ${timeSaved} minutes saved`));
|
|
126
105
|
console.log();
|
|
127
|
-
//
|
|
106
|
+
// Suggest next commands
|
|
128
107
|
console.log(chalk.bold('Try these next:'));
|
|
129
108
|
console.log();
|
|
130
109
|
console.log(chalk.cyan(' resolveai investigate schema mismatch'));
|
|
@@ -136,64 +115,31 @@ async function handleDemo() {
|
|
|
136
115
|
console.log();
|
|
137
116
|
}
|
|
138
117
|
/**
|
|
139
|
-
*
|
|
118
|
+
* CLI wrapper for investigate command
|
|
140
119
|
*/
|
|
141
|
-
async function
|
|
120
|
+
async function handleInvestigateCommand(query, context) {
|
|
142
121
|
console.log();
|
|
143
122
|
console.log(chalk.cyan('🔍 Running investigation...'));
|
|
144
123
|
console.log();
|
|
145
|
-
|
|
146
|
-
if (!
|
|
147
|
-
console.log(chalk.yellow('⚠️
|
|
148
|
-
console.log();
|
|
149
|
-
console.log('Demo mode: Run', chalk.cyan('resolveai demo seed'), 'to generate data first');
|
|
150
|
-
console.log('Real mode: Not yet implemented (v1 uses demo data only)');
|
|
124
|
+
const result = await handlers.handleInvestigate(query, context);
|
|
125
|
+
if (!result.success) {
|
|
126
|
+
console.log(chalk.yellow('⚠️ '), result.message);
|
|
151
127
|
console.log();
|
|
128
|
+
if (result.error) {
|
|
129
|
+
console.log(chalk.gray(result.error));
|
|
130
|
+
console.log();
|
|
131
|
+
}
|
|
152
132
|
console.log(chalk.gray('For now, try:'));
|
|
153
133
|
console.log(chalk.gray(' resolveai demo seed'));
|
|
154
134
|
console.log(chalk.gray(' resolveai investigate timeouts'));
|
|
155
135
|
console.log();
|
|
156
136
|
return;
|
|
157
137
|
}
|
|
158
|
-
|
|
159
|
-
const dataset = loadDemoData();
|
|
160
|
-
if (!dataset) {
|
|
161
|
-
console.log(chalk.red('✗ Failed to load demo data'));
|
|
162
|
-
return;
|
|
163
|
-
}
|
|
138
|
+
const investigation = result.data;
|
|
164
139
|
console.log(`Investigating: "${query}"`);
|
|
165
140
|
console.log();
|
|
166
|
-
console.log();
|
|
167
|
-
// Build timeline filtered by query
|
|
168
|
-
const timeline = buildTimeline(dataset, {
|
|
169
|
-
hoursAgo: 48,
|
|
170
|
-
maxItems: 15,
|
|
171
|
-
query
|
|
172
|
-
});
|
|
173
|
-
// Deduplicate timeline
|
|
174
|
-
const dedupedTimeline = deduplicateTimeline(timeline, { maxPerService: 3 });
|
|
175
|
-
// Generate investigation paths
|
|
176
|
-
const paths = generateInvestigationPaths(dedupedTimeline, dataset);
|
|
177
|
-
// Find similar past incidents
|
|
178
|
-
const recall = findRecallMatches(query, dataset);
|
|
179
|
-
// Detect missing signals
|
|
180
|
-
const missingSignals = detectMissingSignals(dedupedTimeline);
|
|
181
|
-
// Generate suggestions
|
|
182
|
-
const suggestions = generateSuggestions(dedupedTimeline);
|
|
183
|
-
// Create investigation result
|
|
184
|
-
const result = {
|
|
185
|
-
mode: 'demo',
|
|
186
|
-
sessionId: `inv-${Date.now()}`,
|
|
187
|
-
query,
|
|
188
|
-
timeWindow: 'Last 48 hours',
|
|
189
|
-
timeline: dedupedTimeline,
|
|
190
|
-
paths,
|
|
191
|
-
recall,
|
|
192
|
-
missingSignals,
|
|
193
|
-
suggestions,
|
|
194
|
-
};
|
|
195
141
|
// Display investigation
|
|
196
|
-
displayInvestigation(
|
|
142
|
+
displayInvestigation(investigation);
|
|
197
143
|
// Suggest next commands
|
|
198
144
|
console.log();
|
|
199
145
|
console.log(chalk.bold('Next steps:'));
|
|
@@ -203,15 +149,116 @@ async function handleInvestigate(query) {
|
|
|
203
149
|
console.log();
|
|
204
150
|
}
|
|
205
151
|
/**
|
|
206
|
-
*
|
|
152
|
+
* CLI wrapper for details command
|
|
153
|
+
*/
|
|
154
|
+
async function handleDetailsCommand(args, context) {
|
|
155
|
+
console.log();
|
|
156
|
+
// Extract item number from args
|
|
157
|
+
const itemNum = parseInt(args[args.length - 1]);
|
|
158
|
+
const result = await handlers.handleDetails(itemNum, context);
|
|
159
|
+
if (!result.success) {
|
|
160
|
+
console.log(chalk.yellow('⚠️ '), result.message);
|
|
161
|
+
console.log();
|
|
162
|
+
if (result.error) {
|
|
163
|
+
console.log(chalk.gray(result.error));
|
|
164
|
+
}
|
|
165
|
+
console.log();
|
|
166
|
+
return;
|
|
167
|
+
}
|
|
168
|
+
const data = result.data;
|
|
169
|
+
const item = data.item;
|
|
170
|
+
// Display detailed view
|
|
171
|
+
console.log(chalk.bold.cyan(`📋 Item ${data.itemNumber} Details`));
|
|
172
|
+
console.log();
|
|
173
|
+
console.log(chalk.bold('Type:'), item.signal);
|
|
174
|
+
console.log(chalk.bold('Target:'), item.target);
|
|
175
|
+
console.log(chalk.bold('Time:'), new Date(item.timestamp).toLocaleString());
|
|
176
|
+
console.log(chalk.bold('Summary:'), item.summary);
|
|
177
|
+
console.log(chalk.bold('Why it matters:'), item.whyItMatters);
|
|
178
|
+
console.log(chalk.bold('Confidence:'), item.confidence);
|
|
179
|
+
console.log();
|
|
180
|
+
if (item.details) {
|
|
181
|
+
console.log(chalk.bold('Additional Details:'));
|
|
182
|
+
console.log(JSON.stringify(item.details, null, 2));
|
|
183
|
+
console.log();
|
|
184
|
+
}
|
|
185
|
+
console.log(chalk.gray('Session:'), chalk.gray(data.sessionId));
|
|
186
|
+
console.log();
|
|
187
|
+
}
|
|
188
|
+
/**
|
|
189
|
+
* CLI wrapper for note command
|
|
190
|
+
*/
|
|
191
|
+
async function handleNoteCommand(note, context) {
|
|
192
|
+
console.log();
|
|
193
|
+
const result = await handlers.handleNote(note, context);
|
|
194
|
+
if (!result.success) {
|
|
195
|
+
console.log(chalk.red('✗'), result.message);
|
|
196
|
+
console.log();
|
|
197
|
+
if (result.error) {
|
|
198
|
+
console.log(chalk.gray(result.error));
|
|
199
|
+
}
|
|
200
|
+
console.log();
|
|
201
|
+
return;
|
|
202
|
+
}
|
|
203
|
+
const data = result.data;
|
|
204
|
+
console.log(chalk.green('✓ Note added'));
|
|
205
|
+
console.log();
|
|
206
|
+
console.log(chalk.gray(`Session: ${data.sessionId}`));
|
|
207
|
+
console.log();
|
|
208
|
+
}
|
|
209
|
+
/**
|
|
210
|
+
* CLI wrapper for close command
|
|
211
|
+
*/
|
|
212
|
+
async function handleCloseCommand(resolution, context) {
|
|
213
|
+
console.log();
|
|
214
|
+
console.log(chalk.cyan('🎯 Closing investigation...'));
|
|
215
|
+
console.log();
|
|
216
|
+
const result = await handlers.handleClose(resolution, context);
|
|
217
|
+
if (!result.success) {
|
|
218
|
+
console.log(chalk.yellow('⚠️ '), result.message);
|
|
219
|
+
console.log();
|
|
220
|
+
if (result.error) {
|
|
221
|
+
console.log(chalk.gray(result.error));
|
|
222
|
+
}
|
|
223
|
+
console.log();
|
|
224
|
+
return;
|
|
225
|
+
}
|
|
226
|
+
const data = result.data;
|
|
227
|
+
console.log(chalk.bold('Query:'), data.query);
|
|
228
|
+
console.log(chalk.bold('Resolution:'), data.resolution);
|
|
229
|
+
console.log();
|
|
230
|
+
if (data.notes.length > 0) {
|
|
231
|
+
console.log(chalk.bold('Your notes:'));
|
|
232
|
+
for (const note of data.notes) {
|
|
233
|
+
const time = new Date(note.timestamp).toLocaleTimeString();
|
|
234
|
+
console.log(chalk.gray(` [${time}]`), note.note);
|
|
235
|
+
}
|
|
236
|
+
console.log();
|
|
237
|
+
}
|
|
238
|
+
// In CLI mode, prompt for actual time saved (override default)
|
|
239
|
+
const timeSaved = await promptTimeSaved();
|
|
240
|
+
// Re-close with actual time saved
|
|
241
|
+
const { closeSession } = await import('./database.js');
|
|
242
|
+
closeSession(data.sessionId, data.resolution, timeSaved);
|
|
243
|
+
console.log();
|
|
244
|
+
console.log(chalk.green('✓ Investigation closed and saved to memory'));
|
|
245
|
+
console.log(chalk.gray(` Time saved: ${timeSaved} minutes`));
|
|
246
|
+
console.log();
|
|
247
|
+
console.log(chalk.bold('Next steps:'));
|
|
248
|
+
console.log(chalk.cyan(' resolveai investigate <new issue>'));
|
|
249
|
+
console.log(chalk.cyan(' resolveai report weekly'));
|
|
250
|
+
console.log();
|
|
251
|
+
}
|
|
252
|
+
/**
|
|
253
|
+
* CLI wrapper for demo seed command
|
|
207
254
|
*/
|
|
208
|
-
function
|
|
255
|
+
function handleDemoSeedCommand(context) {
|
|
209
256
|
console.log();
|
|
210
257
|
console.log(chalk.cyan('🌱 Seeding demo data...'));
|
|
211
258
|
console.log();
|
|
212
|
-
const
|
|
213
|
-
if (
|
|
214
|
-
console.log(chalk.yellow('⚠️
|
|
259
|
+
const result = handlers.handleDemoSeed(context);
|
|
260
|
+
if (!result.success) {
|
|
261
|
+
console.log(chalk.yellow('⚠️ '), result.message);
|
|
215
262
|
console.log();
|
|
216
263
|
console.log('To regenerate, use:');
|
|
217
264
|
console.log(chalk.cyan(' resolveai demo reset'));
|
|
@@ -228,16 +275,14 @@ function handleDemoSeed() {
|
|
|
228
275
|
console.log();
|
|
229
276
|
return;
|
|
230
277
|
}
|
|
231
|
-
|
|
232
|
-
const dataset = generateDemoData();
|
|
233
|
-
saveDemoData(dataset);
|
|
278
|
+
const data = result.data;
|
|
234
279
|
console.log(chalk.green('✅ Demo data seeded successfully!'));
|
|
235
280
|
console.log();
|
|
236
281
|
console.log('Generated:');
|
|
237
|
-
console.log(chalk.gray(` ${
|
|
238
|
-
console.log(chalk.gray(` ${
|
|
239
|
-
console.log(chalk.gray(` ${
|
|
240
|
-
console.log(chalk.gray(` ${
|
|
282
|
+
console.log(chalk.gray(` ${data.services} services`));
|
|
283
|
+
console.log(chalk.gray(` ${data.deploys} deploy events`));
|
|
284
|
+
console.log(chalk.gray(` ${data.logs} log entries`));
|
|
285
|
+
console.log(chalk.gray(` ${data.incidents} past incidents`));
|
|
241
286
|
console.log();
|
|
242
287
|
console.log(chalk.gray(`Location: ${getStorageInfo().path}`));
|
|
243
288
|
console.log();
|
|
@@ -247,31 +292,63 @@ function handleDemoSeed() {
|
|
|
247
292
|
console.log();
|
|
248
293
|
}
|
|
249
294
|
/**
|
|
250
|
-
*
|
|
295
|
+
* CLI wrapper for demo reset command
|
|
251
296
|
*/
|
|
252
|
-
function
|
|
297
|
+
function handleDemoResetCommand(context) {
|
|
253
298
|
console.log();
|
|
254
299
|
console.log(chalk.cyan('🔄 Resetting demo data...'));
|
|
255
300
|
console.log();
|
|
256
|
-
const
|
|
257
|
-
if (
|
|
258
|
-
|
|
259
|
-
console.log(
|
|
301
|
+
const result = handlers.handleDemoReset(context);
|
|
302
|
+
if (!result.success) {
|
|
303
|
+
console.log(chalk.red('✗'), result.message);
|
|
304
|
+
console.log();
|
|
305
|
+
return;
|
|
260
306
|
}
|
|
261
|
-
|
|
262
|
-
const dataset = generateDemoData();
|
|
263
|
-
saveDemoData(dataset);
|
|
307
|
+
const data = result.data;
|
|
264
308
|
console.log(chalk.green('✅ Demo data reset successfully!'));
|
|
265
309
|
console.log();
|
|
266
310
|
console.log('Generated:');
|
|
267
|
-
console.log(chalk.gray(` ${
|
|
268
|
-
console.log(chalk.gray(` ${
|
|
269
|
-
console.log(chalk.gray(` ${
|
|
270
|
-
console.log(chalk.gray(` ${
|
|
311
|
+
console.log(chalk.gray(` ${data.services} services`));
|
|
312
|
+
console.log(chalk.gray(` ${data.deploys} deploy events`));
|
|
313
|
+
console.log(chalk.gray(` ${data.logs} log entries`));
|
|
314
|
+
console.log(chalk.gray(` ${data.incidents} past incidents`));
|
|
271
315
|
console.log();
|
|
272
316
|
console.log(chalk.gray(`Location: ${getStorageInfo().path}`));
|
|
273
317
|
console.log();
|
|
274
318
|
}
|
|
319
|
+
/**
|
|
320
|
+
* CLI wrapper for setup command
|
|
321
|
+
*/
|
|
322
|
+
async function handleSetupCommand(context) {
|
|
323
|
+
console.log();
|
|
324
|
+
console.log(chalk.cyan('🔧 Configuring Claude Code integration...'));
|
|
325
|
+
console.log();
|
|
326
|
+
const result = await handlers.handleSetup(context);
|
|
327
|
+
if (!result.success) {
|
|
328
|
+
console.log(chalk.yellow('⚠️ '), result.message);
|
|
329
|
+
console.log();
|
|
330
|
+
if (result.error) {
|
|
331
|
+
console.log(result.error);
|
|
332
|
+
}
|
|
333
|
+
console.log();
|
|
334
|
+
return;
|
|
335
|
+
}
|
|
336
|
+
console.log(chalk.green('✅ Claude Code configured successfully!'));
|
|
337
|
+
console.log();
|
|
338
|
+
if (result.data) {
|
|
339
|
+
const data = result.data;
|
|
340
|
+
if (data.configPath) {
|
|
341
|
+
console.log(chalk.gray(`Config file: ${data.configPath}`));
|
|
342
|
+
console.log();
|
|
343
|
+
}
|
|
344
|
+
}
|
|
345
|
+
console.log(chalk.bold('Next steps:'));
|
|
346
|
+
console.log('1. Restart Claude Code (if running)');
|
|
347
|
+
console.log('2. Try: "investigate timeout issues in payment service"');
|
|
348
|
+
console.log();
|
|
349
|
+
console.log(chalk.gray('Claude Code will automatically call resolve-solo for incident investigation'));
|
|
350
|
+
console.log();
|
|
351
|
+
}
|
|
275
352
|
// Only run if called directly (not imported)
|
|
276
353
|
// Always run main() when this file is executed (not imported as a module)
|
|
277
354
|
main().catch((error) => {
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Database module for session persistence
|
|
3
|
+
*
|
|
4
|
+
* Uses SQLite to store:
|
|
5
|
+
* - Investigation sessions
|
|
6
|
+
* - Session timeline items
|
|
7
|
+
* - Session notes
|
|
8
|
+
* - Closed incidents for recall
|
|
9
|
+
*/
|
|
10
|
+
import Database from 'better-sqlite3';
|
|
11
|
+
import type { InvestigationResult, TimelineItem } from './investigation-types.js';
|
|
12
|
+
/**
|
|
13
|
+
* Get or create database connection
|
|
14
|
+
*/
|
|
15
|
+
export declare function getDatabase(): Database.Database;
|
|
16
|
+
/**
|
|
17
|
+
* Save investigation session
|
|
18
|
+
*/
|
|
19
|
+
export declare function saveSession(result: InvestigationResult): void;
|
|
20
|
+
/**
|
|
21
|
+
* Get active session (most recent unclosed session)
|
|
22
|
+
*/
|
|
23
|
+
export declare function getActiveSession(): {
|
|
24
|
+
sessionId: string;
|
|
25
|
+
query: string;
|
|
26
|
+
} | null;
|
|
27
|
+
/**
|
|
28
|
+
* Get timeline item by index for active session
|
|
29
|
+
*/
|
|
30
|
+
export declare function getTimelineItem(sessionId: string, itemIndex: number): TimelineItem | null;
|
|
31
|
+
/**
|
|
32
|
+
* Add note to session
|
|
33
|
+
*/
|
|
34
|
+
export declare function addNote(sessionId: string, note: string): void;
|
|
35
|
+
/**
|
|
36
|
+
* Get all notes for a session
|
|
37
|
+
*/
|
|
38
|
+
export declare function getNotes(sessionId: string): Array<{
|
|
39
|
+
timestamp: string;
|
|
40
|
+
note: string;
|
|
41
|
+
}>;
|
|
42
|
+
/**
|
|
43
|
+
* Close session and save to incidents
|
|
44
|
+
*/
|
|
45
|
+
export declare function closeSession(sessionId: string, resolution: string, timeSavedMinutes: number): void;
|
|
46
|
+
//# sourceMappingURL=database.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"database.d.ts","sourceRoot":"","sources":["../src/database.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AAGtC,OAAO,KAAK,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAQlF;;GAEG;AACH,wBAAgB,WAAW,IAAI,QAAQ,CAAC,QAAQ,CAY/C;AAuDD;;GAEG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,mBAAmB,GAAG,IAAI,CAiC7D;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAY9E;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI,CAYzF;AAED;;GAEG;AACH,wBAAgB,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAS7D;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,KAAK,CAAC;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CAUtF;AAED;;GAEG;AACH,wBAAgB,YAAY,CAC1B,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAClB,gBAAgB,EAAE,MAAM,GACvB,IAAI,CA4CN"}
|