@e2edev/e2e 0.4.0 → 0.5.1

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 (256) hide show
  1. package/README.md +41 -15
  2. package/dist/agent/act.d.ts +1 -1
  3. package/dist/agent/act.js +12 -36
  4. package/dist/agent/act.js.map +1 -1
  5. package/dist/agent/actions.d.ts +2 -2
  6. package/dist/agent/actions.d.ts.map +1 -1
  7. package/dist/agent/actions.js +1 -1
  8. package/dist/agent/default-agent.d.ts +3 -29
  9. package/dist/agent/default-agent.d.ts.map +1 -1
  10. package/dist/agent/default-agent.js +4 -11
  11. package/dist/agent/default-agent.js.map +1 -1
  12. package/dist/agent/error.d.ts +0 -2
  13. package/dist/agent/error.d.ts.map +1 -1
  14. package/dist/agent/error.js +1 -3
  15. package/dist/agent/error.js.map +1 -1
  16. package/dist/agent/executor.d.ts +15 -49
  17. package/dist/agent/executor.d.ts.map +1 -1
  18. package/dist/agent/executor.js +0 -1
  19. package/dist/agent/executor.js.map +1 -1
  20. package/dist/agent/index.js +2 -2
  21. package/dist/agent/invocation.d.ts +6 -4
  22. package/dist/agent/invocation.d.ts.map +1 -1
  23. package/dist/agent/invocation.js +2 -2
  24. package/dist/agent/invocation.js.map +1 -1
  25. package/dist/agent/ledger.d.ts +16 -11
  26. package/dist/agent/ledger.d.ts.map +1 -1
  27. package/dist/agent/ledger.js +5 -8
  28. package/dist/agent/ledger.js.map +1 -1
  29. package/dist/agent/observation.d.ts +6 -6
  30. package/dist/agent/observation.d.ts.map +1 -1
  31. package/dist/agent/observation.js +5 -5
  32. package/dist/agent/observation.js.map +1 -1
  33. package/dist/agent/phases.d.ts +3 -3
  34. package/dist/agent/phases.d.ts.map +1 -1
  35. package/dist/agent/phases.js +4 -4
  36. package/dist/agent/phases.js.map +1 -1
  37. package/dist/agent/primitives.d.ts +4 -25
  38. package/dist/agent/primitives.d.ts.map +1 -1
  39. package/dist/agent/primitives.js +3 -36
  40. package/dist/agent/primitives.js.map +1 -1
  41. package/dist/agent/protocol.d.ts +1 -1
  42. package/dist/agent/protocol.js +1 -1
  43. package/dist/agent/public.d.ts +7 -9
  44. package/dist/agent/public.d.ts.map +1 -1
  45. package/dist/agent/public.js +6 -7
  46. package/dist/agent/public.js.map +1 -1
  47. package/dist/agent/replay.d.ts +1 -1
  48. package/dist/agent/replay.d.ts.map +1 -1
  49. package/dist/agent/secrets.d.ts +2 -2
  50. package/dist/agent/secrets.d.ts.map +1 -1
  51. package/dist/agent/secrets.js +3 -3
  52. package/dist/agent/secrets.js.map +1 -1
  53. package/dist/agent/tool-loop.d.ts +2 -30
  54. package/dist/agent/tool-loop.d.ts.map +1 -1
  55. package/dist/agent/tool-loop.js +9 -33
  56. package/dist/agent/tool-loop.js.map +1 -1
  57. package/dist/agent/tool.d.ts +4 -5
  58. package/dist/agent/tool.d.ts.map +1 -1
  59. package/dist/agent/tool.js +2 -7
  60. package/dist/agent/tool.js.map +1 -1
  61. package/dist/cache/anchors.d.ts +1 -1
  62. package/dist/cache/anchors.d.ts.map +1 -1
  63. package/dist/cache/identity.d.ts +8 -8
  64. package/dist/cache/identity.d.ts.map +1 -1
  65. package/dist/cache/identity.js +5 -5
  66. package/dist/cache/identity.js.map +1 -1
  67. package/dist/cache/relocate.d.ts +1 -1
  68. package/dist/cache/relocate.d.ts.map +1 -1
  69. package/dist/cli/index.js +3 -3
  70. package/dist/cli/index.js.map +1 -1
  71. package/dist/cli/init/{backends.d.ts → engines.d.ts} +12 -13
  72. package/dist/cli/init/engines.d.ts.map +1 -0
  73. package/dist/cli/init/{backends.js → engines.js} +13 -14
  74. package/dist/cli/init/engines.js.map +1 -0
  75. package/dist/cli/init/scaffold.d.ts +3 -3
  76. package/dist/cli/init/scaffold.d.ts.map +1 -1
  77. package/dist/cli/init/scaffold.js +9 -9
  78. package/dist/cli/init/scaffold.js.map +1 -1
  79. package/dist/cli/init.d.ts.map +1 -1
  80. package/dist/cli/init.js +11 -10
  81. package/dist/cli/init.js.map +1 -1
  82. package/dist/cli/signals.d.ts +1 -1
  83. package/dist/cli/signals.d.ts.map +1 -1
  84. package/dist/cli/signals.js +1 -1
  85. package/dist/cli/signals.js.map +1 -1
  86. package/dist/collect/collect.d.ts +32 -3
  87. package/dist/collect/collect.d.ts.map +1 -1
  88. package/dist/collect/collect.js +95 -17
  89. package/dist/collect/collect.js.map +1 -1
  90. package/dist/collect/registry.js +1 -1
  91. package/dist/collect/registry.js.map +1 -1
  92. package/dist/collect/select.d.ts.map +1 -1
  93. package/dist/collect/select.js +9 -5
  94. package/dist/collect/select.js.map +1 -1
  95. package/dist/config/app.d.ts +76 -19
  96. package/dist/config/app.d.ts.map +1 -1
  97. package/dist/config/app.js +157 -102
  98. package/dist/config/app.js.map +1 -1
  99. package/dist/config/resolve.d.ts +6 -5
  100. package/dist/config/resolve.d.ts.map +1 -1
  101. package/dist/config/resolve.js +35 -32
  102. package/dist/config/resolve.js.map +1 -1
  103. package/dist/{backend → engine}/contract.d.ts +26 -18
  104. package/dist/engine/contract.d.ts.map +1 -0
  105. package/dist/{backend → engine}/contract.js +18 -18
  106. package/dist/engine/contract.js.map +1 -0
  107. package/dist/{backend → engine}/index.d.ts +141 -79
  108. package/dist/engine/index.d.ts.map +1 -0
  109. package/dist/{backend → engine}/index.js +60 -35
  110. package/dist/engine/index.js.map +1 -0
  111. package/dist/engine/session.d.ts +23 -0
  112. package/dist/engine/session.d.ts.map +1 -0
  113. package/dist/{backend → engine}/session.js +55 -51
  114. package/dist/engine/session.js.map +1 -0
  115. package/dist/{backend → engine}/surface.d.ts +11 -11
  116. package/dist/engine/surface.d.ts.map +1 -0
  117. package/dist/{backend → engine}/surface.js +2 -2
  118. package/dist/engine/surface.js.map +1 -0
  119. package/dist/engine/timing.d.ts.map +1 -0
  120. package/dist/engine/timing.js +8 -0
  121. package/dist/engine/timing.js.map +1 -0
  122. package/dist/expect/index.js +1 -1
  123. package/dist/index.d.ts +3 -2
  124. package/dist/index.d.ts.map +1 -1
  125. package/dist/index.js +1 -1
  126. package/dist/index.js.map +1 -1
  127. package/dist/internal/brands.d.ts +1 -1
  128. package/dist/internal/brands.d.ts.map +1 -1
  129. package/dist/internal/brands.js +1 -1
  130. package/dist/internal/brands.js.map +1 -1
  131. package/dist/internal/errors.d.ts +16 -16
  132. package/dist/internal/errors.d.ts.map +1 -1
  133. package/dist/internal/errors.js +39 -39
  134. package/dist/internal/errors.js.map +1 -1
  135. package/dist/internal/objects.d.ts +21 -0
  136. package/dist/internal/objects.d.ts.map +1 -0
  137. package/dist/internal/objects.js +14 -0
  138. package/dist/internal/objects.js.map +1 -0
  139. package/dist/internal/urls.d.ts +1 -1
  140. package/dist/internal/urls.d.ts.map +1 -1
  141. package/dist/internal/urls.js +6 -1
  142. package/dist/internal/urls.js.map +1 -1
  143. package/dist/locator/engine.d.ts +6 -6
  144. package/dist/locator/engine.d.ts.map +1 -1
  145. package/dist/locator/engine.js +13 -13
  146. package/dist/locator/engine.js.map +1 -1
  147. package/dist/locator/expression.d.ts +4 -2
  148. package/dist/locator/expression.d.ts.map +1 -1
  149. package/dist/locator/expression.js +24 -4
  150. package/dist/locator/expression.js.map +1 -1
  151. package/dist/locator/screen.d.ts +1 -1
  152. package/dist/locator/screen.d.ts.map +1 -1
  153. package/dist/locator/screen.js +2 -2
  154. package/dist/locator/screen.js.map +1 -1
  155. package/dist/report/build.d.ts +9 -8
  156. package/dist/report/build.d.ts.map +1 -1
  157. package/dist/report/build.js +21 -18
  158. package/dist/report/build.js.map +1 -1
  159. package/dist/report/code-frame.d.ts +8 -4
  160. package/dist/report/code-frame.d.ts.map +1 -1
  161. package/dist/report/code-frame.js +23 -18
  162. package/dist/report/code-frame.js.map +1 -1
  163. package/dist/report/debug-steps.js +1 -1
  164. package/dist/report/debug-steps.js.map +1 -1
  165. package/dist/report/format.d.ts +73 -0
  166. package/dist/report/format.d.ts.map +1 -0
  167. package/dist/report/format.js +147 -0
  168. package/dist/report/format.js.map +1 -0
  169. package/dist/report/list.d.ts +96 -47
  170. package/dist/report/list.d.ts.map +1 -1
  171. package/dist/report/list.js +485 -244
  172. package/dist/report/list.js.map +1 -1
  173. package/dist/report/live-window.d.ts +28 -0
  174. package/dist/report/live-window.d.ts.map +1 -0
  175. package/dist/report/live-window.js +102 -0
  176. package/dist/report/live-window.js.map +1 -0
  177. package/dist/run/declared-processes.d.ts +30 -0
  178. package/dist/run/declared-processes.d.ts.map +1 -0
  179. package/dist/run/declared-processes.js +61 -0
  180. package/dist/run/declared-processes.js.map +1 -0
  181. package/dist/run/events.d.ts +30 -2
  182. package/dist/run/events.d.ts.map +1 -1
  183. package/dist/run/events.js.map +1 -1
  184. package/dist/run/execute.d.ts +17 -13
  185. package/dist/run/execute.d.ts.map +1 -1
  186. package/dist/run/execute.js +61 -62
  187. package/dist/run/execute.js.map +1 -1
  188. package/dist/run/fixture-recording.d.ts +10 -4
  189. package/dist/run/fixture-recording.d.ts.map +1 -1
  190. package/dist/run/fixture-recording.js +19 -6
  191. package/dist/run/fixture-recording.js.map +1 -1
  192. package/dist/run/fixtures.d.ts +1 -1
  193. package/dist/run/fixtures.d.ts.map +1 -1
  194. package/dist/run/fixtures.js +33 -41
  195. package/dist/run/fixtures.js.map +1 -1
  196. package/dist/run/in-process.d.ts +1 -1
  197. package/dist/run/in-process.js +1 -1
  198. package/dist/run/managed-process.d.ts +39 -9
  199. package/dist/run/managed-process.d.ts.map +1 -1
  200. package/dist/run/managed-process.js +102 -34
  201. package/dist/run/managed-process.js.map +1 -1
  202. package/dist/run/runner.d.ts +1 -1
  203. package/dist/run/runner.d.ts.map +1 -1
  204. package/dist/run/runner.js +67 -31
  205. package/dist/run/runner.js.map +1 -1
  206. package/dist/run/scheduler.d.ts +4 -3
  207. package/dist/run/scheduler.d.ts.map +1 -1
  208. package/dist/run/scheduler.js +5 -4
  209. package/dist/run/scheduler.js.map +1 -1
  210. package/dist/run/serial.d.ts +9 -1
  211. package/dist/run/serial.d.ts.map +1 -1
  212. package/dist/run/serial.js +2 -0
  213. package/dist/run/serial.js.map +1 -1
  214. package/dist/run/sessions.d.ts +9 -9
  215. package/dist/run/sessions.d.ts.map +1 -1
  216. package/dist/run/sessions.js +10 -10
  217. package/dist/run/sessions.js.map +1 -1
  218. package/dist/run/steps.d.ts +1 -1
  219. package/dist/run/steps.d.ts.map +1 -1
  220. package/dist/run/worker/entry.d.ts +1 -1
  221. package/dist/run/worker/entry.js +2 -2
  222. package/dist/run/worker/entry.js.map +1 -1
  223. package/dist/run/worker/protocol.d.ts +18 -6
  224. package/dist/run/worker/protocol.d.ts.map +1 -1
  225. package/dist/run/worker/protocol.js +1 -1
  226. package/dist/run/worker/protocol.js.map +1 -1
  227. package/dist/run/worker/session.d.ts +2 -2
  228. package/dist/run/worker/session.d.ts.map +1 -1
  229. package/dist/run/worker/session.js +5 -3
  230. package/dist/run/worker/session.js.map +1 -1
  231. package/dist/types.d.ts +36 -37
  232. package/dist/types.d.ts.map +1 -1
  233. package/package.json +5 -5
  234. package/dist/backend/contract.d.ts.map +0 -1
  235. package/dist/backend/contract.js.map +0 -1
  236. package/dist/backend/index.d.ts.map +0 -1
  237. package/dist/backend/index.js.map +0 -1
  238. package/dist/backend/session.d.ts +0 -23
  239. package/dist/backend/session.d.ts.map +0 -1
  240. package/dist/backend/session.js.map +0 -1
  241. package/dist/backend/surface.d.ts.map +0 -1
  242. package/dist/backend/surface.js.map +0 -1
  243. package/dist/backend/timing.d.ts.map +0 -1
  244. package/dist/backend/timing.js +0 -8
  245. package/dist/backend/timing.js.map +0 -1
  246. package/dist/cli/init/backends.d.ts.map +0 -1
  247. package/dist/cli/init/backends.js.map +0 -1
  248. package/dist/report/live-status.d.ts +0 -51
  249. package/dist/report/live-status.d.ts.map +0 -1
  250. package/dist/report/live-status.js +0 -163
  251. package/dist/report/live-status.js.map +0 -1
  252. package/dist/run/fixture-legacy.d.ts +0 -36
  253. package/dist/run/fixture-legacy.d.ts.map +0 -1
  254. package/dist/run/fixture-legacy.js +0 -143
  255. package/dist/run/fixture-legacy.js.map +0 -1
  256. /package/dist/{backend → engine}/timing.d.ts +0 -0
