@happyvertical/smrt-core 0.51.23 → 0.51.25

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 (37) hide show
  1. package/AGENTS.md +8 -0
  2. package/dist/index.js +1 -1
  3. package/dist/manifest/manifest-loader.d.ts +0 -25
  4. package/dist/manifest/manifest-loader.d.ts.map +1 -1
  5. package/dist/manifest/manifest-loader.js +21 -8
  6. package/dist/manifest/manifest-loader.js.map +1 -1
  7. package/dist/manifest/static-manifest.js +1 -1
  8. package/dist/manifest/static-manifest.js.map +1 -1
  9. package/dist/manifest/store.d.ts.map +1 -1
  10. package/dist/manifest/store.js +7 -2
  11. package/dist/manifest/store.js.map +1 -1
  12. package/dist/manifest.json +1 -1
  13. package/dist/object.d.ts.map +1 -1
  14. package/dist/object.js +26 -26
  15. package/dist/object.js.map +1 -1
  16. package/dist/registry/class-registration.d.ts.map +1 -1
  17. package/dist/registry/class-registration.js +31 -11
  18. package/dist/registry/class-registration.js.map +1 -1
  19. package/dist/registry/inheritance-resolver.js +1 -1
  20. package/dist/registry/name-resolver.d.ts.map +1 -1
  21. package/dist/registry/name-resolver.js +11 -0
  22. package/dist/registry/name-resolver.js.map +1 -1
  23. package/dist/registry/schema-builder.d.ts.map +1 -1
  24. package/dist/registry/schema-builder.js +71 -31
  25. package/dist/registry/schema-builder.js.map +1 -1
  26. package/dist/registry/shared-state.js +1 -1
  27. package/dist/registry.d.ts.map +1 -1
  28. package/dist/registry.js +11 -7
  29. package/dist/registry.js.map +1 -1
  30. package/dist/scanner/manifest-generator.js +1 -1
  31. package/dist/smrt-knowledge.json +5 -5
  32. package/dist/testing/database.js +1 -1
  33. package/dist/utils/stack-frames.d.ts +7 -0
  34. package/dist/utils/stack-frames.d.ts.map +1 -1
  35. package/dist/utils/stack-frames.js +21 -2
  36. package/dist/utils/stack-frames.js.map +1 -1
  37. package/package.json +4 -4
package/dist/registry.js CHANGED
@@ -2,18 +2,19 @@ import { ConfigurationError } from "./errors.js";
2
2
  import { classnameToTablename, toSnakeCase } from "./utils/naming.js";
3
3
  import { applyOneToManyChildAccessors } from "./child-accessors.js";
4
4
  import { applyPendingDecoratorRegistrations } from "./decorators/compatibility.js";
5
- import { clearRegistryDiagnostics, flushRegistryDiagnostics, getRegistryDiagnostics, recordRegistryDiagnostic } from "./registry/diagnostics.js";
6
5
  import { bumpRegistryGeneration, getRegistryGeneration } from "./registry/generation.js";
7
6
  import { createQualifiedName, isQualifiedName, parseQualifiedName } from "./utils/qualified-names.js";
7
+ import { LRUCache } from "./utils/lru-cache.js";
8
+ import { getClasses, getCollectionCache, getCollectionTableNames, getCollections, getConstructorFieldDecorators, getConstructorTenantScopedDeclarations, getDbInstanceIds, getDiscoveryAttemptCache, getFieldDecorators, getInheritanceCache, getLegacyFieldDecorators, getMethodDecorators, getNextDbId, getStiSiblingsLoaded, setNextDbId, verboseLog } from "./registry/shared-state.js";
9
+ import { defaultConflictColumns, resolveTenantColumn } from "./schema/conflict-target.js";
10
+ import { clearRegistryDiagnostics, flushRegistryDiagnostics, getRegistryDiagnostics, recordRegistryDiagnostic } from "./registry/diagnostics.js";
8
11
  import { cloneManifestSchemaColumns, discoverCachedManifestSync, getManifestCache, getNodeBuiltins, loadExternalManifestSyncWithNode } from "./manifest/store.js";
