@ait-co/devtools 0.1.106 → 0.1.108

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 (91) hide show
  1. package/dist/bundle-BJm5jk56.d.ts +49 -0
  2. package/dist/bundle-BJm5jk56.d.ts.map +1 -0
  3. package/dist/cdp-connection-C0AP0tH2.d.ts +277 -0
  4. package/dist/cdp-connection-C0AP0tH2.d.ts.map +1 -0
  5. package/dist/in-app/auto.d.ts +17 -0
  6. package/dist/in-app/auto.d.ts.map +1 -1
  7. package/dist/in-app/auto.js +76 -0
  8. package/dist/in-app/auto.js.map +1 -1
  9. package/dist/in-app/index.d.ts +48 -1
  10. package/dist/in-app/index.d.ts.map +1 -1
  11. package/dist/in-app/index.js +60 -1
  12. package/dist/in-app/index.js.map +1 -1
  13. package/dist/mcp/cli.js +507 -11
  14. package/dist/mcp/cli.js.map +1 -1
  15. package/dist/mcp/server.d.ts.map +1 -1
  16. package/dist/mcp/server.js +60 -3
  17. package/dist/mcp/server.js.map +1 -1
  18. package/dist/panel/index.js +1 -1
  19. package/dist/pool-Dkp7I9Bf.d.ts +14577 -0
  20. package/dist/pool-Dkp7I9Bf.d.ts.map +1 -0
  21. package/dist/{relay-secret-store-I5q2Wvvv.cjs → relay-secret-store-CPBBlV3J.cjs} +2 -2
  22. package/dist/{relay-secret-store-I5q2Wvvv.cjs.map → relay-secret-store-CPBBlV3J.cjs.map} +1 -1
  23. package/dist/{relay-secret-store-Bns5rndt.js → relay-secret-store-DBwzoCXQ.js} +2 -2
  24. package/dist/{relay-secret-store-Bns5rndt.js.map → relay-secret-store-DBwzoCXQ.js.map} +1 -1
  25. package/dist/{relay-secret-store-B0DH-8Qb.js → relay-secret-store-DhzAnnj-.js} +2 -2
  26. package/dist/{relay-secret-store-B0DH-8Qb.js.map → relay-secret-store-DhzAnnj-.js.map} +1 -1
  27. package/dist/{relay-url-store-CvmnevcO.cjs → relay-url-store-C9QLhB2p.cjs} +2 -2
  28. package/dist/{relay-url-store-CvmnevcO.cjs.map → relay-url-store-C9QLhB2p.cjs.map} +1 -1
  29. package/dist/{relay-url-store-BPeUZsiY.js → relay-url-store-CwKT7i04.js} +2 -2
  30. package/dist/{relay-url-store-BPeUZsiY.js.map → relay-url-store-CwKT7i04.js.map} +1 -1
  31. package/dist/{relay-url-store-DJHZjk8o.js → relay-url-store-j16TRTiJ.js} +2 -2
  32. package/dist/{relay-url-store-DJHZjk8o.js.map → relay-url-store-j16TRTiJ.js.map} +1 -1
  33. package/dist/relay-worker-BzFQ3fv9.d.ts +74 -0
  34. package/dist/relay-worker-BzFQ3fv9.d.ts.map +1 -0
  35. package/dist/runtime-ORdrpizY.d.ts +50 -0
  36. package/dist/runtime-ORdrpizY.d.ts.map +1 -0
  37. package/dist/test-runner/bundle.d.ts +2 -0
  38. package/dist/test-runner/bundle.js +95 -0
  39. package/dist/test-runner/bundle.js.map +1 -0
  40. package/dist/test-runner/cli.d.ts +417 -0
  41. package/dist/test-runner/cli.d.ts.map +1 -0
  42. package/dist/test-runner/cli.js +377 -0
  43. package/dist/test-runner/cli.js.map +1 -0
  44. package/dist/test-runner/config.d.ts +80 -0
  45. package/dist/test-runner/config.d.ts.map +1 -0
  46. package/dist/test-runner/config.js +54 -0
  47. package/dist/test-runner/config.js.map +1 -0
  48. package/dist/test-runner/pool.d.ts +2 -0
  49. package/dist/test-runner/pool.js +136 -0
  50. package/dist/test-runner/pool.js.map +1 -0
  51. package/dist/test-runner/relay-worker.d.ts +2 -0
  52. package/dist/test-runner/relay-worker.js +96 -0
  53. package/dist/test-runner/relay-worker.js.map +1 -0
  54. package/dist/test-runner/rpc.d.ts +53 -0
  55. package/dist/test-runner/rpc.d.ts.map +1 -0
  56. package/dist/test-runner/rpc.js +78 -0
  57. package/dist/test-runner/rpc.js.map +1 -0
  58. package/dist/test-runner/task-graph.d.ts +38 -0
  59. package/dist/test-runner/task-graph.d.ts.map +1 -0
  60. package/dist/test-runner/task-graph.js +182 -0
  61. package/dist/test-runner/task-graph.js.map +1 -0
  62. package/dist/{totp-BmKSPb5d.js → totp-95OAa20j.js} +2 -2
  63. package/dist/totp-95OAa20j.js.map +1 -0
  64. package/dist/{totp-BwDZ6dUT.cjs → totp-BjtoQNfu.cjs} +2 -2
  65. package/dist/totp-BjtoQNfu.cjs.map +1 -0
  66. package/dist/totp-D1pulXLa.js +3 -0
  67. package/dist/{totp-DYdP9N3o.js → totp-DIbrZtI7.js} +2 -2
  68. package/dist/totp-DIbrZtI7.js.map +1 -0
  69. package/dist/{totp-CNw0w89F.cjs → totp-Df252ZdA.cjs} +2 -2
  70. package/dist/totp-Df252ZdA.cjs.map +1 -0
  71. package/dist/{totp-Xq3ACwkm.js → totp-WY6l0ysP.js} +2 -2
  72. package/dist/totp-WY6l0ysP.js.map +1 -0
  73. package/dist/{tunnel-BmDcTrnU.js → tunnel-BjJROkcj.js} +2 -2
  74. package/dist/{tunnel-BmDcTrnU.js.map → tunnel-BjJROkcj.js.map} +1 -1
  75. package/dist/{tunnel-RB5zB8IK.cjs → tunnel-d_G9AIFn.cjs} +2 -2
  76. package/dist/{tunnel-RB5zB8IK.cjs.map → tunnel-d_G9AIFn.cjs.map} +1 -1
  77. package/dist/unplugin/index.cjs +4 -4
  78. package/dist/unplugin/index.d.cts +13 -32
  79. package/dist/unplugin/index.d.cts.map +1 -1
  80. package/dist/unplugin/index.d.ts +13 -32
  81. package/dist/unplugin/index.d.ts.map +1 -1
  82. package/dist/unplugin/index.js +4 -4
  83. package/dist/unplugin/tunnel.cjs +1 -1
  84. package/dist/unplugin/tunnel.js +1 -1
  85. package/package.json +13 -3
  86. package/dist/totp-BcBNRoDD.js +0 -3
  87. package/dist/totp-BmKSPb5d.js.map +0 -1
  88. package/dist/totp-BwDZ6dUT.cjs.map +0 -1
  89. package/dist/totp-CNw0w89F.cjs.map +0 -1
  90. package/dist/totp-DYdP9N3o.js.map +0 -1
  91. package/dist/totp-Xq3ACwkm.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","names":[],"sources":["../../src/mcp/ait-source.ts","../../src/mcp/server.ts"],"mappings":";;;;;;;AAsBA;;;;;AAGA;;;;;;;;;;;;;KAHY,kBAAA;AAqBZ;AAAA,UAlBiB,UAAA;;EAEf,MAAA;EAiBiB;EAfjB,IAAA;EAwBsB;EAtBtB,SAAA;EAsByB;EApBzB,MAAA;EAuBe;EArBf,MAAA;;EAEA,KAAA;EAuBU;EArBV,QAAA,EAAU,kBAAA;AAAA;;UAIK,iBAAA;EACf,KAAA,EAAO,UAAA;AAAA;;;;;;;KASG,YAAA,GAAe,MAAA;;UAGV,yBAAA;EAW2C;EAT1D,WAAA;EAYuB;EAVvB,UAAA;AAAA;;UAIe,YAAA;EACf,uBAAA,EAAyB,iBAAA;EACzB,kBAAA,EAAoB,YAAA;EACpB,+BAAA,EAAiC,yBAAA;AAAA;AAAA,KAGvB,aAAA,SAAsB,YAAA;;;;;UAMjB,SAAA;EACf,GAAA,WAAc,aAAA,EAAe,MAAA,EAAQ,CAAA,GAAI,OAAA,CAAQ,YAAA,CAAa,CAAA;AAAA;;;UC+P/C,mBAAA;EDhQS;ECkQxB,SAAA,GAAY,SAAA;AAAA;;iBA2IE,eAAA,CAAgB,IAAA,GAAM,mBAAA,GAA2B,MAAA;;iBAqH3C,YAAA,CAAA,GAAgB,OAAA"}
