@vscode/component-explorer-cli 0.1.1-1 → 0.1.1-10

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 (131) hide show
  1. package/README.md +177 -0
  2. package/dist/commands/acceptCommand.d.ts +2 -1
  3. package/dist/commands/acceptCommand.d.ts.map +1 -1
  4. package/dist/commands/acceptCommand.js +12 -6
  5. package/dist/commands/acceptCommand.js.map +1 -1
  6. package/dist/commands/compareCommand.d.ts +5 -1
  7. package/dist/commands/compareCommand.d.ts.map +1 -1
  8. package/dist/commands/compareCommand.js +43 -71
  9. package/dist/commands/compareCommand.js.map +1 -1
  10. package/dist/commands/mcpCommand.d.ts +10 -0
  11. package/dist/commands/mcpCommand.d.ts.map +1 -0
  12. package/dist/commands/mcpCommand.js +58 -0
  13. package/dist/commands/mcpCommand.js.map +1 -0
  14. package/dist/commands/screenshotCommand.d.ts +7 -2
  15. package/dist/commands/screenshotCommand.d.ts.map +1 -1
  16. package/dist/commands/screenshotCommand.js +61 -14
  17. package/dist/commands/screenshotCommand.js.map +1 -1
  18. package/dist/commands/serveCommand.d.ts +19 -0
  19. package/dist/commands/serveCommand.d.ts.map +1 -0
  20. package/dist/commands/serveCommand.js +194 -0
  21. package/dist/commands/serveCommand.js.map +1 -0
  22. package/dist/commands/watchCommand.d.ts +1 -2
  23. package/dist/commands/watchCommand.d.ts.map +1 -1
  24. package/dist/commands/watchCommand.js +23 -19
  25. package/dist/commands/watchCommand.js.map +1 -1
  26. package/dist/comparison.d.ts +60 -0
  27. package/dist/comparison.d.ts.map +1 -0
  28. package/dist/comparison.js +250 -0
  29. package/dist/comparison.js.map +1 -0
  30. package/dist/component-explorer-config.schema.json +183 -0
  31. package/dist/componentExplorer.d.ts +44 -2
  32. package/dist/componentExplorer.d.ts.map +1 -1
  33. package/dist/componentExplorer.js +98 -16
  34. package/dist/componentExplorer.js.map +1 -1
  35. package/dist/daemon/DaemonContext.d.ts +4 -0
  36. package/dist/daemon/DaemonContext.d.ts.map +1 -0
  37. package/dist/daemon/DaemonService.d.ts +188 -0
  38. package/dist/daemon/DaemonService.d.ts.map +1 -0
  39. package/dist/daemon/DaemonService.js +610 -0
  40. package/dist/daemon/DaemonService.js.map +1 -0
  41. package/dist/daemon/approvalStore.d.ts +51 -0
  42. package/dist/daemon/approvalStore.d.ts.map +1 -0
  43. package/dist/daemon/approvalStore.js +58 -0
  44. package/dist/daemon/approvalStore.js.map +1 -0
  45. package/dist/daemon/lifecycle.d.ts +13 -0
  46. package/dist/daemon/lifecycle.d.ts.map +1 -0
  47. package/dist/daemon/lifecycle.js +68 -0
  48. package/dist/daemon/lifecycle.js.map +1 -0
  49. package/dist/daemon/pipeClient.d.ts +9 -0
  50. package/dist/daemon/pipeClient.d.ts.map +1 -0
  51. package/dist/daemon/pipeClient.js +111 -0
  52. package/dist/daemon/pipeClient.js.map +1 -0
  53. package/dist/daemon/pipeName.d.ts +2 -0
  54. package/dist/daemon/pipeName.d.ts.map +1 -0
  55. package/dist/daemon/pipeName.js +14 -0
  56. package/dist/daemon/pipeName.js.map +1 -0
  57. package/dist/daemon/pipeServer.d.ts +4 -0
  58. package/dist/daemon/pipeServer.d.ts.map +1 -0
  59. package/dist/daemon/pipeServer.js +25 -0
  60. package/dist/daemon/pipeServer.js.map +1 -0
  61. package/dist/daemon/types.d.ts +12 -0
  62. package/dist/daemon/types.d.ts.map +1 -0
  63. package/dist/dependencyInstaller.js +1 -1
  64. package/dist/dependencyInstaller.js.map +1 -1
  65. package/dist/explorerSession.d.ts +5 -3
  66. package/dist/explorerSession.d.ts.map +1 -1
  67. package/dist/explorerSession.js +6 -3
  68. package/dist/explorerSession.js.map +1 -1
  69. package/dist/external/vscode-observables/observables/dist/disposables.js +24 -1
  70. package/dist/external/vscode-observables/observables/dist/disposables.js.map +1 -1
  71. package/dist/external/vscode-observables/observables/dist/observableInternal/commonFacade/deps.js +1 -4
  72. package/dist/external/vscode-observables/observables/dist/observableInternal/commonFacade/deps.js.map +1 -1
  73. package/dist/external/vscode-observables/observables/dist/observableInternal/debugLocation.js +3 -0
  74. package/dist/external/vscode-observables/observables/dist/observableInternal/debugLocation.js.map +1 -1
  75. package/dist/external/vscode-observables/observables/dist/observableInternal/index.js +2 -5
  76. package/dist/external/vscode-observables/observables/dist/observableInternal/index.js.map +1 -1
  77. package/dist/external/vscode-observables/observables/dist/observableInternal/logging/consoleObservableLogger.js +30 -6
  78. package/dist/external/vscode-observables/observables/dist/observableInternal/logging/consoleObservableLogger.js.map +1 -1
  79. package/dist/external/vscode-observables/observables/dist/observableInternal/observables/baseObservable.js +1 -1
  80. package/dist/external/vscode-observables/observables/dist/observableInternal/observables/baseObservable.js.map +1 -1
  81. package/dist/external/vscode-observables/observables/dist/observableInternal/observables/derived.js +12 -1
  82. package/dist/external/vscode-observables/observables/dist/observableInternal/observables/derived.js.map +1 -1
  83. package/dist/external/vscode-observables/observables/dist/observableInternal/utils/utilsCancellation.js +55 -0
  84. package/dist/external/vscode-observables/observables/dist/observableInternal/utils/utilsCancellation.js.map +1 -0
  85. package/dist/formatValue.d.ts +2 -0
  86. package/dist/formatValue.d.ts.map +1 -0
  87. package/dist/formatValue.js +96 -0
  88. package/dist/formatValue.js.map +1 -0
  89. package/dist/formatValue.test.d.ts +2 -0
  90. package/dist/formatValue.test.d.ts.map +1 -0
  91. package/dist/git/gitUtils.js +1 -1
  92. package/dist/git/gitUtils.js.map +1 -1
  93. package/dist/httpServer.d.ts +8 -7
  94. package/dist/httpServer.d.ts.map +1 -1
  95. package/dist/httpServer.js +59 -12
  96. package/dist/httpServer.js.map +1 -1
  97. package/dist/index.js +4 -0
  98. package/dist/index.js.map +1 -1
  99. package/dist/mcp/McpServer.d.ts +58 -0
  100. package/dist/mcp/McpServer.d.ts.map +1 -0
  101. package/dist/mcp/McpServer.js +820 -0
  102. package/dist/mcp/McpServer.js.map +1 -0
  103. package/dist/packages/simple-api/dist/chunk-3R7GHWBM.js +137 -0
  104. package/dist/packages/simple-api/dist/chunk-3R7GHWBM.js.map +1 -0
  105. package/dist/packages/simple-api/dist/chunk-Q24JOMNK.js +27 -0
  106. package/dist/packages/simple-api/dist/chunk-Q24JOMNK.js.map +1 -0
  107. package/dist/packages/simple-api/dist/chunk-SGBCNXYH.js +24 -0
  108. package/dist/packages/simple-api/dist/chunk-SGBCNXYH.js.map +1 -0
  109. package/dist/packages/simple-api/dist/express.js +104 -0
  110. package/dist/packages/simple-api/dist/express.js.map +1 -0
  111. package/dist/resolveProject.d.ts +21 -0
  112. package/dist/resolveProject.d.ts.map +1 -0
  113. package/dist/resolveProject.js +39 -0
  114. package/dist/resolveProject.js.map +1 -0
  115. package/dist/utils.d.ts +24 -0
  116. package/dist/utils.d.ts.map +1 -0
  117. package/dist/utils.js +50 -0
  118. package/dist/utils.js.map +1 -0
  119. package/dist/watchConfig.d.ts +41 -0
  120. package/dist/watchConfig.d.ts.map +1 -1
  121. package/dist/watchConfig.js +41 -19
  122. package/dist/watchConfig.js.map +1 -1
  123. package/package.json +16 -6
  124. package/dist/external/vscode-observables/observables/dist/observableInternal/logging/debugger/debuggerRpc.js +0 -72
  125. package/dist/external/vscode-observables/observables/dist/observableInternal/logging/debugger/debuggerRpc.js.map +0 -1
  126. package/dist/external/vscode-observables/observables/dist/observableInternal/logging/debugger/devToolsLogger.js +0 -447
  127. package/dist/external/vscode-observables/observables/dist/observableInternal/logging/debugger/devToolsLogger.js.map +0 -1
  128. package/dist/external/vscode-observables/observables/dist/observableInternal/logging/debugger/rpc.js +0 -64
  129. package/dist/external/vscode-observables/observables/dist/observableInternal/logging/debugger/rpc.js.map +0 -1
  130. package/dist/external/vscode-observables/observables/dist/observableInternal/logging/debugger/utils.js +0 -52
  131. package/dist/external/vscode-observables/observables/dist/observableInternal/logging/debugger/utils.js.map +0 -1
