cgraphx 1.4.3 → 2.0.1
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/LICENSE +1 -1
- package/README.en.md +126 -0
- package/README.md +78 -196
- package/dist/.claude-template/.cgraphx/timeline-current-turn.json +1 -0
- package/dist/.claude-template/CLAUDE.md +10 -0
- package/dist/.claude-template/FLOW-MAP.md +107 -0
- package/dist/.claude-template/agents/knowledge-recall.md +11 -17
- package/dist/.claude-template/commands/my-query.md +1 -1
- package/dist/.claude-template/deprecated-assets.json +11 -0
- package/dist/.claude-template/hooks/precommit-check/precommit-check.cjs +27 -24
- package/dist/.claude-template/skills/.cgraphx/timeline-current-turn.json +1 -0
- package/dist/.claude-template/skills/cgraphx-guide/SKILL.md +22 -24
- package/dist/.claude-template/skills/cgraphx-guide/how-to-use.html +273 -156
- package/dist/.claude-template/skills/cgraphx-guide/how-to-use.md +148 -86
- package/dist/.claude-template/skills/clarify-requirements/SKILL.md +75 -384
- package/dist/.claude-template/skills/developer-timeline/SKILL.md +3 -2
- package/dist/.claude-template/skills/export-table-ddl/SKILL.md +3 -2
- package/dist/.claude-template/skills/handdrawn-deck/.cgraphx/timeline-current-turn.json +1 -0
- package/dist/.claude-template/skills/handdrawn-deck/SKILL.md +305 -0
- package/dist/.claude-template/skills/handdrawn-deck/references/.cgraphx/timeline-current-turn.json +1 -0
- package/dist/.claude-template/skills/handdrawn-deck/references/deck-template.html +469 -0
- package/dist/.claude-template/skills/handdrawn-deck/references/gen-script-md.cjs +44 -0
- package/dist/.claude-template/skills/handdrawn-deck/references/seg.cjs +54 -0
- package/dist/.claude-template/skills/handdrawn-sketch-engine/.cgraphx/timeline-current-turn.json +1 -0
- package/dist/.claude-template/skills/handdrawn-sketch-engine/SKILL.md +279 -0
- package/dist/.claude-template/skills/handdrawn-sketch-engine/assets/icon-library.js +238 -0
- package/dist/.claude-template/skills/handdrawn-sketch-engine/references/engine-template.html +275 -0
- package/dist/.claude-template/skills/handdrawn-sketch-engine/references/reference-render.html +445 -0
- package/dist/.claude-template/skills/implementation/SKILL.md +36 -130
- package/dist/.claude-template/skills/init-project-guides/SKILL.md +81 -0
- package/dist/.claude-template/skills/init-project-guides/templates/git-standards.md +37 -0
- package/dist/.claude-template/skills/init-project-guides/templates/go.md +160 -0
- package/dist/.claude-template/skills/init-project-guides/templates/java.md +173 -0
- package/dist/.claude-template/skills/init-project-guides/templates/schema-convention.md +11 -0
- package/dist/.claude-template/skills/init-project-guides/templates/typescript.md +156 -0
- package/dist/.claude-template/skills/knowledge-api/SKILL.md +143 -0
- package/dist/.claude-template/skills/knowledge-api/agent-prompt.md +51 -0
- package/dist/.claude-template/skills/knowledge-init/SKILL.md +761 -0
- package/dist/.claude-template/skills/knowledge-migrate/SKILL.md +173 -0
- package/dist/.claude-template/skills/knowledge-recall/SKILL.md +5 -4
- package/dist/.claude-template/skills/knowledge-write/SKILL.md +126 -0
- package/dist/.claude-template/skills/knowledge-write/template-concept.md +95 -0
- package/dist/.claude-template/skills/knowledge-write/template-flow.md +100 -0
- package/dist/.claude-template/skills/knowledge-write/template-guide.md +77 -0
- package/dist/.claude-template/skills/knowledge-write/template-memory.md +61 -0
- package/dist/.claude-template/skills/run-api-test/SKILL.md +6 -4
- package/dist/.claude-template/skills/run-api-test/assets/template-test-report.md +448 -55
- package/dist/.claude-template/skills/run-api-test/assets/template-test-verify.jsonl +5 -5
- package/dist/.claude-template/skills/run-api-test/references/report-format.md +54 -19
- package/dist/.claude-template/skills/subagent-implement/SKILL.md +60 -183
- package/dist/.claude-template/skills/subagent-implement/implementer-prompt.md +9 -4
- package/dist/.claude-template/skills/subagent-implement/quality-reviewer-prompt.md +1 -1
- package/dist/.claude-template/skills/subagent-implement/spec-reviewer-prompt.md +1 -0
- package/dist/.claude-template/skills/write-api/SKILL.md +7 -5
- package/dist/.claude-template/skills/write-api/assets/template-api-spec.md +2 -3
- package/dist/.claude-template/skills/write-api/assets/template-request.bru +21 -0
- package/dist/.claude-template/skills/write-api/references/ai-prompts.md +1 -2
- package/dist/.claude-template/skills/write-api/references/api-spec-format.md +0 -1
- package/dist/.claude-template/skills/write-api-doc/SKILL.md +8 -7
- package/dist/.claude-template/skills/write-design-doc/SKILL.md +86 -0
- package/dist/.claude-template/skills/write-design-doc/template-design-html.md +357 -0
- package/dist/.claude-template/skills/write-design-doc/template-design-md.md +164 -0
- package/dist/.claude-template/skills/write-plan/SKILL.md +94 -291
- package/dist/.claude-template/skills/write-plan/plan-document-reviewer-prompt.md +24 -6
- package/dist/.claude-template/skills/write-prd/SKILL.md +4 -2
- package/dist/.claude-template/skills/write-spec/SKILL.md +75 -282
- package/dist/.claude-template/skills/write-unit-test-code/SKILL.md +87 -2
- package/dist/.claude-template/skills/write-workload/SKILL.md +130 -0
- package/dist/cli/fatal-handler.d.ts +21 -0
- package/dist/cli/fatal-handler.d.ts.map +1 -0
- package/dist/cli/fatal-handler.js +109 -0
- package/dist/cli/fatal-handler.js.map +1 -0
- package/dist/cli/index.d.ts +27 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +284 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/cli/installer/claude-assets.d.ts +101 -0
- package/dist/cli/installer/claude-assets.d.ts.map +1 -0
- package/dist/cli/installer/claude-assets.js +321 -0
- package/dist/cli/installer/claude-assets.js.map +1 -0
- package/dist/cli/installer/index.d.ts +103 -0
- package/dist/cli/installer/index.d.ts.map +1 -0
- package/dist/cli/installer/index.js +526 -0
- package/dist/cli/installer/index.js.map +1 -0
- package/dist/cli/installer/targets/claude.d.ts +56 -0
- package/dist/cli/installer/targets/claude.d.ts.map +1 -0
- package/dist/cli/installer/targets/claude.js +497 -0
- package/dist/cli/installer/targets/claude.js.map +1 -0
- package/dist/cli/installer/targets/registry.d.ts +32 -0
- package/dist/cli/installer/targets/registry.d.ts.map +1 -0
- package/dist/cli/installer/targets/registry.js +72 -0
- package/dist/cli/installer/targets/registry.js.map +1 -0
- package/dist/cli/installer/targets/shared.d.ts +66 -0
- package/dist/cli/installer/targets/shared.d.ts.map +1 -0
- package/dist/cli/installer/targets/shared.js +228 -0
- package/dist/cli/installer/targets/shared.js.map +1 -0
- package/dist/cli/installer/targets/types.d.ts +96 -0
- package/dist/cli/installer/targets/types.d.ts.map +1 -0
- package/dist/cli/installer/targets/types.js +15 -0
- package/dist/cli/installer/targets/types.js.map +1 -0
- package/dist/cli/node-version-check.d.ts +32 -0
- package/dist/cli/node-version-check.d.ts.map +1 -0
- package/dist/cli/node-version-check.js +54 -0
- package/dist/cli/node-version-check.js.map +1 -0
- package/dist/cli/ui/glyphs.d.ts +43 -0
- package/dist/cli/ui/glyphs.d.ts.map +1 -0
- package/dist/cli/ui/glyphs.js +79 -0
- package/dist/cli/ui/glyphs.js.map +1 -0
- package/dist/cli/uninstall.d.ts +18 -0
- package/dist/cli/uninstall.d.ts.map +1 -0
- package/dist/cli/uninstall.js +19 -0
- package/dist/cli/uninstall.js.map +1 -0
- package/dist/cli/upgrade/index.d.ts +149 -0
- package/dist/cli/upgrade/index.d.ts.map +1 -0
- package/dist/cli/upgrade/index.js +395 -0
- package/dist/cli/upgrade/index.js.map +1 -0
- package/dist/core/db/index.d.ts +123 -0
- package/dist/core/db/index.d.ts.map +1 -0
- package/dist/core/db/index.js +260 -0
- package/dist/core/db/index.js.map +1 -0
- package/dist/core/db/migrate.d.ts +29 -0
- package/dist/core/db/migrate.d.ts.map +1 -0
- package/dist/core/db/migrate.js +100 -0
- package/dist/core/db/migrate.js.map +1 -0
- package/dist/core/db/sqlite-adapter.d.ts +51 -0
- package/dist/core/db/sqlite-adapter.d.ts.map +1 -0
- package/dist/core/db/sqlite-adapter.js +116 -0
- package/dist/core/db/sqlite-adapter.js.map +1 -0
- package/dist/core/dbquery/cli.d.ts +17 -0
- package/dist/core/dbquery/cli.d.ts.map +1 -0
- package/dist/core/dbquery/cli.js +246 -0
- package/dist/core/dbquery/cli.js.map +1 -0
- package/dist/core/dbquery/config.d.ts.map +1 -0
- package/dist/core/dbquery/config.js.map +1 -0
- package/dist/core/dbquery/constants.d.ts.map +1 -0
- package/dist/core/dbquery/constants.js.map +1 -0
- package/dist/core/dbquery/drivers/mysql.d.ts.map +1 -0
- package/dist/core/dbquery/drivers/mysql.js.map +1 -0
- package/dist/core/dbquery/drivers/postgres.d.ts.map +1 -0
- package/dist/core/dbquery/drivers/postgres.js.map +1 -0
- package/dist/core/dbquery/errors.d.ts +40 -0
- package/dist/core/dbquery/errors.d.ts.map +1 -0
- package/dist/core/dbquery/errors.js +85 -0
- package/dist/core/dbquery/errors.js.map +1 -0
- package/dist/core/dbquery/executor.d.ts.map +1 -0
- package/dist/core/dbquery/executor.js.map +1 -0
- package/dist/core/dbquery/format.d.ts.map +1 -0
- package/dist/core/dbquery/format.js.map +1 -0
- package/dist/core/dbquery/identifiers.d.ts.map +1 -0
- package/dist/core/dbquery/identifiers.js.map +1 -0
- package/dist/core/dbquery/index.d.ts.map +1 -0
- package/dist/core/dbquery/index.js.map +1 -0
- package/dist/core/dbquery/init.d.ts +33 -0
- package/dist/core/dbquery/init.d.ts.map +1 -0
- package/dist/core/dbquery/init.js +125 -0
- package/dist/core/dbquery/init.js.map +1 -0
- package/dist/core/dbquery/logging.d.ts.map +1 -0
- package/dist/core/dbquery/logging.js.map +1 -0
- package/dist/core/dbquery/queries.d.ts.map +1 -0
- package/dist/core/dbquery/queries.js.map +1 -0
- package/dist/core/dbquery/safety.d.ts.map +1 -0
- package/dist/core/dbquery/safety.js.map +1 -0
- package/dist/core/dbquery/types.d.ts +139 -0
- package/dist/core/dbquery/types.d.ts.map +1 -0
- package/dist/core/dbquery/types.js +10 -0
- package/dist/core/dbquery/types.js.map +1 -0
- package/dist/core/directory.d.ts +60 -0
- package/dist/core/directory.d.ts.map +1 -0
- package/dist/core/directory.js +243 -0
- package/dist/core/directory.js.map +1 -0
- package/dist/core/errors.d.ts +79 -0
- package/dist/core/errors.d.ts.map +1 -0
- package/dist/core/errors.js +133 -0
- package/dist/core/errors.js.map +1 -0
- package/dist/core/features/cli.d.ts +12 -0
- package/dist/core/features/cli.d.ts.map +1 -0
- package/dist/core/features/cli.js +154 -0
- package/dist/core/features/cli.js.map +1 -0
- package/dist/core/features/index.d.ts +15 -0
- package/dist/core/features/index.d.ts.map +1 -0
- package/dist/core/features/index.js +39 -0
- package/dist/core/features/index.js.map +1 -0
- package/dist/core/features/scanner.d.ts +26 -0
- package/dist/core/features/scanner.d.ts.map +1 -0
- package/dist/core/features/scanner.js +198 -0
- package/dist/core/features/scanner.js.map +1 -0
- package/dist/core/features/sync.d.ts +26 -0
- package/dist/core/features/sync.d.ts.map +1 -0
- package/dist/core/features/sync.js +108 -0
- package/dist/core/features/sync.js.map +1 -0
- package/dist/core/features/types.d.ts +35 -0
- package/dist/core/features/types.d.ts.map +1 -0
- package/dist/core/features/types.js +12 -0
- package/dist/core/features/types.js.map +1 -0
- package/dist/core/markdown/cli.d.ts +16 -0
- package/dist/core/markdown/cli.d.ts.map +1 -0
- package/dist/core/markdown/cli.js +575 -0
- package/dist/core/markdown/cli.js.map +1 -0
- package/dist/core/markdown/constants.d.ts +22 -0
- package/dist/core/markdown/constants.d.ts.map +1 -0
- package/dist/core/markdown/constants.js +61 -0
- package/dist/core/markdown/constants.js.map +1 -0
- package/dist/core/markdown/dedup.d.ts.map +1 -0
- package/dist/core/markdown/dedup.js.map +1 -0
- package/dist/core/markdown/errors.d.ts +22 -0
- package/dist/core/markdown/errors.d.ts.map +1 -0
- package/dist/core/markdown/errors.js +45 -0
- package/dist/core/markdown/errors.js.map +1 -0
- package/dist/core/markdown/extractor.d.ts.map +1 -0
- package/dist/core/markdown/extractor.js.map +1 -0
- package/dist/core/markdown/frontmatter-parser.d.ts +54 -0
- package/dist/core/markdown/frontmatter-parser.d.ts.map +1 -0
- package/dist/core/markdown/frontmatter-parser.js +229 -0
- package/dist/core/markdown/frontmatter-parser.js.map +1 -0
- package/dist/core/markdown/index.d.ts +21 -0
- package/dist/core/markdown/index.d.ts.map +1 -0
- package/dist/core/markdown/index.js +36 -0
- package/dist/core/markdown/index.js.map +1 -0
- package/dist/core/markdown/indexer.d.ts +34 -0
- package/dist/core/markdown/indexer.d.ts.map +1 -0
- package/dist/core/markdown/indexer.js +256 -0
- package/dist/core/markdown/indexer.js.map +1 -0
- package/dist/core/markdown/query-dedup.d.ts +23 -0
- package/dist/core/markdown/query-dedup.d.ts.map +1 -0
- package/dist/core/markdown/query-dedup.js +141 -0
- package/dist/core/markdown/query-dedup.js.map +1 -0
- package/dist/core/markdown/query-helpers.d.ts +66 -0
- package/dist/core/markdown/query-helpers.d.ts.map +1 -0
- package/dist/core/markdown/query-helpers.js +334 -0
- package/dist/core/markdown/query-helpers.js.map +1 -0
- package/dist/core/markdown/query.d.ts +125 -0
- package/dist/core/markdown/query.d.ts.map +1 -0
- package/dist/core/markdown/query.js +367 -0
- package/dist/core/markdown/query.js.map +1 -0
- package/dist/core/markdown/schema-bootstrap.d.ts +40 -0
- package/dist/core/markdown/schema-bootstrap.d.ts.map +1 -0
- package/dist/core/markdown/schema-bootstrap.js +85 -0
- package/dist/core/markdown/schema-bootstrap.js.map +1 -0
- package/dist/core/markdown/schema.sql +124 -0
- package/dist/core/markdown/store.d.ts.map +1 -0
- package/dist/core/markdown/store.js.map +1 -0
- package/dist/core/markdown/summary-extractor.d.ts.map +1 -0
- package/dist/core/markdown/summary-extractor.js.map +1 -0
- package/dist/core/markdown/types.d.ts +186 -0
- package/dist/core/markdown/types.d.ts.map +1 -0
- package/dist/core/markdown/types.js.map +1 -0
- package/dist/core/markdown/validator.d.ts +44 -0
- package/dist/core/markdown/validator.d.ts.map +1 -0
- package/dist/core/markdown/validator.js +95 -0
- package/dist/core/markdown/validator.js.map +1 -0
- package/dist/core/timeline/bash-semantics.d.ts.map +1 -0
- package/dist/core/timeline/bash-semantics.js.map +1 -0
- package/dist/core/timeline/cli.d.ts.map +1 -0
- package/dist/core/timeline/cli.js.map +1 -0
- package/dist/core/timeline/constants.d.ts +62 -0
- package/dist/core/timeline/constants.d.ts.map +1 -0
- package/dist/core/timeline/constants.js +73 -0
- package/dist/core/timeline/constants.js.map +1 -0
- package/dist/core/timeline/errors.d.ts.map +1 -0
- package/dist/core/timeline/errors.js.map +1 -0
- package/dist/core/timeline/hook-runner.d.ts.map +1 -0
- package/dist/core/timeline/hook-runner.js.map +1 -0
- package/dist/core/timeline/hooks.d.ts.map +1 -0
- package/dist/core/timeline/hooks.js.map +1 -0
- package/dist/core/timeline/index.d.ts.map +1 -0
- package/dist/core/timeline/index.js.map +1 -0
- package/dist/core/timeline/indexer.d.ts.map +1 -0
- package/dist/core/timeline/indexer.js.map +1 -0
- package/dist/core/timeline/installer.d.ts.map +1 -0
- package/dist/core/timeline/installer.js.map +1 -0
- package/dist/core/timeline/payload.d.ts.map +1 -0
- package/dist/core/timeline/payload.js.map +1 -0
- package/dist/core/timeline/post-tool-summary.d.ts.map +1 -0
- package/dist/core/timeline/post-tool-summary.js.map +1 -0
- package/dist/core/timeline/recorder.d.ts.map +1 -0
- package/dist/core/timeline/recorder.js.map +1 -0
- package/dist/core/timeline/schema-bootstrap.d.ts +42 -0
- package/dist/core/timeline/schema-bootstrap.d.ts.map +1 -0
- package/dist/core/timeline/schema-bootstrap.js +81 -0
- package/dist/core/timeline/schema-bootstrap.js.map +1 -0
- package/dist/core/timeline/store.d.ts.map +1 -0
- package/dist/core/timeline/store.js.map +1 -0
- package/dist/core/timeline/types.d.ts.map +1 -0
- package/dist/core/timeline/types.js.map +1 -0
- package/dist/core/types.d.ts +25 -0
- package/dist/core/types.d.ts.map +1 -0
- package/dist/core/types.js +12 -0
- package/dist/core/types.js.map +1 -0
- package/dist/web/bootstrap.d.ts +26 -0
- package/dist/web/bootstrap.d.ts.map +1 -0
- package/dist/web/bootstrap.js +98 -0
- package/dist/web/bootstrap.js.map +1 -0
- package/dist/web/constants.d.ts +27 -0
- package/dist/web/constants.d.ts.map +1 -0
- package/dist/web/constants.js +41 -0
- package/dist/web/constants.js.map +1 -0
- package/dist/web/errors.d.ts +46 -0
- package/dist/web/errors.d.ts.map +1 -0
- package/dist/web/errors.js +56 -0
- package/dist/web/errors.js.map +1 -0
- package/dist/web/index.d.ts +13 -0
- package/dist/web/index.d.ts.map +1 -0
- package/dist/web/index.js +20 -0
- package/dist/web/index.js.map +1 -0
- package/dist/web/layout.d.ts +31 -0
- package/dist/web/layout.d.ts.map +1 -0
- package/dist/web/layout.js +77 -0
- package/dist/web/layout.js.map +1 -0
- package/dist/web/markdown.d.ts +23 -0
- package/dist/web/markdown.d.ts.map +1 -0
- package/dist/web/markdown.js +38 -0
- package/dist/web/markdown.js.map +1 -0
- package/dist/web/overview-templates.d.ts +123 -0
- package/dist/web/overview-templates.d.ts.map +1 -0
- package/dist/web/overview-templates.js +213 -0
- package/dist/web/overview-templates.js.map +1 -0
- package/dist/web/pages-detail.d.ts +32 -0
- package/dist/web/pages-detail.d.ts.map +1 -0
- package/dist/web/pages-detail.js +275 -0
- package/dist/web/pages-detail.js.map +1 -0
- package/dist/web/pages-overview.d.ts +60 -0
- package/dist/web/pages-overview.d.ts.map +1 -0
- package/dist/web/pages-overview.js +304 -0
- package/dist/web/pages-overview.js.map +1 -0
- package/dist/web/public/app.css +1772 -0
- package/dist/web/public/app.js +41 -0
- package/dist/web/register.d.ts +12 -0
- package/dist/web/register.d.ts.map +1 -0
- package/dist/web/register.js +88 -0
- package/dist/web/register.js.map +1 -0
- package/dist/web/render-utils.d.ts +28 -0
- package/dist/web/render-utils.d.ts.map +1 -0
- package/dist/web/render-utils.js +54 -0
- package/dist/web/render-utils.js.map +1 -0
- package/dist/web/server.d.ts +42 -0
- package/dist/web/server.d.ts.map +1 -0
- package/dist/web/server.js +292 -0
- package/dist/web/server.js.map +1 -0
- package/package.json +14 -27
- package/scripts/copy-assets.cjs +89 -0
- package/dist/.claude-template/commands/my-commit.md +0 -9
- package/dist/.claude-template/skills/cgraphx/SKILL.md +0 -143
- package/dist/.claude-template/skills/cgraphx/agent-prompt.md +0 -56
- package/dist/.claude-template/skills/code-impact-api/SKILL.md +0 -143
- package/dist/.claude-template/skills/code-impact-api/agent-prompt.md +0 -51
- package/dist/.claude-template/skills/code-impact-docgen/SKILL.md +0 -376
- package/dist/.claude-template/skills/code-impact-docgen/template-design-html.md +0 -357
- package/dist/.claude-template/skills/code-impact-docgen/template-design-md.md +0 -164
- package/dist/.claude-template/skills/code-impact-init/SKILL.md +0 -803
- package/dist/.claude-template/skills/code-impact-markdown/SKILL.md +0 -353
- package/dist/.claude-template/skills/code-impact-markdown/template-guide.md +0 -68
- package/dist/.claude-template/skills/code-impact-markdown/template-memory.md +0 -82
- package/dist/.claude-template/skills/code-impact-markdown/template-runbook.md +0 -58
- package/dist/.claude-template/skills/precommit-review/SKILL.md +0 -50
- package/dist/api-test/ai-fields.d.ts +0 -37
- package/dist/api-test/ai-fields.d.ts.map +0 -1
- package/dist/api-test/ai-fields.js +0 -114
- package/dist/api-test/ai-fields.js.map +0 -1
- package/dist/api-test/assemble.d.ts +0 -76
- package/dist/api-test/assemble.d.ts.map +0 -1
- package/dist/api-test/assemble.js +0 -185
- package/dist/api-test/assemble.js.map +0 -1
- package/dist/api-test/bru-cli-invoker.d.ts +0 -72
- package/dist/api-test/bru-cli-invoker.d.ts.map +0 -1
- package/dist/api-test/bru-cli-invoker.js +0 -169
- package/dist/api-test/bru-cli-invoker.js.map +0 -1
- package/dist/api-test/bru-report-parser.d.ts +0 -24
- package/dist/api-test/bru-report-parser.d.ts.map +0 -1
- package/dist/api-test/bru-report-parser.js +0 -110
- package/dist/api-test/bru-report-parser.js.map +0 -1
- package/dist/api-test/bru-runner.d.ts +0 -101
- package/dist/api-test/bru-runner.d.ts.map +0 -1
- package/dist/api-test/bru-runner.js +0 -316
- package/dist/api-test/bru-runner.js.map +0 -1
- package/dist/api-test/bru-writer.d.ts +0 -52
- package/dist/api-test/bru-writer.d.ts.map +0 -1
- package/dist/api-test/bru-writer.js +0 -159
- package/dist/api-test/bru-writer.js.map +0 -1
- package/dist/api-test/call-chain-extractor.d.ts +0 -80
- package/dist/api-test/call-chain-extractor.d.ts.map +0 -1
- package/dist/api-test/call-chain-extractor.js +0 -179
- package/dist/api-test/call-chain-extractor.js.map +0 -1
- package/dist/api-test/cli.d.ts +0 -133
- package/dist/api-test/cli.d.ts.map +0 -1
- package/dist/api-test/cli.js +0 -1009
- package/dist/api-test/cli.js.map +0 -1
- package/dist/api-test/config.d.ts +0 -75
- package/dist/api-test/config.d.ts.map +0 -1
- package/dist/api-test/config.js +0 -406
- package/dist/api-test/config.js.map +0 -1
- package/dist/api-test/db-query-cli.d.ts +0 -51
- package/dist/api-test/db-query-cli.d.ts.map +0 -1
- package/dist/api-test/db-query-cli.js +0 -119
- package/dist/api-test/db-query-cli.js.map +0 -1
- package/dist/api-test/enhance-prepare.d.ts +0 -111
- package/dist/api-test/enhance-prepare.d.ts.map +0 -1
- package/dist/api-test/enhance-prepare.js +0 -425
- package/dist/api-test/enhance-prepare.js.map +0 -1
- package/dist/api-test/enhance-write.d.ts +0 -28
- package/dist/api-test/enhance-write.d.ts.map +0 -1
- package/dist/api-test/enhance-write.js +0 -145
- package/dist/api-test/enhance-write.js.map +0 -1
- package/dist/api-test/errors.d.ts +0 -48
- package/dist/api-test/errors.d.ts.map +0 -1
- package/dist/api-test/errors.js +0 -76
- package/dist/api-test/errors.js.map +0 -1
- package/dist/api-test/field-extractor.d.ts +0 -98
- package/dist/api-test/field-extractor.d.ts.map +0 -1
- package/dist/api-test/field-extractor.js +0 -327
- package/dist/api-test/field-extractor.js.map +0 -1
- package/dist/api-test/impl-finder.d.ts +0 -37
- package/dist/api-test/impl-finder.d.ts.map +0 -1
- package/dist/api-test/impl-finder.js +0 -54
- package/dist/api-test/impl-finder.js.map +0 -1
- package/dist/api-test/index.d.ts +0 -41
- package/dist/api-test/index.d.ts.map +0 -1
- package/dist/api-test/index.js +0 -124
- package/dist/api-test/index.js.map +0 -1
- package/dist/api-test/java-parser.d.ts +0 -89
- package/dist/api-test/java-parser.d.ts.map +0 -1
- package/dist/api-test/java-parser.js +0 -508
- package/dist/api-test/java-parser.js.map +0 -1
- package/dist/api-test/md-writer.d.ts +0 -49
- package/dist/api-test/md-writer.d.ts.map +0 -1
- package/dist/api-test/md-writer.js +0 -202
- package/dist/api-test/md-writer.js.map +0 -1
- package/dist/api-test/parser-httpservice.d.ts +0 -91
- package/dist/api-test/parser-httpservice.d.ts.map +0 -1
- package/dist/api-test/parser-httpservice.js +0 -271
- package/dist/api-test/parser-httpservice.js.map +0 -1
- package/dist/api-test/report.d.ts +0 -188
- package/dist/api-test/report.d.ts.map +0 -1
- package/dist/api-test/report.js +0 -522
- package/dist/api-test/report.js.map +0 -1
- package/dist/api-test/snapshot.d.ts +0 -26
- package/dist/api-test/snapshot.d.ts.map +0 -1
- package/dist/api-test/snapshot.js +0 -150
- package/dist/api-test/snapshot.js.map +0 -1
- package/dist/api-test/test-history.d.ts +0 -48
- package/dist/api-test/test-history.d.ts.map +0 -1
- package/dist/api-test/test-history.js +0 -122
- package/dist/api-test/test-history.js.map +0 -1
- package/dist/api-test/types.d.ts +0 -174
- package/dist/api-test/types.d.ts.map +0 -1
- package/dist/api-test/types.js +0 -13
- package/dist/api-test/types.js.map +0 -1
- package/dist/api-test/verify-prepare.d.ts +0 -30
- package/dist/api-test/verify-prepare.d.ts.map +0 -1
- package/dist/api-test/verify-prepare.js +0 -150
- package/dist/api-test/verify-prepare.js.map +0 -1
- package/dist/api-test/verify-write.d.ts +0 -31
- package/dist/api-test/verify-write.d.ts.map +0 -1
- package/dist/api-test/verify-write.js +0 -159
- package/dist/api-test/verify-write.js.map +0 -1
- package/dist/bin/codegraph.d.ts +0 -26
- package/dist/bin/codegraph.d.ts.map +0 -1
- package/dist/bin/codegraph.js +0 -1914
- package/dist/bin/codegraph.js.map +0 -1
- package/dist/bin/fatal-handler.d.ts +0 -20
- package/dist/bin/fatal-handler.d.ts.map +0 -1
- package/dist/bin/fatal-handler.js +0 -118
- package/dist/bin/fatal-handler.js.map +0 -1
- package/dist/bin/node-version-check.d.ts +0 -51
- package/dist/bin/node-version-check.d.ts.map +0 -1
- package/dist/bin/node-version-check.js +0 -114
- package/dist/bin/node-version-check.js.map +0 -1
- package/dist/bin/uninstall.d.ts +0 -14
- package/dist/bin/uninstall.d.ts.map +0 -1
- package/dist/bin/uninstall.js +0 -36
- package/dist/bin/uninstall.js.map +0 -1
- package/dist/context/formatter.d.ts +0 -30
- package/dist/context/formatter.d.ts.map +0 -1
- package/dist/context/formatter.js +0 -263
- package/dist/context/formatter.js.map +0 -1
- package/dist/context/index.d.ts +0 -119
- package/dist/context/index.d.ts.map +0 -1
- package/dist/context/index.js +0 -1296
- package/dist/context/index.js.map +0 -1
- package/dist/context/markers.d.ts +0 -19
- package/dist/context/markers.d.ts.map +0 -1
- package/dist/context/markers.js +0 -22
- package/dist/context/markers.js.map +0 -1
- package/dist/db/index.d.ts +0 -122
- package/dist/db/index.d.ts.map +0 -1
- package/dist/db/index.js +0 -296
- package/dist/db/index.js.map +0 -1
- package/dist/db/migrations.d.ts +0 -44
- package/dist/db/migrations.d.ts.map +0 -1
- package/dist/db/migrations.js +0 -140
- package/dist/db/migrations.js.map +0 -1
- package/dist/db/queries.d.ts +0 -401
- package/dist/db/queries.d.ts.map +0 -1
- package/dist/db/queries.js +0 -1591
- package/dist/db/queries.js.map +0 -1
- package/dist/db/schema.sql +0 -152
- package/dist/db/sqlite-adapter.d.ts +0 -53
- package/dist/db/sqlite-adapter.d.ts.map +0 -1
- package/dist/db/sqlite-adapter.js +0 -117
- package/dist/db/sqlite-adapter.js.map +0 -1
- package/dist/dbquery/cli.d.ts +0 -17
- package/dist/dbquery/cli.d.ts.map +0 -1
- package/dist/dbquery/cli.js +0 -246
- package/dist/dbquery/cli.js.map +0 -1
- package/dist/dbquery/config.d.ts.map +0 -1
- package/dist/dbquery/config.js.map +0 -1
- package/dist/dbquery/constants.d.ts.map +0 -1
- package/dist/dbquery/constants.js.map +0 -1
- package/dist/dbquery/drivers/mysql.d.ts.map +0 -1
- package/dist/dbquery/drivers/mysql.js.map +0 -1
- package/dist/dbquery/drivers/postgres.d.ts.map +0 -1
- package/dist/dbquery/drivers/postgres.js.map +0 -1
- package/dist/dbquery/dump-schema.d.ts +0 -46
- package/dist/dbquery/dump-schema.d.ts.map +0 -1
- package/dist/dbquery/dump-schema.js +0 -379
- package/dist/dbquery/dump-schema.js.map +0 -1
- package/dist/dbquery/errors.d.ts +0 -40
- package/dist/dbquery/errors.d.ts.map +0 -1
- package/dist/dbquery/errors.js +0 -85
- package/dist/dbquery/errors.js.map +0 -1
- package/dist/dbquery/executor.d.ts.map +0 -1
- package/dist/dbquery/executor.js.map +0 -1
- package/dist/dbquery/format.d.ts.map +0 -1
- package/dist/dbquery/format.js.map +0 -1
- package/dist/dbquery/identifiers.d.ts.map +0 -1
- package/dist/dbquery/identifiers.js.map +0 -1
- package/dist/dbquery/index.d.ts.map +0 -1
- package/dist/dbquery/index.js.map +0 -1
- package/dist/dbquery/init.d.ts +0 -33
- package/dist/dbquery/init.d.ts.map +0 -1
- package/dist/dbquery/init.js +0 -125
- package/dist/dbquery/init.js.map +0 -1
- package/dist/dbquery/logging.d.ts.map +0 -1
- package/dist/dbquery/logging.js.map +0 -1
- package/dist/dbquery/mcp-tools.d.ts +0 -29
- package/dist/dbquery/mcp-tools.d.ts.map +0 -1
- package/dist/dbquery/mcp-tools.js +0 -206
- package/dist/dbquery/mcp-tools.js.map +0 -1
- package/dist/dbquery/queries.d.ts.map +0 -1
- package/dist/dbquery/queries.js.map +0 -1
- package/dist/dbquery/safety.d.ts.map +0 -1
- package/dist/dbquery/safety.js.map +0 -1
- package/dist/dbquery/types.d.ts +0 -139
- package/dist/dbquery/types.d.ts.map +0 -1
- package/dist/dbquery/types.js +0 -10
- package/dist/dbquery/types.js.map +0 -1
- package/dist/directory.d.ts +0 -147
- package/dist/directory.d.ts.map +0 -1
- package/dist/directory.js +0 -523
- package/dist/directory.js.map +0 -1
- package/dist/errors.d.ts +0 -136
- package/dist/errors.d.ts.map +0 -1
- package/dist/errors.js +0 -219
- package/dist/errors.js.map +0 -1
- package/dist/extraction/astro-extractor.d.ts +0 -79
- package/dist/extraction/astro-extractor.d.ts.map +0 -1
- package/dist/extraction/astro-extractor.js +0 -320
- package/dist/extraction/astro-extractor.js.map +0 -1
- package/dist/extraction/dfm-extractor.d.ts +0 -31
- package/dist/extraction/dfm-extractor.d.ts.map +0 -1
- package/dist/extraction/dfm-extractor.js +0 -151
- package/dist/extraction/dfm-extractor.js.map +0 -1
- package/dist/extraction/extraction-version.d.ts +0 -25
- package/dist/extraction/extraction-version.d.ts.map +0 -1
- package/dist/extraction/extraction-version.js +0 -28
- package/dist/extraction/extraction-version.js.map +0 -1
- package/dist/extraction/function-ref.d.ts +0 -118
- package/dist/extraction/function-ref.d.ts.map +0 -1
- package/dist/extraction/function-ref.js +0 -727
- package/dist/extraction/function-ref.js.map +0 -1
- package/dist/extraction/generated-detection.d.ts +0 -30
- package/dist/extraction/generated-detection.d.ts.map +0 -1
- package/dist/extraction/generated-detection.js +0 -83
- package/dist/extraction/generated-detection.js.map +0 -1
- package/dist/extraction/grammars.d.ts +0 -114
- package/dist/extraction/grammars.d.ts.map +0 -1
- package/dist/extraction/grammars.js +0 -477
- package/dist/extraction/grammars.js.map +0 -1
- package/dist/extraction/index.d.ts +0 -175
- package/dist/extraction/index.d.ts.map +0 -1
- package/dist/extraction/index.js +0 -1887
- package/dist/extraction/index.js.map +0 -1
- package/dist/extraction/languages/c-cpp.d.ts +0 -12
- package/dist/extraction/languages/c-cpp.d.ts.map +0 -1
- package/dist/extraction/languages/c-cpp.js +0 -275
- package/dist/extraction/languages/c-cpp.js.map +0 -1
- package/dist/extraction/languages/csharp.d.ts +0 -25
- package/dist/extraction/languages/csharp.d.ts.map +0 -1
- package/dist/extraction/languages/csharp.js +0 -175
- package/dist/extraction/languages/csharp.js.map +0 -1
- package/dist/extraction/languages/dart.d.ts +0 -3
- package/dist/extraction/languages/dart.d.ts.map +0 -1
- package/dist/extraction/languages/dart.js +0 -374
- package/dist/extraction/languages/dart.js.map +0 -1
- package/dist/extraction/languages/go.d.ts +0 -3
- package/dist/extraction/languages/go.d.ts.map +0 -1
- package/dist/extraction/languages/go.js +0 -111
- package/dist/extraction/languages/go.js.map +0 -1
- package/dist/extraction/languages/index.d.ts +0 -10
- package/dist/extraction/languages/index.d.ts.map +0 -1
- package/dist/extraction/languages/index.js +0 -53
- package/dist/extraction/languages/index.js.map +0 -1
- package/dist/extraction/languages/java.d.ts +0 -3
- package/dist/extraction/languages/java.d.ts.map +0 -1
- package/dist/extraction/languages/java.js +0 -315
- package/dist/extraction/languages/java.js.map +0 -1
- package/dist/extraction/languages/javascript.d.ts +0 -3
- package/dist/extraction/languages/javascript.d.ts.map +0 -1
- package/dist/extraction/languages/javascript.js +0 -106
- package/dist/extraction/languages/javascript.js.map +0 -1
- package/dist/extraction/languages/kotlin.d.ts +0 -3
- package/dist/extraction/languages/kotlin.d.ts.map +0 -1
- package/dist/extraction/languages/kotlin.js +0 -379
- package/dist/extraction/languages/kotlin.js.map +0 -1
- package/dist/extraction/languages/lua.d.ts +0 -3
- package/dist/extraction/languages/lua.d.ts.map +0 -1
- package/dist/extraction/languages/lua.js +0 -150
- package/dist/extraction/languages/lua.js.map +0 -1
- package/dist/extraction/languages/luau.d.ts +0 -3
- package/dist/extraction/languages/luau.d.ts.map +0 -1
- package/dist/extraction/languages/luau.js +0 -37
- package/dist/extraction/languages/luau.js.map +0 -1
- package/dist/extraction/languages/objc.d.ts +0 -3
- package/dist/extraction/languages/objc.d.ts.map +0 -1
- package/dist/extraction/languages/objc.js +0 -175
- package/dist/extraction/languages/objc.js.map +0 -1
- package/dist/extraction/languages/pascal.d.ts +0 -3
- package/dist/extraction/languages/pascal.d.ts.map +0 -1
- package/dist/extraction/languages/pascal.js +0 -77
- package/dist/extraction/languages/pascal.js.map +0 -1
- package/dist/extraction/languages/php.d.ts +0 -3
- package/dist/extraction/languages/php.d.ts.map +0 -1
- package/dist/extraction/languages/php.js +0 -196
- package/dist/extraction/languages/php.js.map +0 -1
- package/dist/extraction/languages/python.d.ts +0 -3
- package/dist/extraction/languages/python.d.ts.map +0 -1
- package/dist/extraction/languages/python.js +0 -56
- package/dist/extraction/languages/python.js.map +0 -1
- package/dist/extraction/languages/r.d.ts +0 -3
- package/dist/extraction/languages/r.d.ts.map +0 -1
- package/dist/extraction/languages/r.js +0 -314
- package/dist/extraction/languages/r.js.map +0 -1
- package/dist/extraction/languages/ruby.d.ts +0 -3
- package/dist/extraction/languages/ruby.d.ts.map +0 -1
- package/dist/extraction/languages/ruby.js +0 -149
- package/dist/extraction/languages/ruby.js.map +0 -1
- package/dist/extraction/languages/rust.d.ts +0 -3
- package/dist/extraction/languages/rust.d.ts.map +0 -1
- package/dist/extraction/languages/rust.js +0 -142
- package/dist/extraction/languages/rust.js.map +0 -1
- package/dist/extraction/languages/scala.d.ts +0 -3
- package/dist/extraction/languages/scala.d.ts.map +0 -1
- package/dist/extraction/languages/scala.js +0 -209
- package/dist/extraction/languages/scala.js.map +0 -1
- package/dist/extraction/languages/swift.d.ts +0 -3
- package/dist/extraction/languages/swift.d.ts.map +0 -1
- package/dist/extraction/languages/swift.js +0 -152
- package/dist/extraction/languages/swift.js.map +0 -1
- package/dist/extraction/languages/typescript.d.ts +0 -16
- package/dist/extraction/languages/typescript.d.ts.map +0 -1
- package/dist/extraction/languages/typescript.js +0 -167
- package/dist/extraction/languages/typescript.js.map +0 -1
- package/dist/extraction/liquid-extractor.d.ts +0 -59
- package/dist/extraction/liquid-extractor.d.ts.map +0 -1
- package/dist/extraction/liquid-extractor.js +0 -357
- package/dist/extraction/liquid-extractor.js.map +0 -1
- package/dist/extraction/mybatis-extractor.d.ts +0 -48
- package/dist/extraction/mybatis-extractor.d.ts.map +0 -1
- package/dist/extraction/mybatis-extractor.js +0 -198
- package/dist/extraction/mybatis-extractor.js.map +0 -1
- package/dist/extraction/parse-worker.d.ts +0 -8
- package/dist/extraction/parse-worker.d.ts.map +0 -1
- package/dist/extraction/parse-worker.js +0 -97
- package/dist/extraction/parse-worker.js.map +0 -1
- package/dist/extraction/razor-extractor.d.ts +0 -42
- package/dist/extraction/razor-extractor.d.ts.map +0 -1
- package/dist/extraction/razor-extractor.js +0 -285
- package/dist/extraction/razor-extractor.js.map +0 -1
- package/dist/extraction/svelte-extractor.d.ts +0 -56
- package/dist/extraction/svelte-extractor.d.ts.map +0 -1
- package/dist/extraction/svelte-extractor.js +0 -275
- package/dist/extraction/svelte-extractor.js.map +0 -1
- package/dist/extraction/tree-sitter-helpers.d.ts +0 -28
- package/dist/extraction/tree-sitter-helpers.d.ts.map +0 -1
- package/dist/extraction/tree-sitter-helpers.js +0 -152
- package/dist/extraction/tree-sitter-helpers.js.map +0 -1
- package/dist/extraction/tree-sitter-types.d.ts +0 -239
- package/dist/extraction/tree-sitter-types.d.ts.map +0 -1
- package/dist/extraction/tree-sitter-types.js +0 -10
- package/dist/extraction/tree-sitter-types.js.map +0 -1
- package/dist/extraction/tree-sitter.d.ts +0 -647
- package/dist/extraction/tree-sitter.d.ts.map +0 -1
- package/dist/extraction/tree-sitter.js +0 -5592
- package/dist/extraction/tree-sitter.js.map +0 -1
- package/dist/extraction/vue-extractor.d.ts +0 -51
- package/dist/extraction/vue-extractor.d.ts.map +0 -1
- package/dist/extraction/vue-extractor.js +0 -254
- package/dist/extraction/vue-extractor.js.map +0 -1
- package/dist/extraction/wasm/tree-sitter-c_sharp.wasm +0 -0
- package/dist/extraction/wasm/tree-sitter-lua.wasm +0 -0
- package/dist/extraction/wasm/tree-sitter-luau.wasm +0 -0
- package/dist/extraction/wasm/tree-sitter-pascal.wasm +0 -0
- package/dist/extraction/wasm/tree-sitter-r.wasm +0 -0
- package/dist/extraction/wasm/tree-sitter-scala.wasm +0 -0
- package/dist/extraction/wasm-runtime-flags.d.ts +0 -38
- package/dist/extraction/wasm-runtime-flags.d.ts.map +0 -1
- package/dist/extraction/wasm-runtime-flags.js +0 -106
- package/dist/extraction/wasm-runtime-flags.js.map +0 -1
- package/dist/graph/index.d.ts +0 -8
- package/dist/graph/index.d.ts.map +0 -1
- package/dist/graph/index.js +0 -13
- package/dist/graph/index.js.map +0 -1
- package/dist/graph/queries.d.ts +0 -106
- package/dist/graph/queries.d.ts.map +0 -1
- package/dist/graph/queries.js +0 -339
- package/dist/graph/queries.js.map +0 -1
- package/dist/graph/traversal.d.ts +0 -127
- package/dist/graph/traversal.d.ts.map +0 -1
- package/dist/graph/traversal.js +0 -540
- package/dist/graph/traversal.js.map +0 -1
- package/dist/index.d.ts +0 -563
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js +0 -1041
- package/dist/index.js.map +0 -1
- package/dist/installer/claude-assets.d.ts +0 -45
- package/dist/installer/claude-assets.d.ts.map +0 -1
- package/dist/installer/claude-assets.js +0 -144
- package/dist/installer/claude-assets.js.map +0 -1
- package/dist/installer/config-writer.d.ts +0 -28
- package/dist/installer/config-writer.d.ts.map +0 -1
- package/dist/installer/config-writer.js +0 -91
- package/dist/installer/config-writer.js.map +0 -1
- package/dist/installer/index.d.ts +0 -101
- package/dist/installer/index.d.ts.map +0 -1
- package/dist/installer/index.js +0 -692
- package/dist/installer/index.js.map +0 -1
- package/dist/installer/instructions-template.d.ts +0 -41
- package/dist/installer/instructions-template.d.ts.map +0 -1
- package/dist/installer/instructions-template.js +0 -53
- package/dist/installer/instructions-template.js.map +0 -1
- package/dist/installer/targets/antigravity.d.ts +0 -57
- package/dist/installer/targets/antigravity.d.ts.map +0 -1
- package/dist/installer/targets/antigravity.js +0 -308
- package/dist/installer/targets/antigravity.js.map +0 -1
- package/dist/installer/targets/claude.d.ts +0 -81
- package/dist/installer/targets/claude.d.ts.map +0 -1
- package/dist/installer/targets/claude.js +0 -617
- package/dist/installer/targets/claude.js.map +0 -1
- package/dist/installer/targets/codex.d.ts +0 -18
- package/dist/installer/targets/codex.d.ts.map +0 -1
- package/dist/installer/targets/codex.js +0 -185
- package/dist/installer/targets/codex.js.map +0 -1
- package/dist/installer/targets/cursor.d.ts +0 -35
- package/dist/installer/targets/cursor.d.ts.map +0 -1
- package/dist/installer/targets/cursor.js +0 -254
- package/dist/installer/targets/cursor.js.map +0 -1
- package/dist/installer/targets/gemini.d.ts +0 -26
- package/dist/installer/targets/gemini.d.ts.map +0 -1
- package/dist/installer/targets/gemini.js +0 -165
- package/dist/installer/targets/gemini.js.map +0 -1
- package/dist/installer/targets/hermes.d.ts +0 -18
- package/dist/installer/targets/hermes.d.ts.map +0 -1
- package/dist/installer/targets/hermes.js +0 -359
- package/dist/installer/targets/hermes.js.map +0 -1
- package/dist/installer/targets/kiro.d.ts +0 -27
- package/dist/installer/targets/kiro.d.ts.map +0 -1
- package/dist/installer/targets/kiro.js +0 -178
- package/dist/installer/targets/kiro.js.map +0 -1
- package/dist/installer/targets/opencode.d.ts +0 -38
- package/dist/installer/targets/opencode.d.ts.map +0 -1
- package/dist/installer/targets/opencode.js +0 -288
- package/dist/installer/targets/opencode.js.map +0 -1
- package/dist/installer/targets/registry.d.ts +0 -35
- package/dist/installer/targets/registry.d.ts.map +0 -1
- package/dist/installer/targets/registry.js +0 -91
- package/dist/installer/targets/registry.js.map +0 -1
- package/dist/installer/targets/shared.d.ts +0 -101
- package/dist/installer/targets/shared.d.ts.map +0 -1
- package/dist/installer/targets/shared.js +0 -264
- package/dist/installer/targets/shared.js.map +0 -1
- package/dist/installer/targets/toml.d.ts +0 -52
- package/dist/installer/targets/toml.d.ts.map +0 -1
- package/dist/installer/targets/toml.js +0 -147
- package/dist/installer/targets/toml.js.map +0 -1
- package/dist/installer/targets/types.d.ts +0 -108
- package/dist/installer/targets/types.d.ts.map +0 -1
- package/dist/installer/targets/types.js +0 -16
- package/dist/installer/targets/types.js.map +0 -1
- package/dist/markdown/cli.d.ts +0 -16
- package/dist/markdown/cli.d.ts.map +0 -1
- package/dist/markdown/cli.js +0 -575
- package/dist/markdown/cli.js.map +0 -1
- package/dist/markdown/constants.d.ts +0 -22
- package/dist/markdown/constants.d.ts.map +0 -1
- package/dist/markdown/constants.js +0 -71
- package/dist/markdown/constants.js.map +0 -1
- package/dist/markdown/dedup.d.ts.map +0 -1
- package/dist/markdown/dedup.js.map +0 -1
- package/dist/markdown/errors.d.ts +0 -22
- package/dist/markdown/errors.d.ts.map +0 -1
- package/dist/markdown/errors.js +0 -45
- package/dist/markdown/errors.js.map +0 -1
- package/dist/markdown/extractor.d.ts.map +0 -1
- package/dist/markdown/extractor.js.map +0 -1
- package/dist/markdown/frontmatter-parser.d.ts +0 -47
- package/dist/markdown/frontmatter-parser.d.ts.map +0 -1
- package/dist/markdown/frontmatter-parser.js +0 -199
- package/dist/markdown/frontmatter-parser.js.map +0 -1
- package/dist/markdown/indexer.d.ts +0 -34
- package/dist/markdown/indexer.d.ts.map +0 -1
- package/dist/markdown/indexer.js +0 -256
- package/dist/markdown/indexer.js.map +0 -1
- package/dist/markdown/mcp-tools.d.ts +0 -33
- package/dist/markdown/mcp-tools.d.ts.map +0 -1
- package/dist/markdown/mcp-tools.js +0 -300
- package/dist/markdown/mcp-tools.js.map +0 -1
- package/dist/markdown/query.d.ts +0 -108
- package/dist/markdown/query.d.ts.map +0 -1
- package/dist/markdown/query.js +0 -570
- package/dist/markdown/query.js.map +0 -1
- package/dist/markdown/schema-bootstrap.d.ts +0 -40
- package/dist/markdown/schema-bootstrap.d.ts.map +0 -1
- package/dist/markdown/schema-bootstrap.js +0 -85
- package/dist/markdown/schema-bootstrap.js.map +0 -1
- package/dist/markdown/schema.sql +0 -124
- package/dist/markdown/store.d.ts.map +0 -1
- package/dist/markdown/store.js.map +0 -1
- package/dist/markdown/summary-extractor.d.ts.map +0 -1
- package/dist/markdown/summary-extractor.js.map +0 -1
- package/dist/markdown/types.d.ts +0 -159
- package/dist/markdown/types.d.ts.map +0 -1
- package/dist/markdown/types.js.map +0 -1
- package/dist/markdown/validator.d.ts +0 -44
- package/dist/markdown/validator.d.ts.map +0 -1
- package/dist/markdown/validator.js +0 -95
- package/dist/markdown/validator.js.map +0 -1
- package/dist/mcp/daemon-manager.d.ts +0 -42
- package/dist/mcp/daemon-manager.d.ts.map +0 -1
- package/dist/mcp/daemon-manager.js +0 -129
- package/dist/mcp/daemon-manager.js.map +0 -1
- package/dist/mcp/daemon-paths.d.ts +0 -46
- package/dist/mcp/daemon-paths.d.ts.map +0 -1
- package/dist/mcp/daemon-paths.js +0 -125
- package/dist/mcp/daemon-paths.js.map +0 -1
- package/dist/mcp/daemon-registry.d.ts +0 -47
- package/dist/mcp/daemon-registry.d.ts.map +0 -1
- package/dist/mcp/daemon-registry.js +0 -229
- package/dist/mcp/daemon-registry.js.map +0 -1
- package/dist/mcp/daemon.d.ts +0 -220
- package/dist/mcp/daemon.d.ts.map +0 -1
- package/dist/mcp/daemon.js +0 -637
- package/dist/mcp/daemon.js.map +0 -1
- package/dist/mcp/dynamic-boundaries.d.ts +0 -41
- package/dist/mcp/dynamic-boundaries.d.ts.map +0 -1
- package/dist/mcp/dynamic-boundaries.js +0 -359
- package/dist/mcp/dynamic-boundaries.js.map +0 -1
- package/dist/mcp/engine.d.ts +0 -105
- package/dist/mcp/engine.d.ts.map +0 -1
- package/dist/mcp/engine.js +0 -278
- package/dist/mcp/engine.js.map +0 -1
- package/dist/mcp/index.d.ts +0 -113
- package/dist/mcp/index.d.ts.map +0 -1
- package/dist/mcp/index.js +0 -499
- package/dist/mcp/index.js.map +0 -1
- package/dist/mcp/liveness-watchdog.d.ts +0 -18
- package/dist/mcp/liveness-watchdog.d.ts.map +0 -1
- package/dist/mcp/liveness-watchdog.js +0 -207
- package/dist/mcp/liveness-watchdog.js.map +0 -1
- package/dist/mcp/ppid-watchdog.d.ts +0 -44
- package/dist/mcp/ppid-watchdog.d.ts.map +0 -1
- package/dist/mcp/ppid-watchdog.js +0 -27
- package/dist/mcp/ppid-watchdog.js.map +0 -1
- package/dist/mcp/proxy.d.ts +0 -87
- package/dist/mcp/proxy.d.ts.map +0 -1
- package/dist/mcp/proxy.js +0 -641
- package/dist/mcp/proxy.js.map +0 -1
- package/dist/mcp/server-instructions.d.ts +0 -34
- package/dist/mcp/server-instructions.d.ts.map +0 -1
- package/dist/mcp/server-instructions.js +0 -106
- package/dist/mcp/server-instructions.js.map +0 -1
- package/dist/mcp/session.d.ts +0 -79
- package/dist/mcp/session.d.ts.map +0 -1
- package/dist/mcp/session.js +0 -330
- package/dist/mcp/session.js.map +0 -1
- package/dist/mcp/stdin-teardown.d.ts +0 -27
- package/dist/mcp/stdin-teardown.d.ts.map +0 -1
- package/dist/mcp/stdin-teardown.js +0 -49
- package/dist/mcp/stdin-teardown.js.map +0 -1
- package/dist/mcp/tools.d.ts +0 -547
- package/dist/mcp/tools.d.ts.map +0 -1
- package/dist/mcp/tools.js +0 -4122
- package/dist/mcp/tools.js.map +0 -1
- package/dist/mcp/transport.d.ts +0 -188
- package/dist/mcp/transport.d.ts.map +0 -1
- package/dist/mcp/transport.js +0 -359
- package/dist/mcp/transport.js.map +0 -1
- package/dist/mcp/version.d.ts +0 -19
- package/dist/mcp/version.d.ts.map +0 -1
- package/dist/mcp/version.js +0 -71
- package/dist/mcp/version.js.map +0 -1
- package/dist/project-config.d.ts +0 -36
- package/dist/project-config.d.ts.map +0 -1
- package/dist/project-config.js +0 -235
- package/dist/project-config.js.map +0 -1
- package/dist/reasoning/config.d.ts +0 -45
- package/dist/reasoning/config.d.ts.map +0 -1
- package/dist/reasoning/config.js +0 -171
- package/dist/reasoning/config.js.map +0 -1
- package/dist/reasoning/credentials.d.ts +0 -5
- package/dist/reasoning/credentials.d.ts.map +0 -1
- package/dist/reasoning/credentials.js +0 -83
- package/dist/reasoning/credentials.js.map +0 -1
- package/dist/reasoning/login.d.ts +0 -21
- package/dist/reasoning/login.d.ts.map +0 -1
- package/dist/reasoning/login.js +0 -85
- package/dist/reasoning/login.js.map +0 -1
- package/dist/reasoning/reasoner.d.ts +0 -43
- package/dist/reasoning/reasoner.d.ts.map +0 -1
- package/dist/reasoning/reasoner.js +0 -308
- package/dist/reasoning/reasoner.js.map +0 -1
- package/dist/resolution/c-fnptr-synthesizer.d.ts +0 -33
- package/dist/resolution/c-fnptr-synthesizer.d.ts.map +0 -1
- package/dist/resolution/c-fnptr-synthesizer.js +0 -352
- package/dist/resolution/c-fnptr-synthesizer.js.map +0 -1
- package/dist/resolution/callback-synthesizer.d.ts +0 -15
- package/dist/resolution/callback-synthesizer.d.ts.map +0 -1
- package/dist/resolution/callback-synthesizer.js +0 -2926
- package/dist/resolution/callback-synthesizer.js.map +0 -1
- package/dist/resolution/frameworks/astro.d.ts +0 -9
- package/dist/resolution/frameworks/astro.d.ts.map +0 -1
- package/dist/resolution/frameworks/astro.js +0 -169
- package/dist/resolution/frameworks/astro.js.map +0 -1
- package/dist/resolution/frameworks/cargo-workspace.d.ts +0 -18
- package/dist/resolution/frameworks/cargo-workspace.d.ts.map +0 -1
- package/dist/resolution/frameworks/cargo-workspace.js +0 -225
- package/dist/resolution/frameworks/cargo-workspace.js.map +0 -1
- package/dist/resolution/frameworks/csharp.d.ts +0 -8
- package/dist/resolution/frameworks/csharp.d.ts.map +0 -1
- package/dist/resolution/frameworks/csharp.js +0 -241
- package/dist/resolution/frameworks/csharp.js.map +0 -1
- package/dist/resolution/frameworks/drupal.d.ts +0 -51
- package/dist/resolution/frameworks/drupal.d.ts.map +0 -1
- package/dist/resolution/frameworks/drupal.js +0 -367
- package/dist/resolution/frameworks/drupal.js.map +0 -1
- package/dist/resolution/frameworks/expo-modules.d.ts +0 -3
- package/dist/resolution/frameworks/expo-modules.d.ts.map +0 -1
- package/dist/resolution/frameworks/expo-modules.js +0 -148
- package/dist/resolution/frameworks/expo-modules.js.map +0 -1
- package/dist/resolution/frameworks/express.d.ts +0 -8
- package/dist/resolution/frameworks/express.d.ts.map +0 -1
- package/dist/resolution/frameworks/express.js +0 -308
- package/dist/resolution/frameworks/express.js.map +0 -1
- package/dist/resolution/frameworks/fabric.d.ts +0 -3
- package/dist/resolution/frameworks/fabric.d.ts.map +0 -1
- package/dist/resolution/frameworks/fabric.js +0 -354
- package/dist/resolution/frameworks/fabric.js.map +0 -1
- package/dist/resolution/frameworks/go.d.ts +0 -8
- package/dist/resolution/frameworks/go.d.ts.map +0 -1
- package/dist/resolution/frameworks/go.js +0 -161
- package/dist/resolution/frameworks/go.js.map +0 -1
- package/dist/resolution/frameworks/goframe.d.ts +0 -41
- package/dist/resolution/frameworks/goframe.d.ts.map +0 -1
- package/dist/resolution/frameworks/goframe.js +0 -112
- package/dist/resolution/frameworks/goframe.js.map +0 -1
- package/dist/resolution/frameworks/index.d.ts +0 -50
- package/dist/resolution/frameworks/index.d.ts.map +0 -1
- package/dist/resolution/frameworks/index.js +0 -169
- package/dist/resolution/frameworks/index.js.map +0 -1
- package/dist/resolution/frameworks/java.d.ts +0 -8
- package/dist/resolution/frameworks/java.d.ts.map +0 -1
- package/dist/resolution/frameworks/java.js +0 -509
- package/dist/resolution/frameworks/java.js.map +0 -1
- package/dist/resolution/frameworks/laravel.d.ts +0 -13
- package/dist/resolution/frameworks/laravel.d.ts.map +0 -1
- package/dist/resolution/frameworks/laravel.js +0 -257
- package/dist/resolution/frameworks/laravel.js.map +0 -1
- package/dist/resolution/frameworks/nestjs.d.ts +0 -26
- package/dist/resolution/frameworks/nestjs.d.ts.map +0 -1
- package/dist/resolution/frameworks/nestjs.js +0 -698
- package/dist/resolution/frameworks/nestjs.js.map +0 -1
- package/dist/resolution/frameworks/play.d.ts +0 -19
- package/dist/resolution/frameworks/play.d.ts.map +0 -1
- package/dist/resolution/frameworks/play.js +0 -111
- package/dist/resolution/frameworks/play.js.map +0 -1
- package/dist/resolution/frameworks/python.d.ts +0 -10
- package/dist/resolution/frameworks/python.d.ts.map +0 -1
- package/dist/resolution/frameworks/python.js +0 -400
- package/dist/resolution/frameworks/python.js.map +0 -1
- package/dist/resolution/frameworks/react-native.d.ts +0 -3
- package/dist/resolution/frameworks/react-native.d.ts.map +0 -1
- package/dist/resolution/frameworks/react-native.js +0 -410
- package/dist/resolution/frameworks/react-native.js.map +0 -1
- package/dist/resolution/frameworks/react.d.ts +0 -8
- package/dist/resolution/frameworks/react.d.ts.map +0 -1
- package/dist/resolution/frameworks/react.js +0 -334
- package/dist/resolution/frameworks/react.js.map +0 -1
- package/dist/resolution/frameworks/ruby.d.ts +0 -8
- package/dist/resolution/frameworks/ruby.d.ts.map +0 -1
- package/dist/resolution/frameworks/ruby.js +0 -302
- package/dist/resolution/frameworks/ruby.js.map +0 -1
- package/dist/resolution/frameworks/rust.d.ts +0 -8
- package/dist/resolution/frameworks/rust.d.ts.map +0 -1
- package/dist/resolution/frameworks/rust.js +0 -304
- package/dist/resolution/frameworks/rust.js.map +0 -1
- package/dist/resolution/frameworks/svelte.d.ts +0 -9
- package/dist/resolution/frameworks/svelte.d.ts.map +0 -1
- package/dist/resolution/frameworks/svelte.js +0 -253
- package/dist/resolution/frameworks/svelte.js.map +0 -1
- package/dist/resolution/frameworks/swift-objc.d.ts +0 -37
- package/dist/resolution/frameworks/swift-objc.d.ts.map +0 -1
- package/dist/resolution/frameworks/swift-objc.js +0 -252
- package/dist/resolution/frameworks/swift-objc.js.map +0 -1
- package/dist/resolution/frameworks/swift.d.ts +0 -10
- package/dist/resolution/frameworks/swift.d.ts.map +0 -1
- package/dist/resolution/frameworks/swift.js +0 -400
- package/dist/resolution/frameworks/swift.js.map +0 -1
- package/dist/resolution/frameworks/vue.d.ts +0 -9
- package/dist/resolution/frameworks/vue.d.ts.map +0 -1
- package/dist/resolution/frameworks/vue.js +0 -303
- package/dist/resolution/frameworks/vue.js.map +0 -1
- package/dist/resolution/go-module.d.ts +0 -26
- package/dist/resolution/go-module.d.ts.map +0 -1
- package/dist/resolution/go-module.js +0 -78
- package/dist/resolution/go-module.js.map +0 -1
- package/dist/resolution/goframe-synthesizer.d.ts +0 -28
- package/dist/resolution/goframe-synthesizer.d.ts.map +0 -1
- package/dist/resolution/goframe-synthesizer.js +0 -158
- package/dist/resolution/goframe-synthesizer.js.map +0 -1
- package/dist/resolution/import-resolver.d.ts +0 -78
- package/dist/resolution/import-resolver.d.ts.map +0 -1
- package/dist/resolution/import-resolver.js +0 -1849
- package/dist/resolution/import-resolver.js.map +0 -1
- package/dist/resolution/index.d.ts +0 -196
- package/dist/resolution/index.d.ts.map +0 -1
- package/dist/resolution/index.js +0 -1341
- package/dist/resolution/index.js.map +0 -1
- package/dist/resolution/lru-cache.d.ts +0 -24
- package/dist/resolution/lru-cache.d.ts.map +0 -1
- package/dist/resolution/lru-cache.js +0 -62
- package/dist/resolution/lru-cache.js.map +0 -1
- package/dist/resolution/name-matcher.d.ts +0 -93
- package/dist/resolution/name-matcher.d.ts.map +0 -1
- package/dist/resolution/name-matcher.js +0 -1212
- package/dist/resolution/name-matcher.js.map +0 -1
- package/dist/resolution/path-aliases.d.ts +0 -68
- package/dist/resolution/path-aliases.d.ts.map +0 -1
- package/dist/resolution/path-aliases.js +0 -238
- package/dist/resolution/path-aliases.js.map +0 -1
- package/dist/resolution/scope-index.d.ts +0 -86
- package/dist/resolution/scope-index.d.ts.map +0 -1
- package/dist/resolution/scope-index.js +0 -143
- package/dist/resolution/scope-index.js.map +0 -1
- package/dist/resolution/stdlib-blocklist.d.ts +0 -53
- package/dist/resolution/stdlib-blocklist.d.ts.map +0 -1
- package/dist/resolution/stdlib-blocklist.js +0 -143
- package/dist/resolution/stdlib-blocklist.js.map +0 -1
- package/dist/resolution/strip-comments.d.ts +0 -27
- package/dist/resolution/strip-comments.d.ts.map +0 -1
- package/dist/resolution/strip-comments.js +0 -443
- package/dist/resolution/strip-comments.js.map +0 -1
- package/dist/resolution/swift-objc-bridge.d.ts +0 -134
- package/dist/resolution/swift-objc-bridge.d.ts.map +0 -1
- package/dist/resolution/swift-objc-bridge.js +0 -256
- package/dist/resolution/swift-objc-bridge.js.map +0 -1
- package/dist/resolution/types.d.ts +0 -233
- package/dist/resolution/types.d.ts.map +0 -1
- package/dist/resolution/types.js +0 -8
- package/dist/resolution/types.js.map +0 -1
- package/dist/resolution/workspace-packages.d.ts +0 -48
- package/dist/resolution/workspace-packages.d.ts.map +0 -1
- package/dist/resolution/workspace-packages.js +0 -208
- package/dist/resolution/workspace-packages.js.map +0 -1
- package/dist/search/ast-helpers.d.ts +0 -42
- package/dist/search/ast-helpers.d.ts.map +0 -1
- package/dist/search/ast-helpers.js +0 -106
- package/dist/search/ast-helpers.js.map +0 -1
- package/dist/search/call-sites.d.ts +0 -398
- package/dist/search/call-sites.d.ts.map +0 -1
- package/dist/search/call-sites.js +0 -1433
- package/dist/search/call-sites.js.map +0 -1
- package/dist/search/context.d.ts +0 -134
- package/dist/search/context.d.ts.map +0 -1
- package/dist/search/context.js +0 -575
- package/dist/search/context.js.map +0 -1
- package/dist/search/impact.d.ts +0 -139
- package/dist/search/impact.d.ts.map +0 -1
- package/dist/search/impact.js +0 -646
- package/dist/search/impact.js.map +0 -1
- package/dist/search/query-parser.d.ts +0 -57
- package/dist/search/query-parser.d.ts.map +0 -1
- package/dist/search/query-parser.js +0 -177
- package/dist/search/query-parser.js.map +0 -1
- package/dist/search/query-utils.d.ts +0 -87
- package/dist/search/query-utils.d.ts.map +0 -1
- package/dist/search/query-utils.js +0 -449
- package/dist/search/query-utils.js.map +0 -1
- package/dist/search/related.d.ts +0 -178
- package/dist/search/related.d.ts.map +0 -1
- package/dist/search/related.js +0 -667
- package/dist/search/related.js.map +0 -1
- package/dist/search/slice.d.ts +0 -148
- package/dist/search/slice.d.ts.map +0 -1
- package/dist/search/slice.js +0 -460
- package/dist/search/slice.js.map +0 -1
- package/dist/search/snr-constants.d.ts +0 -41
- package/dist/search/snr-constants.d.ts.map +0 -1
- package/dist/search/snr-constants.js +0 -44
- package/dist/search/snr-constants.js.map +0 -1
- package/dist/search/types.d.ts +0 -28
- package/dist/search/types.d.ts.map +0 -1
- package/dist/search/types.js +0 -12
- package/dist/search/types.js.map +0 -1
- package/dist/sync/git-hooks.d.ts +0 -45
- package/dist/sync/git-hooks.d.ts.map +0 -1
- package/dist/sync/git-hooks.js +0 -225
- package/dist/sync/git-hooks.js.map +0 -1
- package/dist/sync/index.d.ts +0 -19
- package/dist/sync/index.d.ts.map +0 -1
- package/dist/sync/index.js +0 -35
- package/dist/sync/index.js.map +0 -1
- package/dist/sync/watch-policy.d.ts +0 -48
- package/dist/sync/watch-policy.d.ts.map +0 -1
- package/dist/sync/watch-policy.js +0 -124
- package/dist/sync/watch-policy.js.map +0 -1
- package/dist/sync/watcher.d.ts +0 -350
- package/dist/sync/watcher.d.ts.map +0 -1
- package/dist/sync/watcher.js +0 -811
- package/dist/sync/watcher.js.map +0 -1
- package/dist/sync/worktree.d.ts +0 -54
- package/dist/sync/worktree.d.ts.map +0 -1
- package/dist/sync/worktree.js +0 -137
- package/dist/sync/worktree.js.map +0 -1
- package/dist/telemetry/index.d.ts +0 -143
- package/dist/telemetry/index.d.ts.map +0 -1
- package/dist/telemetry/index.js +0 -541
- package/dist/telemetry/index.js.map +0 -1
- package/dist/timeline/bash-semantics.d.ts.map +0 -1
- package/dist/timeline/bash-semantics.js.map +0 -1
- package/dist/timeline/cli.d.ts.map +0 -1
- package/dist/timeline/cli.js.map +0 -1
- package/dist/timeline/constants.d.ts +0 -62
- package/dist/timeline/constants.d.ts.map +0 -1
- package/dist/timeline/constants.js +0 -73
- package/dist/timeline/constants.js.map +0 -1
- package/dist/timeline/errors.d.ts.map +0 -1
- package/dist/timeline/errors.js.map +0 -1
- package/dist/timeline/hook-runner.d.ts.map +0 -1
- package/dist/timeline/hook-runner.js.map +0 -1
- package/dist/timeline/hooks.d.ts.map +0 -1
- package/dist/timeline/hooks.js.map +0 -1
- package/dist/timeline/index.d.ts.map +0 -1
- package/dist/timeline/index.js.map +0 -1
- package/dist/timeline/indexer.d.ts.map +0 -1
- package/dist/timeline/indexer.js.map +0 -1
- package/dist/timeline/installer.d.ts.map +0 -1
- package/dist/timeline/installer.js.map +0 -1
- package/dist/timeline/payload.d.ts.map +0 -1
- package/dist/timeline/payload.js.map +0 -1
- package/dist/timeline/post-tool-summary.d.ts.map +0 -1
- package/dist/timeline/post-tool-summary.js.map +0 -1
- package/dist/timeline/recorder.d.ts.map +0 -1
- package/dist/timeline/recorder.js.map +0 -1
- package/dist/timeline/schema-bootstrap.d.ts +0 -42
- package/dist/timeline/schema-bootstrap.d.ts.map +0 -1
- package/dist/timeline/schema-bootstrap.js +0 -81
- package/dist/timeline/schema-bootstrap.js.map +0 -1
- package/dist/timeline/store.d.ts.map +0 -1
- package/dist/timeline/store.js.map +0 -1
- package/dist/timeline/types.d.ts.map +0 -1
- package/dist/timeline/types.js.map +0 -1
- package/dist/types.d.ts +0 -392
- package/dist/types.d.ts.map +0 -1
- package/dist/types.js +0 -81
- package/dist/types.js.map +0 -1
- package/dist/ui/glyphs.d.ts +0 -42
- package/dist/ui/glyphs.d.ts.map +0 -1
- package/dist/ui/glyphs.js +0 -78
- package/dist/ui/glyphs.js.map +0 -1
- package/dist/ui/shimmer-progress.d.ts +0 -11
- package/dist/ui/shimmer-progress.d.ts.map +0 -1
- package/dist/ui/shimmer-progress.js +0 -90
- package/dist/ui/shimmer-progress.js.map +0 -1
- package/dist/ui/shimmer-worker.d.ts +0 -2
- package/dist/ui/shimmer-worker.d.ts.map +0 -1
- package/dist/ui/shimmer-worker.js +0 -118
- package/dist/ui/shimmer-worker.js.map +0 -1
- package/dist/ui/types.d.ts +0 -17
- package/dist/ui/types.d.ts.map +0 -1
- package/dist/ui/types.js +0 -3
- package/dist/ui/types.js.map +0 -1
- package/dist/upgrade/index.d.ts +0 -132
- package/dist/upgrade/index.d.ts.map +0 -1
- package/dist/upgrade/index.js +0 -498
- package/dist/upgrade/index.js.map +0 -1
- package/dist/utils.d.ts +0 -224
- package/dist/utils.d.ts.map +0 -1
- package/dist/utils.js +0 -583
- package/dist/utils.js.map +0 -1
- package/scripts/add-lang/bench.sh +0 -60
- package/scripts/add-lang/check-grammar.mjs +0 -75
- package/scripts/add-lang/dump-ast.mjs +0 -103
- package/scripts/add-lang/verify-extraction.mjs +0 -70
- package/scripts/agent-eval/ab-adoption.sh +0 -91
- package/scripts/agent-eval/ab-hook.sh +0 -86
- package/scripts/agent-eval/ab-impl.sh +0 -78
- package/scripts/agent-eval/ab-new-vs-baseline.sh +0 -102
- package/scripts/agent-eval/ab-sufficiency.sh +0 -78
- package/scripts/agent-eval/arms-F.sh +0 -21
- package/scripts/agent-eval/arms-matrix.sh +0 -37
- package/scripts/agent-eval/audit.sh +0 -68
- package/scripts/agent-eval/bench-readme.sh +0 -28
- package/scripts/agent-eval/bench-why-repo.sh +0 -22
- package/scripts/agent-eval/block-read-hook.sh +0 -19
- package/scripts/agent-eval/hook-settings.json +0 -15
- package/scripts/agent-eval/itrun.sh +0 -120
- package/scripts/agent-eval/offload-eval-3arm.sh +0 -72
- package/scripts/agent-eval/offload-eval-cost.mjs +0 -133
- package/scripts/agent-eval/offload-eval-effort.mjs +0 -108
- package/scripts/agent-eval/offload-eval-frontload-matrix.sh +0 -25
- package/scripts/agent-eval/offload-eval-frontload.sh +0 -47
- package/scripts/agent-eval/offload-eval-ground-truth.json +0 -18
- package/scripts/agent-eval/offload-eval-hook.mjs +0 -84
- package/scripts/agent-eval/offload-eval-judge.mjs +0 -103
- package/scripts/agent-eval/offload-eval-matrix.sh +0 -20
- package/scripts/agent-eval/offload-eval-metrics.mjs +0 -94
- package/scripts/agent-eval/offload-eval-refs1.sh +0 -50
- package/scripts/agent-eval/offload-eval-setup.sh +0 -24
- package/scripts/agent-eval/offload-eval-styles.sh +0 -72
- package/scripts/agent-eval/offload-eval-summarize.mjs +0 -68
- package/scripts/agent-eval/offload-eval.md +0 -76
- package/scripts/agent-eval/parse-arms.mjs +0 -116
- package/scripts/agent-eval/parse-bench-readme.mjs +0 -84
- package/scripts/agent-eval/parse-run.mjs +0 -45
- package/scripts/agent-eval/parse-session.mjs +0 -93
- package/scripts/agent-eval/probe-context.mjs +0 -21
- package/scripts/agent-eval/probe-explore.mjs +0 -40
- package/scripts/agent-eval/probe-node.mjs +0 -20
- package/scripts/agent-eval/probe-sweep.mjs +0 -119
- package/scripts/agent-eval/probe-trace.mjs +0 -20
- package/scripts/agent-eval/redirect-read-hook.sh +0 -38
- package/scripts/agent-eval/run-agent.sh +0 -34
- package/scripts/agent-eval/run-all.sh +0 -69
- package/scripts/agent-eval/run-arms.sh +0 -56
- package/scripts/agent-eval/seq-matrix.mjs +0 -137
- package/scripts/agent-eval/subagent-token-cost.py +0 -188
- package/scripts/build-bundle.sh +0 -118
- package/scripts/extract-release-notes.mjs +0 -130
- package/scripts/local-install.sh +0 -41
- package/scripts/npm-sdk.js +0 -75
- package/scripts/npm-shim.js +0 -246
- package/scripts/pack-npm.sh +0 -118
- package/scripts/prepare-release.mjs +0 -270
- /package/dist/{dbquery → core/dbquery}/config.d.ts +0 -0
- /package/dist/{dbquery → core/dbquery}/config.js +0 -0
- /package/dist/{dbquery → core/dbquery}/constants.d.ts +0 -0
- /package/dist/{dbquery → core/dbquery}/constants.js +0 -0
- /package/dist/{dbquery → core/dbquery}/drivers/mysql.d.ts +0 -0
- /package/dist/{dbquery → core/dbquery}/drivers/mysql.js +0 -0
- /package/dist/{dbquery → core/dbquery}/drivers/postgres.d.ts +0 -0
- /package/dist/{dbquery → core/dbquery}/drivers/postgres.js +0 -0
- /package/dist/{dbquery → core/dbquery}/executor.d.ts +0 -0
- /package/dist/{dbquery → core/dbquery}/executor.js +0 -0
- /package/dist/{dbquery → core/dbquery}/format.d.ts +0 -0
- /package/dist/{dbquery → core/dbquery}/format.js +0 -0
- /package/dist/{dbquery → core/dbquery}/identifiers.d.ts +0 -0
- /package/dist/{dbquery → core/dbquery}/identifiers.js +0 -0
- /package/dist/{dbquery → core/dbquery}/index.d.ts +0 -0
- /package/dist/{dbquery → core/dbquery}/index.js +0 -0
- /package/dist/{dbquery → core/dbquery}/logging.d.ts +0 -0
- /package/dist/{dbquery → core/dbquery}/logging.js +0 -0
- /package/dist/{dbquery → core/dbquery}/queries.d.ts +0 -0
- /package/dist/{dbquery → core/dbquery}/queries.js +0 -0
- /package/dist/{dbquery → core/dbquery}/safety.d.ts +0 -0
- /package/dist/{dbquery → core/dbquery}/safety.js +0 -0
- /package/dist/{markdown → core/markdown}/dedup.d.ts +0 -0
- /package/dist/{markdown → core/markdown}/dedup.js +0 -0
- /package/dist/{markdown → core/markdown}/extractor.d.ts +0 -0
- /package/dist/{markdown → core/markdown}/extractor.js +0 -0
- /package/dist/{markdown → core/markdown}/store.d.ts +0 -0
- /package/dist/{markdown → core/markdown}/store.js +0 -0
- /package/dist/{markdown → core/markdown}/summary-extractor.d.ts +0 -0
- /package/dist/{markdown → core/markdown}/summary-extractor.js +0 -0
- /package/dist/{markdown → core/markdown}/types.js +0 -0
- /package/dist/{timeline → core/timeline}/bash-semantics.d.ts +0 -0
- /package/dist/{timeline → core/timeline}/bash-semantics.js +0 -0
- /package/dist/{timeline → core/timeline}/cli.d.ts +0 -0
- /package/dist/{timeline → core/timeline}/cli.js +0 -0
- /package/dist/{timeline → core/timeline}/errors.d.ts +0 -0
- /package/dist/{timeline → core/timeline}/errors.js +0 -0
- /package/dist/{timeline → core/timeline}/hook-runner.d.ts +0 -0
- /package/dist/{timeline → core/timeline}/hook-runner.js +0 -0
- /package/dist/{timeline → core/timeline}/hooks.d.ts +0 -0
- /package/dist/{timeline → core/timeline}/hooks.js +0 -0
- /package/dist/{timeline → core/timeline}/index.d.ts +0 -0
- /package/dist/{timeline → core/timeline}/index.js +0 -0
- /package/dist/{timeline → core/timeline}/indexer.d.ts +0 -0
- /package/dist/{timeline → core/timeline}/indexer.js +0 -0
- /package/dist/{timeline → core/timeline}/installer.d.ts +0 -0
- /package/dist/{timeline → core/timeline}/installer.js +0 -0
- /package/dist/{timeline → core/timeline}/payload.d.ts +0 -0
- /package/dist/{timeline → core/timeline}/payload.js +0 -0
- /package/dist/{timeline → core/timeline}/post-tool-summary.d.ts +0 -0
- /package/dist/{timeline → core/timeline}/post-tool-summary.js +0 -0
- /package/dist/{timeline → core/timeline}/recorder.d.ts +0 -0
- /package/dist/{timeline → core/timeline}/recorder.js +0 -0
- /package/dist/{timeline → core/timeline}/schema.sql +0 -0
- /package/dist/{timeline → core/timeline}/store.d.ts +0 -0
- /package/dist/{timeline → core/timeline}/store.js +0 -0
- /package/dist/{timeline → core/timeline}/types.d.ts +0 -0
- /package/dist/{timeline → core/timeline}/types.js +0 -0
|
@@ -0,0 +1,761 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: knowledge-init
|
|
3
|
+
disable-model-invocation: true
|
|
4
|
+
description: Explore an unfamiliar project automatically to build a business knowledge base. Discovers entry points via grep/Read, spawns sub-agents to explore each one in depth, saves knowledge documents to docs/knowledge/, then merges cross-cutting concepts and deep-dives. Requires knowledge-write skill. Use when the user asks to explore, understand, or map out a new project, or wants to build a knowledge base for a project from scratch.
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# 知识库批量建档 (Knowledge Init)
|
|
8
|
+
|
|
9
|
+
Automated project exploration skill. Discovers entry points via grep/Read, explores each in depth through sub-agents, saves knowledge to the local markdown knowledge base (`docs/knowledge/*.md`), then merges cross-cutting concepts and deep-dives.
|
|
10
|
+
|
|
11
|
+
**Dependencies:**
|
|
12
|
+
- `knowledge-write` skill must be installed in the same project(沉淀业务理解到 `docs/knowledge/*.md`)
|
|
13
|
+
- 项目有代码可读(`grep` / `rg` / `Read` 可定位符号、跟踪调用、看实现)
|
|
14
|
+
- `docs/knowledge/` 可写(知识文档沉淀目录)
|
|
15
|
+
- cgraphx CLI 可用(提供 `cgraphx docs` 系列命令管理 markdown 知识库:concept 索引 / dedup / 校验)
|
|
16
|
+
|
|
17
|
+
## Trigger
|
|
18
|
+
|
|
19
|
+
Use this skill when:
|
|
20
|
+
- The user wants to explore, understand, or map out an unfamiliar project
|
|
21
|
+
- The user wants to build a knowledge base for a project from scratch
|
|
22
|
+
- The user says things like "explore this project", "understand this codebase", "build knowledge for this repo"
|
|
23
|
+
|
|
24
|
+
Do NOT use for:
|
|
25
|
+
- Quick targeted questions about specific code(直接用 `grep` / `Read` 即可)
|
|
26
|
+
- Creating a single knowledge document (use `knowledge-write` skill instead)
|
|
27
|
+
- 单点代码定位 / 单函数实现查询(直接 `grep` / `Read`,无需走整套 exploration 流程)
|
|
28
|
+
|
|
29
|
+
## Pre-flight Check
|
|
30
|
+
|
|
31
|
+
This skill assumes the project has readable code and a writable knowledge directory.
|
|
32
|
+
|
|
33
|
+
```bash
|
|
34
|
+
# 1. docs/knowledge/ 可写
|
|
35
|
+
mkdir -p docs/knowledge
|
|
36
|
+
|
|
37
|
+
# 2. cgraphx CLI 可用(提供 cgraphx docs 系列:concept 索引 / dedup / validate)
|
|
38
|
+
command -v cgraphx >/dev/null 2>&1 || {
|
|
39
|
+
echo "cgraphx 未在 PATH。先 npm install -g cgraphx(提供 markdown 知识库管理命令)" >&2
|
|
40
|
+
exit 1
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
# 3. 项目有代码文件可读(简单的存在性检查)
|
|
44
|
+
test -n "$(find . -type f \( -name '*.java' -o -name '*.kt' -o -name '*.go' -o -name '*.rs' \
|
|
45
|
+
-o -name '*.py' -o -name '*.ts' -o -name '*.tsx' -o -name '*.js' \) \
|
|
46
|
+
-not -path '*/node_modules/*' -not -path '*/.git/*' \
|
|
47
|
+
-not -path '*/target/*' -not -path '*/build/*' \
|
|
48
|
+
| head -1)" || {
|
|
49
|
+
echo "未发现可探索的代码文件" >&2
|
|
50
|
+
exit 1
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
# 4. 优先用 ripgrep(尊重 .gitignore、并行、千万行级别必需)
|
|
54
|
+
command -v rg >/dev/null 2>&1 || echo "警告:未装 rg,将退化到 grep(千万行项目性能不可接受)"
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
If cgraphx is not available: do **not** silently degrade. Ask the user to run `npm install -g cgraphx`(提供 `cgraphx docs` 知识库管理命令)。
|
|
58
|
+
|
|
59
|
+
## Configuration
|
|
60
|
+
|
|
61
|
+
```text
|
|
62
|
+
concurrent_agents: 2 # max sub-agents running in parallel(千万行级别建议 4-8)
|
|
63
|
+
max_explored: 5000 # max entry points to explore across both phases(千万行级可上调到 20000)
|
|
64
|
+
max_queue_size: 150 # max items in pending queue
|
|
65
|
+
wake_interval_seconds: 60 # seconds between loop iterations
|
|
66
|
+
max_fail_retries: 3 # 单个 entry point 最多重试次数,超过跳过并进 failed[]
|
|
67
|
+
use_persistent_dedup: true # true: Layer 1 dedup 走 cgraphx docs seen-names(SQLite 持久化,跨中断恢复);false: 仅在内存中(不建议,中断会丢)
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
**项目规模预期**:
|
|
71
|
+
|
|
72
|
+
| 项目规模 | 推荐 max_explored | queue 文件预期大小 | 服务端 explored_entry_names 预期条数 |
|
|
73
|
+
|---------|-------------------|-------------------|--------------------------------------|
|
|
74
|
+
| 小(< 5 万行) | 100-500 | 恒定 ~5 KB | < 500 |
|
|
75
|
+
| 中(5-50 万行) | 1000-3000 | 恒定 ~5 KB | 1000-3000 |
|
|
76
|
+
| 大(50-500 万行) | 3000-8000 | 恒定 ~5 KB | 3000-8000 |
|
|
77
|
+
| 超大(> 500 万行 / 千万行级) | 8000-20000 | 恒定 ~5 KB | 8000-20000 |
|
|
78
|
+
|
|
79
|
+
queue 文件大小主要由 `pending`(≤150 项 × 约 200 字节)+ `failed[]`(通常 < 5% 探索数)+ `progress`(恒定 ~200 字节)决定。**dedup 状态完全在服务端 `explored_entry_names` 表**,queue 文件不再随 explored_count 增长,恒定 ~5KB 与 max_explored 无关。
|
|
80
|
+
|
|
81
|
+
**千万行级别现实建议**:
|
|
82
|
+
|
|
83
|
+
- 单次跑完可能数天到数周——务必利用 Resuming 中断恢复
|
|
84
|
+
- `concurrent_agents` 调到 4-8(前提是 API 配额够)
|
|
85
|
+
- `max_explored` 别超过 20000——超过这个数 Phase 3 cross-cutting 会指数级慢
|
|
86
|
+
- Phase 2 完成后的全量 analyze 单次可能跑数十分钟到几小时
|
|
87
|
+
- 切勿跳过 Step 0 语言选择 + Step 1 排除规则——跨语种裸 grep 在千万行项目跑不通
|
|
88
|
+
|
|
89
|
+
## 与 cgraphx 的协作(Tools Coordination)
|
|
90
|
+
|
|
91
|
+
knowledge-init 协调两类工具:
|
|
92
|
+
|
|
93
|
+
| 工具 | 提供什么 | 用途 |
|
|
94
|
+
|------|---------|------|
|
|
95
|
+
| **grep / rg / Read** | 代码事实(符号位置、调用关系、实现细节) | Phase 1 找 entry points、Phase 2 子 agent 探索代码、Phase 3 评估 symbol 中心性 |
|
|
96
|
+
| **cgraphx docs**(markdown 知识库) | 业务理解(concept / domain / 决策文档 / dedup 状态) | Phase 2 末尾 + Phase 3 末尾各一次 `cgraphx docs index`;dedup 用 `cgraphx docs seen-names` / `cgraphx docs dedup` |
|
|
97
|
+
|
|
98
|
+
**分工**:代码事实靠 `grep` / `rg` / `Read`(定位符号、跟踪调用链、看具体实现),markdown 知识库沉淀**业务理解**(人为或 AI 提炼的概念、决策、约束)。两者**互不依赖**——grep/Read 随时可用,markdown 知识库的 index 时序独立。
|
|
99
|
+
|
|
100
|
+
**子 agent 调用方式**:
|
|
101
|
+
- **代码探索**:`grep` / `rg`(ripgrep,尊重 .gitignore 且并行)/ `Read`(按行号定位实现细节)——通用工具,无进程依赖
|
|
102
|
+
- **markdown 知识库**:CLI `cgraphx docs <cmd>`——管理 concept 索引、dedup、validate
|
|
103
|
+
|
|
104
|
+
**降级路径**:
|
|
105
|
+
- markdown 知识库不可用(项目未装 cgraphx)→ 整个 knowledge-init **不可启动**(dedup 和文档持久化都靠它)
|
|
106
|
+
|
|
107
|
+
**index 时序图**:
|
|
108
|
+
|
|
109
|
+
```
|
|
110
|
+
Phase 1-2: 子 agent 用 grep/Read 探索代码,写 .md 到 docs/knowledge/
|
|
111
|
+
Phase 2 末尾: cgraphx docs index(同步子 agent 写的 .md 到知识图谱)
|
|
112
|
+
Phase 3 Step 1: grep 统计 symbol 跨文件引用数,评估中心性
|
|
113
|
+
Phase 3 Step 2: cgraphx docs concepts --sort=doc-count 找高中心性 concepts
|
|
114
|
+
Phase 3 Step 3: 交叉验证 → cross-cutting pending
|
|
115
|
+
Phase 3 末尾: cgraphx docs index(同步 Phase 3 文档)
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
## Queue File
|
|
119
|
+
|
|
120
|
+
All exploration state is persisted to:
|
|
121
|
+
|
|
122
|
+
```text
|
|
123
|
+
docs/knowledge/.exploration-queue.json
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
### Schema
|
|
127
|
+
|
|
128
|
+
```json
|
|
129
|
+
{
|
|
130
|
+
"project_name": "project-name",
|
|
131
|
+
"repo_id": "project-name",
|
|
132
|
+
"repo_path": "/absolute/path/to/project",
|
|
133
|
+
"started_at": "2026-05-01T10:00",
|
|
134
|
+
"config": {
|
|
135
|
+
"max_explored": 5000,
|
|
136
|
+
"concurrent_agents": 2,
|
|
137
|
+
"max_queue_size": 150,
|
|
138
|
+
"max_fail_retries": 3,
|
|
139
|
+
"languages": ["java", "kotlin"],
|
|
140
|
+
"excludes": {
|
|
141
|
+
"dirs": ["node_modules", "target", "build", "dist", "vendor", "third_party", ".git"],
|
|
142
|
+
"files": ["*.min.js", "*.lock", "package-lock.json"]
|
|
143
|
+
}
|
|
144
|
+
},
|
|
145
|
+
"phase": "exploration",
|
|
146
|
+
"pending": [
|
|
147
|
+
{
|
|
148
|
+
"id": 2,
|
|
149
|
+
"name": "Markdown Analysis Pipeline",
|
|
150
|
+
"entry_files": ["src/analyzer/mod.rs"],
|
|
151
|
+
"type": "module"
|
|
152
|
+
}
|
|
153
|
+
],
|
|
154
|
+
"next_id": 3,
|
|
155
|
+
"explored_count": 1,
|
|
156
|
+
"seen_normalized_names": [...], // ⚠️ DEPRECATED(本版本起不再使用):dedup 状态完全在 cgraphx docs seen-names 持久化的 SQLite 表里。保留字段定义仅为向后兼容
|
|
157
|
+
"failed": [
|
|
158
|
+
{
|
|
159
|
+
"id": 5,
|
|
160
|
+
"name": "Some Broken Module",
|
|
161
|
+
"entry_files": ["src/broken/mod.rs"],
|
|
162
|
+
"type": "module",
|
|
163
|
+
"fail_count": 3,
|
|
164
|
+
"last_error": "BLOCKED: compile errors prevent exploration",
|
|
165
|
+
"last_failed_at": "2026-05-01T10:45"
|
|
166
|
+
}
|
|
167
|
+
],
|
|
168
|
+
"progress": {
|
|
169
|
+
"batch_no": 5,
|
|
170
|
+
"last_batch_at": "2026-05-01T10:30",
|
|
171
|
+
"eta_hours": 12.5,
|
|
172
|
+
"pending_size": 47,
|
|
173
|
+
"top_concepts": ["OrderService", "PaymentGateway", "CustomerExport"]
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
```
|
|
177
|
+
|
|
178
|
+
**设计要点**:
|
|
179
|
+
|
|
180
|
+
- **不存 `explored` 全量** —— 已完成的探索产物从 `docs/knowledge/*.md` 反查(每个文档对应一次探索)。queue 文件恒定大小,不随已探索项增长。
|
|
181
|
+
- **`explored_count` 是独立 int 计数器** —— 每完成一项 +1,用于触发 `max_explored` 上限判断,不依赖任何数组长度。
|
|
182
|
+
- **`seen_normalized_names`** —— **⚠️ DEPRECATED(本版本起不再使用)**:dedup 状态完全在 `cgraphx docs seen-names` 持久化的 SQLite 表(`markdown_explored_entry_names`)。resuming 时直接信任 SQLite 数据,不读 queue 文件此字段。保留字段定义仅为向后兼容。
|
|
183
|
+
- **`failed[]` 持久化失败项** —— 每项记 `fail_count`,达 `max_fail_retries` 上限后永久跳过(不再重派);千万行项目里少数 entry point 编译/解析失败不应阻塞整体进度。
|
|
184
|
+
- **`progress` 每批次更新** —— `batch_no` + `last_batch_at` + `eta_hours` + `pending_size` + `top_concepts`(最近 N 批次的高频 concept)。供 Resuming 与用户查询进度用。
|
|
185
|
+
- **`config.languages` / `config.excludes`** —— Phase 1 Step 0/1 的选择持久化到 queue 文件,Phase 2 子 agent prompt 读取它知道限定哪些后缀、排除哪些目录。
|
|
186
|
+
- **`next_id` 单调递增** —— 即使某项被剔除,id 不复用,便于日志对齐与调试。
|
|
187
|
+
|
|
188
|
+
`phase` values: `exploration` → `deep_dive` → `completed`
|
|
189
|
+
|
|
190
|
+
---
|
|
191
|
+
|
|
192
|
+
## Main Agent Workflow
|
|
193
|
+
|
|
194
|
+
### Phase 1: Seed Discovery
|
|
195
|
+
|
|
196
|
+
**Step 0 — 语言选择(必做,开始循环前)**
|
|
197
|
+
|
|
198
|
+
千万行项目跨语种 grep 等于全文搜索整个 monorepo,必须先用 `AskUserQuestion` 让用户选目标语言,把后续 grep/find 限定到对应后缀。
|
|
199
|
+
|
|
200
|
+
语言 → 后缀 + entry point 模式映射(用户可单选或多选 Mixed):
|
|
201
|
+
|
|
202
|
+
| 语言 | 后缀 | entry point 模式 |
|
|
203
|
+
|------|------|-----------------|
|
|
204
|
+
| Java | `.java` | `public static void main`、`@GetMapping`、`@PostMapping`、`@RabbitListener`、`@Scheduled`、`@KafkaListener` |
|
|
205
|
+
| Kotlin | `.kt` | `fun main`、Spring 注解同 Java |
|
|
206
|
+
| Go | `.go` | `func main`、`cobra.Command`、`flag.Parse` |
|
|
207
|
+
| Rust | `.rs` | `fn main`、`clap::Parser`、`#[tokio::main]` |
|
|
208
|
+
| Python | `.py` | `def main`、`argparse`、`click`、`@app.route`、`@celery.task` |
|
|
209
|
+
| TypeScript | `.ts` `.tsx` | `app.listen`、`router.get`、`router.post`、`@Controller` |
|
|
210
|
+
| JavaScript | `.js` `.jsx` `.mjs` `.cjs` | `app.listen`、`module.exports`、`require.main === module` |
|
|
211
|
+
| C/C++ | `.c` `.cpp` `.cc` `.h` `.hpp` | `int main`、`WINAPI WinMain` |
|
|
212
|
+
| C# | `.cs` | `static void Main`、`[HttpGet]`、`[HttpPost]` |
|
|
213
|
+
| Ruby | `.rb` | `Rails.application.routes`、`Rake::Task` |
|
|
214
|
+
| PHP | `.php` | Laravel routes、Symfony annotations |
|
|
215
|
+
| SQL | `.sql` | `CREATE TABLE`、`CREATE INDEX`、`CREATE PROCEDURE` |
|
|
216
|
+
| Mixed | 用户自选组合 | 多后缀 union |
|
|
217
|
+
|
|
218
|
+
用户选定后把后缀列表存入 queue 文件 `config.languages: ["java", "kotlin"]`,后续 Phase 1/2 命令读取它动态生成 `--include` / `--type`。
|
|
219
|
+
|
|
220
|
+
**Step 1 — 排除规则(必做)**
|
|
221
|
+
|
|
222
|
+
千万行项目大量第三方库、build artifacts、test fixtures 会污染 grep 结果。两条规则同时生效:
|
|
223
|
+
|
|
224
|
+
1. **显式排除目录/文件**:
|
|
225
|
+
|
|
226
|
+
```bash
|
|
227
|
+
EXCLUDE_DIRS=(node_modules target build dist out bin vendor third_party .venv vv env __pycache__ .git .idea .vscode .next .cache coverage)
|
|
228
|
+
EXCLUDE_FILES=('*.min.js' '*.min.css' '*.lock' 'package-lock.json' 'yarn.lock' 'go.sum' 'Cargo.lock' 'pom.xml.versionsBackup')
|
|
229
|
+
```
|
|
230
|
+
|
|
231
|
+
2. **尊重 .gitignore**:首选 `rg`(ripgrep,自动尊重 .gitignore 且并行);无 `rg` 时 fallback 到 `grep` + 显式 EXCLUDE_DIRS。**禁止裸 `grep -rn`**(千万行级别会跑数小时)。
|
|
232
|
+
|
|
233
|
+
**Step 2 — Identify project root, repo_id, project name**
|
|
234
|
+
|
|
235
|
+
```bash
|
|
236
|
+
REPO_PATH=$(pwd)
|
|
237
|
+
REPO_ID=$(basename "$REPO_PATH")
|
|
238
|
+
PROJECT_NAME="$REPO_ID"
|
|
239
|
+
```
|
|
240
|
+
|
|
241
|
+
**Step 3 — Scan structure & entry points(grep / rg)**
|
|
242
|
+
|
|
243
|
+
千万行级别必须用 `rg`(ripgrep)。示例 Java + Kotlin:
|
|
244
|
+
|
|
245
|
+
```bash
|
|
246
|
+
# Project structure overview
|
|
247
|
+
rg --files -g '*.java' -g '*.kt' \
|
|
248
|
+
-g '!node_modules/**' -g '!target/**' -g '!build/**' -g '!vendor/**' -g '!.git/**' \
|
|
249
|
+
| head -100
|
|
250
|
+
|
|
251
|
+
# Entry points:HTTP / 消息驱动 / 定时任务 / 主入口
|
|
252
|
+
rg --type java --type kotlin -n \
|
|
253
|
+
'@(GetMapping|PostMapping|PutMapping|DeleteMapping|RabbitListener|Scheduled|KafkaListener)|public static void main|fun main' \
|
|
254
|
+
| head -50
|
|
255
|
+
|
|
256
|
+
# 数据模型
|
|
257
|
+
rg --type java -n '@(Entity|Table)' | head -30
|
|
258
|
+
rg --type sql -n '^CREATE TABLE' | head -30
|
|
259
|
+
|
|
260
|
+
# 按业务概念搜索(让用户给 3-5 个核心业务词)
|
|
261
|
+
rg -n '订单|order' --type java | head -30
|
|
262
|
+
rg -n 'payment' --type java | head -30
|
|
263
|
+
rg -n '导出|export' --type java | head -30
|
|
264
|
+
```
|
|
265
|
+
|
|
266
|
+
**对每个候选符号做初步验证**(看是否构成完整流程):
|
|
267
|
+
|
|
268
|
+
```bash
|
|
269
|
+
# 拿到 entry 文件 + 行号后,Read 看实现
|
|
270
|
+
# 例:rg 给出 src/main/java/com/example/OrderService.java:42 @PostMapping("/orders")
|
|
271
|
+
# → Read src/main/java/com/example/OrderService.java offset=30 limit=40
|
|
272
|
+
|
|
273
|
+
# 跟踪调用链:在 entry 函数名上反向 grep 找调用方
|
|
274
|
+
rg -n 'createOrder' --type java # 谁调用了 createOrder
|
|
275
|
+
rg -n 'PaymentGateway' --type java # PaymentGateway 在哪些文件出现
|
|
276
|
+
```
|
|
277
|
+
|
|
278
|
+
**grep 模式局限**:字符串匹配会漏掉接口实现、动态分发、继承链覆盖、不规则命名的入口。建议:
|
|
279
|
+
- 结合 IDE 的"查找引用"语义(如可用),或多次 grep 同义词 / 别名
|
|
280
|
+
- 对每个候选 entry 至少 Read 一段实现,确认是业务逻辑而非样板(如 `@SpringBootApplication` 类不算业务 entry)
|
|
281
|
+
- 必要时缩小语言范围或降低 `max_explored` 上限
|
|
282
|
+
|
|
283
|
+
**Step 4 — 构造 pending + 写 queue**
|
|
284
|
+
|
|
285
|
+
For each discovered entry point, create a pending item with `name`, `entry_files`, `type`。把 Step 0 选定语言 + Step 1 排除规则写入 `config.languages` 和 `config.excludes`——Phase 2 子 agent prompt 也会用到。
|
|
286
|
+
|
|
287
|
+
### Phase 2: Exploration Loop (Batch Mode)
|
|
288
|
+
|
|
289
|
+
**启动:**
|
|
290
|
+
|
|
291
|
+
1. 读取 `.exploration-queue.json`。
|
|
292
|
+
2. 如果 `pending` 为空,直接跳到 Phase 3。
|
|
293
|
+
3. 初始化计数器:`explored_count = 0`,`running_agents = 0`。
|
|
294
|
+
|
|
295
|
+
**批次循环:**
|
|
296
|
+
|
|
297
|
+
每轮循环执行以下步骤:
|
|
298
|
+
|
|
299
|
+
**Step 1 — 启动批次**
|
|
300
|
+
|
|
301
|
+
1. 计算本批次大小:`batch_size = min(concurrent_agents, pending.length)`。
|
|
302
|
+
2. 从 `pending` 头部取 `batch_size` 项。
|
|
303
|
+
3. 对每一项,用 `Agent` 工具启动后台 sub-agent(`run_in_background: true`),使用下方 Sub-Agent Template 作为 prompt。
|
|
304
|
+
4. 设置 `running_agents = batch_size`。
|
|
305
|
+
|
|
306
|
+
**Step 2 — 等待批次完成 + 失败分流 + 进度更新**
|
|
307
|
+
|
|
308
|
+
等待所有 `running_agents` 个 sub-agent 完成。收到每个完成通知时**按状态分流**:
|
|
309
|
+
|
|
310
|
+
**Case A — 成功**(返回正常 JSON,含 `document_path`)
|
|
311
|
+
|
|
312
|
+
1. 读取 sub-agent 返回的 JSON。
|
|
313
|
+
2. 更新队列文件(jq 原子改写):
|
|
314
|
+
- 把该项从 `pending` 移除
|
|
315
|
+
- `.explored_count` +1
|
|
316
|
+
- **不再写 `seen_normalized_names`**——completed entry name 通过 `cgraphx docs seen-names --add` 持久化到 SQLite 的 `markdown_explored_entry_names` 表(见下方写回脚本)
|
|
317
|
+
3. 对每个 `new_entry_point` 走 Dedup Rules(Layer 1 `cgraphx docs seen-names --check` + Layer 2 `cgraphx docs dedup`):
|
|
318
|
+
- 通过且 `pending.length < max_queue_size` 时,追加到 `pending`(`next_id++`)
|
|
319
|
+
- 超过 `max_queue_size` 的新候选直接丢弃
|
|
320
|
+
- entry point name 维度的 dedup 状态完全在 cgraphx 持久化的 SQLite 表(`markdown_explored_entry_names`)
|
|
321
|
+
|
|
322
|
+
**Case B — 失败**(子 agent 返回 `BLOCKED` / `NEEDS_CONTEXT` / error / 进程崩溃)
|
|
323
|
+
|
|
324
|
+
1. `fail_count++`(首次失败从 `pending` 移到 `failed[]`,记 `last_error`、`last_failed_at`)
|
|
325
|
+
2. **`fail_count < max_fail_retries`**:重新放回 `pending` 末尾,下批次重试(主 agent 可补上下文或换更强模型)
|
|
326
|
+
3. **`fail_count >= max_fail_retries`**:留在 `failed[]`,**永久跳过**——千万行项目里少数死项不应卡死整体流程
|
|
327
|
+
|
|
328
|
+
**Case C — 完成但产出可疑**(`DONE_WITH_CONCERNS` 或文档缺 Evidence)
|
|
329
|
+
|
|
330
|
+
按 Case A 处理,但把 `concerns` 记到 `progress.recent_concerns`(Phase 3 优先 review 这些项)。
|
|
331
|
+
|
|
332
|
+
**Step 2.5 — 批次结束更新 `progress`**
|
|
333
|
+
|
|
334
|
+
批次全部完成(`running_agents == 0`)后更新进度对象:
|
|
335
|
+
|
|
336
|
+
```bash
|
|
337
|
+
QUEUE="docs/knowledge/.exploration-queue.json"
|
|
338
|
+
|
|
339
|
+
# ETA: 已用小时 / explored_count × 剩余
|
|
340
|
+
ELAPSED_HOURS=$(jq -r 'now - (.started_at | fromdateiso8601) | floor / 3600' "$QUEUE" 2>/dev/null || echo 0)
|
|
341
|
+
REMAINING=$(jq -r '.config.max_explored - .explored_count' "$QUEUE")
|
|
342
|
+
ETA=$(awk "BEGIN { if ($ELAPSED_HOURS > 0 && $(jq .explored_count "$QUEUE") > 0) printf \"%.1f\", $ELAPSED_HOURS / $(jq .explored_count "$QUEUE") * $REMAINING; else print \"?\" }")
|
|
343
|
+
|
|
344
|
+
# top_concepts: 最近 5 篇 docs/knowledge/*.md 的 frontmatter concepts 取频率 top-5
|
|
345
|
+
TOP_CONCEPTS=$(ls -t docs/knowledge/*.md 2>/dev/null | head -5 | while read f; do
|
|
346
|
+
awk '/^---$/{c++; next} c==1 && /^concepts:/{flag=1; next} flag && /^ - /{gsub(/^ - /,""); print}' "$f"
|
|
347
|
+
done | sort | uniq -c | sort -rn | head -5 | awk '{print $2}')
|
|
348
|
+
|
|
349
|
+
jq --argjson batch "$(jq '.progress.batch_no + 1' "$QUEUE")" \
|
|
350
|
+
--arg last_at "$(date -u +%Y-%m-%dT%H:%M)" \
|
|
351
|
+
--arg eta "$ETA" \
|
|
352
|
+
--argjson pending "$(jq '.pending | length' "$QUEUE")" \
|
|
353
|
+
--argjson top "$(printf '%s\n' "$TOP_CONCEPTS" | jq -R . | jq -s 'map(select(. != ""))')" '
|
|
354
|
+
.progress.batch_no = $batch
|
|
355
|
+
| .progress.last_batch_at = $last_at
|
|
356
|
+
| .progress.eta_hours = $eta
|
|
357
|
+
| .progress.pending_size = $pending
|
|
358
|
+
| .progress.top_concepts = $top
|
|
359
|
+
' "$QUEUE" > "${QUEUE}.tmp" && mv "${QUEUE}.tmp" "$QUEUE"
|
|
360
|
+
```
|
|
361
|
+
|
|
362
|
+
**Step 2 成功项写回示例(cgraphx docs seen-names 持久化 + jq 改 pending/explored_count):**
|
|
363
|
+
|
|
364
|
+
```bash
|
|
365
|
+
QUEUE="docs/knowledge/.exploration-queue.json"
|
|
366
|
+
TMP="${QUEUE}.tmp"
|
|
367
|
+
DONE_ID=2
|
|
368
|
+
DONE_NAME="客户导出 Batch"
|
|
369
|
+
|
|
370
|
+
# Layer 1 持久化:完成的 entry name 加入 cgraphx docs seen-names
|
|
371
|
+
# (CLI 内部会自动 normalize,主 agent 不需要预先 normalize)
|
|
372
|
+
cgraphx docs seen-names --add="$DONE_NAME" --json >/dev/null
|
|
373
|
+
|
|
374
|
+
# queue 本地只改 pending 和 explored_count(不再维护 seen_normalized_names)
|
|
375
|
+
jq --argjson id "$DONE_ID" '
|
|
376
|
+
.pending |= map(select(.id != $id))
|
|
377
|
+
| .explored_count += 1
|
|
378
|
+
' "$QUEUE" > "$TMP" && mv "$TMP" "$QUEUE"
|
|
379
|
+
```
|
|
380
|
+
|
|
381
|
+
**Step 2 失败项写回示例(达上限进 failed[]):**
|
|
382
|
+
|
|
383
|
+
```bash
|
|
384
|
+
FAIL_ID=7
|
|
385
|
+
FAIL_ERROR="BLOCKED: compile errors"
|
|
386
|
+
FAIL_AT=$(date -u +%Y-%m-%dT%H:%M)
|
|
387
|
+
|
|
388
|
+
jq --argjson id "$FAIL_ID" --arg err "$FAIL_ERROR" --arg at "$FAIL_AT" '
|
|
389
|
+
(.pending | map(select(.id == $id))[0]) as $item
|
|
390
|
+
| .pending |= map(select(.id != $id))
|
|
391
|
+
| .failed = ((.failed // []) + [$item + {fail_count: 3, last_error: $err, last_failed_at: $at}])
|
|
392
|
+
' "$QUEUE" > "$TMP" && mv "$TMP" "$QUEUE"
|
|
393
|
+
```
|
|
394
|
+
|
|
395
|
+
**Step 3 — 批次结束判断(不再每批次 index)**
|
|
396
|
+
|
|
397
|
+
当 `running_agents == 0`(本批次全部完成)时:
|
|
398
|
+
|
|
399
|
+
1. **不再触发 index**(千万行项目每批次 index 跑不通)。
|
|
400
|
+
- Layer 2 dedup 仍可工作——它检查的是已 index 进图谱的 concept 名;新批次产出的 .md 在 Phase 2 末尾统一 index 时才进图谱。**代价**:Phase 2 内对全新 concept 的 Layer 2 dedup 会误判为"非重复"(因为图谱还没更新),但 Layer 1(cgraphx 持久化的 `markdown_explored_entry_names` 表)仍能挡住 entry point name 维度的重复,**这是可接受的精度损失**。
|
|
401
|
+
2. 如果 `.explored_count >= max_explored` 或 `pending` 为空,进入 **Step 4**(Phase 2 收尾 index)。
|
|
402
|
+
3. 否则回到 **Step 1** 继续下一批次。
|
|
403
|
+
|
|
404
|
+
**Step 4 — Phase 2 收尾全量 index(一次)**
|
|
405
|
+
|
|
406
|
+
Phase 2 全部完成后,触发**单次**全量 markdown 知识库 index:
|
|
407
|
+
|
|
408
|
+
```bash
|
|
409
|
+
cgraphx docs index --json
|
|
410
|
+
```
|
|
411
|
+
|
|
412
|
+
完成后进入 Phase 3。**千万行项目这步单次可能跑数十分钟到几小时**——耐心等,期间不读 queue 文件。
|
|
413
|
+
|
|
414
|
+
> `.explored_count` 是 queue 文件里的独立 int 计数器,每次 Step 2 Case A 完成一项时 +1(用 jq 原子操作)。
|
|
415
|
+
|
|
416
|
+
**Pipeline flow(每批次不 index,仅 Phase 2 末尾一次):**
|
|
417
|
+
|
|
418
|
+
```
|
|
419
|
+
Time →
|
|
420
|
+
批次 1: Agent 1 [===A===] Agent 2 [====B====]
|
|
421
|
+
批次 2: Agent 1 [===C===] Agent 2 [==D==]
|
|
422
|
+
批次 3: ...
|
|
423
|
+
批次 N: [最终项] → Phase 2 结束
|
|
424
|
+
↓ 一次性 docs index(阻塞,可能很久)
|
|
425
|
+
Phase 3(cross-cutting deep-dive)
|
|
426
|
+
↓ 最终 docs index(一次)
|
|
427
|
+
completed
|
|
428
|
+
```
|
|
429
|
+
|
|
430
|
+
**为什么不能每批次 index?**
|
|
431
|
+
|
|
432
|
+
- `cgraphx docs index` 是**全量重建** markdown 知识库(清表后重扫所有 `docs/knowledge/*.md`)
|
|
433
|
+
- 千万行项目 docs/knowledge/ 可能有上千-上万 .md,单次 index 数十分钟到数小时
|
|
434
|
+
- 每批次跑 = 累计 N 批次 × 单次耗时,几天到几周
|
|
435
|
+
- 根本解是 markdown 知识库做增量 index endpoint(P0 #1,留作下一轮)
|
|
436
|
+
|
|
437
|
+
### Phase 3: Cross-cutting Deep-dive(grep symbol 中心性 + cgraphx docs concepts 交叉)
|
|
438
|
+
|
|
439
|
+
**核心思路**:cross-cutting concern = **代码层面被多个 entry 依赖的高中心性 symbol**(grep 统计跨文件引用数测量)+ **业务层面已被多文档提及但无专属文档的 concept**(`cgraphx docs concepts --sort=doc-count` 测量)。两者交叉验证,比单纯靠 markdown concept 频率更准——concept 在 markdown 里出现可能是子 agent 主观判断,grep 跨文件引用数是代码事实。
|
|
440
|
+
|
|
441
|
+
**Step 1 — 代码层面:找高中心性 symbols(grep 统计跨文件引用数)**
|
|
442
|
+
|
|
443
|
+
对每个 Phase 2 探索到的 entry symbol,用 `rg -l` 统计引用该 symbol 的文件数。被多个文件 / 模块引用的 symbol 即代码层面的 cross-cutting concern。
|
|
444
|
+
|
|
445
|
+
```bash
|
|
446
|
+
# 从 Phase 2 文档 frontmatter 收集候选 symbol / concept 名
|
|
447
|
+
SYMBOLS=$(awk '/^---$/{c++; next} c==1 && /^concepts:/{flag=1; next} flag && /^ - /{gsub(/^ - /,""); print}' docs/knowledge/*.md \
|
|
448
|
+
| sort -u | head -100)
|
|
449
|
+
|
|
450
|
+
# 对每个 symbol 统计跨文件引用数
|
|
451
|
+
TMP=$(mktemp)
|
|
452
|
+
for sym in $SYMBOLS; do
|
|
453
|
+
# 转义 regex 特殊字符
|
|
454
|
+
esc=$(printf '%s' "$sym" | sed 's/[.[\*()+?{|\\^$]/\\&/g')
|
|
455
|
+
count=$(rg -l "$esc" --type java --type kotlin 2>/dev/null | wc -l | tr -d ' ')
|
|
456
|
+
printf '%d\t%s\n' "$count" "$sym" >> "$TMP"
|
|
457
|
+
done
|
|
458
|
+
|
|
459
|
+
# 按引用文件数降序,取 top 30
|
|
460
|
+
sort -t$'\t' -k1 -rn "$TMP" | head -30 > high-centrality-symbols.txt
|
|
461
|
+
rm -f "$TMP"
|
|
462
|
+
```
|
|
463
|
+
|
|
464
|
+
**指标说明**:
|
|
465
|
+
- `rg -l <symbol>` 返回包含该字符串的所有文件路径;`wc -l` 即"被多少文件引用"
|
|
466
|
+
- 这是 grep 层面的"影响半径"近似——比字符串频率更克制(每文件只算 1 次),适合识别被多个模块依赖的核心 symbol
|
|
467
|
+
- **局限**:同名方法 / 工具类名 / 通用词会虚高。建议人工筛一遍 top 30,剔除明显是 util / helper / 通用词的项
|
|
468
|
+
|
|
469
|
+
被多个文件引用的 symbol 就是代码层面的 cross-cutting concern(如业务项目的 OrderService、PaymentGateway、AuthMiddleware——它们的引用文件数远大于工具类)。
|
|
470
|
+
|
|
471
|
+
**Step 2 — 业务层面:找高中心性 concepts(cgraphx docs concepts)**
|
|
472
|
+
|
|
473
|
+
```bash
|
|
474
|
+
# 拿所有 concept + 关联文档数,按 doc_count 排序(cgraphx docs concepts 已实现 --sort=doc-count)
|
|
475
|
+
cgraphx docs concepts --sort=doc-count --limit=30 --json \
|
|
476
|
+
> high-centrality-concepts.json
|
|
477
|
+
|
|
478
|
+
# cgraphx docs concepts 已经返回 documentCount 字段,直接用
|
|
479
|
+
jq '[.[] | {name, doc_count: .documentCount}] | sort_by(-.doc_count) | .[:30]' \
|
|
480
|
+
high-centrality-concepts.json
|
|
481
|
+
```
|
|
482
|
+
|
|
483
|
+
**Step 3 — 交叉验证:找"代码中心性高 + 业务无文档"的 concerns**
|
|
484
|
+
|
|
485
|
+
```text
|
|
486
|
+
对每个高中心性 symbol(Step 1,跨文件引用数 >= 3):
|
|
487
|
+
- 该 symbol 对应的 concept 名是否已在 markdown 知识库?
|
|
488
|
+
- 该 concept 是否已有 type: mechanism/decision 的专属文档?
|
|
489
|
+
- NO(代码中心性高 + 业务无专属文档)→ 加入 Phase 3 cross-cutting pending
|
|
490
|
+
- 边缘 case:symbol 是工具类(util/helper)跳过——不算业务 cross-cutting
|
|
491
|
+
```
|
|
492
|
+
|
|
493
|
+
**Step 4 — 派 cross-cutting 子 agent**
|
|
494
|
+
|
|
495
|
+
对每个 cross-cutting concern 创建 pending item:
|
|
496
|
+
- `type: "cross_cutting_concept"`
|
|
497
|
+
- `entry_symbol`: 高中心性 symbol
|
|
498
|
+
- `entry_files`: grep 给出的引用该 symbol 的代表性文件路径(top 5-10)
|
|
499
|
+
- `related_documents`: markdown 知识库里连接到该 concept 的已有文档路径
|
|
500
|
+
|
|
501
|
+
跑 Phase 2 探索循环,但用下方的 **Cross-cutting Sub-Agent Template**(强调基于 grep 影响面 + 已有文档整合,不重读代码)。
|
|
502
|
+
|
|
503
|
+
**Step 5 — Finalize**
|
|
504
|
+
|
|
505
|
+
1. 触发最终 markdown 知识库全量 index(同步 Phase 2 + Phase 3 所有文档):
|
|
506
|
+
|
|
507
|
+
```bash
|
|
508
|
+
cgraphx docs index --json
|
|
509
|
+
```
|
|
510
|
+
|
|
511
|
+
2. 设置 `phase` 为 `completed`。
|
|
512
|
+
3. 告知用户探索完成,列出:已生成文档数 / 覆盖的 entry symbol 数 / 识别的 cross-cutting concern 数 / 永久跳过的 failed 项数。
|
|
513
|
+
|
|
514
|
+
### Dedup Rules (cgraphx docs seen-names Layer 1 + cgraphx docs dedup Layer 2)
|
|
515
|
+
|
|
516
|
+
Before adding new entry points to `pending`, run **two layers** of dedup. Layer 1 是 entry point name 维度(防功能重复入队),Layer 2 是 concept name 维度(防 markdown 知识库内重复 concept)—— 两者维度不同,都要做。
|
|
517
|
+
|
|
518
|
+
**Layer 1:Entry point name dedup(cgraphx docs seen-names --check,O(log N) SQLite 索引)**
|
|
519
|
+
|
|
520
|
+
主 agent 收集子 agent 返回的 new_entry_points names,一次性批量 check:
|
|
521
|
+
|
|
522
|
+
```bash
|
|
523
|
+
# 主 agent 收集子 agent 返回的 new_entry_points names,一次性批量 check
|
|
524
|
+
CANDIDATES=("客户导出 Batch" "export-customer-batch" "Knowledge Recall")
|
|
525
|
+
|
|
526
|
+
# 一次性 batch check(用逗号分隔 names)
|
|
527
|
+
CANDIDATES_CSV=$(IFS=,; echo "${CANDIDATES[*]}")
|
|
528
|
+
CHECK_RESP=$(cgraphx docs seen-names --check="$CANDIDATES_CSV" --json)
|
|
529
|
+
|
|
530
|
+
# 提取通过 Layer 1 的候选(is_seen=false)
|
|
531
|
+
NEW=$(echo "$CHECK_RESP" | jq -r '.results[] | select(.is_seen == false) | .name')
|
|
532
|
+
echo "通过 Layer 1 的候选: $NEW"
|
|
533
|
+
```
|
|
534
|
+
|
|
535
|
+
cgraphx 内部 SQLite 的 `UNIQUE(project_path, normalized_name)` 索引提供 O(log N) 查询,比 bash grep O(N) 更快且 queue 文件不再增长。通过 Layer 1 的候选才进入 Layer 2(concept name dedup)。
|
|
536
|
+
|
|
537
|
+
**Layer 2:Concept name dedup(cgraphx docs dedup,单次批量)**
|
|
538
|
+
|
|
539
|
+
通过 Layer 1 的候选用逗号 join 后发给 `cgraphx docs dedup`:
|
|
540
|
+
|
|
541
|
+
```bash
|
|
542
|
+
# 把通过 Layer 1 的候选用逗号 join 后发给 cgraphx docs dedup
|
|
543
|
+
NEW_CSV=$(echo "$NEW" | paste -sd, -)
|
|
544
|
+
DEDUP_RESP=$(cgraphx docs dedup --names="$NEW_CSV" --json)
|
|
545
|
+
|
|
546
|
+
# is_duplicate=true 的项 SKIP(concept 已在图谱);false 的项才入队
|
|
547
|
+
NEW_AFTER_DEDUP=$(echo "$DEDUP_RESP" | jq -r '.results[] | select(.is_duplicate == false) | .name')
|
|
548
|
+
echo "通过 Layer 2 的候选: $NEW_AFTER_DEDUP"
|
|
549
|
+
```
|
|
550
|
+
|
|
551
|
+
cgraphx docs dedup 内置 normalize + alias 匹配。`is_duplicate: true` 的项 SKIP(concept 已在 markdown 知识库);`false` 的项才入队,同时通过 Layer 1 的候选会在被探索完成时由 Phase 2 Step 2 写回脚本通过 `cgraphx docs seen-names --add` 持久化到 SQLite 表(`markdown_explored_entry_names`)。
|
|
552
|
+
|
|
553
|
+
**Fallback**(`use_persistent_dedup: false` 时):仅内存模式,主 agent 在 queue 文件维护 `seen_normalized_names`,但**不推荐**——中断会丢,且 queue 文件随 explored 增长,千万行项目性能不可接受。新项目一律用 cgraphx 持久化模式。
|
|
554
|
+
|
|
555
|
+
**File-level coverage is NOT a dedup signal** —— 一个文件可能含多个独立功能,已探索其中一个函数不代表整文件覆盖。
|
|
556
|
+
|
|
557
|
+
**框架 boilerplate 不进 dedup 流程**(根本不视为 entry point):Spring 的 `@SpringBootApplication`、Express 的 `app.listen`、Axum 的 `Router::new` 等。
|
|
558
|
+
|
|
559
|
+
### Resuming After Interruption
|
|
560
|
+
|
|
561
|
+
If the queue file exists with `phase` not `completed`:
|
|
562
|
+
|
|
563
|
+
1. Read the queue file.
|
|
564
|
+
2. **dedup 状态完全在 cgraphx docs seen-names 持久化的 SQLite 表(`markdown_explored_entry_names`),resuming 时直接信任 SQLite 数据**——天然持久,**无需重建**。
|
|
565
|
+
3. **`failed[]`**:**保留**——已永久跳过的项不应被重新发现(千万行项目里反复卡同一项是致命浪费)。重新启动后这些 id 不再进 `pending`。
|
|
566
|
+
4. **`progress`**:保留 `batch_no`、`last_batch_at`,**重置 `eta_hours` 为 null**(中断期间没探索,旧 ETA 失真,下批次 Step 2.5 会重算)。
|
|
567
|
+
5. **`pending`** 校验:剔除 `entry_files` 已不存在的项;剔除与 `failed[]` 同 id 的项(兜底)。
|
|
568
|
+
6. 如果 `phase == exploration`:从 Phase 2 Step 1 重启批次(已 `explored_count +1` 的不重跑)。
|
|
569
|
+
7. 如果 `phase == deep_dive`:从 Phase 3 Step 1 继续(concept 聚合)。
|
|
570
|
+
|
|
571
|
+
Do NOT restart from Phase 1.
|
|
572
|
+
|
|
573
|
+
旧版本 queue 文件如果含 `seen_normalized_names` 字段,直接忽略 —— 新版 dedup 状态完全在 SQLite,不依赖 queue 文件。不需要扫 `docs/knowledge/*.md` 反向重建,cgraphx 持久化的 SQLite 表是单一数据源。
|
|
574
|
+
|
|
575
|
+
---
|
|
576
|
+
|
|
577
|
+
## Sub-Agent Template
|
|
578
|
+
|
|
579
|
+
Each sub-agent receives this prompt structure. Fill in the `{placeholders}` before launching.
|
|
580
|
+
|
|
581
|
+
```text
|
|
582
|
+
你是一个代码探索 agent。请深入探索以下入口点,尽可能详细。
|
|
583
|
+
|
|
584
|
+
【入口点】
|
|
585
|
+
名称:{name}
|
|
586
|
+
类型:{type}
|
|
587
|
+
起始文件:{entry_files}
|
|
588
|
+
起始符号:{entry_symbol}(如 com.example.OrderService.createOrder,grep 关键词)
|
|
589
|
+
|
|
590
|
+
【工具优先级:grep 定位 → Read 看实现(铁律)】
|
|
591
|
+
|
|
592
|
+
**强制**:先用 `grep` / `rg` 定位符号、跟踪调用链,**只在需要看具体实现细节**(算法、注释、边界条件、错误处理分支)时用 `Read`——且优先按 grep 给的行号定位再 Read,**不要 Read 整个文件**。千万行项目里 Read 整个文件是 context 黑洞。
|
|
593
|
+
|
|
594
|
+
```bash
|
|
595
|
+
LANG_TYPES="--type java --type kotlin" # 按 config.languages 动态生成
|
|
596
|
+
EXCLUDES=(-g '!node_modules/**' -g '!target/**' -g '!build/**' -g '!vendor/**' -g '!.git/**')
|
|
597
|
+
|
|
598
|
+
# 1. 拿该入口符号的调用方(谁调用了它)
|
|
599
|
+
rg -n $LANG_TYPES "${EXCLUDES[@]}" "{entry_symbol}"
|
|
600
|
+
|
|
601
|
+
# 2. 拿该入口符号的下游调用(它调用了什么——Read 入口函数实现后从函数体提取)
|
|
602
|
+
# 先定位入口函数实现位置:
|
|
603
|
+
rg -n $LANG_TYPES "${EXCLUDES[@]}" "func {entry_symbol}|def {entry_symbol}|void {entry_symbol}|fun {entry_symbol}"
|
|
604
|
+
# 然后 Read 该位置(offset/limit),从函数体里识别被调用的下游函数名
|
|
605
|
+
# 再对每个下游函数名 rg 找定义位置 → 递归追踪
|
|
606
|
+
|
|
607
|
+
# 3. 找相关同模块入口(按业务名搜)
|
|
608
|
+
rg -n $LANG_TYPES "${EXCLUDES[@]}" "{name}" | head -20
|
|
609
|
+
|
|
610
|
+
# 4. 看改动影响面(哪些其他文件引用了这个符号)—— 识别跨模块依赖
|
|
611
|
+
rg -l $LANG_TYPES "${EXCLUDES[@]}" "{entry_symbol}"
|
|
612
|
+
# -l 只列文件名,文件数即"被多少文件依赖",作中心性指标
|
|
613
|
+
```
|
|
614
|
+
|
|
615
|
+
**Read 策略**:
|
|
616
|
+
- 仅当 grep 输出指向某段具体实现,且需要看代码细节(算法、注释、错误分支)时
|
|
617
|
+
- 优先用 `Read offset/limit` 按 grep 给的行号定位
|
|
618
|
+
- **单次任务最多 Read 30 个文件**,超过报 `DONE_WITH_CONCERNS` 并列出未覆盖部分
|
|
619
|
+
|
|
620
|
+
【已有业务知识 — 先查询再探索】
|
|
621
|
+
|
|
622
|
+
业务概念层面(不是代码层面)的已有知识用 cgraphx docs(markdown 知识库):
|
|
623
|
+
|
|
624
|
+
```bash
|
|
625
|
+
# 已有 concept(避免在自己写文档时创建重复 concept 名)
|
|
626
|
+
cgraphx docs concepts --json
|
|
627
|
+
|
|
628
|
+
# 已有相关文档
|
|
629
|
+
cgraphx docs find --q="{name}" --limit=5 --json
|
|
630
|
+
```
|
|
631
|
+
|
|
632
|
+
**职责分工**:entry point name 维度的去重由**主 agent** 在入队前完成,你不需要做。发现新入口点时**全部报告**给主 agent(不预先过滤)。
|
|
633
|
+
|
|
634
|
+
【项目信息】
|
|
635
|
+
项目路径:{repo_path}
|
|
636
|
+
项目名称:{project_name}
|
|
637
|
+
|
|
638
|
+
【任务】
|
|
639
|
+
1. 从起始符号开始,用 grep 跟踪完整调用链:
|
|
640
|
+
- 跟踪函数调用链(至少 4-5 层深度,反向 grep 找调用方 + Read 实现提取下游调用)
|
|
641
|
+
- 识别数据模型、状态转换、错误处理路径(grep 定位 → Read 看实现)
|
|
642
|
+
- 关注跨模块/跨文件的依赖关系(用 `rg -l "{entry_symbol}"` 看影响面 + 跨文件分布)
|
|
643
|
+
- 记录外部服务调用(数据库、消息队列、HTTP 调用——通常在函数体里,Read 时识别)
|
|
644
|
+
|
|
645
|
+
2. 识别业务概念和非显而易见的约束:
|
|
646
|
+
- 核心业务实体和它们的关系
|
|
647
|
+
- 隐含的业务规则(代码里没写注释但行为有约束的)
|
|
648
|
+
- 潜在的陷阱和边缘情况
|
|
649
|
+
|
|
650
|
+
3. 发现新的独立入口点:
|
|
651
|
+
- 当前入口点触发但未被探索的独立功能/流程
|
|
652
|
+
- **全部报告**给主 agent,不预先过滤
|
|
653
|
+
|
|
654
|
+
【保存知识文档】
|
|
655
|
+
使用 knowledge-write skill 的完整流程保存文档:
|
|
656
|
+
1. 先调用 Skill 工具加载 knowledge-write skill,按其规范执行保存流程
|
|
657
|
+
2. 查询已有概念:cgraphx docs concepts --json
|
|
658
|
+
3. 复用已有概念名,新名称放 aliases
|
|
659
|
+
4. 文件名 kebab-case,基于入口点命名,保存到 docs/knowledge/
|
|
660
|
+
5. document_type 根据探索内容判断:业务实体识别→business-entity,流程识别→business-flow,技术结构/机制→mechanism,约束规则→rule,陷阱/复盘教训→lesson,设计决策→decision
|
|
661
|
+
6. domains 填 [{project_name}]
|
|
662
|
+
7. source_type 填 batch_exploration(knowledge-init 批量探索建库的默认来源)
|
|
663
|
+
8. related_code 填实际探索过的文件路径(grep 输出已有,直接复制)
|
|
664
|
+
9. 文档正文必须包含:Summary, Context, Findings, Evidence, Impact For Future Changes
|
|
665
|
+
10. **Write 后必须 `cgraphx docs validate <file>` 校验通过**(knowledge-write skill 的强制步骤);非法则修 frontmatter 再 Write 再校验,直到合法
|
|
666
|
+
|
|
667
|
+
完成后只返回以下 JSON(不要返回文档内容):
|
|
668
|
+
{
|
|
669
|
+
"document_path": "docs/knowledge/xxx.md",
|
|
670
|
+
"document_type": "business-flow",
|
|
671
|
+
"files_explored": ["src/xxx.rs", ...],
|
|
672
|
+
"symbols_explored": ["com.example.X.foo", ...],
|
|
673
|
+
"concepts_found": ["ConceptA", "ConceptB"],
|
|
674
|
+
"new_entry_points": [
|
|
675
|
+
{"name": "Feature X", "entry_files": ["src/feature_x.rs"], "entry_symbol": "com.example.FeatureX.run", "type": "api_route"}
|
|
676
|
+
]
|
|
677
|
+
}
|
|
678
|
+
```
|
|
679
|
+
|
|
680
|
+
---
|
|
681
|
+
|
|
682
|
+
## Cross-cutting Sub-Agent Template
|
|
683
|
+
|
|
684
|
+
For Phase 3 deep-dive items with `type: "cross_cutting_concept"`:
|
|
685
|
+
|
|
686
|
+
```text
|
|
687
|
+
你是一个代码探索 agent,负责对跨多个模块的核心概念做**整合分析**——基于已有事实综合,必要时按需 Read。
|
|
688
|
+
|
|
689
|
+
【目标概念】
|
|
690
|
+
名称:{name}
|
|
691
|
+
中心性 symbol:{entry_symbol}(被 N 个文件引用的高中心性代码符号)
|
|
692
|
+
关联已有文档(Read 这些):{document_paths}
|
|
693
|
+
|
|
694
|
+
【工具优先级:grep 看影响面 > Read 已有文档 > Read 代码】
|
|
695
|
+
|
|
696
|
+
1. **先看代码影响面**(grep 跨文件引用)—— 知道这个 symbol 在多少模块/文件里出现:
|
|
697
|
+
|
|
698
|
+
```bash
|
|
699
|
+
LANG_TYPES="--type java --type kotlin" # 按 config.languages 动态生成
|
|
700
|
+
EXCLUDES=(-g '!node_modules/**' -g '!target/**' -g '!build/**' -g '!vendor/**' -g '!.git/**')
|
|
701
|
+
|
|
702
|
+
# 列出所有引用该 symbol 的文件(含路径,看跨模块分布)
|
|
703
|
+
rg -ln $LANG_TYPES "${EXCLUDES[@]}" "{entry_symbol}"
|
|
704
|
+
|
|
705
|
+
# 看具体引用上下文(每个文件取一行,看是定义还是调用)
|
|
706
|
+
rg -n $LANG_TYPES "${EXCLUDES[@]}" "{entry_symbol}" | head -50
|
|
707
|
+
```
|
|
708
|
+
|
|
709
|
+
从文件路径分布看影响面:跨多少模块 / 包 / 服务,文件数即"被多少处依赖"。
|
|
710
|
+
|
|
711
|
+
2. **Read 关联已有文档**({document_paths})—— 知道业务层面已经记录了什么。
|
|
712
|
+
|
|
713
|
+
3. **按需 Read 代码**(仅当前两步明确指向某个具体实现且需要细节时)—— Phase 2 已经探索过这些代码,避免重复 Read 浪费 token。
|
|
714
|
+
|
|
715
|
+
【项目信息】
|
|
716
|
+
项目路径:{repo_path}
|
|
717
|
+
项目名称:{project_name}
|
|
718
|
+
|
|
719
|
+
【任务】
|
|
720
|
+
1. 用 grep 跨文件引用结果构建"代码影响面":哪些模块/包依赖这个 symbol(看 `rg -l` 输出的文件路径分布),跨多少文件,规模多大
|
|
721
|
+
2. 用已有文档({document_paths})构建"业务已知":业务侧如何描述这个 concept
|
|
722
|
+
3. 找 gap:
|
|
723
|
+
- 代码影响面 ≠ 业务已知 → 缺失视角(例:代码层面 OrderService 被 5 个模块引用,但业务文档只覆盖了 2 个)
|
|
724
|
+
- 各文档之间矛盾(同一 concept 在不同文档描述不一致)
|
|
725
|
+
- 整合视角(concept 在不同模块的完整生命周期、数据流、控制流)
|
|
726
|
+
|
|
727
|
+
【输出】
|
|
728
|
+
在 docs/knowledge/ 目录下创建整合文档。
|
|
729
|
+
|
|
730
|
+
document_type 建议:
|
|
731
|
+
- 揭示整体架构/技术机制 → mechanism
|
|
732
|
+
- 设计决策总结 → decision
|
|
733
|
+
- 流程整合 → business-flow
|
|
734
|
+
|
|
735
|
+
frontmatter:
|
|
736
|
+
- related_documents 填引用的已有文档
|
|
737
|
+
- related_code 填 grep 跨文件引用结果里涉及的高中心性文件
|
|
738
|
+
- concepts 填此核心 concept + 关联 concept
|
|
739
|
+
|
|
740
|
+
**Write 后必须 `cgraphx docs validate <file>` 校验通过**(同知识文档流程步骤 10)。
|
|
741
|
+
|
|
742
|
+
完成后返回 JSON:
|
|
743
|
+
{
|
|
744
|
+
"document_path": "docs/knowledge/xxx.md",
|
|
745
|
+
"document_type": "mechanism",
|
|
746
|
+
"files_explored": [...],
|
|
747
|
+
"symbols_analyzed": [...],
|
|
748
|
+
"concepts_found": [...],
|
|
749
|
+
"new_entry_points": [...]
|
|
750
|
+
}
|
|
751
|
+
```
|
|
752
|
+
|
|
753
|
+
---
|
|
754
|
+
|
|
755
|
+
## Quality Rules
|
|
756
|
+
|
|
757
|
+
- Sub-agents must include `Evidence` section with actual file paths and code references.
|
|
758
|
+
- Documents without `Evidence` or `Impact For Future Changes` are flagged as low quality.
|
|
759
|
+
- Each sub-agent must explore at least 3 files (not just the entry file).
|
|
760
|
+
- New entry points must be genuinely independent — a helper function called by an already-explored entry is NOT a new entry point.
|
|
761
|
+
- When the project uses a framework (Spring, Express, Axum, Django), framework boilerplate is NOT an entry point. Only business logic matters.
|