1
+ {"version":3,"file":"server.d.ts","names":[],"sources":["../../src/mcp/ait-source.ts","../../src/mcp/server.ts"],"mappings":";;;;;;;AAsBA;;;;;AAGA;;;;;;;;;;;;;KAHY,kBAAA;AAqBZ;AAAA,UAlBiB,UAAA;;EAEf,MAAA;EAiBiB;EAfjB,IAAA;EAwBsB;EAtBtB,SAAA;EAsByB;EApBzB,MAAA;EAuBe;EArBf,MAAA;;EAEA,KAAA;EAuBU;EArBV,QAAA,EAAU,kBAAA;AAAA;;UAIK,iBAAA;EACf,KAAA,EAAO,UAAA;AAAA;;;;;;;KASG,YAAA,GAAe,MAAA;;UAGV,yBAAA;EAW2C;EAT1D,WAAA;EAYuB;EAVvB,UAAA;AAAA;;UAIe,YAAA;EACf,uBAAA,EAAyB,iBAAA;EACzB,kBAAA,EAAoB,YAAA;EACpB,+BAAA,EAAiC,yBAAA;AAAA;AAAA,KAGvB,aAAA,SAAsB,YAAA;;;;;UAMjB,SAAA;EACf,GAAA,WAAc,aAAA,EAAe,MAAA,EAAQ,CAAA,GAAI,OAAA,CAAQ,YAAA,CAAa,CAAA;AAAA;;;UCsR/C,mBAAA;EDvRS;ECyRxB,SAAA,GAAY,SAAA;AAAA;;iBA2IE,eAAA,CAAgB,IAAA,GAAM,mBAAA,GAA2B,MAAA;;iBAqH3C,YAAA,CAAA,GAAgB,OAAA"}
@@ -252,7 +252,7 @@ SIGNATURES.map((s) => s.name);
252
252
  "[ait-debug] AIT_DEBUG_TOTP_SECRET이 필수입니다. 32자 이상 16진수(hex) 문자열을 설정하세요.",
