@riddledc/riddle-proof 0.7.14 → 0.7.15

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -314,7 +314,8 @@ const catches = createBasicGameplayCatchRecords(assessment, evidence);
314
314
  ```
315
315
 
316
316
  The package owns generic contracts such as `state_path`, `state_call`,
317
- `property_path`, `number_unchanged`, held-key, canvas-click,
317
+ `property_path`, `after_cleanup` terminal-before-restart evidence,
318
+ `number_unchanged`, held-key, canvas-click,
318
319
  canvas-pointer-down/move/up, window-call/evaluate action type constants, and
319
320
  JSON-safe text compaction. Site-specific manifests, selectors, and
320
321
  deterministic game scripts should stay in the caller.
@@ -98,6 +98,7 @@ var PHASE_SCREENSHOT_SUFFIXES = {
98
98
  initial: "before",
99
99
  after_action: "after",
100
100
  after_continue: "after-continue",
101
+ after_cleanup: "after-cleanup",
101
102
  after_restart: "after-restart",
102
103
  revisit: "revisit"
103
104
  };
@@ -153,20 +154,24 @@ function assessBasicGameplayRoute(route, options = {}) {
153
154
  const timed = route.timed || {};
154
155
  const afterAction = route.after_action || route.afterAction || {};
155
156
  const afterContinue = route.after_continue || route.afterContinue || {};
157
+ const afterCleanup = route.after_cleanup || route.afterCleanup || {};
156
158
  const mobile = route.mobile || {};
157
159
  const timedChange = changed(initial, timed);
158
160
  const actionChange = changed(timed, afterAction);
159
161
  const continuedActionChange = changed(afterAction, afterContinue);
162
+ const cleanupBase = route.after_continue || route.afterContinue ? afterContinue : afterAction;
163
+ const cleanupActionChange = changed(cleanupBase, afterCleanup);
160
164
  const surfaceVisible = numberValue(initial.visible_canvas_count) > 0 || numberValue(initial.enabled_clickable_count) > 0 || numberValue(initial.visible_large_node_count) >= minSurfaceLargeNodes;
161
165
  const actionResults = listValue(route.action_results || route.actionResults);
162
166
  const continuedActionResults = listValue(route.continued_action_results || route.continuedActionResults);
167
+ const continuedCleanupActionResults = listValue(route.continued_cleanup_action_results || route.continuedCleanupActionResults);
163
168
  const restartActionResults = listValue(route.restart_action_results || route.restartActionResults);
164
169
  const primaryActionResults = [...actionResults, ...continuedActionResults];
165
170
  const actionAttempted = primaryActionResults.some((result) => result.ok === true && result.action !== "wait");
166
- const actionFailed = primaryActionResults.some((result) => result.ok === false && result.action !== "wait");
171
+ const actionFailed = [...primaryActionResults, ...continuedCleanupActionResults].some((result) => result.ok === false && result.action !== "wait");
167
172
  const restartActionAttempted = restartActionResults.some((result) => result.ok === true && result.action !== "wait");
168
- const stateChangeObserved = actionChange.changed || continuedActionChange.changed || timedChange.changed;
169
- const resetPathPresent = numberValue(initial.reset_control_count) > 0 || numberValue(timed.reset_control_count) > 0 || numberValue(afterAction.reset_control_count) > 0 || restartActionAttempted;
173
+ const stateChangeObserved = actionChange.changed || continuedActionChange.changed || cleanupActionChange.changed || timedChange.changed;
174
+ const resetPathPresent = numberValue(initial.reset_control_count) > 0 || numberValue(timed.reset_control_count) > 0 || numberValue(afterAction.reset_control_count) > 0 || numberValue(afterContinue.reset_control_count) > 0 || numberValue(afterCleanup.reset_control_count) > 0 || restartActionAttempted;
170
175
  const responseStatus = firstNumber(route.http_status, route.response_status, route.status);
171
176
  const pageErrorCount = numberValue(route.page_error_count);
172
177
  const consoleErrorCount = numberValue(route.console_error_count);
@@ -209,7 +214,8 @@ function assessBasicGameplayRoute(route, options = {}) {
209
214
  diffs: {
210
215
  timed: timedChange,
211
216
  after_action: actionChange,
212
- after_continue: continuedActionChange
217
+ after_continue: continuedActionChange,
218
+ after_cleanup: cleanupActionChange
213
219
  }
214
220
  };
215
221
  }
@@ -412,6 +418,7 @@ function createBasicGameplayCatchRecords(assessment, evidence) {
412
418
  for (const [group, phase] of [
413
419
  ["action_results", "after_action"],
414
420
  ["continued_action_results", "after_continue"],
421
+ ["continued_cleanup_action_results", "after_cleanup"],
415
422
  ["restart_action_results", "after_restart"]
416
423
  ]) {
417
424
  for (const actionResult of listValue(route[group])) {
@@ -569,7 +576,7 @@ function findBasicGameplayEvidence(value, seen, depth = 0) {
569
576
  return null;
570
577
  }
571
578
  function hasRouteShape(record) {
572
- return Boolean(record && (record.initial || record.after_action || record.afterAction || record.action_results || record.actionResults) && (record.path || record.name));
579
+ return Boolean(record && (record.initial || record.after_action || record.afterAction || record.after_cleanup || record.afterCleanup || record.action_results || record.actionResults || record.continued_cleanup_action_results || record.continuedCleanupActionResults) && (record.path || record.name));
573
580
  }
574
581
  function changed(before, after) {
575
582
  const bodyTextChanged = Boolean(before.body_text_hash && after.body_text_hash && before.body_text_hash !== after.body_text_hash);
@@ -120,11 +120,15 @@ interface RiddleProofBasicGameplayRouteEvidence {
120
120
  afterAction?: BasicGameplaySnapshot;
121
121
  after_continue?: BasicGameplaySnapshot;
122
122
  afterContinue?: BasicGameplaySnapshot;
123
+ after_cleanup?: BasicGameplaySnapshot;
124
+ afterCleanup?: BasicGameplaySnapshot;
123
125
  mobile?: BasicGameplayMobileEvidence;
124
126
  action_results?: BasicGameplayActionResult[];
125
127
  actionResults?: BasicGameplayActionResult[];
126
128
  continued_action_results?: BasicGameplayActionResult[];
127
129
  continuedActionResults?: BasicGameplayActionResult[];
130
+ continued_cleanup_action_results?: BasicGameplayActionResult[];
131
+ continuedCleanupActionResults?: BasicGameplayActionResult[];
128
132
  restart_action_results?: BasicGameplayActionResult[];
129
133
  restartActionResults?: BasicGameplayActionResult[];
130
134
  progression_checks?: BasicGameplayProgressionCheck[];
@@ -176,6 +180,7 @@ interface RiddleProofBasicGameplayRouteAssessment {
176
180
  timed: BasicGameplayChangeSummary;
177
181
  after_action: BasicGameplayChangeSummary;
178
182
  after_continue?: BasicGameplayChangeSummary;
183
+ after_cleanup?: BasicGameplayChangeSummary;
179
184
  };
180
185
  }
181
186
  interface RiddleProofBasicGameplayAssessment {
@@ -120,11 +120,15 @@ interface RiddleProofBasicGameplayRouteEvidence {
120
120
  afterAction?: BasicGameplaySnapshot;
121
121
  after_continue?: BasicGameplaySnapshot;
122
122
  afterContinue?: BasicGameplaySnapshot;
123
+ after_cleanup?: BasicGameplaySnapshot;
124
+ afterCleanup?: BasicGameplaySnapshot;
123
125
  mobile?: BasicGameplayMobileEvidence;
124
126
  action_results?: BasicGameplayActionResult[];
125
127
  actionResults?: BasicGameplayActionResult[];
126
128
  continued_action_results?: BasicGameplayActionResult[];
127
129
  continuedActionResults?: BasicGameplayActionResult[];
130
+ continued_cleanup_action_results?: BasicGameplayActionResult[];
131
+ continuedCleanupActionResults?: BasicGameplayActionResult[];
128
132
  restart_action_results?: BasicGameplayActionResult[];
129
133
  restartActionResults?: BasicGameplayActionResult[];
130
134
  progression_checks?: BasicGameplayProgressionCheck[];
@@ -176,6 +180,7 @@ interface RiddleProofBasicGameplayRouteAssessment {
176
180
  timed: BasicGameplayChangeSummary;
177
181
  after_action: BasicGameplayChangeSummary;
178
182
  after_continue?: BasicGameplayChangeSummary;
183
+ after_cleanup?: BasicGameplayChangeSummary;
179
184
  };
180
185
  }
181
186
  interface RiddleProofBasicGameplayAssessment {
@@ -16,7 +16,7 @@ import {
16
16
  extractBasicGameplayEvidence,
17
17
  resolveBasicGameplayProgressionCheckWithArtifactScreenshots,
18
18
  sanitizeBasicGameplayJsonString
19
- } from "./chunk-4KTD7CWM.js";
19
+ } from "./chunk-JDM244L7.js";
20
20
  export {
21
21
  BASIC_GAMEPLAY_ACTION_TYPES,
22
22
  BASIC_GAMEPLAY_PROGRESS_CHECK_TYPES,
@@ -58,6 +58,7 @@ var PHASE_SCREENSHOT_SUFFIXES = {
58
58
  initial: "before",
59
59
  after_action: "after",
60
60
  after_continue: "after-continue",
61
+ after_cleanup: "after-cleanup",
61
62
  after_restart: "after-restart",
62
63
  revisit: "revisit"
63
64
  };
@@ -113,20 +114,24 @@ function assessBasicGameplayRoute(route, options = {}) {
113
114
  const timed = route.timed || {};
114
115
  const afterAction = route.after_action || route.afterAction || {};
115
116
  const afterContinue = route.after_continue || route.afterContinue || {};
117
+ const afterCleanup = route.after_cleanup || route.afterCleanup || {};
116
118
  const mobile = route.mobile || {};
117
119
  const timedChange = changed(initial, timed);
118
120
  const actionChange = changed(timed, afterAction);
119
121
  const continuedActionChange = changed(afterAction, afterContinue);
122
+ const cleanupBase = route.after_continue || route.afterContinue ? afterContinue : afterAction;
123
+ const cleanupActionChange = changed(cleanupBase, afterCleanup);
120
124
  const surfaceVisible = numberValue(initial.visible_canvas_count) > 0 || numberValue(initial.enabled_clickable_count) > 0 || numberValue(initial.visible_large_node_count) >= minSurfaceLargeNodes;
121
125
  const actionResults = listValue(route.action_results || route.actionResults);
122
126
  const continuedActionResults = listValue(route.continued_action_results || route.continuedActionResults);
127
+ const continuedCleanupActionResults = listValue(route.continued_cleanup_action_results || route.continuedCleanupActionResults);
123
128
  const restartActionResults = listValue(route.restart_action_results || route.restartActionResults);
124
129
  const primaryActionResults = [...actionResults, ...continuedActionResults];
125
130
  const actionAttempted = primaryActionResults.some((result) => result.ok === true && result.action !== "wait");
126
- const actionFailed = primaryActionResults.some((result) => result.ok === false && result.action !== "wait");
131
+ const actionFailed = [...primaryActionResults, ...continuedCleanupActionResults].some((result) => result.ok === false && result.action !== "wait");
127
132
  const restartActionAttempted = restartActionResults.some((result) => result.ok === true && result.action !== "wait");
128
- const stateChangeObserved = actionChange.changed || continuedActionChange.changed || timedChange.changed;
129
- const resetPathPresent = numberValue(initial.reset_control_count) > 0 || numberValue(timed.reset_control_count) > 0 || numberValue(afterAction.reset_control_count) > 0 || restartActionAttempted;
133
+ const stateChangeObserved = actionChange.changed || continuedActionChange.changed || cleanupActionChange.changed || timedChange.changed;
134
+ const resetPathPresent = numberValue(initial.reset_control_count) > 0 || numberValue(timed.reset_control_count) > 0 || numberValue(afterAction.reset_control_count) > 0 || numberValue(afterContinue.reset_control_count) > 0 || numberValue(afterCleanup.reset_control_count) > 0 || restartActionAttempted;
130
135
  const responseStatus = firstNumber(route.http_status, route.response_status, route.status);
131
136
  const pageErrorCount = numberValue(route.page_error_count);
132
137
  const consoleErrorCount = numberValue(route.console_error_count);
@@ -169,7 +174,8 @@ function assessBasicGameplayRoute(route, options = {}) {
169
174
  diffs: {
170
175
  timed: timedChange,
171
176
  after_action: actionChange,
172
- after_continue: continuedActionChange
177
+ after_continue: continuedActionChange,
178
+ after_cleanup: cleanupActionChange
173
179
  }
174
180
  };
175
181
  }
@@ -372,6 +378,7 @@ function createBasicGameplayCatchRecords(assessment, evidence) {
372
378
  for (const [group, phase] of [
373
379
  ["action_results", "after_action"],
374
380
  ["continued_action_results", "after_continue"],
381
+ ["continued_cleanup_action_results", "after_cleanup"],
375
382
  ["restart_action_results", "after_restart"]
376
383
  ]) {
377
384
  for (const actionResult of listValue(route[group])) {
@@ -529,7 +536,7 @@ function findBasicGameplayEvidence(value, seen, depth = 0) {
529
536
  return null;
530
537
  }
531
538
  function hasRouteShape(record) {
532
- return Boolean(record && (record.initial || record.after_action || record.afterAction || record.action_results || record.actionResults) && (record.path || record.name));
539
+ return Boolean(record && (record.initial || record.after_action || record.afterAction || record.after_cleanup || record.afterCleanup || record.action_results || record.actionResults || record.continued_cleanup_action_results || record.continuedCleanupActionResults) && (record.path || record.name));
533
540
  }
534
541
  function changed(before, after) {
535
542
  const bodyTextChanged = Boolean(before.body_text_hash && after.body_text_hash && before.body_text_hash !== after.body_text_hash);
package/dist/index.cjs CHANGED
@@ -7867,6 +7867,7 @@ var PHASE_SCREENSHOT_SUFFIXES = {
7867
7867
  initial: "before",
7868
7868
  after_action: "after",
7869
7869
  after_continue: "after-continue",
7870
+ after_cleanup: "after-cleanup",
7870
7871
  after_restart: "after-restart",
7871
7872
  revisit: "revisit"
7872
7873
  };
@@ -7922,20 +7923,24 @@ function assessBasicGameplayRoute(route, options = {}) {
7922
7923
  const timed = route.timed || {};
7923
7924
  const afterAction = route.after_action || route.afterAction || {};
7924
7925
  const afterContinue = route.after_continue || route.afterContinue || {};
7926
+ const afterCleanup = route.after_cleanup || route.afterCleanup || {};
7925
7927
  const mobile = route.mobile || {};
7926
7928
  const timedChange = changed(initial, timed);
7927
7929
  const actionChange = changed(timed, afterAction);
7928
7930
  const continuedActionChange = changed(afterAction, afterContinue);
7931
+ const cleanupBase = route.after_continue || route.afterContinue ? afterContinue : afterAction;
7932
+ const cleanupActionChange = changed(cleanupBase, afterCleanup);
7929
7933
  const surfaceVisible = numberValue2(initial.visible_canvas_count) > 0 || numberValue2(initial.enabled_clickable_count) > 0 || numberValue2(initial.visible_large_node_count) >= minSurfaceLargeNodes;
7930
7934
  const actionResults = listValue2(route.action_results || route.actionResults);
7931
7935
  const continuedActionResults = listValue2(route.continued_action_results || route.continuedActionResults);
7936
+ const continuedCleanupActionResults = listValue2(route.continued_cleanup_action_results || route.continuedCleanupActionResults);
7932
7937
  const restartActionResults = listValue2(route.restart_action_results || route.restartActionResults);
7933
7938
  const primaryActionResults = [...actionResults, ...continuedActionResults];
7934
7939
  const actionAttempted = primaryActionResults.some((result) => result.ok === true && result.action !== "wait");
7935
- const actionFailed = primaryActionResults.some((result) => result.ok === false && result.action !== "wait");
7940
+ const actionFailed = [...primaryActionResults, ...continuedCleanupActionResults].some((result) => result.ok === false && result.action !== "wait");
7936
7941
  const restartActionAttempted = restartActionResults.some((result) => result.ok === true && result.action !== "wait");
7937
- const stateChangeObserved = actionChange.changed || continuedActionChange.changed || timedChange.changed;
7938
- const resetPathPresent = numberValue2(initial.reset_control_count) > 0 || numberValue2(timed.reset_control_count) > 0 || numberValue2(afterAction.reset_control_count) > 0 || restartActionAttempted;
7942
+ const stateChangeObserved = actionChange.changed || continuedActionChange.changed || cleanupActionChange.changed || timedChange.changed;
7943
+ const resetPathPresent = numberValue2(initial.reset_control_count) > 0 || numberValue2(timed.reset_control_count) > 0 || numberValue2(afterAction.reset_control_count) > 0 || numberValue2(afterContinue.reset_control_count) > 0 || numberValue2(afterCleanup.reset_control_count) > 0 || restartActionAttempted;
7939
7944
  const responseStatus = firstNumber(route.http_status, route.response_status, route.status);
7940
7945
  const pageErrorCount = numberValue2(route.page_error_count);
7941
7946
  const consoleErrorCount = numberValue2(route.console_error_count);
@@ -7978,7 +7983,8 @@ function assessBasicGameplayRoute(route, options = {}) {
7978
7983
  diffs: {
7979
7984
  timed: timedChange,
7980
7985
  after_action: actionChange,
7981
- after_continue: continuedActionChange
7986
+ after_continue: continuedActionChange,
7987
+ after_cleanup: cleanupActionChange
7982
7988
  }
7983
7989
  };
7984
7990
  }
@@ -8181,6 +8187,7 @@ function createBasicGameplayCatchRecords(assessment, evidence) {
8181
8187
  for (const [group, phase] of [
8182
8188
  ["action_results", "after_action"],
8183
8189
  ["continued_action_results", "after_continue"],
8190
+ ["continued_cleanup_action_results", "after_cleanup"],
8184
8191
  ["restart_action_results", "after_restart"]
8185
8192
  ]) {
8186
8193
  for (const actionResult of listValue2(route[group])) {
@@ -8338,7 +8345,7 @@ function findBasicGameplayEvidence(value, seen, depth = 0) {
8338
8345
  return null;
8339
8346
  }
8340
8347
  function hasRouteShape(record) {
8341
- return Boolean(record && (record.initial || record.after_action || record.afterAction || record.action_results || record.actionResults) && (record.path || record.name));
8348
+ return Boolean(record && (record.initial || record.after_action || record.afterAction || record.after_cleanup || record.afterCleanup || record.action_results || record.actionResults || record.continued_cleanup_action_results || record.continuedCleanupActionResults) && (record.path || record.name));
8342
8349
  }
8343
8350
  function changed(before, after) {
8344
8351
  const bodyTextChanged = Boolean(before.body_text_hash && after.body_text_hash && before.body_text_hash !== after.body_text_hash);
package/dist/index.js CHANGED
@@ -36,7 +36,7 @@ import {
36
36
  extractBasicGameplayEvidence,
37
37
  resolveBasicGameplayProgressionCheckWithArtifactScreenshots,
38
38
  sanitizeBasicGameplayJsonString
39
- } from "./chunk-4KTD7CWM.js";
39
+ } from "./chunk-JDM244L7.js";
40
40
  import {
41
41
  RIDDLE_PROOF_PROFILE_CHECK_TYPES,
42
42
  RIDDLE_PROOF_PROFILE_EVIDENCE_VERSION,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@riddledc/riddle-proof",
3
- "version": "0.7.14",
3
+ "version": "0.7.15",
4
4
  "description": "Reusable Riddle Proof contracts and helpers for evidence-backed agent changes.",
5
5
  "license": "MIT",
6
6
  "author": "RiddleDC",