swipium 2.0.1 → 2.2.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.
Files changed (150) hide show
  1. package/CHANGELOG.md +64 -0
  2. package/README.md +32 -20
  3. package/THREAT_MODEL.md +109 -21
  4. package/dist/automationGen/run.js.map +1 -1
  5. package/dist/cli/init.js +101 -11
  6. package/dist/cli/init.js.map +1 -1
  7. package/dist/cli/verify.js +2 -2
  8. package/dist/cli/verify.js.map +1 -1
  9. package/dist/consent/consent.js +365 -17
  10. package/dist/consent/consent.js.map +1 -1
  11. package/dist/context/projectRoot.js +9 -4
  12. package/dist/context/projectRoot.js.map +1 -1
  13. package/dist/context/protocolEra.js +15 -0
  14. package/dist/context/protocolEra.js.map +1 -0
  15. package/dist/drivers/DirectDriver.js +5 -2
  16. package/dist/drivers/DirectDriver.js.map +1 -1
  17. package/dist/featureTesting/executionBootstrap.js +85 -77
  18. package/dist/featureTesting/executionBootstrap.js.map +1 -1
  19. package/dist/flows/run.js +9 -5
  20. package/dist/flows/run.js.map +1 -1
  21. package/dist/lib/abortScope.js +36 -3
  22. package/dist/lib/abortScope.js.map +1 -1
  23. package/dist/lib/android.js +15 -6
  24. package/dist/lib/android.js.map +1 -1
  25. package/dist/lib/codexEnv.js +112 -0
  26. package/dist/lib/codexEnv.js.map +1 -0
  27. package/dist/lib/logger.js +18 -0
  28. package/dist/lib/logger.js.map +1 -1
  29. package/dist/lib/result.js +188 -10
  30. package/dist/lib/result.js.map +1 -1
  31. package/dist/lib/schemaHash.js +20 -31
  32. package/dist/lib/schemaHash.js.map +1 -1
  33. package/dist/lib/simctl.js +102 -3
  34. package/dist/lib/simctl.js.map +1 -1
  35. package/dist/lib/toolSchema.js +143 -0
  36. package/dist/lib/toolSchema.js.map +1 -0
  37. package/dist/lib/wda.js +5 -2
  38. package/dist/lib/wda.js.map +1 -1
  39. package/dist/mobileAudit/runner.js +12 -4
  40. package/dist/mobileAudit/runner.js.map +1 -1
  41. package/dist/oracle/failures.js +2 -2
  42. package/dist/oracle/failures.js.map +1 -1
  43. package/dist/orchestration/testThis/execute.js +21 -4
  44. package/dist/orchestration/testThis/execute.js.map +1 -1
  45. package/dist/orchestration/testThis/pipeline.js +2 -0
  46. package/dist/orchestration/testThis/pipeline.js.map +1 -1
  47. package/dist/orchestration/testThis/plan.js.map +1 -1
  48. package/dist/server.js +564 -139
  49. package/dist/server.js.map +1 -1
  50. package/dist/services/prepareAndroid.js +3 -2
  51. package/dist/services/prepareAndroid.js.map +1 -1
  52. package/dist/services/prepareIos.js +31 -4
  53. package/dist/services/prepareIos.js.map +1 -1
  54. package/dist/services/smoke.js +38 -4
  55. package/dist/services/smoke.js.map +1 -1
  56. package/dist/session/processRegistry.js +12 -1
  57. package/dist/session/processRegistry.js.map +1 -1
  58. package/dist/snapshot/parse.js +64 -9
  59. package/dist/snapshot/parse.js.map +1 -1
  60. package/dist/snapshot/present.js +14 -4
  61. package/dist/snapshot/present.js.map +1 -1
  62. package/dist/snapshot/settle.js +14 -3
  63. package/dist/snapshot/settle.js.map +1 -1
  64. package/dist/tools/act.js +694 -670
  65. package/dist/tools/act.js.map +1 -1
  66. package/dist/tools/agent.js +15 -16
  67. package/dist/tools/agent.js.map +1 -1
  68. package/dist/tools/appControl.js +4 -4
  69. package/dist/tools/appControl.js.map +1 -1
  70. package/dist/tools/appMap.js +11 -13
  71. package/dist/tools/appMap.js.map +1 -1
  72. package/dist/tools/build.js +4 -6
  73. package/dist/tools/build.js.map +1 -1
  74. package/dist/tools/bundletool.js +3 -3
  75. package/dist/tools/bundletool.js.map +1 -1
  76. package/dist/tools/clearOverlay.js +2 -3
  77. package/dist/tools/clearOverlay.js.map +1 -1
  78. package/dist/tools/device.js +4 -3
  79. package/dist/tools/device.js.map +1 -1
  80. package/dist/tools/doctor.js +23 -11
  81. package/dist/tools/doctor.js.map +1 -1
  82. package/dist/tools/explore.js +15 -21
  83. package/dist/tools/explore.js.map +1 -1
  84. package/dist/tools/featureTesting.js +22 -6
  85. package/dist/tools/featureTesting.js.map +1 -1
  86. package/dist/tools/firstRun.js +4 -5
  87. package/dist/tools/firstRun.js.map +1 -1
  88. package/dist/tools/flow.js +13 -17
  89. package/dist/tools/flow.js.map +1 -1
  90. package/dist/tools/flowRepair.js +3 -5
  91. package/dist/tools/flowRepair.js.map +1 -1
  92. package/dist/tools/generate.js +10 -11
  93. package/dist/tools/generate.js.map +1 -1
  94. package/dist/tools/getArtifact.js +114 -10
  95. package/dist/tools/getArtifact.js.map +1 -1
  96. package/dist/tools/health.js +2 -1
  97. package/dist/tools/health.js.map +1 -1
  98. package/dist/tools/ios.js +35 -13
  99. package/dist/tools/ios.js.map +1 -1
  100. package/dist/tools/issues.js +8 -8
  101. package/dist/tools/issues.js.map +1 -1
  102. package/dist/tools/jobs.js +26 -10
  103. package/dist/tools/jobs.js.map +1 -1
  104. package/dist/tools/metro.js +4 -5
  105. package/dist/tools/metro.js.map +1 -1
  106. package/dist/tools/mobileAudit.js +11 -10
  107. package/dist/tools/mobileAudit.js.map +1 -1
  108. package/dist/tools/note.js +2 -3
  109. package/dist/tools/note.js.map +1 -1
  110. package/dist/tools/prepareIosTarget.js +102 -31
  111. package/dist/tools/prepareIosTarget.js.map +1 -1
  112. package/dist/tools/prepareTarget.js +3 -5
  113. package/dist/tools/prepareTarget.js.map +1 -1
  114. package/dist/tools/report.js +4 -5
  115. package/dist/tools/report.js.map +1 -1
  116. package/dist/tools/resolveArtifact.js +2 -3
  117. package/dist/tools/resolveArtifact.js.map +1 -1
  118. package/dist/tools/resolveTarget.js +3 -6
  119. package/dist/tools/resolveTarget.js.map +1 -1
  120. package/dist/tools/screenRecord.js +2 -3
  121. package/dist/tools/screenRecord.js.map +1 -1
  122. package/dist/tools/screenshot.js +2 -2
  123. package/dist/tools/screenshot.js.map +1 -1
  124. package/dist/tools/smoke.js +4 -2
  125. package/dist/tools/smoke.js.map +1 -1
  126. package/dist/tools/snapshot.js +6 -7
  127. package/dist/tools/snapshot.js.map +1 -1
  128. package/dist/tools/startSession.js +12 -16
  129. package/dist/tools/startSession.js.map +1 -1
  130. package/dist/tools/suite.js +2 -4
  131. package/dist/tools/suite.js.map +1 -1
  132. package/dist/tools/testSuite.js +13 -19
  133. package/dist/tools/testSuite.js.map +1 -1
  134. package/dist/tools/testThis.js +28 -13
  135. package/dist/tools/testThis.js.map +1 -1
  136. package/dist/tools/visual.js +7 -9
  137. package/dist/tools/visual.js.map +1 -1
  138. package/dist/tools/wait.js +130 -21
  139. package/dist/tools/wait.js.map +1 -1
  140. package/dist/tools/wda.js +199 -60
  141. package/dist/tools/wda.js.map +1 -1
  142. package/dist/version.js +1 -1
  143. package/docs/README.md +4 -4
  144. package/docs/ci-reports.md +39 -7
  145. package/docs/concepts.md +37 -25
  146. package/docs/flows.md +1 -1
  147. package/docs/mcp-server.md +281 -76
  148. package/docs/physical-devices.md +4 -4
  149. package/docs/tools.md +59 -30
  150. package/package.json +4 -3
