@e2edev/e2e 0.3.0 → 0.5.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 (134) hide show
  1. package/README.md +32 -3
  2. package/dist/agent/act.d.ts.map +1 -1
  3. package/dist/agent/act.js +38 -46
  4. package/dist/agent/act.js.map +1 -1
  5. package/dist/agent/default-agent.d.ts.map +1 -1
  6. package/dist/agent/default-agent.js +10 -23
  7. package/dist/agent/default-agent.js.map +1 -1
  8. package/dist/agent/executor.d.ts +6 -0
  9. package/dist/agent/executor.d.ts.map +1 -1
  10. package/dist/agent/executor.js.map +1 -1
  11. package/dist/agent/invocation.d.ts +1 -6
  12. package/dist/agent/invocation.d.ts.map +1 -1
  13. package/dist/agent/invocation.js +4 -30
  14. package/dist/agent/invocation.js.map +1 -1
  15. package/dist/agent/observation.d.ts +2 -0
  16. package/dist/agent/observation.d.ts.map +1 -1
  17. package/dist/agent/observation.js +1 -0
  18. package/dist/agent/observation.js.map +1 -1
  19. package/dist/agent/public.d.ts +1 -1
  20. package/dist/agent/public.d.ts.map +1 -1
  21. package/dist/agent/public.js +1 -1
  22. package/dist/agent/public.js.map +1 -1
  23. package/dist/agent/step-cache.d.ts +2 -2
  24. package/dist/agent/step-cache.d.ts.map +1 -1
  25. package/dist/agent/step-cache.js +2 -2
  26. package/dist/agent/step-cache.js.map +1 -1
  27. package/dist/agent/tool.d.ts +11 -16
  28. package/dist/agent/tool.d.ts.map +1 -1
  29. package/dist/agent/tool.js +19 -13
  30. package/dist/agent/tool.js.map +1 -1
  31. package/dist/agent/usage.d.ts +27 -0
  32. package/dist/agent/usage.d.ts.map +1 -0
  33. package/dist/agent/usage.js +54 -0
  34. package/dist/agent/usage.js.map +1 -0
  35. package/dist/backend/index.d.ts +22 -5
  36. package/dist/backend/index.d.ts.map +1 -1
  37. package/dist/backend/index.js +2 -1
  38. package/dist/backend/index.js.map +1 -1
  39. package/dist/backend/session.d.ts.map +1 -1
  40. package/dist/backend/session.js +1 -0
  41. package/dist/backend/session.js.map +1 -1
  42. package/dist/backend/surface.d.ts +2 -0
  43. package/dist/backend/surface.d.ts.map +1 -1
  44. package/dist/backend/timing.d.ts +3 -0
  45. package/dist/backend/timing.d.ts.map +1 -0
  46. package/dist/backend/timing.js +8 -0
  47. package/dist/backend/timing.js.map +1 -0
  48. package/dist/cli/index.js +4 -4
  49. package/dist/cli/index.js.map +1 -1
  50. package/dist/cli/init/backends.d.ts +75 -0
  51. package/dist/cli/init/backends.d.ts.map +1 -0
  52. package/dist/cli/init/backends.js +98 -0
  53. package/dist/cli/init/backends.js.map +1 -0
  54. package/dist/cli/init/package.d.ts +43 -0
  55. package/dist/cli/init/package.d.ts.map +1 -0
  56. package/dist/cli/init/package.js +64 -0
  57. package/dist/cli/init/package.js.map +1 -0
  58. package/dist/cli/init/scaffold.d.ts +12 -0
  59. package/dist/cli/init/scaffold.d.ts.map +1 -0
  60. package/dist/cli/init/scaffold.js +36 -0
  61. package/dist/cli/init/scaffold.js.map +1 -0
  62. package/dist/cli/init.d.ts +8 -3
  63. package/dist/cli/init.d.ts.map +1 -1
  64. package/dist/cli/init.js +98 -94
  65. package/dist/cli/init.js.map +1 -1
  66. package/dist/config/app.d.ts +50 -0
  67. package/dist/config/app.d.ts.map +1 -0
  68. package/dist/config/app.js +168 -0
  69. package/dist/config/app.js.map +1 -0
  70. package/dist/config/esm.d.ts +4 -0
  71. package/dist/config/esm.d.ts.map +1 -0
  72. package/dist/config/esm.js +35 -0
  73. package/dist/config/esm.js.map +1 -0
  74. package/dist/config/load.d.ts.map +1 -1
  75. package/dist/config/load.js +4 -0
  76. package/dist/config/load.js.map +1 -1
  77. package/dist/config/resolve.d.ts +6 -15
  78. package/dist/config/resolve.d.ts.map +1 -1
  79. package/dist/config/resolve.js +29 -106
  80. package/dist/config/resolve.js.map +1 -1
  81. package/dist/config/validate.d.ts +3 -1
  82. package/dist/config/validate.d.ts.map +1 -1
  83. package/dist/config/validate.js +17 -1
  84. package/dist/config/validate.js.map +1 -1
  85. package/dist/internal/time.d.ts +6 -1
  86. package/dist/internal/time.d.ts.map +1 -1
  87. package/dist/internal/time.js +25 -2
  88. package/dist/internal/time.js.map +1 -1
  89. package/dist/report/build.js +2 -2
  90. package/dist/report/build.js.map +1 -1
  91. package/dist/report/junit.d.ts +11 -0
  92. package/dist/report/junit.d.ts.map +1 -0
  93. package/dist/report/junit.js +202 -0
  94. package/dist/report/junit.js.map +1 -0
  95. package/dist/report/list.d.ts.map +1 -1
  96. package/dist/report/list.js +3 -0
  97. package/dist/report/list.js.map +1 -1
  98. package/dist/report/write.d.ts +2 -0
  99. package/dist/report/write.d.ts.map +1 -1
  100. package/dist/report/write.js +7 -3
  101. package/dist/report/write.js.map +1 -1
  102. package/dist/run/events.d.ts +2 -0
  103. package/dist/run/events.d.ts.map +1 -1
  104. package/dist/run/events.js.map +1 -1
  105. package/dist/run/fixture-legacy.d.ts +36 -0
  106. package/dist/run/fixture-legacy.d.ts.map +1 -0
  107. package/dist/run/fixture-legacy.js +143 -0
  108. package/dist/run/fixture-legacy.js.map +1 -0
  109. package/dist/run/fixture-recording.d.ts +15 -0
  110. package/dist/run/fixture-recording.d.ts.map +1 -0
  111. package/dist/run/fixture-recording.js +75 -0
  112. package/dist/run/fixture-recording.js.map +1 -0
  113. package/dist/run/fixtures.d.ts.map +1 -1
  114. package/dist/run/fixtures.js +26 -162
  115. package/dist/run/fixtures.js.map +1 -1
  116. package/dist/run/managed-process.d.ts +49 -0
  117. package/dist/run/managed-process.d.ts.map +1 -0
  118. package/dist/run/managed-process.js +202 -0
  119. package/dist/run/managed-process.js.map +1 -0
  120. package/dist/run/runner.d.ts +3 -1
  121. package/dist/run/runner.d.ts.map +1 -1
  122. package/dist/run/runner.js +62 -12
  123. package/dist/run/runner.js.map +1 -1
  124. package/dist/run/steps.d.ts +1 -1
  125. package/dist/run/steps.d.ts.map +1 -1
  126. package/dist/run/steps.js +12 -9
  127. package/dist/run/steps.js.map +1 -1
  128. package/dist/types.d.ts +37 -4
  129. package/dist/types.d.ts.map +1 -1
  130. package/package.json +2 -2
  131. package/dist/run/app-process.d.ts +0 -18
  132. package/dist/run/app-process.d.ts.map +0 -1
  133. package/dist/run/app-process.js +0 -112
  134. package/dist/run/app-process.js.map +0 -1