9
12
  import { getDefaultCompositeSource } from "./manifest/sources/composite.js";
13
+ import { getPackageName } from "./manifest/manifest-loader.js";
10
14
  import { ExplicitPathsManifestSource } from "./manifest/sources/explicit-paths.js";
11
- import { LRUCache } from "./utils/lru-cache.js";
12
- import { getClasses, getCollectionCache, getCollectionTableNames, getCollections, getConstructorFieldDecorators, getConstructorTenantScopedDeclarations, getDbInstanceIds, getDiscoveryAttemptCache, getFieldDecorators, getInheritanceCache, getLegacyFieldDecorators, getMethodDecorators, getNextDbId, getStiSiblingsLoaded, setNextDbId, verboseLog } from "./registry/shared-state.js";
13
15
  import { findClass, findClassesByName, getAllClasses, getCanonicalClassName, getClass, getClassByConstructor, getClassByQualifiedName, getClassInPackage, getClassNames, getClassesByPackage, getClassesByVisibility, getPublicClasses, getQualifiedClassNames, hasClass, hasClassCaseInsensitive, resolveType } from "./registry/name-resolver.js";
14
16
  import { getAllFields, getAllMethods, getInheritanceChain, mergeFieldConfigs } from "./registry/inheritance-resolver.js";
15
17
  import { resolveCollectionCacheConfig } from "./registry/cache-config.js";
16
- import { defaultConflictColumns, resolveTenantColumn } from "./schema/conflict-target.js";
17
18
  import { compileValidators } from "./registry/validator.js";
18
19
  import "./utils.js";
19
20
  import { isFrameworkBaseClass } from "./registry/framework-base-classes.js";
@@ -2450,11 +2451,12 @@ function smrt(config = {}) {
2450
2451
  } else if (ObjectRegistry.getTableStrategy(itemQualified) === "sti") tableName = classnameToTablename(itemClassName);
2451
2452
  else tableName = classnameToTablename(itemClassName);
2452
2453
  }
2454
+ const itemTableName = config.tableName ? tableName : ObjectRegistry.getClassByConstructor(itemClass)?.schema?.tableName || tableName;
2453
2455
  ObjectRegistry.register(itemClass, {
2454
2456
  ...config,
2455
- tableName
2457
+ tableName: itemTableName
2456
2458
  });
2457
- const registeredItemClass = ObjectRegistry.getClass(itemClass.name);
2459
+ const registeredItemClass = ObjectRegistry.getClassByConstructor(itemClass);
2458
2460
  const collectionCtor = ctor;
2459
2461
  ObjectRegistry.registerCollection(itemClass.name, collectionCtor);
2460
2462
  if (registeredItemClass?.qualifiedName) ObjectRegistry.registerCollection(registeredItemClass.qualifiedName, collectionCtor);
@@ -2464,7 +2466,9 @@ function smrt(config = {}) {
2464
2466
  } else {
2465
2467
  let tableName = config.tableName;
2466
2468
  if (!tableName) {
2467
- const manifestEntry = discoverCachedManifestSync(ctor.name);
2469
+ const ownPackage = config.packageName ?? getPackageName(ctor, true) ?? void 0;
2470
+ const ownQualifiedKey = ownPackage ? createQualifiedName(ownPackage, ctor.name) : void 0;
2471
+ const manifestEntry = discoverCachedManifestSync(ownQualifiedKey && getClasses().has(ownQualifiedKey) ? ownQualifiedKey : ctor.name);
2468
2472
  if (manifestEntry?.decoratorConfig?.tableName) tableName = manifestEntry.decoratorConfig.tableName;
2469
2473
  else if (config.tableStrategy === "sti") {
2470
2474
  let proto = Object.getPrototypeOf(ctor);