@eidra-umain/greenlight 0.3.0 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (88) hide show
  1. package/README.md +293 -23
  2. package/dist/browser/browser.d.ts.map +1 -1
  3. package/dist/browser/browser.js +50 -14
  4. package/dist/browser/browser.js.map +1 -1
  5. package/dist/cli/index.js +2 -2
  6. package/dist/cli/index.js.map +1 -1
  7. package/dist/cli/run.d.ts.map +1 -1
  8. package/dist/cli/run.js +151 -38
  9. package/dist/cli/run.js.map +1 -1
  10. package/dist/parser/loader.d.ts +12 -3
  11. package/dist/parser/loader.d.ts.map +1 -1
  12. package/dist/parser/loader.js +53 -5
  13. package/dist/parser/loader.js.map +1 -1
  14. package/dist/parser/schema.d.ts +24 -3
  15. package/dist/parser/schema.d.ts.map +1 -1
  16. package/dist/parser/schema.js +12 -2
  17. package/dist/parser/schema.js.map +1 -1
  18. package/dist/pilot/a11y-parser.d.ts +6 -1
  19. package/dist/pilot/a11y-parser.d.ts.map +1 -1
  20. package/dist/pilot/a11y-parser.js +19 -1
  21. package/dist/pilot/a11y-parser.js.map +1 -1
  22. package/dist/pilot/assertions.d.ts +14 -0
  23. package/dist/pilot/assertions.d.ts.map +1 -1
  24. package/dist/pilot/assertions.js +37 -7
  25. package/dist/pilot/assertions.js.map +1 -1
  26. package/dist/pilot/conditions.d.ts +15 -0
  27. package/dist/pilot/conditions.d.ts.map +1 -0
  28. package/dist/pilot/conditions.js +77 -0
  29. package/dist/pilot/conditions.js.map +1 -0
  30. package/dist/pilot/datepick.d.ts +21 -0
  31. package/dist/pilot/datepick.d.ts.map +1 -0
  32. package/dist/pilot/datepick.js +187 -0
  33. package/dist/pilot/datepick.js.map +1 -0
  34. package/dist/pilot/executor.d.ts.map +1 -1
  35. package/dist/pilot/executor.js +166 -73
  36. package/dist/pilot/executor.js.map +1 -1
  37. package/dist/pilot/llm.d.ts +2 -0
  38. package/dist/pilot/llm.d.ts.map +1 -1
  39. package/dist/pilot/llm.js +59 -3
  40. package/dist/pilot/llm.js.map +1 -1
  41. package/dist/pilot/locator.d.ts.map +1 -1
  42. package/dist/pilot/locator.js +43 -0
  43. package/dist/pilot/locator.js.map +1 -1
  44. package/dist/pilot/message-builder.d.ts +7 -1
  45. package/dist/pilot/message-builder.d.ts.map +1 -1
  46. package/dist/pilot/message-builder.js +18 -5
  47. package/dist/pilot/message-builder.js.map +1 -1
  48. package/dist/pilot/pilot.d.ts +2 -0
  49. package/dist/pilot/pilot.d.ts.map +1 -1
  50. package/dist/pilot/pilot.js +234 -8
  51. package/dist/pilot/pilot.js.map +1 -1
  52. package/dist/pilot/prompts.d.ts +3 -2
  53. package/dist/pilot/prompts.d.ts.map +1 -1
  54. package/dist/pilot/prompts.js +174 -28
  55. package/dist/pilot/prompts.js.map +1 -1
  56. package/dist/pilot/random.d.ts +37 -0
  57. package/dist/pilot/random.d.ts.map +1 -0
  58. package/dist/pilot/random.js +55 -0
  59. package/dist/pilot/random.js.map +1 -0
  60. package/dist/pilot/response-parser.d.ts +21 -1
  61. package/dist/pilot/response-parser.d.ts.map +1 -1
  62. package/dist/pilot/response-parser.js +164 -62
  63. package/dist/pilot/response-parser.js.map +1 -1
  64. package/dist/pilot/state.d.ts +1 -1
  65. package/dist/pilot/state.d.ts.map +1 -1
  66. package/dist/pilot/state.js +170 -38
  67. package/dist/pilot/state.js.map +1 -1
  68. package/dist/planner/plan-generator.d.ts +6 -0
  69. package/dist/planner/plan-generator.d.ts.map +1 -1
  70. package/dist/planner/plan-generator.js +26 -0
  71. package/dist/planner/plan-generator.js.map +1 -1
  72. package/dist/planner/plan-runner.d.ts +1 -0
  73. package/dist/planner/plan-runner.d.ts.map +1 -1
  74. package/dist/planner/plan-runner.js +160 -28
  75. package/dist/planner/plan-runner.js.map +1 -1
  76. package/dist/planner/plan-store.d.ts +6 -0
  77. package/dist/planner/plan-store.d.ts.map +1 -1
  78. package/dist/planner/plan-store.js +27 -0
  79. package/dist/planner/plan-store.js.map +1 -1
  80. package/dist/planner/plan-types.d.ts +17 -2
  81. package/dist/planner/plan-types.d.ts.map +1 -1
  82. package/dist/reporter/types.d.ts +15 -2
  83. package/dist/reporter/types.d.ts.map +1 -1
  84. package/dist/types.d.ts +3 -3
  85. package/dist/types.d.ts.map +1 -1
  86. package/dist/types.js +1 -1
  87. package/dist/types.js.map +1 -1
  88. package/package.json +4 -1
