snow-flow 1.1.76 → 1.1.77

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 (231) hide show
  1. package/.claude-flow/queen/queen-memory.db +0 -0
  2. package/CLAUDE.md +34 -5
  3. package/dist/agents/base-agent.d.ts +92 -0
  4. package/dist/agents/base-agent.d.ts.map +1 -0
  5. package/dist/agents/base-agent.js +228 -0
  6. package/dist/agents/base-agent.js.map +1 -0
  7. package/dist/agents/coordinator.d.ts +200 -0
  8. package/dist/agents/coordinator.d.ts.map +1 -0
  9. package/dist/agents/coordinator.js +775 -0
  10. package/dist/agents/coordinator.js.map +1 -0
  11. package/dist/agents/flow-builder-agent.d.ts +18 -0
  12. package/dist/agents/flow-builder-agent.d.ts.map +1 -0
  13. package/dist/agents/flow-builder-agent.js +536 -0
  14. package/dist/agents/flow-builder-agent.js.map +1 -0
  15. package/dist/agents/index.d.ts +18 -0
  16. package/dist/agents/index.d.ts.map +1 -0
  17. package/dist/agents/index.js +61 -0
  18. package/dist/agents/index.js.map +1 -0
  19. package/dist/agents/queen-agent-example.d.ts +23 -0
  20. package/dist/agents/queen-agent-example.d.ts.map +1 -0
  21. package/dist/agents/queen-agent-example.js +241 -0
  22. package/dist/agents/queen-agent-example.js.map +1 -0
  23. package/dist/agents/queen-agent.d.ts +180 -0
  24. package/dist/agents/queen-agent.d.ts.map +1 -0
  25. package/dist/agents/queen-agent.js +909 -0
  26. package/dist/agents/queen-agent.js.map +1 -0
  27. package/dist/agents/queen-agent.test.d.ts +6 -0
  28. package/dist/agents/queen-agent.test.d.ts.map +1 -0
  29. package/dist/agents/queen-agent.test.js.map +1 -0
  30. package/dist/agents/script-writer-agent.d.ts +22 -0
  31. package/dist/agents/script-writer-agent.d.ts.map +1 -0
  32. package/dist/agents/script-writer-agent.js +695 -0
  33. package/dist/agents/script-writer-agent.js.map +1 -0
  34. package/dist/agents/security-agent.d.ts +23 -0
  35. package/dist/agents/security-agent.d.ts.map +1 -0
  36. package/dist/agents/security-agent.js +619 -0
  37. package/dist/agents/security-agent.js.map +1 -0
  38. package/dist/agents/test-agent.d.ts +26 -0
  39. package/dist/agents/test-agent.d.ts.map +1 -0
  40. package/dist/agents/test-agent.js +735 -0
  41. package/dist/agents/test-agent.js.map +1 -0
  42. package/dist/agents/test-agents.d.ts +7 -0
  43. package/dist/agents/test-agents.d.ts.map +1 -0
  44. package/dist/agents/test-agents.js +65 -0
  45. package/dist/agents/test-agents.js.map +1 -0
  46. package/dist/agents/widget-creator-agent.d.ts +18 -0
  47. package/dist/agents/widget-creator-agent.d.ts.map +1 -0
  48. package/dist/agents/widget-creator-agent.js +440 -0
  49. package/dist/agents/widget-creator-agent.js.map +1 -0
  50. package/dist/cli/snow-flow-cli-integration.d.ts +30 -0
  51. package/dist/cli/snow-flow-cli-integration.d.ts.map +1 -0
  52. package/dist/cli/snow-flow-cli-integration.js +385 -0
  53. package/dist/cli/snow-flow-cli-integration.js.map +1 -0
  54. package/dist/cli.js +466 -150
  55. package/dist/cli.js.map +1 -1
  56. package/dist/config/snow-flow-config.d.ts +1454 -0
  57. package/dist/config/snow-flow-config.d.ts.map +1 -0
  58. package/dist/config/snow-flow-config.js +403 -0
  59. package/dist/config/snow-flow-config.js.map +1 -0
  60. package/dist/health/system-health.d.ts +123 -0
  61. package/dist/health/system-health.d.ts.map +1 -0
  62. package/dist/health/system-health.js +580 -0
  63. package/dist/health/system-health.js.map +1 -0
  64. package/dist/index.d.ts +12 -1
  65. package/dist/index.d.ts.map +1 -1
  66. package/dist/index.js +19 -3
  67. package/dist/index.js.map +1 -1
  68. package/dist/mcp/servicenow-deployment-mcp-refactored.d.ts +58 -0
  69. package/dist/mcp/servicenow-deployment-mcp-refactored.d.ts.map +1 -0
  70. package/dist/mcp/servicenow-deployment-mcp-refactored.js +651 -0
  71. package/dist/mcp/servicenow-deployment-mcp-refactored.js.map +1 -0
  72. package/dist/mcp/servicenow-intelligent-mcp-refactored.d.ts +43 -0
  73. package/dist/mcp/servicenow-intelligent-mcp-refactored.d.ts.map +1 -0
  74. package/dist/mcp/servicenow-intelligent-mcp-refactored.js +576 -0
  75. package/dist/mcp/servicenow-intelligent-mcp-refactored.js.map +1 -0
  76. package/dist/mcp/servicenow-intelligent-mcp.d.ts +102 -1
  77. package/dist/mcp/servicenow-intelligent-mcp.d.ts.map +1 -1
  78. package/dist/mcp/servicenow-intelligent-mcp.js +2 -0
  79. package/dist/mcp/servicenow-intelligent-mcp.js.map +1 -1
  80. package/dist/mcp/shared/agent-context-provider.d.ts +77 -0
  81. package/dist/mcp/shared/agent-context-provider.d.ts.map +1 -0
  82. package/dist/mcp/shared/agent-context-provider.js +292 -0
  83. package/dist/mcp/shared/agent-context-provider.js.map +1 -0
  84. package/dist/mcp/shared/base-mcp-server.d.ts +97 -0
  85. package/dist/mcp/shared/base-mcp-server.d.ts.map +1 -0
  86. package/dist/mcp/shared/base-mcp-server.js +216 -0
  87. package/dist/mcp/shared/base-mcp-server.js.map +1 -0
  88. package/dist/mcp/shared/mcp-memory-manager.d.ts +87 -0
  89. package/dist/mcp/shared/mcp-memory-manager.d.ts.map +1 -0
  90. package/dist/mcp/shared/mcp-memory-manager.js +423 -0
  91. package/dist/mcp/shared/mcp-memory-manager.js.map +1 -0
  92. package/dist/memory/index.d.ts +9 -0
  93. package/dist/memory/index.d.ts.map +1 -0
  94. package/dist/memory/index.js +20 -0
  95. package/dist/memory/index.js.map +1 -0
  96. package/dist/memory/mcp-integration-example.d.ts +6 -0
  97. package/dist/memory/mcp-integration-example.d.ts.map +1 -0
  98. package/dist/memory/mcp-integration-example.js +282 -0
  99. package/dist/memory/mcp-integration-example.js.map +1 -0
  100. package/dist/memory/memory-client.d.ts +184 -0
  101. package/dist/memory/memory-client.d.ts.map +1 -0
  102. package/dist/memory/memory-client.js +325 -0
  103. package/dist/memory/memory-client.js.map +1 -0
  104. package/dist/memory/memory-operations.d.ts +170 -0
  105. package/dist/memory/memory-operations.d.ts.map +1 -0
  106. package/dist/memory/memory-operations.js +639 -0
  107. package/dist/memory/memory-operations.js.map +1 -0
  108. package/dist/memory/memory-system.d.ts +118 -0
  109. package/dist/memory/memory-system.d.ts.map +1 -0
  110. package/dist/memory/memory-system.js +477 -0
  111. package/dist/memory/memory-system.js.map +1 -0
  112. package/dist/memory/memory-test.d.ts +6 -0
  113. package/dist/memory/memory-test.d.ts.map +1 -0
  114. package/dist/memory/memory-test.js +162 -0
  115. package/dist/memory/memory-test.js.map +1 -0
  116. package/dist/memory/swarm-memory.d.ts +135 -0
  117. package/dist/memory/swarm-memory.d.ts.map +1 -0
  118. package/dist/memory/swarm-memory.js +378 -0
  119. package/dist/memory/swarm-memory.js.map +1 -0
  120. package/dist/monitoring/performance-tracker.d.ts +157 -0
  121. package/dist/monitoring/performance-tracker.d.ts.map +1 -0
  122. package/dist/monitoring/performance-tracker.js +571 -0
  123. package/dist/monitoring/performance-tracker.js.map +1 -0
  124. package/dist/queen/agent-factory.d.ts +3 -0
  125. package/dist/queen/agent-factory.d.ts.map +1 -1
  126. package/dist/queen/agent-factory.js +52 -0
  127. package/dist/queen/agent-factory.js.map +1 -1
  128. package/dist/queen/queen-memory.d.ts +8 -2
  129. package/dist/queen/queen-memory.d.ts.map +1 -1
  130. package/dist/queen/queen-memory.js +46 -4
  131. package/dist/queen/queen-memory.js.map +1 -1
  132. package/dist/snow-flow-system.d.ts +132 -0
  133. package/dist/snow-flow-system.d.ts.map +1 -0
  134. package/dist/snow-flow-system.js +396 -0
  135. package/dist/snow-flow-system.js.map +1 -0
  136. package/dist/types/todo.types.d.ts +61 -0
  137. package/dist/types/todo.types.d.ts.map +1 -0
  138. package/dist/types/todo.types.js +7 -0
  139. package/dist/types/todo.types.js.map +1 -0
  140. package/dist/utils/error-recovery.d.ts +101 -0
  141. package/dist/utils/error-recovery.d.ts.map +1 -0
  142. package/dist/utils/error-recovery.js +548 -0
  143. package/dist/utils/error-recovery.js.map +1 -0
  144. package/package.json +7 -2
  145. package/deploy.sh +0 -366
  146. package/docker/base/Dockerfile.base +0 -45
  147. package/docker/generate-services.js +0 -244
  148. package/docker/nginx/Dockerfile +0 -71
  149. package/docker/nginx/consul-template.hcl +0 -64
  150. package/docker/nginx/healthcheck.sh +0 -178
  151. package/docker/nginx/nginx.conf +0 -210
  152. package/docker/nginx/supervisord.conf +0 -57
  153. package/docker/nginx/templates/upstreams.conf.tpl +0 -48
  154. package/docker/services/automation-mcp/Dockerfile +0 -32
  155. package/docker/services/automation-mcp/config/service.json +0 -28
  156. package/docker/services/automation-mcp/entrypoint.js +0 -51
  157. package/docker/services/deployment-mcp/Dockerfile +0 -32
  158. package/docker/services/deployment-mcp/entrypoint.js +0 -51
  159. package/docker/services/flow-composer-mcp/Dockerfile +0 -32
  160. package/docker/services/flow-composer-mcp/config/service.json +0 -28
  161. package/docker/services/flow-composer-mcp/entrypoint.js +0 -51
  162. package/docker/services/graph-memory-mcp/Dockerfile +0 -32
  163. package/docker/services/graph-memory-mcp/config/service.json +0 -28
  164. package/docker/services/graph-memory-mcp/entrypoint.js +0 -51
  165. package/docker/services/integration-mcp/Dockerfile +0 -32
  166. package/docker/services/integration-mcp/config/service.json +0 -28
  167. package/docker/services/integration-mcp/entrypoint.js +0 -51
  168. package/docker/services/intelligent-mcp/Dockerfile +0 -32
  169. package/docker/services/intelligent-mcp/config/service.json +0 -28
  170. package/docker/services/intelligent-mcp/entrypoint.js +0 -51
  171. package/docker/services/operations-mcp/Dockerfile +0 -32
  172. package/docker/services/operations-mcp/config/service.json +0 -28
  173. package/docker/services/operations-mcp/entrypoint.js +0 -51
  174. package/docker/services/platform-development-mcp/Dockerfile +0 -32
  175. package/docker/services/platform-development-mcp/config/service.json +0 -28
  176. package/docker/services/platform-development-mcp/entrypoint.js +0 -51
  177. package/docker/services/reporting-analytics-mcp/Dockerfile +0 -32
  178. package/docker/services/reporting-analytics-mcp/config/service.json +0 -28
  179. package/docker/services/reporting-analytics-mcp/entrypoint.js +0 -51
  180. package/docker/services/security-compliance-mcp/Dockerfile +0 -32
  181. package/docker/services/security-compliance-mcp/config/service.json +0 -28
  182. package/docker/services/security-compliance-mcp/entrypoint.js +0 -51
  183. package/docker/services/update-set-mcp/Dockerfile +0 -32
  184. package/docker/services/update-set-mcp/config/service.json +0 -28
  185. package/docker/services/update-set-mcp/entrypoint.js +0 -51
  186. package/docker-compose.override.yml +0 -132
  187. package/docker-compose.prod.yml +0 -340
  188. package/docker-compose.yml +0 -579
  189. package/k8s/automation-mcp.yaml +0 -232
  190. package/k8s/configmap.yaml +0 -237
  191. package/k8s/deployment-mcp.yaml +0 -232
  192. package/k8s/flow-composer-mcp.yaml +0 -232
  193. package/k8s/generate-k8s-manifests.js +0 -453
  194. package/k8s/graph-memory-mcp.yaml +0 -232
  195. package/k8s/infrastructure.yaml +0 -456
  196. package/k8s/ingress.yaml +0 -361
  197. package/k8s/integration-mcp.yaml +0 -232
  198. package/k8s/intelligent-mcp.yaml +0 -232
  199. package/k8s/kustomization.yaml +0 -111
  200. package/k8s/mcp-services.yaml +0 -2552
  201. package/k8s/monitoring.yaml +0 -515
  202. package/k8s/namespace.yaml +0 -80
  203. package/k8s/operations-mcp.yaml +0 -232
  204. package/k8s/platform-development-mcp.yaml +0 -232
  205. package/k8s/rbac.yaml +0 -140
  206. package/k8s/reporting-analytics-mcp.yaml +0 -232
  207. package/k8s/security-compliance-mcp.yaml +0 -232
  208. package/k8s/update-set-mcp.yaml +0 -232
  209. package/test-clean-install/.claude/config.json +0 -12
  210. package/test-clean-install/.env.example +0 -49
  211. package/test-clean-install/CLAUDE.md +0 -26
  212. package/test-clean-install/README.md +0 -23
  213. package/test-global-install/.claude/config.json +0 -12
  214. package/test-global-install/CLAUDE.md +0 -26
  215. package/test-global-install/README.md +0 -23
  216. package/test-global-install/test-global-install/.claude/config.json +0 -12
  217. package/test-global-install/test-global-install/CLAUDE.md +0 -26
  218. package/test-global-install/test-global-install/README.md +0 -23
  219. package/test-global-install/test-global-install/test-global-install/.claude/config.json +0 -12
  220. package/test-global-install/test-global-install/test-global-install/.env.example +0 -49
  221. package/test-global-install/test-global-install/test-global-install/CLAUDE.md +0 -26
  222. package/test-global-install/test-global-install/test-global-install/README.md +0 -23
  223. package/test-init-debug/.claude/config.json +0 -12
  224. package/test-init-debug/CLAUDE.md +0 -693
  225. package/test-init-debug/README.md +0 -392
  226. package/test-init-real/.claude/config.json +0 -12
  227. package/test-init-real/.claude/mcp-config.json +0 -128
  228. package/test-init-real/.claude/settings.json +0 -37
  229. package/test-init-real/CLAUDE.md +0 -693
  230. package/test-init-real/README.md +0 -392
  231. package/test-init-real/activate-mcp.sh +0 -15
