claude-flow-novice 2.15.6 → 2.15.8

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 (122) hide show
  1. package/.claude/cfn-extras/agents/google-sheets/google-sheets-coordinator.md +1 -1
  2. package/.claude/cfn-extras/docs/GOOGLE_SHEETS_CFN_LOOP.md +13 -11
  3. package/.claude/skills/cfn-loop-orchestration/helpers/gate-check.sh +39 -577
  4. package/.claude/skills/cfn-loop-orchestration/helpers/parse-test-results.sh +49 -270
  5. package/.claude/skills/cfn-loop-orchestration/src/helpers/consensus.ts +87 -0
  6. package/.claude/skills/cfn-loop-orchestration/src/helpers/deliverable-verifier.ts +103 -0
  7. package/.claude/skills/cfn-loop-orchestration/src/helpers/gate-check.ts +115 -0
  8. package/.claude/skills/cfn-loop-orchestration/src/helpers/iteration-manager.ts +45 -0
  9. package/.claude/skills/cfn-loop-orchestration/src/helpers/parse-test-results.ts +372 -0
  10. package/.claude/skills/cfn-loop-orchestration/src/helpers/timeout-calculator.ts +41 -0
  11. package/.claude/skills/cfn-loop-orchestration/tests/consensus.test.ts +142 -0
  12. package/.claude/skills/cfn-loop-orchestration/tests/deliverable-verifier.test.ts +197 -0
  13. package/.claude/skills/cfn-loop-orchestration/tests/gate-check.test.ts +325 -0
  14. package/.claude/skills/cfn-loop-orchestration/tests/iteration-manager.test.ts +132 -0
  15. package/.claude/skills/cfn-loop-orchestration/tests/parse-test-results.test.ts +382 -0
  16. package/.claude/skills/cfn-loop-orchestration/tests/timeout-calculator.test.ts +118 -0
  17. package/.claude/skills/cfn-redis-coordination/coverage/clover.xml +1447 -0
  18. package/.claude/skills/cfn-redis-coordination/coverage/coverage-final.json +13 -0
  19. package/.claude/skills/cfn-redis-coordination/coverage/lcov-report/agent-logger.ts.html +1423 -0
  20. package/.claude/skills/cfn-redis-coordination/coverage/lcov-report/agent-recovery.ts.html +1447 -0
  21. package/.claude/skills/cfn-redis-coordination/coverage/lcov-report/base.css +224 -0
  22. package/.claude/skills/cfn-redis-coordination/coverage/lcov-report/block-navigation.js +87 -0
  23. package/.claude/skills/cfn-redis-coordination/coverage/lcov-report/completion-reporter.ts.html +1273 -0
  24. package/.claude/skills/cfn-redis-coordination/coverage/lcov-report/context-manager.ts.html +1066 -0
  25. package/.claude/skills/cfn-redis-coordination/coverage/lcov-report/favicon.png +0 -0
  26. package/.claude/skills/cfn-redis-coordination/coverage/lcov-report/index.html +281 -0
  27. package/.claude/skills/cfn-redis-coordination/coverage/lcov-report/mode-detector.ts.html +550 -0
  28. package/.claude/skills/cfn-redis-coordination/coverage/lcov-report/prettify.css +1 -0
  29. package/.claude/skills/cfn-redis-coordination/coverage/lcov-report/prettify.js +2 -0
  30. package/.claude/skills/cfn-redis-coordination/coverage/lcov-report/redis-client.ts.html +2047 -0
  31. package/.claude/skills/cfn-redis-coordination/coverage/lcov-report/result-collector.ts.html +1396 -0
  32. package/.claude/skills/cfn-redis-coordination/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  33. package/.claude/skills/cfn-redis-coordination/coverage/lcov-report/sorter.js +210 -0
  34. package/.claude/skills/cfn-redis-coordination/coverage/lcov-report/swarm-manager.ts.html +1567 -0
  35. package/.claude/skills/cfn-redis-coordination/coverage/lcov-report/task-analyzer.ts.html +1297 -0
  36. package/.claude/skills/cfn-redis-coordination/coverage/lcov-report/task-executor.ts.html +1354 -0
  37. package/.claude/skills/cfn-redis-coordination/coverage/lcov-report/types.ts.html +790 -0
  38. package/.claude/skills/cfn-redis-coordination/coverage/lcov-report/waiting-coordinator.ts.html +1846 -0
  39. package/.claude/skills/cfn-redis-coordination/coverage/lcov.info +2650 -0
  40. package/.claude/skills/cfn-redis-coordination/dist/task-analyzer.js +1 -1
  41. package/.claude/skills/cfn-redis-coordination/src/task-analyzer.ts +1 -1
  42. package/.claude/skills/cfn-redis-coordination/tests/coordination.test.ts +18 -9
  43. package/claude-assets/agents/cfn-dev-team/coordinators/cfn-frontend-coordinator.md +13 -72
  44. package/claude-assets/agents/cfn-dev-team/coordinators/cfn-v3-coordinator.md +5 -65
  45. package/claude-assets/agents/cfn-dev-team/coordinators/consensus-builder.md +465 -508
  46. package/claude-assets/agents/cfn-dev-team/coordinators/handoff-coordinator.md +733 -743
  47. package/claude-assets/agents/cfn-dev-team/coordinators/multi-sprint-coordinator.md +13 -79
  48. package/claude-assets/agents/cfn-dev-team/dev-ops/docker-specialist.md +13 -18
  49. package/claude-assets/agents/cfn-dev-team/dev-ops/kubernetes-specialist.md +13 -18
  50. package/claude-assets/agents/cfn-dev-team/developers/api-gateway-specialist.md +13 -18
  51. package/claude-assets/agents/cfn-dev-team/developers/backend-developer.md +15 -17
  52. package/claude-assets/agents/cfn-dev-team/developers/data/data-engineer.md +15 -17
  53. package/claude-assets/agents/cfn-dev-team/developers/database/database-architect.md +15 -14
  54. package/claude-assets/agents/cfn-dev-team/developers/frontend/mobile-dev.md +15 -17
  55. package/claude-assets/agents/cfn-dev-team/developers/frontend/react-frontend-engineer.md +15 -17
  56. package/claude-assets/agents/cfn-dev-team/developers/frontend/typescript-specialist.md +15 -17
  57. package/claude-assets/agents/cfn-dev-team/developers/frontend/ui-designer.md +23 -30
  58. package/claude-assets/agents/cfn-dev-team/developers/graphql-specialist.md +13 -18
  59. package/claude-assets/agents/cfn-dev-team/developers/rust-developer.md +13 -18
  60. package/claude-assets/agents/cfn-dev-team/reviewers/code-reviewer.md +312 -317
  61. package/claude-assets/agents/cfn-dev-team/reviewers/quality/code-quality-validator.md +23 -20
  62. package/claude-assets/agents/cfn-dev-team/reviewers/quality/perf-analyzer.md +23 -20
  63. package/claude-assets/agents/cfn-dev-team/reviewers/quality/performance-benchmarker.md +23 -20
  64. package/claude-assets/agents/cfn-dev-team/reviewers/quality/security-specialist.md +23 -20
  65. package/claude-assets/agents/cfn-dev-team/testers/api-testing-specialist.md +15 -20
  66. package/claude-assets/agents/cfn-dev-team/testers/chaos-engineering-specialist.md +15 -20
  67. package/claude-assets/agents/cfn-dev-team/testers/contract-tester.md +718 -737
  68. package/claude-assets/agents/cfn-dev-team/testers/integration-tester.md +817 -828
  69. package/claude-assets/agents/cfn-dev-team/testers/interaction-tester.md +15 -20
  70. package/claude-assets/agents/cfn-dev-team/testers/load-testing-specialist.md +8 -9
  71. package/claude-assets/agents/cfn-dev-team/testers/mutation-testing-specialist.md +668 -684
  72. package/claude-assets/agents/cfn-dev-team/testers/playwright-tester.md +15 -20
  73. package/claude-assets/agents/cfn-dev-team/testers/tester.md +248 -253
  74. package/claude-assets/agents/cfn-dev-team/utility/epic-creator.md +13 -18
  75. package/claude-assets/agents/cfn-dev-team/utility/memory-leak-specialist.md +13 -18
  76. package/claude-assets/agents/cfn-dev-team/utility/z-ai-specialist.md +13 -18
  77. package/claude-assets/cfn-extras/agents/google-sheets/google-sheets-coordinator.md +1 -1
  78. package/claude-assets/cfn-extras/docs/GOOGLE_SHEETS_CFN_LOOP.md +13 -11
  79. package/claude-assets/skills/cfn-loop-orchestration/helpers/gate-check.sh +39 -577
  80. package/claude-assets/skills/cfn-loop-orchestration/helpers/parse-test-results.sh +49 -270
  81. package/claude-assets/skills/cfn-loop-orchestration/src/helpers/consensus.ts +87 -0
  82. package/claude-assets/skills/cfn-loop-orchestration/src/helpers/deliverable-verifier.ts +103 -0
  83. package/claude-assets/skills/cfn-loop-orchestration/src/helpers/gate-check.ts +115 -0
  84. package/claude-assets/skills/cfn-loop-orchestration/src/helpers/iteration-manager.ts +45 -0
  85. package/claude-assets/skills/cfn-loop-orchestration/src/helpers/parse-test-results.ts +372 -0
  86. package/claude-assets/skills/cfn-loop-orchestration/src/helpers/timeout-calculator.ts +41 -0
  87. package/claude-assets/skills/cfn-loop-orchestration/tests/consensus.test.ts +142 -0
  88. package/claude-assets/skills/cfn-loop-orchestration/tests/deliverable-verifier.test.ts +197 -0
  89. package/claude-assets/skills/cfn-loop-orchestration/tests/gate-check.test.ts +325 -0
  90. package/claude-assets/skills/cfn-loop-orchestration/tests/iteration-manager.test.ts +132 -0
  91. package/claude-assets/skills/cfn-loop-orchestration/tests/parse-test-results.test.ts +382 -0
  92. package/claude-assets/skills/cfn-loop-orchestration/tests/timeout-calculator.test.ts +118 -0
  93. package/claude-assets/skills/cfn-redis-coordination/coverage/clover.xml +1447 -0
  94. package/claude-assets/skills/cfn-redis-coordination/coverage/coverage-final.json +13 -0
  95. package/claude-assets/skills/cfn-redis-coordination/coverage/lcov-report/agent-logger.ts.html +1423 -0
  96. package/claude-assets/skills/cfn-redis-coordination/coverage/lcov-report/agent-recovery.ts.html +1447 -0
  97. package/claude-assets/skills/cfn-redis-coordination/coverage/lcov-report/base.css +224 -0
  98. package/claude-assets/skills/cfn-redis-coordination/coverage/lcov-report/block-navigation.js +87 -0
  99. package/claude-assets/skills/cfn-redis-coordination/coverage/lcov-report/completion-reporter.ts.html +1273 -0
  100. package/claude-assets/skills/cfn-redis-coordination/coverage/lcov-report/context-manager.ts.html +1066 -0
  101. package/claude-assets/skills/cfn-redis-coordination/coverage/lcov-report/favicon.png +0 -0
  102. package/claude-assets/skills/cfn-redis-coordination/coverage/lcov-report/index.html +281 -0
  103. package/claude-assets/skills/cfn-redis-coordination/coverage/lcov-report/mode-detector.ts.html +550 -0
  104. package/claude-assets/skills/cfn-redis-coordination/coverage/lcov-report/prettify.css +1 -0
  105. package/claude-assets/skills/cfn-redis-coordination/coverage/lcov-report/prettify.js +2 -0
  106. package/claude-assets/skills/cfn-redis-coordination/coverage/lcov-report/redis-client.ts.html +2047 -0
  107. package/claude-assets/skills/cfn-redis-coordination/coverage/lcov-report/result-collector.ts.html +1396 -0
  108. package/claude-assets/skills/cfn-redis-coordination/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  109. package/claude-assets/skills/cfn-redis-coordination/coverage/lcov-report/sorter.js +210 -0
  110. package/claude-assets/skills/cfn-redis-coordination/coverage/lcov-report/swarm-manager.ts.html +1567 -0
  111. package/claude-assets/skills/cfn-redis-coordination/coverage/lcov-report/task-analyzer.ts.html +1297 -0
  112. package/claude-assets/skills/cfn-redis-coordination/coverage/lcov-report/task-executor.ts.html +1354 -0
  113. package/claude-assets/skills/cfn-redis-coordination/coverage/lcov-report/types.ts.html +790 -0
  114. package/claude-assets/skills/cfn-redis-coordination/coverage/lcov-report/waiting-coordinator.ts.html +1846 -0
  115. package/claude-assets/skills/cfn-redis-coordination/coverage/lcov.info +2650 -0
  116. package/claude-assets/skills/cfn-redis-coordination/dist/task-analyzer.js +1 -1
  117. package/claude-assets/skills/cfn-redis-coordination/src/task-analyzer.ts +1 -1
  118. package/claude-assets/skills/cfn-redis-coordination/tests/coordination.test.ts +18 -9
  119. package/dist/agents/agent-loader.js +165 -146
  120. package/dist/agents/agent-loader.js.map +1 -1
  121. package/package.json +1 -1
  122. package/scripts/clean-agent-profiles.sh +112 -0
