resolve-solo 0.7.0 → 1.1.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 (119) hide show
  1. package/dist/cli-progress/index.d.ts +9 -0
  2. package/dist/cli-progress/index.d.ts.map +1 -0
  3. package/dist/cli-progress/index.js +9 -0
  4. package/dist/cli-progress/index.js.map +1 -0
  5. package/dist/cli-progress/progress-bar.d.ts +12 -0
  6. package/dist/cli-progress/progress-bar.d.ts.map +1 -0
  7. package/dist/cli-progress/progress-bar.js +29 -0
  8. package/dist/cli-progress/progress-bar.js.map +1 -0
  9. package/dist/cli-progress/spinner.d.ts +21 -0
  10. package/dist/cli-progress/spinner.d.ts.map +1 -0
  11. package/dist/cli-progress/spinner.js +35 -0
  12. package/dist/cli-progress/spinner.js.map +1 -0
  13. package/dist/cli-progress/task-renderer.d.ts +57 -0
  14. package/dist/cli-progress/task-renderer.d.ts.map +1 -0
  15. package/dist/cli-progress/task-renderer.js +177 -0
  16. package/dist/cli-progress/task-renderer.js.map +1 -0
  17. package/dist/cli.d.ts.map +1 -1
  18. package/dist/cli.js +135 -24
  19. package/dist/cli.js.map +1 -1
  20. package/dist/constants.d.ts +1 -1
  21. package/dist/constants.js +1 -1
  22. package/dist/data-sources/alerts-generator.d.ts +12 -0
  23. package/dist/data-sources/alerts-generator.d.ts.map +1 -0
  24. package/dist/data-sources/alerts-generator.js +168 -0
  25. package/dist/data-sources/alerts-generator.js.map +1 -0
  26. package/dist/data-sources/index.d.ts +10 -0
  27. package/dist/data-sources/index.d.ts.map +1 -0
  28. package/dist/data-sources/index.js +10 -0
  29. package/dist/data-sources/index.js.map +1 -0
  30. package/dist/data-sources/metrics-generator.d.ts +12 -0
  31. package/dist/data-sources/metrics-generator.d.ts.map +1 -0
  32. package/dist/data-sources/metrics-generator.js +169 -0
  33. package/dist/data-sources/metrics-generator.js.map +1 -0
  34. package/dist/data-sources/pipeline-generator.d.ts +12 -0
  35. package/dist/data-sources/pipeline-generator.d.ts.map +1 -0
  36. package/dist/data-sources/pipeline-generator.js +157 -0
  37. package/dist/data-sources/pipeline-generator.js.map +1 -0
  38. package/dist/data-sources/sla-generator.d.ts +12 -0
  39. package/dist/data-sources/sla-generator.d.ts.map +1 -0
  40. package/dist/data-sources/sla-generator.js +84 -0
  41. package/dist/data-sources/sla-generator.js.map +1 -0
  42. package/dist/demo-generator.d.ts +6 -2
  43. package/dist/demo-generator.d.ts.map +1 -1
  44. package/dist/demo-generator.js +40 -30
  45. package/dist/demo-generator.js.map +1 -1
  46. package/dist/demo-schema.d.ts +49 -0
  47. package/dist/demo-schema.d.ts.map +1 -1
  48. package/dist/findings/aggregator.d.ts +26 -0
  49. package/dist/findings/aggregator.d.ts.map +1 -0
  50. package/dist/findings/aggregator.js +149 -0
  51. package/dist/findings/aggregator.js.map +1 -0
  52. package/dist/findings/formatter.d.ts +50 -0
  53. package/dist/findings/formatter.d.ts.map +1 -0
  54. package/dist/findings/formatter.js +393 -0
  55. package/dist/findings/formatter.js.map +1 -0
  56. package/dist/findings/index.d.ts +4 -0
  57. package/dist/findings/index.d.ts.map +1 -0
  58. package/dist/findings/index.js +7 -0
  59. package/dist/findings/index.js.map +1 -0
  60. package/dist/findings/prioritizer.d.ts +15 -0
  61. package/dist/findings/prioritizer.d.ts.map +1 -0
  62. package/dist/findings/prioritizer.js +107 -0
  63. package/dist/findings/prioritizer.js.map +1 -0
  64. package/dist/handlers.d.ts +38 -0
  65. package/dist/handlers.d.ts.map +1 -1
  66. package/dist/handlers.js +135 -1
  67. package/dist/handlers.js.map +1 -1
  68. package/dist/investigation-engine/example.d.ts +9 -0
  69. package/dist/investigation-engine/example.d.ts.map +1 -0
  70. package/dist/investigation-engine/example.js +88 -0
  71. package/dist/investigation-engine/example.js.map +1 -0
  72. package/dist/investigation-engine/index.d.ts +9 -0
  73. package/dist/investigation-engine/index.d.ts.map +1 -0
  74. package/dist/investigation-engine/index.js +9 -0
  75. package/dist/investigation-engine/index.js.map +1 -0
  76. package/dist/investigation-engine/task-definitions.d.ts +10 -0
  77. package/dist/investigation-engine/task-definitions.d.ts.map +1 -0
  78. package/dist/investigation-engine/task-definitions.js +86 -0
  79. package/dist/investigation-engine/task-definitions.js.map +1 -0
  80. package/dist/investigation-engine/task-executor.d.ts +58 -0
  81. package/dist/investigation-engine/task-executor.d.ts.map +1 -0
  82. package/dist/investigation-engine/task-executor.js +211 -0
  83. package/dist/investigation-engine/task-executor.js.map +1 -0
  84. package/dist/investigation-engine/task-progress.d.ts +51 -0
  85. package/dist/investigation-engine/task-progress.d.ts.map +1 -0
  86. package/dist/investigation-engine/task-progress.js +107 -0
  87. package/dist/investigation-engine/task-progress.js.map +1 -0
  88. package/dist/investigation-engine/task-types.d.ts +44 -0
  89. package/dist/investigation-engine/task-types.d.ts.map +1 -0
  90. package/dist/investigation-engine/task-types.js +2 -0
  91. package/dist/investigation-engine/task-types.js.map +1 -0
  92. package/dist/mcp/tools.d.ts.map +1 -1
  93. package/dist/mcp/tools.js +22 -2
  94. package/dist/mcp/tools.js.map +1 -1
  95. package/dist/parser.d.ts.map +1 -1
  96. package/dist/parser.js +10 -0
  97. package/dist/parser.js.map +1 -1
  98. package/dist/repl.d.ts.map +1 -1
  99. package/dist/repl.js +143 -19
  100. package/dist/repl.js.map +1 -1
  101. package/dist/seeded-random.d.ts +15 -0
  102. package/dist/seeded-random.d.ts.map +1 -0
  103. package/dist/seeded-random.js +32 -0
  104. package/dist/seeded-random.js.map +1 -0
  105. package/dist/storage.d.ts +9 -5
  106. package/dist/storage.d.ts.map +1 -1
  107. package/dist/storage.js +75 -8
  108. package/dist/storage.js.map +1 -1
  109. package/dist/tool-config.d.ts +36 -0
  110. package/dist/tool-config.d.ts.map +1 -0
  111. package/dist/tool-config.js +83 -0
  112. package/dist/tool-config.js.map +1 -0
  113. package/dist/tool-discovery.d.ts +27 -0
  114. package/dist/tool-discovery.d.ts.map +1 -0
  115. package/dist/tool-discovery.js +150 -0
  116. package/dist/tool-discovery.js.map +1 -0
  117. package/dist/types.d.ts +1 -1
  118. package/dist/types.d.ts.map +1 -1
  119. package/package.json +1 -1
