snow-flow 1.4.49 → 2.0.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 (595) hide show
  1. package/.claude/helpers/github-setup.sh +28 -0
  2. package/.claude/helpers/quick-start.sh +19 -0
  3. package/.claude/helpers/setup-mcp.sh +18 -0
  4. package/.claude/settings.local.json +33 -0
  5. package/.claude-flow/metrics/system-metrics.json +1992 -0
  6. package/.env.example +21 -0
  7. package/.roo/README.md +402 -0
  8. package/.roo/mcp-list.txt +257 -0
  9. package/.roo/mcp.json +32 -0
  10. package/.roo/workflows/basic-tdd.json +32 -0
  11. package/.roomodes +201 -0
  12. package/README.md +114 -628
  13. package/activate-mcp.sh +15 -0
  14. package/dist/cli.js.bak +2052 -0
  15. package/manual-register-mcp.js +134 -0
  16. package/mcp-wrapper.sh +12 -0
  17. package/package.json +2 -2
  18. package/scripts/create-env.js +6 -1
  19. package/scripts/reset-mcp-servers.js +246 -0
  20. package/scripts/update-version.js +31 -0
  21. package/src/agents/README.md +192 -0
  22. package/src/agents/base-agent.ts +251 -0
  23. package/src/agents/coordinator.ts +971 -0
  24. package/src/agents/index.ts +18 -0
  25. package/src/agents/queen-403-handler.ts +230 -0
  26. package/src/agents/queen-agent.ts +1399 -0
  27. package/src/agents/script-writer-agent.ts +769 -0
  28. package/src/agents/security-agent.ts +726 -0
  29. package/src/agents/widget-creator-agent.ts +568 -0
  30. package/src/api/error-handling.ts +1758 -0
  31. package/src/api/natural-language-mapper.ts +630 -0
  32. package/src/api/performance-optimizer.ts +891 -0
  33. package/src/api/transaction-manager.ts +754 -0
  34. package/src/cli/deploy-artifact.ts +304 -0
  35. package/src/cli/snow-flow-cli-integration.ts +434 -0
  36. package/src/cli.ts +4455 -0
  37. package/src/cli.ts.bak +5616 -0
  38. package/src/compliance/advanced-compliance-system.ts +1268 -0
  39. package/src/compliance/index.ts +19 -0
  40. package/src/config/snow-flow-config.ts +1019 -0
  41. package/src/documentation/index.ts +16 -0
  42. package/src/documentation/self-documenting-system.ts +1421 -0
  43. package/src/dynamic-version.ts +44 -0
  44. package/src/healing/index.ts +20 -0
  45. package/src/healing/self-healing-system.ts +1435 -0
  46. package/src/health/README.md +161 -0
  47. package/src/health/system-health.ts +995 -0
  48. package/src/index.ts +60 -0
  49. package/src/intelligence/acl-analyzer.ts +377 -0
  50. package/src/intelligence/auto-resolution-engine.ts +643 -0
  51. package/src/intelligence/gap-analysis-engine.ts +488 -0
  52. package/src/intelligence/manual-instructions-generator.ts +744 -0
  53. package/src/intelligence/mcp-coverage-analyzer.ts +708 -0
  54. package/src/intelligence/multi-pass-requirements-analyzer.ts +603 -0
  55. package/src/intelligence/performance-recommendations-engine.ts +1223 -0
  56. package/src/intelligence/requirements-analyzer.ts +1148 -0
  57. package/src/intelligence/task-analyzer.ts +628 -0
  58. package/src/managers/scope-manager.ts +555 -0
  59. package/src/mcp/advanced/servicenow-advanced-features-mcp.ts +16110 -0
  60. package/src/mcp/base-mcp-server.ts +660 -0
  61. package/src/mcp/http-transport-wrapper.ts +426 -0
  62. package/src/mcp/service-discovery-client.ts +312 -0
  63. package/src/mcp/servicenow-automation-mcp-refactored.ts +678 -0
  64. package/src/mcp/servicenow-automation-mcp.ts +838 -0
  65. package/src/mcp/servicenow-deployment-mcp-refactored.ts +1292 -0
  66. package/src/mcp/servicenow-deployment-mcp.ts +7244 -0
  67. package/src/mcp/servicenow-graph-memory-mcp-refactored.ts +721 -0
  68. package/src/mcp/servicenow-graph-memory-mcp.ts +832 -0
  69. package/src/mcp/servicenow-integration-mcp-refactored.ts +655 -0
  70. package/src/mcp/servicenow-integration-mcp.ts +819 -0
  71. package/src/mcp/servicenow-intelligent-mcp-refactored.ts +977 -0
  72. package/src/mcp/servicenow-intelligent-mcp.ts +4638 -0
  73. package/src/mcp/servicenow-mcp-server.ts +728 -0
  74. package/src/mcp/servicenow-memory-mcp.ts +474 -0
  75. package/src/mcp/servicenow-operations-mcp-refactored.ts +1995 -0
  76. package/src/mcp/servicenow-operations-mcp.ts +3384 -0
  77. package/src/mcp/servicenow-platform-development-mcp-refactored.ts +611 -0
  78. package/src/mcp/servicenow-platform-development-mcp.ts +970 -0
  79. package/src/mcp/servicenow-progressive-indexer.ts +370 -0
  80. package/src/mcp/servicenow-reporting-analytics-mcp-refactored.ts +695 -0
  81. package/src/mcp/servicenow-reporting-analytics-mcp.ts +1123 -0
  82. package/src/mcp/servicenow-security-compliance-mcp-refactored.ts +642 -0
  83. package/src/mcp/servicenow-security-compliance-mcp.ts +1157 -0
  84. package/src/mcp/servicenow-update-set-mcp-refactored.ts +751 -0
  85. package/src/mcp/servicenow-update-set-mcp.ts +811 -0
  86. package/src/mcp/shared/agent-context-provider.ts +365 -0
  87. package/src/mcp/shared/base-mcp-server.ts +2463 -0
  88. package/src/mcp/shared/mcp-memory-manager.ts +540 -0
  89. package/src/mcp/shared/mcp-resource-manager.ts +367 -0
  90. package/src/mcp/snow-flow-mcp.ts +911 -0
  91. package/src/mcp/start-all-mcp-servers.ts +102 -0
  92. package/src/mcp/start-servicenow-mcp.ts +67 -0
  93. package/src/monitoring/enhanced-monitoring-system.ts +1345 -0
  94. package/src/monitoring/performance-tracker.ts +777 -0
  95. package/src/optimization/cost-optimization-engine.ts +1125 -0
  96. package/src/optimization/index.ts +10 -0
  97. package/src/queen/README.md +403 -0
  98. package/src/queen/agent-factory.ts +574 -0
  99. package/src/queen/index.ts +94 -0
  100. package/src/queen/mcp-execution-bridge.ts +681 -0
  101. package/src/queen/neural-learning.ts +319 -0
  102. package/src/queen/parallel-agent-engine.ts +848 -0
  103. package/src/queen/queen-memory-system.ts +490 -0
  104. package/src/queen/queen-memory.ts +456 -0
  105. package/src/queen/servicenow-queen.ts +1029 -0
  106. package/src/queen/types.ts +87 -0
  107. package/src/rollback/smart-rollback-system.ts +866 -0
  108. package/src/schemas/deployment.schema.json +58 -0
  109. package/src/schemas/flow.schema.json +79 -0
  110. package/src/schemas/widget.schema.json +72 -0
  111. package/src/snow-flow-system.ts +541 -0
  112. package/src/sparc/sparc-help.ts +49 -0
  113. package/src/sparc/team-sparc.ts +88 -0
  114. package/src/strategies/global-scope-strategy.ts +736 -0
  115. package/src/templates/base/application.template.json +45 -0
  116. package/src/templates/base/business_rule.template.json +33 -0
  117. package/src/templates/base/script_include.template.json +18 -0
  118. package/src/templates/base/table.template.json +64 -0
  119. package/src/templates/base/widget.template.json +25 -0
  120. package/src/templates/patterns/composite.incident-management.template.json +140 -0
  121. package/src/templates/patterns/widget.dashboard.template.json +238 -0
  122. package/src/templates/patterns/widget.datatable.template.json +292 -0
  123. package/src/testing/integration-test-suite.ts +1276 -0
  124. package/src/types/index.ts +183 -0
  125. package/src/types/neo4j-driver.d.ts +23 -0
  126. package/src/types/servicenow.types.ts +307 -0
  127. package/src/types/snow-flow.types.ts +186 -0
  128. package/src/types/todo.types.ts +70 -0
  129. package/src/utils/action-type-cache.ts +286 -0
  130. package/src/utils/agent-detector.ts +573 -0
  131. package/src/utils/artifact-tracker.ts +379 -0
  132. package/src/utils/dependency-detector.ts +233 -0
  133. package/src/utils/deployment-metadata-handler.ts +518 -0
  134. package/src/utils/error-recovery.ts +680 -0
  135. package/src/utils/logger.ts +60 -0
  136. package/src/utils/mcp-auth-middleware.ts +262 -0
  137. package/src/utils/mcp-config-manager.ts +270 -0
  138. package/src/utils/mcp-server-manager.ts +446 -0
  139. package/src/utils/mcp-tool-registry.ts +298 -0
  140. package/src/utils/migrate-snow-flow.ts +98 -0
  141. package/src/utils/oauth-html-templates.ts +188 -0
  142. package/src/utils/scope-utils.ts +443 -0
  143. package/src/utils/servicenow-client.ts +3321 -0
  144. package/src/utils/servicenow-id-generator.ts +181 -0
  145. package/src/utils/snow-memory-manager.ts +605 -0
  146. package/src/utils/snow-oauth.ts +797 -0
  147. package/src/utils/template-engine.ts +463 -0
  148. package/src/utils/theme-manager.ts +295 -0
  149. package/src/utils/unified-auth-store.ts +222 -0
  150. package/src/utils/update-set-importer.ts +422 -0
  151. package/src/utils/update-set-xml-packager.ts +371 -0
  152. package/src/utils/widget-template-generator.ts +1744 -0
  153. package/src/version.ts +1950 -0
  154. package/.claude/commands/memory/README.md +0 -9
  155. package/dist/agents/app-creator.agent.d.ts.map +0 -1
  156. package/dist/agents/app-creator.agent.js.map +0 -1
  157. package/dist/agents/base/base-snow-agent.d.ts.map +0 -1
  158. package/dist/agents/base/base-snow-agent.js.map +0 -1
  159. package/dist/agents/base-agent.d.ts.map +0 -1
  160. package/dist/agents/base-agent.js.map +0 -1
  161. package/dist/agents/base-snow-agent.d.ts.map +0 -1
  162. package/dist/agents/base-snow-agent.js.map +0 -1
  163. package/dist/agents/coordinator.d.ts.map +0 -1
  164. package/dist/agents/coordinator.js.map +0 -1
  165. package/dist/agents/flow-builder-agent.d.ts.map +0 -1
  166. package/dist/agents/flow-builder-agent.js.map +0 -1
  167. package/dist/agents/index.d.ts.map +0 -1
  168. package/dist/agents/index.js.map +0 -1
  169. package/dist/agents/queen-403-handler.d.ts.map +0 -1
  170. package/dist/agents/queen-403-handler.js.map +0 -1
  171. package/dist/agents/queen-agent-example.d.ts.map +0 -1
  172. package/dist/agents/queen-agent-example.js.map +0 -1
  173. package/dist/agents/queen-agent.d.ts.map +0 -1
  174. package/dist/agents/queen-agent.js.map +0 -1
  175. package/dist/agents/queen-agent.test.d.ts.map +0 -1
  176. package/dist/agents/queen-agent.test.js.map +0 -1
  177. package/dist/agents/script-generator.agent.d.ts.map +0 -1
  178. package/dist/agents/script-generator.agent.js.map +0 -1
  179. package/dist/agents/script-writer-agent.d.ts.map +0 -1
  180. package/dist/agents/script-writer-agent.js.map +0 -1
  181. package/dist/agents/security-agent.d.ts.map +0 -1
  182. package/dist/agents/security-agent.js.map +0 -1
  183. package/dist/agents/specialists/automation-specialist.agent.d.ts.map +0 -1
  184. package/dist/agents/specialists/automation-specialist.agent.js.map +0 -1
  185. package/dist/agents/specialists/data-specialist.agent.d.ts.map +0 -1
  186. package/dist/agents/specialists/data-specialist.agent.js.map +0 -1
  187. package/dist/agents/specialists/integration-specialist.agent.d.ts.map +0 -1
  188. package/dist/agents/specialists/integration-specialist.agent.js.map +0 -1
  189. package/dist/agents/specialists/reporting-specialist.agent.d.ts.map +0 -1
  190. package/dist/agents/specialists/reporting-specialist.agent.js.map +0 -1
  191. package/dist/agents/specialists/security-specialist.agent.d.ts.map +0 -1
  192. package/dist/agents/specialists/security-specialist.agent.js.map +0 -1
  193. package/dist/agents/teams/adaptive/adaptive-coordinator.agent.d.ts.map +0 -1
  194. package/dist/agents/teams/adaptive/adaptive-coordinator.agent.js.map +0 -1
  195. package/dist/agents/teams/base-team.d.ts.map +0 -1
  196. package/dist/agents/teams/base-team.js.map +0 -1
  197. package/dist/agents/teams/team-types.d.ts.map +0 -1
  198. package/dist/agents/teams/team-types.js.map +0 -1
  199. package/dist/agents/teams/widget/widget-architect.agent.d.ts.map +0 -1
  200. package/dist/agents/teams/widget/widget-architect.agent.js.map +0 -1
  201. package/dist/agents/teams/widget/widget-backend.agent.d.ts.map +0 -1
  202. package/dist/agents/teams/widget/widget-backend.agent.js.map +0 -1
  203. package/dist/agents/teams/widget/widget-frontend.agent.d.ts.map +0 -1
  204. package/dist/agents/teams/widget/widget-frontend.agent.js.map +0 -1
  205. package/dist/agents/teams/widget/widget-platform.agent.d.ts.map +0 -1
  206. package/dist/agents/teams/widget/widget-platform.agent.js.map +0 -1
  207. package/dist/agents/teams/widget/widget-uiux.agent.d.ts.map +0 -1
  208. package/dist/agents/teams/widget/widget-uiux.agent.js.map +0 -1
  209. package/dist/agents/test-agent.d.ts.map +0 -1
  210. package/dist/agents/test-agent.js.map +0 -1
  211. package/dist/agents/test-agents.d.ts.map +0 -1
  212. package/dist/agents/test-agents.js.map +0 -1
  213. package/dist/agents/ui-builder.agent.d.ts.map +0 -1
  214. package/dist/agents/ui-builder.agent.js.map +0 -1
  215. package/dist/agents/widget-builder.agent.d.ts.map +0 -1
  216. package/dist/agents/widget-builder.agent.js.map +0 -1
  217. package/dist/agents/widget-creator-agent.d.ts.map +0 -1
  218. package/dist/agents/widget-creator-agent.js.map +0 -1
  219. package/dist/agents/workflow-designer.agent.d.ts.map +0 -1
  220. package/dist/agents/workflow-designer.agent.js.map +0 -1
  221. package/dist/api/error-handling.d.ts.map +0 -1
  222. package/dist/api/error-handling.js.map +0 -1
  223. package/dist/api/flow-designer-api.d.ts.map +0 -1
  224. package/dist/api/flow-designer-api.js.map +0 -1
  225. package/dist/api/natural-language-mapper.d.ts.map +0 -1
  226. package/dist/api/natural-language-mapper.js.map +0 -1
  227. package/dist/api/performance-optimizer.d.ts.map +0 -1
  228. package/dist/api/performance-optimizer.js.map +0 -1
  229. package/dist/api/transaction-manager.d.ts.map +0 -1
  230. package/dist/api/transaction-manager.js.map +0 -1
  231. package/dist/assembly/team-assembler.d.ts.map +0 -1
  232. package/dist/assembly/team-assembler.js.map +0 -1
  233. package/dist/cli/deploy-artifact.d.ts.map +0 -1
  234. package/dist/cli/deploy-artifact.js.map +0 -1
  235. package/dist/cli/snow-flow-cli-integration.d.ts.map +0 -1
  236. package/dist/cli/snow-flow-cli-integration.js.map +0 -1
  237. package/dist/cli.d.ts.map +0 -1
  238. package/dist/cli.js.map +0 -1
  239. package/dist/compliance/advanced-compliance-system.d.ts.map +0 -1
  240. package/dist/compliance/advanced-compliance-system.js.map +0 -1
  241. package/dist/compliance/index.d.ts.map +0 -1
  242. package/dist/compliance/index.js.map +0 -1
  243. package/dist/config/snow-flow-config.d.ts.map +0 -1
  244. package/dist/config/snow-flow-config.js.map +0 -1
  245. package/dist/documentation/index.d.ts.map +0 -1
  246. package/dist/documentation/index.js.map +0 -1
  247. package/dist/documentation/self-documenting-system.d.ts.map +0 -1
  248. package/dist/documentation/self-documenting-system.js.map +0 -1
  249. package/dist/dynamic-version.d.ts.map +0 -1
  250. package/dist/dynamic-version.js.map +0 -1
  251. package/dist/healing/index.d.ts.map +0 -1
  252. package/dist/healing/index.js.map +0 -1
  253. package/dist/healing/self-healing-system.d.ts.map +0 -1
  254. package/dist/healing/self-healing-system.js.map +0 -1
  255. package/dist/health/system-health.d.ts.map +0 -1
  256. package/dist/health/system-health.js.map +0 -1
  257. package/dist/index.d.ts.map +0 -1
  258. package/dist/index.js.map +0 -1
  259. package/dist/intelligence/acl-analyzer.d.ts.map +0 -1
  260. package/dist/intelligence/acl-analyzer.js.map +0 -1
  261. package/dist/intelligence/auto-resolution-engine.d.ts.map +0 -1
  262. package/dist/intelligence/auto-resolution-engine.js.map +0 -1
  263. package/dist/intelligence/gap-analysis-engine.d.ts.map +0 -1
  264. package/dist/intelligence/gap-analysis-engine.js.map +0 -1
  265. package/dist/intelligence/manual-instructions-generator.d.ts.map +0 -1
  266. package/dist/intelligence/manual-instructions-generator.js.map +0 -1
  267. package/dist/intelligence/mcp-coverage-analyzer.d.ts.map +0 -1
  268. package/dist/intelligence/mcp-coverage-analyzer.js.map +0 -1
  269. package/dist/intelligence/multi-pass-requirements-analyzer.d.ts.map +0 -1
  270. package/dist/intelligence/multi-pass-requirements-analyzer.js.map +0 -1
  271. package/dist/intelligence/performance-recommendations-engine.d.ts.map +0 -1
  272. package/dist/intelligence/performance-recommendations-engine.js.map +0 -1
  273. package/dist/intelligence/requirements-analyzer.d.ts.map +0 -1
  274. package/dist/intelligence/requirements-analyzer.js.map +0 -1
  275. package/dist/intelligence/task-analyzer.d.ts.map +0 -1
  276. package/dist/intelligence/task-analyzer.js.map +0 -1
  277. package/dist/managers/scope-manager.d.ts.map +0 -1
  278. package/dist/managers/scope-manager.js.map +0 -1
  279. package/dist/mcp/advanced/servicenow-advanced-features-mcp.d.ts.map +0 -1
  280. package/dist/mcp/advanced/servicenow-advanced-features-mcp.js.map +0 -1
  281. package/dist/mcp/base-mcp-server.d.ts.map +0 -1
  282. package/dist/mcp/base-mcp-server.js.map +0 -1
  283. package/dist/mcp/example-refactored-server.d.ts.map +0 -1
  284. package/dist/mcp/example-refactored-server.js.map +0 -1
  285. package/dist/mcp/http-transport-wrapper.d.ts.map +0 -1
  286. package/dist/mcp/http-transport-wrapper.js.map +0 -1
  287. package/dist/mcp/mcp-wrapper.d.ts.map +0 -1
  288. package/dist/mcp/mcp-wrapper.js.map +0 -1
  289. package/dist/mcp/service-discovery-client.d.ts.map +0 -1
  290. package/dist/mcp/service-discovery-client.js.map +0 -1
  291. package/dist/mcp/servicenow-automation-mcp-refactored.d.ts.map +0 -1
  292. package/dist/mcp/servicenow-automation-mcp-refactored.js.map +0 -1
  293. package/dist/mcp/servicenow-automation-mcp.d.ts.map +0 -1
  294. package/dist/mcp/servicenow-automation-mcp.js.map +0 -1
  295. package/dist/mcp/servicenow-deployment-mcp-refactored.d.ts.map +0 -1
  296. package/dist/mcp/servicenow-deployment-mcp-refactored.js.map +0 -1
  297. package/dist/mcp/servicenow-deployment-mcp.d.ts.map +0 -1
  298. package/dist/mcp/servicenow-deployment-mcp.js.map +0 -1
  299. package/dist/mcp/servicenow-flow-composer-mcp-refactored.d.ts.map +0 -1
  300. package/dist/mcp/servicenow-flow-composer-mcp-refactored.js.map +0 -1
  301. package/dist/mcp/servicenow-flow-composer-mcp.d.ts.map +0 -1
  302. package/dist/mcp/servicenow-flow-composer-mcp.js.map +0 -1
  303. package/dist/mcp/servicenow-graph-memory-mcp-refactored.d.ts.map +0 -1
  304. package/dist/mcp/servicenow-graph-memory-mcp-refactored.js.map +0 -1
  305. package/dist/mcp/servicenow-graph-memory-mcp.d.ts.map +0 -1
  306. package/dist/mcp/servicenow-graph-memory-mcp.js.map +0 -1
  307. package/dist/mcp/servicenow-integration-mcp-refactored.d.ts.map +0 -1
  308. package/dist/mcp/servicenow-integration-mcp-refactored.js.map +0 -1
  309. package/dist/mcp/servicenow-integration-mcp.d.ts.map +0 -1
  310. package/dist/mcp/servicenow-integration-mcp.js.map +0 -1
  311. package/dist/mcp/servicenow-intelligent-mcp-refactored.d.ts.map +0 -1
  312. package/dist/mcp/servicenow-intelligent-mcp-refactored.js.map +0 -1
  313. package/dist/mcp/servicenow-intelligent-mcp.d.ts.map +0 -1
  314. package/dist/mcp/servicenow-intelligent-mcp.js.map +0 -1
  315. package/dist/mcp/servicenow-mcp-server.d.ts.map +0 -1
  316. package/dist/mcp/servicenow-mcp-server.js.map +0 -1
  317. package/dist/mcp/servicenow-memory-mcp.d.ts.map +0 -1
  318. package/dist/mcp/servicenow-memory-mcp.js.map +0 -1
  319. package/dist/mcp/servicenow-operations-mcp-refactored.d.ts.map +0 -1
  320. package/dist/mcp/servicenow-operations-mcp-refactored.js.map +0 -1
  321. package/dist/mcp/servicenow-operations-mcp.d.ts.map +0 -1
  322. package/dist/mcp/servicenow-operations-mcp.js.map +0 -1
  323. package/dist/mcp/servicenow-platform-development-mcp-refactored.d.ts.map +0 -1
  324. package/dist/mcp/servicenow-platform-development-mcp-refactored.js.map +0 -1
  325. package/dist/mcp/servicenow-platform-development-mcp.d.ts.map +0 -1
  326. package/dist/mcp/servicenow-platform-development-mcp.js.map +0 -1
  327. package/dist/mcp/servicenow-progressive-indexer.d.ts.map +0 -1
  328. package/dist/mcp/servicenow-progressive-indexer.js.map +0 -1
  329. package/dist/mcp/servicenow-reporting-analytics-mcp-refactored.d.ts.map +0 -1
  330. package/dist/mcp/servicenow-reporting-analytics-mcp-refactored.js.map +0 -1
  331. package/dist/mcp/servicenow-reporting-analytics-mcp.d.ts.map +0 -1
  332. package/dist/mcp/servicenow-reporting-analytics-mcp.js.map +0 -1
  333. package/dist/mcp/servicenow-security-compliance-mcp-refactored.d.ts.map +0 -1
  334. package/dist/mcp/servicenow-security-compliance-mcp-refactored.js.map +0 -1
  335. package/dist/mcp/servicenow-security-compliance-mcp.d.ts.map +0 -1
  336. package/dist/mcp/servicenow-security-compliance-mcp.js.map +0 -1
  337. package/dist/mcp/servicenow-update-set-mcp-refactored.d.ts.map +0 -1
  338. package/dist/mcp/servicenow-update-set-mcp-refactored.js.map +0 -1
  339. package/dist/mcp/servicenow-update-set-mcp.d.ts.map +0 -1
  340. package/dist/mcp/servicenow-update-set-mcp.js.map +0 -1
  341. package/dist/mcp/servicenow-xml-flow-mcp.d.ts.map +0 -1
  342. package/dist/mcp/servicenow-xml-flow-mcp.js.map +0 -1
  343. package/dist/mcp/shared/agent-context-provider.d.ts.map +0 -1
  344. package/dist/mcp/shared/agent-context-provider.js.map +0 -1
  345. package/dist/mcp/shared/base-mcp-server.d.ts.map +0 -1
  346. package/dist/mcp/shared/base-mcp-server.js.map +0 -1
  347. package/dist/mcp/shared/mcp-memory-manager.d.ts.map +0 -1
  348. package/dist/mcp/shared/mcp-memory-manager.js.map +0 -1
  349. package/dist/mcp/shared/mcp-resource-manager.d.ts.map +0 -1
  350. package/dist/mcp/shared/mcp-resource-manager.js.map +0 -1
  351. package/dist/mcp/snow-flow-mcp.d.ts.map +0 -1
  352. package/dist/mcp/snow-flow-mcp.js.map +0 -1
  353. package/dist/mcp/start-all-mcp-servers.d.ts.map +0 -1
  354. package/dist/mcp/start-all-mcp-servers.js.map +0 -1
  355. package/dist/mcp/start-servicenow-mcp.d.ts.map +0 -1
  356. package/dist/mcp/start-servicenow-mcp.js.map +0 -1
  357. package/dist/mcp/test-simple-mcp.d.ts.map +0 -1
  358. package/dist/mcp/test-simple-mcp.js.map +0 -1
  359. package/dist/memory/hierarchical-memory-system.d.ts +0 -90
  360. package/dist/memory/hierarchical-memory-system.d.ts.map +0 -1
  361. package/dist/memory/hierarchical-memory-system.js +0 -400
  362. package/dist/memory/hierarchical-memory-system.js.map +0 -1
  363. package/dist/memory/index.d.ts +0 -9
  364. package/dist/memory/index.d.ts.map +0 -1
  365. package/dist/memory/index.js +0 -20
  366. package/dist/memory/index.js.map +0 -1
  367. package/dist/memory/mcp-integration-example.d.ts +0 -6
  368. package/dist/memory/mcp-integration-example.d.ts.map +0 -1
  369. package/dist/memory/mcp-integration-example.js +0 -281
  370. package/dist/memory/mcp-integration-example.js.map +0 -1
  371. package/dist/memory/memory-client.d.ts +0 -199
  372. package/dist/memory/memory-client.d.ts.map +0 -1
  373. package/dist/memory/memory-client.js +0 -364
  374. package/dist/memory/memory-client.js.map +0 -1
  375. package/dist/memory/memory-manager.d.ts +0 -29
  376. package/dist/memory/memory-manager.d.ts.map +0 -1
  377. package/dist/memory/memory-manager.js +0 -280
  378. package/dist/memory/memory-manager.js.map +0 -1
  379. package/dist/memory/memory-operations.d.ts +0 -179
  380. package/dist/memory/memory-operations.d.ts.map +0 -1
  381. package/dist/memory/memory-operations.js +0 -691
  382. package/dist/memory/memory-operations.js.map +0 -1
  383. package/dist/memory/memory-system.d.ts +0 -152
  384. package/dist/memory/memory-system.d.ts.map +0 -1
  385. package/dist/memory/memory-system.js +0 -632
  386. package/dist/memory/memory-system.js.map +0 -1
  387. package/dist/memory/memory-test.d.ts +0 -6
  388. package/dist/memory/memory-test.d.ts.map +0 -1
  389. package/dist/memory/memory-test.js +0 -161
  390. package/dist/memory/memory-test.js.map +0 -1
  391. package/dist/memory/servicenow-artifact-indexer.d.ts +0 -119
  392. package/dist/memory/servicenow-artifact-indexer.d.ts.map +0 -1
  393. package/dist/memory/servicenow-artifact-indexer.js +0 -560
  394. package/dist/memory/servicenow-artifact-indexer.js.map +0 -1
  395. package/dist/memory/snow-flow-memory-patterns.d.ts +0 -213
  396. package/dist/memory/snow-flow-memory-patterns.d.ts.map +0 -1
  397. package/dist/memory/snow-flow-memory-patterns.js +0 -200
  398. package/dist/memory/snow-flow-memory-patterns.js.map +0 -1
  399. package/dist/memory/snow-memory.d.ts +0 -54
  400. package/dist/memory/snow-memory.d.ts.map +0 -1
  401. package/dist/memory/snow-memory.js +0 -301
  402. package/dist/memory/snow-memory.js.map +0 -1
  403. package/dist/memory/swarm-memory.d.ts +0 -135
  404. package/dist/memory/swarm-memory.d.ts.map +0 -1
  405. package/dist/memory/swarm-memory.js +0 -378
  406. package/dist/memory/swarm-memory.js.map +0 -1
  407. package/dist/monitoring/enhanced-monitoring-system.d.ts.map +0 -1
  408. package/dist/monitoring/enhanced-monitoring-system.js.map +0 -1
  409. package/dist/monitoring/performance-tracker.d.ts.map +0 -1
  410. package/dist/monitoring/performance-tracker.js.map +0 -1
  411. package/dist/optimization/cost-optimization-engine.d.ts.map +0 -1
  412. package/dist/optimization/cost-optimization-engine.js.map +0 -1
  413. package/dist/optimization/index.d.ts.map +0 -1
  414. package/dist/optimization/index.js.map +0 -1
  415. package/dist/orchestration/discovery/service-discovery.d.ts.map +0 -1
  416. package/dist/orchestration/discovery/service-discovery.js.map +0 -1
  417. package/dist/orchestration/distributed-orchestrator.d.ts.map +0 -1
  418. package/dist/orchestration/distributed-orchestrator.js.map +0 -1
  419. package/dist/orchestration/distribution/task-distribution-engine.d.ts.map +0 -1
  420. package/dist/orchestration/distribution/task-distribution-engine.js.map +0 -1
  421. package/dist/orchestration/interfaces/distributed-orchestration.interface.d.ts.map +0 -1
  422. package/dist/orchestration/interfaces/distributed-orchestration.interface.js.map +0 -1
  423. package/dist/orchestration/protocols/mcpx-protocol.d.ts.map +0 -1
  424. package/dist/orchestration/protocols/mcpx-protocol.js.map +0 -1
  425. package/dist/orchestration/state/distributed-state-manager.d.ts.map +0 -1
  426. package/dist/orchestration/state/distributed-state-manager.js.map +0 -1
  427. package/dist/orchestrator/flow-composer.d.ts.map +0 -1
  428. package/dist/orchestrator/flow-composer.js.map +0 -1
  429. package/dist/orchestrator/flow-pattern-templates.d.ts.map +0 -1
  430. package/dist/orchestrator/flow-pattern-templates.js.map +0 -1
  431. package/dist/orchestrator/flow-subflow-decision-engine.d.ts.map +0 -1
  432. package/dist/orchestrator/flow-subflow-decision-engine.js.map +0 -1
  433. package/dist/orchestrator/flow-validation-engine.d.ts.map +0 -1
  434. package/dist/orchestrator/flow-validation-engine.js.map +0 -1
  435. package/dist/orchestrator/snow-orchestrator.d.ts.map +0 -1
  436. package/dist/orchestrator/snow-orchestrator.js.map +0 -1
  437. package/dist/orchestrator/subflow-creation-handler.d.ts.map +0 -1
  438. package/dist/orchestrator/subflow-creation-handler.js.map +0 -1
  439. package/dist/patterns/adaptive-patterns.d.ts.map +0 -1
  440. package/dist/patterns/adaptive-patterns.js.map +0 -1
  441. package/dist/queen/advanced-integration-test.d.ts.map +0 -1
  442. package/dist/queen/advanced-integration-test.js.map +0 -1
  443. package/dist/queen/agent-factory.d.ts.map +0 -1
  444. package/dist/queen/agent-factory.js.map +0 -1
  445. package/dist/queen/index.d.ts.map +0 -1
  446. package/dist/queen/index.js.map +0 -1
  447. package/dist/queen/integration-example.d.ts.map +0 -1
  448. package/dist/queen/integration-example.js.map +0 -1
  449. package/dist/queen/integration-test.d.ts.map +0 -1
  450. package/dist/queen/integration-test.js.map +0 -1
  451. package/dist/queen/mcp-execution-bridge.d.ts.map +0 -1
  452. package/dist/queen/mcp-execution-bridge.js.map +0 -1
  453. package/dist/queen/mock-mcp-client.d.ts.map +0 -1
  454. package/dist/queen/mock-mcp-client.js.map +0 -1
  455. package/dist/queen/neural-learning.d.ts.map +0 -1
  456. package/dist/queen/neural-learning.js.map +0 -1
  457. package/dist/queen/parallel-agent-engine.d.ts.map +0 -1
  458. package/dist/queen/parallel-agent-engine.js.map +0 -1
  459. package/dist/queen/queen-memory-system.d.ts.map +0 -1
  460. package/dist/queen/queen-memory-system.js.map +0 -1
  461. package/dist/queen/queen-memory.d.ts.map +0 -1
  462. package/dist/queen/queen-memory.js.map +0 -1
  463. package/dist/queen/run-integration-tests.d.ts.map +0 -1
  464. package/dist/queen/run-integration-tests.js.map +0 -1
  465. package/dist/queen/servicenow-queen.d.ts.map +0 -1
  466. package/dist/queen/servicenow-queen.js.map +0 -1
  467. package/dist/queen/types.d.ts.map +0 -1
  468. package/dist/queen/types.js.map +0 -1
  469. package/dist/rollback/smart-rollback-system.d.ts.map +0 -1
  470. package/dist/rollback/smart-rollback-system.js.map +0 -1
  471. package/dist/snow-flow-system.d.ts.map +0 -1
  472. package/dist/snow-flow-system.js.map +0 -1
  473. package/dist/sparc/coordinators/adaptive-coordinator.d.ts.map +0 -1
  474. package/dist/sparc/coordinators/adaptive-coordinator.js.map +0 -1
  475. package/dist/sparc/coordinators/team-coordinator.d.ts.map +0 -1
  476. package/dist/sparc/coordinators/team-coordinator.js.map +0 -1
  477. package/dist/sparc/modes/team-modes.d.ts.map +0 -1
  478. package/dist/sparc/modes/team-modes.js.map +0 -1
  479. package/dist/sparc/sparc-help.d.ts.map +0 -1
  480. package/dist/sparc/sparc-help.js.map +0 -1
  481. package/dist/sparc/team-sparc.d.ts.map +0 -1
  482. package/dist/sparc/team-sparc.js.map +0 -1
  483. package/dist/sparc/teams/application-team.d.ts.map +0 -1
  484. package/dist/sparc/teams/application-team.js.map +0 -1
  485. package/dist/sparc/teams/flow-team.d.ts.map +0 -1
  486. package/dist/sparc/teams/flow-team.js.map +0 -1
  487. package/dist/sparc/teams/widget-team.d.ts.map +0 -1
  488. package/dist/sparc/teams/widget-team.js.map +0 -1
  489. package/dist/specialists/app-specialists.d.ts.map +0 -1
  490. package/dist/specialists/app-specialists.js.map +0 -1
  491. package/dist/specialists/base-specialist.d.ts.map +0 -1
  492. package/dist/specialists/base-specialist.js.map +0 -1
  493. package/dist/specialists/flow-specialists.d.ts.map +0 -1
  494. package/dist/specialists/flow-specialists.js.map +0 -1
  495. package/dist/specialists/individual-specialists.d.ts.map +0 -1
  496. package/dist/specialists/individual-specialists.js.map +0 -1
  497. package/dist/specialists/widget-specialists.d.ts.map +0 -1
  498. package/dist/specialists/widget-specialists.js.map +0 -1
  499. package/dist/strategies/global-scope-strategy.d.ts.map +0 -1
  500. package/dist/strategies/global-scope-strategy.js.map +0 -1
  501. package/dist/teams/adaptive-team.d.ts.map +0 -1
  502. package/dist/teams/adaptive-team.js.map +0 -1
  503. package/dist/teams/application-team.d.ts.map +0 -1
  504. package/dist/teams/application-team.js.map +0 -1
  505. package/dist/teams/base-team.d.ts.map +0 -1
  506. package/dist/teams/base-team.js.map +0 -1
  507. package/dist/teams/flow-team.d.ts.map +0 -1
  508. package/dist/teams/flow-team.js.map +0 -1
  509. package/dist/teams/widget-team.d.ts.map +0 -1
  510. package/dist/teams/widget-team.js.map +0 -1
  511. package/dist/testing/integration-test-suite.d.ts.map +0 -1
  512. package/dist/testing/integration-test-suite.js.map +0 -1
  513. package/dist/types/index.d.ts.map +0 -1
  514. package/dist/types/index.js.map +0 -1
  515. package/dist/types/servicenow.types.d.ts.map +0 -1
  516. package/dist/types/servicenow.types.js.map +0 -1
  517. package/dist/types/snow-flow.types.d.ts.map +0 -1
  518. package/dist/types/snow-flow.types.js.map +0 -1
  519. package/dist/types/todo.types.d.ts.map +0 -1
  520. package/dist/types/todo.types.js.map +0 -1
  521. package/dist/utils/action-type-cache.d.ts.map +0 -1
  522. package/dist/utils/action-type-cache.js.map +0 -1
  523. package/dist/utils/agent-detector.d.ts.map +0 -1
  524. package/dist/utils/agent-detector.js.map +0 -1
  525. package/dist/utils/artifact-tracker.d.ts.map +0 -1
  526. package/dist/utils/artifact-tracker.js.map +0 -1
  527. package/dist/utils/dependency-detector.d.ts.map +0 -1
  528. package/dist/utils/dependency-detector.js.map +0 -1
  529. package/dist/utils/deployment-metadata-handler.d.ts.map +0 -1
  530. package/dist/utils/deployment-metadata-handler.js.map +0 -1
  531. package/dist/utils/error-recovery.d.ts.map +0 -1
  532. package/dist/utils/error-recovery.js.map +0 -1
  533. package/dist/utils/flow-api-discovery.d.ts.map +0 -1
  534. package/dist/utils/flow-api-discovery.js.map +0 -1
  535. package/dist/utils/flow-xml-generator.d.ts.map +0 -1
  536. package/dist/utils/flow-xml-generator.js.map +0 -1
  537. package/dist/utils/logger.d.ts.map +0 -1
  538. package/dist/utils/logger.js.map +0 -1
  539. package/dist/utils/mcp-auth-middleware.d.ts.map +0 -1
  540. package/dist/utils/mcp-auth-middleware.js.map +0 -1
  541. package/dist/utils/mcp-config-manager.d.ts.map +0 -1
  542. package/dist/utils/mcp-config-manager.js.map +0 -1
  543. package/dist/utils/mcp-server-manager.d.ts.map +0 -1
  544. package/dist/utils/mcp-server-manager.js.map +0 -1
  545. package/dist/utils/mcp-tool-registry.d.ts.map +0 -1
  546. package/dist/utils/mcp-tool-registry.js.map +0 -1
  547. package/dist/utils/migrate-claude-flow.d.ts.map +0 -1
  548. package/dist/utils/migrate-claude-flow.js.map +0 -1
  549. package/dist/utils/migrate-snow-flow.d.ts.map +0 -1
  550. package/dist/utils/migrate-snow-flow.js.map +0 -1
  551. package/dist/utils/oauth-html-templates.d.ts.map +0 -1
  552. package/dist/utils/oauth-html-templates.js.map +0 -1
  553. package/dist/utils/scope-utils.d.ts.map +0 -1
  554. package/dist/utils/scope-utils.js.map +0 -1
  555. package/dist/utils/servicenow-client.d.ts.map +0 -1
  556. package/dist/utils/servicenow-client.js.map +0 -1
  557. package/dist/utils/servicenow-id-generator.d.ts.map +0 -1
  558. package/dist/utils/servicenow-id-generator.js.map +0 -1
  559. package/dist/utils/snow-memory-manager.d.ts.map +0 -1
  560. package/dist/utils/snow-memory-manager.js.map +0 -1
  561. package/dist/utils/snow-oauth-old.d.ts.map +0 -1
  562. package/dist/utils/snow-oauth-old.js.map +0 -1
  563. package/dist/utils/snow-oauth.d.ts.map +0 -1
  564. package/dist/utils/snow-oauth.js.map +0 -1
  565. package/dist/utils/template-engine.d.ts.map +0 -1
  566. package/dist/utils/template-engine.js.map +0 -1
  567. package/dist/utils/theme-manager.d.ts.map +0 -1
  568. package/dist/utils/theme-manager.js.map +0 -1
  569. package/dist/utils/unified-auth-store.d.ts.map +0 -1
  570. package/dist/utils/unified-auth-store.js.map +0 -1
  571. package/dist/utils/update-set-importer.d.ts.map +0 -1
  572. package/dist/utils/update-set-importer.js.map +0 -1
  573. package/dist/utils/update-set-xml-packager.d.ts.map +0 -1
  574. package/dist/utils/update-set-xml-packager.js.map +0 -1
  575. package/dist/utils/widget-template-generator.d.ts.map +0 -1
  576. package/dist/utils/widget-template-generator.js.map +0 -1
  577. package/dist/version.d.ts.map +0 -1
  578. package/dist/version.js.map +0 -1
  579. package/memory/agents/README.md +0 -31
  580. package/memory/claude-flow-data.json +0 -5
  581. package/memory/servicenow_artifacts/000d9224c895221055906c7518aa2d3d.json +0 -30
  582. package/memory/servicenow_artifacts/0196b66173303010e46b4a2214f6a7a2.json +0 -36
  583. package/memory/servicenow_artifacts/125e5d1d837e2a102a7ea130ceaad397.json +0 -30
  584. package/memory/servicenow_artifacts/7637c1f2b7112210a5e5911cde11a972.json +0 -30
  585. package/memory/servicenow_artifacts/default_documentation_tables_1754056582292.json +0 -55
  586. package/memory/servicenow_artifacts/default_documentation_tables_1754057477189.json +0 -55
  587. package/memory/sessions/README.md +0 -32
  588. package/memory/update-set-sessions/01f82af583faea102a7ea130ceaad3d4.json +0 -9
  589. package/memory/update-set-sessions/27718fb983faea102a7ea130ceaad34b.json +0 -9
  590. package/memory/update-set-sessions/412e9bf6833e22502a7ea130ceaad30a.json +0 -8
  591. package/memory/update-set-sessions/66fc5a79837aea102a7ea130ceaad3ab.json +0 -9
  592. package/memory/update-set-sessions/71a30ff5837eea102a7ea130ceaad37f.json +0 -9
  593. package/memory/update-set-sessions/74fba27983faea102a7ea130ceaad3bd.json +0 -9
  594. package/memory/update-set-sessions/a0b147b5837eea102a7ea130ceaad344.json +0 -58
  595. package/memory/update-set-sessions/b13f5eb983baea102a7ea130ceaad33e.json +0 -9