@@ -5,9 +5,9 @@ import { createModelAdapter } from '../agent/model/sdk.js';
5
5
  import { expectationBrand } from '../internal/brands.js';
6
6
  import { ConfigurationError } from '../internal/errors.js';
7
7
  import { SecretLedger } from '../internal/redact.js';
8
+ import { obj } from '../internal/objects.js';
8
9
  import { resolveNavigationUrl } from '../internal/urls.js';
9
10
  import { FixtureRecorder } from './fixture-recording.js';
10
- import { recordedSurface, StepAttachments } from './fixture-legacy.js';
11
11
  import { LocatorEngine } from '../locator/engine.js';
12
12
  import { createLocator, createScopedScreen, createScreen, } from '../locator/screen.js';
13
13
  /** Secrets survive every fixture graph that shares the same live isolation. */
@@ -70,6 +70,7 @@ export function createFixtures(environment) {
70
70
  platform: environment.target.platform,
71
71
  verbs: environment.session.verbs,
72
72
  },
73
+ app: environment.target.app,
73
74
  attempt: environment.attempt,
74
75
  priorSteps: environment.priorSteps,
75
76
  agentContext: joinAgentContext(environment.config.agent.context, environment.agentContext),
@@ -103,8 +104,8 @@ export function createFixtures(environment) {
103
104
  /** Keys a test body may probe without meaning a fixture. */
104
105
  const PROBED_KEYS = new Set(['then', 'constructor', 'toJSON', 'toString', 'valueOf', 'inspect']);
105
106
  /**
106
- * Reaching for a fixture the target's backend does not contribute fails at
107
- * the first touch with the earliest honest error: the backend's name and what
107
+ * Reaching for a fixture the target's engine does not contribute fails at
108
+ * the first touch with the earliest honest error: the engine's name and what
108
109
  * it does declare, instead of a TypeError three lines later.
109
110
  */
110
111
  function gateUnknownFixtures(fixtures, environment) {
@@ -113,53 +114,49 @@ function gateUnknownFixtures(fixtures, environment) {
113
114
  if (typeof property !== 'string' || property in target || PROBED_KEYS.has(property)) {
114
115
  return Reflect.get(target, property, receiver);
115
116
  }
116
- const backend = environment.target.backend;
117
- const declared = Object.keys(backend?.fixtures ?? {});
118
- throw new ConfigurationError('UNSUPPORTED_CAPABILITY', `target "${environment.target.name}" has no "${property}" fixture: backend ${backend?.name ?? 'none'} contributes ${declared.length === 0 ? 'no fixtures' : declared.join(', ')}`);
117
+ const engine = environment.target.engine;
118
+ const declared = Object.keys(engine?.fixtures ?? {});
119
+ throw new ConfigurationError('UNSUPPORTED_CAPABILITY', `target "${environment.target.name}" has no "${property}" fixture: engine ${engine?.name ?? 'none'} contributes ${declared.length === 0 ? 'no fixtures' : declared.join(', ')}`);
119
120
  },
120
121
  });
