@riddledc/riddle-proof 0.7.152 → 0.7.154

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/dist/cli.js CHANGED
@@ -13,12 +13,12 @@ import {
13
13
  profileStatusExitCode,
14
14
  resolveRiddleProofProfileTargetUrl,
15
15
  resolveRiddleProofProfileTimeoutSec
16
- } from "./chunk-QJJ3ISMK.js";
16
+ } from "./chunk-YB3LNLZB.js";
17
17
  import {
18
18
  createRiddleApiClient,
19
19
  isTerminalRiddleJobStatus,
20
20
  parseRiddleViewport
21
- } from "./chunk-M3ZTY6PQ.js";
21
+ } from "./chunk-PPZ5A5MC.js";
22
22
  import {
23
23
  createDisabledRiddleProofAgentAdapter,
24
24
  readRiddleProofRunStatus,
@@ -108,6 +108,8 @@ function runProfileStrictOption(options) {
108
108
  function runProfileSplitViewportsOption(options) {
109
109
  return optionBoolean(options, "splitViewports") ?? false;
110
110
  }
111
+ var DEFAULT_PROFILE_UNSUBMITTED_RETRY_TIMEOUT_MS = 9e4;
112
+ var DEFAULT_PROFILE_UNSUBMITTED_RETRIES = 1;
111
113
  function optionNumber(options, ...keys) {
112
114
  for (const key of keys) {
113
115
  const value = optionString(options, key);
@@ -115,6 +117,11 @@ function optionNumber(options, ...keys) {
115
117
  }
116
118
  return void 0;
117
119
  }
120
+ function optionInteger(options, fallback, ...keys) {
121
+ const value = optionNumber(options, ...keys);
122
+ if (value === void 0 || !Number.isFinite(value)) return fallback;
123
+ return Math.floor(value);
124
+ }
118
125
  function profileOutputDirOption(options) {
119
126
  return optionString(options, "output") ?? optionString(options, "outputDir");
120
127
  }
@@ -432,6 +439,8 @@ function profileRiddleJobMarkdown(result) {
432
439
  const submittedAt = cliString(riddle.submitted_at);
433
440
  const completedAt = cliString(riddle.completed_at);
434
441
  const artifactRecovery = riddle.artifact_recovery === true;
442
+ const retryCount = cliFiniteNumber(riddle.retry_count);
443
+ const staleJobIds = Array.isArray(riddle.stale_job_ids) ? riddle.stale_job_ids.map((value) => cliString(value)).filter((value) => Boolean(value)) : [];
435
444
  const parts = [
436
445
  mode ? `mode ${markdownInlineCode(mode)}` : "",
437
446
  jobCount === void 0 ? "" : `jobs ${jobCount}`,
@@ -451,6 +460,9 @@ function profileRiddleJobMarkdown(result) {
451
460
  if (artifactRecovery) {
452
461
  lines.push("- artifact recovery: used artifacts endpoint after non-terminal poll");
453
462
  }
463
+ if (retryCount !== void 0 && retryCount > 0) {
464
+ lines.push(`- retry recovery: replaced ${retryCount} unsubmitted job${retryCount === 1 ? "" : "s"}${staleJobIds.length ? ` (${staleJobIds.map((value) => markdownInlineCode(value)).join(", ")})` : ""}`);
465
+ }
454
466
  const splitJobs = Array.isArray(riddle.split_jobs) ? riddle.split_jobs.map(cliRecord).filter((job) => Boolean(job)) : [];
455
467
  for (const job of splitJobs.slice(0, 12)) {
456
468
  const viewport = cliString(job.viewport) || "viewport";
@@ -460,6 +472,7 @@ function profileRiddleJobMarkdown(result) {
460
472
  const splitElapsedMs = cliFiniteNumber(job.elapsed_ms);
461
473
  const splitPreSubmissionElapsedMs = cliFiniteNumber(job.pre_submission_elapsed_ms);
462
474
  const splitArtifactRecovery = job.artifact_recovery === true;
475
+ const splitRetryCount = cliFiniteNumber(job.retry_count);
463
476
  lines.push(
464
477
  `- ${viewport}: ${[
465
478
  splitJobId ? `job ${markdownInlineCode(splitJobId)}` : "",
@@ -467,6 +480,7 @@ function profileRiddleJobMarkdown(result) {
467
480
  splitTerminal === void 0 ? "" : `terminal ${splitTerminal ? "true" : "false"}`,
468
481
  splitElapsedMs === void 0 ? "" : `elapsed ${formatPollDuration(splitElapsedMs)}`,
469
482
  splitPreSubmissionElapsedMs === void 0 || splitPreSubmissionElapsedMs < 1e3 ? "" : `pre-submit ${formatPollDuration(splitPreSubmissionElapsedMs)}`,
483
+ splitRetryCount === void 0 || splitRetryCount <= 0 ? "" : `retries ${splitRetryCount}`,
470
484
  splitArtifactRecovery ? "artifact recovery" : ""
471
485
  ].filter(Boolean).join(", ") || "job metadata unavailable"}`
472
486
  );
@@ -621,6 +635,15 @@ function cliValueLabel(value) {
621
635
  return String(value);
622
636
  }
623
637
  }
638
+ function cliReturnSummaryLabel(value) {
639
+ if (!Array.isArray(value)) return void 0;
640
+ const parts = value.map(cliRecord).filter((item) => Boolean(item)).map((item) => {
641
+ const label = cliString(item.label) || cliString(item.path) || "value";
642
+ const observed = item.exists === false ? "missing" : cliValueLabel(item.value);
643
+ return `${label}=${observed ?? "null"}`;
644
+ }).filter(Boolean);
645
+ return parts.length ? parts.join(", ") : void 0;
646
+ }
624
647
  function cliStringArray(value) {
625
648
  return Array.isArray(value) ? value.filter((entry) => typeof entry === "string" && Boolean(entry.trim())) : [];
626
649
  }
@@ -795,10 +818,11 @@ function profileSetupSummaryMarkdown(result) {
795
818
  const storedTo = cliString(receipt.return_stored_to);
796
819
  const returned = cliValueLabel(receipt.returned);
797
820
  const expected = cliValueLabel(receipt.expected_return);
821
+ const returnSummary = cliReturnSummaryLabel(receipt.return_summary);
798
822
  const captured = receipt.return_captured === true ? "captured" : receipt.return_captured === false ? "not captured" : "capture unknown";
799
823
  const ok = receipt.ok === false ? "failed" : "ok";
800
824
  const reason = cliString(receipt.reason);
801
- lines.push(`- ${name} window_call: ${ok}, ${markdownInlineCode(path2)}${storedTo ? `, stored ${markdownInlineCode(storedTo)}` : ""}, return ${captured}${expected === void 0 ? "" : `, expected ${markdownInlineCode(expected, 80)}`}${returned === void 0 ? "" : `, returned ${markdownInlineCode(returned, 80)}`}${reason ? `, reason ${markdownInlineCode(reason, 100)}` : ""}`);
825
+ lines.push(`- ${name} window_call: ${ok}, ${markdownInlineCode(path2)}${storedTo ? `, stored ${markdownInlineCode(storedTo)}` : ""}, return ${captured}${expected === void 0 ? "" : `, expected ${markdownInlineCode(expected, 80)}`}${returnSummary ? `, summary ${markdownInlineCode(returnSummary, 140)}` : ""}${returned === void 0 ? "" : `, returned ${markdownInlineCode(returned, 80)}`}${reason ? `, reason ${markdownInlineCode(reason, 100)}` : ""}`);
802
826
  }
803
827
  if (windowCallDetails.length > 12) lines.push(`- ${windowCallDetails.length - 12} additional window_call receipt(s) omitted.`);
804
828
  const windowEvalDetails = viewports.flatMap((viewport) => {
@@ -811,10 +835,11 @@ function profileSetupSummaryMarkdown(result) {
811
835
  const storedTo = cliString(receipt.return_stored_to);
812
836
  const returned = cliValueLabel(receipt.returned);
813
837
  const expected = cliValueLabel(receipt.expected_return);
838
+ const returnSummary = cliReturnSummaryLabel(receipt.return_summary);
814
839
  const captured = receipt.return_captured === true ? "captured" : receipt.return_captured === false ? "not captured" : "capture unknown";
815
840
  const ok = receipt.ok === false ? "failed" : "ok";
816
841
  const reason = cliString(receipt.reason);
817
- lines.push(`- ${name} window_eval: ${ok}${scriptLength === void 0 ? "" : `, script ${scriptLength} chars`}${storedTo ? `, stored ${markdownInlineCode(storedTo)}` : ""}, return ${captured}${expected === void 0 ? "" : `, expected ${markdownInlineCode(expected, 80)}`}${returned === void 0 ? "" : `, returned ${markdownInlineCode(returned, 80)}`}${reason ? `, reason ${markdownInlineCode(reason, 100)}` : ""}`);
842
+ lines.push(`- ${name} window_eval: ${ok}${scriptLength === void 0 ? "" : `, script ${scriptLength} chars`}${storedTo ? `, stored ${markdownInlineCode(storedTo)}` : ""}, return ${captured}${expected === void 0 ? "" : `, expected ${markdownInlineCode(expected, 80)}`}${returnSummary ? `, summary ${markdownInlineCode(returnSummary, 140)}` : ""}${returned === void 0 ? "" : `, returned ${markdownInlineCode(returned, 80)}`}${reason ? `, reason ${markdownInlineCode(reason, 100)}` : ""}`);
818
843
  }
819
844
  if (windowEvalDetails.length > 12) lines.push(`- ${windowEvalDetails.length - 12} additional window_eval receipt(s) omitted.`);
820
845
  const windowCallUntilDetails = viewports.flatMap((viewport) => {
@@ -1106,6 +1131,7 @@ async function profileResultFromRiddleArtifacts(profile, artifacts, fallbackInpu
1106
1131
  }
1107
1132
  function withRiddleMetadata(result, input) {
1108
1133
  const poll = input.poll;
1134
+ const staleJobIds = input.staleJobIds?.filter(Boolean);
1109
1135
  return {
1110
1136
  ...result,
1111
1137
  riddle: {
@@ -1122,6 +1148,8 @@ function withRiddleMetadata(result, input) {
1122
1148
  attempt: poll?.attempt ?? result.riddle?.attempt,
1123
1149
  attempts: poll?.attempts ?? result.riddle?.attempts,
1124
1150
  timed_out: poll?.timed_out ?? result.riddle?.timed_out,
1151
+ retry_count: input.retryCount ?? result.riddle?.retry_count,
1152
+ stale_job_ids: staleJobIds?.length ? staleJobIds : result.riddle?.stale_job_ids,
1125
1153
  artifact_recovery: input.artifactRecovery ?? result.riddle?.artifact_recovery
1126
1154
  },
1127
1155
  artifacts: {
@@ -1192,6 +1220,40 @@ function riddleMetadataFromPoll(jobId, poll) {
1192
1220
  timed_out: poll.poll?.timed_out
1193
1221
  };
1194
1222
  }
1223
+ function profileUnsubmittedRetryTimeoutMs(options) {
1224
+ return Math.max(0, optionInteger(
1225
+ options,
1226
+ DEFAULT_PROFILE_UNSUBMITTED_RETRY_TIMEOUT_MS,
1227
+ "unsubmittedTimeoutMs",
1228
+ "unsubmittedJobTimeoutMs",
1229
+ "submitTimeoutMs"
1230
+ ));
1231
+ }
1232
+ function profileUnsubmittedRetryLimit(options) {
1233
+ return Math.max(0, optionInteger(
1234
+ options,
1235
+ DEFAULT_PROFILE_UNSUBMITTED_RETRIES,
1236
+ "unsubmittedRetries",
1237
+ "unsubmittedJobRetries",
1238
+ "submitRetries"
1239
+ ));
1240
+ }
1241
+ function shouldRetryUnsubmittedRiddleJob(poll) {
1242
+ return poll.terminal !== true && poll.poll?.unsubmitted_timeout === true && !poll.poll.created_at && !poll.poll.submitted_at;
1243
+ }
1244
+ function riddlePollOptionsForProfile(options) {
1245
+ return {
1246
+ wait: true,
1247
+ attempts: optionNumber(options, "pollAttempts", "attempts"),
1248
+ intervalMs: optionNumber(options, "intervalMs"),
1249
+ progressEveryMs: optionNumber(options, "progressEveryMs"),
1250
+ unsubmittedTimeoutMs: profileUnsubmittedRetryTimeoutMs(options),
1251
+ onProgress: options.quiet !== true ? (snapshot) => {
1252
+ process.stderr.write(`${riddlePollProgressLine(snapshot)}
1253
+ `);
1254
+ } : void 0
1255
+ };
1256
+ }
1195
1257
  function profileForSplitViewport(profile, viewport) {
1196
1258
  return {
1197
1259
  ...profile,
@@ -1239,6 +1301,8 @@ function splitViewportRiddleMetadata(childRuns) {
1239
1301
  attempt: result.riddle?.attempt,
1240
1302
  attempts: result.riddle?.attempts,
1241
1303
  timed_out: result.riddle?.timed_out,
1304
+ retry_count: result.riddle?.retry_count,
1305
+ stale_job_ids: result.riddle?.stale_job_ids,
1242
1306
  artifact_recovery: result.riddle?.artifact_recovery
1243
1307
  }));
1244
1308
  return {
@@ -1250,6 +1314,8 @@ function splitViewportRiddleMetadata(childRuns) {
1250
1314
  queue_elapsed_ms: sumDefinedNumbers(splitJobs.map((job) => job.queue_elapsed_ms)),
1251
1315
  pre_submission_elapsed_ms: sumDefinedNumbers(splitJobs.map((job) => job.pre_submission_elapsed_ms)),
1252
1316
  elapsed_ms: sumDefinedNumbers(splitJobs.map((job) => job.elapsed_ms)),
1317
+ retry_count: splitJobs.reduce((sum, job) => sum + (typeof job.retry_count === "number" && Number.isFinite(job.retry_count) ? job.retry_count : 0), 0),
1318
+ stale_job_ids: splitJobs.flatMap((job) => Array.isArray(job.stale_job_ids) ? job.stale_job_ids : []),
1253
1319
  split_jobs: splitJobs
1254
1320
  };
1255
1321
  }
@@ -1337,37 +1403,48 @@ async function runSingleRiddleProfileForCli(profile, options, input) {
1337
1403
  const { client, runner } = input;
1338
1404
  const targetUrl = resolveRiddleProofProfileTargetUrl(profile);
1339
1405
  let created;
1340
- try {
1341
- created = await client.runScript({
1342
- url: targetUrl,
1343
- script: buildRiddleProofProfileScript(profile),
1344
- viewport: profile.target.viewports[0],
1345
- timeoutSec: resolveRiddleProofProfileTimeoutSec(
1346
- profile,
1347
- optionString(options, "timeout") ? Number(optionString(options, "timeout")) : void 0
1348
- ),
1349
- strict: runProfileStrictOption(options),
1350
- sync: options.sync === true ? true : void 0
1351
- });
1352
- } catch (error) {
1353
- return createRiddleProofProfileEnvironmentBlockedResult({ profile, runner, error });
1406
+ let poll;
1407
+ let jobId = "";
1408
+ const staleJobIds = [];
1409
+ const retryLimit = profileUnsubmittedRetryLimit(options);
1410
+ const pollOptions = riddlePollOptionsForProfile(options);
1411
+ for (let attempt = 0; attempt <= retryLimit; attempt += 1) {
1412
+ try {
1413
+ created = await client.runScript({
1414
+ url: targetUrl,
1415
+ script: buildRiddleProofProfileScript(profile),
1416
+ viewport: profile.target.viewports[0],
1417
+ timeoutSec: resolveRiddleProofProfileTimeoutSec(
1418
+ profile,
1419
+ optionString(options, "timeout") ? Number(optionString(options, "timeout")) : void 0
1420
+ ),
1421
+ strict: runProfileStrictOption(options),
1422
+ sync: options.sync === true ? true : void 0
1423
+ });
1424
+ } catch (error) {
1425
+ return createRiddleProofProfileEnvironmentBlockedResult({ profile, runner, error });
1426
+ }
1427
+ jobId = typeof created.job_id === "string" ? created.job_id : typeof created.id === "string" ? created.id : "";
1428
+ if (!jobId) {
1429
+ const directResult = extractRiddleProofProfileResult(created);
1430
+ return directResult ? withRiddleMetadata(directResult, { artifacts: collectRiddleProfileArtifactRefs(created) }) : createRiddleProofProfileInsufficientResult({ profile, runner, error: "Riddle run response was missing job_id.", artifacts: collectRiddleProfileArtifactRefs(created) });
1431
+ }
1432
+ poll = await client.pollJob(jobId, pollOptions);
1433
+ if (attempt < retryLimit && shouldRetryUnsubmittedRiddleJob(poll)) {
1434
+ staleJobIds.push(jobId);
1435
+ if (options.quiet !== true) {
1436
+ process.stderr.write(`[riddle-poll] ${jobId} stayed unsubmitted for ${formatPollDuration(poll.poll?.pre_submission_elapsed_ms)}; retrying hosted run ${attempt + 1}/${retryLimit}
1437
+ `);
1438
+ }
1439
+ continue;
1440
+ }
1441
+ break;
1354
1442
  }
1355
- const jobId = typeof created.job_id === "string" ? created.job_id : typeof created.id === "string" ? created.id : "";
1356
- if (!jobId) {
1357
- const directResult = extractRiddleProofProfileResult(created);
1358
- return directResult ? withRiddleMetadata(directResult, { artifacts: collectRiddleProfileArtifactRefs(created) }) : createRiddleProofProfileInsufficientResult({ profile, runner, error: "Riddle run response was missing job_id.", artifacts: collectRiddleProfileArtifactRefs(created) });
1443
+ if (!poll) {
1444
+ return createRiddleProofProfileEnvironmentBlockedResult({ profile, runner, error: "Riddle job polling did not produce a result." });
1359
1445
  }
1360
- const poll = await client.pollJob(jobId, {
1361
- wait: true,
1362
- attempts: optionNumber(options, "pollAttempts", "attempts"),
1363
- intervalMs: optionNumber(options, "intervalMs"),
1364
- progressEveryMs: optionNumber(options, "progressEveryMs"),
1365
- onProgress: options.quiet !== true ? (snapshot) => {
1366
- process.stderr.write(`${riddlePollProgressLine(snapshot)}
1367
- `);
1368
- } : void 0
1369
- });
1370
1446
  const artifacts = collectRiddleProfileArtifactRefs(poll.artifacts);
1447
+ const retryCount = staleJobIds.length || void 0;
1371
1448
  if (!poll.ok || !poll.terminal) {
1372
1449
  const recoveredResult = await recoverProfileResultFromRiddleArtifacts(profile, {
1373
1450
  client,
@@ -1375,12 +1452,18 @@ async function runSingleRiddleProfileForCli(profile, options, input) {
1375
1452
  jobId,
1376
1453
  poll
1377
1454
  });
1378
- if (recoveredResult) return recoveredResult;
1455
+ if (recoveredResult) {
1456
+ return withRiddleMetadata(recoveredResult, { retryCount, staleJobIds });
1457
+ }
1379
1458
  return createRiddleProofProfileEnvironmentBlockedResult({
1380
1459
  profile,
1381
1460
  runner,
1382
1461
  error: `Riddle job ${jobId} ended with status ${poll.status || "unknown"}.`,
1383
- riddle: riddleMetadataFromPoll(jobId, poll),
1462
+ riddle: {
1463
+ ...riddleMetadataFromPoll(jobId, poll),
1464
+ retry_count: retryCount,
1465
+ stale_job_ids: staleJobIds.length ? staleJobIds : void 0
1466
+ },
1384
1467
  artifacts
1385
1468
  });
1386
1469
  }
@@ -1398,7 +1481,9 @@ async function runSingleRiddleProfileForCli(profile, options, input) {
1398
1481
  status: poll.status,
1399
1482
  terminal: poll.terminal,
1400
1483
  poll: poll.poll,
1401
- artifacts
1484
+ artifacts,
1485
+ retryCount,
1486
+ staleJobIds
1402
1487
  });
1403
1488
  }
1404
1489
  async function runSplitViewportProfileForCli(profile, options, input) {
package/dist/index.cjs CHANGED
@@ -9213,6 +9213,8 @@ function profileSetupWindowCallReceipts(results) {
9213
9213
  };
9214
9214
  if (result.returned !== void 0) receipt.returned = result.returned;
9215
9215
  if (result.expected_return !== void 0) receipt.expected_return = result.expected_return;
9216
+ const returnSummary = profileSetupReturnSummary(result);
9217
+ if (returnSummary.length) receipt.return_summary = returnSummary;
9216
9218
  return receipt;
9217
9219
  });
9218
9220
  }
@@ -9228,6 +9230,40 @@ function profileSetupWindowEvalReceipts(results) {
9228
9230
  };
9229
9231
  if (result.returned !== void 0) receipt.returned = result.returned;
9230
9232
  if (result.expected_return !== void 0) receipt.expected_return = result.expected_return;
9233
+ const returnSummary = profileSetupReturnSummary(result);
9234
+ if (returnSummary.length) receipt.return_summary = returnSummary;
9235
+ return receipt;
9236
+ });
9237
+ }
9238
+ function profileSetupReturnSummaryFields(result) {
9239
+ const input = result.return_summary_fields;
9240
+ if (!Array.isArray(input)) return [];
9241
+ const fields = [];
9242
+ for (const item of input) {
9243
+ if (typeof item === "string") {
9244
+ const path7 = item.trim();
9245
+ if (path7) fields.push({ path: path7 });
9246
+ continue;
9247
+ }
9248
+ if (!isRecord2(item)) continue;
9249
+ const path6 = stringValue5(item.path) ?? stringValue5(item.key) ?? stringValue5(item.json_path) ?? stringValue5(item.jsonPath);
9250
+ if (!path6) continue;
9251
+ const label = stringValue5(item.label) ?? stringValue5(item.name) ?? stringValue5(item.title);
9252
+ fields.push(label ? { path: path6, label } : { path: path6 });
9253
+ }
9254
+ return fields;
9255
+ }
9256
+ function profileSetupReturnSummary(result) {
9257
+ if (result.returned === void 0) return [];
9258
+ return profileSetupReturnSummaryFields(result).map((field) => {
9259
+ const resolved = resolveJsonPath(result.returned, field.path);
9260
+ const receipt = {
9261
+ label: field.label || field.path,
9262
+ path: field.path,
9263
+ exists: resolved.exists
9264
+ };
9265
+ if (resolved.exists) receipt.value = toJsonValue(resolved.value);
9266
+ if (resolved.error) receipt.reason = resolved.error;
9231
9267
  return receipt;
9232
9268
  });
9233
9269
  }
@@ -9416,6 +9452,37 @@ function normalizeSetupActionArgs(input, index) {
9416
9452
  }
9417
9453
  return argsInput.map(toJsonValue);
9418
9454
  }
9455
+ function normalizeReturnSummaryFields(input, index) {
9456
+ const fieldsInput = valueFromOwn(
9457
+ input,
9458
+ "return_summary_fields",
9459
+ "returnSummaryFields",
9460
+ "summary_fields",
9461
+ "summaryFields",
9462
+ "receipt_fields",
9463
+ "receiptFields",
9464
+ "return_receipt_fields",
9465
+ "returnReceiptFields"
9466
+ );
9467
+ if (fieldsInput === void 0) return void 0;
9468
+ if (!Array.isArray(fieldsInput)) {
9469
+ throw new Error(`target.setup_actions[${index}].return_summary_fields must be an array.`);
9470
+ }
9471
+ return fieldsInput.map((field, fieldIndex) => {
9472
+ if (typeof field === "string") {
9473
+ const path7 = field.trim();
9474
+ if (!path7) throw new Error(`target.setup_actions[${index}].return_summary_fields[${fieldIndex}] requires path.`);
9475
+ return { path: path7 };
9476
+ }
9477
+ if (!isRecord2(field)) {
9478
+ throw new Error(`target.setup_actions[${index}].return_summary_fields[${fieldIndex}] must be a string path or object.`);
9479
+ }
9480
+ const path6 = stringFromOwn(field, "path", "key", "json_path", "jsonPath");
9481
+ if (!path6) throw new Error(`target.setup_actions[${index}].return_summary_fields[${fieldIndex}] requires path.`);
9482
+ const label = stringFromOwn(field, "label", "name", "title");
9483
+ return label ? { path: path6, label } : { path: path6 };
9484
+ });
9485
+ }
9419
9486
  function normalizeSetupActionRepeat(input, index) {
9420
9487
  const repeat = numberValue3(valueFromOwn(input, "repeat", "repeat_count", "repeatCount", "times"));
9421
9488
  if (repeat === void 0) return void 0;
@@ -9637,6 +9704,7 @@ function normalizeSetupAction(input, index) {
9637
9704
  expect_return: hasExpectedReturn ? toJsonValue(valueFromOwn(input, "expect_return", "expectReturn", "expected_return", "expectedReturn")) : void 0,
9638
9705
  store_return_to: storeReturnTo,
9639
9706
  capture_return: captureReturn,
9707
+ return_summary_fields: normalizeReturnSummaryFields(input, index),
9640
9708
  until_path: untilPath,
9641
9709
  until_expected_value: hasUntilExpectedValue ? toJsonValue(valueFromOwn(input, "until_expected_value", "untilExpectedValue", "until_expected", "untilExpected", "until_value", "untilValue", "expected_value", "expectedValue", "expected")) : void 0,
9642
9710
  max_calls: maxCalls,
@@ -12675,6 +12743,8 @@ function profileSetupWindowCallReceipts(results) {
12675
12743
  };
12676
12744
  if (result.returned !== undefined) receipt.returned = result.returned;
12677
12745
  if (result.expected_return !== undefined) receipt.expected_return = result.expected_return;
12746
+ const returnSummary = profileSetupReturnSummary(result);
12747
+ if (returnSummary.length) receipt.return_summary = returnSummary;
12678
12748
  return receipt;
12679
12749
  });
12680
12750
  }
@@ -12692,9 +12762,43 @@ function profileSetupWindowEvalReceipts(results) {
12692
12762
  };
12693
12763
  if (result.returned !== undefined) receipt.returned = result.returned;
12694
12764
  if (result.expected_return !== undefined) receipt.expected_return = result.expected_return;
12765
+ const returnSummary = profileSetupReturnSummary(result);
12766
+ if (returnSummary.length) receipt.return_summary = returnSummary;
12695
12767
  return receipt;
12696
12768
  });
12697
12769
  }
12770
+ function profileSetupReturnSummaryFields(result) {
12771
+ const input = result && result.return_summary_fields;
12772
+ if (!Array.isArray(input)) return [];
12773
+ const fields = [];
12774
+ for (const item of input) {
12775
+ if (typeof item === "string") {
12776
+ const path = item.trim();
12777
+ if (path) fields.push({ path });
12778
+ continue;
12779
+ }
12780
+ if (!item || typeof item !== "object" || Array.isArray(item)) continue;
12781
+ const path = String(item.path || item.key || item.json_path || item.jsonPath || "").trim();
12782
+ if (!path) continue;
12783
+ const label = String(item.label || item.name || item.title || "").trim();
12784
+ fields.push(label ? { path, label } : { path });
12785
+ }
12786
+ return fields;
12787
+ }
12788
+ function profileSetupReturnSummary(result) {
12789
+ if (!result || result.returned === undefined) return [];
12790
+ return profileSetupReturnSummaryFields(result).map((field) => {
12791
+ const resolved = resolveJsonProbePath(result.returned, field.path);
12792
+ const receipt = {
12793
+ label: field.label || field.path,
12794
+ path: field.path,
12795
+ exists: Boolean(resolved.exists),
12796
+ };
12797
+ if (resolved.exists) receipt.value = setupJsonValue(resolved.value);
12798
+ if (resolved.error) receipt.reason = resolved.error;
12799
+ return receipt;
12800
+ });
12801
+ }
12698
12802
  function profileSetupRangeValueReceipts(results) {
12699
12803
  return (results || [])
12700
12804
  .filter((result) => result && profileSetupResultAction(result) === "set_range_value")
@@ -14429,6 +14533,7 @@ async function executeSetupAction(action, ordinal, viewport) {
14429
14533
  const script = String(action.script || action.code || action.source || action.body || "");
14430
14534
  const args = Array.isArray(action.args) ? action.args : [];
14431
14535
  const storeReturnTo = String(action.store_return_to || action.storeReturnTo || action.save_return_to || action.saveReturnTo || action.assign_return_to || action.assignReturnTo || action.return_state_path || action.returnStatePath || "").trim();
14536
+ const returnSummaryFields = Array.isArray(action.return_summary_fields) ? action.return_summary_fields : [];
14432
14537
  if (!script.trim()) return { ...base, reason: "missing_script" };
14433
14538
  const scope = await setupActionScope(action, timeout);
14434
14539
  if (!scope.ok) return setupScopeFailure(base, scope);
@@ -14458,6 +14563,7 @@ async function executeSetupAction(action, ordinal, viewport) {
14458
14563
  return_captured: captureReturn,
14459
14564
  expected_return: hasExpectation ? setupJsonValue(expected) : undefined,
14460
14565
  return_stored_to: result.return_stored_to || storeReturnTo || undefined,
14566
+ return_summary_fields: returnSummaryFields.length ? setupJsonValue(returnSummaryFields) : undefined,
14461
14567
  reason: result.ok ? (expectationMet ? undefined : "unexpected_return_value") : result.reason,
14462
14568
  store_reason: result.store_reason || undefined,
14463
14569
  error: result.error || undefined,
@@ -14467,6 +14573,7 @@ async function executeSetupAction(action, ordinal, viewport) {
14467
14573
  const path = String(action.path || action.function_path || action.functionPath || "");
14468
14574
  const args = Array.isArray(action.args) ? action.args : [];
14469
14575
  const storeReturnTo = String(action.store_return_to || action.storeReturnTo || action.save_return_to || action.saveReturnTo || action.assign_return_to || action.assignReturnTo || action.return_state_path || action.returnStatePath || "").trim();
14576
+ const returnSummaryFields = Array.isArray(action.return_summary_fields) ? action.return_summary_fields : [];
14470
14577
  if (!path) return { ...base, path, reason: "missing_path" };
14471
14578
  const scope = await setupActionScope(action, timeout);
14472
14579
  if (!scope.ok) return setupScopeFailure(base, scope);
@@ -14496,6 +14603,7 @@ async function executeSetupAction(action, ordinal, viewport) {
14496
14603
  return_captured: captureReturn,
14497
14604
  expected_return: hasExpectation ? setupJsonValue(expected) : undefined,
14498
14605
  return_stored_to: result.return_stored_to || storeReturnTo || undefined,
14606
+ return_summary_fields: returnSummaryFields.length ? setupJsonValue(returnSummaryFields) : undefined,
14499
14607
  reason: result.ok ? (expectationMet ? undefined : "unexpected_return_value") : result.reason,
14500
14608
  store_reason: result.store_reason || undefined,
14501
14609
  error: result.error || undefined,
@@ -16769,12 +16877,14 @@ async function pollRiddleJob(config, jobId, options = {}) {
16769
16877
  const attempts = Math.max(1, Math.floor(options.attempts ?? (options.wait ? 300 : 1)));
16770
16878
  const intervalMs = Math.max(0, Math.floor(options.intervalMs ?? 2e3));
16771
16879
  const progressEveryMs = Math.max(0, Math.floor(options.progressEveryMs ?? 1e4));
16880
+ const unsubmittedTimeoutMs = Math.max(0, Math.floor(options.unsubmittedTimeoutMs ?? 0));
16772
16881
  const startedAt = Date.now();
16773
16882
  let job = null;
16774
16883
  let lastSnapshot = null;
16775
16884
  let lastProgressAt = 0;
16776
16885
  let lastProgressKey = "";
16777
16886
  let preSubmissionElapsedMs = 0;
16887
+ let unsubmittedTimedOut = false;
16778
16888
  for (let index = 0; index < attempts; index += 1) {
16779
16889
  job = await riddleRequestJson(config, `/v1/jobs/${jobId}`);
16780
16890
  const observedAt = Date.now();
@@ -16805,7 +16915,11 @@ async function pollRiddleJob(config, jobId, options = {}) {
16805
16915
  await options.onProgress(lastSnapshot);
16806
16916
  }
16807
16917
  }
16918
+ unsubmittedTimedOut = Boolean(
16919
+ options.wait && unsubmittedTimeoutMs > 0 && lastSnapshot.running_without_submission && !lastSnapshot.created_at && !lastSnapshot.submitted_at && preSubmissionElapsedMs >= unsubmittedTimeoutMs
16920
+ );
16808
16921
  if (lastSnapshot.terminal) break;
16922
+ if (unsubmittedTimedOut) break;
16809
16923
  if (index + 1 < attempts) {
16810
16924
  await new Promise((resolve) => setTimeout(resolve, intervalMs));
16811
16925
  }
@@ -16830,6 +16944,8 @@ async function pollRiddleJob(config, jobId, options = {}) {
16830
16944
  ...snapshot,
16831
16945
  timed_out: timedOut,
16832
16946
  interval_ms: intervalMs,
16947
+ unsubmitted_timeout: unsubmittedTimedOut || void 0,
16948
+ unsubmitted_timeout_ms: unsubmittedTimedOut ? unsubmittedTimeoutMs : void 0,
16833
16949
  message: pollMessage(snapshot, timedOut)
16834
16950
  }
16835
16951
  };
package/dist/index.d.cts CHANGED
@@ -10,5 +10,5 @@ export { CreateCaptureDiagnosticInput, DEFAULT_DIAGNOSTIC_ARRAY_LIMIT, DEFAULT_D
10
10
  export { BuildVisualProofSessionInput, RIDDLE_PROOF_VISUAL_SESSION_FINGERPRINT_VERSION, RIDDLE_PROOF_VISUAL_SESSION_VERSION, VisualProofSessionMismatch, buildVisualProofSession, compareVisualProofSessionFingerprint, parseVisualProofSession, visualSessionFingerprint, visualSessionFingerprintBasis } from './proof-session.cjs';
11
11
  export { AssessPlayabilityOptions, RIDDLE_PROOF_PLAYABILITY_ASSESSMENT_VERSION, RIDDLE_PROOF_PLAYABILITY_VERSION, RiddleProofPlayabilityAssessment, RiddleProofPlayabilityEvidence, assessPlayabilityEvidence, extractPlayabilityEvidence, isRiddleProofPlayabilityMode } from './playability.cjs';
12
12
  export { AssessBasicGameplayOptions, AttachBasicGameplayArtifactOptions, BASIC_GAMEPLAY_ACTION_TYPES, BASIC_GAMEPLAY_PROGRESS_CHECK_TYPES, BasicGameplayActionResult, BasicGameplayActionType, BasicGameplayArtifactResolution, BasicGameplayAssessmentSummary, BasicGameplayBoundsOffender, BasicGameplayCanvasState, BasicGameplayCatchRecord, BasicGameplayChangeSummary, BasicGameplayFailureCode, BasicGameplayFixReference, BasicGameplayMetric, BasicGameplayMobileEvidence, BasicGameplayProgressCheckType, BasicGameplayProgressionCheck, BasicGameplayProofArtifact, BasicGameplayResponsiveViewportEvidence, BasicGameplayRouteReference, BasicGameplaySnapshot, BasicGameplaySuiteFailure, BasicGameplayWarningCode, CreateBasicGameplayCatchSummaryInput, RIDDLE_PROOF_BASIC_GAMEPLAY_ASSESSMENT_VERSION, RIDDLE_PROOF_BASIC_GAMEPLAY_CATCH_VERSION, RIDDLE_PROOF_BASIC_GAMEPLAY_VERSION, RiddleProofBasicGameplayAssessment, RiddleProofBasicGameplayCatchSummary, RiddleProofBasicGameplayEvidence, RiddleProofBasicGameplayRouteAssessment, RiddleProofBasicGameplayRouteEvidence, assessBasicGameplayEvidence, assessBasicGameplayProgressionCheck, assessBasicGameplayProgressionChecks, assessBasicGameplayRoute, attachBasicGameplayArtifactScreenshotHashes, augmentBasicGameplayAssessmentWithProgressionChecks, compactBasicGameplayText, createBasicGameplayCatchRecords, createBasicGameplayCatchSummary, extractBasicGameplayEvidence, resolveBasicGameplayProgressionCheckWithArtifactScreenshots, sanitizeBasicGameplayJsonString } from './basic-gameplay.cjs';
13
- export { NormalizeRiddleProofProfileOptions, RIDDLE_PROOF_PROFILE_CHECK_TYPES, RIDDLE_PROOF_PROFILE_EVIDENCE_VERSION, RIDDLE_PROOF_PROFILE_NETWORK_ABORT_ERROR_CODES, RIDDLE_PROOF_PROFILE_RESULT_VERSION, RIDDLE_PROOF_PROFILE_SETUP_ACTION_TYPES, RIDDLE_PROOF_PROFILE_STATUSES, RIDDLE_PROOF_PROFILE_VERSION, RiddleProofArtifactBodyAssertionInput, RiddleProofArtifactBodyAssertionResult, RiddleProofProfile, RiddleProofProfileArtifactRef, RiddleProofProfileBaselinePolicy, RiddleProofProfileBoundsOffender, RiddleProofProfileCheck, RiddleProofProfileCheckResult, RiddleProofProfileCheckType, RiddleProofProfileEvidence, RiddleProofProfileFailureAction, RiddleProofProfileHttpStatusBodyJsonAssertion, RiddleProofProfileHttpStatusBodyJsonAssertionResult, RiddleProofProfileHttpStatusPreflightCheckResult, RiddleProofProfileHttpStatusPreflightFetch, RiddleProofProfileHttpStatusPreflightFetchResponse, RiddleProofProfileHttpStatusPreflightOptions, RiddleProofProfileHttpStatusPreflightResult, RiddleProofProfileJsonValueType, RiddleProofProfileNetworkAbortErrorCode, RiddleProofProfileNetworkMock, RiddleProofProfileNetworkMockResponse, RiddleProofProfileResult, RiddleProofProfileRouteEvidence, RiddleProofProfileRouteInventoryRoute, RiddleProofProfileRunner, RiddleProofProfileSetupAction, RiddleProofProfileSetupActionType, RiddleProofProfileStatus, RiddleProofProfileTarget, RiddleProofProfileViewport, RiddleProofProfileViewportEvidence, assessRiddleProofProfileEvidence, buildRiddleProofProfileScript, collectRiddleProfileArtifactRefs, collectRiddleProofProfileWarnings, createRiddleProofProfileConfigurationError, createRiddleProofProfileEnvironmentBlockedResult, createRiddleProofProfileInsufficientResult, deriveRiddleProofArtifactBodyAssertions, extractRiddleProofProfileResult, normalizeRiddleProofProfile, preflightRiddleProofProfileHttpStatusChecks, profileStatusExitCode, resolveRiddleProofProfileRouteUrl, resolveRiddleProofProfileTargetUrl, resolveRiddleProofProfileTimeoutSec, slugifyRiddleProofProfileName, summarizeRiddleProofProfileResult } from './profile.cjs';
13
+ export { NormalizeRiddleProofProfileOptions, RIDDLE_PROOF_PROFILE_CHECK_TYPES, RIDDLE_PROOF_PROFILE_EVIDENCE_VERSION, RIDDLE_PROOF_PROFILE_NETWORK_ABORT_ERROR_CODES, RIDDLE_PROOF_PROFILE_RESULT_VERSION, RIDDLE_PROOF_PROFILE_SETUP_ACTION_TYPES, RIDDLE_PROOF_PROFILE_STATUSES, RIDDLE_PROOF_PROFILE_VERSION, RiddleProofArtifactBodyAssertionInput, RiddleProofArtifactBodyAssertionResult, RiddleProofProfile, RiddleProofProfileArtifactRef, RiddleProofProfileBaselinePolicy, RiddleProofProfileBoundsOffender, RiddleProofProfileCheck, RiddleProofProfileCheckResult, RiddleProofProfileCheckType, RiddleProofProfileEvidence, RiddleProofProfileFailureAction, RiddleProofProfileHttpStatusBodyJsonAssertion, RiddleProofProfileHttpStatusBodyJsonAssertionResult, RiddleProofProfileHttpStatusPreflightCheckResult, RiddleProofProfileHttpStatusPreflightFetch, RiddleProofProfileHttpStatusPreflightFetchResponse, RiddleProofProfileHttpStatusPreflightOptions, RiddleProofProfileHttpStatusPreflightResult, RiddleProofProfileJsonValueType, RiddleProofProfileNetworkAbortErrorCode, RiddleProofProfileNetworkMock, RiddleProofProfileNetworkMockResponse, RiddleProofProfileResult, RiddleProofProfileReturnSummaryField, RiddleProofProfileRouteEvidence, RiddleProofProfileRouteInventoryRoute, RiddleProofProfileRunner, RiddleProofProfileSetupAction, RiddleProofProfileSetupActionType, RiddleProofProfileStatus, RiddleProofProfileTarget, RiddleProofProfileViewport, RiddleProofProfileViewportEvidence, assessRiddleProofProfileEvidence, buildRiddleProofProfileScript, collectRiddleProfileArtifactRefs, collectRiddleProofProfileWarnings, createRiddleProofProfileConfigurationError, createRiddleProofProfileEnvironmentBlockedResult, createRiddleProofProfileInsufficientResult, deriveRiddleProofArtifactBodyAssertions, extractRiddleProofProfileResult, normalizeRiddleProofProfile, preflightRiddleProofProfileHttpStatusChecks, profileStatusExitCode, resolveRiddleProofProfileRouteUrl, resolveRiddleProofProfileTargetUrl, resolveRiddleProofProfileTimeoutSec, slugifyRiddleProofProfileName, summarizeRiddleProofProfileResult } from './profile.cjs';
14
14
  export { DEFAULT_RIDDLE_API_BASE_URL, DEFAULT_RIDDLE_API_KEY_FILE, RiddleApiError, RiddleClientConfig, RiddleFetch, RiddlePollJobOptions, RiddlePollJobResult, RiddlePollProgressSnapshot, RiddlePollSummary, RiddlePreviewDeployResult, RiddlePreviewFramework, RiddleRunScriptInput, RiddleServerPreviewInput, RiddleServerPreviewResult, createRiddleApiClient, deployRiddlePreview, deployRiddleStaticPreview, isTerminalRiddleJobStatus, parseRiddleViewport, pollRiddleJob, resolveRiddleApiKey, riddleRequestJson, runRiddleScript, runRiddleServerPreview } from './riddle-client.cjs';
package/dist/index.d.ts CHANGED
@@ -10,5 +10,5 @@ export { CreateCaptureDiagnosticInput, DEFAULT_DIAGNOSTIC_ARRAY_LIMIT, DEFAULT_D
10
10
  export { BuildVisualProofSessionInput, RIDDLE_PROOF_VISUAL_SESSION_FINGERPRINT_VERSION, RIDDLE_PROOF_VISUAL_SESSION_VERSION, VisualProofSessionMismatch, buildVisualProofSession, compareVisualProofSessionFingerprint, parseVisualProofSession, visualSessionFingerprint, visualSessionFingerprintBasis } from './proof-session.js';
11
11
  export { AssessPlayabilityOptions, RIDDLE_PROOF_PLAYABILITY_ASSESSMENT_VERSION, RIDDLE_PROOF_PLAYABILITY_VERSION, RiddleProofPlayabilityAssessment, RiddleProofPlayabilityEvidence, assessPlayabilityEvidence, extractPlayabilityEvidence, isRiddleProofPlayabilityMode } from './playability.js';
12
12
  export { AssessBasicGameplayOptions, AttachBasicGameplayArtifactOptions, BASIC_GAMEPLAY_ACTION_TYPES, BASIC_GAMEPLAY_PROGRESS_CHECK_TYPES, BasicGameplayActionResult, BasicGameplayActionType, BasicGameplayArtifactResolution, BasicGameplayAssessmentSummary, BasicGameplayBoundsOffender, BasicGameplayCanvasState, BasicGameplayCatchRecord, BasicGameplayChangeSummary, BasicGameplayFailureCode, BasicGameplayFixReference, BasicGameplayMetric, BasicGameplayMobileEvidence, BasicGameplayProgressCheckType, BasicGameplayProgressionCheck, BasicGameplayProofArtifact, BasicGameplayResponsiveViewportEvidence, BasicGameplayRouteReference, BasicGameplaySnapshot, BasicGameplaySuiteFailure, BasicGameplayWarningCode, CreateBasicGameplayCatchSummaryInput, RIDDLE_PROOF_BASIC_GAMEPLAY_ASSESSMENT_VERSION, RIDDLE_PROOF_BASIC_GAMEPLAY_CATCH_VERSION, RIDDLE_PROOF_BASIC_GAMEPLAY_VERSION, RiddleProofBasicGameplayAssessment, RiddleProofBasicGameplayCatchSummary, RiddleProofBasicGameplayEvidence, RiddleProofBasicGameplayRouteAssessment, RiddleProofBasicGameplayRouteEvidence, assessBasicGameplayEvidence, assessBasicGameplayProgressionCheck, assessBasicGameplayProgressionChecks, assessBasicGameplayRoute, attachBasicGameplayArtifactScreenshotHashes, augmentBasicGameplayAssessmentWithProgressionChecks, compactBasicGameplayText, createBasicGameplayCatchRecords, createBasicGameplayCatchSummary, extractBasicGameplayEvidence, resolveBasicGameplayProgressionCheckWithArtifactScreenshots, sanitizeBasicGameplayJsonString } from './basic-gameplay.js';
13
- export { NormalizeRiddleProofProfileOptions, RIDDLE_PROOF_PROFILE_CHECK_TYPES, RIDDLE_PROOF_PROFILE_EVIDENCE_VERSION, RIDDLE_PROOF_PROFILE_NETWORK_ABORT_ERROR_CODES, RIDDLE_PROOF_PROFILE_RESULT_VERSION, RIDDLE_PROOF_PROFILE_SETUP_ACTION_TYPES, RIDDLE_PROOF_PROFILE_STATUSES, RIDDLE_PROOF_PROFILE_VERSION, RiddleProofArtifactBodyAssertionInput, RiddleProofArtifactBodyAssertionResult, RiddleProofProfile, RiddleProofProfileArtifactRef, RiddleProofProfileBaselinePolicy, RiddleProofProfileBoundsOffender, RiddleProofProfileCheck, RiddleProofProfileCheckResult, RiddleProofProfileCheckType, RiddleProofProfileEvidence, RiddleProofProfileFailureAction, RiddleProofProfileHttpStatusBodyJsonAssertion, RiddleProofProfileHttpStatusBodyJsonAssertionResult, RiddleProofProfileHttpStatusPreflightCheckResult, RiddleProofProfileHttpStatusPreflightFetch, RiddleProofProfileHttpStatusPreflightFetchResponse, RiddleProofProfileHttpStatusPreflightOptions, RiddleProofProfileHttpStatusPreflightResult, RiddleProofProfileJsonValueType, RiddleProofProfileNetworkAbortErrorCode, RiddleProofProfileNetworkMock, RiddleProofProfileNetworkMockResponse, RiddleProofProfileResult, RiddleProofProfileRouteEvidence, RiddleProofProfileRouteInventoryRoute, RiddleProofProfileRunner, RiddleProofProfileSetupAction, RiddleProofProfileSetupActionType, RiddleProofProfileStatus, RiddleProofProfileTarget, RiddleProofProfileViewport, RiddleProofProfileViewportEvidence, assessRiddleProofProfileEvidence, buildRiddleProofProfileScript, collectRiddleProfileArtifactRefs, collectRiddleProofProfileWarnings, createRiddleProofProfileConfigurationError, createRiddleProofProfileEnvironmentBlockedResult, createRiddleProofProfileInsufficientResult, deriveRiddleProofArtifactBodyAssertions, extractRiddleProofProfileResult, normalizeRiddleProofProfile, preflightRiddleProofProfileHttpStatusChecks, profileStatusExitCode, resolveRiddleProofProfileRouteUrl, resolveRiddleProofProfileTargetUrl, resolveRiddleProofProfileTimeoutSec, slugifyRiddleProofProfileName, summarizeRiddleProofProfileResult } from './profile.js';
13
+ export { NormalizeRiddleProofProfileOptions, RIDDLE_PROOF_PROFILE_CHECK_TYPES, RIDDLE_PROOF_PROFILE_EVIDENCE_VERSION, RIDDLE_PROOF_PROFILE_NETWORK_ABORT_ERROR_CODES, RIDDLE_PROOF_PROFILE_RESULT_VERSION, RIDDLE_PROOF_PROFILE_SETUP_ACTION_TYPES, RIDDLE_PROOF_PROFILE_STATUSES, RIDDLE_PROOF_PROFILE_VERSION, RiddleProofArtifactBodyAssertionInput, RiddleProofArtifactBodyAssertionResult, RiddleProofProfile, RiddleProofProfileArtifactRef, RiddleProofProfileBaselinePolicy, RiddleProofProfileBoundsOffender, RiddleProofProfileCheck, RiddleProofProfileCheckResult, RiddleProofProfileCheckType, RiddleProofProfileEvidence, RiddleProofProfileFailureAction, RiddleProofProfileHttpStatusBodyJsonAssertion, RiddleProofProfileHttpStatusBodyJsonAssertionResult, RiddleProofProfileHttpStatusPreflightCheckResult, RiddleProofProfileHttpStatusPreflightFetch, RiddleProofProfileHttpStatusPreflightFetchResponse, RiddleProofProfileHttpStatusPreflightOptions, RiddleProofProfileHttpStatusPreflightResult, RiddleProofProfileJsonValueType, RiddleProofProfileNetworkAbortErrorCode, RiddleProofProfileNetworkMock, RiddleProofProfileNetworkMockResponse, RiddleProofProfileResult, RiddleProofProfileReturnSummaryField, RiddleProofProfileRouteEvidence, RiddleProofProfileRouteInventoryRoute, RiddleProofProfileRunner, RiddleProofProfileSetupAction, RiddleProofProfileSetupActionType, RiddleProofProfileStatus, RiddleProofProfileTarget, RiddleProofProfileViewport, RiddleProofProfileViewportEvidence, assessRiddleProofProfileEvidence, buildRiddleProofProfileScript, collectRiddleProfileArtifactRefs, collectRiddleProofProfileWarnings, createRiddleProofProfileConfigurationError, createRiddleProofProfileEnvironmentBlockedResult, createRiddleProofProfileInsufficientResult, deriveRiddleProofArtifactBodyAssertions, extractRiddleProofProfileResult, normalizeRiddleProofProfile, preflightRiddleProofProfileHttpStatusChecks, profileStatusExitCode, resolveRiddleProofProfileRouteUrl, resolveRiddleProofProfileTargetUrl, resolveRiddleProofProfileTimeoutSec, slugifyRiddleProofProfileName, summarizeRiddleProofProfileResult } from './profile.js';
14
14
  export { DEFAULT_RIDDLE_API_BASE_URL, DEFAULT_RIDDLE_API_KEY_FILE, RiddleApiError, RiddleClientConfig, RiddleFetch, RiddlePollJobOptions, RiddlePollJobResult, RiddlePollProgressSnapshot, RiddlePollSummary, RiddlePreviewDeployResult, RiddlePreviewFramework, RiddleRunScriptInput, RiddleServerPreviewInput, RiddleServerPreviewResult, createRiddleApiClient, deployRiddlePreview, deployRiddleStaticPreview, isTerminalRiddleJobStatus, parseRiddleViewport, pollRiddleJob, resolveRiddleApiKey, riddleRequestJson, runRiddleScript, runRiddleServerPreview } from './riddle-client.js';
package/dist/index.js CHANGED
@@ -62,7 +62,7 @@ import {
62
62
  resolveRiddleProofProfileTimeoutSec,
63
63
  slugifyRiddleProofProfileName,
64
64
  summarizeRiddleProofProfileResult
65
- } from "./chunk-QJJ3ISMK.js";
65
+ } from "./chunk-YB3LNLZB.js";
66
66
  import {
67
67
  DEFAULT_RIDDLE_API_BASE_URL,
68
68
  DEFAULT_RIDDLE_API_KEY_FILE,
@@ -77,7 +77,7 @@ import {
77
77
  riddleRequestJson,
78
78
  runRiddleScript,
79
79
  runRiddleServerPreview
80
- } from "./chunk-M3ZTY6PQ.js";
80
+ } from "./chunk-PPZ5A5MC.js";
81
81
  import {
82
82
  DEFAULT_DIAGNOSTIC_ARRAY_LIMIT,
83
83
  DEFAULT_DIAGNOSTIC_HISTORY_LIMIT,