@opentabs-dev/cli 0.0.16 → 0.0.18
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/cli.js +5 -1
- package/dist/cli.js.map +1 -1
- package/dist/commands/audit.d.ts +11 -0
- package/dist/commands/audit.d.ts.map +1 -0
- package/dist/commands/audit.js +220 -0
- package/dist/commands/audit.js.map +1 -0
- package/dist/commands/config.d.ts.map +1 -1
- package/dist/commands/config.js +308 -18
- package/dist/commands/config.js.map +1 -1
- package/dist/commands/doctor.d.ts +7 -1
- package/dist/commands/doctor.d.ts.map +1 -1
- package/dist/commands/doctor.js +63 -8
- package/dist/commands/doctor.js.map +1 -1
- package/dist/commands/index.d.ts +1 -0
- package/dist/commands/index.d.ts.map +1 -1
- package/dist/commands/index.js +1 -0
- package/dist/commands/index.js.map +1 -1
- package/dist/commands/logs.js +3 -3
- package/dist/commands/logs.js.map +1 -1
- package/dist/commands/plugin.d.ts +1 -1
- package/dist/commands/plugin.d.ts.map +1 -1
- package/dist/commands/plugin.js +377 -5
- package/dist/commands/plugin.js.map +1 -1
- package/dist/commands/start.d.ts.map +1 -1
- package/dist/commands/start.js +20 -4
- package/dist/commands/start.js.map +1 -1
- package/dist/commands/status.d.ts.map +1 -1
- package/dist/commands/status.js +25 -4
- package/dist/commands/status.js.map +1 -1
- package/dist/config.d.ts +13 -1
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +17 -8
- package/dist/config.js.map +1 -1
- package/dist/parse-port.d.ts.map +1 -1
- package/dist/parse-port.js +2 -0
- package/dist/parse-port.js.map +1 -1
- package/dist/scaffold.d.ts +14 -2
- package/dist/scaffold.d.ts.map +1 -1
- package/dist/scaffold.js +115 -8
- package/dist/scaffold.js.map +1 -1
- package/package.json +4 -4
package/dist/commands/config.js
CHANGED
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* `opentabs config` command — view and manage configuration.
|
|
3
3
|
*/
|
|
4
|
-
import { atomicWriteConfig, getConfigPath, readConfig } from '../config.js';
|
|
4
|
+
import { atomicWriteConfig, getConfigPath, getExtensionDir, isConnectionRefused, readConfig } from '../config.js';
|
|
5
|
+
import { resolvePort } from '../parse-port.js';
|
|
5
6
|
import pc from 'picocolors';
|
|
7
|
+
import { chmod, mkdir, rename, unlink } from 'node:fs/promises';
|
|
8
|
+
import { join, resolve } from 'node:path';
|
|
6
9
|
const REDACTED = '***';
|
|
7
10
|
const redactSecret = (config) => {
|
|
8
11
|
if (typeof config.secret === 'string') {
|
|
@@ -15,12 +18,18 @@ const handleConfigPath = () => {
|
|
|
15
18
|
};
|
|
16
19
|
const handleConfigShow = async (options) => {
|
|
17
20
|
const configPath = getConfigPath();
|
|
18
|
-
const
|
|
19
|
-
if (!config) {
|
|
20
|
-
|
|
21
|
+
const result = await readConfig(configPath);
|
|
22
|
+
if (!result.config) {
|
|
23
|
+
if (result.error === 'invalid') {
|
|
24
|
+
console.error(pc.red(`Invalid config at ${configPath}: ${result.message}`));
|
|
25
|
+
}
|
|
26
|
+
else {
|
|
27
|
+
console.error(pc.red(`No config found at ${configPath}`));
|
|
28
|
+
}
|
|
21
29
|
console.error('Run opentabs start to auto-create config.');
|
|
22
30
|
process.exit(1);
|
|
23
31
|
}
|
|
32
|
+
const config = result.config;
|
|
24
33
|
const redacted = redactSecret(config);
|
|
25
34
|
if (options.json) {
|
|
26
35
|
console.log(JSON.stringify(redacted, null, 2));
|
|
@@ -54,6 +63,19 @@ const handleConfigShow = async (options) => {
|
|
|
54
63
|
}
|
|
55
64
|
}
|
|
56
65
|
}
|
|
66
|
+
else if (key === 'browserToolPolicy' && typeof value === 'object' && value !== null) {
|
|
67
|
+
const entries = Object.entries(value);
|
|
68
|
+
console.log(` ${pc.cyan('browserToolPolicy')}`);
|
|
69
|
+
if (entries.length === 0) {
|
|
70
|
+
console.log(` ${pc.dim('(none)')}`);
|
|
71
|
+
}
|
|
72
|
+
else {
|
|
73
|
+
for (const [toolName, enabled] of entries) {
|
|
74
|
+
const indicator = enabled ? pc.green('enabled') : pc.red('disabled');
|
|
75
|
+
console.log(` ${toolName}: ${indicator}`);
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
}
|
|
57
79
|
else {
|
|
58
80
|
const display = typeof value === 'string' || typeof value === 'number' || typeof value === 'boolean'
|
|
59
81
|
? String(value)
|
|
@@ -64,16 +86,74 @@ const handleConfigShow = async (options) => {
|
|
|
64
86
|
}
|
|
65
87
|
};
|
|
66
88
|
const TOOL_PREFIX = 'tool.';
|
|
67
|
-
const
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
89
|
+
const BROWSER_TOOL_PREFIX = 'browser-tool.';
|
|
90
|
+
const LOCAL_PLUGINS_ADD = 'localPlugins.add';
|
|
91
|
+
const LOCAL_PLUGINS_REMOVE = 'localPlugins.remove';
|
|
92
|
+
const PORT_KEY = 'port';
|
|
93
|
+
const SUPPORTED_KEYS = `Supported keys:
|
|
94
|
+
tool.<plugin>_<tool> Enable/disable a plugin tool (value: enabled | disabled)
|
|
95
|
+
browser-tool.<name> Enable/disable a browser tool (value: enabled | disabled)
|
|
96
|
+
port Set the server port (value: 1-65535)
|
|
97
|
+
localPlugins.add Add a local plugin path (value: absolute or relative path)
|
|
98
|
+
localPlugins.remove Remove a local plugin path (value: path to remove)`;
|
|
99
|
+
const loadConfig = async () => {
|
|
100
|
+
const configPath = getConfigPath();
|
|
101
|
+
const result = await readConfig(configPath);
|
|
102
|
+
if (!result.config) {
|
|
103
|
+
if (result.error === 'invalid') {
|
|
104
|
+
console.error(pc.red(`Invalid config at ${configPath}: ${result.message}`));
|
|
105
|
+
}
|
|
106
|
+
else {
|
|
107
|
+
console.error(pc.red(`No config found at ${configPath}`));
|
|
108
|
+
}
|
|
109
|
+
console.error('Run opentabs start to auto-create config.');
|
|
110
|
+
process.exit(1);
|
|
111
|
+
}
|
|
112
|
+
return { config: result.config, configPath };
|
|
113
|
+
};
|
|
114
|
+
const fetchToolNames = async (port) => {
|
|
115
|
+
try {
|
|
116
|
+
const res = await fetch(`http://localhost:${port}/health`, {
|
|
117
|
+
signal: AbortSignal.timeout(3_000),
|
|
118
|
+
});
|
|
119
|
+
if (!res.ok)
|
|
120
|
+
return null;
|
|
121
|
+
const data = (await res.json());
|
|
122
|
+
if (!Array.isArray(data.pluginDetails))
|
|
123
|
+
return null;
|
|
124
|
+
return data.pluginDetails.flatMap(p => p.tools);
|
|
125
|
+
}
|
|
126
|
+
catch {
|
|
127
|
+
return null;
|
|
128
|
+
}
|
|
129
|
+
};
|
|
130
|
+
const handleListTools = async () => {
|
|
131
|
+
const port = resolvePort({});
|
|
132
|
+
const tools = await fetchToolNames(port);
|
|
133
|
+
if (!tools) {
|
|
134
|
+
console.error(pc.yellow('Cannot reach the MCP server to list available tools.'));
|
|
135
|
+
console.error(`Start it with: ${pc.bold('opentabs start')}`);
|
|
136
|
+
console.error('');
|
|
137
|
+
console.error('Tool names use the format <plugin>_<tool>, e.g. slack_send_message');
|
|
71
138
|
process.exit(1);
|
|
72
139
|
}
|
|
140
|
+
if (tools.length === 0) {
|
|
141
|
+
console.log(pc.dim('No tools available (no plugins installed).'));
|
|
142
|
+
return;
|
|
143
|
+
}
|
|
144
|
+
console.log(pc.bold('Available tools:'));
|
|
145
|
+
for (const name of tools) {
|
|
146
|
+
console.log(` ${name}`);
|
|
147
|
+
}
|
|
148
|
+
console.log('');
|
|
149
|
+
console.log(pc.dim('Usage: opentabs config set tool.<name> enabled|disabled'));
|
|
150
|
+
};
|
|
151
|
+
const handleSetTool = async (key, value) => {
|
|
73
152
|
const toolName = key.slice(TOOL_PREFIX.length);
|
|
74
153
|
if (!toolName || !toolName.includes('_')) {
|
|
75
154
|
console.error(pc.red(`Invalid tool name: ${toolName || '(empty)'}`));
|
|
76
155
|
console.error('Tool names use the format <plugin>_<tool>, e.g. slack_send_message');
|
|
156
|
+
console.error(`Run ${pc.bold('opentabs config set tool.')} to list available tools.`);
|
|
77
157
|
process.exit(1);
|
|
78
158
|
}
|
|
79
159
|
if (value !== 'enabled' && value !== 'disabled') {
|
|
@@ -81,13 +161,7 @@ const handleConfigSet = async (key, value) => {
|
|
|
81
161
|
console.error('Value must be "enabled" or "disabled".');
|
|
82
162
|
process.exit(1);
|
|
83
163
|
}
|
|
84
|
-
const configPath =
|
|
85
|
-
const config = await readConfig(configPath);
|
|
86
|
-
if (!config) {
|
|
87
|
-
console.error(pc.red(`No config found at ${configPath}`));
|
|
88
|
-
console.error('Run opentabs start to auto-create config.');
|
|
89
|
-
process.exit(1);
|
|
90
|
-
}
|
|
164
|
+
const { config, configPath } = await loadConfig();
|
|
91
165
|
if (!config.tools || typeof config.tools !== 'object' || Array.isArray(config.tools)) {
|
|
92
166
|
config.tools = {};
|
|
93
167
|
}
|
|
@@ -98,6 +172,198 @@ const handleConfigSet = async (key, value) => {
|
|
|
98
172
|
const indicator = enabled ? pc.green('enabled') : pc.red('disabled');
|
|
99
173
|
console.log(`${toolName}: ${indicator}`);
|
|
100
174
|
};
|
|
175
|
+
const handleSetBrowserTool = async (key, value) => {
|
|
176
|
+
const toolName = key.slice(BROWSER_TOOL_PREFIX.length);
|
|
177
|
+
if (!toolName || (!toolName.startsWith('browser_') && !toolName.startsWith('extension_'))) {
|
|
178
|
+
console.error(pc.red(`Invalid browser tool name: ${toolName || '(empty)'}`));
|
|
179
|
+
console.error('Browser tool names start with "browser_" or "extension_", e.g. browser_execute_script');
|
|
180
|
+
process.exit(1);
|
|
181
|
+
}
|
|
182
|
+
if (value !== 'enabled' && value !== 'disabled') {
|
|
183
|
+
console.error(pc.red(`Invalid value: ${value}`));
|
|
184
|
+
console.error('Value must be "enabled" or "disabled".');
|
|
185
|
+
process.exit(1);
|
|
186
|
+
}
|
|
187
|
+
const { config, configPath } = await loadConfig();
|
|
188
|
+
if (!config.browserToolPolicy ||
|
|
189
|
+
typeof config.browserToolPolicy !== 'object' ||
|
|
190
|
+
Array.isArray(config.browserToolPolicy)) {
|
|
191
|
+
config.browserToolPolicy = {};
|
|
192
|
+
}
|
|
193
|
+
const policy = config.browserToolPolicy;
|
|
194
|
+
const enabled = value === 'enabled';
|
|
195
|
+
policy[toolName] = enabled;
|
|
196
|
+
await atomicWriteConfig(configPath, JSON.stringify(config, null, 2) + '\n');
|
|
197
|
+
const indicator = enabled ? pc.green('enabled') : pc.red('disabled');
|
|
198
|
+
console.log(`${toolName}: ${indicator}`);
|
|
199
|
+
};
|
|
200
|
+
const handleSetPort = async (value) => {
|
|
201
|
+
const port = Number(value);
|
|
202
|
+
if (!Number.isInteger(port) || port < 1 || port > 65535) {
|
|
203
|
+
console.error(pc.red(`Invalid port: ${value}`));
|
|
204
|
+
console.error('Port must be an integer between 1 and 65535.');
|
|
205
|
+
process.exit(1);
|
|
206
|
+
}
|
|
207
|
+
const { config, configPath } = await loadConfig();
|
|
208
|
+
config.port = port;
|
|
209
|
+
await atomicWriteConfig(configPath, JSON.stringify(config, null, 2) + '\n');
|
|
210
|
+
console.log(`port: ${pc.cyan(String(port))}`);
|
|
211
|
+
};
|
|
212
|
+
const handleSetLocalPluginsAdd = async (value) => {
|
|
213
|
+
const pluginPath = resolve(value);
|
|
214
|
+
const { config, configPath } = await loadConfig();
|
|
215
|
+
if (!Array.isArray(config.localPlugins)) {
|
|
216
|
+
config.localPlugins = [];
|
|
217
|
+
}
|
|
218
|
+
const plugins = config.localPlugins;
|
|
219
|
+
if (plugins.includes(pluginPath)) {
|
|
220
|
+
console.log(`${pc.dim('Already registered:')} ${pluginPath}`);
|
|
221
|
+
return;
|
|
222
|
+
}
|
|
223
|
+
plugins.push(pluginPath);
|
|
224
|
+
await atomicWriteConfig(configPath, JSON.stringify(config, null, 2) + '\n');
|
|
225
|
+
console.log(`${pc.green('Added:')} ${pluginPath}`);
|
|
226
|
+
};
|
|
227
|
+
const handleSetLocalPluginsRemove = async (value) => {
|
|
228
|
+
const pluginPath = resolve(value);
|
|
229
|
+
const { config, configPath } = await loadConfig();
|
|
230
|
+
if (!Array.isArray(config.localPlugins)) {
|
|
231
|
+
console.error(pc.red(`Path not found in localPlugins: ${pluginPath}`));
|
|
232
|
+
process.exit(1);
|
|
233
|
+
}
|
|
234
|
+
const plugins = config.localPlugins;
|
|
235
|
+
const index = plugins.indexOf(pluginPath);
|
|
236
|
+
if (index === -1) {
|
|
237
|
+
console.error(pc.red(`Path not found in localPlugins: ${pluginPath}`));
|
|
238
|
+
process.exit(1);
|
|
239
|
+
}
|
|
240
|
+
plugins.splice(index, 1);
|
|
241
|
+
await atomicWriteConfig(configPath, JSON.stringify(config, null, 2) + '\n');
|
|
242
|
+
console.log(`${pc.green('Removed:')} ${pluginPath}`);
|
|
243
|
+
};
|
|
244
|
+
const handleConfigSet = async (key, value) => {
|
|
245
|
+
if (key === TOOL_PREFIX) {
|
|
246
|
+
return handleListTools();
|
|
247
|
+
}
|
|
248
|
+
if (!value) {
|
|
249
|
+
console.error(pc.red('Missing value.'));
|
|
250
|
+
console.error(SUPPORTED_KEYS);
|
|
251
|
+
process.exit(1);
|
|
252
|
+
}
|
|
253
|
+
if (key.startsWith(TOOL_PREFIX)) {
|
|
254
|
+
return handleSetTool(key, value);
|
|
255
|
+
}
|
|
256
|
+
if (key.startsWith(BROWSER_TOOL_PREFIX)) {
|
|
257
|
+
return handleSetBrowserTool(key, value);
|
|
258
|
+
}
|
|
259
|
+
if (key === PORT_KEY) {
|
|
260
|
+
return handleSetPort(value);
|
|
261
|
+
}
|
|
262
|
+
if (key === LOCAL_PLUGINS_ADD) {
|
|
263
|
+
return handleSetLocalPluginsAdd(value);
|
|
264
|
+
}
|
|
265
|
+
if (key === LOCAL_PLUGINS_REMOVE) {
|
|
266
|
+
return handleSetLocalPluginsRemove(value);
|
|
267
|
+
}
|
|
268
|
+
console.error(pc.red(`Unknown config key: ${key}`));
|
|
269
|
+
console.error(SUPPORTED_KEYS);
|
|
270
|
+
process.exit(1);
|
|
271
|
+
};
|
|
272
|
+
const handleConfigReset = async (options) => {
|
|
273
|
+
const configPath = getConfigPath();
|
|
274
|
+
const configFile = Bun.file(configPath);
|
|
275
|
+
if (!(await configFile.exists())) {
|
|
276
|
+
console.log(`No config file found at ${configPath}`);
|
|
277
|
+
return;
|
|
278
|
+
}
|
|
279
|
+
if (!options.confirm) {
|
|
280
|
+
console.error(pc.yellow(`This will delete your config at ${configPath}.`));
|
|
281
|
+
console.error(pc.yellow('Your server secret will change on next start.'));
|
|
282
|
+
console.error('');
|
|
283
|
+
console.error(`Run with ${pc.bold('--confirm')} to proceed:`);
|
|
284
|
+
console.error(` opentabs config reset --confirm`);
|
|
285
|
+
process.exit(1);
|
|
286
|
+
}
|
|
287
|
+
await configFile.delete();
|
|
288
|
+
console.log('Config reset. Run opentabs start to regenerate.');
|
|
289
|
+
};
|
|
290
|
+
/** Generate a 256-bit cryptographic random secret as a 64-character hex string. */
|
|
291
|
+
const generateSecret = () => {
|
|
292
|
+
const bytes = new Uint8Array(32);
|
|
293
|
+
crypto.getRandomValues(bytes);
|
|
294
|
+
return Array.from(bytes, b => b.toString(16).padStart(2, '0')).join('');
|
|
295
|
+
};
|
|
296
|
+
/**
|
|
297
|
+
* Write auth.json to the managed extension directory so the Chrome extension
|
|
298
|
+
* can bootstrap the shared secret without an unauthenticated HTTP request.
|
|
299
|
+
* Matches the atomic write pattern: write to .tmp, chmod 0600, rename.
|
|
300
|
+
*/
|
|
301
|
+
const writeAuthFile = async (secret, port) => {
|
|
302
|
+
const extensionDir = getExtensionDir();
|
|
303
|
+
await mkdir(extensionDir, { recursive: true });
|
|
304
|
+
const authPath = join(extensionDir, 'auth.json');
|
|
305
|
+
const tmpPath = authPath + '.tmp';
|
|
306
|
+
try {
|
|
307
|
+
await Bun.write(tmpPath, JSON.stringify({ secret, port }) + '\n');
|
|
308
|
+
await chmod(tmpPath, 0o600).catch((err) => {
|
|
309
|
+
console.warn(`Warning: Could not set file permissions on ${tmpPath}: ${err instanceof Error ? err.message : String(err)}. The auth file may be readable by other users.`);
|
|
310
|
+
});
|
|
311
|
+
await rename(tmpPath, authPath);
|
|
312
|
+
}
|
|
313
|
+
catch (err) {
|
|
314
|
+
await unlink(tmpPath).catch(() => { });
|
|
315
|
+
throw err;
|
|
316
|
+
}
|
|
317
|
+
};
|
|
318
|
+
const handleRotateSecret = async (options) => {
|
|
319
|
+
const { config, configPath } = await loadConfig();
|
|
320
|
+
const oldSecret = typeof config.secret === 'string' ? config.secret : null;
|
|
321
|
+
const newSecret = generateSecret();
|
|
322
|
+
// Update the secret in config
|
|
323
|
+
config.secret = newSecret;
|
|
324
|
+
await atomicWriteConfig(configPath, JSON.stringify(config, null, 2) + '\n');
|
|
325
|
+
// Determine port from config or default
|
|
326
|
+
const port = resolvePort(options);
|
|
327
|
+
// Write auth.json with the new secret
|
|
328
|
+
try {
|
|
329
|
+
await writeAuthFile(newSecret, port);
|
|
330
|
+
}
|
|
331
|
+
catch (err) {
|
|
332
|
+
console.warn(pc.yellow(`Warning: Could not write auth.json: ${err instanceof Error ? err.message : String(err)}`));
|
|
333
|
+
}
|
|
334
|
+
// Notify the running server using the OLD secret
|
|
335
|
+
if (oldSecret) {
|
|
336
|
+
try {
|
|
337
|
+
const res = await fetch(`http://localhost:${port}/reload`, {
|
|
338
|
+
method: 'POST',
|
|
339
|
+
headers: { Authorization: `Bearer ${oldSecret}` },
|
|
340
|
+
signal: AbortSignal.timeout(3_000),
|
|
341
|
+
});
|
|
342
|
+
if (res.ok) {
|
|
343
|
+
console.log(pc.green('Secret rotated successfully.'));
|
|
344
|
+
console.log('Restart the Chrome extension to reconnect.');
|
|
345
|
+
return;
|
|
346
|
+
}
|
|
347
|
+
console.log(pc.green('Secret rotated in config and auth.json.'));
|
|
348
|
+
console.log(pc.yellow(`Could not notify running server (HTTP ${res.status}).`));
|
|
349
|
+
console.log('Restart the MCP server and Chrome extension for changes to take effect.');
|
|
350
|
+
}
|
|
351
|
+
catch (err) {
|
|
352
|
+
console.log(pc.green('Secret rotated in config and auth.json.'));
|
|
353
|
+
if (isConnectionRefused(err)) {
|
|
354
|
+
console.log(pc.dim('MCP server is not running. Changes will take effect on next start.'));
|
|
355
|
+
}
|
|
356
|
+
else {
|
|
357
|
+
console.log(pc.yellow('Could not reach MCP server. Restart it for changes to take effect.'));
|
|
358
|
+
}
|
|
359
|
+
console.log('Restart the Chrome extension to reconnect.');
|
|
360
|
+
}
|
|
361
|
+
}
|
|
362
|
+
else {
|
|
363
|
+
console.log(pc.green('Secret rotated in config and auth.json.'));
|
|
364
|
+
console.log('Restart the MCP server and Chrome extension for changes to take effect.');
|
|
365
|
+
}
|
|
366
|
+
};
|
|
101
367
|
const registerConfigCommand = (program) => {
|
|
102
368
|
const configCmd = program
|
|
103
369
|
.command('config')
|
|
@@ -106,12 +372,18 @@ const registerConfigCommand = (program) => {
|
|
|
106
372
|
configCmd.help();
|
|
107
373
|
});
|
|
108
374
|
configCmd
|
|
109
|
-
.command('set <key>
|
|
110
|
-
.description('Set a config value
|
|
375
|
+
.command('set <key> [value]')
|
|
376
|
+
.description('Set a config value')
|
|
111
377
|
.addHelpText('after', `
|
|
112
378
|
Examples:
|
|
379
|
+
$ opentabs config set tool. List available tools
|
|
113
380
|
$ opentabs config set tool.slack_send_message disabled
|
|
114
|
-
$ opentabs config set tool.slack_send_message enabled
|
|
381
|
+
$ opentabs config set tool.slack_send_message enabled
|
|
382
|
+
$ opentabs config set browser-tool.browser_execute_script disabled
|
|
383
|
+
$ opentabs config set browser-tool.browser_execute_script enabled
|
|
384
|
+
$ opentabs config set port 9515
|
|
385
|
+
$ opentabs config set localPlugins.add /path/to/plugin
|
|
386
|
+
$ opentabs config set localPlugins.remove /path/to/plugin`)
|
|
115
387
|
.action((key, value) => handleConfigSet(key, value));
|
|
116
388
|
configCmd
|
|
117
389
|
.command('path')
|
|
@@ -129,6 +401,24 @@ Examples:
|
|
|
129
401
|
$ opentabs config show
|
|
130
402
|
$ opentabs config show --json`)
|
|
131
403
|
.action((options) => handleConfigShow(options));
|
|
404
|
+
configCmd
|
|
405
|
+
.command('reset')
|
|
406
|
+
.description('Delete config file (server will regenerate on next start)')
|
|
407
|
+
.option('--confirm', 'Skip confirmation and delete immediately')
|
|
408
|
+
.addHelpText('after', `
|
|
409
|
+
Examples:
|
|
410
|
+
$ opentabs config reset --confirm`)
|
|
411
|
+
.action((options) => handleConfigReset(options));
|
|
412
|
+
configCmd
|
|
413
|
+
.command('rotate-secret')
|
|
414
|
+
.description('Rotate the shared authentication secret')
|
|
415
|
+
.addHelpText('after', `
|
|
416
|
+
Generates a new 256-bit random secret and writes it to config.json and auth.json.
|
|
417
|
+
If the MCP server is running, notifies it to reload the config.
|
|
418
|
+
|
|
419
|
+
Examples:
|
|
420
|
+
$ opentabs config rotate-secret`)
|
|
421
|
+
.action((_options, command) => handleRotateSecret(command.optsWithGlobals()));
|
|
132
422
|
};
|
|
133
423
|
export { registerConfigCommand };
|
|
134
424
|
//# sourceMappingURL=config.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/commands/config.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC5E,OAAO,EAAE,MAAM,YAAY,CAAC;AAG5B,MAAM,QAAQ,GAAG,KAAK,CAAC;AAEvB,MAAM,YAAY,GAAG,CAAC,MAA+B,EAA2B,EAAE;IAChF,IAAI,OAAO,MAAM,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;QACtC,OAAO,EAAE,GAAG,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;IACzC,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAEF,MAAM,gBAAgB,GAAG,GAAS,EAAE;IAClC,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC,CAAC;AAC/B,CAAC,CAAC;AAMF,MAAM,gBAAgB,GAAG,KAAK,EAAE,OAA0B,EAAiB,EAAE;IAC3E,MAAM,UAAU,GAAG,aAAa,EAAE,CAAC;IACnC,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,UAAU,CAAC,CAAC;IAE5C,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,sBAAsB,UAAU,EAAE,CAAC,CAAC,CAAC;QAC1D,OAAO,CAAC,KAAK,CAAC,2CAA2C,CAAC,CAAC;QAC3D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,QAAQ,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;IAEtC,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QACjB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IACjD,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC;QACxC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC;QAChC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAEhB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;YACpD,IAAI,GAAG,KAAK,cAAc,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;gBACnD,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;gBAC5C,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACvB,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;gBACzC,CAAC;qBAAM,CAAC;oBACN,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;wBACtB,OAAO,CAAC,GAAG,CAAC,SAAS,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;oBACpC,CAAC;gBACH,CAAC;YACH,CAAC;iBAAM,IAAI,GAAG,KAAK,OAAO,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;gBAC1E,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,KAAgC,CAAC,CAAC;gBACjE,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;gBACrC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACzB,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;gBACzC,CAAC;qBAAM,CAAC;oBACN,KAAK,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,OAAO,EAAE,CAAC;wBAC1C,MAAM,SAAS,GAAG,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;wBACrE,OAAO,CAAC,GAAG,CAAC,OAAO,QAAQ,KAAK,SAAS,EAAE,CAAC,CAAC;oBAC/C,CAAC;gBACH,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,MAAM,OAAO,GACX,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,SAAS;oBAClF,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;oBACf,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;gBAC5B,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,OAAO,EAAE,CAAC,CAAC;YAC/C,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,WAAW,GAAG,OAAO,CAAC;AAE5B,MAAM,eAAe,GAAG,KAAK,EAAE,GAAW,EAAE,KAAa,EAAiB,EAAE;IAC1E,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QACjC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,uBAAuB,GAAG,EAAE,CAAC,CAAC,CAAC;QACpD,OAAO,CAAC,KAAK,CAAC,sCAAsC,CAAC,CAAC;QACtD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IAC/C,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QACzC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,sBAAsB,QAAQ,IAAI,SAAS,EAAE,CAAC,CAAC,CAAC;QACrE,OAAO,CAAC,KAAK,CAAC,oEAAoE,CAAC,CAAC;QACpF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,UAAU,EAAE,CAAC;QAChD,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,kBAAkB,KAAK,EAAE,CAAC,CAAC,CAAC;QACjD,OAAO,CAAC,KAAK,CAAC,wCAAwC,CAAC,CAAC;QACxD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,UAAU,GAAG,aAAa,EAAE,CAAC;IACnC,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,UAAU,CAAC,CAAC;IAE5C,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,sBAAsB,UAAU,EAAE,CAAC,CAAC,CAAC;QAC1D,OAAO,CAAC,KAAK,CAAC,2CAA2C,CAAC,CAAC;QAC3D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;QACrF,MAAM,CAAC,KAAK,GAAG,EAAE,CAAC;IACpB,CAAC;IACD,MAAM,KAAK,GAAG,MAAM,CAAC,KAAgC,CAAC;IACtD,MAAM,OAAO,GAAG,KAAK,KAAK,SAAS,CAAC;IACpC,KAAK,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC;IAE1B,MAAM,iBAAiB,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;IAE5E,MAAM,SAAS,GAAG,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IACrE,OAAO,CAAC,GAAG,CAAC,GAAG,QAAQ,KAAK,SAAS,EAAE,CAAC,CAAC;AAC3C,CAAC,CAAC;AAEF,MAAM,qBAAqB,GAAG,CAAC,OAAgB,EAAQ,EAAE;IACvD,MAAM,SAAS,GAAG,OAAO;SACtB,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,+BAA+B,CAAC;SAC5C,MAAM,CAAC,GAAG,EAAE;QACX,SAAS,CAAC,IAAI,EAAE,CAAC;IACnB,CAAC,CAAC,CAAC;IAEL,SAAS;SACN,OAAO,CAAC,mBAAmB,CAAC;SAC5B,WAAW,CAAC,2DAA2D,CAAC;SACxE,WAAW,CACV,OAAO,EACP;;;wDAGkD,CACnD;SACA,MAAM,CAAC,CAAC,GAAW,EAAE,KAAa,EAAE,EAAE,CAAC,eAAe,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;IAEvE,SAAS;SACN,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,4BAA4B,CAAC;SACzC,WAAW,CACV,OAAO,EACP;;yBAEmB,CACpB;SACA,MAAM,CAAC,GAAG,EAAE,CAAC,gBAAgB,EAAE,CAAC,CAAC;IAEpC,SAAS;SACN,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,wCAAwC,CAAC;SACrD,MAAM,CAAC,QAAQ,EAAE,uBAAuB,CAAC;SACzC,WAAW,CACV,OAAO,EACP;;;gCAG0B,CAC3B;SACA,MAAM,CAAC,CAAC,OAA0B,EAAE,EAAE,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC;AACvE,CAAC,CAAC;AAEF,OAAO,EAAE,qBAAqB,EAAE,CAAC"}
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/commands/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,8 +15,14 @@ declare const checkConfigFile: () => Promise<{
|
|
|
15
15
|
config: Record<string, unknown> | null;
|
|
16
16
|
}>;
|
|
17
17
|
declare const checkExtensionConnected: (data: Record<string, unknown> | null) => CheckResult;
|
|
18
|
+
declare const checkNpmPlugins: (data: Record<string, unknown> | null) => CheckResult[];
|
|
19
|
+
interface McpClientLocation {
|
|
20
|
+
name: string;
|
|
21
|
+
path: string;
|
|
22
|
+
}
|
|
23
|
+
declare const checkMcpClientConfig: (clients?: McpClientLocation[]) => Promise<CheckResult>;
|
|
18
24
|
declare const checkPlugins: (config: Record<string, unknown> | null) => Promise<CheckResult[]>;
|
|
19
25
|
declare const registerDoctorCommand: (program: Command) => void;
|
|
20
|
-
export { checkBunVersion, checkConfigFile, checkExtensionConnected, checkPlugins, registerDoctorCommand };
|
|
26
|
+
export { checkBunVersion, checkConfigFile, checkExtensionConnected, checkMcpClientConfig, checkNpmPlugins, checkPlugins, registerDoctorCommand, };
|
|
21
27
|
export type { CheckResult };
|
|
22
28
|
//# sourceMappingURL=doctor.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"AAAA;;GAEG;AASH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAMzC,UAAU,WAAW;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,EAAE,EAAE,OAAO,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,OAAO,CAAC;CAChB;AAkBD,QAAA,MAAM,eAAe,QAAO,WAM3B,CAAC;AAEF,QAAA,MAAM,eAAe,QAAa,OAAO,CAAC;IAAE,MAAM,EAAE,WAAW,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAA;CAAE,
|
|
1
|
+
{"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"AAAA;;GAEG;AASH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAMzC,UAAU,WAAW;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,EAAE,EAAE,OAAO,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,OAAO,CAAC;CAChB;AAkBD,QAAA,MAAM,eAAe,QAAO,WAM3B,CAAC;AAEF,QAAA,MAAM,eAAe,QAAa,OAAO,CAAC;IAAE,MAAM,EAAE,WAAW,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAA;CAAE,CAoBxG,CAAC;AA2BF,QAAA,MAAM,uBAAuB,GAAI,MAAM,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,KAAG,WAYvE,CAAC;AAmEF,QAAA,MAAM,eAAe,GAAI,MAAM,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,KAAG,WAAW,EAiC1E,CAAC;AAEF,UAAU,iBAAiB;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAOD,QAAA,MAAM,oBAAoB,GACxB,UAAS,iBAAiB,EAAgC,KACzD,OAAO,CAAC,WAAW,CA0BrB,CAAC;AAEF,QAAA,MAAM,YAAY,GAAU,QAAQ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,KAAG,OAAO,CAAC,WAAW,EAAE,CAoDzF,CAAC;AAoEF,QAAA,MAAM,qBAAqB,GAAI,SAAS,OAAO,KAAG,IAajD,CAAC;AAEF,OAAO,EACL,eAAe,EACf,eAAe,EACf,uBAAuB,EACvB,oBAAoB,EACpB,eAAe,EACf,YAAY,EACZ,qBAAqB,GACtB,CAAC;AACF,YAAY,EAAE,WAAW,EAAE,CAAC"}
|
package/dist/commands/doctor.js
CHANGED
|
@@ -32,9 +32,15 @@ const checkBunVersion = () => {
|
|
|
32
32
|
};
|
|
33
33
|
const checkConfigFile = async () => {
|
|
34
34
|
const configPath = getConfigPath();
|
|
35
|
-
const
|
|
36
|
-
if (config) {
|
|
37
|
-
return { result: pass('Config file', configPath), config };
|
|
35
|
+
const readResult = await readConfig(configPath);
|
|
36
|
+
if (readResult.config) {
|
|
37
|
+
return { result: pass('Config file', configPath), config: readResult.config };
|
|
38
|
+
}
|
|
39
|
+
if (readResult.error === 'invalid') {
|
|
40
|
+
return {
|
|
41
|
+
result: fail('Config file', `invalid at ${configPath}: ${readResult.message}`, 'Run opentabs config reset --confirm to delete and regenerate'),
|
|
42
|
+
config: null,
|
|
43
|
+
};
|
|
38
44
|
}
|
|
39
45
|
return {
|
|
40
46
|
result: warn('Config file', `not found at ${configPath}`, 'Run opentabs start to auto-create config'),
|
|
@@ -107,6 +113,53 @@ const checkExtensionVersion = async (installedVersion) => {
|
|
|
107
113
|
}
|
|
108
114
|
return warn('Extension version', `v${installedVersion} (CLI is v${cliVersion})`, 'Restart opentabs start to update the extension');
|
|
109
115
|
};
|
|
116
|
+
const checkNpmPlugins = (data) => {
|
|
117
|
+
if (!data) {
|
|
118
|
+
return [pass('npm plugins', 'requires running server to check')];
|
|
119
|
+
}
|
|
120
|
+
const pluginDetails = Array.isArray(data.pluginDetails) ? data.pluginDetails : [];
|
|
121
|
+
const failedPlugins = Array.isArray(data.failedPlugins) ? data.failedPlugins : [];
|
|
122
|
+
const npmPlugins = pluginDetails.filter(p => p.source === 'npm');
|
|
123
|
+
const results = [];
|
|
124
|
+
if (npmPlugins.length === 0 && failedPlugins.length === 0) {
|
|
125
|
+
results.push(pass('npm plugins', 'none discovered'));
|
|
126
|
+
return results;
|
|
127
|
+
}
|
|
128
|
+
for (const p of npmPlugins) {
|
|
129
|
+
const detail = `${p.displayName} — ${p.toolCount} tool${p.toolCount === 1 ? '' : 's'}, tab ${p.tabState}`;
|
|
130
|
+
results.push(pass(`npm plugin ${p.name}`, detail));
|
|
131
|
+
}
|
|
132
|
+
for (const f of failedPlugins) {
|
|
133
|
+
results.push(warn(`npm plugin ${f.path}`, `failed: ${f.error}`, 'Check plugin installation or rebuild with opentabs-plugin build'));
|
|
134
|
+
}
|
|
135
|
+
return results;
|
|
136
|
+
};
|
|
137
|
+
const defaultMcpClientLocations = () => [
|
|
138
|
+
{ name: 'Claude Code', path: join(homedir(), '.claude', 'settings', 'mcp.json') },
|
|
139
|
+
{ name: 'Cursor', path: join(process.cwd(), '.cursor', 'mcp.json') },
|
|
140
|
+
];
|
|
141
|
+
const checkMcpClientConfig = async (clients = defaultMcpClientLocations()) => {
|
|
142
|
+
for (const client of clients) {
|
|
143
|
+
if (!existsSync(client.path))
|
|
144
|
+
continue;
|
|
145
|
+
try {
|
|
146
|
+
const content = await Bun.file(client.path).text();
|
|
147
|
+
const parsed = JSON.parse(content);
|
|
148
|
+
if (parsed !== null &&
|
|
149
|
+
typeof parsed === 'object' &&
|
|
150
|
+
'mcpServers' in parsed &&
|
|
151
|
+
parsed.mcpServers !== null &&
|
|
152
|
+
typeof parsed.mcpServers === 'object' &&
|
|
153
|
+
'opentabs' in parsed.mcpServers) {
|
|
154
|
+
return pass('MCP client config', `${client.name} (${client.path})`);
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
catch {
|
|
158
|
+
// File exists but isn't valid JSON — skip to next client
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
return warn('MCP client config', 'no MCP client configured for OpenTabs', 'Add an "opentabs" entry to ~/.claude/settings/mcp.json (Claude Code) or .cursor/mcp.json (Cursor)');
|
|
162
|
+
};
|
|
110
163
|
const checkPlugins = async (config) => {
|
|
111
164
|
if (!config) {
|
|
112
165
|
return [warn('Plugins', 'no config to check', 'Create a config file first')];
|
|
@@ -114,9 +167,7 @@ const checkPlugins = async (config) => {
|
|
|
114
167
|
const configPath = getConfigPath();
|
|
115
168
|
const pluginPaths = getLocalPluginsFromConfig(config);
|
|
116
169
|
if (pluginPaths.length === 0) {
|
|
117
|
-
return [
|
|
118
|
-
warn('Plugins', 'no local plugins configured', 'npm plugins are auto-discovered; local plugins are registered by opentabs-plugin build'),
|
|
119
|
-
];
|
|
170
|
+
return [pass('Local plugins', 'none configured (npm plugins are auto-discovered at startup)')];
|
|
120
171
|
}
|
|
121
172
|
const results = [];
|
|
122
173
|
for (const pluginPath of pluginPaths) {
|
|
@@ -168,9 +219,13 @@ const handleDoctor = async (options) => {
|
|
|
168
219
|
results.push(installedResult);
|
|
169
220
|
// 6. Extension version matches CLI
|
|
170
221
|
results.push(await checkExtensionVersion(versionFile));
|
|
171
|
-
// 7.
|
|
222
|
+
// 7. MCP client config
|
|
223
|
+
results.push(await checkMcpClientConfig());
|
|
224
|
+
// 8. Local plugin checks
|
|
172
225
|
const pluginResults = await checkPlugins(config);
|
|
173
226
|
results.push(...pluginResults);
|
|
227
|
+
// 9. npm plugin health (from server /health data)
|
|
228
|
+
results.push(...checkNpmPlugins(healthData));
|
|
174
229
|
// Print results
|
|
175
230
|
console.log(pc.bold('OpenTabs Doctor'));
|
|
176
231
|
console.log('');
|
|
@@ -210,5 +265,5 @@ Examples:
|
|
|
210
265
|
$ opentabs doctor --port 3000`)
|
|
211
266
|
.action((_options, command) => handleDoctor(command.optsWithGlobals()));
|
|
212
267
|
};
|
|
213
|
-
export { checkBunVersion, checkConfigFile, checkExtensionConnected, checkPlugins, registerDoctorCommand };
|
|
268
|
+
export { checkBunVersion, checkConfigFile, checkExtensionConnected, checkMcpClientConfig, checkNpmPlugins, checkPlugins, registerDoctorCommand, };
|
|
214
269
|
//# sourceMappingURL=doctor.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC"}
|
package/dist/commands/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC"}
|