@unotest/protocol 0.22.0 → 0.24.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/CHANGELOG.md CHANGED
@@ -1,5 +1,91 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.24.0] - 2026-08-26
4
+
5
+ ### Minor Changes
6
+
7
+ - Judge: rendered text, one env namespace, preamble and majority vote.
8
+
9
+ **Breaking (judge env, no aliases).** Every `JUDGE_*` variable of the
10
+ `@unotest/judge` service is now `UNOTEST_JUDGE_*`, matching the client-side
11
+ names `@unotest/web` already used. `@unotest/judge` shipped a day before
12
+ this change with no known installs outside the monorepo, so the rename lands
13
+ without a deprecation window — the window would never be cheaper. Migration:
14
+
15
+ | Old | New |
16
+ | --------------------------- | ------------------------------------------- |
17
+ | `JUDGE_PROVIDER` | `UNOTEST_JUDGE_PROVIDER` |
18
+ | `JUDGE_MODEL` | `UNOTEST_JUDGE_MODEL` |
19
+ | `JUDGE_RETRIES` | `UNOTEST_JUDGE_RETRIES` |
20
+ | `JUDGE_TIMEOUT_MS` | `UNOTEST_JUDGE_CALL_TIMEOUT_MS` |
21
+ | `JUDGE_ACCESS_TOKEN` | `UNOTEST_JUDGE_ACCESS_TOKEN` |
22
+ | `JUDGE_CLAUDE_BIN` | `UNOTEST_JUDGE_CLAUDE_BIN` |
23
+ | `JUDGE_HOST` / `JUDGE_PORT` | `UNOTEST_JUDGE_HOST` / `UNOTEST_JUDGE_PORT` |
24
+ | `JUDGE_TOKEN` | `UNOTEST_JUDGE_TOKEN` |
25
+
26
+ Two names were deliberately not a straight prefixing. The service's per-call
27
+ budget became `UNOTEST_JUDGE_CALL_TIMEOUT_MS` because `UNOTEST_JUDGE_TIMEOUT_MS`
28
+ was already taken by the client's whole-request budget — same family, different
29
+ question. And the service's bearer token merged into the client's
30
+ `UNOTEST_JUDGE_TOKEN`: it is one secret, and in a shared overlay the two ends
31
+ have to carry the same value anyway.
32
+
33
+ **Behavioral fix: rendered text.** `assertJudge` and the DSL query
34
+ `getInnerText(loc)` now read `innerText`, not `textContent`. Both promised
35
+ rendered text and delivered the raw source-order concatenation: line breaks
36
+ gone, `display:none` subtrees and `<script>` contents folded in. A rubric
37
+ about structure ("the answer is three bullets") was unjudgeable, and
38
+ `getInnerText` returned text no user can see. Scenarios that relied on
39
+ hidden text reaching these two functions will now see it excluded.
40
+
41
+ **Vertex fixes.** `google-auth-library` moved from optional peer to a regular
42
+ dependency: as a peer it did not resolve under `npx @unotest/judge` at all,
43
+ which broke the advertised keyless path for anyone who never installs the
44
+ package locally. It is still loaded lazily, so non-vertex runs pay nothing.
45
+ Expired Application Default Credentials now produce
46
+ "run `gcloud auth application-default login`" instead of a raw Google OAuth
47
+ blob, read off the structured response body rather than message text.
48
+
49
+ **New: `UNOTEST_JUDGE_PREAMBLE`** (web side) — text prepended to every rubric
50
+ in the project, for standing context ("the app under test is a support bot,
51
+ Russian UI") that would otherwise be copy-pasted into each rubric. It applies
52
+ in both local and remote mode; a remote judge stays project-agnostic.
53
+
54
+ **New: `UNOTEST_JUDGE_VOTE=N`** (service side, odd N, default 1 = off) — N
55
+ independent calls decided by majority. It replaces `UNOTEST_JUDGE_RETRIES`
56
+ rather than stacking with it: re-asking is a deliberate bias toward `pass`,
57
+ a vote is deliberately symmetric, and running both would quietly restore the
58
+ bias the vote was chosen to remove. Ballots run concurrently, so a vote costs
59
+ N provider calls but roughly one call of wall-clock.
60
+
61
+ **Wire protocol.** New error code `config` on the judge's error responses:
62
+ the service's own setup is broken (bad env, expired credentials) and the
63
+ message carries the fix. `@unotest/web` surfaces it as a `ConfigError`
64
+ instead of burying it as a generic "judge unavailable" fault.
65
+
66
+ ## [0.23.0] - 2026-08-26
67
+
68
+ ### Minor Changes
69
+
70
+ - LLM-judge assertion for free-form text: `assertJudge(locator, rubric)`.
71
+
72
+ - New package `@unotest/judge` — the judge service (`npx @unotest/judge`):
73
+ judges text against a natural-language rubric and returns a structured
74
+ `{verdict, reasoning, model, attempts}`. Providers: `vertex` (Google
75
+ Vertex AI via ADC, no API keys; temperature pinned to 0) and `fake`
76
+ (deterministic, CI-safe). Non-determinism policy lives in the service:
77
+ `JUDGE_RETRIES` re-asks on `fail`, first `pass` wins.
78
+ - `@unotest/web`: new DSL assertion `assertJudge(locator, rubric)` — the
79
+ element's rendered text + the rubric go to the judge; a `fail` verdict
80
+ fails the step with the judge's reasoning. Wired via env so the config
81
+ sits in the `--env` overlay: `UNOTEST_JUDGE_MODE=off|local|remote`,
82
+ `UNOTEST_JUDGE_URL`, `UNOTEST_JUDGE_TOKEN`, `UNOTEST_JUDGE_TIMEOUT_MS`.
83
+ Every verdict (pass and fail) is recorded into the run's `steps.jsonl`.
84
+ Also documented: `shell()` runs with cwd = the project root
85
+ (`sandbox.shellCwd` to override) and returns `{stdout, stderr, code}`.
86
+ - `@unotest/protocol`: judge wire types (`JudgeRequest`, `JudgeVerdict`,
87
+ `JUDGE_ROUTES`) and the new `judge:verdict` run-artifact event.
88
+
3
89
  ## [0.22.0] - 2026-08-26
4
90
 
5
91
  ## [0.21.0] - 2026-08-25
package/dist/index.d.ts CHANGED
@@ -420,6 +420,23 @@ interface ScreenshotEvent extends RunArtifactBase {
420
420
  line?: number;
421
421
  col?: number;
422
422
  }
423
+ /** One `assertJudge` verdict — pass AND fail, so the report explains a
424
+ * green run's judgements too. Unbound to a step (the DSL layer doesn't
425
+ * know source positions); consumers attribute it to the step in flight
426
+ * at emit time, like unbound `screenshot` events. */
427
+ interface JudgeVerdictEvent extends RunArtifactBase {
428
+ kind: "judge:verdict";
429
+ rubric: string;
430
+ /** The judged text (the resolved element's rendered text). */
431
+ text: string;
432
+ verdict: "pass" | "fail";
433
+ /** Judge-produced explanation of the verdict. */
434
+ reasoning: string;
435
+ /** Model id that produced the verdict (`fake` for the fake provider). */
436
+ model: string;
437
+ /** Provider calls the judge's retry policy spent (>= 1). */
438
+ attempts: number;
439
+ }
423
440
  /** Emitted ONCE after a failing run when the runner has finished writing
424
441
  * the D-16 failure bundle to disk. Viewer's inspector reads
425
442
  * `bundlePath` to fetch artifacts (screenshot, semantic DOM, network,
@@ -551,7 +568,7 @@ interface ToolResultEvent extends RunArtifactBase {
551
568
  };
552
569
  }
553
570
  /** Discriminated union of every JSONL event the scenario runner emits. */
554
- type RunArtifact = RunStartedEvent | StepStartedEvent | StepOkEvent | StepFailEvent | ScreenshotEvent | FailureBundleWrittenEvent | PausedEvent | ResumedEvent | LocatorPickedEvent | WheelChangedEvent | ProbeResultEvent | ToolCallEvent | ToolResultEvent | RunFinishedEvent;
571
+ type RunArtifact = RunStartedEvent | StepStartedEvent | StepOkEvent | StepFailEvent | ScreenshotEvent | JudgeVerdictEvent | FailureBundleWrittenEvent | PausedEvent | ResumedEvent | LocatorPickedEvent | WheelChangedEvent | ProbeResultEvent | ToolCallEvent | ToolResultEvent | RunFinishedEvent;
555
572
  interface CollectionRunStartedEvent extends RunArtifactBase {
556
573
  kind: "collection-run:started";
557
574
  runId: RunId;
@@ -1591,4 +1608,68 @@ interface RuntimeStateFile {
1591
1608
  updatedAt: number;
1592
1609
  }
1593
1610
 
1594
- export { type AddVariablePlan, type AddVariablePlanInput, type AppPathPickerSpec, type AppServerEvent, type AuthoringRunRequest, BLOBS_DIR, type BreakpointEntry, type BreakpointsFile, COLLECTIONS_SUBDIR, COLLECTION_NAME_FORBIDDEN_RE, COMMANDS_FILE, type CheckSeverity, type CollectionMeta, type CollectionRunArtifact, type CollectionRunFinishedEvent, type CollectionRunRequest, type CollectionRunStartedEvent, type CollectionRunTab, type CollectionScenarioFinishedEvent, type CollectionScenarioStartedEvent, type CollectionTab, DAY_INDEX_FILE, type DbgCommand, type DbgCommandAbort, type DbgCommandClearBp, type DbgCommandContinue, type DbgCommandKind, type DbgCommandPause, type DbgCommandPickerStart, type DbgCommandPickerStop, type DbgCommandProbe, type DbgCommandRecord, type DbgCommandSetBp, type DbgCommandSnapshot, type DbgCommandStep, type DbgCommandWheel, type DebugCapabilities, type DoctorCheck, type DoctorContext, type DslDiagnostic, type DslValidateContext, type DslVocabArg, type DslVocabCategory, type DslVocabEntry, E2E_SUBDIR, ENV_FILE, EXPECT_FAIL_ANNOTATION, type EnvChangedMessage, type EnvFile, type EnvUpdate, type EnvVar, type ErrorMessage, type FailureBundleWrittenEvent, type FsBreakpointsChangedMessage, type FsCollectionRunStepMessage, type FsCollectionsChangedMessage, type FsHelpersChangedMessage, type FsRunFinishedMessage, type FsRunStartedMessage, type FsRunStepMessage, type FsScenariosChangedMessage, HEARTBEAT_FILE, HELPERS_SUBDIR, type HelperMeta, type HelperTab, type HostRequirement, type IDslLanguageService, type ILaunchedProcess, type IProcessLauncher, type IRunnerAdapter, InvalidBlobHashError, LOCK_FILE, LOG_FILE, type LaunchSpec, type LocatorPickedEvent, type LockFile, type LogLineMessage, type Matcher, PICKER_SNAPSHOT_FILE, type PausedEvent, type PickerMode, type ProbeMatch, type ProbePinned, type ProbeResult, type ProbeResultEvent, RUNNER_CONFIG_KEYS, RUNS_SUBDIR, RUNTIME_FILE, RUN_INDEX_SCHEMA_VERSION, RUN_MANIFEST_FILE, RUN_SOURCES_FILE, type RecordedActionKind, type RegexLiteral, type ResumedEvent, type RunArtifact, type RunFinishedEvent, type RunId, type RunIndexEntry, type RunIndexHeader, type RunKind, type RunManifest, type RunMeta, type RunOutcome, type RunRequest, type RunSources, type RunStartedEvent, type RunStatus, RunnerAdapterNotFoundError, RunnerNotConfiguredError, type RuntimeState, type RuntimeStateFile, SCENARIOS_INDEX_DIR, SCENARIOS_LATEST_FILE, SCENARIO_RECENT_WINDOW, SECRETS_FILE, SEGMENT_NAME_FORBIDDEN_RE, SNAPSHOTS_SUBDIR, STDERR_FILE, STDOUT_FILE, STEPS_FILE, type ScenarioAnnotations, type ScenarioLatestEntry, type ScenarioMeta, type ScenarioRunRequest, type ScenarioRunTab, type ScenarioTab, type ScenariosLatest, type ScenariosPayload, type ScreenshotEvent, type SnapshotTab, type StepFailEvent, type StepOkEvent, type StepStartedEvent, TERMINAL_RUNTIME_STATES, TERMINAL_WS_EVENT, type TabKind, type TabKindName, type TerminalClientMessage, type TerminalCloseMessage, type TerminalDataMessage, type TerminalErrorMessage, type TerminalExitMessage, type TerminalKind, type TerminalOutputMessage, type TerminalResizeMessage, type TerminalServerMessage, type TerminalSpawnMessage, type ToolCallEvent, type ToolResultEvent, UNOTEST_DIR, UnplaceableRunIdError, UnsupportedRunKindError, type VariableCategory, type VariableKind, type VariablePlanError, type WheelChangedEvent, type WsMessage, type WsMessageKind, activeEnvName, blobPathFor, blobRelPathFor, blobRelSegmentsFor, blobsRootFor, categorizeVariable, debugDirFor, debuggerFileFor, deleteShadowWarning, envFileFor, envKeys, envLayerFilesFor, envNamesFromDirListing, foldScenarioRun, insertEnvVar, isAnnotationLine, isExternalVarName, isFailingStatus, isRegexLiteral, isRunnerConfigKey, isRunsDirName, isTerminalRuntimeState, makeRunId, parseAppServerEvent, parseEnvContent, parseScenarioAnnotations, planAddVariable, projectRunDirFor, projectRunsRoot, regexLiteral, removeEnvVar, requireRunDirFor, runDirFor, runIdStartedAt, runsDirFor, sanitizeRunIdSegment, scenarioIndexFileName, scenarioRefFromFileName, secretsFileFor, secretsLayerFilesFor, serializeEnvValue, shardDaysDescending, shardDirFor, shardPathForRunId, shardPathForTimestamp, testDirFor, validateCollectionName, validateSegmentName };
1611
+ /** What the judge is asked to evaluate: free-form text against a natural-
1612
+ * language rubric. */
1613
+ interface JudgeRequest {
1614
+ /** Natural-language pass/fail criteria for `text`. */
1615
+ rubric: string;
1616
+ /** The text under judgement (e.g. a chat reply's rendered text). */
1617
+ text: string;
1618
+ }
1619
+ /** Structured verdict. `reasoning` is the explainability payload — it lands
1620
+ * in steps.jsonl / failure details so a red step is diagnosable without a
1621
+ * re-run. */
1622
+ interface JudgeVerdict {
1623
+ verdict: "pass" | "fail";
1624
+ /** Short model-produced (or fake-provider-produced) explanation. */
1625
+ reasoning: string;
1626
+ /** Model id that produced the verdict (`fake` for the fake provider). */
1627
+ model: string;
1628
+ /** How many provider calls the retry/vote policy spent (>= 1). */
1629
+ attempts: number;
1630
+ }
1631
+ interface JudgeErrorResponse {
1632
+ error: string;
1633
+ /** Machine code for control flow on the client side. `config` = the
1634
+ * operator must fix the service's setup (bad env, expired credentials);
1635
+ * the message says what to run. */
1636
+ code?: "unauthorized" | "bad-request" | "provider-error" | "config" | "internal";
1637
+ }
1638
+ declare const JUDGE_ROUTES: {
1639
+ readonly judge: "/judge";
1640
+ readonly health: "/health";
1641
+ };
1642
+
1643
+ declare const JUDGE_ENV: {
1644
+ /** web: off | local | remote. */
1645
+ readonly mode: "UNOTEST_JUDGE_MODE";
1646
+ /** web: base URL of the service (remote mode). */
1647
+ readonly url: "UNOTEST_JUDGE_URL";
1648
+ /** Bearer token — the service requires it, web sends it. One secret,
1649
+ * one name: in a shared overlay the two ends must match anyway. */
1650
+ readonly token: "UNOTEST_JUDGE_TOKEN";
1651
+ /** web: budget for the whole web→judge request, ms. */
1652
+ readonly requestTimeoutMs: "UNOTEST_JUDGE_TIMEOUT_MS";
1653
+ /** web: text prepended to every rubric (project-wide judging context). */
1654
+ readonly preamble: "UNOTEST_JUDGE_PREAMBLE";
1655
+ /** judge: provider kind. Read by web too — it forwards the value when
1656
+ * running the engine in-process (local mode). */
1657
+ readonly provider: "UNOTEST_JUDGE_PROVIDER";
1658
+ /** judge: model id. */
1659
+ readonly model: "UNOTEST_JUDGE_MODEL";
1660
+ /** judge: budget for ONE provider call, ms. */
1661
+ readonly callTimeoutMs: "UNOTEST_JUDGE_CALL_TIMEOUT_MS";
1662
+ /** judge: extra provider calls on `fail`. */
1663
+ readonly retries: "UNOTEST_JUDGE_RETRIES";
1664
+ /** judge: N-call majority vote (opt-in). */
1665
+ readonly vote: "UNOTEST_JUDGE_VOTE";
1666
+ /** judge: vertex static bearer override (skips ADC). */
1667
+ readonly accessToken: "UNOTEST_JUDGE_ACCESS_TOKEN";
1668
+ /** judge: Claude Code binary override. */
1669
+ readonly claudeBin: "UNOTEST_JUDGE_CLAUDE_BIN";
1670
+ /** judge: bind address. */
1671
+ readonly host: "UNOTEST_JUDGE_HOST";
1672
+ readonly port: "UNOTEST_JUDGE_PORT";
1673
+ };
1674
+
1675
+ export { type AddVariablePlan, type AddVariablePlanInput, type AppPathPickerSpec, type AppServerEvent, type AuthoringRunRequest, BLOBS_DIR, type BreakpointEntry, type BreakpointsFile, COLLECTIONS_SUBDIR, COLLECTION_NAME_FORBIDDEN_RE, COMMANDS_FILE, type CheckSeverity, type CollectionMeta, type CollectionRunArtifact, type CollectionRunFinishedEvent, type CollectionRunRequest, type CollectionRunStartedEvent, type CollectionRunTab, type CollectionScenarioFinishedEvent, type CollectionScenarioStartedEvent, type CollectionTab, DAY_INDEX_FILE, type DbgCommand, type DbgCommandAbort, type DbgCommandClearBp, type DbgCommandContinue, type DbgCommandKind, type DbgCommandPause, type DbgCommandPickerStart, type DbgCommandPickerStop, type DbgCommandProbe, type DbgCommandRecord, type DbgCommandSetBp, type DbgCommandSnapshot, type DbgCommandStep, type DbgCommandWheel, type DebugCapabilities, type DoctorCheck, type DoctorContext, type DslDiagnostic, type DslValidateContext, type DslVocabArg, type DslVocabCategory, type DslVocabEntry, E2E_SUBDIR, ENV_FILE, EXPECT_FAIL_ANNOTATION, type EnvChangedMessage, type EnvFile, type EnvUpdate, type EnvVar, type ErrorMessage, type FailureBundleWrittenEvent, type FsBreakpointsChangedMessage, type FsCollectionRunStepMessage, type FsCollectionsChangedMessage, type FsHelpersChangedMessage, type FsRunFinishedMessage, type FsRunStartedMessage, type FsRunStepMessage, type FsScenariosChangedMessage, HEARTBEAT_FILE, HELPERS_SUBDIR, type HelperMeta, type HelperTab, type HostRequirement, type IDslLanguageService, type ILaunchedProcess, type IProcessLauncher, type IRunnerAdapter, InvalidBlobHashError, JUDGE_ENV, JUDGE_ROUTES, type JudgeErrorResponse, type JudgeRequest, type JudgeVerdict, type JudgeVerdictEvent, LOCK_FILE, LOG_FILE, type LaunchSpec, type LocatorPickedEvent, type LockFile, type LogLineMessage, type Matcher, PICKER_SNAPSHOT_FILE, type PausedEvent, type PickerMode, type ProbeMatch, type ProbePinned, type ProbeResult, type ProbeResultEvent, RUNNER_CONFIG_KEYS, RUNS_SUBDIR, RUNTIME_FILE, RUN_INDEX_SCHEMA_VERSION, RUN_MANIFEST_FILE, RUN_SOURCES_FILE, type RecordedActionKind, type RegexLiteral, type ResumedEvent, type RunArtifact, type RunFinishedEvent, type RunId, type RunIndexEntry, type RunIndexHeader, type RunKind, type RunManifest, type RunMeta, type RunOutcome, type RunRequest, type RunSources, type RunStartedEvent, type RunStatus, RunnerAdapterNotFoundError, RunnerNotConfiguredError, type RuntimeState, type RuntimeStateFile, SCENARIOS_INDEX_DIR, SCENARIOS_LATEST_FILE, SCENARIO_RECENT_WINDOW, SECRETS_FILE, SEGMENT_NAME_FORBIDDEN_RE, SNAPSHOTS_SUBDIR, STDERR_FILE, STDOUT_FILE, STEPS_FILE, type ScenarioAnnotations, type ScenarioLatestEntry, type ScenarioMeta, type ScenarioRunRequest, type ScenarioRunTab, type ScenarioTab, type ScenariosLatest, type ScenariosPayload, type ScreenshotEvent, type SnapshotTab, type StepFailEvent, type StepOkEvent, type StepStartedEvent, TERMINAL_RUNTIME_STATES, TERMINAL_WS_EVENT, type TabKind, type TabKindName, type TerminalClientMessage, type TerminalCloseMessage, type TerminalDataMessage, type TerminalErrorMessage, type TerminalExitMessage, type TerminalKind, type TerminalOutputMessage, type TerminalResizeMessage, type TerminalServerMessage, type TerminalSpawnMessage, type ToolCallEvent, type ToolResultEvent, UNOTEST_DIR, UnplaceableRunIdError, UnsupportedRunKindError, type VariableCategory, type VariableKind, type VariablePlanError, type WheelChangedEvent, type WsMessage, type WsMessageKind, activeEnvName, blobPathFor, blobRelPathFor, blobRelSegmentsFor, blobsRootFor, categorizeVariable, debugDirFor, debuggerFileFor, deleteShadowWarning, envFileFor, envKeys, envLayerFilesFor, envNamesFromDirListing, foldScenarioRun, insertEnvVar, isAnnotationLine, isExternalVarName, isFailingStatus, isRegexLiteral, isRunnerConfigKey, isRunsDirName, isTerminalRuntimeState, makeRunId, parseAppServerEvent, parseEnvContent, parseScenarioAnnotations, planAddVariable, projectRunDirFor, projectRunsRoot, regexLiteral, removeEnvVar, requireRunDirFor, runDirFor, runIdStartedAt, runsDirFor, sanitizeRunIdSegment, scenarioIndexFileName, scenarioRefFromFileName, secretsFileFor, secretsLayerFilesFor, serializeEnvValue, shardDaysDescending, shardDirFor, shardPathForRunId, shardPathForTimestamp, testDirFor, validateCollectionName, validateSegmentName };
package/dist/index.js CHANGED
@@ -1 +1 @@
1
- const _0x353dfc=_0x57ef;(function(_0x4e5ba2,_0x2936ab){const _0x170200={_0xe4877c:0x124,_0x49758a:0xe2,_0x45d9be:0xcc,_0x57f40f:0x150},_0x12be77=_0x57ef,_0x5e7be3=_0x4e5ba2();while(!![]){try{const _0x1de77f=parseInt(_0x12be77(0x10a))/0x1*(parseInt(_0x12be77(0xdb))/0x2)+-parseInt(_0x12be77(0xff))/0x3+parseInt(_0x12be77(0x120))/0x4*(-parseInt(_0x12be77(0x14b))/0x5)+-parseInt(_0x12be77(_0x170200._0xe4877c))/0x6*(parseInt(_0x12be77(0xdf))/0x7)+-parseInt(_0x12be77(_0x170200._0x49758a))/0x8+-parseInt(_0x12be77(_0x170200._0x45d9be))/0x9+parseInt(_0x12be77(_0x170200._0x57f40f))/0xa;if(_0x1de77f===_0x2936ab)break;else _0x5e7be3['push'](_0x5e7be3['shift']());}catch(_0x2fb264){_0x5e7be3['push'](_0x5e7be3['shift']());}}}(_0x1ae1,0x759b2));var __defProp=Object[_0x353dfc(0x118)],__name=(_0x383154,_0x4db121)=>__defProp(_0x383154,'name',{'value':_0x4db121,'configurable':!![]});function parseAppServerEvent(_0x5c97ab){const _0x435c50={_0x147146:0xdc,_0x587447:0xc3,_0x2c253e:0x122},_0x25c89b=_0x353dfc,_0x4eee5d=_0x5c97ab[_0x25c89b(0xbf)]();if(!_0x4eee5d['startsWith']('{'))return null;try{const _0x17f776=JSON['parse'](_0x4eee5d);if(_0x17f776[_0x25c89b(_0x435c50._0x147146)]===_0x25c89b(_0x435c50._0x587447)||_0x17f776['kind']===_0x25c89b(0xf5)||_0x17f776[_0x25c89b(_0x435c50._0x147146)]===_0x25c89b(_0x435c50._0x2c253e))return _0x17f776;return null;}catch{return null;}}__name(parseAppServerEvent,'parseAppServerEvent');var UNOTEST_DIR=_0x353dfc(0x106),E2E_SUBDIR=_0x353dfc(0x116),HELPERS_SUBDIR=_0x353dfc(0xee),COLLECTIONS_SUBDIR='_collections',RUNS_SUBDIR=_0x353dfc(0x107),SNAPSHOTS_SUBDIR='.snapshots';function testDirFor(_0x304eb9){return''+E2E_SUBDIR+_0x304eb9;}__name(testDirFor,_0x353dfc(0x14e));function runsDirFor(_0x4e19cc,_0x1787cc){return''+RUNS_SUBDIR+_0x4e19cc+(_0x1787cc?'.'+_0x1787cc:'');}__name(runsDirFor,_0x353dfc(0x12a));function isRunsDirName(_0x37050d){const _0x13a10b={_0x12374b:0x10f,_0x3a66f4:0x10f},_0x480d30=_0x353dfc;return _0x37050d===RUNS_SUBDIR||_0x37050d[_0x480d30(_0x13a10b._0x12374b)](RUNS_SUBDIR+'-')||_0x37050d[_0x480d30(_0x13a10b._0x3a66f4)](RUNS_SUBDIR+'.');}__name(isRunsDirName,_0x353dfc(0x13d));function debugDirFor(_0x397c66){const _0x375f0e={_0x5c1a05:0x139},_0x32b089=_0x353dfc;return _0x32b089(_0x375f0e._0x5c1a05)+_0x397c66;}__name(debugDirFor,'debugDirFor');function debuggerFileFor(_0x2a2b7a){const _0x5ef33c={_0x2f571d:0x12c},_0x36ce4d=_0x353dfc;return UNOTEST_DIR+_0x36ce4d(0x111)+_0x2a2b7a+_0x36ce4d(_0x5ef33c._0x2f571d);}__name(debuggerFileFor,_0x353dfc(0xc9));var LOCK_FILE=_0x353dfc(0x12f),LOG_FILE=_0x353dfc(0xf7),STEPS_FILE=_0x353dfc(0xed),HEARTBEAT_FILE='heartbeat',DAY_INDEX_FILE='_day.jsonl',SCENARIOS_INDEX_DIR=_0x353dfc(0x13c),SCENARIOS_LATEST_FILE=_0x353dfc(0x114),STDOUT_FILE=_0x353dfc(0xd7),STDERR_FILE='stderr.log',COMMANDS_FILE=_0x353dfc(0xd0),RUNTIME_FILE=_0x353dfc(0x127),PICKER_SNAPSHOT_FILE=_0x353dfc(0xe0),ENV_FILE=_0x353dfc(0xcf),SECRETS_FILE=_0x353dfc(0x11f);function envFileFor(_0x2d5fb3,_0x38016d){return''+ENV_FILE+_0x2d5fb3+(_0x38016d?'.'+_0x38016d:'');}__name(envFileFor,_0x353dfc(0x112));function secretsFileFor(_0x792a88,_0x36f56d){return''+SECRETS_FILE+_0x792a88+(_0x36f56d?'.'+_0x36f56d:'');}__name(secretsFileFor,_0x353dfc(0x102));function envLayerFilesFor(_0x539acb,_0x1d1823){return layersFor(ENV_FILE,_0x539acb,_0x1d1823);}__name(envLayerFilesFor,_0x353dfc(0x165));function secretsLayerFilesFor(_0x3b37bd,_0x2df820){return layersFor(SECRETS_FILE,_0x3b37bd,_0x2df820);}__name(secretsLayerFilesFor,_0x353dfc(0x140));function layersFor(_0x39afa1,_0x403573,_0x409ab6){const _0xaf9053={_0x11d27c:0xbe},_0x4efb00=_0x353dfc,_0x1148a9=[_0x39afa1];if(_0x403573)_0x1148a9[_0x4efb00(0xbe)](''+_0x39afa1+_0x403573);if(_0x409ab6){_0x1148a9['push'](_0x39afa1+'.'+_0x409ab6);if(_0x403573)_0x1148a9[_0x4efb00(_0xaf9053._0x11d27c)](''+_0x39afa1+_0x403573+'.'+_0x409ab6);}return _0x1148a9;}__name(layersFor,'layersFor');function activeEnvName(_0x31406e){const _0x29c710=_0x353dfc,_0x4a2f22=_0x31406e[_0x29c710(0xd9)]?.['trim']();return _0x4a2f22?_0x4a2f22:void 0x0;}__name(activeEnvName,_0x353dfc(0xfd));var RESERVED_ENV_NAMES=new Set([_0x353dfc(0xd8),'sample',_0x353dfc(0x109)]);function envNamesFromDirListing(_0x2c8f45,_0x158bd3){const _0x50b9eb={_0x49583b:0xe1,_0x2c99a3:0x15c,_0x13b639:0x148,_0xd7833f:0x155},_0x57a15b=_0x353dfc,_0x339dc2=[_0x57a15b(_0x50b9eb._0x49583b),_0x57a15b(0xc4)][_0x57a15b(_0x50b9eb._0x2c99a3)](_0x44face=>_0x158bd3?[_0x44face,''+_0x44face+_0x158bd3]:[_0x44face]),_0x438bbf=new Set();for(const _0x1f145a of _0x2c8f45){for(const _0x119211 of _0x339dc2){const _0x16ba13=_0x119211+'.';if(!_0x1f145a[_0x57a15b(0x10f)](_0x16ba13))continue;const _0x7c7ce7=_0x1f145a[_0x57a15b(0x135)](_0x16ba13[_0x57a15b(0x105)]);if(!_0x7c7ce7||_0x7c7ce7[_0x57a15b(_0x50b9eb._0x13b639)]('/'))continue;if(RESERVED_ENV_NAMES[_0x57a15b(0x15f)](_0x7c7ce7))continue;_0x438bbf['add'](_0x7c7ce7);}}return[..._0x438bbf][_0x57a15b(_0x50b9eb._0xd7833f)]();}__name(envNamesFromDirListing,_0x353dfc(0x10c));function isRegexLiteral(_0x574f25){const _0x261170={_0x137882:0xfa,_0x587430:0x108,_0x1d74b4:0x10e},_0xf4bfce=_0x353dfc;return typeof _0x574f25===_0xf4bfce(_0x261170._0x137882)&&_0x574f25!==null&&_0x574f25['kind']==='regex'&&typeof _0x574f25[_0xf4bfce(_0x261170._0x587430)]===_0xf4bfce(0x10e)&&typeof _0x574f25[_0xf4bfce(0x11e)]===_0xf4bfce(_0x261170._0x1d74b4);}__name(isRegexLiteral,'isRegexLiteral');function regexLiteral(_0x265cd0,_0x7f4d=''){const _0x5c6751=_0x353dfc;return{'kind':_0x5c6751(0x131),'source':_0x265cd0,'flags':_0x7f4d};}__name(regexLiteral,_0x353dfc(0x125));var RAND_BYTES=0x6;function makeRunId(_0x240218){const _0x4b0c84={_0x20bbc6:0x13a},_0x33f49b=_0x353dfc,_0x3a9557=sanitizeRunIdSegment(_0x240218),_0x18e264=Date[_0x33f49b(_0x4b0c84._0x20bbc6)]()[_0x33f49b(0xce)](0x24),_0x4dd0f3=new Uint8Array(RAND_BYTES);globalThis[_0x33f49b(0x136)]['getRandomValues'](_0x4dd0f3);let _0x1adde9='';for(let _0x190069=0x0;_0x190069<_0x4dd0f3['length'];_0x190069++){_0x1adde9+=_0x4dd0f3[_0x190069][_0x33f49b(0xce)](0x10)[_0x33f49b(0xd6)](0x2,'0');}return _0x3a9557+'-'+_0x18e264+'-'+_0x1adde9;}__name(makeRunId,_0x353dfc(0xc7));function sanitizeRunIdSegment(_0x5143d6){const _0x3d4484={_0x280374:0x105,_0x384c1f:0xe8},_0x5f3042=_0x353dfc,_0x1e8580=_0x5143d6[_0x5f3042(0x117)](/[^a-zA-Z0-9_-]+/g,'-')[_0x5f3042(0x117)](/-+/g,'-')[_0x5f3042(0x117)](/^-|-$/g,'');return _0x1e8580[_0x5f3042(_0x3d4484._0x280374)]>0x0?_0x1e8580:_0x5f3042(_0x3d4484._0x384c1f);}__name(sanitizeRunIdSegment,_0x353dfc(0xd1));var RANDOM_SUFFIX_RE=/^[0-9a-f]{6,}$/,MIN_PLAUSIBLE_MS=Date['UTC'](0x7e4,0x0,0x1),MAX_PLAUSIBLE_MS=Date['UTC'](0x834,0x0,0x1);function runIdStartedAt(_0x864ac9){const _0x195e9c={_0x320574:0x132,_0x1f3e14:0x152,_0x7b858f:0x105},_0x2f22db=_0x353dfc,_0x31fdbf=_0x864ac9[_0x2f22db(_0x195e9c._0x320574)]('-');if(_0x31fdbf[_0x2f22db(0x105)]<0x3)return null;const _0xd6943=_0x31fdbf[_0x31fdbf[_0x2f22db(0x105)]-0x1];if(!RANDOM_SUFFIX_RE[_0x2f22db(_0x195e9c._0x1f3e14)](_0xd6943))return null;const _0x6acc4d=_0x31fdbf[_0x31fdbf[_0x2f22db(_0x195e9c._0x7b858f)]-0x2];if(!/^[0-9a-z]+$/[_0x2f22db(0x152)](_0x6acc4d))return null;const _0x5313fc=parseInt(_0x6acc4d,0x24);if(!Number[_0x2f22db(0x110)](_0x5313fc))return null;if(_0x5313fc<MIN_PLAUSIBLE_MS||_0x5313fc>=MAX_PLAUSIBLE_MS)return null;return _0x5313fc;}__name(runIdStartedAt,_0x353dfc(0x11d));function shardPathForTimestamp(_0x3c0ec7){const _0x4e6d88={_0xe081b0:0xd6,_0x418647:0x14d},_0x1d7bcd=_0x353dfc,_0x54a1a8=new Date(_0x3c0ec7),_0x5ac25d=String(_0x54a1a8['getUTCFullYear']())['padStart'](0x4,'0'),_0x4e006f=String(_0x54a1a8['getUTCMonth']()+0x1)[_0x1d7bcd(_0x4e6d88._0xe081b0)](0x2,'0'),_0x340bab=String(_0x54a1a8[_0x1d7bcd(_0x4e6d88._0x418647)]())[_0x1d7bcd(0xd6)](0x2,'0');return _0x5ac25d+'/'+_0x4e006f+'/'+_0x340bab;}__name(shardPathForTimestamp,_0x353dfc(0x166));function shardPathForRunId(_0x37b24b){const _0x59fe27=runIdStartedAt(_0x37b24b);return _0x59fe27===null?null:shardPathForTimestamp(_0x59fe27);}__name(shardPathForRunId,_0x353dfc(0x153));function runDirFor(_0x1bf752,_0x43a712){const _0x42afd4=shardPathForRunId(_0x43a712);return _0x42afd4===null?null:_0x1bf752+'/'+_0x42afd4+'/'+_0x43a712;}__name(runDirFor,_0x353dfc(0xf1));var UnplaceableRunIdError=class extends Error{static{__name(this,'UnplaceableRunIdError');}constructor(_0x20831e){const _0x493b67=_0x353dfc;super(_0x493b67(0x141)+_0x20831e),this[_0x493b67(0x158)]=_0x493b67(0x15d);}};function requireRunDirFor(_0x120b21,_0x55c1c0){const _0x58148a=runDirFor(_0x120b21,_0x55c1c0);if(_0x58148a===null)throw new UnplaceableRunIdError(_0x55c1c0);return _0x58148a;}__name(requireRunDirFor,'requireRunDirFor');function projectRunsRoot(_0x233201='',_0x4d3bfa){return UNOTEST_DIR+'/'+runsDirFor(_0x233201,_0x4d3bfa);}__name(projectRunsRoot,_0x353dfc(0x113));function projectRunDirFor(_0x5f1423,_0x4db4cb='',_0xa32919){return requireRunDirFor(projectRunsRoot(_0x4db4cb,_0xa32919),_0x5f1423);}__name(projectRunDirFor,_0x353dfc(0xfc));function shardDirFor(_0x48dcaf,_0x2b1839){return _0x48dcaf+'/'+shardPathForTimestamp(_0x2b1839);}__name(shardDirFor,_0x353dfc(0x129));function*shardDaysDescending(_0x1fb2f7,_0x1f4dd3,_0x14faef){const _0x45eeb9={_0x475d4f:0x15a},_0x1df3c2=_0x353dfc,_0x155ed2=0x5265c00;let _0x2c71a6=Math[_0x1df3c2(_0x45eeb9._0x475d4f)](_0x1f4dd3/_0x155ed2)*_0x155ed2;for(let _0x33e491=0x0;_0x33e491<_0x14faef;_0x33e491++){yield shardDirFor(_0x1fb2f7,_0x2c71a6),_0x2c71a6-=_0x155ed2;}}__name(shardDaysDescending,'shardDaysDescending');var RUN_INDEX_SCHEMA_VERSION=0x2,SCENARIO_RECENT_WINDOW=0xc;function isFailingStatus(_0x1b11a8){const _0x475865={_0xef06f3:0x11c},_0x3edc60=_0x353dfc;return _0x1b11a8===_0x3edc60(0x128)||_0x1b11a8===_0x3edc60(_0x475865._0xef06f3);}__name(isFailingStatus,_0x353dfc(0xe4));function foldScenarioRun(_0x36c03c,_0x28f52c){const _0x387e13={_0x22a392:0x11b,_0x417bc7:0xdd,_0xabbb87:0xe9},_0x1603dc=_0x353dfc,_0x2b0af3={'lastRunId':_0x28f52c[_0x1603dc(0xc6)],'lastStatus':_0x28f52c[_0x1603dc(0xdd)],'lastAt':_0x28f52c[_0x1603dc(_0x387e13._0x22a392)],'lastDurationMs':_0x28f52c[_0x1603dc(0x11a)],'recent':[..._0x36c03c?.['recent']??[],_0x28f52c['status']]['slice'](-SCENARIO_RECENT_WINDOW)};if(!isFailingStatus(_0x28f52c[_0x1603dc(_0x387e13._0x417bc7)]))return{..._0x2b0af3,'failStreak':0x0,'failingSince':null};const _0x36ddbf=(_0x36c03c?.[_0x1603dc(_0x387e13._0xabbb87)]??0x0)+0x1;return{..._0x2b0af3,'failStreak':_0x36ddbf,'failingSince':_0x36ddbf===0x1?_0x28f52c[_0x1603dc(0x11b)]:_0x36c03c?.[_0x1603dc(0xf4)]??_0x28f52c[_0x1603dc(0x11b)]};}__name(foldScenarioRun,_0x353dfc(0x15b));function scenarioIndexFileName(_0x261b93){const _0x34ad15={_0x1d6532:0x164},_0x16e4de=_0x353dfc;return encodeURIComponent(_0x261b93)+_0x16e4de(_0x34ad15._0x1d6532);}__name(scenarioIndexFileName,_0x353dfc(0x13e));function scenarioRefFromFileName(_0x2e77e3){const _0x4a9b22={_0xa950c0:0xea,_0x1b7ab2:0x135,_0x5c070a:0x105},_0x464994=_0x353dfc;if(!_0x2e77e3[_0x464994(_0x4a9b22._0xa950c0)](_0x464994(0x164)))return null;try{return decodeURIComponent(_0x2e77e3[_0x464994(_0x4a9b22._0x1b7ab2)](0x0,-_0x464994(0x164)[_0x464994(_0x4a9b22._0x5c070a)]));}catch{return null;}}__name(scenarioRefFromFileName,_0x353dfc(0x14a));var BLOBS_DIR='_blobs',GENERATION_SEP='~',HASH_RE=/^[0-9a-f]{8,}$/,InvalidBlobHashError=class extends Error{static{__name(this,'InvalidBlobHashError');}constructor(_0x599a87){const _0x47935b={_0x57d01d:0x160,_0x17ad85:0xe5},_0x535098=_0x353dfc;super(_0x535098(_0x47935b._0x57d01d)+_0x599a87),this['name']=_0x535098(_0x47935b._0x17ad85);}};function blobPathFor(_0x149abc,_0x359f21,_0x4861ad,_0x270435=0x0){return _0x149abc+'/'+blobRelPathFor(_0x359f21,_0x4861ad,_0x270435);}__name(blobPathFor,_0x353dfc(0xf6));function blobRelSegmentsFor(_0x700006,_0x391b08,_0x483033=0x0){const _0x2f98cb={_0x2aaea9:0x152,_0x37d1d7:0x135},_0x2bb94e=_0x353dfc;if(!HASH_RE[_0x2bb94e(_0x2f98cb._0x2aaea9)](_0x700006))throw new InvalidBlobHashError(_0x700006);const _0x6e4841=_0x483033>0x0?''+GENERATION_SEP+_0x483033:'';return[BLOBS_DIR,_0x700006['slice'](0x0,0x2),_0x700006[_0x2bb94e(_0x2f98cb._0x37d1d7)](0x2,0x4),''+_0x700006+_0x6e4841+'.'+_0x391b08];}__name(blobRelSegmentsFor,_0x353dfc(0xe6));function blobRelPathFor(_0x5c4dc4,_0x2148d2,_0x2d2d64=0x0){const _0x1fb216=_0x353dfc;return blobRelSegmentsFor(_0x5c4dc4,_0x2148d2,_0x2d2d64)[_0x1fb216(0x145)]('/');}__name(blobRelPathFor,_0x353dfc(0x13f));function blobsRootFor(_0x38e4c1){return _0x38e4c1+'/'+BLOBS_DIR;}__name(blobsRootFor,_0x353dfc(0x143));var FS_UNSAFE_NAME_RE=/[\\/:*?"<>|\x00-\x1f]/;function validateFsSafeName(_0x42ed27,_0x2f361f){const _0x3342c0={_0x305ef7:0x10e,_0x454ac4:0xc8,_0x20bf6b:0xeb,_0x20866f:0x10f,_0x308b30:0xf8},_0x2b0b15=_0x353dfc;if(typeof _0x42ed27!==_0x2b0b15(_0x3342c0._0x305ef7))return'must\x20be\x20a\x20string';const _0x36dd19=_0x42ed27['trim']();if(_0x36dd19[_0x2b0b15(0x105)]===0x0)return'must\x20not\x20be\x20empty';if(_0x36dd19==='.'||_0x36dd19==='..')return _0x2b0b15(_0x3342c0._0x454ac4);if(_0x36dd19[_0x2b0b15(0x10f)]('.'))return'must\x20not\x20start\x20with\x20\x27.\x27';if(_0x2f361f?.[_0x2b0b15(_0x3342c0._0x20bf6b)]&&_0x36dd19[_0x2b0b15(_0x3342c0._0x20866f)]('_'))return _0x2b0b15(_0x3342c0._0x308b30);if(FS_UNSAFE_NAME_RE['test'](_0x36dd19))return'must\x20not\x20contain\x20\x5c\x20/\x20:\x20*\x20?\x20\x22\x20<\x20>\x20|\x20or\x20control\x20characters';return null;}__name(validateFsSafeName,_0x353dfc(0x142));var COLLECTION_NAME_FORBIDDEN_RE=FS_UNSAFE_NAME_RE;function validateCollectionName(_0x5ac90e){return validateFsSafeName(_0x5ac90e);}__name(validateCollectionName,_0x353dfc(0xf3));var RUN_MANIFEST_FILE=_0x353dfc(0xe7),RUN_SOURCES_FILE=_0x353dfc(0x13b),UnsupportedRunKindError=class extends Error{static{__name(this,_0x353dfc(0x134));}constructor(_0x1a9315,_0x1b6b79){const _0x52c6cc=_0x353dfc;super('runner\x20\x22'+_0x1b6b79+_0x52c6cc(0x15e)+_0x1a9315+'\x22'),this[_0x52c6cc(0x158)]=_0x52c6cc(0x134);}},RunnerAdapterNotFoundError=class extends Error{static{__name(this,_0x353dfc(0x146));}constructor(_0x3e75bb,_0x4f2bc1){const _0x30e18b={_0x104e6b:0x146},_0x45745f=_0x353dfc;super('cannot\x20load\x20runner\x20adapter\x20\x22'+_0x3e75bb+'\x22.\x20'+_0x4f2bc1),this[_0x45745f(0x158)]=_0x45745f(_0x30e18b._0x104e6b);}},RunnerNotConfiguredError=class extends Error{static{__name(this,_0x353dfc(0x12d));}constructor(_0x5a001f){const _0x593805=_0x353dfc;super(_0x5a001f),this[_0x593805(0x158)]='RunnerNotConfiguredError';}},EXPECT_FAIL_ANNOTATION='expect-fail',ANNOTATION_RE=/^\s*\/\/\s*@([a-z0-9-]+)\s*$/;function isAnnotationLine(_0x3ec1c9){const _0x35a45f={_0x37d161:0x152},_0x13ced7=_0x353dfc;return ANNOTATION_RE[_0x13ced7(_0x35a45f._0x37d161)](_0x3ec1c9);}function _0x1ae1(){const _0x17fb37=['CgXHBKfKzfzHCMLHyMXL','ywrK','CNvUrgLYrM9Y','zhvWBgLJyxrL','DMfSAwrHDgvdB2XSzwn0Aw9UtMfTzq','zMfPBgLUz1nPBMnL','yxbWlxnLCNzLCJPYzxvZzwq','yMXVyLbHDgHgB3i','lNzPzxDLCI5SB2C','BxvZDcbUB3qGC3rHCNqGD2L0AcaNxYCGkhjLC2vYDMvKkq','AM9PBKXPBMvZ','B2jQzwn0','igLZigfSC28GC2v0igLUihvUB3rLC3qVlMvUDIdIGjqGDgHLihnLy3jLDcb2ywX1zsbUB3CGC2HHzg93CYbPDc4','ChjVAMvJDfj1BKrPCKzVCG','ywn0AxzLrw52tMfTzq','vu5pvevtvf9eruzbvuXux05bvKLhqvrjt05FveLnru9vvf9nuW','oti1otu5CMr1zKrl','rK9sq0vFq09mt1i','C2vJCMv0CW','C2vJCMv0C0zPBgvgB3i','vu5pvevtvf9orvrxt1jl','AxnfEhrLCM5HBfzHCK5HBwu','BgvUz3rO','Dw5VDgvZDa','lNj1BNm','C291CMnL','DgvTCgXHDgu','mK9hzeH3vW','CMvTB3zLrw52vMfY','zw52tMfTzxngCM9TrgLYtgLZDgLUzW','Aw52ywXPzc1Uyw1L','C3rYAw5N','C3rHCNrZv2L0Aa','AxngAw5PDgu','lY5Kzwj1z2DLCG','zw52rMLSzuzVCG','ChjVAMvJDfj1BNnsB290','x2XHDgvZDc5QC29U','vu5pvevtvf9eruzbvuXux1rjtuvpvvrFtvm','ztjL','CMvWBgfJzq','zgvMAw5LuhjVCgvYDhK','vu5pvevtvf9erujvr19esvi','zhvYyxrPB25nCW','C3rHCNrLzef0','Aw50zxjYDxb0zwq','CNvUswrtDgfYDgvKqxq','zMXHz3m','Dw5VDgvZDc8UC2vJCMv0CW','mtaXnZjmvwnNrwq','uNvUBMvY','yxbWlxnLCNzLCJPLCNjVCG','qxbW','nLvkr1nYtq','CMvNzxHmAxrLCMfS','vu5pvevtvf9erujvr19nqvHFqLLurvm','CNvUDgLTzs5QC29U','zMfPBgvK','C2HHCMreAxjgB3i','CNvUC0rPCKzVCG','iokaLcbWAwnRigeGzgLMzMvYzw50ig5HBwuGB3iGzwrPDcb0AguGzxHPC3rPBMCGDMfSDwuU','lMPZB24','uNvUBMvYtM90q29UzMLNDxjLzevYCM9Y','zw52q29UDgvUDa','lNzPzxDLCI5SB2nR','vu5pvevtvf9cuK9xu0vs','CMvNzxG','C3bSAxq','C3bSAwnL','vw5ZDxbWB3j0zwrsDw5lAw5KrxjYB3i','C2XPy2u','y3j5ChrV','igLZigfSC28GC2v0igLUihLVDxiGC2HLBgWGzw52AxjVBM1LBNqG4OcuigL0ihDPBgWGA2vLCcbYzxnVBhzPBMCGzNjVBsb0AgvYzsaODgHLigvUDMLYB25Tzw50ihDPBNmGB3zLCIb0AguGzMLSzsKU','ig11C3qGyMuGvvbqrvjFu05bs0uGkguUzY4Gqvbqx0jbu0vFvvjmksbZBYbHihnJzw5HCMLVignHBIbYzwzLCMvUy2uGAxqGyNKGBMfTzs4','lMrLyNvN','BM93','C291CMnLCY5QC29U','x3nJzw5HCMLVCW','AxnsDw5ZrgLYtMfTzq','C2nLBMfYAw9jBMrLEezPBgvoyw1L','yMXVyLjLBfbHDgHgB3i','C2vJCMv0C0XHEwvYrMLSzxngB3i','CNvUswqGy2fYCMLLCYbUBYb0Aw1LC3rHBxaSignHBM5VDcbWBgfJzsbPDcbPBIbHihnOyxjKoIa','DMfSAwrHDgvgC1nHzMvoyw1L','yMXVyNnsB290rM9Y','vu5pvevtvf9erujvrW','AM9PBG','uNvUBMvYqwrHChrLCK5VDezVDw5KrxjYB3i','yxbW','Aw5JBhvKzxm','vu5pvevtvf9erujvr19lruvqx0nbteXt','C2nLBMfYAw9szwzgCM9TrMLSzu5HBwu','mZbWAvLRA1u','Aw5KzxHpzG','z2v0vvrdrgf0zq','DgvZDerPCKzVCG','C3bSAxrmAw5LCW','mZa5otqXmJb6q01Ivgy','igLZigfSC28GC2v0igLUihvUB3rLC3qVlNnLy3jLDhmG4OcuihrOzsbZzwnYzxqGDMfSDwuGC2HHzg93CYb0AgLZig9Uzs4','DgvZDa','C2HHCMrqyxrOrM9YuNvUswq','refuqujbu0vFvvjm','C29YDa','zMLSDgvY','vu5pvevtvf9mt0nbteu','BMfTzq','C2vJCMv0','zMXVB3i','zM9SzfnJzw5HCMLVuNvU','zMXHDe1HCa','vw5WBgfJzwfIBgvsDw5jzevYCM9Y','iIbKB2vZig5VDcbZDxbWB3j0ihj1BIbRAw5Kici','AgfZ','yMXVyIbOyxnOig11C3qGyMuGBg93zxjJyxnLigHLEcWGz290oIa','zMLUzeLUzgv4','Aw5Zzxj0rw52vMfY','AxnbC3nPz25Tzw50t2y','lMPZB25S','zw52tgf5zxjgAwXLC0zVCG','C2HHCMrqyxrOrM9YvgLTzxn0yw1W','ChvZAa','DhjPBq','AxnsDw5UzxjdB25MAwDlzxK','Bwf0y2G','CNvUBMvY','yxbWlxnLCNzLCJPYzwfKEq','lNnLy3jLDhm','yxnZAwDUBwvUDevUDhjPzxm','CNvUswq','BwfRzvj1BKLK','BxvZDcbUB3qGyMuGiI4Iig9YiciUlIi','zgvIDwDNzxjgAwXLrM9Y','y29TCgXLDgvK','AxnbBM5VDgf0Aw9UtgLUzq','nZy2mtu4m2nfEg5hDa','AxnuzxjTAw5HBfj1BNrPBwvtDgf0zq','Dg9tDhjPBMC','Dw5VDgvZDc8Uzw52','y29TBwfUzhmUANnVBMW','C2fUAxrPEMvsDw5jzfnLz21LBNq','Axntzwn0Aw9UrgL2AwrLCG','Dw5RBM93BI1YDw5UzxiTA2v5','iYaTls0G','AxnbC3nPz25Tzw50tgLUzq','CgfKu3rHCNq','C3rKB3v0lMXVzW','zxHHBxbSzq','vu5pvevtvf9ftLy','CgfYC2vfBNzdB250zw50','mJuYotaYD3fqteXZ','A2LUza','C3rHDhvZ','ywjVCNrLza','ntq1mdKXneDKy2Xqzq','CgLJA2vYlxnUyxbZAg90lNr4Da','lMvUDG','nZmZmZyWmePiEgLYDq','y2f0zwDVCML6zvzHCMLHyMXL','AxngywLSAw5Nu3rHDhvZ','sw52ywXPzejSB2jiyxnOrxjYB3i','yMXVyLjLBfnLz21LBNrZrM9Y','BwfUAwzLC3qUANnVBG','CNvU','zMfPBfn0CMvHAW','zw5KC1DPDgG','CMvZzxj2zwrvBMrLCNnJB3jL','Dg9mB3DLCKnHC2u','C3rLChmUANnVBMW','x2HLBhbLCNm'];_0x1ae1=function(){return _0x17fb37;};return _0x1ae1();}__name(isAnnotationLine,_0x353dfc(0xcb));function parseScenarioAnnotations(_0x3d0343){const _0x13ce9a=_0x353dfc,_0x18e8c0=new Set();for(const _0x1a8e30 of _0x3d0343['split'](/\r?\n/)){const _0x1df768=_0x1a8e30['trim']();if(_0x1df768==='')continue;if(!_0x1df768[_0x13ce9a(0x10f)]('//'))break;const _0x5db849=_0x1df768[_0x13ce9a(0xc1)](ANNOTATION_RE);if(_0x5db849)_0x18e8c0['add'](_0x5db849[0x1]);}return{'expectFail':_0x18e8c0['has'](EXPECT_FAIL_ANNOTATION)};}__name(parseScenarioAnnotations,'parseScenarioAnnotations');var SEGMENT_NAME_FORBIDDEN_RE=FS_UNSAFE_NAME_RE;function validateSegmentName(_0x896762){return validateFsSafeName(_0x896762,{'reservedUnderscore':!![]});}__name(validateSegmentName,'validateSegmentName');var TERMINAL_WS_EVENT='terminal',RUNNER_CONFIG_KEYS=new Set([_0x353dfc(0x130),'UNOTEST_HEADED','UNOTEST_SLOW_MO',_0x353dfc(0x115),_0x353dfc(0xfe),'UNOTEST_POPUP_GRACE_MS',_0x353dfc(0x157),'UNOTEST_TIMEZONE','UNOTEST_LOG_LEVEL',_0x353dfc(0x144),_0x353dfc(0x119),_0x353dfc(0x126),'UNOTEST_DEBUG_PREVIEW_BYTES','UNOTEST_DEBUG_HTML_MAX_BYTES',_0x353dfc(0x149),_0x353dfc(0x103),'UNOTEST_CONSOLE','UNOTEST_CACHE_DIR','NO_COLOR',_0x353dfc(0x100),_0x353dfc(0x154)]);function isRunnerConfigKey(_0x3aeba7){const _0x2ae0b2={_0x53f0c3:0x15f},_0x5374f3=_0x353dfc;return RUNNER_CONFIG_KEYS[_0x5374f3(_0x2ae0b2._0x53f0c3)](_0x3aeba7);}__name(isRunnerConfigKey,_0x353dfc(0xc0));function categorizeVariable(_0x4b1cd5){const _0x89c6e={_0x471310:0x108,_0x456f62:0x158,_0x4d5c6a:0xc2,_0x52bf2a:0x147},_0x578924=_0x353dfc;if(_0x4b1cd5[_0x578924(_0x89c6e._0x471310)]===_0x578924(0x101))return _0x578924(0x159);return isRunnerConfigKey(_0x4b1cd5[_0x578924(_0x89c6e._0x456f62)])?_0x578924(_0x89c6e._0x4d5c6a):_0x578924(_0x89c6e._0x52bf2a);}__name(categorizeVariable,_0x353dfc(0xe3));function isExternalVarName(_0x29ed5d){return/^[A-Z][A-Z0-9_]*$/['test'](_0x29ed5d);}__name(isExternalVarName,_0x353dfc(0x104));var ENV_KEY_RE=/^[A-Za-z_][A-Za-z0-9_]*$/;function*assignmentEntries(_0x1bf7c2){const _0x1aefb1={_0x76bad1:0x10f},_0x391f3e=_0x353dfc;for(const _0x5af578 of _0x1bf7c2[_0x391f3e(0x132)](/\r?\n/)){const _0x243428=_0x5af578[_0x391f3e(0xbf)]();if(_0x243428===''||_0x243428[_0x391f3e(_0x1aefb1._0x76bad1)]('#'))continue;const _0x3e4665=_0x243428[_0x391f3e(0x14c)]('=');if(_0x3e4665<=0x0)continue;const _0x27a3b2=_0x243428[_0x391f3e(0x135)](0x0,_0x3e4665)['trim']();if(!ENV_KEY_RE[_0x391f3e(0x152)](_0x27a3b2))continue;yield[_0x27a3b2,_0x243428['slice'](_0x3e4665+0x1)[_0x391f3e(0xbf)]()];}}__name(assignmentEntries,_0x353dfc(0xc5));function parseEnvContent(_0x173dca){const _0x1d355={_0xc08aa1:0x105},_0x329737=_0x353dfc,_0x56b13b={};for(const [_0x5d36d3,_0x4d2e58]of assignmentEntries(_0x173dca)){let _0x597eed=_0x4d2e58;if(_0x597eed[_0x329737(_0x1d355._0xc08aa1)]>=0x2){const _0x326d0f=_0x597eed[0x0],_0x5c9f02=_0x597eed[_0x597eed['length']-0x1];(_0x326d0f==='\x22'||_0x326d0f==='\x27')&&_0x326d0f===_0x5c9f02&&(_0x597eed=_0x597eed[_0x329737(0x135)](0x1,-0x1));}_0x56b13b[_0x5d36d3]=_0x597eed;}return _0x56b13b;}__name(parseEnvContent,_0x353dfc(0xda));function serializeEnvValue(_0x500618){const _0x451a60={_0x180725:0x117},_0x282b0a=_0x353dfc;if(_0x500618==='')return'';if(/[\s#"'=\\]|^[`]/['test'](_0x500618)||/[\n\r]/[_0x282b0a(0x152)](_0x500618)){const _0x10b984=_0x500618[_0x282b0a(_0x451a60._0x180725)](/\\/g,'\x5c\x5c')['replace'](/"/g,'\x5c\x22')[_0x282b0a(0x117)](/\n/g,'\x5cn')['replace'](/\r/g,'\x5cr');return'\x22'+_0x10b984+'\x22';}return _0x500618;}__name(serializeEnvValue,'serializeEnvValue');function envKeys(_0x46a5f8){const _0x19c09e={_0x299ec5:0xf0},_0x4f92a8=_0x353dfc,_0xd79e8=new Set();for(const [_0x8a8b01]of assignmentEntries(_0x46a5f8))_0xd79e8[_0x4f92a8(_0x19c09e._0x299ec5)](_0x8a8b01);return _0xd79e8;}__name(envKeys,'envKeys');function isSectionDivider(_0x402adc){const _0x3b22ea={_0x5b7aae:0xbf,_0x1cd535:0x10f},_0x4a4103=_0x353dfc,_0x1dfb54=_0x402adc[_0x4a4103(_0x3b22ea._0x5b7aae)]();return _0x1dfb54[_0x4a4103(_0x3b22ea._0x1cd535)]('#')&&/---/[_0x4a4103(0x152)](_0x1dfb54);}__name(isSectionDivider,_0x353dfc(0xd2));function isAssignmentLine(_0xb0ff16){const _0x2cbef4={_0x5aac57:0xbf,_0x1e5f4b:0x152},_0x18887b=_0x353dfc,_0x55a21c=_0xb0ff16[_0x18887b(_0x2cbef4._0x5aac57)]();if(_0x55a21c===''||_0x55a21c['startsWith']('#'))return![];const _0x5bc9f1=_0x55a21c['indexOf']('=');return _0x5bc9f1>0x0&&ENV_KEY_RE[_0x18887b(_0x2cbef4._0x1e5f4b)](_0x55a21c['slice'](0x0,_0x5bc9f1)[_0x18887b(0xbf)]());}__name(isAssignmentLine,_0x353dfc(0xd5));function isAssignmentOf(_0x4e9ac0,_0x37162e){const _0x50379b={_0x127188:0x10f,_0x4cfca3:0xbf},_0x1eb962=_0x353dfc,_0x357783=_0x4e9ac0['trim']();if(_0x357783===''||_0x357783[_0x1eb962(_0x50379b._0x127188)]('#'))return![];const _0x5734a5=_0x357783['indexOf']('=');if(_0x5734a5<=0x0)return![];return _0x357783[_0x1eb962(0x135)](0x0,_0x5734a5)[_0x1eb962(_0x50379b._0x4cfca3)]()===_0x37162e;}__name(isAssignmentOf,_0x353dfc(0x163));function splitLines(_0x51fa72){const _0x1a9e44={_0x52451c:0xea},_0x3c5fa7=_0x353dfc,_0x4417b9=_0x51fa72[_0x3c5fa7(_0x1a9e44._0x52451c)]('\x0a'),_0x329201=_0x4417b9?_0x51fa72[_0x3c5fa7(0x135)](0x0,-0x1):_0x51fa72;return{'lines':_0x329201===''?[]:_0x329201['split']('\x0a'),'trailingNewline':_0x4417b9};}__name(splitLines,_0x353dfc(0x14f));function joinLines(_0x5860f7,_0x58f915){const _0x37c277=_0x5860f7['join']('\x0a');return _0x58f915||_0x37c277===''?_0x37c277+'\x0a':_0x37c277;}__name(joinLines,_0x353dfc(0xf9));function insertEnvVar(_0x529156,_0x876b69,_0x419c36,_0x2cf5ee){const _0x31f1a6={_0x13abb9:0x161,_0x1c4bad:0x133,_0x80557b:0xbe,_0x1ee07b:0xd4,_0x105a8a:0xbe},_0x4d720d=_0x353dfc,_0x30357d=_0x876b69+'='+serializeEnvValue(_0x419c36),{lines:_0x4fa0e8,trailingNewline:_0x1ff175}=splitLines(_0x529156);if(_0x2cf5ee){const _0x1e4019=new RegExp('\x5cb'+_0x2cf5ee[_0x4d720d(0xec)]()+'\x5cb'),_0x177150=_0x4fa0e8[_0x4d720d(_0x31f1a6._0x13abb9)](_0x2975b0=>isSectionDivider(_0x2975b0)&&_0x1e4019[_0x4d720d(0x152)](_0x2975b0[_0x4d720d(0xec)]()));if(_0x177150!==-0x1){let _0x5327f4=_0x4fa0e8[_0x4d720d(0x105)];for(let _0x2e14e0=_0x177150+0x1;_0x2e14e0<_0x4fa0e8['length'];_0x2e14e0++){if(isSectionDivider(_0x4fa0e8[_0x2e14e0])){_0x5327f4=_0x2e14e0;break;}}let _0x58769d=-0x1,_0x5b9a3c=-0x1;for(let _0x225e9d=_0x177150+0x1;_0x225e9d<_0x5327f4;_0x225e9d++){if(_0x4fa0e8[_0x225e9d][_0x4d720d(0xbf)]()!=='')_0x5b9a3c=_0x225e9d;if(isAssignmentLine(_0x4fa0e8[_0x225e9d]))_0x58769d=_0x225e9d;}const _0x22e3db=_0x58769d>=0x0?_0x58769d:_0x5b9a3c,_0x2dda94=_0x22e3db>=0x0?_0x22e3db+0x1:_0x177150+0x1;return _0x4fa0e8[_0x4d720d(_0x31f1a6._0x1c4bad)](_0x2dda94,0x0,_0x30357d),joinLines(_0x4fa0e8,_0x1ff175||_0x4fa0e8[_0x4d720d(0x105)]>0x0);}if(_0x4fa0e8['length']>0x0)_0x4fa0e8[_0x4d720d(_0x31f1a6._0x80557b)]('');return _0x4fa0e8['push'](_0x4d720d(_0x31f1a6._0x1ee07b)+_0x2cf5ee+'\x20---',_0x30357d),joinLines(_0x4fa0e8,!![]);}return _0x4fa0e8[_0x4d720d(_0x31f1a6._0x105a8a)](_0x30357d),joinLines(_0x4fa0e8,!![]);}__name(insertEnvVar,_0x353dfc(0x162));function removeEnvVar(_0x571f48,_0x6ade67){const _0x40d184=_0x353dfc,{lines:_0x39b4d0,trailingNewline:_0xe9a459}=splitLines(_0x571f48),_0x1e14a7=_0x39b4d0[_0x40d184(0x156)](_0x192a5e=>!isAssignmentOf(_0x192a5e,_0x6ade67)),_0x2e6f49=_0x1e14a7[_0x40d184(0x105)]!==_0x39b4d0['length'];return{'content':joinLines(_0x1e14a7,_0xe9a459),'removed':_0x2e6f49};}__name(removeEnvVar,_0x353dfc(0x10b));var SECTION_BY_KIND={'app':_0x353dfc(0x123),'runner':_0x353dfc(0x121),'secret':void 0x0};function planAddVariable(_0x4739b5){const _0x16cbbe={_0xee54c6:0xc2,_0x5c7540:0xd3,_0x5c575c:0x15f,_0x46d824:0x101,_0x2eb25e:0xf2,_0x419e89:0x12b,_0x11dfbf:0x159,_0x454258:0x151},_0x1dea46=_0x353dfc,{name:_0x37d0f2,kind:_0x1532e0}=_0x4739b5;if(_0x1532e0===_0x1dea46(_0x16cbbe._0xee54c6)){if(!isRunnerConfigKey(_0x37d0f2))return{'ok':![],'code':_0x1dea46(_0x16cbbe._0x5c7540),'message':_0x37d0f2+'\x20is\x20not\x20a\x20known\x20runner\x20setting\x20—\x20choose\x20one\x20from\x20the\x20runner-config\x20list.'};}else{if(!isExternalVarName(_0x37d0f2))return{'ok':![],'code':_0x1dea46(0x10d),'message':_0x37d0f2+_0x1dea46(0x138)};}const _0x1f49a3=envKeys(_0x4739b5[_0x1dea46(0x12e)])[_0x1dea46(0x15f)](_0x37d0f2),_0x3b3215=envKeys(_0x4739b5['secretsContent'])[_0x1dea46(_0x16cbbe._0x5c575c)](_0x37d0f2),_0x2438d8=_0x1532e0==='secret'?_0x1dea46(_0x16cbbe._0x46d824):'env',_0x235094=_0x2438d8===_0x1dea46(_0x16cbbe._0x46d824)?_0x3b3215:_0x1f49a3,_0x37959a=_0x2438d8===_0x1dea46(0x101)?_0x1dea46(0x11f):_0x1dea46(0xcf);if(_0x235094)return{'ok':![],'code':_0x1dea46(_0x16cbbe._0x2eb25e),'message':_0x37d0f2+'\x20already\x20exists\x20in\x20'+_0x37959a+_0x1dea46(_0x16cbbe._0x419e89)};const _0x4cba31=[];return _0x1532e0===_0x1dea46(_0x16cbbe._0x11dfbf)&&_0x1f49a3&&_0x4cba31[_0x1dea46(0xbe)](_0x37d0f2+_0x1dea46(0xfb)),_0x1532e0!==_0x1dea46(_0x16cbbe._0x11dfbf)&&_0x3b3215&&_0x4cba31[_0x1dea46(0xbe)](_0x37d0f2+_0x1dea46(_0x16cbbe._0x454258)),{'ok':!![],'target':_0x2438d8,'sectionLabel':SECTION_BY_KIND[_0x1532e0],'warnings':_0x4cba31};}__name(planAddVariable,_0x353dfc(0xef));function deleteShadowWarning(_0x5c80e6,_0x451da1,_0xbb35b7){const _0x127c84=_0x353dfc;if(_0xbb35b7!==void 0x0&&_0xbb35b7!==_0x451da1)return[_0x5c80e6+_0x127c84(0x137)];return[];}__name(deleteShadowWarning,'deleteShadowWarning');var TERMINAL_RUNTIME_STATES=[_0x353dfc(0xca),_0x353dfc(0x128),_0x353dfc(0xde)];function isTerminalRuntimeState(_0x453631){const _0x3ab854={_0x33087b:0x148},_0xa2bd8d=_0x353dfc;return TERMINAL_RUNTIME_STATES[_0xa2bd8d(_0x3ab854._0x33087b)](_0x453631);}__name(isTerminalRuntimeState,_0x353dfc(0xcd));function _0x57ef(_0x48d0cc,_0x4f885c){_0x48d0cc=_0x48d0cc-0xbe;const _0x1ae11e=_0x1ae1();let _0x57efc9=_0x1ae11e[_0x48d0cc];if(_0x57ef['lScCre']===undefined){var _0x2e77ab=function(_0x1b4da2){const _0x3551bb='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x383154='',_0x4db121='';for(let _0x5c97ab=0x0,_0x4eee5d,_0x17f776,_0x304eb9=0x0;_0x17f776=_0x1b4da2['charAt'](_0x304eb9++);~_0x17f776&&(_0x4eee5d=_0x5c97ab%0x4?_0x4eee5d*0x40+_0x17f776:_0x17f776,_0x5c97ab++%0x4)?_0x383154+=String['fromCharCode'](0xff&_0x4eee5d>>(-0x2*_0x5c97ab&0x6)):0x0){_0x17f776=_0x3551bb['indexOf'](_0x17f776);}for(let _0x4e19cc=0x0,_0x1787cc=_0x383154['length'];_0x4e19cc<_0x1787cc;_0x4e19cc++){_0x4db121+='%'+('00'+_0x383154['charCodeAt'](_0x4e19cc)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4db121);};_0x57ef['diRVIV']=_0x2e77ab,_0x57ef['FwfGMe']={},_0x57ef['lScCre']=!![];}const _0x5b22ec=_0x1ae11e[0x0],_0xbbe449=_0x48d0cc+_0x5b22ec,_0x5425dc=_0x57ef['FwfGMe'][_0xbbe449];return!_0x5425dc?(_0x57efc9=_0x57ef['diRVIV'](_0x57efc9),_0x57ef['FwfGMe'][_0xbbe449]=_0x57efc9):_0x57efc9=_0x5425dc,_0x57efc9;}export{BLOBS_DIR,COLLECTIONS_SUBDIR,COLLECTION_NAME_FORBIDDEN_RE,COMMANDS_FILE,DAY_INDEX_FILE,E2E_SUBDIR,ENV_FILE,EXPECT_FAIL_ANNOTATION,HEARTBEAT_FILE,HELPERS_SUBDIR,InvalidBlobHashError,LOCK_FILE,LOG_FILE,PICKER_SNAPSHOT_FILE,RUNNER_CONFIG_KEYS,RUNS_SUBDIR,RUNTIME_FILE,RUN_INDEX_SCHEMA_VERSION,RUN_MANIFEST_FILE,RUN_SOURCES_FILE,RunnerAdapterNotFoundError,RunnerNotConfiguredError,SCENARIOS_INDEX_DIR,SCENARIOS_LATEST_FILE,SCENARIO_RECENT_WINDOW,SECRETS_FILE,SEGMENT_NAME_FORBIDDEN_RE,SNAPSHOTS_SUBDIR,STDERR_FILE,STDOUT_FILE,STEPS_FILE,TERMINAL_RUNTIME_STATES,TERMINAL_WS_EVENT,UNOTEST_DIR,UnplaceableRunIdError,UnsupportedRunKindError,activeEnvName,blobPathFor,blobRelPathFor,blobRelSegmentsFor,blobsRootFor,categorizeVariable,debugDirFor,debuggerFileFor,deleteShadowWarning,envFileFor,envKeys,envLayerFilesFor,envNamesFromDirListing,foldScenarioRun,insertEnvVar,isAnnotationLine,isExternalVarName,isFailingStatus,isRegexLiteral,isRunnerConfigKey,isRunsDirName,isTerminalRuntimeState,makeRunId,parseAppServerEvent,parseEnvContent,parseScenarioAnnotations,planAddVariable,projectRunDirFor,projectRunsRoot,regexLiteral,removeEnvVar,requireRunDirFor,runDirFor,runIdStartedAt,runsDirFor,sanitizeRunIdSegment,scenarioIndexFileName,scenarioRefFromFileName,secretsFileFor,secretsLayerFilesFor,serializeEnvValue,shardDaysDescending,shardDirFor,shardPathForRunId,shardPathForTimestamp,testDirFor,validateCollectionName,validateSegmentName};
1
+ const _0x116ffa=_0x200a;(function(_0x27d94b,_0x35e3c4){const _0x3b833b={_0x50921b:0x22d,_0x3e1358:0x1ee,_0x475ede:0x1f9,_0x3e45ae:0x198,_0xa50cb2:0x1c1},_0x41b16b=_0x200a,_0x4bb2f7=_0x27d94b();while(!![]){try{const _0x21bd0a=-parseInt(_0x41b16b(_0x3b833b._0x50921b))/0x1*(parseInt(_0x41b16b(0x205))/0x2)+parseInt(_0x41b16b(0x256))/0x3*(-parseInt(_0x41b16b(0x215))/0x4)+parseInt(_0x41b16b(0x192))/0x5+-parseInt(_0x41b16b(_0x3b833b._0x3e1358))/0x6*(-parseInt(_0x41b16b(0x1b1))/0x7)+-parseInt(_0x41b16b(_0x3b833b._0x475ede))/0x8+parseInt(_0x41b16b(0x1c5))/0x9+-parseInt(_0x41b16b(_0x3b833b._0x3e45ae))/0xa*(-parseInt(_0x41b16b(_0x3b833b._0xa50cb2))/0xb);if(_0x21bd0a===_0x35e3c4)break;else _0x4bb2f7['push'](_0x4bb2f7['shift']());}catch(_0x58da1c){_0x4bb2f7['push'](_0x4bb2f7['shift']());}}}(_0x3720,0x26e1e));var __defProp=Object['defineProperty'],__name=(_0x2fdceb,_0x5693e4)=>__defProp(_0x2fdceb,'name',{'value':_0x5693e4,'configurable':!![]});function parseAppServerEvent(_0x4b2a3a){const _0x47d636={_0x5171bc:0x1e8,_0x596675:0x201},_0x3ec199=_0x200a,_0x423c72=_0x4b2a3a[_0x3ec199(0x204)]();if(!_0x423c72[_0x3ec199(0x1a1)]('{'))return null;try{const _0x3a522f=JSON[_0x3ec199(_0x47d636._0x5171bc)](_0x423c72);if(_0x3a522f[_0x3ec199(_0x47d636._0x596675)]===_0x3ec199(0x24b)||_0x3a522f[_0x3ec199(0x201)]===_0x3ec199(0x1fe)||_0x3a522f[_0x3ec199(_0x47d636._0x596675)]===_0x3ec199(0x219))return _0x3a522f;return null;}catch{return null;}}__name(parseAppServerEvent,'parseAppServerEvent');var UNOTEST_DIR=_0x116ffa(0x1ac),E2E_SUBDIR=_0x116ffa(0x221),HELPERS_SUBDIR=_0x116ffa(0x19a),COLLECTIONS_SUBDIR='_collections',RUNS_SUBDIR=_0x116ffa(0x193),SNAPSHOTS_SUBDIR='.snapshots';function testDirFor(_0x106fc4){return''+E2E_SUBDIR+_0x106fc4;}__name(testDirFor,_0x116ffa(0x230));function runsDirFor(_0x2974be,_0x162c18){return''+RUNS_SUBDIR+_0x2974be+(_0x162c18?'.'+_0x162c18:'');}__name(runsDirFor,'runsDirFor');function isRunsDirName(_0x145273){const _0x5afd98=_0x116ffa;return _0x145273===RUNS_SUBDIR||_0x145273['startsWith'](RUNS_SUBDIR+'-')||_0x145273[_0x5afd98(0x1a1)](RUNS_SUBDIR+'.');}__name(isRunsDirName,'isRunsDirName');function debugDirFor(_0xcf836c){return'.debug'+_0xcf836c;}__name(debugDirFor,'debugDirFor');function debuggerFileFor(_0x16de6e){const _0x4cbdc4={_0xf4522a:0x253},_0x1c5387=_0x116ffa;return UNOTEST_DIR+_0x1c5387(_0x4cbdc4._0xf4522a)+_0x16de6e+_0x1c5387(0x1dd);}__name(debuggerFileFor,_0x116ffa(0x220));var LOCK_FILE=_0x116ffa(0x254),LOG_FILE=_0x116ffa(0x1b5),STEPS_FILE=_0x116ffa(0x1b8),HEARTBEAT_FILE='heartbeat',DAY_INDEX_FILE=_0x116ffa(0x21d),SCENARIOS_INDEX_DIR=_0x116ffa(0x21f),SCENARIOS_LATEST_FILE=_0x116ffa(0x23b),STDOUT_FILE=_0x116ffa(0x1c9),STDERR_FILE=_0x116ffa(0x1fb),COMMANDS_FILE=_0x116ffa(0x1f8),RUNTIME_FILE=_0x116ffa(0x1ce),PICKER_SNAPSHOT_FILE=_0x116ffa(0x1db),ENV_FILE=_0x116ffa(0x1d0),SECRETS_FILE=_0x116ffa(0x21b);function envFileFor(_0x5bd1e4,_0x2e743d){return''+ENV_FILE+_0x5bd1e4+(_0x2e743d?'.'+_0x2e743d:'');}__name(envFileFor,_0x116ffa(0x24d));function secretsFileFor(_0x136521,_0x41fd37){return''+SECRETS_FILE+_0x136521+(_0x41fd37?'.'+_0x41fd37:'');}__name(secretsFileFor,'secretsFileFor');function envLayerFilesFor(_0x5ac52a,_0x14db69){return layersFor(ENV_FILE,_0x5ac52a,_0x14db69);}__name(envLayerFilesFor,_0x116ffa(0x1d9));function secretsLayerFilesFor(_0x47592e,_0x490ee8){return layersFor(SECRETS_FILE,_0x47592e,_0x490ee8);}__name(secretsLayerFilesFor,'secretsLayerFilesFor');function layersFor(_0x29c4c0,_0x5f02fb,_0x45116d){const _0xfdf440={_0x464695:0x233,_0x50a7da:0x233},_0x26c25a=_0x116ffa,_0x6d0fe7=[_0x29c4c0];if(_0x5f02fb)_0x6d0fe7[_0x26c25a(_0xfdf440._0x464695)](''+_0x29c4c0+_0x5f02fb);if(_0x45116d){_0x6d0fe7['push'](_0x29c4c0+'.'+_0x45116d);if(_0x5f02fb)_0x6d0fe7[_0x26c25a(_0xfdf440._0x50a7da)](''+_0x29c4c0+_0x5f02fb+'.'+_0x45116d);}return _0x6d0fe7;}__name(layersFor,_0x116ffa(0x255));function activeEnvName(_0x43df25){const _0x42b4b7={_0x469696:0x218},_0x2350f5=_0x116ffa,_0x5bf6fa=_0x43df25[_0x2350f5(_0x42b4b7._0x469696)]?.[_0x2350f5(0x204)]();return _0x5bf6fa?_0x5bf6fa:void 0x0;}__name(activeEnvName,_0x116ffa(0x1a0));var RESERVED_ENV_NAMES=new Set([_0x116ffa(0x19e),_0x116ffa(0x1e3),_0x116ffa(0x1e0)]);function envNamesFromDirListing(_0x955c6d,_0x5f5207){const _0x325dd7={_0xf8fcb6:0x1ad,_0x4a620f:0x22b,_0x1cdba3:0x227},_0x1b40f8=_0x116ffa,_0x3eed55=['.env',_0x1b40f8(_0x325dd7._0xf8fcb6)][_0x1b40f8(0x1be)](_0x2e2d63=>_0x5f5207?[_0x2e2d63,''+_0x2e2d63+_0x5f5207]:[_0x2e2d63]),_0xabae84=new Set();for(const _0x298448 of _0x955c6d){for(const _0x22ddfa of _0x3eed55){const _0x32028e=_0x22ddfa+'.';if(!_0x298448[_0x1b40f8(0x1a1)](_0x32028e))continue;const _0x43c6f5=_0x298448[_0x1b40f8(0x1d4)](_0x32028e[_0x1b40f8(_0x325dd7._0x4a620f)]);if(!_0x43c6f5||_0x43c6f5['includes']('/'))continue;if(RESERVED_ENV_NAMES[_0x1b40f8(0x20f)](_0x43c6f5))continue;_0xabae84['add'](_0x43c6f5);}}return[..._0xabae84][_0x1b40f8(_0x325dd7._0x1cdba3)]();}__name(envNamesFromDirListing,_0x116ffa(0x252));function isRegexLiteral(_0x3b302f){const _0xade919={_0xb288f:0x1cf,_0x83ae3a:0x201,_0x33be99:0x1a7,_0x259f1d:0x1a3,_0x4fd395:0x1ae,_0x363e30:0x20d,_0x365b33:0x1ae},_0x1154c1=_0x116ffa;return typeof _0x3b302f===_0x1154c1(_0xade919._0xb288f)&&_0x3b302f!==null&&_0x3b302f[_0x1154c1(_0xade919._0x83ae3a)]===_0x1154c1(_0xade919._0x33be99)&&typeof _0x3b302f[_0x1154c1(_0xade919._0x259f1d)]===_0x1154c1(_0xade919._0x4fd395)&&typeof _0x3b302f[_0x1154c1(_0xade919._0x363e30)]===_0x1154c1(_0xade919._0x365b33);}__name(isRegexLiteral,_0x116ffa(0x206));function regexLiteral(_0x1787b3,_0x2d4b37=''){const _0xacd23={_0x465b79:0x1a7},_0x4c7b5=_0x116ffa;return{'kind':_0x4c7b5(_0xacd23._0x465b79),'source':_0x1787b3,'flags':_0x2d4b37};}__name(regexLiteral,_0x116ffa(0x1d5));var RAND_BYTES=0x6;function makeRunId(_0x40f8d5){const _0x14a3d0={_0x23ecdc:0x1c2,_0x198ad8:0x1c4,_0x5ea264:0x22e,_0x9cc54:0x257},_0x28117a=_0x116ffa,_0x215022=sanitizeRunIdSegment(_0x40f8d5),_0x4d2521=Date[_0x28117a(_0x14a3d0._0x23ecdc)]()[_0x28117a(_0x14a3d0._0x198ad8)](0x24),_0x1a457a=new Uint8Array(RAND_BYTES);globalThis[_0x28117a(_0x14a3d0._0x5ea264)]['getRandomValues'](_0x1a457a);let _0x2fe692='';for(let _0x3c838b=0x0;_0x3c838b<_0x1a457a[_0x28117a(0x22b)];_0x3c838b++){_0x2fe692+=_0x1a457a[_0x3c838b]['toString'](0x10)[_0x28117a(_0x14a3d0._0x9cc54)](0x2,'0');}return _0x215022+'-'+_0x4d2521+'-'+_0x2fe692;}__name(makeRunId,_0x116ffa(0x1b3));function sanitizeRunIdSegment(_0x39dd64){const _0x410dea={_0x4e9038:0x199,_0x2e3dbb:0x1fa},_0x1e9796=_0x116ffa,_0x24eb05=_0x39dd64[_0x1e9796(0x199)](/[^a-zA-Z0-9_-]+/g,'-')[_0x1e9796(0x199)](/-+/g,'-')[_0x1e9796(_0x410dea._0x4e9038)](/^-|-$/g,'');return _0x24eb05[_0x1e9796(0x22b)]>0x0?_0x24eb05:_0x1e9796(_0x410dea._0x2e3dbb);}__name(sanitizeRunIdSegment,_0x116ffa(0x23f));var RANDOM_SUFFIX_RE=/^[0-9a-f]{6,}$/,MIN_PLAUSIBLE_MS=Date[_0x116ffa(0x236)](0x7e4,0x0,0x1),MAX_PLAUSIBLE_MS=Date[_0x116ffa(0x236)](0x834,0x0,0x1);function runIdStartedAt(_0x56cc1b){const _0x4592e0={_0x1bb4f6:0x203,_0xd76748:0x22b,_0x3e0c90:0x1dc,_0x3eb56f:0x19c},_0x1845f9=_0x116ffa,_0x23cf06=_0x56cc1b[_0x1845f9(_0x4592e0._0x1bb4f6)]('-');if(_0x23cf06[_0x1845f9(0x22b)]<0x3)return null;const _0x418603=_0x23cf06[_0x23cf06[_0x1845f9(_0x4592e0._0xd76748)]-0x1];if(!RANDOM_SUFFIX_RE[_0x1845f9(_0x4592e0._0x3e0c90)](_0x418603))return null;const _0x241189=_0x23cf06[_0x23cf06['length']-0x2];if(!/^[0-9a-z]+$/[_0x1845f9(0x1dc)](_0x241189))return null;const _0x148cf3=parseInt(_0x241189,0x24);if(!Number[_0x1845f9(_0x4592e0._0x3eb56f)](_0x148cf3))return null;if(_0x148cf3<MIN_PLAUSIBLE_MS||_0x148cf3>=MAX_PLAUSIBLE_MS)return null;return _0x148cf3;}__name(runIdStartedAt,_0x116ffa(0x1bb));function shardPathForTimestamp(_0x560f6f){const _0x61263d={_0x36f5b6:0x216,_0x24f188:0x257,_0x203e7e:0x228},_0x5a5b54=_0x116ffa,_0x550c56=new Date(_0x560f6f),_0x4a8b4b=String(_0x550c56[_0x5a5b54(0x251)]())['padStart'](0x4,'0'),_0x1e1cf0=String(_0x550c56[_0x5a5b54(_0x61263d._0x36f5b6)]()+0x1)[_0x5a5b54(_0x61263d._0x24f188)](0x2,'0'),_0x1a6176=String(_0x550c56[_0x5a5b54(_0x61263d._0x203e7e)]())[_0x5a5b54(_0x61263d._0x24f188)](0x2,'0');return _0x4a8b4b+'/'+_0x1e1cf0+'/'+_0x1a6176;}__name(shardPathForTimestamp,_0x116ffa(0x239));function shardPathForRunId(_0x4053b1){const _0x883260=runIdStartedAt(_0x4053b1);return _0x883260===null?null:shardPathForTimestamp(_0x883260);}__name(shardPathForRunId,_0x116ffa(0x245));function runDirFor(_0x49437f,_0x37e309){const _0x1debde=shardPathForRunId(_0x37e309);return _0x1debde===null?null:_0x49437f+'/'+_0x1debde+'/'+_0x37e309;}__name(runDirFor,'runDirFor');var UnplaceableRunIdError=class extends Error{static{__name(this,_0x116ffa(0x1f3));}constructor(_0xda6e1d){const _0xd42bca={_0x5e0061:0x1ff},_0x1b7351=_0x116ffa;super(_0x1b7351(0x1e5)+_0xda6e1d),this[_0x1b7351(_0xd42bca._0x5e0061)]='UnplaceableRunIdError';}};function requireRunDirFor(_0x29d9c1,_0x5ec03e){const _0x477c86=runDirFor(_0x29d9c1,_0x5ec03e);if(_0x477c86===null)throw new UnplaceableRunIdError(_0x5ec03e);return _0x477c86;}__name(requireRunDirFor,_0x116ffa(0x208));function projectRunsRoot(_0x138d66='',_0x594e7e){return UNOTEST_DIR+'/'+runsDirFor(_0x138d66,_0x594e7e);}__name(projectRunsRoot,_0x116ffa(0x1f0));function projectRunDirFor(_0x3fa6ce,_0x2c3c21='',_0x12884f){return requireRunDirFor(projectRunsRoot(_0x2c3c21,_0x12884f),_0x3fa6ce);}__name(projectRunDirFor,_0x116ffa(0x1a8));function shardDirFor(_0x4db600,_0xf7fc93){return _0x4db600+'/'+shardPathForTimestamp(_0xf7fc93);}__name(shardDirFor,'shardDirFor');function*shardDaysDescending(_0x8e0f55,_0x329adf,_0x51e73d){const _0x526274={_0x21ff4:0x212},_0x4b75cb=_0x116ffa,_0x100b24=0x5265c00;let _0xfebec=Math[_0x4b75cb(_0x526274._0x21ff4)](_0x329adf/_0x100b24)*_0x100b24;for(let _0x406038=0x0;_0x406038<_0x51e73d;_0x406038++){yield shardDirFor(_0x8e0f55,_0xfebec),_0xfebec-=_0x100b24;}}__name(shardDaysDescending,_0x116ffa(0x1a9));var RUN_INDEX_SCHEMA_VERSION=0x2,SCENARIO_RECENT_WINDOW=0xc;function isFailingStatus(_0x43a40e){const _0x1a4329={_0x2b7f6d:0x19d},_0x8b7894=_0x116ffa;return _0x43a40e===_0x8b7894(_0x1a4329._0x2b7f6d)||_0x43a40e===_0x8b7894(0x22f);}__name(isFailingStatus,_0x116ffa(0x1e2));function foldScenarioRun(_0x47b580,_0x447118){const _0x4749f7={_0x691b5e:0x21a,_0x30e471:0x229,_0x7f13e6:0x217,_0xd545a5:0x1de,_0x242d6a:0x20a,_0x3ec600:0x229},_0x2e3005=_0x116ffa,_0x3ae930={'lastRunId':_0x447118[_0x2e3005(_0x4749f7._0x691b5e)],'lastStatus':_0x447118['status'],'lastAt':_0x447118[_0x2e3005(_0x4749f7._0x30e471)],'lastDurationMs':_0x447118[_0x2e3005(_0x4749f7._0x7f13e6)],'recent':[..._0x47b580?.[_0x2e3005(_0x4749f7._0xd545a5)]??[],_0x447118[_0x2e3005(_0x4749f7._0x242d6a)]][_0x2e3005(0x1d4)](-SCENARIO_RECENT_WINDOW)};if(!isFailingStatus(_0x447118[_0x2e3005(0x20a)]))return{..._0x3ae930,'failStreak':0x0,'failingSince':null};const _0x1c7a77=(_0x47b580?.[_0x2e3005(0x249)]??0x0)+0x1;return{..._0x3ae930,'failStreak':_0x1c7a77,'failingSince':_0x1c7a77===0x1?_0x447118[_0x2e3005(_0x4749f7._0x30e471)]:_0x47b580?.[_0x2e3005(0x1fd)]??_0x447118[_0x2e3005(_0x4749f7._0x3ec600)]};}__name(foldScenarioRun,_0x116ffa(0x225));function scenarioIndexFileName(_0x18e240){const _0x1373d9={_0x49f34c:0x1aa},_0x28bf9a=_0x116ffa;return encodeURIComponent(_0x18e240)+_0x28bf9a(_0x1373d9._0x49f34c);}__name(scenarioIndexFileName,_0x116ffa(0x23d));function scenarioRefFromFileName(_0x12d6d6){const _0x589e56={_0x3b04c3:0x1c3,_0x29da73:0x1aa,_0xa1861d:0x22b},_0xb7738c=_0x116ffa;if(!_0x12d6d6[_0xb7738c(_0x589e56._0x3b04c3)](_0xb7738c(0x1aa)))return null;try{return decodeURIComponent(_0x12d6d6['slice'](0x0,-_0xb7738c(_0x589e56._0x29da73)[_0xb7738c(_0x589e56._0xa1861d)]));}catch{return null;}}__name(scenarioRefFromFileName,_0x116ffa(0x1c7));var BLOBS_DIR=_0x116ffa(0x210),GENERATION_SEP='~',HASH_RE=/^[0-9a-f]{8,}$/,InvalidBlobHashError=class extends Error{static{__name(this,_0x116ffa(0x1bf));}constructor(_0x451f23){const _0x8983e5={_0x37ac3f:0x1e1,_0x2a3567:0x1bf},_0x31f7c5=_0x116ffa;super(_0x31f7c5(_0x8983e5._0x37ac3f)+_0x451f23),this[_0x31f7c5(0x1ff)]=_0x31f7c5(_0x8983e5._0x2a3567);}};function blobPathFor(_0x20ac1e,_0x176934,_0x3b6b8b,_0x579c4d=0x0){return _0x20ac1e+'/'+blobRelPathFor(_0x176934,_0x3b6b8b,_0x579c4d);}__name(blobPathFor,_0x116ffa(0x1f7));function blobRelSegmentsFor(_0x256a6c,_0x1fa868,_0x4082d6=0x0){const _0x1667ba={_0x3dcddd:0x1dc,_0x3054e9:0x1d4},_0x2d0cb9=_0x116ffa;if(!HASH_RE[_0x2d0cb9(_0x1667ba._0x3dcddd)](_0x256a6c))throw new InvalidBlobHashError(_0x256a6c);const _0x16fb42=_0x4082d6>0x0?''+GENERATION_SEP+_0x4082d6:'';return[BLOBS_DIR,_0x256a6c['slice'](0x0,0x2),_0x256a6c[_0x2d0cb9(_0x1667ba._0x3054e9)](0x2,0x4),''+_0x256a6c+_0x16fb42+'.'+_0x1fa868];}__name(blobRelSegmentsFor,_0x116ffa(0x224));function blobRelPathFor(_0x98dd8b,_0x30ecb5,_0x3dee9a=0x0){const _0x6aa748=_0x116ffa;return blobRelSegmentsFor(_0x98dd8b,_0x30ecb5,_0x3dee9a)[_0x6aa748(0x1fc)]('/');}__name(blobRelPathFor,_0x116ffa(0x235));function blobsRootFor(_0x52d308){return _0x52d308+'/'+BLOBS_DIR;}__name(blobsRootFor,'blobsRootFor');var FS_UNSAFE_NAME_RE=/[\\/:*?"<>|\x00-\x1f]/;function validateFsSafeName(_0x3a6953,_0x1bf7bc){const _0x11e8e3={_0x147c62:0x213,_0x36f100:0x1a1,_0x38c626:0x1dc,_0x538be5:0x190},_0x5812f7=_0x116ffa;if(typeof _0x3a6953!==_0x5812f7(0x1ae))return _0x5812f7(0x1b9);const _0x3753f8=_0x3a6953[_0x5812f7(0x204)]();if(_0x3753f8[_0x5812f7(0x22b)]===0x0)return _0x5812f7(_0x11e8e3._0x147c62);if(_0x3753f8==='.'||_0x3753f8==='..')return _0x5812f7(0x1c0);if(_0x3753f8['startsWith']('.'))return _0x5812f7(0x1bd);if(_0x1bf7bc?.['reservedUnderscore']&&_0x3753f8[_0x5812f7(_0x11e8e3._0x36f100)]('_'))return _0x5812f7(0x214);if(FS_UNSAFE_NAME_RE[_0x5812f7(_0x11e8e3._0x38c626)](_0x3753f8))return _0x5812f7(_0x11e8e3._0x538be5);return null;}__name(validateFsSafeName,'validateFsSafeName');var COLLECTION_NAME_FORBIDDEN_RE=FS_UNSAFE_NAME_RE;function validateCollectionName(_0xbf7997){return validateFsSafeName(_0xbf7997);}__name(validateCollectionName,_0x116ffa(0x211));var RUN_MANIFEST_FILE=_0x116ffa(0x1f4),RUN_SOURCES_FILE=_0x116ffa(0x23e),UnsupportedRunKindError=class extends Error{static{__name(this,'UnsupportedRunKindError');}constructor(_0x1326a7,_0x8f0dfe){const _0x8d00cb=_0x116ffa;super(_0x8d00cb(0x1b4)+_0x8f0dfe+'\x22\x20does\x20not\x20support\x20run\x20kind\x20\x22'+_0x1326a7+'\x22'),this[_0x8d00cb(0x1ff)]=_0x8d00cb(0x1ab);}},RunnerAdapterNotFoundError=class extends Error{static{__name(this,_0x116ffa(0x1c8));}constructor(_0x1df3b8,_0x4f1c2f){const _0x563bd0={_0x3619dc:0x1c8},_0x3db583=_0x116ffa;super(_0x3db583(0x1d2)+_0x1df3b8+'\x22.\x20'+_0x4f1c2f),this['name']=_0x3db583(_0x563bd0._0x3619dc);}},RunnerNotConfiguredError=class extends Error{static{__name(this,'RunnerNotConfiguredError');}constructor(_0x5b9213){const _0x4634f5=_0x116ffa;super(_0x5b9213),this['name']=_0x4634f5(0x24f);}},EXPECT_FAIL_ANNOTATION=_0x116ffa(0x24e),ANNOTATION_RE=/^\s*\/\/\s*@([a-z0-9-]+)\s*$/;function isAnnotationLine(_0x5c46d8){const _0x3983d1=_0x116ffa;return ANNOTATION_RE[_0x3983d1(0x1dc)](_0x5c46d8);}__name(isAnnotationLine,_0x116ffa(0x1da));function parseScenarioAnnotations(_0x462107){const _0x3d0db1={_0x416c76:0x203,_0x48b427:0x204,_0x1fa3b2:0x19b,_0x54b36b:0x1b7,_0x2f4303:0x20f},_0x541bd0=_0x116ffa,_0x57f215=new Set();for(const _0x3cbef5 of _0x462107[_0x541bd0(_0x3d0db1._0x416c76)](/\r?\n/)){const _0x4ef1b1=_0x3cbef5[_0x541bd0(_0x3d0db1._0x48b427)]();if(_0x4ef1b1==='')continue;if(!_0x4ef1b1['startsWith']('//'))break;const _0xf7b62d=_0x4ef1b1[_0x541bd0(_0x3d0db1._0x1fa3b2)](ANNOTATION_RE);if(_0xf7b62d)_0x57f215[_0x541bd0(_0x3d0db1._0x54b36b)](_0xf7b62d[0x1]);}return{'expectFail':_0x57f215[_0x541bd0(_0x3d0db1._0x2f4303)](EXPECT_FAIL_ANNOTATION)};}__name(parseScenarioAnnotations,_0x116ffa(0x1d3));var SEGMENT_NAME_FORBIDDEN_RE=FS_UNSAFE_NAME_RE;function validateSegmentName(_0x29442b){return validateFsSafeName(_0x29442b,{'reservedUnderscore':!![]});}__name(validateSegmentName,_0x116ffa(0x1bc));var TERMINAL_WS_EVENT=_0x116ffa(0x22a),RUNNER_CONFIG_KEYS=new Set([_0x116ffa(0x194),_0x116ffa(0x244),_0x116ffa(0x222),'UNOTEST_DEFAULT_TIMEOUT_MS',_0x116ffa(0x1ca),_0x116ffa(0x1af),_0x116ffa(0x21c),_0x116ffa(0x22c),_0x116ffa(0x238),_0x116ffa(0x1f6),_0x116ffa(0x24a),_0x116ffa(0x209),_0x116ffa(0x247),_0x116ffa(0x1ec),_0x116ffa(0x1cc),'UNOTEST_NETWORK',_0x116ffa(0x200),_0x116ffa(0x1a4),_0x116ffa(0x196),_0x116ffa(0x234),'DATABASE_URL']);function isRunnerConfigKey(_0x3251fb){return RUNNER_CONFIG_KEYS['has'](_0x3251fb);}__name(isRunnerConfigKey,_0x116ffa(0x20b));function categorizeVariable(_0x436e22){const _0x10574c={_0x36af99:0x1a5,_0x18105c:0x1df,_0x1941f8:0x1cd,_0x4f6b76:0x23c},_0x366658=_0x116ffa;if(_0x436e22[_0x366658(0x1a3)]===_0x366658(_0x10574c._0x36af99))return _0x366658(_0x10574c._0x18105c);return isRunnerConfigKey(_0x436e22[_0x366658(0x1ff)])?_0x366658(_0x10574c._0x1941f8):_0x366658(_0x10574c._0x4f6b76);}__name(categorizeVariable,_0x116ffa(0x232));function isExternalVarName(_0x497bd1){const _0xf21306=_0x116ffa;return/^[A-Z][A-Z0-9_]*$/[_0xf21306(0x1dc)](_0x497bd1);}__name(isExternalVarName,_0x116ffa(0x1c6));var ENV_KEY_RE=/^[A-Za-z_][A-Za-z0-9_]*$/;function*assignmentEntries(_0x5ce775){const _0x34aab4={_0x1f020e:0x204,_0x35d136:0x204},_0x1d3b6c=_0x116ffa;for(const _0x422ae3 of _0x5ce775['split'](/\r?\n/)){const _0x460768=_0x422ae3[_0x1d3b6c(_0x34aab4._0x1f020e)]();if(_0x460768===''||_0x460768['startsWith']('#'))continue;const _0xec2378=_0x460768[_0x1d3b6c(0x1d6)]('=');if(_0xec2378<=0x0)continue;const _0x2deb23=_0x460768[_0x1d3b6c(0x1d4)](0x0,_0xec2378)[_0x1d3b6c(_0x34aab4._0x35d136)]();if(!ENV_KEY_RE['test'](_0x2deb23))continue;yield[_0x2deb23,_0x460768['slice'](_0xec2378+0x1)[_0x1d3b6c(0x204)]()];}}__name(assignmentEntries,_0x116ffa(0x1f5));function parseEnvContent(_0x51693e){const _0x10d785={_0x57ef42:0x22b},_0x45bef5=_0x116ffa,_0x1d17ed={};for(const [_0x217904,_0x44afe4]of assignmentEntries(_0x51693e)){let _0x2c63df=_0x44afe4;if(_0x2c63df[_0x45bef5(_0x10d785._0x57ef42)]>=0x2){const _0x3686e3=_0x2c63df[0x0],_0x1138d3=_0x2c63df[_0x2c63df['length']-0x1];(_0x3686e3==='\x22'||_0x3686e3==='\x27')&&_0x3686e3===_0x1138d3&&(_0x2c63df=_0x2c63df['slice'](0x1,-0x1));}_0x1d17ed[_0x217904]=_0x2c63df;}return _0x1d17ed;}__name(parseEnvContent,_0x116ffa(0x197));function serializeEnvValue(_0xd741d5){const _0x2e786a={_0x5299fd:0x199},_0x2995ba=_0x116ffa;if(_0xd741d5==='')return'';if(/[\s#"'=\\]|^[`]/[_0x2995ba(0x1dc)](_0xd741d5)||/[\n\r]/[_0x2995ba(0x1dc)](_0xd741d5)){const _0x30198c=_0xd741d5[_0x2995ba(_0x2e786a._0x5299fd)](/\\/g,'\x5c\x5c')[_0x2995ba(0x199)](/"/g,'\x5c\x22')['replace'](/\n/g,'\x5cn')[_0x2995ba(_0x2e786a._0x5299fd)](/\r/g,'\x5cr');return'\x22'+_0x30198c+'\x22';}return _0xd741d5;}__name(serializeEnvValue,_0x116ffa(0x1b0));function envKeys(_0x296c6b){const _0x30b099=_0x116ffa,_0xc8708=new Set();for(const [_0xd5d4]of assignmentEntries(_0x296c6b))_0xc8708[_0x30b099(0x1b7)](_0xd5d4);return _0xc8708;}__name(envKeys,_0x116ffa(0x1ea));function _0x200a(_0x51d4d2,_0x3e5daa){_0x51d4d2=_0x51d4d2-0x190;const _0x372062=_0x3720();let _0x200a84=_0x372062[_0x51d4d2];if(_0x200a['MCMcFo']===undefined){var _0x52222a=function(_0xd14038){const _0x51a2e5='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2fdceb='',_0x5693e4='';for(let _0x4b2a3a=0x0,_0x423c72,_0x3a522f,_0x106fc4=0x0;_0x3a522f=_0xd14038['charAt'](_0x106fc4++);~_0x3a522f&&(_0x423c72=_0x4b2a3a%0x4?_0x423c72*0x40+_0x3a522f:_0x3a522f,_0x4b2a3a++%0x4)?_0x2fdceb+=String['fromCharCode'](0xff&_0x423c72>>(-0x2*_0x4b2a3a&0x6)):0x0){_0x3a522f=_0x51a2e5['indexOf'](_0x3a522f);}for(let _0x2974be=0x0,_0x162c18=_0x2fdceb['length'];_0x2974be<_0x162c18;_0x2974be++){_0x5693e4+='%'+('00'+_0x2fdceb['charCodeAt'](_0x2974be)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5693e4);};_0x200a['byJvYc']=_0x52222a,_0x200a['TBToYo']={},_0x200a['MCMcFo']=!![];}const _0xeba26c=_0x372062[0x0],_0x74ad2=_0x51d4d2+_0xeba26c,_0x32e171=_0x200a['TBToYo'][_0x74ad2];return!_0x32e171?(_0x200a84=_0x200a['byJvYc'](_0x200a84),_0x200a['TBToYo'][_0x74ad2]=_0x200a84):_0x200a84=_0x32e171,_0x200a84;}function isSectionDivider(_0x42fdc8){const _0x4aa885={_0xe589b6:0x204,_0x548675:0x1dc},_0x29afed=_0x116ffa,_0xeeb1ed=_0x42fdc8[_0x29afed(_0x4aa885._0xe589b6)]();return _0xeeb1ed[_0x29afed(0x1a1)]('#')&&/---/[_0x29afed(_0x4aa885._0x548675)](_0xeeb1ed);}__name(isSectionDivider,_0x116ffa(0x1d7));function isAssignmentLine(_0x309764){const _0x107f2c={_0x4d5411:0x1d4,_0x214e1c:0x204},_0x445574=_0x116ffa,_0x39f315=_0x309764[_0x445574(0x204)]();if(_0x39f315===''||_0x39f315['startsWith']('#'))return![];const _0x122023=_0x39f315[_0x445574(0x1d6)]('=');return _0x122023>0x0&&ENV_KEY_RE[_0x445574(0x1dc)](_0x39f315[_0x445574(_0x107f2c._0x4d5411)](0x0,_0x122023)[_0x445574(_0x107f2c._0x214e1c)]());}__name(isAssignmentLine,_0x116ffa(0x1ba));function isAssignmentOf(_0x582f49,_0x4765f4){const _0x1a687c={_0x1b3e7f:0x204,_0x5cc4a8:0x1d6},_0x37b60d=_0x116ffa,_0x22c9b9=_0x582f49[_0x37b60d(_0x1a687c._0x1b3e7f)]();if(_0x22c9b9===''||_0x22c9b9['startsWith']('#'))return![];const _0x20c7ad=_0x22c9b9[_0x37b60d(_0x1a687c._0x5cc4a8)]('=');if(_0x20c7ad<=0x0)return![];return _0x22c9b9[_0x37b60d(0x1d4)](0x0,_0x20c7ad)[_0x37b60d(0x204)]()===_0x4765f4;}__name(isAssignmentOf,'isAssignmentOf');function splitLines(_0x6cf080){const _0x572b9e=_0x116ffa,_0x5a4908=_0x6cf080[_0x572b9e(0x1c3)]('\x0a'),_0x246548=_0x5a4908?_0x6cf080['slice'](0x0,-0x1):_0x6cf080;return{'lines':_0x246548===''?[]:_0x246548['split']('\x0a'),'trailingNewline':_0x5a4908};}__name(splitLines,_0x116ffa(0x250));function joinLines(_0x48997e,_0x40a33e){const _0x53f527={_0x1412f7:0x1fc},_0x1fa990=_0x116ffa,_0x36b9fd=_0x48997e[_0x1fa990(_0x53f527._0x1412f7)]('\x0a');return _0x40a33e||_0x36b9fd===''?_0x36b9fd+'\x0a':_0x36b9fd;}__name(joinLines,_0x116ffa(0x1d8));function _0x3720(){const _0x5c9c38=['vu5pvevtvf9kvurhrv9vuKW','AgfZ','x2jSB2jZ','DMfSAwrHDgvdB2XSzwn0Aw9UtMfTzq','zMXVB3i','BxvZDcbUB3qGyMuGzw1WDhK','BxvZDcbUB3qGC3rHCNqGD2L0AcaNxYCGkhjLC2vYDMvKkq','nhvdCvfWtq','z2v0vvrdtw9UDgG','zhvYyxrPB25nCW','vu5pvevtvf9ftLy','yxbWlxnLCNzLCJPLCNjVCG','CNvUswq','Dw5VDgvZDc8UC2vJCMv0CW','vu5pvevtvf9mt0nbteu','x2rHEs5QC29UBa','Dw5RBM93BI1YDw5UzxiTA2v5','x3nJzw5HCMLVCW','zgvIDwDNzxjgAwXLrM9Y','ztjL','vu5pvevtvf9tte9xx01p','vu5pvevtvf9kvurhrv9bq0nfu1nFve9lru4','yMXVyLjLBfnLz21LBNrZrM9Y','zM9SzfnJzw5HCMLVuNvU','Dg9mB3DLCKnHC2u','C29YDa','z2v0vvrdrgf0zq','C3rHCNrLzef0','DgvYBwLUywW','BgvUz3rO','vu5pvevtvf9usu1fwK9orq','mJq1nZa0D0TOzxfk','y3j5ChrV','Aw50zxjYDxb0zwq','DgvZDerPCKzVCG','iokaLcbWAwnRigeGzgLMzMvYzw50ig5HBwuGB3iGzwrPDcb0AguGzxHPC3rPBMCGDMfSDwuU','y2f0zwDVCML6zvzHCMLHyMXL','ChvZAa','rK9sq0vFq09mt1i','yMXVyLjLBfbHDgHgB3i','vvrd','y29TCgXLDgvK','vu5pvevtvf9mt0DFtevwruW','C2HHCMrqyxrOrM9YvgLTzxn0yw1W','Aw52ywXPzc1Uyw1L','x2XHDgvZDc5QC29U','yxbW','C2nLBMfYAw9jBMrLEezPBgvoyw1L','C291CMnLCY5QC29U','C2fUAxrPEMvsDw5jzfnLz21LBNq','vu5pvevtvf9kvurhrv9nt0rfta','Aw5Zzxj0rw52vMfY','uNvUBMvY','vu5pvevtvf9kvurhrv9ut0TftG','vu5pvevtvf9iruferuq','C2HHCMrqyxrOrM9YuNvUswq','zhvWBgLJyxrL','vu5pvevtvf9erujvr19quKvwsuvxx0jzvevt','ic0Tlq','zMfPBfn0CMvHAW','vu5pvevtvf9erujvr19esvi','yxbWlxnLCNzLCJPYzwfKEq','l2P1zgDL','zw52rMLSzuzVCG','zxHWzwn0lwzHAwW','uNvUBMvYtM90q29UzMLNDxjLzevYCM9Y','C3bSAxrmAw5LCW','z2v0vvrdrNvSBfLLyxi','zw52tMfTzxngCM9TrgLYtgLZDgLUzW','lY5Kzwj1z2DLCG','lNzPzxDLCI5SB2nR','Bgf5zxjZrM9Y','ntGWndC2whbUtLbg','CgfKu3rHCNq','BxvZDcbUB3qGy29UDgfPBIbCic8GoIaQid8GiIa8id4GFcbVCIbJB250CM9SignOyxjHy3rLCNm','zw52','mteXnZCWshjjA3fo','lNj1BNm','vu5pvevtvf9cuK9xu0vs','vu5pvevtvf9kvurhrv9qt1ju','tK9Fq09mt1i','CgfYC2vfBNzdB250zw50','mtbnDgLPvNi','CMvWBgfJzq','x2HLBhbLCNm','Bwf0y2G','AxngAw5PDgu','zMfPBgvK','zxHHBxbSzq','vu5pvevtvf9kvurhrv9srvrssuvt','ywn0AxzLrw52tMfTzq','C3rHCNrZv2L0Aa','AxnuzxjTAw5HBfj1BNrPBwvtDgf0zq','C291CMnL','vu5pvevtvf9dqunirv9esvi','C2vJCMv0CW','igLZigfSC28GC2v0igLUihvUB3rLC3qVlMvUDIdIGjqGDgHLihnLy3jLDcb2ywX1zsbUB3CGC2HHzg93CYbPDc4','CMvNzxG','ChjVAMvJDfj1BKrPCKzVCG','C2HHCMreyxLZrgvZy2vUzgLUzW','lMPZB25S','vw5ZDxbWB3j0zwrsDw5lAw5KrxjYB3i','Dw5VDgvZDa','lNnLy3jLDhm','C3rYAw5N','vu5pvevtvf9qt1bvuf9huKfdrv9nuW','C2vYAwfSAxPLrw52vMfSDwu','odyWm2ruu0j3sq','igLZigfSC28GC2v0igLUihLVDxiGC2HLBgWGzw52AxjVBM1LBNqG4OcuigL0ihDPBgWGA2vLCcbYzxnVBhzPBMCGzNjVBsb0AgvYzsaODgHLigvUDMLYB25Tzw50ihDPBNmGB3zLCIb0AguGzMLSzsKU','BwfRzvj1BKLK','CNvUBMvYici','lNzPzxDLCI5SB2C','vu5pvevtvf9kvurhrv9dtefvrevFqKLo','ywrK','C3rLChmUANnVBMW','BxvZDcbIzsbHihn0CMLUzW','AxnbC3nPz25Tzw50tgLUzq','CNvUswrtDgfYDgvKqxq','DMfSAwrHDgvtzwDTzw50tMfTzq','BxvZDcbUB3qGC3rHCNqGD2L0AcaNlIC','zMXHDe1HCa','sw52ywXPzejSB2jiyxnOrxjYB3i','BxvZDcbUB3qGyMuGiI4Iig9YiciUlIi','mZiZmZqZovfIB09Puq','BM93','zw5KC1DPDgG','Dg9tDhjPBMC','mJu5mdy4nKPxrLHktq','AxnfEhrLCM5HBfzHCK5HBwu','C2nLBMfYAw9szwzgCM9TrMLSzu5HBwu','uNvUBMvYqwrHChrLCK5VDezVDw5KrxjYB3i','C3rKB3v0lMXVzW','vu5pvevtvf9eruzbvuXux05bvKLhqvrjt05FveLnru9vvf9nuW','ywjVCNrLza','vu5pvevtvf9erujvr19lruvqx0nbteXt','CNvUBMvY','CNvUDgLTzs5QC29U','B2jQzwn0','Dw5VDgvZDc8Uzw52','ig11C3qGyMuGvvbqrvjFu05bs0uGkguUzY4Gqvbqx0jbu0vFvvjmksbZBYbHihnJzw5HCMLVignHBIbYzwzLCMvUy2uGAxqGyNKGBMfTzs4','y2fUBM90igXVywqGCNvUBMvYigfKyxb0zxiGiG','CgfYC2vty2vUyxjPB0fUBM90yxrPB25Z','C2XPy2u','CMvNzxHmAxrLCMfS','Aw5KzxHpzG','Axntzwn0Aw9UrgL2AwrLCG','AM9PBKXPBMvZ','zw52tgf5zxjgAwXLC0zVCG','AxnbBM5VDgf0Aw9UtgLUzq','CgLJA2vYlxnUyxbZAg90lNr4Da','DgvZDa','lMPZB24','CMvJzw50','C2vJCMv0','DgvTCgXHDgu','yMXVyIbOyxnOig11C3qGyMuGBg93zxjJyxnLigHLEcWGz290oIa','AxngywLSAw5Nu3rHDhvZ','C2fTCgXL','CMvTB3zLrw52vMfY','CNvUswqGy2fYCMLLCYbUBYb0Aw1LC3rHBxaSignHBM5VDcbWBgfJzsbPDcbPBIbHihnOyxjKoIa','igLZigfSC28GC2v0igLUihvUB3rLC3qVlNnLy3jLDhmG4OcuihrOzsbZzwnYzxqGDMfSDwuGC2HHzg93CYb0AgLZig9Uzs4','qxbW','CgfYC2u','iYaTls0G','zw52s2v5CW','igfSCMvHzhKGzxHPC3rZigLUia','vu5pvevtvf9erujvr19ive1mx01bwf9cwvrfuW','zgvSzxrLu2HHzg93v2fYBMLUzW','ntGYA1buALnd','CgXHBKfKzfzHCMLHyMXL','ChjVAMvJDfj1BNnsB290','vu5pvevtvf9kvurhrv9wt1rf','zw52q29UDgvUDa','vw5WBgfJzwfIBgvsDw5jzevYCM9Y','BwfUAwzLC3qUANnVBG','yxnZAwDUBwvUDevUDhjPzxm','vu5pvevtvf9erujvrW','yMXVyLbHDgHgB3i','y29TBwfUzhmUANnVBMW','otK5mJK2y3vfquDf','CNvU','C3rKzxjYlMXVzW','AM9PBG','zMfPBgLUz1nPBMnL','yxbWlxnLCNzLCJPYzxvZzwq','BMfTzq','vu5pvevtvf9dt05tt0Xf','A2LUza','vu5pvevtvf9kvurhrv9usu1ft1vux01t','C3bSAxq','DhjPBq','mMjytwXzyW','AxnszwDLEeXPDgvYywW','zMLUzeLUzgv4','CMvXDwLYzvj1BKrPCKzVCG','vu5pvevtvf9erujvr19nqvHFqLLurvm','C3rHDhvZ','AxnsDw5UzxjdB25MAwDlzxK','C3bSAwnL','zMXHz3m'];_0x3720=function(){return _0x5c9c38;};return _0x3720();}function insertEnvVar(_0x1c3ead,_0xd1d658,_0x5c73cb,_0x3ceb1e){const _0x56a147={_0x29629c:0x226,_0x360c04:0x22b,_0x33473d:0x20c,_0x31e69e:0x233,_0x5066dd:0x1e9},_0x1ff75b=_0x116ffa,_0x4837ca=_0xd1d658+'='+serializeEnvValue(_0x5c73cb),{lines:_0x17dcaa,trailingNewline:_0x1d0a69}=splitLines(_0x1c3ead);if(_0x3ceb1e){const _0x4f1014=new RegExp('\x5cb'+_0x3ceb1e[_0x1ff75b(_0x56a147._0x29629c)]()+'\x5cb'),_0x5e32a0=_0x17dcaa[_0x1ff75b(0x207)](_0x503de5=>isSectionDivider(_0x503de5)&&_0x4f1014['test'](_0x503de5['toLowerCase']()));if(_0x5e32a0!==-0x1){let _0x5cf14d=_0x17dcaa[_0x1ff75b(_0x56a147._0x360c04)];for(let _0x1020dc=_0x5e32a0+0x1;_0x1020dc<_0x17dcaa['length'];_0x1020dc++){if(isSectionDivider(_0x17dcaa[_0x1020dc])){_0x5cf14d=_0x1020dc;break;}}let _0x793ddb=-0x1,_0x571e43=-0x1;for(let _0x1bc535=_0x5e32a0+0x1;_0x1bc535<_0x5cf14d;_0x1bc535++){if(_0x17dcaa[_0x1bc535]['trim']()!=='')_0x571e43=_0x1bc535;if(isAssignmentLine(_0x17dcaa[_0x1bc535]))_0x793ddb=_0x1bc535;}const _0x13e63c=_0x793ddb>=0x0?_0x793ddb:_0x571e43,_0x1bce96=_0x13e63c>=0x0?_0x13e63c+0x1:_0x5e32a0+0x1;return _0x17dcaa[_0x1ff75b(_0x56a147._0x33473d)](_0x1bce96,0x0,_0x4837ca),joinLines(_0x17dcaa,_0x1d0a69||_0x17dcaa['length']>0x0);}if(_0x17dcaa[_0x1ff75b(_0x56a147._0x360c04)]>0x0)_0x17dcaa[_0x1ff75b(_0x56a147._0x31e69e)]('');return _0x17dcaa[_0x1ff75b(0x233)](_0x1ff75b(_0x56a147._0x5066dd)+_0x3ceb1e+_0x1ff75b(0x248),_0x4837ca),joinLines(_0x17dcaa,!![]);}return _0x17dcaa[_0x1ff75b(0x233)](_0x4837ca),joinLines(_0x17dcaa,!![]);}__name(insertEnvVar,_0x116ffa(0x241));function removeEnvVar(_0x53d48d,_0x3fbd87){const _0x170198={_0x4a5317:0x22b},_0x102fce=_0x116ffa,{lines:_0x5957d5,trailingNewline:_0x412e22}=splitLines(_0x53d48d),_0x5941c1=_0x5957d5['filter'](_0x212631=>!isAssignmentOf(_0x212631,_0x3fbd87)),_0x1a290d=_0x5941c1[_0x102fce(_0x170198._0x4a5317)]!==_0x5957d5['length'];return{'content':joinLines(_0x5941c1,_0x412e22),'removed':_0x1a290d};}__name(removeEnvVar,_0x116ffa(0x1e4));var SECTION_BY_KIND={'app':_0x116ffa(0x1e7),'runner':_0x116ffa(0x242),'secret':void 0x0};function planAddVariable(_0xd7896d){const _0x4d5793={_0x846756:0x1cd,_0x87a192:0x23a,_0x2a045e:0x1df,_0xcc073d:0x1a5,_0x3df0af:0x1a5,_0x5900fd:0x1eb,_0x58f6b2:0x1a6,_0x1ee364:0x1df},_0x596433=_0x116ffa,{name:_0x2b6413,kind:_0x774431}=_0xd7896d;if(_0x774431===_0x596433(_0x4d5793._0x846756)){if(!isRunnerConfigKey(_0x2b6413))return{'ok':![],'code':_0x596433(0x21e),'message':_0x2b6413+'\x20is\x20not\x20a\x20known\x20runner\x20setting\x20—\x20choose\x20one\x20from\x20the\x20runner-config\x20list.'};}else{if(!isExternalVarName(_0x2b6413))return{'ok':![],'code':_0x596433(_0x4d5793._0x87a192),'message':_0x2b6413+_0x596433(0x1d1)};}const _0x2fd184=envKeys(_0xd7896d[_0x596433(0x1f2)])['has'](_0x2b6413),_0x32bf83=envKeys(_0xd7896d['secretsContent'])[_0x596433(0x20f)](_0x2b6413),_0x6402d4=_0x774431===_0x596433(_0x4d5793._0x2a045e)?_0x596433(_0x4d5793._0xcc073d):_0x596433(0x191),_0x52e210=_0x6402d4===_0x596433(_0x4d5793._0x3df0af)?_0x32bf83:_0x2fd184,_0x2768d2=_0x6402d4===_0x596433(0x1a5)?'unotest/.secrets':_0x596433(0x1d0);if(_0x52e210)return{'ok':![],'code':_0x596433(0x246),'message':_0x2b6413+_0x596433(_0x4d5793._0x5900fd)+_0x2768d2+_0x596433(0x231)};const _0x5e04cf=[];return _0x774431===_0x596433(0x1df)&&_0x2fd184&&_0x5e04cf[_0x596433(0x233)](_0x2b6413+_0x596433(_0x4d5793._0x58f6b2)),_0x774431!==_0x596433(_0x4d5793._0x1ee364)&&_0x32bf83&&_0x5e04cf[_0x596433(0x233)](_0x2b6413+_0x596433(0x1e6)),{'ok':!![],'target':_0x6402d4,'sectionLabel':SECTION_BY_KIND[_0x774431],'warnings':_0x5e04cf};}__name(planAddVariable,_0x116ffa(0x1ef));function deleteShadowWarning(_0x14ad7d,_0x23b25c,_0x5c4f6e){const _0x5eaed5=_0x116ffa;if(_0x5c4f6e!==void 0x0&&_0x5c4f6e!==_0x23b25c)return[_0x14ad7d+_0x5eaed5(0x1b2)];return[];}__name(deleteShadowWarning,_0x116ffa(0x1ed));var TERMINAL_RUNTIME_STATES=[_0x116ffa(0x237),_0x116ffa(0x19d),_0x116ffa(0x1cb)];function isTerminalRuntimeState(_0x5ddc48){return TERMINAL_RUNTIME_STATES['includes'](_0x5ddc48);}__name(isTerminalRuntimeState,_0x116ffa(0x1a2));var JUDGE_ROUTES={'judge':_0x116ffa(0x24c),'health':'/health'},JUDGE_ENV={'mode':'UNOTEST_JUDGE_MODE','url':_0x116ffa(0x20e),'token':_0x116ffa(0x243),'requestTimeoutMs':_0x116ffa(0x202),'preamble':'UNOTEST_JUDGE_PREAMBLE','provider':'UNOTEST_JUDGE_PROVIDER','model':_0x116ffa(0x240),'callTimeoutMs':'UNOTEST_JUDGE_CALL_TIMEOUT_MS','retries':_0x116ffa(0x19f),'vote':_0x116ffa(0x1f1),'accessToken':_0x116ffa(0x223),'claudeBin':_0x116ffa(0x1b6),'host':'UNOTEST_JUDGE_HOST','port':_0x116ffa(0x195)};export{BLOBS_DIR,COLLECTIONS_SUBDIR,COLLECTION_NAME_FORBIDDEN_RE,COMMANDS_FILE,DAY_INDEX_FILE,E2E_SUBDIR,ENV_FILE,EXPECT_FAIL_ANNOTATION,HEARTBEAT_FILE,HELPERS_SUBDIR,InvalidBlobHashError,JUDGE_ENV,JUDGE_ROUTES,LOCK_FILE,LOG_FILE,PICKER_SNAPSHOT_FILE,RUNNER_CONFIG_KEYS,RUNS_SUBDIR,RUNTIME_FILE,RUN_INDEX_SCHEMA_VERSION,RUN_MANIFEST_FILE,RUN_SOURCES_FILE,RunnerAdapterNotFoundError,RunnerNotConfiguredError,SCENARIOS_INDEX_DIR,SCENARIOS_LATEST_FILE,SCENARIO_RECENT_WINDOW,SECRETS_FILE,SEGMENT_NAME_FORBIDDEN_RE,SNAPSHOTS_SUBDIR,STDERR_FILE,STDOUT_FILE,STEPS_FILE,TERMINAL_RUNTIME_STATES,TERMINAL_WS_EVENT,UNOTEST_DIR,UnplaceableRunIdError,UnsupportedRunKindError,activeEnvName,blobPathFor,blobRelPathFor,blobRelSegmentsFor,blobsRootFor,categorizeVariable,debugDirFor,debuggerFileFor,deleteShadowWarning,envFileFor,envKeys,envLayerFilesFor,envNamesFromDirListing,foldScenarioRun,insertEnvVar,isAnnotationLine,isExternalVarName,isFailingStatus,isRegexLiteral,isRunnerConfigKey,isRunsDirName,isTerminalRuntimeState,makeRunId,parseAppServerEvent,parseEnvContent,parseScenarioAnnotations,planAddVariable,projectRunDirFor,projectRunsRoot,regexLiteral,removeEnvVar,requireRunDirFor,runDirFor,runIdStartedAt,runsDirFor,sanitizeRunIdSegment,scenarioIndexFileName,scenarioRefFromFileName,secretsFileFor,secretsLayerFilesFor,serializeEnvValue,shardDaysDescending,shardDirFor,shardPathForRunId,shardPathForTimestamp,testDirFor,validateCollectionName,validateSegmentName};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@unotest/protocol",
3
- "version": "0.22.0",
3
+ "version": "0.24.0",
4
4
  "description": "Cross-runner protocol for the @unotest ecosystem: shared TypeScript types, path constants, the IRunnerAdapter contract that lets @unotest/viewer drive @unotest/web, @unotest/mobile (and future runners) through the same surface. Pure types + pure functions only — zero runtime deps, browser-safe.",
5
5
  "license": "MIT",
6
6
  "publishConfig": {