rea-agents 3.1.0 → 3.2.0

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.
Files changed (590) hide show
  1. package/README.md +72 -95
  2. package/bridge/ghidra/ReaGhidraBridge.java +609 -841
  3. package/bridge/hopper_bridge.py +99 -344
  4. package/dist/application/AbortablePromise.js +6 -3
  5. package/dist/application/AnalysisSnapshotCache.js +0 -1
  6. package/dist/application/AnalysisSnapshotFiles.js +7 -7
  7. package/dist/application/AndroidApplicationService.js +1 -1
  8. package/dist/application/AppleApplicationService.js +1 -1
  9. package/dist/application/ArtifactExtraction.js +35 -54
  10. package/dist/application/ArtifactExtractionDestination.js +17 -0
  11. package/dist/application/ArtifactGraphConstruction.js +2 -17
  12. package/dist/application/ArtifactInventory/classify.js +2 -6
  13. package/dist/application/ArtifactInventory/hash.js +2 -20
  14. package/dist/application/ArtifactInventory/scanCanonical.js +8 -12
  15. package/dist/application/ArtifactInventory/scanReader.js +69 -51
  16. package/dist/application/ArtifactInventory.js +6 -14
  17. package/dist/application/AuthorizedArtifactInventory.js +3 -13
  18. package/dist/application/BinarySession.js +41 -13
  19. package/dist/application/BinarySessionComposition.js +0 -11
  20. package/dist/application/BinarySessionOpen.js +2 -1
  21. package/dist/application/BinarySessionRecords.js +5 -93
  22. package/dist/application/BinarySessionStatus.js +5 -16
  23. package/dist/application/BinaryTargetResolver.js +216 -0
  24. package/dist/application/BrowserEvidence.js +42 -58
  25. package/dist/application/BrowserObservationService.js +3 -6
  26. package/dist/application/BrowserScenarioCaptureService.js +3 -6
  27. package/dist/application/BrowserScenarioEvidence.js +3 -3
  28. package/dist/application/CallPathTracing.js +2 -36
  29. package/dist/application/CapabilityInventory.js +10 -15
  30. package/dist/application/ClientConfigurationDocument.js +27 -0
  31. package/dist/application/ClientRegistrationStatus.js +16 -13
  32. package/dist/application/CommandShimReplay.js +14 -1
  33. package/dist/application/DirectAnalysis.js +22 -46
  34. package/dist/application/DirectAnalysisStatus.js +5 -61
  35. package/dist/application/Doctor.js +11 -32
  36. package/dist/application/DoctorDiagnostics.js +1 -2
  37. package/dist/application/DoctorScope.js +1 -1
  38. package/dist/application/ElectronActiveEvidence.js +3 -8
  39. package/dist/application/ElectronActiveObservationService.js +3 -6
  40. package/dist/application/ElectronBoundaryAnalysis.js +7 -8
  41. package/dist/application/ElectronBoundaryGraphContext.js +1 -1
  42. package/dist/application/ElectronBoundaryGraphIpc.js +3 -3
  43. package/dist/application/ElectronBoundaryGraphNative.js +1 -2
  44. package/dist/application/ElectronBoundaryGraphWindows.js +6 -8
  45. package/dist/application/ElectronEvidence.js +4 -7
  46. package/dist/application/ElectronObservationService.js +5 -9
  47. package/dist/application/EnhancedLiteralTracing.js +42 -65
  48. package/dist/application/EnhancedTools.js +76 -44
  49. package/dist/application/EvidenceBundleCommands.js +11 -11
  50. package/dist/application/EvidenceBundleFiles.js +9 -15
  51. package/dist/application/EvidenceLedger.js +6 -41
  52. package/dist/application/FilesystemSnapshot.js +2 -3
  53. package/dist/application/InterfaceBuilderAnalysis.js +266 -0
  54. package/dist/application/InventoryProjectionEvidence.js +4 -2
  55. package/dist/application/InvestigationProviders.js +1 -1
  56. package/dist/application/JavaScriptApplicationEvidence.js +2 -5
  57. package/dist/application/JavaScriptApplicationEvidenceGraph.js +6 -10
  58. package/dist/application/JavaScriptApplicationService.js +6 -29
  59. package/dist/application/JavaScriptApplicationWorkflowEvidence.js +5 -5
  60. package/dist/application/JavaScriptApplicationWorkflowService.js +0 -8
  61. package/dist/application/JavaScriptArtifactAnalysis.js +38 -127
  62. package/dist/application/JavaScriptArtifactFiles.js +67 -107
  63. package/dist/application/JavaScriptArtifactGraphAccumulator.js +0 -7
  64. package/dist/application/JavaScriptArtifactGraphBuilder.js +7 -58
  65. package/dist/application/JavaScriptArtifactGraphBundlers.js +1 -6
  66. package/dist/application/JavaScriptArtifactGraphContext.js +12 -39
  67. package/dist/application/JavaScriptArtifactGraphDocuments.js +4 -11
  68. package/dist/application/JavaScriptArtifactGraphEvidence.js +0 -14
  69. package/dist/application/JavaScriptArtifactGraphFindings.js +3 -3
  70. package/dist/application/JavaScriptArtifactGraphStructure.js +16 -17
  71. package/dist/application/JavaScriptArtifactPathResolution.js +61 -49
  72. package/dist/application/JavaScriptArtifactReconstruction.js +5 -10
  73. package/dist/application/JavaScriptArtifactReconstructionInput.js +2 -14
  74. package/dist/application/JavaScriptJsonModules.js +2 -2
  75. package/dist/application/JavaScriptModuleRelationships.js +22 -27
  76. package/dist/application/JavaScriptReplayPlanning.js +9 -3
  77. package/dist/application/JavaScriptReplayService.js +6 -32
  78. package/dist/application/JavaScriptReturnShapeProjection.js +12 -42
  79. package/dist/application/JavaScriptRuntimeObservationEvidence.js +7 -8
  80. package/dist/application/JavaScriptRuntimeObservationService.js +4 -8
  81. package/dist/application/JavaScriptRuntimeReconciliationEvidence.js +2 -3
  82. package/dist/application/JavaScriptSemanticGraphBuilder.js +11 -41
  83. package/dist/application/JavaScriptSemanticGraphConstruction.js +5 -29
  84. package/dist/application/JavaScriptSemanticGraphEvidence.js +1 -1
  85. package/dist/application/JavaScriptSemanticGraphFingerprintProjection.js +1 -1
  86. package/dist/application/JavaScriptSemanticGraphFlowProjection.js +0 -13
  87. package/dist/application/JavaScriptSemanticGraphProjection.js +1 -3
  88. package/dist/application/JavaScriptSemanticTraceService.js +1 -10
  89. package/dist/application/JsonFiles.js +79 -0
  90. package/dist/application/LinuxHopper.js +11 -9
  91. package/dist/application/LoopbackReplay.js +26 -23
  92. package/dist/application/LoopbackReplayRecorder.js +29 -1
  93. package/dist/application/ManagedApplicationGraphService.js +1 -2
  94. package/dist/application/ManagedMemberComparisonService.js +11 -41
  95. package/dist/application/ManagedNativeVerificationService.js +1 -2
  96. package/dist/application/ManagedReconstructionService.js +1 -1
  97. package/dist/application/ManagedRuntimeCorrelationService.js +5 -8
  98. package/dist/application/NativeApiInspection.js +2 -7
  99. package/dist/application/NativeUiActionTrace.js +394 -0
  100. package/dist/application/NodeRuntimeCharacterizationService.js +3 -7
  101. package/dist/application/PermissionAuthority.js +15 -7
  102. package/dist/application/PermissionFailure.js +5 -0
  103. package/dist/application/ProcessCaptureAuthority.js +5 -7
  104. package/dist/application/ProcessCaptureJournal.js +3 -2
  105. package/dist/application/ProcessCaptureLifecycle.js +5 -12
  106. package/dist/application/ProcessCheckpoints.js +29 -11
  107. package/dist/application/ProcessCli.js +6 -16
  108. package/dist/application/ProcessEvidence.js +5 -7
  109. package/dist/application/ProcessHarness.js +52 -17
  110. package/dist/application/ProcessReactiveCoordinator.js +2 -4
  111. package/dist/application/ProcessReactiveEffects.js +9 -3
  112. package/dist/application/ProcessReactiveHarness.js +13 -7
  113. package/dist/application/ProcessSampling.js +2 -4
  114. package/dist/application/ProcessTimer.js +39 -0
  115. package/dist/application/ProjectPermissionStore.js +39 -96
  116. package/dist/application/RealHopperAssertions.js +20 -66
  117. package/dist/application/ReconstructionCoverageService.js +12 -58
  118. package/dist/application/ReconstructionObligationAuthority.js +2 -2
  119. package/dist/application/ReconstructionObligationCandidates.js +4 -4
  120. package/dist/application/ReconstructionObligationLedgerEvaluation.js +8 -15
  121. package/dist/application/ReconstructionObligationLedgerProjection.js +3 -7
  122. package/dist/application/ReconstructionObligationLedgerService.js +19 -38
  123. package/dist/application/ReferenceSourceImport.js +19 -45
  124. package/dist/application/ReferenceSourceImportEntries.js +2 -4
  125. package/dist/application/ReferenceSourceImportPolicy.js +5 -32
  126. package/dist/application/ReferenceSourceImportTypes.js +0 -16
  127. package/dist/application/RuntimeExecutableDiagnostics.js +55 -29
  128. package/dist/application/SessionProviderRouter.js +2 -2
  129. package/dist/application/Setup.js +1 -3
  130. package/dist/application/SetupClientConfiguration.js +22 -93
  131. package/dist/application/SetupRegistrationEnvironment.js +0 -7
  132. package/dist/application/StoreFileLock.js +119 -0
  133. package/dist/application/TerminalRenderer.js +2 -3
  134. package/dist/application/Uninstall.js +9 -14
  135. package/dist/application/UnknownEvidence.js +1 -1
  136. package/dist/artifacts/ArtifactPaths.js +2 -5
  137. package/dist/artifacts/ArtifactProvider.js +36 -58
  138. package/dist/artifacts/DirectoryArtifactReader.js +13 -8
  139. package/dist/artifacts/MachOSliceArtifactReader.js +1 -5
  140. package/dist/artifacts/NativeDmgArtifactReader.js +11 -11
  141. package/dist/artifacts/NibArchive.js +269 -0
  142. package/dist/artifacts/SafeOutputTree.js +15 -24
  143. package/dist/browser/BrowserProcessStartup.js +1 -2
  144. package/dist/browser/CdpAuthorizedMainFrame.js +16 -0
  145. package/dist/browser/CdpBrowserProvider.js +3 -13
  146. package/dist/browser/CdpCanonicalJsonDigest.js +9 -0
  147. package/dist/browser/CdpCaptureDocuments.js +28 -76
  148. package/dist/browser/CdpCaptureEventBodyShapes.js +13 -33
  149. package/dist/browser/CdpCaptureEventHandlers.js +22 -87
  150. package/dist/browser/CdpCaptureEvents.js +2 -8
  151. package/dist/browser/CdpCaptureStorage.js +9 -20
  152. package/dist/browser/CdpCaptureStorageFingerprints.js +85 -98
  153. package/dist/browser/CdpCaptureValues.js +21 -21
  154. package/dist/browser/CdpConnection.js +10 -25
  155. package/dist/browser/CdpElectronInspection.js +26 -50
  156. package/dist/browser/CdpElectronProvider.js +10 -35
  157. package/dist/browser/CdpElectronScriptEvents.js +8 -16
  158. package/dist/browser/CdpElectronScripts.js +6 -35
  159. package/dist/browser/CdpElectronWorkers.js +6 -10
  160. package/dist/browser/CdpEndpoint.js +25 -41
  161. package/dist/browser/CdpObservationSession.js +14 -26
  162. package/dist/browser/CdpPageCapture.js +34 -48
  163. package/dist/browser/CdpPageCaptureScripts.js +1 -19
  164. package/dist/browser/CdpPageCaptureWorkers.js +6 -10
  165. package/dist/browser/CdpSafeMetadata.js +19 -22
  166. package/dist/browser/CdpScreenshot.js +3 -5
  167. package/dist/browser/CdpTargetSession.js +1 -2
  168. package/dist/browser/CdpWebMcpDiscovery.js +13 -22
  169. package/dist/browser/ElectronFileScope.js +8 -19
  170. package/dist/browser/JavaScriptRuntimeScope.js +9 -14
  171. package/dist/browser/PlaywrightBrowserScenarioProvider.js +31 -64
  172. package/dist/browser/PlaywrightElectronActiveActions.js +54 -69
  173. package/dist/browser/PlaywrightElectronActiveProvider.js +14 -34
  174. package/dist/browser/PlaywrightExecutionBoundary.js +16 -5
  175. package/dist/browser/PlaywrightScenarioActions.js +3 -7
  176. package/dist/browser/PlaywrightScenarioArtifacts.js +23 -92
  177. package/dist/browser/PlaywrightScenarioBrowser.js +3 -5
  178. package/dist/browser/PlaywrightScenarioEvents.js +45 -94
  179. package/dist/browser/PlaywrightScenarioSession.js +14 -30
  180. package/dist/browser/PngVisualDiff.js +22 -14
  181. package/dist/browser/SensitiveTextCapture.js +0 -17
  182. package/dist/browser/V8InspectorCaptureProjection.js +7 -8
  183. package/dist/browser/V8InspectorEndpoint.js +12 -14
  184. package/dist/browser/V8InspectorProvider.js +20 -61
  185. package/dist/browser/WebSourceMapFetcher.js +56 -176
  186. package/dist/catalogIdentity.js +0 -54
  187. package/dist/cli/artifactCommands.js +49 -77
  188. package/dist/cli/coreAnalysisCommands.js +83 -133
  189. package/dist/cli/javascriptApplicationAnalysis.js +1 -9
  190. package/dist/cli/managedCommands.js +5 -270
  191. package/dist/cli/setupCommands.js +3 -12
  192. package/dist/cli/utilityCommands.js +7 -41
  193. package/dist/cli.js +0 -2
  194. package/dist/cliApplicationCommands.js +42 -112
  195. package/dist/cliBrowserAdvancedCommands.js +10 -106
  196. package/dist/cliBrowserCommands.js +15 -127
  197. package/dist/cliBrowserContext.js +30 -0
  198. package/dist/cliCommandNames.js +4 -5
  199. package/dist/cliElectronCommands.js +8 -72
  200. package/dist/cliEvidenceCommands.js +8 -77
  201. package/dist/cliJavaScriptRuntimeCommands.js +9 -91
  202. package/dist/cliJsonInput.js +4 -14
  203. package/dist/cliObservationOptions.js +11 -96
  204. package/dist/cliPolicyCommands.js +2 -17
  205. package/dist/cliProcessCommands.js +3 -3
  206. package/dist/cliSetup.js +0 -13
  207. package/dist/config/browserScenario.js +2 -2
  208. package/dist/config/environment.js +0 -9
  209. package/dist/config/parseConfig.js +1 -33
  210. package/dist/config/parsers.js +6 -27
  211. package/dist/config/passiveObservation.js +7 -77
  212. package/dist/config/permissions.js +0 -7
  213. package/dist/contracts/analysisSearchContract.js +2 -5
  214. package/dist/contracts/applicationToolContracts.js +56 -109
  215. package/dist/contracts/applicationWorkflowInputContracts.js +27 -102
  216. package/dist/contracts/artifactComparisonExample.js +58 -60
  217. package/dist/contracts/artifactToolContracts.js +20 -67
  218. package/dist/contracts/browserScenarioToolContracts.js +6 -51
  219. package/dist/contracts/browserToolContracts.js +8 -73
  220. package/dist/contracts/electronToolContracts.js +8 -108
  221. package/dist/contracts/enhancedInputs.js +23 -54
  222. package/dist/contracts/errorSchemas.js +0 -1
  223. package/dist/contracts/functionComparisonExample.js +10 -24
  224. package/dist/contracts/functionInstructionContract.js +1 -3
  225. package/dist/contracts/functionWorkflowToolContracts.js +2 -2
  226. package/dist/contracts/hopperMemoryContracts.js +3 -3
  227. package/dist/contracts/investigationExamples.js +14 -11
  228. package/dist/contracts/javascriptApplicationWorkflowExamples.js +12 -19
  229. package/dist/contracts/javascriptRuntimeObservationToolContracts.js +2 -20
  230. package/dist/contracts/javascriptRuntimeReconciliationExample.js +45 -12
  231. package/dist/contracts/managedToolContracts.js +6 -95
  232. package/dist/contracts/managedWorkflowExamples.js +77 -128
  233. package/dist/contracts/managedWorkflowToolContracts.js +51 -77
  234. package/dist/contracts/nativeToolContracts.js +7 -11
  235. package/dist/contracts/processCaptureExample.js +2 -69
  236. package/dist/contracts/promptContracts.js +49 -67
  237. package/dist/contracts/providerSelection.js +0 -1
  238. package/dist/contracts/reconstructionReadinessExample.js +1 -6
  239. package/dist/contracts/sessionStatusContract.js +1 -17
  240. package/dist/contracts/sessionToolSchemas.js +6 -15
  241. package/dist/contracts/toolContractExamples.js +11 -11
  242. package/dist/contracts/toolContractHelpers.js +0 -4
  243. package/dist/contracts/toolContracts.js +60 -71
  244. package/dist/contracts/toolEffects.js +5 -13
  245. package/dist/contracts/toolOutputSchemaGroups.js +37 -91
  246. package/dist/contracts/toolOutputSchemaPrimitives.js +16 -56
  247. package/dist/contracts/toolSchemaMetadata.js +8 -19
  248. package/dist/contracts/unknownContractExamples.js +0 -2
  249. package/dist/domain/analysisErrorPresentation.js +46 -54
  250. package/dist/domain/analysisErrorProjection.js +28 -37
  251. package/dist/domain/analysisProfile.js +3 -31
  252. package/dist/domain/analysisSnapshot.js +3 -12
  253. package/dist/domain/androidApplication.js +15 -54
  254. package/dist/domain/appleApplication.js +24 -67
  255. package/dist/domain/artifactComparison.js +11 -29
  256. package/dist/domain/artifactGraph.js +14 -44
  257. package/dist/domain/artifactInspection.js +38 -69
  258. package/dist/domain/artifactInventoryEvidence.js +27 -21
  259. package/dist/domain/binaryTarget.js +2 -221
  260. package/dist/domain/browserCaptureComparison.js +47 -24
  261. package/dist/domain/browserObservation.js +28 -193
  262. package/dist/domain/browserObservationSchemas.js +5 -23
  263. package/dist/domain/browserScenario.js +11 -14
  264. package/dist/domain/browserScenarioCapture.js +11 -12
  265. package/dist/domain/browserScenarioCaptureValues.js +146 -84
  266. package/dist/domain/browserScenarioDiff.js +2 -59
  267. package/dist/domain/browserScenarioDiffEvidence.js +51 -0
  268. package/dist/domain/browserScenarioDiffValues.js +21 -38
  269. package/dist/domain/browserScenarioValues.js +80 -109
  270. package/dist/domain/browserSession.js +4 -7
  271. package/dist/domain/bundleComparison.js +6 -32
  272. package/dist/domain/bytecodeProvider.js +20 -19
  273. package/dist/domain/callPath.js +47 -167
  274. package/dist/domain/callPathSchemas.js +79 -0
  275. package/dist/domain/changedBehavior.js +34 -60
  276. package/dist/domain/completionLedgerGeneration.js +8 -14
  277. package/dist/domain/conformancePackage.js +126 -97
  278. package/dist/domain/conformanceReplay.js +36 -8
  279. package/dist/domain/conformanceTrustGate.js +23 -14
  280. package/dist/domain/customProtocolCapture.js +1 -1
  281. package/dist/domain/electronActiveObservation.js +70 -103
  282. package/dist/domain/electronObservation.js +14 -80
  283. package/dist/domain/electronStaticAnalysisBrowser.js +36 -46
  284. package/dist/domain/electronStaticAnalysisIpc.js +38 -14
  285. package/dist/domain/electronStaticAnalysisNative.js +1 -8
  286. package/dist/domain/electronStaticAnalysisValues.js +10 -17
  287. package/dist/domain/errors.js +33 -54
  288. package/dist/domain/eventProcessTree.js +20 -12
  289. package/dist/domain/evidence.js +2 -10
  290. package/dist/domain/evidenceBundle.js +3 -5
  291. package/dist/domain/evidenceCompletionLedger.js +6 -8
  292. package/dist/domain/functionComparison.js +4 -14
  293. package/dist/domain/functionComparisonNormalization.js +4 -11
  294. package/dist/domain/functionComparisonResults.js +25 -15
  295. package/dist/domain/functionComparisonSchemas.js +49 -33
  296. package/dist/domain/functionDossierEvidence.js +31 -156
  297. package/dist/domain/hopperStartupFailure.js +1 -1
  298. package/dist/domain/hopperValues.js +15 -136
  299. package/dist/domain/interfaceBuilderGraph.js +654 -0
  300. package/dist/domain/javascriptApplicationAnalysis.js +8 -112
  301. package/dist/domain/javascriptApplicationChangeGraph.js +22 -82
  302. package/dist/domain/javascriptApplicationEvidenceSchemas.js +59 -47
  303. package/dist/domain/javascriptApplicationGraph.js +3 -13
  304. package/dist/domain/javascriptApplicationGraphSchemas.js +12 -34
  305. package/dist/domain/javascriptApplicationVersionComparison.js +26 -30
  306. package/dist/domain/javascriptApplicationVersionComparisonSchemas.js +123 -68
  307. package/dist/domain/javascriptApplicationVersionItems.js +120 -53
  308. package/dist/domain/javascriptApplicationVersionKeys.js +24 -11
  309. package/dist/domain/javascriptAstFingerprint.js +25 -58
  310. package/dist/domain/javascriptAstValues.js +9 -0
  311. package/dist/domain/javascriptExportInstrumentation.js +2 -4
  312. package/dist/domain/javascriptExportShapeComparison.js +6 -7
  313. package/dist/domain/javascriptExportShapeComparisonSchemas.js +68 -75
  314. package/dist/domain/javascriptExportShapeSelection.js +17 -19
  315. package/dist/domain/javascriptFeatureSeed.js +20 -12
  316. package/dist/domain/javascriptFeatureTrace.js +13 -67
  317. package/dist/domain/javascriptFeatureTraceSchemas.js +24 -52
  318. package/dist/domain/javascriptFeatureTraversal.js +1 -44
  319. package/dist/domain/javascriptNativeHandoff.js +1 -1
  320. package/dist/domain/javascriptReplay.js +24 -41
  321. package/dist/domain/javascriptRuntimeLoadState.js +3 -8
  322. package/dist/domain/javascriptRuntimeObservation.js +42 -103
  323. package/dist/domain/javascriptRuntimeReconciliation.js +1 -3
  324. package/dist/domain/javascriptRuntimeReconciliationActive.js +8 -17
  325. package/dist/domain/javascriptRuntimeReconciliationGraph.js +10 -23
  326. package/dist/domain/javascriptRuntimeReconciliationMatching.js +18 -12
  327. package/dist/domain/javascriptRuntimeReconciliationParsing.js +16 -45
  328. package/dist/domain/javascriptRuntimeReconciliationResult.js +4 -5
  329. package/dist/domain/javascriptRuntimeReconciliationRuntime.js +8 -12
  330. package/dist/domain/javascriptRuntimeReconciliationSchemas.js +33 -48
  331. package/dist/domain/javascriptRuntimeStaticCandidates.js +3 -3
  332. package/dist/domain/javascriptSemanticAnalysis.js +12 -45
  333. package/dist/domain/javascriptSemanticAsyncEffects.js +1 -9
  334. package/dist/domain/javascriptSemanticCallResolution.js +6 -16
  335. package/dist/domain/javascriptSemanticCalls.js +5 -32
  336. package/dist/domain/javascriptSemanticChildProcesses.js +1 -11
  337. package/dist/domain/javascriptSemanticCoverage.js +11 -0
  338. package/dist/domain/javascriptSemanticDataEffectHelpers.js +1 -8
  339. package/dist/domain/javascriptSemanticDataEffects.js +1 -11
  340. package/dist/domain/javascriptSemanticFingerprints.js +3 -5
  341. package/dist/domain/javascriptSemanticGraphSchemas.js +25 -51
  342. package/dist/domain/javascriptSemanticGraphSerialization.js +2 -13
  343. package/dist/domain/javascriptSemanticIr.js +1 -29
  344. package/dist/domain/javascriptSemanticObjects.js +1 -5
  345. package/dist/domain/javascriptSemanticPrimitives.js +2 -9
  346. package/dist/domain/javascriptSemanticProjection.js +0 -18
  347. package/dist/domain/javascriptSemanticPromises.js +9 -16
  348. package/dist/domain/javascriptSemanticProvenance.js +16 -19
  349. package/dist/domain/javascriptSemanticQuery.js +17 -139
  350. package/dist/domain/javascriptSemanticQueryAssessment.js +9 -37
  351. package/dist/domain/javascriptSemanticQueryIdentity.js +2 -23
  352. package/dist/domain/javascriptSemanticQuerySchemas.js +14 -107
  353. package/dist/domain/javascriptSemanticResources.js +1 -6
  354. package/dist/domain/javascriptSemanticReturns.js +10 -27
  355. package/dist/domain/javascriptSemanticValueTypes.js +1 -0
  356. package/dist/domain/javascriptSemanticValues.js +44 -62
  357. package/dist/domain/javascriptStaticAnalysis.js +21 -43
  358. package/dist/domain/javascriptStaticAnalysisBundler.js +34 -93
  359. package/dist/domain/javascriptStaticAnalysisCalls.js +17 -16
  360. package/dist/domain/javascriptStaticAnalysisFindings.js +3 -19
  361. package/dist/domain/javascriptStaticAnalysisHelpers.js +47 -88
  362. package/dist/domain/javascriptStaticAnalysisState.js +1 -5
  363. package/dist/domain/javascriptStaticAnalysisTypes.js +1 -0
  364. package/dist/domain/jsonShape.js +7 -33
  365. package/dist/domain/localPath.js +7 -0
  366. package/dist/domain/managedApplicationGraph.js +9 -41
  367. package/dist/domain/managedApplicationGraphCoverage.js +24 -156
  368. package/dist/domain/managedApplicationGraphNodes.js +10 -13
  369. package/dist/domain/managedArtifact.js +14 -27
  370. package/dist/domain/managedMemberComparison.js +90 -92
  371. package/dist/domain/managedMemberComparisonCoverage.js +11 -33
  372. package/dist/domain/managedMemberComparisonItems.js +221 -0
  373. package/dist/domain/managedMemberComparisonMatch.js +8 -208
  374. package/dist/domain/managedNativeVerification.js +3 -6
  375. package/dist/domain/managedNativeVerificationMatch.js +55 -59
  376. package/dist/domain/managedNativeVerificationSchemas.js +83 -47
  377. package/dist/domain/managedReconstruction.js +19 -23
  378. package/dist/domain/managedRuntimeCorrelation.js +6 -9
  379. package/dist/domain/nativeApiBoundary.js +2 -7
  380. package/dist/domain/nativeInspection.js +0 -2
  381. package/dist/domain/nativeInvestigationGraph.js +351 -0
  382. package/dist/domain/nativeValueFlow.js +61 -0
  383. package/dist/domain/nodeRuntimeCharacterization.js +1 -5
  384. package/dist/domain/objcSwiftMetadata.js +254 -0
  385. package/dist/domain/peInspection.js +1 -1
  386. package/dist/domain/permissionPolicy.js +13 -0
  387. package/dist/domain/processCapture.js +76 -113
  388. package/dist/domain/processCaptureExample.js +68 -0
  389. package/dist/domain/processCaptureParsing.js +21 -0
  390. package/dist/domain/processCaptureReactiveSchema.js +68 -0
  391. package/dist/domain/processCaptureValidation.js +1 -7
  392. package/dist/domain/processComparison.js +3 -12
  393. package/dist/domain/processReactiveMatching.js +29 -50
  394. package/dist/domain/processReactiveRuntime.js +4 -8
  395. package/dist/domain/processReactiveScenario.js +28 -94
  396. package/dist/domain/processReactiveScenarioPreflight.js +5 -30
  397. package/dist/domain/processReactiveTransition.js +33 -18
  398. package/dist/domain/processScenario.js +56 -90
  399. package/dist/domain/processTraceComparison.js +0 -8
  400. package/dist/domain/processTraceEvaluation.js +14 -4
  401. package/dist/domain/processTraceSpecification.js +11 -17
  402. package/dist/domain/protocolCapture.js +3 -3
  403. package/dist/domain/reconstructionCoverage.js +62 -129
  404. package/dist/domain/reconstructionCoverageEvaluation.js +17 -17
  405. package/dist/domain/reconstructionObligationLedgerSchemas.js +45 -72
  406. package/dist/domain/reconstructionReadiness.js +1 -2
  407. package/dist/domain/reconstructionReadinessSchemas.js +36 -38
  408. package/dist/domain/reconstructionUnknowns.js +3 -3
  409. package/dist/domain/reconstructionVerification.js +13 -47
  410. package/dist/domain/reconstructionVerificationSchemas.js +50 -38
  411. package/dist/domain/referenceSourceGraph.js +53 -61
  412. package/dist/domain/referenceSourceImportParsing.js +1 -5
  413. package/dist/domain/replayMachine.js +19 -31
  414. package/dist/domain/replayMachineRun.js +15 -63
  415. package/dist/domain/replayMachineRuntime.js +41 -41
  416. package/dist/domain/replayMachineValues.js +84 -0
  417. package/dist/domain/residualUnknown.js +25 -30
  418. package/dist/domain/runtimeCharacterization.js +15 -16
  419. package/dist/domain/runtimeIdentification.js +48 -47
  420. package/dist/domain/sourceToBundleComparison.js +9 -85
  421. package/dist/domain/sourceToBundleComparisonSchemas.js +17 -42
  422. package/dist/domain/sourceToBundleSignals.js +4 -15
  423. package/dist/domain/staticRuntimeCorrelation.js +37 -49
  424. package/dist/domain/symbolAnalysis.js +10 -19
  425. package/dist/domain/unicodeCodePointOrder.js +12 -0
  426. package/dist/domain/webBundleAnalysis.js +70 -99
  427. package/dist/domain/webBundleAnalyzer.js +2 -4
  428. package/dist/domain/webBundleAnalyzerAst.js +0 -13
  429. package/dist/domain/webBundleAnalyzerInspection.js +26 -52
  430. package/dist/domain/webBundleAnalyzerResult.js +7 -24
  431. package/dist/domain/webCaptureDiff.js +33 -73
  432. package/dist/domain/webCaptureDiffSchemas.js +86 -0
  433. package/dist/domain/webContentArtifact.js +1 -10
  434. package/dist/domain/webMcpDiscovery.js +3 -14
  435. package/dist/domain/webScreenshot.js +58 -34
  436. package/dist/domain/zipPackageFormat.js +7 -0
  437. package/dist/dotnet/ManagedArtifactInspector.js +17 -50
  438. package/dist/dotnet/ManagedMemberInspector.js +27 -58
  439. package/dist/dotnet/ManagedMemberInspectorCore.js +14 -51
  440. package/dist/dotnet/ManagedMemberInstructionDecoder.js +2 -2
  441. package/dist/dotnet/ManagedMemberRows.js +16 -16
  442. package/dist/dotnet/ManagedMetadataHeaps.js +26 -8
  443. package/dist/dotnet/ManagedMetadataInventory.js +21 -30
  444. package/dist/dotnet/ManagedMetadataInventoryRows.js +57 -63
  445. package/dist/dotnet/ManagedMetadataLayout.js +3 -5
  446. package/dist/dotnet/ManagedMethodBodyReader.js +5 -30
  447. package/dist/dotnet/ManagedNativeBoundaryHelpers.js +19 -49
  448. package/dist/dotnet/ManagedNativeBoundaryInspector.js +13 -41
  449. package/dist/dotnet/ManagedPeReader.js +2 -2
  450. package/dist/dotnet/ManagedStaticProvider.js +13 -71
  451. package/dist/generatedMcpToolCatalog.js +1 -1
  452. package/dist/generatedPackageMetadata.js +1 -1
  453. package/dist/ghidra/GhidraAnalysisProfile.js +3 -8
  454. package/dist/ghidra/GhidraClient.js +4 -12
  455. package/dist/ghidra/GhidraClientWire.js +9 -5
  456. package/dist/ghidra/GhidraDefaults.js +0 -18
  457. package/dist/ghidra/GhidraDiagnostics.js +0 -2
  458. package/dist/ghidra/GhidraDoctor.js +16 -12
  459. package/dist/ghidra/GhidraFunctionValues.js +65 -108
  460. package/dist/ghidra/GhidraInstallation.js +98 -42
  461. package/dist/ghidra/GhidraInventoryValues.js +16 -85
  462. package/dist/ghidra/GhidraLauncher.js +0 -8
  463. package/dist/ghidra/GhidraProvider.js +15 -22
  464. package/dist/ghidra/GhidraProviderCapabilities.js +6 -47
  465. package/dist/ghidra/GhidraRequestQueue.js +6 -30
  466. package/dist/ghidra/GhidraResponseBuffer.js +1 -7
  467. package/dist/ghidra/GhidraSessionValues.js +0 -2
  468. package/dist/ghidra/GhidraTransport.js +4 -7
  469. package/dist/ghidra/protocol.js +2 -2
  470. package/dist/hopper/BridgeLauncher.js +112 -36
  471. package/dist/hopper/HopperAnalysisProfile.js +1 -1
  472. package/dist/hopper/HopperCleanup.js +6 -3
  473. package/dist/hopper/HopperClient.js +4 -7
  474. package/dist/hopper/HopperProcessDiagnostic.js +2 -2
  475. package/dist/hopper/HopperProvider.js +0 -16
  476. package/dist/hopper/HopperRequestQueue.js +21 -40
  477. package/dist/hopper/HopperResponseStream.js +1 -9
  478. package/dist/hopper/HopperSessionValues.js +3 -2
  479. package/dist/hopper/HopperTargetLease.js +119 -0
  480. package/dist/hopper/LinuxPrivateDisplayDiagnostic.js +24 -31
  481. package/dist/hopper/LinuxPrivateDisplayProbe.js +5 -16
  482. package/dist/hopper/protocol.js +6 -4
  483. package/dist/main/reload.js +0 -3
  484. package/dist/main/shutdown.js +1 -1
  485. package/dist/main/state.js +0 -9
  486. package/dist/main/transport.js +0 -5
  487. package/dist/mcpDoctor.js +25 -45
  488. package/dist/native/CommandRunner.js +18 -25
  489. package/dist/native/NativeMacOSProvider.js +13 -38
  490. package/dist/native/NativeMachoInspection.js +1 -1
  491. package/dist/process/BoundedFileBytes.js +17 -0
  492. package/dist/process/ExecFileOutput.js +11 -0
  493. package/dist/process/PendingOperations.js +8 -6
  494. package/dist/process/ProcessOwnership.js +3 -2
  495. package/dist/process/ProcessOwnershipObservation.js +0 -1
  496. package/dist/process/ProviderProcess.js +7 -28
  497. package/dist/reference/ReferenceSourceReader.js +8 -24
  498. package/dist/reference/ReferenceSourceReaderEntries.js +11 -39
  499. package/dist/reference/ReferenceSourceReaderFile.js +13 -31
  500. package/dist/reference/ReferenceSourceReaderPaths.js +3 -18
  501. package/dist/reference/ReferenceSourceReaderValidate.js +3 -6
  502. package/dist/replay/JavaScriptReplayWorker.js +3 -5
  503. package/dist/replay/LinuxJavaScriptReplayRunner.js +33 -29
  504. package/dist/replay/LinuxJavaScriptReplaySandbox.js +0 -19
  505. package/dist/replay/LinuxRuntimeClosure.js +1 -3
  506. package/dist/replay/ReplayOutcome.js +1 -3
  507. package/dist/replay/ReplayProcessLifecycle.js +32 -7
  508. package/dist/replay/ReplaySeccompFile.js +29 -0
  509. package/dist/replay/ReplayWorkerProtocol.js +0 -2
  510. package/dist/replay/SystemJavaScriptReplayHost.js +45 -74
  511. package/dist/server/ProcessCaptureElicitation.js +4 -8
  512. package/dist/server/createServer.js +6 -44
  513. package/dist/server/promptCompletion.js +37 -61
  514. package/dist/server/recordDerivedEvidence.js +1 -1
  515. package/dist/server/registerApplicationTools/characterization.js +4 -8
  516. package/dist/server/registerApplicationTools/compareExportShapes.js +5 -10
  517. package/dist/server/registerApplicationTools/compareSourceToBundle.js +6 -10
  518. package/dist/server/registerApplicationTools/compareVersions.js +5 -10
  519. package/dist/server/registerApplicationTools/controlledReplay.js +3 -5
  520. package/dist/server/registerApplicationTools/coverage.js +6 -71
  521. package/dist/server/registerApplicationTools/helpers.js +1 -13
  522. package/dist/server/registerApplicationTools/obligationLedger.js +3 -2
  523. package/dist/server/registerApplicationTools/traceFeature.js +5 -9
  524. package/dist/server/registerApplicationTools/traceSemantics.js +5 -8
  525. package/dist/server/registerApplicationTools.js +0 -2
  526. package/dist/server/registerArtifactComparisonTool.js +23 -27
  527. package/dist/server/registerBrowserScenarioTool.js +4 -4
  528. package/dist/server/registerBrowserTools.js +5 -8
  529. package/dist/server/registerBundleComparisonTool.js +5 -7
  530. package/dist/server/registerCloseLifecycleTool.js +2 -16
  531. package/dist/server/registerElectronTools.js +10 -29
  532. package/dist/server/registerEnhancedTools.js +10 -11
  533. package/dist/server/registerEvidenceTools.js +15 -22
  534. package/dist/server/registerFunctionComparisonTool.js +30 -25
  535. package/dist/server/registerInvestigationTools/helpers.js +3 -32
  536. package/dist/server/registerInvestigationTools.js +20 -116
  537. package/dist/server/registerJavaScriptRuntimeObservationTools.js +6 -4
  538. package/dist/server/registerManagedWorkflowTools/compareManagedMembers.js +15 -17
  539. package/dist/server/registerManagedWorkflowTools/evidence.js +19 -35
  540. package/dist/server/registerManagedWorkflowTools/importManagedReconstruction.js +3 -8
  541. package/dist/server/registerManagedWorkflowTools/planManagedRuntimeCorrelation.js +3 -8
  542. package/dist/server/registerManagedWorkflowTools/projectManagedApplicationGraph.js +10 -14
  543. package/dist/server/registerManagedWorkflowTools/verifyManagedNativeBoundaries.js +9 -15
  544. package/dist/server/registerOfficialTools.js +1 -43
  545. package/dist/server/registerProcessComparisonTool.js +33 -23
  546. package/dist/server/registerPrompts.js +19 -17
  547. package/dist/server/registerSessionRecordTools.js +10 -156
  548. package/dist/server/registerSessionStatusTool.js +6 -69
  549. package/dist/server/registerSessionTools.js +10 -51
  550. package/dist/server/sessionAvailabilityPolicy.js +0 -2
  551. package/dist/server/sessionEvidence.js +9 -15
  552. package/dist/server/sessionToolPolicies.js +0 -8
  553. package/dist/server/toolResult.js +14 -50
  554. package/dist/serverIdentity.js +0 -20
  555. package/install.sh +1 -1
  556. package/package.json +11 -7
  557. package/scripts/electron-active-hook.cjs +23 -55
  558. package/scripts/hopper-demo-x11.py +13 -32
  559. package/skills/reverse-engineer-anything/SKILL.md +47 -12
  560. package/skills/reverse-engineer-anything/references/evidence-workflows.md +6 -4
  561. package/skills/reverse-engineer-anything/references/javascript-applications.md +13 -13
  562. package/skills/reverse-engineer-anything/references/native-and-artifacts.md +12 -8
  563. package/dist/application/ApplicationWorkflowEvidenceResolver.js +0 -188
  564. package/dist/application/BoundedJsonFiles.js +0 -86
  565. package/dist/application/CrossVersionInventory.js +0 -129
  566. package/dist/application/CrossVersionInvestigation.js +0 -301
  567. package/dist/application/CrossVersionInvestigationCollections.js +0 -23
  568. package/dist/application/CrossVersionInvestigationEvidence.js +0 -64
  569. package/dist/application/CrossVersionInvestigationReplay.js +0 -170
  570. package/dist/application/DeferredFileAuthorization.js +0 -61
  571. package/dist/application/DoctorProjection.js +0 -43
  572. package/dist/application/EnhancedToolPagination.js +0 -22
  573. package/dist/application/EvidenceReferenceResolver.js +0 -26
  574. package/dist/application/InvestigationWorkspaceStore.js +0 -204
  575. package/dist/application/ProcessPairedExperiment.js +0 -72
  576. package/dist/application/ReconstructionCoverageWorkspaceStore.js +0 -31
  577. package/dist/application/ReconstructionReadinessService.js +0 -48
  578. package/dist/cliInvestigationCommands.js +0 -173
  579. package/dist/domain/boundedCartesianProjection.js +0 -15
  580. package/dist/domain/investigationWorkspace.js +0 -347
  581. package/dist/domain/jsonLimits.js +0 -26
  582. package/dist/domain/knownPageCoverage.js +0 -29
  583. package/dist/domain/processPairedExperiment.js +0 -128
  584. package/dist/server/javascriptApplicationResult.js +0 -106
  585. package/dist/server/permissionFailure.js +0 -12
  586. package/dist/server/registerApplicationTools/readiness.js +0 -50
  587. package/dist/server/registerEvidenceResources.js +0 -315
  588. package/dist/server/registerJavaScriptApplicationGraphResource.js +0 -65
  589. package/dist/server/registerReconstructionObligationLedgerResource.js +0 -32
  590. package/dist/server/registerReconstructionReadinessResource.js +0 -32
