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
@@ -1,7 +1,7 @@
1
1
  import { ConfigurationError } from "../domain/errors.js";
2
2
  import { err, ok } from "../domain/result.js";
3
3
  import { browserEndpointSchema, browserOriginSchema, } from "../domain/browserObservation.js";
4
- import { parseAbsoluteRoots, parseBrowserArray, parseElectronFileRoots, } from "./parsers.js";
4
+ import { parseBrowserArray } from "./parsers.js";
5
5
  import { browserNetworkScope, permissionScope } from "./permissions.js";
6
6
  /** Parse every passive observation capability into closed policy variants. */
7
7
  export const parsePassiveObservationPolicies = (env) => {
@@ -26,22 +26,11 @@ export const appendPassiveObservationCeilings = (ceilings, policies) => {
26
26
  appendElectronCeiling(ceilings, policies.electron);
27
27
  appendV8InspectorCeiling(ceilings, policies.v8Inspector);
28
28
  };
29
- /** Project the legal file and origin scopes from an enabled V8 policy. */
30
- export const v8InspectorLocationScopes = (locations) => {
31
- switch (locations.scope) {
32
- case "files":
33
- return { fileRoots: locations.fileRoots, allowedOrigins: [] };
34
- case "origins":
35
- return { fileRoots: [], allowedOrigins: locations.allowedOrigins };
36
- case "files-and-origins":
37
- return locations;
38
- }
39
- };
40
29
  const parseBrowserObservationPolicy = (env) => {
41
- const endpoints = parseBrowserArray(env.REA_BROWSER_CDP_ENDPOINTS_JSON, "REA_BROWSER_CDP_ENDPOINTS_JSON", browserEndpointSchema, 16);
30
+ const endpoints = parseBrowserArray(env.REA_BROWSER_CDP_ENDPOINTS_JSON, "REA_BROWSER_CDP_ENDPOINTS_JSON", browserEndpointSchema);
42
31
  if (!endpoints.ok)
43
32
  return endpoints;
44
- const origins = parseBrowserArray(env.REA_BROWSER_ALLOWED_ORIGINS_JSON, "REA_BROWSER_ALLOWED_ORIGINS_JSON", browserOriginSchema, 32);
33
+ const origins = parseBrowserArray(env.REA_BROWSER_ALLOWED_ORIGINS_JSON, "REA_BROWSER_ALLOWED_ORIGINS_JSON", browserOriginSchema);
45
34
  if (!origins.ok)
46
35
  return origins;
47
36
  if (env.REA_BROWSER_OBSERVE_ENABLED !== "true")
@@ -59,70 +48,14 @@ const parseBrowserObservationPolicy = (env) => {
59
48
  });
60
49
  };
61
50
  const parseElectronObservationPolicy = (env) => {
62
- const endpoints = parseBrowserArray(env.REA_ELECTRON_CDP_ENDPOINTS_JSON, "REA_ELECTRON_CDP_ENDPOINTS_JSON", browserEndpointSchema, 16);
63
- if (!endpoints.ok)
64
- return endpoints;
65
- const roots = parseElectronFileRoots(env.REA_ELECTRON_FILE_ROOTS_JSON);
66
- if (!roots.ok)
67
- return roots;
68
51
  if (env.REA_ELECTRON_OBSERVE_ENABLED !== "true")
69
52
  return ok({ status: "disabled" });
70
- const parsedEndpoints = requireFirst(endpoints.value, "REA_ELECTRON_CDP_ENDPOINTS_JSON must encode at least one loopback endpoint when Electron observation is enabled");
71
- if (!parsedEndpoints.ok)
72
- return parsedEndpoints;
73
- const parsedRoots = requireFirst(roots.value, "REA_ELECTRON_FILE_ROOTS_JSON must encode at least one absolute root when Electron observation is enabled");
74
- if (!parsedRoots.ok)
75
- return parsedRoots;
76
- return ok({
77
- status: "enabled",
78
- cdpEndpoints: parsedEndpoints.value,
79
- fileRoots: parsedRoots.value,
80
- });
53
+ return ok({ status: "enabled" });
81
54
  };
