0xray 4.0.12 → 4.0.13

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 (940) hide show
  1. package/.grok-plugin/plugin.json +1 -1
  2. package/.xray/features.json +1 -1
  3. package/llms.txt +1 -1
  4. package/package.json +1 -1
  5. package/scripts/foundry/CHANGELOG.md +3 -1
  6. package/scripts/foundry/README.md +1 -1
  7. package/scripts/foundry/package.json +1 -1
  8. package/scripts/foundry/plant/agents/inspect.yml +1 -1
  9. package/scripts/foundry/plant/agents/mill.yml +1 -1
  10. package/src/integrations/openclaw/plugin/xray-pre-tool/package.json +1 -1
  11. package/xray/features.json +1 -1
  12. package/.opencode/skills/api-design/SKILL.md +0 -37
  13. package/.opencode/skills/architect-tools/SKILL.md +0 -37
  14. package/.opencode/skills/architecture-patterns/SKILL.md +0 -37
  15. package/.opencode/skills/auto-format/SKILL.md +0 -37
  16. package/.opencode/skills/backend-engineer/SKILL.md +0 -49
  17. package/.opencode/skills/boot-orchestrator/SKILL.md +0 -33
  18. package/.opencode/skills/bug-triage/SKILL.md +0 -43
  19. package/.opencode/skills/code-analyzer/SKILL.md +0 -45
  20. package/.opencode/skills/code-review/SKILL.md +0 -52
  21. package/.opencode/skills/content-creator/SKILL.md +0 -38
  22. package/.opencode/skills/database-engineer/SKILL.md +0 -46
  23. package/.opencode/skills/devops-engineer/SKILL.md +0 -49
  24. package/.opencode/skills/enforcer/SKILL.md +0 -37
  25. package/.opencode/skills/framework-compliance-audit/SKILL.md +0 -37
  26. package/.opencode/skills/frontend-engineer/SKILL.md +0 -49
  27. package/.opencode/skills/frontend-ui-ux-engineer/SKILL.md +0 -41
  28. package/.opencode/skills/git-workflow/SKILL.md +0 -37
  29. package/.opencode/skills/growth-strategist/SKILL.md +0 -48
  30. package/.opencode/skills/hermes-agent/SKILL.md +0 -212
  31. package/.opencode/skills/inference-improve/SKILL.md +0 -97
  32. package/.opencode/skills/lint/SKILL.md +0 -37
  33. package/.opencode/skills/log-monitor/SKILL.md +0 -44
  34. package/.opencode/skills/mobile-developer/SKILL.md +0 -42
  35. package/.opencode/skills/model-health-check/SKILL.md +0 -37
  36. package/.opencode/skills/multimodal-looker/SKILL.md +0 -45
  37. package/.opencode/skills/orchestrator/SKILL.md +0 -61
  38. package/.opencode/skills/performance-analysis/SKILL.md +0 -37
  39. package/.opencode/skills/performance-engineer/SKILL.md +0 -41
  40. package/.opencode/skills/performance-optimization/SKILL.md +0 -37
  41. package/.opencode/skills/processor-pipeline/SKILL.md +0 -37
  42. package/.opencode/skills/project-analysis/SKILL.md +0 -42
  43. package/.opencode/skills/refactoring-strategies/SKILL.md +0 -37
  44. package/.opencode/skills/registry.json +0 -65
  45. package/.opencode/skills/researcher/SKILL.md +0 -50
  46. package/.opencode/skills/security-audit/SKILL.md +0 -48
  47. package/.opencode/skills/security-scan/SKILL.md +0 -37
  48. package/.opencode/skills/seo-consultant/SKILL.md +0 -43
  49. package/.opencode/skills/session-management/SKILL.md +0 -36
  50. package/.opencode/skills/state-manager/SKILL.md +0 -37
  51. package/.opencode/skills/storyteller/SKILL.md +0 -130
  52. package/.opencode/skills/strategist/SKILL.md +0 -44
  53. package/.opencode/skills/tech-writer/SKILL.md +0 -37
  54. package/.opencode/skills/testing-best-practices/SKILL.md +0 -37
  55. package/.opencode/skills/testing-strategy/SKILL.md +0 -54
  56. package/.opencode/skills/ui-ux-design/SKILL.md +0 -603
  57. package/.opencode/skills/xray-orchestrator/SKILL.md +0 -141
  58. package/.opencode/skills/xray-orchestrator/index.ts +0 -267
  59. package/dist/.gitignore.default +0 -67
  60. package/dist/AGENTS.md +0 -225
  61. package/dist/CHANGELOG.md +0 -2764
  62. package/dist/LICENSE +0 -21
  63. package/dist/README.md +0 -233
  64. package/dist/SKILLS.md +0 -166
  65. package/dist/agents/architect.d.ts +0 -2
  66. package/dist/agents/architect.js +0 -56
  67. package/dist/agents/backend-engineer.d.ts +0 -8
  68. package/dist/agents/backend-engineer.js +0 -81
  69. package/dist/agents/bug-triage-specialist.d.ts +0 -2
  70. package/dist/agents/bug-triage-specialist.js +0 -74
  71. package/dist/agents/code-analyzer.d.ts +0 -7
  72. package/dist/agents/code-analyzer.js +0 -150
  73. package/dist/agents/code-reviewer.d.ts +0 -2
  74. package/dist/agents/code-reviewer.js +0 -69
  75. package/dist/agents/content-creator.d.ts +0 -9
  76. package/dist/agents/content-creator.js +0 -72
  77. package/dist/agents/database-engineer.d.ts +0 -8
  78. package/dist/agents/database-engineer.js +0 -76
  79. package/dist/agents/devops-engineer.d.ts +0 -8
  80. package/dist/agents/devops-engineer.js +0 -84
  81. package/dist/agents/frontend-engineer.d.ts +0 -8
  82. package/dist/agents/frontend-engineer.js +0 -78
  83. package/dist/agents/frontend-ui-ux-engineer.d.ts +0 -8
  84. package/dist/agents/frontend-ui-ux-engineer.js +0 -64
  85. package/dist/agents/growth-strategist.d.ts +0 -8
  86. package/dist/agents/growth-strategist.js +0 -111
  87. package/dist/agents/index.d.ts +0 -25
  88. package/dist/agents/index.js +0 -47
  89. package/dist/agents/known-names.d.ts +0 -26
  90. package/dist/agents/known-names.js +0 -72
  91. package/dist/agents/librarian-agents-updater.d.ts +0 -30
  92. package/dist/agents/librarian-agents-updater.js +0 -333
  93. package/dist/agents/log-monitor.d.ts +0 -2
  94. package/dist/agents/log-monitor.js +0 -109
  95. package/dist/agents/mobile-developer.d.ts +0 -9
  96. package/dist/agents/mobile-developer.js +0 -102
  97. package/dist/agents/multimodal-looker.d.ts +0 -9
  98. package/dist/agents/multimodal-looker.js +0 -93
  99. package/dist/agents/performance-engineer.d.ts +0 -8
  100. package/dist/agents/performance-engineer.js +0 -86
  101. package/dist/agents/refactorer.d.ts +0 -2
  102. package/dist/agents/refactorer.js +0 -80
  103. package/dist/agents/registry.d.ts +0 -37
  104. package/dist/agents/registry.js +0 -354
  105. package/dist/agents/researcher.d.ts +0 -2
  106. package/dist/agents/researcher.js +0 -83
  107. package/dist/agents/security-auditor.d.ts +0 -2
  108. package/dist/agents/security-auditor.js +0 -158
  109. package/dist/agents/seo-consultant.d.ts +0 -8
  110. package/dist/agents/seo-consultant.js +0 -53
  111. package/dist/agents/strategist.d.ts +0 -7
  112. package/dist/agents/strategist.js +0 -47
  113. package/dist/agents/tech-writer.d.ts +0 -8
  114. package/dist/agents/tech-writer.js +0 -84
  115. package/dist/agents/testing-lead.d.ts +0 -2
  116. package/dist/agents/testing-lead.js +0 -95
  117. package/dist/agents/types.d.ts +0 -45
  118. package/dist/agents/types.js +0 -1
  119. package/dist/analytics/consent-manager.d.ts +0 -92
  120. package/dist/analytics/consent-manager.js +0 -257
  121. package/dist/analytics/emerging-pattern-detector.d.ts +0 -66
  122. package/dist/analytics/emerging-pattern-detector.js +0 -259
  123. package/dist/analytics/pattern-learning-engine.d.ts +0 -79
  124. package/dist/analytics/pattern-learning-engine.js +0 -277
  125. package/dist/analytics/pattern-performance-tracker.d.ts +0 -96
  126. package/dist/analytics/pattern-performance-tracker.js +0 -335
  127. package/dist/analytics/predictive-analytics.d.ts +0 -40
  128. package/dist/analytics/predictive-analytics.js +0 -247
  129. package/dist/analytics/prompt-pattern-analyzer.d.ts +0 -98
  130. package/dist/analytics/prompt-pattern-analyzer.js +0 -370
  131. package/dist/analytics/routing-performance-analyzer.d.ts +0 -100
  132. package/dist/analytics/routing-performance-analyzer.js +0 -355
  133. package/dist/analytics/routing-refiner.d.ts +0 -102
  134. package/dist/analytics/routing-refiner.js +0 -377
  135. package/dist/analytics/simple-pattern-analyzer.d.ts +0 -79
  136. package/dist/analytics/simple-pattern-analyzer.js +0 -296
  137. package/dist/architect/architect-tools.d.ts +0 -70
  138. package/dist/architect/architect-tools.js +0 -437
  139. package/dist/architect/architectural-integrity.d.ts +0 -20
  140. package/dist/architect/architectural-integrity.js +0 -78
  141. package/dist/benchmark/performance-benchmark.d.ts +0 -103
  142. package/dist/benchmark/performance-benchmark.js +0 -373
  143. package/dist/cli/commands/analytics-disable.d.ts +0 -9
  144. package/dist/cli/commands/analytics-disable.js +0 -72
  145. package/dist/cli/commands/analytics-enable-action.d.ts +0 -8
  146. package/dist/cli/commands/analytics-enable-action.js +0 -82
  147. package/dist/cli/commands/analytics-preview.d.ts +0 -9
  148. package/dist/cli/commands/analytics-preview.js +0 -106
  149. package/dist/cli/commands/analytics-status.d.ts +0 -9
  150. package/dist/cli/commands/analytics-status.js +0 -68
  151. package/dist/cli/commands/antigravity-status.d.ts +0 -9
  152. package/dist/cli/commands/antigravity-status.js +0 -106
  153. package/dist/cli/commands/archive-logs.d.ts +0 -23
  154. package/dist/cli/commands/archive-logs.js +0 -160
  155. package/dist/cli/commands/credible-init.d.ts +0 -11
  156. package/dist/cli/commands/credible-init.js +0 -82
  157. package/dist/cli/commands/enforce.d.ts +0 -12
  158. package/dist/cli/commands/enforce.js +0 -78
  159. package/dist/cli/commands/foundry-mint-wear.d.ts +0 -3
  160. package/dist/cli/commands/foundry-mint-wear.js +0 -17
  161. package/dist/cli/commands/govern.d.ts +0 -29
  162. package/dist/cli/commands/govern.js +0 -149
  163. package/dist/cli/commands/grok-install.d.ts +0 -7
  164. package/dist/cli/commands/grok-install.js +0 -16
  165. package/dist/cli/commands/hermes-install.d.ts +0 -2
  166. package/dist/cli/commands/hermes-install.js +0 -90
  167. package/dist/cli/commands/mcp-install.d.ts +0 -4
  168. package/dist/cli/commands/mcp-install.js +0 -253
  169. package/dist/cli/commands/openclaw-install.d.ts +0 -2
  170. package/dist/cli/commands/openclaw-install.js +0 -80
  171. package/dist/cli/commands/opencode-install.d.ts +0 -2
  172. package/dist/cli/commands/opencode-install.js +0 -153
  173. package/dist/cli/commands/plugin-commands.d.ts +0 -18
  174. package/dist/cli/commands/plugin-commands.js +0 -245
  175. package/dist/cli/commands/publish-agent.d.ts +0 -15
  176. package/dist/cli/commands/publish-agent.js +0 -184
  177. package/dist/cli/commands/security-audit.d.ts +0 -23
  178. package/dist/cli/commands/security-audit.js +0 -219
  179. package/dist/cli/commands/skill-install.d.ts +0 -6
  180. package/dist/cli/commands/skill-install.js +0 -522
  181. package/dist/cli/commands/status.d.ts +0 -41
  182. package/dist/cli/commands/status.js +0 -199
  183. package/dist/cli/commands/storyteller.d.ts +0 -19
  184. package/dist/cli/commands/storyteller.js +0 -230
  185. package/dist/cli/index.d.ts +0 -7
  186. package/dist/cli/index.js +0 -996
  187. package/dist/cli/server.d.ts +0 -1
  188. package/dist/cli/server.js +0 -147
  189. package/dist/config/default-agents.d.ts +0 -12
  190. package/dist/config/default-agents.js +0 -16
  191. package/dist/config/routing-mappings.d.ts +0 -26
  192. package/dist/config/routing-mappings.js +0 -151
  193. package/dist/core/activity-logger.d.ts +0 -71
  194. package/dist/core/activity-logger.js +0 -259
  195. package/dist/core/adaptive-kernel.d.ts +0 -108
  196. package/dist/core/adaptive-kernel.js +0 -191
  197. package/dist/core/agent-spawn-gate.d.ts +0 -56
  198. package/dist/core/agent-spawn-gate.js +0 -120
  199. package/dist/core/boot-orchestrator.d.ts +0 -99
  200. package/dist/core/boot-orchestrator.js +0 -809
  201. package/dist/core/bridge.mjs +0 -922
  202. package/dist/core/codex-formatter.d.ts +0 -95
  203. package/dist/core/codex-formatter.js +0 -218
  204. package/dist/core/codex-injector.d.ts +0 -73
  205. package/dist/core/codex-injector.js +0 -423
  206. package/dist/core/config-loader.d.ts +0 -59
  207. package/dist/core/config-loader.js +0 -157
  208. package/dist/core/config-paths.d.ts +0 -66
  209. package/dist/core/config-paths.js +0 -169
  210. package/dist/core/context-loader.d.ts +0 -120
  211. package/dist/core/context-loader.js +0 -268
  212. package/dist/core/context-validator.d.ts +0 -52
  213. package/dist/core/context-validator.js +0 -211
  214. package/dist/core/features-config.d.ts +0 -531
  215. package/dist/core/features-config.js +0 -524
  216. package/dist/core/framework-logger.d.ts +0 -76
  217. package/dist/core/framework-logger.js +0 -275
  218. package/dist/core/index.d.ts +0 -5
  219. package/dist/core/index.js +0 -6
  220. package/dist/core/kernel-patterns.d.ts +0 -129
  221. package/dist/core/kernel-patterns.js +0 -301
  222. package/dist/core/logging-config.d.ts +0 -10
  223. package/dist/core/logging-config.js +0 -43
  224. package/dist/core/model-router.d.ts +0 -56
  225. package/dist/core/model-router.js +0 -134
  226. package/dist/core/orchestrator.d.ts +0 -71
  227. package/dist/core/orchestrator.js +0 -408
  228. package/dist/core/system-prompt-generator.d.ts +0 -34
  229. package/dist/core/system-prompt-generator.js +0 -264
  230. package/dist/core/trace-context.d.ts +0 -12
  231. package/dist/core/trace-context.js +0 -33
  232. package/dist/core/xray-activation.d.ts +0 -14
  233. package/dist/core/xray-activation.js +0 -135
  234. package/dist/delegation/agent-delegator.d.ts +0 -185
  235. package/dist/delegation/agent-delegator.js +0 -768
  236. package/dist/delegation/agent-expertise.d.ts +0 -15
  237. package/dist/delegation/agent-expertise.js +0 -155
  238. package/dist/delegation/analytics/index.d.ts +0 -11
  239. package/dist/delegation/analytics/index.js +0 -11
  240. package/dist/delegation/analytics/learning-engine.d.ts +0 -84
  241. package/dist/delegation/analytics/learning-engine.js +0 -276
  242. package/dist/delegation/analytics/outcome-tracker.d.ts +0 -117
  243. package/dist/delegation/analytics/outcome-tracker.js +0 -278
  244. package/dist/delegation/analytics/routing-analytics.d.ts +0 -60
  245. package/dist/delegation/analytics/routing-analytics.js +0 -192
  246. package/dist/delegation/ast-code-parser.d.ts +0 -173
  247. package/dist/delegation/ast-code-parser.js +0 -877
  248. package/dist/delegation/codebase-context-analyzer.d.ts +0 -164
  249. package/dist/delegation/codebase-context-analyzer.js +0 -1040
  250. package/dist/delegation/complexity-analyzer.d.ts +0 -110
  251. package/dist/delegation/complexity-analyzer.js +0 -281
  252. package/dist/delegation/complexity-core.d.ts +0 -119
  253. package/dist/delegation/complexity-core.js +0 -219
  254. package/dist/delegation/config/types.d.ts +0 -247
  255. package/dist/delegation/config/types.js +0 -6
  256. package/dist/delegation/dependency-graph-builder.d.ts +0 -94
  257. package/dist/delegation/dependency-graph-builder.js +0 -408
  258. package/dist/delegation/index.d.ts +0 -25
  259. package/dist/delegation/index.js +0 -20
  260. package/dist/delegation/metrics-aggregator.d.ts +0 -91
  261. package/dist/delegation/metrics-aggregator.js +0 -334
  262. package/dist/delegation/session-coordinator.d.ts +0 -132
  263. package/dist/delegation/session-coordinator.js +0 -351
  264. package/dist/delegation/strategy-selector.d.ts +0 -27
  265. package/dist/delegation/strategy-selector.js +0 -107
  266. package/dist/delegation/voting-coordinator.d.ts +0 -48
  267. package/dist/delegation/voting-coordinator.js +0 -374
  268. package/dist/delegation/voting-types.d.ts +0 -154
  269. package/dist/delegation/voting-types.js +0 -9
  270. package/dist/delegation/weighted-voting-aggregator.d.ts +0 -36
  271. package/dist/delegation/weighted-voting-aggregator.js +0 -193
  272. package/dist/enforcement/core/index.d.ts +0 -14
  273. package/dist/enforcement/core/index.js +0 -18
  274. package/dist/enforcement/core/rule-executor.d.ts +0 -157
  275. package/dist/enforcement/core/rule-executor.js +0 -364
  276. package/dist/enforcement/core/rule-hierarchy.d.ts +0 -145
  277. package/dist/enforcement/core/rule-hierarchy.js +0 -258
  278. package/dist/enforcement/core/rule-registry.d.ts +0 -196
  279. package/dist/enforcement/core/rule-registry.js +0 -239
  280. package/dist/enforcement/core/violation-fixer.d.ts +0 -105
  281. package/dist/enforcement/core/violation-fixer.js +0 -650
  282. package/dist/enforcement/enforcer-tools.d.ts +0 -85
  283. package/dist/enforcement/enforcer-tools.js +0 -818
  284. package/dist/enforcement/index.d.ts +0 -22
  285. package/dist/enforcement/index.js +0 -40
  286. package/dist/enforcement/loaders/agent-triage-loader.d.ts +0 -98
  287. package/dist/enforcement/loaders/agent-triage-loader.js +0 -221
  288. package/dist/enforcement/loaders/agents-md-validation-loader.d.ts +0 -75
  289. package/dist/enforcement/loaders/agents-md-validation-loader.js +0 -251
  290. package/dist/enforcement/loaders/base-loader.d.ts +0 -82
  291. package/dist/enforcement/loaders/base-loader.js +0 -85
  292. package/dist/enforcement/loaders/codex-loader.d.ts +0 -76
  293. package/dist/enforcement/loaders/codex-loader.js +0 -395
  294. package/dist/enforcement/loaders/index.d.ts +0 -36
  295. package/dist/enforcement/loaders/index.js +0 -39
  296. package/dist/enforcement/loaders/loader-orchestrator.d.ts +0 -96
  297. package/dist/enforcement/loaders/loader-orchestrator.js +0 -167
  298. package/dist/enforcement/loaders/processor-loader.d.ts +0 -59
  299. package/dist/enforcement/loaders/processor-loader.js +0 -112
  300. package/dist/enforcement/rule-enforcer.d.ts +0 -142
  301. package/dist/enforcement/rule-enforcer.js +0 -298
  302. package/dist/enforcement/test-auto-healing.d.ts +0 -83
  303. package/dist/enforcement/test-auto-healing.js +0 -325
  304. package/dist/enforcement/types.d.ts +0 -500
  305. package/dist/enforcement/types.js +0 -29
  306. package/dist/enforcement/validators/architecture-validators.d.ts +0 -154
  307. package/dist/enforcement/validators/architecture-validators.js +0 -599
  308. package/dist/enforcement/validators/base-validator.d.ts +0 -87
  309. package/dist/enforcement/validators/base-validator.js +0 -107
  310. package/dist/enforcement/validators/code-quality-validators.d.ts +0 -88
  311. package/dist/enforcement/validators/code-quality-validators.js +0 -335
  312. package/dist/enforcement/validators/index.d.ts +0 -14
  313. package/dist/enforcement/validators/index.js +0 -20
  314. package/dist/enforcement/validators/security-validators.d.ts +0 -52
  315. package/dist/enforcement/validators/security-validators.js +0 -219
  316. package/dist/enforcement/validators/testing-validators.d.ts +0 -80
  317. package/dist/enforcement/validators/testing-validators.js +0 -252
  318. package/dist/enforcement/validators/validator-registry.d.ts +0 -91
  319. package/dist/enforcement/validators/validator-registry.js +0 -149
  320. package/dist/execution/opencode-cli-invoker.d.ts +0 -8
  321. package/dist/execution/opencode-cli-invoker.js +0 -173
  322. package/dist/execution/proposal-applier.d.ts +0 -24
  323. package/dist/execution/proposal-applier.js +0 -254
  324. package/dist/governance/codex-policy.service.d.ts +0 -56
  325. package/dist/governance/codex-policy.service.js +0 -166
  326. package/dist/governance/governance-core.d.ts +0 -53
  327. package/dist/governance/governance-core.js +0 -168
  328. package/dist/governance/governance-service.d.ts +0 -39
  329. package/dist/governance/governance-service.js +0 -351
  330. package/dist/governance/governance-types.d.ts +0 -90
  331. package/dist/governance/governance-types.js +0 -11
  332. package/dist/governance/llm-governance-provider.d.ts +0 -16
  333. package/dist/governance/llm-governance-provider.js +0 -284
  334. package/dist/governance/local-confer.d.ts +0 -10
  335. package/dist/governance/local-confer.js +0 -27
  336. package/dist/index.d.ts +0 -28
  337. package/dist/index.js +0 -24
  338. package/dist/inference/deploy-verifier.d.ts +0 -26
  339. package/dist/inference/deploy-verifier.js +0 -161
  340. package/dist/inference/index.d.ts +0 -10
  341. package/dist/inference/index.js +0 -5
  342. package/dist/inference/inference-accumulator.d.ts +0 -29
  343. package/dist/inference/inference-accumulator.js +0 -126
  344. package/dist/inference/inference-agent-invoker.d.ts +0 -3
  345. package/dist/inference/inference-agent-invoker.js +0 -67
  346. package/dist/inference/inference-applier.d.ts +0 -4
  347. package/dist/inference/inference-applier.js +0 -178
  348. package/dist/inference/inference-cycle.d.ts +0 -70
  349. package/dist/inference/inference-cycle.js +0 -392
  350. package/dist/inference/inference-proposal-generator.d.ts +0 -3
  351. package/dist/inference/inference-proposal-generator.js +0 -149
  352. package/dist/inference/semantic-patterns.d.ts +0 -7
  353. package/dist/inference/semantic-patterns.js +0 -310
  354. package/dist/inference/session-capture.d.ts +0 -32
  355. package/dist/inference/session-capture.js +0 -308
  356. package/dist/infrastructure/iac-validator.d.ts +0 -150
  357. package/dist/infrastructure/iac-validator.js +0 -465
  358. package/dist/infrastructure/schemas/cloud-schemas.d.ts +0 -482
  359. package/dist/infrastructure/schemas/cloud-schemas.js +0 -488
  360. package/dist/integrations/base/ExampleIntegration.d.ts +0 -46
  361. package/dist/integrations/base/ExampleIntegration.js +0 -180
  362. package/dist/integrations/base/Integration.d.ts +0 -266
  363. package/dist/integrations/base/Integration.js +0 -394
  364. package/dist/integrations/base/README.md +0 -446
  365. package/dist/integrations/base/index.d.ts +0 -11
  366. package/dist/integrations/base/index.js +0 -15
  367. package/dist/integrations/base/registry.d.ts +0 -272
  368. package/dist/integrations/base/registry.js +0 -605
  369. package/dist/integrations/base/types.d.ts +0 -167
  370. package/dist/integrations/base/types.js +0 -117
  371. package/dist/integrations/enforcement-gate.d.ts +0 -44
  372. package/dist/integrations/enforcement-gate.js +0 -348
  373. package/dist/integrations/governance/governance-client.d.ts +0 -75
  374. package/dist/integrations/governance/governance-client.js +0 -315
  375. package/dist/integrations/governance/index.d.ts +0 -98
  376. package/dist/integrations/governance/index.js +0 -365
  377. package/dist/integrations/governance/types.d.ts +0 -238
  378. package/dist/integrations/governance/types.js +0 -96
  379. package/dist/integrations/grok/grok-cli.d.ts +0 -31
  380. package/dist/integrations/grok/grok-cli.js +0 -222
  381. package/dist/integrations/grok/hooks/grok-hook-activity.js +0 -53
  382. package/dist/integrations/grok/hooks/grok-hook-utils.js +0 -372
  383. package/dist/integrations/grok/hooks/post-tool-use.js +0 -118
  384. package/dist/integrations/grok/hooks/pre-tool-use.js +0 -136
  385. package/dist/integrations/grok/hooks/session-start.js +0 -189
  386. package/dist/integrations/grok/plugin/0xray/.mcp.json +0 -35
  387. package/dist/integrations/grok/plugin/0xray/hooks/hooks.json +0 -70
  388. package/dist/integrations/hermes-agent/.mcp.json +0 -32
  389. package/dist/integrations/hermes-agent/__init__.py +0 -790
  390. package/dist/integrations/hermes-agent/__pycache__/__init__.cpython-313.pyc +0 -0
  391. package/dist/integrations/hermes-agent/__pycache__/schemas.cpython-313.pyc +0 -0
  392. package/dist/integrations/hermes-agent/__pycache__/tools.cpython-313.pyc +0 -0
  393. package/dist/integrations/hermes-agent/after-install.md +0 -71
  394. package/dist/integrations/hermes-agent/bridge.mjs +0 -1060
  395. package/dist/integrations/hermes-agent/conftest.py +0 -14
  396. package/dist/integrations/hermes-agent/logs/framework/routing-outcomes.json +0 -1
  397. package/dist/integrations/hermes-agent/plugin.yaml +0 -12
  398. package/dist/integrations/hermes-agent/schemas.py +0 -149
  399. package/dist/integrations/hermes-agent/test_plugin.py +0 -1100
  400. package/dist/integrations/hermes-agent/tools.py +0 -357
  401. package/dist/integrations/hooks/confer-hook-runtime.mjs +0 -49
  402. package/dist/integrations/hooks/delegation-gate-runtime.mjs +0 -110
  403. package/dist/integrations/hooks/pipeline-hook-runtime.mjs +0 -211
  404. package/dist/integrations/hooks/plan-hook-runtime.mjs +0 -68
  405. package/dist/integrations/hooks/station-hook-runtime.cjs +0 -421
  406. package/dist/integrations/hooks/station-hook-runtime.mjs +0 -24
  407. package/dist/integrations/hooks/station-memory-ingest.mjs +0 -45
  408. package/dist/integrations/hooks/station-memory-match.mjs +0 -47
  409. package/dist/integrations/hooks/synthesis-hook-runtime.mjs +0 -50
  410. package/dist/integrations/hooks/user-aside-hook-runtime.mjs +0 -49
  411. package/dist/integrations/openclaw/README.md +0 -134
  412. package/dist/integrations/openclaw/api-server.d.ts +0 -86
  413. package/dist/integrations/openclaw/api-server.js +0 -388
  414. package/dist/integrations/openclaw/client.d.ts +0 -125
  415. package/dist/integrations/openclaw/client.js +0 -499
  416. package/dist/integrations/openclaw/config.d.ts +0 -95
  417. package/dist/integrations/openclaw/config.js +0 -372
  418. package/dist/integrations/openclaw/hooks/pre-tool-gate-runtime.mjs +0 -102
  419. package/dist/integrations/openclaw/hooks/xray-hooks.d.ts +0 -123
  420. package/dist/integrations/openclaw/hooks/xray-hooks.js +0 -279
  421. package/dist/integrations/openclaw/index.d.ts +0 -100
  422. package/dist/integrations/openclaw/index.js +0 -367
  423. package/dist/integrations/openclaw/plugin/xray-pre-tool/index.js +0 -75
  424. package/dist/integrations/openclaw/plugin/xray-pre-tool/openclaw.plugin.json +0 -10
  425. package/dist/integrations/openclaw/plugin/xray-pre-tool/package.json +0 -12
  426. package/dist/integrations/openclaw/pre-tool-gate.d.ts +0 -19
  427. package/dist/integrations/openclaw/pre-tool-gate.js +0 -39
  428. package/dist/integrations/openclaw/types.d.ts +0 -425
  429. package/dist/integrations/openclaw/types.js +0 -152
  430. package/dist/integrations/plugins/index.d.ts +0 -9
  431. package/dist/integrations/plugins/index.js +0 -9
  432. package/dist/integrations/plugins/plugin-integration.d.ts +0 -288
  433. package/dist/integrations/plugins/plugin-integration.js +0 -605
  434. package/dist/integrations/plugins/plugin-registry.d.ts +0 -223
  435. package/dist/integrations/plugins/plugin-registry.js +0 -579
  436. package/dist/mcps/agent-resolver.d.ts +0 -45
  437. package/dist/mcps/agent-resolver.js +0 -105
  438. package/dist/mcps/architect-tools.server.d.ts +0 -16
  439. package/dist/mcps/architect-tools.server.js +0 -217
  440. package/dist/mcps/auto-format.server.d.ts +0 -18
  441. package/dist/mcps/auto-format.server.js +0 -395
  442. package/dist/mcps/boot-orchestrator.server.d.ts +0 -48
  443. package/dist/mcps/boot-orchestrator.server.js +0 -835
  444. package/dist/mcps/config/config-loader.d.ts +0 -56
  445. package/dist/mcps/config/config-loader.js +0 -140
  446. package/dist/mcps/config/config-validator.d.ts +0 -40
  447. package/dist/mcps/config/config-validator.js +0 -101
  448. package/dist/mcps/config/index.d.ts +0 -31
  449. package/dist/mcps/config/index.js +0 -30
  450. package/dist/mcps/config/plugin-server-registry.d.ts +0 -126
  451. package/dist/mcps/config/plugin-server-registry.js +0 -222
  452. package/dist/mcps/config/server-config-registry.d.ts +0 -51
  453. package/dist/mcps/config/server-config-registry.js +0 -349
  454. package/dist/mcps/connection/connection-manager.d.ts +0 -39
  455. package/dist/mcps/connection/connection-manager.js +0 -79
  456. package/dist/mcps/connection/connection-pool.d.ts +0 -64
  457. package/dist/mcps/connection/connection-pool.js +0 -164
  458. package/dist/mcps/connection/mcp-connection.d.ts +0 -66
  459. package/dist/mcps/connection/mcp-connection.js +0 -233
  460. package/dist/mcps/connection/process-spawner.d.ts +0 -24
  461. package/dist/mcps/connection/process-spawner.js +0 -34
  462. package/dist/mcps/enforcer-tools.server.d.ts +0 -26
  463. package/dist/mcps/enforcer-tools.server.js +0 -712
  464. package/dist/mcps/estimation.server.d.ts +0 -19
  465. package/dist/mcps/estimation.server.js +0 -149
  466. package/dist/mcps/framework-compliance-audit.server.d.ts +0 -20
  467. package/dist/mcps/framework-compliance-audit.server.js +0 -471
  468. package/dist/mcps/framework-help.server.d.ts +0 -13
  469. package/dist/mcps/framework-help.server.js +0 -383
  470. package/dist/mcps/governance.server.d.ts +0 -36
  471. package/dist/mcps/governance.server.js +0 -499
  472. package/dist/mcps/in-process-skill-registry.d.ts +0 -20
  473. package/dist/mcps/in-process-skill-registry.js +0 -48
  474. package/dist/mcps/index.d.ts +0 -17
  475. package/dist/mcps/index.js +0 -65
  476. package/dist/mcps/knowledge-skills/api-design.server.d.ts +0 -13
  477. package/dist/mcps/knowledge-skills/api-design.server.js +0 -92
  478. package/dist/mcps/knowledge-skills/architecture-patterns.server.d.ts +0 -13
  479. package/dist/mcps/knowledge-skills/architecture-patterns.server.js +0 -82
  480. package/dist/mcps/knowledge-skills/bug-triage-specialist.server.d.ts +0 -31
  481. package/dist/mcps/knowledge-skills/bug-triage-specialist.server.js +0 -434
  482. package/dist/mcps/knowledge-skills/code-analyzer.server.d.ts +0 -29
  483. package/dist/mcps/knowledge-skills/code-analyzer.server.js +0 -578
  484. package/dist/mcps/knowledge-skills/code-review.server.d.ts +0 -44
  485. package/dist/mcps/knowledge-skills/code-review.server.js +0 -783
  486. package/dist/mcps/knowledge-skills/content-creator.server.d.ts +0 -11
  487. package/dist/mcps/knowledge-skills/content-creator.server.js +0 -234
  488. package/dist/mcps/knowledge-skills/database-design.server.d.ts +0 -41
  489. package/dist/mcps/knowledge-skills/database-design.server.js +0 -788
  490. package/dist/mcps/knowledge-skills/devops-deployment.server.d.ts +0 -41
  491. package/dist/mcps/knowledge-skills/devops-deployment.server.js +0 -1147
  492. package/dist/mcps/knowledge-skills/git-workflow.server.d.ts +0 -13
  493. package/dist/mcps/knowledge-skills/git-workflow.server.js +0 -83
  494. package/dist/mcps/knowledge-skills/growth-strategist.server.d.ts +0 -11
  495. package/dist/mcps/knowledge-skills/growth-strategist.server.js +0 -339
  496. package/dist/mcps/knowledge-skills/log-monitor.server.d.ts +0 -22
  497. package/dist/mcps/knowledge-skills/log-monitor.server.js +0 -431
  498. package/dist/mcps/knowledge-skills/mobile-development.server.d.ts +0 -17
  499. package/dist/mcps/knowledge-skills/mobile-development.server.js +0 -495
  500. package/dist/mcps/knowledge-skills/multimodal-looker.server.d.ts +0 -53
  501. package/dist/mcps/knowledge-skills/multimodal-looker.server.js +0 -1028
  502. package/dist/mcps/knowledge-skills/performance-optimization.server.d.ts +0 -69
  503. package/dist/mcps/knowledge-skills/performance-optimization.server.js +0 -1537
  504. package/dist/mcps/knowledge-skills/project-analysis.server.d.ts +0 -35
  505. package/dist/mcps/knowledge-skills/project-analysis.server.js +0 -724
  506. package/dist/mcps/knowledge-skills/refactoring-strategies.server.d.ts +0 -31
  507. package/dist/mcps/knowledge-skills/refactoring-strategies.server.js +0 -762
  508. package/dist/mcps/knowledge-skills/security-audit.server.d.ts +0 -46
  509. package/dist/mcps/knowledge-skills/security-audit.server.js +0 -684
  510. package/dist/mcps/knowledge-skills/seo-consultant.server.d.ts +0 -24
  511. package/dist/mcps/knowledge-skills/seo-consultant.server.js +0 -745
  512. package/dist/mcps/knowledge-skills/session-management.server.d.ts +0 -22
  513. package/dist/mcps/knowledge-skills/session-management.server.js +0 -394
  514. package/dist/mcps/knowledge-skills/skill-invocation.server.d.ts +0 -32
  515. package/dist/mcps/knowledge-skills/skill-invocation.server.js +0 -454
  516. package/dist/mcps/knowledge-skills/storyteller.server.d.ts +0 -11
  517. package/dist/mcps/knowledge-skills/storyteller.server.js +0 -167
  518. package/dist/mcps/knowledge-skills/strategist.server.d.ts +0 -15
  519. package/dist/mcps/knowledge-skills/strategist.server.js +0 -172
  520. package/dist/mcps/knowledge-skills/tech-writer.server.d.ts +0 -45
  521. package/dist/mcps/knowledge-skills/tech-writer.server.js +0 -1016
  522. package/dist/mcps/knowledge-skills/testing-best-practices.server.d.ts +0 -34
  523. package/dist/mcps/knowledge-skills/testing-best-practices.server.js +0 -694
  524. package/dist/mcps/knowledge-skills/testing-strategy.server.d.ts +0 -45
  525. package/dist/mcps/knowledge-skills/testing-strategy.server.js +0 -689
  526. package/dist/mcps/knowledge-skills/ui-ux-design.server.d.ts +0 -67
  527. package/dist/mcps/knowledge-skills/ui-ux-design.server.js +0 -1265
  528. package/dist/mcps/lint.server.d.ts +0 -15
  529. package/dist/mcps/lint.server.js +0 -340
  530. package/dist/mcps/mcp-client.d.ts +0 -157
  531. package/dist/mcps/mcp-client.js +0 -574
  532. package/dist/mcps/model-health-check.server.d.ts +0 -14
  533. package/dist/mcps/model-health-check.server.js +0 -201
  534. package/dist/mcps/orchestrator/aside-context.d.ts +0 -21
  535. package/dist/mcps/orchestrator/aside-context.js +0 -207
  536. package/dist/mcps/orchestrator/config/agent-capabilities.d.ts +0 -39
  537. package/dist/mcps/orchestrator/config/agent-capabilities.js +0 -128
  538. package/dist/mcps/orchestrator/config/memory-routing-bridge.d.ts +0 -12
  539. package/dist/mcps/orchestrator/config/memory-routing-bridge.js +0 -71
  540. package/dist/mcps/orchestrator/execution/execution-planner.d.ts +0 -64
  541. package/dist/mcps/orchestrator/execution/execution-planner.js +0 -320
  542. package/dist/mcps/orchestrator/handlers/complexity-handler.d.ts +0 -55
  543. package/dist/mcps/orchestrator/handlers/complexity-handler.js +0 -285
  544. package/dist/mcps/orchestrator/handlers/status-handler.d.ts +0 -71
  545. package/dist/mcps/orchestrator/handlers/status-handler.js +0 -239
  546. package/dist/mcps/orchestrator/handlers/task-handler.d.ts +0 -59
  547. package/dist/mcps/orchestrator/handlers/task-handler.js +0 -354
  548. package/dist/mcps/orchestrator/index.d.ts +0 -6
  549. package/dist/mcps/orchestrator/index.js +0 -5
  550. package/dist/mcps/orchestrator/server.d.ts +0 -38
  551. package/dist/mcps/orchestrator/server.js +0 -538
  552. package/dist/mcps/orchestrator/types.d.ts +0 -131
  553. package/dist/mcps/orchestrator/types.js +0 -6
  554. package/dist/mcps/orchestrator.server.d.ts +0 -10
  555. package/dist/mcps/orchestrator.server.js +0 -20
  556. package/dist/mcps/performance-analysis.server.d.ts +0 -25
  557. package/dist/mcps/performance-analysis.server.js +0 -488
  558. package/dist/mcps/processor-pipeline.server.d.ts +0 -29
  559. package/dist/mcps/processor-pipeline.server.js +0 -531
  560. package/dist/mcps/protocol/protocol-constants.d.ts +0 -46
  561. package/dist/mcps/protocol/protocol-constants.js +0 -46
  562. package/dist/mcps/registry.json +0 -109
  563. package/dist/mcps/researcher-confidence.d.ts +0 -21
  564. package/dist/mcps/researcher-confidence.js +0 -92
  565. package/dist/mcps/researcher.server.d.ts +0 -29
  566. package/dist/mcps/researcher.server.js +0 -419
  567. package/dist/mcps/security-scan.server.d.ts +0 -19
  568. package/dist/mcps/security-scan.server.js +0 -517
  569. package/dist/mcps/shared/knowledge-skill-base.d.ts +0 -17
  570. package/dist/mcps/shared/knowledge-skill-base.js +0 -52
  571. package/dist/mcps/shared/prompt-security-validator.d.ts +0 -44
  572. package/dist/mcps/shared/prompt-security-validator.js +0 -148
  573. package/dist/mcps/shared/security-scanner.d.ts +0 -119
  574. package/dist/mcps/shared/security-scanner.js +0 -429
  575. package/dist/mcps/simulation/index.d.ts +0 -12
  576. package/dist/mcps/simulation/index.js +0 -12
  577. package/dist/mcps/simulation/server-simulations.d.ts +0 -39
  578. package/dist/mcps/simulation/server-simulations.js +0 -219
  579. package/dist/mcps/simulation/simulation-engine.d.ts +0 -51
  580. package/dist/mcps/simulation/simulation-engine.js +0 -96
  581. package/dist/mcps/state-manager.server.d.ts +0 -27
  582. package/dist/mcps/state-manager.server.js +0 -609
  583. package/dist/mcps/tools/index.d.ts +0 -14
  584. package/dist/mcps/tools/index.js +0 -14
  585. package/dist/mcps/tools/tool-cache.d.ts +0 -53
  586. package/dist/mcps/tools/tool-cache.js +0 -112
  587. package/dist/mcps/tools/tool-discovery.d.ts +0 -27
  588. package/dist/mcps/tools/tool-discovery.js +0 -65
  589. package/dist/mcps/tools/tool-executor.d.ts +0 -41
  590. package/dist/mcps/tools/tool-executor.js +0 -75
  591. package/dist/mcps/tools/tool-registry.d.ts +0 -42
  592. package/dist/mcps/tools/tool-registry.js +0 -67
  593. package/dist/mcps/types/index.d.ts +0 -13
  594. package/dist/mcps/types/index.js +0 -15
  595. package/dist/mcps/types/json-rpc.types.d.ts +0 -35
  596. package/dist/mcps/types/json-rpc.types.js +0 -7
  597. package/dist/mcps/types/mcp.types.d.ts +0 -105
  598. package/dist/mcps/types/mcp.types.js +0 -7
  599. package/dist/memory-routing/index.d.ts +0 -6
  600. package/dist/memory-routing/index.js +0 -4
  601. package/dist/memory-routing/null-provider.d.ts +0 -14
  602. package/dist/memory-routing/null-provider.js +0 -63
  603. package/dist/memory-routing/provider-loader.d.ts +0 -6
  604. package/dist/memory-routing/provider-loader.js +0 -165
  605. package/dist/memory-routing/provider-registry.d.ts +0 -8
  606. package/dist/memory-routing/provider-registry.js +0 -41
  607. package/dist/memory-routing/types.d.ts +0 -111
  608. package/dist/memory-routing/types.js +0 -7
  609. package/dist/memory-routing/validate-config.d.ts +0 -7
  610. package/dist/memory-routing/validate-config.js +0 -32
  611. package/dist/metrics/agent-metrics.d.ts +0 -169
  612. package/dist/metrics/agent-metrics.js +0 -574
  613. package/dist/metrics/index.d.ts +0 -6
  614. package/dist/metrics/index.js +0 -6
  615. package/dist/monitoring/advanced-profiler.d.ts +0 -51
  616. package/dist/monitoring/advanced-profiler.js +0 -232
  617. package/dist/monitoring/memory-monitor.d.ts +0 -113
  618. package/dist/monitoring/memory-monitor.js +0 -315
  619. package/dist/monitoring/nudge-watchdog.d.ts +0 -87
  620. package/dist/monitoring/nudge-watchdog.js +0 -355
  621. package/dist/monitoring/test-auto-generation-monitor.d.ts +0 -64
  622. package/dist/monitoring/test-auto-generation-monitor.js +0 -157
  623. package/dist/nucleus/aside-worktree.d.ts +0 -41
  624. package/dist/nucleus/aside-worktree.js +0 -164
  625. package/dist/nucleus/autonomy-kernel.d.ts +0 -55
  626. package/dist/nucleus/autonomy-kernel.js +0 -234
  627. package/dist/nucleus/confer.d.ts +0 -57
  628. package/dist/nucleus/confer.js +0 -322
  629. package/dist/nucleus/default-plugins.d.ts +0 -17
  630. package/dist/nucleus/default-plugins.js +0 -173
  631. package/dist/nucleus/delegation-gate.d.ts +0 -105
  632. package/dist/nucleus/delegation-gate.js +0 -582
  633. package/dist/nucleus/govern-http.d.ts +0 -59
  634. package/dist/nucleus/govern-http.js +0 -175
  635. package/dist/nucleus/index.d.ts +0 -17
  636. package/dist/nucleus/index.js +0 -12
  637. package/dist/nucleus/kernel.d.ts +0 -51
  638. package/dist/nucleus/kernel.js +0 -62
  639. package/dist/nucleus/lead-dev-plan-persistence.d.ts +0 -70
  640. package/dist/nucleus/lead-dev-plan-persistence.js +0 -402
  641. package/dist/nucleus/pending-delegations.d.ts +0 -71
  642. package/dist/nucleus/pending-delegations.js +0 -285
  643. package/dist/nucleus/plugin-registry.d.ts +0 -132
  644. package/dist/nucleus/plugin-registry.js +0 -175
  645. package/dist/nucleus/spawn-plan-resolution.d.ts +0 -20
  646. package/dist/nucleus/spawn-plan-resolution.js +0 -42
  647. package/dist/nucleus/suit-temperament.d.ts +0 -40
  648. package/dist/nucleus/suit-temperament.js +0 -157
  649. package/dist/nucleus/synthesis-completion.d.ts +0 -6
  650. package/dist/nucleus/synthesis-completion.js +0 -29
  651. package/dist/nucleus/synthesis-consult-receipt.d.ts +0 -32
  652. package/dist/nucleus/synthesis-consult-receipt.js +0 -171
  653. package/dist/nucleus/synthesis-context.d.ts +0 -31
  654. package/dist/nucleus/synthesis-context.js +0 -86
  655. package/dist/nucleus/synthesis.d.ts +0 -54
  656. package/dist/nucleus/synthesis.js +0 -196
  657. package/dist/nucleus/thin-dispatch.d.ts +0 -33
  658. package/dist/nucleus/thin-dispatch.js +0 -85
  659. package/dist/nucleus/user-aside.d.ts +0 -70
  660. package/dist/nucleus/user-aside.js +0 -393
  661. package/dist/orchestrator/agent-spawn-governor.d.ts +0 -126
  662. package/dist/orchestrator/agent-spawn-governor.js +0 -558
  663. package/dist/orchestrator/enhanced-multi-agent-orchestrator.d.ts +0 -156
  664. package/dist/orchestrator/enhanced-multi-agent-orchestrator.js +0 -399
  665. package/dist/orchestrator/intelligent-commit-batcher.d.ts +0 -114
  666. package/dist/orchestrator/intelligent-commit-batcher.js +0 -344
  667. package/dist/orchestrator/multi-agent-orchestration-coordinator.d.ts +0 -126
  668. package/dist/orchestrator/multi-agent-orchestration-coordinator.js +0 -455
  669. package/dist/orchestrator/orchestrator.d.ts +0 -141
  670. package/dist/orchestrator/orchestrator.js +0 -648
  671. package/dist/orchestrator/self-direction-activation.d.ts +0 -108
  672. package/dist/orchestrator/self-direction-activation.js +0 -244
  673. package/dist/orchestrator/universal-librarian-consultation.d.ts +0 -98
  674. package/dist/orchestrator/universal-librarian-consultation.js +0 -216
  675. package/dist/orchestrator/universal-registry-bridge.d.ts +0 -84
  676. package/dist/orchestrator/universal-registry-bridge.js +0 -246
  677. package/dist/performance/performance-budget-enforcer.d.ts +0 -157
  678. package/dist/performance/performance-budget-enforcer.js +0 -433
  679. package/dist/performance/performance-regression-tester.d.ts +0 -107
  680. package/dist/performance/performance-regression-tester.js +0 -341
  681. package/dist/plugin/plugin-codex-context.d.ts +0 -18
  682. package/dist/plugin/plugin-codex-context.js +0 -87
  683. package/dist/plugin/plugin-helpers.d.ts +0 -23
  684. package/dist/plugin/plugin-helpers.js +0 -155
  685. package/dist/plugin/plugin-logger.d.ts +0 -8
  686. package/dist/plugin/plugin-logger.js +0 -46
  687. package/dist/plugin/plugin-modules.d.ts +0 -11
  688. package/dist/plugin/plugin-modules.js +0 -144
  689. package/dist/plugin/plugin-quality-gate.d.ts +0 -11
  690. package/dist/plugin/plugin-quality-gate.js +0 -88
  691. package/dist/plugin/plugin-types.d.ts +0 -93
  692. package/dist/plugin/plugin-types.js +0 -1
  693. package/dist/plugin/xray-codex-injection.d.ts +0 -39
  694. package/dist/plugin/xray-codex-injection.js +0 -399
  695. package/dist/postprocessor/PostProcessor.d.ts +0 -108
  696. package/dist/postprocessor/PostProcessor.js +0 -1053
  697. package/dist/postprocessor/analysis/CodeChangeAnalyzer.d.ts +0 -11
  698. package/dist/postprocessor/analysis/CodeChangeAnalyzer.js +0 -50
  699. package/dist/postprocessor/analysis/FailureAnalysisEngine.d.ts +0 -39
  700. package/dist/postprocessor/analysis/FailureAnalysisEngine.js +0 -245
  701. package/dist/postprocessor/autofix/AutoFixEngine.d.ts +0 -48
  702. package/dist/postprocessor/autofix/AutoFixEngine.js +0 -254
  703. package/dist/postprocessor/autofix/FixValidator.d.ts +0 -23
  704. package/dist/postprocessor/autofix/FixValidator.js +0 -56
  705. package/dist/postprocessor/config/ProcessorConfigLoader.d.ts +0 -44
  706. package/dist/postprocessor/config/ProcessorConfigLoader.js +0 -16
  707. package/dist/postprocessor/config.d.ts +0 -6
  708. package/dist/postprocessor/config.js +0 -65
  709. package/dist/postprocessor/escalation/EscalationEngine.d.ts +0 -154
  710. package/dist/postprocessor/escalation/EscalationEngine.js +0 -492
  711. package/dist/postprocessor/integration.d.ts +0 -156
  712. package/dist/postprocessor/integration.js +0 -194
  713. package/dist/postprocessor/metamorphosis/SelfProposalEngine.d.ts +0 -87
  714. package/dist/postprocessor/metamorphosis/SelfProposalEngine.js +0 -472
  715. package/dist/postprocessor/metamorphosis/index.d.ts +0 -2
  716. package/dist/postprocessor/metamorphosis/index.js +0 -1
  717. package/dist/postprocessor/monitoring/MonitoringEngine.d.ts +0 -40
  718. package/dist/postprocessor/monitoring/MonitoringEngine.js +0 -125
  719. package/dist/postprocessor/redeploy/RedeployCoordinator.d.ts +0 -91
  720. package/dist/postprocessor/redeploy/RedeployCoordinator.js +0 -342
  721. package/dist/postprocessor/redeploy/RetryHandler.d.ts +0 -49
  722. package/dist/postprocessor/redeploy/RetryHandler.js +0 -118
  723. package/dist/postprocessor/services/RegressionAnalysisService.d.ts +0 -39
  724. package/dist/postprocessor/services/RegressionAnalysisService.js +0 -130
  725. package/dist/postprocessor/success/SuccessHandler.d.ts +0 -57
  726. package/dist/postprocessor/success/SuccessHandler.js +0 -134
  727. package/dist/postprocessor/triggers/APITrigger.d.ts +0 -34
  728. package/dist/postprocessor/triggers/APITrigger.js +0 -114
  729. package/dist/postprocessor/triggers/GitHookTrigger.d.ts +0 -38
  730. package/dist/postprocessor/triggers/GitHookTrigger.js +0 -557
  731. package/dist/postprocessor/triggers/WebhookTrigger.d.ts +0 -46
  732. package/dist/postprocessor/triggers/WebhookTrigger.js +0 -210
  733. package/dist/postprocessor/types.d.ts +0 -227
  734. package/dist/postprocessor/types.js +0 -4
  735. package/dist/processors/doc-write-guard.d.ts +0 -6
  736. package/dist/processors/doc-write-guard.js +0 -46
  737. package/dist/processors/implementations/agents-md-validation-processor.d.ts +0 -62
  738. package/dist/processors/implementations/agents-md-validation-processor.js +0 -285
  739. package/dist/processors/implementations/async-pattern-processor.d.ts +0 -47
  740. package/dist/processors/implementations/async-pattern-processor.js +0 -157
  741. package/dist/processors/implementations/codex-compliance-processor.d.ts +0 -7
  742. package/dist/processors/implementations/codex-compliance-processor.js +0 -57
  743. package/dist/processors/implementations/commit-batcher-processor.d.ts +0 -13
  744. package/dist/processors/implementations/commit-batcher-processor.js +0 -71
  745. package/dist/processors/implementations/console-log-guard-processor.d.ts +0 -32
  746. package/dist/processors/implementations/console-log-guard-processor.js +0 -162
  747. package/dist/processors/implementations/coverage-analysis-processor.d.ts +0 -19
  748. package/dist/processors/implementations/coverage-analysis-processor.js +0 -137
  749. package/dist/processors/implementations/error-boundary-processor.d.ts +0 -7
  750. package/dist/processors/implementations/error-boundary-processor.js +0 -44
  751. package/dist/processors/implementations/inference-improvement-processor.d.ts +0 -36
  752. package/dist/processors/implementations/inference-improvement-processor.js +0 -262
  753. package/dist/processors/implementations/log-protection-processor.d.ts +0 -29
  754. package/dist/processors/implementations/log-protection-processor.js +0 -117
  755. package/dist/processors/implementations/nudge-processor.d.ts +0 -21
  756. package/dist/processors/implementations/nudge-processor.js +0 -129
  757. package/dist/processors/implementations/performance-budget-processor.d.ts +0 -49
  758. package/dist/processors/implementations/performance-budget-processor.js +0 -216
  759. package/dist/processors/implementations/postprocessor-chain-validator.d.ts +0 -45
  760. package/dist/processors/implementations/postprocessor-chain-validator.js +0 -148
  761. package/dist/processors/implementations/pre-validate-processor.d.ts +0 -7
  762. package/dist/processors/implementations/pre-validate-processor.js +0 -18
  763. package/dist/processors/implementations/publish-preflight-processor.d.ts +0 -37
  764. package/dist/processors/implementations/publish-preflight-processor.js +0 -240
  765. package/dist/processors/implementations/refactoring-logging-processor-wrapper.d.ts +0 -7
  766. package/dist/processors/implementations/refactoring-logging-processor-wrapper.js +0 -33
  767. package/dist/processors/implementations/refactoring-logging-processor.d.ts +0 -31
  768. package/dist/processors/implementations/refactoring-logging-processor.js +0 -96
  769. package/dist/processors/implementations/regression-testing-processor.d.ts +0 -20
  770. package/dist/processors/implementations/regression-testing-processor.js +0 -59
  771. package/dist/processors/implementations/session-capture-processor.d.ts +0 -14
  772. package/dist/processors/implementations/session-capture-processor.js +0 -37
  773. package/dist/processors/implementations/session-summary-processor.d.ts +0 -26
  774. package/dist/processors/implementations/session-summary-processor.js +0 -125
  775. package/dist/processors/implementations/spawn-governance-processor.d.ts +0 -57
  776. package/dist/processors/implementations/spawn-governance-processor.js +0 -218
  777. package/dist/processors/implementations/state-validation-processor.d.ts +0 -11
  778. package/dist/processors/implementations/state-validation-processor.js +0 -15
  779. package/dist/processors/implementations/storytelling-trigger-processor.d.ts +0 -40
  780. package/dist/processors/implementations/storytelling-trigger-processor.js +0 -563
  781. package/dist/processors/implementations/test-auto-creation-processor.d.ts +0 -16
  782. package/dist/processors/implementations/test-auto-creation-processor.js +0 -483
  783. package/dist/processors/implementations/test-execution-processor.d.ts +0 -11
  784. package/dist/processors/implementations/test-execution-processor.js +0 -132
  785. package/dist/processors/implementations/typescript-compilation-processor.d.ts +0 -37
  786. package/dist/processors/implementations/typescript-compilation-processor.js +0 -86
  787. package/dist/processors/implementations/version-compliance-processor.d.ts +0 -80
  788. package/dist/processors/implementations/version-compliance-processor.js +0 -222
  789. package/dist/processors/processor-interfaces.d.ts +0 -126
  790. package/dist/processors/processor-interfaces.js +0 -125
  791. package/dist/processors/processor-manager.d.ts +0 -80
  792. package/dist/processors/processor-manager.js +0 -826
  793. package/dist/processors/processor-types.d.ts +0 -189
  794. package/dist/processors/processor-types.js +0 -11
  795. package/dist/public/XrayService.d.ts +0 -17
  796. package/dist/public/XrayService.js +0 -40
  797. package/dist/public/about.html +0 -228
  798. package/dist/public/enterprise.html +0 -27
  799. package/dist/public/features.html +0 -102
  800. package/dist/public/index.d.ts +0 -4
  801. package/dist/public/index.html +0 -145
  802. package/dist/public/index.js +0 -2
  803. package/dist/reporting/framework-reporting-system.d.ts +0 -19
  804. package/dist/reporting/framework-reporting-system.js +0 -187
  805. package/dist/reporting/log-parser.d.ts +0 -10
  806. package/dist/reporting/log-parser.js +0 -281
  807. package/dist/reporting/metrics.d.ts +0 -15
  808. package/dist/reporting/metrics.js +0 -202
  809. package/dist/reporting/report-formatter.d.ts +0 -5
  810. package/dist/reporting/report-formatter.js +0 -146
  811. package/dist/reporting/types.d.ts +0 -102
  812. package/dist/reporting/types.js +0 -1
  813. package/dist/scripts/activate-kernel-pipeline.d.ts +0 -7
  814. package/dist/scripts/activate-kernel-pipeline.js +0 -101
  815. package/dist/scripts/integration.d.ts +0 -36
  816. package/dist/scripts/integration.js +0 -233
  817. package/dist/scripts/pre-command +0 -26
  818. package/dist/scripts/pre-command.mjs +0 -358
  819. package/dist/security/comprehensive-security-audit.d.ts +0 -157
  820. package/dist/security/comprehensive-security-audit.js +0 -1004
  821. package/dist/security/index.d.ts +0 -13
  822. package/dist/security/index.js +0 -13
  823. package/dist/security/prompt-security-validator.d.ts +0 -44
  824. package/dist/security/prompt-security-validator.js +0 -148
  825. package/dist/security/security-agent-coordinator.d.ts +0 -71
  826. package/dist/security/security-agent-coordinator.js +0 -203
  827. package/dist/security/security-auditor.d.ts +0 -55
  828. package/dist/security/security-auditor.js +0 -583
  829. package/dist/security/security-hardener.d.ts +0 -61
  830. package/dist/security/security-hardener.js +0 -169
  831. package/dist/security/security-hardening-system.d.ts +0 -238
  832. package/dist/security/security-hardening-system.js +0 -726
  833. package/dist/security/security-headers.d.ts +0 -63
  834. package/dist/security/security-headers.js +0 -117
  835. package/dist/security/security-orchestration-layer.d.ts +0 -118
  836. package/dist/security/security-orchestration-layer.js +0 -495
  837. package/dist/security/security-scanner.d.ts +0 -119
  838. package/dist/security/security-scanner.js +0 -429
  839. package/dist/services/inference-tuner.d.ts +0 -76
  840. package/dist/services/inference-tuner.js +0 -300
  841. package/dist/session/index.d.ts +0 -3
  842. package/dist/session/index.js +0 -3
  843. package/dist/session/session-cleanup-manager.d.ts +0 -117
  844. package/dist/session/session-cleanup-manager.js +0 -365
  845. package/dist/session/session-monitor.d.ts +0 -132
  846. package/dist/session/session-monitor.js +0 -502
  847. package/dist/session/session-state-manager.d.ts +0 -144
  848. package/dist/session/session-state-manager.js +0 -521
  849. package/dist/skills/api-design/SKILL.md +0 -37
  850. package/dist/skills/architect-tools/SKILL.md +0 -37
  851. package/dist/skills/architecture-patterns/SKILL.md +0 -37
  852. package/dist/skills/auto-format/SKILL.md +0 -37
  853. package/dist/skills/backend-engineer/SKILL.md +0 -49
  854. package/dist/skills/boot-orchestrator/SKILL.md +0 -33
  855. package/dist/skills/bug-triage/SKILL.md +0 -43
  856. package/dist/skills/code-analyzer/SKILL.md +0 -45
  857. package/dist/skills/code-review/SKILL.md +0 -52
  858. package/dist/skills/content-creator/SKILL.md +0 -38
  859. package/dist/skills/database-engineer/SKILL.md +0 -46
  860. package/dist/skills/devops-engineer/SKILL.md +0 -49
  861. package/dist/skills/enforcer/SKILL.md +0 -37
  862. package/dist/skills/framework-compliance-audit/SKILL.md +0 -37
  863. package/dist/skills/frontend-engineer/SKILL.md +0 -49
  864. package/dist/skills/frontend-ui-ux-engineer/SKILL.md +0 -41
  865. package/dist/skills/git-workflow/SKILL.md +0 -37
  866. package/dist/skills/growth-strategist/SKILL.md +0 -48
  867. package/dist/skills/hermes-agent/SKILL.md +0 -212
  868. package/dist/skills/inference-improve/SKILL.md +0 -97
  869. package/dist/skills/lint/SKILL.md +0 -37
  870. package/dist/skills/log-monitor/SKILL.md +0 -44
  871. package/dist/skills/mobile-developer/SKILL.md +0 -42
  872. package/dist/skills/model-health-check/SKILL.md +0 -37
  873. package/dist/skills/multimodal-looker/SKILL.md +0 -45
  874. package/dist/skills/orchestrator/SKILL.md +0 -61
  875. package/dist/skills/performance-analysis/SKILL.md +0 -37
  876. package/dist/skills/performance-engineer/SKILL.md +0 -41
  877. package/dist/skills/performance-optimization/SKILL.md +0 -37
  878. package/dist/skills/processor-pipeline/SKILL.md +0 -37
  879. package/dist/skills/project-analysis/SKILL.md +0 -42
  880. package/dist/skills/refactoring-strategies/SKILL.md +0 -37
  881. package/dist/skills/registry.json +0 -65
  882. package/dist/skills/researcher/SKILL.md +0 -50
  883. package/dist/skills/security-audit/SKILL.md +0 -48
  884. package/dist/skills/security-scan/SKILL.md +0 -37
  885. package/dist/skills/seo-consultant/SKILL.md +0 -43
  886. package/dist/skills/session-management/SKILL.md +0 -36
  887. package/dist/skills/state-manager/SKILL.md +0 -37
  888. package/dist/skills/storyteller/SKILL.md +0 -130
  889. package/dist/skills/strategist/SKILL.md +0 -44
  890. package/dist/skills/tech-writer/SKILL.md +0 -37
  891. package/dist/skills/testing-best-practices/SKILL.md +0 -37
  892. package/dist/skills/testing-strategy/SKILL.md +0 -54
  893. package/dist/skills/ui-ux-design/SKILL.md +0 -603
  894. package/dist/skills/xray-orchestrator/SKILL.md +0 -141
  895. package/dist/skills/xray-orchestrator/index.d.ts +0 -12
  896. package/dist/skills/xray-orchestrator/index.js +0 -223
  897. package/dist/state/context-providers.d.ts +0 -4
  898. package/dist/state/context-providers.js +0 -1
  899. package/dist/state/index.d.ts +0 -4
  900. package/dist/state/index.js +0 -7
  901. package/dist/state/state-manager.d.ts +0 -41
  902. package/dist/state/state-manager.js +0 -207
  903. package/dist/state/state-types.d.ts +0 -5
  904. package/dist/state/state-types.js +0 -1
  905. package/dist/testing/memory-regression-suite.d.ts +0 -105
  906. package/dist/testing/memory-regression-suite.js +0 -258
  907. package/dist/tools/assess-complexity-tool.d.ts +0 -28
  908. package/dist/tools/assess-complexity-tool.js +0 -44
  909. package/dist/tools/query-routing-tool.d.ts +0 -17
  910. package/dist/tools/query-routing-tool.js +0 -59
  911. package/dist/types/metamorphosis.d.ts +0 -21
  912. package/dist/types/metamorphosis.js +0 -6
  913. package/dist/utils/batch-operations.d.ts +0 -25
  914. package/dist/utils/batch-operations.js +0 -292
  915. package/dist/utils/codex-parser.d.ts +0 -60
  916. package/dist/utils/codex-parser.js +0 -444
  917. package/dist/utils/command-runner.d.ts +0 -32
  918. package/dist/utils/command-runner.js +0 -96
  919. package/dist/utils/import-resolver.d.ts +0 -54
  920. package/dist/utils/import-resolver.js +0 -189
  921. package/dist/utils/language-detector.d.ts +0 -43
  922. package/dist/utils/language-detector.js +0 -382
  923. package/dist/utils/path-resolver.d.ts +0 -48
  924. package/dist/utils/path-resolver.js +0 -112
  925. package/dist/utils/shutdown-handler.d.ts +0 -26
  926. package/dist/utils/shutdown-handler.js +0 -74
  927. package/dist/utils/task-graph.d.ts +0 -29
  928. package/dist/utils/task-graph.js +0 -106
  929. package/dist/utils/test-template-generator.d.ts +0 -25
  930. package/dist/utils/test-template-generator.js +0 -178
  931. package/dist/utils/token-manager.d.ts +0 -48
  932. package/dist/utils/token-manager.js +0 -163
  933. package/dist/validation/agent-config-validator.d.ts +0 -110
  934. package/dist/validation/agent-config-validator.js +0 -280
  935. package/dist/validation/estimation-validator.d.ts +0 -61
  936. package/dist/validation/estimation-validator.js +0 -241
  937. package/dist/validation/orchestration-flow-validator.d.ts +0 -87
  938. package/dist/validation/orchestration-flow-validator.js +0 -606
  939. package/dist/validation/report-content-validator.d.ts +0 -42
  940. package/dist/validation/report-content-validator.js +0 -218
