@nahisaho/musubix-lean 1.8.5

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 (89) hide show
  1. package/dist/converters/EarsToLeanConverter.d.ts +61 -0
  2. package/dist/converters/EarsToLeanConverter.d.ts.map +1 -0
  3. package/dist/converters/EarsToLeanConverter.js +300 -0
  4. package/dist/converters/EarsToLeanConverter.js.map +1 -0
  5. package/dist/converters/TypeScriptSpecifier.d.ts +63 -0
  6. package/dist/converters/TypeScriptSpecifier.d.ts.map +1 -0
  7. package/dist/converters/TypeScriptSpecifier.js +307 -0
  8. package/dist/converters/TypeScriptSpecifier.js.map +1 -0
  9. package/dist/converters/index.d.ts +7 -0
  10. package/dist/converters/index.d.ts.map +1 -0
  11. package/dist/converters/index.js +7 -0
  12. package/dist/converters/index.js.map +1 -0
  13. package/dist/environment/LeanEnvironmentDetector.d.ts +57 -0
  14. package/dist/environment/LeanEnvironmentDetector.d.ts.map +1 -0
  15. package/dist/environment/LeanEnvironmentDetector.js +221 -0
  16. package/dist/environment/LeanEnvironmentDetector.js.map +1 -0
  17. package/dist/environment/LeanProjectInitializer.d.ts +49 -0
  18. package/dist/environment/LeanProjectInitializer.d.ts.map +1 -0
  19. package/dist/environment/LeanProjectInitializer.js +232 -0
  20. package/dist/environment/LeanProjectInitializer.js.map +1 -0
  21. package/dist/environment/index.d.ts +7 -0
  22. package/dist/environment/index.d.ts.map +1 -0
  23. package/dist/environment/index.js +7 -0
  24. package/dist/environment/index.js.map +1 -0
  25. package/dist/errors.d.ts +141 -0
  26. package/dist/errors.d.ts.map +1 -0
  27. package/dist/errors.js +254 -0
  28. package/dist/errors.js.map +1 -0
  29. package/dist/hybrid/HybridVerifier.d.ts +113 -0
  30. package/dist/hybrid/HybridVerifier.d.ts.map +1 -0
  31. package/dist/hybrid/HybridVerifier.js +247 -0
  32. package/dist/hybrid/HybridVerifier.js.map +1 -0
  33. package/dist/hybrid/index.d.ts +6 -0
  34. package/dist/hybrid/index.d.ts.map +1 -0
  35. package/dist/hybrid/index.js +6 -0
  36. package/dist/hybrid/index.js.map +1 -0
  37. package/dist/index.d.ts +21 -0
  38. package/dist/index.d.ts.map +1 -0
  39. package/dist/index.js +50 -0
  40. package/dist/index.js.map +1 -0
  41. package/dist/infrastructure/LeanFileGenerator.d.ts +70 -0
  42. package/dist/infrastructure/LeanFileGenerator.d.ts.map +1 -0
  43. package/dist/infrastructure/LeanFileGenerator.js +253 -0
  44. package/dist/infrastructure/LeanFileGenerator.js.map +1 -0
  45. package/dist/infrastructure/LeanRunner.d.ts +93 -0
  46. package/dist/infrastructure/LeanRunner.d.ts.map +1 -0
  47. package/dist/infrastructure/LeanRunner.js +296 -0
  48. package/dist/infrastructure/LeanRunner.js.map +1 -0
  49. package/dist/infrastructure/index.d.ts +7 -0
  50. package/dist/infrastructure/index.d.ts.map +1 -0
  51. package/dist/infrastructure/index.js +7 -0
  52. package/dist/infrastructure/index.js.map +1 -0
  53. package/dist/integration/LeanIntegration.d.ts +138 -0
  54. package/dist/integration/LeanIntegration.d.ts.map +1 -0
  55. package/dist/integration/LeanIntegration.js +352 -0
  56. package/dist/integration/LeanIntegration.js.map +1 -0
  57. package/dist/proof/ProofGenerator.d.ts +53 -0
  58. package/dist/proof/ProofGenerator.d.ts.map +1 -0
  59. package/dist/proof/ProofGenerator.js +324 -0
  60. package/dist/proof/ProofGenerator.js.map +1 -0
  61. package/dist/proof/ReProverClient.d.ts +58 -0
  62. package/dist/proof/ReProverClient.d.ts.map +1 -0
  63. package/dist/proof/ReProverClient.js +260 -0
  64. package/dist/proof/ReProverClient.js.map +1 -0
  65. package/dist/proof/index.d.ts +7 -0
  66. package/dist/proof/index.d.ts.map +1 -0
  67. package/dist/proof/index.js +7 -0
  68. package/dist/proof/index.js.map +1 -0
  69. package/dist/reporting/VerificationReporter.d.ts +89 -0
  70. package/dist/reporting/VerificationReporter.d.ts.map +1 -0
  71. package/dist/reporting/VerificationReporter.js +296 -0
  72. package/dist/reporting/VerificationReporter.js.map +1 -0
  73. package/dist/reporting/index.d.ts +6 -0
  74. package/dist/reporting/index.d.ts.map +1 -0
  75. package/dist/reporting/index.js +6 -0
  76. package/dist/reporting/index.js.map +1 -0
  77. package/dist/traceability/TraceabilityManager.d.ts +104 -0
  78. package/dist/traceability/TraceabilityManager.d.ts.map +1 -0
  79. package/dist/traceability/TraceabilityManager.js +299 -0
  80. package/dist/traceability/TraceabilityManager.js.map +1 -0
  81. package/dist/traceability/index.d.ts +6 -0
  82. package/dist/traceability/index.d.ts.map +1 -0
  83. package/dist/traceability/index.js +6 -0
  84. package/dist/traceability/index.js.map +1 -0
  85. package/dist/types.d.ts +466 -0
  86. package/dist/types.d.ts.map +1 -0
  87. package/dist/types.js +17 -0
  88. package/dist/types.js.map +1 -0
  89. package/package.json +78 -0
