@linklabjs/core 0.1.0 → 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (206) hide show
  1. package/dist/api/DomainNode.d.ts +154 -0
  2. package/dist/api/DomainNode.d.ts.map +1 -0
  3. package/dist/api/DomainNode.js +1157 -0
  4. package/dist/api/DomainNode.js.map +1 -0
  5. package/dist/api/Graph.d.ts +117 -0
  6. package/dist/api/Graph.d.ts.map +1 -0
  7. package/dist/api/Graph.js +212 -0
  8. package/dist/api/Graph.js.map +1 -0
  9. package/dist/api/PathBuilder.d.ts +76 -0
  10. package/dist/api/PathBuilder.d.ts.map +1 -0
  11. package/dist/api/PathBuilder.js +182 -0
  12. package/dist/api/PathBuilder.js.map +1 -0
  13. package/dist/api/index.d.ts +8 -0
  14. package/dist/api/index.d.ts.map +1 -0
  15. package/dist/api/index.js +7 -0
  16. package/dist/api/index.js.map +1 -0
  17. package/dist/api/loadGraph.d.ts +57 -0
  18. package/dist/api/loadGraph.d.ts.map +1 -0
  19. package/dist/api/loadGraph.js +153 -0
  20. package/dist/api/loadGraph.js.map +1 -0
  21. package/dist/api/test-api.d.ts +9 -0
  22. package/dist/api/test-api.d.ts.map +1 -0
  23. package/dist/api/test-api.js +133 -0
  24. package/dist/api/test-api.js.map +1 -0
  25. package/dist/api/test-domain.d.ts +13 -0
  26. package/dist/api/test-domain.d.ts.map +1 -0
  27. package/dist/api/test-domain.js +105 -0
  28. package/dist/api/test-domain.js.map +1 -0
  29. package/dist/api/types.d.ts +69 -0
  30. package/dist/api/types.d.ts.map +1 -0
  31. package/dist/api/types.js +22 -0
  32. package/dist/api/types.js.map +1 -0
  33. package/dist/config/synonyms.json +25 -0
  34. package/dist/core/EventBus.d.ts +56 -0
  35. package/dist/core/EventBus.d.ts.map +1 -0
  36. package/dist/core/EventBus.js +147 -0
  37. package/dist/core/EventBus.js.map +1 -0
  38. package/dist/core/GraphEvents.d.ts +118 -0
  39. package/dist/core/GraphEvents.d.ts.map +1 -0
  40. package/dist/core/GraphEvents.js +23 -0
  41. package/dist/core/GraphEvents.js.map +1 -0
  42. package/dist/core/PathFinder.d.ts +43 -0
  43. package/dist/core/PathFinder.d.ts.map +1 -0
  44. package/dist/core/PathFinder.js +264 -0
  45. package/dist/core/PathFinder.js.map +1 -0
  46. package/dist/formatters/BaseFormatter.d.ts +15 -0
  47. package/dist/formatters/BaseFormatter.d.ts.map +1 -0
  48. package/dist/formatters/BaseFormatter.js +9 -0
  49. package/dist/formatters/BaseFormatter.js.map +1 -0
  50. package/dist/graph/GraphAssembler.d.ts +14 -0
  51. package/dist/graph/GraphAssembler.d.ts.map +1 -0
  52. package/dist/graph/GraphAssembler.js +44 -0
  53. package/dist/graph/GraphAssembler.js.map +1 -0
  54. package/dist/graph/GraphCompiler.d.ts +37 -0
  55. package/dist/graph/GraphCompiler.d.ts.map +1 -0
  56. package/dist/graph/GraphCompiler.js +355 -0
  57. package/dist/graph/GraphCompiler.js.map +1 -0
  58. package/dist/graph/GraphExtractor.d.ts +21 -0
  59. package/dist/graph/GraphExtractor.d.ts.map +1 -0
  60. package/dist/graph/GraphExtractor.js +145 -0
  61. package/dist/graph/GraphExtractor.js.map +1 -0
  62. package/dist/graph/GraphOptimizer.d.ts +104 -0
  63. package/dist/graph/GraphOptimizer.d.ts.map +1 -0
  64. package/dist/graph/GraphOptimizer.js +306 -0
  65. package/dist/graph/GraphOptimizer.js.map +1 -0
  66. package/dist/graph/GraphTrainer.d.ts +52 -0
  67. package/dist/graph/GraphTrainer.d.ts.map +1 -0
  68. package/dist/graph/GraphTrainer.js +188 -0
  69. package/dist/graph/GraphTrainer.js.map +1 -0
  70. package/dist/http/LinkBuilder.d.ts +82 -0
  71. package/dist/http/LinkBuilder.d.ts.map +1 -0
  72. package/dist/http/LinkBuilder.js +190 -0
  73. package/dist/http/LinkBuilder.js.map +1 -0
  74. package/dist/http/TrailRequest.d.ts +39 -0
  75. package/dist/http/TrailRequest.d.ts.map +1 -0
  76. package/dist/http/TrailRequest.js +22 -0
  77. package/dist/http/TrailRequest.js.map +1 -0
  78. package/dist/http/example-netflix.d.ts +6 -0
  79. package/dist/http/example-netflix.d.ts.map +1 -0
  80. package/dist/http/example-netflix.js +52 -0
  81. package/dist/http/example-netflix.js.map +1 -0
  82. package/dist/http/index.d.ts +32 -0
  83. package/dist/http/index.d.ts.map +1 -0
  84. package/dist/http/index.js +27 -0
  85. package/dist/http/index.js.map +1 -0
  86. package/dist/http/plugin.d.ts +110 -0
  87. package/dist/http/plugin.d.ts.map +1 -0
  88. package/dist/http/plugin.js +217 -0
  89. package/dist/http/plugin.js.map +1 -0
  90. package/dist/index.d.ts +55 -0
  91. package/dist/index.d.ts.map +1 -0
  92. package/dist/index.js +71 -0
  93. package/dist/index.js.map +1 -0
  94. package/dist/instrumentation/TelemetryShim.d.ts +114 -0
  95. package/dist/instrumentation/TelemetryShim.d.ts.map +1 -0
  96. package/dist/instrumentation/TelemetryShim.js +107 -0
  97. package/dist/instrumentation/TelemetryShim.js.map +1 -0
  98. package/dist/navigation/NavigationEngine.d.ts +69 -0
  99. package/dist/navigation/NavigationEngine.d.ts.map +1 -0
  100. package/dist/navigation/NavigationEngine.js +361 -0
  101. package/dist/navigation/NavigationEngine.js.map +1 -0
  102. package/dist/navigation/Resolver.d.ts +35 -0
  103. package/dist/navigation/Resolver.d.ts.map +1 -0
  104. package/dist/navigation/Resolver.js +113 -0
  105. package/dist/navigation/Resolver.js.map +1 -0
  106. package/dist/navigation/Scheduler.d.ts +36 -0
  107. package/dist/navigation/Scheduler.d.ts.map +1 -0
  108. package/dist/navigation/Scheduler.js +107 -0
  109. package/dist/navigation/Scheduler.js.map +1 -0
  110. package/dist/navigation/Trail.d.ts +129 -0
  111. package/dist/navigation/Trail.d.ts.map +1 -0
  112. package/dist/navigation/Trail.js +202 -0
  113. package/dist/navigation/Trail.js.map +1 -0
  114. package/dist/navigation/TrailParser.d.ts +96 -0
  115. package/dist/navigation/TrailParser.d.ts.map +1 -0
  116. package/dist/navigation/TrailParser.js +180 -0
  117. package/dist/navigation/TrailParser.js.map +1 -0
  118. package/dist/navigation/index.d.ts +10 -0
  119. package/dist/navigation/index.d.ts.map +1 -0
  120. package/dist/navigation/index.js +9 -0
  121. package/dist/navigation/index.js.map +1 -0
  122. package/dist/providers/MockProvider.d.ts +29 -0
  123. package/dist/providers/MockProvider.d.ts.map +1 -0
  124. package/dist/providers/MockProvider.js +55 -0
  125. package/dist/providers/MockProvider.js.map +1 -0
  126. package/dist/providers/PostgresProvider.d.ts +46 -0
  127. package/dist/providers/PostgresProvider.d.ts.map +1 -0
  128. package/dist/providers/PostgresProvider.js +152 -0
  129. package/dist/providers/PostgresProvider.js.map +1 -0
  130. package/dist/runtime/CompiledGraphEngine.d.ts +74 -0
  131. package/dist/runtime/CompiledGraphEngine.d.ts.map +1 -0
  132. package/dist/runtime/CompiledGraphEngine.js +211 -0
  133. package/dist/runtime/CompiledGraphEngine.js.map +1 -0
  134. package/dist/runtime/DataLoader.d.ts +90 -0
  135. package/dist/runtime/DataLoader.d.ts.map +1 -0
  136. package/dist/runtime/DataLoader.js +178 -0
  137. package/dist/runtime/DataLoader.js.map +1 -0
  138. package/dist/runtime/Engine.d.ts +36 -0
  139. package/dist/runtime/Engine.d.ts.map +1 -0
  140. package/dist/runtime/Engine.js +128 -0
  141. package/dist/runtime/Engine.js.map +1 -0
  142. package/dist/runtime/QueryEngine.d.ts +80 -0
  143. package/dist/runtime/QueryEngine.d.ts.map +1 -0
  144. package/dist/runtime/QueryEngine.js +188 -0
  145. package/dist/runtime/QueryEngine.js.map +1 -0
  146. package/dist/scenarios/test-metro-paris/config.json +6 -0
  147. package/dist/scenarios/test-metro-paris/graph.json +16325 -0
  148. package/dist/scenarios/test-metro-paris/queries.d.ts +22 -0
  149. package/dist/scenarios/test-metro-paris/queries.d.ts.map +1 -0
  150. package/dist/scenarios/test-metro-paris/queries.js +128 -0
  151. package/dist/scenarios/test-metro-paris/queries.js.map +1 -0
  152. package/dist/scenarios/test-metro-paris/stack.json +1 -0
  153. package/dist/scenarios/test-musicians/config.json +10 -0
  154. package/dist/scenarios/test-musicians/graph.json +20 -0
  155. package/dist/scenarios/test-musicians/stack.json +1 -0
  156. package/dist/scenarios/test-netflix/actions.d.ts +14 -0
  157. package/dist/scenarios/test-netflix/actions.d.ts.map +1 -0
  158. package/dist/scenarios/test-netflix/actions.js +86 -0
  159. package/dist/scenarios/test-netflix/actions.js.map +1 -0
  160. package/dist/scenarios/test-netflix/config.json +6 -0
  161. package/dist/scenarios/test-netflix/data/categories.json +1 -0
  162. package/dist/scenarios/test-netflix/data/companies.json +1 -0
  163. package/dist/scenarios/test-netflix/data/credits.json +19797 -0
  164. package/dist/scenarios/test-netflix/data/departments.json +18 -0
  165. package/dist/scenarios/test-netflix/data/jobs.json +142 -0
  166. package/dist/scenarios/test-netflix/data/movies.json +3497 -0
  167. package/dist/scenarios/test-netflix/data/people.json +1 -0
  168. package/dist/scenarios/test-netflix/data/synonyms.json +7 -0
  169. package/dist/scenarios/test-netflix/data/users.json +70 -0
  170. package/dist/scenarios/test-netflix/graph.json +1017 -0
  171. package/dist/scenarios/test-netflix/queries.d.ts +29 -0
  172. package/dist/scenarios/test-netflix/queries.d.ts.map +1 -0
  173. package/dist/scenarios/test-netflix/queries.js +134 -0
  174. package/dist/scenarios/test-netflix/queries.js.map +1 -0
  175. package/dist/scenarios/test-netflix/stack.json +14 -0
  176. package/dist/schema/GraphBuilder.d.ts +9 -0
  177. package/dist/schema/GraphBuilder.d.ts.map +1 -0
  178. package/dist/schema/GraphBuilder.js +90 -0
  179. package/dist/schema/GraphBuilder.js.map +1 -0
  180. package/dist/schema/JsonSchemaExtractor.d.ts +21 -0
  181. package/dist/schema/JsonSchemaExtractor.d.ts.map +1 -0
  182. package/dist/schema/JsonSchemaExtractor.js +88 -0
  183. package/dist/schema/JsonSchemaExtractor.js.map +1 -0
  184. package/dist/schema/SchemaAnalyzer.d.ts +41 -0
  185. package/dist/schema/SchemaAnalyzer.d.ts.map +1 -0
  186. package/dist/schema/SchemaAnalyzer.js +144 -0
  187. package/dist/schema/SchemaAnalyzer.js.map +1 -0
  188. package/dist/schema/SchemaExtractor.d.ts +10 -0
  189. package/dist/schema/SchemaExtractor.d.ts.map +1 -0
  190. package/dist/schema/SchemaExtractor.js +90 -0
  191. package/dist/schema/SchemaExtractor.js.map +1 -0
  192. package/dist/schema/SynonymResolver.d.ts +55 -0
  193. package/dist/schema/SynonymResolver.d.ts.map +1 -0
  194. package/dist/schema/SynonymResolver.js +121 -0
  195. package/dist/schema/SynonymResolver.js.map +1 -0
  196. package/dist/scripts/dictionary.json +796 -0
  197. package/dist/scripts/graph.json +664 -0
  198. package/dist/scripts/regenerate.d.ts +23 -0
  199. package/dist/scripts/regenerate.d.ts.map +1 -0
  200. package/dist/scripts/regenerate.js +206 -0
  201. package/dist/scripts/regenerate.js.map +1 -0
  202. package/dist/types/index.d.ts +394 -0
  203. package/dist/types/index.d.ts.map +1 -0
  204. package/dist/types/index.js +21 -0
  205. package/dist/types/index.js.map +1 -0
  206. package/package.json +1 -1
