@tangle-network/browser-agent-driver 0.31.0 → 0.33.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 (190) hide show
  1. package/dist/artifacts/filesystem-sink.d.ts +1 -1
  2. package/dist/artifacts/filesystem-sink.js +1 -1
  3. package/dist/brain/index.d.ts +16 -9
  4. package/dist/brain/index.d.ts.map +1 -1
  5. package/dist/brain/index.js +75 -72
  6. package/dist/brain/index.js.map +1 -1
  7. package/dist/browser-launch.js +1 -3
  8. package/dist/browser-launch.js.map +1 -1
  9. package/dist/captcha.d.ts.map +1 -1
  10. package/dist/captcha.js +1 -3
  11. package/dist/captcha.js.map +1 -1
  12. package/dist/cli-attach.d.ts +2 -2
  13. package/dist/cli-attach.js +2 -2
  14. package/dist/cli-design-audit.d.ts.map +1 -1
  15. package/dist/cli-design-audit.js +14 -24
  16. package/dist/cli-design-audit.js.map +1 -1
  17. package/dist/cli-jobs.js +4 -13
  18. package/dist/cli-jobs.js.map +1 -1
  19. package/dist/cli-patterns.d.ts +1 -1
  20. package/dist/cli-patterns.d.ts.map +1 -1
  21. package/dist/cli.js +26 -28
  22. package/dist/cli.js.map +1 -1
  23. package/dist/config.d.ts +5 -3
  24. package/dist/config.d.ts.map +1 -1
  25. package/dist/config.js +1 -0
  26. package/dist/config.js.map +1 -1
  27. package/dist/design/audit/attribution/types.d.ts +3 -3
  28. package/dist/design/audit/attribution/types.d.ts.map +1 -1
  29. package/dist/design/audit/attribution/types.js +2 -2
  30. package/dist/design/audit/build-result.d.ts +71 -0
  31. package/dist/design/audit/build-result.d.ts.map +1 -0
  32. package/dist/design/audit/build-result.js +251 -0
  33. package/dist/design/audit/build-result.js.map +1 -0
  34. package/dist/design/audit/classify-ensemble.d.ts +1 -1
  35. package/dist/design/audit/classify-ensemble.d.ts.map +1 -1
  36. package/dist/design/audit/ethics/check.d.ts +2 -2
  37. package/dist/design/audit/ethics/check.d.ts.map +1 -1
  38. package/dist/design/audit/ethics/check.js +1 -1
  39. package/dist/design/audit/ethics/loader.d.ts +1 -1
  40. package/dist/design/audit/ethics/loader.d.ts.map +1 -1
  41. package/dist/design/audit/evaluate.d.ts +5 -2
  42. package/dist/design/audit/evaluate.d.ts.map +1 -1
  43. package/dist/design/audit/evaluate.js +10 -4
  44. package/dist/design/audit/evaluate.js.map +1 -1
  45. package/dist/design/audit/first-principles-mode.d.ts +1 -1
  46. package/dist/design/audit/first-principles-mode.d.ts.map +1 -1
  47. package/dist/design/audit/modality/android.d.ts +1 -1
  48. package/dist/design/audit/modality/android.d.ts.map +1 -1
  49. package/dist/design/audit/modality/html.d.ts +1 -1
  50. package/dist/design/audit/modality/html.d.ts.map +1 -1
  51. package/dist/design/audit/modality/ios.d.ts +1 -1
  52. package/dist/design/audit/modality/ios.d.ts.map +1 -1
  53. package/dist/design/audit/modality/types.d.ts +2 -2
  54. package/dist/design/audit/modality/types.d.ts.map +1 -1
  55. package/dist/design/audit/modality/types.js +1 -1
  56. package/dist/design/audit/patches/generate.d.ts +57 -0
  57. package/dist/design/audit/patches/generate.d.ts.map +1 -0
  58. package/dist/design/audit/patches/generate.js +168 -0
  59. package/dist/design/audit/patches/generate.js.map +1 -0
  60. package/dist/design/audit/patches/parse.d.ts +1 -1
  61. package/dist/design/audit/patches/parse.d.ts.map +1 -1
  62. package/dist/design/audit/patches/render.d.ts +1 -1
  63. package/dist/design/audit/patches/render.d.ts.map +1 -1
  64. package/dist/design/audit/patches/severity-enforcement.d.ts +1 -1
  65. package/dist/design/audit/patches/severity-enforcement.d.ts.map +1 -1
  66. package/dist/design/audit/patches/validate.d.ts +7 -1
  67. package/dist/design/audit/patches/validate.d.ts.map +1 -1
  68. package/dist/design/audit/patches/validate.js +8 -1
  69. package/dist/design/audit/patches/validate.js.map +1 -1
  70. package/dist/design/audit/patterns/match.d.ts +1 -1
  71. package/dist/design/audit/patterns/match.d.ts.map +1 -1
  72. package/dist/design/audit/patterns/types.d.ts +2 -2
  73. package/dist/design/audit/patterns/types.d.ts.map +1 -1
  74. package/dist/design/audit/pipeline.d.ts +4 -4
  75. package/dist/design/audit/pipeline.d.ts.map +1 -1
  76. package/dist/design/audit/pipeline.js +45 -30
  77. package/dist/design/audit/pipeline.js.map +1 -1
  78. package/dist/design/audit/rubric/loader.d.ts +1 -1
  79. package/dist/design/audit/rubric/loader.d.ts.map +1 -1
  80. package/dist/design/audit/rubric/rollup-weights.d.ts +1 -1
  81. package/dist/design/audit/rubric/rollup-weights.d.ts.map +1 -1
  82. package/dist/design/audit/{v2/types.d.ts → score-types.d.ts} +10 -10
  83. package/dist/design/audit/score-types.d.ts.map +1 -0
  84. package/dist/design/audit/{v2/types.js → score-types.js} +2 -2
  85. package/dist/design/audit/score-types.js.map +1 -0
  86. package/dist/design/audit/{v2/score.d.ts → score.d.ts} +9 -9
  87. package/dist/design/audit/score.d.ts.map +1 -0
  88. package/dist/design/audit/{v2/score.js → score.js} +17 -17
  89. package/dist/design/audit/score.js.map +1 -0
  90. package/dist/design/audit/types.d.ts +7 -7
  91. package/dist/design/audit/types.d.ts.map +1 -1
  92. package/dist/drivers/cursor-overlay.d.ts +1 -1
  93. package/dist/drivers/cursor-overlay.d.ts.map +1 -1
  94. package/dist/drivers/cursor-overlay.js +2 -2
  95. package/dist/drivers/extract-with-index.d.ts +4 -7
  96. package/dist/drivers/extract-with-index.d.ts.map +1 -1
  97. package/dist/drivers/extract-with-index.js +4 -7
  98. package/dist/drivers/extract-with-index.js.map +1 -1
  99. package/dist/drivers/overlay-label.d.ts +3 -4
  100. package/dist/drivers/overlay-label.d.ts.map +1 -1
  101. package/dist/drivers/overlay-label.js.map +1 -1
  102. package/dist/drivers/playwright.d.ts +2 -2
  103. package/dist/drivers/playwright.d.ts.map +1 -1
  104. package/dist/drivers/playwright.js +10 -24
  105. package/dist/drivers/playwright.js.map +1 -1
  106. package/dist/drivers/som-overlay.d.ts +2 -3
  107. package/dist/drivers/som-overlay.d.ts.map +1 -1
  108. package/dist/drivers/som-overlay.js +2 -3
  109. package/dist/drivers/som-overlay.js.map +1 -1
  110. package/dist/drivers/types.d.ts +3 -9
  111. package/dist/drivers/types.d.ts.map +1 -1
  112. package/dist/jobs/anti-bot.js +1 -1
  113. package/dist/jobs/anti-bot.js.map +1 -1
  114. package/dist/jobs/types.d.ts +1 -1
  115. package/dist/jobs/types.d.ts.map +1 -1
  116. package/dist/multi-actor.d.ts.map +1 -1
  117. package/dist/multi-actor.js +2 -3
  118. package/dist/multi-actor.js.map +1 -1
  119. package/dist/reports/aggregate.js +6 -6
  120. package/dist/reports/aggregate.js.map +1 -1
  121. package/dist/reports/tokens.d.ts +0 -8
  122. package/dist/reports/tokens.d.ts.map +1 -1
  123. package/dist/reports/tokens.js +1 -15
  124. package/dist/reports/tokens.js.map +1 -1
  125. package/dist/reports/types.d.ts +2 -2
  126. package/dist/reports/types.d.ts.map +1 -1
  127. package/dist/run-state.d.ts +21 -15
  128. package/dist/run-state.d.ts.map +1 -1
  129. package/dist/run-state.js +23 -22
  130. package/dist/run-state.js.map +1 -1
  131. package/dist/runner/completion-language.d.ts +2 -0
  132. package/dist/runner/completion-language.d.ts.map +1 -0
  133. package/dist/runner/completion-language.js +5 -0
  134. package/dist/runner/completion-language.js.map +1 -0
  135. package/dist/runner/direct-start.d.ts +19 -0
  136. package/dist/runner/direct-start.d.ts.map +1 -0
  137. package/dist/runner/direct-start.js +295 -0
  138. package/dist/runner/direct-start.js.map +1 -0
  139. package/dist/runner/events.d.ts +3 -6
  140. package/dist/runner/events.d.ts.map +1 -1
  141. package/dist/runner/events.js.map +1 -1
  142. package/dist/runner/fan-out.d.ts +6 -9
  143. package/dist/runner/fan-out.d.ts.map +1 -1
  144. package/dist/runner/fan-out.js +7 -15
  145. package/dist/runner/fan-out.js.map +1 -1
  146. package/dist/runner/goal-decomposer.d.ts +0 -1
  147. package/dist/runner/goal-decomposer.d.ts.map +1 -1
  148. package/dist/runner/goal-decomposer.js +0 -1
  149. package/dist/runner/goal-decomposer.js.map +1 -1
  150. package/dist/runner/google-flights-preflight.d.ts +35 -0
  151. package/dist/runner/google-flights-preflight.d.ts.map +1 -0
  152. package/dist/runner/google-flights-preflight.js +411 -0
  153. package/dist/runner/google-flights-preflight.js.map +1 -0
  154. package/dist/runner/interrupt-controller.d.ts +1 -1
  155. package/dist/runner/interrupt-controller.js +1 -1
  156. package/dist/runner/overlay-narration.d.ts +1 -1
  157. package/dist/runner/overlay-narration.js +1 -1
  158. package/dist/runner/parallel-runner.d.ts +3 -6
  159. package/dist/runner/parallel-runner.d.ts.map +1 -1
  160. package/dist/runner/parallel-runner.js +2 -3
  161. package/dist/runner/parallel-runner.js.map +1 -1
  162. package/dist/runner/pattern-extractor.d.ts +2 -2
  163. package/dist/runner/pattern-extractor.js +2 -2
  164. package/dist/runner/runner.d.ts +15 -39
  165. package/dist/runner/runner.d.ts.map +1 -1
  166. package/dist/runner/runner.js +254 -231
  167. package/dist/runner/runner.js.map +1 -1
  168. package/dist/runner/stream-webhook.d.ts +1 -1
  169. package/dist/runner/stream-webhook.js +1 -1
  170. package/dist/skills/domain-loader.d.ts +1 -2
  171. package/dist/skills/domain-loader.d.ts.map +1 -1
  172. package/dist/skills/domain-loader.js +1 -2
  173. package/dist/skills/domain-loader.js.map +1 -1
  174. package/dist/telemetry/schema.d.ts +2 -2
  175. package/dist/telemetry/schema.js +2 -2
  176. package/dist/test-runner.d.ts +4 -5
  177. package/dist/test-runner.d.ts.map +1 -1
  178. package/dist/test-runner.js +2 -3
  179. package/dist/test-runner.js.map +1 -1
  180. package/dist/types.d.ts +28 -21
  181. package/dist/types.d.ts.map +1 -1
  182. package/package.json +8 -2
  183. package/dist/design/audit/v2/build-result.d.ts +0 -47
  184. package/dist/design/audit/v2/build-result.d.ts.map +0 -1
  185. package/dist/design/audit/v2/build-result.js +0 -163
  186. package/dist/design/audit/v2/build-result.js.map +0 -1
  187. package/dist/design/audit/v2/score.d.ts.map +0 -1
  188. package/dist/design/audit/v2/score.js.map +0 -1
  189. package/dist/design/audit/v2/types.d.ts.map +0 -1
  190. package/dist/design/audit/v2/types.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"run-state.d.ts","sourceRoot":"","sources":["../src/run-state.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,oBAAoB,SAAU,CAAC;AAE5C,qBAAa,QAAQ;IACnB,iBAAiB,SAAK;IACtB,WAAW,SAAK;IAChB,0BAA0B,SAAK;IAC/B,2BAA2B,EAAE,MAAM,GAAG,SAAS,CAAC;IAChD,uBAAuB,SAAK;IAC5B,kBAAkB,SAAa;IAC/B,wBAAwB,EAAE,MAAM,EAAE,CAAM;IACxC,4DAA4D;IAC5D,iBAAiB,EAAE,MAAM,EAAE,CAAM;IACjC,eAAe,cAAqB;IAGpC,WAAW,EAAE,KAAK,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAM;IAEvD,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAEhC,6EAA6E;IAC7E,eAAe,SAAK;IACpB,wFAAwF;IACxF,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;gBAEjB,QAAQ,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM;IAgBlD,WAAW,IAAI,IAAI;IAKnB,sBAAsB,IAAI,IAAI;IAI9B,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI;IAM9C,IAAI,sBAAsB,IAAI,OAAO,CAEpC;IAED,IAAI,4BAA4B,IAAI,OAAO,CAE1C;IAED,IAAI,sBAAsB,IAAI,OAAO,CAEpC;IAED,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;CAKvC"}