@@ -208,15 +208,70 @@ export function parseSnapshot(xml, opts = {}) {
208
208
  export function signature(el) {
209
209
  return `${el.role}|${el.label ?? ''}|${el.id ?? ''}|${el.text ?? ''}`;
210
210
  }
211
- /** Compact, token-cheap render of the element list for the model. */
211
+ /** Longest label / text an element line carries; longer values are cut with "...". Applied after
212
+ * redaction, so a cut can never split a secret out of the redactor's reach. */
213
+ export const ELEMENT_LINE_MAX_LABEL_CHARS = 80;
214
+ /** JSON-quoted (escapes quotes, backslashes, newlines, control chars) and capped by code point. */
215
+ function quoteCapped(s) {
216
+ if (s.length > ELEMENT_LINE_MAX_LABEL_CHARS) {
217
+ const cps = [...s];
218
+ if (cps.length > ELEMENT_LINE_MAX_LABEL_CHARS)
219
+ s = `${cps.slice(0, ELEMENT_LINE_MAX_LABEL_CHARS).join('')}...`;
220
+ }
221
+ return JSON.stringify(s);
222
+ }
223
+ /** Ids are emitted bare when they are a plain token, else quoted (iOS accessibility ids can hold spaces). */
224
+ const BARE_ID = /^[\w.:/-]+$/;
225
+ /**
226
+ * One element as a single line, the form both channels carry (structuredContent `elements` outside
227
+ * verbose mode, and the text block):
228
+ *
229
+ * @e3 [button] "Log in" #login_btn text="Sign in" [40,200][1040,245] (focused,secure,non-clickable)
230
+ *
231
+ * ref, [role], the name (label, else text; "" when neither), #id when present, text="..." only when
232
+ * it differs from the label, bounds as [x1,y1][x2,y2] (left out when unknown), then flags in
233
+ * parentheses when any apply. Pass the elements through presentElements first: it masks secure
234
+ * values and scrubs known secrets; this function only formats.
235
+ */
236
+ export function renderElementLine(e) {
237
+ const name = e.label ?? e.text ?? '';
238
+ const parts = [`${e.ref} [${e.role}] ${quoteCapped(name)}`];
239
+ if (e.id)
240
+ parts.push(`#${BARE_ID.test(e.id) ? e.id : JSON.stringify(e.id)}`);
241
+ if (e.label !== undefined && e.text !== undefined && e.text !== e.label)
242
+ parts.push(`text=${quoteCapped(e.text)}`);
243
+ const b = e.bounds;
244
+ if (b && (b[0] || b[1] || b[2] || b[3]))
245
+ parts.push(`[${b[0]},${b[1]}][${b[2]},${b[3]}]`);
246
+ const flags = [e.focused ? 'focused' : '', e.secure ? 'secure' : '', e.clickable ? '' : 'non-clickable'].filter(Boolean);
247
+ if (flags.length)
248
+ parts.push(`(${flags.join(',')})`);
249
+ return parts.join(' ');
250
+ }
251
+ /** Compact, token-cheap render of the element list for the model (one renderElementLine per element). */
212
252
  export function renderElements(elements) {
213
- return elements
214
- .map((e) => {
215
- const name = e.label ?? e.text ?? '';
216
- const id = e.id ? ` #${e.id}` : '';
217
- const flags = [e.focused ? 'focused' : '', e.clickable ? '' : 'non-clickable'].filter(Boolean).join(',');
218
- return `${e.ref} [${e.role}] ${JSON.stringify(name)}${id}${flags ? ` (${flags})` : ''}`;
219
- })
220
- .join('\n');
253
+ return elements.map(renderElementLine).join('\n');
254
+ }
255
+ const Q = '"(?:[^"\\\\]|\\\\.)*"';
256
+ const ELEMENT_LINE_RE = new RegExp(`^(@e\\d+) \\[([^\\]]*)\\] (${Q})(?: #(${Q}|\\S+))?(?: text=(${Q}))?(?: \\[(-?\\d+),(-?\\d+)\\]\\[(-?\\d+),(-?\\d+)\\])?(?: \\(([^)]*)\\))?$`);
257
+ /** Decode a renderElementLine string; undefined when it is not one. For clients and tests that
258
+ * want fields back without asking for responseMode "verbose". */
259
+ export function parseElementLine(line) {
260
+ const m = ELEMENT_LINE_RE.exec(line);
261
+ if (!m)
262
+ return undefined;
263
+ const flags = new Set((m[10] ?? '').split(',').filter(Boolean));
264
+ const id = m[4] === undefined ? undefined : m[4].startsWith('"') ? JSON.parse(m[4]) : m[4];
265
+ return {
266
+ ref: m[1],
267
+ role: m[2],
268
+ name: JSON.parse(m[3]),
269
+ ...(id !== undefined ? { id } : {}),
270
+ ...(m[5] !== undefined ? { text: JSON.parse(m[5]) } : {}),
271
+ ...(m[6] !== undefined ? { bounds: [Number(m[6]), Number(m[7]), Number(m[8]), Number(m[9])] } : {}),
272
+ clickable: !flags.has('non-clickable'),
273
+ focused: flags.has('focused'),
274
+ secure: flags.has('secure'),
275
+ };
221
276
  }
222
277
  //# sourceMappingURL=parse.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"parse.js","sourceRoot":"","sources":["../../src/snapshot/parse.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parse.js","sourceRoot":"","sources":["../../src/snapshot/parse.ts"],"names":[],"mappings":"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"}
@@ -5,7 +5,14 @@
5
5
  // the most interaction-relevant elements (focused/clickable/fields/scrollables) are kept,
6
6
  // document order is preserved, and a trailing hint says how to see the rest.
7
7
  // Used by qa_snapshot and qa_act so neither leaks credentials nor floods the context.
8
- import { renderElements } from './parse.js';
8
+ //
9
+ // Payload shape: Claude Code and Codex show the model structuredContent, not the text block, so the
10
+ // `elements` a tool returns are the same one-line @eN strings the text block renders
11
+ // (renderElementLine), not one JSON object per element (~60% smaller). responseMode "verbose"
12
+ // returns the full objects instead. Internal code never reads the encoded result: it reads
13
+ // session.lastSnapshot (raw nodes) or a fresh parseSnapshot.
14
+ import { renderElementLine } from './parse.js';
15
+ import { currentResponseMode } from '../lib/result.js';
9
16
  /** Max elements rendered/returned per snapshot (qa_snapshot / qa_act post-action observation). */
10
17
  export const MAX_PRESENTED_ELEMENTS = 60;
11
18
  /** Higher = more interaction-relevant; used only to choose WHICH elements survive the cap. */
@@ -24,8 +31,10 @@ export function presentElements(elements, redact, opts = {}) {
24
31
  }
25
32
  : { ...e, label: redact(e.label), text: redact(e.text) });