253
253
  "발급: openssl rand -hex 32",
254
254
  "데몬은 start_debug의 projectRoot 인자로 받은 디렉토리에서 .ait_relay 파일을 읽어 이 시크릿을 채웁니다.",
255
- "프로젝트에서 pnpm dev를 한 번 띄우면 unplugin이 .ait_relay를 자동 생성하니, projectRoot를 전달하세요.",
255
+ "프로젝트에서 pnpm dev:phone:cdp를 한 번 띄우면 unplugin이 .ait_relay를 자동 생성하니(tunnel.cdp 옵션 필요), projectRoot를 전달하세요.",
256
256
  "자세히: https://docs.aitc.dev/guides/relay-auth-totp"
257
257
  ].join("\n");
258
258
  new Set([
@@ -484,6 +484,34 @@ new Set([
484
484
  required: []
485
485
  },
486
486
  availableIn: "both"
487
+ },
488
+ {
489
+ name: "run_tests",
490
+ description: "Runs mini-app test files on the attached page over CDP (Runtime.evaluate). Each matched file is bundled with esbuild (SDK imports redirected to the live mock/SDK), injected into the attached WebView, and executed; returns per-file results plus flattened totals (passed/failed/skipped/total). Requires an attached page — call list_pages first to confirm one is attached. Files run SEQUENTIALLY (single-attach model: the relay/local target serves one page), and one run_tests call runs at a time (a concurrent call is rejected). Test verification (assert/snapshot) is delegated to the in-page Vitest runtime; this tool is the transport + report. The per-file results array is the progress record — on partial failure you see exactly which files passed/failed/timed-out. In a relay-live session this is a state-mutating injection and is blocked unless confirm=true (ignored in mock/local/relay-dev/relay-mobile). debug-mode only — dev-mode (--mode=dev) has no CDP. Tier C (both mock/local and relay). Use the test-runner CLI (devtools-test) for the same run outside MCP.",
491
+ inputSchema: {
492
+ type: "object",
493
+ properties: {
494
+ files: {
495
+ type: "array",
496
+ items: { type: "string" },
497
+ description: "Glob patterns or file paths to run (e.g. [\"src/**/*.phone.test.ts\"]). Resolved relative to projectRoot when given, else the daemon cwd. Required, non-empty."
498
+ },
499
+ projectRoot: {
500
+ type: "string",
501
+ description: "Absolute path to the mini-app project root used as the glob base. Pass this because the daemon's cwd is fixed at launch. Optional."
502
+ },
503
+ timeout_ms: {
504
+ type: "number",
505
+ description: "Per-file evaluate timeout in ms (default 30000, range 1000–600000). Out-of-range/invalid values fall back to the default."
506
+ },
507
+ confirm: {
508
+ type: "boolean",
509
+ description: "Required (true) to run in a relay-live session — test injection mutates page state. Ignored in mock/local/relay-dev/relay-mobile sessions."
510
+ }
511
+ },
512
+ required: ["files"]
513
+ },
514
+ availableIn: "both"
487
515
  }
488
516
  ].map((t) => t.name));
