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.
- package/CHANGELOG.md +64 -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/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/lib/abortScope.js
CHANGED
|
@@ -5,6 +5,9 @@
|
|
|
5
5
|
// runWithSignal(extra.signal). Drivers read currentSignal() when they spawn adb or fetch WDA.
|
|
6
6
|
import { AsyncLocalStorage } from 'node:async_hooks';
|
|
7
7
|
const scope = new AsyncLocalStorage();
|
|
8
|
+
function resolveSignal(signal) {
|
|
9
|
+
return signal === null ? undefined : (signal ?? currentSignal());
|
|
10
|
+
}
|
|
8
11
|
/** Run `fn` with `signal` as the current cancellation signal (replacing any outer one: a job's
|
|
9
12
|
* signal never leaks into an interactive call made from its context, and vice versa). */
|
|
10
13
|
export function runWithSignal(signal, fn) {
|
|
@@ -17,7 +20,8 @@ export function currentSignal() {
|
|
|
17
20
|
/**
|
|
18
21
|
* Is `e` the result of a CANCELLATION rather than a real failure? True when the error (or any
|
|
19
22
|
* error in its `cause` chain) is an AbortError / has code ABORT_ERR, or when the current call's
|
|
20
|
-
* cancellation signal (abortScope) has fired
|
|
23
|
+
* cancellation signal (abortScope) has fired (`signal`: undefined = the current call's, null = only
|
|
24
|
+
* inspect the error). Drivers wrap aborted adb/WDA calls in their own
|
|
21
25
|
* messages ("uiautomator dump failed … AbortError", "WDA GET /source aborted (cancelled)"), so the
|
|
22
26
|
* signal is the authoritative check.
|
|
23
27
|
*
|
|
@@ -25,8 +29,8 @@ export function currentSignal() {
|
|
|
25
29
|
* mode switch must check this first and return a CANCELLED result instead: cancelled work is not
|
|
26
30
|
* evidence about the app or the tool.
|
|
27
31
|
*/
|
|
28
|
-
export function isAbortError(e, signal
|
|
29
|
-
if (signal?.aborted)
|
|
32
|
+
export function isAbortError(e, signal) {
|
|
33
|
+
if (resolveSignal(signal)?.aborted)
|
|
30
34
|
return true;
|
|
31
35
|
let cur = e;
|
|
32
36
|
for (let depth = 0; cur && depth < 6; depth++) {
|
|
@@ -45,4 +49,33 @@ export class CancelledError extends Error {
|
|
|
45
49
|
this.name = 'CancelledError';
|
|
46
50
|
}
|
|
47
51
|
}
|
|
52
|
+
/** Throw CancelledError when `signal` has fired (`undefined`: the current call's signal; `null`:
|
|
53
|
+
* never). Polling loops call this once per iteration so a cancelled call stops instead of
|
|
54
|
+
* polling until its deadline. */
|
|
55
|
+
export function throwIfCancelled(signal) {
|
|
56
|
+
if (resolveSignal(signal)?.aborted)
|
|
57
|
+
throw new CancelledError();
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Sleep `ms`, waking early (rejecting with CancelledError) when `signal` aborts (`undefined`: the
|
|
61
|
+
* current call's signal; `null`: a plain uncancellable sleep). Use it for the pause between polls;
|
|
62
|
+
* a plain setTimeout sleep keeps a cancelled call alive for the rest of its interval, and the loop
|
|
63
|
+
* around it until its deadline.
|
|
64
|
+
*/
|
|
65
|
+
export function sleepOrCancel(ms, signalArg) {
|
|
66
|
+
const signal = resolveSignal(signalArg);
|
|
67
|
+
if (signal?.aborted)
|
|
68
|
+
return Promise.reject(new CancelledError());
|
|
69
|
+
return new Promise((resolve, reject) => {
|
|
70
|
+
const onAbort = () => {
|
|
71
|
+
clearTimeout(timer);
|
|
72
|
+
reject(new CancelledError());
|
|
73
|
+
};
|
|
74
|
+
const timer = setTimeout(() => {
|
|
75
|
+
signal?.removeEventListener('abort', onAbort);
|
|
76
|
+
resolve();
|
|
77
|
+
}, Math.max(0, ms));
|
|
78
|
+
signal?.addEventListener('abort', onAbort, { once: true });
|
|
79
|
+
});
|
|
80
|
+
}
|
|
48
81
|
//# sourceMappingURL=abortScope.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"abortScope.js","sourceRoot":"","sources":["../../src/lib/abortScope.ts"],"names":[],"mappings":"AAAA,6FAA6F;AAC7F,iGAAiG;AACjG,8FAA8F;AAC9F,gFAAgF;AAChF,8FAA8F;AAE9F,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAErD,MAAM,KAAK,GAAG,IAAI,iBAAiB,EAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"abortScope.js","sourceRoot":"","sources":["../../src/lib/abortScope.ts"],"names":[],"mappings":"AAAA,6FAA6F;AAC7F,iGAAiG;AACjG,8FAA8F;AAC9F,gFAAgF;AAChF,8FAA8F;AAE9F,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAErD,MAAM,KAAK,GAAG,IAAI,iBAAiB,EAA2B,CAAC;AAU/D,SAAS,aAAa,CAAC,MAAiB;IACtC,OAAO,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,aAAa,EAAE,CAAC,CAAC;AACnE,CAAC;AAED;0FAC0F;AAC1F,MAAM,UAAU,aAAa,CAAI,MAA+B,EAAE,EAAW;IAC3E,OAAO,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;AAC/B,CAAC;AAED,uEAAuE;AACvE,MAAM,UAAU,aAAa;IAC3B,OAAO,KAAK,CAAC,QAAQ,EAAE,CAAC;AAC1B,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,YAAY,CAAC,CAAU,EAAE,MAAkB;IACzD,IAAI,aAAa,CAAC,MAAM,CAAC,EAAE,OAAO;QAAE,OAAO,IAAI,CAAC;IAChD,IAAI,GAAG,GAAY,CAAC,CAAC;IACrB,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,GAAG,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC;QAC9C,MAAM,GAAG,GAAG,GAA0D,CAAC;QACvE,IAAI,GAAG,CAAC,IAAI,KAAK,YAAY,IAAI,GAAG,CAAC,IAAI,KAAK,gBAAgB,IAAI,GAAG,CAAC,IAAI,KAAK,WAAW;YAAE,OAAO,IAAI,CAAC;QACxG,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC;IAClB,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;iCACiC;AACjC,MAAM,OAAO,cAAe,SAAQ,KAAK;IACvC,YAAY,OAAO,GAAG,WAAW;QAC/B,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,gBAAgB,CAAC;IAC/B,CAAC;CACF;AAED;;kCAEkC;AAClC,MAAM,UAAU,gBAAgB,CAAC,MAAkB;IACjD,IAAI,aAAa,CAAC,MAAM,CAAC,EAAE,OAAO;QAAE,MAAM,IAAI,cAAc,EAAE,CAAC;AACjE,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,aAAa,CAAC,EAAU,EAAE,SAAqB;IAC7D,MAAM,MAAM,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC;IACxC,IAAI,MAAM,EAAE,OAAO;QAAE,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,cAAc,EAAE,CAAC,CAAC;IACjE,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,MAAM,OAAO,GAAG,GAAG,EAAE;YACnB,YAAY,CAAC,KAAK,CAAC,CAAC;YACpB,MAAM,CAAC,IAAI,cAAc,EAAE,CAAC,CAAC;QAC/B,CAAC,CAAC;QACF,MAAM,KAAK,GAAG,UAAU,CACtB,GAAG,EAAE;YACH,MAAM,EAAE,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAC9C,OAAO,EAAE,CAAC;QACZ,CAAC,EACD,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAChB,CAAC;QACF,MAAM,EAAE,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IAC7D,CAAC,CAAC,CAAC;AACL,CAAC"}
|
package/dist/lib/android.js
CHANGED
|
@@ -4,6 +4,7 @@ import { existsSync, readdirSync, statSync } from 'node:fs';
|
|
|
4
4
|
import { homedir } from 'node:os';
|
|
5
5
|
import { delimiter, join } from 'node:path';
|
|
6
6
|
import { run } from './spawn.js';
|
|
7
|
+
import { CancelledError, currentSignal, isAbortError, sleepOrCancel, throwIfCancelled } from './abortScope.js';
|
|
7
8
|
import { registerManagedProcess } from '../session/processRegistry.js';
|
|
8
9
|
const MIN_APK_BYTES = 1024 * 1024;
|
|
9
10
|
/** Android Studio's default SDK location for a host OS (used when no env var points at an SDK). */
|
|
@@ -279,25 +280,33 @@ export function fmtBytes(n) {
|
|
|
279
280
|
}
|
|
280
281
|
return `${v.toFixed(1)} ${u[i]}`;
|
|
281
282
|
}
|
|
282
|
-
/** Wait until sys.boot_completed === 1 (or timeout).
|
|
283
|
+
/** Wait until sys.boot_completed === 1 (or timeout). Honors the current call's cancellation
|
|
284
|
+
* (abortScope): the adb children are killed and CancelledError is thrown instead of polling on
|
|
285
|
+
* until the deadline. */
|
|
283
286
|
export async function waitForBoot(serial, timeoutMs = 180000) {
|
|
287
|
+
const signal = currentSignal();
|
|
284
288
|
const deadline = Date.now() + timeoutMs;
|
|
285
289
|
try {
|
|
286
|
-
await run('adb', ['-s', serial, 'wait-for-device'], { timeoutMs });
|
|
290
|
+
await run('adb', ['-s', serial, 'wait-for-device'], { timeoutMs, signal });
|
|
287
291
|
}
|
|
288
|
-
catch {
|
|
292
|
+
catch (e) {
|
|
293
|
+
if (isAbortError(e, signal))
|
|
294
|
+
throw new CancelledError();
|
|
289
295
|
/* keep polling below */
|
|
290
296
|
}
|
|
291
297
|
while (Date.now() < deadline) {
|
|
298
|
+
throwIfCancelled(signal);
|
|
292
299
|
try {
|
|
293
|
-
const r = await run('adb', ['-s', serial, 'shell', 'getprop', 'sys.boot_completed'], { timeoutMs: 5000 });
|
|
300
|
+
const r = await run('adb', ['-s', serial, 'shell', 'getprop', 'sys.boot_completed'], { timeoutMs: 5000, signal });
|
|
294
301
|
if (r.stdout.trim() === '1')
|
|
295
302
|
return true;
|
|
296
303
|
}
|
|
297
|
-
catch {
|
|
304
|
+
catch (e) {
|
|
305
|
+
if (isAbortError(e, signal))
|
|
306
|
+
throw new CancelledError();
|
|
298
307
|
/* not up yet */
|
|
299
308
|
}
|
|
300
|
-
await
|
|
309
|
+
await sleepOrCancel(Math.min(2000, Math.max(0, deadline - Date.now())), signal);
|
|
301
310
|
}
|
|
302
311
|
return false;
|
|
303
312
|
}
|
package/dist/lib/android.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"android.js","sourceRoot":"","sources":["../../src/lib/android.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"android.js","sourceRoot":"","sources":["../../src/lib/android.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
// Codex does not hand its parent environment to stdio MCP servers. Verified with Codex 0.146:
|
|
2
|
+
// the server only gets a fixed whitelist (HOME, LANG, LC_ALL, LOGNAME, PATH, SHELL, TERM, TMPDIR,
|
|
3
|
+
// USER, __CF_USER_TEXT_ENCODING and the CA cert vars), plus the names listed in `env_vars = [...]`
|
|
4
|
+
// and the `env = {...}` table of [mcp_servers.<name>] in ~/.codex/config.toml. So SWIPIUM_TEST_*,
|
|
5
|
+
// SWIPIUM_* config, ANDROID_HOME and JAVA_HOME exported in the user's shell never reach Swipium
|
|
6
|
+
// unless they are forwarded explicitly. `swipium init codex` writes the env_vars line below and
|
|
7
|
+
// qa_doctor explains the whitelist when the connected client is Codex.
|
|
8
|
+
//
|
|
9
|
+
// Deliberately NOT forwarded: names that GRANT approval (SWIPIUM_CONSENT_PREAPPROVE*,
|
|
10
|
+
// SWIPIUM_ALLOW_REMOTE_WDA). Forwarding them would let an inherited shell export, or a
|
|
11
|
+
// per-directory env tool such as direnv in a cloned repo, pre-approve actions. Operators who want
|
|
12
|
+
// them set them literally in the `env = { ... }` table. test/codexEnv.test.ts keeps this list in
|
|
13
|
+
// step with every env name src/ reads.
|
|
14
|
+
/** The clientInfo.name Codex sends in `initialize`. */
|
|
15
|
+
export const CODEX_CLIENT_NAME = 'codex-mcp-client';
|
|
16
|
+
/** Env names Swipium reads that a Codex user would typically export in their shell. Forwarded via
|
|
17
|
+
* `env_vars`; names that are unset in the parent env are simply not passed. */
|
|
18
|
+
export const CODEX_ENV_VARS = [
|
|
19
|
+
// Test credentials / flow variables (flows read any SWIPIUM_* name; add custom ones yourself).
|
|
20
|
+
'SWIPIUM_TEST_EMAIL',
|
|
21
|
+
'SWIPIUM_TEST_USERNAME',
|
|
22
|
+
'SWIPIUM_TEST_PASSWORD',
|
|
23
|
+
'SWIPIUM_TEST_OTP',
|
|
24
|
+
'SWIPIUM_TEST_PIN',
|
|
25
|
+
'SWIPIUM_TEST_TOKEN',
|
|
26
|
+
'SWIPIUM_TEST_DEEP_LINK',
|
|
27
|
+
'SWIPIUM_VERIFICATION_CODE',
|
|
28
|
+
// Server config.
|
|
29
|
+
'SWIPIUM_PROJECT_ROOT',
|
|
30
|
+
'SWIPIUM_REQUIRE_ELICITATION', // only restricts, so safe to inherit
|
|
31
|
+
'SWIPIUM_LOG_LEVEL',
|
|
32
|
+
'SWIPIUM_OCR_CMD',
|
|
33
|
+
'SWIPIUM_VISUAL_MASK_CMD',
|
|
34
|
+
'SWIPIUM_RETENTION_DAYS',
|
|
35
|
+
'SWIPIUM_RETENTION_KEEP',
|
|
36
|
+
// Toolchain.
|
|
37
|
+
'ANDROID_HOME',
|
|
38
|
+
'ANDROID_SDK_ROOT',
|
|
39
|
+
'ANDROID_SDK_HOME',
|
|
40
|
+
'ANDROID_USER_HOME',
|
|
41
|
+
'ANDROID_AVD_HOME',
|
|
42
|
+
'ANDROID_EMULATOR_HOME',
|
|
43
|
+
'JAVA_HOME',
|
|
44
|
+
'JAVA_TOOL_OPTIONS',
|
|
45
|
+
'GRADLE_USER_HOME',
|
|
46
|
+
'GRADLE_OPTS',
|
|
47
|
+
'BUNDLETOOL_JAR',
|
|
48
|
+
'APPIUM_HOME',
|
|
49
|
+
'DEVELOPER_DIR',
|
|
50
|
+
'DEVELOPMENT_TEAM',
|
|
51
|
+
'XCODE_DEVELOPMENT_TEAM',
|
|
52
|
+
'WDA_PROJECT_PATH',
|
|
53
|
+
'WEBDRIVERAGENT_PROJECT',
|
|
54
|
+
// Network (Gradle/npx downloads behind a proxy).
|
|
55
|
+
'HTTP_PROXY',
|
|
56
|
+
'HTTPS_PROXY',
|
|
57
|
+
'NO_PROXY',
|
|
58
|
+
// CI detection + source revision for reports and the issue ledger.
|
|
59
|
+
'CI',
|
|
60
|
+
'GITHUB_SHA',
|
|
61
|
+
'GITHUB_REF_NAME',
|
|
62
|
+
'GITHUB_SERVER_URL',
|
|
63
|
+
'GITHUB_REPOSITORY',
|
|
64
|
+
'GITHUB_RUN_ID',
|
|
65
|
+
'CI_COMMIT_SHA',
|
|
66
|
+
'CI_COMMIT_REF_NAME',
|
|
67
|
+
'CI_PIPELINE_URL',
|
|
68
|
+
'BITBUCKET_COMMIT',
|
|
69
|
+
'BITBUCKET_BRANCH',
|
|
70
|
+
];
|
|
71
|
+
/** The TOML line for [mcp_servers.swipium]. */
|
|
72
|
+
export function codexEnvVarsLine(names = CODEX_ENV_VARS) {
|
|
73
|
+
return `env_vars = [${names.map((n) => JSON.stringify(n)).join(', ')}]`;
|
|
74
|
+
}
|
|
75
|
+
export function isCodexClient(clientName) {
|
|
76
|
+
return clientName === CODEX_CLIENT_NAME;
|
|
77
|
+
}
|
|
78
|
+
/** qa_doctor rows for a Codex client: the env whitelist and the tool timeout advice. */
|
|
79
|
+
export function codexEnvChecks(input) {
|
|
80
|
+
const { env } = input;
|
|
81
|
+
const missing = [];
|
|
82
|
+
if (input.androidSdkFound === false && !env.ANDROID_HOME && !env.ANDROID_SDK_ROOT)
|
|
83
|
+
missing.push('ANDROID_HOME');
|
|
84
|
+
if (input.javaFound === false && !env.JAVA_HOME)
|
|
85
|
+
missing.push('JAVA_HOME');
|
|
86
|
+
const forwarded = CODEX_ENV_VARS.filter((n) => env[n] != null && env[n] !== '');
|
|
87
|
+
const base = 'Codex passes stdio MCP servers only a fixed env whitelist (HOME, PATH, SHELL, USER, TMPDIR, LANG...) plus the names in ' +
|
|
88
|
+
'`env_vars` and the `env` table of [mcp_servers.swipium]; shell exports like SWIPIUM_TEST_*, ANDROID_HOME and JAVA_HOME do not reach Swipium otherwise.';
|
|
89
|
+
const seen = forwarded.length ? ` Seen here: ${forwarded.join(', ')}.` : ' None of the Swipium env names are set in this server.';
|
|
90
|
+
const what = missing.map((m) => (m === 'JAVA_HOME' ? 'JDK' : 'Android SDK')).join(' / ');
|
|
91
|
+
const custom = missing.length
|
|
92
|
+
? `${what} not found by this server (${missing.join(' and ')} unset). If you installed the ${what} in a custom location, forward ${missing.join(' / ')} via env_vars; if ${missing.length > 1 ? 'they are' : 'it is'} not installed, install ${missing.length > 1 ? 'them' : 'it'} first. `
|
|
93
|
+
: '';
|
|
94
|
+
return [
|
|
95
|
+
{
|
|
96
|
+
name: 'codex-env',
|
|
97
|
+
ok: missing.length === 0,
|
|
98
|
+
optional: true,
|
|
99
|
+
detail: `${custom}${base}${seen}`,
|
|
100
|
+
fix: `Add under [mcp_servers.swipium] in ~/.codex/config.toml: ${codexEnvVarsLine()} (or set values in env = { ... }), then restart Codex. ` +
|
|
101
|
+
'Approval grants (SWIPIUM_CONSENT_PREAPPROVE, SWIPIUM_ALLOW_REMOTE_WDA) are never forwarded: set them literally in env = { ... }.',
|
|
102
|
+
},
|
|
103
|
+
{
|
|
104
|
+
name: 'codex-tool-timeout',
|
|
105
|
+
ok: true,
|
|
106
|
+
optional: true,
|
|
107
|
+
detail: 'Codex defaults to 60 s per tool call, too short for builds, boots and flows. The server cannot read it: make sure ' +
|
|
108
|
+
'[mcp_servers.swipium] has tool_timeout_sec = 600 (or more) and startup_timeout_sec = 30 (`swipium init codex` writes both).',
|
|
109
|
+
},
|
|
110
|
+
];
|
|
111
|
+
}
|
|
112
|
+
//# sourceMappingURL=codexEnv.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"codexEnv.js","sourceRoot":"","sources":["../../src/lib/codexEnv.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/logger.js
CHANGED
|
@@ -1,7 +1,25 @@
|
|
|
1
1
|
// Structured logging to STDERR only.
|
|
2
2
|
// CRITICAL: on the stdio transport, stdout must carry pure JSON-RPC. Anything
|
|
3
3
|
// written to stdout corrupts the MCP stream. All diagnostics go to stderr.
|
|
4
|
+
//
|
|
5
|
+
// SWIPIUM_LOG_LEVEL (debug | info | warn | error, default info) drops lines below the level.
|
|
6
|
+
// Read on every call (cheap) so a test or a long-lived process can change it at runtime.
|
|
7
|
+
// An unknown value falls back to info.
|
|
8
|
+
const RANK = { debug: 10, info: 20, warn: 30, error: 40 };
|
|
9
|
+
/** The active minimum level from SWIPIUM_LOG_LEVEL. */
|
|
10
|
+
export function currentLogLevel() {
|
|
11
|
+
const raw = process.env.SWIPIUM_LOG_LEVEL?.trim().toLowerCase();
|
|
12
|
+
// Own keys only: `in` also matched inherited names (constructor, __proto__, toString), whose
|
|
13
|
+
// RANK lookup is not a number, so every comparison was false and ALL logging went silent.
|
|
14
|
+
return raw && Object.hasOwn(RANK, raw) ? raw : 'info';
|
|
15
|
+
}
|
|
16
|
+
/** True when a line at `level` would be written (lets callers skip building debug metadata). */
|
|
17
|
+
export function logEnabled(level) {
|
|
18
|
+
return RANK[level] >= RANK[currentLogLevel()];
|
|
19
|
+
}
|
|
4
20
|
export function log(level, msg, meta) {
|
|
21
|
+
if (!logEnabled(level))
|
|
22
|
+
return;
|
|
5
23
|
const line = JSON.stringify({ ts: new Date().toISOString(), level, msg, ...(meta ?? {}) });
|
|
6
24
|
process.stderr.write(line + '\n');
|
|
7
25
|
}
|
package/dist/lib/logger.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/lib/logger.ts"],"names":[],"mappings":"AAAA,qCAAqC;AACrC,8EAA8E;AAC9E,2EAA2E;
|
|
1
|
+
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/lib/logger.ts"],"names":[],"mappings":"AAAA,qCAAqC;AACrC,8EAA8E;AAC9E,2EAA2E;AAC3E,EAAE;AACF,6FAA6F;AAC7F,yFAAyF;AACzF,uCAAuC;AAIvC,MAAM,IAAI,GAA0B,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;AAEjF,uDAAuD;AACvD,MAAM,UAAU,eAAe;IAC7B,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAChE,6FAA6F;IAC7F,0FAA0F;IAC1F,OAAO,GAAG,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,CAAE,GAAa,CAAC,CAAC,CAAC,MAAM,CAAC;AACnE,CAAC;AAED,gGAAgG;AAChG,MAAM,UAAU,UAAU,CAAC,KAAY;IACrC,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC;AAChD,CAAC;AAED,MAAM,UAAU,GAAG,CAAC,KAAY,EAAE,GAAW,EAAE,IAA8B;IAC3E,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;QAAE,OAAO;IAC/B,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;IAC3F,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC;AACpC,CAAC"}
|
package/dist/lib/result.js
CHANGED
|
@@ -5,10 +5,19 @@
|
|
|
5
5
|
// broken server (the model can't act on those).
|
|
6
6
|
//
|
|
7
7
|
// Response modes: a session can ask for `compact | normal | verbose`
|
|
8
|
-
// output. The human-readable text is rendered per mode; `structuredContent`
|
|
9
|
-
//
|
|
8
|
+
// output. The human-readable text is rendered per mode; `structuredContent` ALWAYS carries every
|
|
9
|
+
// field, so a client that reads structured data loses nothing in compact mode. One exception to
|
|
10
|
+
// "the mode only changes the text": element lists (qa_snapshot / qa_act `elements`) are one-line
|
|
11
|
+
// @eN strings outside verbose and full objects in verbose (snapshot/present.ts presentElements). The
|
|
10
12
|
// active mode is carried in AsyncLocalStorage so EVERY tool inherits it without touching a
|
|
11
13
|
// single call site, and concurrent JSON-RPC requests can't clobber each other's mode.
|
|
14
|
+
//
|
|
15
|
+
// Channel note: Claude Code and Codex hand the MODEL the structuredContent JSON (not the text
|
|
16
|
+
// block) for successful results whenever structuredContent is set. So anything the model must
|
|
17
|
+
// see (the human summary, "Next: ..." / "Call qa_..." guidance) also has to live in
|
|
18
|
+
// structuredContent: qaOk/qaStop put the summary first under `summary` and the extracted
|
|
19
|
+
// next-step guidance under `next` (see withSummary). The text block stays as the spec's
|
|
20
|
+
// backwards-compatible copy.
|
|
12
21
|
import { AsyncLocalStorage } from 'node:async_hooks';
|
|
13
22
|
export const DEFAULT_RESPONSE_MODE = 'normal';
|
|
14
23
|
const modeStore = new AsyncLocalStorage();
|
|
@@ -106,8 +115,81 @@ function renderText(summary, payload, mode, opts) {
|
|
|
106
115
|
// verbose keeps every key in the fence; normal drops the ones the summary already rendered.
|
|
107
116
|
return `${summary}\n\n${fence(mode === 'verbose' ? payload : withoutKeys(payload, opts?.textOmit))}`;
|
|
108
117
|
}
|
|
109
|
-
|
|
110
|
-
|
|
118
|
+
/** Longest `what` an error carries. It often echoes caller input (a URI, a query), and the error
|
|
119
|
+
* repeats it in the text head, the JSON fence and structuredContent, so a multi-MB argument used to
|
|
120
|
+
* produce a response bigger than a client's read buffer (SDK 1.32 clients drop the connection at 10 MB). */
|
|
121
|
+
export const MAX_ERROR_WHAT_CHARS = 2000;
|
|
122
|
+
/** Most nextSteps entries an error carries. */
|
|
123
|
+
const MAX_ERROR_STEPS = 20;
|
|
124
|
+
/** Longest single nextSteps entry / clientHint / commandAttempted. */
|
|
125
|
+
export const MAX_ERROR_STEP_CHARS = 2000;
|
|
126
|
+
/** Longest string value anywhere inside an error's `extra` fields (nested objects and arrays too). */
|
|
127
|
+
export const MAX_ERROR_EXTRA_STRING_CHARS = 8000;
|
|
128
|
+
/** Nesting depth below which `extra` values are walked; deeper values are replaced by a marker. */
|
|
129
|
+
const MAX_ERROR_EXTRA_DEPTH = 8;
|
|
130
|
+
/** Safety net: an error whose serialized structuredContent is still bigger than this drops its
|
|
131
|
+
* `extra` fields (listed under `extraDropped`). */
|
|
132
|
+
export const MAX_ERROR_PAYLOAD_CHARS = 64 * 1024;
|
|
133
|
+
/**
|
|
134
|
+
* Keep the head and the tail of an over-long string around a marker. Command errors put the
|
|
135
|
+
* deciding line (exit code, INSTALL_FAILED_*, the last stack frame) at the END, so a head-only
|
|
136
|
+
* cut dropped exactly the part that explains the failure. Exported for tests.
|
|
137
|
+
*/
|
|
138
|
+
export function capMiddle(s, max) {
|
|
139
|
+
if (s.length <= max)
|
|
140
|
+
return s;
|
|
141
|
+
const tail = Math.floor(max * 0.35);
|
|
142
|
+
const head = max - tail;
|
|
143
|
+
return `${s.slice(0, head)} ... [${s.length - head - tail} chars cut] ... ${s.slice(s.length - tail)}`;
|
|
144
|
+
}
|
|
145
|
+
function capWhat(what) {
|
|
146
|
+
return capMiddle(what, MAX_ERROR_WHAT_CHARS);
|
|
147
|
+
}
|
|
148
|
+
/** Cap every string inside an `extra` value (bounded depth, arrays and nested objects too). */
|
|
149
|
+
function capExtraValue(v, depth) {
|
|
150
|
+
if (typeof v === 'string')
|
|
151
|
+
return capMiddle(v, MAX_ERROR_EXTRA_STRING_CHARS);
|
|
152
|
+
if (v === null || typeof v !== 'object')
|
|
153
|
+
return v;
|
|
154
|
+
const j = v.toJSON;
|
|
155
|
+
if (typeof j === 'function')
|
|
156
|
+
return capExtraValue(j.call(v), depth);
|
|
157
|
+
if (depth >= MAX_ERROR_EXTRA_DEPTH)
|
|
158
|
+
return '[swipium: nested value omitted (too deep)]';
|
|
159
|
+
if (Array.isArray(v))
|
|
160
|
+
return v.map((x) => capExtraValue(x, depth + 1));
|
|
161
|
+
const out = {};
|
|
162
|
+
for (const [k, x] of Object.entries(v))
|
|
163
|
+
out[capMiddle(k, 200)] = capExtraValue(x, depth + 1);
|
|
164
|
+
return out;
|
|
165
|
+
}
|
|
166
|
+
/**
|
|
167
|
+
* The typed error envelope. Every string that can echo caller input is capped (what, nextSteps,
|
|
168
|
+
* clientHint, commandAttempted, and every string inside `extra`), and an envelope still over
|
|
169
|
+
* MAX_ERROR_PAYLOAD_CHARS drops its `extra` fields, so no argument can blow the response past a
|
|
170
|
+
* client's read buffer.
|
|
171
|
+
*/
|
|
172
|
+
export function qaError(input, extra) {
|
|
173
|
+
const p = {
|
|
174
|
+
...input,
|
|
175
|
+
what: capWhat(String(input.what ?? '')),
|
|
176
|
+
nextSteps: (input.nextSteps ?? []).slice(0, MAX_ERROR_STEPS).map((n) => capMiddle(String(n), MAX_ERROR_STEP_CHARS)),
|
|
177
|
+
...(input.clientHint !== undefined ? { clientHint: capMiddle(String(input.clientHint), MAX_ERROR_STEP_CHARS) } : {}),
|
|
178
|
+
...(input.commandAttempted !== undefined ? { commandAttempted: capMiddle(String(input.commandAttempted), MAX_ERROR_STEP_CHARS) } : {}),
|
|
179
|
+
};
|
|
180
|
+
const cappedExtra = extra ? capExtraValue(extra, 0) : {};
|
|
181
|
+
let payload = { ok: false, failureCode: p.failureCode ?? 'UNKNOWN', ...p, ...cappedExtra };
|
|
182
|
+
if (extra && JSON.stringify(payload).length > MAX_ERROR_PAYLOAD_CHARS) {
|
|
183
|
+
payload = {
|
|
184
|
+
ok: false,
|
|
185
|
+
failureCode: p.failureCode ?? 'UNKNOWN',
|
|
186
|
+
...p,
|
|
187
|
+
extraDropped: Object.keys(cappedExtra)
|
|
188
|
+
.slice(0, 50)
|
|
189
|
+
.map((k) => capMiddle(k, 100)),
|
|
190
|
+
extraDroppedNote: `extra error fields were dropped: the envelope exceeded ${MAX_ERROR_PAYLOAD_CHARS} chars`,
|
|
191
|
+
};
|
|
192
|
+
}
|
|
111
193
|
const mode = currentResponseMode();
|
|
112
194
|
const head = [
|
|
113
195
|
`❌ ${p.what}`,
|
|
@@ -123,11 +205,107 @@ export function qaError(p, extra) {
|
|
|
123
205
|
const text = mode === 'compact' ? head : `${head}\n${fence(payload)}`;
|
|
124
206
|
return { isError: true, content: [{ type: 'text', text }], structuredContent: payload };
|
|
125
207
|
}
|
|
208
|
+
/** Cap for the summary copy in structuredContent: it duplicates data that is already structured,
|
|
209
|
+
* so a very long rendering (many flow steps, smoke flows) is cut with a marker. */
|
|
210
|
+
export const STRUCTURED_SUMMARY_MAX_CHARS = 4000;
|
|
211
|
+
/** Rendered element lines ("@e12 [button] ...") are dropped from the structured summary copy:
|
|
212
|
+
* the elements themselves are in the payload (that is what textOmit says). */
|
|
213
|
+
const ELEMENT_LINE = /^@e\d+\s/;
|
|
214
|
+
/** Cap for the `headline` structured summary (the default): the first line only. */
|
|
215
|
+
export const STRUCTURED_HEADLINE_MAX_CHARS = 300;
|
|
216
|
+
function structuredSummary(summary, opts) {
|
|
217
|
+
let s = summary;
|
|
218
|
+
if (opts?.textOmit?.length) {
|
|
219
|
+
s = s
|
|
220
|
+
.split('\n')
|
|
221
|
+
.filter((l) => !ELEMENT_LINE.test(l))
|
|
222
|
+
.join('\n')
|
|
223
|
+
.replace(/\n{3,}/g, '\n\n')
|
|
224
|
+
.trim();
|
|
225
|
+
}
|
|
226
|
+
if ((opts?.structuredSummary ?? 'headline') === 'headline') {
|
|
227
|
+
const first = s.split('\n').find((l) => l.trim()) ?? '';
|
|
228
|
+
const line = first.trim();
|
|
229
|
+
return line.length > STRUCTURED_HEADLINE_MAX_CHARS ? `${line.slice(0, STRUCTURED_HEADLINE_MAX_CHARS)}...` : line;
|
|
230
|
+
}
|
|
231
|
+
if (s.length > STRUCTURED_SUMMARY_MAX_CHARS) {
|
|
232
|
+
s = `${s.slice(0, STRUCTURED_SUMMARY_MAX_CHARS)}\n... (summary truncated; the structured fields carry the full data)`;
|
|
233
|
+
}
|
|
234
|
+
return s;
|
|
235
|
+
}
|
|
236
|
+
/** Normalize one guidance snippet: drop a leading "call " (any case), trailing punctuation and spaces. */
|
|
237
|
+
function cleanNext(s) {
|
|
238
|
+
return s
|
|
239
|
+
.trim()
|
|
240
|
+
.replace(/^call\s+/i, '')
|
|
241
|
+
.replace(/[.\s]+$/, '');
|
|
242
|
+
}
|
|
243
|
+
/** A kept entry must START with the tool to call (after an optional "call "). */
|
|
244
|
+
const NEXT_ENTRY = /^qa_[a-z_]+/;
|
|
245
|
+
/**
|
|
246
|
+
* Next-step guidance embedded in a human summary, as a string array (each entry starts with the
|
|
247
|
+
* tool to call, e.g. `qa_report to summarize`). Candidates are recognized only at a line start or a
|
|
248
|
+
* sentence boundary (". "), so quoted UI labels like "Next: Payment" are not picked up:
|
|
249
|
+
* - `Next: X` / `next: X` (or `next:` followed by " - X" bullet lines)
|
|
250
|
+
* - `Call qa_xxx ...` up to the end of the line
|
|
251
|
+
* A candidate is split at ". Call qa_" sentence boundaries, a leading "call " is dropped, and only
|
|
252
|
+
* entries that then start with a qa_ tool name are kept (so "next: smoke_tested (...)" or
|
|
253
|
+
* "Next: Payment screen loaded" yield nothing). Duplicates are dropped. Exported for tests.
|
|
254
|
+
*/
|
|
255
|
+
export function extractNextSteps(summary) {
|
|
256
|
+
const out = [];
|
|
257
|
+
const add = (v) => {
|
|
258
|
+
for (const part of v.split(/\.\s+(?=call\s+qa_)/i)) {
|
|
259
|
+
const c = cleanNext(part);
|
|
260
|
+
if (NEXT_ENTRY.test(c) && !out.includes(c))
|
|
261
|
+
out.push(c);
|
|
262
|
+
}
|
|
263
|
+
};
|
|
264
|
+
const lines = summary.split('\n');
|
|
265
|
+
for (let i = 0; i < lines.length; i++) {
|
|
266
|
+
const line = lines[i];
|
|
267
|
+
const nm = line.match(/(?:^|\.\s+)[^\w\s"'`]*\s*[Nn]ext:\s*(.*)$/u);
|
|
268
|
+
if (nm) {
|
|
269
|
+
if (nm[1].trim())
|
|
270
|
+
add(nm[1]);
|
|
271
|
+
else {
|
|
272
|
+
while (i + 1 < lines.length && /^\s*-\s+/.test(lines[i + 1]))
|
|
273
|
+
add(lines[++i].replace(/^\s*-\s+/, ''));
|
|
274
|
+
}
|
|
275
|
+
continue;
|
|
276
|
+
}
|
|
277
|
+
const cm = line.match(/(?:^|\.\s+)[^\w\s"'`]*\s*([Cc]all qa_\w+.*)$/u);
|
|
278
|
+
if (cm)
|
|
279
|
+
add(cm[1]);
|
|
280
|
+
}
|
|
281
|
+
return out;
|
|
282
|
+
}
|
|
283
|
+
/** Payload keys that already carry next-step guidance; `next` is not added on top of them. */
|
|
284
|
+
const PAYLOAD_NEXT_KEYS = ['next', 'nextSteps', 'nextBestAction', 'nextAction', 'nextRecommendedAction'];
|
|
285
|
+
/** structuredContent for a success: `summary` first (unless the payload has its own, or
|
|
286
|
+
* opts.structuredSummary is 'none'), then the payload, then `next` (extracted guidance, unless the
|
|
287
|
+
* payload already carries next-step guidance of its own). */
|
|
288
|
+
function withSummary(base, summary, opts, next) {
|
|
289
|
+
const out = {};
|
|
290
|
+
if (!('summary' in base) && opts?.structuredSummary !== 'none') {
|
|
291
|
+
const s = structuredSummary(summary, opts);
|
|
292
|
+
if (s)
|
|
293
|
+
out.summary = s;
|
|
294
|
+
}
|
|
295
|
+
Object.assign(out, base);
|
|
296
|
+
if (!PAYLOAD_NEXT_KEYS.some((k) => k in base)) {
|
|
297
|
+
const n = next ?? extractNextSteps(summary);
|
|
298
|
+
if (n.length)
|
|
299
|
+
out.next = n;
|
|
300
|
+
}
|
|
301
|
+
return out;
|
|
302
|
+
}
|
|
126
303
|
export function qaOk(payload, summary, opts) {
|
|
127
|
-
const
|
|
304
|
+
const base = { ok: true, ...payload };
|
|
128
305
|
return {
|
|
129
|
-
|
|
130
|
-
|
|
306
|
+
// The fence renders `base`, not the summary/next copies: the text block already IS the summary.
|
|
307
|
+
content: [{ type: 'text', text: renderText(summary, base, currentResponseMode(), opts) }],
|
|
308
|
+
structuredContent: withSummary(base, summary, opts),
|
|
131
309
|
};
|
|
132
310
|
}
|
|
133
311
|
/** Append advisory notes (e.g. params ignored in the active mode) to a result without touching
|
|
@@ -147,11 +325,11 @@ export function qaAnnotate(result, notes) {
|
|
|
147
325
|
}
|
|
148
326
|
/** A deliberate, budgeted stop (not an error). The agent should call qa_report next. */
|
|
149
327
|
export function qaStop(reason, payload) {
|
|
150
|
-
const
|
|
328
|
+
const base = { ok: true, stopped: true, reason, ...payload };
|
|
151
329
|
const summary = `⏹ Stopped: ${reason}\nCall qa_report to summarize what was verified.`;
|
|
152
330
|
return {
|
|
153
|
-
content: [{ type: 'text', text: renderText(summary,
|
|
154
|
-
structuredContent:
|
|
331
|
+
content: [{ type: 'text', text: renderText(summary, base, currentResponseMode()) }],
|
|
332
|
+
structuredContent: withSummary(base, summary, undefined, ['qa_report to summarize what was verified']),
|
|
155
333
|
};
|
|
156
334
|
}
|
|
157
335
|
/**
|
package/dist/lib/result.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"result.js","sourceRoot":"","sources":["../../src/lib/result.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"result.js","sourceRoot":"","sources":["../../src/lib/result.ts"],"names":[],"mappings":"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"}
|