0xray 4.0.13 → 4.0.14
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.
- package/.grok-plugin/plugin.json +1 -1
- package/.opencode/skills/api-design/SKILL.md +37 -0
- package/.opencode/skills/architect-tools/SKILL.md +37 -0
- package/.opencode/skills/architecture-patterns/SKILL.md +37 -0
- package/.opencode/skills/auto-format/SKILL.md +37 -0
- package/.opencode/skills/backend-engineer/SKILL.md +49 -0
- package/.opencode/skills/boot-orchestrator/SKILL.md +33 -0
- package/.opencode/skills/bug-triage/SKILL.md +43 -0
- package/.opencode/skills/code-analyzer/SKILL.md +45 -0
- package/.opencode/skills/code-review/SKILL.md +52 -0
- package/.opencode/skills/content-creator/SKILL.md +38 -0
- package/.opencode/skills/database-engineer/SKILL.md +46 -0
- package/.opencode/skills/devops-engineer/SKILL.md +49 -0
- package/.opencode/skills/enforcer/SKILL.md +37 -0
- package/.opencode/skills/framework-compliance-audit/SKILL.md +37 -0
- package/.opencode/skills/frontend-engineer/SKILL.md +49 -0
- package/.opencode/skills/frontend-ui-ux-engineer/SKILL.md +41 -0
- package/.opencode/skills/git-workflow/SKILL.md +37 -0
- package/.opencode/skills/growth-strategist/SKILL.md +48 -0
- package/.opencode/skills/hermes-agent/SKILL.md +212 -0
- package/.opencode/skills/inference-improve/SKILL.md +97 -0
- package/.opencode/skills/lint/SKILL.md +37 -0
- package/.opencode/skills/log-monitor/SKILL.md +44 -0
- package/.opencode/skills/mobile-developer/SKILL.md +42 -0
- package/.opencode/skills/model-health-check/SKILL.md +37 -0
- package/.opencode/skills/multimodal-looker/SKILL.md +45 -0
- package/.opencode/skills/orchestrator/SKILL.md +61 -0
- package/.opencode/skills/performance-analysis/SKILL.md +37 -0
- package/.opencode/skills/performance-engineer/SKILL.md +41 -0
- package/.opencode/skills/performance-optimization/SKILL.md +37 -0
- package/.opencode/skills/processor-pipeline/SKILL.md +37 -0
- package/.opencode/skills/project-analysis/SKILL.md +42 -0
- package/.opencode/skills/refactoring-strategies/SKILL.md +37 -0
- package/.opencode/skills/registry.json +65 -0
- package/.opencode/skills/researcher/SKILL.md +50 -0
- package/.opencode/skills/security-audit/SKILL.md +48 -0
- package/.opencode/skills/security-scan/SKILL.md +37 -0
- package/.opencode/skills/seo-consultant/SKILL.md +43 -0
- package/.opencode/skills/session-management/SKILL.md +36 -0
- package/.opencode/skills/state-manager/SKILL.md +37 -0
- package/.opencode/skills/storyteller/SKILL.md +130 -0
- package/.opencode/skills/strategist/SKILL.md +44 -0
- package/.opencode/skills/tech-writer/SKILL.md +37 -0
- package/.opencode/skills/testing-best-practices/SKILL.md +37 -0
- package/.opencode/skills/testing-strategy/SKILL.md +54 -0
- package/.opencode/skills/ui-ux-design/SKILL.md +603 -0
- package/.opencode/skills/xray-orchestrator/SKILL.md +141 -0
- package/.opencode/skills/xray-orchestrator/index.ts +267 -0
- package/.xray/features.json +1 -1
- package/.xray/features.schema.json +1 -1
- package/AGENTS-consumer.md +4 -2
- package/AGENTS.md +8 -1
- package/README.md +1 -1
- package/SKILLS.md +1 -1
- package/dist/.gitignore.default +67 -0
- package/dist/AGENTS.md +232 -0
- package/dist/CHANGELOG.md +2788 -0
- package/dist/LICENSE +21 -0
- package/dist/README.md +233 -0
- package/dist/SKILLS.md +166 -0
- package/dist/agents/architect.d.ts +2 -0
- package/dist/agents/architect.js +56 -0
- package/dist/agents/backend-engineer.d.ts +8 -0
- package/dist/agents/backend-engineer.js +81 -0
- package/dist/agents/bug-triage-specialist.d.ts +2 -0
- package/dist/agents/bug-triage-specialist.js +74 -0
- package/dist/agents/code-analyzer.d.ts +7 -0
- package/dist/agents/code-analyzer.js +150 -0
- package/dist/agents/code-reviewer.d.ts +2 -0
- package/dist/agents/code-reviewer.js +69 -0
- package/dist/agents/content-creator.d.ts +9 -0
- package/dist/agents/content-creator.js +72 -0
- package/dist/agents/database-engineer.d.ts +8 -0
- package/dist/agents/database-engineer.js +76 -0
- package/dist/agents/devops-engineer.d.ts +8 -0
- package/dist/agents/devops-engineer.js +84 -0
- package/dist/agents/frontend-engineer.d.ts +8 -0
- package/dist/agents/frontend-engineer.js +78 -0
- package/dist/agents/frontend-ui-ux-engineer.d.ts +8 -0
- package/dist/agents/frontend-ui-ux-engineer.js +64 -0
- package/dist/agents/growth-strategist.d.ts +8 -0
- package/dist/agents/growth-strategist.js +111 -0
- package/dist/agents/index.d.ts +25 -0
- package/dist/agents/index.js +47 -0
- package/dist/agents/known-names.d.ts +26 -0
- package/dist/agents/known-names.js +72 -0
- package/dist/agents/librarian-agents-updater.d.ts +30 -0
- package/dist/agents/librarian-agents-updater.js +333 -0
- package/dist/agents/log-monitor.d.ts +2 -0
- package/dist/agents/log-monitor.js +109 -0
- package/dist/agents/mobile-developer.d.ts +9 -0
- package/dist/agents/mobile-developer.js +102 -0
- package/dist/agents/multimodal-looker.d.ts +9 -0
- package/dist/agents/multimodal-looker.js +93 -0
- package/dist/agents/performance-engineer.d.ts +8 -0
- package/dist/agents/performance-engineer.js +86 -0
- package/dist/agents/refactorer.d.ts +2 -0
- package/dist/agents/refactorer.js +80 -0
- package/dist/agents/registry.d.ts +37 -0
- package/dist/agents/registry.js +354 -0
- package/dist/agents/researcher.d.ts +2 -0
- package/dist/agents/researcher.js +83 -0
- package/dist/agents/security-auditor.d.ts +2 -0
- package/dist/agents/security-auditor.js +158 -0
- package/dist/agents/seo-consultant.d.ts +8 -0
- package/dist/agents/seo-consultant.js +53 -0
- package/dist/agents/strategist.d.ts +7 -0
- package/dist/agents/strategist.js +47 -0
- package/dist/agents/tech-writer.d.ts +8 -0
- package/dist/agents/tech-writer.js +84 -0
- package/dist/agents/testing-lead.d.ts +2 -0
- package/dist/agents/testing-lead.js +95 -0
- package/dist/agents/types.d.ts +45 -0
- package/dist/agents/types.js +1 -0
- package/dist/analytics/consent-manager.d.ts +92 -0
- package/dist/analytics/consent-manager.js +257 -0
- package/dist/analytics/emerging-pattern-detector.d.ts +66 -0
- package/dist/analytics/emerging-pattern-detector.js +259 -0
- package/dist/analytics/pattern-learning-engine.d.ts +79 -0
- package/dist/analytics/pattern-learning-engine.js +277 -0
- package/dist/analytics/pattern-performance-tracker.d.ts +96 -0
- package/dist/analytics/pattern-performance-tracker.js +335 -0
- package/dist/analytics/predictive-analytics.d.ts +40 -0
- package/dist/analytics/predictive-analytics.js +247 -0
- package/dist/analytics/prompt-pattern-analyzer.d.ts +98 -0
- package/dist/analytics/prompt-pattern-analyzer.js +370 -0
- package/dist/analytics/routing-performance-analyzer.d.ts +100 -0
- package/dist/analytics/routing-performance-analyzer.js +355 -0
- package/dist/analytics/routing-refiner.d.ts +102 -0
- package/dist/analytics/routing-refiner.js +377 -0
- package/dist/analytics/simple-pattern-analyzer.d.ts +79 -0
- package/dist/analytics/simple-pattern-analyzer.js +296 -0
- package/dist/architect/architect-tools.d.ts +70 -0
- package/dist/architect/architect-tools.js +437 -0
- package/dist/architect/architectural-integrity.d.ts +20 -0
- package/dist/architect/architectural-integrity.js +78 -0
- package/dist/benchmark/performance-benchmark.d.ts +103 -0
- package/dist/benchmark/performance-benchmark.js +373 -0
- package/dist/cli/commands/analytics-disable.d.ts +9 -0
- package/dist/cli/commands/analytics-disable.js +72 -0
- package/dist/cli/commands/analytics-enable-action.d.ts +8 -0
- package/dist/cli/commands/analytics-enable-action.js +82 -0
- package/dist/cli/commands/analytics-preview.d.ts +9 -0
- package/dist/cli/commands/analytics-preview.js +106 -0
- package/dist/cli/commands/analytics-status.d.ts +9 -0
- package/dist/cli/commands/analytics-status.js +68 -0
- package/dist/cli/commands/antigravity-status.d.ts +9 -0
- package/dist/cli/commands/antigravity-status.js +106 -0
- package/dist/cli/commands/archive-logs.d.ts +23 -0
- package/dist/cli/commands/archive-logs.js +160 -0
- package/dist/cli/commands/credible-init.d.ts +11 -0
- package/dist/cli/commands/credible-init.js +82 -0
- package/dist/cli/commands/enforce.d.ts +12 -0
- package/dist/cli/commands/enforce.js +78 -0
- package/dist/cli/commands/foundry-mint-wear.d.ts +3 -0
- package/dist/cli/commands/foundry-mint-wear.js +17 -0
- package/dist/cli/commands/govern.d.ts +29 -0
- package/dist/cli/commands/govern.js +149 -0
- package/dist/cli/commands/grok-install.d.ts +7 -0
- package/dist/cli/commands/grok-install.js +16 -0
- package/dist/cli/commands/hermes-install.d.ts +2 -0
- package/dist/cli/commands/hermes-install.js +90 -0
- package/dist/cli/commands/mcp-install.d.ts +4 -0
- package/dist/cli/commands/mcp-install.js +253 -0
- package/dist/cli/commands/openclaw-install.d.ts +2 -0
- package/dist/cli/commands/openclaw-install.js +80 -0
- package/dist/cli/commands/opencode-install.d.ts +2 -0
- package/dist/cli/commands/opencode-install.js +153 -0
- package/dist/cli/commands/plugin-commands.d.ts +18 -0
- package/dist/cli/commands/plugin-commands.js +245 -0
- package/dist/cli/commands/publish-agent.d.ts +15 -0
- package/dist/cli/commands/publish-agent.js +184 -0
- package/dist/cli/commands/security-audit.d.ts +23 -0
- package/dist/cli/commands/security-audit.js +219 -0
- package/dist/cli/commands/skill-install.d.ts +6 -0
- package/dist/cli/commands/skill-install.js +522 -0
- package/dist/cli/commands/status.d.ts +41 -0
- package/dist/cli/commands/status.js +199 -0
- package/dist/cli/commands/storyteller.d.ts +19 -0
- package/dist/cli/commands/storyteller.js +230 -0
- package/dist/cli/index.d.ts +7 -0
- package/dist/cli/index.js +996 -0
- package/dist/cli/server.d.ts +1 -0
- package/dist/cli/server.js +147 -0
- package/dist/config/default-agents.d.ts +12 -0
- package/dist/config/default-agents.js +16 -0
- package/dist/config/routing-mappings.d.ts +26 -0
- package/dist/config/routing-mappings.js +151 -0
- package/dist/core/activity-logger.d.ts +71 -0
- package/dist/core/activity-logger.js +259 -0
- package/dist/core/adaptive-kernel.d.ts +108 -0
- package/dist/core/adaptive-kernel.js +191 -0
- package/dist/core/agent-spawn-gate.d.ts +56 -0
- package/dist/core/agent-spawn-gate.js +120 -0
- package/dist/core/boot-orchestrator.d.ts +99 -0
- package/dist/core/boot-orchestrator.js +809 -0
- package/dist/core/bridge.mjs +922 -0
- package/dist/core/codex-formatter.d.ts +95 -0
- package/dist/core/codex-formatter.js +218 -0
- package/dist/core/codex-injector.d.ts +73 -0
- package/dist/core/codex-injector.js +423 -0
- package/dist/core/config-loader.d.ts +59 -0
- package/dist/core/config-loader.js +157 -0
- package/dist/core/config-paths.d.ts +66 -0
- package/dist/core/config-paths.js +169 -0
- package/dist/core/context-loader.d.ts +120 -0
- package/dist/core/context-loader.js +268 -0
- package/dist/core/context-validator.d.ts +52 -0
- package/dist/core/context-validator.js +211 -0
- package/dist/core/features-config.d.ts +531 -0
- package/dist/core/features-config.js +524 -0
- package/dist/core/framework-logger.d.ts +76 -0
- package/dist/core/framework-logger.js +275 -0
- package/dist/core/index.d.ts +5 -0
- package/dist/core/index.js +6 -0
- package/dist/core/kernel-patterns.d.ts +129 -0
- package/dist/core/kernel-patterns.js +301 -0
- package/dist/core/logging-config.d.ts +10 -0
- package/dist/core/logging-config.js +43 -0
- package/dist/core/model-router.d.ts +56 -0
- package/dist/core/model-router.js +134 -0
- package/dist/core/orchestrator.d.ts +71 -0
- package/dist/core/orchestrator.js +408 -0
- package/dist/core/system-prompt-generator.d.ts +34 -0
- package/dist/core/system-prompt-generator.js +264 -0
- package/dist/core/trace-context.d.ts +12 -0
- package/dist/core/trace-context.js +33 -0
- package/dist/core/xray-activation.d.ts +14 -0
- package/dist/core/xray-activation.js +135 -0
- package/dist/delegation/agent-delegator.d.ts +185 -0
- package/dist/delegation/agent-delegator.js +768 -0
- package/dist/delegation/agent-expertise.d.ts +15 -0
- package/dist/delegation/agent-expertise.js +155 -0
- package/dist/delegation/analytics/index.d.ts +11 -0
- package/dist/delegation/analytics/index.js +11 -0
- package/dist/delegation/analytics/learning-engine.d.ts +84 -0
- package/dist/delegation/analytics/learning-engine.js +276 -0
- package/dist/delegation/analytics/outcome-tracker.d.ts +117 -0
- package/dist/delegation/analytics/outcome-tracker.js +278 -0
- package/dist/delegation/analytics/routing-analytics.d.ts +60 -0
- package/dist/delegation/analytics/routing-analytics.js +192 -0
- package/dist/delegation/ast-code-parser.d.ts +173 -0
- package/dist/delegation/ast-code-parser.js +877 -0
- package/dist/delegation/codebase-context-analyzer.d.ts +164 -0
- package/dist/delegation/codebase-context-analyzer.js +1040 -0
- package/dist/delegation/complexity-analyzer.d.ts +110 -0
- package/dist/delegation/complexity-analyzer.js +281 -0
- package/dist/delegation/complexity-core.d.ts +119 -0
- package/dist/delegation/complexity-core.js +219 -0
- package/dist/delegation/config/types.d.ts +247 -0
- package/dist/delegation/config/types.js +6 -0
- package/dist/delegation/dependency-graph-builder.d.ts +94 -0
- package/dist/delegation/dependency-graph-builder.js +408 -0
- package/dist/delegation/index.d.ts +25 -0
- package/dist/delegation/index.js +20 -0
- package/dist/delegation/metrics-aggregator.d.ts +91 -0
- package/dist/delegation/metrics-aggregator.js +334 -0
- package/dist/delegation/session-coordinator.d.ts +132 -0
- package/dist/delegation/session-coordinator.js +351 -0
- package/dist/delegation/strategy-selector.d.ts +27 -0
- package/dist/delegation/strategy-selector.js +107 -0
- package/dist/delegation/voting-coordinator.d.ts +48 -0
- package/dist/delegation/voting-coordinator.js +374 -0
- package/dist/delegation/voting-types.d.ts +154 -0
- package/dist/delegation/voting-types.js +9 -0
- package/dist/delegation/weighted-voting-aggregator.d.ts +36 -0
- package/dist/delegation/weighted-voting-aggregator.js +193 -0
- package/dist/enforcement/core/index.d.ts +14 -0
- package/dist/enforcement/core/index.js +18 -0
- package/dist/enforcement/core/rule-executor.d.ts +157 -0
- package/dist/enforcement/core/rule-executor.js +364 -0
- package/dist/enforcement/core/rule-hierarchy.d.ts +145 -0
- package/dist/enforcement/core/rule-hierarchy.js +258 -0
- package/dist/enforcement/core/rule-registry.d.ts +196 -0
- package/dist/enforcement/core/rule-registry.js +239 -0
- package/dist/enforcement/core/violation-fixer.d.ts +105 -0
- package/dist/enforcement/core/violation-fixer.js +650 -0
- package/dist/enforcement/enforcer-tools.d.ts +85 -0
- package/dist/enforcement/enforcer-tools.js +818 -0
- package/dist/enforcement/index.d.ts +22 -0
- package/dist/enforcement/index.js +40 -0
- package/dist/enforcement/loaders/agent-triage-loader.d.ts +98 -0
- package/dist/enforcement/loaders/agent-triage-loader.js +221 -0
- package/dist/enforcement/loaders/agents-md-validation-loader.d.ts +75 -0
- package/dist/enforcement/loaders/agents-md-validation-loader.js +251 -0
- package/dist/enforcement/loaders/base-loader.d.ts +82 -0
- package/dist/enforcement/loaders/base-loader.js +85 -0
- package/dist/enforcement/loaders/codex-loader.d.ts +76 -0
- package/dist/enforcement/loaders/codex-loader.js +395 -0
- package/dist/enforcement/loaders/index.d.ts +36 -0
- package/dist/enforcement/loaders/index.js +39 -0
- package/dist/enforcement/loaders/loader-orchestrator.d.ts +96 -0
- package/dist/enforcement/loaders/loader-orchestrator.js +167 -0
- package/dist/enforcement/loaders/processor-loader.d.ts +59 -0
- package/dist/enforcement/loaders/processor-loader.js +112 -0
- package/dist/enforcement/rule-enforcer.d.ts +142 -0
- package/dist/enforcement/rule-enforcer.js +298 -0
- package/dist/enforcement/test-auto-healing.d.ts +83 -0
- package/dist/enforcement/test-auto-healing.js +325 -0
- package/dist/enforcement/types.d.ts +500 -0
- package/dist/enforcement/types.js +29 -0
- package/dist/enforcement/validators/architecture-validators.d.ts +154 -0
- package/dist/enforcement/validators/architecture-validators.js +599 -0
- package/dist/enforcement/validators/base-validator.d.ts +87 -0
- package/dist/enforcement/validators/base-validator.js +107 -0
- package/dist/enforcement/validators/code-quality-validators.d.ts +88 -0
- package/dist/enforcement/validators/code-quality-validators.js +335 -0
- package/dist/enforcement/validators/index.d.ts +14 -0
- package/dist/enforcement/validators/index.js +20 -0
- package/dist/enforcement/validators/security-validators.d.ts +52 -0
- package/dist/enforcement/validators/security-validators.js +219 -0
- package/dist/enforcement/validators/testing-validators.d.ts +80 -0
- package/dist/enforcement/validators/testing-validators.js +252 -0
- package/dist/enforcement/validators/validator-registry.d.ts +91 -0
- package/dist/enforcement/validators/validator-registry.js +149 -0
- package/dist/execution/opencode-cli-invoker.d.ts +8 -0
- package/dist/execution/opencode-cli-invoker.js +173 -0
- package/dist/execution/proposal-applier.d.ts +24 -0
- package/dist/execution/proposal-applier.js +254 -0
- package/dist/governance/codex-policy.service.d.ts +56 -0
- package/dist/governance/codex-policy.service.js +166 -0
- package/dist/governance/governance-core.d.ts +53 -0
- package/dist/governance/governance-core.js +168 -0
- package/dist/governance/governance-service.d.ts +39 -0
- package/dist/governance/governance-service.js +351 -0
- package/dist/governance/governance-types.d.ts +90 -0
- package/dist/governance/governance-types.js +11 -0
- package/dist/governance/llm-governance-provider.d.ts +16 -0
- package/dist/governance/llm-governance-provider.js +284 -0
- package/dist/governance/local-confer.d.ts +10 -0
- package/dist/governance/local-confer.js +27 -0
- package/dist/index.d.ts +28 -0
- package/dist/index.js +24 -0
- package/dist/inference/deploy-verifier.d.ts +26 -0
- package/dist/inference/deploy-verifier.js +161 -0
- package/dist/inference/index.d.ts +10 -0
- package/dist/inference/index.js +5 -0
- package/dist/inference/inference-accumulator.d.ts +29 -0
- package/dist/inference/inference-accumulator.js +126 -0
- package/dist/inference/inference-agent-invoker.d.ts +3 -0
- package/dist/inference/inference-agent-invoker.js +67 -0
- package/dist/inference/inference-applier.d.ts +4 -0
- package/dist/inference/inference-applier.js +178 -0
- package/dist/inference/inference-cycle.d.ts +70 -0
- package/dist/inference/inference-cycle.js +392 -0
- package/dist/inference/inference-proposal-generator.d.ts +3 -0
- package/dist/inference/inference-proposal-generator.js +149 -0
- package/dist/inference/semantic-patterns.d.ts +7 -0
- package/dist/inference/semantic-patterns.js +310 -0
- package/dist/inference/session-capture.d.ts +32 -0
- package/dist/inference/session-capture.js +308 -0
- package/dist/infrastructure/iac-validator.d.ts +150 -0
- package/dist/infrastructure/iac-validator.js +465 -0
- package/dist/infrastructure/schemas/cloud-schemas.d.ts +482 -0
- package/dist/infrastructure/schemas/cloud-schemas.js +488 -0
- package/dist/integrations/base/ExampleIntegration.d.ts +46 -0
- package/dist/integrations/base/ExampleIntegration.js +180 -0
- package/dist/integrations/base/Integration.d.ts +266 -0
- package/dist/integrations/base/Integration.js +394 -0
- package/dist/integrations/base/README.md +446 -0
- package/dist/integrations/base/index.d.ts +11 -0
- package/dist/integrations/base/index.js +15 -0
- package/dist/integrations/base/registry.d.ts +272 -0
- package/dist/integrations/base/registry.js +605 -0
- package/dist/integrations/base/types.d.ts +167 -0
- package/dist/integrations/base/types.js +117 -0
- package/dist/integrations/cursor/README.md +61 -0
- package/dist/integrations/cursor/hooks/after-file-edit.js +38 -0
- package/dist/integrations/cursor/hooks/cursor-hook-utils.js +170 -0
- package/dist/integrations/cursor/hooks/cursor-usage-receipt.js +298 -0
- package/dist/integrations/cursor/hooks/hooks.json +20 -0
- package/dist/integrations/cursor/hooks/pre-compact.js +88 -0
- package/dist/integrations/cursor/hooks/pre-tool-use.js +105 -0
- package/dist/integrations/enforcement-gate.d.ts +44 -0
- package/dist/integrations/enforcement-gate.js +348 -0
- package/dist/integrations/governance/governance-client.d.ts +75 -0
- package/dist/integrations/governance/governance-client.js +315 -0
- package/dist/integrations/governance/index.d.ts +98 -0
- package/dist/integrations/governance/index.js +365 -0
- package/dist/integrations/governance/types.d.ts +238 -0
- package/dist/integrations/governance/types.js +96 -0
- package/dist/integrations/grok/grok-cli.d.ts +31 -0
- package/dist/integrations/grok/grok-cli.js +222 -0
- package/dist/integrations/grok/hooks/grok-hook-activity.js +53 -0
- package/dist/integrations/grok/hooks/grok-hook-utils.js +372 -0
- package/dist/integrations/grok/hooks/post-tool-use.js +118 -0
- package/dist/integrations/grok/hooks/pre-tool-use.js +136 -0
- package/dist/integrations/grok/hooks/session-start.js +189 -0
- package/dist/integrations/grok/plugin/0xray/.mcp.json +35 -0
- package/dist/integrations/grok/plugin/0xray/hooks/hooks.json +70 -0
- package/dist/integrations/hermes-agent/.mcp.json +32 -0
- package/dist/integrations/hermes-agent/__init__.py +790 -0
- package/dist/integrations/hermes-agent/__pycache__/__init__.cpython-313.pyc +0 -0
- package/dist/integrations/hermes-agent/__pycache__/schemas.cpython-313.pyc +0 -0
- package/dist/integrations/hermes-agent/__pycache__/tools.cpython-313.pyc +0 -0
- package/dist/integrations/hermes-agent/after-install.md +71 -0
- package/dist/integrations/hermes-agent/bridge.mjs +1060 -0
- package/dist/integrations/hermes-agent/conftest.py +14 -0
- package/dist/integrations/hermes-agent/logs/framework/routing-outcomes.json +1 -0
- package/dist/integrations/hermes-agent/plugin.yaml +12 -0
- package/dist/integrations/hermes-agent/schemas.py +149 -0
- package/dist/integrations/hermes-agent/test_plugin.py +1100 -0
- package/dist/integrations/hermes-agent/tools.py +357 -0
- package/dist/integrations/hooks/confer-hook-runtime.mjs +49 -0
- package/dist/integrations/hooks/delegation-gate-runtime.mjs +110 -0
- package/dist/integrations/hooks/pipeline-hook-runtime.mjs +211 -0
- package/dist/integrations/hooks/plan-hook-runtime.mjs +68 -0
- package/dist/integrations/hooks/station-hook-runtime.cjs +509 -0
- package/dist/integrations/hooks/station-hook-runtime.mjs +26 -0
- package/dist/integrations/hooks/station-memory-ingest.mjs +45 -0
- package/dist/integrations/hooks/station-memory-match.mjs +47 -0
- package/dist/integrations/hooks/synthesis-hook-runtime.mjs +50 -0
- package/dist/integrations/hooks/user-aside-hook-runtime.mjs +49 -0
- package/dist/integrations/openclaw/README.md +134 -0
- package/dist/integrations/openclaw/api-server.d.ts +86 -0
- package/dist/integrations/openclaw/api-server.js +388 -0
- package/dist/integrations/openclaw/client.d.ts +125 -0
- package/dist/integrations/openclaw/client.js +499 -0
- package/dist/integrations/openclaw/config.d.ts +95 -0
- package/dist/integrations/openclaw/config.js +372 -0
- package/dist/integrations/openclaw/hooks/pre-tool-gate-runtime.mjs +102 -0
- package/dist/integrations/openclaw/hooks/xray-hooks.d.ts +123 -0
- package/dist/integrations/openclaw/hooks/xray-hooks.js +279 -0
- package/dist/integrations/openclaw/index.d.ts +100 -0
- package/dist/integrations/openclaw/index.js +367 -0
- package/dist/integrations/openclaw/plugin/xray-pre-tool/index.js +75 -0
- package/dist/integrations/openclaw/plugin/xray-pre-tool/openclaw.plugin.json +10 -0
- package/dist/integrations/openclaw/plugin/xray-pre-tool/package.json +12 -0
- package/dist/integrations/openclaw/pre-tool-gate.d.ts +19 -0
- package/dist/integrations/openclaw/pre-tool-gate.js +39 -0
- package/dist/integrations/openclaw/types.d.ts +425 -0
- package/dist/integrations/openclaw/types.js +152 -0
- package/dist/integrations/plugins/index.d.ts +9 -0
- package/dist/integrations/plugins/index.js +9 -0
- package/dist/integrations/plugins/plugin-integration.d.ts +288 -0
- package/dist/integrations/plugins/plugin-integration.js +605 -0
- package/dist/integrations/plugins/plugin-registry.d.ts +223 -0
- package/dist/integrations/plugins/plugin-registry.js +579 -0
- package/dist/mcps/agent-resolver.d.ts +45 -0
- package/dist/mcps/agent-resolver.js +105 -0
- package/dist/mcps/architect-tools.server.d.ts +16 -0
- package/dist/mcps/architect-tools.server.js +217 -0
- package/dist/mcps/auto-format.server.d.ts +18 -0
- package/dist/mcps/auto-format.server.js +395 -0
- package/dist/mcps/boot-orchestrator.server.d.ts +48 -0
- package/dist/mcps/boot-orchestrator.server.js +835 -0
- package/dist/mcps/config/config-loader.d.ts +56 -0
- package/dist/mcps/config/config-loader.js +140 -0
- package/dist/mcps/config/config-validator.d.ts +40 -0
- package/dist/mcps/config/config-validator.js +101 -0
- package/dist/mcps/config/index.d.ts +31 -0
- package/dist/mcps/config/index.js +30 -0
- package/dist/mcps/config/plugin-server-registry.d.ts +126 -0
- package/dist/mcps/config/plugin-server-registry.js +222 -0
- package/dist/mcps/config/server-config-registry.d.ts +51 -0
- package/dist/mcps/config/server-config-registry.js +349 -0
- package/dist/mcps/connection/connection-manager.d.ts +39 -0
- package/dist/mcps/connection/connection-manager.js +79 -0
- package/dist/mcps/connection/connection-pool.d.ts +64 -0
- package/dist/mcps/connection/connection-pool.js +164 -0
- package/dist/mcps/connection/mcp-connection.d.ts +66 -0
- package/dist/mcps/connection/mcp-connection.js +233 -0
- package/dist/mcps/connection/process-spawner.d.ts +24 -0
- package/dist/mcps/connection/process-spawner.js +34 -0
- package/dist/mcps/enforcer-tools.server.d.ts +26 -0
- package/dist/mcps/enforcer-tools.server.js +712 -0
- package/dist/mcps/estimation.server.d.ts +19 -0
- package/dist/mcps/estimation.server.js +149 -0
- package/dist/mcps/framework-compliance-audit.server.d.ts +20 -0
- package/dist/mcps/framework-compliance-audit.server.js +471 -0
- package/dist/mcps/framework-help.server.d.ts +13 -0
- package/dist/mcps/framework-help.server.js +383 -0
- package/dist/mcps/governance.server.d.ts +36 -0
- package/dist/mcps/governance.server.js +499 -0
- package/dist/mcps/in-process-skill-registry.d.ts +20 -0
- package/dist/mcps/in-process-skill-registry.js +48 -0
- package/dist/mcps/index.d.ts +17 -0
- package/dist/mcps/index.js +65 -0
- package/dist/mcps/knowledge-skills/api-design.server.d.ts +13 -0
- package/dist/mcps/knowledge-skills/api-design.server.js +92 -0
- package/dist/mcps/knowledge-skills/architecture-patterns.server.d.ts +13 -0
- package/dist/mcps/knowledge-skills/architecture-patterns.server.js +82 -0
- package/dist/mcps/knowledge-skills/bug-triage-specialist.server.d.ts +31 -0
- package/dist/mcps/knowledge-skills/bug-triage-specialist.server.js +434 -0
- package/dist/mcps/knowledge-skills/code-analyzer.server.d.ts +29 -0
- package/dist/mcps/knowledge-skills/code-analyzer.server.js +578 -0
- package/dist/mcps/knowledge-skills/code-review.server.d.ts +44 -0
- package/dist/mcps/knowledge-skills/code-review.server.js +783 -0
- package/dist/mcps/knowledge-skills/content-creator.server.d.ts +11 -0
- package/dist/mcps/knowledge-skills/content-creator.server.js +234 -0
- package/dist/mcps/knowledge-skills/database-design.server.d.ts +41 -0
- package/dist/mcps/knowledge-skills/database-design.server.js +788 -0
- package/dist/mcps/knowledge-skills/devops-deployment.server.d.ts +41 -0
- package/dist/mcps/knowledge-skills/devops-deployment.server.js +1147 -0
- package/dist/mcps/knowledge-skills/git-workflow.server.d.ts +13 -0
- package/dist/mcps/knowledge-skills/git-workflow.server.js +83 -0
- package/dist/mcps/knowledge-skills/growth-strategist.server.d.ts +11 -0
- package/dist/mcps/knowledge-skills/growth-strategist.server.js +339 -0
- package/dist/mcps/knowledge-skills/log-monitor.server.d.ts +22 -0
- package/dist/mcps/knowledge-skills/log-monitor.server.js +431 -0
- package/dist/mcps/knowledge-skills/mobile-development.server.d.ts +17 -0
- package/dist/mcps/knowledge-skills/mobile-development.server.js +495 -0
- package/dist/mcps/knowledge-skills/multimodal-looker.server.d.ts +53 -0
- package/dist/mcps/knowledge-skills/multimodal-looker.server.js +1028 -0
- package/dist/mcps/knowledge-skills/performance-optimization.server.d.ts +69 -0
- package/dist/mcps/knowledge-skills/performance-optimization.server.js +1537 -0
- package/dist/mcps/knowledge-skills/project-analysis.server.d.ts +35 -0
- package/dist/mcps/knowledge-skills/project-analysis.server.js +724 -0
- package/dist/mcps/knowledge-skills/refactoring-strategies.server.d.ts +31 -0
- package/dist/mcps/knowledge-skills/refactoring-strategies.server.js +762 -0
- package/dist/mcps/knowledge-skills/security-audit.server.d.ts +46 -0
- package/dist/mcps/knowledge-skills/security-audit.server.js +684 -0
- package/dist/mcps/knowledge-skills/seo-consultant.server.d.ts +24 -0
- package/dist/mcps/knowledge-skills/seo-consultant.server.js +745 -0
- package/dist/mcps/knowledge-skills/session-management.server.d.ts +22 -0
- package/dist/mcps/knowledge-skills/session-management.server.js +394 -0
- package/dist/mcps/knowledge-skills/skill-invocation.server.d.ts +32 -0
- package/dist/mcps/knowledge-skills/skill-invocation.server.js +454 -0
- package/dist/mcps/knowledge-skills/storyteller.server.d.ts +11 -0
- package/dist/mcps/knowledge-skills/storyteller.server.js +167 -0
- package/dist/mcps/knowledge-skills/strategist.server.d.ts +15 -0
- package/dist/mcps/knowledge-skills/strategist.server.js +172 -0
- package/dist/mcps/knowledge-skills/tech-writer.server.d.ts +45 -0
- package/dist/mcps/knowledge-skills/tech-writer.server.js +1016 -0
- package/dist/mcps/knowledge-skills/testing-best-practices.server.d.ts +34 -0
- package/dist/mcps/knowledge-skills/testing-best-practices.server.js +694 -0
- package/dist/mcps/knowledge-skills/testing-strategy.server.d.ts +45 -0
- package/dist/mcps/knowledge-skills/testing-strategy.server.js +689 -0
- package/dist/mcps/knowledge-skills/ui-ux-design.server.d.ts +67 -0
- package/dist/mcps/knowledge-skills/ui-ux-design.server.js +1265 -0
- package/dist/mcps/lint.server.d.ts +15 -0
- package/dist/mcps/lint.server.js +340 -0
- package/dist/mcps/mcp-client.d.ts +157 -0
- package/dist/mcps/mcp-client.js +574 -0
- package/dist/mcps/model-health-check.server.d.ts +14 -0
- package/dist/mcps/model-health-check.server.js +201 -0
- package/dist/mcps/orchestrator/aside-context.d.ts +21 -0
- package/dist/mcps/orchestrator/aside-context.js +207 -0
- package/dist/mcps/orchestrator/config/agent-capabilities.d.ts +39 -0
- package/dist/mcps/orchestrator/config/agent-capabilities.js +128 -0
- package/dist/mcps/orchestrator/config/memory-routing-bridge.d.ts +12 -0
- package/dist/mcps/orchestrator/config/memory-routing-bridge.js +71 -0
- package/dist/mcps/orchestrator/execution/execution-planner.d.ts +64 -0
- package/dist/mcps/orchestrator/execution/execution-planner.js +320 -0
- package/dist/mcps/orchestrator/handlers/complexity-handler.d.ts +55 -0
- package/dist/mcps/orchestrator/handlers/complexity-handler.js +285 -0
- package/dist/mcps/orchestrator/handlers/status-handler.d.ts +71 -0
- package/dist/mcps/orchestrator/handlers/status-handler.js +239 -0
- package/dist/mcps/orchestrator/handlers/task-handler.d.ts +59 -0
- package/dist/mcps/orchestrator/handlers/task-handler.js +354 -0
- package/dist/mcps/orchestrator/index.d.ts +6 -0
- package/dist/mcps/orchestrator/index.js +5 -0
- package/dist/mcps/orchestrator/server.d.ts +38 -0
- package/dist/mcps/orchestrator/server.js +538 -0
- package/dist/mcps/orchestrator/types.d.ts +131 -0
- package/dist/mcps/orchestrator/types.js +6 -0
- package/dist/mcps/orchestrator.server.d.ts +10 -0
- package/dist/mcps/orchestrator.server.js +20 -0
- package/dist/mcps/performance-analysis.server.d.ts +25 -0
- package/dist/mcps/performance-analysis.server.js +488 -0
- package/dist/mcps/processor-pipeline.server.d.ts +29 -0
- package/dist/mcps/processor-pipeline.server.js +531 -0
- package/dist/mcps/protocol/protocol-constants.d.ts +46 -0
- package/dist/mcps/protocol/protocol-constants.js +46 -0
- package/dist/mcps/registry.json +109 -0
- package/dist/mcps/researcher-confidence.d.ts +21 -0
- package/dist/mcps/researcher-confidence.js +92 -0
- package/dist/mcps/researcher.server.d.ts +29 -0
- package/dist/mcps/researcher.server.js +419 -0
- package/dist/mcps/security-scan.server.d.ts +19 -0
- package/dist/mcps/security-scan.server.js +517 -0
- package/dist/mcps/shared/knowledge-skill-base.d.ts +17 -0
- package/dist/mcps/shared/knowledge-skill-base.js +52 -0
- package/dist/mcps/shared/prompt-security-validator.d.ts +44 -0
- package/dist/mcps/shared/prompt-security-validator.js +148 -0
- package/dist/mcps/shared/security-scanner.d.ts +119 -0
- package/dist/mcps/shared/security-scanner.js +429 -0
- package/dist/mcps/simulation/index.d.ts +12 -0
- package/dist/mcps/simulation/index.js +12 -0
- package/dist/mcps/simulation/server-simulations.d.ts +39 -0
- package/dist/mcps/simulation/server-simulations.js +219 -0
- package/dist/mcps/simulation/simulation-engine.d.ts +51 -0
- package/dist/mcps/simulation/simulation-engine.js +96 -0
- package/dist/mcps/state-manager.server.d.ts +27 -0
- package/dist/mcps/state-manager.server.js +609 -0
- package/dist/mcps/tools/index.d.ts +14 -0
- package/dist/mcps/tools/index.js +14 -0
- package/dist/mcps/tools/tool-cache.d.ts +53 -0
- package/dist/mcps/tools/tool-cache.js +112 -0
- package/dist/mcps/tools/tool-discovery.d.ts +27 -0
- package/dist/mcps/tools/tool-discovery.js +65 -0
- package/dist/mcps/tools/tool-executor.d.ts +41 -0
- package/dist/mcps/tools/tool-executor.js +75 -0
- package/dist/mcps/tools/tool-registry.d.ts +42 -0
- package/dist/mcps/tools/tool-registry.js +67 -0
- package/dist/mcps/types/index.d.ts +13 -0
- package/dist/mcps/types/index.js +15 -0
- package/dist/mcps/types/json-rpc.types.d.ts +35 -0
- package/dist/mcps/types/json-rpc.types.js +7 -0
- package/dist/mcps/types/mcp.types.d.ts +105 -0
- package/dist/mcps/types/mcp.types.js +7 -0
- package/dist/memory-routing/index.d.ts +6 -0
- package/dist/memory-routing/index.js +4 -0
- package/dist/memory-routing/null-provider.d.ts +14 -0
- package/dist/memory-routing/null-provider.js +63 -0
- package/dist/memory-routing/provider-loader.d.ts +6 -0
- package/dist/memory-routing/provider-loader.js +165 -0
- package/dist/memory-routing/provider-registry.d.ts +8 -0
- package/dist/memory-routing/provider-registry.js +41 -0
- package/dist/memory-routing/types.d.ts +111 -0
- package/dist/memory-routing/types.js +7 -0
- package/dist/memory-routing/validate-config.d.ts +7 -0
- package/dist/memory-routing/validate-config.js +32 -0
- package/dist/metrics/agent-metrics.d.ts +169 -0
- package/dist/metrics/agent-metrics.js +574 -0
- package/dist/metrics/index.d.ts +6 -0
- package/dist/metrics/index.js +6 -0
- package/dist/monitoring/advanced-profiler.d.ts +51 -0
- package/dist/monitoring/advanced-profiler.js +232 -0
- package/dist/monitoring/memory-monitor.d.ts +113 -0
- package/dist/monitoring/memory-monitor.js +315 -0
- package/dist/monitoring/nudge-watchdog.d.ts +87 -0
- package/dist/monitoring/nudge-watchdog.js +355 -0
- package/dist/monitoring/test-auto-generation-monitor.d.ts +64 -0
- package/dist/monitoring/test-auto-generation-monitor.js +157 -0
- package/dist/nucleus/aside-worktree.d.ts +41 -0
- package/dist/nucleus/aside-worktree.js +164 -0
- package/dist/nucleus/autonomy-kernel.d.ts +55 -0
- package/dist/nucleus/autonomy-kernel.js +234 -0
- package/dist/nucleus/confer.d.ts +57 -0
- package/dist/nucleus/confer.js +322 -0
- package/dist/nucleus/default-plugins.d.ts +17 -0
- package/dist/nucleus/default-plugins.js +173 -0
- package/dist/nucleus/delegation-gate.d.ts +105 -0
- package/dist/nucleus/delegation-gate.js +582 -0
- package/dist/nucleus/govern-http.d.ts +59 -0
- package/dist/nucleus/govern-http.js +175 -0
- package/dist/nucleus/index.d.ts +17 -0
- package/dist/nucleus/index.js +12 -0
- package/dist/nucleus/kernel.d.ts +51 -0
- package/dist/nucleus/kernel.js +62 -0
- package/dist/nucleus/lead-dev-plan-persistence.d.ts +70 -0
- package/dist/nucleus/lead-dev-plan-persistence.js +402 -0
- package/dist/nucleus/pending-delegations.d.ts +71 -0
- package/dist/nucleus/pending-delegations.js +285 -0
- package/dist/nucleus/plugin-registry.d.ts +132 -0
- package/dist/nucleus/plugin-registry.js +175 -0
- package/dist/nucleus/spawn-plan-resolution.d.ts +20 -0
- package/dist/nucleus/spawn-plan-resolution.js +42 -0
- package/dist/nucleus/suit-temperament.d.ts +40 -0
- package/dist/nucleus/suit-temperament.js +159 -0
- package/dist/nucleus/synthesis-completion.d.ts +6 -0
- package/dist/nucleus/synthesis-completion.js +29 -0
- package/dist/nucleus/synthesis-consult-receipt.d.ts +32 -0
- package/dist/nucleus/synthesis-consult-receipt.js +171 -0
- package/dist/nucleus/synthesis-context.d.ts +31 -0
- package/dist/nucleus/synthesis-context.js +86 -0
- package/dist/nucleus/synthesis.d.ts +54 -0
- package/dist/nucleus/synthesis.js +196 -0
- package/dist/nucleus/thin-dispatch.d.ts +33 -0
- package/dist/nucleus/thin-dispatch.js +85 -0
- package/dist/nucleus/user-aside.d.ts +70 -0
- package/dist/nucleus/user-aside.js +393 -0
- package/dist/orchestrator/agent-spawn-governor.d.ts +126 -0
- package/dist/orchestrator/agent-spawn-governor.js +558 -0
- package/dist/orchestrator/enhanced-multi-agent-orchestrator.d.ts +156 -0
- package/dist/orchestrator/enhanced-multi-agent-orchestrator.js +399 -0
- package/dist/orchestrator/intelligent-commit-batcher.d.ts +114 -0
- package/dist/orchestrator/intelligent-commit-batcher.js +344 -0
- package/dist/orchestrator/multi-agent-orchestration-coordinator.d.ts +126 -0
- package/dist/orchestrator/multi-agent-orchestration-coordinator.js +455 -0
- package/dist/orchestrator/orchestrator.d.ts +141 -0
- package/dist/orchestrator/orchestrator.js +648 -0
- package/dist/orchestrator/self-direction-activation.d.ts +108 -0
- package/dist/orchestrator/self-direction-activation.js +244 -0
- package/dist/orchestrator/universal-librarian-consultation.d.ts +98 -0
- package/dist/orchestrator/universal-librarian-consultation.js +216 -0
- package/dist/orchestrator/universal-registry-bridge.d.ts +84 -0
- package/dist/orchestrator/universal-registry-bridge.js +246 -0
- package/dist/performance/performance-budget-enforcer.d.ts +157 -0
- package/dist/performance/performance-budget-enforcer.js +433 -0
- package/dist/performance/performance-regression-tester.d.ts +107 -0
- package/dist/performance/performance-regression-tester.js +341 -0
- package/dist/plugin/plugin-codex-context.d.ts +18 -0
- package/dist/plugin/plugin-codex-context.js +87 -0
- package/dist/plugin/plugin-helpers.d.ts +23 -0
- package/dist/plugin/plugin-helpers.js +155 -0
- package/dist/plugin/plugin-logger.d.ts +8 -0
- package/dist/plugin/plugin-logger.js +46 -0
- package/dist/plugin/plugin-modules.d.ts +11 -0
- package/dist/plugin/plugin-modules.js +144 -0
- package/dist/plugin/plugin-quality-gate.d.ts +11 -0
- package/dist/plugin/plugin-quality-gate.js +88 -0
- package/dist/plugin/plugin-types.d.ts +93 -0
- package/dist/plugin/plugin-types.js +1 -0
- package/dist/plugin/xray-codex-injection.d.ts +39 -0
- package/dist/plugin/xray-codex-injection.js +399 -0
- package/dist/postprocessor/PostProcessor.d.ts +108 -0
- package/dist/postprocessor/PostProcessor.js +1053 -0
- package/dist/postprocessor/analysis/CodeChangeAnalyzer.d.ts +11 -0
- package/dist/postprocessor/analysis/CodeChangeAnalyzer.js +50 -0
- package/dist/postprocessor/analysis/FailureAnalysisEngine.d.ts +39 -0
- package/dist/postprocessor/analysis/FailureAnalysisEngine.js +245 -0
- package/dist/postprocessor/autofix/AutoFixEngine.d.ts +48 -0
- package/dist/postprocessor/autofix/AutoFixEngine.js +254 -0
- package/dist/postprocessor/autofix/FixValidator.d.ts +23 -0
- package/dist/postprocessor/autofix/FixValidator.js +56 -0
- package/dist/postprocessor/config/ProcessorConfigLoader.d.ts +44 -0
- package/dist/postprocessor/config/ProcessorConfigLoader.js +16 -0
- package/dist/postprocessor/config.d.ts +6 -0
- package/dist/postprocessor/config.js +65 -0
- package/dist/postprocessor/escalation/EscalationEngine.d.ts +154 -0
- package/dist/postprocessor/escalation/EscalationEngine.js +492 -0
- package/dist/postprocessor/integration.d.ts +156 -0
- package/dist/postprocessor/integration.js +194 -0
- package/dist/postprocessor/metamorphosis/SelfProposalEngine.d.ts +87 -0
- package/dist/postprocessor/metamorphosis/SelfProposalEngine.js +472 -0
- package/dist/postprocessor/metamorphosis/index.d.ts +2 -0
- package/dist/postprocessor/metamorphosis/index.js +1 -0
- package/dist/postprocessor/monitoring/MonitoringEngine.d.ts +40 -0
- package/dist/postprocessor/monitoring/MonitoringEngine.js +125 -0
- package/dist/postprocessor/redeploy/RedeployCoordinator.d.ts +91 -0
- package/dist/postprocessor/redeploy/RedeployCoordinator.js +342 -0
- package/dist/postprocessor/redeploy/RetryHandler.d.ts +49 -0
- package/dist/postprocessor/redeploy/RetryHandler.js +118 -0
- package/dist/postprocessor/services/RegressionAnalysisService.d.ts +39 -0
- package/dist/postprocessor/services/RegressionAnalysisService.js +130 -0
- package/dist/postprocessor/success/SuccessHandler.d.ts +57 -0
- package/dist/postprocessor/success/SuccessHandler.js +134 -0
- package/dist/postprocessor/triggers/APITrigger.d.ts +34 -0
- package/dist/postprocessor/triggers/APITrigger.js +114 -0
- package/dist/postprocessor/triggers/GitHookTrigger.d.ts +38 -0
- package/dist/postprocessor/triggers/GitHookTrigger.js +557 -0
- package/dist/postprocessor/triggers/WebhookTrigger.d.ts +46 -0
- package/dist/postprocessor/triggers/WebhookTrigger.js +210 -0
- package/dist/postprocessor/types.d.ts +227 -0
- package/dist/postprocessor/types.js +4 -0
- package/dist/processors/doc-write-guard.d.ts +6 -0
- package/dist/processors/doc-write-guard.js +46 -0
- package/dist/processors/implementations/agents-md-validation-processor.d.ts +62 -0
- package/dist/processors/implementations/agents-md-validation-processor.js +285 -0
- package/dist/processors/implementations/async-pattern-processor.d.ts +47 -0
- package/dist/processors/implementations/async-pattern-processor.js +157 -0
- package/dist/processors/implementations/codex-compliance-processor.d.ts +7 -0
- package/dist/processors/implementations/codex-compliance-processor.js +57 -0
- package/dist/processors/implementations/commit-batcher-processor.d.ts +13 -0
- package/dist/processors/implementations/commit-batcher-processor.js +71 -0
- package/dist/processors/implementations/console-log-guard-processor.d.ts +32 -0
- package/dist/processors/implementations/console-log-guard-processor.js +162 -0
- package/dist/processors/implementations/coverage-analysis-processor.d.ts +19 -0
- package/dist/processors/implementations/coverage-analysis-processor.js +137 -0
- package/dist/processors/implementations/error-boundary-processor.d.ts +7 -0
- package/dist/processors/implementations/error-boundary-processor.js +44 -0
- package/dist/processors/implementations/inference-improvement-processor.d.ts +36 -0
- package/dist/processors/implementations/inference-improvement-processor.js +262 -0
- package/dist/processors/implementations/log-protection-processor.d.ts +29 -0
- package/dist/processors/implementations/log-protection-processor.js +117 -0
- package/dist/processors/implementations/nudge-processor.d.ts +21 -0
- package/dist/processors/implementations/nudge-processor.js +129 -0
- package/dist/processors/implementations/performance-budget-processor.d.ts +49 -0
- package/dist/processors/implementations/performance-budget-processor.js +216 -0
- package/dist/processors/implementations/postprocessor-chain-validator.d.ts +45 -0
- package/dist/processors/implementations/postprocessor-chain-validator.js +148 -0
- package/dist/processors/implementations/pre-validate-processor.d.ts +7 -0
- package/dist/processors/implementations/pre-validate-processor.js +18 -0
- package/dist/processors/implementations/publish-preflight-processor.d.ts +37 -0
- package/dist/processors/implementations/publish-preflight-processor.js +240 -0
- package/dist/processors/implementations/refactoring-logging-processor-wrapper.d.ts +7 -0
- package/dist/processors/implementations/refactoring-logging-processor-wrapper.js +33 -0
- package/dist/processors/implementations/refactoring-logging-processor.d.ts +31 -0
- package/dist/processors/implementations/refactoring-logging-processor.js +96 -0
- package/dist/processors/implementations/regression-testing-processor.d.ts +20 -0
- package/dist/processors/implementations/regression-testing-processor.js +59 -0
- package/dist/processors/implementations/session-capture-processor.d.ts +14 -0
- package/dist/processors/implementations/session-capture-processor.js +37 -0
- package/dist/processors/implementations/session-summary-processor.d.ts +26 -0
- package/dist/processors/implementations/session-summary-processor.js +125 -0
- package/dist/processors/implementations/spawn-governance-processor.d.ts +57 -0
- package/dist/processors/implementations/spawn-governance-processor.js +218 -0
- package/dist/processors/implementations/state-validation-processor.d.ts +11 -0
- package/dist/processors/implementations/state-validation-processor.js +15 -0
- package/dist/processors/implementations/storytelling-trigger-processor.d.ts +40 -0
- package/dist/processors/implementations/storytelling-trigger-processor.js +563 -0
- package/dist/processors/implementations/test-auto-creation-processor.d.ts +16 -0
- package/dist/processors/implementations/test-auto-creation-processor.js +483 -0
- package/dist/processors/implementations/test-execution-processor.d.ts +11 -0
- package/dist/processors/implementations/test-execution-processor.js +132 -0
- package/dist/processors/implementations/typescript-compilation-processor.d.ts +37 -0
- package/dist/processors/implementations/typescript-compilation-processor.js +86 -0
- package/dist/processors/implementations/version-compliance-processor.d.ts +80 -0
- package/dist/processors/implementations/version-compliance-processor.js +222 -0
- package/dist/processors/processor-interfaces.d.ts +126 -0
- package/dist/processors/processor-interfaces.js +125 -0
- package/dist/processors/processor-manager.d.ts +80 -0
- package/dist/processors/processor-manager.js +826 -0
- package/dist/processors/processor-types.d.ts +189 -0
- package/dist/processors/processor-types.js +11 -0
- package/dist/public/XrayService.d.ts +17 -0
- package/dist/public/XrayService.js +40 -0
- package/dist/public/about.html +228 -0
- package/dist/public/enterprise.html +27 -0
- package/dist/public/features.html +102 -0
- package/dist/public/index.d.ts +4 -0
- package/dist/public/index.html +145 -0
- package/dist/public/index.js +2 -0
- package/dist/reporting/framework-reporting-system.d.ts +19 -0
- package/dist/reporting/framework-reporting-system.js +187 -0
- package/dist/reporting/log-parser.d.ts +10 -0
- package/dist/reporting/log-parser.js +281 -0
- package/dist/reporting/metrics.d.ts +15 -0
- package/dist/reporting/metrics.js +202 -0
- package/dist/reporting/report-formatter.d.ts +5 -0
- package/dist/reporting/report-formatter.js +146 -0
- package/dist/reporting/types.d.ts +102 -0
- package/dist/reporting/types.js +1 -0
- package/dist/scripts/activate-kernel-pipeline.d.ts +7 -0
- package/dist/scripts/activate-kernel-pipeline.js +101 -0
- package/dist/scripts/integration.d.ts +36 -0
- package/dist/scripts/integration.js +233 -0
- package/dist/scripts/pre-command +26 -0
- package/dist/scripts/pre-command.mjs +358 -0
- package/dist/security/comprehensive-security-audit.d.ts +157 -0
- package/dist/security/comprehensive-security-audit.js +1004 -0
- package/dist/security/index.d.ts +13 -0
- package/dist/security/index.js +13 -0
- package/dist/security/prompt-security-validator.d.ts +44 -0
- package/dist/security/prompt-security-validator.js +148 -0
- package/dist/security/security-agent-coordinator.d.ts +71 -0
- package/dist/security/security-agent-coordinator.js +203 -0
- package/dist/security/security-auditor.d.ts +55 -0
- package/dist/security/security-auditor.js +583 -0
- package/dist/security/security-hardener.d.ts +61 -0
- package/dist/security/security-hardener.js +169 -0
- package/dist/security/security-hardening-system.d.ts +238 -0
- package/dist/security/security-hardening-system.js +726 -0
- package/dist/security/security-headers.d.ts +63 -0
- package/dist/security/security-headers.js +117 -0
- package/dist/security/security-orchestration-layer.d.ts +118 -0
- package/dist/security/security-orchestration-layer.js +495 -0
- package/dist/security/security-scanner.d.ts +119 -0
- package/dist/security/security-scanner.js +429 -0
- package/dist/services/inference-tuner.d.ts +76 -0
- package/dist/services/inference-tuner.js +300 -0
- package/dist/session/index.d.ts +3 -0
- package/dist/session/index.js +3 -0
- package/dist/session/session-cleanup-manager.d.ts +117 -0
- package/dist/session/session-cleanup-manager.js +365 -0
- package/dist/session/session-monitor.d.ts +132 -0
- package/dist/session/session-monitor.js +502 -0
- package/dist/session/session-state-manager.d.ts +144 -0
- package/dist/session/session-state-manager.js +521 -0
- package/dist/skills/api-design/SKILL.md +37 -0
- package/dist/skills/architect-tools/SKILL.md +37 -0
- package/dist/skills/architecture-patterns/SKILL.md +37 -0
- package/dist/skills/auto-format/SKILL.md +37 -0
- package/dist/skills/backend-engineer/SKILL.md +49 -0
- package/dist/skills/boot-orchestrator/SKILL.md +33 -0
- package/dist/skills/bug-triage/SKILL.md +43 -0
- package/dist/skills/code-analyzer/SKILL.md +45 -0
- package/dist/skills/code-review/SKILL.md +52 -0
- package/dist/skills/content-creator/SKILL.md +38 -0
- package/dist/skills/database-engineer/SKILL.md +46 -0
- package/dist/skills/devops-engineer/SKILL.md +49 -0
- package/dist/skills/enforcer/SKILL.md +37 -0
- package/dist/skills/framework-compliance-audit/SKILL.md +37 -0
- package/dist/skills/frontend-engineer/SKILL.md +49 -0
- package/dist/skills/frontend-ui-ux-engineer/SKILL.md +41 -0
- package/dist/skills/git-workflow/SKILL.md +37 -0
- package/dist/skills/growth-strategist/SKILL.md +48 -0
- package/dist/skills/hermes-agent/SKILL.md +212 -0
- package/dist/skills/inference-improve/SKILL.md +97 -0
- package/dist/skills/lint/SKILL.md +37 -0
- package/dist/skills/log-monitor/SKILL.md +44 -0
- package/dist/skills/mobile-developer/SKILL.md +42 -0
- package/dist/skills/model-health-check/SKILL.md +37 -0
- package/dist/skills/multimodal-looker/SKILL.md +45 -0
- package/dist/skills/orchestrator/SKILL.md +61 -0
- package/dist/skills/performance-analysis/SKILL.md +37 -0
- package/dist/skills/performance-engineer/SKILL.md +41 -0
- package/dist/skills/performance-optimization/SKILL.md +37 -0
- package/dist/skills/processor-pipeline/SKILL.md +37 -0
- package/dist/skills/project-analysis/SKILL.md +42 -0
- package/dist/skills/refactoring-strategies/SKILL.md +37 -0
- package/dist/skills/registry.json +65 -0
- package/dist/skills/researcher/SKILL.md +50 -0
- package/dist/skills/security-audit/SKILL.md +48 -0
- package/dist/skills/security-scan/SKILL.md +37 -0
- package/dist/skills/seo-consultant/SKILL.md +43 -0
- package/dist/skills/session-management/SKILL.md +36 -0
- package/dist/skills/state-manager/SKILL.md +37 -0
- package/dist/skills/storyteller/SKILL.md +130 -0
- package/dist/skills/strategist/SKILL.md +44 -0
- package/dist/skills/tech-writer/SKILL.md +37 -0
- package/dist/skills/testing-best-practices/SKILL.md +37 -0
- package/dist/skills/testing-strategy/SKILL.md +54 -0
- package/dist/skills/ui-ux-design/SKILL.md +603 -0
- package/dist/skills/xray-orchestrator/SKILL.md +141 -0
- package/dist/skills/xray-orchestrator/index.d.ts +12 -0
- package/dist/skills/xray-orchestrator/index.js +223 -0
- package/dist/state/context-providers.d.ts +4 -0
- package/dist/state/context-providers.js +1 -0
- package/dist/state/index.d.ts +4 -0
- package/dist/state/index.js +7 -0
- package/dist/state/state-manager.d.ts +41 -0
- package/dist/state/state-manager.js +207 -0
- package/dist/state/state-types.d.ts +5 -0
- package/dist/state/state-types.js +1 -0
- package/dist/testing/memory-regression-suite.d.ts +105 -0
- package/dist/testing/memory-regression-suite.js +258 -0
- package/dist/tools/assess-complexity-tool.d.ts +28 -0
- package/dist/tools/assess-complexity-tool.js +44 -0
- package/dist/tools/query-routing-tool.d.ts +17 -0
- package/dist/tools/query-routing-tool.js +59 -0
- package/dist/types/metamorphosis.d.ts +21 -0
- package/dist/types/metamorphosis.js +6 -0
- package/dist/utils/batch-operations.d.ts +25 -0
- package/dist/utils/batch-operations.js +292 -0
- package/dist/utils/codex-parser.d.ts +60 -0
- package/dist/utils/codex-parser.js +444 -0
- package/dist/utils/command-runner.d.ts +32 -0
- package/dist/utils/command-runner.js +96 -0
- package/dist/utils/import-resolver.d.ts +54 -0
- package/dist/utils/import-resolver.js +189 -0
- package/dist/utils/language-detector.d.ts +43 -0
- package/dist/utils/language-detector.js +382 -0
- package/dist/utils/path-resolver.d.ts +48 -0
- package/dist/utils/path-resolver.js +112 -0
- package/dist/utils/shutdown-handler.d.ts +26 -0
- package/dist/utils/shutdown-handler.js +74 -0
- package/dist/utils/task-graph.d.ts +29 -0
- package/dist/utils/task-graph.js +106 -0
- package/dist/utils/test-template-generator.d.ts +25 -0
- package/dist/utils/test-template-generator.js +178 -0
- package/dist/utils/token-manager.d.ts +48 -0
- package/dist/utils/token-manager.js +163 -0
- package/dist/validation/agent-config-validator.d.ts +110 -0
- package/dist/validation/agent-config-validator.js +280 -0
- package/dist/validation/estimation-validator.d.ts +61 -0
- package/dist/validation/estimation-validator.js +241 -0
- package/dist/validation/orchestration-flow-validator.d.ts +87 -0
- package/dist/validation/orchestration-flow-validator.js +606 -0
- package/dist/validation/report-content-validator.d.ts +42 -0
- package/dist/validation/report-content-validator.js +218 -0
- package/llms.txt +5 -3
- package/package.json +4 -2
- package/scripts/foundry/CHANGELOG.md +34 -0
- package/scripts/foundry/README.md +12 -0
- package/scripts/foundry/assert-packed-dist-cli.mjs +97 -0
- package/scripts/foundry/blip-render.cjs +1237 -0
- package/scripts/foundry/blip-rippel.cjs +1963 -0
- package/scripts/foundry/blip.mjs +109 -0
- package/scripts/foundry/cli.mjs +8 -4
- package/scripts/foundry/inspect.mjs +117 -7
- package/scripts/foundry/mint-suit.cjs +215 -14
- package/scripts/foundry/package.json +6 -0
- package/scripts/foundry/plant/agents/blip-inspect.yml +5 -0
- package/scripts/foundry/plant/agents/blip.yml +5 -0
- package/scripts/foundry/plant/agents/sound-inspect.yml +5 -0
- package/scripts/foundry/plant/agents/sound.yml +5 -0
- package/scripts/foundry/plant/motions/MOTION-REGISTRY.md +35 -0
- package/scripts/foundry/plant/motions/registry.json +81 -0
- package/scripts/foundry/plant/skills/blip/SKILL.md +39 -0
- package/scripts/foundry/plant/skills/blip-inspect/SKILL.md +32 -0
- package/scripts/foundry/plant/skills/inspect/SKILL.md +2 -2
- package/scripts/foundry/plant/skills/sound/SKILL.md +29 -0
- package/scripts/foundry/plant/skills/sound-inspect/SKILL.md +28 -0
- package/scripts/foundry/release-gate.mjs +18 -10
- package/scripts/foundry/release.mjs +3 -0
- package/scripts/foundry/sound-bed.cjs +454 -0
- package/scripts/foundry/sound-rippel.cjs +1434 -0
- package/scripts/foundry/sound.mjs +93 -0
- package/scripts/node/assert-packed-dist-cli.mjs +4 -0
- package/scripts/node/consumer-install-smoke.mjs +20 -1
- package/src/integrations/openclaw/plugin/xray-pre-tool/package.json +1 -1
- package/xray/features.json +1 -1
- package/xray/features.schema.json +1 -1
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 0xRay 4.0 suit temperament — how loudly the Autonomous Engine insists.
|
|
3
|
+
*
|
|
4
|
+
* v2 three-subsystem OS stays: Inference · External Governance · Autonomous Engine.
|
|
5
|
+
* This module does not replace thinDispatch or Codex. It only scales *ceremony*
|
|
6
|
+
* (spawn-plan deny, synthesis, confer) by host strength.
|
|
7
|
+
*
|
|
8
|
+
* Frontier (Grok 4.6 / Grok Build / Cursor cloud): engine available, spawn warns if no plan.
|
|
9
|
+
* Guided (OpenCode / Hermes / OpenClaw, including free models): full v2 ceremony.
|
|
10
|
+
* Missing config → guided (existing consumers unchanged).
|
|
11
|
+
*/
|
|
12
|
+
export type SuitHost = 'grok' | 'cursor' | 'hermes' | 'opencode' | 'openclaw' | 'generic';
|
|
13
|
+
export type SuitProfile = 'frontier' | 'guided' | 'strict';
|
|
14
|
+
export type SuitProfileOrAuto = 'auto' | SuitProfile;
|
|
15
|
+
export type CeremonyLevel = 'full' | 'lite';
|
|
16
|
+
export type SpawnPlanMode = 'deny' | 'warn' | 'off';
|
|
17
|
+
export interface SuitTemperamentConfig {
|
|
18
|
+
/** auto = pick from host_defaults */
|
|
19
|
+
profile?: SuitProfileOrAuto;
|
|
20
|
+
host_defaults?: Partial<Record<SuitHost, SuitProfile>>;
|
|
21
|
+
}
|
|
22
|
+
export declare const DEFAULT_HOST_PROFILES: Record<SuitHost, SuitProfile>;
|
|
23
|
+
export declare function loadSuitTemperamentRaw(projectRoot: string): SuitTemperamentConfig | undefined;
|
|
24
|
+
export declare function resolveSuitProfile(raw: SuitTemperamentConfig | undefined, host: SuitHost): SuitProfile;
|
|
25
|
+
/**
|
|
26
|
+
* Host-aware when known. Kernel/MCP (`generic`) uses last session-boot profile.
|
|
27
|
+
* A Hermes/OpenCode host ignores a leftover Grok boot (and vice versa).
|
|
28
|
+
*/
|
|
29
|
+
export declare function resolveRuntimeSuitProfile(projectRoot: string, host?: SuitHost): SuitProfile;
|
|
30
|
+
/**
|
|
31
|
+
* Write station heat when this host/session has no live card yet.
|
|
32
|
+
* OpenClaw has no SessionStart — PreToolUse is the session boundary.
|
|
33
|
+
* Install/init cards without a session id are not a live session.
|
|
34
|
+
*/
|
|
35
|
+
export declare function maybeHeatHostStation(projectRoot: string, host: SuitHost, extra?: Record<string, unknown>): string | null;
|
|
36
|
+
/** Merge temperament fields into session-boot.json for the host that just started. */
|
|
37
|
+
export declare function writeSuitSessionBoot(projectRoot: string, host: SuitHost, extra?: Record<string, unknown>): string;
|
|
38
|
+
export declare function ceremonyForProfile(profile: SuitProfile): CeremonyLevel;
|
|
39
|
+
export declare function spawnPlanModeForProfile(profile: SuitProfile): SpawnPlanMode;
|
|
40
|
+
export declare function conferDefaultForProfile(profile: SuitProfile): boolean;
|
|
@@ -0,0 +1,159 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 0xRay 4.0 suit temperament — how loudly the Autonomous Engine insists.
|
|
3
|
+
*
|
|
4
|
+
* v2 three-subsystem OS stays: Inference · External Governance · Autonomous Engine.
|
|
5
|
+
* This module does not replace thinDispatch or Codex. It only scales *ceremony*
|
|
6
|
+
* (spawn-plan deny, synthesis, confer) by host strength.
|
|
7
|
+
*
|
|
8
|
+
* Frontier (Grok 4.6 / Grok Build / Cursor cloud): engine available, spawn warns if no plan.
|
|
9
|
+
* Guided (OpenCode / Hermes / OpenClaw, including free models): full v2 ceremony.
|
|
10
|
+
* Missing config → guided (existing consumers unchanged).
|
|
11
|
+
*/
|
|
12
|
+
import * as fs from 'fs';
|
|
13
|
+
import * as path from 'path';
|
|
14
|
+
import { createRequire } from 'node:module';
|
|
15
|
+
const requireCjs = createRequire(import.meta.url);
|
|
16
|
+
const stationHeat = requireCjs('../integrations/hooks/station-hook-runtime.cjs');
|
|
17
|
+
export const DEFAULT_HOST_PROFILES = {
|
|
18
|
+
grok: 'frontier',
|
|
19
|
+
cursor: 'frontier',
|
|
20
|
+
hermes: 'guided',
|
|
21
|
+
opencode: 'guided',
|
|
22
|
+
openclaw: 'guided',
|
|
23
|
+
generic: 'guided',
|
|
24
|
+
};
|
|
25
|
+
function isSuitProfile(value) {
|
|
26
|
+
return value === 'frontier' || value === 'guided' || value === 'strict';
|
|
27
|
+
}
|
|
28
|
+
export function loadSuitTemperamentRaw(projectRoot) {
|
|
29
|
+
const featuresPath = path.join(projectRoot, '.xray', 'features.json');
|
|
30
|
+
if (!fs.existsSync(featuresPath))
|
|
31
|
+
return undefined;
|
|
32
|
+
try {
|
|
33
|
+
const data = JSON.parse(fs.readFileSync(featuresPath, 'utf8'));
|
|
34
|
+
return data.suit_temperament;
|
|
35
|
+
}
|
|
36
|
+
catch {
|
|
37
|
+
return undefined;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
function isSuitHost(value) {
|
|
41
|
+
return (value === 'grok' ||
|
|
42
|
+
value === 'cursor' ||
|
|
43
|
+
value === 'hermes' ||
|
|
44
|
+
value === 'opencode' ||
|
|
45
|
+
value === 'openclaw' ||
|
|
46
|
+
value === 'generic');
|
|
47
|
+
}
|
|
48
|
+
function readSessionBoot(projectRoot) {
|
|
49
|
+
try {
|
|
50
|
+
const bootPath = path.join(projectRoot, '.xray', 'state', 'session-boot.json');
|
|
51
|
+
if (!fs.existsSync(bootPath))
|
|
52
|
+
return null;
|
|
53
|
+
const boot = JSON.parse(fs.readFileSync(bootPath, 'utf8'));
|
|
54
|
+
return {
|
|
55
|
+
host: isSuitHost(boot.host) ? boot.host : null,
|
|
56
|
+
suit_profile: isSuitProfile(boot.suit_profile) ? boot.suit_profile : null,
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
catch {
|
|
60
|
+
return null;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
export function resolveSuitProfile(raw, host) {
|
|
64
|
+
// No key / empty object without profile → guided (existing consumers).
|
|
65
|
+
if (!raw || !raw.profile)
|
|
66
|
+
return 'guided';
|
|
67
|
+
if (raw.profile !== 'auto') {
|
|
68
|
+
return raw.profile;
|
|
69
|
+
}
|
|
70
|
+
const defaults = {
|
|
71
|
+
...DEFAULT_HOST_PROFILES,
|
|
72
|
+
...(raw.host_defaults ?? {}),
|
|
73
|
+
};
|
|
74
|
+
return defaults[host] ?? 'guided';
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Host-aware when known. Kernel/MCP (`generic`) uses last session-boot profile.
|
|
78
|
+
* A Hermes/OpenCode host ignores a leftover Grok boot (and vice versa).
|
|
79
|
+
*/
|
|
80
|
+
export function resolveRuntimeSuitProfile(projectRoot, host = 'generic') {
|
|
81
|
+
const raw = loadSuitTemperamentRaw(projectRoot);
|
|
82
|
+
const boot = readSessionBoot(projectRoot);
|
|
83
|
+
if (raw?.profile === 'auto' && boot?.suit_profile) {
|
|
84
|
+
if (host === 'generic' || boot.host == null || boot.host === host) {
|
|
85
|
+
return boot.suit_profile;
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
return resolveSuitProfile(raw, host);
|
|
89
|
+
}
|
|
90
|
+
function concreteSessionId(value) {
|
|
91
|
+
return typeof value === 'string' && value.length > 0 ? value : null;
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* Write station heat when this host/session has no live card yet.
|
|
95
|
+
* OpenClaw has no SessionStart — PreToolUse is the session boundary.
|
|
96
|
+
* Install/init cards without a session id are not a live session.
|
|
97
|
+
*/
|
|
98
|
+
export function maybeHeatHostStation(projectRoot, host, extra = {}) {
|
|
99
|
+
const bootPath = path.join(projectRoot, '.xray', 'state', 'session-boot.json');
|
|
100
|
+
const cardPath = path.join(projectRoot, '.xray', 'state', 'STATION.md');
|
|
101
|
+
let existing = {};
|
|
102
|
+
if (fs.existsSync(bootPath)) {
|
|
103
|
+
try {
|
|
104
|
+
existing = JSON.parse(fs.readFileSync(bootPath, 'utf8'));
|
|
105
|
+
}
|
|
106
|
+
catch {
|
|
107
|
+
existing = {};
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
const sessionId = concreteSessionId(extra.sessionId);
|
|
111
|
+
const existingSessionId = concreteSessionId(existing.sessionId);
|
|
112
|
+
const sameHost = existing.host === host;
|
|
113
|
+
const sameSession = existingSessionId !== null && sessionId !== null && existingSessionId === sessionId;
|
|
114
|
+
if (sameHost && sameSession && fs.existsSync(cardPath)) {
|
|
115
|
+
return bootPath;
|
|
116
|
+
}
|
|
117
|
+
return writeSuitSessionBoot(projectRoot, host, extra);
|
|
118
|
+
}
|
|
119
|
+
/** Merge temperament fields into session-boot.json for the host that just started. */
|
|
120
|
+
export function writeSuitSessionBoot(projectRoot, host, extra = {}) {
|
|
121
|
+
const profile = resolveSuitProfile(loadSuitTemperamentRaw(projectRoot), host);
|
|
122
|
+
const stateDir = path.join(projectRoot, '.xray', 'state');
|
|
123
|
+
fs.mkdirSync(stateDir, { recursive: true });
|
|
124
|
+
const bootPath = path.join(stateDir, 'session-boot.json');
|
|
125
|
+
let existing = {};
|
|
126
|
+
if (fs.existsSync(bootPath)) {
|
|
127
|
+
try {
|
|
128
|
+
existing = JSON.parse(fs.readFileSync(bootPath, 'utf8'));
|
|
129
|
+
}
|
|
130
|
+
catch {
|
|
131
|
+
existing = {};
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
const heat = stationHeat.applyStationHeat(projectRoot, host, extra, existing);
|
|
135
|
+
const payload = {
|
|
136
|
+
...existing,
|
|
137
|
+
...extra,
|
|
138
|
+
...heat,
|
|
139
|
+
host,
|
|
140
|
+
suit_profile: profile,
|
|
141
|
+
ceremony: ceremonyForProfile(profile),
|
|
142
|
+
spawn_plan_mode: spawnPlanModeForProfile(profile),
|
|
143
|
+
timestamp: new Date().toISOString(),
|
|
144
|
+
};
|
|
145
|
+
fs.writeFileSync(bootPath, JSON.stringify(payload, null, 2));
|
|
146
|
+
stationHeat.writeStationMarkdown(projectRoot, payload);
|
|
147
|
+
return bootPath;
|
|
148
|
+
}
|
|
149
|
+
export function ceremonyForProfile(profile) {
|
|
150
|
+
return profile === 'frontier' ? 'lite' : 'full';
|
|
151
|
+
}
|
|
152
|
+
export function spawnPlanModeForProfile(profile) {
|
|
153
|
+
if (profile === 'frontier')
|
|
154
|
+
return 'warn';
|
|
155
|
+
return 'deny';
|
|
156
|
+
}
|
|
157
|
+
export function conferDefaultForProfile(profile) {
|
|
158
|
+
return profile !== 'frontier';
|
|
159
|
+
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Post-checkpoint side effects — meta-inference refresh + repertoire feedback.
|
|
3
|
+
*/
|
|
4
|
+
import type { PersistedLeadDevPlan } from './lead-dev-plan-persistence.js';
|
|
5
|
+
import type { SynthesisCheckpointState } from './synthesis.js';
|
|
6
|
+
export declare function runSynthesisCheckpointSideEffects(projectRoot: string, sessionId: string, plan: PersistedLeadDevPlan | null, completedState: SynthesisCheckpointState): Promise<void>;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Post-checkpoint side effects — meta-inference refresh + repertoire feedback.
|
|
3
|
+
*/
|
|
4
|
+
import { getMemoryRoutingProvider } from '../memory-routing/index.js';
|
|
5
|
+
import { getSynthesisConsultTodos, isSynthesisRealignmentPlan } from './lead-dev-plan-persistence.js';
|
|
6
|
+
export async function runSynthesisCheckpointSideEffects(projectRoot, sessionId, plan, completedState) {
|
|
7
|
+
try {
|
|
8
|
+
const provider = await getMemoryRoutingProvider();
|
|
9
|
+
if (provider.refreshMetaInference) {
|
|
10
|
+
await provider.refreshMetaInference().catch(() => undefined);
|
|
11
|
+
}
|
|
12
|
+
if (provider.ingestFeedback && plan && isSynthesisRealignmentPlan(plan)) {
|
|
13
|
+
const consultTodos = getSynthesisConsultTodos(plan);
|
|
14
|
+
provider.ingestFeedback({
|
|
15
|
+
timestamp: new Date().toISOString(),
|
|
16
|
+
sessionId,
|
|
17
|
+
taskId: `synthesis-checkpoint-${completedState.synthesisCount}`,
|
|
18
|
+
assignedAgent: 'orchestrator',
|
|
19
|
+
memorySignals: ['synthesis', ...consultTodos.map((t) => t.subagent)],
|
|
20
|
+
complexity: 30,
|
|
21
|
+
success: true,
|
|
22
|
+
durationMs: 0,
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
catch {
|
|
27
|
+
// non-blocking — checkpoint already cleared
|
|
28
|
+
}
|
|
29
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Synthesis consult receipt SSOT — outcome-based completion for s.N todos.
|
|
3
|
+
* Receipts live at `.xray/state/synthesis-consult-{todoId}.json`.
|
|
4
|
+
*/
|
|
5
|
+
export type SynthesisConsultVerdict = 'PASS' | 'CONDITIONAL' | 'FAIL';
|
|
6
|
+
export interface SynthesisConsultReceipt {
|
|
7
|
+
sessionId: string;
|
|
8
|
+
subagent: string;
|
|
9
|
+
verdict: SynthesisConsultVerdict;
|
|
10
|
+
topRisks: string[];
|
|
11
|
+
hardeningNote: string;
|
|
12
|
+
todoId?: string;
|
|
13
|
+
recordedAt?: string;
|
|
14
|
+
}
|
|
15
|
+
export declare function isSynthesisConsultTodoId(todoId: string): boolean;
|
|
16
|
+
export declare function synthesisConsultReceiptPath(todoId: string, projectRoot?: string): string;
|
|
17
|
+
export declare function loadSynthesisConsultReceipt(todoId: string, projectRoot?: string): SynthesisConsultReceipt | null;
|
|
18
|
+
export declare function writeSynthesisConsultReceipt(todoId: string, receipt: SynthesisConsultReceipt, projectRoot?: string): string;
|
|
19
|
+
export declare function validateSynthesisConsultReceipt(receipt: SynthesisConsultReceipt, todoId: string, expected?: {
|
|
20
|
+
sessionId?: string | null;
|
|
21
|
+
subagent?: string;
|
|
22
|
+
}): boolean;
|
|
23
|
+
export declare function hasValidSynthesisConsultReceipt(todoId: string, projectRoot?: string, expected?: {
|
|
24
|
+
sessionId?: string | null;
|
|
25
|
+
subagent?: string;
|
|
26
|
+
}): boolean;
|
|
27
|
+
export declare function parseConsultVerdictFromText(text: string): SynthesisConsultVerdict | null;
|
|
28
|
+
export declare function extractTopRisksFromText(text: string, max?: number): string[];
|
|
29
|
+
export declare function extractHardeningNoteFromText(text: string, maxChars?: number): string;
|
|
30
|
+
export declare function coerceToolOutputText(output: unknown): string;
|
|
31
|
+
export declare function buildReceiptFromConsultOutput(todoId: string, subagent: string, sessionId: string, outputText: string): SynthesisConsultReceipt | null;
|
|
32
|
+
export declare function tryRecordSynthesisConsultReceipt(todoId: string, subagent: string, sessionId: string, output: unknown, projectRoot?: string): SynthesisConsultReceipt | null;
|
|
@@ -0,0 +1,171 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Synthesis consult receipt SSOT — outcome-based completion for s.N todos.
|
|
3
|
+
* Receipts live at `.xray/state/synthesis-consult-{todoId}.json`.
|
|
4
|
+
*/
|
|
5
|
+
import * as fs from 'fs';
|
|
6
|
+
import * as path from 'path';
|
|
7
|
+
const CONSULT_TODO_PATTERN = /^s\.\d+$/;
|
|
8
|
+
export function isSynthesisConsultTodoId(todoId) {
|
|
9
|
+
return CONSULT_TODO_PATTERN.test(todoId);
|
|
10
|
+
}
|
|
11
|
+
export function synthesisConsultReceiptPath(todoId, projectRoot = process.cwd()) {
|
|
12
|
+
return path.join(projectRoot, '.xray', 'state', `synthesis-consult-${todoId}.json`);
|
|
13
|
+
}
|
|
14
|
+
export function loadSynthesisConsultReceipt(todoId, projectRoot = process.cwd()) {
|
|
15
|
+
const receiptPath = synthesisConsultReceiptPath(todoId, projectRoot);
|
|
16
|
+
if (!fs.existsSync(receiptPath))
|
|
17
|
+
return null;
|
|
18
|
+
try {
|
|
19
|
+
return JSON.parse(fs.readFileSync(receiptPath, 'utf8'));
|
|
20
|
+
}
|
|
21
|
+
catch {
|
|
22
|
+
return null;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
export function writeSynthesisConsultReceipt(todoId, receipt, projectRoot = process.cwd()) {
|
|
26
|
+
const receiptPath = synthesisConsultReceiptPath(todoId, projectRoot);
|
|
27
|
+
fs.mkdirSync(path.dirname(receiptPath), { recursive: true });
|
|
28
|
+
const payload = {
|
|
29
|
+
...receipt,
|
|
30
|
+
todoId,
|
|
31
|
+
recordedAt: receipt.recordedAt ?? new Date().toISOString(),
|
|
32
|
+
};
|
|
33
|
+
fs.writeFileSync(receiptPath, JSON.stringify(payload, null, 2));
|
|
34
|
+
return receiptPath;
|
|
35
|
+
}
|
|
36
|
+
function normalizeSubagent(agent) {
|
|
37
|
+
const key = agent.toLowerCase().trim();
|
|
38
|
+
const aliases = {
|
|
39
|
+
'bug-triage-specialist': 'bug-triage',
|
|
40
|
+
'code-reviewer': 'code-review',
|
|
41
|
+
};
|
|
42
|
+
return aliases[key] ?? key;
|
|
43
|
+
}
|
|
44
|
+
function subagentsAlign(expected, actual) {
|
|
45
|
+
const e = normalizeSubagent(expected);
|
|
46
|
+
const a = normalizeSubagent(actual);
|
|
47
|
+
return e === a || e.includes(a) || a.includes(e);
|
|
48
|
+
}
|
|
49
|
+
function isValidVerdict(value) {
|
|
50
|
+
return value === 'PASS' || value === 'CONDITIONAL' || value === 'FAIL';
|
|
51
|
+
}
|
|
52
|
+
export function validateSynthesisConsultReceipt(receipt, todoId, expected) {
|
|
53
|
+
if (!receipt.sessionId || !receipt.subagent || !isValidVerdict(receipt.verdict)) {
|
|
54
|
+
return false;
|
|
55
|
+
}
|
|
56
|
+
if (!Array.isArray(receipt.topRisks))
|
|
57
|
+
return false;
|
|
58
|
+
if (typeof receipt.hardeningNote !== 'string')
|
|
59
|
+
return false;
|
|
60
|
+
if (expected?.sessionId && receipt.sessionId !== expected.sessionId)
|
|
61
|
+
return false;
|
|
62
|
+
if (expected?.subagent && !subagentsAlign(expected.subagent, receipt.subagent)) {
|
|
63
|
+
return false;
|
|
64
|
+
}
|
|
65
|
+
if (receipt.todoId && receipt.todoId !== todoId)
|
|
66
|
+
return false;
|
|
67
|
+
return true;
|
|
68
|
+
}
|
|
69
|
+
export function hasValidSynthesisConsultReceipt(todoId, projectRoot = process.cwd(), expected) {
|
|
70
|
+
const receipt = loadSynthesisConsultReceipt(todoId, projectRoot);
|
|
71
|
+
if (!receipt)
|
|
72
|
+
return false;
|
|
73
|
+
return validateSynthesisConsultReceipt(receipt, todoId, expected);
|
|
74
|
+
}
|
|
75
|
+
export function parseConsultVerdictFromText(text) {
|
|
76
|
+
const normalized = text.toUpperCase();
|
|
77
|
+
const decisionMatch = text.match(/\bDECISION:\s*(\w+)/i);
|
|
78
|
+
if (decisionMatch) {
|
|
79
|
+
const decision = decisionMatch[1].toLowerCase();
|
|
80
|
+
if (decision === 'approve' || decision === 'approved' || decision === 'pass') {
|
|
81
|
+
return 'PASS';
|
|
82
|
+
}
|
|
83
|
+
if (decision === 'reject' || decision === 'rejected' || decision === 'fail') {
|
|
84
|
+
return 'FAIL';
|
|
85
|
+
}
|
|
86
|
+
if (decision === 'abstain' ||
|
|
87
|
+
decision === 'needs_revision' ||
|
|
88
|
+
decision === 'conditional' ||
|
|
89
|
+
decision === 'revise') {
|
|
90
|
+
return 'CONDITIONAL';
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
if (/\bCONDITIONAL(\s+PASS)?\b/.test(normalized))
|
|
94
|
+
return 'CONDITIONAL';
|
|
95
|
+
if (/\b(?:PASS|SHIP|APPROVE)\b/.test(normalized))
|
|
96
|
+
return 'PASS';
|
|
97
|
+
if (/\b(?:FAIL|REJECT)\b/.test(normalized))
|
|
98
|
+
return 'FAIL';
|
|
99
|
+
return null;
|
|
100
|
+
}
|
|
101
|
+
export function extractTopRisksFromText(text, max = 5) {
|
|
102
|
+
const risks = [];
|
|
103
|
+
const lines = text.split('\n');
|
|
104
|
+
for (const line of lines) {
|
|
105
|
+
const trimmed = line.trim();
|
|
106
|
+
if (!trimmed)
|
|
107
|
+
continue;
|
|
108
|
+
if (/^(?:[-*•]|\d+\.)\s*(?:risk|top\s*risk)/i.test(trimmed)) {
|
|
109
|
+
risks.push(trimmed.replace(/^[-*•\d.]+\s*/i, '').slice(0, 240));
|
|
110
|
+
}
|
|
111
|
+
else if (/^risk\s*:/i.test(trimmed)) {
|
|
112
|
+
risks.push(trimmed.replace(/^risk\s*:\s*/i, '').slice(0, 240));
|
|
113
|
+
}
|
|
114
|
+
if (risks.length >= max)
|
|
115
|
+
break;
|
|
116
|
+
}
|
|
117
|
+
return risks;
|
|
118
|
+
}
|
|
119
|
+
export function extractHardeningNoteFromText(text, maxChars = 500) {
|
|
120
|
+
const match = text.match(/(?:hardening|recommend(?:ation)?s?)\s*[:\n]([\s\S]{0,800})/i);
|
|
121
|
+
if (match?.[1])
|
|
122
|
+
return match[1].trim().slice(0, maxChars);
|
|
123
|
+
const lines = text.split('\n').filter((l) => l.trim().length > 0);
|
|
124
|
+
return lines.slice(-3).join(' ').slice(0, maxChars);
|
|
125
|
+
}
|
|
126
|
+
export function coerceToolOutputText(output) {
|
|
127
|
+
if (typeof output === 'string')
|
|
128
|
+
return output;
|
|
129
|
+
if (output == null)
|
|
130
|
+
return '';
|
|
131
|
+
if (typeof output === 'object') {
|
|
132
|
+
const obj = output;
|
|
133
|
+
if (typeof obj.text === 'string')
|
|
134
|
+
return obj.text;
|
|
135
|
+
if (typeof obj.content === 'string')
|
|
136
|
+
return obj.content;
|
|
137
|
+
if (typeof obj.message === 'string')
|
|
138
|
+
return obj.message;
|
|
139
|
+
try {
|
|
140
|
+
return JSON.stringify(output);
|
|
141
|
+
}
|
|
142
|
+
catch {
|
|
143
|
+
return String(output);
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
return String(output);
|
|
147
|
+
}
|
|
148
|
+
export function buildReceiptFromConsultOutput(todoId, subagent, sessionId, outputText) {
|
|
149
|
+
const text = outputText.trim();
|
|
150
|
+
if (!text)
|
|
151
|
+
return null;
|
|
152
|
+
const verdict = parseConsultVerdictFromText(text);
|
|
153
|
+
if (!verdict)
|
|
154
|
+
return null;
|
|
155
|
+
return {
|
|
156
|
+
sessionId,
|
|
157
|
+
subagent,
|
|
158
|
+
verdict,
|
|
159
|
+
topRisks: extractTopRisksFromText(text),
|
|
160
|
+
hardeningNote: extractHardeningNoteFromText(text),
|
|
161
|
+
todoId,
|
|
162
|
+
};
|
|
163
|
+
}
|
|
164
|
+
export function tryRecordSynthesisConsultReceipt(todoId, subagent, sessionId, output, projectRoot = process.cwd()) {
|
|
165
|
+
const receipt = buildReceiptFromConsultOutput(todoId, subagent, sessionId, coerceToolOutputText(output));
|
|
166
|
+
if (!receipt || !validateSynthesisConsultReceipt(receipt, todoId, { sessionId, subagent })) {
|
|
167
|
+
return null;
|
|
168
|
+
}
|
|
169
|
+
writeSynthesisConsultReceipt(todoId, receipt, projectRoot);
|
|
170
|
+
return receipt;
|
|
171
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Collocated context for synthesis Aside — delegates to memory routing provider SSOT.
|
|
3
|
+
*/
|
|
4
|
+
export interface SynthesisCollocatedContext {
|
|
5
|
+
primitive: 'synthesis';
|
|
6
|
+
dueReason: string | null;
|
|
7
|
+
collatedText: string;
|
|
8
|
+
matchedSignals?: Array<{
|
|
9
|
+
name: string;
|
|
10
|
+
definition: string;
|
|
11
|
+
priority: string;
|
|
12
|
+
}>;
|
|
13
|
+
codexTermCount?: number;
|
|
14
|
+
codexExcerpt?: string;
|
|
15
|
+
planExcerpt?: string;
|
|
16
|
+
synthesisExcerpt?: string;
|
|
17
|
+
}
|
|
18
|
+
export declare function buildSynthesisCollocatedContext(projectRoot?: string, dueReason?: string | null): Promise<SynthesisCollocatedContext>;
|
|
19
|
+
/** Refresh meta-inference before collation so synthesis.md is current for reflect. */
|
|
20
|
+
export declare function prepareSynthesisCollocatedContext(projectRoot?: string, dueReason?: string | null): Promise<SynthesisCollocatedContext>;
|
|
21
|
+
export declare function isAnalyzeComplexitySuccess(content: Array<{
|
|
22
|
+
type: string;
|
|
23
|
+
text: string;
|
|
24
|
+
}>): boolean;
|
|
25
|
+
export declare function appendSynthesisContextToResponse(content: Array<{
|
|
26
|
+
type: string;
|
|
27
|
+
text: string;
|
|
28
|
+
}>, collatedText: string): Array<{
|
|
29
|
+
type: string;
|
|
30
|
+
text: string;
|
|
31
|
+
}>;
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Collocated context for synthesis Aside — delegates to memory routing provider SSOT.
|
|
3
|
+
*/
|
|
4
|
+
import { getMemoryRoutingProvider } from '../memory-routing/index.js';
|
|
5
|
+
function fallbackContext(dueReason) {
|
|
6
|
+
const lines = [
|
|
7
|
+
'# Synthesis checkpoint',
|
|
8
|
+
dueReason ? `Due: ${dueReason}` : '',
|
|
9
|
+
'(Enable memory_routing with Repertoire for full signal + codex + plan collation)',
|
|
10
|
+
].filter(Boolean);
|
|
11
|
+
return {
|
|
12
|
+
primitive: 'synthesis',
|
|
13
|
+
dueReason,
|
|
14
|
+
collatedText: lines.join('\n\n'),
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
function normalizeProviderContext(raw, dueReason) {
|
|
18
|
+
const collatedText = typeof raw.collatedText === 'string' && raw.collatedText.trim()
|
|
19
|
+
? dueReason && !raw.collatedText.includes('Due:')
|
|
20
|
+
? `# Synthesis checkpoint\n\nDue: ${dueReason}\n\n${raw.collatedText}`
|
|
21
|
+
: raw.collatedText
|
|
22
|
+
: fallbackContext(dueReason).collatedText;
|
|
23
|
+
const matchedSignals = Array.isArray(raw.matchedSignals)
|
|
24
|
+
? raw.matchedSignals
|
|
25
|
+
: undefined;
|
|
26
|
+
return {
|
|
27
|
+
primitive: 'synthesis',
|
|
28
|
+
dueReason,
|
|
29
|
+
collatedText,
|
|
30
|
+
...(matchedSignals ? { matchedSignals } : {}),
|
|
31
|
+
...(typeof raw.codexTermCount === 'number' ? { codexTermCount: raw.codexTermCount } : {}),
|
|
32
|
+
...(typeof raw.codexExcerpt === 'string' ? { codexExcerpt: raw.codexExcerpt } : {}),
|
|
33
|
+
...(typeof raw.planExcerpt === 'string' ? { planExcerpt: raw.planExcerpt } : {}),
|
|
34
|
+
...(typeof raw.synthesisExcerpt === 'string'
|
|
35
|
+
? { synthesisExcerpt: raw.synthesisExcerpt }
|
|
36
|
+
: {}),
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
export async function buildSynthesisCollocatedContext(projectRoot = process.cwd(), dueReason = null) {
|
|
40
|
+
try {
|
|
41
|
+
const provider = await getMemoryRoutingProvider();
|
|
42
|
+
if (provider.isAvailable() && provider.buildSynthesisContext) {
|
|
43
|
+
const raw = provider.buildSynthesisContext({ projectRoot, dueReason });
|
|
44
|
+
if (raw)
|
|
45
|
+
return normalizeProviderContext(raw, dueReason);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
catch {
|
|
49
|
+
// fall through to minimal fallback
|
|
50
|
+
}
|
|
51
|
+
return fallbackContext(dueReason);
|
|
52
|
+
}
|
|
53
|
+
/** Refresh meta-inference before collation so synthesis.md is current for reflect. */
|
|
54
|
+
export async function prepareSynthesisCollocatedContext(projectRoot = process.cwd(), dueReason = null) {
|
|
55
|
+
try {
|
|
56
|
+
const provider = await getMemoryRoutingProvider();
|
|
57
|
+
if (provider.refreshMetaInference) {
|
|
58
|
+
await provider.refreshMetaInference().catch(() => undefined);
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
catch {
|
|
62
|
+
// non-blocking — collation still proceeds
|
|
63
|
+
}
|
|
64
|
+
return buildSynthesisCollocatedContext(projectRoot, dueReason);
|
|
65
|
+
}
|
|
66
|
+
export function isAnalyzeComplexitySuccess(content) {
|
|
67
|
+
const text = content.map((c) => c.text).join('\n');
|
|
68
|
+
return !text.includes('❌') && !/^error handling tool/i.test(text);
|
|
69
|
+
}
|
|
70
|
+
export function appendSynthesisContextToResponse(content, collatedText) {
|
|
71
|
+
if (!collatedText.trim())
|
|
72
|
+
return content;
|
|
73
|
+
const synthesisSection = `
|
|
74
|
+
|
|
75
|
+
---
|
|
76
|
+
|
|
77
|
+
## Synthesis checkpoint — collocated context
|
|
78
|
+
|
|
79
|
+
${collatedText}
|
|
80
|
+
|
|
81
|
+
**Next:** Confer quorum runs automatically via analyze-complexity (researcher → architect-tools → code-review). If confer partial-fails, spawn Task for the next consult todo (s.1–s.3). Checkpoint clears when all consult todos complete.`;
|
|
82
|
+
if (content.length === 0) {
|
|
83
|
+
return [{ type: 'text', text: synthesisSection.trim() }];
|
|
84
|
+
}
|
|
85
|
+
return content.map((block, index) => index === 0 ? { ...block, text: `${block.text}${synthesisSection}` } : block);
|
|
86
|
+
}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Synthesis — periodic reflect & realign checkpoint SSOT.
|
|
3
|
+
* Slice counter + feature flag + `.xray/state/synthesis-checkpoint.json`.
|
|
4
|
+
* PR2 wires pre-tool gate deny via delegation-gate.ts.
|
|
5
|
+
*/
|
|
6
|
+
export declare const SYNTHESIS_PRIMITIVE = "synthesis";
|
|
7
|
+
export type ExecutionSliceKind = 'gate' | 'turn' | 'todo_completed';
|
|
8
|
+
export interface SynthesisConfig {
|
|
9
|
+
enabled: boolean;
|
|
10
|
+
every_n_gates: number;
|
|
11
|
+
every_n_turns: number;
|
|
12
|
+
every_n_todos_completed: number;
|
|
13
|
+
}
|
|
14
|
+
export interface SynthesisSliceCounters {
|
|
15
|
+
gates: number;
|
|
16
|
+
turns: number;
|
|
17
|
+
todosCompleted: number;
|
|
18
|
+
}
|
|
19
|
+
export interface SynthesisCheckpointState {
|
|
20
|
+
version: 1;
|
|
21
|
+
sessionId: string;
|
|
22
|
+
slicesSinceLastSynthesis: SynthesisSliceCounters;
|
|
23
|
+
lifetimeSlices: SynthesisSliceCounters;
|
|
24
|
+
synthesisDue: boolean;
|
|
25
|
+
dueReason: string | null;
|
|
26
|
+
lastSynthesisAt: string | null;
|
|
27
|
+
lastSliceAt: string;
|
|
28
|
+
synthesisCount: number;
|
|
29
|
+
}
|
|
30
|
+
export interface RecordSliceResult {
|
|
31
|
+
state: SynthesisCheckpointState;
|
|
32
|
+
becameDue: boolean;
|
|
33
|
+
dueReason: string | null;
|
|
34
|
+
}
|
|
35
|
+
export interface SynthesisDueEvaluation {
|
|
36
|
+
due: boolean;
|
|
37
|
+
reason: string | null;
|
|
38
|
+
}
|
|
39
|
+
export declare function synthesisCheckpointPath(projectRoot?: string): string;
|
|
40
|
+
export declare function defaultSynthesisConfig(): SynthesisConfig;
|
|
41
|
+
export declare function loadSynthesisConfig(projectRoot?: string): SynthesisConfig;
|
|
42
|
+
export declare function createInitialSynthesisState(sessionId: string): SynthesisCheckpointState;
|
|
43
|
+
export declare function loadSynthesisCheckpointState(projectRoot?: string): SynthesisCheckpointState | null;
|
|
44
|
+
export declare function saveSynthesisCheckpointState(state: SynthesisCheckpointState, projectRoot?: string): string;
|
|
45
|
+
export declare function evaluateSynthesisDue(counters: SynthesisSliceCounters, config: SynthesisConfig): SynthesisDueEvaluation;
|
|
46
|
+
export declare function recordExecutionSlice(kind: ExecutionSliceKind, ctx: {
|
|
47
|
+
projectRoot?: string;
|
|
48
|
+
sessionId: string | null;
|
|
49
|
+
}): RecordSliceResult | null;
|
|
50
|
+
export declare function completeSynthesisCheckpoint(projectRoot?: string, sessionId?: string | null): SynthesisCheckpointState | null;
|
|
51
|
+
export declare function isSynthesisCheckpointDue(projectRoot?: string, sessionId?: string | null): boolean;
|
|
52
|
+
export declare function getSynthesisDueReason(projectRoot?: string, sessionId?: string | null): string | null;
|
|
53
|
+
/** Session bound to an active synthesis checkpoint (for MCP when host omits sessionId). */
|
|
54
|
+
export declare function getSynthesisCheckpointSessionId(projectRoot?: string): string | null;
|