autosnippet 3.3.5 → 3.3.7
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/dashboard/dist/assets/icons-FHns2ypa.js +1 -0
- package/dashboard/dist/assets/index-BRJv5Y3r.js +135 -0
- package/dashboard/dist/assets/index-DzoB7kxK.css +1 -0
- package/dashboard/dist/index.html +3 -3
- package/dist/bin/api-server.js +1 -0
- package/dist/bin/cli.d.ts +1 -0
- package/dist/bin/cli.js +137 -9
- package/dist/lib/agent/AgentFactory.d.ts +0 -17
- package/dist/lib/agent/AgentFactory.js +1 -25
- package/dist/lib/agent/AgentRuntime.d.ts +2 -2
- package/dist/lib/agent/AgentRuntime.js +26 -18
- package/dist/lib/agent/capabilities.d.ts +11 -0
- package/dist/lib/agent/capabilities.js +29 -5
- package/dist/lib/agent/context/ExplorationTracker.js +10 -1
- package/dist/lib/agent/context/exploration/ExplorationStrategies.d.ts +2 -0
- package/dist/lib/agent/context/exploration/ExplorationStrategies.js +2 -2
- package/dist/lib/agent/domain/ChatAgentTasks.js +4 -0
- package/dist/lib/agent/domain/insight-analyst.d.ts +47 -3
- package/dist/lib/agent/domain/insight-analyst.js +111 -11
- package/dist/lib/agent/domain/insight-evolver.d.ts +69 -0
- package/dist/lib/agent/domain/insight-evolver.js +230 -0
- package/dist/lib/agent/domain/insight-gate.d.ts +42 -0
- package/dist/lib/agent/domain/insight-gate.js +41 -0
- package/dist/lib/agent/domain/insight-producer.d.ts +27 -2
- package/dist/lib/agent/domain/insight-producer.js +60 -5
- package/dist/lib/agent/domain/scan-prompts.js +10 -7
- package/dist/lib/agent/forced-summary.js +7 -2
- package/dist/lib/agent/memory/ActiveContext.d.ts +2 -28
- package/dist/lib/agent/memory/MemoryCoordinator.d.ts +2 -2
- package/dist/lib/agent/memory/SessionStore.d.ts +6 -12
- package/dist/lib/agent/memory/SessionStore.js +9 -15
- package/dist/lib/agent/memory/memory-flush-contract.d.ts +49 -0
- package/dist/lib/agent/memory/memory-flush-contract.js +16 -0
- package/dist/lib/agent/memory/session-store-schema.d.ts +20 -0
- package/dist/lib/agent/memory/session-store-schema.js +41 -0
- package/dist/lib/agent/presets.d.ts +89 -1
- package/dist/lib/agent/presets.js +53 -5
- package/dist/lib/agent/tools/_shared.d.ts +7 -15
- package/dist/lib/agent/tools/_shared.js +20 -21
- package/dist/lib/agent/tools/composite.d.ts +25 -22
- package/dist/lib/agent/tools/composite.js +108 -109
- package/dist/lib/agent/tools/evolution-tools.d.ts +145 -0
- package/dist/lib/agent/tools/evolution-tools.js +161 -0
- package/dist/lib/agent/tools/index.d.ts +163 -92
- package/dist/lib/agent/tools/index.js +9 -1
- package/dist/lib/agent/tools/lifecycle.d.ts +7 -1
- package/dist/lib/agent/tools/lifecycle.js +59 -75
- package/dist/lib/cli/AiScanService.js +5 -5
- package/dist/lib/cli/KnowledgeSyncService.js +1 -1
- package/dist/lib/core/AstAnalyzer.d.ts +1 -0
- package/dist/lib/core/discovery/ConfigWatcher.d.ts +64 -0
- package/dist/lib/core/discovery/ConfigWatcher.js +336 -0
- package/dist/lib/core/discovery/CustomConfigDiscoverer.d.ts +30 -0
- package/dist/lib/core/discovery/CustomConfigDiscoverer.js +1305 -0
- package/dist/lib/core/discovery/DiscovererPreference.d.ts +44 -0
- package/dist/lib/core/discovery/DiscovererPreference.js +141 -0
- package/dist/lib/core/discovery/DiscovererRegistry.d.ts +10 -1
- package/dist/lib/core/discovery/DiscovererRegistry.js +42 -2
- package/dist/lib/core/discovery/ProjectDiscoverer.d.ts +19 -0
- package/dist/lib/core/discovery/index.d.ts +2 -0
- package/dist/lib/core/discovery/index.js +4 -0
- package/dist/lib/core/discovery/parsers/CMakeParser.d.ts +32 -0
- package/dist/lib/core/discovery/parsers/CMakeParser.js +148 -0
- package/dist/lib/core/discovery/parsers/GradleDslParser.d.ts +43 -0
- package/dist/lib/core/discovery/parsers/GradleDslParser.js +171 -0
- package/dist/lib/core/discovery/parsers/JsonConfigParser.d.ts +45 -0
- package/dist/lib/core/discovery/parsers/JsonConfigParser.js +122 -0
- package/dist/lib/core/discovery/parsers/RubyDslParser.d.ts +49 -0
- package/dist/lib/core/discovery/parsers/RubyDslParser.js +282 -0
- package/dist/lib/core/discovery/parsers/StarlarkParser.d.ts +33 -0
- package/dist/lib/core/discovery/parsers/StarlarkParser.js +229 -0
- package/dist/lib/core/discovery/parsers/YamlConfigParser.d.ts +37 -0
- package/dist/lib/core/discovery/parsers/YamlConfigParser.js +212 -0
- package/dist/lib/{service/bootstrap/DimensionCopyRegistry.d.ts → domain/dimension/DimensionCopy.d.ts} +2 -2
- package/dist/lib/{service/bootstrap/DimensionCopyRegistry.js → domain/dimension/DimensionCopy.js} +22 -72
- package/dist/lib/domain/dimension/DimensionRegistry.d.ts +54 -0
- package/dist/lib/domain/dimension/DimensionRegistry.js +620 -0
- package/dist/lib/domain/dimension/DimensionSop.d.ts +55 -0
- package/dist/lib/domain/dimension/DimensionSop.js +1604 -0
- package/dist/lib/domain/dimension/UnifiedDimension.d.ts +61 -0
- package/dist/lib/domain/dimension/UnifiedDimension.js +53 -0
- package/dist/lib/domain/dimension/index.d.ts +10 -0
- package/dist/lib/domain/dimension/index.js +9 -0
- package/dist/lib/domain/knowledge/FieldSpec.d.ts +1 -1
- package/dist/lib/domain/knowledge/FieldSpec.js +29 -16
- package/dist/lib/domain/knowledge/KnowledgeEntry.d.ts +40 -112
- package/dist/lib/domain/knowledge/KnowledgeEntry.js +44 -9
- package/dist/lib/domain/knowledge/KnowledgeRepository.d.ts +1 -0
- package/dist/lib/domain/knowledge/KnowledgeRepository.js +3 -0
- package/dist/lib/domain/knowledge/Lifecycle.js +1 -1
- package/dist/lib/domain/knowledge/StyleGuide.d.ts +1 -1
- package/dist/lib/domain/knowledge/StyleGuide.js +1 -1
- package/dist/lib/domain/knowledge/UnifiedValidator.js +15 -0
- package/dist/lib/external/ai/AiProvider.d.ts +12 -0
- package/dist/lib/external/ai/AiProvider.js +24 -0
- package/dist/lib/external/ai/AiProviderManager.d.ts +101 -0
- package/dist/lib/external/ai/AiProviderManager.js +193 -0
- package/dist/lib/external/ai/providers/ClaudeProvider.js +11 -0
- package/dist/lib/external/ai/providers/GoogleGeminiProvider.js +18 -0
- package/dist/lib/external/ai/providers/MockProvider.d.ts +21 -3
- package/dist/lib/external/ai/providers/MockProvider.js +290 -14
- package/dist/lib/external/ai/providers/OpenAiProvider.js +16 -0
- package/dist/lib/external/lark/LarkTransport.d.ts +5 -1
- package/dist/lib/external/lark/LarkTransport.js +10 -2
- package/dist/lib/external/mcp/McpServer.js +4 -0
- package/dist/lib/external/mcp/handlers/TargetClassifier.d.ts +1 -1
- package/dist/lib/external/mcp/handlers/bootstrap/BootstrapSession.d.ts +8 -16
- package/dist/lib/external/mcp/handlers/bootstrap/BootstrapSession.js +10 -10
- package/dist/lib/external/mcp/handlers/bootstrap/ExternalSubmissionTracker.d.ts +7 -0
- package/dist/lib/external/mcp/handlers/bootstrap/ExternalSubmissionTracker.js +20 -0
- package/dist/lib/external/mcp/handlers/bootstrap/MissionBriefingBuilder.d.ts +52 -132
- package/dist/lib/external/mcp/handlers/bootstrap/MissionBriefingBuilder.js +204 -17
- package/dist/lib/external/mcp/handlers/bootstrap/base-dimensions.d.ts +11 -75
- package/dist/lib/external/mcp/handlers/bootstrap/base-dimensions.js +40 -191
- package/dist/lib/external/mcp/handlers/bootstrap/pipeline/dimension-configs.d.ts +13 -78
- package/dist/lib/external/mcp/handlers/bootstrap/pipeline/dimension-configs.js +30 -52
- package/dist/lib/external/mcp/handlers/bootstrap/pipeline/dimension-context.d.ts +0 -1
- package/dist/lib/external/mcp/handlers/bootstrap/pipeline/mock-pipeline.d.ts +20 -0
- package/dist/lib/external/mcp/handlers/bootstrap/pipeline/mock-pipeline.js +432 -0
- package/dist/lib/external/mcp/handlers/bootstrap/pipeline/orchestrator.d.ts +99 -12
- package/dist/lib/external/mcp/handlers/bootstrap/pipeline/orchestrator.js +188 -169
- package/dist/lib/external/mcp/handlers/bootstrap/pipeline/tier-scheduler.js +7 -17
- package/dist/lib/external/mcp/handlers/bootstrap/refine.js +8 -0
- package/dist/lib/external/mcp/handlers/bootstrap/shared/async-fill-helpers.d.ts +46 -0
- package/dist/lib/external/mcp/handlers/bootstrap/shared/async-fill-helpers.js +58 -0
- package/dist/lib/external/mcp/handlers/bootstrap/shared/audit-helpers.d.ts +25 -0
- package/dist/lib/external/mcp/handlers/bootstrap/shared/audit-helpers.js +47 -0
- package/dist/lib/external/mcp/handlers/bootstrap/shared/bootstrap-phases.d.ts +50 -12
- package/dist/lib/external/mcp/handlers/bootstrap/shared/bootstrap-phases.js +30 -10
- package/dist/lib/external/mcp/handlers/bootstrap/shared/dimension-text.js +1 -1
- package/dist/lib/external/mcp/handlers/bootstrap/shared/handler-types.d.ts +24 -0
- package/dist/lib/external/mcp/handlers/bootstrap/shared/handler-types.js +14 -0
- package/dist/lib/external/mcp/handlers/bootstrap/shared/panorama-utils.d.ts +14 -0
- package/dist/lib/external/mcp/handlers/bootstrap/shared/panorama-utils.js +48 -0
- package/dist/lib/external/mcp/handlers/bootstrap/shared/session-helpers.d.ts +21 -0
- package/dist/lib/external/mcp/handlers/bootstrap/shared/session-helpers.js +45 -0
- package/dist/lib/external/mcp/handlers/bootstrap/shared/skill-generator.d.ts +1 -1
- package/dist/lib/external/mcp/handlers/bootstrap/shared/target-file-map.d.ts +27 -0
- package/dist/lib/external/mcp/handlers/bootstrap/shared/target-file-map.js +44 -0
- package/dist/lib/external/mcp/handlers/bootstrap-external.d.ts +23 -10
- package/dist/lib/external/mcp/handlers/bootstrap-external.js +41 -51
- package/dist/lib/external/mcp/handlers/bootstrap-internal.d.ts +2 -0
- package/dist/lib/external/mcp/handlers/bootstrap-internal.js +117 -82
- package/dist/lib/external/mcp/handlers/consolidated.d.ts +4 -4
- package/dist/lib/external/mcp/handlers/consolidated.js +108 -332
- package/dist/lib/external/mcp/handlers/dimension-complete-external.js +71 -2
- package/dist/lib/external/mcp/handlers/evolve-external.d.ts +54 -0
- package/dist/lib/external/mcp/handlers/evolve-external.js +229 -0
- package/dist/lib/external/mcp/handlers/knowledge.js +30 -5
- package/dist/lib/external/mcp/handlers/rescan-external.d.ts +76 -0
- package/dist/lib/external/mcp/handlers/rescan-external.js +335 -0
- package/dist/lib/external/mcp/handlers/rescan-internal.d.ts +120 -0
- package/dist/lib/external/mcp/handlers/rescan-internal.js +359 -0
- package/dist/lib/external/mcp/handlers/search.d.ts +6 -5
- package/dist/lib/external/mcp/handlers/search.js +6 -5
- package/dist/lib/external/mcp/handlers/types.d.ts +2 -1
- package/dist/lib/external/mcp/handlers/wiki-external.js +2 -2
- package/dist/lib/external/mcp/tools.d.ts +8 -18
- package/dist/lib/external/mcp/tools.js +58 -2
- package/dist/lib/http/routes/ai.js +111 -30
- package/dist/lib/http/routes/candidates.js +11 -4
- package/dist/lib/http/routes/commands.js +10 -1
- package/dist/lib/http/routes/health.js +11 -0
- package/dist/lib/http/routes/knowledge.js +122 -1
- package/dist/lib/http/routes/modules.js +52 -3
- package/dist/lib/http/routes/panorama.js +16 -4
- package/dist/lib/http/routes/recipes.js +7 -0
- package/dist/lib/http/utils/routeHelpers.js +2 -1
- package/dist/lib/infrastructure/cache/CacheCoordinator.d.ts +41 -0
- package/dist/lib/infrastructure/cache/CacheCoordinator.js +105 -0
- package/dist/lib/infrastructure/database/migrations/006_lifecycle_transition_events.d.ts +7 -0
- package/dist/lib/infrastructure/database/migrations/006_lifecycle_transition_events.js +28 -0
- package/dist/lib/infrastructure/vector/HnswVectorAdapter.js +1 -1
- package/dist/lib/injection/ServiceContainer.d.ts +6 -5
- package/dist/lib/injection/ServiceContainer.js +64 -25
- package/dist/lib/injection/ServiceMap.d.ts +10 -1
- package/dist/lib/injection/modules/AiModule.d.ts +6 -9
- package/dist/lib/injection/modules/AiModule.js +82 -39
- package/dist/lib/injection/modules/KnowledgeModule.js +15 -1
- package/dist/lib/injection/modules/PanoramaModule.js +1 -1
- package/dist/lib/repository/knowledge/KnowledgeRepository.impl.d.ts +4 -0
- package/dist/lib/repository/knowledge/KnowledgeRepository.impl.js +16 -1
- package/dist/lib/service/bootstrap/BootstrapEventEmitter.d.ts +3 -2
- package/dist/lib/service/bootstrap/BootstrapEventEmitter.js +1 -1
- package/dist/lib/service/bootstrap/DeliveryVerifier.d.ts +51 -0
- package/dist/lib/service/bootstrap/DeliveryVerifier.js +163 -0
- package/dist/lib/service/bootstrap/UiStartupTasks.d.ts +5 -0
- package/dist/lib/service/bootstrap/UiStartupTasks.js +20 -0
- package/dist/lib/service/bootstrap/bootstrap-event-types.d.ts +54 -0
- package/dist/lib/service/bootstrap/bootstrap-event-types.js +10 -0
- package/dist/lib/service/cleanup/CleanupService.d.ts +132 -0
- package/dist/lib/service/cleanup/CleanupService.js +571 -0
- package/dist/lib/service/delivery/AgentInstructionsGenerator.js +39 -43
- package/dist/lib/service/delivery/FileProtection.d.ts +20 -0
- package/dist/lib/service/delivery/FileProtection.js +54 -0
- package/dist/lib/service/delivery/SkillsSyncer.js +16 -21
- package/dist/lib/service/evolution/ContentPatcher.d.ts +44 -0
- package/dist/lib/service/evolution/ContentPatcher.js +310 -0
- package/dist/lib/service/evolution/ProposalExecutor.d.ts +4 -0
- package/dist/lib/service/evolution/ProposalExecutor.js +77 -13
- package/dist/lib/service/evolution/RecipeLifecycleSupervisor.d.ts +64 -0
- package/dist/lib/service/evolution/RecipeLifecycleSupervisor.js +458 -0
- package/dist/lib/service/evolution/RecipeRelevanceAuditor.d.ts +89 -0
- package/dist/lib/service/evolution/RecipeRelevanceAuditor.js +492 -0
- package/dist/lib/service/evolution/createSupersedeProposal.d.ts +44 -0
- package/dist/lib/service/evolution/createSupersedeProposal.js +81 -0
- package/dist/lib/service/guard/ComplianceReporter.d.ts +4 -0
- package/dist/lib/service/guard/ComplianceReporter.js +51 -0
- package/dist/lib/service/guard/GuardCheckEngine.js +5 -4
- package/dist/lib/service/knowledge/CodeEntityGraph.d.ts +6 -0
- package/dist/lib/service/knowledge/CodeEntityGraph.js +16 -0
- package/dist/lib/service/knowledge/ConfidenceRouter.js +1 -1
- package/dist/lib/service/knowledge/KnowledgeService.d.ts +11 -1
- package/dist/lib/service/knowledge/KnowledgeService.js +67 -14
- package/dist/lib/service/knowledge/RecipeProductionGateway.d.ts +225 -0
- package/dist/lib/service/knowledge/RecipeProductionGateway.js +384 -0
- package/dist/lib/service/module/ModuleService.js +10 -19
- package/dist/lib/service/panorama/CouplingAnalyzer.d.ts +10 -1
- package/dist/lib/service/panorama/CouplingAnalyzer.js +44 -2
- package/dist/lib/service/panorama/DimensionAnalyzer.d.ts +4 -3
- package/dist/lib/service/panorama/DimensionAnalyzer.js +40 -151
- package/dist/lib/service/panorama/LayerInferrer.d.ts +16 -1
- package/dist/lib/service/panorama/LayerInferrer.js +118 -1
- package/dist/lib/service/panorama/ModuleDiscoverer.d.ts +9 -0
- package/dist/lib/service/panorama/ModuleDiscoverer.js +58 -2
- package/dist/lib/service/panorama/PanoramaAggregator.d.ts +6 -2
- package/dist/lib/service/panorama/PanoramaAggregator.js +84 -6
- package/dist/lib/service/panorama/PanoramaScanner.js +28 -0
- package/dist/lib/service/panorama/PanoramaService.js +10 -5
- package/dist/lib/service/panorama/PanoramaTypes.d.ts +38 -0
- package/dist/lib/service/panorama/RoleRefiner.d.ts +2 -0
- package/dist/lib/service/panorama/RoleRefiner.js +41 -0
- package/dist/lib/service/panorama/TechStackProfiler.d.ts +13 -0
- package/dist/lib/service/panorama/TechStackProfiler.js +191 -0
- package/dist/lib/service/search/BM25Scorer.d.ts +2 -2
- package/dist/lib/service/search/SearchEngine.d.ts +11 -10
- package/dist/lib/service/search/SearchEngine.js +38 -36
- package/dist/lib/service/search/SearchTypes.d.ts +14 -8
- package/dist/lib/service/search/SearchTypes.js +1 -1
- package/dist/lib/service/search/tokenizer.d.ts +1 -1
- package/dist/lib/service/search/tokenizer.js +2 -2
- package/dist/lib/service/skills/SignalCollector.d.ts +1 -0
- package/dist/lib/service/skills/SignalCollector.js +6 -5
- package/dist/lib/service/vector/ContextualEnricher.d.ts +1 -0
- package/dist/lib/service/vector/ContextualEnricher.js +4 -0
- package/dist/lib/shared/LanguageService.js +3 -0
- package/dist/lib/shared/developer-identity.d.ts +18 -0
- package/dist/lib/shared/developer-identity.js +62 -0
- package/dist/lib/shared/schemas/common.d.ts +4 -4
- package/dist/lib/shared/schemas/http-requests.d.ts +20 -18
- package/dist/lib/shared/schemas/http-requests.js +17 -6
- package/dist/lib/shared/schemas/mcp-tools.d.ts +32 -2
- package/dist/lib/shared/schemas/mcp-tools.js +38 -0
- package/dist/lib/types/evolution.d.ts +135 -0
- package/dist/lib/types/evolution.js +6 -0
- package/dist/lib/types/graph-shared.d.ts +25 -0
- package/dist/lib/types/graph-shared.js +7 -0
- package/dist/lib/types/knowledge-wire.d.ts +132 -0
- package/dist/lib/types/knowledge-wire.js +7 -0
- package/dist/lib/types/project-snapshot-builder.d.ts +19 -0
- package/dist/lib/types/project-snapshot-builder.js +189 -0
- package/dist/lib/types/project-snapshot.d.ts +399 -0
- package/dist/lib/types/project-snapshot.js +17 -0
- package/dist/lib/types/search-wire.d.ts +46 -0
- package/dist/lib/types/search-wire.js +7 -0
- package/dist/lib/types/snapshot-views.d.ts +58 -0
- package/dist/lib/types/snapshot-views.js +103 -0
- package/package.json +1 -1
- package/skills/autosnippet-recipes/SKILL.md +1 -1
- package/templates/instructions/agent-static.md +2 -0
- package/templates/instructions/conventions.md +3 -1
- package/templates/recipes-setup/README.md +2 -2
- package/dashboard/dist/assets/icons-BJ2mUBi8.js +0 -1
- package/dashboard/dist/assets/index-B659K9t5.js +0 -128
- package/dashboard/dist/assets/index-NCm40PMD.css +0 -1
- package/dist/lib/external/mcp/handlers/bootstrap/pipeline/noAiFallback.d.ts +0 -169
- package/dist/lib/external/mcp/handlers/bootstrap/pipeline/noAiFallback.js +0 -727
- package/dist/lib/external/mcp/handlers/bootstrap/shared/dimension-sop.d.ts +0 -370
- package/dist/lib/external/mcp/handlers/bootstrap/shared/dimension-sop.js +0 -821
|
@@ -1,202 +1,47 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Bootstrap 基础维度定义 + 维度条件化过滤
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
4
|
+
* **v2: 从统一维度注册表 (DimensionRegistry) 派生**
|
|
5
|
+
*
|
|
6
|
+
* 此模块现在是 DimensionRegistry 的瘦适配层:
|
|
7
|
+
* - `baseDimensions` 从 DIMENSION_REGISTRY 转换为旧格式,保持下游 API 兼容
|
|
8
|
+
* - `resolveActiveDimensions()` 委托给 DimensionRegistry.resolveActiveDimensions()
|
|
9
|
+
* - `BaseDimension` 接口保留给 MissionBriefingBuilder 等消费者使用
|
|
6
10
|
*
|
|
7
11
|
* 调用方:
|
|
8
12
|
* - bootstrap.js (内部 Agent) — Phase 4 构建响应骨架 + Phase 5 维度填充
|
|
9
13
|
* - bootstrap-external.js (外部 Agent) — Mission Briefing 中的维度清单
|
|
10
14
|
*/
|
|
11
|
-
|
|
12
|
-
// 基础维度定义
|
|
13
|
-
// ═══════════════════════════════════════════════════════════
|
|
15
|
+
import { resolveActiveDimensions as _resolveActive, DIMENSION_REGISTRY, } from '#domain/dimension/index.js';
|
|
14
16
|
/**
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
* 注意:anti-pattern 已移除 — 代码问题由 Guard 独立处理,bootstrap 不做错误检测
|
|
18
|
-
*
|
|
19
|
-
* 执行顺序优化(v5.1):
|
|
20
|
-
* ⑧ ⑨ 提前到 ⑥ 前面执行 → deep-scan / category-scan 的中间结果
|
|
21
|
-
* 通过 PipelineContext 缓存,供 project-profile 复用,避免重复扫描
|
|
17
|
+
* 将 UnifiedDimension 转换为旧 BaseDimension 格式
|
|
18
|
+
* 保持下游 MissionBriefingBuilder / dimension-configs 兼容
|
|
22
19
|
*/
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
label: '架构模式',
|
|
49
|
-
guide: '分层架构、模块职责与边界、依赖图、导入约束规则',
|
|
50
|
-
knowledgeTypes: ['architecture', 'module-dependency', 'boundary-constraint'],
|
|
51
|
-
skillWorthy: true,
|
|
52
|
-
dualOutput: true,
|
|
53
|
-
skillMeta: {
|
|
54
|
-
name: 'project-architecture',
|
|
55
|
-
description: 'Project architecture layers, module boundaries and dependency graph (auto-generated by bootstrap)',
|
|
56
|
-
},
|
|
57
|
-
},
|
|
58
|
-
// ④ 最佳实践(Candidate)
|
|
59
|
-
{
|
|
60
|
-
id: 'best-practice',
|
|
61
|
-
label: '最佳实践',
|
|
62
|
-
guide: '错误处理、并发安全、内存管理、日志规范、测试模式',
|
|
63
|
-
knowledgeTypes: ['best-practice'],
|
|
64
|
-
},
|
|
65
|
-
// ⑤ 事件与数据流(Candidate)
|
|
66
|
-
{
|
|
67
|
-
id: 'event-and-data-flow',
|
|
68
|
-
label: '事件与数据流',
|
|
69
|
-
guide: '事件传播(Delegate/Notification/Block·Closure/Target-Action)、数据状态管理(KVO/属性观察/响应式/持久化)',
|
|
70
|
-
knowledgeTypes: ['call-chain', 'data-flow'],
|
|
71
|
-
},
|
|
72
|
-
// ⑥ 项目特征(Dual: Skill + Candidate)
|
|
73
|
-
{
|
|
74
|
-
id: 'project-profile',
|
|
75
|
-
label: '项目特征',
|
|
76
|
-
guide: '技术栈、目录结构、三方依赖枚举与用途、Extension/Category 分类聚合、自定义基类层级与全局定义(宏/typealias/PCH)、系统事件 hook 与生命周期入口、基础设施服务注册表、Runtime 与语言互操作',
|
|
77
|
-
knowledgeTypes: ['architecture'],
|
|
78
|
-
skillWorthy: true,
|
|
79
|
-
dualOutput: true,
|
|
80
|
-
skillMeta: {
|
|
81
|
-
name: 'project-profile',
|
|
82
|
-
description: 'Project tech stack, module structure, third-party dependencies, base extensions/classes, event hooks, infrastructure services, and runtime/interop features (auto-generated by bootstrap)',
|
|
83
|
-
},
|
|
84
|
-
},
|
|
85
|
-
// ⑦ 项目开发强制规范(Skill)
|
|
86
|
-
{
|
|
87
|
-
id: 'agent-guidelines',
|
|
88
|
-
label: '项目开发强制规范',
|
|
89
|
-
guide: '三大核心原则(严谨性/深度特征挖掘/完整性)、命名强制、线程安全、内存约束、已废弃 API 标记、架构约束注释、TODO/FIXME',
|
|
90
|
-
knowledgeTypes: ['boundary-constraint', 'code-standard'],
|
|
91
|
-
skillWorthy: true,
|
|
92
|
-
skillMeta: {
|
|
93
|
-
name: 'project-agent-guidelines',
|
|
94
|
-
description: 'Mandatory coding rules, deprecated APIs and project constraints (auto-generated by bootstrap)',
|
|
95
|
-
},
|
|
96
|
-
},
|
|
97
|
-
// ── 语言条件维度(按 conditions 过滤)──────────────────────
|
|
98
|
-
// ⑧ ObjC/Swift 深度扫描
|
|
99
|
-
{
|
|
100
|
-
id: 'objc-deep-scan',
|
|
101
|
-
label: '深度扫描(常量/Hook)',
|
|
102
|
-
guide: '全量扫描 #define 值宏/函数宏、extern/static 常量、Method Swizzling hook 对(开发者必须使用项目常量,修改被 hook 方法前必须查阅 hook 清单)',
|
|
103
|
-
knowledgeTypes: ['code-standard', 'code-pattern'],
|
|
104
|
-
conditions: { languages: ['objectivec', 'swift'] },
|
|
105
|
-
skillWorthy: true,
|
|
106
|
-
dualOutput: true,
|
|
107
|
-
skillMeta: {
|
|
108
|
-
name: 'project-objc-deep-scan',
|
|
109
|
-
description: 'Project #define macros, static constants, and Method Swizzling hooks (auto-generated by bootstrap)',
|
|
110
|
-
},
|
|
111
|
-
},
|
|
112
|
-
// ⑨ Foundation/UIKit Category/Extension 专项扫描
|
|
113
|
-
{
|
|
114
|
-
id: 'category-scan',
|
|
115
|
-
label: '基础类分类方法扫描',
|
|
116
|
-
guide: 'Foundation/UIKit Category/Extension 逐方法清单(含完整实现代码与项目使用频次),仅扫描基础类分类、不含业务代码(遇到同等功能必须使用项目已有分类方法,禁止重复实现)',
|
|
117
|
-
knowledgeTypes: ['code-standard', 'code-pattern'],
|
|
118
|
-
conditions: { languages: ['objectivec', 'swift'] },
|
|
119
|
-
skillWorthy: true,
|
|
120
|
-
dualOutput: true,
|
|
121
|
-
skillMeta: {
|
|
122
|
-
name: 'project-category-scan',
|
|
123
|
-
description: 'Foundation/UIKit Category and Extension methods with implementations and usage patterns — base classes only, no business code (auto-generated by bootstrap)',
|
|
124
|
-
},
|
|
125
|
-
},
|
|
126
|
-
// ⑩ TS/JS 模块导出分析
|
|
127
|
-
{
|
|
128
|
-
id: 'module-export-scan',
|
|
129
|
-
label: '模块导出分析',
|
|
130
|
-
guide: 'barrel export 结构、re-export 链路、public API surface、tree-shaking 合规性',
|
|
131
|
-
knowledgeTypes: ['code-standard', 'architecture'],
|
|
132
|
-
conditions: { languages: ['typescript', 'javascript'] },
|
|
133
|
-
skillWorthy: true,
|
|
134
|
-
dualOutput: true,
|
|
135
|
-
skillMeta: {
|
|
136
|
-
name: 'project-module-exports',
|
|
137
|
-
description: 'Module export structure and public API surface (auto-generated by bootstrap)',
|
|
138
|
-
},
|
|
139
|
-
},
|
|
140
|
-
// ⑪ TS/JS 框架约定扫描
|
|
141
|
-
{
|
|
142
|
-
id: 'framework-convention-scan',
|
|
143
|
-
label: '框架约定扫描',
|
|
144
|
-
guide: '组件目录结构、状态管理约定、路由约定、样式约定、数据获取模式',
|
|
145
|
-
knowledgeTypes: ['code-standard', 'architecture'],
|
|
146
|
-
conditions: {
|
|
147
|
-
languages: ['typescript', 'javascript'],
|
|
148
|
-
frameworks: ['react', 'vue', 'angular', 'nextjs', 'nuxt'],
|
|
149
|
-
},
|
|
150
|
-
skillWorthy: true,
|
|
151
|
-
dualOutput: true,
|
|
152
|
-
skillMeta: {
|
|
153
|
-
name: 'project-framework-conventions',
|
|
154
|
-
description: 'Framework-specific conventions and patterns (auto-generated by bootstrap)',
|
|
155
|
-
},
|
|
156
|
-
},
|
|
157
|
-
// ⑫ Python 包结构分析
|
|
158
|
-
{
|
|
159
|
-
id: 'python-package-scan',
|
|
160
|
-
label: 'Python 包结构分析',
|
|
161
|
-
guide: '__init__.py 导出策略、相对/绝对导入风格、type hints 覆盖率、decorator 使用模式、__all__ 定义',
|
|
162
|
-
knowledgeTypes: ['code-standard', 'architecture'],
|
|
163
|
-
conditions: { languages: ['python'] },
|
|
164
|
-
skillWorthy: true,
|
|
165
|
-
dualOutput: true,
|
|
166
|
-
skillMeta: {
|
|
167
|
-
name: 'project-python-structure',
|
|
168
|
-
description: 'Python package structure, import patterns and type hint coverage (auto-generated by bootstrap)',
|
|
169
|
-
},
|
|
170
|
-
},
|
|
171
|
-
// ⑬ Java/Kotlin 注解扫描
|
|
172
|
-
{
|
|
173
|
-
id: 'jvm-annotation-scan',
|
|
174
|
-
label: '注解/Annotation 扫描',
|
|
175
|
-
guide: 'DI 注解(@Inject/@Autowired/@Component)、ORM 注解(@Entity/@Table)、API 注解(@RestController/@RequestMapping)、自定义注解、元编程模式',
|
|
176
|
-
knowledgeTypes: ['code-pattern', 'architecture'],
|
|
177
|
-
conditions: { languages: ['java', 'kotlin'] },
|
|
178
|
-
skillWorthy: true,
|
|
179
|
-
dualOutput: true,
|
|
180
|
-
skillMeta: {
|
|
181
|
-
name: 'project-jvm-annotations',
|
|
182
|
-
description: 'Annotation/DI usage patterns and meta-programming (auto-generated by bootstrap)',
|
|
183
|
-
},
|
|
184
|
-
},
|
|
185
|
-
// ⑭ Go 模块结构分析
|
|
186
|
-
{
|
|
187
|
-
id: 'go-module-scan',
|
|
188
|
-
label: 'Go 模块结构分析',
|
|
189
|
-
guide: 'go.mod 依赖图、internal 包隔离边界、cmd/ 入口点枚举、build tags/constraints、interface 分布与实现关系、init() 函数清单',
|
|
190
|
-
knowledgeTypes: ['architecture', 'code-pattern'],
|
|
191
|
-
conditions: { languages: ['go'] },
|
|
192
|
-
skillWorthy: true,
|
|
193
|
-
dualOutput: true,
|
|
194
|
-
skillMeta: {
|
|
195
|
-
name: 'project-go-module-structure',
|
|
196
|
-
description: 'Go module structure, internal packages, build tags and interface distribution (auto-generated by bootstrap)',
|
|
197
|
-
},
|
|
198
|
-
},
|
|
199
|
-
];
|
|
20
|
+
function toBaseDimension(dim) {
|
|
21
|
+
return {
|
|
22
|
+
id: dim.id,
|
|
23
|
+
label: dim.label,
|
|
24
|
+
guide: dim.extractionGuide,
|
|
25
|
+
knowledgeTypes: [...dim.allowedKnowledgeTypes],
|
|
26
|
+
skillWorthy: false,
|
|
27
|
+
dualOutput: false,
|
|
28
|
+
conditions: dim.conditions
|
|
29
|
+
? {
|
|
30
|
+
languages: dim.conditions.languages ? [...dim.conditions.languages] : undefined,
|
|
31
|
+
frameworks: dim.conditions.frameworks ? [...dim.conditions.frameworks] : undefined,
|
|
32
|
+
}
|
|
33
|
+
: undefined,
|
|
34
|
+
tierHint: dim.tierHint,
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* 从统一注册表派生的维度列表
|
|
39
|
+
* 保持数组结构与旧 baseDimensions 兼容
|
|
40
|
+
*/
|
|
41
|
+
export const baseDimensions = DIMENSION_REGISTRY.map(toBaseDimension);
|
|
42
|
+
// ═══════════════════════════════════════════════════════════
|
|
43
|
+
// 维度条件化过滤
|
|
44
|
+
// ═══════════════════════════════════════════════════════════
|
|
200
45
|
/**
|
|
201
46
|
* 根据项目主语言和检测到的框架过滤条件维度
|
|
202
47
|
* @param allDimensions 所有维度定义(含 conditions 字段)
|
|
@@ -205,14 +50,18 @@ export const baseDimensions = [
|
|
|
205
50
|
* @returns 适用的维度列表
|
|
206
51
|
*/
|
|
207
52
|
export function resolveActiveDimensions(allDimensions, primaryLang, detectedFrameworks = []) {
|
|
53
|
+
// 若传入的是完整 baseDimensions,直接委托给注册表
|
|
54
|
+
if (allDimensions === baseDimensions) {
|
|
55
|
+
return _resolveActive(primaryLang, detectedFrameworks).map(toBaseDimension);
|
|
56
|
+
}
|
|
57
|
+
// 若传入自定义维度列表(如 Enhancement Pack 追加),使用原有逻辑
|
|
208
58
|
return allDimensions.filter((dim) => {
|
|
209
59
|
if (!dim.conditions) {
|
|
210
|
-
return true;
|
|
60
|
+
return true;
|
|
211
61
|
}
|
|
212
62
|
const langMatch = !dim.conditions.languages || dim.conditions.languages.includes(primaryLang);
|
|
213
63
|
const fwMatch = !dim.conditions.frameworks ||
|
|
214
64
|
dim.conditions.frameworks.some((f) => detectedFrameworks.includes(f));
|
|
215
|
-
// languages 必须匹配;frameworks 为可选增强(有 frameworks 条件时必须至少命中一个)
|
|
216
65
|
return langMatch && (dim.conditions.frameworks ? fwMatch : true);
|
|
217
66
|
});
|
|
218
67
|
}
|
|
@@ -1,70 +1,24 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* dimension-configs.js — v3.0 维度配置 + Tier Reflection
|
|
3
3
|
*
|
|
4
|
+
* **v2: 从统一维度注册表 (DimensionRegistry) 派生**
|
|
5
|
+
*
|
|
4
6
|
* 从 orchestrator.js 拆分,包含:
|
|
5
|
-
* - DIMENSION_CONFIGS_V3:
|
|
7
|
+
* - DIMENSION_CONFIGS_V3: 维度的 outputType + allowedKnowledgeTypes
|
|
8
|
+
* 现在从 DimensionRegistry 自动生成,无需手动维护
|
|
6
9
|
* - getFullDimensionConfig(): 合并 baseDimensions + V3 专属配置
|
|
7
10
|
* - buildTierReflection: Tier 级反思聚合 (规则化, 不需要 AI)
|
|
8
11
|
*
|
|
9
|
-
* label / guide → 从 baseDimensions 获取(唯一权威来源)
|
|
10
|
-
* SOP / commonMistakes → 从 dimension-sop.js 获取
|
|
11
|
-
*
|
|
12
12
|
* @module pipeline/dimension-configs
|
|
13
13
|
*/
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
};
|
|
23
|
-
'category-scan': {
|
|
24
|
-
outputType: string;
|
|
25
|
-
allowedKnowledgeTypes: string[];
|
|
26
|
-
};
|
|
27
|
-
'code-standard': {
|
|
28
|
-
outputType: string;
|
|
29
|
-
allowedKnowledgeTypes: string[];
|
|
30
|
-
};
|
|
31
|
-
architecture: {
|
|
32
|
-
outputType: string;
|
|
33
|
-
allowedKnowledgeTypes: string[];
|
|
34
|
-
};
|
|
35
|
-
'code-pattern': {
|
|
36
|
-
outputType: string;
|
|
37
|
-
allowedKnowledgeTypes: string[];
|
|
38
|
-
};
|
|
39
|
-
'event-and-data-flow': {
|
|
40
|
-
outputType: string;
|
|
41
|
-
allowedKnowledgeTypes: string[];
|
|
42
|
-
};
|
|
43
|
-
'best-practice': {
|
|
44
|
-
outputType: string;
|
|
45
|
-
allowedKnowledgeTypes: string[];
|
|
46
|
-
};
|
|
47
|
-
'agent-guidelines': {
|
|
48
|
-
outputType: string;
|
|
49
|
-
allowedKnowledgeTypes: string[];
|
|
50
|
-
};
|
|
51
|
-
'module-export-scan': {
|
|
52
|
-
outputType: string;
|
|
53
|
-
allowedKnowledgeTypes: string[];
|
|
54
|
-
};
|
|
55
|
-
'framework-convention-scan': {
|
|
56
|
-
outputType: string;
|
|
57
|
-
allowedKnowledgeTypes: string[];
|
|
58
|
-
};
|
|
59
|
-
'python-package-scan': {
|
|
60
|
-
outputType: string;
|
|
61
|
-
allowedKnowledgeTypes: string[];
|
|
62
|
-
};
|
|
63
|
-
'jvm-annotation-scan': {
|
|
64
|
-
outputType: string;
|
|
65
|
-
allowedKnowledgeTypes: string[];
|
|
66
|
-
};
|
|
67
|
-
};
|
|
14
|
+
/**
|
|
15
|
+
* 从统一注册表生成 V3 配置映射
|
|
16
|
+
* 所有维度统一为 candidate-only outputType
|
|
17
|
+
*/
|
|
18
|
+
export declare const DIMENSION_CONFIGS_V3: Record<string, {
|
|
19
|
+
outputType: string;
|
|
20
|
+
allowedKnowledgeTypes: string[];
|
|
21
|
+
}>;
|
|
68
22
|
/**
|
|
69
23
|
* 获取完整维度配置(合并 baseDimensions + V3 专属配置 + SOP)
|
|
70
24
|
*
|
|
@@ -79,27 +33,8 @@ export declare function getFullDimensionConfig(dimId: string): {
|
|
|
79
33
|
allowedKnowledgeTypes: string[];
|
|
80
34
|
skillWorthy: boolean;
|
|
81
35
|
dualOutput: boolean;
|
|
82
|
-
skillMeta: {
|
|
83
|
-
name: string;
|
|
84
|
-
description: string;
|
|
85
|
-
} | {
|
|
86
|
-
name: string;
|
|
87
|
-
description: string;
|
|
88
|
-
} | {
|
|
89
|
-
name: string;
|
|
90
|
-
description: string;
|
|
91
|
-
} | {
|
|
92
|
-
name: string;
|
|
93
|
-
description: string;
|
|
94
|
-
} | undefined;
|
|
95
36
|
knowledgeTypes: string[];
|
|
96
|
-
sopSteps:
|
|
97
|
-
phase: string;
|
|
98
|
-
action: string;
|
|
99
|
-
expectedOutput?: string;
|
|
100
|
-
tools?: string[];
|
|
101
|
-
qualityChecklist?: string[];
|
|
102
|
-
}[];
|
|
37
|
+
sopSteps: import("#domain/dimension/DimensionSop.js").FullSopStep[] | null;
|
|
103
38
|
commonMistakes: string[];
|
|
104
39
|
timeEstimate: string | null;
|
|
105
40
|
focusKeywords: string[];
|
|
@@ -1,64 +1,33 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* dimension-configs.js — v3.0 维度配置 + Tier Reflection
|
|
3
3
|
*
|
|
4
|
+
* **v2: 从统一维度注册表 (DimensionRegistry) 派生**
|
|
5
|
+
*
|
|
4
6
|
* 从 orchestrator.js 拆分,包含:
|
|
5
|
-
* - DIMENSION_CONFIGS_V3:
|
|
7
|
+
* - DIMENSION_CONFIGS_V3: 维度的 outputType + allowedKnowledgeTypes
|
|
8
|
+
* 现在从 DimensionRegistry 自动生成,无需手动维护
|
|
6
9
|
* - getFullDimensionConfig(): 合并 baseDimensions + V3 专属配置
|
|
7
10
|
* - buildTierReflection: Tier 级反思聚合 (规则化, 不需要 AI)
|
|
8
11
|
*
|
|
9
|
-
* label / guide → 从 baseDimensions 获取(唯一权威来源)
|
|
10
|
-
* SOP / commonMistakes → 从 dimension-sop.js 获取
|
|
11
|
-
*
|
|
12
12
|
* @module pipeline/dimension-configs
|
|
13
13
|
*/
|
|
14
|
+
import { getDimensionFocusKeywords, getDimensionSOP } from '#domain/dimension/DimensionSop.js';
|
|
15
|
+
import { DIMENSION_REGISTRY, getDimension } from '#domain/dimension/index.js';
|
|
14
16
|
import { baseDimensions } from '../base-dimensions.js';
|
|
15
|
-
import { getDimensionFocusKeywords, getDimensionSOP } from '../shared/dimension-sop.js';
|
|
16
17
|
// ──────────────────────────────────────────────────────────────────
|
|
17
|
-
// v3.0 维度配置 —
|
|
18
|
-
// label / guide / focusAreas 已移至 baseDimensions(唯一权威来源)
|
|
18
|
+
// v3.0 维度配置 — 从统一注册表自动生成
|
|
19
19
|
// ──────────────────────────────────────────────────────────────────
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
'code-standard': { outputType: 'dual', allowedKnowledgeTypes: ['code-standard', 'code-style'] },
|
|
28
|
-
architecture: {
|
|
29
|
-
outputType: 'dual',
|
|
30
|
-
allowedKnowledgeTypes: ['architecture', 'module-dependency', 'boundary-constraint'],
|
|
31
|
-
},
|
|
32
|
-
'code-pattern': {
|
|
33
|
-
outputType: 'candidate',
|
|
34
|
-
allowedKnowledgeTypes: ['code-pattern', 'code-relation', 'inheritance'],
|
|
35
|
-
},
|
|
36
|
-
'event-and-data-flow': {
|
|
20
|
+
/**
|
|
21
|
+
* 从统一注册表生成 V3 配置映射
|
|
22
|
+
* 所有维度统一为 candidate-only outputType
|
|
23
|
+
*/
|
|
24
|
+
export const DIMENSION_CONFIGS_V3 = Object.fromEntries(DIMENSION_REGISTRY.map((dim) => [
|
|
25
|
+
dim.id,
|
|
26
|
+
{
|
|
37
27
|
outputType: 'candidate',
|
|
38
|
-
allowedKnowledgeTypes: [
|
|
39
|
-
},
|
|
40
|
-
'best-practice': { outputType: 'candidate', allowedKnowledgeTypes: ['best-practice'] },
|
|
41
|
-
'agent-guidelines': {
|
|
42
|
-
outputType: 'skill',
|
|
43
|
-
allowedKnowledgeTypes: ['boundary-constraint', 'code-standard'],
|
|
44
|
-
},
|
|
45
|
-
'module-export-scan': {
|
|
46
|
-
outputType: 'dual',
|
|
47
|
-
allowedKnowledgeTypes: ['code-standard', 'architecture'],
|
|
48
|
-
},
|
|
49
|
-
'framework-convention-scan': {
|
|
50
|
-
outputType: 'dual',
|
|
51
|
-
allowedKnowledgeTypes: ['code-standard', 'architecture'],
|
|
28
|
+
allowedKnowledgeTypes: [...dim.allowedKnowledgeTypes],
|
|
52
29
|
},
|
|
53
|
-
|
|
54
|
-
outputType: 'dual',
|
|
55
|
-
allowedKnowledgeTypes: ['code-standard', 'architecture'],
|
|
56
|
-
},
|
|
57
|
-
'jvm-annotation-scan': {
|
|
58
|
-
outputType: 'dual',
|
|
59
|
-
allowedKnowledgeTypes: ['code-pattern', 'architecture'],
|
|
60
|
-
},
|
|
61
|
-
};
|
|
30
|
+
]));
|
|
62
31
|
// ──────────────────────────────────────────────────────────────────
|
|
63
32
|
// 完整维度配置获取(合并 baseDimensions + V3 专属 + SOP)
|
|
64
33
|
// ──────────────────────────────────────────────────────────────────
|
|
@@ -69,7 +38,17 @@ export const DIMENSION_CONFIGS_V3 = {
|
|
|
69
38
|
* @returns 完整维度配置,或 null(未知维度)
|
|
70
39
|
*/
|
|
71
40
|
export function getFullDimensionConfig(dimId) {
|
|
72
|
-
|
|
41
|
+
// 优先从统一注册表获取
|
|
42
|
+
const unified = getDimension(dimId);
|
|
43
|
+
// 回退到旧 baseDimensions(兼容 Enhancement Pack 动态维度)
|
|
44
|
+
const base = unified
|
|
45
|
+
? {
|
|
46
|
+
id: unified.id,
|
|
47
|
+
label: unified.label,
|
|
48
|
+
guide: unified.extractionGuide,
|
|
49
|
+
knowledgeTypes: [...unified.allowedKnowledgeTypes],
|
|
50
|
+
}
|
|
51
|
+
: baseDimensions.find((d) => d.id === dimId);
|
|
73
52
|
const v3 = DIMENSION_CONFIGS_V3[dimId];
|
|
74
53
|
if (!base) {
|
|
75
54
|
return null;
|
|
@@ -79,11 +58,10 @@ export function getFullDimensionConfig(dimId) {
|
|
|
79
58
|
id: dimId,
|
|
80
59
|
label: base.label,
|
|
81
60
|
guide: base.guide,
|
|
82
|
-
outputType: v3?.outputType ||
|
|
61
|
+
outputType: v3?.outputType || 'candidate',
|
|
83
62
|
allowedKnowledgeTypes: v3?.allowedKnowledgeTypes || base.knowledgeTypes || [],
|
|
84
|
-
skillWorthy:
|
|
85
|
-
dualOutput:
|
|
86
|
-
skillMeta: base.skillMeta,
|
|
63
|
+
skillWorthy: false,
|
|
64
|
+
dualOutput: false,
|
|
87
65
|
knowledgeTypes: base.knowledgeTypes || [],
|
|
88
66
|
// SOP 结构化分析步骤
|
|
89
67
|
sopSteps: sop?.steps || null,
|
|
@@ -24,7 +24,6 @@ interface ProjectContext {
|
|
|
24
24
|
depGraph?: Record<string, unknown>;
|
|
25
25
|
astMetrics?: Record<string, unknown>;
|
|
26
26
|
guardSummary?: Record<string, unknown>;
|
|
27
|
-
[key: string]: unknown;
|
|
28
27
|
}
|
|
29
28
|
/** Summary of a completed dimension's analysis */
|
|
30
29
|
interface DimensionDigest {
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* mock-pipeline.ts — Mock AI Bootstrap 轻量管线
|
|
3
|
+
*
|
|
4
|
+
* 当 AI Provider 为 mock 时,利用 Phase 1-4 已收集的真实数据
|
|
5
|
+
* (AST、依赖图、文件列表、Panorama) 为每个维度生成模板化候选知识。
|
|
6
|
+
*
|
|
7
|
+
* 不调用 AI,但走完完整的 submit → dimension_complete 流程,
|
|
8
|
+
* 使 Dashboard 能正常展示知识库、健康雷达等 UI。
|
|
9
|
+
*
|
|
10
|
+
* @module pipeline/mock-pipeline
|
|
11
|
+
*/
|
|
12
|
+
import type { DimensionDef } from '#types/project-snapshot.js';
|
|
13
|
+
import type { PipelineFillView } from '#types/snapshot-views.js';
|
|
14
|
+
/**
|
|
15
|
+
* fillDimensionsMock — Mock AI 轻量管线
|
|
16
|
+
*
|
|
17
|
+
* 利用 Phase 1-4 的真实数据(AST、文件列表、Panorama)自动生成候选知识,
|
|
18
|
+
* 不调用任何 AI API,但走完 submit → dimension_complete 的完整流程。
|
|
19
|
+
*/
|
|
20
|
+
export declare function fillDimensionsMock(view: PipelineFillView, dimensions: DimensionDef[]): Promise<void>;
|