@@ -34,12 +34,11 @@ export const createReconstructionReadinessReport = (inputValue) => {
34
34
  snapshot: input,
35
35
  };
36
36
  const reportDigest = digest({
37
- schema: "rea.reconstruction-readiness-report/v1",
37
+ schema: "ReconstructionReadinessReport",
38
38
  ...semantic,
39
39
  });
40
40
  return reconstructionReadinessReportSchema.parse({
41
41
  schema: "ReconstructionReadinessReport",
42
- schema_version: 1,
43
42
  report_id: `rr_${reportDigest}`,
44
43
  report_digest: reportDigest,
45
44
  ...semantic,
@@ -3,8 +3,8 @@ import { evidenceBundleSchema } from "./evidenceBundle.js";
3
3
  import { reconstructionObligationLedgerSchema } from "./reconstructionObligationLedgerSchemas.js";
4
4
  const digestSchema = z.string().regex(/^[a-f0-9]{64}$/u);
5
5
  const evidenceIdSchema = z.string().regex(/^ev_[a-f0-9]{64}$/u);
6
- const stableIdSchema = z.string().regex(/^[A-Za-z][A-Za-z0-9._:/-]{0,199}$/u);
7
- const boundedTextSchema = z.string().trim().min(1).max(4_096);
6
+ const stableIdSchema = z.string().regex(/^[A-Za-z][A-Za-z0-9._:/-]*$/u);
7
+ const boundedTextSchema = z.string().trim().min(1);
8
8
  export const readinessStatusSchema = z.enum([
9
9
  "pass",
10
10
  "fail",
@@ -54,8 +54,8 @@ const capabilitySchema = z.strictObject({
54
54
  "writes-workspace",
55
55
  "network-observation",
56
56
  ]),
57
- authority_scopes: z.array(stableIdSchema).max(100),
58
- limits: z.array(limitSchema).max(100),
57
+ authority_scopes: z.array(stableIdSchema),
58
+ limits: z.array(limitSchema),
59
59
  unavailable_reason: boundedTextSchema.nullable(),
60
60
  });
61
61
  const fixtureSchema = z.strictObject({
@@ -69,7 +69,7 @@ const fixtureSchema = z.strictObject({
69
69
  ]),
70
70
  artifact_sha256: digestSchema,
71
71
  environment_id: stableIdSchema,
72
- deliberate_faults: z.array(stableIdSchema).min(1).max(100),
72
+ deliberate_faults: z.array(stableIdSchema).min(1),
73
73
  });
74
74
  const workflowCandidateSchema = z.strictObject({
75
75
  fixture_id: stableIdSchema,
@@ -85,7 +85,7 @@ const grantSchema = z.strictObject({
85
85
  scope: stableIdSchema,
86
86
  decision: z.enum(["granted", "denied", "cancelled", "restart-required"]),
87
87
  launched_process: z.boolean(),
88
- evidence_ids: z.array(evidenceIdSchema).max(100),
88
+ evidence_ids: z.array(evidenceIdSchema),
89
89
  });
90
90
  const comparisonSchema = z.strictObject({
91
91
  comparison_id: stableIdSchema,
@@ -96,17 +96,17 @@ const comparisonSchema = z.strictObject({
96
96
  unavailable_authority: z.boolean(),
97
97
  unstable: z.boolean(),
98
98
  deliberate_divergence_ref: boundedTextSchema.nullable(),
99
- divergence_refs: z.array(boundedTextSchema).max(100),
100
- contradiction_ids: z.array(stableIdSchema).max(100),
101
- evidence_ids: z.array(evidenceIdSchema).min(1).max(1_000),
99
+ divergence_refs: z.array(boundedTextSchema),
100
+ contradiction_ids: z.array(stableIdSchema),
101
+ evidence_ids: z.array(evidenceIdSchema).min(1),
102
102
  });
103
103
  const contradictionSchema = z.strictObject({
104
104
  contradiction_id: stableIdSchema,
105
105
  declared_sha256: digestSchema,
106
106
  observed_sha256: digestSchema,
107
107
  policy: z.literal("record-and-continue"),
108
- affected_comparison_ids: z.array(stableIdSchema).min(1).max(100),
109
- evidence_ids: z.array(evidenceIdSchema).min(2).max(100),
108
+ affected_comparison_ids: z.array(stableIdSchema).min(1),
109
+ evidence_ids: z.array(evidenceIdSchema).min(2),
110
110
  });
111
111
  const operationOutcomeSchema = z.strictObject({
112
112
  sequence: z.number().int().min(0),
@@ -126,32 +126,32 @@ const operationOutcomeSchema = z.strictObject({
126
126
  mcp_status: z.enum(["success", "non-success"]).nullable(),
127
127
  error_code: stableIdSchema.nullable(),
128
128
  recovered: z.boolean(),
129
- evidence_ids: z.array(evidenceIdSchema).max(100),
129
+ evidence_ids: z.array(evidenceIdSchema),
130
130
  });
131
131
  const cleanupSchema = z.strictObject({
132
132
  run_id: stableIdSchema,
133
133
  cancelled: z.boolean(),
134
134
  owned_resources_remaining: z.number().int().min(0),
135
- diagnostic_evidence_ids: z.array(evidenceIdSchema).max(100),
135
+ diagnostic_evidence_ids: z.array(evidenceIdSchema),
136
136
  });
137
137
  const closureObservationSchema = z.strictObject({
138
138
  sequence: z.number().int().min(0),
139
139
  ledger_digest: digestSchema,
140
140
  status: z.enum(["ready", "open", "failed", "unknown"]),
141
141
  required_open: z.number().int().min(0),
142
- newly_verified_obligation_ids: z.array(stableIdSchema).max(10_000),
143
- evidence_ids: z.array(evidenceIdSchema).min(1).max(1_000),
142
+ newly_verified_obligation_ids: z.array(stableIdSchema),
143
+ evidence_ids: z.array(evidenceIdSchema).min(1),
144
144
  });
145
145
  const delegationCheckSchema = z.strictObject({
146
146
  candidate_id: stableIdSchema,
147
147
  delegates_to_authority: z.boolean(),
148
- evidence_ids: z.array(evidenceIdSchema).min(1).max(100),
148
+ evidence_ids: z.array(evidenceIdSchema).min(1),
149
149
  });
150
150
  const stageCheckSchema = z.strictObject({
151
151
  check_id: stableIdSchema,
152
152
  status: readinessStatusSchema,
153
153
  detail: boundedTextSchema,
154
- evidence_ids: z.array(evidenceIdSchema).max(100),
154
+ evidence_ids: z.array(evidenceIdSchema),
155
155
  });
156
156
  const stageSchema = z.strictObject({
157
157
  stage_id: readinessStageIdSchema,
@@ -159,43 +159,42 @@ const stageSchema = z.strictObject({
159
159
  status: readinessStatusSchema,
160
160
  capability_issue: stableIdSchema.nullable(),
161
161
  next_action: boundedTextSchema.nullable(),
162
- evidence_ids: z.array(evidenceIdSchema).max(1_000),
163
- checks: z.array(stageCheckSchema).max(100),
162
+ evidence_ids: z.array(evidenceIdSchema),
163
+ checks: z.array(stageCheckSchema),
164
164
  });
165
165
  const replaySchema = z.strictObject({
166
166
  expected_source_digest: digestSchema.nullable(),
167
167
  deterministic: z.boolean(),
168
168
  tamper_detected: z.boolean(),
169
169
  stale_input_detected: z.boolean(),
170
- evidence_ids: z.array(evidenceIdSchema).max(100),
170
+ evidence_ids: z.array(evidenceIdSchema),
171
171
  });
172
172
  export const reconstructionReadinessInputSchema = z.strictObject({
173
- schema_version: z.literal(1),
174
173
  identity: z.strictObject({
175
174
  cli_version: boundedTextSchema,
176
175
  server_version: boundedTextSchema,
177
176
  catalog_digest: digestSchema,
178
177
  skill_digest: digestSchema.nullable(),
179
- versions: z.array(versionObservationSchema).min(1).max(100),
180
- providers: z.array(providerIdentitySchema).max(100),
178
+ versions: z.array(versionObservationSchema).min(1),
179
+ providers: z.array(providerIdentitySchema),
181
180
  }),
182
181
  client: z.strictObject({
183
182
  name: boundedTextSchema,
184
183
  version: boundedTextSchema,
185
- negotiated_capabilities: z.array(stableIdSchema).max(100),
184
+ negotiated_capabilities: z.array(stableIdSchema),
186
185
  }),
187
- capabilities: z.array(capabilitySchema).min(1).max(1_000),
188
- fixtures: z.array(fixtureSchema).min(1).max(100),
189
- workflow_candidates: z.array(workflowCandidateSchema).min(1).max(1_000),
190
- grants: z.array(grantSchema).max(1_000),
186
+ capabilities: z.array(capabilitySchema).min(1),
187
+ fixtures: z.array(fixtureSchema).min(1),
188
+ workflow_candidates: z.array(workflowCandidateSchema).min(1),
189
+ grants: z.array(grantSchema),
191
190
  evidence_bundle: evidenceBundleSchema,
192
- comparisons: z.array(comparisonSchema).max(1_000),
193
- contradictions: z.array(contradictionSchema).max(1_000),
191
+ comparisons: z.array(comparisonSchema),
192
+ contradictions: z.array(contradictionSchema),
194
193
  obligation_ledger: reconstructionObligationLedgerSchema,
195
- operation_outcomes: z.array(operationOutcomeSchema).max(10_000),
196
- cleanup: z.array(cleanupSchema).max(1_000),
197
- closure_history: z.array(closureObservationSchema).min(2).max(1_000),
198
- delegation_checks: z.array(delegationCheckSchema).min(1).max(1_000),
194
+ operation_outcomes: z.array(operationOutcomeSchema),
195
+ cleanup: z.array(cleanupSchema),
196
+ closure_history: z.array(closureObservationSchema).min(2),
197
+ delegation_checks: z.array(delegationCheckSchema).min(1),
199
198
  replay: replaySchema,
200
199
  stages: z
201
200
  .array(stageSchema)
@@ -218,11 +217,10 @@ const findingSchema = z.strictObject({
218
217
  stage_id: readinessStageIdSchema,
219
218
  status: z.enum(["fail", "unknown"]),
220
219
  detail: boundedTextSchema,
221
- evidence_ids: z.array(evidenceIdSchema).max(100),
220
+ evidence_ids: z.array(evidenceIdSchema),
222
221
  });
223
222
  export const reconstructionReadinessReportSchema = z.strictObject({
224
223
  schema: z.literal("ReconstructionReadinessReport"),
225
- schema_version: z.literal(1),
226
224
  report_id: z.string().regex(/^rr_[a-f0-9]{64}$/u),
227
225
  source_digest: digestSchema,
228
226
  report_digest: digestSchema,
@@ -262,7 +260,7 @@ export const reconstructionReadinessReportSchema = z.strictObject({
262
260
  seen.add(stage.stage_id);
263
261
  });
264
262
  }),
265
- findings: z.array(findingSchema).max(10_000),
266
- evidence_links: z.array(evidenceIdSchema).max(100_000),
263
+ findings: z.array(findingSchema),
264
+ evidence_links: z.array(evidenceIdSchema),
267
265
  snapshot: reconstructionReadinessInputSchema,
268
266
  });
@@ -45,7 +45,7 @@ export const reconstructionClaimUnknowns = (heads, comparisonId, sourceIds) => {
45
45
  })
46
46
  .sort((left, right) => left.unknown_id.localeCompare(right.unknown_id, "en"));
47
47
  };
48
- /** Aggregate and bound deterministic probes for unresolved claims. */
48
+ /** Aggregate deterministic probes for unresolved claims. */
49
49
  export const reconstructionProbes = (results, heads) => {
50
50
  const output = new Map();
51
51
  for (const result of results.filter(({ status }) => status === "unknown")) {
@@ -71,7 +71,7 @@ export const reconstructionProbes = (results, heads) => {
71
71
  }
72
72
  }
73
73
  const sorted = [...output.values()].sort((left, right) => `${left.operation}\0${left.rationale}`.localeCompare(`${right.operation}\0${right.rationale}`, "en"));
74
- return { items: sorted.slice(0, 2_000), truncated: sorted.length > 2_000 };
74
+ return sorted;
75
75
  };
76
76
  const defaultProbe = (kind) => kind === "behavioral"
77
77
  ? {
@@ -84,7 +84,7 @@ const defaultProbe = (kind) => kind === "behavioral"
84
84
  rationale: "Capture complete function dossiers under equal limits.",
85
85
  }
86
86
  : {
87
- operation: "inventory_artifact",
87
+ operation: "inspect_artifact",
88
88
  rationale: "Capture complete artifact inventories under equal limits.",
89
89
  };
90
90
  const uniqueSorted = (values) => [...new Set(values)].sort((left, right) => left.localeCompare(right, "en"));
@@ -12,51 +12,40 @@ import { reconstructionClaimResultSchema, reconstructionSpecificationSchema, rec
12
12
  import { reconstructionClaimUnknowns, reconstructionProbes, reconstructionUnknownHeads, } from "./reconstructionUnknowns.js";
13
13
  const evidenceIdSchema = z.string().regex(/^ev_[a-f0-9]{64}$/u);
14
14
  export { reconstructionVerificationInputSchema, reconstructionVerificationResultSchema, } from "./reconstructionVerificationSchemas.js";
15
- const MAX_BUNDLE_RECORDS = 20_100;
16
- const MAX_UNKNOWN_REVISIONS = 10_000;
17
- const MAX_CANONICAL_BYTES = 32 * 1024 * 1024;
18
15
  const providers = {
19
16
  behavioral: {
20
17
  operation: "compare_process_captures",
21
- predicates: ["rea.process-comparison/v3", "rea.process-comparison/v4"],
18
+ predicates: ["rea.process-comparison"],
22
19
  id: "rea-process",
23
20
  name: "REA deterministic process harness",
24
21
  },
25
22
  "structural-function": {
26
23
  operation: "compare_functions",
27
- predicates: ["rea.function-comparison/v1"],
24
+ predicates: ["rea.function-comparison"],
28
25
  id: "rea-function-comparison",
29
26
  name: "REA function comparison",
30
27
  },
31
28
  "structural-artifact": {
32
29
  operation: "compare_artifacts",
33
- predicates: ["rea.artifact-comparison/v1"],
30
+ predicates: ["rea.artifact-comparison"],
34
31
  id: "rea-artifact-comparison",
35
32
  name: "REA artifact comparison",
36
33
  },
37
34
  };
38
35
  const acceptsPredicate = (expected, actual) => expected.some((predicate) => predicate === actual);
39
36
  /** Verify only explicitly declared claims; no global equivalence is inferred. */
40
- export const verifyReconstruction = (specificationInput, bundleInput, offset, limit) => {
37
+ export const verifyReconstruction = (specificationInput, bundleInput) => {
41
38
  const specification = reconstructionSpecificationSchema.parse(specificationInput);
42
- enforceInputSize(bundleInput);
43
39
  const bundle = parseEvidenceBundle(bundleInput);
44
- if (bundle.records.length > MAX_BUNDLE_RECORDS)
45
- throw new TypeError("Reconstruction Evidence record limit exceeded");
46
- if (bundle.unknowns.length > MAX_UNKNOWN_REVISIONS)
47
- throw new TypeError("Reconstruction unknown revision limit exceeded");
48
40
  const records = new Map(bundle.records.map((item) => [item.evidence_id, item]));
49
41
  const heads = reconstructionUnknownHeads(bundle.unknowns);
50
42
  const results = specification.claims
51
43
  .map((claim) => evaluateClaim(claim, records, heads))
52
44
  .sort((left, right) => left.claim_id.localeCompare(right.claim_id, "en"));
53
- const page = results.slice(offset, offset + limit);
54
45
  const failed = count(results, "fail");
55
46
  const unresolved = count(results, "unknown");
56
47
  const probes = reconstructionProbes(results, heads);
57
48
  const evidenceLinks = uniqueSorted(results.flatMap(({ evidence_links: links }) => links));
58
- if (evidenceLinks.length > 20_100)
59
- throw new TypeError("Reconstruction Evidence closure exceeds limit");
60
49
  const output = {
61
50
  status: failed > 0 ? "fail" : unresolved > 0 ? "unknown" : "pass",
62
51
  specification_sha256: digest({
@@ -72,19 +61,12 @@ export const verifyReconstruction = (specificationInput, bundleInput, offset, li
72
61
  structural: results.filter(({ kind }) => kind !== "behavioral").length,
73
62
  },
74
63
  claims: {
75
- items: page,
76
- offset,
77
- limit,
78
- total: results.length,
79
- next_offset: offset + page.length < results.length ? offset + page.length : null,
64
+ items: results,
80
65
  },
81
- recommended_probes: probes.items,
66
+ recommended_probes: probes,
82
67
  evidence_links: evidenceLinks,
83
68
  limitations: [
84
69
  "Pass means every declared claim passed; it does not establish global implementation equivalence.",
85
- ...(probes.truncated
86
- ? ["Recommended probes were truncated at the 2,000-item limit."]
87
- : []),
88
70
  ],
89
71
  };
90
72
  return reconstructionVerificationResultSchema.parse(output);
@@ -111,8 +93,7 @@ const evaluateClaim = (claim, records, heads) => {
111
93
  const limitations = authorityLimitations(claim, sources, sides);
112
94
  const relevantUnknowns = reconstructionClaimUnknowns(heads, comparison.evidence_id, allSourceIds);
113
95
  const status = classify(observed, limitations, relevantUnknowns);
114
- const displayedUnknowns = relevantUnknowns.slice(0, 100);
115
- const hiddenUnknownCount = relevantUnknowns.length - displayedUnknowns.length;
96
+ const displayedUnknowns = relevantUnknowns;
116
97
  return reconstructionClaimResultSchema.parse({
117
98
  claim_id: claim.claim_id,
118
99
  kind: claim.kind,
@@ -128,20 +109,15 @@ const evaluateClaim = (claim, records, heads) => {
128
109
  ...comparison.limitations,
129
110
  ...limitations,
130
111
  ...displayedUnknowns.map(({ question }) => `Residual unknown: ${question}`),
131
- ...(hiddenUnknownCount > 0
132
- ? [
133
- `${hiddenUnknownCount} additional active residual unknowns affect this claim but are omitted by the 100-item display limit.`,
134
- ]
135
- : []),
136
112
  ]),
137
113
  });
138
114
  };
139
115
  const validateSourceKinds = (claim, sources) => {
140
116
  const expected = claim.kind === "behavioral"
141
- ? ["capture_process_scenario", "rea.process-capture/v4"]
117
+ ? ["capture_process_scenario", "rea.process-capture"]
142
118
  : claim.kind === "structural-function"
143
- ? ["analyze_function", "rea.analysis/v2"]
144
- : ["inventory_artifact", "rea.analysis/v2"];
119
+ ? ["analyze_function", "rea.analysis"]
120
+ : ["inventory_artifact", "rea.analysis"];
145
121
  if (sources.some((source) => source.operation !== expected[0] ||
146
122
  source.predicate_type !== expected[1]))
147
123
  throw new TypeError("Comparison source Evidence has an unexpected observation type");
@@ -184,8 +160,8 @@ const sourceSides = (claim, evidence) => {
184
160
  }
185
161
  const parsed = z
186
162
  .object({
187
- left_evidence_ids: z.array(evidenceIdSchema).min(1).max(100),
188
- right_evidence_ids: z.array(evidenceIdSchema).min(1).max(100),
163
+ left_evidence_ids: z.array(evidenceIdSchema).min(1),
164
+ right_evidence_ids: z.array(evidenceIdSchema).min(1),
189
165
  })
190
166
  .passthrough()
191
167
  .parse(parameters);
@@ -211,11 +187,7 @@ const observedStatus = (claim, evidence) => {
211
187
  return dimension.status;
212
188
  }
213
189
  const result = artifactComparisonResultSchema.parse(evidence.normalized_result);
214
- if (result.changes.offset !== 0 ||
215
- result.changes.next_offset !== null ||
216
- result.changes.items.length !== result.changes.total)
217
- return "unknown";
218
- if (result.changes.items.some((item) => item.evidence_links.some((id) => !evidence.evidence_links.includes(id))))
190
+ if (result.changes.some((item) => item.evidence_links.some((id) => !evidence.evidence_links.includes(id))))
219
191
  throw new TypeError("Artifact change cites Evidence outside comparison closure");
220
192
  return result.status;
221
193
  };
@@ -261,12 +233,6 @@ const digest = (value) => {
261
233
  throw new TypeError("Specification canonicalization failed");
262
234
  return createHash("sha256").update(encoded).digest("hex");
263
235
  };
264
- const enforceInputSize = (value) => {
265
- const encoded = canonicalize(value);
266
- if (encoded === undefined ||
267
- Buffer.byteLength(encoded, "utf8") > MAX_CANONICAL_BYTES)
268
- throw new TypeError("Reconstruction Evidence bundle exceeds byte limit");
269
- };
270
236
  const count = (items, status) => items.filter((item) => item.status === status).length;
271
237
  const sameSet = (left, right) => left.length === right.length &&
272
238
  uniqueSorted(left).every((id, index) => id === uniqueSorted(right)[index]);
@@ -2,8 +2,8 @@ import { z } from "zod";
2
2
  const evidenceIdSchema = z.string().regex(/^ev_[a-f0-9]{64}$/u);
3
3
  const unknownIdSchema = z.string().regex(/^unk_[a-f0-9]{64}$/u);
4
4
  const digestSchema = z.string().regex(/^[a-f0-9]{64}$/u);
5
- const claimIdSchema = z.string().regex(/^[A-Za-z][A-Za-z0-9._-]{0,99}$/u);
6
- const titleSchema = z.string().trim().min(1).max(500);
5
+ const claimIdSchema = z.string().regex(/^[A-Za-z][A-Za-z0-9._-]*$/u);
6
+ const titleSchema = z.string().trim().min(1);
7
7
  const verificationStatusSchema = z.enum(["pass", "fail", "unknown"]);
8
8
  const commonClaim = {
9
9
  claim_id: claimIdSchema,
@@ -52,9 +52,8 @@ const reconstructionClaimSchema = z.discriminatedUnion("kind", [
52
52
  /** Finite, typed behavioral and structural specification. */
53
53
  export const reconstructionSpecificationSchema = z
54
54
  .object({
55
- schema_version: z.literal(1),
56
- name: z.string().trim().min(1).max(200),
57
- claims: z.array(reconstructionClaimSchema).min(1).max(100),
55
+ name: z.string().trim().min(1),
56
+ claims: z.array(reconstructionClaimSchema).min(1),
58
57
  })
59
58
  .superRefine((value, context) => {
60
59
  const ids = value.claims.map(({ claim_id: id }) => id);
@@ -67,20 +66,9 @@ export const reconstructionSpecificationSchema = z
67
66
  message: "Claim comparison selectors must be unique",
68
67
  });
69
68
  });
70
- /** Bounded reconstruction-verification input. */
69
+ /** Reconstruction-verification input. */
71
70
  export const reconstructionVerificationInputSchema = z.strictObject({
72
71
  specification: reconstructionSpecificationSchema,
73
- coverage: z
74
- .strictObject({
75
- workspace_id: z.string().regex(/^rcw_[a-f0-9]{64}$/u),
76
- revision: z.number().int().min(1),
77
- revision_sha256: digestSchema,
78
- boundary_id: z.string().min(1).max(200),
79
- })
80
- .optional(),
81
- offset: z.number().int().min(0).default(0),
82
- limit: z.number().int().min(1).max(100).default(100),
83
- unknown_registry_approved: z.literal(true).optional(),
84
72
  });
85
73
  export const reconstructionClaimResultSchema = z.object({
86
74
  claim_id: claimIdSchema,
@@ -97,18 +85,19 @@ export const reconstructionClaimResultSchema = z.object({
97
85
  "contradiction",
98
86
  ]),
99
87
  comparison_evidence_id: evidenceIdSchema,
100
- left_evidence_ids: z.array(evidenceIdSchema).min(1).max(100),
101
- right_evidence_ids: z.array(evidenceIdSchema).min(1).max(100),
102
- evidence_links: z.array(evidenceIdSchema).min(3).max(201),
103
- unknown_ids: z.array(unknownIdSchema).max(100),
88
+ left_evidence_ids: z.array(evidenceIdSchema).min(1),
89
+ right_evidence_ids: z.array(evidenceIdSchema).min(1),
90
+ evidence_links: z.array(evidenceIdSchema).min(3),
91
+ unknown_ids: z.array(unknownIdSchema),
104
92
  limitations: z.array(z.string()),
105
93
  });
106
- /** Evidence-cited result over every declared claim, independently paged. */
107
- export const reconstructionVerificationResultSchema = z.object({
94
+ /** Evidence-cited result over every declared claim. */
95
+ export const reconstructionVerificationResultSchema = z
96
+ .object({
108
97
  status: verificationStatusSchema,
109
98
  specification_sha256: digestSchema,
110
99
  summary: z.object({
111
- total: z.number().int().min(1).max(100),
100
+ total: z.number().int().min(1),
112
101
  passed: z.number().int().min(0),
113
102
  failed: z.number().int().min(0),
114
103
  unknown: z.number().int().min(0),
@@ -116,20 +105,43 @@ export const reconstructionVerificationResultSchema = z.object({
116
105
  structural: z.number().int().min(0),
117
106
  }),
118
107
  claims: z.object({
119
- items: z.array(reconstructionClaimResultSchema).max(100),
120
- offset: z.number().int().min(0),
121
- limit: z.number().int().min(1).max(100),
122
- total: z.number().int().min(1).max(100),
123
- next_offset: z.number().int().min(0).nullable(),
108
+ items: z.array(reconstructionClaimResultSchema),
124
109
  }),
125
- recommended_probes: z
126
- .array(z.object({
127
- operation: z.string().min(1).max(200),
128
- rationale: z.string().min(1).max(1_000),
129
- claim_ids: z.array(claimIdSchema).min(1).max(100),
130
- unknown_ids: z.array(unknownIdSchema).max(100),
131
- }))
132
- .max(2_000),
133
- evidence_links: z.array(evidenceIdSchema).min(3).max(20_100),
110
+ recommended_probes: z.array(z.object({
111
+ operation: z.string().min(1),
112
+ rationale: z.string().min(1),
113
+ claim_ids: z.array(claimIdSchema).min(1),
114
+ unknown_ids: z.array(unknownIdSchema),
115
+ })),
116
+ evidence_links: z.array(evidenceIdSchema).min(3),
134
117
  limitations: z.array(z.string()),
118
+ })
119
+ .superRefine((result, context) => {
120
+ const { summary } = result;
121
+ const expectedStatus = summary.failed > 0 ? "fail" : summary.unknown > 0 ? "unknown" : "pass";
122
+ const issues = [
123
+ [
124
+ summary.total !== summary.passed + summary.failed + summary.unknown,
125
+ "Claim status counts must equal the summary total",
126
+ ["summary", "total"],
127
+ ],
128
+ [
129
+ summary.total !== summary.behavioral + summary.structural,
130
+ "Claim kind counts must equal the summary total",
131
+ ["summary", "total"],
132
+ ],
133
+ [
134
+ result.claims.items.length !== summary.total,
135
+ "Retained claims must equal the summary total",
136
+ ["claims", "items"],
137
+ ],
138
+ [
139
+ result.status !== expectedStatus,
140
+ "Verification status must summarize claim statuses",
141
+ ["status"],
142
+ ],
143
+ ];
144
+ for (const [invalid, message, path] of issues)
145
+ if (invalid)
146
+ context.addIssue({ code: "custom", message, path: [...path] });
135
147
  });