speccore 8.3.21 → 8.3.26

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.
Files changed (120) hide show
  1. package/README.md +7 -4
  2. package/dist/cli.js +19 -3
  3. package/dist/cli.js.map +1 -1
  4. package/dist/commands/analyze.d.ts.map +1 -1
  5. package/dist/commands/analyze.js +24 -8
  6. package/dist/commands/analyze.js.map +1 -1
  7. package/dist/commands/config.d.ts +3 -1
  8. package/dist/commands/config.d.ts.map +1 -1
  9. package/dist/commands/config.js +206 -90
  10. package/dist/commands/config.js.map +1 -1
  11. package/dist/commands/context-output.d.ts.map +1 -1
  12. package/dist/commands/context-output.js +0 -10
  13. package/dist/commands/context-output.js.map +1 -1
  14. package/dist/commands/dev.js +6 -7
  15. package/dist/commands/dev.js.map +1 -1
  16. package/dist/commands/doctor.d.ts.map +1 -1
  17. package/dist/commands/doctor.js +140 -0
  18. package/dist/commands/doctor.js.map +1 -1
  19. package/dist/commands/done.js +51 -20
  20. package/dist/commands/done.js.map +1 -1
  21. package/dist/commands/execute.d.ts.map +1 -1
  22. package/dist/commands/execute.js +147 -45
  23. package/dist/commands/execute.js.map +1 -1
  24. package/dist/commands/help.js +5 -0
  25. package/dist/commands/help.js.map +1 -1
  26. package/dist/commands/init.d.ts +0 -2
  27. package/dist/commands/init.d.ts.map +1 -1
  28. package/dist/commands/init.js +9 -51
  29. package/dist/commands/init.js.map +1 -1
  30. package/dist/commands/iteration/split.js +29 -17
  31. package/dist/commands/iteration/split.js.map +1 -1
  32. package/dist/commands/status-panel.d.ts.map +1 -1
  33. package/dist/commands/status-panel.js +13 -48
  34. package/dist/commands/status-panel.js.map +1 -1
  35. package/dist/commands/status.d.ts.map +1 -1
  36. package/dist/commands/status.js +32 -0
  37. package/dist/commands/status.js.map +1 -1
  38. package/dist/commands/update.d.ts.map +1 -1
  39. package/dist/commands/update.js +206 -8
  40. package/dist/commands/update.js.map +1 -1
  41. package/dist/commands/verdict.d.ts +16 -0
  42. package/dist/commands/verdict.d.ts.map +1 -0
  43. package/dist/commands/verdict.js +189 -0
  44. package/dist/commands/verdict.js.map +1 -0
  45. package/dist/commands/verify.d.ts.map +1 -1
  46. package/dist/commands/verify.js +3 -2
  47. package/dist/commands/verify.js.map +1 -1
  48. package/dist/core/analyze-engine.d.ts.map +1 -1
  49. package/dist/core/analyze-engine.js +3 -4
  50. package/dist/core/analyze-engine.js.map +1 -1
  51. package/dist/core/arbitration/arbitration-engine.d.ts +36 -0
  52. package/dist/core/arbitration/arbitration-engine.d.ts.map +1 -0
  53. package/dist/core/arbitration/arbitration-engine.js +142 -0
  54. package/dist/core/arbitration/arbitration-engine.js.map +1 -0
  55. package/dist/core/arbitration/conflict-detector.d.ts +15 -0
  56. package/dist/core/arbitration/conflict-detector.d.ts.map +1 -0
  57. package/dist/core/arbitration/conflict-detector.js +78 -0
  58. package/dist/core/arbitration/conflict-detector.js.map +1 -0
  59. package/dist/core/arbitration/conflict-types.d.ts +34 -0
  60. package/dist/core/arbitration/conflict-types.d.ts.map +1 -0
  61. package/dist/core/arbitration/conflict-types.js +8 -0
  62. package/dist/core/arbitration/conflict-types.js.map +1 -0
  63. package/dist/core/arbitration/contract-registry.d.ts +15 -0
  64. package/dist/core/arbitration/contract-registry.d.ts.map +1 -0
  65. package/dist/core/arbitration/contract-registry.js +185 -0
  66. package/dist/core/arbitration/contract-registry.js.map +1 -0
  67. package/dist/core/arbitration/contract-types.d.ts +33 -0
  68. package/dist/core/arbitration/contract-types.d.ts.map +1 -0
  69. package/dist/core/arbitration/contract-types.js +8 -0
  70. package/dist/core/arbitration/contract-types.js.map +1 -0
  71. package/dist/core/arbitration/index.d.ts +16 -0
  72. package/dist/core/arbitration/index.d.ts.map +1 -0
  73. package/dist/core/arbitration/index.js +32 -0
  74. package/dist/core/arbitration/index.js.map +1 -0
  75. package/dist/core/arbitration/l1-auto-arbiter.d.ts +19 -0
  76. package/dist/core/arbitration/l1-auto-arbiter.d.ts.map +1 -0
  77. package/dist/core/arbitration/l1-auto-arbiter.js +41 -0
  78. package/dist/core/arbitration/l1-auto-arbiter.js.map +1 -0
  79. package/dist/core/arbitration/l2-ai-arbiter.d.ts +19 -0
  80. package/dist/core/arbitration/l2-ai-arbiter.d.ts.map +1 -0
  81. package/dist/core/arbitration/l2-ai-arbiter.js +57 -0
  82. package/dist/core/arbitration/l2-ai-arbiter.js.map +1 -0
  83. package/dist/core/arbitration/l3-human-arbiter.d.ts +24 -0
  84. package/dist/core/arbitration/l3-human-arbiter.d.ts.map +1 -0
  85. package/dist/core/arbitration/l3-human-arbiter.js +65 -0
  86. package/dist/core/arbitration/l3-human-arbiter.js.map +1 -0
  87. package/dist/core/arbitration/verdict-generator.d.ts +16 -0
  88. package/dist/core/arbitration/verdict-generator.d.ts.map +1 -0
  89. package/dist/core/arbitration/verdict-generator.js +166 -0
  90. package/dist/core/arbitration/verdict-generator.js.map +1 -0
  91. package/dist/core/arbitration/verdict-types.d.ts +49 -0
  92. package/dist/core/arbitration/verdict-types.d.ts.map +1 -0
  93. package/dist/core/arbitration/verdict-types.js +8 -0
  94. package/dist/core/arbitration/verdict-types.js.map +1 -0
  95. package/dist/core/ask-config.d.ts +4 -3
  96. package/dist/core/ask-config.d.ts.map +1 -1
  97. package/dist/core/ask-config.js +79 -1
  98. package/dist/core/ask-config.js.map +1 -1
  99. package/dist/core/ask-engine.d.ts.map +1 -1
  100. package/dist/core/ask-engine.js +7 -0
  101. package/dist/core/ask-engine.js.map +1 -1
  102. package/dist/core/intent-recognition.d.ts +1 -1
  103. package/dist/core/intent-recognition.d.ts.map +1 -1
  104. package/dist/core/intent-recognition.js +10 -0
  105. package/dist/core/intent-recognition.js.map +1 -1
  106. package/dist/core/pattern-detector.d.ts +24 -0
  107. package/dist/core/pattern-detector.d.ts.map +1 -1
  108. package/dist/core/pattern-detector.js +172 -3
  109. package/dist/core/pattern-detector.js.map +1 -1
  110. package/dist/core/quality-audit.d.ts.map +1 -1
  111. package/dist/core/quality-audit.js +23 -15
  112. package/dist/core/quality-audit.js.map +1 -1
  113. package/dist/core/spec-skeleton.d.ts.map +1 -1
  114. package/dist/core/spec-skeleton.js +35 -12
  115. package/dist/core/spec-skeleton.js.map +1 -1
  116. package/dist/core/unified-config.d.ts +161 -27
  117. package/dist/core/unified-config.d.ts.map +1 -1
  118. package/dist/core/unified-config.js +856 -82
  119. package/dist/core/unified-config.js.map +1 -1
  120. package/package.json +1 -1
