@testivai/witness 1.0.1 → 1.0.2

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 (88) hide show
  1. package/README.md +44 -13
  2. package/dist/baselines/index.d.ts +6 -0
  3. package/dist/baselines/index.d.ts.map +1 -0
  4. package/dist/baselines/index.js +9 -0
  5. package/dist/baselines/index.js.map +1 -0
  6. package/dist/baselines/store.d.ts +79 -0
  7. package/dist/baselines/store.d.ts.map +1 -0
  8. package/dist/baselines/store.js +234 -0
  9. package/dist/baselines/store.js.map +1 -0
  10. package/dist/bin/testivai.js +2 -0
  11. package/dist/bin/testivai.js.map +1 -1
  12. package/dist/browser/binding.d.ts.map +1 -1
  13. package/dist/browser/binding.js +173 -42
  14. package/dist/browser/binding.js.map +1 -1
  15. package/dist/browser/capture.d.ts.map +1 -1
  16. package/dist/browser/capture.js +7 -4
  17. package/dist/browser/capture.js.map +1 -1
  18. package/dist/commands/approve.d.ts +3 -0
  19. package/dist/commands/approve.d.ts.map +1 -0
  20. package/dist/commands/approve.js +94 -0
  21. package/dist/commands/approve.js.map +1 -0
  22. package/dist/commands/init.d.ts.map +1 -1
  23. package/dist/commands/init.js +53 -0
  24. package/dist/commands/init.js.map +1 -1
  25. package/dist/commands/run.d.ts.map +1 -1
  26. package/dist/commands/run.js +98 -0
  27. package/dist/commands/run.js.map +1 -1
  28. package/dist/config/index.d.ts +6 -0
  29. package/dist/config/index.d.ts.map +1 -0
  30. package/dist/config/index.js +14 -0
  31. package/dist/config/index.js.map +1 -0
  32. package/dist/config/local-config.d.ts +54 -0
  33. package/dist/config/local-config.d.ts.map +1 -0
  34. package/dist/config/local-config.js +130 -0
  35. package/dist/config/local-config.js.map +1 -0
  36. package/dist/diff/diff.d.ts +27 -0
  37. package/dist/diff/diff.d.ts.map +1 -0
  38. package/dist/diff/diff.js +216 -0
  39. package/dist/diff/diff.js.map +1 -0
  40. package/dist/diff/ignore.d.ts +22 -0
  41. package/dist/diff/ignore.d.ts.map +1 -0
  42. package/dist/diff/ignore.js +43 -0
  43. package/dist/diff/ignore.js.map +1 -0
  44. package/dist/diff/index.d.ts +16 -0
  45. package/dist/diff/index.d.ts.map +1 -0
  46. package/dist/diff/index.js +23 -0
  47. package/dist/diff/index.js.map +1 -0
  48. package/dist/diff/minimap.d.ts +23 -0
  49. package/dist/diff/minimap.d.ts.map +1 -0
  50. package/dist/diff/minimap.js +43 -0
  51. package/dist/diff/minimap.js.map +1 -0
  52. package/dist/diff/regions.d.ts +23 -0
  53. package/dist/diff/regions.d.ts.map +1 -0
  54. package/dist/diff/regions.js +129 -0
  55. package/dist/diff/regions.js.map +1 -0
  56. package/dist/diff/resize.d.ts +27 -0
  57. package/dist/diff/resize.d.ts.map +1 -0
  58. package/dist/diff/resize.js +82 -0
  59. package/dist/diff/resize.js.map +1 -0
  60. package/dist/diff/types.d.ts +79 -0
  61. package/dist/diff/types.d.ts.map +1 -0
  62. package/dist/diff/types.js +10 -0
  63. package/dist/diff/types.js.map +1 -0
  64. package/dist/index.d.ts +8 -0
  65. package/dist/index.d.ts.map +1 -1
  66. package/dist/index.js +23 -2
  67. package/dist/index.js.map +1 -1
  68. package/dist/report/compare.d.ts +18 -0
  69. package/dist/report/compare.d.ts.map +1 -0
  70. package/dist/report/compare.js +163 -0
  71. package/dist/report/compare.js.map +1 -0
  72. package/dist/report/generator.d.ts +31 -0
  73. package/dist/report/generator.d.ts.map +1 -0
  74. package/dist/report/generator.js +123 -0
  75. package/dist/report/generator.js.map +1 -0
  76. package/dist/report/index.d.ts +10 -0
  77. package/dist/report/index.d.ts.map +1 -0
  78. package/dist/report/index.js +13 -0
  79. package/dist/report/index.js.map +1 -0
  80. package/dist/report/results.d.ts +35 -0
  81. package/dist/report/results.d.ts.map +1 -0
  82. package/dist/report/results.js +8 -0
  83. package/dist/report/results.js.map +1 -0
  84. package/dist/report/template.d.ts +14 -0
  85. package/dist/report/template.d.ts.map +1 -0
  86. package/dist/report/template.js +229 -0
  87. package/dist/report/template.js.map +1 -0
  88. package/package.json +58 -15