489
517
  `
@@ -839,6 +867,34 @@ const DEV_TOOL_DEFINITIONS = [
839
867
  required: []
840
868
  },
841
869
  availableIn: "both"
870
+ },
871
+ {
872
+ name: "run_tests",
873
+ description: "Runs mini-app test files on the attached page over CDP (Runtime.evaluate). NOT available in dev-mode (no CDP connection). Switch to `--mode=local` or `--mode=debug`.",
874
+ inputSchema: {
875
+ type: "object",
876
+ properties: {
877
+ files: {
878
+ type: "array",
879
+ items: { type: "string" },
880
+ description: "Glob patterns or file paths to run."
881
+ },
882
+ projectRoot: {
883
+ type: "string",
884
+ description: "Glob base directory."
885
+ },
886
+ timeout_ms: {
887
+ type: "number",
888
+ description: "Per-file evaluate timeout in ms."
889
+ },
890
+ confirm: {
891
+ type: "boolean",
892
+ description: "Required in relay-live sessions."
893
+ }
894
+ },
895
+ required: ["files"]
896
+ },
897
+ availableIn: "both"
842
898
  }
843
899
  ];
844
900
  /** All tool names served in dev-mode (including tier-filter stubs). */
@@ -851,7 +907,8 @@ const CDP_ONLY_TOOL_NAMES = new Set([
851
907
  "take_snapshot",
852
908
  "list_console_messages",
853
909
  "list_network_requests",
854
- "list_exceptions"
910
+ "list_exceptions",
911
+ "run_tests"
855
912
  ]);
856
913
  /**
857
914
  * Tier B tools — relay-only per RFC #277.
@@ -968,7 +1025,7 @@ function createDevServer(deps = {}) {
968
1025
  const aitSource = deps.aitSource ?? new HttpAitSource({ stateEndpoint });
969
1026
  const server = new Server({
970
1027
  name: "ait-devtools",
971
- version: "0.1.106"
1028
+ version: "0.1.108"
972
1029
  }, { capabilities: { tools: {} } });
973
1030
  server.setRequestHandler(ListToolsRequestSchema, () => ({ tools: DEV_TOOL_DEFINITIONS.map((tool) => ({ ...tool })) }));
974
1031
  server.setRequestHandler(CallToolRequestSchema, async (request) => {