@@ -1,44 +1,178 @@
1
+ /** 当前系统配置 schema 版本号(.speccore.yml) */
2
+ export declare const CURRENT_SCHEMA_VERSION = 1;
3
+ /** 当前项目配置 schema 版本号(.speccore/PROJECT.yaml) */
4
+ export declare const PROJECT_CURRENT_SCHEMA_VERSION = 1;
5
+ export interface PlatformConfig {
6
+ name: string;
7
+ type: 'frontend' | 'backend' | 'infra';
8
+ description?: string;
9
+ code_path?: string;
10
+ git_repo?: string;
11
+ default_branch: string;
12
+ }
13
+ export interface LlmProviderConfig {
14
+ name: string;
15
+ enabled: boolean;
16
+ type: 'ollama' | 'openai' | 'anthropic' | 'custom';
17
+ endpoint: string;
18
+ model: string;
19
+ apiKey?: string;
20
+ priority: number;
21
+ }
22
+ /** 系统配置 — .speccore.yml(CLI 运行时行为开关) */
1
23
  export interface SpecConfig {
24
+ schema_version: number;
25
+ quality_gates: {
26
+ enforce_testing: boolean;
27
+ enforce_review: boolean;
28
+ require_pr: boolean;
29
+ };
30
+ arbitration: {
31
+ enabled: boolean;
32
+ mode: 'full' | 'l1-only' | 'report-only';
33
+ };
34
+ settings: {
35
+ assignee: {
36
+ enabled: boolean;
37
+ mode: 'strict' | 'loose' | 'off';
38
+ };
39
+ trace: {
40
+ enabled: boolean;
41
+ auto_annotate: boolean;
42
+ };
43
+ archive: {
44
+ auto_cleanup: boolean;
45
+ };
46
+ plan: {
47
+ parallel_suggest: boolean;
48
+ };
49
+ validation: {
50
+ strict_mode: boolean;
51
+ };
52
+ sync: {
53
+ auto_check: boolean;
54
+ };
55
+ patterns: {
56
+ auto_save: 'off' | 'smart' | 'aggressive';
57
+ };
58
+ review: {
59
+ check_assignee: boolean;
60
+ };
61
+ };
62
+ ask: {
63
+ routing: {
64
+ mode: 'hybrid' | 'cli-only' | 'host-ai-only';
65
+ high_threshold: number;
66
+ low_threshold: number;
67
+ auto_host_ai: boolean;
68
+ cache_enabled: boolean;
69
+ cache_min_hits: number;
70
+ };
71
+ rules: {
72
+ force_host_ai: boolean;
73
+ };
74
+ llm_providers: LlmProviderConfig[];
75
+ };
76
+ config_history: {
77
+ date: string;
78
+ change: string;
79
+ changed_by?: string;
80
+ }[];
81
+ }
82
+ /** 项目配置 — .speccore/PROJECT.yaml(工程映射) */
83
+ export interface ProjectConfig {
84
+ schema_version: number;
2
85
  project: {
3
86
  name: string;
4
87
  description?: string;
5
88
  version?: string;
6
89
  };
7
- tech_stack: {
8
- backend?: string;
9
- frontend?: string;
10
- database?: string;
11
- cache?: string;
12
- mq?: string;
13
- };
14
- team: {
15
- members: {
16
- name: string;
17
- role: string;
18
- assignee?: string;
19
- }[];
20
- };
21
- platforms: string[];
90
+ platforms: PlatformConfig[];
22
91
  git: {
23
92
  default_base: string;
24
93
  branch_prefix: string;
94
+ protected_branches: string[];
25
95
  };
26
96
  code_scope: string[];
27
- conventions: {
28
- commit?: string;
29
- naming?: string;
30
- review?: string;
31
- };
32
- quality_gates: {
33
- enforce_testing: boolean;
34
- enforce_review: boolean;
35
- require_pr: boolean;
36
- };
97
+ }
98
+ export declare const DEFAULT_CONFIG: SpecConfig;
99
+ export declare const DEFAULT_PROJECT_CONFIG: ProjectConfig;
100
+ export interface ConfigLoadResult {
101
+ config: SpecConfig;
102
+ warnings: string[];
103
+ migrated: boolean;
104
+ }
105
+ export interface ProjectConfigLoadResult {
106
+ config: ProjectConfig;
107
+ warnings: string[];
108
+ migrated: boolean;
37
109
  }
