@everstateai/mcp 1.3.2 → 1.3.3
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/dist/index.d.ts +5 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +32 -5
- package/dist/index.js.map +1 -1
- package/dist/setup/auto-update.d.ts +20 -0
- package/dist/setup/auto-update.d.ts.map +1 -0
- package/dist/setup/auto-update.js +295 -0
- package/dist/setup/auto-update.js.map +1 -0
- package/dist/setup/commands/doctor.d.ts +15 -0
- package/dist/setup/commands/doctor.d.ts.map +1 -0
- package/dist/setup/commands/doctor.js +264 -0
- package/dist/setup/commands/doctor.js.map +1 -0
- package/dist/setup/commands/repair.d.ts +14 -0
- package/dist/setup/commands/repair.d.ts.map +1 -0
- package/dist/setup/commands/repair.js +252 -0
- package/dist/setup/commands/repair.js.map +1 -0
- package/dist/setup/hooks/templates.d.ts +30 -0
- package/dist/setup/hooks/templates.d.ts.map +1 -0
- package/dist/setup/hooks/templates.js +237 -0
- package/dist/setup/hooks/templates.js.map +1 -0
- package/dist/setup/types.d.ts +120 -0
- package/dist/setup/types.d.ts.map +1 -0
- package/dist/setup/types.js +58 -0
- package/dist/setup/types.js.map +1 -0
- package/dist/setup/validators/api-key.d.ts +8 -0
- package/dist/setup/validators/api-key.d.ts.map +1 -0
- package/dist/setup/validators/api-key.js +233 -0
- package/dist/setup/validators/api-key.js.map +1 -0
- package/dist/setup/validators/connectivity.d.ts +8 -0
- package/dist/setup/validators/connectivity.d.ts.map +1 -0
- package/dist/setup/validators/connectivity.js +150 -0
- package/dist/setup/validators/connectivity.js.map +1 -0
- package/dist/setup/validators/hooks.d.ts +8 -0
- package/dist/setup/validators/hooks.d.ts.map +1 -0
- package/dist/setup/validators/hooks.js +431 -0
- package/dist/setup/validators/hooks.js.map +1 -0
- package/dist/setup/validators/index.d.ts +18 -0
- package/dist/setup/validators/index.d.ts.map +1 -0
- package/dist/setup/validators/index.js +123 -0
- package/dist/setup/validators/index.js.map +1 -0
- package/dist/setup/validators/mcp-config.d.ts +8 -0
- package/dist/setup/validators/mcp-config.d.ts.map +1 -0
- package/dist/setup/validators/mcp-config.js +333 -0
- package/dist/setup/validators/mcp-config.js.map +1 -0
- package/dist/setup/validators/project.d.ts +8 -0
- package/dist/setup/validators/project.d.ts.map +1 -0
- package/dist/setup/validators/project.js +202 -0
- package/dist/setup/validators/project.js.map +1 -0
- package/dist/setup/version.d.ts +58 -0
- package/dist/setup/version.d.ts.map +1 -0
- package/dist/setup/version.js +262 -0
- package/dist/setup/version.js.map +1 -0
- package/dist/setup.d.ts.map +1 -1
- package/dist/setup.js +207 -27
- package/dist/setup.js.map +1 -1
- package/package.json +1 -1
- package/src/index.ts +32 -5
- package/src/setup/auto-update.ts +328 -0
- package/src/setup/commands/doctor.ts +266 -0
- package/src/setup/commands/repair.ts +260 -0
- package/src/setup/hooks/templates.ts +239 -0
- package/src/setup/types.ts +199 -0
- package/src/setup/validators/api-key.ts +218 -0
- package/src/setup/validators/connectivity.ts +176 -0
- package/src/setup/validators/hooks.ts +447 -0
- package/src/setup/validators/index.ts +137 -0
- package/src/setup/validators/mcp-config.ts +329 -0
- package/src/setup/validators/project.ts +179 -0
- package/src/setup/version.ts +267 -0
- package/src/setup.ts +229 -27
|
@@ -0,0 +1,264 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Doctor Command
|
|
4
|
+
*
|
|
5
|
+
* Diagnoses Everstate installation issues.
|
|
6
|
+
*
|
|
7
|
+
* Usage:
|
|
8
|
+
* npx @everstateai/mcp doctor
|
|
9
|
+
* npx @everstateai/mcp doctor --json
|
|
10
|
+
* npx @everstateai/mcp doctor --verbose
|
|
11
|
+
* npx @everstateai/mcp doctor --component hooks
|
|
12
|
+
*/
|
|
13
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
14
|
+
if (k2 === undefined) k2 = k;
|
|
15
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
16
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
17
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
18
|
+
}
|
|
19
|
+
Object.defineProperty(o, k2, desc);
|
|
20
|
+
}) : (function(o, m, k, k2) {
|
|
21
|
+
if (k2 === undefined) k2 = k;
|
|
22
|
+
o[k2] = m[k];
|
|
23
|
+
}));
|
|
24
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
25
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
26
|
+
}) : function(o, v) {
|
|
27
|
+
o["default"] = v;
|
|
28
|
+
});
|
|
29
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
30
|
+
var ownKeys = function(o) {
|
|
31
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
32
|
+
var ar = [];
|
|
33
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
34
|
+
return ar;
|
|
35
|
+
};
|
|
36
|
+
return ownKeys(o);
|
|
37
|
+
};
|
|
38
|
+
return function (mod) {
|
|
39
|
+
if (mod && mod.__esModule) return mod;
|
|
40
|
+
var result = {};
|
|
41
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
42
|
+
__setModuleDefault(result, mod);
|
|
43
|
+
return result;
|
|
44
|
+
};
|
|
45
|
+
})();
|
|
46
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
47
|
+
exports.doctor = doctor;
|
|
48
|
+
exports.doctorCli = doctorCli;
|
|
49
|
+
const fs = __importStar(require("fs"));
|
|
50
|
+
const types_js_1 = require("../types.js");
|
|
51
|
+
const index_js_1 = require("../validators/index.js");
|
|
52
|
+
const version_js_1 = require("../version.js");
|
|
53
|
+
async function doctor(options = {}) {
|
|
54
|
+
const context = buildContext(options);
|
|
55
|
+
// Run validation
|
|
56
|
+
let summary;
|
|
57
|
+
if (options.component) {
|
|
58
|
+
summary = await (0, index_js_1.validateComponent)(options.component, context);
|
|
59
|
+
}
|
|
60
|
+
else {
|
|
61
|
+
summary = await (0, index_js_1.validateAll)(context);
|
|
62
|
+
}
|
|
63
|
+
// Check for server updates (same as dashboard UI)
|
|
64
|
+
let serverUpdates = [];
|
|
65
|
+
if (context.apiKey) {
|
|
66
|
+
serverUpdates = await (0, version_js_1.checkServerUpdates)(context.apiKey);
|
|
67
|
+
}
|
|
68
|
+
// Output results
|
|
69
|
+
if (options.json) {
|
|
70
|
+
outputJson(summary, serverUpdates);
|
|
71
|
+
}
|
|
72
|
+
else {
|
|
73
|
+
outputPretty(summary, options.verbose, serverUpdates);
|
|
74
|
+
}
|
|
75
|
+
// Exit code based on results
|
|
76
|
+
if (summary.failed > 0) {
|
|
77
|
+
process.exit(1);
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
function buildContext(options) {
|
|
81
|
+
const context = {
|
|
82
|
+
projectDir: options.projectDir || process.cwd(),
|
|
83
|
+
verbose: options.verbose,
|
|
84
|
+
};
|
|
85
|
+
// Try to load API key for authenticated checks
|
|
86
|
+
const apiKeyPath = `${(0, types_js_1.getEverstateDir)()}/api-key`;
|
|
87
|
+
if (fs.existsSync(apiKeyPath)) {
|
|
88
|
+
try {
|
|
89
|
+
context.apiKey = fs.readFileSync(apiKeyPath, 'utf8').trim();
|
|
90
|
+
}
|
|
91
|
+
catch {
|
|
92
|
+
// API key not readable - will be reported by validator
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
return context;
|
|
96
|
+
}
|
|
97
|
+
function outputJson(summary, serverUpdates) {
|
|
98
|
+
console.log(JSON.stringify({ ...summary, serverUpdates }, null, 2));
|
|
99
|
+
}
|
|
100
|
+
function outputPretty(summary, verbose, serverUpdates = []) {
|
|
101
|
+
// Header
|
|
102
|
+
console.log('');
|
|
103
|
+
console.log((0, types_js_1.c)('bold', '╔═══════════════════════════════════════════════════════════╗'));
|
|
104
|
+
console.log((0, types_js_1.c)('bold', '║ Everstate Health Check ║'));
|
|
105
|
+
console.log((0, types_js_1.c)('bold', '╚═══════════════════════════════════════════════════════════╝'));
|
|
106
|
+
console.log('');
|
|
107
|
+
// Group results by component
|
|
108
|
+
const grouped = new Map();
|
|
109
|
+
for (const result of summary.results) {
|
|
110
|
+
if (!grouped.has(result.component)) {
|
|
111
|
+
grouped.set(result.component, []);
|
|
112
|
+
}
|
|
113
|
+
grouped.get(result.component).push(result);
|
|
114
|
+
}
|
|
115
|
+
// Output each component
|
|
116
|
+
for (const [component, results] of grouped) {
|
|
117
|
+
console.log((0, types_js_1.c)('bold', component));
|
|
118
|
+
for (const result of results) {
|
|
119
|
+
const icon = getStatusIcon(result.status);
|
|
120
|
+
const color = getStatusColor(result.status);
|
|
121
|
+
const message = result.message;
|
|
122
|
+
console.log(` ${icon} ${(0, types_js_1.c)(color, result.check)}: ${message}`);
|
|
123
|
+
// Show details in verbose mode
|
|
124
|
+
if (verbose && result.details) {
|
|
125
|
+
for (const [key, value] of Object.entries(result.details)) {
|
|
126
|
+
console.log((0, types_js_1.c)('dim', ` ${key}: ${JSON.stringify(value)}`));
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
// Show repair action hint for failures
|
|
130
|
+
if (result.status === 'fail' && result.repairAction) {
|
|
131
|
+
console.log((0, types_js_1.c)('dim', ` → ${result.repairAction.description}`));
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
console.log('');
|
|
135
|
+
}
|
|
136
|
+
// Check for available updates (local version checks)
|
|
137
|
+
const localUpdates = (0, version_js_1.checkForUpdates)();
|
|
138
|
+
// Show both local and server updates
|
|
139
|
+
const hasLocalUpdates = localUpdates.needsUpdate;
|
|
140
|
+
const hasServerUpdates = serverUpdates.length > 0;
|
|
141
|
+
if (hasLocalUpdates || hasServerUpdates) {
|
|
142
|
+
console.log((0, types_js_1.c)('yellow', 'Available Updates:'));
|
|
143
|
+
// Local version file updates
|
|
144
|
+
if (hasLocalUpdates) {
|
|
145
|
+
for (const outdated of localUpdates.outdated) {
|
|
146
|
+
console.log((0, types_js_1.c)('yellow', ` ↑ ${outdated}`));
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
// Server-announced updates (same as dashboard UI)
|
|
150
|
+
if (hasServerUpdates) {
|
|
151
|
+
for (const update of serverUpdates) {
|
|
152
|
+
const breakingFlag = update.breaking ? (0, types_js_1.c)('red', ' [BREAKING]') : '';
|
|
153
|
+
console.log((0, types_js_1.c)('cyan', ` ★ ${update.title}`) + ` (${update.category} v${update.version})${breakingFlag}`);
|
|
154
|
+
if (verbose) {
|
|
155
|
+
console.log((0, types_js_1.c)('dim', ` ${update.description}`));
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
console.log('');
|
|
160
|
+
}
|
|
161
|
+
// Summary line
|
|
162
|
+
const parts = [];
|
|
163
|
+
if (summary.passed > 0) {
|
|
164
|
+
parts.push((0, types_js_1.c)('green', `${summary.passed} passed`));
|
|
165
|
+
}
|
|
166
|
+
if (summary.warnings > 0) {
|
|
167
|
+
parts.push((0, types_js_1.c)('yellow', `${summary.warnings} warnings`));
|
|
168
|
+
}
|
|
169
|
+
if (summary.failed > 0) {
|
|
170
|
+
parts.push((0, types_js_1.c)('red', `${summary.failed} failed`));
|
|
171
|
+
}
|
|
172
|
+
console.log(`Status: ${parts.join(', ')}`);
|
|
173
|
+
// Action hint
|
|
174
|
+
if (summary.failed > 0) {
|
|
175
|
+
console.log('');
|
|
176
|
+
console.log((0, types_js_1.c)('cyan', 'Run `npx @everstateai/mcp repair` to fix issues'));
|
|
177
|
+
}
|
|
178
|
+
else if (summary.warnings > 0) {
|
|
179
|
+
console.log('');
|
|
180
|
+
console.log((0, types_js_1.c)('dim', 'Run `npx @everstateai/mcp repair --include-warnings` to address warnings'));
|
|
181
|
+
}
|
|
182
|
+
console.log('');
|
|
183
|
+
}
|
|
184
|
+
function getStatusIcon(status) {
|
|
185
|
+
switch (status) {
|
|
186
|
+
case 'pass':
|
|
187
|
+
return (0, types_js_1.c)('green', '✓');
|
|
188
|
+
case 'warn':
|
|
189
|
+
return (0, types_js_1.c)('yellow', '⚠');
|
|
190
|
+
case 'fail':
|
|
191
|
+
return (0, types_js_1.c)('red', '✗');
|
|
192
|
+
default:
|
|
193
|
+
return '?';
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
function getStatusColor(status) {
|
|
197
|
+
switch (status) {
|
|
198
|
+
case 'pass':
|
|
199
|
+
return 'green';
|
|
200
|
+
case 'warn':
|
|
201
|
+
return 'yellow';
|
|
202
|
+
case 'fail':
|
|
203
|
+
return 'red';
|
|
204
|
+
default:
|
|
205
|
+
return 'reset';
|
|
206
|
+
}
|
|
207
|
+
}
|
|
208
|
+
// CLI entry point
|
|
209
|
+
async function doctorCli(args) {
|
|
210
|
+
const options = {};
|
|
211
|
+
for (let i = 0; i < args.length; i++) {
|
|
212
|
+
const arg = args[i];
|
|
213
|
+
switch (arg) {
|
|
214
|
+
case '--json':
|
|
215
|
+
options.json = true;
|
|
216
|
+
break;
|
|
217
|
+
case '--verbose':
|
|
218
|
+
case '-v':
|
|
219
|
+
options.verbose = true;
|
|
220
|
+
break;
|
|
221
|
+
case '--component':
|
|
222
|
+
case '-c':
|
|
223
|
+
options.component = args[++i];
|
|
224
|
+
break;
|
|
225
|
+
case '--project':
|
|
226
|
+
case '-p':
|
|
227
|
+
options.projectDir = args[++i];
|
|
228
|
+
break;
|
|
229
|
+
case '--help':
|
|
230
|
+
case '-h':
|
|
231
|
+
printHelp();
|
|
232
|
+
process.exit(0);
|
|
233
|
+
}
|
|
234
|
+
}
|
|
235
|
+
await doctor(options);
|
|
236
|
+
}
|
|
237
|
+
function printHelp() {
|
|
238
|
+
console.log(`
|
|
239
|
+
Everstate Doctor - Diagnose installation issues
|
|
240
|
+
|
|
241
|
+
Usage:
|
|
242
|
+
npx @everstateai/mcp doctor [options]
|
|
243
|
+
|
|
244
|
+
Options:
|
|
245
|
+
--json Output results as JSON
|
|
246
|
+
--verbose, -v Show additional details
|
|
247
|
+
--component, -c Check only a specific component
|
|
248
|
+
--project, -p Specify project directory
|
|
249
|
+
--help, -h Show this help
|
|
250
|
+
|
|
251
|
+
Components:
|
|
252
|
+
API Key API key file and format
|
|
253
|
+
MCP Configuration Claude Code and Desktop config
|
|
254
|
+
Hooks Hook files and registration
|
|
255
|
+
Project Project-level .everstate.json
|
|
256
|
+
Connectivity API server connectivity
|
|
257
|
+
|
|
258
|
+
Examples:
|
|
259
|
+
npx @everstateai/mcp doctor
|
|
260
|
+
npx @everstateai/mcp doctor --json
|
|
261
|
+
npx @everstateai/mcp doctor --component hooks --verbose
|
|
262
|
+
`);
|
|
263
|
+
}
|
|
264
|
+
//# sourceMappingURL=doctor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../../src/setup/commands/doctor.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Repair Command
|
|
3
|
+
*
|
|
4
|
+
* Automatically fixes detected Everstate issues.
|
|
5
|
+
*
|
|
6
|
+
* Usage:
|
|
7
|
+
* npx @everstateai/mcp repair
|
|
8
|
+
* npx @everstateai/mcp repair --include-warnings
|
|
9
|
+
* npx @everstateai/mcp repair --force
|
|
10
|
+
*/
|
|
11
|
+
import { RepairOptions } from '../types.js';
|
|
12
|
+
export declare function repair(options?: RepairOptions): Promise<void>;
|
|
13
|
+
export declare function repairCli(args: string[]): Promise<void>;
|
|
14
|
+
//# sourceMappingURL=repair.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"repair.d.ts","sourceRoot":"","sources":["../../../src/setup/commands/repair.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,EAGL,aAAa,EAGd,MAAM,aAAa,CAAC;AAerB,wBAAsB,MAAM,CAAC,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAqDvE;AA6GD,wBAAsB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CA+B7D"}
|
|
@@ -0,0 +1,252 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Repair Command
|
|
4
|
+
*
|
|
5
|
+
* Automatically fixes detected Everstate issues.
|
|
6
|
+
*
|
|
7
|
+
* Usage:
|
|
8
|
+
* npx @everstateai/mcp repair
|
|
9
|
+
* npx @everstateai/mcp repair --include-warnings
|
|
10
|
+
* npx @everstateai/mcp repair --force
|
|
11
|
+
*/
|
|
12
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
13
|
+
if (k2 === undefined) k2 = k;
|
|
14
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
15
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
16
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
17
|
+
}
|
|
18
|
+
Object.defineProperty(o, k2, desc);
|
|
19
|
+
}) : (function(o, m, k, k2) {
|
|
20
|
+
if (k2 === undefined) k2 = k;
|
|
21
|
+
o[k2] = m[k];
|
|
22
|
+
}));
|
|
23
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
24
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
25
|
+
}) : function(o, v) {
|
|
26
|
+
o["default"] = v;
|
|
27
|
+
});
|
|
28
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
29
|
+
var ownKeys = function(o) {
|
|
30
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
31
|
+
var ar = [];
|
|
32
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
33
|
+
return ar;
|
|
34
|
+
};
|
|
35
|
+
return ownKeys(o);
|
|
36
|
+
};
|
|
37
|
+
return function (mod) {
|
|
38
|
+
if (mod && mod.__esModule) return mod;
|
|
39
|
+
var result = {};
|
|
40
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
41
|
+
__setModuleDefault(result, mod);
|
|
42
|
+
return result;
|
|
43
|
+
};
|
|
44
|
+
})();
|
|
45
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
46
|
+
exports.repair = repair;
|
|
47
|
+
exports.repairCli = repairCli;
|
|
48
|
+
const fs = __importStar(require("fs"));
|
|
49
|
+
const types_js_1 = require("../types.js");
|
|
50
|
+
const index_js_1 = require("../validators/index.js");
|
|
51
|
+
const version_js_1 = require("../version.js");
|
|
52
|
+
async function repair(options = {}) {
|
|
53
|
+
const context = buildContext(options);
|
|
54
|
+
console.log('');
|
|
55
|
+
console.log((0, types_js_1.c)('bold', 'Everstate Repair'));
|
|
56
|
+
console.log((0, types_js_1.c)('dim', '─'.repeat(40)));
|
|
57
|
+
console.log('');
|
|
58
|
+
// Run validation first
|
|
59
|
+
console.log('Checking installation...');
|
|
60
|
+
const summary = await (0, index_js_1.validateAll)(context);
|
|
61
|
+
// Find issues to repair
|
|
62
|
+
const toRepair = summary.results.filter((r) => {
|
|
63
|
+
if (r.status === 'fail')
|
|
64
|
+
return true;
|
|
65
|
+
if (r.status === 'warn' && options.includeWarnings)
|
|
66
|
+
return true;
|
|
67
|
+
return false;
|
|
68
|
+
});
|
|
69
|
+
if (toRepair.length === 0) {
|
|
70
|
+
console.log('');
|
|
71
|
+
console.log((0, types_js_1.c)('green', '✓ No issues to repair'));
|
|
72
|
+
console.log('');
|
|
73
|
+
return;
|
|
74
|
+
}
|
|
75
|
+
console.log('');
|
|
76
|
+
console.log(`Found ${toRepair.length} issue(s) to repair:`);
|
|
77
|
+
for (const issue of toRepair) {
|
|
78
|
+
console.log(` ${(0, types_js_1.c)('yellow', '•')} ${issue.component}: ${issue.check}`);
|
|
79
|
+
}
|
|
80
|
+
console.log('');
|
|
81
|
+
// Perform repairs
|
|
82
|
+
const repairSummary = await performRepairs(toRepair, context, options);
|
|
83
|
+
// Update version file on success
|
|
84
|
+
if (repairSummary.succeeded > 0) {
|
|
85
|
+
(0, version_js_1.updateVersionFile)({
|
|
86
|
+
components: {
|
|
87
|
+
mcpProxy: (0, version_js_1.getMcpProxyVersion)(),
|
|
88
|
+
hooks: version_js_1.HOOK_VERSIONS,
|
|
89
|
+
},
|
|
90
|
+
});
|
|
91
|
+
}
|
|
92
|
+
// Output summary
|
|
93
|
+
outputRepairSummary(repairSummary);
|
|
94
|
+
// Exit code
|
|
95
|
+
if (repairSummary.failed > 0) {
|
|
96
|
+
process.exit(1);
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
function buildContext(options) {
|
|
100
|
+
const context = {
|
|
101
|
+
projectDir: options.projectDir || process.cwd(),
|
|
102
|
+
};
|
|
103
|
+
// Try to load API key
|
|
104
|
+
const apiKeyPath = `${(0, types_js_1.getEverstateDir)()}/api-key`;
|
|
105
|
+
if (fs.existsSync(apiKeyPath)) {
|
|
106
|
+
try {
|
|
107
|
+
context.apiKey = fs.readFileSync(apiKeyPath, 'utf8').trim();
|
|
108
|
+
}
|
|
109
|
+
catch {
|
|
110
|
+
// Will be handled during repair
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
return context;
|
|
114
|
+
}
|
|
115
|
+
async function performRepairs(issues, context, options) {
|
|
116
|
+
const summary = {
|
|
117
|
+
attempted: 0,
|
|
118
|
+
succeeded: 0,
|
|
119
|
+
failed: 0,
|
|
120
|
+
skipped: 0,
|
|
121
|
+
details: [],
|
|
122
|
+
};
|
|
123
|
+
for (const issue of issues) {
|
|
124
|
+
const checkName = `${issue.component}: ${issue.check}`;
|
|
125
|
+
// Check if repair is available
|
|
126
|
+
if (!issue.repairAction) {
|
|
127
|
+
console.log(` ${(0, types_js_1.c)('dim', '○')} ${checkName}: ${(0, types_js_1.c)('dim', 'No automatic repair available')}`);
|
|
128
|
+
summary.skipped++;
|
|
129
|
+
summary.details.push({ check: checkName, result: 'manual' });
|
|
130
|
+
continue;
|
|
131
|
+
}
|
|
132
|
+
// Check if repair requires confirmation
|
|
133
|
+
if (!issue.repairAction.automatic && !options.force) {
|
|
134
|
+
console.log(` ${(0, types_js_1.c)('yellow', '?')} ${checkName}: Requires --force or manual intervention`);
|
|
135
|
+
summary.skipped++;
|
|
136
|
+
summary.details.push({ check: checkName, result: 'skipped' });
|
|
137
|
+
continue;
|
|
138
|
+
}
|
|
139
|
+
// Attempt repair
|
|
140
|
+
summary.attempted++;
|
|
141
|
+
console.log(` ${(0, types_js_1.c)('cyan', '→')} Repairing: ${checkName}...`);
|
|
142
|
+
try {
|
|
143
|
+
const success = await (0, index_js_1.repairResult)(issue, context);
|
|
144
|
+
if (success) {
|
|
145
|
+
console.log(` ${(0, types_js_1.c)('green', '✓')} Fixed`);
|
|
146
|
+
summary.succeeded++;
|
|
147
|
+
summary.details.push({ check: checkName, result: 'fixed' });
|
|
148
|
+
}
|
|
149
|
+
else {
|
|
150
|
+
console.log(` ${(0, types_js_1.c)('red', '✗')} Failed`);
|
|
151
|
+
summary.failed++;
|
|
152
|
+
summary.details.push({ check: checkName, result: 'failed' });
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
catch (error) {
|
|
156
|
+
console.log(` ${(0, types_js_1.c)('red', '✗')} Error: ${String(error)}`);
|
|
157
|
+
summary.failed++;
|
|
158
|
+
summary.details.push({ check: checkName, result: 'failed' });
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
return summary;
|
|
162
|
+
}
|
|
163
|
+
function outputRepairSummary(summary) {
|
|
164
|
+
console.log('');
|
|
165
|
+
console.log((0, types_js_1.c)('bold', 'Repair Summary'));
|
|
166
|
+
console.log((0, types_js_1.c)('dim', '─'.repeat(40)));
|
|
167
|
+
if (summary.succeeded > 0) {
|
|
168
|
+
console.log(` ${(0, types_js_1.c)('green', '✓')} ${summary.succeeded} fixed`);
|
|
169
|
+
}
|
|
170
|
+
if (summary.failed > 0) {
|
|
171
|
+
console.log(` ${(0, types_js_1.c)('red', '✗')} ${summary.failed} failed`);
|
|
172
|
+
}
|
|
173
|
+
if (summary.skipped > 0) {
|
|
174
|
+
console.log(` ${(0, types_js_1.c)('yellow', '○')} ${summary.skipped} skipped`);
|
|
175
|
+
}
|
|
176
|
+
console.log('');
|
|
177
|
+
if (summary.failed > 0) {
|
|
178
|
+
console.log((0, types_js_1.c)('yellow', 'Some repairs failed. You may need to:'));
|
|
179
|
+
console.log((0, types_js_1.c)('dim', ' 1. Run with --force for non-automatic repairs'));
|
|
180
|
+
console.log((0, types_js_1.c)('dim', ' 2. Manually fix issues that cannot be auto-repaired'));
|
|
181
|
+
console.log((0, types_js_1.c)('dim', ' 3. Re-run setup: npx @everstateai/mcp setup <api-key>'));
|
|
182
|
+
console.log('');
|
|
183
|
+
}
|
|
184
|
+
else if (summary.succeeded > 0) {
|
|
185
|
+
console.log((0, types_js_1.c)('green', 'All repairs completed successfully!'));
|
|
186
|
+
console.log((0, types_js_1.c)('dim', 'Run `npx @everstateai/mcp doctor` to verify.'));
|
|
187
|
+
console.log('');
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
// CLI entry point
|
|
191
|
+
async function repairCli(args) {
|
|
192
|
+
const options = {};
|
|
193
|
+
for (let i = 0; i < args.length; i++) {
|
|
194
|
+
const arg = args[i];
|
|
195
|
+
switch (arg) {
|
|
196
|
+
case '--force':
|
|
197
|
+
case '-f':
|
|
198
|
+
options.force = true;
|
|
199
|
+
break;
|
|
200
|
+
case '--include-warnings':
|
|
201
|
+
case '-w':
|
|
202
|
+
options.includeWarnings = true;
|
|
203
|
+
break;
|
|
204
|
+
case '--component':
|
|
205
|
+
case '-c':
|
|
206
|
+
options.component = args[++i];
|
|
207
|
+
break;
|
|
208
|
+
case '--project':
|
|
209
|
+
case '-p':
|
|
210
|
+
options.projectDir = args[++i];
|
|
211
|
+
break;
|
|
212
|
+
case '--help':
|
|
213
|
+
case '-h':
|
|
214
|
+
printHelp();
|
|
215
|
+
process.exit(0);
|
|
216
|
+
}
|
|
217
|
+
}
|
|
218
|
+
await repair(options);
|
|
219
|
+
}
|
|
220
|
+
function printHelp() {
|
|
221
|
+
console.log(`
|
|
222
|
+
Everstate Repair - Fix installation issues
|
|
223
|
+
|
|
224
|
+
Usage:
|
|
225
|
+
npx @everstateai/mcp repair [options]
|
|
226
|
+
|
|
227
|
+
Options:
|
|
228
|
+
--force, -f Force non-automatic repairs
|
|
229
|
+
--include-warnings, -w Also repair warnings (not just failures)
|
|
230
|
+
--component, -c Repair only a specific component
|
|
231
|
+
--project, -p Specify project directory
|
|
232
|
+
--help, -h Show this help
|
|
233
|
+
|
|
234
|
+
What can be repaired:
|
|
235
|
+
• Missing API key file (if you provide it)
|
|
236
|
+
• Incorrect file permissions
|
|
237
|
+
• Missing or outdated hooks
|
|
238
|
+
• MCP configuration issues
|
|
239
|
+
• Hook registration in Claude config
|
|
240
|
+
|
|
241
|
+
What requires manual intervention:
|
|
242
|
+
• Invalid API key (get a new one from dashboard)
|
|
243
|
+
• Missing project configuration (run setup)
|
|
244
|
+
• Network connectivity issues
|
|
245
|
+
|
|
246
|
+
Examples:
|
|
247
|
+
npx @everstateai/mcp repair
|
|
248
|
+
npx @everstateai/mcp repair --force
|
|
249
|
+
npx @everstateai/mcp repair --include-warnings
|
|
250
|
+
`);
|
|
251
|
+
}
|
|
252
|
+
//# sourceMappingURL=repair.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"repair.js","sourceRoot":"","sources":["../../../src/setup/commands/repair.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Hook Templates
|
|
3
|
+
*
|
|
4
|
+
* Versioned hook templates for installation and updates.
|
|
5
|
+
* Each hook includes a VERSION header for validation.
|
|
6
|
+
*/
|
|
7
|
+
import { HookConfig } from '../types.js';
|
|
8
|
+
/**
|
|
9
|
+
* Get the sync-todos.js hook content
|
|
10
|
+
*/
|
|
11
|
+
export declare function getSyncTodosHook(config?: Partial<HookConfig>): string;
|
|
12
|
+
/**
|
|
13
|
+
* Get the session-start.sh hook content
|
|
14
|
+
*/
|
|
15
|
+
export declare function getSessionStartHook(config?: Partial<HookConfig>): string;
|
|
16
|
+
/**
|
|
17
|
+
* Get the session-end.sh hook content
|
|
18
|
+
*/
|
|
19
|
+
export declare function getSessionEndHook(config?: Partial<HookConfig>): string;
|
|
20
|
+
/**
|
|
21
|
+
* Get the pre-compact.sh hook content (for context compaction)
|
|
22
|
+
*/
|
|
23
|
+
export declare function getPreCompactHook(config?: Partial<HookConfig>): string;
|
|
24
|
+
export declare const hookTemplates: {
|
|
25
|
+
syncTodos: typeof getSyncTodosHook;
|
|
26
|
+
sessionStart: typeof getSessionStartHook;
|
|
27
|
+
sessionEnd: typeof getSessionEndHook;
|
|
28
|
+
preCompact: typeof getPreCompactHook;
|
|
29
|
+
};
|
|
30
|
+
//# sourceMappingURL=templates.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"templates.d.ts","sourceRoot":"","sources":["../../../src/setup/hooks/templates.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,UAAU,EAAqD,MAAM,aAAa,CAAC;AAE5F;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,GAAG,MAAM,CAuFrE;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,GAAG,MAAM,CAoBxE;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,GAAG,MAAM,CA+CtE;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,GAAG,MAAM,CAkDtE;AAED,eAAO,MAAM,aAAa;;;;;CAKzB,CAAC"}
|