@vscode/component-explorer-cli 0.2.0 → 0.2.1-0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/_virtual/_build-info.js +1 -1
- package/dist/browserPage.d.ts +11 -2
- package/dist/browserPage.d.ts.map +1 -1
- package/dist/browserPage.js +26 -8
- package/dist/browserPage.js.map +1 -1
- package/dist/commands/mcpCommand.d.ts.map +1 -1
- package/dist/commands/mcpCommand.js +20 -16
- package/dist/commands/mcpCommand.js.map +1 -1
- package/dist/commands/screenshotCommand.d.ts.map +1 -1
- package/dist/commands/screenshotCommand.js +4 -0
- package/dist/commands/screenshotCommand.js.map +1 -1
- package/dist/commands/serveCommand.d.ts +2 -0
- package/dist/commands/serveCommand.d.ts.map +1 -1
- package/dist/commands/serveCommand.js +75 -24
- package/dist/commands/serveCommand.js.map +1 -1
- package/dist/commands/watchCommand.js +9 -4
- package/dist/commands/watchCommand.js.map +1 -1
- package/dist/component-explorer-config.schema.json +166 -0
- package/dist/componentExplorer.d.ts +8 -1
- package/dist/componentExplorer.d.ts.map +1 -1
- package/dist/componentExplorer.js +34 -5
- package/dist/componentExplorer.js.map +1 -1
- package/dist/daemon/DaemonService.d.ts +25 -4
- package/dist/daemon/DaemonService.d.ts.map +1 -1
- package/dist/daemon/DaemonService.js +57 -16
- package/dist/daemon/DaemonService.js.map +1 -1
- package/dist/daemon/lifecycle.d.ts +2 -1
- package/dist/daemon/lifecycle.d.ts.map +1 -1
- package/dist/daemon/lifecycle.js +41 -6
- package/dist/daemon/lifecycle.js.map +1 -1
- package/dist/explorerSession.d.ts +3 -3
- package/dist/explorerSession.d.ts.map +1 -1
- package/dist/explorerSession.js +26 -9
- package/dist/explorerSession.js.map +1 -1
- package/dist/httpServer.d.ts +12 -6
- package/dist/httpServer.d.ts.map +1 -1
- package/dist/httpServer.js +104 -18
- package/dist/httpServer.js.map +1 -1
- package/dist/httpServer.test.d.ts +2 -0
- package/dist/httpServer.test.d.ts.map +1 -0
- package/dist/mcp/McpServer.d.ts +5 -0
- package/dist/mcp/McpServer.d.ts.map +1 -1
- package/dist/mcp/McpServer.js +218 -0
- package/dist/mcp/McpServer.js.map +1 -1
- package/dist/visualCache.d.ts +34 -0
- package/dist/visualCache.d.ts.map +1 -0
- package/dist/visualCache.js +90 -0
- package/dist/visualCache.js.map +1 -0
- package/dist/watchConfig.d.ts +50 -4
- package/dist/watchConfig.d.ts.map +1 -1
- package/dist/watchConfig.js +72 -23
- package/dist/watchConfig.js.map +1 -1
- package/package.json +1 -1
|
@@ -78,6 +78,88 @@
|
|
|
78
78
|
],
|
|
79
79
|
"additionalProperties": false
|
|
80
80
|
},
|
|
81
|
+
"server": {
|
|
82
|
+
"description": "Server configuration for this session (overrides top-level)",
|
|
83
|
+
"oneOf": [
|
|
84
|
+
{
|
|
85
|
+
"type": "object",
|
|
86
|
+
"properties": {
|
|
87
|
+
"type": {
|
|
88
|
+
"type": "string",
|
|
89
|
+
"const": "vite"
|
|
90
|
+
},
|
|
91
|
+
"viteConfig": {
|
|
92
|
+
"description": "Path to vite config file, relative to this config",
|
|
93
|
+
"type": "string"
|
|
94
|
+
},
|
|
95
|
+
"hmr": {
|
|
96
|
+
"type": "object",
|
|
97
|
+
"properties": {
|
|
98
|
+
"allowedPaths": {
|
|
99
|
+
"type": "array",
|
|
100
|
+
"items": {
|
|
101
|
+
"type": "string"
|
|
102
|
+
},
|
|
103
|
+
"description": "Glob patterns for files that keep HMR; everything else triggers a full reload"
|
|
104
|
+
}
|
|
105
|
+
},
|
|
106
|
+
"required": [
|
|
107
|
+
"allowedPaths"
|
|
108
|
+
],
|
|
109
|
+
"additionalProperties": false,
|
|
110
|
+
"description": "Vite HMR configuration"
|
|
111
|
+
}
|
|
112
|
+
},
|
|
113
|
+
"required": [
|
|
114
|
+
"type"
|
|
115
|
+
],
|
|
116
|
+
"additionalProperties": false,
|
|
117
|
+
"description": "Vite dev server configuration"
|
|
118
|
+
},
|
|
119
|
+
{
|
|
120
|
+
"type": "object",
|
|
121
|
+
"properties": {
|
|
122
|
+
"type": {
|
|
123
|
+
"type": "string",
|
|
124
|
+
"const": "http"
|
|
125
|
+
},
|
|
126
|
+
"url": {
|
|
127
|
+
"type": "string",
|
|
128
|
+
"description": "URL of the HTTP server. Use ${var:name} to reference named capture groups from wait patterns"
|
|
129
|
+
},
|
|
130
|
+
"cmd": {
|
|
131
|
+
"description": "Command to start the HTTP server (e.g. \"npx rspack serve\")",
|
|
132
|
+
"type": "string"
|
|
133
|
+
},
|
|
134
|
+
"cwd": {
|
|
135
|
+
"description": "Working directory for cmd, relative to this config file (default: config file directory)",
|
|
136
|
+
"type": "string"
|
|
137
|
+
},
|
|
138
|
+
"wait": {
|
|
139
|
+
"description": "Wait for the server to be ready before connecting",
|
|
140
|
+
"type": "object",
|
|
141
|
+
"properties": {
|
|
142
|
+
"stdout": {
|
|
143
|
+
"description": "Regex pattern to wait for on stdout. Named capture groups become variables for the url field",
|
|
144
|
+
"type": "string"
|
|
145
|
+
},
|
|
146
|
+
"stderr": {
|
|
147
|
+
"description": "Regex pattern to wait for on stderr. Named capture groups become variables for the url field",
|
|
148
|
+
"type": "string"
|
|
149
|
+
}
|
|
150
|
+
},
|
|
151
|
+
"additionalProperties": false
|
|
152
|
+
}
|
|
153
|
+
},
|
|
154
|
+
"required": [
|
|
155
|
+
"type",
|
|
156
|
+
"url"
|
|
157
|
+
],
|
|
158
|
+
"additionalProperties": false,
|
|
159
|
+
"description": "External HTTP server configuration"
|
|
160
|
+
}
|
|
161
|
+
]
|
|
162
|
+
},
|
|
81
163
|
"viteConfig": {
|
|
82
164
|
"description": "Path to vite config file, relative to this config (overrides top-level viteConfig)",
|
|
83
165
|
"type": "string"
|
|
@@ -161,11 +243,95 @@
|
|
|
161
243
|
"additionalProperties": false,
|
|
162
244
|
"description": "Screenshot comparison configuration"
|
|
163
245
|
},
|
|
246
|
+
"server": {
|
|
247
|
+
"description": "Default server configuration",
|
|
248
|
+
"oneOf": [
|
|
249
|
+
{
|
|
250
|
+
"type": "object",
|
|
251
|
+
"properties": {
|
|
252
|
+
"type": {
|
|
253
|
+
"type": "string",
|
|
254
|
+
"const": "vite"
|
|
255
|
+
},
|
|
256
|
+
"viteConfig": {
|
|
257
|
+
"description": "Path to vite config file, relative to this config",
|
|
258
|
+
"type": "string"
|
|
259
|
+
},
|
|
260
|
+
"hmr": {
|
|
261
|
+
"type": "object",
|
|
262
|
+
"properties": {
|
|
263
|
+
"allowedPaths": {
|
|
264
|
+
"type": "array",
|
|
265
|
+
"items": {
|
|
266
|
+
"type": "string"
|
|
267
|
+
},
|
|
268
|
+
"description": "Glob patterns for files that keep HMR; everything else triggers a full reload"
|
|
269
|
+
}
|
|
270
|
+
},
|
|
271
|
+
"required": [
|
|
272
|
+
"allowedPaths"
|
|
273
|
+
],
|
|
274
|
+
"additionalProperties": false,
|
|
275
|
+
"description": "Vite HMR configuration"
|
|
276
|
+
}
|
|
277
|
+
},
|
|
278
|
+
"required": [
|
|
279
|
+
"type"
|
|
280
|
+
],
|
|
281
|
+
"additionalProperties": false,
|
|
282
|
+
"description": "Vite dev server configuration"
|
|
283
|
+
},
|
|
284
|
+
{
|
|
285
|
+
"type": "object",
|
|
286
|
+
"properties": {
|
|
287
|
+
"type": {
|
|
288
|
+
"type": "string",
|
|
289
|
+
"const": "http"
|
|
290
|
+
},
|
|
291
|
+
"url": {
|
|
292
|
+
"type": "string",
|
|
293
|
+
"description": "URL of the HTTP server. Use ${var:name} to reference named capture groups from wait patterns"
|
|
294
|
+
},
|
|
295
|
+
"cmd": {
|
|
296
|
+
"description": "Command to start the HTTP server (e.g. \"npx rspack serve\")",
|
|
297
|
+
"type": "string"
|
|
298
|
+
},
|
|
299
|
+
"cwd": {
|
|
300
|
+
"description": "Working directory for cmd, relative to this config file (default: config file directory)",
|
|
301
|
+
"type": "string"
|
|
302
|
+
},
|
|
303
|
+
"wait": {
|
|
304
|
+
"description": "Wait for the server to be ready before connecting",
|
|
305
|
+
"type": "object",
|
|
306
|
+
"properties": {
|
|
307
|
+
"stdout": {
|
|
308
|
+
"description": "Regex pattern to wait for on stdout. Named capture groups become variables for the url field",
|
|
309
|
+
"type": "string"
|
|
310
|
+
},
|
|
311
|
+
"stderr": {
|
|
312
|
+
"description": "Regex pattern to wait for on stderr. Named capture groups become variables for the url field",
|
|
313
|
+
"type": "string"
|
|
314
|
+
}
|
|
315
|
+
},
|
|
316
|
+
"additionalProperties": false
|
|
317
|
+
}
|
|
318
|
+
},
|
|
319
|
+
"required": [
|
|
320
|
+
"type",
|
|
321
|
+
"url"
|
|
322
|
+
],
|
|
323
|
+
"additionalProperties": false,
|
|
324
|
+
"description": "External HTTP server configuration"
|
|
325
|
+
}
|
|
326
|
+
]
|
|
327
|
+
},
|
|
164
328
|
"viteConfig": {
|
|
165
329
|
"description": "Default vite config file path, relative to this config (default: vite.config.ts)",
|
|
330
|
+
"deprecated": true,
|
|
166
331
|
"type": "string"
|
|
167
332
|
},
|
|
168
333
|
"vite": {
|
|
334
|
+
"deprecated": true,
|
|
169
335
|
"type": "object",
|
|
170
336
|
"properties": {
|
|
171
337
|
"hmr": {
|
|
@@ -1,12 +1,15 @@
|
|
|
1
1
|
import type { BrowserPageFactory } from './browserPage.js';
|
|
2
2
|
import type { ComponentExplorerHttpServer } from './httpServer.js';
|
|
3
|
+
import type { IObservable } from '@vscode/observables';
|
|
3
4
|
import { type ILogger } from './logger.js';
|
|
5
|
+
import { SourceTreeId } from './sourceTreeId.js';
|
|
4
6
|
export interface FixtureInfo {
|
|
5
7
|
readonly fixtureId: string;
|
|
6
8
|
readonly fixtureName: string;
|
|
7
9
|
readonly groupPath: string[];
|
|
8
10
|
readonly background: 'light' | 'dark';
|
|
9
11
|
readonly labels: readonly string[];
|
|
12
|
+
readonly expectedVisualDescriptions: readonly string[];
|
|
10
13
|
}
|
|
11
14
|
export type FixtureId = {
|
|
12
15
|
readonly fixtureId: string;
|
|
@@ -35,7 +38,7 @@ export interface RenderEvent {
|
|
|
35
38
|
* Result of taking a screenshot, including any errors captured during rendering.
|
|
36
39
|
*/
|
|
37
40
|
export interface ScreenshotResult {
|
|
38
|
-
readonly image: Uint8Array;
|
|
41
|
+
readonly image: Uint8Array | undefined;
|
|
39
42
|
readonly hasError: boolean;
|
|
40
43
|
readonly error?: ExceptionError;
|
|
41
44
|
readonly events: RenderEvent[];
|
|
@@ -53,6 +56,7 @@ export interface StabilityCheckResult {
|
|
|
53
56
|
readonly resultData?: unknown;
|
|
54
57
|
}
|
|
55
58
|
export interface ComponentExplorer {
|
|
59
|
+
readonly sourceTreeId: IObservable<SourceTreeId>;
|
|
56
60
|
listFixtures(): Promise<FixtureInfo[]>;
|
|
57
61
|
screenshotFixture(fixtureId: string): Promise<ScreenshotResult>;
|
|
58
62
|
screenshotFixtureStabilityCheck(fixtureId: string): Promise<StabilityCheckResult>;
|
|
@@ -68,7 +72,9 @@ export declare class BrowserComponentExplorer implements ComponentExplorer {
|
|
|
68
72
|
private _page;
|
|
69
73
|
private _lastState;
|
|
70
74
|
private _screenshotMutex;
|
|
75
|
+
readonly sourceTreeId: import("@vscode/observables").ISettableObservable<SourceTreeId, void>;
|
|
71
76
|
constructor(_browserPageFactory: BrowserPageFactory, _server: ComponentExplorerHttpServer, _logger?: ILogger);
|
|
77
|
+
private _bumpSourceTreeId;
|
|
72
78
|
private _ensureReady;
|
|
73
79
|
private _waitForCliApi;
|
|
74
80
|
private _assertRuntimeVersionCompatibility;
|
|
@@ -79,6 +85,7 @@ export declare class BrowserComponentExplorer implements ComponentExplorer {
|
|
|
79
85
|
evaluateJs(expression: string, fixtureId?: string): Promise<unknown>;
|
|
80
86
|
codeCoverage(_id: FixtureId | FixtureGroupId): Promise<CoverageData>;
|
|
81
87
|
waitForUpdate(timeoutMs?: number): Promise<void>;
|
|
88
|
+
closePage(): void;
|
|
82
89
|
dispose(): Promise<void>;
|
|
83
90
|
}
|
|
84
91
|
//# sourceMappingURL=componentExplorer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"componentExplorer.d.ts","sourceRoot":"","sources":["../src/componentExplorer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAe,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACxE,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,iBAAiB,CAAC;AACnE,OAAO,EAAE,KAAK,OAAO,EAAc,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"componentExplorer.d.ts","sourceRoot":"","sources":["../src/componentExplorer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,21 @@
|
|
|
1
|
+
import './external/vscode-observables/observables/dist/observableInternal/index.js';
|
|
2
|
+
import { observableValue } from './external/vscode-observables/observables/dist/observableInternal/observables/observableValue.js';
|
|
3
|
+
import './external/vscode-observables/observables/dist/observableInternal/debugLocation.js';
|
|
4
|
+
import './external/vscode-observables/observables/dist/observableInternal/observables/derived.js';
|
|
5
|
+
import './external/vscode-observables/observables/dist/observableInternal/utils/utils.js';
|
|
6
|
+
import './external/vscode-observables/observables/dist/observableInternal/observables/observableFromEvent.js';
|
|
1
7
|
import { nullLogger } from './logger.js';
|
|
8
|
+
import { SourceTreeId } from './sourceTreeId.js';
|
|
2
9
|
import { buildExplorerUrl } from './utils.js';
|
|
3
10
|
import { parseVersion, isCompatibleVersion, runtimeVersionNeededByCliText } from './daemon/version.js';
|
|
4
11
|
|
|
12
|
+
async function unwrapScreenshot(page, domExpr) {
|
|
13
|
+
const result = await page.screenshot(domExpr);
|
|
14
|
+
if (!result.ok) {
|
|
15
|
+
throw new Error(`Fixture DOM node not found`);
|
|
16
|
+
}
|
|
17
|
+
return result.screenshot;
|
|
18
|
+
}
|
|
5
19
|
class BrowserComponentExplorer {
|
|
6
20
|
_browserPageFactory;
|
|
7
21
|
_server;
|
|
@@ -9,10 +23,20 @@ class BrowserComponentExplorer {
|
|
|
9
23
|
_page;
|
|
10
24
|
_lastState;
|
|
11
25
|
_screenshotMutex = Promise.resolve();
|
|
26
|
+
sourceTreeId;
|
|
12
27
|
constructor(_browserPageFactory, _server, _logger = nullLogger) {
|
|
13
28
|
this._browserPageFactory = _browserPageFactory;
|
|
14
29
|
this._server = _server;
|
|
15
30
|
this._logger = _logger;
|
|
31
|
+
this.sourceTreeId = observableValue(this, new SourceTreeId(Date.now().toString()));
|
|
32
|
+
if (_server.onSourceChange) {
|
|
33
|
+
_server.onSourceChange(() => {
|
|
34
|
+
this._bumpSourceTreeId();
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
_bumpSourceTreeId() {
|
|
39
|
+
this.sourceTreeId.set(new SourceTreeId(Date.now().toString()), undefined);
|
|
16
40
|
}
|
|
17
41
|
async _ensureReady() {
|
|
18
42
|
if (!this._page) {
|
|
@@ -71,9 +95,10 @@ class BrowserComponentExplorer {
|
|
|
71
95
|
const debugUrl = buildExplorerUrl({ baseUrl: this._server.url, rawRender: true, fixtureId });
|
|
72
96
|
this._logger.debug(`Rendering fixture: ${debugUrl}`);
|
|
73
97
|
const renderResult = await page.evaluateJs(`window.__componentExplorer__.renderFixture(${escapedId})`);
|
|
98
|
+
this._logger.debug(`Render completed: ${fixtureId} (hasError=${renderResult.hasError}, ${Date.now() - startTime}ms)`);
|
|
74
99
|
const image = await page.screenshot(`document.getElementById('root').lastElementChild`);
|
|
75
|
-
this._logger.debug(`Screenshot done: ${fixtureId} (${Date.now() - startTime}ms)`);
|
|
76
|
-
return { image, ...renderResult };
|
|
100
|
+
this._logger.debug(`Screenshot done: ${fixtureId} (ok=${image.ok}, ${Date.now() - startTime}ms)`);
|
|
101
|
+
return { image: image.ok ? image.screenshot : undefined, ...renderResult };
|
|
77
102
|
}
|
|
78
103
|
finally {
|
|
79
104
|
this._logger.trace(`Screenshot mutex: released for ${fixtureId}`);
|
|
@@ -96,21 +121,21 @@ class BrowserComponentExplorer {
|
|
|
96
121
|
const startTime = Date.now();
|
|
97
122
|
const renderResult = await page.evaluateJs(`window.__componentExplorer__.renderFixture(${escapedId})`);
|
|
98
123
|
const domExpr = `document.getElementById('root').lastElementChild`;
|
|
99
|
-
const image0 = await page
|
|
124
|
+
const image0 = await unwrapScreenshot(page, domExpr);
|
|
100
125
|
const delay0 = Date.now() - startTime;
|
|
101
126
|
this._logger.debug(`Stability screenshot 1/3 at ${delay0}ms`);
|
|
102
127
|
const elapsed1 = Date.now() - startTime;
|
|
103
128
|
if (elapsed1 < 500) {
|
|
104
129
|
await new Promise(r => setTimeout(r, 500 - elapsed1));
|
|
105
130
|
}
|
|
106
|
-
const image1 = await page
|
|
131
|
+
const image1 = await unwrapScreenshot(page, domExpr);
|
|
107
132
|
const delay1 = Date.now() - startTime;
|
|
108
133
|
this._logger.debug(`Stability screenshot 2/3 at ${delay1}ms`);
|
|
109
134
|
const elapsed2 = Date.now() - startTime;
|
|
110
135
|
if (elapsed2 < 3000) {
|
|
111
136
|
await new Promise(r => setTimeout(r, 3000 - elapsed2));
|
|
112
137
|
}
|
|
113
|
-
const image2 = await page
|
|
138
|
+
const image2 = await unwrapScreenshot(page, domExpr);
|
|
114
139
|
const delay2 = Date.now() - startTime;
|
|
115
140
|
this._logger.debug(`Stability check done: ${fixtureId} (${delay2}ms total)`);
|
|
116
141
|
return {
|
|
@@ -185,6 +210,10 @@ class BrowserComponentExplorer {
|
|
|
185
210
|
this._logger.debug(`HMR update: version ${prev.updateVersion} → ${newState.updateVersion}`);
|
|
186
211
|
}
|
|
187
212
|
this._lastState = newState;
|
|
213
|
+
this._bumpSourceTreeId();
|
|
214
|
+
}
|
|
215
|
+
closePage() {
|
|
216
|
+
this._page = undefined;
|
|
188
217
|
}
|
|
189
218
|
async dispose() {
|
|
190
219
|
await this._page?.dispose();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"componentExplorer.js","sources":["../src/componentExplorer.ts"],"sourcesContent":[null],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"componentExplorer.js","sources":["../src/componentExplorer.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -4,6 +4,7 @@ import { ExplorerSession } from '../explorerSession.js';
|
|
|
4
4
|
import type { ResolvedWatchConfig } from '../watchConfig.js';
|
|
5
5
|
import { type ILogger } from '../logger.js';
|
|
6
6
|
import { type ApprovalStore } from './approvalStore.js';
|
|
7
|
+
import { VisualCache } from '../visualCache.js';
|
|
7
8
|
import type { DaemonContext } from './DaemonContext.js';
|
|
8
9
|
export { daemonApiVersionText, pluginProtocolVersionText, parseVersion, isCompatibleVersion, } from './version.js';
|
|
9
10
|
export declare class ActivityTracker implements IDisposable {
|
|
@@ -75,6 +76,7 @@ export declare class DaemonService {
|
|
|
75
76
|
private readonly _activityTracker;
|
|
76
77
|
private readonly _worktreePool;
|
|
77
78
|
readonly approvals: ApprovalStore;
|
|
79
|
+
readonly visualCache: VisualCache;
|
|
78
80
|
readonly api: import("@hediet/simple-api").ApiImplementation<import("@hediet/simple-api").MapMethods<{
|
|
79
81
|
fixtures: import("@hediet/simple-api").ApiImplementation<import("@hediet/simple-api").MapMethods<{
|
|
80
82
|
list: import("@hediet/simple-api").IMethod<{
|
|
@@ -104,7 +106,7 @@ export declare class DaemonService {
|
|
|
104
106
|
image: string | undefined;
|
|
105
107
|
}[];
|
|
106
108
|
} | {
|
|
107
|
-
hash: string;
|
|
109
|
+
hash: string | undefined;
|
|
108
110
|
sourceTreeId: string;
|
|
109
111
|
image: string | undefined;
|
|
110
112
|
hasError: boolean;
|
|
@@ -123,7 +125,7 @@ export declare class DaemonService {
|
|
|
123
125
|
sourceTreeId: string;
|
|
124
126
|
screenshots: {
|
|
125
127
|
fixtureId: string;
|
|
126
|
-
hash: string;
|
|
128
|
+
hash: string | undefined;
|
|
127
129
|
image: string | undefined;
|
|
128
130
|
hasError: boolean;
|
|
129
131
|
error: import("../componentExplorer.js").ExceptionError | undefined;
|
|
@@ -140,8 +142,8 @@ export declare class DaemonService {
|
|
|
140
142
|
includeImages?: boolean | undefined;
|
|
141
143
|
}, {
|
|
142
144
|
match: boolean;
|
|
143
|
-
baselineHash: string;
|
|
144
|
-
currentHash: string;
|
|
145
|
+
baselineHash: string | undefined;
|
|
146
|
+
currentHash: string | undefined;
|
|
145
147
|
baselineImage: string | undefined;
|
|
146
148
|
currentImage: string | undefined;
|
|
147
149
|
baselineHasError: boolean;
|
|
@@ -178,6 +180,19 @@ export declare class DaemonService {
|
|
|
178
180
|
modifiedHash: string;
|
|
179
181
|
}, import("./approvalStore.js").ApprovalInfo | null, DaemonContext>;
|
|
180
182
|
}>, DaemonContext>;
|
|
183
|
+
visualReview: import("@hediet/simple-api").ApiImplementation<import("@hediet/simple-api").MapMethods<{
|
|
184
|
+
getStatus: import("@hediet/simple-api").IMethod<{
|
|
185
|
+
fixtureId: string;
|
|
186
|
+
expectedVisualDescriptions: string[];
|
|
187
|
+
screenshotHash: string;
|
|
188
|
+
}, import("../visualCache.js").VisualReviewStatus, DaemonContext>;
|
|
189
|
+
approve: import("@hediet/simple-api").IMethod<{
|
|
190
|
+
fixtureId: string;
|
|
191
|
+
expectedVisualDescriptions: string[];
|
|
192
|
+
screenshotHash: string;
|
|
193
|
+
comment: string;
|
|
194
|
+
}, void, DaemonContext>;
|
|
195
|
+
}>, DaemonContext>;
|
|
181
196
|
evaluate: import("@hediet/simple-api").IMethod<{
|
|
182
197
|
sessionName: string;
|
|
183
198
|
sourceTreeId: string;
|
|
@@ -186,6 +201,11 @@ export declare class DaemonService {
|
|
|
186
201
|
}, {
|
|
187
202
|
result: unknown;
|
|
188
203
|
}, DaemonContext>;
|
|
204
|
+
setBrowserVisibility: import("@hediet/simple-api").IMethod<{
|
|
205
|
+
visible: boolean;
|
|
206
|
+
}, {
|
|
207
|
+
visible: boolean;
|
|
208
|
+
}, DaemonContext>;
|
|
189
209
|
events: import("@hediet/simple-api").IMethod<Record<string, never>, AsyncStream<DaemonEvent>, DaemonContext>;
|
|
190
210
|
sessions: import("@hediet/simple-api").IMethod<Record<string, never>, SessionInfo[], DaemonContext>;
|
|
191
211
|
version: import("@hediet/simple-api").IMethod<Record<string, never>, {
|
|
@@ -223,6 +243,7 @@ export declare class DaemonService {
|
|
|
223
243
|
private constructor();
|
|
224
244
|
static create(config: ResolvedWatchConfig, logger: ILogger, pipeName?: string, options?: {
|
|
225
245
|
idleTimeoutMs?: number;
|
|
246
|
+
headed?: boolean;
|
|
226
247
|
}): Promise<DaemonService>;
|
|
227
248
|
private _buildApi;
|
|
228
249
|
getSession(name: string): ExplorerSession;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DaemonService.d.ts","sourceRoot":"","sources":["../../src/daemon/DaemonService.ts"],"names":[],"mappings":"AAEA,OAAO,EAAmD,KAAK,WAAW,EAAE,KAAK,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAEtH,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"DaemonService.d.ts","sourceRoot":"","sources":["../../src/daemon/DaemonService.ts"],"names":[],"mappings":"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"}
|