@@ -5,20 +5,20 @@ const capture_1 = require("./capture");
5
5
  const logger_1 = require("../utils/logger");
6
6
  /**
7
7
  * Client-side script injected into the browser
8
- * This creates a simple function that triggers browser capture
8
+ * This creates a simple function that triggers browser capture via CDP binding
9
9
  */
10
10
  const CLIENT_SCRIPT = `
11
11
  (function() {
12
12
  // Create the witness function
13
13
  window.testivaiWitness = function(name) {
14
- // Store the snapshot name for the browser client to pick up
14
+ // Use the CDP binding
15
+ if (typeof testivaiCapture === 'function') {
16
+ return testivaiCapture(JSON.stringify({ name: name }));
17
+ }
18
+ // Fallback: store for polling
15
19
  window.__testivaiSnapshotName = name;
16
- // Signal that we want to capture
17
20
  window.__testivaiCaptureRequested = Date.now();
18
- // Return a promise that will be resolved by the ACK
19
- return new Promise(function(resolve) {
20
- window.__testivaiResolve = resolve;
21
- });
21
+ return Promise.resolve();
22
22
  };
23
23
  })();
24
24
  `;
@@ -54,6 +54,18 @@ class BrowserBinding {
54
54
  // Enable Runtime domain
55
55
  await this.client.enableDomain('Runtime');
56
56
  await this.client.send('Runtime.enable');
57
+ // Add CDP binding for capture
58
+ await this.client.send('Runtime.addBinding', {
59
+ name: 'testivaiCapture'
60
+ });
61
+ // Listen for binding calls
62
+ this.client.on('Runtime.bindingCalled', (event) => {
63
+ if (event.name === 'testivaiCapture') {
64
+ const payload = JSON.parse(event.payload);
65
+ this.logger.debug('Capture requested via binding:', payload.name);
66
+ this.handleWitnessCall(payload.name);
67
+ }
68
+ });
57
69
  // Inject the client-side script
58
70
  await this.injectClientScript();
59
71
  this.isBindingRegistered = true;
@@ -75,17 +87,63 @@ class BrowserBinding {
75
87
  await this.client.send('Page.addScriptToEvaluateOnNewDocument', {
76
88
  source: CLIENT_SCRIPT,
77
89
  });
78
- // Try to evaluate on the current context
90
+ // Get all targets (pages/frames) and inject script
79
91
  try {
80
- await this.client.send('Runtime.evaluate', {
81
- expression: CLIENT_SCRIPT,
82
- });
83
- logger_1.logger.debug('Client script evaluated in current context');
92
+ // Access the underlying chrome-remote-interface client
93
+ const criClient = this.client.client;
94
+ if (criClient && criClient.Target) {
95
+ // Get all targets
96
+ const targets = await criClient.Target.getTargets();
97
+ for (const targetInfo of targets.targetInfos) {
98
+ if (targetInfo.type === 'page') {
99
+ try {
100
+ // Attach to the target
101
+ const target = await criClient.Target.attachToTarget({
102
+ targetId: targetInfo.targetId,
103
+ flatten: true
104
+ });
105
+ // Get the session
106
+ const session = criClient.session(target.sessionId);
107
+ // Enable Runtime for this session
108
+ await session.Runtime.enable();
109
+ // Evaluate the script in this context
110
+ await session.Runtime.evaluate({
111
+ expression: CLIENT_SCRIPT,
112
+ });
113
+ logger_1.logger.debug(`Client script injected into target: ${targetInfo.url}`);
114
+ // Detach from target
115
+ await criClient.Target.detachFromTarget({
116
+ sessionId: target.sessionId
117
+ });
118
+ }
119
+ catch (error) {
120
+ logger_1.logger.debug(`Failed to inject script into target ${targetInfo.targetId}:`, error);
121
+ }
122
+ }
123
+ }
124
+ }
125
+ else {
126
+ // Fallback: try global evaluation
127
+ await this.client.send('Runtime.evaluate', {
128
+ expression: CLIENT_SCRIPT,
129
+ });
130
+ logger_1.logger.debug('Client script evaluated globally');
131
+ }
84
132
  }
85
133
  catch (error) {
86
- logger_1.logger.debug('Failed to evaluate script in current context (page may not be loaded yet):', error);
134
+ logger_1.logger.debug('Failed to enumerate targets:', error);
135
+ // Fallback: try global evaluation
136
+ try {
137
+ await this.client.send('Runtime.evaluate', {
138
+ expression: CLIENT_SCRIPT,
139
+ });
140
+ logger_1.logger.debug('Client script evaluated globally');
141
+ }
142
+ catch (fallbackError) {
143
+ logger_1.logger.debug('Failed to evaluate script globally:', fallbackError);
144
+ }
87
145
  }
88
- logger_1.logger.debug('Client script injected');
146
+ logger_1.logger.debug('Client script injection complete');
89
147
  }
90
148
  catch (error) {
91
149
  logger_1.logger.error('Failed to inject client script:', error);
@@ -97,6 +155,14 @@ class BrowserBinding {
97
155
  */
98
156
  setupEventListeners() {
99
157
  let isConnected = true;
158
+ let criClient = null;
159
+ // Get the underlying chrome-remote-interface client
160
+ try {
161
+ criClient = this.client.client;
162
+ }
163
+ catch (error) {
164
+ logger_1.logger.debug('Could not access underlying client:', error);
165
+ }
100
166
  // Poll for capture requests
101
167
  const pollInterval = setInterval(async () => {
102
168
  if (!isConnected) {
@@ -104,22 +170,81 @@ class BrowserBinding {
104
170
  return;
105
171
  }
106
172
  try {
107
- const result = await this.client.send('Runtime.evaluate', {
108
- expression: 'window.__testivaiCaptureRequested',
109
- });
110
- if (result.result.value) {
111
- // Get the snapshot name
112
- const nameResult = await this.client.send('Runtime.evaluate', {
113
- expression: 'window.__testivaiSnapshotName',
114
- });
115
- const snapshotName = nameResult.result.value || 'snapshot';
116
- this.logger.debug('Capture requested for:', snapshotName);
117
- // Clear the request flag
118
- await this.client.send('Runtime.evaluate', {
119
- expression: 'window.__testivaiCaptureRequested = null; window.__testivaiSnapshotName = null;',
173
+ let result;
174
+ // Try to evaluate in page context if we have access to targets
175
+ if (criClient && criClient.Target) {
176
+ try {
177
+ // Get targets to find the main page
178
+ const targets = await criClient.Target.getTargets();
179
+ const pageTarget = targets.targetInfos.find((t) => t.type === 'page' && t.url !== 'about:blank');
180
+ if (pageTarget) {
181
+ // Attach to target
182
+ const target = await criClient.Target.attachToTarget({
183
+ targetId: pageTarget.targetId,
184
+ flatten: true
185
+ });
186
+ // Get session
187
+ const session = criClient.session(target.sessionId);
188
+ // Enable Runtime
189
+ await session.Runtime.enable();
190
+ // Evaluate in page context
191
+ result = await session.Runtime.evaluate({
192
+ expression: 'window.__testivaiCaptureRequested',
193
+ });
194
+ if (result.result.value) {
195
+ // Get snapshot name
196
+ const nameResult = await session.Runtime.evaluate({
197
+ expression: 'window.__testivaiSnapshotName',
198
+ });
199
+ const snapshotName = nameResult.result.value || 'snapshot';
200
+ this.logger.debug('Capture requested for:', snapshotName);
201
+ // Clear the request flag
202
+ await session.Runtime.evaluate({
203
+ expression: 'window.__testivaiCaptureRequested = null; window.__testivaiSnapshotName = null;',
204
+ });
205
+ // Handle the capture
206
+ await this.handleWitnessCall(snapshotName);
207
+ }
208
+ // Detach
209
+ await criClient.Target.detachFromTarget({
210
+ sessionId: target.sessionId
211
+ });
212
+ }
213
+ }
214
+ catch (targetError) {
215
+ // Fallback to default context
216
+ result = await this.client.send('Runtime.evaluate', {
217
+ expression: 'window.__testivaiCaptureRequested',
218
+ });
219
+ if (result.result.value) {
220
+ const nameResult = await this.client.send('Runtime.evaluate', {
221
+ expression: 'window.__testivaiSnapshotName',
222
+ });
223
+ const snapshotName = nameResult.result.value || 'snapshot';
224
+ this.logger.debug('Capture requested for:', snapshotName);
225
+ await this.client.send('Runtime.evaluate', {
226
+ expression: 'window.__testivaiCaptureRequested = null; window.__testivaiSnapshotName = null;',
227
+ });
228
+ await this.handleWitnessCall(snapshotName);
229
+ }
230
+ }
231
+ }
232
+ else {
233
+ // Fallback to default context
234
+ result = await this.client.send('Runtime.evaluate', {
235
+ expression: 'window.__testivaiCaptureRequested',
120
236
  });
121
- // Handle the capture
122
- await this.handleWitnessCall(snapshotName);
237
+ if (result.result.value) {
238
+ const nameResult = await this.client.send('Runtime.evaluate', {
239
+ expression: 'window.__testivaiSnapshotName',
240
+ });
241
+ const snapshotName = nameResult.result.value || 'snapshot';
242
+ this.logger.debug('Capture requested for:', snapshotName);
243
+ await this.client.send('Runtime.evaluate', {
244
+ expression: 'window.__testivaiCaptureRequested = null; window.__testivaiSnapshotName = null;',
245
+ });
246
+ await this.handleWitnessCall(snapshotName);
247
+ }
123
248
  }
124
249
  }
125
250
  catch (error) {
@@ -128,11 +253,8 @@ class BrowserBinding {
128
253
  isConnected = false;
129
254
  clearInterval(pollInterval);
130
255
  }
131
- else {
132
- logger_1.logger.debug('Error polling for capture requests:', error);
133
- }
134
256
  }
135
- }, 100);
257
+ }, 100); // Poll every 100ms
136
258
  // Store interval for cleanup
137
259
  this.pollInterval = pollInterval;
138
260
  // Listen for disconnect event
@@ -168,20 +290,29 @@ class BrowserBinding {
168
290
  expression: '{width: window.innerWidth, height: window.innerHeight}',
169
291
  });
170
292
  const viewport = viewportResult.result.value || { width: 1920, height: 1080 };
293
+ // In local mode, skip heavy captures (structure, styles, performance).
294
+ // Only the screenshot is needed for pixel-level visual diffing.
295
+ const isLocal = process.env.TESTIVAI_MODE === 'local';
171
296
  // Capture page structure (HTML)
172
297
  // @renamed: dom → structure (IP protection)
173
- const structureResult = await this.client.send('Runtime.evaluate', {
174
- expression: 'document.documentElement.outerHTML',
175
- });
176
- const structureHtml = structureResult.result.value || '';
298
+ let structureHtml = '';
299
+ if (!isLocal) {
300
+ const structureResult = await this.client.send('Runtime.evaluate', {
301
+ expression: 'document.documentElement.outerHTML',
302
+ });
303
+ structureHtml = structureResult.result.value || '';
304
+ }
177
305
  // Capture computed styles
178
306
  // @renamed: css → styles (IP protection)
179
- const styles = await this.capture.captureComputedStyles().catch(err => {
180
- logger_1.logger.warn('Failed to capture styles:', err);
181
- return { computed_styles: {} };
182
- });
307
+ let styles = { computed_styles: {} };
308
+ if (!isLocal) {
309
+ styles = await this.capture.captureComputedStyles().catch(err => {
310
+ logger_1.logger.warn('Failed to capture styles:', err);
311
+ return { computed_styles: {} };
312
+ });
313
+ }
183
314
  // Capture performance metrics
184
- const performanceMetrics = await this.capturePerformanceMetrics();
315
+ const performanceMetrics = isLocal ? null : await this.capturePerformanceMetrics();
185
316
  // Capture screenshot using Page.captureScreenshot
186
317
  const screenshotResult = await this.client.send('Page.captureScreenshot', {
187
318
  format: 'png',
@@ -1 +1 @@
1
- {"version":3,"file":"binding.js","sourceRoot":"","sources":["../../src/browser/binding.ts"],"names":[],"mappings":";;;AACA,uCAA2C;AAC3C,4CAAuD;AAEvD;;;GAGG;AACH,MAAM,aAAa,GAAG;;;;;;;;;;;;;;CAcrB,CAAC;AAEF;;GAEG;AACH,MAAM,UAAU,GAAG;;;;;;;CAOlB,CAAC;AAEF;;GAEG;AACH,MAAa,cAAc;IAOzB,YAAoB,MAAqB,EAAE,UAA+B,EAAE;QAAxD,WAAM,GAAN,MAAM,CAAe;QALjC,cAAS,GAAU,EAAE,CAAC;QACtB,wBAAmB,GAAG,KAAK,CAAC;QAKlC,qCAAqC;QACrC,IAAI,CAAC,MAAM,GAAG,IAAA,qBAAY,EAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,KAAK,EAAE,CAAC,CAAC;QAC9D,IAAI,CAAC,OAAO,GAAG,IAAI,wBAAc,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;QACpE,IAAI,CAAC,mBAAmB,EAAE,CAAC;IAC7B,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,aAAa;QACjB,IAAI,CAAC;YACH,wBAAwB;YACxB,MAAM,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;YAC1C,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;YAEzC,gCAAgC;YAChC,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAEhC,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;YAChC,eAAM,CAAC,OAAO,CAAC,0CAA0C,CAAC,CAAC;QAC7D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,eAAM,CAAC,KAAK,CAAC,mCAAmC,EAAE,KAAK,CAAC,CAAC;YACzD,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,kBAAkB;QAC9B,IAAI,CAAC;YACH,qBAAqB;YACrB,MAAM,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;YAEvC,0CAA0C;YAC1C,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,uCAAuC,EAAE;gBAC9D,MAAM,EAAE,aAAa;aACtB,CAAC,CAAC;YAEH,yCAAyC;YACzC,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE;oBACzC,UAAU,EAAE,aAAa;iBAC1B,CAAC,CAAC;gBACH,eAAM,CAAC,KAAK,CAAC,4CAA4C,CAAC,CAAC;YAC7D,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,eAAM,CAAC,KAAK,CAAC,4EAA4E,EAAE,KAAK,CAAC,CAAC;YACpG,CAAC;YAED,eAAM,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC;QACzC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,eAAM,CAAC,KAAK,CAAC,iCAAiC,EAAE,KAAK,CAAC,CAAC;YACvD,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED;;OAEG;IACK,mBAAmB;QACzB,IAAI,WAAW,GAAG,IAAI,CAAC;QAEvB,4BAA4B;QAC5B,MAAM,YAAY,GAAG,WAAW,CAAC,KAAK,IAAI,EAAE;YAC1C,IAAI,CAAC,WAAW,EAAE,CAAC;gBACjB,aAAa,CAAC,YAAY,CAAC,CAAC;gBAC5B,OAAO;YACT,CAAC;YAED,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE;oBACxD,UAAU,EAAE,mCAAmC;iBAChD,CAAC,CAAC;gBAEH,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;oBACxB,wBAAwB;oBACxB,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE;wBAC5D,UAAU,EAAE,+BAA+B;qBAC5C,CAAC,CAAC;oBAEH,MAAM,YAAY,GAAG,UAAU,CAAC,MAAM,CAAC,KAAK,IAAI,UAAU,CAAC;oBAC3D,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,wBAAwB,EAAE,YAAY,CAAC,CAAC;oBAE1D,yBAAyB;oBACzB,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE;wBACzC,UAAU,EAAE,iFAAiF;qBAC9F,CAAC,CAAC;oBAEH,qBAAqB;oBACrB,MAAM,IAAI,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAC;gBAC7C,CAAC;YACH,CAAC;YAAC,OAAO,KAAU,EAAE,CAAC;gBACpB,IAAI,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAAC,EAAE,CAAC;oBACrE,eAAM,CAAC,KAAK,CAAC,oCAAoC,CAAC,CAAC;oBACnD,WAAW,GAAG,KAAK,CAAC;oBACpB,aAAa,CAAC,YAAY,CAAC,CAAC;gBAC9B,CAAC;qBAAM,CAAC;oBACN,eAAM,CAAC,KAAK,CAAC,qCAAqC,EAAE,KAAK,CAAC,CAAC;gBAC7D,CAAC;YACH,CAAC;QACH,CAAC,EAAE,GAAG,CAAC,CAAC;QAER,6BAA6B;QAC7B,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QAEjC,8BAA8B;QAC9B,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,YAAY,EAAE,GAAG,EAAE;YAChC,eAAM,CAAC,KAAK,CAAC,wCAAwC,CAAC,CAAC;YACvD,WAAW,GAAG,KAAK,CAAC;YACpB,aAAa,CAAC,YAAY,CAAC,CAAC;QAC9B,CAAC,CAAC,CAAC;QAEH,kDAAkD;QAClD,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,gBAAgB,EAAE,KAAK,IAAI,EAAE;YAC1C,IAAI,IAAI,CAAC,mBAAmB,IAAI,WAAW,EAAE,CAAC;gBAC5C,eAAM,CAAC,KAAK,CAAC,6CAA6C,CAAC,CAAC;gBAC5D,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAClC,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,iBAAiB,CAAC,YAAoB;QAClD,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,YAAY,IAAI,UAAU,CAAC;YACxC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,uBAAuB,IAAI,EAAE,CAAC,CAAC;YAEjD,4CAA4C;YAC5C,MAAM,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;YAEvC,kBAAkB;YAClB,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE;gBAC3D,UAAU,EAAE,sBAAsB;aACnC,CAAC,CAAC;YACH,MAAM,UAAU,GAAG,SAAS,CAAC,MAAM,CAAC,KAAK,IAAI,aAAa,CAAC;YAE3D,oBAAoB;YACpB,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE;gBAChE,UAAU,EAAE,wDAAwD;aACrE,CAAC,CAAC;YACH,MAAM,QAAQ,GAAG,cAAc,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;YAE9E,gCAAgC;YAChC,4CAA4C;YAC5C,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE;gBACjE,UAAU,EAAE,oCAAoC;aACjD,CAAC,CAAC;YACH,MAAM,aAAa,GAAG,eAAe,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC;YAEzD,0BAA0B;YAC1B,yCAAyC;YACzC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,qBAAqB,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;gBACpE,eAAM,CAAC,IAAI,CAAC,2BAA2B,EAAE,GAAG,CAAC,CAAC;gBAC9C,OAAO,EAAE,eAAe,EAAE,EAAE,EAAE,CAAC;YACjC,CAAC,CAAC,CAAC;YAEH,8BAA8B;YAC9B,MAAM,kBAAkB,GAAG,MAAM,IAAI,CAAC,yBAAyB,EAAE,CAAC;YAElE,kDAAkD;YAClD,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,wBAAwB,EAAE;gBACxE,MAAM,EAAE,KAAK;gBACb,qBAAqB,EAAE,IAAI;aAC5B,CAAC,CAAC;YAEH,yBAAyB;YACzB,0DAA0D;YAC1D,MAAM,QAAQ,GAAG;gBACf,IAAI;gBACJ,UAAU,EAAE,gBAAgB,CAAC,IAAI;gBACjC,SAAS,EAAE,aAAa;gBACxB,MAAM;gBACN,kBAAkB;gBAClB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;gBACnC,GAAG,EAAE,UAAU;gBACf,QAAQ;aACT,CAAC;YAEF,yBAAyB;YACzB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC9B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,sBAAsB,IAAI,EAAE,CAAC,CAAC;YAEhD,kCAAkC;YAClC,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;YAErB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,uBAAuB,IAAI,EAAE,CAAC,CAAC;QACnD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,qCAAqC,YAAY,GAAG,EAAE,KAAK,CAAC,CAAC;YAE/E,2CAA2C;YAC3C,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;QACvB,CAAC;IACH,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,yBAAyB;QACrC,IAAI,CAAC;YACH,4BAA4B;YAC5B,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;YAE7C,kCAAkC;YAClC,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;YAExE,kCAAkC;YAClC,MAAM,iBAAiB,GAAQ,EAAE,CAAC;YAClC,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAW,EAAE,EAAE;gBAC7C,iBAAiB,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC;YAChD,CAAC,CAAC,CAAC;YAEH,4DAA4D;YAC5D,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE;gBAC9D,UAAU,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SAyEX;aACF,CAAC,CAAC;YAEH,MAAM,UAAU,GAAG,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC;YAE7C,6BAA6B;YAC7B,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;YAE9C,OAAO;gBACL,OAAO,EAAE,iBAAiB;gBAC1B,MAAM,EAAE,UAAU;gBAClB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;aACtB,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,eAAM,CAAC,IAAI,CAAC,wCAAwC,EAAE,KAAK,CAAC,CAAC;YAC7D,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,OAAO;QACnB,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE;gBACzC,UAAU,EAAE,UAAU;aACvB,CAAC,CAAC;YACH,eAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAC3B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,eAAM,CAAC,KAAK,CAAC,qBAAqB,EAAE,KAAK,CAAC,CAAC;QAC7C,CAAC;IACH,CAAC;IAED;;OAEG;IACH,YAAY;QACV,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED;;OAEG;IACH,cAAc;QACZ,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;QACpB,eAAM,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;IACpC,CAAC;IAED;;OAEG;IACH,YAAY;QACV,OAAO,IAAI,CAAC,mBAAmB,CAAC;IAClC,CAAC;IAED;;OAEG;IACH,OAAO;QACL,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YACjC,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC;QAChC,CAAC;IACH,CAAC;CACF;AAxWD,wCAwWC"}
1
+ {"version":3,"file":"binding.js","sourceRoot":"","sources":["../../src/browser/binding.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"capture.d.ts","sourceRoot":"","sources":["../../src/browser/capture.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,OAAO,EAAE,eAAe,EAAyC,MAAM,UAAU,CAAC;AAGlF;;GAEG;AACH,qBAAa,cAAc;IAGb,OAAO,CAAC,MAAM;IAF1B,OAAO,CAAC,MAAM,CAAM;gBAEA,MAAM,EAAE,aAAa,EAAE,OAAO,GAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAO;IAK5E;;OAEG;IACG,eAAe,CAAC,YAAY,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;IAuDxF;;OAEG;YACW,iBAAiB;IAmB/B;;;OAGG;YACW,gBAAgB;IA2B9B;;;OAGG;YACW,iBAAiB;IA6E/B;;OAEG;YACW,eAAe;IAmB7B;;OAEG;IACG,qBAAqB,IAAI,OAAO,CAAC;QAAE,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;KAAE,CAAC;IAyFnG;;OAEG;YACW,aAAa;IAkC3B;;OAEG;YACW,yBAAyB;IA0GvC;;OAEG;YACW,aAAa;IAc3B;;OAEG;YACW,WAAW;IAqBzB;;OAEG;IACG,iBAAiB,IAAI,OAAO,CAAC,GAAG,GAAG,SAAS,CAAC;CAMpD"}
1
+ {"version":3,"file":"capture.d.ts","sourceRoot":"","sources":["../../src/browser/capture.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,OAAO,EAAE,eAAe,EAAyC,MAAM,UAAU,CAAC;AAGlF;;GAEG;AACH,qBAAa,cAAc;IAGb,OAAO,CAAC,MAAM;IAF1B,OAAO,CAAC,MAAM,CAAM;gBAEA,MAAM,EAAE,aAAa,EAAE,OAAO,GAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAO;IAK5E;;OAEG;IACG,eAAe,CAAC,YAAY,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;IA2DxF;;OAEG;YACW,iBAAiB;IAmB/B;;;OAGG;YACW,gBAAgB;IA2B9B;;;OAGG;YACW,iBAAiB;IA6E/B;;OAEG;YACW,eAAe;IAmB7B;;OAEG;IACG,qBAAqB,IAAI,OAAO,CAAC;QAAE,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;KAAE,CAAC;IAyFnG;;OAEG;YACW,aAAa;IAkC3B;;OAEG;YACW,yBAAyB;IA0GvC;;OAEG;YACW,aAAa;IAc3B;;OAEG;YACW,WAAW;IAqBzB;;OAEG;IACG,iBAAiB,IAAI,OAAO,CAAC,GAAG,GAAG,SAAS,CAAC;CAMpD"}
@@ -24,16 +24,19 @@ class BrowserCapture {
24
24
  const viewport = await this.getViewport();
25
25
  // Capture screenshot
26
26
  const screenshotData = await this.captureScreenshot();
27
+ // In local mode, skip heavy captures (structure, styles, layout, performance).
28
+ // Only the screenshot is needed for pixel-level visual diffing.
29
+ const isLocal = process.env.TESTIVAI_MODE === 'local';
27
30
  // Capture page structure (HTML)
28
31
  // @renamed: dom → structure (IP protection)
29
- const structure = await this.captureStructure();
32
+ const structure = isLocal ? { html: '' } : await this.captureStructure();
30
33
  // Capture computed styles
31
34
  // @renamed: css → styles (IP protection)
32
- const styles = await this.captureComputedStyles();
35
+ const styles = isLocal ? { computed_styles: {} } : await this.captureComputedStyles();
33
36
  // Capture layout
34
- const layout = await this.captureLayout();
37
+ const layout = isLocal ? { x: 0, y: 0, width: 0, height: 0 } : await this.captureLayout();
35
38
  // Capture performance metrics (optional)
36
- const performanceMetrics = await this.capturePerformanceTimings();
39
+ const performanceMetrics = isLocal ? undefined : await this.capturePerformanceTimings();
37
40
  // DEBUG: Log what data has been captured
38
41
  this.logger.info(`=== DEBUG: Captured Data for ${snapshotName} ===`);
39
42
  this.logger.info(`Structure captured: ${structure ? 'YES' : 'NO'}${structure ? ` (size: ${JSON.stringify(structure).length} chars)` : ''}`);
@@ -1 +1 @@
1
- {"version":3,"file":"capture.js","sourceRoot":"","sources":["../../src/browser/capture.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"capture.js","sourceRoot":"","sources":["../../src/browser/capture.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { Command } from 'commander';
2
+ export declare const approveCommand: Command;
3
+ //# sourceMappingURL=approve.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"approve.d.ts","sourceRoot":"","sources":["../../src/commands/approve.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAKpC,eAAO,MAAM,cAAc,SAsFvB,CAAC"}
@@ -0,0 +1,94 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.approveCommand = void 0;
7
+ const commander_1 = require("commander");
8
+ const chalk_1 = __importDefault(require("chalk"));
9
+ const store_1 = require("../baselines/store");
10
+ const logger_1 = require("../utils/logger");
11
+ exports.approveCommand = new commander_1.Command('approve')
12
+ .description('Approve visual snapshots as new baselines')
13
+ .argument('[name]', 'Snapshot name to approve (omit for interactive list)')
14
+ .option('--all', 'Approve all changed/new snapshots')
15
+ .option('--undo', 'Undo the last approval (restore previous baseline)')
16
+ .action(async (name, options) => {
17
+ try {
18
+ const cwd = process.cwd();
19
+ const store = new store_1.BaselineStore(cwd);
20
+ // ── Undo mode ─────────────────────────────────────────────────────────
21
+ if (options.undo) {
22
+ if (!name) {
23
+ logger_1.logger.error('Please specify a snapshot name to undo: testivai approve --undo <name>');
24
+ process.exit(1);
25
+ }
26
+ try {
27
+ store.undo(name);
28
+ console.log(chalk_1.default.green(` ✓ Restored previous baseline for "${name}"`));
29
+ console.log(chalk_1.default.gray(` git add .testivai/baselines/${name}/`));
30
+ }
31
+ catch (err) {
32
+ logger_1.logger.error(err.message);
33
+ process.exit(1);
34
+ }
35
+ return;
36
+ }
37
+ // ── Approve all ─────────────────────────────────────────────────────────
38
+ if (options.all) {
39
+ const tempNames = store.listTemp();
40
+ if (tempNames.length === 0) {
41
+ console.log(chalk_1.default.yellow(' No temp snapshots found. Run your tests first.'));
42
+ return;
43
+ }
44
+ let approved = 0;
45
+ for (const snapName of tempNames) {
46
+ try {
47
+ store.approve(snapName);
48
+ console.log(chalk_1.default.green(` ✓ Approved: ${snapName}`));
49
+ approved++;
50
+ }
51
+ catch (err) {
52
+ logger_1.logger.error(` ✗ Failed to approve "${snapName}": ${err.message}`);
53
+ }
54
+ }
55
+ console.log();
56
+ console.log(chalk_1.default.cyan(` ${approved}/${tempNames.length} snapshot(s) approved.`));
57
+ console.log(chalk_1.default.gray(' git add .testivai/baselines/'));
58
+ return;
59
+ }
60
+ // ── Approve specific name ─────────────────────────────────────────────
61
+ if (name) {
62
+ try {
63
+ store.approve(name);
64
+ console.log(chalk_1.default.green(` ✓ Approved: ${name}`));
65
+ console.log(chalk_1.default.gray(` git add .testivai/baselines/${name}/`));
66
+ }
67
+ catch (err) {
68
+ logger_1.logger.error(err.message);
69
+ process.exit(1);
70
+ }
71
+ return;
72
+ }
73
+ // ── No name, no --all: show available snapshots ─────────────────────────
74
+ const tempNames = store.listTemp();
75
+ if (tempNames.length === 0) {
76
+ console.log(chalk_1.default.yellow(' No temp snapshots found. Run your tests first.'));
77
+ return;
78
+ }
79
+ console.log(chalk_1.default.cyan(' Available snapshots to approve:\n'));
80
+ for (const snapName of tempNames) {
81
+ const isNew = !store.exists(snapName);
82
+ const label = isNew ? chalk_1.default.yellow('[new]') : chalk_1.default.red('[changed]');
83
+ console.log(` ${label} ${snapName}`);
84
+ }
85
+ console.log();
86
+ console.log(chalk_1.default.gray(' To approve: testivai approve <name>'));
87
+ console.log(chalk_1.default.gray(' To approve all: testivai approve --all'));
88
+ }
89
+ catch (error) {
90
+ logger_1.logger.error('Approve failed:', error);
91
+ process.exit(1);
92
+ }
93
+ });
94
+ //# sourceMappingURL=approve.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"approve.js","sourceRoot":"","sources":["../../src/commands/approve.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAgGpC,eAAO,MAAM,WAAW,SA4IpB,CAAC"}
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAiGpC,eAAO,MAAM,WAAW,SAoMpB,CAAC"}
@@ -45,6 +45,7 @@ const inquirer_1 = __importDefault(require("inquirer"));
45
45
  const framework_detect_1 = require("../utils/framework-detect");
46
46
  const logger_1 = require("../utils/logger");
47
47
  const template_generator_1 = require("../utils/template-generator");
48
+ const local_config_1 = require("../config/local-config");
48
49
  const LANGUAGE_CHOICES = [
49
50
  { name: 'JavaScript / TypeScript', value: 'javascript' },
50
51
  { name: 'Python', value: 'python' },
@@ -170,6 +171,58 @@ ${chalk_1.default.gray('For more information, see: https://docs.testiv.ai')}
170
171
  console.log(chalk_1.default.cyan.bold(' ║ TestivAI Visual Regression Setup ║'));
171
172
  console.log(chalk_1.default.cyan.bold(' ╚══════════════════════════════════════╝'));
172
173
  console.log();
174
+ // ── Mode selection ──────────────────────────────────────────────────
175
+ const { mode } = await inquirer_1.default.prompt([
176
+ {
177
+ type: 'list',
178
+ name: 'mode',
179
+ message: 'Select mode:',
180
+ choices: [
181
+ { name: 'Local (free) — visual diffs on your machine, HTML reports', value: 'local' },
182
+ { name: 'Cloud — AI-powered analysis, team dashboard, CI integration', value: 'cloud' },
183
+ ],
184
+ },
185
+ ]);
186
+ if (mode === 'local') {
187
+ // Create .testivai/config.json and baselines directory
188
+ const config = (0, local_config_1.createDefaultConfig)(cwd, { mode: 'local' });
189
+ const baselinesDir = path.join(cwd, '.testivai', 'baselines');
190
+ fs.mkdirSync(baselinesDir, { recursive: true });
191
+ // Update .gitignore
192
+ const gitignorePath = path.join(cwd, '.gitignore');
193
+ const gitignoreEntries = [
194
+ '\n# TestivAI local mode',
195
+ '.testivai/temp/',
196
+ 'visual-report/',
197
+ ];
198
+ const gitignoreContent = gitignoreEntries.join('\n') + '\n';
199
+ if (fs.existsSync(gitignorePath)) {
200
+ const existing = fs.readFileSync(gitignorePath, 'utf-8');
201
+ if (!existing.includes('.testivai/temp/')) {
202
+ fs.appendFileSync(gitignorePath, gitignoreContent);
203
+ }
204
+ }
205
+ else {
206
+ fs.writeFileSync(gitignorePath, gitignoreContent);
207
+ }
208
+ console.log(chalk_1.default.green(' ✓ Created: .testivai/config.json'));
209
+ console.log(chalk_1.default.green(' ✓ Created: .testivai/baselines/'));
210
+ console.log(chalk_1.default.green(' ✓ Updated: .gitignore'));
211
+ console.log();
212
+ printBox([
213
+ 'Local mode setup complete! Next steps:',
214
+ '',
215
+ '1. Add visual snapshots in your tests',
216
+ '2. Run: npx testivai run "<your-test-command>"',
217
+ '3. Review the HTML report',
218
+ '4. Approve: npx testivai approve --all',
219
+ '',
220
+ 'Docs: https://testiv.ai/docs#local-mode',
221
+ ]);
222
+ console.log();
223
+ return;
224
+ }
225
+ // ── Cloud mode: continue with existing flow ──────────────────────────
173
226
  const { language } = await inquirer_1.default.prompt([
174
227
  {
175
228
  type: 'list',