121
122
  }
122
123
  /**
123
- * Backend-contributed fixtures (RFC0002): factories declare operation metadata
124
- * through context.fixture. The legacy adapter preserves older factories that
125
- * return a plain surface. Factories stay lazy and each instance belongs to
126
- * one test's fixture graph; the session's secrecy state outlives that graph.
124
+ * Engine-contributed fixtures (RFC0002): factories declare operation metadata
125
+ * through context.fixture and must return the surface they declared. Factories
126
+ * stay lazy and each instance belongs to one test's fixture graph; the
127
+ * session's secrecy state outlives that graph.
127
128
  */
128
129
  function contributedFixtures(environment, engine, screenContext) {
129
- const declared = environment.target.backend?.fixtures;
130
+ const declared = environment.target.engine?.fixtures;
130
131
  if (declared === undefined)
131
132
  return {};
132
133
  const contributed = {};
133
- const attachments = new StepAttachments(environment.steps);
134
134
  const recorder = new FixtureRecorder(environment);
135
- const context = fixtureContext(environment, engine, screenContext, attachments, recorder);
135
+ const context = fixtureContext(environment, engine, screenContext, recorder);
136
136
  for (const [name, factory] of Object.entries(declared)) {
137
137
  let instance;
138
138
  Object.defineProperty(contributed, name, {
139
139
  enumerable: true,
140
140
  get() {
141
- instance ??= recorder.adapt(factory(context), (surface) => recordedSurface(surface, environment, attachments, {
142
- path: [name],
143
- kind: 'resource',
144
- bounded: true,
145
- }));
141
+ instance ??= recorder.require(name, factory(context));
146
142
  return instance;
147
143
  },
148
144
  });
149
145
  }
150
146
  return contributed;
151
147
  }
