0xray 3.1.1 → 3.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (309) hide show
  1. package/.opencode/codex.codex +1 -1
  2. package/.opencode/commands/auto-format.md +3 -3
  3. package/.opencode/commands/auto-summary-capture.md +2 -2
  4. package/.opencode/commands/enforcer-daily-scan.md +3 -3
  5. package/.opencode/commands/framework-compliance-audit.md +4 -4
  6. package/.opencode/commands/interactive-validator.md +2 -2
  7. package/.opencode/commands/job-summary-logger.md +2 -2
  8. package/.opencode/commands/mode-switch.md +1 -1
  9. package/.opencode/commands/model-health-check.md +2 -2
  10. package/.opencode/commands/performance-analysis.md +2 -2
  11. package/.opencode/commands/pre-commit-introspection.md +3 -3
  12. package/.opencode/commands/security-scan.md +3 -3
  13. package/.opencode/commands/sisyphus-validation.md +3 -3
  14. package/.opencode/commands/summary-logger.md +2 -2
  15. package/AGENTS.md +3 -13
  16. package/README.md +3 -3
  17. package/dist/AGENTS.md +3 -13
  18. package/dist/CHANGELOG.md +55 -0
  19. package/dist/README.md +3 -3
  20. package/dist/analytics/consent-manager.js +0 -1
  21. package/dist/analytics/emerging-pattern-detector.js +0 -1
  22. package/dist/analytics/pattern-learning-engine.js +0 -1
  23. package/dist/analytics/pattern-performance-tracker.js +0 -1
  24. package/dist/analytics/predictive-analytics.js +0 -1
  25. package/dist/analytics/prompt-pattern-analyzer.js +0 -1
  26. package/dist/analytics/routing-performance-analyzer.js +0 -1
  27. package/dist/analytics/routing-refiner.js +0 -1
  28. package/dist/analytics/simple-pattern-analyzer.js +0 -1
  29. package/dist/cli/commands/archive-logs.js +0 -1
  30. package/dist/cli/commands/opencode-install.js +13 -0
  31. package/dist/cli/commands/plugin-commands.js +0 -1
  32. package/dist/cli/commands/status.js +11 -13
  33. package/dist/cli/index.js +2 -7
  34. package/dist/core/activity-logger.js +0 -1
  35. package/dist/core/adaptive-kernel.js +0 -1
  36. package/dist/core/boot-orchestrator.js +2 -12
  37. package/dist/core/bridge.mjs +0 -1
  38. package/dist/core/codex-formatter.js +0 -1
  39. package/dist/core/codex-injector.js +0 -1
  40. package/dist/core/config-loader.js +36 -28
  41. package/dist/core/context-loader.js +0 -1
  42. package/dist/core/context-validator.js +0 -1
  43. package/dist/core/features-config.js +40 -1
  44. package/dist/core/kernel-patterns.js +0 -1
  45. package/dist/core/model-router.js +23 -64
  46. package/dist/core/system-prompt-generator.js +0 -1
  47. package/dist/delegation/agent-delegator.js +0 -1
  48. package/dist/delegation/agent-expertise.js +0 -1
  49. package/dist/delegation/analytics/index.js +0 -1
  50. package/dist/delegation/analytics/learning-engine.js +0 -1
  51. package/dist/delegation/analytics/outcome-tracker.js +0 -1
  52. package/dist/delegation/analytics/routing-analytics.js +0 -1
  53. package/dist/delegation/ast-code-parser.js +0 -1
  54. package/dist/delegation/complexity-analyzer.js +0 -1
  55. package/dist/delegation/dependency-graph-builder.js +0 -1
  56. package/dist/delegation/index.js +0 -1
  57. package/dist/delegation/metrics-aggregator.js +0 -1
  58. package/dist/delegation/session-coordinator.js +0 -1
  59. package/dist/delegation/strategy-selector.js +0 -1
  60. package/dist/delegation/voting-coordinator.js +0 -1
  61. package/dist/delegation/voting-types.js +0 -1
  62. package/dist/delegation/weighted-voting-aggregator.js +0 -1
  63. package/dist/enforcement/core/index.js +0 -1
  64. package/dist/enforcement/core/rule-executor.js +0 -1
  65. package/dist/enforcement/core/rule-hierarchy.js +0 -1
  66. package/dist/enforcement/core/rule-registry.js +0 -1
  67. package/dist/enforcement/core/violation-fixer.js +0 -1
  68. package/dist/enforcement/index.js +0 -1
  69. package/dist/enforcement/loaders/agent-triage-loader.js +0 -1
  70. package/dist/enforcement/loaders/agents-md-validation-loader.js +0 -1
  71. package/dist/enforcement/loaders/base-loader.js +0 -1
  72. package/dist/enforcement/loaders/codex-loader.js +0 -1
  73. package/dist/enforcement/loaders/index.js +0 -1
  74. package/dist/enforcement/loaders/loader-orchestrator.js +0 -1
  75. package/dist/enforcement/loaders/processor-loader.js +0 -1
  76. package/dist/enforcement/types.js +0 -1
  77. package/dist/enforcement/validators/architecture-validators.js +0 -1
  78. package/dist/enforcement/validators/base-validator.js +0 -1
  79. package/dist/enforcement/validators/code-quality-validators.js +0 -1
  80. package/dist/enforcement/validators/index.js +0 -1
  81. package/dist/enforcement/validators/security-validators.js +0 -1
  82. package/dist/enforcement/validators/testing-validators.js +0 -1
  83. package/dist/enforcement/validators/validator-registry.js +0 -1
  84. package/dist/governance/codex-policy.service.js +0 -1
  85. package/dist/inference/inference-agent-invoker.js +67 -0
  86. package/dist/inference/inference-applier.js +178 -0
  87. package/dist/inference/inference-cycle.js +51 -827
  88. package/dist/inference/inference-proposal-generator.js +149 -0
  89. package/dist/infrastructure/iac-validator.js +465 -0
  90. package/dist/infrastructure/schemas/cloud-schemas.js +488 -0
  91. package/dist/integrations/base/ExampleIntegration.js +0 -1
  92. package/dist/integrations/base/Integration.js +0 -1
  93. package/dist/integrations/base/index.js +0 -1
  94. package/dist/integrations/base/registry.js +0 -1
  95. package/dist/integrations/base/types.js +0 -1
  96. package/dist/integrations/enforcement-gate.js +3 -3
  97. package/dist/integrations/governance/governance-client.js +0 -1
  98. package/dist/integrations/governance/index.js +11 -19
  99. package/dist/integrations/governance/types.js +0 -1
  100. package/dist/integrations/hermes-agent/__init__.py +4 -0
  101. package/dist/integrations/hermes-agent/bridge.mjs +37 -0
  102. package/dist/integrations/openclaw/api-server.js +0 -1
  103. package/dist/integrations/openclaw/client.js +0 -1
  104. package/dist/integrations/openclaw/config.js +0 -1
  105. package/dist/integrations/openclaw/hooks/xray-hooks.js +0 -1
  106. package/dist/integrations/openclaw/index.js +0 -1
  107. package/dist/integrations/openclaw/types.js +0 -1
  108. package/dist/integrations/plugins/index.js +0 -1
  109. package/dist/integrations/plugins/plugin-integration.js +0 -1
  110. package/dist/integrations/plugins/plugin-registry.js +0 -1
  111. package/dist/mcps/agent-resolver.js +0 -1
  112. package/dist/mcps/architect-tools.server.js +119 -185
  113. package/dist/mcps/auto-format.server.js +56 -74
  114. package/dist/mcps/boot-orchestrator.server.js +67 -85
  115. package/dist/mcps/config/config-loader.js +6 -0
  116. package/dist/mcps/config/plugin-server-registry.js +0 -1
  117. package/dist/mcps/enforcer-tools.server.js +207 -273
  118. package/dist/mcps/estimation.server.js +63 -107
  119. package/dist/mcps/framework-compliance-audit.server.js +52 -81
  120. package/dist/mcps/framework-help.server.js +71 -89
  121. package/dist/mcps/governance.server.js +97 -149
  122. package/dist/mcps/knowledge-skills/api-design.server.js +33 -65
  123. package/dist/mcps/knowledge-skills/architecture-patterns.server.js +33 -65
  124. package/dist/mcps/knowledge-skills/bug-triage-specialist.server.js +123 -163
  125. package/dist/mcps/knowledge-skills/code-analyzer.server.js +210 -237
  126. package/dist/mcps/knowledge-skills/code-review.server.js +108 -142
  127. package/dist/mcps/knowledge-skills/content-creator.server.js +203 -225
  128. package/dist/mcps/knowledge-skills/database-design.server.js +116 -150
  129. package/dist/mcps/knowledge-skills/devops-deployment.server.js +123 -157
  130. package/dist/mcps/knowledge-skills/git-workflow.server.js +34 -67
  131. package/dist/mcps/knowledge-skills/growth-strategist.server.js +301 -323
  132. package/dist/mcps/knowledge-skills/log-monitor.server.js +139 -159
  133. package/dist/mcps/knowledge-skills/mobile-development.server.js +170 -200
  134. package/dist/mcps/knowledge-skills/multimodal-looker.server.js +122 -158
  135. package/dist/mcps/knowledge-skills/performance-optimization.server.js +88 -138
  136. package/dist/mcps/knowledge-skills/project-analysis.server.js +131 -218
  137. package/dist/mcps/knowledge-skills/refactoring-strategies.server.js +115 -150
  138. package/dist/mcps/knowledge-skills/security-audit.server.js +16 -143
  139. package/dist/mcps/knowledge-skills/seo-consultant.server.js +20 -213
  140. package/dist/mcps/knowledge-skills/session-management.server.js +13 -90
  141. package/dist/mcps/knowledge-skills/skill-invocation.server.js +43 -421
  142. package/dist/mcps/knowledge-skills/strategist.server.js +10 -55
  143. package/dist/mcps/knowledge-skills/tech-writer.server.js +16 -191
  144. package/dist/mcps/knowledge-skills/testing-best-practices.server.js +18 -191
  145. package/dist/mcps/knowledge-skills/testing-strategy.server.js +18 -156
  146. package/dist/mcps/knowledge-skills/ui-ux-design.server.js +22 -296
  147. package/dist/mcps/lint.server.js +50 -91
  148. package/dist/mcps/model-health-check.server.js +32 -60
  149. package/dist/mcps/orchestrator/aside-context.js +207 -0
  150. package/dist/mcps/orchestrator/config/agent-capabilities.js +30 -11
  151. package/dist/mcps/orchestrator/config/memory-routing-bridge.js +70 -0
  152. package/dist/mcps/orchestrator/execution/execution-planner.js +25 -7
  153. package/dist/mcps/orchestrator/handlers/complexity-handler.js +5 -1
  154. package/dist/mcps/orchestrator/handlers/status-handler.js +8 -1
  155. package/dist/mcps/orchestrator/handlers/task-handler.js +59 -1
  156. package/dist/mcps/orchestrator/index.js +5 -0
  157. package/dist/mcps/orchestrator/server.js +63 -8
  158. package/dist/mcps/performance-analysis.server.js +56 -87
  159. package/dist/mcps/processor-pipeline.server.js +68 -99
  160. package/dist/mcps/researcher.server.js +80 -153
  161. package/dist/mcps/security-scan.server.js +56 -70
  162. package/dist/mcps/shared/knowledge-skill-base.js +11 -4
  163. package/dist/mcps/state-manager.server.js +124 -152
  164. package/dist/memory-routing/index.js +4 -0
  165. package/dist/memory-routing/null-provider.js +51 -0
  166. package/dist/memory-routing/provider-loader.js +91 -0
  167. package/dist/memory-routing/provider-registry.js +40 -0
  168. package/dist/memory-routing/types.js +7 -0
  169. package/dist/memory-routing/validate-config.js +32 -0
  170. package/dist/monitoring/nudge-watchdog.js +0 -1
  171. package/dist/nucleus/default-plugins.js +13 -19
  172. package/dist/nucleus/index.js +0 -1
  173. package/dist/nucleus/thin-dispatch.js +29 -1
  174. package/dist/orchestrator/agent-spawn-governor.js +0 -1
  175. package/dist/orchestrator/intelligent-commit-batcher.js +2 -10
  176. package/dist/orchestrator/multi-agent-orchestration-coordinator.js +0 -1
  177. package/dist/orchestrator/orchestrator.js +8 -18
  178. package/dist/orchestrator/self-direction-activation.js +0 -1
  179. package/dist/orchestrator/universal-registry-bridge.js +0 -1
  180. package/dist/performance/performance-budget-enforcer.js +0 -1
  181. package/dist/performance/performance-regression-tester.js +0 -1
  182. package/dist/plugin/plugin-codex-context.js +87 -0
  183. package/dist/plugin/plugin-helpers.js +155 -0
  184. package/dist/plugin/plugin-logger.js +46 -0
  185. package/dist/plugin/plugin-modules.js +144 -0
  186. package/dist/plugin/plugin-quality-gate.js +88 -0
  187. package/dist/plugin/plugin-types.js +1 -0
  188. package/dist/plugin/xray-codex-injection.js +338 -0
  189. package/dist/postprocessor/PostProcessor.js +3 -9
  190. package/dist/postprocessor/analysis/CodeChangeAnalyzer.js +50 -0
  191. package/dist/postprocessor/config/ProcessorConfigLoader.js +16 -0
  192. package/dist/postprocessor/integration.js +194 -0
  193. package/dist/postprocessor/metamorphosis/SelfProposalEngine.js +472 -0
  194. package/dist/postprocessor/metamorphosis/index.js +1 -0
  195. package/dist/postprocessor/redeploy/RetryHandler.js +118 -0
  196. package/dist/postprocessor/services/RegressionAnalysisService.js +0 -1
  197. package/dist/postprocessor/triggers/APITrigger.js +0 -1
  198. package/dist/postprocessor/triggers/WebhookTrigger.js +0 -1
  199. package/dist/processors/implementations/agents-md-validation-processor.js +0 -1
  200. package/dist/processors/implementations/async-pattern-processor.js +0 -1
  201. package/dist/processors/implementations/console-log-guard-processor.js +0 -1
  202. package/dist/processors/implementations/coverage-analysis-processor.js +0 -1
  203. package/dist/processors/implementations/inference-improvement-processor.js +2 -9
  204. package/dist/processors/implementations/log-protection-processor.js +0 -1
  205. package/dist/processors/implementations/nudge-processor.js +0 -1
  206. package/dist/processors/implementations/performance-budget-processor.js +0 -1
  207. package/dist/processors/implementations/postprocessor-chain-validator.js +0 -1
  208. package/dist/processors/implementations/publish-preflight-processor.js +4 -12
  209. package/dist/processors/implementations/session-summary-processor.js +8 -16
  210. package/dist/processors/implementations/spawn-governance-processor.js +0 -1
  211. package/dist/processors/implementations/storytelling-trigger-processor.js +3 -28
  212. package/dist/processors/implementations/test-auto-creation-processor.js +0 -1
  213. package/dist/processors/implementations/typescript-compilation-processor.js +0 -1
  214. package/dist/processors/implementations/version-compliance-processor.js +0 -1
  215. package/dist/processors/processor-interfaces.js +0 -1
  216. package/dist/processors/processor-types.js +0 -1
  217. package/dist/scripts/integration.js +0 -1
  218. package/dist/security/comprehensive-security-audit.js +0 -1
  219. package/dist/security/security-agent-coordinator.js +0 -1
  220. package/dist/security/security-auditor.js +0 -1
  221. package/dist/security/security-hardener.js +0 -1
  222. package/dist/security/security-hardening-system.js +0 -1
  223. package/dist/security/security-headers.js +0 -1
  224. package/dist/security/security-orchestration-layer.js +0 -1
  225. package/dist/services/inference-tuner.js +0 -1
  226. package/dist/session/session-cleanup-manager.js +0 -1
  227. package/dist/session/session-monitor.js +0 -1
  228. package/dist/session/session-state-manager.js +0 -1
  229. package/dist/skills/xray-orchestrator/index.js +0 -1
  230. package/dist/utils/codex-parser.js +0 -1
  231. package/dist/utils/language-detector.js +0 -1
  232. package/dist/utils/shutdown-handler.js +0 -1
  233. package/dist/validation/agent-config-validator.js +280 -0
  234. package/dist/validation/orchestration-flow-validator.js +606 -0
  235. package/package.json +1 -1
  236. package/scripts/node/release.mjs +2 -2
  237. package/scripts/node/setup.cjs +28 -0
  238. package/scripts/node/universal-version-manager.js +1 -1
  239. package/src/mcps/agent-resolver.ts +0 -1
  240. package/src/mcps/architect-tools.server.ts +129 -211
  241. package/src/mcps/auto-format.server.ts +74 -103
  242. package/src/mcps/boot-orchestrator.server.ts +71 -96
  243. package/src/mcps/config/__tests__/config-loader.test.ts +6 -6
  244. package/src/mcps/config/config-loader.ts +7 -0
  245. package/src/mcps/config/plugin-server-registry.ts +0 -1
  246. package/src/mcps/enforcer-tools.server.ts +217 -294
  247. package/src/mcps/estimation.server.ts +62 -122
  248. package/src/mcps/framework-compliance-audit.server.ts +53 -95
  249. package/src/mcps/framework-help.server.ts +74 -96
  250. package/src/mcps/governance.server.ts +97 -162
  251. package/src/mcps/knowledge-skills/api-design.server.ts +33 -72
  252. package/src/mcps/knowledge-skills/architecture-patterns.server.ts +33 -72
  253. package/src/mcps/knowledge-skills/bug-triage-specialist.server.ts +148 -193
  254. package/src/mcps/knowledge-skills/code-analyzer.server.ts +222 -254
  255. package/src/mcps/knowledge-skills/code-review.server.ts +115 -157
  256. package/src/mcps/knowledge-skills/content-creator.server.ts +219 -246
  257. package/src/mcps/knowledge-skills/database-design.server.ts +119 -160
  258. package/src/mcps/knowledge-skills/devops-deployment.server.ts +126 -167
  259. package/src/mcps/knowledge-skills/git-workflow.server.ts +32 -77
  260. package/src/mcps/knowledge-skills/growth-strategist.server.ts +322 -360
  261. package/src/mcps/knowledge-skills/log-monitor.server.ts +68 -95
  262. package/src/mcps/knowledge-skills/mobile-development.server.ts +16 -56
  263. package/src/mcps/knowledge-skills/multimodal-looker.server.ts +13 -59
  264. package/src/mcps/knowledge-skills/performance-optimization.server.ts +13 -74
  265. package/src/mcps/knowledge-skills/project-analysis.server.ts +13 -120
  266. package/src/mcps/knowledge-skills/refactoring-strategies.server.ts +13 -60
  267. package/src/mcps/knowledge-skills/security-audit.server.ts +19 -157
  268. package/src/mcps/knowledge-skills/seo-consultant.server.ts +23 -227
  269. package/src/mcps/knowledge-skills/session-management.server.ts +17 -106
  270. package/src/mcps/knowledge-skills/skill-invocation.server.ts +45 -446
  271. package/src/mcps/knowledge-skills/strategist.server.ts +13 -63
  272. package/src/mcps/knowledge-skills/tech-writer.server.ts +19 -204
  273. package/src/mcps/knowledge-skills/testing-best-practices.server.ts +21 -204
  274. package/src/mcps/knowledge-skills/testing-strategy.server.ts +21 -165
  275. package/src/mcps/knowledge-skills/ui-ux-design.server.ts +25 -342
  276. package/src/mcps/lint.server.ts +52 -105
  277. package/src/mcps/model-health-check.server.ts +34 -70
  278. package/src/mcps/orchestrator/aside-context.ts +245 -0
  279. package/src/mcps/orchestrator/config/agent-capabilities.ts +49 -14
  280. package/src/mcps/orchestrator/config/memory-routing-bridge.ts +80 -0
  281. package/src/mcps/orchestrator/execution/execution-planner.ts +36 -9
  282. package/src/mcps/orchestrator/handlers/complexity-handler.ts +9 -3
  283. package/src/mcps/orchestrator/handlers/status-handler.ts +11 -1
  284. package/src/mcps/orchestrator/handlers/task-handler.ts +78 -2
  285. package/src/mcps/orchestrator/index.ts +29 -0
  286. package/src/mcps/orchestrator/server.ts +79 -24
  287. package/src/mcps/orchestrator/types.ts +50 -0
  288. package/src/mcps/performance-analysis.server.ts +59 -102
  289. package/src/mcps/processor-pipeline.server.ts +70 -108
  290. package/src/mcps/researcher.server.ts +87 -175
  291. package/src/mcps/security-scan.server.ts +57 -76
  292. package/src/mcps/shared/knowledge-skill-base.ts +12 -4
  293. package/src/mcps/state-manager.server.ts +129 -169
  294. package/src/opencode/codex.codex +1 -1
  295. package/src/opencode/commands/auto-format.md +3 -3
  296. package/src/opencode/commands/auto-summary-capture.md +2 -2
  297. package/src/opencode/commands/enforcer-daily-scan.md +3 -3
  298. package/src/opencode/commands/framework-compliance-audit.md +4 -4
  299. package/src/opencode/commands/interactive-validator.md +2 -2
  300. package/src/opencode/commands/job-summary-logger.md +2 -2
  301. package/src/opencode/commands/mode-switch.md +1 -1
  302. package/src/opencode/commands/model-health-check.md +2 -2
  303. package/src/opencode/commands/performance-analysis.md +2 -2
  304. package/src/opencode/commands/pre-commit-introspection.md +3 -3
  305. package/src/opencode/commands/security-scan.md +3 -3
  306. package/src/opencode/commands/sisyphus-validation.md +3 -3
  307. package/src/opencode/commands/summary-logger.md +2 -2
  308. package/src/skills/xray-orchestrator/index.ts +0 -1
  309. package/dist/nucleus/orchestrator.js +0 -479
