@ait-co/devtools 0.1.127 → 0.1.129
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{attach-orchestrator-CpE0dMew.js → attach-orchestrator-Bdt5Zdo9.js} +3 -94
- package/dist/attach-orchestrator-Bdt5Zdo9.js.map +1 -0
- package/dist/{attach-orchestrator-CPMQWkGV.js → attach-orchestrator-DvrgUIx7.js} +4 -95
- package/dist/attach-orchestrator-DvrgUIx7.js.map +1 -0
- package/dist/{bundle-Cb3GFuw6.d.ts → bundle-BKqyhEK9.d.ts} +1 -1
- package/dist/{bundle-Cb3GFuw6.d.ts.map → bundle-BKqyhEK9.d.ts.map} +1 -1
- package/dist/{capture-B1zfGyTo.d.ts → capture-ltuV0gZa.d.ts} +1 -1
- package/dist/{capture-B1zfGyTo.d.ts.map → capture-ltuV0gZa.d.ts.map} +1 -1
- package/dist/{cdp-connection-Dxw_EY8s.d.ts → cdp-connection-D7AYQck2.d.ts} +1 -1
- package/dist/{cdp-connection-Dxw_EY8s.d.ts.map → cdp-connection-D7AYQck2.d.ts.map} +1 -1
- package/dist/{cell-D0dJSGHi.js → cell-DA_lcpDI.js} +2 -2
- package/dist/{cell-D0dJSGHi.js.map → cell-DA_lcpDI.js.map} +1 -1
- package/dist/{cell-CX92lDI0.js → cell-DLRv4iG6.js} +2 -2
- package/dist/{cell-CX92lDI0.js.map → cell-DLRv4iG6.js.map} +1 -1
- package/dist/{debug-server-Dctc9GAh.js → debug-server--Y0QZVJS.js} +57 -58
- package/dist/debug-server--Y0QZVJS.js.map +1 -0
- package/dist/debug-server-Bu3pCG9c.js +436 -0
- package/dist/debug-server-Bu3pCG9c.js.map +1 -0
- package/dist/debug-server-e1qPe0ZB.js +379 -0
- package/dist/{debug-server-BzzNkETg.js.map → debug-server-e1qPe0ZB.js.map} +1 -1
- package/dist/log-CUik_tHp.js +95 -0
- package/dist/log-CUik_tHp.js.map +1 -0
- package/dist/mcp/cli.js +1296 -1230
- package/dist/mcp/cli.js.map +1 -1
- package/dist/mcp/server.js +1 -1
- package/dist/panel/index.js +1 -1
- package/dist/{pool-DBLKNeRC.d.ts → pool-C0pc7T2p.d.ts} +4 -4
- package/dist/{pool-DBLKNeRC.d.ts.map → pool-C0pc7T2p.d.ts.map} +1 -1
- package/dist/{qr-http-server-Bo8LMOJQ.js → qr-http-server-HANhOFwI.js} +1 -1
- package/dist/{qr-http-server-Bo8LMOJQ.js.map → qr-http-server-HANhOFwI.js.map} +1 -1
- package/dist/{relay-factory-Dug7W6Ao.js → relay-factory-Ck3vBonr.js} +6 -6
- package/dist/{relay-factory-Dug7W6Ao.js.map → relay-factory-Ck3vBonr.js.map} +1 -1
- package/dist/{relay-secret-store-DKxs7zwq.js → relay-secret-store-DzxDsK6S.js} +1 -1
- package/dist/{relay-secret-store-DKxs7zwq.js.map → relay-secret-store-DzxDsK6S.js.map} +1 -1
- package/dist/{relay-url-store-xmUuTjXA.js → relay-url-store-D3rY-GJJ.js} +2 -2
- package/dist/{relay-url-store-xmUuTjXA.js.map → relay-url-store-D3rY-GJJ.js.map} +1 -1
- package/dist/{debug-server-BzzNkETg.js → relay-worker-Bt0QYKQH.js} +212 -346
- package/dist/relay-worker-Bt0QYKQH.js.map +1 -0
- package/dist/{relay-worker-TReZtzGl.d.ts → relay-worker-o0M2ndyJ.d.ts} +7 -7
- package/dist/relay-worker-o0M2ndyJ.d.ts.map +1 -0
- package/dist/{runtime-ozyPnRbU.d.ts → runtime-9xhN9pr8.d.ts} +1 -1
- package/dist/{runtime-ozyPnRbU.d.ts.map → runtime-9xhN9pr8.d.ts.map} +1 -1
- package/dist/test-runner/bin.js +721 -15
- package/dist/test-runner/bin.js.map +1 -1
- package/dist/test-runner/bundle.d.ts +1 -1
- package/dist/test-runner/capture.d.ts +1 -1
- package/dist/test-runner/config.d.ts +1 -1
- package/dist/test-runner/config.js +1 -1
- package/dist/test-runner/pool.d.ts +1 -1
- package/dist/test-runner/pool.js +1 -1
- package/dist/test-runner/relay-factory.d.ts +1 -1
- package/dist/test-runner/relay-factory.js +1 -1
- package/dist/test-runner/relay-worker.d.ts +1 -1
- package/dist/test-runner/relay-worker.js +1 -183
- package/dist/test-runner/report.d.ts +3 -3
- package/dist/test-runner/rpc.d.ts +2 -2
- package/dist/test-runner/rpc.js +12 -3
- package/dist/test-runner/rpc.js.map +1 -1
- package/dist/test-runner/runtime.d.ts +1 -1
- package/dist/test-runner/task-graph.d.ts +1 -1
- package/package.json +1 -1
- package/dist/attach-orchestrator-CPMQWkGV.js.map +0 -1
- package/dist/attach-orchestrator-CpE0dMew.js.map +0 -1
- package/dist/debug-server-1dhDA3aw.js +0 -980
- package/dist/debug-server-1dhDA3aw.js.map +0 -1
- package/dist/debug-server-Dctc9GAh.js.map +0 -1
- package/dist/relay-worker-TReZtzGl.d.ts.map +0 -1
- package/dist/test-runner/relay-worker.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cell-
|
|
1
|
+
{"version":3,"file":"cell-DA_lcpDI.js","names":[],"sources":["../src/test-runner/cell.ts"],"sourcesContent":["/**\n * Cell injection utility for the `devtools-test` CLI (issue #684 §4.1).\n *\n * Injects arbitrary globals into the page via `Runtime.evaluate` BEFORE the\n * first test bundle is injected. The injected values are session-global — one\n * call covers all files in the run.\n *\n * The primary use-case is injecting `__AIT_CELL__` (sdkLine/platform) so\n * sdk-example's `aitCapture.ts` picks up the correct test-axis values instead\n * of falling back to `'2.x'`/`'mock'`.\n *\n * devtools does NOT know the shape of `__AIT_CELL__` — it only provides the\n * general injection mechanism. The caller (CLI or MCP auto-attach path) is\n * responsible for constructing the cell object.\n *\n * SECRET-HANDLING: cell values (sdkLine/platform) are not secrets and may be\n * logged at the caller's discretion. This module does NOT log them itself.\n *\n * Node-only. react-free. CdpConnection only.\n */\n\nimport { buildIndicatorExpression } from '../mcp/attach-orchestrator.js';\nimport type { CdpConnection } from '../mcp/cdp-connection.js';\n\n/**\n * Injects each key of `globals` into `globalThis` in the page via a single\n * `Runtime.evaluate` call. Must be called BEFORE the first `bundleTestFile`\n * inject — the cell is session-global and applies to all subsequent files.\n *\n * Throws if the CDP evaluate returns an exception.\n *\n * @param conn - The live CDP connection (relay-attached page).\n * @param globals - Plain-JSON-serialisable key→value map to assign onto `globalThis`.\n */\nexport async function injectGlobals(\n conn: CdpConnection,\n globals: Record<string, unknown>,\n): Promise<void> {\n // JSON.stringify is safe here: globals values are plain data (sdkLine/platform\n // strings or simple objects). If a value is not JSON-serialisable this throws\n // at call time, which surfaces the error early and clearly.\n const expr = `(() => { Object.assign(globalThis, ${JSON.stringify(globals)}); return true; })()`;\n const result = await conn.send('Runtime.evaluate', { expression: expr, returnByValue: true });\n if (result.exceptionDetails) {\n const msg =\n result.exceptionDetails.exception?.description ??\n result.exceptionDetails.text ??\n 'unknown error';\n throw new Error(`injectGlobals: Runtime.evaluate threw: ${msg}`);\n }\n}\n\n/**\n * Injects the \"Debugger Connected\" on-phone indicator via `Runtime.evaluate`.\n *\n * Uses the same CDP mechanism as {@link injectGlobals} — a single\n * `Runtime.evaluate` round-trip with the expression built by\n * {@link buildIndicatorExpression}. The indicator is a dismissible red badge\n * rendered at the bottom-left of the page (position:fixed, safe-area-aware).\n *\n * **Isolation**: unlike {@link injectGlobals}, this function NEVER throws to\n * its caller. Injection failure (e.g. page detached during inject, CSS not\n * supported) is swallowed and logged as `console.debug` — the badge is\n * informational UI and must never block attach success or test execution.\n * This is the same fire-and-forget spirit as the in-page console mount in\n * `src/in-app/attach.ts`.\n *\n * Call this ONLY on the manual debug paths (start_attach MCP, devtools-test\n * CLI). Do NOT call on the `run_tests` auto-attach path — the red badge\n * would contaminate screenshots, measure_safe_area probes, and DOM snapshots\n * taken during automated measurement runs.\n *\n * SECRET-HANDLING: the injected expression contains no secrets, relay URLs,\n * wss addresses, or TOTP codes — it is pure DOM UI text built by\n * {@link buildIndicatorExpression}.\n *\n * @param conn - The live CDP connection (relay-attached page).\n * @param opts - Optional overrides forwarded to {@link buildIndicatorExpression}.\n */\nexport async function injectDebugIndicator(\n conn: CdpConnection,\n opts?: { label?: string },\n): Promise<void> {\n try {\n await conn.send('Runtime.evaluate', {\n expression: buildIndicatorExpression(opts),\n returnByValue: true,\n });\n } catch (err) {\n // Badge injection is informational UI — swallow and log; never propagate.\n console.debug('[@ait-co/devtools] debug indicator inject skipped:', err);\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkCA,eAAsB,cACpB,MACA,SACe;CAIf,MAAM,OAAO,sCAAsC,KAAK,UAAU,QAAQ,CAAC;CAC3E,MAAM,SAAS,MAAM,KAAK,KAAK,oBAAoB;EAAE,YAAY;EAAM,eAAe;EAAM,CAAC;AAC7F,KAAI,OAAO,kBAAkB;EAC3B,MAAM,MACJ,OAAO,iBAAiB,WAAW,eACnC,OAAO,iBAAiB,QACxB;AACF,QAAM,IAAI,MAAM,0CAA0C,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+BpE,eAAsB,qBACpB,MACA,MACe;AACf,KAAI;AACF,QAAM,KAAK,KAAK,oBAAoB;GAClC,YAAY,yBAAyB,KAAK;GAC1C,eAAe;GAChB,CAAC;UACK,KAAK;AAEZ,UAAQ,MAAM,sDAAsD,IAAI"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import { buildIndicatorExpression } from "./attach-orchestrator-
|
|
2
|
+
import { buildIndicatorExpression } from "./attach-orchestrator-Bdt5Zdo9.js";
|
|
3
3
|
//#region src/test-runner/cell.ts
|
|
4
4
|
/**
|
|
5
5
|
* Cell injection utility for the `devtools-test` CLI (issue #684 §4.1).
|
|
@@ -82,4 +82,4 @@ async function injectDebugIndicator(conn, opts) {
|
|
|
82
82
|
//#endregion
|
|
83
83
|
export { injectDebugIndicator, injectGlobals };
|
|
84
84
|
|
|
85
|
-
//# sourceMappingURL=cell-
|
|
85
|
+
//# sourceMappingURL=cell-DLRv4iG6.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cell-
|
|
1
|
+
{"version":3,"file":"cell-DLRv4iG6.js","names":[],"sources":["../src/test-runner/cell.ts"],"sourcesContent":["/**\n * Cell injection utility for the `devtools-test` CLI (issue #684 §4.1).\n *\n * Injects arbitrary globals into the page via `Runtime.evaluate` BEFORE the\n * first test bundle is injected. The injected values are session-global — one\n * call covers all files in the run.\n *\n * The primary use-case is injecting `__AIT_CELL__` (sdkLine/platform) so\n * sdk-example's `aitCapture.ts` picks up the correct test-axis values instead\n * of falling back to `'2.x'`/`'mock'`.\n *\n * devtools does NOT know the shape of `__AIT_CELL__` — it only provides the\n * general injection mechanism. The caller (CLI or MCP auto-attach path) is\n * responsible for constructing the cell object.\n *\n * SECRET-HANDLING: cell values (sdkLine/platform) are not secrets and may be\n * logged at the caller's discretion. This module does NOT log them itself.\n *\n * Node-only. react-free. CdpConnection only.\n */\n\nimport { buildIndicatorExpression } from '../mcp/attach-orchestrator.js';\nimport type { CdpConnection } from '../mcp/cdp-connection.js';\n\n/**\n * Injects each key of `globals` into `globalThis` in the page via a single\n * `Runtime.evaluate` call. Must be called BEFORE the first `bundleTestFile`\n * inject — the cell is session-global and applies to all subsequent files.\n *\n * Throws if the CDP evaluate returns an exception.\n *\n * @param conn - The live CDP connection (relay-attached page).\n * @param globals - Plain-JSON-serialisable key→value map to assign onto `globalThis`.\n */\nexport async function injectGlobals(\n conn: CdpConnection,\n globals: Record<string, unknown>,\n): Promise<void> {\n // JSON.stringify is safe here: globals values are plain data (sdkLine/platform\n // strings or simple objects). If a value is not JSON-serialisable this throws\n // at call time, which surfaces the error early and clearly.\n const expr = `(() => { Object.assign(globalThis, ${JSON.stringify(globals)}); return true; })()`;\n const result = await conn.send('Runtime.evaluate', { expression: expr, returnByValue: true });\n if (result.exceptionDetails) {\n const msg =\n result.exceptionDetails.exception?.description ??\n result.exceptionDetails.text ??\n 'unknown error';\n throw new Error(`injectGlobals: Runtime.evaluate threw: ${msg}`);\n }\n}\n\n/**\n * Injects the \"Debugger Connected\" on-phone indicator via `Runtime.evaluate`.\n *\n * Uses the same CDP mechanism as {@link injectGlobals} — a single\n * `Runtime.evaluate` round-trip with the expression built by\n * {@link buildIndicatorExpression}. The indicator is a dismissible red badge\n * rendered at the bottom-left of the page (position:fixed, safe-area-aware).\n *\n * **Isolation**: unlike {@link injectGlobals}, this function NEVER throws to\n * its caller. Injection failure (e.g. page detached during inject, CSS not\n * supported) is swallowed and logged as `console.debug` — the badge is\n * informational UI and must never block attach success or test execution.\n * This is the same fire-and-forget spirit as the in-page console mount in\n * `src/in-app/attach.ts`.\n *\n * Call this ONLY on the manual debug paths (start_attach MCP, devtools-test\n * CLI). Do NOT call on the `run_tests` auto-attach path — the red badge\n * would contaminate screenshots, measure_safe_area probes, and DOM snapshots\n * taken during automated measurement runs.\n *\n * SECRET-HANDLING: the injected expression contains no secrets, relay URLs,\n * wss addresses, or TOTP codes — it is pure DOM UI text built by\n * {@link buildIndicatorExpression}.\n *\n * @param conn - The live CDP connection (relay-attached page).\n * @param opts - Optional overrides forwarded to {@link buildIndicatorExpression}.\n */\nexport async function injectDebugIndicator(\n conn: CdpConnection,\n opts?: { label?: string },\n): Promise<void> {\n try {\n await conn.send('Runtime.evaluate', {\n expression: buildIndicatorExpression(opts),\n returnByValue: true,\n });\n } catch (err) {\n // Badge injection is informational UI — swallow and log; never propagate.\n console.debug('[@ait-co/devtools] debug indicator inject skipped:', err);\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkCA,eAAsB,cACpB,MACA,SACe;CAIf,MAAM,OAAO,sCAAsC,KAAK,UAAU,QAAQ,CAAC;CAC3E,MAAM,SAAS,MAAM,KAAK,KAAK,oBAAoB;EAAE,YAAY;EAAM,eAAe;EAAM,CAAC;AAC7F,KAAI,OAAO,kBAAkB;EAC3B,MAAM,MACJ,OAAO,iBAAiB,WAAW,eACnC,OAAO,iBAAiB,QACxB;AACF,QAAM,IAAI,MAAM,0CAA0C,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+BpE,eAAsB,qBACpB,MACA,MACe;AACf,KAAI;AACF,QAAM,KAAK,KAAK,oBAAoB;GAClC,YAAY,yBAAyB,KAAK;GAC1C,eAAe;GAChB,CAAC;UACK,KAAK;AAEZ,UAAQ,MAAM,sDAAsD,IAAI"}
|
|
@@ -11,63 +11,6 @@ import "@modelcontextprotocol/sdk/types.js";
|
|
|
11
11
|
import { EventEmitter } from "node:events";
|
|
12
12
|
import { WebSocket, WebSocketServer } from "ws";
|
|
13
13
|
import { createServer } from "node:http";
|
|
14
|
-
new RegExp(`^${"@apps-in-toss/web-framework".replace(/[.*+?^${}()|[\]\\]/g, "\\$&")}`);
|
|
15
|
-
`
|
|
16
|
-
devtools-test — run mini-app tests on a real device WebView over the CDP relay
|
|
17
|
-
|
|
18
|
-
USAGE
|
|
19
|
-
devtools-test <glob> [<glob> ...] [options]
|
|
20
|
-
|
|
21
|
-
OPTIONS
|
|
22
|
-
--scheme-url <url> intoss-private:// URL from \`ait deploy --scheme-only\`
|
|
23
|
-
(required for standalone relay attach / env3)
|
|
24
|
-
--timeout <ms> Per-file evaluate timeout in ms (default: 30000).
|
|
25
|
-
Controls how long a single test file is allowed to run
|
|
26
|
-
before it is considered hung. Does NOT affect how long
|
|
27
|
-
the CLI waits for a human to scan the QR code — use
|
|
28
|
-
--attach-timeout for that.
|
|
29
|
-
--attach-timeout <ms> How long to wait for a human to scan the QR code with
|
|
30
|
-
their phone (default: 600000 — 10 minutes). Omit to
|
|
31
|
-
use the relay factory's generous default. Decrease for
|
|
32
|
-
CI environments where a scan should arrive quickly.
|
|
33
|
-
--cell-sdk-line <line> SDK line to inject as __AIT_CELL__.sdkLine (2.x|3.x)
|
|
34
|
-
--cell-platform <plat> Platform to inject as __AIT_CELL__.platform
|
|
35
|
-
(mock|ios|android, default: AIT_CELL_PLATFORM env)
|
|
36
|
-
--report-dir <dir> Persist a runner-agnostic report + captures to <dir>
|
|
37
|
-
(report: <sdkLine>.<platform>.json; captures:
|
|
38
|
-
<dir>/.ait-capture/<category>.<sdkLine>.<platform>.json).
|
|
39
|
-
Omitted = nothing saved. Enables console capture.
|
|
40
|
-
--no-qr-stdout Suppress the QR/attach block on stdout (auto-on for
|
|
41
|
-
non-interactive stdout / CI / AIT_NO_QR_STDOUT)
|
|
42
|
-
--headless Disable browser auto-open (text QR only)
|
|
43
|
-
--project-root <dir> Project root for .ait_relay secret lookup
|
|
44
|
-
(default: current working directory)
|
|
45
|
-
--help, -h Show this help message
|
|
46
|
-
|
|
47
|
-
DESCRIPTION
|
|
48
|
-
Boots a Chii relay + cloudflared tunnel, renders a QR code, waits for a real
|
|
49
|
-
device to scan and attach, injects the cell globals (__AIT_CELL__), bundles
|
|
50
|
-
each matched test file with esbuild (SDK imports redirected to window.__sdk),
|
|
51
|
-
injects the bundle into the attached WebView via Runtime.evaluate, and prints
|
|
52
|
-
a summary.
|
|
53
|
-
|
|
54
|
-
With --report-dir, also harvests __AIT_CAPTURE__ console lines and writes a
|
|
55
|
-
runner-agnostic report + per-category capture files so 2.x↔3.0 runs can be
|
|
56
|
-
compared offline.
|
|
57
|
-
|
|
58
|
-
The test files run against the live relay connection started by this process;
|
|
59
|
-
no separate MCP daemon is required.
|
|
60
|
-
|
|
61
|
-
EXAMPLE
|
|
62
|
-
devtools-test 'src/**/*.ait.test.ts' \\
|
|
63
|
-
--scheme-url "intoss-private://..." \\
|
|
64
|
-
--cell-sdk-line 3.x \\
|
|
65
|
-
--cell-platform ios \\
|
|
66
|
-
--report-dir .ait-report \\
|
|
67
|
-
--timeout 60000
|
|
68
|
-
|
|
69
|
-
`.trimStart();
|
|
70
|
-
//#endregion
|
|
71
14
|
//#region src/shared/relay-auth-close.ts
|
|
72
15
|
/**
|
|
73
16
|
* Shared constants for the relay's named TOTP-auth rejection (issue #478).
|
|
@@ -612,6 +555,62 @@ var ChiiCdpConnection = class {
|
|
|
612
555
|
ws?.close();
|
|
613
556
|
}
|
|
614
557
|
};
|
|
558
|
+
new RegExp(`^${"@apps-in-toss/web-framework".replace(/[.*+?^${}()|[\]\\]/g, "\\$&")}`);
|
|
559
|
+
`
|
|
560
|
+
devtools-test — run mini-app tests on a real device WebView over the CDP relay
|
|
561
|
+
|
|
562
|
+
USAGE
|
|
563
|
+
devtools-test <glob> [<glob> ...] [options]
|
|
564
|
+
|
|
565
|
+
OPTIONS
|
|
566
|
+
--scheme-url <url> intoss-private:// URL from \`ait deploy --scheme-only\`
|
|
567
|
+
(required for standalone relay attach / env3)
|
|
568
|
+
--timeout <ms> Per-file evaluate timeout in ms (default: 60000).
|
|
569
|
+
Controls how long a single test file is allowed to run
|
|
570
|
+
before it is considered hung. Does NOT affect how long
|
|
571
|
+
the CLI waits for a human to scan the QR code — use
|
|
572
|
+
--attach-timeout for that.
|
|
573
|
+
--attach-timeout <ms> How long to wait for a human to scan the QR code with
|
|
574
|
+
their phone (default: 600000 — 10 minutes). Omit to
|
|
575
|
+
use the relay factory's generous default. Decrease for
|
|
576
|
+
CI environments where a scan should arrive quickly.
|
|
577
|
+
--cell-sdk-line <line> SDK line to inject as __AIT_CELL__.sdkLine (2.x|3.x)
|
|
578
|
+
--cell-platform <plat> Platform to inject as __AIT_CELL__.platform
|
|
579
|
+
(mock|ios|android, default: AIT_CELL_PLATFORM env)
|
|
580
|
+
--report-dir <dir> Persist a runner-agnostic report + captures to <dir>
|
|
581
|
+
(report: <sdkLine>.<platform>.json; captures:
|
|
582
|
+
<dir>/.ait-capture/<category>.<sdkLine>.<platform>.json).
|
|
583
|
+
Omitted = nothing saved. Enables console capture.
|
|
584
|
+
--no-qr-stdout Suppress the QR/attach block on stdout (auto-on for
|
|
585
|
+
non-interactive stdout / CI / AIT_NO_QR_STDOUT)
|
|
586
|
+
--headless Disable browser auto-open (text QR only)
|
|
587
|
+
--project-root <dir> Project root for .ait_relay secret lookup
|
|
588
|
+
(default: current working directory)
|
|
589
|
+
--help, -h Show this help message
|
|
590
|
+
|
|
591
|
+
DESCRIPTION
|
|
592
|
+
Boots a Chii relay + cloudflared tunnel, renders a QR code, waits for a real
|
|
593
|
+
device to scan and attach, injects the cell globals (__AIT_CELL__), bundles
|
|
594
|
+
each matched test file with esbuild (SDK imports redirected to window.__sdk),
|
|
595
|
+
injects the bundle into the attached WebView via Runtime.evaluate, and prints
|
|
596
|
+
a summary.
|
|
597
|
+
|
|
598
|
+
With --report-dir, also harvests __AIT_CAPTURE__ console lines and writes a
|
|
599
|
+
runner-agnostic report + per-category capture files so 2.x↔3.0 runs can be
|
|
600
|
+
compared offline.
|
|
601
|
+
|
|
602
|
+
The test files run against the live relay connection started by this process;
|
|
603
|
+
no separate MCP daemon is required.
|
|
604
|
+
|
|
605
|
+
EXAMPLE
|
|
606
|
+
devtools-test 'src/**/*.ait.test.ts' \\
|
|
607
|
+
--scheme-url "intoss-private://..." \\
|
|
608
|
+
--cell-sdk-line 3.x \\
|
|
609
|
+
--cell-platform ios \\
|
|
610
|
+
--report-dir .ait-report \\
|
|
611
|
+
--timeout 60000
|
|
612
|
+
|
|
613
|
+
`.trimStart();
|
|
615
614
|
//#endregion
|
|
616
615
|
//#region src/mcp/chii-relay.ts
|
|
617
616
|
/**
|
|
@@ -977,4 +976,4 @@ async function bootRelayFamily(options = {}) {
|
|
|
977
976
|
//#endregion
|
|
978
977
|
export { bootRelayFamily, buildRelayVerifyAuth };
|
|
979
978
|
|
|
980
|
-
//# sourceMappingURL=debug-server
|
|
979
|
+
//# sourceMappingURL=debug-server--Y0QZVJS.js.map
|