@loom-framework/core 0.1.0-alpha.147 → 0.1.0-alpha.149

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 (39) hide show
  1. package/builtin-skills/loom/SKILL.md +3 -1
  2. package/builtin-skills/loom/references/README.md +1 -1
  3. package/dist/cli/commands/generate-page.d.ts.map +1 -1
  4. package/dist/cli/commands/generate-page.js +1 -6
  5. package/dist/cli/commands/generate-page.js.map +1 -1
  6. package/dist/cli/commands/generate-system-settings.d.ts +9 -0
  7. package/dist/cli/commands/generate-system-settings.d.ts.map +1 -0
  8. package/dist/cli/commands/generate-system-settings.js +88 -0
  9. package/dist/cli/commands/generate-system-settings.js.map +1 -0
  10. package/dist/cli/commands/generate.d.ts.map +1 -1
  11. package/dist/cli/commands/generate.js +2 -0
  12. package/dist/cli/commands/generate.js.map +1 -1
  13. package/dist/cli/commands/init.d.ts.map +1 -1
  14. package/dist/cli/commands/init.js +21 -0
  15. package/dist/cli/commands/init.js.map +1 -1
  16. package/dist/cli/helpers/app-tsx-wiring.d.ts +8 -4
  17. package/dist/cli/helpers/app-tsx-wiring.d.ts.map +1 -1
  18. package/dist/cli/helpers/app-tsx-wiring.js +232 -136
  19. package/dist/cli/helpers/app-tsx-wiring.js.map +1 -1
  20. package/dist/cli/templates/frontend-entry.d.ts.map +1 -1
  21. package/dist/cli/templates/frontend-entry.js +0 -3
  22. package/dist/cli/templates/frontend-entry.js.map +1 -1
  23. package/dist/cli/templates/index.d.ts +2 -0
  24. package/dist/cli/templates/index.d.ts.map +1 -1
  25. package/dist/cli/templates/index.js +2 -0
  26. package/dist/cli/templates/index.js.map +1 -1
  27. package/dist/cli/templates/model-management-page.d.ts +9 -0
  28. package/dist/cli/templates/model-management-page.d.ts.map +1 -0
  29. package/dist/cli/templates/model-management-page.js +298 -0
  30. package/dist/cli/templates/model-management-page.js.map +1 -0
  31. package/dist/cli/templates/skill-management-page.d.ts +9 -0
  32. package/dist/cli/templates/skill-management-page.d.ts.map +1 -0
  33. package/dist/cli/templates/skill-management-page.js +476 -0
  34. package/dist/cli/templates/skill-management-page.js.map +1 -0
  35. package/dist/cli/templates/system-settings-page.d.ts +10 -0
  36. package/dist/cli/templates/system-settings-page.d.ts.map +1 -0
  37. package/dist/cli/templates/system-settings-page.js +768 -0
  38. package/dist/cli/templates/system-settings-page.js.map +1 -0
  39. package/package.json +1 -1
@@ -18,6 +18,23 @@ function findExportLineIndex(content) {
18
18
  const match = content.match(/\nexport\s+(?:default\s+)?(?:function|const|let|class|type|interface)\s/);
19
19
  return match && match.index !== undefined ? match.index : null;
20
20
  }