152
- function fixtureContext(environment, engine, screenContext, attachments, recorder) {
148
+ function fixtureContext(environment, engine, screenContext, recorder) {
153
149
  const { config, steps } = environment;
150
+ const { app } = environment.target;
154
151
  return {
155
152
  targetName: environment.target.name,
156
153
  fixture: (name, surface, operations) => recorder.fixture(name, surface, operations),
157
154
  app: {
158
- ...(config.app.configured ? { baseUrl: config.app.base.href } : {}),
159
- allowedOrigins: config.app.allowedOrigins,
155
+ ...obj({ baseUrl: app.base?.href }),
156
+ allowedOrigins: app.allowedOrigins,
160
157
  resolveUrl: (url) => {
161
- requireAppUrl(config);
162
- return resolveNavigationUrl(url, config.app.base, config.app.allowedOrigins).url;
158
+ requireAppUrl(environment.target);
159
+ return resolveNavigationUrl(url, app.base, app.allowedOrigins).url;
163
160
  },
164
161
  },
165
162
  timeouts: {
@@ -172,8 +169,8 @@ function fixtureContext(environment, engine, screenContext, attachments, recorde
172
169
  return engine.signal;
173
170
  },
174
171
  operation: (timeoutMs) => engine.operation(timeoutMs),
175
- attachArtifact: (kind, relativePath) => attachments.record(() => steps.attachArtifact(environment.artifacts.register(kind, relativePath))),
176
- attachViewport: (viewport) => attachments.record(() => steps.attachViewport(viewport)),
172
+ attachArtifact: (kind, relativePath) => steps.attachArtifact(environment.artifacts.register(kind, relativePath)),
173
+ attachViewport: (viewport) => steps.attachViewport(viewport),
177
174
  locator: (expression) => createLocator(screenContext, expression),
178
175
  screen: (wrap) => createScopedScreen(screenContext, wrap),
179
176
  expectable(target, factory) {
@@ -182,11 +179,7 @@ function fixtureContext(environment, engine, screenContext, attachments, recorde
182
179
  enumerable: false,
183
180
  configurable: true,
184
181
  get: () => {
185
- surface ??= recorder.adapt(factory(), (value) => recordedSurface(value, environment, attachments, {
186
- path: ['expect'],
187
- kind: 'assertion',
188
- bounded: false,
189
- }));
182
+ surface ??= recorder.require('expect', factory());
190
183
  return surface;
191
184
  },
192
185
  });
@@ -227,21 +220,20 @@ function joinAgentContext(configContext, testContext) {
227
220
  function initialSecretLedger(environment) {
228
221
  return new SecretLedger([...environment.config.credentials].flatMap(([name, { password }]) => typeof password === 'string' ? [[name, password]] : []));
229
222
  }
230
- /** Navigation needs a real app URL; the placeholder base never leaves the harness. */
231
- function requireAppUrl(config) {
232
- if (config.app.configured)
223
+ /** Navigation needs an app URL, and only the target's engine can declare one. */
224
+ function requireAppUrl(target) {
225
+ if (target.app.base !== undefined)
233
226
  return;
234
- throw new ConfigurationError('APP_URL_REQUIRED', 'navigation needs an app URL: set app.url in e2e.config.ts or the APP_URL environment variable');
227
+ throw new ConfigurationError('APP_URL_REQUIRED', `navigation needs an app URL: the engine of target "${target.name}" declares none (${target.engine?.name ?? 'no engine'})`);
235
228
  }
236
229
  function createApp(environment, engine) {
237
- const { config, steps } = environment;
238
- const allowed = config.app.allowedOrigins;
230
+ const { config, steps, target } = environment;
239
231
  /** One recorded navigation: policy-resolved against the base URL, on the test budget. */
240
- const navigate = (api, label, target) => steps.run('app', api, label, async () => {
241
- requireAppUrl(config);
242
- const resolved = target === undefined
243
- ? config.app.base.href
244
- : resolveNavigationUrl(target, config.app.base, allowed).url;
232
+ const navigate = (api, label, url) => steps.run('app', api, label, async () => {
233
+ requireAppUrl(target);
234
+ const resolved = url === undefined
235
+ ? target.app.base.href
236
+ : resolveNavigationUrl(url, target.app.base, target.app.allowedOrigins).url;
245
237
  await engine.session.app.open(resolved, engine.operation(config.timeout));
246
238
  });
247
239
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"fixtures.js","sourceRoot":"","sources":["../../src/run/fixtures.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fixtures.js","sourceRoot":"","sources":["../../src/run/fixtures.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * In-process `UnitRunner`, used when the config cannot cross a process
3
- * boundary — a programmatic `rawConfig` may hold live backend handles and
3
+ * boundary — a programmatic `rawConfig` may hold live engine handles and
4
4
  * closures. Execution still goes through the scheduler and the same
5
5
  * `TargetWorker` core; only the transport and pair resolution differ, and the
6
6
  * scheduler is capped at one worker so nothing overlaps in this process.
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * In-process `UnitRunner`, used when the config cannot cross a process
3
- * boundary — a programmatic `rawConfig` may hold live backend handles and
3
+ * boundary — a programmatic `rawConfig` may hold live engine handles and
4
4
  * closures. Execution still goes through the scheduler and the same
5
5
  * `TargetWorker` core; only the transport and pair resolution differ, and the
6
6
  * scheduler is capped at one worker so nothing overlaps in this process.
@@ -1,38 +1,67 @@
1
- /** Spawned-process management for `app.command`, `app.services`, and their teardowns (spec 05-config.md). */
1
+ /** Spawned-process management for the commands and services engines declare, and their teardowns (spec 05-config.md). */
2
2
  import type { Readiness, ResolvedService } from '../config/app.ts';
3
3
  import type { CommandConfig } from '../types.ts';
4
+ /**
5
+ * What the runner tells a managed process about the run: whether CI mode is
6
+ * active (where `reuseExisting` is ignored) and where to narrate run-level
7
+ * progress such as a reused app.
8
+ */
9
+ export interface ManagedProcessHooks {
10
+ readonly ci?: boolean;
11
+ readonly notice?: (message: string) => void;
12
+ }
4
13
  /**
5
14
  * One command the runner owns: spawned as a process group, waited on until
6
15
  * its readiness contract holds, and terminated signal-then-force. `label`
7
- * names it in every error (`app.command`, `app.services[0] (docker ...)`).
16
+ * names it in every error (`target "web" command`, `service "postgres"`).
8
17
  */
9
18
  export declare class ManagedProcess {
10
19
  private readonly label;
11
20
  private readonly command;
12
21
  private readonly projectRoot;
13
22
  private readonly readiness;
23
+ private readonly hooks;
14
24
  private child;
15
- constructor(label: string, command: CommandConfig, projectRoot: string, readiness: Readiness);
25
+ private reusedExisting;
26
+ constructor(label: string, command: CommandConfig, projectRoot: string, readiness: Readiness, hooks?: ManagedProcessHooks);
27
+ /** True once `start` found the readiness URL already answering and attached to it instead of spawning. */
28
+ get reused(): boolean;
16
29
  /**
17
30
  * Spawns the process group and waits for readiness. An already aborted
18
31
  * `signal` spawns nothing; one that aborts during the wait ends it early and
19
32
  * takes the process down with it. The caller reads the signal to learn the
20
33
  * run was interrupted.
34
+ *
35
+ * A readiness URL that already answers before the spawn belongs to a
36
+ * process this run did not start, and HTTP readiness cannot tell which
37
+ * process answered later. So the preflight probe decides up front: with
38
+ * `reuseExisting` (outside CI) nothing is spawned and `stop` leaves the
39
+ * process alone; otherwise the launch fails with `APP_ALREADY_RUNNING`
40
+ * rather than letting the old server pass as the new command's readiness.
41
+ * The probe spends from the same `startupTimeout` budget as the wait.
21
42
  */
22
43
  start(signal?: AbortSignal): Promise<void>;
23
- /** Gracefully terminates the whole process group, then force-kills. */
44
+ /**
45
+ * Opens `command.log` for appending, creating its directory, and returns
46
+ * the descriptor the child writes stdout and stderr to. No `log` means the
47
+ * output is discarded as before. The same file across services and runs
48
+ * accumulates, which is what a developer reading a failed boot wants.
49
+ */
50
+ private openLog;
51
+ /** Gracefully terminates the whole process group, then force-kills. A reused process was never ours to stop. */
24
52
  stop(): Promise<void>;
25
53
  }
26
54
  /**
27
- * The dependency processes of `app.services`: started sequentially in
28
- * declaration order, each ready before the next starts, and torn down in
29
- * reverse.
55
+ * The dependency processes the engines declared as `services`: started
56
+ * sequentially in declaration order, each ready before the next starts, and
57
+ * torn down in reverse.
30
58
  */
31
59
  export declare class ServiceStack {
32
60
  private readonly services;
33
61
  private readonly projectRoot;
62
+ private readonly hooks;
34
63
  private readonly started;
35
- constructor(services: readonly ResolvedService[], projectRoot: string);
64
+ constructor(services: readonly ResolvedService[], projectRoot: string, hooks?: ManagedProcessHooks);
36
65
  /**
37
66
  * Starts every service in order. Stops early once `signal` aborts; the
38
67
  * services already started still get their teardown from `stop`.
@@ -42,7 +71,8 @@ export declare class ServiceStack {
42
71
  * Stops the started services in reverse order, then runs each of their
43
72
  * teardown commands in reverse order and waits for it to exit. A failing
44
73
  * teardown is reported through `onFailure` and never skips the rest, so one
45
- * failing `docker compose down` cannot leave the others running.
74
+ * failing `docker compose down` cannot leave the others running. A reused
75
+ * service was not started by this run, so its teardown does not run either.
46
76
  */
47
77
  stop(onFailure: (cause: unknown) => void): Promise<void>;
48
78
  }
@@ -1 +1 @@
1
- {"version":3,"file":"managed-process.d.ts","sourceRoot":"","sources":["../../src/run/managed-process.ts"],"names":[],"mappings":"AAAA,6GAA6G;AAI7G,OAAO,KAAK,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAGnE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAmBjD;;;;GAIG;AACH,qBAAa,cAAc;IAIvB,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,SAAS;IAN5B,OAAO,CAAC,KAAK,CAA6B;IAE1C,YACmB,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,aAAa,EACtB,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,SAAS,EACnC;IAEJ;;;;;OAKG;IACG,KAAK,CAAC,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAkF/C;IAED,uEAAuE;IACjE,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAyB1B;CACF;AAED;;;;GAIG;AACH,qBAAa,YAAY;IAOrB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,WAAW;IAP9B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAGf;IAET,YACmB,QAAQ,EAAE,SAAS,eAAe,EAAE,EACpC,WAAW,EAAE,MAAM,EAClC;IAEJ;;;OAGG;IACG,KAAK,CAAC,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAe/C;IAED;;;;;OAKG;IACG,IAAI,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAW7D;CACF"}
1
+ {"version":3,"file":"managed-process.d.ts","sourceRoot":"","sources":["../../src/run/managed-process.ts"],"names":[],"mappings":"AAAA,yHAAyH;AAKzH,OAAO,KAAK,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAGnE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AA6BjD;;;;GAIG;AACH,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CAC7C;AAED;;;;GAIG;AACH,qBAAa,cAAc;IAKvB,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,KAAK;IARxB,OAAO,CAAC,KAAK,CAA6B;IAC1C,OAAO,CAAC,cAAc,CAAS;IAE/B,YACmB,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,aAAa,EACtB,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,SAAS,EACpB,KAAK,GAAE,mBAAwB,EAC9C;IAEJ,0GAA0G;IAC1G,IAAI,MAAM,IAAI,OAAO,CAEpB;IAED;;;;;;;;;;;;;OAaG;IACG,KAAK,CAAC,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAyG/C;IAED;;;;;OAKG;IACH,OAAO,CAAC,OAAO;IAef,gHAAgH;IAC1G,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CA0B1B;CACF;AAED;;;;GAIG;AACH,qBAAa,YAAY;IAOrB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,KAAK;IARxB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAGf;IAET,YACmB,QAAQ,EAAE,SAAS,eAAe,EAAE,EACpC,WAAW,EAAE,MAAM,EACnB,KAAK,GAAE,mBAAwB,EAC9C;IAEJ;;;OAGG;IACG,KAAK,CAAC,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAe/C;IAED;;;;;;OAMG;IACG,IAAI,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAW7D;CACF"}
@@ -1,5 +1,6 @@
1
- /** Spawned-process management for `app.command`, `app.services`, and their teardowns (spec 05-config.md). */
1
+ /** Spawned-process management for the commands and services engines declare, and their teardowns (spec 05-config.md). */
2
2
  import { spawn } from 'node:child_process';
3
+ import fs from 'node:fs';
3
4
  import path from 'node:path';
4
5
  import { InfrastructureError } from '../internal/errors.js';
5
6
  import { sleep } from '../internal/time.js';
@@ -12,34 +13,81 @@ const READY_PROBE_TIMEOUT_MS = 2_000;
12
13
  function describeExit(exit) {
13
14
  return exit.code === null ? `was terminated by ${exit.signal}` : `exited with code ${exit.code}`;
14
15
  }
16
+ /** One readiness probe: true when `url` answers 200 through 499 within `timeoutMs`. */
17
+ async function answers(url, timeoutMs) {
18
+ try {
19
+ const response = await fetch(url, { redirect: 'manual', signal: AbortSignal.timeout(timeoutMs) });
20
+ return response.status >= 200 && response.status <= 499;
21
+ }
22
+ catch {
23
+ return false;
24
+ }
25
+ }
15
26
  /**
16
27
  * One command the runner owns: spawned as a process group, waited on until
17
28
  * its readiness contract holds, and terminated signal-then-force. `label`
18
- * names it in every error (`app.command`, `app.services[0] (docker ...)`).
29
+ * names it in every error (`target "web" command`, `service "postgres"`).
19
30
  */
20
31
  export class ManagedProcess {
21
32
  label;
22
33
  command;
23
34
  projectRoot;
24
35
  readiness;
36
+ hooks;
25
37
  child = null;
26
- constructor(label, command, projectRoot, readiness) {
38
+ reusedExisting = false;
39
+ constructor(label, command, projectRoot, readiness, hooks = {}) {
27
40
  this.label = label;
28
41
  this.command = command;
29
42
  this.projectRoot = projectRoot;
30
43
  this.readiness = readiness;
44
+ this.hooks = hooks;
45
+ }
46
+ /** True once `start` found the readiness URL already answering and attached to it instead of spawning. */
47
+ get reused() {
48
+ return this.reusedExisting;
31
49
  }
32
50
  /**
33
51
  * Spawns the process group and waits for readiness. An already aborted
34
52
  * `signal` spawns nothing; one that aborts during the wait ends it early and
35
53
  * takes the process down with it. The caller reads the signal to learn the
36
54
  * run was interrupted.
55
+ *
56
+ * A readiness URL that already answers before the spawn belongs to a
57
+ * process this run did not start, and HTTP readiness cannot tell which
58
+ * process answered later. So the preflight probe decides up front: with
59
+ * `reuseExisting` (outside CI) nothing is spawned and `stop` leaves the
60
+ * process alone; otherwise the launch fails with `APP_ALREADY_RUNNING`
61
+ * rather than letting the old server pass as the new command's readiness.
62
+ * The probe spends from the same `startupTimeout` budget as the wait.
37
63
  */
38
64
  async start(signal) {
39
65
  // A function, not a narrowed local: the signal flips while the loop awaits.
40
66
  const aborted = () => signal?.aborted === true;
41
67
  if (aborted())
42
68
  return;
69
+ // Without a URL to probe, the process exiting 0 is the readiness event.
70
+ const readyUrl = 'readyUrl' in this.readiness ? this.readiness.readyUrl : undefined;
71
+ const startupTimeout = this.command.startupTimeout ?? 60_000;
72
+ const deadline = Date.now() + startupTimeout;
73
+ if (readyUrl !== undefined) {
74
+ const reuse = this.command.reuseExisting === true && this.hooks.ci !== true;
75
+ if (this.command.reuseExisting === true && !reuse) {
76
+ this.hooks.notice?.(`${this.label}: reuseExisting is ignored in CI, starting the command`);
77
+ }
78
+ if (await answers(readyUrl, Math.min(READY_PROBE_TIMEOUT_MS, startupTimeout))) {
79
+ if (reuse) {
80
+ this.reusedExisting = true;
81
+ this.hooks.notice?.(`${this.label}: reusing the process already serving ${readyUrl}`);
82
+ return;
83
+ }
84
+ throw new InfrastructureError('APP_ALREADY_RUNNING', `${readyUrl} already answered before ${this.label} started; ${this.hooks.ci === true
85
+ ? 'stop that process (reuseExisting is ignored in CI)'
86
+ : 'stop that process or set reuseExisting: true'}`);
87
+ }
88
+ if (aborted())
89
+ return;
90
+ }
43
91
  const env = {};
44
92
  for (const key of INHERITED_ENV) {
45
93
  const value = process.env[key];
@@ -47,12 +95,23 @@ export class ManagedProcess {
47
95
  env[key] = value;
48
96
  }
49
97
  Object.assign(env, this.command.env ?? {});
50
- const child = spawn(this.command.executable, [...(this.command.args ?? [])], {
51
- cwd: path.resolve(this.projectRoot, this.command.cwd ?? '.'),
52
- env,
53
- detached: process.platform !== 'win32',
54
- stdio: 'ignore',
55
- });
98
+ const logFd = this.openLog();
99
+ let child;
100
+ try {
101
+ child = spawn(this.command.executable, [...(this.command.args ?? [])], {
102
+ cwd: path.resolve(this.projectRoot, this.command.cwd ?? '.'),
103
+ env,
104
+ detached: process.platform !== 'win32',
105
+ stdio: logFd === undefined ? 'ignore' : ['ignore', logFd, logFd],
106
+ });
107
+ }
108
+ finally {
109
+ // The child holds its own copy of the descriptor once spawn returns
110
+ // (a spawn failure surfaces as the 'error' event, not here), so the
111
+ // parent's copy would only be a leak for the life of the run.
112
+ if (logFd !== undefined)
113
+ fs.closeSync(logFd);
114
+ }
56
115
  this.child = child;
57
116
  let spawnError;
58
117
  child.on('error', (error) => {
@@ -65,10 +124,6 @@ export class ManagedProcess {
65
124
  resolve();
66
125
  });
67
126
  });
68
- // Without a URL to probe, the process exiting 0 is the readiness event.
69
- const readyUrl = 'readyUrl' in this.readiness ? this.readiness.readyUrl : undefined;
70
- const startupTimeout = this.command.startupTimeout ?? 60_000;
71
- const deadline = Date.now() + startupTimeout;
72
127
  let pollMs = READY_POLL_MIN_MS;
73
128
  for (;;) {
74
129
  if (aborted()) {
@@ -90,18 +145,8 @@ export class ManagedProcess {
90
145
  ? `${this.label} did not exit within ${startupTimeout} ms`
91
146
  : `${this.label} was not reachable at ${readyUrl} within ${startupTimeout} ms`);
92
147
  }
93
- if (readyUrl !== undefined) {
94
- try {
95
- const response = await fetch(readyUrl, {
96
- redirect: 'manual',
97
- signal: AbortSignal.timeout(Math.min(READY_PROBE_TIMEOUT_MS, remaining)),
98
- });
99
- if (response.status >= 200 && response.status <= 499)
100
- return;
101
- }
102
- catch {
103
- // not ready yet
104
- }
148
+ if (readyUrl !== undefined && (await answers(readyUrl, Math.min(READY_PROBE_TIMEOUT_MS, remaining)))) {
149
+ return;
105
150
  }
106
151
  // The exit event wakes the wait early so an exit is seen at once, not on the next poll.
107
152
  await Promise.race([
@@ -111,8 +156,28 @@ export class ManagedProcess {
111
156
  pollMs = Math.min(pollMs * 2, READY_POLL_MAX_MS);
112
157
  }
113
158
  }
114
- /** Gracefully terminates the whole process group, then force-kills. */
159
+ /**
160
+ * Opens `command.log` for appending, creating its directory, and returns
161
+ * the descriptor the child writes stdout and stderr to. No `log` means the
162
+ * output is discarded as before. The same file across services and runs
163
+ * accumulates, which is what a developer reading a failed boot wants.
164
+ */
165
+ openLog() {
166
+ if (this.command.log === undefined)
167
+ return undefined;
168
+ const logPath = path.resolve(this.projectRoot, this.command.log);
169
+ try {
170
+ fs.mkdirSync(path.dirname(logPath), { recursive: true });
171
+ return fs.openSync(logPath, 'a');
172
+ }
173
+ catch (cause) {
174
+ throw new InfrastructureError('APP_UNREACHABLE', `${this.label} could not open its log file ${logPath}: ${cause instanceof Error ? cause.message : String(cause)}`, { cause });
175
+ }
176
+ }
177
+ /** Gracefully terminates the whole process group, then force-kills. A reused process was never ours to stop. */
115
178
  async stop() {
179
+ if (this.reusedExisting)
180
+ return;
116
181
  const child = this.child;
117
182
  this.child = null;
118
183
  if (child === null || child.exitCode !== null || child.signalCode !== null)
@@ -145,17 +210,19 @@ export class ManagedProcess {
145
210
  }
146
211
  }
147
212
  /**
148
- * The dependency processes of `app.services`: started sequentially in
149
- * declaration order, each ready before the next starts, and torn down in
150
- * reverse.
213
+ * The dependency processes the engines declared as `services`: started
214
+ * sequentially in declaration order, each ready before the next starts, and
215
+ * torn down in reverse.
151
216
  */
152
217
  export class ServiceStack {
153
218
  services;
154
219
  projectRoot;
220
+ hooks;
155
221
  started = [];
156
- constructor(services, projectRoot) {
222
+ constructor(services, projectRoot, hooks = {}) {
157
223
  this.services = services;
158
224
  this.projectRoot = projectRoot;
225
+ this.hooks = hooks;
159
226
  }
160
227
  /**
161
228
  * Starts every service in order. Stops early once `signal` aborts; the
@@ -165,7 +232,7 @@ export class ServiceStack {
165
232
  for (const { label, command, readiness, teardown } of this.services) {
166
233
  if (signal?.aborted === true)
167
234
  return;
168
- const service = new ManagedProcess(label, command, this.projectRoot, readiness);
235
+ const service = new ManagedProcess(label, command, this.projectRoot, readiness, this.hooks);
169
236
  this.started.push({
170
237
  service,
171
238
  teardown: teardown === undefined
@@ -181,14 +248,15 @@ export class ServiceStack {
181
248
  * Stops the started services in reverse order, then runs each of their
182
249
  * teardown commands in reverse order and waits for it to exit. A failing
183
250
  * teardown is reported through `onFailure` and never skips the rest, so one
184
- * failing `docker compose down` cannot leave the others running.
251
+ * failing `docker compose down` cannot leave the others running. A reused
252
+ * service was not started by this run, so its teardown does not run either.
185
253
  */
186
254
  async stop(onFailure) {
187
255
  const started = this.started.splice(0).toReversed();
188
256
  for (const { service } of started)
189
257
  await service.stop();
190
- for (const { teardown } of started) {
191
- if (teardown === undefined)
258
+ for (const { service, teardown } of started) {
259
+ if (teardown === undefined || service.reused)
192
260
  continue;
193
261
  try {
194
262
  await teardown.start();
@@ -1 +1 @@
1
- {"version":3,"file":"managed-process.js","sourceRoot":"","sources":["../../src/run/managed-process.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"managed-process.js","sourceRoot":"","sources":["../../src/run/managed-process.ts"],"names":[],"mappings":"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"}
@@ -34,7 +34,7 @@ export interface RunOptions {
34
34
  /** Cancellation: the running test ends, its teardown runs, the run finishes as `interrupted`. */
35
35
  interruptSignal?: AbortSignal | undefined;
36
36
  /**
37
- * Forced cancellation: every worker disposes its backend at once instead
37
+ * Forced cancellation: every worker disposes its engine at once instead
38
38
  * of finishing its test, and is killed after the cleanup budget. Counts as
39
39
  * an interrupt on its own. The runner never handles process signals itself;
40
40
  * the CLI's Ctrl-C ladder (`cli/signals.ts`) feeds these two.
@@ -1 +1 @@
1
- {"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../src/run/runner.ts"],"names":[],"mappings":"AAAA,8EAA8E;AA4B9E,OAAO,EAA+B,KAAK,eAAe,EAAyB,MAAM,oBAAoB,CAAC;AAM9G,OAAO,EAAwC,KAAK,YAAY,EAAE,KAAK,WAAW,EAAE,MAAM,aAAa,CAAC;AAExG,OAAO,KAAK,EAAE,YAAY,EAA+B,MAAM,cAAc,CAAC;AAK9E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE7C,MAAM,WAAW,UAAU;IACzB,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,KAAK,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,CAAC;IACtC,IAAI,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,CAAC;IACrC,OAAO,CAAC,EAAE,KAAK,GAAG,KAAK,GAAG,SAAS,CAAC;IACpC,SAAS,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,CAAC;IAC1C,MAAM,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC7B,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,SAAS,CAAC,EAAE,SAAS,CAAC,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,EAAE,GAAG,SAAS,CAAC;IAC/D,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,eAAe,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACtC,2EAA2E;IAC3E,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC9B,+DAA+D;IAC/D,KAAK,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC5B,uEAAuE;IACvE,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC9B;;;;;OAKG;IACH,SAAS,CAAC,EAAE,SAAS,GAAG,SAAS,CAAC;IAClC,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,GAAG,SAAS,CAAC;IACpC,KAAK,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC5B,iGAAiG;IACjG,eAAe,CAAC,EAAE,WAAW,GAAG,SAAS,CAAC;IAC1C;;;;;OAKG;IACH,WAAW,CAAC,EAAE,WAAW,GAAG,SAAS,CAAC;IACtC,oEAAoE;IACpE,OAAO,CAAC,EAAE,YAAY,GAAG,SAAS,CAAC;CACpC;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,WAAW,CAAC;IACtB,MAAM,EAAE,QAAQ,GAAG,QAAQ,GAAG,OAAO,GAAG,aAAa,CAAC;IACtD,MAAM,EAAE,eAAe,CAAC;IACxB,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,2FAA2F;IAC3F,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,gFAAgF;IAChF,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,OAAO,EAAE,SAAS,YAAY,EAAE,CAAC;CAClC;AASD,yEAAyE;AACzE,wBAAsB,GAAG,CAAC,OAAO,GAAE,UAAe,GAAG,OAAO,CAAC,UAAU,CAAC,CAyavE"}
1
+ {"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../src/run/runner.ts"],"names":[],"mappings":"AAAA,8EAA8E;AA4B9E,OAAO,EAA+B,KAAK,eAAe,EAAyB,MAAM,oBAAoB,CAAC;AAM9G,OAAO,EAAwC,KAAK,YAAY,EAAE,KAAK,WAAW,EAAE,MAAM,aAAa,CAAC;AAExG,OAAO,KAAK,EAAE,YAAY,EAA+B,MAAM,cAAc,CAAC;AAK9E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAG7C,MAAM,WAAW,UAAU;IACzB,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,KAAK,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,CAAC;IACtC,IAAI,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,CAAC;IACrC,OAAO,CAAC,EAAE,KAAK,GAAG,KAAK,GAAG,SAAS,CAAC;IACpC,SAAS,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,CAAC;IAC1C,MAAM,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC7B,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,SAAS,CAAC,EAAE,SAAS,CAAC,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,EAAE,GAAG,SAAS,CAAC;IAC/D,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,eAAe,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACtC,2EAA2E;IAC3E,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC9B,+DAA+D;IAC/D,KAAK,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC5B,uEAAuE;IACvE,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC9B;;;;;OAKG;IACH,SAAS,CAAC,EAAE,SAAS,GAAG,SAAS,CAAC;IAClC,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,GAAG,SAAS,CAAC;IACpC,KAAK,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC5B,iGAAiG;IACjG,eAAe,CAAC,EAAE,WAAW,GAAG,SAAS,CAAC;IAC1C;;;;;OAKG;IACH,WAAW,CAAC,EAAE,WAAW,GAAG,SAAS,CAAC;IACtC,oEAAoE;IACpE,OAAO,CAAC,EAAE,YAAY,GAAG,SAAS,CAAC;CACpC;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,WAAW,CAAC;IACtB,MAAM,EAAE,QAAQ,GAAG,QAAQ,GAAG,OAAO,GAAG,aAAa,CAAC;IACtD,MAAM,EAAE,eAAe,CAAC;IACxB,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,2FAA2F;IAC3F,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,gFAAgF;IAChF,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,OAAO,EAAE,SAAS,YAAY,EAAE,CAAC;CAClC;AASD,yEAAyE;AACzE,wBAAsB,GAAG,CAAC,OAAO,GAAE,UAAe,GAAG,OAAO,CAAC,UAAU,CAAC,CAobvE"}