@happyvertical/smrt-core 0.36.4 → 0.36.6

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 (115) hide show
  1. package/dist/collection.d.ts +9 -4
  2. package/dist/collection.d.ts.map +1 -1
  3. package/dist/collection.js +6 -0
  4. package/dist/collection.js.map +1 -1
  5. package/dist/config.d.ts +1 -1
  6. package/dist/config.d.ts.map +1 -1
  7. package/dist/config.js.map +1 -1
  8. package/dist/consumer-plugin/index.d.ts.map +1 -1
  9. package/dist/consumer-plugin/index.js +7 -3
  10. package/dist/consumer-plugin/index.js.map +1 -1
  11. package/dist/database.d.ts +3 -3
  12. package/dist/database.d.ts.map +1 -1
  13. package/dist/database.js.map +1 -1
  14. package/dist/embeddings/provider.d.ts +14 -2
  15. package/dist/embeddings/provider.d.ts.map +1 -1
  16. package/dist/embeddings/provider.js +3 -3
  17. package/dist/embeddings/provider.js.map +1 -1
  18. package/dist/embeddings/storage.js.map +1 -1
  19. package/dist/errors.d.ts +22 -22
  20. package/dist/errors.d.ts.map +1 -1
  21. package/dist/errors.js +5 -4
  22. package/dist/errors.js.map +1 -1
  23. package/dist/knowledge.d.ts +12 -1
  24. package/dist/knowledge.d.ts.map +1 -1
  25. package/dist/knowledge.js.map +1 -1
  26. package/dist/lazy-config.d.ts.map +1 -1
  27. package/dist/lazy-config.js.map +1 -1
  28. package/dist/manifest/generator.d.ts.map +1 -1
  29. package/dist/manifest/generator.js +14 -12
  30. package/dist/manifest/generator.js.map +1 -1
  31. package/dist/manifest/manager.d.ts +3 -3
  32. package/dist/manifest/manager.d.ts.map +1 -1
  33. package/dist/manifest/manager.js.map +1 -1
  34. package/dist/manifest/manifest-loader.d.ts +3 -2
  35. package/dist/manifest/manifest-loader.d.ts.map +1 -1
  36. package/dist/manifest/manifest-loader.js +3 -2
  37. package/dist/manifest/manifest-loader.js.map +1 -1
  38. package/dist/manifest/static-manifest.d.ts.map +1 -1
  39. package/dist/manifest/static-manifest.js +13 -198
  40. package/dist/manifest/static-manifest.js.map +1 -1
  41. package/dist/manifest/store.js +2 -2
  42. package/dist/manifest/store.js.map +1 -1
  43. package/dist/manifest/test-manifest-stub.d.ts.map +1 -1
  44. package/dist/manifest/test-manifest-stub.js +13 -198
  45. package/dist/manifest/test-manifest-stub.js.map +1 -1
  46. package/dist/manifest.json +13 -175
  47. package/dist/mcp-advisor/index.d.ts +1 -1
  48. package/dist/mcp-advisor/index.d.ts.map +1 -1
  49. package/dist/mcp-advisor/tools/get-object-config.d.ts.map +1 -1
  50. package/dist/mcp-advisor/types.d.ts +5 -5
  51. package/dist/mcp-advisor/types.d.ts.map +1 -1
  52. package/dist/migrations/differ.js.map +1 -1
  53. package/dist/registry/types.d.ts +21 -0
  54. package/dist/registry/types.d.ts.map +1 -1
  55. package/dist/registry.d.ts.map +1 -1
  56. package/dist/registry.js +9 -0
  57. package/dist/registry.js.map +1 -1
  58. package/dist/scanner/manifest-generator.d.ts +13 -3
  59. package/dist/scanner/manifest-generator.d.ts.map +1 -1
  60. package/dist/scanner/manifest-generator.js +49 -16
  61. package/dist/scanner/manifest-generator.js.map +1 -1
  62. package/dist/scanner/types.d.ts +60 -6
  63. package/dist/scanner/types.d.ts.map +1 -1
  64. package/dist/schema/code-generator.d.ts.map +1 -1
  65. package/dist/schema/ddl/base-strategy.d.ts +2 -2
  66. package/dist/schema/ddl/base-strategy.d.ts.map +1 -1
  67. package/dist/schema/ddl/base-strategy.js.map +1 -1
  68. package/dist/schema/ddl/sqlite-strategy.d.ts +1 -1
  69. package/dist/schema/ddl/sqlite-strategy.d.ts.map +1 -1
  70. package/dist/schema/ddl/sqlite-strategy.js.map +1 -1
  71. package/dist/schema/ddl/types.d.ts +1 -1
  72. package/dist/schema/ddl/types.d.ts.map +1 -1
  73. package/dist/schema/generator.d.ts +27 -4
  74. package/dist/schema/generator.d.ts.map +1 -1
  75. package/dist/schema/generator.js +3 -2
  76. package/dist/schema/generator.js.map +1 -1
  77. package/dist/schema/override-system.d.ts +3 -3
  78. package/dist/schema/override-system.d.ts.map +1 -1
  79. package/dist/schema/schema-aggregator.d.ts.map +1 -1
  80. package/dist/schema/schema-manager.d.ts.map +1 -1
  81. package/dist/schema/schema-manager.js +12 -4
  82. package/dist/schema/schema-manager.js.map +1 -1
  83. package/dist/schema/types.d.ts +1 -1
  84. package/dist/schema/types.d.ts.map +1 -1
  85. package/dist/schema/utils.d.ts +6 -1
  86. package/dist/schema/utils.d.ts.map +1 -1
  87. package/dist/schema/utils.js +2 -1
  88. package/dist/schema/utils.js.map +1 -1
  89. package/dist/signals/sanitizer.d.ts +1 -1
  90. package/dist/signals/sanitizer.d.ts.map +1 -1
  91. package/dist/signals/sanitizer.js +12 -2
  92. package/dist/signals/sanitizer.js.map +1 -1
  93. package/dist/smrt-knowledge.json +14 -26
  94. package/dist/system/types.d.ts +2 -2
  95. package/dist/system/types.d.ts.map +1 -1
  96. package/dist/system-fields.d.ts +5 -43
  97. package/dist/system-fields.d.ts.map +1 -1
  98. package/dist/system-fields.js +2 -1
  99. package/dist/system-fields.js.map +1 -1
  100. package/dist/test-utils.d.ts +39 -13
  101. package/dist/test-utils.d.ts.map +1 -1
  102. package/dist/testing/database.d.ts.map +1 -1
  103. package/dist/testing/database.js.map +1 -1
  104. package/dist/utils/json.js.map +1 -1
  105. package/dist/utils.d.ts +16 -8
  106. package/dist/utils.d.ts.map +1 -1
  107. package/dist/utils.js.map +1 -1
  108. package/dist/vite-plugin/index.d.ts.map +1 -1
  109. package/dist/vite-plugin/index.js +11 -7
  110. package/dist/vite-plugin/index.js.map +1 -1
  111. package/dist/vite-plugin/sveltekit-generator.d.ts.map +1 -1
  112. package/dist/vite-plugin/sveltekit-generator.js +4 -3
  113. package/dist/vite-plugin/sveltekit-generator.js.map +1 -1
  114. package/dist/vite-plugin/templates/default-ui.ts +20 -6
  115. package/package.json +10 -10