21
+ /**
22
+ * Find the position right after the last import statement.
23
+ * Returns the index of the newline after the last `import ... from '...'` or `import ...` line.
24
+ */
25
+ function findLastImportEnd(content) {
26
+ const importRegex = /^import\s.+;?\s*$/gm;
27
+ let lastMatch = null;
28
+ let m;
29
+ while ((m = importRegex.exec(content)) !== null) {
30
+ lastMatch = m;
31
+ }
32
+ if (!lastMatch)
33
+ return null;
34
+ // Return the position right after the last import line (including its newline)
35
+ const endPos = lastMatch.index + lastMatch[0].length;
36
+ return endPos;
37
+ }
21
38
  /**
22
39
  * Auto-wire App.tsx: add import, navItem, and switch case for a new page.
23
40
  * Returns true if successful, false if App.tsx structure is unexpected.
@@ -42,11 +59,10 @@ export async function wireAppTsxAutomatic(projectRoot, pascalName, navKey, navLa
42
59
  let modified = content;
43
60
  // 1. Add import after the last import line
44
61
  const importLine = `import ${pascalName}Page from './components/pages/${pascalName}';`;
45
- const exportLineIndex = findExportLineIndex(modified);
46
- if (exportLineIndex === null)
62
+ const lastImportEnd = findLastImportEnd(modified);
63
+ if (lastImportEnd === null)
47
64
  return false;
48
- const lastImportEnd = exportLineIndex;
49
- modified = modified.slice(0, lastImportEnd + 1) + importLine + '\n' + modified.slice(lastImportEnd + 1);
65
+ modified = modified.slice(0, lastImportEnd) + '\n' + importLine + modified.slice(lastImportEnd);
50
66
  // 1b. Ensure registerMessages is imported from frontend-antd
51
67
  if (!modified.includes('registerMessages')) {
52
68
  modified = modified.replace(/\}\s*from\s*'@loom-framework\/frontend-antd';/, ", registerMessages } from '@loom-framework/frontend-antd';");
@@ -54,11 +70,11 @@ export async function wireAppTsxAutomatic(projectRoot, pascalName, navKey, navLa
54
70
  // 1c. Register nav i18n keys
55
71
  const navLabelEn = options?.navLabelEn || navLabel;
56
72
  const registerLine = `registerMessages('zh-CN', { 'nav.${navKey}': '${navLabel}' });\nregisterMessages('en-US', { 'nav.${navKey}': '${navLabelEn}' });`;
57
- // Insert registerMessages calls after the last import line (re-find export after prior insertion)
58
- const afterImportsIdx = findExportLineIndex(modified);
73
+ // Insert registerMessages calls after the last import line (re-find after prior insertion)
74
+ const afterImportsIdx = findLastImportEnd(modified);
59
75
  if (afterImportsIdx === null)
60
76
  return false;
61
- modified = modified.slice(0, afterImportsIdx + 1) + registerLine + '\n' + modified.slice(afterImportsIdx + 1);
77
+ modified = modified.slice(0, afterImportsIdx) + '\n' + registerLine + modified.slice(afterImportsIdx);
62
78
  // 2. Add navItem
63
79
  const navItemLine = ` { key: '${navKey}', label: t('nav.${navKey}') },`;
64
80
  if (options?.insertAtTop) {
@@ -146,11 +162,15 @@ export async function wireAppTsxAutomatic(projectRoot, pascalName, navKey, navLa
146
162
  }
147
163
  /**
148
164
  * Auto-wire the system-settings navigation group into App.tsx.
149
- * Creates a submenu with model-management and skill-management children.
150
- * Called once when the first CRUD page is generated.
151
- * Returns true if successful, false if already wired or structure is unexpected.
165
+ * Creates or extends a system-settings submenu with the given page as a child.
166
+ *
167
+ * On first call, creates the submenu structure. On subsequent calls, appends
168
+ * the new child to the existing submenu. Also handles migration from legacy
169
+ * npm-import pattern to local imports.
170
+ *
171
+ * Returns true if wiring was performed, false if already wired or structure is unexpected.
152
172
  */
