@praveencs/agent 0.9.30 → 0.10.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 (236) hide show
  1. package/README.md +55 -9
  2. package/ROADMAP.md +42 -50
  3. package/agent-skills/README.md +192 -0
  4. package/agent-skills/plugins/aws/plugin.json +22 -0
  5. package/agent-skills/plugins/aws/skills/aws-manager.md +17 -0
  6. package/agent-skills/plugins/aws/tools/aws.js +152 -0
  7. package/agent-skills/plugins/discord/plugin.json +22 -0
  8. package/agent-skills/plugins/discord/skills/discord-manager.md +15 -0
  9. package/agent-skills/plugins/discord/tools/discord.js +150 -0
  10. package/agent-skills/plugins/docker/plugin.json +21 -0
  11. package/agent-skills/plugins/docker/skills/docker-manager.md +15 -0
  12. package/agent-skills/plugins/docker/tools/docker.js +135 -0
  13. package/agent-skills/plugins/firebase/plugin.json +22 -0
  14. package/agent-skills/plugins/firebase/skills/firebase-manager.md +14 -0
  15. package/agent-skills/plugins/firebase/tools/firebase.js +157 -0
  16. package/agent-skills/plugins/github/plugin.json +23 -0
  17. package/agent-skills/plugins/github/skills/github-manager.md +15 -0
  18. package/agent-skills/plugins/github/tools/github.js +133 -0
  19. package/agent-skills/plugins/huggingface/plugin.json +22 -0
  20. package/agent-skills/plugins/huggingface/skills/huggingface-manager.md +16 -0
  21. package/agent-skills/plugins/huggingface/tools/huggingface.js +149 -0
  22. package/agent-skills/plugins/linear/plugin.json +22 -0
  23. package/agent-skills/plugins/linear/skills/linear-manager.md +16 -0
  24. package/agent-skills/plugins/linear/tools/linear.js +199 -0
  25. package/agent-skills/plugins/mongodb/plugin.json +21 -0
  26. package/agent-skills/plugins/mongodb/skills/mongodb-manager.md +14 -0
  27. package/agent-skills/plugins/mongodb/tools/mongodb.js +123 -0
  28. package/agent-skills/plugins/notion/plugin.json +22 -0
  29. package/agent-skills/plugins/notion/skills/notion-manager.md +16 -0
  30. package/agent-skills/plugins/notion/tools/notion.js +158 -0
  31. package/agent-skills/plugins/openai/plugin.json +23 -0
  32. package/agent-skills/plugins/openai/skills/openai-manager.md +15 -0
  33. package/agent-skills/plugins/openai/tools/openai.js +137 -0
  34. package/agent-skills/plugins/resend/plugin.json +21 -0
  35. package/agent-skills/plugins/resend/skills/resend-manager.md +15 -0
  36. package/agent-skills/plugins/resend/tools/resend.js +102 -0
  37. package/agent-skills/plugins/slack/plugin.json +22 -0
  38. package/agent-skills/plugins/slack/skills/slack-manager.md +15 -0
  39. package/agent-skills/plugins/slack/tools/slack.js +168 -0
  40. package/agent-skills/plugins/stripe/plugin.json +22 -0
  41. package/agent-skills/plugins/stripe/skills/stripe-manager.md +16 -0
  42. package/agent-skills/plugins/stripe/tools/stripe.js +174 -0
  43. package/agent-skills/plugins/supabase/plugin.json +22 -0
  44. package/agent-skills/plugins/supabase/skills/supabase-manager.md +16 -0
  45. package/agent-skills/plugins/supabase/tools/supabase.js +153 -0
  46. package/agent-skills/plugins/telegram/plugin.json +21 -0
  47. package/agent-skills/plugins/telegram/skills/telegram-manager.md +14 -0
  48. package/agent-skills/plugins/telegram/tools/telegram.js +131 -0
  49. package/agent-skills/plugins/vercel/plugin.json +22 -0
  50. package/agent-skills/plugins/vercel/skills/vercel-manager.md +15 -0
  51. package/agent-skills/plugins/vercel/tools/vercel.js +145 -0
  52. package/agent-skills/registry.json +675 -0
  53. package/agent-skills/skills/api-tester/prompt.md +27 -0
  54. package/agent-skills/skills/api-tester/skill.json +16 -0
  55. package/agent-skills/skills/backup/prompt.md +12 -0
  56. package/agent-skills/skills/backup/skill.json +1 -0
  57. package/agent-skills/skills/code-review/prompt.md +29 -0
  58. package/agent-skills/skills/code-review/skill.json +18 -0
  59. package/agent-skills/skills/create-note/prompt.md +21 -0
  60. package/agent-skills/skills/create-note/skill.json +15 -0
  61. package/agent-skills/skills/cron-scheduler/prompt.md +25 -0
  62. package/agent-skills/skills/cron-scheduler/skill.json +1 -0
  63. package/agent-skills/skills/db-query/prompt.md +12 -0
  64. package/agent-skills/skills/db-query/skill.json +1 -0
  65. package/agent-skills/skills/docker-deploy/prompt.md +21 -0
  66. package/agent-skills/skills/docker-deploy/skill.json +16 -0
  67. package/agent-skills/skills/file-organizer/prompt.md +32 -0
  68. package/agent-skills/skills/file-organizer/skill.json +19 -0
  69. package/agent-skills/skills/git-commit/prompt.md +21 -0
  70. package/agent-skills/skills/git-commit/skill.json +17 -0
  71. package/agent-skills/skills/log-analyzer/prompt.md +16 -0
  72. package/agent-skills/skills/log-analyzer/skill.json +1 -0
  73. package/agent-skills/skills/npm-publish/prompt.md +24 -0
  74. package/agent-skills/skills/npm-publish/skill.json +20 -0
  75. package/agent-skills/skills/open-vscode/prompt.md +8 -0
  76. package/agent-skills/skills/open-vscode/skill.json +15 -0
  77. package/agent-skills/skills/project-scaffold/prompt.md +43 -0
  78. package/agent-skills/skills/project-scaffold/skill.json +17 -0
  79. package/agent-skills/skills/send-email/prompt.md +19 -0
  80. package/agent-skills/skills/send-email/send.js +60 -0
  81. package/agent-skills/skills/send-email/skill.json +16 -0
  82. package/agent-skills/skills/system-monitor/prompt.md +27 -0
  83. package/agent-skills/skills/system-monitor/skill.json +15 -0
  84. package/agent-skills/skills/web-search/prompt.md +26 -0
  85. package/agent-skills/skills/web-search/skill.json +16 -0
  86. package/dist/src/cli/commands/desktop.d.ts +3 -0
  87. package/dist/src/cli/commands/desktop.d.ts.map +1 -0
  88. package/dist/src/cli/commands/desktop.js +80 -0
  89. package/dist/src/cli/commands/desktop.js.map +1 -0
  90. package/dist/src/cli/commands/multimodal.d.ts +3 -0
  91. package/dist/src/cli/commands/multimodal.d.ts.map +1 -0
  92. package/dist/src/cli/commands/multimodal.js +78 -0
  93. package/dist/src/cli/commands/multimodal.js.map +1 -0
  94. package/dist/src/cli/commands/sandbox.d.ts +3 -0
  95. package/dist/src/cli/commands/sandbox.d.ts.map +1 -0
  96. package/dist/src/cli/commands/sandbox.js +89 -0
  97. package/dist/src/cli/commands/sandbox.js.map +1 -0
  98. package/dist/src/cli/commands/swarm.d.ts +3 -0
  99. package/dist/src/cli/commands/swarm.d.ts.map +1 -0
  100. package/dist/src/cli/commands/swarm.js +120 -0
  101. package/dist/src/cli/commands/swarm.js.map +1 -0
  102. package/dist/src/cli/index.d.ts.map +1 -1
  103. package/dist/src/cli/index.js +8 -0
  104. package/dist/src/cli/index.js.map +1 -1
  105. package/dist/src/config/defaults.d.ts.map +1 -1
  106. package/dist/src/config/defaults.js +42 -0
  107. package/dist/src/config/defaults.js.map +1 -1
  108. package/dist/src/config/schema.d.ts +261 -0
  109. package/dist/src/config/schema.d.ts.map +1 -1
  110. package/dist/src/config/schema.js +58 -0
  111. package/dist/src/config/schema.js.map +1 -1
  112. package/dist/src/desktop/engine.d.ts +42 -0
  113. package/dist/src/desktop/engine.d.ts.map +1 -0
  114. package/dist/src/desktop/engine.js +77 -0
  115. package/dist/src/desktop/engine.js.map +1 -0
  116. package/dist/src/desktop/index.d.ts +6 -0
  117. package/dist/src/desktop/index.d.ts.map +1 -0
  118. package/dist/src/desktop/index.js +6 -0
  119. package/dist/src/desktop/index.js.map +1 -0
  120. package/dist/src/desktop/input.d.ts +20 -0
  121. package/dist/src/desktop/input.d.ts.map +1 -0
  122. package/dist/src/desktop/input.js +160 -0
  123. package/dist/src/desktop/input.js.map +1 -0
  124. package/dist/src/desktop/screen.d.ts +17 -0
  125. package/dist/src/desktop/screen.d.ts.map +1 -0
  126. package/dist/src/desktop/screen.js +120 -0
  127. package/dist/src/desktop/screen.js.map +1 -0
  128. package/dist/src/desktop/types.d.ts +50 -0
  129. package/dist/src/desktop/types.d.ts.map +1 -0
  130. package/dist/src/desktop/types.js +10 -0
  131. package/dist/src/desktop/types.js.map +1 -0
  132. package/dist/src/multimodal/engine.d.ts +33 -0
  133. package/dist/src/multimodal/engine.d.ts.map +1 -0
  134. package/dist/src/multimodal/engine.js +63 -0
  135. package/dist/src/multimodal/engine.js.map +1 -0
  136. package/dist/src/multimodal/index.d.ts +7 -0
  137. package/dist/src/multimodal/index.d.ts.map +1 -0
  138. package/dist/src/multimodal/index.js +7 -0
  139. package/dist/src/multimodal/index.js.map +1 -0
  140. package/dist/src/multimodal/tts.d.ts +11 -0
  141. package/dist/src/multimodal/tts.d.ts.map +1 -0
  142. package/dist/src/multimodal/tts.js +48 -0
  143. package/dist/src/multimodal/tts.js.map +1 -0
  144. package/dist/src/multimodal/types.d.ts +55 -0
  145. package/dist/src/multimodal/types.d.ts.map +1 -0
  146. package/dist/src/multimodal/types.js +20 -0
  147. package/dist/src/multimodal/types.js.map +1 -0
  148. package/dist/src/multimodal/vision.d.ts +15 -0
  149. package/dist/src/multimodal/vision.d.ts.map +1 -0
  150. package/dist/src/multimodal/vision.js +98 -0
  151. package/dist/src/multimodal/vision.js.map +1 -0
  152. package/dist/src/multimodal/voice.d.ts +11 -0
  153. package/dist/src/multimodal/voice.d.ts.map +1 -0
  154. package/dist/src/multimodal/voice.js +43 -0
  155. package/dist/src/multimodal/voice.js.map +1 -0
  156. package/dist/src/plans/types.d.ts +18 -18
  157. package/dist/src/sandbox/docker.d.ts +42 -0
  158. package/dist/src/sandbox/docker.d.ts.map +1 -0
  159. package/dist/src/sandbox/docker.js +131 -0
  160. package/dist/src/sandbox/docker.js.map +1 -0
  161. package/dist/src/sandbox/engine.d.ts +50 -0
  162. package/dist/src/sandbox/engine.d.ts.map +1 -0
  163. package/dist/src/sandbox/engine.js +133 -0
  164. package/dist/src/sandbox/engine.js.map +1 -0
  165. package/dist/src/sandbox/index.d.ts +5 -0
  166. package/dist/src/sandbox/index.d.ts.map +1 -0
  167. package/dist/src/sandbox/index.js +5 -0
  168. package/dist/src/sandbox/index.js.map +1 -0
  169. package/dist/src/sandbox/types.d.ts +41 -0
  170. package/dist/src/sandbox/types.d.ts.map +1 -0
  171. package/dist/src/sandbox/types.js +12 -0
  172. package/dist/src/sandbox/types.js.map +1 -0
  173. package/dist/src/scripts/types.d.ts +2 -2
  174. package/dist/src/server/app.d.ts.map +1 -1
  175. package/dist/src/server/app.js +133 -0
  176. package/dist/src/server/app.js.map +1 -1
  177. package/dist/src/swarm/bus.d.ts +27 -0
  178. package/dist/src/swarm/bus.d.ts.map +1 -0
  179. package/dist/src/swarm/bus.js +64 -0
  180. package/dist/src/swarm/bus.js.map +1 -0
  181. package/dist/src/swarm/index.d.ts +6 -0
  182. package/dist/src/swarm/index.d.ts.map +1 -0
  183. package/dist/src/swarm/index.js +6 -0
  184. package/dist/src/swarm/index.js.map +1 -0
  185. package/dist/src/swarm/orchestrator.d.ts +79 -0
  186. package/dist/src/swarm/orchestrator.d.ts.map +1 -0
  187. package/dist/src/swarm/orchestrator.js +271 -0
  188. package/dist/src/swarm/orchestrator.js.map +1 -0
  189. package/dist/src/swarm/roles.d.ts +18 -0
  190. package/dist/src/swarm/roles.d.ts.map +1 -0
  191. package/dist/src/swarm/roles.js +83 -0
  192. package/dist/src/swarm/roles.js.map +1 -0
  193. package/dist/src/swarm/types.d.ts +58 -0
  194. package/dist/src/swarm/types.d.ts.map +1 -0
  195. package/dist/src/swarm/types.js +10 -0
  196. package/dist/src/swarm/types.js.map +1 -0
  197. package/dist/src/tools/core/cmd.d.ts.map +1 -1
  198. package/dist/src/tools/core/cmd.js +28 -0
  199. package/dist/src/tools/core/cmd.js.map +1 -1
  200. package/docs/DOCUMENTATION.md +137 -0
  201. package/package.json +3 -1
  202. package/studio/README.md +73 -0
  203. package/studio/eslint.config.js +23 -0
  204. package/studio/index.html +13 -0
  205. package/studio/package-lock.json +4350 -0
  206. package/studio/package.json +44 -0
  207. package/studio/postcss.config.js +6 -0
  208. package/studio/public/vite.svg +1 -0
  209. package/studio/src/App.tsx +243 -0
  210. package/studio/src/assets/react.svg +1 -0
  211. package/studio/src/components/Capabilities.tsx +80 -0
  212. package/studio/src/components/CommandsManager.tsx +94 -0
  213. package/studio/src/components/CostDashboard.tsx +182 -0
  214. package/studio/src/components/CredentialCapture.tsx +196 -0
  215. package/studio/src/components/CredentialsManager.tsx +257 -0
  216. package/studio/src/components/DaemonPanel.tsx +91 -0
  217. package/studio/src/components/DesktopPanel.tsx +118 -0
  218. package/studio/src/components/GoalTemplates.tsx +190 -0
  219. package/studio/src/components/GoalsPanel.tsx +235 -0
  220. package/studio/src/components/MemoryExplorer.tsx +152 -0
  221. package/studio/src/components/MultimodalPanel.tsx +150 -0
  222. package/studio/src/components/NotificationsPanel.tsx +175 -0
  223. package/studio/src/components/PluginsManager.tsx +60 -0
  224. package/studio/src/components/SandboxPanel.tsx +118 -0
  225. package/studio/src/components/ScriptsManager.tsx +269 -0
  226. package/studio/src/components/SkillsManager.tsx +123 -0
  227. package/studio/src/components/SwarmPanel.tsx +149 -0
  228. package/studio/src/components/TaskStreaming.tsx +189 -0
  229. package/studio/src/components/Terminal.tsx +200 -0
  230. package/studio/src/index.css +51 -0
  231. package/studio/src/main.tsx +13 -0
  232. package/studio/tailwind.config.js +47 -0
  233. package/studio/tsconfig.app.json +28 -0
  234. package/studio/tsconfig.json +7 -0
  235. package/studio/tsconfig.node.json +26 -0
  236. package/studio/vite.config.ts +7 -0
