@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 +6 -0
- package/dist/{chunk-EX7TO4I5.js → chunk-GG2D3MFZ.js} +57 -3
- package/dist/{chunk-5Y4V2IXI.js → chunk-UE4I7RTI.js} +1 -1
- package/dist/{chunk-RJVA5KKM.js → chunk-XIJI62DC.js} +42 -2
- package/dist/cli/index.js +3 -3
- package/dist/cli.cjs +106 -0
- package/dist/cli.js +3 -3
- package/dist/index.cjs +59 -3
- package/dist/index.d.cts +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +6 -2
- package/dist/profile/index.cjs +59 -3
- package/dist/profile/index.d.cts +1 -1
- package/dist/profile/index.d.ts +1 -1
- package/dist/profile/index.js +5 -1
- package/dist/profile-suggestions.js +2 -2
- package/dist/profile.cjs +59 -3
- package/dist/profile.d.cts +16 -2
- package/dist/profile.d.ts +16 -2
- package/dist/profile.js +5 -1
- package/examples/neutral-fixture-site/README.md +19 -0
- package/examples/neutral-fixture-site/index.html +23 -0
- package/examples/neutral-fixture-site/pass.html +35 -0
- package/examples/neutral-fixture-site/styles.css +110 -0
- package/examples/profiles/neutral-fixture-pass.json +30 -0
- package/examples/profiles/neutral-fixture-product-regression.json +27 -0
- package/examples/story-matrices/README.md +5 -0
- package/examples/story-matrices/riddle-proof-bounded-loop.json +95 -0
- package/examples/story-matrices/riddle-proof-neutral-public-state-fixtures.json +144 -0
- package/examples/story-matrices/riddle-proof-ux-coverage.csv +5 -0
- package/package.json +1 -1
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(
|
|
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
|
|
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,
|
|
@@ -11,23 +11,25 @@ import {
|
|
|
11
11
|
} from "./chunk-CWRIXP5H.js";
|
|
12
12
|
import {
|
|
13
13
|
suggestRiddleProofProfileChecks
|
|
14
|
-
} from "./chunk-
|
|
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-
|
|
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-
|
|
1
|
+
import "../chunk-XIJI62DC.js";
|
|
2
2
|
import "../chunk-B2DP2LET.js";
|
|
3
3
|
import "../chunk-CWRIXP5H.js";
|
|
4
|
-
import "../chunk-
|
|
5
|
-
import "../chunk-
|
|
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-
|
|
2
|
+
import "./chunk-XIJI62DC.js";
|
|
3
3
|
import "./chunk-B2DP2LET.js";
|
|
4
4
|
import "./chunk-CWRIXP5H.js";
|
|
5
|
-
import "./chunk-
|
|
6
|
-
import "./chunk-
|
|
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(
|
|
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
|
|
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-
|
|
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-
|
|
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,
|