153
- export async function wireSystemSettingsPage(projectRoot) {
173
+ export async function wireAppTsxForSystemSettings(projectRoot, pascalName, navKey, navLabelZh, navLabelEn) {
154
174
  const appPath = path.join(projectRoot, 'frontend', 'src', 'App.tsx');
155
175
  let content;
156
176
  try {
@@ -159,149 +179,225 @@ export async function wireSystemSettingsPage(projectRoot) {
159
179
  catch {
160
180
  return false;
161
181
  }
162
- // Check for legacy SystemSettingsPage import (flat page, no submenu)
163
- const hasLegacySystemSettings = content.includes("import { SystemSettingsPage }");
164
- // Check if already wired with new structure (navItem with children + no legacy import)
165
- if (!hasLegacySystemSettings && content.includes("key: 'system-settings'") && content.includes('children:') && content.includes("key: 'model-management'")) {
182
+ // Check if this page is already wired with local import (npm imports are migrated below)
183
+ if (content.includes(`from './components/pages/${pascalName}'`)) {
166
184
  return false;
167
185
  }
168
186
  let modified = content;
169
- if (hasLegacySystemSettings) {
170
- // Remove old SystemSettingsPage import
171
- modified = modified.replace(/\n*import\s*\{\s*SystemSettingsPage\s*\}\s*from\s*'@loom-framework\/frontend-antd';\n*/g, '\n');
172
- // Add ModelManagementPage and SkillManagementPage imports
173
- const exportIdx = findExportLineIndex(modified);
174
- if (exportIdx === null)
175
- return false;
176
- const lastImportEnd = exportIdx;
177
- const newImports = `import { ModelManagementPage, SkillManagementPage } from '@loom-framework/frontend-antd';\n`;
178
- modified = modified.slice(0, lastImportEnd + 1) + newImports + modified.slice(lastImportEnd + 1);
179
- // Replace old flat navItem with submenu
180
- modified = modified.replace(/\{\s*key:\s*'system-settings',\s*label:\s*t\('nav\.system-settings'\)\s*\},?/g, `{ key: 'system-settings', label: t('nav.system-settings'), children: [
181
- { key: 'model-management', label: t('nav.model-management') },
182
- { key: 'skill-management', label: t('nav.skill-management') },
183
- ] },`);
184
- // Replace old switch case
185
- modified = modified.replace(/case\s*'system-settings':\s*return\s*<SystemSettingsPage\s*\/>;/g, `case 'model-management': return <ModelManagementPage />;
186
- case 'skill-management': return <SkillManagementPage />;`);
187
- // Add i18n keys for model-management and skill-management if missing
188
- if (!modified.includes("'nav.model-management'")) {
189
- const registerLine = `registerMessages('zh-CN', { 'nav.model-management': '模型管理' });\nregisterMessages('en-US', { 'nav.model-management': 'Model Management' });`;
190
- const afterImportsIdx = findExportLineIndex(modified);
191
- if (afterImportsIdx === null)
192
- return false;
193
- modified = modified.slice(0, afterImportsIdx + 1) + registerLine + '\n' + modified.slice(afterImportsIdx + 1);
194
- }
195
- if (!modified.includes("'nav.skill-management'")) {
196
- const registerLine = `registerMessages('zh-CN', { 'nav.skill-management': '技能管理' });\nregisterMessages('en-US', { 'nav.skill-management': 'Skill Management' });`;
197
- const afterImportsIdx = findExportLineIndex(modified);
198
- if (afterImportsIdx === null)
199
- return false;
200
- modified = modified.slice(0, afterImportsIdx + 1) + registerLine + '\n' + modified.slice(afterImportsIdx + 1);
201
- }
202
- // Add breadcrumb mappings for model-management and skill-management
203
- if (!modified.includes("'model-management':")) {
204
- const breadcrumbLine = ` 'model-management': [{ title: t('nav.model-management') }],\n 'skill-management': [{ title: t('nav.skill-management') }],`;
205
- // Insert before the system-settings breadcrumb or the comment placeholder
206
- const systemBcIdx = modified.indexOf("'system-settings':");
207
- if (systemBcIdx !== -1) {
208
- const lineStart = modified.lastIndexOf('\n', systemBcIdx) + 1;
209
- modified = modified.slice(0, lineStart) + breadcrumbLine + '\n' + modified.slice(lineStart);
187
+ // ── Migration: replace legacy npm imports with local imports ──
188
+ const migratedImports = [];
189
+ const migratedComponents = [];
190
+ // Find npm imports that contain page components (ending with 'Page')
191
+ const legacyPageImport = modified.match(/import\s*\{([^}]+)\}\s*from\s*'@loom-framework\/frontend-antd';/g);
192
+ if (legacyPageImport) {
193
+ for (const importLine of legacyPageImport) {
194
+ const namesMatch = importLine.match(/import\s*\{([^}]+)\}/);
195
+ if (!namesMatch)
196
+ continue;
197
+ const importNames = namesMatch[1].split(',').map(s => s.trim()).filter(Boolean);
198
+ const pageNames = importNames.filter(n => n.endsWith('Page'));
199
+ const nonPageNames = importNames.filter(n => !n.endsWith('Page'));
200
+ if (pageNames.length === 0)
201
+ continue;
202
+ for (const name of pageNames) {
203
+ const pascalName = name.slice(0, -4);
204
+ migratedImports.push(`import ${name} from './components/pages/${pascalName}';`);
205
+ const navKey = pascalName.replace(/([A-Z])/g, (m, c, i) => i === 0 ? c.toLowerCase() : '-' + c.toLowerCase()).replace(/^-/, '');
206
+ migratedComponents.push({ pascalName, navKey });
207
+ }
208
+ // Remove page names from npm import, keep non-page imports
209
+ if (nonPageNames.length > 0) {
210
+ const keptImport = `import { ${nonPageNames.join(', ')} } from '@loom-framework/frontend-antd';`;
211
+ modified = modified.replace(importLine, keptImport);
210
212
  }
211
213
  else {
212
- const breadcrumbCommentIdx = modified.indexOf('// Add breadcrumb mappings');
213
- if (breadcrumbCommentIdx !== -1) {
214
- const lineStart = modified.lastIndexOf('\n', breadcrumbCommentIdx) + 1;
215
- modified = modified.slice(0, lineStart) + breadcrumbLine + '\n' + modified.slice(lineStart);
216
- }
214
+ modified = modified.replace(importLine, '');
217
215
  }
218
216
  }
219
217
  }
220
- else {
221
- // Fresh wiring: add submenu structure
222
- // 1. Add imports
223
- const importLine = `import { ModelManagementPage, SkillManagementPage } from '@loom-framework/frontend-antd';`;
224
- const freshExportIdx = findExportLineIndex(modified);
225
- if (freshExportIdx === null)
226
- return false;
227
- const freshLastImportEnd = freshExportIdx;
228
- modified = modified.slice(0, freshLastImportEnd + 1) + importLine + '\n' + modified.slice(freshLastImportEnd + 1);
229
- // 1b. Register i18n keys
230
- const registerLines = [
231
- `registerMessages('zh-CN', { 'nav.system-settings': '系统配置' });`,
232
- `registerMessages('en-US', { 'nav.system-settings': 'System Settings' });`,
233
- `registerMessages('zh-CN', { 'nav.model-management': '模型管理' });`,
234
- `registerMessages('en-US', { 'nav.model-management': 'Model Management' });`,
235
- `registerMessages('zh-CN', { 'nav.skill-management': '技能管理' });`,
236
- `registerMessages('en-US', { 'nav.skill-management': 'Skill Management' });`,
237
- ].join('\n');
238
- const freshAfterImports = findExportLineIndex(modified);
239
- if (freshAfterImports === null)
218
+ const legacySystemImport = modified.match(/import\s*\{\s*SystemSettingsPage\s*\}\s*from\s*'@loom-framework\/frontend-antd';/);
219
+ if (legacySystemImport) {
220
+ modified = modified.replace(legacySystemImport[0], '');
221
+ }
222
+ // ── 1. Add local import ──
223
+ const importLine = `import ${pascalName}Page from './components/pages/${pascalName}';`;
224
+ let lastImportEnd = findLastImportEnd(modified);
225
+ if (lastImportEnd === null)
226
+ return false;
227
+ modified = modified.slice(0, lastImportEnd) + '\n' + importLine + modified.slice(lastImportEnd);
228
+ // ── 1a. Add migrated imports (from legacy npm imports) ──
229
+ if (migratedImports.length > 0) {
230
+ for (const migImport of migratedImports) {
231
+ if (!modified.includes(migImport)) {
232
+ lastImportEnd = findLastImportEnd(modified);
233
+ if (lastImportEnd === null)
234
+ return false;
235
+ modified = modified.slice(0, lastImportEnd) + '\n' + migImport + modified.slice(lastImportEnd);
236
+ }
237
+ }
238
+ }
239
+ // ── 1b. Ensure registerMessages is imported ──
240
+ if (!modified.includes('registerMessages')) {
241
+ modified = modified.replace(/\}\s*from\s*'@loom-framework\/frontend-antd';/, ", registerMessages } from '@loom-framework/frontend-antd';");
242
+ }
243
+ // ── 1c. Register i18n keys ──
244
+ // nav.system-settings (register if not present)
245
+ const i18nLines = [];
246
+ if (!modified.includes("'nav.system-settings'")) {
247
+ i18nLines.push(`registerMessages('zh-CN', { 'nav.system-settings': '系统配置' });`, `registerMessages('en-US', { 'nav.system-settings': 'System Settings' });`);
248
+ }
249
+ // nav.navKey for this page
250
+ if (!modified.includes(`'nav.${navKey}'`)) {
251
+ i18nLines.push(`registerMessages('zh-CN', { 'nav.${navKey}': '${navLabelZh}' });`, `registerMessages('en-US', { 'nav.${navKey}': '${navLabelEn}' });`);
252
+ }
253
+ if (i18nLines.length > 0) {
254
+ const registerBlock = i18nLines.join('\n');
255
+ const afterImportsIdx = findLastImportEnd(modified);
256
+ if (afterImportsIdx === null)
240
257
  return false;
241
- modified = modified.slice(0, freshAfterImports + 1) + registerLines + '\n' + modified.slice(freshAfterImports + 1);
242
- // 2. Add navItem with submenu — always at the end
243
- const navItemLines = ` { key: 'system-settings', label: t('nav.system-settings'), children: [
244
- { key: 'model-management', label: t('nav.model-management') },
245
- { key: 'skill-management', label: t('nav.skill-management') },
258
+ modified = modified.slice(0, afterImportsIdx) + '\n' + registerBlock + modified.slice(afterImportsIdx);
259
+ }
260
+ // ── 2. Handle navItems ──
261
+ const childNavItem = `{ key: '${navKey}', label: t('nav.${navKey}') }`;
262
+ if (modified.includes("key: 'system-settings'") && modified.includes('children:')) {
263
+ // Submenu already exists — check if this child already exists
264
+ const childAlreadyInNav = modified.includes(`key: '${navKey}', label: t('nav.${navKey}')`) ||
265
+ modified.includes(`key: '${navKey}', label:`);
266
+ if (childAlreadyInNav) {
267
+ // Child already in submenu, skip navItem modification
268
+ }
269
+ else {
270
+ // Append child to children array
271
+ const childrenMatch = modified.match(/key:\s*'system-settings',\s*label:\s*t\('nav\.system-settings'\),\s*children:\s*\[/);
272
+ if (childrenMatch) {
273
+ // Find the closing ] of the children array
274
+ const childrenStart = childrenMatch.index + childrenMatch[0].length;
275
+ let depth = 1;
276
+ let pos = childrenStart;
277
+ while (pos < modified.length && depth > 0) {
278
+ if (modified[pos] === '[')
279
+ depth++;
280
+ else if (modified[pos] === ']')
281
+ depth--;
282
+ pos++;
283
+ }
284
+ const childrenEnd = pos - 1;
285
+ // Insert before the closing ]
286
+ const beforeClose = modified.slice(0, childrenEnd).trimEnd();
287
+ const needsComma = beforeClose.endsWith('}');
288
+ modified = beforeClose + (needsComma ? ',' : '') + '\n ' + childNavItem + modified.slice(childrenEnd);
289
+ }
290
+ } // end if childAlreadyInNav
291
+ }
292
+ else {
293
+ // No submenu exists — create it
294
+ // First, remove any old flat navItem for system-settings (legacy migration)
295
+ modified = modified.replace(/\{\s*key:\s*'system-settings',\s*label:\s*t\('nav\.system-settings'\)\s*\},?\n?/g, '');
296
+ // Build the submenu navItem
297
+ const submenuItem = ` { key: 'system-settings', label: t('nav.system-settings'), children: [
298
+ ${childNavItem},
246
299
  ] },`;
247
- const navArrayMatch = modified.match(/const navItems\s*=\s*\[/);
248
- if (!navArrayMatch)
249
- return false;
250
- const arrayStart = navArrayMatch.index + navArrayMatch[0].length;
251
- let depth = 1;
252
- let pos = arrayStart;
253
- while (pos < modified.length && depth > 0) {
254
- if (modified[pos] === '[')
255
- depth++;
256
- else if (modified[pos] === ']')
257
- depth--;
258
- pos++;
300
+ // Find where to insert: at the end of the navItems array, or before comment placeholder
301
+ const commentIdx = modified.indexOf('// Add nav items');
302
+ if (commentIdx !== -1) {
303
+ const lineStart = modified.lastIndexOf('\n', commentIdx) + 1;
304
+ modified = modified.slice(0, lineStart) + submenuItem + '\n' + modified.slice(lineStart);
259
305
  }
260
- const closingBracket = pos - 1;
261
- const lineStart = modified.lastIndexOf('\n', closingBracket) + 1;
262
- modified = modified.slice(0, lineStart) + navItemLines + '\n' + modified.slice(lineStart);
263
- // 3. Add switch cases before default
264
- const caseLines = ` case 'model-management': return <ModelManagementPage />;
265
- case 'skill-management': return <SkillManagementPage />;`;
266
- const defaultCase = modified.indexOf('default:');
267
- if (defaultCase === -1)
268
- return false;
269
- const defaultLineStart = modified.lastIndexOf('\n', defaultCase) + 1;
270
- modified = modified.slice(0, defaultLineStart) + caseLines + '\n' + modified.slice(defaultLineStart);
271
- // 4. Add breadcrumb mappings
272
- const breadcrumbLines = ` 'model-management': [{ title: t('nav.model-management') }],
273
- 'skill-management': [{ title: t('nav.skill-management') }],
274
- 'system-settings': [{ title: t('nav.system-settings') }],`;
306
+ else {
307
+ // Append at end of navItems array
308
+ const navArrayMatch = modified.match(/const navItems\s*=\s*\[/);
309
+ if (!navArrayMatch)
310
+ return false;
311
+ const arrayStart = navArrayMatch.index + navArrayMatch[0].length;
312
+ let depth = 1;
313
+ let pos = arrayStart;
314
+ while (pos < modified.length && depth > 0) {
315
+ if (modified[pos] === '[')
316
+ depth++;
317
+ else if (modified[pos] === ']')
318
+ depth--;
319
+ pos++;
320
+ }
321
+ const closingBracket = pos - 1;
322
+ const lineStart = modified.lastIndexOf('\n', closingBracket) + 1;
323
+ modified = modified.slice(0, lineStart) + submenuItem + '\n' + modified.slice(lineStart);
324
+ }
325
+ }
326
+ // ── 3. Add switch case ──
327
+ const caseLine = ` case '${navKey}': return <${pascalName}Page />;`;
328
+ // Remove legacy switch cases: case 'system-settings': return <SystemSettingsPage />;
329
+ if (legacySystemImport) {
330
+ modified = modified.replace(/case\s*'system-settings':\s*return\s*<SystemSettingsPage\s*\/>;\n?/g, '');
331
+ }
332
+ // Remove legacy npm-import switch cases only when migrating from npm imports
333
+ if (migratedComponents.length > 0) {
334
+ // Remove legacy npm-import switch cases for known system pages
335
+ modified = modified.replace(/case\s*'model-management':\s*return\s*<ModelManagementPage\s*\/>;\n?/g, '');
336
+ modified = modified.replace(/case\s*'skill-management':\s*return\s*<SkillManagementPage\s*\/>;\n?/g, '');
337
+ }
338
+ // Only add new case if it doesn't already exist
339
+ if (!modified.includes(`case '${navKey}':`)) {
340
+ // Insert before default case
341
+ const defaultIdx = modified.indexOf('default:');
342
+ if (defaultIdx !== -1) {
343
+ const lineStart = modified.lastIndexOf('\n', defaultIdx) + 1;
344
+ modified = modified.slice(0, lineStart) + caseLine + '\n' + modified.slice(lineStart);
345
+ }
346
+ }
347
+ // Add switch cases for migrated components (they were removed above as npm-import cases)
348
+ for (const { pascalName: migPascal, navKey: migKey } of migratedComponents) {
349
+ if (migKey !== navKey && !modified.includes(`case '${migKey}':`)) {
350
+ const migCaseLine = ` case '${migKey}': return <${migPascal}Page />;`;
351
+ const defaultIdx = modified.indexOf('default:');
352
+ if (defaultIdx !== -1) {
353
+ const lineStart = modified.lastIndexOf('\n', defaultIdx) + 1;
354
+ modified = modified.slice(0, lineStart) + migCaseLine + '\n' + modified.slice(lineStart);
355
+ }
356
+ }
357
+ }
358
+ // ── 4. Add breadcrumb mapping ──
359
+ const breadcrumbLine = ` '${navKey}': [{ title: t('nav.${navKey}') }],`;
360
+ const bcMapMatch = modified.match(/const\s+breadcrumbMap[^=]*=\s*\{[\s\S]*?\n\s*\};/);
361
+ const hasBreadcrumb = bcMapMatch ? bcMapMatch[0].includes(`'${navKey}':`) : false;
362
+ if (!hasBreadcrumb) {
275
363
  const breadcrumbCommentIdx = modified.indexOf('// Add breadcrumb mappings');
276
364
  if (breadcrumbCommentIdx !== -1) {
277
- const bLineStart = modified.lastIndexOf('\n', breadcrumbCommentIdx) + 1;
278
- modified = modified.slice(0, bLineStart) + breadcrumbLines + '\n' + modified.slice(bLineStart);
365
+ const lineStart = modified.lastIndexOf('\n', breadcrumbCommentIdx) + 1;
366
+ modified = modified.slice(0, lineStart) + breadcrumbLine + '\n' + modified.slice(lineStart);
279
367
  }
280
368
  else {
281
- // Fallback: find the breadcrumbsMap object and add entry
282
- const breadcrumbsMapMatch = modified.match(/const\s+breadcrumbMap\s*:\s*Record<string,\s*BreadcrumbItem\[\]>\s*=\s*\{/);
283
- if (breadcrumbsMapMatch) {
284
- const mapStart = breadcrumbsMapMatch.index + breadcrumbsMapMatch[0].length;
285
- const closingBrace = modified.indexOf('}', mapStart);
286
- if (closingBrace !== -1) {
287
- modified = modified.slice(0, closingBrace) + breadcrumbLines + '\n' + modified.slice(closingBrace);
288
- }
289
- }
290
- else {
291
- // No breadcrumbMap exists at all — create one before the return statement
292
- const breadcrumbBlock = `\n const breadcrumbMap: Record<string, BreadcrumbItem[]> = {\n${breadcrumbLines}\n };\n`;
293
- const renderPageIdx = modified.indexOf('const renderPage');
294
- if (renderPageIdx !== -1) {
295
- // Add BreadcrumbItem type import if not present
296
- if (!modified.includes('BreadcrumbItem')) {
297
- modified = modified.replace(/\}\s*from\s*'@loom-framework\/frontend-antd';/, ", type { BreadcrumbItem } } from '@loom-framework/frontend-antd';");
298
- }
299
- const insertPos = modified.lastIndexOf('\n', renderPageIdx) + 1;
300
- modified = modified.slice(0, insertPos) + breadcrumbBlock + modified.slice(insertPos);
301
- }
369
+ // Add to existing breadcrumbMap
370
+ const mapMatch = modified.match(/const\s+breadcrumbMap[\s\S]*?\{/);
371
+ const mapObjMatch = modified.match(/const\s+breadcrumbMap[^=]*=\s*\{/);
372
+ if (mapObjMatch) {
373
+ const mapStart = mapObjMatch.index + mapObjMatch[0].length;
374
+ modified = modified.slice(0, mapStart) + '\n' + breadcrumbLine + modified.slice(mapStart);
302
375
  }
303
376
  }
304
377
  }
378
+ // Also add system-settings breadcrumb if not present
379
+ if (!modified.includes("'system-settings':") && modified.includes("key: 'system-settings'")) {
380
+ const sysBcLine = ` 'system-settings': [{ title: t('nav.system-settings') }],`;
381
+ const breadcrumbCommentIdx = modified.indexOf('// Add breadcrumb mappings');
382
+ if (breadcrumbCommentIdx !== -1) {
383
+ const lineStart = modified.lastIndexOf('\n', breadcrumbCommentIdx) + 1;
384
+ modified = modified.slice(0, lineStart) + sysBcLine + '\n' + modified.slice(lineStart);
385
+ }
386
+ }
387
+ // ── 5. Migration cleanups ──
388
+ // Ensure breadcrumbsMap prop on AppShell
389
+ if (modified.includes('<AppShell')) {
390
+ if (modified.includes('breadcrumbs={breadcrumbMap[selectedKey]}')) {
391
+ modified = modified.replace('breadcrumbs={breadcrumbMap[selectedKey]}', 'breadcrumbsMap={breadcrumbMap}');
392
+ }
393
+ else if (!modified.includes('breadcrumbsMap=')) {
394
+ modified = modified.replace('onNavClick={setSelectedKey}', 'onNavClick={setSelectedKey}\n breadcrumbsMap={breadcrumbMap}');
395
+ }
396
+ }
397
+ // Ensure baseUrl="" on AppShell
398
+ if (modified.includes('<AppShell') && !modified.includes('baseUrl=')) {
399
+ modified = modified.replace('<AppShell', '<AppShell\n baseUrl=""');
400
+ }
305
401
  await fs.writeFile(appPath, modified, 'utf-8');
306
402
  return true;
307
403
  }
@@ -1 +1 @@
1
- {"version":3,"file":"app-tsx-wiring.js","sourceRoot":"","sources":["../../../src/cli/helpers/app-tsx-wiring.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"app-tsx-wiring.js","sourceRoot":"","sources":["../../../src/cli/helpers/app-tsx-wiring.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"frontend-entry.d.ts","sourceRoot":"","sources":["../../../src/cli/templates/frontend-entry.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,WAAW,4BAA4B;IAC3C,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,wBAAgB,aAAa,IAAI,MAAM,CAWtC;AAED,wBAAgB,YAAY,CAAC,OAAO,EAAE,4BAA4B,GAAG,MAAM,CAiE1E;AAED,wBAAgB,eAAe,CAAC,OAAO,EAAE,4BAA4B,GAAG,MAAM,CAc7E"}
1
+ {"version":3,"file":"frontend-entry.d.ts","sourceRoot":"","sources":["../../../src/cli/templates/frontend-entry.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,WAAW,4BAA4B;IAC3C,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,wBAAgB,aAAa,IAAI,MAAM,CAWtC;AAED,wBAAgB,YAAY,CAAC,OAAO,EAAE,4BAA4B,GAAG,MAAM,CA8D1E;AAED,wBAAgB,eAAe,CAAC,OAAO,EAAE,4BAA4B,GAAG,MAAM,CAc7E"}
@@ -21,11 +21,9 @@ import type { BreadcrumbItem } from '@loom-framework/frontend-antd';
21
21
  // Register i18n keys for nav items and breadcrumbs
22
22
  registerMessages('zh-CN', {
23
23
  'nav.home': '${options.name}',
24
- 'nav.skill-management': '技能管理',
25
24
  });
26
25
  registerMessages('en-US', {
27
26
  'nav.home': '${options.name}',
28
- 'nav.skill-management': 'Skill Management',
29
27
  });
30
28
 
31
29
  function AppContent() {
@@ -39,7 +37,6 @@ function AppContent() {
39
37
 
40
38
  const breadcrumbMap: Record<string, BreadcrumbItem[]> = {
41
39
  '': [{ title: t('nav.home') }],
42
- 'skill-management': [{ title: t('nav.skill-management') }],
43
40
  // Add breadcrumb mappings as you generate pages:
44
41
  };
45
42
 
@@ -1 +1 @@
1
- {"version":3,"file":"frontend-entry.js","sourceRoot":"","sources":["../../../src/cli/templates/frontend-entry.ts"],"names":[],"mappings":"AAAA;;GAEG;AAOH,MAAM,UAAU,aAAa;IAC3B,OAAO;;;;;;;;;CASR,CAAC;AACF,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,OAAqC;IAChE,OAAO;;;;;;iBAMQ,OAAO,CAAC,IAAI;;;;iBAIZ,OAAO,CAAC,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;iBAyBZ,OAAO,CAAC,WAAW,IAAI,qBAAqB;;;;;;;;;eAS9C,OAAO,CAAC,IAAI;;;;;;;;;;;;;;;;;;;CAmB1B,CAAC;AACF,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,OAAqC;IACnE,OAAO;;;;;aAKI,OAAO,CAAC,IAAI;;;;;;;CAOxB,CAAC;AACF,CAAC"}
1
+ {"version":3,"file":"frontend-entry.js","sourceRoot":"","sources":["../../../src/cli/templates/frontend-entry.ts"],"names":[],"mappings":"AAAA;;GAEG;AAOH,MAAM,UAAU,aAAa;IAC3B,OAAO;;;;;;;;;CASR,CAAC;AACF,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,OAAqC;IAChE,OAAO;;;;;;iBAMQ,OAAO,CAAC,IAAI;;;iBAGZ,OAAO,CAAC,IAAI;;;;;;;;;;;;;;;;;;;;;;;iBAuBZ,OAAO,CAAC,WAAW,IAAI,qBAAqB;;;;;;;;;eAS9C,OAAO,CAAC,IAAI;;;;;;;;;;;;;;;;;;;CAmB1B,CAAC;AACF,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,OAAqC;IACnE,OAAO;;;;;aAKI,OAAO,CAAC,IAAI;;;;;;;CAOxB,CAAC;AACF,CAAC"}
@@ -12,4 +12,6 @@ export { createGitignore } from './gitignore.js';
12
12
  export { createClaudeMd, type ClaudeMdTemplateOptions } from './claude-md.js';
13
13
  export { crudPageTemplate, skeletonPageTemplate } from './crud-page.js';
14
14
  export { dashboardPageTemplate } from './dashboard-page.js';
15
+ export { modelManagementPageTemplate } from './model-management-page.js';
16
+ export { skillManagementPageTemplate } from './skill-management-page.js';
15
17
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/cli/templates/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,gBAAgB,EAAE,KAAK,yBAAyB,EAAE,MAAM,kBAAkB,CAAC;AACpF,OAAO,EAAE,iBAAiB,EAAE,KAAK,0BAA0B,EAAE,MAAM,mBAAmB,CAAC;AACvF,OAAO,EAAE,YAAY,EAAE,KAAK,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACvE,OAAO,EAAE,cAAc,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AACvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,eAAe,EAAE,KAAK,4BAA4B,EAAE,MAAM,qBAAqB,CAAC;AACtH,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,KAAK,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AAC9E,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AACxE,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/cli/templates/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,gBAAgB,EAAE,KAAK,yBAAyB,EAAE,MAAM,kBAAkB,CAAC;AACpF,OAAO,EAAE,iBAAiB,EAAE,KAAK,0BAA0B,EAAE,MAAM,mBAAmB,CAAC;AACvF,OAAO,EAAE,YAAY,EAAE,KAAK,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACvE,OAAO,EAAE,cAAc,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AACvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,eAAe,EAAE,KAAK,4BAA4B,EAAE,MAAM,qBAAqB,CAAC;AACtH,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,KAAK,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AAC9E,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AACxE,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,2BAA2B,EAAE,MAAM,4BAA4B,CAAC;AACzE,OAAO,EAAE,2BAA2B,EAAE,MAAM,4BAA4B,CAAC"}
@@ -12,4 +12,6 @@ export { createGitignore } from './gitignore.js';
12
12
  export { createClaudeMd } from './claude-md.js';
13
13
  export { crudPageTemplate, skeletonPageTemplate } from './crud-page.js';
14
14
  export { dashboardPageTemplate } from './dashboard-page.js';
15
+ export { modelManagementPageTemplate } from './model-management-page.js';
16
+ export { skillManagementPageTemplate } from './skill-management-page.js';
15
17
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/cli/templates/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,gBAAgB,EAAkC,MAAM,kBAAkB,CAAC;AACpF,OAAO,EAAE,iBAAiB,EAAmC,MAAM,mBAAmB,CAAC;AACvF,OAAO,EAAE,YAAY,EAA8B,MAAM,aAAa,CAAC;AACvE,OAAO,EAAE,cAAc,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AACvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,eAAe,EAAqC,MAAM,qBAAqB,CAAC;AACtH,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAgC,MAAM,gBAAgB,CAAC;AAC9E,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AACxE,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/cli/templates/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,gBAAgB,EAAkC,MAAM,kBAAkB,CAAC;AACpF,OAAO,EAAE,iBAAiB,EAAmC,MAAM,mBAAmB,CAAC;AACvF,OAAO,EAAE,YAAY,EAA8B,MAAM,aAAa,CAAC;AACvE,OAAO,EAAE,cAAc,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AACvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,eAAe,EAAqC,MAAM,qBAAqB,CAAC;AACtH,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAgC,MAAM,gBAAgB,CAAC;AAC9E,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AACxE,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,2BAA2B,EAAE,MAAM,4BAA4B,CAAC;AACzE,OAAO,EAAE,2BAA2B,EAAE,MAAM,4BAA4B,CAAC"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Model Management page template
3
+ *
4
+ * Generates ModelManagement page as a local source file.
5
+ * Page imports sub-components from @loom-framework/frontend-antd and
6
+ * registers its own i18n keys via registerMessages().
7
+ */
8
+ export declare function modelManagementPageTemplate(): string;
9
+ //# sourceMappingURL=model-management-page.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model-management-page.d.ts","sourceRoot":"","sources":["../../../src/cli/templates/model-management-page.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,wBAAgB,2BAA2B,IAAI,MAAM,CAiSpD"}