@@ -0,0 +1,64 @@
1
+ // ─── Inter-Agent Message Bus ───
2
+ // Event-driven pub/sub for swarm agent communication.
3
+ import { EventEmitter } from 'node:events';
4
+ import { randomUUID } from 'node:crypto';
5
+ export class MessageBus extends EventEmitter {
6
+ messages = [];
7
+ subscriptions = new Map(); // agentId -> Set of types
8
+ /**
9
+ * Send a message from one agent to another (or broadcast).
10
+ */
11
+ send(from, to, type, payload) {
12
+ const message = {
13
+ id: randomUUID(),
14
+ from,
15
+ to,
16
+ type,
17
+ payload,
18
+ timestamp: new Date(),
19
+ };
20
+ this.messages.push(message);
21
+ // Emit to specific agent
22
+ if (to === 'broadcast') {
23
+ this.emit('broadcast', message);
24
+ }
25
+ else {
26
+ this.emit(`agent:${to}`, message);
27
+ }
28
+ // Emit globally for monitoring
29
+ this.emit('message', message);
30
+ return message;
31
+ }
32
+ /**
33
+ * Subscribe an agent to receive messages.
34
+ */
35
+ subscribe(agentId, callback) {
36
+ this.on(`agent:${agentId}`, callback);
37
+ this.on('broadcast', (msg) => {
38
+ // Don't echo broadcasts back to sender
39
+ if (msg.from !== agentId)
40
+ callback(msg);
41
+ });
42
+ }
43
+ /**
44
+ * Get message history for an agent.
45
+ */
46
+ getHistory(agentId) {
47
+ return this.messages.filter(m => m.from === agentId || m.to === agentId || m.to === 'broadcast');
48
+ }
49
+ /**
50
+ * Get all messages.
51
+ */
52
+ getAllMessages() {
53
+ return [...this.messages];
54
+ }
55
+ /**
56
+ * Clear all messages and listeners.
57
+ */
58
+ reset() {
59
+ this.messages = [];
60
+ this.subscriptions.clear();
61
+ this.removeAllListeners();
62
+ }
63
+ }
64
+ //# sourceMappingURL=bus.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bus.js","sourceRoot":"","sources":["../../../src/swarm/bus.ts"],"names":[],"mappings":"AAAA,kCAAkC;AAClC,sDAAsD;AAEtD,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAGzC,MAAM,OAAO,UAAW,SAAQ,YAAY;IAChC,QAAQ,GAAmB,EAAE,CAAC;IAC9B,aAAa,GAA6B,IAAI,GAAG,EAAE,CAAC,CAAC,0BAA0B;IAEvF;;OAEG;IACH,IAAI,CAAC,IAAY,EAAE,EAAU,EAAE,IAAsB,EAAE,OAAgB;QACnE,MAAM,OAAO,GAAiB;YAC1B,EAAE,EAAE,UAAU,EAAE;YAChB,IAAI;YACJ,EAAE;YACF,IAAI;YACJ,OAAO;YACP,SAAS,EAAE,IAAI,IAAI,EAAE;SACxB,CAAC;QAEF,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAE5B,yBAAyB;QACzB,IAAI,EAAE,KAAK,WAAW,EAAE,CAAC;YACrB,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QACpC,CAAC;aAAM,CAAC;YACJ,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC;QACtC,CAAC;QAED,+BAA+B;QAC/B,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAE9B,OAAO,OAAO,CAAC;IACnB,CAAC;IAED;;OAEG;IACH,SAAS,CAAC,OAAe,EAAE,QAAqC;QAC5D,IAAI,CAAC,EAAE,CAAC,SAAS,OAAO,EAAE,EAAE,QAAQ,CAAC,CAAC;QACtC,IAAI,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC,GAAiB,EAAE,EAAE;YACvC,uCAAuC;YACvC,IAAI,GAAG,CAAC,IAAI,KAAK,OAAO;gBAAE,QAAQ,CAAC,GAAG,CAAC,CAAC;QAC5C,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;OAEG;IACH,UAAU,CAAC,OAAe;QACtB,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,IAAI,CAAC,CAAC,EAAE,KAAK,OAAO,IAAI,CAAC,CAAC,EAAE,KAAK,WAAW,CAAC,CAAC;IACrG,CAAC;IAED;;OAEG;IACH,cAAc;QACV,OAAO,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC9B,CAAC;IAED;;OAEG;IACH,KAAK;QACD,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QACnB,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;QAC3B,IAAI,CAAC,kBAAkB,EAAE,CAAC;IAC9B,CAAC;CACJ"}
@@ -0,0 +1,6 @@
1
+ export { SwarmOrchestrator, getSwarmOrchestrator, initSwarmOrchestrator } from './orchestrator.js';
2
+ export { MessageBus } from './bus.js';
3
+ export { BUILT_IN_ROLES, getRole, getAllRoles } from './roles.js';
4
+ export type { SwarmConfig, SwarmState, SwarmAgent, AgentTask, AgentRole, SwarmMessage, SwarmMessageType, } from './types.js';
5
+ export { DEFAULT_SWARM_CONFIG } from './types.js';
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/swarm/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AACnG,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAClE,YAAY,EACR,WAAW,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAC9C,SAAS,EAAE,YAAY,EAAE,gBAAgB,GAC5C,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC"}
@@ -0,0 +1,6 @@
1
+ // ─── Swarm Module Index ───
2
+ export { SwarmOrchestrator, getSwarmOrchestrator, initSwarmOrchestrator } from './orchestrator.js';
3
+ export { MessageBus } from './bus.js';
4
+ export { BUILT_IN_ROLES, getRole, getAllRoles } from './roles.js';
5
+ export { DEFAULT_SWARM_CONFIG } from './types.js';
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/swarm/index.ts"],"names":[],"mappings":"AAAA,6BAA6B;AAC7B,OAAO,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AACnG,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAKlE,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC"}
@@ -0,0 +1,79 @@
1
+ import type { SwarmConfig, SwarmState, SwarmAgent, AgentTask, AgentRole } from './types.js';
2
+ export declare class SwarmOrchestrator {
3
+ private config;
4
+ private bus;
5
+ private state;
6
+ private taskCallbacks;
7
+ constructor(config?: Partial<SwarmConfig>);
8
+ /** Current swarm state */
9
+ get swarmState(): SwarmState;
10
+ /** Whether the swarm is actively processing */
11
+ get isActive(): boolean;
12
+ /**
13
+ * Start a swarm session for a given goal.
14
+ * The orchestrator will:
15
+ * 1. Spawn a planner agent
16
+ * 2. Let the planner decompose the goal into tasks
17
+ * 3. Spawn specialist agents for each task
18
+ * 4. Coordinate execution and collect results
19
+ */
20
+ run(goal: string): Promise<SwarmState>;
21
+ /**
22
+ * Spawn a new agent with a specific role.
23
+ */
24
+ spawnAgent(role: AgentRole, name?: string): SwarmAgent;
25
+ /**
26
+ * Create a task and add it to the task queue.
27
+ */
28
+ createTask(opts: {
29
+ description: string;
30
+ role: AgentRole;
31
+ parentTaskId?: string;
32
+ }): AgentTask;
33
+ /**
34
+ * Assign a task to a specific agent.
35
+ */
36
+ assignTask(taskId: string, agentId: string): void;
37
+ /**
38
+ * Complete a task with a result.
39
+ */
40
+ completeTask(taskId: string, result: string): void;
41
+ /**
42
+ * Fail a task with an error.
43
+ */
44
+ failTask(taskId: string, error: string): void;
45
+ /**
46
+ * Handle delegation: an agent requests spawning a sub-agent.
47
+ */
48
+ delegate(fromAgentId: string, role: AgentRole, description: string): AgentTask;
49
+ /**
50
+ * Get a status summary for display.
51
+ */
52
+ getStatus(): {
53
+ swarmId: string;
54
+ status: string;
55
+ goal?: string;
56
+ agents: Array<{
57
+ id: string;
58
+ role: string;
59
+ status: string;
60
+ task?: string;
61
+ }>;
62
+ tasks: Array<{
63
+ id: string;
64
+ role: string;
65
+ status: string;
66
+ assignedTo?: string;
67
+ }>;
68
+ uptime?: number;
69
+ };
70
+ /**
71
+ * Stop the swarm and clean up.
72
+ */
73
+ stop(): void;
74
+ private handleMessage;
75
+ private handleAgentMessage;
76
+ }
77
+ export declare function getSwarmOrchestrator(): SwarmOrchestrator | null;
78
+ export declare function initSwarmOrchestrator(config?: Partial<SwarmConfig>): SwarmOrchestrator;
79
+ //# sourceMappingURL=orchestrator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"orchestrator.d.ts","sourceRoot":"","sources":["../../../src/swarm/orchestrator.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EACR,WAAW,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAC9C,SAAS,EACZ,MAAM,YAAY,CAAC;AAGpB,qBAAa,iBAAiB;IAC1B,OAAO,CAAC,MAAM,CAAc;IAC5B,OAAO,CAAC,GAAG,CAAa;IACxB,OAAO,CAAC,KAAK,CAAa;IAC1B,OAAO,CAAC,aAAa,CAAoD;gBAE7D,MAAM,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC;IAWzC,0BAA0B;IAC1B,IAAI,UAAU,IAAI,UAAU,CAE3B;IAED,+CAA+C;IAC/C,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAED;;;;;;;OAOG;IACG,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IAqC5C;;OAEG;IACH,UAAU,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,UAAU;IA0BtD;;OAEG;IACH,UAAU,CAAC,IAAI,EAAE;QACb,WAAW,EAAE,MAAM,CAAC;QACpB,IAAI,EAAE,SAAS,CAAC;QAChB,YAAY,CAAC,EAAE,MAAM,CAAC;KACzB,GAAG,SAAS;IAcb;;OAEG;IACH,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;IAkBjD;;OAEG;IACH,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAmClD;;OAEG;IACH,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAoB7C;;OAEG;IACH,QAAQ,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,GAAG,SAAS;IAyB9E;;OAEG;IACH,SAAS,IAAI;QACT,OAAO,EAAE,MAAM,CAAC;QAChB,MAAM,EAAE,MAAM,CAAC;QACf,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,KAAK,CAAC;YAAE,EAAE,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,CAAC;YAAC,IAAI,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;QAC3E,KAAK,EAAE,KAAK,CAAC;YAAE,EAAE,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,CAAC;YAAC,UAAU,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;QAChF,MAAM,CAAC,EAAE,MAAM,CAAC;KACnB;IAuBD;;OAEG;IACH,IAAI,IAAI,IAAI;IAQZ,OAAO,CAAC,aAAa;IAarB,OAAO,CAAC,kBAAkB;CAU7B;AAKD,wBAAgB,oBAAoB,IAAI,iBAAiB,GAAG,IAAI,CAE/D;AAED,wBAAgB,qBAAqB,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,GAAG,iBAAiB,CAGtF"}
@@ -0,0 +1,271 @@
1
+ // ─── Swarm Orchestrator ───
2
+ // Coordinates multiple specialized agents to accomplish complex goals.
3
+ // Decomposes goals into tasks, spawns agents, routes messages, and collects results.
4
+ import { randomUUID } from 'node:crypto';
5
+ import { MessageBus } from './bus.js';
6
+ import { getRole } from './roles.js';
7
+ import { DEFAULT_SWARM_CONFIG } from './types.js';
8
+ export class SwarmOrchestrator {
9
+ config;
10
+ bus;
11
+ state;
12
+ taskCallbacks = new Map();
13
+ constructor(config) {
14
+ this.config = { ...DEFAULT_SWARM_CONFIG, ...config };
15
+ this.bus = new MessageBus();
16
+ this.state = {
17
+ id: randomUUID(),
18
+ status: 'idle',
19
+ agents: [],
20
+ tasks: [],
21
+ };
22
+ }
23
+ /** Current swarm state */
24
+ get swarmState() {
25
+ return { ...this.state };
26
+ }
27
+ /** Whether the swarm is actively processing */
28
+ get isActive() {
29
+ return this.state.status === 'running';
30
+ }
31
+ /**
32
+ * Start a swarm session for a given goal.
33
+ * The orchestrator will:
34
+ * 1. Spawn a planner agent
35
+ * 2. Let the planner decompose the goal into tasks
36
+ * 3. Spawn specialist agents for each task
37
+ * 4. Coordinate execution and collect results
38
+ */
39
+ async run(goal) {
40
+ this.state.status = 'running';
41
+ this.state.goalDescription = goal;
42
+ this.state.startedAt = new Date();
43
+ try {
44
+ // Phase 1: Planning
45
+ const plannerAgent = this.spawnAgent('planner');
46
+ const planTask = this.createTask({
47
+ description: `Analyze and decompose the following goal into actionable tasks:\n\n${goal}`,
48
+ role: 'planner',
49
+ });
50
+ this.assignTask(planTask.id, plannerAgent.id);
51
+ // Phase 2: The planner will produce subtasks via the message bus
52
+ // In a full implementation, this would invoke the LLM per agent.
53
+ // For now, we set up the coordination framework.
54
+ // Monitor the bus for task completions
55
+ this.bus.on('message', (msg) => {
56
+ this.handleMessage(msg);
57
+ });
58
+ // Phase 3: Mark orchestrator as ready
59
+ this.bus.send('orchestrator', 'broadcast', 'status_update', {
60
+ status: 'Swarm initialized',
61
+ goal,
62
+ agents: this.state.agents.length,
63
+ });
64
+ return this.state;
65
+ }
66
+ catch (err) {
67
+ this.state.status = 'failed';
68
+ throw err;
69
+ }
70
+ }
71
+ /**
72
+ * Spawn a new agent with a specific role.
73
+ */
74
+ spawnAgent(role, name) {
75
+ if (this.state.agents.length >= this.config.maxAgents) {
76
+ throw new Error(`Max agents (${this.config.maxAgents}) reached. Increase swarm.maxAgents in config.`);
77
+ }
78
+ const roleDef = getRole(role);
79
+ const agent = {
80
+ id: `agent-${role}-${randomUUID().slice(0, 8)}`,
81
+ role,
82
+ name: name || roleDef?.name || role,
83
+ status: 'idle',
84
+ model: this.config.model,
85
+ depth: 0,
86
+ completedTasks: 0,
87
+ };
88
+ this.state.agents.push(agent);
89
+ // Subscribe agent to the message bus
90
+ this.bus.subscribe(agent.id, (msg) => {
91
+ this.handleAgentMessage(agent.id, msg);
92
+ });
93
+ return agent;
94
+ }
95
+ /**
96
+ * Create a task and add it to the task queue.
97
+ */
98
+ createTask(opts) {
99
+ const task = {
100
+ id: `task-${randomUUID().slice(0, 8)}`,
101
+ description: opts.description,
102
+ role: opts.role,
103
+ status: 'pending',
104
+ createdAt: new Date(),
105
+ parentTaskId: opts.parentTaskId,
106
+ };
107
+ this.state.tasks.push(task);
108
+ return task;
109
+ }
110
+ /**
111
+ * Assign a task to a specific agent.
112
+ */
113
+ assignTask(taskId, agentId) {
114
+ const task = this.state.tasks.find(t => t.id === taskId);
115
+ const agent = this.state.agents.find(a => a.id === agentId);
116
+ if (!task || !agent)
117
+ throw new Error('Task or agent not found');
118
+ task.assignedTo = agentId;
119
+ task.status = 'running';
120
+ agent.status = 'busy';
121
+ agent.currentTask = taskId;
122
+ this.bus.send('orchestrator', agentId, 'task_assign', {
123
+ taskId: task.id,
124
+ description: task.description,
125
+ role: task.role,
126
+ });
127
+ }
128
+ /**
129
+ * Complete a task with a result.
130
+ */
131
+ completeTask(taskId, result) {
132
+ const task = this.state.tasks.find(t => t.id === taskId);
133
+ if (!task)
134
+ return;
135
+ task.status = 'completed';
136
+ task.result = result;
137
+ task.completedAt = new Date();
138
+ const agent = this.state.agents.find(a => a.id === task.assignedTo);
139
+ if (agent) {
140
+ agent.status = 'idle';
141
+ agent.currentTask = undefined;
142
+ agent.completedTasks++;
143
+ }
144
+ this.bus.send(task.assignedTo || 'unknown', 'orchestrator', 'task_result', {
145
+ taskId,
146
+ result,
147
+ });
148
+ // Check if all tasks are done
149
+ const allDone = this.state.tasks.every(t => t.status === 'completed' || t.status === 'failed');
150
+ if (allDone && this.state.tasks.length > 0) {
151
+ this.state.status = 'completed';
152
+ this.state.completedAt = new Date();
153
+ }
154
+ // Resolve any waiting callbacks
155
+ const cb = this.taskCallbacks.get(taskId);
156
+ if (cb) {
157
+ cb(result);
158
+ this.taskCallbacks.delete(taskId);
159
+ }
160
+ }
161
+ /**
162
+ * Fail a task with an error.
163
+ */
164
+ failTask(taskId, error) {
165
+ const task = this.state.tasks.find(t => t.id === taskId);
166
+ if (!task)
167
+ return;
168
+ task.status = 'failed';
169
+ task.error = error;
170
+ task.completedAt = new Date();
171
+ const agent = this.state.agents.find(a => a.id === task.assignedTo);
172
+ if (agent) {
173
+ agent.status = 'error';
174
+ agent.currentTask = undefined;
175
+ }
176
+ this.bus.send(task.assignedTo || 'unknown', 'orchestrator', 'task_error', {
177
+ taskId,
178
+ error,
179
+ });
180
+ }
181
+ /**
182
+ * Handle delegation: an agent requests spawning a sub-agent.
183
+ */
184
+ delegate(fromAgentId, role, description) {
185
+ const fromAgent = this.state.agents.find(a => a.id === fromAgentId);
186
+ if (!fromAgent)
187
+ throw new Error(`Agent ${fromAgentId} not found`);
188
+ if (fromAgent.depth >= this.config.maxDelegationDepth) {
189
+ throw new Error(`Max delegation depth (${this.config.maxDelegationDepth}) reached`);
190
+ }
191
+ if (!this.config.allowDelegation) {
192
+ throw new Error('Delegation is disabled in swarm config');
193
+ }
194
+ const subAgent = this.spawnAgent(role);
195
+ subAgent.depth = fromAgent.depth + 1;
196
+ const task = this.createTask({
197
+ description,
198
+ role,
199
+ parentTaskId: fromAgent.currentTask,
200
+ });
201
+ this.assignTask(task.id, subAgent.id);
202
+ return task;
203
+ }
204
+ /**
205
+ * Get a status summary for display.
206
+ */
207
+ getStatus() {
208
+ return {
209
+ swarmId: this.state.id,
210
+ status: this.state.status,
211
+ goal: this.state.goalDescription,
212
+ agents: this.state.agents.map(a => ({
213
+ id: a.id,
214
+ role: a.role,
215
+ status: a.status,
216
+ task: a.currentTask,
217
+ })),
218
+ tasks: this.state.tasks.map(t => ({
219
+ id: t.id,
220
+ role: t.role,
221
+ status: t.status,
222
+ assignedTo: t.assignedTo,
223
+ })),
224
+ uptime: this.state.startedAt
225
+ ? Date.now() - this.state.startedAt.getTime()
226
+ : undefined,
227
+ };
228
+ }
229
+ /**
230
+ * Stop the swarm and clean up.
231
+ */
232
+ stop() {
233
+ this.state.status = 'idle';
234
+ this.state.completedAt = new Date();
235
+ this.bus.reset();
236
+ }
237
+ // ─── Internal message handling ───
238
+ handleMessage(msg) {
239
+ if (msg.type === 'delegate') {
240
+ const { role, description } = msg.payload;
241
+ try {
242
+ this.delegate(msg.from, role, description);
243
+ }
244
+ catch (err) {
245
+ this.bus.send('orchestrator', msg.from, 'task_error', {
246
+ error: err.message,
247
+ });
248
+ }
249
+ }
250
+ }
251
+ handleAgentMessage(_agentId, msg) {
252
+ if (msg.type === 'task_result') {
253
+ const { taskId, result } = msg.payload;
254
+ this.completeTask(taskId, result);
255
+ }
256
+ if (msg.type === 'task_error') {
257
+ const { taskId, error } = msg.payload;
258
+ this.failTask(taskId, error);
259
+ }
260
+ }
261
+ }
262
+ // ─── Singleton ───
263
+ let swarmInstance = null;
264
+ export function getSwarmOrchestrator() {
265
+ return swarmInstance;
266
+ }
267
+ export function initSwarmOrchestrator(config) {
268
+ swarmInstance = new SwarmOrchestrator(config);
269
+ return swarmInstance;
270
+ }
271
+ //# sourceMappingURL=orchestrator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"orchestrator.js","sourceRoot":"","sources":["../../../src/swarm/orchestrator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ import type { AgentRole } from './types.js';
2
+ export interface RoleDefinition {
3
+ role: AgentRole;
4
+ name: string;
5
+ systemPrompt: string;
6
+ capabilities: string[];
7
+ tools: string[];
8
+ }
9
+ export declare const BUILT_IN_ROLES: Record<string, RoleDefinition>;
10
+ /**
11
+ * Get a role definition by name.
12
+ */
13
+ export declare function getRole(role: AgentRole): RoleDefinition | undefined;
14
+ /**
15
+ * Get all available roles.
16
+ */
17
+ export declare function getAllRoles(): RoleDefinition[];
18
+ //# sourceMappingURL=roles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"roles.d.ts","sourceRoot":"","sources":["../../../src/swarm/roles.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAE5C,MAAM,WAAW,cAAc;IAC3B,IAAI,EAAE,SAAS,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,KAAK,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAuEzD,CAAC;AAEF;;GAEG;AACH,wBAAgB,OAAO,CAAC,IAAI,EAAE,SAAS,GAAG,cAAc,GAAG,SAAS,CAEnE;AAED;;GAEG;AACH,wBAAgB,WAAW,IAAI,cAAc,EAAE,CAE9C"}
@@ -0,0 +1,83 @@
1
+ // ─── Built-in Agent Role Definitions ───
2
+ // System prompts and capabilities for each specialized agent role.
3
+ export const BUILT_IN_ROLES = {
4
+ planner: {
5
+ role: 'planner',
6
+ name: 'Planner',
7
+ systemPrompt: `You are the Planner agent in a multi-agent swarm. Your job is to:
8
+ 1. Analyze the high-level goal and break it into concrete, actionable tasks
9
+ 2. Assign tasks to the appropriate specialist agents (coder, researcher, tester, reviewer)
10
+ 3. Define dependencies between tasks and the correct execution order
11
+ 4. Monitor progress and re-plan if tasks fail or new information emerges
12
+
13
+ Output your plan as a JSON array of tasks with: description, role, dependencies.
14
+ Do NOT write code yourself — delegate to the coder agent.`,
15
+ capabilities: ['task_decomposition', 'delegation', 'planning'],
16
+ tools: ['fs.read', 'project.detect'],
17
+ },
18
+ coder: {
19
+ role: 'coder',
20
+ name: 'Coder',
21
+ systemPrompt: `You are the Coder agent in a multi-agent swarm. Your job is to:
22
+ 1. Write high-quality, production-ready code to complete assigned tasks
23
+ 2. Follow existing code conventions and patterns in the project
24
+ 3. Create new files or modify existing ones as needed
25
+ 4. Report back with a summary of all files changed
26
+
27
+ Always write clean, well-documented code. Test your changes mentally before submitting.`,
28
+ capabilities: ['code_generation', 'file_editing', 'refactoring'],
29
+ tools: ['fs.read', 'fs.write', 'fs.search', 'cmd.run', 'git.diff'],
30
+ },
31
+ reviewer: {
32
+ role: 'reviewer',
33
+ name: 'Reviewer',
34
+ systemPrompt: `You are the Reviewer agent in a multi-agent swarm. Your job is to:
35
+ 1. Review code changes submitted by the coder agent
36
+ 2. Check for bugs, security issues, performance problems, and style violations
37
+ 3. Verify that changes align with the original task requirements
38
+ 4. Approve changes or request specific fixes with clear explanations
39
+
40
+ Be thorough but constructive. Focus on correctness and maintainability.`,
41
+ capabilities: ['code_review', 'bug_detection', 'security_analysis'],
42
+ tools: ['fs.read', 'fs.search', 'git.diff'],
43
+ },
44
+ researcher: {
45
+ role: 'researcher',
46
+ name: 'Researcher',
47
+ systemPrompt: `You are the Researcher agent in a multi-agent swarm. Your job is to:
48
+ 1. Gather information needed by other agents (API docs, library usage, best practices)
49
+ 2. Analyze existing code to understand patterns and conventions
50
+ 3. Provide technical recommendations based on research findings
51
+ 4. Summarize findings clearly for the planner and coder agents
52
+
53
+ Be thorough and cite your sources. Focus on actionable insights.`,
54
+ capabilities: ['information_gathering', 'code_analysis', 'documentation'],
55
+ tools: ['fs.read', 'fs.search', 'cmd.run'],
56
+ },
57
+ tester: {
58
+ role: 'tester',
59
+ name: 'Tester',
60
+ systemPrompt: `You are the Tester agent in a multi-agent swarm. Your job is to:
61
+ 1. Write and run tests for code changes
62
+ 2. Verify that the implementation meets the task requirements
63
+ 3. Run existing test suites and report results
64
+ 4. Identify edge cases and potential failure modes
65
+
66
+ Report test results clearly: what passed, what failed, and what needs fixing.`,
67
+ capabilities: ['test_writing', 'test_execution', 'verification'],
68
+ tools: ['fs.read', 'fs.write', 'cmd.run'],
69
+ },
70
+ };
71
+ /**
72
+ * Get a role definition by name.
73
+ */
74
+ export function getRole(role) {
75
+ return BUILT_IN_ROLES[role];
76
+ }
77
+ /**
78
+ * Get all available roles.
79
+ */
80
+ export function getAllRoles() {
81
+ return Object.values(BUILT_IN_ROLES);
82
+ }
83
+ //# sourceMappingURL=roles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"roles.js","sourceRoot":"","sources":["../../../src/swarm/roles.ts"],"names":[],"mappings":"AAAA,0CAA0C;AAC1C,mEAAmE;AAYnE,MAAM,CAAC,MAAM,cAAc,GAAmC;IAC1D,OAAO,EAAE;QACL,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,SAAS;QACf,YAAY,EAAE;;;;;;;0DAOoC;QAClD,YAAY,EAAE,CAAC,oBAAoB,EAAE,YAAY,EAAE,UAAU,CAAC;QAC9D,KAAK,EAAE,CAAC,SAAS,EAAE,gBAAgB,CAAC;KACvC;IAED,KAAK,EAAE;QACH,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,OAAO;QACb,YAAY,EAAE;;;;;;wFAMkE;QAChF,YAAY,EAAE,CAAC,iBAAiB,EAAE,cAAc,EAAE,aAAa,CAAC;QAChE,KAAK,EAAE,CAAC,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS,EAAE,UAAU,CAAC;KACrE;IAED,QAAQ,EAAE;QACN,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,UAAU;QAChB,YAAY,EAAE;;;;;;wEAMkD;QAChE,YAAY,EAAE,CAAC,aAAa,EAAE,eAAe,EAAE,mBAAmB,CAAC;QACnE,KAAK,EAAE,CAAC,SAAS,EAAE,WAAW,EAAE,UAAU,CAAC;KAC9C;IAED,UAAU,EAAE;QACR,IAAI,EAAE,YAAY;QAClB,IAAI,EAAE,YAAY;QAClB,YAAY,EAAE;;;;;;iEAM2C;QACzD,YAAY,EAAE,CAAC,uBAAuB,EAAE,eAAe,EAAE,eAAe,CAAC;QACzE,KAAK,EAAE,CAAC,SAAS,EAAE,WAAW,EAAE,SAAS,CAAC;KAC7C;IAED,MAAM,EAAE;QACJ,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,QAAQ;QACd,YAAY,EAAE;;;;;;8EAMwD;QACtE,YAAY,EAAE,CAAC,cAAc,EAAE,gBAAgB,EAAE,cAAc,CAAC;QAChE,KAAK,EAAE,CAAC,SAAS,EAAE,UAAU,EAAE,SAAS,CAAC;KAC5C;CACJ,CAAC;AAEF;;GAEG;AACH,MAAM,UAAU,OAAO,CAAC,IAAe;IACnC,OAAO,cAAc,CAAC,IAAI,CAAC,CAAC;AAChC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,WAAW;IACvB,OAAO,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;AACzC,CAAC"}
@@ -0,0 +1,58 @@
1
+ export type AgentRole = 'planner' | 'coder' | 'reviewer' | 'researcher' | 'tester' | 'custom';
2
+ export interface SwarmConfig {
3
+ /** Enable swarm mode */
4
+ enabled: boolean;
5
+ /** Max concurrent agents */
6
+ maxAgents: number;
7
+ /** Default model for swarm agents */
8
+ model: string;
9
+ /** Whether agents can spawn sub-agents */
10
+ allowDelegation: boolean;
11
+ /** Max depth of delegation chain */
12
+ maxDelegationDepth: number;
13
+ /** Timeout for each agent task (ms) */
14
+ agentTimeout: number;
15
+ }
16
+ export declare const DEFAULT_SWARM_CONFIG: SwarmConfig;
17
+ export interface SwarmMessage {
18
+ id: string;
19
+ from: string;
20
+ to: string;
21
+ type: SwarmMessageType;
22
+ payload: unknown;
23
+ timestamp: Date;
24
+ }
25
+ export type SwarmMessageType = 'task_assign' | 'task_result' | 'task_error' | 'delegate' | 'status_update' | 'artifact' | 'review_request' | 'review_response' | 'broadcast';
26
+ export interface AgentTask {
27
+ id: string;
28
+ description: string;
29
+ role: AgentRole;
30
+ assignedTo?: string;
31
+ status: 'pending' | 'running' | 'completed' | 'failed';
32
+ result?: string;
33
+ error?: string;
34
+ createdAt: Date;
35
+ completedAt?: Date;
36
+ parentTaskId?: string;
37
+ subtasks?: string[];
38
+ }
39
+ export interface SwarmAgent {
40
+ id: string;
41
+ role: AgentRole;
42
+ name: string;
43
+ status: 'idle' | 'busy' | 'done' | 'error';
44
+ currentTask?: string;
45
+ model: string;
46
+ depth: number;
47
+ completedTasks: number;
48
+ }
49
+ export interface SwarmState {
50
+ id: string;
51
+ status: 'idle' | 'running' | 'completed' | 'failed';
52
+ agents: SwarmAgent[];
53
+ tasks: AgentTask[];
54
+ startedAt?: Date;
55
+ completedAt?: Date;
56
+ goalDescription?: string;
57
+ }
58
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/swarm/types.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,SAAS,GAAG,SAAS,GAAG,OAAO,GAAG,UAAU,GAAG,YAAY,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAE9F,MAAM,WAAW,WAAW;IACxB,wBAAwB;IACxB,OAAO,EAAE,OAAO,CAAC;IACjB,4BAA4B;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,qCAAqC;IACrC,KAAK,EAAE,MAAM,CAAC;IACd,0CAA0C;IAC1C,eAAe,EAAE,OAAO,CAAC;IACzB,oCAAoC;IACpC,kBAAkB,EAAE,MAAM,CAAC;IAC3B,uCAAuC;IACvC,YAAY,EAAE,MAAM,CAAC;CACxB;AAED,eAAO,MAAM,oBAAoB,EAAE,WAOlC,CAAC;AAEF,MAAM,WAAW,YAAY;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,gBAAgB,CAAC;IACvB,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,IAAI,CAAC;CACnB;AAED,MAAM,MAAM,gBAAgB,GACtB,aAAa,GACb,aAAa,GACb,YAAY,GACZ,UAAU,GACV,eAAe,GACf,UAAU,GACV,gBAAgB,GAChB,iBAAiB,GACjB,WAAW,CAAC;AAElB,MAAM,WAAW,SAAS;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,SAAS,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,WAAW,GAAG,QAAQ,CAAC;IACvD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,IAAI,CAAC;IAChB,WAAW,CAAC,EAAE,IAAI,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACvB;AAED,MAAM,WAAW,UAAU;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,SAAS,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;IAC3C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,UAAU;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,WAAW,GAAG,QAAQ,CAAC;IACpD,MAAM,EAAE,UAAU,EAAE,CAAC;IACrB,KAAK,EAAE,SAAS,EAAE,CAAC;IACnB,SAAS,CAAC,EAAE,IAAI,CAAC;IACjB,WAAW,CAAC,EAAE,IAAI,CAAC;IACnB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC5B"}
@@ -0,0 +1,10 @@
1
+ // ─── Swarm Types ───
2
+ export const DEFAULT_SWARM_CONFIG = {
3
+ enabled: false,
4
+ maxAgents: 5,
5
+ model: 'gpt-4o',
6
+ allowDelegation: true,
7
+ maxDelegationDepth: 3,
8
+ agentTimeout: 120000,
9
+ };
10
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/swarm/types.ts"],"names":[],"mappings":"AAAA,sBAAsB;AAmBtB,MAAM,CAAC,MAAM,oBAAoB,GAAgB;IAC7C,OAAO,EAAE,KAAK;IACd,SAAS,EAAE,CAAC;IACZ,KAAK,EAAE,QAAQ;IACf,eAAe,EAAE,IAAI;IACrB,kBAAkB,EAAE,CAAC;IACrB,YAAY,EAAE,MAAM;CACvB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"cmd.d.ts","sourceRoot":"","sources":["../../../../src/tools/core/cmd.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAKlD,eAAO,MAAM,MAAM,EAAE,cAAc,CAC/B;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,EAClG;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CA+CvD,CAAC;AAEF,eAAO,MAAM,QAAQ;aAlDN,MAAM;WAAS,MAAM,EAAE;UAAQ,MAAM;cAAY,MAAM;UAAQ,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;;YACtF,MAAM;YAAU,MAAM;cAAY,MAAM;IAiDtB,CAAC"}
1
+ {"version":3,"file":"cmd.d.ts","sourceRoot":"","sources":["../../../../src/tools/core/cmd.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAMlD,eAAO,MAAM,MAAM,EAAE,cAAc,CAC/B;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,EAClG;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CA2EvD,CAAC;AAEF,eAAO,MAAM,QAAQ;aA9EN,MAAM;WAAS,MAAM,EAAE;UAAQ,MAAM;cAAY,MAAM;UAAQ,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;;YACtF,MAAM;YAAU,MAAM;cAAY,MAAM;IA6EtB,CAAC"}