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,630 @@
1
+ /**
2
+ * Natural Language to ServiceNow Action Type Mapper
3
+ * Intelligent mapping from natural language descriptions to ServiceNow action types
4
+ */
5
+
6
+ // Flow API Discovery removed in v1.4.0
7
+ import { Logger } from '../utils/logger.js';
8
+
9
+ // Flow types removed in v1.4.0
10
+ export interface NLPMappingResult {
11
+ action_type: string; // was FlowActionType
12
+ confidence: number;
13
+ reasoning: string;
14
+ suggested_inputs: Record<string, any>;
15
+ alternative_actions: string[]; // was FlowActionType[]
16
+ }
17
+
18
+ export interface ActionIntent {
19
+ verb: string;
20
+ object: string;
21
+ context: string[];
22
+ modifiers: string[];
23
+ conditions: string[];
24
+ }
25
+
26
+ export interface MappingContext {
27
+ previous_actions: string[];
28
+ target_table: string;
29
+ flow_purpose: string;
30
+ available_data: Record<string, any>;
31
+ }
32
+
33
+ export class NaturalLanguageMapper {
34
+ // private discovery: FlowAPIDiscovery; // removed in v1.4.0
35
+ private logger: Logger;
36
+ private verbMappings: Map<string, string[]> = new Map();
37
+ private objectMappings: Map<string, string[]> = new Map();
38
+ private contextMappings: Map<string, string[]> = new Map();
39
+
40
+ constructor() { // discovery: FlowAPIDiscovery removed in v1.4.0
41
+ // this.discovery = discovery; // removed in v1.4.0
42
+ this.logger = new Logger('NaturalLanguageMapper');
43
+ this.initializeMappings();
44
+ }
45
+
46
+ /**
47
+ * Map natural language description to ServiceNow action type
48
+ */
49
+ async mapToActionType(description: string, context?: MappingContext): Promise<NLPMappingResult> {
50
+ this.logger.info('Mapping natural language to action type', { description });
51
+
52
+ // 1. Parse the natural language description
53
+ const intent = this.parseIntent(description);
54
+
55
+ // 2. Generate search terms
56
+ const searchTerms = this.generateSearchTerms(intent);
57
+
58
+ // 3. Search for matching action types
59
+ const searchResults = await this.searchActionTypes(searchTerms);
60
+
61
+ // 4. Score and rank results
62
+ const rankedResults = this.rankResults(searchResults, intent, context);
63
+
64
+ // 5. Generate suggested inputs
65
+ const suggestedInputs = await this.generateSuggestedInputs(
66
+ rankedResults.best_match,
67
+ intent,
68
+ context
69
+ );
70
+
71
+ return {
72
+ action_type: rankedResults.best_match,
73
+ confidence: rankedResults.confidence,
74
+ reasoning: rankedResults.reasoning,
75
+ suggested_inputs: suggestedInputs,
76
+ alternative_actions: rankedResults.alternatives
77
+ };
78
+ }
79
+
80
+ /**
81
+ * Parse natural language description into structured intent
82
+ */
83
+ private parseIntent(description: string): ActionIntent {
84
+ const lowerDesc = description.toLowerCase();
85
+ const words = lowerDesc.split(/\s+/);
86
+
87
+ // Extract verb (action)
88
+ const verb = this.extractVerb(words);
89
+
90
+ // Extract object (what the action is performed on)
91
+ const object = this.extractObject(words);
92
+
93
+ // Extract context (additional information)
94
+ const context = this.extractContext(words);
95
+
96
+ // Extract modifiers (how the action is performed)
97
+ const modifiers = this.extractModifiers(words);
98
+
99
+ // Extract conditions (when the action is performed)
100
+ const conditions = this.extractConditions(words);
101
+
102
+ return {
103
+ verb,
104
+ object,
105
+ context,
106
+ modifiers,
107
+ conditions
108
+ };
109
+ }
110
+
111
+ /**
112
+ * Extract the primary verb from the description
113
+ */
114
+ private extractVerb(words: string[]): string {
115
+ const actionVerbs = [
116
+ 'send', 'create', 'update', 'delete', 'notify', 'email', 'call', 'execute',
117
+ 'run', 'start', 'stop', 'wait', 'delay', 'check', 'validate', 'approve',
118
+ 'reject', 'assign', 'escalate', 'close', 'open', 'set', 'get', 'fetch',
119
+ 'save', 'load', 'transform', 'convert', 'parse', 'format', 'log', 'audit',
120
+ 'track', 'monitor', 'alert', 'trigger', 'schedule', 'cancel', 'retry'
121
+ ];
122
+
123
+ for (const word of words) {
124
+ if (actionVerbs.includes(word)) {
125
+ return word;
126
+ }
127
+ }
128
+
129
+ // If no direct verb found, try to infer from context
130
+ if (words.includes('notification') || words.includes('message')) {
131
+ return 'send';
132
+ }
133
+ if (words.includes('record') || words.includes('entry')) {
134
+ return 'create';
135
+ }
136
+ if (words.includes('field') || words.includes('value')) {
137
+ return 'update';
138
+ }
139
+
140
+ return 'execute'; // Default fallback
141
+ }
142
+
143
+ /**
144
+ * Extract the object being acted upon
145
+ */
146
+ private extractObject(words: string[]): string {
147
+ const objectNouns = [
148
+ 'email', 'notification', 'message', 'record', 'field', 'value', 'task',
149
+ 'ticket', 'incident', 'request', 'approval', 'user', 'group', 'table',
150
+ 'script', 'workflow', 'process', 'data', 'file', 'document', 'report',
151
+ 'log', 'audit', 'event', 'alert', 'condition', 'rule', 'policy'
152
+ ];
153
+
154
+ for (const word of words) {
155
+ if (objectNouns.includes(word)) {
156
+ return word;
157
+ }
158
+ }
159
+
160
+ return 'record'; // Default fallback
161
+ }
162
+
163
+ /**
164
+ * Extract context information
165
+ */
166
+ private extractContext(words: string[]): string[] {
167
+ const contextWords = [
168
+ 'manager', 'admin', 'user', 'requester', 'approver', 'assignee',
169
+ 'high', 'medium', 'low', 'critical', 'urgent', 'normal',
170
+ 'active', 'inactive', 'pending', 'completed', 'cancelled',
171
+ 'business', 'technical', 'operational', 'security', 'compliance'
172
+ ];
173
+
174
+ return words.filter(word => contextWords.includes(word));
175
+ }
176
+
177
+ /**
178
+ * Extract modifiers (how the action is performed)
179
+ */
180
+ private extractModifiers(words: string[]): string[] {
181
+ const modifiers = [
182
+ 'automatically', 'manually', 'immediately', 'delayed', 'scheduled',
183
+ 'conditionally', 'recursively', 'asynchronously', 'synchronously',
184
+ 'securely', 'encrypted', 'logged', 'audited', 'tracked'
185
+ ];
186
+
187
+ return words.filter(word => modifiers.includes(word));
188
+ }
189
+
190
+ /**
191
+ * Extract conditions (when the action is performed)
192
+ */
193
+ private extractConditions(words: string[]): string[] {
194
+ const conditions = [];
195
+ const conditionMarkers = ['when', 'if', 'unless', 'after', 'before', 'during', 'while'];
196
+
197
+ for (let i = 0; i < words.length; i++) {
198
+ if (conditionMarkers.includes(words[i])) {
199
+ // Extract the condition phrase
200
+ const conditionStart = i + 1;
201
+ const conditionEnd = words.findIndex((word, index) =>
202
+ index > conditionStart && ['then', 'and', 'or', 'but'].includes(word)
203
+ );
204
+
205
+ const condition = words.slice(conditionStart, conditionEnd > -1 ? conditionEnd : words.length).join(' ');
206
+ if (condition) {
207
+ conditions.push(condition);
208
+ }
209
+ }
210
+ }
211
+
212
+ return conditions;
213
+ }
214
+
215
+ /**
216
+ * Generate search terms for action type discovery
217
+ */
218
+ private generateSearchTerms(intent: ActionIntent): string[] {
219
+ const searchTerms: string[] = [];
220
+
221
+ // Primary search term: verb + object
222
+ searchTerms.push(`${intent.verb} ${intent.object}`);
223
+
224
+ // Add verb mappings
225
+ const verbMappings = this.verbMappings.get(intent.verb) || [];
226
+ verbMappings.forEach(mapping => {
227
+ searchTerms.push(mapping);
228
+ searchTerms.push(`${mapping} ${intent.object}`);
229
+ });
230
+
231
+ // Add object mappings
232
+ const objectMappings = this.objectMappings.get(intent.object) || [];
233
+ objectMappings.forEach(mapping => {
234
+ searchTerms.push(`${intent.verb} ${mapping}`);
235
+ });
236
+
237
+ // Add context-based search terms
238
+ intent.context.forEach(ctx => {
239
+ const contextMappings = this.contextMappings.get(ctx) || [];
240
+ contextMappings.forEach(mapping => {
241
+ searchTerms.push(mapping);
242
+ });
243
+ });
244
+
245
+ // Add modifier-based search terms
246
+ intent.modifiers.forEach(modifier => {
247
+ if (modifier === 'automatically') {
248
+ searchTerms.push('automated');
249
+ } else if (modifier === 'scheduled') {
250
+ searchTerms.push('timer', 'schedule');
251
+ } else if (modifier === 'conditionally') {
252
+ searchTerms.push('condition', 'if');
253
+ }
254
+ });
255
+
256
+ return [...new Set(searchTerms)]; // Remove duplicates
257
+ }
258
+
259
+ /**
260
+ * Search for action types using multiple search terms
261
+ */
262
+ private async searchActionTypes(searchTerms: string[]): Promise<any[]> {
263
+ const allResults: any[] = [];
264
+
265
+ for (const term of searchTerms) {
266
+ try {
267
+ // Flow discovery removed in v1.4.0 - using fallback logic
268
+ const result = { exact_matches: [], partial_matches: [], suggested_matches: [] };
269
+ allResults.push(result);
270
+ } catch (error) {
271
+ this.logger.warn(`Search failed for term: ${term}`, error);
272
+ }
273
+ }
274
+
275
+ return allResults;
276
+ }
277
+
278
+ /**
279
+ * Rank and score search results
280
+ */
281
+ private rankResults(
282
+ searchResults: any[],
283
+ intent: ActionIntent,
284
+ context?: MappingContext
285
+ ): {
286
+ best_match: string;
287
+ confidence: number;
288
+ reasoning: string;
289
+ alternatives: string[];
290
+ } {
291
+ const actionScores = new Map<string, number>();
292
+ const actionReasons = new Map<string, string[]>();
293
+ const allActions = new Set<string>();
294
+
295
+ // Score actions from all search results
296
+ for (const result of searchResults) {
297
+ // Score exact matches highest
298
+ result.exact_matches.forEach(action => {
299
+ this.addScore(actionScores, action.sys_id, 1.0);
300
+ this.addReason(actionReasons, action.sys_id, 'Exact match');
301
+ allActions.add(action);
302
+ });
303
+
304
+ // Score partial matches medium
305
+ result.partial_matches.forEach(action => {
306
+ this.addScore(actionScores, action.sys_id, 0.7);
307
+ this.addReason(actionReasons, action.sys_id, 'Partial match');
308
+ allActions.add(action);
309
+ });
310
+
311
+ // Score semantic matches lower
312
+ result.semantic_matches.forEach(action => {
313
+ this.addScore(actionScores, action.sys_id, 0.4);
314
+ this.addReason(actionReasons, action.sys_id, 'Semantic match');
315
+ allActions.add(action);
316
+ });
317
+ }
318
+
319
+ // Apply context-based scoring
320
+ if (context) {
321
+ for (const action of allActions) {
322
+ const contextScore = this.scoreByContext(action, context);
323
+ this.addScore(actionScores, action, contextScore);
324
+ if (contextScore > 0) {
325
+ this.addReason(actionReasons, action, 'Context match');
326
+ }
327
+ }
328
+ }
329
+
330
+ // Find best match
331
+ const sortedActions = Array.from(allActions).sort((a, b) => {
332
+ const scoreA = actionScores.get(a) || 0;
333
+ const scoreB = actionScores.get(b) || 0;
334
+ return scoreB - scoreA;
335
+ });
336
+
337
+ const bestMatch = sortedActions[0];
338
+ const bestMatchId = typeof bestMatch === 'string' ? bestMatch : (bestMatch as any)?.sys_id || bestMatch;
339
+ const confidence = actionScores.get(bestMatchId) || 0;
340
+ const reasoning = actionReasons.get(bestMatchId)?.join(', ') || 'No specific reasoning';
341
+ const alternatives = sortedActions.slice(1, 4); // Top 3 alternatives
342
+
343
+ return {
344
+ best_match: bestMatch,
345
+ confidence: Math.min(confidence, 1.0), // Cap at 1.0
346
+ reasoning,
347
+ alternatives
348
+ };
349
+ }
350
+
351
+ /**
352
+ * Generate suggested inputs for an action type
353
+ */
354
+ private async generateSuggestedInputs(
355
+ actionType: string,
356
+ intent: ActionIntent,
357
+ context?: MappingContext
358
+ ): Promise<Record<string, any>> {
359
+ const suggestedInputs: Record<string, any> = {};
360
+
361
+ // Get action type details to understand inputs
362
+ // Flow discovery removed in v1.4.0 - using fallback
363
+ const actionDetails = null;
364
+ if (!actionDetails) {
365
+ return suggestedInputs;
366
+ }
367
+
368
+ // Generate inputs based on action type and intent
369
+ for (const input of actionDetails.inputs) {
370
+ let suggestedValue: any = input.default_value;
371
+
372
+ // Generate contextual values based on input name and intent
373
+ switch (input.name.toLowerCase()) {
374
+ case 'to':
375
+ case 'recipient':
376
+ case 'email_to':
377
+ suggestedValue = this.suggestRecipient(intent, context);
378
+ break;
379
+
380
+ case 'subject':
381
+ case 'email_subject':
382
+ suggestedValue = this.suggestSubject(intent, context);
383
+ break;
384
+
385
+ case 'message':
386
+ case 'body':
387
+ case 'email_body':
388
+ suggestedValue = this.suggestMessage(intent, context);
389
+ break;
390
+
391
+ case 'table':
392
+ case 'target_table':
393
+ suggestedValue = context?.target_table || 'incident';
394
+ break;
395
+
396
+ case 'field':
397
+ case 'field_name':
398
+ suggestedValue = this.suggestField(intent, context);
399
+ break;
400
+
401
+ case 'value':
402
+ case 'field_value':
403
+ suggestedValue = this.suggestValue(intent, context);
404
+ break;
405
+
406
+ case 'condition':
407
+ suggestedValue = this.suggestCondition(intent, context);
408
+ break;
409
+
410
+ case 'duration':
411
+ case 'delay':
412
+ suggestedValue = this.suggestDuration(intent);
413
+ break;
414
+
415
+ case 'script':
416
+ suggestedValue = this.suggestScript(intent, context);
417
+ break;
418
+ }
419
+
420
+ if (suggestedValue !== undefined) {
421
+ suggestedInputs[input.name] = suggestedValue;
422
+ }
423
+ }
424
+
425
+ return suggestedInputs;
426
+ }
427
+
428
+ /**
429
+ * Suggest recipient based on intent
430
+ */
431
+ private suggestRecipient(intent: ActionIntent, context?: MappingContext): string {
432
+ if (intent.context.includes('manager')) {
433
+ return '${trigger.record.assigned_to.manager.email}';
434
+ }
435
+ if (intent.context.includes('admin')) {
436
+ return '${trigger.record.assignment_group.manager.email}';
437
+ }
438
+ if (intent.context.includes('requester')) {
439
+ return '${trigger.record.requested_for.email}';
440
+ }
441
+
442
+ return '${trigger.record.assigned_to.email}';
443
+ }
444
+
445
+ /**
446
+ * Suggest subject based on intent
447
+ */
448
+ private suggestSubject(intent: ActionIntent, context?: MappingContext): string {
449
+ const action = intent.verb.charAt(0).toUpperCase() + intent.verb.slice(1);
450
+ const object = intent.object.charAt(0).toUpperCase() + intent.object.slice(1);
451
+
452
+ return `${action} ${object}: \${trigger.record.number}`;
453
+ }
454
+
455
+ /**
456
+ * Suggest message based on intent
457
+ */
458
+ private suggestMessage(intent: ActionIntent, context?: MappingContext): string {
459
+ const templates = {
460
+ 'send notification': 'A notification has been triggered for ${trigger.record.number}.',
461
+ 'send email': 'Please review ${trigger.record.number}: ${trigger.record.short_description}',
462
+ 'create task': 'A new task has been created: ${trigger.record.short_description}',
463
+ 'update field': 'Field ${field} has been updated to ${value}',
464
+ 'approve request': 'Your approval is required for ${trigger.record.number}'
465
+ };
466
+
467
+ const key = `${intent.verb} ${intent.object}`;
468
+ return templates[key] || `Flow action executed: ${key}`;
469
+ }
470
+
471
+ /**
472
+ * Suggest field based on intent
473
+ */
474
+ private suggestField(intent: ActionIntent, context?: MappingContext): string {
475
+ if (intent.context.includes('high') || intent.context.includes('critical')) {
476
+ return 'priority';
477
+ }
478
+ if (intent.context.includes('active') || intent.context.includes('inactive')) {
479
+ return 'active';
480
+ }
481
+ if (intent.context.includes('pending') || intent.context.includes('completed')) {
482
+ return 'state';
483
+ }
484
+
485
+ return 'state';
486
+ }
487
+
488
+ /**
489
+ * Suggest value based on intent
490
+ */
491
+ private suggestValue(intent: ActionIntent, context?: MappingContext): string {
492
+ if (intent.context.includes('high')) {
493
+ return '1';
494
+ }
495
+ if (intent.context.includes('medium')) {
496
+ return '2';
497
+ }
498
+ if (intent.context.includes('low')) {
499
+ return '3';
500
+ }
501
+ if (intent.context.includes('active')) {
502
+ return 'true';
503
+ }
504
+ if (intent.context.includes('inactive')) {
505
+ return 'false';
506
+ }
507
+
508
+ return '${trigger.record.value}';
509
+ }
510
+
511
+ /**
512
+ * Suggest condition based on intent
513
+ */
514
+ private suggestCondition(intent: ActionIntent, context?: MappingContext): string {
515
+ if (intent.conditions.length > 0) {
516
+ return intent.conditions[0];
517
+ }
518
+
519
+ return 'state=1';
520
+ }
521
+
522
+ /**
523
+ * Suggest duration based on intent
524
+ */
525
+ private suggestDuration(intent: ActionIntent): number {
526
+ if (intent.modifiers.includes('immediately')) {
527
+ return 0;
528
+ }
529
+ if (intent.context.includes('minutes')) {
530
+ return 300; // 5 minutes
531
+ }
532
+ if (intent.context.includes('hours')) {
533
+ return 3600; // 1 hour
534
+ }
535
+ if (intent.context.includes('days')) {
536
+ return 86400; // 1 day
537
+ }
538
+
539
+ return 300; // Default 5 minutes
540
+ }
541
+
542
+ /**
543
+ * Suggest script based on intent
544
+ */
545
+ private suggestScript(intent: ActionIntent, context?: MappingContext): string {
546
+ const templates = {
547
+ 'log': 'gs.log("Flow action executed: ${trigger.record.number}");',
548
+ 'audit': 'gs.audit("Flow action", "${trigger.record.number}");',
549
+ 'validate': 'if (current.isValid()) { gs.log("Valid"); } else { gs.log("Invalid"); }',
550
+ 'calculate': 'var result = current.field1 + current.field2; current.result = result;'
551
+ };
552
+
553
+ return templates[intent.verb] || '// Custom script for ${trigger.record.number}';
554
+ }
555
+
556
+ /**
557
+ * Add score to an action
558
+ */
559
+ private addScore(scores: Map<string, number>, actionId: string, score: number): void {
560
+ const currentScore = scores.get(actionId) || 0;
561
+ scores.set(actionId, currentScore + score);
562
+ }
563
+
564
+ /**
565
+ * Add reason to an action
566
+ */
567
+ private addReason(reasons: Map<string, string[]>, actionId: string, reason: string): void {
568
+ const currentReasons = reasons.get(actionId) || [];
569
+ currentReasons.push(reason);
570
+ reasons.set(actionId, currentReasons);
571
+ }
572
+
573
+ /**
574
+ * Score action by context
575
+ */
576
+ private scoreByContext(action: string, context: MappingContext): number {
577
+ let score = 0;
578
+
579
+ // Score based on action name matching context
580
+ if (action && context.flow_purpose) {
581
+ const actionLower = action.toLowerCase();
582
+ const purposeLower = context.flow_purpose.toLowerCase();
583
+
584
+ if (actionLower.includes(purposeLower) || purposeLower.includes(actionLower)) {
585
+ score += 0.3;
586
+ }
587
+ }
588
+
589
+ // Score based on action requirements (if available)
590
+ if (action && (context as any).action_requirements) {
591
+ const matches = (context as any).action_requirements.filter((req: string) =>
592
+ action.toLowerCase().includes(req.toLowerCase())
593
+ );
594
+ score += matches.length * 0.1;
595
+ }
596
+
597
+ return score;
598
+ }
599
+
600
+ /**
601
+ * Initialize mapping tables
602
+ */
603
+ private initializeMappings(): void {
604
+ // Verb mappings
605
+ this.verbMappings.set('send', ['notify', 'email', 'message', 'alert']);
606
+ this.verbMappings.set('create', ['add', 'insert', 'new', 'generate']);
607
+ this.verbMappings.set('update', ['modify', 'change', 'edit', 'set']);
608
+ this.verbMappings.set('delete', ['remove', 'destroy', 'erase']);
609
+ this.verbMappings.set('notify', ['send', 'alert', 'email']);
610
+ this.verbMappings.set('approve', ['authorization', 'review']);
611
+ this.verbMappings.set('wait', ['delay', 'pause', 'timer']);
612
+ this.verbMappings.set('execute', ['run', 'script', 'custom']);
613
+ this.verbMappings.set('log', ['audit', 'track', 'record']);
614
+ this.verbMappings.set('check', ['validate', 'test', 'condition']);
615
+
616
+ // Object mappings
617
+ this.objectMappings.set('email', ['notification', 'message', 'mail']);
618
+ this.objectMappings.set('record', ['entry', 'row', 'item']);
619
+ this.objectMappings.set('task', ['job', 'work', 'activity']);
620
+ this.objectMappings.set('field', ['column', 'attribute', 'property']);
621
+ this.objectMappings.set('user', ['person', 'individual', 'account']);
622
+ this.objectMappings.set('approval', ['authorization', 'permission']);
623
+
624
+ // Context mappings
625
+ this.contextMappings.set('manager', ['supervisor', 'lead', 'director']);
626
+ this.contextMappings.set('admin', ['administrator', 'sysadmin', 'system']);
627
+ this.contextMappings.set('high', ['critical', 'urgent', 'important']);
628
+ this.contextMappings.set('low', ['minor', 'trivial', 'routine']);
629
+ }
630
+ }