codingbuddy 5.2.0 → 5.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.
- package/dist/src/agent/agent-prompt.builder.js +135 -2
- package/dist/src/agent/agent-stack.loader.d.ts +3 -0
- package/dist/src/agent/agent-stack.loader.js +38 -0
- package/dist/src/agent/agent-stack.schema.d.ts +14 -0
- package/dist/src/agent/agent-stack.schema.js +19 -0
- package/dist/src/agent/agent-stack.service.d.ts +15 -0
- package/dist/src/agent/agent-stack.service.js +112 -0
- package/dist/src/agent/agent.module.js +5 -2
- package/dist/src/agent/agent.service.d.ts +8 -1
- package/dist/src/agent/agent.service.js +126 -40
- package/dist/src/agent/agent.types.d.ts +26 -46
- package/dist/src/agent/council-preset.service.d.ts +6 -0
- package/dist/src/agent/council-preset.service.js +46 -0
- package/dist/src/agent/council-preset.types.d.ts +6 -0
- package/dist/src/agent/council-preset.types.js +3 -0
- package/dist/src/agent/execution-plan.d.ts +8 -0
- package/dist/src/agent/execution-plan.js +73 -0
- package/dist/src/agent/execution-plan.types.d.ts +74 -0
- package/dist/src/agent/execution-plan.types.js +3 -0
- package/dist/src/agent/index.d.ts +8 -0
- package/dist/src/agent/index.js +8 -0
- package/dist/src/agent/teams-capability.service.d.ts +11 -0
- package/dist/src/agent/teams-capability.service.js +74 -0
- package/dist/src/agent/teams-capability.types.d.ts +6 -0
- package/dist/src/agent/teams-capability.types.js +3 -0
- package/dist/src/cli/cli.d.ts +4 -3
- package/dist/src/cli/cli.js +54 -0
- package/dist/src/cli/cli.types.d.ts +4 -0
- package/dist/src/cli/completion/completion.d.ts +16 -0
- package/dist/src/cli/completion/completion.js +276 -0
- package/dist/src/cli/completion/index.d.ts +2 -0
- package/dist/src/cli/completion/index.js +7 -0
- package/dist/src/cli/plugin/create-plugin.command.d.ts +21 -0
- package/dist/src/cli/plugin/create-plugin.command.js +151 -0
- package/dist/src/cli/run-tui.d.ts +1 -0
- package/dist/src/cli/run-tui.js +7 -1
- package/dist/src/collaboration/council-summary.service.d.ts +2 -0
- package/dist/src/collaboration/council-summary.service.js +114 -0
- package/dist/src/collaboration/council-summary.types.d.ts +24 -0
- package/dist/src/collaboration/council-summary.types.js +3 -0
- package/dist/src/collaboration/index.d.ts +2 -0
- package/dist/src/collaboration/index.js +3 -1
- package/dist/src/config/config.schema.d.ts +3 -0
- package/dist/src/config/config.schema.js +5 -0
- package/dist/src/keyword/keyword.types.d.ts +8 -0
- package/dist/src/mcp/handlers/agent.handler.d.ts +6 -1
- package/dist/src/mcp/handlers/agent.handler.js +81 -8
- package/dist/src/mcp/handlers/checklist-context.handler.d.ts +3 -1
- package/dist/src/mcp/handlers/checklist-context.handler.js +17 -2
- package/dist/src/mcp/handlers/discussion.handler.d.ts +3 -0
- package/dist/src/mcp/handlers/discussion.handler.js +22 -1
- package/dist/src/mcp/handlers/mode.handler.d.ts +9 -1
- package/dist/src/mcp/handlers/mode.handler.js +79 -2
- package/dist/src/mcp/handlers/quality-report.handler.d.ts +3 -1
- package/dist/src/mcp/handlers/quality-report.handler.js +20 -2
- package/dist/src/rules/rules.service.d.ts +6 -0
- package/dist/src/rules/rules.service.js +3 -0
- package/dist/src/rules/skill.schema.d.ts +5 -0
- package/dist/src/rules/skill.schema.js +36 -0
- package/dist/src/shared/rules-core.d.ts +5 -0
- package/dist/src/shared/rules-core.js +5 -0
- package/dist/src/shared/version.d.ts +1 -1
- package/dist/src/shared/version.js +1 -1
- package/dist/src/skill/i18n/keywords.js +921 -0
- package/dist/src/skill/skill-recommendation.service.d.ts +1 -0
- package/dist/src/skill/skill-recommendation.service.js +27 -1
- package/dist/src/skill/skill-recommendation.types.d.ts +5 -0
- package/dist/src/tui/events/hud-file-bridge.d.ts +4 -0
- package/dist/src/tui/events/hud-file-bridge.js +36 -0
- package/dist/src/tui-bundle.mjs +45 -3
- package/package.json +7 -2
- package/dist/api/mcp.js.map +0 -1
- package/dist/src/agent/agent-prompt.builder.js.map +0 -1
- package/dist/src/agent/agent-summary.utils.js.map +0 -1
- package/dist/src/agent/agent.module.js.map +0 -1
- package/dist/src/agent/agent.service.js.map +0 -1
- package/dist/src/agent/agent.types.js.map +0 -1
- package/dist/src/agent/index.js.map +0 -1
- package/dist/src/analyzer/analyzer.module.js.map +0 -1
- package/dist/src/analyzer/analyzer.service.js.map +0 -1
- package/dist/src/analyzer/analyzer.types.js.map +0 -1
- package/dist/src/analyzer/code.sampler.js.map +0 -1
- package/dist/src/analyzer/config.analyzer.js.map +0 -1
- package/dist/src/analyzer/conventions.analyzer.js.map +0 -1
- package/dist/src/analyzer/conventions.schemas.js.map +0 -1
- package/dist/src/analyzer/conventions.types.js.map +0 -1
- package/dist/src/analyzer/directory.analyzer.js.map +0 -1
- package/dist/src/analyzer/index.js.map +0 -1
- package/dist/src/analyzer/package.analyzer.js.map +0 -1
- package/dist/src/app.module.js.map +0 -1
- package/dist/src/checklist/checklist.module.js.map +0 -1
- package/dist/src/checklist/checklist.schema.js.map +0 -1
- package/dist/src/checklist/checklist.service.js.map +0 -1
- package/dist/src/checklist/checklist.types.js.map +0 -1
- package/dist/src/checklist/index.js.map +0 -1
- package/dist/src/cli/cli.js.map +0 -1
- package/dist/src/cli/cli.types.js.map +0 -1
- package/dist/src/cli/index.js.map +0 -1
- package/dist/src/cli/init/claude-settings.utils.js.map +0 -1
- package/dist/src/cli/init/config.generator.js.map +0 -1
- package/dist/src/cli/init/config.writer.js.map +0 -1
- package/dist/src/cli/init/gitignore.utils.js.map +0 -1
- package/dist/src/cli/init/index.js.map +0 -1
- package/dist/src/cli/init/init.command.js.map +0 -1
- package/dist/src/cli/init/init.constants.js.map +0 -1
- package/dist/src/cli/init/init.wizard.js.map +0 -1
- package/dist/src/cli/init/prompt.builder.js.map +0 -1
- package/dist/src/cli/init/prompts/agent-prompt.js.map +0 -1
- package/dist/src/cli/init/prompts/architecture-prompt.js.map +0 -1
- package/dist/src/cli/init/prompts/basic-prompt.js.map +0 -1
- package/dist/src/cli/init/prompts/conventions-prompt.js.map +0 -1
- package/dist/src/cli/init/prompts/index.js.map +0 -1
- package/dist/src/cli/init/prompts/language-prompt.js.map +0 -1
- package/dist/src/cli/init/prompts/model-prompt.js.map +0 -1
- package/dist/src/cli/init/prompts/tech-stack-prompt.js.map +0 -1
- package/dist/src/cli/init/prompts/test-strategy-prompt.js.map +0 -1
- package/dist/src/cli/init/summary/index.js.map +0 -1
- package/dist/src/cli/init/summary/summary.prompt.js.map +0 -1
- package/dist/src/cli/init/summary/summary.renderer.js.map +0 -1
- package/dist/src/cli/init/templates/config-renderer.js.map +0 -1
- package/dist/src/cli/init/templates/frameworks/default.template.js.map +0 -1
- package/dist/src/cli/init/templates/frameworks/express.template.js.map +0 -1
- package/dist/src/cli/init/templates/frameworks/index.js.map +0 -1
- package/dist/src/cli/init/templates/frameworks/nestjs.template.js.map +0 -1
- package/dist/src/cli/init/templates/frameworks/nextjs.template.js.map +0 -1
- package/dist/src/cli/init/templates/frameworks/node.template.js.map +0 -1
- package/dist/src/cli/init/templates/frameworks/react.template.js.map +0 -1
- package/dist/src/cli/init/templates/index.js.map +0 -1
- package/dist/src/cli/init/templates/template.renderer.js.map +0 -1
- package/dist/src/cli/init/templates/template.selector.js.map +0 -1
- package/dist/src/cli/init/templates/template.types.js.map +0 -1
- package/dist/src/cli/plugin/install.command.js.map +0 -1
- package/dist/src/cli/plugin/plugins.command.js.map +0 -1
- package/dist/src/cli/plugin/search.command.js.map +0 -1
- package/dist/src/cli/plugin/uninstall.command.js.map +0 -1
- package/dist/src/cli/plugin/update.command.js.map +0 -1
- package/dist/src/cli/restart-tui.js.map +0 -1
- package/dist/src/cli/run-tui.js.map +0 -1
- package/dist/src/cli/utils/console.js.map +0 -1
- package/dist/src/cli/utils/index.js.map +0 -1
- package/dist/src/collaboration/discussion-engine.js.map +0 -1
- package/dist/src/collaboration/index.js.map +0 -1
- package/dist/src/collaboration/opinion-adapter.js.map +0 -1
- package/dist/src/collaboration/terminal-formatter.js.map +0 -1
- package/dist/src/collaboration/types.js.map +0 -1
- package/dist/src/config/config-diff.service.js.map +0 -1
- package/dist/src/config/config.loader.js.map +0 -1
- package/dist/src/config/config.module.js.map +0 -1
- package/dist/src/config/config.schema.js.map +0 -1
- package/dist/src/config/config.service.js.map +0 -1
- package/dist/src/config/context.loader.js.map +0 -1
- package/dist/src/config/ignore.parser.js.map +0 -1
- package/dist/src/config/index.js.map +0 -1
- package/dist/src/context/briefing-loader.service.js.map +0 -1
- package/dist/src/context/briefing.service.js.map +0 -1
- package/dist/src/context/briefing.types.js.map +0 -1
- package/dist/src/context/context-archive.service.js.map +0 -1
- package/dist/src/context/context-archive.types.js.map +0 -1
- package/dist/src/context/context-document.service.js.map +0 -1
- package/dist/src/context/context-document.types.js.map +0 -1
- package/dist/src/context/context-parser.utils.js.map +0 -1
- package/dist/src/context/context-serializer.utils.js.map +0 -1
- package/dist/src/context/context.module.js.map +0 -1
- package/dist/src/context/context.service.js.map +0 -1
- package/dist/src/context/context.types.js.map +0 -1
- package/dist/src/context/index.js.map +0 -1
- package/dist/src/context/intent-patterns.js.map +0 -1
- package/dist/src/custom/custom.module.js.map +0 -1
- package/dist/src/custom/custom.service.js.map +0 -1
- package/dist/src/custom/custom.types.js.map +0 -1
- package/dist/src/custom/index.js.map +0 -1
- package/dist/src/diagnostic/diagnostic-log.service.js.map +0 -1
- package/dist/src/diagnostic/diagnostic.module.js.map +0 -1
- package/dist/src/diagnostic/diagnostic.types.js.map +0 -1
- package/dist/src/diagnostic/index.js.map +0 -1
- package/dist/src/impact/impact-event.service.js.map +0 -1
- package/dist/src/impact/impact-report.service.js.map +0 -1
- package/dist/src/impact/impact.module.js.map +0 -1
- package/dist/src/impact/impact.types.js.map +0 -1
- package/dist/src/impact/index.js.map +0 -1
- package/dist/src/keyword/activation-message.builder.js.map +0 -1
- package/dist/src/keyword/auto-executor.js.map +0 -1
- package/dist/src/keyword/auto-executor.types.js.map +0 -1
- package/dist/src/keyword/auto-formatter.js.map +0 -1
- package/dist/src/keyword/auto-prompt-builder.js.map +0 -1
- package/dist/src/keyword/complexity-classifier.js.map +0 -1
- package/dist/src/keyword/complexity-indicators.js.map +0 -1
- package/dist/src/keyword/diff-analyzer.js.map +0 -1
- package/dist/src/keyword/explicit-pattern-matcher.js.map +0 -1
- package/dist/src/keyword/index.js.map +0 -1
- package/dist/src/keyword/keyword.module.js.map +0 -1
- package/dist/src/keyword/keyword.service.js.map +0 -1
- package/dist/src/keyword/keyword.types.js.map +0 -1
- package/dist/src/keyword/patterns/agent.patterns.js.map +0 -1
- package/dist/src/keyword/patterns/ai-ml.patterns.js.map +0 -1
- package/dist/src/keyword/patterns/backend.patterns.js.map +0 -1
- package/dist/src/keyword/patterns/context.patterns.js.map +0 -1
- package/dist/src/keyword/patterns/data-science.patterns.js.map +0 -1
- package/dist/src/keyword/patterns/data.patterns.js.map +0 -1
- package/dist/src/keyword/patterns/devops.patterns.js.map +0 -1
- package/dist/src/keyword/patterns/explicit.patterns.js.map +0 -1
- package/dist/src/keyword/patterns/frontend.patterns.js.map +0 -1
- package/dist/src/keyword/patterns/index.js.map +0 -1
- package/dist/src/keyword/patterns/intent-pattern-checks.js.map +0 -1
- package/dist/src/keyword/patterns/intent-patterns.types.js.map +0 -1
- package/dist/src/keyword/patterns/meta-discussion.patterns.js.map +0 -1
- package/dist/src/keyword/patterns/mobile.patterns.js.map +0 -1
- package/dist/src/keyword/patterns/platform.patterns.js.map +0 -1
- package/dist/src/keyword/patterns/security.patterns.js.map +0 -1
- package/dist/src/keyword/patterns/systems.patterns.js.map +0 -1
- package/dist/src/keyword/patterns/test.patterns.js.map +0 -1
- package/dist/src/keyword/patterns/tooling.patterns.js.map +0 -1
- package/dist/src/keyword/primary-agent-resolver.js.map +0 -1
- package/dist/src/keyword/rule-filter.js.map +0 -1
- package/dist/src/keyword/srp-template.js.map +0 -1
- package/dist/src/keyword/strategies/__tests__/strategy-test.utils.js.map +0 -1
- package/dist/src/keyword/strategies/act-agent.strategy.js.map +0 -1
- package/dist/src/keyword/strategies/eval-agent.strategy.js.map +0 -1
- package/dist/src/keyword/strategies/index.js.map +0 -1
- package/dist/src/keyword/strategies/plan-agent.strategy.js.map +0 -1
- package/dist/src/keyword/strategies/resolution-strategy.interface.js.map +0 -1
- package/dist/src/keyword/taskmaestro-detector.js.map +0 -1
- package/dist/src/keyword/visual-data.builder.js.map +0 -1
- package/dist/src/main.js.map +0 -1
- package/dist/src/mcp/handlers/abstract-handler.js.map +0 -1
- package/dist/src/mcp/handlers/agent.handler.js.map +0 -1
- package/dist/src/mcp/handlers/base.handler.js.map +0 -1
- package/dist/src/mcp/handlers/briefing.handler.js.map +0 -1
- package/dist/src/mcp/handlers/checklist-context.handler.js.map +0 -1
- package/dist/src/mcp/handlers/config.handler.js.map +0 -1
- package/dist/src/mcp/handlers/context-archive.handler.js.map +0 -1
- package/dist/src/mcp/handlers/context-document.handler.js.map +0 -1
- package/dist/src/mcp/handlers/conventions.handler.js.map +0 -1
- package/dist/src/mcp/handlers/discussion.handler.js.map +0 -1
- package/dist/src/mcp/handlers/discussion.types.js.map +0 -1
- package/dist/src/mcp/handlers/impact.handler.js.map +0 -1
- package/dist/src/mcp/handlers/index.js.map +0 -1
- package/dist/src/mcp/handlers/mode.handler.js.map +0 -1
- package/dist/src/mcp/handlers/pipeline.handler.js.map +0 -1
- package/dist/src/mcp/handlers/plugin-validation.handler.js.map +0 -1
- package/dist/src/mcp/handlers/quality-report.handler.js.map +0 -1
- package/dist/src/mcp/handlers/release-check.handler.js.map +0 -1
- package/dist/src/mcp/handlers/resume.handler.js.map +0 -1
- package/dist/src/mcp/handlers/rule-impact.handler.js.map +0 -1
- package/dist/src/mcp/handlers/rule-insights.handler.js.map +0 -1
- package/dist/src/mcp/handlers/rules.handler.js.map +0 -1
- package/dist/src/mcp/handlers/skill.handler.js.map +0 -1
- package/dist/src/mcp/handlers/tui.handler.js.map +0 -1
- package/dist/src/mcp/mcp-serverless.js.map +0 -1
- package/dist/src/mcp/mcp.controller.js.map +0 -1
- package/dist/src/mcp/mcp.module.js.map +0 -1
- package/dist/src/mcp/mcp.service.js.map +0 -1
- package/dist/src/mcp/response.utils.js.map +0 -1
- package/dist/src/mcp/sse-auth.guard.js.map +0 -1
- package/dist/src/model/index.js.map +0 -1
- package/dist/src/model/model-resolver.service.js.map +0 -1
- package/dist/src/model/model.constants.js.map +0 -1
- package/dist/src/model/model.resolver.js.map +0 -1
- package/dist/src/model/model.types.js.map +0 -1
- package/dist/src/parallel-validation/extract-file-paths.js.map +0 -1
- package/dist/src/parallel-validation/index.js.map +0 -1
- package/dist/src/parallel-validation/overlap-matrix.js.map +0 -1
- package/dist/src/parallel-validation/parallel-validation.handler.js.map +0 -1
- package/dist/src/parallel-validation/parallel-validation.types.js.map +0 -1
- package/dist/src/parallel-validation/wave-splitter.js.map +0 -1
- package/dist/src/pipeline/index.js.map +0 -1
- package/dist/src/pipeline/pipeline.executors.js.map +0 -1
- package/dist/src/pipeline/pipeline.module.js.map +0 -1
- package/dist/src/pipeline/pipeline.service.js.map +0 -1
- package/dist/src/pipeline/pipeline.types.js.map +0 -1
- package/dist/src/plugin/plugin-installer.service.js.map +0 -1
- package/dist/src/plugin/plugin-manifest.schema.js.map +0 -1
- package/dist/src/plugin/plugin.module.js.map +0 -1
- package/dist/src/plugin/plugin.types.js.map +0 -1
- package/dist/src/plugin/registry-client.js.map +0 -1
- package/dist/src/rules/agent.schema.js.map +0 -1
- package/dist/src/rules/rule-event-collector.js.map +0 -1
- package/dist/src/rules/rule-event.types.js.map +0 -1
- package/dist/src/rules/rule-insights.service.js.map +0 -1
- package/dist/src/rules/rule-stats-writer.js.map +0 -1
- package/dist/src/rules/rule-tracker.js.map +0 -1
- package/dist/src/rules/rules-content.utils.js.map +0 -1
- package/dist/src/rules/rules.module.js.map +0 -1
- package/dist/src/rules/rules.service.js.map +0 -1
- package/dist/src/rules/rules.types.js.map +0 -1
- package/dist/src/rules/skill.schema.js.map +0 -1
- package/dist/src/shared/agent.utils.js.map +0 -1
- package/dist/src/shared/async.utils.js.map +0 -1
- package/dist/src/shared/client-type.js.map +0 -1
- package/dist/src/shared/error.utils.js.map +0 -1
- package/dist/src/shared/esm-import.js.map +0 -1
- package/dist/src/shared/event-bridge-reader.js.map +0 -1
- package/dist/src/shared/file.utils.js.map +0 -1
- package/dist/src/shared/filesystem.interface.js.map +0 -1
- package/dist/src/shared/format.utils.js.map +0 -1
- package/dist/src/shared/keyword-core.js.map +0 -1
- package/dist/src/shared/language.service.js.map +0 -1
- package/dist/src/shared/language.types.js.map +0 -1
- package/dist/src/shared/lru-cache.js.map +0 -1
- package/dist/src/shared/node-filesystem.service.js.map +0 -1
- package/dist/src/shared/path.utils.js.map +0 -1
- package/dist/src/shared/pattern-matcher.js.map +0 -1
- package/dist/src/shared/rules-core.js.map +0 -1
- package/dist/src/shared/security.utils.js.map +0 -1
- package/dist/src/shared/slug.utils.js.map +0 -1
- package/dist/src/shared/tui-bundle-path.js.map +0 -1
- package/dist/src/shared/validation.constants.js.map +0 -1
- package/dist/src/shared/verbosity.types.js.map +0 -1
- package/dist/src/shared/version.js.map +0 -1
- package/dist/src/shared/version.utils.js.map +0 -1
- package/dist/src/ship/file-specialist-mapper.js.map +0 -1
- package/dist/src/ship/quality-report.service.js.map +0 -1
- package/dist/src/ship/quality-report.types.js.map +0 -1
- package/dist/src/ship/ship.module.js.map +0 -1
- package/dist/src/skill/i18n/index.js.map +0 -1
- package/dist/src/skill/i18n/keywords.js.map +0 -1
- package/dist/src/skill/i18n/keywords.types.js.map +0 -1
- package/dist/src/skill/index.js.map +0 -1
- package/dist/src/skill/skill-content.utils.js.map +0 -1
- package/dist/src/skill/skill-recommendation.service.js.map +0 -1
- package/dist/src/skill/skill-recommendation.types.js.map +0 -1
- package/dist/src/skill/skill-triggers.js.map +0 -1
- package/dist/src/skill/skill.module.js.map +0 -1
- package/dist/src/state/index.js.map +0 -1
- package/dist/src/state/state.module.js.map +0 -1
- package/dist/src/state/state.service.js.map +0 -1
- package/dist/src/state/state.types.js.map +0 -1
- package/dist/src/tui/__perf__/memory-stability.spec.d.ts +0 -1
- package/dist/src/tui/__perf__/memory-stability.spec.js +0 -105
- package/dist/src/tui/__perf__/memory-stability.spec.js.map +0 -1
- package/dist/src/tui/__perf__/rendering-performance.spec.d.ts +0 -1
- package/dist/src/tui/__perf__/rendering-performance.spec.js +0 -163
- package/dist/src/tui/__perf__/rendering-performance.spec.js.map +0 -1
- package/dist/src/tui/cli-flags.js.map +0 -1
- package/dist/src/tui/components/ActModeScreen.js.map +0 -1
- package/dist/src/tui/components/ActivityVisualizer.js.map +0 -1
- package/dist/src/tui/components/ActivityVisualizer.spec.d.ts +0 -1
- package/dist/src/tui/components/ActivityVisualizer.spec.js +0 -91
- package/dist/src/tui/components/ActivityVisualizer.spec.js.map +0 -1
- package/dist/src/tui/components/AgentDiscussionPanel.js.map +0 -1
- package/dist/src/tui/components/AgentDiscussionPanel.spec.d.ts +0 -1
- package/dist/src/tui/components/AgentDiscussionPanel.spec.js +0 -229
- package/dist/src/tui/components/AgentDiscussionPanel.spec.js.map +0 -1
- package/dist/src/tui/components/ChecklistPanel.js.map +0 -1
- package/dist/src/tui/components/ChecklistPanel.spec.d.ts +0 -1
- package/dist/src/tui/components/ChecklistPanel.spec.js +0 -45
- package/dist/src/tui/components/ChecklistPanel.spec.js.map +0 -1
- package/dist/src/tui/components/ContextSection.js.map +0 -1
- package/dist/src/tui/components/EvalModeScreen.js.map +0 -1
- package/dist/src/tui/components/FlowMap.js.map +0 -1
- package/dist/src/tui/components/FlowMap.spec.d.ts +0 -1
- package/dist/src/tui/components/FlowMap.spec.js +0 -147
- package/dist/src/tui/components/FlowMap.spec.js.map +0 -1
- package/dist/src/tui/components/FocusedAgentPanel.js.map +0 -1
- package/dist/src/tui/components/FocusedAgentPanel.spec.d.ts +0 -1
- package/dist/src/tui/components/FocusedAgentPanel.spec.js +0 -183
- package/dist/src/tui/components/FocusedAgentPanel.spec.js.map +0 -1
- package/dist/src/tui/components/HeaderBar.js.map +0 -1
- package/dist/src/tui/components/HeaderBar.spec.d.ts +0 -1
- package/dist/src/tui/components/HeaderBar.spec.js +0 -96
- package/dist/src/tui/components/HeaderBar.spec.js.map +0 -1
- package/dist/src/tui/components/ModeScreenRouter.js.map +0 -1
- package/dist/src/tui/components/PlanModeScreen.js.map +0 -1
- package/dist/src/tui/components/SessionDashboard.js.map +0 -1
- package/dist/src/tui/components/SessionTabBar.js.map +0 -1
- package/dist/src/tui/components/SessionTabBar.spec.d.ts +0 -1
- package/dist/src/tui/components/SessionTabBar.spec.js +0 -59
- package/dist/src/tui/components/SessionTabBar.spec.js.map +0 -1
- package/dist/src/tui/components/StageHealthBar.js.map +0 -1
- package/dist/src/tui/components/StageHealthBar.spec.d.ts +0 -1
- package/dist/src/tui/components/StageHealthBar.spec.js +0 -99
- package/dist/src/tui/components/StageHealthBar.spec.js.map +0 -1
- package/dist/src/tui/components/act-screen.pure.js.map +0 -1
- package/dist/src/tui/components/activity-visualizer.pure.js.map +0 -1
- package/dist/src/tui/components/agent-discussion-panel.pure.js.map +0 -1
- package/dist/src/tui/components/checklist-panel.pure.js.map +0 -1
- package/dist/src/tui/components/context-section.pure.js.map +0 -1
- package/dist/src/tui/components/eval-screen.pure.js.map +0 -1
- package/dist/src/tui/components/flow-map.pure.js.map +0 -1
- package/dist/src/tui/components/focused-agent.pure.js.map +0 -1
- package/dist/src/tui/components/grid-layout.pure.js.map +0 -1
- package/dist/src/tui/components/index.js.map +0 -1
- package/dist/src/tui/components/live.pure.js.map +0 -1
- package/dist/src/tui/components/plan-screen.pure.js.map +0 -1
- package/dist/src/tui/components/session-dashboard.pure.js.map +0 -1
- package/dist/src/tui/components/session-tab-bar.pure.js.map +0 -1
- package/dist/src/tui/components/stage-health.pure.js.map +0 -1
- package/dist/src/tui/dashboard-app.js.map +0 -1
- package/dist/src/tui/dashboard-app.spec.d.ts +0 -1
- package/dist/src/tui/dashboard-app.spec.js +0 -158
- package/dist/src/tui/dashboard-app.spec.js.map +0 -1
- package/dist/src/tui/dashboard-types.js.map +0 -1
- package/dist/src/tui/ensure-tui-ready.js.map +0 -1
- package/dist/src/tui/eventbus-ui.integration.spec.d.ts +0 -1
- package/dist/src/tui/eventbus-ui.integration.spec.js +0 -577
- package/dist/src/tui/eventbus-ui.integration.spec.js.map +0 -1
- package/dist/src/tui/events/agent-metadata.service.js.map +0 -1
- package/dist/src/tui/events/agent-metadata.types.js.map +0 -1
- package/dist/src/tui/events/event-bus.js.map +0 -1
- package/dist/src/tui/events/events.module.js.map +0 -1
- package/dist/src/tui/events/hud-file-bridge.js.map +0 -1
- package/dist/src/tui/events/index.js.map +0 -1
- package/dist/src/tui/events/parse-agent.js.map +0 -1
- package/dist/src/tui/events/parse-tool-response.js.map +0 -1
- package/dist/src/tui/events/response-event-extractor.js.map +0 -1
- package/dist/src/tui/events/tui-interceptor.js.map +0 -1
- package/dist/src/tui/events/types.js.map +0 -1
- package/dist/src/tui/hooks/index.js.map +0 -1
- package/dist/src/tui/hooks/use-dashboard-state.js.map +0 -1
- package/dist/src/tui/hooks/use-focus-agent.js.map +0 -1
- package/dist/src/tui/hooks/use-multi-session-state.js.map +0 -1
- package/dist/src/tui/hooks/use-terminal-size.js.map +0 -1
- package/dist/src/tui/hooks/use-tick.js.map +0 -1
- package/dist/src/tui/hooks/use-tick.spec.d.ts +0 -1
- package/dist/src/tui/hooks/use-tick.spec.js +0 -70
- package/dist/src/tui/hooks/use-tick.spec.js.map +0 -1
- package/dist/src/tui/index.js.map +0 -1
- package/dist/src/tui/ipc/index.js.map +0 -1
- package/dist/src/tui/ipc/instance-registry.js.map +0 -1
- package/dist/src/tui/ipc/ipc-bridge.js.map +0 -1
- package/dist/src/tui/ipc/ipc-client.js.map +0 -1
- package/dist/src/tui/ipc/ipc-debug.js.map +0 -1
- package/dist/src/tui/ipc/ipc-server.js.map +0 -1
- package/dist/src/tui/ipc/ipc-state-cache.js.map +0 -1
- package/dist/src/tui/ipc/ipc.types.js.map +0 -1
- package/dist/src/tui/ipc/multi-session-manager.js.map +0 -1
- package/dist/src/tui/ipc/shutdown-manager.js.map +0 -1
- package/dist/src/tui/ipc/test-utils.js.map +0 -1
- package/dist/src/tui/ipc/tui-auto-launcher.js.map +0 -1
- package/dist/src/tui/multi-session-app.js.map +0 -1
- package/dist/src/tui/multi-session-app.spec.d.ts +0 -1
- package/dist/src/tui/multi-session-app.spec.js +0 -95
- package/dist/src/tui/multi-session-app.spec.js.map +0 -1
- package/dist/src/tui/testing/tui-test-utils.js.map +0 -1
- package/dist/src/tui/transport-tui.integration.spec.d.ts +0 -1
- package/dist/src/tui/transport-tui.integration.spec.js +0 -189
- package/dist/src/tui/transport-tui.integration.spec.js.map +0 -1
- package/dist/src/tui/tui-config.js.map +0 -1
- package/dist/src/tui/types.js.map +0 -1
- package/dist/src/tui/utils/color-buffer.js.map +0 -1
- package/dist/src/tui/utils/colors.js.map +0 -1
- package/dist/src/tui/utils/display-width.js.map +0 -1
- package/dist/src/tui/utils/edge-router.js.map +0 -1
- package/dist/src/tui/utils/icons.js.map +0 -1
- package/dist/src/tui/utils/index.js.map +0 -1
- package/dist/src/tui/utils/theme.js.map +0 -1
- package/dist/tsconfig.build.tsbuildinfo +0 -1
|
@@ -98,6 +98,11 @@ exports.CodingBuddyConfigSchema = zod_1.z.object({
|
|
|
98
98
|
auto: AutoConfigSchema.optional(),
|
|
99
99
|
release: ReleaseConfigSchema.optional(),
|
|
100
100
|
context: ContextConfigSchema.optional(),
|
|
101
|
+
experimental: zod_1.z
|
|
102
|
+
.object({
|
|
103
|
+
teamsCoordination: zod_1.z.boolean().default(false).optional(),
|
|
104
|
+
})
|
|
105
|
+
.optional(),
|
|
101
106
|
upstreamRepos: zod_1.z.record(zod_1.z.string(), zod_1.z.string()).optional(),
|
|
102
107
|
keyFiles: zod_1.z.array(zod_1.z.string()).optional(),
|
|
103
108
|
avoid: zod_1.z.array(zod_1.z.string()).optional(),
|
|
@@ -1,4 +1,8 @@
|
|
|
1
1
|
import type { DiffAnalysisResult } from './diff-analyzer';
|
|
2
|
+
import type { CouncilPreset } from '../agent/council-preset.types';
|
|
3
|
+
import type { CouncilSummary } from '../collaboration/council-summary.types';
|
|
4
|
+
import type { ExecutionPlan } from '../agent/execution-plan.types';
|
|
5
|
+
import type { TeamsCapabilityStatus } from '../agent/teams-capability.types';
|
|
2
6
|
export declare const KEYWORDS: readonly ["PLAN", "ACT", "EVAL", "AUTO"];
|
|
3
7
|
export type Mode = (typeof KEYWORDS)[number];
|
|
4
8
|
export declare const MODE_AGENTS: readonly ["plan-mode", "act-mode", "eval-mode", "auto-mode"];
|
|
@@ -118,6 +122,10 @@ export interface ParseModeResult {
|
|
|
118
122
|
taskmaestroInstallHint?: string;
|
|
119
123
|
visual?: VisualData;
|
|
120
124
|
diffAnalysis?: DiffAnalysisResult;
|
|
125
|
+
councilPreset?: CouncilPreset;
|
|
126
|
+
councilSummary?: CouncilSummary;
|
|
127
|
+
executionPlan?: ExecutionPlan;
|
|
128
|
+
teamsCapability?: TeamsCapabilityStatus;
|
|
121
129
|
}
|
|
122
130
|
export interface DispatchReadyParams {
|
|
123
131
|
subagent_type: 'general-purpose';
|
|
@@ -2,16 +2,21 @@ import type { ToolDefinition } from './base.handler';
|
|
|
2
2
|
import type { ToolResponse } from '../response.utils';
|
|
3
3
|
import { AbstractHandler } from './abstract-handler';
|
|
4
4
|
import { AgentService } from '../../agent/agent.service';
|
|
5
|
+
import { AgentStackService } from '../../agent/agent-stack.service';
|
|
5
6
|
import { ImpactEventService } from '../../impact';
|
|
7
|
+
import { RuleEventCollector } from '../../rules/rule-event-collector';
|
|
6
8
|
export declare class AgentHandler extends AbstractHandler {
|
|
7
9
|
private readonly agentService;
|
|
10
|
+
private readonly agentStackService;
|
|
8
11
|
private readonly impactEventService;
|
|
9
|
-
|
|
12
|
+
private readonly ruleEventCollector;
|
|
13
|
+
constructor(agentService: AgentService, agentStackService: AgentStackService, impactEventService: ImpactEventService, ruleEventCollector: RuleEventCollector);
|
|
10
14
|
protected getHandledTools(): string[];
|
|
11
15
|
protected handleTool(toolName: string, args: Record<string, unknown> | undefined): Promise<ToolResponse>;
|
|
12
16
|
getToolDefinitions(): ToolDefinition[];
|
|
13
17
|
private handleDispatchAgents;
|
|
14
18
|
private handleGetAgentSystemPrompt;
|
|
15
19
|
private handlePrepareParallelAgents;
|
|
20
|
+
private handleListAgentStacks;
|
|
16
21
|
private extractInlineAgents;
|
|
17
22
|
}
|
|
@@ -13,18 +13,27 @@ exports.AgentHandler = void 0;
|
|
|
13
13
|
const common_1 = require("@nestjs/common");
|
|
14
14
|
const abstract_handler_1 = require("./abstract-handler");
|
|
15
15
|
const agent_service_1 = require("../../agent/agent.service");
|
|
16
|
+
const agent_stack_service_1 = require("../../agent/agent-stack.service");
|
|
16
17
|
const verbosity_types_1 = require("../../shared/verbosity.types");
|
|
17
18
|
const response_utils_1 = require("../response.utils");
|
|
18
19
|
const validation_constants_1 = require("../../shared/validation.constants");
|
|
19
20
|
const impact_1 = require("../../impact");
|
|
21
|
+
const rule_event_collector_1 = require("../../rules/rule-event-collector");
|
|
20
22
|
let AgentHandler = class AgentHandler extends abstract_handler_1.AbstractHandler {
|
|
21
|
-
constructor(agentService, impactEventService) {
|
|
23
|
+
constructor(agentService, agentStackService, impactEventService, ruleEventCollector) {
|
|
22
24
|
super();
|
|
23
25
|
this.agentService = agentService;
|
|
26
|
+
this.agentStackService = agentStackService;
|
|
24
27
|
this.impactEventService = impactEventService;
|
|
28
|
+
this.ruleEventCollector = ruleEventCollector;
|
|
25
29
|
}
|
|
26
30
|
getHandledTools() {
|
|
27
|
-
return [
|
|
31
|
+
return [
|
|
32
|
+
'get_agent_system_prompt',
|
|
33
|
+
'prepare_parallel_agents',
|
|
34
|
+
'dispatch_agents',
|
|
35
|
+
'list_agent_stacks',
|
|
36
|
+
];
|
|
28
37
|
}
|
|
29
38
|
async handleTool(toolName, args) {
|
|
30
39
|
switch (toolName) {
|
|
@@ -34,6 +43,8 @@ let AgentHandler = class AgentHandler extends abstract_handler_1.AbstractHandler
|
|
|
34
43
|
return this.handlePrepareParallelAgents(args);
|
|
35
44
|
case 'dispatch_agents':
|
|
36
45
|
return this.handleDispatchAgents(args);
|
|
46
|
+
case 'list_agent_stacks':
|
|
47
|
+
return this.handleListAgentStacks(args);
|
|
37
48
|
default:
|
|
38
49
|
return (0, response_utils_1.createErrorResponse)(`Unknown tool: ${toolName}`);
|
|
39
50
|
}
|
|
@@ -144,8 +155,12 @@ let AgentHandler = class AgentHandler extends abstract_handler_1.AbstractHandler
|
|
|
144
155
|
},
|
|
145
156
|
executionStrategy: {
|
|
146
157
|
type: 'string',
|
|
147
|
-
enum: ['subagent', 'taskmaestro', 'teams'],
|
|
148
|
-
description: 'Execution strategy for specialist agents. "subagent" (default) uses Claude Code Agent tool with run_in_background. "taskmaestro" returns tmux pane assignments for /taskmaestro skill. "teams" uses Claude Code native teams with shared TaskList coordination.',
|
|
158
|
+
enum: ['subagent', 'taskmaestro', 'teams', 'taskmaestro+teams'],
|
|
159
|
+
description: 'Execution strategy for specialist agents. "subagent" (default) uses Claude Code Agent tool with run_in_background. "taskmaestro" returns tmux pane assignments for /taskmaestro skill. "teams" uses Claude Code native teams with shared TaskList coordination. "taskmaestro+teams" uses TaskMaestro as outer transport with Teams as inner coordination.',
|
|
160
|
+
},
|
|
161
|
+
agentStack: {
|
|
162
|
+
type: 'string',
|
|
163
|
+
description: 'Agent stack name to resolve primary + specialists from a preset (e.g., "api-development"). Overrides primaryAgent and specialists when provided.',
|
|
149
164
|
},
|
|
150
165
|
inlineAgents: {
|
|
151
166
|
type: 'object',
|
|
@@ -171,6 +186,19 @@ let AgentHandler = class AgentHandler extends abstract_handler_1.AbstractHandler
|
|
|
171
186
|
required: ['mode'],
|
|
172
187
|
},
|
|
173
188
|
},
|
|
189
|
+
{
|
|
190
|
+
name: 'list_agent_stacks',
|
|
191
|
+
description: 'List available agent stack presets. Each stack defines a primary agent and specialist combination for common workflows.',
|
|
192
|
+
inputSchema: {
|
|
193
|
+
type: 'object',
|
|
194
|
+
properties: {
|
|
195
|
+
category: {
|
|
196
|
+
type: 'string',
|
|
197
|
+
description: 'Optional category filter (e.g., "development", "review", "data", "security")',
|
|
198
|
+
},
|
|
199
|
+
},
|
|
200
|
+
},
|
|
201
|
+
},
|
|
174
202
|
];
|
|
175
203
|
}
|
|
176
204
|
async handleDispatchAgents(args) {
|
|
@@ -180,13 +208,25 @@ let AgentHandler = class AgentHandler extends abstract_handler_1.AbstractHandler
|
|
|
180
208
|
? 'Missing required parameter: mode (PLAN, ACT, EVAL, or AUTO)'
|
|
181
209
|
: `Invalid mode: ${mode}. Must be PLAN, ACT, EVAL, or AUTO`);
|
|
182
210
|
}
|
|
183
|
-
const
|
|
184
|
-
|
|
211
|
+
const agentStack = (0, validation_constants_1.extractOptionalString)(args, 'agentStack');
|
|
212
|
+
let primaryAgent = (0, validation_constants_1.extractOptionalString)(args, 'primaryAgent');
|
|
213
|
+
let specialists = (0, validation_constants_1.extractStringArray)(args, 'specialists');
|
|
185
214
|
const targetFiles = (0, validation_constants_1.extractStringArray)(args, 'targetFiles');
|
|
186
215
|
const taskDescription = (0, validation_constants_1.extractOptionalString)(args, 'taskDescription');
|
|
187
|
-
|
|
216
|
+
let includeParallel = args?.includeParallel === true;
|
|
188
217
|
const executionStrategy = args?.executionStrategy ?? 'subagent';
|
|
189
218
|
const inlineAgents = this.extractInlineAgents(args);
|
|
219
|
+
if (agentStack) {
|
|
220
|
+
try {
|
|
221
|
+
const stack = await this.agentStackService.resolveStack(agentStack);
|
|
222
|
+
primaryAgent = primaryAgent ?? stack.primary_agent;
|
|
223
|
+
specialists = specialists?.length ? specialists : stack.specialist_agents;
|
|
224
|
+
includeParallel = includeParallel || stack.specialist_agents.length > 0;
|
|
225
|
+
}
|
|
226
|
+
catch (error) {
|
|
227
|
+
return (0, response_utils_1.createErrorResponse)(`Failed to resolve agent stack: ${error instanceof Error ? error.message : 'Unknown error'}`);
|
|
228
|
+
}
|
|
229
|
+
}
|
|
190
230
|
try {
|
|
191
231
|
const result = await this.agentService.dispatchAgents({
|
|
192
232
|
mode: mode,
|
|
@@ -218,6 +258,27 @@ let AgentHandler = class AgentHandler extends abstract_handler_1.AbstractHandler
|
|
|
218
258
|
}
|
|
219
259
|
catch {
|
|
220
260
|
}
|
|
261
|
+
try {
|
|
262
|
+
const timestamp = new Date().toISOString();
|
|
263
|
+
if (primaryAgent) {
|
|
264
|
+
this.ruleEventCollector.record({
|
|
265
|
+
type: 'specialist_dispatched',
|
|
266
|
+
timestamp,
|
|
267
|
+
domain: primaryAgent,
|
|
268
|
+
});
|
|
269
|
+
}
|
|
270
|
+
if (result.parallelAgents) {
|
|
271
|
+
for (const agent of result.parallelAgents) {
|
|
272
|
+
this.ruleEventCollector.record({
|
|
273
|
+
type: 'specialist_dispatched',
|
|
274
|
+
timestamp,
|
|
275
|
+
domain: agent.name,
|
|
276
|
+
});
|
|
277
|
+
}
|
|
278
|
+
}
|
|
279
|
+
}
|
|
280
|
+
catch {
|
|
281
|
+
}
|
|
221
282
|
return (0, response_utils_1.createJsonResponse)(result);
|
|
222
283
|
}
|
|
223
284
|
catch (error) {
|
|
@@ -283,6 +344,16 @@ let AgentHandler = class AgentHandler extends abstract_handler_1.AbstractHandler
|
|
|
283
344
|
return (0, response_utils_1.createErrorResponse)(`Failed to prepare parallel agents: ${error instanceof Error ? error.message : 'Unknown error'}`);
|
|
284
345
|
}
|
|
285
346
|
}
|
|
347
|
+
async handleListAgentStacks(args) {
|
|
348
|
+
const category = (0, validation_constants_1.extractOptionalString)(args, 'category');
|
|
349
|
+
try {
|
|
350
|
+
const stacks = await this.agentStackService.listStacks(category);
|
|
351
|
+
return (0, response_utils_1.createJsonResponse)({ stacks });
|
|
352
|
+
}
|
|
353
|
+
catch (error) {
|
|
354
|
+
return (0, response_utils_1.createErrorResponse)(`Failed to list agent stacks: ${error instanceof Error ? error.message : 'Unknown error'}`);
|
|
355
|
+
}
|
|
356
|
+
}
|
|
286
357
|
extractInlineAgents(args) {
|
|
287
358
|
const raw = args?.inlineAgents;
|
|
288
359
|
if (!(0, validation_constants_1.isRecordObject)(raw))
|
|
@@ -294,6 +365,8 @@ exports.AgentHandler = AgentHandler;
|
|
|
294
365
|
exports.AgentHandler = AgentHandler = __decorate([
|
|
295
366
|
(0, common_1.Injectable)(),
|
|
296
367
|
__metadata("design:paramtypes", [agent_service_1.AgentService,
|
|
297
|
-
|
|
368
|
+
agent_stack_service_1.AgentStackService,
|
|
369
|
+
impact_1.ImpactEventService,
|
|
370
|
+
rule_event_collector_1.RuleEventCollector])
|
|
298
371
|
], AgentHandler);
|
|
299
372
|
//# sourceMappingURL=agent.handler.js.map
|
|
@@ -4,11 +4,13 @@ import { AbstractHandler } from './abstract-handler';
|
|
|
4
4
|
import { ChecklistService } from '../../checklist/checklist.service';
|
|
5
5
|
import { ContextService } from '../../context/context.service';
|
|
6
6
|
import { ImpactEventService } from '../../impact';
|
|
7
|
+
import { RuleEventCollector } from '../../rules/rule-event-collector';
|
|
7
8
|
export declare class ChecklistContextHandler extends AbstractHandler {
|
|
8
9
|
private readonly checklistService;
|
|
9
10
|
private readonly contextService;
|
|
10
11
|
private readonly impactEventService;
|
|
11
|
-
|
|
12
|
+
private readonly ruleEventCollector;
|
|
13
|
+
constructor(checklistService: ChecklistService, contextService: ContextService, impactEventService: ImpactEventService, ruleEventCollector: RuleEventCollector);
|
|
12
14
|
protected getHandledTools(): string[];
|
|
13
15
|
protected handleTool(toolName: string, args: Record<string, unknown> | undefined): Promise<ToolResponse>;
|
|
14
16
|
getToolDefinitions(): ToolDefinition[];
|
|
@@ -17,6 +17,7 @@ const context_service_1 = require("../../context/context.service");
|
|
|
17
17
|
const response_utils_1 = require("../response.utils");
|
|
18
18
|
const validation_constants_1 = require("../../shared/validation.constants");
|
|
19
19
|
const impact_1 = require("../../impact");
|
|
20
|
+
const rule_event_collector_1 = require("../../rules/rule-event-collector");
|
|
20
21
|
const VALID_CHECKLIST_DOMAINS = [
|
|
21
22
|
'security',
|
|
22
23
|
'accessibility',
|
|
@@ -26,11 +27,12 @@ const VALID_CHECKLIST_DOMAINS = [
|
|
|
26
27
|
'seo',
|
|
27
28
|
];
|
|
28
29
|
let ChecklistContextHandler = class ChecklistContextHandler extends abstract_handler_1.AbstractHandler {
|
|
29
|
-
constructor(checklistService, contextService, impactEventService) {
|
|
30
|
+
constructor(checklistService, contextService, impactEventService, ruleEventCollector) {
|
|
30
31
|
super();
|
|
31
32
|
this.checklistService = checklistService;
|
|
32
33
|
this.contextService = contextService;
|
|
33
34
|
this.impactEventService = impactEventService;
|
|
35
|
+
this.ruleEventCollector = ruleEventCollector;
|
|
34
36
|
}
|
|
35
37
|
getHandledTools() {
|
|
36
38
|
return ['generate_checklist', 'analyze_task'];
|
|
@@ -120,6 +122,18 @@ let ChecklistContextHandler = class ChecklistContextHandler extends abstract_han
|
|
|
120
122
|
}
|
|
121
123
|
catch {
|
|
122
124
|
}
|
|
125
|
+
try {
|
|
126
|
+
const timestamp = new Date().toISOString();
|
|
127
|
+
for (const domain of domains ?? []) {
|
|
128
|
+
this.ruleEventCollector.record({
|
|
129
|
+
type: 'checklist_generated',
|
|
130
|
+
timestamp,
|
|
131
|
+
domain,
|
|
132
|
+
});
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
catch {
|
|
136
|
+
}
|
|
123
137
|
return (0, response_utils_1.createJsonResponse)(result);
|
|
124
138
|
}
|
|
125
139
|
catch (error) {
|
|
@@ -152,6 +166,7 @@ exports.ChecklistContextHandler = ChecklistContextHandler = __decorate([
|
|
|
152
166
|
(0, common_1.Injectable)(),
|
|
153
167
|
__metadata("design:paramtypes", [checklist_service_1.ChecklistService,
|
|
154
168
|
context_service_1.ContextService,
|
|
155
|
-
impact_1.ImpactEventService
|
|
169
|
+
impact_1.ImpactEventService,
|
|
170
|
+
rule_event_collector_1.RuleEventCollector])
|
|
156
171
|
], ChecklistContextHandler);
|
|
157
172
|
//# sourceMappingURL=checklist-context.handler.js.map
|
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
import type { ToolDefinition } from './base.handler';
|
|
2
2
|
import type { ToolResponse } from '../response.utils';
|
|
3
3
|
import { AbstractHandler } from './abstract-handler';
|
|
4
|
+
import { RuleEventCollector } from '../../rules/rule-event-collector';
|
|
4
5
|
export declare class DiscussionHandler extends AbstractHandler {
|
|
6
|
+
private readonly ruleEventCollector;
|
|
7
|
+
constructor(ruleEventCollector: RuleEventCollector);
|
|
5
8
|
protected getHandledTools(): string[];
|
|
6
9
|
protected handleTool(toolName: string, args: Record<string, unknown> | undefined): Promise<ToolResponse>;
|
|
7
10
|
getToolDefinitions(): ToolDefinition[];
|
|
@@ -5,6 +5,9 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
5
5
|
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
6
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
7
|
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
8
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
12
|
exports.DiscussionHandler = void 0;
|
|
10
13
|
const common_1 = require("@nestjs/common");
|
|
@@ -12,6 +15,7 @@ const abstract_handler_1 = require("./abstract-handler");
|
|
|
12
15
|
const response_utils_1 = require("../response.utils");
|
|
13
16
|
const validation_constants_1 = require("../../shared/validation.constants");
|
|
14
17
|
const discussion_types_1 = require("./discussion.types");
|
|
18
|
+
const rule_event_collector_1 = require("../../rules/rule-event-collector");
|
|
15
19
|
const SPECIALIST_DOMAINS = {
|
|
16
20
|
'security-specialist': { domain: 'security', defaultSeverity: 'high' },
|
|
17
21
|
'performance-specialist': { domain: 'performance', defaultSeverity: 'medium' },
|
|
@@ -24,6 +28,10 @@ const SPECIALIST_DOMAINS = {
|
|
|
24
28
|
};
|
|
25
29
|
const SEVERITY_ORDER = ['info', 'low', 'medium', 'high', 'critical'];
|
|
26
30
|
let DiscussionHandler = class DiscussionHandler extends abstract_handler_1.AbstractHandler {
|
|
31
|
+
constructor(ruleEventCollector) {
|
|
32
|
+
super();
|
|
33
|
+
this.ruleEventCollector = ruleEventCollector;
|
|
34
|
+
}
|
|
27
35
|
getHandledTools() {
|
|
28
36
|
return ['agent_discussion'];
|
|
29
37
|
}
|
|
@@ -87,6 +95,18 @@ let DiscussionHandler = class DiscussionHandler extends abstract_handler_1.Abstr
|
|
|
87
95
|
summary,
|
|
88
96
|
maxSeverity,
|
|
89
97
|
};
|
|
98
|
+
try {
|
|
99
|
+
const timestamp = new Date().toISOString();
|
|
100
|
+
for (const specialist of specialists) {
|
|
101
|
+
this.ruleEventCollector.record({
|
|
102
|
+
type: 'specialist_dispatched',
|
|
103
|
+
timestamp,
|
|
104
|
+
domain: specialist,
|
|
105
|
+
});
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
catch {
|
|
109
|
+
}
|
|
90
110
|
return (0, response_utils_1.createJsonResponse)(result);
|
|
91
111
|
}
|
|
92
112
|
collectOpinions(topic, specialists, context) {
|
|
@@ -163,6 +183,7 @@ let DiscussionHandler = class DiscussionHandler extends abstract_handler_1.Abstr
|
|
|
163
183
|
};
|
|
164
184
|
exports.DiscussionHandler = DiscussionHandler;
|
|
165
185
|
exports.DiscussionHandler = DiscussionHandler = __decorate([
|
|
166
|
-
(0, common_1.Injectable)()
|
|
186
|
+
(0, common_1.Injectable)(),
|
|
187
|
+
__metadata("design:paramtypes", [rule_event_collector_1.RuleEventCollector])
|
|
167
188
|
], DiscussionHandler);
|
|
168
189
|
//# sourceMappingURL=discussion.handler.js.map
|
|
@@ -9,7 +9,10 @@ import { StateService } from '../../state/state.service';
|
|
|
9
9
|
import { ContextDocumentService } from '../../context/context-document.service';
|
|
10
10
|
import { DiagnosticLogService } from '../../diagnostic/diagnostic-log.service';
|
|
11
11
|
import { AgentService } from '../../agent/agent.service';
|
|
12
|
+
import { CouncilPresetService } from '../../agent/council-preset.service';
|
|
13
|
+
import { TeamsCapabilityService } from '../../agent/teams-capability.service';
|
|
12
14
|
import { ImpactEventService } from '../../impact';
|
|
15
|
+
import { RuleEventCollector } from '../../rules/rule-event-collector';
|
|
13
16
|
export declare class ModeHandler extends AbstractHandler {
|
|
14
17
|
private readonly keywordService;
|
|
15
18
|
private readonly configService;
|
|
@@ -19,9 +22,12 @@ export declare class ModeHandler extends AbstractHandler {
|
|
|
19
22
|
private readonly contextDocService;
|
|
20
23
|
private readonly diagnosticLogService;
|
|
21
24
|
private readonly agentService;
|
|
25
|
+
private readonly councilPresetService;
|
|
26
|
+
private readonly teamsCapabilityService;
|
|
22
27
|
private readonly impactEventService;
|
|
28
|
+
private readonly ruleEventCollector;
|
|
23
29
|
private readonly logger;
|
|
24
|
-
constructor(keywordService: KeywordService, configService: ConfigService, languageService: LanguageService, modelResolverService: ModelResolverService, stateService: StateService, contextDocService: ContextDocumentService, diagnosticLogService: DiagnosticLogService, agentService: AgentService, impactEventService: ImpactEventService);
|
|
30
|
+
constructor(keywordService: KeywordService, configService: ConfigService, languageService: LanguageService, modelResolverService: ModelResolverService, stateService: StateService, contextDocService: ContextDocumentService, diagnosticLogService: DiagnosticLogService, agentService: AgentService, councilPresetService: CouncilPresetService, teamsCapabilityService: TeamsCapabilityService, impactEventService: ImpactEventService, ruleEventCollector: RuleEventCollector);
|
|
25
31
|
protected getHandledTools(): string[];
|
|
26
32
|
getToolDefinitions(): ToolDefinition[];
|
|
27
33
|
protected handleTool(toolName: string, args: Record<string, unknown> | undefined): Promise<ToolResponse>;
|
|
@@ -32,5 +38,7 @@ export declare class ModeHandler extends AbstractHandler {
|
|
|
32
38
|
private buildPlanReviewGate;
|
|
33
39
|
private buildAgentDiscussion;
|
|
34
40
|
private buildVisual;
|
|
41
|
+
private resolveTeamsCapability;
|
|
42
|
+
private buildExecutionPlan;
|
|
35
43
|
private persistModeState;
|
|
36
44
|
}
|
|
@@ -33,10 +33,14 @@ const keyword_types_2 = require("../../keyword/keyword.types");
|
|
|
33
33
|
const visual_data_builder_1 = require("../../keyword/visual-data.builder");
|
|
34
34
|
const verbosity_types_1 = require("../../shared/verbosity.types");
|
|
35
35
|
const agent_service_1 = require("../../agent/agent.service");
|
|
36
|
+
const council_preset_service_1 = require("../../agent/council-preset.service");
|
|
37
|
+
const teams_capability_service_1 = require("../../agent/teams-capability.service");
|
|
38
|
+
const execution_plan_1 = require("../../agent/execution-plan");
|
|
36
39
|
const impact_1 = require("../../impact");
|
|
40
|
+
const rule_event_collector_1 = require("../../rules/rule-event-collector");
|
|
37
41
|
const CONTEXT_TITLE_MAX_LENGTH = 50;
|
|
38
42
|
let ModeHandler = ModeHandler_1 = class ModeHandler extends abstract_handler_1.AbstractHandler {
|
|
39
|
-
constructor(keywordService, configService, languageService, modelResolverService, stateService, contextDocService, diagnosticLogService, agentService, impactEventService) {
|
|
43
|
+
constructor(keywordService, configService, languageService, modelResolverService, stateService, contextDocService, diagnosticLogService, agentService, councilPresetService, teamsCapabilityService, impactEventService, ruleEventCollector) {
|
|
40
44
|
super();
|
|
41
45
|
this.keywordService = keywordService;
|
|
42
46
|
this.configService = configService;
|
|
@@ -46,7 +50,10 @@ let ModeHandler = ModeHandler_1 = class ModeHandler extends abstract_handler_1.A
|
|
|
46
50
|
this.contextDocService = contextDocService;
|
|
47
51
|
this.diagnosticLogService = diagnosticLogService;
|
|
48
52
|
this.agentService = agentService;
|
|
53
|
+
this.councilPresetService = councilPresetService;
|
|
54
|
+
this.teamsCapabilityService = teamsCapabilityService;
|
|
49
55
|
this.impactEventService = impactEventService;
|
|
56
|
+
this.ruleEventCollector = ruleEventCollector;
|
|
50
57
|
this.logger = new common_1.Logger(ModeHandler_1.name);
|
|
51
58
|
}
|
|
52
59
|
getHandledTools() {
|
|
@@ -143,6 +150,9 @@ let ModeHandler = ModeHandler_1 = class ModeHandler extends abstract_handler_1.A
|
|
|
143
150
|
const deepThinkingInstructions = this.buildDeepThinkingInstructions(result.mode);
|
|
144
151
|
const planReviewGate = this.buildPlanReviewGate(result.mode, settings?.ai?.planReviewGate);
|
|
145
152
|
const agentDiscussion = this.buildAgentDiscussion(result.mode, settings?.ai?.agentDiscussion);
|
|
153
|
+
const councilPreset = this.councilPresetService.resolvePreset(result.mode) ?? undefined;
|
|
154
|
+
const teamsCapability = await this.resolveTeamsCapability();
|
|
155
|
+
const executionPlan = this.buildExecutionPlan(dispatchReady, teamsCapability);
|
|
146
156
|
const visual = await this.buildVisual(result.mode, result.delegates_to, result.parallelAgentsRecommendation?.specialists, settings?.eco);
|
|
147
157
|
const response = (0, response_utils_1.createJsonResponse)({
|
|
148
158
|
...result,
|
|
@@ -154,6 +164,9 @@ let ModeHandler = ModeHandler_1 = class ModeHandler extends abstract_handler_1.A
|
|
|
154
164
|
...(planReviewGate && { planReviewGate }),
|
|
155
165
|
...(agentDiscussion && { agentDiscussion }),
|
|
156
166
|
...(visual && { visual }),
|
|
167
|
+
...(councilPreset && { councilPreset }),
|
|
168
|
+
...(executionPlan && { executionPlan: (0, execution_plan_1.serializeExecutionPlan)(executionPlan) }),
|
|
169
|
+
...(teamsCapability && { teamsCapability }),
|
|
157
170
|
...contextResult,
|
|
158
171
|
...(projectRootWarning && { projectRootWarning }),
|
|
159
172
|
});
|
|
@@ -165,6 +178,16 @@ let ModeHandler = ModeHandler_1 = class ModeHandler extends abstract_handler_1.A
|
|
|
165
178
|
}
|
|
166
179
|
catch {
|
|
167
180
|
}
|
|
181
|
+
try {
|
|
182
|
+
this.ruleEventCollector.record({
|
|
183
|
+
type: 'mode_activated',
|
|
184
|
+
timestamp: new Date().toISOString(),
|
|
185
|
+
rule: result.mode,
|
|
186
|
+
details: { agent: result.agent },
|
|
187
|
+
});
|
|
188
|
+
}
|
|
189
|
+
catch {
|
|
190
|
+
}
|
|
168
191
|
return response;
|
|
169
192
|
}
|
|
170
193
|
catch (error) {
|
|
@@ -353,6 +376,57 @@ let ModeHandler = ModeHandler_1 = class ModeHandler extends abstract_handler_1.A
|
|
|
353
376
|
return undefined;
|
|
354
377
|
}
|
|
355
378
|
}
|
|
379
|
+
async resolveTeamsCapability() {
|
|
380
|
+
try {
|
|
381
|
+
return await this.teamsCapabilityService.getStatus();
|
|
382
|
+
}
|
|
383
|
+
catch (error) {
|
|
384
|
+
this.logger.warn(`Failed to resolve Teams capability: ${error instanceof Error ? error.message : 'Unknown error'}`);
|
|
385
|
+
return undefined;
|
|
386
|
+
}
|
|
387
|
+
}
|
|
388
|
+
buildExecutionPlan(dispatchReady, teamsCapability) {
|
|
389
|
+
if (!dispatchReady) {
|
|
390
|
+
return undefined;
|
|
391
|
+
}
|
|
392
|
+
const agents = [];
|
|
393
|
+
if (dispatchReady.primaryAgent) {
|
|
394
|
+
agents.push({
|
|
395
|
+
name: dispatchReady.primaryAgent.name,
|
|
396
|
+
displayName: dispatchReady.primaryAgent.displayName,
|
|
397
|
+
description: dispatchReady.primaryAgent.description,
|
|
398
|
+
dispatchParams: dispatchReady.primaryAgent.dispatchParams,
|
|
399
|
+
});
|
|
400
|
+
}
|
|
401
|
+
if (dispatchReady.parallelAgents?.length) {
|
|
402
|
+
for (const agent of dispatchReady.parallelAgents) {
|
|
403
|
+
agents.push({
|
|
404
|
+
name: agent.name,
|
|
405
|
+
displayName: agent.displayName,
|
|
406
|
+
description: agent.description,
|
|
407
|
+
dispatchParams: agent.dispatchParams,
|
|
408
|
+
});
|
|
409
|
+
}
|
|
410
|
+
}
|
|
411
|
+
if (agents.length === 0) {
|
|
412
|
+
return undefined;
|
|
413
|
+
}
|
|
414
|
+
const outer = (0, execution_plan_1.subagentLayer)(agents);
|
|
415
|
+
if (teamsCapability?.available) {
|
|
416
|
+
const inner = (0, execution_plan_1.teamsLayer)({
|
|
417
|
+
team_name: 'auto',
|
|
418
|
+
description: 'Auto-generated Teams coordination layer',
|
|
419
|
+
teammates: agents.map(a => ({
|
|
420
|
+
name: a.name,
|
|
421
|
+
subagent_type: 'general-purpose',
|
|
422
|
+
team_name: 'auto',
|
|
423
|
+
prompt: a.description,
|
|
424
|
+
})),
|
|
425
|
+
});
|
|
426
|
+
return (0, execution_plan_1.buildNestedPlan)(outer, inner);
|
|
427
|
+
}
|
|
428
|
+
return (0, execution_plan_1.buildSimplePlan)(outer);
|
|
429
|
+
}
|
|
356
430
|
async persistModeState(mode) {
|
|
357
431
|
try {
|
|
358
432
|
await this.stateService.updateLastMode(mode);
|
|
@@ -375,6 +449,9 @@ exports.ModeHandler = ModeHandler = ModeHandler_1 = __decorate([
|
|
|
375
449
|
context_document_service_1.ContextDocumentService,
|
|
376
450
|
diagnostic_log_service_1.DiagnosticLogService,
|
|
377
451
|
agent_service_1.AgentService,
|
|
378
|
-
|
|
452
|
+
council_preset_service_1.CouncilPresetService,
|
|
453
|
+
teams_capability_service_1.TeamsCapabilityService,
|
|
454
|
+
impact_1.ImpactEventService,
|
|
455
|
+
rule_event_collector_1.RuleEventCollector])
|
|
379
456
|
], ModeHandler);
|
|
380
457
|
//# sourceMappingURL=mode.handler.js.map
|
|
@@ -2,10 +2,12 @@ import type { ToolDefinition } from './base.handler';
|
|
|
2
2
|
import type { ToolResponse } from '../response.utils';
|
|
3
3
|
import { AbstractHandler } from './abstract-handler';
|
|
4
4
|
import { QualityReportService } from '../../ship/quality-report.service';
|
|
5
|
+
import { RuleEventCollector } from '../../rules/rule-event-collector';
|
|
5
6
|
export declare class QualityReportHandler extends AbstractHandler {
|
|
6
7
|
private readonly qualityReportService;
|
|
8
|
+
private readonly ruleEventCollector;
|
|
7
9
|
private readonly logger;
|
|
8
|
-
constructor(qualityReportService: QualityReportService);
|
|
10
|
+
constructor(qualityReportService: QualityReportService, ruleEventCollector: RuleEventCollector);
|
|
9
11
|
protected getHandledTools(): string[];
|
|
10
12
|
protected handleTool(_toolName: string, args: Record<string, unknown> | undefined): Promise<ToolResponse>;
|
|
11
13
|
getToolDefinitions(): ToolDefinition[];
|
|
@@ -16,10 +16,12 @@ const abstract_handler_1 = require("./abstract-handler");
|
|
|
16
16
|
const quality_report_service_1 = require("../../ship/quality-report.service");
|
|
17
17
|
const response_utils_1 = require("../response.utils");
|
|
18
18
|
const validation_constants_1 = require("../../shared/validation.constants");
|
|
19
|
+
const rule_event_collector_1 = require("../../rules/rule-event-collector");
|
|
19
20
|
let QualityReportHandler = QualityReportHandler_1 = class QualityReportHandler extends abstract_handler_1.AbstractHandler {
|
|
20
|
-
constructor(qualityReportService) {
|
|
21
|
+
constructor(qualityReportService, ruleEventCollector) {
|
|
21
22
|
super();
|
|
22
23
|
this.qualityReportService = qualityReportService;
|
|
24
|
+
this.ruleEventCollector = ruleEventCollector;
|
|
23
25
|
this.logger = new common_1.Logger(QualityReportHandler_1.name);
|
|
24
26
|
}
|
|
25
27
|
getHandledTools() {
|
|
@@ -36,6 +38,21 @@ let QualityReportHandler = QualityReportHandler_1 = class QualityReportHandler e
|
|
|
36
38
|
changedFiles,
|
|
37
39
|
timeout,
|
|
38
40
|
});
|
|
41
|
+
try {
|
|
42
|
+
const domains = result.domains;
|
|
43
|
+
if (domains?.length) {
|
|
44
|
+
const timestamp = new Date().toISOString();
|
|
45
|
+
for (const d of domains) {
|
|
46
|
+
this.ruleEventCollector.record({
|
|
47
|
+
type: 'specialist_dispatched',
|
|
48
|
+
timestamp,
|
|
49
|
+
domain: d.domain,
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
catch {
|
|
55
|
+
}
|
|
39
56
|
return (0, response_utils_1.createJsonResponse)(result);
|
|
40
57
|
}
|
|
41
58
|
catch (error) {
|
|
@@ -70,6 +87,7 @@ let QualityReportHandler = QualityReportHandler_1 = class QualityReportHandler e
|
|
|
70
87
|
exports.QualityReportHandler = QualityReportHandler;
|
|
71
88
|
exports.QualityReportHandler = QualityReportHandler = QualityReportHandler_1 = __decorate([
|
|
72
89
|
(0, common_1.Injectable)(),
|
|
73
|
-
__metadata("design:paramtypes", [quality_report_service_1.QualityReportService
|
|
90
|
+
__metadata("design:paramtypes", [quality_report_service_1.QualityReportService,
|
|
91
|
+
rule_event_collector_1.RuleEventCollector])
|
|
74
92
|
], QualityReportHandler);
|
|
75
93
|
//# sourceMappingURL=quality-report.handler.js.map
|
|
@@ -11,6 +11,7 @@ export declare class RulesService {
|
|
|
11
11
|
getRuleContent(relativePath: string): Promise<string>;
|
|
12
12
|
listAgents(): Promise<string[]>;
|
|
13
13
|
private sortAgentsByPriority;
|
|
14
|
+
getRulesDir(): string;
|
|
14
15
|
isModeAgent(agentName: string): boolean;
|
|
15
16
|
getAgent(name: string): Promise<AgentProfile>;
|
|
16
17
|
searchRules(query: string): Promise<SearchResult[]>;
|
|
@@ -18,6 +19,11 @@ export declare class RulesService {
|
|
|
18
19
|
name: string;
|
|
19
20
|
description: string;
|
|
20
21
|
triggers?: SkillFrontmatterTrigger[];
|
|
22
|
+
userInvocable?: boolean;
|
|
23
|
+
disableModelInvocation?: boolean;
|
|
24
|
+
context?: string;
|
|
25
|
+
agent?: string;
|
|
26
|
+
allowedTools?: string[];
|
|
21
27
|
}>>;
|
|
22
28
|
getSkill(name: string): Promise<Skill>;
|
|
23
29
|
}
|
|
@@ -82,6 +82,9 @@ let RulesService = RulesService_1 = class RulesService {
|
|
|
82
82
|
const sortedModeAgents = keyword_types_1.MODE_AGENTS.filter(agent => foundModeAgents.includes(agent));
|
|
83
83
|
return [...sortedModeAgents, ...otherAgents.sort()];
|
|
84
84
|
}
|
|
85
|
+
getRulesDir() {
|
|
86
|
+
return this.rulesDir;
|
|
87
|
+
}
|
|
85
88
|
isModeAgent(agentName) {
|
|
86
89
|
return keyword_types_1.MODE_AGENTS.includes(agentName);
|
|
87
90
|
}
|
|
@@ -13,5 +13,10 @@ export interface Skill {
|
|
|
13
13
|
content: string;
|
|
14
14
|
path: string;
|
|
15
15
|
triggers?: SkillFrontmatterTrigger[];
|
|
16
|
+
userInvocable?: boolean;
|
|
17
|
+
disableModelInvocation?: boolean;
|
|
18
|
+
context?: string;
|
|
19
|
+
agent?: string;
|
|
20
|
+
allowedTools?: string[];
|
|
16
21
|
}
|
|
17
22
|
export declare function parseSkill(content: string, filePath: string): Skill;
|