snow-flow 1.1.76 → 1.1.78

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 (234) hide show
  1. package/.claude-flow/queen/queen-memory.db +0 -0
  2. package/CLAUDE.md +34 -5
  3. package/README.md +256 -384
  4. package/dist/agents/base-agent.d.ts +92 -0
  5. package/dist/agents/base-agent.d.ts.map +1 -0
  6. package/dist/agents/base-agent.js +228 -0
  7. package/dist/agents/base-agent.js.map +1 -0
  8. package/dist/agents/coordinator.d.ts +200 -0
  9. package/dist/agents/coordinator.d.ts.map +1 -0
  10. package/dist/agents/coordinator.js +775 -0
  11. package/dist/agents/coordinator.js.map +1 -0
  12. package/dist/agents/flow-builder-agent.d.ts +18 -0
  13. package/dist/agents/flow-builder-agent.d.ts.map +1 -0
  14. package/dist/agents/flow-builder-agent.js +536 -0
  15. package/dist/agents/flow-builder-agent.js.map +1 -0
  16. package/dist/agents/index.d.ts +18 -0
  17. package/dist/agents/index.d.ts.map +1 -0
  18. package/dist/agents/index.js +61 -0
  19. package/dist/agents/index.js.map +1 -0
  20. package/dist/agents/queen-agent-example.d.ts +23 -0
  21. package/dist/agents/queen-agent-example.d.ts.map +1 -0
  22. package/dist/agents/queen-agent-example.js +241 -0
  23. package/dist/agents/queen-agent-example.js.map +1 -0
  24. package/dist/agents/queen-agent.d.ts +180 -0
  25. package/dist/agents/queen-agent.d.ts.map +1 -0
  26. package/dist/agents/queen-agent.js +909 -0
  27. package/dist/agents/queen-agent.js.map +1 -0
  28. package/dist/agents/queen-agent.test.d.ts +6 -0
  29. package/dist/agents/queen-agent.test.d.ts.map +1 -0
  30. package/dist/agents/queen-agent.test.js.map +1 -0
  31. package/dist/agents/script-writer-agent.d.ts +22 -0
  32. package/dist/agents/script-writer-agent.d.ts.map +1 -0
  33. package/dist/agents/script-writer-agent.js +695 -0
  34. package/dist/agents/script-writer-agent.js.map +1 -0
  35. package/dist/agents/security-agent.d.ts +23 -0
  36. package/dist/agents/security-agent.d.ts.map +1 -0
  37. package/dist/agents/security-agent.js +619 -0
  38. package/dist/agents/security-agent.js.map +1 -0
  39. package/dist/agents/test-agent.d.ts +26 -0
  40. package/dist/agents/test-agent.d.ts.map +1 -0
  41. package/dist/agents/test-agent.js +735 -0
  42. package/dist/agents/test-agent.js.map +1 -0
  43. package/dist/agents/test-agents.d.ts +7 -0
  44. package/dist/agents/test-agents.d.ts.map +1 -0
  45. package/dist/agents/test-agents.js +65 -0
  46. package/dist/agents/test-agents.js.map +1 -0
  47. package/dist/agents/widget-creator-agent.d.ts +18 -0
  48. package/dist/agents/widget-creator-agent.d.ts.map +1 -0
  49. package/dist/agents/widget-creator-agent.js +440 -0
  50. package/dist/agents/widget-creator-agent.js.map +1 -0
  51. package/dist/cli/snow-flow-cli-integration.d.ts +30 -0
  52. package/dist/cli/snow-flow-cli-integration.d.ts.map +1 -0
  53. package/dist/cli/snow-flow-cli-integration.js +385 -0
  54. package/dist/cli/snow-flow-cli-integration.js.map +1 -0
  55. package/dist/cli.js +466 -150
  56. package/dist/cli.js.map +1 -1
  57. package/dist/config/snow-flow-config.d.ts +1454 -0
  58. package/dist/config/snow-flow-config.d.ts.map +1 -0
  59. package/dist/config/snow-flow-config.js +403 -0
  60. package/dist/config/snow-flow-config.js.map +1 -0
  61. package/dist/health/system-health.d.ts +123 -0
  62. package/dist/health/system-health.d.ts.map +1 -0
  63. package/dist/health/system-health.js +580 -0
  64. package/dist/health/system-health.js.map +1 -0
  65. package/dist/index.d.ts +12 -1
  66. package/dist/index.d.ts.map +1 -1
  67. package/dist/index.js +19 -3
  68. package/dist/index.js.map +1 -1
  69. package/dist/mcp/servicenow-deployment-mcp-refactored.d.ts +58 -0
  70. package/dist/mcp/servicenow-deployment-mcp-refactored.d.ts.map +1 -0
  71. package/dist/mcp/servicenow-deployment-mcp-refactored.js +651 -0
  72. package/dist/mcp/servicenow-deployment-mcp-refactored.js.map +1 -0
  73. package/dist/mcp/servicenow-intelligent-mcp-refactored.d.ts +43 -0
  74. package/dist/mcp/servicenow-intelligent-mcp-refactored.d.ts.map +1 -0
  75. package/dist/mcp/servicenow-intelligent-mcp-refactored.js +576 -0
  76. package/dist/mcp/servicenow-intelligent-mcp-refactored.js.map +1 -0
  77. package/dist/mcp/servicenow-intelligent-mcp.d.ts +102 -1
  78. package/dist/mcp/servicenow-intelligent-mcp.d.ts.map +1 -1
  79. package/dist/mcp/servicenow-intelligent-mcp.js +2 -0
  80. package/dist/mcp/servicenow-intelligent-mcp.js.map +1 -1
  81. package/dist/mcp/shared/agent-context-provider.d.ts +77 -0
  82. package/dist/mcp/shared/agent-context-provider.d.ts.map +1 -0
  83. package/dist/mcp/shared/agent-context-provider.js +292 -0
  84. package/dist/mcp/shared/agent-context-provider.js.map +1 -0
  85. package/dist/mcp/shared/base-mcp-server.d.ts +97 -0
  86. package/dist/mcp/shared/base-mcp-server.d.ts.map +1 -0
  87. package/dist/mcp/shared/base-mcp-server.js +216 -0
  88. package/dist/mcp/shared/base-mcp-server.js.map +1 -0
  89. package/dist/mcp/shared/mcp-memory-manager.d.ts +87 -0
  90. package/dist/mcp/shared/mcp-memory-manager.d.ts.map +1 -0
  91. package/dist/mcp/shared/mcp-memory-manager.js +423 -0
  92. package/dist/mcp/shared/mcp-memory-manager.js.map +1 -0
  93. package/dist/memory/index.d.ts +9 -0
  94. package/dist/memory/index.d.ts.map +1 -0
  95. package/dist/memory/index.js +20 -0
  96. package/dist/memory/index.js.map +1 -0
  97. package/dist/memory/mcp-integration-example.d.ts +6 -0
  98. package/dist/memory/mcp-integration-example.d.ts.map +1 -0
  99. package/dist/memory/mcp-integration-example.js +282 -0
  100. package/dist/memory/mcp-integration-example.js.map +1 -0
  101. package/dist/memory/memory-client.d.ts +184 -0
  102. package/dist/memory/memory-client.d.ts.map +1 -0
  103. package/dist/memory/memory-client.js +325 -0
  104. package/dist/memory/memory-client.js.map +1 -0
  105. package/dist/memory/memory-operations.d.ts +170 -0
  106. package/dist/memory/memory-operations.d.ts.map +1 -0
  107. package/dist/memory/memory-operations.js +639 -0
  108. package/dist/memory/memory-operations.js.map +1 -0
  109. package/dist/memory/memory-system.d.ts +118 -0
  110. package/dist/memory/memory-system.d.ts.map +1 -0
  111. package/dist/memory/memory-system.js +477 -0
  112. package/dist/memory/memory-system.js.map +1 -0
  113. package/dist/memory/memory-test.d.ts +6 -0
  114. package/dist/memory/memory-test.d.ts.map +1 -0
  115. package/dist/memory/memory-test.js +162 -0
  116. package/dist/memory/memory-test.js.map +1 -0
  117. package/dist/memory/swarm-memory.d.ts +135 -0
  118. package/dist/memory/swarm-memory.d.ts.map +1 -0
  119. package/dist/memory/swarm-memory.js +378 -0
  120. package/dist/memory/swarm-memory.js.map +1 -0
  121. package/dist/monitoring/performance-tracker.d.ts +157 -0
  122. package/dist/monitoring/performance-tracker.d.ts.map +1 -0
  123. package/dist/monitoring/performance-tracker.js +571 -0
  124. package/dist/monitoring/performance-tracker.js.map +1 -0
  125. package/dist/queen/agent-factory.d.ts +3 -0
  126. package/dist/queen/agent-factory.d.ts.map +1 -1
  127. package/dist/queen/agent-factory.js +52 -0
  128. package/dist/queen/agent-factory.js.map +1 -1
  129. package/dist/queen/queen-memory.d.ts +8 -2
  130. package/dist/queen/queen-memory.d.ts.map +1 -1
  131. package/dist/queen/queen-memory.js +46 -4
  132. package/dist/queen/queen-memory.js.map +1 -1
  133. package/dist/snow-flow-system.d.ts +132 -0
  134. package/dist/snow-flow-system.d.ts.map +1 -0
  135. package/dist/snow-flow-system.js +396 -0
  136. package/dist/snow-flow-system.js.map +1 -0
  137. package/dist/types/todo.types.d.ts +61 -0
  138. package/dist/types/todo.types.d.ts.map +1 -0
  139. package/dist/types/todo.types.js +7 -0
  140. package/dist/types/todo.types.js.map +1 -0
  141. package/dist/utils/error-recovery.d.ts +101 -0
  142. package/dist/utils/error-recovery.d.ts.map +1 -0
  143. package/dist/utils/error-recovery.js +548 -0
  144. package/dist/utils/error-recovery.js.map +1 -0
  145. package/dist/version.d.ts +1 -1
  146. package/dist/version.js +1 -1
  147. package/package.json +7 -2
  148. package/deploy.sh +0 -366
  149. package/docker/base/Dockerfile.base +0 -45
  150. package/docker/generate-services.js +0 -244
  151. package/docker/nginx/Dockerfile +0 -71
  152. package/docker/nginx/consul-template.hcl +0 -64
  153. package/docker/nginx/healthcheck.sh +0 -178
  154. package/docker/nginx/nginx.conf +0 -210
  155. package/docker/nginx/supervisord.conf +0 -57
  156. package/docker/nginx/templates/upstreams.conf.tpl +0 -48
  157. package/docker/services/automation-mcp/Dockerfile +0 -32
  158. package/docker/services/automation-mcp/config/service.json +0 -28
  159. package/docker/services/automation-mcp/entrypoint.js +0 -51
  160. package/docker/services/deployment-mcp/Dockerfile +0 -32
  161. package/docker/services/deployment-mcp/entrypoint.js +0 -51
  162. package/docker/services/flow-composer-mcp/Dockerfile +0 -32
  163. package/docker/services/flow-composer-mcp/config/service.json +0 -28
  164. package/docker/services/flow-composer-mcp/entrypoint.js +0 -51
  165. package/docker/services/graph-memory-mcp/Dockerfile +0 -32
  166. package/docker/services/graph-memory-mcp/config/service.json +0 -28
  167. package/docker/services/graph-memory-mcp/entrypoint.js +0 -51
  168. package/docker/services/integration-mcp/Dockerfile +0 -32
  169. package/docker/services/integration-mcp/config/service.json +0 -28
  170. package/docker/services/integration-mcp/entrypoint.js +0 -51
  171. package/docker/services/intelligent-mcp/Dockerfile +0 -32
  172. package/docker/services/intelligent-mcp/config/service.json +0 -28
  173. package/docker/services/intelligent-mcp/entrypoint.js +0 -51
  174. package/docker/services/operations-mcp/Dockerfile +0 -32
  175. package/docker/services/operations-mcp/config/service.json +0 -28
  176. package/docker/services/operations-mcp/entrypoint.js +0 -51
  177. package/docker/services/platform-development-mcp/Dockerfile +0 -32
  178. package/docker/services/platform-development-mcp/config/service.json +0 -28
  179. package/docker/services/platform-development-mcp/entrypoint.js +0 -51
  180. package/docker/services/reporting-analytics-mcp/Dockerfile +0 -32
  181. package/docker/services/reporting-analytics-mcp/config/service.json +0 -28
  182. package/docker/services/reporting-analytics-mcp/entrypoint.js +0 -51
  183. package/docker/services/security-compliance-mcp/Dockerfile +0 -32
  184. package/docker/services/security-compliance-mcp/config/service.json +0 -28
  185. package/docker/services/security-compliance-mcp/entrypoint.js +0 -51
  186. package/docker/services/update-set-mcp/Dockerfile +0 -32
  187. package/docker/services/update-set-mcp/config/service.json +0 -28
  188. package/docker/services/update-set-mcp/entrypoint.js +0 -51
  189. package/docker-compose.override.yml +0 -132
  190. package/docker-compose.prod.yml +0 -340
  191. package/docker-compose.yml +0 -579
  192. package/k8s/automation-mcp.yaml +0 -232
  193. package/k8s/configmap.yaml +0 -237
  194. package/k8s/deployment-mcp.yaml +0 -232
  195. package/k8s/flow-composer-mcp.yaml +0 -232
  196. package/k8s/generate-k8s-manifests.js +0 -453
  197. package/k8s/graph-memory-mcp.yaml +0 -232
  198. package/k8s/infrastructure.yaml +0 -456
  199. package/k8s/ingress.yaml +0 -361
  200. package/k8s/integration-mcp.yaml +0 -232
  201. package/k8s/intelligent-mcp.yaml +0 -232
  202. package/k8s/kustomization.yaml +0 -111
  203. package/k8s/mcp-services.yaml +0 -2552
  204. package/k8s/monitoring.yaml +0 -515
  205. package/k8s/namespace.yaml +0 -80
  206. package/k8s/operations-mcp.yaml +0 -232
  207. package/k8s/platform-development-mcp.yaml +0 -232
  208. package/k8s/rbac.yaml +0 -140
  209. package/k8s/reporting-analytics-mcp.yaml +0 -232
  210. package/k8s/security-compliance-mcp.yaml +0 -232
  211. package/k8s/update-set-mcp.yaml +0 -232
  212. package/test-clean-install/.claude/config.json +0 -12
  213. package/test-clean-install/.env.example +0 -49
  214. package/test-clean-install/CLAUDE.md +0 -26
  215. package/test-clean-install/README.md +0 -23
  216. package/test-global-install/.claude/config.json +0 -12
  217. package/test-global-install/CLAUDE.md +0 -26
  218. package/test-global-install/README.md +0 -23
  219. package/test-global-install/test-global-install/.claude/config.json +0 -12
  220. package/test-global-install/test-global-install/CLAUDE.md +0 -26
  221. package/test-global-install/test-global-install/README.md +0 -23
  222. package/test-global-install/test-global-install/test-global-install/.claude/config.json +0 -12
  223. package/test-global-install/test-global-install/test-global-install/.env.example +0 -49
  224. package/test-global-install/test-global-install/test-global-install/CLAUDE.md +0 -26
  225. package/test-global-install/test-global-install/test-global-install/README.md +0 -23
  226. package/test-init-debug/.claude/config.json +0 -12
  227. package/test-init-debug/CLAUDE.md +0 -693
  228. package/test-init-debug/README.md +0 -392
  229. package/test-init-real/.claude/config.json +0 -12
  230. package/test-init-real/.claude/mcp-config.json +0 -128
  231. package/test-init-real/.claude/settings.json +0 -37
  232. package/test-init-real/CLAUDE.md +0 -693
  233. package/test-init-real/README.md +0 -392
  234. package/test-init-real/activate-mcp.sh +0 -15
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test-agent.js","sourceRoot":"","sources":["../../src/agents/test-agent.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Test ServiceNow Agents
3
+ * Quick test to verify agent implementations
4
+ */
5
+ declare function testAgents(): Promise<void>;
6
+ export { testAgents };
7
+ //# sourceMappingURL=test-agents.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test-agents.d.ts","sourceRoot":"","sources":["../../src/agents/test-agents.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAQH,iBAAe,UAAU,kBAiExB;AAOD,OAAO,EAAE,UAAU,EAAE,CAAC"}
@@ -0,0 +1,65 @@
1
+ "use strict";
2
+ /**
3
+ * Test ServiceNow Agents
4
+ * Quick test to verify agent implementations
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.testAgents = testAgents;
8
+ const widget_creator_agent_1 = require("./widget-creator-agent");
9
+ const flow_builder_agent_1 = require("./flow-builder-agent");
10
+ const script_writer_agent_1 = require("./script-writer-agent");
11
+ const test_agent_1 = require("./test-agent");
12
+ const security_agent_1 = require("./security-agent");
13
+ async function testAgents() {
14
+ console.log('🧪 Testing ServiceNow Specialist Agents\n');
15
+ // Test Widget Creator Agent
16
+ console.log('1️⃣ Testing Widget Creator Agent...');
17
+ const widgetAgent = new widget_creator_agent_1.WidgetCreatorAgent({ debugMode: true });
18
+ const widgetResult = await widgetAgent.execute('Create an incident dashboard widget with charts showing incidents by priority and state');
19
+ console.log(` Result: ${widgetResult.success ? '✅ Success' : '❌ Failed'}`);
20
+ console.log(` Message: ${widgetResult.message}\n`);
21
+ // Test Flow Builder Agent
22
+ console.log('2️⃣ Testing Flow Builder Agent...');
23
+ const flowAgent = new flow_builder_agent_1.FlowBuilderAgent({ debugMode: true });
24
+ const flowResult = await flowAgent.execute('Create an approval flow for new incident requests with manager approval');
25
+ console.log(` Result: ${flowResult.success ? '✅ Success' : '❌ Failed'}`);
26
+ console.log(` Message: ${flowResult.message}\n`);
27
+ // Test Script Writer Agent
28
+ console.log('3️⃣ Testing Script Writer Agent...');
29
+ const scriptAgent = new script_writer_agent_1.ScriptWriterAgent({ debugMode: true });
30
+ const scriptResult = await scriptAgent.execute('Create a business rule to validate incident priority based on impact and urgency');
31
+ console.log(` Result: ${scriptResult.success ? '✅ Success' : '❌ Failed'}`);
32
+ console.log(` Message: ${scriptResult.message}\n`);
33
+ // Test Test Agent
34
+ console.log('4️⃣ Testing Test Agent...');
35
+ const testAgent = new test_agent_1.TestAgent({ debugMode: true });
36
+ // First store a mock widget artifact for testing
37
+ const mockWidget = {
38
+ type: 'widget',
39
+ name: 'test_widget',
40
+ config: { name: 'test_widget', template: '<div>Test</div>' },
41
+ dependencies: []
42
+ };
43
+ await testAgent['storeArtifact'](mockWidget);
44
+ const testResult = await testAgent.execute('Test the test_widget widget with comprehensive test scenarios');
45
+ console.log(` Result: ${testResult.success ? '✅ Success' : '❌ Failed'}`);
46
+ console.log(` Message: ${testResult.message}\n`);
47
+ // Test Security Agent
48
+ console.log('5️⃣ Testing Security Agent...');
49
+ const securityAgent = new security_agent_1.SecurityAgent({ debugMode: true });
50
+ const securityResult = await securityAgent.execute('Perform security scan on recent artifacts checking for vulnerabilities');
51
+ console.log(` Result: ${securityResult.success ? '✅ Success' : '❌ Failed'}`);
52
+ console.log(` Message: ${securityResult.message}\n`);
53
+ console.log('✨ Agent testing completed!');
54
+ // Clean up
55
+ await widgetAgent.cleanup();
56
+ await flowAgent.cleanup();
57
+ await scriptAgent.cleanup();
58
+ await testAgent.cleanup();
59
+ await securityAgent.cleanup();
60
+ }
61
+ // Run tests if this file is executed directly
62
+ if (require.main === module) {
63
+ testAgents().catch(console.error);
64
+ }
65
+ //# sourceMappingURL=test-agents.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test-agents.js","sourceRoot":"","sources":["../../src/agents/test-agents.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Widget Creator Agent
3
+ * Specializes in creating ServiceNow Service Portal widgets
4
+ */
5
+ import { BaseAgent, AgentConfig, AgentResult } from './base-agent';
6
+ export declare class WidgetCreatorAgent extends BaseAgent {
7
+ constructor(config?: Partial<AgentConfig>);
8
+ execute(instruction: string, context?: Record<string, any>): Promise<AgentResult>;
9
+ private analyzeWidgetRequirements;
10
+ private checkExistingWidgets;
11
+ private createHTMLTemplate;
12
+ private createCSS;
13
+ private createClientScript;
14
+ private createServerScript;
15
+ private generateDemoData;
16
+ private prepareDeploymentInstructions;
17
+ }
18
+ //# sourceMappingURL=widget-creator-agent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"widget-creator-agent.d.ts","sourceRoot":"","sources":["../../src/agents/widget-creator-agent.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAGnE,qBAAa,kBAAmB,SAAQ,SAAS;gBACnC,MAAM,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC;IAyBnC,OAAO,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC;YA4FzE,yBAAyB;YA8DzB,oBAAoB;YAMpB,kBAAkB;YAmDlB,SAAS;YA2DT,kBAAkB;YAqElB,kBAAkB;YA4FlB,gBAAgB;IA0B9B,OAAO,CAAC,6BAA6B;CAetC"}
@@ -0,0 +1,440 @@
1
+ "use strict";
2
+ /**
3
+ * Widget Creator Agent
4
+ * Specializes in creating ServiceNow Service Portal widgets
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.WidgetCreatorAgent = void 0;
8
+ const base_agent_1 = require("./base-agent");
9
+ class WidgetCreatorAgent extends base_agent_1.BaseAgent {
10
+ constructor(config) {
11
+ super({
12
+ type: 'widget-creator',
13
+ capabilities: [
14
+ 'HTML template creation',
15
+ 'CSS styling and responsive design',
16
+ 'Client-side JavaScript',
17
+ 'Server-side data processing',
18
+ 'Chart.js integration',
19
+ 'ServiceNow widget deployment',
20
+ 'Angular.js directives',
21
+ 'Bootstrap styling',
22
+ 'Data visualization'
23
+ ],
24
+ mcpTools: [
25
+ 'snow_deploy',
26
+ 'snow_preview_widget',
27
+ 'snow_widget_test',
28
+ 'snow_catalog_item_search',
29
+ 'snow_find_artifact'
30
+ ],
31
+ ...config
32
+ });
33
+ }
34
+ async execute(instruction, context) {
35
+ try {
36
+ this.setStatus('working');
37
+ await this.reportProgress('Starting widget creation', 0);
38
+ // Analyze widget requirements from instruction
39
+ const requirements = await this.analyzeWidgetRequirements(instruction);
40
+ await this.reportProgress('Analyzed requirements', 20);
41
+ // Check for existing similar widgets
42
+ const existingWidgets = await this.checkExistingWidgets(requirements);
43
+ if (existingWidgets.length > 0) {
44
+ await this.reportProgress('Found existing widgets to reference', 30);
45
+ }
46
+ // Create widget components
47
+ const template = await this.createHTMLTemplate(requirements);
48
+ await this.reportProgress('Created HTML template', 40);
49
+ const css = await this.createCSS(requirements);
50
+ await this.reportProgress('Created CSS styling', 50);
51
+ const clientScript = await this.createClientScript(requirements);
52
+ await this.reportProgress('Created client script', 60);
53
+ const serverScript = await this.createServerScript(requirements);
54
+ await this.reportProgress('Created server script', 70);
55
+ // Generate demo data if needed
56
+ const demoData = requirements.needsDemoData ?
57
+ await this.generateDemoData(requirements) : null;
58
+ await this.reportProgress('Generated demo data', 80);
59
+ // Create widget configuration
60
+ const widgetConfig = {
61
+ name: requirements.name,
62
+ title: requirements.title || requirements.name,
63
+ template,
64
+ css,
65
+ client_script: clientScript,
66
+ server_script: serverScript,
67
+ demo_data: demoData,
68
+ description: requirements.description,
69
+ category: requirements.category || 'custom'
70
+ };
71
+ // Create widget artifact
72
+ const artifact = {
73
+ type: 'widget',
74
+ name: requirements.name,
75
+ config: widgetConfig,
76
+ dependencies: requirements.dependencies || []
77
+ };
78
+ // Store artifact for other agents
79
+ await this.storeArtifact(artifact);
80
+ await this.reportProgress('Widget artifact created and stored', 90);
81
+ // Prepare deployment instructions
82
+ const deploymentInstructions = this.prepareDeploymentInstructions(widgetConfig);
83
+ await this.reportProgress('Widget creation completed', 100);
84
+ this.setStatus('completed');
85
+ await this.logActivity('widget_creation', true, {
86
+ widgetName: requirements.name,
87
+ features: requirements.features
88
+ });
89
+ return {
90
+ success: true,
91
+ artifacts: [artifact],
92
+ message: `Widget "${requirements.title}" created successfully`,
93
+ metadata: {
94
+ deploymentInstructions,
95
+ features: requirements.features,
96
+ dependencies: requirements.dependencies
97
+ }
98
+ };
99
+ }
100
+ catch (error) {
101
+ this.setStatus('failed');
102
+ await this.logActivity('widget_creation', false, { error: error.message });
103
+ return {
104
+ success: false,
105
+ error: error,
106
+ message: `Failed to create widget: ${error.message}`
107
+ };
108
+ }
109
+ }
110
+ async analyzeWidgetRequirements(instruction) {
111
+ const requirements = {
112
+ name: '',
113
+ title: '',
114
+ description: instruction,
115
+ features: [],
116
+ dataSource: '',
117
+ needsChart: false,
118
+ needsTable: false,
119
+ needsForm: false,
120
+ needsDemoData: true,
121
+ isResponsive: true,
122
+ dependencies: [],
123
+ category: 'custom'
124
+ };
125
+ // Extract widget name
126
+ const nameMatch = instruction.match(/(?:create|build|make)\s+(?:a\s+)?([a-zA-Z0-9_\s]+)\s*(?:widget|component)/i);
127
+ if (nameMatch) {
128
+ requirements.name = nameMatch[1].trim().toLowerCase().replace(/\s+/g, '_');
129
+ requirements.title = nameMatch[1].trim();
130
+ }
131
+ // Feature detection
132
+ if (/chart|graph|visualization|analytics/i.test(instruction)) {
133
+ requirements.needsChart = true;
134
+ requirements.features.push('data-visualization');
135
+ requirements.dependencies.push('Chart.js');
136
+ }
137
+ if (/table|list|grid|records/i.test(instruction)) {
138
+ requirements.needsTable = true;
139
+ requirements.features.push('data-table');
140
+ }
141
+ if (/form|input|submit|create/i.test(instruction)) {
142
+ requirements.needsForm = true;
143
+ requirements.features.push('form-input');
144
+ }
145
+ if (/incident/i.test(instruction)) {
146
+ requirements.dataSource = 'incident';
147
+ requirements.category = 'itsm';
148
+ }
149
+ else if (/request|catalog/i.test(instruction)) {
150
+ requirements.dataSource = 'sc_request';
151
+ requirements.category = 'service-catalog';
152
+ }
153
+ else if (/task/i.test(instruction)) {
154
+ requirements.dataSource = 'task';
155
+ requirements.category = 'task-management';
156
+ }
157
+ if (/real[\s-]?time|live|refresh/i.test(instruction)) {
158
+ requirements.features.push('real-time-updates');
159
+ }
160
+ if (/mobile|responsive/i.test(instruction)) {
161
+ requirements.features.push('mobile-optimized');
162
+ }
163
+ return requirements;
164
+ }
165
+ async checkExistingWidgets(requirements) {
166
+ // This would use snow_find_artifact to check for existing widgets
167
+ // For now, return empty array as we're implementing the agent structure
168
+ return [];
169
+ }
170
+ async createHTMLTemplate(requirements) {
171
+ let template = '<div class="widget-container">\n';
172
+ // Add header
173
+ template += ` <div class="widget-header">\n`;
174
+ template += ` <h3>${requirements.title || 'Widget'}</h3>\n`;
175
+ template += ` </div>\n`;
176
+ template += ' <div class="widget-body">\n';
177
+ // Add chart container if needed
178
+ if (requirements.needsChart) {
179
+ template += ' <div class="chart-container">\n';
180
+ template += ' <canvas id="widgetChart" width="400" height="200"></canvas>\n';
181
+ template += ' </div>\n';
182
+ }
183
+ // Add table if needed
184
+ if (requirements.needsTable) {
185
+ template += ' <div class="table-container">\n';
186
+ template += ' <table class="table table-striped">\n';
187
+ template += ' <thead>\n';
188
+ template += ' <tr>\n';
189
+ template += ' <th ng-repeat="col in data.columns">{{col.label}}</th>\n';
190
+ template += ' </tr>\n';
191
+ template += ' </thead>\n';
192
+ template += ' <tbody>\n';
193
+ template += ' <tr ng-repeat="row in data.rows">\n';
194
+ template += ' <td ng-repeat="col in data.columns">{{row[col.field]}}</td>\n';
195
+ template += ' </tr>\n';
196
+ template += ' </tbody>\n';
197
+ template += ' </table>\n';
198
+ template += ' </div>\n';
199
+ }
200
+ // Add form if needed
201
+ if (requirements.needsForm) {
202
+ template += ' <form class="widget-form" ng-submit="submitForm()">\n';
203
+ template += ' <div class="form-group">\n';
204
+ template += ' <input type="text" class="form-control" ng-model="formData.input" placeholder="Enter value">\n';
205
+ template += ' </div>\n';
206
+ template += ' <button type="submit" class="btn btn-primary">Submit</button>\n';
207
+ template += ' </form>\n';
208
+ }
209
+ template += ' </div>\n';
210
+ template += '</div>';
211
+ return template;
212
+ }
213
+ async createCSS(requirements) {
214
+ let css = `/* ${requirements.title} Widget Styles */\n\n`;
215
+ css += '.widget-container {\n';
216
+ css += ' padding: 15px;\n';
217
+ css += ' background-color: #fff;\n';
218
+ css += ' border-radius: 4px;\n';
219
+ css += ' box-shadow: 0 1px 3px rgba(0,0,0,0.12);\n';
220
+ css += '}\n\n';
221
+ css += '.widget-header {\n';
222
+ css += ' margin-bottom: 20px;\n';
223
+ css += ' padding-bottom: 10px;\n';
224
+ css += ' border-bottom: 1px solid #e7e7e7;\n';
225
+ css += '}\n\n';
226
+ css += '.widget-header h3 {\n';
227
+ css += ' margin: 0;\n';
228
+ css += ' color: #333;\n';
229
+ css += ' font-size: 18px;\n';
230
+ css += ' font-weight: 600;\n';
231
+ css += '}\n\n';
232
+ if (requirements.needsChart) {
233
+ css += '.chart-container {\n';
234
+ css += ' position: relative;\n';
235
+ css += ' height: 300px;\n';
236
+ css += ' margin-bottom: 20px;\n';
237
+ css += '}\n\n';
238
+ }
239
+ if (requirements.needsTable) {
240
+ css += '.table-container {\n';
241
+ css += ' overflow-x: auto;\n';
242
+ css += ' margin-bottom: 20px;\n';
243
+ css += '}\n\n';
244
+ css += '.table {\n';
245
+ css += ' width: 100%;\n';
246
+ css += ' margin-bottom: 0;\n';
247
+ css += '}\n\n';
248
+ }
249
+ if (requirements.isResponsive) {
250
+ css += '/* Responsive styles */\n';
251
+ css += '@media (max-width: 768px) {\n';
252
+ css += ' .widget-container {\n';
253
+ css += ' padding: 10px;\n';
254
+ css += ' }\n';
255
+ css += ' \n';
256
+ css += ' .widget-header h3 {\n';
257
+ css += ' font-size: 16px;\n';
258
+ css += ' }\n';
259
+ css += '}\n';
260
+ }
261
+ return css;
262
+ }
263
+ async createClientScript(requirements) {
264
+ let script = 'function WidgetController($scope, $http, $timeout) {\n';
265
+ script += ' var c = this;\n\n';
266
+ // Initialize data
267
+ script += ' // Initialize widget data\n';
268
+ script += ' c.data = c.data || {};\n';
269
+ script += ' $scope.data = c.data;\n\n';
270
+ if (requirements.needsChart) {
271
+ script += ' // Chart initialization\n';
272
+ script += ' $timeout(function() {\n';
273
+ script += ' if (c.data.chartData) {\n';
274
+ script += ' initializeChart(c.data.chartData);\n';
275
+ script += ' }\n';
276
+ script += ' }, 100);\n\n';
277
+ script += ' function initializeChart(chartData) {\n';
278
+ script += ' var ctx = document.getElementById("widgetChart").getContext("2d");\n';
279
+ script += ' new Chart(ctx, {\n';
280
+ script += ' type: chartData.type || "bar",\n';
281
+ script += ' data: chartData,\n';
282
+ script += ' options: {\n';
283
+ script += ' responsive: true,\n';
284
+ script += ' maintainAspectRatio: false\n';
285
+ script += ' }\n';
286
+ script += ' });\n';
287
+ script += ' }\n\n';
288
+ }
289
+ if (requirements.needsForm) {
290
+ script += ' // Form submission\n';
291
+ script += ' $scope.formData = {};\n';
292
+ script += ' $scope.submitForm = function() {\n';
293
+ script += ' c.server.get({\n';
294
+ script += ' action: "submit",\n';
295
+ script += ' data: $scope.formData\n';
296
+ script += ' }).then(function(response) {\n';
297
+ script += ' // Handle response\n';
298
+ script += ' if (response.data.success) {\n';
299
+ script += ' $scope.formData = {};\n';
300
+ script += ' // Refresh data if needed\n';
301
+ script += ' }\n';
302
+ script += ' });\n';
303
+ script += ' };\n\n';
304
+ }
305
+ if (requirements.features.includes('real-time-updates')) {
306
+ script += ' // Real-time updates\n';
307
+ script += ' var refreshInterval = $timeout(function refresh() {\n';
308
+ script += ' c.server.get({ action: "refresh" }).then(function(response) {\n';
309
+ script += ' c.data = response.data;\n';
310
+ script += ' $scope.data = c.data;\n';
311
+ script += ' refreshInterval = $timeout(refresh, 30000); // Refresh every 30 seconds\n';
312
+ script += ' });\n';
313
+ script += ' }, 30000);\n\n';
314
+ script += ' $scope.$on("$destroy", function() {\n';
315
+ script += ' if (refreshInterval) {\n';
316
+ script += ' $timeout.cancel(refreshInterval);\n';
317
+ script += ' }\n';
318
+ script += ' });\n';
319
+ }
320
+ script += '}';
321
+ return script;
322
+ }
323
+ async createServerScript(requirements) {
324
+ let script = '(function() {\n';
325
+ script += ' /* Server Script for ' + requirements.title + ' */\n\n';
326
+ // Handle different actions
327
+ script += ' var action = input.action || "load";\n\n';
328
+ script += ' if (action === "load") {\n';
329
+ script += ' loadWidgetData();\n';
330
+ script += ' } else if (action === "refresh") {\n';
331
+ script += ' loadWidgetData();\n';
332
+ script += ' } else if (action === "submit") {\n';
333
+ script += ' handleFormSubmission();\n';
334
+ script += ' }\n\n';
335
+ // Load data function
336
+ script += ' function loadWidgetData() {\n';
337
+ script += ' data.title = "' + requirements.title + '";\n';
338
+ if (requirements.dataSource) {
339
+ script += ' \n // Query ' + requirements.dataSource + ' table\n';
340
+ script += ' var gr = new GlideRecord("' + requirements.dataSource + '");\n';
341
+ script += ' gr.addQuery("active", true);\n';
342
+ script += ' gr.orderByDesc("sys_created_on");\n';
343
+ script += ' gr.setLimit(10);\n';
344
+ script += ' gr.query();\n\n';
345
+ if (requirements.needsTable) {
346
+ script += ' // Prepare table data\n';
347
+ script += ' data.columns = [\n';
348
+ script += ' { field: "number", label: "Number" },\n';
349
+ script += ' { field: "short_description", label: "Description" },\n';
350
+ script += ' { field: "state", label: "State" }\n';
351
+ script += ' ];\n';
352
+ script += ' data.rows = [];\n\n';
353
+ script += ' while (gr.next()) {\n';
354
+ script += ' data.rows.push({\n';
355
+ script += ' number: gr.getValue("number"),\n';
356
+ script += ' short_description: gr.getValue("short_description"),\n';
357
+ script += ' state: gr.getDisplayValue("state")\n';
358
+ script += ' });\n';
359
+ script += ' }\n';
360
+ }
361
+ if (requirements.needsChart) {
362
+ script += ' \n // Prepare chart data\n';
363
+ script += ' var chartData = {\n';
364
+ script += ' type: "bar",\n';
365
+ script += ' labels: [],\n';
366
+ script += ' datasets: [{\n';
367
+ script += ' label: "' + requirements.dataSource + ' by State",\n';
368
+ script += ' data: [],\n';
369
+ script += ' backgroundColor: ["#428bca", "#5cb85c", "#d9534f", "#f0ad4e"]\n';
370
+ script += ' }]\n';
371
+ script += ' };\n\n';
372
+ script += ' // Aggregate data for chart\n';
373
+ script += ' var stateCount = {};\n';
374
+ script += ' gr.rewind();\n';
375
+ script += ' while (gr.next()) {\n';
376
+ script += ' var state = gr.getDisplayValue("state") || "Unknown";\n';
377
+ script += ' stateCount[state] = (stateCount[state] || 0) + 1;\n';
378
+ script += ' }\n\n';
379
+ script += ' for (var state in stateCount) {\n';
380
+ script += ' chartData.labels.push(state);\n';
381
+ script += ' chartData.datasets[0].data.push(stateCount[state]);\n';
382
+ script += ' }\n';
383
+ script += ' data.chartData = chartData;\n';
384
+ }
385
+ }
386
+ script += ' }\n\n';
387
+ if (requirements.needsForm) {
388
+ script += ' function handleFormSubmission() {\n';
389
+ script += ' var formData = input.data || {};\n';
390
+ script += ' \n';
391
+ script += ' // Process form submission\n';
392
+ script += ' // Add your form processing logic here\n';
393
+ script += ' \n';
394
+ script += ' data.success = true;\n';
395
+ script += ' data.message = "Form submitted successfully";\n';
396
+ script += ' }\n';
397
+ }
398
+ script += '})();';
399
+ return script;
400
+ }
401
+ async generateDemoData(requirements) {
402
+ const demoData = {};
403
+ if (requirements.needsTable) {
404
+ demoData.rows = [
405
+ { number: 'INC0010001', short_description: 'Network connectivity issue', state: 'Open' },
406
+ { number: 'INC0010002', short_description: 'Software installation request', state: 'In Progress' },
407
+ { number: 'INC0010003', short_description: 'Password reset', state: 'Resolved' }
408
+ ];
409
+ }
410
+ if (requirements.needsChart) {
411
+ demoData.chartData = {
412
+ type: 'bar',
413
+ labels: ['Open', 'In Progress', 'Resolved', 'Closed'],
414
+ datasets: [{
415
+ label: 'Records by State',
416
+ data: [12, 8, 15, 5],
417
+ backgroundColor: ['#428bca', '#5cb85c', '#f0ad4e', '#d9534f']
418
+ }]
419
+ };
420
+ }
421
+ return demoData;
422
+ }
423
+ prepareDeploymentInstructions(widgetConfig) {
424
+ return {
425
+ mcpTool: 'snow_deploy',
426
+ parameters: {
427
+ type: 'widget',
428
+ config: widgetConfig
429
+ },
430
+ validationSteps: [
431
+ 'Preview widget using snow_preview_widget',
432
+ 'Test widget functionality with snow_widget_test',
433
+ 'Verify responsive design on mobile devices',
434
+ 'Check data binding and server script execution'
435
+ ]
436
+ };
437
+ }
438
+ }
439
+ exports.WidgetCreatorAgent = WidgetCreatorAgent;
440
+ //# sourceMappingURL=widget-creator-agent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"widget-creator-agent.js","sourceRoot":"","sources":["../../src/agents/widget-creator-agent.ts"],"names":[],"mappings":"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"}