38
110
  export declare function loadConfig(): Promise<SpecConfig>;
111
+ /** 获取配置 + 元信息(warnings、是否迁移过) */
112
+ export declare function loadConfigWithMeta(): Promise<ConfigLoadResult>;
113
+ /** 加载项目配置(简化版) */
114
+ export declare function loadProjectConfig(): Promise<ProjectConfig>;
115
+ /** 获取项目配置 + 元信息 */
116
+ export declare function loadProjectConfigWithMeta(): Promise<ProjectConfigLoadResult>;
117
+ /** 兼容旧代码:getConfig = loadConfig */
118
+ export declare function getConfig(): Promise<SpecConfig>;
39
119
  export declare function saveConfig(config: SpecConfig): Promise<void>;
120
+ export declare function saveProjectConfig(config: ProjectConfig): Promise<void>;
121
+ /**
122
+ * 初始化时生成 .speccore.yml(系统配置)
123
+ */
124
+ export declare function initConfig(): Promise<void>;
125
+ /**
126
+ * 初始化时生成 .speccore/PROJECT.yaml(项目配置)
127
+ */
128
+ export declare function initProjectConfig(projectName?: string): Promise<void>;
129
+ export interface ConfigDiff {
130
+ /** 新增字段路径列表 */
131
+ added: string[];
132
+ /** 删除字段路径列表 */
133
+ removed: string[];
134
+ /** 类型变更:字段存在但类型不同 */
135
+ typeChanged: {
136
+ path: string;
137
+ current: string;
138
+ expected: string;
139
+ }[];
140
+ /** 枚举值变更:合法值集合变化 */
141
+ enumChanged: {
142
+ path: string;
143
+ current: string[];
144
+ expected: string[];
145
+ }[];
146
+ /** 结构变更:对象↔数组、嵌套结构变化等 */
147
+ structureChanged: {
148
+ path: string;
149
+ description: string;
150
+ }[];
151
+ }
152
+ /**
153
+ * 递归比较当前配置与目标配置(DEFAULT_CONFIG),检测所有差异
154
+ */
155
+ export declare function detectConfigDiff(current: unknown, target: unknown, path?: string): ConfigDiff;
156
+ /**
157
+ * 判断差异是否需要用户确认(新增字段除外,可自动处理)
158
+ */
159
+ export declare function requiresUserConfirmation(diff: ConfigDiff): boolean;
160
+ /**
161
+ * 格式化差异为可读文本
162
+ */
163
+ export declare function formatConfigDiff(diff: ConfigDiff): string[];
164
+ export declare function upgradeConfig(): Promise<ConfigLoadResult>;
165
+ export declare function upgradeProjectConfig(): Promise<ProjectConfigLoadResult>;
166
+ export interface EnvResolutionResult {
167
+ value: unknown;
168
+ /** 成功解析的环境变量名 */
169
+ resolved: string[];
170
+ /** 未找到的环境变量名 */
171
+ unresolved: string[];
172
+ }
40
173
  /**
41
- * 初始化时生成 .speccore.yml
174
+ * 递归遍历对象/数组,将所有字符串中的 ${ENV_VAR} 替换为环境变量值。
175
+ * 支持默认值语法: ${VAR:-default}
42
176
  */
