@mimir-labs/core 0.4.0 → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (57) hide show
  1. package/README.md +13 -2
  2. package/dist/implementation/contracts/descriptor.d.ts +7 -1
  3. package/dist/implementation/contracts/resource.d.ts +93 -0
  4. package/dist/implementation/descriptors/descriptor-repository.js +33 -14
  5. package/dist/implementation/descriptors/descriptor-repository.js.map +1 -1
  6. package/dist/implementation/generation/generate-service.d.ts +4 -0
  7. package/dist/implementation/generation/generate-service.js +14 -4
  8. package/dist/implementation/generation/generate-service.js.map +1 -1
  9. package/dist/implementation/generation/types.d.ts +1 -0
  10. package/dist/implementation/io/fs.d.ts +1 -0
  11. package/dist/implementation/io/fs.js +13 -0
  12. package/dist/implementation/io/fs.js.map +1 -1
  13. package/dist/implementation/knowledge/knowledge-engine.d.ts +8 -0
  14. package/dist/implementation/knowledge/knowledge-engine.js +40 -0
  15. package/dist/implementation/knowledge/knowledge-engine.js.map +1 -0
  16. package/dist/implementation/knowledge/knowledge-graph.d.ts +12 -0
  17. package/dist/implementation/knowledge/knowledge-graph.js +34 -0
  18. package/dist/implementation/knowledge/knowledge-graph.js.map +1 -0
  19. package/dist/implementation/knowledge/model.d.ts +44 -0
  20. package/dist/implementation/knowledge/model.js +3 -0
  21. package/dist/implementation/knowledge/model.js.map +1 -0
  22. package/dist/implementation/knowledge/persistence-policy.d.ts +21 -0
  23. package/dist/implementation/knowledge/persistence-policy.js +51 -0
  24. package/dist/implementation/knowledge/persistence-policy.js.map +1 -0
  25. package/dist/implementation/knowledge/providers.d.ts +36 -0
  26. package/dist/implementation/knowledge/providers.js +150 -0
  27. package/dist/implementation/knowledge/providers.js.map +1 -0
  28. package/dist/implementation/resource-discovery/design-token-extractor.d.ts +3 -0
  29. package/dist/implementation/resource-discovery/design-token-extractor.js +78 -0
  30. package/dist/implementation/resource-discovery/design-token-extractor.js.map +1 -0
  31. package/dist/implementation/resource-discovery/react-pattern-extractor.d.ts +3 -0
  32. package/dist/implementation/resource-discovery/react-pattern-extractor.js +49 -0
  33. package/dist/implementation/resource-discovery/react-pattern-extractor.js.map +1 -0
  34. package/dist/implementation/resource-discovery/relationship-extractor.d.ts +3 -0
  35. package/dist/implementation/resource-discovery/relationship-extractor.js +80 -0
  36. package/dist/implementation/resource-discovery/relationship-extractor.js.map +1 -0
  37. package/dist/implementation/resource-discovery/semantic-resource-classifier.d.ts +23 -0
  38. package/dist/implementation/resource-discovery/semantic-resource-classifier.js +267 -0
  39. package/dist/implementation/resource-discovery/semantic-resource-classifier.js.map +1 -0
  40. package/dist/implementation/resource-discovery/storybook-extractor.d.ts +2 -1
  41. package/dist/implementation/resource-discovery/storybook-extractor.js +83 -44
  42. package/dist/implementation/resource-discovery/storybook-extractor.js.map +1 -1
  43. package/dist/implementation/resource-discovery/typescript-analysis.d.ts +7 -0
  44. package/dist/implementation/resource-discovery/typescript-analysis.js +42 -0
  45. package/dist/implementation/resource-discovery/typescript-analysis.js.map +1 -0
  46. package/dist/implementation/resource-discovery/typescript-extractor.d.ts +8 -2
  47. package/dist/implementation/resource-discovery/typescript-extractor.js +166 -108
  48. package/dist/implementation/resource-discovery/typescript-extractor.js.map +1 -1
  49. package/dist/implementation/resource-discovery/typescript-public-api-extractor.d.ts +11 -0
  50. package/dist/implementation/resource-discovery/typescript-public-api-extractor.js +439 -0
  51. package/dist/implementation/resource-discovery/typescript-public-api-extractor.js.map +1 -0
  52. package/dist/implementation/resource-identity.d.ts +1 -0
  53. package/dist/implementation/resource-identity.js +7 -0
  54. package/dist/implementation/resource-identity.js.map +1 -1
  55. package/dist/implementation/services/authoring-service.js +251 -140
  56. package/dist/implementation/services/authoring-service.js.map +1 -1
  57. package/package.json +1 -1
package/README.md CHANGED
@@ -1,6 +1,12 @@
1
1
  # @mimir-labs/core
2
2
 