26
33
  const max = opts.max ?? MAX_PRESENTED_ELEMENTS;
34
+ const verbose = currentResponseMode() === 'verbose';
27
35
  if (masked.length <= max) {
28
- return { elements: masked, rendered: renderElements(masked), omitted: 0 };
36
+ const lines = masked.map(renderElementLine);
37
+ return { elements: masked, lines, payload: verbose ? masked : lines, rendered: lines.join('\n'), omitted: 0 };
29
38
  }
30
39
  // Keep the top-N by interaction relevance, then restore document order so the list still
31
40
  // reads top-to-bottom like the screen.
@@ -36,7 +45,8 @@ export function presentElements(elements, redact, opts = {}) {
36
45
  .sort((a, b) => a.i - b.i)
37
46
  .map((x) => x.e);
38
47
  const omitted = masked.length - kept.length;
39
- const rendered = renderElements(kept) + `\n…${omitted} more element(s) not shown. Re-run qa_snapshot with { filter } (or qa_inspect a ref) to see them.`;
40
- return { elements: kept, rendered, omitted };
48
+ const lines = kept.map(renderElementLine);
49
+ const rendered = lines.join('\n') + `\n…${omitted} more element(s) not shown. Re-run qa_snapshot with { filter } (or qa_inspect a ref) to see them.`;
50
+ return { elements: kept, lines, payload: verbose ? kept : lines, rendered, omitted };
41
51
  }
