@happyvertical/smrt-core 0.48.0 → 0.49.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (72) hide show
  1. package/agents/object-runtime.md +7 -0
  2. package/agents/schema-paths.md +17 -0
  3. package/dist/cascade.d.ts.map +1 -1
  4. package/dist/cascade.js +9 -6
  5. package/dist/cascade.js.map +1 -1
  6. package/dist/collection.d.ts +0 -1
  7. package/dist/collection.d.ts.map +1 -1
  8. package/dist/collection.js +32 -44
  9. package/dist/collection.js.map +1 -1
  10. package/dist/decorators/compatibility.d.ts +1 -1
  11. package/dist/decorators/compatibility.d.ts.map +1 -1
  12. package/dist/decorators/compatibility.js +2 -2
  13. package/dist/decorators/compatibility.js.map +1 -1
  14. package/dist/decorators/index.d.ts.map +1 -1
  15. package/dist/decorators/index.js +33 -24
  16. package/dist/decorators/index.js.map +1 -1
  17. package/dist/interceptors.d.ts +3 -1
  18. package/dist/interceptors.d.ts.map +1 -1
  19. package/dist/interceptors.js +3 -2
  20. package/dist/interceptors.js.map +1 -1
  21. package/dist/manifest/static-manifest.js +1 -1
  22. package/dist/manifest/static-manifest.js.map +1 -1
  23. package/dist/manifest/store.js +1 -1
  24. package/dist/manifest.json +1 -1
  25. package/dist/object.d.ts +1 -5
  26. package/dist/object.d.ts.map +1 -1
  27. package/dist/object.js +28 -37
  28. package/dist/object.js.map +1 -1
  29. package/dist/registry/class-registration.d.ts +2 -1
  30. package/dist/registry/class-registration.d.ts.map +1 -1
  31. package/dist/registry/class-registration.js +47 -16
  32. package/dist/registry/class-registration.js.map +1 -1
  33. package/dist/registry/name-resolver.d.ts.map +1 -1
  34. package/dist/registry/name-resolver.js +3 -3
  35. package/dist/registry/name-resolver.js.map +1 -1
  36. package/dist/registry/relationship-graph.d.ts +2 -0
  37. package/dist/registry/relationship-graph.d.ts.map +1 -1
  38. package/dist/registry/relationship-graph.js +60 -5
  39. package/dist/registry/relationship-graph.js.map +1 -1
  40. package/dist/registry/schema-builder.d.ts.map +1 -1
  41. package/dist/registry/schema-builder.js +4 -1
  42. package/dist/registry/schema-builder.js.map +1 -1
  43. package/dist/registry/shared-state.d.ts +18 -0
  44. package/dist/registry/shared-state.d.ts.map +1 -1
  45. package/dist/registry/shared-state.js +25 -1
  46. package/dist/registry/shared-state.js.map +1 -1
  47. package/dist/registry/types.d.ts +8 -0
  48. package/dist/registry/types.d.ts.map +1 -1
  49. package/dist/registry.d.ts +32 -5
  50. package/dist/registry.d.ts.map +1 -1
  51. package/dist/registry.js +120 -12
  52. package/dist/registry.js.map +1 -1
  53. package/dist/relationship-loader.d.ts +6 -0
  54. package/dist/relationship-loader.d.ts.map +1 -0
  55. package/dist/relationship-loader.js +35 -0
  56. package/dist/relationship-loader.js.map +1 -0
  57. package/dist/scanner/manifest-generator.d.ts.map +1 -1
  58. package/dist/scanner/manifest-generator.js +6 -3
  59. package/dist/scanner/manifest-generator.js.map +1 -1
  60. package/dist/schema/generator.d.ts +2 -0
  61. package/dist/schema/generator.d.ts.map +1 -1
  62. package/dist/schema/generator.js +16 -9
  63. package/dist/schema/generator.js.map +1 -1
  64. package/dist/schema/utils.d.ts.map +1 -1
  65. package/dist/schema/utils.js +2 -1
  66. package/dist/schema/utils.js.map +1 -1
  67. package/dist/smrt-knowledge.json +7 -7
  68. package/dist/test-utils.d.ts.map +1 -1
  69. package/dist/utils.d.ts.map +1 -1
  70. package/dist/utils.js +2 -1
  71. package/dist/utils.js.map +1 -1
  72. package/package.json +4 -4
