@riddledc/riddle-proof 0.7.199 → 0.7.200

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -443,8 +443,9 @@ coordinate, and pointer options as `tap`, plus `until_path`,
443
443
  `interval_ms`. Set `tap_burst_size` from 1 to 100 when gameplay needs several
444
444
  fast taps before the next predicate check. The action stops early when the
445
445
  predicate matches and records one compact receipt with `tap_count`,
446
- `condition_check_count`, final `until_value`, and input dispatch details, so
447
- long canvas interaction loops do not need dozens of repeated setup actions.
446
+ `condition_check_count`, `elapsed_ms`, final `until_value`, and input dispatch
447
+ details, so long canvas interaction loops do not need dozens of repeated setup
448
+ actions.
448
449
  Use `set_range_value` for HTML range inputs and React-controlled sliders. It
449
450
  accepts aliases such as `set-slider-value`, requires `selector` plus `value`,
450
451
  uses the native input value setter, dispatches bubbling `input` and `change`
@@ -542,10 +543,10 @@ and `click_count_value_total`. Repeated selector runs such as long gameplay
542
543
  button loops are also grouped as compact `same-selector` click-sequence
543
544
  receipts with click totals and ordinals. `tap_until` actions are summarized as
544
545
  one compact receipt with total taps, optional burst size, predicate-check count,
545
- and the final predicate value, which is the preferred shape for long canvas
546
- gameplay loops. Setup receipt sampling favors both first and last per-viewport
547
- receipts before filling remaining space, so late lifecycle phases such as
548
- terminal or restart remain visible in compact summaries.
546
+ elapsed time, and the final predicate value, which is the preferred shape for
547
+ long canvas gameplay loops. Setup receipt sampling favors both first and last
548
+ per-viewport receipts before filling remaining space, so late lifecycle phases
549
+ such as terminal or restart remain visible in compact summaries.
549
550
 
550
551
  `target.timeout_sec` is optional. Use it for known-heavy profile targets so the
551
552
  profile carries its own hosted Riddle worker budget; an explicit CLI `--timeout`