@@ -0,0 +1,75 @@
1
+ import { TestError } from '../internal/errors.js';
2
+ import { withAbort, withTimeout } from '../internal/time.js';
3
+ export class FixtureRecorder {
4
+ environment;
5
+ declared = new WeakSet();
6
+ constructor(environment) {
7
+ this.environment = environment;
8
+ }
9
+ /** Uses the legacy adapter only for factories without an explicit recording declaration. */
10
+ adapt(surface, legacy) {
11
+ return this.declared.has(surface) ? surface : legacy(surface);
12
+ }
13
+ /** Wraps declared methods and namespaces without invoking them or guessing their return types. */
14
+ fixture(name, surface, operations) {
15
+ if (this.declared.has(surface))
16
+ return surface;
17
+ this.declared.add(surface);
18
+ for (const [key, definition] of Object.entries(operations)) {
19
+ if (definition === undefined)
20
+ continue;
21
+ const api = `${name}.${key}`;
22
+ const operation = definition;
23
+ if (operation.kind === 'resource' || operation.kind === 'assertion') {
24
+ const method = Reflect.get(surface, key);
25
+ if (typeof method !== 'function')
26
+ throw new TestError('INVALID_ARGUMENT', `${api} must be a method`);
27
+ Object.defineProperty(surface, key, {
28
+ configurable: true,
29
+ enumerable: true,
30
+ value: (...args) => this.run(api, operation, args, () => method.apply(surface, args)),
31
+ });
32
+ }
33
+ else {
34
+ const descriptor = propertyDescriptor(surface, key);
35
+ let value = descriptor?.value;
36
+ const read = descriptor?.get?.bind(surface) ?? (() => value);
37
+ const write = descriptor?.set?.bind(surface)
38
+ ?? (descriptor?.writable === true ? (next) => { value = next; } : undefined);
39
+ Object.defineProperty(surface, key, {
40
+ configurable: true,
41
+ enumerable: descriptor?.enumerable ?? true,
42
+ get: () => this.fixture(api, read(), definition),
43
+ ...(write === undefined ? {} : { set: write }),
44
+ });
45
+ }
46
+ }
47
+ return surface;
48
+ }
49
+ /** Executes one declared operation inside its step and cancellation boundary. */
50
+ run(api, operation, args, body) {
51
+ const { environment } = this;
52
+ const label = operation.label?.(...args) ?? '';
53
+ return environment.steps.run(operation.kind, api, label, () => {
54
+ const timeout = typeof operation.timeout === 'function' ? operation.timeout(...args) : operation.timeout;
55
+ if (timeout !== false && timeout !== undefined && (!Number.isFinite(timeout) || timeout <= 0)) {
56
+ throw new TestError('INVALID_ARGUMENT', `${api} timeout must be positive and finite`);
57
+ }
58
+ const pending = withAbort(body, environment.budget.signal, () => new TestError('CANCELLED', `${api} cancelled`));
59
+ if (timeout === false)
60
+ return pending;
61
+ const timeoutMs = timeout ?? environment.config.actionTimeout;
62
+ return withTimeout(pending, timeoutMs, () => new TestError('ACTION_FAILED', `${api} exceeded its timeout of ${timeoutMs}ms`));
63
+ }, { verifies: operation.verifies ?? operation.kind === 'assertion' });
64
+ }
65
+ }
66
+ /** Finds namespace accessors without invoking them, including those defined on a class prototype. */
67
+ function propertyDescriptor(surface, key) {
68
+ for (let target = surface; target !== null; target = Object.getPrototypeOf(target)) {
69
+ const descriptor = Object.getOwnPropertyDescriptor(target, key);
70
+ if (descriptor !== undefined)
71
+ return descriptor;
72
+ }
73
+ return undefined;
74
+ }
75
+ //# sourceMappingURL=fixture-recording.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fixture-recording.js","sourceRoot":"","sources":["../../src/run/fixture-recording.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"fixtures.d.ts","sourceRoot":"","sources":["../../src/run/fixtures.ts"],"names":[],"mappings":"AAAA,2EAA2E;AAG3E,OAAO,KAAK,EAAE,eAAe,EAAgB,MAAM,sBAAsB,CAAC;AAC1E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAI7D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAE3D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAKvD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AASjD,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3E,OAAO,KAAK,EAA0B,YAAY,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AACtF,OAAO,KAAK,EAAY,UAAU,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAErE,MAAM,WAAW,YAAY;IAC3B,yEAAyE;IACzE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,wEAAwE;IACxE,QAAQ,CACN,IAAI,EAAE,YAAY,GAAG,OAAO,GAAG,OAAO,GAAG,UAAU,GAAG,KAAK,EAC3D,YAAY,EAAE,MAAM,GACnB,MAAM,CAAC;CACX;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC;IAChC,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC;IAChC,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC;IAChC,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC;IAC7B,kFAAkF;IAClF,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;IAC/B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,wFAAwF;IACxF,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAC;IAClC,QAAQ,CAAC,SAAS,EAAE,YAAY,CAAC;IACjC,gGAAgG;IAChG,QAAQ,CAAC,UAAU,EAAE,MAAM,SAAS,UAAU,EAAE,CAAC;IACjD,4EAA4E;IAC5E,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1C,2EAA2E;IAC3E,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,SAAS,CAAC;IACpE,2EAA2E;IAC3E,QAAQ,CAAC,KAAK,CAAC,EAAE,iBAAiB,CAAC;IACnC,qEAAqE;IACrE,QAAQ,CAAC,KAAK,CAAC,EAAE,UAAU,CAAC;CAC7B;AAED,qDAAqD;AACrD,wBAAgB,cAAc,CAC5B,WAAW,EAAE,kBAAkB,GAC9B,YAAY,GAAG;IAAE,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAA;CAAE,CA2GnD"}
1
+ {"version":3,"file":"fixtures.d.ts","sourceRoot":"","sources":["../../src/run/fixtures.ts"],"names":[],"mappings":"AAAA,2EAA2E;AAG3E,OAAO,KAAK,EAAE,eAAe,EAAgB,MAAM,sBAAsB,CAAC;AAC1E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAI7D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAE3D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAMvD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AASjD,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3E,OAAO,KAAK,EAA0B,YAAY,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AACtF,OAAO,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE3D,MAAM,WAAW,YAAY;IAC3B,yEAAyE;IACzE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,wEAAwE;IACxE,QAAQ,CACN,IAAI,EAAE,YAAY,GAAG,OAAO,GAAG,OAAO,GAAG,UAAU,GAAG,KAAK,EAC3D,YAAY,EAAE,MAAM,GACnB,MAAM,CAAC;CACX;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC;IAChC,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC;IAChC,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC;IAChC,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC;IAC7B,kFAAkF;IAClF,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;IAC/B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,wFAAwF;IACxF,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAC;IAClC,QAAQ,CAAC,SAAS,EAAE,YAAY,CAAC;IACjC,gGAAgG;IAChG,QAAQ,CAAC,UAAU,EAAE,MAAM,SAAS,UAAU,EAAE,CAAC;IACjD,4EAA4E;IAC5E,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1C,2EAA2E;IAC3E,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,SAAS,CAAC;IACpE,2EAA2E;IAC3E,QAAQ,CAAC,KAAK,CAAC,EAAE,iBAAiB,CAAC;IACnC,qEAAqE;IACrE,QAAQ,CAAC,KAAK,CAAC,EAAE,UAAU,CAAC;CAC7B;AAKD,qDAAqD;AACrD,wBAAgB,cAAc,CAC5B,WAAW,EAAE,kBAAkB,GAC9B,YAAY,GAAG;IAAE,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAA;CAAE,CA0GnD"}
@@ -3,12 +3,15 @@ import { createAgentFixture } from '../agent/index.js';
3
3
  import { createModelRouter } from '../agent/model/router.js';
