@riddledc/riddle-proof 0.7.64 → 0.7.66

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.
@@ -2727,7 +2727,7 @@ async function registerNetworkMocks(mocks) {
2727
2727
  });
2728
2728
  }
2729
2729
  }
2730
- async function executeSetupAction(action, ordinal) {
2730
+ async function executeSetupAction(action, ordinal, viewport) {
2731
2731
  const type = setupActionType(action);
2732
2732
  const frameSelector = setupFrameSelector(action);
2733
2733
  const base = { ok: false, action: type || "unknown", ordinal, selector: action.selector || null, frame_selector: frameSelector || null };
@@ -2745,7 +2745,8 @@ async function executeSetupAction(action, ordinal) {
2745
2745
  .replace(/[^a-z0-9_-]+/g, "-")
2746
2746
  .replace(/^-+|-+$/g, "")
2747
2747
  .slice(0, 80) || ("setup-" + ordinal);
2748
- const label = profileSlug + "-" + viewport.name + "-" + labelPart;
2748
+ const viewportName = viewport && viewport.name ? viewport.name : "viewport";
2749
+ const label = profileSlug + "-" + viewportName + "-" + labelPart;
2749
2750
  if (typeof saveScreenshot !== "function") return { ...base, reason: "save_screenshot_unavailable", label: rawLabel };
2750
2751
  await saveScreenshot(label);
2751
2752
  return { ...base, ok: true, label: rawLabel, screenshot_label: label };
@@ -3162,7 +3163,7 @@ async function executeSetupAction(action, ordinal) {
3162
3163
  return { ...base, error: String(error && error.message ? error.message : error).slice(0, 1000) };
3163
3164
  }
3164
3165
  }
3165
- async function executeSetupActions(actions) {
3166
+ async function executeSetupActions(actions, viewport) {
3166
3167
  const results = [];
3167
3168
  for (let index = 0; index < (actions || []).length; index += 1) {
3168
3169
  const action = actions[index] || {};
@@ -3170,7 +3171,7 @@ async function executeSetupActions(actions) {
3170
3171
  const repeatCount = Math.min(100, Math.max(1, Math.floor(requestedRepeat || 1)));
3171
3172
  let shouldStop = false;
3172
3173
  for (let repeatIndex = 0; repeatIndex < repeatCount; repeatIndex += 1) {
3173
- const result = await executeSetupAction(action, index);
3174
+ const result = await executeSetupAction(action, index, viewport);
3174
3175
  results.push(repeatCount > 1
3175
3176
  ? { ...result, repeat_index: repeatIndex, repeat_count: repeatCount }
3176
3177
  : result);
@@ -3645,7 +3646,7 @@ async function captureViewport(viewport) {
3645
3646
  await page.waitForTimeout(profile.target.wait_ms);
3646
3647
  }
3647
3648
  const setupActionResults = (!navigationError && !waitError)
3648
- ? await executeSetupActions(profile.target.setup_actions || [])
3649
+ ? await executeSetupActions(profile.target.setup_actions || [], viewport)
3649
3650
  : [];
3650
3651
  const dom = await page.evaluate(() => {
3651
3652
  const body = document.body;
package/dist/cli.cjs CHANGED
@@ -9584,7 +9584,7 @@ async function registerNetworkMocks(mocks) {
9584
9584
  });
9585
9585
  }
9586
9586
  }
9587
- async function executeSetupAction(action, ordinal) {
9587
+ async function executeSetupAction(action, ordinal, viewport) {
9588
9588
  const type = setupActionType(action);
9589
9589
  const frameSelector = setupFrameSelector(action);
9590
9590
  const base = { ok: false, action: type || "unknown", ordinal, selector: action.selector || null, frame_selector: frameSelector || null };
@@ -9602,7 +9602,8 @@ async function executeSetupAction(action, ordinal) {
9602
9602
  .replace(/[^a-z0-9_-]+/g, "-")
9603
9603
  .replace(/^-+|-+$/g, "")
9604
9604
  .slice(0, 80) || ("setup-" + ordinal);
9605
- const label = profileSlug + "-" + viewport.name + "-" + labelPart;
9605
+ const viewportName = viewport && viewport.name ? viewport.name : "viewport";
9606
+ const label = profileSlug + "-" + viewportName + "-" + labelPart;
9606
9607
  if (typeof saveScreenshot !== "function") return { ...base, reason: "save_screenshot_unavailable", label: rawLabel };
9607
9608
  await saveScreenshot(label);
9608
9609
  return { ...base, ok: true, label: rawLabel, screenshot_label: label };
@@ -10019,7 +10020,7 @@ async function executeSetupAction(action, ordinal) {
10019
10020
  return { ...base, error: String(error && error.message ? error.message : error).slice(0, 1000) };
10020
10021
  }
10021
10022
  }
10022
- async function executeSetupActions(actions) {
10023
+ async function executeSetupActions(actions, viewport) {
10023
10024
  const results = [];
10024
10025
  for (let index = 0; index < (actions || []).length; index += 1) {
10025
10026
  const action = actions[index] || {};
@@ -10027,7 +10028,7 @@ async function executeSetupActions(actions) {
10027
10028
  const repeatCount = Math.min(100, Math.max(1, Math.floor(requestedRepeat || 1)));
10028
10029
  let shouldStop = false;
10029
10030
  for (let repeatIndex = 0; repeatIndex < repeatCount; repeatIndex += 1) {
10030
- const result = await executeSetupAction(action, index);
10031
+ const result = await executeSetupAction(action, index, viewport);
10031
10032
  results.push(repeatCount > 1
10032
10033
  ? { ...result, repeat_index: repeatIndex, repeat_count: repeatCount }
10033
10034
  : result);
@@ -10502,7 +10503,7 @@ async function captureViewport(viewport) {
10502
10503
  await page.waitForTimeout(profile.target.wait_ms);
10503
10504
  }
10504
10505
  const setupActionResults = (!navigationError && !waitError)
10505
- ? await executeSetupActions(profile.target.setup_actions || [])
10506
+ ? await executeSetupActions(profile.target.setup_actions || [], viewport)
10506
10507
  : [];
10507
10508
  const dom = await page.evaluate(() => {
10508
10509
  const body = document.body;
@@ -11137,6 +11138,10 @@ function profileResultMarkdown(result) {
11137
11138
  lines.push(`- ${check.status}: ${check.label || check.type}`);
11138
11139
  if (check.message) lines.push(` ${check.message}`);
11139
11140
  }
11141
+ const setupSummaryLines = profileSetupSummaryMarkdown(result);
11142
+ if (setupSummaryLines.length) {
11143
+ lines.push("", "## Setup Summary", "", ...setupSummaryLines);
11144
+ }
11140
11145
  if (result.artifacts.riddle_artifacts?.length) {
11141
11146
  lines.push("", "## Riddle Artifacts", "");
11142
11147
  for (const artifact of result.artifacts.riddle_artifacts.slice(0, 40)) {
@@ -11146,6 +11151,46 @@ function profileResultMarkdown(result) {
11146
11151
  return `${lines.join("\n")}
11147
11152
  `;
11148
11153
  }
11154
+ function cliRecord(value) {
11155
+ return value && typeof value === "object" && !Array.isArray(value) ? value : void 0;
11156
+ }
11157
+ function cliFiniteNumber(value) {
11158
+ return typeof value === "number" && Number.isFinite(value) ? value : void 0;
11159
+ }
11160
+ function cliString(value) {
11161
+ return typeof value === "string" && value.trim() ? value.trim() : void 0;
11162
+ }
11163
+ function profileSetupSummaryMarkdown(result) {
11164
+ const setupCheck = result.checks.find((check) => check.type === "setup_actions_succeeded");
11165
+ const setupSummary = cliRecord(setupCheck?.evidence?.setup_summary);
11166
+ if (!setupSummary) return [];
11167
+ const viewports = Array.isArray(setupSummary.viewports) ? setupSummary.viewports.map(cliRecord).filter((viewport) => Boolean(viewport)) : [];
11168
+ if (!viewports.length) return [];
11169
+ const declaredActions = cliFiniteNumber(setupSummary.action_count);
11170
+ const totalResults = viewports.reduce((sum, viewport) => sum + (cliFiniteNumber(viewport.result_count) || 0), 0);
11171
+ const setupScreenshots = viewports.reduce((sum, viewport) => {
11172
+ const labels = Array.isArray(viewport.setup_screenshots) ? viewport.setup_screenshots : [];
11173
+ return sum + labels.filter((label) => typeof label === "string" && label.trim()).length;
11174
+ }, 0);
11175
+ const clickedTotal = viewports.reduce((sum, viewport) => sum + (cliFiniteNumber(viewport.clicked_total) || 0), 0);
11176
+ const failedTotal = viewports.reduce((sum, viewport) => sum + (Array.isArray(viewport.failed) ? viewport.failed.length : 0), 0);
11177
+ const lines = [
11178
+ `- setup actions: ${declaredActions === void 0 ? "unknown" : declaredActions} declared, ${totalResults} recorded result(s) across ${viewports.length} viewport(s)`,
11179
+ `- setup screenshots: ${setupScreenshots}`,
11180
+ `- clicked targets: ${clickedTotal}${failedTotal ? `; failed setup actions: ${failedTotal}` : ""}`
11181
+ ];
11182
+ for (const viewport of viewports.slice(0, 8)) {
11183
+ const name = cliString(viewport.name) || "viewport";
11184
+ const ok = viewport.ok === false ? "failed" : "ok";
11185
+ const resultCount = cliFiniteNumber(viewport.result_count) || 0;
11186
+ const screenshotCount = Array.isArray(viewport.setup_screenshots) ? viewport.setup_screenshots.filter((label) => typeof label === "string" && label.trim()).length : 0;
11187
+ const clicked = cliFiniteNumber(viewport.clicked_total) || 0;
11188
+ const observedPath = cliString(viewport.observed_path);
11189
+ lines.push(`- ${name}: ${ok}, ${resultCount} result(s), ${screenshotCount} setup screenshot(s), ${clicked} click(s)${observedPath ? `, path ${observedPath}` : ""}`);
11190
+ }
11191
+ if (viewports.length > 8) lines.push(`- ${viewports.length - 8} additional viewport(s) omitted from setup summary.`);
11192
+ return lines;
11193
+ }
11149
11194
  function writeProfileOutput(outputDir, result) {
11150
11195
  if (!outputDir) return;
11151
11196
  (0, import_node_fs6.mkdirSync)(outputDir, { recursive: true });
package/dist/cli.js CHANGED
@@ -10,7 +10,7 @@ import {
10
10
  profileStatusExitCode,
11
11
  resolveRiddleProofProfileTargetUrl,
12
12
  resolveRiddleProofProfileTimeoutSec
13
- } from "./chunk-ZVKKBM2J.js";
13
+ } from "./chunk-DQU65Z65.js";
14
14
  import {
15
15
  createRiddleApiClient,
16
16
  parseRiddleViewport
@@ -312,6 +312,10 @@ function profileResultMarkdown(result) {
312
312
  lines.push(`- ${check.status}: ${check.label || check.type}`);
313
313
  if (check.message) lines.push(` ${check.message}`);
314
314
  }
315
+ const setupSummaryLines = profileSetupSummaryMarkdown(result);
316
+ if (setupSummaryLines.length) {
317
+ lines.push("", "## Setup Summary", "", ...setupSummaryLines);
318
+ }
315
319
  if (result.artifacts.riddle_artifacts?.length) {
316
320
  lines.push("", "## Riddle Artifacts", "");
317
321
  for (const artifact of result.artifacts.riddle_artifacts.slice(0, 40)) {
@@ -321,6 +325,46 @@ function profileResultMarkdown(result) {
321
325
  return `${lines.join("\n")}
322
326
  `;
323
327
  }
328
+ function cliRecord(value) {
329
+ return value && typeof value === "object" && !Array.isArray(value) ? value : void 0;
330
+ }
331
+ function cliFiniteNumber(value) {
332
+ return typeof value === "number" && Number.isFinite(value) ? value : void 0;
333
+ }
334
+ function cliString(value) {
335
+ return typeof value === "string" && value.trim() ? value.trim() : void 0;
336
+ }
337
+ function profileSetupSummaryMarkdown(result) {
338
+ const setupCheck = result.checks.find((check) => check.type === "setup_actions_succeeded");
339
+ const setupSummary = cliRecord(setupCheck?.evidence?.setup_summary);
340
+ if (!setupSummary) return [];
341
+ const viewports = Array.isArray(setupSummary.viewports) ? setupSummary.viewports.map(cliRecord).filter((viewport) => Boolean(viewport)) : [];
342
+ if (!viewports.length) return [];
343
+ const declaredActions = cliFiniteNumber(setupSummary.action_count);
344
+ const totalResults = viewports.reduce((sum, viewport) => sum + (cliFiniteNumber(viewport.result_count) || 0), 0);
345
+ const setupScreenshots = viewports.reduce((sum, viewport) => {
346
+ const labels = Array.isArray(viewport.setup_screenshots) ? viewport.setup_screenshots : [];
347
+ return sum + labels.filter((label) => typeof label === "string" && label.trim()).length;
348
+ }, 0);
349
+ const clickedTotal = viewports.reduce((sum, viewport) => sum + (cliFiniteNumber(viewport.clicked_total) || 0), 0);
350
+ const failedTotal = viewports.reduce((sum, viewport) => sum + (Array.isArray(viewport.failed) ? viewport.failed.length : 0), 0);
351
+ const lines = [
352
+ `- setup actions: ${declaredActions === void 0 ? "unknown" : declaredActions} declared, ${totalResults} recorded result(s) across ${viewports.length} viewport(s)`,
353
+ `- setup screenshots: ${setupScreenshots}`,
354
+ `- clicked targets: ${clickedTotal}${failedTotal ? `; failed setup actions: ${failedTotal}` : ""}`
355
+ ];
356
+ for (const viewport of viewports.slice(0, 8)) {
357
+ const name = cliString(viewport.name) || "viewport";
358
+ const ok = viewport.ok === false ? "failed" : "ok";
359
+ const resultCount = cliFiniteNumber(viewport.result_count) || 0;
360
+ const screenshotCount = Array.isArray(viewport.setup_screenshots) ? viewport.setup_screenshots.filter((label) => typeof label === "string" && label.trim()).length : 0;
361
+ const clicked = cliFiniteNumber(viewport.clicked_total) || 0;
362
+ const observedPath = cliString(viewport.observed_path);
363
+ lines.push(`- ${name}: ${ok}, ${resultCount} result(s), ${screenshotCount} setup screenshot(s), ${clicked} click(s)${observedPath ? `, path ${observedPath}` : ""}`);
364
+ }
365
+ if (viewports.length > 8) lines.push(`- ${viewports.length - 8} additional viewport(s) omitted from setup summary.`);
366
+ return lines;
367
+ }
324
368
  function writeProfileOutput(outputDir, result) {
325
369
  if (!outputDir) return;
326
370
  mkdirSync(outputDir, { recursive: true });
package/dist/index.cjs CHANGED
@@ -11441,7 +11441,7 @@ async function registerNetworkMocks(mocks) {
11441
11441
  });
11442
11442
  }
11443
11443
  }
11444
- async function executeSetupAction(action, ordinal) {
11444
+ async function executeSetupAction(action, ordinal, viewport) {
11445
11445
  const type = setupActionType(action);
11446
11446
  const frameSelector = setupFrameSelector(action);
11447
11447
  const base = { ok: false, action: type || "unknown", ordinal, selector: action.selector || null, frame_selector: frameSelector || null };
@@ -11459,7 +11459,8 @@ async function executeSetupAction(action, ordinal) {
11459
11459
  .replace(/[^a-z0-9_-]+/g, "-")
11460
11460
  .replace(/^-+|-+$/g, "")
11461
11461
  .slice(0, 80) || ("setup-" + ordinal);
11462
- const label = profileSlug + "-" + viewport.name + "-" + labelPart;
11462
+ const viewportName = viewport && viewport.name ? viewport.name : "viewport";
11463
+ const label = profileSlug + "-" + viewportName + "-" + labelPart;
11463
11464
  if (typeof saveScreenshot !== "function") return { ...base, reason: "save_screenshot_unavailable", label: rawLabel };
11464
11465
  await saveScreenshot(label);
11465
11466
  return { ...base, ok: true, label: rawLabel, screenshot_label: label };
@@ -11876,7 +11877,7 @@ async function executeSetupAction(action, ordinal) {
11876
11877
  return { ...base, error: String(error && error.message ? error.message : error).slice(0, 1000) };
11877
11878
  }
11878
11879
  }
11879
- async function executeSetupActions(actions) {
11880
+ async function executeSetupActions(actions, viewport) {
11880
11881
  const results = [];
11881
11882
  for (let index = 0; index < (actions || []).length; index += 1) {
11882
11883
  const action = actions[index] || {};
@@ -11884,7 +11885,7 @@ async function executeSetupActions(actions) {
11884
11885
  const repeatCount = Math.min(100, Math.max(1, Math.floor(requestedRepeat || 1)));
11885
11886
  let shouldStop = false;
11886
11887
  for (let repeatIndex = 0; repeatIndex < repeatCount; repeatIndex += 1) {
11887
- const result = await executeSetupAction(action, index);
11888
+ const result = await executeSetupAction(action, index, viewport);
11888
11889
  results.push(repeatCount > 1
11889
11890
  ? { ...result, repeat_index: repeatIndex, repeat_count: repeatCount }
11890
11891
  : result);
@@ -12359,7 +12360,7 @@ async function captureViewport(viewport) {
12359
12360
  await page.waitForTimeout(profile.target.wait_ms);
12360
12361
  }
12361
12362
  const setupActionResults = (!navigationError && !waitError)
12362
- ? await executeSetupActions(profile.target.setup_actions || [])
12363
+ ? await executeSetupActions(profile.target.setup_actions || [], viewport)
12363
12364
  : [];
12364
12365
  const dom = await page.evaluate(() => {
12365
12366
  const body = document.body;
package/dist/index.js CHANGED
@@ -58,7 +58,7 @@ import {
58
58
  resolveRiddleProofProfileTimeoutSec,
59
59
  slugifyRiddleProofProfileName,
60
60
  summarizeRiddleProofProfileResult
61
- } from "./chunk-ZVKKBM2J.js";
61
+ } from "./chunk-DQU65Z65.js";
62
62
  import {
63
63
  DEFAULT_RIDDLE_API_BASE_URL,
64
64
  DEFAULT_RIDDLE_API_KEY_FILE,
package/dist/profile.cjs CHANGED
@@ -2770,7 +2770,7 @@ async function registerNetworkMocks(mocks) {
2770
2770
  });
2771
2771
  }
2772
2772
  }
2773
- async function executeSetupAction(action, ordinal) {
2773
+ async function executeSetupAction(action, ordinal, viewport) {
2774
2774
  const type = setupActionType(action);
2775
2775
  const frameSelector = setupFrameSelector(action);
2776
2776
  const base = { ok: false, action: type || "unknown", ordinal, selector: action.selector || null, frame_selector: frameSelector || null };
@@ -2788,7 +2788,8 @@ async function executeSetupAction(action, ordinal) {
2788
2788
  .replace(/[^a-z0-9_-]+/g, "-")
2789
2789
  .replace(/^-+|-+$/g, "")
2790
2790
  .slice(0, 80) || ("setup-" + ordinal);
2791
- const label = profileSlug + "-" + viewport.name + "-" + labelPart;
2791
+ const viewportName = viewport && viewport.name ? viewport.name : "viewport";
2792
+ const label = profileSlug + "-" + viewportName + "-" + labelPart;
2792
2793
  if (typeof saveScreenshot !== "function") return { ...base, reason: "save_screenshot_unavailable", label: rawLabel };
2793
2794
  await saveScreenshot(label);
2794
2795
  return { ...base, ok: true, label: rawLabel, screenshot_label: label };
@@ -3205,7 +3206,7 @@ async function executeSetupAction(action, ordinal) {
3205
3206
  return { ...base, error: String(error && error.message ? error.message : error).slice(0, 1000) };
3206
3207
  }
3207
3208
  }
3208
- async function executeSetupActions(actions) {
3209
+ async function executeSetupActions(actions, viewport) {
3209
3210
  const results = [];
3210
3211
  for (let index = 0; index < (actions || []).length; index += 1) {
3211
3212
  const action = actions[index] || {};
@@ -3213,7 +3214,7 @@ async function executeSetupActions(actions) {
3213
3214
  const repeatCount = Math.min(100, Math.max(1, Math.floor(requestedRepeat || 1)));
3214
3215
  let shouldStop = false;
3215
3216
  for (let repeatIndex = 0; repeatIndex < repeatCount; repeatIndex += 1) {
3216
- const result = await executeSetupAction(action, index);
3217
+ const result = await executeSetupAction(action, index, viewport);
3217
3218
  results.push(repeatCount > 1
3218
3219
  ? { ...result, repeat_index: repeatIndex, repeat_count: repeatCount }
3219
3220
  : result);
@@ -3688,7 +3689,7 @@ async function captureViewport(viewport) {
3688
3689
  await page.waitForTimeout(profile.target.wait_ms);
3689
3690
  }
3690
3691
  const setupActionResults = (!navigationError && !waitError)
3691
- ? await executeSetupActions(profile.target.setup_actions || [])
3692
+ ? await executeSetupActions(profile.target.setup_actions || [], viewport)
3692
3693
  : [];
3693
3694
  const dom = await page.evaluate(() => {
3694
3695
  const body = document.body;
package/dist/profile.js CHANGED
@@ -19,7 +19,7 @@ import {
19
19
  resolveRiddleProofProfileTimeoutSec,
20
20
  slugifyRiddleProofProfileName,
21
21
  summarizeRiddleProofProfileResult
22
- } from "./chunk-ZVKKBM2J.js";
22
+ } from "./chunk-DQU65Z65.js";
23
23
  export {
24
24
  RIDDLE_PROOF_PROFILE_CHECK_TYPES,
25
25
  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.64",
3
+ "version": "0.7.66",
4
4
  "description": "Reusable Riddle Proof contracts and helpers for evidence-backed agent changes.",
5
5
  "license": "MIT",
6
6
  "author": "RiddleDC",