@@ -635,6 +635,7 @@ function profileSetupTapUntilReceipts(results) {
635
635
  max_taps: result.max_taps ?? result.max_calls ?? null,
636
636
  tap_burst_size: result.tap_burst_size ?? null,
637
637
  condition_check_count: result.condition_check_count ?? null,
638
+ elapsed_ms: result.elapsed_ms ?? null,
638
639
  interval_ms: result.interval_ms ?? null,
639
640
  timeout_ms: result.timeout_ms ?? null,
640
641
  reason: result.reason ?? result.error ?? null
@@ -4568,6 +4569,7 @@ function profileSetupTapUntilReceipts(results) {
4568
4569
  max_taps: result.max_taps ?? result.max_calls ?? null,
4569
4570
  tap_burst_size: result.tap_burst_size ?? null,
4570
4571
  condition_check_count: result.condition_check_count ?? null,
4572
+ elapsed_ms: result.elapsed_ms ?? null,
4571
4573
  interval_ms: result.interval_ms ?? null,
4572
4574
  timeout_ms: result.timeout_ms ?? null,
4573
4575
  reason: result.reason || result.error || null,
@@ -6569,6 +6571,7 @@ async function executeSetupAction(action, ordinal, viewport) {
6569
6571
  let lastPredicateResult = await setupReadWindowValue(scope.context, untilPath);
6570
6572
  const targetEvidence = setupTapTargetEvidence(prepared.target);
6571
6573
  if (lastPredicateResult.ok && setupValuesEqual(lastPredicateResult.value, untilExpected)) {
6574
+ const elapsedMs = Date.now() - startedAt;
6572
6575
  return {
6573
6576
  ...base,
6574
6577
  ...setupScopeEvidence(scope),
@@ -6582,6 +6585,7 @@ async function executeSetupAction(action, ordinal, viewport) {
6582
6585
  max_calls: maxTaps,
6583
6586
  tap_burst_size: tapBurstSize,
6584
6587
  condition_check_count: conditionCheckCount,
6588
+ elapsed_ms: elapsedMs,
6585
6589
  interval_ms: intervalMs,
6586
6590
  timeout_ms: timeout,
6587
6591
  };
@@ -6596,6 +6600,7 @@ async function executeSetupAction(action, ordinal, viewport) {
6596
6600
  lastPredicateResult = await setupReadWindowValue(scope.context, untilPath);
6597
6601
  conditionCheckCount += 1;
6598
6602
  if (lastPredicateResult.ok && setupValuesEqual(lastPredicateResult.value, untilExpected)) {
6603
+ const elapsedMs = Date.now() - startedAt;
6599
6604
  return {
6600
6605
  ...base,
6601
6606
  ...setupScopeEvidence(scope),
@@ -6609,12 +6614,14 @@ async function executeSetupAction(action, ordinal, viewport) {
6609
6614
  max_calls: maxTaps,
6610
6615
  tap_burst_size: tapBurstSize,
6611
6616
  condition_check_count: conditionCheckCount,
6617
+ elapsed_ms: elapsedMs,
6612
6618
  interval_ms: intervalMs,
6613
6619
  timeout_ms: timeout,
6614
6620
  };
6615
6621
  }
6616
6622
  if (tapCount < maxTaps && intervalMs) await page.waitForTimeout(intervalMs);
6617
6623
  }
6624
+ const elapsedMs = Date.now() - startedAt;
6618
6625
  return {
6619
6626
  ...base,
6620
6627
  ...setupScopeEvidence(scope),
@@ -6627,9 +6634,10 @@ async function executeSetupAction(action, ordinal, viewport) {
6627
6634
  max_calls: maxTaps,
6628
6635
  tap_burst_size: tapBurstSize,
6629
6636
  condition_check_count: conditionCheckCount,
6637
+ elapsed_ms: elapsedMs,
6630
6638
  interval_ms: intervalMs,
6631
6639
  timeout_ms: timeout,
6632
- reason: Date.now() - startedAt > timeout ? "timeout" : "until_condition_not_met",
6640
+ reason: elapsedMs > timeout ? "timeout" : "until_condition_not_met",
6633
6641
  missing_part: lastPredicateResult?.missing_part || undefined,
6634
6642
  };
6635
6643
  }
package/dist/cli.cjs CHANGED
@@ -7592,6 +7592,7 @@ function profileSetupTapUntilReceipts(results) {
7592
7592
  max_taps: result.max_taps ?? result.max_calls ?? null,
7593
7593
  tap_burst_size: result.tap_burst_size ?? null,
7594
7594
  condition_check_count: result.condition_check_count ?? null,
7595
+ elapsed_ms: result.elapsed_ms ?? null,
7595
7596
  interval_ms: result.interval_ms ?? null,
7596
7597
  timeout_ms: result.timeout_ms ?? null,
7597
7598
  reason: result.reason ?? result.error ?? null
@@ -11509,6 +11510,7 @@ function profileSetupTapUntilReceipts(results) {
11509
11510
  max_taps: result.max_taps ?? result.max_calls ?? null,
11510
11511
  tap_burst_size: result.tap_burst_size ?? null,
11511
11512
  condition_check_count: result.condition_check_count ?? null,
11513
+ elapsed_ms: result.elapsed_ms ?? null,
11512
11514
  interval_ms: result.interval_ms ?? null,
11513
11515
  timeout_ms: result.timeout_ms ?? null,
11514
11516
  reason: result.reason || result.error || null,
@@ -13510,6 +13512,7 @@ async function executeSetupAction(action, ordinal, viewport) {
13510
13512
  let lastPredicateResult = await setupReadWindowValue(scope.context, untilPath);
13511
13513
  const targetEvidence = setupTapTargetEvidence(prepared.target);
13512
13514
  if (lastPredicateResult.ok && setupValuesEqual(lastPredicateResult.value, untilExpected)) {
13515
+ const elapsedMs = Date.now() - startedAt;
13513
13516
  return {
13514
13517
  ...base,
13515
13518
  ...setupScopeEvidence(scope),
@@ -13523,6 +13526,7 @@ async function executeSetupAction(action, ordinal, viewport) {
13523
13526
  max_calls: maxTaps,
13524
13527
  tap_burst_size: tapBurstSize,
13525
13528
  condition_check_count: conditionCheckCount,
13529
+ elapsed_ms: elapsedMs,
13526
13530
  interval_ms: intervalMs,
13527
13531
  timeout_ms: timeout,
13528
13532
  };
@@ -13537,6 +13541,7 @@ async function executeSetupAction(action, ordinal, viewport) {
13537
13541
  lastPredicateResult = await setupReadWindowValue(scope.context, untilPath);
13538
13542
  conditionCheckCount += 1;
13539
13543
  if (lastPredicateResult.ok && setupValuesEqual(lastPredicateResult.value, untilExpected)) {
13544
+ const elapsedMs = Date.now() - startedAt;
13540
13545
  return {
13541
13546
  ...base,
13542
13547
  ...setupScopeEvidence(scope),
@@ -13550,12 +13555,14 @@ async function executeSetupAction(action, ordinal, viewport) {
13550
13555
  max_calls: maxTaps,
13551
13556
  tap_burst_size: tapBurstSize,
13552
13557
  condition_check_count: conditionCheckCount,
13558
+ elapsed_ms: elapsedMs,
13553
13559
  interval_ms: intervalMs,
13554
13560
  timeout_ms: timeout,
13555
13561
  };
13556
13562
  }
13557
13563
  if (tapCount < maxTaps && intervalMs) await page.waitForTimeout(intervalMs);
13558
13564
  }
13565
+ const elapsedMs = Date.now() - startedAt;
13559
13566
  return {
13560
13567
  ...base,
13561
13568
  ...setupScopeEvidence(scope),
@@ -13568,9 +13575,10 @@ async function executeSetupAction(action, ordinal, viewport) {
13568
13575
  max_calls: maxTaps,
13569
13576
  tap_burst_size: tapBurstSize,
13570
13577
  condition_check_count: conditionCheckCount,
13578
+ elapsed_ms: elapsedMs,
13571
13579
  interval_ms: intervalMs,
13572
13580
  timeout_ms: timeout,
13573
- reason: Date.now() - startedAt > timeout ? "timeout" : "until_condition_not_met",
13581
+ reason: elapsedMs > timeout ? "timeout" : "until_condition_not_met",
13574
13582
  missing_part: lastPredicateResult?.missing_part || undefined,
13575
13583
  };
13576
13584
  }
@@ -18076,13 +18084,15 @@ function profileSetupSummaryMarkdown(result) {
18076
18084
  const maxTaps = cliFiniteNumber(receipt.max_taps) ?? cliFiniteNumber(receipt.max_calls);
18077
18085
  const tapBurstSize = cliFiniteNumber(receipt.tap_burst_size);
18078
18086
  const conditionCheckCount = cliFiniteNumber(receipt.condition_check_count);
18087
+ const elapsedMs3 = cliFiniteNumber(receipt.elapsed_ms);
18079
18088
  const ok = receipt.ok === false ? "failed" : "ok";
18080
18089
  const reason = cliString(receipt.reason);
18081
18090
  const coordinateText = x && y ? `, ${coordinateMode ? `${coordinateMode} ` : ""}${markdownInlineCode(`${x},${y}`)}` : "";
18082
18091
  const tapText = tapCount === void 0 ? "" : ` in ${tapCount}${maxTaps === void 0 ? "" : `/${maxTaps}`} tap(s)`;
18083
18092
  const burstText = tapBurstSize === void 0 || tapBurstSize <= 1 ? "" : `, burst ${tapBurstSize}`;
18084
18093
  const conditionCheckText = conditionCheckCount === void 0 ? "" : `, ${conditionCheckCount} check(s)`;
18085
- lines.push(`- ${name} tap_until: ${ok}, ${markdownInlineCode(selector)}${pointerType ? ` ${markdownInlineCode(pointerType)}` : ""}${inputDispatch ? ` via ${markdownInlineCode(inputDispatch)}` : ""}${coordinateText}${durationMs === void 0 ? "" : `, duration ${durationMs}ms`} until ${markdownInlineCode(untilPath)}${expected === void 0 ? "" : ` == ${markdownInlineCode(expected, 80)}`}${tapText}${burstText}${conditionCheckText}${actual === void 0 ? "" : `, observed ${markdownInlineCode(actual, 80)}`}${reason ? `, reason ${markdownInlineCode(reason, 100)}` : ""}`);
18094
+ const elapsedText = elapsedMs3 === void 0 ? "" : `, elapsed ${elapsedMs3}ms`;
18095
+ lines.push(`- ${name} tap_until: ${ok}, ${markdownInlineCode(selector)}${pointerType ? ` ${markdownInlineCode(pointerType)}` : ""}${inputDispatch ? ` via ${markdownInlineCode(inputDispatch)}` : ""}${coordinateText}${durationMs === void 0 ? "" : `, duration ${durationMs}ms`} until ${markdownInlineCode(untilPath)}${expected === void 0 ? "" : ` == ${markdownInlineCode(expected, 80)}`}${tapText}${burstText}${conditionCheckText}${elapsedText}${actual === void 0 ? "" : `, observed ${markdownInlineCode(actual, 80)}`}${reason ? `, reason ${markdownInlineCode(reason, 100)}` : ""}`);
18086
18096
  }
18087
18097
  if (tapUntilDetails.length > sampledTapUntilDetails.length) lines.push(`- ${tapUntilDetails.length - sampledTapUntilDetails.length} additional tap_until receipt(s) omitted.`);
18088
18098
  const keyboardGroups = viewports.map((viewport) => {
package/dist/cli.js CHANGED
@@ -13,7 +13,7 @@ import {
13
13
  profileStatusExitCode,
14
14
  resolveRiddleProofProfileTargetUrl,
15
15
  resolveRiddleProofProfileTimeoutSec
16
- } from "./chunk-EXFYPLP2.js";
16
+ } from "./chunk-FNVDZCVZ.js";
17
17
  import {
18
18
  createRiddleApiClient,
19
19
  isTerminalRiddleJobStatus,
@@ -1921,13 +1921,15 @@ function profileSetupSummaryMarkdown(result) {
1921
1921
  const maxTaps = cliFiniteNumber(receipt.max_taps) ?? cliFiniteNumber(receipt.max_calls);
1922
1922
  const tapBurstSize = cliFiniteNumber(receipt.tap_burst_size);
1923
1923
  const conditionCheckCount = cliFiniteNumber(receipt.condition_check_count);
1924
+ const elapsedMs = cliFiniteNumber(receipt.elapsed_ms);
1924
1925
  const ok = receipt.ok === false ? "failed" : "ok";
1925
1926
  const reason = cliString(receipt.reason);
1926
1927
  const coordinateText = x && y ? `, ${coordinateMode ? `${coordinateMode} ` : ""}${markdownInlineCode(`${x},${y}`)}` : "";
1927
1928
  const tapText = tapCount === void 0 ? "" : ` in ${tapCount}${maxTaps === void 0 ? "" : `/${maxTaps}`} tap(s)`;
1928
1929
  const burstText = tapBurstSize === void 0 || tapBurstSize <= 1 ? "" : `, burst ${tapBurstSize}`;
1929
1930
  const conditionCheckText = conditionCheckCount === void 0 ? "" : `, ${conditionCheckCount} check(s)`;
1930
- lines.push(`- ${name} tap_until: ${ok}, ${markdownInlineCode(selector)}${pointerType ? ` ${markdownInlineCode(pointerType)}` : ""}${inputDispatch ? ` via ${markdownInlineCode(inputDispatch)}` : ""}${coordinateText}${durationMs === void 0 ? "" : `, duration ${durationMs}ms`} until ${markdownInlineCode(untilPath)}${expected === void 0 ? "" : ` == ${markdownInlineCode(expected, 80)}`}${tapText}${burstText}${conditionCheckText}${actual === void 0 ? "" : `, observed ${markdownInlineCode(actual, 80)}`}${reason ? `, reason ${markdownInlineCode(reason, 100)}` : ""}`);
1931
+ const elapsedText = elapsedMs === void 0 ? "" : `, elapsed ${elapsedMs}ms`;
1932
+ lines.push(`- ${name} tap_until: ${ok}, ${markdownInlineCode(selector)}${pointerType ? ` ${markdownInlineCode(pointerType)}` : ""}${inputDispatch ? ` via ${markdownInlineCode(inputDispatch)}` : ""}${coordinateText}${durationMs === void 0 ? "" : `, duration ${durationMs}ms`} until ${markdownInlineCode(untilPath)}${expected === void 0 ? "" : ` == ${markdownInlineCode(expected, 80)}`}${tapText}${burstText}${conditionCheckText}${elapsedText}${actual === void 0 ? "" : `, observed ${markdownInlineCode(actual, 80)}`}${reason ? `, reason ${markdownInlineCode(reason, 100)}` : ""}`);
1931
1933
  }
1932
1934
  if (tapUntilDetails.length > sampledTapUntilDetails.length) lines.push(`- ${tapUntilDetails.length - sampledTapUntilDetails.length} additional tap_until receipt(s) omitted.`);
1933
1935
  const keyboardGroups = viewports.map((viewport) => {
package/dist/index.cjs CHANGED
@@ -9368,6 +9368,7 @@ function profileSetupTapUntilReceipts(results) {
9368
9368
  max_taps: result.max_taps ?? result.max_calls ?? null,
9369
9369
  tap_burst_size: result.tap_burst_size ?? null,
9370
9370
  condition_check_count: result.condition_check_count ?? null,
9371
+ elapsed_ms: result.elapsed_ms ?? null,
9371
9372
  interval_ms: result.interval_ms ?? null,
9372
9373
  timeout_ms: result.timeout_ms ?? null,
9373
9374
  reason: result.reason ?? result.error ?? null
@@ -13301,6 +13302,7 @@ function profileSetupTapUntilReceipts(results) {
13301
13302
  max_taps: result.max_taps ?? result.max_calls ?? null,
13302
13303
  tap_burst_size: result.tap_burst_size ?? null,
13303
13304
  condition_check_count: result.condition_check_count ?? null,
13305
+ elapsed_ms: result.elapsed_ms ?? null,
13304
13306
  interval_ms: result.interval_ms ?? null,
13305
13307
  timeout_ms: result.timeout_ms ?? null,
13306
13308
  reason: result.reason || result.error || null,
@@ -15302,6 +15304,7 @@ async function executeSetupAction(action, ordinal, viewport) {
15302
15304
  let lastPredicateResult = await setupReadWindowValue(scope.context, untilPath);
15303
15305
  const targetEvidence = setupTapTargetEvidence(prepared.target);
15304
15306
  if (lastPredicateResult.ok && setupValuesEqual(lastPredicateResult.value, untilExpected)) {
15307
+ const elapsedMs = Date.now() - startedAt;
15305
15308
  return {
15306
15309
  ...base,
15307
15310
  ...setupScopeEvidence(scope),
@@ -15315,6 +15318,7 @@ async function executeSetupAction(action, ordinal, viewport) {
15315
15318
  max_calls: maxTaps,
15316
15319
  tap_burst_size: tapBurstSize,
15317
15320
  condition_check_count: conditionCheckCount,
15321
+ elapsed_ms: elapsedMs,
15318
15322
  interval_ms: intervalMs,
15319
15323
  timeout_ms: timeout,
15320
15324
  };
@@ -15329,6 +15333,7 @@ async function executeSetupAction(action, ordinal, viewport) {
15329
15333
  lastPredicateResult = await setupReadWindowValue(scope.context, untilPath);
15330
15334
  conditionCheckCount += 1;
15331
15335
  if (lastPredicateResult.ok && setupValuesEqual(lastPredicateResult.value, untilExpected)) {
15336
+ const elapsedMs = Date.now() - startedAt;
15332
15337
  return {
15333
15338
  ...base,
15334
15339
  ...setupScopeEvidence(scope),
@@ -15342,12 +15347,14 @@ async function executeSetupAction(action, ordinal, viewport) {
15342
15347
  max_calls: maxTaps,
15343
15348
  tap_burst_size: tapBurstSize,
15344
15349
  condition_check_count: conditionCheckCount,
15350
+ elapsed_ms: elapsedMs,
15345
15351
  interval_ms: intervalMs,
15346
15352
  timeout_ms: timeout,
15347
15353
  };
15348
15354
  }
15349
15355
  if (tapCount < maxTaps && intervalMs) await page.waitForTimeout(intervalMs);
15350
15356
  }
15357
+ const elapsedMs = Date.now() - startedAt;
15351
15358
  return {
15352
15359
  ...base,
15353
15360
  ...setupScopeEvidence(scope),
@@ -15360,9 +15367,10 @@ async function executeSetupAction(action, ordinal, viewport) {
15360
15367
  max_calls: maxTaps,
15361
15368
  tap_burst_size: tapBurstSize,
15362
15369
  condition_check_count: conditionCheckCount,
15370
+ elapsed_ms: elapsedMs,
15363
15371
  interval_ms: intervalMs,
15364
15372
  timeout_ms: timeout,
15365
- reason: Date.now() - startedAt > timeout ? "timeout" : "until_condition_not_met",
15373
+ reason: elapsedMs > timeout ? "timeout" : "until_condition_not_met",
15366
15374
  missing_part: lastPredicateResult?.missing_part || undefined,
15367
15375
  };
15368
15376
  }
package/dist/index.js CHANGED
@@ -62,7 +62,7 @@ import {
62
62
  resolveRiddleProofProfileTimeoutSec,
63
63
  slugifyRiddleProofProfileName,
64
64
  summarizeRiddleProofProfileResult
65
- } from "./chunk-EXFYPLP2.js";
65
+ } from "./chunk-FNVDZCVZ.js";
66
66
  import {
67
67
  DEFAULT_RIDDLE_API_BASE_URL,
68
68
  DEFAULT_RIDDLE_API_KEY_FILE,
package/dist/profile.cjs CHANGED
@@ -682,6 +682,7 @@ function profileSetupTapUntilReceipts(results) {
682
682
  max_taps: result.max_taps ?? result.max_calls ?? null,
683
683
  tap_burst_size: result.tap_burst_size ?? null,
684
684
  condition_check_count: result.condition_check_count ?? null,
685
+ elapsed_ms: result.elapsed_ms ?? null,
685
686
  interval_ms: result.interval_ms ?? null,
686
687
  timeout_ms: result.timeout_ms ?? null,
687
688
  reason: result.reason ?? result.error ?? null
@@ -4615,6 +4616,7 @@ function profileSetupTapUntilReceipts(results) {
4615
4616
  max_taps: result.max_taps ?? result.max_calls ?? null,
4616
4617
  tap_burst_size: result.tap_burst_size ?? null,
4617
4618
  condition_check_count: result.condition_check_count ?? null,
4619
+ elapsed_ms: result.elapsed_ms ?? null,
4618
4620
  interval_ms: result.interval_ms ?? null,
4619
4621
  timeout_ms: result.timeout_ms ?? null,
4620
4622
  reason: result.reason || result.error || null,
@@ -6616,6 +6618,7 @@ async function executeSetupAction(action, ordinal, viewport) {
6616
6618
  let lastPredicateResult = await setupReadWindowValue(scope.context, untilPath);
6617
6619
  const targetEvidence = setupTapTargetEvidence(prepared.target);
6618
6620
  if (lastPredicateResult.ok && setupValuesEqual(lastPredicateResult.value, untilExpected)) {
6621
+ const elapsedMs = Date.now() - startedAt;
6619
6622
  return {
6620
6623
  ...base,
6621
6624
  ...setupScopeEvidence(scope),
@@ -6629,6 +6632,7 @@ async function executeSetupAction(action, ordinal, viewport) {
6629
6632
  max_calls: maxTaps,
6630
6633
  tap_burst_size: tapBurstSize,
6631
6634
  condition_check_count: conditionCheckCount,
6635
+ elapsed_ms: elapsedMs,
6632
6636
  interval_ms: intervalMs,
6633
6637
  timeout_ms: timeout,
6634
6638
  };
@@ -6643,6 +6647,7 @@ async function executeSetupAction(action, ordinal, viewport) {
6643
6647
  lastPredicateResult = await setupReadWindowValue(scope.context, untilPath);
6644
6648
  conditionCheckCount += 1;
6645
6649
  if (lastPredicateResult.ok && setupValuesEqual(lastPredicateResult.value, untilExpected)) {
6650
+ const elapsedMs = Date.now() - startedAt;
6646
6651
  return {
6647
6652
  ...base,
6648
6653
  ...setupScopeEvidence(scope),
@@ -6656,12 +6661,14 @@ async function executeSetupAction(action, ordinal, viewport) {
6656
6661
  max_calls: maxTaps,
6657
6662
  tap_burst_size: tapBurstSize,
6658
6663
  condition_check_count: conditionCheckCount,
6664
+ elapsed_ms: elapsedMs,
6659
6665
  interval_ms: intervalMs,
6660
6666
  timeout_ms: timeout,
6661
6667
  };
6662
6668
  }
6663
6669
  if (tapCount < maxTaps && intervalMs) await page.waitForTimeout(intervalMs);
6664
6670
  }
6671
+ const elapsedMs = Date.now() - startedAt;
6665
6672
  return {
6666
6673
  ...base,
6667
6674
  ...setupScopeEvidence(scope),
@@ -6674,9 +6681,10 @@ async function executeSetupAction(action, ordinal, viewport) {
6674
6681
  max_calls: maxTaps,
6675
6682
  tap_burst_size: tapBurstSize,
6676
6683
  condition_check_count: conditionCheckCount,
6684
+ elapsed_ms: elapsedMs,
6677
6685
  interval_ms: intervalMs,
6678
6686
  timeout_ms: timeout,
6679
- reason: Date.now() - startedAt > timeout ? "timeout" : "until_condition_not_met",
6687
+ reason: elapsedMs > timeout ? "timeout" : "until_condition_not_met",
6680
6688
  missing_part: lastPredicateResult?.missing_part || undefined,
6681
6689
  };
6682
6690
  }
package/dist/profile.js CHANGED
@@ -23,7 +23,7 @@ import {
23
23
  resolveRiddleProofProfileTimeoutSec,
24
24
  slugifyRiddleProofProfileName,
25
25
  summarizeRiddleProofProfileResult
26
- } from "./chunk-EXFYPLP2.js";
26
+ } from "./chunk-FNVDZCVZ.js";
27
27
  export {
28
28
  RIDDLE_PROOF_PROFILE_CHECK_TYPES,
29
29
  RIDDLE_PROOF_PROFILE_EVIDENCE_VERSION,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@riddledc/riddle-proof",
3
- "version": "0.7.199",
3
+ "version": "0.7.200",
4
4
  "description": "Reusable Riddle Proof contracts and helpers for evidence-backed agent changes.",
5
5
  "license": "MIT",
6
6
  "author": "RiddleDC",