0xray 3.1.0 → 3.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (437) hide show
  1. package/.gitignore.default +59 -0
  2. package/.mcp.json +35 -0
  3. package/.opencode/codex.codex +1 -1
  4. package/.opencode/commands/auto-format.md +3 -3
  5. package/.opencode/commands/auto-summary-capture.md +2 -2
  6. package/.opencode/commands/dependency-audit.md +3 -3
  7. package/.opencode/commands/enforcer-daily-scan.md +3 -3
  8. package/.opencode/commands/framework-compliance-audit.md +4 -4
  9. package/.opencode/commands/interactive-validator.md +2 -2
  10. package/.opencode/commands/job-summary-logger.md +2 -2
  11. package/.opencode/commands/mode-switch.md +1 -1
  12. package/.opencode/commands/model-health-check.md +2 -2
  13. package/.opencode/commands/performance-analysis.md +2 -2
  14. package/.opencode/commands/pre-commit-introspection.md +3 -3
  15. package/.opencode/commands/security-scan.md +3 -3
  16. package/.opencode/commands/sisyphus-validation.md +3 -3
  17. package/.opencode/commands/summary-logger.md +6 -6
  18. package/.opencode/enforcer-config.json +2 -2
  19. package/.opencode/hooks/post-commit +1 -1
  20. package/.opencode/init.sh +6 -0
  21. package/.plugin/plugin.json +11 -0
  22. package/AGENTS-consumer.md +46 -0
  23. package/AGENTS.md +2 -12
  24. package/LICENSE +1 -1
  25. package/README.md +6 -6
  26. package/SKILLS.md +140 -0
  27. package/dist/.gitignore.default +59 -0
  28. package/dist/AGENTS.md +2 -12
  29. package/dist/CHANGELOG.md +54 -0
  30. package/dist/LICENSE +1 -1
  31. package/dist/README.md +6 -6
  32. package/dist/SKILLS.md +140 -0
  33. package/dist/agents/index.js +3 -1
  34. package/dist/agents/registry.js +13 -0
  35. package/dist/analytics/consent-manager.js +0 -1
  36. package/dist/analytics/emerging-pattern-detector.js +0 -1
  37. package/dist/analytics/pattern-learning-engine.js +0 -1
  38. package/dist/analytics/pattern-performance-tracker.js +0 -1
  39. package/dist/analytics/predictive-analytics.js +0 -1
  40. package/dist/analytics/prompt-pattern-analyzer.js +0 -1
  41. package/dist/analytics/routing-performance-analyzer.js +0 -1
  42. package/dist/analytics/routing-refiner.js +1 -2
  43. package/dist/analytics/simple-pattern-analyzer.js +0 -1
  44. package/dist/architect/architectural-integrity.js +3 -3
  45. package/dist/benchmark/performance-benchmark.js +1 -2
  46. package/dist/cli/commands/antigravity-status.js +23 -23
  47. package/dist/cli/commands/archive-logs.js +0 -1
  48. package/dist/cli/commands/credible-init.js +1 -1
  49. package/dist/cli/commands/hermes-install.js +8 -0
  50. package/dist/cli/commands/mcp-install.js +1 -1
  51. package/dist/cli/commands/openclaw-install.js +9 -0
  52. package/dist/cli/commands/opencode-install.js +35 -0
  53. package/dist/cli/commands/plugin-commands.js +0 -1
  54. package/dist/cli/commands/skill-install.js +39 -2
  55. package/dist/cli/commands/status.js +16 -13
  56. package/dist/cli/commands/storyteller.js +1 -1
  57. package/dist/cli/index.js +14 -13
  58. package/dist/core/activity-logger.js +4 -5
  59. package/dist/core/adaptive-kernel.js +0 -1
  60. package/dist/core/agent-spawn-gate.js +1 -1
  61. package/dist/core/boot-orchestrator.js +14 -25
  62. package/dist/core/bridge.mjs +4 -5
  63. package/dist/core/codex-formatter.js +1 -3
  64. package/dist/core/codex-injector.js +3 -4
  65. package/dist/core/config-loader.js +36 -29
  66. package/dist/core/config-paths.js +30 -23
  67. package/dist/core/context-loader.js +0 -4
  68. package/dist/core/context-validator.js +0 -1
  69. package/dist/core/features-config.js +38 -2
  70. package/dist/core/index.js +2 -2
  71. package/dist/core/kernel-patterns.js +0 -1
  72. package/dist/core/logging-config.js +7 -7
  73. package/dist/core/model-router.js +23 -64
  74. package/dist/core/orchestrator.js +1 -1
  75. package/dist/core/system-prompt-generator.js +0 -1
  76. package/dist/core/xray-activation.js +3 -4
  77. package/dist/delegation/agent-delegator.js +2 -3
  78. package/dist/delegation/agent-expertise.js +0 -1
  79. package/dist/delegation/analytics/index.js +0 -1
  80. package/dist/delegation/analytics/learning-engine.js +0 -1
  81. package/dist/delegation/analytics/outcome-tracker.js +0 -1
  82. package/dist/delegation/analytics/routing-analytics.js +0 -1
  83. package/dist/delegation/ast-code-parser.js +0 -1
  84. package/dist/delegation/complexity-analyzer.js +0 -1
  85. package/dist/delegation/dependency-graph-builder.js +0 -1
  86. package/dist/delegation/index.js +0 -1
  87. package/dist/delegation/metrics-aggregator.js +0 -1
  88. package/dist/delegation/session-coordinator.js +0 -1
  89. package/dist/delegation/strategy-selector.js +0 -1
  90. package/dist/delegation/voting-coordinator.js +0 -1
  91. package/dist/delegation/voting-types.js +0 -1
  92. package/dist/delegation/weighted-voting-aggregator.js +0 -1
  93. package/dist/enforcement/core/index.js +0 -1
  94. package/dist/enforcement/core/rule-executor.js +0 -1
  95. package/dist/enforcement/core/rule-hierarchy.js +0 -1
  96. package/dist/enforcement/core/rule-registry.js +0 -1
  97. package/dist/enforcement/core/violation-fixer.js +0 -1
  98. package/dist/enforcement/enforcer-tools.js +2 -2
  99. package/dist/enforcement/index.js +0 -1
  100. package/dist/enforcement/loaders/agent-triage-loader.js +0 -1
  101. package/dist/enforcement/loaders/agents-md-validation-loader.js +0 -1
  102. package/dist/enforcement/loaders/base-loader.js +0 -1
  103. package/dist/enforcement/loaders/codex-loader.js +2 -3
  104. package/dist/enforcement/loaders/index.js +0 -1
  105. package/dist/enforcement/loaders/loader-orchestrator.js +0 -1
  106. package/dist/enforcement/loaders/processor-loader.js +0 -1
  107. package/dist/enforcement/types.js +0 -1
  108. package/dist/enforcement/validators/architecture-validators.js +0 -1
  109. package/dist/enforcement/validators/base-validator.js +0 -1
  110. package/dist/enforcement/validators/code-quality-validators.js +0 -1
  111. package/dist/enforcement/validators/index.js +0 -1
  112. package/dist/enforcement/validators/security-validators.js +0 -1
  113. package/dist/enforcement/validators/testing-validators.js +0 -1
  114. package/dist/enforcement/validators/validator-registry.js +0 -1
  115. package/dist/execution/opencode-cli-invoker.js +1 -1
  116. package/dist/governance/codex-policy.service.js +0 -1
  117. package/dist/governance/governance-service.js +1 -1
  118. package/dist/governance/llm-governance-provider.js +14 -1
  119. package/dist/index.js +3 -5
  120. package/dist/inference/inference-agent-invoker.js +67 -0
  121. package/dist/inference/inference-applier.js +178 -0
  122. package/dist/inference/inference-cycle.js +52 -828
  123. package/dist/inference/inference-proposal-generator.js +149 -0
  124. package/dist/infrastructure/iac-validator.js +465 -0
  125. package/dist/infrastructure/schemas/cloud-schemas.js +488 -0
  126. package/dist/integrations/base/ExampleIntegration.js +0 -1
  127. package/dist/integrations/base/Integration.js +0 -1
  128. package/dist/integrations/base/README.md +1 -1
  129. package/dist/integrations/base/index.js +0 -1
  130. package/dist/integrations/base/registry.js +0 -1
  131. package/dist/integrations/base/types.js +0 -1
  132. package/dist/integrations/enforcement-gate.js +5 -5
  133. package/dist/integrations/governance/governance-client.js +0 -1
  134. package/dist/integrations/governance/index.js +11 -19
  135. package/dist/integrations/governance/types.js +0 -1
  136. package/dist/integrations/grok/grok-cli.js +20 -6
  137. package/dist/integrations/grok/hooks/pre-tool-use.js +3 -3
  138. package/dist/integrations/grok/plugin/0xray/.mcp.json +16 -4
  139. package/dist/integrations/grok/plugin/0xray/hooks/hooks.json +2 -2
  140. package/dist/integrations/hermes-agent/__init__.py +29 -14
  141. package/dist/integrations/hermes-agent/bridge.mjs +76 -4
  142. package/dist/integrations/hermes-agent/schemas.py +49 -0
  143. package/dist/integrations/hermes-agent/test_plugin.py +7 -7
  144. package/dist/integrations/hermes-agent/tools.py +107 -3
  145. package/dist/integrations/openclaw/README.md +6 -6
  146. package/dist/integrations/openclaw/api-server.js +0 -1
  147. package/dist/integrations/openclaw/client.js +0 -1
  148. package/dist/integrations/openclaw/config.js +1 -2
  149. package/dist/integrations/openclaw/hooks/{strray-hooks.js → xray-hooks.js} +0 -1
  150. package/dist/integrations/openclaw/index.js +2 -3
  151. package/dist/integrations/openclaw/types.js +3 -4
  152. package/dist/integrations/plugins/index.js +0 -1
  153. package/dist/integrations/plugins/plugin-integration.js +1 -2
  154. package/dist/integrations/plugins/plugin-registry.js +1 -2
  155. package/dist/mcps/agent-resolver.js +0 -1
  156. package/dist/mcps/architect-tools.server.js +121 -186
  157. package/dist/mcps/auto-format.server.js +57 -75
  158. package/dist/mcps/boot-orchestrator.server.js +68 -86
  159. package/dist/mcps/config/config-loader.js +46 -9
  160. package/dist/mcps/config/plugin-server-registry.js +0 -1
  161. package/dist/mcps/enforcer-tools.server.js +208 -274
  162. package/dist/mcps/estimation.server.js +65 -108
  163. package/dist/mcps/framework-compliance-audit.server.js +53 -82
  164. package/dist/mcps/framework-help.server.js +73 -90
  165. package/dist/mcps/governance.server.js +104 -152
  166. package/dist/mcps/knowledge-skills/api-design.server.js +35 -66
  167. package/dist/mcps/knowledge-skills/architecture-patterns.server.js +35 -66
  168. package/dist/mcps/knowledge-skills/bug-triage-specialist.server.js +125 -165
  169. package/dist/mcps/knowledge-skills/code-analyzer.server.js +211 -238
  170. package/dist/mcps/knowledge-skills/code-review.server.js +109 -143
  171. package/dist/mcps/knowledge-skills/content-creator.server.js +205 -227
  172. package/dist/mcps/knowledge-skills/database-design.server.js +117 -151
  173. package/dist/mcps/knowledge-skills/devops-deployment.server.js +125 -158
  174. package/dist/mcps/knowledge-skills/git-workflow.server.js +36 -68
  175. package/dist/mcps/knowledge-skills/growth-strategist.server.js +303 -325
  176. package/dist/mcps/knowledge-skills/log-monitor.server.js +141 -161
  177. package/dist/mcps/knowledge-skills/mobile-development.server.js +172 -202
  178. package/dist/mcps/knowledge-skills/multimodal-looker.server.js +124 -160
  179. package/dist/mcps/knowledge-skills/performance-optimization.server.js +89 -139
  180. package/dist/mcps/knowledge-skills/project-analysis.server.js +132 -219
  181. package/dist/mcps/knowledge-skills/refactoring-strategies.server.js +117 -151
  182. package/dist/mcps/knowledge-skills/security-audit.server.js +17 -144
  183. package/dist/mcps/knowledge-skills/seo-consultant.server.js +22 -214
  184. package/dist/mcps/knowledge-skills/session-management.server.js +15 -91
  185. package/dist/mcps/knowledge-skills/skill-invocation.server.js +83 -359
  186. package/dist/mcps/knowledge-skills/strategist.server.js +12 -57
  187. package/dist/mcps/knowledge-skills/tech-writer.server.js +18 -193
  188. package/dist/mcps/knowledge-skills/testing-best-practices.server.js +20 -192
  189. package/dist/mcps/knowledge-skills/testing-strategy.server.js +19 -157
  190. package/dist/mcps/knowledge-skills/ui-ux-design.server.js +24 -297
  191. package/dist/mcps/lint.server.js +51 -92
  192. package/dist/mcps/model-health-check.server.js +34 -61
  193. package/dist/mcps/orchestrator/aside-context.js +207 -0
  194. package/dist/mcps/orchestrator/handlers/complexity-handler.js +5 -1
  195. package/dist/mcps/orchestrator/handlers/status-handler.js +8 -1
  196. package/dist/mcps/orchestrator/handlers/task-handler.js +5 -0
  197. package/dist/mcps/orchestrator/index.js +5 -0
  198. package/dist/mcps/orchestrator/server.js +65 -9
  199. package/dist/mcps/orchestrator.server.js +2 -1
  200. package/dist/mcps/performance-analysis.server.js +57 -88
  201. package/dist/mcps/processor-pipeline.server.js +70 -100
  202. package/dist/mcps/registry.json +1 -1
  203. package/dist/mcps/researcher.server.js +81 -154
  204. package/dist/mcps/security-scan.server.js +57 -71
  205. package/dist/mcps/shared/knowledge-skill-base.js +11 -4
  206. package/dist/mcps/state-manager.server.js +127 -155
  207. package/dist/metrics/agent-metrics.js +1 -1
  208. package/dist/monitoring/nudge-watchdog.js +0 -1
  209. package/dist/nucleus/default-plugins.js +13 -19
  210. package/dist/nucleus/index.js +0 -1
  211. package/dist/orchestrator/agent-spawn-governor.js +0 -1
  212. package/dist/orchestrator/enhanced-multi-agent-orchestrator.js +2 -2
  213. package/dist/orchestrator/intelligent-commit-batcher.js +2 -11
  214. package/dist/orchestrator/multi-agent-orchestration-coordinator.js +1 -2
  215. package/dist/orchestrator/orchestrator.js +8 -19
  216. package/dist/orchestrator/self-direction-activation.js +0 -1
  217. package/dist/orchestrator/universal-registry-bridge.js +1 -2
  218. package/dist/performance/performance-budget-enforcer.js +0 -1
  219. package/dist/performance/performance-regression-tester.js +0 -1
  220. package/dist/plugin/plugin-codex-context.js +87 -0
  221. package/dist/plugin/plugin-helpers.js +155 -0
  222. package/dist/plugin/plugin-logger.js +46 -0
  223. package/dist/plugin/plugin-modules.js +144 -0
  224. package/dist/plugin/plugin-quality-gate.js +88 -0
  225. package/dist/plugin/plugin-types.js +1 -0
  226. package/dist/plugin/xray-codex-injection.js +39 -558
  227. package/dist/postprocessor/PostProcessor.js +7 -13
  228. package/dist/postprocessor/analysis/CodeChangeAnalyzer.js +50 -0
  229. package/dist/postprocessor/config/ProcessorConfigLoader.js +16 -0
  230. package/dist/postprocessor/integration.js +194 -0
  231. package/dist/postprocessor/metamorphosis/SelfProposalEngine.js +472 -0
  232. package/dist/postprocessor/metamorphosis/index.js +1 -0
  233. package/dist/postprocessor/redeploy/RetryHandler.js +118 -0
  234. package/dist/postprocessor/services/RegressionAnalysisService.js +2 -3
  235. package/dist/postprocessor/triggers/APITrigger.js +0 -1
  236. package/dist/postprocessor/triggers/GitHookTrigger.js +4 -4
  237. package/dist/postprocessor/triggers/WebhookTrigger.js +0 -1
  238. package/dist/processors/implementations/agents-md-validation-processor.js +0 -1
  239. package/dist/processors/implementations/async-pattern-processor.js +0 -1
  240. package/dist/processors/implementations/console-log-guard-processor.js +0 -1
  241. package/dist/processors/implementations/coverage-analysis-processor.js +0 -1
  242. package/dist/processors/implementations/inference-improvement-processor.js +2 -10
  243. package/dist/processors/implementations/log-protection-processor.js +0 -1
  244. package/dist/processors/implementations/nudge-processor.js +0 -1
  245. package/dist/processors/implementations/performance-budget-processor.js +0 -1
  246. package/dist/processors/implementations/postprocessor-chain-validator.js +0 -1
  247. package/dist/processors/implementations/publish-preflight-processor.js +4 -13
  248. package/dist/processors/implementations/session-summary-processor.js +8 -16
  249. package/dist/processors/implementations/spawn-governance-processor.js +0 -1
  250. package/dist/processors/implementations/storytelling-trigger-processor.js +3 -29
  251. package/dist/processors/implementations/test-auto-creation-processor.js +0 -1
  252. package/dist/processors/implementations/typescript-compilation-processor.js +0 -1
  253. package/dist/processors/implementations/version-compliance-processor.js +0 -1
  254. package/dist/processors/processor-interfaces.js +0 -1
  255. package/dist/processors/processor-types.js +0 -1
  256. package/dist/public/about.html +6 -6
  257. package/dist/public/enterprise.html +1 -1
  258. package/dist/public/features.html +2 -2
  259. package/dist/public/index.html +4 -4
  260. package/dist/reporting/report-formatter.js +1 -1
  261. package/dist/scripts/activate-kernel-pipeline.js +2 -2
  262. package/dist/scripts/integration.js +0 -1
  263. package/dist/scripts/pre-command +1 -1
  264. package/dist/security/comprehensive-security-audit.js +0 -1
  265. package/dist/security/security-agent-coordinator.js +0 -1
  266. package/dist/security/security-auditor.js +0 -1
  267. package/dist/security/security-hardener.js +0 -1
  268. package/dist/security/security-hardening-system.js +0 -1
  269. package/dist/security/security-headers.js +0 -1
  270. package/dist/security/security-orchestration-layer.js +0 -1
  271. package/dist/services/inference-tuner.js +1 -2
  272. package/dist/session/session-cleanup-manager.js +0 -1
  273. package/dist/session/session-monitor.js +0 -1
  274. package/dist/session/session-state-manager.js +0 -1
  275. package/dist/skills/api-design/SKILL.md +1 -1
  276. package/dist/skills/architect-tools/SKILL.md +1 -1
  277. package/dist/skills/architecture-patterns/SKILL.md +1 -1
  278. package/dist/skills/auto-format/SKILL.md +1 -1
  279. package/dist/skills/boot-orchestrator/SKILL.md +1 -1
  280. package/dist/skills/bug-triage/SKILL.md +1 -1
  281. package/dist/skills/code-analyzer/SKILL.md +1 -1
  282. package/dist/skills/code-review/SKILL.md +1 -1
  283. package/dist/skills/enforcer/SKILL.md +1 -1
  284. package/dist/skills/framework-compliance-audit/SKILL.md +1 -1
  285. package/dist/skills/git-workflow/SKILL.md +1 -1
  286. package/dist/skills/hermes-agent/SKILL.md +2 -2
  287. package/dist/skills/inference-improve/SKILL.md +1 -1
  288. package/dist/skills/lint/SKILL.md +1 -1
  289. package/dist/skills/log-monitor/SKILL.md +1 -1
  290. package/dist/skills/model-health-check/SKILL.md +1 -1
  291. package/dist/skills/multimodal-looker/SKILL.md +1 -1
  292. package/dist/skills/orchestrator/SKILL.md +1 -1
  293. package/dist/skills/performance-analysis/SKILL.md +1 -1
  294. package/dist/skills/performance-optimization/SKILL.md +1 -1
  295. package/dist/skills/processor-pipeline/SKILL.md +1 -1
  296. package/dist/skills/project-analysis/SKILL.md +1 -1
  297. package/dist/skills/refactoring-strategies/SKILL.md +1 -1
  298. package/dist/skills/registry.json +1 -1
  299. package/dist/skills/researcher/SKILL.md +1 -1
  300. package/dist/skills/security-audit/SKILL.md +1 -1
  301. package/dist/skills/security-scan/SKILL.md +1 -1
  302. package/dist/skills/session-management/SKILL.md +1 -1
  303. package/dist/skills/state-manager/SKILL.md +1 -1
  304. package/dist/skills/storyteller/SKILL.md +1 -1
  305. package/dist/skills/testing-best-practices/SKILL.md +1 -1
  306. package/dist/skills/testing-strategy/SKILL.md +1 -1
  307. package/dist/skills/ui-ux-design/SKILL.md +1 -1
  308. package/dist/skills/xray-orchestrator/index.js +0 -1
  309. package/dist/state/index.js +0 -1
  310. package/dist/state/state-manager.js +1 -2
  311. package/dist/utils/codex-parser.js +0 -1
  312. package/dist/utils/import-resolver.js +1 -1
  313. package/dist/utils/language-detector.js +0 -1
  314. package/dist/utils/path-resolver.js +2 -2
  315. package/dist/utils/shutdown-handler.js +0 -1
  316. package/dist/validation/agent-config-validator.js +280 -0
  317. package/dist/validation/orchestration-flow-validator.js +606 -0
  318. package/package.json +10 -3
  319. package/scripts/hooks/pre-command +1 -1
  320. package/scripts/hooks/run-hook.js +2 -2
  321. package/scripts/node/auto-reflection-generator.mjs +30 -36
  322. package/scripts/node/govern-reflection.mjs +1 -1
  323. package/scripts/node/postinstall.cjs +37 -2
  324. package/scripts/node/release.mjs +2 -2
  325. package/scripts/node/setup-xai-oauth.mjs +244 -0
  326. package/scripts/node/setup.cjs +28 -0
  327. package/scripts/node/universal-version-manager.js +8 -8
  328. package/scripts/node/version-manager.mjs +1 -1
  329. package/src/integrations/grok/plugin/0xray/.mcp.json +16 -4
  330. package/src/integrations/grok/plugin/0xray/hooks/hooks.json +2 -2
  331. package/src/mcps/agent-resolver.ts +0 -1
  332. package/src/mcps/architect-tools.server.ts +130 -212
  333. package/src/mcps/auto-format.server.ts +75 -104
  334. package/src/mcps/boot-orchestrator.server.ts +72 -97
  335. package/src/mcps/config/__tests__/config-loader.test.ts +33 -37
  336. package/src/mcps/config/config-loader.ts +57 -11
  337. package/src/mcps/config/plugin-server-registry.ts +0 -1
  338. package/src/mcps/enforcer-tools.server.ts +218 -295
  339. package/src/mcps/estimation.server.ts +64 -123
  340. package/src/mcps/framework-compliance-audit.server.ts +54 -96
  341. package/src/mcps/framework-help.server.ts +76 -97
  342. package/src/mcps/governance.server.ts +104 -164
  343. package/src/mcps/knowledge-skills/api-design.server.ts +35 -73
  344. package/src/mcps/knowledge-skills/architecture-patterns.server.ts +34 -73
  345. package/src/mcps/knowledge-skills/bug-triage-specialist.server.ts +149 -194
  346. package/src/mcps/knowledge-skills/code-analyzer.server.ts +223 -255
  347. package/src/mcps/knowledge-skills/code-review.server.ts +116 -158
  348. package/src/mcps/knowledge-skills/content-creator.server.ts +221 -248
  349. package/src/mcps/knowledge-skills/database-design.server.ts +120 -161
  350. package/src/mcps/knowledge-skills/devops-deployment.server.ts +128 -168
  351. package/src/mcps/knowledge-skills/git-workflow.server.ts +34 -78
  352. package/src/mcps/knowledge-skills/growth-strategist.server.ts +324 -362
  353. package/src/mcps/knowledge-skills/log-monitor.server.ts +70 -97
  354. package/src/mcps/knowledge-skills/mobile-development.server.ts +18 -58
  355. package/src/mcps/knowledge-skills/multimodal-looker.server.ts +15 -61
  356. package/src/mcps/knowledge-skills/performance-optimization.server.ts +14 -75
  357. package/src/mcps/knowledge-skills/project-analysis.server.ts +14 -121
  358. package/src/mcps/knowledge-skills/refactoring-strategies.server.ts +15 -61
  359. package/src/mcps/knowledge-skills/security-audit.server.ts +20 -158
  360. package/src/mcps/knowledge-skills/seo-consultant.server.ts +25 -228
  361. package/src/mcps/knowledge-skills/session-management.server.ts +19 -107
  362. package/src/mcps/knowledge-skills/skill-invocation.server.ts +89 -380
  363. package/src/mcps/knowledge-skills/strategist.server.ts +15 -65
  364. package/src/mcps/knowledge-skills/tech-writer.server.ts +21 -206
  365. package/src/mcps/knowledge-skills/testing-best-practices.server.ts +23 -205
  366. package/src/mcps/knowledge-skills/testing-strategy.server.ts +22 -166
  367. package/src/mcps/knowledge-skills/ui-ux-design.server.ts +27 -343
  368. package/src/mcps/lint.server.ts +53 -106
  369. package/src/mcps/model-health-check.server.ts +35 -71
  370. package/src/mcps/orchestrator/aside-context.ts +245 -0
  371. package/src/mcps/orchestrator/handlers/complexity-handler.ts +9 -3
  372. package/src/mcps/orchestrator/handlers/status-handler.ts +11 -1
  373. package/src/mcps/orchestrator/handlers/task-handler.ts +8 -1
  374. package/src/mcps/orchestrator/index.ts +29 -0
  375. package/src/mcps/orchestrator/server.ts +81 -25
  376. package/src/mcps/orchestrator/types.ts +37 -0
  377. package/src/mcps/orchestrator.server.ts +2 -1
  378. package/src/mcps/performance-analysis.server.ts +60 -103
  379. package/src/mcps/processor-pipeline.server.ts +72 -109
  380. package/src/mcps/registry.json +1 -1
  381. package/src/mcps/researcher.server.ts +88 -176
  382. package/src/mcps/security-scan.server.ts +58 -77
  383. package/src/mcps/shared/knowledge-skill-base.ts +12 -4
  384. package/src/mcps/state-manager.server.ts +132 -172
  385. package/src/opencode/codex.codex +1 -1
  386. package/src/opencode/commands/auto-format.md +3 -3
  387. package/src/opencode/commands/auto-summary-capture.md +2 -2
  388. package/src/opencode/commands/dependency-audit.md +3 -3
  389. package/src/opencode/commands/enforcer-daily-scan.md +3 -3
  390. package/src/opencode/commands/framework-compliance-audit.md +4 -4
  391. package/src/opencode/commands/interactive-validator.md +2 -2
  392. package/src/opencode/commands/job-summary-logger.md +2 -2
  393. package/src/opencode/commands/mode-switch.md +1 -1
  394. package/src/opencode/commands/model-health-check.md +2 -2
  395. package/src/opencode/commands/performance-analysis.md +2 -2
  396. package/src/opencode/commands/pre-commit-introspection.md +3 -3
  397. package/src/opencode/commands/security-scan.md +3 -3
  398. package/src/opencode/commands/sisyphus-validation.md +3 -3
  399. package/src/opencode/commands/summary-logger.md +6 -6
  400. package/src/opencode/enforcer-config.json +2 -2
  401. package/src/skills/api-design/SKILL.md +1 -1
  402. package/src/skills/architect-tools/SKILL.md +1 -1
  403. package/src/skills/architecture-patterns/SKILL.md +1 -1
  404. package/src/skills/auto-format/SKILL.md +1 -1
  405. package/src/skills/boot-orchestrator/SKILL.md +1 -1
  406. package/src/skills/bug-triage/SKILL.md +1 -1
  407. package/src/skills/code-analyzer/SKILL.md +1 -1
  408. package/src/skills/code-review/SKILL.md +1 -1
  409. package/src/skills/enforcer/SKILL.md +1 -1
  410. package/src/skills/framework-compliance-audit/SKILL.md +1 -1
  411. package/src/skills/git-workflow/SKILL.md +1 -1
  412. package/src/skills/hermes-agent/SKILL.md +2 -2
  413. package/src/skills/inference-improve/SKILL.md +1 -1
  414. package/src/skills/lint/SKILL.md +1 -1
  415. package/src/skills/log-monitor/SKILL.md +1 -1
  416. package/src/skills/model-health-check/SKILL.md +1 -1
  417. package/src/skills/multimodal-looker/SKILL.md +1 -1
  418. package/src/skills/orchestrator/SKILL.md +1 -1
  419. package/src/skills/performance-analysis/SKILL.md +1 -1
  420. package/src/skills/performance-optimization/SKILL.md +1 -1
  421. package/src/skills/processor-pipeline/SKILL.md +1 -1
  422. package/src/skills/project-analysis/SKILL.md +1 -1
  423. package/src/skills/refactoring-strategies/SKILL.md +1 -1
  424. package/src/skills/registry.json +1 -1
  425. package/src/skills/researcher/SKILL.md +1 -1
  426. package/src/skills/security-audit/SKILL.md +1 -1
  427. package/src/skills/security-scan/SKILL.md +1 -1
  428. package/src/skills/session-management/SKILL.md +1 -1
  429. package/src/skills/state-manager/SKILL.md +1 -1
  430. package/src/skills/storyteller/SKILL.md +1 -1
  431. package/src/skills/testing-best-practices/SKILL.md +1 -1
  432. package/src/skills/testing-strategy/SKILL.md +1 -1
  433. package/src/skills/ui-ux-design/SKILL.md +1 -1
  434. package/src/skills/xray-orchestrator/index.ts +0 -1
  435. package/xray/agents_template.md +46 -0
  436. package/xray/codex.json +598 -0
  437. package/dist/nucleus/orchestrator.js +0 -479