@@ -1,4 +1,11 @@
1
1
  import { ScanResult, SmartObjectManifest, SmrtVisibility } from './types.js';
2
+ /** Package.json shape consumed for import-path and component discovery. */
3
+ interface PackageJsonLike {
4
+ name?: string;
5
+ main?: string;
6
+ exports?: Record<string, unknown>;
7
+ [key: string]: unknown;
8
+ }
2
9
  export declare class ManifestGenerator {
3
10
  /**
4
11
  * Generate manifest from scan results
@@ -16,7 +23,7 @@ export declare class ManifestGenerator {
16
23
  generateManifest(scanResults: ScanResult[], options?: {
17
24
  packageName?: string;
18
25
  packageVersion?: string;
19
- packageJson?: any;
26
+ packageJson?: PackageJsonLike;
20
27
  smrtDependencies?: string[];
21
28
  includeVisibility?: SmrtVisibility[];
22
29
  }): SmartObjectManifest;
@@ -59,6 +66,8 @@ export declare class ManifestGenerator {
59
66
  * @param manifest - The manifest to process in-place
60
67
  */
61
68
  generateSchemas(manifest: SmartObjectManifest): void;
69
+ normalizeReportObjects(manifest: SmartObjectManifest): void;
70
+ normalizeReportTenantScope(manifest: SmartObjectManifest): void;
62
71
  private resolveSamePackageForeignKeyColumnTypes;
63
72
  private findForeignKeyTargetSchema;
64
73
  private getObjectTableName;
@@ -270,7 +279,7 @@ export declare class ManifestGenerator {
270
279
  * @param packageName - Package name for component export paths
271
280
  * @param packageJson - Full package.json for component discovery
272
281
  */
273
- generateAgentManifests(manifest: SmartObjectManifest, packageName?: string, packageJson?: any): void;
282
+ generateAgentManifests(manifest: SmartObjectManifest, packageName?: string, packageJson?: PackageJsonLike): void;
274
283
  /**
275
284
  * Get deduplicated list of method names exposed via CLI and MCP config
276
285
  */
@@ -297,8 +306,9 @@ export declare class ManifestGenerator {
297
306
  export declare function generateManifest(scanResults: ScanResult[], options?: {
298
307
  packageName?: string;
299
308
  packageVersion?: string;
300
- packageJson?: any;
309
+ packageJson?: PackageJsonLike;
301
310
  smrtDependencies?: string[];
302
311
  includeVisibility?: SmrtVisibility[];
303
312
  }): SmartObjectManifest;
313
+ export {};
304
314
  //# sourceMappingURL=manifest-generator.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"manifest-generator.d.ts","sourceRoot":"","sources":["../../src/scanner/manifest-generator.ts"],"names":[],"mappings":"AAAA;;GAEG;AAaH,OAAO,KAAK,EAUV,UAAU,EAEV,mBAAmB,EACnB,cAAc,EAEf,MAAM,YAAY,CAAC;AAsDpB,qBAAa,iBAAiB;IAC5B;;;;;;;;;;;;OAYG;IACH,gBAAgB,CACd,WAAW,EAAE,UAAU,EAAE,EACzB,OAAO,CAAC,EAAE;QACR,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,WAAW,CAAC,EAAE,GAAG,CAAC;QAClB,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;QAC5B,iBAAiB,CAAC,EAAE,cAAc,EAAE,CAAC;KACtC,GACA,mBAAmB;IAiItB;;;;;;OAMG;IACH,wBAAwB,CAAC,QAAQ,EAAE,mBAAmB,GAAG,IAAI;IAM7D,OAAO,CAAC,uBAAuB;IAwD/B,gCAAgC,CAAC,QAAQ,EAAE,mBAAmB,GAAG,IAAI;IA0DrE,OAAO,CAAC,0BAA0B;IAoBlC,OAAO,CAAC,+BAA+B;IAqBvC,OAAO,CAAC,2BAA2B;IAyBnC;;;;;;;;;;OAUG;IACH,uBAAuB,CAAC,QAAQ,EAAE,mBAAmB,GAAG,IAAI;IA2F5D;;;;;;;;;;;;OAYG;IACH,eAAe,CAAC,QAAQ,EAAE,mBAAmB,GAAG,IAAI;IA0FpD,OAAO,CAAC,uCAAuC;IAwE/C,OAAO,CAAC,0BAA0B;IA8BlC,OAAO,CAAC,kBAAkB;IAQ1B,OAAO,CAAC,wBAAwB;IAsChC,OAAO,CAAC,4BAA4B;IAqCpC,OAAO,CAAC,yBAAyB;IAqCjC,OAAO,CAAC,qBAAqB;IAyB7B,OAAO,CAAC,gBAAgB;IAkBxB;;;;;;;;OAQG;IACH,OAAO,CAAC,wBAAwB;IAiChC;;;;;OAKG;IACH,OAAO,CAAC,eAAe;IAgDvB;;;;;;;;;;;;;;OAcG;IACH,OAAO,CAAC,4BAA4B;IAsCpC;;;;;;OAMG;IACH,OAAO,CAAC,eAAe;IA6DvB;;;;;OAKG;IACH,OAAO,CAAC,oBAAoB;IAM5B,OAAO,CAAC,gCAAgC;IAyBxC,OAAO,CAAC,eAAe;IAMvB;;;;;;;;;;;;;;OAcG;IACI,oBAAoB,CAAC,QAAQ,EAAE,mBAAmB,GAAG,IAAI;IAkOhE;;;;;;OAMG;IACH,OAAO,CAAC,iBAAiB;IAyBzB;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,aAAa;IA4HrB;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,UAAU;IAqDlB;;;;;;;;;;OAUG;IACH,OAAO,CAAC,WAAW;IAyDnB;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,6BAA6B;IA6BrC;;;;;;;;OAQG;IACH,OAAO,CAAC,mBAAmB;IAmC3B;;OAEG;IACH,uBAAuB,CAAC,QAAQ,EAAE,mBAAmB,GAAG,MAAM;IAU9D;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAczB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAuBxB;;OAEG;IACH,qBAAqB,CAAC,QAAQ,EAAE,mBAAmB,GAAG,MAAM;IAa5D;;OAEG;IACH,wBAAwB,CAAC,QAAQ,EAAE,mBAAmB,GAAG,MAAM;IAa/D;;OAEG;IACH,OAAO,CAAC,mBAAmB;IA2C3B,OAAO,CAAC,kBAAkB;IAkE1B;;OAEG;IACH,OAAO,CAAC,oBAAoB;IA+F5B;;OAEG;IACH,gBAAgB,CAAC,QAAQ,EAAE,mBAAmB,GAAG,MAAM;IAavD;;OAEG;IACH,oBAAoB,CAAC,QAAQ,EAAE,mBAAmB,GAAG,MAAM;IAa3D;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAkC7B;;OAEG;IACH,OAAO,CAAC,eAAe;IA+DvB;;OAEG;IACH,OAAO,CAAC,wBAAwB;IAsBhC;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAuB1B;;;;;;;;;;;;;OAaG;IACH,sBAAsB,CACpB,QAAQ,EAAE,mBAAmB,EAC7B,WAAW,CAAC,EAAE,MAAM,EACpB,WAAW,CAAC,EAAE,GAAG,GAChB,IAAI;IA2HP;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAoBzB;;OAEG;IACH,OAAO,CAAC,eAAe;IAgBvB;;OAEG;IACH,YAAY,CAAC,QAAQ,EAAE,mBAAmB,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI;IAKnE;;OAEG;IACH,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,mBAAmB;CAKpD;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAC9B,WAAW,EAAE,UAAU,EAAE,EACzB,OAAO,CAAC,EAAE;IACR,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,WAAW,CAAC,EAAE,GAAG,CAAC;IAClB,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,iBAAiB,CAAC,EAAE,cAAc,EAAE,CAAC;CACtC,GACA,mBAAmB,CAGrB"}
1
+ {"version":3,"file":"manifest-generator.d.ts","sourceRoot":"","sources":["../../src/scanner/manifest-generator.ts"],"names":[],"mappings":"AAAA;;GAEG;AAmBH,OAAO,KAAK,EAYV,UAAU,EAEV,mBAAmB,EACnB,cAAc,EAEf,MAAM,YAAY,CAAC;AAEpB,2EAA2E;AAC3E,UAAU,eAAe;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AA+ED,qBAAa,iBAAiB;IAC5B;;;;;;;;;;;;OAYG;IACH,gBAAgB,CACd,WAAW,EAAE,UAAU,EAAE,EACzB,OAAO,CAAC,EAAE;QACR,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,WAAW,CAAC,EAAE,eAAe,CAAC;QAC9B,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;QAC5B,iBAAiB,CAAC,EAAE,cAAc,EAAE,CAAC;KACtC,GACA,mBAAmB;IA2ItB;;;;;;OAMG;IACH,wBAAwB,CAAC,QAAQ,EAAE,mBAAmB,GAAG,IAAI;IAM7D,OAAO,CAAC,uBAAuB;IAwD/B,gCAAgC,CAAC,QAAQ,EAAE,mBAAmB,GAAG,IAAI;IA0DrE,OAAO,CAAC,0BAA0B;IAoBlC,OAAO,CAAC,+BAA+B;IAqBvC,OAAO,CAAC,2BAA2B;IA2BnC;;;;;;;;;;OAUG;IACH,uBAAuB,CAAC,QAAQ,EAAE,mBAAmB,GAAG,IAAI;IAgG5D;;;;;;;;;;;;OAYG;IACH,eAAe,CAAC,QAAQ,EAAE,mBAAmB,GAAG,IAAI;IA8FpD,sBAAsB,CAAC,QAAQ,EAAE,mBAAmB,GAAG,IAAI;IAiC3D,0BAA0B,CAAC,QAAQ,EAAE,mBAAmB,GAAG,IAAI;IAO/D,OAAO,CAAC,uCAAuC;IAwE/C,OAAO,CAAC,0BAA0B;IA8BlC,OAAO,CAAC,kBAAkB;IAQ1B,OAAO,CAAC,wBAAwB;IAwChC,OAAO,CAAC,4BAA4B;IAqCpC,OAAO,CAAC,yBAAyB;IAqCjC,OAAO,CAAC,qBAAqB;IAyB7B,OAAO,CAAC,gBAAgB;IAkBxB;;;;;;;;OAQG;IACH,OAAO,CAAC,wBAAwB;IAiChC;;;;;OAKG;IACH,OAAO,CAAC,eAAe;IAgDvB;;;;;;;;;;;;;;OAcG;IACH,OAAO,CAAC,4BAA4B;IAsCpC;;;;;;OAMG;IACH,OAAO,CAAC,eAAe;IA6DvB;;;;;OAKG;IACH,OAAO,CAAC,oBAAoB;IAM5B,OAAO,CAAC,gCAAgC;IAyBxC,OAAO,CAAC,eAAe;IAMvB;;;;;;;;;;;;;;OAcG;IACI,oBAAoB,CAAC,QAAQ,EAAE,mBAAmB,GAAG,IAAI;IAkOhE;;;;;;OAMG;IACH,OAAO,CAAC,iBAAiB;IAyBzB;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,aAAa;IA4HrB;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,UAAU;IAqDlB;;;;;;;;;;OAUG;IACH,OAAO,CAAC,WAAW;IAyDnB;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,6BAA6B;IA6BrC;;;;;;;;OAQG;IACH,OAAO,CAAC,mBAAmB;IA4C3B;;OAEG;IACH,uBAAuB,CAAC,QAAQ,EAAE,mBAAmB,GAAG,MAAM;IAU9D;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAczB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAuBxB;;OAEG;IACH,qBAAqB,CAAC,QAAQ,EAAE,mBAAmB,GAAG,MAAM;IAa5D;;OAEG;IACH,wBAAwB,CAAC,QAAQ,EAAE,mBAAmB,GAAG,MAAM;IAa/D;;OAEG;IACH,OAAO,CAAC,mBAAmB;IA2C3B,OAAO,CAAC,kBAAkB;IAkE1B;;OAEG;IACH,OAAO,CAAC,oBAAoB;IA+F5B;;OAEG;IACH,gBAAgB,CAAC,QAAQ,EAAE,mBAAmB,GAAG,MAAM;IAavD;;OAEG;IACH,oBAAoB,CAAC,QAAQ,EAAE,mBAAmB,GAAG,MAAM;IAa3D;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAkC7B;;OAEG;IACH,OAAO,CAAC,eAAe;IA+DvB;;OAEG;IACH,OAAO,CAAC,wBAAwB;IAsBhC;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAuB1B;;;;;;;;;;;;;OAaG;IACH,sBAAsB,CACpB,QAAQ,EAAE,mBAAmB,EAC7B,WAAW,CAAC,EAAE,MAAM,EACpB,WAAW,CAAC,EAAE,eAAe,GAC5B,IAAI;IAkIP;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAoBzB;;OAEG;IACH,OAAO,CAAC,eAAe;IAgBvB;;OAEG;IACH,YAAY,CAAC,QAAQ,EAAE,mBAAmB,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI;IAKnE;;OAEG;IACH,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,mBAAmB;CAKpD;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAC9B,WAAW,EAAE,UAAU,EAAE,EACzB,OAAO,CAAC,EAAE;IACR,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,WAAW,CAAC,EAAE,eAAe,CAAC;IAC9B,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,iBAAiB,CAAC,EAAE,cAAc,EAAE,CAAC;CACtC,GACA,mBAAmB,CAGrB"}
@@ -10,7 +10,9 @@ const require$1 = createRequire(import.meta.url);
10
10
  const FRAMEWORK_ABSTRACT_BASE_NAMES = /* @__PURE__ */ new Set([
11
11
  "SmrtJunction",
12
12
  "SmrtHierarchical",
13
- "SmrtPolymorphicAssociation"
13
+ "SmrtPolymorphicAssociation",
14
+ "SmrtReport",
15
+ "SmrtReportCollection"
14
16
  ]);
15
17
  function inferVisibility(filePath, explicitVisibility) {
16
18
  if (explicitVisibility) return explicitVisibility;
@@ -99,8 +101,10 @@ Class names must be unique within a package. Use different class names or separa
99
101
  manifest.objects[manifestKey] = objectDef;
100
102
  }
101
103
  }
104
+ this.normalizeReportTenantScope(manifest);
102
105
  this.injectTenantScopedFields(manifest);
103
106
  this.mergeInheritedFields(manifest);
107
+ this.normalizeReportObjects(manifest);
104
108
  this.generateValidationRules(manifest);
105
109
  this.generateSchemas(manifest);
106
110
  this.assertTenantScopedSchemaContract(manifest);
@@ -323,6 +327,8 @@ ${failures.map((failure) => ` - ${failure}`).join("\n")}`
323
327
  rules.push({
324
328
  field: fieldName,
325
329
  rule: "pattern",
330
+ // RegExp patterns expose `.source`; a JSON-collapsed RegExp ({})
331
+ // has none, preserving the prior `undefined` value exactly.
326
332
  value: typeof pattern === "string" ? pattern : pattern.source,
327
333
  fieldType: field.type
328
334
  });
@@ -355,6 +361,9 @@ ${failures.map((failure) => ` - ${failure}`).join("\n")}`
355
361
  Object.values(manifest.objects).map((o) => o.className)
356
362
  );
357
363
  for (const [name, obj] of Object.entries(manifest.objects)) {
364
+ if (FRAMEWORK_ABSTRACT_BASE_NAMES.has(obj.className)) {
365
+ continue;
366
+ }
358
367
  const tableName = obj.decoratorConfig?.tableName || this.classNameToTableName(obj.className);
359
368
  if (obj.decoratorConfig?.tableStrategy === "sti") {
360
369
  if (processedSTIBases.has(name)) continue;
@@ -406,6 +415,28 @@ ${failures.map((failure) => ` - ${failure}`).join("\n")}`
406
415
  }
407
416
  this.resolveSamePackageForeignKeyColumnTypes(manifest, generator);
408
417
  }
418
+ normalizeReportObjects(manifest) {
419
+ for (const obj of Object.values(manifest.objects)) {
420
+ if (!obj.decoratorConfig?.report) continue;
421
+ obj.decoratorConfig.api ??= { include: ["list", "get"] };
422
+ obj.decoratorConfig.mcp ??= { include: ["list", "get"] };
423
+ if (obj.decoratorConfig.conflictColumns) continue;
424
+ const tenantScoped = obj.decoratorConfig.tenantScoped;
425
+ const tenantField = tenantScoped && typeof tenantScoped === "object" ? tenantScoped.field || "tenantId" : tenantScoped ? "tenantId" : void 0;
426
+ const tenantColumn = tenantField && obj.fields[tenantField] ? toSnakeCase(tenantField) : "";
427
+ const conflictColumns = Object.entries(obj.fields).filter(([, field]) => {
428
+ const kind = field._meta?.__report?.kind;
429
+ return kind === "group" || kind === "bucket";
430
+ }).map(([fieldName]) => toSnakeCase(fieldName));
431
+ obj.decoratorConfig.conflictColumns = conflictColumns.length > 0 ? [...tenantColumn ? [tenantColumn] : [], ...conflictColumns] : ["id"];
432
+ }
433
+ }
434
+ normalizeReportTenantScope(manifest) {
435
+ for (const obj of Object.values(manifest.objects)) {
436
+ if (!obj.decoratorConfig?.report) continue;
437
+ obj.decoratorConfig.tenantScoped ??= { mode: "optional" };
438
+ }
439
+ }
409
440
  resolveSamePackageForeignKeyColumnTypes(manifest, generator) {
410
441
  const schemaByTable = /* @__PURE__ */ new Map();
411
442
  const ownerBySchema = /* @__PURE__ */ new Map();
@@ -477,20 +508,21 @@ ${failures.map((failure) => ` - ${failure}`).join("\n")}`
477
508
  return obj.schema?.tableName || obj.decoratorConfig?.tableName || this.classNameToTableName(obj.className);
478
509
  }
479
510
  refreshManifestSchemaDDL(schema, generator, owner, manifest) {
511
+ const columns = {};
512
+ for (const [name, column] of Object.entries(schema.columns)) {
513
+ columns[name] = {
514
+ // ManifestColumnDefinition stores `type` as a plain string; it is
515
+ // always a valid SQLDataType for DDL rendering.
516
+ type: column.type,
517
+ primaryKey: column.primaryKey,
518
+ notNull: column.notNull,
519
+ unique: column.unique,
520
+ defaultValue: column.default
521
+ };
522
+ }
480
523
  const schemaDefinition = {
481
524
  tableName: schema.tableName,
482
- columns: Object.fromEntries(
483
- Object.entries(schema.columns).map(([name, column]) => [
484
- name,
485
- {
486
- type: column.type,
487
- primaryKey: column.primaryKey,
488
- notNull: column.notNull,
489
- unique: column.unique,
490
- defaultValue: column.default
491
- }
492
- ])
493
- ),
525
+ columns,
494
526
  indexes: (schema.indexes || []).map((index) => ({
495
527
  name: index.name,
496
528
  columns: index.columns,
@@ -1148,11 +1180,12 @@ ${failures.map((failure) => ` - ${failure}`).join("\n")}`
1148
1180
  }
1149
1181
  const mainExport = packageJson.exports["."];
1150
1182
  if (mainExport) {
1151
- if (typeof mainExport === "object") {
1152
- if (mainExport.import) {
1183
+ if (mainExport && typeof mainExport === "object") {
1184
+ const conditional = mainExport;
1185
+ if (conditional.import) {
1153
1186
  return packageName;
1154
1187
  }
1155
- if (mainExport.default) {
1188
+ if (conditional.default) {
1156
1189
  return packageName;
1157
1190
  }
1158
1191
  }