@@ -1,4 +1,5 @@
1
1
  import { nullLogger } from './logger.js';
2
+ import { buildExplorerUrl } from './utils.js';
2
3
 
3
4
  class BrowserComponentExplorer {
4
5
  _browserPageFactory;
@@ -6,6 +7,7 @@ class BrowserComponentExplorer {
6
7
  _logger;
7
8
  _page;
8
9
  _lastState;
10
+ _screenshotMutex = Promise.resolve();
9
11
  constructor(_browserPageFactory, _server, _logger = nullLogger) {
10
12
  this._browserPageFactory = _browserPageFactory;
11
13
  this._server = _server;
@@ -13,15 +15,15 @@ class BrowserComponentExplorer {
13
15
  }
14
16
  async _ensureReady() {
15
17
  if (!this._page) {
16
- const cliUrl = this._server.url + '/___explorer?mode=render';
17
- this._logger.log(`Opening browser page: ${cliUrl}`);
18
+ const cliUrl = buildExplorerUrl({ baseUrl: this._server.url, rawRender: true });
19
+ this._logger.debug(`Opening browser page: ${cliUrl}`);
18
20
  this._page = await this._browserPageFactory.openPage(cliUrl);
19
21
  await this._waitForCliApi(this._page);
20
22
  }
21
23
  return this._page;
22
24
  }
23
25
  async _waitForCliApi(page) {
24
- this._logger.log('Waiting for __componentExplorerCli__ to initialize...');
26
+ this._logger.trace('Polling for __componentExplorerCli__ to initialize...');
25
27
  await page.evaluateJs(`
26
28
  new Promise(resolve => {
27
29
  function check() {
@@ -32,7 +34,7 @@ class BrowserComponentExplorer {
32
34
  })
33
35
  `);
34
36
  this._lastState = await this._getState(page);
35
- this._logger.log(`CLI API ready, sessionId=${this._lastState.sessionId}, version=${this._lastState.updateVersion}`);
37
+ this._logger.debug(`CLI API ready, sessionId=${this._lastState.sessionId}, version=${this._lastState.updateVersion}`);
36
38
  }
37
39
  async _getState(page) {
38
40
  return page.evaluateJs(`({
@@ -45,23 +47,103 @@ class BrowserComponentExplorer {
45
47
  return page.evaluateJs('window.__componentExplorerCli__.listFixtures()');
46
48
  }
47
49
  async screenshotFixture(fixtureId) {
48
- const page = await this._ensureReady();
49
- const escapedId = JSON.stringify(fixtureId);
50
- const debugUrl = `${this._server.url}/___explorer?mode=render&fixture=${encodeURIComponent(fixtureId)}`;
51
- this._logger.log(`Rendering fixture: ${debugUrl}`);
52
- await page.evaluateJs(`window.__componentExplorerCli__.renderFixture(${escapedId})`);
53
- return page.screenshot(`document.getElementById('root').lastElementChild`);
50
+ // Serialize screenshot calls — the single browser page can only render one fixture at a time
51
+ const prev = this._screenshotMutex;
52
+ let resolve;
53
+ this._screenshotMutex = new Promise(r => { resolve = r; });
54
+ this._logger.trace(`Screenshot mutex: waiting for ${fixtureId}`);
55
+ await prev;
56
+ this._logger.trace(`Screenshot mutex: acquired for ${fixtureId}`);
57
+ const startTime = Date.now();
58
+ try {
59
+ const page = await this._ensureReady();
60
+ const escapedId = JSON.stringify(fixtureId);
61
+ const debugUrl = buildExplorerUrl({ baseUrl: this._server.url, rawRender: true, fixtureId });
62
+ this._logger.debug(`Rendering fixture: ${debugUrl}`);
63
+ const renderResult = await page.evaluateJs(`window.__componentExplorerCli__.renderFixture(${escapedId})`);
64
+ const image = await page.screenshot(`document.getElementById('root').lastElementChild`);
65
+ this._logger.debug(`Screenshot done: ${fixtureId} (${Date.now() - startTime}ms)`);
66
+ return { image, errors: renderResult.errors };
67
+ }
68
+ finally {
69
+ this._logger.trace(`Screenshot mutex: released for ${fixtureId}`);
70
+ resolve();
71
+ }
72
+ }
73
+ async screenshotFixtureStabilityCheck(fixtureId) {
74
+ const prev = this._screenshotMutex;
75
+ let resolve;
76
+ this._screenshotMutex = new Promise(r => { resolve = r; });
77
+ this._logger.trace(`Screenshot mutex: waiting for stability check ${fixtureId}`);
78
+ await prev;
79
+ this._logger.trace(`Screenshot mutex: acquired for stability check ${fixtureId}`);
80
+ try {
81
+ const page = await this._ensureReady();
82
+ const escapedId = JSON.stringify(fixtureId);
83
+ const debugUrl = buildExplorerUrl({ baseUrl: this._server.url, rawRender: true, fixtureId });
84
+ this._logger.debug(`Stability check: ${debugUrl}`);
85
+ await page.evaluateJs(`window.__componentExplorerCli__.disposeCurrentFixture?.()`);
86
+ const startTime = Date.now();
87
+ const renderResult = await page.evaluateJs(`window.__componentExplorerCli__.renderFixture(${escapedId})`);
88
+ const domExpr = `document.getElementById('root').lastElementChild`;
89
+ const image0 = await page.screenshot(domExpr);
90
+ const delay0 = Date.now() - startTime;
91
+ this._logger.debug(`Stability screenshot 1/3 at ${delay0}ms`);
92
+ const elapsed1 = Date.now() - startTime;
93
+ if (elapsed1 < 500) {
94
+ await new Promise(r => setTimeout(r, 500 - elapsed1));
95
+ }
96
+ const image1 = await page.screenshot(domExpr);
97
+ const delay1 = Date.now() - startTime;
98
+ this._logger.debug(`Stability screenshot 2/3 at ${delay1}ms`);
99
+ const elapsed2 = Date.now() - startTime;
100
+ if (elapsed2 < 3000) {
101
+ await new Promise(r => setTimeout(r, 3000 - elapsed2));
102
+ }
103
+ const image2 = await page.screenshot(domExpr);
104
+ const delay2 = Date.now() - startTime;
105
+ this._logger.debug(`Stability check done: ${fixtureId} (${delay2}ms total)`);
106
+ return {
107
+ screenshots: [
108
+ { image: image0, delayMs: delay0 },
109
+ { image: image1, delayMs: delay1 },
110
+ { image: image2, delayMs: delay2 },
111
+ ],
112
+ errors: renderResult.errors,
113
+ };
114
+ }
115
+ finally {
116
+ this._logger.trace(`Screenshot mutex: released for stability check ${fixtureId}`);
117
+ resolve();
118
+ }
119
+ }
120
+ async evaluateJs(expression, fixtureId) {
121
+ const prev = this._screenshotMutex;
122
+ let resolve;
123
+ this._screenshotMutex = new Promise(r => { resolve = r; });
124
+ await prev;
125
+ try {
126
+ this._logger.trace(`evaluateJs: expression length=${expression.length}${fixtureId ? `, fixtureId=${fixtureId}` : ''}`);
127
+ const page = await this._ensureReady();
128
+ if (fixtureId !== undefined) {
129
+ const escapedId = JSON.stringify(fixtureId);
130
+ await page.evaluateJs(`window.__componentExplorerCli__.renderFixture(${escapedId})`);
131
+ }
132
+ const result = await page.evaluateJs(expression);
133
+ this._logger.trace(`evaluateJs: result length=${JSON.stringify(result)?.length ?? 0}`);
134
+ return result;
135
+ }
136
+ finally {
137
+ resolve();
138
+ }
54
139
  }
55
140
  async codeCoverage(_id) {
56
141
  throw new Error('Code coverage not yet implemented');
57
142
  }
58
143
  async waitForUpdate(timeoutMs = 0) {
59
144
  const page = await this._ensureReady();
60
- // Read the current state NOW, not from _lastState. This ensures any
61
- // spurious version bumps that happened during prior operations (e.g.
62
- // initial screenshot capture, Vite dependency optimization) are ignored.
63
145
  const prev = await this._getState(page);
64
- this._logger.log(`Waiting for update (sessionId=${prev.sessionId}, version=${prev.updateVersion})...`);
146
+ this._logger.debug(`Waiting for update (sessionId=${prev.sessionId}, version=${prev.updateVersion})...`);
65
147
  const newState = await page.evaluateJs(`
66
148
  new Promise((resolve, reject) => {
67
149
  ${timeoutMs > 0 ? `const timeout = setTimeout(() => reject(new Error('Timeout waiting for HMR update')), ${timeoutMs});` : ''}
@@ -85,10 +167,10 @@ class BrowserComponentExplorer {
85
167
  `);
86
168
  const reloaded = newState.sessionId !== prev.sessionId;
87
169
  if (reloaded) {
88
- this._logger.log(`Page reloaded: sessionId ${prev.sessionId} → ${newState.sessionId}`);
170
+ this._logger.debug(`Page reloaded: sessionId ${prev.sessionId} → ${newState.sessionId}`);
89
171
  }
90
172
  else {
91
- this._logger.log(`HMR update: version ${prev.updateVersion} → ${newState.updateVersion}`);
173
+ this._logger.debug(`HMR update: version ${prev.updateVersion} → ${newState.updateVersion}`);
92
174
  }
93
175
  this._lastState = newState;
94
176
  }
@@ -1 +1 @@
1
- {"version":3,"file":"componentExplorer.js","sources":["../src/componentExplorer.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"componentExplorer.js","sources":["../src/componentExplorer.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ export interface DaemonContext {
2
+ readonly clientName: string;
3
+ }
4
+ //# sourceMappingURL=DaemonContext.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DaemonContext.d.ts","sourceRoot":"","sources":["../../src/daemon/DaemonContext.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,aAAa;IAC7B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC5B"}
@@ -0,0 +1,188 @@
1
+ import { type IDisposable, type IReader } from '@vscode/observables';
2
+ import { AsyncStream } from '@hediet/simple-api';
3
+ import { ExplorerSession } from '../explorerSession.js';
4
+ import type { ResolvedWatchConfig } from '../watchConfig.js';
5
+ import { type ILogger } from '../logger.js';
6
+ import { type ApprovalStore } from './approvalStore.js';
7
+ import type { DaemonContext } from './DaemonContext.js';
8
+ export declare class ActivityTracker implements IDisposable {
9
+ private readonly _idleTimeoutMs;
10
+ private readonly _onIdle;
11
+ private readonly _logger;
12
+ private _lastActivityTime;
13
+ private _idleCheckInterval;
14
+ private _autorunDisposable;
15
+ private _disposed;
16
+ private _started;
17
+ private _activeCount;
18
+ constructor(_idleTimeoutMs: number, _onIdle: () => void, _logger: ILogger);
19
+ setActive(value: boolean): void;
20
+ reportActivity(): void;
21
+ start(): void;
22
+ dispose(): void;
23
+ }
24
+ export type DaemonEvent = {
25
+ readonly type: 'source-change';
26
+ readonly sessionName: string;
27
+ readonly sourceTreeId: string;
28
+ } | {
29
+ readonly type: 'ref-change';
30
+ readonly sessionName: string;
31
+ readonly newCommit: string;
32
+ } | {
33
+ readonly type: 'log';
34
+ readonly level: 'info' | 'debug' | 'trace';
35
+ readonly message: string;
36
+ };
37
+ export type SessionInfo = {
38
+ readonly name: string;
39
+ readonly sourceKind: 'current' | 'worktree';
40
+ readonly isLoading: true;
41
+ } | {
42
+ readonly name: string;
43
+ readonly sourceKind: 'current' | 'worktree';
44
+ readonly isLoading?: false;
45
+ readonly serverUrl: string;
46
+ readonly sourceTreeId: string;
47
+ };
48
+ export declare class SourceTreeChangedError extends Error {
49
+ constructor(sessionName: string);
50
+ }
51
+ export type DaemonApiType = DaemonService['api']['TMethods'];
52
+ export declare class DaemonService {
53
+ private readonly _config;
54
+ private readonly _pipeName;
55
+ private readonly _logger;
56
+ private readonly _browserFactory;
57
+ private readonly _serverFactory;
58
+ private readonly _sessions;
59
+ private readonly _sessionConfigs;
60
+ private readonly _resolvers;
61
+ private readonly _eventListenerCount;
62
+ private readonly _eventListeners;
63
+ private _shutdownRequested;
64
+ private _shutdownResolvers;
65
+ private readonly _activityTracker;
66
+ readonly approvals: ApprovalStore;
67
+ readonly api: import("@hediet/simple-api").ApiImplementation<import("@hediet/simple-api").MapMethods<{
68
+ fixtures: import("@hediet/simple-api").ApiImplementation<import("@hediet/simple-api").MapMethods<{
69
+ list: import("@hediet/simple-api").IMethod<{
70
+ sessionName: string;
71
+ sourceTreeId: string;
72
+ }, import("../componentExplorer.js").FixtureInfo[], DaemonContext>;
73
+ }>, DaemonContext>;
74
+ screenshots: import("@hediet/simple-api").ApiImplementation<import("@hediet/simple-api").MapMethods<{
75
+ take: import("@hediet/simple-api").IMethod<{
76
+ fixtureId: string;
77
+ sourceTreeId: string;
78
+ sessionName: string;
79
+ includeImage?: boolean | undefined;
80
+ stabilityCheck?: boolean | undefined;
81
+ }, {
82
+ hash: string;
83
+ sourceTreeId: string;
84
+ image: string | undefined;
85
+ errors: import("../componentExplorer.js").ErrorInfo[] | undefined;
86
+ isStable: boolean;
87
+ stabilityScreenshots: {
88
+ hash: string;
89
+ delayMs: number;
90
+ image: string | undefined;
91
+ }[];
92
+ } | {
93
+ hash: string;
94
+ sourceTreeId: string;
95
+ image: string | undefined;
96
+ errors: import("../componentExplorer.js").ErrorInfo[] | undefined;
97
+ isStable?: undefined;
98
+ stabilityScreenshots?: undefined;
99
+ }, DaemonContext>;
100
+ takeBatch: import("@hediet/simple-api").IMethod<{
101
+ fixtureIds: string[];
102
+ sourceTreeId: string;
103
+ sessionName: string;
104
+ includeImages?: boolean | undefined;
105
+ }, {
106
+ sourceTreeId: string;
107
+ screenshots: {
108
+ fixtureId: string;
109
+ hash: string;
110
+ image: string | undefined;
111
+ errors: import("../componentExplorer.js").ErrorInfo[] | undefined;
112
+ }[];
113
+ }, DaemonContext>;
114
+ compare: import("@hediet/simple-api").IMethod<{
115
+ fixtureId: string;
116
+ baselineSessionName: string;
117
+ baselineSourceTreeId: string;
118
+ currentSessionName: string;
119
+ currentSourceTreeId: string;
120
+ includeImages?: boolean | undefined;
121
+ }, {
122
+ match: boolean;
123
+ baselineHash: string;
124
+ currentHash: string;
125
+ baselineImage: string | undefined;
126
+ currentImage: string | undefined;
127
+ baselineErrors: import("../componentExplorer.js").ErrorInfo[] | undefined;
128
+ currentErrors: import("../componentExplorer.js").ErrorInfo[] | undefined;
129
+ approval: import("./approvalStore.js").ApprovalInfo | undefined;
130
+ }, DaemonContext>;
131
+ }>, DaemonContext>;
132
+ approvals: import("@hediet/simple-api").ApiImplementation<import("@hediet/simple-api").MapMethods<{
133
+ approve: import("@hediet/simple-api").IMethod<{
134
+ fixtureId: string;
135
+ originalHash: string;
136
+ modifiedHash: string;
137
+ comment: string;
138
+ }, void, DaemonContext>;
139
+ revoke: import("@hediet/simple-api").IMethod<{
140
+ fixtureId: string;
141
+ originalHash: string;
142
+ modifiedHash: string;
143
+ }, void, DaemonContext>;
144
+ list: import("@hediet/simple-api").IMethod<{
145
+ fixtureId?: string | undefined;
146
+ }, import("./approvalStore.js").ApprovalInfo[], DaemonContext>;
147
+ lookup: import("@hediet/simple-api").IMethod<{
148
+ fixtureId: string;
149
+ originalHash: string;
150
+ modifiedHash: string;
151
+ }, import("./approvalStore.js").ApprovalInfo | null, DaemonContext>;
152
+ }>, DaemonContext>;
153
+ evaluate: import("@hediet/simple-api").IMethod<{
154
+ sessionName: string;
155
+ sourceTreeId: string;
156
+ expression: string;
157
+ fixtureId?: string | undefined;
158
+ }, {
159
+ result: unknown;
160
+ }, DaemonContext>;
161
+ events: import("@hediet/simple-api").IMethod<Record<string, never>, AsyncStream<DaemonEvent>, DaemonContext>;
162
+ sessions: import("@hediet/simple-api").IMethod<Record<string, never>, SessionInfo[], DaemonContext>;
163
+ shutdown: import("@hediet/simple-api").IMethod<Record<string, never>, void, DaemonContext>;
164
+ }>, DaemonContext>;
165
+ private constructor();
166
+ static create(config: ResolvedWatchConfig, logger: ILogger, pipeName?: string, options?: {
167
+ idleTimeoutMs?: number;
168
+ }): Promise<DaemonService>;
169
+ private _buildApi;
170
+ getSession(name: string): ExplorerSession;
171
+ getSessionInfos(reader?: IReader): SessionInfo[];
172
+ waitForSession(sessionName: string | undefined): Promise<SessionInfo & {
173
+ isLoading?: false;
174
+ }>;
175
+ getSourceTreeId(sessionName: string): string;
176
+ assertSourceTreeId(sessionName: string, expected: string): void;
177
+ eventStream(): AsyncIterable<DaemonEvent>;
178
+ runEventLoop(): Promise<void>;
179
+ private _sourceChangeDisposables;
180
+ private _startSourceChangeWatchers;
181
+ private _handleRefChange;
182
+ requestShutdown(): void;
183
+ dispose(): Promise<void>;
184
+ /** @internal — also called by EventStreamLogger */
185
+ _emit(event: DaemonEvent): void;
186
+ private _setupSession;
187
+ }
188
+ //# sourceMappingURL=DaemonService.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DaemonService.d.ts","sourceRoot":"","sources":["../../src/daemon/DaemonService.ts"],"names":[],"mappings":"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"}