@riddledc/riddle-proof 0.8.70 → 0.8.72

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -226,6 +226,12 @@ split viewport matrix, the preflight estimates the 30-second hosted minimum per
226
226
  viewport and returns an `environment_blocked` result without starting partial
227
227
  jobs when the account balance cannot cover the intended sweep. Use
228
228
  `--balance-preflight=false` to bypass this check.
229
+ Hosted runs also preflight profile artifact requirements before spending a
230
+ browser job. `artifact_manifest` / `artifact-manifest.json` are local runner
231
+ receipts, so a hosted profile that requires them returns `configuration_error`
232
+ with an explanation instead of submitting a job. Hosted profiles should require
233
+ only artifacts the hosted browser run produces: `screenshot`, `console`,
234
+ `dom_summary`, and `proof_json`.
229
235
 
230
236
  ## Regression Packs
231
237
 
@@ -3486,6 +3486,35 @@ function profileStatusFromEvidence(profile, evidence, checks) {
3486
3486
  if (checks.some((check) => check.status === "failed")) return "product_regression";
3487
3487
  return "passed";
3488
3488
  }
3489
+ var RIDDLE_PROOF_HOSTED_PROFILE_ARTIFACTS = [
3490
+ "screenshot",
3491
+ "console",
3492
+ "dom_summary",
3493
+ "proof_json"
3494
+ ];
3495
+ function preflightRiddleProofProfileRunnerArtifacts(profile, runner) {
3496
+ const requested = uniqueNonEmptyStrings(profile.artifacts || []);
3497
+ if (runner !== "riddle") {
3498
+ return {
3499
+ ok: true,
3500
+ runner,
3501
+ requested,
3502
+ local_only: [],
3503
+ hosted_artifacts: [...RIDDLE_PROOF_HOSTED_PROFILE_ARTIFACTS]
3504
+ };
3505
+ }
3506
+ const localOnly = requested.filter(profileArtifactIsHostedLocalOnly);
3507
+ const subject = localOnly.join(", ");
3508
+ const message = localOnly.length ? `${subject} ${localOnly.length === 1 ? "is" : "are"} local-runner output; hosted runs produce proof_json, console, dom_summary, and screenshots. Remove ${localOnly.length === 1 ? "it" : "them"} from profile.artifacts for --runner riddle.` : void 0;
3509
+ return {
3510
+ ok: localOnly.length === 0,
3511
+ runner,
3512
+ requested,
3513
+ local_only: localOnly,
3514
+ hosted_artifacts: [...RIDDLE_PROOF_HOSTED_PROFILE_ARTIFACTS],
3515
+ message
3516
+ };
3517
+ }
3489
3518
  function assessRiddleProofProfileArtifactCompleteness(profile, result, artifacts) {
3490
3519
  const required = profileRequiredArtifactKeys(profile, result);
3491
3520
  const missing = required.filter((key) => !profileArtifactKeyPresent(key, artifacts));
@@ -3550,6 +3579,16 @@ function normalizeProfileArtifactRole(input) {
3550
3579
  if (normalized === "proof" || normalized === "proof_json" || normalized === "proof.json") return "proof.json";
3551
3580
  return normalizeRiddleProfileArtifactName(input.trim()).toLowerCase();
3552
3581
  }
3582
+ function profileArtifactIsHostedLocalOnly(input) {
3583
+ const raw = input.trim().toLowerCase();
3584
+ const normalized = raw.replace(/[\s-]+/g, "_");
3585
+ const role = normalizeProfileArtifactRole(input);
3586
+ return [
3587
+ raw,
3588
+ normalized,
3589
+ role
3590
+ ].some((value) => value === "artifact_manifest" || value === "artifact_manifest.json" || value === "artifact-manifest" || value === "artifact-manifest.json");
3591
+ }
3553
3592
  function profileArtifactKeyPresent(key, artifacts) {
3554
3593
  if (key.startsWith("screenshot:")) {
3555
3594
  const label = key.slice("screenshot:".length);
@@ -3641,19 +3680,32 @@ function profileStatusExitCode(profile, status) {
3641
3680
  if (status === "passed") return 0;
3642
3681
  return profile.failure_policy[status] === "neutral" ? 0 : 1;
3643
3682
  }
3644
- function createRiddleProofProfileConfigurationError(name, error, runner = "riddle") {
3683
+ function createRiddleProofProfileConfigurationError(profileOrName, error, runner = "riddle", options = {}) {
3684
+ const profile = typeof profileOrName === "string" ? void 0 : profileOrName;
3685
+ const name = profile ? profile.name : String(profileOrName);
3645
3686
  const message = error instanceof Error ? error.message : String(error);
3687
+ let requested = "";
3688
+ if (profile) {
3689
+ try {
3690
+ requested = resolveRiddleProofProfileTargetUrl(profile);
3691
+ } catch {
3692
+ requested = "";
3693
+ }
3694
+ }
3646
3695
  return {
3647
3696
  version: RIDDLE_PROOF_PROFILE_RESULT_VERSION,
3648
3697
  profile_name: name,
3649
3698
  runner,
3650
3699
  status: "configuration_error",
3651
- baseline_policy: "invariant_only",
3652
- route: { requested: "", observed: "", matched: false, error: message },
3700
+ baseline_policy: profile?.baseline_policy || "invariant_only",
3701
+ route: { requested, observed: "", matched: false, error: message },
3653
3702
  artifacts: { screenshots: [], proof_json: "proof.json" },
3654
3703
  checks: [],
3655
3704
  summary: `${name} has a profile configuration error.`,
3656
3705
  captured_at: (/* @__PURE__ */ new Date()).toISOString(),
3706
+ metadata: profile?.metadata,
3707
+ warnings: options.warnings?.length ? options.warnings : void 0,
3708
+ configuration_blocker: options.configurationBlocker,
3657
3709
  error: message
3658
3710
  };
3659
3711
  }
@@ -9564,6 +9616,8 @@ export {
9564
9616
  resolveRiddleProofProfileTimeoutSec,
9565
9617
  preflightRiddleProofProfileHttpStatusChecks,
9566
9618
  resolveRiddleProofProfileRouteUrl,
9619
+ RIDDLE_PROOF_HOSTED_PROFILE_ARTIFACTS,
9620
+ preflightRiddleProofProfileRunnerArtifacts,
9567
9621
  assessRiddleProofProfileArtifactCompleteness,
9568
9622
  applyRiddleProofProfileArtifactCompleteness,
9569
9623
  assessRiddleProofProfileEvidence,
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  RIDDLE_PROOF_PROFILE_VERSION
3
- } from "./chunk-EX7TO4I5.js";
3
+ } from "./chunk-GG2D3MFZ.js";
4
4
 
5
5
  // src/profile-suggestions.ts
6
6
  var RIDDLE_PROOF_PROFILE_SUGGESTIONS_VERSION = "riddle-proof.profile-suggestions.v1";
@@ -11,23 +11,25 @@ import {
11
11
  } from "./chunk-CWRIXP5H.js";
12
12
  import {
13
13
  suggestRiddleProofProfileChecks
14
- } from "./chunk-5Y4V2IXI.js";
14
+ } from "./chunk-UE4I7RTI.js";
15
15
  import {
16
16
  RIDDLE_PROOF_PROFILE_EVIDENCE_VERSION,
17
17
  applyRiddleProofProfileArtifactCompleteness,
18
18
  assessRiddleProofProfileEvidence,
19
19
  buildRiddleProofProfileScript,
20
20
  collectRiddleProfileArtifactRefs,
21
+ createRiddleProofProfileConfigurationError,
21
22
  createRiddleProofProfileEnvironmentBlockedResult,
22
23
  createRiddleProofProfileInsufficientResult,
23
24
  deriveRiddleProofArtifactBodyAssertions,
24
25
  extractRiddleProofProfileResult,
25
26
  normalizeRiddleProofProfile,
26
27
  preflightRiddleProofProfileHttpStatusChecks,
28
+ preflightRiddleProofProfileRunnerArtifacts,
27
29
  profileStatusExitCode,
28
30
  resolveRiddleProofProfileTargetUrl,
29
31
  resolveRiddleProofProfileTimeoutSec
30
- } from "./chunk-EX7TO4I5.js";
32
+ } from "./chunk-GG2D3MFZ.js";
31
33
  import {
32
34
  createDisabledRiddleProofAgentAdapter,
33
35
  readRiddleProofRunStatus,
@@ -321,6 +323,7 @@ function compactRunProfileResult(result, options) {
321
323
  checks: compactProfileChecks(result),
322
324
  warnings: result.warnings,
323
325
  environment_blocker: result.environment_blocker,
326
+ configuration_blocker: result.configuration_blocker,
324
327
  metadata: result.metadata,
325
328
  riddle: result.riddle,
326
329
  artifacts: result.artifacts,
@@ -1316,6 +1319,10 @@ function profileResultMarkdown(result) {
1316
1319
  if (httpStatusSummaryLines.length) {
1317
1320
  lines.push("", "## HTTP Status", "", ...httpStatusSummaryLines);
1318
1321
  }
1322
+ const configurationBlockerLines = profileConfigurationBlockerMarkdown(result);
1323
+ if (configurationBlockerLines.length) {
1324
+ lines.push("", "## Configuration Blocker", "", ...configurationBlockerLines);
1325
+ }
1319
1326
  const environmentBlockerLines = profileEnvironmentBlockerMarkdown(result);
1320
1327
  if (environmentBlockerLines.length) {
1321
1328
  lines.push("", "## Environment Blocker", "", ...environmentBlockerLines);
@@ -3166,7 +3173,26 @@ function profileEnvironmentBlockerMarkdown(result) {
3166
3173
  if (apiKeySource) lines.push(`- auth: ${apiKeySource}${apiKeyFile ? ` ${apiKeyFile}` : ""}`);
3167
3174
  return lines;
3168
3175
  }
3176
+ function profileConfigurationBlockerMarkdown(result) {
3177
+ const blocker = cliRecord(result.configuration_blocker);
3178
+ if (!blocker) return [];
3179
+ const lines = [];
3180
+ const reason = cliString(blocker.reason);
3181
+ const source = cliString(blocker.source);
3182
+ const requestedArtifacts = cliStringArray(blocker.requested_artifacts);
3183
+ const localOnlyArtifacts = cliStringArray(blocker.local_only_artifacts);
3184
+ const hostedArtifacts = cliStringArray(blocker.hosted_artifacts);
3185
+ if (reason) lines.push(`- reason: ${reason}`);
3186
+ if (source) lines.push(`- source: ${source}`);
3187
+ if (localOnlyArtifacts.length) lines.push(`- local-only artifact(s): ${localOnlyArtifacts.map((value) => markdownInlineCode(value)).join(", ")}`);
3188
+ if (hostedArtifacts.length) lines.push(`- hosted artifact(s): ${hostedArtifacts.map((value) => markdownInlineCode(value)).join(", ")}`);
3189
+ if (requestedArtifacts.length) lines.push(`- requested artifact(s): ${requestedArtifacts.map((value) => markdownInlineCode(value)).join(", ")}`);
3190
+ return lines;
3191
+ }
3169
3192
  function profileCliDiagnosticLine(result) {
3193
+ if (result.status === "configuration_error") {
3194
+ return result.error ? `[riddle-profile] configuration_error: ${result.error}` : void 0;
3195
+ }
3170
3196
  if (result.status !== "environment_blocked") return void 0;
3171
3197
  const blocker = cliRecord(result.environment_blocker);
3172
3198
  if (blocker?.reason === "insufficient_balance") {
@@ -4635,6 +4661,20 @@ async function runProfileForCli(profile, options) {
4635
4661
  if (runner !== "riddle") {
4636
4662
  throw new Error(`Unsupported --runner ${runner}. The current CLI supports --runner riddle.`);
4637
4663
  }
4664
+ const artifactPreflight = preflightRiddleProofProfileRunnerArtifacts(profile, runner);
4665
+ if (!artifactPreflight.ok) {
4666
+ const message = artifactPreflight.message || "Profile artifacts are not supported by the selected runner.";
4667
+ return createRiddleProofProfileConfigurationError(profile, message, runner, {
4668
+ warnings: [message],
4669
+ configurationBlocker: {
4670
+ source: "profile_artifacts",
4671
+ reason: "local_only_artifact_requested",
4672
+ requested_artifacts: artifactPreflight.requested,
4673
+ local_only_artifacts: artifactPreflight.local_only,
4674
+ hosted_artifacts: artifactPreflight.hosted_artifacts
4675
+ }
4676
+ });
4677
+ }
4638
4678
  const client = createRiddleApiClient(riddleClientConfig(options));
4639
4679
  const balanceBlocked = await preflightRiddleProfileBalanceForCli(profile, options, { client, runner });
4640
4680
  if (balanceBlocked) return balanceBlocked;
package/dist/cli/index.js CHANGED
@@ -1,8 +1,8 @@
1
- import "../chunk-RJVA5KKM.js";
1
+ import "../chunk-XIJI62DC.js";
2
2
  import "../chunk-B2DP2LET.js";
3
3
  import "../chunk-CWRIXP5H.js";
4
- import "../chunk-5Y4V2IXI.js";
5
- import "../chunk-EX7TO4I5.js";
4
+ import "../chunk-UE4I7RTI.js";
5
+ import "../chunk-GG2D3MFZ.js";
6
6
  import "../chunk-WLUMLHII.js";
7
7
  import "../chunk-CGJX7LJO.js";
8
8
  import "../chunk-UTCL7FEZ.js";
package/dist/cli.cjs CHANGED
@@ -11948,6 +11948,35 @@ function profileStatusFromEvidence(profile, evidence, checks) {
11948
11948
  if (checks.some((check) => check.status === "failed")) return "product_regression";
11949
11949
  return "passed";
11950
11950
  }
11951
+ var RIDDLE_PROOF_HOSTED_PROFILE_ARTIFACTS = [
11952
+ "screenshot",
11953
+ "console",
11954
+ "dom_summary",
11955
+ "proof_json"
11956
+ ];
11957
+ function preflightRiddleProofProfileRunnerArtifacts(profile, runner) {
11958
+ const requested = uniqueNonEmptyStrings(profile.artifacts || []);
11959
+ if (runner !== "riddle") {
11960
+ return {
11961
+ ok: true,
11962
+ runner,
11963
+ requested,
11964
+ local_only: [],
11965
+ hosted_artifacts: [...RIDDLE_PROOF_HOSTED_PROFILE_ARTIFACTS]
11966
+ };
11967
+ }
11968
+ const localOnly = requested.filter(profileArtifactIsHostedLocalOnly);
11969
+ const subject = localOnly.join(", ");
11970
+ const message = localOnly.length ? `${subject} ${localOnly.length === 1 ? "is" : "are"} local-runner output; hosted runs produce proof_json, console, dom_summary, and screenshots. Remove ${localOnly.length === 1 ? "it" : "them"} from profile.artifacts for --runner riddle.` : void 0;
11971
+ return {
11972
+ ok: localOnly.length === 0,
11973
+ runner,
11974
+ requested,
11975
+ local_only: localOnly,
11976
+ hosted_artifacts: [...RIDDLE_PROOF_HOSTED_PROFILE_ARTIFACTS],
11977
+ message
11978
+ };
11979
+ }
11951
11980
  function assessRiddleProofProfileArtifactCompleteness(profile, result, artifacts) {
11952
11981
  const required = profileRequiredArtifactKeys(profile, result);
11953
11982
  const missing = required.filter((key) => !profileArtifactKeyPresent(key, artifacts));
@@ -12012,6 +12041,16 @@ function normalizeProfileArtifactRole(input) {
12012
12041
  if (normalized === "proof" || normalized === "proof_json" || normalized === "proof.json") return "proof.json";
12013
12042
  return normalizeRiddleProfileArtifactName(input.trim()).toLowerCase();
12014
12043
  }
12044
+ function profileArtifactIsHostedLocalOnly(input) {
12045
+ const raw = input.trim().toLowerCase();
12046
+ const normalized = raw.replace(/[\s-]+/g, "_");
12047
+ const role = normalizeProfileArtifactRole(input);
12048
+ return [
12049
+ raw,
12050
+ normalized,
12051
+ role
12052
+ ].some((value) => value === "artifact_manifest" || value === "artifact_manifest.json" || value === "artifact-manifest" || value === "artifact-manifest.json");
12053
+ }
12015
12054
  function profileArtifactKeyPresent(key, artifacts) {
12016
12055
  if (key.startsWith("screenshot:")) {
12017
12056
  const label = key.slice("screenshot:".length);
@@ -12103,6 +12142,35 @@ function profileStatusExitCode(profile, status) {
12103
12142
  if (status === "passed") return 0;
12104
12143
  return profile.failure_policy[status] === "neutral" ? 0 : 1;
12105
12144
  }
12145
+ function createRiddleProofProfileConfigurationError(profileOrName, error, runner = "riddle", options = {}) {
12146
+ const profile = typeof profileOrName === "string" ? void 0 : profileOrName;
12147
+ const name = profile ? profile.name : String(profileOrName);
12148
+ const message = error instanceof Error ? error.message : String(error);
12149
+ let requested = "";
12150
+ if (profile) {
12151
+ try {
12152
+ requested = resolveRiddleProofProfileTargetUrl(profile);
12153
+ } catch {
12154
+ requested = "";
12155
+ }
12156
+ }
12157
+ return {
12158
+ version: RIDDLE_PROOF_PROFILE_RESULT_VERSION,
12159
+ profile_name: name,
12160
+ runner,
12161
+ status: "configuration_error",
12162
+ baseline_policy: profile?.baseline_policy || "invariant_only",
12163
+ route: { requested, observed: "", matched: false, error: message },
12164
+ artifacts: { screenshots: [], proof_json: "proof.json" },
12165
+ checks: [],
12166
+ summary: `${name} has a profile configuration error.`,
12167
+ captured_at: (/* @__PURE__ */ new Date()).toISOString(),
12168
+ metadata: profile?.metadata,
12169
+ warnings: options.warnings?.length ? options.warnings : void 0,
12170
+ configuration_blocker: options.configurationBlocker,
12171
+ error: message
12172
+ };
12173
+ }
12106
12174
  function createRiddleProofProfileEnvironmentBlockedResult(input) {
12107
12175
  const message = input.error instanceof Error ? input.error.message : input.error ? String(input.error) : "Riddle runner did not complete successfully.";
12108
12176
  const environmentBlocker = input.environmentBlocker || extractRiddleRunnerBlocker(message);
@@ -18817,6 +18885,7 @@ function compactRunProfileResult(result, options) {
18817
18885
  checks: compactProfileChecks(result),
18818
18886
  warnings: result.warnings,
18819
18887
  environment_blocker: result.environment_blocker,
18888
+ configuration_blocker: result.configuration_blocker,
18820
18889
  metadata: result.metadata,
18821
18890
  riddle: result.riddle,
18822
18891
  artifacts: result.artifacts,
@@ -19812,6 +19881,10 @@ function profileResultMarkdown(result) {
19812
19881
  if (httpStatusSummaryLines.length) {
19813
19882
  lines.push("", "## HTTP Status", "", ...httpStatusSummaryLines);
19814
19883
  }
19884
+ const configurationBlockerLines = profileConfigurationBlockerMarkdown(result);
19885
+ if (configurationBlockerLines.length) {
19886
+ lines.push("", "## Configuration Blocker", "", ...configurationBlockerLines);
19887
+ }
19815
19888
  const environmentBlockerLines = profileEnvironmentBlockerMarkdown(result);
19816
19889
  if (environmentBlockerLines.length) {
19817
19890
  lines.push("", "## Environment Blocker", "", ...environmentBlockerLines);
@@ -21662,7 +21735,26 @@ function profileEnvironmentBlockerMarkdown(result) {
21662
21735
  if (apiKeySource) lines.push(`- auth: ${apiKeySource}${apiKeyFile ? ` ${apiKeyFile}` : ""}`);
21663
21736
  return lines;
21664
21737
  }
21738
+ function profileConfigurationBlockerMarkdown(result) {
21739
+ const blocker = cliRecord(result.configuration_blocker);
21740
+ if (!blocker) return [];
21741
+ const lines = [];
21742
+ const reason = cliString(blocker.reason);
21743
+ const source = cliString(blocker.source);
21744
+ const requestedArtifacts = cliStringArray(blocker.requested_artifacts);
21745
+ const localOnlyArtifacts = cliStringArray(blocker.local_only_artifacts);
21746
+ const hostedArtifacts = cliStringArray(blocker.hosted_artifacts);
21747
+ if (reason) lines.push(`- reason: ${reason}`);
21748
+ if (source) lines.push(`- source: ${source}`);
21749
+ if (localOnlyArtifacts.length) lines.push(`- local-only artifact(s): ${localOnlyArtifacts.map((value) => markdownInlineCode(value)).join(", ")}`);
21750
+ if (hostedArtifacts.length) lines.push(`- hosted artifact(s): ${hostedArtifacts.map((value) => markdownInlineCode(value)).join(", ")}`);
21751
+ if (requestedArtifacts.length) lines.push(`- requested artifact(s): ${requestedArtifacts.map((value) => markdownInlineCode(value)).join(", ")}`);
21752
+ return lines;
21753
+ }
21665
21754
  function profileCliDiagnosticLine(result) {
21755
+ if (result.status === "configuration_error") {
21756
+ return result.error ? `[riddle-profile] configuration_error: ${result.error}` : void 0;
21757
+ }
21666
21758
  if (result.status !== "environment_blocked") return void 0;
21667
21759
  const blocker = cliRecord(result.environment_blocker);
21668
21760
  if (blocker?.reason === "insufficient_balance") {
@@ -23131,6 +23223,20 @@ async function runProfileForCli(profile, options) {
23131
23223
  if (runner !== "riddle") {
23132
23224
  throw new Error(`Unsupported --runner ${runner}. The current CLI supports --runner riddle.`);
23133
23225
  }
23226
+ const artifactPreflight = preflightRiddleProofProfileRunnerArtifacts(profile, runner);
23227
+ if (!artifactPreflight.ok) {
23228
+ const message = artifactPreflight.message || "Profile artifacts are not supported by the selected runner.";
23229
+ return createRiddleProofProfileConfigurationError(profile, message, runner, {
23230
+ warnings: [message],
23231
+ configurationBlocker: {
23232
+ source: "profile_artifacts",
23233
+ reason: "local_only_artifact_requested",
23234
+ requested_artifacts: artifactPreflight.requested,
23235
+ local_only_artifacts: artifactPreflight.local_only,
23236
+ hosted_artifacts: artifactPreflight.hosted_artifacts
23237
+ }
23238
+ });
23239
+ }
23134
23240
  const client = createRiddleApiClient(riddleClientConfig(options));
23135
23241
  const balanceBlocked = await preflightRiddleProfileBalanceForCli(profile, options, { client, runner });
23136
23242
  if (balanceBlocked) return balanceBlocked;
package/dist/cli.js CHANGED
@@ -1,9 +1,9 @@
1
1
  #!/usr/bin/env node
2
- import "./chunk-RJVA5KKM.js";
2
+ import "./chunk-XIJI62DC.js";
3
3
  import "./chunk-B2DP2LET.js";
4
4
  import "./chunk-CWRIXP5H.js";
5
- import "./chunk-5Y4V2IXI.js";
6
- import "./chunk-EX7TO4I5.js";
5
+ import "./chunk-UE4I7RTI.js";
6
+ import "./chunk-GG2D3MFZ.js";
7
7
  import "./chunk-WLUMLHII.js";
8
8
  import "./chunk-CGJX7LJO.js";
9
9
  import "./chunk-UTCL7FEZ.js";
package/dist/index.cjs CHANGED
@@ -3420,6 +3420,7 @@ __export(index_exports, {
3420
3420
  RIDDLE_PROOF_CAPTURE_DIAGNOSTIC_VERSION: () => RIDDLE_PROOF_CAPTURE_DIAGNOSTIC_VERSION,
3421
3421
  RIDDLE_PROOF_CHECKPOINT_PACKET_VERSION: () => RIDDLE_PROOF_CHECKPOINT_PACKET_VERSION,
3422
3422
  RIDDLE_PROOF_CHECKPOINT_RESPONSE_VERSION: () => RIDDLE_PROOF_CHECKPOINT_RESPONSE_VERSION,
3423
+ RIDDLE_PROOF_HOSTED_PROFILE_ARTIFACTS: () => RIDDLE_PROOF_HOSTED_PROFILE_ARTIFACTS,
3423
3424
  RIDDLE_PROOF_PLAYABILITY_ASSESSMENT_VERSION: () => RIDDLE_PROOF_PLAYABILITY_ASSESSMENT_VERSION,
3424
3425
  RIDDLE_PROOF_PLAYABILITY_VERSION: () => RIDDLE_PROOF_PLAYABILITY_VERSION,
3425
3426
  RIDDLE_PROOF_PROFILE_CHECK_TYPES: () => RIDDLE_PROOF_PROFILE_CHECK_TYPES,
@@ -3511,6 +3512,7 @@ __export(index_exports, {
3511
3512
  parseVisualProofSession: () => parseVisualProofSession,
3512
3513
  pollRiddleJob: () => pollRiddleJob,
3513
3514
  preflightRiddleProofProfileHttpStatusChecks: () => preflightRiddleProofProfileHttpStatusChecks,
3515
+ preflightRiddleProofProfileRunnerArtifacts: () => preflightRiddleProofProfileRunnerArtifacts,
3514
3516
  profileStatusExitCode: () => profileStatusExitCode,
3515
3517
  proofContractFromAuthorCheckpointResponse: () => proofContractFromAuthorCheckpointResponse,
3516
3518
  publicMergeRecommendationForRunState: () => publicMergeRecommendationForRunState,
@@ -13643,6 +13645,35 @@ function profileStatusFromEvidence(profile, evidence, checks) {
13643
13645
  if (checks.some((check) => check.status === "failed")) return "product_regression";
13644
13646
  return "passed";
13645
13647
  }
13648
+ var RIDDLE_PROOF_HOSTED_PROFILE_ARTIFACTS = [
13649
+ "screenshot",
13650
+ "console",
13651
+ "dom_summary",
13652
+ "proof_json"
13653
+ ];
13654
+ function preflightRiddleProofProfileRunnerArtifacts(profile, runner) {
13655
+ const requested = uniqueNonEmptyStrings(profile.artifacts || []);
13656
+ if (runner !== "riddle") {
13657
+ return {
13658
+ ok: true,
13659
+ runner,
13660
+ requested,
13661
+ local_only: [],
13662
+ hosted_artifacts: [...RIDDLE_PROOF_HOSTED_PROFILE_ARTIFACTS]
13663
+ };
13664
+ }
13665
+ const localOnly = requested.filter(profileArtifactIsHostedLocalOnly);
13666
+ const subject = localOnly.join(", ");
13667
+ const message = localOnly.length ? `${subject} ${localOnly.length === 1 ? "is" : "are"} local-runner output; hosted runs produce proof_json, console, dom_summary, and screenshots. Remove ${localOnly.length === 1 ? "it" : "them"} from profile.artifacts for --runner riddle.` : void 0;
13668
+ return {
13669
+ ok: localOnly.length === 0,
13670
+ runner,
13671
+ requested,
13672
+ local_only: localOnly,
13673
+ hosted_artifacts: [...RIDDLE_PROOF_HOSTED_PROFILE_ARTIFACTS],
13674
+ message
13675
+ };
13676
+ }
13646
13677
  function assessRiddleProofProfileArtifactCompleteness(profile, result, artifacts) {
13647
13678
  const required = profileRequiredArtifactKeys(profile, result);
13648
13679
  const missing = required.filter((key) => !profileArtifactKeyPresent(key, artifacts));
@@ -13707,6 +13738,16 @@ function normalizeProfileArtifactRole(input) {
13707
13738
  if (normalized === "proof" || normalized === "proof_json" || normalized === "proof.json") return "proof.json";
13708
13739
  return normalizeRiddleProfileArtifactName(input.trim()).toLowerCase();
13709
13740
  }
13741
+ function profileArtifactIsHostedLocalOnly(input) {
13742
+ const raw = input.trim().toLowerCase();
13743
+ const normalized = raw.replace(/[\s-]+/g, "_");
13744
+ const role = normalizeProfileArtifactRole(input);
13745
+ return [
13746
+ raw,
13747
+ normalized,
13748
+ role
13749
+ ].some((value) => value === "artifact_manifest" || value === "artifact_manifest.json" || value === "artifact-manifest" || value === "artifact-manifest.json");
13750
+ }
13710
13751
  function profileArtifactKeyPresent(key, artifacts) {
13711
13752
  if (key.startsWith("screenshot:")) {
13712
13753
  const label = key.slice("screenshot:".length);
@@ -13798,19 +13839,32 @@ function profileStatusExitCode(profile, status) {
13798
13839
  if (status === "passed") return 0;
13799
13840
  return profile.failure_policy[status] === "neutral" ? 0 : 1;
13800
13841
  }
13801
- function createRiddleProofProfileConfigurationError(name, error, runner = "riddle") {
13842
+ function createRiddleProofProfileConfigurationError(profileOrName, error, runner = "riddle", options = {}) {
13843
+ const profile = typeof profileOrName === "string" ? void 0 : profileOrName;
13844
+ const name = profile ? profile.name : String(profileOrName);
13802
13845
  const message = error instanceof Error ? error.message : String(error);
13846
+ let requested = "";
13847
+ if (profile) {
13848
+ try {
13849
+ requested = resolveRiddleProofProfileTargetUrl(profile);
13850
+ } catch {
13851
+ requested = "";
13852
+ }
13853
+ }
13803
13854
  return {
13804
13855
  version: RIDDLE_PROOF_PROFILE_RESULT_VERSION,
13805
13856
  profile_name: name,
13806
13857
  runner,
13807
13858
  status: "configuration_error",
13808
- baseline_policy: "invariant_only",
13809
- route: { requested: "", observed: "", matched: false, error: message },
13859
+ baseline_policy: profile?.baseline_policy || "invariant_only",
13860
+ route: { requested, observed: "", matched: false, error: message },
13810
13861
  artifacts: { screenshots: [], proof_json: "proof.json" },
13811
13862
  checks: [],
13812
13863
  summary: `${name} has a profile configuration error.`,
13813
13864
  captured_at: (/* @__PURE__ */ new Date()).toISOString(),
13865
+ metadata: profile?.metadata,
13866
+ warnings: options.warnings?.length ? options.warnings : void 0,
13867
+ configuration_blocker: options.configurationBlocker,
13814
13868
  error: message
13815
13869
  };
13816
13870
  }
@@ -20851,6 +20905,7 @@ function buildRiddleProofPrCommentMarkdown(input) {
20851
20905
  RIDDLE_PROOF_CAPTURE_DIAGNOSTIC_VERSION,
20852
20906
  RIDDLE_PROOF_CHECKPOINT_PACKET_VERSION,
20853
20907
  RIDDLE_PROOF_CHECKPOINT_RESPONSE_VERSION,
20908
+ RIDDLE_PROOF_HOSTED_PROFILE_ARTIFACTS,
20854
20909
  RIDDLE_PROOF_PLAYABILITY_ASSESSMENT_VERSION,
20855
20910
  RIDDLE_PROOF_PLAYABILITY_VERSION,
20856
20911
  RIDDLE_PROOF_PROFILE_CHECK_TYPES,
@@ -20942,6 +20997,7 @@ function buildRiddleProofPrCommentMarkdown(input) {
20942
20997
  parseVisualProofSession,
20943
20998
  pollRiddleJob,
20944
20999
  preflightRiddleProofProfileHttpStatusChecks,
21000
+ preflightRiddleProofProfileRunnerArtifacts,
20945
21001
  profileStatusExitCode,
20946
21002
  proofContractFromAuthorCheckpointResponse,
20947
21003
  publicMergeRecommendationForRunState,
package/dist/index.d.cts CHANGED
@@ -11,7 +11,7 @@ export { CreateCaptureDiagnosticInput, DEFAULT_DIAGNOSTIC_ARRAY_LIMIT, DEFAULT_D
11
11
  export { BuildVisualProofSessionInput, RIDDLE_PROOF_VISUAL_SESSION_FINGERPRINT_VERSION, RIDDLE_PROOF_VISUAL_SESSION_VERSION, VisualProofSessionMismatch, buildVisualProofSession, compareVisualProofSessionFingerprint, parseVisualProofSession, visualSessionFingerprint, visualSessionFingerprintBasis } from './proof-session.cjs';
12
12
  export { AssessPlayabilityOptions, RIDDLE_PROOF_PLAYABILITY_ASSESSMENT_VERSION, RIDDLE_PROOF_PLAYABILITY_VERSION, RiddleProofPlayabilityAssessment, RiddleProofPlayabilityEvidence, assessPlayabilityEvidence, extractPlayabilityEvidence, isRiddleProofPlayabilityMode } from './playability.cjs';
13
13
  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';
14
- 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, RiddleProofProfileArtifactCompleteness, 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, applyRiddleProofProfileArtifactCompleteness, assessRiddleProofProfileArtifactCompleteness, assessRiddleProofProfileEvidence, buildRiddleProofProfileScript, collectRiddleProfileArtifactRefs, collectRiddleProofProfileWarnings, createRiddleProofProfileConfigurationError, createRiddleProofProfileEnvironmentBlockedResult, createRiddleProofProfileInsufficientResult, deriveRiddleProofArtifactBodyAssertions, extractRiddleProofProfileResult, normalizeRiddleProofProfile, preflightRiddleProofProfileHttpStatusChecks, profileStatusExitCode, resolveRiddleProofProfileRouteUrl, resolveRiddleProofProfileTargetUrl, resolveRiddleProofProfileTimeoutSec, slugifyRiddleProofProfileName, summarizeRiddleProofProfileResult } from './profile.cjs';
14
+ export { NormalizeRiddleProofProfileOptions, RIDDLE_PROOF_HOSTED_PROFILE_ARTIFACTS, 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, RiddleProofProfileArtifactCompleteness, RiddleProofProfileArtifactRef, RiddleProofProfileBaselinePolicy, RiddleProofProfileBoundsOffender, RiddleProofProfileCheck, RiddleProofProfileCheckResult, RiddleProofProfileCheckType, RiddleProofProfileEvidence, RiddleProofProfileFailureAction, RiddleProofProfileHttpStatusBodyJsonAssertion, RiddleProofProfileHttpStatusBodyJsonAssertionResult, RiddleProofProfileHttpStatusPreflightCheckResult, RiddleProofProfileHttpStatusPreflightFetch, RiddleProofProfileHttpStatusPreflightFetchResponse, RiddleProofProfileHttpStatusPreflightOptions, RiddleProofProfileHttpStatusPreflightResult, RiddleProofProfileJsonValueType, RiddleProofProfileNetworkAbortErrorCode, RiddleProofProfileNetworkMock, RiddleProofProfileNetworkMockResponse, RiddleProofProfileResult, RiddleProofProfileReturnSummaryField, RiddleProofProfileRouteEvidence, RiddleProofProfileRouteInventoryRoute, RiddleProofProfileRunner, RiddleProofProfileRunnerArtifactPreflight, RiddleProofProfileSetupAction, RiddleProofProfileSetupActionType, RiddleProofProfileStatus, RiddleProofProfileTarget, RiddleProofProfileViewport, RiddleProofProfileViewportEvidence, applyRiddleProofProfileArtifactCompleteness, assessRiddleProofProfileArtifactCompleteness, assessRiddleProofProfileEvidence, buildRiddleProofProfileScript, collectRiddleProfileArtifactRefs, collectRiddleProofProfileWarnings, createRiddleProofProfileConfigurationError, createRiddleProofProfileEnvironmentBlockedResult, createRiddleProofProfileInsufficientResult, deriveRiddleProofArtifactBodyAssertions, extractRiddleProofProfileResult, normalizeRiddleProofProfile, preflightRiddleProofProfileHttpStatusChecks, preflightRiddleProofProfileRunnerArtifacts, profileStatusExitCode, resolveRiddleProofProfileRouteUrl, resolveRiddleProofProfileTargetUrl, resolveRiddleProofProfileTimeoutSec, slugifyRiddleProofProfileName, summarizeRiddleProofProfileResult } from './profile.cjs';
15
15
  export { RIDDLE_PROOF_PROFILE_SUGGESTIONS_VERSION, RiddleProofProfileChangedTextInput, RiddleProofProfileSuggestion, RiddleProofProfileSuggestionInput, RiddleProofProfileSuggestionsResult, suggestRiddleProofProfileChecks } from './profile-suggestions.cjs';
16
16
  export { DEFAULT_RIDDLE_API_BASE_URL, DEFAULT_RIDDLE_API_KEY_FILE, RIDDLE_UNSUBMITTED_WAKE_HINT, RiddleApiError, RiddleApiKeySource, RiddleBalanceResult, RiddleClientConfig, RiddleFetch, RiddlePollJobOptions, RiddlePollJobResult, RiddlePollProgressSnapshot, RiddlePollSummary, RiddlePreviewDeployProgressSnapshot, RiddlePreviewDeployResult, RiddlePreviewDeployStage, RiddlePreviewFramework, RiddleRunScriptInput, RiddleServerPreviewInput, RiddleServerPreviewResult, collectRiddlePreviewDeployWarnings, createRiddleApiClient, deployRiddlePreview, deployRiddleStaticPreview, getRiddleBalance, isTerminalRiddleJobStatus, parseRiddleViewport, pollRiddleJob, resolveRiddleApiKey, resolveRiddleApiKeySource, riddleRequestJson, runRiddleScript, runRiddleServerPreview } from './riddle-client.cjs';
17
17
  export { RIDDLE_PROOF_PR_COMMENT_MARKER, RiddleProofPrCommentArtifact, RiddleProofPrCommentArtifactKind, RiddleProofPrCommentCheckpointSummary, RiddleProofPrCommentInput, RiddleProofPrCommentPageSummary, RiddleProofPrCommentSummary, buildRiddleProofPrCommentMarkdown, summarizeRiddleProofPrComment } from './pr-comment.cjs';
package/dist/index.d.ts CHANGED
@@ -11,7 +11,7 @@ export { CreateCaptureDiagnosticInput, DEFAULT_DIAGNOSTIC_ARRAY_LIMIT, DEFAULT_D
11
11
  export { BuildVisualProofSessionInput, RIDDLE_PROOF_VISUAL_SESSION_FINGERPRINT_VERSION, RIDDLE_PROOF_VISUAL_SESSION_VERSION, VisualProofSessionMismatch, buildVisualProofSession, compareVisualProofSessionFingerprint, parseVisualProofSession, visualSessionFingerprint, visualSessionFingerprintBasis } from './proof-session.js';
12
12
  export { AssessPlayabilityOptions, RIDDLE_PROOF_PLAYABILITY_ASSESSMENT_VERSION, RIDDLE_PROOF_PLAYABILITY_VERSION, RiddleProofPlayabilityAssessment, RiddleProofPlayabilityEvidence, assessPlayabilityEvidence, extractPlayabilityEvidence, isRiddleProofPlayabilityMode } from './playability.js';
13
13
  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';
14
- 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, RiddleProofProfileArtifactCompleteness, 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, applyRiddleProofProfileArtifactCompleteness, assessRiddleProofProfileArtifactCompleteness, assessRiddleProofProfileEvidence, buildRiddleProofProfileScript, collectRiddleProfileArtifactRefs, collectRiddleProofProfileWarnings, createRiddleProofProfileConfigurationError, createRiddleProofProfileEnvironmentBlockedResult, createRiddleProofProfileInsufficientResult, deriveRiddleProofArtifactBodyAssertions, extractRiddleProofProfileResult, normalizeRiddleProofProfile, preflightRiddleProofProfileHttpStatusChecks, profileStatusExitCode, resolveRiddleProofProfileRouteUrl, resolveRiddleProofProfileTargetUrl, resolveRiddleProofProfileTimeoutSec, slugifyRiddleProofProfileName, summarizeRiddleProofProfileResult } from './profile.js';
14
+ export { NormalizeRiddleProofProfileOptions, RIDDLE_PROOF_HOSTED_PROFILE_ARTIFACTS, 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, RiddleProofProfileArtifactCompleteness, RiddleProofProfileArtifactRef, RiddleProofProfileBaselinePolicy, RiddleProofProfileBoundsOffender, RiddleProofProfileCheck, RiddleProofProfileCheckResult, RiddleProofProfileCheckType, RiddleProofProfileEvidence, RiddleProofProfileFailureAction, RiddleProofProfileHttpStatusBodyJsonAssertion, RiddleProofProfileHttpStatusBodyJsonAssertionResult, RiddleProofProfileHttpStatusPreflightCheckResult, RiddleProofProfileHttpStatusPreflightFetch, RiddleProofProfileHttpStatusPreflightFetchResponse, RiddleProofProfileHttpStatusPreflightOptions, RiddleProofProfileHttpStatusPreflightResult, RiddleProofProfileJsonValueType, RiddleProofProfileNetworkAbortErrorCode, RiddleProofProfileNetworkMock, RiddleProofProfileNetworkMockResponse, RiddleProofProfileResult, RiddleProofProfileReturnSummaryField, RiddleProofProfileRouteEvidence, RiddleProofProfileRouteInventoryRoute, RiddleProofProfileRunner, RiddleProofProfileRunnerArtifactPreflight, RiddleProofProfileSetupAction, RiddleProofProfileSetupActionType, RiddleProofProfileStatus, RiddleProofProfileTarget, RiddleProofProfileViewport, RiddleProofProfileViewportEvidence, applyRiddleProofProfileArtifactCompleteness, assessRiddleProofProfileArtifactCompleteness, assessRiddleProofProfileEvidence, buildRiddleProofProfileScript, collectRiddleProfileArtifactRefs, collectRiddleProofProfileWarnings, createRiddleProofProfileConfigurationError, createRiddleProofProfileEnvironmentBlockedResult, createRiddleProofProfileInsufficientResult, deriveRiddleProofArtifactBodyAssertions, extractRiddleProofProfileResult, normalizeRiddleProofProfile, preflightRiddleProofProfileHttpStatusChecks, preflightRiddleProofProfileRunnerArtifacts, profileStatusExitCode, resolveRiddleProofProfileRouteUrl, resolveRiddleProofProfileTargetUrl, resolveRiddleProofProfileTimeoutSec, slugifyRiddleProofProfileName, summarizeRiddleProofProfileResult } from './profile.js';
15
15
  export { RIDDLE_PROOF_PROFILE_SUGGESTIONS_VERSION, RiddleProofProfileChangedTextInput, RiddleProofProfileSuggestion, RiddleProofProfileSuggestionInput, RiddleProofProfileSuggestionsResult, suggestRiddleProofProfileChecks } from './profile-suggestions.js';
16
16
  export { DEFAULT_RIDDLE_API_BASE_URL, DEFAULT_RIDDLE_API_KEY_FILE, RIDDLE_UNSUBMITTED_WAKE_HINT, RiddleApiError, RiddleApiKeySource, RiddleBalanceResult, RiddleClientConfig, RiddleFetch, RiddlePollJobOptions, RiddlePollJobResult, RiddlePollProgressSnapshot, RiddlePollSummary, RiddlePreviewDeployProgressSnapshot, RiddlePreviewDeployResult, RiddlePreviewDeployStage, RiddlePreviewFramework, RiddleRunScriptInput, RiddleServerPreviewInput, RiddleServerPreviewResult, collectRiddlePreviewDeployWarnings, createRiddleApiClient, deployRiddlePreview, deployRiddleStaticPreview, getRiddleBalance, isTerminalRiddleJobStatus, parseRiddleViewport, pollRiddleJob, resolveRiddleApiKey, resolveRiddleApiKeySource, riddleRequestJson, runRiddleScript, runRiddleServerPreview } from './riddle-client.js';
17
17
  export { RIDDLE_PROOF_PR_COMMENT_MARKER, RiddleProofPrCommentArtifact, RiddleProofPrCommentArtifactKind, RiddleProofPrCommentCheckpointSummary, RiddleProofPrCommentInput, RiddleProofPrCommentPageSummary, RiddleProofPrCommentSummary, buildRiddleProofPrCommentMarkdown, summarizeRiddleProofPrComment } from './pr-comment.js';
package/dist/index.js CHANGED
@@ -64,8 +64,9 @@ import {
64
64
  import {
65
65
  RIDDLE_PROOF_PROFILE_SUGGESTIONS_VERSION,
66
66
  suggestRiddleProofProfileChecks
67
- } from "./chunk-5Y4V2IXI.js";
67
+ } from "./chunk-UE4I7RTI.js";
68
68
  import {
69
+ RIDDLE_PROOF_HOSTED_PROFILE_ARTIFACTS,
69
70
  RIDDLE_PROOF_PROFILE_CHECK_TYPES,
70
71
  RIDDLE_PROOF_PROFILE_EVIDENCE_VERSION,
71
72
  RIDDLE_PROOF_PROFILE_NETWORK_ABORT_ERROR_CODES,
@@ -86,13 +87,14 @@ import {
86
87
  extractRiddleProofProfileResult,
87
88
  normalizeRiddleProofProfile,
88
89
  preflightRiddleProofProfileHttpStatusChecks,
90
+ preflightRiddleProofProfileRunnerArtifacts,
89
91
  profileStatusExitCode,
90
92
  resolveRiddleProofProfileRouteUrl,
91
93
  resolveRiddleProofProfileTargetUrl,
92
94
  resolveRiddleProofProfileTimeoutSec,
93
95
  slugifyRiddleProofProfileName,
94
96
  summarizeRiddleProofProfileResult
95
- } from "./chunk-EX7TO4I5.js";
97
+ } from "./chunk-GG2D3MFZ.js";
96
98
  import {
97
99
  DEFAULT_DIAGNOSTIC_ARRAY_LIMIT,
98
100
  DEFAULT_DIAGNOSTIC_HISTORY_LIMIT,
@@ -187,6 +189,7 @@ export {
187
189
  RIDDLE_PROOF_CAPTURE_DIAGNOSTIC_VERSION,
188
190
  RIDDLE_PROOF_CHECKPOINT_PACKET_VERSION,
189
191
  RIDDLE_PROOF_CHECKPOINT_RESPONSE_VERSION,
192
+ RIDDLE_PROOF_HOSTED_PROFILE_ARTIFACTS,
190
193
  RIDDLE_PROOF_PLAYABILITY_ASSESSMENT_VERSION,
191
194
  RIDDLE_PROOF_PLAYABILITY_VERSION,
192
195
  RIDDLE_PROOF_PROFILE_CHECK_TYPES,
@@ -278,6 +281,7 @@ export {
278
281
  parseVisualProofSession,
279
282
  pollRiddleJob,
280
283
  preflightRiddleProofProfileHttpStatusChecks,
284
+ preflightRiddleProofProfileRunnerArtifacts,
281
285
  profileStatusExitCode,
282
286
  proofContractFromAuthorCheckpointResponse,
283
287
  publicMergeRecommendationForRunState,