@vscode/component-explorer-cli 0.2.1-4 → 0.2.1-6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +8 -0
- package/dist/_virtual/_build-info.js +1 -1
- package/dist/browserPage.d.ts +1 -1
- package/dist/browserPage.d.ts.map +1 -1
- package/dist/browserPage.js +29 -1
- package/dist/browserPage.js.map +1 -1
- package/dist/commands/acceptCommand.d.ts +1 -0
- package/dist/commands/acceptCommand.d.ts.map +1 -1
- package/dist/commands/acceptCommand.js +3 -2
- package/dist/commands/acceptCommand.js.map +1 -1
- package/dist/commands/artifactCommand.d.ts +1 -0
- package/dist/commands/artifactCommand.d.ts.map +1 -1
- package/dist/commands/checkStabilityCommand.d.ts +1 -0
- package/dist/commands/checkStabilityCommand.d.ts.map +1 -1
- package/dist/commands/checkStabilityCommand.js +3 -2
- package/dist/commands/checkStabilityCommand.js.map +1 -1
- package/dist/commands/compareCommand.d.ts +1 -0
- package/dist/commands/compareCommand.d.ts.map +1 -1
- package/dist/commands/compareCommand.js +3 -2
- package/dist/commands/compareCommand.js.map +1 -1
- package/dist/commands/mcpCommand.d.ts +5 -0
- package/dist/commands/mcpCommand.d.ts.map +1 -1
- package/dist/commands/mcpCommand.js +78 -13
- package/dist/commands/mcpCommand.js.map +1 -1
- package/dist/commands/renderCommand.d.ts +1 -0
- package/dist/commands/renderCommand.d.ts.map +1 -1
- package/dist/commands/renderCommand.js +3 -2
- package/dist/commands/renderCommand.js.map +1 -1
- package/dist/commands/screenshotCommand.d.ts +1 -0
- package/dist/commands/screenshotCommand.d.ts.map +1 -1
- package/dist/commands/serveCommand.d.ts +1 -0
- package/dist/commands/serveCommand.d.ts.map +1 -1
- package/dist/commands/serveCommand.js +62 -35
- package/dist/commands/serveCommand.js.map +1 -1
- package/dist/commands/serviceDiffCommitsCommand.d.ts +15 -0
- package/dist/commands/serviceDiffCommitsCommand.d.ts.map +1 -0
- package/dist/commands/serviceDiffCommitsCommand.js +224 -0
- package/dist/commands/serviceDiffCommitsCommand.js.map +1 -0
- package/dist/commands/watchCommand.d.ts +1 -0
- package/dist/commands/watchCommand.d.ts.map +1 -1
- package/dist/commands/watchCommand.js +4 -3
- package/dist/commands/watchCommand.js.map +1 -1
- package/dist/componentExplorer.d.ts +3 -0
- package/dist/componentExplorer.d.ts.map +1 -1
- package/dist/componentExplorer.js +84 -50
- package/dist/componentExplorer.js.map +1 -1
- package/dist/daemon/DaemonService.js +3 -3
- package/dist/daemon/DaemonService.js.map +1 -1
- package/dist/daemon/client.d.ts +5 -0
- package/dist/daemon/client.d.ts.map +1 -0
- package/dist/daemon/client.js +7 -0
- package/dist/daemon/client.js.map +1 -0
- package/dist/daemon/inProcessClient.d.ts +11 -0
- package/dist/daemon/inProcessClient.d.ts.map +1 -0
- package/dist/daemon/inProcessClient.js +35 -0
- package/dist/daemon/inProcessClient.js.map +1 -0
- package/dist/daemon/lifecycle.d.ts +4 -0
- package/dist/daemon/lifecycle.d.ts.map +1 -1
- package/dist/daemon/lifecycle.js +12 -2
- package/dist/daemon/lifecycle.js.map +1 -1
- package/dist/daemon/pipeClient.js +1 -0
- package/dist/daemon/pipeClient.js.map +1 -1
- package/dist/daemon/pipeName.d.ts +6 -0
- package/dist/daemon/pipeName.d.ts.map +1 -1
- package/dist/daemon/pipeName.js +8 -3
- package/dist/daemon/pipeName.js.map +1 -1
- package/dist/daemon/pipeServer.d.ts.map +1 -1
- package/dist/daemon/pipeServer.js +7 -1
- package/dist/daemon/pipeServer.js.map +1 -1
- package/dist/evaluateFn.d.ts +21 -0
- package/dist/evaluateFn.d.ts.map +1 -0
- package/dist/evaluateFn.js +17 -0
- package/dist/evaluateFn.js.map +1 -0
- package/dist/git/gitUtils.d.ts +1 -0
- package/dist/git/gitUtils.d.ts.map +1 -1
- package/dist/git/gitUtils.js +5 -1
- package/dist/git/gitUtils.js.map +1 -1
- package/dist/index.js +9 -0
- package/dist/index.js.map +1 -1
- package/dist/logger.d.ts +12 -1
- package/dist/logger.d.ts.map +1 -1
- package/dist/logger.js +35 -2
- package/dist/logger.js.map +1 -1
- package/dist/mcp/McpServer.d.ts.map +1 -1
- package/dist/mcp/McpServer.js +17 -16
- package/dist/mcp/McpServer.js.map +1 -1
- package/dist/screenshotServiceClient.d.ts +27 -0
- package/dist/screenshotServiceClient.d.ts.map +1 -0
- package/dist/screenshotServiceClient.js +32 -0
- package/dist/screenshotServiceClient.js.map +1 -0
- package/dist/server/httpServer.js +1 -1
- package/dist/server/httpServer.js.map +1 -1
- package/dist/server/viteServer.js +5 -5
- package/dist/server/viteServer.js.map +1 -1
- package/dist/utils.d.ts +11 -6
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js +7 -6
- package/dist/utils.js.map +1 -1
- package/package.json +5 -2
package/dist/daemon/lifecycle.js
CHANGED
|
@@ -4,7 +4,7 @@ import * as path from 'node:path';
|
|
|
4
4
|
import * as fs from 'node:fs';
|
|
5
5
|
import * as os from 'node:os';
|
|
6
6
|
import { createPipeClient } from './pipeClient.js';
|
|
7
|
-
import {
|
|
7
|
+
import { daemonPipeInfo } from './pipeName.js';
|
|
8
8
|
import { nullLogger } from '../logger.js';
|
|
9
9
|
|
|
10
10
|
const _cliEntryPoint = path.resolve(path.dirname(fileURLToPath(import.meta.url)), '../index.js');
|
|
@@ -43,13 +43,23 @@ async function waitForDaemon(pipeName, options) {
|
|
|
43
43
|
}
|
|
44
44
|
async function connectToExistingOrStartDaemon(configPath, options) {
|
|
45
45
|
const logger = options?.logger ?? nullLogger;
|
|
46
|
-
const pipeName =
|
|
46
|
+
const { pipeName, source: pipeSource } = daemonPipeInfo(configPath);
|
|
47
|
+
logger.debug(`connectToExistingOrStartDaemon: pipe=${pipeName}, source=${pipeSource}`);
|
|
47
48
|
const existing = await tryConnect(pipeName, options);
|
|
48
49
|
if (existing) {
|
|
49
50
|
return existing;
|
|
50
51
|
}
|
|
51
52
|
logger.debug(`connectToExistingOrStartDaemon: spawning child process`);
|
|
52
53
|
const args = [_cliEntryPoint, 'serve', '--project', configPath];
|
|
54
|
+
// Pass verbosity flags
|
|
55
|
+
const verbosity = options?.verbosity ?? 0;
|
|
56
|
+
for (let i = 0; i < verbosity; i++) {
|
|
57
|
+
args.push('-v');
|
|
58
|
+
}
|
|
59
|
+
// Pass log file
|
|
60
|
+
if (options?.logFile) {
|
|
61
|
+
args.push('--log-file', options.logFile);
|
|
62
|
+
}
|
|
53
63
|
logger.trace(`connectToExistingOrStartDaemon: spawn args: ${args.join(' ')}`);
|
|
54
64
|
const logFile = path.join(os.tmpdir(), `component-explorer-daemon-${Date.now()}.log`);
|
|
55
65
|
const logFd = fs.openSync(logFile, 'w');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lifecycle.js","sources":["../../src/daemon/lifecycle.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;;;AAWA,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAClC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAC5C,aAAa,CACb;
|
|
1
|
+
{"version":3,"file":"lifecycle.js","sources":["../../src/daemon/lifecycle.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -15,6 +15,7 @@ import { parseVersion, daemonApiVersionText, isCompatibleVersion } from './versi
|
|
|
15
15
|
import '../config.js';
|
|
16
16
|
import 'node:fs';
|
|
17
17
|
import 'node:child_process';
|
|
18
|
+
import 'node:module';
|
|
18
19
|
import 'node:crypto';
|
|
19
20
|
|
|
20
21
|
function createPipeClient(pipeName, options) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pipeClient.js","sources":["../../src/daemon/pipeClient.ts"],"sourcesContent":[null],"names":["http"],"mappings":"
|
|
1
|
+
{"version":3,"file":"pipeClient.js","sources":["../../src/daemon/pipeClient.ts"],"sourcesContent":[null],"names":["http"],"mappings":"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"}
|
|
@@ -1,2 +1,8 @@
|
|
|
1
|
+
export interface DaemonPipeInfo {
|
|
2
|
+
readonly pipeName: string;
|
|
3
|
+
/** The normalized config path that was hashed to produce `pipeName`. */
|
|
4
|
+
readonly source: string;
|
|
5
|
+
}
|
|
1
6
|
export declare function daemonPipeName(configPath: string): string;
|
|
7
|
+
export declare function daemonPipeInfo(configPath: string): DaemonPipeInfo;
|
|
2
8
|
//# sourceMappingURL=pipeName.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pipeName.d.ts","sourceRoot":"","sources":["../../src/daemon/pipeName.ts"],"names":[],"mappings":"AAIA,wBAAgB,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"pipeName.d.ts","sourceRoot":"","sources":["../../src/daemon/pipeName.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,cAAc;IAC9B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,wEAAwE;IACxE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACxB;AAED,wBAAgB,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAEzD;AAED,wBAAgB,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,cAAc,CAQjE"}
|
package/dist/daemon/pipeName.js
CHANGED
|
@@ -3,12 +3,17 @@ import * as os from 'node:os';
|
|
|
3
3
|
import * as path from 'node:path';
|
|
4
4
|
|
|
5
5
|
function daemonPipeName(configPath) {
|
|
6
|
+
return daemonPipeInfo(configPath).pipeName;
|
|
7
|
+
}
|
|
8
|
+
function daemonPipeInfo(configPath) {
|
|
6
9
|
const absPath = path.resolve(configPath);
|
|
7
|
-
const
|
|
8
|
-
|
|
10
|
+
const source = process.platform === 'win32' ? absPath.toLowerCase() : absPath;
|
|
11
|
+
const h = createHash('sha256').update(source).digest('hex').slice(0, 16);
|
|
12
|
+
const pipeName = process.platform === 'win32'
|
|
9
13
|
? `\\\\.\\pipe\\component-explorer-${h}`
|
|
10
14
|
: path.join(os.tmpdir(), `component-explorer-${h}.sock`);
|
|
15
|
+
return { pipeName, source };
|
|
11
16
|
}
|
|
12
17
|
|
|
13
|
-
export { daemonPipeName };
|
|
18
|
+
export { daemonPipeInfo, daemonPipeName };
|
|
14
19
|
//# sourceMappingURL=pipeName.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pipeName.js","sources":["../../src/daemon/pipeName.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;
|
|
1
|
+
{"version":3,"file":"pipeName.js","sources":["../../src/daemon/pipeName.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;AAUM,SAAU,cAAc,CAAC,UAAkB,EAAA;AAChD,IAAA,OAAO,cAAc,CAAC,UAAU,CAAC,CAAC,QAAQ;AAC3C;AAEM,SAAU,cAAc,CAAC,UAAkB,EAAA;IAChD,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC;AACxC,IAAA,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,KAAK,OAAO,GAAG,OAAO,CAAC,WAAW,EAAE,GAAG,OAAO;IAC7E,MAAM,CAAC,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;AACxE,IAAA,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,KAAK;UACnC,CAAA,gCAAA,EAAmC,CAAC,CAAA;AACtC,UAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,CAAA,mBAAA,EAAsB,CAAC,CAAA,KAAA,CAAO,CAAC;AACzD,IAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE;AAC5B;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pipeServer.d.ts","sourceRoot":"","sources":["../../src/daemon/pipeServer.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAM7B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAExD,OAAO,EAAE,KAAK,OAAO,EAAc,MAAM,cAAc,CAAC;AAIxD,wBAAsB,eAAe,CACpC,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,aAAa,EACtB,MAAM,GAAE,OAAoB,GAC1B,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"pipeServer.d.ts","sourceRoot":"","sources":["../../src/daemon/pipeServer.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAM7B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAExD,OAAO,EAAE,KAAK,OAAO,EAAc,MAAM,cAAc,CAAC;AAIxD,wBAAsB,eAAe,CACpC,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,aAAa,EACtB,MAAM,GAAE,OAAoB,GAC1B,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAsBtB"}
|
|
@@ -22,7 +22,13 @@ async function startPipeServer(pipeName, service, logger = nullLogger) {
|
|
|
22
22
|
}),
|
|
23
23
|
}));
|
|
24
24
|
const server = http__default.createServer(app);
|
|
25
|
-
await new Promise(resolve =>
|
|
25
|
+
await new Promise((resolve, reject) => {
|
|
26
|
+
server.on('error', (err) => {
|
|
27
|
+
logger.log(`Pipe server error: ${err.message}`);
|
|
28
|
+
reject(err);
|
|
29
|
+
});
|
|
30
|
+
server.listen(pipeName, resolve);
|
|
31
|
+
});
|
|
26
32
|
return server;
|
|
27
33
|
}
|
|
28
34
|
class LoggingApiImplementation extends ApiImplementation {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pipeServer.js","sources":["../../src/daemon/pipeServer.ts"],"sourcesContent":[null],"names":["http"],"mappings":";;;;;;;;;AAYO,eAAe,eAAe,CACpC,QAAgB,EAChB,OAAsB,EACtB,MAAA,GAAkB,UAAU,EAAA;AAE5B,IAAA,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE;AACjC,QAAA,IAAI;AAAE,YAAA,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC;QAAE;AAAE,QAAA,MAAM,sBAAsB;IAC9D;IAEA,MAAM,GAAG,GAAG,IAAI,wBAAwB,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,CAAC;AAC7D,IAAA,MAAM,GAAG,GAAG,OAAO,EAAE;IACrB,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC,GAAG,EAAE;AACpC,QAAA,cAAc,EAAE,CAAC,GAAG,MAAqB;YACxC,UAAU,EAAG,GAAG,CAAC,OAAO,CAAC,eAAe,CAAY,IAAI,SAAS;SACjE,CAAC;AACF,KAAA,CAAC,CAAC;IAEH,MAAM,MAAM,GAAGA,aAAI,CAAC,YAAY,CAAC,GAAG,CAAC;
|
|
1
|
+
{"version":3,"file":"pipeServer.js","sources":["../../src/daemon/pipeServer.ts"],"sourcesContent":[null],"names":["http"],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { HeadlessApi } from '@vscode/component-explorer-common';
|
|
2
|
+
declare const JS_ARG_SYMBOL: unique symbol;
|
|
3
|
+
export interface JsArg<T> {
|
|
4
|
+
readonly [JS_ARG_SYMBOL]: true;
|
|
5
|
+
readonly _type?: T;
|
|
6
|
+
readonly expression: string;
|
|
7
|
+
}
|
|
8
|
+
export declare function jsArg<T>(expression: string): JsArg<T>;
|
|
9
|
+
export interface IEvaluateTarget {
|
|
10
|
+
evaluateJs(expression: string): Promise<unknown>;
|
|
11
|
+
}
|
|
12
|
+
type UnwrapArg<T> = T extends JsArg<infer U> ? U : T;
|
|
13
|
+
type UnwrapArgs<T extends unknown[]> = {
|
|
14
|
+
[K in keyof T]: UnwrapArg<T[K]>;
|
|
15
|
+
};
|
|
16
|
+
export declare function evaluateFn<A extends unknown[], R>(target: IEvaluateTarget, fn: (...args: UnwrapArgs<A>) => R, ...args: A): Promise<Awaited<R>>;
|
|
17
|
+
export declare const explorerApi: JsArg<HeadlessApi>;
|
|
18
|
+
export declare const explorerApiOrUndefined: JsArg<HeadlessApi | undefined>;
|
|
19
|
+
export declare const explorerApiGetter: JsArg<() => HeadlessApi | undefined>;
|
|
20
|
+
export {};
|
|
21
|
+
//# sourceMappingURL=evaluateFn.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"evaluateFn.d.ts","sourceRoot":"","sources":["../src/evaluateFn.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAC;AAErE,QAAA,MAAM,aAAa,EAAE,OAAO,MAAwB,CAAC;AAErD,MAAM,WAAW,KAAK,CAAC,CAAC;IACvB,QAAQ,CAAC,CAAC,aAAa,CAAC,EAAE,IAAI,CAAC;IAC/B,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACnB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC5B;AAED,wBAAgB,KAAK,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,CAErD;AAMD,MAAM,WAAW,eAAe;IAC/B,UAAU,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CACjD;AAED,KAAK,SAAS,CAAC,CAAC,IAAI,CAAC,SAAS,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AACrD,KAAK,UAAU,CAAC,CAAC,SAAS,OAAO,EAAE,IAAI;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAAE,CAAC;AAE3E,wBAAgB,UAAU,CAAC,CAAC,SAAS,OAAO,EAAE,EAAE,CAAC,EAChD,MAAM,EAAE,eAAe,EACvB,EAAE,EAAE,CAAC,GAAG,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,EACjC,GAAG,IAAI,EAAE,CAAC,GACR,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAGrB;AAED,eAAO,MAAM,WAAW,oBAEvB,CAAC;AAEF,eAAO,MAAM,sBAAsB,gCAElC,CAAC;AAEF,eAAO,MAAM,iBAAiB,cAAe,WAAW,GAAG,SAAS,CAEnE,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
const JS_ARG_SYMBOL = Symbol('jsArg');
|
|
2
|
+
function jsArg(expression) {
|
|
3
|
+
return { [JS_ARG_SYMBOL]: true, expression };
|
|
4
|
+
}
|
|
5
|
+
function isJsArg(value) {
|
|
6
|
+
return !!value && typeof value === 'object' && JS_ARG_SYMBOL in value;
|
|
7
|
+
}
|
|
8
|
+
function evaluateFn(target, fn, ...args) {
|
|
9
|
+
const serializedArgs = args.map(a => isJsArg(a) ? a.expression : JSON.stringify(a));
|
|
10
|
+
return target.evaluateJs(`(${fn.toString()})(${serializedArgs.join(', ')})`);
|
|
11
|
+
}
|
|
12
|
+
const explorerApi = jsArg('(() => { const e = window.__componentExplorer__; if (!e) throw new Error("Component Explorer not found"); return e; })()');
|
|
13
|
+
const explorerApiOrUndefined = jsArg('window.__componentExplorer__');
|
|
14
|
+
const explorerApiGetter = jsArg('(() => window.__componentExplorer__)');
|
|
15
|
+
|
|
16
|
+
export { evaluateFn, explorerApi, explorerApiGetter, explorerApiOrUndefined, jsArg };
|
|
17
|
+
//# sourceMappingURL=evaluateFn.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"evaluateFn.js","sources":["../src/evaluateFn.ts"],"sourcesContent":[null],"names":[],"mappings":"AAEA,MAAM,aAAa,GAAkB,MAAM,CAAC,OAAO,CAAC;AAQ9C,SAAU,KAAK,CAAI,UAAkB,EAAA;IAC1C,OAAO,EAAE,CAAC,aAAa,GAAG,IAAI,EAAE,UAAU,EAAc;AACzD;AAEA,SAAS,OAAO,CAAC,KAAc,EAAA;AAC9B,IAAA,OAAO,CAAC,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,aAAa,IAAI,KAAK;AACtE;AASM,SAAU,UAAU,CACzB,MAAuB,EACvB,EAAiC,EACjC,GAAG,IAAO,EAAA;AAEV,IAAA,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;AACnF,IAAA,OAAO,MAAM,CAAC,UAAU,CAAC,CAAA,CAAA,EAAI,EAAE,CAAC,QAAQ,EAAE,CAAA,EAAA,EAAK,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA,CAAA,CAAG,CAAwB;AACpG;MAEa,WAAW,GAAG,KAAK,CAC/B,0HAA0H;MAG9G,sBAAsB,GAAG,KAAK,CAC1C,8BAA8B;MAGlB,iBAAiB,GAAG,KAAK,CACrC,sCAAsC;;;;"}
|
package/dist/git/gitUtils.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
export declare function getGitRoot(fromDir: string): Promise<string>;
|
|
2
2
|
export declare function resolveRef(gitRoot: string, ref: string): Promise<string>;
|
|
3
|
+
export declare function getMergeBase(gitRoot: string, ref1: string, ref2: string): Promise<string>;
|
|
3
4
|
export declare function isConcreteCommitHash(ref: string): boolean;
|
|
4
5
|
export declare function worktreeRootPath(gitRoot: string): string;
|
|
5
6
|
export declare function execGit(cwd: string, args: readonly string[]): Promise<string>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gitUtils.d.ts","sourceRoot":"","sources":["../../src/git/gitUtils.ts"],"names":[],"mappings":"AAGA,wBAAsB,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAGjE;AAED,wBAAsB,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAG9E;AAED,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAEzD;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAGxD;AAED,wBAAgB,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAU7E"}
|
|
1
|
+
{"version":3,"file":"gitUtils.d.ts","sourceRoot":"","sources":["../../src/git/gitUtils.ts"],"names":[],"mappings":"AAGA,wBAAsB,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAGjE;AAED,wBAAsB,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAG9E;AAED,wBAAsB,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAG/F;AAED,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAEzD;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAGxD;AAED,wBAAgB,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAU7E"}
|
package/dist/git/gitUtils.js
CHANGED
|
@@ -9,6 +9,10 @@ async function resolveRef(gitRoot, ref) {
|
|
|
9
9
|
const output = await execGit(gitRoot, ['rev-parse', ref]);
|
|
10
10
|
return output.trim();
|
|
11
11
|
}
|
|
12
|
+
async function getMergeBase(gitRoot, ref1, ref2) {
|
|
13
|
+
const output = await execGit(gitRoot, ['merge-base', ref1, ref2]);
|
|
14
|
+
return output.trim();
|
|
15
|
+
}
|
|
12
16
|
function isConcreteCommitHash(ref) {
|
|
13
17
|
return /^[0-9a-f]{40}$/i.test(ref);
|
|
14
18
|
}
|
|
@@ -29,5 +33,5 @@ function execGit(cwd, args) {
|
|
|
29
33
|
});
|
|
30
34
|
}
|
|
31
35
|
|
|
32
|
-
export { execGit, getGitRoot, isConcreteCommitHash, resolveRef, worktreeRootPath };
|
|
36
|
+
export { execGit, getGitRoot, getMergeBase, isConcreteCommitHash, resolveRef, worktreeRootPath };
|
|
33
37
|
//# sourceMappingURL=gitUtils.js.map
|
package/dist/git/gitUtils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gitUtils.js","sources":["../../src/git/gitUtils.ts"],"sourcesContent":[null],"names":[],"mappings":";;;AAGO,eAAe,UAAU,CAAC,OAAe,EAAA;AAC/C,IAAA,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC,WAAW,EAAE,iBAAiB,CAAC,CAAC;AACvE,IAAA,OAAO,MAAM,CAAC,IAAI,EAAE;AACrB;AAEO,eAAe,UAAU,CAAC,OAAe,EAAE,GAAW,EAAA;AAC5D,IAAA,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;AACzD,IAAA,OAAO,MAAM,CAAC,IAAI,EAAE;AACrB;AAEM,SAAU,oBAAoB,CAAC,GAAW,EAAA;AAC/C,IAAA,OAAO,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC;AACnC;AAEM,SAAU,gBAAgB,CAAC,OAAe,EAAA;IAC/C,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;AACvC,IAAA,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,EAAE,CAAA,EAAG,QAAQ,CAAA,UAAA,CAAY,CAAC;AAC5D;AAEM,SAAU,OAAO,CAAC,GAAW,EAAE,IAAuB,EAAA;IAC3D,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,KAAI;AACtC,QAAA,QAAQ,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,KAAI;YACvG,IAAI,GAAG,EAAE;gBACR,MAAM,CAAC,IAAI,KAAK,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA,SAAA,EAAY,MAAM,IAAI,GAAG,CAAC,OAAO,CAAA,CAAE,CAAC,CAAC;YAC5E;iBAAO;gBACN,OAAO,CAAC,MAAM,CAAC;YAChB;AACD,QAAA,CAAC,CAAC;AACH,IAAA,CAAC,CAAC;AACH;;;;"}
|
|
1
|
+
{"version":3,"file":"gitUtils.js","sources":["../../src/git/gitUtils.ts"],"sourcesContent":[null],"names":[],"mappings":";;;AAGO,eAAe,UAAU,CAAC,OAAe,EAAA;AAC/C,IAAA,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC,WAAW,EAAE,iBAAiB,CAAC,CAAC;AACvE,IAAA,OAAO,MAAM,CAAC,IAAI,EAAE;AACrB;AAEO,eAAe,UAAU,CAAC,OAAe,EAAE,GAAW,EAAA;AAC5D,IAAA,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;AACzD,IAAA,OAAO,MAAM,CAAC,IAAI,EAAE;AACrB;AAEO,eAAe,YAAY,CAAC,OAAe,EAAE,IAAY,EAAE,IAAY,EAAA;AAC7E,IAAA,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC,YAAY,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AACjE,IAAA,OAAO,MAAM,CAAC,IAAI,EAAE;AACrB;AAEM,SAAU,oBAAoB,CAAC,GAAW,EAAA;AAC/C,IAAA,OAAO,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC;AACnC;AAEM,SAAU,gBAAgB,CAAC,OAAe,EAAA;IAC/C,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;AACvC,IAAA,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,EAAE,CAAA,EAAG,QAAQ,CAAA,UAAA,CAAY,CAAC;AAC5D;AAEM,SAAU,OAAO,CAAC,GAAW,EAAE,IAAuB,EAAA;IAC3D,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,KAAI;AACtC,QAAA,QAAQ,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,KAAI;YACvG,IAAI,GAAG,EAAE;gBACR,MAAM,CAAC,IAAI,KAAK,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA,SAAA,EAAY,MAAM,IAAI,GAAG,CAAC,OAAO,CAAA,CAAE,CAAC,CAAC;YAC5E;iBAAO;gBACN,OAAO,CAAC,MAAM,CAAC;YAChB;AACD,QAAA,CAAC,CAAC;AACH,IAAA,CAAC,CAAC;AACH;;;;"}
|
package/dist/index.js
CHANGED
|
@@ -8,8 +8,16 @@ import { WatchCommand } from './commands/watchCommand.js';
|
|
|
8
8
|
import { ServeCommand } from './commands/serveCommand.js';
|
|
9
9
|
import { McpCommand } from './commands/mcpCommand.js';
|
|
10
10
|
import { CheckStabilityCommand } from './commands/checkStabilityCommand.js';
|
|
11
|
+
import { ServiceDiffCommitsCommand } from './commands/serviceDiffCommitsCommand.js';
|
|
11
12
|
|
|
12
13
|
globalThis._buildInfo = __buildInfo;
|
|
14
|
+
// Global error handlers to ensure errors are logged before process exits
|
|
15
|
+
const _logFatalError = (type, err) => {
|
|
16
|
+
const msg = err instanceof Error ? err.stack ?? err.message : String(err);
|
|
17
|
+
process.stderr.write(`[FATAL] ${type}: ${msg}\n`);
|
|
18
|
+
};
|
|
19
|
+
process.on('uncaughtException', (err) => { _logFatalError('uncaughtException', err); process.exit(1); });
|
|
20
|
+
process.on('unhandledRejection', (err) => { _logFatalError('unhandledRejection', err); process.exit(1); });
|
|
13
21
|
const buildInfo = globalThis._buildInfo;
|
|
14
22
|
const cli = new Cli({
|
|
15
23
|
binaryLabel: 'component-explorer',
|
|
@@ -23,6 +31,7 @@ cli.register(WatchCommand);
|
|
|
23
31
|
cli.register(ServeCommand);
|
|
24
32
|
cli.register(McpCommand);
|
|
25
33
|
cli.register(CheckStabilityCommand);
|
|
34
|
+
cli.register(ServiceDiffCommitsCommand);
|
|
26
35
|
cli.register(Builtins.HelpCommand);
|
|
27
36
|
cli.register(Builtins.DefinitionsCommand);
|
|
28
37
|
cli.register(Builtins.TokensCommand);
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../src/index.ts"],"sourcesContent":[null],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../src/index.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;;;;;;;AAYA;AACA,MAAM,cAAc,GAAG,CAAC,IAAY,EAAE,GAAY,KAAI;IACrD,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,GAAG,GAAG,CAAC,KAAK,IAAI,GAAG,CAAC,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC;IACzE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA,QAAA,EAAW,IAAI,CAAA,EAAA,EAAK,GAAG,CAAA,EAAA,CAAI,CAAC;AAClD,CAAC;AACD,OAAO,CAAC,EAAE,CAAC,mBAAmB,EAAE,CAAC,GAAG,KAAI,EAAG,cAAc,CAAC,mBAAmB,EAAE,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACxG,OAAO,CAAC,EAAE,CAAC,oBAAoB,EAAE,CAAC,GAAG,KAAI,EAAG,cAAc,CAAC,oBAAoB,EAAE,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAE1G,MAAM,SAAS,GAAG,UAAU,CAAC,UAAU;AAEvC,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC;AACnB,IAAA,WAAW,EAAE,oBAAoB;AACjC,IAAA,aAAa,EAAE,SAAS,GAAG,GAAG,SAAS,CAAC,OAAO,CAAA,EAAA,EAAK,SAAS,CAAC,IAAI,GAAG,GAAG,OAAO;AAC/E,IAAA,UAAU,EAAE,oBAAoB;AAChC,CAAA,CAAC;AAEF,GAAG,CAAC,QAAQ,CAAC,aAAa,CAAC;AAC3B,GAAG,CAAC,QAAQ,CAAC,cAAc,CAAC;AAC5B,GAAG,CAAC,QAAQ,CAAC,aAAa,CAAC;AAC3B,GAAG,CAAC,QAAQ,CAAC,YAAY,CAAC;AAC1B,GAAG,CAAC,QAAQ,CAAC,YAAY,CAAC;AAC1B,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC;AACxB,GAAG,CAAC,QAAQ,CAAC,qBAAqB,CAAC;AACnC,GAAG,CAAC,QAAQ,CAAC,yBAAyB,CAAC;AAEvC,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC;AAClC,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,kBAAkB,CAAC;AACzC,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,aAAa,CAAC;AACpC,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,cAAc,CAAC;AAErC,MAAM,KAAI,GAAG,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI;AACjC,MAAM,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC"}
|
package/dist/logger.d.ts
CHANGED
|
@@ -11,18 +11,29 @@ export interface ILogger {
|
|
|
11
11
|
debug(message: string): void;
|
|
12
12
|
trace(message: string): void;
|
|
13
13
|
}
|
|
14
|
+
export interface LogFileOptions {
|
|
15
|
+
/** Path to append log entries to. Multiple processes can safely append concurrently. */
|
|
16
|
+
readonly path: string;
|
|
17
|
+
/** Minimum log level to write to file (uses console level if not specified). */
|
|
18
|
+
readonly level?: LogLevel;
|
|
19
|
+
}
|
|
14
20
|
export declare class ConsoleLogger implements ILogger {
|
|
15
21
|
private readonly _prefix;
|
|
16
22
|
private readonly _stream;
|
|
17
23
|
private readonly _level;
|
|
18
|
-
|
|
24
|
+
private readonly _logFileFd;
|
|
25
|
+
private readonly _logFileLevel;
|
|
26
|
+
constructor(_prefix: string, _stream: NodeJS.WritableStream, _level?: LogLevel, logFile?: LogFileOptions);
|
|
19
27
|
log(message: string): void;
|
|
20
28
|
info(message: string): void;
|
|
21
29
|
debug(message: string): void;
|
|
22
30
|
trace(message: string): void;
|
|
31
|
+
private _writeToFile;
|
|
23
32
|
}
|
|
24
33
|
export declare const nullLogger: ILogger;
|
|
25
34
|
/** Map a `-v` counter (0, 1, 2, …) to a `LogLevel`. */
|
|
26
35
|
export declare function verbosityToLogLevel(verbosity: number): LogLevel;
|
|
27
36
|
export declare function logBuildInfo(logger: ILogger): void;
|
|
37
|
+
/** Create LogFileOptions from a file path and verbosity counter. */
|
|
38
|
+
export declare function createLogFileOptions(logFilePath: string | undefined, verbosity: number): LogFileOptions | undefined;
|
|
28
39
|
//# sourceMappingURL=logger.d.ts.map
|
package/dist/logger.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"AAEA,oBAAY,QAAQ;IACnB,MAAM,IAAI;IACV,IAAI,IAAI;IACR,KAAK,IAAI;IACT,KAAK,IAAI;CACT;AAED,MAAM,WAAW,OAAO;IACvB,wBAAwB;IACxB,GAAG,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B;AAED,MAAM,WAAW,cAAc;IAC9B,wFAAwF;IACxF,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,gFAAgF;IAChF,QAAQ,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAC;CAC1B;AAED,qBAAa,aAAc,YAAW,OAAO;IAK3C,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,MAAM;IANxB,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAqB;IAChD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAW;gBAGvB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,CAAC,cAAc,EAC9B,MAAM,GAAE,QAAwB,EACjD,OAAO,CAAC,EAAE,cAAc;IAUzB,GAAG,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAE1B,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAO3B,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAO5B,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAO5B,OAAO,CAAC,YAAY;CASpB;AAED,eAAO,MAAM,UAAU,EAAE,OAKxB,CAAC;AAEF,uDAAuD;AACvD,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,QAAQ,CAI/D;AAED,wBAAgB,YAAY,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI,CAKlD;AAED,oEAAoE;AACpE,wBAAgB,oBAAoB,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,EAAE,SAAS,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS,CAQnH"}
|
package/dist/logger.js
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import * as fs from 'node:fs';
|
|
2
|
+
|
|
1
3
|
var LogLevel;
|
|
2
4
|
(function (LogLevel) {
|
|
3
5
|
LogLevel[LogLevel["silent"] = 0] = "silent";
|
|
@@ -9,26 +11,47 @@ class ConsoleLogger {
|
|
|
9
11
|
_prefix;
|
|
10
12
|
_stream;
|
|
11
13
|
_level;
|
|
12
|
-
|
|
14
|
+
_logFileFd;
|
|
15
|
+
_logFileLevel;
|
|
16
|
+
constructor(_prefix, _stream, _level = LogLevel.info, logFile) {
|
|
13
17
|
this._prefix = _prefix;
|
|
14
18
|
this._stream = _stream;
|
|
15
19
|
this._level = _level;
|
|
20
|
+
if (logFile) {
|
|
21
|
+
this._logFileFd = fs.openSync(logFile.path, 'a');
|
|
22
|
+
this._logFileLevel = logFile.level ?? _level;
|
|
23
|
+
}
|
|
24
|
+
else {
|
|
25
|
+
this._logFileLevel = LogLevel.silent;
|
|
26
|
+
}
|
|
16
27
|
}
|
|
17
28
|
log(message) { this.info(message); }
|
|
18
29
|
info(message) {
|
|
19
30
|
if (this._level >= LogLevel.info) {
|
|
20
31
|
this._stream.write(`[${this._prefix}] ${message}\n`);
|
|
21
32
|
}
|
|
33
|
+
this._writeToFile(LogLevel.info, message);
|
|
22
34
|
}
|
|
23
35
|
debug(message) {
|
|
24
36
|
if (this._level >= LogLevel.debug) {
|
|
25
37
|
this._stream.write(`[${this._prefix}] ${message}\n`);
|
|
26
38
|
}
|
|
39
|
+
this._writeToFile(LogLevel.debug, message);
|
|
27
40
|
}
|
|
28
41
|
trace(message) {
|
|
29
42
|
if (this._level >= LogLevel.trace) {
|
|
30
43
|
this._stream.write(`[${this._prefix}] ${message}\n`);
|
|
31
44
|
}
|
|
45
|
+
this._writeToFile(LogLevel.trace, message);
|
|
46
|
+
}
|
|
47
|
+
_writeToFile(level, message) {
|
|
48
|
+
if (this._logFileFd === undefined || this._logFileLevel < level) {
|
|
49
|
+
return;
|
|
50
|
+
}
|
|
51
|
+
const timestamp = new Date().toISOString();
|
|
52
|
+
const levelStr = LogLevel[level].toUpperCase().padEnd(5);
|
|
53
|
+
const entry = `${timestamp} [${levelStr}] [${this._prefix}] [pid:${process.pid}] ${message}\n`;
|
|
54
|
+
fs.appendFileSync(this._logFileFd, entry);
|
|
32
55
|
}
|
|
33
56
|
}
|
|
34
57
|
const nullLogger = {
|
|
@@ -51,6 +74,16 @@ function logBuildInfo(logger) {
|
|
|
51
74
|
logger.debug(`v${info.version} (built ${info.date})`);
|
|
52
75
|
}
|
|
53
76
|
}
|
|
77
|
+
/** Create LogFileOptions from a file path and verbosity counter. */
|
|
78
|
+
function createLogFileOptions(logFilePath, verbosity) {
|
|
79
|
+
if (!logFilePath) {
|
|
80
|
+
return undefined;
|
|
81
|
+
}
|
|
82
|
+
return {
|
|
83
|
+
path: logFilePath,
|
|
84
|
+
level: verbosityToLogLevel(verbosity),
|
|
85
|
+
};
|
|
86
|
+
}
|
|
54
87
|
|
|
55
|
-
export { ConsoleLogger, LogLevel, logBuildInfo, nullLogger, verbosityToLogLevel };
|
|
88
|
+
export { ConsoleLogger, LogLevel, createLogFileOptions, logBuildInfo, nullLogger, verbosityToLogLevel };
|
|
56
89
|
//# sourceMappingURL=logger.js.map
|
package/dist/logger.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger.js","sources":["../src/logger.ts"],"sourcesContent":[null],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"logger.js","sources":["../src/logger.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"McpServer.d.ts","sourceRoot":"","sources":["../../src/mcp/McpServer.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAW,UAAU,EAAE,KAAK,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAC5E,OAAO,KAAK,EAAE,aAAa,EAAe,MAAM,4BAA4B,CAAC;AA6F7E,qBAAa,gBAAgB;IAEhB,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC,aAAa,CAAC;IAD1D,OAAO,CAAC,MAAM,CAAS;gBACF,MAAM,EAAE,cAAc,CAAC,aAAa,CAAC;IAC1D,IAAI,OAAO,IAAI,OAAO,CAAwB;IAC9C,SAAS,IAAI,IAAI;CACjB;AAWD,MAAM,WAAW,gBAAgB;IAChC,MAAM,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;CACvB;AAMD,qBAAa,0BAA2B,SAAQ,UAAU;IAuBxD,OAAO,CAAC,QAAQ,CAAC,iBAAiB;WAtBtB,MAAM,CAClB,MAAM,EAAE,WAAW,CAAC,gBAAgB,GAAG,SAAS,CAAC,EACjD,OAAO,CAAC,EAAE,gBAAgB,GACxB,OAAO,CAAC,0BAA0B,CAAC;IAOtC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAe;IACpC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAmB;IAC9C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAyB;IACnD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAqB;IAClD,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAA6B;IACpE,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAsB;IAC/C,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAS;IAC3C,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAwB;IAC3D,OAAO,CAAC,SAAS,CAAqB;IACtC,OAAO,CAAC,2BAA2B,CAA8B;IAEjE,OAAO;YAmBO,gBAAgB;IAqB9B,OAAO,CAAC,cAAc;YAMR,cAAc;IAkB5B,OAAO,CAAC,iBAAiB;IASzB,OAAO,CAAC,cAAc;IAItB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,wBAAwB,CAAU;IAC1D,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAS;YAE1B,WAAW;IA8BzB,OAAO,CAAC,IAAI;IAKZ,OAAO,CAAC,mBAAmB;IA4B3B,OAAO,CAAC,mBAAmB;IAI3B,OAAO,CAAC,2BAA2B;IAKnC,OAAO,CAAC,0BAA0B;IAKlC,OAAO,CAAC,aAAa;IAKrB,OAAO,CAAC,0BAA0B;YAOpB,gBAAgB;IAmB9B,OAAO,CAAC,iCAAiC;YAW3B,oBAAoB;IAelC,OAAO,CAAC,eAAe;IA+BvB,OAAO,CAAC,cAAc;IA2BtB,OAAO,CAAC,qBAAqB;IAkC7B,OAAO,CAAC,mBAAmB;IAyG3B,OAAO,CAAC,0BAA0B;IA8FlC,OAAO,CAAC,oBAAoB;IAsB5B,OAAO,CAAC,qBAAqB;IAuD7B,OAAO,CAAC,qBAAqB;IA8E7B,OAAO,CAAC,mBAAmB;IAsC3B,OAAO,CAAC,wBAAwB;IAuBhC,OAAO,CAAC,iBAAiB;IAiBzB,OAAO,CAAC,oBAAoB;IAiB5B,OAAO,CAAC,iBAAiB;IAiBzB,OAAO,CAAC,qBAAqB;IA2E7B,OAAO,CAAC,sBAAsB;YAgEhB,oBAAoB;IA6ClC,OAAO,CAAC,iBAAiB;IAYzB,OAAO,CAAC,uBAAuB;IAmB/B,OAAO,CAAC,oBAAoB;IAyB5B,OAAO,CAAC,qBAAqB;IAuB7B,OAAO,CAAC,yBAAyB;IAwBjC,OAAO,CAAC,eAAe;
|
|
1
|
+
{"version":3,"file":"McpServer.d.ts","sourceRoot":"","sources":["../../src/mcp/McpServer.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAW,UAAU,EAAE,KAAK,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAC5E,OAAO,KAAK,EAAE,aAAa,EAAe,MAAM,4BAA4B,CAAC;AA6F7E,qBAAa,gBAAgB;IAEhB,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC,aAAa,CAAC;IAD1D,OAAO,CAAC,MAAM,CAAS;gBACF,MAAM,EAAE,cAAc,CAAC,aAAa,CAAC;IAC1D,IAAI,OAAO,IAAI,OAAO,CAAwB;IAC9C,SAAS,IAAI,IAAI;CACjB;AAWD,MAAM,WAAW,gBAAgB;IAChC,MAAM,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;CACvB;AAMD,qBAAa,0BAA2B,SAAQ,UAAU;IAuBxD,OAAO,CAAC,QAAQ,CAAC,iBAAiB;WAtBtB,MAAM,CAClB,MAAM,EAAE,WAAW,CAAC,gBAAgB,GAAG,SAAS,CAAC,EACjD,OAAO,CAAC,EAAE,gBAAgB,GACxB,OAAO,CAAC,0BAA0B,CAAC;IAOtC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAe;IACpC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAmB;IAC9C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAyB;IACnD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAqB;IAClD,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAA6B;IACpE,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAsB;IAC/C,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAS;IAC3C,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAwB;IAC3D,OAAO,CAAC,SAAS,CAAqB;IACtC,OAAO,CAAC,2BAA2B,CAA8B;IAEjE,OAAO;YAmBO,gBAAgB;IAqB9B,OAAO,CAAC,cAAc;YAMR,cAAc;IAkB5B,OAAO,CAAC,iBAAiB;IASzB,OAAO,CAAC,cAAc;IAItB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,wBAAwB,CAAU;IAC1D,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAS;YAE1B,WAAW;IA8BzB,OAAO,CAAC,IAAI;IAKZ,OAAO,CAAC,mBAAmB;IA4B3B,OAAO,CAAC,mBAAmB;IAI3B,OAAO,CAAC,2BAA2B;IAKnC,OAAO,CAAC,0BAA0B;IAKlC,OAAO,CAAC,aAAa;IAKrB,OAAO,CAAC,0BAA0B;YAOpB,gBAAgB;IAmB9B,OAAO,CAAC,iCAAiC;YAW3B,oBAAoB;IAelC,OAAO,CAAC,eAAe;IA+BvB,OAAO,CAAC,cAAc;IA2BtB,OAAO,CAAC,qBAAqB;IAkC7B,OAAO,CAAC,mBAAmB;IAyG3B,OAAO,CAAC,0BAA0B;IA8FlC,OAAO,CAAC,oBAAoB;IAsB5B,OAAO,CAAC,qBAAqB;IAuD7B,OAAO,CAAC,qBAAqB;IA8E7B,OAAO,CAAC,mBAAmB;IAsC3B,OAAO,CAAC,wBAAwB;IAuBhC,OAAO,CAAC,iBAAiB;IAiBzB,OAAO,CAAC,oBAAoB;IAiB5B,OAAO,CAAC,iBAAiB;IAiBzB,OAAO,CAAC,qBAAqB;IA2E7B,OAAO,CAAC,sBAAsB;YAgEhB,oBAAoB;IA6ClC,OAAO,CAAC,iBAAiB;IAYzB,OAAO,CAAC,uBAAuB;IAmB/B,OAAO,CAAC,oBAAoB;IAyB5B,OAAO,CAAC,qBAAqB;IAuB7B,OAAO,CAAC,yBAAyB;IAwBjC,OAAO,CAAC,eAAe;IAmFvB,OAAO,CAAC,uBAAuB;IAmG/B,OAAO,CAAC,kBAAkB;IAoD1B,OAAO,CAAC,mBAAmB;IAqB3B,OAAO,CAAC,4BAA4B;IA0BpC,OAAO,CAAC,kCAAkC;CAiB1C"}
|
package/dist/mcp/McpServer.js
CHANGED
|
@@ -1095,13 +1095,12 @@ class ComponentExplorerMcpServer extends Disposable {
|
|
|
1095
1095
|
}
|
|
1096
1096
|
_registerGetUrl() {
|
|
1097
1097
|
this._mcp.registerTool('get_url', {
|
|
1098
|
-
description: 'Get URL
|
|
1099
|
-
'
|
|
1098
|
+
description: 'Get URL for viewing fixtures. Returns the full Component Explorer UI by default. ' +
|
|
1099
|
+
'Use `embedded: true` for a minimal single-fixture view (requires fixtureId).',
|
|
1100
1100
|
inputSchema: {
|
|
1101
1101
|
sessionName: z.string().optional().describe('Session name (defaults to first session)'),
|
|
1102
|
-
fixtureId: z.string().optional().describe('Specific fixture ID.
|
|
1103
|
-
|
|
1104
|
-
'The raw URL renders only the fixture without the explorer chrome. Default: false.'),
|
|
1102
|
+
fixtureId: z.string().optional().describe('Specific fixture ID to view. In explorer mode, pre-selects this fixture. In embedded mode (required), shows only this fixture.'),
|
|
1103
|
+
embedded: z.boolean().optional().describe('If true, returns an embedded single-fixture URL (minimal UI, requires fixtureId). Default: false (full explorer UI).'),
|
|
1105
1104
|
},
|
|
1106
1105
|
annotations: { readOnlyHint: true },
|
|
1107
1106
|
}, async (args) => {
|
|
@@ -1143,10 +1142,20 @@ class ComponentExplorerMcpServer extends Disposable {
|
|
|
1143
1142
|
isError: true,
|
|
1144
1143
|
};
|
|
1145
1144
|
}
|
|
1146
|
-
|
|
1145
|
+
// Validate embedded mode requires fixtureId
|
|
1146
|
+
if (args.embedded && !args.fixtureId) {
|
|
1147
|
+
return {
|
|
1148
|
+
content: [{
|
|
1149
|
+
type: 'text',
|
|
1150
|
+
text: 'Error: embedded mode requires a fixtureId.',
|
|
1151
|
+
}],
|
|
1152
|
+
isError: true,
|
|
1153
|
+
};
|
|
1154
|
+
}
|
|
1155
|
+
const mode = args.embedded ? 'embedded' : undefined;
|
|
1147
1156
|
const url = buildExplorerUrl({
|
|
1148
1157
|
baseUrl,
|
|
1149
|
-
|
|
1158
|
+
mode,
|
|
1150
1159
|
fixtureId: args.fixtureId,
|
|
1151
1160
|
});
|
|
1152
1161
|
const result = {
|
|
@@ -1156,15 +1165,7 @@ class ComponentExplorerMcpServer extends Disposable {
|
|
|
1156
1165
|
if (args.fixtureId) {
|
|
1157
1166
|
result.fixtureId = args.fixtureId;
|
|
1158
1167
|
}
|
|
1159
|
-
|
|
1160
|
-
result.mode = 'raw-render';
|
|
1161
|
-
}
|
|
1162
|
-
else {
|
|
1163
|
-
result.mode = 'explorer';
|
|
1164
|
-
if (args.fixtureId) {
|
|
1165
|
-
result.note = 'Fixture selection in the Explorer UI is not URL-based. Navigate to the fixture manually in the tree view.';
|
|
1166
|
-
}
|
|
1167
|
-
}
|
|
1168
|
+
result.mode = args.embedded ? 'embedded' : 'explorer';
|
|
1168
1169
|
return {
|
|
1169
1170
|
content: [{ type: 'text', text: JSON.stringify(result, null, 2) }],
|
|
1170
1171
|
};
|