@e2edev/e2e 0.6.1 → 0.8.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 (283) hide show
  1. package/README.md +15 -11
  2. package/dist/agent/act-validation.d.ts +9 -3
  3. package/dist/agent/act-validation.d.ts.map +1 -1
  4. package/dist/agent/act-validation.js +23 -4
  5. package/dist/agent/act-validation.js.map +1 -1
  6. package/dist/agent/act.d.ts +2 -2
  7. package/dist/agent/act.d.ts.map +1 -1
  8. package/dist/agent/act.js +231 -41
  9. package/dist/agent/act.js.map +1 -1
  10. package/dist/agent/actions.d.ts +14 -14
  11. package/dist/agent/actions.d.ts.map +1 -1
  12. package/dist/agent/actions.js +12 -2
  13. package/dist/agent/actions.js.map +1 -1
  14. package/dist/agent/default-agent.d.ts +1 -1
  15. package/dist/agent/default-agent.d.ts.map +1 -1
  16. package/dist/agent/default-agent.js +19 -84
  17. package/dist/agent/default-agent.js.map +1 -1
  18. package/dist/agent/executor.d.ts +14 -0
  19. package/dist/agent/executor.d.ts.map +1 -1
  20. package/dist/agent/executor.js.map +1 -1
  21. package/dist/agent/index.d.ts.map +1 -1
  22. package/dist/agent/index.js +14 -6
  23. package/dist/agent/index.js.map +1 -1
  24. package/dist/agent/invocation.d.ts +1 -8
  25. package/dist/agent/invocation.d.ts.map +1 -1
  26. package/dist/agent/invocation.js +7 -51
  27. package/dist/agent/invocation.js.map +1 -1
  28. package/dist/agent/ledger.d.ts.map +1 -1
  29. package/dist/agent/ledger.js +10 -1
  30. package/dist/agent/ledger.js.map +1 -1
  31. package/dist/agent/loop-guards.d.ts +21 -0
  32. package/dist/agent/loop-guards.d.ts.map +1 -1
  33. package/dist/agent/loop-guards.js +48 -0
  34. package/dist/agent/loop-guards.js.map +1 -1
  35. package/dist/agent/model/sdk.d.ts +18 -0
  36. package/dist/agent/model/sdk.d.ts.map +1 -1
  37. package/dist/agent/model/sdk.js +10 -4
  38. package/dist/agent/model/sdk.js.map +1 -1
  39. package/dist/agent/observation-budget.d.ts +27 -0
  40. package/dist/agent/observation-budget.d.ts.map +1 -0
  41. package/dist/agent/observation-budget.js +43 -0
  42. package/dist/agent/observation-budget.js.map +1 -0
  43. package/dist/agent/observation.d.ts +40 -7
  44. package/dist/agent/observation.d.ts.map +1 -1
  45. package/dist/agent/observation.js +56 -11
  46. package/dist/agent/observation.js.map +1 -1
  47. package/dist/agent/phases.d.ts +1 -1
  48. package/dist/agent/phases.d.ts.map +1 -1
  49. package/dist/agent/phases.js +11 -13
  50. package/dist/agent/phases.js.map +1 -1
  51. package/dist/agent/primitives.d.ts +14 -2
  52. package/dist/agent/primitives.d.ts.map +1 -1
  53. package/dist/agent/primitives.js +98 -54
  54. package/dist/agent/primitives.js.map +1 -1
  55. package/dist/agent/screen-update.d.ts +47 -0
  56. package/dist/agent/screen-update.d.ts.map +1 -0
  57. package/dist/agent/screen-update.js +222 -0
  58. package/dist/agent/screen-update.js.map +1 -0
  59. package/dist/agent/step-cache.d.ts +46 -18
  60. package/dist/agent/step-cache.d.ts.map +1 -1
  61. package/dist/agent/step-cache.js +100 -60
  62. package/dist/agent/step-cache.js.map +1 -1
  63. package/dist/agent/tool-loop.d.ts.map +1 -1
  64. package/dist/agent/tool-loop.js +28 -4
  65. package/dist/agent/tool-loop.js.map +1 -1
  66. package/dist/cache/anchors.d.ts.map +1 -1
  67. package/dist/cache/anchors.js +21 -1
  68. package/dist/cache/anchors.js.map +1 -1
  69. package/dist/cache/decide.d.ts +13 -3
  70. package/dist/cache/decide.d.ts.map +1 -1
  71. package/dist/cache/decide.js +35 -0
  72. package/dist/cache/decide.js.map +1 -1
  73. package/dist/cache/relocate.d.ts +11 -1
  74. package/dist/cache/relocate.d.ts.map +1 -1
  75. package/dist/cache/relocate.js +48 -17
  76. package/dist/cache/relocate.js.map +1 -1
  77. package/dist/cache/store.d.ts.map +1 -1
  78. package/dist/cache/store.js +3 -14
  79. package/dist/cache/store.js.map +1 -1
  80. package/dist/cache/trace.d.ts +12 -0
  81. package/dist/cache/trace.d.ts.map +1 -1
  82. package/dist/cache/trace.js +21 -0
  83. package/dist/cache/trace.js.map +1 -1
  84. package/dist/cli/docs-url.d.ts +1 -1
  85. package/dist/cli/docs-url.d.ts.map +1 -1
  86. package/dist/cli/docs-url.js +1 -1
  87. package/dist/cli/docs-url.js.map +1 -1
  88. package/dist/cli/index.d.ts.map +1 -1
  89. package/dist/cli/index.js +60 -9
  90. package/dist/cli/index.js.map +1 -1
  91. package/dist/cli/init/engines.d.ts +2 -3
  92. package/dist/cli/init/engines.d.ts.map +1 -1
  93. package/dist/cli/init/engines.js +3 -4
  94. package/dist/cli/init/engines.js.map +1 -1
  95. package/dist/cli/init/scaffold.d.ts.map +1 -1
  96. package/dist/cli/init/scaffold.js +2 -0
  97. package/dist/cli/init/scaffold.js.map +1 -1
  98. package/dist/cli/signals.d.ts +3 -3
  99. package/dist/cli/signals.js +3 -3
  100. package/dist/cli/telemetry.d.ts +12 -0
  101. package/dist/cli/telemetry.d.ts.map +1 -0
  102. package/dist/cli/telemetry.js +40 -0
  103. package/dist/cli/telemetry.js.map +1 -0
  104. package/dist/collect/select.d.ts +2 -0
  105. package/dist/collect/select.d.ts.map +1 -1
  106. package/dist/collect/select.js +15 -11
  107. package/dist/collect/select.js.map +1 -1
  108. package/dist/config/agent.d.ts +6 -2
  109. package/dist/config/agent.d.ts.map +1 -1
  110. package/dist/config/agent.js +30 -3
  111. package/dist/config/agent.js.map +1 -1
  112. package/dist/config/diagnose.d.ts.map +1 -1
  113. package/dist/config/diagnose.js +1 -0
  114. package/dist/config/diagnose.js.map +1 -1
  115. package/dist/config/load.d.ts +2 -2
  116. package/dist/config/load.js +2 -2
  117. package/dist/config/resolve.d.ts +16 -4
  118. package/dist/config/resolve.d.ts.map +1 -1
  119. package/dist/config/resolve.js +107 -44
  120. package/dist/config/resolve.js.map +1 -1
  121. package/dist/engine/contract.d.ts +6 -1
  122. package/dist/engine/contract.d.ts.map +1 -1
  123. package/dist/engine/contract.js.map +1 -1
  124. package/dist/engine/index.d.ts +61 -6
  125. package/dist/engine/index.d.ts.map +1 -1
  126. package/dist/engine/index.js +25 -5
  127. package/dist/engine/index.js.map +1 -1
  128. package/dist/engine/session.d.ts.map +1 -1
  129. package/dist/engine/session.js +6 -0
  130. package/dist/engine/session.js.map +1 -1
  131. package/dist/engine/surface.d.ts +6 -2
  132. package/dist/engine/surface.d.ts.map +1 -1
  133. package/dist/index.d.ts +1 -1
  134. package/dist/index.d.ts.map +1 -1
  135. package/dist/index.js +1 -1
  136. package/dist/index.js.map +1 -1
  137. package/dist/internal/ai-trace.d.ts +1 -5
  138. package/dist/internal/ai-trace.d.ts.map +1 -1
  139. package/dist/internal/ai-trace.js +82 -11
  140. package/dist/internal/ai-trace.js.map +1 -1
  141. package/dist/internal/atomic-write.d.ts +17 -0
  142. package/dist/internal/atomic-write.d.ts.map +1 -0
  143. package/dist/internal/atomic-write.js +44 -0
  144. package/dist/internal/atomic-write.js.map +1 -0
  145. package/dist/internal/env.d.ts +6 -0
  146. package/dist/internal/env.d.ts.map +1 -0
  147. package/dist/internal/env.js +12 -0
  148. package/dist/internal/env.js.map +1 -0
  149. package/dist/internal/options.d.ts +9 -0
  150. package/dist/internal/options.d.ts.map +1 -0
  151. package/dist/internal/options.js +27 -0
  152. package/dist/internal/options.js.map +1 -0
  153. package/dist/locator/expression.js +1 -1
  154. package/dist/locator/expression.js.map +1 -1
  155. package/dist/locator/screen.d.ts.map +1 -1
  156. package/dist/locator/screen.js +4 -2
  157. package/dist/locator/screen.js.map +1 -1
  158. package/dist/report/build.d.ts +2 -1
  159. package/dist/report/build.d.ts.map +1 -1
  160. package/dist/report/build.js +11 -4
  161. package/dist/report/build.js.map +1 -1
  162. package/dist/report/list-model.d.ts +14 -5
  163. package/dist/report/list-model.d.ts.map +1 -1
  164. package/dist/report/list.d.ts +59 -5
  165. package/dist/report/list.d.ts.map +1 -1
  166. package/dist/report/list.js +171 -31
  167. package/dist/report/list.js.map +1 -1
  168. package/dist/report/running-tree.d.ts +7 -6
  169. package/dist/report/running-tree.d.ts.map +1 -1
  170. package/dist/report/running-tree.js +13 -8
  171. package/dist/report/running-tree.js.map +1 -1
  172. package/dist/report/write.d.ts +1 -1
  173. package/dist/report/write.d.ts.map +1 -1
  174. package/dist/report/write.js +3 -6
  175. package/dist/report/write.js.map +1 -1
  176. package/dist/run/artifacts.d.ts.map +1 -1
  177. package/dist/run/artifacts.js +20 -2
  178. package/dist/run/artifacts.js.map +1 -1
  179. package/dist/run/events.d.ts +73 -15
  180. package/dist/run/events.d.ts.map +1 -1
  181. package/dist/run/events.js +7 -7
  182. package/dist/run/events.js.map +1 -1
  183. package/dist/run/execute.d.ts +31 -5
  184. package/dist/run/execute.d.ts.map +1 -1
  185. package/dist/run/execute.js +73 -25
  186. package/dist/run/execute.js.map +1 -1
  187. package/dist/run/fixtures.d.ts +9 -1
  188. package/dist/run/fixtures.d.ts.map +1 -1
  189. package/dist/run/fixtures.js +5 -4
  190. package/dist/run/fixtures.js.map +1 -1
  191. package/dist/run/in-process.d.ts +1 -1
  192. package/dist/run/in-process.d.ts.map +1 -1
  193. package/dist/run/in-process.js +6 -3
  194. package/dist/run/in-process.js.map +1 -1
  195. package/dist/run/managed-process.d.ts +8 -2
  196. package/dist/run/managed-process.d.ts.map +1 -1
  197. package/dist/run/managed-process.js +12 -0
  198. package/dist/run/managed-process.js.map +1 -1
  199. package/dist/run/records.d.ts +15 -1
  200. package/dist/run/records.d.ts.map +1 -1
  201. package/dist/run/runner.d.ts +16 -7
  202. package/dist/run/runner.d.ts.map +1 -1
  203. package/dist/run/runner.js +182 -98
  204. package/dist/run/runner.js.map +1 -1
  205. package/dist/run/scheduler.d.ts +6 -6
  206. package/dist/run/scheduler.d.ts.map +1 -1
  207. package/dist/run/scheduler.js +54 -23
  208. package/dist/run/scheduler.js.map +1 -1
  209. package/dist/run/serial.d.ts +2 -4
  210. package/dist/run/serial.d.ts.map +1 -1
  211. package/dist/run/serial.js +4 -2
  212. package/dist/run/serial.js.map +1 -1
  213. package/dist/run/sessions.d.ts.map +1 -1
  214. package/dist/run/sessions.js +3 -4
  215. package/dist/run/sessions.js.map +1 -1
  216. package/dist/run/steps.d.ts +28 -1
  217. package/dist/run/steps.d.ts.map +1 -1
  218. package/dist/run/steps.js +14 -0
  219. package/dist/run/steps.js.map +1 -1
  220. package/dist/run/unit-runner.d.ts +7 -2
  221. package/dist/run/unit-runner.d.ts.map +1 -1
  222. package/dist/run/units.d.ts +8 -0
  223. package/dist/run/units.d.ts.map +1 -1
  224. package/dist/run/units.js +11 -0
  225. package/dist/run/units.js.map +1 -1
  226. package/dist/run/worker/entry.js +1 -0
  227. package/dist/run/worker/entry.js.map +1 -1
  228. package/dist/run/worker/handle.d.ts +1 -1
  229. package/dist/run/worker/handle.d.ts.map +1 -1
  230. package/dist/run/worker/handle.js +1 -1
  231. package/dist/run/worker/handle.js.map +1 -1
  232. package/dist/run/worker/protocol.d.ts +12 -1
  233. package/dist/run/worker/protocol.d.ts.map +1 -1
  234. package/dist/run/worker/protocol.js.map +1 -1
  235. package/dist/run/worker/session.d.ts +2 -0
  236. package/dist/run/worker/session.d.ts.map +1 -1
  237. package/dist/run/worker/session.js +5 -0
  238. package/dist/run/worker/session.js.map +1 -1
  239. package/dist/run/worker-models.d.ts +27 -0
  240. package/dist/run/worker-models.d.ts.map +1 -0
  241. package/dist/run/worker-models.js +49 -0
  242. package/dist/run/worker-models.js.map +1 -0
  243. package/dist/telemetry/environment.d.ts +33 -0
  244. package/dist/telemetry/environment.d.ts.map +1 -0
  245. package/dist/telemetry/environment.js +96 -0
  246. package/dist/telemetry/environment.js.map +1 -0
  247. package/dist/telemetry/events.d.ts +25 -0
  248. package/dist/telemetry/events.d.ts.map +1 -0
  249. package/dist/telemetry/events.js +107 -0
  250. package/dist/telemetry/events.js.map +1 -0
  251. package/dist/telemetry/posthog.d.ts +31 -0
  252. package/dist/telemetry/posthog.d.ts.map +1 -0
  253. package/dist/telemetry/posthog.js +29 -0
  254. package/dist/telemetry/posthog.js.map +1 -0
  255. package/dist/telemetry/project.d.ts +18 -0
  256. package/dist/telemetry/project.d.ts.map +1 -0
  257. package/dist/telemetry/project.js +55 -0
  258. package/dist/telemetry/project.js.map +1 -0
  259. package/dist/telemetry/store.d.ts +53 -0
  260. package/dist/telemetry/store.d.ts.map +1 -0
  261. package/dist/telemetry/store.js +153 -0
  262. package/dist/telemetry/store.js.map +1 -0
  263. package/dist/telemetry/telemetry.d.ts +89 -0
  264. package/dist/telemetry/telemetry.d.ts.map +1 -0
  265. package/dist/telemetry/telemetry.js +187 -0
  266. package/dist/telemetry/telemetry.js.map +1 -0
  267. package/dist/types.d.ts +103 -38
  268. package/dist/types.d.ts.map +1 -1
  269. package/package.json +2 -6
  270. package/skills/e2e/SKILL.md +0 -2
  271. package/skills/e2e/references/agent.md +33 -15
  272. package/skills/e2e/references/debugging.md +4 -2
  273. package/skills/e2e/references/running.md +7 -5
  274. package/skills/e2e/references/setup.md +16 -10
  275. package/skills/e2e/references/writing-tests.md +6 -5
  276. package/dist/internal/trace.d.ts +0 -18
  277. package/dist/internal/trace.d.ts.map +0 -1
  278. package/dist/internal/trace.js +0 -46
  279. package/dist/internal/trace.js.map +0 -1
  280. package/dist/run/public.d.ts +0 -19
  281. package/dist/run/public.d.ts.map +0 -1
  282. package/dist/run/public.js +0 -11
  283. package/dist/run/public.js.map +0 -1
