swipium 2.0.0 → 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.
- package/CHANGELOG.md +76 -0
- package/README.md +32 -20
- package/THREAT_MODEL.md +109 -21
- package/dist/automationGen/run.js.map +1 -1
- package/dist/cli/init.js +101 -11
- package/dist/cli/init.js.map +1 -1
- package/dist/cli/verify.js +2 -2
- package/dist/cli/verify.js.map +1 -1
- package/dist/consent/consent.js +365 -17
- package/dist/consent/consent.js.map +1 -1
- package/dist/context/projectRoot.js +9 -4
- package/dist/context/projectRoot.js.map +1 -1
- package/dist/context/protocolEra.js +15 -0
- package/dist/context/protocolEra.js.map +1 -0
- package/dist/drivers/DirectDriver.js +5 -2
- package/dist/drivers/DirectDriver.js.map +1 -1
- package/dist/featureTesting/executionBootstrap.js +85 -77
- package/dist/featureTesting/executionBootstrap.js.map +1 -1
- package/dist/flows/run.js +9 -5
- package/dist/flows/run.js.map +1 -1
- package/dist/lib/abortScope.js +36 -3
- package/dist/lib/abortScope.js.map +1 -1
- package/dist/lib/android.js +15 -6
- package/dist/lib/android.js.map +1 -1
- package/dist/lib/codexEnv.js +112 -0
- package/dist/lib/codexEnv.js.map +1 -0
- package/dist/lib/logger.js +18 -0
- package/dist/lib/logger.js.map +1 -1
- package/dist/lib/result.js +188 -10
- package/dist/lib/result.js.map +1 -1
- package/dist/lib/schemaHash.js +20 -31
- package/dist/lib/schemaHash.js.map +1 -1
- package/dist/lib/simctl.js +102 -3
- package/dist/lib/simctl.js.map +1 -1
- package/dist/lib/toolSchema.js +143 -0
- package/dist/lib/toolSchema.js.map +1 -0
- package/dist/lib/wda.js +5 -2
- package/dist/lib/wda.js.map +1 -1
- package/dist/mobileAudit/runner.js +12 -4
- package/dist/mobileAudit/runner.js.map +1 -1
- package/dist/oracle/failures.js +2 -2
- package/dist/oracle/failures.js.map +1 -1
- package/dist/orchestration/testThis/execute.js +21 -4
- package/dist/orchestration/testThis/execute.js.map +1 -1
- package/dist/orchestration/testThis/pipeline.js +2 -0
- package/dist/orchestration/testThis/pipeline.js.map +1 -1
- package/dist/orchestration/testThis/plan.js.map +1 -1
- package/dist/report/export.js +1 -1
- package/dist/report/export.js.map +1 -1
- package/dist/server.js +564 -139
- package/dist/server.js.map +1 -1
- package/dist/services/prepareAndroid.js +3 -2
- package/dist/services/prepareAndroid.js.map +1 -1
- package/dist/services/prepareIos.js +31 -4
- package/dist/services/prepareIos.js.map +1 -1
- package/dist/services/smoke.js +38 -4
- package/dist/services/smoke.js.map +1 -1
- package/dist/session/processRegistry.js +12 -1
- package/dist/session/processRegistry.js.map +1 -1
- package/dist/snapshot/parse.js +64 -9
- package/dist/snapshot/parse.js.map +1 -1
- package/dist/snapshot/present.js +14 -4
- package/dist/snapshot/present.js.map +1 -1
- package/dist/snapshot/settle.js +14 -3
- package/dist/snapshot/settle.js.map +1 -1
- package/dist/tools/act.js +694 -670
- package/dist/tools/act.js.map +1 -1
- package/dist/tools/agent.js +15 -16
- package/dist/tools/agent.js.map +1 -1
- package/dist/tools/appControl.js +4 -4
- package/dist/tools/appControl.js.map +1 -1
- package/dist/tools/appMap.js +11 -13
- package/dist/tools/appMap.js.map +1 -1
- package/dist/tools/build.js +4 -6
- package/dist/tools/build.js.map +1 -1
- package/dist/tools/bundletool.js +3 -3
- package/dist/tools/bundletool.js.map +1 -1
- package/dist/tools/clearOverlay.js +2 -3
- package/dist/tools/clearOverlay.js.map +1 -1
- package/dist/tools/device.js +4 -3
- package/dist/tools/device.js.map +1 -1
- package/dist/tools/doctor.js +23 -11
- package/dist/tools/doctor.js.map +1 -1
- package/dist/tools/explore.js +15 -21
- package/dist/tools/explore.js.map +1 -1
- package/dist/tools/featureTesting.js +22 -6
- package/dist/tools/featureTesting.js.map +1 -1
- package/dist/tools/firstRun.js +4 -5
- package/dist/tools/firstRun.js.map +1 -1
- package/dist/tools/flow.js +13 -17
- package/dist/tools/flow.js.map +1 -1
- package/dist/tools/flowRepair.js +3 -5
- package/dist/tools/flowRepair.js.map +1 -1
- package/dist/tools/generate.js +10 -11
- package/dist/tools/generate.js.map +1 -1
- package/dist/tools/getArtifact.js +114 -10
- package/dist/tools/getArtifact.js.map +1 -1
- package/dist/tools/health.js +2 -1
- package/dist/tools/health.js.map +1 -1
- package/dist/tools/ios.js +35 -13
- package/dist/tools/ios.js.map +1 -1
- package/dist/tools/issues.js +8 -8
- package/dist/tools/issues.js.map +1 -1
- package/dist/tools/jobs.js +26 -10
- package/dist/tools/jobs.js.map +1 -1
- package/dist/tools/metro.js +4 -5
- package/dist/tools/metro.js.map +1 -1
- package/dist/tools/mobileAudit.js +11 -10
- package/dist/tools/mobileAudit.js.map +1 -1
- package/dist/tools/note.js +2 -3
- package/dist/tools/note.js.map +1 -1
- package/dist/tools/prepareIosTarget.js +102 -31
- package/dist/tools/prepareIosTarget.js.map +1 -1
- package/dist/tools/prepareTarget.js +3 -5
- package/dist/tools/prepareTarget.js.map +1 -1
- package/dist/tools/report.js +4 -5
- package/dist/tools/report.js.map +1 -1
- package/dist/tools/resolveArtifact.js +2 -3
- package/dist/tools/resolveArtifact.js.map +1 -1
- package/dist/tools/resolveTarget.js +3 -6
- package/dist/tools/resolveTarget.js.map +1 -1
- package/dist/tools/screenRecord.js +2 -3
- package/dist/tools/screenRecord.js.map +1 -1
- package/dist/tools/screenshot.js +2 -2
- package/dist/tools/screenshot.js.map +1 -1
- package/dist/tools/smoke.js +4 -2
- package/dist/tools/smoke.js.map +1 -1
- package/dist/tools/snapshot.js +6 -7
- package/dist/tools/snapshot.js.map +1 -1
- package/dist/tools/startSession.js +12 -16
- package/dist/tools/startSession.js.map +1 -1
- package/dist/tools/suite.js +2 -4
- package/dist/tools/suite.js.map +1 -1
- package/dist/tools/testSuite.js +13 -19
- package/dist/tools/testSuite.js.map +1 -1
- package/dist/tools/testThis.js +28 -13
- package/dist/tools/testThis.js.map +1 -1
- package/dist/tools/visual.js +7 -9
- package/dist/tools/visual.js.map +1 -1
- package/dist/tools/wait.js +130 -21
- package/dist/tools/wait.js.map +1 -1
- package/dist/tools/wda.js +199 -60
- package/dist/tools/wda.js.map +1 -1
- package/dist/version.js +1 -1
- package/docs/README.md +4 -4
- package/docs/ci-reports.md +39 -7
- package/docs/concepts.md +37 -25
- package/docs/flows.md +1 -1
- package/docs/mcp-server.md +281 -76
- package/docs/physical-devices.md +4 -4
- package/docs/tools.md +59 -30
- package/package.json +4 -3
package/dist/snapshot/parse.js
CHANGED
|
@@ -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
|
-
/**
|
|
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
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
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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"}
|
package/dist/snapshot/present.js
CHANGED
|
@@ -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
|
-
|
|
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
|
-
|
|
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
|
|
40
|
-
|
|
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;
|
|
1
|
+
{"version":3,"file":"present.js","sourceRoot":"","sources":["../../src/snapshot/present.ts"],"names":[],"mappings":"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"}
|
package/dist/snapshot/settle.js
CHANGED
|
@@ -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
|
|
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":"AAAA,mEAAmE;AACnE,uFAAuF;AACvF,EAAE;AACF,2FAA2F;AAC3F,0FAA0F;AAC1F,iGAAiG;AACjG,uDAAuD;
|
|
1
|
+
{"version":3,"file":"settle.js","sourceRoot":"","sources":["../../src/snapshot/settle.ts"],"names":[],"mappings":"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"}
|