@planu/cli 0.28.0 → 0.29.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.
Files changed (218) hide show
  1. package/dist/config/model-routing-rules.json +98 -0
  2. package/dist/engine/ai-cost-estimator/core.d.ts.map +1 -1
  3. package/dist/engine/ai-cost-estimator/core.js +2 -202
  4. package/dist/engine/ai-cost-estimator/core.js.map +1 -1
  5. package/dist/engine/ai-cost-estimator/recommender.d.ts +8 -0
  6. package/dist/engine/ai-cost-estimator/recommender.d.ts.map +1 -0
  7. package/dist/engine/ai-cost-estimator/recommender.js +94 -0
  8. package/dist/engine/ai-cost-estimator/recommender.js.map +1 -0
  9. package/dist/engine/ai-cost-estimator/spec-loader.d.ts +13 -0
  10. package/dist/engine/ai-cost-estimator/spec-loader.d.ts.map +1 -0
  11. package/dist/engine/ai-cost-estimator/spec-loader.js +102 -0
  12. package/dist/engine/ai-cost-estimator/spec-loader.js.map +1 -0
  13. package/dist/engine/code-transforms/transform-engine.d.ts +7 -0
  14. package/dist/engine/code-transforms/transform-engine.d.ts.map +1 -0
  15. package/dist/engine/code-transforms/transform-engine.js +67 -0
  16. package/dist/engine/code-transforms/transform-engine.js.map +1 -0
  17. package/dist/engine/code-transforms/typescript/add-error-handling.d.ts +6 -0
  18. package/dist/engine/code-transforms/typescript/add-error-handling.d.ts.map +1 -0
  19. package/dist/engine/code-transforms/typescript/add-error-handling.js +92 -0
  20. package/dist/engine/code-transforms/typescript/add-error-handling.js.map +1 -0
  21. package/dist/engine/code-transforms/typescript/add-jsdoc.d.ts +6 -0
  22. package/dist/engine/code-transforms/typescript/add-jsdoc.d.ts.map +1 -0
  23. package/dist/engine/code-transforms/typescript/add-jsdoc.js +83 -0
  24. package/dist/engine/code-transforms/typescript/add-jsdoc.js.map +1 -0
  25. package/dist/engine/code-transforms/typescript/add-types.d.ts +3 -0
  26. package/dist/engine/code-transforms/typescript/add-types.d.ts.map +1 -0
  27. package/dist/engine/code-transforms/typescript/add-types.js +182 -0
  28. package/dist/engine/code-transforms/typescript/add-types.js.map +1 -0
  29. package/dist/engine/code-transforms/typescript/ast-utils.d.ts +38 -0
  30. package/dist/engine/code-transforms/typescript/ast-utils.d.ts.map +1 -0
  31. package/dist/engine/code-transforms/typescript/ast-utils.js +90 -0
  32. package/dist/engine/code-transforms/typescript/ast-utils.js.map +1 -0
  33. package/dist/engine/code-transforms/typescript/extract-interface.d.ts +6 -0
  34. package/dist/engine/code-transforms/typescript/extract-interface.d.ts.map +1 -0
  35. package/dist/engine/code-transforms/typescript/extract-interface.js +103 -0
  36. package/dist/engine/code-transforms/typescript/extract-interface.js.map +1 -0
  37. package/dist/engine/code-transforms/typescript/modernize-syntax.d.ts +3 -0
  38. package/dist/engine/code-transforms/typescript/modernize-syntax.d.ts.map +1 -0
  39. package/dist/engine/code-transforms/typescript/modernize-syntax.js +213 -0
  40. package/dist/engine/code-transforms/typescript/modernize-syntax.js.map +1 -0
  41. package/dist/engine/code-transforms/typescript/rename-symbol.d.ts +8 -0
  42. package/dist/engine/code-transforms/typescript/rename-symbol.d.ts.map +1 -0
  43. package/dist/engine/code-transforms/typescript/rename-symbol.js +40 -0
  44. package/dist/engine/code-transforms/typescript/rename-symbol.js.map +1 -0
  45. package/dist/engine/mermaid/core.d.ts +18 -0
  46. package/dist/engine/mermaid/core.d.ts.map +1 -0
  47. package/dist/engine/mermaid/core.js +88 -0
  48. package/dist/engine/mermaid/core.js.map +1 -0
  49. package/dist/engine/mermaid/diagram-generators.d.ts +22 -0
  50. package/dist/engine/mermaid/diagram-generators.d.ts.map +1 -0
  51. package/dist/engine/mermaid/diagram-generators.js +139 -0
  52. package/dist/engine/mermaid/diagram-generators.js.map +1 -0
  53. package/dist/engine/mermaid/helpers.d.ts +8 -0
  54. package/dist/engine/mermaid/helpers.d.ts.map +1 -0
  55. package/dist/engine/mermaid/helpers.js +61 -0
  56. package/dist/engine/mermaid/helpers.js.map +1 -0
  57. package/dist/engine/mermaid-generator.d.ts +2 -37
  58. package/dist/engine/mermaid-generator.d.ts.map +1 -1
  59. package/dist/engine/mermaid-generator.js +4 -276
  60. package/dist/engine/mermaid-generator.js.map +1 -1
  61. package/dist/engine/model-router/complexity-analyzer.d.ts +26 -0
  62. package/dist/engine/model-router/complexity-analyzer.d.ts.map +1 -0
  63. package/dist/engine/model-router/complexity-analyzer.js +182 -0
  64. package/dist/engine/model-router/complexity-analyzer.js.map +1 -0
  65. package/dist/engine/model-router/cost-estimator.d.ts +6 -0
  66. package/dist/engine/model-router/cost-estimator.d.ts.map +1 -0
  67. package/dist/engine/model-router/cost-estimator.js +60 -0
  68. package/dist/engine/model-router/cost-estimator.js.map +1 -0
  69. package/dist/engine/model-router/historical-learner.d.ts +26 -0
  70. package/dist/engine/model-router/historical-learner.d.ts.map +1 -0
  71. package/dist/engine/model-router/historical-learner.js +91 -0
  72. package/dist/engine/model-router/historical-learner.js.map +1 -0
  73. package/dist/engine/model-router/rules-engine.d.ts +13 -0
  74. package/dist/engine/model-router/rules-engine.d.ts.map +1 -0
  75. package/dist/engine/model-router/rules-engine.js +142 -0
  76. package/dist/engine/model-router/rules-engine.js.map +1 -0
  77. package/dist/engine/spec-coverage/criteria-mapper.d.ts +1 -2
  78. package/dist/engine/spec-coverage/criteria-mapper.d.ts.map +1 -1
  79. package/dist/engine/spec-coverage/criteria-mapper.js +4 -203
  80. package/dist/engine/spec-coverage/criteria-mapper.js.map +1 -1
  81. package/dist/engine/spec-coverage/keyword-extractor.d.ts +10 -0
  82. package/dist/engine/spec-coverage/keyword-extractor.d.ts.map +1 -0
  83. package/dist/engine/spec-coverage/keyword-extractor.js +147 -0
  84. package/dist/engine/spec-coverage/keyword-extractor.js.map +1 -0
  85. package/dist/engine/spec-coverage/test-matchers.d.ts +9 -0
  86. package/dist/engine/spec-coverage/test-matchers.d.ts.map +1 -0
  87. package/dist/engine/spec-coverage/test-matchers.js +59 -0
  88. package/dist/engine/spec-coverage/test-matchers.js.map +1 -0
  89. package/dist/engine/spec-templates/catalog-extra.d.ts +1 -1
  90. package/dist/engine/spec-templates/catalog-extra.d.ts.map +1 -1
  91. package/dist/engine/spec-templates/catalog-extra.js +8 -363
  92. package/dist/engine/spec-templates/catalog-extra.js.map +1 -1
  93. package/dist/engine/spec-templates/catalog.d.ts.map +1 -1
  94. package/dist/engine/spec-templates/catalog.js +10 -381
  95. package/dist/engine/spec-templates/catalog.js.map +1 -1
  96. package/dist/engine/spec-templates/templates-api-ui.d.ts +6 -0
  97. package/dist/engine/spec-templates/templates-api-ui.d.ts.map +1 -0
  98. package/dist/engine/spec-templates/templates-api-ui.js +188 -0
  99. package/dist/engine/spec-templates/templates-api-ui.js.map +1 -0
  100. package/dist/engine/spec-templates/templates-auth-crud.d.ts +6 -0
  101. package/dist/engine/spec-templates/templates-auth-crud.d.ts.map +1 -0
  102. package/dist/engine/spec-templates/templates-auth-crud.js +198 -0
  103. package/dist/engine/spec-templates/templates-auth-crud.js.map +1 -0
  104. package/dist/engine/spec-templates/templates-data-security.d.ts +6 -0
  105. package/dist/engine/spec-templates/templates-data-security.d.ts.map +1 -0
  106. package/dist/engine/spec-templates/templates-data-security.js +172 -0
  107. package/dist/engine/spec-templates/templates-data-security.js.map +1 -0
  108. package/dist/engine/spec-templates/templates-perf-integration.d.ts +6 -0
  109. package/dist/engine/spec-templates/templates-perf-integration.d.ts.map +1 -0
  110. package/dist/engine/spec-templates/templates-perf-integration.js +199 -0
  111. package/dist/engine/spec-templates/templates-perf-integration.js.map +1 -0
  112. package/dist/engine/vector-store/hnsw.d.ts +37 -0
  113. package/dist/engine/vector-store/hnsw.d.ts.map +1 -0
  114. package/dist/engine/vector-store/hnsw.js +294 -0
  115. package/dist/engine/vector-store/hnsw.js.map +1 -0
  116. package/dist/engine/vector-store/similarity.d.ts +21 -0
  117. package/dist/engine/vector-store/similarity.d.ts.map +1 -0
  118. package/dist/engine/vector-store/similarity.js +86 -0
  119. package/dist/engine/vector-store/similarity.js.map +1 -0
  120. package/dist/engine/vector-store/tfidf.d.ts +35 -0
  121. package/dist/engine/vector-store/tfidf.d.ts.map +1 -0
  122. package/dist/engine/vector-store/tfidf.js +255 -0
  123. package/dist/engine/vector-store/tfidf.js.map +1 -0
  124. package/dist/index.js +6 -0
  125. package/dist/index.js.map +1 -1
  126. package/dist/storage/vector-store/backend-factory.d.ts +9 -0
  127. package/dist/storage/vector-store/backend-factory.d.ts.map +1 -0
  128. package/dist/storage/vector-store/backend-factory.js +33 -0
  129. package/dist/storage/vector-store/backend-factory.js.map +1 -0
  130. package/dist/storage/vector-store/json-fallback.d.ts +21 -0
  131. package/dist/storage/vector-store/json-fallback.d.ts.map +1 -0
  132. package/dist/storage/vector-store/json-fallback.js +85 -0
  133. package/dist/storage/vector-store/json-fallback.js.map +1 -0
  134. package/dist/storage/vector-store/migrator.d.ts +10 -0
  135. package/dist/storage/vector-store/migrator.d.ts.map +1 -0
  136. package/dist/storage/vector-store/migrator.js +139 -0
  137. package/dist/storage/vector-store/migrator.js.map +1 -0
  138. package/dist/storage/vector-store/sqlite-adapter.d.ts +28 -0
  139. package/dist/storage/vector-store/sqlite-adapter.d.ts.map +1 -0
  140. package/dist/storage/vector-store/sqlite-adapter.js +142 -0
  141. package/dist/storage/vector-store/sqlite-adapter.js.map +1 -0
  142. package/dist/tools/create-spec/constitution-validator.d.ts +4 -0
  143. package/dist/tools/create-spec/constitution-validator.d.ts.map +1 -0
  144. package/dist/tools/create-spec/constitution-validator.js +37 -0
  145. package/dist/tools/create-spec/constitution-validator.js.map +1 -0
  146. package/dist/tools/create-spec/post-creation.d.ts +11 -0
  147. package/dist/tools/create-spec/post-creation.d.ts.map +1 -0
  148. package/dist/tools/create-spec/post-creation.js +48 -0
  149. package/dist/tools/create-spec/post-creation.js.map +1 -0
  150. package/dist/tools/create-spec/spec-builder.d.ts +14 -0
  151. package/dist/tools/create-spec/spec-builder.d.ts.map +1 -0
  152. package/dist/tools/create-spec/spec-builder.js +131 -0
  153. package/dist/tools/create-spec/spec-builder.js.map +1 -0
  154. package/dist/tools/create-spec.d.ts.map +1 -1
  155. package/dist/tools/create-spec.js +42 -172
  156. package/dist/tools/create-spec.js.map +1 -1
  157. package/dist/tools/recommend-model-handler.d.ts +8 -0
  158. package/dist/tools/recommend-model-handler.d.ts.map +1 -0
  159. package/dist/tools/recommend-model-handler.js +65 -0
  160. package/dist/tools/recommend-model-handler.js.map +1 -0
  161. package/dist/tools/register-model-tools.d.ts +3 -0
  162. package/dist/tools/register-model-tools.d.ts.map +1 -0
  163. package/dist/tools/register-model-tools.js +50 -0
  164. package/dist/tools/register-model-tools.js.map +1 -0
  165. package/dist/tools/register-search-tools.d.ts +7 -0
  166. package/dist/tools/register-search-tools.d.ts.map +1 -0
  167. package/dist/tools/register-search-tools.js +34 -0
  168. package/dist/tools/register-search-tools.js.map +1 -0
  169. package/dist/tools/register-transform-tools.d.ts +3 -0
  170. package/dist/tools/register-transform-tools.d.ts.map +1 -0
  171. package/dist/tools/register-transform-tools.js +29 -0
  172. package/dist/tools/register-transform-tools.js.map +1 -0
  173. package/dist/tools/semantic-search-handler.d.ts +7 -0
  174. package/dist/tools/semantic-search-handler.d.ts.map +1 -0
  175. package/dist/tools/semantic-search-handler.js +72 -0
  176. package/dist/tools/semantic-search-handler.js.map +1 -0
  177. package/dist/tools/transform-code-handler.d.ts +7 -0
  178. package/dist/tools/transform-code-handler.d.ts.map +1 -0
  179. package/dist/tools/transform-code-handler.js +58 -0
  180. package/dist/tools/transform-code-handler.js.map +1 -0
  181. package/dist/types/advanced-framework.d.ts +47 -0
  182. package/dist/types/advanced-framework.d.ts.map +1 -0
  183. package/dist/types/advanced-framework.js +3 -0
  184. package/dist/types/advanced-framework.js.map +1 -0
  185. package/dist/types/code-transforms.d.ts +114 -0
  186. package/dist/types/code-transforms.d.ts.map +1 -0
  187. package/dist/types/code-transforms.js +11 -0
  188. package/dist/types/code-transforms.js.map +1 -0
  189. package/dist/types/css-framework.d.ts +110 -0
  190. package/dist/types/css-framework.d.ts.map +1 -0
  191. package/dist/types/css-framework.js +3 -0
  192. package/dist/types/css-framework.js.map +1 -0
  193. package/dist/types/dashboard.d.ts +77 -0
  194. package/dist/types/dashboard.d.ts.map +1 -0
  195. package/dist/types/dashboard.js +2 -0
  196. package/dist/types/dashboard.js.map +1 -0
  197. package/dist/types/index.d.ts +3 -0
  198. package/dist/types/index.d.ts.map +1 -1
  199. package/dist/types/index.js +3 -0
  200. package/dist/types/index.js.map +1 -1
  201. package/dist/types/model-routing.d.ts +127 -0
  202. package/dist/types/model-routing.d.ts.map +1 -0
  203. package/dist/types/model-routing.js +3 -0
  204. package/dist/types/model-routing.js.map +1 -0
  205. package/dist/types/spec/core.d.ts +28 -1
  206. package/dist/types/spec/core.d.ts.map +1 -1
  207. package/dist/types/spec/inputs.d.ts +1 -6
  208. package/dist/types/spec/inputs.d.ts.map +1 -1
  209. package/dist/types/ui.d.ts +3 -231
  210. package/dist/types/ui.d.ts.map +1 -1
  211. package/dist/types/ui.js +7 -1
  212. package/dist/types/ui.js.map +1 -1
  213. package/dist/types/vector-store.d.ts +137 -0
  214. package/dist/types/vector-store.d.ts.map +1 -0
  215. package/dist/types/vector-store.js +3 -0
  216. package/dist/types/vector-store.js.map +1 -0
  217. package/package.json +1 -1
  218. package/src/config/model-routing-rules.json +98 -0