Binary file
package/CLAUDE.md CHANGED
@@ -405,14 +405,24 @@ if (deployment.failed) {
405
405
  - `snow-flow swarm "<objective>"`: Start multi-agent swarm - één command voor alles!
406
406
  - `snow-flow sparc <mode> "<task>"`: Run specific SPARC mode
407
407
 
408
- ## Enhanced Swarm Command (v1.1.41+)
409
- The swarm command now includes intelligent features that are **enabled by default**:
408
+ ## Enhanced Swarm Command with Queen Agent Orchestration (v1.1.75+)
409
+
410
+ ### 👑 Queen Agent Architecture
411
+ The swarm command now uses Queen Agent orchestration, where a master coordinator spawns and manages specialized agents through Claude Code:
410
412
 
411
413
  ```bash
412
- # Simple usage - all intelligent features enabled!
414
+ # Simple usage - Queen Agent handles everything!
413
415
  snow-flow swarm "create incident management dashboard"
414
416
  ```
415
417
 
418
+ ### What Happens:
419
+ 1. **Memory Initialization**: SQLite-based swarm memory system starts
420
+ 2. **Session Creation**: Unique session ID generated for tracking
421
+ 3. **Queen Agent Launch**: Master coordinator analyzes objective
422
+ 4. **Agent Spawning**: Specialized agents created via Task tool
423
+ 5. **Memory Coordination**: Agents communicate through shared memory
424
+ 6. **Progress Monitoring**: Real-time status updates via TodoWrite
425
+
416
426
  ### Default Settings (no flags needed):
417
427
  - ✅ `--smart-discovery` - Automatically discovers and reuses existing artifacts
418
428
  - ✅ `--live-testing` - Tests in real-time on your ServiceNow instance
@@ -430,15 +440,34 @@ snow-flow swarm "create global workflow" --auto-permissions
430
440
  # Disable specific features
431
441
  snow-flow swarm "test widget" --no-auto-deploy --no-live-testing
432
442
 
433
- # Full control
443
+ # Full control with Queen Agent
434
444
  snow-flow swarm "complex integration" \
435
445
  --max-agents 8 \
436
446
  --strategy development \
437
- --mode distributed \
447
+ --mode hierarchical \
438
448
  --parallel \
439
449
  --auto-permissions
440
450
  ```
441
451
 
452
+ ### Monitoring Swarm Progress:
453
+ ```bash
454
+ # Check status of a running swarm
455
+ snow-flow swarm-status <sessionId>
456
+
457
+ # Continuously monitor progress
458
+ snow-flow swarm-status <sessionId> --watch --interval 10
459
+
460
+ # List recent swarm sessions
461
+ snow-flow swarm-status
462
+ ```
463
+
464
+ ### Queen Agent Memory Patterns:
465
+ The Queen Agent uses these memory keys for coordination:
466
+ - `swarm_session_<sessionId>` - Main session data
467
+ - `agent_<type>_progress` - Individual agent progress
468
+ - `agent_<type>_complete` - Agent completion status
469
+ - `swarm_session_<sessionId>_results` - Final results
470
+
442
471
 
443
472
  ## New MCP Tools (v1.1.44+)
444
473
 
@@ -0,0 +1,92 @@
1
+ /**
2
+ * Base Agent Class
3
+ * Common functionality for all ServiceNow specialist agents
4
+ */
5
+ import { Agent, AgentType, AgentMessage, ServiceNowArtifact } from '../queen/types';
6
+ import { QueenMemorySystem } from '../queen/queen-memory';
7
+ export interface AgentConfig {
8
+ id?: string;
9
+ type: AgentType;
10
+ capabilities: string[];
11
+ mcpTools: string[];
12
+ memoryPath?: string;
13
+ debugMode?: boolean;
14
+ }
15
+ export interface AgentResult {
16
+ success: boolean;
17
+ artifacts?: ServiceNowArtifact[];
18
+ message?: string;
19
+ error?: Error;
20
+ metadata?: Record<string, any>;
21
+ }
22
+ export declare abstract class BaseAgent implements Agent {
23
+ id: string;
24
+ type: AgentType;
25
+ status: Agent['status'];
26
+ task?: string;
27
+ capabilities: string[];
28
+ mcpTools: string[];
29
+ protected memory: QueenMemorySystem;
30
+ protected debugMode: boolean;
31
+ protected messageQueue: AgentMessage[];
32
+ constructor(config: AgentConfig);
33
+ /**
34
+ * Execute the agent's main task
35
+ * Must be implemented by each specific agent
36
+ */
37
+ abstract execute(instruction: string, context?: Record<string, any>): Promise<AgentResult>;
38
+ /**
39
+ * Validate agent can handle the task
40
+ * Can be overridden by specific agents
41
+ */
42
+ canHandle(instruction: string): Promise<boolean>;
43
+ /**
44
+ * Store artifact in shared memory for other agents
45
+ */
46
+ protected storeArtifact(artifact: ServiceNowArtifact): Promise<void>;
47
+ /**
48
+ * Retrieve artifact from shared memory
49
+ */
50
+ protected getArtifact(type: string, name: string): Promise<ServiceNowArtifact | null>;
51
+ /**
52
+ * Report progress to Queen Agent
53
+ */
54
+ protected reportProgress(message: string, percentage: number): Promise<void>;
55
+ /**
56
+ * Send message to another agent
57
+ */
58
+ protected sendMessage(to: string, type: AgentMessage['type'], content: any): void;
59
+ /**
60
+ * Retrieve messages for this agent
61
+ */
62
+ protected getMessages(): Promise<AgentMessage[]>;
63
+ /**
64
+ * Handle coordination with other agents
65
+ */
66
+ protected coordinateWith(agentType: AgentType, request: any): Promise<any>;
67
+ /**
68
+ * Log activity for learning
69
+ */
70
+ protected logActivity(action: string, success: boolean, details?: any): Promise<void>;
71
+ /**
72
+ * Update agent status
73
+ */
74
+ protected setStatus(status: Agent['status']): void;
75
+ /**
76
+ * Check if agent should work with another agent
77
+ */
78
+ protected shouldCoordinate(otherAgentType: AgentType): boolean;
79
+ /**
80
+ * Generate unique agent ID
81
+ */
82
+ private generateAgentId;
83
+ /**
84
+ * Get agent information
85
+ */
86
+ getInfo(): Record<string, any>;
87
+ /**
88
+ * Cleanup agent resources
89
+ */
90
+ cleanup(): Promise<void>;
91
+ }
92
+ //# sourceMappingURL=base-agent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base-agent.d.ts","sourceRoot":"","sources":["../../src/agents/base-agent.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACpF,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAG1D,MAAM,WAAW,WAAW;IAC1B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,SAAS,CAAC;IAChB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,kBAAkB,EAAE,CAAC;IACjC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAChC;AAED,8BAAsB,SAAU,YAAW,KAAK;IACvC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,SAAS,CAAC;IAChB,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;IACxB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,QAAQ,EAAE,MAAM,EAAE,CAAC;IAE1B,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC;IACpC,SAAS,CAAC,SAAS,EAAE,OAAO,CAAC;IAC7B,SAAS,CAAC,YAAY,EAAE,YAAY,EAAE,CAAM;gBAEhC,MAAM,EAAE,WAAW;IAgB/B;;;OAGG;IACH,QAAQ,CAAC,OAAO,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC;IAE1F;;;OAGG;IACG,SAAS,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAQtD;;OAEG;cACa,aAAa,CAAC,QAAQ,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;IAS1E;;OAEG;cACa,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC;IAK3F;;OAEG;cACa,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAelF;;OAEG;IACH,SAAS,CAAC,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,GAAG,GAAG,IAAI;IAkBjF;;OAEG;cACa,WAAW,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;IAStD;;OAEG;cACa,cAAc,CAAC,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;IAwBhF;;OAEG;cACa,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;IAW3F;;OAEG;IACH,SAAS,CAAC,SAAS,CAAC,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,GAAG,IAAI;IAUlD;;OAEG;IACH,SAAS,CAAC,gBAAgB,CAAC,cAAc,EAAE,SAAS,GAAG,OAAO;IAgB9D;;OAEG;IACH,OAAO,CAAC,eAAe;IAMvB;;OAEG;IACH,OAAO,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAW9B;;OAEG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAS/B"}
@@ -0,0 +1,228 @@
1
+ "use strict";
2
+ /**
3
+ * Base Agent Class
4
+ * Common functionality for all ServiceNow specialist agents
5
+ */
6
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
7
+ if (k2 === undefined) k2 = k;
8
+ var desc = Object.getOwnPropertyDescriptor(m, k);
9
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
10
+ desc = { enumerable: true, get: function() { return m[k]; } };
11
+ }
12
+ Object.defineProperty(o, k2, desc);
13
+ }) : (function(o, m, k, k2) {
14
+ if (k2 === undefined) k2 = k;
15
+ o[k2] = m[k];
16
+ }));
17
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
18
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
19
+ }) : function(o, v) {
20
+ o["default"] = v;
21
+ });
22
+ var __importStar = (this && this.__importStar) || (function () {
23
+ var ownKeys = function(o) {
24
+ ownKeys = Object.getOwnPropertyNames || function (o) {
25
+ var ar = [];
26
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
27
+ return ar;
28
+ };
29
+ return ownKeys(o);
30
+ };
31
+ return function (mod) {
32
+ if (mod && mod.__esModule) return mod;
33
+ var result = {};
34
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
35
+ __setModuleDefault(result, mod);
36
+ return result;
37
+ };
38
+ })();
39
+ Object.defineProperty(exports, "__esModule", { value: true });
40
+ exports.BaseAgent = void 0;
41
+ const queen_memory_1 = require("../queen/queen-memory");
42
+ const crypto = __importStar(require("crypto"));
43
+ class BaseAgent {
44
+ constructor(config) {
45
+ this.messageQueue = [];
46
+ this.id = config.id || this.generateAgentId(config.type);
47
+ this.type = config.type;
48
+ this.status = 'idle';
49
+ this.capabilities = config.capabilities;
50
+ this.mcpTools = config.mcpTools;
51
+ this.debugMode = config.debugMode || false;
52
+ // Initialize memory system
53
+ this.memory = new queen_memory_1.QueenMemorySystem(config.memoryPath);
54
+ if (this.debugMode) {
55
+ console.log(`🤖 ${this.type} agent initialized with ID: ${this.id}`);
56
+ }
57
+ }
58
+ /**
59
+ * Validate agent can handle the task
60
+ * Can be overridden by specific agents
61
+ */
62
+ async canHandle(instruction) {
63
+ // Default implementation checks if instruction mentions agent capabilities
64
+ const lowerInstruction = instruction.toLowerCase();
65
+ return this.capabilities.some(capability => lowerInstruction.includes(capability.toLowerCase().split(' ')[0]));
66
+ }
67
+ /**
68
+ * Store artifact in shared memory for other agents
69
+ */
70
+ async storeArtifact(artifact) {
71
+ const key = `artifact_${artifact.type}_${artifact.name}`;
72
+ await this.memory.storeInContext(key, artifact);
73
+ if (this.debugMode) {
74
+ console.log(`📦 Stored artifact: ${key}`);
75
+ }
76
+ }
77
+ /**
78
+ * Retrieve artifact from shared memory
79
+ */
80
+ async getArtifact(type, name) {
81
+ const key = `artifact_${type}_${name}`;
82
+ return await this.memory.getFromContext(key);
83
+ }
84
+ /**
85
+ * Report progress to Queen Agent
86
+ */
87
+ async reportProgress(message, percentage) {
88
+ const progressKey = `progress_${this.id}`;
89
+ await this.memory.storeInContext(progressKey, {
90
+ agentId: this.id,
91
+ agentType: this.type,
92
+ message,
93
+ percentage,
94
+ timestamp: new Date()
95
+ });
96
+ if (this.debugMode) {
97
+ console.log(`📊 ${this.type}: ${message} (${percentage}%)`);
98
+ }
99
+ }
100
+ /**
101
+ * Send message to another agent
102
+ */
103
+ sendMessage(to, type, content) {
104
+ const message = {
105
+ from: this.id,
106
+ to,
107
+ type,
108
+ content,
109
+ timestamp: new Date()
110
+ };
111
+ // Store in shared memory for recipient
112
+ const messageKey = `message_${to}_${Date.now()}`;
113
+ this.memory.storeInContext(messageKey, message);
114
+ if (this.debugMode) {
115
+ console.log(`📨 Message sent from ${this.id} to ${to}: ${type}`);
116
+ }
117
+ }
118
+ /**
119
+ * Retrieve messages for this agent
120
+ */
121
+ async getMessages() {
122
+ const messagePrefix = `message_${this.id}_`;
123
+ const messages = [];
124
+ // This is a simplified implementation
125
+ // In a real system, we'd query the memory system more efficiently
126
+ return messages;
127
+ }
128
+ /**
129
+ * Handle coordination with other agents
130
+ */
131
+ async coordinateWith(agentType, request) {
132
+ const coordinationKey = `coordination_${this.id}_${agentType}_${Date.now()}`;
133
+ await this.memory.storeInContext(coordinationKey, {
134
+ from: this.id,
135
+ toType: agentType,
136
+ request,
137
+ timestamp: new Date()
138
+ });
139
+ // Wait for response (simplified)
140
+ const responseKey = `${coordinationKey}_response`;
141
+ let attempts = 0;
142
+ while (attempts < 30) { // 30 second timeout
143
+ const response = await this.memory.getFromContext(responseKey);
144
+ if (response) {
145
+ return response;
146
+ }
147
+ await new Promise(resolve => setTimeout(resolve, 1000));
148
+ attempts++;
149
+ }
150
+ throw new Error(`Coordination timeout with ${agentType}`);
151
+ }
152
+ /**
153
+ * Log activity for learning
154
+ */
155
+ async logActivity(action, success, details) {
156
+ const learningKey = `agent_activity_${this.type}_${action}`;
157
+ await this.memory.storeLearning(learningKey, JSON.stringify({
158
+ agentId: this.id,
159
+ action,
160
+ success,
161
+ details,
162
+ timestamp: new Date()
163
+ }), success ? 0.9 : 0.3);
164
+ }
165
+ /**
166
+ * Update agent status
167
+ */
168
+ setStatus(status) {
169
+ this.status = status;
170
+ const statusKey = `agent_status_${this.id}`;
171
+ this.memory.storeInContext(statusKey, {
172
+ agentId: this.id,
173
+ status,
174
+ timestamp: new Date()
175
+ });
176
+ }
177
+ /**
178
+ * Check if agent should work with another agent
179
+ */
180
+ shouldCoordinate(otherAgentType) {
181
+ // Define coordination rules
182
+ const coordinationRules = {
183
+ 'widget-creator': ['tester', 'researcher', 'app-architect'],
184
+ 'flow-builder': ['catalog-manager', 'tester', 'integration-specialist'],
185
+ 'script-writer': ['tester', 'app-architect'],
186
+ 'app-architect': ['widget-creator', 'script-writer', 'flow-builder'],
187
+ 'integration-specialist': ['flow-builder', 'script-writer'],
188
+ 'catalog-manager': ['flow-builder'],
189
+ 'researcher': ['widget-creator', 'flow-builder', 'script-writer'],
190
+ 'tester': ['widget-creator', 'flow-builder', 'script-writer']
191
+ };
192
+ return coordinationRules[this.type]?.includes(otherAgentType) || false;
193
+ }
194
+ /**
195
+ * Generate unique agent ID
196
+ */
197
+ generateAgentId(type) {
198
+ const timestamp = Date.now().toString(36);
199
+ const random = crypto.randomBytes(4).toString('hex');
200
+ return `${type}_${timestamp}_${random}`;
201
+ }
202
+ /**
203
+ * Get agent information
204
+ */
205
+ getInfo() {
206
+ return {
207
+ id: this.id,
208
+ type: this.type,
209
+ status: this.status,
210
+ capabilities: this.capabilities,
211
+ mcpTools: this.mcpTools,
212
+ task: this.task
213
+ };
214
+ }
215
+ /**
216
+ * Cleanup agent resources
217
+ */
218
+ async cleanup() {
219
+ // Clean up any resources
220
+ this.messageQueue = [];
221
+ this.status = 'idle';
222
+ if (this.debugMode) {
223
+ console.log(`🧹 ${this.type} agent ${this.id} cleaned up`);
224
+ }
225
+ }
226
+ }
227
+ exports.BaseAgent = BaseAgent;
228
+ //# sourceMappingURL=base-agent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base-agent.js","sourceRoot":"","sources":["../../src/agents/base-agent.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,200 @@
1
+ /**
2
+ * Agent Coordination System
3
+ * Manages inter-agent communication, task dependencies, and handoffs
4
+ * Integrates with SQLite memory for persistent coordination state
5
+ */
6
+ import { EventEmitter } from 'eventemitter3';
7
+ import { Agent, AgentMessage } from '../queen/types';
8
+ import { QueenMemorySystem } from '../queen/queen-memory';
9
+ export interface CoordinationContext {
10
+ sessionId: string;
11
+ objectiveId: string;
12
+ agents: Map<string, Agent>;
13
+ dependencies: Map<string, string[]>;
14
+ handoffs: Map<string, HandoffRequest>;
15
+ blockages: Map<string, BlockageInfo>;
16
+ }
17
+ export interface HandoffRequest {
18
+ id: string;
19
+ fromAgent: string;
20
+ toAgent: string;
21
+ artifactType: string;
22
+ artifactData: any;
23
+ status: 'pending' | 'accepted' | 'completed' | 'failed';
24
+ createdAt: Date;
25
+ completedAt?: Date;
26
+ }
27
+ export interface BlockageInfo {
28
+ agentId: string;
29
+ reason: string;
30
+ blockedTasks: string[];
31
+ dependencies: string[];
32
+ attemptedResolutions: string[];
33
+ createdAt: Date;
34
+ }
35
+ export interface CoordinationStrategy {
36
+ type: 'sequential' | 'parallel' | 'adaptive';
37
+ rules: CoordinationRule[];
38
+ fallbackStrategy?: string;
39
+ }
40
+ export interface CoordinationRule {
41
+ condition: string;
42
+ action: string;
43
+ priority: number;
44
+ }
45
+ export interface RecoveryStrategy {
46
+ errorType: string;
47
+ recoveryActions: RecoveryAction[];
48
+ maxRetries: number;
49
+ }
50
+ export interface RecoveryAction {
51
+ type: 'retry' | 'fallback' | 'reassign' | 'escalate';
52
+ config: Record<string, any>;
53
+ }
54
+ export declare class AgentCoordinator extends EventEmitter {
55
+ private memory;
56
+ private contexts;
57
+ private strategies;
58
+ private recoveryStrategies;
59
+ private messageQueue;
60
+ constructor(memory: QueenMemorySystem);
61
+ /**
62
+ * Create a new coordination context for an objective
63
+ */
64
+ createContext(sessionId: string, objectiveId: string): Promise<CoordinationContext>;
65
+ /**
66
+ * Register an agent with the coordinator
67
+ */
68
+ registerAgent(agent: Agent, objectiveId?: string): Promise<void>;
69
+ /**
70
+ * Manage task dependencies between agents
71
+ */
72
+ manageDependencies(objectiveId: string, taskId: string, dependencies: string[]): Promise<void>;
73
+ /**
74
+ * Coordinate handoff between agents
75
+ */
76
+ coordinateHandoff(fromAgentId: string, toAgentId: string, artifactType: string, artifactData: any): Promise<HandoffRequest>;
77
+ /**
78
+ * Handle agent blockage with recovery strategies
79
+ */
80
+ handleBlockage(agentId: string, reason: string, blockedTasks: string[]): Promise<void>;
81
+ /**
82
+ * Send message between agents
83
+ */
84
+ sendMessage(fromAgentId: string, toAgentId: string, messageType: AgentMessage['type'], content: any): Promise<void>;
85
+ /**
86
+ * Get pending messages for an agent
87
+ */
88
+ getAgentMessages(agentId: string): Promise<AgentMessage[]>;
89
+ /**
90
+ * Update handoff status
91
+ */
92
+ updateHandoffStatus(handoffId: string, status: HandoffRequest['status']): Promise<void>;
93
+ /**
94
+ * Get coordination status for an objective
95
+ */
96
+ getCoordinationStatus(objectiveId: string): Promise<{
97
+ agents: {
98
+ total: number;
99
+ active: number;
100
+ blocked: number;
101
+ };
102
+ handoffs: {
103
+ total: number;
104
+ pending: number;
105
+ completed: number;
106
+ };
107
+ dependencies: {
108
+ total: number;
109
+ satisfied: number;
110
+ };
111
+ blockages: number;
112
+ }>;
113
+ /**
114
+ * Apply coordination strategy
115
+ */
116
+ applyStrategy(objectiveId: string, strategyType: string): Promise<void>;
117
+ /**
118
+ * Terminate an agent
119
+ */
120
+ terminateAgent(agentId: string): Promise<void>;
121
+ /**
122
+ * Initialize default coordination strategies
123
+ */
124
+ private initializeDefaultStrategies;
125
+ /**
126
+ * Initialize recovery strategies for error handling
127
+ */
128
+ private initializeRecoveryStrategies;
129
+ /**
130
+ * Set up memory synchronization
131
+ */
132
+ private setupMemorySync;
133
+ /**
134
+ * Sync context to memory
135
+ */
136
+ private syncContextToMemory;
137
+ /**
138
+ * Check if dependencies are satisfied
139
+ */
140
+ private checkDependencySatisfaction;
141
+ /**
142
+ * Check if a specific dependency is satisfied
143
+ */
144
+ private isDependencySatisfied;
145
+ /**
146
+ * Find blocked dependencies
147
+ */
148
+ private findBlockedDependencies;
149
+ /**
150
+ * Attempt recovery for blocked agent
151
+ */
152
+ private attemptRecovery;
153
+ /**
154
+ * Find recovery strategy for error type
155
+ */
156
+ private findRecoveryStrategy;
157
+ /**
158
+ * Execute recovery action
159
+ */
160
+ private executeRecoveryAction;
161
+ /**
162
+ * Find available agent of specified type
163
+ */
164
+ private findAvailableAgent;
165
+ /**
166
+ * Reassign tasks from one agent to another
167
+ */
168
+ private reassignTasks;
169
+ /**
170
+ * Process pending messages for an agent
171
+ */
172
+ private processAgentMessages;
173
+ /**
174
+ * Evaluate strategy condition
175
+ */
176
+ private evaluateCondition;
177
+ /**
178
+ * Execute strategy action
179
+ */
180
+ private executeAction;
181
+ /**
182
+ * Generate unique ID
183
+ */
184
+ private generateId;
185
+ /**
186
+ * Get coordinator statistics
187
+ */
188
+ getStats(): Promise<{
189
+ activeContexts: number;
190
+ totalAgents: number;
191
+ activeHandoffs: number;
192
+ blockedAgents: number;
193
+ messagesInQueue: number;
194
+ }>;
195
+ /**
196
+ * Clean up completed contexts
197
+ */
198
+ cleanup(): Promise<void>;
199
+ }
200
+ //# sourceMappingURL=coordinator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"coordinator.d.ts","sourceRoot":"","sources":["../../src/agents/coordinator.ts"],"names":[],"mappings":"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"}