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
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MCP Tool Definitions and Execution
|
|
3
|
+
*
|
|
4
|
+
* Defines the tools exposed to Claude Code and routes execution to handlers.
|
|
5
|
+
*/
|
|
6
|
+
import * as handlers from '../handlers.js';
|
|
7
|
+
/**
|
|
8
|
+
* Register all available MCP tools
|
|
9
|
+
*/
|
|
10
|
+
export function registerTools() {
|
|
11
|
+
return [
|
|
12
|
+
{
|
|
13
|
+
name: 'investigate',
|
|
14
|
+
description: 'Start investigation for an incident or issue. Creates a new investigation session with timeline of relevant events, suggested investigation paths, and recall of similar past incidents.',
|
|
15
|
+
inputSchema: {
|
|
16
|
+
type: 'object',
|
|
17
|
+
properties: {
|
|
18
|
+
query: {
|
|
19
|
+
type: 'string',
|
|
20
|
+
description: 'What to investigate (e.g., "timeouts on api gateway", "database connection errors", "payment service crashes")',
|
|
21
|
+
},
|
|
22
|
+
},
|
|
23
|
+
required: ['query'],
|
|
24
|
+
},
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
name: 'get_details',
|
|
28
|
+
description: 'Get detailed information for a specific timeline item from the current investigation. Shows full event details including type, target, timestamp, summary, and additional metadata.',
|
|
29
|
+
inputSchema: {
|
|
30
|
+
type: 'object',
|
|
31
|
+
properties: {
|
|
32
|
+
item_number: {
|
|
33
|
+
type: 'number',
|
|
34
|
+
description: 'Timeline item number (1-based index from the investigation timeline)',
|
|
35
|
+
},
|
|
36
|
+
},
|
|
37
|
+
required: ['item_number'],
|
|
38
|
+
},
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
name: 'add_note',
|
|
42
|
+
description: 'Add a note to the current investigation session. Notes are saved with the session and included in the final incident report.',
|
|
43
|
+
inputSchema: {
|
|
44
|
+
type: 'object',
|
|
45
|
+
properties: {
|
|
46
|
+
note: {
|
|
47
|
+
type: 'string',
|
|
48
|
+
description: 'Note content (e.g., "checked connection pool config", "found memory leak in worker process")',
|
|
49
|
+
},
|
|
50
|
+
},
|
|
51
|
+
required: ['note'],
|
|
52
|
+
},
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
name: 'close_incident',
|
|
56
|
+
description: 'Close the current investigation with a resolution. Saves the session to memory for future recall, records time saved, and makes investigation available for similar incident matching.',
|
|
57
|
+
inputSchema: {
|
|
58
|
+
type: 'object',
|
|
59
|
+
properties: {
|
|
60
|
+
resolution: {
|
|
61
|
+
type: 'string',
|
|
62
|
+
description: 'How the incident was resolved (e.g., "increased connection pool size", "rollback to previous version", "restarted crashed service")',
|
|
63
|
+
},
|
|
64
|
+
},
|
|
65
|
+
required: ['resolution'],
|
|
66
|
+
},
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
name: 'generate_report',
|
|
70
|
+
description: 'Generate a weekly incident report showing all closed investigations, time saved, and common patterns. Useful for IT/Security stakeholders.',
|
|
71
|
+
inputSchema: {
|
|
72
|
+
type: 'object',
|
|
73
|
+
properties: {},
|
|
74
|
+
},
|
|
75
|
+
},
|
|
76
|
+
];
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Execute a tool by name with given arguments
|
|
80
|
+
*/
|
|
81
|
+
export async function executeTool(name, args) {
|
|
82
|
+
const context = {
|
|
83
|
+
mode: 'mcp',
|
|
84
|
+
};
|
|
85
|
+
switch (name) {
|
|
86
|
+
case 'investigate':
|
|
87
|
+
return handlers.handleInvestigate(String(args.query), context);
|
|
88
|
+
case 'get_details':
|
|
89
|
+
return handlers.handleDetails(Number(args.item_number), context);
|
|
90
|
+
case 'add_note':
|
|
91
|
+
return handlers.handleNote(String(args.note), context);
|
|
92
|
+
case 'close_incident':
|
|
93
|
+
return handlers.handleClose(String(args.resolution), context);
|
|
94
|
+
case 'generate_report':
|
|
95
|
+
// TODO: Implement in M8 (Weekly Report)
|
|
96
|
+
return {
|
|
97
|
+
success: false,
|
|
98
|
+
message: 'Weekly reports not yet implemented',
|
|
99
|
+
error: 'This feature will be available in v0.5.0',
|
|
100
|
+
};
|
|
101
|
+
default:
|
|
102
|
+
throw new Error(`Unknown tool: ${name}`);
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
//# sourceMappingURL=tools.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../../src/mcp/tools.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAG3C;;GAEG;AACH,MAAM,UAAU,aAAa;IAC3B,OAAO;QACL;YACE,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,0LAA0L;YACvM,WAAW,EAAE;gBACX,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,KAAK,EAAE;wBACL,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,gHAAgH;qBAC9H;iBACF;gBACD,QAAQ,EAAE,CAAC,OAAO,CAAC;aACpB;SACF;QACD;YACE,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,qLAAqL;YAClM,WAAW,EAAE;gBACX,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,WAAW,EAAE;wBACX,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,sEAAsE;qBACpF;iBACF;gBACD,QAAQ,EAAE,CAAC,aAAa,CAAC;aAC1B;SACF;QACD;YACE,IAAI,EAAE,UAAU;YAChB,WAAW,EAAE,8HAA8H;YAC3I,WAAW,EAAE;gBACX,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,IAAI,EAAE;wBACJ,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,8FAA8F;qBAC5G;iBACF;gBACD,QAAQ,EAAE,CAAC,MAAM,CAAC;aACnB;SACF;QACD;YACE,IAAI,EAAE,gBAAgB;YACtB,WAAW,EAAE,wLAAwL;YACrM,WAAW,EAAE;gBACX,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,UAAU,EAAE;wBACV,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,qIAAqI;qBACnJ;iBACF;gBACD,QAAQ,EAAE,CAAC,YAAY,CAAC;aACzB;SACF;QACD;YACE,IAAI,EAAE,iBAAiB;YACvB,WAAW,EAAE,4IAA4I;YACzJ,WAAW,EAAE;gBACX,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE,EAAE;aACf;SACF;KACF,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,IAAY,EACZ,IAA6B;IAE7B,MAAM,OAAO,GAA4B;QACvC,IAAI,EAAE,KAAK;KACZ,CAAC;IAEF,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,aAAa;YAChB,OAAO,QAAQ,CAAC,iBAAiB,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,CAAC;QAEjE,KAAK,aAAa;YAChB,OAAO,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC,CAAC;QAEnE,KAAK,UAAU;YACb,OAAO,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC;QAEzD,KAAK,gBAAgB;YACnB,OAAO,QAAQ,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC,CAAC;QAEhE,KAAK,iBAAiB;YACpB,wCAAwC;YACxC,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,OAAO,EAAE,oCAAoC;gBAC7C,KAAK,EAAE,0CAA0C;aAClD,CAAC;QAEJ;YACE,MAAM,IAAI,KAAK,CAAC,iBAAiB,IAAI,EAAE,CAAC,CAAC;IAC7C,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mcp-cli.d.ts","sourceRoot":"","sources":["../src/mcp-cli.ts"],"names":[],"mappings":";AAEA;;;;;GAKG;AAEH,OAAO,iBAAiB,CAAC"}
|
package/dist/mcp-cli.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mcp-cli.js","sourceRoot":"","sources":["../src/mcp-cli.ts"],"names":[],"mappings":";AAEA;;;;;GAKG;AAEH,OAAO,iBAAiB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mcp-server.d.ts","sourceRoot":"","sources":["../src/mcp-server.ts"],"names":[],"mappings":";AAEA;;;;;GAKG"}
|
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* MCP Server Entry Point
|
|
4
|
+
*
|
|
5
|
+
* Exposes Resolve Solo functionality as MCP tools for Claude Code integration.
|
|
6
|
+
* Uses stdio transport for subprocess communication.
|
|
7
|
+
*/
|
|
8
|
+
import { Server } from '@modelcontextprotocol/sdk/server/index.js';
|
|
9
|
+
import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
|
|
10
|
+
import { CallToolRequestSchema, ListToolsRequestSchema, } from '@modelcontextprotocol/sdk/types.js';
|
|
11
|
+
import { registerTools, executeTool } from './mcp/tools.js';
|
|
12
|
+
/**
|
|
13
|
+
* Start MCP server with stdio transport
|
|
14
|
+
*/
|
|
15
|
+
async function startMcpServer() {
|
|
16
|
+
const server = new Server({
|
|
17
|
+
name: 'resolve-solo',
|
|
18
|
+
version: '0.4.0',
|
|
19
|
+
}, {
|
|
20
|
+
capabilities: {
|
|
21
|
+
tools: {},
|
|
22
|
+
},
|
|
23
|
+
});
|
|
24
|
+
// Register tool list handler
|
|
25
|
+
server.setRequestHandler(ListToolsRequestSchema, async () => {
|
|
26
|
+
return {
|
|
27
|
+
tools: registerTools(),
|
|
28
|
+
};
|
|
29
|
+
});
|
|
30
|
+
// Register tool execution handler
|
|
31
|
+
server.setRequestHandler(CallToolRequestSchema, async (request) => {
|
|
32
|
+
const { name, arguments: args } = request.params;
|
|
33
|
+
try {
|
|
34
|
+
const result = await executeTool(name, args || {});
|
|
35
|
+
return {
|
|
36
|
+
content: [
|
|
37
|
+
{
|
|
38
|
+
type: 'text',
|
|
39
|
+
text: formatMcpResponse(result),
|
|
40
|
+
},
|
|
41
|
+
],
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
catch (error) {
|
|
45
|
+
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
46
|
+
console.error(`Tool execution error: ${errorMessage}`);
|
|
47
|
+
return {
|
|
48
|
+
content: [
|
|
49
|
+
{
|
|
50
|
+
type: 'text',
|
|
51
|
+
text: `Error: ${errorMessage}`,
|
|
52
|
+
},
|
|
53
|
+
],
|
|
54
|
+
isError: true,
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
});
|
|
58
|
+
// Connect stdio transport
|
|
59
|
+
const transport = new StdioServerTransport();
|
|
60
|
+
await server.connect(transport);
|
|
61
|
+
// Log to stderr (stdout reserved for MCP protocol)
|
|
62
|
+
console.error('Resolve Solo MCP server started');
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Format handler result as markdown for Claude Code
|
|
66
|
+
*/
|
|
67
|
+
function formatMcpResponse(result) {
|
|
68
|
+
if (!result.success) {
|
|
69
|
+
return `**Error**: ${result.message}\n\n${result.error || ''}`;
|
|
70
|
+
}
|
|
71
|
+
// Format based on data type
|
|
72
|
+
if (result.data) {
|
|
73
|
+
const data = result.data;
|
|
74
|
+
// Investigation result
|
|
75
|
+
if (data.timeline && data.paths) {
|
|
76
|
+
let output = `## Investigation: ${data.query}\n\n`;
|
|
77
|
+
output += `**Time Window**: ${data.timeWindow}\n\n`;
|
|
78
|
+
// Timeline
|
|
79
|
+
output += `### Timeline (${data.timeline.length} items)\n\n`;
|
|
80
|
+
data.timeline.slice(0, 10).forEach((item, i) => {
|
|
81
|
+
output += `${i + 1}. **${item.signal}** - ${item.summary}\n`;
|
|
82
|
+
output += ` *${item.whyItMatters}* (confidence: ${item.confidence})\n\n`;
|
|
83
|
+
});
|
|
84
|
+
// Investigation paths
|
|
85
|
+
if (data.paths && data.paths.length > 0) {
|
|
86
|
+
output += `### Suggested Paths\n\n`;
|
|
87
|
+
data.paths.forEach((path) => {
|
|
88
|
+
output += `- ${path.description} (confidence: ${path.confidence})\n`;
|
|
89
|
+
});
|
|
90
|
+
output += '\n';
|
|
91
|
+
}
|
|
92
|
+
// Recall
|
|
93
|
+
if (data.recall && data.recall.length > 0) {
|
|
94
|
+
output += `### Similar Past Incidents\n\n`;
|
|
95
|
+
data.recall.forEach((match) => {
|
|
96
|
+
output += `- **${match.title}**\n`;
|
|
97
|
+
output += ` ${match.matchReason}\n`;
|
|
98
|
+
output += ` *What worked:* ${match.whatWorked}\n\n`;
|
|
99
|
+
});
|
|
100
|
+
}
|
|
101
|
+
return output;
|
|
102
|
+
}
|
|
103
|
+
// Details result
|
|
104
|
+
if (data.item && data.itemNumber) {
|
|
105
|
+
let output = `## Item ${data.itemNumber} Details\n\n`;
|
|
106
|
+
const item = data.item;
|
|
107
|
+
output += `**Type**: ${item.signal}\n`;
|
|
108
|
+
output += `**Target**: ${item.target}\n`;
|
|
109
|
+
output += `**Time**: ${new Date(item.timestamp).toLocaleString()}\n`;
|
|
110
|
+
output += `**Summary**: ${item.summary}\n`;
|
|
111
|
+
output += `**Why it matters**: ${item.whyItMatters}\n`;
|
|
112
|
+
output += `**Confidence**: ${item.confidence}\n\n`;
|
|
113
|
+
if (item.details) {
|
|
114
|
+
output += `### Additional Details\n\`\`\`json\n${JSON.stringify(item.details, null, 2)}\n\`\`\`\n`;
|
|
115
|
+
}
|
|
116
|
+
return output;
|
|
117
|
+
}
|
|
118
|
+
// Note added
|
|
119
|
+
if (data.note) {
|
|
120
|
+
return `✓ Note added to investigation\n\n"${data.note}"`;
|
|
121
|
+
}
|
|
122
|
+
// Investigation closed
|
|
123
|
+
if (data.resolution) {
|
|
124
|
+
let output = `✓ Investigation closed\n\n`;
|
|
125
|
+
output += `**Query**: ${data.query}\n`;
|
|
126
|
+
output += `**Resolution**: ${data.resolution}\n`;
|
|
127
|
+
output += `**Time saved**: ${data.timeSaved} minutes\n\n`;
|
|
128
|
+
if (data.notes && data.notes.length > 0) {
|
|
129
|
+
output += `### Your notes:\n`;
|
|
130
|
+
data.notes.forEach((note) => {
|
|
131
|
+
output += `- ${note.note}\n`;
|
|
132
|
+
});
|
|
133
|
+
}
|
|
134
|
+
return output;
|
|
135
|
+
}
|
|
136
|
+
// Demo data seeded
|
|
137
|
+
if (data.services !== undefined) {
|
|
138
|
+
let output = `✓ Demo data generated\n\n`;
|
|
139
|
+
output += `- ${data.services} services\n`;
|
|
140
|
+
output += `- ${data.deploys} deploy events\n`;
|
|
141
|
+
output += `- ${data.logs} log entries\n`;
|
|
142
|
+
output += `- ${data.incidents} past incidents\n`;
|
|
143
|
+
return output;
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
// Default format
|
|
147
|
+
return result.message;
|
|
148
|
+
}
|
|
149
|
+
// Start server
|
|
150
|
+
startMcpServer().catch((error) => {
|
|
151
|
+
console.error('Fatal error:', error);
|
|
152
|
+
process.exit(1);
|
|
153
|
+
});
|
|
154
|
+
//# sourceMappingURL=mcp-server.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mcp-server.js","sourceRoot":"","sources":["../src/mcp-server.ts"],"names":[],"mappings":"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"}
|
package/dist/parser.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../src/parser.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../src/parser.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AA6FxD;;GAEG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,aAAa,CA8BxD;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAyCrD"}
|
package/dist/parser.js
CHANGED
|
@@ -59,6 +59,16 @@ const INTENT_PATTERNS = [
|
|
|
59
59
|
intent: 'doctor',
|
|
60
60
|
patterns: [/^doctor$/i, /^health\s*check$/i],
|
|
61
61
|
},
|
|
62
|
+
{
|
|
63
|
+
intent: 'setup',
|
|
64
|
+
patterns: [
|
|
65
|
+
/^setup$/i,
|
|
66
|
+
/^configure$/i,
|
|
67
|
+
/^setup\s+claude$/i,
|
|
68
|
+
/^configure\s+claude$/i,
|
|
69
|
+
/^install\s+claude$/i,
|
|
70
|
+
],
|
|
71
|
+
},
|
|
62
72
|
{
|
|
63
73
|
intent: 'uninstall',
|
|
64
74
|
patterns: [
|
|
@@ -135,6 +145,7 @@ export function getExamples(intent) {
|
|
|
135
145
|
'resolveai resolve incident was false alarm',
|
|
136
146
|
],
|
|
137
147
|
'report-weekly': ['resolveai report weekly'],
|
|
148
|
+
setup: ['resolveai setup', 'resolveai configure'],
|
|
138
149
|
doctor: ['resolveai doctor'],
|
|
139
150
|
uninstall: ['resolveai uninstall'],
|
|
140
151
|
unknown: [],
|
package/dist/parser.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parser.js","sourceRoot":"","sources":["../src/parser.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"parser.js","sourceRoot":"","sources":["../src/parser.ts"],"names":[],"mappings":"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"}
|
package/dist/repl.d.ts
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* REPL (Read-Eval-Print Loop) Mode
|
|
3
|
+
*
|
|
4
|
+
* Interactive session for standalone users.
|
|
5
|
+
* Type commands without the 'resolveai' prefix.
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* Start interactive REPL mode
|
|
9
|
+
*/
|
|
10
|
+
export declare function startRepl(): Promise<void>;
|
|
11
|
+
//# sourceMappingURL=repl.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"repl.d.ts","sourceRoot":"","sources":["../src/repl.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAqBH;;GAEG;AACH,wBAAsB,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,CAiD/C"}
|