@@ -0,0 +1,127 @@
1
+ import type { ModelTier } from './multi-agent.js';
2
+ export type { ModelTier } from './multi-agent.js';
3
+ /** Task type classification for routing decisions. */
4
+ export type TaskType = 'search' | 'generation' | 'architecture' | 'debugging' | 'refactor';
5
+ /** Operator for evaluating a routing rule condition. */
6
+ export type RuleOperator = 'eq' | 'gt' | 'gte' | 'lt' | 'lte' | 'between';
7
+ /** Raw + normalised complexity signals extracted from a spec or task. */
8
+ export interface ComplexitySignals {
9
+ criteriaCount: number;
10
+ fileCount: number;
11
+ dependencyDepth: number;
12
+ crossLayerCount: number;
13
+ hasNewTypes: boolean;
14
+ hasDBChanges: boolean;
15
+ hasSecurityImplications: boolean;
16
+ estimatedHours: number;
17
+ isReadOnly: boolean;
18
+ taskType: TaskType;
19
+ /** Overall complexity score in the range [0, 1], computed from all signals. */
20
+ overallScore: number;
21
+ }
22
+ /** Normalised (0-1) representation of every numeric signal. */
23
+ export interface NormalisedSignals {
24
+ criteriaCount: number;
25
+ fileCount: number;
26
+ dependencyDepth: number;
27
+ crossLayerCount: number;
28
+ estimatedHours: number;
29
+ hasNewTypes: number;
30
+ hasDBChanges: number;
31
+ hasSecurityImplications: number;
32
+ isReadOnly: number;
33
+ }
34
+ /** Estimated token and USD cost for a model tier. */
35
+ export interface CostEstimate {
36
+ estimatedTokens: number;
37
+ estimatedUSD: number;
38
+ breakdown: {
39
+ input: number;
40
+ output: number;
41
+ };
42
+ }
43
+ /** An alternative model recommendation with its cost. */
44
+ export interface AlternativeModel {
45
+ model: ModelTier;
46
+ confidence: number;
47
+ costEstimate: CostEstimate;
48
+ }
49
+ /** Full recommendation returned by the model router. */
50
+ export interface ModelRoutingRecommendation {
51
+ model: ModelTier;
52
+ confidence: number;
53
+ reasoning: string[];
54
+ costEstimate: CostEstimate;
55
+ alternatives: AlternativeModel[];
56
+ }
57
+ /** Recorded outcome of using a specific model on a task. */
58
+ export interface ModelOutcome {
59
+ taskSignature: string;
60
+ modelUsed: ModelTier;
61
+ success: boolean;
62
+ durationMs: number;
63
+ tokensUsed: number;
64
+ qualityScore?: number;
65
+ timestamp: string;
66
+ }
67
+ /** Single condition within a routing rule. */
68
+ export interface RuleCondition {
69
+ signal: string;
70
+ operator: RuleOperator;
71
+ value: number | boolean | string | [number, number];
72
+ }
73
+ /** A deterministic routing rule loaded from config. */
74
+ export interface RoutingRule {
75
+ id: string;
76
+ name: string;
77
+ conditions: RuleCondition[];
78
+ result: ModelTier;
79
+ weight: number;
80
+ }
81
+ /** Shape of the model-routing-rules.json config file. */
82
+ export interface RoutingRulesConfig {
83
+ version: string;
84
+ rules: RoutingRule[];
85
+ }
86
+ /** Input accepted by the recommend_model MCP tool. */
87
+ export interface RecommendModelInput {
88
+ specId?: string;
89
+ taskDescription?: string;
90
+ signals?: Partial<ComplexitySignals>;
91
+ }
92
+ /** Pricing entry from the ai-model-pricing.json config. */
93
+ export interface PricingEntry {
94
+ id: string;
95
+ inputPricePerMillion: number;
96
+ outputPricePerMillion: number;
97
+ }
98
+ /** Partial signals that can be provided directly by the user. */
99
+ export type PartialSignals = Partial<ComplexitySignals>;
100
+ /** Result of evaluating a single routing rule against signals. */
101
+ export interface RuleMatch {
102
+ rule: RoutingRule;
103
+ /** Fraction of conditions that matched (0-1). */
104
+ matchRatio: number;
105
+ /** Effective confidence = matchRatio * rule.weight. */
106
+ confidence: number;
107
+ }
108
+ /** Output of the rules engine evaluation. */
109
+ export interface RulesEngineResult {
110
+ model: ModelTier;
111
+ confidence: number;
112
+ reasoning: string[];
113
+ alternatives: {
114
+ model: ModelTier;
115
+ confidence: number;
116
+ }[];
117
+ }
118
+ /** Outcome-based tier suggestion for a task signature. */
119
+ export interface HistoricalAdjustment {
120
+ /** Adjusted model tier (may differ from rules engine by at most 1). */
121
+ adjustedModel: ModelTier;
122
+ /** Reason for the adjustment. */
123
+ reason: string;
124
+ /** Whether any adjustment was made. */
125
+ adjusted: boolean;
126
+ }
127
+ //# sourceMappingURL=model-routing.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model-routing.d.ts","sourceRoot":"","sources":["../../src/types/model-routing.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ // Planu — Smart Model Router types (SPEC-076)
2
+ export {};
3
+ //# sourceMappingURL=model-routing.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model-routing.js","sourceRoot":"","sources":["../../src/types/model-routing.ts"],"names":[],"mappings":"AAAA,8CAA8C"}
@@ -1,5 +1,6 @@
1
- import type { SpecStatus, Difficulty, RiskLevel, SpecType, SpecScope, SpecTarget, DiagramType } from '../common.js';
1
+ import type { SpecStatus, Difficulty, RiskLevel, SpecType, SpecScope, SpecTarget, DiagramType, ToolResult } from '../common.js';
2
2
  import type { Estimation, Actuals, ImpactAnalysis } from '../estimation.js';