42
52
  //# sourceMappingURL=present.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"present.js","sourceRoot":"","sources":["../../src/snapshot/present.ts"],"names":[],"mappings":"AAAA,sEAAsE;AACtE,8CAA8C;AAC9C,8EAA8E;AAC9E,6FAA6F;AAC7F,6FAA6F;AAC7F,gFAAgF;AAChF,sFAAsF;AAGtF,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAG5C,kGAAkG;AAClG,MAAM,CAAC,MAAM,sBAAsB,GAAG,EAAE,CAAC;AAEzC,8FAA8F;AAC9F,SAAS,SAAS,CAAC,CAAkB;IACnC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,YAAY,IAAI,CAAC,CAAC,IAAI,KAAK,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACpH,CAAC;AAED,MAAM,UAAU,eAAe,CAC7B,QAA2B,EAC3B,MAAgB,EAChB,OAAyB,EAAE;IAE3B,iGAAiG;IACjG,8FAA8F;IAC9F,mFAAmF;IACnF,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAChC,CAAC,CAAC,MAAM;QACN,CAAC,CAAC;YACE,GAAG,CAAC;YACJ,KAAK,EAAE,CAAC,CAAC,IAAI,KAAK,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC;YACrF,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS;SACtC;QACH,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAC3D,CAAC;IACF,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,sBAAsB,CAAC;IAC/C,IAAI,MAAM,CAAC,MAAM,IAAI,GAAG,EAAE,CAAC;QACzB,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,cAAc,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;IAC5E,CAAC;IACD,yFAAyF;IACzF,uCAAuC;IACvC,MAAM,IAAI,GAAG,MAAM;SAChB,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;SACzB,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;SAC5D,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC;SACb,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;SACzB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACnB,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;IAC5C,MAAM,QAAQ,GACZ,cAAc,CAAC,IAAI,CAAC,GAAG,MAAM,OAAO,mGAAmG,CAAC;IAC1I,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC;AAC/C,CAAC"}
