snow-flow 1.4.49 → 2.0.1

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 (600) 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.template → .claude/settings.local.json} +18 -21
  5. package/.claude-flow/metrics/system-metrics.json +3060 -0
  6. package/.env.example +64 -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 +140 -614
  13. package/dist/cli.js.bak +2052 -0
  14. package/package.json +2 -2
  15. package/scripts/create-env.js +6 -1
  16. package/scripts/reset-mcp-servers.js +246 -0
  17. package/scripts/update-version.js +31 -0
  18. package/src/agents/README.md +192 -0
  19. package/src/agents/base-agent.ts +251 -0
  20. package/src/agents/coordinator.ts +971 -0
  21. package/src/agents/index.ts +18 -0
  22. package/src/agents/queen-403-handler.ts +230 -0
  23. package/src/agents/queen-agent.ts +1399 -0
  24. package/src/agents/script-writer-agent.ts +769 -0
  25. package/src/agents/security-agent.ts +726 -0
  26. package/src/agents/widget-creator-agent.ts +568 -0
  27. package/src/api/error-handling.ts +1758 -0
  28. package/src/api/natural-language-mapper.ts +630 -0
  29. package/src/api/performance-optimizer.ts +891 -0
  30. package/src/api/transaction-manager.ts +754 -0
  31. package/src/cli/deploy-artifact.ts +304 -0
  32. package/src/cli/snow-flow-cli-integration.ts +434 -0
  33. package/src/cli.ts +4455 -0
  34. package/src/cli.ts.bak +5616 -0
  35. package/src/compliance/advanced-compliance-system.ts +1268 -0
  36. package/src/compliance/index.ts +19 -0
  37. package/src/config/snow-flow-config.ts +1019 -0
  38. package/src/documentation/index.ts +16 -0
  39. package/src/documentation/self-documenting-system.ts +1421 -0
  40. package/src/dynamic-version.ts +44 -0
  41. package/src/healing/index.ts +20 -0
  42. package/src/healing/self-healing-system.ts +1435 -0
  43. package/src/health/README.md +161 -0
  44. package/src/health/system-health.ts +995 -0
  45. package/src/index.ts +60 -0
  46. package/src/intelligence/acl-analyzer.ts +377 -0
  47. package/src/intelligence/auto-resolution-engine.ts +643 -0
  48. package/src/intelligence/gap-analysis-engine.ts +488 -0
  49. package/src/intelligence/manual-instructions-generator.ts +744 -0
  50. package/src/intelligence/mcp-coverage-analyzer.ts +708 -0
  51. package/src/intelligence/multi-pass-requirements-analyzer.ts +603 -0
  52. package/src/intelligence/performance-recommendations-engine.ts +1223 -0
  53. package/src/intelligence/requirements-analyzer.ts +1148 -0
  54. package/src/intelligence/task-analyzer.ts +628 -0
  55. package/src/managers/scope-manager.ts +555 -0
  56. package/src/mcp/advanced/servicenow-advanced-features-mcp.ts +16110 -0
  57. package/src/mcp/base-mcp-server.ts +660 -0
  58. package/src/mcp/http-transport-wrapper.ts +426 -0
  59. package/src/mcp/service-discovery-client.ts +312 -0
  60. package/src/mcp/servicenow-automation-mcp-refactored.ts +678 -0
  61. package/src/mcp/servicenow-automation-mcp.ts +838 -0
  62. package/src/mcp/servicenow-deployment-mcp-refactored.ts +1292 -0
  63. package/src/mcp/servicenow-deployment-mcp.ts +7244 -0
  64. package/src/mcp/servicenow-graph-memory-mcp-refactored.ts +721 -0
  65. package/src/mcp/servicenow-graph-memory-mcp.ts +832 -0
  66. package/src/mcp/servicenow-integration-mcp-refactored.ts +655 -0
  67. package/src/mcp/servicenow-integration-mcp.ts +819 -0
  68. package/src/mcp/servicenow-intelligent-mcp-refactored.ts +977 -0
  69. package/src/mcp/servicenow-intelligent-mcp.ts +4638 -0
  70. package/src/mcp/servicenow-mcp-server.ts +728 -0
  71. package/src/mcp/servicenow-memory-mcp.ts +474 -0
  72. package/src/mcp/servicenow-operations-mcp-refactored.ts +1995 -0
  73. package/src/mcp/servicenow-operations-mcp.ts +3384 -0
  74. package/src/mcp/servicenow-platform-development-mcp-refactored.ts +611 -0
  75. package/src/mcp/servicenow-platform-development-mcp.ts +970 -0
  76. package/src/mcp/servicenow-progressive-indexer.ts +370 -0
  77. package/src/mcp/servicenow-reporting-analytics-mcp-refactored.ts +695 -0
  78. package/src/mcp/servicenow-reporting-analytics-mcp.ts +1123 -0
  79. package/src/mcp/servicenow-security-compliance-mcp-refactored.ts +642 -0
  80. package/src/mcp/servicenow-security-compliance-mcp.ts +1157 -0
  81. package/src/mcp/servicenow-update-set-mcp-refactored.ts +751 -0
  82. package/src/mcp/servicenow-update-set-mcp.ts +811 -0
  83. package/src/mcp/shared/agent-context-provider.ts +365 -0
  84. package/src/mcp/shared/base-mcp-server.ts +2463 -0
  85. package/src/mcp/shared/mcp-memory-manager.ts +540 -0
  86. package/src/mcp/shared/mcp-resource-manager.ts +367 -0
  87. package/src/mcp/snow-flow-mcp.ts +911 -0
  88. package/src/mcp/start-all-mcp-servers.ts +102 -0
  89. package/src/mcp/start-servicenow-mcp.ts +67 -0
  90. package/src/monitoring/enhanced-monitoring-system.ts +1345 -0
  91. package/src/monitoring/performance-tracker.ts +777 -0
  92. package/src/optimization/cost-optimization-engine.ts +1125 -0
  93. package/src/optimization/index.ts +10 -0
  94. package/src/queen/README.md +403 -0
  95. package/src/queen/agent-factory.ts +574 -0
  96. package/src/queen/index.ts +94 -0
  97. package/src/queen/mcp-execution-bridge.ts +681 -0
  98. package/src/queen/neural-learning.ts +319 -0
  99. package/src/queen/parallel-agent-engine.ts +848 -0
  100. package/src/queen/queen-memory-system.ts +490 -0
  101. package/src/queen/queen-memory.ts +456 -0
  102. package/src/queen/servicenow-queen.ts +1029 -0
  103. package/src/queen/types.ts +87 -0
  104. package/src/rollback/smart-rollback-system.ts +866 -0
  105. package/src/schemas/deployment.schema.json +58 -0
  106. package/src/schemas/flow.schema.json +79 -0
  107. package/src/schemas/widget.schema.json +72 -0
  108. package/src/snow-flow-system.ts +541 -0
  109. package/src/sparc/sparc-help.ts +49 -0
  110. package/src/sparc/team-sparc.ts +88 -0
  111. package/src/strategies/global-scope-strategy.ts +736 -0
  112. package/src/templates/base/application.template.json +45 -0
  113. package/src/templates/base/business_rule.template.json +33 -0
  114. package/src/templates/base/script_include.template.json +18 -0
  115. package/src/templates/base/table.template.json +64 -0
  116. package/src/templates/base/widget.template.json +25 -0
  117. package/src/templates/patterns/composite.incident-management.template.json +140 -0
  118. package/src/templates/patterns/widget.dashboard.template.json +238 -0
  119. package/src/templates/patterns/widget.datatable.template.json +292 -0
  120. package/src/testing/integration-test-suite.ts +1276 -0
  121. package/src/types/index.ts +183 -0
  122. package/src/types/neo4j-driver.d.ts +23 -0
  123. package/src/types/servicenow.types.ts +307 -0
  124. package/src/types/snow-flow.types.ts +186 -0
  125. package/src/types/todo.types.ts +70 -0
  126. package/src/utils/action-type-cache.ts +286 -0
  127. package/src/utils/agent-detector.ts +573 -0
  128. package/src/utils/artifact-tracker.ts +379 -0
  129. package/src/utils/dependency-detector.ts +233 -0
  130. package/src/utils/deployment-metadata-handler.ts +518 -0
  131. package/src/utils/error-recovery.ts +680 -0
  132. package/src/utils/logger.ts +60 -0
  133. package/src/utils/mcp-auth-middleware.ts +262 -0
  134. package/src/utils/mcp-config-manager.ts +270 -0
  135. package/src/utils/mcp-server-manager.ts +446 -0
  136. package/src/utils/mcp-tool-registry.ts +298 -0
  137. package/src/utils/migrate-snow-flow.ts +98 -0
  138. package/src/utils/oauth-html-templates.ts +188 -0
  139. package/src/utils/scope-utils.ts +443 -0
  140. package/src/utils/servicenow-client.ts +3321 -0
  141. package/src/utils/servicenow-id-generator.ts +181 -0
  142. package/src/utils/snow-memory-manager.ts +605 -0
  143. package/src/utils/snow-oauth.ts +797 -0
  144. package/src/utils/template-engine.ts +463 -0
  145. package/src/utils/theme-manager.ts +295 -0
  146. package/src/utils/unified-auth-store.ts +222 -0
  147. package/src/utils/update-set-importer.ts +422 -0
  148. package/src/utils/update-set-xml-packager.ts +371 -0
  149. package/src/utils/widget-template-generator.ts +1744 -0
  150. package/src/version.ts +1950 -0
  151. package/.claude/commands/memory/README.md +0 -9
  152. package/.claude.mcp-config.template +0 -149
  153. package/SIMPLE_TEST_COMMANDS.txt +0 -143
  154. package/SNOW_FLOW_ADVANCED_FEATURES_PLAIN.txt +0 -78
  155. package/TEST_COMMANDS_v139.sh +0 -126
  156. package/claude-flow +0 -81
  157. package/claude-flow.bat +0 -18
  158. package/claude-flow.config.json +0 -20
  159. package/claude-flow.ps1 +0 -24
  160. package/dist/agents/app-creator.agent.d.ts.map +0 -1
  161. package/dist/agents/app-creator.agent.js.map +0 -1
  162. package/dist/agents/base/base-snow-agent.d.ts.map +0 -1
  163. package/dist/agents/base/base-snow-agent.js.map +0 -1
  164. package/dist/agents/base-agent.d.ts.map +0 -1
  165. package/dist/agents/base-agent.js.map +0 -1
  166. package/dist/agents/base-snow-agent.d.ts.map +0 -1
  167. package/dist/agents/base-snow-agent.js.map +0 -1
  168. package/dist/agents/coordinator.d.ts.map +0 -1
  169. package/dist/agents/coordinator.js.map +0 -1
  170. package/dist/agents/flow-builder-agent.d.ts.map +0 -1
  171. package/dist/agents/flow-builder-agent.js.map +0 -1
  172. package/dist/agents/index.d.ts.map +0 -1
  173. package/dist/agents/index.js.map +0 -1
  174. package/dist/agents/queen-403-handler.d.ts.map +0 -1
  175. package/dist/agents/queen-403-handler.js.map +0 -1
  176. package/dist/agents/queen-agent-example.d.ts.map +0 -1
  177. package/dist/agents/queen-agent-example.js.map +0 -1
  178. package/dist/agents/queen-agent.d.ts.map +0 -1
  179. package/dist/agents/queen-agent.js.map +0 -1
  180. package/dist/agents/queen-agent.test.d.ts.map +0 -1
  181. package/dist/agents/queen-agent.test.js.map +0 -1
  182. package/dist/agents/script-generator.agent.d.ts.map +0 -1
  183. package/dist/agents/script-generator.agent.js.map +0 -1
  184. package/dist/agents/script-writer-agent.d.ts.map +0 -1
  185. package/dist/agents/script-writer-agent.js.map +0 -1
  186. package/dist/agents/security-agent.d.ts.map +0 -1
  187. package/dist/agents/security-agent.js.map +0 -1
  188. package/dist/agents/specialists/automation-specialist.agent.d.ts.map +0 -1
  189. package/dist/agents/specialists/automation-specialist.agent.js.map +0 -1
  190. package/dist/agents/specialists/data-specialist.agent.d.ts.map +0 -1
  191. package/dist/agents/specialists/data-specialist.agent.js.map +0 -1
  192. package/dist/agents/specialists/integration-specialist.agent.d.ts.map +0 -1
  193. package/dist/agents/specialists/integration-specialist.agent.js.map +0 -1
  194. package/dist/agents/specialists/reporting-specialist.agent.d.ts.map +0 -1
  195. package/dist/agents/specialists/reporting-specialist.agent.js.map +0 -1
  196. package/dist/agents/specialists/security-specialist.agent.d.ts.map +0 -1
  197. package/dist/agents/specialists/security-specialist.agent.js.map +0 -1
  198. package/dist/agents/teams/adaptive/adaptive-coordinator.agent.d.ts.map +0 -1
  199. package/dist/agents/teams/adaptive/adaptive-coordinator.agent.js.map +0 -1
  200. package/dist/agents/teams/base-team.d.ts.map +0 -1
  201. package/dist/agents/teams/base-team.js.map +0 -1
  202. package/dist/agents/teams/team-types.d.ts.map +0 -1
  203. package/dist/agents/teams/team-types.js.map +0 -1
  204. package/dist/agents/teams/widget/widget-architect.agent.d.ts.map +0 -1
  205. package/dist/agents/teams/widget/widget-architect.agent.js.map +0 -1
  206. package/dist/agents/teams/widget/widget-backend.agent.d.ts.map +0 -1
  207. package/dist/agents/teams/widget/widget-backend.agent.js.map +0 -1
  208. package/dist/agents/teams/widget/widget-frontend.agent.d.ts.map +0 -1
  209. package/dist/agents/teams/widget/widget-frontend.agent.js.map +0 -1
  210. package/dist/agents/teams/widget/widget-platform.agent.d.ts.map +0 -1
  211. package/dist/agents/teams/widget/widget-platform.agent.js.map +0 -1
  212. package/dist/agents/teams/widget/widget-uiux.agent.d.ts.map +0 -1
  213. package/dist/agents/teams/widget/widget-uiux.agent.js.map +0 -1
  214. package/dist/agents/test-agent.d.ts.map +0 -1
  215. package/dist/agents/test-agent.js.map +0 -1
  216. package/dist/agents/test-agents.d.ts.map +0 -1
  217. package/dist/agents/test-agents.js.map +0 -1
  218. package/dist/agents/ui-builder.agent.d.ts.map +0 -1
  219. package/dist/agents/ui-builder.agent.js.map +0 -1
  220. package/dist/agents/widget-builder.agent.d.ts.map +0 -1
  221. package/dist/agents/widget-builder.agent.js.map +0 -1
  222. package/dist/agents/widget-creator-agent.d.ts.map +0 -1
  223. package/dist/agents/widget-creator-agent.js.map +0 -1
  224. package/dist/agents/workflow-designer.agent.d.ts.map +0 -1
  225. package/dist/agents/workflow-designer.agent.js.map +0 -1
  226. package/dist/api/error-handling.d.ts.map +0 -1
  227. package/dist/api/error-handling.js.map +0 -1
  228. package/dist/api/flow-designer-api.d.ts.map +0 -1
  229. package/dist/api/flow-designer-api.js.map +0 -1
  230. package/dist/api/natural-language-mapper.d.ts.map +0 -1
  231. package/dist/api/natural-language-mapper.js.map +0 -1
  232. package/dist/api/performance-optimizer.d.ts.map +0 -1
  233. package/dist/api/performance-optimizer.js.map +0 -1
  234. package/dist/api/transaction-manager.d.ts.map +0 -1
  235. package/dist/api/transaction-manager.js.map +0 -1
  236. package/dist/assembly/team-assembler.d.ts.map +0 -1
  237. package/dist/assembly/team-assembler.js.map +0 -1
  238. package/dist/cli/deploy-artifact.d.ts.map +0 -1
  239. package/dist/cli/deploy-artifact.js.map +0 -1
  240. package/dist/cli/snow-flow-cli-integration.d.ts.map +0 -1
  241. package/dist/cli/snow-flow-cli-integration.js.map +0 -1
  242. package/dist/cli.d.ts.map +0 -1
  243. package/dist/cli.js.map +0 -1
  244. package/dist/compliance/advanced-compliance-system.d.ts.map +0 -1
  245. package/dist/compliance/advanced-compliance-system.js.map +0 -1
  246. package/dist/compliance/index.d.ts.map +0 -1
  247. package/dist/compliance/index.js.map +0 -1
  248. package/dist/config/snow-flow-config.d.ts.map +0 -1
  249. package/dist/config/snow-flow-config.js.map +0 -1
  250. package/dist/documentation/index.d.ts.map +0 -1
  251. package/dist/documentation/index.js.map +0 -1
  252. package/dist/documentation/self-documenting-system.d.ts.map +0 -1
  253. package/dist/documentation/self-documenting-system.js.map +0 -1
  254. package/dist/dynamic-version.d.ts.map +0 -1
  255. package/dist/dynamic-version.js.map +0 -1
  256. package/dist/healing/index.d.ts.map +0 -1
  257. package/dist/healing/index.js.map +0 -1
  258. package/dist/healing/self-healing-system.d.ts.map +0 -1
  259. package/dist/healing/self-healing-system.js.map +0 -1
  260. package/dist/health/system-health.d.ts.map +0 -1
  261. package/dist/health/system-health.js.map +0 -1
  262. package/dist/index.d.ts.map +0 -1
  263. package/dist/index.js.map +0 -1
  264. package/dist/intelligence/acl-analyzer.d.ts.map +0 -1
  265. package/dist/intelligence/acl-analyzer.js.map +0 -1
  266. package/dist/intelligence/auto-resolution-engine.d.ts.map +0 -1
  267. package/dist/intelligence/auto-resolution-engine.js.map +0 -1
  268. package/dist/intelligence/gap-analysis-engine.d.ts.map +0 -1
  269. package/dist/intelligence/gap-analysis-engine.js.map +0 -1
  270. package/dist/intelligence/manual-instructions-generator.d.ts.map +0 -1
  271. package/dist/intelligence/manual-instructions-generator.js.map +0 -1
  272. package/dist/intelligence/mcp-coverage-analyzer.d.ts.map +0 -1
  273. package/dist/intelligence/mcp-coverage-analyzer.js.map +0 -1
  274. package/dist/intelligence/multi-pass-requirements-analyzer.d.ts.map +0 -1
  275. package/dist/intelligence/multi-pass-requirements-analyzer.js.map +0 -1
  276. package/dist/intelligence/performance-recommendations-engine.d.ts.map +0 -1
  277. package/dist/intelligence/performance-recommendations-engine.js.map +0 -1
  278. package/dist/intelligence/requirements-analyzer.d.ts.map +0 -1
  279. package/dist/intelligence/requirements-analyzer.js.map +0 -1
  280. package/dist/intelligence/task-analyzer.d.ts.map +0 -1
  281. package/dist/intelligence/task-analyzer.js.map +0 -1
  282. package/dist/managers/scope-manager.d.ts.map +0 -1
  283. package/dist/managers/scope-manager.js.map +0 -1
  284. package/dist/mcp/advanced/servicenow-advanced-features-mcp.d.ts.map +0 -1
  285. package/dist/mcp/advanced/servicenow-advanced-features-mcp.js.map +0 -1
  286. package/dist/mcp/base-mcp-server.d.ts.map +0 -1
  287. package/dist/mcp/base-mcp-server.js.map +0 -1
  288. package/dist/mcp/example-refactored-server.d.ts.map +0 -1
  289. package/dist/mcp/example-refactored-server.js.map +0 -1
  290. package/dist/mcp/http-transport-wrapper.d.ts.map +0 -1
  291. package/dist/mcp/http-transport-wrapper.js.map +0 -1
  292. package/dist/mcp/mcp-wrapper.d.ts.map +0 -1
  293. package/dist/mcp/mcp-wrapper.js.map +0 -1
  294. package/dist/mcp/service-discovery-client.d.ts.map +0 -1
  295. package/dist/mcp/service-discovery-client.js.map +0 -1
  296. package/dist/mcp/servicenow-automation-mcp-refactored.d.ts.map +0 -1
  297. package/dist/mcp/servicenow-automation-mcp-refactored.js.map +0 -1
  298. package/dist/mcp/servicenow-automation-mcp.d.ts.map +0 -1
  299. package/dist/mcp/servicenow-automation-mcp.js.map +0 -1
  300. package/dist/mcp/servicenow-deployment-mcp-refactored.d.ts.map +0 -1
  301. package/dist/mcp/servicenow-deployment-mcp-refactored.js.map +0 -1
  302. package/dist/mcp/servicenow-deployment-mcp.d.ts.map +0 -1
  303. package/dist/mcp/servicenow-deployment-mcp.js.map +0 -1
  304. package/dist/mcp/servicenow-flow-composer-mcp-refactored.d.ts.map +0 -1
  305. package/dist/mcp/servicenow-flow-composer-mcp-refactored.js.map +0 -1
  306. package/dist/mcp/servicenow-flow-composer-mcp.d.ts.map +0 -1
  307. package/dist/mcp/servicenow-flow-composer-mcp.js.map +0 -1
  308. package/dist/mcp/servicenow-graph-memory-mcp-refactored.d.ts.map +0 -1
  309. package/dist/mcp/servicenow-graph-memory-mcp-refactored.js.map +0 -1
  310. package/dist/mcp/servicenow-graph-memory-mcp.d.ts.map +0 -1
  311. package/dist/mcp/servicenow-graph-memory-mcp.js.map +0 -1
  312. package/dist/mcp/servicenow-integration-mcp-refactored.d.ts.map +0 -1
  313. package/dist/mcp/servicenow-integration-mcp-refactored.js.map +0 -1
  314. package/dist/mcp/servicenow-integration-mcp.d.ts.map +0 -1
  315. package/dist/mcp/servicenow-integration-mcp.js.map +0 -1
  316. package/dist/mcp/servicenow-intelligent-mcp-refactored.d.ts.map +0 -1
  317. package/dist/mcp/servicenow-intelligent-mcp-refactored.js.map +0 -1
  318. package/dist/mcp/servicenow-intelligent-mcp.d.ts.map +0 -1
  319. package/dist/mcp/servicenow-intelligent-mcp.js.map +0 -1
  320. package/dist/mcp/servicenow-mcp-server.d.ts.map +0 -1
  321. package/dist/mcp/servicenow-mcp-server.js.map +0 -1
  322. package/dist/mcp/servicenow-memory-mcp.d.ts.map +0 -1
  323. package/dist/mcp/servicenow-memory-mcp.js.map +0 -1
  324. package/dist/mcp/servicenow-operations-mcp-refactored.d.ts.map +0 -1
  325. package/dist/mcp/servicenow-operations-mcp-refactored.js.map +0 -1
  326. package/dist/mcp/servicenow-operations-mcp.d.ts.map +0 -1
  327. package/dist/mcp/servicenow-operations-mcp.js.map +0 -1
  328. package/dist/mcp/servicenow-platform-development-mcp-refactored.d.ts.map +0 -1
  329. package/dist/mcp/servicenow-platform-development-mcp-refactored.js.map +0 -1
  330. package/dist/mcp/servicenow-platform-development-mcp.d.ts.map +0 -1
  331. package/dist/mcp/servicenow-platform-development-mcp.js.map +0 -1
  332. package/dist/mcp/servicenow-progressive-indexer.d.ts.map +0 -1
  333. package/dist/mcp/servicenow-progressive-indexer.js.map +0 -1
  334. package/dist/mcp/servicenow-reporting-analytics-mcp-refactored.d.ts.map +0 -1
  335. package/dist/mcp/servicenow-reporting-analytics-mcp-refactored.js.map +0 -1
  336. package/dist/mcp/servicenow-reporting-analytics-mcp.d.ts.map +0 -1
  337. package/dist/mcp/servicenow-reporting-analytics-mcp.js.map +0 -1
  338. package/dist/mcp/servicenow-security-compliance-mcp-refactored.d.ts.map +0 -1
  339. package/dist/mcp/servicenow-security-compliance-mcp-refactored.js.map +0 -1
  340. package/dist/mcp/servicenow-security-compliance-mcp.d.ts.map +0 -1
  341. package/dist/mcp/servicenow-security-compliance-mcp.js.map +0 -1
  342. package/dist/mcp/servicenow-update-set-mcp-refactored.d.ts.map +0 -1
  343. package/dist/mcp/servicenow-update-set-mcp-refactored.js.map +0 -1
  344. package/dist/mcp/servicenow-update-set-mcp.d.ts.map +0 -1
  345. package/dist/mcp/servicenow-update-set-mcp.js.map +0 -1
  346. package/dist/mcp/servicenow-xml-flow-mcp.d.ts.map +0 -1
  347. package/dist/mcp/servicenow-xml-flow-mcp.js.map +0 -1
  348. package/dist/mcp/shared/agent-context-provider.d.ts.map +0 -1
  349. package/dist/mcp/shared/agent-context-provider.js.map +0 -1
  350. package/dist/mcp/shared/base-mcp-server.d.ts.map +0 -1
  351. package/dist/mcp/shared/base-mcp-server.js.map +0 -1
  352. package/dist/mcp/shared/mcp-memory-manager.d.ts.map +0 -1
  353. package/dist/mcp/shared/mcp-memory-manager.js.map +0 -1
  354. package/dist/mcp/shared/mcp-resource-manager.d.ts.map +0 -1
  355. package/dist/mcp/shared/mcp-resource-manager.js.map +0 -1
  356. package/dist/mcp/snow-flow-mcp.d.ts.map +0 -1
  357. package/dist/mcp/snow-flow-mcp.js.map +0 -1
  358. package/dist/mcp/start-all-mcp-servers.d.ts.map +0 -1
  359. package/dist/mcp/start-all-mcp-servers.js.map +0 -1
  360. package/dist/mcp/start-servicenow-mcp.d.ts.map +0 -1
  361. package/dist/mcp/start-servicenow-mcp.js.map +0 -1
  362. package/dist/mcp/test-simple-mcp.d.ts.map +0 -1
  363. package/dist/mcp/test-simple-mcp.js.map +0 -1
  364. package/dist/memory/hierarchical-memory-system.d.ts +0 -90
  365. package/dist/memory/hierarchical-memory-system.d.ts.map +0 -1
  366. package/dist/memory/hierarchical-memory-system.js +0 -400
  367. package/dist/memory/hierarchical-memory-system.js.map +0 -1
  368. package/dist/memory/index.d.ts +0 -9
  369. package/dist/memory/index.d.ts.map +0 -1
  370. package/dist/memory/index.js +0 -20
  371. package/dist/memory/index.js.map +0 -1
  372. package/dist/memory/mcp-integration-example.d.ts +0 -6
  373. package/dist/memory/mcp-integration-example.d.ts.map +0 -1
  374. package/dist/memory/mcp-integration-example.js +0 -281
  375. package/dist/memory/mcp-integration-example.js.map +0 -1
  376. package/dist/memory/memory-client.d.ts +0 -199
  377. package/dist/memory/memory-client.d.ts.map +0 -1
  378. package/dist/memory/memory-client.js +0 -364
  379. package/dist/memory/memory-client.js.map +0 -1
  380. package/dist/memory/memory-manager.d.ts +0 -29
  381. package/dist/memory/memory-manager.d.ts.map +0 -1
  382. package/dist/memory/memory-manager.js +0 -280
  383. package/dist/memory/memory-manager.js.map +0 -1
  384. package/dist/memory/memory-operations.d.ts +0 -179
  385. package/dist/memory/memory-operations.d.ts.map +0 -1
  386. package/dist/memory/memory-operations.js +0 -691
  387. package/dist/memory/memory-operations.js.map +0 -1
  388. package/dist/memory/memory-system.d.ts +0 -152
  389. package/dist/memory/memory-system.d.ts.map +0 -1
  390. package/dist/memory/memory-system.js +0 -632
  391. package/dist/memory/memory-system.js.map +0 -1
  392. package/dist/memory/memory-test.d.ts +0 -6
  393. package/dist/memory/memory-test.d.ts.map +0 -1
  394. package/dist/memory/memory-test.js +0 -161
  395. package/dist/memory/memory-test.js.map +0 -1
  396. package/dist/memory/servicenow-artifact-indexer.d.ts +0 -119
  397. package/dist/memory/servicenow-artifact-indexer.d.ts.map +0 -1
  398. package/dist/memory/servicenow-artifact-indexer.js +0 -560
  399. package/dist/memory/servicenow-artifact-indexer.js.map +0 -1
  400. package/dist/memory/snow-flow-memory-patterns.d.ts +0 -213
  401. package/dist/memory/snow-flow-memory-patterns.d.ts.map +0 -1
  402. package/dist/memory/snow-flow-memory-patterns.js +0 -200
  403. package/dist/memory/snow-flow-memory-patterns.js.map +0 -1
  404. package/dist/memory/snow-memory.d.ts +0 -54
  405. package/dist/memory/snow-memory.d.ts.map +0 -1
  406. package/dist/memory/snow-memory.js +0 -301
  407. package/dist/memory/snow-memory.js.map +0 -1
  408. package/dist/memory/swarm-memory.d.ts +0 -135
  409. package/dist/memory/swarm-memory.d.ts.map +0 -1
  410. package/dist/memory/swarm-memory.js +0 -378
  411. package/dist/memory/swarm-memory.js.map +0 -1
  412. package/dist/monitoring/enhanced-monitoring-system.d.ts.map +0 -1
  413. package/dist/monitoring/enhanced-monitoring-system.js.map +0 -1
  414. package/dist/monitoring/performance-tracker.d.ts.map +0 -1
  415. package/dist/monitoring/performance-tracker.js.map +0 -1
  416. package/dist/optimization/cost-optimization-engine.d.ts.map +0 -1
  417. package/dist/optimization/cost-optimization-engine.js.map +0 -1
  418. package/dist/optimization/index.d.ts.map +0 -1
  419. package/dist/optimization/index.js.map +0 -1
  420. package/dist/orchestration/discovery/service-discovery.d.ts.map +0 -1
  421. package/dist/orchestration/discovery/service-discovery.js.map +0 -1
  422. package/dist/orchestration/distributed-orchestrator.d.ts.map +0 -1
  423. package/dist/orchestration/distributed-orchestrator.js.map +0 -1
  424. package/dist/orchestration/distribution/task-distribution-engine.d.ts.map +0 -1
  425. package/dist/orchestration/distribution/task-distribution-engine.js.map +0 -1
  426. package/dist/orchestration/interfaces/distributed-orchestration.interface.d.ts.map +0 -1
  427. package/dist/orchestration/interfaces/distributed-orchestration.interface.js.map +0 -1
  428. package/dist/orchestration/protocols/mcpx-protocol.d.ts.map +0 -1
  429. package/dist/orchestration/protocols/mcpx-protocol.js.map +0 -1
  430. package/dist/orchestration/state/distributed-state-manager.d.ts.map +0 -1
  431. package/dist/orchestration/state/distributed-state-manager.js.map +0 -1
  432. package/dist/orchestrator/flow-composer.d.ts.map +0 -1
  433. package/dist/orchestrator/flow-composer.js.map +0 -1
  434. package/dist/orchestrator/flow-pattern-templates.d.ts.map +0 -1
  435. package/dist/orchestrator/flow-pattern-templates.js.map +0 -1
  436. package/dist/orchestrator/flow-subflow-decision-engine.d.ts.map +0 -1
  437. package/dist/orchestrator/flow-subflow-decision-engine.js.map +0 -1
  438. package/dist/orchestrator/flow-validation-engine.d.ts.map +0 -1
  439. package/dist/orchestrator/flow-validation-engine.js.map +0 -1
  440. package/dist/orchestrator/snow-orchestrator.d.ts.map +0 -1
  441. package/dist/orchestrator/snow-orchestrator.js.map +0 -1
  442. package/dist/orchestrator/subflow-creation-handler.d.ts.map +0 -1
  443. package/dist/orchestrator/subflow-creation-handler.js.map +0 -1
  444. package/dist/patterns/adaptive-patterns.d.ts.map +0 -1
  445. package/dist/patterns/adaptive-patterns.js.map +0 -1
  446. package/dist/queen/advanced-integration-test.d.ts.map +0 -1
  447. package/dist/queen/advanced-integration-test.js.map +0 -1
  448. package/dist/queen/agent-factory.d.ts.map +0 -1
  449. package/dist/queen/agent-factory.js.map +0 -1
  450. package/dist/queen/index.d.ts.map +0 -1
  451. package/dist/queen/index.js.map +0 -1
  452. package/dist/queen/integration-example.d.ts.map +0 -1
  453. package/dist/queen/integration-example.js.map +0 -1
  454. package/dist/queen/integration-test.d.ts.map +0 -1
  455. package/dist/queen/integration-test.js.map +0 -1
  456. package/dist/queen/mcp-execution-bridge.d.ts.map +0 -1
  457. package/dist/queen/mcp-execution-bridge.js.map +0 -1
  458. package/dist/queen/mock-mcp-client.d.ts.map +0 -1
  459. package/dist/queen/mock-mcp-client.js.map +0 -1
  460. package/dist/queen/neural-learning.d.ts.map +0 -1
  461. package/dist/queen/neural-learning.js.map +0 -1
  462. package/dist/queen/parallel-agent-engine.d.ts.map +0 -1
  463. package/dist/queen/parallel-agent-engine.js.map +0 -1
  464. package/dist/queen/queen-memory-system.d.ts.map +0 -1
  465. package/dist/queen/queen-memory-system.js.map +0 -1
  466. package/dist/queen/queen-memory.d.ts.map +0 -1
  467. package/dist/queen/queen-memory.js.map +0 -1
  468. package/dist/queen/run-integration-tests.d.ts.map +0 -1
  469. package/dist/queen/run-integration-tests.js.map +0 -1
  470. package/dist/queen/servicenow-queen.d.ts.map +0 -1
  471. package/dist/queen/servicenow-queen.js.map +0 -1
  472. package/dist/queen/types.d.ts.map +0 -1
  473. package/dist/queen/types.js.map +0 -1
  474. package/dist/rollback/smart-rollback-system.d.ts.map +0 -1
  475. package/dist/rollback/smart-rollback-system.js.map +0 -1
  476. package/dist/snow-flow-system.d.ts.map +0 -1
  477. package/dist/snow-flow-system.js.map +0 -1
  478. package/dist/sparc/coordinators/adaptive-coordinator.d.ts.map +0 -1
  479. package/dist/sparc/coordinators/adaptive-coordinator.js.map +0 -1
  480. package/dist/sparc/coordinators/team-coordinator.d.ts.map +0 -1
  481. package/dist/sparc/coordinators/team-coordinator.js.map +0 -1
  482. package/dist/sparc/modes/team-modes.d.ts.map +0 -1
  483. package/dist/sparc/modes/team-modes.js.map +0 -1
  484. package/dist/sparc/sparc-help.d.ts.map +0 -1
  485. package/dist/sparc/sparc-help.js.map +0 -1
  486. package/dist/sparc/team-sparc.d.ts.map +0 -1
  487. package/dist/sparc/team-sparc.js.map +0 -1
  488. package/dist/sparc/teams/application-team.d.ts.map +0 -1
  489. package/dist/sparc/teams/application-team.js.map +0 -1
  490. package/dist/sparc/teams/flow-team.d.ts.map +0 -1
  491. package/dist/sparc/teams/flow-team.js.map +0 -1
  492. package/dist/sparc/teams/widget-team.d.ts.map +0 -1
  493. package/dist/sparc/teams/widget-team.js.map +0 -1
  494. package/dist/specialists/app-specialists.d.ts.map +0 -1
  495. package/dist/specialists/app-specialists.js.map +0 -1
  496. package/dist/specialists/base-specialist.d.ts.map +0 -1
  497. package/dist/specialists/base-specialist.js.map +0 -1
  498. package/dist/specialists/flow-specialists.d.ts.map +0 -1
  499. package/dist/specialists/flow-specialists.js.map +0 -1
  500. package/dist/specialists/individual-specialists.d.ts.map +0 -1
  501. package/dist/specialists/individual-specialists.js.map +0 -1
  502. package/dist/specialists/widget-specialists.d.ts.map +0 -1
  503. package/dist/specialists/widget-specialists.js.map +0 -1
  504. package/dist/strategies/global-scope-strategy.d.ts.map +0 -1
  505. package/dist/strategies/global-scope-strategy.js.map +0 -1
  506. package/dist/teams/adaptive-team.d.ts.map +0 -1
  507. package/dist/teams/adaptive-team.js.map +0 -1
  508. package/dist/teams/application-team.d.ts.map +0 -1
  509. package/dist/teams/application-team.js.map +0 -1
  510. package/dist/teams/base-team.d.ts.map +0 -1
  511. package/dist/teams/base-team.js.map +0 -1
  512. package/dist/teams/flow-team.d.ts.map +0 -1
  513. package/dist/teams/flow-team.js.map +0 -1
  514. package/dist/teams/widget-team.d.ts.map +0 -1
  515. package/dist/teams/widget-team.js.map +0 -1
  516. package/dist/testing/integration-test-suite.d.ts.map +0 -1
  517. package/dist/testing/integration-test-suite.js.map +0 -1
  518. package/dist/types/index.d.ts.map +0 -1
  519. package/dist/types/index.js.map +0 -1
  520. package/dist/types/servicenow.types.d.ts.map +0 -1
  521. package/dist/types/servicenow.types.js.map +0 -1
  522. package/dist/types/snow-flow.types.d.ts.map +0 -1
  523. package/dist/types/snow-flow.types.js.map +0 -1
  524. package/dist/types/todo.types.d.ts.map +0 -1
  525. package/dist/types/todo.types.js.map +0 -1
  526. package/dist/utils/action-type-cache.d.ts.map +0 -1
  527. package/dist/utils/action-type-cache.js.map +0 -1
  528. package/dist/utils/agent-detector.d.ts.map +0 -1
  529. package/dist/utils/agent-detector.js.map +0 -1
  530. package/dist/utils/artifact-tracker.d.ts.map +0 -1
  531. package/dist/utils/artifact-tracker.js.map +0 -1
  532. package/dist/utils/dependency-detector.d.ts.map +0 -1
  533. package/dist/utils/dependency-detector.js.map +0 -1
  534. package/dist/utils/deployment-metadata-handler.d.ts.map +0 -1
  535. package/dist/utils/deployment-metadata-handler.js.map +0 -1
  536. package/dist/utils/error-recovery.d.ts.map +0 -1
  537. package/dist/utils/error-recovery.js.map +0 -1
  538. package/dist/utils/flow-api-discovery.d.ts.map +0 -1
  539. package/dist/utils/flow-api-discovery.js.map +0 -1
  540. package/dist/utils/flow-xml-generator.d.ts.map +0 -1
  541. package/dist/utils/flow-xml-generator.js.map +0 -1
  542. package/dist/utils/logger.d.ts.map +0 -1
  543. package/dist/utils/logger.js.map +0 -1
  544. package/dist/utils/mcp-auth-middleware.d.ts.map +0 -1
  545. package/dist/utils/mcp-auth-middleware.js.map +0 -1
  546. package/dist/utils/mcp-config-manager.d.ts.map +0 -1
  547. package/dist/utils/mcp-config-manager.js.map +0 -1
  548. package/dist/utils/mcp-server-manager.d.ts.map +0 -1
  549. package/dist/utils/mcp-server-manager.js.map +0 -1
  550. package/dist/utils/mcp-tool-registry.d.ts.map +0 -1
  551. package/dist/utils/mcp-tool-registry.js.map +0 -1
  552. package/dist/utils/migrate-claude-flow.d.ts.map +0 -1
  553. package/dist/utils/migrate-claude-flow.js.map +0 -1
  554. package/dist/utils/migrate-snow-flow.d.ts.map +0 -1
  555. package/dist/utils/migrate-snow-flow.js.map +0 -1
  556. package/dist/utils/oauth-html-templates.d.ts.map +0 -1
  557. package/dist/utils/oauth-html-templates.js.map +0 -1
  558. package/dist/utils/scope-utils.d.ts.map +0 -1
  559. package/dist/utils/scope-utils.js.map +0 -1
  560. package/dist/utils/servicenow-client.d.ts.map +0 -1
  561. package/dist/utils/servicenow-client.js.map +0 -1
  562. package/dist/utils/servicenow-id-generator.d.ts.map +0 -1
  563. package/dist/utils/servicenow-id-generator.js.map +0 -1
  564. package/dist/utils/snow-memory-manager.d.ts.map +0 -1
  565. package/dist/utils/snow-memory-manager.js.map +0 -1
  566. package/dist/utils/snow-oauth-old.d.ts.map +0 -1
  567. package/dist/utils/snow-oauth-old.js.map +0 -1
  568. package/dist/utils/snow-oauth.d.ts.map +0 -1
  569. package/dist/utils/snow-oauth.js.map +0 -1
  570. package/dist/utils/template-engine.d.ts.map +0 -1
  571. package/dist/utils/template-engine.js.map +0 -1
  572. package/dist/utils/theme-manager.d.ts.map +0 -1
  573. package/dist/utils/theme-manager.js.map +0 -1
  574. package/dist/utils/unified-auth-store.d.ts.map +0 -1
  575. package/dist/utils/unified-auth-store.js.map +0 -1
  576. package/dist/utils/update-set-importer.d.ts.map +0 -1
  577. package/dist/utils/update-set-importer.js.map +0 -1
  578. package/dist/utils/update-set-xml-packager.d.ts.map +0 -1
  579. package/dist/utils/update-set-xml-packager.js.map +0 -1
  580. package/dist/utils/widget-template-generator.d.ts.map +0 -1
  581. package/dist/utils/widget-template-generator.js.map +0 -1
  582. package/dist/version.d.ts.map +0 -1
  583. package/dist/version.js.map +0 -1
  584. package/memory/agents/README.md +0 -31
  585. package/memory/claude-flow-data.json +0 -5
  586. package/memory/servicenow_artifacts/000d9224c895221055906c7518aa2d3d.json +0 -30
  587. package/memory/servicenow_artifacts/0196b66173303010e46b4a2214f6a7a2.json +0 -36
  588. package/memory/servicenow_artifacts/125e5d1d837e2a102a7ea130ceaad397.json +0 -30
  589. package/memory/servicenow_artifacts/7637c1f2b7112210a5e5911cde11a972.json +0 -30
  590. package/memory/servicenow_artifacts/default_documentation_tables_1754056582292.json +0 -55
  591. package/memory/servicenow_artifacts/default_documentation_tables_1754057477189.json +0 -55
  592. package/memory/sessions/README.md +0 -32
  593. package/memory/update-set-sessions/01f82af583faea102a7ea130ceaad3d4.json +0 -9
  594. package/memory/update-set-sessions/27718fb983faea102a7ea130ceaad34b.json +0 -9
  595. package/memory/update-set-sessions/412e9bf6833e22502a7ea130ceaad30a.json +0 -8
  596. package/memory/update-set-sessions/66fc5a79837aea102a7ea130ceaad3ab.json +0 -9
  597. package/memory/update-set-sessions/71a30ff5837eea102a7ea130ceaad37f.json +0 -9
  598. package/memory/update-set-sessions/74fba27983faea102a7ea130ceaad3bd.json +0 -9
  599. package/memory/update-set-sessions/a0b147b5837eea102a7ea130ceaad344.json +0 -58
  600. package/memory/update-set-sessions/b13f5eb983baea102a7ea130ceaad33e.json +0 -9