3
+ import type { ConstitutionViolation } from '../project/core.js';
3
4
  export interface Spec {
4
5
  id: string;
5
6
  title: string;
@@ -143,4 +144,30 @@ export interface SpecSplitItem {
143
144
  dependsOn: string[];
144
145
  estimatedHours: number;
145
146
  }
147
+ export type ScopeFilter = 'generate_adr' | 'design_schema' | 'define_ui_contract' | 'challenge_spec' | 'generate_execution_plan';
148
+ export interface ScopeFilterConfig {
149
+ scope: SpecScope;
150
+ filters: ScopeFilter[];
151
+ allowManualOverride: boolean;
152
+ }
153
+ /** Result of constitution validation during spec creation. */
154
+ export interface ConstitutionCheckResult {
155
+ blocked: boolean;
156
+ errorResult?: ToolResult;
157
+ warnings: ConstitutionViolation[];
158
+ }
159
+ /** Context gathered during spec construction, passed to post-creation steps. */
160
+ export interface SpecBuildContext {
161
+ spec: Spec;
162
+ specDir: string;
163
+ specPath: string;
164
+ technicalPath: string;
165
+ progressPath: string;
166
+ diagrams: SpecDiagram[];
167
+ estimation: Estimation;
168
+ splitSuggestion: SpecSplitSuggestion | null;
169
+ scopeFilters: ScopeFilterConfig;
170
+ duplicate: Spec | undefined;
171
+ projectId: string;
172
+ }
146
173
  //# sourceMappingURL=core.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../../src/types/spec/core.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../../src/types/spec/core.ts"],"names":[],"mappings":"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"}
@@ -77,12 +77,7 @@ export interface SpecMigrationDeps {
77
77
  updateSpec: (projectId: string, specId: string, updates: Partial<Spec>) => Promise<Spec>;
78
78
  }
79
79
  export type ChallengeSpecFocus = 'failures' | 'concurrency' | 'scale' | 'security' | 'data-consistency';
80
- export type ScopeFilter = 'generate_adr' | 'design_schema' | 'define_ui_contract' | 'challenge_spec' | 'generate_execution_plan';
81
- export interface ScopeFilterConfig {
82
- scope: SpecScope;
83
- filters: ScopeFilter[];
84
- allowManualOverride: boolean;
85
- }
80
+ export type { ScopeFilter, ScopeFilterConfig } from './core.js';
86
81
  export interface SplitAnalysisInput {
87
82
  criteriaCount: number;
88
83
  moduleCount: number;
@@ -1 +1 @@
1
- {"version":3,"file":"inputs.d.ts","sourceRoot":"","sources":["../../../src/types/spec/inputs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"inputs.d.ts","sourceRoot":"","sources":["../../../src/types/spec/inputs.ts"],"names":[],"mappings":"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"}
@@ -1,79 +1,6 @@
1
- import type { SpecStatus } from './common.js';
2
- /** State of the dashboard HTTP server (singleton in memory) */
3
- export interface DashboardServerState {
4
- port: number;
5
- isRunning: boolean;
6
- startedAt: Date | null;
7
- }
8
- /** Summary of a project for dashboard display */
9
- export interface DashboardProjectSummary {
10
- id: string;
11
- name: string;
12
- path: string;
13
- stack: string;
14
- lastActivity: string;
15
- specCount: number;
16
- doneCount: number;
17
- specs: DashboardSpecCard[];
18
- }
19
- /** Card data for a single spec in the dashboard */
20
- export interface DashboardSpecCard {
21
- id: string;
22
- title: string;
23
- status: SpecStatus;
24
- criteriaTotal: number;
25
- criteriaImplemented: number;
26
- progressPercent: number;
27
- }
28
- /** Health metrics for a project displayed in the health panel */
29
- export interface ProjectHealthMetrics {
30
- totalSpecs: number;
31
- donePercent: number;
32
- pendingApproval: number;
33
- activeImplementation: number;
34
- totalEstimation: number | null;
35
- }
36
- /** Usage stats panel data read from data/global/ (SPEC-064) */
37
- export interface DashboardUsageStats {
38
- tier: string;
39
- callsToday: number;
40
- dailyLimit: number | null;
41
- trialDaysLeft: number | null;
42
- isAvailable: boolean;
43
- }
44
- /** Raw structure of project.json files read by data-loader */
45
- export interface RawProjectJson {
46
- name?: string;
47
- path?: string;
48
- stack?: string;
49
- language?: string;
50
- framework?: string;
51
- updatedAt?: string;
52
- createdAt?: string;
53
- }
54
- /** Raw structure of spec.json files read by data-loader */
55
- export interface RawSpecJson {
56
- id?: string;
57
- title?: string;
58
- status?: string;
59
- estimation?: {
60
- totalDays?: number;
61
- totalPoints?: number;
62
- };
63
- }
64
- /** Raw structure of usage.json file read by data-loader */
65
- export interface RawUsageJson {
66
- tier?: string;
67
- callsToday?: number;
68
- dailyLimit?: number | null;
69
- trialDaysLeft?: number | null;
70
- }
71
- /** Input for start_dashboard MCP tool */
72
- export interface StartDashboardInput {
73
- port?: number;
74
- }
75
- /** Input for stop_dashboard MCP tool */
76
- export type StopDashboardInput = Record<string, never>;
1
+ export * from './dashboard.js';
2
+ export * from './css-framework.js';
3
+ export * from './advanced-framework.js';
77
4
  export interface UIContract {
78
5
  componentTree: ComponentNode[];
79
6
  dataFlow: UIDataFlow[];
@@ -122,159 +49,4 @@ export interface InteractionContract {
122
49
  responseFormat: Record<string, string>;
123
50
  escalationRules: string[];
124
51
  }
125
- /** Supported CSS frameworks for styling contract generation */
126
- export type CSSFramework = 'tailwind' | 'bootstrap' | 'css-modules' | 'styled-components' | 'sass' | 'material-ui' | 'chakra-ui' | 'shadcn-ui' | 'ant-design' | 'css-pure' | 'flutter-styles' | 'react-native-styles';
127
- /** Detected CSS framework with confidence score */
128
- export interface CSSFrameworkDetection {
129
- framework: CSSFramework | null;
130
- confidence: 'high' | 'medium' | 'low';
131
- signals: string[];
132
- multipleDetected: string[];
133
- warning?: string;
134
- }
135
- /** Styling contract adapted to detected CSS framework */
136
- export interface StylingContract {
137
- framework: CSSFramework | null;
138
- classes?: string[];
139
- components?: string[];
140
- tokens?: Record<string, string>;
141
- breakpoints?: Record<string, string>;
142
- darkMode?: string;
143
- responsive?: string;
144
- conventions?: string[];
145
- themeTokens?: string[];
146
- plugins?: string[];
147
- customProperties?: string[];
148
- }
149
- /** UX principle with category, rules, examples, and applicable contexts */
150
- export interface UXPrinciple {
151
- category: string;
152
- title: string;
153
- rules: string[];
154
- examples?: string[];
155
- applicableTo?: string[];
156
- }
157
- /** Result of style consistency audit */
158
- export interface StyleAuditResult {
159
- warnings: string[];
160
- suggestions: string[];
161
- mixedFrameworks: string[];
162
- inlineStyleCount: number;
163
- importantCount: number;
164
- score: number;
165
- }
166
- /** WCAG accessibility level */
167
- export type A11yLevel = 'AA' | 'AAA';
168
- /** A11y contrast requirements per level */
169
- export interface A11yContrastRatios {
170
- level: A11yLevel;
171
- normalText: number;
172
- largeText: number;
173
- }
174
- /** Accessibility contract per component */
175
- export interface ComponentA11yContract {
176
- component: string;
177
- requirements: string[];
178
- }
179
- /** Full accessibility contract for a UI spec */
180
- export interface A11yContract {
181
- level: A11yLevel;
182
- contrastRatios: A11yContrastRatios;
183
- componentContracts: ComponentA11yContract[];
184
- ariaLiveRegions: string[];
185
- keyboardPatterns: string[];
186
- skipNavLink: boolean;
187
- manualTestingNote: string;
188
- }
189
- /** Config entry for a UI framework from ui-frameworks.json */
190
- export interface UIFrameworkConfig {
191
- name: string;
192
- packageNames: string[];
193
- configFiles?: string[];
194
- conventions?: string[];
195
- components?: string[];
196
- breakpoints?: Record<string, string>;
197
- darkMode?: string;
198
- responsive?: string;
199
- plugins?: string[];
200
- importSignals?: string[];
201
- }
202
- /** UX principle config entry from ux-principles.json */
203
- export interface UXPrincipleConfig {
204
- category: string;
205
- title: string;
206
- rules: string[];
207
- examples?: string[];
208
- applicableTo?: string[];
209
- }
210
- /** Root structure of ux-principles.json */
211
- export interface UXPrinciplesFile {
212
- _description?: string;
213
- principles: UXPrincipleConfig[];
214
- }
215
- /** Root structure of ui-frameworks.json */
216
- export interface UIFrameworksFile {
217
- _description?: string;
218
- [key: string]: UIFrameworkConfig | string | undefined;
219
- }
220
- /** Framework catalog as a plain lookup map (typed without string union issues) */
221
- export type UIFrameworkCatalog = Partial<Record<CSSFramework, UIFrameworkConfig>>;
222
- /** Signals record for CSS framework detection engine (internal use) */
223
- export interface CSSFrameworkSignals {
224
- packageNames: string[];
225
- configFiles: string[];
226
- importPatterns: RegExp[];
227
- }
228
- /** Raw JSON structure of ux-principles.json for parsing */
229
- export interface UXPrinciplesRaw {
230
- principles: UXPrincipleConfig[];
231
- }
232
- /** Raw JSON structure of ui-frameworks.json for parsing (all keys are UIFrameworkConfig) */
233
- export type UIFrameworksRaw = Record<string, UIFrameworkConfig>;
234
- /** Modern frontend frameworks (Islands, server-centric, resumability, signals) */
235
- export type ModernFramework = 'astro' | 'fresh' | 'htmx' | 'qwik' | 'solid-start' | 'tanstack-start' | 'remix-v7';
236
- /** Frontend architecture paradigm */
237
- export type FrontendArchitecture = 'islands' | 'htmx' | 'spa' | 'ssr' | 'micro-frontend' | 'resumability';
238
- /** Legacy frontend frameworks still common in production */
239
- export type LegacyFramework = 'jquery' | 'backbone' | 'knockout' | 'ember' | 'extjs' | 'angularjs-1';
240
- /** Micro-frontend orchestration strategy */
241
- export type MicroFrontendStrategy = 'module-federation' | 'single-spa' | 'nx-mfe';
242
- /** Enterprise design system */
243
- export type EnterpriseDesignSystem = 'carbon' | 'polaris' | 'fluent-ui' | 'radix-ui' | 'arco-design' | 'ark-ui' | 'naive-ui' | 'vuetify' | 'quasar';
244
- /** CSS-in-JS zero-runtime and modern CSS approaches */
245
- export type CSSInJSApproach = 'vanilla-extract' | 'panda-css' | 'stylex' | 'unocss' | 'open-props' | 'css-layers';
246
- /** Modern state management libraries */
247
- export type StateManagementLib = 'tanstack-query' | 'zustand' | 'jotai' | 'xstate' | 'signals' | 'nanostores';
248
- /** Detected advanced framework with category and metadata */
249
- export interface AdvancedFrameworkDetection {
250
- modernFramework: ModernFramework | null;
251
- architecture: FrontendArchitecture | null;
252
- legacyFrameworks: LegacyFramework[];
253
- microFrontend: MicroFrontendStrategy | null;
254
- enterpriseDesignSystem: EnterpriseDesignSystem | null;
255
- cssInJS: CSSInJSApproach | null;
256
- stateManagement: StateManagementLib[];
257
- antDesignVersion: '4' | '5' | null;
258
- signals: string[];
259
- }
260
- /** Internal: result of modern framework detection with architecture paradigm */
261
- export interface ModernFrameworkResult {
262
- framework: ModernFramework | null;
263
- architecture: FrontendArchitecture | null;
264
- }
265
- /** Internal: parsed package.json structure for dependency analysis */
266
- export interface PackageJsonDeps {
267
- dependencies?: Record<string, string>;
268
- devDependencies?: Record<string, string>;
269
- }
270
- /** Contract hints generated from advanced framework detection */
271
- export interface AdvancedFrameworkHints {
272
- architectureParadigm?: string;
273
- hydrationNotes?: string;
274
- stateStrategyNotes?: string;
275
- legacyRisks?: string[];
276
- designSystemTokens?: string[];
277
- cssPatterns?: string[];
278
- migrationCriteria?: string;
279
- }
280
52
  //# sourceMappingURL=ui.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ui.d.ts","sourceRoot":"","sources":["../../src/types/ui.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ui.d.ts","sourceRoot":"","sources":["../../src/types/ui.ts"],"names":[],"mappings":"AAKA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,yBAAyB,CAAC;AAExC,MAAM,WAAW,UAAU;IACzB,aAAa,EAAE,aAAa,EAAE,CAAC;IAC/B,QAAQ,EAAE,UAAU,EAAE,CAAC;IACvB,aAAa,EAAE,YAAY,EAAE,CAAC;IAC9B,WAAW,EAAE,UAAU,EAAE,CAAC;CAC3B;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,QAAQ,GAAG,QAAQ,CAAC;IAC1B,aAAa,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,cAAc,EAAE,CAAC;IACxB,QAAQ,EAAE,aAAa,EAAE,CAAC;IAC1B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,OAAO,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,EAAE,EAAE,MAAM,CAAC;CACZ;AAED,MAAM,WAAW,UAAU;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;CACpB;AAGD,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,CAAC,MAAM,GAAG,OAAO,GAAG,WAAW,GAAG,eAAe,CAAC,EAAE,CAAC;IAC/D,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACvC,eAAe,EAAE,MAAM,EAAE,CAAC;CAC3B"}
package/dist/types/ui.js CHANGED
@@ -1,2 +1,8 @@
1
- export {};
1
+ // Planu — UI Contract types
2
+ // Dashboard types → ./dashboard.ts
3
+ // CSS framework types → ./css-framework.ts
4
+ // Advanced framework types → ./advanced-framework.ts
5
+ export * from './dashboard.js';
6
+ export * from './css-framework.js';
7
+ export * from './advanced-framework.js';
2
8
  //# sourceMappingURL=ui.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ui.js","sourceRoot":"","sources":["../../src/types/ui.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"ui.js","sourceRoot":"","sources":["../../src/types/ui.ts"],"names":[],"mappings":"AAAA,4BAA4B;AAC5B,mCAAmC;AACnC,2CAA2C;AAC3C,qDAAqD;AAErD,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,yBAAyB,CAAC"}
@@ -0,0 +1,137 @@
1
+ /** Type of document stored in the vector store. */
2
+ export type VectorEntryType = 'spec' | 'pattern' | 'knowledge' | 'decision';
3
+ /** A single document with its embedding vector. */
4
+ export interface VectorEntry {
5
+ id: string;
6
+ type: VectorEntryType;
7
+ content: string;
8
+ embedding: number[];
9
+ metadata: Record<string, unknown>;
10
+ createdAt: string;
11
+ updatedAt: string;
12
+ }
13
+ /** A search result with its similarity score. */
14
+ export interface VectorSearchResult {
15
+ entry: VectorEntry;
16
+ similarity: number;
17
+ }
18
+ /** Configuration for the TF-IDF engine. */
19
+ export interface TFIDFConfig {
20
+ maxDimensions: number;
21
+ minDocFrequency: number;
22
+ stopWords: Set<string>;
23
+ }
24
+ /** Configuration for the HNSW index. */
25
+ export interface HNSWConfig {
26
+ M: number;
27
+ efConstruction: number;
28
+ efSearch: number;
29
+ flatSearchThreshold: number;
30
+ }
31
+ /** Abstract storage backend interface (SQLite or JSON fallback). */
32
+ export interface StorageBackend {
33
+ insert(entry: VectorEntry): Promise<void>;
34
+ update(id: string, entry: Partial<VectorEntry>): Promise<void>;
35
+ delete(id: string): Promise<void>;
36
+ getById(id: string): Promise<VectorEntry | undefined>;
37
+ getAll(type?: VectorEntryType): Promise<VectorEntry[]>;
38
+ searchSimilar(embedding: number[], topK: number, threshold: number, type?: VectorEntryType): Promise<VectorSearchResult[]>;
39
+ close?(): void;
40
+ }
41
+ /** Result of a JSON-to-SQLite migration. */
42
+ export interface MigrationResult {
43
+ documentsProcessed: number;
44
+ durationMs: number;
45
+ errors: string[];
46
+ }
47
+ /** Scope parameter for semantic_search tool. */
48
+ export type VectorSearchScope = VectorEntryType | 'all';
49
+ /** Input args for semantic_search tool handler. */
50
+ export interface SemanticSearchArgs {
51
+ projectId: string;
52
+ query: string;
53
+ scope?: VectorSearchScope;
54
+ topK?: number;
55
+ threshold?: number;
56
+ }
57
+ /** Internal JSON storage shape for vector store data. */
58
+ export interface VectorStoreData {
59
+ entries: VectorEntry[];
60
+ }
61
+ /** Row shape from the SQLite vectors table. */
62
+ export interface VectorRow {
63
+ id: string;
64
+ type: string;
65
+ content: string;
66
+ embedding: Buffer;
67
+ metadata: string;
68
+ createdAt: string;
69
+ updatedAt: string;
70
+ }
71
+ /** Dynamic import type for better-sqlite3 database. */
72
+ export interface BetterSqlite3Database {
73
+ pragma(pragma: string): unknown;
74
+ prepare(sql: string): BetterSqlite3Statement;
75
+ exec(sql: string): void;
76
+ close(): void;
77
+ }
78
+ /** Prepared statement from better-sqlite3. */
79
+ export interface BetterSqlite3Statement {
80
+ run(...params: unknown[]): {
81
+ changes: number;
82
+ };
83
+ get(...params: unknown[]): unknown;
84
+ all(...params: unknown[]): unknown[];
85
+ }
86
+ /** Constructor type for better-sqlite3. */
87
+ export type BetterSqlite3Constructor = (filename: string) => BetterSqlite3Database;
88
+ /** Legacy pattern shape for migration. */
89
+ export interface LegacyPattern {
90
+ pattern: string;
91
+ category?: string;
92
+ usageCount?: number;
93
+ [key: string]: unknown;
94
+ }
95
+ /** Legacy knowledge shape for migration. */
96
+ export interface LegacyKnowledge {
97
+ key: string;
98
+ value: string;
99
+ source?: string;
100
+ [key: string]: unknown;
101
+ }
102
+ /** Collected text item ready for embedding during migration. */
103
+ export interface MigrationTextItem {
104
+ type: VectorEntryType;
105
+ id: string;
106
+ text: string;
107
+ meta: Record<string, unknown>;
108
+ }
109
+ /** Legacy decision shape for migration. */
110
+ export interface LegacyDecision {
111
+ decision: string;
112
+ rationale?: string;
113
+ specId?: string;
114
+ [key: string]: unknown;
115
+ }
116
+ /** Internal node in the HNSW graph. */
117
+ export interface HNSWNode {
118
+ id: string;
119
+ vector: number[];
120
+ layers: Map<string, number>[];
121
+ }
122
+ /** Candidate returned from HNSW search. */
123
+ export interface HNSWSearchCandidate {
124
+ id: string;
125
+ similarity: number;
126
+ }
127
+ /** Serialized HNSW state for persistence. */
128
+ export interface HNSWSerializedState {
129
+ nodes: {
130
+ id: string;
131
+ vector: number[];
132
+ layers: [string, number][][];
133
+ }[];
134
+ entryPoint: string | null;
135
+ maxLayer: number;
136
+ }
137
+ //# sourceMappingURL=vector-store.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vector-store.d.ts","sourceRoot":"","sources":["../../src/types/vector-store.ts"],"names":[],"mappings":"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"}