rea-agents 2.2.0 → 2.3.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 (165) hide show
  1. package/README.md +56 -9
  2. package/dist/application/ApplicationWorkflowEvidenceResolver.js +162 -0
  3. package/dist/application/BinarySession.js +9 -2
  4. package/dist/application/BinarySessionStatus.js +39 -1
  5. package/dist/application/CapabilityInventory.js +15 -0
  6. package/dist/application/CommandShimReplay.js +6 -3
  7. package/dist/application/CompositeProvider.js +5 -2
  8. package/dist/application/DirectAnalysis.js +1 -20
  9. package/dist/application/DirectAnalysisStatus.js +83 -0
  10. package/dist/application/Doctor.js +34 -25
  11. package/dist/application/DoctorDiagnostics.js +1 -4
  12. package/dist/application/DoctorProjection.js +43 -0
  13. package/dist/application/DoctorScope.js +102 -0
  14. package/dist/application/EvidenceReferenceResolver.js +26 -0
  15. package/dist/application/JavaScriptApplicationEvidence.js +1 -1
  16. package/dist/application/JavaScriptApplicationEvidenceGraph.js +10 -1
  17. package/dist/application/JavaScriptApplicationService.js +3 -2
  18. package/dist/application/JavaScriptApplicationWorkflowEvidence.js +26 -0
  19. package/dist/application/JavaScriptApplicationWorkflowService.js +49 -1
  20. package/dist/application/JavaScriptArtifactReconstruction.js +7 -0
  21. package/dist/application/JavaScriptModuleRelationships.js +25 -1
  22. package/dist/application/JavaScriptReturnShapeProjection.js +111 -0
  23. package/dist/application/JavaScriptSemanticGraphBuilder.js +294 -0
  24. package/dist/application/JavaScriptSemanticGraphConstruction.js +144 -0
  25. package/dist/application/JavaScriptSemanticGraphEvidence.js +86 -0
  26. package/dist/application/JavaScriptSemanticGraphFlowProjection.js +72 -0
  27. package/dist/application/JavaScriptSemanticGraphProjection.js +33 -0
  28. package/dist/application/JavaScriptSemanticTraceService.js +45 -0
  29. package/dist/application/LoopbackReplay.js +277 -133
  30. package/dist/application/LoopbackReplayRecorder.js +101 -0
  31. package/dist/application/PermissionAuthority.js +7 -3
  32. package/dist/application/ProcessCaptureJournal.js +95 -0
  33. package/dist/application/ProcessCaptureLifecycle.js +24 -13
  34. package/dist/application/ProcessCheckpoints.js +30 -4
  35. package/dist/application/ProcessCli.js +26 -4
  36. package/dist/application/ProcessHarness.js +20 -50
  37. package/dist/application/ProcessNormalization.js +3 -2
  38. package/dist/application/ProcessReactiveCoordinator.js +218 -0
  39. package/dist/application/ProcessReactiveEffects.js +133 -0
  40. package/dist/application/ProcessReactiveObservations.js +20 -0
  41. package/dist/application/ProcessSampling.js +2 -0
  42. package/dist/application/SessionProviderRouter.js +7 -6
  43. package/dist/application/Setup.js +11 -10
  44. package/dist/application/SetupPlan.js +1 -1
  45. package/dist/application/SetupRegistrationEnvironment.js +12 -0
  46. package/dist/application/TerminalRenderer.js +3 -1
  47. package/dist/browser/CdpEndpoint.js +37 -4
  48. package/dist/catalogIdentity.js +16 -7
  49. package/dist/cli/coreAnalysisCommands.js +34 -2
  50. package/dist/cli/javascriptApplicationAnalysis.js +19 -0
  51. package/dist/cli/setupCommands.js +81 -32
  52. package/dist/cli/utilityCommands.js +10 -2
  53. package/dist/cliApplicationCommands.js +79 -16
  54. package/dist/cliCommandNames.js +3 -0
  55. package/dist/cliElectronCommands.js +23 -33
  56. package/dist/cliObservationOptions.js +1 -1
  57. package/dist/cliOutput.js +56 -0
  58. package/dist/cliProcessCommands.js +32 -1
  59. package/dist/cliSetup.js +30 -21
  60. package/dist/contracts/applicationToolContracts.js +54 -7
  61. package/dist/contracts/applicationWorkflowInputContracts.js +119 -0
  62. package/dist/contracts/electronToolContracts.js +53 -32
  63. package/dist/contracts/javascriptApplicationWorkflowExamples.js +32 -9
  64. package/dist/contracts/processCaptureExample.js +1 -0
  65. package/dist/contracts/replayMachineExample.js +37 -0
  66. package/dist/contracts/toolContractExamples.js +2 -0
  67. package/dist/contracts/toolContracts.js +5 -1
  68. package/dist/contracts/toolEffects.js +3 -0
  69. package/dist/contracts/toolOutputSchemaGroups.js +2 -0
  70. package/dist/contracts/toolOutputSchemaPrimitives.js +40 -0
  71. package/dist/doctorRuntime.js +41 -0
  72. package/dist/domain/analysisErrorPresentation.js +5 -3
  73. package/dist/domain/analysisErrorProjection.js +7 -1
  74. package/dist/domain/changedBehavior.js +5 -4
  75. package/dist/domain/completionLedgerGeneration.js +190 -0
  76. package/dist/domain/errors.js +4 -2
  77. package/dist/domain/evidenceCompletionLedger.js +113 -0
  78. package/dist/domain/hopperStartupFailure.js +9 -0
  79. package/dist/domain/javascriptApplicationAnalysis.js +44 -2
  80. package/dist/domain/javascriptExportShapeComparison.js +145 -0
  81. package/dist/domain/javascriptExportShapeComparisonIdentity.js +11 -0
  82. package/dist/domain/javascriptExportShapeComparisonSchemas.js +277 -0
  83. package/dist/domain/javascriptExportShapeSelection.js +132 -0
  84. package/dist/domain/javascriptExportShapeVariants.js +272 -0
  85. package/dist/domain/javascriptRuntimeReconciliationParsing.js +2 -2
  86. package/dist/domain/javascriptSemanticAnalysis.js +17 -36
  87. package/dist/domain/javascriptSemanticCallResolution.js +129 -0
  88. package/dist/domain/javascriptSemanticCalls.js +269 -0
  89. package/dist/domain/javascriptSemanticGraph.js +356 -0
  90. package/dist/domain/javascriptSemanticGraphSchemas.js +329 -0
  91. package/dist/domain/javascriptSemanticGraphSerialization.js +23 -0
  92. package/dist/domain/javascriptSemanticIr.js +14 -1
  93. package/dist/domain/javascriptSemanticPrimitives.js +36 -0
  94. package/dist/domain/javascriptSemanticProjection.js +36 -4
  95. package/dist/domain/javascriptSemanticProvenance.js +29 -0
  96. package/dist/domain/javascriptSemanticQuery.js +294 -0
  97. package/dist/domain/javascriptSemanticQueryAssessment.js +74 -0
  98. package/dist/domain/javascriptSemanticQueryIdentity.js +86 -0
  99. package/dist/domain/javascriptSemanticQueryRelations.js +15 -0
  100. package/dist/domain/javascriptSemanticQuerySchemas.js +188 -0
  101. package/dist/domain/javascriptSemanticReturns.js +187 -0
  102. package/dist/domain/javascriptSemanticState.js +32 -0
  103. package/dist/domain/javascriptSemanticTraceSchemas.js +14 -0
  104. package/dist/domain/javascriptSemanticValues.js +54 -70
  105. package/dist/domain/processCapture.js +36 -0
  106. package/dist/domain/processCaptureValidation.js +101 -12
  107. package/dist/domain/processComparison.js +78 -25
  108. package/dist/domain/processObservation.js +153 -0
  109. package/dist/domain/processReactiveCheckpointDataflow.js +32 -0
  110. package/dist/domain/processReactiveMatching.js +210 -0
  111. package/dist/domain/processReactiveRuntime.js +109 -0
  112. package/dist/domain/processReactiveScenario.js +361 -0
  113. package/dist/domain/processReactiveScenarioPreflight.js +120 -0
  114. package/dist/domain/processReactiveTransition.js +159 -0
  115. package/dist/domain/processScenario.js +12 -0
  116. package/dist/domain/processTraceComparison.js +43 -0
  117. package/dist/domain/processTraceDimensionProjection.js +50 -0
  118. package/dist/domain/processTraceEvaluation.js +312 -0
  119. package/dist/domain/processTraceSpecification.js +373 -0
  120. package/dist/domain/reconstructionVerification.js +5 -4
  121. package/dist/domain/replayMachine.js +18 -2
  122. package/dist/domain/replayMachineRun.js +216 -0
  123. package/dist/domain/replayMachineRuntime.js +88 -9
  124. package/dist/domain/staticRuntimeCorrelation.js +4 -2
  125. package/dist/evaluation/CodexAgentEval.js +24 -0
  126. package/dist/generatedPackageMetadata.js +1 -1
  127. package/dist/ghidra/GhidraClient.js +13 -2
  128. package/dist/ghidra/GhidraDiagnostics.js +1 -0
  129. package/dist/ghidra/GhidraLauncher.js +7 -3
  130. package/dist/ghidra/GhidraProvider.js +8 -1
  131. package/dist/hopper/BridgeLauncher.js +56 -14
  132. package/dist/hopper/HopperClient.js +23 -10
  133. package/dist/hopper/HopperDiagnostics.js +14 -0
  134. package/dist/hopper/HopperProcessDiagnostic.js +14 -0
  135. package/dist/hopper/HopperProvider.js +8 -1
  136. package/dist/hopper/LinuxPrivateDisplayDiagnostic.js +72 -0
  137. package/dist/hopper/LinuxPrivateDisplayProbe.js +217 -0
  138. package/dist/main/transport.js +2 -0
  139. package/dist/mcpDoctor.js +310 -0
  140. package/dist/process/ProcessOwnership.js +200 -53
  141. package/dist/process/ProviderRunLineage.js +21 -0
  142. package/dist/server/createServer.js +4 -1
  143. package/dist/server/javascriptApplicationResult.js +22 -1
  144. package/dist/server/registerApplicationTools/characterization.js +3 -3
  145. package/dist/server/registerApplicationTools/compareExportShapes.js +37 -0
  146. package/dist/server/registerApplicationTools/compareVersions.js +12 -6
  147. package/dist/server/registerApplicationTools/controlledReplay.js +2 -2
  148. package/dist/server/registerApplicationTools/coverage.js +3 -3
  149. package/dist/server/registerApplicationTools/helpers.js +37 -25
  150. package/dist/server/registerApplicationTools/traceFeature.js +9 -5
  151. package/dist/server/registerApplicationTools/traceSemantics.js +30 -0
  152. package/dist/server/registerApplicationTools.js +4 -0
  153. package/dist/server/registerEvidenceResources.js +5 -1
  154. package/dist/server/registerProcessComparisonTool.js +17 -7
  155. package/dist/server/registerReplayMachineTool.js +20 -0
  156. package/dist/server/registerSessionTools.js +12 -7
  157. package/dist/server/sessionAvailabilityPolicy.js +2 -1
  158. package/dist/serverIdentity.js +19 -0
  159. package/package.json +62 -30
  160. package/scripts/hopper-demo-x11.py +459 -61
  161. package/scripts/prepack.mjs +55 -0
  162. package/scripts/prepare.mjs +28 -0
  163. package/scripts/rea.mjs +26 -5
  164. package/skills/reverse-engineer-anything/SKILL.md +2 -2
  165. package/skills/reverse-engineer-anything/references/javascript-applications.md +10 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "rea-agents",