@@ -0,0 +1,678 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * servicenow-automation MCP Server - REFACTORED
4
+ * Uses BaseMCPServer to eliminate code duplication
5
+ */
6
+
7
+ import { BaseMCPServer, ToolResult } from './base-mcp-server.js';
8
+ import { Tool } from '@modelcontextprotocol/sdk/types.js';
9
+
10
+ export class ServiceNowAutomationMCP extends BaseMCPServer {
11
+ constructor() {
12
+ super({
13
+ name: 'servicenow-automation',
14
+ version: '2.0.0',
15
+ description: 'Handles scheduled tasks, events, and automated processes'
16
+ });
17
+ }
18
+
19
+ protected setupTools(): void {
20
+ // Tools are defined in getTools() method
21
+ }
22
+
23
+ protected getTools(): Tool[] {
24
+ return [
25
+ {
26
+ name: 'snow_create_scheduled_job',
27
+ description: 'Create Scheduled Job with dynamic schedule discovery - NO hardcoded values',
28
+ inputSchema: {
29
+ type: 'object',
30
+ properties: {
31
+ name: { type: 'string', description: 'Scheduled Job name' },
32
+ script: { type: 'string', description: 'JavaScript code to execute' },
33
+ description: { type: 'string', description: 'Job description' },
34
+ schedule: { type: 'string', description: 'Schedule pattern (daily, weekly, monthly, or cron)' },
35
+ active: { type: 'boolean', description: 'Job active status' },
36
+ runAsUser: { type: 'string', description: 'User to run job as' },
37
+ timeZone: { type: 'string', description: 'Time zone for execution' }
38
+ },
39
+ required: ['name', 'script', 'schedule']
40
+ }
41
+ },
42
+ {
43
+ name: 'snow_create_event_rule',
44
+ description: 'Create Event Rule with dynamic event discovery - NO hardcoded values',
45
+ inputSchema: {
46
+ type: 'object',
47
+ properties: {
48
+ name: { type: 'string', description: 'Event Rule name' },
49
+ eventName: { type: 'string', description: 'Event name to listen for' },
50
+ condition: { type: 'string', description: 'Event condition script' },
51
+ script: { type: 'string', description: 'Action script to execute' },
52
+ description: { type: 'string', description: 'Rule description' },
53
+ active: { type: 'boolean', description: 'Rule active status' },
54
+ order: { type: 'number', description: 'Execution order' }
55
+ },
56
+ required: ['name', 'eventName', 'script']
57
+ }
58
+ },
59
+ {
60
+ name: 'snow_create_notification',
61
+ description: 'Create Notification with dynamic template discovery - NO hardcoded values',
62
+ inputSchema: {
63
+ type: 'object',
64
+ properties: {
65
+ name: { type: 'string', description: 'Notification name' },
66
+ table: { type: 'string', description: 'Table to monitor' },
67
+ when: { type: 'string', description: 'When to send (inserted, updated, deleted)' },
68
+ condition: { type: 'string', description: 'Condition script' },
69
+ recipients: { type: 'string', description: 'Recipient specification' },
70
+ subject: { type: 'string', description: 'Email subject' },
71
+ message: { type: 'string', description: 'Email message body' },
72
+ active: { type: 'boolean', description: 'Notification active status' }
73
+ },
74
+ required: ['name', 'table', 'when', 'recipients', 'subject', 'message']
75
+ }
76
+ },
77
+ {
78
+ name: 'snow_create_sla_definition',
79
+ description: 'Create SLA Definition with dynamic field discovery - NO hardcoded values',
80
+ inputSchema: {
81
+ type: 'object',
82
+ properties: {
83
+ name: { type: 'string', description: 'SLA Definition name' },
84
+ table: { type: 'string', description: 'Table to apply SLA to' },
85
+ condition: { type: 'string', description: 'SLA condition script' },
86
+ duration: { type: 'string', description: 'Duration specification' },
87
+ durationType: { type: 'string', description: 'Duration type (business, calendar)' },
88
+ schedule: { type: 'string', description: 'Schedule to use' },
89
+ active: { type: 'boolean', description: 'SLA active status' },
90
+ description: { type: 'string', description: 'SLA description' }
91
+ },
92
+ required: ['name', 'table', 'condition', 'duration']
93
+ }
94
+ },
95
+ {
96
+ name: 'snow_create_escalation_rule',
97
+ description: 'Create Escalation Rule with dynamic escalation discovery - NO hardcoded values',
98
+ inputSchema: {
99
+ type: 'object',
100
+ properties: {
101
+ name: { type: 'string', description: 'Escalation Rule name' },
102
+ table: { type: 'string', description: 'Table to monitor' },
103
+ condition: { type: 'string', description: 'Escalation condition' },
104
+ escalationTime: { type: 'number', description: 'Escalation time in minutes' },
105
+ escalationScript: { type: 'string', description: 'Escalation action script' },
106
+ active: { type: 'boolean', description: 'Rule active status' },
107
+ order: { type: 'number', description: 'Execution order' },
108
+ description: { type: 'string', description: 'Rule description' }
109
+ },
110
+ required: ['name', 'table', 'condition', 'escalationTime', 'escalationScript']
111
+ }
112
+ },
113
+ {
114
+ name: 'snow_create_workflow_activity',
115
+ description: 'Create Workflow Activity with dynamic workflow discovery - NO hardcoded values',
116
+ inputSchema: {
117
+ type: 'object',
118
+ properties: {
119
+ name: { type: 'string', description: 'Activity name' },
120
+ workflowName: { type: 'string', description: 'Parent workflow name' },
121
+ activityType: { type: 'string', description: 'Activity type' },
122
+ script: { type: 'string', description: 'Activity script' },
123
+ condition: { type: 'string', description: 'Activity condition' },
124
+ order: { type: 'number', description: 'Activity order' },
125
+ description: { type: 'string', description: 'Activity description' }
126
+ },
127
+ required: ['name', 'workflowName', 'activityType']
128
+ }
129
+ },
130
+ {
131
+ name: 'snow_discover_schedules',
132
+ description: 'Discover all available schedules dynamically',
133
+ inputSchema: {
134
+ type: 'object',
135
+ properties: {
136
+ type: { type: 'string', description: 'Filter by schedule type' }
137
+ }
138
+ }
139
+ },
140
+ {
141
+ name: 'snow_discover_events',
142
+ description: 'Discover all available events dynamically',
143
+ inputSchema: {
144
+ type: 'object',
145
+ properties: {
146
+ table: { type: 'string', description: 'Filter by table' }
147
+ }
148
+ }
149
+ },
150
+ {
151
+ name: 'snow_discover_automation_jobs',
152
+ description: 'Discover all automation jobs dynamically',
153
+ inputSchema: {
154
+ type: 'object',
155
+ properties: {
156
+ status: { type: 'string', description: 'Filter by status: active, inactive, all' }
157
+ }
158
+ }
159
+ },
160
+ {
161
+ name: 'snow_test_scheduled_job',
162
+ description: 'Test scheduled job execution',
163
+ inputSchema: {
164
+ type: 'object',
165
+ properties: {
166
+ jobName: { type: 'string', description: 'Scheduled job name to test' }
167
+ },
168
+ required: ['jobName']
169
+ }
170
+ }
171
+ ];
172
+ }
173
+
174
+ protected async executeTool(name: string, args: any): Promise<ToolResult> {
175
+ const startTime = Date.now();
176
+
177
+ switch (name) {
178
+ case 'snow_create_scheduled_job':
179
+ return await this.handleSnowCreateScheduledJob(args);
180
+ case 'snow_create_event_rule':
181
+ return await this.handleSnowCreateEventRule(args);
182
+ case 'snow_create_notification':
183
+ return await this.handleSnowCreateNotification(args);
184
+ case 'snow_create_sla_definition':
185
+ return await this.handleSnowCreateSlaDefinition(args);
186
+ case 'snow_create_escalation_rule':
187
+ return await this.handleSnowCreateEscalationRule(args);
188
+ case 'snow_create_workflow_activity':
189
+ return await this.handleSnowCreateWorkflowActivity(args);
190
+ case 'snow_discover_schedules':
191
+ return await this.handleSnowDiscoverSchedules(args);
192
+ case 'snow_discover_events':
193
+ return await this.handleSnowDiscoverEvents(args);
194
+ case 'snow_discover_automation_jobs':
195
+ return await this.handleSnowDiscoverAutomationJobs(args);
196
+ case 'snow_test_scheduled_job':
197
+ return await this.handleSnowTestScheduledJob(args);
198
+ default:
199
+ return {
200
+ success: false,
201
+ error: `Unknown tool: ${name}`
202
+ };
203
+ }
204
+ }
205
+
206
+ // Tool handlers
207
+ private async handleSnowCreateScheduledJob(args: any): Promise<ToolResult> {
208
+ const startTime = Date.now();
209
+ try {
210
+ const jobData = {
211
+ name: args.name,
212
+ script: args.script,
213
+ description: args.description || '',
214
+ run_type: this.parseScheduleType(args.schedule),
215
+ run_time: this.parseScheduleTime(args.schedule),
216
+ active: args.active !== false,
217
+ run_as: args.runAsUser || 'system',
218
+ time_zone: args.timeZone || 'UTC'
219
+ };
220
+
221
+ const result = await this.client.createRecord('sysauto_script', jobData);
222
+
223
+ return {
224
+ success: result.success,
225
+ result: result.result,
226
+ error: result.success ? undefined : 'Failed to create scheduled job',
227
+ executionTime: Date.now() - startTime
228
+ };
229
+ } catch (error) {
230
+ return {
231
+ success: false,
232
+ error: error instanceof Error ? error.message : 'Failed to create scheduled job',
233
+ executionTime: Date.now() - startTime
234
+ };
235
+ }
236
+ }
237
+
238
+ private async handleSnowCreateEventRule(args: any): Promise<ToolResult> {
239
+ const startTime = Date.now();
240
+ try {
241
+ const ruleData = {
242
+ name: args.name,
243
+ event_name: args.eventName,
244
+ condition: args.condition || '',
245
+ script: args.script,
246
+ description: args.description || '',
247
+ active: args.active !== false,
248
+ order: args.order || 100
249
+ };
250
+
251
+ const result = await this.client.createRecord('sysevent_script', ruleData);
252
+
253
+ return {
254
+ success: result.success,
255
+ result: result.result,
256
+ error: result.success ? undefined : 'Failed to create event rule',
257
+ executionTime: Date.now() - startTime
258
+ };
259
+ } catch (error) {
260
+ return {
261
+ success: false,
262
+ error: error instanceof Error ? error.message : 'Failed to create event rule',
263
+ executionTime: Date.now() - startTime
264
+ };
265
+ }
266
+ }
267
+
268
+ private async handleSnowCreateNotification(args: any): Promise<ToolResult> {
269
+ const startTime = Date.now();
270
+ try {
271
+ const notificationData = {
272
+ name: args.name,
273
+ collection: args.table,
274
+ when: args.when,
275
+ condition: args.condition || '',
276
+ recipients: args.recipients,
277
+ subject: args.subject,
278
+ message_html: args.message,
279
+ active: args.active !== false
280
+ };
281
+
282
+ const result = await this.client.createRecord('sysevent_email_action', notificationData);
283
+
284
+ return {
285
+ success: result.success,
286
+ result: result.result,
287
+ error: result.success ? undefined : 'Failed to create notification',
288
+ executionTime: Date.now() - startTime
289
+ };
290
+ } catch (error) {
291
+ return {
292
+ success: false,
293
+ error: error instanceof Error ? error.message : 'Failed to create notification',
294
+ executionTime: Date.now() - startTime
295
+ };
296
+ }
297
+ }
298
+
299
+ private async handleSnowCreateSlaDefinition(args: any): Promise<ToolResult> {
300
+ const startTime = Date.now();
301
+ try {
302
+ const slaData = {
303
+ name: args.name,
304
+ collection: args.table,
305
+ start_condition: args.condition,
306
+ duration: args.duration,
307
+ duration_type: args.durationType || 'business',
308
+ schedule: args.schedule || '',
309
+ active: args.active !== false,
310
+ short_description: args.description || ''
311
+ };
312
+
313
+ const result = await this.client.createRecord('contract_sla', slaData);
314
+
315
+ return {
316
+ success: result.success,
317
+ result: result.result,
318
+ error: result.success ? undefined : 'Failed to create SLA definition',
319
+ executionTime: Date.now() - startTime
320
+ };
321
+ } catch (error) {
322
+ return {
323
+ success: false,
324
+ error: error instanceof Error ? error.message : 'Failed to create SLA definition',
325
+ executionTime: Date.now() - startTime
326
+ };
327
+ }
328
+ }
329
+
330
+ private async handleSnowCreateEscalationRule(args: any): Promise<ToolResult> {
331
+ const startTime = Date.now();
332
+ try {
333
+ const escalationData = {
334
+ name: args.name,
335
+ table: args.table,
336
+ condition: args.condition,
337
+ escalation_time: args.escalationTime,
338
+ script: args.escalationScript,
339
+ active: args.active !== false,
340
+ order: args.order || 100,
341
+ description: args.description || ''
342
+ };
343
+
344
+ // Note: ServiceNow might use different tables for escalations
345
+ const result = await this.client.createRecord('sys_trigger', escalationData);
346
+
347
+ return {
348
+ success: result.success,
349
+ result: result.result,
350
+ error: result.success ? undefined : 'Failed to create escalation rule',
351
+ executionTime: Date.now() - startTime
352
+ };
353
+ } catch (error) {
354
+ return {
355
+ success: false,
356
+ error: error instanceof Error ? error.message : 'Failed to create escalation rule',
357
+ executionTime: Date.now() - startTime
358
+ };
359
+ }
360
+ }
361
+
362
+ private async handleSnowCreateWorkflowActivity(args: any): Promise<ToolResult> {
363
+ const startTime = Date.now();
364
+ try {
365
+ // First find the parent workflow
366
+ const workflowResponse = await this.client.searchRecords(
367
+ 'wf_workflow',
368
+ `name=${args.workflowName}`,
369
+ 1
370
+ );
371
+
372
+ if (!workflowResponse.success || !workflowResponse.data?.result?.length) {
373
+ throw new Error(`Workflow not found: ${args.workflowName}`);
374
+ }
375
+
376
+ const workflowId = workflowResponse.data.result[0].sys_id;
377
+
378
+ const activityData = {
379
+ workflow_version: workflowId,
380
+ name: args.name,
381
+ activity_type: args.activityType,
382
+ script: args.script || '',
383
+ condition: args.condition || '',
384
+ order: args.order || 100,
385
+ description: args.description || ''
386
+ };
387
+
388
+ const result = await this.client.createRecord('wf_activity', activityData);
389
+
390
+ return {
391
+ success: result.success,
392
+ result: result.result,
393
+ error: result.success ? undefined : 'Failed to create workflow activity',
394
+ executionTime: Date.now() - startTime
395
+ };
396
+ } catch (error) {
397
+ return {
398
+ success: false,
399
+ error: error instanceof Error ? error.message : 'Failed to create workflow activity',
400
+ executionTime: Date.now() - startTime
401
+ };
402
+ }
403
+ }
404
+
405
+ private async handleSnowDiscoverSchedules(args: any): Promise<ToolResult> {
406
+ const startTime = Date.now();
407
+ try {
408
+ const schedules: any[] = [];
409
+
410
+ // Discover schedules
411
+ const scheduleResponse = await this.client.searchRecords('cmn_schedule', '', 50);
412
+ if (scheduleResponse.success && scheduleResponse.data) {
413
+ schedules.push(...scheduleResponse.data.result.map((schedule: any) => ({
414
+ name: schedule.name,
415
+ type: schedule.type,
416
+ time_zone: schedule.time_zone,
417
+ description: schedule.description
418
+ })));
419
+ }
420
+
421
+ return {
422
+ success: true,
423
+ result: { schedules },
424
+ executionTime: Date.now() - startTime
425
+ };
426
+ } catch (error) {
427
+ return {
428
+ success: false,
429
+ error: error instanceof Error ? error.message : 'Failed to discover schedules',
430
+ executionTime: Date.now() - startTime
431
+ };
432
+ }
433
+ }
434
+
435
+ private async handleSnowDiscoverEvents(args: any): Promise<ToolResult> {
436
+ const startTime = Date.now();
437
+ try {
438
+ const events: any[] = [];
439
+
440
+ // Build query based on table filter
441
+ let query = '';
442
+ if (args.table) {
443
+ query = `table=${args.table}`;
444
+ }
445
+
446
+ // Discover event definitions
447
+ const eventResponse = await this.client.searchRecords('sysevent', query, 50);
448
+ if (eventResponse.success && eventResponse.data) {
449
+ events.push(...eventResponse.data.result.map((event: any) => ({
450
+ name: event.name,
451
+ table: event.table,
452
+ description: event.description,
453
+ parm1_label: event.parm1,
454
+ parm2_label: event.parm2
455
+ })));
456
+ }
457
+
458
+ return {
459
+ success: true,
460
+ result: { events },
461
+ executionTime: Date.now() - startTime
462
+ };
463
+ } catch (error) {
464
+ return {
465
+ success: false,
466
+ error: error instanceof Error ? error.message : 'Failed to discover events',
467
+ executionTime: Date.now() - startTime
468
+ };
469
+ }
470
+ }
471
+
472
+ private async handleSnowDiscoverAutomationJobs(args: any): Promise<ToolResult> {
473
+ const startTime = Date.now();
474
+ try {
475
+ const jobs: any[] = [];
476
+ const status = args?.status || 'all';
477
+
478
+ // Build query based on status filter
479
+ let query = '';
480
+ if (status === 'active') {
481
+ query = 'active=true';
482
+ } else if (status === 'inactive') {
483
+ query = 'active=false';
484
+ }
485
+
486
+ // Discover scheduled jobs
487
+ const scheduledResponse = await this.client.searchRecords('sysauto_script', query, 50);
488
+ if (scheduledResponse.success && scheduledResponse.data) {
489
+ jobs.push(...scheduledResponse.data.result.map((job: any) => ({
490
+ type: 'scheduled_job',
491
+ name: job.name,
492
+ active: job.active,
493
+ run_type: job.run_type,
494
+ last_run: job.last_run_time
495
+ })));
496
+ }
497
+
498
+ // Discover event scripts
499
+ const eventResponse = await this.client.searchRecords('sysevent_script', query, 50);
500
+ if (eventResponse.success && eventResponse.data) {
501
+ jobs.push(...eventResponse.data.result.map((job: any) => ({
502
+ type: 'event_script',
503
+ name: job.name,
504
+ active: job.active,
505
+ event_name: job.event_name
506
+ })));
507
+ }
508
+
509
+ return {
510
+ success: true,
511
+ result: { jobs },
512
+ executionTime: Date.now() - startTime
513
+ };
514
+ } catch (error) {
515
+ return {
516
+ success: false,
517
+ error: error instanceof Error ? error.message : 'Failed to discover automation jobs',
518
+ executionTime: Date.now() - startTime
519
+ };
520
+ }
521
+ }
522
+
523
+ private async handleSnowTestScheduledJob(args: any): Promise<ToolResult> {
524
+ const startTime = Date.now();
525
+ try {
526
+ // Find the scheduled job
527
+ const jobResponse = await this.client.searchRecords(
528
+ 'sysauto_script',
529
+ `name=${args.jobName}`,
530
+ 1
531
+ );
532
+
533
+ if (!jobResponse.success || !jobResponse.data?.result?.length) {
534
+ throw new Error(`Scheduled job not found: ${args.jobName}`);
535
+ }
536
+
537
+ const job = jobResponse.data.result[0];
538
+
539
+ // Execute the scheduled job and monitor its execution
540
+ const executionStartTime = Date.now();
541
+ let testResult: any;
542
+
543
+ try {
544
+ // Trigger the scheduled job execution
545
+ this.logger.info('Triggering scheduled job execution', {
546
+ jobName: job.name,
547
+ jobId: job.sys_id
548
+ });
549
+
550
+ // Method 1: Try to execute via sys_trigger endpoint
551
+ const triggerResponse = await this.client.post('/api/now/table/sys_trigger', {
552
+ script: `gs.eventQueue('sysauto.script.execute', null, '${job.sys_id}', '');`,
553
+ name: `Test execution of ${job.name}`,
554
+ next_action: new Date(Date.now() + 5000).toISOString() // Execute in 5 seconds
555
+ });
556
+
557
+ if (triggerResponse.result) {
558
+ this.logger.info('Job execution trigger created', {
559
+ triggerId: triggerResponse.result.sys_id
560
+ });
561
+
562
+ // Wait a brief moment for execution to begin
563
+ await new Promise(resolve => setTimeout(resolve, 2000));
564
+
565
+ // Check for recent execution history
566
+ const executionHistoryResponse = await this.client.get(
567
+ `/api/now/table/sys_execution_tracker?sysparm_query=source=${job.sys_id}^ORDERBYDESCsys_created_on&sysparm_limit=1`
568
+ );
569
+
570
+ const realExecutionTime = Date.now() - executionStartTime;
571
+
572
+ if (executionHistoryResponse.result && executionHistoryResponse.result.length > 0) {
573
+ const execution = executionHistoryResponse.result[0];
574
+ testResult = {
575
+ job_name: job.name,
576
+ job_id: job.sys_id,
577
+ test_status: 'executed',
578
+ execution_time: realExecutionTime,
579
+ trigger_id: triggerResponse.result.sys_id,
580
+ execution_tracker_id: execution.sys_id,
581
+ execution_state: execution.state,
582
+ execution_progress: execution.completion_percentage || 0,
583
+ message: `Job execution initiated successfully. Trigger created: ${triggerResponse.result.sys_id}`,
584
+ details: {
585
+ job_active: job.active,
586
+ job_script: job.script ? 'Present' : 'Missing',
587
+ job_condition: job.condition_script || 'None',
588
+ execution_history_found: true
589
+ }
590
+ };
591
+ } else {
592
+ testResult = {
593
+ job_name: job.name,
594
+ job_id: job.sys_id,
595
+ test_status: 'triggered',
596
+ execution_time: realExecutionTime,
597
+ trigger_id: triggerResponse.result.sys_id,
598
+ message: `Job execution trigger created successfully. Check sys_execution_tracker for progress.`,
599
+ details: {
600
+ job_active: job.active,
601
+ job_script: job.script ? 'Present' : 'Missing',
602
+ job_condition: job.condition_script || 'None',
603
+ execution_history_found: false
604
+ }
605
+ };
606
+ }
607
+
608
+ } else {
609
+ throw new Error('Failed to create execution trigger');
610
+ }
611
+
612
+ } catch (executionError) {
613
+ // If direct execution fails, perform validation instead
614
+ this.logger.warn('Job execution failed, performing validation instead', {
615
+ jobName: job.name,
616
+ error: executionError instanceof Error ? executionError.message : String(executionError)
617
+ });
618
+
619
+ const realExecutionTime = Date.now() - executionStartTime;
620
+
621
+ testResult = {
622
+ job_name: job.name,
623
+ job_id: job.sys_id,
624
+ test_status: 'validated',
625
+ execution_time: realExecutionTime,
626
+ message: `Job validation completed. Execution failed: ${executionError instanceof Error ? executionError.message : String(executionError)}`,
627
+ details: {
628
+ job_active: job.active,
629
+ job_script: job.script ? 'Present' : 'Missing',
630
+ job_condition: job.condition_script || 'None',
631
+ job_run_as: job.run_as || 'system',
632
+ job_schedule: job.run_period || 'Not scheduled',
633
+ validation_performed: true,
634
+ execution_attempted: true,
635
+ execution_error: executionError instanceof Error ? executionError.message : String(executionError)
636
+ }
637
+ };
638
+ }
639
+
640
+ return {
641
+ success: true,
642
+ result: testResult,
643
+ executionTime: Date.now() - startTime
644
+ };
645
+ } catch (error) {
646
+ return {
647
+ success: false,
648
+ error: error instanceof Error ? error.message : 'Failed to test scheduled job',
649
+ executionTime: Date.now() - startTime
650
+ };
651
+ }
652
+ }
653
+
654
+ // Helper methods
655
+ private parseScheduleType(schedule: string): string {
656
+ const scheduleLower = schedule.toLowerCase();
657
+ if (scheduleLower.includes('daily')) return 'daily';
658
+ if (scheduleLower.includes('weekly')) return 'weekly';
659
+ if (scheduleLower.includes('monthly')) return 'monthly';
660
+ if (scheduleLower.includes('cron')) return 'cron';
661
+ return 'periodically';
662
+ }
663
+
664
+ private parseScheduleTime(schedule: string): string {
665
+ // Simple parsing - in real implementation would be more sophisticated
666
+ const timeMatch = schedule.match(/(\d{1,2}):(\d{2})/);
667
+ if (timeMatch) {
668
+ return `${timeMatch[1]}:${timeMatch[2]}:00`;
669
+ }
670
+ return '00:00:00';
671
+ }
672
+ }
673
+
674
+ // Create and run the server
675
+ if (require.main === module) {
676
+ const server = new ServiceNowAutomationMCP();
677
+ server.start().catch(console.error);
678
+ }