82
55
  const parseV8InspectorObservationPolicy = (env) => {
83
- const endpoints = parseBrowserArray(env.REA_V8_INSPECTOR_ENDPOINTS_JSON, "REA_V8_INSPECTOR_ENDPOINTS_JSON", browserEndpointSchema, 16);
84
- if (!endpoints.ok)
85
- return endpoints;
86
- const roots = parseAbsoluteRoots(env.REA_V8_INSPECTOR_FILE_ROOTS_JSON, "REA_V8_INSPECTOR_FILE_ROOTS_JSON");
87
- if (!roots.ok)
88
- return roots;
89
- const origins = parseBrowserArray(env.REA_V8_INSPECTOR_ALLOWED_ORIGINS_JSON, "REA_V8_INSPECTOR_ALLOWED_ORIGINS_JSON", browserOriginSchema, 32);
90
- if (!origins.ok)
91
- return origins;
92
56
  if (env.REA_V8_INSPECTOR_OBSERVE_ENABLED !== "true")
93
57
  return ok({ status: "disabled" });
94
- const parsedEndpoints = requireFirst(endpoints.value, "REA_V8_INSPECTOR_ENDPOINTS_JSON must encode at least one loopback endpoint when V8 Inspector observation is enabled");
95
- if (!parsedEndpoints.ok)
96
- return parsedEndpoints;
97
- const locations = parseV8Locations(roots.value, origins.value);
98
- if (!locations.ok)
99
- return locations;
100
- return ok({
101
- status: "enabled",
102
- endpoints: parsedEndpoints.value,
103
- locations: locations.value,
104
- });
105
- };
106
- const parseV8Locations = (roots, origins) => {
107
- const [firstRoot, ...remainingRoots] = roots;
108
- const [firstOrigin, ...remainingOrigins] = origins;
109
- if (firstRoot !== undefined && firstOrigin !== undefined)
110
- return ok({
111
- scope: "files-and-origins",
112
- fileRoots: [firstRoot, ...remainingRoots],
113
- allowedOrigins: [firstOrigin, ...remainingOrigins],
114
- });
115
- if (firstRoot !== undefined)
116
- return ok({
117
- scope: "files",
118
- fileRoots: [firstRoot, ...remainingRoots],
119
- });
120
- if (firstOrigin !== undefined)
121
- return ok({
122
- scope: "origins",
123
- allowedOrigins: [firstOrigin, ...remainingOrigins],
124
- });
125
- return err(new ConfigurationError("V8 Inspector observation requires at least one file root or exact origin when enabled"));
58
+ return ok({ status: "enabled" });
126
59
  };