3
- "version": "2.2.0",
3
+ "version": "2.3.0",
4
4
  "description": "Reverse engineer anything from your terminal or agent with one CLI and MCP server.",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -44,17 +44,29 @@
44
44
  "bridge/ghidra/ReaGhidraBridge.java",
45
45
  "scripts/rea.mjs",
46
46
  "scripts/hopper-demo-x11.py",
47
+ "scripts/prepack.mjs",
48
+ "scripts/prepare.mjs",
47
49
  "skills",
48
50
  "README.md",
49
51
  "LICENSE"
50
52
  ],
51
53
  "scripts": {
52
54
  "deps:check": "node scripts/check-dependency-install.mjs",
53
- "prebuild": "npm run deps:check && node scripts/generate-package-metadata.mjs",
55
+ "metadata:generate": "node scripts/generate-package-metadata.mjs",
56
+ "metadata:check": "node scripts/generate-package-metadata.mjs --check",
57
+ "prebuild": "npm run deps:check && npm run metadata:check",
54
58
  "build": "tsc -p tsconfig.build.json",
55
- "postbuild": "node scripts/record-build-cache.mjs",
56
59
  "precheck": "npm run deps:check",
57
- "check": "npm run typecheck && npm run lint && npm run format:check && npm run docs:check && npm test",
60
+ "check": "turbo run typecheck lint format:check knip metadata:check",
61
+ "precheck:fast": "npm run deps:check",
62
+ "check:fast": "turbo run typecheck lint",
63
+ "precheck:test": "npm run deps:check",
64
+ "check:test": "turbo run typecheck lint format:check knip metadata:check test:run",
65
+ "precheck:pr": "npm run deps:check",
66
+ "check:pr": "turbo run typecheck lint format:check knip metadata:check test:run docs:check:built",
67
+ "precheck:ci": "npm run deps:check",
68
+ "check:ci": "turbo run typecheck lint format:check knip metadata:check jscpd scan:todos",
69
+ "build:cached": "turbo run build",
58
70
  "format": "prettier --write .",
59
71
  "format:check": "prettier --check .",
60
72
  "lint": "oxlint",
@@ -64,42 +76,61 @@
64
76
  "jscpd": "jscpd src/ tests/",
65
77
  "scan:todos": "node scripts/scan-todos.mjs",
66
78
  "start": "node scripts/rea.mjs mcp",
67
- "pretest": "npm run build",
79
+ "pretest": "npm run build:cached",
68
80
  "test": "vitest run",
69
- "pretest:coverage": "npm run build",
81
+ "test:run": "vitest run",
82
+ "pretest:fast": "npm run build:cached",
83
+ "test:fast": "vitest run --project parallel",
84
+ "pretest:integration": "npm run build:cached",
85
+ "test:integration": "vitest run --project serial-integration",
86
+ "pretest:coverage": "npm run build:cached",
70
87
  "test:coverage": "vitest run --coverage.enabled --coverage.provider=v8",
88
+ "test:ci": "npm run test:coverage -- --reporter=default --reporter=junit --outputFile.junit=test-results.xml",
89
+ "pretest:ci:shard": "npm run build:cached",
90
+ "test:ci:shard": "vitest run --coverage.enabled --coverage.provider=v8 --coverage.thresholds.lines=0 --coverage.thresholds.functions=0 --coverage.thresholds.branches=0 --coverage.thresholds.statements=0 --reporter=default --reporter=blob",
91
+ "test:ci:merge": "vitest --merge-reports --coverage.enabled --coverage.provider=v8 --reporter=default --reporter=junit --outputFile.junit=test-results.xml",
92
+ "pretest:verbose": "npm run build:cached",
71
93
  "test:verbose": "vitest run --reporter=verbose",
72
- "test:watch": "vitest",
94
+ "pretest:watch": "npm run build:cached",
95
+ "test:watch": "vitest --project parallel --changed",
73
96
  "typecheck": "tsc --noEmit",
74
- "verify:hopper": "npm run build && node scripts/verify-real-hopper.mjs",
75
- "verify:ghidra": "npm run build && node scripts/verify-real-ghidra.mjs",
76
- "verify:ghidra:windows": "npm run build && npm run build:ghidra-windows-fixture && node scripts/verify-real-ghidra-windows.mjs",
77
- "verify:browser": "npm run build && node scripts/verify-real-browser.mjs",
78
- "verify:javascript-runtime": "npm run build && node scripts/verify-local-javascript-runtime.mjs",
79
- "verify:application-workflows": "npm run build && node scripts/verify-local-application-workflows.mjs",
80
- "verify:managed": "npm run build && node scripts/verify-managed-conformance.mjs",
81
- "verify:replay": "npm run build && node scripts/verify-real-javascript-replay.mjs",
82
- "verify:agent": "npm run build && node scripts/verify-agent-experience.mjs",
83
- "verify:hopper:linux": "npm run build && node scripts/verify-real-hopper-linux.mjs",
84
- "verify:setup:linux": "npm run build && node scripts/verify-linux-setup-e2e.mjs",
97
+ "verify:test-temp-hygiene": "npm run build:cached && node scripts/verify-test-temp-hygiene.mjs",
98
+ "verify:hopper": "npm run verify:fixtures && npm run build:cached && node scripts/verify-real-hopper.mjs",
99
+ "verify:ghidra": "npm run build:cached && node scripts/verify-real-ghidra.mjs",
100
+ "verify:ghidra:windows": "npm run build:cached && npm run build:ghidra-windows-fixture && node scripts/verify-real-ghidra-windows.mjs",
101
+ "verify:browser": "npm run build:cached && node scripts/verify-real-browser.mjs",
102
+ "verify:javascript-runtime": "npm run build:cached && node scripts/verify-local-javascript-runtime.mjs",
103
+ "verify:application-workflows": "npm run build:cached && node scripts/verify-local-application-workflows.mjs",
104
+ "verify:managed": "npm run build:cached && node scripts/verify-managed-conformance.mjs",
105
+ "verify:replay": "npm run build:cached && node scripts/verify-real-javascript-replay.mjs",
106
+ "verify:agent": "npm run build:cached && node scripts/verify-agent-experience.mjs",
107
+ "verify:hopper:linux": "npm run verify:fixtures && npm run build:cached && node scripts/verify-real-hopper-linux.mjs",
108
+ "verify:setup:linux": "npm run build:cached && node scripts/verify-linux-setup-e2e.mjs",
85
109
  "build:fixtures": "node scripts/build-conformance-fixtures.mjs",
86
110
  "build:ghidra-windows-fixture": "node scripts/create-ghidra-windows-fixture.mjs",
87
111
  "verify:fixtures": "npm run build:fixtures && node scripts/verify-conformance-fixtures.mjs",
88
- "verify:package": "npm run build && node scripts/verify-package.mjs",
89
- "verify:package:windows": "npm run build && node scripts/verify-windows-package.mjs",
90
- "probe:windows-capabilities": "npm run build && node scripts/windows-capabilities.mjs",
112
+ "verify:package": "npm run build:cached && node scripts/verify-package.mjs",
113
+ "verify:package:windows": "npm run build:cached && node scripts/verify-windows-package.mjs",
114
+ "probe:windows-capabilities": "npm run build:cached && node scripts/windows-capabilities.mjs",
91
115
  "verify:published": "node scripts/verify-published-package.mjs",
92
116
  "config:print": "node scripts/print-mcp-config.mjs",
93
- "docs:generate": "npm run build && node scripts/generate-skill-metadata.mjs && node scripts/generate-product-catalog.mjs && typedoc && node scripts/generate-error-schema.mjs",
94
- "docs:check": "node scripts/generate-package-metadata.mjs --check && npm run build && node scripts/generate-skill-metadata.mjs --check && node scripts/generate-product-catalog.mjs --check && node scripts/check-doc-facts.mjs && node scripts/check-typedoc.mjs && node scripts/generate-error-schema.mjs --check",
95
- "docs:error-schema": "npm run build && node scripts/generate-error-schema.mjs",
96
- "prepack": "npm run deps:check && node scripts/generate-skill-metadata.mjs --check",
97
- "prepublishOnly": "npm run deps:check && node scripts/generate-skill-metadata.mjs --check",
98
- "prepare": "npm run build && husky"
117
+ "evidence:generate": "npm run build:cached && node scripts/generate-completion-ledger.mjs",
118
+ "evidence:check": "npm run build:cached && node scripts/generate-completion-ledger.mjs --check",
119
+ "docs:api": "typedoc",
120
+ "docs:api:cached": "turbo run docs:api",
121
+ "docs:generate": "npm run metadata:generate && npm run build:cached && node scripts/generate-skill-metadata.mjs && node scripts/generate-product-catalog.mjs && node scripts/generate-completion-ledger.mjs && npm run docs:api:cached && node scripts/generate-error-schema.mjs",
122
+ "docs:check": "turbo run docs:check:built",
123
+ "docs:check:built": "node scripts/generate-package-metadata.mjs --check && node scripts/generate-skill-metadata.mjs --check && node scripts/generate-product-catalog.mjs --check && node scripts/generate-completion-ledger.mjs --check && node scripts/check-doc-facts.mjs && node scripts/generate-error-schema.mjs --check",
124
+ "docs:error-schema": "npm run build:cached && node scripts/generate-error-schema.mjs",
125
+ "prepack": "node scripts/prepack.mjs",
126
+ "prepare": "node scripts/prepare.mjs"
99
127
  },
