@riddledc/riddle-proof 0.5.54 → 0.5.56
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/basic-gameplay.cjs +306 -0
- package/dist/basic-gameplay.d.cts +169 -0
- package/dist/basic-gameplay.d.ts +169 -0
- package/dist/basic-gameplay.js +18 -0
- package/dist/{chunk-UR6ADV4Y.js → chunk-3CVGVQTQ.js} +84 -0
- package/dist/chunk-53DJMNQ6.js +276 -0
- package/dist/cli.cjs +110 -0
- package/dist/cli.js +34 -7
- package/dist/engine-harness.js +2 -2
- package/dist/index.cjs +366 -0
- package/dist/index.d.cts +2 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.js +30 -12
- package/dist/proof-run-engine.d.cts +3 -3
- package/dist/proof-run-engine.d.ts +3 -3
- package/dist/riddle-client.cjs +87 -2
- package/dist/riddle-client.d.cts +32 -1
- package/dist/riddle-client.d.ts +32 -1
- package/dist/riddle-client.js +5 -3
- package/package.json +7 -2
- package/dist/{chunk-A2AWRZ5B.js → chunk-2FBF2UDZ.js} +5 -5
package/dist/index.cjs
CHANGED
|
@@ -2778,6 +2778,9 @@ __export(index_exports, {
|
|
|
2778
2778
|
DEFAULT_DIAGNOSTIC_STRING_LIMIT: () => DEFAULT_DIAGNOSTIC_STRING_LIMIT,
|
|
2779
2779
|
DEFAULT_RIDDLE_API_BASE_URL: () => DEFAULT_RIDDLE_API_BASE_URL,
|
|
2780
2780
|
DEFAULT_RIDDLE_API_KEY_FILE: () => DEFAULT_RIDDLE_API_KEY_FILE,
|
|
2781
|
+
RIDDLE_PROOF_BASIC_GAMEPLAY_ASSESSMENT_VERSION: () => RIDDLE_PROOF_BASIC_GAMEPLAY_ASSESSMENT_VERSION,
|
|
2782
|
+
RIDDLE_PROOF_BASIC_GAMEPLAY_CATCH_VERSION: () => RIDDLE_PROOF_BASIC_GAMEPLAY_CATCH_VERSION,
|
|
2783
|
+
RIDDLE_PROOF_BASIC_GAMEPLAY_VERSION: () => RIDDLE_PROOF_BASIC_GAMEPLAY_VERSION,
|
|
2781
2784
|
RIDDLE_PROOF_CAPTURE_DIAGNOSTIC_VERSION: () => RIDDLE_PROOF_CAPTURE_DIAGNOSTIC_VERSION,
|
|
2782
2785
|
RIDDLE_PROOF_CHECKPOINT_PACKET_VERSION: () => RIDDLE_PROOF_CHECKPOINT_PACKET_VERSION,
|
|
2783
2786
|
RIDDLE_PROOF_CHECKPOINT_RESPONSE_VERSION: () => RIDDLE_PROOF_CHECKPOINT_RESPONSE_VERSION,
|
|
@@ -2793,6 +2796,8 @@ __export(index_exports, {
|
|
|
2793
2796
|
appendStageHeartbeat: () => appendStageHeartbeat,
|
|
2794
2797
|
applyPrLifecycleState: () => applyPrLifecycleState,
|
|
2795
2798
|
applyTerminalMetadata: () => applyTerminalMetadata,
|
|
2799
|
+
assessBasicGameplayEvidence: () => assessBasicGameplayEvidence,
|
|
2800
|
+
assessBasicGameplayRoute: () => assessBasicGameplayRoute,
|
|
2796
2801
|
assessPlayabilityEvidence: () => assessPlayabilityEvidence,
|
|
2797
2802
|
authorPacketPayloadFromCheckpointResponse: () => authorPacketPayloadFromCheckpointResponse,
|
|
2798
2803
|
buildAuthorCheckpointPacket: () => buildAuthorCheckpointPacket,
|
|
@@ -2804,6 +2809,7 @@ __export(index_exports, {
|
|
|
2804
2809
|
checkpointSummaryFromState: () => checkpointSummaryFromState,
|
|
2805
2810
|
compactRecord: () => compactRecord,
|
|
2806
2811
|
compareVisualProofSessionFingerprint: () => compareVisualProofSessionFingerprint,
|
|
2812
|
+
createBasicGameplayCatchSummary: () => createBasicGameplayCatchSummary,
|
|
2807
2813
|
createCaptureDiagnostic: () => createCaptureDiagnostic,
|
|
2808
2814
|
createCheckpointResponseTemplate: () => createCheckpointResponseTemplate,
|
|
2809
2815
|
createCodexExecAgentAdapter: () => createCodexExecAgentAdapter,
|
|
@@ -2817,6 +2823,7 @@ __export(index_exports, {
|
|
|
2817
2823
|
createRunState: () => createRunState,
|
|
2818
2824
|
createRunStatusSnapshot: () => createRunStatusSnapshot,
|
|
2819
2825
|
deployRiddleStaticPreview: () => deployRiddleStaticPreview,
|
|
2826
|
+
extractBasicGameplayEvidence: () => extractBasicGameplayEvidence,
|
|
2820
2827
|
extractPlayabilityEvidence: () => extractPlayabilityEvidence,
|
|
2821
2828
|
isDuplicateCheckpointResponse: () => isDuplicateCheckpointResponse,
|
|
2822
2829
|
isRiddleProofPlayabilityMode: () => isRiddleProofPlayabilityMode,
|
|
@@ -2843,6 +2850,7 @@ __export(index_exports, {
|
|
|
2843
2850
|
runRiddleProof: () => runRiddleProof,
|
|
2844
2851
|
runRiddleProofEngineHarness: () => runRiddleProofEngineHarness,
|
|
2845
2852
|
runRiddleScript: () => runRiddleScript,
|
|
2853
|
+
runRiddleServerPreview: () => runRiddleServerPreview,
|
|
2846
2854
|
setRunStatus: () => setRunStatus,
|
|
2847
2855
|
statePathsForRunState: () => statePathsForRunState,
|
|
2848
2856
|
summarizeCaptureArtifacts: () => summarizeCaptureArtifacts,
|
|
@@ -7611,6 +7619,273 @@ function parseJson(value) {
|
|
|
7611
7619
|
}
|
|
7612
7620
|
}
|
|
7613
7621
|
|
|
7622
|
+
// src/basic-gameplay.ts
|
|
7623
|
+
var RIDDLE_PROOF_BASIC_GAMEPLAY_VERSION = "riddle-proof.basic-gameplay.v1";
|
|
7624
|
+
var RIDDLE_PROOF_BASIC_GAMEPLAY_ASSESSMENT_VERSION = "riddle-proof.basic-gameplay.assessment.v1";
|
|
7625
|
+
var RIDDLE_PROOF_BASIC_GAMEPLAY_CATCH_VERSION = "riddle-proof.basic-gameplay.catch.v1";
|
|
7626
|
+
var BASIC_GAMEPLAY_CONTAINER_KEYS = [
|
|
7627
|
+
"basic_gameplay",
|
|
7628
|
+
"basicGameplay",
|
|
7629
|
+
"basic_gameplay_evidence",
|
|
7630
|
+
"basicGameplayEvidence",
|
|
7631
|
+
"gameplay_proof",
|
|
7632
|
+
"gameplayProof"
|
|
7633
|
+
];
|
|
7634
|
+
function assessBasicGameplayEvidence(evidence, options = {}) {
|
|
7635
|
+
const run = extractBasicGameplayEvidence(evidence);
|
|
7636
|
+
if (!run) {
|
|
7637
|
+
return {
|
|
7638
|
+
version: RIDDLE_PROOF_BASIC_GAMEPLAY_ASSESSMENT_VERSION,
|
|
7639
|
+
evidence_present: false,
|
|
7640
|
+
passed: false,
|
|
7641
|
+
checked_routes: 0,
|
|
7642
|
+
passing_routes: 0,
|
|
7643
|
+
failing_routes: [],
|
|
7644
|
+
failure_counts: {},
|
|
7645
|
+
warning_counts: {},
|
|
7646
|
+
route_results: []
|
|
7647
|
+
};
|
|
7648
|
+
}
|
|
7649
|
+
const routeResults = (run.results || []).map((route) => assessBasicGameplayRoute(route, options));
|
|
7650
|
+
const failingRoutes = routeResults.filter((result) => !result.ok).map((result) => ({
|
|
7651
|
+
name: result.name,
|
|
7652
|
+
path: result.path,
|
|
7653
|
+
failures: result.failures,
|
|
7654
|
+
warnings: result.warnings
|
|
7655
|
+
}));
|
|
7656
|
+
return {
|
|
7657
|
+
version: RIDDLE_PROOF_BASIC_GAMEPLAY_ASSESSMENT_VERSION,
|
|
7658
|
+
evidence_present: true,
|
|
7659
|
+
passed: failingRoutes.length === 0,
|
|
7660
|
+
checked_routes: routeResults.length,
|
|
7661
|
+
passing_routes: routeResults.filter((result) => result.ok).length,
|
|
7662
|
+
failing_routes: failingRoutes,
|
|
7663
|
+
failure_counts: countCodes(routeResults.flatMap((result) => result.failures)),
|
|
7664
|
+
warning_counts: countCodes(routeResults.flatMap((result) => result.warnings)),
|
|
7665
|
+
route_results: routeResults
|
|
7666
|
+
};
|
|
7667
|
+
}
|
|
7668
|
+
function assessBasicGameplayRoute(route, options = {}) {
|
|
7669
|
+
const maxMobileOverflowPx = options.maxMobileOverflowPx ?? 4;
|
|
7670
|
+
const minBodyTextLength = options.minBodyTextLength ?? 20;
|
|
7671
|
+
const minVisibleLargeNodes = options.minVisibleLargeNodes ?? 3;
|
|
7672
|
+
const minSurfaceLargeNodes = options.minSurfaceLargeNodes ?? 8;
|
|
7673
|
+
const warnOnMissingResetPath = options.warnOnMissingResetPath ?? true;
|
|
7674
|
+
const warnOnConsoleError = options.warnOnConsoleError ?? true;
|
|
7675
|
+
const failOnConsoleError = options.failOnConsoleError ?? false;
|
|
7676
|
+
const failures = [];
|
|
7677
|
+
const warnings = [];
|
|
7678
|
+
const initial = route.initial || {};
|
|
7679
|
+
const timed = route.timed || {};
|
|
7680
|
+
const afterAction = route.after_action || route.afterAction || {};
|
|
7681
|
+
const mobile = route.mobile || {};
|
|
7682
|
+
const timedChange = changed(initial, timed);
|
|
7683
|
+
const actionChange = changed(timed, afterAction);
|
|
7684
|
+
const surfaceVisible = numberValue2(initial.visible_canvas_count) > 0 || numberValue2(initial.enabled_clickable_count) > 0 || numberValue2(initial.visible_large_node_count) >= minSurfaceLargeNodes;
|
|
7685
|
+
const actionResults = listValue2(route.action_results || route.actionResults);
|
|
7686
|
+
const actionAttempted = actionResults.some((result) => result.ok === true && result.action !== "wait");
|
|
7687
|
+
const actionFailed = actionResults.some((result) => result.ok === false && result.action !== "wait");
|
|
7688
|
+
const stateChangeObserved = actionChange.changed || timedChange.changed;
|
|
7689
|
+
const resetPathPresent = numberValue2(initial.reset_control_count) > 0 || numberValue2(timed.reset_control_count) > 0 || numberValue2(afterAction.reset_control_count) > 0;
|
|
7690
|
+
const responseStatus = firstNumber(route.http_status, route.response_status, route.status);
|
|
7691
|
+
const pageErrorCount = numberValue2(route.page_error_count);
|
|
7692
|
+
const consoleErrorCount = numberValue2(route.console_error_count);
|
|
7693
|
+
const mobileOverflowPx = numberValue2(mobile.overflow_px);
|
|
7694
|
+
if (responseStatus !== null && responseStatus >= 400) failures.push("route_http_error");
|
|
7695
|
+
if (pageErrorCount > 0) failures.push("fatal_page_error");
|
|
7696
|
+
if (numberValue2(initial.body_text_length) < minBodyTextLength && numberValue2(initial.visible_large_node_count) < minVisibleLargeNodes) {
|
|
7697
|
+
failures.push("route_blank_or_thin");
|
|
7698
|
+
}
|
|
7699
|
+
if (!surfaceVisible) failures.push("no_game_surface");
|
|
7700
|
+
if (mobileOverflowPx > maxMobileOverflowPx) failures.push("mobile_horizontal_overflow");
|
|
7701
|
+
if (!actionAttempted && !timedChange.changed) failures.push("primary_control_missing");
|
|
7702
|
+
if (actionAttempted && !stateChangeObserved) failures.push("primary_control_inert");
|
|
7703
|
+
if (failOnConsoleError && consoleErrorCount > 0) failures.push("fatal_page_error");
|
|
7704
|
+
if (numberValue2(initial.visible_canvas_count) > 0 && actionAttempted && !timedChange.canvas_changed && !actionChange.canvas_changed && !actionChange.screenshot_changed) {
|
|
7705
|
+
warnings.push("canvas_inert");
|
|
7706
|
+
}
|
|
7707
|
+
if (actionFailed) warnings.push("some_actions_failed");
|
|
7708
|
+
if (warnOnMissingResetPath && !resetPathPresent && route.requires_reset !== false && actionAttempted && stateChangeObserved) {
|
|
7709
|
+
warnings.push("missing_reset_path");
|
|
7710
|
+
}
|
|
7711
|
+
if (warnOnConsoleError && consoleErrorCount > 0) warnings.push("critical_console_error");
|
|
7712
|
+
return {
|
|
7713
|
+
name: route.name,
|
|
7714
|
+
path: route.path,
|
|
7715
|
+
ok: failures.length === 0,
|
|
7716
|
+
failures,
|
|
7717
|
+
warnings,
|
|
7718
|
+
signals: {
|
|
7719
|
+
route_loaded: !failures.includes("route_http_error") && !failures.includes("route_blank_or_thin"),
|
|
7720
|
+
surface_visible: surfaceVisible,
|
|
7721
|
+
action_attempted: actionAttempted,
|
|
7722
|
+
timed_progression_observed: timedChange.changed,
|
|
7723
|
+
first_interaction_observed: actionChange.changed,
|
|
7724
|
+
state_change_observed: stateChangeObserved,
|
|
7725
|
+
mobile_overflow_absent: mobileOverflowPx <= maxMobileOverflowPx,
|
|
7726
|
+
reset_path_present: resetPathPresent,
|
|
7727
|
+
fatal_errors_absent: pageErrorCount === 0
|
|
7728
|
+
},
|
|
7729
|
+
diffs: {
|
|
7730
|
+
timed: timedChange,
|
|
7731
|
+
after_action: actionChange
|
|
7732
|
+
}
|
|
7733
|
+
};
|
|
7734
|
+
}
|
|
7735
|
+
function createBasicGameplayCatchSummary(input, options = {}) {
|
|
7736
|
+
const before = summarizeAssessment(assessBasicGameplayEvidence(input.before, options));
|
|
7737
|
+
const after = input.after === void 0 ? void 0 : summarizeAssessment(assessBasicGameplayEvidence(input.after, options));
|
|
7738
|
+
const fixed = Boolean(after && before.notable_codes.length > 0 && after.passed && after.notable_codes.length === 0);
|
|
7739
|
+
const title = input.title || [
|
|
7740
|
+
input.site || "Basic gameplay",
|
|
7741
|
+
input.route ? `${input.route} proof catch` : "proof catch"
|
|
7742
|
+
].join(" ");
|
|
7743
|
+
const beforeCodes = before.notable_codes.length ? before.notable_codes.join(", ") : "no failing or warning codes";
|
|
7744
|
+
const afterCodes = after ? after.notable_codes.length ? after.notable_codes.join(", ") : "no failing or warning codes" : "not verified";
|
|
7745
|
+
const summaryLines = [
|
|
7746
|
+
`Before: ${before.checked_routes} checked, ${before.passing_routes} passing, codes: ${beforeCodes}.`,
|
|
7747
|
+
after ? `After: ${after.checked_routes} checked, ${after.passing_routes} passing, codes: ${afterCodes}.` : "After: not provided."
|
|
7748
|
+
];
|
|
7749
|
+
if (input.fix?.summary) summaryLines.push(`Fix: ${input.fix.summary}`);
|
|
7750
|
+
if (input.artifacts?.length) summaryLines.push(`Artifacts: ${input.artifacts.length} attached.`);
|
|
7751
|
+
return {
|
|
7752
|
+
version: RIDDLE_PROOF_BASIC_GAMEPLAY_CATCH_VERSION,
|
|
7753
|
+
title,
|
|
7754
|
+
site: input.site,
|
|
7755
|
+
route: input.route,
|
|
7756
|
+
detected_at: input.detected_at || (/* @__PURE__ */ new Date()).toISOString(),
|
|
7757
|
+
before,
|
|
7758
|
+
after,
|
|
7759
|
+
fixed,
|
|
7760
|
+
fix: input.fix,
|
|
7761
|
+
artifacts: input.artifacts || [],
|
|
7762
|
+
summary_lines: summaryLines,
|
|
7763
|
+
marketing_summary: fixed ? `${title}: Riddle Proof caught ${beforeCodes}; after the fix, ${afterCodes}.` : `${title}: Riddle Proof caught ${beforeCodes}; after evidence is ${after ? "not yet clean" : "not yet attached"}.`
|
|
7764
|
+
};
|
|
7765
|
+
}
|
|
7766
|
+
function extractBasicGameplayEvidence(...sources) {
|
|
7767
|
+
const seen = /* @__PURE__ */ new Set();
|
|
7768
|
+
for (const source of sources) {
|
|
7769
|
+
const found = findBasicGameplayEvidence(source, seen);
|
|
7770
|
+
if (found) return found;
|
|
7771
|
+
}
|
|
7772
|
+
return null;
|
|
7773
|
+
}
|
|
7774
|
+
function summarizeAssessment(assessment) {
|
|
7775
|
+
return {
|
|
7776
|
+
evidence_present: assessment.evidence_present,
|
|
7777
|
+
passed: assessment.passed,
|
|
7778
|
+
checked_routes: assessment.checked_routes,
|
|
7779
|
+
passing_routes: assessment.passing_routes,
|
|
7780
|
+
failing_routes: assessment.failing_routes,
|
|
7781
|
+
failure_counts: assessment.failure_counts,
|
|
7782
|
+
warning_counts: assessment.warning_counts,
|
|
7783
|
+
notable_codes: [
|
|
7784
|
+
...Object.keys(assessment.failure_counts),
|
|
7785
|
+
...Object.keys(assessment.warning_counts)
|
|
7786
|
+
].sort()
|
|
7787
|
+
};
|
|
7788
|
+
}
|
|
7789
|
+
function findBasicGameplayEvidence(value, seen, depth = 0) {
|
|
7790
|
+
if (depth > 6 || value === null || value === void 0) return null;
|
|
7791
|
+
if (typeof value === "string") {
|
|
7792
|
+
const parsed = parseJson2(value);
|
|
7793
|
+
return parsed === null ? null : findBasicGameplayEvidence(parsed, seen, depth + 1);
|
|
7794
|
+
}
|
|
7795
|
+
if (Array.isArray(value)) {
|
|
7796
|
+
if (seen.has(value)) return null;
|
|
7797
|
+
seen.add(value);
|
|
7798
|
+
if (value.some((item) => hasRouteShape(recordValue3(item)))) {
|
|
7799
|
+
return { results: value.filter((item) => hasRouteShape(recordValue3(item))) };
|
|
7800
|
+
}
|
|
7801
|
+
for (const item of value) {
|
|
7802
|
+
const found = findBasicGameplayEvidence(item, seen, depth + 1);
|
|
7803
|
+
if (found) return found;
|
|
7804
|
+
}
|
|
7805
|
+
return null;
|
|
7806
|
+
}
|
|
7807
|
+
const record = recordValue3(value);
|
|
7808
|
+
if (!record || seen.has(record)) return null;
|
|
7809
|
+
seen.add(record);
|
|
7810
|
+
if (record.version === RIDDLE_PROOF_BASIC_GAMEPLAY_VERSION || Array.isArray(record.results)) {
|
|
7811
|
+
return {
|
|
7812
|
+
...record,
|
|
7813
|
+
results: listValue2(record.results).filter((item) => Boolean(recordValue3(item)))
|
|
7814
|
+
};
|
|
7815
|
+
}
|
|
7816
|
+
if (hasRouteShape(record)) {
|
|
7817
|
+
return { results: [record] };
|
|
7818
|
+
}
|
|
7819
|
+
for (const key of BASIC_GAMEPLAY_CONTAINER_KEYS) {
|
|
7820
|
+
if (Object.prototype.hasOwnProperty.call(record, key)) {
|
|
7821
|
+
const nested = findBasicGameplayEvidence(record[key], seen, depth + 1);
|
|
7822
|
+
if (nested) return nested;
|
|
7823
|
+
}
|
|
7824
|
+
}
|
|
7825
|
+
for (const item of Object.values(record)) {
|
|
7826
|
+
const found = findBasicGameplayEvidence(item, seen, depth + 1);
|
|
7827
|
+
if (found) return found;
|
|
7828
|
+
}
|
|
7829
|
+
return null;
|
|
7830
|
+
}
|
|
7831
|
+
function hasRouteShape(record) {
|
|
7832
|
+
return Boolean(record && (record.initial || record.after_action || record.afterAction || record.action_results || record.actionResults) && (record.path || record.name));
|
|
7833
|
+
}
|
|
7834
|
+
function changed(before, after) {
|
|
7835
|
+
const bodyTextChanged = Boolean(before.body_text_hash && after.body_text_hash && before.body_text_hash !== after.body_text_hash);
|
|
7836
|
+
const screenshotChanged = Boolean(before.screenshot_hash && after.screenshot_hash && before.screenshot_hash !== after.screenshot_hash);
|
|
7837
|
+
const beforeCanvasHashes = canvasHashes(before.canvases);
|
|
7838
|
+
const afterCanvasHashes = canvasHashes(after.canvases);
|
|
7839
|
+
const canvasChanged = Boolean(beforeCanvasHashes && afterCanvasHashes && beforeCanvasHashes !== afterCanvasHashes);
|
|
7840
|
+
return {
|
|
7841
|
+
body_text_changed: bodyTextChanged,
|
|
7842
|
+
screenshot_changed: screenshotChanged,
|
|
7843
|
+
canvas_changed: canvasChanged,
|
|
7844
|
+
changed: bodyTextChanged || screenshotChanged || canvasChanged
|
|
7845
|
+
};
|
|
7846
|
+
}
|
|
7847
|
+
function canvasHashes(canvases) {
|
|
7848
|
+
return (canvases || []).map((canvas) => canvas.hash).filter(Boolean).join("|");
|
|
7849
|
+
}
|
|
7850
|
+
function countCodes(codes) {
|
|
7851
|
+
const counts = {};
|
|
7852
|
+
for (const code of codes) counts[code] = (counts[code] || 0) + 1;
|
|
7853
|
+
return counts;
|
|
7854
|
+
}
|
|
7855
|
+
function firstNumber(...values) {
|
|
7856
|
+
for (const value of values) {
|
|
7857
|
+
const number = numericValue3(value);
|
|
7858
|
+
if (number !== null) return number;
|
|
7859
|
+
}
|
|
7860
|
+
return null;
|
|
7861
|
+
}
|
|
7862
|
+
function numberValue2(value) {
|
|
7863
|
+
return numericValue3(value) ?? 0;
|
|
7864
|
+
}
|
|
7865
|
+
function numericValue3(value) {
|
|
7866
|
+
if (typeof value === "number" && Number.isFinite(value)) return value;
|
|
7867
|
+
if (typeof value === "string" && value.trim()) {
|
|
7868
|
+
const parsed = Number(value);
|
|
7869
|
+
return Number.isFinite(parsed) ? parsed : null;
|
|
7870
|
+
}
|
|
7871
|
+
return null;
|
|
7872
|
+
}
|
|
7873
|
+
function recordValue3(value) {
|
|
7874
|
+
return value && typeof value === "object" && !Array.isArray(value) ? value : null;
|
|
7875
|
+
}
|
|
7876
|
+
function listValue2(value) {
|
|
7877
|
+
return Array.isArray(value) ? value : [];
|
|
7878
|
+
}
|
|
7879
|
+
function parseJson2(value) {
|
|
7880
|
+
const trimmed = value.trim();
|
|
7881
|
+
if (!trimmed || !/^[{[]/.test(trimmed)) return null;
|
|
7882
|
+
try {
|
|
7883
|
+
return JSON.parse(trimmed);
|
|
7884
|
+
} catch {
|
|
7885
|
+
return null;
|
|
7886
|
+
}
|
|
7887
|
+
}
|
|
7888
|
+
|
|
7614
7889
|
// src/riddle-client.ts
|
|
7615
7890
|
var import_node_child_process4 = require("child_process");
|
|
7616
7891
|
var import_node_fs5 = require("fs");
|
|
@@ -7700,12 +7975,94 @@ async function deployRiddleStaticPreview(config, directory, label) {
|
|
|
7700
7975
|
raw: published
|
|
7701
7976
|
};
|
|
7702
7977
|
}
|
|
7978
|
+
function createTarball(directory, label, exclude = []) {
|
|
7979
|
+
const scratch = (0, import_node_fs5.mkdtempSync)(import_node_path5.default.join((0, import_node_os2.tmpdir)(), "riddle-upload-"));
|
|
7980
|
+
const tarball = import_node_path5.default.join(scratch, `${label}.tar.gz`);
|
|
7981
|
+
const excludeArgs = exclude.flatMap((item) => ["--exclude", item]);
|
|
7982
|
+
try {
|
|
7983
|
+
(0, import_node_child_process4.execFileSync)("tar", ["czf", tarball, ...excludeArgs, "-C", directory, "."], { stdio: "pipe" });
|
|
7984
|
+
return { scratch, tarball };
|
|
7985
|
+
} catch (error) {
|
|
7986
|
+
(0, import_node_fs5.rmSync)(scratch, { recursive: true, force: true });
|
|
7987
|
+
throw error;
|
|
7988
|
+
}
|
|
7989
|
+
}
|
|
7703
7990
|
function parseRiddleViewport(value) {
|
|
7704
7991
|
if (!value) return void 0;
|
|
7705
7992
|
const match = /^(\d+)x(\d+)$/.exec(value.trim());
|
|
7706
7993
|
if (!match) throw new Error("viewport must look like 1280x720");
|
|
7707
7994
|
return { width: Number(match[1]), height: Number(match[2]) };
|
|
7708
7995
|
}
|
|
7996
|
+
function scriptErrorFrom(job) {
|
|
7997
|
+
const nested = job?.proof_of_execution && typeof job.proof_of_execution === "object" && !Array.isArray(job.proof_of_execution) ? job.proof_of_execution : null;
|
|
7998
|
+
return typeof job?.script_error === "string" && job.script_error.trim() ? job.script_error : typeof nested?.script_error === "string" && nested.script_error.trim() ? nested.script_error : null;
|
|
7999
|
+
}
|
|
8000
|
+
async function runRiddleServerPreview(config, input) {
|
|
8001
|
+
if (!input.directory?.trim()) throw new Error("directory is required");
|
|
8002
|
+
if (!input.script?.trim()) throw new Error("script is required");
|
|
8003
|
+
const port = input.port || 3e3;
|
|
8004
|
+
const routePath = input.path || "/";
|
|
8005
|
+
const timeoutSec = input.timeoutSec || 180;
|
|
8006
|
+
const created = await riddleRequestJson(config, "/v1/server-preview", {
|
|
8007
|
+
method: "POST",
|
|
8008
|
+
body: JSON.stringify({
|
|
8009
|
+
image: input.image || "node:22-slim",
|
|
8010
|
+
command: input.command || "node scripts/riddleSpaPreviewServer.mjs build 3000",
|
|
8011
|
+
port,
|
|
8012
|
+
path: routePath,
|
|
8013
|
+
readiness_path: input.readinessPath || routePath,
|
|
8014
|
+
readiness_timeout: input.readinessTimeoutSec || 90,
|
|
8015
|
+
wait_until: input.waitUntil || "domcontentloaded",
|
|
8016
|
+
wait_for_selector: input.waitForSelector || "body",
|
|
8017
|
+
navigation_timeout: input.navigationTimeoutSec || 60,
|
|
8018
|
+
viewport: input.viewport,
|
|
8019
|
+
timeout: timeoutSec,
|
|
8020
|
+
script: input.script
|
|
8021
|
+
})
|
|
8022
|
+
});
|
|
8023
|
+
const jobId = String(created.job_id || "");
|
|
8024
|
+
const uploadUrl = String(created.upload_url || "");
|
|
8025
|
+
if (!jobId || !uploadUrl) {
|
|
8026
|
+
throw new Error(`Riddle server preview create response was missing job_id or upload_url.`);
|
|
8027
|
+
}
|
|
8028
|
+
const { scratch, tarball } = createTarball(input.directory, jobId, [
|
|
8029
|
+
".git",
|
|
8030
|
+
"node_modules",
|
|
8031
|
+
"test-results",
|
|
8032
|
+
...input.exclude || []
|
|
8033
|
+
]);
|
|
8034
|
+
try {
|
|
8035
|
+
const upload = await fetchFor(config)(uploadUrl, {
|
|
8036
|
+
method: "PUT",
|
|
8037
|
+
headers: { "Content-Type": "application/gzip" },
|
|
8038
|
+
body: (0, import_node_fs5.readFileSync)(tarball)
|
|
8039
|
+
});
|
|
8040
|
+
if (!upload.ok) throw new RiddleApiError(uploadUrl, upload.status, await upload.text());
|
|
8041
|
+
} finally {
|
|
8042
|
+
(0, import_node_fs5.rmSync)(scratch, { recursive: true, force: true });
|
|
8043
|
+
}
|
|
8044
|
+
await riddleRequestJson(config, `/v1/server-preview/${jobId}/start`, {
|
|
8045
|
+
method: "POST"
|
|
8046
|
+
});
|
|
8047
|
+
let job = null;
|
|
8048
|
+
const attempts = input.pollAttempts || Math.ceil((timeoutSec + 90) / 2);
|
|
8049
|
+
const intervalMs = input.pollIntervalMs || 2e3;
|
|
8050
|
+
for (let index = 0; index < attempts; index += 1) {
|
|
8051
|
+
job = await riddleRequestJson(config, `/v1/server-preview/${jobId}`);
|
|
8052
|
+
if (isTerminalRiddleJobStatus(job.status)) break;
|
|
8053
|
+
if (index + 1 < attempts) await new Promise((resolve) => setTimeout(resolve, intervalMs));
|
|
8054
|
+
}
|
|
8055
|
+
const status = job?.status ? String(job.status) : null;
|
|
8056
|
+
const scriptError = scriptErrorFrom(job);
|
|
8057
|
+
return {
|
|
8058
|
+
ok: (status === "completed" || status === "complete") && !scriptError,
|
|
8059
|
+
job_id: jobId,
|
|
8060
|
+
status,
|
|
8061
|
+
terminal: isTerminalRiddleJobStatus(status),
|
|
8062
|
+
script_error: scriptError,
|
|
8063
|
+
job
|
|
8064
|
+
};
|
|
8065
|
+
}
|
|
7709
8066
|
async function runRiddleScript(config, input) {
|
|
7710
8067
|
if (!input.url?.trim()) throw new Error("url is required");
|
|
7711
8068
|
if (!input.script?.trim()) throw new Error("script is required");
|
|
@@ -7757,6 +8114,7 @@ function createRiddleApiClient(config = {}) {
|
|
|
7757
8114
|
requestJson: (pathname, init) => riddleRequestJson(config, pathname, init),
|
|
7758
8115
|
deployStaticPreview: (directory, label) => deployRiddleStaticPreview(config, directory, label),
|
|
7759
8116
|
runScript: (input) => runRiddleScript(config, input),
|
|
8117
|
+
runServerPreview: (input) => runRiddleServerPreview(config, input),
|
|
7760
8118
|
pollJob: (jobId, options) => pollRiddleJob(config, jobId, options)
|
|
7761
8119
|
};
|
|
7762
8120
|
}
|
|
@@ -7767,6 +8125,9 @@ function createRiddleApiClient(config = {}) {
|
|
|
7767
8125
|
DEFAULT_DIAGNOSTIC_STRING_LIMIT,
|
|
7768
8126
|
DEFAULT_RIDDLE_API_BASE_URL,
|
|
7769
8127
|
DEFAULT_RIDDLE_API_KEY_FILE,
|
|
8128
|
+
RIDDLE_PROOF_BASIC_GAMEPLAY_ASSESSMENT_VERSION,
|
|
8129
|
+
RIDDLE_PROOF_BASIC_GAMEPLAY_CATCH_VERSION,
|
|
8130
|
+
RIDDLE_PROOF_BASIC_GAMEPLAY_VERSION,
|
|
7770
8131
|
RIDDLE_PROOF_CAPTURE_DIAGNOSTIC_VERSION,
|
|
7771
8132
|
RIDDLE_PROOF_CHECKPOINT_PACKET_VERSION,
|
|
7772
8133
|
RIDDLE_PROOF_CHECKPOINT_RESPONSE_VERSION,
|
|
@@ -7782,6 +8143,8 @@ function createRiddleApiClient(config = {}) {
|
|
|
7782
8143
|
appendStageHeartbeat,
|
|
7783
8144
|
applyPrLifecycleState,
|
|
7784
8145
|
applyTerminalMetadata,
|
|
8146
|
+
assessBasicGameplayEvidence,
|
|
8147
|
+
assessBasicGameplayRoute,
|
|
7785
8148
|
assessPlayabilityEvidence,
|
|
7786
8149
|
authorPacketPayloadFromCheckpointResponse,
|
|
7787
8150
|
buildAuthorCheckpointPacket,
|
|
@@ -7793,6 +8156,7 @@ function createRiddleApiClient(config = {}) {
|
|
|
7793
8156
|
checkpointSummaryFromState,
|
|
7794
8157
|
compactRecord,
|
|
7795
8158
|
compareVisualProofSessionFingerprint,
|
|
8159
|
+
createBasicGameplayCatchSummary,
|
|
7796
8160
|
createCaptureDiagnostic,
|
|
7797
8161
|
createCheckpointResponseTemplate,
|
|
7798
8162
|
createCodexExecAgentAdapter,
|
|
@@ -7806,6 +8170,7 @@ function createRiddleApiClient(config = {}) {
|
|
|
7806
8170
|
createRunState,
|
|
7807
8171
|
createRunStatusSnapshot,
|
|
7808
8172
|
deployRiddleStaticPreview,
|
|
8173
|
+
extractBasicGameplayEvidence,
|
|
7809
8174
|
extractPlayabilityEvidence,
|
|
7810
8175
|
isDuplicateCheckpointResponse,
|
|
7811
8176
|
isRiddleProofPlayabilityMode,
|
|
@@ -7832,6 +8197,7 @@ function createRiddleApiClient(config = {}) {
|
|
|
7832
8197
|
runRiddleProof,
|
|
7833
8198
|
runRiddleProofEngineHarness,
|
|
7834
8199
|
runRiddleScript,
|
|
8200
|
+
runRiddleServerPreview,
|
|
7835
8201
|
setRunStatus,
|
|
7836
8202
|
statePathsForRunState,
|
|
7837
8203
|
summarizeCaptureArtifacts,
|
package/dist/index.d.cts
CHANGED
|
@@ -9,4 +9,5 @@ export { CodexExecAgentConfig, CodexJsonRequest, CodexJsonResult, CodexJsonRunne
|
|
|
9
9
|
export { CreateCaptureDiagnosticInput, DEFAULT_DIAGNOSTIC_ARRAY_LIMIT, DEFAULT_DIAGNOSTIC_HISTORY_LIMIT, DEFAULT_DIAGNOSTIC_STRING_LIMIT, RIDDLE_PROOF_CAPTURE_DIAGNOSTIC_VERSION, RiddleProofArtifactSummary, RiddleProofCaptureArtifactSummary, RiddleProofCaptureDiagnostic, RiddleProofDiagnosticRedactionOptions, appendCaptureDiagnostic, createCaptureDiagnostic, redactForProofDiagnostics, summarizeCaptureArtifacts } from './diagnostics.cjs';
|
|
10
10
|
export { BuildVisualProofSessionInput, RIDDLE_PROOF_VISUAL_SESSION_FINGERPRINT_VERSION, RIDDLE_PROOF_VISUAL_SESSION_VERSION, VisualProofSessionMismatch, buildVisualProofSession, compareVisualProofSessionFingerprint, parseVisualProofSession, visualSessionFingerprint, visualSessionFingerprintBasis } from './proof-session.cjs';
|
|
11
11
|
export { AssessPlayabilityOptions, RIDDLE_PROOF_PLAYABILITY_ASSESSMENT_VERSION, RIDDLE_PROOF_PLAYABILITY_VERSION, RiddleProofPlayabilityAssessment, RiddleProofPlayabilityEvidence, assessPlayabilityEvidence, extractPlayabilityEvidence, isRiddleProofPlayabilityMode } from './playability.cjs';
|
|
12
|
-
export {
|
|
12
|
+
export { AssessBasicGameplayOptions, BasicGameplayActionResult, BasicGameplayAssessmentSummary, BasicGameplayCanvasState, BasicGameplayChangeSummary, BasicGameplayFailureCode, BasicGameplayFixReference, BasicGameplayMobileEvidence, BasicGameplayProofArtifact, BasicGameplaySnapshot, 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, assessBasicGameplayRoute, createBasicGameplayCatchSummary, extractBasicGameplayEvidence } from './basic-gameplay.cjs';
|
|
13
|
+
export { DEFAULT_RIDDLE_API_BASE_URL, DEFAULT_RIDDLE_API_KEY_FILE, RiddleApiError, RiddleClientConfig, RiddleFetch, RiddlePollJobResult, RiddlePreviewDeployResult, RiddleRunScriptInput, RiddleServerPreviewInput, RiddleServerPreviewResult, createRiddleApiClient, deployRiddleStaticPreview, isTerminalRiddleJobStatus, parseRiddleViewport, pollRiddleJob, resolveRiddleApiKey, riddleRequestJson, runRiddleScript, runRiddleServerPreview } from './riddle-client.cjs';
|
package/dist/index.d.ts
CHANGED
|
@@ -9,4 +9,5 @@ export { CodexExecAgentConfig, CodexJsonRequest, CodexJsonResult, CodexJsonRunne
|
|
|
9
9
|
export { CreateCaptureDiagnosticInput, DEFAULT_DIAGNOSTIC_ARRAY_LIMIT, DEFAULT_DIAGNOSTIC_HISTORY_LIMIT, DEFAULT_DIAGNOSTIC_STRING_LIMIT, RIDDLE_PROOF_CAPTURE_DIAGNOSTIC_VERSION, RiddleProofArtifactSummary, RiddleProofCaptureArtifactSummary, RiddleProofCaptureDiagnostic, RiddleProofDiagnosticRedactionOptions, appendCaptureDiagnostic, createCaptureDiagnostic, redactForProofDiagnostics, summarizeCaptureArtifacts } from './diagnostics.js';
|
|
10
10
|
export { BuildVisualProofSessionInput, RIDDLE_PROOF_VISUAL_SESSION_FINGERPRINT_VERSION, RIDDLE_PROOF_VISUAL_SESSION_VERSION, VisualProofSessionMismatch, buildVisualProofSession, compareVisualProofSessionFingerprint, parseVisualProofSession, visualSessionFingerprint, visualSessionFingerprintBasis } from './proof-session.js';
|
|
11
11
|
export { AssessPlayabilityOptions, RIDDLE_PROOF_PLAYABILITY_ASSESSMENT_VERSION, RIDDLE_PROOF_PLAYABILITY_VERSION, RiddleProofPlayabilityAssessment, RiddleProofPlayabilityEvidence, assessPlayabilityEvidence, extractPlayabilityEvidence, isRiddleProofPlayabilityMode } from './playability.js';
|
|
12
|
-
export {
|
|
12
|
+
export { AssessBasicGameplayOptions, BasicGameplayActionResult, BasicGameplayAssessmentSummary, BasicGameplayCanvasState, BasicGameplayChangeSummary, BasicGameplayFailureCode, BasicGameplayFixReference, BasicGameplayMobileEvidence, BasicGameplayProofArtifact, BasicGameplaySnapshot, 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, assessBasicGameplayRoute, createBasicGameplayCatchSummary, extractBasicGameplayEvidence } from './basic-gameplay.js';
|
|
13
|
+
export { DEFAULT_RIDDLE_API_BASE_URL, DEFAULT_RIDDLE_API_KEY_FILE, RiddleApiError, RiddleClientConfig, RiddleFetch, RiddlePollJobResult, RiddlePreviewDeployResult, RiddleRunScriptInput, RiddleServerPreviewInput, RiddleServerPreviewResult, createRiddleApiClient, deployRiddleStaticPreview, isTerminalRiddleJobStatus, parseRiddleViewport, pollRiddleJob, resolveRiddleApiKey, riddleRequestJson, runRiddleScript, runRiddleServerPreview } from './riddle-client.js';
|
package/dist/index.js
CHANGED
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
import {
|
|
2
|
+
runRiddleProof
|
|
3
|
+
} from "./chunk-RXFKKYWA.js";
|
|
1
4
|
import "./chunk-6F4PWJZI.js";
|
|
2
5
|
import {
|
|
3
6
|
RIDDLE_PROOF_PLAYABILITY_ASSESSMENT_VERSION,
|
|
@@ -16,8 +19,14 @@ import {
|
|
|
16
19
|
visualSessionFingerprintBasis
|
|
17
20
|
} from "./chunk-ODORKNSO.js";
|
|
18
21
|
import {
|
|
19
|
-
|
|
20
|
-
|
|
22
|
+
RIDDLE_PROOF_BASIC_GAMEPLAY_ASSESSMENT_VERSION,
|
|
23
|
+
RIDDLE_PROOF_BASIC_GAMEPLAY_CATCH_VERSION,
|
|
24
|
+
RIDDLE_PROOF_BASIC_GAMEPLAY_VERSION,
|
|
25
|
+
assessBasicGameplayEvidence,
|
|
26
|
+
assessBasicGameplayRoute,
|
|
27
|
+
createBasicGameplayCatchSummary,
|
|
28
|
+
extractBasicGameplayEvidence
|
|
29
|
+
} from "./chunk-53DJMNQ6.js";
|
|
21
30
|
import {
|
|
22
31
|
DEFAULT_RIDDLE_API_BASE_URL,
|
|
23
32
|
DEFAULT_RIDDLE_API_KEY_FILE,
|
|
@@ -29,8 +38,9 @@ import {
|
|
|
29
38
|
pollRiddleJob,
|
|
30
39
|
resolveRiddleApiKey,
|
|
31
40
|
riddleRequestJson,
|
|
32
|
-
runRiddleScript
|
|
33
|
-
|
|
41
|
+
runRiddleScript,
|
|
42
|
+
runRiddleServerPreview
|
|
43
|
+
} from "./chunk-3CVGVQTQ.js";
|
|
34
44
|
import {
|
|
35
45
|
DEFAULT_DIAGNOSTIC_ARRAY_LIMIT,
|
|
36
46
|
DEFAULT_DIAGNOSTIC_HISTORY_LIMIT,
|
|
@@ -45,14 +55,7 @@ import {
|
|
|
45
55
|
createDisabledRiddleProofAgentAdapter,
|
|
46
56
|
readRiddleProofRunStatus,
|
|
47
57
|
runRiddleProofEngineHarness
|
|
48
|
-
} from "./chunk-
|
|
49
|
-
import "./chunk-RFJ5BQF6.js";
|
|
50
|
-
import "./chunk-JFQXAJH2.js";
|
|
51
|
-
import {
|
|
52
|
-
createCodexExecAgentAdapter,
|
|
53
|
-
createCodexExecJsonRunner,
|
|
54
|
-
runCodexExecAgentDoctor
|
|
55
|
-
} from "./chunk-3266V3MO.js";
|
|
58
|
+
} from "./chunk-2FBF2UDZ.js";
|
|
56
59
|
import {
|
|
57
60
|
RIDDLE_PROOF_RUN_STATE_VERSION,
|
|
58
61
|
appendRunEvent,
|
|
@@ -65,6 +68,7 @@ import {
|
|
|
65
68
|
normalizeRunParams,
|
|
66
69
|
setRunStatus
|
|
67
70
|
} from "./chunk-MO24D3PY.js";
|
|
71
|
+
import "./chunk-RFJ5BQF6.js";
|
|
68
72
|
import {
|
|
69
73
|
RIDDLE_PROOF_RUN_CARD_VERSION,
|
|
70
74
|
createRiddleProofRunCard
|
|
@@ -85,6 +89,12 @@ import {
|
|
|
85
89
|
proofContractFromAuthorCheckpointResponse,
|
|
86
90
|
statePathsForRunState
|
|
87
91
|
} from "./chunk-33XO42CY.js";
|
|
92
|
+
import "./chunk-JFQXAJH2.js";
|
|
93
|
+
import {
|
|
94
|
+
createCodexExecAgentAdapter,
|
|
95
|
+
createCodexExecJsonRunner,
|
|
96
|
+
runCodexExecAgentDoctor
|
|
97
|
+
} from "./chunk-3266V3MO.js";
|
|
88
98
|
import {
|
|
89
99
|
applyTerminalMetadata,
|
|
90
100
|
compactRecord,
|
|
@@ -101,6 +111,9 @@ export {
|
|
|
101
111
|
DEFAULT_DIAGNOSTIC_STRING_LIMIT,
|
|
102
112
|
DEFAULT_RIDDLE_API_BASE_URL,
|
|
103
113
|
DEFAULT_RIDDLE_API_KEY_FILE,
|
|
114
|
+
RIDDLE_PROOF_BASIC_GAMEPLAY_ASSESSMENT_VERSION,
|
|
115
|
+
RIDDLE_PROOF_BASIC_GAMEPLAY_CATCH_VERSION,
|
|
116
|
+
RIDDLE_PROOF_BASIC_GAMEPLAY_VERSION,
|
|
104
117
|
RIDDLE_PROOF_CAPTURE_DIAGNOSTIC_VERSION,
|
|
105
118
|
RIDDLE_PROOF_CHECKPOINT_PACKET_VERSION,
|
|
106
119
|
RIDDLE_PROOF_CHECKPOINT_RESPONSE_VERSION,
|
|
@@ -116,6 +129,8 @@ export {
|
|
|
116
129
|
appendStageHeartbeat,
|
|
117
130
|
applyPrLifecycleState,
|
|
118
131
|
applyTerminalMetadata,
|
|
132
|
+
assessBasicGameplayEvidence,
|
|
133
|
+
assessBasicGameplayRoute,
|
|
119
134
|
assessPlayabilityEvidence,
|
|
120
135
|
authorPacketPayloadFromCheckpointResponse,
|
|
121
136
|
buildAuthorCheckpointPacket,
|
|
@@ -127,6 +142,7 @@ export {
|
|
|
127
142
|
checkpointSummaryFromState,
|
|
128
143
|
compactRecord,
|
|
129
144
|
compareVisualProofSessionFingerprint,
|
|
145
|
+
createBasicGameplayCatchSummary,
|
|
130
146
|
createCaptureDiagnostic,
|
|
131
147
|
createCheckpointResponseTemplate,
|
|
132
148
|
createCodexExecAgentAdapter,
|
|
@@ -140,6 +156,7 @@ export {
|
|
|
140
156
|
createRunState,
|
|
141
157
|
createRunStatusSnapshot,
|
|
142
158
|
deployRiddleStaticPreview,
|
|
159
|
+
extractBasicGameplayEvidence,
|
|
143
160
|
extractPlayabilityEvidence,
|
|
144
161
|
isDuplicateCheckpointResponse,
|
|
145
162
|
isRiddleProofPlayabilityMode,
|
|
@@ -166,6 +183,7 @@ export {
|
|
|
166
183
|
runRiddleProof,
|
|
167
184
|
runRiddleProofEngineHarness,
|
|
168
185
|
runRiddleScript,
|
|
186
|
+
runRiddleServerPreview,
|
|
169
187
|
setRunStatus,
|
|
170
188
|
statePathsForRunState,
|
|
171
189
|
summarizeCaptureArtifacts,
|
|
@@ -277,7 +277,7 @@ declare function executeWorkflow(params: WorkflowParams, pluginConfig: any, reso
|
|
|
277
277
|
blocking?: boolean;
|
|
278
278
|
details?: Record<string, unknown>;
|
|
279
279
|
ok: boolean;
|
|
280
|
-
action: "
|
|
280
|
+
action: "author" | "recon" | "ship" | "implement" | "verify" | "setup" | "run";
|
|
281
281
|
state_path: string;
|
|
282
282
|
stage: any;
|
|
283
283
|
summary: string;
|
|
@@ -362,7 +362,7 @@ declare function executeWorkflow(params: WorkflowParams, pluginConfig: any, reso
|
|
|
362
362
|
continueWithStage?: WorkflowStage | null;
|
|
363
363
|
blocking?: boolean;
|
|
364
364
|
details?: Record<string, unknown>;
|
|
365
|
-
action: "
|
|
365
|
+
action: "author" | "recon" | "ship" | "implement" | "verify" | "setup" | "run";
|
|
366
366
|
state_path: string;
|
|
367
367
|
stage: any;
|
|
368
368
|
checkpoint: string;
|
|
@@ -624,7 +624,7 @@ declare function executeWorkflow(params: WorkflowParams, pluginConfig: any, reso
|
|
|
624
624
|
error?: undefined;
|
|
625
625
|
} | {
|
|
626
626
|
ok: boolean;
|
|
627
|
-
action: "
|
|
627
|
+
action: "author" | "recon" | "ship" | "implement" | "verify" | "setup" | "run";
|
|
628
628
|
state_path: string;
|
|
629
629
|
stage: any;
|
|
630
630
|
summary: string;
|
|
@@ -277,7 +277,7 @@ declare function executeWorkflow(params: WorkflowParams, pluginConfig: any, reso
|
|
|
277
277
|
blocking?: boolean;
|
|
278
278
|
details?: Record<string, unknown>;
|
|
279
279
|
ok: boolean;
|
|
280
|
-
action: "
|
|
280
|
+
action: "author" | "recon" | "ship" | "implement" | "verify" | "setup" | "run";
|
|
281
281
|
state_path: string;
|
|
282
282
|
stage: any;
|
|
283
283
|
summary: string;
|
|
@@ -362,7 +362,7 @@ declare function executeWorkflow(params: WorkflowParams, pluginConfig: any, reso
|
|
|
362
362
|
continueWithStage?: WorkflowStage | null;
|
|
363
363
|
blocking?: boolean;
|
|
364
364
|
details?: Record<string, unknown>;
|
|
365
|
-
action: "
|
|
365
|
+
action: "author" | "recon" | "ship" | "implement" | "verify" | "setup" | "run";
|
|
366
366
|
state_path: string;
|
|
367
367
|
stage: any;
|
|
368
368
|
checkpoint: string;
|
|
@@ -624,7 +624,7 @@ declare function executeWorkflow(params: WorkflowParams, pluginConfig: any, reso
|
|
|
624
624
|
error?: undefined;
|
|
625
625
|
} | {
|
|
626
626
|
ok: boolean;
|
|
627
|
-
action: "
|
|
627
|
+
action: "author" | "recon" | "ship" | "implement" | "verify" | "setup" | "run";
|
|
628
628
|
state_path: string;
|
|
629
629
|
stage: any;
|
|
630
630
|
summary: string;
|