3
- Core business logic and reusable services for the Mimir CLI.
3
+ Software Knowledge Engine and reusable services for the Mimir CLI.
4
+
5
+ Mimir discovers software facts through Knowledge Providers, organizes them in
6
+ an in-memory Knowledge Graph, and applies an explicit Persistence Policy before
7
+ `author` writes versioned descriptors. `generate` remains independent: it
8
+ compiles persistent descriptor knowledge into APS without consulting authoring
9
+ providers.
4
10
 
5
11
  Public workflows include discovery, authoring, generation, validation,
6
12
  governance, context generation, synchronization, initialization, and doctor
@@ -8,4 +14,9 @@ assessment. Author Knowledge sources live in versioned `*.mimir.yaml`
8
14
  descriptors maintained by `mimir author`; generated APS artifacts remain under
9
15
  `dist/aps`.
10
16
 
11
- See extension guidance in [EXTENSIONS.md](./EXTENSIONS.md).
17
+ The knowledge model is intentionally separate from APS. Knowledge extraction
18
+ can evolve without expanding the descriptor or protocol contract with every
19
+ derived fact.
20
+
21
+ See [ARCHITECTURE.md](./ARCHITECTURE.md) for the knowledge pipeline and
22
+ [EXTENSIONS.md](./EXTENSIONS.md) for public extension guidance.
@@ -1,4 +1,4 @@
1
- import type { ExtractedProp } from "./resource";
1
+ import type { ExtractedExample, ExtractedProp, ExtractedReactPatterns, ExtractedRelationship, ExtractionMetadata, PublicComponentApi, ResourceClassification } from "./resource";
2
2
  export type MimirResourceDescriptor = {
3
3
  kind: string;
4
4
  name: string;
@@ -10,8 +10,14 @@ export type MimirResourceDescriptor = {
10
10
  public?: boolean;
11
11
  };
12
12
  props: Record<string, ExtractedProp>;
13
+ api?: PublicComponentApi;
14
+ classification?: ResourceClassification;
13
15
  variants: string[];
14
16
  storyFiles: string[];
17
+ relationships?: ExtractedRelationship[];
18
+ examples?: ExtractedExample[];
19
+ react?: ExtractedReactPatterns;
20
+ ai?: ExtractionMetadata;
15
21
  };