1
+ {"version":3,"file":"present.js","sourceRoot":"","sources":["../../src/snapshot/present.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,7 @@
5
5
  // ADAPTIVE (sleep only `intervalMs - lastDumpDuration`), and every dump is bounded by the
6
6
  // remaining settle deadline with at most SETTLE_DUMP_ATTEMPTS attempts, so one stuck dump can no
7
7
  // longer run 5 attempts x 20 s past the settle budget.
8
+ import { CancelledError, currentSignal, isAbortError, sleepOrCancel } from '../lib/abortScope.js';
8
9
  /** Attempts per dump inside the settle loop (the loop itself is the retry). */
9
10
  export const SETTLE_DUMP_ATTEMPTS = 2;
10
11
  /** Floor for a single dump's timeout, so the last dump before the deadline is still usable. */
@@ -14,6 +15,10 @@ export async function settle(driver, opts = {}) {
14
15
  const stableForMs = opts.stableForMs ?? 600;
15
16
  const intervalMs = opts.intervalMs ?? 400;
16
17
  const deadline = Date.now() + timeoutMs;
18
+ // Cancellation (abortScope): a cancelled call/job throws CancelledError instead of re-dumping
19
+ // (each aborted dump fails fast) until the settle deadline.
20
+ const signal = currentSignal();
21
+ const cancelled = (e) => (e === undefined ? !!signal?.aborted : isAbortError(e, signal));
17
22
  const dumpOpts = () => ({
18
23
  timeoutMs: Math.max(SETTLE_MIN_DUMP_TIMEOUT_MS, deadline - Date.now()),
19
24
  attempts: SETTLE_DUMP_ATTEMPTS,
@@ -30,7 +35,9 @@ export async function settle(driver, opts = {}) {
30
35
  try {
31
36
  lastXml = await driver.dumpXml(dumpOpts());
32
37
  }
33
- catch {
38
+ catch (e) {
39
+ if (cancelled(e))
40
+ throw new CancelledError();
34
41
  /* try again in the loop */
35
42
  }
36
43
  lastDumpMs = Date.now() - started;
@@ -38,8 +45,10 @@ export async function settle(driver, opts = {}) {
38
45
  }
39
46
  while (Date.now() < deadline) {
40
47
  const wait = Math.min(Math.max(0, intervalMs - lastDumpMs), Math.max(0, deadline - Date.now()));
48
+ if (cancelled())
49
+ throw new CancelledError();
41
50
  if (wait > 0)
42
- await new Promise((r) => setTimeout(r, wait));
51
+ await sleepOrCancel(wait, signal);
43
52
  if (Date.now() >= deadline && lastXml)
44
53
  break;
45
54
  const started = Date.now();
@@ -47,7 +56,9 @@ export async function settle(driver, opts = {}) {
47
56
  try {
48
57
  cur = await driver.dumpXml(dumpOpts());
49
58
  }
50
- catch {
59
+ catch (e) {
60
+ if (cancelled(e))
61
+ throw new CancelledError();
51
62
  lastDumpMs = Date.now() - started;
52
63
  continue;
53
64
  }
@@ -1 +1 @@
1
- {"version":3,"file":"settle.js","sourceRoot":"","sources":["../../src/snapshot/settle.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"settle.js","sourceRoot":"","sources":["../../src/snapshot/settle.ts"],"names":[],"mappings":"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"}