@@ -3,100 +3,64 @@
3
3
  *
4
4
  * Comprehensive ESLint validation and automated code quality checking
5
5
  */
6
- import { Server } from "@modelcontextprotocol/sdk/server/index.js";
7
- import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
8
- import { CallToolRequestSchema, ListToolsRequestSchema, } from "@modelcontextprotocol/sdk/types.js";
9
6
  import { execFileSync } from "child_process";
10
7
  import fs from "fs";
11
8
  import { frameworkLogger } from "../core/framework-logger.js";
12
- class XrayLintServer {
13
- server;
9
+ import { XrayKnowledgeSkillBase } from "./shared/knowledge-skill-base.js";
10
+ class XrayLintServer extends XrayKnowledgeSkillBase {
14
11
  constructor() {
15
- this.server = new Server({
16
- name: "lint", version: "1.22.67",
17
- }, {
18
- capabilities: {
19
- tools: {},
20
- },
21
- });
22
- this.setupToolHandlers();
23
- void frameworkLogger.log("lint.server", "-xray-lint-mcp-server-initialized-", "info", { message: "0xRay Lint MCP Server initialized" });
24
- }
25
- setupToolHandlers() {
26
- // List available tools
27
- this.server.setRequestHandler(ListToolsRequestSchema, async () => {
28
- return {
29
- tools: [
30
- {
31
- name: "lint",
32
- description: "Comprehensive ESLint validation and automated code quality checking",
33
- inputSchema: {
34
- type: "object",
35
- properties: {
36
- files: {
37
- type: "array",
38
- items: { type: "string" },
39
- description: "Specific files to lint (optional - lints all if empty)",
40
- },
41
- fix: {
42
- type: "boolean",
43
- default: false,
44
- description: "Automatically fix linting issues where possible",
45
- },
46
- strict: {
47
- type: "boolean",
48
- default: false,
49
- description: "Use strict linting rules",
50
- },
51
- },
12
+ super("lint", "3.1.0");
13
+ this.tools = [
14
+ {
15
+ name: "lint",
16
+ description: "Comprehensive ESLint validation and automated code quality checking",
17
+ inputSchema: {
18
+ type: "object",
19
+ properties: {
20
+ files: {
21
+ type: "array",
22
+ items: { type: "string" },
23
+ description: "Specific files to lint (optional - lints all if empty)",
52
24
  },
53
- },
54
- {
55
- name: "lint-check",
56
- description: "Check code quality without making changes",
57
- inputSchema: {
58
- type: "object",
59
- properties: {
60
- files: {
61
- type: "array",
62
- items: { type: "string" },
63
- description: "Files to check",
64
- },
65
- rules: {
66
- type: "array",
67
- items: { type: "string" },
68
- description: "Specific ESLint rules to check",
69
- },
70
- },
25
+ fix: {
26
+ type: "boolean",
27
+ default: false,
28
+ description: "Automatically fix linting issues where possible",
29
+ },
30
+ strict: {
31
+ type: "boolean",
32
+ default: false,
33
+ description: "Use strict linting rules",
71
34
  },
72
35
  },
73
- ],
74
- };
75
- });
76
- // Handle tool calls
77
- this.server.setRequestHandler(CallToolRequestSchema, async (request) => {
78
- const { name, arguments: args } = request.params;
79
- try {
80
- switch (name) {
81
- case "lint":
82
- return await this.handleLint(args);
83
- case "lint-check":
84
- return await this.handleLintCheck(args);
85
- default:
86
- throw new Error(`Unknown tool: ${name}`);
87
- }
88
- }
89
- catch (error) {
90
- return {
91
- content: [
92
- {
93
- type: "text",
94
- text: `❌ Tool execution failed: ${error instanceof Error ? error.message : String(error)}`,
36
+ },
37
+ },
38
+ {
39
+ name: "lint-check",
40
+ description: "Check code quality without making changes",
41
+ inputSchema: {
42
+ type: "object",
43
+ properties: {
44
+ files: {
45
+ type: "array",
46
+ items: { type: "string" },
47
+ description: "Files to check",
95
48
  },
96
- ],
97
- };
98
- }
99
- });
49
+ rules: {
50
+ type: "array",
51
+ items: { type: "string" },
52
+ description: "Specific ESLint rules to check",
53
+ },
54
+ },
55
+ },
56
+ },
57
+ ];
58
+ this.handlers = {
59
+ "lint": async (args) => this.handleLint(args),
60
+ "lint-check": async (args) => this.handleLintCheck(args),
61
+ };
62
+ this.setupToolHandlers();
63
+ void frameworkLogger.log("lint.server", "-xray-lint-mcp-server-initialized-", "info", { message: "0xRay Lint MCP Server initialized" });
100
64
  }
101
65
  async handleLint(args) {
102
66
  const files = args.files || [];
@@ -367,14 +331,9 @@ ${checkResults.details.map((d) => `• ${d}`).join("\n")}
367
331
  - Warnings: ${results.issues.warnings}
368
332
  - Fixed: ${results.issues.fixed}`;
369
333
  }
370
- async run() {
371
- const transport = new StdioServerTransport();
372
- await this.server.connect(transport);
373
- await frameworkLogger.log("lint.server", "-xray-lint-mcp-server-started-", "info", { message: "0xRay Lint MCP Server started" });
374
- }
375
334
  }
376
335
  // Start the server if run directly
377
- if (import.meta.url === `file://${process.argv[1]}`) {
336
+ if (import.meta.url === `file://${fs.realpathSync(process.argv[1])}`) {
378
337
  const server = new XrayLintServer();
379
338
  server.run().catch((error) => frameworkLogger.log("mcps/lint", "run", "error", { error: String(error) }));
380
339
  }
@@ -3,67 +3,45 @@
3
3
  *
4
4
  * Advanced model compatibility validation and dynamic health assessment
5
5
  */
6
- import { Server } from "@modelcontextprotocol/sdk/server/index.js";
7
- import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
8
6
  import { modelRouter } from "../core/model-router.js";
9
- import { CallToolRequestSchema, ListToolsRequestSchema, } from "@modelcontextprotocol/sdk/types.js";
7
+ import fs from "fs";
10
8
  import { frameworkLogger } from "../core/framework-logger.js";
11
- class XrayModelHealthCheckServer {
12
- server;
9
+ import { XrayKnowledgeSkillBase } from "./shared/knowledge-skill-base.js";
10
+ class XrayModelHealthCheckServer extends XrayKnowledgeSkillBase {
13
11
  constructor() {
14
- this.server = new Server({
15
- name: "model-health-check", version: "1.22.67",
16
- }, {
17
- capabilities: {
18
- tools: {},
12
+ super("model-health-check", "3.1.0");
13
+ this.tools = [
14
+ {
15
+ name: "model-health-check",
16
+ description: "Advanced model compatibility validation and dynamic health assessment",
17
+ inputSchema: {
18
+ type: "object",
19
+ properties: {
20
+ models: {
21
+ type: "array",
22
+ items: { type: "string" },
23
+ description: "Specific models to check (optional - checks all configured if empty)",
24
+ },
25
+ compatibility: {
26
+ type: "boolean",
27
+ default: true,
28
+ description: "Include compatibility matrix in results",
29
+ },
30
+ performance: {
31
+ type: "boolean",
32
+ default: true,
33
+ description: "Include performance metrics in results",
34
+ },
35
+ },
36
+ },
19
37
  },
20
- });
38
+ ];
39
+ this.handlers = {
40
+ "model-health-check": async (args) => this.handleModelHealthCheck((args || {})),
41
+ };
21
42
  this.setupToolHandlers();
22
43
  frameworkLogger.log("mcps/model-health-check", "initialize", "info");
23
44
  }
24
- setupToolHandlers() {
25
- // List available tools
26
- this.server.setRequestHandler(ListToolsRequestSchema, async () => {
27
- return {
28
- tools: [
29
- {
30
- name: "model-health-check",
31
- description: "Advanced model compatibility validation and dynamic health assessment",
32
- inputSchema: {
33
- type: "object",
34
- properties: {
35
- models: {
36
- type: "array",
37
- items: { type: "string" },
38
- description: "Specific models to check (optional - checks all configured if empty)",
39
- },
40
- compatibility: {
41
- type: "boolean",
42
- default: true,
43
- description: "Include compatibility matrix in results",
44
- },
45
- performance: {
46
- type: "boolean",
47
- default: true,
48
- description: "Include performance metrics in results",
49
- },
50
- },
51
- },
52
- },
53
- ],
54
- };
55
- });
56
- // Handle tool calls
57
- this.server.setRequestHandler(CallToolRequestSchema, async (request) => {
58
- const { name, arguments: args } = request.params;
59
- switch (name) {
60
- case "model-health-check":
61
- return await this.handleModelHealthCheck((args || {}));
62
- default:
63
- throw new Error(`Unknown tool: ${name}`);
64
- }
65
- });
66
- }
67
45
  async handleModelHealthCheck(args) {
68
46
  const models = args.models || [modelRouter.getValidatedModel()];
69
47
  const includeCompatibility = args.compatibility !== false;
@@ -214,15 +192,10 @@ class XrayModelHealthCheckServer {
214
192
  }
215
193
  return report;
216
194
  }
217
- async start() {
218
- const transport = new StdioServerTransport();
219
- await this.server.connect(transport);
220
- frameworkLogger.log("mcps/model-health-check", "start", "info");
221
- }
222
195
  }
223
196
  // Start the server if this file is run directly
224
- if (import.meta.url === `file://${process.argv[1]}`) {
197
+ if (import.meta.url === `file://${fs.realpathSync(process.argv[1])}`) {
225
198
  const server = new XrayModelHealthCheckServer();
226
- server.start().catch((error) => frameworkLogger.log("mcps/model-health-check", "run", "error", { error: String(error) }));
199
+ server.run().catch((error) => frameworkLogger.log("mcps/model-health-check", "run", "error", { error: String(error) }));
227
200
  }
228
201
  export default XrayModelHealthCheckServer;
@@ -0,0 +1,207 @@
1
+ /**
2
+ * AsideContext — bounded subcontext for depth, continuity, and layered exploration
3
+ *
4
+ * Enables the orchestrator to spawn sub-investigations that inherit session context,
5
+ * accumulate structured observations from v3 subsystems (governance, orchestration,
6
+ * complexity analysis), and feed results back into the governance loop.
7
+ */
8
+ import { frameworkLogger } from "../../core/framework-logger.js";
9
+ let asideCounter = 0;
10
+ const activeAsides = new Map();
11
+ export function getActiveAsideCount() {
12
+ return activeAsides.size;
13
+ }
14
+ export function getActiveAsideIds() {
15
+ return Array.from(activeAsides.keys());
16
+ }
17
+ export function getAsideState(asideId) {
18
+ return activeAsides.get(asideId);
19
+ }
20
+ export function addObservations(asideId, observations) {
21
+ const aside = activeAsides.get(asideId);
22
+ if (!aside)
23
+ return false;
24
+ aside.observations.push(...observations);
25
+ return true;
26
+ }
27
+ export function extractGovernanceObservations(result) {
28
+ const obs = [];
29
+ obs.push({
30
+ key: "governanceCycleId",
31
+ value: result.cycleId,
32
+ source: "inference/inference-cycle.ts",
33
+ });
34
+ obs.push({
35
+ key: "governanceVoteCount",
36
+ value: String(result.votes.length),
37
+ source: "inference/inference-cycle.ts",
38
+ });
39
+ const approved = result.votes.filter((v) => v.decision === "approve").length;
40
+ const rejected = result.votes.filter((v) => v.decision === "reject").length;
41
+ obs.push({
42
+ key: "governanceApprovedCount",
43
+ value: String(approved),
44
+ source: "inference/inference-cycle.ts",
45
+ });
46
+ obs.push({
47
+ key: "governanceRejectedCount",
48
+ value: String(rejected),
49
+ source: "inference/inference-cycle.ts",
50
+ });
51
+ if (result.corpusSummary) {
52
+ obs.push({
53
+ key: "corpusSessionCount",
54
+ value: String(result.corpusSummary.sessions),
55
+ source: "inference/inference-cycle.ts",
56
+ });
57
+ obs.push({
58
+ key: "corpusPatternCount",
59
+ value: String(result.corpusSummary.recurringPatterns),
60
+ source: "inference/inference-cycle.ts",
61
+ });
62
+ }
63
+ return obs;
64
+ }
65
+ export function extractOrchestrationObservations(result) {
66
+ const obs = [];
67
+ obs.push({
68
+ key: "orchestrationSuccess",
69
+ value: String(result.success),
70
+ source: "mcps/orchestrator/types.ts",
71
+ });
72
+ obs.push({
73
+ key: "tasksCompleted",
74
+ value: String(result.completedTasks),
75
+ source: "mcps/orchestrator/types.ts",
76
+ });
77
+ obs.push({
78
+ key: "tasksFailed",
79
+ value: String(result.failedTasks),
80
+ source: "mcps/orchestrator/types.ts",
81
+ });
82
+ obs.push({
83
+ key: "orchestrationDuration",
84
+ value: `${result.duration}ms`,
85
+ source: "mcps/orchestrator/types.ts",
86
+ });
87
+ for (const b of result.bottlenecks) {
88
+ obs.push({
89
+ key: "bottleneck",
90
+ value: b.substring(0, 200),
91
+ source: "mcps/orchestrator/types.ts",
92
+ });
93
+ }
94
+ for (const r of result.recommendations) {
95
+ obs.push({
96
+ key: "recommendation",
97
+ value: r.substring(0, 200),
98
+ source: "mcps/orchestrator/types.ts",
99
+ });
100
+ }
101
+ return obs;
102
+ }
103
+ export function extractComplexityObservations(analysis) {
104
+ const obs = [];
105
+ obs.push({
106
+ key: "complexityScore",
107
+ value: String(analysis.overallComplexity),
108
+ source: "mcps/orchestrator/execution/execution-planner.ts",
109
+ });
110
+ obs.push({
111
+ key: "recommendedStrategy",
112
+ value: analysis.recommendedStrategy,
113
+ source: "mcps/orchestrator/execution/execution-planner.ts",
114
+ });
115
+ obs.push({
116
+ key: "parallelPotential",
117
+ value: String(analysis.parallelPotential),
118
+ source: "mcps/orchestrator/execution/execution-planner.ts",
119
+ });
120
+ obs.push({
121
+ key: "estimatedDuration",
122
+ value: `${analysis.estimatedDuration}ms`,
123
+ source: "mcps/orchestrator/execution/execution-planner.ts",
124
+ });
125
+ for (const tc of analysis.taskComplexity) {
126
+ obs.push({
127
+ key: `taskComplexity`,
128
+ value: `${tc.complexity} (${tc.category})`,
129
+ source: "mcps/orchestrator/execution/execution-planner.ts",
130
+ });
131
+ }
132
+ return obs;
133
+ }
134
+ export async function spawnAside(options) {
135
+ const asideId = options.parentAsideId
136
+ ? `${options.parentAsideId}.aside-${++asideCounter}`
137
+ : `aside-${++asideCounter}-${Date.now()}`;
138
+ const startTime = Date.now();
139
+ const aside = {
140
+ asideId,
141
+ description: options.description,
142
+ startedAt: startTime,
143
+ observations: [],
144
+ ...(options.inheritedContext !== undefined ? { inheritedContext: options.inheritedContext } : {}),
145
+ ...(options.parentAsideId !== undefined ? { parentAsideId: options.parentAsideId } : {}),
146
+ ...(options.sessionId !== undefined ? { sessionId: options.sessionId } : {}),
147
+ ...(options.priorVerdictContext !== undefined ? { priorVerdictContext: options.priorVerdictContext } : {}),
148
+ };
149
+ activeAsides.set(asideId, aside);
150
+ frameworkLogger.log("aside-context", "aside-spawn", "info", {
151
+ asideId,
152
+ description: options.description,
153
+ sessionId: options.sessionId,
154
+ parentAsideId: options.parentAsideId,
155
+ activeAsideCount: activeAsides.size,
156
+ });
157
+ if (options.priorVerdictContext) {
158
+ const decision = options.priorVerdictContext["decision"];
159
+ if (decision) {
160
+ aside.observations.push({
161
+ key: "governanceDecision",
162
+ value: String(decision),
163
+ source: "priorVerdictContext",
164
+ });
165
+ }
166
+ }
167
+ const duration = Date.now() - startTime;
168
+ const result = {
169
+ asideId,
170
+ description: options.description,
171
+ success: true,
172
+ duration,
173
+ observations: aside.observations,
174
+ ...(options.priorVerdictContext !== undefined ? { priorVerdictContext: options.priorVerdictContext } : {}),
175
+ };
176
+ frameworkLogger.log("aside-context", "aside-complete", "info", {
177
+ asideId,
178
+ duration,
179
+ observationCount: aside.observations.length,
180
+ activeAsideCount: activeAsides.size,
181
+ });
182
+ return result;
183
+ }
184
+ export function closeAside(asideId) {
185
+ const aside = activeAsides.get(asideId);
186
+ if (!aside)
187
+ return false;
188
+ activeAsides.delete(asideId);
189
+ frameworkLogger.log("aside-context", "aside-closed", "info", {
190
+ asideId,
191
+ duration: Date.now() - aside.startedAt,
192
+ remainingActive: activeAsides.size,
193
+ });
194
+ return true;
195
+ }
196
+ export function closeAllAsides() {
197
+ const count = activeAsides.size;
198
+ activeAsides.clear();
199
+ frameworkLogger.log("aside-context", "aside-close-all", "info", {
200
+ closedCount: count,
201
+ });
202
+ return count;
203
+ }
204
+ export function resetAsideContext() {
205
+ activeAsides.clear();
206
+ asideCounter = 0;
207
+ }
@@ -5,6 +5,7 @@
5
5
  */
6
6
  import { frameworkLogger } from '../../../core/framework-logger.js';
7
7
  import { getExecutionPlanner } from '../execution/execution-planner.js';
8
+ import { addObservations, extractComplexityObservations } from '../aside-context.js';
8
9
  /**
9
10
  * Complexity Handler
10
11
  * Processes analyze-complexity requests
@@ -14,12 +15,15 @@ export class ComplexityHandler {
14
15
  /**
15
16
  * Handle analyze-complexity request
16
17
  */
17
- async handleAnalyzeComplexity(args) {
18
+ async handleAnalyzeComplexity(args, asideId) {
18
19
  const { tasks = [] } = args;
19
20
  await frameworkLogger.log('orchestrator.server', 'analyze-complexity-start', 'info', { taskCount: tasks.length });
20
21
  try {
21
22
  const analysis = await this.planner.analyzeTaskComplexity(tasks);
22
23
  const recommendations = this.generateRecommendations(analysis);
24
+ if (asideId) {
25
+ addObservations(asideId, extractComplexityObservations(analysis));
26
+ }
23
27
  return {
24
28
  content: [
25
29
  {
@@ -41,7 +41,14 @@ export class StatusHandler {
41
41
  // Overall status
42
42
  status = this.getOverallStatus(deps);
43
43
  }
44
- const response = this.formatStatusResponse(status, detailed);
44
+ let response = this.formatStatusResponse(status, detailed);
45
+ if (detailed && deps.asideCount !== undefined) {
46
+ response += `\n\n**Active Aside Contexts:**`;
47
+ response += `\n• Count: ${deps.asideCount}`;
48
+ if (deps.asideIds && deps.asideIds.length > 0) {
49
+ response += `\n• IDs: ${deps.asideIds.join(', ')}`;
50
+ }
51
+ }
45
52
  return { content: [{ type: 'text', text: response }] };
46
53
  }
47
54
  catch (error) {
@@ -6,6 +6,7 @@
6
6
  import { frameworkLogger } from '../../../core/framework-logger.js';
7
7
  import { getExecutionPlanner } from '../execution/execution-planner.js';
8
8
  import { mcpClientManager } from '../../../mcps/mcp-client.js';
9
+ import { addObservations, extractOrchestrationObservations } from '../aside-context.js';
9
10
  /**
10
11
  * Task Handler
11
12
  * Processes orchestrate-task requests
@@ -49,6 +50,10 @@ export class TaskHandler {
49
50
  if (results.agentOutputs) {
50
51
  orchestrationResult.agentOutputs = results.agentOutputs;
51
52
  }
53
+ // Push observations into aside context if active
54
+ if (deps.asideId) {
55
+ addObservations(deps.asideId, extractOrchestrationObservations(orchestrationResult));
56
+ }
52
57
  // Store in history
53
58
  deps.taskHistory.push({
54
59
  sessionId,
@@ -0,0 +1,5 @@
1
+ export { OrchestratorServer, createOrchestratorServer } from './server.js';
2
+ export { TaskHandler } from './handlers/task-handler.js';
3
+ export { ComplexityHandler } from './handlers/complexity-handler.js';
4
+ export { StatusHandler } from './handlers/status-handler.js';
5
+ export { spawnAside, closeAside, closeAllAsides, addObservations, getActiveAsideCount, getActiveAsideIds, getAsideState, resetAsideContext, extractGovernanceObservations, extractOrchestrationObservations, extractComplexityObservations, } from './aside-context.js';