@@ -0,0 +1,206 @@
1
+ /**
2
+ * regenerate.ts — Script de régénération des graphes compilés
3
+ *
4
+ * Usage :
5
+ * npx tsx regenerate.ts netflix
6
+ * npx tsx regenerate.ts dvdrental --pg host=localhost user=postgres password=secret
7
+ * npx tsx regenerate.ts all
8
+ *
9
+ * Régénère compiled-graph.json pour chaque scénario.
10
+ * Bumpe automatiquement la version dans le fichier produit.
11
+ *
12
+ * Versioning :
13
+ * - Graphes générés (netflix, dvdrental) : version dans compiled-graph.json
14
+ * format : MAJOR.MINOR.PATCH ex: 2.0.0
15
+ * MAJOR = version du GraphCompiler (structure breaking)
16
+ * MINOR = changement de schéma (nouvelles tables/relations)
17
+ * PATCH = recompilation (nouveaux poids, métriques)
18
+ *
19
+ * - Graphes manuels (metro, musicians) : version dans raw-graph.json + compiled
20
+ * Patch manuel dans raw-graph.json, puis npx tsx regenerate.ts metro
21
+ */
22
+ import * as fs from 'fs';
23
+ import * as path from 'path';
24
+ import { fileURLToPath } from 'url';
25
+ import { dirname } from 'path';
26
+ import { JsonSchemaExtractor } from '../schema/JsonSchemaExtractor.js';
27
+ import { SchemaAnalyzer } from '../schema/SchemaAnalyzer.js';
28
+ import { GraphBuilder } from '../schema/GraphBuilder.js';
29
+ import { GraphAssembler } from '../graph/GraphAssembler.js';
30
+ import { GraphCompiler } from '../graph/GraphCompiler.js';
31
+ import { PathFinder } from '../core/PathFinder.js';
32
+ const __filename = fileURLToPath(import.meta.url);
33
+ const __dirname = dirname(__filename);
34
+ const ROOT = path.join(__dirname, '..', 'examples');
35
+ const CONFIG_DIR = path.join(__dirname, '..', '..', 'config');
36
+ // ── Helpers ───────────────────────────────────────────────────────────────────
37
+ function save(filepath, data) {
38
+ fs.writeFileSync(filepath, JSON.stringify(data, null, 2));
39
+ const kb = (fs.statSync(filepath).size / 1024).toFixed(1);
40
+ console.log(` 💾 ${path.basename(filepath).padEnd(25)} ${kb} KB`);
41
+ }
42
+ function bumpPatch(current) {
43
+ const parts = current.split('.').map(Number);
44
+ if (parts.length !== 3 || parts.some(isNaN))
45
+ return '2.0.0';
46
+ parts[2]++;
47
+ return parts.join('.');
48
+ }
49
+ function readCurrentVersion(compiledPath) {
50
+ try {
51
+ const c = JSON.parse(fs.readFileSync(compiledPath, 'utf-8'));
52
+ return c.version ?? '2.0.0';
53
+ }
54
+ catch {
55
+ return '2.0.0';
56
+ }
57
+ }
58
+ // ── Entraînement local (sans provider externe) ────────────────────────────────
59
+ function trainLocal(graph, useCases) {
60
+ const metrics = new Map();
61
+ const finder = new PathFinder(graph);
62
+ for (const uc of useCases) {
63
+ const paths = finder.findAllPaths(uc.from, uc.to);
64
+ for (const p of paths) {
65
+ metrics.set(p.join('→'), {
66
+ path: p,
67
+ executions: 10,
68
+ successes: 10,
69
+ totalTime: 100,
70
+ avgTime: 10,
71
+ minTime: 8,
72
+ maxTime: 12,
73
+ used: true,
74
+ failed: false
75
+ });
76
+ }
77
+ }
78
+ return metrics;
79
+ }
80
+ // ── Pipeline JSON (netflix, cinema, etc.) ─────────────────────────────────────
81
+ async function regenerateFromJSON(scenario) {
82
+ const dir = path.join(ROOT, scenario);
83
+ const dataDir = path.join(dir, 'data');
84
+ const compiledOut = path.join(dir, 'compiled-graph.json');
85
+ if (!fs.existsSync(dataDir)) {
86
+ console.error(` ❌ data/ not found: ${dataDir}`);
87
+ return;
88
+ }
89
+ console.log(`\n🔄 ${scenario} — pipeline JSON`);
90
+ console.log('─'.repeat(50));
91
+ // Step 1 : Extraction
92
+ const extractor = new JsonSchemaExtractor(dataDir);
93
+ const techSchema = await extractor.extract();
94
+ save(path.join(dir, 'schema.json'), techSchema);
95
+ // Step 2 : Analyse
96
+ const analyzer = new SchemaAnalyzer(CONFIG_DIR, dataDir);
97
+ const analyzedSchema = analyzer.analyze(techSchema);
98
+ save(path.join(dir, 'analyzed-schema.json'), analyzedSchema);
99
+ // Step 3 : Dictionnaire
100
+ const builder = new GraphBuilder();
101
+ const dictionary = builder.build(analyzedSchema, dataDir);
102
+ save(path.join(dir, 'dictionary.json'), dictionary);
103
+ // Step 4 : Graphe brut
104
+ const assembler = new GraphAssembler();
105
+ const rawGraph = assembler.assemble(dictionary);
106
+ save(path.join(dir, 'raw-graph.json'), rawGraph);
107
+ console.log(` 📊 ${rawGraph.nodes.length} nœuds · ${rawGraph.edges.length} arêtes`);
108
+ // Step 5 : Use cases (lire depuis use-cases.json si présent, sinon défaut)
109
+ const ucFile = path.join(dir, 'use-cases.json');
110
+ const useCases = fs.existsSync(ucFile)
111
+ ? JSON.parse(fs.readFileSync(ucFile, 'utf-8'))
112
+ : buildDefaultUseCases(rawGraph);
113
+ const metrics = trainLocal(rawGraph, useCases);
114
+ save(path.join(dir, 'metrics.json'), Object.fromEntries(metrics));
115
+ // Step 6 : Compilation
116
+ const prevVersion = readCurrentVersion(compiledOut);
117
+ const newVersion = bumpPatch(prevVersion);
118
+ const compiler = new GraphCompiler({ weightThreshold: 1000, keepFallbacks: true });
119
+ const compiledGraph = compiler.compile(rawGraph, metrics);
120
+ compiledGraph.version = newVersion;
121
+ compiledGraph.scenario = scenario;
122
+ save(compiledOut, compiledGraph);
123
+ const stats = GraphCompiler.getStats(compiledGraph);
124
+ console.log(`\n ✅ ${stats.totalRoutes} routes (${stats.physical} physical · ${stats.semantic} semantic)`);
125
+ console.log(` 📌 version: ${prevVersion} → ${newVersion}`);
126
+ }
127
+ // ── Pipeline manuel (metro, musicians) ───────────────────────────────────────
128
+ // raw-graph.json édité à la main → on recompile seulement
129
+ async function recompileManual(scenario) {
130
+ const dir = path.join(ROOT, scenario);
131
+ const rawPath = path.join(dir, 'raw-graph.json');
132
+ const compiledOut = path.join(dir, 'compiled-graph.json');
133
+ if (!fs.existsSync(rawPath)) {
134
+ console.error(` ❌ raw-graph.json not found: ${rawPath}`);
135
+ return;
136
+ }
137
+ console.log(`\n🔄 ${scenario} — recompile manual graph`);
138
+ console.log('─'.repeat(50));
139
+ const rawGraph = JSON.parse(fs.readFileSync(rawPath, 'utf-8'));
140
+ const ucFile = path.join(dir, 'use-cases.json');
141
+ const useCases = fs.existsSync(ucFile)
142
+ ? JSON.parse(fs.readFileSync(ucFile, 'utf-8'))
143
+ : buildDefaultUseCases(rawGraph);
144
+ const metrics = trainLocal(rawGraph, useCases);
145
+ const prevVersion = readCurrentVersion(compiledOut);
146
+ const newVersion = bumpPatch(prevVersion);
147
+ const compiler = new GraphCompiler({ weightThreshold: 1000, keepFallbacks: true });
148
+ const compiledGraph = compiler.compile(rawGraph, metrics);
149
+ compiledGraph.version = newVersion;
150
+ compiledGraph.scenario = scenario;
151
+ save(compiledOut, compiledGraph);
152
+ const stats = GraphCompiler.getStats(compiledGraph);
153
+ console.log(` ✅ ${stats.totalRoutes} routes (${stats.physical} physical · ${stats.semantic} semantic)`);
154
+ console.log(` 📌 version: ${prevVersion} → ${newVersion}`);
155
+ }
156
+ // ── Déterminer le type de scénario ────────────────────────────────────────────
157
+ function scenarioType(scenario) {
158
+ const dir = path.join(ROOT, scenario);
159
+ if (fs.existsSync(path.join(dir, 'data')))
160
+ return 'json';
161
+ if (fs.existsSync(path.join(dir, 'raw-graph.json')))
162
+ return 'manual';
163
+ return 'unknown';
164
+ }
165
+ function buildDefaultUseCases(graph) {
166
+ // Générer des use cases par défaut depuis les nœuds du graphe
167
+ const nodes = graph.nodes.map((n) => n.id);
168
+ const cases = [];
169
+ for (let i = 0; i < Math.min(nodes.length, 4); i++) {
170
+ for (let j = 0; j < Math.min(nodes.length, 4); j++) {
171
+ if (i !== j)
172
+ cases.push({ from: nodes[i], to: nodes[j], description: `${nodes[i]}→${nodes[j]}` });
173
+ }
174
+ }
175
+ return cases;
176
+ }
177
+ // ── Main ──────────────────────────────────────────────────────────────────────
178
+ async function main() {
179
+ const args = process.argv.slice(2);
180
+ const scenarios = args[0] === 'all'
181
+ ? fs.readdirSync(ROOT).filter(d => fs.statSync(path.join(ROOT, d)).isDirectory())
182
+ : args.filter(a => !a.startsWith('--'));
183
+ if (!scenarios.length) {
184
+ console.log('Usage: npx tsx regenerate.ts <scenario|all> [--pg ...]');
185
+ console.log('Examples:');
186
+ console.log(' npx tsx regenerate.ts netflix');
187
+ console.log(' npx tsx regenerate.ts metro musicians');
188
+ console.log(' npx tsx regenerate.ts all');
189
+ process.exit(0);
190
+ }
191
+ for (const scenario of scenarios) {
192
+ const type = scenarioType(scenario);
193
+ if (type === 'json')
194
+ await regenerateFromJSON(scenario);
195
+ else if (type === 'manual')
196
+ await recompileManual(scenario);
197
+ else
198
+ console.warn(` ⚠️ ${scenario}: unknown scenario type (no data/ nor raw-graph.json)`);
199
+ }
200
+ console.log('\n✅ Done\n');
201
+ }
202
+ main().catch(err => {
203
+ console.error('❌', err);
204
+ process.exit(1);
205
+ });
206
+ //# sourceMappingURL=regenerate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"regenerate.js","sourceRoot":"","sources":["../../src/scripts/regenerate.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,394 @@
1
+ /**
2
+ * LinkLab Core Types
3
+ * * Base type definitions for the entire system
4
+ */
5
+ export type NodeType = 'table' | 'view' | 'entity' | 'action';
6
+ export interface Column {
7
+ name: string;
8
+ type: string;
9
+ nullable?: boolean;
10
+ primaryKey?: boolean;
11
+ foreignKey?: boolean;
12
+ defaultValue?: any;
13
+ description?: string;
14
+ }
15
+ export interface GraphNode {
16
+ id: string;
17
+ type: string;
18
+ name?: string;
19
+ exposed?: boolean;
20
+ [key: string]: any;
21
+ }
22
+ export interface GraphEdge {
23
+ from: string;
24
+ to: string;
25
+ weight: number;
26
+ name?: string;
27
+ via?: string;
28
+ fromCol?: string;
29
+ toCol?: string;
30
+ metadata?: {
31
+ condition?: string | Record<string, any>;
32
+ semanticType?: string;
33
+ [key: string]: any;
34
+ };
35
+ }
36
+ export interface Graph {
37
+ nodes: GraphNode[];
38
+ edges: GraphEdge[];
39
+ }
40
+ export interface RouteStep {
41
+ fromCol: string;
42
+ toCol: string;
43
+ }
44
+ export interface RouteInfo {
45
+ from: string;
46
+ to: string;
47
+ primary: {
48
+ path: string[];
49
+ edges: RouteStep[];
50
+ weight: number;
51
+ joins: number;
52
+ avgTime: number;
53
+ };
54
+ fallbacks: Array<{
55
+ path: string[];
56
+ edges: RouteStep[];
57
+ weight: number;
58
+ joins: number;
59
+ avgTime: number;
60
+ }>;
61
+ alternativesDiscarded: number;
62
+ }
63
+ export interface GraphMetadata {
64
+ version?: string;
65
+ generatedAt?: string;
66
+ database?: DatabaseInfo;
67
+ [key: string]: any;
68
+ }
69
+ export interface DatabaseInfo {
70
+ name: string;
71
+ type: 'postgresql' | 'mysql' | 'sqlite' | 'mongodb';
72
+ version?: string;
73
+ }
74
+ export interface ActionDefinition {
75
+ id: string;
76
+ description?: string;
77
+ requiredParams: Column[];
78
+ provides?: string[];
79
+ handler: (context: any) => Promise<any>;
80
+ }
81
+ export interface ActionRegistry {
82
+ register(action: ActionDefinition): void;
83
+ get(id: string): ActionDefinition | undefined;
84
+ getAll(): ActionDefinition[];
85
+ }
86
+ export interface ContextLayer {
87
+ nodeId: string;
88
+ timestamp: number;
89
+ data: Record<string, any>;
90
+ type: 'navigation' | 'action' | 'system';
91
+ }
92
+ export interface EngineConfig {
93
+ cache?: CacheConfig;
94
+ debug?: boolean;
95
+ onResolveContext?: (currentContext: any) => Awaitable<any>;
96
+ onValidatePath?: (node: GraphNode, context: any) => Awaitable<boolean>;
97
+ }
98
+ export type Path = string[];
99
+ export interface PathDetails {
100
+ path: Path;
101
+ length: number;
102
+ joins: number;
103
+ weight: number;
104
+ edges: GraphEdge[];
105
+ indirect?: boolean;
106
+ }
107
+ export interface PathMetrics {
108
+ path: Path;
109
+ weight: number;
110
+ joins: number;
111
+ avgTime?: number;
112
+ executions?: number;
113
+ minTime?: number;
114
+ maxTime?: number;
115
+ }
116
+ export type MetricsMap = Map<string, TrainingMetrics>;
117
+ export interface ProviderConfig {
118
+ host?: string;
119
+ port?: number;
120
+ database: string;
121
+ user?: string;
122
+ password?: string;
123
+ connectionString?: string;
124
+ mock?: boolean;
125
+ [key: string]: any;
126
+ }
127
+ export interface Provider {
128
+ query<T = any>(sql: string, params?: any[]): Promise<T[]>;
129
+ close(): Promise<void>;
130
+ }
131
+ export interface CompiledGraph {
132
+ version: string;
133
+ compiledAt: string;
134
+ config: CompilerConfig;
135
+ nodes: GraphNode[];
136
+ routes: RouteInfo[];
137
+ stats: CompilationStats;
138
+ }
139
+ export interface CompilerConfig {
140
+ weightThreshold: number;
141
+ minUsage?: number;
142
+ keepFallbacks: boolean;
143
+ maxFallbacks: number;
144
+ expose?: ExposeConfig;
145
+ }
146
+ export interface CompilationStats {
147
+ totalPairs: number;
148
+ routesCompiled: number;
149
+ routesFiltered: number;
150
+ compressionRatio: string;
151
+ }
152
+ export interface UseCase {
153
+ description: string;
154
+ from: string;
155
+ to: string;
156
+ sampleData?: Record<string, any>;
157
+ expectedPath?: Path;
158
+ }
159
+ export interface TrainingMetrics {
160
+ path: Path;
161
+ executions: number;
162
+ successes?: number;
163
+ failures?: number;
164
+ totalTime: number;
165
+ avgTime: number;
166
+ minTime: number;
167
+ maxTime: number;
168
+ used: boolean;
169
+ failed?: boolean;
170
+ error?: string;
171
+ }
172
+ export interface CacheConfig {
173
+ maxSize?: number;
174
+ ttl?: number;
175
+ }
176
+ export type Awaitable<T> = T | Promise<T>;
177
+ export type ExposeConfig = 'all' | 'none' | {
178
+ include: string[];
179
+ } | {
180
+ exclude: string[];
181
+ };
182
+ export declare class LinkLabError extends Error {
183
+ code: string;
184
+ details?: any | undefined;
185
+ constructor(message: string, code: string, details?: any | undefined);
186
+ }
187
+ export declare class ProviderError extends LinkLabError {
188
+ constructor(message: string, details?: any);
189
+ }
190
+ export interface TechProperty {
191
+ name: string;
192
+ type: string;
193
+ isPK: boolean;
194
+ isFK: boolean;
195
+ references?: {
196
+ table: string;
197
+ column: string;
198
+ };
199
+ isIndexed: boolean;
200
+ }
201
+ export interface TechEntity {
202
+ name: string;
203
+ properties: TechProperty[];
204
+ rowCount: number;
205
+ }
206
+ export interface TechnicalSchema {
207
+ source: {
208
+ type: string;
209
+ name: string;
210
+ generatedAt: string;
211
+ };
212
+ entities: TechEntity[];
213
+ }
214
+ export interface AnalysisAdvice {
215
+ type: 'PERFORMANCE' | 'STRUCTURE' | 'VIRTUAL_RELATION';
216
+ level: 'INFO' | 'WARNING' | 'CRITICAL';
217
+ message: string;
218
+ target: string;
219
+ action?: string;
220
+ }
221
+ export interface ImplicitRelation {
222
+ fromTable: string;
223
+ column: string;
224
+ guessedTable: string;
225
+ }
226
+ export interface AnalyzedSchema extends TechnicalSchema {
227
+ advices: AnalysisAdvice[];
228
+ weights: Record<string, number>;
229
+ implicitRelations: ImplicitRelation[];
230
+ }
231
+ export interface Dictionary {
232
+ tables: Table[];
233
+ relations: Relation[];
234
+ }
235
+ export interface Table {
236
+ name: string;
237
+ columns: string[];
238
+ rowCount: number;
239
+ }
240
+ export interface Relation {
241
+ from: string;
242
+ to: string;
243
+ via: string;
244
+ type: 'physical' | 'physical_reverse' | 'semantic_view' | 'virtual';
245
+ weight: number;
246
+ label: string;
247
+ condition?: {
248
+ [column: string]: any;
249
+ };
250
+ metadataField?: string;
251
+ }
252
+ /**
253
+ * Schema definitions for physical data discovery
254
+ */
255
+ export interface ColumnSchema {
256
+ name: string;
257
+ type: 'string' | 'number' | 'boolean' | 'date' | 'object' | 'array';
258
+ isNullable?: boolean;
259
+ isPrimaryKey?: boolean;
260
+ isForeignKey?: boolean;
261
+ references?: {
262
+ table: string;
263
+ column: string;
264
+ };
265
+ }
266
+ export interface TableSchema {
267
+ name: string;
268
+ columns: ColumnSchema[];
269
+ rowCount?: number;
270
+ fileSize?: number;
271
+ filePath?: string;
272
+ }
273
+ export interface DatabaseSchema {
274
+ tables: TableSchema[];
275
+ relationships: SchemaRelationship[];
276
+ }
277
+ export interface SchemaRelationship {
278
+ fromTable: string;
279
+ fromColumn: string;
280
+ toTable: string;
281
+ toColumn: string;
282
+ type: 'one-to-one' | 'one-to-many' | 'many-to-many';
283
+ }
284
+ export type EngineMode = 'PATHFIND' | 'NAVIGATE' | 'SCHEDULE';
285
+ /**
286
+ * Frame : unité de navigation sur la stack.
287
+ * Représente un pointeur sémantique vers une entité,
288
+ * avec son état de résolution.
289
+ */
290
+ export interface Frame {
291
+ entity: string;
292
+ id?: any;
293
+ state?: 'RESOLVED' | 'UNRESOLVED' | 'DEFERRED';
294
+ purpose?: string;
295
+ intent?: Record<string, any>;
296
+ data?: any;
297
+ resolvedBy?: {
298
+ relation: string;
299
+ via: string;
300
+ filters?: FrameFilter[];
301
+ };
302
+ }
303
+ export interface FrameFilter {
304
+ field: string;
305
+ operator: 'equals' | 'contains' | 'gt' | 'lt' | 'exists';
306
+ value: any;
307
+ }
308
+ /**
309
+ * PathQuery : paramètres pour le mode PATHFIND
310
+ */
311
+ export interface PathQuery {
312
+ from: string;
313
+ to: string;
314
+ maxPaths?: number;
315
+ minHops?: number;
316
+ maxHops?: number;
317
+ transferPenalty?: number;
318
+ via?: string[];
319
+ preferences?: {
320
+ minimizeTransfers?: boolean;
321
+ avoidEdges?: string[];
322
+ [key: string]: any;
323
+ };
324
+ }
325
+ /**
326
+ * ScheduleAction : action pour le mode SCHEDULE.
327
+ * Différenciée de ActionDefinition (infrastructure) pour éviter
328
+ * tout conflit avec le registre d'actions techniques de V3.
329
+ */
330
+ export interface ScheduleAction {
331
+ name: string;
332
+ weight: number;
333
+ when?: (stack: Frame[]) => boolean;
334
+ execute: (stack: Frame[], graph: Graph) => Promise<Frame[]>;
335
+ cooldown?: number;
336
+ maxExecutions?: number;
337
+ terminal?: boolean;
338
+ onUse?: (stack: Frame[], result: NavigationResult) => void;
339
+ }
340
+ export interface ActionState {
341
+ cooldownUntil: number;
342
+ executionCount: number;
343
+ executed?: boolean;
344
+ lastResult?: NavigationResult;
345
+ }
346
+ /**
347
+ * Config du NavigationEngine
348
+ */
349
+ export interface NavigationEngineConfig {
350
+ mode: EngineMode;
351
+ graph: Graph;
352
+ trail?: import('../navigation/Trail.js').Trail;
353
+ initialStack?: Frame[];
354
+ actions?: ScheduleAction[];
355
+ pathQuery?: PathQuery;
356
+ }
357
+ /**
358
+ * Résultat d'un step d'exécution
359
+ */
360
+ export interface EngineStepResult {
361
+ time: number;
362
+ mode: EngineMode;
363
+ phase?: 'RESOLVE' | 'EXECUTE' | 'COMPLETE';
364
+ selectedAction?: string;
365
+ resolvedCount?: number;
366
+ unresolvedCount?: number;
367
+ path?: NavigationPath;
368
+ result?: NavigationResult;
369
+ }
370
+ /**
371
+ * Chemin trouvé par PATHFIND — riche en métadonnées
372
+ * pour les formatters (ligne, direction, correspondance)
373
+ */
374
+ export interface NavigationPath {
375
+ nodes: string[];
376
+ edges: GraphEdge[];
377
+ totalWeight: number;
378
+ }
379
+ export interface NavigationResult {
380
+ type: 'SUCCESS' | 'FAIL' | 'DEFER';
381
+ reason?: string;
382
+ data?: any;
383
+ }
384
+ export interface CacheStats {
385
+ entries: number;
386
+ size: number;
387
+ sizeFormatted: string;
388
+ maxSize: number;
389
+ usage: string;
390
+ hits: number;
391
+ misses: number;
392
+ hitRate: string;
393
+ }
394
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * LinkLab Core Types
3
+ * * Base type definitions for the entire system
4
+ */
5
+ export class LinkLabError extends Error {
6
+ code;
7
+ details;
8
+ constructor(message, code, details) {
9
+ super(message);
10
+ this.code = code;
11
+ this.details = details;
12
+ this.name = 'LinkLabError';
13
+ }
14
+ }
15
+ export class ProviderError extends LinkLabError {
16
+ constructor(message, details) {
17
+ super(message, 'PROVIDER_ERROR', details);
18
+ this.name = 'ProviderError';
19
+ }
20
+ }
21
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAgPH,MAAM,OAAO,YAAa,SAAQ,KAAK;IAG5B;IACA;IAHT,YACE,OAAe,EACR,IAAY,EACZ,OAAa;QAEpB,KAAK,CAAC,OAAO,CAAC,CAAA;QAHP,SAAI,GAAJ,IAAI,CAAQ;QACZ,YAAO,GAAP,OAAO,CAAM;QAGpB,IAAI,CAAC,IAAI,GAAG,cAAc,CAAA;IAC5B,CAAC;CACF;AAED,MAAM,OAAO,aAAc,SAAQ,YAAY;IAC7C,YAAY,OAAe,EAAE,OAAa;QACxC,KAAK,CAAC,OAAO,EAAE,gBAAgB,EAAE,OAAO,CAAC,CAAA;QACzC,IAAI,CAAC,IAAI,GAAG,eAAe,CAAA;IAC7B,CAAC;CACF"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@linklabjs/core",
3
- "version": "0.1.0",
3
+ "version": "0.1.1",
4
4
  "type": "module",
5
5
  "description": "LinkLab core — semantic navigation graph engine",
6
6
  "author": "Charley Simon",