maestro-flow 0.4.25 → 0.5.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/.agents/skills/learn-follow/SKILL.md +1 -1
- package/.agents/skills/learn-investigate/SKILL.md +2 -2
- package/.agents/skills/learn-second-opinion/SKILL.md +1 -1
- package/.agents/skills/maestro/SKILL.md +6 -3
- package/.agents/skills/maestro-analyze/SKILL.md +53 -2
- package/.agents/skills/maestro-blueprint/SKILL.md +36 -1
- package/.agents/skills/maestro-brainstorm/SKILL.md +40 -1
- package/.agents/skills/maestro-collab/SKILL.md +1 -1
- package/.agents/skills/maestro-companion/SKILL.md +4 -4
- package/.agents/skills/maestro-composer/SKILL.md +1 -1
- package/.agents/skills/maestro-execute/SKILL.md +29 -6
- package/.agents/skills/maestro-fork/SKILL.md +24 -0
- package/.agents/skills/maestro-grill/SKILL.md +38 -1
- package/.agents/skills/maestro-help/SKILL.md +5 -6
- package/.agents/skills/maestro-help/index/catalog.json +7 -9
- package/.agents/skills/maestro-help/phases/02-search-present.md +2 -4
- package/.agents/skills/maestro-help/phases/03-workflow-guide.md +7 -8
- package/.agents/skills/maestro-impeccable/SKILL.md +13 -0
- package/.agents/skills/maestro-init/SKILL.md +11 -0
- package/.agents/skills/maestro-merge/SKILL.md +17 -1
- package/.agents/skills/maestro-milestone-audit/SKILL.md +34 -2
- package/.agents/skills/maestro-milestone-complete/SKILL.md +19 -1
- package/.agents/skills/maestro-milestone-release/SKILL.md +18 -0
- package/.agents/skills/maestro-next/SKILL.md +8 -9
- package/.agents/skills/maestro-overlay/SKILL.md +3 -3
- package/.agents/skills/maestro-plan/SKILL.md +21 -3
- package/.agents/skills/maestro-quick/SKILL.md +13 -1
- package/.agents/skills/maestro-ralph/SKILL.md +18 -20
- package/.agents/skills/maestro-ralph-beta/SKILL.md +10 -16
- package/.agents/skills/maestro-ralph-execute/SKILL.md +1 -2
- package/.agents/skills/maestro-roadmap/SKILL.md +28 -2
- package/.agents/skills/maestro-swarm-workflow/SKILL.md +2 -2
- package/.agents/skills/maestro-tools-register/SKILL.md +2 -2
- package/.agents/skills/maestro-ui-codify/SKILL.md +20 -0
- package/.agents/skills/maestro-update/SKILL.md +59 -116
- package/.agents/skills/manage-codebase-rebuild/SKILL.md +3 -3
- package/.agents/skills/manage-harvest/SKILL.md +1 -1
- package/.agents/skills/manage-knowhow/SKILL.md +3 -1
- package/.agents/skills/manage-knowhow-capture/SKILL.md +3 -2
- package/.agents/skills/manage-wiki/SKILL.md +17 -8
- package/.agents/skills/quality-auto-test/SKILL.md +3 -3
- package/.agents/skills/quality-debug/SKILL.md +4 -4
- package/.agents/skills/quality-refactor/SKILL.md +2 -2
- package/.agents/skills/quality-retrospective/SKILL.md +5 -5
- package/.agents/skills/quality-review/SKILL.md +4 -4
- package/.agents/skills/quality-sync/SKILL.md +1 -0
- package/.agents/skills/quality-test/SKILL.md +4 -4
- package/.agents/skills/spec-add/SKILL.md +6 -4
- package/.agents/skills/spec-setup/SKILL.md +1 -1
- package/.agy/skills/learn-follow/SKILL.md +1 -1
- package/.agy/skills/learn-investigate/SKILL.md +2 -2
- package/.agy/skills/learn-second-opinion/SKILL.md +1 -1
- package/.agy/skills/maestro/SKILL.md +6 -3
- package/.agy/skills/maestro-analyze/SKILL.md +53 -2
- package/.agy/skills/maestro-blueprint/SKILL.md +36 -1
- package/.agy/skills/maestro-brainstorm/SKILL.md +40 -1
- package/.agy/skills/maestro-collab/SKILL.md +1 -1
- package/.agy/skills/maestro-companion/SKILL.md +4 -4
- package/.agy/skills/maestro-composer/SKILL.md +1 -1
- package/.agy/skills/maestro-execute/SKILL.md +29 -6
- package/.agy/skills/maestro-fork/SKILL.md +24 -0
- package/.agy/skills/maestro-grill/SKILL.md +38 -1
- package/.agy/skills/maestro-help/SKILL.md +5 -6
- package/.agy/skills/maestro-help/index/catalog.json +7 -9
- package/.agy/skills/maestro-help/phases/02-search-present.md +2 -4
- package/.agy/skills/maestro-help/phases/03-workflow-guide.md +7 -8
- package/.agy/skills/maestro-impeccable/SKILL.md +13 -0
- package/.agy/skills/maestro-init/SKILL.md +11 -0
- package/.agy/skills/maestro-merge/SKILL.md +17 -1
- package/.agy/skills/maestro-milestone-audit/SKILL.md +34 -2
- package/.agy/skills/maestro-milestone-complete/SKILL.md +19 -1
- package/.agy/skills/maestro-milestone-release/SKILL.md +18 -0
- package/.agy/skills/maestro-next/SKILL.md +8 -9
- package/.agy/skills/maestro-overlay/SKILL.md +3 -3
- package/.agy/skills/maestro-plan/SKILL.md +21 -3
- package/.agy/skills/maestro-quick/SKILL.md +13 -1
- package/.agy/skills/maestro-ralph/SKILL.md +18 -20
- package/.agy/skills/maestro-ralph-beta/SKILL.md +10 -16
- package/.agy/skills/maestro-ralph-execute/SKILL.md +1 -2
- package/.agy/skills/maestro-roadmap/SKILL.md +28 -2
- package/.agy/skills/maestro-swarm-workflow/SKILL.md +2 -2
- package/.agy/skills/maestro-tools-register/SKILL.md +2 -2
- package/.agy/skills/maestro-ui-codify/SKILL.md +20 -0
- package/.agy/skills/maestro-update/SKILL.md +59 -116
- package/.agy/skills/manage-codebase-rebuild/SKILL.md +3 -3
- package/.agy/skills/manage-harvest/SKILL.md +1 -1
- package/.agy/skills/manage-knowhow/SKILL.md +3 -1
- package/.agy/skills/manage-knowhow-capture/SKILL.md +3 -2
- package/.agy/skills/manage-wiki/SKILL.md +17 -8
- package/.agy/skills/quality-auto-test/SKILL.md +3 -3
- package/.agy/skills/quality-debug/SKILL.md +4 -4
- package/.agy/skills/quality-refactor/SKILL.md +2 -2
- package/.agy/skills/quality-retrospective/SKILL.md +5 -5
- package/.agy/skills/quality-review/SKILL.md +4 -4
- package/.agy/skills/quality-sync/SKILL.md +1 -0
- package/.agy/skills/quality-test/SKILL.md +4 -4
- package/.agy/skills/spec-add/SKILL.md +6 -4
- package/.agy/skills/spec-setup/SKILL.md +1 -1
- package/.claude/commands/learn-follow.md +1 -1
- package/.claude/commands/learn-investigate.md +2 -2
- package/.claude/commands/learn-second-opinion.md +1 -1
- package/.claude/commands/maestro-analyze.md +53 -2
- package/.claude/commands/maestro-blueprint.md +36 -1
- package/.claude/commands/maestro-brainstorm.md +40 -1
- package/.claude/commands/maestro-collab.md +1 -1
- package/.claude/commands/maestro-companion.md +4 -4
- package/.claude/commands/maestro-composer.md +1 -1
- package/.claude/commands/maestro-execute.md +29 -6
- package/.claude/commands/maestro-fork.md +24 -0
- package/.claude/commands/maestro-grill.md +38 -1
- package/.claude/commands/maestro-impeccable.md +13 -0
- package/.claude/commands/maestro-init.md +11 -0
- package/.claude/commands/maestro-merge.md +17 -1
- package/.claude/commands/maestro-milestone-audit.md +34 -2
- package/.claude/commands/maestro-milestone-complete.md +19 -1
- package/.claude/commands/maestro-milestone-release.md +18 -0
- package/.claude/commands/maestro-next.md +8 -9
- package/.claude/commands/maestro-overlay.md +3 -3
- package/.claude/commands/maestro-plan.md +21 -3
- package/.claude/commands/maestro-quick.md +13 -1
- package/.claude/commands/maestro-ralph-beta.md +8 -14
- package/.claude/commands/maestro-ralph-execute.md +1 -2
- package/.claude/commands/maestro-ralph.md +18 -20
- package/.claude/commands/maestro-roadmap.md +28 -2
- package/.claude/commands/maestro-swarm-workflow.md +2 -2
- package/.claude/commands/maestro-tools-register.md +2 -2
- package/.claude/commands/maestro-ui-codify.md +20 -0
- package/.claude/commands/maestro-update.md +59 -116
- package/.claude/commands/maestro.md +6 -3
- package/.claude/commands/manage-codebase-rebuild.md +3 -3
- package/.claude/commands/manage-harvest.md +1 -1
- package/.claude/commands/manage-knowhow-capture.md +3 -2
- package/.claude/commands/manage-knowhow.md +3 -1
- package/.claude/commands/manage-wiki.md +17 -8
- package/.claude/commands/quality-auto-test.md +3 -3
- package/.claude/commands/quality-debug.md +4 -4
- package/.claude/commands/quality-refactor.md +2 -2
- package/.claude/commands/quality-retrospective.md +5 -5
- package/.claude/commands/quality-review.md +4 -4
- package/.claude/commands/quality-sync.md +1 -0
- package/.claude/commands/quality-test.md +4 -4
- package/.claude/commands/spec-add.md +6 -4
- package/.claude/commands/spec-setup.md +1 -1
- package/.claude/skills/maestro-help/SKILL.md +5 -6
- package/.claude/skills/maestro-help/index/catalog.json +7 -9
- package/.claude/skills/maestro-help/phases/02-search-present.md +2 -4
- package/.claude/skills/maestro-help/phases/03-workflow-guide.md +7 -8
- package/.codex/skills/codify-to-knowhow/SKILL.md +5 -4
- package/.codex/skills/learn-decompose/SKILL.md +1 -1
- package/.codex/skills/learn-follow/SKILL.md +1 -1
- package/.codex/skills/learn-investigate/SKILL.md +1 -1
- package/.codex/skills/learn-second-opinion/SKILL.md +2 -2
- package/.codex/skills/maestro/SKILL.md +29 -31
- package/.codex/skills/maestro-analyze/SKILL.md +16 -3
- package/.codex/skills/maestro-blueprint/SKILL.md +8 -1
- package/.codex/skills/maestro-brainstorm/SKILL.md +8 -5
- package/.codex/skills/maestro-companion/SKILL.md +2 -2
- package/.codex/skills/maestro-composer/SKILL.md +0 -1
- package/.codex/skills/maestro-execute/SKILL.md +11 -8
- package/.codex/skills/maestro-fork/SKILL.md +4 -0
- package/.codex/skills/maestro-grill/SKILL.md +8 -2
- package/.codex/skills/maestro-help/SKILL.md +6 -9
- package/.codex/skills/maestro-help/catalog.json +6 -8
- package/.codex/skills/maestro-impeccable/SKILL.md +2 -0
- package/.codex/skills/maestro-init/SKILL.md +3 -0
- package/.codex/skills/maestro-merge/SKILL.md +5 -1
- package/.codex/skills/maestro-milestone-audit/SKILL.md +14 -9
- package/.codex/skills/maestro-milestone-complete/SKILL.md +6 -1
- package/.codex/skills/maestro-milestone-release/SKILL.md +4 -0
- package/.codex/skills/maestro-next/SKILL.md +3 -4
- package/.codex/skills/maestro-plan/SKILL.md +5 -2
- package/.codex/skills/maestro-quick/SKILL.md +4 -1
- package/.codex/skills/maestro-ralph/SKILL.md +14 -20
- package/.codex/skills/maestro-ralph-beta/SKILL.md +13 -21
- package/.codex/skills/maestro-ralph-execute/SKILL.md +2 -2
- package/.codex/skills/maestro-roadmap/SKILL.md +5 -2
- package/.codex/skills/maestro-tools-register/SKILL.md +1 -1
- package/.codex/skills/maestro-ui-codify/SKILL.md +7 -4
- package/.codex/skills/maestro-update/SKILL.md +35 -130
- package/.codex/skills/manage-codebase-rebuild/SKILL.md +2 -2
- package/.codex/skills/manage-harvest/SKILL.md +2 -2
- package/.codex/skills/manage-knowhow/SKILL.md +1 -1
- package/.codex/skills/manage-status/SKILL.md +1 -2
- package/.codex/skills/quality-auto-test/SKILL.md +2 -2
- package/.codex/skills/quality-debug/SKILL.md +33 -27
- package/.codex/skills/quality-refactor/SKILL.md +1 -1
- package/.codex/skills/quality-retrospective/SKILL.md +1 -1
- package/.codex/skills/quality-test/SKILL.md +3 -4
- package/.codex/skills/security-audit/SKILL.md +17 -1
- package/.codex/skills/spec-add/SKILL.md +5 -3
- package/.codex/skills/spec-remove/SKILL.md +2 -2
- package/.codex/skills/team-coordinate/SKILL.md +1 -1
- package/.codex/skills/team-review/SKILL.md +2 -2
- package/.codex/skills/wiki-digest/SKILL.md +2 -2
- package/chains/brainstorm-driven.json +2 -34
- package/chains/full-lifecycle.json +2 -34
- package/chains/next-milestone.json +0 -7
- package/chains/quality-loop.json +3 -19
- package/chains/roadmap-driven.json +2 -34
- package/chains/spec-driven.json +2 -34
- package/chains/ui-craft-build.json +2 -23
- package/dashboard/dist-server/dashboard/src/server/agents/codex-cli-adapter.js +9 -1
- package/dashboard/dist-server/dashboard/src/server/agents/codex-cli-adapter.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/agents/codex-cli-adapter.test.d.ts +1 -0
- package/dashboard/dist-server/dashboard/src/server/agents/codex-cli-adapter.test.js +346 -0
- package/dashboard/dist-server/dashboard/src/server/agents/codex-cli-adapter.test.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/server/coordinator/chain-map.js +8 -11
- package/dashboard/dist-server/dashboard/src/server/coordinator/chain-map.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/wiki/spec-entry-parser.d.ts +1 -0
- package/dashboard/dist-server/dashboard/src/server/wiki/spec-entry-parser.js +3 -1
- package/dashboard/dist-server/dashboard/src/server/wiki/spec-entry-parser.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/wiki/stress.test.js +1 -0
- package/dashboard/dist-server/dashboard/src/server/wiki/stress.test.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/wiki/virtual-wiki-adapters.js +9 -0
- package/dashboard/dist-server/dashboard/src/server/wiki/virtual-wiki-adapters.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/wiki/wiki-indexer.js +9 -4
- package/dashboard/dist-server/dashboard/src/server/wiki/wiki-indexer.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/wiki/wiki-types.d.ts +3 -0
- package/dashboard/dist-server/dashboard/src/server/wiki/writer.d.ts +4 -0
- package/dashboard/dist-server/dashboard/src/server/wiki/writer.js +5 -3
- package/dashboard/dist-server/dashboard/src/server/wiki/writer.js.map +1 -1
- package/dashboard/dist-server/src/types/index.d.ts +2 -0
- package/dist/src/agents/cli-agent-runner.d.ts +2 -0
- package/dist/src/agents/cli-agent-runner.d.ts.map +1 -1
- package/dist/src/agents/cli-agent-runner.js +3 -0
- package/dist/src/agents/cli-agent-runner.js.map +1 -1
- package/dist/src/cli.js +1 -0
- package/dist/src/cli.js.map +1 -1
- package/dist/src/commands/delegate.d.ts +2 -0
- package/dist/src/commands/delegate.d.ts.map +1 -1
- package/dist/src/commands/delegate.js +3 -1
- package/dist/src/commands/delegate.js.map +1 -1
- package/dist/src/commands/hooks.d.ts.map +1 -1
- package/dist/src/commands/hooks.js +55 -5
- package/dist/src/commands/hooks.js.map +1 -1
- package/dist/src/commands/install-backend.d.ts.map +1 -1
- package/dist/src/commands/install-backend.js +2 -1
- package/dist/src/commands/install-backend.js.map +1 -1
- package/dist/src/commands/install.d.ts.map +1 -1
- package/dist/src/commands/install.js +16 -1
- package/dist/src/commands/install.js.map +1 -1
- package/dist/src/commands/kg.d.ts +1 -1
- package/dist/src/commands/kg.d.ts.map +1 -1
- package/dist/src/commands/kg.js +285 -112
- package/dist/src/commands/kg.js.map +1 -1
- package/dist/src/commands/knowhow.d.ts.map +1 -1
- package/dist/src/commands/knowhow.js +28 -37
- package/dist/src/commands/knowhow.js.map +1 -1
- package/dist/src/commands/ralph.js +1 -1
- package/dist/src/commands/ralph.js.map +1 -1
- package/dist/src/commands/search.d.ts +36 -0
- package/dist/src/commands/search.d.ts.map +1 -0
- package/dist/src/commands/search.js +120 -0
- package/dist/src/commands/search.js.map +1 -0
- package/dist/src/commands/spec.d.ts.map +1 -1
- package/dist/src/commands/spec.js +59 -8
- package/dist/src/commands/spec.js.map +1 -1
- package/dist/src/commands/update.d.ts.map +1 -1
- package/dist/src/commands/update.js +7 -0
- package/dist/src/commands/update.js.map +1 -1
- package/dist/src/commands/wiki.d.ts.map +1 -1
- package/dist/src/commands/wiki.js +36 -9
- package/dist/src/commands/wiki.js.map +1 -1
- package/dist/src/config/cli-tools-config.d.ts +18 -0
- package/dist/src/config/cli-tools-config.d.ts.map +1 -1
- package/dist/src/config/cli-tools-config.js +31 -0
- package/dist/src/config/cli-tools-config.js.map +1 -1
- package/dist/src/core/component-defs.d.ts +13 -0
- package/dist/src/core/component-defs.d.ts.map +1 -1
- package/dist/src/core/component-defs.js +37 -85
- package/dist/src/core/component-defs.js.map +1 -1
- package/dist/src/core/skill-converter.d.ts +25 -0
- package/dist/src/core/skill-converter.d.ts.map +1 -0
- package/dist/src/core/skill-converter.js +605 -0
- package/dist/src/core/skill-converter.js.map +1 -0
- package/dist/src/graph/codegraph-adapter.d.ts +147 -0
- package/dist/src/graph/codegraph-adapter.d.ts.map +1 -0
- package/dist/src/graph/codegraph-adapter.js +266 -0
- package/dist/src/graph/codegraph-adapter.js.map +1 -0
- package/dist/src/hooks/constants.d.ts +4 -0
- package/dist/src/hooks/constants.d.ts.map +1 -1
- package/dist/src/hooks/constants.js +14 -1
- package/dist/src/hooks/constants.js.map +1 -1
- package/dist/src/hooks/context-format.d.ts +46 -0
- package/dist/src/hooks/context-format.d.ts.map +1 -0
- package/dist/src/hooks/context-format.js +58 -0
- package/dist/src/hooks/context-format.js.map +1 -0
- package/dist/src/hooks/index.d.ts +2 -0
- package/dist/src/hooks/index.d.ts.map +1 -1
- package/dist/src/hooks/index.js +2 -0
- package/dist/src/hooks/index.js.map +1 -1
- package/dist/src/hooks/keyword-spec-injector.d.ts +1 -1
- package/dist/src/hooks/keyword-spec-injector.d.ts.map +1 -1
- package/dist/src/hooks/keyword-spec-injector.js +92 -7
- package/dist/src/hooks/keyword-spec-injector.js.map +1 -1
- package/dist/src/hooks/kg-context-injector.d.ts +19 -0
- package/dist/src/hooks/kg-context-injector.d.ts.map +1 -0
- package/dist/src/hooks/kg-context-injector.js +139 -0
- package/dist/src/hooks/kg-context-injector.js.map +1 -0
- package/dist/src/hooks/kg-sync-hook.d.ts +22 -0
- package/dist/src/hooks/kg-sync-hook.d.ts.map +1 -0
- package/dist/src/hooks/kg-sync-hook.js +139 -0
- package/dist/src/hooks/kg-sync-hook.js.map +1 -0
- package/dist/src/hooks/plugins/spec-injection-plugin.js +2 -2
- package/dist/src/hooks/plugins/spec-injection-plugin.js.map +1 -1
- package/dist/src/hooks/skill-context.d.ts.map +1 -1
- package/dist/src/hooks/skill-context.js +0 -1
- package/dist/src/hooks/skill-context.js.map +1 -1
- package/dist/src/hooks/spec-injector.d.ts.map +1 -1
- package/dist/src/hooks/spec-injector.js +66 -13
- package/dist/src/hooks/spec-injector.js.map +1 -1
- package/dist/src/hooks/statusline.d.ts +8 -1
- package/dist/src/hooks/statusline.d.ts.map +1 -1
- package/dist/src/hooks/statusline.js +45 -29
- package/dist/src/hooks/statusline.js.map +1 -1
- package/dist/src/hooks/wiki-role-loader.js +1 -1
- package/dist/src/hooks/wiki-role-loader.js.map +1 -1
- package/dist/src/ralph/cmd-skills.d.ts.map +1 -1
- package/dist/src/ralph/cmd-skills.js +9 -2
- package/dist/src/ralph/cmd-skills.js.map +1 -1
- package/dist/src/ralph/skill-scanner.d.ts +1 -1
- package/dist/src/ralph/skill-scanner.d.ts.map +1 -1
- package/dist/src/ralph/skill-scanner.js +14 -0
- package/dist/src/ralph/skill-scanner.js.map +1 -1
- package/dist/src/ralph/status-schema.d.ts +1 -1
- package/dist/src/ralph/status-schema.d.ts.map +1 -1
- package/dist/src/tools/spec-entry-parser.d.ts +2 -1
- package/dist/src/tools/spec-entry-parser.d.ts.map +1 -1
- package/dist/src/tools/spec-entry-parser.js +7 -4
- package/dist/src/tools/spec-entry-parser.js.map +1 -1
- package/dist/src/tools/spec-loader.d.ts.map +1 -1
- package/dist/src/tools/spec-loader.js +27 -3
- package/dist/src/tools/spec-loader.js.map +1 -1
- package/dist/src/tools/spec-writer.d.ts +10 -1
- package/dist/src/tools/spec-writer.d.ts.map +1 -1
- package/dist/src/tools/spec-writer.js +86 -7
- package/dist/src/tools/spec-writer.js.map +1 -1
- package/dist/src/tools/store-knowhow.d.ts.map +1 -1
- package/dist/src/tools/store-knowhow.js +27 -7
- package/dist/src/tools/store-knowhow.js.map +1 -1
- package/dist/src/tui/install-ui/ExecutionView.d.ts.map +1 -1
- package/dist/src/tui/install-ui/ExecutionView.js +7 -1
- package/dist/src/tui/install-ui/ExecutionView.js.map +1 -1
- package/dist/src/tui/install-ui/InstallExecution.d.ts.map +1 -1
- package/dist/src/tui/install-ui/InstallExecution.js +5 -1
- package/dist/src/tui/install-ui/InstallExecution.js.map +1 -1
- package/dist/src/types/index.d.ts +2 -0
- package/dist/src/types/index.d.ts.map +1 -1
- package/dist/src/utils/cli-format.d.ts +6 -0
- package/dist/src/utils/cli-format.d.ts.map +1 -1
- package/dist/src/utils/cli-format.js +25 -0
- package/dist/src/utils/cli-format.js.map +1 -1
- package/dist/src/utils/update-notices.js +29 -0
- package/dist/src/utils/update-notices.js.map +1 -1
- package/package.json +5 -2
- package/templates/workflows/specs/node-catalog.md +0 -2
- package/workflows/analyze.md +9 -4
- package/workflows/auto-test.md +2 -2
- package/workflows/business-test.md +1 -1
- package/workflows/claude-instructions.md +23 -11
- package/workflows/codex-instructions.md +2 -3
- package/workflows/execute.md +153 -7
- package/workflows/fork.md +1 -1
- package/workflows/integration-test.md +1 -1
- package/workflows/maestro-super.md +1 -1
- package/workflows/maestro.codex.md +18 -34
- package/workflows/maestro.md +34 -42
- package/workflows/review.md +1 -1
- package/workflows/status.md +2 -2
- package/workflows/swarm/wf-verify.js +1 -1
- package/workflows/test-gen.md +2 -2
- package/workflows/test.md +1 -1
- package/workflows/updates/README.md +41 -0
- package/workflows/updates/update-v3-setup.md +79 -0
- package/workflows/verify.md +7 -1
- package/.agents/skills/learn-retro/SKILL.md +0 -159
- package/.agents/skills/maestro-learn/SKILL.md +0 -142
- package/.agents/skills/maestro-verify/SKILL.md +0 -146
- package/.agents/skills/manage-codebase-refresh/SKILL.md +0 -62
- package/.agents/skills/manage-learn/SKILL.md +0 -67
- package/.agents/skills/wiki-connect/SKILL.md +0 -64
- package/.agents/skills/wiki-digest/SKILL.md +0 -70
- package/.agy/skills/learn-retro/SKILL.md +0 -159
- package/.agy/skills/maestro-learn/SKILL.md +0 -142
- package/.agy/skills/maestro-verify/SKILL.md +0 -146
- package/.agy/skills/manage-codebase-refresh/SKILL.md +0 -62
- package/.agy/skills/manage-learn/SKILL.md +0 -64
- package/.agy/skills/wiki-connect/SKILL.md +0 -64
- package/.agy/skills/wiki-digest/SKILL.md +0 -70
- package/.claude/commands/learn-retro.md +0 -157
- package/.claude/commands/maestro-learn.md +0 -140
- package/.claude/commands/maestro-verify.md +0 -144
- package/.claude/commands/manage-codebase-refresh.md +0 -60
- package/.claude/commands/manage-learn.md +0 -65
- package/.claude/commands/wiki-connect.md +0 -62
- package/.claude/commands/wiki-digest.md +0 -68
- package/.codex/skills/maestro-verify/SKILL.md +0 -254
- package/chains/execute-verify.json +0 -59
- package/chains/singles/verify.json +0 -26
|
@@ -4,5 +4,7 @@ export { SyncHook, AsyncSeriesHook, AsyncSeriesBailHook, AsyncSeriesWaterfallHoo
|
|
|
4
4
|
export { WorkflowHookRegistry } from './workflow-hooks.js';
|
|
5
5
|
export { HookManager } from './hook-manager.js';
|
|
6
6
|
export { runPreflight, type PreflightResult, type PreflightDeps } from './preflight-core.js';
|
|
7
|
+
export { evaluateKgSync } from './kg-sync-hook.js';
|
|
8
|
+
export { evaluateKgContextInjection } from './kg-context-injector.js';
|
|
7
9
|
export type { RunContext, NodeContext, CommandContext, CommandResultContext, ErrorContext, DecisionContext, } from './workflow-hooks.js';
|
|
8
10
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAClE,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,mBAAmB,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AAC5G,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,KAAK,eAAe,EAAE,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAC7F,YAAY,EACV,UAAU,EACV,WAAW,EACX,cAAc,EACd,oBAAoB,EACpB,YAAY,EACZ,eAAe,GAChB,MAAM,qBAAqB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAClE,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,mBAAmB,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AAC5G,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,KAAK,eAAe,EAAE,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAC7F,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAC;AACtE,YAAY,EACV,UAAU,EACV,WAAW,EACX,cAAc,EACd,oBAAoB,EACpB,YAAY,EACZ,eAAe,GAChB,MAAM,qBAAqB,CAAC"}
|
package/dist/src/hooks/index.js
CHANGED
|
@@ -4,4 +4,6 @@ export { SyncHook, AsyncSeriesHook, AsyncSeriesBailHook, AsyncSeriesWaterfallHoo
|
|
|
4
4
|
export { WorkflowHookRegistry } from './workflow-hooks.js';
|
|
5
5
|
export { HookManager } from './hook-manager.js';
|
|
6
6
|
export { runPreflight } from './preflight-core.js';
|
|
7
|
+
export { evaluateKgSync } from './kg-sync-hook.js';
|
|
8
|
+
export { evaluateKgContextInjection } from './kg-context-injector.js';
|
|
7
9
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAClE,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,mBAAmB,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AAC5G,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,YAAY,EAA4C,MAAM,qBAAqB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAClE,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,mBAAmB,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AAC5G,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,YAAY,EAA4C,MAAM,qBAAqB,CAAC;AAC7F,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAC"}
|
|
@@ -17,5 +17,5 @@ export interface KeywordInjectionResult {
|
|
|
17
17
|
* @param projectPath Working directory for spec file resolution
|
|
18
18
|
* @param sessionId Session ID for dedup bridge
|
|
19
19
|
*/
|
|
20
|
-
export declare function evaluateKeywordInjection(prompt: string, projectPath: string, sessionId: string): KeywordInjectionResult
|
|
20
|
+
export declare function evaluateKeywordInjection(prompt: string, projectPath: string, sessionId: string): Promise<KeywordInjectionResult>;
|
|
21
21
|
//# sourceMappingURL=keyword-spec-injector.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"keyword-spec-injector.d.ts","sourceRoot":"","sources":["../../../src/hooks/keyword-spec-injector.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;
|
|
1
|
+
{"version":3,"file":"keyword-spec-injector.d.ts","sourceRoot":"","sources":["../../../src/hooks/keyword-spec-injector.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAWH,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AA2CD;;;;;;GAMG;AACH,wBAAsB,wBAAwB,CAC5C,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,sBAAsB,CAAC,CAsHjC"}
|
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
import { buildKeywordIndex, lookupKeywords } from '../tools/spec-keyword-index.js';
|
|
8
8
|
import { markInjected, filterUnjected } from './spec-bridge.js';
|
|
9
9
|
import { logInjectionEvent } from './spec-analytics.js';
|
|
10
|
+
import { wrapMaestroContext } from './context-format.js';
|
|
10
11
|
// ============================================================================
|
|
11
12
|
// Config
|
|
12
13
|
// ============================================================================
|
|
@@ -49,7 +50,7 @@ const MAX_ENTRIES_PER_INJECTION = 5;
|
|
|
49
50
|
* @param projectPath Working directory for spec file resolution
|
|
50
51
|
* @param sessionId Session ID for dedup bridge
|
|
51
52
|
*/
|
|
52
|
-
export function evaluateKeywordInjection(prompt, projectPath, sessionId) {
|
|
53
|
+
export async function evaluateKeywordInjection(prompt, projectPath, sessionId) {
|
|
53
54
|
// 1. Tokenize prompt into candidate keywords
|
|
54
55
|
const promptKeywords = tokenizePrompt(prompt);
|
|
55
56
|
if (promptKeywords.length === 0) {
|
|
@@ -113,8 +114,22 @@ export function evaluateKeywordInjection(prompt, projectPath, sessionId) {
|
|
|
113
114
|
}
|
|
114
115
|
// 5. Limit to avoid context bloat
|
|
115
116
|
const toInject = unjected.slice(0, MAX_ENTRIES_PER_INJECTION);
|
|
116
|
-
// 6. Build injection
|
|
117
|
-
|
|
117
|
+
// 6. Build injection sections — keyword matches + (optional) KG symbols,
|
|
118
|
+
// merged into ONE <maestro-context> block.
|
|
119
|
+
const sections = [buildKeywordSection(toInject)];
|
|
120
|
+
// 6b. KG symbol lookup — append code graph context if available
|
|
121
|
+
try {
|
|
122
|
+
const symbolSection = await evaluateKgSymbolLookup(prompt, projectPath);
|
|
123
|
+
if (symbolSection) {
|
|
124
|
+
sections.push(symbolSection);
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
catch {
|
|
128
|
+
// KG lookup is best-effort — silently skip on any failure
|
|
129
|
+
}
|
|
130
|
+
// Per-injector budget reporting (format-only; no cross-injector pooling yet).
|
|
131
|
+
const usedChars = sections.reduce((sum, s) => sum + s.lines.reduce((acc, l) => acc + l.length, 0), 0);
|
|
132
|
+
const content = wrapMaestroContext(sections, { used: usedChars, max: usedChars });
|
|
118
133
|
// 7. Mark as injected
|
|
119
134
|
const injectedKeywords = [...new Set(toInject.flatMap(e => e.keywords))];
|
|
120
135
|
const injectedIds = toInject.map(e => e.id);
|
|
@@ -183,10 +198,80 @@ function extractCjkTokens(text) {
|
|
|
183
198
|
return tokens;
|
|
184
199
|
}
|
|
185
200
|
/**
|
|
186
|
-
*
|
|
201
|
+
* Build a keyword-match section for the unified <maestro-context> block.
|
|
202
|
+
*
|
|
203
|
+
* Section label: `keyword[kw1,kw2]` listing the distinct keywords matched.
|
|
204
|
+
* Each line is compact: `<category> · <keywords> · <title>: <oneline body>`.
|
|
205
|
+
*/
|
|
206
|
+
function buildKeywordSection(entries) {
|
|
207
|
+
const allKeywords = [...new Set(entries.flatMap(e => e.keywords))];
|
|
208
|
+
const label = `keyword[${allKeywords.join(',')}]`;
|
|
209
|
+
const lines = entries.map(e => {
|
|
210
|
+
const body = e.content
|
|
211
|
+
.replace(/^#{1,6}\s+.*$/gm, '') // strip markdown headings (title is added separately)
|
|
212
|
+
.replace(/\s+/g, ' ')
|
|
213
|
+
.trim();
|
|
214
|
+
const kws = e.keywords.join(',');
|
|
215
|
+
const titlePrefix = e.title ? `${e.title}: ` : '';
|
|
216
|
+
return `${e.category} · ${kws} · ${titlePrefix}${body}`;
|
|
217
|
+
});
|
|
218
|
+
return { label, lines };
|
|
219
|
+
}
|
|
220
|
+
// ============================================================================
|
|
221
|
+
// KG Symbol Lookup
|
|
222
|
+
// ============================================================================
|
|
223
|
+
const KG_SYMBOL_PATTERN = /\b[a-z]+[A-Z][a-zA-Z0-9]*\b|\b[a-z]+_[a-z0-9_]+\b/g;
|
|
224
|
+
const KG_MAX_SYMBOLS = 3;
|
|
225
|
+
const KG_MAX_RESULTS_PER_SYMBOL = 2;
|
|
226
|
+
const KG_MAX_CONTENT_LENGTH = 512;
|
|
227
|
+
/**
|
|
228
|
+
* Extract camelCase/snake_case symbols from prompt and look up in KG.
|
|
229
|
+
* Returns a `kg-symbols` ContextSection or null if nothing found.
|
|
230
|
+
* Entire function is best-effort — returns null on any failure.
|
|
187
231
|
*/
|
|
188
|
-
function
|
|
189
|
-
const
|
|
190
|
-
|
|
232
|
+
async function evaluateKgSymbolLookup(prompt, projectPath) {
|
|
233
|
+
const matches = prompt.match(KG_SYMBOL_PATTERN);
|
|
234
|
+
if (!matches || matches.length === 0)
|
|
235
|
+
return null;
|
|
236
|
+
const symbols = [...new Set(matches)].slice(0, KG_MAX_SYMBOLS);
|
|
237
|
+
try {
|
|
238
|
+
const { isCodeGraphAvailable, CodeGraphAdapter } = require('../graph/codegraph-adapter.js');
|
|
239
|
+
if (!isCodeGraphAvailable())
|
|
240
|
+
return null;
|
|
241
|
+
const adapter = new CodeGraphAdapter(projectPath);
|
|
242
|
+
try {
|
|
243
|
+
if (!adapter.isInitialized())
|
|
244
|
+
return null;
|
|
245
|
+
const lines = [];
|
|
246
|
+
let totalLen = 0;
|
|
247
|
+
for (const sym of symbols) {
|
|
248
|
+
if (totalLen >= KG_MAX_CONTENT_LENGTH)
|
|
249
|
+
break;
|
|
250
|
+
const results = await adapter.searchNodes(sym, { limit: KG_MAX_RESULTS_PER_SYMBOL });
|
|
251
|
+
for (const r of results) {
|
|
252
|
+
const node = r.node ?? r;
|
|
253
|
+
const line = `[${node.kind}] ${node.name}` +
|
|
254
|
+
(node.filePath ? ` (${node.filePath}:${node.startLine})` : '') +
|
|
255
|
+
(node.signature ? ` — ${node.signature}` : '');
|
|
256
|
+
if (totalLen + line.length > KG_MAX_CONTENT_LENGTH)
|
|
257
|
+
break;
|
|
258
|
+
lines.push(line);
|
|
259
|
+
totalLen += line.length;
|
|
260
|
+
}
|
|
261
|
+
}
|
|
262
|
+
if (lines.length === 0)
|
|
263
|
+
return null;
|
|
264
|
+
return { label: 'kg-symbols', lines };
|
|
265
|
+
}
|
|
266
|
+
finally {
|
|
267
|
+
try {
|
|
268
|
+
adapter.close();
|
|
269
|
+
}
|
|
270
|
+
catch { /* best-effort */ }
|
|
271
|
+
}
|
|
272
|
+
}
|
|
273
|
+
catch {
|
|
274
|
+
return null;
|
|
275
|
+
}
|
|
191
276
|
}
|
|
192
277
|
//# sourceMappingURL=keyword-spec-injector.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"keyword-spec-injector.js","sourceRoot":"","sources":["../../../src/hooks/keyword-spec-injector.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAqB,MAAM,gCAAgC,CAAC;AACtG,OAAO,EAAkB,YAAY,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAChF,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"keyword-spec-injector.js","sourceRoot":"","sources":["../../../src/hooks/keyword-spec-injector.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* KG Context Injector — PreToolUse:Agent Hook
|
|
3
|
+
*
|
|
4
|
+
* Injects Knowledge Graph code structure context (callers, callees, exported
|
|
5
|
+
* symbols) into subagent prompts using CodeGraph as the sole data source.
|
|
6
|
+
*
|
|
7
|
+
* Requires @colbymchenry/codegraph — gracefully returns no-inject when unavailable.
|
|
8
|
+
*/
|
|
9
|
+
export interface KgInjectionResult {
|
|
10
|
+
inject: boolean;
|
|
11
|
+
content?: string;
|
|
12
|
+
reason?: string;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Evaluate whether to inject KG code structure context for a given prompt.
|
|
16
|
+
* Uses CodeGraph as the sole data source.
|
|
17
|
+
*/
|
|
18
|
+
export declare function evaluateKgContextInjection(_agentType: string, prompt: string, projectPath: string): Promise<KgInjectionResult>;
|
|
19
|
+
//# sourceMappingURL=kg-context-injector.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"kg-context-injector.d.ts","sourceRoot":"","sources":["../../../src/hooks/kg-context-injector.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAYH,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AA8ED;;;GAGG;AACH,wBAAsB,0BAA0B,CAC9C,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,iBAAiB,CAAC,CAkE5B"}
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* KG Context Injector — PreToolUse:Agent Hook
|
|
3
|
+
*
|
|
4
|
+
* Injects Knowledge Graph code structure context (callers, callees, exported
|
|
5
|
+
* symbols) into subagent prompts using CodeGraph as the sole data source.
|
|
6
|
+
*
|
|
7
|
+
* Requires @colbymchenry/codegraph — gracefully returns no-inject when unavailable.
|
|
8
|
+
*/
|
|
9
|
+
import { createRequire } from 'node:module';
|
|
10
|
+
import { wrapMaestroContext } from './context-format.js';
|
|
11
|
+
const require = createRequire(import.meta.url);
|
|
12
|
+
// ---------------------------------------------------------------------------
|
|
13
|
+
// Extraction helpers
|
|
14
|
+
// ---------------------------------------------------------------------------
|
|
15
|
+
const FILE_RE = /([\w\/\\.-]+\.(ts|tsx|js|jsx|py|go|rs|java))/g;
|
|
16
|
+
const SYMBOL_RE = /`(\w+)`/g;
|
|
17
|
+
function extractFilePaths(text) {
|
|
18
|
+
const seen = new Set();
|
|
19
|
+
for (const m of text.matchAll(FILE_RE)) {
|
|
20
|
+
const p = m[1].replace(/\\/g, '/');
|
|
21
|
+
if (!seen.has(p))
|
|
22
|
+
seen.add(p);
|
|
23
|
+
}
|
|
24
|
+
return [...seen];
|
|
25
|
+
}
|
|
26
|
+
function extractSymbols(text) {
|
|
27
|
+
const seen = new Set();
|
|
28
|
+
for (const m of text.matchAll(SYMBOL_RE)) {
|
|
29
|
+
const s = m[1];
|
|
30
|
+
if (s.length >= 3 && !/^(the|and|for|not|but|has|get|set|new|var|let|use)$/i.test(s)) {
|
|
31
|
+
if (!seen.has(s))
|
|
32
|
+
seen.add(s);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
return [...seen];
|
|
36
|
+
}
|
|
37
|
+
// ---------------------------------------------------------------------------
|
|
38
|
+
// Formatting helpers
|
|
39
|
+
// ---------------------------------------------------------------------------
|
|
40
|
+
function formatCaller(c) {
|
|
41
|
+
const loc = c.node.filePath ? `${c.node.filePath}:${c.node.startLine}` : '';
|
|
42
|
+
const name = c.node.name;
|
|
43
|
+
return loc ? `${name} (${loc}) --${c.edge.kind}-->` : `${name} --${c.edge.kind}-->`;
|
|
44
|
+
}
|
|
45
|
+
function formatCallee(c) {
|
|
46
|
+
const loc = c.node.filePath ? `${c.node.filePath}:${c.node.startLine}` : '';
|
|
47
|
+
const name = c.node.name;
|
|
48
|
+
return loc ? `--> ${name} (${loc})` : `--> ${name}`;
|
|
49
|
+
}
|
|
50
|
+
function buildRichSymbolSection(node, callers, callees) {
|
|
51
|
+
const lines = [];
|
|
52
|
+
const loc = node.filePath ? ` ${node.filePath}:${node.startLine}` : '';
|
|
53
|
+
const sig = node.signature ? ` — ${node.signature}` : '';
|
|
54
|
+
lines.push(`${node.name} (${node.kind})${loc}${sig}`);
|
|
55
|
+
if (callers.length > 0) {
|
|
56
|
+
const shown = callers.slice(0, 5).map(formatCaller).join('; ');
|
|
57
|
+
const more = callers.length > 5 ? ` (+${callers.length - 5} more)` : '';
|
|
58
|
+
lines.push(`callers: ${shown}${more}`);
|
|
59
|
+
}
|
|
60
|
+
if (callees.length > 0) {
|
|
61
|
+
const shown = callees.slice(0, 5).map(formatCallee).join('; ');
|
|
62
|
+
const more = callees.length > 5 ? ` (+${callees.length - 5} more)` : '';
|
|
63
|
+
lines.push(`callees: ${shown}${more}`);
|
|
64
|
+
}
|
|
65
|
+
return { label: `kg-calls[${node.name}]`, lines };
|
|
66
|
+
}
|
|
67
|
+
// ---------------------------------------------------------------------------
|
|
68
|
+
// Public API
|
|
69
|
+
// ---------------------------------------------------------------------------
|
|
70
|
+
const MAX_CONTENT = 3072;
|
|
71
|
+
const MAX_SYMBOLS = 3;
|
|
72
|
+
const MAX_FILES = 2;
|
|
73
|
+
/**
|
|
74
|
+
* Evaluate whether to inject KG code structure context for a given prompt.
|
|
75
|
+
* Uses CodeGraph as the sole data source.
|
|
76
|
+
*/
|
|
77
|
+
export async function evaluateKgContextInjection(_agentType, prompt, projectPath) {
|
|
78
|
+
const symbols = extractSymbols(prompt).slice(0, MAX_SYMBOLS);
|
|
79
|
+
const files = extractFilePaths(prompt).slice(0, MAX_FILES);
|
|
80
|
+
if (symbols.length === 0 && files.length === 0) {
|
|
81
|
+
return { inject: false, reason: 'no-references' };
|
|
82
|
+
}
|
|
83
|
+
try {
|
|
84
|
+
const { isCodeGraphAvailable, CodeGraphAdapter } = require('../graph/codegraph-adapter.js');
|
|
85
|
+
if (!isCodeGraphAvailable()) {
|
|
86
|
+
return { inject: false, reason: 'codegraph-unavailable' };
|
|
87
|
+
}
|
|
88
|
+
const adapter = new CodeGraphAdapter(projectPath);
|
|
89
|
+
try {
|
|
90
|
+
if (!adapter.isInitialized()) {
|
|
91
|
+
return { inject: false, reason: 'codegraph-not-initialized' };
|
|
92
|
+
}
|
|
93
|
+
const sections = [];
|
|
94
|
+
for (const sym of symbols) {
|
|
95
|
+
const results = await adapter.searchNodes(sym, { limit: 1 });
|
|
96
|
+
if (results.length === 0)
|
|
97
|
+
continue;
|
|
98
|
+
const node = results[0].node ?? results[0];
|
|
99
|
+
const callers = await adapter.getCallers(node.id, 1);
|
|
100
|
+
const callees = await adapter.getCallees(node.id, 1);
|
|
101
|
+
sections.push(buildRichSymbolSection(node, callers, callees));
|
|
102
|
+
}
|
|
103
|
+
for (const fp of files) {
|
|
104
|
+
const fileNodes = await adapter.getNodesInFile(fp);
|
|
105
|
+
if (fileNodes.length === 0)
|
|
106
|
+
continue;
|
|
107
|
+
const exported = fileNodes
|
|
108
|
+
.filter((n) => n.isExported)
|
|
109
|
+
.slice(0, 8)
|
|
110
|
+
.map((n) => `${n.kind}:${n.name}`);
|
|
111
|
+
if (exported.length > 0) {
|
|
112
|
+
sections.push({
|
|
113
|
+
label: `kg-file[${fp}]`,
|
|
114
|
+
lines: [`exports: ${exported.join(', ')}`],
|
|
115
|
+
});
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
if (sections.length === 0) {
|
|
119
|
+
return { inject: false, reason: 'no-matches' };
|
|
120
|
+
}
|
|
121
|
+
const usedChars = sections.reduce((sum, s) => sum + s.lines.reduce((acc, l) => acc + l.length, 0), 0);
|
|
122
|
+
let content = wrapMaestroContext(sections, { used: usedChars, max: MAX_CONTENT });
|
|
123
|
+
if (content.length > MAX_CONTENT) {
|
|
124
|
+
content = content.slice(0, MAX_CONTENT - 20) + '...\n</maestro-context>';
|
|
125
|
+
}
|
|
126
|
+
return { inject: true, content };
|
|
127
|
+
}
|
|
128
|
+
finally {
|
|
129
|
+
try {
|
|
130
|
+
adapter.close();
|
|
131
|
+
}
|
|
132
|
+
catch { /* best-effort */ }
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
catch {
|
|
136
|
+
return { inject: false, reason: 'codegraph-unavailable' };
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
//# sourceMappingURL=kg-context-injector.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"kg-context-injector.js","sourceRoot":"","sources":["../../../src/hooks/kg-context-injector.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* KG Sync Hook — UserPromptSubmit
|
|
3
|
+
*
|
|
4
|
+
* Silently syncs the Knowledge Graph when source files have changed.
|
|
5
|
+
* Uses CodeGraph as the sole sync engine. Gracefully degrades when
|
|
6
|
+
* CodeGraph is unavailable.
|
|
7
|
+
*
|
|
8
|
+
* Design: Pure evaluateXxx function + thin runner in hooks.ts.
|
|
9
|
+
* Bridge file in os.tmpdir() for cooldown dedup across invocations.
|
|
10
|
+
*/
|
|
11
|
+
export interface KgSyncResult {
|
|
12
|
+
synced: boolean;
|
|
13
|
+
reason?: string;
|
|
14
|
+
filesChanged?: number;
|
|
15
|
+
durationMs?: number;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Evaluate whether a KG sync is needed and perform it if so.
|
|
19
|
+
* Uses CodeGraph as the sole sync engine.
|
|
20
|
+
*/
|
|
21
|
+
export declare function evaluateKgSync(projectPath: string, sessionId: string): Promise<KgSyncResult>;
|
|
22
|
+
//# sourceMappingURL=kg-sync-hook.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"kg-sync-hook.d.ts","sourceRoot":"","sources":["../../../src/hooks/kg-sync-hook.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAuBH,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAWD;;;GAGG;AACH,wBAAsB,cAAc,CAClC,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,YAAY,CAAC,CA8CvB"}
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* KG Sync Hook — UserPromptSubmit
|
|
3
|
+
*
|
|
4
|
+
* Silently syncs the Knowledge Graph when source files have changed.
|
|
5
|
+
* Uses CodeGraph as the sole sync engine. Gracefully degrades when
|
|
6
|
+
* CodeGraph is unavailable.
|
|
7
|
+
*
|
|
8
|
+
* Design: Pure evaluateXxx function + thin runner in hooks.ts.
|
|
9
|
+
* Bridge file in os.tmpdir() for cooldown dedup across invocations.
|
|
10
|
+
*/
|
|
11
|
+
import { existsSync, readFileSync, writeFileSync } from 'node:fs';
|
|
12
|
+
import { execSync } from 'node:child_process';
|
|
13
|
+
import { join } from 'node:path';
|
|
14
|
+
import { tmpdir } from 'node:os';
|
|
15
|
+
import { createRequire } from 'node:module';
|
|
16
|
+
import { KG_SYNC_BRIDGE_PREFIX } from './constants.js';
|
|
17
|
+
const require = createRequire(import.meta.url);
|
|
18
|
+
/** Minimum seconds between sync attempts */
|
|
19
|
+
const COOLDOWN_SECONDS = 30;
|
|
20
|
+
/** Source extensions that trigger a sync */
|
|
21
|
+
const SOURCE_EXTENSIONS = new Set([
|
|
22
|
+
'.ts', '.tsx', '.js', '.jsx', '.py', '.go', '.rs', '.java',
|
|
23
|
+
]);
|
|
24
|
+
// ---------------------------------------------------------------------------
|
|
25
|
+
// Public API
|
|
26
|
+
// ---------------------------------------------------------------------------
|
|
27
|
+
/**
|
|
28
|
+
* Evaluate whether a KG sync is needed and perform it if so.
|
|
29
|
+
* Uses CodeGraph as the sole sync engine.
|
|
30
|
+
*/
|
|
31
|
+
export async function evaluateKgSync(projectPath, sessionId) {
|
|
32
|
+
// Step 1: Check if CodeGraph is available and initialized
|
|
33
|
+
let cgMod;
|
|
34
|
+
try {
|
|
35
|
+
cgMod = require('../graph/codegraph-adapter.js');
|
|
36
|
+
if (!cgMod.isCodeGraphAvailable()) {
|
|
37
|
+
return { synced: false, reason: 'codegraph-unavailable' };
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
catch {
|
|
41
|
+
return { synced: false, reason: 'codegraph-unavailable' };
|
|
42
|
+
}
|
|
43
|
+
const adapter = new cgMod.CodeGraphAdapter(projectPath);
|
|
44
|
+
try {
|
|
45
|
+
if (!adapter.isInitialized()) {
|
|
46
|
+
return { synced: false, reason: 'codegraph-not-initialized' };
|
|
47
|
+
}
|
|
48
|
+
// Step 2: Cooldown check via bridge file
|
|
49
|
+
const bridge = readBridge(sessionId);
|
|
50
|
+
if (bridge) {
|
|
51
|
+
const elapsed = Math.floor(Date.now() / 1000) - bridge.last_sync;
|
|
52
|
+
if (elapsed < COOLDOWN_SECONDS) {
|
|
53
|
+
return { synced: false, reason: 'cooldown' };
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
// Step 3: Git quick check — any source files changed?
|
|
57
|
+
if (!detectSourceChanges(projectPath)) {
|
|
58
|
+
writeBridge(sessionId);
|
|
59
|
+
return { synced: false, reason: 'no-changes' };
|
|
60
|
+
}
|
|
61
|
+
// Step 4: Perform incremental sync via CodeGraph
|
|
62
|
+
const start = Date.now();
|
|
63
|
+
try {
|
|
64
|
+
const result = await adapter.sync();
|
|
65
|
+
const filesChanged = result.filesAdded + result.filesModified + result.filesRemoved;
|
|
66
|
+
writeBridge(sessionId);
|
|
67
|
+
return { synced: true, filesChanged, durationMs: Date.now() - start };
|
|
68
|
+
}
|
|
69
|
+
catch {
|
|
70
|
+
return { synced: false, reason: 'sync-error' };
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
finally {
|
|
74
|
+
try {
|
|
75
|
+
adapter.close();
|
|
76
|
+
}
|
|
77
|
+
catch { /* best-effort */ }
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
// ---------------------------------------------------------------------------
|
|
81
|
+
// Internal helpers
|
|
82
|
+
// ---------------------------------------------------------------------------
|
|
83
|
+
function detectSourceChanges(projectPath) {
|
|
84
|
+
try {
|
|
85
|
+
const output = execSync('git status --porcelain', {
|
|
86
|
+
cwd: projectPath,
|
|
87
|
+
encoding: 'utf-8',
|
|
88
|
+
timeout: 5000,
|
|
89
|
+
stdio: ['pipe', 'pipe', 'pipe'],
|
|
90
|
+
});
|
|
91
|
+
if (!output.trim())
|
|
92
|
+
return false;
|
|
93
|
+
const lines = output.trim().split('\n');
|
|
94
|
+
for (const line of lines) {
|
|
95
|
+
const filePath = line.slice(3).trim();
|
|
96
|
+
const actualPath = filePath.includes(' -> ')
|
|
97
|
+
? filePath.split(' -> ')[1]
|
|
98
|
+
: filePath;
|
|
99
|
+
const dotIdx = actualPath.lastIndexOf('.');
|
|
100
|
+
if (dotIdx >= 0) {
|
|
101
|
+
const ext = actualPath.slice(dotIdx).toLowerCase();
|
|
102
|
+
if (SOURCE_EXTENSIONS.has(ext))
|
|
103
|
+
return true;
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
return false;
|
|
107
|
+
}
|
|
108
|
+
catch {
|
|
109
|
+
return false;
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
function bridgePath(sessionId) {
|
|
113
|
+
return join(tmpdir(), `${KG_SYNC_BRIDGE_PREFIX}${sessionId}.json`);
|
|
114
|
+
}
|
|
115
|
+
function readBridge(sessionId) {
|
|
116
|
+
const path = bridgePath(sessionId);
|
|
117
|
+
if (!existsSync(path))
|
|
118
|
+
return null;
|
|
119
|
+
try {
|
|
120
|
+
const raw = readFileSync(path, 'utf-8');
|
|
121
|
+
return JSON.parse(raw);
|
|
122
|
+
}
|
|
123
|
+
catch {
|
|
124
|
+
return null;
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
function writeBridge(sessionId) {
|
|
128
|
+
try {
|
|
129
|
+
const data = {
|
|
130
|
+
last_sync: Math.floor(Date.now() / 1000),
|
|
131
|
+
session_id: sessionId,
|
|
132
|
+
};
|
|
133
|
+
writeFileSync(bridgePath(sessionId), JSON.stringify(data), 'utf-8');
|
|
134
|
+
}
|
|
135
|
+
catch {
|
|
136
|
+
// Best-effort
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
//# sourceMappingURL=kg-sync-hook.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"kg-sync-hook.js","sourceRoot":"","sources":["../../../src/hooks/kg-sync-hook.ts"],"names":[],"mappings":"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"}
|
|
@@ -22,7 +22,7 @@ export class SpecInjectionPlugin {
|
|
|
22
22
|
this.sessionId = sessionId;
|
|
23
23
|
}
|
|
24
24
|
apply(registry) {
|
|
25
|
-
registry.transformPrompt.tap(this.name, (prompt) => {
|
|
25
|
+
registry.transformPrompt.tap(this.name, async (prompt) => {
|
|
26
26
|
const parts = [prompt];
|
|
27
27
|
const config = loadSpecInjectionConfig(this.projectPath);
|
|
28
28
|
// Category-based injection with keyword filters
|
|
@@ -71,7 +71,7 @@ export class SpecInjectionPlugin {
|
|
|
71
71
|
}
|
|
72
72
|
// Keyword-based injection (with session dedup)
|
|
73
73
|
if (this.sessionId) {
|
|
74
|
-
const kwResult = evaluateKeywordInjection(prompt, this.projectPath, this.sessionId);
|
|
74
|
+
const kwResult = await evaluateKeywordInjection(prompt, this.projectPath, this.sessionId);
|
|
75
75
|
if (kwResult.inject && kwResult.content) {
|
|
76
76
|
parts.push(kwResult.content);
|
|
77
77
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spec-injection-plugin.js","sourceRoot":"","sources":["../../../../src/hooks/plugins/spec-injection-plugin.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,uEAAuE;AACvE,8EAA8E;AAI9E,OAAO,EAAE,SAAS,EAAE,aAAa,EAA4C,MAAM,4BAA4B,CAAC;AAChH,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC1D,OAAO,EAAE,wBAAwB,EAAE,MAAM,6BAA6B,CAAC;AACvE,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAEzD;;;;;;GAMG;AACH,MAAM,OAAO,mBAAmB;IAIX;IACA;IAJV,IAAI,GAAG,eAAe,CAAC;IAEhC,YACmB,cAAsB,OAAO,CAAC,GAAG,EAAE,EACnC,YAAoB,EAAE;QADtB,gBAAW,GAAX,WAAW,CAAwB;QACnC,cAAS,GAAT,SAAS,CAAa;IACtC,CAAC;IAEJ,KAAK,CAAC,QAA8B;QAClC,QAAQ,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,
|
|
1
|
+
{"version":3,"file":"spec-injection-plugin.js","sourceRoot":"","sources":["../../../../src/hooks/plugins/spec-injection-plugin.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skill-context.d.ts","sourceRoot":"","sources":["../../../src/hooks/skill-context.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAYH,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,GAAG,EAAE,MAAM,CAAC;CACb;AAED,UAAU,UAAU;IAClB,kBAAkB,EAAE;QAClB,aAAa,EAAE,MAAM,CAAC;QACtB,iBAAiB,EAAE,MAAM,CAAC;KAC3B,CAAC;CACH;AA6CD,MAAM,WAAW,iBAAiB;IAChC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;
|
|
1
|
+
{"version":3,"file":"skill-context.d.ts","sourceRoot":"","sources":["../../../src/hooks/skill-context.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAYH,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,GAAG,EAAE,MAAM,CAAC;CACb;AAED,UAAU,UAAU;IAClB,kBAAkB,EAAE;QAClB,aAAa,EAAE,MAAM,CAAC;QACtB,iBAAiB,EAAE,MAAM,CAAC;KAC3B,CAAC;CACH;AA6CD,MAAM,WAAW,iBAAiB;IAChC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAsBD;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CAStE;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAGrE;AAqFD;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,iBAAiB,GAAG,UAAU,GAAG,IAAI,CA4D/E"}
|
|
@@ -22,7 +22,6 @@ import { readCoordBridge, buildNextStepHint } from './coordinator-tracker.js';
|
|
|
22
22
|
const SKILL_PATTERNS = [
|
|
23
23
|
{ pattern: /\/maestro-execute\s+(\d+)/, skill: 'maestro-execute' },
|
|
24
24
|
{ pattern: /\/maestro-plan\s+(\d+)/, skill: 'maestro-plan' },
|
|
25
|
-
{ pattern: /\/maestro-verify\s+(\d+)/, skill: 'maestro-verify' },
|
|
26
25
|
{ pattern: /\/maestro-analyze\s+(\d+)/, skill: 'maestro-analyze' },
|
|
27
26
|
{ pattern: /\/maestro-milestone-audit(?:\s+(\d+))?/, skill: 'maestro-milestone-audit' },
|
|
28
27
|
{ pattern: /\/quality-review\s+(\d+)/, skill: 'quality-review' },
|