@vscode/component-explorer-cli 0.2.1-4 → 0.2.1-41

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (198) hide show
  1. package/README.md +14 -6
  2. package/dist/WorktreePool.d.ts +5 -4
  3. package/dist/WorktreePool.d.ts.map +1 -1
  4. package/dist/WorktreePool.js +3 -3
  5. package/dist/WorktreePool.js.map +1 -1
  6. package/dist/_virtual/_build-info.js +1 -1
  7. package/dist/browserPage.d.ts +51 -1
  8. package/dist/browserPage.d.ts.map +1 -1
  9. package/dist/browserPage.js +107 -1
  10. package/dist/browserPage.js.map +1 -1
  11. package/dist/commands/acceptCommand.d.ts +2 -1
  12. package/dist/commands/acceptCommand.d.ts.map +1 -1
  13. package/dist/commands/acceptCommand.js +18 -10
  14. package/dist/commands/acceptCommand.js.map +1 -1
  15. package/dist/commands/checkStabilityCommand.d.ts +3 -0
  16. package/dist/commands/checkStabilityCommand.d.ts.map +1 -1
  17. package/dist/commands/checkStabilityCommand.js +22 -4
  18. package/dist/commands/checkStabilityCommand.js.map +1 -1
  19. package/dist/commands/compareCommand.d.ts +2 -1
  20. package/dist/commands/compareCommand.d.ts.map +1 -1
  21. package/dist/commands/compareCommand.js +27 -17
  22. package/dist/commands/compareCommand.js.map +1 -1
  23. package/dist/commands/inputArg.d.ts +33 -0
  24. package/dist/commands/inputArg.d.ts.map +1 -0
  25. package/dist/commands/inputArg.js +103 -0
  26. package/dist/commands/inputArg.js.map +1 -0
  27. package/dist/commands/mcpCommand.d.ts +3 -0
  28. package/dist/commands/mcpCommand.d.ts.map +1 -1
  29. package/dist/commands/mcpCommand.js +178 -45
  30. package/dist/commands/mcpCommand.js.map +1 -1
  31. package/dist/commands/renderCommand.d.ts +10 -1
  32. package/dist/commands/renderCommand.d.ts.map +1 -1
  33. package/dist/commands/renderCommand.js +311 -23
  34. package/dist/commands/renderCommand.js.map +1 -1
  35. package/dist/commands/serveCommand.d.ts +2 -0
  36. package/dist/commands/serveCommand.d.ts.map +1 -1
  37. package/dist/commands/serveCommand.js +73 -41
  38. package/dist/commands/serveCommand.js.map +1 -1
  39. package/dist/commands/serviceDiffCommitsCommand.d.ts +16 -0
  40. package/dist/commands/serviceDiffCommitsCommand.d.ts.map +1 -0
  41. package/dist/commands/serviceDiffCommitsCommand.js +230 -0
  42. package/dist/commands/serviceDiffCommitsCommand.js.map +1 -0
  43. package/dist/commands/watchCommand.d.ts +2 -0
  44. package/dist/commands/watchCommand.d.ts.map +1 -1
  45. package/dist/commands/watchCommand.js +28 -16
  46. package/dist/commands/watchCommand.js.map +1 -1
  47. package/dist/comparison.d.ts +4 -3
  48. package/dist/comparison.d.ts.map +1 -1
  49. package/dist/comparison.js +10 -10
  50. package/dist/comparison.js.map +1 -1
  51. package/dist/component-explorer-config.schema.json +55 -2
  52. package/dist/componentExplorer.d.ts +109 -11
  53. package/dist/componentExplorer.d.ts.map +1 -1
  54. package/dist/componentExplorer.js +235 -58
  55. package/dist/componentExplorer.js.map +1 -1
  56. package/dist/config.d.ts +33 -4
  57. package/dist/config.d.ts.map +1 -1
  58. package/dist/config.js +64 -27
  59. package/dist/config.js.map +1 -1
  60. package/dist/coverage.d.ts +64 -0
  61. package/dist/coverage.d.ts.map +1 -0
  62. package/dist/coverage.js +212 -0
  63. package/dist/coverage.js.map +1 -0
  64. package/dist/daemon/DaemonService.d.ts +14 -5
  65. package/dist/daemon/DaemonService.d.ts.map +1 -1
  66. package/dist/daemon/DaemonService.js +42 -18
  67. package/dist/daemon/DaemonService.js.map +1 -1
  68. package/dist/daemon/approvalStore.d.ts +2 -1
  69. package/dist/daemon/approvalStore.d.ts.map +1 -1
  70. package/dist/daemon/approvalStore.js +4 -3
  71. package/dist/daemon/approvalStore.js.map +1 -1
  72. package/dist/daemon/client.d.ts +5 -0
  73. package/dist/daemon/client.d.ts.map +1 -0
  74. package/dist/daemon/client.js +7 -0
  75. package/dist/daemon/client.js.map +1 -0
  76. package/dist/daemon/inProcessClient.d.ts +11 -0
  77. package/dist/daemon/inProcessClient.d.ts.map +1 -0
  78. package/dist/daemon/inProcessClient.js +35 -0
  79. package/dist/daemon/inProcessClient.js.map +1 -0
  80. package/dist/daemon/lifecycle.d.ts +8 -1
  81. package/dist/daemon/lifecycle.d.ts.map +1 -1
  82. package/dist/daemon/lifecycle.js +13 -3
  83. package/dist/daemon/lifecycle.js.map +1 -1
  84. package/dist/daemon/pipeClient.d.ts +2 -0
  85. package/dist/daemon/pipeClient.d.ts.map +1 -1
  86. package/dist/daemon/pipeClient.js +22 -3
  87. package/dist/daemon/pipeClient.js.map +1 -1
  88. package/dist/daemon/pipeName.d.ts +7 -1
  89. package/dist/daemon/pipeName.d.ts.map +1 -1
  90. package/dist/daemon/pipeName.js +8 -4
  91. package/dist/daemon/pipeName.js.map +1 -1
  92. package/dist/daemon/pipeServer.d.ts.map +1 -1
  93. package/dist/daemon/pipeServer.js +9 -3
  94. package/dist/daemon/pipeServer.js.map +1 -1
  95. package/dist/daemon/version.d.ts +1 -1
  96. package/dist/daemon/version.js +1 -1
  97. package/dist/dependencyInstaller.d.ts +2 -1
  98. package/dist/dependencyInstaller.d.ts.map +1 -1
  99. package/dist/dependencyInstaller.js +4 -4
  100. package/dist/dependencyInstaller.js.map +1 -1
  101. package/dist/evaluateFn.d.ts +21 -0
  102. package/dist/evaluateFn.d.ts.map +1 -0
  103. package/dist/evaluateFn.js +17 -0
  104. package/dist/evaluateFn.js.map +1 -0
  105. package/dist/git/gitCommitResolver.d.ts +2 -1
  106. package/dist/git/gitCommitResolver.d.ts.map +1 -1
  107. package/dist/git/gitCommitResolver.js +2 -2
  108. package/dist/git/gitCommitResolver.js.map +1 -1
  109. package/dist/git/gitIndexResolver.d.ts +2 -1
  110. package/dist/git/gitIndexResolver.d.ts.map +1 -1
  111. package/dist/git/gitIndexResolver.js +1 -1
  112. package/dist/git/gitIndexResolver.js.map +1 -1
  113. package/dist/git/gitService.d.ts +5 -4
  114. package/dist/git/gitService.d.ts.map +1 -1
  115. package/dist/git/gitService.js.map +1 -1
  116. package/dist/git/gitUtils.d.ts +6 -4
  117. package/dist/git/gitUtils.d.ts.map +1 -1
  118. package/dist/git/gitUtils.js +10 -5
  119. package/dist/git/gitUtils.js.map +1 -1
  120. package/dist/git/gitWorktreeManager.d.ts +15 -14
  121. package/dist/git/gitWorktreeManager.d.ts.map +1 -1
  122. package/dist/git/gitWorktreeManager.js +10 -11
  123. package/dist/git/gitWorktreeManager.js.map +1 -1
  124. package/dist/git/testUtils.d.ts +2 -1
  125. package/dist/git/testUtils.d.ts.map +1 -1
  126. package/dist/index.js +19 -1
  127. package/dist/index.js.map +1 -1
  128. package/dist/logger.d.ts +12 -1
  129. package/dist/logger.d.ts.map +1 -1
  130. package/dist/logger.js +35 -2
  131. package/dist/logger.js.map +1 -1
  132. package/dist/manifest.schema.json +38 -16
  133. package/dist/mcp/DaemonAccessor.d.ts +22 -0
  134. package/dist/mcp/DaemonAccessor.d.ts.map +1 -0
  135. package/dist/mcp/McpServer.d.ts +5 -19
  136. package/dist/mcp/McpServer.d.ts.map +1 -1
  137. package/dist/mcp/McpServer.js +384 -297
  138. package/dist/mcp/McpServer.js.map +1 -1
  139. package/dist/packages/common/dist/explorerUrl.js +21 -0
  140. package/dist/packages/common/dist/explorerUrl.js.map +1 -0
  141. package/dist/packages/common/dist/renderManifest.js +26 -5
  142. package/dist/packages/common/dist/renderManifest.js.map +1 -1
  143. package/dist/packages/simple-api/dist/{chunk-3R7GHWBM.js → chunk-FJ7AVNQE.js} +2 -1
  144. package/dist/packages/simple-api/dist/chunk-FJ7AVNQE.js.map +1 -0
  145. package/dist/packages/simple-api/dist/{chunk-SGBCNXYH.js → chunk-TTRCY65Z.js} +4 -1
  146. package/dist/packages/simple-api/dist/chunk-TTRCY65Z.js.map +1 -0
  147. package/dist/packages/simple-api/dist/{chunk-TAEFVNPN.js → chunk-WNXMRXWV.js} +2 -1
  148. package/dist/packages/simple-api/dist/chunk-WNXMRXWV.js.map +1 -0
  149. package/dist/packages/simple-api/dist/express.js +1 -1
  150. package/dist/packages/simple-api/dist/express.js.map +1 -1
  151. package/dist/path.d.ts +30 -0
  152. package/dist/path.d.ts.map +1 -0
  153. package/dist/path.js +78 -0
  154. package/dist/path.js.map +1 -0
  155. package/dist/processTree.d.ts +9 -0
  156. package/dist/processTree.d.ts.map +1 -0
  157. package/dist/processTree.js +41 -0
  158. package/dist/processTree.js.map +1 -0
  159. package/dist/screenshotServiceClient.d.ts +31 -0
  160. package/dist/screenshotServiceClient.d.ts.map +1 -0
  161. package/dist/screenshotServiceClient.js +38 -0
  162. package/dist/screenshotServiceClient.js.map +1 -0
  163. package/dist/server/httpServer.d.ts +1 -1
  164. package/dist/server/httpServer.d.ts.map +1 -1
  165. package/dist/server/httpServer.js +22 -20
  166. package/dist/server/httpServer.js.map +1 -1
  167. package/dist/server/serverConfig.d.ts +23 -6
  168. package/dist/server/serverConfig.d.ts.map +1 -1
  169. package/dist/server/serverConfig.js +11 -18
  170. package/dist/server/serverConfig.js.map +1 -1
  171. package/dist/server/viteServer.d.ts +16 -1
  172. package/dist/server/viteServer.d.ts.map +1 -1
  173. package/dist/server/viteServer.js +91 -10
  174. package/dist/server/viteServer.js.map +1 -1
  175. package/dist/storage.d.ts +2 -1
  176. package/dist/storage.d.ts.map +1 -1
  177. package/dist/storage.js +1 -1
  178. package/dist/storage.js.map +1 -1
  179. package/dist/utils.d.ts +3 -25
  180. package/dist/utils.d.ts.map +1 -1
  181. package/dist/utils.js +4 -23
  182. package/dist/utils.js.map +1 -1
  183. package/dist/visualCache.d.ts +2 -1
  184. package/dist/visualCache.d.ts.map +1 -1
  185. package/dist/visualCache.js +4 -3
  186. package/dist/visualCache.js.map +1 -1
  187. package/dist/viteProjectRef.d.ts +4 -12
  188. package/dist/viteProjectRef.d.ts.map +1 -1
  189. package/dist/viteProjectRef.js +9 -17
  190. package/dist/viteProjectRef.js.map +1 -1
  191. package/package.json +23 -19
  192. package/dist/commands/artifactCommand.d.ts +0 -13
  193. package/dist/commands/artifactCommand.d.ts.map +0 -1
  194. package/dist/commands/screenshotCommand.d.ts +0 -18
  195. package/dist/commands/screenshotCommand.d.ts.map +0 -1
  196. package/dist/packages/simple-api/dist/chunk-3R7GHWBM.js.map +0 -1
  197. package/dist/packages/simple-api/dist/chunk-SGBCNXYH.js.map +0 -1
  198. package/dist/packages/simple-api/dist/chunk-TAEFVNPN.js.map +0 -1