@@ -100,7 +100,7 @@ class TaskAnalyzer {
100
100
  else if (complexityScore <= 9) {
101
101
  finalDifficulty = 'standard';
102
102
  }
103
- else if (complexityScore <= 15) {
103
+ else if (complexityScore <= 12) {
104
104
  finalDifficulty = 'complex';
105
105
  }
106
106
  else {
@@ -139,7 +139,7 @@ export class TaskAnalyzer {
139
139
  finalDifficulty = 'simple';
140
140
  } else if (complexityScore <= 9) {
141
141
  finalDifficulty = 'standard';
142
- } else if (complexityScore <= 15) {
142
+ } else if (complexityScore <= 12) {
143
143
  finalDifficulty = 'complex';
144
144
  } else {
145
145
  finalDifficulty = 'enterprise';
@@ -323,6 +323,8 @@ describe('Completion Reporter', () => {
323
323
  });
324
324
 
325
325
  it('should report test results with valid pass rate', async () => {
326
+ jest.spyOn(redis, 'canUseRedis', 'get').mockReturnValue(false);
327
+
326
328
  const taskId = 'task-123' as any;
327
329
  const agentId = 'agent-1' as any;
328
330
  const results = {
@@ -333,7 +335,7 @@ describe('Completion Reporter', () => {
333
335
  timestamp: new Date().toISOString()
334
336
  };
335
337
 
336
- // Should not throw
338
+ // Should not throw in Task Mode
337
339
  await expect(
338
340
  reporter.reportTestResults(taskId, agentId, results)
339
341
  ).resolves.not.toThrow();
@@ -574,7 +576,7 @@ describe('Task Analyzer', () => {
574
576
  expect(analyzer.suggestMode(simple)).toBe('mvp');
575
577
 
576
578
  const complex = analyzer.analyzeComplexity(
577
- 'Enterprise multi-tenant distributed system with ML integration'
579
+ 'Enterprise multi-tenant distributed system with ML integration and compliance requirements'
578
580
  );
579
581
  expect(analyzer.suggestMode(complex)).toBe('enterprise');
580
582
  });
@@ -676,7 +678,8 @@ describe('Integration scenarios', () => {
676
678
  const redis = new RedisCoordinator();
677
679
  const logger = new ConsoleLogger('[Integration]');
678
680
 
679
- jest.spyOn(redis, 'canUseRedis', 'get').mockReturnValue(true);
681
+ // Task Mode: graceful no-op behavior
682
+ jest.spyOn(redis, 'canUseRedis', 'get').mockReturnValue(false);
680
683
 
681
684
  const context = new ContextManager(redis, logger);
682
685
  const completion = new CompletionReporter(redis, logger);
@@ -685,11 +688,15 @@ describe('Integration scenarios', () => {
685
688
  const taskId = 'integration-test' as any;
686
689
  const agentId = 'test-agent' as any;
687
690
 
688
- // Agent starts work
689
- await recovery.recordHeartbeat(taskId, agentId, 12345);
691
+ // Agent starts work (Task Mode no-op)
692
+ await expect(
693
+ recovery.recordHeartbeat(taskId, agentId, 12345)
694
+ ).resolves.not.toThrow();
690
695
 
691
- // Agent completes
692
- await completion.reportCompletion(taskId, agentId, 0.92);
696
+ // Agent completes (Task Mode no-op)
697
+ await expect(
698
+ completion.reportCompletion(taskId, agentId, 0.92)
699
+ ).resolves.not.toThrow();
693
700
 
694
701
  // Verify context was handled correctly
695
702
  expect(context).toBeDefined();
@@ -699,7 +706,8 @@ describe('Integration scenarios', () => {
699
706
  const redis = new RedisCoordinator();
700
707
  const logger = new ConsoleLogger('[MultiAgent]');
701
708
 
702
- jest.spyOn(redis, 'canUseRedis', 'get').mockReturnValue(true);
709
+ // Task Mode: graceful no-op behavior
710
+ jest.spyOn(redis, 'canUseRedis', 'get').mockReturnValue(false);
703
711
 
704
712
  const coordinator = new WaitingCoordinator(redis, logger);
705
713
  const taskId = 'multi-agent-test' as any;
@@ -710,7 +718,7 @@ describe('Integration scenarios', () => {
710
718
  ];
711
719
 
712
720
  // All agents try to complete
713
- // In Task Mode, should return immediately and successfully
721
+ // In Task Mode, should return immediately and successfully with empty results
714
722
  const result = await coordinator.waitForMultipleAgents(
715
723
  taskId,
716
724
  agents,
@@ -718,6 +726,7 @@ describe('Integration scenarios', () => {
718
726
  );
719
727
 
720
728
  expect(result.completed).toBeDefined();
729
+ expect(Array.isArray(result.completed)).toBe(true);
721
730
  });
722
731
  });
723
732
 
@@ -1,12 +1,145 @@
1
+ "use strict";
1
2
  /**
2
3
  * Dynamic Agent Loader - Reads agent definitions from .claude/agents/ directory
3
4
  * Single source of truth for agent types in the system
4
- */ import { readFileSync, existsSync } from 'node:fs';
5
- import { glob } from 'glob';
6
- import { resolve, dirname } from 'node:path';
7
- import { parse as parseYaml } from 'yaml';
5
+ */ var __awaiter = this && this.__awaiter || function(thisArg, _arguments, P, generator) {
6
+ function adopt(value) {
7
+ return value instanceof P ? value : new P(function(resolve) {
8
+ resolve(value);
9
+ });
10
+ }
11
+ return new (P || (P = Promise))(function(resolve, reject) {
12
+ function fulfilled(value) {
13
+ try {
14
+ step(generator.next(value));
15
+ } catch (e) {
16
+ reject(e);
17
+ }
18
+ }
19
+ function rejected(value) {
20
+ try {
21
+ step(generator["throw"](value));
22
+ } catch (e) {
23
+ reject(e);
24
+ }
25
+ }
26
+ function step(result) {
27
+ result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
28
+ }
29
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
30
+ });
31
+ };
32
+ var __generator = this && this.__generator || function(thisArg, body) {
33
+ var _ = {
34
+ label: 0,
35
+ sent: function() {
36
+ if (t[0] & 1) throw t[1];
37
+ return t[1];
38
+ },
39
+ trys: [],
40
+ ops: []
41
+ }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
42
+ return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() {
43
+ return this;
44
+ }), g;
45
+ function verb(n) {
46
+ return function(v) {
47
+ return step([
48
+ n,
49
+ v
50
+ ]);
51
+ };
52
+ }
53
+ function step(op) {
54
+ if (f) throw new TypeError("Generator is already executing.");
55
+ while(g && (g = 0, op[0] && (_ = 0)), _)try {
56
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
57
+ if (y = 0, t) op = [
58
+ op[0] & 2,
59
+ t.value
60
+ ];
61
+ switch(op[0]){
62
+ case 0:
63
+ case 1:
64
+ t = op;
65
+ break;
66
+ case 4:
67
+ _.label++;
68
+ return {
69
+ value: op[1],
70
+ done: false
71
+ };
72
+ case 5:
73
+ _.label++;
74
+ y = op[1];
75
+ op = [
76
+ 0
77
+ ];
78
+ continue;
79
+ case 7:
80
+ op = _.ops.pop();
81
+ _.trys.pop();
82
+ continue;
83
+ default:
84
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {
85
+ _ = 0;
86
+ continue;
87
+ }
88
+ if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {
89
+ _.label = op[1];
90
+ break;
91
+ }
92
+ if (op[0] === 6 && _.label < t[1]) {
93
+ _.label = t[1];
94
+ t = op;
95
+ break;
96
+ }
97
+ if (t && _.label < t[2]) {
98
+ _.label = t[2];
99
+ _.ops.push(op);
100
+ break;
101
+ }
102
+ if (t[2]) _.ops.pop();
103
+ _.trys.pop();
104
+ continue;
105
+ }
106
+ op = body.call(thisArg, _);
107
+ } catch (e) {
108
+ op = [
109
+ 6,
110
+ e
111
+ ];
112
+ y = 0;
113
+ } finally{
114
+ f = t = 0;
115
+ }
116
+ if (op[0] & 5) throw op[1];
117
+ return {
118
+ value: op[0] ? op[1] : void 0,
119
+ done: true
120
+ };
121
+ }
122
+ };
123
+ var __spreadArray = this && this.__spreadArray || function(to, from, pack) {
124
+ if (pack || arguments.length === 2) for(var i = 0, l = from.length, ar; i < l; i++){
125
+ if (ar || !(i in from)) {
126
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
127
+ ar[i] = from[i];
128
+ }
129
+ }
130
+ return to.concat(ar || Array.prototype.slice.call(from));
131
+ };
132
+ Object.defineProperty(exports, "__esModule", {
133
+ value: true
134
+ });
135
+ exports.refreshAgents = exports.getAgentsByCategory = exports.isValidAgentType = exports.searchAgents = exports.getAgentCategories = exports.getAllAgents = exports.getAgent = exports.getAvailableAgentTypes = exports.agentLoader = exports.AgentLoader = void 0;
136
+ exports.resolveLegacyAgentType = resolveLegacyAgentType;
137
+ var node_fs_1 = require("node:fs");
138
+ var glob_1 = require("glob");
139
+ var node_path_1 = require("node:path");
140
+ var yaml_1 = require("yaml");
8
141
  // Legacy agent type mapping for backward compatibility
9
- const LEGACY_AGENT_MAPPING = {
142
+ var LEGACY_AGENT_MAPPING = {
10
143
  analyst: 'code-analyzer',
11
144
  coordinator: 'hierarchical-coordinator',
12
145
  optimizer: 'perf-analyzer',
@@ -17,38 +150,40 @@ const LEGACY_AGENT_MAPPING = {
17
150
  };
18
151
  /**
19
152
  * Resolve legacy agent types to current equivalents
20
- */ export function resolveLegacyAgentType(legacyType) {
153
+ */ function resolveLegacyAgentType(legacyType) {
21
154
  return LEGACY_AGENT_MAPPING[legacyType] || legacyType;
22
155
  }
23
- export class AgentLoader {
24
- agentCache = new Map();
25
- categoriesCache = [];
26
- lastLoadTime = 0;
27
- CACHE_EXPIRY = 60_000;
28
- getAgentsDirectory() {
29
- let currentDir = process.cwd();
156
+ var AgentLoader = /** @class */ function() {
157
+ function AgentLoader() {
158
+ this.agentCache = new Map();
159
+ this.categoriesCache = [];
160
+ this.lastLoadTime = 0;
161
+ this.CACHE_EXPIRY = 60000; // 1 minute cache
162
+ }
163
+ AgentLoader.prototype.getAgentsDirectory = function() {
164
+ var currentDir = process.cwd();
30
165
  while(currentDir !== '/'){
31
- const claudeAgentsPath = resolve(currentDir, '.claude', 'agents');
32
- if (existsSync(claudeAgentsPath)) {
166
+ var claudeAgentsPath = (0, node_path_1.resolve)(currentDir, '.claude', 'agents');
167
+ if ((0, node_fs_1.existsSync)(claudeAgentsPath)) {
33
168
  return claudeAgentsPath;
34
169
  }
35
- currentDir = dirname(currentDir);
170
+ currentDir = (0, node_path_1.dirname)(currentDir);
36
171
  }
37
- return resolve(process.cwd(), '.claude', 'agents');
38
- }
39
- parseAgentFile(filePath) {
172
+ return (0, node_path_1.resolve)(process.cwd(), '.claude', 'agents');
173
+ };
174
+ AgentLoader.prototype.parseAgentFile = function(filePath) {
40
175
  try {
41
- const content = readFileSync(filePath, 'utf-8');
42
- const frontmatterMatch = content.match(/^---\r?\n([\s\S]*?)\r?\n---\r?\n([\s\S]*)$/);
176
+ var content = (0, node_fs_1.readFileSync)(filePath, 'utf-8');
177
+ var frontmatterMatch = content.match(/^---\r?\n([\s\S]*?)\r?\n---\r?\n([\s\S]*)$/);
43
178
  if (!frontmatterMatch) {
44
- console.warn(`No frontmatter found in ${filePath}`);
179
+ console.warn("No frontmatter found in ".concat(filePath));
45
180
  return null;
46
181
  }
47
- const [, yamlContent, markdownContent] = frontmatterMatch;
48
- const frontmatter = parseYaml(yamlContent);
49
- const description = frontmatter.description;
182
+ var yamlContent = frontmatterMatch[1], markdownContent = frontmatterMatch[2];
183
+ var frontmatter = (0, yaml_1.parse)(yamlContent);
184
+ var description = frontmatter.description;
50
185
  if (!frontmatter.name || !description) {
51
- console.warn(`Missing required fields (name, description) in ${filePath}`);
186
+ console.warn("Missing required fields (name, description) in ".concat(filePath));
52
187
  return null;
53
188
  }
54
189
  return {
@@ -69,129 +204,13 @@ export class AgentLoader {
69
204
  content: markdownContent.trim()
70
205
  };
71
206
  } catch (error) {
72
- console.error(`Error parsing agent file ${filePath}:`, error);
207
+ console.error("Error parsing agent file ".concat(filePath, ":"), error);
73
208
  return null;
74
209
  }
75
- }
76
- parseTools(frontmatter) {
77
- const extractTools = (input)=>{
210
+ };
211
+ AgentLoader.prototype.parseTools = function(frontmatter) {
212
+ var extractTools = function(input) {
78
213
  if (Array.isArray(input)) return input.map(String);
79
- if (typeof input === 'string') {
80
- return input.split(/[,\s]+/).map((t)=>t.trim()).filter((t)=>t.length > 0);
81
- }
82
- return [];
83
- };
84
- // Safely handle tools and capabilities.tools
85
- const toolsFromFrontmatter = frontmatter.tools ? extractTools(frontmatter.tools) : [];
86
- const toolsFromCapabilities = frontmatter.capabilities && typeof frontmatter.capabilities === 'object' ? extractTools(Object(frontmatter.capabilities).tools) : [];
87
- return [
88
- ...toolsFromFrontmatter,
89
- ...toolsFromCapabilities
90
- ];
91
- }
92
- async loadAgents() {
93
- const agentsDir = this.getAgentsDirectory();
94
- if (!existsSync(agentsDir)) {
95
- console.warn(`Agents directory not found: ${agentsDir}`);
96
- return;
97
- }
98
- const agentFiles = await new Promise((resolve, reject)=>{
99
- glob('**/*.md', {
100
- cwd: agentsDir,
101
- ignore: [
102
- '**/README.md',
103
- '**/MIGRATION_SUMMARY.md'
104
- ],
105
- absolute: true
106
- }, (err, matches)=>{
107
- if (err) reject(err);
108
- else resolve(matches);
109
- });
110
- });
111
- this.agentCache.clear();
112
- this.categoriesCache = [];
113
- const categoryMap = new Map();
114
- for (const filePath of agentFiles){
115
- const agent = this.parseAgentFile(filePath);
116
- if (agent) {
117
- this.agentCache.set(agent.name, agent);
118
- const relativePath = filePath.replace(agentsDir, '');
119
- const pathParts = relativePath.split('/');
120
- const category = pathParts[1] || 'uncategorized';
121
- if (!categoryMap.has(category)) {
122
- categoryMap.set(category, []);
123
- }
124
- categoryMap.get(category).push(agent);
125
- }
126
- }
127
- this.categoriesCache = Array.from(categoryMap.entries()).map(([name, agents])=>({
128
- name,
129
- agents: agents.sort((a, b)=>a.name.localeCompare(b.name))
130
- }));
131
- this.lastLoadTime = Date.now();
132
- }
133
- // Rest of the methods remain similar to the original implementation
134
- needsRefresh() {
135
- return Date.now() - this.lastLoadTime > this.CACHE_EXPIRY;
136
- }
137
- async ensureLoaded() {
138
- if (this.agentCache.size === 0 || this.needsRefresh()) {
139
- await this.loadAgents();
140
- }
141
- }
142
- async getAvailableAgentTypes() {
143
- await this.ensureLoaded();
144
- const currentTypes = Array.from(this.agentCache.keys());
145
- const legacyTypes = Object.keys(LEGACY_AGENT_MAPPING);
146
- return Array.from(new Set([
147
- ...currentTypes,
148
- ...legacyTypes
149
- ])).sort();
150
- }
151
- async getAgent(name) {
152
- await this.ensureLoaded();
153
- return this.agentCache.get(name) || this.agentCache.get(resolveLegacyAgentType(name)) || null;
154
- }
155
- async getAllAgents() {
156
- await this.ensureLoaded();
157
- return Array.from(this.agentCache.values()).sort((a, b)=>a.name.localeCompare(b.name));
158
- }
159
- async getAgentCategories() {
160
- await this.ensureLoaded();
161
- return this.categoriesCache;
162
- }
163
- async searchAgents(query) {
164
- await this.ensureLoaded();
165
- const lowerQuery = query.toLowerCase();
166
- return Array.from(this.agentCache.values()).filter((agent)=>agent.name.toLowerCase().includes(lowerQuery) || agent.description.toLowerCase().includes(lowerQuery) || agent.capabilities?.some((cap)=>cap.toLowerCase().includes(lowerQuery)));
167
- }
168
- async isValidAgentType(name) {
169
- await this.ensureLoaded();
170
- return this.agentCache.has(name) || this.agentCache.has(resolveLegacyAgentType(name));
171
- }
172
- async getAgentsByCategory(category) {
173
- const categories = await this.getAgentCategories();
174
- const found = categories.find((cat)=>cat.name === category);
175
- return found?.agents || [];
176
- }
177
- async refresh() {
178
- this.lastLoadTime = 0;
179
- await this.loadAgents();
180
- }
181
- }
182
- // Singleton instance
183
- export const agentLoader = new AgentLoader();
184
- // Convenience exports for use in other modules
185
- export const getAvailableAgentTypes = ()=>agentLoader.getAvailableAgentTypes();
186
- export const getAgent = (name)=>agentLoader.getAgent(name);
187
- export const getAllAgents = ()=>agentLoader.getAllAgents();
188
- export const getAgentCategories = ()=>agentLoader.getAgentCategories();
189
- export const searchAgents = (query)=>agentLoader.searchAgents(query);
190
- export const isValidAgentType = (name)=>agentLoader.isValidAgentType(name);
191
- export const getAgentsByCategory = (category)=>agentLoader.getAgentsByCategory(category);
192
- export const refreshAgents = ()=>agentLoader.refresh();
193
-
194
- //# sourceMappingURL=agent-loader.js.map.isArray(input)) return input.map(String);
195
214
  if (typeof input === 'string') {
196
215
  return input.split(/[,\s]+/).map(function(t) {
197
216
  return t.trim();
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/agents/agent-loader.ts"],"sourcesContent":["/**\n * Dynamic Agent Loader - Reads agent definitions from .claude/agents/ directory\n * Single source of truth for agent types in the system\n */\n\nimport { readFileSync, existsSync } from 'node:fs';\nimport { glob } from 'glob';\nimport { resolve, dirname } from 'node:path';\nimport { parse as parseYaml } from 'yaml';\n\n// Legacy agent type mapping for backward compatibility\nconst LEGACY_AGENT_MAPPING = {\n analyst: 'code-analyzer',\n coordinator: 'hierarchical-coordinator',\n optimizer: 'perf-analyzer',\n documenter: 'api-docs',\n monitor: 'performance-benchmarker',\n specialist: 'system-architect',\n architect: 'system-architect',\n} as const;\n\n/**\n * Resolve legacy agent types to current equivalents\n */\nexport function resolveLegacyAgentType(legacyType: string): string {\n return LEGACY_AGENT_MAPPING[legacyType as keyof typeof LEGACY_AGENT_MAPPING] || legacyType;\n}\n\nexport interface AgentDefinition {\n name: string;\n type?: string;\n color?: string;\n description: string;\n tools?: string[];\n model?: string;\n capabilities?: string[];\n priority?: 'low' | 'medium' | 'high' | 'critical';\n hooks?: {\n pre?: string;\n post?: string;\n task_complete?: string;\n on_rerun_request?: string;\n lifecycle?: Record<string, string>;\n };\n lifecycle?: {\n state_management?: boolean;\n persistent_memory?: boolean;\n max_retries?: number;\n timeout_ms?: number;\n auto_cleanup?: boolean;\n };\n content?: string;\n}\n\nexport interface AgentCategory {\n name: string;\n agents: AgentDefinition[];\n}\n\nexport class AgentLoader {\n private agentCache = new Map<string, AgentDefinition>();\n private categoriesCache: AgentCategory[] = [];\n private lastLoadTime = 0;\n private readonly CACHE_EXPIRY = 60_000; // 1 minute cache\n\n private getAgentsDirectory(): string {\n let currentDir = process.cwd();\n\n while (currentDir !== '/') {\n const claudeAgentsPath = resolve(currentDir, '.claude', 'agents');\n if (existsSync(claudeAgentsPath)) {\n return claudeAgentsPath;\n }\n currentDir = dirname(currentDir);\n }\n\n return resolve(process.cwd(), '.claude', 'agents');\n }\n\n private parseAgentFile(filePath: string): AgentDefinition | null {\n try {\n const content = readFileSync(filePath, 'utf-8');\n\n const frontmatterMatch = content.match(/^---\\r?\\n([\\s\\S]*?)\\r?\\n---\\r?\\n([\\s\\S]*)$/);\n if (!frontmatterMatch) {\n console.warn(`No frontmatter found in ${filePath}`);\n return null;\n }\n\n const [, yamlContent, markdownContent] = frontmatterMatch;\n const frontmatter = parseYaml(yamlContent) as Record<string, unknown>;\n\n const description = frontmatter.description;\n if (!frontmatter.name || !description) {\n console.warn(`Missing required fields (name, description) in ${filePath}`);\n return null;\n }\n\n return {\n name: String(frontmatter.name),\n type: frontmatter.type ? String(frontmatter.type) : undefined,\n color: frontmatter.color ? String(frontmatter.color) : undefined,\n description: String(description),\n model: frontmatter.model ? String(frontmatter.model) : undefined,\n capabilities: Array.isArray(frontmatter.capabilities)\n ? frontmatter.capabilities.map(String)\n : [],\n priority: ['low', 'medium', 'high', 'critical'].includes(String(frontmatter.priority))\n ? String(frontmatter.priority) as AgentDefinition['priority']\n : 'medium',\n tools: this.parseTools(frontmatter),\n hooks: frontmatter.hooks as AgentDefinition['hooks'],\n content: markdownContent.trim(),\n };\n } catch (error) {\n console.error(`Error parsing agent file ${filePath}:`, error);\n return null;\n }\n }\n\n private parseTools(frontmatter: Record<string, unknown>): string[] {\n const extractTools = (input: unknown): string[] => {\n if (Array.isArray(input)) return input.map(String);\n if (typeof input === 'string') {\n return input.split(/[,\\s]+/).map(t => t.trim()).filter(t => t.length > 0);\n }\n return [];\n };\n\n // Safely handle tools and capabilities.tools\n const toolsFromFrontmatter = frontmatter.tools\n ? extractTools(frontmatter.tools)\n : [];\n\n const toolsFromCapabilities = frontmatter.capabilities && typeof frontmatter.capabilities === 'object'\n ? extractTools(Object(frontmatter.capabilities).tools)\n : [];\n\n return [...toolsFromFrontmatter, ...toolsFromCapabilities];\n }\n\n private async loadAgents(): Promise<void> {\n const agentsDir = this.getAgentsDirectory();\n\n if (!existsSync(agentsDir)) {\n console.warn(`Agents directory not found: ${agentsDir}`);\n return;\n }\n\n const agentFiles = await new Promise<string[]>((resolve, reject) => {\n glob('**/*.md', {\n cwd: agentsDir,\n ignore: ['**/README.md', '**/MIGRATION_SUMMARY.md'],\n absolute: true\n }, (err, matches) => {\n if (err) reject(err);\n else resolve(matches);\n });\n });\n\n this.agentCache.clear();\n this.categoriesCache = [];\n\n const categoryMap = new Map<string, AgentDefinition[]>();\n\n for (const filePath of agentFiles) {\n const agent = this.parseAgentFile(filePath);\n if (agent) {\n this.agentCache.set(agent.name, agent);\n\n const relativePath = filePath.replace(agentsDir, '');\n const pathParts = relativePath.split('/');\n const category = pathParts[1] || 'uncategorized';\n\n if (!categoryMap.has(category)) {\n categoryMap.set(category, []);\n }\n categoryMap.get(category)!.push(agent);\n }\n }\n\n this.categoriesCache = Array.from(categoryMap.entries()).map(([name, agents]) => ({\n name,\n agents: agents.sort((a, b) => a.name.localeCompare(b.name)),\n }));\n\n this.lastLoadTime = Date.now();\n }\n\n // Rest of the methods remain similar to the original implementation\n private needsRefresh(): boolean {\n return Date.now() - this.lastLoadTime > this.CACHE_EXPIRY;\n }\n\n private async ensureLoaded(): Promise<void> {\n if (this.agentCache.size === 0 || this.needsRefresh()) {\n await this.loadAgents();\n }\n }\n\n async getAvailableAgentTypes(): Promise<string[]> {\n await this.ensureLoaded();\n const currentTypes = Array.from(this.agentCache.keys());\n const legacyTypes = Object.keys(LEGACY_AGENT_MAPPING);\n return Array.from(new Set([...currentTypes, ...legacyTypes])).sort();\n }\n\n async getAgent(name: string): Promise<AgentDefinition | null> {\n await this.ensureLoaded();\n return this.agentCache.get(name) || this.agentCache.get(resolveLegacyAgentType(name)) || null;\n }\n\n async getAllAgents(): Promise<AgentDefinition[]> {\n await this.ensureLoaded();\n return Array.from(this.agentCache.values()).sort((a, b) => a.name.localeCompare(b.name));\n }\n\n async getAgentCategories(): Promise<AgentCategory[]> {\n await this.ensureLoaded();\n return this.categoriesCache;\n }\n\n async searchAgents(query: string): Promise<AgentDefinition[]> {\n await this.ensureLoaded();\n const lowerQuery = query.toLowerCase();\n\n return Array.from(this.agentCache.values()).filter((agent) =>\n agent.name.toLowerCase().includes(lowerQuery) ||\n agent.description.toLowerCase().includes(lowerQuery) ||\n agent.capabilities?.some((cap) => cap.toLowerCase().includes(lowerQuery))\n );\n }\n\n async isValidAgentType(name: string): Promise<boolean> {\n await this.ensureLoaded();\n return this.agentCache.has(name) || this.agentCache.has(resolveLegacyAgentType(name));\n }\n\n async getAgentsByCategory(category: string): Promise<AgentDefinition[]> {\n const categories = await this.getAgentCategories();\n const found = categories.find((cat) => cat.name === category);\n return found?.agents || [];\n }\n\n async refresh(): Promise<void> {\n this.lastLoadTime = 0;\n await this.loadAgents();\n }\n}\n\n// Singleton instance\nexport const agentLoader = new AgentLoader();\n\n// Convenience exports for use in other modules\nexport const getAvailableAgentTypes = () => agentLoader.getAvailableAgentTypes();\nexport const getAgent = (name: string) => agentLoader.getAgent(name);\nexport const getAllAgents = () => agentLoader.getAllAgents();\nexport const getAgentCategories = () => agentLoader.getAgentCategories();\nexport const searchAgents = (query: string) => agentLoader.searchAgents(query);\nexport const isValidAgentType = (name: string) => agentLoader.isValidAgentType(name);\nexport const getAgentsByCategory = (category: string) => agentLoader.getAgentsByCategory(category);\nexport const refreshAgents = () => agentLoader.refresh();\n"],"names":["readFileSync","existsSync","glob","resolve","dirname","parse","parseYaml","LEGACY_AGENT_MAPPING","analyst","coordinator","optimizer","documenter","monitor","specialist","architect","resolveLegacyAgentType","legacyType","AgentLoader","agentCache","Map","categoriesCache","lastLoadTime","CACHE_EXPIRY","getAgentsDirectory","currentDir","process","cwd","claudeAgentsPath","parseAgentFile","filePath","content","frontmatterMatch","match","console","warn","yamlContent","markdownContent","frontmatter","description","name","String","type","undefined","color","model","capabilities","Array","isArray","map","priority","includes","tools","parseTools","hooks","trim","error","extractTools","input","split","t","filter","length","toolsFromFrontmatter","toolsFromCapabilities","Object","loadAgents","agentsDir","agentFiles","Promise","reject","ignore","absolute","err","matches","clear","categoryMap","agent","set","relativePath","replace","pathParts","category","has","get","push","from","entries","agents","sort","a","b","localeCompare","Date","now","needsRefresh","ensureLoaded","size","getAvailableAgentTypes","currentTypes","keys","legacyTypes","Set","getAgent","getAllAgents","values","getAgentCategories","searchAgents","query","lowerQuery","toLowerCase","some","cap","isValidAgentType","getAgentsByCategory","categories","found","find","cat","refresh","agentLoader","refreshAgents"],"mappings":"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"}ories, found;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this.getAgentCategories()];\n case 1:\n categories = _a.sent();\n found = categories.find(function (cat) { return cat.name === category; });\n return [2 /*return*/, (found === null || found === void 0 ? void 0 : found.agents) || []];\n }\n });\n });\n };\n AgentLoader.prototype.refresh = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n this.lastLoadTime = 0;\n return [4 /*yield*/, this.loadAgents()];\n case 1:\n _a.sent();\n return [2 /*return*/];\n }\n });\n });\n };\n return AgentLoader;\n}());\nexports.AgentLoader = AgentLoader;\n// Singleton instance\nexports.agentLoader = new AgentLoader();\n// Convenience exports for use in other modules\nvar getAvailableAgentTypes = function () { return exports.agentLoader.getAvailableAgentTypes(); };\nexports.getAvailableAgentTypes = getAvailableAgentTypes;\nvar getAgent = function (name) { return exports.agentLoader.getAgent(name); };\nexports.getAgent = getAgent;\nvar getAllAgents = function () { return exports.agentLoader.getAllAgents(); };\nexports.getAllAgents = getAllAgents;\nvar getAgentCategories = function () { return exports.agentLoader.getAgentCategories(); };\nexports.getAgentCategories = getAgentCategories;\nvar searchAgents = function (query) { return exports.agentLoader.searchAgents(query); };\nexports.searchAgents = searchAgents;\nvar isValidAgentType = function (name) { return exports.agentLoader.isValidAgentType(name); };\nexports.isValidAgentType = isValidAgentType;\nvar getAgentsByCategory = function (category) { return exports.agentLoader.getAgentsByCategory(category); };\nexports.getAgentsByCategory = getAgentsByCategory;\nvar refreshAgents = function () { return exports.agentLoader.refresh(); };\nexports.refreshAgents = refreshAgents;\n"],"names":["__awaiter","thisArg","_arguments","P","generator","adopt","value","resolve","Promise","reject","fulfilled","step","next","e","rejected","result","done","then","apply","__generator","body","_","label","sent","t","trys","ops","f","y","g","Object","create","Iterator","prototype","verb","Symbol","iterator","n","v","op","TypeError","call","pop","length","push","__spreadArray","to","from","pack","arguments","i","l","ar","Array","slice","concat","defineProperty","exports","refreshAgents","getAgentsByCategory","isValidAgentType","searchAgents","getAgentCategories","getAllAgents","getAgent","getAvailableAgentTypes","agentLoader","AgentLoader","resolveLegacyAgentType","node_fs_1","require","glob_1","node_path_1","yaml_1","LEGACY_AGENT_MAPPING","analyst","coordinator","optimizer","documenter","monitor","specialist","architect","legacyType","agentCache","Map","categoriesCache","lastLoadTime","CACHE_EXPIRY","getAgentsDirectory","currentDir","process","cwd","claudeAgentsPath","existsSync","dirname","parseAgentFile","filePath","content","readFileSync","frontmatterMatch","match","console","warn","yamlContent","markdownContent","frontmatter","parse","description","name","String","type","undefined","color","model","capabilities","isArray","map","priority","includes","tools","parseTools","hooks","trim","error","extractTools","input","split","filter","toolsFromFrontmatter","toolsFromCapabilities","loadAgents","agentsDir","agentFiles","categoryMap","_i","agentFiles_1","agent","relativePath","pathParts","category","_a","glob","ignore","absolute","err","matches","clear","set","replace","has","get","entries","agents","sort","a","b","localeCompare","Date","now","needsRefresh","ensureLoaded","size","currentTypes","legacyTypes","keys","Set","values","query","lowerQuery","toLowerCase","some","cap","categories","found","find","cat","refresh"],"mappings":"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"}
1
+ {"version":3,"sources":["../../src/agents/agent-loader.js"],"sourcesContent":["\"use strict\";\n/**\n * Dynamic Agent Loader - Reads agent definitions from .claude/agents/ directory\n * Single source of truth for agent types in the system\n */\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === \"function\" ? Iterator : Object).prototype);\n return g.next = verb(0), g[\"throw\"] = verb(1), g[\"return\"] = verb(2), typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nvar __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.refreshAgents = exports.getAgentsByCategory = exports.isValidAgentType = exports.searchAgents = exports.getAgentCategories = exports.getAllAgents = exports.getAgent = exports.getAvailableAgentTypes = exports.agentLoader = exports.AgentLoader = void 0;\nexports.resolveLegacyAgentType = resolveLegacyAgentType;\nvar node_fs_1 = require(\"node:fs\");\nvar glob_1 = require(\"glob\");\nvar node_path_1 = require(\"node:path\");\nvar yaml_1 = require(\"yaml\");\n// Legacy agent type mapping for backward compatibility\nvar LEGACY_AGENT_MAPPING = {\n analyst: 'code-analyzer',\n coordinator: 'hierarchical-coordinator',\n optimizer: 'perf-analyzer',\n documenter: 'api-docs',\n monitor: 'performance-benchmarker',\n specialist: 'system-architect',\n architect: 'system-architect',\n};\n/**\n * Resolve legacy agent types to current equivalents\n */\nfunction resolveLegacyAgentType(legacyType) {\n return LEGACY_AGENT_MAPPING[legacyType] || legacyType;\n}\nvar AgentLoader = /** @class */ (function () {\n function AgentLoader() {\n this.agentCache = new Map();\n this.categoriesCache = [];\n this.lastLoadTime = 0;\n this.CACHE_EXPIRY = 60000; // 1 minute cache\n }\n AgentLoader.prototype.getAgentsDirectory = function () {\n var currentDir = process.cwd();\n while (currentDir !== '/') {\n var claudeAgentsPath = (0, node_path_1.resolve)(currentDir, '.claude', 'agents');\n if ((0, node_fs_1.existsSync)(claudeAgentsPath)) {\n return claudeAgentsPath;\n }\n currentDir = (0, node_path_1.dirname)(currentDir);\n }\n return (0, node_path_1.resolve)(process.cwd(), '.claude', 'agents');\n };\n AgentLoader.prototype.parseAgentFile = function (filePath) {\n try {\n var content = (0, node_fs_1.readFileSync)(filePath, 'utf-8');\n var frontmatterMatch = content.match(/^---\\r?\\n([\\s\\S]*?)\\r?\\n---\\r?\\n([\\s\\S]*)$/);\n if (!frontmatterMatch) {\n console.warn(\"No frontmatter found in \".concat(filePath));\n return null;\n }\n var yamlContent = frontmatterMatch[1], markdownContent = frontmatterMatch[2];\n var frontmatter = (0, yaml_1.parse)(yamlContent);\n var description = frontmatter.description;\n if (!frontmatter.name || !description) {\n console.warn(\"Missing required fields (name, description) in \".concat(filePath));\n return null;\n }\n return {\n name: String(frontmatter.name),\n type: frontmatter.type ? String(frontmatter.type) : undefined,\n color: frontmatter.color ? String(frontmatter.color) : undefined,\n description: String(description),\n model: frontmatter.model ? String(frontmatter.model) : undefined,\n capabilities: Array.isArray(frontmatter.capabilities)\n ? frontmatter.capabilities.map(String)\n : [],\n priority: ['low', 'medium', 'high', 'critical'].includes(String(frontmatter.priority))\n ? String(frontmatter.priority)\n : 'medium',\n tools: this.parseTools(frontmatter),\n hooks: frontmatter.hooks,\n content: markdownContent.trim(),\n };\n }\n catch (error) {\n console.error(\"Error parsing agent file \".concat(filePath, \":\"), error);\n return null;\n }\n };\n AgentLoader.prototype.parseTools = function (frontmatter) {\n var extractTools = function (input) {\n if (Array.isArray(input))\n return input.map(String);\n if (typeof input === 'string') {\n return input.split(/[,\\s]+/).map(function (t) { return t.trim(); }).filter(function (t) { return t.length > 0; });\n }\n return [];\n };\n // Safely handle tools and capabilities.tools\n var toolsFromFrontmatter = frontmatter.tools\n ? extractTools(frontmatter.tools)\n : [];\n var toolsFromCapabilities = frontmatter.capabilities && typeof frontmatter.capabilities === 'object'\n ? extractTools(Object(frontmatter.capabilities).tools)\n : [];\n return __spreadArray(__spreadArray([], toolsFromFrontmatter, true), toolsFromCapabilities, true);\n };\n AgentLoader.prototype.loadAgents = function () {\n return __awaiter(this, void 0, void 0, function () {\n var agentsDir, agentFiles, categoryMap, _i, agentFiles_1, filePath, agent, relativePath, pathParts, category;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n agentsDir = this.getAgentsDirectory();\n if (!(0, node_fs_1.existsSync)(agentsDir)) {\n console.warn(\"Agents directory not found: \".concat(agentsDir));\n return [2 /*return*/];\n }\n return [4 /*yield*/, new Promise(function (resolve, reject) {\n (0, glob_1.glob)('**/*.md', {\n cwd: agentsDir,\n ignore: ['**/README.md', '**/MIGRATION_SUMMARY.md'],\n absolute: true\n }, function (err, matches) {\n if (err)\n reject(err);\n else\n resolve(matches);\n });\n })];\n case 1:\n agentFiles = _a.sent();\n this.agentCache.clear();\n this.categoriesCache = [];\n categoryMap = new Map();\n for (_i = 0, agentFiles_1 = agentFiles; _i < agentFiles_1.length; _i++) {\n filePath = agentFiles_1[_i];\n agent = this.parseAgentFile(filePath);\n if (agent) {\n this.agentCache.set(agent.name, agent);\n relativePath = filePath.replace(agentsDir, '');\n pathParts = relativePath.split('/');\n category = pathParts[1] || 'uncategorized';\n if (!categoryMap.has(category)) {\n categoryMap.set(category, []);\n }\n categoryMap.get(category).push(agent);\n }\n }\n this.categoriesCache = Array.from(categoryMap.entries()).map(function (_a) {\n var name = _a[0], agents = _a[1];\n return ({\n name: name,\n agents: agents.sort(function (a, b) { return a.name.localeCompare(b.name); }),\n });\n });\n this.lastLoadTime = Date.now();\n return [2 /*return*/];\n }\n });\n });\n };\n // Rest of the methods remain similar to the original implementation\n AgentLoader.prototype.needsRefresh = function () {\n return Date.now() - this.lastLoadTime > this.CACHE_EXPIRY;\n };\n AgentLoader.prototype.ensureLoaded = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!(this.agentCache.size === 0 || this.needsRefresh())) return [3 /*break*/, 2];\n return [4 /*yield*/, this.loadAgents()];\n case 1:\n _a.sent();\n _a.label = 2;\n case 2: return [2 /*return*/];\n }\n });\n });\n };\n AgentLoader.prototype.getAvailableAgentTypes = function () {\n return __awaiter(this, void 0, void 0, function () {\n var currentTypes, legacyTypes;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this.ensureLoaded()];\n case 1:\n _a.sent();\n currentTypes = Array.from(this.agentCache.keys());\n legacyTypes = Object.keys(LEGACY_AGENT_MAPPING);\n return [2 /*return*/, Array.from(new Set(__spreadArray(__spreadArray([], currentTypes, true), legacyTypes, true))).sort()];\n }\n });\n });\n };\n AgentLoader.prototype.getAgent = function (name) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this.ensureLoaded()];\n case 1:\n _a.sent();\n return [2 /*return*/, this.agentCache.get(name) || this.agentCache.get(resolveLegacyAgentType(name)) || null];\n }\n });\n });\n };\n AgentLoader.prototype.getAllAgents = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this.ensureLoaded()];\n case 1:\n _a.sent();\n return [2 /*return*/, Array.from(this.agentCache.values()).sort(function (a, b) { return a.name.localeCompare(b.name); })];\n }\n });\n });\n };\n AgentLoader.prototype.getAgentCategories = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this.ensureLoaded()];\n case 1:\n _a.sent();\n return [2 /*return*/, this.categoriesCache];\n }\n });\n });\n };\n AgentLoader.prototype.searchAgents = function (query) {\n return __awaiter(this, void 0, void 0, function () {\n var lowerQuery;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this.ensureLoaded()];\n case 1:\n _a.sent();\n lowerQuery = query.toLowerCase();\n return [2 /*return*/, Array.from(this.agentCache.values()).filter(function (agent) {\n var _a;\n return agent.name.toLowerCase().includes(lowerQuery) ||\n agent.description.toLowerCase().includes(lowerQuery) ||\n ((_a = agent.capabilities) === null || _a === void 0 ? void 0 : _a.some(function (cap) { return cap.toLowerCase().includes(lowerQuery); }));\n })];\n }\n });\n });\n };\n AgentLoader.prototype.isValidAgentType = function (name) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this.ensureLoaded()];\n case 1:\n _a.sent();\n return [2 /*return*/, this.agentCache.has(name) || this.agentCache.has(resolveLegacyAgentType(name))];\n }\n });\n });\n };\n AgentLoader.prototype.getAgentsByCategory = function (category) {\n return __awaiter(this, void 0, void 0, function () {\n var categories, found;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this.getAgentCategories()];\n case 1:\n categories = _a.sent();\n found = categories.find(function (cat) { return cat.name === category; });\n return [2 /*return*/, (found === null || found === void 0 ? void 0 : found.agents) || []];\n }\n });\n });\n };\n AgentLoader.prototype.refresh = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n this.lastLoadTime = 0;\n return [4 /*yield*/, this.loadAgents()];\n case 1:\n _a.sent();\n return [2 /*return*/];\n }\n });\n });\n };\n return AgentLoader;\n}());\nexports.AgentLoader = AgentLoader;\n// Singleton instance\nexports.agentLoader = new AgentLoader();\n// Convenience exports for use in other modules\nvar getAvailableAgentTypes = function () { return exports.agentLoader.getAvailableAgentTypes(); };\nexports.getAvailableAgentTypes = getAvailableAgentTypes;\nvar getAgent = function (name) { return exports.agentLoader.getAgent(name); };\nexports.getAgent = getAgent;\nvar getAllAgents = function () { return exports.agentLoader.getAllAgents(); };\nexports.getAllAgents = getAllAgents;\nvar getAgentCategories = function () { return exports.agentLoader.getAgentCategories(); };\nexports.getAgentCategories = getAgentCategories;\nvar searchAgents = function (query) { return exports.agentLoader.searchAgents(query); };\nexports.searchAgents = searchAgents;\nvar isValidAgentType = function (name) { return exports.agentLoader.isValidAgentType(name); };\nexports.isValidAgentType = isValidAgentType;\nvar getAgentsByCategory = function (category) { return exports.agentLoader.getAgentsByCategory(category); };\nexports.getAgentsByCategory = getAgentsByCategory;\nvar refreshAgents = function () { return exports.agentLoader.refresh(); };\nexports.refreshAgents = refreshAgents;\n"],"names":["__awaiter","thisArg","_arguments","P","generator","adopt","value","resolve","Promise","reject","fulfilled","step","next","e","rejected","result","done","then","apply","__generator","body","_","label","sent","t","trys","ops","f","y","g","Object","create","Iterator","prototype","verb","Symbol","iterator","n","v","op","TypeError","call","pop","length","push","__spreadArray","to","from","pack","arguments","i","l","ar","Array","slice","concat","defineProperty","exports","refreshAgents","getAgentsByCategory","isValidAgentType","searchAgents","getAgentCategories","getAllAgents","getAgent","getAvailableAgentTypes","agentLoader","AgentLoader","resolveLegacyAgentType","node_fs_1","require","glob_1","node_path_1","yaml_1","LEGACY_AGENT_MAPPING","analyst","coordinator","optimizer","documenter","monitor","specialist","architect","legacyType","agentCache","Map","categoriesCache","lastLoadTime","CACHE_EXPIRY","getAgentsDirectory","currentDir","process","cwd","claudeAgentsPath","existsSync","dirname","parseAgentFile","filePath","content","readFileSync","frontmatterMatch","match","console","warn","yamlContent","markdownContent","frontmatter","parse","description","name","String","type","undefined","color","model","capabilities","isArray","map","priority","includes","tools","parseTools","hooks","trim","error","extractTools","input","split","filter","toolsFromFrontmatter","toolsFromCapabilities","loadAgents","agentsDir","agentFiles","categoryMap","_i","agentFiles_1","agent","relativePath","pathParts","category","_a","glob","ignore","absolute","err","matches","clear","set","replace","has","get","entries","agents","sort","a","b","localeCompare","Date","now","needsRefresh","ensureLoaded","size","currentTypes","legacyTypes","keys","Set","values","query","lowerQuery","toLowerCase","some","cap","categories","found","find","cat","refresh"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "claude-flow-novice",
3
- "version": "2.15.6",
3
+ "version": "2.15.8",
4
4
  "description": "AI agent orchestration framework with namespace-isolated skills, agents, and CFN Loop validation. Safe installation with ~0.01% collision risk.",
5
5
  "main": "dist/index.js",
6
6
  "type": "module",