@tpitre/story-ui 4.16.0 → 4.16.2

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.
@@ -1 +1 @@
1
- {"version":3,"file":"dynamicPackageDiscovery.d.ts","sourceRoot":"","sources":["../../story-generator/dynamicPackageDiscovery.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,OAAO,CAAC;IACrB,IAAI,EAAE,UAAU,GAAG,OAAO,GAAG,QAAQ,GAAG,SAAS,CAAC;IAClD,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,cAAc;IAC7B,UAAU,EAAE,oBAAoB,EAAE,CAAC;IACnC,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;CACxB;AAED;;;;;;GAMG;AACH,qBAAa,uBAAuB;IAClC,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,SAAS,CAAS;gBAEd,WAAW,EAAE,MAAM,EAAE,WAAW,GAAE,MAAsB,EAAE,SAAS,GAAE,MAAgB;IAMjG;;OAEG;IACG,qBAAqB,IAAI,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;IA0H7D;;OAEG;YACW,cAAc;IAiD5B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IA2BzB;;OAEG;IACH,OAAO,CAAC,eAAe;IA4BvB;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAyB/B;;OAEG;IACH,OAAO,CAAC,0BAA0B;IASlC;;OAEG;IACH,OAAO,CAAC,aAAa;IA6BrB;;OAEG;IACG,0BAA0B,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAYrD;;OAEG;IACG,sBAAsB,CAAC,cAAc,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;QAC9D,KAAK,EAAE,MAAM,EAAE,CAAC;QAChB,OAAO,EAAE,MAAM,EAAE,CAAC;QAClB,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;KAClC,CAAC;IAyBF;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAkC5B;;;;;;OAMG;IACH,OAAO,CAAC,4BAA4B;IAyFpC;;;;OAIG;IACH,OAAO,CAAC,8BAA8B;IAwDtC;;;;OAIG;IACH,OAAO,CAAC,iCAAiC;IAyDzC;;;;OAIG;IACH,OAAO,CAAC,kCAAkC;IA0E1C;;;;;OAKG;IACH,OAAO,CAAC,iCAAiC;IAqFzC;;OAEG;IACH,OAAO,CAAC,2BAA2B;IAiDnC;;OAEG;IACH,OAAO,CAAC,4BAA4B;IAoCpC;;OAEG;IACH,OAAO,CAAC,eAAe;IAcvB;;OAEG;IACH,OAAO,CAAC,6BAA6B;IAyBrC;;OAEG;IACH,OAAO,CAAC,iCAAiC;CA+B1C;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,uBAAuB,CAEzG;AAED;;GAEG;AACH,wBAAsB,oBAAoB,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAGvG"}
1
+ {"version":3,"file":"dynamicPackageDiscovery.d.ts","sourceRoot":"","sources":["../../story-generator/dynamicPackageDiscovery.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,OAAO,CAAC;IACrB,IAAI,EAAE,UAAU,GAAG,OAAO,GAAG,QAAQ,GAAG,SAAS,CAAC;IAClD,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,cAAc;IAC7B,UAAU,EAAE,oBAAoB,EAAE,CAAC;IACnC,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;CACxB;AAED;;;;;;GAMG;AACH,qBAAa,uBAAuB;IAClC,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,SAAS,CAAS;gBAEd,WAAW,EAAE,MAAM,EAAE,WAAW,GAAE,MAAsB,EAAE,SAAS,GAAE,MAAgB;IAMjG;;OAEG;IACG,qBAAqB,IAAI,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;IA0H7D;;OAEG;YACW,cAAc;IAiD5B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IA2BzB;;OAEG;IACH,OAAO,CAAC,eAAe;IA4BvB;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAyB/B;;OAEG;IACH,OAAO,CAAC,0BAA0B;IASlC;;OAEG;IACH,OAAO,CAAC,aAAa;IA6BrB;;OAEG;IACG,0BAA0B,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAYrD;;OAEG;IACG,sBAAsB,CAAC,cAAc,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;QAC9D,KAAK,EAAE,MAAM,EAAE,CAAC;QAChB,OAAO,EAAE,MAAM,EAAE,CAAC;QAClB,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;KAClC,CAAC;IAyBF;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAkC5B;;;;;;OAMG;IACH,OAAO,CAAC,4BAA4B;IAyFpC;;;;OAIG;IACH,OAAO,CAAC,8BAA8B;IA6EtC;;;;OAIG;IACH,OAAO,CAAC,iCAAiC;IAyDzC;;;;OAIG;IACH,OAAO,CAAC,kCAAkC;IA0E1C;;;;;OAKG;IACH,OAAO,CAAC,iCAAiC;IAqFzC;;OAEG;IACH,OAAO,CAAC,2BAA2B;IAiDnC;;OAEG;IACH,OAAO,CAAC,4BAA4B;IAoCpC;;OAEG;IACH,OAAO,CAAC,eAAe;IAcvB;;OAEG;IACH,OAAO,CAAC,6BAA6B;IAyBrC;;OAEG;IACH,OAAO,CAAC,iCAAiC;CA+B1C;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,uBAAuB,CAEzG;AAED;;GAEG;AACH,wBAAsB,oBAAoB,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAGvG"}
@@ -472,16 +472,34 @@ export class DynamicPackageDiscovery {
472
472
  // export * from "./ComponentName/index.js" or export * from "./ComponentName/index.mjs"
473
473
  const reExportRegex = /export\s+\*\s+from\s+["']\.\/([^/]+)\/index(?:\.m?js)?["']/g;
474
474
  let match;
475
+ const componentsDir = path.dirname(componentsIndexPath);
475
476
  while ((match = reExportRegex.exec(content)) !== null) {
476
477
  const componentDir = match[1];
477
- // Component name is the directory name
478
+ // Resolve actual named exports from each subdirectory's index.d.ts
479
+ // This prevents directory names (e.g. "VGrid") from being treated as
480
+ // components when the directory actually re-exports different names
481
+ // (e.g. VContainer, VCol, VRow, VSpacer).
482
+ const subdirTypings = path.join(componentsDir, componentDir, 'index.d.ts');
483
+ if (fs.existsSync(subdirTypings)) {
484
+ try {
485
+ const realExports = this.extractComponentsFromTypings(fs.readFileSync(subdirTypings, 'utf-8'));
486
+ if (realExports.length > 0) {
487
+ for (const name of realExports) {
488
+ exports[name] = () => { };
489
+ exports[name].displayName = name;
490
+ exports[name].__componentPath = `${this.packageName}/${path.relative(packagePath, componentsDir)}/${componentDir}`;
491
+ }
492
+ continue; // Skip the directory-name fallback below
493
+ }
494
+ }
495
+ catch { /* fall through to directory-name fallback */ }
496
+ }
497
+ // Fallback: use directory name when we can't resolve actual exports
478
498
  if (this.isComponentName(componentDir)) {
479
499
  exports[componentDir] = () => { };
480
500
  exports[componentDir].displayName = componentDir;
481
- // GENERIC: Use relative path from package, not hardcoded design system name
482
- const relativePath = path.relative(packagePath, componentsIndexPath);
483
- const componentsDir = path.dirname(relativePath);
484
- exports[componentDir].__componentPath = `${this.packageName}/${componentsDir}/${componentDir}`;
501
+ const relPath = path.relative(packagePath, componentsIndexPath);
502
+ exports[componentDir].__componentPath = `${this.packageName}/${path.dirname(relPath)}/${componentDir}`;
485
503
  }
486
504
  }
487
505
  logger.log(`✅ Vue Framework: Found ${Object.keys(exports).length} components from ${path.basename(componentsIndexPath)}`);
@@ -1 +1 @@
1
- {"version":3,"file":"StoryUIPanel.d.ts","sourceRoot":"","sources":["../../../templates/StoryUI/StoryUIPanel.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,oBAAoB,CAAC;AAskC5B,UAAU,iBAAiB;IACzB,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CAC3B;AAED,iBAAS,YAAY,CAAC,EAAE,OAAO,EAAE,EAAE,iBAAiB,2CAm4CnD;AAED,eAAe,YAAY,CAAC;AAC5B,OAAO,EAAE,YAAY,EAAE,CAAC"}
1
+ {"version":3,"file":"StoryUIPanel.d.ts","sourceRoot":"","sources":["../../../templates/StoryUI/StoryUIPanel.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,oBAAoB,CAAC;AA6jC5B,UAAU,iBAAiB;IACzB,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CAC3B;AAED,iBAAS,YAAY,CAAC,EAAE,OAAO,EAAE,EAAE,iBAAiB,2CAm4CnD;AAED,eAAe,YAAY,CAAC;AAC5B,OAAO,EAAE,YAAY,EAAE,CAAC"}
@@ -578,27 +578,18 @@ function formatTime(timestamp) {
578
578
  }
579
579
  function getModelDisplayName(model) {
580
580
  const displayNames = {
581
- // Claude models
581
+ // Claude
582
582
  'claude-opus-4-6': 'Claude Opus 4.6',
583
583
  'claude-sonnet-4-6': 'Claude Sonnet 4.6',
584
- 'claude-opus-4-20250514': 'Claude Opus 4',
585
- 'claude-sonnet-4-5-20250929': 'Claude Sonnet 4.5',
586
584
  'claude-haiku-4-5-20251001': 'Claude Haiku 4.5',
587
- 'claude-sonnet-4-20250514': 'Claude Sonnet 4',
588
- // OpenAI models
589
- 'gpt-4.1': 'GPT-4.1',
590
- 'gpt-4.1-mini': 'GPT-4.1 Mini',
591
- 'o3': 'o3',
585
+ // OpenAI
586
+ 'gpt-5.4': 'GPT-5.4',
587
+ 'gpt-5.4-mini': 'GPT-5.4 Mini',
592
588
  'o4-mini': 'o4 Mini',
593
- 'gpt-4o': 'GPT-4o',
594
- 'gpt-4o-mini': 'GPT-4o Mini',
595
- 'o1': 'o1',
596
- // Gemini models
597
- 'gemini-3.1-pro-preview': 'Gemini 3.1 Pro Preview',
598
- 'gemini-2.5-pro': 'Gemini 2.5 Pro',
589
+ // Gemini
590
+ 'gemini-3.1-pro-preview': 'Gemini 3.1 Pro',
591
+ 'gemini-3-flash-preview': 'Gemini 3 Flash',
599
592
  'gemini-2.5-flash': 'Gemini 2.5 Flash',
600
- 'gemini-2.5-flash-lite': 'Gemini 2.5 Flash Lite',
601
- 'gemini-3-flash-preview': 'Gemini 3 Flash Preview',
602
593
  };
603
594
  return displayNames[model] || model;
604
595
  }
@@ -776,27 +776,18 @@ function formatTime(timestamp: number): string {
776
776
 
777
777
  function getModelDisplayName(model: string): string {
778
778
  const displayNames: Record<string, string> = {
779
- // Claude models
779
+ // Claude
780
780
  'claude-opus-4-6': 'Claude Opus 4.6',
781
781
  'claude-sonnet-4-6': 'Claude Sonnet 4.6',
782
- 'claude-opus-4-20250514': 'Claude Opus 4',
783
- 'claude-sonnet-4-5-20250929': 'Claude Sonnet 4.5',
784
782
  'claude-haiku-4-5-20251001': 'Claude Haiku 4.5',
785
- 'claude-sonnet-4-20250514': 'Claude Sonnet 4',
786
- // OpenAI models
787
- 'gpt-4.1': 'GPT-4.1',
788
- 'gpt-4.1-mini': 'GPT-4.1 Mini',
789
- 'o3': 'o3',
783
+ // OpenAI
784
+ 'gpt-5.4': 'GPT-5.4',
785
+ 'gpt-5.4-mini': 'GPT-5.4 Mini',
790
786
  'o4-mini': 'o4 Mini',
791
- 'gpt-4o': 'GPT-4o',
792
- 'gpt-4o-mini': 'GPT-4o Mini',
793
- 'o1': 'o1',
794
- // Gemini models
795
- 'gemini-3.1-pro-preview': 'Gemini 3.1 Pro Preview',
796
- 'gemini-2.5-pro': 'Gemini 2.5 Pro',
787
+ // Gemini
788
+ 'gemini-3.1-pro-preview': 'Gemini 3.1 Pro',
789
+ 'gemini-3-flash-preview': 'Gemini 3 Flash',
797
790
  'gemini-2.5-flash': 'Gemini 2.5 Flash',
798
- 'gemini-2.5-flash-lite': 'Gemini 2.5 Flash Lite',
799
- 'gemini-3-flash-preview': 'Gemini 3 Flash Preview',
800
791
  };
801
792
  return displayNames[model] || model;
802
793
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tpitre/story-ui",
3
- "version": "4.16.0",
3
+ "version": "4.16.2",
4
4
  "description": "AI-powered Storybook story generator with dynamic component discovery",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -776,27 +776,18 @@ function formatTime(timestamp: number): string {
776
776
 
777
777
  function getModelDisplayName(model: string): string {
778
778
  const displayNames: Record<string, string> = {
779
- // Claude models
779
+ // Claude
780
780
  'claude-opus-4-6': 'Claude Opus 4.6',
781
781
  'claude-sonnet-4-6': 'Claude Sonnet 4.6',
782
- 'claude-opus-4-20250514': 'Claude Opus 4',
783
- 'claude-sonnet-4-5-20250929': 'Claude Sonnet 4.5',
784
782
  'claude-haiku-4-5-20251001': 'Claude Haiku 4.5',
785
- 'claude-sonnet-4-20250514': 'Claude Sonnet 4',
786
- // OpenAI models
787
- 'gpt-4.1': 'GPT-4.1',
788
- 'gpt-4.1-mini': 'GPT-4.1 Mini',
789
- 'o3': 'o3',
783
+ // OpenAI
784
+ 'gpt-5.4': 'GPT-5.4',
785
+ 'gpt-5.4-mini': 'GPT-5.4 Mini',
790
786
  'o4-mini': 'o4 Mini',
791
- 'gpt-4o': 'GPT-4o',
792
- 'gpt-4o-mini': 'GPT-4o Mini',
793
- 'o1': 'o1',
794
- // Gemini models
795
- 'gemini-3.1-pro-preview': 'Gemini 3.1 Pro Preview',
796
- 'gemini-2.5-pro': 'Gemini 2.5 Pro',
787
+ // Gemini
788
+ 'gemini-3.1-pro-preview': 'Gemini 3.1 Pro',
789
+ 'gemini-3-flash-preview': 'Gemini 3 Flash',
797
790
  'gemini-2.5-flash': 'Gemini 2.5 Flash',
798
- 'gemini-2.5-flash-lite': 'Gemini 2.5 Flash Lite',
799
- 'gemini-3-flash-preview': 'Gemini 3 Flash Preview',
800
791
  };
801
792
  return displayNames[model] || model;
802
793
  }