@@ -0,0 +1,299 @@
1
+ /**
2
+ * @fileoverview Traceability manager for requirement-to-proof mapping
3
+ * @module @nahisaho/musubix-lean/traceability
4
+ * @traceability REQ-LEAN-TRACE-001 to REQ-LEAN-TRACE-003
5
+ */
6
+ /**
7
+ * Manages requirement-to-proof traceability
8
+ * @traceability REQ-LEAN-TRACE-001
9
+ */
10
+ export class TraceabilityManager {
11
+ links = new Map();
12
+ artifacts = new Map();
13
+ linkCounter = 0;
14
+ /**
15
+ * Register an artifact (requirement, theorem, proof, code)
16
+ */
17
+ registerArtifact(artifact) {
18
+ const id = artifact.artifactId || this.generateArtifactId(artifact.type);
19
+ const fullArtifact = {
20
+ id,
21
+ type: artifact.type,
22
+ content: artifact.content,
23
+ name: artifact.name,
24
+ version: artifact.version,
25
+ metadata: artifact.metadata,
26
+ };
27
+ this.artifacts.set(id, fullArtifact);
28
+ return fullArtifact;
29
+ }
30
+ /**
31
+ * Create a traceability link between artifacts
32
+ * @traceability REQ-LEAN-TRACE-002
33
+ */
34
+ createLink(sourceId, targetId, type, confidence = 1.0, metadata) {
35
+ const id = this.generateLinkId();
36
+ const link = {
37
+ id,
38
+ source: sourceId,
39
+ target: targetId,
40
+ type,
41
+ confidence,
42
+ metadata: metadata || {},
43
+ createdAt: new Date().toISOString(),
44
+ };
45
+ this.links.set(id, link);
46
+ return link;
47
+ }
48
+ /**
49
+ * Link a theorem to its requirement
50
+ */
51
+ linkTheoremToRequirement(theorem) {
52
+ // Register theorem as artifact
53
+ this.registerArtifact({
54
+ type: 'theorem',
55
+ artifactId: theorem.id,
56
+ name: theorem.name,
57
+ content: theorem.statement,
58
+ metadata: {
59
+ name: theorem.name,
60
+ description: theorem.description,
61
+ },
62
+ });
63
+ return this.createLink(theorem.requirementId, theorem.id, 'requirement_to_theorem', 1.0, {
64
+ theoremName: theorem.name,
65
+ });
66
+ }
67
+ /**
68
+ * Link a proof to its theorem
69
+ */
70
+ linkProofToTheorem(proof, theorem) {
71
+ // Register proof as artifact
72
+ this.registerArtifact({
73
+ type: 'proof',
74
+ artifactId: proof.id,
75
+ name: `proof-${theorem.name}`,
76
+ content: proof.leanCode,
77
+ metadata: {
78
+ theoremId: proof.theoremId,
79
+ tactics: proof.tactics,
80
+ isComplete: proof.isComplete,
81
+ },
82
+ });
83
+ return this.createLink(theorem.id, proof.id, 'theorem_to_proof', proof.isComplete ? 1.0 : 0.5, {
84
+ isComplete: proof.isComplete,
85
+ });
86
+ }
87
+ /**
88
+ * Record verification result in traceability
89
+ */
90
+ recordVerification(result) {
91
+ if (!result.proof)
92
+ return null;
93
+ return this.createLink(result.proof.id, result.theoremId, 'proof_to_verification', 1.0, {
94
+ status: result.status,
95
+ duration: result.duration,
96
+ errors: result.errors,
97
+ });
98
+ }
99
+ /**
100
+ * Get all links for a source artifact
101
+ */
102
+ getLinksFromSource(sourceId) {
103
+ return Array.from(this.links.values()).filter((link) => link.source === sourceId);
104
+ }
105
+ /**
106
+ * Get all links targeting an artifact
107
+ */
108
+ getLinksToTarget(targetId) {
109
+ return Array.from(this.links.values()).filter((link) => link.target === targetId);
110
+ }
111
+ /**
112
+ * Get all links of a specific type
113
+ */
114
+ getLinksByType(type) {
115
+ return Array.from(this.links.values()).filter((link) => link.type === type);
116
+ }
117
+ /**
118
+ * Calculate traceability coverage
119
+ * @traceability REQ-LEAN-TRACE-003
120
+ */
121
+ calculateCoverage(requirementIds) {
122
+ const untraced = [];
123
+ const partiallyTraced = [];
124
+ const fullyTraced = [];
125
+ for (const reqId of requirementIds) {
126
+ const theoremLinks = this.getLinksFromSource(reqId).filter((l) => l.type === 'requirement_to_theorem');
127
+ if (theoremLinks.length === 0) {
128
+ untraced.push(reqId);
129
+ continue;
130
+ }
131
+ // Check if all linked theorems have proofs
132
+ let allProved = true;
133
+ let anyProved = false;
134
+ for (const link of theoremLinks) {
135
+ const proofLinks = this.getLinksFromSource(link.target).filter((l) => l.type === 'theorem_to_proof');
136
+ if (proofLinks.length > 0) {
137
+ const hasCompleteProof = proofLinks.some((pl) => pl.metadata?.isComplete === true);
138
+ if (hasCompleteProof) {
139
+ anyProved = true;
140
+ }
141
+ else {
142
+ allProved = false;
143
+ }
144
+ }
145
+ else {
146
+ allProved = false;
147
+ }
148
+ }
149
+ if (allProved && anyProved) {
150
+ fullyTraced.push(reqId);
151
+ }
152
+ else if (anyProved) {
153
+ partiallyTraced.push(reqId);
154
+ }
155
+ else {
156
+ untraced.push(reqId);
157
+ }
158
+ }
159
+ const coveredCount = fullyTraced.length + partiallyTraced.length;
160
+ const totalCount = requirementIds.length;
161
+ return {
162
+ totalRequirements: totalCount,
163
+ coveredRequirements: coveredCount,
164
+ coveragePercentage: totalCount > 0 ? (coveredCount / totalCount) * 100 : 0,
165
+ untraced,
166
+ partiallyTraced,
167
+ fullyTraced,
168
+ };
169
+ }
170
+ /**
171
+ * Get full traceability chain for a requirement
172
+ */
173
+ getTraceChain(requirementId) {
174
+ const chain = [];
175
+ const visited = new Set();
176
+ const traverse = (artifactId) => {
177
+ if (visited.has(artifactId))
178
+ return;
179
+ visited.add(artifactId);
180
+ const artifact = this.artifacts.get(artifactId);
181
+ if (artifact) {
182
+ chain.push(artifact);
183
+ }
184
+ // Follow outgoing links
185
+ const outLinks = this.getLinksFromSource(artifactId);
186
+ for (const link of outLinks) {
187
+ traverse(link.target);
188
+ }
189
+ };
190
+ traverse(requirementId);
191
+ return chain;
192
+ }
193
+ /**
194
+ * Validate traceability integrity
195
+ */
196
+ validateIntegrity() {
197
+ const errors = [];
198
+ for (const [linkId, link] of this.links) {
199
+ // Check source exists
200
+ if (!this.artifacts.has(link.source)) {
201
+ errors.push(`Link ${linkId}: source artifact "${link.source}" not found`);
202
+ }
203
+ // Check target exists
204
+ if (!this.artifacts.has(link.target)) {
205
+ errors.push(`Link ${linkId}: target artifact "${link.target}" not found`);
206
+ }
207
+ // Check confidence is valid
208
+ if (link.confidence < 0 || link.confidence > 1) {
209
+ errors.push(`Link ${linkId}: invalid confidence ${link.confidence}`);
210
+ }
211
+ }
212
+ return {
213
+ valid: errors.length === 0,
214
+ errors,
215
+ };
216
+ }
217
+ /**
218
+ * Export traceability matrix
219
+ */
220
+ exportMatrix() {
221
+ const matrix = {};
222
+ // Group links by source
223
+ for (const link of this.links.values()) {
224
+ if (!matrix[link.source]) {
225
+ matrix[link.source] = {};
226
+ }
227
+ matrix[link.source][link.target] = `${link.type} (${(link.confidence * 100).toFixed(0)}%)`;
228
+ }
229
+ return matrix;
230
+ }
231
+ /**
232
+ * Export to Markdown format
233
+ */
234
+ exportMarkdown() {
235
+ const lines = [];
236
+ lines.push('# Traceability Matrix');
237
+ lines.push('');
238
+ // Coverage summary
239
+ const reqLinks = this.getLinksByType('requirement_to_theorem');
240
+ const requirements = [...new Set(reqLinks.map((l) => l.source))];
241
+ const coverage = this.calculateCoverage(requirements);
242
+ lines.push('## Coverage Summary');
243
+ lines.push('');
244
+ lines.push(`- **Total Requirements**: ${coverage.totalRequirements}`);
245
+ lines.push(`- **Covered Requirements**: ${coverage.coveredRequirements}`);
246
+ lines.push(`- **Coverage**: ${coverage.coveragePercentage.toFixed(1)}%`);
247
+ lines.push('');
248
+ // Links table
249
+ lines.push('## Traceability Links');
250
+ lines.push('');
251
+ lines.push('| Source | Target | Type | Confidence |');
252
+ lines.push('|--------|--------|------|------------|');
253
+ for (const link of this.links.values()) {
254
+ lines.push(`| ${link.source} | ${link.target} | ${link.type} | ${(link.confidence * 100).toFixed(0)}% |`);
255
+ }
256
+ lines.push('');
257
+ // Untraced requirements
258
+ if (coverage.untraced.length > 0) {
259
+ lines.push('## ⚠️ Untraced Requirements');
260
+ lines.push('');
261
+ for (const req of coverage.untraced) {
262
+ lines.push(`- ${req}`);
263
+ }
264
+ lines.push('');
265
+ }
266
+ return lines.join('\n');
267
+ }
268
+ /**
269
+ * Clear all data
270
+ */
271
+ clear() {
272
+ this.links.clear();
273
+ this.artifacts.clear();
274
+ this.linkCounter = 0;
275
+ }
276
+ /**
277
+ * Get statistics
278
+ */
279
+ getStats() {
280
+ const byType = {};
281
+ for (const link of this.links.values()) {
282
+ byType[link.type] = (byType[link.type] || 0) + 1;
283
+ }
284
+ return {
285
+ artifacts: this.artifacts.size,
286
+ links: this.links.size,
287
+ byType,
288
+ };
289
+ }
290
+ generateLinkId() {
291
+ this.linkCounter++;
292
+ return `LINK-${this.linkCounter.toString().padStart(4, '0')}`;
293
+ }
294
+ generateArtifactId(type) {
295
+ const timestamp = Date.now().toString(36);
296
+ return `${type.toUpperCase()}-${timestamp}`;
297
+ }
298
+ }
299
+ //# sourceMappingURL=TraceabilityManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TraceabilityManager.js","sourceRoot":"","sources":["../../src/traceability/TraceabilityManager.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAgCH;;;GAGG;AACH,MAAM,OAAO,mBAAmB;IACtB,KAAK,GAAkC,IAAI,GAAG,EAAE,CAAC;IACjD,SAAS,GAAsC,IAAI,GAAG,EAAE,CAAC;IACzD,WAAW,GAAG,CAAC,CAAC;IAExB;;OAEG;IACH,gBAAgB,CAAC,QAAoE;QACnF,MAAM,EAAE,GAAG,QAAQ,CAAC,UAAU,IAAI,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACzE,MAAM,YAAY,GAAyB;YACzC,EAAE;YACF,IAAI,EAAE,QAAQ,CAAC,IAAI;YACnB,OAAO,EAAE,QAAQ,CAAC,OAAO;YACzB,IAAI,EAAE,QAAQ,CAAC,IAAI;YACnB,OAAO,EAAE,QAAQ,CAAC,OAAO;YACzB,QAAQ,EAAE,QAAQ,CAAC,QAAQ;SAC5B,CAAC;QACF,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,EAAE,YAAY,CAAC,CAAC;QACrC,OAAO,YAAY,CAAC;IACtB,CAAC;IAED;;;OAGG;IACH,UAAU,CACR,QAAgB,EAChB,QAAgB,EAChB,IAAc,EACd,aAAqB,GAAG,EACxB,QAAkC;QAElC,MAAM,EAAE,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QACjC,MAAM,IAAI,GAAqB;YAC7B,EAAE;YACF,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE,QAAQ;YAChB,IAAI;YACJ,UAAU;YACV,QAAQ,EAAE,QAAQ,IAAI,EAAE;YACxB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACpC,CAAC;QAEF,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;QACzB,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,wBAAwB,CAAC,OAAoB;QAC3C,+BAA+B;QAC/B,IAAI,CAAC,gBAAgB,CAAC;YACpB,IAAI,EAAE,SAAS;YACf,UAAU,EAAE,OAAO,CAAC,EAAE;YACtB,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,OAAO,EAAE,OAAO,CAAC,SAAS;YAC1B,QAAQ,EAAE;gBACR,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,WAAW,EAAE,OAAO,CAAC,WAAW;aACjC;SACF,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,aAAa,EAAE,OAAO,CAAC,EAAE,EAAE,wBAAwB,EAAE,GAAG,EAAE;YACvF,WAAW,EAAE,OAAO,CAAC,IAAI;SAC1B,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,kBAAkB,CAAC,KAAgB,EAAE,OAAoB;QACvD,6BAA6B;QAC7B,IAAI,CAAC,gBAAgB,CAAC;YACpB,IAAI,EAAE,OAAO;YACb,UAAU,EAAE,KAAK,CAAC,EAAE;YACpB,IAAI,EAAE,SAAS,OAAO,CAAC,IAAI,EAAE;YAC7B,OAAO,EAAE,KAAK,CAAC,QAAQ;YACvB,QAAQ,EAAE;gBACR,SAAS,EAAE,KAAK,CAAC,SAAS;gBAC1B,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,UAAU,EAAE,KAAK,CAAC,UAAU;aAC7B;SACF,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,kBAAkB,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE;YAC7F,UAAU,EAAE,KAAK,CAAC,UAAU;SAC7B,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,kBAAkB,CAAC,MAA0B;QAC3C,IAAI,CAAC,MAAM,CAAC,KAAK;YAAE,OAAO,IAAI,CAAC;QAE/B,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,MAAM,CAAC,SAAS,EAAE,uBAAuB,EAAE,GAAG,EAAE;YACtF,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,MAAM,EAAE,MAAM,CAAC,MAAM;SACtB,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,kBAAkB,CAAC,QAAgB;QACjC,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC;IACpF,CAAC;IAED;;OAEG;IACH,gBAAgB,CAAC,QAAgB;QAC/B,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC;IACpF,CAAC;IAED;;OAEG;IACH,cAAc,CAAC,IAAc;QAC3B,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;IAC9E,CAAC;IAED;;;OAGG;IACH,iBAAiB,CAAC,cAAwB;QACxC,MAAM,QAAQ,GAAa,EAAE,CAAC;QAC9B,MAAM,eAAe,GAAa,EAAE,CAAC;QACrC,MAAM,WAAW,GAAa,EAAE,CAAC;QAEjC,KAAK,MAAM,KAAK,IAAI,cAAc,EAAE,CAAC;YACnC,MAAM,YAAY,GAAG,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,MAAM,CACxD,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,wBAAwB,CAC3C,CAAC;YAEF,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC9B,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACrB,SAAS;YACX,CAAC;YAED,2CAA2C;YAC3C,IAAI,SAAS,GAAG,IAAI,CAAC;YACrB,IAAI,SAAS,GAAG,KAAK,CAAC;YAEtB,KAAK,MAAM,IAAI,IAAI,YAAY,EAAE,CAAC;gBAChC,MAAM,UAAU,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,CAC5D,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,kBAAkB,CACrC,CAAC;gBAEF,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC1B,MAAM,gBAAgB,GAAG,UAAU,CAAC,IAAI,CACtC,CAAC,EAAE,EAAE,EAAE,CAAE,EAAE,CAAC,QAAoC,EAAE,UAAU,KAAK,IAAI,CACtE,CAAC;oBACF,IAAI,gBAAgB,EAAE,CAAC;wBACrB,SAAS,GAAG,IAAI,CAAC;oBACnB,CAAC;yBAAM,CAAC;wBACN,SAAS,GAAG,KAAK,CAAC;oBACpB,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,SAAS,GAAG,KAAK,CAAC;gBACpB,CAAC;YACH,CAAC;YAED,IAAI,SAAS,IAAI,SAAS,EAAE,CAAC;gBAC3B,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC1B,CAAC;iBAAM,IAAI,SAAS,EAAE,CAAC;gBACrB,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC9B,CAAC;iBAAM,CAAC;gBACN,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACvB,CAAC;QACH,CAAC;QAED,MAAM,YAAY,GAAG,WAAW,CAAC,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC;QACjE,MAAM,UAAU,GAAG,cAAc,CAAC,MAAM,CAAC;QAEzC,OAAO;YACL,iBAAiB,EAAE,UAAU;YAC7B,mBAAmB,EAAE,YAAY;YACjC,kBAAkB,EAAE,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,GAAG,UAAU,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;YAC1E,QAAQ;YACR,eAAe;YACf,WAAW;SACZ,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,aAAa,CAAC,aAAqB;QACjC,MAAM,KAAK,GAA2B,EAAE,CAAC;QACzC,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;QAElC,MAAM,QAAQ,GAAG,CAAC,UAAkB,EAAQ,EAAE;YAC5C,IAAI,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC;gBAAE,OAAO;YACpC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YAExB,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YAChD,IAAI,QAAQ,EAAE,CAAC;gBACb,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACvB,CAAC;YAED,wBAAwB;YACxB,MAAM,QAAQ,GAAG,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC;YACrD,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;gBAC5B,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACxB,CAAC;QACH,CAAC,CAAC;QAEF,QAAQ,CAAC,aAAa,CAAC,CAAC;QACxB,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;OAEG;IACH,iBAAiB;QACf,MAAM,MAAM,GAAa,EAAE,CAAC;QAE5B,KAAK,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACxC,sBAAsB;YACtB,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;gBACrC,MAAM,CAAC,IAAI,CAAC,QAAQ,MAAM,sBAAsB,IAAI,CAAC,MAAM,aAAa,CAAC,CAAC;YAC5E,CAAC;YAED,sBAAsB;YACtB,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;gBACrC,MAAM,CAAC,IAAI,CAAC,QAAQ,MAAM,sBAAsB,IAAI,CAAC,MAAM,aAAa,CAAC,CAAC;YAC5E,CAAC;YAED,4BAA4B;YAC5B,IAAI,IAAI,CAAC,UAAU,GAAG,CAAC,IAAI,IAAI,CAAC,UAAU,GAAG,CAAC,EAAE,CAAC;gBAC/C,MAAM,CAAC,IAAI,CAAC,QAAQ,MAAM,wBAAwB,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;YACvE,CAAC;QACH,CAAC;QAED,OAAO;YACL,KAAK,EAAE,MAAM,CAAC,MAAM,KAAK,CAAC;YAC1B,MAAM;SACP,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,YAAY;QACV,MAAM,MAAM,GAA2C,EAAE,CAAC;QAE1D,wBAAwB;QACxB,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC;YACvC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;gBACzB,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;YAC3B,CAAC;YACD,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,GAAG,IAAI,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;QAC7F,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;OAEG;IACH,cAAc;QACZ,MAAM,KAAK,GAAa,EAAE,CAAC;QAE3B,KAAK,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;QACpC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAEf,mBAAmB;QACnB,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,wBAAwB,CAAC,CAAC;QAC/D,MAAM,YAAY,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACjE,MAAM,QAAQ,GAAG,IAAI,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAC;QAEtD,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;QAClC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,6BAA6B,QAAQ,CAAC,iBAAiB,EAAE,CAAC,CAAC;QACtE,KAAK,CAAC,IAAI,CAAC,+BAA+B,QAAQ,CAAC,mBAAmB,EAAE,CAAC,CAAC;QAC1E,KAAK,CAAC,IAAI,CAAC,mBAAmB,QAAQ,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QACzE,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAEf,cAAc;QACd,KAAK,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;QACpC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,yCAAyC,CAAC,CAAC;QACtD,KAAK,CAAC,IAAI,CAAC,yCAAyC,CAAC,CAAC;QAEtD,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC;YACvC,KAAK,CAAC,IAAI,CACR,KAAK,IAAI,CAAC,MAAM,MAAM,IAAI,CAAC,MAAM,MAAM,IAAI,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAC9F,CAAC;QACJ,CAAC;QAED,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAEf,wBAAwB;QACxB,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACjC,KAAK,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;YAC1C,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACf,KAAK,MAAM,GAAG,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC;gBACpC,KAAK,CAAC,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC;YACzB,CAAC;YACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACjB,CAAC;QAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAED;;OAEG;IACH,KAAK;QACH,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QACnB,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;QACvB,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC;IACvB,CAAC;IAED;;OAEG;IACH,QAAQ;QACN,MAAM,MAAM,GAA2B,EAAE,CAAC;QAC1C,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC;YACvC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;QACnD,CAAC;QAED,OAAO;YACL,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI;YAC9B,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI;YACtB,MAAM;SACP,CAAC;IACJ,CAAC;IAEO,cAAc;QACpB,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,OAAO,QAAQ,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;IAChE,CAAC;IAEO,kBAAkB,CAAC,IAAY;QACrC,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QAC1C,OAAO,GAAG,IAAI,CAAC,WAAW,EAAE,IAAI,SAAS,EAAE,CAAC;IAC9C,CAAC;CACF"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * @fileoverview Traceability module exports
3
+ * @module @nahisaho/musubix-lean/traceability
4
+ */
5
+ export { TraceabilityManager, type LinkType, type TraceabilityCoverage, } from './TraceabilityManager.js';
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/traceability/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EACL,mBAAmB,EACnB,KAAK,QAAQ,EACb,KAAK,oBAAoB,GAC1B,MAAM,0BAA0B,CAAC"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * @fileoverview Traceability module exports
3
+ * @module @nahisaho/musubix-lean/traceability
4
+ */
5
+ export { TraceabilityManager, } from './TraceabilityManager.js';
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/traceability/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EACL,mBAAmB,GAGpB,MAAM,0BAA0B,CAAC"}