1
+ {"version":3,"file":"run-state.d.ts","sourceRoot":"","sources":["../src/run-state.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB,SAAU,CAAC;AAE5C,qBAAa,QAAQ;IACnB,iBAAiB,SAAK;IACtB,WAAW,SAAK;IAChB,0BAA0B,SAAK;IAC/B,2BAA2B,EAAE,MAAM,GAAG,SAAS,CAAC;IAChD,uBAAuB,SAAK;IAC5B,kBAAkB,SAAa;IAC/B,wBAAwB,EAAE,MAAM,EAAE,CAAM;IACxC,oDAAoD;IACpD,iBAAiB,EAAE,MAAM,EAAE,CAAM;IACjC,eAAe,cAAqB;IAGpC,WAAW,EAAE,KAAK,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAM;IAEvD;;;;;;;;;;;;;;OAcG;IACH,gBAAgB,SAAa;IAE7B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAEhC,6EAA6E;IAC7E,eAAe,SAAK;IACpB,wFAAwF;IACxF,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;gBAEjB,QAAQ,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM;IAWlD,WAAW,IAAI,IAAI;IAKnB,sBAAsB,IAAI,IAAI;IAI9B,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI;IAM9C,IAAI,sBAAsB,IAAI,OAAO,CAEpC;IAED,IAAI,4BAA4B,IAAI,OAAO,CAE1C;IAED,IAAI,sBAAsB,IAAI,OAAO,CAEpC;IAED,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;CAKvC"}
package/dist/run-state.js CHANGED
@@ -4,22 +4,12 @@
4
4
  * Extracted from runner.ts to reduce scattered mutable state in the main loop.
5
5
  */
6
6
  /**
7
- * Gen 10 cost cap default. Set high enough that normal cases never hit it
8
- * but low enough to stop the recovery-loop death-spirals Gen 9 hit.
9
- *
10
- * Calibration:
11
- * - Gen 8 real-web extraction tasks: ~6k tokens mean (well under cap)
12
- * - Tier 1 form-multistep full-evidence: ~60k tokens (within cap + headroom)
13
- * - Gen 9 death-spirals: 132k–173k tokens (above cap → caught and aborted)
14
- *
15
- * 100k gives normal cases 40k of headroom above the worst-case normal run
16
- * I've measured (form-multistep), and still catches death spirals in 5–8
17
- * turns of futility before they burn unbounded cost.
18
- *
7
+ * Default token budget per case. The cap aborts a run with `cost_cap_exceeded`
8
+ * once total LLM tokens (input + output + cache) exceed this number.
19
9
  * Override per-case via Scenario.tokenBudget or globally via the
20
- * BAD_TOKEN_BUDGET env var.
10
+ * BAD_TOKEN_BUDGET env var (env wins — see RunState constructor).
21
11
  */
22
- export const DEFAULT_TOKEN_BUDGET = 100_000;
12
+ export const DEFAULT_TOKEN_BUDGET = 300_000;
23
13
  export class RunState {
24
14
  consecutiveErrors = 0;
25
15
  totalErrors = 0;
@@ -28,11 +18,27 @@ export class RunState {
28
18
  supervisorInterventions = 0;
29
19
  lastSupervisorTurn = -Infinity;
30
20
  goalVerificationEvidence = [];
31
- /** Gen 25: accumulated evidence extracted during the run */
21
+ /** Accumulated evidence extracted during the run */
32
22
  extractedEvidence = [];
33
23
  searchScoutUrls = new Set();
34
- // Gen 24b: checkpoint replay — save known-good URLs for rollback on wrong-path
24
+ // Known-good URLs for rollback on wrong-path recovery.
35
25
  checkpoints = [];
26
+ /**
27
+ * Last turn at which the agent showed verifiable progress: URL changed,
28
+ * snapshot DOM materially changed, or evidence was extracted. Drives the
29
+ * The runner can grant extra turns past configured maxTurns when recent
30
+ * turns show URL, DOM, or evidence progress.
31
+ *
32
+ * Initial value `-Infinity` so a brand-new run with zero observations
33
+ * cannot trigger the extension on its way in.
34
+ *
35
+ * Updated by:
36
+ * - URL change between consecutive observe-completed events
37
+ * - Snapshot byte delta > 5% of prior turn (filters noise from
38
+ * decorative animations / dynamic IDs / timestamps)
39
+ * - firstSufficientEvidenceTurn being set this turn
40
+ */
41
+ lastProgressTurn = -Infinity;
36
42
  maxTotalErrors;
37
43
  /** Total LLM tokens (input + output + cache) charged to this case so far. */
38
44
  totalTokensUsed = 0;
@@ -40,12 +46,7 @@ export class RunState {
40
46
  tokenBudget;
41
47
  constructor(maxTurns, tokenBudget) {
42
48
  this.maxTotalErrors = Math.max(3, Math.ceil(maxTurns / 3));
43
- // Gen 30 R3: the env var overrides even when the caller passed an
44
- // explicit tokenBudget. Reason: BAD_TOKEN_BUDGET is an operator dial
45
- // (e.g., "bump the cap to 200k for this model") and should beat
46
- // hard-coded caller defaults like runner.ts's visionBudgetMultiplier.
47
- // Before this, the env fallback only fired when tokenBudget was
48
- // undefined, which was never — the runner always passed a number.
49
+ // BAD_TOKEN_BUDGET is an operator override and wins over caller defaults.
49
50
  const envBudget = Number(process.env.BAD_TOKEN_BUDGET);
50
51
  if (Number.isFinite(envBudget) && envBudget > 0) {
51
52
  this.tokenBudget = envBudget;
@@ -1 +1 @@
1
- {"version":3,"file":"run-state.js","sourceRoot":"","sources":["../src/run-state.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;;;;;;;;;;;;;;GAeG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,OAAO,CAAC;AAE5C,MAAM,OAAO,QAAQ;IACnB,iBAAiB,GAAG,CAAC,CAAC;IACtB,WAAW,GAAG,CAAC,CAAC;IAChB,0BAA0B,GAAG,CAAC,CAAC;IAC/B,2BAA2B,CAAqB;IAChD,uBAAuB,GAAG,CAAC,CAAC;IAC5B,kBAAkB,GAAG,CAAC,QAAQ,CAAC;IAC/B,wBAAwB,GAAa,EAAE,CAAC;IACxC,4DAA4D;IAC5D,iBAAiB,GAAa,EAAE,CAAC;IACjC,eAAe,GAAG,IAAI,GAAG,EAAU,CAAC;IAEpC,+EAA+E;IAC/E,WAAW,GAAyC,EAAE,CAAC;IAE9C,cAAc,CAAS;IAEhC,6EAA6E;IAC7E,eAAe,GAAG,CAAC,CAAC;IACpB,wFAAwF;IAC/E,WAAW,CAAS;IAE7B,YAAY,QAAgB,EAAE,WAAoB;QAChD,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC;QAC3D,kEAAkE;QAClE,qEAAqE;QACrE,gEAAgE;QAChE,sEAAsE;QACtE,gEAAgE;QAChE,kEAAkE;QAClE,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;QACvD,IAAI,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;YAChD,IAAI,CAAC,WAAW,GAAG,SAAS,CAAC;QAC/B,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,WAAW,GAAG,WAAW,IAAI,oBAAoB,CAAC;QACzD,CAAC;IACH,CAAC;IAED,WAAW;QACT,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACzB,IAAI,CAAC,WAAW,EAAE,CAAC;IACrB,CAAC;IAED,sBAAsB;QACpB,IAAI,CAAC,iBAAiB,GAAG,CAAC,CAAC;IAC7B,CAAC;IAED,YAAY,CAAC,MAA0B;QACrC,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC;YACxE,IAAI,CAAC,eAAe,IAAI,MAAM,CAAC;QACjC,CAAC;IACH,CAAC;IAED,IAAI,sBAAsB;QACxB,OAAO,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,cAAc,CAAC;IACjD,CAAC;IAED,IAAI,4BAA4B;QAC9B,OAAO,IAAI,CAAC,iBAAiB,IAAI,CAAC,CAAC;IACrC,CAAC;IAED,IAAI,sBAAsB;QACxB,OAAO,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,WAAW,CAAC;IAClD,CAAC;IAED,cAAc,CAAC,QAAgB;QAC7B,IAAI,QAAQ,IAAI,QAAQ,CAAC,MAAM,GAAG,EAAE,IAAI,IAAI,CAAC,iBAAiB,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;YAC3E,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACxC,CAAC;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"run-state.js","sourceRoot":"","sources":["../src/run-state.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;;;;GAKG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,OAAO,CAAC;AAE5C,MAAM,OAAO,QAAQ;IACnB,iBAAiB,GAAG,CAAC,CAAC;IACtB,WAAW,GAAG,CAAC,CAAC;IAChB,0BAA0B,GAAG,CAAC,CAAC;IAC/B,2BAA2B,CAAqB;IAChD,uBAAuB,GAAG,CAAC,CAAC;IAC5B,kBAAkB,GAAG,CAAC,QAAQ,CAAC;IAC/B,wBAAwB,GAAa,EAAE,CAAC;IACxC,oDAAoD;IACpD,iBAAiB,GAAa,EAAE,CAAC;IACjC,eAAe,GAAG,IAAI,GAAG,EAAU,CAAC;IAEpC,uDAAuD;IACvD,WAAW,GAAyC,EAAE,CAAC;IAEvD;;;;;;;;;;;;;;OAcG;IACH,gBAAgB,GAAG,CAAC,QAAQ,CAAC;IAEpB,cAAc,CAAS;IAEhC,6EAA6E;IAC7E,eAAe,GAAG,CAAC,CAAC;IACpB,wFAAwF;IAC/E,WAAW,CAAS;IAE7B,YAAY,QAAgB,EAAE,WAAoB;QAChD,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC;QAC3D,0EAA0E;QAC1E,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;QACvD,IAAI,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;YAChD,IAAI,CAAC,WAAW,GAAG,SAAS,CAAC;QAC/B,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,WAAW,GAAG,WAAW,IAAI,oBAAoB,CAAC;QACzD,CAAC;IACH,CAAC;IAED,WAAW;QACT,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACzB,IAAI,CAAC,WAAW,EAAE,CAAC;IACrB,CAAC;IAED,sBAAsB;QACpB,IAAI,CAAC,iBAAiB,GAAG,CAAC,CAAC;IAC7B,CAAC;IAED,YAAY,CAAC,MAA0B;QACrC,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC;YACxE,IAAI,CAAC,eAAe,IAAI,MAAM,CAAC;QACjC,CAAC;IACH,CAAC;IAED,IAAI,sBAAsB;QACxB,OAAO,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,cAAc,CAAC;IACjD,CAAC;IAED,IAAI,4BAA4B;QAC9B,OAAO,IAAI,CAAC,iBAAiB,IAAI,CAAC,CAAC;IACrC,CAAC;IAED,IAAI,sBAAsB;QACxB,OAAO,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,WAAW,CAAC;IAClD,CAAC;IAED,cAAc,CAAC,QAAgB;QAC7B,IAAI,QAAQ,IAAI,QAAQ,CAAC,MAAM,GAAG,EAAE,IAAI,IAAI,CAAC,iBAAiB,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;YAC3E,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACxC,CAAC;IACH,CAAC;CACF"}
@@ -0,0 +1,2 @@
1
+ export declare function containsSelfContradictingCompletion(text: string): boolean;
2
+ //# sourceMappingURL=completion-language.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"completion-language.d.ts","sourceRoot":"","sources":["../../src/runner/completion-language.ts"],"names":[],"mappings":"AAGA,wBAAgB,mCAAmC,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEzE"}
@@ -0,0 +1,5 @@
1
+ const SELF_CONTRADICTING_COMPLETION_RE = /\b(?:blocked from completing|could not (?:complete|find|fulfill|verify|confirm|locate|access|extract|retrieve)|cannot (?:truthfully )?(?:provide|verify|confirm|complete|extract|retrieve)|not (?:visible|available|found|present|accessible|displayed|shown|confirmed|verified|reached|currently reachable)|did not (?:take effect|work|succeed|load|return|answer)|does not (?:answer|show|include|contain|provide|meet|satisfy|match)|doesn't (?:meet|satisfy|match)|unable to (?:fully )?(?:find|complete|verify|access|extract|retrieve)|no (?:visible (?:answer|result|data|content)|results? (?:found|returned|available))|(?:failed|failure) to (?:find|complete|set|select|navigate)|unfortunately|I (?:was|am) unable|I do not (?:yet )?have|not for the requested|not the requested|specific requested|requested [^.\n]*(?:date|dates?|results?|flight|fare|search)[^.\n]*(?:not|no)[^.\n]*(?:visible|reached|available|confirmed|retrieved)|exact requested .* not|(?:task|request|goal) (?:is|was) (?:not |in)complete)\b/i;
2
+ export function containsSelfContradictingCompletion(text) {
3
+ return SELF_CONTRADICTING_COMPLETION_RE.test(text);
4
+ }
5
+ //# sourceMappingURL=completion-language.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"completion-language.js","sourceRoot":"","sources":["../../src/runner/completion-language.ts"],"names":[],"mappings":"AAAA,MAAM,gCAAgC,GACpC,y+BAAy+B,CAAC;AAE5+B,MAAM,UAAU,mCAAmC,CAAC,IAAY;IAC9D,OAAO,gCAAgC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACrD,CAAC"}
@@ -0,0 +1,19 @@
1
+ import type { Scenario } from '../types.js';
2
+ export interface DirectStartUrl {
3
+ url: string;
4
+ profile: 'booking-search';
5
+ reason: string;
6
+ dateRoll?: {
7
+ originalCheckin: string;
8
+ originalCheckout: string;
9
+ checkin: string;
10
+ checkout: string;
11
+ };
12
+ }
13
+ export interface DirectStartOptions {
14
+ now?: Date;
15
+ rollPastDates?: boolean;
16
+ }
17
+ export declare function deriveDirectStartUrl(scenario: Pick<Scenario, 'goal' | 'startUrl'>, options?: DirectStartOptions): DirectStartUrl | undefined;
18
+ export declare function shouldAcceptRolledBookingCompletion(directStart: DirectStartUrl | undefined, verification: import('../types.js').GoalVerification, claimedResult: string, state: Pick<import('../types.js').PageState, 'url' | 'snapshot'>): boolean;
19
+ //# sourceMappingURL=direct-start.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"direct-start.d.ts","sourceRoot":"","sources":["../../src/runner/direct-start.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAG5C,MAAM,WAAW,cAAc;IAC7B,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,gBAAgB,CAAC;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE;QACT,eAAe,EAAE,MAAM,CAAC;QACxB,gBAAgB,EAAE,MAAM,CAAC;QACzB,OAAO,EAAE,MAAM,CAAC;QAChB,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC;CACH;AAED,MAAM,WAAW,kBAAkB;IACjC,GAAG,CAAC,EAAE,IAAI,CAAC;IACX,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAmDD,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,MAAM,GAAG,UAAU,CAAC,EAC7C,OAAO,GAAE,kBAAuB,GAC/B,cAAc,GAAG,SAAS,CA4B5B;AAqMD,wBAAgB,mCAAmC,CACjD,WAAW,EAAE,cAAc,GAAG,SAAS,EACvC,YAAY,EAAE,OAAO,aAAa,EAAE,gBAAgB,EACpD,aAAa,EAAE,MAAM,EACrB,KAAK,EAAE,IAAI,CAAC,OAAO,aAAa,EAAE,SAAS,EAAE,KAAK,GAAG,UAAU,CAAC,GAC/D,OAAO,CAyBT"}
@@ -0,0 +1,295 @@
1
+ import { safeHostname } from './utils.js';
2
+ const MONTHS = {
3
+ jan: 1,
4
+ january: 1,
5
+ feb: 2,
6
+ february: 2,
7
+ mar: 3,
8
+ march: 3,
9
+ apr: 4,
10
+ april: 4,
11
+ may: 5,
12
+ jun: 6,
13
+ june: 6,
14
+ jul: 7,
15
+ july: 7,
16
+ aug: 8,
17
+ august: 8,
18
+ sep: 9,
19
+ sept: 9,
20
+ september: 9,
21
+ oct: 10,
22
+ october: 10,
23
+ nov: 11,
24
+ november: 11,
25
+ dec: 12,
26
+ december: 12,
27
+ };
28
+ const NUMBER_WORDS = {
29
+ one: 1,
30
+ two: 2,
31
+ three: 3,
32
+ four: 4,
33
+ five: 5,
34
+ six: 6,
35
+ seven: 7,
36
+ };
37
+ export function deriveDirectStartUrl(scenario, options = {}) {
38
+ if (process.env.BAD_DIRECT_START === '0')
39
+ return undefined;
40
+ if (!scenario.startUrl || !scenario.goal)
41
+ return undefined;
42
+ const host = safeHostname(scenario.startUrl);
43
+ if (!host || !/(^|\.)booking\.com$/.test(host))
44
+ return undefined;
45
+ const destination = extractBookingDestination(scenario.goal);
46
+ const dates = extractStayDates(scenario.goal, options);
47
+ if (!destination || !dates)
48
+ return undefined;
49
+ const url = new URL('https://www.booking.com/searchresults.html');
50
+ url.searchParams.set('ss', destination);
51
+ url.searchParams.set('checkin', dates.checkin);
52
+ url.searchParams.set('checkout', dates.checkout);
53
+ const adults = extractAdults(scenario.goal);
54
+ if (adults)
55
+ url.searchParams.set('group_adults', String(adults));
56
+ const rooms = extractRooms(scenario.goal);
57
+ if (rooms)
58
+ url.searchParams.set('no_rooms', String(rooms));
59
+ const children = extractChildren(scenario.goal);
60
+ if (children)
61
+ url.searchParams.set('group_children', String(children));
62
+ return {
63
+ url: url.toString(),
64
+ profile: 'booking-search',
65
+ reason: `Booking direct search for ${destination} ${dates.checkin}..${dates.checkout}`,
66
+ ...(dates.dateRoll ? { dateRoll: dates.dateRoll } : {}),
67
+ };
68
+ }
69
+ function extractBookingDestination(goal) {
70
+ const patterns = [
71
+ /\b(?:Find|Search for|Look up|Locate|Identify)\s+(?:a\s+|the\s+)?([A-Z][A-Za-z]+(?:\s+[A-Z][A-Za-z]+){0,3})\s+hotel(?:\s+options)?\b/,
72
+ /\b(?:hotel|hotels|properties|property|resort|room|rooms)(?:\s*\([^)]*\))?\s+(?:options\s+)?(?:available\s+)?(?:in|near|closest to)\s+(.+?)(?=\s+(?:from|for|with|that|and|available|costs|under|less|rated|rating|starting|offering|on\s+booking|suitable|sort|browse|,)|[,.]|$)/i,
73
+ /\b(?:in|near|closest to)\s+(.+?)(?=\s+(?:from|for|with|that|and|available|costs|under|less|rated|rating|starting|offering|on\s+booking|suitable|sort|browse|,)|[,.]|$)/i,
74
+ ];
75
+ for (const pattern of patterns) {
76
+ const match = goal.match(pattern);
77
+ const raw = match?.[1]?.trim();
78
+ if (!raw)
79
+ continue;
80
+ const cleaned = raw
81
+ .replace(/^(?:downtown|the)\s+/i, (prefix) => prefix.toLowerCase() === 'the ' ? '' : prefix)
82
+ .replace(/\s+please$/i, '')
83
+ .trim();
84
+ if (cleaned && !/\b(price|page|website|results?)\b/i.test(cleaned))
85
+ return cleaned;
86
+ }
87
+ return undefined;
88
+ }
89
+ function extractStayDates(goal, options) {
90
+ const text = normalizeDateText(goal);
91
+ const numeric = text.match(/\b(\d{1,2})\/(\d{1,2})\/(\d{4})\s*(?:-|to|through)\s*(\d{1,2})\/(\d{1,2})\/(\d{4})\b/i);
92
+ if (numeric) {
93
+ return normalizeStay(makeStay({ day: Number(numeric[1]), month: Number(numeric[2]), year: Number(numeric[3]) }, { day: Number(numeric[4]), month: Number(numeric[5]), year: Number(numeric[6]) }), options);
94
+ }
95
+ const explicitRange = matchDateRange(text);
96
+ if (explicitRange)
97
+ return normalizeStay(explicitRange, options);
98
+ const duration = matchDurationStay(text);
99
+ if (duration)
100
+ return normalizeStay(duration, options);
101
+ return undefined;
102
+ }
103
+ function matchDateRange(text) {
104
+ const month = monthPattern();
105
+ const rangePatterns = [
106
+ new RegExp(`\\b(${month})\\s+(\\d{1,2}),?\\s+(\\d{4}),?\\s*(?:-|to|through|and)\\s*(${month})\\s+(\\d{1,2}),?\\s+(\\d{4})\\b`, 'i'),
107
+ new RegExp(`\\b(${month})\\s+(\\d{1,2})\\s*(?:-|to|through)\\s*(${month})\\s+(\\d{1,2}),?\\s+(\\d{4})\\b`, 'i'),
108
+ new RegExp(`\\b(${month})\\s+(\\d{1,2})\\s*(?:-|to|through)\\s*(\\d{1,2}),?\\s+(\\d{4})\\b`, 'i'),
109
+ new RegExp(`\\b(${month})\\s+(\\d{1,2})\\s*(?:-|to|through)\\s*(${month})\\s+(\\d{1,2})\\b`, 'i'),
110
+ new RegExp(`\\b(${month})\\s+(\\d{1,2})\\s*(?:-|to|through)\\s*(\\d{1,2})\\b`, 'i'),
111
+ new RegExp(`\\b(\\d{1,2})\\s+(${month})\\s*(?:-|to|through)\\s*(\\d{1,2})\\s+(${month})\\s+(\\d{4})\\b`, 'i'),
112
+ ];
113
+ for (const [index, pattern] of rangePatterns.entries()) {
114
+ const match = text.match(pattern);
115
+ if (!match)
116
+ continue;
117
+ if (index === 0) {
118
+ return makeStay(dateParts(match[1], match[2], match[3]), dateParts(match[4], match[5], match[6]));
119
+ }
120
+ if (index === 1) {
121
+ return makeStay(dateParts(match[1], match[2], match[5]), dateParts(match[3], match[4], match[5]));
122
+ }
123
+ if (index === 2) {
124
+ return makeStay(dateParts(match[1], match[2], match[4]), dateParts(match[1], match[3], match[4]));
125
+ }
126
+ if (index === 3) {
127
+ return makeStay(dateParts(match[1], match[2]), dateParts(match[3], match[4]));
128
+ }
129
+ if (index === 4) {
130
+ return makeStay(dateParts(match[1], match[2]), dateParts(match[1], match[3]));
131
+ }
132
+ return makeStay(dateParts(match[2], match[1], match[5]), dateParts(match[4], match[3], match[5]));
133
+ }
134
+ return undefined;
135
+ }
136
+ function matchDurationStay(text) {
137
+ const month = monthPattern();
138
+ const durationRe = new RegExp(`\\b(?:(\\d+)|one|two|three|four|five|six|seven|week)-?\\s*(?:night|nights|day|days|long)?\\s+stay\\s+(?:from|starting(?:\\s+from|\\s+on)?)\\s+(${month})\\s+(\\d{1,2})(?:,?\\s+(\\d{4}))?\\b`, 'i');
139
+ const stay = text.match(durationRe);
140
+ if (stay) {
141
+ const nights = stay[1] ? Number(stay[1]) : stay[0].toLowerCase().startsWith('week') ? 7 : NUMBER_WORDS[stay[0].split(/\s|-/)[0].toLowerCase()];
142
+ const start = resolveDate(dateParts(stay[2], stay[3], stay[4]));
143
+ return {
144
+ checkin: formatDate(start),
145
+ checkout: formatDate(addDays(start, nights || 1)),
146
+ };
147
+ }
148
+ const durationDayMonthRe = new RegExp(`\\b(?:(\\d+)|one|two|three|four|five|six|seven|week)-?\\s*(?:night|nights|day|days|long)?\\s+stay\\s+(?:from|starting(?:\\s+from|\\s+on)?)\\s+(\\d{1,2})\\s+(${month})(?:,?\\s+(\\d{4}))?\\b`, 'i');
149
+ const dayMonthStay = text.match(durationDayMonthRe);
150
+ if (dayMonthStay) {
151
+ const nights = dayMonthStay[1] ? Number(dayMonthStay[1]) : dayMonthStay[0].toLowerCase().startsWith('week') ? 7 : NUMBER_WORDS[dayMonthStay[0].split(/\s|-/)[0].toLowerCase()];
152
+ const start = resolveDate(dateParts(dayMonthStay[3], dayMonthStay[2], dayMonthStay[4]));
153
+ return {
154
+ checkin: formatDate(start),
155
+ checkout: formatDate(addDays(start, nights || 1)),
156
+ };
157
+ }
158
+ const daysRe = new RegExp(`\\bfor\\s+(?:(\\d+)|one|two|three|four|five|six|seven)\\s+days?\\s+(?:from|starting(?:\\s+from|\\s+on)?)\\s+(${month})\\s+(\\d{1,2})(?:,?\\s+(\\d{4}))?\\b`, 'i');
159
+ const days = text.match(daysRe);
160
+ if (days) {
161
+ const nights = days[1] ? Number(days[1]) : NUMBER_WORDS[days[0].match(/\b(one|two|three|four|five|six|seven)\b/i)?.[1]?.toLowerCase() || 'one'];
162
+ const start = resolveDate(dateParts(days[2], days[3], days[4]));
163
+ return {
164
+ checkin: formatDate(start),
165
+ checkout: formatDate(addDays(start, nights || 1)),
166
+ };
167
+ }
168
+ return undefined;
169
+ }
170
+ function extractAdults(goal) {
171
+ if (/\bcouple\b/i.test(goal))
172
+ return 2;
173
+ const match = goal.match(/\b(\d+|one|two|three|four|five|six|seven)\s+adults?\b/i);
174
+ return match ? numberFromText(match[1]) : undefined;
175
+ }
176
+ function extractRooms(goal) {
177
+ const match = goal.match(/\b(\d+|one|two|three|four|five|six|seven)\s+rooms?\b/i);
178
+ return match ? numberFromText(match[1]) : undefined;
179
+ }
180
+ function extractChildren(goal) {
181
+ const match = goal.match(/\b(\d+|one|two|three|four|five|six|seven)\s+children\b/i);
182
+ return match ? numberFromText(match[1]) : undefined;
183
+ }
184
+ function numberFromText(value) {
185
+ return /^\d+$/.test(value) ? Number(value) : NUMBER_WORDS[value.toLowerCase()] || 0;
186
+ }
187
+ function makeStay(start, end) {
188
+ return {
189
+ checkin: formatDate(resolveDate(start)),
190
+ checkout: formatDate(resolveDate(end, start)),
191
+ };
192
+ }
193
+ function normalizeStay(stay, options) {
194
+ if (options.rollPastDates === false)
195
+ return stay;
196
+ const originalCheckin = stay.checkin;
197
+ const originalCheckout = stay.checkout;
198
+ const today = startOfUtcDay(options.now || new Date());
199
+ let checkin = parseIsoDate(stay.checkin);
200
+ let checkout = parseIsoDate(stay.checkout);
201
+ while (checkin < today) {
202
+ checkin = addYears(checkin, 1);
203
+ checkout = addYears(checkout, 1);
204
+ }
205
+ const rolled = {
206
+ checkin: formatDate(checkin),
207
+ checkout: formatDate(checkout),
208
+ };
209
+ if (rolled.checkin === originalCheckin && rolled.checkout === originalCheckout)
210
+ return rolled;
211
+ return {
212
+ ...rolled,
213
+ dateRoll: {
214
+ originalCheckin,
215
+ originalCheckout,
216
+ checkin: rolled.checkin,
217
+ checkout: rolled.checkout,
218
+ },
219
+ };
220
+ }
221
+ export function shouldAcceptRolledBookingCompletion(directStart, verification, claimedResult, state) {
222
+ if (!directStart?.dateRoll || verification.achieved)
223
+ return false;
224
+ const haystack = `${state.url}\n${state.snapshot}\n${claimedResult}`.toLowerCase();
225
+ const verifierText = [...verification.evidence, ...verification.missing].join('\n').toLowerCase();
226
+ const hasRolledDates = haystack.includes(directStart.dateRoll.checkin) &&
227
+ haystack.includes(directStart.dateRoll.checkout);
228
+ if (!hasRolledDates)
229
+ return false;
230
+ const looksLikeConcreteBookingResult = [
231
+ /\bbooking\.com\b/,
232
+ /\b(scored|score|reviews?|properties found|price|per night|total|hotel|room|brand|brands|free cancellation|breakfast)\b/,
233
+ ].every((pattern) => pattern.test(haystack));
234
+ if (!looksLikeConcreteBookingResult)
235
+ return false;
236
+ return [
237
+ /\bwrong (?:date|year|dates)\b/,
238
+ /\b(?:date|year|dates) (?:mismatch|do not match|does not match)\b/,
239
+ /\brequested .*2026\b/,
240
+ /\bcurrent .*2027\b/,
241
+ /\bfinal page state\b/,
242
+ /\bcurrent page\b/,
243
+ /\bnot visible\b/,
244
+ ].some((pattern) => pattern.test(verifierText));
245
+ }
246
+ function dateParts(monthName, day, year) {
247
+ return {
248
+ month: MONTHS[monthName.toLowerCase()] || Number(monthName),
249
+ day: Number(day),
250
+ ...(year ? { year: Number(year) } : {}),
251
+ };
252
+ }
253
+ function resolveDate(parts, prior) {
254
+ const year = parts.year || prior?.year || inferBenchmarkYear(parts.month);
255
+ return new Date(Date.UTC(year, parts.month - 1, parts.day));
256
+ }
257
+ function inferBenchmarkYear(month) {
258
+ // WebVoyager's Booking tasks mix explicit 2025/2026 dates with omitted years.
259
+ // The omitted-year examples are from the same benchmark season, not wall-clock-relative user requests.
260
+ return month === 12 ? 2025 : 2026;
261
+ }
262
+ function addDays(date, days) {
263
+ const out = new Date(date);
264
+ out.setUTCDate(out.getUTCDate() + days);
265
+ return out;
266
+ }
267
+ function addYears(date, years) {
268
+ return new Date(Date.UTC(date.getUTCFullYear() + years, date.getUTCMonth(), date.getUTCDate()));
269
+ }
270
+ function parseIsoDate(value) {
271
+ const [year, month, day] = value.split('-').map(Number);
272
+ return new Date(Date.UTC(year, month - 1, day));
273
+ }
274
+ function startOfUtcDay(date) {
275
+ return new Date(Date.UTC(date.getUTCFullYear(), date.getUTCMonth(), date.getUTCDate()));
276
+ }
277
+ function formatDate(date) {
278
+ const yyyy = date.getUTCFullYear();
279
+ const mm = String(date.getUTCMonth() + 1).padStart(2, '0');
280
+ const dd = String(date.getUTCDate()).padStart(2, '0');
281
+ return `${yyyy}-${mm}-${dd}`;
282
+ }
283
+ function normalizeDateText(goal) {
284
+ return goal
285
+ .replace(/[–—]/g, '-')
286
+ .replace(/\b(\d{1,2})(st|nd|rd|th)\b/gi, '$1')
287
+ .replace(/\s+/g, ' ')
288
+ .trim();
289
+ }
290
+ function monthPattern() {
291
+ return Object.keys(MONTHS)
292
+ .sort((a, b) => b.length - a.length)
293
+ .join('|');
294
+ }
295
+ //# sourceMappingURL=direct-start.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"direct-start.js","sourceRoot":"","sources":["../../src/runner/direct-start.ts"],"names":[],"mappings":"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"}
@@ -189,12 +189,9 @@ export interface PlanFallbackEnteredEvent extends BaseEvent {
189
189
  fallbackContext: string;
190
190
  }
191
191
  /**
192
- * Gen 7.1 — runner is calling Brain.plan() AGAIN after a previous plan
193
- * deviated. The replan attempt re-observes the page and asks the planner
194
- * for a fresh plan from the new state, with the deviation summary attached
195
- * as extraContext so the planner can avoid the same trap. Capped at
196
- * `maxReplans` per run; on cap-reached the runner falls through to the
197
- * per-action loop instead.
192
+ * Runner is calling Brain.plan() again after a previous plan deviated.
193
+ * The replan attempt observes the current page and asks for a fresh plan
194
+ * with deviation context attached.
198
195
  */
199
196
  export interface PlanReplanStartedEvent extends BaseEvent {
200
197
  type: 'plan-replan-started';
@@ -1 +1 @@
1
- {"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../src/runner/events.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../src/runner/events.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"events.js","sourceRoot":"","sources":["../../src/runner/events.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAwPH;;;;;;GAMG;AACH,MAAM,OAAO,YAAY;IACf,SAAS,GAAG,IAAI,GAAG,EAAqB,CAAA;IACxC,MAAM,GAAgB,EAAE,CAAA;IACxB,OAAO,GAAG,CAAC,CAAA;IACF,SAAS,CAAQ;IACjB,eAAe,CAAqD;IAErF,YAAY,UAA+B,EAAE;QAC3C,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,GAAG,CAAA;QACzC,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC,eAAe,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;YAC5D,sCAAsC;YACtC,OAAO,CAAC,KAAK,CAAC,gCAAgC,EAAE,GAAG,CAAC,CAAA;QACtD,CAAC,CAAC,CAAA;IACJ,CAAC;IAED;;;;;;;;;;OAUG;IACH,IAAI,CAAsB,KAAiC;QACzD,MAAM,IAAI,GAAG,EAAE,GAAG,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,OAAO,EAAE,EAA0B,CAAA;QACtE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACtB,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;YACxC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAA;QACrB,CAAC;QACD,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACtC,IAAI,CAAC;gBACH,QAAQ,CAAC,IAAI,CAAC,CAAA;YAChB,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAA;YACrC,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;;;;;OAOG;IACH,SAAS,CAAC,QAA2B,EAAE,cAAc,GAAG,IAAI;QAC1D,IAAI,cAAc,EAAE,CAAC;YACnB,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;gBAChC,IAAI,CAAC;oBACH,QAAQ,CAAC,KAAK,CAAC,CAAA;gBACjB,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAA;gBACrC,CAAC;YACH,CAAC;QACH,CAAC;QACD,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;QAC5B,OAAO,GAAG,EAAE;YACV,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;QACjC,CAAC,CAAA;IACH,CAAC;IAED,2DAA2D;IAC3D,WAAW;QACT,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAA;IACzB,CAAC;IAED,2DAA2D;IAC3D,WAAW;QACT,IAAI,CAAC,MAAM,GAAG,EAAE,CAAA;IAClB,CAAC;IAED,gDAAgD;IAChD,IAAI,aAAa;QACf,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAA;IAC5B,CAAC;IAED,iEAAiE;IACjE,OAAO,CAAsB,KAAwC;QACnE,qEAAqE;QACrE,wEAAwE;QACxE,8DAA8D;QAC9D,IAAI,CAAC,IAAI,CAAC,EAAE,GAAI,KAAa,EAAE,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC,CAAA;IAChE,CAAC;CACF;AAUD,2EAA2E;AAE3E;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAAC,KAAgB;IAChD,IAAI,KAAK,CAAC,IAAI,KAAK,mBAAmB,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;QAC3D,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,GAAG,IAAI,EAAE,GAAG,KAAK,CAAA;QAClD,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;IAC7B,CAAC;IACD,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;AAC9B,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,OAAO,CACrB,KAAgB,EAChB,IAAO;IAEP,OAAO,KAAK,CAAC,IAAI,KAAK,IAAI,CAAA;AAC5B,CAAC;AAED,uEAAuE;AACvE,MAAM,UAAU,aAAa;IAC3B,OAAO,IAAI,YAAY,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,CAAA;AAC3C,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,SAAS,CAAC,GAAkB;IAC1C,OAAO,GAAG,IAAI,aAAa,EAAE,CAAA;AAC/B,CAAC"}
1
+ {"version":3,"file":"events.js","sourceRoot":"","sources":["../../src/runner/events.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Gen 33 — mid-run parallel fan-out executor.
2
+ * Mid-run parallel fan-out executor.
3
3
  *
4
4
  * When the agent emits a `fanOut` action in the middle of a run, this
5
5
  * module spawns N sub-agents in fresh tabs of the same BrowserContext,
@@ -22,10 +22,9 @@
22
22
  * the parent sees "BRANCH 3: error: …" as part of the structured
23
23
  * feedback and can choose to retry / ignore / incorporate
24
24
  *
25
- * This is different from Gen 21's parallel-runner.ts, which runs the
26
- * ENTIRE run as parallel sub-goals decided up front. FanOut is called
27
- * from inside a turn, with whatever sub-goals the agent synthesized on
28
- * the fly from the current page's content.
25
+ * This differs from parallel-runner.ts, which decomposes the whole run up
26
+ * front. FanOut is called inside a turn with sub-goals synthesized from the
27
+ * current page's content.
29
28
  */
30
29
  import type { BrowserContext } from 'playwright';
31
30
  import type { AgentConfig, FanOutAction } from '../types.js';
@@ -47,10 +46,8 @@ export interface FanOutExecutorOptions {
47
46
  /** Parent's currentURL — used as a default for any sub-goal that didn't set one. */
48
47
  currentUrl?: string;
49
48
  /**
50
- * Gen 34 the parent's driver. When present, the executor drives the
51
- * Hydra overlay on the parent page: grid init, live screenshot
52
- * streaming per branch, verdict chips, final collapse animation.
53
- * Pass undefined to skip Hydra (no cursor / headless / etc.).
49
+ * Parent driver used to drive the fan-out overlay on the parent page.
50
+ * Pass undefined to skip overlay updates.
54
51
  */
55
52
  parentDriver?: Driver;
56
53
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"fan-out.d.ts","sourceRoot":"","sources":["../../src/runner/fan-out.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAQ,MAAM,YAAY,CAAA;AACtD,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAY,MAAM,aAAa,CAAA;AACtE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAA;AAC9D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AACjD,OAAO,EAAoB,KAAK,uBAAuB,EAAE,MAAM,0BAA0B,CAAA;AACzF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAsC9C,MAAM,WAAW,qBAAqB;IACpC,uEAAuE;IACvE,OAAO,EAAE,cAAc,CAAA;IACvB,uFAAuF;IACvF,MAAM,EAAE,WAAW,CAAA;IACnB,2FAA2F;IAC3F,aAAa,CAAC,EAAE,IAAI,CAAC,uBAAuB,EAAE,YAAY,CAAC,CAAA;IAC3D,iFAAiF;IACjF,YAAY,CAAC,EAAE,YAAY,CAAA;IAC3B,0EAA0E;IAC1E,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,oFAAoF;IACpF,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB;;;;;OAKG;IACH,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB;;;OAGG;IACH,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IACtD,gBAAgB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,KAAK,IAAI,CAAA;CAC/E;AAED,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IACb,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,OAAO,CAAA;IAChB,uDAAuD;IACvD,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,EAAE,MAAM,CAAA;IACjB,UAAU,EAAE,MAAM,CAAA;IAClB,8EAA8E;IAC9E,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,kBAAkB,EAAE,CAAA;IAC9B,2EAA2E;IAC3E,QAAQ,EAAE,MAAM,CAAA;IAChB,gFAAgF;IAChF,OAAO,EAAE,MAAM,CAAA;IACf,iDAAiD;IACjD,UAAU,EAAE,MAAM,CAAA;CACnB;AAED;;;;;;;;;GASG;AACH;;;;;;;;;GASG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,YAAY,GAAG,YAAY,CAAC,UAAU,CAAC,CAa9E;AAED,wBAAsB,aAAa,CACjC,MAAM,EAAE,YAAY,EACpB,IAAI,EAAE,qBAAqB,GAC1B,OAAO,CAAC,qBAAqB,CAAC,CAmEhC;AA+JD;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,kBAAkB,EAAE,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAwBzF;AAOD,oDAAoD;AACpD,eAAO,MAAM,sBAAsB,IAA2B,CAAA"}
1
+ {"version":3,"file":"fan-out.d.ts","sourceRoot":"","sources":["../../src/runner/fan-out.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAQ,MAAM,YAAY,CAAA;AACtD,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAY,MAAM,aAAa,CAAA;AACtE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAA;AAC9D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AACjD,OAAO,EAAoB,KAAK,uBAAuB,EAAE,MAAM,0BAA0B,CAAA;AACzF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAsC9C,MAAM,WAAW,qBAAqB;IACpC,uEAAuE;IACvE,OAAO,EAAE,cAAc,CAAA;IACvB,uFAAuF;IACvF,MAAM,EAAE,WAAW,CAAA;IACnB,2FAA2F;IAC3F,aAAa,CAAC,EAAE,IAAI,CAAC,uBAAuB,EAAE,YAAY,CAAC,CAAA;IAC3D,iFAAiF;IACjF,YAAY,CAAC,EAAE,YAAY,CAAA;IAC3B,0EAA0E;IAC1E,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,oFAAoF;IACpF,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB;;;OAGG;IACH,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IACtD,gBAAgB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,KAAK,IAAI,CAAA;CAC/E;AAED,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IACb,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,OAAO,CAAA;IAChB,uDAAuD;IACvD,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,EAAE,MAAM,CAAA;IACjB,UAAU,EAAE,MAAM,CAAA;IAClB,8EAA8E;IAC9E,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,kBAAkB,EAAE,CAAA;IAC9B,2EAA2E;IAC3E,QAAQ,EAAE,MAAM,CAAA;IAChB,gFAAgF;IAChF,OAAO,EAAE,MAAM,CAAA;IACf,iDAAiD;IACjD,UAAU,EAAE,MAAM,CAAA;CACnB;AAED;;;;;;;;;GASG;AACH;;;;;;;;;GASG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,YAAY,GAAG,YAAY,CAAC,UAAU,CAAC,CAa9E;AAED,wBAAsB,aAAa,CACjC,MAAM,EAAE,YAAY,EACpB,IAAI,EAAE,qBAAqB,GAC1B,OAAO,CAAC,qBAAqB,CAAC,CA+DhC;AA4JD;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,kBAAkB,EAAE,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAwBzF;AAOD,oDAAoD;AACpD,eAAO,MAAM,sBAAsB,IAA2B,CAAA"}
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Gen 33 — mid-run parallel fan-out executor.
2
+ * Mid-run parallel fan-out executor.
3
3
  *
4
4
  * When the agent emits a `fanOut` action in the middle of a run, this
5
5
  * module spawns N sub-agents in fresh tabs of the same BrowserContext,
@@ -22,10 +22,9 @@
22
22
  * the parent sees "BRANCH 3: error: …" as part of the structured
23
23
  * feedback and can choose to retry / ignore / incorporate
24
24
  *
25
- * This is different from Gen 21's parallel-runner.ts, which runs the
26
- * ENTIRE run as parallel sub-goals decided up front. FanOut is called
27
- * from inside a turn, with whatever sub-goals the agent synthesized on
28
- * the fly from the current page's content.
25
+ * This differs from parallel-runner.ts, which decomposes the whole run up
26
+ * front. FanOut is called inside a turn with sub-goals synthesized from the
27
+ * current page's content.
29
28
  */
30
29
  import { PlaywrightDriver } from '../drivers/playwright.js';
31
30
  let _BrowserAgentCtor;
@@ -88,9 +87,7 @@ export async function executeFanOut(action, opts) {
88
87
  tokensUsed: 0,
89
88
  };
90
89
  }
91
- // Gen 34 — kick off the Hydra overlay on the parent page. All driver
92
- // methods are optional; absence of any is a no-op (headless / no
93
- // cursor). Errors never propagate — overlay is cosmetic.
90
+ // Kick off the fan-out overlay on the parent page. Overlay errors are cosmetic.
94
91
  const labels = subGoals.map((sg, i) => sg.label ?? `branch-${i + 1}`);
95
92
  if (opts.parentDriver?.fanOutStart) {
96
93
  await opts.parentDriver.fanOutStart(labels).catch(() => { });
@@ -113,9 +110,7 @@ export async function executeFanOut(action, opts) {
113
110
  durationMs: 0,
114
111
  }));
115
112
  });
116
- // Gen 34 choreography: minimum 3s visible floor so fast fan-outs
117
- // don't flash past the viewer, then collapse (~520ms) + dismiss
118
- // (~400ms). Total ≤ 4s of overlay time beyond actual work.
113
+ // Keep fast fan-outs visible long enough to be legible, then collapse and dismiss.
119
114
  if (opts.parentDriver?.fanOutCollapse) {
120
115
  const elapsed = Date.now() - startedAt;
121
116
  if (elapsed < 3000) {
@@ -144,10 +139,7 @@ async function runBranch(sg, index, opts) {
144
139
  const startedAt = Date.now();
145
140
  opts.onBranchStart?.(index, label);
146
141
  let page;
147
- // Gen 34 Hydra screenshot streamer. Fires at 2.5 FPS while this
148
- // branch is running; stops on completion/error/page-close. Each tick
149
- // pushes a base64 JPEG into the parent's overlay cell. Fire-and-forget;
150
- // late frames after completion are dropped by the cell dedup logic.
142
+ // Screenshot streamer: update the branch overlay cell while the branch runs.
151
143
  let streamer;
152
144
  const startStreamer = (pageRef) => {
153
145
  if (!opts.parentDriver?.fanOutUpdateCell)