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,866 @@
1
+ /**
2
+ * 🚀 Smart Rollback System for Deployment Failures
3
+ *
4
+ * Advanced rollback system that automatically detects deployment failures,
5
+ * creates recovery plans, and executes intelligent rollback strategies
6
+ * with minimal downtime and data preservation.
7
+ */
8
+
9
+ import { Logger } from '../utils/logger.js';
10
+ import { ServiceNowClient } from '../utils/servicenow-client.js';
11
+ import { MemorySystem } from '../memory/memory-system.js';
12
+ // Flow generator removed in v1.4.0
13
+ // import { XMLFlowDefinition } from '../utils/xml-first-flow-generator.js';
14
+
15
+ export interface RollbackPoint {
16
+ id: string;
17
+ name: string;
18
+ description: string;
19
+ createdAt: string;
20
+ type: 'automatic' | 'manual' | 'scheduled';
21
+ trigger: RollbackTrigger;
22
+ snapshot: SystemSnapshot;
23
+ metadata: {
24
+ deploymentId?: string;
25
+ updateSetId?: string;
26
+ userId: string;
27
+ environment: string;
28
+ artifacts: ArtifactBackup[];
29
+ };
30
+ status: 'active' | 'used' | 'expired' | 'corrupted';
31
+ retentionPolicy: RetentionPolicy;
32
+ }
33
+
34
+ export interface RollbackTrigger {
35
+ type: 'deployment_failure' | 'performance_degradation' | 'error_threshold' | 'manual' | 'scheduled';
36
+ condition?: string;
37
+ threshold?: {
38
+ metric: string;
39
+ value: number;
40
+ operator: '<' | '>' | '=' | '<=' | '>=';
41
+ };
42
+ timeWindow?: number; // milliseconds
43
+ severity: 'low' | 'medium' | 'high' | 'critical';
44
+ }
45
+
46
+ export interface SystemSnapshot {
47
+ timestamp: string;
48
+ version: string;
49
+ components: ComponentSnapshot[];
50
+ dependencies: DependencyMap[];
51
+ configuration: ConfigurationSnapshot;
52
+ data: DataSnapshot;
53
+ integrity: IntegrityCheck;
54
+ }
55
+
56
+ export interface ComponentSnapshot {
57
+ type: 'flow' | 'widget' | 'script' | 'table' | 'business_rule' | 'client_script';
58
+ id: string;
59
+ name: string;
60
+ state: any;
61
+ version: string;
62
+ dependencies: string[];
63
+ checksum: string;
64
+ }
65
+
66
+ export interface DependencyMap {
67
+ from: string;
68
+ to: string;
69
+ type: 'required' | 'optional' | 'circular';
70
+ version?: string;
71
+ }
72
+
73
+ export interface ConfigurationSnapshot {
74
+ updateSets: UpdateSetBackup[];
75
+ systemProperties: Record<string, any>;
76
+ userPermissions: PermissionSnapshot[];
77
+ activeSchedules: ScheduleSnapshot[];
78
+ }
79
+
80
+ export interface DataSnapshot {
81
+ criticalTables: TableBackup[];
82
+ recentChanges: ChangeRecord[];
83
+ transactionLog: TransactionEntry[];
84
+ consistencyCheck: ConsistencyResult;
85
+ }
86
+
87
+ export interface ArtifactBackup {
88
+ type: string;
89
+ id: string;
90
+ name: string;
91
+ content: string;
92
+ checksum: string;
93
+ dependencies: string[];
94
+ backupLocation: string;
95
+ }
96
+
97
+ export interface UpdateSetBackup {
98
+ sys_id: string;
99
+ name: string;
100
+ state: string;
101
+ xml: string;
102
+ changes: ChangeRecord[];
103
+ }
104
+
105
+ export interface PermissionSnapshot {
106
+ userId: string;
107
+ roles: string[];
108
+ groups: string[];
109
+ permissions: string[];
110
+ }
111
+
112
+ export interface ScheduleSnapshot {
113
+ id: string;
114
+ name: string;
115
+ type: string;
116
+ schedule: string;
117
+ active: boolean;
118
+ }
119
+
120
+ export interface TableBackup {
121
+ name: string;
122
+ records: Record<string, any>[];
123
+ schema: TableSchema;
124
+ indexes: IndexDefinition[];
125
+ }
126
+
127
+ export interface ChangeRecord {
128
+ table: string;
129
+ sys_id: string;
130
+ operation: 'insert' | 'update' | 'delete';
131
+ before?: any;
132
+ after?: any;
133
+ timestamp: string;
134
+ user: string;
135
+ }
136
+
137
+ export interface TransactionEntry {
138
+ id: string;
139
+ timestamp: string;
140
+ operation: string;
141
+ success: boolean;
142
+ error?: string;
143
+ rollbackable: boolean;
144
+ }
145
+
146
+ export interface TableSchema {
147
+ fields: FieldDefinition[];
148
+ relationships: RelationshipDefinition[];
149
+ constraints: ConstraintDefinition[];
150
+ }
151
+
152
+ export interface FieldDefinition {
153
+ name: string;
154
+ type: string;
155
+ nullable: boolean;
156
+ defaultValue?: any;
157
+ }
158
+
159
+ export interface RelationshipDefinition {
160
+ type: 'one_to_one' | 'one_to_many' | 'many_to_many';
161
+ fromTable: string;
162
+ toTable: string;
163
+ fromField: string;
164
+ toField: string;
165
+ }
166
+
167
+ export interface ConstraintDefinition {
168
+ name: string;
169
+ type: 'primary_key' | 'foreign_key' | 'unique' | 'check';
170
+ fields: string[];
171
+ reference?: string;
172
+ }
173
+
174
+ export interface IndexDefinition {
175
+ name: string;
176
+ fields: string[];
177
+ unique: boolean;
178
+ type: 'btree' | 'hash' | 'gist' | 'gin';
179
+ }
180
+
181
+ export interface IntegrityCheck {
182
+ checksum: string;
183
+ timestamp: string;
184
+ valid: boolean;
185
+ errors: string[];
186
+ }
187
+
188
+ export interface ConsistencyResult {
189
+ valid: boolean;
190
+ issues: ConsistencyIssue[];
191
+ recommendations: string[];
192
+ }
193
+
194
+ export interface ConsistencyIssue {
195
+ severity: 'low' | 'medium' | 'high' | 'critical';
196
+ type: 'referential_integrity' | 'data_corruption' | 'orphaned_records' | 'duplicate_keys';
197
+ description: string;
198
+ affectedRecords: string[];
199
+ autoFixable: boolean;
200
+ }
201
+
202
+ export interface RetentionPolicy {
203
+ maxAge: number; // milliseconds
204
+ maxCount: number;
205
+ compressionEnabled: boolean;
206
+ archiveLocation?: string;
207
+ }
208
+
209
+ export interface RollbackPlan {
210
+ id: string;
211
+ name: string;
212
+ description: string;
213
+ createdAt: string;
214
+ rollbackPointId: string;
215
+ strategy: RollbackStrategy;
216
+ steps: RollbackStep[];
217
+ estimatedTime: number;
218
+ riskLevel: 'low' | 'medium' | 'high' | 'critical';
219
+ impactAssessment: ImpactAssessment;
220
+ validationChecks: ValidationCheck[];
221
+ }
222
+
223
+ export interface RollbackStrategy {
224
+ type: 'full_restore' | 'selective_restore' | 'incremental_rollback' | 'blue_green_switch';
225
+ approach: 'aggressive' | 'conservative' | 'minimal_impact';
226
+ preserveData: boolean;
227
+ maintainSessions: boolean;
228
+ downtime: 'zero' | 'minimal' | 'scheduled';
229
+ }
230
+
231
+ export interface RollbackStep {
232
+ order: number;
233
+ name: string;
234
+ description: string;
235
+ action: string;
236
+ parameters: Record<string, any>;
237
+ reversible: boolean;
238
+ critical: boolean;
239
+ estimatedTime: number;
240
+ dependencies: string[];
241
+ validationRequired: boolean;
242
+ }
243
+
244
+ export interface ImpactAssessment {
245
+ affectedUsers: number;
246
+ affectedSystems: string[];
247
+ dataLoss: 'none' | 'minimal' | 'moderate' | 'significant';
248
+ downtime: number; // milliseconds
249
+ businessImpact: 'low' | 'medium' | 'high' | 'critical';
250
+ complianceViolations: string[];
251
+ }
252
+
253
+ export interface ValidationCheck {
254
+ name: string;
255
+ description: string;
256
+ type: 'pre_rollback' | 'post_rollback' | 'continuous';
257
+ script: string;
258
+ expectedResult: any;
259
+ critical: boolean;
260
+ timeout: number;
261
+ }
262
+
263
+ export interface RollbackExecution {
264
+ planId: string;
265
+ executionId: string;
266
+ startTime: string;
267
+ endTime?: string;
268
+ status: 'pending' | 'running' | 'completed' | 'failed' | 'cancelled';
269
+ progress: number;
270
+ currentStep?: number;
271
+ results: StepResult[];
272
+ issues: ExecutionIssue[];
273
+ metrics: ExecutionMetrics;
274
+ }
275
+
276
+ export interface StepResult {
277
+ stepOrder: number;
278
+ name: string;
279
+ status: 'pending' | 'running' | 'completed' | 'failed' | 'skipped';
280
+ startTime: string;
281
+ endTime?: string;
282
+ result?: any;
283
+ error?: string;
284
+ validationResults: ValidationResult[];
285
+ }
286
+
287
+ export interface ValidationResult {
288
+ check: string;
289
+ passed: boolean;
290
+ message: string;
291
+ expected: any;
292
+ actual: any;
293
+ }
294
+
295
+ export interface ExecutionIssue {
296
+ severity: 'low' | 'medium' | 'high' | 'critical';
297
+ type: 'validation_failure' | 'step_failure' | 'timeout' | 'dependency_error';
298
+ description: string;
299
+ step?: number;
300
+ resolution?: string;
301
+ autoResolved: boolean;
302
+ }
303
+
304
+ export interface ExecutionMetrics {
305
+ totalSteps: number;
306
+ completedSteps: number;
307
+ failedSteps: number;
308
+ skippedSteps: number;
309
+ totalTime: number;
310
+ averageStepTime: number;
311
+ resourceUsage: ResourceUsage;
312
+ }
313
+
314
+ export interface ResourceUsage {
315
+ memory: number;
316
+ cpu: number;
317
+ disk: number;
318
+ network: number;
319
+ }
320
+
321
+ export class SmartRollbackSystem {
322
+ private logger: Logger;
323
+ private client: ServiceNowClient;
324
+ private memory: MemorySystem;
325
+ private rollbackPoints: Map<string, RollbackPoint> = new Map();
326
+ private rollbackPlans: Map<string, RollbackPlan> = new Map();
327
+ private activeExecutions: Map<string, RollbackExecution> = new Map();
328
+ private monitoringEnabled: boolean = true;
329
+
330
+ constructor(client: ServiceNowClient, memory: MemorySystem) {
331
+ this.logger = new Logger('SmartRollbackSystem');
332
+ this.client = client;
333
+ this.memory = memory;
334
+
335
+ // Start monitoring for automatic rollback triggers
336
+ this.startMonitoring();
337
+ }
338
+
339
+ /**
340
+ * Create a new rollback point before deployment
341
+ */
342
+ async createRollbackPoint(
343
+ name: string,
344
+ description: string,
345
+ options: {
346
+ type?: 'automatic' | 'manual' | 'scheduled';
347
+ triggers?: RollbackTrigger[];
348
+ includeData?: boolean;
349
+ compressionEnabled?: boolean;
350
+ } = {}
351
+ ): Promise<RollbackPoint> {
352
+ this.logger.info('🔄 Creating rollback point', { name, options });
353
+
354
+ const rollbackPointId = `rb_${Date.now()}_${Math.random().toString(36).substr(2, 8)}`;
355
+
356
+ try {
357
+ // Create system snapshot
358
+ const snapshot = await this.createSystemSnapshot(options.includeData || false);
359
+
360
+ // Create rollback point
361
+ const rollbackPoint: RollbackPoint = {
362
+ id: rollbackPointId,
363
+ name,
364
+ description,
365
+ createdAt: new Date().toISOString(),
366
+ type: options.type || 'manual',
367
+ trigger: {
368
+ type: 'manual',
369
+ severity: 'medium'
370
+ },
371
+ snapshot,
372
+ metadata: {
373
+ userId: 'system',
374
+ environment: process.env.NODE_ENV || 'development',
375
+ artifacts: []
376
+ },
377
+ status: 'active',
378
+ retentionPolicy: {
379
+ maxAge: 604800000, // 7 days
380
+ maxCount: 10,
381
+ compressionEnabled: options.compressionEnabled || true
382
+ }
383
+ };
384
+
385
+ // Store rollback point
386
+ this.rollbackPoints.set(rollbackPointId, rollbackPoint);
387
+ await this.memory.store(`rollback_point_${rollbackPointId}`, rollbackPoint, rollbackPoint.retentionPolicy.maxAge);
388
+
389
+ // Clean up old rollback points
390
+ await this.cleanupOldRollbackPoints();
391
+
392
+ this.logger.info('✅ Rollback point created successfully', {
393
+ id: rollbackPointId,
394
+ snapshotSize: JSON.stringify(snapshot).length,
395
+ artifactsCount: rollbackPoint.metadata.artifacts.length
396
+ });
397
+
398
+ return rollbackPoint;
399
+
400
+ } catch (error) {
401
+ this.logger.error('❌ Failed to create rollback point', error);
402
+ throw error;
403
+ }
404
+ }
405
+
406
+ /**
407
+ * Generate intelligent rollback plan
408
+ */
409
+ async generateRollbackPlan(
410
+ rollbackPointId: string,
411
+ options: {
412
+ strategy?: 'conservative' | 'aggressive' | 'minimal_impact';
413
+ preserveData?: boolean;
414
+ targetDowntime?: number;
415
+ } = {}
416
+ ): Promise<RollbackPlan> {
417
+ this.logger.info('📋 Generating rollback plan', { rollbackPointId, options });
418
+
419
+ const rollbackPoint = this.rollbackPoints.get(rollbackPointId);
420
+ if (!rollbackPoint) {
421
+ throw new Error(`Rollback point not found: ${rollbackPointId}`);
422
+ }
423
+
424
+ const planId = `plan_${Date.now()}_${Math.random().toString(36).substr(2, 6)}`;
425
+
426
+ try {
427
+ // Analyze current system state vs rollback point
428
+ const currentSnapshot = await this.createSystemSnapshot(false);
429
+ const differences = this.analyzeDifferences(rollbackPoint.snapshot, currentSnapshot);
430
+
431
+ // Determine rollback strategy
432
+ const strategy = this.determineOptimalStrategy(differences, options);
433
+
434
+ // Generate rollback steps
435
+ const steps = await this.generateRollbackSteps(differences, strategy);
436
+
437
+ // Assess impact
438
+ const impactAssessment = this.assessRollbackImpact(differences, strategy);
439
+
440
+ // Generate validation checks
441
+ const validationChecks = this.generateValidationChecks(rollbackPoint, steps);
442
+
443
+ const rollbackPlan: RollbackPlan = {
444
+ id: planId,
445
+ name: `Rollback to: ${rollbackPoint.name}`,
446
+ description: `Intelligent rollback plan generated for rollback point: ${rollbackPoint.name}`,
447
+ createdAt: new Date().toISOString(),
448
+ rollbackPointId,
449
+ strategy,
450
+ steps,
451
+ estimatedTime: steps.reduce((total, step) => total + step.estimatedTime, 0),
452
+ riskLevel: this.calculateRiskLevel(impactAssessment, strategy),
453
+ impactAssessment,
454
+ validationChecks
455
+ };
456
+
457
+ // Store rollback plan
458
+ this.rollbackPlans.set(planId, rollbackPlan);
459
+ await this.memory.store(`rollback_plan_${planId}`, rollbackPlan, 86400000); // 24 hours
460
+
461
+ this.logger.info('✅ Rollback plan generated', {
462
+ planId,
463
+ stepsCount: steps.length,
464
+ estimatedTime: rollbackPlan.estimatedTime,
465
+ riskLevel: rollbackPlan.riskLevel
466
+ });
467
+
468
+ return rollbackPlan;
469
+
470
+ } catch (error) {
471
+ this.logger.error('❌ Failed to generate rollback plan', error);
472
+ throw error;
473
+ }
474
+ }
475
+
476
+ /**
477
+ * Execute rollback plan with monitoring
478
+ */
479
+ async executeRollbackPlan(
480
+ planId: string,
481
+ options: {
482
+ dryRun?: boolean;
483
+ skipValidation?: boolean;
484
+ continueOnError?: boolean;
485
+ } = {}
486
+ ): Promise<RollbackExecution> {
487
+ this.logger.info('🚀 Executing rollback plan', { planId, options });
488
+
489
+ const plan = this.rollbackPlans.get(planId);
490
+ if (!plan) {
491
+ throw new Error(`Rollback plan not found: ${planId}`);
492
+ }
493
+
494
+ const executionId = `exec_${Date.now()}_${Math.random().toString(36).substr(2, 6)}`;
495
+
496
+ const execution: RollbackExecution = {
497
+ planId,
498
+ executionId,
499
+ startTime: new Date().toISOString(),
500
+ status: 'pending',
501
+ progress: 0,
502
+ results: [],
503
+ issues: [],
504
+ metrics: {
505
+ totalSteps: plan.steps.length,
506
+ completedSteps: 0,
507
+ failedSteps: 0,
508
+ skippedSteps: 0,
509
+ totalTime: 0,
510
+ averageStepTime: 0,
511
+ resourceUsage: {
512
+ memory: 0,
513
+ cpu: 0,
514
+ disk: 0,
515
+ network: 0
516
+ }
517
+ }
518
+ };
519
+
520
+ this.activeExecutions.set(executionId, execution);
521
+
522
+ try {
523
+ execution.status = 'running';
524
+
525
+ // Pre-rollback validation
526
+ if (!options.skipValidation) {
527
+ await this.runValidationChecks(plan, 'pre_rollback', execution);
528
+ }
529
+
530
+ // Execute rollback steps
531
+ for (let i = 0; i < plan.steps.length; i++) {
532
+ const step = plan.steps[i];
533
+ execution.currentStep = i + 1;
534
+ execution.progress = ((i + 1) / plan.steps.length) * 100;
535
+
536
+ this.logger.info(`Executing step ${i + 1}/${plan.steps.length}: ${step.name}`);
537
+
538
+ const stepResult = await this.executeRollbackStep(step, options.dryRun || false, execution);
539
+ execution.results.push(stepResult);
540
+
541
+ if (stepResult.status === 'failed') {
542
+ execution.metrics.failedSteps++;
543
+
544
+ if (step.critical && !options.continueOnError) {
545
+ execution.issues.push({
546
+ severity: 'critical',
547
+ type: 'step_failure',
548
+ description: `Critical step failed: ${step.name}`,
549
+ step: i + 1,
550
+ autoResolved: false
551
+ });
552
+
553
+ execution.status = 'failed';
554
+ break;
555
+ }
556
+ } else if (stepResult.status === 'completed') {
557
+ execution.metrics.completedSteps++;
558
+ } else if (stepResult.status === 'skipped') {
559
+ execution.metrics.skippedSteps++;
560
+ }
561
+
562
+ // Update metrics
563
+ await this.updateExecutionMetrics(execution);
564
+ }
565
+
566
+ // Post-rollback validation
567
+ if (!options.skipValidation && execution.status !== 'failed') {
568
+ await this.runValidationChecks(plan, 'post_rollback', execution);
569
+ }
570
+
571
+ // Finalize execution
572
+ if (execution.status === 'running') {
573
+ execution.status = 'completed';
574
+ }
575
+
576
+ execution.endTime = new Date().toISOString();
577
+ execution.progress = 100;
578
+ execution.metrics.totalTime = Date.now() - new Date(execution.startTime).getTime();
579
+ execution.metrics.averageStepTime = execution.metrics.totalTime / execution.metrics.totalSteps;
580
+
581
+ this.logger.info('✅ Rollback execution completed', {
582
+ executionId,
583
+ status: execution.status,
584
+ completedSteps: execution.metrics.completedSteps,
585
+ failedSteps: execution.metrics.failedSteps,
586
+ totalTime: execution.metrics.totalTime
587
+ });
588
+
589
+ return execution;
590
+
591
+ } catch (error) {
592
+ execution.status = 'failed';
593
+ execution.endTime = new Date().toISOString();
594
+ execution.issues.push({
595
+ severity: 'critical',
596
+ type: 'step_failure',
597
+ description: `Rollback execution failed: ${error instanceof Error ? error.message : String(error)}`,
598
+ autoResolved: false
599
+ });
600
+
601
+ this.logger.error('❌ Rollback execution failed', error);
602
+ throw error;
603
+
604
+ } finally {
605
+ // Store execution results
606
+ await this.memory.store(`rollback_execution_${executionId}`, execution, 604800000); // 7 days
607
+ this.activeExecutions.delete(executionId);
608
+ }
609
+ }
610
+
611
+ /**
612
+ * Get rollback points with filtering
613
+ */
614
+ getRollbackPoints(filter?: {
615
+ type?: string;
616
+ status?: string;
617
+ maxAge?: number;
618
+ }): RollbackPoint[] {
619
+ let points = Array.from(this.rollbackPoints.values());
620
+
621
+ if (filter) {
622
+ if (filter.type) {
623
+ points = points.filter(p => p.type === filter.type);
624
+ }
625
+ if (filter.status) {
626
+ points = points.filter(p => p.status === filter.status);
627
+ }
628
+ if (filter.maxAge) {
629
+ const cutoff = Date.now() - filter.maxAge;
630
+ points = points.filter(p => new Date(p.createdAt).getTime() > cutoff);
631
+ }
632
+ }
633
+
634
+ return points.sort((a, b) => new Date(b.createdAt).getTime() - new Date(a.createdAt).getTime());
635
+ }
636
+
637
+ /**
638
+ * Get active rollback executions
639
+ */
640
+ getActiveExecutions(): RollbackExecution[] {
641
+ return Array.from(this.activeExecutions.values());
642
+ }
643
+
644
+ /**
645
+ * Cancel active rollback execution
646
+ */
647
+ async cancelExecution(executionId: string): Promise<boolean> {
648
+ const execution = this.activeExecutions.get(executionId);
649
+ if (!execution) {
650
+ return false;
651
+ }
652
+
653
+ execution.status = 'cancelled';
654
+ execution.endTime = new Date().toISOString();
655
+
656
+ this.logger.info('🛑 Rollback execution cancelled', { executionId });
657
+ return true;
658
+ }
659
+
660
+ /**
661
+ * Private helper methods
662
+ */
663
+
664
+ private async createSystemSnapshot(includeData: boolean): Promise<SystemSnapshot> {
665
+ // Implementation for creating comprehensive system snapshot
666
+ return {
667
+ timestamp: new Date().toISOString(),
668
+ version: '1.0.0',
669
+ components: [],
670
+ dependencies: [],
671
+ configuration: {
672
+ updateSets: [],
673
+ systemProperties: {},
674
+ userPermissions: [],
675
+ activeSchedules: []
676
+ },
677
+ data: {
678
+ criticalTables: [],
679
+ recentChanges: [],
680
+ transactionLog: [],
681
+ consistencyCheck: {
682
+ valid: true,
683
+ issues: [],
684
+ recommendations: []
685
+ }
686
+ },
687
+ integrity: {
688
+ checksum: 'placeholder',
689
+ timestamp: new Date().toISOString(),
690
+ valid: true,
691
+ errors: []
692
+ }
693
+ };
694
+ }
695
+
696
+ private analyzeDifferences(originalSnapshot: SystemSnapshot, currentSnapshot: SystemSnapshot): any {
697
+ // Implementation for analyzing differences between snapshots
698
+ return {
699
+ componentChanges: [],
700
+ configurationChanges: [],
701
+ dataChanges: [],
702
+ severity: 'medium'
703
+ };
704
+ }
705
+
706
+ private determineOptimalStrategy(differences: any, options: any): RollbackStrategy {
707
+ // Implementation for determining optimal rollback strategy
708
+ return {
709
+ type: 'selective_restore',
710
+ approach: options.strategy || 'conservative',
711
+ preserveData: options.preserveData !== false,
712
+ maintainSessions: true,
713
+ downtime: 'minimal'
714
+ };
715
+ }
716
+
717
+ private async generateRollbackSteps(differences: any, strategy: RollbackStrategy): Promise<RollbackStep[]> {
718
+ // Implementation for generating rollback steps
719
+ return [
720
+ {
721
+ order: 1,
722
+ name: 'Create backup',
723
+ description: 'Create backup of current state before rollback',
724
+ action: 'backup_current_state',
725
+ parameters: {},
726
+ reversible: false,
727
+ critical: true,
728
+ estimatedTime: 30000,
729
+ dependencies: [],
730
+ validationRequired: true
731
+ }
732
+ ];
733
+ }
734
+
735
+ private assessRollbackImpact(differences: any, strategy: RollbackStrategy): ImpactAssessment {
736
+ // Implementation for assessing rollback impact
737
+ return {
738
+ affectedUsers: 0,
739
+ affectedSystems: [],
740
+ dataLoss: 'none',
741
+ downtime: 0,
742
+ businessImpact: 'low',
743
+ complianceViolations: []
744
+ };
745
+ }
746
+
747
+ private generateValidationChecks(rollbackPoint: RollbackPoint, steps: RollbackStep[]): ValidationCheck[] {
748
+ // Implementation for generating validation checks
749
+ return [
750
+ {
751
+ name: 'System Health Check',
752
+ description: 'Verify system is healthy after rollback',
753
+ type: 'post_rollback',
754
+ script: 'return system.isHealthy();',
755
+ expectedResult: true,
756
+ critical: true,
757
+ timeout: 30000
758
+ }
759
+ ];
760
+ }
761
+
762
+ private calculateRiskLevel(impact: ImpactAssessment, strategy: RollbackStrategy): 'low' | 'medium' | 'high' | 'critical' {
763
+ // Implementation for calculating risk level
764
+ return 'medium';
765
+ }
766
+
767
+ private async executeRollbackStep(step: RollbackStep, dryRun: boolean, execution: RollbackExecution): Promise<StepResult> {
768
+ const stepResult: StepResult = {
769
+ stepOrder: step.order,
770
+ name: step.name,
771
+ status: 'running',
772
+ startTime: new Date().toISOString(),
773
+ validationResults: []
774
+ };
775
+
776
+ try {
777
+ if (dryRun) {
778
+ this.logger.info(`[DRY RUN] Would execute: ${step.name}`);
779
+ stepResult.status = 'completed';
780
+ stepResult.result = { dryRun: true, message: 'Step would be executed' };
781
+ } else {
782
+ // Actual step execution logic would go here
783
+ stepResult.status = 'completed';
784
+ stepResult.result = { success: true };
785
+ }
786
+
787
+ stepResult.endTime = new Date().toISOString();
788
+ return stepResult;
789
+
790
+ } catch (error) {
791
+ stepResult.status = 'failed';
792
+ stepResult.error = error instanceof Error ? error.message : String(error);
793
+ stepResult.endTime = new Date().toISOString();
794
+
795
+ this.logger.error(`Step failed: ${step.name}`, error);
796
+ return stepResult;
797
+ }
798
+ }
799
+
800
+ private async runValidationChecks(plan: RollbackPlan, type: string, execution: RollbackExecution): Promise<void> {
801
+ const checks = plan.validationChecks.filter(check => check.type === type);
802
+
803
+ for (const check of checks) {
804
+ try {
805
+ // Run validation check logic
806
+ this.logger.info(`Running validation: ${check.name}`);
807
+ } catch (error) {
808
+ if (check.critical) {
809
+ throw error;
810
+ }
811
+ this.logger.warn(`Non-critical validation failed: ${check.name}`, error);
812
+ }
813
+ }
814
+ }
815
+
816
+ private async updateExecutionMetrics(execution: RollbackExecution): Promise<void> {
817
+ // Update execution metrics with current resource usage
818
+ execution.metrics.resourceUsage = {
819
+ memory: process.memoryUsage().heapUsed,
820
+ cpu: 0, // Would be calculated from system metrics
821
+ disk: 0,
822
+ network: 0
823
+ };
824
+ }
825
+
826
+ private async cleanupOldRollbackPoints(): Promise<void> {
827
+ const now = Date.now();
828
+ const pointsToDelete: string[] = [];
829
+
830
+ for (const [id, point] of this.rollbackPoints.entries()) {
831
+ const age = now - new Date(point.createdAt).getTime();
832
+ if (age > point.retentionPolicy.maxAge) {
833
+ pointsToDelete.push(id);
834
+ }
835
+ }
836
+
837
+ for (const id of pointsToDelete) {
838
+ this.rollbackPoints.delete(id);
839
+ await this.memory.delete(`rollback_point_${id}`);
840
+ }
841
+
842
+ if (pointsToDelete.length > 0) {
843
+ this.logger.info(`Cleaned up ${pointsToDelete.length} expired rollback points`);
844
+ }
845
+ }
846
+
847
+ private startMonitoring(): void {
848
+ if (!this.monitoringEnabled) return;
849
+
850
+ // Start monitoring for automatic rollback triggers
851
+ setInterval(async () => {
852
+ try {
853
+ await this.checkAutomaticTriggers();
854
+ } catch (error) {
855
+ this.logger.error('Error in automatic trigger monitoring', error);
856
+ }
857
+ }, 30000); // Check every 30 seconds
858
+ }
859
+
860
+ private async checkAutomaticTriggers(): Promise<void> {
861
+ // Implementation for checking automatic rollback triggers
862
+ // This would monitor system health, performance metrics, error rates, etc.
863
+ }
864
+ }
865
+
866
+ export default SmartRollbackSystem;