@codebakers/mcp 5.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/INSTALL.md +221 -0
- package/LICENSE +21 -0
- package/README.md +412 -0
- package/dist/cli.d.ts +9 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +236 -0
- package/dist/cli.js.map +1 -0
- package/dist/index.d.ts +12 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +526 -0
- package/dist/index.js.map +1 -0
- package/dist/tools/analyze-mockups.d.ts +18 -0
- package/dist/tools/analyze-mockups.d.ts.map +1 -0
- package/dist/tools/analyze-mockups.js +497 -0
- package/dist/tools/analyze-mockups.js.map +1 -0
- package/dist/tools/autonomous-build.d.ts +19 -0
- package/dist/tools/autonomous-build.d.ts.map +1 -0
- package/dist/tools/autonomous-build.js +287 -0
- package/dist/tools/autonomous-build.js.map +1 -0
- package/dist/tools/check-gate.d.ts +21 -0
- package/dist/tools/check-gate.d.ts.map +1 -0
- package/dist/tools/check-gate.js +446 -0
- package/dist/tools/check-gate.js.map +1 -0
- package/dist/tools/check-scope.d.ts +22 -0
- package/dist/tools/check-scope.d.ts.map +1 -0
- package/dist/tools/check-scope.js +251 -0
- package/dist/tools/check-scope.js.map +1 -0
- package/dist/tools/deploy-vercel.d.ts +18 -0
- package/dist/tools/deploy-vercel.d.ts.map +1 -0
- package/dist/tools/deploy-vercel.js +178 -0
- package/dist/tools/deploy-vercel.js.map +1 -0
- package/dist/tools/diagnose-error.d.ts +20 -0
- package/dist/tools/diagnose-error.d.ts.map +1 -0
- package/dist/tools/diagnose-error.js +351 -0
- package/dist/tools/diagnose-error.js.map +1 -0
- package/dist/tools/enforce-feature.d.ts +25 -0
- package/dist/tools/enforce-feature.d.ts.map +1 -0
- package/dist/tools/enforce-feature.js +387 -0
- package/dist/tools/enforce-feature.js.map +1 -0
- package/dist/tools/execute-atomic-unit.d.ts +23 -0
- package/dist/tools/execute-atomic-unit.d.ts.map +1 -0
- package/dist/tools/execute-atomic-unit.js +107 -0
- package/dist/tools/execute-atomic-unit.js.map +1 -0
- package/dist/tools/fix-commit.d.ts +23 -0
- package/dist/tools/fix-commit.d.ts.map +1 -0
- package/dist/tools/fix-commit.js +213 -0
- package/dist/tools/fix-commit.js.map +1 -0
- package/dist/tools/fix-mockups.d.ts +21 -0
- package/dist/tools/fix-mockups.d.ts.map +1 -0
- package/dist/tools/fix-mockups.js +595 -0
- package/dist/tools/fix-mockups.js.map +1 -0
- package/dist/tools/generate-api-route.d.ts +18 -0
- package/dist/tools/generate-api-route.d.ts.map +1 -0
- package/dist/tools/generate-api-route.js +212 -0
- package/dist/tools/generate-api-route.js.map +1 -0
- package/dist/tools/generate-chatbot.d.ts +20 -0
- package/dist/tools/generate-chatbot.d.ts.map +1 -0
- package/dist/tools/generate-chatbot.js +555 -0
- package/dist/tools/generate-chatbot.js.map +1 -0
- package/dist/tools/generate-component.d.ts +18 -0
- package/dist/tools/generate-component.d.ts.map +1 -0
- package/dist/tools/generate-component.js +159 -0
- package/dist/tools/generate-component.js.map +1 -0
- package/dist/tools/generate-docs.d.ts +21 -0
- package/dist/tools/generate-docs.d.ts.map +1 -0
- package/dist/tools/generate-docs.js +782 -0
- package/dist/tools/generate-docs.js.map +1 -0
- package/dist/tools/generate-e2e-tests.d.ts +12 -0
- package/dist/tools/generate-e2e-tests.d.ts.map +1 -0
- package/dist/tools/generate-e2e-tests.js +37 -0
- package/dist/tools/generate-e2e-tests.js.map +1 -0
- package/dist/tools/generate-migration.d.ts +21 -0
- package/dist/tools/generate-migration.d.ts.map +1 -0
- package/dist/tools/generate-migration.js +94 -0
- package/dist/tools/generate-migration.js.map +1 -0
- package/dist/tools/generate-schema.d.ts +18 -0
- package/dist/tools/generate-schema.d.ts.map +1 -0
- package/dist/tools/generate-schema.js +422 -0
- package/dist/tools/generate-schema.js.map +1 -0
- package/dist/tools/generate-spec.d.ts +18 -0
- package/dist/tools/generate-spec.d.ts.map +1 -0
- package/dist/tools/generate-spec.js +446 -0
- package/dist/tools/generate-spec.js.map +1 -0
- package/dist/tools/generate-store-contracts.d.ts +17 -0
- package/dist/tools/generate-store-contracts.d.ts.map +1 -0
- package/dist/tools/generate-store-contracts.js +356 -0
- package/dist/tools/generate-store-contracts.js.map +1 -0
- package/dist/tools/generate-store.d.ts +16 -0
- package/dist/tools/generate-store.d.ts.map +1 -0
- package/dist/tools/generate-store.js +166 -0
- package/dist/tools/generate-store.js.map +1 -0
- package/dist/tools/generate-unit-tests.d.ts +14 -0
- package/dist/tools/generate-unit-tests.d.ts.map +1 -0
- package/dist/tools/generate-unit-tests.js +85 -0
- package/dist/tools/generate-unit-tests.js.map +1 -0
- package/dist/tools/get-context.d.ts +35 -0
- package/dist/tools/get-context.d.ts.map +1 -0
- package/dist/tools/get-context.js +367 -0
- package/dist/tools/get-context.js.map +1 -0
- package/dist/tools/init-session.d.ts +22 -0
- package/dist/tools/init-session.d.ts.map +1 -0
- package/dist/tools/init-session.js +232 -0
- package/dist/tools/init-session.js.map +1 -0
- package/dist/tools/map-dependencies.d.ts +25 -0
- package/dist/tools/map-dependencies.d.ts.map +1 -0
- package/dist/tools/map-dependencies.js +480 -0
- package/dist/tools/map-dependencies.js.map +1 -0
- package/dist/tools/optimize-performance.d.ts +18 -0
- package/dist/tools/optimize-performance.d.ts.map +1 -0
- package/dist/tools/optimize-performance.js +285 -0
- package/dist/tools/optimize-performance.js.map +1 -0
- package/dist/tools/run-interview.d.ts +23 -0
- package/dist/tools/run-interview.d.ts.map +1 -0
- package/dist/tools/run-interview.js +371 -0
- package/dist/tools/run-interview.js.map +1 -0
- package/dist/tools/run-tests.d.ts +12 -0
- package/dist/tools/run-tests.d.ts.map +1 -0
- package/dist/tools/run-tests.js +30 -0
- package/dist/tools/run-tests.js.map +1 -0
- package/dist/tools/scan-security.d.ts +19 -0
- package/dist/tools/scan-security.d.ts.map +1 -0
- package/dist/tools/scan-security.js +358 -0
- package/dist/tools/scan-security.js.map +1 -0
- package/dist/tools/validate-accessibility.d.ts +18 -0
- package/dist/tools/validate-accessibility.d.ts.map +1 -0
- package/dist/tools/validate-accessibility.js +251 -0
- package/dist/tools/validate-accessibility.js.map +1 -0
- package/dist/tools/validate-mockups.d.ts +21 -0
- package/dist/tools/validate-mockups.d.ts.map +1 -0
- package/dist/tools/validate-mockups.js +433 -0
- package/dist/tools/validate-mockups.js.map +1 -0
- package/dist/tools/verify-completeness.d.ts +13 -0
- package/dist/tools/verify-completeness.d.ts.map +1 -0
- package/dist/tools/verify-completeness.js +68 -0
- package/dist/tools/verify-completeness.js.map +1 -0
- package/dist/tools/verify-mockups.d.ts +14 -0
- package/dist/tools/verify-mockups.d.ts.map +1 -0
- package/dist/tools/verify-mockups.js +85 -0
- package/dist/tools/verify-mockups.js.map +1 -0
- package/package.json +50 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"init-session.js","sourceRoot":"","sources":["../../src/tools/init-session.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* codebakers_map_dependencies
|
|
3
|
+
*
|
|
4
|
+
* Phase 2C: Comprehensive Dependency Mapping
|
|
5
|
+
* Maps ALL dependencies BEFORE any code is written
|
|
6
|
+
*
|
|
7
|
+
* USER'S CRITICAL ENHANCEMENT:
|
|
8
|
+
* "Best possible dependency mapping from moment 1"
|
|
9
|
+
* "Make sure all connections are there from moment 1"
|
|
10
|
+
*
|
|
11
|
+
* This prevents the #1 cause of bugs:
|
|
12
|
+
* Mutations that update the database but leave UI stale
|
|
13
|
+
*
|
|
14
|
+
* Maps:
|
|
15
|
+
* 1. Read dependencies (component → stores → database queries)
|
|
16
|
+
* 2. Write dependencies (mutation → store updates → cascade effects)
|
|
17
|
+
* 3. Store-to-store connections (when X changes, Y must also update)
|
|
18
|
+
* 4. Cascade effects (database triggers, computed values, related entities)
|
|
19
|
+
* 5. Query patterns (filters, sorts, search - what indexes needed)
|
|
20
|
+
*/
|
|
21
|
+
export declare function mapDependencies(args: {
|
|
22
|
+
schema_file?: string;
|
|
23
|
+
analysis_file?: string;
|
|
24
|
+
}): Promise<string>;
|
|
25
|
+
//# sourceMappingURL=map-dependencies.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"map-dependencies.d.ts","sourceRoot":"","sources":["../../src/tools/map-dependencies.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAyCH,wBAAsB,eAAe,CAAC,IAAI,EAAE;IAAE,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,aAAa,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAiG7G"}
|
|
@@ -0,0 +1,480 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* codebakers_map_dependencies
|
|
3
|
+
*
|
|
4
|
+
* Phase 2C: Comprehensive Dependency Mapping
|
|
5
|
+
* Maps ALL dependencies BEFORE any code is written
|
|
6
|
+
*
|
|
7
|
+
* USER'S CRITICAL ENHANCEMENT:
|
|
8
|
+
* "Best possible dependency mapping from moment 1"
|
|
9
|
+
* "Make sure all connections are there from moment 1"
|
|
10
|
+
*
|
|
11
|
+
* This prevents the #1 cause of bugs:
|
|
12
|
+
* Mutations that update the database but leave UI stale
|
|
13
|
+
*
|
|
14
|
+
* Maps:
|
|
15
|
+
* 1. Read dependencies (component → stores → database queries)
|
|
16
|
+
* 2. Write dependencies (mutation → store updates → cascade effects)
|
|
17
|
+
* 3. Store-to-store connections (when X changes, Y must also update)
|
|
18
|
+
* 4. Cascade effects (database triggers, computed values, related entities)
|
|
19
|
+
* 5. Query patterns (filters, sorts, search - what indexes needed)
|
|
20
|
+
*/
|
|
21
|
+
import * as fs from 'fs/promises';
|
|
22
|
+
import * as path from 'path';
|
|
23
|
+
export async function mapDependencies(args) {
|
|
24
|
+
const cwd = process.cwd();
|
|
25
|
+
const schemaFile = args.schema_file || '.codebakers/SCHEMA.sql';
|
|
26
|
+
const analysisFile = args.analysis_file || '.codebakers/MOCK-ANALYSIS.md';
|
|
27
|
+
const schemaPath = path.join(cwd, schemaFile);
|
|
28
|
+
const analysisPath = path.join(cwd, analysisFile);
|
|
29
|
+
console.error('🍞 CodeBakers: Phase 2C — Comprehensive Dependency Mapping');
|
|
30
|
+
console.error('This is YOUR enhancement - mapping ALL dependencies BEFORE building');
|
|
31
|
+
try {
|
|
32
|
+
// 1. CHECK IF REQUIRED FILES EXIST
|
|
33
|
+
const schemaExists = await fs.access(schemaPath).then(() => true).catch(() => false);
|
|
34
|
+
const analysisExists = await fs.access(analysisPath).then(() => true).catch(() => false);
|
|
35
|
+
if (!schemaExists) {
|
|
36
|
+
return `🍞 CodeBakers: Phase 2C - Comprehensive Dependency Mapping
|
|
37
|
+
|
|
38
|
+
❌ BLOCKER: Schema file not found
|
|
39
|
+
|
|
40
|
+
Expected location: ${schemaPath}
|
|
41
|
+
|
|
42
|
+
Phase 2C requires Phase 2B schema to map dependencies.
|
|
43
|
+
|
|
44
|
+
Next step: Run Phase 2B first (use tool: codebakers_generate_schema)`;
|
|
45
|
+
}
|
|
46
|
+
if (!analysisExists) {
|
|
47
|
+
return `🍞 CodeBakers: Phase 2C - Comprehensive Dependency Mapping
|
|
48
|
+
|
|
49
|
+
❌ BLOCKER: Mock analysis file not found
|
|
50
|
+
|
|
51
|
+
Expected location: ${analysisPath}
|
|
52
|
+
|
|
53
|
+
Phase 2C requires Phase 2A analysis to map dependencies.
|
|
54
|
+
|
|
55
|
+
Next step: Run Phase 2A first (use tool: codebakers_analyze_mockups_deep)`;
|
|
56
|
+
}
|
|
57
|
+
// 2. READ SCHEMA AND ANALYSIS
|
|
58
|
+
const schemaContent = await fs.readFile(schemaPath, 'utf-8');
|
|
59
|
+
const analysisContent = await fs.readFile(analysisPath, 'utf-8');
|
|
60
|
+
console.error('Files loaded. Analyzing dependencies...');
|
|
61
|
+
// 3. PARSE AND MAP ALL DEPENDENCIES
|
|
62
|
+
const dependencyMap = buildComprehensiveDependencyMap(schemaContent, analysisContent);
|
|
63
|
+
console.error(`Mapped ${dependencyMap.read_dependencies.length} read paths`);
|
|
64
|
+
console.error(`Mapped ${dependencyMap.write_dependencies.length} write paths`);
|
|
65
|
+
console.error(`Mapped ${dependencyMap.cascade_effects.length} cascade effects`);
|
|
66
|
+
// 4. GENERATE DEPENDENCY-MAP.md
|
|
67
|
+
const mapDocument = generateDependencyMapDocument(dependencyMap);
|
|
68
|
+
const mapPath = path.join(cwd, '.codebakers', 'DEPENDENCY-MAP.md');
|
|
69
|
+
await fs.writeFile(mapPath, mapDocument, 'utf-8');
|
|
70
|
+
console.error(`✓ Dependency map written: ${mapPath}`);
|
|
71
|
+
// 5. GENERATE SUMMARY
|
|
72
|
+
const summary = generateDependencyMapSummary(dependencyMap);
|
|
73
|
+
return `🍞 CodeBakers: Phase 2C - Comprehensive Dependency Mapping Complete
|
|
74
|
+
|
|
75
|
+
${summary}
|
|
76
|
+
|
|
77
|
+
📄 Dependency map written to: .codebakers/DEPENDENCY-MAP.md
|
|
78
|
+
|
|
79
|
+
This map includes:
|
|
80
|
+
✓ Every read dependency (component → store → query)
|
|
81
|
+
✓ Every write dependency (mutation → updates → cascades)
|
|
82
|
+
✓ Every store-to-store connection
|
|
83
|
+
✓ Every cascade effect
|
|
84
|
+
✓ Every critical path (mutations that affect multiple stores)
|
|
85
|
+
|
|
86
|
+
CRITICAL: Use this map BEFORE implementing ANY mutation
|
|
87
|
+
→ Check DEPENDENCY-MAP.md to see ALL stores that must be updated
|
|
88
|
+
→ This prevents stale UI bugs from moment 1
|
|
89
|
+
|
|
90
|
+
Next steps:
|
|
91
|
+
1. Review DEPENDENCY-MAP.md to verify all connections mapped
|
|
92
|
+
2. Ready for Phase 3: Foundation Build
|
|
93
|
+
3. REMEMBER: Check dependency map before implementing ANY mutation`;
|
|
94
|
+
}
|
|
95
|
+
catch (error) {
|
|
96
|
+
console.error('Error during dependency mapping:', error);
|
|
97
|
+
return `🍞 CodeBakers: Phase 2C - Comprehensive Dependency Mapping Failed
|
|
98
|
+
|
|
99
|
+
Error: ${error instanceof Error ? error.message : String(error)}
|
|
100
|
+
|
|
101
|
+
Please check:
|
|
102
|
+
- Schema file and analysis file exist and are readable
|
|
103
|
+
- Files contain valid content
|
|
104
|
+
- File permissions allow writing
|
|
105
|
+
|
|
106
|
+
If issue persists, log to ERROR-LOG.md and request human assistance.`;
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* Build comprehensive dependency map from schema and analysis
|
|
111
|
+
*/
|
|
112
|
+
function buildComprehensiveDependencyMap(schema, analysis) {
|
|
113
|
+
const map = {
|
|
114
|
+
read_dependencies: [],
|
|
115
|
+
write_dependencies: [],
|
|
116
|
+
store_connections: [],
|
|
117
|
+
cascade_effects: [],
|
|
118
|
+
critical_paths: [],
|
|
119
|
+
};
|
|
120
|
+
// Extract entities from schema
|
|
121
|
+
const entities = extractEntitiesFromSchema(schema);
|
|
122
|
+
// Extract screens and their data requirements from analysis
|
|
123
|
+
const screens = extractScreensFromAnalysis(analysis);
|
|
124
|
+
console.error(`Found ${entities.length} entities and ${screens.length} screens`);
|
|
125
|
+
// 1. MAP READ DEPENDENCIES
|
|
126
|
+
// For each screen, determine what stores it needs to read from
|
|
127
|
+
for (const screen of screens) {
|
|
128
|
+
const readDep = {
|
|
129
|
+
component: screen.name,
|
|
130
|
+
reads_from_stores: [],
|
|
131
|
+
queries_entities: [],
|
|
132
|
+
filters_applied: [],
|
|
133
|
+
};
|
|
134
|
+
// Map data fields to entities and stores
|
|
135
|
+
for (const field of screen.data_fields) {
|
|
136
|
+
const entity = field.source_entity;
|
|
137
|
+
if (entity && entity !== 'unknown') {
|
|
138
|
+
const storeName = `${entity}Store`;
|
|
139
|
+
if (!readDep.reads_from_stores.includes(storeName)) {
|
|
140
|
+
readDep.reads_from_stores.push(storeName);
|
|
141
|
+
}
|
|
142
|
+
if (!readDep.queries_entities.includes(entity)) {
|
|
143
|
+
readDep.queries_entities.push(entity);
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
// Map filters to query patterns
|
|
148
|
+
for (const filter of screen.filters) {
|
|
149
|
+
readDep.filters_applied.push(`${filter.filter_type}: ${filter.filter_name}`);
|
|
150
|
+
}
|
|
151
|
+
if (readDep.reads_from_stores.length > 0) {
|
|
152
|
+
map.read_dependencies.push(readDep);
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
// 2. MAP WRITE DEPENDENCIES
|
|
156
|
+
// For each form input, determine what must be updated
|
|
157
|
+
for (const screen of screens) {
|
|
158
|
+
if (screen.form_inputs.length > 0) {
|
|
159
|
+
const entity = screen.form_inputs[0].target_entity;
|
|
160
|
+
if (entity && entity !== 'unknown') {
|
|
161
|
+
const writeDep = {
|
|
162
|
+
mutation: `create${capitalize(entity)}`,
|
|
163
|
+
updates_entity: entity,
|
|
164
|
+
must_update_stores: [],
|
|
165
|
+
cascade_updates: [],
|
|
166
|
+
affected_components: [],
|
|
167
|
+
};
|
|
168
|
+
// Direct store update
|
|
169
|
+
writeDep.must_update_stores.push(`${entity}Store`);
|
|
170
|
+
// Find cascade effects
|
|
171
|
+
const cascades = findCascadeEffects(entity, entities, screens);
|
|
172
|
+
writeDep.cascade_updates.push(...cascades.affected_stores);
|
|
173
|
+
writeDep.affected_components.push(...cascades.affected_components);
|
|
174
|
+
// Add update mutation
|
|
175
|
+
map.write_dependencies.push({
|
|
176
|
+
mutation: `update${capitalize(entity)}`,
|
|
177
|
+
updates_entity: entity,
|
|
178
|
+
must_update_stores: writeDep.must_update_stores,
|
|
179
|
+
cascade_updates: writeDep.cascade_updates,
|
|
180
|
+
affected_components: writeDep.affected_components,
|
|
181
|
+
});
|
|
182
|
+
// Add delete mutation
|
|
183
|
+
map.write_dependencies.push({
|
|
184
|
+
mutation: `delete${capitalize(entity)}`,
|
|
185
|
+
updates_entity: entity,
|
|
186
|
+
must_update_stores: writeDep.must_update_stores,
|
|
187
|
+
cascade_updates: [...writeDep.cascade_updates, 'Remove from all caches'],
|
|
188
|
+
affected_components: writeDep.affected_components,
|
|
189
|
+
});
|
|
190
|
+
map.write_dependencies.push(writeDep);
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
// 3. MAP STORE CONNECTIONS
|
|
195
|
+
for (const entity of entities) {
|
|
196
|
+
const storeConn = {
|
|
197
|
+
store_name: `${entity.name}Store`,
|
|
198
|
+
sourced_from_entities: [entity.name],
|
|
199
|
+
connected_to_stores: [],
|
|
200
|
+
update_triggers: [],
|
|
201
|
+
};
|
|
202
|
+
// Find related entities through foreign keys
|
|
203
|
+
for (const fk of entity.foreign_keys) {
|
|
204
|
+
const relatedStore = `${fk.references_table.replace(/s$/, '')}Store`;
|
|
205
|
+
if (!storeConn.connected_to_stores.includes(relatedStore)) {
|
|
206
|
+
storeConn.connected_to_stores.push(relatedStore);
|
|
207
|
+
}
|
|
208
|
+
}
|
|
209
|
+
// Determine when this store must update
|
|
210
|
+
storeConn.update_triggers.push(`On create${capitalize(entity.name)}`);
|
|
211
|
+
storeConn.update_triggers.push(`On update${capitalize(entity.name)}`);
|
|
212
|
+
storeConn.update_triggers.push(`On delete${capitalize(entity.name)}`);
|
|
213
|
+
map.store_connections.push(storeConn);
|
|
214
|
+
}
|
|
215
|
+
// 4. MAP CASCADE EFFECTS
|
|
216
|
+
for (const entity of entities) {
|
|
217
|
+
// Foreign key cascades
|
|
218
|
+
for (const fk of entity.foreign_keys) {
|
|
219
|
+
map.cascade_effects.push({
|
|
220
|
+
trigger: `Delete ${fk.references_table.replace(/s$/, '')}`,
|
|
221
|
+
cascades_to: [`Delete all ${entity.name} records (ON DELETE CASCADE)`],
|
|
222
|
+
reason: `Foreign key constraint: ${entity.name}.${fk.column_name} → ${fk.references_table}`,
|
|
223
|
+
});
|
|
224
|
+
}
|
|
225
|
+
// Computed value cascades
|
|
226
|
+
if (entity.name.includes('total') || entity.name.includes('count')) {
|
|
227
|
+
map.cascade_effects.push({
|
|
228
|
+
trigger: `Update ${entity.name}`,
|
|
229
|
+
cascades_to: ['Recalculate aggregated values'],
|
|
230
|
+
reason: 'Computed/aggregated field',
|
|
231
|
+
});
|
|
232
|
+
}
|
|
233
|
+
}
|
|
234
|
+
// 5. IDENTIFY CRITICAL PATHS
|
|
235
|
+
// Critical paths are mutations that affect 3+ stores
|
|
236
|
+
for (const writeDep of map.write_dependencies) {
|
|
237
|
+
const totalStores = writeDep.must_update_stores.length + writeDep.cascade_updates.length;
|
|
238
|
+
if (totalStores >= 3) {
|
|
239
|
+
map.critical_paths.push(`${writeDep.mutation} affects ${totalStores} stores: ${[...writeDep.must_update_stores, ...writeDep.cascade_updates].join(', ')}`);
|
|
240
|
+
}
|
|
241
|
+
}
|
|
242
|
+
return map;
|
|
243
|
+
}
|
|
244
|
+
/**
|
|
245
|
+
* Extract entities from schema
|
|
246
|
+
*/
|
|
247
|
+
function extractEntitiesFromSchema(schema) {
|
|
248
|
+
const entities = [];
|
|
249
|
+
const tableRegex = /CREATE TABLE (\w+) \(/g;
|
|
250
|
+
let match;
|
|
251
|
+
while ((match = tableRegex.exec(schema)) !== null) {
|
|
252
|
+
const tableName = match[1];
|
|
253
|
+
const entityName = tableName.replace(/s$/, ''); // Singularize
|
|
254
|
+
// Extract foreign keys
|
|
255
|
+
const foreign_keys = [];
|
|
256
|
+
const fkRegex = /FOREIGN KEY \((\w+)\) REFERENCES (\w+)\(/g;
|
|
257
|
+
let fkMatch;
|
|
258
|
+
while ((fkMatch = fkRegex.exec(schema)) !== null) {
|
|
259
|
+
foreign_keys.push({
|
|
260
|
+
column_name: fkMatch[1],
|
|
261
|
+
references_table: fkMatch[2],
|
|
262
|
+
});
|
|
263
|
+
}
|
|
264
|
+
entities.push({ name: entityName, foreign_keys });
|
|
265
|
+
}
|
|
266
|
+
return entities;
|
|
267
|
+
}
|
|
268
|
+
/**
|
|
269
|
+
* Extract screens from analysis
|
|
270
|
+
*/
|
|
271
|
+
function extractScreensFromAnalysis(analysis) {
|
|
272
|
+
const screens = [];
|
|
273
|
+
const screenRegex = /## Screen: ([\w-]+)/g;
|
|
274
|
+
let match;
|
|
275
|
+
while ((match = screenRegex.exec(analysis)) !== null) {
|
|
276
|
+
const screenName = match[1];
|
|
277
|
+
screens.push({
|
|
278
|
+
name: screenName,
|
|
279
|
+
data_fields: extractDataFieldsForScreen(analysis, screenName),
|
|
280
|
+
form_inputs: extractFormInputsForScreen(analysis, screenName),
|
|
281
|
+
filters: extractFiltersForScreen(analysis, screenName),
|
|
282
|
+
});
|
|
283
|
+
}
|
|
284
|
+
return screens;
|
|
285
|
+
}
|
|
286
|
+
function extractDataFieldsForScreen(analysis, screenName) {
|
|
287
|
+
const fields = [];
|
|
288
|
+
// Find the screen section
|
|
289
|
+
const screenSection = extractScreenSection(analysis, screenName);
|
|
290
|
+
if (!screenSection)
|
|
291
|
+
return fields;
|
|
292
|
+
// Extract from data fields table
|
|
293
|
+
const fieldTableRegex = /\| ([\w_]+) \| \w+ \| ([\w_]+) \|/g;
|
|
294
|
+
let match;
|
|
295
|
+
while ((match = fieldTableRegex.exec(screenSection)) !== null) {
|
|
296
|
+
fields.push({
|
|
297
|
+
field_name: match[1],
|
|
298
|
+
source_entity: match[2],
|
|
299
|
+
});
|
|
300
|
+
}
|
|
301
|
+
return fields;
|
|
302
|
+
}
|
|
303
|
+
function extractFormInputsForScreen(analysis, screenName) {
|
|
304
|
+
const inputs = [];
|
|
305
|
+
const screenSection = extractScreenSection(analysis, screenName);
|
|
306
|
+
if (!screenSection)
|
|
307
|
+
return inputs;
|
|
308
|
+
const inputTableRegex = /\| ([\w_]+) \| \w+ \| ([\w_]+) \|/g;
|
|
309
|
+
let match;
|
|
310
|
+
while ((match = inputTableRegex.exec(screenSection)) !== null) {
|
|
311
|
+
inputs.push({
|
|
312
|
+
input_name: match[1],
|
|
313
|
+
target_entity: match[2],
|
|
314
|
+
});
|
|
315
|
+
}
|
|
316
|
+
return inputs;
|
|
317
|
+
}
|
|
318
|
+
function extractFiltersForScreen(analysis, screenName) {
|
|
319
|
+
const filters = [];
|
|
320
|
+
const screenSection = extractScreenSection(analysis, screenName);
|
|
321
|
+
if (!screenSection)
|
|
322
|
+
return filters;
|
|
323
|
+
const filterTableRegex = /\| ([\w_]+) \| (search|sort|filter) \|/g;
|
|
324
|
+
let match;
|
|
325
|
+
while ((match = filterTableRegex.exec(screenSection)) !== null) {
|
|
326
|
+
filters.push({
|
|
327
|
+
filter_name: match[1],
|
|
328
|
+
filter_type: match[2],
|
|
329
|
+
});
|
|
330
|
+
}
|
|
331
|
+
return filters;
|
|
332
|
+
}
|
|
333
|
+
function extractScreenSection(analysis, screenName) {
|
|
334
|
+
const regex = new RegExp(`## Screen: ${screenName}[\\s\\S]*?(?=## Screen:|$)`, 'i');
|
|
335
|
+
const match = analysis.match(regex);
|
|
336
|
+
return match ? match[0] : null;
|
|
337
|
+
}
|
|
338
|
+
/**
|
|
339
|
+
* Find cascade effects when an entity is modified
|
|
340
|
+
*/
|
|
341
|
+
function findCascadeEffects(entity, allEntities, allScreens) {
|
|
342
|
+
const affected_stores = [];
|
|
343
|
+
const affected_components = [];
|
|
344
|
+
// Find entities that reference this entity
|
|
345
|
+
for (const otherEntity of allEntities) {
|
|
346
|
+
for (const fk of otherEntity.foreign_keys) {
|
|
347
|
+
if (fk.references_table === `${entity}s` || fk.references_table === entity) {
|
|
348
|
+
const storeName = `${otherEntity.name}Store`;
|
|
349
|
+
if (!affected_stores.includes(storeName)) {
|
|
350
|
+
affected_stores.push(storeName);
|
|
351
|
+
}
|
|
352
|
+
}
|
|
353
|
+
}
|
|
354
|
+
}
|
|
355
|
+
// Find screens that display this entity
|
|
356
|
+
for (const screen of allScreens) {
|
|
357
|
+
for (const field of screen.data_fields) {
|
|
358
|
+
if (field.source_entity === entity) {
|
|
359
|
+
if (!affected_components.includes(screen.name)) {
|
|
360
|
+
affected_components.push(screen.name);
|
|
361
|
+
}
|
|
362
|
+
}
|
|
363
|
+
}
|
|
364
|
+
}
|
|
365
|
+
return { affected_stores, affected_components };
|
|
366
|
+
}
|
|
367
|
+
/**
|
|
368
|
+
* Generate DEPENDENCY-MAP.md document
|
|
369
|
+
*/
|
|
370
|
+
function generateDependencyMapDocument(map) {
|
|
371
|
+
let doc = `# Comprehensive Dependency Map\n\n`;
|
|
372
|
+
doc += `**Generated:** ${new Date().toISOString()}\n`;
|
|
373
|
+
doc += `**Phase:** 2C - Comprehensive Dependency Mapping\n`;
|
|
374
|
+
doc += `**Purpose:** Map ALL dependencies BEFORE building to prevent stale UI bugs\n\n`;
|
|
375
|
+
doc += `---\n\n`;
|
|
376
|
+
doc += `## WHY THIS MAP EXISTS\n\n`;
|
|
377
|
+
doc += `The #1 cause of bugs in applications is:\n`;
|
|
378
|
+
doc += `**Mutations that update the database but leave UI stores stale**\n\n`;
|
|
379
|
+
doc += `This map solves that by mapping EVERY dependency BEFORE any code is written.\n\n`;
|
|
380
|
+
doc += `CRITICAL RULE: Before implementing ANY mutation, check this map to see ALL stores that must be updated.\n\n`;
|
|
381
|
+
doc += `---\n\n`;
|
|
382
|
+
// Read Dependencies
|
|
383
|
+
doc += `## Read Dependencies\n\n`;
|
|
384
|
+
doc += `Maps: Component → Stores → Database Queries\n\n`;
|
|
385
|
+
doc += `| Component | Reads From Stores | Queries Entities | Filters Applied |\n`;
|
|
386
|
+
doc += `|-----------|-------------------|------------------|------------------|\n`;
|
|
387
|
+
for (const dep of map.read_dependencies) {
|
|
388
|
+
doc += `| ${dep.component} | ${dep.reads_from_stores.join(', ') || 'None'} | ${dep.queries_entities.join(', ') || 'None'} | ${dep.filters_applied.join(', ') || 'None'} |\n`;
|
|
389
|
+
}
|
|
390
|
+
doc += `\n---\n\n`;
|
|
391
|
+
// Write Dependencies
|
|
392
|
+
doc += `## Write Dependencies\n\n`;
|
|
393
|
+
doc += `Maps: Mutation → Store Updates → Cascade Effects\n\n`;
|
|
394
|
+
doc += `**CRITICAL:** Check this table BEFORE implementing ANY mutation\n\n`;
|
|
395
|
+
for (const dep of map.write_dependencies) {
|
|
396
|
+
doc += `### ${dep.mutation}\n\n`;
|
|
397
|
+
doc += `- **Updates Entity:** ${dep.updates_entity}\n`;
|
|
398
|
+
doc += `- **MUST Update Stores:** ${dep.must_update_stores.join(', ')}\n`;
|
|
399
|
+
if (dep.cascade_updates.length > 0) {
|
|
400
|
+
doc += `- **Cascade Updates:** ${dep.cascade_updates.join(', ')}\n`;
|
|
401
|
+
}
|
|
402
|
+
if (dep.affected_components.length > 0) {
|
|
403
|
+
doc += `- **Affected Components:** ${dep.affected_components.join(', ')}\n`;
|
|
404
|
+
}
|
|
405
|
+
doc += `\n`;
|
|
406
|
+
}
|
|
407
|
+
doc += `---\n\n`;
|
|
408
|
+
// Store Connections
|
|
409
|
+
doc += `## Store Connections\n\n`;
|
|
410
|
+
doc += `Maps: Store → Data Sources → Connected Stores → Update Triggers\n\n`;
|
|
411
|
+
for (const conn of map.store_connections) {
|
|
412
|
+
doc += `### ${conn.store_name}\n\n`;
|
|
413
|
+
doc += `- **Sourced From:** ${conn.sourced_from_entities.join(', ')}\n`;
|
|
414
|
+
doc += `- **Connected To:** ${conn.connected_to_stores.join(', ') || 'None (standalone)'}\n`;
|
|
415
|
+
doc += `- **Must Update On:**\n`;
|
|
416
|
+
for (const trigger of conn.update_triggers) {
|
|
417
|
+
doc += ` - ${trigger}\n`;
|
|
418
|
+
}
|
|
419
|
+
doc += `\n`;
|
|
420
|
+
}
|
|
421
|
+
doc += `---\n\n`;
|
|
422
|
+
// Cascade Effects
|
|
423
|
+
doc += `## Cascade Effects\n\n`;
|
|
424
|
+
doc += `Maps: Trigger → Cascades → Reason\n\n`;
|
|
425
|
+
doc += `| Trigger | Cascades To | Reason |\n`;
|
|
426
|
+
doc += `|---------|-------------|--------|\n`;
|
|
427
|
+
for (const cascade of map.cascade_effects) {
|
|
428
|
+
doc += `| ${cascade.trigger} | ${cascade.cascades_to.join(', ')} | ${cascade.reason} |\n`;
|
|
429
|
+
}
|
|
430
|
+
doc += `\n---\n\n`;
|
|
431
|
+
// Critical Paths
|
|
432
|
+
if (map.critical_paths.length > 0) {
|
|
433
|
+
doc += `## Critical Paths\n\n`;
|
|
434
|
+
doc += `Mutations that affect 3+ stores (requires extra care):\n\n`;
|
|
435
|
+
for (const path of map.critical_paths) {
|
|
436
|
+
doc += `- ⚠️ ${path}\n`;
|
|
437
|
+
}
|
|
438
|
+
doc += `\n---\n\n`;
|
|
439
|
+
}
|
|
440
|
+
doc += `## How To Use This Map\n\n`;
|
|
441
|
+
doc += `**Before implementing ANY mutation:**\n\n`;
|
|
442
|
+
doc += `1. Find the mutation in "Write Dependencies" section\n`;
|
|
443
|
+
doc += `2. Check "MUST Update Stores" list\n`;
|
|
444
|
+
doc += `3. Check "Cascade Updates" list\n`;
|
|
445
|
+
doc += `4. Update ALL listed stores in your mutation handler\n`;
|
|
446
|
+
doc += `5. Verify all "Affected Components" will refresh\n\n`;
|
|
447
|
+
doc += `**Example:**\n`;
|
|
448
|
+
doc += `\`\`\`typescript\n`;
|
|
449
|
+
doc += `async function createPost(data: PostInput) {\n`;
|
|
450
|
+
doc += ` // 1. Database mutation\n`;
|
|
451
|
+
doc += ` const post = await db.posts.create(data);\n\n`;
|
|
452
|
+
doc += ` // 2. Check DEPENDENCY-MAP.md for this mutation\n`;
|
|
453
|
+
doc += ` // - MUST update: postStore\n`;
|
|
454
|
+
doc += ` // - Cascade: userStore (user.post_count)\n\n`;
|
|
455
|
+
doc += ` // 3. Update ALL stores from the map\n`;
|
|
456
|
+
doc += ` postStore.add(post);\n`;
|
|
457
|
+
doc += ` userStore.incrementPostCount(post.user_id);\n\n`;
|
|
458
|
+
doc += ` return post;\n`;
|
|
459
|
+
doc += `}\n`;
|
|
460
|
+
doc += `\`\`\`\n\n`;
|
|
461
|
+
doc += `This ensures: **No stale UI, ever.**\n\n`;
|
|
462
|
+
return doc;
|
|
463
|
+
}
|
|
464
|
+
/**
|
|
465
|
+
* Generate summary for tool response
|
|
466
|
+
*/
|
|
467
|
+
function generateDependencyMapSummary(map) {
|
|
468
|
+
let summary = `✓ Mapped ${map.read_dependencies.length} read dependency paths\n`;
|
|
469
|
+
summary += `✓ Mapped ${map.write_dependencies.length} write dependency paths\n`;
|
|
470
|
+
summary += `✓ Mapped ${map.store_connections.length} store connections\n`;
|
|
471
|
+
summary += `✓ Identified ${map.cascade_effects.length} cascade effects\n`;
|
|
472
|
+
if (map.critical_paths.length > 0) {
|
|
473
|
+
summary += `⚠️ Found ${map.critical_paths.length} critical paths (mutations affecting 3+ stores)\n`;
|
|
474
|
+
}
|
|
475
|
+
return summary;
|
|
476
|
+
}
|
|
477
|
+
function capitalize(str) {
|
|
478
|
+
return str.charAt(0).toUpperCase() + str.slice(1);
|
|
479
|
+
}
|
|
480
|
+
//# sourceMappingURL=map-dependencies.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"map-dependencies.js","sourceRoot":"","sources":["../../src/tools/map-dependencies.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* codebakers_optimize_performance
|
|
3
|
+
*
|
|
4
|
+
* Performance Optimization - Core Web Vitals
|
|
5
|
+
*
|
|
6
|
+
* Analyzes and optimizes:
|
|
7
|
+
* - Bundle size
|
|
8
|
+
* - Image optimization
|
|
9
|
+
* - Code splitting
|
|
10
|
+
* - Lazy loading
|
|
11
|
+
* - Core Web Vitals (LCP, FID, CLS)
|
|
12
|
+
*/
|
|
13
|
+
interface PerfArgs {
|
|
14
|
+
auto_fix?: boolean;
|
|
15
|
+
}
|
|
16
|
+
export declare function optimizePerformance(args?: PerfArgs): Promise<string>;
|
|
17
|
+
export {};
|
|
18
|
+
//# sourceMappingURL=optimize-performance.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"optimize-performance.d.ts","sourceRoot":"","sources":["../../src/tools/optimize-performance.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAKH,UAAU,QAAQ;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAUD,wBAAsB,mBAAmB,CAAC,IAAI,GAAE,QAAa,GAAG,OAAO,CAAC,MAAM,CAAC,CAqC9E"}
|