@@ -1,1040 +0,0 @@
1
- import * as fs from "fs";
2
- import * as path from "path";
3
- import { frameworkLogger } from "../core/framework-logger.js";
4
- export class CodebaseContextAnalyzer {
5
- projectRoot;
6
- memoryConfig;
7
- analysisCache = new Map();
8
- ignorePatterns = [
9
- /node_modules/,
10
- /\.git/,
11
- /dist/,
12
- /build/,
13
- /\.next/,
14
- /\.nuxt/,
15
- /\.vuepress/,
16
- /\.cache/,
17
- /\.temp/,
18
- /coverage/,
19
- /\.nyc_output/,
20
- /logs/,
21
- /\.DS_Store/,
22
- /Thumbs\.db/,
23
- ];
24
- supportedLanguages = {
25
- ".ts": "typescript",
26
- ".tsx": "typescript",
27
- ".js": "javascript",
28
- ".jsx": "javascript",
29
- ".py": "python",
30
- ".java": "java",
31
- ".cpp": "cpp",
32
- ".c": "c",
33
- ".cs": "csharp",
34
- ".php": "php",
35
- ".rb": "ruby",
36
- ".go": "go",
37
- ".rs": "rust",
38
- ".swift": "swift",
39
- ".kt": "kotlin",
40
- ".scala": "scala",
41
- ".clj": "clojure",
42
- ".hs": "haskell",
43
- ".ml": "ocaml",
44
- ".fs": "fsharp",
45
- ".elm": "elm",
46
- ".dart": "dart",
47
- ".vue": "vue",
48
- ".svelte": "svelte",
49
- ".astro": "astro",
50
- };
51
- constructor(projectRoot, memoryConfig) {
52
- this.projectRoot = projectRoot || process.cwd();
53
- // Default memory configuration for performance optimization
54
- this.memoryConfig = {
55
- maxFilesInMemory: 100, // Process max 100 files simultaneously
56
- maxFileSizeBytes: 1024 * 1024, // 1MB max file size to load
57
- enableStreaming: true, // Enable streaming for large files
58
- batchSize: 20, // Process 20 files per batch
59
- enableCaching: true, // Enable result caching
60
- cacheTtlMs: 5 * 60 * 1000, // 5 minute cache TTL
61
- enableConcurrentProcessing: true, // Enable concurrent processing
62
- concurrencyLimit: 10, // Max 10 concurrent file operations
63
- ...memoryConfig, // Override with user config
64
- };
65
- }
66
- /**
67
- * Perform comprehensive codebase analysis with memory optimization
68
- */
69
- async analyzeCodebase() {
70
- const jobId = `codebase-analysis-${Date.now()}-${Math.random().toString(36).substring(2, 11)}`;
71
- await frameworkLogger.log("codebase-context-analyzer", "analysis-start", "info", {
72
- jobId,
73
- message: "Starting comprehensive codebase analysis",
74
- memoryConfig: this.memoryConfig,
75
- });
76
- const startTime = Date.now();
77
- const initialMemoryUsage = process.memoryUsage().heapUsed;
78
- try {
79
- const structure = await this.buildCodebaseStructure(jobId);
80
- const metrics = this.calculateContextMetrics(structure);
81
- const insights = this.generateInsights(structure, metrics);
82
- const recommendations = this.generateRecommendations(structure, metrics);
83
- const risks = this.identifyRisks(structure, metrics);
84
- const analysis = {
85
- structure,
86
- metrics,
87
- insights,
88
- recommendations,
89
- risks,
90
- scannedAt: new Date(),
91
- };
92
- const endTime = Date.now();
93
- const finalMemoryUsage = process.memoryUsage().heapUsed;
94
- const memoryDelta = finalMemoryUsage - initialMemoryUsage;
95
- await frameworkLogger.log("codebase-context-analyzer", "analysis-complete", "success", {
96
- jobId,
97
- files: structure.totalFiles,
98
- loc: structure.totalLinesOfCode,
99
- languages: Array.from(structure.languages.keys()),
100
- qualityScore: metrics.qualityScore,
101
- duration: endTime - startTime,
102
- memoryDeltaMB: Math.round((memoryDelta / 1024 / 1024) * 100) / 100,
103
- cacheHits: this.analysisCache.size,
104
- });
105
- return analysis;
106
- }
107
- catch (error) {
108
- const endTime = Date.now();
109
- const finalMemoryUsage = process.memoryUsage().heapUsed;
110
- await frameworkLogger.log("codebase-context-analyzer", "analysis-failed", "error", {
111
- jobId,
112
- error: error instanceof Error ? error.message : String(error),
113
- duration: endTime - startTime,
114
- finalMemoryMB: Math.round((finalMemoryUsage / 1024 / 1024) * 100) / 100,
115
- });
116
- throw error;
117
- }
118
- }
119
- /**
120
- * Get cached analysis result with intelligent invalidation
121
- */
122
- getCachedAnalysis(cacheKey) {
123
- if (!this.memoryConfig.enableCaching)
124
- return null;
125
- const cached = this.analysisCache.get(cacheKey);
126
- if (!cached)
127
- return null;
128
- // Check TTL
129
- if (Date.now() - cached.timestamp > this.memoryConfig.cacheTtlMs) {
130
- this.analysisCache.delete(cacheKey);
131
- return null;
132
- }
133
- // Intelligent cache validation - check if file still exists and hasn't changed
134
- const filePath = this.extractFilePathFromCacheKey(cacheKey);
135
- if (filePath) {
136
- try {
137
- const currentStats = fs.statSync(filePath);
138
- const cachedMtime = cached.lastModified?.getTime() || 0;
139
- if (currentStats.mtime.getTime() !== cachedMtime) {
140
- // File has changed, invalidate cache
141
- this.analysisCache.delete(cacheKey);
142
- return null;
143
- }
144
- }
145
- catch (error) {
146
- // File no longer exists or inaccessible, remove from cache
147
- this.analysisCache.delete(cacheKey);
148
- return null;
149
- }
150
- }
151
- return cached;
152
- }
153
- /**
154
- * Set cached analysis result with size limits
155
- */
156
- setCachedAnalysis(cacheKey, data) {
157
- if (!this.memoryConfig.enableCaching)
158
- return;
159
- // Prevent cache from growing too large (keep last 1000 entries)
160
- if (this.analysisCache.size >= 1000) {
161
- const oldestKey = Array.from(this.analysisCache.keys())[0];
162
- if (oldestKey) {
163
- this.analysisCache.delete(oldestKey);
164
- }
165
- }
166
- this.analysisCache.set(cacheKey, {
167
- ...data,
168
- timestamp: Date.now(),
169
- });
170
- }
171
- /**
172
- * Extract file path from cache key for validation
173
- */
174
- extractFilePathFromCacheKey(cacheKey) {
175
- const match = cacheKey.match(/^file:(.+?:\d+)$/);
176
- if (match && match[1]) {
177
- const parts = match[1].split(":");
178
- return parts[0] || null;
179
- }
180
- return null;
181
- }
182
- /**
183
- * Stream file content for large files to reduce memory usage
184
- */
185
- async streamFileContent(filePath) {
186
- return new Promise((resolve, reject) => {
187
- let content = "";
188
- const stream = fs.createReadStream(filePath, { encoding: "utf8" });
189
- stream.on("data", (chunk) => {
190
- content += chunk;
191
- // Prevent excessive memory usage during streaming
192
- if (content.length > this.memoryConfig.maxFileSizeBytes) {
193
- stream.destroy();
194
- reject(new Error("File too large for streaming"));
195
- }
196
- });
197
- stream.on("end", () => resolve(content));
198
- stream.on("error", reject);
199
- });
200
- }
201
- /**
202
- * Build complete codebase structure map with batching for memory efficiency
203
- */
204
- async buildCodebaseStructure(jobId) {
205
- const fileGraph = new Map();
206
- const modules = new Map();
207
- const dependencyGraph = new Map();
208
- const languages = new Map();
209
- const scanDirectory = async (dirPath, relativePath = "") => {
210
- try {
211
- const entries = fs.readdirSync(dirPath, { withFileTypes: true });
212
- // Process files in batches to control memory usage
213
- const fileEntries = [];
214
- const dirEntries = [];
215
- // Separate files and directories for batch processing
216
- for (const entry of entries) {
217
- const entryPath = path.join(dirPath, entry.name);
218
- const entryRelativePath = path.join(relativePath, entry.name);
219
- // Skip ignored patterns
220
- if (this.ignorePatterns.some((pattern) => pattern.test(entryPath))) {
221
- continue;
222
- }
223
- if (entry.isDirectory()) {
224
- const isModule = this.isModuleDirectory(entryPath);
225
- dirEntries.push({
226
- path: entryPath,
227
- relativePath: entryRelativePath,
228
- isModule,
229
- });
230
- }
231
- else if (entry.isFile()) {
232
- fileEntries.push({
233
- path: entryPath,
234
- relativePath: entryRelativePath,
235
- });
236
- }
237
- }
238
- // Process directories first (may contain modules)
239
- for (const dirEntry of dirEntries) {
240
- if (dirEntry.isModule) {
241
- const moduleInfo = await this.analyzeModule(dirEntry.path, dirEntry.relativePath, jobId);
242
- modules.set(dirEntry.relativePath, moduleInfo);
243
- }
244
- else {
245
- await scanDirectory(dirEntry.path, dirEntry.relativePath);
246
- }
247
- }
248
- // Process files with concurrent processing for better performance
249
- const concurrencyLimit = this.memoryConfig.enableConcurrentProcessing
250
- ? Math.min(this.memoryConfig.concurrencyLimit || 10, this.memoryConfig.maxFilesInMemory)
251
- : 1; // Sequential processing if concurrent disabled
252
- for (let i = 0; i < fileEntries.length; i += concurrencyLimit) {
253
- const batch = fileEntries.slice(i, i + concurrencyLimit);
254
- // Process batch concurrently with controlled parallelism
255
- const batchPromises = batch.map(async ({ path: filePath, relativePath: fileRelativePath }) => {
256
- try {
257
- const fileInfo = await this.analyzeFile(filePath, fileRelativePath, jobId);
258
- if (fileInfo) {
259
- fileGraph.set(fileRelativePath, fileInfo);
260
- // Update language counts
261
- const lang = fileInfo.language;
262
- languages.set(lang, (languages.get(lang) || 0) + 1);
263
- }
264
- }
265
- catch (error) {
266
- await frameworkLogger.log("codebase-context-analyzer", "batch-file-processing-error", "info", {
267
- jobId,
268
- filePath,
269
- error: error instanceof Error ? error.message : String(error),
270
- });
271
- }
272
- });
273
- await Promise.all(batchPromises);
274
- // Yield control periodically to prevent blocking the event loop
275
- if (i + concurrencyLimit < fileEntries.length) {
276
- await new Promise((resolve) => setImmediate(resolve));
277
- }
278
- }
279
- }
280
- catch (error) {
281
- await frameworkLogger.log("codebase-context-analyzer", "scan-directory-failed", "error", {
282
- jobId,
283
- dirPath,
284
- error: error instanceof Error ? error.message : String(error),
285
- });
286
- }
287
- };
288
- await scanDirectory(this.projectRoot);
289
- // Build dependency relationships
290
- await this.buildDependencyGraph(fileGraph, dependencyGraph);
291
- const architecture = this.detectArchitecture(fileGraph, modules);
292
- return {
293
- rootPath: this.projectRoot,
294
- totalFiles: fileGraph.size,
295
- totalLinesOfCode: Array.from(fileGraph.values()).reduce((sum, file) => sum + file.linesOfCode, 0),
296
- languages,
297
- modules,
298
- fileGraph,
299
- dependencyGraph,
300
- architecture,
301
- };
302
- }
303
- /**
304
- * Analyze individual file for structure and dependencies with memory optimization
305
- */
306
- async analyzeFile(filePath, relativePath, jobId) {
307
- try {
308
- const stats = fs.statSync(filePath);
309
- const extension = path.extname(filePath).toLowerCase();
310
- const language = this.supportedLanguages[extension] || "other";
311
- const isSourceCode = language !== "other";
312
- if (!isSourceCode && !this.isConfigFile(relativePath)) {
313
- return null;
314
- }
315
- // Memory optimization: Check file size before loading
316
- if (stats.size > this.memoryConfig.maxFileSizeBytes) {
317
- await frameworkLogger.log("codebase-context-analyzer", "large-file-skipped", "info", {
318
- jobId,
319
- filePath,
320
- size: stats.size,
321
- maxSize: this.memoryConfig.maxFileSizeBytes,
322
- });
323
- // For large files, analyze metadata only (no content loading)
324
- return {
325
- path: filePath,
326
- relativePath,
327
- size: stats.size,
328
- extension,
329
- language,
330
- isSourceCode,
331
- linesOfCode: Math.floor(stats.size / 50), // Rough estimate
332
- imports: [],
333
- exports: [],
334
- dependencies: [],
335
- lastModified: stats.mtime,
336
- };
337
- }
338
- // Lazy load content only when needed and within memory limits
339
- let content;
340
- let linesOfCode = 0;
341
- let imports = [];
342
- let exports = [];
343
- try {
344
- // Check cache first for performance
345
- const cacheKey = `file:${relativePath}:${stats.mtime.getTime()}`;
346
- const cached = this.getCachedAnalysis(cacheKey);
347
- if (cached) {
348
- return {
349
- path: filePath,
350
- relativePath,
351
- size: stats.size,
352
- extension,
353
- language,
354
- isSourceCode,
355
- linesOfCode: cached.linesOfCode,
356
- imports: cached.imports,
357
- exports: cached.exports,
358
- dependencies: cached.imports,
359
- lastModified: stats.mtime,
360
- content: cached.content ?? undefined,
361
- };
362
- }
363
- // Load content with streaming for large files if enabled
364
- content =
365
- this.memoryConfig.enableStreaming && stats.size > 100 * 1024
366
- ? await this.streamFileContent(filePath)
367
- : fs.readFileSync(filePath, "utf8");
368
- linesOfCode = content.split("\n").length;
369
- const importExportData = await this.extractImportsExports(content, language, jobId);
370
- imports = importExportData.imports;
371
- exports = importExportData.exports;
372
- // Cache the analysis result
373
- if (this.memoryConfig.enableCaching) {
374
- this.setCachedAnalysis(cacheKey, {
375
- linesOfCode,
376
- imports,
377
- exports,
378
- content,
379
- timestamp: Date.now(),
380
- });
381
- }
382
- }
383
- catch (contentError) {
384
- await frameworkLogger.log("codebase-context-analyzer", "content-loading-failed", "info", {
385
- jobId,
386
- filePath,
387
- error: contentError instanceof Error
388
- ? contentError.message
389
- : String(contentError),
390
- });
391
- // Continue with metadata-only analysis
392
- }
393
- const result = {
394
- path: filePath,
395
- relativePath,
396
- size: stats.size,
397
- extension,
398
- language,
399
- isSourceCode,
400
- linesOfCode,
401
- imports,
402
- exports,
403
- dependencies: imports, // For now, imports are dependencies
404
- lastModified: stats.mtime,
405
- };
406
- // Only set content if it was successfully loaded
407
- if (content !== undefined) {
408
- result.content = content;
409
- }
410
- return result;
411
- }
412
- catch (error) {
413
- await frameworkLogger.log("codebase-context-analyzer", "file-analysis-failed", "error", {
414
- jobId,
415
- filePath,
416
- error: error instanceof Error ? error.message : String(error),
417
- });
418
- return null;
419
- }
420
- }
421
- /**
422
- * Analyze module directory structure
423
- */
424
- async analyzeModule(dirPath, relativePath, jobId) {
425
- const files = [];
426
- const dependencies = new Set();
427
- const dependents = new Set();
428
- const scanModuleFiles = async (modulePath, moduleRelativePath) => {
429
- try {
430
- const entries = fs.readdirSync(modulePath, { withFileTypes: true });
431
- for (const entry of entries) {
432
- const entryPath = path.join(modulePath, entry.name);
433
- const entryRelativePath = path.join(moduleRelativePath, entry.name);
434
- if (entry.isFile()) {
435
- const fileInfo = await this.analyzeFile(entryPath, entryRelativePath, jobId);
436
- if (fileInfo) {
437
- files.push(fileInfo);
438
- fileInfo.imports.forEach((dep) => dependencies.add(dep));
439
- fileInfo.exports.forEach((exp) => dependents.add(exp));
440
- }
441
- }
442
- else if (entry.isDirectory() &&
443
- !this.ignorePatterns.some((pattern) => pattern.test(entry.name))) {
444
- await scanModuleFiles(entryPath, entryRelativePath);
445
- }
446
- }
447
- }
448
- catch (error) {
449
- await frameworkLogger.log("codebase-context-analyzer", "module-scan-failed", "error", {
450
- jobId,
451
- modulePath,
452
- error: error instanceof Error ? error.message : String(error),
453
- });
454
- }
455
- };
456
- await scanModuleFiles(dirPath, relativePath);
457
- // Determine module type
458
- const moduleType = this.classifyModule(relativePath, files);
459
- // Find entry point
460
- const entryPoint = this.findEntryPoint(files);
461
- return {
462
- name: path.basename(relativePath),
463
- path: dirPath,
464
- files,
465
- entryPoint,
466
- dependencies: Array.from(dependencies),
467
- dependents: Array.from(dependents),
468
- type: moduleType,
469
- };
470
- }
471
- /**
472
- * Extract imports and exports from source code
473
- */
474
- async extractImportsExports(content, language, jobId) {
475
- const imports = [];
476
- const exports = [];
477
- try {
478
- switch (language) {
479
- case "typescript":
480
- case "javascript":
481
- return this.extractJsTsImportsExports(content);
482
- case "python":
483
- return this.extractPythonImportsExports(content);
484
- case "java":
485
- return this.extractJavaImportsExports(content);
486
- default:
487
- return { imports: [], exports: [] };
488
- }
489
- }
490
- catch (error) {
491
- await frameworkLogger.log("codebase-context-analyzer", "import-export-extraction-failed", "error", {
492
- jobId,
493
- language,
494
- error: error instanceof Error ? error.message : String(error),
495
- });
496
- return { imports: [], exports: [] };
497
- }
498
- }
499
- extractJsTsImportsExports(content) {
500
- const imports = [];
501
- const exports = [];
502
- // Import patterns
503
- const importPatterns = [
504
- /import\s+.*?\s+from\s+['"]([^'"]+)['"]/g,
505
- /import\s*\(\s*['"]([^'"]+)['"]\s*\)/g,
506
- /require\s*\(\s*['"]([^'"]+)['"]\s*\)/g,
507
- ];
508
- importPatterns.forEach((pattern) => {
509
- let match;
510
- while ((match = pattern.exec(content)) !== null) {
511
- if (match[1]) {
512
- imports.push(match[1]);
513
- }
514
- }
515
- });
516
- // Export patterns
517
- const exportPatterns = [
518
- /export\s+(?:const|let|var|function|class|interface|type)\s+(\w+)/g,
519
- /export\s+{\s*([^}]+)\s*}/g,
520
- /export\s+default/g,
521
- ];
522
- exportPatterns.forEach((pattern) => {
523
- let match;
524
- while ((match = pattern.exec(content)) !== null) {
525
- if (match[1]) {
526
- const exportsList = match[1]
527
- .split(",")
528
- .map((e) => {
529
- const trimmed = e.trim();
530
- const asSplit = trimmed.split(" as ");
531
- return asSplit[0] || trimmed;
532
- })
533
- .filter(Boolean);
534
- exports.push(...exportsList);
535
- }
536
- else {
537
- exports.push("default");
538
- }
539
- }
540
- });
541
- return {
542
- imports: Array.from(new Set(imports)),
543
- exports: Array.from(new Set(exports)),
544
- };
545
- }
546
- extractPythonImportsExports(content) {
547
- const imports = [];
548
- const exports = [];
549
- // Import patterns
550
- const importPatterns = [/from\s+([^\s]+)\s+import/g, /import\s+([^\s]+)/g];
551
- importPatterns.forEach((pattern) => {
552
- let match;
553
- while ((match = pattern.exec(content)) !== null) {
554
- if (match[1]) {
555
- imports.push(match[1]);
556
- }
557
- }
558
- });
559
- // Export patterns (Python doesn't have explicit exports, but __all__ can indicate public API)
560
- const allMatch = content.match(/__all__\s*=\s*\[([^\]]+)\]/);
561
- if (allMatch && allMatch[1]) {
562
- const exportsList = allMatch[1]
563
- .split(",")
564
- .map((e) => e.trim().replace(/['"]/g, ""))
565
- .filter(Boolean);
566
- exports.push(...exportsList);
567
- }
568
- return {
569
- imports: Array.from(new Set(imports)),
570
- exports: Array.from(new Set(exports)),
571
- };
572
- }
573
- extractJavaImportsExports(content) {
574
- const imports = [];
575
- const exports = [];
576
- // Import patterns
577
- const importPattern = /^import\s+([^;]+);/gm;
578
- let match;
579
- while ((match = importPattern.exec(content)) !== null) {
580
- if (match[1]) {
581
- imports.push(match[1]);
582
- }
583
- }
584
- // Export patterns (public classes/interfaces)
585
- const exportPattern = /(?:public\s+)?(?:class|interface|enum)\s+(\w+)/g;
586
- while ((match = exportPattern.exec(content)) !== null) {
587
- if (match[1]) {
588
- exports.push(match[1]);
589
- }
590
- }
591
- return {
592
- imports: Array.from(new Set(imports)),
593
- exports: Array.from(new Set(exports)),
594
- };
595
- }
596
- /**
597
- * Build dependency graph between files
598
- */
599
- async buildDependencyGraph(fileGraph, dependencyGraph) {
600
- for (const [filePath, fileInfo] of Array.from(fileGraph)) {
601
- const dependencies = new Set();
602
- for (const importPath of fileInfo.imports) {
603
- // Resolve relative imports
604
- if (importPath.startsWith("./") || importPath.startsWith("../")) {
605
- try {
606
- const resolvedPath = path.resolve(path.dirname(fileInfo.path), importPath);
607
- const resolvedRelative = path.relative(this.projectRoot, resolvedPath);
608
- // Check for file extensions
609
- const possibleExtensions = [
610
- "",
611
- ".ts",
612
- ".tsx",
613
- ".js",
614
- ".jsx",
615
- ".py",
616
- ".java",
617
- ];
618
- let foundFile = null;
619
- for (const ext of possibleExtensions) {
620
- const testPath = resolvedRelative + ext;
621
- if (fileGraph.has(testPath) ||
622
- fs.existsSync(path.join(this.projectRoot, testPath))) {
623
- foundFile = testPath;
624
- break;
625
- }
626
- }
627
- if (foundFile) {
628
- dependencies.add(foundFile);
629
- }
630
- }
631
- catch (error) {
632
- // Import resolution failed, skip
633
- }
634
- }
635
- else {
636
- // External dependency, add to graph for tracking
637
- dependencies.add(importPath);
638
- }
639
- }
640
- dependencyGraph.set(filePath, dependencies);
641
- }
642
- }
643
- /**
644
- * Detect architectural patterns and framework usage
645
- */
646
- detectArchitecture(fileGraph, modules) {
647
- const frameworks = [];
648
- const patterns = [];
649
- let structure = "monolithic";
650
- const entryPoints = [];
651
- // Framework detection
652
- if (this.hasFramework(fileGraph, "react"))
653
- frameworks.push("React");
654
- if (this.hasFramework(fileGraph, "vue"))
655
- frameworks.push("Vue.js");
656
- if (this.hasFramework(fileGraph, "angular"))
657
- frameworks.push("Angular");
658
- if (this.hasFramework(fileGraph, "svelte"))
659
- frameworks.push("Svelte");
660
- if (this.hasFramework(fileGraph, "express"))
661
- frameworks.push("Express.js");
662
- if (this.hasFramework(fileGraph, "nestjs"))
663
- frameworks.push("NestJS");
664
- if (this.hasFramework(fileGraph, "nextjs"))
665
- frameworks.push("Next.js");
666
- if (this.hasFramework(fileGraph, "nuxt"))
667
- frameworks.push("Nuxt.js");
668
- // Pattern detection
669
- if (this.detectMVCPattern(fileGraph))
670
- patterns.push("MVC");
671
- if (this.detectRepositoryPattern(fileGraph))
672
- patterns.push("Repository");
673
- if (this.detectObserverPattern(fileGraph))
674
- patterns.push("Observer");
675
- if (this.detectFactoryPattern(fileGraph))
676
- patterns.push("Factory");
677
- // Structure detection
678
- if (modules.size > 5 && this.hasMicroservicesIndicators(fileGraph)) {
679
- structure = "microservices";
680
- }
681
- else if (modules.size > 0) {
682
- structure = "modular";
683
- }
684
- // Entry points detection
685
- for (const [filePath, fileInfo] of Array.from(fileGraph)) {
686
- if (this.isEntryPoint(filePath, fileInfo)) {
687
- entryPoints.push(filePath);
688
- }
689
- }
690
- return {
691
- framework: frameworks,
692
- patterns,
693
- structure,
694
- entryPoints,
695
- };
696
- }
697
- /**
698
- * Calculate comprehensive context metrics
699
- */
700
- calculateContextMetrics(structure) {
701
- const fileCount = structure.totalFiles;
702
- const linesOfCode = structure.totalLinesOfCode;
703
- const languages = Array.from(structure.languages.keys());
704
- // Calculate complexity based on various factors
705
- const complexity = this.calculateComplexityScore(structure);
706
- // Calculate coupling (interdependencies)
707
- const coupling = this.calculateCouplingScore(structure);
708
- // Calculate cohesion (internal dependencies within modules)
709
- const cohesion = this.calculateCohesionScore(structure);
710
- // Estimate test coverage (rough heuristic)
711
- const testCoverage = this.estimateTestCoverage(structure);
712
- // Architectural patterns
713
- const architecturalPatterns = structure.architecture.patterns;
714
- // Overall quality score
715
- const qualityScore = this.calculateQualityScore({
716
- fileCount,
717
- linesOfCode,
718
- complexity,
719
- coupling,
720
- cohesion,
721
- testCoverage,
722
- patterns: architecturalPatterns.length,
723
- });
724
- return {
725
- fileCount,
726
- linesOfCode,
727
- languages,
728
- complexity,
729
- coupling,
730
- cohesion,
731
- testCoverage,
732
- architecturalPatterns,
733
- qualityScore,
734
- };
735
- }
736
- calculateComplexityScore(structure) {
737
- let score = 0;
738
- // File count factor
739
- score += Math.min(structure.totalFiles / 10, 20);
740
- // Language diversity factor
741
- score += Math.min(structure.languages.size * 5, 15);
742
- // Module complexity
743
- score += Math.min(structure.modules.size * 2, 20);
744
- // Dependency complexity
745
- const totalDeps = Array.from(structure.dependencyGraph.values()).reduce((sum, deps) => sum + deps.size, 0);
746
- score += Math.min(totalDeps / 20, 25);
747
- // Framework complexity
748
- score += Math.min(structure.architecture.framework.length * 10, 20);
749
- return Math.min(Math.max(score, 0), 100);
750
- }
751
- calculateCouplingScore(structure) {
752
- const totalDeps = Array.from(structure.dependencyGraph.values()).reduce((sum, deps) => sum + deps.size, 0);
753
- const avgDeps = totalDeps / structure.totalFiles;
754
- // Normalize to 0-100 scale (higher coupling = higher score)
755
- return Math.min(avgDeps * 20, 100);
756
- }
757
- calculateCohesionScore(structure) {
758
- let totalCohesion = 0;
759
- let moduleCount = 0;
760
- for (const module of Array.from(structure.modules.values())) {
761
- if (module.files.length > 1) {
762
- // Calculate internal dependencies within module
763
- const internalDeps = module.files.reduce((sum, file) => {
764
- const fileDeps = structure.dependencyGraph.get(file.relativePath) || new Set();
765
- const internalCount = Array.from(fileDeps).filter((dep) => module.files.some((f) => f.relativePath === dep)).length;
766
- return sum + internalCount;
767
- }, 0);
768
- const cohesion = internalDeps / (module.files.length * (module.files.length - 1));
769
- totalCohesion += Math.min(cohesion, 1);
770
- moduleCount++;
771
- }
772
- }
773
- return moduleCount > 0 ? (totalCohesion / moduleCount) * 100 : 50;
774
- }
775
- estimateTestCoverage(structure) {
776
- const testFiles = Array.from(structure.fileGraph.values()).filter((file) => file.relativePath.includes("test") ||
777
- file.relativePath.includes("spec")).length;
778
- const srcFiles = Array.from(structure.fileGraph.values()).filter((file) => file.isSourceCode &&
779
- !file.relativePath.includes("test") &&
780
- !file.relativePath.includes("spec")).length;
781
- if (srcFiles === 0)
782
- return 0;
783
- // Rough heuristic: assume 1 test file covers 3-5 source files
784
- const estimatedCoverage = Math.min(((testFiles * 4) / srcFiles) * 100, 100);
785
- return Math.round(estimatedCoverage);
786
- }
787
- calculateQualityScore(metrics) {
788
- // Weighted scoring system
789
- const weights = {
790
- complexity: -0.2, // Lower complexity is better
791
- coupling: -0.25, // Lower coupling is better
792
- cohesion: 0.2, // Higher cohesion is better
793
- testCoverage: 0.25, // Higher coverage is better
794
- patterns: 0.1, // More patterns is better
795
- };
796
- let score = 50; // Base score
797
- score += weights.complexity * Math.min(metrics.complexity, 50);
798
- score += weights.coupling * (100 - metrics.coupling);
799
- score += weights.cohesion * metrics.cohesion;
800
- score += weights.testCoverage * metrics.testCoverage;
801
- score += weights.patterns * Math.min(metrics.patterns * 10, 20);
802
- return Math.min(Math.max(Math.round(score), 0), 100);
803
- }
804
- /**
805
- * Generate insights based on analysis
806
- */
807
- generateInsights(structure, metrics) {
808
- const insights = [];
809
- // Size insights
810
- if (structure.totalFiles > 1000) {
811
- insights.push(`Large codebase with ${structure.totalFiles} files - consider modularization`);
812
- }
813
- else if (structure.totalFiles < 10) {
814
- insights.push("Small codebase - good candidate for rapid development");
815
- }
816
- // Language insights
817
- if (structure.languages.size > 3) {
818
- insights.push(`Polyglot codebase with ${structure.languages.size} languages`);
819
- }
820
- else if (structure.languages.size === 1) {
821
- insights.push("Single-language codebase - easier maintenance but potential skill limitations");
822
- }
823
- // Architecture insights
824
- if (structure.architecture.framework.length > 0) {
825
- insights.push(`Uses ${structure.architecture.framework.join(", ")} framework(s)`);
826
- }
827
- if (structure.architecture.patterns.length > 0) {
828
- insights.push(`Follows ${structure.architecture.patterns.join(", ")} architectural pattern(s)`);
829
- }
830
- // Quality insights
831
- if (metrics.qualityScore > 80) {
832
- insights.push("High-quality codebase with strong architectural foundations");
833
- }
834
- else if (metrics.qualityScore < 40) {
835
- insights.push("Codebase may benefit from refactoring and quality improvements");
836
- }
837
- if (metrics.testCoverage > 80) {
838
- insights.push("Excellent test coverage provides strong confidence in changes");
839
- }
840
- else if (metrics.testCoverage < 20) {
841
- insights.push("Low test coverage increases risk of undetected regressions");
842
- }
843
- return insights;
844
- }
845
- /**
846
- * Generate recommendations for improvement
847
- */
848
- generateRecommendations(structure, metrics) {
849
- const recommendations = [];
850
- if (metrics.testCoverage < 70) {
851
- recommendations.push("Increase test coverage to reduce regression risk");
852
- }
853
- if (metrics.coupling > 70) {
854
- recommendations.push("Reduce coupling through better separation of concerns");
855
- }
856
- if (metrics.cohesion < 30) {
857
- recommendations.push("Improve cohesion by grouping related functionality");
858
- }
859
- if (structure.modules.size === 0 && structure.totalFiles > 50) {
860
- recommendations.push("Consider modularizing the codebase for better maintainability");
861
- }
862
- if (structure.architecture.framework.length === 0 &&
863
- structure.totalFiles > 20) {
864
- recommendations.push("Consider adopting a framework to standardize development patterns");
865
- }
866
- if (metrics.complexity > 80) {
867
- recommendations.push("Consider breaking down complex components into smaller, focused units");
868
- }
869
- return recommendations;
870
- }
871
- /**
872
- * Identify potential risks and issues
873
- */
874
- identifyRisks(structure, metrics) {
875
- const risks = [];
876
- if (metrics.coupling > 80) {
877
- risks.push("High coupling increases change risk and maintenance complexity");
878
- }
879
- if (metrics.testCoverage < 30) {
880
- risks.push("Low test coverage poses significant risk for safe refactoring");
881
- }
882
- if (structure.dependencyGraph.size > 0) {
883
- // Check for circular dependencies (simplified check)
884
- const circularDeps = this.detectCircularDependencies(structure.dependencyGraph);
885
- if (circularDeps.length > 0) {
886
- risks.push(`${circularDeps.length} potential circular dependencies detected`);
887
- }
888
- }
889
- if (structure.languages.size > 5) {
890
- risks.push("High language diversity may complicate team composition and maintenance");
891
- }
892
- if (metrics.complexity > 90) {
893
- risks.push("Very high complexity indicates potential maintainability issues");
894
- }
895
- return risks;
896
- }
897
- // Helper methods
898
- isModuleDirectory(dirPath) {
899
- try {
900
- const entries = fs.readdirSync(dirPath);
901
- return (entries.some((entry) => {
902
- const ext = path.extname(entry);
903
- return this.supportedLanguages[ext];
904
- }) &&
905
- entries.some((entry) => entry === "package.json" ||
906
- entry === "index.ts" ||
907
- entry === "index.js"));
908
- }
909
- catch {
910
- return false;
911
- }
912
- }
913
- isConfigFile(filePath) {
914
- const configPatterns = [
915
- /package\.json$/,
916
- /tsconfig\.json$/,
917
- /webpack\.config\./,
918
- /\.eslintrc/,
919
- /\.prettierrc/,
920
- /Dockerfile/,
921
- /docker-compose\.yml/,
922
- /\.env/,
923
- ];
924
- return configPatterns.some((pattern) => pattern.test(filePath));
925
- }
926
- classifyModule(relativePath, files) {
927
- if (relativePath.includes("test") || relativePath.includes("spec")) {
928
- return "test";
929
- }
930
- if (relativePath.includes("docs") ||
931
- files.some((f) => f.extension === ".md")) {
932
- return "docs";
933
- }
934
- if (files.some((f) => ["package.json", "Dockerfile", "docker-compose.yml"].includes(path.basename(f.relativePath)))) {
935
- return "infrastructure";
936
- }
937
- if (files.some((f) => f.relativePath.includes("config") || f.relativePath.includes(".env"))) {
938
- return "config";
939
- }
940
- return "source";
941
- }
942
- findEntryPoint(files) {
943
- const entryCandidates = [
944
- "index.ts",
945
- "index.js",
946
- "main.ts",
947
- "main.js",
948
- "app.ts",
949
- "app.js",
950
- ];
951
- for (const candidate of entryCandidates) {
952
- const file = files.find((f) => path.basename(f.relativePath) === candidate);
953
- if (file)
954
- return file.relativePath;
955
- }
956
- // Fallback to first source file
957
- const sourceFile = files.find((f) => f.isSourceCode);
958
- return sourceFile?.relativePath;
959
- }
960
- hasFramework(fileGraph, framework) {
961
- for (const file of Array.from(fileGraph.values())) {
962
- if (file.content?.toLowerCase().includes(framework.toLowerCase())) {
963
- return true;
964
- }
965
- }
966
- return false;
967
- }
968
- detectMVCPattern(fileGraph) {
969
- const hasControllers = Array.from(fileGraph.keys()).some((path) => path.includes("controller"));
970
- const hasModels = Array.from(fileGraph.keys()).some((path) => path.includes("model"));
971
- const hasViews = Array.from(fileGraph.keys()).some((path) => path.includes("view"));
972
- return hasControllers && hasModels && hasViews;
973
- }
974
- detectRepositoryPattern(fileGraph) {
975
- return Array.from(fileGraph.keys()).some((path) => path.includes("repository"));
976
- }
977
- detectObserverPattern(fileGraph) {
978
- return Array.from(fileGraph.values()).some((file) => file.content?.includes("subscribe") ||
979
- file.content?.includes("observe"));
980
- }
981
- detectFactoryPattern(fileGraph) {
982
- return Array.from(fileGraph.keys()).some((path) => path.includes("factory"));
983
- }
984
- hasMicroservicesIndicators(fileGraph) {
985
- return Array.from(fileGraph.keys()).some((path) => path.includes("docker") ||
986
- path.includes("kubernetes") ||
987
- path.includes("service"));
988
- }
989
- isEntryPoint(filePath, fileInfo) {
990
- const entryIndicators = [
991
- "index.ts",
992
- "index.js",
993
- "main.ts",
994
- "main.js",
995
- "app.ts",
996
- "app.js",
997
- "server.ts",
998
- "server.js",
999
- "cli.ts",
1000
- "cli.js",
1001
- ];
1002
- return (entryIndicators.includes(path.basename(filePath)) ||
1003
- Boolean(fileInfo.content?.includes("#!/usr/bin/env")) ||
1004
- Boolean(fileInfo.content?.includes("process.argv")));
1005
- }
1006
- detectCircularDependencies(dependencyGraph) {
1007
- const circularDeps = [];
1008
- const visited = new Set();
1009
- const recursionStack = new Set();
1010
- const dfs = (node) => {
1011
- visited.add(node);
1012
- recursionStack.add(node);
1013
- const dependencies = dependencyGraph.get(node) || new Set();
1014
- for (const dep of Array.from(dependencies)) {
1015
- if (!visited.has(dep)) {
1016
- if (dfs(dep)) {
1017
- circularDeps.push(`${node} -> ${dep}`);
1018
- return true;
1019
- }
1020
- }
1021
- else if (recursionStack.has(dep)) {
1022
- circularDeps.push(`${node} -> ${dep}`);
1023
- return true;
1024
- }
1025
- }
1026
- recursionStack.delete(node);
1027
- return false;
1028
- };
1029
- for (const node of Array.from(dependencyGraph.keys())) {
1030
- if (!visited.has(node)) {
1031
- dfs(node);
1032
- }
1033
- }
1034
- return circularDeps;
1035
- }
1036
- }
1037
- // Export factory function for optimized analyzers
1038
- export const createCodebaseContextAnalyzer = (projectRoot, memoryConfig) => {
1039
- return new CodebaseContextAnalyzer(projectRoot, memoryConfig);
1040
- };