agentic-qe 1.9.4 → 2.1.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 (262) hide show
  1. package/.claude/agents/qe-api-contract-validator.md +95 -1336
  2. package/.claude/agents/qe-chaos-engineer.md +152 -1211
  3. package/.claude/agents/qe-code-complexity.md +144 -707
  4. package/.claude/agents/qe-coverage-analyzer.md +147 -743
  5. package/.claude/agents/qe-deployment-readiness.md +143 -1496
  6. package/.claude/agents/qe-flaky-test-hunter.md +132 -1529
  7. package/.claude/agents/qe-fleet-commander.md +12 -12
  8. package/.claude/agents/qe-performance-tester.md +150 -886
  9. package/.claude/agents/qe-production-intelligence.md +155 -1396
  10. package/.claude/agents/qe-quality-analyzer.md +6 -6
  11. package/.claude/agents/qe-quality-gate.md +151 -648
  12. package/.claude/agents/qe-regression-risk-analyzer.md +132 -1150
  13. package/.claude/agents/qe-requirements-validator.md +149 -932
  14. package/.claude/agents/qe-security-scanner.md +157 -797
  15. package/.claude/agents/qe-test-data-architect.md +96 -1365
  16. package/.claude/agents/qe-test-executor.md +8 -8
  17. package/.claude/agents/qe-test-generator.md +145 -1540
  18. package/.claude/agents/qe-visual-tester.md +153 -1257
  19. package/.claude/agents/qx-partner.md +248 -0
  20. package/.claude/agents/subagents/qe-code-reviewer.md +40 -136
  21. package/.claude/agents/subagents/qe-coverage-gap-analyzer.md +40 -480
  22. package/.claude/agents/subagents/qe-data-generator.md +41 -125
  23. package/.claude/agents/subagents/qe-flaky-investigator.md +55 -411
  24. package/.claude/agents/subagents/qe-integration-tester.md +53 -141
  25. package/.claude/agents/subagents/qe-performance-validator.md +54 -130
  26. package/.claude/agents/subagents/qe-security-auditor.md +56 -114
  27. package/.claude/agents/subagents/qe-test-data-architect-sub.md +57 -548
  28. package/.claude/agents/subagents/qe-test-implementer.md +58 -551
  29. package/.claude/agents/subagents/qe-test-refactorer.md +65 -722
  30. package/.claude/agents/subagents/qe-test-writer.md +63 -726
  31. package/.claude/skills/accessibility-testing/SKILL.md +144 -692
  32. package/.claude/skills/agentic-quality-engineering/SKILL.md +176 -529
  33. package/.claude/skills/api-testing-patterns/SKILL.md +180 -560
  34. package/.claude/skills/brutal-honesty-review/SKILL.md +113 -603
  35. package/.claude/skills/bug-reporting-excellence/SKILL.md +116 -517
  36. package/.claude/skills/chaos-engineering-resilience/SKILL.md +127 -72
  37. package/.claude/skills/cicd-pipeline-qe-orchestrator/SKILL.md +209 -404
  38. package/.claude/skills/code-review-quality/SKILL.md +158 -608
  39. package/.claude/skills/compatibility-testing/SKILL.md +148 -38
  40. package/.claude/skills/compliance-testing/SKILL.md +132 -63
  41. package/.claude/skills/consultancy-practices/SKILL.md +114 -446
  42. package/.claude/skills/context-driven-testing/SKILL.md +117 -381
  43. package/.claude/skills/contract-testing/SKILL.md +176 -141
  44. package/.claude/skills/database-testing/SKILL.md +137 -130
  45. package/.claude/skills/exploratory-testing-advanced/SKILL.md +160 -629
  46. package/.claude/skills/holistic-testing-pact/SKILL.md +140 -188
  47. package/.claude/skills/localization-testing/SKILL.md +145 -33
  48. package/.claude/skills/mobile-testing/SKILL.md +132 -448
  49. package/.claude/skills/mutation-testing/SKILL.md +147 -41
  50. package/.claude/skills/performance-testing/SKILL.md +200 -546
  51. package/.claude/skills/quality-metrics/SKILL.md +164 -519
  52. package/.claude/skills/refactoring-patterns/SKILL.md +132 -699
  53. package/.claude/skills/regression-testing/SKILL.md +120 -926
  54. package/.claude/skills/risk-based-testing/SKILL.md +157 -660
  55. package/.claude/skills/security-testing/SKILL.md +199 -538
  56. package/.claude/skills/sherlock-review/SKILL.md +163 -699
  57. package/.claude/skills/shift-left-testing/SKILL.md +161 -465
  58. package/.claude/skills/shift-right-testing/SKILL.md +161 -519
  59. package/.claude/skills/six-thinking-hats/SKILL.md +175 -1110
  60. package/.claude/skills/skills-manifest.json +683 -0
  61. package/.claude/skills/tdd-london-chicago/SKILL.md +131 -448
  62. package/.claude/skills/technical-writing/SKILL.md +103 -154
  63. package/.claude/skills/test-automation-strategy/SKILL.md +166 -772
  64. package/.claude/skills/test-data-management/SKILL.md +126 -910
  65. package/.claude/skills/test-design-techniques/SKILL.md +179 -89
  66. package/.claude/skills/test-environment-management/SKILL.md +136 -91
  67. package/.claude/skills/test-reporting-analytics/SKILL.md +169 -92
  68. package/.claude/skills/testability-scoring/README.md +71 -0
  69. package/.claude/skills/testability-scoring/SKILL.md +245 -0
  70. package/.claude/skills/testability-scoring/resources/templates/config.template.js +84 -0
  71. package/.claude/skills/testability-scoring/resources/templates/testability-scoring.spec.template.js +532 -0
  72. package/.claude/skills/testability-scoring/scripts/generate-html-report.js +1007 -0
  73. package/.claude/skills/testability-scoring/scripts/run-assessment.sh +70 -0
  74. package/.claude/skills/visual-testing-advanced/SKILL.md +155 -78
  75. package/.claude/skills/xp-practices/SKILL.md +151 -587
  76. package/CHANGELOG.md +110 -0
  77. package/README.md +55 -21
  78. package/dist/agents/QXPartnerAgent.d.ts +146 -0
  79. package/dist/agents/QXPartnerAgent.d.ts.map +1 -0
  80. package/dist/agents/QXPartnerAgent.js +1831 -0
  81. package/dist/agents/QXPartnerAgent.js.map +1 -0
  82. package/dist/agents/index.d.ts +1 -0
  83. package/dist/agents/index.d.ts.map +1 -1
  84. package/dist/agents/index.js +82 -2
  85. package/dist/agents/index.js.map +1 -1
  86. package/dist/agents/lifecycle/AgentLifecycleManager.d.ts.map +1 -1
  87. package/dist/agents/lifecycle/AgentLifecycleManager.js +34 -31
  88. package/dist/agents/lifecycle/AgentLifecycleManager.js.map +1 -1
  89. package/dist/cli/commands/debug/agent.d.ts.map +1 -1
  90. package/dist/cli/commands/debug/agent.js +19 -6
  91. package/dist/cli/commands/debug/agent.js.map +1 -1
  92. package/dist/cli/commands/debug/health-check.js +20 -7
  93. package/dist/cli/commands/debug/health-check.js.map +1 -1
  94. package/dist/cli/commands/init-claude-md-template.d.ts +1 -0
  95. package/dist/cli/commands/init-claude-md-template.d.ts.map +1 -1
  96. package/dist/cli/commands/init-claude-md-template.js +18 -3
  97. package/dist/cli/commands/init-claude-md-template.js.map +1 -1
  98. package/dist/cli/commands/workflow/cancel.d.ts.map +1 -1
  99. package/dist/cli/commands/workflow/cancel.js +4 -3
  100. package/dist/cli/commands/workflow/cancel.js.map +1 -1
  101. package/dist/cli/commands/workflow/list.d.ts.map +1 -1
  102. package/dist/cli/commands/workflow/list.js +4 -3
  103. package/dist/cli/commands/workflow/list.js.map +1 -1
  104. package/dist/cli/commands/workflow/pause.d.ts.map +1 -1
  105. package/dist/cli/commands/workflow/pause.js +4 -3
  106. package/dist/cli/commands/workflow/pause.js.map +1 -1
  107. package/dist/cli/init/claude-config.d.ts.map +1 -1
  108. package/dist/cli/init/claude-config.js +3 -8
  109. package/dist/cli/init/claude-config.js.map +1 -1
  110. package/dist/cli/init/claude-md.d.ts.map +1 -1
  111. package/dist/cli/init/claude-md.js +44 -2
  112. package/dist/cli/init/claude-md.js.map +1 -1
  113. package/dist/cli/init/database-init.js +1 -1
  114. package/dist/cli/init/index.d.ts.map +1 -1
  115. package/dist/cli/init/index.js +13 -6
  116. package/dist/cli/init/index.js.map +1 -1
  117. package/dist/cli/init/skills.d.ts.map +1 -1
  118. package/dist/cli/init/skills.js +2 -1
  119. package/dist/cli/init/skills.js.map +1 -1
  120. package/dist/core/SwarmCoordinator.d.ts +180 -0
  121. package/dist/core/SwarmCoordinator.d.ts.map +1 -0
  122. package/dist/core/SwarmCoordinator.js +473 -0
  123. package/dist/core/SwarmCoordinator.js.map +1 -0
  124. package/dist/core/memory/AgentDBIntegration.d.ts +24 -6
  125. package/dist/core/memory/AgentDBIntegration.d.ts.map +1 -1
  126. package/dist/core/memory/AgentDBIntegration.js +66 -10
  127. package/dist/core/memory/AgentDBIntegration.js.map +1 -1
  128. package/dist/core/memory/UnifiedMemoryCoordinator.d.ts +341 -0
  129. package/dist/core/memory/UnifiedMemoryCoordinator.d.ts.map +1 -0
  130. package/dist/core/memory/UnifiedMemoryCoordinator.js +986 -0
  131. package/dist/core/memory/UnifiedMemoryCoordinator.js.map +1 -0
  132. package/dist/core/memory/index.d.ts +5 -0
  133. package/dist/core/memory/index.d.ts.map +1 -1
  134. package/dist/core/memory/index.js +23 -1
  135. package/dist/core/memory/index.js.map +1 -1
  136. package/dist/core/metrics/MetricsAggregator.d.ts +228 -0
  137. package/dist/core/metrics/MetricsAggregator.d.ts.map +1 -0
  138. package/dist/core/metrics/MetricsAggregator.js +482 -0
  139. package/dist/core/metrics/MetricsAggregator.js.map +1 -0
  140. package/dist/core/metrics/index.d.ts +5 -0
  141. package/dist/core/metrics/index.d.ts.map +1 -0
  142. package/dist/core/metrics/index.js +11 -0
  143. package/dist/core/metrics/index.js.map +1 -0
  144. package/dist/core/optimization/SwarmOptimizer.d.ts +190 -0
  145. package/dist/core/optimization/SwarmOptimizer.d.ts.map +1 -0
  146. package/dist/core/optimization/SwarmOptimizer.js +648 -0
  147. package/dist/core/optimization/SwarmOptimizer.js.map +1 -0
  148. package/dist/core/optimization/index.d.ts +9 -0
  149. package/dist/core/optimization/index.d.ts.map +1 -0
  150. package/dist/core/optimization/index.js +25 -0
  151. package/dist/core/optimization/index.js.map +1 -0
  152. package/dist/core/optimization/types.d.ts +53 -0
  153. package/dist/core/optimization/types.d.ts.map +1 -0
  154. package/dist/core/optimization/types.js +6 -0
  155. package/dist/core/optimization/types.js.map +1 -0
  156. package/dist/core/orchestration/AdaptiveScheduler.d.ts +190 -0
  157. package/dist/core/orchestration/AdaptiveScheduler.d.ts.map +1 -0
  158. package/dist/core/orchestration/AdaptiveScheduler.js +460 -0
  159. package/dist/core/orchestration/AdaptiveScheduler.js.map +1 -0
  160. package/dist/core/orchestration/PriorityQueue.d.ts +54 -0
  161. package/dist/core/orchestration/PriorityQueue.d.ts.map +1 -0
  162. package/dist/core/orchestration/PriorityQueue.js +122 -0
  163. package/dist/core/orchestration/PriorityQueue.js.map +1 -0
  164. package/dist/core/orchestration/WorkflowOrchestrator.d.ts +189 -0
  165. package/dist/core/orchestration/WorkflowOrchestrator.d.ts.map +1 -0
  166. package/dist/core/orchestration/WorkflowOrchestrator.js +845 -0
  167. package/dist/core/orchestration/WorkflowOrchestrator.js.map +1 -0
  168. package/dist/core/orchestration/index.d.ts +7 -0
  169. package/dist/core/orchestration/index.d.ts.map +1 -0
  170. package/dist/core/orchestration/index.js +11 -0
  171. package/dist/core/orchestration/index.js.map +1 -0
  172. package/dist/core/orchestration/types.d.ts +96 -0
  173. package/dist/core/orchestration/types.d.ts.map +1 -0
  174. package/dist/core/orchestration/types.js +6 -0
  175. package/dist/core/orchestration/types.js.map +1 -0
  176. package/dist/core/recovery/CircuitBreaker.d.ts +176 -0
  177. package/dist/core/recovery/CircuitBreaker.d.ts.map +1 -0
  178. package/dist/core/recovery/CircuitBreaker.js +382 -0
  179. package/dist/core/recovery/CircuitBreaker.js.map +1 -0
  180. package/dist/core/recovery/RecoveryOrchestrator.d.ts +186 -0
  181. package/dist/core/recovery/RecoveryOrchestrator.d.ts.map +1 -0
  182. package/dist/core/recovery/RecoveryOrchestrator.js +476 -0
  183. package/dist/core/recovery/RecoveryOrchestrator.js.map +1 -0
  184. package/dist/core/recovery/RetryStrategy.d.ts +127 -0
  185. package/dist/core/recovery/RetryStrategy.d.ts.map +1 -0
  186. package/dist/core/recovery/RetryStrategy.js +314 -0
  187. package/dist/core/recovery/RetryStrategy.js.map +1 -0
  188. package/dist/core/recovery/index.d.ts +8 -0
  189. package/dist/core/recovery/index.d.ts.map +1 -0
  190. package/dist/core/recovery/index.js +27 -0
  191. package/dist/core/recovery/index.js.map +1 -0
  192. package/dist/core/skills/DependencyResolver.d.ts +99 -0
  193. package/dist/core/skills/DependencyResolver.d.ts.map +1 -0
  194. package/dist/core/skills/DependencyResolver.js +260 -0
  195. package/dist/core/skills/DependencyResolver.js.map +1 -0
  196. package/dist/core/skills/DynamicSkillLoader.d.ts +96 -0
  197. package/dist/core/skills/DynamicSkillLoader.d.ts.map +1 -0
  198. package/dist/core/skills/DynamicSkillLoader.js +353 -0
  199. package/dist/core/skills/DynamicSkillLoader.js.map +1 -0
  200. package/dist/core/skills/ManifestGenerator.d.ts +114 -0
  201. package/dist/core/skills/ManifestGenerator.d.ts.map +1 -0
  202. package/dist/core/skills/ManifestGenerator.js +449 -0
  203. package/dist/core/skills/ManifestGenerator.js.map +1 -0
  204. package/dist/core/skills/index.d.ts +9 -0
  205. package/dist/core/skills/index.d.ts.map +1 -0
  206. package/dist/core/skills/index.js +24 -0
  207. package/dist/core/skills/index.js.map +1 -0
  208. package/dist/core/skills/types.d.ts +118 -0
  209. package/dist/core/skills/types.d.ts.map +1 -0
  210. package/dist/core/skills/types.js +7 -0
  211. package/dist/core/skills/types.js.map +1 -0
  212. package/dist/core/transport/QUICTransport.d.ts +320 -0
  213. package/dist/core/transport/QUICTransport.d.ts.map +1 -0
  214. package/dist/core/transport/QUICTransport.js +711 -0
  215. package/dist/core/transport/QUICTransport.js.map +1 -0
  216. package/dist/core/transport/index.d.ts +40 -0
  217. package/dist/core/transport/index.d.ts.map +1 -0
  218. package/dist/core/transport/index.js +46 -0
  219. package/dist/core/transport/index.js.map +1 -0
  220. package/dist/core/transport/quic-loader.d.ts +123 -0
  221. package/dist/core/transport/quic-loader.d.ts.map +1 -0
  222. package/dist/core/transport/quic-loader.js +293 -0
  223. package/dist/core/transport/quic-loader.js.map +1 -0
  224. package/dist/core/transport/quic.d.ts +154 -0
  225. package/dist/core/transport/quic.d.ts.map +1 -0
  226. package/dist/core/transport/quic.js +214 -0
  227. package/dist/core/transport/quic.js.map +1 -0
  228. package/dist/mcp/server.d.ts +9 -9
  229. package/dist/mcp/server.d.ts.map +1 -1
  230. package/dist/mcp/server.js +1 -2
  231. package/dist/mcp/server.js.map +1 -1
  232. package/dist/mcp/services/AgentRegistry.d.ts.map +1 -1
  233. package/dist/mcp/services/AgentRegistry.js +4 -1
  234. package/dist/mcp/services/AgentRegistry.js.map +1 -1
  235. package/dist/types/index.d.ts +2 -1
  236. package/dist/types/index.d.ts.map +1 -1
  237. package/dist/types/index.js +2 -0
  238. package/dist/types/index.js.map +1 -1
  239. package/dist/types/qx.d.ts +429 -0
  240. package/dist/types/qx.d.ts.map +1 -0
  241. package/dist/types/qx.js +71 -0
  242. package/dist/types/qx.js.map +1 -0
  243. package/dist/visualization/api/RestEndpoints.js +2 -2
  244. package/dist/visualization/api/RestEndpoints.js.map +1 -1
  245. package/dist/visualization/api/WebSocketServer.d.ts +44 -0
  246. package/dist/visualization/api/WebSocketServer.d.ts.map +1 -1
  247. package/dist/visualization/api/WebSocketServer.js +144 -23
  248. package/dist/visualization/api/WebSocketServer.js.map +1 -1
  249. package/dist/visualization/core/DataTransformer.d.ts +10 -0
  250. package/dist/visualization/core/DataTransformer.d.ts.map +1 -1
  251. package/dist/visualization/core/DataTransformer.js +60 -5
  252. package/dist/visualization/core/DataTransformer.js.map +1 -1
  253. package/dist/visualization/emit-event.d.ts +75 -0
  254. package/dist/visualization/emit-event.d.ts.map +1 -0
  255. package/dist/visualization/emit-event.js +213 -0
  256. package/dist/visualization/emit-event.js.map +1 -0
  257. package/dist/visualization/index.d.ts +1 -0
  258. package/dist/visualization/index.d.ts.map +1 -1
  259. package/dist/visualization/index.js +7 -1
  260. package/dist/visualization/index.js.map +1 -1
  261. package/docs/reference/skills.md +63 -1
  262. package/package.json +16 -58