@@ -1,6 +1,6 @@
1
- import * as path from 'node:path';
2
1
  import { GitCommitId } from './gitCommitId.js';
3
2
  import { execGit } from './gitUtils.js';
3
+ import { AbsolutePath } from '../path.js';
4
4
 
5
5
  class DirtyWorktreeError extends Error {
6
6
  worktreePath;
@@ -19,7 +19,7 @@ class DefaultGitWorktreeManager {
19
19
  this._gitRoot = _gitRoot;
20
20
  }
21
21
  async create(worktreePath, commit) {
22
- await execGit(this._gitRoot, ['worktree', 'add', worktreePath, commit.hash, '--detach']);
22
+ await execGit(this._gitRoot, ['worktree', 'add', worktreePath.value, commit.hash, '--detach']);
23
23
  const result = await this.info(worktreePath);
24
24
  if (!result) {
25
25
  throw new Error(`Worktree was not created at: ${worktreePath}`);
@@ -34,7 +34,7 @@ class DefaultGitWorktreeManager {
34
34
  if (current.isDirty) {
35
35
  throw new DirtyWorktreeError(worktreePath, current.dirtyFiles, 'remove');
36
36
  }
37
- await execGit(this._gitRoot, ['worktree', 'remove', worktreePath]);
37
+ await execGit(this._gitRoot, ['worktree', 'remove', worktreePath.value]);
38
38
  }
39
39
  async checkout(worktreePath, commit) {
40
40
  const current = await this.info(worktreePath);
@@ -53,7 +53,7 @@ class DefaultGitWorktreeManager {
53
53
  async info(worktreePath) {
54
54
  try {
55
55
  const head = (await execGit(worktreePath, ['rev-parse', 'HEAD'])).trim();
56
- const dirtyFiles = parsePorcelainStatus(worktreePath, await execGit(worktreePath, ['status', '--porcelain']));
56
+ const dirtyFiles = parsePorcelainStatus(await execGit(worktreePath, ['status', '--porcelain']));
57
57
  return {
58
58
  path: worktreePath,
59
59
  checkedOutCommit: new GitCommitId(head),
@@ -81,19 +81,18 @@ class DefaultGitWorktreeManager {
81
81
  head = line.slice('HEAD '.length);
82
82
  }
83
83
  }
84
- if (entryPath && head && entryPath.startsWith(worktreeRoot)) {
85
- // Check dirty status via git status
84
+ if (entryPath && head && entryPath.startsWith(worktreeRoot.value)) {
85
+ const absEntryPath = AbsolutePath.from(entryPath);
86
86
  try {
87
- const dirtyFiles = parsePorcelainStatus(entryPath, await execGit(entryPath, ['status', '--porcelain']));
87
+ const dirtyFiles = parsePorcelainStatus(await execGit(absEntryPath, ['status', '--porcelain']));
88
88
  entries.push({
89
- path: entryPath,
89
+ path: absEntryPath,
90
90
  checkedOutCommit: new GitCommitId(head),
91
91
  isDirty: dirtyFiles.length > 0,
92
92
  dirtyFiles,
93
93
  });
94
94
  }
95
95
  catch {
96
- // If we can't check, skip this entry
97
96
  continue;
98
97
  }
99
98
  }
@@ -101,7 +100,7 @@ class DefaultGitWorktreeManager {
101
100
  return entries;
102
101
  }
103
102
  }
104
- function parsePorcelainStatus(worktreePath, output) {
103
+ function parsePorcelainStatus(output) {
105
104
  // git status --porcelain format: "XY filename" where X=index status, Y=worktree status, then a space.
106
105
  const results = [];
107
106
  for (const raw of output.split('\n')) {
@@ -114,7 +113,7 @@ function parsePorcelainStatus(worktreePath, output) {
114
113
  if (!match) {
115
114
  throw new Error(`Unexpected git status --porcelain line: ${JSON.stringify(line)}`);
116
115
  }
117
- results.push(path.resolve(worktreePath, match[3]));
116
+ results.push(match[3]);
118
117
  }
119
118
  return results;
120
119
  }
@@ -1 +1 @@
1
- {"version":3,"file":"gitWorktreeManager.js","sources":["../../src/git/gitWorktreeManager.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gitWorktreeManager.js","sources":["../../src/git/gitWorktreeManager.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import { GitCommitId } from './gitCommitId.js';
2
+ import { AbsolutePath } from '../path.js';
2
3
  export declare class TempGitRepo {
3
- readonly root: string;
4
+ readonly root: AbsolutePath;
4
5
  private constructor();
5
6
  static create(): Promise<TempGitRepo>;
6
7
  writeFile(relativePath: string, content: string): Promise<string>;
@@ -1 +1 @@
1
- {"version":3,"file":"testUtils.d.ts","sourceRoot":"","sources":["../../src/git/testUtils.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,qBAAa,WAAW;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM;IAAzC,OAAO;WAEM,MAAM,IAAI,OAAO,CAAC,WAAW,CAAC;IAQrC,SAAS,CAAC,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAOjE,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAI/C,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAOnD,SAAS,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI9C,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAK7C,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAO9B"}
1
+ {"version":3,"file":"testUtils.d.ts","sourceRoot":"","sources":["../../src/git/testUtils.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE1C,qBAAa,WAAW;IACH,QAAQ,CAAC,IAAI,EAAE,YAAY;IAA/C,OAAO;WAEM,MAAM,IAAI,OAAO,CAAC,WAAW,CAAC;IAQrC,SAAS,CAAC,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAOjE,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAI/C,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAOnD,SAAS,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI9C,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAK7C,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAM9B"}
package/dist/index.js CHANGED
@@ -8,8 +8,17 @@ 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';
12
+ import { preprocessInputArgs } from './commands/inputArg.js';
11
13
 
12
14
  globalThis._buildInfo = __buildInfo;
15
+ // Global error handlers to ensure errors are logged before process exits
16
+ const _logFatalError = (type, err) => {
17
+ const msg = err instanceof Error ? err.stack ?? err.message : String(err);
18
+ process.stderr.write(`[FATAL] ${type}: ${msg}\n`);
19
+ };
20
+ process.on('uncaughtException', (err) => { _logFatalError('uncaughtException', err); process.exit(1); });
21
+ process.on('unhandledRejection', (err) => { _logFatalError('unhandledRejection', err); process.exit(1); });
13
22
  const buildInfo = globalThis._buildInfo;
14
23
  const cli = new Cli({
15
24
  binaryLabel: 'component-explorer',
@@ -23,10 +32,19 @@ cli.register(WatchCommand);
23
32
  cli.register(ServeCommand);
24
33
  cli.register(McpCommand);
25
34
  cli.register(CheckStabilityCommand);
35
+ cli.register(ServiceDiffCommitsCommand);
26
36
  cli.register(Builtins.HelpCommand);
27
37
  cli.register(Builtins.DefinitionsCommand);
28
38
  cli.register(Builtins.TokensCommand);
29
39
  cli.register(Builtins.VersionCommand);
30
- const [, , ...args] = process.argv;
40
+ const [, , ...rawArgs] = process.argv;
41
+ let args;
42
+ try {
43
+ args = preprocessInputArgs(rawArgs);
44
+ }
45
+ catch (e) {
46
+ process.stderr.write(`Error: ${e instanceof Error ? e.message : String(e)}\n`);
47
+ process.exit(1);
48
+ }
31
49
  await cli.runExit(args);
32
50
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../src/index.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;;;;;;AAWA,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;AAEnC,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"}
1
+ {"version":3,"file":"index.js","sources":["../src/index.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;;;;;;;;AAaA;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,KAAK,GAAG,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI;AACrC,IAAI,IAAc;AAClB,IAAI;AACH,IAAA,IAAI,GAAG,mBAAmB,CAAC,OAAO,CAAC;AACpC;AAAE,OAAO,CAAC,EAAE;IACX,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,YAAY,KAAK,GAAG,CAAC,CAAC,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,CAAA,EAAA,CAAI,CAAC;AAC9E,IAAA,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;AAChB;AACA,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
- constructor(_prefix: string, _stream: NodeJS.WritableStream, _level?: LogLevel);
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
@@ -1 +1 @@
1
- {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"AAAA,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,qBAAa,aAAc,YAAW,OAAO;IAE3C,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAFN,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,CAAC,cAAc,EAC9B,MAAM,GAAE,QAAwB;IAGlD,GAAG,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAE1B,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAM3B,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAM5B,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;CAK5B;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"}
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
- constructor(_prefix, _stream, _level = LogLevel.info) {
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
@@ -1 +1 @@
1
- {"version":3,"file":"logger.js","sources":["../src/logger.ts"],"sourcesContent":[null],"names":[],"mappings":"IAAY;AAAZ,CAAA,UAAY,QAAQ,EAAA;AACnB,IAAA,QAAA,CAAA,QAAA,CAAA,QAAA,CAAA,GAAA,CAAA,CAAA,GAAA,QAAU;AACV,IAAA,QAAA,CAAA,QAAA,CAAA,MAAA,CAAA,GAAA,CAAA,CAAA,GAAA,MAAQ;AACR,IAAA,QAAA,CAAA,QAAA,CAAA,OAAA,CAAA,GAAA,CAAA,CAAA,GAAA,OAAS;AACT,IAAA,QAAA,CAAA,QAAA,CAAA,OAAA,CAAA,GAAA,CAAA,CAAA,GAAA,OAAS;AACV,CAAC,EALW,QAAQ,KAAR,QAAQ,GAAA,EAAA,CAAA,CAAA;MAeP,aAAa,CAAA;AAEP,IAAA,OAAA;AACA,IAAA,OAAA;AACA,IAAA,MAAA;AAHlB,IAAA,WAAA,CACkB,OAAe,EACf,OAA8B,EAC9B,MAAA,GAAmB,QAAQ,CAAC,IAAI,EAAA;QAFhC,IAAA,CAAA,OAAO,GAAP,OAAO;QACP,IAAA,CAAA,OAAO,GAAP,OAAO;QACP,IAAA,CAAA,MAAM,GAAN,MAAM;IACrB;IAEH,GAAG,CAAC,OAAe,EAAA,EAAU,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;AAEjD,IAAA,IAAI,CAAC,OAAe,EAAA;QACnB,IAAI,IAAI,CAAC,MAAM,IAAI,QAAQ,CAAC,IAAI,EAAE;AACjC,YAAA,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA,CAAA,EAAI,IAAI,CAAC,OAAO,CAAA,EAAA,EAAK,OAAO,CAAA,EAAA,CAAI,CAAC;QACrD;IACD;AAEA,IAAA,KAAK,CAAC,OAAe,EAAA;QACpB,IAAI,IAAI,CAAC,MAAM,IAAI,QAAQ,CAAC,KAAK,EAAE;AAClC,YAAA,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA,CAAA,EAAI,IAAI,CAAC,OAAO,CAAA,EAAA,EAAK,OAAO,CAAA,EAAA,CAAI,CAAC;QACrD;IACD;AAEA,IAAA,KAAK,CAAC,OAAe,EAAA;QACpB,IAAI,IAAI,CAAC,MAAM,IAAI,QAAQ,CAAC,KAAK,EAAE;AAClC,YAAA,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA,CAAA,EAAI,IAAI,CAAC,OAAO,CAAA,EAAA,EAAK,OAAO,CAAA,EAAA,CAAI,CAAC;QACrD;IACD;AACA;AAEM,MAAM,UAAU,GAAY;AAClC,IAAA,GAAG,EAAE,MAAK,EAAE,CAAC;AACb,IAAA,IAAI,EAAE,MAAK,EAAE,CAAC;AACd,IAAA,KAAK,EAAE,MAAK,EAAE,CAAC;AACf,IAAA,KAAK,EAAE,MAAK,EAAE,CAAC;;AAGhB;AACM,SAAU,mBAAmB,CAAC,SAAiB,EAAA;IACpD,IAAI,SAAS,IAAI,CAAC;QAAE,OAAO,QAAQ,CAAC,IAAI;IACxC,IAAI,SAAS,KAAK,CAAC;QAAE,OAAO,QAAQ,CAAC,KAAK;IAC1C,OAAO,QAAQ,CAAC,KAAK;AACtB;AAEM,SAAU,YAAY,CAAC,MAAe,EAAA;AAC3C,IAAA,MAAM,IAAI,GAAG,UAAU,CAAC,UAAU;IAClC,IAAI,IAAI,EAAE;AACT,QAAA,MAAM,CAAC,KAAK,CAAC,CAAA,CAAA,EAAI,IAAI,CAAC,OAAO,CAAA,QAAA,EAAW,IAAI,CAAC,IAAI,CAAA,CAAA,CAAG,CAAC;IACtD;AACD;;;;"}
1
+ {"version":3,"file":"logger.js","sources":["../src/logger.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -66,6 +66,16 @@
66
66
  ],
67
67
  "additionalProperties": false
68
68
  },
69
+ "coverage": {
70
+ "type": "object",
71
+ "properties": {
72
+ "coverageDataIstanbul": {
73
+ "type": "string"
74
+ }
75
+ },
76
+ "additionalProperties": false,
77
+ "description": "References to coverage report files emitted alongside the manifest"
78
+ },
69
79
  "fixtures": {
70
80
  "type": "array",
71
81
  "items": {
@@ -102,21 +112,6 @@
102
112
  "hasError": {
103
113
  "type": "boolean"
104
114
  },
105
- "error": {
106
- "type": "object",
107
- "properties": {
108
- "message": {
109
- "type": "string"
110
- },
111
- "stack": {
112
- "type": "string"
113
- }
114
- },
115
- "required": [
116
- "message"
117
- ],
118
- "additionalProperties": false
119
- },
120
115
  "events": {
121
116
  "type": "array",
122
117
  "items": {
@@ -129,15 +124,31 @@
129
124
  "console.warn",
130
125
  "console.log",
131
126
  "window.error",
132
- "window.unhandledrejection"
127
+ "window.unhandledrejection",
128
+ "thrownError"
129
+ ]
130
+ },
131
+ "phase": {
132
+ "type": "string",
133
+ "enum": [
134
+ "render",
135
+ "dispose"
133
136
  ]
134
137
  },
138
+ "isError": {
139
+ "type": "boolean"
140
+ },
135
141
  "message": {
136
142
  "type": "string"
143
+ },
144
+ "stack": {
145
+ "type": "string"
137
146
  }
138
147
  },
139
148
  "required": [
140
149
  "type",
150
+ "phase",
151
+ "isError",
141
152
  "message"
142
153
  ],
143
154
  "additionalProperties": false
@@ -158,6 +169,17 @@
158
169
  "total"
159
170
  ],
160
171
  "additionalProperties": false
172
+ },
173
+ "output": {},
174
+ "coverage": {
175
+ "type": "object",
176
+ "properties": {
177
+ "coverageDataIstanbul": {
178
+ "type": "string"
179
+ }
180
+ },
181
+ "additionalProperties": false,
182
+ "description": "References to coverage report files emitted alongside the manifest"
161
183
  }
162
184
  },
163
185
  "required": [
@@ -0,0 +1,22 @@
1
+ import type { ProxyApiClient } from '@hediet/simple-api/client';
2
+ import { type IObservable } from '@vscode/observables';
3
+ import type { DaemonApiType } from '../daemon/DaemonService.js';
4
+ export type DaemonClient = ProxyApiClient<DaemonApiType>;
5
+ /**
6
+ * Provides daemon connections to the MCP server.
7
+ *
8
+ * Implementations own the full lifecycle: lazy startup, reconnection,
9
+ * polling, staleness tracking. The MCP server only consumes this interface.
10
+ */
11
+ export interface DaemonAccessor {
12
+ /** Current daemon client, or `undefined` if not connected. */
13
+ readonly connection: IObservable<DaemonClient | undefined>;
14
+ /**
15
+ * Request that a daemon be available. May lazily start or connect.
16
+ * Returns `undefined` if no daemon could be obtained.
17
+ */
18
+ getDaemonOrStart(): Promise<DaemonClient | undefined>;
19
+ /** Optional hint shown in error messages when no daemon is available. */
20
+ readonly noDaemonHint?: string;
21
+ }
22
+ //# sourceMappingURL=DaemonAccessor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DaemonAccessor.d.ts","sourceRoot":"","sources":["../../src/mcp/DaemonAccessor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAEhE,MAAM,MAAM,YAAY,GAAG,cAAc,CAAC,aAAa,CAAC,CAAC;AAEzD;;;;;GAKG;AACH,MAAM,WAAW,cAAc;IAC9B,8DAA8D;IAC9D,QAAQ,CAAC,UAAU,EAAE,WAAW,CAAC,YAAY,GAAG,SAAS,CAAC,CAAC;IAE3D;;;OAGG;IACH,gBAAgB,IAAI,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC,CAAC;IAEtD,yEAAyE;IACzE,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;CAC/B"}
@@ -1,36 +1,21 @@
1
- import type { ProxyApiClient } from '@hediet/simple-api/client';
2
- import { Disposable, type IObservable } from '@vscode/observables';
3
- import type { DaemonApiType } from '../daemon/DaemonService.js';
4
- export declare class DaemonConnection {
5
- readonly client: ProxyApiClient<DaemonApiType>;
6
- private _stale;
7
- constructor(client: ProxyApiClient<DaemonApiType>);
8
- get isStale(): boolean;
9
- markStale(): void;
10
- }
1
+ import { Disposable } from '@vscode/observables';
2
+ import type { DaemonAccessor } from './DaemonAccessor.js';
11
3
  export interface McpServerOptions {
12
- pollFn?: () => Promise<void>;
13
- noAutostartHint?: string;
14
4
  callTimeoutMs?: number;
15
5
  }
16
6
  export declare class ComponentExplorerMcpServer extends Disposable {
17
- private readonly _daemonConnection;
18
- static create(daemon: IObservable<DaemonConnection | undefined>, options?: McpServerOptions): Promise<ComponentExplorerMcpServer>;
7
+ private readonly _daemon;
8
+ static create(daemon: DaemonAccessor, options?: McpServerOptions): Promise<ComponentExplorerMcpServer>;
19
9
  private readonly _mcp;
20
10
  private readonly _watchList;
21
11
  private readonly _imageLru;
22
12
  private readonly _taskManager;
23
13
  private readonly _taskLastReportedIndex;
24
- private readonly _pollFn?;
25
- private readonly _noAutostartHint?;
26
14
  private readonly _multiSessionTools;
27
15
  private _sessions;
28
16
  private _eventStreamAbortController;
29
17
  private constructor();
30
18
  private _onDaemonChanged;
31
- private _getConnection;
32
- private _waitForDaemon;
33
- private _handleDisconnect;
34
19
  private _noDaemonError;
35
20
  private static readonly _DEFAULT_CALL_TIMEOUT_MS;
36
21
  private readonly _callTimeoutMs;
@@ -67,6 +52,7 @@ export declare class ComponentExplorerMcpServer extends Disposable {
67
52
  private _registerCloseSession;
68
53
  private _registerUpdateSessionRef;
69
54
  private _registerGetUrl;
55
+ private _registerCheckFixtureErrors;
70
56
  private _registerCheckStability;
71
57
  private _registerCheckTask;
72
58
  private _registerCancelTask;
@@ -1 +1 @@
1
- {"version":3,"file":"McpServer.d.ts","sourceRoot":"","sources":["../../src/mcp/McpServer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"McpServer.d.ts","sourceRoot":"","sources":["../../src/mcp/McpServer.ts"],"names":[],"mappings":"AAGA,OAAO,EAAW,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAM1D,OAAO,KAAK,EAAE,cAAc,EAAgB,MAAM,qBAAqB,CAAC;AAGxE,MAAM,WAAW,gBAAgB;IAChC,aAAa,CAAC,EAAE,MAAM,CAAC;CACvB;AAMD,qBAAa,0BAA2B,SAAQ,UAAU;IAqBxD,OAAO,CAAC,QAAQ,CAAC,OAAO;WApBZ,MAAM,CAClB,MAAM,EAAE,cAAc,EACtB,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,kBAAkB,CAAwB;IAC3D,OAAO,CAAC,SAAS,CAAqB;IACtC,OAAO,CAAC,2BAA2B,CAA8B;IAEjE,OAAO;YAiBO,gBAAgB;IAqB9B,OAAO,CAAC,cAAc;IAItB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,wBAAwB,CAAU;IAC1D,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAS;YAE1B,WAAW;IA6BzB,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;IAQ9B,OAAO,CAAC,iCAAiC;YAW3B,oBAAoB;IAelC,OAAO,CAAC,eAAe;IA+BvB,OAAO,CAAC,cAAc;IA4BtB,OAAO,CAAC,qBAAqB;IAkC7B,OAAO,CAAC,mBAAmB;IAsJ3B,OAAO,CAAC,0BAA0B;IA8FlC,OAAO,CAAC,oBAAoB;IAsB5B,OAAO,CAAC,qBAAqB;IAyD7B,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;IAyEvB,OAAO,CAAC,2BAA2B;IAuJnC,OAAO,CAAC,uBAAuB;IA8G/B,OAAO,CAAC,kBAAkB;IAoD1B,OAAO,CAAC,mBAAmB;IAqB3B,OAAO,CAAC,4BAA4B;IA0BpC,OAAO,CAAC,kCAAkC;CAiB1C"}