@omfalos/mokosh 0.3.0 → 0.3.2
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/dist/cli.js +47 -33
- package/dist/cli.js.map +1 -1
- package/dist/cli.mjs +47 -33
- package/dist/cli.mjs.map +1 -1
- package/dist/index.d.mts +97 -1
- package/dist/index.d.ts +97 -1
- package/dist/index.js +23 -20
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +23 -20
- package/dist/index.mjs.map +1 -1
- package/dist/mcp.js +26 -23
- package/dist/mcp.js.map +1 -1
- package/dist/mcp.mjs +26 -23
- package/dist/mcp.mjs.map +1 -1
- package/dist/parse-worker.js +2 -2
- package/dist/parse-worker.js.map +1 -1
- package/dist/parse-worker.mjs +2 -2
- package/dist/parse-worker.mjs.map +1 -1
- package/package.json +7 -7
- package/templates/skill/SKILL.md +4 -3
- package/templates/skill/mokosh.md +4 -3
package/dist/index.d.mts
CHANGED
|
@@ -442,6 +442,102 @@ declare function saveChangeImpactCache(cache: ChangeImpactCache, cachePath: stri
|
|
|
442
442
|
*/
|
|
443
443
|
declare function loadChangeImpactCache(cachePath: string): ChangeImpactCache | null;
|
|
444
444
|
|
|
445
|
+
/**
|
|
446
|
+
* Language-family partitioning for duplicate detection. `findDuplicates` never compares files
|
|
447
|
+
* across a family boundary — see docs/adr-013-duplicate-detection-noise-reduction.md. The
|
|
448
|
+
* immediate driver is CSS-family declarations: they share a small, finite vocabulary (property
|
|
449
|
+
* names, common value keywords) that the shared `KEYWORDS` denylist in `tokenizer.ts` doesn't
|
|
450
|
+
* cover, so unrelated style rules with the same declaration *shape* but different selectors/
|
|
451
|
+
* properties/values were hashing identically to unrelated TS/JS/Python shapes too. Splitting by
|
|
452
|
+
* family also lets later phases tune `windowSize`/`minLines`/vocabulary per family without one
|
|
453
|
+
* family's tuning affecting another's.
|
|
454
|
+
*/
|
|
455
|
+
|
|
456
|
+
/** One partition of `findDuplicates` matching — files in different families are never compared. */
|
|
457
|
+
type DuplicateFamily = "style" | "code";
|
|
458
|
+
|
|
459
|
+
/**
|
|
460
|
+
* Sliding-window (shingle) hashing over a normalized token stream, plus chain-merging of
|
|
461
|
+
* consecutive matching windows into contiguous duplicate blocks, a structural-punctuation-density
|
|
462
|
+
* gate that drops blocks that are mostly object/array-literal shape (e.g. MCP tool `inputSchema`
|
|
463
|
+
* boilerplate) rather than substantive shared logic, and exact-occurrence clustering of pair-
|
|
464
|
+
* matches into one N-occurrence group instead of reporting C(N,2) near-identical pairs for a block
|
|
465
|
+
* repeated N times. Shared by every language `tokenize()` supports — the shingling step itself has
|
|
466
|
+
* no language awareness at all. See docs/adr-013-duplicate-detection-noise-reduction.md for the
|
|
467
|
+
* noise this addresses.
|
|
468
|
+
*/
|
|
469
|
+
|
|
470
|
+
interface DuplicateOccurrence {
|
|
471
|
+
file: string;
|
|
472
|
+
startLine: number;
|
|
473
|
+
endLine: number;
|
|
474
|
+
}
|
|
475
|
+
interface DuplicateGroup {
|
|
476
|
+
/** Every location sharing this duplicated block (two or more) — locations that pairwise
|
|
477
|
+
* chain-match are clustered into one group instead of being reported once per pair, so a
|
|
478
|
+
* block repeated N times produces one N-occurrence group, not C(N,2) near-identical ones. */
|
|
479
|
+
occurrences: DuplicateOccurrence[];
|
|
480
|
+
/** Line span of the largest single pairwise match clustered into this group (each pair's own
|
|
481
|
+
* span is the shorter of its two occurrences) — the best-verified size for this block, not an
|
|
482
|
+
* average or a value shrunk by a more weakly-matching cluster member. */
|
|
483
|
+
lines: number;
|
|
484
|
+
/** Token-window length backing this block, after chain-merging adjacent windows. */
|
|
485
|
+
tokens: number;
|
|
486
|
+
/** Which language family both occurrences belong to (set by `findDuplicates`, which never
|
|
487
|
+
* matches across families — see docs/adr-013-duplicate-detection-noise-reduction.md).
|
|
488
|
+
* Absent when called directly with a token stream that isn't family-scoped, e.g. in tests. */
|
|
489
|
+
family?: DuplicateFamily | undefined;
|
|
490
|
+
}
|
|
491
|
+
|
|
492
|
+
interface FindDuplicatesOptions {
|
|
493
|
+
/** Minimum duplicated block size, in source lines, to report (default 6). */
|
|
494
|
+
minLines?: number | undefined;
|
|
495
|
+
/** Shingle window size, in tokens — the smallest duplicate the scan can detect (default 15). */
|
|
496
|
+
windowSize?: number | undefined;
|
|
497
|
+
/** When true (default), string/number literals are normalized too, so only structural shape
|
|
498
|
+
* — not the specific values used — drives a match. Set false for stricter, Type-1-only matching. */
|
|
499
|
+
ignoreLiterals?: boolean | undefined;
|
|
500
|
+
/** Maximum fraction of a token-shingled block's window that may be object/array-literal
|
|
501
|
+
* structural punctuation (`{ } : , [ ]`) (default 0.5) — gates out blocks that are mostly
|
|
502
|
+
* schema/object-literal shape (e.g. MCP tool `inputSchema` boilerplate repeated across
|
|
503
|
+
* unrelated tool definitions) rather than substantive shared logic. Does not apply to the
|
|
504
|
+
* CSS/Less/SCSS structural comparator, which already matches on literal declaration content.
|
|
505
|
+
* Set to 1 to disable. See docs/adr-013-duplicate-detection-noise-reduction.md. */
|
|
506
|
+
maxPunctuationRatio?: number | undefined;
|
|
507
|
+
/** Caps the number of duplicate blocks returned, largest-first (default 50). */
|
|
508
|
+
limit?: number | undefined;
|
|
509
|
+
/** Directory names to exclude, matched against any path segment (default `DEFAULT_IGNORE_DIRS`
|
|
510
|
+
* — `node_modules`, `dist`, `.git`, `mokosh-cache`, `coverage`, etc.). Pass `[]` to disable. */
|
|
511
|
+
ignoreDirs?: readonly string[] | undefined;
|
|
512
|
+
}
|
|
513
|
+
/**
|
|
514
|
+
* @description Scans every file already present in `graph` for cross-file (and within-file)
|
|
515
|
+
* duplicated code. CSS/Less/SCSS files are compared structurally — by their rule bodies'
|
|
516
|
+
* literal, ordered `property: value` declarations, independent of selector name — via
|
|
517
|
+
* {@link findStyleBlockDuplicates}. Every other language (TS/JS, Python, Go, CoffeeScript,
|
|
518
|
+
* LiveScript, Lua, Gherkin, Markdown, and Stylus, which has no shared PostCSS AST here) runs
|
|
519
|
+
* the generic token-shingling pipeline instead: comments are stripped per `FileType`,
|
|
520
|
+
* identifiers (and, by default, literals) are normalized to placeholders so renamed-variable
|
|
521
|
+
* copies still match, then a sliding token window is hashed and chain-merged into contiguous
|
|
522
|
+
* blocks. Token-shingled files are additionally partitioned into language families
|
|
523
|
+
* ({@link getDuplicateFamily} — `"style"` for Stylus, `"code"` for everything else) so
|
|
524
|
+
* matching never crosses that boundary — see docs/adr-013-duplicate-detection-noise-reduction.md.
|
|
525
|
+
* @param graph - The graph to scan; its node paths (already ignore-rule-filtered) are the file
|
|
526
|
+
* list, re-read from disk since duplication data isn't cached on `FileNode`.
|
|
527
|
+
* @param rootDir - Absolute project root that graph paths are relative to.
|
|
528
|
+
* @param options - `minLines`/`windowSize` tune token-shingle sensitivity (`minLines` also caps
|
|
529
|
+
* CSS/Less/SCSS block size); `ignoreLiterals` toggles Type-2 vs Type-1 matching for the
|
|
530
|
+
* token-shingle path only (CSS/Less/SCSS always match on literal declaration content);
|
|
531
|
+
* `maxPunctuationRatio` gates out token-shingle blocks that are mostly object/array-literal
|
|
532
|
+
* structural punctuation (e.g. schema/object-literal boilerplate) rather than substantive
|
|
533
|
+
* shared logic; `ignoreDirs` excludes files under matching directory names; `limit` caps
|
|
534
|
+
* results. Lock files are always excluded, independent of `ignoreDirs`.
|
|
535
|
+
* @returns Duplicate blocks (each tagged with its `family`), two or more occurrences per block —
|
|
536
|
+
* every block that pairwise chain-matches another is clustered into one group instead of one
|
|
537
|
+
* per pair — sorted largest-first across all families.
|
|
538
|
+
*/
|
|
539
|
+
declare function findDuplicates(graph: Graph, rootDir: string, options?: FindDuplicatesOptions): Promise<DuplicateGroup[]>;
|
|
540
|
+
|
|
445
541
|
/** Controls how aggressively `detectFeatures` promotes files to features. */
|
|
446
542
|
interface FeatureDetectionOptions {
|
|
447
543
|
/**
|
|
@@ -1303,4 +1399,4 @@ declare function createWorkspaceGraph(rootDir: string, options?: {
|
|
|
1303
1399
|
*/
|
|
1304
1400
|
declare function getAllProjectFiles(rootDir: string, options?: ScanOptions): string[];
|
|
1305
1401
|
|
|
1306
|
-
export { type ApiSurface, type ApplyTagsFileResult, type ApplyTagsResult, CALL_EDGE_TYPES, CallEdge, type CalleeEntry, type CallerEntry$1 as CallerEntry, type ChangeImpactCache, type ComplexFunctionEntry, DEFAULT_EXTENSIONS, DEFAULT_IGNORE_DIRS, type DependencyGraph, EXPORT_TRACKING_TYPES, type ExportKind, type FeatureDetectionOptions, type FeatureDomain, type FeatureGraph, type FeatureGraphOptions, type FeatureInfo, FileNode, FileType, type FindComplexFunctionsOptions, type FunctionCallInfo, type GetAffectedOptions, type GetCallersOptions, Graph, type CallerEntry as GraphCallerEntry, type GraphExporter, IMPORT_SYMBOL_TYPES, ImportEdge, type LanguageCoverage, MermaidExporter, type ModuleResponsibility, type ModuleRole, type MokoshConfig, type MonorepoDetector, type MonorepoLayout, NodeCategory, type NodeMeta, type NodeQuery, type ParallelParsingOption, type PathWithSymbols, type ProposeTagsOptions, type PublicExport, type ResponsibilityGraph, type ScanOptions, type SerializedGraph, type SerializedWorkspaceGraph, type SlimNode, type SlimSerializedGraph, StructuredTag, type SymbolCaller, type SymbolImporter, type SymbolMatch, type SymbolPrecision, SymbolTraversalContext, type TestNodeIdentifier, type TraversalOptions, type TraversalVisitor, type TypeEdge, type TypeGraph, type TypeKind, type TypeNode, type TypeQueryResult, WorkspaceGraph, type WorkspacePackage, type WorkspacePackageSummary, type WorkspacePackagesSummary, applyConfig, applyTags, buildApiSurface, buildChangeImpactCache, buildFeatureGraph, buildResponsibilityGraph, buildTypeGraph, computeGraphHash, configToGraphOptions, createImportMap, createWorkspaceGraph, detectAllEntryPoints, detectEntryPoint, detectFeatures, detectMonorepo, filterGraph, findComplexFunctions, findSymbol, getAffected, getAllProjectFiles, getCallers, getDependencies, getDependents, getLanguageCoverage, getNodeMeta, hasCoverageData, isChangeImpactCacheValid, loadChangeImpactCache, loadCoverageMap, loadMokoshConfig, parseQuery, proposeAffectedTests, proposeTags, queryCallGraph, queryChangeImpact, queryTypeGraph, registerConfigMatcher, registerMonorepoDetector, registerParser, registerTestLibrary, registerTestPattern, saveChangeImpactCache, slimSerialize, summarizeWorkspacePackages, toMermaid };
|
|
1402
|
+
export { type ApiSurface, type ApplyTagsFileResult, type ApplyTagsResult, CALL_EDGE_TYPES, CallEdge, type CalleeEntry, type CallerEntry$1 as CallerEntry, type ChangeImpactCache, type ComplexFunctionEntry, DEFAULT_EXTENSIONS, DEFAULT_IGNORE_DIRS, type DependencyGraph, type DuplicateFamily, type DuplicateGroup, type DuplicateOccurrence, EXPORT_TRACKING_TYPES, type ExportKind, type FeatureDetectionOptions, type FeatureDomain, type FeatureGraph, type FeatureGraphOptions, type FeatureInfo, FileNode, FileType, type FindComplexFunctionsOptions, type FindDuplicatesOptions, type FunctionCallInfo, type GetAffectedOptions, type GetCallersOptions, Graph, type CallerEntry as GraphCallerEntry, type GraphExporter, IMPORT_SYMBOL_TYPES, ImportEdge, type LanguageCoverage, MermaidExporter, type ModuleResponsibility, type ModuleRole, type MokoshConfig, type MonorepoDetector, type MonorepoLayout, NodeCategory, type NodeMeta, type NodeQuery, type ParallelParsingOption, type PathWithSymbols, type ProposeTagsOptions, type PublicExport, type ResponsibilityGraph, type ScanOptions, type SerializedGraph, type SerializedWorkspaceGraph, type SlimNode, type SlimSerializedGraph, StructuredTag, type SymbolCaller, type SymbolImporter, type SymbolMatch, type SymbolPrecision, SymbolTraversalContext, type TestNodeIdentifier, type TraversalOptions, type TraversalVisitor, type TypeEdge, type TypeGraph, type TypeKind, type TypeNode, type TypeQueryResult, WorkspaceGraph, type WorkspacePackage, type WorkspacePackageSummary, type WorkspacePackagesSummary, applyConfig, applyTags, buildApiSurface, buildChangeImpactCache, buildFeatureGraph, buildResponsibilityGraph, buildTypeGraph, computeGraphHash, configToGraphOptions, createImportMap, createWorkspaceGraph, detectAllEntryPoints, detectEntryPoint, detectFeatures, detectMonorepo, filterGraph, findComplexFunctions, findDuplicates, findSymbol, getAffected, getAllProjectFiles, getCallers, getDependencies, getDependents, getLanguageCoverage, getNodeMeta, hasCoverageData, isChangeImpactCacheValid, loadChangeImpactCache, loadCoverageMap, loadMokoshConfig, parseQuery, proposeAffectedTests, proposeTags, queryCallGraph, queryChangeImpact, queryTypeGraph, registerConfigMatcher, registerMonorepoDetector, registerParser, registerTestLibrary, registerTestPattern, saveChangeImpactCache, slimSerialize, summarizeWorkspacePackages, toMermaid };
|
package/dist/index.d.ts
CHANGED
|
@@ -442,6 +442,102 @@ declare function saveChangeImpactCache(cache: ChangeImpactCache, cachePath: stri
|
|
|
442
442
|
*/
|
|
443
443
|
declare function loadChangeImpactCache(cachePath: string): ChangeImpactCache | null;
|
|
444
444
|
|
|
445
|
+
/**
|
|
446
|
+
* Language-family partitioning for duplicate detection. `findDuplicates` never compares files
|
|
447
|
+
* across a family boundary — see docs/adr-013-duplicate-detection-noise-reduction.md. The
|
|
448
|
+
* immediate driver is CSS-family declarations: they share a small, finite vocabulary (property
|
|
449
|
+
* names, common value keywords) that the shared `KEYWORDS` denylist in `tokenizer.ts` doesn't
|
|
450
|
+
* cover, so unrelated style rules with the same declaration *shape* but different selectors/
|
|
451
|
+
* properties/values were hashing identically to unrelated TS/JS/Python shapes too. Splitting by
|
|
452
|
+
* family also lets later phases tune `windowSize`/`minLines`/vocabulary per family without one
|
|
453
|
+
* family's tuning affecting another's.
|
|
454
|
+
*/
|
|
455
|
+
|
|
456
|
+
/** One partition of `findDuplicates` matching — files in different families are never compared. */
|
|
457
|
+
type DuplicateFamily = "style" | "code";
|
|
458
|
+
|
|
459
|
+
/**
|
|
460
|
+
* Sliding-window (shingle) hashing over a normalized token stream, plus chain-merging of
|
|
461
|
+
* consecutive matching windows into contiguous duplicate blocks, a structural-punctuation-density
|
|
462
|
+
* gate that drops blocks that are mostly object/array-literal shape (e.g. MCP tool `inputSchema`
|
|
463
|
+
* boilerplate) rather than substantive shared logic, and exact-occurrence clustering of pair-
|
|
464
|
+
* matches into one N-occurrence group instead of reporting C(N,2) near-identical pairs for a block
|
|
465
|
+
* repeated N times. Shared by every language `tokenize()` supports — the shingling step itself has
|
|
466
|
+
* no language awareness at all. See docs/adr-013-duplicate-detection-noise-reduction.md for the
|
|
467
|
+
* noise this addresses.
|
|
468
|
+
*/
|
|
469
|
+
|
|
470
|
+
interface DuplicateOccurrence {
|
|
471
|
+
file: string;
|
|
472
|
+
startLine: number;
|
|
473
|
+
endLine: number;
|
|
474
|
+
}
|
|
475
|
+
interface DuplicateGroup {
|
|
476
|
+
/** Every location sharing this duplicated block (two or more) — locations that pairwise
|
|
477
|
+
* chain-match are clustered into one group instead of being reported once per pair, so a
|
|
478
|
+
* block repeated N times produces one N-occurrence group, not C(N,2) near-identical ones. */
|
|
479
|
+
occurrences: DuplicateOccurrence[];
|
|
480
|
+
/** Line span of the largest single pairwise match clustered into this group (each pair's own
|
|
481
|
+
* span is the shorter of its two occurrences) — the best-verified size for this block, not an
|
|
482
|
+
* average or a value shrunk by a more weakly-matching cluster member. */
|
|
483
|
+
lines: number;
|
|
484
|
+
/** Token-window length backing this block, after chain-merging adjacent windows. */
|
|
485
|
+
tokens: number;
|
|
486
|
+
/** Which language family both occurrences belong to (set by `findDuplicates`, which never
|
|
487
|
+
* matches across families — see docs/adr-013-duplicate-detection-noise-reduction.md).
|
|
488
|
+
* Absent when called directly with a token stream that isn't family-scoped, e.g. in tests. */
|
|
489
|
+
family?: DuplicateFamily | undefined;
|
|
490
|
+
}
|
|
491
|
+
|
|
492
|
+
interface FindDuplicatesOptions {
|
|
493
|
+
/** Minimum duplicated block size, in source lines, to report (default 6). */
|
|
494
|
+
minLines?: number | undefined;
|
|
495
|
+
/** Shingle window size, in tokens — the smallest duplicate the scan can detect (default 15). */
|
|
496
|
+
windowSize?: number | undefined;
|
|
497
|
+
/** When true (default), string/number literals are normalized too, so only structural shape
|
|
498
|
+
* — not the specific values used — drives a match. Set false for stricter, Type-1-only matching. */
|
|
499
|
+
ignoreLiterals?: boolean | undefined;
|
|
500
|
+
/** Maximum fraction of a token-shingled block's window that may be object/array-literal
|
|
501
|
+
* structural punctuation (`{ } : , [ ]`) (default 0.5) — gates out blocks that are mostly
|
|
502
|
+
* schema/object-literal shape (e.g. MCP tool `inputSchema` boilerplate repeated across
|
|
503
|
+
* unrelated tool definitions) rather than substantive shared logic. Does not apply to the
|
|
504
|
+
* CSS/Less/SCSS structural comparator, which already matches on literal declaration content.
|
|
505
|
+
* Set to 1 to disable. See docs/adr-013-duplicate-detection-noise-reduction.md. */
|
|
506
|
+
maxPunctuationRatio?: number | undefined;
|
|
507
|
+
/** Caps the number of duplicate blocks returned, largest-first (default 50). */
|
|
508
|
+
limit?: number | undefined;
|
|
509
|
+
/** Directory names to exclude, matched against any path segment (default `DEFAULT_IGNORE_DIRS`
|
|
510
|
+
* — `node_modules`, `dist`, `.git`, `mokosh-cache`, `coverage`, etc.). Pass `[]` to disable. */
|
|
511
|
+
ignoreDirs?: readonly string[] | undefined;
|
|
512
|
+
}
|
|
513
|
+
/**
|
|
514
|
+
* @description Scans every file already present in `graph` for cross-file (and within-file)
|
|
515
|
+
* duplicated code. CSS/Less/SCSS files are compared structurally — by their rule bodies'
|
|
516
|
+
* literal, ordered `property: value` declarations, independent of selector name — via
|
|
517
|
+
* {@link findStyleBlockDuplicates}. Every other language (TS/JS, Python, Go, CoffeeScript,
|
|
518
|
+
* LiveScript, Lua, Gherkin, Markdown, and Stylus, which has no shared PostCSS AST here) runs
|
|
519
|
+
* the generic token-shingling pipeline instead: comments are stripped per `FileType`,
|
|
520
|
+
* identifiers (and, by default, literals) are normalized to placeholders so renamed-variable
|
|
521
|
+
* copies still match, then a sliding token window is hashed and chain-merged into contiguous
|
|
522
|
+
* blocks. Token-shingled files are additionally partitioned into language families
|
|
523
|
+
* ({@link getDuplicateFamily} — `"style"` for Stylus, `"code"` for everything else) so
|
|
524
|
+
* matching never crosses that boundary — see docs/adr-013-duplicate-detection-noise-reduction.md.
|
|
525
|
+
* @param graph - The graph to scan; its node paths (already ignore-rule-filtered) are the file
|
|
526
|
+
* list, re-read from disk since duplication data isn't cached on `FileNode`.
|
|
527
|
+
* @param rootDir - Absolute project root that graph paths are relative to.
|
|
528
|
+
* @param options - `minLines`/`windowSize` tune token-shingle sensitivity (`minLines` also caps
|
|
529
|
+
* CSS/Less/SCSS block size); `ignoreLiterals` toggles Type-2 vs Type-1 matching for the
|
|
530
|
+
* token-shingle path only (CSS/Less/SCSS always match on literal declaration content);
|
|
531
|
+
* `maxPunctuationRatio` gates out token-shingle blocks that are mostly object/array-literal
|
|
532
|
+
* structural punctuation (e.g. schema/object-literal boilerplate) rather than substantive
|
|
533
|
+
* shared logic; `ignoreDirs` excludes files under matching directory names; `limit` caps
|
|
534
|
+
* results. Lock files are always excluded, independent of `ignoreDirs`.
|
|
535
|
+
* @returns Duplicate blocks (each tagged with its `family`), two or more occurrences per block —
|
|
536
|
+
* every block that pairwise chain-matches another is clustered into one group instead of one
|
|
537
|
+
* per pair — sorted largest-first across all families.
|
|
538
|
+
*/
|
|
539
|
+
declare function findDuplicates(graph: Graph, rootDir: string, options?: FindDuplicatesOptions): Promise<DuplicateGroup[]>;
|
|
540
|
+
|
|
445
541
|
/** Controls how aggressively `detectFeatures` promotes files to features. */
|
|
446
542
|
interface FeatureDetectionOptions {
|
|
447
543
|
/**
|
|
@@ -1303,4 +1399,4 @@ declare function createWorkspaceGraph(rootDir: string, options?: {
|
|
|
1303
1399
|
*/
|
|
1304
1400
|
declare function getAllProjectFiles(rootDir: string, options?: ScanOptions): string[];
|
|
1305
1401
|
|
|
1306
|
-
export { type ApiSurface, type ApplyTagsFileResult, type ApplyTagsResult, CALL_EDGE_TYPES, CallEdge, type CalleeEntry, type CallerEntry$1 as CallerEntry, type ChangeImpactCache, type ComplexFunctionEntry, DEFAULT_EXTENSIONS, DEFAULT_IGNORE_DIRS, type DependencyGraph, EXPORT_TRACKING_TYPES, type ExportKind, type FeatureDetectionOptions, type FeatureDomain, type FeatureGraph, type FeatureGraphOptions, type FeatureInfo, FileNode, FileType, type FindComplexFunctionsOptions, type FunctionCallInfo, type GetAffectedOptions, type GetCallersOptions, Graph, type CallerEntry as GraphCallerEntry, type GraphExporter, IMPORT_SYMBOL_TYPES, ImportEdge, type LanguageCoverage, MermaidExporter, type ModuleResponsibility, type ModuleRole, type MokoshConfig, type MonorepoDetector, type MonorepoLayout, NodeCategory, type NodeMeta, type NodeQuery, type ParallelParsingOption, type PathWithSymbols, type ProposeTagsOptions, type PublicExport, type ResponsibilityGraph, type ScanOptions, type SerializedGraph, type SerializedWorkspaceGraph, type SlimNode, type SlimSerializedGraph, StructuredTag, type SymbolCaller, type SymbolImporter, type SymbolMatch, type SymbolPrecision, SymbolTraversalContext, type TestNodeIdentifier, type TraversalOptions, type TraversalVisitor, type TypeEdge, type TypeGraph, type TypeKind, type TypeNode, type TypeQueryResult, WorkspaceGraph, type WorkspacePackage, type WorkspacePackageSummary, type WorkspacePackagesSummary, applyConfig, applyTags, buildApiSurface, buildChangeImpactCache, buildFeatureGraph, buildResponsibilityGraph, buildTypeGraph, computeGraphHash, configToGraphOptions, createImportMap, createWorkspaceGraph, detectAllEntryPoints, detectEntryPoint, detectFeatures, detectMonorepo, filterGraph, findComplexFunctions, findSymbol, getAffected, getAllProjectFiles, getCallers, getDependencies, getDependents, getLanguageCoverage, getNodeMeta, hasCoverageData, isChangeImpactCacheValid, loadChangeImpactCache, loadCoverageMap, loadMokoshConfig, parseQuery, proposeAffectedTests, proposeTags, queryCallGraph, queryChangeImpact, queryTypeGraph, registerConfigMatcher, registerMonorepoDetector, registerParser, registerTestLibrary, registerTestPattern, saveChangeImpactCache, slimSerialize, summarizeWorkspacePackages, toMermaid };
|
|
1402
|
+
export { type ApiSurface, type ApplyTagsFileResult, type ApplyTagsResult, CALL_EDGE_TYPES, CallEdge, type CalleeEntry, type CallerEntry$1 as CallerEntry, type ChangeImpactCache, type ComplexFunctionEntry, DEFAULT_EXTENSIONS, DEFAULT_IGNORE_DIRS, type DependencyGraph, type DuplicateFamily, type DuplicateGroup, type DuplicateOccurrence, EXPORT_TRACKING_TYPES, type ExportKind, type FeatureDetectionOptions, type FeatureDomain, type FeatureGraph, type FeatureGraphOptions, type FeatureInfo, FileNode, FileType, type FindComplexFunctionsOptions, type FindDuplicatesOptions, type FunctionCallInfo, type GetAffectedOptions, type GetCallersOptions, Graph, type CallerEntry as GraphCallerEntry, type GraphExporter, IMPORT_SYMBOL_TYPES, ImportEdge, type LanguageCoverage, MermaidExporter, type ModuleResponsibility, type ModuleRole, type MokoshConfig, type MonorepoDetector, type MonorepoLayout, NodeCategory, type NodeMeta, type NodeQuery, type ParallelParsingOption, type PathWithSymbols, type ProposeTagsOptions, type PublicExport, type ResponsibilityGraph, type ScanOptions, type SerializedGraph, type SerializedWorkspaceGraph, type SlimNode, type SlimSerializedGraph, StructuredTag, type SymbolCaller, type SymbolImporter, type SymbolMatch, type SymbolPrecision, SymbolTraversalContext, type TestNodeIdentifier, type TraversalOptions, type TraversalVisitor, type TypeEdge, type TypeGraph, type TypeKind, type TypeNode, type TypeQueryResult, WorkspaceGraph, type WorkspacePackage, type WorkspacePackageSummary, type WorkspacePackagesSummary, applyConfig, applyTags, buildApiSurface, buildChangeImpactCache, buildFeatureGraph, buildResponsibilityGraph, buildTypeGraph, computeGraphHash, configToGraphOptions, createImportMap, createWorkspaceGraph, detectAllEntryPoints, detectEntryPoint, detectFeatures, detectMonorepo, filterGraph, findComplexFunctions, findDuplicates, findSymbol, getAffected, getAllProjectFiles, getCallers, getDependencies, getDependents, getLanguageCoverage, getNodeMeta, hasCoverageData, isChangeImpactCacheValid, loadChangeImpactCache, loadCoverageMap, loadMokoshConfig, parseQuery, proposeAffectedTests, proposeTags, queryCallGraph, queryChangeImpact, queryTypeGraph, registerConfigMatcher, registerMonorepoDetector, registerParser, registerTestLibrary, registerTestPattern, saveChangeImpactCache, slimSerialize, summarizeWorkspacePackages, toMermaid };
|