@happyvertical/smrt-scanner 0.57.9 → 0.57.10
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 +4 -1
- package/dist/chunks/{scanner-AeB0tDx4.js → scanner-DPJwlSPw.js} +59 -9
- package/dist/chunks/scanner-DPJwlSPw.js.map +1 -0
- package/dist/cli.js +1 -1
- package/dist/index.js +1 -1
- package/dist/inheritance-resolver.d.ts +21 -0
- package/dist/inheritance-resolver.d.ts.map +1 -1
- package/dist/knowledge-graph.d.ts.map +1 -1
- package/dist/knowledge.js +1 -1
- package/dist/knowledge.js.map +1 -1
- package/dist/manifest-adapter.d.ts +22 -1
- package/dist/manifest-adapter.d.ts.map +1 -1
- package/dist/oxc-parser.d.ts +2 -0
- package/dist/oxc-parser.d.ts.map +1 -1
- package/dist/types.d.ts +8 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +2 -2
- package/dist/chunks/scanner-AeB0tDx4.js.map +0 -1
package/dist/cli.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import { r as ManifestAdapter, t as OxcScanner } from "./chunks/scanner-
|
|
2
|
+
import { r as ManifestAdapter, t as OxcScanner } from "./chunks/scanner-DPJwlSPw.js";
|
|
3
3
|
import { readFileSync, writeFileSync } from "node:fs";
|
|
4
4
|
import { dirname, resolve } from "node:path";
|
|
5
5
|
import { fileURLToPath } from "node:url";
|
package/dist/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { C as isPrunedAgentSurfacePath, E as sourceMayDeclareAgentSurface, S as isAgentSurfaceSourcePath, T as scanSvelteAgentSurface, _ as normalizeGlobSeparators, a as extractSmrtImports, b as emptyAgentSurface, c as parseRecipeFile, d as extractRecipes, f as resolveRecipes, g as discoverSourceFiles, h as resolveEnumValues, i as defaultCollectionName, l as parseSource, m as InheritanceResolver, n as parseUiSelectorsFile, o as parseAgentSurfaceFile, p as sourceMayDeclareRecipe, r as ManifestAdapter, s as parseFile, t as OxcScanner, u as deriveHelpFieldRefs, v as relativeGlobToCwd, w as mergeAgentSurfaces, x as extractAgentSurface, y as checkAgentSurfaceToolNames } from "./chunks/scanner-
|
|
1
|
+
import { C as isPrunedAgentSurfacePath, E as sourceMayDeclareAgentSurface, S as isAgentSurfaceSourcePath, T as scanSvelteAgentSurface, _ as normalizeGlobSeparators, a as extractSmrtImports, b as emptyAgentSurface, c as parseRecipeFile, d as extractRecipes, f as resolveRecipes, g as discoverSourceFiles, h as resolveEnumValues, i as defaultCollectionName, l as parseSource, m as InheritanceResolver, n as parseUiSelectorsFile, o as parseAgentSurfaceFile, p as sourceMayDeclareRecipe, r as ManifestAdapter, s as parseFile, t as OxcScanner, u as deriveHelpFieldRefs, v as relativeGlobToCwd, w as mergeAgentSurfaces, x as extractAgentSurface, y as checkAgentSurfaceToolNames } from "./chunks/scanner-DPJwlSPw.js";
|
|
2
2
|
import "./types.js";
|
|
3
3
|
import { existsSync, readFileSync } from "node:fs";
|
|
4
4
|
import { basename, resolve } from "node:path";
|
|
@@ -5,6 +5,27 @@
|
|
|
5
5
|
* Handles STI (Single Table Inheritance) detection and field merging.
|
|
6
6
|
*/
|
|
7
7
|
import type { ExternalManifest, RawClassDefinition, RawFieldDefinition, ResolvedClassDefinition } from './types.js';
|
|
8
|
+
/**
|
|
9
|
+
* Framework base classes that are always recognized.
|
|
10
|
+
*
|
|
11
|
+
* Hardcoded list — every framework abstract base class that consuming
|
|
12
|
+
* packages can subclass without needing `@smrt()` must appear here, or
|
|
13
|
+
* the scanner will silently drop undecorated subclasses from the manifest.
|
|
14
|
+
*
|
|
15
|
+
* `SmrtJunction`, `SmrtHierarchical`, and `SmrtPolymorphicAssociation` are
|
|
16
|
+
* stopgap entries pending a manifest-driven base-class detection scheme —
|
|
17
|
+
* core would export its abstract bases in its manifest and dependents would
|
|
18
|
+
* resolve through them via the existing cross-package chain walker (see
|
|
19
|
+
* `findClassDefinition`). After tracing the wiring at R3 kickoff
|
|
20
|
+
* (2026-05-18), generalization was deferred: new `SmartObjectManifest →
|
|
21
|
+
* ExternalManifest` adapter, new vite-plugin scan-path failure modes,
|
|
22
|
+
* new sync-I/O surface — large cost for ~two saved lines per future
|
|
23
|
+
* abstract base. R4 added the third base and re-confirmed the call: a new
|
|
24
|
+
* abstract base is still two lines here + two in
|
|
25
|
+
* `FRAMEWORK_ABSTRACT_BASE_NAMES`, far cheaper than the generalization's
|
|
26
|
+
* new failure surface. Extend this list instead.
|
|
27
|
+
*/
|
|
28
|
+
export declare const FRAMEWORK_BASE_CLASSES: ReadonlySet<string>;
|
|
8
29
|
/**
|
|
9
30
|
* Resolves class inheritance chains and STI hierarchies from raw OXC scan output.
|
|
10
31
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inheritance-resolver.d.ts","sourceRoot":"","sources":["../src/inheritance-resolver.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EACV,gBAAgB,EAChB,kBAAkB,EAClB,kBAAkB,EAClB,uBAAuB,EACxB,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"inheritance-resolver.d.ts","sourceRoot":"","sources":["../src/inheritance-resolver.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EACV,gBAAgB,EAChB,kBAAkB,EAClB,kBAAkB,EAClB,uBAAuB,EACxB,MAAM,YAAY,CAAC;AAEpB;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,sBAAsB,EAAE,WAAW,CAAC,MAAM,CAUrD,CAAC;AAEH;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,qBAAa,mBAAmB;IAC9B,6CAA6C;IAC7C,OAAO,CAAC,QAAQ,CAA8C;IAE9D,8DAA8D;IAC9D,OAAO,CAAC,iBAAiB,CAA4C;IAErE,yCAAyC;IACzC,OAAO,CAAC,gBAAgB,CAAc;IAEtC,2CAA2C;IAC3C,OAAO,CAAC,UAAU,CAAoC;IAEtD;;;;;;;;OAQG;gBAED,OAAO,GAAE;QACP,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;QACvB,iBAAiB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;KAC9C;IASR;;;;;;;;;;OAUG;IACH,UAAU,CAAC,OAAO,EAAE,kBAAkB,EAAE,GAAG,IAAI;IAQ/C;;;;;;;;;;OAUG;IACH,mBAAmB,CAAC,QAAQ,EAAE,gBAAgB,GAAG,IAAI;IAKrD;;;;;;;;;;;;;;;OAeG;IACH,UAAU,IAAI,uBAAuB,EAAE;IAgBvC;;;OAGG;IACH,OAAO,CAAC,oBAAoB;IAc5B;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,QAAQ,EAAE,kBAAkB,GAAG,uBAAuB;IAiC9D;;;;;;;;;;;;;;;;;OAiBG;IACH,uBAAuB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE;IA6BpD;;;;;;;;;;;OAWG;IACH,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,kBAAkB,GAAG,IAAI;IA+BjE;;;;;;;;;;OAUG;IACH,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,GAAG,IAAI;IAU3C;;;;;;;;;;;;OAYG;IACH,sBAAsB,CACpB,QAAQ,EAAE,kBAAkB,EAC5B,KAAK,EAAE,MAAM,EAAE,GACd,KAAK,GAAG,KAAK;IAmBhB;;;;;;;;;;;;OAYG;IACH,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,kBAAkB,EAAE;IAsBxD;;;;;;;;;;OAUG;IACH,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE;IAe3C;;;;;;OAMG;IACH,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAKtC;;;;;;;;;OASG;IACH,QAAQ,IAAI;QACV,YAAY,EAAE,MAAM,CAAC;QACrB,WAAW,EAAE,MAAM,CAAC;QACpB,UAAU,EAAE,MAAM,CAAC;QACnB,mBAAmB,EAAE,MAAM,CAAC;KAC7B;CAyBF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"knowledge-graph.d.ts","sourceRoot":"","sources":["../src/knowledge-graph.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAKH,OAAO,KAAK,EACV,uBAAuB,EAExB,MAAM,2BAA2B,CAAC;AAEnC;;;;;;;;;GASG;AACH,wBAAgB,8BAA8B,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAexE;AAED,+EAA+E;AAC/E,MAAM,WAAW,mBAAmB;IAClC,wEAAwE;IACxE,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,uBAAuB,CAAC;CACnC;AAED,MAAM,WAAW,yBAAyB;IACxC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,wBAAwB;IACvC,8EAA8E;IAC9E,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC;IAC9B,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,MAAM,sBAAsB,GAC9B,iBAAiB,GACjB,KAAK,GACL,UAAU,GACV,cAAc,GACd,aAAa,GACb,aAAa,CAAC;AAElB,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,sBAAsB,CAAC;IAC7B,8FAA8F;IAC9F,IAAI,EAAE,MAAM,CAAC;IACb;;;;OAIG;IACH,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,yDAAyD;IACzD,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,kBAAkB;IACjC,aAAa,EAAE,CAAC,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,6EAA6E;IAC7E,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC,QAAQ,EAAE,yBAAyB,EAAE,CAAC;IACtC,OAAO,EAAE,wBAAwB,EAAE,CAAC;IACpC,KAAK,EAAE,kBAAkB,EAAE,CAAC;CAC7B;AAUD,MAAM,WAAW,0BAA0B;IACzC;;;;;;;;OAQG;IACH,aAAa,CAAC,EAAE,kBAAkB,CAAC;CACpC;AAED,qEAAqE;AACrE,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,mBAAmB,EAAE,EAC7B,OAAO,GAAE,0BAA+B,GACvC,kBAAkB,
|
|
1
|
+
{"version":3,"file":"knowledge-graph.d.ts","sourceRoot":"","sources":["../src/knowledge-graph.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAKH,OAAO,KAAK,EACV,uBAAuB,EAExB,MAAM,2BAA2B,CAAC;AAEnC;;;;;;;;;GASG;AACH,wBAAgB,8BAA8B,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAexE;AAED,+EAA+E;AAC/E,MAAM,WAAW,mBAAmB;IAClC,wEAAwE;IACxE,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,uBAAuB,CAAC;CACnC;AAED,MAAM,WAAW,yBAAyB;IACxC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,wBAAwB;IACvC,8EAA8E;IAC9E,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC;IAC9B,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,MAAM,sBAAsB,GAC9B,iBAAiB,GACjB,KAAK,GACL,UAAU,GACV,cAAc,GACd,aAAa,GACb,aAAa,CAAC;AAElB,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,sBAAsB,CAAC;IAC7B,8FAA8F;IAC9F,IAAI,EAAE,MAAM,CAAC;IACb;;;;OAIG;IACH,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,yDAAyD;IACzD,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,kBAAkB;IACjC,aAAa,EAAE,CAAC,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,6EAA6E;IAC7E,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC,QAAQ,EAAE,yBAAyB,EAAE,CAAC;IACtC,OAAO,EAAE,wBAAwB,EAAE,CAAC;IACpC,KAAK,EAAE,kBAAkB,EAAE,CAAC;CAC7B;AAUD,MAAM,WAAW,0BAA0B;IACzC;;;;;;;;OAQG;IACH,aAAa,CAAC,EAAE,kBAAkB,CAAC;CACpC;AAED,qEAAqE;AACrE,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,mBAAmB,EAAE,EAC7B,OAAO,GAAE,0BAA+B,GACvC,kBAAkB,CAgMpB;AAOD,8EAA8E;AAC9E,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAEtD;AA+BD,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,EAAE,OAAO,GAAG,SAAS,CAAC;IAC9B,IAAI,EACA,yBAAyB,GACzB,uBAAuB,GACvB,gCAAgC,CAAC;IACrC,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;;;;;;GAOG;AACH,wBAAgB,4BAA4B,CAC1C,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE;IAAE,eAAe,CAAC,EAAE,OAAO,CAAA;CAAO,GAC1C,4BAA4B,EAAE,CA0FhC"}
|
package/dist/knowledge.js
CHANGED
|
@@ -177,7 +177,7 @@ function buildKnowledgeGraph(inputs, options = {}) {
|
|
|
177
177
|
if (object.tableStrategy === "sti" && object.extends) edges.push({
|
|
178
178
|
type: "sti",
|
|
179
179
|
from: id,
|
|
180
|
-
to: resolveTarget(object.extends, objectPackageName) ?? `${objectPackageName}#${object.extends}`
|
|
180
|
+
to: resolveTarget(object.extendsQualified) ?? resolveTarget(object.extends, objectPackageName) ?? `${objectPackageName}#${object.extends}`
|
|
181
181
|
});
|
|
182
182
|
for (const feature of object.relationshipFeatures) if (feature === "SmrtJunction") edges.push({
|
|
183
183
|
type: "junction",
|
package/dist/knowledge.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"knowledge.js","names":[],"sources":["../src/knowledge-discovery.ts","../src/knowledge-graph.ts"],"sourcesContent":["/** Filesystem-only discovery shared by docs snapshots and knowledge indexing. */\nimport type { Dirent } from 'node:fs';\nimport {\n existsSync,\n readdirSync,\n readFileSync,\n realpathSync,\n statSync,\n} from 'node:fs';\nimport { basename, join, relative, resolve, sep } from 'node:path';\nimport type { DomainKnowledgeModuleDoc } from '@happyvertical/smrt-types';\n\nexport interface ScopedPackageDirectory {\n /** Scope entry name; consumers may select by alias rather than manifest name. */\n name: string;\n /** Original node_modules path, retained for workspace-relative reporting. */\n directory: string;\n /** Resolved path for identity comparisons or absolute snapshot links. */\n realDirectory: string;\n}\n\n/**\n * Enumerate scope entries without descending into pnpm's linked dependency graph.\n * Selection, workspace discovery and enrichment remain caller policies.\n */\nexport function discoverScopedPackageDirectories(\n scopeDirectories: string[],\n): ScopedPackageDirectory[] {\n const packages: ScopedPackageDirectory[] = [];\n for (const scopeDirectory of new Set(scopeDirectories)) {\n let entries: Dirent[];\n try {\n entries = readdirSync(scopeDirectory, { withFileTypes: true });\n } catch {\n continue;\n }\n for (const entry of entries) {\n if (!entry.isDirectory() && !entry.isSymbolicLink()) continue;\n const directory = join(scopeDirectory, entry.name);\n try {\n packages.push({\n name: entry.name,\n directory,\n realDirectory: realpathSync(directory),\n });\n } catch {\n // Dangling links are not installed packages.\n }\n }\n }\n return packages;\n}\n\n/** Read authored docs only; never load artifacts, package code or object scans. */\nexport function readPackageAgentDoc(\n directory: string,\n options: { inspectAdapter?: boolean } = {},\n) {\n const agentsPath = join(directory, 'AGENTS.md');\n const claudePath = join(directory, 'CLAUDE.md');\n const hasAgentsMd = existsSync(agentsPath);\n const hasClaudeMd = existsSync(claudePath);\n const agentsContent = hasAgentsMd ? readFileSync(agentsPath, 'utf8') : '';\n const claudeContent =\n hasClaudeMd && (!hasAgentsMd || options.inspectAdapter)\n ? readFileSync(claudePath, 'utf8')\n : '';\n const hasClaudeShim = hasClaudeMd && claudeContent.trim() === '@AGENTS.md';\n const source: 'AGENTS.md' | 'CLAUDE.md' | null = hasAgentsMd\n ? 'AGENTS.md'\n : hasClaudeMd && !hasClaudeShim\n ? 'CLAUDE.md'\n : null;\n return {\n hasAgentsMd,\n hasClaudeMd,\n hasClaudeShim,\n agentsContent,\n claudeContent,\n source,\n content: hasAgentsMd ? agentsContent : source ? claudeContent : null,\n };\n}\n\n/**\n * Markdown inline links whose target is a `.md` file — `[label](agents/x.md)`,\n * tolerating an `#anchor` and a `\"title\"`. This is how a package registers a\n * sibling module doc (#2108): the link in `AGENTS.md` IS the registration, so\n * there is no separate index to drift out of sync.\n */\nconst MARKDOWN_MD_LINK =\n /\\[[^\\]]*\\]\\(\\s*([^)\\s#]+\\.md)(?:#[^)\\s]*)?(?:\\s+\"[^\"]*\")?\\s*\\)/g;\n\n/** `sourceHashes` key prefix for a linked module doc, e.g. `moduleDoc:agents/crm.md`. */\nexport const MODULE_DOC_HASH_PREFIX = 'moduleDoc:';\n\n/**\n * `sourceHashes` key prefix for a module declaring a view intent or playbook,\n * e.g. `agentSurface:src/lib/orders.intents.ts` (#2591).\n */\nexport const AGENT_SURFACE_HASH_PREFIX = 'agentSurface:';\n\n/**\n * Module doc paths linked from a package's `AGENTS.md`, relative to the package\n * root and in document order.\n *\n * Instruction chains are additive (see `scripts/check-agents-chain.mjs`), so an\n * oversized package doc is split into `packages/<pkg>/agents/<module>.md` siblings\n * instead of nested `AGENTS.md` files. Only links resolving to an existing file\n * INSIDE the package are accepted — a cross-package reference such as\n * `packages/affiliates/MIGRATION.md` belongs to that package's own chain and is\n * ignored here.\n */\nexport function resolveAgentModuleDocPaths(\n rootDir: string,\n agentDoc: string | undefined,\n): string[] {\n if (!agentDoc) return [];\n const root = resolve(rootDir);\n const paths: string[] = [];\n for (const match of agentDoc.matchAll(MARKDOWN_MD_LINK)) {\n const target = match[1];\n if (target.includes('://')) continue;\n const absolute = resolve(root, target);\n if (absolute !== root && !absolute.startsWith(root + sep)) continue;\n const relativePath = relative(root, absolute).split(sep).join('/');\n if (relativePath === 'AGENTS.md' || relativePath === 'CLAUDE.md') continue;\n if (paths.includes(relativePath)) continue;\n if (!existsSync(absolute) || !statSync(absolute).isFile()) continue;\n paths.push(relativePath);\n }\n return paths;\n}\n\n/** {@link resolveAgentModuleDocPaths}, with each doc's contents read. */\nexport function readAgentModuleDocs(\n rootDir: string,\n agentDoc: string | undefined,\n): DomainKnowledgeModuleDoc[] {\n return resolveAgentModuleDocPaths(rootDir, agentDoc).map((path) => ({\n path,\n module: basename(path, '.md'),\n content: readFileSync(join(rootDir, path), 'utf8'),\n }));\n}\n","/**\n * Cross-package knowledge graph (#2863).\n *\n * Each package's own `smrt-knowledge.json` (see `knowledge.ts`) is a\n * per-package projection. Nothing merges them, so cross-package invariants\n * that the scanner manifest already carries — `@crossPackageRef` targets, STI\n * parent/child pairs, junction/hierarchical/polymorphic base usage, and\n * `_smrt_` system-table ownership — live only as prose in the root\n * `AGENTS.md`. This module builds the merged, deterministic root artifact\n * (`.smrt/smrt-knowledge-graph.json`) from whichever per-package artifacts\n * are present, and checks it for staleness the same way `knowledge.ts` checks\n * a package artifact: by comparing recorded `sourceHashes` against the\n * current file content.\n *\n * This module never invents an edge: every edge is a direct read of a field\n * already emitted into a package's `DomainKnowledgeManifest` (`related`,\n * `tableStrategy`, `extends`, `relationshipFeatures`, `tableName`).\n */\n\nimport { createHash } from 'node:crypto';\nimport { existsSync, readdirSync, readFileSync } from 'node:fs';\nimport { join, relative } from 'node:path';\nimport type {\n DomainKnowledgeManifest,\n DomainKnowledgeObject,\n} from '@happyvertical/smrt-types';\n\n/**\n * Discovers every currently-buildable per-package artifact path under\n * `<rootDir>/packages/*`, preferring the published `dist/smrt-knowledge.json`\n * over the local dev `.smrt/smrt-knowledge.json` when both exist. Shared by\n * the generator (which needs the manifest content) and the freshness check\n * (which only needs to know whether the current SET of artifacts matches\n * what the graph was built from — a newly built package, or a package that\n * newly started exporting `./smrt-knowledge.json`, must mark the graph stale\n * even though every artifact the graph already knows about is unchanged).\n */\nexport function discoverKnowledgeArtifactPaths(rootDir: string): string[] {\n const packagesDir = join(rootDir, 'packages');\n if (!existsSync(packagesDir)) return [];\n const paths: string[] = [];\n for (const entry of readdirSync(packagesDir, { withFileTypes: true })) {\n if (!entry.isDirectory()) continue;\n const packageDir = join(packagesDir, entry.name);\n const candidates = [\n join(packageDir, 'dist', 'smrt-knowledge.json'),\n join(packageDir, '.smrt', 'smrt-knowledge.json'),\n ];\n const found = candidates.find((path) => existsSync(path));\n if (found) paths.push(relative(rootDir, found).split('\\\\').join('/'));\n }\n return paths.sort();\n}\n\n/** One package's `smrt-knowledge.json`, located relative to the graph root. */\nexport interface KnowledgeGraphInput {\n /** Path to the artifact, relative to the repo root, POSIX-separated. */\n artifactPath: string;\n manifest: DomainKnowledgeManifest;\n}\n\nexport interface KnowledgeGraphPackageNode {\n name: string;\n version?: string;\n artifactPath: string;\n tags: string[];\n risks: string[];\n summary?: string;\n objectCount: number;\n}\n\nexport interface KnowledgeGraphObjectNode {\n /** `<packageName>#<qualifiedName-or-name>`, this graph's stable object id. */\n id: string;\n packageName: string;\n name: string;\n qualifiedName?: string;\n collection: string;\n tableName?: string;\n tableStrategy?: 'cti' | 'sti';\n extends?: string;\n}\n\nexport type KnowledgeGraphEdgeType =\n | 'crossPackageRef'\n | 'sti'\n | 'junction'\n | 'hierarchical'\n | 'polymorphic'\n | 'systemTable';\n\nexport interface KnowledgeGraphEdge {\n type: KnowledgeGraphEdgeType;\n /** Object id (or `<packageName>#<extends>`-style unresolved target) this edge starts from. */\n from: string;\n /**\n * Object id the edge points to when resolvable against a scanned object;\n * otherwise the raw declared target (e.g. a qualified name this run did\n * not scan), so the edge is still readable rather than dropped.\n */\n to?: string;\n /** Declaring field name, for `crossPackageRef` edges. */\n field?: string;\n}\n\nexport interface SmrtKnowledgeGraph {\n schemaVersion: 1;\n generatedAt: string;\n /** `artifactPath -> sha256(content)`, sorted by key; the freshness input. */\n sourceHashes: Record<string, string>;\n packages: KnowledgeGraphPackageNode[];\n objects: KnowledgeGraphObjectNode[];\n edges: KnowledgeGraphEdge[];\n}\n\nfunction hashContent(content: string): string {\n return createHash('sha256').update(content).digest('hex');\n}\n\nfunction objectId(packageName: string, object: DomainKnowledgeObject): string {\n return `${packageName}#${object.qualifiedName ?? object.name}`;\n}\n\nexport interface BuildKnowledgeGraphOptions {\n /**\n * The graph currently on disk, when regenerating. `generatedAt` is\n * preserved from it rather than reset to the clock whenever the rebuilt\n * graph is otherwise semantically identical — the same pattern\n * `preserveKnowledgeGeneratedAt` uses for per-package artifacts\n * (`packages/core/src/vite-plugin/index.ts`) — so re-running the generator\n * with nothing merged actually changed does not churn the file (#2872\n * review).\n */\n previousGraph?: SmrtKnowledgeGraph;\n}\n\n/** Builds the merged graph. Deterministic: every array is sorted. */\nexport function buildKnowledgeGraph(\n inputs: KnowledgeGraphInput[],\n options: BuildKnowledgeGraphOptions = {},\n): SmrtKnowledgeGraph {\n const sortedInputs = [...inputs].sort((a, b) =>\n a.artifactPath.localeCompare(b.artifactPath),\n );\n\n const sourceHashes: Record<string, string> = {};\n const packages: KnowledgeGraphPackageNode[] = [];\n const objects: KnowledgeGraphObjectNode[] = [];\n const edges: KnowledgeGraphEdge[] = [];\n\n // Qualified-name -> object id, so a crossPackageRef/STI target declared in\n // one package can be resolved to the node emitted by whichever package\n // scanned it, regardless of scan order.\n const idByQualifiedName = new Map<string, string>();\n // Distinct ids per simple name, not a plain array: the same external\n // object can appear in more than one input (e.g. a package artifact and a\n // smrtConsumer aggregate that also scanned it), and counting the\n // duplicate would make resolveTarget's `.length === 1` uniqueness check\n // see a false ambiguity for an otherwise-unique name (#2872 review).\n const idBySimpleName = new Map<string, Set<string>>();\n // A `tableStrategy: 'sti'` object's `extends` is an unqualified simple name\n // (its own package's base class, never a cross-package reference — STI\n // shares one table within a package), so a same-package simple-name match\n // must win over an ambiguous or wrong-package GLOBAL simple-name match:\n // two packages both declaring `Account` must not point one package's\n // subclass at the other package's `Account` (#2863 review).\n const idBySimpleNamePerPackage = new Map<string, Map<string, string>>();\n const aliasIds: Array<[string, string]> = [];\n\n for (const input of sortedInputs) {\n const manifestPackageName =\n input.manifest.packageName ?? input.artifactPath;\n for (const object of input.manifest.objects) {\n // A merged consumer manifest (`smrtConsumer`) aggregates objects\n // scanned from multiple external packages under one local artifact;\n // each object then carries its own `packageName` and that must own\n // the id, or every external object misattributes to the local\n // project and edges resolve to the wrong node (#2872 review).\n const packageName = object.packageName ?? manifestPackageName;\n const perPackage =\n idBySimpleNamePerPackage.get(packageName) ?? new Map<string, string>();\n const id = objectId(packageName, object);\n idByQualifiedName.set(object.qualifiedName ?? id, id);\n const bySimple = idBySimpleName.get(object.name) ?? new Set<string>();\n bySimple.add(id);\n idBySimpleName.set(object.name, bySimple);\n perPackage.set(object.name, id);\n idBySimpleNamePerPackage.set(packageName, perPackage);\n for (const alias of object.previousQualifiedNames ?? []) {\n aliasIds.push([alias, id]);\n }\n }\n }\n // A moved object's deprecated qualified names (#3338) resolve to it, but\n // never shadow a live object's own qualified name. Ownership is tracked\n // separately so two distinct objects claiming one old name fail the build,\n // as the runtime registry refuses them, instead of the first in sort order\n // silently winning; the same object repeated across artifacts is one claim.\n const aliasOwners = new Map<string, Set<string>>();\n for (const [alias, id] of aliasIds) {\n const owners = aliasOwners.get(alias) ?? new Set<string>();\n owners.add(id);\n aliasOwners.set(alias, owners);\n }\n for (const [alias, owners] of aliasOwners) {\n if (owners.size > 1) {\n throw new Error(\n `[knowledge-graph] previousQualifiedNames \"${alias}\" is claimed by more than one object: ` +\n `${[...owners].sort().join(', ')}. An old qualified name can resolve to only one class; ` +\n 'remove the alias from all but one owner.',\n );\n }\n if (!idByQualifiedName.has(alias)) {\n idByQualifiedName.set(alias, [...owners][0]);\n }\n }\n\n const resolveTarget = (\n raw: string | undefined,\n declaringPackageName?: string,\n ): string | undefined => {\n if (!raw) return undefined;\n if (idByQualifiedName.has(raw)) return idByQualifiedName.get(raw);\n if (declaringPackageName) {\n const sameId = idBySimpleNamePerPackage\n .get(declaringPackageName)\n ?.get(raw);\n if (sameId) return sameId;\n }\n const bySimple = idBySimpleName.get(raw);\n if (bySimple && bySimple.size === 1) return [...bySimple][0];\n return undefined;\n };\n\n const seenObjectIds = new Set<string>();\n for (const input of sortedInputs) {\n sourceHashes[input.artifactPath] = hashContent(\n stableStringify(input.manifest),\n );\n const packageName = input.manifest.packageName ?? input.artifactPath;\n\n packages.push({\n name: packageName,\n version: input.manifest.packageVersion,\n artifactPath: input.artifactPath,\n tags: [...input.manifest.tags].sort(),\n risks: [...input.manifest.risks].sort(),\n summary: input.manifest.summary,\n objectCount: input.manifest.objects.length,\n });\n\n for (const object of input.manifest.objects) {\n // See the id-map pass above: an aggregated consumer manifest attributes\n // each object to its own scanned package, not the local project.\n const objectPackageName = object.packageName ?? packageName;\n const id = objectId(objectPackageName, object);\n if (!seenObjectIds.has(id)) {\n seenObjectIds.add(id);\n objects.push({\n id,\n packageName: objectPackageName,\n name: object.name,\n qualifiedName: object.qualifiedName,\n collection: object.collection,\n tableName: object.tableName,\n tableStrategy: object.tableStrategy,\n extends: object.extends,\n });\n }\n\n for (const field of object.relationships) {\n if (field.type !== 'crossPackageRef') continue;\n edges.push({\n type: 'crossPackageRef',\n from: id,\n to: resolveTarget(field.related) ?? field.related,\n field: field.name,\n });\n }\n\n if (object.tableStrategy === 'sti' && object.extends) {\n edges.push({\n type: 'sti',\n from: id,\n to:\n resolveTarget(object.extends, objectPackageName) ??\n `${objectPackageName}#${object.extends}`,\n });\n }\n\n for (const feature of object.relationshipFeatures) {\n if (feature === 'SmrtJunction') {\n edges.push({ type: 'junction', from: id });\n } else if (feature === 'SmrtHierarchical') {\n edges.push({ type: 'hierarchical', from: id });\n } else if (feature === 'SmrtPolymorphicAssociation') {\n edges.push({ type: 'polymorphic', from: id });\n }\n }\n\n if (object.tableName?.startsWith('_smrt_')) {\n edges.push({ type: 'systemTable', from: id, to: object.tableName });\n }\n }\n }\n\n packages.sort((a, b) => a.name.localeCompare(b.name));\n objects.sort((a, b) => a.id.localeCompare(b.id));\n edges.sort((a, b) => {\n const key = (edge: KnowledgeGraphEdge) =>\n `${edge.type}|${edge.from}|${edge.to ?? ''}|${edge.field ?? ''}`;\n return key(a).localeCompare(key(b));\n });\n\n const graph: SmrtKnowledgeGraph = {\n schemaVersion: 1,\n generatedAt: new Date().toISOString(),\n sourceHashes: sortRecord(sourceHashes),\n packages,\n objects,\n edges,\n };\n\n const { previousGraph } = options;\n if (\n previousGraph &&\n semanticGraphJson(previousGraph) === semanticGraphJson(graph)\n ) {\n return { ...graph, generatedAt: previousGraph.generatedAt };\n }\n return graph;\n}\n\nfunction semanticGraphJson(graph: SmrtKnowledgeGraph): string {\n const { generatedAt: _generatedAt, ...rest } = graph;\n return stableStringify(rest);\n}\n\n/** Deterministic `JSON.stringify` — object keys are sorted at every level. */\nexport function stableStringify(value: unknown): string {\n return JSON.stringify(sortValue(value));\n}\n\nfunction sortValue(value: unknown): unknown {\n if (Array.isArray(value)) return value.map(sortValue);\n if (value && typeof value === 'object') {\n // Null-prototype target: on an ordinary `{}`, assigning the key\n // `\"__proto__\"` through bracket notation invokes `Object.prototype`'s\n // `__proto__` accessor instead of creating an own property, so that key\n // silently vanishes from the result and `JSON.stringify()` never emits\n // it — two inputs that differ only by an own `\"__proto__\"` key (which\n // `JSON.parse()` does create as a real own property) then serialize\n // identically. An object with no prototype has no such accessor to\n // shadow the assignment, so every own key — including `\"__proto__\"` —\n // becomes a real own data property. `JSON.stringify()` does not care\n // about an object's prototype, only its own enumerable properties, so\n // this changes no other output.\n const sorted: Record<string, unknown> = Object.create(null);\n for (const key of Object.keys(value as Record<string, unknown>).sort()) {\n sorted[key] = sortValue((value as Record<string, unknown>)[key]);\n }\n return sorted;\n }\n return value;\n}\n\nfunction sortRecord(record: Record<string, string>): Record<string, string> {\n const sorted: Record<string, string> = {};\n for (const key of Object.keys(record).sort()) sorted[key] = record[key];\n return sorted;\n}\n\nexport interface KnowledgeGraphFreshnessIssue {\n severity: 'error' | 'warning';\n code:\n | 'missing-knowledge-graph'\n | 'stale-knowledge-graph'\n | 'knowledge-graph-source-missing';\n message: string;\n file?: string;\n}\n\n/**\n * Checks the merged graph's recorded `sourceHashes` against the current\n * content of each per-package artifact it was built from — the same pattern\n * `knowledge.ts`/`smrt-dev-mcp` use for a single package's `sourceHashes`.\n *\n * `graphPath` and each `artifactPath` in the graph are resolved relative to\n * `rootDir` (the repo root).\n */\nexport function checkKnowledgeGraphFreshness(\n rootDir: string,\n graphPath: string,\n options: { requireArtifact?: boolean } = {},\n): KnowledgeGraphFreshnessIssue[] {\n const issues: KnowledgeGraphFreshnessIssue[] = [];\n const absoluteGraphPath = `${rootDir}/${graphPath}`;\n if (!existsSync(absoluteGraphPath)) {\n if (!options.requireArtifact) return issues;\n issues.push({\n severity: 'error',\n code: 'missing-knowledge-graph',\n message: `${graphPath} does not exist; run \\`pnpm knowledge:graph\\``,\n file: graphPath,\n });\n return issues;\n }\n\n let graph: SmrtKnowledgeGraph;\n try {\n graph = JSON.parse(readFileSync(absoluteGraphPath, 'utf8'));\n } catch (error) {\n issues.push({\n severity: 'error',\n code: 'stale-knowledge-graph',\n message: `${graphPath} is not valid JSON: ${\n error instanceof Error ? error.message : String(error)\n }`,\n file: graphPath,\n });\n return issues;\n }\n\n const recordedPaths = Object.keys(graph.sourceHashes ?? {});\n for (const [artifactPath, expectedHash] of Object.entries(\n graph.sourceHashes ?? {},\n )) {\n const absoluteArtifactPath = `${rootDir}/${artifactPath}`;\n if (!existsSync(absoluteArtifactPath)) {\n issues.push({\n severity: 'error',\n code: 'knowledge-graph-source-missing',\n message: `${artifactPath} used to build ${graphPath} no longer exists`,\n file: graphPath,\n });\n continue;\n }\n let manifest: unknown;\n try {\n manifest = JSON.parse(readFileSync(absoluteArtifactPath, 'utf8'));\n } catch (error) {\n issues.push({\n severity: 'error',\n code: 'stale-knowledge-graph',\n message: `${artifactPath} is not valid JSON (${\n error instanceof Error ? error.message : String(error)\n }); run \\`pnpm knowledge:graph\\``,\n file: graphPath,\n });\n continue;\n }\n const actualHash = hashContent(stableStringify(manifest));\n if (actualHash !== expectedHash) {\n issues.push({\n severity: 'error',\n code: 'stale-knowledge-graph',\n message: `${artifactPath} changed since ${graphPath} was generated; run \\`pnpm knowledge:graph\\``,\n file: graphPath,\n });\n }\n }\n\n // A per-key hash comparison alone cannot see an ADDED artifact: a package\n // that just finished its first build, or just started exporting\n // `./smrt-knowledge.json`, contributes a path the graph never recorded, so\n // every recorded hash still matches. Compare the current discoverable SET\n // against the recorded set to catch that (#2863 review).\n const currentPaths = discoverKnowledgeArtifactPaths(rootDir);\n const recordedSet = new Set(recordedPaths);\n const newPaths = currentPaths.filter((path) => !recordedSet.has(path));\n if (newPaths.length > 0) {\n issues.push({\n severity: 'error',\n code: 'stale-knowledge-graph',\n message: `${newPaths.join(', ')} ${\n newPaths.length === 1\n ? 'is a new package artifact'\n : 'are new package artifacts'\n } not yet merged into ${graphPath}; run \\`pnpm knowledge:graph\\``,\n file: graphPath,\n });\n }\n\n return issues;\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"knowledge.js","names":[],"sources":["../src/knowledge-discovery.ts","../src/knowledge-graph.ts"],"sourcesContent":["/** Filesystem-only discovery shared by docs snapshots and knowledge indexing. */\nimport type { Dirent } from 'node:fs';\nimport {\n existsSync,\n readdirSync,\n readFileSync,\n realpathSync,\n statSync,\n} from 'node:fs';\nimport { basename, join, relative, resolve, sep } from 'node:path';\nimport type { DomainKnowledgeModuleDoc } from '@happyvertical/smrt-types';\n\nexport interface ScopedPackageDirectory {\n /** Scope entry name; consumers may select by alias rather than manifest name. */\n name: string;\n /** Original node_modules path, retained for workspace-relative reporting. */\n directory: string;\n /** Resolved path for identity comparisons or absolute snapshot links. */\n realDirectory: string;\n}\n\n/**\n * Enumerate scope entries without descending into pnpm's linked dependency graph.\n * Selection, workspace discovery and enrichment remain caller policies.\n */\nexport function discoverScopedPackageDirectories(\n scopeDirectories: string[],\n): ScopedPackageDirectory[] {\n const packages: ScopedPackageDirectory[] = [];\n for (const scopeDirectory of new Set(scopeDirectories)) {\n let entries: Dirent[];\n try {\n entries = readdirSync(scopeDirectory, { withFileTypes: true });\n } catch {\n continue;\n }\n for (const entry of entries) {\n if (!entry.isDirectory() && !entry.isSymbolicLink()) continue;\n const directory = join(scopeDirectory, entry.name);\n try {\n packages.push({\n name: entry.name,\n directory,\n realDirectory: realpathSync(directory),\n });\n } catch {\n // Dangling links are not installed packages.\n }\n }\n }\n return packages;\n}\n\n/** Read authored docs only; never load artifacts, package code or object scans. */\nexport function readPackageAgentDoc(\n directory: string,\n options: { inspectAdapter?: boolean } = {},\n) {\n const agentsPath = join(directory, 'AGENTS.md');\n const claudePath = join(directory, 'CLAUDE.md');\n const hasAgentsMd = existsSync(agentsPath);\n const hasClaudeMd = existsSync(claudePath);\n const agentsContent = hasAgentsMd ? readFileSync(agentsPath, 'utf8') : '';\n const claudeContent =\n hasClaudeMd && (!hasAgentsMd || options.inspectAdapter)\n ? readFileSync(claudePath, 'utf8')\n : '';\n const hasClaudeShim = hasClaudeMd && claudeContent.trim() === '@AGENTS.md';\n const source: 'AGENTS.md' | 'CLAUDE.md' | null = hasAgentsMd\n ? 'AGENTS.md'\n : hasClaudeMd && !hasClaudeShim\n ? 'CLAUDE.md'\n : null;\n return {\n hasAgentsMd,\n hasClaudeMd,\n hasClaudeShim,\n agentsContent,\n claudeContent,\n source,\n content: hasAgentsMd ? agentsContent : source ? claudeContent : null,\n };\n}\n\n/**\n * Markdown inline links whose target is a `.md` file — `[label](agents/x.md)`,\n * tolerating an `#anchor` and a `\"title\"`. This is how a package registers a\n * sibling module doc (#2108): the link in `AGENTS.md` IS the registration, so\n * there is no separate index to drift out of sync.\n */\nconst MARKDOWN_MD_LINK =\n /\\[[^\\]]*\\]\\(\\s*([^)\\s#]+\\.md)(?:#[^)\\s]*)?(?:\\s+\"[^\"]*\")?\\s*\\)/g;\n\n/** `sourceHashes` key prefix for a linked module doc, e.g. `moduleDoc:agents/crm.md`. */\nexport const MODULE_DOC_HASH_PREFIX = 'moduleDoc:';\n\n/**\n * `sourceHashes` key prefix for a module declaring a view intent or playbook,\n * e.g. `agentSurface:src/lib/orders.intents.ts` (#2591).\n */\nexport const AGENT_SURFACE_HASH_PREFIX = 'agentSurface:';\n\n/**\n * Module doc paths linked from a package's `AGENTS.md`, relative to the package\n * root and in document order.\n *\n * Instruction chains are additive (see `scripts/check-agents-chain.mjs`), so an\n * oversized package doc is split into `packages/<pkg>/agents/<module>.md` siblings\n * instead of nested `AGENTS.md` files. Only links resolving to an existing file\n * INSIDE the package are accepted — a cross-package reference such as\n * `packages/affiliates/MIGRATION.md` belongs to that package's own chain and is\n * ignored here.\n */\nexport function resolveAgentModuleDocPaths(\n rootDir: string,\n agentDoc: string | undefined,\n): string[] {\n if (!agentDoc) return [];\n const root = resolve(rootDir);\n const paths: string[] = [];\n for (const match of agentDoc.matchAll(MARKDOWN_MD_LINK)) {\n const target = match[1];\n if (target.includes('://')) continue;\n const absolute = resolve(root, target);\n if (absolute !== root && !absolute.startsWith(root + sep)) continue;\n const relativePath = relative(root, absolute).split(sep).join('/');\n if (relativePath === 'AGENTS.md' || relativePath === 'CLAUDE.md') continue;\n if (paths.includes(relativePath)) continue;\n if (!existsSync(absolute) || !statSync(absolute).isFile()) continue;\n paths.push(relativePath);\n }\n return paths;\n}\n\n/** {@link resolveAgentModuleDocPaths}, with each doc's contents read. */\nexport function readAgentModuleDocs(\n rootDir: string,\n agentDoc: string | undefined,\n): DomainKnowledgeModuleDoc[] {\n return resolveAgentModuleDocPaths(rootDir, agentDoc).map((path) => ({\n path,\n module: basename(path, '.md'),\n content: readFileSync(join(rootDir, path), 'utf8'),\n }));\n}\n","/**\n * Cross-package knowledge graph (#2863).\n *\n * Each package's own `smrt-knowledge.json` (see `knowledge.ts`) is a\n * per-package projection. Nothing merges them, so cross-package invariants\n * that the scanner manifest already carries — `@crossPackageRef` targets, STI\n * parent/child pairs, junction/hierarchical/polymorphic base usage, and\n * `_smrt_` system-table ownership — live only as prose in the root\n * `AGENTS.md`. This module builds the merged, deterministic root artifact\n * (`.smrt/smrt-knowledge-graph.json`) from whichever per-package artifacts\n * are present, and checks it for staleness the same way `knowledge.ts` checks\n * a package artifact: by comparing recorded `sourceHashes` against the\n * current file content.\n *\n * This module never invents an edge: every edge is a direct read of a field\n * already emitted into a package's `DomainKnowledgeManifest` (`related`,\n * `tableStrategy`, `extends`, `relationshipFeatures`, `tableName`).\n */\n\nimport { createHash } from 'node:crypto';\nimport { existsSync, readdirSync, readFileSync } from 'node:fs';\nimport { join, relative } from 'node:path';\nimport type {\n DomainKnowledgeManifest,\n DomainKnowledgeObject,\n} from '@happyvertical/smrt-types';\n\n/**\n * Discovers every currently-buildable per-package artifact path under\n * `<rootDir>/packages/*`, preferring the published `dist/smrt-knowledge.json`\n * over the local dev `.smrt/smrt-knowledge.json` when both exist. Shared by\n * the generator (which needs the manifest content) and the freshness check\n * (which only needs to know whether the current SET of artifacts matches\n * what the graph was built from — a newly built package, or a package that\n * newly started exporting `./smrt-knowledge.json`, must mark the graph stale\n * even though every artifact the graph already knows about is unchanged).\n */\nexport function discoverKnowledgeArtifactPaths(rootDir: string): string[] {\n const packagesDir = join(rootDir, 'packages');\n if (!existsSync(packagesDir)) return [];\n const paths: string[] = [];\n for (const entry of readdirSync(packagesDir, { withFileTypes: true })) {\n if (!entry.isDirectory()) continue;\n const packageDir = join(packagesDir, entry.name);\n const candidates = [\n join(packageDir, 'dist', 'smrt-knowledge.json'),\n join(packageDir, '.smrt', 'smrt-knowledge.json'),\n ];\n const found = candidates.find((path) => existsSync(path));\n if (found) paths.push(relative(rootDir, found).split('\\\\').join('/'));\n }\n return paths.sort();\n}\n\n/** One package's `smrt-knowledge.json`, located relative to the graph root. */\nexport interface KnowledgeGraphInput {\n /** Path to the artifact, relative to the repo root, POSIX-separated. */\n artifactPath: string;\n manifest: DomainKnowledgeManifest;\n}\n\nexport interface KnowledgeGraphPackageNode {\n name: string;\n version?: string;\n artifactPath: string;\n tags: string[];\n risks: string[];\n summary?: string;\n objectCount: number;\n}\n\nexport interface KnowledgeGraphObjectNode {\n /** `<packageName>#<qualifiedName-or-name>`, this graph's stable object id. */\n id: string;\n packageName: string;\n name: string;\n qualifiedName?: string;\n collection: string;\n tableName?: string;\n tableStrategy?: 'cti' | 'sti';\n extends?: string;\n}\n\nexport type KnowledgeGraphEdgeType =\n | 'crossPackageRef'\n | 'sti'\n | 'junction'\n | 'hierarchical'\n | 'polymorphic'\n | 'systemTable';\n\nexport interface KnowledgeGraphEdge {\n type: KnowledgeGraphEdgeType;\n /** Object id (or `<packageName>#<extends>`-style unresolved target) this edge starts from. */\n from: string;\n /**\n * Object id the edge points to when resolvable against a scanned object;\n * otherwise the raw declared target (e.g. a qualified name this run did\n * not scan), so the edge is still readable rather than dropped.\n */\n to?: string;\n /** Declaring field name, for `crossPackageRef` edges. */\n field?: string;\n}\n\nexport interface SmrtKnowledgeGraph {\n schemaVersion: 1;\n generatedAt: string;\n /** `artifactPath -> sha256(content)`, sorted by key; the freshness input. */\n sourceHashes: Record<string, string>;\n packages: KnowledgeGraphPackageNode[];\n objects: KnowledgeGraphObjectNode[];\n edges: KnowledgeGraphEdge[];\n}\n\nfunction hashContent(content: string): string {\n return createHash('sha256').update(content).digest('hex');\n}\n\nfunction objectId(packageName: string, object: DomainKnowledgeObject): string {\n return `${packageName}#${object.qualifiedName ?? object.name}`;\n}\n\nexport interface BuildKnowledgeGraphOptions {\n /**\n * The graph currently on disk, when regenerating. `generatedAt` is\n * preserved from it rather than reset to the clock whenever the rebuilt\n * graph is otherwise semantically identical — the same pattern\n * `preserveKnowledgeGeneratedAt` uses for per-package artifacts\n * (`packages/core/src/vite-plugin/index.ts`) — so re-running the generator\n * with nothing merged actually changed does not churn the file (#2872\n * review).\n */\n previousGraph?: SmrtKnowledgeGraph;\n}\n\n/** Builds the merged graph. Deterministic: every array is sorted. */\nexport function buildKnowledgeGraph(\n inputs: KnowledgeGraphInput[],\n options: BuildKnowledgeGraphOptions = {},\n): SmrtKnowledgeGraph {\n const sortedInputs = [...inputs].sort((a, b) =>\n a.artifactPath.localeCompare(b.artifactPath),\n );\n\n const sourceHashes: Record<string, string> = {};\n const packages: KnowledgeGraphPackageNode[] = [];\n const objects: KnowledgeGraphObjectNode[] = [];\n const edges: KnowledgeGraphEdge[] = [];\n\n // Qualified-name -> object id, so a crossPackageRef/STI target declared in\n // one package can be resolved to the node emitted by whichever package\n // scanned it, regardless of scan order.\n const idByQualifiedName = new Map<string, string>();\n // Distinct ids per simple name, not a plain array: the same external\n // object can appear in more than one input (e.g. a package artifact and a\n // smrtConsumer aggregate that also scanned it), and counting the\n // duplicate would make resolveTarget's `.length === 1` uniqueness check\n // see a false ambiguity for an otherwise-unique name (#2872 review).\n const idBySimpleName = new Map<string, Set<string>>();\n // A `tableStrategy: 'sti'` object's `extends` is an unqualified simple name;\n // a parent imported from another package also carries `extendsQualified`\n // (#4145), which resolves first. Otherwise a same-package simple-name match\n // must win over an ambiguous or wrong-package GLOBAL simple-name match:\n // two packages both declaring `Account` must not point one package's\n // subclass at the other package's `Account` (#2863 review).\n const idBySimpleNamePerPackage = new Map<string, Map<string, string>>();\n const aliasIds: Array<[string, string]> = [];\n\n for (const input of sortedInputs) {\n const manifestPackageName =\n input.manifest.packageName ?? input.artifactPath;\n for (const object of input.manifest.objects) {\n // A merged consumer manifest (`smrtConsumer`) aggregates objects\n // scanned from multiple external packages under one local artifact;\n // each object then carries its own `packageName` and that must own\n // the id, or every external object misattributes to the local\n // project and edges resolve to the wrong node (#2872 review).\n const packageName = object.packageName ?? manifestPackageName;\n const perPackage =\n idBySimpleNamePerPackage.get(packageName) ?? new Map<string, string>();\n const id = objectId(packageName, object);\n idByQualifiedName.set(object.qualifiedName ?? id, id);\n const bySimple = idBySimpleName.get(object.name) ?? new Set<string>();\n bySimple.add(id);\n idBySimpleName.set(object.name, bySimple);\n perPackage.set(object.name, id);\n idBySimpleNamePerPackage.set(packageName, perPackage);\n for (const alias of object.previousQualifiedNames ?? []) {\n aliasIds.push([alias, id]);\n }\n }\n }\n // A moved object's deprecated qualified names (#3338) resolve to it, but\n // never shadow a live object's own qualified name. Ownership is tracked\n // separately so two distinct objects claiming one old name fail the build,\n // as the runtime registry refuses them, instead of the first in sort order\n // silently winning; the same object repeated across artifacts is one claim.\n const aliasOwners = new Map<string, Set<string>>();\n for (const [alias, id] of aliasIds) {\n const owners = aliasOwners.get(alias) ?? new Set<string>();\n owners.add(id);\n aliasOwners.set(alias, owners);\n }\n for (const [alias, owners] of aliasOwners) {\n if (owners.size > 1) {\n throw new Error(\n `[knowledge-graph] previousQualifiedNames \"${alias}\" is claimed by more than one object: ` +\n `${[...owners].sort().join(', ')}. An old qualified name can resolve to only one class; ` +\n 'remove the alias from all but one owner.',\n );\n }\n if (!idByQualifiedName.has(alias)) {\n idByQualifiedName.set(alias, [...owners][0]);\n }\n }\n\n const resolveTarget = (\n raw: string | undefined,\n declaringPackageName?: string,\n ): string | undefined => {\n if (!raw) return undefined;\n if (idByQualifiedName.has(raw)) return idByQualifiedName.get(raw);\n if (declaringPackageName) {\n const sameId = idBySimpleNamePerPackage\n .get(declaringPackageName)\n ?.get(raw);\n if (sameId) return sameId;\n }\n const bySimple = idBySimpleName.get(raw);\n if (bySimple && bySimple.size === 1) return [...bySimple][0];\n return undefined;\n };\n\n const seenObjectIds = new Set<string>();\n for (const input of sortedInputs) {\n sourceHashes[input.artifactPath] = hashContent(\n stableStringify(input.manifest),\n );\n const packageName = input.manifest.packageName ?? input.artifactPath;\n\n packages.push({\n name: packageName,\n version: input.manifest.packageVersion,\n artifactPath: input.artifactPath,\n tags: [...input.manifest.tags].sort(),\n risks: [...input.manifest.risks].sort(),\n summary: input.manifest.summary,\n objectCount: input.manifest.objects.length,\n });\n\n for (const object of input.manifest.objects) {\n // See the id-map pass above: an aggregated consumer manifest attributes\n // each object to its own scanned package, not the local project.\n const objectPackageName = object.packageName ?? packageName;\n const id = objectId(objectPackageName, object);\n if (!seenObjectIds.has(id)) {\n seenObjectIds.add(id);\n objects.push({\n id,\n packageName: objectPackageName,\n name: object.name,\n qualifiedName: object.qualifiedName,\n collection: object.collection,\n tableName: object.tableName,\n tableStrategy: object.tableStrategy,\n extends: object.extends,\n });\n }\n\n for (const field of object.relationships) {\n if (field.type !== 'crossPackageRef') continue;\n edges.push({\n type: 'crossPackageRef',\n from: id,\n to: resolveTarget(field.related) ?? field.related,\n field: field.name,\n });\n }\n\n if (object.tableStrategy === 'sti' && object.extends) {\n edges.push({\n type: 'sti',\n from: id,\n to:\n resolveTarget(object.extendsQualified) ??\n resolveTarget(object.extends, objectPackageName) ??\n `${objectPackageName}#${object.extends}`,\n });\n }\n\n for (const feature of object.relationshipFeatures) {\n if (feature === 'SmrtJunction') {\n edges.push({ type: 'junction', from: id });\n } else if (feature === 'SmrtHierarchical') {\n edges.push({ type: 'hierarchical', from: id });\n } else if (feature === 'SmrtPolymorphicAssociation') {\n edges.push({ type: 'polymorphic', from: id });\n }\n }\n\n if (object.tableName?.startsWith('_smrt_')) {\n edges.push({ type: 'systemTable', from: id, to: object.tableName });\n }\n }\n }\n\n packages.sort((a, b) => a.name.localeCompare(b.name));\n objects.sort((a, b) => a.id.localeCompare(b.id));\n edges.sort((a, b) => {\n const key = (edge: KnowledgeGraphEdge) =>\n `${edge.type}|${edge.from}|${edge.to ?? ''}|${edge.field ?? ''}`;\n return key(a).localeCompare(key(b));\n });\n\n const graph: SmrtKnowledgeGraph = {\n schemaVersion: 1,\n generatedAt: new Date().toISOString(),\n sourceHashes: sortRecord(sourceHashes),\n packages,\n objects,\n edges,\n };\n\n const { previousGraph } = options;\n if (\n previousGraph &&\n semanticGraphJson(previousGraph) === semanticGraphJson(graph)\n ) {\n return { ...graph, generatedAt: previousGraph.generatedAt };\n }\n return graph;\n}\n\nfunction semanticGraphJson(graph: SmrtKnowledgeGraph): string {\n const { generatedAt: _generatedAt, ...rest } = graph;\n return stableStringify(rest);\n}\n\n/** Deterministic `JSON.stringify` — object keys are sorted at every level. */\nexport function stableStringify(value: unknown): string {\n return JSON.stringify(sortValue(value));\n}\n\nfunction sortValue(value: unknown): unknown {\n if (Array.isArray(value)) return value.map(sortValue);\n if (value && typeof value === 'object') {\n // Null-prototype target: on an ordinary `{}`, assigning the key\n // `\"__proto__\"` through bracket notation invokes `Object.prototype`'s\n // `__proto__` accessor instead of creating an own property, so that key\n // silently vanishes from the result and `JSON.stringify()` never emits\n // it — two inputs that differ only by an own `\"__proto__\"` key (which\n // `JSON.parse()` does create as a real own property) then serialize\n // identically. An object with no prototype has no such accessor to\n // shadow the assignment, so every own key — including `\"__proto__\"` —\n // becomes a real own data property. `JSON.stringify()` does not care\n // about an object's prototype, only its own enumerable properties, so\n // this changes no other output.\n const sorted: Record<string, unknown> = Object.create(null);\n for (const key of Object.keys(value as Record<string, unknown>).sort()) {\n sorted[key] = sortValue((value as Record<string, unknown>)[key]);\n }\n return sorted;\n }\n return value;\n}\n\nfunction sortRecord(record: Record<string, string>): Record<string, string> {\n const sorted: Record<string, string> = {};\n for (const key of Object.keys(record).sort()) sorted[key] = record[key];\n return sorted;\n}\n\nexport interface KnowledgeGraphFreshnessIssue {\n severity: 'error' | 'warning';\n code:\n | 'missing-knowledge-graph'\n | 'stale-knowledge-graph'\n | 'knowledge-graph-source-missing';\n message: string;\n file?: string;\n}\n\n/**\n * Checks the merged graph's recorded `sourceHashes` against the current\n * content of each per-package artifact it was built from — the same pattern\n * `knowledge.ts`/`smrt-dev-mcp` use for a single package's `sourceHashes`.\n *\n * `graphPath` and each `artifactPath` in the graph are resolved relative to\n * `rootDir` (the repo root).\n */\nexport function checkKnowledgeGraphFreshness(\n rootDir: string,\n graphPath: string,\n options: { requireArtifact?: boolean } = {},\n): KnowledgeGraphFreshnessIssue[] {\n const issues: KnowledgeGraphFreshnessIssue[] = [];\n const absoluteGraphPath = `${rootDir}/${graphPath}`;\n if (!existsSync(absoluteGraphPath)) {\n if (!options.requireArtifact) return issues;\n issues.push({\n severity: 'error',\n code: 'missing-knowledge-graph',\n message: `${graphPath} does not exist; run \\`pnpm knowledge:graph\\``,\n file: graphPath,\n });\n return issues;\n }\n\n let graph: SmrtKnowledgeGraph;\n try {\n graph = JSON.parse(readFileSync(absoluteGraphPath, 'utf8'));\n } catch (error) {\n issues.push({\n severity: 'error',\n code: 'stale-knowledge-graph',\n message: `${graphPath} is not valid JSON: ${\n error instanceof Error ? error.message : String(error)\n }`,\n file: graphPath,\n });\n return issues;\n }\n\n const recordedPaths = Object.keys(graph.sourceHashes ?? {});\n for (const [artifactPath, expectedHash] of Object.entries(\n graph.sourceHashes ?? {},\n )) {\n const absoluteArtifactPath = `${rootDir}/${artifactPath}`;\n if (!existsSync(absoluteArtifactPath)) {\n issues.push({\n severity: 'error',\n code: 'knowledge-graph-source-missing',\n message: `${artifactPath} used to build ${graphPath} no longer exists`,\n file: graphPath,\n });\n continue;\n }\n let manifest: unknown;\n try {\n manifest = JSON.parse(readFileSync(absoluteArtifactPath, 'utf8'));\n } catch (error) {\n issues.push({\n severity: 'error',\n code: 'stale-knowledge-graph',\n message: `${artifactPath} is not valid JSON (${\n error instanceof Error ? error.message : String(error)\n }); run \\`pnpm knowledge:graph\\``,\n file: graphPath,\n });\n continue;\n }\n const actualHash = hashContent(stableStringify(manifest));\n if (actualHash !== expectedHash) {\n issues.push({\n severity: 'error',\n code: 'stale-knowledge-graph',\n message: `${artifactPath} changed since ${graphPath} was generated; run \\`pnpm knowledge:graph\\``,\n file: graphPath,\n });\n }\n }\n\n // A per-key hash comparison alone cannot see an ADDED artifact: a package\n // that just finished its first build, or just started exporting\n // `./smrt-knowledge.json`, contributes a path the graph never recorded, so\n // every recorded hash still matches. Compare the current discoverable SET\n // against the recorded set to catch that (#2863 review).\n const currentPaths = discoverKnowledgeArtifactPaths(rootDir);\n const recordedSet = new Set(recordedPaths);\n const newPaths = currentPaths.filter((path) => !recordedSet.has(path));\n if (newPaths.length > 0) {\n issues.push({\n severity: 'error',\n code: 'stale-knowledge-graph',\n message: `${newPaths.join(', ')} ${\n newPaths.length === 1\n ? 'is a new package artifact'\n : 'are new package artifacts'\n } not yet merged into ${graphPath}; run \\`pnpm knowledge:graph\\``,\n file: graphPath,\n });\n }\n\n return issues;\n}\n"],"mappings":"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"}
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
*/
|
|
7
7
|
import type { RecipeDefinition } from '@happyvertical/smrt-types';
|
|
8
8
|
import { type EnumValue } from './enum-values.js';
|
|
9
|
-
import type { FieldTypeInference, ParameterTypeBranch, RawFieldDefinition, RawMethodDefinition, ResolvedClassDefinition, UiSelectorDeclaration } from './types.js';
|
|
9
|
+
import type { FieldTypeInference, ParameterTypeBranch, RawClassDefinition, RawFieldDefinition, RawMethodDefinition, ResolvedClassDefinition, UiSelectorDeclaration } from './types.js';
|
|
10
10
|
/**
|
|
11
11
|
* Qualified class name format: "@package/name:ClassName"
|
|
12
12
|
* Uniquely identifies classes across packages.
|
|
@@ -101,6 +101,8 @@ interface SmartObjectDefinition {
|
|
|
101
101
|
methods: Record<string, MethodDefinition>;
|
|
102
102
|
decoratorConfig: SmartObjectConfig;
|
|
103
103
|
extends?: string;
|
|
104
|
+
/** Parent's qualified name when it is imported from another package (#4145). */
|
|
105
|
+
extendsQualified?: string;
|
|
104
106
|
extendsTypeArg?: string;
|
|
105
107
|
staticProperties?: Record<string, unknown>;
|
|
106
108
|
}
|
|
@@ -122,6 +124,25 @@ interface SmartObjectManifest {
|
|
|
122
124
|
description?: string;
|
|
123
125
|
}>;
|
|
124
126
|
}
|
|
127
|
+
/**
|
|
128
|
+
* npm package name of a bare, scoped module specifier
|
|
129
|
+
* (`@scope/pkg` or `@scope/pkg/subpath` → `@scope/pkg`), else `undefined`.
|
|
130
|
+
* Relative, absolute, protocol (`node:`), unscoped, and alias-like specifiers
|
|
131
|
+
* (`@/lib`, `$lib/…`) name no SMRT package: qualified names are always scoped.
|
|
132
|
+
*/
|
|
133
|
+
export declare function scopedPackageOfSpecifier(specifier: string): string | undefined;
|
|
134
|
+
/**
|
|
135
|
+
* Qualified name of a class's parent when the scanner traced it to a named or
|
|
136
|
+
* namespace import from ANOTHER scoped package (#4145): two packages may
|
|
137
|
+
* export the same class name (`Agreement` in smrt-commerce and smrt-sales),
|
|
138
|
+
* and only the import says which one is meant.
|
|
139
|
+
*
|
|
140
|
+
* Returns `undefined` (the simple `extends` stays authoritative, as before)
|
|
141
|
+
* for framework bases, for parents declared in this package (same file,
|
|
142
|
+
* relative import, or a self-import, which runtime resolution already
|
|
143
|
+
* qualifies same-package first), and for anything it cannot trace.
|
|
144
|
+
*/
|
|
145
|
+
export declare function importedParentQualifiedName(classDef: Pick<RawClassDefinition, 'extendsClause' | 'extendsSource'>, ownPackageName: string | undefined): QualifiedClassName | undefined;
|
|
125
146
|
/**
|
|
126
147
|
* The default REST collection name of a class: its lowercased, pluralized
|
|
127
148
|
* name. A declared `@smrt({ collection })` replaces it.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manifest-adapter.d.ts","sourceRoot":"","sources":["../src/manifest-adapter.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAE,KAAK,SAAS,EAAqB,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"manifest-adapter.d.ts","sourceRoot":"","sources":["../src/manifest-adapter.ts"],"names":[],"mappings":"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"}
|
package/dist/oxc-parser.d.ts
CHANGED
|
@@ -29,12 +29,14 @@ interface ImportDeclaration extends BaseNode {
|
|
|
29
29
|
type: 'ImportDeclaration';
|
|
30
30
|
specifiers?: ImportSpecifierLike[];
|
|
31
31
|
source: Literal;
|
|
32
|
+
importKind?: 'value' | 'type';
|
|
32
33
|
}
|
|
33
34
|
type ImportSpecifierLike = ImportSpecifier | ImportNamespaceSpecifier | ImportDefaultSpecifier;
|
|
34
35
|
interface ImportSpecifier extends BaseNode {
|
|
35
36
|
type: 'ImportSpecifier';
|
|
36
37
|
imported: Identifier;
|
|
37
38
|
local: Identifier;
|
|
39
|
+
importKind?: 'value' | 'type';
|
|
38
40
|
}
|
|
39
41
|
interface ImportNamespaceSpecifier extends BaseNode {
|
|
40
42
|
type: 'ImportNamespaceSpecifier';
|
package/dist/oxc-parser.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oxc-parser.d.ts","sourceRoot":"","sources":["../src/oxc-parser.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAQH,OAAO,EAEL,KAAK,SAAS,EAEf,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,KAAK,EACV,YAAY,EACZ,cAAc,EAOd,SAAS,EACV,MAAM,YAAY,CAAC;AAYpB,OAAO,EAAE,aAAa,EAAE,CAAC;AAMzB,UAAU,QAAQ;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,UAAU,cAAc;IACtB,KAAK,EAAE,QAAQ,CAAC;IAChB,GAAG,EAAE,QAAQ,CAAC;CACf;AAED,UAAU,QAAQ;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,cAAc,CAAC;IACrB,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAgCD,UAAU,iBAAkB,SAAQ,QAAQ;IAC1C,IAAI,EAAE,mBAAmB,CAAC;IAC1B,UAAU,CAAC,EAAE,mBAAmB,EAAE,CAAC;IACnC,MAAM,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"oxc-parser.d.ts","sourceRoot":"","sources":["../src/oxc-parser.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -21,6 +21,14 @@ export interface RawClassDefinition {
|
|
|
21
21
|
extendsClause: string | null;
|
|
22
22
|
/** Generic type argument from extends (e.g., "Meeting" from SmrtCollection<Meeting>) */
|
|
23
23
|
extendsTypeArg: string | null;
|
|
24
|
+
/**
|
|
25
|
+
* Module specifier the `extends` identifier is imported from, through a
|
|
26
|
+
* named (possibly aliased) or namespace import (#4145). Absent when the
|
|
27
|
+
* parent is declared in this file, default-imported, or not imported.
|
|
28
|
+
* `extendsClause` is then the parent's exported name, so a bare package
|
|
29
|
+
* specifier names the parent's package.
|
|
30
|
+
*/
|
|
31
|
+
extendsSource?: string;
|
|
24
32
|
/** Parsed @smrt() decorator configuration object */
|
|
25
33
|
decoratorConfig: RawDecoratorConfig | null;
|
|
26
34
|
/** Has @smrt() decorator */
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@happyvertical/smrt-scanner",
|
|
3
|
-
"version": "0.57.
|
|
3
|
+
"version": "0.57.10",
|
|
4
4
|
"description": "High-performance TypeScript scanner using OXC for SMRT manifest generation",
|
|
5
5
|
"author": "HappyVertical",
|
|
6
6
|
"type": "module",
|
|
@@ -34,7 +34,7 @@
|
|
|
34
34
|
}
|
|
35
35
|
},
|
|
36
36
|
"dependencies": {
|
|
37
|
-
"@happyvertical/smrt-types": "0.57.
|
|
37
|
+
"@happyvertical/smrt-types": "0.57.10",
|
|
38
38
|
"fast-glob": "3.3.3",
|
|
39
39
|
"minimatch": "10.2.6",
|
|
40
40
|
"oxc-parser": "^0.150.0",
|