spectra-cli 4.1.1 → 4.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/adapters/go-adapter.d.ts.map +1 -1
- package/dist/adapters/go-adapter.js +2 -0
- package/dist/adapters/go-adapter.js.map +1 -1
- package/dist/adapters/index.d.ts +1 -1
- package/dist/adapters/index.d.ts.map +1 -1
- package/dist/adapters/java-adapter.d.ts.map +1 -1
- package/dist/adapters/java-adapter.js +2 -0
- package/dist/adapters/java-adapter.js.map +1 -1
- package/dist/adapters/language-adapter.d.ts +47 -9
- package/dist/adapters/language-adapter.d.ts.map +1 -1
- package/dist/adapters/python-adapter.d.ts +34 -6
- package/dist/adapters/python-adapter.d.ts.map +1 -1
- package/dist/adapters/python-adapter.js +157 -59
- package/dist/adapters/python-adapter.js.map +1 -1
- package/dist/adapters/ts-js-adapter.d.ts +13 -5
- package/dist/adapters/ts-js-adapter.d.ts.map +1 -1
- package/dist/adapters/ts-js-adapter.js +55 -14
- package/dist/adapters/ts-js-adapter.js.map +1 -1
- package/dist/batch/batch-orchestrator.d.ts +30 -4
- package/dist/batch/batch-orchestrator.d.ts.map +1 -1
- package/dist/batch/batch-orchestrator.js +284 -7
- package/dist/batch/batch-orchestrator.js.map +1 -1
- package/dist/batch/delta-regenerator.d.ts +2 -2
- package/dist/batch/delta-regenerator.d.ts.map +1 -1
- package/dist/batch/delta-regenerator.js.map +1 -1
- package/dist/batch/module-grouper.d.ts +2 -2
- package/dist/batch/module-grouper.d.ts.map +1 -1
- package/dist/batch/module-grouper.js +1 -1
- package/dist/batch/module-grouper.js.map +1 -1
- package/dist/cli/commands/graph.js +1 -1
- package/dist/cli/commands/graph.js.map +1 -1
- package/dist/cli/commands/index.d.ts +8 -0
- package/dist/cli/commands/index.d.ts.map +1 -0
- package/dist/cli/commands/index.js +274 -0
- package/dist/cli/commands/index.js.map +1 -0
- package/dist/cli/commands/query.d.ts.map +1 -1
- package/dist/cli/commands/query.js +3 -1
- package/dist/cli/commands/query.js.map +1 -1
- package/dist/cli/index.js +9 -9
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/utils/parse-args.d.ts +13 -1
- package/dist/cli/utils/parse-args.d.ts.map +1 -1
- package/dist/cli/utils/parse-args.js +79 -2
- package/dist/cli/utils/parse-args.js.map +1 -1
- package/dist/core/ast-analyzer.d.ts.map +1 -1
- package/dist/core/ast-analyzer.js +79 -5
- package/dist/core/ast-analyzer.js.map +1 -1
- package/dist/core/import-resolver.d.ts +90 -0
- package/dist/core/import-resolver.d.ts.map +1 -0
- package/dist/core/import-resolver.js +273 -0
- package/dist/core/import-resolver.js.map +1 -0
- package/dist/core/query-mappers/base-mapper.d.ts +13 -0
- package/dist/core/query-mappers/base-mapper.d.ts.map +1 -1
- package/dist/core/query-mappers/go-mapper.d.ts +68 -0
- package/dist/core/query-mappers/go-mapper.d.ts.map +1 -1
- package/dist/core/query-mappers/go-mapper.js +421 -0
- package/dist/core/query-mappers/go-mapper.js.map +1 -1
- package/dist/core/query-mappers/java-mapper.d.ts +196 -0
- package/dist/core/query-mappers/java-mapper.d.ts.map +1 -1
- package/dist/core/query-mappers/java-mapper.js +600 -0
- package/dist/core/query-mappers/java-mapper.js.map +1 -1
- package/dist/core/query-mappers/python-mapper.d.ts +55 -0
- package/dist/core/query-mappers/python-mapper.d.ts.map +1 -1
- package/dist/core/query-mappers/python-mapper.js +273 -0
- package/dist/core/query-mappers/python-mapper.js.map +1 -1
- package/dist/core/query-mappers/typescript-mapper.d.ts +102 -0
- package/dist/core/query-mappers/typescript-mapper.d.ts.map +1 -1
- package/dist/core/query-mappers/typescript-mapper.js +470 -0
- package/dist/core/query-mappers/typescript-mapper.js.map +1 -1
- package/dist/core/single-spec-orchestrator.d.ts.map +1 -1
- package/dist/core/single-spec-orchestrator.js +146 -9
- package/dist/core/single-spec-orchestrator.js.map +1 -1
- package/dist/core/tree-sitter-analyzer.d.ts +6 -0
- package/dist/core/tree-sitter-analyzer.d.ts.map +1 -1
- package/dist/core/tree-sitter-analyzer.js +33 -1
- package/dist/core/tree-sitter-analyzer.js.map +1 -1
- package/dist/core/tree-sitter-fallback.d.ts +7 -4
- package/dist/core/tree-sitter-fallback.d.ts.map +1 -1
- package/dist/core/tree-sitter-fallback.js +157 -12
- package/dist/core/tree-sitter-fallback.js.map +1 -1
- package/dist/extraction/extraction-types.d.ts +25 -25
- package/dist/generator/index-generator.d.ts +3 -3
- package/dist/generator/index-generator.d.ts.map +1 -1
- package/dist/generator/index-generator.js +1 -1
- package/dist/generator/index-generator.js.map +1 -1
- package/dist/graph/directory-graph.d.ts +14 -4
- package/dist/graph/directory-graph.d.ts.map +1 -1
- package/dist/graph/directory-graph.js +71 -128
- package/dist/graph/directory-graph.js.map +1 -1
- package/dist/graph/mermaid-renderer.d.ts +8 -5
- package/dist/graph/mermaid-renderer.d.ts.map +1 -1
- package/dist/graph/mermaid-renderer.js +3 -3
- package/dist/graph/mermaid-renderer.js.map +1 -1
- package/dist/graph/topological-sort.d.ts +13 -6
- package/dist/graph/topological-sort.d.ts.map +1 -1
- package/dist/graph/topological-sort.js +2 -2
- package/dist/graph/topological-sort.js.map +1 -1
- package/dist/knowledge-graph/call-resolver.d.ts +64 -0
- package/dist/knowledge-graph/call-resolver.d.ts.map +1 -0
- package/dist/knowledge-graph/call-resolver.js +323 -0
- package/dist/knowledge-graph/call-resolver.js.map +1 -0
- package/dist/knowledge-graph/import-resolver.d.ts +114 -0
- package/dist/knowledge-graph/import-resolver.d.ts.map +1 -0
- package/dist/knowledge-graph/import-resolver.js +537 -0
- package/dist/knowledge-graph/import-resolver.js.map +1 -0
- package/dist/knowledge-graph/incremental.d.ts +110 -0
- package/dist/knowledge-graph/incremental.d.ts.map +1 -0
- package/dist/knowledge-graph/incremental.js +410 -0
- package/dist/knowledge-graph/incremental.js.map +1 -0
- package/dist/knowledge-graph/index.d.ts +74 -0
- package/dist/knowledge-graph/index.d.ts.map +1 -0
- package/dist/knowledge-graph/index.js +156 -0
- package/dist/knowledge-graph/index.js.map +1 -0
- package/dist/knowledge-graph/module-derivation.d.ts +238 -0
- package/dist/knowledge-graph/module-derivation.d.ts.map +1 -0
- package/dist/knowledge-graph/module-derivation.js +418 -0
- package/dist/knowledge-graph/module-derivation.js.map +1 -0
- package/dist/knowledge-graph/persistence.d.ts +270 -0
- package/dist/knowledge-graph/persistence.d.ts.map +1 -0
- package/dist/knowledge-graph/persistence.js +226 -0
- package/dist/knowledge-graph/persistence.js.map +1 -0
- package/dist/knowledge-graph/query-helpers.d.ts +164 -0
- package/dist/knowledge-graph/query-helpers.d.ts.map +1 -0
- package/dist/knowledge-graph/query-helpers.js +394 -0
- package/dist/knowledge-graph/query-helpers.js.map +1 -0
- package/dist/knowledge-graph/unified-graph.d.ts +310 -0
- package/dist/knowledge-graph/unified-graph.d.ts.map +1 -0
- package/dist/knowledge-graph/unified-graph.js +182 -0
- package/dist/knowledge-graph/unified-graph.js.map +1 -0
- package/dist/mcp/agent-context-tools.d.ts +104 -0
- package/dist/mcp/agent-context-tools.d.ts.map +1 -0
- package/dist/mcp/agent-context-tools.js +854 -0
- package/dist/mcp/agent-context-tools.js.map +1 -0
- package/dist/mcp/graph-tools.d.ts +20 -0
- package/dist/mcp/graph-tools.d.ts.map +1 -1
- package/dist/mcp/graph-tools.js +71 -11
- package/dist/mcp/graph-tools.js.map +1 -1
- package/dist/mcp/lib/response-helpers.d.ts +67 -0
- package/dist/mcp/lib/response-helpers.d.ts.map +1 -0
- package/dist/mcp/lib/response-helpers.js +103 -0
- package/dist/mcp/lib/response-helpers.js.map +1 -0
- package/dist/mcp/server.d.ts +3 -1
- package/dist/mcp/server.d.ts.map +1 -1
- package/dist/mcp/server.js +9 -10
- package/dist/mcp/server.js.map +1 -1
- package/dist/models/call-site.d.ts +68 -0
- package/dist/models/call-site.d.ts.map +1 -0
- package/dist/models/call-site.js +60 -0
- package/dist/models/call-site.js.map +1 -0
- package/dist/models/code-skeleton.d.ts +78 -6
- package/dist/models/code-skeleton.d.ts.map +1 -1
- package/dist/models/code-skeleton.js +29 -0
- package/dist/models/code-skeleton.js.map +1 -1
- package/dist/models/drift-item.d.ts +4 -4
- package/dist/models/module-spec.d.ts +155 -94
- package/dist/models/module-spec.d.ts.map +1 -1
- package/dist/panoramic/adr-decision-pipeline.d.ts +53 -0
- package/dist/panoramic/adr-decision-pipeline.d.ts.map +1 -0
- package/dist/panoramic/adr-decision-pipeline.js +685 -0
- package/dist/panoramic/adr-decision-pipeline.js.map +1 -0
- package/dist/panoramic/api-surface-generator.d.ts +56 -0
- package/dist/panoramic/api-surface-generator.d.ts.map +1 -0
- package/dist/panoramic/api-surface-generator.js +1671 -0
- package/dist/panoramic/api-surface-generator.js.map +1 -0
- package/dist/panoramic/architecture-ir-builder.d.ts +19 -0
- package/dist/panoramic/architecture-ir-builder.d.ts.map +1 -0
- package/dist/panoramic/architecture-ir-builder.js +561 -0
- package/dist/panoramic/architecture-ir-builder.js.map +1 -0
- package/dist/panoramic/architecture-ir-exporters.d.ts +7 -0
- package/dist/panoramic/architecture-ir-exporters.d.ts.map +1 -0
- package/dist/panoramic/architecture-ir-exporters.js +183 -0
- package/dist/panoramic/architecture-ir-exporters.js.map +1 -0
- package/dist/panoramic/architecture-ir-generator.d.ts +36 -0
- package/dist/panoramic/architecture-ir-generator.d.ts.map +1 -0
- package/dist/panoramic/architecture-ir-generator.js +51 -0
- package/dist/panoramic/architecture-ir-generator.js.map +1 -0
- package/dist/panoramic/architecture-ir-mermaid-adapter.d.ts +6 -0
- package/dist/panoramic/architecture-ir-mermaid-adapter.d.ts.map +1 -0
- package/dist/panoramic/architecture-ir-mermaid-adapter.js +98 -0
- package/dist/panoramic/architecture-ir-mermaid-adapter.js.map +1 -0
- package/dist/panoramic/architecture-ir-model.d.ts +87 -0
- package/dist/panoramic/architecture-ir-model.d.ts.map +1 -0
- package/dist/panoramic/architecture-ir-model.js +20 -0
- package/dist/panoramic/architecture-ir-model.js.map +1 -0
- package/dist/panoramic/architecture-narrative.d.ts +68 -0
- package/dist/panoramic/architecture-narrative.d.ts.map +1 -0
- package/dist/panoramic/architecture-narrative.js +401 -0
- package/dist/panoramic/architecture-narrative.js.map +1 -0
- package/dist/panoramic/architecture-overview-generator.d.ts +31 -0
- package/dist/panoramic/architecture-overview-generator.d.ts.map +1 -0
- package/dist/panoramic/architecture-overview-generator.js +454 -0
- package/dist/panoramic/architecture-overview-generator.js.map +1 -0
- package/dist/panoramic/architecture-overview-model.d.ts +77 -0
- package/dist/panoramic/architecture-overview-model.d.ts.map +1 -0
- package/dist/panoramic/architecture-overview-model.js +31 -0
- package/dist/panoramic/architecture-overview-model.js.map +1 -0
- package/dist/panoramic/batch-project-docs.d.ts.map +1 -1
- package/dist/panoramic/batch-project-docs.js +4 -2
- package/dist/panoramic/batch-project-docs.js.map +1 -1
- package/dist/panoramic/builders/component-view-builder.d.ts +25 -1
- package/dist/panoramic/builders/component-view-builder.d.ts.map +1 -1
- package/dist/panoramic/builders/component-view-builder.js +83 -3
- package/dist/panoramic/builders/component-view-builder.js.map +1 -1
- package/dist/panoramic/builders/doc-graph-builder.d.ts +2 -2
- package/dist/panoramic/builders/doc-graph-builder.d.ts.map +1 -1
- package/dist/panoramic/builders/doc-graph-builder.js.map +1 -1
- package/dist/panoramic/component-view-builder.d.ts +17 -0
- package/dist/panoramic/component-view-builder.d.ts.map +1 -0
- package/dist/panoramic/component-view-builder.js +652 -0
- package/dist/panoramic/component-view-builder.js.map +1 -0
- package/dist/panoramic/component-view-model.d.ts +127 -0
- package/dist/panoramic/component-view-model.d.ts.map +1 -0
- package/dist/panoramic/component-view-model.js +65 -0
- package/dist/panoramic/component-view-model.js.map +1 -0
- package/dist/panoramic/config-reference-generator.d.ts +78 -0
- package/dist/panoramic/config-reference-generator.d.ts.map +1 -0
- package/dist/panoramic/config-reference-generator.js +199 -0
- package/dist/panoramic/config-reference-generator.js.map +1 -0
- package/dist/panoramic/coverage-auditor.d.ts +95 -0
- package/dist/panoramic/coverage-auditor.d.ts.map +1 -0
- package/dist/panoramic/coverage-auditor.js +290 -0
- package/dist/panoramic/coverage-auditor.js.map +1 -0
- package/dist/panoramic/cross-package-analyzer.d.ts +112 -0
- package/dist/panoramic/cross-package-analyzer.d.ts.map +1 -0
- package/dist/panoramic/cross-package-analyzer.js +258 -0
- package/dist/panoramic/cross-package-analyzer.js.map +1 -0
- package/dist/panoramic/data-model-generator.d.ts +528 -0
- package/dist/panoramic/data-model-generator.d.ts.map +1 -0
- package/dist/panoramic/data-model-generator.js +647 -0
- package/dist/panoramic/data-model-generator.js.map +1 -0
- package/dist/panoramic/doc-graph-builder.d.ts +80 -0
- package/dist/panoramic/doc-graph-builder.d.ts.map +1 -0
- package/dist/panoramic/doc-graph-builder.js +352 -0
- package/dist/panoramic/doc-graph-builder.js.map +1 -0
- package/dist/panoramic/docs-bundle-manifest-reader.d.ts +26 -0
- package/dist/panoramic/docs-bundle-manifest-reader.d.ts.map +1 -0
- package/dist/panoramic/docs-bundle-manifest-reader.js +106 -0
- package/dist/panoramic/docs-bundle-manifest-reader.js.map +1 -0
- package/dist/panoramic/docs-bundle-orchestrator.d.ts +14 -0
- package/dist/panoramic/docs-bundle-orchestrator.d.ts.map +1 -0
- package/dist/panoramic/docs-bundle-orchestrator.js +538 -0
- package/dist/panoramic/docs-bundle-orchestrator.js.map +1 -0
- package/dist/panoramic/docs-bundle-profiles.d.ts +4 -0
- package/dist/panoramic/docs-bundle-profiles.d.ts.map +1 -0
- package/dist/panoramic/docs-bundle-profiles.js +82 -0
- package/dist/panoramic/docs-bundle-profiles.js.map +1 -0
- package/dist/panoramic/docs-bundle-types.d.ts +94 -0
- package/dist/panoramic/docs-bundle-types.d.ts.map +1 -0
- package/dist/panoramic/docs-bundle-types.js +10 -0
- package/dist/panoramic/docs-bundle-types.js.map +1 -0
- package/dist/panoramic/docs-quality-evaluator.d.ts +31 -0
- package/dist/panoramic/docs-quality-evaluator.d.ts.map +1 -0
- package/dist/panoramic/docs-quality-evaluator.js +941 -0
- package/dist/panoramic/docs-quality-evaluator.js.map +1 -0
- package/dist/panoramic/docs-quality-model.d.ts +125 -0
- package/dist/panoramic/docs-quality-model.d.ts.map +1 -0
- package/dist/panoramic/docs-quality-model.js +166 -0
- package/dist/panoramic/docs-quality-model.js.map +1 -0
- package/dist/panoramic/dynamic-scenarios-builder.d.ts +18 -0
- package/dist/panoramic/dynamic-scenarios-builder.d.ts.map +1 -0
- package/dist/panoramic/dynamic-scenarios-builder.js +316 -0
- package/dist/panoramic/dynamic-scenarios-builder.js.map +1 -0
- package/dist/panoramic/event-surface-generator.d.ts +52 -0
- package/dist/panoramic/event-surface-generator.d.ts.map +1 -0
- package/dist/panoramic/event-surface-generator.js +507 -0
- package/dist/panoramic/event-surface-generator.js.map +1 -0
- package/dist/panoramic/generator-registry.d.ts +1 -1
- package/dist/panoramic/generator-registry.d.ts.map +1 -1
- package/dist/panoramic/generator-registry.js +5 -2
- package/dist/panoramic/generator-registry.js.map +1 -1
- package/dist/panoramic/generators/cross-package-analyzer.d.ts +5 -5
- package/dist/panoramic/generators/cross-package-analyzer.d.ts.map +1 -1
- package/dist/panoramic/generators/cross-package-analyzer.js +1 -1
- package/dist/panoramic/generators/cross-package-analyzer.js.map +1 -1
- package/dist/panoramic/generators/data-model-generator.d.ts +27 -27
- package/dist/panoramic/graph/confidence-mapper.d.ts +18 -0
- package/dist/panoramic/graph/confidence-mapper.d.ts.map +1 -1
- package/dist/panoramic/graph/confidence-mapper.js +26 -0
- package/dist/panoramic/graph/confidence-mapper.js.map +1 -1
- package/dist/panoramic/graph/graph-builder.d.ts.map +1 -1
- package/dist/panoramic/graph/graph-builder.js +78 -0
- package/dist/panoramic/graph/graph-builder.js.map +1 -1
- package/dist/panoramic/graph/graph-paths.d.ts +8 -0
- package/dist/panoramic/graph/graph-paths.d.ts.map +1 -1
- package/dist/panoramic/graph/graph-paths.js +10 -0
- package/dist/panoramic/graph/graph-paths.js.map +1 -1
- package/dist/panoramic/graph/graph-query.d.ts +33 -2
- package/dist/panoramic/graph/graph-query.d.ts.map +1 -1
- package/dist/panoramic/graph/graph-query.js +69 -19
- package/dist/panoramic/graph/graph-query.js.map +1 -1
- package/dist/panoramic/graph/graph-types.d.ts +32 -3
- package/dist/panoramic/graph/graph-types.d.ts.map +1 -1
- package/dist/panoramic/hyperedges/schema.d.ts +6 -6
- package/dist/panoramic/interface-surface-generator.d.ts +50 -0
- package/dist/panoramic/interface-surface-generator.d.ts.map +1 -0
- package/dist/panoramic/interface-surface-generator.js +388 -0
- package/dist/panoramic/interface-surface-generator.js.map +1 -0
- package/dist/panoramic/interfaces.d.ts +2 -2
- package/dist/panoramic/mock-readme-generator.d.ts +90 -0
- package/dist/panoramic/mock-readme-generator.d.ts.map +1 -0
- package/dist/panoramic/mock-readme-generator.js +111 -0
- package/dist/panoramic/mock-readme-generator.js.map +1 -0
- package/dist/panoramic/models/component-view-model.d.ts +1 -1
- package/dist/panoramic/models/component-view-model.d.ts.map +1 -1
- package/dist/panoramic/models/component-view-model.js.map +1 -1
- package/dist/panoramic/narrative-provenance-adapter.d.ts +8 -0
- package/dist/panoramic/narrative-provenance-adapter.d.ts.map +1 -0
- package/dist/panoramic/narrative-provenance-adapter.js +99 -0
- package/dist/panoramic/narrative-provenance-adapter.js.map +1 -0
- package/dist/panoramic/parser-registry.d.ts +1 -1
- package/dist/panoramic/parser-registry.js +1 -1
- package/dist/panoramic/parsers/types.d.ts +6 -6
- package/dist/panoramic/pattern-hints-generator.d.ts +28 -0
- package/dist/panoramic/pattern-hints-generator.d.ts.map +1 -0
- package/dist/panoramic/pattern-hints-generator.js +218 -0
- package/dist/panoramic/pattern-hints-generator.js.map +1 -0
- package/dist/panoramic/pattern-hints-model.d.ts +89 -0
- package/dist/panoramic/pattern-hints-model.d.ts.map +1 -0
- package/dist/panoramic/pattern-hints-model.js +61 -0
- package/dist/panoramic/pattern-hints-model.js.map +1 -0
- package/dist/panoramic/pattern-knowledge-base.d.ts +31 -0
- package/dist/panoramic/pattern-knowledge-base.d.ts.map +1 -0
- package/dist/panoramic/pattern-knowledge-base.js +407 -0
- package/dist/panoramic/pattern-knowledge-base.js.map +1 -0
- package/dist/panoramic/pipelines/coverage-auditor.d.ts.map +1 -1
- package/dist/panoramic/pipelines/coverage-auditor.js +4 -2
- package/dist/panoramic/pipelines/coverage-auditor.js.map +1 -1
- package/dist/panoramic/pipelines/docs-bundle-orchestrator.js +13 -6
- package/dist/panoramic/pipelines/docs-bundle-orchestrator.js.map +1 -1
- package/dist/panoramic/pipelines/product-ux-docs.d.ts +5 -0
- package/dist/panoramic/pipelines/product-ux-docs.d.ts.map +1 -1
- package/dist/panoramic/pipelines/product-ux-docs.js +34 -6
- package/dist/panoramic/pipelines/product-ux-docs.js.map +1 -1
- package/dist/panoramic/product-ux-docs.d.ts +104 -0
- package/dist/panoramic/product-ux-docs.d.ts.map +1 -0
- package/dist/panoramic/product-ux-docs.js +817 -0
- package/dist/panoramic/product-ux-docs.js.map +1 -0
- package/dist/panoramic/qa/__tests__/citation.test.d.ts +2 -0
- package/dist/panoramic/qa/__tests__/citation.test.d.ts.map +1 -0
- package/dist/panoramic/qa/__tests__/citation.test.js +193 -0
- package/dist/panoramic/qa/__tests__/citation.test.js.map +1 -0
- package/dist/panoramic/qa/__tests__/debt-context.test.d.ts +2 -0
- package/dist/panoramic/qa/__tests__/debt-context.test.d.ts.map +1 -0
- package/dist/panoramic/qa/__tests__/debt-context.test.js +154 -0
- package/dist/panoramic/qa/__tests__/debt-context.test.js.map +1 -0
- package/dist/panoramic/qa/__tests__/graph-retriever.test.d.ts +2 -0
- package/dist/panoramic/qa/__tests__/graph-retriever.test.d.ts.map +1 -0
- package/dist/panoramic/qa/__tests__/graph-retriever.test.js +148 -0
- package/dist/panoramic/qa/__tests__/graph-retriever.test.js.map +1 -0
- package/dist/panoramic/qa/__tests__/index.test.d.ts +2 -0
- package/dist/panoramic/qa/__tests__/index.test.d.ts.map +1 -0
- package/dist/panoramic/qa/__tests__/index.test.js +246 -0
- package/dist/panoramic/qa/__tests__/index.test.js.map +1 -0
- package/dist/panoramic/qa/__tests__/llm-caller.test.d.ts +2 -0
- package/dist/panoramic/qa/__tests__/llm-caller.test.d.ts.map +1 -0
- package/dist/panoramic/qa/__tests__/llm-caller.test.js +168 -0
- package/dist/panoramic/qa/__tests__/llm-caller.test.js.map +1 -0
- package/dist/panoramic/qa/__tests__/prompt-builder.test.d.ts +2 -0
- package/dist/panoramic/qa/__tests__/prompt-builder.test.d.ts.map +1 -0
- package/dist/panoramic/qa/__tests__/prompt-builder.test.js +150 -0
- package/dist/panoramic/qa/__tests__/prompt-builder.test.js.map +1 -0
- package/dist/panoramic/qa/__tests__/qa-integration.test.d.ts +2 -0
- package/dist/panoramic/qa/__tests__/qa-integration.test.d.ts.map +1 -0
- package/dist/panoramic/qa/__tests__/qa-integration.test.js +296 -0
- package/dist/panoramic/qa/__tests__/qa-integration.test.js.map +1 -0
- package/dist/panoramic/qa/__tests__/rag-reranker.test.d.ts +2 -0
- package/dist/panoramic/qa/__tests__/rag-reranker.test.d.ts.map +1 -0
- package/dist/panoramic/qa/__tests__/rag-reranker.test.js +136 -0
- package/dist/panoramic/qa/__tests__/rag-reranker.test.js.map +1 -0
- package/dist/panoramic/qa/index.d.ts.map +1 -1
- package/dist/panoramic/qa/index.js +10 -3
- package/dist/panoramic/qa/index.js.map +1 -1
- package/dist/panoramic/runtime-topology-generator.d.ts +77 -0
- package/dist/panoramic/runtime-topology-generator.d.ts.map +1 -0
- package/dist/panoramic/runtime-topology-generator.js +676 -0
- package/dist/panoramic/runtime-topology-generator.js.map +1 -0
- package/dist/panoramic/runtime-topology-model.d.ts +145 -0
- package/dist/panoramic/runtime-topology-model.d.ts.map +1 -0
- package/dist/panoramic/runtime-topology-model.js +300 -0
- package/dist/panoramic/runtime-topology-model.js.map +1 -0
- package/dist/panoramic/troubleshooting-generator.d.ts +51 -0
- package/dist/panoramic/troubleshooting-generator.d.ts.map +1 -0
- package/dist/panoramic/troubleshooting-generator.js +451 -0
- package/dist/panoramic/troubleshooting-generator.js.map +1 -0
- package/dist/panoramic/utils/text-segmenter.d.ts +15 -0
- package/dist/panoramic/utils/text-segmenter.d.ts.map +1 -1
- package/dist/panoramic/utils/text-segmenter.js +38 -0
- package/dist/panoramic/utils/text-segmenter.js.map +1 -1
- package/dist/panoramic/workspace-index-generator.d.ts +148 -0
- package/dist/panoramic/workspace-index-generator.d.ts.map +1 -0
- package/dist/panoramic/workspace-index-generator.js +497 -0
- package/dist/panoramic/workspace-index-generator.js.map +1 -0
- package/dist/runtime-bootstrap.d.ts +9 -0
- package/dist/runtime-bootstrap.d.ts.map +1 -0
- package/dist/runtime-bootstrap.js +33 -0
- package/dist/runtime-bootstrap.js.map +1 -0
- package/dist/utils/file-scanner.js +1 -1
- package/dist/utils/file-scanner.js.map +1 -1
- package/package.json +12 -2
- package/plugins/spec-driver/.claude-plugin/plugin.json +1 -1
- package/plugins/spec-driver/README.md +18 -1
- package/plugins/spec-driver/agents/implement.md +20 -1
- package/plugins/spec-driver/agents/plan.md +20 -1
- package/plugins/spec-driver/agents/quality-review.md +20 -1
- package/plugins/spec-driver/agents/spec-review.md +20 -1
- package/plugins/spec-driver/agents/verify.md +20 -1
- package/plugins/spec-driver/docs/customization.md +134 -0
- package/plugins/spec-driver/docs/spectra-mcp-integration.md +165 -0
- package/plugins/spec-driver/lib/preference-rules.mjs +96 -0
- package/plugins/spec-driver/scripts/postinstall.sh +1 -1
- package/plugins/spec-driver/scripts/sync-preference-rules.mjs +148 -0
- package/plugins/spec-driver/skills/spec-driver-feature/SKILL.md +10 -0
- package/plugins/spec-driver/skills/spec-driver-fix/SKILL.md +10 -0
- package/plugins/spec-driver/skills/spec-driver-implement/SKILL.md +10 -0
- package/plugins/spec-driver/skills/spec-driver-refactor/SKILL.md +10 -0
- package/plugins/spec-driver/skills/spec-driver-story/SKILL.md +10 -0
- package/plugins/spec-driver/templates/preference-rules.md +39 -0
- package/plugins/spectra/.claude-plugin/plugin.json +1 -1
- package/plugins/spectra/README.md +48 -1
- package/plugins/spectra/hooks/post-commit.sh +40 -0
- package/templates/product-overview.hbs +1 -1
|
@@ -0,0 +1,401 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Architecture narrative document builder
|
|
3
|
+
*
|
|
4
|
+
* 面向人类阅读的技术架构说明,不替代现有结构化 panoramic 文档,
|
|
5
|
+
* 而是聚合 module spec、baseline skeleton 与 architecture overview 的事实,
|
|
6
|
+
* 生成“先说结论 / 关键模块 / 关键类 / 关键方法”的叙事文档。
|
|
7
|
+
*/
|
|
8
|
+
import * as path from 'node:path';
|
|
9
|
+
import { loadStoredModuleSpecs, summarizeStoredMarkdown, } from './stored-module-specs.js';
|
|
10
|
+
import { loadTemplate } from './utils/template-loader.js';
|
|
11
|
+
export function buildArchitectureNarrative(options) {
|
|
12
|
+
const modules = loadStoredNarrativeModules(options.outputDir, options.projectRoot);
|
|
13
|
+
const projectName = resolveProjectName(options.architectureOverview?.model.projectName, options.projectRoot);
|
|
14
|
+
const moduleInsights = modules
|
|
15
|
+
.map((module) => toNarrativeModuleInsight(module))
|
|
16
|
+
.sort((left, right) => compareModuleInsights(left, right));
|
|
17
|
+
const keyModules = moduleInsights.slice(0, 6);
|
|
18
|
+
const keySymbols = collectKeySymbols(moduleInsights).slice(0, 10);
|
|
19
|
+
const keyMethods = collectKeyMethods(moduleInsights).slice(0, 12);
|
|
20
|
+
const repositoryMap = buildRepositoryMap(moduleInsights, options.projectContext);
|
|
21
|
+
const supportingDocs = buildSupportingDocs(options.generatedDocs);
|
|
22
|
+
const executiveSummary = buildExecutiveSummary(projectName, moduleInsights, keyModules, options.projectContext, options.architectureOverview, supportingDocs);
|
|
23
|
+
const observations = buildObservations(moduleInsights, options.architectureOverview, supportingDocs);
|
|
24
|
+
return {
|
|
25
|
+
title: `技术架构说明: ${projectName}`,
|
|
26
|
+
generatedAt: new Date().toISOString().split('T')[0],
|
|
27
|
+
projectName,
|
|
28
|
+
executiveSummary,
|
|
29
|
+
repositoryMap,
|
|
30
|
+
keyModules,
|
|
31
|
+
keySymbols,
|
|
32
|
+
keyMethods,
|
|
33
|
+
observations,
|
|
34
|
+
supportingDocs,
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
export function renderArchitectureNarrative(output) {
|
|
38
|
+
const template = loadTemplate('architecture-narrative.hbs', import.meta.url);
|
|
39
|
+
return template(output);
|
|
40
|
+
}
|
|
41
|
+
export function loadStoredNarrativeModules(outputDir, projectRoot) {
|
|
42
|
+
return loadStoredModuleSpecs(outputDir, projectRoot);
|
|
43
|
+
}
|
|
44
|
+
function toNarrativeModuleInsight(module) {
|
|
45
|
+
const role = classifyModuleRole(module.sourceTarget);
|
|
46
|
+
const keySymbols = collectModuleSymbols(module).slice(0, symbolLimitForRole(role));
|
|
47
|
+
const keyMethods = collectModuleMethods(module).slice(0, methodLimitForRole(role));
|
|
48
|
+
const inferred = module.confidence === 'low' || !module.baselineSkeleton;
|
|
49
|
+
return {
|
|
50
|
+
sourceTarget: module.sourceTarget,
|
|
51
|
+
displayName: path.posix.basename(module.sourceTarget),
|
|
52
|
+
role,
|
|
53
|
+
relatedFiles: module.relatedFiles,
|
|
54
|
+
confidence: module.confidence,
|
|
55
|
+
intentSummary: module.intentSummary,
|
|
56
|
+
businessSummary: module.businessSummary,
|
|
57
|
+
dependencySummary: module.dependencySummary,
|
|
58
|
+
keySymbols,
|
|
59
|
+
keyMethods,
|
|
60
|
+
inferred,
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
function collectModuleSymbols(module) {
|
|
64
|
+
const exports = module.baselineSkeleton?.exports ?? [];
|
|
65
|
+
return exports
|
|
66
|
+
.filter((symbol) => isNarrativeSymbolKind(symbol.kind))
|
|
67
|
+
.map((symbol) => ({
|
|
68
|
+
moduleName: module.sourceTarget,
|
|
69
|
+
name: symbol.name,
|
|
70
|
+
kind: symbol.kind,
|
|
71
|
+
signature: symbol.signature,
|
|
72
|
+
note: summarizeSymbolNote(symbol, module.intentSummary),
|
|
73
|
+
inferred: module.confidence === 'low',
|
|
74
|
+
}))
|
|
75
|
+
.sort((left, right) => compareSymbolInsights(left, right));
|
|
76
|
+
}
|
|
77
|
+
function collectModuleMethods(module) {
|
|
78
|
+
const exports = module.baselineSkeleton?.exports ?? [];
|
|
79
|
+
const methods = [];
|
|
80
|
+
const role = classifyModuleRole(module.sourceTarget);
|
|
81
|
+
for (const symbol of exports) {
|
|
82
|
+
if (symbol.kind === 'function' && !isLowSignalNarrativeMethod(symbol.name, undefined, role)) {
|
|
83
|
+
methods.push({
|
|
84
|
+
moduleName: module.sourceTarget,
|
|
85
|
+
ownerName: undefined,
|
|
86
|
+
name: symbol.name,
|
|
87
|
+
kind: 'function',
|
|
88
|
+
signature: symbol.signature,
|
|
89
|
+
note: summarizeSymbolNote(symbol, module.businessSummary),
|
|
90
|
+
inferred: module.confidence === 'low',
|
|
91
|
+
});
|
|
92
|
+
}
|
|
93
|
+
for (const member of symbol.members ?? []) {
|
|
94
|
+
if (!isNarrativeMethodKind(member.kind)) {
|
|
95
|
+
continue;
|
|
96
|
+
}
|
|
97
|
+
if (isLowSignalNarrativeMethod(member.name, symbol.name, role)) {
|
|
98
|
+
continue;
|
|
99
|
+
}
|
|
100
|
+
methods.push({
|
|
101
|
+
moduleName: module.sourceTarget,
|
|
102
|
+
ownerName: symbol.name,
|
|
103
|
+
name: member.name,
|
|
104
|
+
kind: member.kind,
|
|
105
|
+
signature: member.signature,
|
|
106
|
+
note: summarizeMemberNote(member, symbol.name, module.businessSummary),
|
|
107
|
+
inferred: module.confidence === 'low',
|
|
108
|
+
});
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
return methods.sort((left, right) => compareMethodInsights(left, right));
|
|
112
|
+
}
|
|
113
|
+
function collectKeySymbols(modules) {
|
|
114
|
+
return collectPrioritizedNarrativeItems(modules, (module) => module.keySymbols, (item) => `${item.moduleName}:${item.kind}:${item.name}`, compareSymbolInsights, 10);
|
|
115
|
+
}
|
|
116
|
+
function collectKeyMethods(modules) {
|
|
117
|
+
return collectPrioritizedNarrativeItems(modules, (module) => module.keyMethods, (item) => `${item.moduleName}:${item.ownerName ?? 'module'}:${item.kind}:${item.name}`, compareMethodInsights, 12);
|
|
118
|
+
}
|
|
119
|
+
function buildRepositoryMap(modules, projectContext) {
|
|
120
|
+
const buckets = new Map();
|
|
121
|
+
const languages = projectContext.detectedLanguages.length > 0
|
|
122
|
+
? projectContext.detectedLanguages.join(' / ')
|
|
123
|
+
: 'unknown';
|
|
124
|
+
for (const module of modules) {
|
|
125
|
+
const firstSegment = module.sourceTarget.includes('/')
|
|
126
|
+
? module.sourceTarget.split('/')[0]
|
|
127
|
+
: module.sourceTarget;
|
|
128
|
+
const category = categorizePath(firstSegment);
|
|
129
|
+
if (!buckets.has(firstSegment)) {
|
|
130
|
+
buckets.set(firstSegment, {
|
|
131
|
+
path: firstSegment,
|
|
132
|
+
category,
|
|
133
|
+
moduleCount: 0,
|
|
134
|
+
fileCount: 0,
|
|
135
|
+
summary: '',
|
|
136
|
+
});
|
|
137
|
+
}
|
|
138
|
+
const entry = buckets.get(firstSegment);
|
|
139
|
+
entry.moduleCount += 1;
|
|
140
|
+
entry.fileCount += module.relatedFiles.length;
|
|
141
|
+
}
|
|
142
|
+
for (const entry of buckets.values()) {
|
|
143
|
+
entry.summary = `${entry.category},覆盖 ${entry.moduleCount} 个模块 / ${entry.fileCount} 个文件,主要语言 ${languages}`;
|
|
144
|
+
}
|
|
145
|
+
return [...buckets.values()].sort((left, right) => left.path.localeCompare(right.path));
|
|
146
|
+
}
|
|
147
|
+
function buildSupportingDocs(generatedDocs) {
|
|
148
|
+
return generatedDocs
|
|
149
|
+
.map((doc) => {
|
|
150
|
+
const markdownPath = doc.writtenFiles.find((filePath) => filePath.endsWith('.md'));
|
|
151
|
+
if (!markdownPath) {
|
|
152
|
+
return null;
|
|
153
|
+
}
|
|
154
|
+
return {
|
|
155
|
+
generatorId: doc.generatorId,
|
|
156
|
+
title: humanizeGeneratorId(doc.generatorId),
|
|
157
|
+
path: path.basename(markdownPath),
|
|
158
|
+
};
|
|
159
|
+
})
|
|
160
|
+
.filter((item) => item !== null)
|
|
161
|
+
.sort((left, right) => left.title.localeCompare(right.title));
|
|
162
|
+
}
|
|
163
|
+
function buildExecutiveSummary(projectName, modules, keyModules, projectContext, architectureOverview, supportingDocs) {
|
|
164
|
+
const lines = [];
|
|
165
|
+
const languages = projectContext.detectedLanguages.length > 0
|
|
166
|
+
? projectContext.detectedLanguages.join(' / ')
|
|
167
|
+
: 'unknown';
|
|
168
|
+
lines.push(`${projectName} 当前以 ${modules.length} 个模块组织,主要语言为 ${languages},包管理器为 ${projectContext.packageManager}。`);
|
|
169
|
+
if (architectureOverview) {
|
|
170
|
+
lines.push(`结构化架构视图已覆盖 ${architectureOverview.model.stats.availableSections}/${architectureOverview.model.stats.totalSections} 个版块,可进一步下钻 system context / deployment / layered 视图。`);
|
|
171
|
+
}
|
|
172
|
+
else {
|
|
173
|
+
lines.push('当前项目缺少完整部署/monorepo 事实,系统级说明主要基于模块 spec 与源码骨架归纳。');
|
|
174
|
+
}
|
|
175
|
+
if (keyModules.length > 0) {
|
|
176
|
+
lines.push(`关键职责主要集中在 ${keyModules.slice(0, 3).map((item) => `\`${item.sourceTarget}\``).join('、')} 等模块。`);
|
|
177
|
+
}
|
|
178
|
+
if (supportingDocs.length > 0) {
|
|
179
|
+
lines.push(`本次 batch 还产出了 ${supportingDocs.length} 份项目级结构化文档,可与本叙事文档配合阅读。`);
|
|
180
|
+
}
|
|
181
|
+
return lines;
|
|
182
|
+
}
|
|
183
|
+
function buildObservations(modules, architectureOverview, supportingDocs) {
|
|
184
|
+
const observations = new Set();
|
|
185
|
+
const lowConfidenceCount = modules.filter((module) => module.confidence === 'low').length;
|
|
186
|
+
if (!architectureOverview) {
|
|
187
|
+
observations.add('未生成 architecture-overview;当前叙事以模块职责、导出符号与依赖摘要为主。');
|
|
188
|
+
}
|
|
189
|
+
else if (architectureOverview.warnings.length > 0) {
|
|
190
|
+
for (const warning of architectureOverview.warnings.slice(0, 4)) {
|
|
191
|
+
observations.add(warning);
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
if (lowConfidenceCount > 0) {
|
|
195
|
+
observations.add(`有 ${lowConfidenceCount} 个模块标记为 low confidence,叙事中的部分结论带有 [推断] 性质。`);
|
|
196
|
+
}
|
|
197
|
+
if (supportingDocs.length === 0) {
|
|
198
|
+
observations.add('当前批次未写出额外项目级结构化文档;如需更细粒度视图,需检查 generator 适用性。');
|
|
199
|
+
}
|
|
200
|
+
return [...observations];
|
|
201
|
+
}
|
|
202
|
+
function resolveProjectName(explicitName, projectRoot) {
|
|
203
|
+
return explicitName?.trim() || path.basename(projectRoot);
|
|
204
|
+
}
|
|
205
|
+
function compareModuleInsights(left, right) {
|
|
206
|
+
const scoreDiff = scoreModuleInsight(right) - scoreModuleInsight(left);
|
|
207
|
+
return scoreDiff !== 0 ? scoreDiff : left.sourceTarget.localeCompare(right.sourceTarget);
|
|
208
|
+
}
|
|
209
|
+
function scoreModuleInsight(module) {
|
|
210
|
+
let score = module.relatedFiles.length * 2 + module.keySymbols.length * 3 + module.keyMethods.length * 2;
|
|
211
|
+
if (module.role === 'core')
|
|
212
|
+
score += 10;
|
|
213
|
+
if (module.sourceTarget.includes('core'))
|
|
214
|
+
score += 4;
|
|
215
|
+
if (module.sourceTarget.includes('internal'))
|
|
216
|
+
score += 2;
|
|
217
|
+
if (module.role === 'support')
|
|
218
|
+
score -= 2;
|
|
219
|
+
if (module.role === 'validation')
|
|
220
|
+
score -= 8;
|
|
221
|
+
if (module.confidence === 'low')
|
|
222
|
+
score -= 2;
|
|
223
|
+
return score;
|
|
224
|
+
}
|
|
225
|
+
function compareSymbolInsights(left, right) {
|
|
226
|
+
const scoreDiff = scoreSymbolInsight(right) - scoreSymbolInsight(left);
|
|
227
|
+
if (scoreDiff !== 0) {
|
|
228
|
+
return scoreDiff;
|
|
229
|
+
}
|
|
230
|
+
return `${left.moduleName}:${left.name}`.localeCompare(`${right.moduleName}:${right.name}`);
|
|
231
|
+
}
|
|
232
|
+
function scoreSymbolInsight(item) {
|
|
233
|
+
let score = 0;
|
|
234
|
+
if (/(Client|Service|Manager|Parser|Session|Transport|Query|Config|Model|SDK|Server)/.test(item.name))
|
|
235
|
+
score += 5;
|
|
236
|
+
if (/(class|data_class|struct|protocol|interface)/.test(item.kind))
|
|
237
|
+
score += 4;
|
|
238
|
+
score += Math.min(item.signature.length / 40, 4);
|
|
239
|
+
if (classifyModuleRole(item.moduleName) === 'core')
|
|
240
|
+
score += 3;
|
|
241
|
+
if (classifyModuleRole(item.moduleName) === 'validation')
|
|
242
|
+
score -= 4;
|
|
243
|
+
if (item.inferred)
|
|
244
|
+
score -= 1;
|
|
245
|
+
return score;
|
|
246
|
+
}
|
|
247
|
+
function compareMethodInsights(left, right) {
|
|
248
|
+
const scoreDiff = scoreMethodInsight(right) - scoreMethodInsight(left);
|
|
249
|
+
if (scoreDiff !== 0) {
|
|
250
|
+
return scoreDiff;
|
|
251
|
+
}
|
|
252
|
+
return `${left.moduleName}:${left.ownerName ?? 'module'}:${left.name}`.localeCompare(`${right.moduleName}:${right.ownerName ?? 'module'}:${right.name}`);
|
|
253
|
+
}
|
|
254
|
+
function scoreMethodInsight(item) {
|
|
255
|
+
let score = 0;
|
|
256
|
+
if (/(create|connect|query|start|run|handle|parse|generate|initialize|send|receive|load|build|call|stream|execute|process|write|read|resolve)/i.test(item.name)) {
|
|
257
|
+
score += 6;
|
|
258
|
+
}
|
|
259
|
+
if (item.ownerName)
|
|
260
|
+
score += 2;
|
|
261
|
+
if (classifyModuleRole(item.moduleName) === 'core')
|
|
262
|
+
score += 4;
|
|
263
|
+
if (classifyModuleRole(item.moduleName) === 'support')
|
|
264
|
+
score -= 1;
|
|
265
|
+
if (classifyModuleRole(item.moduleName) === 'validation')
|
|
266
|
+
score -= 6;
|
|
267
|
+
score += Math.min(item.signature.length / 50, 4);
|
|
268
|
+
if (item.inferred)
|
|
269
|
+
score -= 1;
|
|
270
|
+
return score;
|
|
271
|
+
}
|
|
272
|
+
function collectPrioritizedNarrativeItems(modules, pick, keyOf, compare, limit) {
|
|
273
|
+
const orderedRoles = ['core', 'support', 'validation'];
|
|
274
|
+
const results = [];
|
|
275
|
+
const seen = new Set();
|
|
276
|
+
for (const role of orderedRoles) {
|
|
277
|
+
const ranked = modules
|
|
278
|
+
.filter((module) => module.role === role)
|
|
279
|
+
.flatMap((module) => pick(module))
|
|
280
|
+
.sort(compare);
|
|
281
|
+
for (const item of ranked) {
|
|
282
|
+
const key = keyOf(item);
|
|
283
|
+
if (seen.has(key)) {
|
|
284
|
+
continue;
|
|
285
|
+
}
|
|
286
|
+
seen.add(key);
|
|
287
|
+
results.push(item);
|
|
288
|
+
if (results.length >= limit) {
|
|
289
|
+
return results;
|
|
290
|
+
}
|
|
291
|
+
}
|
|
292
|
+
}
|
|
293
|
+
return results;
|
|
294
|
+
}
|
|
295
|
+
function summarizeSymbolNote(symbol, fallback) {
|
|
296
|
+
if (symbol.jsDoc?.trim()) {
|
|
297
|
+
return summarizeStoredMarkdown(symbol.jsDoc, fallback);
|
|
298
|
+
}
|
|
299
|
+
return fallback;
|
|
300
|
+
}
|
|
301
|
+
function summarizeMemberNote(member, ownerName, fallback) {
|
|
302
|
+
if (member.jsDoc?.trim()) {
|
|
303
|
+
return summarizeStoredMarkdown(member.jsDoc, fallback);
|
|
304
|
+
}
|
|
305
|
+
return `${ownerName} 的核心成员;${fallback}`;
|
|
306
|
+
}
|
|
307
|
+
function isNarrativeSymbolKind(kind) {
|
|
308
|
+
return kind === 'class'
|
|
309
|
+
|| kind === 'interface'
|
|
310
|
+
|| kind === 'type'
|
|
311
|
+
|| kind === 'data_class'
|
|
312
|
+
|| kind === 'struct'
|
|
313
|
+
|| kind === 'protocol';
|
|
314
|
+
}
|
|
315
|
+
function isNarrativeMethodKind(kind) {
|
|
316
|
+
return kind === 'method'
|
|
317
|
+
|| kind === 'constructor'
|
|
318
|
+
|| kind === 'classmethod'
|
|
319
|
+
|| kind === 'staticmethod'
|
|
320
|
+
|| kind === 'associated_function'
|
|
321
|
+
|| kind === 'getter'
|
|
322
|
+
|| kind === 'setter';
|
|
323
|
+
}
|
|
324
|
+
function humanizeGeneratorId(generatorId) {
|
|
325
|
+
return generatorId
|
|
326
|
+
.split('-')
|
|
327
|
+
.map((part) => {
|
|
328
|
+
if (part === 'api')
|
|
329
|
+
return 'API';
|
|
330
|
+
return part.charAt(0).toUpperCase() + part.slice(1);
|
|
331
|
+
})
|
|
332
|
+
.join(' ');
|
|
333
|
+
}
|
|
334
|
+
function categorizePath(segment) {
|
|
335
|
+
if (segment === 'src')
|
|
336
|
+
return '核心实现目录';
|
|
337
|
+
if (segment === 'tests' || segment === 'e2e-tests')
|
|
338
|
+
return '测试与验收目录';
|
|
339
|
+
if (segment === 'examples')
|
|
340
|
+
return '示例与对外使用目录';
|
|
341
|
+
if (segment === 'scripts')
|
|
342
|
+
return '脚本与运维辅助目录';
|
|
343
|
+
return '项目子域目录';
|
|
344
|
+
}
|
|
345
|
+
function classifyModuleRole(sourceTarget) {
|
|
346
|
+
if (sourceTarget === 'tests'
|
|
347
|
+
|| sourceTarget.startsWith('tests/')
|
|
348
|
+
|| sourceTarget === 'e2e-tests'
|
|
349
|
+
|| sourceTarget.startsWith('e2e-tests/')) {
|
|
350
|
+
return 'validation';
|
|
351
|
+
}
|
|
352
|
+
if (sourceTarget === 'examples'
|
|
353
|
+
|| sourceTarget.startsWith('examples/')
|
|
354
|
+
|| sourceTarget === 'scripts'
|
|
355
|
+
|| sourceTarget.startsWith('scripts/')) {
|
|
356
|
+
return 'support';
|
|
357
|
+
}
|
|
358
|
+
return 'core';
|
|
359
|
+
}
|
|
360
|
+
function symbolLimitForRole(role) {
|
|
361
|
+
switch (role) {
|
|
362
|
+
case 'core':
|
|
363
|
+
return 6;
|
|
364
|
+
case 'support':
|
|
365
|
+
return 3;
|
|
366
|
+
case 'validation':
|
|
367
|
+
return 2;
|
|
368
|
+
}
|
|
369
|
+
}
|
|
370
|
+
function methodLimitForRole(role) {
|
|
371
|
+
switch (role) {
|
|
372
|
+
case 'core':
|
|
373
|
+
return 10;
|
|
374
|
+
case 'support':
|
|
375
|
+
return 4;
|
|
376
|
+
case 'validation':
|
|
377
|
+
return 2;
|
|
378
|
+
}
|
|
379
|
+
}
|
|
380
|
+
function isLowSignalNarrativeMethod(name, ownerName, role) {
|
|
381
|
+
if (role !== 'validation') {
|
|
382
|
+
return false;
|
|
383
|
+
}
|
|
384
|
+
return name.startsWith('test_')
|
|
385
|
+
|| name.startsWith('test')
|
|
386
|
+
|| ownerName?.startsWith('Test') === true;
|
|
387
|
+
}
|
|
388
|
+
function dedupeNarrativeItems(items, getKey) {
|
|
389
|
+
const seen = new Set();
|
|
390
|
+
const results = [];
|
|
391
|
+
for (const item of items) {
|
|
392
|
+
const key = getKey(item);
|
|
393
|
+
if (seen.has(key)) {
|
|
394
|
+
continue;
|
|
395
|
+
}
|
|
396
|
+
seen.add(key);
|
|
397
|
+
results.push(item);
|
|
398
|
+
}
|
|
399
|
+
return results;
|
|
400
|
+
}
|
|
401
|
+
//# sourceMappingURL=architecture-narrative.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"architecture-narrative.js","sourceRoot":"","sources":["../../src/panoramic/architecture-narrative.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import type { DocumentGenerator, GenerateOptions, ProjectContext } from './interfaces.js';
|
|
2
|
+
import { type CrossPackageOutput } from './cross-package-analyzer.js';
|
|
3
|
+
import { type RuntimeTopologyOutput } from './runtime-topology-generator.js';
|
|
4
|
+
import { type ArchitectureOverviewModel, type ArchitectureViewSection } from './architecture-overview-model.js';
|
|
5
|
+
import { type WorkspaceOutput } from './workspace-index-generator.js';
|
|
6
|
+
export interface ArchitectureOverviewInput {
|
|
7
|
+
projectName: string;
|
|
8
|
+
runtime?: RuntimeTopologyOutput;
|
|
9
|
+
workspace?: WorkspaceOutput;
|
|
10
|
+
crossPackage?: CrossPackageOutput;
|
|
11
|
+
warnings: string[];
|
|
12
|
+
}
|
|
13
|
+
export interface ArchitectureOverviewOutput {
|
|
14
|
+
title: string;
|
|
15
|
+
generatedAt: string;
|
|
16
|
+
model: ArchitectureOverviewModel;
|
|
17
|
+
warnings: string[];
|
|
18
|
+
systemContext?: ArchitectureViewSection;
|
|
19
|
+
deploymentView?: ArchitectureViewSection;
|
|
20
|
+
layeredView?: ArchitectureViewSection;
|
|
21
|
+
}
|
|
22
|
+
export declare class ArchitectureOverviewGenerator implements DocumentGenerator<ArchitectureOverviewInput, ArchitectureOverviewOutput> {
|
|
23
|
+
readonly id: "architecture-overview";
|
|
24
|
+
readonly name: "\u67B6\u6784\u6982\u89C8\u751F\u6210\u5668";
|
|
25
|
+
readonly description = "\u7EC4\u5408\u8FD0\u884C\u65F6\u62D3\u6251\u3001workspace \u548C\u8DE8\u5305\u4F9D\u8D56\u8F93\u51FA\uFF0C\u751F\u6210\u7CFB\u7EDF\u4E0A\u4E0B\u6587\u4E0E\u90E8\u7F72\u89C6\u56FE";
|
|
26
|
+
isApplicable(context: ProjectContext): boolean;
|
|
27
|
+
extract(context: ProjectContext): Promise<ArchitectureOverviewInput>;
|
|
28
|
+
generate(input: ArchitectureOverviewInput, _options?: GenerateOptions): Promise<ArchitectureOverviewOutput>;
|
|
29
|
+
render(output: ArchitectureOverviewOutput): string;
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=architecture-overview-generator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"architecture-overview-generator.d.ts","sourceRoot":"","sources":["../../src/panoramic/architecture-overview-generator.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,iBAAiB,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAC1F,OAAO,EAAwB,KAAK,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAC5F,OAAO,EAA4B,KAAK,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AACvG,OAAO,EAKL,KAAK,yBAAyB,EAI9B,KAAK,uBAAuB,EAE7B,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAA2B,KAAK,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAM/F,MAAM,WAAW,yBAAyB;IACxC,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,qBAAqB,CAAC;IAChC,SAAS,CAAC,EAAE,eAAe,CAAC;IAC5B,YAAY,CAAC,EAAE,kBAAkB,CAAC;IAClC,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,MAAM,WAAW,0BAA0B;IACzC,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,yBAAyB,CAAC;IACjC,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,aAAa,CAAC,EAAE,uBAAuB,CAAC;IACxC,cAAc,CAAC,EAAE,uBAAuB,CAAC;IACzC,WAAW,CAAC,EAAE,uBAAuB,CAAC;CACvC;AAED,qBAAa,6BACX,YAAW,iBAAiB,CAAC,yBAAyB,EAAE,0BAA0B,CAAC;IAEnF,QAAQ,CAAC,EAAE,EAAG,uBAAuB,CAAU;IAC/C,QAAQ,CAAC,IAAI,EAAG,4CAAS,CAAU;IACnC,QAAQ,CAAC,WAAW,wLAA4C;IAEhE,YAAY,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO;IAMxC,OAAO,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,yBAAyB,CAAC;IAmDpE,QAAQ,CACZ,KAAK,EAAE,yBAAyB,EAChC,QAAQ,CAAC,EAAE,eAAe,GACzB,OAAO,CAAC,0BAA0B,CAAC;IA4CtC,MAAM,CAAC,MAAM,EAAE,0BAA0B,GAAG,MAAM;CAInD"}
|