cmp-standards 3.1.2 → 3.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli/index.js +488 -1
- package/dist/cli/index.js.map +1 -1
- package/dist/db/migrations.d.ts +1 -1
- package/dist/db/migrations.d.ts.map +1 -1
- package/dist/db/migrations.js +102 -2
- package/dist/db/migrations.js.map +1 -1
- package/dist/eslint/ast-types.d.ts +235 -0
- package/dist/eslint/ast-types.d.ts.map +1 -0
- package/dist/eslint/ast-types.js +9 -0
- package/dist/eslint/ast-types.js.map +1 -0
- package/dist/eslint/rules/consistent-error-handling.d.ts.map +1 -1
- package/dist/eslint/rules/consistent-error-handling.js +2 -1
- package/dist/eslint/rules/consistent-error-handling.js.map +1 -1
- package/dist/eslint/rules/no-async-useeffect.js.map +1 -1
- package/dist/events/EventBus.js.map +1 -1
- package/dist/events/types.d.ts +174 -4
- package/dist/events/types.d.ts.map +1 -1
- package/dist/events/types.js +15 -0
- package/dist/events/types.js.map +1 -1
- package/dist/hooks/session-start.js +3 -3
- package/dist/hooks/session-start.js.map +1 -1
- package/dist/index.d.ts +11 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +21 -0
- package/dist/index.js.map +1 -1
- package/dist/mcp/server.d.ts.map +1 -1
- package/dist/mcp/server.js +8 -4
- package/dist/mcp/server.js.map +1 -1
- package/dist/patterns/feedback-loop.d.ts +2 -2
- package/dist/patterns/lifecycle.d.ts.map +1 -1
- package/dist/patterns/lifecycle.js +11 -13
- package/dist/patterns/lifecycle.js.map +1 -1
- package/dist/patterns/registry.d.ts +2 -2
- package/dist/plugins/PluginManager.d.ts.map +1 -1
- package/dist/plugins/PluginManager.js +4 -1
- package/dist/plugins/PluginManager.js.map +1 -1
- package/dist/schema/codewiki-types.d.ts +1899 -0
- package/dist/schema/codewiki-types.d.ts.map +1 -0
- package/dist/schema/codewiki-types.js +585 -0
- package/dist/schema/codewiki-types.js.map +1 -0
- package/dist/schema/expert-types.d.ts +2 -2
- package/dist/schema/opportunity-types.d.ts +505 -0
- package/dist/schema/opportunity-types.d.ts.map +1 -0
- package/dist/schema/opportunity-types.js +255 -0
- package/dist/schema/opportunity-types.js.map +1 -0
- package/dist/services/AuditLog.d.ts.map +1 -1
- package/dist/services/AuditLog.js +4 -1
- package/dist/services/AuditLog.js.map +1 -1
- package/dist/services/CodeWikiIndexer.d.ts +145 -0
- package/dist/services/CodeWikiIndexer.d.ts.map +1 -0
- package/dist/services/CodeWikiIndexer.js +664 -0
- package/dist/services/CodeWikiIndexer.js.map +1 -0
- package/dist/services/OpportunityDiscovery.d.ts +84 -0
- package/dist/services/OpportunityDiscovery.d.ts.map +1 -0
- package/dist/services/OpportunityDiscovery.js +754 -0
- package/dist/services/OpportunityDiscovery.js.map +1 -0
- package/dist/services/ProjectScanner.d.ts.map +1 -1
- package/dist/services/ProjectScanner.js +1 -1
- package/dist/services/ProjectScanner.js.map +1 -1
- package/dist/services/index.d.ts +1 -0
- package/dist/services/index.d.ts.map +1 -1
- package/dist/services/index.js +2 -0
- package/dist/services/index.js.map +1 -1
- package/dist/utils/env.d.ts +149 -0
- package/dist/utils/env.d.ts.map +1 -0
- package/dist/utils/env.js +223 -0
- package/dist/utils/env.js.map +1 -0
- package/dist/utils/index.d.ts +3 -0
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +6 -0
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/logger.d.ts +126 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/logger.js +231 -0
- package/dist/utils/logger.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,505 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file Opportunity Types Schema - cmp-standards
|
|
3
|
+
* @description Type definitions for opportunity discovery system
|
|
4
|
+
*
|
|
5
|
+
* Opportunities represent potential improvements found by analyzing
|
|
6
|
+
* code, patterns, and expert insights across multiple dimensions:
|
|
7
|
+
* - Ideas: New features or enhancements
|
|
8
|
+
* - Edge Cases: Unhandled scenarios and error conditions
|
|
9
|
+
* - Future Features: Long-term possibilities
|
|
10
|
+
* - Technical Debt: Code quality improvements
|
|
11
|
+
* - Performance: Optimization opportunities
|
|
12
|
+
* - Security: Potential vulnerabilities
|
|
13
|
+
*/
|
|
14
|
+
import { z } from 'zod';
|
|
15
|
+
export declare const OpportunityCategorySchema: z.ZodEnum<["idea", "edge_case", "future_feature", "technical_debt", "performance", "security", "dx_improvement", "documentation", "test_coverage", "accessibility"]>;
|
|
16
|
+
export type OpportunityCategory = z.infer<typeof OpportunityCategorySchema>;
|
|
17
|
+
export declare const OpportunityImpactSchema: z.ZodEnum<["high", "medium", "low"]>;
|
|
18
|
+
export type OpportunityImpact = z.infer<typeof OpportunityImpactSchema>;
|
|
19
|
+
export declare const OpportunityEffortSchema: z.ZodEnum<["trivial", "small", "medium", "large", "epic"]>;
|
|
20
|
+
export type OpportunityEffort = z.infer<typeof OpportunityEffortSchema>;
|
|
21
|
+
export declare const OpportunitySourceSchema: z.ZodEnum<["expert_review", "pattern_detection", "code_analysis", "usage_analytics", "user_suggestion", "best_practice_gap", "dependency_analysis"]>;
|
|
22
|
+
export type OpportunitySource = z.infer<typeof OpportunitySourceSchema>;
|
|
23
|
+
export declare const OpportunityStatusSchema: z.ZodEnum<["new", "evaluating", "accepted", "in_progress", "implemented", "rejected", "deferred"]>;
|
|
24
|
+
export type OpportunityStatus = z.infer<typeof OpportunityStatusSchema>;
|
|
25
|
+
export declare const OpportunitySchema: z.ZodObject<{
|
|
26
|
+
/** Unique identifier */
|
|
27
|
+
id: z.ZodString;
|
|
28
|
+
/** Short, descriptive title */
|
|
29
|
+
title: z.ZodString;
|
|
30
|
+
/** Detailed description of the opportunity */
|
|
31
|
+
description: z.ZodString;
|
|
32
|
+
/** Category of the opportunity */
|
|
33
|
+
category: z.ZodEnum<["idea", "edge_case", "future_feature", "technical_debt", "performance", "security", "dx_improvement", "documentation", "test_coverage", "accessibility"]>;
|
|
34
|
+
/** Expected impact if implemented */
|
|
35
|
+
impact: z.ZodEnum<["high", "medium", "low"]>;
|
|
36
|
+
/** Estimated effort to implement */
|
|
37
|
+
effort: z.ZodEnum<["trivial", "small", "medium", "large", "epic"]>;
|
|
38
|
+
/** How this opportunity was discovered */
|
|
39
|
+
source: z.ZodEnum<["expert_review", "pattern_detection", "code_analysis", "usage_analytics", "user_suggestion", "best_practice_gap", "dependency_analysis"]>;
|
|
40
|
+
/** Current status */
|
|
41
|
+
status: z.ZodDefault<z.ZodEnum<["new", "evaluating", "accepted", "in_progress", "implemented", "rejected", "deferred"]>>;
|
|
42
|
+
/** Confidence score (0-1) in this being a valid opportunity */
|
|
43
|
+
confidence: z.ZodDefault<z.ZodNumber>;
|
|
44
|
+
/** Which expert(s) identified this */
|
|
45
|
+
identifiedBy: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
|
|
46
|
+
/** Related file paths */
|
|
47
|
+
relatedFiles: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
|
|
48
|
+
/** Related functions or classes */
|
|
49
|
+
relatedSymbols: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
|
|
50
|
+
/** Related existing issues/ideas */
|
|
51
|
+
relatedItems: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
|
|
52
|
+
/** Tags for categorization */
|
|
53
|
+
tags: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
|
|
54
|
+
/** Specific code snippets or examples */
|
|
55
|
+
codeExamples: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
56
|
+
file: z.ZodString;
|
|
57
|
+
lineStart: z.ZodOptional<z.ZodNumber>;
|
|
58
|
+
lineEnd: z.ZodOptional<z.ZodNumber>;
|
|
59
|
+
code: z.ZodString;
|
|
60
|
+
note: z.ZodOptional<z.ZodString>;
|
|
61
|
+
}, "strip", z.ZodTypeAny, {
|
|
62
|
+
code: string;
|
|
63
|
+
file: string;
|
|
64
|
+
lineStart?: number | undefined;
|
|
65
|
+
lineEnd?: number | undefined;
|
|
66
|
+
note?: string | undefined;
|
|
67
|
+
}, {
|
|
68
|
+
code: string;
|
|
69
|
+
file: string;
|
|
70
|
+
lineStart?: number | undefined;
|
|
71
|
+
lineEnd?: number | undefined;
|
|
72
|
+
note?: string | undefined;
|
|
73
|
+
}>, "many">>;
|
|
74
|
+
/** Suggested implementation approach */
|
|
75
|
+
suggestedApproach: z.ZodOptional<z.ZodString>;
|
|
76
|
+
/** Potential risks or considerations */
|
|
77
|
+
risks: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
|
|
78
|
+
/** Prerequisites before implementing */
|
|
79
|
+
prerequisites: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
|
|
80
|
+
/** When this was discovered */
|
|
81
|
+
discoveredAt: z.ZodString;
|
|
82
|
+
/** When this was last updated */
|
|
83
|
+
updatedAt: z.ZodString;
|
|
84
|
+
}, "strip", z.ZodTypeAny, {
|
|
85
|
+
title: string;
|
|
86
|
+
source: "pattern_detection" | "code_analysis" | "expert_review" | "usage_analytics" | "user_suggestion" | "best_practice_gap" | "dependency_analysis";
|
|
87
|
+
status: "in_progress" | "implemented" | "rejected" | "deferred" | "new" | "evaluating" | "accepted";
|
|
88
|
+
relatedFiles: string[];
|
|
89
|
+
description: string;
|
|
90
|
+
id: string;
|
|
91
|
+
category: "documentation" | "performance" | "security" | "idea" | "edge_case" | "future_feature" | "technical_debt" | "dx_improvement" | "test_coverage" | "accessibility";
|
|
92
|
+
effort: "medium" | "small" | "large" | "trivial" | "epic";
|
|
93
|
+
updatedAt: string;
|
|
94
|
+
tags: string[];
|
|
95
|
+
impact: "high" | "medium" | "low";
|
|
96
|
+
confidence: number;
|
|
97
|
+
identifiedBy: string[];
|
|
98
|
+
relatedSymbols: string[];
|
|
99
|
+
relatedItems: string[];
|
|
100
|
+
codeExamples: {
|
|
101
|
+
code: string;
|
|
102
|
+
file: string;
|
|
103
|
+
lineStart?: number | undefined;
|
|
104
|
+
lineEnd?: number | undefined;
|
|
105
|
+
note?: string | undefined;
|
|
106
|
+
}[];
|
|
107
|
+
risks: string[];
|
|
108
|
+
prerequisites: string[];
|
|
109
|
+
discoveredAt: string;
|
|
110
|
+
suggestedApproach?: string | undefined;
|
|
111
|
+
}, {
|
|
112
|
+
title: string;
|
|
113
|
+
source: "pattern_detection" | "code_analysis" | "expert_review" | "usage_analytics" | "user_suggestion" | "best_practice_gap" | "dependency_analysis";
|
|
114
|
+
description: string;
|
|
115
|
+
id: string;
|
|
116
|
+
category: "documentation" | "performance" | "security" | "idea" | "edge_case" | "future_feature" | "technical_debt" | "dx_improvement" | "test_coverage" | "accessibility";
|
|
117
|
+
effort: "medium" | "small" | "large" | "trivial" | "epic";
|
|
118
|
+
updatedAt: string;
|
|
119
|
+
impact: "high" | "medium" | "low";
|
|
120
|
+
discoveredAt: string;
|
|
121
|
+
status?: "in_progress" | "implemented" | "rejected" | "deferred" | "new" | "evaluating" | "accepted" | undefined;
|
|
122
|
+
relatedFiles?: string[] | undefined;
|
|
123
|
+
tags?: string[] | undefined;
|
|
124
|
+
suggestedApproach?: string | undefined;
|
|
125
|
+
confidence?: number | undefined;
|
|
126
|
+
identifiedBy?: string[] | undefined;
|
|
127
|
+
relatedSymbols?: string[] | undefined;
|
|
128
|
+
relatedItems?: string[] | undefined;
|
|
129
|
+
codeExamples?: {
|
|
130
|
+
code: string;
|
|
131
|
+
file: string;
|
|
132
|
+
lineStart?: number | undefined;
|
|
133
|
+
lineEnd?: number | undefined;
|
|
134
|
+
note?: string | undefined;
|
|
135
|
+
}[] | undefined;
|
|
136
|
+
risks?: string[] | undefined;
|
|
137
|
+
prerequisites?: string[] | undefined;
|
|
138
|
+
}>;
|
|
139
|
+
export type Opportunity = z.infer<typeof OpportunitySchema>;
|
|
140
|
+
export declare const OpportunityDiscoveryRequestSchema: z.ZodObject<{
|
|
141
|
+
/** Files or directories to analyze */
|
|
142
|
+
paths: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
|
|
143
|
+
/** Categories to focus on (empty = all) */
|
|
144
|
+
categories: z.ZodDefault<z.ZodArray<z.ZodEnum<["idea", "edge_case", "future_feature", "technical_debt", "performance", "security", "dx_improvement", "documentation", "test_coverage", "accessibility"]>, "many">>;
|
|
145
|
+
/** Minimum impact to report */
|
|
146
|
+
minImpact: z.ZodDefault<z.ZodEnum<["high", "medium", "low"]>>;
|
|
147
|
+
/** Maximum effort to consider */
|
|
148
|
+
maxEffort: z.ZodDefault<z.ZodEnum<["trivial", "small", "medium", "large", "epic"]>>;
|
|
149
|
+
/** Include low confidence opportunities */
|
|
150
|
+
includeUncertain: z.ZodDefault<z.ZodBoolean>;
|
|
151
|
+
/** Depth of analysis */
|
|
152
|
+
depth: z.ZodDefault<z.ZodEnum<["quick", "standard", "thorough"]>>;
|
|
153
|
+
/** System identifier */
|
|
154
|
+
system: z.ZodString;
|
|
155
|
+
}, "strip", z.ZodTypeAny, {
|
|
156
|
+
system: string;
|
|
157
|
+
paths: string[];
|
|
158
|
+
categories: ("documentation" | "performance" | "security" | "idea" | "edge_case" | "future_feature" | "technical_debt" | "dx_improvement" | "test_coverage" | "accessibility")[];
|
|
159
|
+
minImpact: "high" | "medium" | "low";
|
|
160
|
+
maxEffort: "medium" | "small" | "large" | "trivial" | "epic";
|
|
161
|
+
includeUncertain: boolean;
|
|
162
|
+
depth: "quick" | "standard" | "thorough";
|
|
163
|
+
}, {
|
|
164
|
+
system: string;
|
|
165
|
+
paths?: string[] | undefined;
|
|
166
|
+
categories?: ("documentation" | "performance" | "security" | "idea" | "edge_case" | "future_feature" | "technical_debt" | "dx_improvement" | "test_coverage" | "accessibility")[] | undefined;
|
|
167
|
+
minImpact?: "high" | "medium" | "low" | undefined;
|
|
168
|
+
maxEffort?: "medium" | "small" | "large" | "trivial" | "epic" | undefined;
|
|
169
|
+
includeUncertain?: boolean | undefined;
|
|
170
|
+
depth?: "quick" | "standard" | "thorough" | undefined;
|
|
171
|
+
}>;
|
|
172
|
+
export type OpportunityDiscoveryRequest = z.infer<typeof OpportunityDiscoveryRequestSchema>;
|
|
173
|
+
export declare const OpportunityDiscoveryResultSchema: z.ZodObject<{
|
|
174
|
+
/** Unique run identifier */
|
|
175
|
+
runId: z.ZodString;
|
|
176
|
+
/** When the discovery was run */
|
|
177
|
+
timestamp: z.ZodString;
|
|
178
|
+
/** Request parameters used */
|
|
179
|
+
request: z.ZodObject<{
|
|
180
|
+
/** Files or directories to analyze */
|
|
181
|
+
paths: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
|
|
182
|
+
/** Categories to focus on (empty = all) */
|
|
183
|
+
categories: z.ZodDefault<z.ZodArray<z.ZodEnum<["idea", "edge_case", "future_feature", "technical_debt", "performance", "security", "dx_improvement", "documentation", "test_coverage", "accessibility"]>, "many">>;
|
|
184
|
+
/** Minimum impact to report */
|
|
185
|
+
minImpact: z.ZodDefault<z.ZodEnum<["high", "medium", "low"]>>;
|
|
186
|
+
/** Maximum effort to consider */
|
|
187
|
+
maxEffort: z.ZodDefault<z.ZodEnum<["trivial", "small", "medium", "large", "epic"]>>;
|
|
188
|
+
/** Include low confidence opportunities */
|
|
189
|
+
includeUncertain: z.ZodDefault<z.ZodBoolean>;
|
|
190
|
+
/** Depth of analysis */
|
|
191
|
+
depth: z.ZodDefault<z.ZodEnum<["quick", "standard", "thorough"]>>;
|
|
192
|
+
/** System identifier */
|
|
193
|
+
system: z.ZodString;
|
|
194
|
+
}, "strip", z.ZodTypeAny, {
|
|
195
|
+
system: string;
|
|
196
|
+
paths: string[];
|
|
197
|
+
categories: ("documentation" | "performance" | "security" | "idea" | "edge_case" | "future_feature" | "technical_debt" | "dx_improvement" | "test_coverage" | "accessibility")[];
|
|
198
|
+
minImpact: "high" | "medium" | "low";
|
|
199
|
+
maxEffort: "medium" | "small" | "large" | "trivial" | "epic";
|
|
200
|
+
includeUncertain: boolean;
|
|
201
|
+
depth: "quick" | "standard" | "thorough";
|
|
202
|
+
}, {
|
|
203
|
+
system: string;
|
|
204
|
+
paths?: string[] | undefined;
|
|
205
|
+
categories?: ("documentation" | "performance" | "security" | "idea" | "edge_case" | "future_feature" | "technical_debt" | "dx_improvement" | "test_coverage" | "accessibility")[] | undefined;
|
|
206
|
+
minImpact?: "high" | "medium" | "low" | undefined;
|
|
207
|
+
maxEffort?: "medium" | "small" | "large" | "trivial" | "epic" | undefined;
|
|
208
|
+
includeUncertain?: boolean | undefined;
|
|
209
|
+
depth?: "quick" | "standard" | "thorough" | undefined;
|
|
210
|
+
}>;
|
|
211
|
+
/** All opportunities found */
|
|
212
|
+
opportunities: z.ZodArray<z.ZodObject<{
|
|
213
|
+
/** Unique identifier */
|
|
214
|
+
id: z.ZodString;
|
|
215
|
+
/** Short, descriptive title */
|
|
216
|
+
title: z.ZodString;
|
|
217
|
+
/** Detailed description of the opportunity */
|
|
218
|
+
description: z.ZodString;
|
|
219
|
+
/** Category of the opportunity */
|
|
220
|
+
category: z.ZodEnum<["idea", "edge_case", "future_feature", "technical_debt", "performance", "security", "dx_improvement", "documentation", "test_coverage", "accessibility"]>;
|
|
221
|
+
/** Expected impact if implemented */
|
|
222
|
+
impact: z.ZodEnum<["high", "medium", "low"]>;
|
|
223
|
+
/** Estimated effort to implement */
|
|
224
|
+
effort: z.ZodEnum<["trivial", "small", "medium", "large", "epic"]>;
|
|
225
|
+
/** How this opportunity was discovered */
|
|
226
|
+
source: z.ZodEnum<["expert_review", "pattern_detection", "code_analysis", "usage_analytics", "user_suggestion", "best_practice_gap", "dependency_analysis"]>;
|
|
227
|
+
/** Current status */
|
|
228
|
+
status: z.ZodDefault<z.ZodEnum<["new", "evaluating", "accepted", "in_progress", "implemented", "rejected", "deferred"]>>;
|
|
229
|
+
/** Confidence score (0-1) in this being a valid opportunity */
|
|
230
|
+
confidence: z.ZodDefault<z.ZodNumber>;
|
|
231
|
+
/** Which expert(s) identified this */
|
|
232
|
+
identifiedBy: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
|
|
233
|
+
/** Related file paths */
|
|
234
|
+
relatedFiles: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
|
|
235
|
+
/** Related functions or classes */
|
|
236
|
+
relatedSymbols: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
|
|
237
|
+
/** Related existing issues/ideas */
|
|
238
|
+
relatedItems: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
|
|
239
|
+
/** Tags for categorization */
|
|
240
|
+
tags: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
|
|
241
|
+
/** Specific code snippets or examples */
|
|
242
|
+
codeExamples: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
243
|
+
file: z.ZodString;
|
|
244
|
+
lineStart: z.ZodOptional<z.ZodNumber>;
|
|
245
|
+
lineEnd: z.ZodOptional<z.ZodNumber>;
|
|
246
|
+
code: z.ZodString;
|
|
247
|
+
note: z.ZodOptional<z.ZodString>;
|
|
248
|
+
}, "strip", z.ZodTypeAny, {
|
|
249
|
+
code: string;
|
|
250
|
+
file: string;
|
|
251
|
+
lineStart?: number | undefined;
|
|
252
|
+
lineEnd?: number | undefined;
|
|
253
|
+
note?: string | undefined;
|
|
254
|
+
}, {
|
|
255
|
+
code: string;
|
|
256
|
+
file: string;
|
|
257
|
+
lineStart?: number | undefined;
|
|
258
|
+
lineEnd?: number | undefined;
|
|
259
|
+
note?: string | undefined;
|
|
260
|
+
}>, "many">>;
|
|
261
|
+
/** Suggested implementation approach */
|
|
262
|
+
suggestedApproach: z.ZodOptional<z.ZodString>;
|
|
263
|
+
/** Potential risks or considerations */
|
|
264
|
+
risks: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
|
|
265
|
+
/** Prerequisites before implementing */
|
|
266
|
+
prerequisites: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
|
|
267
|
+
/** When this was discovered */
|
|
268
|
+
discoveredAt: z.ZodString;
|
|
269
|
+
/** When this was last updated */
|
|
270
|
+
updatedAt: z.ZodString;
|
|
271
|
+
}, "strip", z.ZodTypeAny, {
|
|
272
|
+
title: string;
|
|
273
|
+
source: "pattern_detection" | "code_analysis" | "expert_review" | "usage_analytics" | "user_suggestion" | "best_practice_gap" | "dependency_analysis";
|
|
274
|
+
status: "in_progress" | "implemented" | "rejected" | "deferred" | "new" | "evaluating" | "accepted";
|
|
275
|
+
relatedFiles: string[];
|
|
276
|
+
description: string;
|
|
277
|
+
id: string;
|
|
278
|
+
category: "documentation" | "performance" | "security" | "idea" | "edge_case" | "future_feature" | "technical_debt" | "dx_improvement" | "test_coverage" | "accessibility";
|
|
279
|
+
effort: "medium" | "small" | "large" | "trivial" | "epic";
|
|
280
|
+
updatedAt: string;
|
|
281
|
+
tags: string[];
|
|
282
|
+
impact: "high" | "medium" | "low";
|
|
283
|
+
confidence: number;
|
|
284
|
+
identifiedBy: string[];
|
|
285
|
+
relatedSymbols: string[];
|
|
286
|
+
relatedItems: string[];
|
|
287
|
+
codeExamples: {
|
|
288
|
+
code: string;
|
|
289
|
+
file: string;
|
|
290
|
+
lineStart?: number | undefined;
|
|
291
|
+
lineEnd?: number | undefined;
|
|
292
|
+
note?: string | undefined;
|
|
293
|
+
}[];
|
|
294
|
+
risks: string[];
|
|
295
|
+
prerequisites: string[];
|
|
296
|
+
discoveredAt: string;
|
|
297
|
+
suggestedApproach?: string | undefined;
|
|
298
|
+
}, {
|
|
299
|
+
title: string;
|
|
300
|
+
source: "pattern_detection" | "code_analysis" | "expert_review" | "usage_analytics" | "user_suggestion" | "best_practice_gap" | "dependency_analysis";
|
|
301
|
+
description: string;
|
|
302
|
+
id: string;
|
|
303
|
+
category: "documentation" | "performance" | "security" | "idea" | "edge_case" | "future_feature" | "technical_debt" | "dx_improvement" | "test_coverage" | "accessibility";
|
|
304
|
+
effort: "medium" | "small" | "large" | "trivial" | "epic";
|
|
305
|
+
updatedAt: string;
|
|
306
|
+
impact: "high" | "medium" | "low";
|
|
307
|
+
discoveredAt: string;
|
|
308
|
+
status?: "in_progress" | "implemented" | "rejected" | "deferred" | "new" | "evaluating" | "accepted" | undefined;
|
|
309
|
+
relatedFiles?: string[] | undefined;
|
|
310
|
+
tags?: string[] | undefined;
|
|
311
|
+
suggestedApproach?: string | undefined;
|
|
312
|
+
confidence?: number | undefined;
|
|
313
|
+
identifiedBy?: string[] | undefined;
|
|
314
|
+
relatedSymbols?: string[] | undefined;
|
|
315
|
+
relatedItems?: string[] | undefined;
|
|
316
|
+
codeExamples?: {
|
|
317
|
+
code: string;
|
|
318
|
+
file: string;
|
|
319
|
+
lineStart?: number | undefined;
|
|
320
|
+
lineEnd?: number | undefined;
|
|
321
|
+
note?: string | undefined;
|
|
322
|
+
}[] | undefined;
|
|
323
|
+
risks?: string[] | undefined;
|
|
324
|
+
prerequisites?: string[] | undefined;
|
|
325
|
+
}>, "many">;
|
|
326
|
+
/** Summary statistics */
|
|
327
|
+
summary: z.ZodObject<{
|
|
328
|
+
totalFound: z.ZodNumber;
|
|
329
|
+
byCategory: z.ZodRecord<z.ZodString, z.ZodNumber>;
|
|
330
|
+
byImpact: z.ZodRecord<z.ZodString, z.ZodNumber>;
|
|
331
|
+
byEffort: z.ZodRecord<z.ZodString, z.ZodNumber>;
|
|
332
|
+
bySource: z.ZodRecord<z.ZodString, z.ZodNumber>;
|
|
333
|
+
topFiles: z.ZodArray<z.ZodObject<{
|
|
334
|
+
file: z.ZodString;
|
|
335
|
+
count: z.ZodNumber;
|
|
336
|
+
}, "strip", z.ZodTypeAny, {
|
|
337
|
+
count: number;
|
|
338
|
+
file: string;
|
|
339
|
+
}, {
|
|
340
|
+
count: number;
|
|
341
|
+
file: string;
|
|
342
|
+
}>, "many">;
|
|
343
|
+
analysisTimeMs: z.ZodNumber;
|
|
344
|
+
filesAnalyzed: z.ZodNumber;
|
|
345
|
+
}, "strip", z.ZodTypeAny, {
|
|
346
|
+
byCategory: Record<string, number>;
|
|
347
|
+
byEffort: Record<string, number>;
|
|
348
|
+
totalFound: number;
|
|
349
|
+
byImpact: Record<string, number>;
|
|
350
|
+
bySource: Record<string, number>;
|
|
351
|
+
topFiles: {
|
|
352
|
+
count: number;
|
|
353
|
+
file: string;
|
|
354
|
+
}[];
|
|
355
|
+
analysisTimeMs: number;
|
|
356
|
+
filesAnalyzed: number;
|
|
357
|
+
}, {
|
|
358
|
+
byCategory: Record<string, number>;
|
|
359
|
+
byEffort: Record<string, number>;
|
|
360
|
+
totalFound: number;
|
|
361
|
+
byImpact: Record<string, number>;
|
|
362
|
+
bySource: Record<string, number>;
|
|
363
|
+
topFiles: {
|
|
364
|
+
count: number;
|
|
365
|
+
file: string;
|
|
366
|
+
}[];
|
|
367
|
+
analysisTimeMs: number;
|
|
368
|
+
filesAnalyzed: number;
|
|
369
|
+
}>;
|
|
370
|
+
/** Experts that participated in the analysis */
|
|
371
|
+
expertsUsed: z.ZodArray<z.ZodString, "many">;
|
|
372
|
+
}, "strip", z.ZodTypeAny, {
|
|
373
|
+
summary: {
|
|
374
|
+
byCategory: Record<string, number>;
|
|
375
|
+
byEffort: Record<string, number>;
|
|
376
|
+
totalFound: number;
|
|
377
|
+
byImpact: Record<string, number>;
|
|
378
|
+
bySource: Record<string, number>;
|
|
379
|
+
topFiles: {
|
|
380
|
+
count: number;
|
|
381
|
+
file: string;
|
|
382
|
+
}[];
|
|
383
|
+
analysisTimeMs: number;
|
|
384
|
+
filesAnalyzed: number;
|
|
385
|
+
};
|
|
386
|
+
timestamp: string;
|
|
387
|
+
runId: string;
|
|
388
|
+
request: {
|
|
389
|
+
system: string;
|
|
390
|
+
paths: string[];
|
|
391
|
+
categories: ("documentation" | "performance" | "security" | "idea" | "edge_case" | "future_feature" | "technical_debt" | "dx_improvement" | "test_coverage" | "accessibility")[];
|
|
392
|
+
minImpact: "high" | "medium" | "low";
|
|
393
|
+
maxEffort: "medium" | "small" | "large" | "trivial" | "epic";
|
|
394
|
+
includeUncertain: boolean;
|
|
395
|
+
depth: "quick" | "standard" | "thorough";
|
|
396
|
+
};
|
|
397
|
+
opportunities: {
|
|
398
|
+
title: string;
|
|
399
|
+
source: "pattern_detection" | "code_analysis" | "expert_review" | "usage_analytics" | "user_suggestion" | "best_practice_gap" | "dependency_analysis";
|
|
400
|
+
status: "in_progress" | "implemented" | "rejected" | "deferred" | "new" | "evaluating" | "accepted";
|
|
401
|
+
relatedFiles: string[];
|
|
402
|
+
description: string;
|
|
403
|
+
id: string;
|
|
404
|
+
category: "documentation" | "performance" | "security" | "idea" | "edge_case" | "future_feature" | "technical_debt" | "dx_improvement" | "test_coverage" | "accessibility";
|
|
405
|
+
effort: "medium" | "small" | "large" | "trivial" | "epic";
|
|
406
|
+
updatedAt: string;
|
|
407
|
+
tags: string[];
|
|
408
|
+
impact: "high" | "medium" | "low";
|
|
409
|
+
confidence: number;
|
|
410
|
+
identifiedBy: string[];
|
|
411
|
+
relatedSymbols: string[];
|
|
412
|
+
relatedItems: string[];
|
|
413
|
+
codeExamples: {
|
|
414
|
+
code: string;
|
|
415
|
+
file: string;
|
|
416
|
+
lineStart?: number | undefined;
|
|
417
|
+
lineEnd?: number | undefined;
|
|
418
|
+
note?: string | undefined;
|
|
419
|
+
}[];
|
|
420
|
+
risks: string[];
|
|
421
|
+
prerequisites: string[];
|
|
422
|
+
discoveredAt: string;
|
|
423
|
+
suggestedApproach?: string | undefined;
|
|
424
|
+
}[];
|
|
425
|
+
expertsUsed: string[];
|
|
426
|
+
}, {
|
|
427
|
+
summary: {
|
|
428
|
+
byCategory: Record<string, number>;
|
|
429
|
+
byEffort: Record<string, number>;
|
|
430
|
+
totalFound: number;
|
|
431
|
+
byImpact: Record<string, number>;
|
|
432
|
+
bySource: Record<string, number>;
|
|
433
|
+
topFiles: {
|
|
434
|
+
count: number;
|
|
435
|
+
file: string;
|
|
436
|
+
}[];
|
|
437
|
+
analysisTimeMs: number;
|
|
438
|
+
filesAnalyzed: number;
|
|
439
|
+
};
|
|
440
|
+
timestamp: string;
|
|
441
|
+
runId: string;
|
|
442
|
+
request: {
|
|
443
|
+
system: string;
|
|
444
|
+
paths?: string[] | undefined;
|
|
445
|
+
categories?: ("documentation" | "performance" | "security" | "idea" | "edge_case" | "future_feature" | "technical_debt" | "dx_improvement" | "test_coverage" | "accessibility")[] | undefined;
|
|
446
|
+
minImpact?: "high" | "medium" | "low" | undefined;
|
|
447
|
+
maxEffort?: "medium" | "small" | "large" | "trivial" | "epic" | undefined;
|
|
448
|
+
includeUncertain?: boolean | undefined;
|
|
449
|
+
depth?: "quick" | "standard" | "thorough" | undefined;
|
|
450
|
+
};
|
|
451
|
+
opportunities: {
|
|
452
|
+
title: string;
|
|
453
|
+
source: "pattern_detection" | "code_analysis" | "expert_review" | "usage_analytics" | "user_suggestion" | "best_practice_gap" | "dependency_analysis";
|
|
454
|
+
description: string;
|
|
455
|
+
id: string;
|
|
456
|
+
category: "documentation" | "performance" | "security" | "idea" | "edge_case" | "future_feature" | "technical_debt" | "dx_improvement" | "test_coverage" | "accessibility";
|
|
457
|
+
effort: "medium" | "small" | "large" | "trivial" | "epic";
|
|
458
|
+
updatedAt: string;
|
|
459
|
+
impact: "high" | "medium" | "low";
|
|
460
|
+
discoveredAt: string;
|
|
461
|
+
status?: "in_progress" | "implemented" | "rejected" | "deferred" | "new" | "evaluating" | "accepted" | undefined;
|
|
462
|
+
relatedFiles?: string[] | undefined;
|
|
463
|
+
tags?: string[] | undefined;
|
|
464
|
+
suggestedApproach?: string | undefined;
|
|
465
|
+
confidence?: number | undefined;
|
|
466
|
+
identifiedBy?: string[] | undefined;
|
|
467
|
+
relatedSymbols?: string[] | undefined;
|
|
468
|
+
relatedItems?: string[] | undefined;
|
|
469
|
+
codeExamples?: {
|
|
470
|
+
code: string;
|
|
471
|
+
file: string;
|
|
472
|
+
lineStart?: number | undefined;
|
|
473
|
+
lineEnd?: number | undefined;
|
|
474
|
+
note?: string | undefined;
|
|
475
|
+
}[] | undefined;
|
|
476
|
+
risks?: string[] | undefined;
|
|
477
|
+
prerequisites?: string[] | undefined;
|
|
478
|
+
}[];
|
|
479
|
+
expertsUsed: string[];
|
|
480
|
+
}>;
|
|
481
|
+
export type OpportunityDiscoveryResult = z.infer<typeof OpportunityDiscoveryResultSchema>;
|
|
482
|
+
/**
|
|
483
|
+
* Create a new opportunity object
|
|
484
|
+
*/
|
|
485
|
+
export declare function createOpportunity(title: string, description: string, category: OpportunityCategory, options?: {
|
|
486
|
+
impact?: OpportunityImpact;
|
|
487
|
+
effort?: OpportunityEffort;
|
|
488
|
+
source?: OpportunitySource;
|
|
489
|
+
confidence?: number;
|
|
490
|
+
identifiedBy?: string[];
|
|
491
|
+
relatedFiles?: string[];
|
|
492
|
+
relatedSymbols?: string[];
|
|
493
|
+
tags?: string[];
|
|
494
|
+
suggestedApproach?: string;
|
|
495
|
+
risks?: string[];
|
|
496
|
+
prerequisites?: string[];
|
|
497
|
+
codeExamples?: Opportunity['codeExamples'];
|
|
498
|
+
}): Opportunity;
|
|
499
|
+
/**
|
|
500
|
+
* Extended item types including opportunity
|
|
501
|
+
* This is stored in DEV_Items.type column
|
|
502
|
+
*/
|
|
503
|
+
export declare const ItemTypeWithOpportunitySchema: z.ZodEnum<["memory", "task", "improvement", "plan", "session", "checkpoint", "expert_decision", "expert_recommendation", "pattern_stat", "memory_link", "consensus_result", "opportunity"]>;
|
|
504
|
+
export type ItemTypeWithOpportunity = z.infer<typeof ItemTypeWithOpportunitySchema>;
|
|
505
|
+
//# sourceMappingURL=opportunity-types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"opportunity-types.d.ts","sourceRoot":"","sources":["../../src/schema/opportunity-types.ts"],"names":[],"mappings":"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"}
|