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.
@@ -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,9 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * MCP Server Binary Entry Point
4
+ *
5
+ * Standalone entry point for the resolve-solo-mcp binary.
6
+ * This file is referenced in package.json bin field.
7
+ */
8
+ import './mcp-server.js';
9
+ //# sourceMappingURL=mcp-cli.d.ts.map
@@ -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"}
@@ -0,0 +1,9 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * MCP Server Binary Entry Point
4
+ *
5
+ * Standalone entry point for the resolve-solo-mcp binary.
6
+ * This file is referenced in package.json bin field.
7
+ */
8
+ import './mcp-server.js';
9
+ //# sourceMappingURL=mcp-cli.js.map
@@ -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,9 @@
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
+ export {};
9
+ //# sourceMappingURL=mcp-server.d.ts.map
@@ -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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"}
@@ -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;AAmFxD;;GAEG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,aAAa,CA8BxD;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAwCrD"}
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: [],
@@ -1 +1 @@
1
- {"version":3,"file":"parser.js","sourceRoot":"","sources":["../src/parser.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AASH,+DAA+D;AAC/D,MAAM,eAAe,GAAoB;IACvC;QACE,MAAM,EAAE,MAAM;QACd,QAAQ,EAAE,CAAC,SAAS,EAAE,WAAW,EAAE,OAAO,CAAC;KAC5C;IACD;QACE,MAAM,EAAE,WAAW;QACnB,QAAQ,EAAE,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;KAC/C;IACD;QACE,MAAM,EAAE,YAAY;QACpB,QAAQ,EAAE,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;KACjD;IACD;QACE,MAAM,EAAE,MAAM;QACd,QAAQ,EAAE,CAAC,SAAS,CAAC;KACtB;IACD;QACE,MAAM,EAAE,SAAS;QACjB,QAAQ,EAAE;YACR,0DAA0D;YAC1D,kBAAkB;YAClB,cAAc;SACf;KACF;IACD;QACE,MAAM,EAAE,MAAM;QACd,QAAQ,EAAE;YACR,WAAW;YACX,iBAAiB;YACjB,UAAU;SACX;KACF;IACD;QACE,MAAM,EAAE,OAAO;QACf,QAAQ,EAAE;YACR,gBAAgB;YAChB,kBAAkB;YAClB,yBAAyB;YACzB,kCAAkC;SACnC;KACF;IACD;QACE,MAAM,EAAE,eAAe;QACvB,QAAQ,EAAE;YACR,oBAAoB;YACpB,oBAAoB;YACpB,WAAW;SACZ;KACF;IACD;QACE,MAAM,EAAE,QAAQ;QAChB,QAAQ,EAAE,CAAC,WAAW,EAAE,mBAAmB,CAAC;KAC7C;IACD;QACE,MAAM,EAAE,WAAW;QACnB,QAAQ,EAAE;YACR,cAAc;YACd,WAAW;YACX,YAAY;SACb;KACF;IACD;QACE,MAAM,EAAE,aAAa;QACrB,QAAQ,EAAE;YACR,kBAAkB;YAClB,kBAAkB;YAClB,gBAAgB;YAChB,YAAY;YACZ,kBAAkB;YAClB,YAAY;SACb;KACF;CACF,CAAC;AAEF;;GAEG;AACH,MAAM,UAAU,WAAW,CAAC,KAAa;IACvC,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAE7B,gDAAgD;IAChD,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC;IAClD,CAAC;IAED,sCAAsC;IACtC,KAAK,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,eAAe,EAAE,CAAC;QACnD,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC/B,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACpC,IAAI,KAAK,EAAE,CAAC;gBACV,yDAAyD;gBACzD,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBAE3C,0EAA0E;gBAC1E,IAAI,KAAyB,CAAC;gBAC9B,IAAI,MAAM,KAAK,aAAa,EAAE,CAAC;oBAC7B,+DAA+D;oBAC/D,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;gBAC9C,CAAC;gBAED,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;YAC/C,CAAC;QACH,CAAC;IACH,CAAC;IAED,4BAA4B;IAC5B,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC;AACzE,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,WAAW,CAAC,MAAe;IACzC,MAAM,QAAQ,GAAG;QACf,IAAI,EAAE,CAAC,gBAAgB,CAAC;QACxB,IAAI,EAAE,CAAC,gBAAgB,CAAC;QACxB,WAAW,EAAE,CAAC,qBAAqB,CAAC;QACpC,YAAY,EAAE,CAAC,sBAAsB,CAAC;QACtC,WAAW,EAAE;YACX,+CAA+C;YAC/C,iEAAiE;YACjE,4CAA4C;SAC7C;QACD,OAAO,EAAE;YACP,mCAAmC;YACnC,qBAAqB;SACtB;QACD,IAAI,EAAE;YACJ,gDAAgD;YAChD,6DAA6D;SAC9D;QACD,KAAK,EAAE;YACL,mCAAmC;YACnC,4CAA4C;SAC7C;QACD,eAAe,EAAE,CAAC,yBAAyB,CAAC;QAC5C,MAAM,EAAE,CAAC,kBAAkB,CAAC;QAC5B,SAAS,EAAE,CAAC,qBAAqB,CAAC;QAClC,OAAO,EAAE,EAAE;KACZ,CAAC;IAEF,IAAI,MAAM,EAAE,CAAC;QACX,OAAO,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;IAChC,CAAC;IAED,sEAAsE;IACtE,OAAO;QACL,gBAAgB;QAChB,+CAA+C;QAC/C,4CAA4C;QAC5C,gBAAgB;KACjB,CAAC;AACJ,CAAC"}
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"}