@@ -0,0 +1,83 @@
1
+ /**
2
+ * Tool Configuration Storage
3
+ *
4
+ * Stores and retrieves tool discovery results.
5
+ */
6
+ import fs from 'node:fs';
7
+ import path from 'node:path';
8
+ import { getResolveaiDir, ensureDir } from './storage.js';
9
+ /**
10
+ * Get the tool config file path
11
+ */
12
+ function getToolConfigPath() {
13
+ return path.join(getResolveaiDir(), 'tool-config.json');
14
+ }
15
+ /**
16
+ * Save tool discovery results to config file
17
+ */
18
+ export function saveToolConfig(result) {
19
+ const configPath = getToolConfigPath();
20
+ ensureDir(getResolveaiDir());
21
+ const config = {
22
+ lastUpdated: new Date().toISOString(),
23
+ discovered: result.discovered,
24
+ missing: result.missing,
25
+ recommendations: result.recommendations,
26
+ };
27
+ fs.writeFileSync(configPath, JSON.stringify(config, null, 2), 'utf-8');
28
+ }
29
+ /**
30
+ * Load tool config from file
31
+ */
32
+ export function loadToolConfig() {
33
+ const configPath = getToolConfigPath();
34
+ if (!fs.existsSync(configPath)) {
35
+ return null;
36
+ }
37
+ try {
38
+ const content = fs.readFileSync(configPath, 'utf-8');
39
+ return JSON.parse(content);
40
+ }
41
+ catch (error) {
42
+ console.error('Error reading tool config:', error);
43
+ return null;
44
+ }
45
+ }
46
+ /**
47
+ * Get tool capabilities (from cache or fresh discovery)
48
+ */
49
+ export async function getToolCapabilities(options) {
50
+ // If not forcing refresh, try to load from cache
51
+ if (!options?.forceRefresh) {
52
+ const cached = loadToolConfig();
53
+ if (cached) {
54
+ return {
55
+ discovered: cached.discovered,
56
+ missing: cached.missing,
57
+ recommendations: cached.recommendations,
58
+ };
59
+ }
60
+ }
61
+ // No cache or forcing refresh, run discovery
62
+ const { discoverTools } = await import('./tool-discovery.js');
63
+ const result = discoverTools();
64
+ // Save to cache
65
+ saveToolConfig(result);
66
+ return result;
67
+ }
68
+ /**
69
+ * Check if tool config exists
70
+ */
71
+ export function toolConfigExists() {
72
+ return fs.existsSync(getToolConfigPath());
73
+ }
74
+ /**
75
+ * Delete tool config
76
+ */
77
+ export function deleteToolConfig() {
78
+ const configPath = getToolConfigPath();
79
+ if (fs.existsSync(configPath)) {
80
+ fs.unlinkSync(configPath);
81
+ }
82
+ }
83
+ //# sourceMappingURL=tool-config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool-config.js","sourceRoot":"","sources":["../src/tool-config.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAU1D;;GAEG;AACH,SAAS,iBAAiB;IACxB,OAAO,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,EAAE,kBAAkB,CAAC,CAAC;AAC1D,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,MAA2B;IACxD,MAAM,UAAU,GAAG,iBAAiB,EAAE,CAAC;IACvC,SAAS,CAAC,eAAe,EAAE,CAAC,CAAC;IAE7B,MAAM,MAAM,GAAe;QACzB,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACrC,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,eAAe,EAAE,MAAM,CAAC,eAAe;KACxC,CAAC;IAEF,EAAE,CAAC,aAAa,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;AACzE,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc;IAC5B,MAAM,UAAU,GAAG,iBAAiB,EAAE,CAAC;IAEvC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC/B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QACrD,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAe,CAAC;IAC3C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,4BAA4B,EAAE,KAAK,CAAC,CAAC;QACnD,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,OAAoC;IAC5E,iDAAiD;IACjD,IAAI,CAAC,OAAO,EAAE,YAAY,EAAE,CAAC;QAC3B,MAAM,MAAM,GAAG,cAAc,EAAE,CAAC;QAChC,IAAI,MAAM,EAAE,CAAC;YACX,OAAO;gBACL,UAAU,EAAE,MAAM,CAAC,UAAU;gBAC7B,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,eAAe,EAAE,MAAM,CAAC,eAAe;aACxC,CAAC;QACJ,CAAC;IACH,CAAC;IAED,6CAA6C;IAC7C,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,MAAM,CAAC,qBAAqB,CAAC,CAAC;IAC9D,MAAM,MAAM,GAAG,aAAa,EAAE,CAAC;IAE/B,gBAAgB;IAChB,cAAc,CAAC,MAAM,CAAC,CAAC;IAEvB,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB;IAC9B,OAAO,EAAE,CAAC,UAAU,CAAC,iBAAiB,EAAE,CAAC,CAAC;AAC5C,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB;IAC9B,MAAM,UAAU,GAAG,iBAAiB,EAAE,CAAC;IACvC,IAAI,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC9B,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;IAC5B,CAAC;AACH,CAAC"}
@@ -0,0 +1,27 @@
1
+ /**
2
+ * Tool Discovery System
3
+ *
4
+ * Detects available MCP tools and guides users on installation.
5
+ */
6
+ export interface ToolCapability {
7
+ id: string;
8
+ name: string;
9
+ category: 'metrics' | 'logs' | 'deployments' | 'incidents' | 'traces';
10
+ installed: boolean;
11
+ mcpServer?: string;
12
+ installGuide: string;
13
+ }
14
+ export interface ToolDiscoveryResult {
15
+ discovered: ToolCapability[];
16
+ missing: ToolCapability[];
17
+ recommendations: string[];
18
+ }
19
+ /**
20
+ * Discover available MCP tools
21
+ */
22
+ export declare function discoverTools(): ToolDiscoveryResult;
23
+ /**
24
+ * Get a human-readable category display name
25
+ */
26
+ export declare function getCategoryDisplay(category: ToolCapability['category']): string;
27
+ //# sourceMappingURL=tool-discovery.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool-discovery.d.ts","sourceRoot":"","sources":["../src/tool-discovery.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,SAAS,GAAG,MAAM,GAAG,aAAa,GAAG,WAAW,GAAG,QAAQ,CAAC;IACtE,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,mBAAmB;IAClC,UAAU,EAAE,cAAc,EAAE,CAAC;IAC7B,OAAO,EAAE,cAAc,EAAE,CAAC;IAC1B,eAAe,EAAE,MAAM,EAAE,CAAC;CAC3B;AAoGD;;GAEG;AACH,wBAAgB,aAAa,IAAI,mBAAmB,CA2CnD;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,cAAc,CAAC,UAAU,CAAC,GAAG,MAAM,CAS/E"}
@@ -0,0 +1,150 @@
1
+ /**
2
+ * Tool Discovery System
3
+ *
4
+ * Detects available MCP tools and guides users on installation.
5
+ */
6
+ import fs from 'node:fs';
7
+ import path from 'node:path';
8
+ import os from 'node:os';
9
+ /**
10
+ * Known MCP tools and their capabilities
11
+ */
12
+ const KNOWN_TOOLS = [
13
+ {
14
+ id: 'datadog',
15
+ name: 'Datadog',
16
+ category: 'metrics',
17
+ installGuide: 'npm install -g @modelcontextprotocol/server-datadog',
18
+ },
19
+ {
20
+ id: 'github',
21
+ name: 'GitHub',
22
+ category: 'deployments',
23
+ installGuide: 'npm install -g @modelcontextprotocol/server-github',
24
+ },
25
+ {
26
+ id: 'pagerduty',
27
+ name: 'PagerDuty',
28
+ category: 'incidents',
29
+ installGuide: 'npm install -g @modelcontextprotocol/server-pagerduty',
30
+ },
31
+ {
32
+ id: 'sentry',
33
+ name: 'Sentry',
34
+ category: 'incidents',
35
+ installGuide: 'npm install -g @modelcontextprotocol/server-sentry',
36
+ },
37
+ {
38
+ id: 'cloudwatch',
39
+ name: 'AWS CloudWatch',
40
+ category: 'logs',
41
+ installGuide: 'npm install -g @modelcontextprotocol/server-aws-cloudwatch',
42
+ },
43
+ {
44
+ id: 'prometheus',
45
+ name: 'Prometheus',
46
+ category: 'metrics',
47
+ installGuide: 'npm install -g @modelcontextprotocol/server-prometheus',
48
+ },
49
+ ];
50
+ /**
51
+ * Get the Claude Code config path
52
+ */
53
+ function getClaudeConfigPath() {
54
+ return path.join(os.homedir(), '.claude', 'config.json');
55
+ }
56
+ /**
57
+ * Read Claude Code config
58
+ */
59
+ function readClaudeConfig() {
60
+ try {
61
+ const configPath = getClaudeConfigPath();
62
+ if (!fs.existsSync(configPath)) {
63
+ return null;
64
+ }
65
+ const content = fs.readFileSync(configPath, 'utf-8');
66
+ return JSON.parse(content);
67
+ }
68
+ catch (error) {
69
+ console.error('Error reading Claude Code config:', error);
70
+ return null;
71
+ }
72
+ }
73
+ /**
74
+ * Check if a tool is installed by looking for its MCP server
75
+ */
76
+ function isToolInstalled(toolId, config) {
77
+ if (!config || !config.mcpServers) {
78
+ return { installed: false };
79
+ }
80
+ // Look for MCP servers that match the tool ID
81
+ const mcpServers = config.mcpServers;
82
+ for (const [serverName, serverConfig] of Object.entries(mcpServers)) {
83
+ const serverNameLower = serverName.toLowerCase();
84
+ const toolIdLower = toolId.toLowerCase();
85
+ // Match if server name contains the tool ID
86
+ // e.g., "datadog", "github-deployments", "pagerduty-mcp", etc.
87
+ if (serverNameLower.includes(toolIdLower)) {
88
+ return { installed: true, mcpServer: serverName };
89
+ }
90
+ // Also check the command if it exists
91
+ const command = serverConfig?.command;
92
+ if (typeof command === 'string' && command.toLowerCase().includes(toolIdLower)) {
93
+ return { installed: true, mcpServer: serverName };
94
+ }
95
+ }
96
+ return { installed: false };
97
+ }
98
+ /**
99
+ * Discover available MCP tools
100
+ */
101
+ export function discoverTools() {
102
+ const config = readClaudeConfig();
103
+ const allTools = KNOWN_TOOLS.map((tool) => {
104
+ const { installed, mcpServer } = isToolInstalled(tool.id, config);
105
+ return {
106
+ ...tool,
107
+ installed,
108
+ mcpServer,
109
+ };
110
+ });
111
+ const discovered = allTools.filter((t) => t.installed);
112
+ const missing = allTools.filter((t) => !t.installed);
113
+ // Generate recommendations based on what's missing
114
+ const recommendations = [];
115
+ // Recommend incident tracking tools if missing
116
+ if (!discovered.some((t) => t.category === 'incidents')) {
117
+ recommendations.push('Install PagerDuty or Sentry MCP for incident tracking');
118
+ }
119
+ // Recommend metrics tools if missing
120
+ if (!discovered.some((t) => t.category === 'metrics')) {
121
+ recommendations.push('Install Datadog or Prometheus MCP for metrics monitoring');
122
+ }
123
+ // Recommend deployment tracking if missing
124
+ if (!discovered.some((t) => t.category === 'deployments')) {
125
+ recommendations.push('Install GitHub MCP for deployment tracking');
126
+ }
127
+ // Recommend logs tools if missing
128
+ if (!discovered.some((t) => t.category === 'logs')) {
129
+ recommendations.push('Install CloudWatch MCP for log analysis');
130
+ }
131
+ return {
132
+ discovered,
133
+ missing,
134
+ recommendations,
135
+ };
136
+ }
137
+ /**
138
+ * Get a human-readable category display name
139
+ */
140
+ export function getCategoryDisplay(category) {
141
+ const map = {
142
+ metrics: 'metrics',
143
+ logs: 'logs',
144
+ deployments: 'deployments',
145
+ incidents: 'incidents',
146
+ traces: 'traces',
147
+ };
148
+ return map[category] || category;
149
+ }
150
+ //# sourceMappingURL=tool-discovery.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool-discovery.js","sourceRoot":"","sources":["../src/tool-discovery.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Core types for Resolve Solo
3
3
  */