16
22
  human: {
17
23
  description: string;
@@ -3,6 +3,54 @@ export type ExtractedProp = {
3
3
  type?: string;
4
4
  required?: boolean;
5
5
  };
6
+ export type SemanticResourceKind = "component" | "hook" | "context" | "provider" | "template" | "icon" | "page" | "utility" | "theme" | "token" | "configuration" | "story" | "internal" | "unknown";
7
+ export type ResourceClassification = {
8
+ kind: SemanticResourceKind;
9
+ confidence: number;
10
+ reasons: string[];
11
+ generateDescriptor: boolean;
12
+ };
13
+ export type PublicApiTypeDescriptor = {
14
+ kind: "primitive";
15
+ name: string;
16
+ } | {
17
+ kind: "literal";
18
+ value: string | number | boolean | null;
19
+ } | {
20
+ kind: "union";
21
+ values: Array<string | number | boolean | null>;
22
+ display: string;
23
+ } | {
24
+ kind: "enum";
25
+ name: string;
26
+ members: Array<string | number>;
27
+ display: string;
28
+ } | {
29
+ kind: "reference";
30
+ name: string;
31
+ display: string;
32
+ } | {
33
+ kind: "unknown";
34
+ display: string;
35
+ };
36
+ export type PublicApiProp = {
37
+ name: string;
38
+ type: PublicApiTypeDescriptor;
39
+ required: boolean;
40
+ inherited: boolean;
41
+ inheritedFrom?: string;
42
+ description?: string;
43
+ deprecated?: string | boolean;
44
+ default?: string | number | boolean | null;
45
+ remarks?: string;
46
+ };
47
+ export type PublicComponentApi = {
48
+ props: PublicApiProp[];
49
+ events: unknown[];
50
+ slots: unknown[];
51
+ methods: unknown[];
52
+ refs: unknown[];
53
+ };
6
54
  export type ExtractedComponentFact = {
7
55
  name: string;
8
56
  filePath: string;
@@ -10,7 +58,52 @@ export type ExtractedComponentFact = {
10
58
  packageName: string;
11
59
  props: Record<string, ExtractedProp>;
12
60
  };
61
+ export type DiscoveredResourceFact = {
62
+ name: string;
63
+ filePath: string;
64
+ importName: string;
65
+ packageName: string;
66
+ classification: ResourceClassification;
67
+ };
13
68
  export type StorybookFacts = {
14
69
  variantsByComponent: Record<string, string[]>;
15
70
  storyFilesByComponent: Record<string, string[]>;
71
+ examplesByComponent: Record<string, ExtractedExample[]>;
72
+ };
73
+ export type RelationshipType = "imports" | "exports" | "uses" | "composes" | "dependsOn" | "provides" | "consumes" | "references";
74
+ export type ExtractedRelationship = {
75
+ type: RelationshipType;
76
+ target: string;
77
+ confidence: number;
78
+ };
79
+ export type StaticValue = string | number | boolean | null | StaticValue[] | {
80
+ [key: string]: StaticValue;
81
+ };
82
+ export type ExtractedExample = {
83
+ name: string;
84
+ source: {
85
+ file: string;
86
+ };
87
+ story: string;
88
+ args?: Record<string, StaticValue>;
89
+ decorators?: string[];
90
+ play?: boolean;
91
+ };
92
+ export type DesignTokenCategory = "colors" | "spacing" | "typography" | "radius" | "shadows" | "zIndex" | "breakpoints";
93
+ export type ExtractedDesignTokens = Partial<Record<DesignTokenCategory, Record<string, StaticValue>>>;
94
+ export type ExtractedReactPatterns = {
95
+ forwardRef: boolean;
96
+ memo: boolean;
97
+ lazy: boolean;
98
+ suspense: boolean;
99
+ portal: boolean;
100
+ errorBoundary: boolean;
101
+ context: boolean;
102
+ provider: boolean;
103
+ customHook: boolean;
104
+ };
105
+ export type ExtractionMetadata = {
106
+ confidence?: number;
107
+ extractedAt?: string;
108
+ extractorVersion?: string;
16
109
  };
@@ -52,20 +52,20 @@ function readPropsMap(value, field, sourceRef) {
52
52
  }
53
53
  return props;
54
54
  }
55
- function readResource(value, sourceRef, index) {
55
+ function readResource(value, sourceRef, resourcePath) {
56
56
  if (!(0, json_1.isObject)(value)) {
57
- throw new Error(`${sourceRef}: resources[${index}] must be an object`);
57
+ throw new Error(`${sourceRef}: ${resourcePath} must be an object`);
58
58
  }
59
59
  const resource = value;
60
60
  if (typeof resource.kind !== "string" || resource.kind.trim() === "") {
61
- throw new Error(`${sourceRef}: resources[${index}].kind must be a non-empty string`);
61
+ throw new Error(`${sourceRef}: ${resourcePath}.kind must be a non-empty string`);
62
62
  }
63
63
  if (typeof resource.name !== "string" || resource.name.trim() === "") {
64
- throw new Error(`${sourceRef}: resources[${index}].name must be a non-empty string`);
64
+ throw new Error(`${sourceRef}: ${resourcePath}.name must be a non-empty string`);
65
65
  }
66
66
  const kind = resource.kind.trim().toLowerCase();
67
67
  if (!SUPPORTED_KINDS.has(kind)) {
68
- throw new Error(`${sourceRef}: resources[${index}].kind '${resource.kind}' is not supported by the descriptor contract`);
68
+ throw new Error(`${sourceRef}: ${resourcePath}.kind '${resource.kind}' is not supported by the descriptor contract`);
69
69
  }
70
70
  const autoNode = (0, json_1.isObject)(resource.auto) ? resource.auto : {};
71
71
  const humanNode = (0, json_1.isObject)(resource.human) ? resource.human : {};
@@ -91,8 +91,14 @@ function readResource(value, sourceRef, index) {
91
91
  auto: {
92
92
  source,
93
93
  props,
94
+ api: (0, json_1.isObject)(autoNode.api) ? autoNode.api : undefined,
95
+ classification: (0, json_1.isObject)(autoNode.classification) ? autoNode.classification : undefined,
94
96
  variants,
95
- storyFiles
97
+ storyFiles,
98
+ relationships: Array.isArray(autoNode.relationships) ? autoNode.relationships : undefined,
99
+ examples: Array.isArray(autoNode.examples) ? autoNode.examples : undefined,
100
+ react: (0, json_1.isObject)(autoNode.react) ? autoNode.react : undefined,
101
+ ai: (0, json_1.isObject)(autoNode.ai) ? autoNode.ai : undefined
96
102
  },
97
103
  human: {
98
104
  description: typeof humanNode.description === "string"
@@ -126,17 +132,28 @@ async function loadMimirDescriptors(cwd) {
126
132
  continue;
127
133
  }
128
134
  const schemaVersion = raw.schemaVersion;
129
- if (schemaVersion !== 1) {
130
- warnings.push(`${sourceRef}: schemaVersion must be 1`);
131
- continue;
132
- }
133
- if (!Array.isArray(raw.resources)) {
134
- warnings.push(`${sourceRef}: resources must be an array`);
135
+ if (schemaVersion === 1) {
136
+ if (!Array.isArray(raw.resources)) {
137
+ warnings.push(`${sourceRef}: resources must be an array for schemaVersion 1`);
138
+ continue;
139
+ }
140
+ for (let index = 0; index < raw.resources.length; index += 1) {
141
+ try {
142
+ const resource = readResource(raw.resources[index], sourceRef, `resources[${index}]`);
143
+ if (resource) {
144
+ resources.push(resource);
145
+ }
146
+ }
147
+ catch (error) {
148
+ const message = error instanceof Error ? error.message : String(error);
149
+ warnings.push(message);
150
+ }
151
+ }
135
152
  continue;
136
153
  }
137
- for (let index = 0; index < raw.resources.length; index += 1) {
154
+ if (schemaVersion === 2) {
138
155
  try {
139
- const resource = readResource(raw.resources[index], sourceRef, index);
156
+ const resource = readResource(raw, sourceRef, "resource");
140
157
  if (resource) {
141
158
  resources.push(resource);
142
159
  }
@@ -145,7 +162,9 @@ async function loadMimirDescriptors(cwd) {
145
162
  const message = error instanceof Error ? error.message : String(error);
146
163
  warnings.push(message);
147
164
  }
165
+ continue;
148
166
  }
167
+ warnings.push(`${sourceRef}: schemaVersion must be 1 or 2`);
149
168
  }
150
169
  return {
151
170
  descriptorFiles,
@@ -1 +1 @@
1
- {"version":3,"file":"descriptor-repository.js","sourceRoot":"","sources":["../../../src/implementation/descriptors/descriptor-repository.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"descriptor-repository.js","sourceRoot":"","sources":["../../../src/implementation/descriptors/descriptor-repository.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,10 @@ import type { GenerateReport } from "./types";
2
2
  type GenerateOptions = {
3
3
  force?: boolean;
4
4
  };
5
+ export declare class NoDescriptorsFoundError extends Error {
6
+ readonly code = "NO_DESCRIPTORS_FOUND";
7
+ constructor();
8
+ }
5
9
  export declare function compileApsFromDescriptors(cwd: string, options?: GenerateOptions): Promise<GenerateReport>;
6
10
  export declare function generateApsFromEvidence(cwd: string, options?: GenerateOptions): Promise<GenerateReport>;
7
11
  export {};
@@ -3,6 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.NoDescriptorsFoundError = void 0;
6
7
  exports.compileApsFromDescriptors = compileApsFromDescriptors;
7
8
  exports.generateApsFromEvidence = generateApsFromEvidence;
8
9
  const node_path_1 = __importDefault(require("node:path"));
@@ -13,6 +14,14 @@ const example_builder_1 = require("./resource-builders/example-builder");
13
14
  const descriptor_repository_1 = require("../descriptors/descriptor-repository");
14
15
  const resource_identity_1 = require("../resource-identity");
15
16
  const provenance_builder_1 = require("./provenance/provenance-builder");
17
+ class NoDescriptorsFoundError extends Error {
18
+ code = "NO_DESCRIPTORS_FOUND";
19
+ constructor() {
20
+ super("No descriptors found");
21
+ this.name = "NoDescriptorsFoundError";
22
+ }
23
+ }
24
+ exports.NoDescriptorsFoundError = NoDescriptorsFoundError;
16
25
  function hasHumanMetadata(component) {
17
26
  return component.description.trim() !== "" && component.whenToUse.length > 0 && component.whenNotToUse.length > 0;
18
27
  }
@@ -77,6 +86,10 @@ async function readPackageName(cwd) {
77
86
  }
78
87
  async function compileApsFromDescriptors(cwd, options = {}) {
79
88
  const packageName = await readPackageName(cwd);
89
+ const descriptorResult = await (0, descriptor_repository_1.loadMimirDescriptors)(cwd);
90
+ if (descriptorResult.descriptorFiles.length === 0) {
91
+ throw new NoDescriptorsFoundError();
92
+ }
80
93
  const outputDir = node_path_1.default.join(cwd, "dist", "aps");
81
94
  const manifestPath = node_path_1.default.join(outputDir, "manifest.json");
82
95
  const componentsPath = node_path_1.default.join(outputDir, "components.json");
@@ -85,15 +98,11 @@ async function compileApsFromDescriptors(cwd, options = {}) {
85
98
  throw new Error("APS resources already exist in dist/aps. Re-run with --force to replace existing generated resources.");
86
99
  }
87
100
  await (0, fs_1.ensureDir)(outputDir);
88
- const descriptorResult = await (0, descriptor_repository_1.loadMimirDescriptors)(cwd);
89
101
  const unsupportedKinds = toUniqueSorted(descriptorResult.resources.filter((resource) => resource.kind !== "component").map((resource) => resource.kind));
90
102
  const componentDescriptors = descriptorResult.resources.filter((resource) => resource.kind === "component");
91
103
  const components = await Promise.all(componentDescriptors.map(async (descriptor) => buildComponentFromDescriptor(packageName, descriptor)));
92
104
  const exampleResult = (0, example_builder_1.buildExamplesNotImplemented)();
93
105
  const descriptorWarnings = [...descriptorResult.warnings];
94
- if (descriptorResult.descriptorFiles.length === 0) {
95
- descriptorWarnings.push("No *.mimir.yaml descriptors found. Run 'mimir author' to scaffold descriptor files.");
96
- }
97
106
  if (unsupportedKinds.length > 0) {
98
107
  descriptorWarnings.push(`Descriptor resources ignored by generator v1 (unsupported kinds): ${unsupportedKinds.join(", ")}.`);
99
108
  }
@@ -116,6 +125,7 @@ async function compileApsFromDescriptors(cwd, options = {}) {
116
125
  const governanceResult = (0, governance_1.validateGovernance)(manifest);
117
126
  return {
118
127
  outputDir,
128
+ descriptorsCompiled: descriptorResult.descriptorFiles.length,
119
129
  generatedResources: output.components.length,
120
130
  warnings: output.warnings,
121
131
  missingHumanMetadata: output.missingHumanMetadata,
@@ -1 +1 @@
1
- {"version":3,"file":"generate-service.js","sourceRoot":"","sources":["../../../src/implementation/generation/generate-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generate-service.js","sourceRoot":"","sources":["../../../src/implementation/generation/generate-service.ts"],"names":[],"mappings":"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"}
@@ -34,6 +34,7 @@ export type GenerateOutput = {
34
34
  };
35
35
  export type GenerateReport = {
36
36
  outputDir: string;
37
+ descriptorsCompiled: number;
37
38
  generatedResources: number;
38
39
  warnings: string[];
39
40
  missingHumanMetadata: string[];
@@ -5,3 +5,4 @@ export declare function writeText(filePath: string, content: string): Promise<vo
5
5
  export declare function writeTextIfMissing(filePath: string, content: string): Promise<boolean>;
6
6
  export declare function readJson<T>(filePath: string): Promise<T>;
7
7
  export declare function writeJson(filePath: string, data: unknown): Promise<void>;
8
+ export declare function deleteFile(filePath: string): Promise<void>;
@@ -10,6 +10,7 @@ exports.writeText = writeText;
10
10
  exports.writeTextIfMissing = writeTextIfMissing;
11
11
  exports.readJson = readJson;
12
12
  exports.writeJson = writeJson;
13
+ exports.deleteFile = deleteFile;
13
14
  const promises_1 = require("node:fs/promises");
14
15
  const node_path_1 = __importDefault(require("node:path"));
15
16
  async function fileExists(filePath) {
@@ -58,4 +59,16 @@ async function writeJson(filePath, data) {
58
59
  const serialized = `${JSON.stringify(data, null, 2)}\n`;
59
60
  await writeText(filePath, serialized);
60
61
  }
62
+ async function deleteFile(filePath) {
63
+ try {
64
+ await (0, promises_1.unlink)(filePath);
65
+ }
66
+ catch (error) {
67
+ const fsError = error;
68
+ if (fsError.code === "ENOENT") {
69
+ return;
70
+ }
71
+ throw error;
72
+ }
73
+ }
61
74
  //# sourceMappingURL=fs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"fs.js","sourceRoot":"","sources":["../../../src/implementation/io/fs.ts"],"names":[],"mappings":";;;;;AAGA,gCAOC;AAED,8BAEC;AAED,4BAEC;AAED,8BAGC;AAED,gDAYC;AAED,4BASC;AAED,8BAGC;AArDD,+CAAsE;AACtE,0DAA6B;AAEtB,KAAK,UAAU,UAAU,CAAC,QAAgB;IAC/C,IAAI,CAAC;QACH,MAAM,IAAA,iBAAM,EAAC,QAAQ,CAAC,CAAC;QACvB,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAEM,KAAK,UAAU,SAAS,CAAC,OAAe;IAC7C,MAAM,IAAA,gBAAK,EAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;AAC5C,CAAC;AAEM,KAAK,UAAU,QAAQ,CAAC,QAAgB;IAC7C,OAAO,IAAA,mBAAQ,EAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;AACpC,CAAC;AAEM,KAAK,UAAU,SAAS,CAAC,QAAgB,EAAE,OAAe;IAC/D,MAAM,SAAS,CAAC,mBAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;IACxC,MAAM,IAAA,oBAAS,EAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;AAC7C,CAAC;AAEM,KAAK,UAAU,kBAAkB,CAAC,QAAgB,EAAE,OAAe;IACxE,MAAM,SAAS,CAAC,mBAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;IAExC,IAAI,CAAC;QACH,MAAM,IAAA,oBAAS,EAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QACrE,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAK,KAA+B,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACvD,OAAO,KAAK,CAAC;QACf,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAEM,KAAK,UAAU,QAAQ,CAAI,QAAgB;IAChD,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAErC,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAM,CAAC;IAC9B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACvE,MAAM,IAAI,KAAK,CAAC,mBAAmB,QAAQ,KAAK,OAAO,EAAE,CAAC,CAAC;IAC7D,CAAC;AACH,CAAC;AAEM,KAAK,UAAU,SAAS,CAAC,QAAgB,EAAE,IAAa;IAC7D,MAAM,UAAU,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC;IACxD,MAAM,SAAS,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;AACxC,CAAC"}
1
+ {"version":3,"file":"fs.js","sourceRoot":"","sources":["../../../src/implementation/io/fs.ts"],"names":[],"mappings":";;;;;AAGA,gCAOC;AAED,8BAEC;AAED,4BAEC;AAED,8BAGC;AAED,gDAYC;AAED,4BASC;AAED,8BAGC;AAED,gCAUC;AAjED,+CAA8E;AAC9E,0DAA6B;AAEtB,KAAK,UAAU,UAAU,CAAC,QAAgB;IAC/C,IAAI,CAAC;QACH,MAAM,IAAA,iBAAM,EAAC,QAAQ,CAAC,CAAC;QACvB,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAEM,KAAK,UAAU,SAAS,CAAC,OAAe;IAC7C,MAAM,IAAA,gBAAK,EAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;AAC5C,CAAC;AAEM,KAAK,UAAU,QAAQ,CAAC,QAAgB;IAC7C,OAAO,IAAA,mBAAQ,EAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;AACpC,CAAC;AAEM,KAAK,UAAU,SAAS,CAAC,QAAgB,EAAE,OAAe;IAC/D,MAAM,SAAS,CAAC,mBAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;IACxC,MAAM,IAAA,oBAAS,EAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;AAC7C,CAAC;AAEM,KAAK,UAAU,kBAAkB,CAAC,QAAgB,EAAE,OAAe;IACxE,MAAM,SAAS,CAAC,mBAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;IAExC,IAAI,CAAC;QACH,MAAM,IAAA,oBAAS,EAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QACrE,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAK,KAA+B,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACvD,OAAO,KAAK,CAAC;QACf,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAEM,KAAK,UAAU,QAAQ,CAAI,QAAgB;IAChD,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAErC,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAM,CAAC;IAC9B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACvE,MAAM,IAAI,KAAK,CAAC,mBAAmB,QAAQ,KAAK,OAAO,EAAE,CAAC,CAAC;IAC7D,CAAC;AACH,CAAC;AAEM,KAAK,UAAU,SAAS,CAAC,QAAgB,EAAE,IAAa;IAC7D,MAAM,UAAU,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC;IACxD,MAAM,SAAS,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;AACxC,CAAC;AAEM,KAAK,UAAU,UAAU,CAAC,QAAgB;IAC/C,IAAI,CAAC;QACH,MAAM,IAAA,iBAAM,EAAC,QAAQ,CAAC,CAAC;IACzB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,OAAO,GAAG,KAA8B,CAAC;QAC/C,IAAI,OAAO,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC9B,OAAO;QACT,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC"}
@@ -0,0 +1,8 @@
1
+ import { KnowledgeGraph } from "./knowledge-graph";
2
+ import type { KnowledgeProvider, KnowledgeWorkspace } from "./model";
3
+ import type { SemanticResourceKind } from "../contracts/resource";
4
+ export declare function buildKnowledgeGraph(workspace: KnowledgeWorkspace, providers?: readonly KnowledgeProvider[]): Promise<KnowledgeGraph>;
5
+ export declare function createKnowledgeWorkspace(cwd: string, packageName: string, discovery: {
6
+ includeKinds?: SemanticResourceKind[];
7
+ excludeKinds?: SemanticResourceKind[];
8
+ }): Promise<KnowledgeWorkspace>;
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.buildKnowledgeGraph = buildKnowledgeGraph;
4
+ exports.createKnowledgeWorkspace = createKnowledgeWorkspace;
5
+ const knowledge_graph_1 = require("./knowledge-graph");
6
+ const typescript_analysis_1 = require("../resource-discovery/typescript-analysis");
7
+ const providers_1 = require("./providers");
8
+ const DEFAULT_PROVIDERS = [
9
+ new providers_1.SemanticDiscoveryProvider(),
10
+ new providers_1.PublicApiProvider(),
11
+ new providers_1.StorybookProvider(),
12
+ new providers_1.RelationshipProvider(),
13
+ new providers_1.ReactProvider(),
14
+ new providers_1.DesignTokenProvider()
15
+ ];
16
+ async function buildKnowledgeGraph(workspace, providers = DEFAULT_PROVIDERS) {
17
+ const graph = new knowledge_graph_1.KnowledgeGraph();
18
+ const availablePredicates = new Set();
19
+ for (const provider of providers) {
20
+ const missing = (provider.requires ?? []).filter((predicate) => !availablePredicates.has(predicate));
21
+ if (missing.length > 0) {
22
+ throw new Error(`Knowledge provider '${provider.id}' requires facts: ${missing.join(", ")}`);
23
+ }
24
+ graph.add(await provider.collect(workspace, graph));
25
+ for (const predicate of provider.provides)
26
+ availablePredicates.add(predicate);
27
+ }
28
+ return graph;
29
+ }
30
+ async function createKnowledgeWorkspace(cwd, packageName, discovery) {
31
+ const analysis = await (0, typescript_analysis_1.createTypeScriptAnalysis)(cwd);
32
+ return {
33
+ cwd,
34
+ packageName,
35
+ discovery,
36
+ program: analysis.program,
37
+ checker: analysis.checker
38
+ };
39
+ }
40
+ //# sourceMappingURL=knowledge-engine.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"knowledge-engine.js","sourceRoot":"","sources":["../../../src/implementation/knowledge/knowledge-engine.ts"],"names":[],"mappings":";;AAsBA,kDAeC;AAED,4DAaC;AApDD,uDAAmD;AAEnD,mFAAqF;AAErF,2CAOqB;AAErB,MAAM,iBAAiB,GAAwB;IAC7C,IAAI,qCAAyB,EAAE;IAC/B,IAAI,6BAAiB,EAAE;IACvB,IAAI,6BAAiB,EAAE;IACvB,IAAI,gCAAoB,EAAE;IAC1B,IAAI,yBAAa,EAAE;IACnB,IAAI,+BAAmB,EAAE;CAC1B,CAAC;AAEK,KAAK,UAAU,mBAAmB,CACvC,SAA6B,EAC7B,YAA0C,iBAAiB;IAE3D,MAAM,KAAK,GAAG,IAAI,gCAAc,EAAE,CAAC;IACnC,MAAM,mBAAmB,GAAG,IAAI,GAAG,EAAsB,CAAC;IAC1D,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;QACjC,MAAM,OAAO,GAAG,CAAC,QAAQ,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,mBAAmB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC;QACrG,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,MAAM,IAAI,KAAK,CAAC,uBAAuB,QAAQ,CAAC,EAAE,qBAAqB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC/F,CAAC;QACD,KAAK,CAAC,GAAG,CAAC,MAAM,QAAQ,CAAC,OAAO,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC;QACpD,KAAK,MAAM,SAAS,IAAI,QAAQ,CAAC,QAAQ;YAAE,mBAAmB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAChF,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAEM,KAAK,UAAU,wBAAwB,CAC5C,GAAW,EACX,WAAmB,EACnB,SAA2F;IAE3F,MAAM,QAAQ,GAAG,MAAM,IAAA,8CAAwB,EAAC,GAAG,CAAC,CAAC;IACrD,OAAO;QACL,GAAG;QACH,WAAW;QACX,SAAS;QACT,OAAO,EAAE,QAAQ,CAAC,OAAO;QACzB,OAAO,EAAE,QAAQ,CAAC,OAAO;KAC1B,CAAC;AACJ,CAAC"}
@@ -0,0 +1,12 @@
1
+ import type { KnowledgeFact, KnowledgeGraphReader, KnowledgePredicate } from "./model";
2
+ export declare class KnowledgeGraph implements KnowledgeGraphReader {
3
+ private readonly collectedFacts;
4
+ add(facts: readonly KnowledgeFact[]): void;
5
+ facts(predicate?: KnowledgePredicate): readonly KnowledgeFact[];
6
+ factsFor(subject: string, predicate?: KnowledgePredicate): readonly KnowledgeFact[];
7
+ resources(): readonly KnowledgeFact[];
8
+ relationships(subject?: string): readonly KnowledgeFact[];
9
+ examples(subject?: string): readonly KnowledgeFact[];
10
+ publicApi(subject: string): KnowledgeFact | undefined;
11
+ classification(subject: string): KnowledgeFact | undefined;
12
+ }
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.KnowledgeGraph = void 0;
4
+ class KnowledgeGraph {
5
+ collectedFacts = [];
6
+ add(facts) {
7
+ this.collectedFacts.push(...facts);
8
+ }
9
+ facts(predicate) {
10
+ return predicate
11
+ ? this.collectedFacts.filter((fact) => fact.predicate === predicate)
12
+ : this.collectedFacts;
13
+ }
14
+ factsFor(subject, predicate) {
15
+ return this.collectedFacts.filter((fact) => fact.subject === subject && (!predicate || fact.predicate === predicate));
16
+ }
17
+ resources() {
18
+ return this.facts("resource");
19
+ }
20
+ relationships(subject) {
21
+ return subject ? this.factsFor(subject, "relationship") : this.facts("relationship");
22
+ }
23
+ examples(subject) {
24
+ return subject ? this.factsFor(subject, "example") : this.facts("example");
25
+ }
26
+ publicApi(subject) {
27
+ return this.factsFor(subject, "public-api")[0];
28
+ }
29
+ classification(subject) {
30
+ return this.factsFor(subject, "classification")[0];
31
+ }
32
+ }
33
+ exports.KnowledgeGraph = KnowledgeGraph;
34
+ //# sourceMappingURL=knowledge-graph.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"knowledge-graph.js","sourceRoot":"","sources":["../../../src/implementation/knowledge/knowledge-graph.ts"],"names":[],"mappings":";;;AAEA,MAAa,cAAc;IACR,cAAc,GAAoB,EAAE,CAAC;IAEtD,GAAG,CAAC,KAA+B;QACjC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC;IACrC,CAAC;IAED,KAAK,CAAC,SAA8B;QAClC,OAAO,SAAS;YACd,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,KAAK,SAAS,CAAC;YACpE,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC;IAC1B,CAAC;IAED,QAAQ,CAAC,OAAe,EAAE,SAA8B;QACtD,OAAO,IAAI,CAAC,cAAc,CAAC,MAAM,CAC/B,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,KAAK,OAAO,IAAI,CAAC,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,CAAC,CACnF,CAAC;IACJ,CAAC;IAED,SAAS;QACP,OAAO,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IAChC,CAAC;IAED,aAAa,CAAC,OAAgB;QAC5B,OAAO,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;IACvF,CAAC;IAED,QAAQ,CAAC,OAAgB;QACvB,OAAO,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IAC7E,CAAC;IAED,SAAS,CAAC,OAAe;QACvB,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;IACjD,CAAC;IAED,cAAc,CAAC,OAAe;QAC5B,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;IACrD,CAAC;CACF;AAtCD,wCAsCC"}
@@ -0,0 +1,44 @@
1
+ import type ts from "typescript";
2
+ import type { SemanticResourceKind } from "../contracts/resource";
3
+ export type KnowledgeSource = "typescript" | "storybook" | "react" | "design-tokens";
4
+ export type KnowledgeEvidence = {
5
+ kind: string;
6
+ detail: string;
7
+ file?: string;
8
+ symbol?: string;
9
+ };
10
+ export type KnowledgePredicate = "resource" | "classification" | "public-api" | "relationship" | "example" | "react-patterns" | "design-tokens";
11
+ export type KnowledgeFact = {
12
+ subject: string;
13
+ predicate: KnowledgePredicate;
14
+ object: unknown;
15
+ confidence: number;
16
+ source: KnowledgeSource;
17
+ evidence: KnowledgeEvidence[];
18
+ metadata?: Record<string, unknown>;
19
+ };
20
+ export type KnowledgeWorkspace = {
21
+ cwd: string;
22
+ packageName: string;
23
+ program: ts.Program;
24
+ checker: ts.TypeChecker;
25
+ discovery: {
26
+ includeKinds?: SemanticResourceKind[];
27
+ excludeKinds?: SemanticResourceKind[];
28
+ };
29
+ };
30
+ export interface KnowledgeProvider {
31
+ readonly id: string;
32
+ readonly requires?: readonly KnowledgePredicate[];
33
+ readonly provides: readonly KnowledgePredicate[];
34
+ collect(workspace: KnowledgeWorkspace, graph: KnowledgeGraphReader): Promise<KnowledgeFact[]>;
35
+ }
36
+ export interface KnowledgeGraphReader {
37
+ facts(predicate?: KnowledgePredicate): readonly KnowledgeFact[];
38
+ factsFor(subject: string, predicate?: KnowledgePredicate): readonly KnowledgeFact[];
39
+ resources(): readonly KnowledgeFact[];
40
+ relationships(subject?: string): readonly KnowledgeFact[];
41
+ examples(subject?: string): readonly KnowledgeFact[];
42
+ publicApi(subject: string): KnowledgeFact | undefined;
43
+ classification(subject: string): KnowledgeFact | undefined;
44
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=model.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model.js","sourceRoot":"","sources":["../../../src/implementation/knowledge/model.ts"],"names":[],"mappings":""}
@@ -0,0 +1,21 @@
1
+ import type { DiscoveredResourceFact, ExtractedExample, ExtractedProp, ExtractedReactPatterns, ExtractedRelationship, ExtractionMetadata, PublicComponentApi } from "../contracts/resource";
2
+ import type { KnowledgeGraphReader } from "./model";
3
+ export type PersistentResourceKnowledge = {
4
+ resource: DiscoveredResourceFact;
5
+ props: Record<string, ExtractedProp>;
6
+ api?: PublicComponentApi;
7
+ relationships: ExtractedRelationship[];
8
+ examples: ExtractedExample[];
9
+ variants: string[];
10
+ storyFiles: string[];
11
+ react: ExtractedReactPatterns;
12
+ metadata: ExtractionMetadata;
13
+ };
14
+ export interface PersistencePolicy {
15
+ select(graph: KnowledgeGraphReader): PersistentResourceKnowledge[];
16
+ }
17
+ export declare class DescriptorPersistencePolicy implements PersistencePolicy {
18
+ private readonly excludedRelationshipTypes;
19
+ constructor(excludedRelationshipTypes?: ReadonlySet<ExtractedRelationship["type"]>);
20
+ select(graph: KnowledgeGraphReader): PersistentResourceKnowledge[];
21
+ }