@@ -14,6 +14,7 @@ import { MultiAgentOrchestrationCoordinator } from '../../orchestrator/multi-age
14
14
  import { TaskHandler } from './handlers/task-handler.js';
15
15
  import { ComplexityHandler } from './handlers/complexity-handler.js';
16
16
  import { StatusHandler } from './handlers/status-handler.js';
17
+ import { spawnAside, closeAside, closeAllAsides, addObservations, getActiveAsideCount, getActiveAsideIds, getAsideState, extractGovernanceObservations, } from './aside-context.js';
17
18
  /**
18
19
  * Orchestrator MCP Server
19
20
  * Enterprise-grade orchestration with advanced task management and agent coordination
@@ -203,14 +204,55 @@ export class OrchestratorServer {
203
204
  try {
204
205
  const { name, arguments: args } = request.params;
205
206
  switch (name) {
206
- case 'orchestrate-task':
207
- return await this.taskHandler.handleOrchestrateTask(args, { taskHistory: this.taskHistory, activeTasks: this.activeTasks });
208
- case 'analyze-complexity':
209
- return await this.complexityHandler.handleAnalyzeComplexity(args);
207
+ case 'orchestrate-task': {
208
+ const orchArgs = args;
209
+ const aside = await spawnAside({
210
+ description: `Orchestration: ${orchArgs.description}`,
211
+ ...(orchArgs.sessionId ? { sessionId: orchArgs.sessionId } : {}),
212
+ inheritedContext: { taskCount: orchArgs.tasks?.length ?? 0, executionMode: orchArgs.executionMode ?? 'optimized' },
213
+ });
214
+ try {
215
+ const result = await this.taskHandler.handleOrchestrateTask(orchArgs, { taskHistory: this.taskHistory, activeTasks: this.activeTasks, asideId: aside.asideId });
216
+ return result;
217
+ }
218
+ finally {
219
+ closeAside(aside.asideId);
220
+ }
221
+ }
222
+ case 'analyze-complexity': {
223
+ const complexityArgs = args;
224
+ const aside = await spawnAside({
225
+ description: `Complexity analysis: ${complexityArgs.tasks.length} tasks`,
226
+ });
227
+ try {
228
+ return await this.complexityHandler.handleAnalyzeComplexity(complexityArgs, aside.asideId);
229
+ }
230
+ finally {
231
+ closeAside(aside.asideId);
232
+ }
233
+ }
210
234
  case 'get-orchestration-status':
211
- return await this.statusHandler.handleGetOrchestrationStatus(args, { taskHistory: this.taskHistory, activeTasks: this.activeTasks });
212
- case 'cancel-orchestration':
213
- return await this.statusHandler.handleCancelOrchestration(args, { taskHistory: this.taskHistory, activeTasks: this.activeTasks });
235
+ return await this.statusHandler.handleGetOrchestrationStatus(args, {
236
+ taskHistory: this.taskHistory,
237
+ activeTasks: this.activeTasks,
238
+ asideCount: getActiveAsideCount(),
239
+ asideIds: getActiveAsideIds(),
240
+ });
241
+ case 'cancel-orchestration': {
242
+ const cancelArgs = args;
243
+ if (cancelArgs.force || (!cancelArgs.sessionId && !cancelArgs.taskId)) {
244
+ closeAllAsides();
245
+ }
246
+ else if (cancelArgs.sessionId) {
247
+ const asideIds = getActiveAsideIds().filter((id) => getAsideState(id)?.sessionId === cancelArgs.sessionId);
248
+ for (const id of asideIds)
249
+ closeAside(id);
250
+ }
251
+ return await this.statusHandler.handleCancelOrchestration(cancelArgs, {
252
+ taskHistory: this.taskHistory,
253
+ activeTasks: this.activeTasks,
254
+ });
255
+ }
214
256
  case 'optimize-orchestration':
215
257
  return await this.statusHandler.handleOptimizeOrchestration(args);
216
258
  case 'govern-and-apply':
@@ -235,7 +277,18 @@ export class OrchestratorServer {
235
277
  const cycle = InferenceCycle.getInstance(process.cwd(), {
236
278
  skipApply: args.skipApply ?? false,
237
279
  });
238
- const result = await cycle.governExternalProposals(args.proposals);
280
+ const aside = await spawnAside({
281
+ description: `Governance cycle: ${args.proposals.length} proposals`,
282
+ priorVerdictContext: { proposalCount: args.proposals.length },
283
+ });
284
+ let result;
285
+ try {
286
+ result = await cycle.governExternalProposals(args.proposals);
287
+ addObservations(aside.asideId, extractGovernanceObservations(result));
288
+ }
289
+ finally {
290
+ closeAside(aside.asideId);
291
+ }
239
292
  const approved = result.votes.filter((v) => v.decision === 'approve').length;
240
293
  const rejected = result.votes.length - approved;
241
294
  return {
@@ -243,6 +296,7 @@ export class OrchestratorServer {
243
296
  type: 'text',
244
297
  text: JSON.stringify({
245
298
  cycleId: result.cycleId,
299
+ asideId: aside.asideId,
246
300
  approved,
247
301
  rejected,
248
302
  votes: result.votes,
@@ -280,6 +334,7 @@ export class OrchestratorServer {
280
334
  * Stop the server
281
335
  */