43
- export declare function initConfig(projectName?: string): Promise<void>;
177
+ export declare function resolveEnvVars(obj: unknown): EnvResolutionResult;
44
178
  //# sourceMappingURL=unified-config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"unified-config.d.ts","sourceRoot":"","sources":["../../src/core/unified-config.ts"],"names":[],"mappings":"AAUA,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE;QACP,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;IACF,UAAU,EAAE;QACV,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,EAAE,CAAC,EAAE,MAAM,CAAC;KACb,CAAC;IACF,IAAI,EAAE;QACJ,OAAO,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAC;YAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;SAAE,EAAE,CAAC;KAC9D,CAAC;IACF,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,GAAG,EAAE;QACH,YAAY,EAAE,MAAM,CAAC;QACrB,aAAa,EAAE,MAAM,CAAC;KACvB,CAAC;IACF,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,WAAW,EAAE;QACX,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,aAAa,EAAE;QACb,eAAe,EAAE,OAAO,CAAC;QACzB,cAAc,EAAE,OAAO,CAAC;QACxB,UAAU,EAAE,OAAO,CAAC;KACrB,CAAC;CACH;AAeD,wBAAsB,UAAU,IAAI,OAAO,CAAC,UAAU,CAAC,CAUtD;AAED,wBAAsB,UAAU,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAGlE;AAED;;GAEG;AACH,wBAAsB,UAAU,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAKpE"}
1
+ {"version":3,"file":"unified-config.d.ts","sourceRoot":"","sources":["../../src/core/unified-config.ts"],"names":[],"mappings":"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"}