@@ -0,0 +1,1148 @@
1
+ /**
2
+ * Requirements Analyzer - Intelligent Gap Analysis Engine
3
+ *
4
+ * Analyzes objectives to identify ALL required ServiceNow components,
5
+ * not just what MCP tools can handle.
6
+ */
7
+
8
+ import { logger } from '../utils/logger';
9
+
10
+ export interface ServiceNowRequirement {
11
+ id: string;
12
+ type: RequirementType;
13
+ name: string;
14
+ description: string;
15
+ priority: 'high' | 'medium' | 'low';
16
+ dependencies: string[];
17
+ estimatedEffort: 'low' | 'medium' | 'high';
18
+ automatable: boolean;
19
+ mcpCoverage: boolean;
20
+ category: RequirementCategory;
21
+ specificSteps?: string[];
22
+ validationCriteria?: string[];
23
+ riskLevel: 'low' | 'medium' | 'high';
24
+ }
25
+
26
+ export type RequirementType =
27
+ // Core Artifacts (MCP Covered)
28
+ | 'widget' | 'flow' | 'business_rule' | 'script_include' | 'table' | 'application'
29
+ // Authentication & Security
30
+ | 'user_role' | 'acl_rule' | 'oauth_provider' | 'sso_config' | 'data_policy'
31
+ | 'security_policy' | 'audit_rule' | 'encryption_context' | 'saml_config' | 'mfa_config'
32
+ // Data & Integration
33
+ | 'import_set' | 'transform_map' | 'field_map' | 'web_service' | 'rest_message'
34
+ | 'email_config' | 'ldap_config' | 'database_view' | 'database_index'
35
+ | 'soap_message' | 'import_set_transformer' | 'coremeta_data' | 'ldap_server'
36
+ // User Interface
37
+ | 'ui_action' | 'ui_policy' | 'ui_page' | 'ui_macro' | 'ui_script'
38
+ | 'client_script' | 'css_include' | 'navigator_module' | 'homepage'
39
+ | 'form_layout' | 'form_section' | 'list_layout' | 'related_list' | 'formatter'
40
+ | 'application_menu' | 'module_navigation'
41
+ // Workflow & Process
42
+ | 'workflow' | 'scheduled_job' | 'event_rule' | 'notification' | 'email_template'
43
+ | 'sla_definition' | 'escalation_rule' | 'approval_rule' | 'state_flow'
44
+ | 'workflow_activity' | 'workflow_transition' | 'approval_definition' | 'approval_workflow'
45
+ | 'notification_rule' | 'scheduled_task' | 'event_registration'
46
+ // Configuration & Setup
47
+ | 'dictionary_entry' | 'choice_list' | 'ui_formatter' | 'display_value'
48
+ | 'reference_qualifier' | 'data_lookup' | 'sys_property' | 'system_setting'
49
+ | 'system_property' | 'system_definition' | 'theme_configuration' | 'branding_config'
50
+ | 'table_rotation' | 'partitioning_config' | 'cache_configuration'
51
+ // Reporting & Analytics
52
+ | 'report' | 'dashboard' | 'metric' | 'kpi' | 'scheduled_report'
53
+ | 'data_source' | 'gauge' | 'chart_configuration' | 'dashboard_tab'
54
+ | 'performance_analytics' | 'metric_definition' | 'job_queue' | 'transaction_quota'
55
+ // Operations & Service Management
56
+ | 'incident_table' | 'incident__analysis' | 'query_rule' | 'catalog_item' | 'catalog_category'
57
+ | 'catalog_variable' | 'workflow_integration' | 'user_account' | 'user_group'
58
+ | 'group_membership' | 'integration_endpoint' | 'update_set'
59
+ // Automation & Monitoring
60
+ | 'probe' | 'sensor' | 'discovery_rule' | 'cmdb_identification'
61
+ | 'orchestration_workflow' | 'runbook' | 'knowledge_article'
62
+ | 'inbound_email_action' | 'processor' | 'pdf_generator' | 'sys_script_validator'
63
+ // Mobile & Portal
64
+ | 'mobile_app_config' | 'service_portal_config' | 'portal_widget'
65
+ | 'portal_page' | 'portal_theme' | 'mobile_ui_policy';
66
+
67
+ export type RequirementCategory =
68
+ | 'core_development' | 'security_compliance' | 'data_integration'
69
+ | 'user_interface' | 'process_automation' | 'system_configuration'
70
+ | 'reporting_analytics' | 'mobile_portal' | 'monitoring_operations';
71
+
72
+ export interface ObjectiveAnalysis {
73
+ objective: string;
74
+ requirements: ServiceNowRequirement[];
75
+ totalRequirements: number;
76
+ mcpCoveredCount: number;
77
+ gapCount: number;
78
+ mcpCoveragePercentage: number;
79
+ estimatedComplexity: 'low' | 'medium' | 'high' | 'enterprise';
80
+ riskAssessment: 'low' | 'medium' | 'high';
81
+ categories: RequirementCategory[];
82
+ criticalPath: string[];
83
+ estimatedDuration: string;
84
+ }
85
+
86
+ export class RequirementsAnalyzer {
87
+ private static readonly OBJECTIVE_PATTERNS = {
88
+ // User Management & Security
89
+ user_provisioning: {
90
+ keywords: ['user', 'provisioning', 'account', 'create user', 'new employee', 'onboarding'],
91
+ requirements: ['user_role', 'acl_rule', 'group_membership', 'email_template', 'workflow']
92
+ },
93
+ access_control: {
94
+ keywords: ['access', 'permission', 'role', 'security', 'authorization'],
95
+ requirements: ['user_role', 'acl_rule', 'security_policy', 'audit_rule']
96
+ },
97
+
98
+ // Data Integration
99
+ data_import: {
100
+ keywords: ['import', 'data load', 'csv', 'excel', 'migration', 'sync'],
101
+ requirements: ['import_set', 'transform_map', 'field_map', 'scheduled_job']
102
+ },
103
+ api_integration: {
104
+ keywords: ['api', 'rest', 'soap', 'web service', 'integration', 'external'],
105
+ requirements: ['rest_message', 'web_service', 'oauth_provider', 'business_rule']
106
+ },
107
+
108
+ // Process Automation
109
+ approval_process: {
110
+ keywords: ['approval', 'review', 'authorize', 'escalate', 'workflow'],
111
+ requirements: ['workflow', 'approval_rule', 'notification', 'email_template', 'sla_definition']
112
+ },
113
+ notification_system: {
114
+ keywords: ['notification', 'email', 'alert', 'notify', 'message'],
115
+ requirements: ['notification', 'email_template', 'event_rule', 'email_config']
116
+ },
117
+
118
+ // User Interface
119
+ dashboard_portal: {
120
+ keywords: ['dashboard', 'portal', 'homepage', 'overview', 'metrics'],
121
+ requirements: ['widget', 'portal_page', 'portal_theme', 'navigator_module']
122
+ },
123
+ custom_form: {
124
+ keywords: ['form', 'ui', 'input', 'custom fields', 'validation'],
125
+ requirements: ['dictionary_entry', 'ui_policy', 'client_script', 'data_policy']
126
+ },
127
+
128
+ // Reporting & Analytics
129
+ reporting_system: {
130
+ keywords: ['report', 'analytics', 'metrics', 'kpi', 'dashboard'],
131
+ requirements: ['report', 'dashboard', 'scheduled_report', 'data_source']
132
+ },
133
+
134
+ // Infrastructure & Monitoring
135
+ monitoring_system: {
136
+ keywords: ['monitor', 'alert', 'health', 'performance', 'discovery'],
137
+ requirements: ['probe', 'sensor', 'event_rule', 'notification', 'scheduled_job']
138
+ },
139
+
140
+ // ITSM Processes
141
+ incident_management: {
142
+ keywords: ['incident', 'ticket', 'issue', 'problem', 'support'],
143
+ requirements: ['table', 'workflow', 'business_rule', 'notification', 'sla_definition']
144
+ },
145
+ change_management: {
146
+ keywords: ['change', 'release', 'deployment', 'cab', 'approval'],
147
+ requirements: ['workflow', 'approval_rule', 'scheduled_job', 'notification']
148
+ },
149
+
150
+ // Mobile & Modern
151
+ mobile_app: {
152
+ keywords: ['mobile', 'app', 'phone', 'tablet', 'ios', 'android'],
153
+ requirements: ['mobile_app_config', 'mobile_ui_policy', 'rest_message']
154
+ }
155
+ };
156
+
157
+ private static readonly REQUIREMENT_DEFINITIONS: Partial<Record<RequirementType, {
158
+ description: string;
159
+ category: RequirementCategory;
160
+ automatable: boolean;
161
+ mcpCoverage: boolean;
162
+ estimatedEffort: 'low' | 'medium' | 'high';
163
+ riskLevel: 'low' | 'medium' | 'high';
164
+ prerequisites: RequirementType[];
165
+ }>> = {
166
+ // Core Development (MCP Covered)
167
+ widget: {
168
+ description: 'Service Portal widget for user interface',
169
+ category: 'core_development',
170
+ automatable: true,
171
+ mcpCoverage: true,
172
+ estimatedEffort: 'medium',
173
+ riskLevel: 'low',
174
+ prerequisites: []
175
+ },
176
+ flow: {
177
+ description: 'Flow Designer workflow for process automation',
178
+ category: 'core_development',
179
+ automatable: true,
180
+ mcpCoverage: true,
181
+ estimatedEffort: 'medium',
182
+ riskLevel: 'low',
183
+ prerequisites: []
184
+ },
185
+ business_rule: {
186
+ description: 'Server-side business logic and validation',
187
+ category: 'core_development',
188
+ automatable: true,
189
+ mcpCoverage: true,
190
+ estimatedEffort: 'low',
191
+ riskLevel: 'medium',
192
+ prerequisites: []
193
+ },
194
+ script_include: {
195
+ description: 'Reusable server-side JavaScript functions',
196
+ category: 'core_development',
197
+ automatable: true,
198
+ mcpCoverage: true,
199
+ estimatedEffort: 'low',
200
+ riskLevel: 'low',
201
+ prerequisites: []
202
+ },
203
+ table: {
204
+ description: 'Database table for data storage',
205
+ category: 'core_development',
206
+ automatable: true,
207
+ mcpCoverage: true,
208
+ estimatedEffort: 'high',
209
+ riskLevel: 'high',
210
+ prerequisites: []
211
+ },
212
+ application: {
213
+ description: 'ServiceNow application container',
214
+ category: 'core_development',
215
+ automatable: true,
216
+ mcpCoverage: true,
217
+ estimatedEffort: 'high',
218
+ riskLevel: 'medium',
219
+ prerequisites: []
220
+ },
221
+
222
+ // Security & Compliance (Gaps!)
223
+ user_role: {
224
+ description: 'User roles and permission groups',
225
+ category: 'security_compliance',
226
+ automatable: true,
227
+ mcpCoverage: false,
228
+ estimatedEffort: 'medium',
229
+ riskLevel: 'high',
230
+ prerequisites: []
231
+ },
232
+ acl_rule: {
233
+ description: 'Access control list rules for data security',
234
+ category: 'security_compliance',
235
+ automatable: true,
236
+ mcpCoverage: false,
237
+ estimatedEffort: 'medium',
238
+ riskLevel: 'high',
239
+ prerequisites: ['table']
240
+ },
241
+ oauth_provider: {
242
+ description: 'OAuth authentication provider configuration',
243
+ category: 'security_compliance',
244
+ automatable: false,
245
+ mcpCoverage: false,
246
+ estimatedEffort: 'high',
247
+ riskLevel: 'high',
248
+ prerequisites: []
249
+ },
250
+ sso_config: {
251
+ description: 'Single Sign-On configuration',
252
+ category: 'security_compliance',
253
+ automatable: false,
254
+ mcpCoverage: false,
255
+ estimatedEffort: 'high',
256
+ riskLevel: 'high',
257
+ prerequisites: []
258
+ },
259
+ data_policy: {
260
+ description: 'Data validation and mandatory field policies',
261
+ category: 'security_compliance',
262
+ automatable: true,
263
+ mcpCoverage: false,
264
+ estimatedEffort: 'low',
265
+ riskLevel: 'low',
266
+ prerequisites: ['table']
267
+ },
268
+ security_policy: {
269
+ description: 'Security policies and compliance rules',
270
+ category: 'security_compliance',
271
+ automatable: true,
272
+ mcpCoverage: true,
273
+ estimatedEffort: 'medium',
274
+ riskLevel: 'high',
275
+ prerequisites: []
276
+ },
277
+ audit_rule: {
278
+ description: 'Audit rules for tracking data changes',
279
+ category: 'security_compliance',
280
+ automatable: true,
281
+ mcpCoverage: true,
282
+ estimatedEffort: 'low',
283
+ riskLevel: 'medium',
284
+ prerequisites: ['table']
285
+ },
286
+ encryption_context: {
287
+ description: 'Field encryption configuration',
288
+ category: 'security_compliance',
289
+ automatable: false,
290
+ mcpCoverage: false,
291
+ estimatedEffort: 'high',
292
+ riskLevel: 'high',
293
+ prerequisites: ['table']
294
+ },
295
+
296
+ // Data Integration (Partial MCP Coverage)
297
+ import_set: {
298
+ description: 'Import set table for data loading',
299
+ category: 'data_integration',
300
+ automatable: true,
301
+ mcpCoverage: true,
302
+ estimatedEffort: 'medium',
303
+ riskLevel: 'low',
304
+ prerequisites: []
305
+ },
306
+ transform_map: {
307
+ description: 'Transform map for data transformation',
308
+ category: 'data_integration',
309
+ automatable: true,
310
+ mcpCoverage: true,
311
+ estimatedEffort: 'medium',
312
+ riskLevel: 'medium',
313
+ prerequisites: ['import_set']
314
+ },
315
+ field_map: {
316
+ description: 'Field mapping for data transformation',
317
+ category: 'data_integration',
318
+ automatable: true,
319
+ mcpCoverage: true,
320
+ estimatedEffort: 'low',
321
+ riskLevel: 'low',
322
+ prerequisites: ['transform_map']
323
+ },
324
+ web_service: {
325
+ description: 'SOAP web service for integration',
326
+ category: 'data_integration',
327
+ automatable: true,
328
+ mcpCoverage: true,
329
+ estimatedEffort: 'medium',
330
+ riskLevel: 'medium',
331
+ prerequisites: []
332
+ },
333
+ rest_message: {
334
+ description: 'REST message for API integration',
335
+ category: 'data_integration',
336
+ automatable: true,
337
+ mcpCoverage: true,
338
+ estimatedEffort: 'medium',
339
+ riskLevel: 'medium',
340
+ prerequisites: []
341
+ },
342
+ email_config: {
343
+ description: 'Email server configuration',
344
+ category: 'data_integration',
345
+ automatable: true,
346
+ mcpCoverage: true,
347
+ estimatedEffort: 'high',
348
+ riskLevel: 'high',
349
+ prerequisites: []
350
+ },
351
+ ldap_config: {
352
+ description: 'LDAP server configuration for user sync',
353
+ category: 'data_integration',
354
+ automatable: false,
355
+ mcpCoverage: false,
356
+ estimatedEffort: 'high',
357
+ riskLevel: 'high',
358
+ prerequisites: []
359
+ },
360
+ database_view: {
361
+ description: 'Database view for complex queries',
362
+ category: 'data_integration',
363
+ automatable: false,
364
+ mcpCoverage: false,
365
+ estimatedEffort: 'high',
366
+ riskLevel: 'high',
367
+ prerequisites: ['table']
368
+ },
369
+ database_index: {
370
+ description: 'Database index for performance optimization',
371
+ category: 'data_integration',
372
+ automatable: false,
373
+ mcpCoverage: false,
374
+ estimatedEffort: 'medium',
375
+ riskLevel: 'medium',
376
+ prerequisites: ['table']
377
+ },
378
+
379
+ // User Interface (Partial MCP Coverage)
380
+ ui_action: {
381
+ description: 'Custom UI actions and buttons',
382
+ category: 'user_interface',
383
+ automatable: true,
384
+ mcpCoverage: true,
385
+ estimatedEffort: 'low',
386
+ riskLevel: 'low',
387
+ prerequisites: ['table']
388
+ },
389
+ ui_policy: {
390
+ description: 'UI policies for dynamic form behavior',
391
+ category: 'user_interface',
392
+ automatable: true,
393
+ mcpCoverage: true,
394
+ estimatedEffort: 'medium',
395
+ riskLevel: 'low',
396
+ prerequisites: ['table']
397
+ },
398
+ ui_page: {
399
+ description: 'Custom UI pages and interfaces',
400
+ category: 'user_interface',
401
+ automatable: true,
402
+ mcpCoverage: true,
403
+ estimatedEffort: 'high',
404
+ riskLevel: 'medium',
405
+ prerequisites: []
406
+ },
407
+ ui_macro: {
408
+ description: 'Reusable UI components and macros',
409
+ category: 'user_interface',
410
+ automatable: false,
411
+ mcpCoverage: false,
412
+ estimatedEffort: 'medium',
413
+ riskLevel: 'low',
414
+ prerequisites: []
415
+ },
416
+ ui_script: {
417
+ description: 'UI scripts for enhanced functionality',
418
+ category: 'user_interface',
419
+ automatable: true,
420
+ mcpCoverage: true,
421
+ estimatedEffort: 'low',
422
+ riskLevel: 'low',
423
+ prerequisites: []
424
+ },
425
+ client_script: {
426
+ description: 'Client-side JavaScript for forms',
427
+ category: 'user_interface',
428
+ automatable: true,
429
+ mcpCoverage: true,
430
+ estimatedEffort: 'low',
431
+ riskLevel: 'low',
432
+ prerequisites: ['table']
433
+ },
434
+ css_include: {
435
+ description: 'Custom CSS styles and themes',
436
+ category: 'user_interface',
437
+ automatable: false,
438
+ mcpCoverage: false,
439
+ estimatedEffort: 'low',
440
+ riskLevel: 'low',
441
+ prerequisites: []
442
+ },
443
+ navigator_module: {
444
+ description: 'Application navigator menu items',
445
+ category: 'user_interface',
446
+ automatable: false,
447
+ mcpCoverage: false,
448
+ estimatedEffort: 'low',
449
+ riskLevel: 'low',
450
+ prerequisites: ['application']
451
+ },
452
+ homepage: {
453
+ description: 'Custom homepage and dashboards',
454
+ category: 'user_interface',
455
+ automatable: false,
456
+ mcpCoverage: false,
457
+ estimatedEffort: 'high',
458
+ riskLevel: 'medium',
459
+ prerequisites: ['widget']
460
+ },
461
+
462
+ // Process Automation (Partial MCP Coverage)
463
+ workflow: {
464
+ description: 'Legacy workflow for process automation',
465
+ category: 'process_automation',
466
+ automatable: true,
467
+ mcpCoverage: false,
468
+ estimatedEffort: 'high',
469
+ riskLevel: 'medium',
470
+ prerequisites: []
471
+ },
472
+ scheduled_job: {
473
+ description: 'Scheduled jobs for automation',
474
+ category: 'process_automation',
475
+ automatable: true,
476
+ mcpCoverage: true,
477
+ estimatedEffort: 'medium',
478
+ riskLevel: 'medium',
479
+ prerequisites: []
480
+ },
481
+ event_rule: {
482
+ description: 'Event rules for automatic actions',
483
+ category: 'process_automation',
484
+ automatable: true,
485
+ mcpCoverage: true,
486
+ estimatedEffort: 'medium',
487
+ riskLevel: 'medium',
488
+ prerequisites: []
489
+ },
490
+ notification: {
491
+ description: 'Email notifications and alerts',
492
+ category: 'process_automation',
493
+ automatable: true,
494
+ mcpCoverage: true,
495
+ estimatedEffort: 'low',
496
+ riskLevel: 'low',
497
+ prerequisites: ['email_template']
498
+ },
499
+ email_template: {
500
+ description: 'Email templates for notifications',
501
+ category: 'process_automation',
502
+ automatable: false,
503
+ mcpCoverage: false,
504
+ estimatedEffort: 'low',
505
+ riskLevel: 'low',
506
+ prerequisites: []
507
+ },
508
+ sla_definition: {
509
+ description: 'SLA definitions and tracking',
510
+ category: 'process_automation',
511
+ automatable: true,
512
+ mcpCoverage: true,
513
+ estimatedEffort: 'medium',
514
+ riskLevel: 'medium',
515
+ prerequisites: ['table']
516
+ },
517
+ escalation_rule: {
518
+ description: 'Escalation rules for SLA breaches',
519
+ category: 'process_automation',
520
+ automatable: true,
521
+ mcpCoverage: true,
522
+ estimatedEffort: 'medium',
523
+ riskLevel: 'medium',
524
+ prerequisites: ['sla_definition']
525
+ },
526
+ approval_rule: {
527
+ description: 'Approval rules and delegation',
528
+ category: 'process_automation',
529
+ automatable: false,
530
+ mcpCoverage: false,
531
+ estimatedEffort: 'medium',
532
+ riskLevel: 'medium',
533
+ prerequisites: []
534
+ },
535
+ state_flow: {
536
+ description: 'State flow for record transitions',
537
+ category: 'process_automation',
538
+ automatable: false,
539
+ mcpCoverage: false,
540
+ estimatedEffort: 'high',
541
+ riskLevel: 'high',
542
+ prerequisites: ['table']
543
+ },
544
+
545
+ // System Configuration (Major Gaps!)
546
+ dictionary_entry: {
547
+ description: 'Table field definitions and properties',
548
+ category: 'system_configuration',
549
+ automatable: false,
550
+ mcpCoverage: false,
551
+ estimatedEffort: 'low',
552
+ riskLevel: 'medium',
553
+ prerequisites: ['table']
554
+ },
555
+ choice_list: {
556
+ description: 'Choice lists for dropdown fields',
557
+ category: 'system_configuration',
558
+ automatable: false,
559
+ mcpCoverage: false,
560
+ estimatedEffort: 'low',
561
+ riskLevel: 'low',
562
+ prerequisites: ['dictionary_entry']
563
+ },
564
+ ui_formatter: {
565
+ description: 'Custom field formatters and displays',
566
+ category: 'system_configuration',
567
+ automatable: false,
568
+ mcpCoverage: false,
569
+ estimatedEffort: 'medium',
570
+ riskLevel: 'low',
571
+ prerequisites: []
572
+ },
573
+ display_value: {
574
+ description: 'Display value configurations',
575
+ category: 'system_configuration',
576
+ automatable: false,
577
+ mcpCoverage: false,
578
+ estimatedEffort: 'low',
579
+ riskLevel: 'low',
580
+ prerequisites: ['dictionary_entry']
581
+ },
582
+ reference_qualifier: {
583
+ description: 'Reference field qualifiers and filters',
584
+ category: 'system_configuration',
585
+ automatable: false,
586
+ mcpCoverage: false,
587
+ estimatedEffort: 'medium',
588
+ riskLevel: 'medium',
589
+ prerequisites: ['dictionary_entry']
590
+ },
591
+ data_lookup: {
592
+ description: 'Data lookup definitions and rules',
593
+ category: 'system_configuration',
594
+ automatable: false,
595
+ mcpCoverage: false,
596
+ estimatedEffort: 'medium',
597
+ riskLevel: 'low',
598
+ prerequisites: []
599
+ },
600
+ sys_property: {
601
+ description: 'System properties and configuration',
602
+ category: 'system_configuration',
603
+ automatable: false,
604
+ mcpCoverage: false,
605
+ estimatedEffort: 'low',
606
+ riskLevel: 'high',
607
+ prerequisites: []
608
+ },
609
+ system_setting: {
610
+ description: 'System settings and preferences',
611
+ category: 'system_configuration',
612
+ automatable: false,
613
+ mcpCoverage: false,
614
+ estimatedEffort: 'medium',
615
+ riskLevel: 'high',
616
+ prerequisites: []
617
+ },
618
+
619
+ // Reporting & Analytics (Partial MCP Coverage)
620
+ report: {
621
+ description: 'Reports and data _analysis',
622
+ category: 'reporting_analytics',
623
+ automatable: true,
624
+ mcpCoverage: true,
625
+ estimatedEffort: 'medium',
626
+ riskLevel: 'low',
627
+ prerequisites: ['table']
628
+ },
629
+ dashboard: {
630
+ description: 'Dashboards and data visualization',
631
+ category: 'reporting_analytics',
632
+ automatable: true,
633
+ mcpCoverage: true,
634
+ estimatedEffort: 'medium',
635
+ riskLevel: 'low',
636
+ prerequisites: ['report']
637
+ },
638
+ metric: {
639
+ description: 'Custom metrics and indicators',
640
+ category: 'reporting_analytics',
641
+ automatable: true,
642
+ mcpCoverage: true,
643
+ estimatedEffort: 'low',
644
+ riskLevel: 'low',
645
+ prerequisites: []
646
+ },
647
+ kpi: {
648
+ description: 'Key Performance Indicators',
649
+ category: 'reporting_analytics',
650
+ automatable: true,
651
+ mcpCoverage: true,
652
+ estimatedEffort: 'medium',
653
+ riskLevel: 'low',
654
+ prerequisites: ['metric']
655
+ },
656
+ scheduled_report: {
657
+ description: 'Scheduled report delivery',
658
+ category: 'reporting_analytics',
659
+ automatable: true,
660
+ mcpCoverage: true,
661
+ estimatedEffort: 'low',
662
+ riskLevel: 'low',
663
+ prerequisites: ['report']
664
+ },
665
+ data_source: {
666
+ description: 'Data sources for reporting',
667
+ category: 'reporting_analytics',
668
+ automatable: false,
669
+ mcpCoverage: false,
670
+ estimatedEffort: 'high',
671
+ riskLevel: 'medium',
672
+ prerequisites: []
673
+ },
674
+ gauge: {
675
+ description: 'Performance gauges and meters',
676
+ category: 'reporting_analytics',
677
+ automatable: false,
678
+ mcpCoverage: false,
679
+ estimatedEffort: 'medium',
680
+ riskLevel: 'low',
681
+ prerequisites: ['metric']
682
+ },
683
+ chart_configuration: {
684
+ description: 'Chart configuration and styling',
685
+ category: 'reporting_analytics',
686
+ automatable: false,
687
+ mcpCoverage: false,
688
+ estimatedEffort: 'low',
689
+ riskLevel: 'low',
690
+ prerequisites: ['dashboard']
691
+ },
692
+
693
+ // Mobile & Portal (Major Gaps!)
694
+ mobile_app_config: {
695
+ description: 'Mobile application configuration',
696
+ category: 'mobile_portal',
697
+ automatable: false,
698
+ mcpCoverage: false,
699
+ estimatedEffort: 'high',
700
+ riskLevel: 'high',
701
+ prerequisites: []
702
+ },
703
+ service_portal_config: {
704
+ description: 'Service Portal configuration',
705
+ category: 'mobile_portal',
706
+ automatable: false,
707
+ mcpCoverage: false,
708
+ estimatedEffort: 'high',
709
+ riskLevel: 'medium',
710
+ prerequisites: []
711
+ },
712
+ portal_widget: {
713
+ description: 'Service Portal widgets',
714
+ category: 'mobile_portal',
715
+ automatable: true,
716
+ mcpCoverage: true,
717
+ estimatedEffort: 'medium',
718
+ riskLevel: 'low',
719
+ prerequisites: ['service_portal_config']
720
+ },
721
+ portal_page: {
722
+ description: 'Service Portal pages',
723
+ category: 'mobile_portal',
724
+ automatable: false,
725
+ mcpCoverage: false,
726
+ estimatedEffort: 'medium',
727
+ riskLevel: 'low',
728
+ prerequisites: ['service_portal_config']
729
+ },
730
+ portal_theme: {
731
+ description: 'Service Portal themes and styling',
732
+ category: 'mobile_portal',
733
+ automatable: false,
734
+ mcpCoverage: false,
735
+ estimatedEffort: 'high',
736
+ riskLevel: 'low',
737
+ prerequisites: ['service_portal_config']
738
+ },
739
+ mobile_ui_policy: {
740
+ description: 'Mobile-specific UI policies',
741
+ category: 'mobile_portal',
742
+ automatable: false,
743
+ mcpCoverage: false,
744
+ estimatedEffort: 'medium',
745
+ riskLevel: 'medium',
746
+ prerequisites: ['mobile_app_config']
747
+ },
748
+
749
+ // Monitoring & Operations (Major Gaps!)
750
+ probe: {
751
+ description: 'Discovery probes for monitoring',
752
+ category: 'monitoring_operations',
753
+ automatable: false,
754
+ mcpCoverage: false,
755
+ estimatedEffort: 'high',
756
+ riskLevel: 'high',
757
+ prerequisites: []
758
+ },
759
+ sensor: {
760
+ description: 'Discovery sensors and patterns',
761
+ category: 'monitoring_operations',
762
+ automatable: false,
763
+ mcpCoverage: false,
764
+ estimatedEffort: 'high',
765
+ riskLevel: 'high',
766
+ prerequisites: []
767
+ },
768
+ discovery_rule: {
769
+ description: 'Discovery rules and classification',
770
+ category: 'monitoring_operations',
771
+ automatable: false,
772
+ mcpCoverage: false,
773
+ estimatedEffort: 'high',
774
+ riskLevel: 'high',
775
+ prerequisites: []
776
+ },
777
+ cmdb_identification: {
778
+ description: 'CMDB identification rules',
779
+ category: 'monitoring_operations',
780
+ automatable: false,
781
+ mcpCoverage: false,
782
+ estimatedEffort: 'high',
783
+ riskLevel: 'high',
784
+ prerequisites: []
785
+ },
786
+ orchestration_workflow: {
787
+ description: 'Orchestration workflows',
788
+ category: 'monitoring_operations',
789
+ automatable: false,
790
+ mcpCoverage: false,
791
+ estimatedEffort: 'high',
792
+ riskLevel: 'high',
793
+ prerequisites: []
794
+ },
795
+ runbook: {
796
+ description: 'Automated runbooks',
797
+ category: 'monitoring_operations',
798
+ automatable: false,
799
+ mcpCoverage: false,
800
+ estimatedEffort: 'high',
801
+ riskLevel: 'medium',
802
+ prerequisites: []
803
+ },
804
+ knowledge_article: {
805
+ description: 'Knowledge base articles',
806
+ category: 'monitoring_operations',
807
+ automatable: false,
808
+ mcpCoverage: false,
809
+ estimatedEffort: 'medium',
810
+ riskLevel: 'low',
811
+ prerequisites: []
812
+ }
813
+ };
814
+
815
+ /**
816
+ * Analyze an objective and identify all required ServiceNow components
817
+ */
818
+ static analyzeObjective(objective: string): ObjectiveAnalysis {
819
+ logger.info(`🔍 Analyzing objective: ${objective}`);
820
+
821
+ const requirements = this.identifyRequirements(objective);
822
+ const mcpCoveredCount = requirements.filter(r => r.mcpCoverage).length;
823
+ const gapCount = requirements.length - mcpCoveredCount;
824
+ const mcpCoveragePercentage = Math.round((mcpCoveredCount / requirements.length) * 100);
825
+
826
+ const categories = [...new Set(requirements.map(r => r.category))];
827
+ const estimatedComplexity = this.calculateComplexity(requirements);
828
+ const riskAssessment = this.assessRisk(requirements);
829
+ const criticalPath = this.calculateCriticalPath(requirements);
830
+ const estimatedDuration = this.estimateDuration(requirements);
831
+
832
+ const _analysis: ObjectiveAnalysis = {
833
+ objective,
834
+ requirements,
835
+ totalRequirements: requirements.length,
836
+ mcpCoveredCount,
837
+ gapCount,
838
+ mcpCoveragePercentage,
839
+ estimatedComplexity,
840
+ riskAssessment,
841
+ categories,
842
+ criticalPath,
843
+ estimatedDuration
844
+ };
845
+
846
+ logger.info(`📊 Analysis complete: ${requirements.length} requirements, ${gapCount} gaps (${100 - mcpCoveragePercentage}% coverage gap)`);
847
+
848
+ return _analysis;
849
+ }
850
+
851
+ private static identifyRequirements(objective: string): ServiceNowRequirement[] {
852
+ const requirements: ServiceNowRequirement[] = [];
853
+ const objectiveLower = objective.toLowerCase();
854
+
855
+ // Check against all pattern definitions
856
+ for (const [patternName, pattern] of Object.entries(this.OBJECTIVE_PATTERNS)) {
857
+ const matchScore = pattern.keywords.reduce((score, keyword) => {
858
+ return objectiveLower.includes(keyword.toLowerCase()) ? score + 1 : score;
859
+ }, 0);
860
+
861
+ if (matchScore > 0) {
862
+ logger.info(`🎯 Matched pattern: ${patternName} (score: ${matchScore})`);
863
+
864
+ // Add pattern requirements
865
+ for (const reqType of pattern.requirements) {
866
+ if (!requirements.find(r => r.type === reqType)) {
867
+ const requirement = this.createRequirement(reqType as RequirementType, objective);
868
+ if (requirement) {
869
+ requirements.push(requirement);
870
+ }
871
+ }
872
+ }
873
+ }
874
+ }
875
+
876
+ // Add core requirements based on direct keyword matching
877
+ this.addCoreRequirements(objectiveLower, requirements);
878
+
879
+ // Add implied requirements based on dependencies
880
+ this.addImpliedRequirements(requirements);
881
+
882
+ // Sort by priority and dependencies
883
+ return this.sortRequirements(requirements);
884
+ }
885
+
886
+ private static createRequirement(
887
+ type: RequirementType,
888
+ objective: string
889
+ ): ServiceNowRequirement | null {
890
+ const definition = this.REQUIREMENT_DEFINITIONS[type];
891
+ if (!definition) return null;
892
+
893
+ return {
894
+ id: `req_${type}_${Date.now()}`,
895
+ type,
896
+ name: this.generateRequirementName(type, objective),
897
+ description: definition.description,
898
+ priority: this.calculatePriority(type, objective),
899
+ dependencies: definition.prerequisites,
900
+ estimatedEffort: definition.estimatedEffort,
901
+ automatable: definition.automatable,
902
+ mcpCoverage: definition.mcpCoverage,
903
+ category: definition.category,
904
+ specificSteps: this.generateSpecificSteps(type, objective),
905
+ validationCriteria: this.generateValidationCriteria(type),
906
+ riskLevel: definition.riskLevel
907
+ };
908
+ }
909
+
910
+ private static addCoreRequirements(objective: string, requirements: ServiceNowRequirement[]): void {
911
+ // Widget keywords
912
+ if (/widget|dashboard|portal|chart|display/.test(objective)) {
913
+ this.addRequirementIfMissing('widget', objective, requirements);
914
+ }
915
+
916
+ // Flow keywords
917
+ if (/flow|workflow|process|approval|automation/.test(objective)) {
918
+ this.addRequirementIfMissing('flow', objective, requirements);
919
+ }
920
+
921
+ // Table keywords
922
+ if (/table|record|data|store|database/.test(objective)) {
923
+ this.addRequirementIfMissing('table', objective, requirements);
924
+ }
925
+
926
+ // Security keywords
927
+ if (/security|permission|access|role|auth/.test(objective)) {
928
+ this.addRequirementIfMissing('user_role', objective, requirements);
929
+ this.addRequirementIfMissing('acl_rule', objective, requirements);
930
+ }
931
+
932
+ // Email keywords
933
+ if (/email|notification|alert|notify/.test(objective)) {
934
+ this.addRequirementIfMissing('email_template', objective, requirements);
935
+ this.addRequirementIfMissing('notification', objective, requirements);
936
+ }
937
+ }
938
+
939
+ private static addRequirementIfMissing(
940
+ type: RequirementType,
941
+ objective: string,
942
+ requirements: ServiceNowRequirement[]
943
+ ): void {
944
+ if (!requirements.find(r => r.type === type)) {
945
+ const requirement = this.createRequirement(type, objective);
946
+ if (requirement) {
947
+ requirements.push(requirement);
948
+ }
949
+ }
950
+ }
951
+
952
+ private static addImpliedRequirements(requirements: ServiceNowRequirement[]): void {
953
+ const typesPresent = new Set(requirements.map(r => r.type));
954
+
955
+ // If we have flows, we probably need notifications
956
+ if (typesPresent.has('flow') && !typesPresent.has('notification')) {
957
+ const notification = this.createRequirement('notification', 'flow notification');
958
+ if (notification) requirements.push(notification);
959
+ }
960
+
961
+ // If we have tables, we probably need some basic security
962
+ if (typesPresent.has('table') && !typesPresent.has('acl_rule')) {
963
+ const acl = this.createRequirement('acl_rule', 'table security');
964
+ if (acl) requirements.push(acl);
965
+ }
966
+
967
+ // If we have widgets, we might need portal configuration
968
+ if (typesPresent.has('widget') && !typesPresent.has('service_portal_config')) {
969
+ const portalConfig = this.createRequirement('service_portal_config', 'widget portal setup');
970
+ if (portalConfig) requirements.push(portalConfig);
971
+ }
972
+ }
973
+
974
+ private static generateRequirementName(type: RequirementType, objective: string): string {
975
+ const words = objective.toLowerCase().replace(/[^a-z\s]/g, '').split(/\s+/);
976
+ const relevantWords = words.filter(w => w.length > 3).slice(0, 3);
977
+ const prefix = relevantWords.join(' ') || 'custom';
978
+
979
+ return `${prefix} ${type.replace(/_/g, ' ')}`;
980
+ }
981
+
982
+ private static calculatePriority(type: RequirementType, objective: string): 'high' | 'medium' | 'low' {
983
+ const definition = this.REQUIREMENT_DEFINITIONS[type];
984
+
985
+ // High priority for core functionality and security
986
+ if (['table', 'acl_rule', 'user_role', 'security_policy'].includes(type)) {
987
+ return 'high';
988
+ }
989
+
990
+ // High priority if mentioned directly in objective
991
+ if (objective.toLowerCase().includes(type.replace(/_/g, ' '))) {
992
+ return 'high';
993
+ }
994
+
995
+ // Medium priority for automation and integration
996
+ if (['flow', 'workflow', 'business_rule'].includes(type)) {
997
+ return 'medium';
998
+ }
999
+
1000
+ return definition.riskLevel === 'high' ? 'medium' : 'low';
1001
+ }
1002
+
1003
+ private static generateSpecificSteps(type: RequirementType, objective: string): string[] {
1004
+ // Generate specific implementation steps based on requirement type
1005
+ const steps: string[] = [];
1006
+
1007
+ switch (type) {
1008
+ case 'email_template':
1009
+ steps.push(
1010
+ 'Navigate to System Notification > Email > Templates',
1011
+ 'Create new email template with subject and body',
1012
+ 'Configure template variables and placeholders',
1013
+ 'Test template with sample data'
1014
+ );
1015
+ break;
1016
+
1017
+ case 'user_role':
1018
+ steps.push(
1019
+ 'Navigate to User Administration > Roles',
1020
+ 'Create new role with appropriate name',
1021
+ 'Add necessary permissions and ACLs',
1022
+ 'Assign role to relevant users or groups'
1023
+ );
1024
+ break;
1025
+
1026
+ case 'navigator_module':
1027
+ steps.push(
1028
+ 'Navigate to System Definition > Application Menus',
1029
+ 'Create new module under appropriate application',
1030
+ 'Configure table, view, and filter settings',
1031
+ 'Set proper role requirements for access'
1032
+ );
1033
+ break;
1034
+
1035
+ default:
1036
+ steps.push(`Configure ${type.replace(/_/g, ' ')} according to requirements`);
1037
+ }
1038
+
1039
+ return steps;
1040
+ }
1041
+
1042
+ private static generateValidationCriteria(type: RequirementType): string[] {
1043
+ const criteria: string[] = [];
1044
+
1045
+ switch (type) {
1046
+ case 'email_template':
1047
+ criteria.push(
1048
+ 'Template renders correctly with test data',
1049
+ 'All variables are properly substituted',
1050
+ 'Email formatting is valid HTML'
1051
+ );
1052
+ break;
1053
+
1054
+ case 'user_role':
1055
+ criteria.push(
1056
+ 'Role has minimum required permissions',
1057
+ 'Role can be assigned to users',
1058
+ 'Access controls work as expected'
1059
+ );
1060
+ break;
1061
+
1062
+ default:
1063
+ criteria.push(`${type.replace(/_/g, ' ')} functions as intended`);
1064
+ }
1065
+
1066
+ return criteria;
1067
+ }
1068
+
1069
+ private static sortRequirements(requirements: ServiceNowRequirement[]): ServiceNowRequirement[] {
1070
+ // Sort by: priority (high first), then by dependency order, then by MCP coverage
1071
+ return requirements.sort((a, b) => {
1072
+ // Priority sorting
1073
+ const priorityOrder = { high: 3, medium: 2, low: 1 };
1074
+ if (priorityOrder[a.priority] !== priorityOrder[b.priority]) {
1075
+ return priorityOrder[b.priority] - priorityOrder[a.priority];
1076
+ }
1077
+
1078
+ // MCP coverage (covered items first for easier handling)
1079
+ if (a.mcpCoverage !== b.mcpCoverage) {
1080
+ return a.mcpCoverage ? -1 : 1;
1081
+ }
1082
+
1083
+ // Risk level (low risk first)
1084
+ const riskOrder = { low: 1, medium: 2, high: 3 };
1085
+ return riskOrder[a.riskLevel] - riskOrder[b.riskLevel];
1086
+ });
1087
+ }
1088
+
1089
+ private static calculateComplexity(requirements: ServiceNowRequirement[]): 'low' | 'medium' | 'high' | 'enterprise' {
1090
+ const totalCount = requirements.length;
1091
+ const highEffortCount = requirements.filter(r => r.estimatedEffort === 'high').length;
1092
+ const gapCount = requirements.filter(r => !r.mcpCoverage).length;
1093
+ const categories = new Set(requirements.map(r => r.category)).size;
1094
+
1095
+ if (totalCount > 15 || highEffortCount > 5 || categories > 5) {
1096
+ return 'enterprise';
1097
+ } else if (totalCount > 10 || gapCount > 5 || categories > 3) {
1098
+ return 'high';
1099
+ } else if (totalCount > 5 || gapCount > 2) {
1100
+ return 'medium';
1101
+ } else {
1102
+ return 'low';
1103
+ }
1104
+ }
1105
+
1106
+ private static assessRisk(requirements: ServiceNowRequirement[]): 'low' | 'medium' | 'high' {
1107
+ const highRiskCount = requirements.filter(r => r.riskLevel === 'high').length;
1108
+ const securityCount = requirements.filter(r => r.category === 'security_compliance').length;
1109
+ const nonAutomatableCount = requirements.filter(r => !r.automatable).length;
1110
+
1111
+ if (highRiskCount > 3 || securityCount > 2 || nonAutomatableCount > 5) {
1112
+ return 'high';
1113
+ } else if (highRiskCount > 1 || securityCount > 0 || nonAutomatableCount > 2) {
1114
+ return 'medium';
1115
+ } else {
1116
+ return 'low';
1117
+ }
1118
+ }
1119
+
1120
+ private static calculateCriticalPath(requirements: ServiceNowRequirement[]): string[] {
1121
+ // Find the sequence of high-priority requirements that are dependencies for others
1122
+ const highPriorityReqs = requirements.filter(r => r.priority === 'high');
1123
+ const path = highPriorityReqs
1124
+ .filter(r => !r.mcpCoverage) // Focus on gaps
1125
+ .slice(0, 5) // Top 5 critical items
1126
+ .map(r => r.name);
1127
+
1128
+ return path;
1129
+ }
1130
+
1131
+ private static estimateDuration(requirements: ServiceNowRequirement[]): string {
1132
+ const effortHours = requirements.reduce((total, req) => {
1133
+ const baseHours = req.estimatedEffort === 'high' ? 8 :
1134
+ req.estimatedEffort === 'medium' ? 4 : 2;
1135
+ // Add complexity for non-MCP items
1136
+ const complexity = req.mcpCoverage ? 1 : 2;
1137
+ return total + (baseHours * complexity);
1138
+ }, 0);
1139
+
1140
+ if (effortHours > 80) {
1141
+ return `${Math.ceil(effortHours / 40)} weeks`;
1142
+ } else if (effortHours > 16) {
1143
+ return `${Math.ceil(effortHours / 8)} days`;
1144
+ } else {
1145
+ return `${effortHours} hours`;
1146
+ }
1147
+ }
1148
+ }