@@ -52,6 +52,7 @@ type SchemaGeneratorConfig = {
52
52
  */
53
53
  indexes?: DeclaredIndexDefinition[];
54
54
  registry?: {
55
+ resolveRelationshipTarget?(className: string, fieldName: string): string | null | undefined;
55
56
  getConfig?(className: string): {
56
57
  idType?: 'uuid' | 'text';
57
58
  };
@@ -74,6 +75,7 @@ export declare class SchemaGenerator {
74
75
  private getRegistryTargetIdColumnType;
75
76
  private reconcileRegistryForeignKeyColumnTypes;
76
77
  private applyRegistryForeignKeys;
78
+ private resolveRegistryForeignKeyTarget;
77
79
  /**
78
80
  * Whether an existing index already leads with `leadingColumns`, in order.
79
81
  *
@@ -1 +1 @@
1
- {"version":3,"file":"generator.d.ts","sourceRoot":"","sources":["../../src/schema/generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generator.d.ts","sourceRoot":"","sources":["../../src/schema/generator.ts"],"names":[],"mappings":"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"}
@@ -49,7 +49,7 @@ var SchemaGenerator = class {
49
49
  }
50
50
  getRegistryTargetIdColumnType(relatedName, registry) {
51
51
  if (!relatedName || !registry?.getConfig) return;
52
- const targetName = relatedName.split(".")[0];
52
+ const targetName = relatedName;
53
53
  const targetNames = [targetName];
54
54
  const stiBase = registry.getSTIBase?.(targetName);
55
55
  if (stiBase && !targetNames.includes(stiBase)) targetNames.push(stiBase);
@@ -59,11 +59,11 @@ var SchemaGenerator = class {
59
59
  if (idType === "uuid") return "UUID";
60
60
  }
61
61
  }
62
- reconcileRegistryForeignKeyColumnTypes(columns, fields, registry) {
62
+ reconcileRegistryForeignKeyColumnTypes(className, columns, fields, registry) {
63
63
  if (!registry?.getConfig) return;
64
64
  for (const [fieldName, field] of fields.entries()) {
65
65
  if (field.type !== "foreignKey" || field._meta?.sqlType) continue;
66
- const targetIdType = this.getRegistryTargetIdColumnType(field.related, registry);
66
+ const targetIdType = this.getRegistryTargetIdColumnType(this.resolveRegistryForeignKeyTarget(className, fieldName, field, registry), registry);
67
67
  if (!targetIdType) continue;
68
68
  const columnName = this.toSnakeCase(fieldName);
69
69
  if (columns[columnName]) columns[columnName] = {
@@ -72,7 +72,7 @@ var SchemaGenerator = class {
72
72
  };
73
73
  }
74
74
  }
75
- applyRegistryForeignKeys(columns, fields, conflictColumns, registry) {
75
+ applyRegistryForeignKeys(className, columns, fields, conflictColumns, registry) {
76
76
  const conflictSet = new Set(conflictColumns);
77
77
  for (const [fieldName, field] of fields.entries()) {
78
78
  if (field.type !== "foreignKey" || !field.related) continue;
@@ -88,7 +88,9 @@ var SchemaGenerator = class {
88
88
  column.foreignKey = void 0;
89
89
  continue;
90
90
  }
91
- const [targetName, declaredTargetColumn] = field.related.split(".");
91
+ const [, declaredTargetColumn] = field.related.split(".");
92
+ const targetName = this.resolveRegistryForeignKeyTarget(className, fieldName, field, registry);
93
+ if (!targetName) continue;
92
94
  const targetBase = registry?.getSTIBase?.(targetName) || targetName;
93
95
  const registeredTargetTable = registry?.getTableName?.(targetBase);
94
96
  if (registry && !registeredTargetTable) {
@@ -111,6 +113,11 @@ var SchemaGenerator = class {
111
113
  };
112
114
  }
113
115
  }
116
+ resolveRegistryForeignKeyTarget(className, fieldName, field, registry) {
117
+ const target = registry?.resolveRelationshipTarget?.(className, fieldName);
118
+ if (target === null) throw new Error(`Cannot resolve foreign key ${className}.${fieldName}: target constructor is unregistered or the target name is ambiguous`);
119
+ return target ?? field.related?.split(".")[0];
120
+ }
114
121
  /**
115
122
  * Whether an existing index already leads with `leadingColumns`, in order.
116
123
  *
@@ -641,9 +648,9 @@ var SchemaGenerator = class {
641
648
  defaultValue: "current_timestamp",
642
649
  description: "Last update timestamp"
643
650
  };
644
- this.reconcileRegistryForeignKeyColumnTypes(columns, fields, config?.registry);
651
+ this.reconcileRegistryForeignKeyColumnTypes(className, columns, fields, config?.registry);
645
652
  const resolvedConflict = this.resolveConflictTarget("cti", columns, config);
646
- this.applyRegistryForeignKeys(columns, fields, resolvedConflict.conflictColumns, config?.registry);
653
+ this.applyRegistryForeignKeys(className, columns, fields, resolvedConflict.conflictColumns, config?.registry);
647
654
  const indexes = [];
648
655
  if (!hasCustomPK) {
649
656
  const { conflictColumns, tenantColumn } = resolvedConflict;
@@ -833,8 +840,8 @@ var SchemaGenerator = class {
833
840
  const resolvedConflict = this.resolveConflictTarget("sti", columns, config);
834
841
  for (const className of allClassNames) {
835
842
  const classFields = await ObjectRegistry.getAllFields(className);
836
- this.reconcileRegistryForeignKeyColumnTypes(columns, classFields, ObjectRegistry);
837
- this.applyRegistryForeignKeys(columns, classFields, resolvedConflict.conflictColumns, ObjectRegistry);
843
+ this.reconcileRegistryForeignKeyColumnTypes(className, columns, classFields, ObjectRegistry);
844
+ this.applyRegistryForeignKeys(className, columns, classFields, resolvedConflict.conflictColumns, ObjectRegistry);
838
845
  }
839
846
  const indexes = [];
840
847
  this.emitStiConflictIndex(indexes, columns, tableName, config);