100
128
  "lint-staged": {
101
- "*.{ts,mjs,json,md,yml,yaml}": "prettier --write",
102
- "*.ts": "oxlint --fix"
129
+ "*.{cjs,cts,js,jsx,mjs,mts,ts,tsx}": [
130
+ "prettier --write",
131
+ "oxlint --fix"
132
+ ],
133
+ "*.{json,md,yml,yaml}": "prettier --write"
103
134
  },
104
135
  "dependencies": {
105
136
  "@babel/parser": "8.0.4",
@@ -109,6 +140,7 @@
109
140
  "@jridgewell/trace-mapping": "0.3.31",
110
141
  "@lydell/node-pty": "1.1.0",
111
142
  "@modelcontextprotocol/server": "2.0.0-beta.4",
143
+ "@modelcontextprotocol/client": "2.0.0-beta.4",
112
144
  "@xterm/addon-serialize": "0.14.0",
113
145
  "@xterm/headless": "6.0.0",
114
146
  "@zip.js/zip.js": "2.8.26",
@@ -129,7 +161,6 @@
129
161
  },
130
162
  "devDependencies": {
131
163
  "@fast-check/vitest": "0.4.1",
132
- "@modelcontextprotocol/client": "2.0.0-beta.4",
133
164
  "@types/node": "24.10.1",
134
165
  "@types/semver": "7.7.1",
135
166
  "@types/write-file-atomic": "4.0.3",
@@ -142,6 +173,7 @@
142
173
  "oxlint": "1.73.0",
143
174
  "prettier": "3.6.2",
144
175
  "typedoc": "0.28.20",
176
+ "turbo": "2.10.5",
145
177
  "typescript": "5.9.3",
146
178
  "vitest": "4.1.10"
147
179
  }