4
- export type Intent = 'help' | 'demo' | 'demo-seed' | 'demo-reset' | 'investigate' | 'details' | 'note' | 'close' | 'report-weekly' | 'setup' | 'doctor' | 'uninstall' | 'unknown';
4
+ export type Intent = 'help' | 'demo' | 'demo-seed' | 'demo-reset' | 'investigate' | 'details' | 'note' | 'close' | 'report-weekly' | 'setup' | 'doctor' | 'uninstall' | 'discover' | 'unknown';
5
5
  export interface ParsedCommand {
6
6
  intent: Intent;
7
7
  args: string[];
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,MAAM,MAAM,GACd,MAAM,GACN,MAAM,GACN,WAAW,GACX,YAAY,GACZ,aAAa,GACb,SAAS,GACT,MAAM,GACN,OAAO,GACP,eAAe,GACf,OAAO,GACP,QAAQ,GACR,WAAW,GACX,SAAS,CAAC;AAEd,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,MAAM,MAAM,GACd,MAAM,GACN,MAAM,GACN,WAAW,GACX,YAAY,GACZ,aAAa,GACb,SAAS,GACT,MAAM,GACN,OAAO,GACP,eAAe,GACf,OAAO,GACP,QAAQ,GACR,WAAW,GACX,UAAU,GACV,SAAS,CAAC;AAEd,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "resolve-solo",
3
- "version": "0.7.0",
3
+ "version": "1.1.0",
4
4
  "description": "Local-first CLI on-call assistant for individual engineers",
5
5
  "main": "./dist/index.js",
6
6
  "type": "module",