@@ -45,6 +45,8 @@ export const MAX_TRACE_END_WAIT_MS = 120_000;
45
45
  const SCROLL_DIRECTIONS = new Set(['up', 'down', 'left', 'right']);
46
46
  /** The shape of a SHA-256 digest in hex, as `instructionDigest` writes it. */
47
47
  const SHA256_HEX = /^[a-f0-9]{64}$/u;
48
+ /** Most twins a positional recording distinguishes between; beyond it a list is data, not a control set. */
49
+ const MAX_TRACE_POSITION_OF = 1000;
48
50
  /** The shape `timestamp()` writes: an ISO 8601 UTC instant. */
49
51
  const ISO_INSTANT = /^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d+)?Z$/;
50
52
  /** Wraps one trace as a fresh entry. */
@@ -247,8 +249,27 @@ function readDescriptor(document) {
247
249
  }
248
250
  if (Object.keys(descriptor).length === 0)
249
251
  return undefined;
252
+ if (raw['position'] !== undefined) {
253
+ const position = readPosition(raw['position']);
254
+ if (position === undefined)
255
+ return undefined;
256
+ descriptor['position'] = position;
257
+ }
250
258
  return descriptor;
251
259
  }
260
+ /** A well-formed position: two safe integers with the index inside the count. */
261
+ function readPosition(document) {
262
+ if (typeof document !== 'object' || document === null || Array.isArray(document))
263
+ return undefined;
264
+ const { index, of } = document;
265
+ if (!Number.isSafeInteger(index) || !Number.isSafeInteger(of))
266
+ return undefined;
267
+ if (of < 2 || of > MAX_TRACE_POSITION_OF)
268
+ return undefined;
269
+ if (index < 0 || index >= of)
270
+ return undefined;
271
+ return { index: index, of: of };
272
+ }
252
273
  function readProvenance(document) {
253
274
  if (typeof document !== 'object' || document === null || Array.isArray(document)) {
254
275
  return undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"trace.js","sourceRoot":"","sources":["../../src/cache/trace.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"trace.js","sourceRoot":"","sources":["../../src/cache/trace.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,3 @@
1
1
  /** Root of the published documentation site. */
2
- export declare const DOCS_URL = "https://e2e.docs.buildwithfern.com";
2
+ export declare const DOCS_URL = "https://e2e-docs.vercel.app";
3
3
  //# sourceMappingURL=docs-url.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"docs-url.d.ts","sourceRoot":"","sources":["../../src/cli/docs-url.ts"],"names":[],"mappings":"AAAA,gDAAgD;AAChD,eAAO,MAAM,QAAQ,uCAAuC,CAAC"}
1
+ {"version":3,"file":"docs-url.d.ts","sourceRoot":"","sources":["../../src/cli/docs-url.ts"],"names":[],"mappings":"AAAA,gDAAgD;AAChD,eAAO,MAAM,QAAQ,gCAAgC,CAAC"}
@@ -1,3 +1,3 @@
1
1
  /** Root of the published documentation site. */
2
- export const DOCS_URL = 'https://e2e.docs.buildwithfern.com';
2
+ export const DOCS_URL = 'https://e2e-docs.vercel.app';
3
3
  //# sourceMappingURL=docs-url.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"docs-url.js","sourceRoot":"","sources":["../../src/cli/docs-url.ts"],"names":[],"mappings":"AAAA,gDAAgD;AAChD,MAAM,CAAC,MAAM,QAAQ,GAAG,oCAAoC,CAAC"}
1
+ {"version":3,"file":"docs-url.js","sourceRoot":"","sources":["../../src/cli/docs-url.ts"],"names":[],"mappings":"AAAA,gDAAgD;AAChD,MAAM,CAAC,MAAM,QAAQ,GAAG,6BAA6B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"AAAA,eAAe;AA4Wf,4CAA4C;AAC5C,wBAAsB,IAAI,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAcjE"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"AAAA,eAAe;AAmaf,4CAA4C;AAC5C,wBAAsB,IAAI,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAmBjE"}
package/dist/cli/index.js CHANGED
@@ -1,16 +1,19 @@
1
1
  /** e2e CLI. */
2
2
  import { resolve as resolvePath } from 'node:path';
3
- import { Command, CommanderError, InvalidArgumentError, Option } from 'commander';
3
+ import { Argument, Command, CommanderError, InvalidArgumentError, Option } from 'commander';
4
4
  import picocolors from 'picocolors';
5
5
  import { packageVersion } from '../internal/package-version.js';
6
6
  import { classifyError, exitCodeForCategory } from '../internal/errors.js';
7
7
  import { list, run } from '../run/runner.js';
8
+ import { cliSessionEvent, runCompletedEvent } from '../telemetry/events.js';
9
+ import { Telemetry } from '../telemetry/telemetry.js';
8
10
  import { cache } from './cache.js';
9
11
  import { DOCS_URL } from './docs-url.js';
10
12
  import { guide } from './guide.js';
11
13
  import { init } from './init.js';
12
14
  import { SignalLadder } from './signals.js';
13
15
  import { skillTopics } from './skill.js';
16
+ import { telemetry as telemetryCommand, TELEMETRY_ACTIONS } from './telemetry.js';
14
17
  /**
15
18
  * Help text always carries color; commander strips it when the stream it
16
19
  * writes to has none (not a TTY, `NO_COLOR`), so the decision is made once,
@@ -70,9 +73,22 @@ function examples(commands) {
70
73
  function docsLine(path = '') {
71
74
  return `Docs: ${pc.underline(`${DOCS_URL}${path}`)}`;
72
75
  }
76
+ /** `run`, `cache ls`: the command path below the root, as the session event names it. */
77
+ function commandPath(command) {
78
+ const names = [];
79
+ for (let current = command; current !== null && current.parent !== null; current = current.parent) {
80
+ names.unshift(current.name());
81
+ }
82
+ return names.join(' ');
83
+ }
84
+ /** The long names of the flags given on the command line: a closed set, never their values. */
85
+ function usedFlags(command) {
86
+ return command.options
87
+ .flatMap((option) => option.long !== undefined && command.getOptionValueSource(option.attributeName()) === 'cli' ? [option.long] : [])
88
+ .toSorted();
89
+ }
73
90
  /** Builds the commander program. */
74
- function createProgram() {
75
- const version = packageVersion(import.meta.url, '../../package.json', '0.0.0');
91
+ function createProgram(version, telemetry) {
76
92
  const program = new Command('e2e');
77
93
  // The help option, the error hint, and the help styles are copied into each
78
94
  // subcommand as it is created, so they are set before any `.command()`.
@@ -100,6 +116,7 @@ function createProgram() {
100
116
  'e2e list --tag smoke',
101
117
  'e2e cache ls',
102
118
  'e2e guide',
119
+ 'e2e telemetry disable',
103
120
  ]),
104
121
  '',
105
122
  `Run ${pc.cyan('e2e <command> --help')} for the flags of one command.`,
@@ -108,12 +125,21 @@ function createProgram() {
108
125
  // Commander would exit(1) on a usage error itself; the exit-code table reserves 1
109
126
  // for product failures and 2 for CLI errors, so exits are decided in main.
110
127
  program.exitOverride();
128
+ // Every command that runs is one session event. The notice precedes the
129
+ // first of them on a machine, except `telemetry` itself: that is where
130
+ // someone who read the notice goes to act on it.
131
+ program.hook('preAction', (_program, actionCommand) => {
132
+ const command = commandPath(actionCommand);
133
+ if (command !== 'telemetry')
134
+ telemetry.notice();
135
+ telemetry.record(cliSessionEvent(command, usedFlags(actionCommand)));
136
+ });
111
137
  program
112
138
  .command('init')
113
139
  .summary('scaffold an ESM package, e2e.config.ts, an example test, .gitignore entries, and the agent skill')
114
140
  .description('Scaffold a project without touching existing files: an ESM package.json, e2e.config.ts, tests/example.e2e.ts, .gitignore entries, and the e2e skill for coding agents. Prompts for the engine, for AI support, and for the skill directories, then offers to install the dependencies; --yes takes the defaults, with the skill in .agents/skills and .claude/skills.')
115
141
  .argument('[directory]', 'project directory, created when missing (default: the current directory)')
116
- .option('-y, --yes', 'skip the prompts: AI on, no engine, no installation')
142
+ .option('-y, --yes', 'skip the prompts: Playwright, AI on, no installation')
117
143
  .addHelpText('after', ['', examples(['e2e init', 'e2e init my-app', 'e2e init --yes']), '', docsLine('/reference/cli')].join('\n'))
118
144
  .action(async (directory, options) => {
119
145
  process.exitCode = await init(resolvePath(process.cwd(), directory ?? '.'), {
@@ -156,6 +182,7 @@ function createProgram() {
156
182
  .option('--artifacts <dir>', 'artifact root (default: .e2e/artifacts)')
157
183
  .option('--debug', 'print phase timings and the agent step table to stderr')
158
184
  .option('--ai-trace', 'record every model call to .e2e/ai-trace.json (unbox-ai)')
185
+ .option('--video', 'record a video of every attempt, when the engine supports it')
159
186
  .addHelpText('after', [
160
187
  '',
161
188
  examples([
@@ -172,7 +199,7 @@ function createProgram() {
172
199
  ].join('\n'))
173
200
  .action(async (files,
174
201
  // Each value is what its parser returned, so a bad one never reaches here.
175
- options) => {
202
+ options, command) => {
176
203
  const signals = new SignalLadder();
177
204
  const release = signals.arm();
178
205
  try {
@@ -191,10 +218,13 @@ function createProgram() {
191
218
  passWithNoTests: options.passWithNoTests,
192
219
  debug: options.debug,
193
220
  aiTrace: options.aiTrace,
221
+ video: options.video,
194
222
  interruptSignal: signals.interruptSignal,
195
223
  forceSignal: signals.forceSignal,
196
224
  });
197
225
  process.exitCode = outcome.exitCode;
226
+ // The run event is the report's own numbers; every run has a report, even one that failed before its first test.
227
+ telemetry.record(runCompletedEvent(outcome.report, usedFlags(command)));
198
228
  }
199
229
  finally {
200
230
  release();
@@ -265,11 +295,27 @@ function createProgram() {
265
295
  cacheSubcommand('ls', 'list the cached traces', 'Print one row per cached trace: the test and target it was recorded for, the digest of its instruction, its age, and how many actions a replay would run.');
266
296
  cacheSubcommand('clear', 'delete every cached trace', 'Delete the cache files and the directory itself; files the runner never wrote are left alone.');
267
297
  cacheSubcommand('stats', 'print the entry count and size', 'Print the store directory, how many readable entries it holds, and how many bytes they take.');
298
+ program
299
+ .command('telemetry')
300
+ .summary('show, enable, or disable anonymous usage telemetry')
301
+ .description('Print whether anonymous usage telemetry is on, and why not when it is off, or switch it. enable and disable save the choice to the preferences file; E2E_TELEMETRY_DISABLED=1 or DO_NOT_TRACK=1 in the environment overrides it, and E2E_TELEMETRY_DEBUG=1 prints every event to stderr instead of sending it.')
302
+ .addArgument(new Argument('[action]', 'status, enable, or disable').choices(TELEMETRY_ACTIONS).default('status'))
303
+ .addHelpText('after', [
304
+ '',
305
+ examples(['e2e telemetry', 'e2e telemetry disable', 'E2E_TELEMETRY_DEBUG=1 e2e run']),
306
+ '',
307
+ docsLine('/telemetry'),
308
+ ].join('\n'))
309
+ .action((action) => {
310
+ process.exitCode = telemetryCommand(action, telemetry);
311
+ });
268
312
  return program;
269
313
  }
270
314
  /** CLI entry invoked by the bin wrapper. */
271
315
  export async function main(argv) {
272
- const program = createProgram();
316
+ const version = packageVersion(import.meta.url, '../../package.json', '0.0.0');
317
+ const telemetry = new Telemetry({ version });
318
+ const program = createProgram(version, telemetry);
273
319
  try {
274
320
  await program.parseAsync([...argv]);
275
321
  }
@@ -278,10 +324,15 @@ export async function main(argv) {
278
324
  // Commander has already written its diagnostic. `--help` and
279
325
  // `--version` exit 0; every usage error is a CLI error: exit 2.
280
326
  process.exitCode = cause.exitCode === 0 ? 0 : 2;
281
- return;
282
327
  }
283
- process.stderr.write(`${cause instanceof Error ? cause.message : String(cause)}\n`);
284
- process.exitCode = 2;
328
+ else {
329
+ process.stderr.write(`${cause instanceof Error ? cause.message : String(cause)}\n`);
330
+ process.exitCode = 2;
331
+ }
332
+ }
333
+ finally {
334
+ // One bounded request; the deadline, not the network, decides when the CLI is done.
335
+ await telemetry.flush();
285
336
  }
286
337
  }
287
338
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
@@ -21,8 +21,7 @@ export declare function getEnginePresets(): readonly [{
21
21
  readonly imports: readonly ["import { playwright } from '@e2edev/playwright';"];
22
22
  readonly config: ` // The engine declares the app it drives; APP_URL overrides the default at run time.
23
23
  targets: [{
24
- name: 'web',
25
- platform: 'web',
24
+ // Named after the platform the engine declares: "web".
26
25
  engine: playwright({
27
26
  url: process.env.APP_URL ?? 'http://localhost:3000',
28
27
  // Let the runner start the dev server and wait for url to answer:
@@ -70,7 +69,7 @@ test('app responds', async () => {
70
69
  readonly '@e2edev/agent-device': "0.x";
71
70
  };
72
71
  readonly imports: readonly ["import { agentDevice } from '@e2edev/agent-device';"];
73
- readonly config: " // Requires Xcode and an iOS simulator. Replace Settings with your app's bundle ID.\n targets: [{ name: 'ios', platform: 'ios', engine: agentDevice({ platform: 'ios', app: 'Settings' }) }],\n workers: 1," | " // Requires the Android SDK and an emulator. Replace com.android.settings with your app's package.\n targets: [{ name: 'android', platform: 'android', engine: agentDevice({ platform: 'android', app: 'com.android.settings' }) }],\n workers: 1,";
72
+ readonly config: " // Requires Xcode and an iOS simulator. Replace Settings with your app's bundle ID.\n targets: [{ name: 'ios', engine: agentDevice({ platform: 'ios', app: 'Settings' }) }],\n workers: 1," | " // Requires the Android SDK and an emulator. Replace com.android.settings with your app's package.\n targets: [{ name: 'android', engine: agentDevice({ platform: 'android', app: 'com.android.settings' }) }],\n workers: 1,";
74
73
  readonly example: "import { test } from '@e2edev/agent-device';\nimport { expect } from '@e2edev/e2e';\n\ntest('Settings opens', async ({ screen }) => {\n await expect(screen.getByRole('button', { name: 'General' })).toBeVisible();\n});\n" | "import { test } from '@e2edev/agent-device';\nimport { expect } from '@e2edev/e2e';\n\ntest('Settings opens', async ({ screen }) => {\n await expect(screen.getByText('Network & internet')).toBeVisible();\n});\n";
75
74
  readonly aiExample: "\n// Runs when E2E_MODEL and E2E_MODEL_API_KEY are set:\n// test('the agent opens General', async ({ agent, device }) => {\n// await agent.act('open General settings');\n// await expect(device.locator('role=NavigationBar id=General')).toBeVisible();\n// });\n" | "\n// Runs when E2E_MODEL and E2E_MODEL_API_KEY are set:\n// test('the agent opens Network settings', async ({ agent, device }) => {\n// await agent.act('open Network & internet settings');\n// await expect(device.locator('id=com.android.settings:id/collapsing_toolbar')).toHaveText('Network & internet');\n// });\n";
76
75
  readonly runCommand: 'npx --no-install e2e run';
@@ -1 +1 @@
1
- {"version":3,"file":"engines.d.ts","sourceRoot":"","sources":["../../../src/cli/init/engines.ts"],"names":[],"mappings":"AAAA,gGAAgG;AAIhG,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,YAAY,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACxD,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;AAKD,sFAAsF;AACtF,wBAAgB,gBAAgB;iBAItB,YAAY;oBACT,YAAY;mBACb,iBAAiB;;iBACP,oBAAoB;;;qBAE5B;;;;;;;;;MASR;sBACS;;;;;;;CAOd;wBACgB;;;;;;;CAOhB;yBACiB,wDAAwD;;iBAGhE,MAAM;oBACH,MAAM;mBACP,+BAA+B;;;qBAG7B;sDACwC;sBACvC;;;;;;CAMd;yBACiB,wDAAwD;;iBAGhE,cAAc;oBACX,cAAc;mBACf,iCAAiC;;iBACvB,sBAAsB;;;;;;yBA+B1B,0BAA0B;GAG3C;AAED,MAAM,MAAM,QAAQ,GAAG,UAAU,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC;AACzE,eAAO,MAAM,iBAAiB,eAAkC,CAAC;AAEjE,2EAA2E;AAC3E,wBAAgB,eAAe,CAAC,EAAE,EAAE,QAAQ,GAAG,YAAY,CAI1D"}
1
+ {"version":3,"file":"engines.d.ts","sourceRoot":"","sources":["../../../src/cli/init/engines.ts"],"names":[],"mappings":"AAAA,gGAAgG;AAIhG,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,YAAY,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACxD,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;AAKD,sFAAsF;AACtF,wBAAgB,gBAAgB;iBAItB,YAAY;oBACT,YAAY;mBACb,iBAAiB;;iBACP,oBAAoB;;;qBAE5B;;;;;;;;MAQR;sBACS;;;;;;;CAOd;wBACgB;;;;;;;CAOhB;yBACiB,wDAAwD;;iBAGhE,MAAM;oBACH,MAAM;mBACP,+BAA+B;;;qBAG7B;sDACwC;sBACvC;;;;;;CAMd;yBACiB,wDAAwD;;iBAGhE,cAAc;oBACX,cAAc;mBACf,iCAAiC;;iBACvB,sBAAsB;;;;;;yBA+B1B,0BAA0B;GAG3C;AAED,MAAM,MAAM,QAAQ,GAAG,UAAU,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC;AACzE,eAAO,MAAM,iBAAiB,eAAkC,CAAC;AAEjE,2EAA2E;AAC3E,wBAAgB,eAAe,CAAC,EAAE,EAAE,QAAQ,GAAG,YAAY,CAI1D"}
@@ -14,8 +14,7 @@ export function getEnginePresets() {
14
14
  imports: ["import { playwright } from '@e2edev/playwright';"],
15
15
  config: ` // The engine declares the app it drives; APP_URL overrides the default at run time.
16
16
  targets: [{
17
- name: 'web',
18
- platform: 'web',
17
+ // Named after the platform the engine declares: "web".
19
18
  engine: playwright({
20
19
  url: process.env.APP_URL ?? 'http://localhost:3000',
21
20
  // Let the runner start the dev server and wait for url to answer:
@@ -65,10 +64,10 @@ test('app responds', async () => {
65
64
  imports: ["import { agentDevice } from '@e2edev/agent-device';"],
66
65
  config: ios
67
66
  ? ` // Requires Xcode and an iOS simulator. Replace Settings with your app's bundle ID.
68
- targets: [{ name: 'ios', platform: 'ios', engine: agentDevice({ platform: 'ios', app: 'Settings' }) }],
67
+ targets: [{ name: 'ios', engine: agentDevice({ platform: 'ios', app: 'Settings' }) }],
69
68
  workers: 1,`
70
69
  : ` // Requires the Android SDK and an emulator. Replace com.android.settings with your app's package.
71
- targets: [{ name: 'android', platform: 'android', engine: agentDevice({ platform: 'android', app: 'com.android.settings' }) }],
70
+ targets: [{ name: 'android', engine: agentDevice({ platform: 'android', app: 'com.android.settings' }) }],
72
71
  workers: 1,`,
73
72
  example: `import { test } from '@e2edev/agent-device';
74
73
  import { expect } from '@e2edev/e2e';
@@ -1 +1 @@
1
- {"version":3,"file":"engines.js","sourceRoot":"","sources":["../../../src/cli/init/engines.ts"],"names":[],"mappings":"AAAA,gGAAgG;AAEhG,OAAO,EAAE,MAAM,SAAS,CAAC;AAczB,mGAAmG;AACnG,MAAM,YAAY,GAAG,KAAK,CAAC;AAE3B,sFAAsF;AACtF,MAAM,UAAU,gBAAgB;IAC9B,MAAM,GAAG,GAAG,EAAE,CAAC,QAAQ,EAAE,KAAK,QAAQ,CAAC;IACvC,OAAO;QACL;YACE,EAAE,EAAE,YAAY;YAChB,KAAK,EAAE,YAAY;YACnB,IAAI,EAAE,iBAAiB;YACvB,YAAY,EAAE,EAAE,oBAAoB,EAAE,YAAY,EAAE;YACpD,OAAO,EAAE,CAAC,kDAAkD,CAAC;YAC7D,MAAM,EAAE;;;;;;;;;MASR;YACA,OAAO,EAAE;;;;;;;CAOd;YACK,SAAS,EAAE;;;;;;;CAOhB;YACK,UAAU,EAAE,wDAAwD;SACrE;QACD;YACE,EAAE,EAAE,MAAM;YACV,KAAK,EAAE,MAAM;YACb,IAAI,EAAE,+BAA+B;YACrC,YAAY,EAAE,EAAE;YAChB,OAAO,EAAE,EAAE;YACX,MAAM,EAAE;sDACwC;YAChD,OAAO,EAAE;;;;;;CAMd;YACK,UAAU,EAAE,wDAAwD;SACrE;QACD;YACE,EAAE,EAAE,cAAc;YAClB,KAAK,EAAE,cAAc;YACrB,IAAI,EAAE,iCAAiC;YACvC,YAAY,EAAE,EAAE,sBAAsB,EAAE,YAAY,EAAE;YACtD,OAAO,EAAE,CAAC,qDAAqD,CAAC;YAChE,MAAM,EAAE,GAAG;gBACT,CAAC,CAAC;;cAEI;gBACN,CAAC,CAAC;;cAEI;YACR,OAAO,EAAE;;;;iBAIE,GAAG,CAAC,CAAC,CAAC,iDAAiD,CAAC,CAAC,CAAC,wCAAwC;;CAElH;YACK,SAAS,EAAE,GAAG;gBACZ,CAAC,CAAC;;;;;;CAMT;gBACO,CAAC,CAAC;;;;;;CAMT;YACK,UAAU,EAAE,0BAA0B;SACvC;KACyC,CAAC;AAC/C,CAAC;AAGD,MAAM,CAAC,MAAM,iBAAiB,GAAG,YAA+B,CAAC;AAEjE,2EAA2E;AAC3E,MAAM,UAAU,eAAe,CAAC,EAAY;IAC1C,MAAM,MAAM,GAAG,gBAAgB,EAAE,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;IACnE,IAAI,MAAM,KAAK,SAAS;QAAE,MAAM,IAAI,KAAK,CAAC,mBAAmB,EAAE,EAAE,CAAC,CAAC;IACnE,OAAO,MAAM,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"engines.js","sourceRoot":"","sources":["../../../src/cli/init/engines.ts"],"names":[],"mappings":"AAAA,gGAAgG;AAEhG,OAAO,EAAE,MAAM,SAAS,CAAC;AAczB,mGAAmG;AACnG,MAAM,YAAY,GAAG,KAAK,CAAC;AAE3B,sFAAsF;AACtF,MAAM,UAAU,gBAAgB;IAC9B,MAAM,GAAG,GAAG,EAAE,CAAC,QAAQ,EAAE,KAAK,QAAQ,CAAC;IACvC,OAAO;QACL;YACE,EAAE,EAAE,YAAY;YAChB,KAAK,EAAE,YAAY;YACnB,IAAI,EAAE,iBAAiB;YACvB,YAAY,EAAE,EAAE,oBAAoB,EAAE,YAAY,EAAE;YACpD,OAAO,EAAE,CAAC,kDAAkD,CAAC;YAC7D,MAAM,EAAE;;;;;;;;MAQR;YACA,OAAO,EAAE;;;;;;;CAOd;YACK,SAAS,EAAE;;;;;;;CAOhB;YACK,UAAU,EAAE,wDAAwD;SACrE;QACD;YACE,EAAE,EAAE,MAAM;YACV,KAAK,EAAE,MAAM;YACb,IAAI,EAAE,+BAA+B;YACrC,YAAY,EAAE,EAAE;YAChB,OAAO,EAAE,EAAE;YACX,MAAM,EAAE;sDACwC;YAChD,OAAO,EAAE;;;;;;CAMd;YACK,UAAU,EAAE,wDAAwD;SACrE;QACD;YACE,EAAE,EAAE,cAAc;YAClB,KAAK,EAAE,cAAc;YACrB,IAAI,EAAE,iCAAiC;YACvC,YAAY,EAAE,EAAE,sBAAsB,EAAE,YAAY,EAAE;YACtD,OAAO,EAAE,CAAC,qDAAqD,CAAC;YAChE,MAAM,EAAE,GAAG;gBACT,CAAC,CAAC;;cAEI;gBACN,CAAC,CAAC;;cAEI;YACR,OAAO,EAAE;;;;iBAIE,GAAG,CAAC,CAAC,CAAC,iDAAiD,CAAC,CAAC,CAAC,wCAAwC;;CAElH;YACK,SAAS,EAAE,GAAG;gBACZ,CAAC,CAAC;;;;;;CAMT;gBACO,CAAC,CAAC;;;;;;CAMT;YACK,UAAU,EAAE,0BAA0B;SACvC;KACyC,CAAC;AAC/C,CAAC;AAGD,MAAM,CAAC,MAAM,iBAAiB,GAAG,YAA+B,CAAC;AAEjE,2EAA2E;AAC3E,MAAM,UAAU,eAAe,CAAC,EAAY;IAC1C,MAAM,MAAM,GAAG,gBAAgB,EAAE,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;IACnE,IAAI,MAAM,KAAK,SAAS;QAAE,MAAM,IAAI,KAAK,CAAC,mBAAmB,EAAE,EAAE,CAAC,CAAC;IACnE,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"scaffold.d.ts","sourceRoot":"","sources":["../../../src/cli/init/scaffold.ts"],"names":[],"mappings":"AACA,OAAO,EAAmB,KAAK,QAAQ,EAAE,MAAM,cAAc,CAAC;AAU9D,2EAA2E;AAC3E,wBAAgB,cAAc,CAAC,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,OAAO;;;;;;;;EA2B7D"}
1
+ {"version":3,"file":"scaffold.d.ts","sourceRoot":"","sources":["../../../src/cli/init/scaffold.ts"],"names":[],"mappings":"AACA,OAAO,EAAmB,KAAK,QAAQ,EAAE,MAAM,cAAc,CAAC;AAY9D,2EAA2E;AAC3E,wBAAgB,cAAc,CAAC,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,OAAO;;;;;;;;EA2B7D"}
@@ -4,6 +4,8 @@ const AGENT_IMPORT = "import { createAgent } from '@e2edev/e2e/agent';";
4
4
  const AGENT_CONFIG = ` // The model comes from E2E_MODEL; authenticate with E2E_MODEL_API_KEY.
5
5
  // E2E_MODEL_ENDPOINT points at another OpenAI-compatible endpoint (default: the AI Gateway).
6
6
  // To call a provider directly, pass an AI SDK model: createAgent({ model: openai('gpt-5.4-mini') }).
7
+ // That model is the one model for every agent.* call, checked once when the
8
+ // first test acquires the agent fixture.
7
9
  agent: createAgent({
8
10
  system: 'You are a thorough QA agent. Verify every outcome.',
9
11
  }),`;
@@ -1 +1 @@
1
- {"version":3,"file":"scaffold.js","sourceRoot":"","sources":["../../../src/cli/init/scaffold.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AACnE,OAAO,EAAE,eAAe,EAAiB,MAAM,cAAc,CAAC;AAE9D,MAAM,YAAY,GAAG,kDAAkD,CAAC;AACxE,MAAM,YAAY,GAAG;;;;;MAKf,CAAC;AAEP,2EAA2E;AAC3E,MAAM,UAAU,cAAc,CAAC,QAAkB,EAAE,EAAW;IAC5D,MAAM,MAAM,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC;IACzC,MAAM,OAAO,GAAG;QACd,+CAA+C;QAC/C,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7B,GAAG,MAAM,CAAC,OAAO;KAClB,CAAC;IACF,MAAM,YAAY,GAAG;QACnB,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7B,MAAM,CAAC,MAAM;KACd,CAAC;IAEF,OAAO;QACL,YAAY,EAAE;YACZ,aAAa,EAAE,IAAI,cAAc,CAAC,OAAO,IAAI,CAAC,GAAG,EAAE,uBAAuB,EAAE,OAAO,CAAC,EAAE;YACtF,GAAG,MAAM,CAAC,YAAY;YACtB,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAChC;QACD,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;;;EAG/B,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC;;CAExB;QACG,OAAO,EAAE,MAAM,CAAC,OAAO,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5D,UAAU,EAAE,MAAM,CAAC,UAAU;KAC9B,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"scaffold.js","sourceRoot":"","sources":["../../../src/cli/init/scaffold.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AACnE,OAAO,EAAE,eAAe,EAAiB,MAAM,cAAc,CAAC;AAE9D,MAAM,YAAY,GAAG,kDAAkD,CAAC;AACxE,MAAM,YAAY,GAAG;;;;;;;MAOf,CAAC;AAEP,2EAA2E;AAC3E,MAAM,UAAU,cAAc,CAAC,QAAkB,EAAE,EAAW;IAC5D,MAAM,MAAM,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC;IACzC,MAAM,OAAO,GAAG;QACd,+CAA+C;QAC/C,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7B,GAAG,MAAM,CAAC,OAAO;KAClB,CAAC;IACF,MAAM,YAAY,GAAG;QACnB,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7B,MAAM,CAAC,MAAM;KACd,CAAC;IAEF,OAAO;QACL,YAAY,EAAE;YACZ,aAAa,EAAE,IAAI,cAAc,CAAC,OAAO,IAAI,CAAC,GAAG,EAAE,uBAAuB,EAAE,OAAO,CAAC,EAAE;YACtF,GAAG,MAAM,CAAC,YAAY;YACtB,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAChC;QACD,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;;;EAG/B,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC;;CAExB;QACG,OAAO,EAAE,MAAM,CAAC,OAAO,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5D,UAAU,EAAE,MAAM,CAAC,UAAU;KAC9B,CAAC;AACJ,CAAC"}
@@ -1,8 +1,8 @@
1
1
  /**
2
2
  * What Ctrl-C means to the CLI, press by press. The runner installs no
3
- * process handlers and never exits the process a host embedding it passes
4
- * its own signals so process termination is owned here, by the one caller
5
- * that is the process.
3
+ * process handlers and never exits the process; it takes its interrupt and
4
+ * force signals as options, so process termination is owned here, by the one
5
+ * caller that is the process.
6
6
  */
7
7
  /**
8
8
  * The escalation ladder behind SIGINT and SIGTERM. The next rung is the first
@@ -1,8 +1,8 @@
1
1
  /**
2
2
  * What Ctrl-C means to the CLI, press by press. The runner installs no
3
- * process handlers and never exits the process a host embedding it passes
4
- * its own signals so process termination is owned here, by the one caller
5
- * that is the process.
3
+ * process handlers and never exits the process; it takes its interrupt and
4
+ * force signals as options, so process termination is owned here, by the one
5
+ * caller that is the process.
6
6
  */
7
7
  import { killManagedProcessGroups } from '../run/managed-process.js';
8
8
  /**
@@ -0,0 +1,12 @@
1
+ /** `e2e telemetry`: whether anonymous usage telemetry is on, and the switch. */
2
+ import type { Telemetry } from '../telemetry/telemetry.ts';
3
+ export type TelemetryAction = 'status' | 'enable' | 'disable';
4
+ export declare const TELEMETRY_ACTIONS: readonly TelemetryAction[];
5
+ /**
6
+ * Applies `enable` or `disable`, then prints the status either way, so the
7
+ * user sees the result of the switch together with anything that still
8
+ * overrides it, such as a variable set in the shell. Exit 2 only when a
9
+ * choice could not be saved.
10
+ */
11
+ export declare function telemetry(action: TelemetryAction, instance: Telemetry): number;
12
+ //# sourceMappingURL=telemetry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"telemetry.d.ts","sourceRoot":"","sources":["../../src/cli/telemetry.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAGhF,OAAO,KAAK,EAAE,SAAS,EAAuB,MAAM,2BAA2B,CAAC;AAGhF,MAAM,MAAM,eAAe,GAAG,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAC;AAE9D,eAAO,MAAM,iBAAiB,EAAE,SAAS,eAAe,EAAoC,CAAC;AAS7F;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,MAAM,EAAE,eAAe,EAAE,QAAQ,EAAE,SAAS,GAAG,MAAM,CAqB9E"}
@@ -0,0 +1,40 @@
1
+ /** `e2e telemetry`: whether anonymous usage telemetry is on, and the switch. */
2
+ import picocolors from 'picocolors';
3
+ import { DOCS_URL } from './docs-url.js';
4
+ export const TELEMETRY_ACTIONS = ['status', 'enable', 'disable'];
5
+ const REASONS = {
6
+ E2E_TELEMETRY_DISABLED: 'E2E_TELEMETRY_DISABLED is set',
7
+ DO_NOT_TRACK: 'DO_NOT_TRACK is set',
8
+ preference: 'switched off with e2e telemetry disable',
9
+ store: 'the preferences directory is not writable',
10
+ };
11
+ /**
12
+ * Applies `enable` or `disable`, then prints the status either way, so the
13
+ * user sees the result of the switch together with anything that still
14
+ * overrides it, such as a variable set in the shell. Exit 2 only when a
15
+ * choice could not be saved.
16
+ */
17
+ export function telemetry(action, instance) {
18
+ const out = (text) => void process.stdout.write(`${text}\n`);
19
+ if (action !== 'status') {
20
+ const enable = action === 'enable';
21
+ const saved = instance.setEnabled(enable);
22
+ if (saved === undefined) {
23
+ process.stderr.write(`the choice could not be saved: ${instance.preferencesPath} is not writable\n`);
24
+ return 2;
25
+ }
26
+ out(`telemetry ${enable ? 'enabled' : 'disabled'}; saved to ${saved}`);
27
+ }
28
+ const disabledBy = instance.disabledBy;
29
+ if (disabledBy === undefined) {
30
+ out(`Status: ${picocolors.green('enabled')}`);
31
+ out('Anonymous usage data is sent: the command, the versions, the OS, and run counts. Never test names, app data, or credentials.');
32
+ }
33
+ else {
34
+ out(`Status: ${picocolors.red('disabled')} (${REASONS[disabledBy]})`);
35
+ out('Nothing is sent from this machine.');
36
+ }
37
+ out(`Details: ${DOCS_URL}/telemetry`);
38
+ return 0;
39
+ }
40
+ //# sourceMappingURL=telemetry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"telemetry.js","sourceRoot":"","sources":["../../src/cli/telemetry.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAEhF,OAAO,UAAU,MAAM,YAAY,CAAC;AAEpC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAIzC,MAAM,CAAC,MAAM,iBAAiB,GAA+B,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;AAE7F,MAAM,OAAO,GAAkD;IAC7D,sBAAsB,EAAE,+BAA+B;IACvD,YAAY,EAAE,qBAAqB;IACnC,UAAU,EAAE,yCAAyC;IACrD,KAAK,EAAE,2CAA2C;CACnD,CAAC;AAEF;;;;;GAKG;AACH,MAAM,UAAU,SAAS,CAAC,MAAuB,EAAE,QAAmB;IACpE,MAAM,GAAG,GAAG,CAAC,IAAY,EAAQ,EAAE,CAAC,KAAK,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC;IAC3E,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;QACxB,MAAM,MAAM,GAAG,MAAM,KAAK,QAAQ,CAAC;QACnC,MAAM,KAAK,GAAG,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QAC1C,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,kCAAkC,QAAQ,CAAC,eAAe,oBAAoB,CAAC,CAAC;YACrG,OAAO,CAAC,CAAC;QACX,CAAC;QACD,GAAG,CAAC,aAAa,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,cAAc,KAAK,EAAE,CAAC,CAAC;IACzE,CAAC;IACD,MAAM,UAAU,GAAG,QAAQ,CAAC,UAAU,CAAC;IACvC,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QAC7B,GAAG,CAAC,WAAW,UAAU,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QAC9C,GAAG,CAAC,8HAA8H,CAAC,CAAC;IACtI,CAAC;SAAM,CAAC;QACN,GAAG,CAAC,WAAW,UAAU,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QACtE,GAAG,CAAC,oCAAoC,CAAC,CAAC;IAC5C,CAAC;IACD,GAAG,CAAC,YAAY,QAAQ,YAAY,CAAC,CAAC;IACtC,OAAO,CAAC,CAAC;AACX,CAAC"}
@@ -44,6 +44,8 @@ export interface SelectionFilters {
44
44
  }
45
45
  /** Resolves effective options: test > nearest group > outer groups > config > default. */
46
46
  export declare function resolveOptions(test: CollectedTest, config: ResolvedConfig): ResolvedTestOptions;
47
+ /** Validates target IDs and selects targets once each, in config order. */
48
+ export declare function selectTargets(targets: readonly ResolvedTarget[], targetIds: readonly string[] | undefined): readonly ResolvedTarget[];
47
49
  /**
48
50
  * Expands the collection into test-target pairs and applies focus, tag,
49
51
  * platform, capability, session, and serial-closure rules.
@@ -1 +1 @@
1
- {"version":3,"file":"select.d.ts","sourceRoot":"","sources":["../../src/collect/select.ts"],"names":[],"mappings":"AAAA,mDAAmD;AAInD,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3E,OAAO,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAG9D,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,CAAC;IACjC,QAAQ,CAAC,SAAS,EAAE,SAAS,QAAQ,EAAE,GAAG,SAAS,CAAC;IACpD,QAAQ,CAAC,QAAQ,EAAE,SAAS,UAAU,EAAE,CAAC;IACzC,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IACrC,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1C,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IACxC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;CAC1B;AAED,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,KAAK,EACV,UAAU,GACV,UAAU,GACV,sBAAsB,GACtB,wBAAwB,GACxB,cAAc,GACd,2BAA2B,GAC3B,aAAa,GACb,4BAA4B,CAAC;IACjC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;IAC7B,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC;IAChC,QAAQ,CAAC,OAAO,EAAE,mBAAmB,CAAC;IACtC,0EAA0E;IAC1E,QAAQ,CAAC,WAAW,EAAE,KAAK,GAAG,MAAM,GAAG,UAAU,CAAC;IAClD,QAAQ,CAAC,IAAI,EAAE,QAAQ,GAAG,SAAS,CAAC;CACrC;AAED,0DAA0D;AAC1D,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC;IAChC,QAAQ,CAAC,KAAK,EAAE,SAAS,cAAc,EAAE,CAAC;CAC3C;AAED,MAAM,WAAW,SAAS;IACxB,+DAA+D;IAC/D,QAAQ,CAAC,KAAK,EAAE,SAAS,cAAc,EAAE,CAAC;IAC1C,0DAA0D;IAC1D,QAAQ,CAAC,SAAS,EAAE,SAAS,eAAe,EAAE,CAAC;CAChD;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,QAAQ,CAAC,OAAO,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC;IACjC,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CACxC;AAED,0FAA0F;AAC1F,wBAAgB,cAAc,CAAC,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,cAAc,GAAG,mBAAmB,CA+C/F;AAYD;;;GAGG;AACH,wBAAgB,MAAM,CACpB,UAAU,EAAE,UAAU,EACtB,MAAM,EAAE,cAAc,EACtB,OAAO,GAAE,gBAAqB,EAC9B,KAAK,GAAE;IAAE,eAAe,CAAC,EAAE,OAAO,CAAA;CAAO,GACxC,SAAS,CA6DX"}
1
+ {"version":3,"file":"select.d.ts","sourceRoot":"","sources":["../../src/collect/select.ts"],"names":[],"mappings":"AAAA,mDAAmD;AAInD,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3E,OAAO,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAG9D,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,CAAC;IACjC,QAAQ,CAAC,SAAS,EAAE,SAAS,QAAQ,EAAE,GAAG,SAAS,CAAC;IACpD,QAAQ,CAAC,QAAQ,EAAE,SAAS,UAAU,EAAE,CAAC;IACzC,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IACrC,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1C,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IACxC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;CAC1B;AAED,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,KAAK,EACV,UAAU,GACV,UAAU,GACV,sBAAsB,GACtB,wBAAwB,GACxB,cAAc,GACd,2BAA2B,GAC3B,aAAa,GACb,4BAA4B,CAAC;IACjC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;IAC7B,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC;IAChC,QAAQ,CAAC,OAAO,EAAE,mBAAmB,CAAC;IACtC,0EAA0E;IAC1E,QAAQ,CAAC,WAAW,EAAE,KAAK,GAAG,MAAM,GAAG,UAAU,CAAC;IAClD,QAAQ,CAAC,IAAI,EAAE,QAAQ,GAAG,SAAS,CAAC;CACrC;AAED,0DAA0D;AAC1D,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC;IAChC,QAAQ,CAAC,KAAK,EAAE,SAAS,cAAc,EAAE,CAAC;CAC3C;AAED,MAAM,WAAW,SAAS;IACxB,+DAA+D;IAC/D,QAAQ,CAAC,KAAK,EAAE,SAAS,cAAc,EAAE,CAAC;IAC1C,0DAA0D;IAC1D,QAAQ,CAAC,SAAS,EAAE,SAAS,eAAe,EAAE,CAAC;CAChD;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,QAAQ,CAAC,OAAO,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC;IACjC,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CACxC;AAED,0FAA0F;AAC1F,wBAAgB,cAAc,CAAC,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,cAAc,GAAG,mBAAmB,CA+C/F;AAYD,2EAA2E;AAC3E,wBAAgB,aAAa,CAC3B,OAAO,EAAE,SAAS,cAAc,EAAE,EAClC,SAAS,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,GACvC,SAAS,cAAc,EAAE,CAc3B;AAED;;;GAGG;AACH,wBAAgB,MAAM,CACpB,UAAU,EAAE,UAAU,EACtB,MAAM,EAAE,cAAc,EACtB,OAAO,GAAE,gBAAqB,EAC9B,KAAK,GAAE;IAAE,eAAe,CAAC,EAAE,OAAO,CAAA;CAAO,GACxC,SAAS,CA+CX"}
@@ -64,23 +64,27 @@ function matchesTags(options, tags, tagMode) {
64
64
  return tags.every((tag) => options.tags.includes(tag));
65
65
  return tags.some((tag) => options.tags.includes(tag));
66
66
  }
67
+ /** Validates target IDs and selects targets once each, in config order. */
68
+ export function selectTargets(targets, targetIds) {
69
+ if (targetIds === undefined || targetIds.length === 0)
70
+ return targets;
71
+ const names = targets.map((target) => target.name);
72
+ const known = new Set(names);
73
+ for (const id of targetIds) {
74
+ if (!known.has(id)) {
75
+ throw new ConfigurationError('UNKNOWN_TARGET', `unknown target ID "${id}"; the config declares ${names.map((name) => `"${name}"`).join(', ')}${didYouMean(id, names)}`);
76
+ }
77
+ }
78
+ const selected = new Set(targetIds);
79
+ return targets.filter((target) => selected.has(target.name));
80
+ }
67
81
  /**
68
82
  * Expands the collection into test-target pairs and applies focus, tag,
69
83
  * platform, capability, session, and serial-closure rules.
70
84
  */
71
85
  export function select(collection, config, filters = {}, flags = {}) {
72
86
  const tagMode = filters.tagMode ?? 'any';
73
- const targets = filters.targetIds === undefined || filters.targetIds.length === 0
74
- ? config.targets
75
- : config.targets.filter((target) => filters.targetIds.includes(target.name));
76
- if (filters.targetIds !== undefined) {
77
- const names = config.targets.map((target) => target.name);
78
- for (const id of filters.targetIds) {
79
- if (!names.includes(id)) {
80
- throw new ConfigurationError('UNKNOWN_TARGET', `unknown target ID "${id}"; the config declares ${names.map((name) => `"${name}"`).join(', ')}${didYouMean(id, names)}`);
81
- }
82
- }
83
- }
87
+ const targets = selectTargets(config.targets, filters.targetIds);
84
88
  const focused = collection.tests.filter((test) => test.mode === 'only');
85
89
  if (focused.length > 0 && config.ci) {
86
90
  throw new ConfigurationError('ONLY_IN_CI', `.only is rejected in CI: ${focused.map((test) => test.id).join(', ')}`);