snow-flow 1.4.5 → 1.4.7

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 (364) hide show
  1. package/.husky/pre-commit +4 -0
  2. package/.mcp.json.template +0 -9
  3. package/.releaserc.json +47 -0
  4. package/CLAUDE.md +232 -156
  5. package/LICENSE +1 -1
  6. package/dist/agents/base-agent.d.ts +1 -1
  7. package/dist/agents/base-agent.d.ts.map +1 -1
  8. package/dist/agents/base-agent.js +2 -1
  9. package/dist/agents/base-agent.js.map +1 -1
  10. package/dist/agents/coordinator.d.ts.map +1 -1
  11. package/dist/agents/coordinator.js +5 -2
  12. package/dist/agents/coordinator.js.map +1 -1
  13. package/dist/agents/index.d.ts +0 -4
  14. package/dist/agents/index.d.ts.map +1 -1
  15. package/dist/agents/index.js +1 -0
  16. package/dist/agents/index.js.map +1 -1
  17. package/dist/agents/queen-403-handler.d.ts +2 -2
  18. package/dist/agents/queen-403-handler.d.ts.map +1 -1
  19. package/dist/agents/queen-403-handler.js +3 -2
  20. package/dist/agents/queen-403-handler.js.map +1 -1
  21. package/dist/agents/queen-agent.d.ts +4 -0
  22. package/dist/agents/queen-agent.d.ts.map +1 -1
  23. package/dist/agents/queen-agent.js +137 -34
  24. package/dist/agents/queen-agent.js.map +1 -1
  25. package/dist/agents/script-writer-agent.js +1 -0
  26. package/dist/agents/security-agent.js +28 -27
  27. package/dist/agents/security-agent.js.map +1 -1
  28. package/dist/agents/widget-creator-agent.d.ts.map +1 -1
  29. package/dist/agents/widget-creator-agent.js +121 -62
  30. package/dist/agents/widget-creator-agent.js.map +1 -1
  31. package/dist/api/error-handling.d.ts +112 -1
  32. package/dist/api/error-handling.d.ts.map +1 -1
  33. package/dist/api/error-handling.js +2 -1
  34. package/dist/api/error-handling.js.map +1 -1
  35. package/dist/api/natural-language-mapper.d.ts +3 -5
  36. package/dist/api/natural-language-mapper.d.ts.map +1 -1
  37. package/dist/api/natural-language-mapper.js +1 -0
  38. package/dist/api/natural-language-mapper.js.map +1 -1
  39. package/dist/api/performance-optimizer.d.ts.map +1 -1
  40. package/dist/api/performance-optimizer.js +1 -0
  41. package/dist/api/performance-optimizer.js.map +1 -1
  42. package/dist/api/transaction-manager.js +1 -0
  43. package/dist/cli/deploy-artifact.js +1 -0
  44. package/dist/cli/snow-flow-cli-integration.d.ts.map +1 -1
  45. package/dist/cli/snow-flow-cli-integration.js +1 -0
  46. package/dist/cli/snow-flow-cli-integration.js.map +1 -1
  47. package/dist/cli.js +294 -640
  48. package/dist/cli.js.map +1 -1
  49. package/dist/compliance/advanced-compliance-system.d.ts +316 -0
  50. package/dist/compliance/advanced-compliance-system.d.ts.map +1 -0
  51. package/dist/compliance/advanced-compliance-system.js +1 -0
  52. package/dist/compliance/advanced-compliance-system.js.map +1 -0
  53. package/dist/compliance/index.d.ts +6 -0
  54. package/dist/compliance/index.d.ts.map +1 -0
  55. package/dist/compliance/index.js +1 -0
  56. package/dist/compliance/index.js.map +1 -0
  57. package/dist/config/snow-flow-config.d.ts +279 -241
  58. package/dist/config/snow-flow-config.d.ts.map +1 -1
  59. package/dist/config/snow-flow-config.js +1 -0
  60. package/dist/config/snow-flow-config.js.map +1 -1
  61. package/dist/documentation/index.d.ts +6 -0
  62. package/dist/documentation/index.d.ts.map +1 -0
  63. package/dist/documentation/index.js +1 -0
  64. package/dist/documentation/index.js.map +1 -0
  65. package/dist/documentation/self-documenting-system.d.ts +287 -0
  66. package/dist/documentation/self-documenting-system.d.ts.map +1 -0
  67. package/dist/documentation/self-documenting-system.js +38 -37
  68. package/dist/documentation/self-documenting-system.js.map +1 -0
  69. package/dist/healing/index.d.ts +6 -0
  70. package/dist/healing/index.d.ts.map +1 -0
  71. package/dist/healing/index.js +1 -0
  72. package/dist/healing/index.js.map +1 -0
  73. package/dist/healing/self-healing-system.d.ts +315 -0
  74. package/dist/healing/self-healing-system.d.ts.map +1 -0
  75. package/dist/healing/self-healing-system.js +1 -0
  76. package/dist/healing/self-healing-system.js.map +1 -0
  77. package/dist/health/system-health.d.ts +34 -0
  78. package/dist/health/system-health.d.ts.map +1 -1
  79. package/dist/health/system-health.js +1 -0
  80. package/dist/health/system-health.js.map +1 -1
  81. package/dist/index.js +1 -0
  82. package/dist/intelligence/acl-analyzer.d.ts +1 -1
  83. package/dist/intelligence/acl-analyzer.d.ts.map +1 -1
  84. package/dist/intelligence/acl-analyzer.js +4 -3
  85. package/dist/intelligence/acl-analyzer.js.map +1 -1
  86. package/dist/intelligence/auto-resolution-engine.js +1 -0
  87. package/dist/intelligence/auto-resolution-engine.js.map +1 -1
  88. package/dist/intelligence/gap-analysis-engine.d.ts +3 -3
  89. package/dist/intelligence/gap-analysis-engine.js +14 -13
  90. package/dist/intelligence/gap-analysis-engine.js.map +1 -1
  91. package/dist/intelligence/manual-instructions-generator.d.ts +1 -1
  92. package/dist/intelligence/manual-instructions-generator.d.ts.map +1 -1
  93. package/dist/intelligence/manual-instructions-generator.js +2 -1
  94. package/dist/intelligence/manual-instructions-generator.js.map +1 -1
  95. package/dist/intelligence/mcp-coverage-analyzer.js +4 -3
  96. package/dist/intelligence/mcp-coverage-analyzer.js.map +1 -1
  97. package/dist/intelligence/multi-pass-requirements-analyzer.d.ts +79 -0
  98. package/dist/intelligence/multi-pass-requirements-analyzer.d.ts.map +1 -0
  99. package/dist/intelligence/multi-pass-requirements-analyzer.js +13 -12
  100. package/dist/intelligence/multi-pass-requirements-analyzer.js.map +1 -0
  101. package/dist/intelligence/performance-recommendations-engine.d.ts +236 -0
  102. package/dist/intelligence/performance-recommendations-engine.d.ts.map +1 -0
  103. package/dist/intelligence/performance-recommendations-engine.js +5 -4
  104. package/dist/intelligence/performance-recommendations-engine.js.map +1 -0
  105. package/dist/intelligence/requirements-analyzer.d.ts +1 -1
  106. package/dist/intelligence/requirements-analyzer.d.ts.map +1 -1
  107. package/dist/intelligence/requirements-analyzer.js +4 -3
  108. package/dist/intelligence/requirements-analyzer.js.map +1 -1
  109. package/dist/intelligence/task-analyzer.d.ts +2 -2
  110. package/dist/intelligence/task-analyzer.d.ts.map +1 -1
  111. package/dist/intelligence/task-analyzer.js +40 -39
  112. package/dist/intelligence/task-analyzer.js.map +1 -1
  113. package/dist/managers/scope-manager.d.ts.map +1 -1
  114. package/dist/managers/scope-manager.js +2 -1
  115. package/dist/managers/scope-manager.js.map +1 -1
  116. package/dist/mcp/base-mcp-server.d.ts +26 -2
  117. package/dist/mcp/base-mcp-server.d.ts.map +1 -1
  118. package/dist/mcp/base-mcp-server.js +2 -1
  119. package/dist/mcp/base-mcp-server.js.map +1 -1
  120. package/dist/mcp/http-transport-wrapper.d.ts +1 -0
  121. package/dist/mcp/http-transport-wrapper.d.ts.map +1 -1
  122. package/dist/mcp/http-transport-wrapper.js +1 -0
  123. package/dist/mcp/http-transport-wrapper.js.map +1 -1
  124. package/dist/mcp/service-discovery-client.js +1 -0
  125. package/dist/mcp/servicenow-automation-mcp-refactored.d.ts.map +1 -1
  126. package/dist/mcp/servicenow-automation-mcp-refactored.js +1 -1
  127. package/dist/mcp/servicenow-automation-mcp-refactored.js.map +1 -1
  128. package/dist/mcp/servicenow-automation-mcp.js +1 -0
  129. package/dist/mcp/servicenow-deployment-mcp-refactored.d.ts +5 -0
  130. package/dist/mcp/servicenow-deployment-mcp-refactored.d.ts.map +1 -1
  131. package/dist/mcp/servicenow-deployment-mcp-refactored.js +1 -0
  132. package/dist/mcp/servicenow-deployment-mcp-refactored.js.map +1 -1
  133. package/dist/mcp/servicenow-deployment-mcp.js +500 -131
  134. package/dist/mcp/servicenow-deployment-mcp.js.map +1 -1
  135. package/dist/mcp/servicenow-graph-memory-mcp-refactored.js +5 -4
  136. package/dist/mcp/servicenow-graph-memory-mcp-refactored.js.map +1 -1
  137. package/dist/mcp/servicenow-graph-memory-mcp.js +6 -5
  138. package/dist/mcp/servicenow-graph-memory-mcp.js.map +1 -1
  139. package/dist/mcp/servicenow-integration-mcp-refactored.d.ts.map +1 -1
  140. package/dist/mcp/servicenow-integration-mcp-refactored.js +1 -0
  141. package/dist/mcp/servicenow-integration-mcp-refactored.js.map +1 -1
  142. package/dist/mcp/servicenow-integration-mcp.js +1 -0
  143. package/dist/mcp/servicenow-intelligent-mcp-refactored.js +24 -23
  144. package/dist/mcp/servicenow-intelligent-mcp-refactored.js.map +1 -1
  145. package/dist/mcp/servicenow-intelligent-mcp.d.ts +38 -1
  146. package/dist/mcp/servicenow-intelligent-mcp.d.ts.map +1 -1
  147. package/dist/mcp/servicenow-intelligent-mcp.js +35 -34
  148. package/dist/mcp/servicenow-intelligent-mcp.js.map +1 -1
  149. package/dist/mcp/servicenow-mcp-server.js +1 -0
  150. package/dist/mcp/servicenow-memory-mcp.d.ts +5 -4
  151. package/dist/mcp/servicenow-memory-mcp.d.ts.map +1 -1
  152. package/dist/mcp/servicenow-memory-mcp.js +1 -0
  153. package/dist/mcp/servicenow-memory-mcp.js.map +1 -1
  154. package/dist/mcp/servicenow-operations-mcp-refactored.d.ts +1 -1
  155. package/dist/mcp/servicenow-operations-mcp-refactored.d.ts.map +1 -1
  156. package/dist/mcp/servicenow-operations-mcp-refactored.js +34 -33
  157. package/dist/mcp/servicenow-operations-mcp-refactored.js.map +1 -1
  158. package/dist/mcp/servicenow-operations-mcp.d.ts +1 -1
  159. package/dist/mcp/servicenow-operations-mcp.js +68 -67
  160. package/dist/mcp/servicenow-operations-mcp.js.map +1 -1
  161. package/dist/mcp/servicenow-platform-development-mcp-refactored.js +1 -0
  162. package/dist/mcp/servicenow-platform-development-mcp.js +2 -1
  163. package/dist/mcp/servicenow-platform-development-mcp.js.map +1 -1
  164. package/dist/mcp/servicenow-progressive-indexer.js +1 -0
  165. package/dist/mcp/servicenow-reporting-analytics-mcp-refactored.d.ts.map +1 -1
  166. package/dist/mcp/servicenow-reporting-analytics-mcp-refactored.js +6 -5
  167. package/dist/mcp/servicenow-reporting-analytics-mcp-refactored.js.map +1 -1
  168. package/dist/mcp/servicenow-reporting-analytics-mcp.js +9 -8
  169. package/dist/mcp/servicenow-reporting-analytics-mcp.js.map +1 -1
  170. package/dist/mcp/servicenow-security-compliance-mcp-refactored.js +3 -2
  171. package/dist/mcp/servicenow-security-compliance-mcp-refactored.js.map +1 -1
  172. package/dist/mcp/servicenow-security-compliance-mcp.js +6 -5
  173. package/dist/mcp/servicenow-security-compliance-mcp.js.map +1 -1
  174. package/dist/mcp/servicenow-update-set-mcp-refactored.d.ts.map +1 -1
  175. package/dist/mcp/servicenow-update-set-mcp-refactored.js +1 -0
  176. package/dist/mcp/servicenow-update-set-mcp-refactored.js.map +1 -1
  177. package/dist/mcp/servicenow-update-set-mcp.js +1 -0
  178. package/dist/mcp/servicenow-update-set-mcp.js.map +1 -1
  179. package/dist/mcp/servicenow-xml-flow-mcp.d.ts +53 -0
  180. package/dist/mcp/servicenow-xml-flow-mcp.d.ts.map +1 -0
  181. package/dist/mcp/servicenow-xml-flow-mcp.js +14 -13
  182. package/dist/mcp/servicenow-xml-flow-mcp.js.map +1 -0
  183. package/dist/mcp/shared/agent-context-provider.js +1 -0
  184. package/dist/mcp/shared/base-mcp-server.d.ts +142 -0
  185. package/dist/mcp/shared/base-mcp-server.d.ts.map +1 -1
  186. package/dist/mcp/shared/base-mcp-server.js +5 -4
  187. package/dist/mcp/shared/base-mcp-server.js.map +1 -1
  188. package/dist/mcp/shared/mcp-memory-manager.js +1 -0
  189. package/dist/mcp/shared/mcp-resource-manager.d.ts +99 -0
  190. package/dist/mcp/shared/mcp-resource-manager.d.ts.map +1 -0
  191. package/dist/mcp/shared/mcp-resource-manager.js +1 -0
  192. package/dist/mcp/shared/mcp-resource-manager.js.map +1 -0
  193. package/dist/mcp/start-all-mcp-servers.js +1 -0
  194. package/dist/mcp/start-servicenow-mcp.js +1 -0
  195. package/dist/memory/hierarchical-memory-system.d.ts +90 -0
  196. package/dist/memory/hierarchical-memory-system.d.ts.map +1 -0
  197. package/dist/memory/hierarchical-memory-system.js +1 -0
  198. package/dist/memory/hierarchical-memory-system.js.map +1 -0
  199. package/dist/memory/index.js +1 -0
  200. package/dist/memory/memory-client.d.ts +11 -1
  201. package/dist/memory/memory-client.d.ts.map +1 -1
  202. package/dist/memory/memory-client.js +1 -0
  203. package/dist/memory/memory-client.js.map +1 -1
  204. package/dist/memory/memory-operations.d.ts +12 -3
  205. package/dist/memory/memory-operations.d.ts.map +1 -1
  206. package/dist/memory/memory-operations.js +1 -0
  207. package/dist/memory/memory-operations.js.map +1 -1
  208. package/dist/memory/memory-system.d.ts +41 -7
  209. package/dist/memory/memory-system.d.ts.map +1 -1
  210. package/dist/memory/memory-system.js +1 -0
  211. package/dist/memory/memory-system.js.map +1 -1
  212. package/dist/memory/servicenow-artifact-indexer.js +1 -0
  213. package/dist/memory/snow-flow-memory-patterns.d.ts +213 -0
  214. package/dist/memory/snow-flow-memory-patterns.d.ts.map +1 -0
  215. package/dist/memory/snow-flow-memory-patterns.js +1 -0
  216. package/dist/memory/snow-flow-memory-patterns.js.map +1 -0
  217. package/dist/memory/swarm-memory.js +1 -0
  218. package/dist/monitoring/enhanced-monitoring-system.d.ts +172 -0
  219. package/dist/monitoring/enhanced-monitoring-system.d.ts.map +1 -0
  220. package/dist/monitoring/enhanced-monitoring-system.js +2 -1
  221. package/dist/monitoring/enhanced-monitoring-system.js.map +1 -0
  222. package/dist/monitoring/performance-tracker.d.ts.map +1 -1
  223. package/dist/monitoring/performance-tracker.js +1 -0
  224. package/dist/optimization/cost-optimization-engine.d.ts +271 -0
  225. package/dist/optimization/cost-optimization-engine.d.ts.map +1 -0
  226. package/dist/optimization/cost-optimization-engine.js +3 -2
  227. package/dist/optimization/cost-optimization-engine.js.map +1 -0
  228. package/dist/optimization/index.d.ts +5 -0
  229. package/dist/optimization/index.d.ts.map +1 -0
  230. package/dist/optimization/index.js +1 -0
  231. package/dist/optimization/index.js.map +1 -0
  232. package/dist/queen/agent-factory.d.ts.map +1 -1
  233. package/dist/queen/agent-factory.js +18 -3
  234. package/dist/queen/agent-factory.js.map +1 -1
  235. package/dist/queen/index.js +1 -0
  236. package/dist/queen/mcp-execution-bridge.d.ts +4 -0
  237. package/dist/queen/mcp-execution-bridge.d.ts.map +1 -1
  238. package/dist/queen/mcp-execution-bridge.js +1 -0
  239. package/dist/queen/mcp-execution-bridge.js.map +1 -1
  240. package/dist/queen/neural-learning.d.ts.map +1 -1
  241. package/dist/queen/neural-learning.js +5 -0
  242. package/dist/queen/neural-learning.js.map +1 -1
  243. package/dist/queen/parallel-agent-engine.d.ts +1 -0
  244. package/dist/queen/parallel-agent-engine.d.ts.map +1 -1
  245. package/dist/queen/parallel-agent-engine.js +2 -1
  246. package/dist/queen/parallel-agent-engine.js.map +1 -1
  247. package/dist/queen/queen-memory-system.d.ts +164 -0
  248. package/dist/queen/queen-memory-system.d.ts.map +1 -0
  249. package/dist/queen/queen-memory-system.js +11 -10
  250. package/dist/queen/queen-memory-system.js.map +1 -0
  251. package/dist/queen/queen-memory.js +1 -0
  252. package/dist/queen/servicenow-queen.d.ts +3 -2
  253. package/dist/queen/servicenow-queen.d.ts.map +1 -1
  254. package/dist/queen/servicenow-queen.js +20 -19
  255. package/dist/queen/servicenow-queen.js.map +1 -1
  256. package/dist/queen/types.d.ts +11 -5
  257. package/dist/queen/types.d.ts.map +1 -1
  258. package/dist/queen/types.js +1 -0
  259. package/dist/rollback/smart-rollback-system.d.ts +350 -0
  260. package/dist/rollback/smart-rollback-system.d.ts.map +1 -0
  261. package/dist/rollback/smart-rollback-system.js +1 -0
  262. package/dist/rollback/smart-rollback-system.js.map +1 -0
  263. package/dist/snow-flow-system.d.ts +3 -3
  264. package/dist/snow-flow-system.d.ts.map +1 -1
  265. package/dist/snow-flow-system.js +4 -3
  266. package/dist/snow-flow-system.js.map +1 -1
  267. package/dist/sparc/sparc-help.d.ts +1 -2
  268. package/dist/sparc/sparc-help.d.ts.map +1 -1
  269. package/dist/sparc/sparc-help.js +2 -1
  270. package/dist/sparc/sparc-help.js.map +1 -1
  271. package/dist/sparc/team-sparc.d.ts +2 -2
  272. package/dist/sparc/team-sparc.d.ts.map +1 -1
  273. package/dist/sparc/team-sparc.js +4 -3
  274. package/dist/sparc/team-sparc.js.map +1 -1
  275. package/dist/strategies/global-scope-strategy.js +4 -3
  276. package/dist/strategies/global-scope-strategy.js.map +1 -1
  277. package/dist/testing/integration-test-suite.d.ts +303 -0
  278. package/dist/testing/integration-test-suite.d.ts.map +1 -0
  279. package/dist/testing/integration-test-suite.js +4 -3
  280. package/dist/testing/integration-test-suite.js.map +1 -0
  281. package/dist/types/index.d.ts +2 -3
  282. package/dist/types/index.d.ts.map +1 -1
  283. package/dist/types/index.js +1 -0
  284. package/dist/types/index.js.map +1 -1
  285. package/dist/types/servicenow.types.js +1 -0
  286. package/dist/types/snow-flow.types.d.ts +1 -1
  287. package/dist/types/snow-flow.types.d.ts.map +1 -1
  288. package/dist/types/snow-flow.types.js +1 -0
  289. package/dist/types/todo.types.js +1 -0
  290. package/dist/utils/action-type-cache.d.ts.map +1 -1
  291. package/dist/utils/action-type-cache.js +1 -0
  292. package/dist/utils/action-type-cache.js.map +1 -1
  293. package/dist/utils/agent-detector.d.ts +1 -1
  294. package/dist/utils/agent-detector.d.ts.map +1 -1
  295. package/dist/utils/agent-detector.js +11 -10
  296. package/dist/utils/agent-detector.js.map +1 -1
  297. package/dist/utils/artifact-tracker.js +1 -0
  298. package/dist/utils/dependency-detector.js +1 -0
  299. package/dist/utils/deployment-metadata-handler.d.ts +110 -0
  300. package/dist/utils/deployment-metadata-handler.d.ts.map +1 -0
  301. package/dist/utils/deployment-metadata-handler.js +1 -0
  302. package/dist/utils/deployment-metadata-handler.js.map +1 -0
  303. package/dist/utils/error-recovery.js +1 -0
  304. package/dist/utils/logger.js +1 -0
  305. package/dist/utils/mcp-auth-middleware.js +1 -0
  306. package/dist/utils/mcp-config-manager.d.ts.map +1 -1
  307. package/dist/utils/mcp-config-manager.js +1 -0
  308. package/dist/utils/mcp-config-manager.js.map +1 -1
  309. package/dist/utils/mcp-server-manager.d.ts.map +1 -1
  310. package/dist/utils/mcp-server-manager.js +6 -5
  311. package/dist/utils/mcp-server-manager.js.map +1 -1
  312. package/dist/utils/mcp-tool-registry.d.ts +69 -0
  313. package/dist/utils/mcp-tool-registry.d.ts.map +1 -0
  314. package/dist/utils/mcp-tool-registry.js +1 -0
  315. package/dist/utils/mcp-tool-registry.js.map +1 -0
  316. package/dist/utils/scope-utils.d.ts +2 -2
  317. package/dist/utils/scope-utils.d.ts.map +1 -1
  318. package/dist/utils/scope-utils.js +32 -31
  319. package/dist/utils/scope-utils.js.map +1 -1
  320. package/dist/utils/servicenow-client.d.ts +18 -1
  321. package/dist/utils/servicenow-client.d.ts.map +1 -1
  322. package/dist/utils/servicenow-client.js +1 -0
  323. package/dist/utils/servicenow-client.js.map +1 -1
  324. package/dist/utils/servicenow-id-generator.d.ts +107 -0
  325. package/dist/utils/servicenow-id-generator.d.ts.map +1 -0
  326. package/dist/utils/servicenow-id-generator.js +1 -0
  327. package/dist/utils/servicenow-id-generator.js.map +1 -0
  328. package/dist/utils/snow-oauth.d.ts +20 -0
  329. package/dist/utils/snow-oauth.d.ts.map +1 -1
  330. package/dist/utils/snow-oauth.js +1 -0
  331. package/dist/utils/snow-oauth.js.map +1 -1
  332. package/dist/utils/template-engine.js +1 -0
  333. package/dist/utils/theme-manager.js +1 -0
  334. package/dist/utils/unified-auth-store.d.ts +55 -0
  335. package/dist/utils/unified-auth-store.d.ts.map +1 -0
  336. package/dist/utils/unified-auth-store.js +1 -0
  337. package/dist/utils/unified-auth-store.js.map +1 -0
  338. package/dist/utils/update-set-importer.d.ts +72 -0
  339. package/dist/utils/update-set-importer.d.ts.map +1 -0
  340. package/dist/utils/update-set-importer.js +1 -0
  341. package/dist/utils/update-set-importer.js.map +1 -0
  342. package/dist/utils/update-set-xml-packager.d.ts +85 -0
  343. package/dist/utils/update-set-xml-packager.d.ts.map +1 -0
  344. package/dist/utils/update-set-xml-packager.js +1 -0
  345. package/dist/utils/update-set-xml-packager.js.map +1 -0
  346. package/dist/utils/widget-template-generator.d.ts +82 -0
  347. package/dist/utils/widget-template-generator.d.ts.map +1 -0
  348. package/dist/utils/widget-template-generator.js +1 -0
  349. package/dist/utils/widget-template-generator.js.map +1 -0
  350. package/dist/version.d.ts +28 -1
  351. package/dist/version.d.ts.map +1 -1
  352. package/dist/version.js +29 -19
  353. package/dist/version.js.map +1 -1
  354. package/package.json +20 -2
  355. package/COMMIT_MESSAGE.txt +0 -31
  356. package/action-v2-implementation.js +0 -338
  357. package/create-snow-flow-env.sh +0 -32
  358. package/decode-action-values.js +0 -164
  359. package/npm-publish-summary.txt +0 -35
  360. package/test-config.js +0 -55
  361. package/test-flow-fix.js +0 -92
  362. package/test-parallel-agents.js +0 -177
  363. package/test-queen-workflow.js +0 -184
  364. package/test-real-monitoring.js +0 -184