@@ -1 +1 @@
1
- {"version":3,"file":"locator.js","sourceRoot":"","sources":["../../src/pilot/locator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"locator.js","sourceRoot":"","sources":["../../src/pilot/locator.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,12 @@
3
3
  */
4
4
  import type { PageState } from "../reporter/types.js";
5
5
  import type { ChatMessage } from "./providers/types.js";
6
+ /**
7
+ * Format the current local time as an ISO-like string with timezone offset.
8
+ * E.g. "2026-03-19T10:25:00+01:00" — so the LLM computes relative times
9
+ * in the user's local timezone (which is what date pickers expect).
10
+ */
11
+ export declare function formatLocalTime(): string;
6
12
  /** Build the user message containing the step and full page state. */
7
13
  export declare function buildUserMessage(step: string, pageState: PageState): string;
8
14
  /**
@@ -19,7 +25,7 @@ export declare function computeTreeDiff(oldTree: string, newTree: string): {
19
25
  * Refs are stable across captures (derived from structural identity), so:
20
26
  * - If the a11y tree is identical: skip both tree and visible text ("unchanged").
21
27
  * - If < 30% of tree lines changed: send only the diff ("tree-diff").
22
- * - If >= 30% changed: send the full tree without visible text ("tree-only").
28
+ * - If >= 30% changed: send the full enriched tree ("tree-only").
23
29
  * Returns null if we should send full state instead (e.g. after navigation).
24
30
  */
25
31
  export declare function buildCompactMessage(step: string, pageState: PageState, prevState: PageState, prevTree: string): {
@@ -1 +1 @@
1
- {"version":3,"file":"message-builder.d.ts","sourceRoot":"","sources":["../../src/pilot/message-builder.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAA;AAGrD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAkBvD,sEAAsE;AACtE,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,GAAG,MAAM,CAoB3E;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAC9B,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,GACb;IAAE,KAAK,EAAE,MAAM,EAAE,CAAC;IAAC,OAAO,EAAE,MAAM,EAAE,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,CAa9D;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAClC,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,SAAS,EACpB,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,MAAM,GACd;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,WAAW,GAAG,WAAW,GAAG,WAAW,CAAA;CAAE,GAAG,IAAI,CAyD3E;AAED,mEAAmE;AACnE,wBAAgB,aAAa,CAC5B,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,SAAS,GAClB,WAAW,EAAE,CAKf"}
1
+ {"version":3,"file":"message-builder.d.ts","sourceRoot":"","sources":["../../src/pilot/message-builder.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAA;AAGrD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAEvD;;;;GAIG;AACH,wBAAgB,eAAe,IAAI,MAAM,CASxC;AAkBD,sEAAsE;AACtE,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,GAAG,MAAM,CAiB3E;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAC9B,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,GACb;IAAE,KAAK,EAAE,MAAM,EAAE,CAAC;IAAC,OAAO,EAAE,MAAM,EAAE,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,CAa9D;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAClC,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,SAAS,EACpB,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,MAAM,GACd;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,WAAW,GAAG,WAAW,GAAG,WAAW,CAAA;CAAE,GAAG,IAAI,CAyD3E;AAED,mEAAmE;AACnE,wBAAgB,aAAa,CAC5B,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,SAAS,GAClB,WAAW,EAAE,CAKf"}
@@ -3,6 +3,21 @@
3
3
  */
4
4
  import { formatA11yTree } from "./a11y-parser.js";
5
5
  import { SYSTEM_PROMPT } from "./prompts.js";
6
+ /**
7
+ * Format the current local time as an ISO-like string with timezone offset.
8
+ * E.g. "2026-03-19T10:25:00+01:00" — so the LLM computes relative times
9
+ * in the user's local timezone (which is what date pickers expect).
10
+ */
11
+ export function formatLocalTime() {
12
+ const now = new Date();
13
+ const off = -now.getTimezoneOffset();
14
+ const sign = off >= 0 ? "+" : "-";
15
+ const absOff = Math.abs(off);
16
+ const hh = String(Math.floor(absOff / 60)).padStart(2, "0");
17
+ const mm = String(absOff % 60).padStart(2, "0");
18
+ const pad = (n) => String(n).padStart(2, "0");
19
+ return `${now.getFullYear()}-${pad(now.getMonth() + 1)}-${pad(now.getDate())}T${pad(now.getHours())}:${pad(now.getMinutes())}:${pad(now.getSeconds())}${sign}${hh}:${mm}`;
20
+ }
6
21
  /** Format map state as a human-readable string for the LLM. */
7
22
  function formatMapState(mapState) {
8
23
  if (!mapState)
@@ -25,13 +40,11 @@ export function buildUserMessage(step, pageState) {
25
40
  const parts = [
26
41
  `Current URL: ${pageState.url}`,
27
42
  `Page title: ${pageState.title}`,
43
+ `Current local time: ${formatLocalTime()}`,
28
44
  "",
29
45
  "Accessibility tree:",
30
46
  tree,
31
47
  ];
32
- if (pageState.visibleText) {
33
- parts.push("", "Visible page text:", pageState.visibleText);
34
- }
35
48
  if (pageState.mapState) {
36
49
  parts.push("", "Map state:", formatMapState(pageState.mapState));
37
50
  }
@@ -61,7 +74,7 @@ export function computeTreeDiff(oldTree, newTree) {
61
74
  * Refs are stable across captures (derived from structural identity), so:
62
75
  * - If the a11y tree is identical: skip both tree and visible text ("unchanged").
63
76
  * - If < 30% of tree lines changed: send only the diff ("tree-diff").
64
- * - If >= 30% changed: send the full tree without visible text ("tree-only").
77
+ * - If >= 30% changed: send the full enriched tree ("tree-only").
65
78
  * Returns null if we should send full state instead (e.g. after navigation).
66
79
  */
67
80
  export function buildCompactMessage(step, pageState, prevState, prevTree) {
@@ -109,7 +122,7 @@ export function buildCompactMessage(step, pageState, prevState, prevTree) {
109
122
  parts.push("", `Step to execute: ${step}`);
110
123
  return { message: parts.join("\n"), mode: "tree-diff" };
111
124
  }
112
- // Large change — send full tree without visible text
125
+ // Large change — send full enriched tree
113
126
  const parts = [
114
127
  `Current URL: ${pageState.url}`,
115
128
  `Page title: ${pageState.title}`,
@@ -1 +1 @@
1
- {"version":3,"file":"message-builder.js","sourceRoot":"","sources":["../../src/pilot/message-builder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"message-builder.js","sourceRoot":"","sources":["../../src/pilot/message-builder.ts"],"names":[],"mappings":"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"}
@@ -15,6 +15,8 @@ export interface PilotOptions {
15
15
  recorder?: PlanRecorder;
16
16
  /** Wait for network requests to settle before capturing page state. */
17
17
  waitForNetworkIdle?: () => Promise<void>;
18
+ /** Capture post-step screenshots (default: false). */
19
+ screenshots?: boolean;
18
20
  /** Called after each step completes, for live progress output. */
19
21
  onStepComplete?: (result: StepResult) => void;
20
22
  }
@@ -1 +1 @@
1
- {"version":3,"file":"pilot.d.ts","sourceRoot":"","sources":["../../src/pilot/pilot.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAA;AACtC,OAAO,KAAK,EAGX,YAAY,EAEZ,UAAU,EAEV,cAAc,EACd,MAAM,sBAAsB,CAAA;AAC7B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AAMzC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAA;AAKhE,MAAM,WAAW,YAAY;IAC5B,8BAA8B;IAC9B,OAAO,EAAE,MAAM,CAAA;IACf,kCAAkC;IAClC,YAAY,EAAE,MAAM,YAAY,EAAE,CAAA;IAClC,6EAA6E;IAC7E,QAAQ,CAAC,EAAE,YAAY,CAAA;IACvB,uEAAuE;IACvE,kBAAkB,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;IACxC,kEAAkE;IAClE,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,UAAU,KAAK,IAAI,CAAA;CAC7C;AAED;;;GAGG;AACH,wBAAsB,WAAW,CAChC,IAAI,EAAE,IAAI,EACV,QAAQ,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,EAAE,CAAA;CAAE,EAC3C,GAAG,EAAE,SAAS,EACd,OAAO,EAAE,YAAY,GACnB,OAAO,CAAC,cAAc,CAAC,CAwWzB"}
1
+ {"version":3,"file":"pilot.d.ts","sourceRoot":"","sources":["../../src/pilot/pilot.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAA;AACtC,OAAO,KAAK,EAGX,YAAY,EAEZ,UAAU,EAEV,cAAc,EACd,MAAM,sBAAsB,CAAA;AAC7B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AAQzC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAA;AAKhE,MAAM,WAAW,YAAY;IAC5B,8BAA8B;IAC9B,OAAO,EAAE,MAAM,CAAA;IACf,kCAAkC;IAClC,YAAY,EAAE,MAAM,YAAY,EAAE,CAAA;IAClC,6EAA6E;IAC7E,QAAQ,CAAC,EAAE,YAAY,CAAA;IACvB,uEAAuE;IACvE,kBAAkB,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;IACxC,sDAAsD;IACtD,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,kEAAkE;IAClE,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,UAAU,KAAK,IAAI,CAAA;CAC7C;AAED;;;GAGG;AACH,wBAAsB,WAAW,CAChC,IAAI,EAAE,IAAI,EACV,QAAQ,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,EAAE,CAAA;CAAE,EAC3C,GAAG,EAAE,SAAS,EACd,OAAO,EAAE,YAAY,GACnB,OAAO,CAAC,cAAc,CAAC,CAknBzB"}
@@ -3,6 +3,8 @@
3
3
  * Iterates through test steps: capture state → LLM → execute → record result.
4
4
  */
5
5
  import { validatePlanReferences } from "./response-parser.js";
6
+ import { resolveDatePick } from "./datepick.js";
7
+ import { stepNeedsRandom, injectRandomValues, replaceWithPlaceholders } from "./random.js";
6
8
  import { capturePageState } from "./state.js";
7
9
  import { resetRefCounter } from "./a11y-parser.js";
8
10
  import { executeAction } from "./executor.js";
@@ -15,8 +17,13 @@ import { globals } from "../globals.js";
15
17
  export async function runTestCase(page, testCase, llm, options) {
16
18
  const startTime = performance.now();
17
19
  const stepResults = [];
20
+ /** Index of the queue entry currently being executed (set in the loop). */
21
+ let currentQueuePlanned = null;
18
22
  const recordStep = (result) => {
19
23
  stepResults.push(result);
24
+ if (result.status === "passed" && currentQueuePlanned?.inputStepIndex != null) {
25
+ lastCompletedInputStep = Math.max(lastCompletedInputStep, currentQueuePlanned.inputStepIndex);
26
+ }
20
27
  options.onStepComplete?.(result);
21
28
  };
22
29
  // Fresh conversation history, stable ref map, and value store for each test case
@@ -73,11 +80,23 @@ export async function runTestCase(page, testCase, llm, options) {
73
80
  // Log the errors but don't fail — the LLM may have made a mistake
74
81
  // that the runtime can still handle
75
82
  }
83
+ if (globals.debug) {
84
+ console.log(`\n Input step mapping:`);
85
+ for (const p of plan) {
86
+ console.log(` [${String(p.inputStepIndex ?? "?")}] ${p.step}`);
87
+ }
88
+ }
76
89
  // Build the execution queue — EXPAND steps get expanded at runtime
77
90
  // and their sub-steps are spliced into the queue.
78
91
  const queue = [...plan];
79
92
  let queueIndex = 0;
80
93
  let failed = false;
94
+ let lastCompletedInputStep = -1;
95
+ // Track whether we're inside a DATEPICK expansion — sub-steps should
96
+ // not be individually recorded in the heuristic plan (the whole datepick
97
+ // will be re-expanded with fresh timestamps on cached replay).
98
+ let insideDatePick = false;
99
+ let datepickSubStepsRemaining = 0;
81
100
  // Map adapter — set by MAP_DETECT, then passed to all subsequent state captures
82
101
  let mapAdapter = null;
83
102
  // Latest captured map state — passed to assertions
@@ -85,7 +104,8 @@ export async function runTestCase(page, testCase, llm, options) {
85
104
  while (queueIndex < queue.length && !failed) {
86
105
  const planned = queue[queueIndex];
87
106
  queueIndex++;
88
- const { step, action: plannedAction, needsExpansion, needsMapDetect, rememberAs, compare: plannedCompare } = planned;
107
+ currentQueuePlanned = planned;
108
+ const { step, action: plannedAction, needsExpansion, needsDatePick, needsMapDetect, needsCount, rememberAs, compare: plannedCompare } = planned;
89
109
  // ── MAP_DETECT: find and attach to a map instance ─────────────
90
110
  if (needsMapDetect) {
91
111
  trace.log("map:detect", step);
@@ -172,6 +192,171 @@ export async function runTestCase(page, testCase, llm, options) {
172
192
  }
173
193
  continue;
174
194
  }
195
+ // ── DATEPICK: resolve date/time picker with chrono-node ──────
196
+ if (needsDatePick) {
197
+ trace.log("datepick:start", step);
198
+ if (globals.debug) {
199
+ console.log(`\n Resolving date picker step: ${step}`);
200
+ }
201
+ if (options.waitForNetworkIdle) {
202
+ await options.waitForNetworkIdle();
203
+ }
204
+ const state = await capturePageState(page, options.consoleDrain, {
205
+ mapAdapter: mapAdapter ?? undefined,
206
+ });
207
+ // Ask the LLM which picker group to target (it can see the a11y tree).
208
+ // The step text is e.g. "set the end time to..." and the tree has groups
209
+ // like "Start date and time", "End date and time".
210
+ let groupHint;
211
+ try {
212
+ const groupStep = `Which date/time picker group on this page should be used for: "${step}"? Respond with ONLY the group name, nothing else.`;
213
+ const groupAction = await llm.resolveStep(groupStep, state);
214
+ // The LLM returns a text action — extract the group name from the value or text
215
+ groupHint = groupAction.value ?? groupAction.text;
216
+ if (globals.debug) {
217
+ console.log(` [datepick] LLM group hint: "${groupHint ?? "none"}"`);
218
+ }
219
+ }
220
+ catch {
221
+ // LLM couldn't help — fall through to fuzzy matching
222
+ }
223
+ try {
224
+ const t0 = performance.now();
225
+ const expandedSteps = resolveDatePick(step, state.a11yTree, groupHint);
226
+ const duration = performance.now() - t0;
227
+ trace.log("datepick:done", `${String(Math.round(duration))}ms → ${String(expandedSteps.length)} sub-steps`);
228
+ if (globals.debug) {
229
+ console.log(` Date picker resolved into ${String(expandedSteps.length)} sub-steps:`);
230
+ for (const es of expandedSteps) {
231
+ console.log(` - ${JSON.stringify(es.action)}`);
232
+ }
233
+ console.log();
234
+ }
235
+ // Record a single datepick marker in the heuristic plan.
236
+ // Sub-steps will NOT be individually recorded — the datepick
237
+ // will be re-resolved with fresh timestamps on cached replay.
238
+ if (recorder) {
239
+ recorder.recordStep(step, { action: "datepick", value: step, option: groupHint }, { success: true, duration }, { url: page.url(), title: await page.title() });
240
+ }
241
+ // Track how many sub-steps to skip recording for
242
+ insideDatePick = true;
243
+ datepickSubStepsRemaining = expandedSteps.length;
244
+ queue.splice(queueIndex, 0, ...expandedSteps);
245
+ }
246
+ catch (err) {
247
+ recordStep({
248
+ step,
249
+ action: null,
250
+ status: "failed",
251
+ duration: 0,
252
+ error: `Failed to resolve date picker: ${err instanceof Error ? err.message : String(err)}`,
253
+ });
254
+ failed = true;
255
+ }
256
+ continue;
257
+ }
258
+ // ── CONDITIONAL: evaluate condition and splice chosen branch ──
259
+ if (planned.condition) {
260
+ trace.log("condition:eval", `${planned.condition.type} "${planned.condition.target}"`);
261
+ const stepStart = performance.now();
262
+ if (options.waitForNetworkIdle) {
263
+ await options.waitForNetworkIdle();
264
+ }
265
+ // Capture page state and let the LLM evaluate the condition
266
+ const state = await capturePageState(page, options.consoleDrain, {
267
+ mapAdapter: mapAdapter ?? undefined,
268
+ });
269
+ const conditionMet = await llm.evaluateCondition(planned.condition.target, planned.condition.type, state);
270
+ trace.log("condition:result", String(conditionMet));
271
+ if (globals.debug) {
272
+ console.log(` Condition ${planned.condition.type} "${planned.condition.target}": ${String(conditionMet)}`);
273
+ }
274
+ const branch = conditionMet ? planned.thenBranch : planned.elseBranch;
275
+ const branchLabel = conditionMet ? "then" : (planned.elseBranch ? "else" : "skipped");
276
+ if (branch && branch.length > 0) {
277
+ // Splice the chosen branch into the queue at the current position
278
+ queue.splice(queueIndex, 0, ...branch);
279
+ }
280
+ // Record the conditional evaluation step
281
+ if (recorder) {
282
+ recorder.recordConditionalStep(step, planned.condition, conditionMet, branch);
283
+ }
284
+ recordStep({
285
+ step,
286
+ action: null,
287
+ status: "passed",
288
+ duration: performance.now() - stepStart,
289
+ conditionResult: { met: conditionMet, branch: branchLabel },
290
+ });
291
+ continue;
292
+ }
293
+ // ── COUNT: count elements on the live page ──────────────────
294
+ if (needsCount) {
295
+ trace.log("count:start", step);
296
+ const stepStart2 = performance.now();
297
+ if (options.waitForNetworkIdle) {
298
+ await options.waitForNetworkIdle();
299
+ }
300
+ const state = await capturePageState(page, options.consoleDrain, {
301
+ mapAdapter: mapAdapter ?? undefined,
302
+ });
303
+ try {
304
+ // Ask the LLM to identify the common denominator text for the elements to count
305
+ const countAction = await llm.resolveStep(`Count the number of elements matching: "${step}". Return a count action with the common text or role description that matches all target elements.`, state);
306
+ // Ensure it's treated as a count action
307
+ if (countAction.action !== "count") {
308
+ countAction.action = "count";
309
+ }
310
+ if (!countAction.text && !countAction.ref) {
311
+ // Use the step description as fallback
312
+ countAction.text = step;
313
+ }
314
+ countAction.rememberAs = rememberAs;
315
+ if (globals.debug) {
316
+ console.log(` [count] LLM resolved: text="${countAction.text ?? ""}" ref="${countAction.ref ?? ""}"`);
317
+ }
318
+ const result = await executeAction(page, countAction, state.a11yTree);
319
+ if (!result.success) {
320
+ recordStep({
321
+ step,
322
+ action: countAction,
323
+ status: "failed",
324
+ duration: performance.now() - stepStart2,
325
+ error: result.error,
326
+ });
327
+ failed = true;
328
+ continue;
329
+ }
330
+ // Store the count in valueStore
331
+ if (result.rememberedValue !== undefined && rememberAs) {
332
+ globals.valueStore.set(rememberAs, result.rememberedValue);
333
+ }
334
+ // Record in heuristic plan
335
+ if (recorder) {
336
+ recorder.recordStep(step, { ...countAction, value: countAction.text }, result, { url: page.url(), title: await page.title() });
337
+ }
338
+ recordStep({
339
+ step,
340
+ action: countAction,
341
+ status: "passed",
342
+ duration: performance.now() - stepStart2,
343
+ });
344
+ }
345
+ catch (err) {
346
+ const { LLMApiError } = await import("./providers/index.js");
347
+ if (err instanceof LLMApiError)
348
+ throw err;
349
+ recordStep({
350
+ step,
351
+ action: null,
352
+ status: "failed",
353
+ duration: performance.now() - stepStart2,
354
+ error: `Count failed: ${err instanceof Error ? err.message : String(err)}`,
355
+ });
356
+ failed = true;
357
+ }
358
+ continue;
359
+ }
175
360
  // ── Normal step execution (same as before) ───────────────────
176
361
  trace.log("step:start", step);
177
362
  const stepStart = performance.now();
@@ -182,12 +367,38 @@ export async function runTestCase(page, testCase, llm, options) {
182
367
  execute: 0,
183
368
  postCapture: 0,
184
369
  };
370
+ // Inject random values into steps that mention "random"
371
+ let randomValues = null;
372
+ let resolveStep = step;
373
+ if (!plannedAction && stepNeedsRandom(step)) {
374
+ const injected = injectRandomValues(step);
375
+ resolveStep = injected.step;
376
+ randomValues = injected.values;
377
+ if (globals.debug) {
378
+ console.log(` [random] Injected: number="${randomValues.number}", string="${randomValues.string}"`);
379
+ console.log(` [random] Step prompt: ${resolveStep}`);
380
+ }
381
+ }
185
382
  try {
186
383
  let a11yTree = [];
187
384
  if (plannedAction) {
188
- // Pre-planned: skip page capture and LLM call
385
+ // Pre-planned: skip LLM call but capture page state if
386
+ // the action uses a ref (needed for locator resolution).
189
387
  action = plannedAction;
190
388
  trace.log("plan:hit", JSON.stringify(action));
389
+ if (action.ref) {
390
+ if (options.waitForNetworkIdle) {
391
+ await options.waitForNetworkIdle();
392
+ }
393
+ const t0 = performance.now();
394
+ const state = await capturePageState(page, options.consoleDrain, {
395
+ mapAdapter: mapAdapter ?? undefined,
396
+ });
397
+ timing.capture = performance.now() - t0;
398
+ a11yTree = state.a11yTree;
399
+ if (state.mapState)
400
+ latestMapState = state.mapState;
401
+ }
191
402
  }
192
403
  else {
193
404
  // Needs page state: wait for async requests to settle, then capture
@@ -203,7 +414,7 @@ export async function runTestCase(page, testCase, llm, options) {
203
414
  trace.log("capture:done", `${String(Math.round(timing.capture))}ms`);
204
415
  trace.log("llm:start");
205
416
  t0 = performance.now();
206
- action = await llm.resolveStep(step, state);
417
+ action = await llm.resolveStep(resolveStep, state);
207
418
  timing.llm = performance.now() - t0;
208
419
  trace.log("llm:done", `${String(Math.round(timing.llm))}ms → ${JSON.stringify(action)}`);
209
420
  a11yTree = state.a11yTree;
@@ -281,14 +492,14 @@ export async function runTestCase(page, testCase, llm, options) {
281
492
  let postState;
282
493
  try {
283
494
  postState = await capturePageState(page, options.consoleDrain, {
284
- screenshot: true,
495
+ screenshot: options.screenshots ?? false,
285
496
  mapAdapter: mapAdapter ?? undefined,
286
497
  });
287
498
  }
288
499
  catch {
289
500
  await page.waitForLoadState("domcontentloaded");
290
501
  postState = await capturePageState(page, options.consoleDrain, {
291
- screenshot: true,
502
+ screenshot: options.screenshots ?? false,
292
503
  mapAdapter: mapAdapter ?? undefined,
293
504
  });
294
505
  }
@@ -296,9 +507,16 @@ export async function runTestCase(page, testCase, llm, options) {
296
507
  trace.log("postCapture:done", `${String(Math.round(timing.postCapture))}ms`);
297
508
  if (postState.mapState)
298
509
  latestMapState = postState.mapState;
299
- // Record step for heuristic plan if recorder is active
300
- if (recorder) {
301
- recorder.recordStep(step, action, result, {
510
+ // Record step for heuristic plan if recorder is active.
511
+ // Skip for datepick sub-steps — the datepick marker was already
512
+ // recorded and will be re-expanded with fresh timestamps on replay.
513
+ if (recorder && !insideDatePick) {
514
+ // Replace random values with placeholders so cached runs
515
+ // generate fresh random values on replay.
516
+ const recordAction = randomValues && action.value
517
+ ? { ...action, value: replaceWithPlaceholders(action.value, randomValues) }
518
+ : action;
519
+ recorder.recordStep(step, recordAction, result, {
302
520
  url: postState.url,
303
521
  title: postState.title,
304
522
  });
@@ -311,6 +529,13 @@ export async function runTestCase(page, testCase, llm, options) {
311
529
  timing,
312
530
  screenshot: postState.screenshot,
313
531
  });
532
+ // Track datepick sub-step completion
533
+ if (insideDatePick) {
534
+ datepickSubStepsRemaining--;
535
+ if (datepickSubStepsRemaining <= 0) {
536
+ insideDatePick = false;
537
+ }
538
+ }
314
539
  }
315
540
  catch (err) {
316
541
  // LLM API errors (4xx/5xx) must abort the entire run — re-throw
@@ -336,6 +561,7 @@ export async function runTestCase(page, testCase, llm, options) {
336
561
  status,
337
562
  steps: stepResults,
338
563
  duration: performance.now() - startTime,
564
+ completedInputSteps: lastCompletedInputStep + 1,
339
565
  };
340
566
  }
341
567
  //# sourceMappingURL=pilot.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"pilot.js","sourceRoot":"","sources":["../../src/pilot/pilot.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pilot.js","sourceRoot":"","sources":["../../src/pilot/pilot.ts"],"names":[],"mappings":"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"}