@@ -0,0 +1,260 @@
1
+ "use strict";
2
+ /**
3
+ * Dependency Resolver for Skill Loading
4
+ * Handles skill dependency graphs with cycle detection and optimal load ordering
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.DependencyResolver = void 0;
8
+ exports.createDependencyResolver = createDependencyResolver;
9
+ exports.visualizeDependencyTree = visualizeDependencyTree;
10
+ /**
11
+ * Skill Dependency Resolver
12
+ * Resolves skill dependencies with cycle detection and optimal ordering
13
+ */
14
+ class DependencyResolver {
15
+ constructor(manifest, options = {}) {
16
+ this.manifest = manifest;
17
+ this.skillMap = new Map(manifest.skills.map(s => [s.id, s]));
18
+ this.options = {
19
+ maxDepth: 10,
20
+ includeOptional: true,
21
+ cycleStrategy: 'warn',
22
+ ...options,
23
+ };
24
+ }
25
+ /**
26
+ * Resolve dependencies for a single skill
27
+ */
28
+ resolve(skillId) {
29
+ return this.resolveMultiple([skillId]);
30
+ }
31
+ /**
32
+ * Resolve dependencies for multiple skills
33
+ */
34
+ resolveMultiple(skillIds) {
35
+ const visited = new Set();
36
+ const loadOrder = [];
37
+ const cycles = [];
38
+ const unresolved = [];
39
+ // Build dependency tree for each skill
40
+ const trees = [];
41
+ for (const skillId of skillIds) {
42
+ const result = this.buildDependencyTree(skillId, [], 0, visited);
43
+ trees.push(result.node);
44
+ cycles.push(...result.cycles);
45
+ unresolved.push(...result.unresolved);
46
+ }
47
+ // Topological sort for optimal load order
48
+ const sortedOrder = this.topologicalSort(skillIds);
49
+ loadOrder.push(...sortedOrder);
50
+ // Merge trees into single root
51
+ const mergedTree = {
52
+ id: 'root',
53
+ depth: -1,
54
+ dependencies: trees,
55
+ };
56
+ return {
57
+ loadOrder,
58
+ tree: mergedTree,
59
+ cycles: this.deduplicateCycles(cycles),
60
+ unresolved,
61
+ };
62
+ }
63
+ /**
64
+ * Get all skills that depend on a given skill (reverse dependencies)
65
+ */
66
+ getDependents(skillId) {
67
+ const dependents = [];
68
+ for (const skill of this.manifest.skills) {
69
+ if (skill.dependencies?.includes(skillId)) {
70
+ dependents.push(skill.id);
71
+ }
72
+ }
73
+ return dependents;
74
+ }
75
+ /**
76
+ * Get direct dependencies of a skill
77
+ */
78
+ getDirectDependencies(skillId) {
79
+ const skill = this.skillMap.get(skillId);
80
+ return skill?.dependencies || [];
81
+ }
82
+ /**
83
+ * Get all transitive dependencies (full dependency closure)
84
+ */
85
+ getTransitiveDependencies(skillId) {
86
+ const resolution = this.resolve(skillId);
87
+ return resolution.loadOrder.filter(id => id !== skillId);
88
+ }
89
+ /**
90
+ * Check if adding a dependency would create a cycle
91
+ */
92
+ wouldCreateCycle(fromSkillId, toSkillId) {
93
+ // Check if toSkillId already depends on fromSkillId
94
+ const deps = this.getTransitiveDependencies(toSkillId);
95
+ return deps.includes(fromSkillId);
96
+ }
97
+ /**
98
+ * Build dependency tree recursively
99
+ */
100
+ buildDependencyTree(skillId, path, depth, globalVisited) {
101
+ const cycles = [];
102
+ const unresolved = [];
103
+ // Check for cycle
104
+ if (path.includes(skillId)) {
105
+ const cycleStart = path.indexOf(skillId);
106
+ const cycle = [...path.slice(cycleStart), skillId];
107
+ cycles.push(cycle);
108
+ if (this.options.cycleStrategy === 'error') {
109
+ throw new Error(`Circular dependency detected: ${cycle.join(' -> ')}`);
110
+ }
111
+ // Return leaf node to break cycle
112
+ return {
113
+ node: { id: skillId, depth, dependencies: [] },
114
+ cycles,
115
+ unresolved,
116
+ };
117
+ }
118
+ // Check max depth
119
+ if (depth > this.options.maxDepth) {
120
+ return {
121
+ node: { id: skillId, depth, dependencies: [] },
122
+ cycles,
123
+ unresolved,
124
+ };
125
+ }
126
+ const skill = this.skillMap.get(skillId);
127
+ if (!skill) {
128
+ return {
129
+ node: { id: skillId, depth, dependencies: [] },
130
+ cycles,
131
+ unresolved: [{ skillId, missing: [skillId] }],
132
+ };
133
+ }
134
+ // Check for missing dependencies
135
+ const missing = (skill.dependencies || []).filter(dep => !this.skillMap.has(dep));
136
+ if (missing.length > 0) {
137
+ unresolved.push({ skillId, missing });
138
+ }
139
+ // Build children
140
+ const dependencies = [];
141
+ const newPath = [...path, skillId];
142
+ for (const depId of skill.dependencies || []) {
143
+ if (!this.skillMap.has(depId))
144
+ continue;
145
+ if (globalVisited.has(depId) && !path.includes(depId)) {
146
+ // Already fully processed, add as leaf
147
+ dependencies.push({ id: depId, depth: depth + 1, dependencies: [] });
148
+ }
149
+ else {
150
+ const result = this.buildDependencyTree(depId, newPath, depth + 1, globalVisited);
151
+ dependencies.push(result.node);
152
+ cycles.push(...result.cycles);
153
+ unresolved.push(...result.unresolved);
154
+ }
155
+ }
156
+ globalVisited.add(skillId);
157
+ return {
158
+ node: { id: skillId, depth, dependencies },
159
+ cycles,
160
+ unresolved,
161
+ };
162
+ }
163
+ /**
164
+ * Topological sort for optimal load order (dependencies first)
165
+ */
166
+ topologicalSort(startIds) {
167
+ const result = [];
168
+ const visited = new Set();
169
+ const visiting = new Set(); // For cycle detection
170
+ const visit = (skillId) => {
171
+ if (visited.has(skillId))
172
+ return;
173
+ if (visiting.has(skillId))
174
+ return; // Cycle, skip
175
+ visiting.add(skillId);
176
+ const skill = this.skillMap.get(skillId);
177
+ if (skill?.dependencies) {
178
+ for (const depId of skill.dependencies) {
179
+ if (this.skillMap.has(depId)) {
180
+ visit(depId);
181
+ }
182
+ }
183
+ }
184
+ visiting.delete(skillId);
185
+ visited.add(skillId);
186
+ result.push(skillId);
187
+ };
188
+ // Start from requested skills
189
+ for (const startId of startIds) {
190
+ visit(startId);
191
+ }
192
+ return result;
193
+ }
194
+ /**
195
+ * Deduplicate cycle arrays (same cycle may be detected from different starting points)
196
+ */
197
+ deduplicateCycles(cycles) {
198
+ const seen = new Set();
199
+ const unique = [];
200
+ for (const cycle of cycles) {
201
+ // Normalize cycle by starting from smallest element
202
+ const normalized = this.normalizeCycle(cycle);
203
+ const key = normalized.join('->');
204
+ if (!seen.has(key)) {
205
+ seen.add(key);
206
+ unique.push(normalized);
207
+ }
208
+ }
209
+ return unique;
210
+ }
211
+ /**
212
+ * Normalize cycle to start from smallest element for deduplication
213
+ */
214
+ normalizeCycle(cycle) {
215
+ if (cycle.length <= 1)
216
+ return cycle;
217
+ // Remove duplicate end if present
218
+ const normalized = cycle[0] === cycle[cycle.length - 1]
219
+ ? cycle.slice(0, -1)
220
+ : cycle;
221
+ // Find index of smallest element
222
+ let minIndex = 0;
223
+ for (let i = 1; i < normalized.length; i++) {
224
+ if (normalized[i] < normalized[minIndex]) {
225
+ minIndex = i;
226
+ }
227
+ }
228
+ // Rotate to start from smallest
229
+ return [...normalized.slice(minIndex), ...normalized.slice(0, minIndex)];
230
+ }
231
+ }
232
+ exports.DependencyResolver = DependencyResolver;
233
+ /**
234
+ * Create a dependency resolver from manifest
235
+ */
236
+ function createDependencyResolver(manifest, options) {
237
+ return new DependencyResolver(manifest, options);
238
+ }
239
+ /**
240
+ * Visualize dependency tree as ASCII art
241
+ */
242
+ function visualizeDependencyTree(node, prefix = '') {
243
+ const lines = [];
244
+ if (node.id !== 'root') {
245
+ lines.push(`${prefix}${node.id}`);
246
+ }
247
+ const childPrefix = node.id === 'root' ? '' : prefix + ' ';
248
+ for (let i = 0; i < node.dependencies.length; i++) {
249
+ const child = node.dependencies[i];
250
+ const isLast = i === node.dependencies.length - 1;
251
+ const connector = isLast ? '└── ' : '├── ';
252
+ const nextPrefix = childPrefix + (isLast ? ' ' : '│ ');
253
+ lines.push(`${childPrefix}${connector}${child.id}`);
254
+ if (child.dependencies.length > 0) {
255
+ lines.push(visualizeDependencyTree(child, nextPrefix));
256
+ }
257
+ }
258
+ return lines.join('\n');
259
+ }
260
+ //# sourceMappingURL=DependencyResolver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DependencyResolver.js","sourceRoot":"","sources":["../../../src/core/skills/DependencyResolver.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,96 @@
1
+ /**
2
+ * Dynamic Skill Loader with LRU Cache and Progressive Disclosure
3
+ * Achieves 98% token reduction by lazy-loading skills on demand
4
+ */
5
+ import { Skill, SkillMetadata, SkillManifest, SkillLoaderConfig, SkillUsageStats, SkillSearchFilter } from './types.js';
6
+ /**
7
+ * Dynamic Skill Loader with LRU caching and progressive disclosure
8
+ */
9
+ export declare class DynamicSkillLoader {
10
+ private manifest;
11
+ private cache;
12
+ private usageStats;
13
+ private config;
14
+ constructor(config?: Partial<SkillLoaderConfig>);
15
+ /**
16
+ * Initialize loader and load manifest
17
+ */
18
+ initialize(): Promise<void>;
19
+ /**
20
+ * Load skill metadata from manifest
21
+ */
22
+ loadManifest(): Promise<SkillManifest>;
23
+ /**
24
+ * Get manifest (load if not already loaded)
25
+ */
26
+ getManifest(): Promise<SkillManifest>;
27
+ /**
28
+ * Lazy load full skill content on demand
29
+ */
30
+ loadSkill(id: string): Promise<Skill>;
31
+ /**
32
+ * Load multiple skills at once (e.g., skill + dependencies)
33
+ */
34
+ loadSkills(ids: string[]): Promise<Skill[]>;
35
+ /**
36
+ * Search skills by filter criteria
37
+ */
38
+ searchSkills(filter: SkillSearchFilter): Promise<SkillMetadata[]>;
39
+ /**
40
+ * Get skill metadata without loading full content
41
+ */
42
+ getMetadata(id: string): Promise<SkillMetadata | null>;
43
+ /**
44
+ * Get all skills for a category
45
+ */
46
+ getSkillsByCategory(category: string): Promise<SkillMetadata[]>;
47
+ /**
48
+ * Get usage statistics
49
+ */
50
+ getUsageStats(skillId?: string): SkillUsageStats | SkillUsageStats[];
51
+ /**
52
+ * Get cache statistics
53
+ */
54
+ getCacheStats(): {
55
+ size: number;
56
+ maxSize: number;
57
+ hitRate: number;
58
+ };
59
+ /**
60
+ * Clear cache
61
+ */
62
+ clearCache(): void;
63
+ /**
64
+ * Preload critical priority skills
65
+ */
66
+ private preloadCriticalSkills;
67
+ /**
68
+ * Get skill from cache if valid
69
+ */
70
+ private getCachedSkill;
71
+ /**
72
+ * Add skill to LRU cache
73
+ */
74
+ private addToCache;
75
+ /**
76
+ * Evict least recently used entry
77
+ */
78
+ private evictLRU;
79
+ /**
80
+ * Update usage statistics
81
+ */
82
+ private updateUsageStats;
83
+ /**
84
+ * Parse frontmatter from markdown file
85
+ */
86
+ private parseFrontmatter;
87
+ }
88
+ /**
89
+ * Get default loader instance
90
+ */
91
+ export declare function getDefaultLoader(config?: Partial<SkillLoaderConfig>): DynamicSkillLoader;
92
+ /**
93
+ * Reset default loader (useful for testing)
94
+ */
95
+ export declare function resetDefaultLoader(): void;
96
+ //# sourceMappingURL=DynamicSkillLoader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DynamicSkillLoader.d.ts","sourceRoot":"","sources":["../../../src/core/skills/DynamicSkillLoader.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,EACL,KAAK,EACL,aAAa,EACb,aAAa,EACb,iBAAiB,EACjB,eAAe,EACf,iBAAiB,EAElB,MAAM,YAAY,CAAC;AAYpB;;GAEG;AACH,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,QAAQ,CAA8B;IAC9C,OAAO,CAAC,KAAK,CAAsC;IACnD,OAAO,CAAC,UAAU,CAA2C;IAC7D,OAAO,CAAC,MAAM,CAAoB;gBAEtB,MAAM,GAAE,OAAO,CAAC,iBAAiB,CAAM;IAYnD;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAQjC;;OAEG;IACG,YAAY,IAAI,OAAO,CAAC,aAAa,CAAC;IAY5C;;OAEG;IACG,WAAW,IAAI,OAAO,CAAC,aAAa,CAAC;IAO3C;;OAEG;IACG,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC;IAmD3C;;OAEG;IACG,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;IAIjD;;OAEG;IACG,YAAY,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IA8CvE;;OAEG;IACG,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC;IAO5D;;OAEG;IACG,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IAIrE;;OAEG;IACH,aAAa,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,eAAe,GAAG,eAAe,EAAE;IAapE;;OAEG;IACH,aAAa,IAAI;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE;IAanE;;OAEG;IACH,UAAU,IAAI,IAAI;IAIlB;;OAEG;YACW,qBAAqB;IAYnC;;OAEG;IACH,OAAO,CAAC,cAAc;IAoBtB;;OAEG;IACH,OAAO,CAAC,UAAU;IAclB;;OAEG;IACH,OAAO,CAAC,QAAQ;IAiBhB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAuBxB;;OAEG;IACH,OAAO,CAAC,gBAAgB;CAkBzB;AAOD;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,iBAAiB,CAAC,GAAG,kBAAkB,CAKxF;AAED;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,IAAI,CAEzC"}