4
4
  import { createModelAdapter } from '../agent/model/sdk.js';
5
5
  import { expectationBrand } from '../internal/brands.js';
6
- import { ConfigurationError, TestError } from '../internal/errors.js';
6
+ import { ConfigurationError } from '../internal/errors.js';
7
7
  import { SecretLedger } from '../internal/redact.js';
8
8
  import { resolveNavigationUrl } from '../internal/urls.js';
9
- import { withTimeout } from '../internal/time.js';
9
+ import { FixtureRecorder } from './fixture-recording.js';
10
+ import { recordedSurface, StepAttachments } from './fixture-legacy.js';
10
11
  import { LocatorEngine } from '../locator/engine.js';
11
12
  import { createLocator, createScopedScreen, createScreen, } from '../locator/screen.js';
13
+ /** Secrets survive every fixture graph that shares the same live isolation. */
14
+ const sessionSecrets = new WeakMap();
12
15
  /** Builds the lazy fixture graph for one attempt. */
13
16
  export function createFixtures(environment) {
14
17
  const engine = new LocatorEngine({
@@ -19,12 +22,12 @@ export function createFixtures(environment) {
19
22
  actionTimeout: environment.config.actionTimeout,
20
23
  assertionTimeout: environment.config.assertionTimeout,
21
24
  });
22
- /**
23
- * Any resolved secret leaves the viewport pixel-tainted for the rest of the
24
- * attempt: an untrusted app may mirror the value anywhere on screen.
25
- */
26
- const taint = { value: false };
27
- const ledger = attemptSecretLedger(environment);
25
+ let secrecy = sessionSecrets.get(environment.session);
26
+ if (secrecy === undefined) {
27
+ secrecy = { ledger: initialSecretLedger(environment), taint: { value: false } };
28
+ sessionSecrets.set(environment.session, secrecy);
29
+ }
30
+ const { ledger, taint } = secrecy;
28
31
  const secrets = {
29
32
  async resolve(secret) {
30
33
  const credential = environment.config.credentials.get(secret.name);
@@ -117,76 +120,40 @@ function gateUnknownFixtures(fixtures, environment) {
117
120
  });
118
121
  }
119
122
  /**
120
- * Backend-contributed fixtures (RFC0002): the backend declares what calls
121
- * exist, the harness owns how every call runs. Each async method becomes a
122
- * recorded step named `<fixture>.<method>`, bounded by the action timeout (or
123
- * the call's own `timeout` option) and the attempt signal; a synchronous
124
- * member is an accessor and passes through. Core validates shape, never
125
- * meaning.
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.
126
127
  */
127
128
  function contributedFixtures(environment, engine, screenContext) {
128
129
  const declared = environment.target.backend?.fixtures;
129
130
  if (declared === undefined)
130
131
  return {};
131
132
  const contributed = {};
132
- const attachments = new StepAttachments();
133
- const context = fixtureContext(environment, engine, screenContext, attachments);
133
+ const attachments = new StepAttachments(environment.steps);
134
+ const recorder = new FixtureRecorder(environment);
135
+ const context = fixtureContext(environment, engine, screenContext, attachments, recorder);
134
136
  for (const [name, factory] of Object.entries(declared)) {
135
137
  let instance;
136
138
  Object.defineProperty(contributed, name, {
137
139
  enumerable: true,
138
140
  get() {
139
- instance ??= recordedSurface(factory(context), environment, attachments, {
141
+ instance ??= recorder.adapt(factory(context), (surface) => recordedSurface(surface, environment, attachments, {
140
142
  path: [name],
141
143
  kind: 'resource',
142
144
  bounded: true,
143
- });
145
+ }));
144
146
  return instance;
145
147
  },
146
148
  });
147
149
  }
148
150
  return contributed;
149
151
  }
150
- /**
151
- * Attributes what a fixture method records to the step that wraps the call.
152
- * The method runs before its step opens (that is what lets a synchronous
153
- * accessor stay an accessor), so anything it attaches synchronously is held
154
- * here and released into the step once the step exists, or into the current
155
- * step when the call turns out to be synchronous.
156
- */
157
- class StepAttachments {
158
- deferred = null;
159
- /** Runs `attach` now, or holds it while a fixture call is being invoked. */
160
- record(attach) {
161
- if (this.deferred === null)
162
- attach();
163
- else
164
- this.deferred.push(attach);
165
- }
166
- /** Invokes `call` with attachments held, returning them for release. */
167
- collect(call) {
168
- const outer = this.deferred;
169
- const held = [];
170
- this.deferred = held;
171
- try {
172
- const result = call();
173
- return {
174
- result,
175
- release: () => {
176
- for (const attach of held)
177
- attach();
178
- },
179
- };
180
- }
181
- finally {
182
- this.deferred = outer;
183
- }
184
- }
185
- }
186
- function fixtureContext(environment, engine, screenContext, attachments) {
152
+ function fixtureContext(environment, engine, screenContext, attachments, recorder) {
187
153
  const { config, steps } = environment;
188
154
  return {
189
155
  targetName: environment.target.name,
156
+ fixture: (name, surface, operations) => recorder.fixture(name, surface, operations),
190
157
  app: {
191
158
  ...(config.app.configured ? { baseUrl: config.app.base.href } : {}),
192
159
  allowedOrigins: config.app.allowedOrigins,
@@ -215,11 +182,11 @@ function fixtureContext(environment, engine, screenContext, attachments) {
215
182
  enumerable: false,
216
183
  configurable: true,
217
184
  get: () => {
218
- surface ??= recordedSurface(factory(), environment, attachments, {
185
+ surface ??= recorder.adapt(factory(), (value) => recordedSurface(value, environment, attachments, {
219
186
  path: ['expect'],
220
187
  kind: 'assertion',
221
188
  bounded: false,
222
- });
189
+ }));
223
190
  return surface;
224
191
  },
225
192
  });
@@ -227,109 +194,6 @@ function fixtureContext(environment, engine, screenContext, attachments) {
227
194
  },
228
195
  };
229
196
  }
230
- function isThenable(value) {
231
- return (typeof value === 'object' &&
232
- value !== null &&
233
- typeof value.then === 'function');
234
- }
235
- /** Longest label a fixture argument may contribute to the report. */
236
- const LABEL_LIMIT = 80;
237
- /** Method names whose string argument is typed input, labelled by length only. */
238
- const INPUT_METHODS = new Set(['type', 'fill', 'insertText']);
239
- /**
240
- * Step label heuristic: the first string or pattern argument, if any. Fixture
241
- * arguments are report-visible by this rule; secret material travels as
242
- * `Secret` handles, never as strings, so it cannot land here. Typed input is
243
- * the exception: it is user data, so only its length is recorded.
244
- */
245
- function labelFor(api, args) {
246
- const method = api.slice(api.lastIndexOf('.') + 1);
247
- if (INPUT_METHODS.has(method) && typeof args[0] === 'string')
248
- return `${args[0].length} chars`;
249
- for (const arg of args) {
250
- if (typeof arg === 'string')
251
- return arg.length > LABEL_LIMIT ? `${arg.slice(0, LABEL_LIMIT)}...` : arg;
252
- if (arg instanceof RegExp)
253
- return String(arg);
254
- }
255
- return '';
256
- }
257
- /** A call's own `timeout` option wins over the action timeout, as on Locator. */
258
- function timeoutFor(args, fallback) {
259
- for (const arg of args) {
260
- if (typeof arg !== 'object' || arg === null || Array.isArray(arg))
261
- continue;
262
- const timeout = arg.timeout;
263
- if (typeof timeout === 'number' && Number.isFinite(timeout) && timeout > 0)
264
- return timeout;
265
- }
266
- return fallback;
267
- }
268
- /**
269
- * Wraps a contributed surface so every async method call is one recorded
270
- * step. Nested plain objects (namespaces such as `keyboard`) are wrapped
271
- * recursively with a dotted path; symbol-keyed members and synchronous
272
- * results pass through untouched.
273
- *
274
- * The member is invoked first and the step opens around the promise it
275
- * returns, which is what lets a synchronous accessor stay an accessor. A
276
- * synchronous throw is recorded as the failed step it would have been, and
277
- * anything the call attached through the context is released into that step,
278
- * however early in the call it happened.
279
- */
280
- function recordedSurface(surface, environment, attachments, options) {
281
- return new Proxy(surface, {
282
- get(target, property, receiver) {
283
- const value = Reflect.get(target, property, receiver);
284
- if (typeof property !== 'string')
285
- return value;
286
- if (typeof value === 'function') {
287
- return (...args) => {
288
- const api = [...options.path, property].join('.');
289
- let collected;
290
- try {
291
- collected = attachments.collect(() => value.apply(target, args));
292
- }
293
- catch (cause) {
294
- // Recorded as the failed step it was, then rethrown as it was thrown:
295
- // a synchronous caller must not receive a promise in place of a throw.
296
- environment.steps
297
- .run(options.kind, api, labelFor(api, args), () => Promise.reject(cause))
298
- .catch(() => undefined);
299
- throw cause;
300
- }
301
- const { result, release } = collected;
302
- if (!isThenable(result)) {
303
- release();
304
- return result;
305
- }
306
- return environment.steps.run(options.kind, api, labelFor(api, args), () => {
307
- release();
308
- const pending = Promise.resolve(result);
309
- if (!options.bounded)
310
- return pending;
311
- const timeout = timeoutFor(args, environment.config.actionTimeout);
312
- // A call that outlives its budget is a failed action, like a
313
- // locator action that never became actionable; the test clock is
314
- // a separate matter.
315
- return withTimeout(pending, timeout, () => new TestError('ACTION_FAILED', `${api} exceeded its timeout of ${timeout}ms`));
316
- });
317
- };
318
- }
319
- if (typeof value === 'object' &&
320
- value !== null &&
321
- !Array.isArray(value) &&
322
- !isThenable(value) &&
323
- Object.getPrototypeOf(value) === Object.prototype) {
324
- return recordedSurface(value, environment, attachments, {
325
- ...options,
326
- path: [...options.path, property],
327
- });
328
- }
329
- return value;
330
- },
331
- });
332
- }
333
197
  /**
334
198
  * The built-in executor behind a dynamic import, so the optional `ai` peer
335
199
  * dependency loads only if an `agent.act()` step actually runs. Deterministic
@@ -357,10 +221,10 @@ function joinAgentContext(configContext, testContext) {
357
221
  return parts.length === 0 ? undefined : parts.join('\n');
358
222
  }
359
223
  /**
360
- * The attempt's secret ledger, seeded with the passwords known up front.
224
+ * The session's secret ledger, seeded with the passwords known up front.
361
225
  * Provider-backed values join through the resolver at fill time.
362
226
  */
363
- function attemptSecretLedger(environment) {
227
+ function initialSecretLedger(environment) {
364
228
  return new SecretLedger([...environment.config.credentials].flatMap(([name, { password }]) => typeof password === 'string' ? [[name, password]] : []));
365
229
  }
366
230
  /** Navigation needs a real app URL; the placeholder base never leaves the harness. */
@@ -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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"}
@@ -0,0 +1,49 @@
1
+ /** Spawned-process management for `app.command`, `app.services`, and their teardowns (spec 05-config.md). */
2
+ import type { Readiness, ResolvedService } from '../config/app.ts';
3
+ import type { CommandConfig } from '../types.ts';
4
+ /**
5
+ * One command the runner owns: spawned as a process group, waited on until
6
+ * its readiness contract holds, and terminated signal-then-force. `label`
7
+ * names it in every error (`app.command`, `app.services[0] (docker ...)`).
8
+ */
9
+ export declare class ManagedProcess {
10
+ private readonly label;
11
+ private readonly command;
12
+ private readonly projectRoot;
13
+ private readonly readiness;
14
+ private child;
15
+ constructor(label: string, command: CommandConfig, projectRoot: string, readiness: Readiness);
16
+ /**
17
+ * Spawns the process group and waits for readiness. An already aborted
18
+ * `signal` spawns nothing; one that aborts during the wait ends it early and
19
+ * takes the process down with it. The caller reads the signal to learn the
20
+ * run was interrupted.
21
+ */
22
+ start(signal?: AbortSignal): Promise<void>;
23
+ /** Gracefully terminates the whole process group, then force-kills. */
24
+ stop(): Promise<void>;
25
+ }
26
+ /**
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.
30
+ */
31
+ export declare class ServiceStack {
32
+ private readonly services;
33
+ private readonly projectRoot;
34
+ private readonly started;
35
+ constructor(services: readonly ResolvedService[], projectRoot: string);
36
+ /**
37
+ * Starts every service in order. Stops early once `signal` aborts; the
38
+ * services already started still get their teardown from `stop`.
39
+ */
40
+ start(signal?: AbortSignal): Promise<void>;
41
+ /**
42
+ * Stops the started services in reverse order, then runs each of their
43
+ * teardown commands in reverse order and waits for it to exit. A failing
44
+ * teardown is reported through `onFailure` and never skips the rest, so one
45
+ * failing `docker compose down` cannot leave the others running.
46
+ */
47
+ stop(onFailure: (cause: unknown) => void): Promise<void>;
48
+ }
49
+ //# sourceMappingURL=managed-process.d.ts.map
@@ -0,0 +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"}