282
336
  async stop() {
337
+ closeAllAsides();
283
338
  await frameworkLogger.log('orchestrator.server', 'shutdown', 'info', {
284
339
  message: '0xRay Orchestrator MCP Server shutting down',
285
340
  });
@@ -3,98 +3,74 @@
3
3
  *
4
4
  * Comprehensive metrics analysis for framework integration and optimization
5
5
  */
6
- import { Server } from "@modelcontextprotocol/sdk/server/index.js";
7
6
  import { frameworkLogger, generateJobId } from "../core/framework-logger.js";
8
- import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
9
- import { CallToolRequestSchema, ListToolsRequestSchema, } from "@modelcontextprotocol/sdk/types.js";
10
7
  import { execSync } from "child_process";
11
8
  import fs from "fs";
12
9
  import os from "os";
13
10
  import path from "path";
14
- class XrayPerformanceAnalysisServer {
15
- server;
11
+ import { XrayKnowledgeSkillBase } from "./shared/knowledge-skill-base.js";
12
+ class XrayPerformanceAnalysisServer extends XrayKnowledgeSkillBase {
16
13
  startTime;
17
14
  constructor() {
18
- this.server = new Server({
19
- name: "performance-analysis", version: "3.1.0",
20
- }, {
21
- capabilities: {
22
- tools: {},
23
- },
24
- });
15
+ super("performance-analysis", "3.1.0");
25
16
  this.startTime = Date.now();
26
- this.setupToolHandlers();
27
- frameworkLogger.log("mcp-performance-analysis", "server-initialized", "info");
28
- }
29
- setupToolHandlers() {
30
- // List available tools
31
- this.server.setRequestHandler(ListToolsRequestSchema, async () => {
32
- return {
33
- tools: [
34
- {
35
- name: "performance-analysis",
36
- description: "Comprehensive metrics analysis for framework integration and optimization",
37
- inputSchema: {
38
- type: "object",
39
- properties: {
40
- scope: {
41
- type: "string",
42
- enum: [
43
- "full",
44
- "runtime",
45
- "build",
46
- "resources",
47
- "bottlenecks",
48
- ],
49
- default: "full",
50
- description: "Scope of performance analysis",
51
- },
52
- duration: {
53
- type: "number",
54
- default: 30,
55
- description: "Analysis duration in seconds",
56
- },
57
- detailed: {
58
- type: "boolean",
59
- default: false,
60
- description: "Include detailed metrics and recommendations",
61
- },
62
- },
17
+ this.tools = [
18
+ {
19
+ name: "performance-analysis",
20
+ description: "Comprehensive metrics analysis for framework integration and optimization",
21
+ inputSchema: {
22
+ type: "object",
23
+ properties: {
24
+ scope: {
25
+ type: "string",
26
+ enum: [
27
+ "full",
28
+ "runtime",
29
+ "build",
30
+ "resources",
31
+ "bottlenecks",
32
+ ],
33
+ default: "full",
34
+ description: "Scope of performance analysis",
35
+ },
36
+ duration: {
37
+ type: "number",
38
+ default: 30,
39
+ description: "Analysis duration in seconds",
40
+ },
41
+ detailed: {
42
+ type: "boolean",
43
+ default: false,
44
+ description: "Include detailed metrics and recommendations",
63
45
  },
64
46
  },
65
- {
66
- name: "bottleneck-detection",
67
- description: "Identify performance bottlenecks in framework operations",
68
- inputSchema: {
69
- type: "object",
70
- properties: {
71
- operation: {
72
- type: "string",
73
- description: "Specific operation to analyze",
74
- },
75
- threshold: {
76
- type: "number",
77
- default: 1000,
78
- description: "Performance threshold in milliseconds",
79
- },
80
- },
47
+ },
48
+ },
49
+ {
50
+ name: "bottleneck-detection",
51
+ description: "Identify performance bottlenecks in framework operations",
52
+ inputSchema: {
53
+ type: "object",
54
+ properties: {
55
+ operation: {
56
+ type: "string",
57
+ description: "Specific operation to analyze",
58
+ },
59
+ threshold: {
60
+ type: "number",
61
+ default: 1000,
62
+ description: "Performance threshold in milliseconds",
81
63
  },
82
64
  },
83
- ],
84
- };
85
- });
86
- // Handle tool calls
87
- this.server.setRequestHandler(CallToolRequestSchema, async (request) => {
88
- const { name, arguments: args } = request.params;
89
- switch (name) {
90
- case "performance-analysis":
91
- return await this.handlePerformanceAnalysis(args);
92
- case "bottleneck-detection":
93
- return await this.handleBottleneckDetection(args);
94
- default:
95
- throw new Error(`Unknown tool: ${name}`);
96
- }
97
- });
65
+ },
66
+ },
67
+ ];
68
+ this.handlers = {
69
+ "performance-analysis": async (args) => this.handlePerformanceAnalysis(args),
70
+ "bottleneck-detection": async (args) => this.handleBottleneckDetection(args),
71
+ };
72
+ this.setupToolHandlers();
73
+ frameworkLogger.log("mcp-performance-analysis", "server-initialized", "info");
98
74
  }
99
75
  async handlePerformanceAnalysis(args) {
100
76
  const scope = args?.scope || "full";
@@ -503,13 +479,6 @@ ${results.recommendations.map((r) => `• 💡 ${r}`).join("\n") || "No recommen
503
479
  }
504
480
  return report;
505
481
  }
506
- async run() {
507
- const transport = new StdioServerTransport();
508
- await this.server.connect(transport);
509
- const jobId = generateJobId("mcp-performance-analysis-server");
510
- await frameworkLogger.log("mcp-performance-analysis", "server-started", "success", {}, undefined, // sessionId
511
- jobId);
512
- }
513
482
  }
514
483
  // Start the server if run directly
515
484
  if (import.meta.url === `file://${fs.realpathSync(process.argv[1])}`) {
@@ -3,14 +3,11 @@
3
3
  *
4
4
  * Advanced processor pipeline with codex validation, compliance monitoring, and framework enforcement
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 * as fs from "fs";
10
7
  import { frameworkLogger } from "../core/framework-logger.js";
11
8
  import { CodexLoader } from "../enforcement/loaders/codex-loader.js";
12
- class XrayProcessorPipelineServer {
13
- server;
9
+ import { XrayKnowledgeSkillBase } from "./shared/knowledge-skill-base.js";
10
+ class XrayProcessorPipelineServer extends XrayKnowledgeSkillBase {
14
11
  codexLoader;
15
12
  codexRules = [];
16
13
  codexTerms = [
@@ -25,14 +22,74 @@ class XrayProcessorPipelineServer {
25
22
  "Test Coverage >85%",
26
23
  ];
27
24
  constructor() {
25
+ super("processor-pipeline", "3.1.0");
28
26
  this.codexLoader = new CodexLoader();
29
- this.server = new Server({
30
- name: "processor-pipeline", version: "3.1.0",
31
- }, {
32
- capabilities: {
33
- tools: {},
27
+ this.tools = [
28
+ {
29
+ name: "execute-pre-processors",
30
+ description: "Run pre-execution processors on content with codex validation",
31
+ inputSchema: {
32
+ type: "object",
33
+ properties: {
34
+ content: { type: "string" },
35
+ context: { type: "object" },
36
+ validateCodex: { type: "boolean", default: true },
37
+ strictMode: { type: "boolean", default: false },
38
+ },
39
+ required: ["content"],
40
+ },
41
+ },
42
+ {
43
+ name: "execute-post-processors",
44
+ description: "Run post-execution processors on results with compliance monitoring",
45
+ inputSchema: {
46
+ type: "object",
47
+ properties: {
48
+ content: { type: "string" },
49
+ results: { type: "object" },
50
+ enforceCompliance: { type: "boolean", default: true },
51
+ auditTrail: { type: "boolean", default: true },
52
+ },
53
+ required: ["content"],
54
+ },
55
+ },
56
+ {
57
+ name: "codex-validation",
58
+ description: "Validate content against Universal Development Codex terms",
59
+ inputSchema: {
60
+ type: "object",
61
+ properties: {
62
+ content: { type: "string" },
63
+ terms: {
64
+ type: "array",
65
+ items: { type: "string" },
66
+ default: ["all"],
67
+ },
68
+ strict: { type: "boolean", default: false },
69
+ },
70
+ required: ["content"],
71
+ },
72
+ },
73
+ {
74
+ name: "framework-compliance-check",
75
+ description: "Check framework compliance and generate enforcement actions",
76
+ inputSchema: {
77
+ type: "object",
78
+ properties: {
79
+ content: { type: "string" },
80
+ operation: { type: "string" },
81
+ context: { type: "object" },
82
+ },
83
+ required: ["content", "operation"],
84
+ },
34
85
  },
35
- });
86
+ ];
87
+ this.handlers = {
88
+ "execute-pre-processors": async (args) => this.handlePreProcessors(args),
89
+ "execute-post-processors": async (args) => this.handlePostProcessors(args),
90
+ "codex-validation": async (args) => this.handleCodexValidation(args),
91
+ "framework-compliance-check": async (args) => this.handleComplianceCheck(args),
92
+ };
36
93
  this.setupToolHandlers();
37
94
  this.loadCodexRules();
38
95
  // Server initialized silently - use frameworkLogger for important events
@@ -48,89 +105,6 @@ class XrayProcessorPipelineServer {
48
105
  await frameworkLogger.log("mcps/processor-pipeline", "codex-rules-load-failed", "warning", { message: `Failed to load codex rules: ${error instanceof Error ? error.message : String(error)}` });
49
106
  }
50
107
  }
51
- setupToolHandlers() {
52
- // List available tools
53
- this.server.setRequestHandler(ListToolsRequestSchema, async () => {
54
- return {
55
- tools: [
56
- {
57
- name: "execute-pre-processors",
58
- description: "Run pre-execution processors on content with codex validation",
59
- inputSchema: {
60
- type: "object",
61
- properties: {
62
- content: { type: "string" },
63
- context: { type: "object" },
64
- validateCodex: { type: "boolean", default: true },
65
- strictMode: { type: "boolean", default: false },
66
- },
67
- required: ["content"],
68
- },
69
- },
70
- {
71
- name: "execute-post-processors",
72
- description: "Run post-execution processors on results with compliance monitoring",
73
- inputSchema: {
74
- type: "object",
75
- properties: {
76
- content: { type: "string" },
77
- results: { type: "object" },
78
- enforceCompliance: { type: "boolean", default: true },
79
- auditTrail: { type: "boolean", default: true },
80
- },
81
- required: ["content"],
82
- },
83
- },
84
- {
85
- name: "codex-validation",
86
- description: "Validate content against Universal Development Codex terms",
87
- inputSchema: {
88
- type: "object",
89
- properties: {
90
- content: { type: "string" },
91
- terms: {
92
- type: "array",
93
- items: { type: "string" },
94
- default: ["all"],
95
- },
96
- strict: { type: "boolean", default: false },
97
- },
98
- required: ["content"],
99
- },
100
- },
101
- {
102
- name: "framework-compliance-check",
103
- description: "Check framework compliance and generate enforcement actions",
104
- inputSchema: {
105
- type: "object",
106
- properties: {
107
- content: { type: "string" },
108
- operation: { type: "string" },
109
- context: { type: "object" },
110
- },
111
- required: ["content", "operation"],
112
- },
113
- },
114
- ],
115
- };
116
- });
117
- // Handle tool calls
118
- this.server.setRequestHandler(CallToolRequestSchema, async (request) => {
119
- const { name, arguments: args } = request.params;
120
- switch (name) {
121
- case "execute-pre-processors":
122
- return await this.handlePreProcessors(args);
123
- case "execute-post-processors":
124
- return await this.handlePostProcessors(args);
125
- case "codex-validation":
126
- return await this.handleCodexValidation(args);
127
- case "framework-compliance-check":
128
- return await this.handleComplianceCheck(args);
129
- default:
130
- throw new Error(`Unknown tool: ${name}`);
131
- }
132
- });
133
- }
134
108
  async handlePreProcessors(args) {
135
109
  const content = args.content;
136
110
  const context = args.context || {};
@@ -548,11 +522,6 @@ ${complianceResults.actions.map((a) => `• 🔧 ${a}`).join("\n") || "None requ
548
522
  }
549
523
  return results;
550
524
  }
551
- async run() {
552
- const transport = new StdioServerTransport();
553
- await this.server.connect(transport);
554
- // Silent start - no console output
555
- }
556
525
  }
557
526
  // Start the server if run directly
558
527
  if (import.meta.url === `file://${fs.realpathSync(process.argv[1])}`) {