@e2edev/e2e 0.5.0 → 0.6.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.
- package/README.md +64 -25
- package/dist/agent/act.d.ts +2 -2
- package/dist/agent/act.js +14 -37
- package/dist/agent/act.js.map +1 -1
- package/dist/agent/actions.d.ts +2 -2
- package/dist/agent/actions.d.ts.map +1 -1
- package/dist/agent/actions.js +1 -1
- package/dist/agent/ai-sdk.d.ts +1 -2
- package/dist/agent/ai-sdk.d.ts.map +1 -1
- package/dist/agent/ai-sdk.js +1 -2
- package/dist/agent/ai-sdk.js.map +1 -1
- package/dist/agent/default-agent.d.ts +10 -32
- package/dist/agent/default-agent.d.ts.map +1 -1
- package/dist/agent/default-agent.js +6 -13
- package/dist/agent/default-agent.js.map +1 -1
- package/dist/agent/derived.d.ts +1 -1
- package/dist/agent/derived.js +1 -1
- package/dist/agent/error.d.ts +2 -4
- package/dist/agent/error.d.ts.map +1 -1
- package/dist/agent/error.js +3 -5
- package/dist/agent/error.js.map +1 -1
- package/dist/agent/executor.d.ts +23 -52
- package/dist/agent/executor.d.ts.map +1 -1
- package/dist/agent/executor.js +1 -2
- package/dist/agent/executor.js.map +1 -1
- package/dist/agent/index.d.ts +1 -1
- package/dist/agent/index.d.ts.map +1 -1
- package/dist/agent/index.js +10 -7
- package/dist/agent/index.js.map +1 -1
- package/dist/agent/invocation.d.ts +8 -6
- package/dist/agent/invocation.d.ts.map +1 -1
- package/dist/agent/invocation.js +9 -4
- package/dist/agent/invocation.js.map +1 -1
- package/dist/agent/ledger.d.ts +17 -12
- package/dist/agent/ledger.d.ts.map +1 -1
- package/dist/agent/ledger.js +6 -9
- package/dist/agent/ledger.js.map +1 -1
- package/dist/agent/model/adapter.d.ts +7 -4
- package/dist/agent/model/adapter.d.ts.map +1 -1
- package/dist/agent/model/adapter.js +2 -2
- package/dist/agent/model/adapter.js.map +1 -1
- package/dist/agent/model/router.d.ts +1 -1
- package/dist/agent/model/router.d.ts.map +1 -1
- package/dist/agent/model/router.js +1 -1
- package/dist/agent/model/router.js.map +1 -1
- package/dist/agent/model/sdk.d.ts +11 -1
- package/dist/agent/model/sdk.d.ts.map +1 -1
- package/dist/agent/model/sdk.js +54 -10
- package/dist/agent/model/sdk.js.map +1 -1
- package/dist/agent/observation.d.ts +7 -7
- package/dist/agent/observation.d.ts.map +1 -1
- package/dist/agent/observation.js +7 -7
- package/dist/agent/observation.js.map +1 -1
- package/dist/agent/phases.d.ts +3 -3
- package/dist/agent/phases.d.ts.map +1 -1
- package/dist/agent/phases.js +4 -4
- package/dist/agent/phases.js.map +1 -1
- package/dist/agent/primitives.d.ts +4 -25
- package/dist/agent/primitives.d.ts.map +1 -1
- package/dist/agent/primitives.js +3 -36
- package/dist/agent/primitives.js.map +1 -1
- package/dist/agent/prompts.d.ts +1 -1
- package/dist/agent/prompts.js +1 -1
- package/dist/agent/protocol.d.ts +2 -3
- package/dist/agent/protocol.d.ts.map +1 -1
- package/dist/agent/protocol.js +2 -3
- package/dist/agent/protocol.js.map +1 -1
- package/dist/agent/public.d.ts +8 -10
- package/dist/agent/public.d.ts.map +1 -1
- package/dist/agent/public.js +7 -8
- package/dist/agent/public.js.map +1 -1
- package/dist/agent/replay.d.ts +2 -2
- package/dist/agent/replay.d.ts.map +1 -1
- package/dist/agent/replay.js +1 -1
- package/dist/agent/secrets.d.ts +3 -3
- package/dist/agent/secrets.d.ts.map +1 -1
- package/dist/agent/secrets.js +4 -4
- package/dist/agent/secrets.js.map +1 -1
- package/dist/agent/step-cache.d.ts +1 -1
- package/dist/agent/step-cache.d.ts.map +1 -1
- package/dist/agent/step-cache.js +7 -1
- package/dist/agent/step-cache.js.map +1 -1
- package/dist/agent/tool-loop.d.ts +9 -33
- package/dist/agent/tool-loop.d.ts.map +1 -1
- package/dist/agent/tool-loop.js +15 -38
- package/dist/agent/tool-loop.js.map +1 -1
- package/dist/agent/tool.d.ts +4 -5
- package/dist/agent/tool.d.ts.map +1 -1
- package/dist/agent/tool.js +2 -7
- package/dist/agent/tool.js.map +1 -1
- package/dist/cache/anchors.d.ts +2 -2
- package/dist/cache/anchors.d.ts.map +1 -1
- package/dist/cache/anchors.js +1 -1
- package/dist/cache/context.d.ts +6 -1
- package/dist/cache/context.d.ts.map +1 -1
- package/dist/cache/context.js +2 -1
- package/dist/cache/context.js.map +1 -1
- package/dist/cache/decide.d.ts +1 -1
- package/dist/cache/decide.js +1 -1
- package/dist/cache/identity.d.ts +9 -9
- package/dist/cache/identity.d.ts.map +1 -1
- package/dist/cache/identity.js +6 -6
- package/dist/cache/identity.js.map +1 -1
- package/dist/cache/recorder.d.ts +4 -2
- package/dist/cache/recorder.d.ts.map +1 -1
- package/dist/cache/recorder.js +10 -1
- package/dist/cache/recorder.js.map +1 -1
- package/dist/cache/relocate.d.ts +2 -2
- package/dist/cache/relocate.d.ts.map +1 -1
- package/dist/cache/relocate.js +1 -1
- package/dist/cache/store.d.ts +1 -1
- package/dist/cache/store.js +1 -1
- package/dist/cache/trace.d.ts +16 -1
- package/dist/cache/trace.d.ts.map +1 -1
- package/dist/cache/trace.js +22 -1
- package/dist/cache/trace.js.map +1 -1
- package/dist/cli/bin.js +9 -1
- package/dist/cli/bin.js.map +1 -1
- package/dist/cli/cache.d.ts +25 -0
- package/dist/cli/cache.d.ts.map +1 -0
- package/dist/cli/cache.js +249 -0
- package/dist/cli/cache.js.map +1 -0
- package/dist/cli/docs-url.d.ts +3 -0
- package/dist/cli/docs-url.d.ts.map +1 -0
- package/dist/cli/docs-url.js +3 -0
- package/dist/cli/docs-url.js.map +1 -0
- package/dist/cli/guide.d.ts +4 -0
- package/dist/cli/guide.d.ts.map +1 -0
- package/dist/cli/guide.js +16 -0
- package/dist/cli/guide.js.map +1 -0
- package/dist/cli/index.d.ts +1 -1
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +211 -42
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/init/agent-skill.d.ts +34 -0
- package/dist/cli/init/agent-skill.d.ts.map +1 -0
- package/dist/cli/init/agent-skill.js +44 -0
- package/dist/cli/init/agent-skill.js.map +1 -0
- package/dist/cli/init/{backends.d.ts → engines.d.ts} +39 -32
- package/dist/cli/init/engines.d.ts.map +1 -0
- package/dist/cli/init/{backends.js → engines.js} +43 -34
- package/dist/cli/init/engines.js.map +1 -0
- package/dist/cli/init/package.d.ts +19 -3
- package/dist/cli/init/package.d.ts.map +1 -1
- package/dist/cli/init/package.js +20 -20
- package/dist/cli/init/package.js.map +1 -1
- package/dist/cli/init/scaffold.d.ts +3 -3
- package/dist/cli/init/scaffold.d.ts.map +1 -1
- package/dist/cli/init/scaffold.js +13 -12
- package/dist/cli/init/scaffold.js.map +1 -1
- package/dist/cli/init.d.ts +14 -2
- package/dist/cli/init.d.ts.map +1 -1
- package/dist/cli/init.js +104 -25
- package/dist/cli/init.js.map +1 -1
- package/dist/cli/signals.d.ts +5 -2
- package/dist/cli/signals.d.ts.map +1 -1
- package/dist/cli/signals.js +9 -3
- package/dist/cli/signals.js.map +1 -1
- package/dist/cli/skill.d.ts +16 -0
- package/dist/cli/skill.d.ts.map +1 -0
- package/dist/cli/skill.js +57 -0
- package/dist/cli/skill.js.map +1 -0
- package/dist/collect/collect.d.ts +40 -3
- package/dist/collect/collect.d.ts.map +1 -1
- package/dist/collect/collect.js +142 -19
- package/dist/collect/collect.js.map +1 -1
- package/dist/collect/registry.d.ts +1 -1
- package/dist/collect/registry.d.ts.map +1 -1
- package/dist/collect/registry.js +2 -2
- package/dist/collect/registry.js.map +1 -1
- package/dist/collect/select.d.ts +1 -1
- package/dist/collect/select.d.ts.map +1 -1
- package/dist/collect/select.js +81 -8
- package/dist/collect/select.js.map +1 -1
- package/dist/config/agent.d.ts +14 -2
- package/dist/config/agent.d.ts.map +1 -1
- package/dist/config/agent.js +36 -11
- package/dist/config/agent.js.map +1 -1
- package/dist/config/app.d.ts +76 -19
- package/dist/config/app.d.ts.map +1 -1
- package/dist/config/app.js +159 -104
- package/dist/config/app.js.map +1 -1
- package/dist/config/diagnose.d.ts +15 -0
- package/dist/config/diagnose.d.ts.map +1 -0
- package/dist/config/diagnose.js +122 -0
- package/dist/config/diagnose.js.map +1 -0
- package/dist/config/load.d.ts +9 -1
- package/dist/config/load.d.ts.map +1 -1
- package/dist/config/load.js +35 -3
- package/dist/config/load.js.map +1 -1
- package/dist/config/resolve.d.ts +8 -7
- package/dist/config/resolve.d.ts.map +1 -1
- package/dist/config/resolve.js +73 -40
- package/dist/config/resolve.js.map +1 -1
- package/dist/config/validate.d.ts +6 -2
- package/dist/config/validate.d.ts.map +1 -1
- package/dist/config/validate.js +20 -3
- package/dist/config/validate.js.map +1 -1
- package/dist/credentials.d.ts +1 -1
- package/dist/credentials.d.ts.map +1 -1
- package/dist/credentials.js +1 -1
- package/dist/credentials.js.map +1 -1
- package/dist/{backend → engine}/contract.d.ts +27 -19
- package/dist/engine/contract.d.ts.map +1 -0
- package/dist/{backend → engine}/contract.js +18 -18
- package/dist/engine/contract.js.map +1 -0
- package/dist/{backend → engine}/index.d.ts +141 -79
- package/dist/engine/index.d.ts.map +1 -0
- package/dist/{backend → engine}/index.js +62 -37
- package/dist/engine/index.js.map +1 -0
- package/dist/engine/session.d.ts +23 -0
- package/dist/engine/session.d.ts.map +1 -0
- package/dist/{backend → engine}/session.js +58 -51
- package/dist/engine/session.js.map +1 -0
- package/dist/{backend → engine}/surface.d.ts +11 -11
- package/dist/engine/surface.d.ts.map +1 -0
- package/dist/{backend → engine}/surface.js +2 -2
- package/dist/engine/surface.js.map +1 -0
- package/dist/engine/timing.d.ts.map +1 -0
- package/dist/engine/timing.js +8 -0
- package/dist/engine/timing.js.map +1 -0
- package/dist/expect/async.d.ts +1 -1
- package/dist/expect/async.d.ts.map +1 -1
- package/dist/expect/async.js +37 -1
- package/dist/expect/async.js.map +1 -1
- package/dist/expect/index.js +1 -1
- package/dist/expect/values.d.ts +1 -1
- package/dist/expect/values.d.ts.map +1 -1
- package/dist/expect/values.js +1 -1
- package/dist/expect/values.js.map +1 -1
- package/dist/index.d.ts +3 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -5
- package/dist/index.js.map +1 -1
- package/dist/internal/brands.d.ts +1 -1
- package/dist/internal/brands.d.ts.map +1 -1
- package/dist/internal/brands.js +1 -1
- package/dist/internal/brands.js.map +1 -1
- package/dist/internal/errors.d.ts +37 -19
- package/dist/internal/errors.d.ts.map +1 -1
- package/dist/internal/errors.js +94 -44
- package/dist/internal/errors.js.map +1 -1
- package/dist/internal/globs.d.ts +2 -2
- package/dist/internal/globs.d.ts.map +1 -1
- package/dist/internal/globs.js +2 -2
- package/dist/internal/globs.js.map +1 -1
- package/dist/internal/ids.d.ts +3 -3
- package/dist/internal/ids.d.ts.map +1 -1
- package/dist/internal/ids.js +3 -3
- package/dist/internal/ids.js.map +1 -1
- package/dist/internal/node-version.d.ts +10 -0
- package/dist/internal/node-version.d.ts.map +1 -0
- package/dist/internal/node-version.js +28 -0
- package/dist/internal/node-version.js.map +1 -0
- package/dist/internal/objects.d.ts +21 -0
- package/dist/internal/objects.d.ts.map +1 -0
- package/dist/internal/objects.js +14 -0
- package/dist/internal/objects.js.map +1 -0
- package/dist/internal/package-manager.d.ts +10 -0
- package/dist/internal/package-manager.d.ts.map +1 -0
- package/dist/internal/package-manager.js +43 -0
- package/dist/internal/package-manager.js.map +1 -0
- package/dist/internal/redact.d.ts +1 -1
- package/dist/internal/redact.d.ts.map +1 -1
- package/dist/internal/redact.js +1 -1
- package/dist/internal/redact.js.map +1 -1
- package/dist/internal/suggest.d.ts +16 -0
- package/dist/internal/suggest.d.ts.map +1 -0
- package/dist/internal/suggest.js +61 -0
- package/dist/internal/suggest.js.map +1 -0
- package/dist/internal/text.d.ts +1 -1
- package/dist/internal/text.d.ts.map +1 -1
- package/dist/internal/text.js +1 -1
- package/dist/internal/text.js.map +1 -1
- package/dist/internal/urls.d.ts +3 -3
- package/dist/internal/urls.d.ts.map +1 -1
- package/dist/internal/urls.js +8 -3
- package/dist/internal/urls.js.map +1 -1
- package/dist/locator/engine.d.ts +7 -7
- package/dist/locator/engine.d.ts.map +1 -1
- package/dist/locator/engine.js +14 -14
- package/dist/locator/engine.js.map +1 -1
- package/dist/locator/expression.d.ts +5 -3
- package/dist/locator/expression.d.ts.map +1 -1
- package/dist/locator/expression.js +25 -5
- package/dist/locator/expression.js.map +1 -1
- package/dist/locator/screen.d.ts +1 -1
- package/dist/locator/screen.d.ts.map +1 -1
- package/dist/locator/screen.js +3 -3
- package/dist/locator/screen.js.map +1 -1
- package/dist/report/build.d.ts +10 -9
- package/dist/report/build.d.ts.map +1 -1
- package/dist/report/build.js +25 -22
- package/dist/report/build.js.map +1 -1
- package/dist/report/code-frame.d.ts +8 -4
- package/dist/report/code-frame.d.ts.map +1 -1
- package/dist/report/code-frame.js +23 -18
- package/dist/report/code-frame.js.map +1 -1
- package/dist/report/debug-steps.js +1 -1
- package/dist/report/debug-steps.js.map +1 -1
- package/dist/report/format.d.ts +73 -0
- package/dist/report/format.d.ts.map +1 -0
- package/dist/report/format.js +147 -0
- package/dist/report/format.js.map +1 -0
- package/dist/report/junit.d.ts +1 -1
- package/dist/report/junit.d.ts.map +1 -1
- package/dist/report/junit.js +1 -1
- package/dist/report/junit.js.map +1 -1
- package/dist/report/list.d.ts +96 -47
- package/dist/report/list.d.ts.map +1 -1
- package/dist/report/list.js +489 -244
- package/dist/report/list.js.map +1 -1
- package/dist/report/live-window.d.ts +28 -0
- package/dist/report/live-window.d.ts.map +1 -0
- package/dist/report/live-window.js +102 -0
- package/dist/report/live-window.js.map +1 -0
- package/dist/report/write.d.ts +1 -1
- package/dist/report/write.d.ts.map +1 -1
- package/dist/report/write.js +1 -1
- package/dist/report/write.js.map +1 -1
- package/dist/run/budget.d.ts +2 -2
- package/dist/run/budget.js +2 -2
- package/dist/run/declared-processes.d.ts +30 -0
- package/dist/run/declared-processes.d.ts.map +1 -0
- package/dist/run/declared-processes.js +61 -0
- package/dist/run/declared-processes.js.map +1 -0
- package/dist/run/events.d.ts +30 -2
- package/dist/run/events.d.ts.map +1 -1
- package/dist/run/events.js.map +1 -1
- package/dist/run/execute.d.ts +19 -16
- package/dist/run/execute.d.ts.map +1 -1
- package/dist/run/execute.js +65 -67
- package/dist/run/execute.js.map +1 -1
- package/dist/run/fixture-recording.d.ts +10 -4
- package/dist/run/fixture-recording.d.ts.map +1 -1
- package/dist/run/fixture-recording.js +19 -6
- package/dist/run/fixture-recording.js.map +1 -1
- package/dist/run/fixtures.d.ts +2 -2
- package/dist/run/fixtures.d.ts.map +1 -1
- package/dist/run/fixtures.js +72 -44
- package/dist/run/fixtures.js.map +1 -1
- package/dist/run/in-process.d.ts +1 -1
- package/dist/run/in-process.js +1 -1
- package/dist/run/managed-process.d.ts +46 -9
- package/dist/run/managed-process.d.ts.map +1 -1
- package/dist/run/managed-process.js +136 -50
- package/dist/run/managed-process.js.map +1 -1
- package/dist/run/realm.d.ts +2 -2
- package/dist/run/realm.js +2 -2
- package/dist/run/runner.d.ts +23 -1
- package/dist/run/runner.d.ts.map +1 -1
- package/dist/run/runner.js +111 -40
- package/dist/run/runner.js.map +1 -1
- package/dist/run/scheduler.d.ts +5 -5
- package/dist/run/scheduler.d.ts.map +1 -1
- package/dist/run/scheduler.js +7 -7
- package/dist/run/scheduler.js.map +1 -1
- package/dist/run/serial.d.ts +10 -2
- package/dist/run/serial.d.ts.map +1 -1
- package/dist/run/serial.js +5 -3
- package/dist/run/serial.js.map +1 -1
- package/dist/run/sessions.d.ts +10 -10
- package/dist/run/sessions.d.ts.map +1 -1
- package/dist/run/sessions.js +11 -11
- package/dist/run/sessions.js.map +1 -1
- package/dist/run/steps.d.ts +3 -3
- package/dist/run/steps.d.ts.map +1 -1
- package/dist/run/steps.js +1 -1
- package/dist/run/steps.js.map +1 -1
- package/dist/run/units.d.ts +1 -1
- package/dist/run/units.js +1 -1
- package/dist/run/worker/entry.d.ts +1 -1
- package/dist/run/worker/entry.js +2 -2
- package/dist/run/worker/entry.js.map +1 -1
- package/dist/run/worker/protocol.d.ts +18 -6
- package/dist/run/worker/protocol.d.ts.map +1 -1
- package/dist/run/worker/protocol.js +1 -1
- package/dist/run/worker/protocol.js.map +1 -1
- package/dist/run/worker/session.d.ts +2 -2
- package/dist/run/worker/session.d.ts.map +1 -1
- package/dist/run/worker/session.js +5 -3
- package/dist/run/worker/session.js.map +1 -1
- package/dist/types.d.ts +58 -41
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +2 -2
- package/package.json +13 -12
- package/skills/e2e/SKILL.md +110 -0
- package/skills/e2e/references/agent.md +210 -0
- package/skills/e2e/references/debugging.md +81 -0
- package/skills/e2e/references/running.md +153 -0
- package/skills/e2e/references/setup.md +238 -0
- package/skills/e2e/references/writing-tests.md +289 -0
- package/dist/backend/contract.d.ts.map +0 -1
- package/dist/backend/contract.js.map +0 -1
- package/dist/backend/index.d.ts.map +0 -1
- package/dist/backend/index.js.map +0 -1
- package/dist/backend/session.d.ts +0 -23
- package/dist/backend/session.d.ts.map +0 -1
- package/dist/backend/session.js.map +0 -1
- package/dist/backend/surface.d.ts.map +0 -1
- package/dist/backend/surface.js.map +0 -1
- package/dist/backend/timing.d.ts.map +0 -1
- package/dist/backend/timing.js +0 -8
- package/dist/backend/timing.js.map +0 -1
- package/dist/cli/init/backends.d.ts.map +0 -1
- package/dist/cli/init/backends.js.map +0 -1
- package/dist/report/live-status.d.ts +0 -51
- package/dist/report/live-status.d.ts.map +0 -1
- package/dist/report/live-status.js +0 -163
- package/dist/report/live-status.js.map +0 -1
- package/dist/run/fixture-legacy.d.ts +0 -36
- package/dist/run/fixture-legacy.d.ts.map +0 -1
- package/dist/run/fixture-legacy.js +0 -143
- package/dist/run/fixture-legacy.js.map +0 -1
- /package/dist/{backend → engine}/timing.d.ts +0 -0
package/dist/collect/select.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
/** Option resolution and test-target selection
|
|
1
|
+
/** Option resolution and test-target selection. */
|
|
2
2
|
import { ConfigurationError, CollectionError } from '../internal/errors.js';
|
|
3
|
+
import { didYouMean, suggest } from '../internal/suggest.js';
|
|
3
4
|
import { groupChain } from './registry.js';
|
|
4
5
|
/** Resolves effective options: test > nearest group > outer groups > config > default. */
|
|
5
6
|
export function resolveOptions(test, config) {
|
|
@@ -73,9 +74,10 @@ export function select(collection, config, filters = {}, flags = {}) {
|
|
|
73
74
|
? config.targets
|
|
74
75
|
: config.targets.filter((target) => filters.targetIds.includes(target.name));
|
|
75
76
|
if (filters.targetIds !== undefined) {
|
|
77
|
+
const names = config.targets.map((target) => target.name);
|
|
76
78
|
for (const id of filters.targetIds) {
|
|
77
|
-
if (!
|
|
78
|
-
throw new ConfigurationError('UNKNOWN_TARGET', `unknown target ID "${id}"`);
|
|
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)}`);
|
|
79
81
|
}
|
|
80
82
|
}
|
|
81
83
|
}
|
|
@@ -99,7 +101,7 @@ export function select(collection, config, filters = {}, flags = {}) {
|
|
|
99
101
|
const withSessions = applySessionSelection(withClosure, sessionProducers);
|
|
100
102
|
const runnableOrdinary = withSessions.filter((pair) => pair.disposition === 'run' && pair.test.kind === 'test');
|
|
101
103
|
if (runnableOrdinary.length === 0 && flags.passWithNoTests !== true) {
|
|
102
|
-
throw new ConfigurationError('NO_TESTS',
|
|
104
|
+
throw new ConfigurationError('NO_TESTS', `${describeNoTests(collection, config, filters, withSessions)}; pass --pass-with-no-tests to allow this`);
|
|
103
105
|
}
|
|
104
106
|
return {
|
|
105
107
|
pairs: withSessions,
|
|
@@ -109,6 +111,77 @@ export function select(collection, config, filters = {}, flags = {}) {
|
|
|
109
111
|
})),
|
|
110
112
|
};
|
|
111
113
|
}
|
|
114
|
+
/** At most this many file names are spelled out in a `NO_TESTS` message. */
|
|
115
|
+
const MAX_NAMED_FILES = 3;
|
|
116
|
+
function nameFiles(files) {
|
|
117
|
+
const shown = files.slice(0, MAX_NAMED_FILES).join(', ');
|
|
118
|
+
const rest = files.length - MAX_NAMED_FILES;
|
|
119
|
+
return rest > 0 ? `${shown} and ${rest} more` : shown;
|
|
120
|
+
}
|
|
121
|
+
/**
|
|
122
|
+
* Why nothing is runnable, told from the most upstream cause: the globs
|
|
123
|
+
* matched no file (naming look-alike files when there are any), a positional
|
|
124
|
+
* selected none, the files registered no tests, or every collected test was
|
|
125
|
+
* filtered or skipped. Each ends where the author's next edit goes.
|
|
126
|
+
*/
|
|
127
|
+
function describeNoTests(collection, config, filters, pairs) {
|
|
128
|
+
const { discovered, nearMisses, unmatchedPositionals, files, tests } = collection;
|
|
129
|
+
if (discovered.length === 0) {
|
|
130
|
+
const globs = config.tests.map((glob) => `"${glob}"`).join(', ');
|
|
131
|
+
const where = `no test file matched ${globs} under ${config.projectRoot}`;
|
|
132
|
+
if (nearMisses.length > 0) {
|
|
133
|
+
return `${where}; found ${nameFiles(nearMisses)}, which the pattern does not match: rename to *.e2e.ts, or set tests in the config to a glob that matches`;
|
|
134
|
+
}
|
|
135
|
+
return `${where}; create tests/example.e2e.ts (e2e init writes one), or set tests in the config`;
|
|
136
|
+
}
|
|
137
|
+
if (files.length === 0 && unmatchedPositionals.length > 0) {
|
|
138
|
+
const named = unmatchedPositionals
|
|
139
|
+
.map((positional) => {
|
|
140
|
+
const match = suggest(positional, discovered);
|
|
141
|
+
return match === undefined ? positional : `${positional} (did you mean ${match}?)`;
|
|
142
|
+
})
|
|
143
|
+
.join(', ');
|
|
144
|
+
return `no test file matched ${named}; the config globs discovered ${nameFiles(discovered)}`;
|
|
145
|
+
}
|
|
146
|
+
if (tests.length === 0) {
|
|
147
|
+
const named = nameFiles(files.map((file) => file.file));
|
|
148
|
+
return `${named} registered no tests; import { test } from '@e2edev/e2e' (or from the engine package) and call test() at the top level of the module`;
|
|
149
|
+
}
|
|
150
|
+
const reasons = new Map();
|
|
151
|
+
const count = (reason, test) => {
|
|
152
|
+
const ids = reasons.get(reason) ?? new Set();
|
|
153
|
+
ids.add(test.id);
|
|
154
|
+
reasons.set(reason, ids);
|
|
155
|
+
};
|
|
156
|
+
for (const pair of pairs) {
|
|
157
|
+
if (pair.disposition === 'run' && pair.test.kind === 'test')
|
|
158
|
+
continue;
|
|
159
|
+
if (pair.test.kind === 'setup') {
|
|
160
|
+
count('setup tests, which run only for the sessions selected tests need', pair.test);
|
|
161
|
+
continue;
|
|
162
|
+
}
|
|
163
|
+
switch (pair.skip?.cause) {
|
|
164
|
+
case 'explicit':
|
|
165
|
+
count('skipped with test.skip', pair.test);
|
|
166
|
+
break;
|
|
167
|
+
case 'platform-unavailable':
|
|
168
|
+
count(`declare platforms other than ${pair.target.platform}`, pair.test);
|
|
169
|
+
break;
|
|
170
|
+
case 'capability-unavailable':
|
|
171
|
+
count('require capabilities the engine lacks', pair.test);
|
|
172
|
+
break;
|
|
173
|
+
case 'filtered':
|
|
174
|
+
count(filters.tags !== undefined && filters.tags.length > 0
|
|
175
|
+
? `carry none of the tags ${filters.tags.join(', ')}`
|
|
176
|
+
: pair.skip.reason, pair.test);
|
|
177
|
+
break;
|
|
178
|
+
default:
|
|
179
|
+
count('unselected', pair.test);
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
const summary = [...reasons].map(([reason, ids]) => `${ids.size} ${reason}`).join(', ');
|
|
183
|
+
return `${tests.length} tests were collected but none is runnable: ${summary}`;
|
|
184
|
+
}
|
|
112
185
|
/** Maps each session name to its unique producer setup test. */
|
|
113
186
|
function collectSessionProducers(tests) {
|
|
114
187
|
const producers = new Map();
|
|
@@ -153,10 +226,10 @@ function classifyPair(test, target, options, focused, filters, tagMode) {
|
|
|
153
226
|
},
|
|
154
227
|
};
|
|
155
228
|
}
|
|
156
|
-
// Targets are graded from the
|
|
229
|
+
// Targets are graded from the engine's declared capability set: harness
|
|
157
230
|
// tiers plus one name per contributed fixture. Selection runs at config
|
|
158
|
-
// load, before any
|
|
159
|
-
const capabilities = target.
|
|
231
|
+
// load, before any engine boots, which is why the manifest is synchronous.
|
|
232
|
+
const capabilities = target.engine?.capabilities;
|
|
160
233
|
const missing = options.requires.filter((capability) => capabilities?.has(capability) !== true);
|
|
161
234
|
if (missing.length > 0) {
|
|
162
235
|
return {
|
|
@@ -164,7 +237,7 @@ function classifyPair(test, target, options, focused, filters, tagMode) {
|
|
|
164
237
|
disposition: 'skip',
|
|
165
238
|
skip: {
|
|
166
239
|
cause: 'capability-unavailable',
|
|
167
|
-
reason: `
|
|
240
|
+
reason: `engine lacks required capabilities: ${missing.join(', ')}`,
|
|
168
241
|
},
|
|
169
242
|
};
|
|
170
243
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"select.js","sourceRoot":"","sources":["../../src/collect/select.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"select.js","sourceRoot":"","sources":["../../src/collect/select.ts"],"names":[],"mappings":"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"}
|
package/dist/config/agent.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
/** Agent, model, and resource-limit resolution
|
|
1
|
+
/** Agent, model, and resource-limit resolution. */
|
|
2
2
|
import type { LanguageModel } from 'ai';
|
|
3
3
|
import { type StepExecutor } from '../agent/executor.ts';
|
|
4
|
-
import type { E2EConfig, ModelInstance, VisionMode } from '../types.ts';
|
|
4
|
+
import type { E2EConfig, ModelInstance, ProviderOptions, VisionMode } from '../types.ts';
|
|
5
5
|
/** Gateway-native credential variable, used when apiKeyEnv holds no value. */
|
|
6
6
|
export declare const GATEWAY_API_KEY_ENV = "AI_GATEWAY_API_KEY";
|
|
7
7
|
/** A live AI SDK language model, as accepted by `generateText`. */
|
|
@@ -24,6 +24,12 @@ export type ResolvedModel = {
|
|
|
24
24
|
/** Absolute endpoint override, or undefined for the gateway default. */
|
|
25
25
|
readonly endpoint: string | undefined;
|
|
26
26
|
readonly apiKeyEnv: string;
|
|
27
|
+
/**
|
|
28
|
+
* The variable the credential was read from: `apiKeyEnv`, else the
|
|
29
|
+
* gateway's own `AI_GATEWAY_API_KEY`. A name, never a value, so a
|
|
30
|
+
* rejected credential can be reported by where it came from.
|
|
31
|
+
*/
|
|
32
|
+
readonly apiKeySource: string | undefined;
|
|
27
33
|
/** Resolved credential; absence fails at the first model call, not here. */
|
|
28
34
|
readonly apiKey: string | undefined;
|
|
29
35
|
} | {
|
|
@@ -55,6 +61,12 @@ export interface ResolvedAgentConfig {
|
|
|
55
61
|
readonly context: string | undefined;
|
|
56
62
|
/** Default for the per-call `vision` option; a per-call value always wins. */
|
|
57
63
|
readonly vision: VisionMode;
|
|
64
|
+
/**
|
|
65
|
+
* Provider options sent with every model call, judgments included. This is
|
|
66
|
+
* how a reasoning model's effort is lowered project-wide; an executor that
|
|
67
|
+
* carries its own options keeps them.
|
|
68
|
+
*/
|
|
69
|
+
readonly providerOptions: ProviderOptions | undefined;
|
|
58
70
|
}
|
|
59
71
|
export interface ResolvedLimits {
|
|
60
72
|
readonly maxAgentContextBytes: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../src/config/agent.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../src/config/agent.ts"],"names":[],"mappings":"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"}
|
package/dist/config/agent.js
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
/** Agent, model, and resource-limit resolution
|
|
1
|
+
/** Agent, model, and resource-limit resolution. */
|
|
2
2
|
import { isStepExecutor } from '../agent/executor.js';
|
|
3
3
|
import { boundedInt } from './validate.js';
|
|
4
4
|
import { ConfigurationError } from '../internal/errors.js';
|
|
5
|
+
import { didYouMean } from '../internal/suggest.js';
|
|
5
6
|
import { isLoopbackHost } from '../internal/urls.js';
|
|
6
7
|
/** Default environment variable holding the provider credential. */
|
|
7
8
|
const DEFAULT_API_KEY_ENV = 'E2E_MODEL_API_KEY';
|
|
@@ -16,12 +17,13 @@ const AGENT_KEYS = new Set([
|
|
|
16
17
|
'maxObservationBytes',
|
|
17
18
|
'context',
|
|
18
19
|
'vision',
|
|
20
|
+
'providerOptions',
|
|
19
21
|
]);
|
|
20
22
|
const MODEL_KEYS = new Set(['provider', 'id', 'endpoint', 'apiKeyEnv']);
|
|
21
23
|
/** Default observation byte budget, shared with the report's pre-config fallback limits. */
|
|
22
24
|
export const DEFAULT_OBSERVATION_BYTES = 1_048_576;
|
|
23
25
|
const ENV_NAME_PATTERN = /^[A-Za-z_][A-Za-z0-9_]*$/;
|
|
24
|
-
/** Hard ceilings mirroring
|
|
26
|
+
/** Hard ceilings mirroring `schema/report-v1.schema.json` `limits`. */
|
|
25
27
|
const LIMIT_BOUNDS = {
|
|
26
28
|
maxAgentContextBytes: [1_024, 65_536, 16_384],
|
|
27
29
|
maxLedgerBytes: [1_024, 65_536, 8_192],
|
|
@@ -35,7 +37,7 @@ const LIMIT_BOUNDS = {
|
|
|
35
37
|
*/
|
|
36
38
|
export function resolveAgentConfig(raw, env, ci, limits) {
|
|
37
39
|
const value = raw.agent;
|
|
38
|
-
// Three accepted shapes
|
|
40
|
+
// Three accepted shapes: the agent itself, an options object, or
|
|
39
41
|
// an options object carrying `executor` — a custom brain no longer forfeits
|
|
40
42
|
// the model, budgets, or context.
|
|
41
43
|
const bare = value !== undefined && isStepExecutor(value) ? value : undefined;
|
|
@@ -47,7 +49,7 @@ export function resolveAgentConfig(raw, env, ci, limits) {
|
|
|
47
49
|
}
|
|
48
50
|
for (const key of Object.keys(agent)) {
|
|
49
51
|
if (!AGENT_KEYS.has(key)) {
|
|
50
|
-
throw new ConfigurationError('INVALID_CONFIG', `unknown agent config key "${key}"`);
|
|
52
|
+
throw new ConfigurationError('INVALID_CONFIG', `unknown agent config key "${key}"${didYouMean(key, [...AGENT_KEYS])}`);
|
|
51
53
|
}
|
|
52
54
|
}
|
|
53
55
|
if (agent.executor !== undefined) {
|
|
@@ -75,8 +77,30 @@ export function resolveAgentConfig(raw, env, ci, limits) {
|
|
|
75
77
|
maxObservationBytes,
|
|
76
78
|
context,
|
|
77
79
|
vision,
|
|
80
|
+
providerOptions: resolveProviderOptions(agent?.providerOptions),
|
|
78
81
|
};
|
|
79
82
|
}
|
|
83
|
+
/**
|
|
84
|
+
* Validates `agent.providerOptions`: a record of provider names to option
|
|
85
|
+
* records, the shape the AI SDK reads. Option values are the provider's own
|
|
86
|
+
* business and pass through untouched.
|
|
87
|
+
*/
|
|
88
|
+
function resolveProviderOptions(value) {
|
|
89
|
+
if (value === undefined)
|
|
90
|
+
return undefined;
|
|
91
|
+
if (!isPlainObject(value)) {
|
|
92
|
+
throw new ConfigurationError('INVALID_CONFIG', 'agent.providerOptions must be an object keyed by provider name');
|
|
93
|
+
}
|
|
94
|
+
for (const [provider, options] of Object.entries(value)) {
|
|
95
|
+
if (!isPlainObject(options)) {
|
|
96
|
+
throw new ConfigurationError('INVALID_CONFIG', `agent.providerOptions.${provider} must be an object of provider options`);
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
return value;
|
|
100
|
+
}
|
|
101
|
+
function isPlainObject(value) {
|
|
102
|
+
return typeof value === 'object' && value !== null && !Array.isArray(value);
|
|
103
|
+
}
|
|
80
104
|
/** Resolves the `limits` block. The observation budget is attached by the caller. */
|
|
81
105
|
export function resolveLimits(raw) {
|
|
82
106
|
const limits = raw.limits;
|
|
@@ -86,7 +110,7 @@ export function resolveLimits(raw) {
|
|
|
86
110
|
}
|
|
87
111
|
for (const key of Object.keys(limits)) {
|
|
88
112
|
if (!(key in LIMIT_BOUNDS)) {
|
|
89
|
-
throw new ConfigurationError('INVALID_CONFIG', `unknown limits key "${key}"`);
|
|
113
|
+
throw new ConfigurationError('INVALID_CONFIG', `unknown limits key "${key}"${didYouMean(key, Object.keys(LIMIT_BOUNDS))}`);
|
|
90
114
|
}
|
|
91
115
|
}
|
|
92
116
|
}
|
|
@@ -157,7 +181,7 @@ function resolveModel(model, env, label = 'agent.model', envName = 'E2E_MODEL')
|
|
|
157
181
|
}
|
|
158
182
|
for (const key of Object.keys(model)) {
|
|
159
183
|
if (!MODEL_KEYS.has(key)) {
|
|
160
|
-
throw new ConfigurationError('INVALID_CONFIG', `unknown ${label} key "${key}"`);
|
|
184
|
+
throw new ConfigurationError('INVALID_CONFIG', `unknown ${label} key "${key}"${didYouMean(key, [...MODEL_KEYS])}`);
|
|
161
185
|
}
|
|
162
186
|
}
|
|
163
187
|
const provider = requireNonEmpty(model.provider, `${label}.provider`);
|
|
@@ -174,19 +198,20 @@ function parseModelReference(reference, label, env) {
|
|
|
174
198
|
}
|
|
175
199
|
function gatewayModel(provider, id, endpoint, apiKeyEnv, env, label) {
|
|
176
200
|
const keyEnv = validateApiKeyEnv(apiKeyEnv, label);
|
|
177
|
-
const
|
|
201
|
+
const apiKeySource = [keyEnv, GATEWAY_API_KEY_ENV].find((name) => {
|
|
202
|
+
const value = env[name];
|
|
203
|
+
return value !== undefined && value.trim() !== '';
|
|
204
|
+
});
|
|
178
205
|
return {
|
|
179
206
|
kind: 'gateway',
|
|
180
207
|
provider,
|
|
181
208
|
id,
|
|
182
209
|
endpoint: validateEndpoint(endpoint, label),
|
|
183
210
|
apiKeyEnv: keyEnv,
|
|
184
|
-
|
|
211
|
+
apiKeySource,
|
|
212
|
+
apiKey: apiKeySource === undefined ? undefined : env[apiKeySource],
|
|
185
213
|
};
|
|
186
214
|
}
|
|
187
|
-
function firstNonEmpty(...values) {
|
|
188
|
-
return values.find((value) => value !== undefined && value.trim() !== '');
|
|
189
|
-
}
|
|
190
215
|
function validateEndpoint(endpoint, label) {
|
|
191
216
|
if (endpoint === undefined)
|
|
192
217
|
return undefined;
|
package/dist/config/agent.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent.js","sourceRoot":"","sources":["../../src/config/agent.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"agent.js","sourceRoot":"","sources":["../../src/config/agent.ts"],"names":[],"mappings":"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"}
|
package/dist/config/app.d.ts
CHANGED
|
@@ -1,6 +1,10 @@
|
|
|
1
|
-
/**
|
|
1
|
+
/**
|
|
2
|
+
* Per-target app resolution: what an engine declares
|
|
3
|
+
* about the app it drives, validated where an error can name the target.
|
|
4
|
+
*/
|
|
5
|
+
import type { EngineAppDeclaration, EngineHandle } from '../engine/index.ts';
|
|
2
6
|
import { type NormalizedBaseUrl } from '../internal/urls.ts';
|
|
3
|
-
import type {
|
|
7
|
+
import type { CommandConfig } from '../types.ts';
|
|
4
8
|
/**
|
|
5
9
|
* How a spawned process counts as ready: a URL that answers, or the process
|
|
6
10
|
* itself exiting with code 0 (a migration, `docker compose up --wait`).
|
|
@@ -15,36 +19,89 @@ export interface ResolvedCommand {
|
|
|
15
19
|
readonly label: string;
|
|
16
20
|
readonly command: CommandConfig;
|
|
17
21
|
}
|
|
18
|
-
/** One
|
|
22
|
+
/** One declared service with its readiness contract already decided. */
|
|
19
23
|
export interface ResolvedService extends ResolvedCommand {
|
|
24
|
+
/** The explicit `name`, trimmed; undefined when the label fell back to the executable. */
|
|
25
|
+
readonly name: string | undefined;
|
|
20
26
|
readonly readiness: Readiness;
|
|
21
27
|
readonly teardown: ResolvedCommand | undefined;
|
|
22
28
|
}
|
|
29
|
+
/**
|
|
30
|
+
* The app one target drives, as the harness resolved the engine's `app`
|
|
31
|
+
* declaration. Navigation policy, cache and session identity, the report's
|
|
32
|
+
* target record, and the app processes all read from here; a target without a
|
|
33
|
+
* engine, or whose engine declares nothing, gets the empty resolution.
|
|
34
|
+
*/
|
|
23
35
|
export interface ResolvedApp {
|
|
24
|
-
/**
|
|
25
|
-
readonly
|
|
26
|
-
readonly base: NormalizedBaseUrl;
|
|
27
|
-
readonly readyUrl: string;
|
|
36
|
+
/** Normalized base URL; undefined for a surface without addressable locations. */
|
|
37
|
+
readonly base: NormalizedBaseUrl | undefined;
|
|
28
38
|
readonly allowedOrigins: readonly string[];
|
|
29
39
|
readonly environment: 'test' | 'staging' | 'production';
|
|
40
|
+
/**
|
|
41
|
+
* Stable identity keying cache and session entries: the declared identity,
|
|
42
|
+
* else the base URL's origin and path. Undefined when the engine declares
|
|
43
|
+
* neither, so entries key on the target and environment alone.
|
|
44
|
+
*/
|
|
45
|
+
readonly identity: string | undefined;
|
|
30
46
|
readonly command: CommandConfig | undefined;
|
|
31
|
-
/**
|
|
47
|
+
/** Readiness probe for `command`; defined whenever `command` is. */
|
|
48
|
+
readonly readyUrl: string | undefined;
|
|
49
|
+
/** Dependency processes started in order before any app command and torn down in reverse. */
|
|
32
50
|
readonly services: readonly ResolvedService[];
|
|
33
|
-
/** Stable logical app identity; overrides the origin for cache/session keying. */
|
|
34
|
-
readonly identity: string | undefined;
|
|
35
51
|
}
|
|
36
|
-
export declare function resolveApp(raw: E2EConfig, env: NodeJS.ProcessEnv): ResolvedApp;
|
|
37
52
|
/**
|
|
38
|
-
* Resolves
|
|
39
|
-
*
|
|
53
|
+
* Resolves one target's app from its engine's `app` declaration. Every fact
|
|
54
|
+
* is optional: a URL normalizes like any base URL, origins must be serialized
|
|
55
|
+
* origins, a command needs something to poll, services need one readiness
|
|
56
|
+
* contract each, and the identity defaults to where the app is served when
|
|
57
|
+
* the engine gives none. `projectRoot` anchors every command's `log` path.
|
|
58
|
+
*/
|
|
59
|
+
export declare function resolveTargetApp(targetName: string, engine: EngineHandle | undefined, projectRoot: string): ResolvedApp;
|
|
60
|
+
/**
|
|
61
|
+
* Resolves a declaration's `services`: every service is a command with exactly
|
|
62
|
+
* one readiness contract (`readyUrl` or `waitForExit`), and a `teardown` is a
|
|
40
63
|
* command of its own. The service fields that only steer the runner
|
|
41
|
-
* (`readyUrl`, `waitForExit`, `teardown`) are lifted out of the
|
|
64
|
+
* (`name`, `readyUrl`, `waitForExit`, `teardown`) are lifted out of the
|
|
65
|
+
* command; `reuseExisting` stays on it, and only a `readyUrl` service may set it.
|
|
66
|
+
* `projectRoot` anchors each `log` path; `prefix` names the declaring target
|
|
67
|
+
* in errors, so a failing service is traceable to the engine that declared it.
|
|
42
68
|
*/
|
|
43
|
-
export declare function resolveServices(raw:
|
|
69
|
+
export declare function resolveServices(raw: EngineAppDeclaration['services'], projectRoot: string, prefix?: string): readonly ResolvedService[];
|
|
70
|
+
/** A command's env as it enters the config digest: values reduced to their names. */
|
|
71
|
+
interface DigestedEnv {
|
|
72
|
+
readonly env?: Readonly<Record<string, {
|
|
73
|
+
envName: string;
|
|
74
|
+
}>>;
|
|
75
|
+
}
|
|
44
76
|
/**
|
|
45
|
-
* The
|
|
46
|
-
*
|
|
47
|
-
*
|
|
77
|
+
* The declarative part of an engine's `app` manifest as it enters the config
|
|
78
|
+
* digest: hooks stripped, and every `command.env`, service env, and service
|
|
79
|
+
* teardown env value replaced by `{ envName: key }`, so no environment value
|
|
80
|
+
* contributes to the digest.
|
|
48
81
|
*/
|
|
49
|
-
export declare function
|
|
82
|
+
export declare function digestAppDeclaration(app: EngineAppDeclaration): import("../internal/objects.ts").WithoutUndefined<{
|
|
83
|
+
url: string | undefined;
|
|
84
|
+
allowedOrigins: readonly string[] | undefined;
|
|
85
|
+
environment: "production" | "staging" | "test" | undefined;
|
|
86
|
+
identity: string | undefined;
|
|
87
|
+
readyUrl: string | undefined;
|
|
88
|
+
command: (Omit<CommandConfig, "env"> & DigestedEnv) | undefined;
|
|
89
|
+
services: import("../internal/objects.ts").WithoutUndefined<{
|
|
90
|
+
executable: string;
|
|
91
|
+
args?: readonly string[];
|
|
92
|
+
cwd?: string;
|
|
93
|
+
startupTimeout?: number;
|
|
94
|
+
shutdownTimeout?: number;
|
|
95
|
+
log?: string;
|
|
96
|
+
reuseExisting?: boolean;
|
|
97
|
+
name?: string;
|
|
98
|
+
readyUrl?: string;
|
|
99
|
+
waitForExit?: boolean;
|
|
100
|
+
env?: Readonly<Record<string, {
|
|
101
|
+
envName: string;
|
|
102
|
+
}>>;
|
|
103
|
+
teardown: (Omit<CommandConfig, "env"> & DigestedEnv) | undefined;
|
|
104
|
+
}>[] | undefined;
|
|
105
|
+
}>;
|
|
106
|
+
export {};
|
|
50
107
|
//# sourceMappingURL=app.d.ts.map
|
package/dist/config/app.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../../src/config/app.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../../src/config/app.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,KAAK,EAAE,oBAAoB,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAG7E,OAAO,EAAwC,KAAK,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACnG,OAAO,KAAK,EAAE,aAAa,EAAiB,MAAM,aAAa,CAAC;AAGhE;;;GAGG;AACH,MAAM,MAAM,SAAS,GAAG;IAAE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,QAAQ,CAAC,WAAW,EAAE,IAAI,CAAA;CAAE,CAAC;AAEvF,6DAA6D;AAC7D,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC;CACjC;AAED,wEAAwE;AACxE,MAAM,WAAW,eAAgB,SAAQ,eAAe;IACtD,0FAA0F;IAC1F,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;IAC9B,QAAQ,CAAC,QAAQ,EAAE,eAAe,GAAG,SAAS,CAAC;CAChD;AAED;;;;;GAKG;AACH,MAAM,WAAW,WAAW;IAC1B,kFAAkF;IAClF,QAAQ,CAAC,IAAI,EAAE,iBAAiB,GAAG,SAAS,CAAC;IAC7C,QAAQ,CAAC,cAAc,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3C,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,GAAG,YAAY,CAAC;IACxD;;;;OAIG;IACH,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;IACtC,QAAQ,CAAC,OAAO,EAAE,aAAa,GAAG,SAAS,CAAC;IAC5C,oEAAoE;IACpE,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;IACtC,6FAA6F;IAC7F,QAAQ,CAAC,QAAQ,EAAE,SAAS,eAAe,EAAE,CAAC;CAC/C;AAID;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAC9B,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,YAAY,GAAG,SAAS,EAChC,WAAW,EAAE,MAAM,GAClB,WAAW,CA0Db;AAyGD;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAC7B,GAAG,EAAE,oBAAoB,CAAC,UAAU,CAAC,EACrC,WAAW,EAAE,MAAM,EACnB,MAAM,SAAiB,GACtB,SAAS,eAAe,EAAE,CAiC5B;AAED,qFAAqF;AACrF,UAAU,WAAW;IACnB,QAAQ,CAAC,GAAG,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC,CAAC;CAC9D;AAQD;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,oBAAoB;;;;;;;;;;;;;;;;;;cAf7C,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE;YAAE,OAAO,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;;;GA+B7D"}
|