127
60
  const requireFirst = (values, message) => {
128
61
  const [first, ...remaining] = values;
@@ -141,17 +74,14 @@ const appendBrowserCeiling = (ceilings, policy) => {
141
74
  const appendElectronCeiling = (ceilings, policy) => {
142
75
  if (policy.status === "disabled")
143
76
  return;
144
- ceilings.push(permissionScope("electron_observe", policy.fileRoots, {
145
- origins: policy.cdpEndpoints,
77
+ ceilings.push(permissionScope("electron_observe", [], {
146
78
  network: "loopback",
147
79
  }));
148
80
  };
149
81
  const appendV8InspectorCeiling = (ceilings, policy) => {
150
82
  if (policy.status === "disabled")
151
83
  return;
152
- const scopes = v8InspectorLocationScopes(policy.locations);
153
- ceilings.push(permissionScope("v8_inspector_observe", scopes.fileRoots, {
154
- origins: [...policy.endpoints, ...scopes.allowedOrigins],
84
+ ceilings.push(permissionScope("v8_inspector_observe", [], {
155
85
  network: "loopback",
156
86
  }));
157
87
  };
@@ -1,11 +1,4 @@
1
1
  import { isLiteralLoopbackHostname } from "../domain/browserObservation.js";
2
- export const filePolicy = (roots) => ({
3
- roots,
4
- maxBytes: 64 * 1024 * 1024,
5
- maxDepth: 64,
6
- maxStringLength: 1024 * 1024,
7
- maxNodes: 1_000_000,
8
- });
9
2
  export const permissionScope = (capability, roots, options = {}) => ({
10
3
  capability,
11
4
  roots,
@@ -1,14 +1,11 @@
1
1
  import { z } from "zod";
2
- /** Shared bounded provider search input fields. */
2
+ /** Shared provider search input fields. */
3
3
  export const analysisSearchInput = {
4
4
  pattern: z
5
5
  .string()
6
6
  .min(1)
7
- .max(256)
8
- .describe("The literal text or bounded regex pattern to search for"),
7
+ .describe("The literal text or regex pattern to search for"),
9
8
  mode: z.enum(["literal", "regex"]).default("literal"),
10
9
  case_sensitive: z.boolean().default(false).describe("Whether to match case"),
11
- offset: z.number().int().min(0).default(0),
12
- limit: z.number().int().min(1).max(100).default(100),
13
10
  document: z.string().optional().describe("The document name"),
14
11
  };
@@ -1,5 +1,4 @@
1
1
  import { applicationVersionComparisonResultSchema } from "../domain/javascriptApplicationVersionComparisonSchemas.js";
2
- import { z } from "zod";
3
2
  import { applicationFeatureTraceResultSchema } from "../domain/javascriptFeatureTraceSchemas.js";
4
3
  import { javaScriptSemanticTraceResultSchema } from "../domain/javascriptSemanticTraceSchemas.js";
5
4
  import { javaScriptExportShapeComparisonResultSchema } from "../domain/javascriptExportShapeComparisonSchemas.js";
@@ -7,44 +6,25 @@ import { sourceToBundleComparisonResultSchema } from "../domain/sourceToBundleCo
7
6
  import { compareApplicationVersionsRequestSchema, compareJavaScriptExportShapesRequestSchema, compareSourceToBundleRequestSchema, traceApplicationFeatureRequestSchema, traceJavaScriptSemanticsRequestSchema, } from "./applicationWorkflowInputContracts.js";
8
7
  import { controlledReplayInputSchema, controlledReplayOutputSchema, } from "../domain/javascriptReplay.js";
9
8
  import { nodeCharacterizationExecutionInputSchema, nodeCharacterizationExecutionOutputSchema, nodeCharacterizationPreparationInputSchema, nodeCharacterizationPreparationOutputSchema, } from "../domain/nodeRuntimeCharacterization.js";
10
- import { reconstructionCoverageCommitInputSchema, reconstructionCoverageCommitOutputSchema, reconstructionCoverageQueryInputSchema, } from "../application/ReconstructionCoverageService.js";
9
+ import { reconstructionCoverageEvaluationInputSchema } from "../application/ReconstructionCoverageService.js";
11
10
  import { reconstructionClosureResultSchema } from "../domain/reconstructionCoverage.js";
12
- import { reconstructionObligationLedgerInputSchema, reconstructionObligationLedgerPageSchema, } from "../domain/reconstructionObligationLedgerSchemas.js";
13
- import { reconstructionReadinessInputSchema, reconstructionReadinessReportSchema, } from "../domain/reconstructionReadinessSchemas.js";
11
+ import { reconstructionObligationLedgerInputSchema, reconstructionObligationLedgerSchema, } from "../domain/reconstructionObligationLedgerSchemas.js";
14
12
  import { jsonObjectSchema } from "../domain/jsonValue.js";
15
13
  import { toolContractMetadata } from "./toolEffects.js";
16
14
  import { evidenceResultOf } from "./toolOutputSchemas.js";
17
15
  import { JAVASCRIPT_APPLICATION_VERSION_COMPARISON_EXAMPLE, JAVASCRIPT_EXPORT_SHAPE_COMPARISON_EXAMPLE, JAVASCRIPT_FEATURE_TRACE_EXAMPLE, SOURCE_TO_BUNDLE_COMPARISON_EXAMPLE, } from "./javascriptApplicationWorkflowExamples.js";
18
- import { RECONSTRUCTION_READINESS_EXAMPLE } from "./reconstructionReadinessExample.js";
19
16
  const traceOutputSchema = evidenceResultOf(applicationFeatureTraceResultSchema);
20
17
  const semanticTraceOutputSchema = evidenceResultOf(javaScriptSemanticTraceResultSchema);
21
18
  const comparisonOutputSchema = evidenceResultOf(applicationVersionComparisonResultSchema);
22
19
  const sourceToBundleOutputSchema = evidenceResultOf(sourceToBundleComparisonResultSchema);
23
20
  const exportShapeComparisonOutputSchema = evidenceResultOf(javaScriptExportShapeComparisonResultSchema);
24
- const reconstructionObligationLedgerOutputSchema = evidenceResultOf(reconstructionObligationLedgerPageSchema);
25
- const reconstructionReadinessOutputSchema = evidenceResultOf(reconstructionReadinessReportSchema
26
- .pick({
27
- schema: true,
28
- schema_version: true,
29
- report_id: true,
30
- source_digest: true,
31
- report_digest: true,
32
- status: true,
33
- summary: true,
34
- metrics: true,
35
- })
36
- .extend({
37
- report_resource_uri: z
38
- .string()
39
- .regex(/^rea:\/\/evidence\/ev_[a-f0-9]{64}\/reconstruction-readiness-report$/u),
40
- }));
21
+ const reconstructionObligationLedgerOutputSchema = evidenceResultOf(reconstructionObligationLedgerSchema);
41
22
  const HASH = "0".repeat(64);
42
23
  const NODE_PREPARATION_EXAMPLE = jsonObjectSchema.parse({
43
- preparation_approved: true,
44
24
  selected_alias: "bundle",
45
25
  expected_effect: "pure",
46
26
  instrumentation: {
47
- artifact_path: "/approved/bundle.js",
27
+ artifact_path: "/tmp/example/bundle.js",
48
28
  artifact_sha256: HASH,
49
29
  selection: {
50
30
  byte_start: 100,
@@ -59,7 +39,7 @@ const NODE_PREPARATION_EXAMPLE = jsonObjectSchema.parse({
59
39
  modules: [
60
40
  {
61
41
  alias: "bundle",
62
- path: "/approved/bundle.js",
42
+ path: "/tmp/example/bundle.js",
63
43
  format: "commonjs-factory",
64
44
  role: "module",
65
45
  dependencies: {},
@@ -71,40 +51,12 @@ const NODE_PREPARATION_EXAMPLE = jsonObjectSchema.parse({
71
51
  cases: [{ case_id: "empty", arguments: [""] }],
72
52
  },
73
53
  });
74
- const COVERAGE_WORKSPACE_EXAMPLE = jsonObjectSchema.parse({
75
- schema_version: 1,
76
- workspace_id: `rcw_${HASH}`,
77
- name: "replacement",
78
- revision: 1,
79
- previous_revision_sha256: null,
80
- revision_sha256: HASH,
81
- evidence_bundle: {
82
- bundle_version: 2,
83
- artifacts: [],
84
- providers: [],
85
- environments: [],
86
- scenarios: [],
87
- captures: [],
88
- unknowns: [],
89
- records: [],
90
- },
91
- artifacts: [],
92
- surfaces: [],
93
- owners: [],
94
- claims: [],
95
- verifier_contracts: [],
96
- verifier_results: [],
97
- residual_unknown_ids: [],
98
- contradictions: [],
99
- package_proofs: [],
100
- boundaries: [],
101
- });
102
54
  /** Provider-neutral graph workflow contracts shared by MCP and CLI adapters. */
103
55
  export const APPLICATION_TOOL_CONTRACTS = [
104
56
  {
105
57
  name: "trace_application_feature",
106
58
  ...toolContractMetadata("trace_application_feature"),
107
- description: "Trace a typed literal seed through an authenticated JavaScript Application Graph supplied as full Evidence or an Evidence ID returned earlier in this session. Explicit direction, depth, node, edge, and path bounds apply. Original static, native, passive-runtime, inferred, and unknown authorities remain distinct; native addon handoffs never open a provider or execute the application.",
59
+ description: "Trace a typed literal seed through every reachable part of an authenticated JavaScript Application Graph supplied as inline Evidence. Original static, native, passive-runtime, inferred, and unknown authorities remain distinct; native addon handoffs never open a provider or execute the application.",
108
60
  kind: "application",
109
61
  inputSchema: traceApplicationFeatureRequestSchema,
110
62
  outputSchema: traceOutputSchema,
@@ -118,7 +70,7 @@ export const APPLICATION_TOOL_CONTRACTS = [
118
70
  {
119
71
  name: "trace_javascript_semantics",
120
72
  ...toolContractMetadata("trace_javascript_semantics"),
121
- description: "Trace bounded static JavaScript data-flow, direct call/return, and closure relations from authenticated analyze_javascript_application v2 Evidence. Queries declare direction and exact node, relation, depth, function, module, and page limits. Dynamic or unsupported semantics remain explicit unknowns; static reachability never claims runtime execution.",
73
+ description: "Trace static JavaScript data-flow, direct call/return, and closure relations from inline application Evidence. Dynamic or unsupported semantics remain explicit unknowns; static reachability never claims runtime execution.",
122
74
  kind: "application",
123
75
  inputSchema: traceJavaScriptSemanticsRequestSchema,
124
76
  outputSchema: semanticTraceOutputSchema,
@@ -126,7 +78,7 @@ export const APPLICATION_TOOL_CONTRACTS = [
126
78
  {
127
79
  title: "Trace backward provenance from one semantic node",
128
80
  input: {
129
- application_evidence_id: `ev_${HASH}`,
81
+ application: JAVASCRIPT_FEATURE_TRACE_EXAMPLE.application,
130
82
  query: {
131
83
  seed: { kind: "semantic-node", node_id: `jsrg_node_${HASH}` },
132
84
  direction: "backward-provenance",
@@ -139,7 +91,7 @@ export const APPLICATION_TOOL_CONTRACTS = [
139
91
  {
140
92
  name: "compare_application_versions",
141
93
  ...toolContractMetadata("compare_application_versions"),
142
- description: "Compare two authenticated JavaScript Application Graph versions supplied as full Evidence or Evidence IDs returned earlier in this session. Uses unique-only exact digest, module source digest, source-map identity, structural fingerprint, and non-module semantic-key tiers. Reports added, removed, changed, ambiguous, and unknown entities plus a bounded changed_from graph without fuzzy or module-ordinal pairing.",
94
+ description: "Compare two authenticated JavaScript Application Graph versions supplied as inline Evidence. Uses unique-only exact digest, module source digest, source-map identity, structural fingerprint, and non-module semantic-key tiers. Reports added, removed, changed, ambiguous, and unknown entities plus the complete matching changed_from graph without fuzzy or module-ordinal pairing.",
143
95
  kind: "application",
144
96
  inputSchema: compareApplicationVersionsRequestSchema,
145
97
  outputSchema: comparisonOutputSchema,
@@ -153,7 +105,7 @@ export const APPLICATION_TOOL_CONTRACTS = [
153
105
  {
154
106
  name: "compare_source_to_bundle",
155
107
  ...toolContractMetadata("compare_source_to_bundle"),
156
- description: "Compare a cryptographically committed HistoricalSourceGraph/v1 with authenticated JavaScript Application Graph Evidence supplied directly or by session Evidence ID. Uses explicit exact-digest, source-map path, current-path, suffix, and basename signals with stable weights. Classifies unchanged, modified, removed, split, merged, duplicated, and unknown; incomplete coverage and ambiguous weak signals never become absence or forced matches.",
108
+ description: "Compare a cryptographically committed HistoricalSourceGraph with inline authenticated JavaScript Application Graph Evidence. Uses explicit exact-digest, source-map path, current-path, suffix, and basename signals with stable weights. Classifies unchanged, modified, removed, split, merged, duplicated, and unknown; incomplete coverage and ambiguous weak signals never become absence or forced matches.",
157
109
  kind: "application",
158
110
  inputSchema: compareSourceToBundleRequestSchema,
159
111
  outputSchema: sourceToBundleOutputSchema,
@@ -167,7 +119,7 @@ export const APPLICATION_TOOL_CONTRACTS = [
167
119
  {
168
120
  name: "compare_javascript_export_shapes",
169
121
  ...toolContractMetadata("compare_javascript_export_shapes"),
170
- description: "Compare bounded static return shapes for one exact module/export selector on each authenticated JavaScript Application Graph, supplied as full Evidence or session Evidence IDs. Variants pair only by reciprocal unique literal discriminants; dynamic values, incomplete properties, and ambiguous variants remain unknown. Reports JSON Pointer changes and recommends controlled replay separately without executing JavaScript.",
122
+ description: "Compare static return shapes for one exact module/export selector on each authenticated JavaScript Application Graph supplied as inline Evidence. Variants pair only by reciprocal unique literal discriminants; dynamic values, incomplete properties, and ambiguous variants remain unknown. Reports JSON Pointer changes and recommends controlled replay separately without executing JavaScript.",
171
123
  kind: "application",
172
124
  inputSchema: compareJavaScriptExportShapesRequestSchema,
173
125
  outputSchema: exportShapeComparisonOutputSchema,
@@ -181,7 +133,7 @@ export const APPLICATION_TOOL_CONTRACTS = [
181
133
  {
182
134
  name: "run_controlled_replay",
183
135
  ...toolContractMetadata("run_controlled_replay"),
184
- description: "Plan or execute a content-bound extracted-module JavaScript replay inside the Linux Bubblewrap, seccomp, and cgroup boundary. Execution requires approved: true and the exact plan digest. Supports deterministic boundary cases and optional left/right differential comparison; observations have controlled-replay authority and do not claim real application runtime behavior.",
136
+ description: "Plan or execute a content-bound extracted-module JavaScript replay inside the Linux Bubblewrap, seccomp, and cgroup boundary. Execution requires the exact plan digest. Supports deterministic boundary cases and optional left/right differential comparison; observations have controlled-replay authority and do not claim real application runtime behavior.",
185
137
  kind: "application",
186
138
  inputSchema: controlledReplayInputSchema,
187
139
  outputSchema: controlledReplayOutputSchema,
@@ -194,7 +146,7 @@ export const APPLICATION_TOOL_CONTRACTS = [
194
146
  modules: [
195
147
  {
196
148
  alias: "parser",
197
- path: "/approved/parser.mjs",
149
+ path: "/tmp/example/parser.mjs",
198
150
  format: "esm",
199
151
  role: "module",
200
152
  dependencies: {},
@@ -232,7 +184,7 @@ export const APPLICATION_TOOL_CONTRACTS = [
232
184
  {
233
185
  name: "prepare_node_characterization",
234
186
  ...toolContractMetadata("prepare_node_characterization"),
235
- description: "Prepare a hash-bound Node/JavaScript characterization plan and deterministic reversible export transformation without executing target code. The exact source, selected byte range, runtime closure, sandbox profile, cases, and limits are committed for separate execution approval.",
187
+ description: "Prepare a hash-bound Node/JavaScript characterization plan and deterministic reversible export transformation without executing target code. The exact source, selected byte range, runtime closure, sandbox profile, cases, and limits are committed for later execution.",
236
188
  kind: "application",
237
189
  inputSchema: nodeCharacterizationPreparationInputSchema,
238
190
  outputSchema: nodeCharacterizationPreparationOutputSchema,
@@ -246,15 +198,14 @@ export const APPLICATION_TOOL_CONTRACTS = [
246
198
  {
247
199
  name: "execute_node_characterization",
248
200
  ...toolContractMetadata("execute_node_characterization"),
249
- description: "Recompute and execute one separately approved exact Node characterization plan in the owned controlled-replay boundary. Returns transformation, replay, cleanup, and provider-neutral characterization Evidence v2; stale plans fail before execution.",
201
+ description: "Recompute and execute one exact Node characterization plan in the owned controlled-replay boundary. Returns transformation, replay, cleanup, and provider-neutral characterization Evidence; stale plans fail before execution.",
250
202
  kind: "application",
251
203
  inputSchema: nodeCharacterizationExecutionInputSchema,
252
204
  outputSchema: nodeCharacterizationExecutionOutputSchema,
253
205
  examples: [
254
206
  {
255
- title: "Execute one approved exact characterization plan",
207
+ title: "Execute one exact characterization plan",
256
208
  input: {
257
- execution_approved: true,
258
209
  approved_plan_sha256: HASH,
259
210
  preparation: NODE_PREPARATION_EXAMPLE,
260
211
  },
@@ -264,16 +215,15 @@ export const APPLICATION_TOOL_CONTRACTS = [
264
215
  {
265
216
  name: "build_reconstruction_obligation_ledger",
266
217
  ...toolContractMetadata("build_reconstruction_obligation_ledger"),
267
- description: "Generate one deterministic page of a ReconstructionObligationLedger/v1 from an authenticated Evidence v2 bundle, reviewed obligations, and an explicit reconstruction manifest. Static candidates remain candidates; duplicate ownership, missing original or reconstruction cases, missing parser/type, weak verifier authority, unenumerated claims, contradictions, dependencies, and residual unknowns fail closed. Every page carries the same full-ledger closure digest and typed per-obligation diagnostics.",
218
+ description: "Generate the complete deterministic ReconstructionObligationLedger from an authenticated Evidence bundle, reviewed obligations, and an explicit reconstruction manifest. Static candidates remain candidates; duplicate ownership, missing original or reconstruction cases, missing parser/type, weak verifier authority, unenumerated claims, contradictions, dependencies, and residual unknowns fail closed. The inline result carries the full-ledger closure digest and typed per-obligation diagnostics.",
268
219
  kind: "application",
269
220
  inputSchema: reconstructionObligationLedgerInputSchema,
270
221
  outputSchema: reconstructionObligationLedgerOutputSchema,
271
222
  examples: [
272
223
  {
273
- title: "Generate the first obligation-ledger page",
224
+ title: "Generate the complete obligation ledger",
274
225
  input: {
275
226
  evidence_bundle: {
276
- bundle_version: 2,
277
227
  artifacts: [],
278
228
  providers: [],
279
229
  environments: [],
@@ -284,61 +234,58 @@ export const APPLICATION_TOOL_CONTRACTS = [
284
234
  },
285
235
  reviewed_obligations: [],
286
236
  manifest: {
287
- schema_version: 1,
288
237
  bindings: [],
289
238
  contradictions: [],
290
239
  },
291
- limits: { max_obligations: 1_000 },
292
- page: { offset: 0, limit: 50 },
293
- },
294
- },
295
- ],
296
- },
297
- {
298
- name: "evaluate_reconstruction_readiness",
299
- ...toolContractMetadata("evaluate_reconstruction_readiness"),
300
- description: "Evaluate the fixed nine-stage public reconstruction journey into a deterministic ReconstructionReadinessReport/v1. Exact capability limits, provider routing, CLI/MCP status parity, bounded authority, partial-order comparison, contradictions, obligation closure, cleanup, and replay digests fail closed. Aggregate pass is emitted only when every required stage and check passes with attributable Evidence.",
301
- kind: "application",
302
- inputSchema: reconstructionReadinessInputSchema,
303
- outputSchema: reconstructionReadinessOutputSchema,
304
- examples: [
305
- {
306
- title: "Evaluate the complete synthetic reconstruction journey",
307
- input: RECONSTRUCTION_READINESS_EXAMPLE,
308
- },
309
- ],
310
- },
311
- {
312
- name: "commit_reconstruction_coverage",
313
- ...toolContractMetadata("commit_reconstruction_coverage"),
314
- description: "Atomically commit one canonical evidence-backed reconstruction coverage workspace revision under an approved root. CAS revisions reject lost updates; every Evidence and residual-unknown reference must resolve in the embedded canonical bundle.",
315
- kind: "application",
316
- inputSchema: reconstructionCoverageCommitInputSchema,
317
- outputSchema: reconstructionCoverageCommitOutputSchema,
318
- examples: [
319
- {
320
- title: "Commit the first canonical coverage revision",
321
- input: {
322
- approved: true,
323
- workspace_path: "/approved/coverage.json",
324
- expected_revision: null,
325
- workspace: COVERAGE_WORKSPACE_EXAMPLE,
326
240
  },
327
241
  },
328
242
  ],
329
243
  },
330
244
  {
331
- name: "query_reconstruction_coverage",
332
- ...toolContractMetadata("query_reconstruction_coverage"),
333
- description: "Evaluate one named reconstruction boundary from a canonical coverage workspace. Missing ownership or inventory is partial; stale, weak, truncated, skipped, or unresolved proof is unknown; contradictions, failed proof, missing owners, and authority routing fail closed.",
245
+ name: "evaluate_reconstruction_coverage",
246
+ ...toolContractMetadata("evaluate_reconstruction_coverage"),
247
+ description: "Evaluate inline evidence-backed reconstruction coverage against one named boundary. Missing ownership or inventory is partial; stale, weak, truncated, skipped, or unresolved proof is unknown; contradictions, failed proof, missing owners, and authority routing fail closed.",
334
248
  kind: "application",
335
- inputSchema: reconstructionCoverageQueryInputSchema,
249
+ inputSchema: reconstructionCoverageEvaluationInputSchema,
336
250
  outputSchema: reconstructionClosureResultSchema,
337
251
  examples: [
338
252
  {
339
253
  title: "Evaluate one replacement boundary",
340
254
  input: {
341
- workspace_path: "/approved/coverage.json",
255
+ coverage: {
256
+ evidence_bundle: {
257
+ artifacts: [],
258
+ providers: [],
259
+ environments: [],
260
+ scenarios: [],
261
+ captures: [],
262
+ unknowns: [],
263
+ records: [],
264
+ },
265
+ artifacts: [],
266
+ surfaces: [],
267
+ owners: [],
268
+ claims: [],
269
+ verifier_contracts: [],
270
+ verifier_results: [],
271
+ residual_unknown_ids: [],
272
+ contradictions: [],
273
+ package_proofs: [],
274
+ boundaries: [
275
+ {
276
+ boundary_id: "replacement.cli",
277
+ title: "CLI replacement",
278
+ required_surface_ids: ["cli.help"],
279
+ required_claim_ids: ["claim.cli.help"],
280
+ required_package_proof_kinds: [
281
+ "clean-install",
282
+ "authority-independence",
283
+ ],
284
+ allowed_dispositions: [],
285
+ allowed_unknown_ids: [],
286
+ },
287
+ ],
288
+ },
342
289
  boundary_id: "replacement.cli",
343
290
  },
344
291
  },
@@ -5,123 +5,48 @@ import { compareJavaScriptExportShapesInputSchema } from "../domain/javascriptEx
5
5
  import { traceApplicationFeatureInputSchema } from "../domain/javascriptFeatureTraceSchemas.js";
6
6
  import { javaScriptSemanticQueryInputSchema } from "../domain/javascriptSemanticQuerySchemas.js";
7
7
  import { compareSourceToBundleInputSchema } from "../domain/sourceToBundleComparisonSchemas.js";
8
- const evidenceIdSchema = z
9
- .string()
10
- .regex(/^ev_[a-f0-9]{64}$/u)
11
- .describe("Evidence ID returned earlier in this session");
12
8
  const traceApplicationFeatureFacts = {
13
9
  native_observations: traceApplicationFeatureInputSchema.shape.native_observations,
14
- native_observation_evidence_ids: z
15
- .array(evidenceIdSchema)
16
- .max(64)
17
- .default([]),
18
10
  seed: traceApplicationFeatureInputSchema.shape.seed,
19
11
  direction: traceApplicationFeatureInputSchema.shape.direction,
20
- limits: traceApplicationFeatureInputSchema.shape.limits,
21
12
  };
22
- /** MCP/CLI trace request accepting full Evidence or a ledger reference. */
23
- export const traceApplicationFeatureRequestSchema = z.union([
24
- z.strictObject({
25
- ...traceApplicationFeatureFacts,
26
- application: evidenceSchema,
27
- }),
28
- z.strictObject({
29
- ...traceApplicationFeatureFacts,
30
- application_evidence_id: evidenceIdSchema,
31
- }),
32
- ]);
33
- /** MCP/CLI semantic trace request accepting full Evidence or a ledger reference. */
34
- export const traceJavaScriptSemanticsRequestSchema = z.union([
35
- z.strictObject({
36
- application: evidenceSchema,
37
- query: javaScriptSemanticQueryInputSchema,
38
- }),
39
- z.strictObject({
40
- application_evidence_id: evidenceIdSchema,
41
- query: javaScriptSemanticQueryInputSchema,
42
- }),
43
- ]);
13
+ /** MCP/CLI trace request carrying all Evidence inline. */
14
+ export const traceApplicationFeatureRequestSchema = z.strictObject({
15
+ ...traceApplicationFeatureFacts,
16
+ application: evidenceSchema,
17
+ });
18
+ /** MCP/CLI semantic trace request carrying Evidence inline. */
19
+ export const traceJavaScriptSemanticsRequestSchema = z.strictObject({
20
+ application: evidenceSchema,
21
+ query: javaScriptSemanticQueryInputSchema,
22
+ });
44
23
  const compareApplicationVersionsFacts = {
45
24
  left_native_observations: compareApplicationVersionsInputSchema.shape.left_native_observations,
46
- left_native_observation_evidence_ids: z
47
- .array(evidenceIdSchema)
48
- .max(64)
49
- .default([]),
50
25
  right_native_observations: compareApplicationVersionsInputSchema.shape.right_native_observations,
51
- right_native_observation_evidence_ids: z
52
- .array(evidenceIdSchema)
53
- .max(64)
54
- .default([]),
55
- limits: compareApplicationVersionsInputSchema.shape.limits,
56
- unknown_registry_approved: compareApplicationVersionsInputSchema.shape.unknown_registry_approved,
57
26
  };
58
- /** MCP/CLI comparison request accepting full Evidence or ledger references. */
59
- export const compareApplicationVersionsRequestSchema = z.union([
60
- z.strictObject({
61
- ...compareApplicationVersionsFacts,
62
- left: evidenceSchema,
63
- right: evidenceSchema,
64
- }),
65
- z.strictObject({
66
- ...compareApplicationVersionsFacts,
67
- left: evidenceSchema,
68
- right_evidence_id: evidenceIdSchema,
69
- }),
70
- z.strictObject({
71
- ...compareApplicationVersionsFacts,
72
- left_evidence_id: evidenceIdSchema,
73
- right: evidenceSchema,
74
- }),
75
- z.strictObject({
76
- ...compareApplicationVersionsFacts,
77
- left_evidence_id: evidenceIdSchema,
78
- right_evidence_id: evidenceIdSchema,
79
- }),
80
- ]);
27
+ /** MCP/CLI comparison request carrying all Evidence inline. */
28
+ export const compareApplicationVersionsRequestSchema = z.strictObject({
29
+ ...compareApplicationVersionsFacts,
30
+ left: evidenceSchema,
31
+ right: evidenceSchema,
32
+ });
81
33
  const compareSourceToBundleFacts = {
82
34
  reference: compareSourceToBundleInputSchema.shape.reference,
83
- limits: compareSourceToBundleInputSchema.shape.limits,
84
- unknown_registry_approved: compareSourceToBundleInputSchema.shape.unknown_registry_approved,
85
35
  };
86
- /** Historical-source comparison accepting full application Evidence or a ledger reference. */
87
- export const compareSourceToBundleRequestSchema = z.union([
88
- z.strictObject({
89
- ...compareSourceToBundleFacts,
90
- application: evidenceSchema,
91
- }),
92
- z.strictObject({
93
- ...compareSourceToBundleFacts,
94
- application_evidence_id: evidenceIdSchema,
95
- }),
96
- ]);
36
+ /** Historical-source comparison carrying application Evidence inline. */
37
+ export const compareSourceToBundleRequestSchema = z.strictObject({
38
+ ...compareSourceToBundleFacts,
39
+ application: evidenceSchema,
40
+ });
97
41
  const compareJavaScriptExportShapesFacts = {
98
42
  left_module_path: compareJavaScriptExportShapesInputSchema.shape.left_module_path,
99
43
  left_export_name: compareJavaScriptExportShapesInputSchema.shape.left_export_name,
100
44
  right_module_path: compareJavaScriptExportShapesInputSchema.shape.right_module_path,
101
45
  right_export_name: compareJavaScriptExportShapesInputSchema.shape.right_export_name,
102
- limits: compareJavaScriptExportShapesInputSchema.shape.limits,
103
- unknown_registry_approved: compareJavaScriptExportShapesInputSchema.shape.unknown_registry_approved,
104
46
  };
105
- /** MCP/CLI export-shape request accepting full Evidence or ledger references. */
106
- export const compareJavaScriptExportShapesRequestSchema = z.union([
107
- z.strictObject({
108
- ...compareJavaScriptExportShapesFacts,
109
- left: evidenceSchema,
110
- right: evidenceSchema,
111
- }),
112
- z.strictObject({
113
- ...compareJavaScriptExportShapesFacts,
114
- left: evidenceSchema,
115
- right_evidence_id: evidenceIdSchema,
116
- }),
117
- z.strictObject({
118
- ...compareJavaScriptExportShapesFacts,
119
- left_evidence_id: evidenceIdSchema,
120
- right: evidenceSchema,
121
- }),
122
- z.strictObject({
123
- ...compareJavaScriptExportShapesFacts,
124
- left_evidence_id: evidenceIdSchema,
125
- right_evidence_id: evidenceIdSchema,
126
- }),
127
- ]);
47
+ /** MCP/CLI export-shape request carrying application Evidence inline. */
48
+ export const compareJavaScriptExportShapesRequestSchema = z.strictObject({
49
+ ...compareJavaScriptExportShapesFacts,
50
+ left: evidenceSchema,
51
+ right: evidenceSchema,
52
+ });