@riddledc/riddle-proof 0.7.38 → 0.7.40

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/index.cjs CHANGED
@@ -8960,24 +8960,57 @@ function normalizeNetworkMock(input, index) {
8960
8960
  if (!isRecord2(input)) throw new Error(`target.network_mocks[${index}] must be an object.`);
8961
8961
  const url = stringValue5(input.url) || stringValue5(input.glob) || stringValue5(input.pattern);
8962
8962
  if (!url) throw new Error(`target.network_mocks[${index}] requires url.`);
8963
- const status = numberValue3(input.status) ?? 200;
8964
- if (!Number.isInteger(status) || status < 100 || status > 599) {
8965
- throw new Error(`target.network_mocks[${index}].status must be an HTTP status code.`);
8963
+ const payload = normalizeNetworkMockResponsePayload(input, `target.network_mocks[${index}]`);
8964
+ const responsesInput = input.responses ?? input.sequence;
8965
+ const responses = normalizeNetworkMockResponses(responsesInput, index, payload);
8966
+ const requiredHitCount = numberValue3(
8967
+ input.required_hit_count ?? input.requiredHitCount ?? input.required_hits ?? input.requiredHits ?? input.min_hits ?? input.minHits
8968
+ );
8969
+ if (requiredHitCount !== void 0 && (!Number.isInteger(requiredHitCount) || requiredHitCount < 1)) {
8970
+ throw new Error(`target.network_mocks[${index}].required_hit_count must be a positive integer.`);
8966
8971
  }
8967
- const body = stringValue5(input.body) ?? stringValue5(input.body_text) ?? stringValue5(input.bodyText);
8968
- const hasJsonBody = Object.prototype.hasOwnProperty.call(input, "body_json") || Object.prototype.hasOwnProperty.call(input, "bodyJson") || Object.prototype.hasOwnProperty.call(input, "json");
8969
8972
  return {
8973
+ ...payload,
8970
8974
  label: normalizeName(input.label || input.name, `network-mock-${index + 1}`),
8971
8975
  url,
8972
8976
  method: stringValue5(input.method)?.toUpperCase(),
8977
+ responses,
8978
+ required_hit_count: requiredHitCount,
8979
+ required: input.required === false ? false : true
8980
+ };
8981
+ }
8982
+ function normalizeNetworkMockResponsePayload(input, label, defaults = {}) {
8983
+ const status = numberValue3(input.status) ?? defaults.status ?? 200;
8984
+ if (!Number.isInteger(status) || status < 100 || status > 599) {
8985
+ throw new Error(`${label}.status must be an HTTP status code.`);
8986
+ }
8987
+ const body = stringValue5(input.body) ?? stringValue5(input.body_text) ?? stringValue5(input.bodyText) ?? defaults.body;
8988
+ const hasJsonBody = Object.prototype.hasOwnProperty.call(input, "body_json") || Object.prototype.hasOwnProperty.call(input, "bodyJson") || Object.prototype.hasOwnProperty.call(input, "json");
8989
+ return {
8990
+ label: stringValue5(input.label) || stringValue5(input.name) || defaults.label,
8973
8991
  status,
8974
- content_type: stringValue5(input.content_type) || stringValue5(input.contentType),
8975
- headers: stringRecord(input.headers),
8992
+ content_type: stringValue5(input.content_type) || stringValue5(input.contentType) || defaults.content_type,
8993
+ headers: stringRecord(input.headers) || defaults.headers,
8976
8994
  body,
8977
- body_json: hasJsonBody ? toJsonValue(input.body_json ?? input.bodyJson ?? input.json) : void 0,
8978
- required: input.required === false ? false : true
8995
+ body_json: hasJsonBody ? toJsonValue(input.body_json ?? input.bodyJson ?? input.json) : defaults.body_json
8979
8996
  };
8980
8997
  }
8998
+ function normalizeNetworkMockResponses(value, mockIndex, defaults) {
8999
+ if (value === void 0) return void 0;
9000
+ if (!Array.isArray(value)) throw new Error(`target.network_mocks[${mockIndex}].responses must be an array.`);
9001
+ if (!value.length) throw new Error(`target.network_mocks[${mockIndex}].responses must not be empty.`);
9002
+ const responseDefaults = { ...defaults, label: void 0 };
9003
+ return value.map((response, responseIndex) => {
9004
+ if (!isRecord2(response)) {
9005
+ throw new Error(`target.network_mocks[${mockIndex}].responses[${responseIndex}] must be an object.`);
9006
+ }
9007
+ return normalizeNetworkMockResponsePayload(
9008
+ response,
9009
+ `target.network_mocks[${mockIndex}].responses[${responseIndex}]`,
9010
+ responseDefaults
9011
+ );
9012
+ });
9013
+ }
8981
9014
  function normalizeNetworkMocks(value) {
8982
9015
  if (value === void 0) return void 0;
8983
9016
  if (!Array.isArray(value)) throw new Error("target.network_mocks must be an array.");
@@ -9019,6 +9052,13 @@ function normalizeExpectedTexts(value, index) {
9019
9052
  if (!texts.length) throw new Error(`checks[${index}] selector_text_order expected_texts must contain non-empty strings.`);
9020
9053
  return texts;
9021
9054
  }
9055
+ function normalizeStringList(value, label) {
9056
+ if (value === void 0) return void 0;
9057
+ if (!Array.isArray(value)) throw new Error(`${label} must be an array.`);
9058
+ const values = value.map((item) => String(item).replace(/\s+/g, " ").trim()).filter(Boolean);
9059
+ if (!values.length) throw new Error(`${label} must contain non-empty strings.`);
9060
+ return values;
9061
+ }
9022
9062
  function normalizeCheck(input, index) {
9023
9063
  if (!isRecord2(input)) throw new Error(`checks[${index}] must be an object.`);
9024
9064
  const type = stringValue5(input.type);
@@ -9067,6 +9107,10 @@ function normalizeCheck(input, index) {
9067
9107
  text: stringValue5(input.text),
9068
9108
  pattern: stringValue5(input.pattern),
9069
9109
  flags: stringValue5(input.flags),
9110
+ allowed_console_texts: normalizeStringList(input.allowed_console_texts ?? input.allowedConsoleTexts ?? input.allow_console_texts ?? input.allowConsoleTexts, `checks[${index}] allowed_console_texts`),
9111
+ allowed_console_patterns: normalizeStringList(input.allowed_console_patterns ?? input.allowedConsolePatterns ?? input.allow_console_patterns ?? input.allowConsolePatterns, `checks[${index}] allowed_console_patterns`),
9112
+ allowed_page_error_texts: normalizeStringList(input.allowed_page_error_texts ?? input.allowedPageErrorTexts ?? input.allow_page_error_texts ?? input.allowPageErrorTexts, `checks[${index}] allowed_page_error_texts`),
9113
+ allowed_page_error_patterns: normalizeStringList(input.allowed_page_error_patterns ?? input.allowedPageErrorPatterns ?? input.allow_page_error_patterns ?? input.allowPageErrorPatterns, `checks[${index}] allowed_page_error_patterns`),
9070
9114
  min_count: numberValue3(input.min_count),
9071
9115
  max_overflow_px: numberValue3(input.max_overflow_px),
9072
9116
  timeout_ms: numberValue3(input.timeout_ms) ?? numberValue3(input.timeoutMs),
@@ -9230,6 +9274,18 @@ function matchText(sample, check) {
9230
9274
  }
9231
9275
  return sample.includes(check.text || "");
9232
9276
  }
9277
+ function matchesAllowedMessage(message, texts, patterns) {
9278
+ const sample = String(message || "");
9279
+ if (texts?.some((text) => sample.includes(text))) return true;
9280
+ for (const pattern of patterns || []) {
9281
+ try {
9282
+ if (new RegExp(pattern).test(sample)) return true;
9283
+ } catch {
9284
+ continue;
9285
+ }
9286
+ }
9287
+ return false;
9288
+ }
9233
9289
  function normalizeRoutePath(path6) {
9234
9290
  const value = path6 || "/";
9235
9291
  if (value === "/") return "/";
@@ -9516,14 +9572,28 @@ function assessCheckFromEvidence(check, evidence) {
9516
9572
  };
9517
9573
  }
9518
9574
  if (check.type === "no_fatal_console_errors") {
9519
- const fatalCount = (evidence.console?.fatal_count || 0) + (evidence.page_errors?.length || 0);
9575
+ const fatalConsoleEvents = (evidence.console?.events || []).filter((event) => event.type === "error" || event.type === "assert");
9576
+ const allowedConsoleEvents = fatalConsoleEvents.filter((event) => matchesAllowedMessage(event.text, check.allowed_console_texts, check.allowed_console_patterns));
9577
+ const unallowedConsoleEvents = fatalConsoleEvents.filter((event) => !matchesAllowedMessage(event.text, check.allowed_console_texts, check.allowed_console_patterns));
9578
+ const pageErrors = evidence.page_errors || [];
9579
+ const allowedPageErrors = pageErrors.filter((error) => matchesAllowedMessage(error.message, check.allowed_page_error_texts, check.allowed_page_error_patterns));
9580
+ const unallowedPageErrors = pageErrors.filter((error) => !matchesAllowedMessage(error.message, check.allowed_page_error_texts, check.allowed_page_error_patterns));
9581
+ const fatalCount = unallowedConsoleEvents.length + unallowedPageErrors.length;
9520
9582
  return {
9521
9583
  type: check.type,
9522
9584
  label: checkLabel(check),
9523
9585
  status: fatalCount ? "failed" : "passed",
9524
9586
  evidence: {
9525
- console_fatal_count: evidence.console?.fatal_count || 0,
9526
- page_error_count: evidence.page_errors?.length || 0
9587
+ console_fatal_count: unallowedConsoleEvents.length,
9588
+ page_error_count: unallowedPageErrors.length,
9589
+ total_console_fatal_count: fatalConsoleEvents.length,
9590
+ total_page_error_count: pageErrors.length,
9591
+ allowed_console_fatal_count: allowedConsoleEvents.length,
9592
+ allowed_page_error_count: allowedPageErrors.length,
9593
+ allowed_console_texts: check.allowed_console_texts || [],
9594
+ allowed_console_patterns: check.allowed_console_patterns || [],
9595
+ allowed_page_error_texts: check.allowed_page_error_texts || [],
9596
+ allowed_page_error_patterns: check.allowed_page_error_patterns || []
9527
9597
  },
9528
9598
  message: fatalCount ? `${fatalCount} fatal browser error(s) were captured.` : void 0
9529
9599
  };
@@ -9586,12 +9656,15 @@ function assessNetworkMocksFromEvidence(profile, evidence) {
9586
9656
  const requiredMocks = mocks.filter((mock) => mock.required !== false);
9587
9657
  for (const mock of requiredMocks) {
9588
9658
  const hits = events.filter((event) => event.label === mock.label && event.ok !== false).length;
9589
- if (hits < 1) {
9659
+ const requiredHitCount = requiredNetworkMockHitCount(mock);
9660
+ if (hits < requiredHitCount) {
9590
9661
  failed.push({
9591
9662
  label: mock.label,
9592
9663
  url: mock.url,
9593
9664
  method: mock.method || null,
9594
- reason: "required_mock_not_hit"
9665
+ reason: hits < 1 ? "required_mock_not_hit" : "required_mock_hit_count_not_met",
9666
+ required_hit_count: requiredHitCount,
9667
+ hit_count: hits
9595
9668
  });
9596
9669
  }
9597
9670
  }
@@ -9617,11 +9690,21 @@ function assessNetworkMocksFromEvidence(profile, evidence) {
9617
9690
  mock.label,
9618
9691
  events.filter((event) => event.label === mock.label && event.ok !== false).length
9619
9692
  ])),
9693
+ required_hits_by_label: Object.fromEntries(requiredMocks.map((mock) => [
9694
+ mock.label,
9695
+ requiredNetworkMockHitCount(mock)
9696
+ ])),
9620
9697
  failed
9621
9698
  },
9622
9699
  message: failed.length ? `Network mocks failed or were not hit for ${failed.length} mock(s).` : void 0
9623
9700
  };
9624
9701
  }
9702
+ function requiredNetworkMockHitCount(mock) {
9703
+ if (mock.required === false) return 0;
9704
+ if (mock.required_hit_count !== void 0) return mock.required_hit_count;
9705
+ if (Array.isArray(mock.responses) && mock.responses.length) return mock.responses.length;
9706
+ return 1;
9707
+ }
9625
9708
  function profileStatusFromEvidence(profile, evidence, checks) {
9626
9709
  if (!evidence) return "proof_insufficient";
9627
9710
  const viewports = evidence.viewports || [];
@@ -9779,6 +9862,16 @@ function textMatches(sample, check) {
9779
9862
  }
9780
9863
  return String(sample || "").includes(check.text || "");
9781
9864
  }
9865
+ function matchesAllowedMessage(message, texts, patterns) {
9866
+ const sample = String(message || "");
9867
+ if ((texts || []).some((text) => sample.includes(text))) return true;
9868
+ for (const pattern of patterns || []) {
9869
+ try {
9870
+ if (new RegExp(pattern).test(sample)) return true;
9871
+ } catch {}
9872
+ }
9873
+ return false;
9874
+ }
9782
9875
  function textSequenceForCheck(viewport, check) {
9783
9876
  const key = check.selector || "";
9784
9877
  const sequence = viewport.text_sequences && viewport.text_sequences[key];
@@ -9906,6 +9999,12 @@ function horizontalBoundsOverflowPx(value) {
9906
9999
  }
9907
10000
  return roundPixels(max);
9908
10001
  }
10002
+ function requiredNetworkMockHitCount(mock) {
10003
+ if (!mock || mock.required === false) return 0;
10004
+ if (Number.isInteger(mock.required_hit_count) && mock.required_hit_count > 0) return mock.required_hit_count;
10005
+ if (Array.isArray(mock.responses) && mock.responses.length) return mock.responses.length;
10006
+ return 1;
10007
+ }
9909
10008
  function assessProfile(profile, evidence) {
9910
10009
  const checks = [];
9911
10010
  const viewports = evidence.viewports || [];
@@ -9915,12 +10014,15 @@ function assessProfile(profile, evidence) {
9915
10014
  const failed = [];
9916
10015
  for (const mock of requiredMocks) {
9917
10016
  const hits = events.filter((event) => event && event.label === mock.label && event.ok !== false).length;
9918
- if (hits < 1) {
10017
+ const requiredHitCount = requiredNetworkMockHitCount(mock);
10018
+ if (hits < requiredHitCount) {
9919
10019
  failed.push({
9920
10020
  label: mock.label,
9921
10021
  url: mock.url,
9922
10022
  method: mock.method || null,
9923
- reason: "required_mock_not_hit",
10023
+ reason: hits < 1 ? "required_mock_not_hit" : "required_mock_hit_count_not_met",
10024
+ required_hit_count: requiredHitCount,
10025
+ hit_count: hits,
9924
10026
  });
9925
10027
  }
9926
10028
  }
@@ -9935,8 +10037,10 @@ function assessProfile(profile, evidence) {
9935
10037
  }
9936
10038
  }
9937
10039
  const hitsByLabel = {};
10040
+ const requiredHitsByLabel = {};
9938
10041
  for (const mock of profile.target.network_mocks) {
9939
10042
  hitsByLabel[mock.label] = events.filter((event) => event && event.label === mock.label && event.ok !== false).length;
10043
+ if (mock && mock.required !== false) requiredHitsByLabel[mock.label] = requiredNetworkMockHitCount(mock);
9940
10044
  }
9941
10045
  checks.push({
9942
10046
  type: "network_mocks_succeeded",
@@ -9947,6 +10051,7 @@ function assessProfile(profile, evidence) {
9947
10051
  required_count: requiredMocks.length,
9948
10052
  hit_count: events.filter((event) => event && event.ok !== false).length,
9949
10053
  hits_by_label: hitsByLabel,
10054
+ required_hits_by_label: requiredHitsByLabel,
9950
10055
  failed,
9951
10056
  },
9952
10057
  message: failed.length ? "Network mocks failed or were not hit for " + failed.length + " mock(s)." : undefined,
@@ -10213,12 +10318,29 @@ function assessProfile(profile, evidence) {
10213
10318
  continue;
10214
10319
  }
10215
10320
  if (check.type === "no_fatal_console_errors") {
10216
- const fatalCount = ((evidence.console && evidence.console.fatal_count) || 0) + ((evidence.page_errors || []).length);
10321
+ const fatalConsoleEvents = ((evidence.console && evidence.console.events) || []).filter((event) => event && (event.type === "error" || event.type === "assert"));
10322
+ const allowedConsoleEvents = fatalConsoleEvents.filter((event) => matchesAllowedMessage(event.text, check.allowed_console_texts, check.allowed_console_patterns));
10323
+ const unallowedConsoleEvents = fatalConsoleEvents.filter((event) => !matchesAllowedMessage(event.text, check.allowed_console_texts, check.allowed_console_patterns));
10324
+ const pageErrors = evidence.page_errors || [];
10325
+ const allowedPageErrors = pageErrors.filter((error) => matchesAllowedMessage(error && error.message, check.allowed_page_error_texts, check.allowed_page_error_patterns));
10326
+ const unallowedPageErrors = pageErrors.filter((error) => !matchesAllowedMessage(error && error.message, check.allowed_page_error_texts, check.allowed_page_error_patterns));
10327
+ const fatalCount = unallowedConsoleEvents.length + unallowedPageErrors.length;
10217
10328
  checks.push({
10218
10329
  type: check.type,
10219
10330
  label: check.label || check.type,
10220
10331
  status: fatalCount ? "failed" : "passed",
10221
- evidence: { console_fatal_count: (evidence.console && evidence.console.fatal_count) || 0, page_error_count: (evidence.page_errors || []).length },
10332
+ evidence: {
10333
+ console_fatal_count: unallowedConsoleEvents.length,
10334
+ page_error_count: unallowedPageErrors.length,
10335
+ total_console_fatal_count: fatalConsoleEvents.length,
10336
+ total_page_error_count: pageErrors.length,
10337
+ allowed_console_fatal_count: allowedConsoleEvents.length,
10338
+ allowed_page_error_count: allowedPageErrors.length,
10339
+ allowed_console_texts: check.allowed_console_texts || [],
10340
+ allowed_console_patterns: check.allowed_console_patterns || [],
10341
+ allowed_page_error_texts: check.allowed_page_error_texts || [],
10342
+ allowed_page_error_patterns: check.allowed_page_error_patterns || [],
10343
+ },
10222
10344
  message: fatalCount ? String(fatalCount) + " fatal browser error(s) were captured." : undefined,
10223
10345
  });
10224
10346
  continue;
@@ -10328,6 +10450,7 @@ async function setupLocatorVisible(locator, index) {
10328
10450
  }
10329
10451
  async function registerNetworkMocks(mocks) {
10330
10452
  for (const mock of mocks || []) {
10453
+ let hitCount = 0;
10331
10454
  await page.route(mock.url, async (route) => {
10332
10455
  const request = route.request();
10333
10456
  const method = request.method ? request.method() : "";
@@ -10336,22 +10459,31 @@ async function registerNetworkMocks(mocks) {
10336
10459
  return;
10337
10460
  }
10338
10461
  try {
10339
- const headers = { ...(mock.headers || {}) };
10340
- let body = mock.body || "";
10341
- let contentType = mock.content_type || headers["content-type"] || headers["Content-Type"] || "text/plain";
10342
- if (mock.body_json !== undefined) {
10343
- body = JSON.stringify(mock.body_json);
10344
- contentType = mock.content_type || headers["content-type"] || headers["Content-Type"] || "application/json";
10462
+ const responses = Array.isArray(mock.responses) ? mock.responses : [];
10463
+ const hitIndex = hitCount;
10464
+ hitCount += 1;
10465
+ const responseIndex = responses.length ? Math.min(hitIndex, responses.length - 1) : null;
10466
+ const response = responseIndex === null ? mock : responses[responseIndex];
10467
+ const headers = { ...(response.headers || mock.headers || {}) };
10468
+ let body = response.body || "";
10469
+ let contentType = response.content_type || headers["content-type"] || headers["Content-Type"] || "text/plain";
10470
+ if (response.body_json !== undefined) {
10471
+ body = JSON.stringify(response.body_json);
10472
+ contentType = response.content_type || headers["content-type"] || headers["Content-Type"] || "application/json";
10345
10473
  }
10346
10474
  networkMockEvents.push({
10347
10475
  ok: true,
10348
10476
  label: mock.label,
10477
+ response_label: response.label || null,
10478
+ hit_index: hitIndex,
10479
+ response_index: responseIndex,
10480
+ sequence_reused: responseIndex !== null && hitIndex >= responses.length,
10349
10481
  url: request.url(),
10350
10482
  method,
10351
- status: mock.status || 200,
10483
+ status: response.status || mock.status || 200,
10352
10484
  });
10353
10485
  await route.fulfill({
10354
- status: mock.status || 200,
10486
+ status: response.status || mock.status || 200,
10355
10487
  headers,
10356
10488
  contentType,
10357
10489
  body,
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_RESULT_VERSION, RIDDLE_PROOF_PROFILE_SETUP_ACTION_TYPES, RIDDLE_PROOF_PROFILE_STATUSES, RIDDLE_PROOF_PROFILE_VERSION, RiddleProofProfile, RiddleProofProfileArtifactRef, RiddleProofProfileBaselinePolicy, RiddleProofProfileBoundsOffender, RiddleProofProfileCheck, RiddleProofProfileCheckResult, RiddleProofProfileCheckType, RiddleProofProfileEvidence, RiddleProofProfileFailureAction, RiddleProofProfileNetworkMock, RiddleProofProfileResult, RiddleProofProfileRouteEvidence, RiddleProofProfileRouteInventoryRoute, RiddleProofProfileRunner, RiddleProofProfileSetupAction, RiddleProofProfileSetupActionType, RiddleProofProfileStatus, RiddleProofProfileTarget, RiddleProofProfileViewport, RiddleProofProfileViewportEvidence, assessRiddleProofProfileEvidence, buildRiddleProofProfileScript, collectRiddleProfileArtifactRefs, createRiddleProofProfileConfigurationError, createRiddleProofProfileEnvironmentBlockedResult, createRiddleProofProfileInsufficientResult, extractRiddleProofProfileResult, normalizeRiddleProofProfile, 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_RESULT_VERSION, RIDDLE_PROOF_PROFILE_SETUP_ACTION_TYPES, RIDDLE_PROOF_PROFILE_STATUSES, RIDDLE_PROOF_PROFILE_VERSION, RiddleProofProfile, RiddleProofProfileArtifactRef, RiddleProofProfileBaselinePolicy, RiddleProofProfileBoundsOffender, RiddleProofProfileCheck, RiddleProofProfileCheckResult, RiddleProofProfileCheckType, RiddleProofProfileEvidence, RiddleProofProfileFailureAction, RiddleProofProfileNetworkMock, RiddleProofProfileNetworkMockResponse, RiddleProofProfileResult, RiddleProofProfileRouteEvidence, RiddleProofProfileRouteInventoryRoute, RiddleProofProfileRunner, RiddleProofProfileSetupAction, RiddleProofProfileSetupActionType, RiddleProofProfileStatus, RiddleProofProfileTarget, RiddleProofProfileViewport, RiddleProofProfileViewportEvidence, assessRiddleProofProfileEvidence, buildRiddleProofProfileScript, collectRiddleProfileArtifactRefs, createRiddleProofProfileConfigurationError, createRiddleProofProfileEnvironmentBlockedResult, createRiddleProofProfileInsufficientResult, extractRiddleProofProfileResult, normalizeRiddleProofProfile, 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, RiddleRunScriptInput, RiddleServerPreviewInput, RiddleServerPreviewResult, createRiddleApiClient, 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_RESULT_VERSION, RIDDLE_PROOF_PROFILE_SETUP_ACTION_TYPES, RIDDLE_PROOF_PROFILE_STATUSES, RIDDLE_PROOF_PROFILE_VERSION, RiddleProofProfile, RiddleProofProfileArtifactRef, RiddleProofProfileBaselinePolicy, RiddleProofProfileBoundsOffender, RiddleProofProfileCheck, RiddleProofProfileCheckResult, RiddleProofProfileCheckType, RiddleProofProfileEvidence, RiddleProofProfileFailureAction, RiddleProofProfileNetworkMock, RiddleProofProfileResult, RiddleProofProfileRouteEvidence, RiddleProofProfileRouteInventoryRoute, RiddleProofProfileRunner, RiddleProofProfileSetupAction, RiddleProofProfileSetupActionType, RiddleProofProfileStatus, RiddleProofProfileTarget, RiddleProofProfileViewport, RiddleProofProfileViewportEvidence, assessRiddleProofProfileEvidence, buildRiddleProofProfileScript, collectRiddleProfileArtifactRefs, createRiddleProofProfileConfigurationError, createRiddleProofProfileEnvironmentBlockedResult, createRiddleProofProfileInsufficientResult, extractRiddleProofProfileResult, normalizeRiddleProofProfile, 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_RESULT_VERSION, RIDDLE_PROOF_PROFILE_SETUP_ACTION_TYPES, RIDDLE_PROOF_PROFILE_STATUSES, RIDDLE_PROOF_PROFILE_VERSION, RiddleProofProfile, RiddleProofProfileArtifactRef, RiddleProofProfileBaselinePolicy, RiddleProofProfileBoundsOffender, RiddleProofProfileCheck, RiddleProofProfileCheckResult, RiddleProofProfileCheckType, RiddleProofProfileEvidence, RiddleProofProfileFailureAction, RiddleProofProfileNetworkMock, RiddleProofProfileNetworkMockResponse, RiddleProofProfileResult, RiddleProofProfileRouteEvidence, RiddleProofProfileRouteInventoryRoute, RiddleProofProfileRunner, RiddleProofProfileSetupAction, RiddleProofProfileSetupActionType, RiddleProofProfileStatus, RiddleProofProfileTarget, RiddleProofProfileViewport, RiddleProofProfileViewportEvidence, assessRiddleProofProfileEvidence, buildRiddleProofProfileScript, collectRiddleProfileArtifactRefs, createRiddleProofProfileConfigurationError, createRiddleProofProfileEnvironmentBlockedResult, createRiddleProofProfileInsufficientResult, extractRiddleProofProfileResult, normalizeRiddleProofProfile, 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, RiddleRunScriptInput, RiddleServerPreviewInput, RiddleServerPreviewResult, createRiddleApiClient, deployRiddleStaticPreview, isTerminalRiddleJobStatus, parseRiddleViewport, pollRiddleJob, resolveRiddleApiKey, riddleRequestJson, runRiddleScript, runRiddleServerPreview } from './riddle-client.js';
package/dist/index.js CHANGED
@@ -58,7 +58,7 @@ import {
58
58
  resolveRiddleProofProfileTimeoutSec,
59
59
  slugifyRiddleProofProfileName,
60
60
  summarizeRiddleProofProfileResult
61
- } from "./chunk-ZB7AFRN3.js";
61
+ } from "./chunk-RAVOICNN.js";
62
62
  import {
63
63
  DEFAULT_RIDDLE_API_BASE_URL,
64
64
  DEFAULT_RIDDLE_API_KEY_FILE,