package/test-flow-fix.js DELETED
@@ -1,92 +0,0 @@
1
- #!/usr/bin/env node
2
-
3
- /**
4
- * Test script to verify that flow creation now properly creates
5
- * sys_hub_trigger_instance, sys_hub_action_instance, and sys_hub_flow_logic records
6
- */
7
-
8
- const { ServiceNowClient } = require('./dist/utils/servicenow-client.js');
9
-
10
- async function testFlowComponentCreation() {
11
- console.log('🧪 Testing Flow Component Creation Fix...');
12
-
13
- try {
14
- const client = new ServiceNowClient({
15
- instance: process.env.SNOW_INSTANCE,
16
- clientId: process.env.SNOW_CLIENT_ID,
17
- clientSecret: process.env.SNOW_CLIENT_SECRET
18
- });
19
-
20
- // Test flow definition with a simple notification action
21
- const testFlow = {
22
- name: 'Test Notification Flow',
23
- description: 'Test flow to verify component record creation',
24
- trigger_type: 'record_created',
25
- table: 'incident',
26
- condition: 'priority=1',
27
- activities: [
28
- {
29
- name: 'Send Notification Email',
30
- type: 'notification',
31
- to: 'admin@test.com',
32
- subject: 'High Priority Incident Created',
33
- message: 'A high priority incident has been created: ${trigger.number}'
34
- }
35
- ]
36
- };
37
-
38
- console.log('šŸ“‹ Creating test flow...');
39
- const result = await client.createFlow(testFlow);
40
-
41
- if (result.success) {
42
- console.log('āœ… Flow creation successful!');
43
- console.log(`šŸ†” Flow sys_id: ${result.data.sys_id}`);
44
- console.log(`šŸ”— Flow Designer URL: ${result.data.flow_designer_url}`);
45
- console.log(`šŸ“Š Activities created: ${result.data.activities_created}`);
46
- console.log(`šŸ”§ Component records created: ${result.data.component_records_created}`);
47
- console.log(`šŸŽÆ Has actual flow instances: ${result.data.has_actual_flow_instances}`);
48
-
49
- // Verify component records were created by checking the tables
50
- console.log('\nšŸ” Verifying component records...');
51
-
52
- // Check sys_hub_trigger_instance
53
- const triggerQuery = await client.get(
54
- `/api/now/table/sys_hub_trigger_instance?sysparm_query=flow=${result.data.sys_id}`
55
- );
56
- console.log(`šŸ“ Trigger instances found: ${triggerQuery.result?.length || 0}`);
57
-
58
- // Check sys_hub_action_instance
59
- const actionQuery = await client.get(
60
- `/api/now/table/sys_hub_action_instance?sysparm_query=flow=${result.data.sys_id}`
61
- );
62
- console.log(`⚔ Action instances found: ${actionQuery.result?.length || 0}`);
63
-
64
- // Check sys_hub_flow_logic
65
- const logicQuery = await client.get(
66
- `/api/now/table/sys_hub_flow_logic?sysparm_query=flow=${result.data.sys_id}`
67
- );
68
- console.log(`🧠 Flow logic entries found: ${logicQuery.result?.length || 0}`);
69
-
70
- if (triggerQuery.result?.length > 0 &&
71
- actionQuery.result?.length > 0 &&
72
- logicQuery.result?.length > 0) {
73
- console.log('\nšŸŽ‰ SUCCESS: All component records were created properly!');
74
- console.log('āœ… Flow should now be functional in ServiceNow Flow Designer');
75
- } else {
76
- console.log('\nāš ļø WARNING: Some component records may be missing');
77
- console.log('- This could indicate the fix needs further refinement');
78
- }
79
-
80
- } else {
81
- console.error('āŒ Flow creation failed:', result.error);
82
- process.exit(1);
83
- }
84
-
85
- } catch (error) {
86
- console.error('āŒ Test failed with error:', error);
87
- process.exit(1);
88
- }
89
- }
90
-
91
- // Run the test
92
- testFlowComponentCreation().catch(console.error);
@@ -1,177 +0,0 @@
1
- /**
2
- * Test script to verify parallel agent detection works correctly
3
- * Tests the enhanced ParallelAgentEngine with widget development scenario
4
- */
5
-
6
- // Mock TodoItem class
7
- class TodoItem {
8
- constructor(id, content, status = 'pending', priority = 'medium') {
9
- this.id = id;
10
- this.content = content;
11
- this.status = status;
12
- this.priority = priority;
13
- }
14
- }
15
-
16
- // Mock QueenMemorySystem
17
- class MockQueenMemorySystem {
18
- async store(key, value) {
19
- console.log(`šŸ“ Memory: Storing ${key}`);
20
- return true;
21
- }
22
-
23
- async retrieve(key) {
24
- console.log(`šŸ“– Memory: Retrieved ${key}`);
25
- return null;
26
- }
27
- }
28
-
29
- // Simple test of the detectSpecializedBreakdown logic
30
- function testSpecializedBreakdown() {
31
- console.log('🧪 Testing Specialized Breakdown Detection Logic...\n');
32
-
33
- // Test todos voor widget ontwikkeling
34
- const mockTodos = [
35
- new TodoItem('todo_1', 'Create incident dashboard widget with charts and real-time data', 'pending', 'high'),
36
- new TodoItem('todo_2', 'Style the widget with responsive design for mobile', 'pending', 'medium'),
37
- new TodoItem('todo_3', 'Implement server script for data fetching', 'pending', 'high'),
38
- new TodoItem('todo_4', 'Add client-side JavaScript for interactivity', 'pending', 'medium')
39
- ];
40
-
41
- console.log('šŸ“‹ Mock todos:');
42
- mockTodos.forEach(todo => {
43
- console.log(` - ${todo.content} (${todo.priority})`);
44
- });
45
- console.log('');
46
-
47
- // Test de enhanced detection logica (gekopieerd uit parallel-agent-engine.ts)
48
- const canBenefitFromSpecialization = mockTodos.filter(todo => {
49
- const content = todo.content.toLowerCase();
50
-
51
- // Widget development indicators
52
- if (content.includes('widget') || content.includes('portal') || content.includes('ui')) {
53
- return true;
54
- }
55
-
56
- // Development indicators
57
- if (content.includes('develop') || content.includes('create') || content.includes('build')) {
58
- return true;
59
- }
60
-
61
- // Multiple component indicators
62
- if (content.includes('and') || content.includes('with') || content.includes('including')) {
63
- return true;
64
- }
65
-
66
- // Complex task indicators
67
- if (todo.priority === 'high' || todo.priority === 'medium') {
68
- return true;
69
- }
70
-
71
- // Any development-related task benefits from specialization
72
- if (content.includes('test') || content.includes('style') || content.includes('script')) {
73
- return true;
74
- }
75
-
76
- return false;
77
- });
78
-
79
- console.log(`šŸŽÆ Tasks benefiting from specialization: ${canBenefitFromSpecialization.length}/${mockTodos.length}`);
80
- canBenefitFromSpecialization.forEach(todo => {
81
- console.log(` āœ… ${todo.id}: ${todo.content}`);
82
- });
83
- console.log('');
84
-
85
- // Test be more aggressive fallback
86
- if (canBenefitFromSpecialization.length === 0 && mockTodos.length > 0) {
87
- console.log('šŸš€ Fallback: Adding first 3 todos for parallelization');
88
- canBenefitFromSpecialization.push(...mockTodos.slice(0, Math.min(3, mockTodos.length)));
89
- }
90
-
91
- // Test specialized agent teams (gekopieerd uit parallel-agent-engine.ts)
92
- const breakdownMap = {
93
- 'widget': [
94
- 'widget-creator', // HTML structure specialist
95
- 'css-specialist', // Styling and responsive design specialist
96
- 'backend-specialist', // Server script specialist
97
- 'frontend-specialist', // Client script specialist
98
- 'integration-specialist', // API integration specialist
99
- 'ui-ux-specialist', // User experience specialist
100
- 'performance-specialist', // Performance optimization
101
- 'accessibility-specialist', // Accessibility compliance
102
- 'tester' // Testing specialist
103
- ]
104
- };
105
-
106
- const objectiveType = 'widget';
107
- const suggestedAgents = breakdownMap[objectiveType] || [];
108
-
109
- console.log(`šŸ¤– Suggested agents for ${objectiveType} development:`);
110
- suggestedAgents.forEach((agent, i) => {
111
- console.log(` ${i + 1}. ${agent}`);
112
- });
113
- console.log('');
114
-
115
- // Create mock opportunity
116
- const opportunity = {
117
- id: 'specialized_widget_dev',
118
- type: 'specialized_breakdown',
119
- todos: canBenefitFromSpecialization.map(t => t.id),
120
- suggestedAgents: suggestedAgents,
121
- estimatedSpeedup: Math.min(suggestedAgents.length * 0.6, 3.0), // Cap at 3x speedup
122
- confidence: 0.8, // High confidence for widget development
123
- dependencies: [],
124
- blockers: []
125
- };
126
-
127
- console.log(`šŸ“Š Generated Parallelization Opportunity:`);
128
- console.log(` ID: ${opportunity.id}`);
129
- console.log(` Type: ${opportunity.type}`);
130
- console.log(` Confidence: ${opportunity.confidence}`);
131
- console.log(` Estimated speedup: ${opportunity.estimatedSpeedup}x`);
132
- console.log(` Todo IDs: ${opportunity.todos.join(', ')}`);
133
- console.log(` Suggested agents: ${opportunity.suggestedAgents.join(', ')}`);
134
- console.log('');
135
-
136
- // Test confidence and speedup thresholds
137
- const meetsThreshold = opportunity.confidence > 0.5 && opportunity.estimatedSpeedup > 1.1;
138
- console.log(`āœ… Meets parallelization threshold (>0.5 confidence, >1.1x speedup): ${meetsThreshold}`);
139
-
140
- if (meetsThreshold) {
141
- console.log(`šŸŽ‰ SUCCESS: This opportunity would trigger parallel agent spawning!`);
142
- console.log(`šŸš€ Expected result: ${opportunity.suggestedAgents.length} specialized agents working in parallel`);
143
- } else {
144
- console.log(`āŒ FAILURE: This opportunity would NOT trigger parallel agent spawning`);
145
- }
146
-
147
- return opportunity;
148
- }
149
-
150
- // Test the agent selection logic
151
- function testAgentSpecialization() {
152
- console.log('\nšŸ” Testing Agent Specialization Matching...\n');
153
-
154
- const testCases = [
155
- { content: 'Create incident dashboard widget', expectedAgents: ['widget-creator', 'css-specialist'] },
156
- { content: 'Style the widget with responsive design', expectedAgents: ['css-specialist', 'ui-ux-specialist'] },
157
- { content: 'Implement server script for data fetching', expectedAgents: ['backend-specialist'] },
158
- { content: 'Add client-side JavaScript for interactivity', expectedAgents: ['frontend-specialist'] },
159
- { content: 'Test the widget functionality', expectedAgents: ['tester'] }
160
- ];
161
-
162
- testCases.forEach(testCase => {
163
- console.log(`šŸ“ Todo: "${testCase.content}"`);
164
- console.log(`šŸŽÆ Expected agents: ${testCase.expectedAgents.join(', ')}`);
165
- console.log('');
166
- });
167
- }
168
-
169
- // Run tests
170
- console.log('šŸš€ TESTING PARALLEL AGENT DETECTION v1.1.92\n');
171
- console.log('=' .repeat(60));
172
-
173
- const opportunity = testSpecializedBreakdown();
174
- testAgentSpecialization();
175
-
176
- console.log('=' .repeat(60));
177
- console.log('šŸ Test completed. Check if parallel agents would be spawned!');
@@ -1,184 +0,0 @@
1
- /**
2
- * Test complete Queen Agent workflow with parallel agent spawning
3
- * Simulates the full process from objective to agent spawning
4
- */
5
-
6
- // Mock the Queen Agent workflow for testing
7
- function simulateQueenWorkflow() {
8
- console.log('šŸ‘‘ TESTING COMPLETE QUEEN AGENT WORKFLOW\n');
9
-
10
- const objective = "Create incident dashboard widget with real-time charts and mobile-responsive design";
11
- console.log(`šŸŽÆ Objective: "${objective}"\n`);
12
-
13
- // Step 1: Queen analyzes objective and creates todos
14
- console.log('šŸ“‹ Step 1: Queen Agent creates todos...');
15
- const todos = [
16
- {
17
- id: 'todo_1',
18
- content: 'Design widget HTML structure and layout',
19
- status: 'pending',
20
- priority: 'high'
21
- },
22
- {
23
- id: 'todo_2',
24
- content: 'Create responsive CSS styling for mobile and desktop',
25
- status: 'pending',
26
- priority: 'high'
27
- },
28
- {
29
- id: 'todo_3',
30
- content: 'Implement server script for real-time data fetching',
31
- status: 'pending',
32
- priority: 'high'
33
- },
34
- {
35
- id: 'todo_4',
36
- content: 'Add client-side JavaScript for chart rendering and interactivity',
37
- status: 'pending',
38
- priority: 'medium'
39
- },
40
- {
41
- id: 'todo_5',
42
- content: 'Integrate with ServiceNow APIs for incident data',
43
- status: 'pending',
44
- priority: 'medium'
45
- },
46
- {
47
- id: 'todo_6',
48
- content: 'Test widget functionality and performance',
49
- status: 'pending',
50
- priority: 'medium'
51
- }
52
- ];
53
-
54
- todos.forEach(todo => {
55
- console.log(` āœ… ${todo.id}: ${todo.content} (${todo.priority})`);
56
- });
57
- console.log(`\nšŸ’” Generated ${todos.length} todos for parallel execution\n`);
58
-
59
- // Step 2: Parallel Agent Engine analyzes opportunities
60
- console.log('šŸš€ Step 2: Parallel Agent Engine analysis...');
61
-
62
- // Simulate detectSpecializedBreakdown logic
63
- const canBenefitFromSpecialization = todos.filter(todo => {
64
- const content = todo.content.toLowerCase();
65
- return content.includes('widget') || content.includes('create') ||
66
- content.includes('implement') || content.includes('design') ||
67
- content.includes('test') || content.includes('style') ||
68
- todo.priority === 'high' || todo.priority === 'medium';
69
- });
70
-
71
- console.log(`šŸ“Š Tasks benefiting from specialization: ${canBenefitFromSpecialization.length}/${todos.length}`);
72
-
73
- // Widget specialization team
74
- const widgetSpecialists = [
75
- 'widget-creator', // HTML structure
76
- 'css-specialist', // Responsive styling
77
- 'backend-specialist', // Server script
78
- 'frontend-specialist', // Client JavaScript
79
- 'integration-specialist', // API integration
80
- 'performance-specialist', // Performance optimization
81
- 'tester' // Testing
82
- ];
83
-
84
- const opportunity = {
85
- id: 'widget_parallel_dev',
86
- type: 'specialized_breakdown',
87
- confidence: 0.85,
88
- estimatedSpeedup: 2.8,
89
- suggestedAgents: widgetSpecialists,
90
- todos: canBenefitFromSpecialization.map(t => t.id)
91
- };
92
-
93
- console.log(`šŸŽÆ Parallelization Opportunity Created:`);
94
- console.log(` • Confidence: ${opportunity.confidence} (threshold: >0.5) āœ…`);
95
- console.log(` • Speedup: ${opportunity.estimatedSpeedup}x (threshold: >1.1x) āœ…`);
96
- console.log(` • Agent team size: ${opportunity.suggestedAgents.length} specialists`);
97
- console.log('');
98
-
99
- // Step 3: Check if meets threshold for parallel execution
100
- const meetsThreshold = opportunity.confidence > 0.5 && opportunity.estimatedSpeedup > 1.1;
101
- console.log(`āœ… Meets parallelization threshold: ${meetsThreshold}\n`);
102
-
103
- if (meetsThreshold) {
104
- // Step 4: Simulate agent spawning
105
- console.log('šŸ¤– Step 3: Spawning specialized agents...');
106
-
107
- const agentAssignments = {
108
- 'widget-creator': ['todo_1'], // HTML structure
109
- 'css-specialist': ['todo_2'], // Responsive CSS
110
- 'backend-specialist': ['todo_3'], // Server script
111
- 'frontend-specialist': ['todo_4'], // Client JavaScript
112
- 'integration-specialist': ['todo_5'], // API integration
113
- 'tester': ['todo_6'] // Testing
114
- };
115
-
116
- Object.entries(agentAssignments).forEach(([agentType, assignedTodos]) => {
117
- console.log(` šŸ”§ ${agentType}: Assigned ${assignedTodos.join(', ')}`);
118
- });
119
-
120
- console.log(`\nšŸŽ‰ SUCCESS: ${Object.keys(agentAssignments).length} parallel agents spawned!`);
121
- console.log('šŸ“ˆ Expected outcome: 2.8x faster development vs single-agent approach\n');
122
-
123
- // Step 5: Simulate coordination
124
- console.log('šŸ”„ Step 4: Agent coordination active...');
125
- console.log(' • Shared memory system coordinating work');
126
- console.log(' • Real-time progress tracking');
127
- console.log(' • Dependency management between agents');
128
- console.log(' • Error recovery and fallback strategies active\n');
129
-
130
- return {
131
- success: true,
132
- parallelAgentsSpawned: Object.keys(agentAssignments).length,
133
- estimatedSpeedup: opportunity.estimatedSpeedup,
134
- agentTypes: Object.keys(agentAssignments)
135
- };
136
- } else {
137
- console.log('āŒ FAILURE: Would fall back to single-agent approach');
138
- return {
139
- success: false,
140
- reason: 'Did not meet parallelization threshold'
141
- };
142
- }
143
- }
144
-
145
- // Compare with old vs new system
146
- function compareOldVsNew() {
147
- console.log('šŸ“Š OLD vs NEW SYSTEM COMPARISON\n');
148
-
149
- console.log('āŒ OLD SYSTEM (v1.1.89 and earlier):');
150
- console.log(' • Detection: widget_builder, coder, tester (3 agents)');
151
- console.log(' • Threshold: Too strict (100+ char content required)');
152
- console.log(' • Result: Single-agent approach, no parallelization');
153
- console.log(' • Speed: 1x (baseline)');
154
- console.log('');
155
-
156
- console.log('āœ… NEW SYSTEM (v1.1.92):');
157
- console.log(' • Detection: 7+ specialized agents for widget development');
158
- console.log(' • Threshold: Intelligent (keyword + priority based)');
159
- console.log(' • Result: Multi-agent parallel execution');
160
- console.log(' • Speed: 2.8x faster development');
161
- console.log(' • Agents: widget-creator, css-specialist, backend-specialist,');
162
- console.log(' frontend-specialist, integration-specialist,');
163
- console.log(' performance-specialist, tester');
164
- console.log('');
165
- }
166
-
167
- // Run the complete test
168
- console.log('šŸš€ SNOW-FLOW PARALLEL AGENT SYSTEM TEST v1.1.92');
169
- console.log('=' .repeat(70));
170
-
171
- const result = simulateQueenWorkflow();
172
- compareOldVsNew();
173
-
174
- console.log('šŸ FINAL RESULT:');
175
- if (result.success) {
176
- console.log(`āœ… Parallel agent spawning WORKING!`);
177
- console.log(`šŸš€ ${result.parallelAgentsSpawned} agents working in parallel`);
178
- console.log(`⚔ ${result.estimatedSpeedup}x faster than single-agent approach`);
179
- console.log(`šŸŽÆ Agent types: ${result.agentTypes.join(', ')}`);
180
- } else {
181
- console.log(`āŒ Parallel agent spawning FAILED: ${result.reason}`);
182
- }
183
-
184
- console.log('\nšŸ’” Ready for real deployment - parallel agents will spawn automatically!');
@@ -1,184 +0,0 @@
1
- /**
2
- * Standalone test for real system monitoring
3
- * This demonstrates the actual system metrics being collected
4
- */
5
-
6
- const os = require('os');
7
- const { execSync } = require('child_process');
8
-
9
- // Get real CPU usage
10
- function getCPUUsage() {
11
- const cpus = os.cpus();
12
- let totalIdle = 0;
13
- let totalTick = 0;
14
-
15
- cpus.forEach(cpu => {
16
- for (const type in cpu.times) {
17
- totalTick += cpu.times[type];
18
- }
19
- totalIdle += cpu.times.idle;
20
- });
21
-
22
- const cpuUsage = 100 - ~~(100 * totalIdle / totalTick);
23
- return cpuUsage;
24
- }
25
-
26
- // Get real memory usage
27
- function getMemoryUsage() {
28
- const totalMemory = os.totalmem();
29
- const freeMemory = os.freemem();
30
- const usedMemory = totalMemory - freeMemory;
31
-
32
- return {
33
- total: (totalMemory / 1024 / 1024).toFixed(0) + ' MB',
34
- used: (usedMemory / 1024 / 1024).toFixed(0) + ' MB',
35
- free: (freeMemory / 1024 / 1024).toFixed(0) + ' MB',
36
- percentage: ((usedMemory / totalMemory) * 100).toFixed(1) + '%'
37
- };
38
- }
39
-
40
- // Get real disk usage
41
- function getDiskUsage() {
42
- try {
43
- if (process.platform === 'darwin' || process.platform === 'linux') {
44
- const output = execSync('df -k /', { encoding: 'utf8' });
45
- const lines = output.trim().split('\n');
46
-
47
- if (lines.length >= 2) {
48
- const parts = lines[1].split(/\s+/);
49
- const totalBlocks = parseInt(parts[1], 10);
50
- const usedBlocks = parseInt(parts[2], 10);
51
-
52
- const diskTotal = totalBlocks / 1024 / 1024; // Convert to GB
53
- const diskUsed = usedBlocks / 1024 / 1024; // Convert to GB
54
- const diskUsage = (diskUsed / diskTotal) * 100;
55
-
56
- return {
57
- total: diskTotal.toFixed(1) + ' GB',
58
- used: diskUsed.toFixed(1) + ' GB',
59
- percentage: diskUsage.toFixed(1) + '%'
60
- };
61
- }
62
- } else if (process.platform === 'win32') {
63
- const output = execSync('wmic logicaldisk where caption="C:" get size,freespace /value', { encoding: 'utf8' });
64
- const sizeMatch = output.match(/Size=(\d+)/);
65
- const freeMatch = output.match(/FreeSpace=(\d+)/);
66
-
67
- if (sizeMatch && freeMatch) {
68
- const totalBytes = parseInt(sizeMatch[1], 10);
69
- const freeBytes = parseInt(freeMatch[1], 10);
70
- const usedBytes = totalBytes - freeBytes;
71
-
72
- const diskTotal = totalBytes / 1024 / 1024 / 1024;
73
- const diskUsed = usedBytes / 1024 / 1024 / 1024;
74
- const diskUsage = (diskUsed / diskTotal) * 100;
75
-
76
- return {
77
- total: diskTotal.toFixed(1) + ' GB',
78
- used: diskUsed.toFixed(1) + ' GB',
79
- percentage: diskUsage.toFixed(1) + '%'
80
- };
81
- }
82
- }
83
- } catch (error) {
84
- return { error: error.message };
85
- }
86
-
87
- return { error: 'Unsupported platform' };
88
- }
89
-
90
- // Get process memory usage
91
- function getProcessMemory() {
92
- const usage = process.memoryUsage();
93
- return {
94
- heapUsed: (usage.heapUsed / 1024 / 1024).toFixed(1) + ' MB',
95
- heapTotal: (usage.heapTotal / 1024 / 1024).toFixed(1) + ' MB',
96
- rss: (usage.rss / 1024 / 1024).toFixed(1) + ' MB',
97
- external: (usage.external / 1024 / 1024).toFixed(1) + ' MB'
98
- };
99
- }
100
-
101
- console.log('šŸ„ Snow-Flow Real System Health Monitoring\n');
102
- console.log('Platform:', process.platform);
103
- console.log('Architecture:', process.arch);
104
- console.log('Node Version:', process.version);
105
- console.log('CPU Cores:', os.cpus().length);
106
- console.log('\nšŸ“Š Real-time System Metrics:\n');
107
-
108
- // Display initial metrics
109
- console.log('šŸ’» CPU Usage:', getCPUUsage() + '%');
110
-
111
- const memory = getMemoryUsage();
112
- console.log('\n🧠 Memory Usage:');
113
- console.log(' Total:', memory.total);
114
- console.log(' Used:', memory.used, `(${memory.percentage})`);
115
- console.log(' Free:', memory.free);
116
-
117
- const disk = getDiskUsage();
118
- console.log('\nšŸ’¾ Disk Usage:');
119
- if (disk.error) {
120
- console.log(' Error:', disk.error);
121
- } else {
122
- console.log(' Total:', disk.total);
123
- console.log(' Used:', disk.used, `(${disk.percentage})`);
124
- }
125
-
126
- const processMemory = getProcessMemory();
127
- console.log('\nšŸ”§ Process Memory:');
128
- console.log(' Heap Used:', processMemory.heapUsed);
129
- console.log(' Heap Total:', processMemory.heapTotal);
130
- console.log(' RSS:', processMemory.rss);
131
- console.log(' External:', processMemory.external);
132
-
133
- console.log('\nšŸ”„ Load Average:', os.loadavg().map(l => l.toFixed(2)).join(', '));
134
- console.log('ā±ļø System Uptime:', (os.uptime() / 3600).toFixed(1), 'hours');
135
- console.log('ā±ļø Process Uptime:', (process.uptime() / 60).toFixed(1), 'minutes');
136
-
137
- // Monitor for 5 seconds
138
- console.log('\nšŸ“ˆ Monitoring CPU usage for 5 seconds...\n');
139
-
140
- let previousCPU = getCPUInfo();
141
- const interval = setInterval(() => {
142
- const currentCPU = getCPUInfo();
143
- const usage = calculateCPUUsage(previousCPU, currentCPU);
144
-
145
- process.stdout.write(`\rCPU: ${usage.toFixed(1)}% | Memory: ${getMemoryUsage().percentage} | Time: ${new Date().toLocaleTimeString()}`);
146
-
147
- previousCPU = currentCPU;
148
- }, 1000);
149
-
150
- setTimeout(() => {
151
- clearInterval(interval);
152
- console.log('\n\nāœ… Real system monitoring complete!');
153
- console.log('\nThis demonstrates that Snow-Flow is now collecting REAL system metrics, not placeholders.');
154
- }, 5000);
155
-
156
- // Helper functions for accurate CPU measurement
157
- function getCPUInfo() {
158
- const cpus = os.cpus();
159
- return cpus.map(cpu => {
160
- const total = Object.values(cpu.times).reduce((acc, time) => acc + time, 0);
161
- return {
162
- idle: cpu.times.idle,
163
- total: total
164
- };
165
- });
166
- }
167
-
168
- function calculateCPUUsage(previous, current) {
169
- let totalIdleDiff = 0;
170
- let totalDiff = 0;
171
-
172
- for (let i = 0; i < current.length; i++) {
173
- const idleDiff = current[i].idle - previous[i].idle;
174
- const totalCPUDiff = current[i].total - previous[i].total;
175
-
176
- totalIdleDiff += idleDiff;
177
- totalDiff += totalCPUDiff;
178
- }
179
-
180
- if (totalDiff === 0) return 0;
181
-
182
- const idlePercentage = (totalIdleDiff / totalDiff) * 100;
183
- return 100 - idlePercentage;
184
- }