@happyvertical/smrt-core 0.52.0 → 0.53.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.
- package/AGENTS.md +1 -0
- package/README.md +8 -2
- package/agents/model-moves.md +114 -0
- package/agents/object-runtime.md +3 -1
- package/agents/run-once.md +16 -7
- package/dist/cascade.d.ts.map +1 -1
- package/dist/cascade.js +4 -2
- package/dist/cascade.js.map +1 -1
- package/dist/generators/preflight-route.d.ts.map +1 -1
- package/dist/generators/preflight-route.js +1 -1
- package/dist/generators/preflight-route.js.map +1 -1
- package/dist/knowledge.d.ts.map +1 -1
- package/dist/knowledge.js +3 -0
- package/dist/knowledge.js.map +1 -1
- package/dist/manifest/static-manifest.js +1 -1
- package/dist/manifest/static-manifest.js.map +1 -1
- package/dist/manifest/store.js +1 -1
- package/dist/manifest.json +1 -1
- package/dist/migrations/index.d.ts +1 -0
- package/dist/migrations/index.d.ts.map +1 -1
- package/dist/migrations/index.js +2 -1
- package/dist/migrations/qualified-name-aliases.d.ts +134 -0
- package/dist/migrations/qualified-name-aliases.d.ts.map +1 -0
- package/dist/migrations/qualified-name-aliases.js +294 -0
- package/dist/migrations/qualified-name-aliases.js.map +1 -0
- package/dist/migrations.js +2 -1
- package/dist/polymorphic-association.d.ts +18 -0
- package/dist/polymorphic-association.d.ts.map +1 -1
- package/dist/polymorphic-association.js +27 -2
- package/dist/polymorphic-association.js.map +1 -1
- package/dist/registry/class-registration.d.ts.map +1 -1
- package/dist/registry/class-registration.js +27 -4
- package/dist/registry/class-registration.js.map +1 -1
- package/dist/registry/name-resolver.d.ts +8 -2
- package/dist/registry/name-resolver.d.ts.map +1 -1
- package/dist/registry/name-resolver.js +17 -8
- package/dist/registry/name-resolver.js.map +1 -1
- package/dist/registry/qualified-name-aliases.d.ts +109 -0
- package/dist/registry/qualified-name-aliases.d.ts.map +1 -0
- package/dist/registry/qualified-name-aliases.js +286 -0
- package/dist/registry/qualified-name-aliases.js.map +1 -0
- package/dist/registry/relationship-graph.d.ts.map +1 -1
- package/dist/registry/relationship-graph.js +1 -1
- package/dist/registry/relationship-graph.js.map +1 -1
- package/dist/registry/types.d.ts +26 -0
- package/dist/registry/types.d.ts.map +1 -1
- package/dist/registry.d.ts +59 -2
- package/dist/registry.d.ts.map +1 -1
- package/dist/registry.js +115 -6
- package/dist/registry.js.map +1 -1
- package/dist/scanner/manifest-generator.d.ts +11 -0
- package/dist/scanner/manifest-generator.d.ts.map +1 -1
- package/dist/scanner/manifest-generator.js +36 -1
- package/dist/scanner/manifest-generator.js.map +1 -1
- package/dist/schema/conflict-target.js +8 -1
- package/dist/schema/conflict-target.js.map +1 -1
- package/dist/scripts/browser-plain-json-regression.mjs +4 -1
- package/dist/smrt-knowledge.json +15 -9
- package/dist/utils/qualified-names.d.ts +11 -0
- package/dist/utils/qualified-names.d.ts.map +1 -1
- package/dist/utils/qualified-names.js +21 -1
- package/dist/utils/qualified-names.js.map +1 -1
- package/package.json +11 -11
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"qualified-name-aliases.js","names":[],"sources":["../../src/registry/qualified-name-aliases.ts"],"sourcesContent":["/**\n * Deprecated qualified-name aliases (#3338).\n *\n * A class that moves package (or is renamed) changes its qualified name, and\n * every persisted or declared reference to the old name — a polymorphic\n * `metaType`, a `@crossPackageRef` target, a playbook `model:` — would stop\n * resolving silently. `@smrt({ previousQualifiedNames })` declares the old\n * names; this module turns them into lookup bridges.\n *\n * An alias is never a registry key. The `classes` map — and so\n * `getAllClasses()`, schema/DDL, MCP, CLI and REST generation, and every other\n * iteration — still holds exactly one entry per class. Qualified-name lookups\n * consult the derived alias index only after a direct miss, so a live class\n * always wins and an alias can never shadow one; registration refuses the\n * collisions that would make that ambiguous.\n *\n * Like the simple-name index in `name-resolver.ts`, the alias index is\n * derived, not maintained: it is rebuilt from `classes` once per registry\n * generation (#3047).\n */\n\nimport { createLogger } from '@happyvertical/logger';\nimport { ConfigurationError } from '../errors';\nimport {\n getLocalTestManifestCache,\n getManifestCache,\n getStaticManifestCache,\n getTestManifestCache,\n} from '../manifest/store.js';\nimport type { SmartObjectManifest } from '../scanner/types.js';\nimport {\n isQualifiedNameAliasFormat,\n readPreviousQualifiedNames,\n} from '../utils/qualified-names.js';\nimport { recordRegistryDiagnostic } from './diagnostics';\nimport { getRegistryGeneration } from './generation';\nimport { getClasses } from './shared-state';\nimport type { RegisteredClass } from './types';\n\nexport {\n isQualifiedNameAliasFormat,\n readPreviousQualifiedNames,\n} from '../utils/qualified-names.js';\n\n/** Error code for an alias that collides with a live class or another alias. */\nexport const QUALIFIED_NAME_ALIAS_COLLISION =\n 'CONFIG_QUALIFIED_NAME_ALIAS_COLLISION';\n\n/** Error code for a malformed `previousQualifiedNames` declaration. */\nexport const QUALIFIED_NAME_ALIAS_INVALID =\n 'CONFIG_QUALIFIED_NAME_ALIAS_INVALID';\n\n/** Diagnostic code recorded (once per alias) when a lookup uses an old name. */\nexport const QUALIFIED_NAME_ALIAS_DEPRECATED =\n 'QUALIFIED_NAME_ALIAS_DEPRECATED';\n\nconst logger = createLogger({ level: 'info' });\n\ndeclare global {\n // eslint-disable-next-line no-var\n var __smrtRegistryWarnedQualifiedNameAliases: Set<string> | undefined;\n}\n\nfunction getWarnedAliases(): Set<string> {\n if (!globalThis.__smrtRegistryWarnedQualifiedNameAliases) {\n globalThis.__smrtRegistryWarnedQualifiedNameAliases = new Set();\n }\n return globalThis.__smrtRegistryWarnedQualifiedNameAliases;\n}\n\n/** Forget which aliases already warned (`ObjectRegistry.clear()`, tests). */\nexport function resetQualifiedNameAliasWarnings(): void {\n getWarnedAliases().clear();\n}\n\n/**\n * Two registrations describe the same class: one object, one constructor, or\n * one qualified name (a manifest stub later replaced by its real class, or\n * an HMR reload).\n */\nfunction sameClass(left: RegisteredClass, right: RegisteredClass): boolean {\n return (\n left === right ||\n left.constructor === right.constructor ||\n (!!left.qualifiedName && left.qualifiedName === right.qualifiedName)\n );\n}\n\nfunction ownName(entry: RegisteredClass, registrationKey?: string): string {\n return entry.qualifiedName ?? registrationKey ?? entry.name;\n}\n\nlet aliasIndex:\n | {\n generation: number;\n classes: Map<string, RegisteredClass>;\n byAlias: Map<string, RegisteredClass>;\n }\n | undefined;\n\n/** Alias → registered class, rebuilt once per registry generation. */\nfunction getAliasIndex(): Map<string, RegisteredClass> {\n const classes = getClasses();\n const generation = getRegistryGeneration();\n if (\n aliasIndex &&\n aliasIndex.generation === generation &&\n aliasIndex.classes === classes\n ) {\n return aliasIndex.byAlias;\n }\n\n const byAlias = new Map<string, RegisteredClass>();\n for (const [key, entry] of classes) {\n for (const alias of readPreviousQualifiedNames(entry.config)) {\n // A live class always wins over an alias (registration refuses the\n // collision; this guards registries assembled before that check ran).\n if (classes.has(alias)) continue;\n const existing = byAlias.get(alias);\n // The same class can sit under a transitional simple key and its\n // qualified key; prefer the qualified registration.\n if (!existing || (sameClass(existing, entry) && key.includes(':'))) {\n byAlias.set(alias, entry);\n }\n }\n }\n aliasIndex = { generation, classes, byAlias };\n return byAlias;\n}\n\n/**\n * The class a deprecated qualified name now resolves to, WITHOUT warning.\n * Returns `undefined` for live names and unknown names alike.\n */\nexport function lookupQualifiedNameAlias(\n name: string,\n): RegisteredClass | undefined {\n if (!name.includes(':')) return undefined;\n return getAliasIndex().get(name);\n}\n\n/**\n * Resolve a deprecated qualified name to its current class, logging the\n * one-time deprecation warning. `source` names the resolution site for that\n * warning (e.g. `SmrtPolymorphicAssociation.hydrate`).\n */\nexport function resolveQualifiedNameAlias(\n name: string,\n source = 'ObjectRegistry qualified-name lookup',\n): RegisteredClass | undefined {\n const registered = lookupQualifiedNameAlias(name);\n if (registered) {\n warnDeprecatedQualifiedName(\n name,\n registered.qualifiedName ?? registered.name,\n source,\n );\n }\n return registered;\n}\n\n/**\n * Warn — once per old name per process — that a lookup used a deprecated\n * qualified name. Also recorded as a `warn` registry diagnostic so apps and\n * tests can inspect it through `ObjectRegistry.getDiagnostics()`.\n */\nexport function warnDeprecatedQualifiedName(\n alias: string,\n current: string,\n source: string,\n): void {\n const warned = getWarnedAliases();\n if (warned.has(alias)) return;\n warned.add(alias);\n const message =\n `Qualified name \"${alias}\" is deprecated; it now resolves to \"${current}\" ` +\n `(resolved from ${source}). Store and declare \"${current}\" instead — ` +\n 'the alias will be removed in a later breaking release. ' +\n '`smrt doctor --db` counts stored references that still use it.';\n const context = { alias, current, source };\n recordRegistryDiagnostic('warn', QUALIFIED_NAME_ALIAS_DEPRECATED, message, {\n ...context,\n });\n logger.warn(`[smrt:${QUALIFIED_NAME_ALIAS_DEPRECATED}] ${message}`, context);\n}\n\n/** Every declared alias → its class's current qualified name, sorted. */\nexport function getQualifiedNameAliasMap(): Map<string, string> {\n const entries = [...getAliasIndex()].map(\n ([alias, registered]) =>\n [alias, registered.qualifiedName ?? registered.name] as const,\n );\n entries.sort(([left], [right]) => (left < right ? -1 : left > right ? 1 : 0));\n return new Map(entries);\n}\n\n/**\n * Refuse a registration whose aliases would make a qualified name resolve to\n * two classes. Called before a class is stored in `classes` — and, for an\n * update of a live entry, with the PROPOSED entry and `replacing` set to the\n * live one, before anything is mutated, so a refused update changes nothing.\n *\n * - every alias is a scoped `@scope/package:ClassName` string, distinct from the\n * class's own name, and declared once;\n * - no alias is the key of a different live class;\n * - no alias is also declared by a different class;\n * - the class's own name is not another class's alias.\n *\n * @throws {ConfigurationError} `CONFIG_QUALIFIED_NAME_ALIAS_INVALID` or\n * `CONFIG_QUALIFIED_NAME_ALIAS_COLLISION`.\n */\nexport function assertQualifiedNameAliasesAvailable(\n registrationKey: string,\n entry: RegisteredClass,\n replacing?: RegisteredClass,\n): void {\n const self = ownName(entry, registrationKey);\n const declared = (entry.config as { previousQualifiedNames?: unknown })\n ?.previousQualifiedNames;\n if (declared !== undefined && !Array.isArray(declared)) {\n throw new ConfigurationError(\n `${self}: previousQualifiedNames must be an array of qualified names (\"@package/name:ClassName\").`,\n QUALIFIED_NAME_ALIAS_INVALID,\n { className: self, previousQualifiedNames: declared },\n );\n }\n const aliases = (declared as unknown[] | undefined) ?? [];\n const seen = new Set<string>();\n for (const alias of aliases) {\n if (!isQualifiedNameAliasFormat(alias)) {\n throw new ConfigurationError(\n `${self}: previousQualifiedNames entry ${JSON.stringify(alias)} is not a qualified name (\"@package/name:ClassName\").`,\n QUALIFIED_NAME_ALIAS_INVALID,\n { className: self, alias },\n );\n }\n if (alias === self) {\n throw new ConfigurationError(\n `${self}: previousQualifiedNames lists the class's own current name \"${alias}\".`,\n QUALIFIED_NAME_ALIAS_INVALID,\n { className: self, alias },\n );\n }\n if (alias === registrationKey) {\n // Another package's manifest entry under the old name is being merged\n // into, or keyed onto, this class: the old name is still live.\n throw collision(\n `${self} declares previousQualifiedNames \"${alias}\", but a class is being registered under \"${alias}\". ` +\n 'An alias may only name a class that no longer exists; remove the alias or the stale class/manifest.',\n { className: self, alias },\n );\n }\n if (seen.has(alias)) {\n throw new ConfigurationError(\n `${self}: previousQualifiedNames lists \"${alias}\" more than once.`,\n QUALIFIED_NAME_ALIAS_INVALID,\n { className: self, alias },\n );\n }\n seen.add(alias);\n }\n\n const classes = getClasses();\n // Identities a registration answers to: its qualified name, its key, and\n // `<packageName>:<name>` (a source registration can sit under a simple key\n // before its qualified promotion).\n const identities = (other: RegisteredClass, key: string): string[] => [\n ownName(other, key),\n key,\n ...(other.packageName ? [`${other.packageName}:${other.name}`] : []),\n ];\n const selfIdentities = new Set(identities(entry, registrationKey));\n\n for (const [key, other] of classes) {\n if (other === replacing || sameClass(other, entry)) continue;\n const otherName = ownName(other, key);\n for (const identity of identities(other, key)) {\n if (seen.has(identity)) {\n throw collision(\n `${self} declares previousQualifiedNames \"${identity}\", but \"${identity}\" is a live registered class. ` +\n 'An alias may only name a class that no longer exists; remove the alias or the stale class/manifest.',\n { className: self, alias: identity, liveClass: otherName },\n );\n }\n }\n const otherAliases = readPreviousQualifiedNames(other.config);\n if (otherAliases.length === 0) continue;\n for (const alias of otherAliases) {\n if (seen.has(alias)) {\n throw collision(\n `previousQualifiedNames \"${alias}\" is declared by both ${self} and ${otherName}; ` +\n 'an old name can resolve to only one class.',\n { className: self, alias, otherClass: otherName },\n );\n }\n if (selfIdentities.has(alias)) {\n throw collision(\n `${otherName} declares previousQualifiedNames \"${alias}\", but ${self} is registered under that name. ` +\n 'An alias may only name a class that no longer exists; remove the alias or the stale class/manifest.',\n { className: self, alias, otherClass: otherName },\n );\n }\n }\n }\n\n // A competing claim in any manifest this process has loaded — an\n // installed package not registered yet — is the same collision (#3338).\n if (seen.size > 0) {\n assertNoCompetingManifestClaims(\n seen,\n collectManifestAliasInventory(loadedManifests()),\n entry.qualifiedName ?? self,\n );\n }\n}\n\nfunction collision(\n message: string,\n details: Record<string, unknown>,\n): ConfigurationError {\n return new ConfigurationError(\n message,\n QUALIFIED_NAME_ALIAS_COLLISION,\n details,\n );\n}\n\n/** The current qualified name a manifest object registers under. */\nfunction manifestObjectQualifiedName(\n manifest: SmartObjectManifest,\n key: string,\n objectDef: SmartObjectManifest['objects'][string],\n): string | undefined {\n if (objectDef.qualifiedName) return objectDef.qualifiedName;\n if (key.includes(':')) return key;\n const packageName = objectDef.packageName ?? manifest.packageName;\n return packageName ? `${packageName}:${objectDef.className}` : undefined;\n}\n\n/**\n * What a set of manifests says about qualified names (#3338): which classes\n * claim each old name, and which qualified names the manifests DEFINE as\n * classes of their own (installed but possibly unregistered).\n */\nexport interface ManifestAliasInventory {\n /** Old name → distinct current names claiming it. */\n claims: Map<string, Set<string>>;\n /** Every qualified name a manifest defines as a class. */\n defined: Set<string>;\n}\n\n/**\n * Index `manifests` (one manifest may appear twice, e.g. cached and static;\n * the same class claiming twice is one claim). A re-exported constructor is\n * not a definition: manifests list only classes a package declares.\n */\nexport function collectManifestAliasInventory(\n manifests: Iterable<SmartObjectManifest | null | undefined>,\n): ManifestAliasInventory {\n const claims = new Map<string, Set<string>>();\n const defined = new Set<string>();\n for (const manifest of manifests) {\n if (!manifest?.objects) continue;\n for (const [key, objectDef] of Object.entries(manifest.objects)) {\n const current = manifestObjectQualifiedName(manifest, key, objectDef);\n if (!current) continue;\n defined.add(current);\n for (const alias of readPreviousQualifiedNames(\n objectDef?.decoratorConfig,\n )) {\n const owners = claims.get(alias) ?? new Set<string>();\n owners.add(current);\n claims.set(alias, owners);\n }\n }\n }\n return { claims, defined };\n}\n\n/**\n * THE manifest rule for old names (#3338). Throws when any of `aliases`:\n *\n * - is defined as a class by a manifest in `inventory` — an installed\n * (possibly stale) package still ships the old class, so the old name is\n * live, not deprecated;\n * - is claimed by a class other than `owner` (or, with no `owner`, by more\n * than one class).\n *\n * @throws {ConfigurationError} `CONFIG_QUALIFIED_NAME_ALIAS_COLLISION`\n */\nexport function assertNoCompetingManifestClaims(\n aliases: Iterable<string>,\n inventory: ManifestAliasInventory,\n owner?: string,\n): void {\n for (const alias of aliases) {\n if (inventory.defined.has(alias)) {\n const claimants = [...(inventory.claims.get(alias) ?? [])];\n if (owner && !claimants.includes(owner)) claimants.push(owner);\n throw collision(\n `previousQualifiedNames \"${alias}\" is still defined as a class by an installed manifest (claimed by ${claimants.sort().join(', ') || 'no class'}). ` +\n 'An alias may only name a class that no longer exists; remove the stale package/manifest or the alias.',\n { alias, claimants: claimants.sort(), definedByManifest: true },\n );\n }\n const owners = new Set(inventory.claims.get(alias) ?? []);\n if (owner) owners.add(owner);\n if (owners.size > 1) {\n const sorted = [...owners].sort();\n throw collision(\n `previousQualifiedNames \"${alias}\" is declared by more than one class across installed manifests (${sorted.join(', ')}); ` +\n 'an old name can resolve to only one class.',\n { alias, claimants: sorted },\n );\n }\n }\n}\n\n/** Every manifest this process has loaded (package, static, test caches). */\nfunction loadedManifests(): Array<SmartObjectManifest | null | undefined> {\n return [\n ...getManifestCache().values(),\n getStaticManifestCache(),\n getTestManifestCache(),\n getLocalTestManifestCache(),\n ];\n}\n\n/**\n * The single current owner of `alias` in an inventory, or `undefined` —\n * also when a manifest defines `alias` as a class of its own.\n * Two distinct claimants are refused rather than resolved first-match: an\n * old name can resolve to only one class, on the lazy path as on the eager\n * one.\n *\n * @throws {ConfigurationError} `CONFIG_QUALIFIED_NAME_ALIAS_COLLISION`\n */\nexport function resolveManifestQualifiedNameAlias(\n inventory: ManifestAliasInventory,\n alias: string,\n): string | undefined {\n // A name some manifest defines as a class is not an alias to follow.\n if (inventory.defined.has(alias)) return undefined;\n assertNoCompetingManifestClaims([alias], inventory);\n return [...(inventory.claims.get(alias) ?? [])][0];\n}\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"relationship-graph.d.ts","sourceRoot":"","sources":["../../src/registry/relationship-graph.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAKH,OAAO,KAAK,EAGV,oBAAoB,EACrB,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"relationship-graph.d.ts","sourceRoot":"","sources":["../../src/registry/relationship-graph.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAKH,OAAO,KAAK,EAGV,oBAAoB,EACrB,MAAM,SAAS,CAAC;AAyCjB,mFAAmF;AACnF,wBAAgB,yBAAyB,CACvC,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,GAChB,MAAM,GAAG,IAAI,GAAG,SAAS,CAe3B;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,IAAI,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAgC1D;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,IAAI,GAAG,CAAC,MAAM,EAAE,oBAAoB,EAAE,CAAC,CA6FxE"}
|
|
@@ -20,7 +20,7 @@ function resolveTarget(registered, field) {
|
|
|
20
20
|
}
|
|
21
21
|
const related = field.related;
|
|
22
22
|
if (!related) return null;
|
|
23
|
-
if (related.includes(":")) return findClass(related)?.qualifiedName ?? related;
|
|
23
|
+
if (related.includes(":")) return findClass(related, `relationship target declared on ${registered.qualifiedName ?? registered.name}`)?.qualifiedName ?? related;
|
|
24
24
|
const local = classes.get(`${registered.packageName}:${related}`);
|
|
25
25
|
if (local) return local.qualifiedName ?? `${registered.packageName}:${related}`;
|
|
26
26
|
const matches = Array.from(classes).filter(([, entry]) => entry.name === related);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"relationship-graph.js","names":[],"sources":["../../src/registry/relationship-graph.ts"],"sourcesContent":["/**\n * Relationship graph and dependency resolution module for the SMRT ObjectRegistry.\n *\n * Builds relationship maps and dependency graphs from registered class fields.\n *\n * Extracted from registry.ts as part of issue #1006.\n * @see https://github.com/happyvertical/smrt/issues/1006\n */\n\nimport { getInheritanceChain } from './inheritance-resolver';\nimport { findClass } from './name-resolver';\nimport { getClasses } from './shared-state';\nimport type {\n RegisteredClass,\n RegisteredField,\n RelationshipMetadata,\n} from './types';\n\n/** Resolve lazily: the target may register after the decorated child. */\nfunction resolveTarget(\n registered: RegisteredClass,\n field: RegisteredField,\n): string | null | undefined {\n const classes = getClasses();\n const ctor = field._meta?.relatedConstructor;\n if (typeof ctor === 'function') {\n const match = Array.from(classes).find(\n ([, entry]) => entry.constructor === ctor,\n );\n return match ? (match[1].qualifiedName ?? match[0]) : null;\n }\n const related = field.related;\n if (!related) return null;\n if (related.includes(':'))\n return findClass(related)?.qualifiedName ?? related;\n const local = classes.get(`${registered.packageName}:${related}`);\n if (local)\n return local.qualifiedName ?? `${registered.packageName}:${related}`;\n const matches = Array.from(classes).filter(\n ([, entry]) => entry.name === related,\n );\n const distinct = [\n ...new Map(matches.map((match) => [match[1], match])).values(),\n ];\n if (distinct.length === 0) return undefined;\n if (distinct.length !== 1) return null;\n const match = matches.find(([key]) => key.includes(':')) ?? distinct[0];\n return match[1].qualifiedName ?? match[0];\n}\n\n/** Canonical target of the field's declaring class, including inherited fields. */\nexport function resolveRelationshipTarget(\n className: string,\n fieldName: string,\n): string | null | undefined {\n for (const name of [\n className,\n ...[...getInheritanceChain(className)].reverse(),\n ]) {\n const registered = findClass(name);\n const field = registered?.fields.get(fieldName);\n if (registered && field) {\n return resolveTarget(registered, {\n ...field,\n related: field.related?.split('.')[0],\n });\n }\n }\n return undefined;\n}\n\n/**\n * Build dependency graph from foreignKey relationships.\n *\n * Returns a map where keys are class names and values are arrays\n * of class names that the key depends on (via foreignKey fields).\n */\nexport function getDependencyGraph(): Map<string, string[]> {\n const classes = getClasses();\n const graph = new Map<string, string[]>();\n\n // Initialize graph with all registered classes\n for (const [_key, entry] of classes) {\n graph.set(entry.name || _key, []);\n }\n\n // Scan all fields for foreignKey relationships\n for (const [_key, registered] of classes) {\n const simpleName = registered.name || _key;\n const dependencies: string[] = [];\n\n for (const [_fieldName, field] of registered.fields) {\n if (field.type === 'foreignKey' && field.related) {\n const relatedClass = field.related;\n // Skip self-references (table can reference itself after creation)\n // Only add if the related class is registered and not self\n if (\n relatedClass !== simpleName &&\n findClass(relatedClass) !== undefined\n ) {\n dependencies.push(relatedClass);\n }\n }\n }\n\n graph.set(simpleName, dependencies);\n }\n\n return graph;\n}\n\n/**\n * Build comprehensive relationship map from all field types.\n *\n * Returns a map containing all relationships (foreignKey, oneToMany, manyToMany)\n * discovered in registered classes.\n */\nexport function getRelationshipMap(): Map<string, RelationshipMetadata[]> {\n const classes = getClasses();\n const relationshipMap = new Map<string, RelationshipMetadata[]>();\n const simpleNameEntries = new Map<string, Set<RegisteredClass>>();\n\n // Initialize map with all registered classes\n for (const [key, entry] of classes) {\n // The registry is qualified-name keyed. Keep relationship buckets on that\n // canonical identity as well: classes in separate packages may share a\n // simple name, and a later empty declaration must not overwrite an earlier\n // class's relationships.\n relationshipMap.set(entry.qualifiedName || key, []);\n const simpleName = entry.name || key;\n const entries = simpleNameEntries.get(simpleName) ?? new Set();\n entries.add(entry);\n simpleNameEntries.set(simpleName, entries);\n }\n\n // Scan all fields for relationship types\n for (const [key, registered] of classes) {\n const simpleName = registered.name || key;\n const sourceQualifiedClass = registered.qualifiedName || key;\n const relationships: RelationshipMetadata[] = [];\n\n for (const [fieldName, field] of registered.fields) {\n // Check for foreignKey relationships\n if (field.type === 'foreignKey' && field.related) {\n relationships.push({\n sourceClass: simpleName,\n sourceQualifiedClass,\n fieldName,\n targetClass: field.related,\n targetQualifiedClass: resolveTarget(registered, field),\n type: 'foreignKey',\n options: field._meta,\n });\n }\n\n // Check for crossPackageRef relationships (cross-package, no DDL FK)\n if (field.type === 'crossPackageRef' && field.related) {\n relationships.push({\n sourceClass: simpleName,\n sourceQualifiedClass,\n fieldName,\n targetClass: field.related,\n targetQualifiedClass: resolveTarget(registered, field),\n type: 'crossPackageRef',\n options: field._meta,\n });\n }\n\n // Check for oneToMany relationships\n if (field.type === 'oneToMany' && field.related) {\n relationships.push({\n sourceClass: simpleName,\n sourceQualifiedClass,\n fieldName,\n targetClass: field.related,\n targetQualifiedClass: resolveTarget(registered, field),\n type: 'oneToMany',\n options: field._meta,\n });\n }\n\n // Check for manyToMany relationships\n if (field.type === 'manyToMany' && field.related) {\n relationships.push({\n sourceClass: simpleName,\n sourceQualifiedClass,\n fieldName,\n targetClass: field.related,\n targetQualifiedClass: resolveTarget(registered, field),\n type: 'manyToMany',\n options: field._meta,\n });\n }\n }\n\n relationshipMap.set(registered.qualifiedName || key, relationships);\n }\n\n // Preserve the public simple-name map contract where that name identifies\n // exactly one registered class. Colliding names intentionally have no alias:\n // callers with a constructor must use the qualified bucket above.\n for (const [key, registered] of classes) {\n const simpleName = registered.name || key;\n if (simpleNameEntries.get(simpleName)?.size !== 1) continue;\n const qualifiedName = registered.qualifiedName || key;\n const relationships = relationshipMap.get(qualifiedName);\n if (relationships) relationshipMap.set(simpleName, relationships);\n }\n\n return relationshipMap;\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"relationship-graph.js","names":[],"sources":["../../src/registry/relationship-graph.ts"],"sourcesContent":["/**\n * Relationship graph and dependency resolution module for the SMRT ObjectRegistry.\n *\n * Builds relationship maps and dependency graphs from registered class fields.\n *\n * Extracted from registry.ts as part of issue #1006.\n * @see https://github.com/happyvertical/smrt/issues/1006\n */\n\nimport { getInheritanceChain } from './inheritance-resolver';\nimport { findClass } from './name-resolver';\nimport { getClasses } from './shared-state';\nimport type {\n RegisteredClass,\n RegisteredField,\n RelationshipMetadata,\n} from './types';\n\n/** Resolve lazily: the target may register after the decorated child. */\nfunction resolveTarget(\n registered: RegisteredClass,\n field: RegisteredField,\n): string | null | undefined {\n const classes = getClasses();\n const ctor = field._meta?.relatedConstructor;\n if (typeof ctor === 'function') {\n const match = Array.from(classes).find(\n ([, entry]) => entry.constructor === ctor,\n );\n return match ? (match[1].qualifiedName ?? match[0]) : null;\n }\n const related = field.related;\n if (!related) return null;\n // A deprecated qualified target (#3338) resolves to the class's current\n // name, so relationship loads, inverses and delete planning all key on it.\n if (related.includes(':'))\n return (\n findClass(\n related,\n `relationship target declared on ${registered.qualifiedName ?? registered.name}`,\n )?.qualifiedName ?? related\n );\n const local = classes.get(`${registered.packageName}:${related}`);\n if (local)\n return local.qualifiedName ?? `${registered.packageName}:${related}`;\n const matches = Array.from(classes).filter(\n ([, entry]) => entry.name === related,\n );\n const distinct = [\n ...new Map(matches.map((match) => [match[1], match])).values(),\n ];\n if (distinct.length === 0) return undefined;\n if (distinct.length !== 1) return null;\n const match = matches.find(([key]) => key.includes(':')) ?? distinct[0];\n return match[1].qualifiedName ?? match[0];\n}\n\n/** Canonical target of the field's declaring class, including inherited fields. */\nexport function resolveRelationshipTarget(\n className: string,\n fieldName: string,\n): string | null | undefined {\n for (const name of [\n className,\n ...[...getInheritanceChain(className)].reverse(),\n ]) {\n const registered = findClass(name);\n const field = registered?.fields.get(fieldName);\n if (registered && field) {\n return resolveTarget(registered, {\n ...field,\n related: field.related?.split('.')[0],\n });\n }\n }\n return undefined;\n}\n\n/**\n * Build dependency graph from foreignKey relationships.\n *\n * Returns a map where keys are class names and values are arrays\n * of class names that the key depends on (via foreignKey fields).\n */\nexport function getDependencyGraph(): Map<string, string[]> {\n const classes = getClasses();\n const graph = new Map<string, string[]>();\n\n // Initialize graph with all registered classes\n for (const [_key, entry] of classes) {\n graph.set(entry.name || _key, []);\n }\n\n // Scan all fields for foreignKey relationships\n for (const [_key, registered] of classes) {\n const simpleName = registered.name || _key;\n const dependencies: string[] = [];\n\n for (const [_fieldName, field] of registered.fields) {\n if (field.type === 'foreignKey' && field.related) {\n const relatedClass = field.related;\n // Skip self-references (table can reference itself after creation)\n // Only add if the related class is registered and not self\n if (\n relatedClass !== simpleName &&\n findClass(relatedClass) !== undefined\n ) {\n dependencies.push(relatedClass);\n }\n }\n }\n\n graph.set(simpleName, dependencies);\n }\n\n return graph;\n}\n\n/**\n * Build comprehensive relationship map from all field types.\n *\n * Returns a map containing all relationships (foreignKey, oneToMany, manyToMany)\n * discovered in registered classes.\n */\nexport function getRelationshipMap(): Map<string, RelationshipMetadata[]> {\n const classes = getClasses();\n const relationshipMap = new Map<string, RelationshipMetadata[]>();\n const simpleNameEntries = new Map<string, Set<RegisteredClass>>();\n\n // Initialize map with all registered classes\n for (const [key, entry] of classes) {\n // The registry is qualified-name keyed. Keep relationship buckets on that\n // canonical identity as well: classes in separate packages may share a\n // simple name, and a later empty declaration must not overwrite an earlier\n // class's relationships.\n relationshipMap.set(entry.qualifiedName || key, []);\n const simpleName = entry.name || key;\n const entries = simpleNameEntries.get(simpleName) ?? new Set();\n entries.add(entry);\n simpleNameEntries.set(simpleName, entries);\n }\n\n // Scan all fields for relationship types\n for (const [key, registered] of classes) {\n const simpleName = registered.name || key;\n const sourceQualifiedClass = registered.qualifiedName || key;\n const relationships: RelationshipMetadata[] = [];\n\n for (const [fieldName, field] of registered.fields) {\n // Check for foreignKey relationships\n if (field.type === 'foreignKey' && field.related) {\n relationships.push({\n sourceClass: simpleName,\n sourceQualifiedClass,\n fieldName,\n targetClass: field.related,\n targetQualifiedClass: resolveTarget(registered, field),\n type: 'foreignKey',\n options: field._meta,\n });\n }\n\n // Check for crossPackageRef relationships (cross-package, no DDL FK)\n if (field.type === 'crossPackageRef' && field.related) {\n relationships.push({\n sourceClass: simpleName,\n sourceQualifiedClass,\n fieldName,\n targetClass: field.related,\n targetQualifiedClass: resolveTarget(registered, field),\n type: 'crossPackageRef',\n options: field._meta,\n });\n }\n\n // Check for oneToMany relationships\n if (field.type === 'oneToMany' && field.related) {\n relationships.push({\n sourceClass: simpleName,\n sourceQualifiedClass,\n fieldName,\n targetClass: field.related,\n targetQualifiedClass: resolveTarget(registered, field),\n type: 'oneToMany',\n options: field._meta,\n });\n }\n\n // Check for manyToMany relationships\n if (field.type === 'manyToMany' && field.related) {\n relationships.push({\n sourceClass: simpleName,\n sourceQualifiedClass,\n fieldName,\n targetClass: field.related,\n targetQualifiedClass: resolveTarget(registered, field),\n type: 'manyToMany',\n options: field._meta,\n });\n }\n }\n\n relationshipMap.set(registered.qualifiedName || key, relationships);\n }\n\n // Preserve the public simple-name map contract where that name identifies\n // exactly one registered class. Colliding names intentionally have no alias:\n // callers with a constructor must use the qualified bucket above.\n for (const [key, registered] of classes) {\n const simpleName = registered.name || key;\n if (simpleNameEntries.get(simpleName)?.size !== 1) continue;\n const qualifiedName = registered.qualifiedName || key;\n const relationships = relationshipMap.get(qualifiedName);\n if (relationships) relationshipMap.set(simpleName, relationships);\n }\n\n return relationshipMap;\n}\n"],"mappings":"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"}
|
package/dist/registry/types.d.ts
CHANGED
|
@@ -245,6 +245,32 @@ export interface SmartObjectConfig {
|
|
|
245
245
|
* stack/package.json discovery, which can fail in bundled deployments.
|
|
246
246
|
*/
|
|
247
247
|
packageName?: string;
|
|
248
|
+
/**
|
|
249
|
+
* Deprecated qualified names (`@package/name:ClassName`) this class was
|
|
250
|
+
* registered under before it moved package or was renamed (#3338).
|
|
251
|
+
*
|
|
252
|
+
* Each entry is a lookup bridge, never a second class: qualified lookups,
|
|
253
|
+
* `SmrtPolymorphicAssociation.hydrate()`, `@crossPackageRef` and
|
|
254
|
+
* relationship targets, and playbook `model:` names that still use an old
|
|
255
|
+
* name resolve to this class, logging a one-time deprecation warning per
|
|
256
|
+
* name. The alias never owns a table, route, tool, or `getAllClasses()`
|
|
257
|
+
* entry, and new writes store the current qualified name. An alias that
|
|
258
|
+
* equals a live class's qualified name, or that two classes both declare,
|
|
259
|
+
* is a `CONFIG_QUALIFIED_NAME_ALIAS_COLLISION` error.
|
|
260
|
+
*
|
|
261
|
+
* Removing an entry is a breaking change: ship it only once
|
|
262
|
+
* `smrt doctor --db` reports no stored references to that name. See
|
|
263
|
+
* `packages/core/agents/model-moves.md`.
|
|
264
|
+
*
|
|
265
|
+
* @example
|
|
266
|
+
* ```typescript
|
|
267
|
+
* @smrt({
|
|
268
|
+
* previousQualifiedNames: ['@happyvertical/smrt-projects:ServiceTimeEntry'],
|
|
269
|
+
* })
|
|
270
|
+
* export class ServiceTimeEntry extends SmrtObject {}
|
|
271
|
+
* ```
|
|
272
|
+
*/
|
|
273
|
+
previousQualifiedNames?: string[];
|
|
248
274
|
/**
|
|
249
275
|
* Custom table name for database storage (defaults to pluralized snake_case class name)
|
|
250
276
|
* Explicitly setting this ensures the table name survives code minification
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/registry/types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/registry/types.ts"],"names":[],"mappings":"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"}
|
package/dist/registry.d.ts
CHANGED
|
@@ -511,7 +511,56 @@ export declare class ObjectRegistry {
|
|
|
511
511
|
* }
|
|
512
512
|
* ```
|
|
513
513
|
*/
|
|
514
|
-
static getClassByQualifiedName(qualifiedName: string
|
|
514
|
+
static getClassByQualifiedName(qualifiedName: string, options?: {
|
|
515
|
+
source?: string;
|
|
516
|
+
}): RegisteredClass | undefined;
|
|
517
|
+
/**
|
|
518
|
+
* Every deprecated qualified name declared through
|
|
519
|
+
* `@smrt({ previousQualifiedNames })`, mapped to its class's CURRENT
|
|
520
|
+
* qualified name and sorted by old name (#3338). Aliases are lookup bridges
|
|
521
|
+
* only: they never appear in {@link getAllClasses} or any other iteration.
|
|
522
|
+
*/
|
|
523
|
+
static getQualifiedNameAliases(): Map<string, string>;
|
|
524
|
+
/**
|
|
525
|
+
* The current qualified name for `name` — itself when it is a live
|
|
526
|
+
* qualified name, the class's current name when it is a deprecated alias
|
|
527
|
+
* (logging the one-time deprecation warning), `undefined` otherwise —
|
|
528
|
+
* including for every simple (unqualified) name (#3338).
|
|
529
|
+
* Use it to normalize a stored or declared name before writing it.
|
|
530
|
+
*/
|
|
531
|
+
static resolveQualifiedName(name: string, options?: {
|
|
532
|
+
source?: string;
|
|
533
|
+
}): string | undefined;
|
|
534
|
+
/**
|
|
535
|
+
* {@link resolveQualifiedName}, also covering a class that is not
|
|
536
|
+
* registered yet: on a qualified miss it lazily loads the name from its
|
|
537
|
+
* package's manifest — or, for a deprecated name, from the manifest of the
|
|
538
|
+
* class that now declares it — before resolving (#3338). A genuinely
|
|
539
|
+
* unknown name still returns `undefined`.
|
|
540
|
+
*/
|
|
541
|
+
static resolveQualifiedNameAsync(name: string, options?: {
|
|
542
|
+
source?: string;
|
|
543
|
+
}): Promise<string | undefined>;
|
|
544
|
+
/**
|
|
545
|
+
* {@link getEquivalentQualifiedNames}, lazily loading a qualified name's
|
|
546
|
+
* class from its manifest first when it is not registered yet (#3338), so
|
|
547
|
+
* stored-name filters see a moved class's old names before anything else
|
|
548
|
+
* has registered it.
|
|
549
|
+
*/
|
|
550
|
+
static getEquivalentQualifiedNamesAsync(name: string, options?: {
|
|
551
|
+
source?: string;
|
|
552
|
+
}): Promise<string[]>;
|
|
553
|
+
/**
|
|
554
|
+
* Every qualified name stored data may use for the class `name` resolves
|
|
555
|
+
* to: its current qualified name first, then its declared
|
|
556
|
+
* `previousQualifiedNames` (#3338). Readers that match persisted names
|
|
557
|
+
* (e.g. a polymorphic `metaType` filter) use this so rows written before
|
|
558
|
+
* and after a model move both match. A simple (unqualified) or
|
|
559
|
+
* unresolvable `name` is returned alone.
|
|
560
|
+
*/
|
|
561
|
+
static getEquivalentQualifiedNames(name: string, options?: {
|
|
562
|
+
source?: string;
|
|
563
|
+
}): string[];
|
|
515
564
|
/**
|
|
516
565
|
* Get a registered class by package name and class name.
|
|
517
566
|
* This is a convenience method for looking up classes by their namespace components.
|
|
@@ -635,6 +684,14 @@ export declare class ObjectRegistry {
|
|
|
635
684
|
* collisions by preferring qualified class names where available.
|
|
636
685
|
*/
|
|
637
686
|
static getQualifiedClassNames(): string[];
|
|
687
|
+
/**
|
|
688
|
+
* Old-name claims and defined class names across every manifest this
|
|
689
|
+
* process can see: loaded caches AND every discoverable package's manifest, which this
|
|
690
|
+
* also loads into the cache so registration-time checks see it (#3338).
|
|
691
|
+
* Rebuilt only when the registry generation moves, so repeated lookups of
|
|
692
|
+
* a stale or unknown old name do not rescan every installed manifest.
|
|
693
|
+
*/
|
|
694
|
+
private static loadManifestAliasInventory;
|
|
638
695
|
/**
|
|
639
696
|
* Try to load and register a class from external SMRT packages
|
|
640
697
|
*
|
|
@@ -889,7 +946,7 @@ export declare class ObjectRegistry {
|
|
|
889
946
|
* const fields = ObjectRegistry.getFields('Place'); // Now has fields
|
|
890
947
|
* ```
|
|
891
948
|
*/
|
|
892
|
-
static ensureManifestLoaded(
|
|
949
|
+
static ensureManifestLoaded(requestedName: string): Promise<void>;
|
|
893
950
|
/**
|
|
894
951
|
* Get configuration for a registered class
|
|
895
952
|
*/
|
package/dist/registry.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"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"}
|
package/dist/registry.js
CHANGED
|
@@ -5,14 +5,15 @@ import { buildCascadePlan } from "./cascade.js";
|
|
|
5
5
|
import { applyOneToManyChildAccessors } from "./child-accessors.js";
|
|
6
6
|
import { applyPendingDecoratorRegistrations } from "./decorators/compatibility.js";
|
|
7
7
|
import { bumpRegistryGeneration, getRegistryGeneration } from "./registry/generation.js";
|
|
8
|
-
import { createQualifiedName, isQualifiedName, parseQualifiedName } from "./utils/qualified-names.js";
|
|
8
|
+
import { createQualifiedName, isQualifiedName, parseQualifiedName, readPreviousQualifiedNames } from "./utils/qualified-names.js";
|
|
9
9
|
import { LRUCache } from "./utils/lru-cache.js";
|
|
10
10
|
import { getClasses, getCollectionCache, getCollectionTableNames, getCollections, getConstructorFieldDecorators, getConstructorTenantScopedDeclarations, getDbInstanceIds, getDiscoveryAttemptCache, getFieldDecorators, getInheritanceCache, getLegacyFieldDecorators, getMethodDecorators, getNextDbId, getSourceFileFromStack, getStiSiblingsLoaded, setNextDbId, verboseLog } from "./registry/shared-state.js";
|
|
11
11
|
import { clearRegistryDiagnostics, flushRegistryDiagnostics, getRegistryDiagnostics, recordRegistryDiagnostic } from "./registry/diagnostics.js";
|
|
12
|
-
import { cloneManifestSchemaColumns, discoverCachedManifestSync, getManifestCache, getNodeBuiltins, loadExternalManifestSyncWithNode } from "./manifest/store.js";
|
|
12
|
+
import { cloneManifestSchemaColumns, discoverCachedManifestSync, getLocalTestManifestCache, getManifestCache, getNodeBuiltins, getStaticManifestCache, getTestManifestCache, loadExternalManifestSyncWithNode } from "./manifest/store.js";
|
|
13
13
|
import { getDefaultCompositeSource } from "./manifest/sources/composite.js";
|
|
14
14
|
import { getPackageName } from "./manifest/manifest-loader.js";
|
|
15
15
|
import { ExplicitPathsManifestSource } from "./manifest/sources/explicit-paths.js";
|
|
16
|
+
import { collectManifestAliasInventory, getQualifiedNameAliasMap, lookupQualifiedNameAlias, resetQualifiedNameAliasWarnings, resolveManifestQualifiedNameAlias, warnDeprecatedQualifiedName } from "./registry/qualified-name-aliases.js";
|
|
16
17
|
import { findClass, findClassesByName, getAllClasses, getCanonicalClassName, getClass, getClassByConstructor, getClassByQualifiedName, getClassInPackage, getClassNames, getClassesByPackage, getClassesByVisibility, getPublicClasses, getQualifiedClassNames, hasClass, hasClassCaseInsensitive, resolveType } from "./registry/name-resolver.js";
|
|
17
18
|
import { getAllFields, getAllMethods, getInheritanceChain, mergeFieldConfigs } from "./registry/inheritance-resolver.js";
|
|
18
19
|
import { resolveCollectionCacheConfig } from "./registry/cache-config.js";
|
|
@@ -72,13 +73,18 @@ var manifestLoaderModule;
|
|
|
72
73
|
* not cached, so a transient failure is retried on the next call.
|
|
73
74
|
*/
|
|
74
75
|
function importManifestLoader() {
|
|
75
|
-
if (!manifestLoaderModule) manifestLoaderModule = import(getManifestLoaderSpecifier()).catch((error) => {
|
|
76
|
+
if (!manifestLoaderModule) manifestLoaderModule = (import.meta.url.endsWith(".ts") ? import(getManifestLoaderSpecifier()) : import("./manifest/index.js")).catch((error) => {
|
|
76
77
|
manifestLoaderModule = void 0;
|
|
77
78
|
throw error;
|
|
78
79
|
});
|
|
79
80
|
return manifestLoaderModule;
|
|
80
81
|
}
|
|
81
82
|
/**
|
|
83
|
+
* Lazy alias claim inventory (#3338), keyed to the registry generation it
|
|
84
|
+
* was built at. See `ObjectRegistry.loadManifestAliasInventory()`.
|
|
85
|
+
*/
|
|
86
|
+
var manifestAliasInventory;
|
|
87
|
+
/**
|
|
82
88
|
* Registered classes whose manifest has been reconciled, keyed to the registry
|
|
83
89
|
* generation it was reconciled at (#3047). `ensureManifestLoaded()` sits on
|
|
84
90
|
* every hydration path; once a class agrees with its manifest there is nothing
|
|
@@ -748,8 +754,69 @@ var ObjectRegistry = class ObjectRegistry {
|
|
|
748
754
|
* }
|
|
749
755
|
* ```
|
|
750
756
|
*/
|
|
751
|
-
static getClassByQualifiedName(qualifiedName) {
|
|
752
|
-
return getClassByQualifiedName(qualifiedName);
|
|
757
|
+
static getClassByQualifiedName(qualifiedName, options = {}) {
|
|
758
|
+
return getClassByQualifiedName(qualifiedName, options.source);
|
|
759
|
+
}
|
|
760
|
+
/**
|
|
761
|
+
* Every deprecated qualified name declared through
|
|
762
|
+
* `@smrt({ previousQualifiedNames })`, mapped to its class's CURRENT
|
|
763
|
+
* qualified name and sorted by old name (#3338). Aliases are lookup bridges
|
|
764
|
+
* only: they never appear in {@link getAllClasses} or any other iteration.
|
|
765
|
+
*/
|
|
766
|
+
static getQualifiedNameAliases() {
|
|
767
|
+
return getQualifiedNameAliasMap();
|
|
768
|
+
}
|
|
769
|
+
/**
|
|
770
|
+
* The current qualified name for `name` — itself when it is a live
|
|
771
|
+
* qualified name, the class's current name when it is a deprecated alias
|
|
772
|
+
* (logging the one-time deprecation warning), `undefined` otherwise —
|
|
773
|
+
* including for every simple (unqualified) name (#3338).
|
|
774
|
+
* Use it to normalize a stored or declared name before writing it.
|
|
775
|
+
*/
|
|
776
|
+
static resolveQualifiedName(name, options = {}) {
|
|
777
|
+
if (!name.includes(":")) return void 0;
|
|
778
|
+
const registered = getClassByQualifiedName(name, options.source);
|
|
779
|
+
if (!registered) return void 0;
|
|
780
|
+
return registered.qualifiedName ?? name;
|
|
781
|
+
}
|
|
782
|
+
/**
|
|
783
|
+
* {@link resolveQualifiedName}, also covering a class that is not
|
|
784
|
+
* registered yet: on a qualified miss it lazily loads the name from its
|
|
785
|
+
* package's manifest — or, for a deprecated name, from the manifest of the
|
|
786
|
+
* class that now declares it — before resolving (#3338). A genuinely
|
|
787
|
+
* unknown name still returns `undefined`.
|
|
788
|
+
*/
|
|
789
|
+
static async resolveQualifiedNameAsync(name, options = {}) {
|
|
790
|
+
if (!name.includes(":")) return void 0;
|
|
791
|
+
const resolved = ObjectRegistry.resolveQualifiedName(name, options);
|
|
792
|
+
if (resolved) return resolved;
|
|
793
|
+
if (!await ObjectRegistry.tryLoadFromExternalPackage(name)) return;
|
|
794
|
+
return ObjectRegistry.resolveQualifiedName(name, options);
|
|
795
|
+
}
|
|
796
|
+
/**
|
|
797
|
+
* {@link getEquivalentQualifiedNames}, lazily loading a qualified name's
|
|
798
|
+
* class from its manifest first when it is not registered yet (#3338), so
|
|
799
|
+
* stored-name filters see a moved class's old names before anything else
|
|
800
|
+
* has registered it.
|
|
801
|
+
*/
|
|
802
|
+
static async getEquivalentQualifiedNamesAsync(name, options = {}) {
|
|
803
|
+
if (!name.includes(":")) return [name];
|
|
804
|
+
await ObjectRegistry.resolveQualifiedNameAsync(name, options);
|
|
805
|
+
return ObjectRegistry.getEquivalentQualifiedNames(name, options);
|
|
806
|
+
}
|
|
807
|
+
/**
|
|
808
|
+
* Every qualified name stored data may use for the class `name` resolves
|
|
809
|
+
* to: its current qualified name first, then its declared
|
|
810
|
+
* `previousQualifiedNames` (#3338). Readers that match persisted names
|
|
811
|
+
* (e.g. a polymorphic `metaType` filter) use this so rows written before
|
|
812
|
+
* and after a model move both match. A simple (unqualified) or
|
|
813
|
+
* unresolvable `name` is returned alone.
|
|
814
|
+
*/
|
|
815
|
+
static getEquivalentQualifiedNames(name, options = {}) {
|
|
816
|
+
if (!name.includes(":")) return [name];
|
|
817
|
+
const registered = getClassByQualifiedName(name, options.source);
|
|
818
|
+
if (!registered?.qualifiedName) return [name];
|
|
819
|
+
return [registered.qualifiedName, ...readPreviousQualifiedNames(registered.config).filter((alias) => alias !== registered.qualifiedName)];
|
|
753
820
|
}
|
|
754
821
|
/**
|
|
755
822
|
* Get a registered class by package name and class name.
|
|
@@ -893,6 +960,34 @@ var ObjectRegistry = class ObjectRegistry {
|
|
|
893
960
|
return getQualifiedClassNames();
|
|
894
961
|
}
|
|
895
962
|
/**
|
|
963
|
+
* Old-name claims and defined class names across every manifest this
|
|
964
|
+
* process can see: loaded caches AND every discoverable package's manifest, which this
|
|
965
|
+
* also loads into the cache so registration-time checks see it (#3338).
|
|
966
|
+
* Rebuilt only when the registry generation moves, so repeated lookups of
|
|
967
|
+
* a stale or unknown old name do not rescan every installed manifest.
|
|
968
|
+
*/
|
|
969
|
+
static async loadManifestAliasInventory(loadExternalManifest) {
|
|
970
|
+
if (manifestAliasInventory?.generation === getRegistryGeneration()) return manifestAliasInventory.inventory;
|
|
971
|
+
let packages = [];
|
|
972
|
+
try {
|
|
973
|
+
packages = await discoverInstalledSmrtPackages();
|
|
974
|
+
} catch (error) {
|
|
975
|
+
verboseLog(`[ObjectRegistry] Package discovery failed while indexing qualified-name aliases: ${error instanceof Error ? error.message : String(error)}`);
|
|
976
|
+
}
|
|
977
|
+
for (const packageName of packages) await loadExternalManifest(packageName);
|
|
978
|
+
const inventory = collectManifestAliasInventory([
|
|
979
|
+
...getManifestCache().values(),
|
|
980
|
+
getStaticManifestCache(),
|
|
981
|
+
getTestManifestCache(),
|
|
982
|
+
getLocalTestManifestCache()
|
|
983
|
+
]);
|
|
984
|
+
manifestAliasInventory = {
|
|
985
|
+
generation: getRegistryGeneration(),
|
|
986
|
+
inventory
|
|
987
|
+
};
|
|
988
|
+
return inventory;
|
|
989
|
+
}
|
|
990
|
+
/**
|
|
896
991
|
* Try to load and register a class from external SMRT packages
|
|
897
992
|
*
|
|
898
993
|
* This method attempts to auto-discover classes from @happyvertical/smrt-* packages
|
|
@@ -930,6 +1025,16 @@ var ObjectRegistry = class ObjectRegistry {
|
|
|
930
1025
|
});
|
|
931
1026
|
}
|
|
932
1027
|
if (matches.length === 0) {
|
|
1028
|
+
if (requestedPackageName) {
|
|
1029
|
+
const current = resolveManifestQualifiedNameAlias(await ObjectRegistry.loadManifestAliasInventory(loadExternalManifest), className);
|
|
1030
|
+
if (current && current !== className) {
|
|
1031
|
+
if (await ObjectRegistry.tryLoadFromExternalPackage(current)) {
|
|
1032
|
+
const registered = lookupQualifiedNameAlias(className);
|
|
1033
|
+
if (registered) warnDeprecatedQualifiedName(className, registered.qualifiedName ?? current, "manifest alias index (lazy load)");
|
|
1034
|
+
return true;
|
|
1035
|
+
}
|
|
1036
|
+
}
|
|
1037
|
+
}
|
|
933
1038
|
verboseLog(`[ObjectRegistry] ❌ Could not find ${className} in any SMRT package`);
|
|
934
1039
|
return false;
|
|
935
1040
|
}
|
|
@@ -939,6 +1044,7 @@ var ObjectRegistry = class ObjectRegistry {
|
|
|
939
1044
|
});
|
|
940
1045
|
const { manifest, packageName, objectDef } = matches[0];
|
|
941
1046
|
verboseLog(`[ObjectRegistry] ✅ Found ${className} in ${packageName} manifest`);
|
|
1047
|
+
if (Object.values(manifest.objects).some((def) => readPreviousQualifiedNames(def?.decoratorConfig).length > 0)) await ObjectRegistry.loadManifestAliasInventory(loadExternalManifest);
|
|
942
1048
|
ObjectRegistry.registerFromManifest(objectDef.className || requestedClassName, objectDef, manifest.packageName);
|
|
943
1049
|
const childClassName = objectDef.className || requestedClassName;
|
|
944
1050
|
if (objectDef.extends && objectDef.extends !== childClassName) {
|
|
@@ -1211,6 +1317,7 @@ var ObjectRegistry = class ObjectRegistry {
|
|
|
1211
1317
|
ObjectRegistry.constructorTenantScopedDeclarations.clear();
|
|
1212
1318
|
getLegacyFieldDecorators().clear();
|
|
1213
1319
|
ObjectRegistry.stiSiblingsLoaded.clear();
|
|
1320
|
+
resetQualifiedNameAliasWarnings();
|
|
1214
1321
|
ObjectRegistry.nextDbId = 1;
|
|
1215
1322
|
}
|
|
1216
1323
|
/**
|
|
@@ -1408,7 +1515,8 @@ var ObjectRegistry = class ObjectRegistry {
|
|
|
1408
1515
|
* const fields = ObjectRegistry.getFields('Place'); // Now has fields
|
|
1409
1516
|
* ```
|
|
1410
1517
|
*/
|
|
1411
|
-
static async ensureManifestLoaded(
|
|
1518
|
+
static async ensureManifestLoaded(requestedName) {
|
|
1519
|
+
let className = requestedName;
|
|
1412
1520
|
const startGeneration = getRegistryGeneration();
|
|
1413
1521
|
let registered = ObjectRegistry.findClass(className);
|
|
1414
1522
|
if (registered && manifestEnsuredAtGeneration.get(registered) === startGeneration) return;
|
|
@@ -1423,6 +1531,7 @@ var ObjectRegistry = class ObjectRegistry {
|
|
|
1423
1531
|
const testHint = process.env.NODE_ENV === "test" || process.env.VITEST === "true" || typeof testGlobals.describe !== "undefined" || typeof testGlobals.it !== "undefined" ? "\n\n⚠️ Are you using 'smrt test'? Tests require manifest generation.\n ✅ Use: smrt test\n ❌ NOT: npx vitest\n" : "";
|
|
1424
1532
|
throw new Error(`Class '${className}' is not registered. Ensure the class is decorated with @smrt() before using it.` + testHint);
|
|
1425
1533
|
}
|
|
1534
|
+
if (registered.qualifiedName && registered.qualifiedName !== className && lookupQualifiedNameAlias(className) === registered) className = registered.qualifiedName;
|
|
1426
1535
|
const existingFieldCount = registered.fields.size;
|
|
1427
1536
|
const { discoverManifestEntry } = await importManifestLoader();
|
|
1428
1537
|
const manifestEntry = await discoverManifestEntry(registered.constructor, className);
|