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.
- package/.husky/pre-commit +4 -0
- package/.mcp.json.template +0 -9
- package/.releaserc.json +47 -0
- package/CLAUDE.md +232 -156
- package/LICENSE +1 -1
- package/dist/agents/base-agent.d.ts +1 -1
- package/dist/agents/base-agent.d.ts.map +1 -1
- package/dist/agents/base-agent.js +2 -1
- package/dist/agents/base-agent.js.map +1 -1
- package/dist/agents/coordinator.d.ts.map +1 -1
- package/dist/agents/coordinator.js +5 -2
- package/dist/agents/coordinator.js.map +1 -1
- package/dist/agents/index.d.ts +0 -4
- package/dist/agents/index.d.ts.map +1 -1
- package/dist/agents/index.js +1 -0
- package/dist/agents/index.js.map +1 -1
- package/dist/agents/queen-403-handler.d.ts +2 -2
- package/dist/agents/queen-403-handler.d.ts.map +1 -1
- package/dist/agents/queen-403-handler.js +3 -2
- package/dist/agents/queen-403-handler.js.map +1 -1
- package/dist/agents/queen-agent.d.ts +4 -0
- package/dist/agents/queen-agent.d.ts.map +1 -1
- package/dist/agents/queen-agent.js +137 -34
- package/dist/agents/queen-agent.js.map +1 -1
- package/dist/agents/script-writer-agent.js +1 -0
- package/dist/agents/security-agent.js +28 -27
- package/dist/agents/security-agent.js.map +1 -1
- package/dist/agents/widget-creator-agent.d.ts.map +1 -1
- package/dist/agents/widget-creator-agent.js +121 -62
- package/dist/agents/widget-creator-agent.js.map +1 -1
- package/dist/api/error-handling.d.ts +112 -1
- package/dist/api/error-handling.d.ts.map +1 -1
- package/dist/api/error-handling.js +2 -1
- package/dist/api/error-handling.js.map +1 -1
- package/dist/api/natural-language-mapper.d.ts +3 -5
- package/dist/api/natural-language-mapper.d.ts.map +1 -1
- package/dist/api/natural-language-mapper.js +1 -0
- package/dist/api/natural-language-mapper.js.map +1 -1
- package/dist/api/performance-optimizer.d.ts.map +1 -1
- package/dist/api/performance-optimizer.js +1 -0
- package/dist/api/performance-optimizer.js.map +1 -1
- package/dist/api/transaction-manager.js +1 -0
- package/dist/cli/deploy-artifact.js +1 -0
- package/dist/cli/snow-flow-cli-integration.d.ts.map +1 -1
- package/dist/cli/snow-flow-cli-integration.js +1 -0
- package/dist/cli/snow-flow-cli-integration.js.map +1 -1
- package/dist/cli.js +294 -640
- package/dist/cli.js.map +1 -1
- package/dist/compliance/advanced-compliance-system.d.ts +316 -0
- package/dist/compliance/advanced-compliance-system.d.ts.map +1 -0
- package/dist/compliance/advanced-compliance-system.js +1 -0
- package/dist/compliance/advanced-compliance-system.js.map +1 -0
- package/dist/compliance/index.d.ts +6 -0
- package/dist/compliance/index.d.ts.map +1 -0
- package/dist/compliance/index.js +1 -0
- package/dist/compliance/index.js.map +1 -0
- package/dist/config/snow-flow-config.d.ts +279 -241
- package/dist/config/snow-flow-config.d.ts.map +1 -1
- package/dist/config/snow-flow-config.js +1 -0
- package/dist/config/snow-flow-config.js.map +1 -1
- package/dist/documentation/index.d.ts +6 -0
- package/dist/documentation/index.d.ts.map +1 -0
- package/dist/documentation/index.js +1 -0
- package/dist/documentation/index.js.map +1 -0
- package/dist/documentation/self-documenting-system.d.ts +287 -0
- package/dist/documentation/self-documenting-system.d.ts.map +1 -0
- package/dist/documentation/self-documenting-system.js +38 -37
- package/dist/documentation/self-documenting-system.js.map +1 -0
- package/dist/healing/index.d.ts +6 -0
- package/dist/healing/index.d.ts.map +1 -0
- package/dist/healing/index.js +1 -0
- package/dist/healing/index.js.map +1 -0
- package/dist/healing/self-healing-system.d.ts +315 -0
- package/dist/healing/self-healing-system.d.ts.map +1 -0
- package/dist/healing/self-healing-system.js +1 -0
- package/dist/healing/self-healing-system.js.map +1 -0
- package/dist/health/system-health.d.ts +34 -0
- package/dist/health/system-health.d.ts.map +1 -1
- package/dist/health/system-health.js +1 -0
- package/dist/health/system-health.js.map +1 -1
- package/dist/index.js +1 -0
- package/dist/intelligence/acl-analyzer.d.ts +1 -1
- package/dist/intelligence/acl-analyzer.d.ts.map +1 -1
- package/dist/intelligence/acl-analyzer.js +4 -3
- package/dist/intelligence/acl-analyzer.js.map +1 -1
- package/dist/intelligence/auto-resolution-engine.js +1 -0
- package/dist/intelligence/auto-resolution-engine.js.map +1 -1
- package/dist/intelligence/gap-analysis-engine.d.ts +3 -3
- package/dist/intelligence/gap-analysis-engine.js +14 -13
- package/dist/intelligence/gap-analysis-engine.js.map +1 -1
- package/dist/intelligence/manual-instructions-generator.d.ts +1 -1
- package/dist/intelligence/manual-instructions-generator.d.ts.map +1 -1
- package/dist/intelligence/manual-instructions-generator.js +2 -1
- package/dist/intelligence/manual-instructions-generator.js.map +1 -1
- package/dist/intelligence/mcp-coverage-analyzer.js +4 -3
- package/dist/intelligence/mcp-coverage-analyzer.js.map +1 -1
- package/dist/intelligence/multi-pass-requirements-analyzer.d.ts +79 -0
- package/dist/intelligence/multi-pass-requirements-analyzer.d.ts.map +1 -0
- package/dist/intelligence/multi-pass-requirements-analyzer.js +13 -12
- package/dist/intelligence/multi-pass-requirements-analyzer.js.map +1 -0
- package/dist/intelligence/performance-recommendations-engine.d.ts +236 -0
- package/dist/intelligence/performance-recommendations-engine.d.ts.map +1 -0
- package/dist/intelligence/performance-recommendations-engine.js +5 -4
- package/dist/intelligence/performance-recommendations-engine.js.map +1 -0
- package/dist/intelligence/requirements-analyzer.d.ts +1 -1
- package/dist/intelligence/requirements-analyzer.d.ts.map +1 -1
- package/dist/intelligence/requirements-analyzer.js +4 -3
- package/dist/intelligence/requirements-analyzer.js.map +1 -1
- package/dist/intelligence/task-analyzer.d.ts +2 -2
- package/dist/intelligence/task-analyzer.d.ts.map +1 -1
- package/dist/intelligence/task-analyzer.js +40 -39
- package/dist/intelligence/task-analyzer.js.map +1 -1
- package/dist/managers/scope-manager.d.ts.map +1 -1
- package/dist/managers/scope-manager.js +2 -1
- package/dist/managers/scope-manager.js.map +1 -1
- package/dist/mcp/base-mcp-server.d.ts +26 -2
- package/dist/mcp/base-mcp-server.d.ts.map +1 -1
- package/dist/mcp/base-mcp-server.js +2 -1
- package/dist/mcp/base-mcp-server.js.map +1 -1
- package/dist/mcp/http-transport-wrapper.d.ts +1 -0
- package/dist/mcp/http-transport-wrapper.d.ts.map +1 -1
- package/dist/mcp/http-transport-wrapper.js +1 -0
- package/dist/mcp/http-transport-wrapper.js.map +1 -1
- package/dist/mcp/service-discovery-client.js +1 -0
- package/dist/mcp/servicenow-automation-mcp-refactored.d.ts.map +1 -1
- package/dist/mcp/servicenow-automation-mcp-refactored.js +1 -1
- package/dist/mcp/servicenow-automation-mcp-refactored.js.map +1 -1
- package/dist/mcp/servicenow-automation-mcp.js +1 -0
- package/dist/mcp/servicenow-deployment-mcp-refactored.d.ts +5 -0
- package/dist/mcp/servicenow-deployment-mcp-refactored.d.ts.map +1 -1
- package/dist/mcp/servicenow-deployment-mcp-refactored.js +1 -0
- package/dist/mcp/servicenow-deployment-mcp-refactored.js.map +1 -1
- package/dist/mcp/servicenow-deployment-mcp.js +500 -131
- package/dist/mcp/servicenow-deployment-mcp.js.map +1 -1
- package/dist/mcp/servicenow-graph-memory-mcp-refactored.js +5 -4
- package/dist/mcp/servicenow-graph-memory-mcp-refactored.js.map +1 -1
- package/dist/mcp/servicenow-graph-memory-mcp.js +6 -5
- package/dist/mcp/servicenow-graph-memory-mcp.js.map +1 -1
- package/dist/mcp/servicenow-integration-mcp-refactored.d.ts.map +1 -1
- package/dist/mcp/servicenow-integration-mcp-refactored.js +1 -0
- package/dist/mcp/servicenow-integration-mcp-refactored.js.map +1 -1
- package/dist/mcp/servicenow-integration-mcp.js +1 -0
- package/dist/mcp/servicenow-intelligent-mcp-refactored.js +24 -23
- package/dist/mcp/servicenow-intelligent-mcp-refactored.js.map +1 -1
- package/dist/mcp/servicenow-intelligent-mcp.d.ts +38 -1
- package/dist/mcp/servicenow-intelligent-mcp.d.ts.map +1 -1
- package/dist/mcp/servicenow-intelligent-mcp.js +35 -34
- package/dist/mcp/servicenow-intelligent-mcp.js.map +1 -1
- package/dist/mcp/servicenow-mcp-server.js +1 -0
- package/dist/mcp/servicenow-memory-mcp.d.ts +5 -4
- package/dist/mcp/servicenow-memory-mcp.d.ts.map +1 -1
- package/dist/mcp/servicenow-memory-mcp.js +1 -0
- package/dist/mcp/servicenow-memory-mcp.js.map +1 -1
- package/dist/mcp/servicenow-operations-mcp-refactored.d.ts +1 -1
- package/dist/mcp/servicenow-operations-mcp-refactored.d.ts.map +1 -1
- package/dist/mcp/servicenow-operations-mcp-refactored.js +34 -33
- package/dist/mcp/servicenow-operations-mcp-refactored.js.map +1 -1
- package/dist/mcp/servicenow-operations-mcp.d.ts +1 -1
- package/dist/mcp/servicenow-operations-mcp.js +68 -67
- package/dist/mcp/servicenow-operations-mcp.js.map +1 -1
- package/dist/mcp/servicenow-platform-development-mcp-refactored.js +1 -0
- package/dist/mcp/servicenow-platform-development-mcp.js +2 -1
- package/dist/mcp/servicenow-platform-development-mcp.js.map +1 -1
- package/dist/mcp/servicenow-progressive-indexer.js +1 -0
- package/dist/mcp/servicenow-reporting-analytics-mcp-refactored.d.ts.map +1 -1
- package/dist/mcp/servicenow-reporting-analytics-mcp-refactored.js +6 -5
- package/dist/mcp/servicenow-reporting-analytics-mcp-refactored.js.map +1 -1
- package/dist/mcp/servicenow-reporting-analytics-mcp.js +9 -8
- package/dist/mcp/servicenow-reporting-analytics-mcp.js.map +1 -1
- package/dist/mcp/servicenow-security-compliance-mcp-refactored.js +3 -2
- package/dist/mcp/servicenow-security-compliance-mcp-refactored.js.map +1 -1
- package/dist/mcp/servicenow-security-compliance-mcp.js +6 -5
- package/dist/mcp/servicenow-security-compliance-mcp.js.map +1 -1
- package/dist/mcp/servicenow-update-set-mcp-refactored.d.ts.map +1 -1
- package/dist/mcp/servicenow-update-set-mcp-refactored.js +1 -0
- package/dist/mcp/servicenow-update-set-mcp-refactored.js.map +1 -1
- package/dist/mcp/servicenow-update-set-mcp.js +1 -0
- package/dist/mcp/servicenow-update-set-mcp.js.map +1 -1
- package/dist/mcp/servicenow-xml-flow-mcp.d.ts +53 -0
- package/dist/mcp/servicenow-xml-flow-mcp.d.ts.map +1 -0
- package/dist/mcp/servicenow-xml-flow-mcp.js +14 -13
- package/dist/mcp/servicenow-xml-flow-mcp.js.map +1 -0
- package/dist/mcp/shared/agent-context-provider.js +1 -0
- package/dist/mcp/shared/base-mcp-server.d.ts +142 -0
- package/dist/mcp/shared/base-mcp-server.d.ts.map +1 -1
- package/dist/mcp/shared/base-mcp-server.js +5 -4
- package/dist/mcp/shared/base-mcp-server.js.map +1 -1
- package/dist/mcp/shared/mcp-memory-manager.js +1 -0
- package/dist/mcp/shared/mcp-resource-manager.d.ts +99 -0
- package/dist/mcp/shared/mcp-resource-manager.d.ts.map +1 -0
- package/dist/mcp/shared/mcp-resource-manager.js +1 -0
- package/dist/mcp/shared/mcp-resource-manager.js.map +1 -0
- package/dist/mcp/start-all-mcp-servers.js +1 -0
- package/dist/mcp/start-servicenow-mcp.js +1 -0
- package/dist/memory/hierarchical-memory-system.d.ts +90 -0
- package/dist/memory/hierarchical-memory-system.d.ts.map +1 -0
- package/dist/memory/hierarchical-memory-system.js +1 -0
- package/dist/memory/hierarchical-memory-system.js.map +1 -0
- package/dist/memory/index.js +1 -0
- package/dist/memory/memory-client.d.ts +11 -1
- package/dist/memory/memory-client.d.ts.map +1 -1
- package/dist/memory/memory-client.js +1 -0
- package/dist/memory/memory-client.js.map +1 -1
- package/dist/memory/memory-operations.d.ts +12 -3
- package/dist/memory/memory-operations.d.ts.map +1 -1
- package/dist/memory/memory-operations.js +1 -0
- package/dist/memory/memory-operations.js.map +1 -1
- package/dist/memory/memory-system.d.ts +41 -7
- package/dist/memory/memory-system.d.ts.map +1 -1
- package/dist/memory/memory-system.js +1 -0
- package/dist/memory/memory-system.js.map +1 -1
- package/dist/memory/servicenow-artifact-indexer.js +1 -0
- package/dist/memory/snow-flow-memory-patterns.d.ts +213 -0
- package/dist/memory/snow-flow-memory-patterns.d.ts.map +1 -0
- package/dist/memory/snow-flow-memory-patterns.js +1 -0
- package/dist/memory/snow-flow-memory-patterns.js.map +1 -0
- package/dist/memory/swarm-memory.js +1 -0
- package/dist/monitoring/enhanced-monitoring-system.d.ts +172 -0
- package/dist/monitoring/enhanced-monitoring-system.d.ts.map +1 -0
- package/dist/monitoring/enhanced-monitoring-system.js +2 -1
- package/dist/monitoring/enhanced-monitoring-system.js.map +1 -0
- package/dist/monitoring/performance-tracker.d.ts.map +1 -1
- package/dist/monitoring/performance-tracker.js +1 -0
- package/dist/optimization/cost-optimization-engine.d.ts +271 -0
- package/dist/optimization/cost-optimization-engine.d.ts.map +1 -0
- package/dist/optimization/cost-optimization-engine.js +3 -2
- package/dist/optimization/cost-optimization-engine.js.map +1 -0
- package/dist/optimization/index.d.ts +5 -0
- package/dist/optimization/index.d.ts.map +1 -0
- package/dist/optimization/index.js +1 -0
- package/dist/optimization/index.js.map +1 -0
- package/dist/queen/agent-factory.d.ts.map +1 -1
- package/dist/queen/agent-factory.js +18 -3
- package/dist/queen/agent-factory.js.map +1 -1
- package/dist/queen/index.js +1 -0
- package/dist/queen/mcp-execution-bridge.d.ts +4 -0
- package/dist/queen/mcp-execution-bridge.d.ts.map +1 -1
- package/dist/queen/mcp-execution-bridge.js +1 -0
- package/dist/queen/mcp-execution-bridge.js.map +1 -1
- package/dist/queen/neural-learning.d.ts.map +1 -1
- package/dist/queen/neural-learning.js +5 -0
- package/dist/queen/neural-learning.js.map +1 -1
- package/dist/queen/parallel-agent-engine.d.ts +1 -0
- package/dist/queen/parallel-agent-engine.d.ts.map +1 -1
- package/dist/queen/parallel-agent-engine.js +2 -1
- package/dist/queen/parallel-agent-engine.js.map +1 -1
- package/dist/queen/queen-memory-system.d.ts +164 -0
- package/dist/queen/queen-memory-system.d.ts.map +1 -0
- package/dist/queen/queen-memory-system.js +11 -10
- package/dist/queen/queen-memory-system.js.map +1 -0
- package/dist/queen/queen-memory.js +1 -0
- package/dist/queen/servicenow-queen.d.ts +3 -2
- package/dist/queen/servicenow-queen.d.ts.map +1 -1
- package/dist/queen/servicenow-queen.js +20 -19
- package/dist/queen/servicenow-queen.js.map +1 -1
- package/dist/queen/types.d.ts +11 -5
- package/dist/queen/types.d.ts.map +1 -1
- package/dist/queen/types.js +1 -0
- package/dist/rollback/smart-rollback-system.d.ts +350 -0
- package/dist/rollback/smart-rollback-system.d.ts.map +1 -0
- package/dist/rollback/smart-rollback-system.js +1 -0
- package/dist/rollback/smart-rollback-system.js.map +1 -0
- package/dist/snow-flow-system.d.ts +3 -3
- package/dist/snow-flow-system.d.ts.map +1 -1
- package/dist/snow-flow-system.js +4 -3
- package/dist/snow-flow-system.js.map +1 -1
- package/dist/sparc/sparc-help.d.ts +1 -2
- package/dist/sparc/sparc-help.d.ts.map +1 -1
- package/dist/sparc/sparc-help.js +2 -1
- package/dist/sparc/sparc-help.js.map +1 -1
- package/dist/sparc/team-sparc.d.ts +2 -2
- package/dist/sparc/team-sparc.d.ts.map +1 -1
- package/dist/sparc/team-sparc.js +4 -3
- package/dist/sparc/team-sparc.js.map +1 -1
- package/dist/strategies/global-scope-strategy.js +4 -3
- package/dist/strategies/global-scope-strategy.js.map +1 -1
- package/dist/testing/integration-test-suite.d.ts +303 -0
- package/dist/testing/integration-test-suite.d.ts.map +1 -0
- package/dist/testing/integration-test-suite.js +4 -3
- package/dist/testing/integration-test-suite.js.map +1 -0
- package/dist/types/index.d.ts +2 -3
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +1 -0
- package/dist/types/index.js.map +1 -1
- package/dist/types/servicenow.types.js +1 -0
- package/dist/types/snow-flow.types.d.ts +1 -1
- package/dist/types/snow-flow.types.d.ts.map +1 -1
- package/dist/types/snow-flow.types.js +1 -0
- package/dist/types/todo.types.js +1 -0
- package/dist/utils/action-type-cache.d.ts.map +1 -1
- package/dist/utils/action-type-cache.js +1 -0
- package/dist/utils/action-type-cache.js.map +1 -1
- package/dist/utils/agent-detector.d.ts +1 -1
- package/dist/utils/agent-detector.d.ts.map +1 -1
- package/dist/utils/agent-detector.js +11 -10
- package/dist/utils/agent-detector.js.map +1 -1
- package/dist/utils/artifact-tracker.js +1 -0
- package/dist/utils/dependency-detector.js +1 -0
- package/dist/utils/deployment-metadata-handler.d.ts +110 -0
- package/dist/utils/deployment-metadata-handler.d.ts.map +1 -0
- package/dist/utils/deployment-metadata-handler.js +1 -0
- package/dist/utils/deployment-metadata-handler.js.map +1 -0
- package/dist/utils/error-recovery.js +1 -0
- package/dist/utils/logger.js +1 -0
- package/dist/utils/mcp-auth-middleware.js +1 -0
- package/dist/utils/mcp-config-manager.d.ts.map +1 -1
- package/dist/utils/mcp-config-manager.js +1 -0
- package/dist/utils/mcp-config-manager.js.map +1 -1
- package/dist/utils/mcp-server-manager.d.ts.map +1 -1
- package/dist/utils/mcp-server-manager.js +6 -5
- package/dist/utils/mcp-server-manager.js.map +1 -1
- package/dist/utils/mcp-tool-registry.d.ts +69 -0
- package/dist/utils/mcp-tool-registry.d.ts.map +1 -0
- package/dist/utils/mcp-tool-registry.js +1 -0
- package/dist/utils/mcp-tool-registry.js.map +1 -0
- package/dist/utils/scope-utils.d.ts +2 -2
- package/dist/utils/scope-utils.d.ts.map +1 -1
- package/dist/utils/scope-utils.js +32 -31
- package/dist/utils/scope-utils.js.map +1 -1
- package/dist/utils/servicenow-client.d.ts +18 -1
- package/dist/utils/servicenow-client.d.ts.map +1 -1
- package/dist/utils/servicenow-client.js +1 -0
- package/dist/utils/servicenow-client.js.map +1 -1
- package/dist/utils/servicenow-id-generator.d.ts +107 -0
- package/dist/utils/servicenow-id-generator.d.ts.map +1 -0
- package/dist/utils/servicenow-id-generator.js +1 -0
- package/dist/utils/servicenow-id-generator.js.map +1 -0
- package/dist/utils/snow-oauth.d.ts +20 -0
- package/dist/utils/snow-oauth.d.ts.map +1 -1
- package/dist/utils/snow-oauth.js +1 -0
- package/dist/utils/snow-oauth.js.map +1 -1
- package/dist/utils/template-engine.js +1 -0
- package/dist/utils/theme-manager.js +1 -0
- package/dist/utils/unified-auth-store.d.ts +55 -0
- package/dist/utils/unified-auth-store.d.ts.map +1 -0
- package/dist/utils/unified-auth-store.js +1 -0
- package/dist/utils/unified-auth-store.js.map +1 -0
- package/dist/utils/update-set-importer.d.ts +72 -0
- package/dist/utils/update-set-importer.d.ts.map +1 -0
- package/dist/utils/update-set-importer.js +1 -0
- package/dist/utils/update-set-importer.js.map +1 -0
- package/dist/utils/update-set-xml-packager.d.ts +85 -0
- package/dist/utils/update-set-xml-packager.d.ts.map +1 -0
- package/dist/utils/update-set-xml-packager.js +1 -0
- package/dist/utils/update-set-xml-packager.js.map +1 -0
- package/dist/utils/widget-template-generator.d.ts +82 -0
- package/dist/utils/widget-template-generator.d.ts.map +1 -0
- package/dist/utils/widget-template-generator.js +1 -0
- package/dist/utils/widget-template-generator.js.map +1 -0
- package/dist/version.d.ts +28 -1
- package/dist/version.d.ts.map +1 -1
- package/dist/version.js +29 -19
- package/dist/version.js.map +1 -1
- package/package.json +20 -2
- package/COMMIT_MESSAGE.txt +0 -31
- package/action-v2-implementation.js +0 -338
- package/create-snow-flow-env.sh +0 -32
- package/decode-action-values.js +0 -164
- package/npm-publish-summary.txt +0 -35
- package/test-config.js +0 -55
- package/test-flow-fix.js +0 -92
- package/test-parallel-agents.js +0 -177
- package/test-queen-workflow.js +0 -184
- 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);
|
package/test-parallel-agents.js
DELETED
|
@@ -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!');
|
package/test-queen-workflow.js
DELETED
|
@@ -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!');
|
package/test-real-monitoring.js
DELETED
|
@@ -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
|
-
}
|