@riddledc/riddle-proof 0.7.205 → 0.7.207
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli.cjs +50 -1
- package/dist/cli.js +50 -1
- package/package.json +1 -1
package/dist/cli.cjs
CHANGED
|
@@ -17041,6 +17041,23 @@ function profileHasTerminalLossReceipt(receipts) {
|
|
|
17041
17041
|
return lastFlightLost || outOfBounds || ["over", "lost", "loss", "failed", "failure", "game_over", "gameover"].includes(status) || ["lost", "loss", "failed", "failure", "game_over", "gameover"].includes(outcome);
|
|
17042
17042
|
});
|
|
17043
17043
|
}
|
|
17044
|
+
function profileHasTerminalGameOverReceipt(receipts) {
|
|
17045
|
+
return receipts.some((receipt) => {
|
|
17046
|
+
const status = profileLowerSummaryValue(receipt, ["status", "state", "phase"]);
|
|
17047
|
+
const outcome = profileLowerSummaryValue(receipt, ["lastOutcome", "outcome", "terminalOutcome", "terminal", "result"]);
|
|
17048
|
+
const gameOver = setupReturnSummaryValue(receipt, ["gameOver", "game_over", "isGameOver"]) === true;
|
|
17049
|
+
const caught = setupReturnSummaryValue(receipt, ["caught", "playerCaught", "wasCaught"]) === true;
|
|
17050
|
+
const storedTo = cliString(receipt.return_stored_to) || "";
|
|
17051
|
+
const label = cliString(receipt.label) || "";
|
|
17052
|
+
const path7 = cliString(receipt.path) || cliString(receipt.function_name) || "";
|
|
17053
|
+
const slot = cliString(setupReturnSummaryValue(receipt, ["slot"])) || "";
|
|
17054
|
+
const haystack = `${storedTo} ${label} ${path7} ${slot}`.toLowerCase();
|
|
17055
|
+
const labelsTerminal = haystack.includes("gameover") || haystack.includes("game_over") || haystack.includes("game-over") || haystack.includes("game over") || haystack.includes("terminal") || haystack.includes("caught") || haystack.includes("catch");
|
|
17056
|
+
const terminalStatus = ["over", "game_over", "gameover"].includes(status) || ["game_over", "gameover"].includes(outcome);
|
|
17057
|
+
if (!labelsTerminal && !caught && !gameOver && !terminalStatus) return false;
|
|
17058
|
+
return gameOver || caught || terminalStatus;
|
|
17059
|
+
});
|
|
17060
|
+
}
|
|
17044
17061
|
function profileHasTerminalSuccessReceipt(receipts) {
|
|
17045
17062
|
return receipts.some((receipt) => {
|
|
17046
17063
|
const status = profileLowerSummaryValue(receipt, ["status", "state", "phase"]);
|
|
@@ -17206,11 +17223,26 @@ function profilePackReceiptStatus(result, metadata, receipt) {
|
|
|
17206
17223
|
const hasTextVisibility = profileHasPassedCheck(result, ["text_visible", "selector_text_visible", "selector_visible"]);
|
|
17207
17224
|
const hasTextAbsence = profileHasPassedCheck(result, ["text_absent", "selector_text_absent"]);
|
|
17208
17225
|
const hasMeasuredStateChange = hasNaturalInput || hasCanvasChange || valueReceipts.some((item) => setupReturnSummaryValue(item, ["changed"]) === true || setupReturnSummaryValue(item, ["nonWhiteDelta", "darkDelta", "pixelDelta", "movementDelta"]) !== void 0);
|
|
17226
|
+
const hasMovingPlayabilityReceipt = valueReceipts.some((item) => {
|
|
17227
|
+
const started = setupReturnSummaryValue(item, ["started", "runStarted", "playStarted"]) === true;
|
|
17228
|
+
const distance = cliFiniteNumber(setupReturnSummaryValue(item, ["distance", "distanceMeters", "travelDistance"]));
|
|
17229
|
+
const speed = cliFiniteNumber(setupReturnSummaryValue(item, ["speed", "velocity"]));
|
|
17230
|
+
return started && (distance !== void 0 && distance > 0 || speed !== void 0 && speed > 0);
|
|
17231
|
+
});
|
|
17232
|
+
const hasAcceptedPlayabilityInputReceipt = valueReceipts.some((item) => {
|
|
17233
|
+
const accepted = setupReturnSummaryValue(item, ["acceptedInput", "inputAccepted", "steeringAccepted", "touchInputAccepted"]) === true;
|
|
17234
|
+
const inputModality = (cliString(setupReturnSummaryValue(item, ["inputModality", "inputKind", "pointerType", "modality"])) || "").toLowerCase();
|
|
17235
|
+
const distance = cliFiniteNumber(setupReturnSummaryValue(item, ["distance", "distanceMeters", "travelDistance"]));
|
|
17236
|
+
const speed = cliFiniteNumber(setupReturnSummaryValue(item, ["speed", "velocity"]));
|
|
17237
|
+
const moving = distance !== void 0 && distance > 0 || speed !== void 0 && speed > 0;
|
|
17238
|
+
return accepted && Boolean(inputModality) && inputModality !== "none" && moving;
|
|
17239
|
+
});
|
|
17209
17240
|
const hasRouteExitAffordanceReceipt = profileHasRouteExitAffordanceReceipt(valueReceipts);
|
|
17210
17241
|
const hasCleanupBoundaryAffordanceReceipt = profileHasCleanupBoundaryAffordanceReceipt(valueReceipts);
|
|
17211
17242
|
const hasOfflineAudioMetricsReceipt = profileHasOfflineAudioMetricsReceipt(valueReceipts);
|
|
17212
17243
|
const hasActiveRouteLocalProofReceipt = profileHasActiveRouteLocalProofReceipt(valueReceipts);
|
|
17213
17244
|
const hasTerminalLossReceipt = profileHasTerminalLossReceipt(valueReceipts);
|
|
17245
|
+
const hasTerminalGameOverReceipt = profileHasTerminalGameOverReceipt(valueReceipts);
|
|
17214
17246
|
const hasTerminalSuccessReceipt = profileHasTerminalSuccessReceipt(valueReceipts);
|
|
17215
17247
|
const hasControlledFailureLaunchReceipt = profileHasControlledLaunchReceipt(valueReceipts, "failure");
|
|
17216
17248
|
const hasControlledSuccessLaunchReceipt = profileHasControlledLaunchReceipt(valueReceipts, "success");
|
|
@@ -17251,7 +17283,7 @@ function profilePackReceiptStatus(result, metadata, receipt) {
|
|
|
17251
17283
|
"tap_until receipt missing"
|
|
17252
17284
|
);
|
|
17253
17285
|
}
|
|
17254
|
-
if (text.includes("active") && (text.includes("route-local") || text.includes("route local")) && (text.includes("proof helper") || text.includes("proof api") || text.includes("proof state"))) {
|
|
17286
|
+
if (text.includes("active") && (text.includes("route-local") || text.includes("route local")) && (text.includes("proof helper") || text.includes("proof api") || text.includes("proof state") || text.includes("proof globals") || text.includes("playability state"))) {
|
|
17255
17287
|
return profileReceiptSignalStatus(
|
|
17256
17288
|
hasActiveRouteLocalProofReceipt,
|
|
17257
17289
|
"active route-local proof receipt present",
|
|
@@ -17299,6 +17331,13 @@ function profilePackReceiptStatus(result, metadata, receipt) {
|
|
|
17299
17331
|
"terminal loss receipt missing"
|
|
17300
17332
|
);
|
|
17301
17333
|
}
|
|
17334
|
+
if (text.includes("terminal") && (text.includes("game-over") || text.includes("game over") || text.includes("gameover") || text.includes("caught") || text.includes("catch"))) {
|
|
17335
|
+
return profileReceiptSignalStatus(
|
|
17336
|
+
hasTerminalGameOverReceipt,
|
|
17337
|
+
"terminal game-over receipt present",
|
|
17338
|
+
"terminal game-over receipt missing"
|
|
17339
|
+
);
|
|
17340
|
+
}
|
|
17302
17341
|
if (text.includes("success") && text.includes("terminal")) {
|
|
17303
17342
|
return profileReceiptSignalStatus(
|
|
17304
17343
|
hasTerminalSuccessReceipt,
|
|
@@ -17418,6 +17457,16 @@ function profilePackReceiptStatus(result, metadata, receipt) {
|
|
|
17418
17457
|
needsBoundaryScreenshots ? "multiple screenshots missing" : "screenshot evidence missing"
|
|
17419
17458
|
);
|
|
17420
17459
|
}
|
|
17460
|
+
if (text.includes("input") && (text.includes("playability") || text.includes("moving") || text.includes("steering") || text.includes("real") || text.includes("natural"))) {
|
|
17461
|
+
const needsAcceptedInput = text.includes("steering") || text.includes("accepted");
|
|
17462
|
+
const hasInputDispatch = inputDispatchCount > 0 || hasNaturalInput;
|
|
17463
|
+
const hasInputStateReceipt = needsAcceptedInput ? hasAcceptedPlayabilityInputReceipt : hasAcceptedPlayabilityInputReceipt || hasMovingPlayabilityReceipt;
|
|
17464
|
+
return profileReceiptSignalStatus(
|
|
17465
|
+
hasInputDispatch && hasInputStateReceipt,
|
|
17466
|
+
needsAcceptedInput ? "accepted playability input receipt present" : "playability input receipt present",
|
|
17467
|
+
needsAcceptedInput ? "accepted playability input receipt missing" : "playability input receipt missing"
|
|
17468
|
+
);
|
|
17469
|
+
}
|
|
17421
17470
|
if (text.includes("input dispatch") || text.includes("pointer") || text.includes("touch") || text.includes("key event") || text.includes("trusted-event")) {
|
|
17422
17471
|
return profileReceiptSignalStatus(inputDispatchCount > 0 || hasNaturalInput, "input dispatch evidence present", "input dispatch evidence missing");
|
|
17423
17472
|
}
|
package/dist/cli.js
CHANGED
|
@@ -866,6 +866,23 @@ function profileHasTerminalLossReceipt(receipts) {
|
|
|
866
866
|
return lastFlightLost || outOfBounds || ["over", "lost", "loss", "failed", "failure", "game_over", "gameover"].includes(status) || ["lost", "loss", "failed", "failure", "game_over", "gameover"].includes(outcome);
|
|
867
867
|
});
|
|
868
868
|
}
|
|
869
|
+
function profileHasTerminalGameOverReceipt(receipts) {
|
|
870
|
+
return receipts.some((receipt) => {
|
|
871
|
+
const status = profileLowerSummaryValue(receipt, ["status", "state", "phase"]);
|
|
872
|
+
const outcome = profileLowerSummaryValue(receipt, ["lastOutcome", "outcome", "terminalOutcome", "terminal", "result"]);
|
|
873
|
+
const gameOver = setupReturnSummaryValue(receipt, ["gameOver", "game_over", "isGameOver"]) === true;
|
|
874
|
+
const caught = setupReturnSummaryValue(receipt, ["caught", "playerCaught", "wasCaught"]) === true;
|
|
875
|
+
const storedTo = cliString(receipt.return_stored_to) || "";
|
|
876
|
+
const label = cliString(receipt.label) || "";
|
|
877
|
+
const path2 = cliString(receipt.path) || cliString(receipt.function_name) || "";
|
|
878
|
+
const slot = cliString(setupReturnSummaryValue(receipt, ["slot"])) || "";
|
|
879
|
+
const haystack = `${storedTo} ${label} ${path2} ${slot}`.toLowerCase();
|
|
880
|
+
const labelsTerminal = haystack.includes("gameover") || haystack.includes("game_over") || haystack.includes("game-over") || haystack.includes("game over") || haystack.includes("terminal") || haystack.includes("caught") || haystack.includes("catch");
|
|
881
|
+
const terminalStatus = ["over", "game_over", "gameover"].includes(status) || ["game_over", "gameover"].includes(outcome);
|
|
882
|
+
if (!labelsTerminal && !caught && !gameOver && !terminalStatus) return false;
|
|
883
|
+
return gameOver || caught || terminalStatus;
|
|
884
|
+
});
|
|
885
|
+
}
|
|
869
886
|
function profileHasTerminalSuccessReceipt(receipts) {
|
|
870
887
|
return receipts.some((receipt) => {
|
|
871
888
|
const status = profileLowerSummaryValue(receipt, ["status", "state", "phase"]);
|
|
@@ -1031,11 +1048,26 @@ function profilePackReceiptStatus(result, metadata, receipt) {
|
|
|
1031
1048
|
const hasTextVisibility = profileHasPassedCheck(result, ["text_visible", "selector_text_visible", "selector_visible"]);
|
|
1032
1049
|
const hasTextAbsence = profileHasPassedCheck(result, ["text_absent", "selector_text_absent"]);
|
|
1033
1050
|
const hasMeasuredStateChange = hasNaturalInput || hasCanvasChange || valueReceipts.some((item) => setupReturnSummaryValue(item, ["changed"]) === true || setupReturnSummaryValue(item, ["nonWhiteDelta", "darkDelta", "pixelDelta", "movementDelta"]) !== void 0);
|
|
1051
|
+
const hasMovingPlayabilityReceipt = valueReceipts.some((item) => {
|
|
1052
|
+
const started = setupReturnSummaryValue(item, ["started", "runStarted", "playStarted"]) === true;
|
|
1053
|
+
const distance = cliFiniteNumber(setupReturnSummaryValue(item, ["distance", "distanceMeters", "travelDistance"]));
|
|
1054
|
+
const speed = cliFiniteNumber(setupReturnSummaryValue(item, ["speed", "velocity"]));
|
|
1055
|
+
return started && (distance !== void 0 && distance > 0 || speed !== void 0 && speed > 0);
|
|
1056
|
+
});
|
|
1057
|
+
const hasAcceptedPlayabilityInputReceipt = valueReceipts.some((item) => {
|
|
1058
|
+
const accepted = setupReturnSummaryValue(item, ["acceptedInput", "inputAccepted", "steeringAccepted", "touchInputAccepted"]) === true;
|
|
1059
|
+
const inputModality = (cliString(setupReturnSummaryValue(item, ["inputModality", "inputKind", "pointerType", "modality"])) || "").toLowerCase();
|
|
1060
|
+
const distance = cliFiniteNumber(setupReturnSummaryValue(item, ["distance", "distanceMeters", "travelDistance"]));
|
|
1061
|
+
const speed = cliFiniteNumber(setupReturnSummaryValue(item, ["speed", "velocity"]));
|
|
1062
|
+
const moving = distance !== void 0 && distance > 0 || speed !== void 0 && speed > 0;
|
|
1063
|
+
return accepted && Boolean(inputModality) && inputModality !== "none" && moving;
|
|
1064
|
+
});
|
|
1034
1065
|
const hasRouteExitAffordanceReceipt = profileHasRouteExitAffordanceReceipt(valueReceipts);
|
|
1035
1066
|
const hasCleanupBoundaryAffordanceReceipt = profileHasCleanupBoundaryAffordanceReceipt(valueReceipts);
|
|
1036
1067
|
const hasOfflineAudioMetricsReceipt = profileHasOfflineAudioMetricsReceipt(valueReceipts);
|
|
1037
1068
|
const hasActiveRouteLocalProofReceipt = profileHasActiveRouteLocalProofReceipt(valueReceipts);
|
|
1038
1069
|
const hasTerminalLossReceipt = profileHasTerminalLossReceipt(valueReceipts);
|
|
1070
|
+
const hasTerminalGameOverReceipt = profileHasTerminalGameOverReceipt(valueReceipts);
|
|
1039
1071
|
const hasTerminalSuccessReceipt = profileHasTerminalSuccessReceipt(valueReceipts);
|
|
1040
1072
|
const hasControlledFailureLaunchReceipt = profileHasControlledLaunchReceipt(valueReceipts, "failure");
|
|
1041
1073
|
const hasControlledSuccessLaunchReceipt = profileHasControlledLaunchReceipt(valueReceipts, "success");
|
|
@@ -1076,7 +1108,7 @@ function profilePackReceiptStatus(result, metadata, receipt) {
|
|
|
1076
1108
|
"tap_until receipt missing"
|
|
1077
1109
|
);
|
|
1078
1110
|
}
|
|
1079
|
-
if (text.includes("active") && (text.includes("route-local") || text.includes("route local")) && (text.includes("proof helper") || text.includes("proof api") || text.includes("proof state"))) {
|
|
1111
|
+
if (text.includes("active") && (text.includes("route-local") || text.includes("route local")) && (text.includes("proof helper") || text.includes("proof api") || text.includes("proof state") || text.includes("proof globals") || text.includes("playability state"))) {
|
|
1080
1112
|
return profileReceiptSignalStatus(
|
|
1081
1113
|
hasActiveRouteLocalProofReceipt,
|
|
1082
1114
|
"active route-local proof receipt present",
|
|
@@ -1124,6 +1156,13 @@ function profilePackReceiptStatus(result, metadata, receipt) {
|
|
|
1124
1156
|
"terminal loss receipt missing"
|
|
1125
1157
|
);
|
|
1126
1158
|
}
|
|
1159
|
+
if (text.includes("terminal") && (text.includes("game-over") || text.includes("game over") || text.includes("gameover") || text.includes("caught") || text.includes("catch"))) {
|
|
1160
|
+
return profileReceiptSignalStatus(
|
|
1161
|
+
hasTerminalGameOverReceipt,
|
|
1162
|
+
"terminal game-over receipt present",
|
|
1163
|
+
"terminal game-over receipt missing"
|
|
1164
|
+
);
|
|
1165
|
+
}
|
|
1127
1166
|
if (text.includes("success") && text.includes("terminal")) {
|
|
1128
1167
|
return profileReceiptSignalStatus(
|
|
1129
1168
|
hasTerminalSuccessReceipt,
|
|
@@ -1243,6 +1282,16 @@ function profilePackReceiptStatus(result, metadata, receipt) {
|
|
|
1243
1282
|
needsBoundaryScreenshots ? "multiple screenshots missing" : "screenshot evidence missing"
|
|
1244
1283
|
);
|
|
1245
1284
|
}
|
|
1285
|
+
if (text.includes("input") && (text.includes("playability") || text.includes("moving") || text.includes("steering") || text.includes("real") || text.includes("natural"))) {
|
|
1286
|
+
const needsAcceptedInput = text.includes("steering") || text.includes("accepted");
|
|
1287
|
+
const hasInputDispatch = inputDispatchCount > 0 || hasNaturalInput;
|
|
1288
|
+
const hasInputStateReceipt = needsAcceptedInput ? hasAcceptedPlayabilityInputReceipt : hasAcceptedPlayabilityInputReceipt || hasMovingPlayabilityReceipt;
|
|
1289
|
+
return profileReceiptSignalStatus(
|
|
1290
|
+
hasInputDispatch && hasInputStateReceipt,
|
|
1291
|
+
needsAcceptedInput ? "accepted playability input receipt present" : "playability input receipt present",
|
|
1292
|
+
needsAcceptedInput ? "accepted playability input receipt missing" : "playability input receipt missing"
|
|
1293
|
+
);
|
|
1294
|
+
}
|
|
1246
1295
|
if (text.includes("input dispatch") || text.includes("pointer") || text.includes("touch") || text.includes("key event") || text.includes("trusted-event")) {
|
|
1247
1296
|
return profileReceiptSignalStatus(inputDispatchCount > 0 || hasNaturalInput, "input dispatch evidence present", "input dispatch evidence missing");
|
|
1248
1297
|
}
|