snow-flow 1.4.6 → 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/.releaserc.json +47 -0
- 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 +10 -9
- 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 +1 -0
- 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/snow-flow-claude-md-template.txt +0 -262
- 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
|
@@ -1,338 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* ServiceNow Flow Action v2 Implementation
|
|
3
|
-
*
|
|
4
|
-
* This module demonstrates the correct way to encode action values
|
|
5
|
-
* and generate proper flow XML for ServiceNow Flow Designer.
|
|
6
|
-
*/
|
|
7
|
-
|
|
8
|
-
const pako = require('pako');
|
|
9
|
-
const crypto = require('crypto');
|
|
10
|
-
|
|
11
|
-
/**
|
|
12
|
-
* Encodes action parameters for sys_hub_action_instance_v2
|
|
13
|
-
*
|
|
14
|
-
* @param {Array} parameters - Array of parameter objects
|
|
15
|
-
* @param {string} parameters[].name - Parameter name
|
|
16
|
-
* @param {string} parameters[].value - Parameter value
|
|
17
|
-
* @param {string} parameters[].valueType - Type: 'static', 'fd_data', 'expression'
|
|
18
|
-
* @returns {string} Base64-encoded gzipped parameter array
|
|
19
|
-
*/
|
|
20
|
-
function encodeActionValue(parameters) {
|
|
21
|
-
// Ensure parameters is an array
|
|
22
|
-
if (!Array.isArray(parameters)) {
|
|
23
|
-
throw new Error('Parameters must be an array');
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
// Normalize parameter structure
|
|
27
|
-
const normalizedParams = parameters.map(param => ({
|
|
28
|
-
name: param.name,
|
|
29
|
-
value: param.value,
|
|
30
|
-
valueType: param.valueType || 'static'
|
|
31
|
-
}));
|
|
32
|
-
|
|
33
|
-
// Convert to JSON string
|
|
34
|
-
const jsonString = JSON.stringify(normalizedParams);
|
|
35
|
-
|
|
36
|
-
// Gzip compress
|
|
37
|
-
const compressed = pako.gzip(jsonString);
|
|
38
|
-
|
|
39
|
-
// Base64 encode
|
|
40
|
-
const base64 = Buffer.from(compressed).toString('base64');
|
|
41
|
-
|
|
42
|
-
return base64;
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
/**
|
|
46
|
-
* Decodes action value for debugging/verification
|
|
47
|
-
*
|
|
48
|
-
* @param {string} encodedValue - Base64-encoded gzipped value
|
|
49
|
-
* @returns {Array} Decoded parameter array
|
|
50
|
-
*/
|
|
51
|
-
function decodeActionValue(encodedValue) {
|
|
52
|
-
// Base64 decode
|
|
53
|
-
const compressed = Buffer.from(encodedValue, 'base64');
|
|
54
|
-
|
|
55
|
-
// Gunzip
|
|
56
|
-
const jsonString = pako.ungzip(compressed, { to: 'string' });
|
|
57
|
-
|
|
58
|
-
// Parse JSON
|
|
59
|
-
return JSON.parse(jsonString);
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
/**
|
|
63
|
-
* Generates a unique UI ID for flow components
|
|
64
|
-
*
|
|
65
|
-
* @returns {number} Unique UI ID
|
|
66
|
-
*/
|
|
67
|
-
let uiIdCounter = 1;
|
|
68
|
-
function generateUniqueUiId() {
|
|
69
|
-
return uiIdCounter++;
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
/**
|
|
73
|
-
* Creates a sys_hub_action_instance_v2 record
|
|
74
|
-
*
|
|
75
|
-
* @param {Object} config - Action configuration
|
|
76
|
-
* @param {string} config.flowSysId - Parent flow sys_id
|
|
77
|
-
* @param {string} config.actionType - Action type ID
|
|
78
|
-
* @param {string} config.actionName - Display name
|
|
79
|
-
* @param {Array} config.parameters - Action parameters
|
|
80
|
-
* @param {number} config.x - X position in designer
|
|
81
|
-
* @param {number} config.y - Y position in designer
|
|
82
|
-
* @returns {Object} Action instance record
|
|
83
|
-
*/
|
|
84
|
-
function createActionInstance(config) {
|
|
85
|
-
const actionSysId = crypto.randomUUID().replace(/-/g, '');
|
|
86
|
-
const uiId = generateUniqueUiId();
|
|
87
|
-
|
|
88
|
-
return {
|
|
89
|
-
sys_id: actionSysId,
|
|
90
|
-
table: 'sys_hub_action_instance_v2',
|
|
91
|
-
parent: config.flowSysId,
|
|
92
|
-
ui_id: uiId,
|
|
93
|
-
group_ui_id: uiId,
|
|
94
|
-
type: config.actionType,
|
|
95
|
-
name: config.actionName,
|
|
96
|
-
value: encodeActionValue(config.parameters),
|
|
97
|
-
x: config.x || 100,
|
|
98
|
-
y: config.y || 100,
|
|
99
|
-
active: 'true',
|
|
100
|
-
base_table: 'sys_hub_action_instance_v2'
|
|
101
|
-
};
|
|
102
|
-
}
|
|
103
|
-
|
|
104
|
-
/**
|
|
105
|
-
* Creates a sys_hub_flow_logic_instance_v2 record
|
|
106
|
-
*
|
|
107
|
-
* @param {Object} config - Flow logic configuration
|
|
108
|
-
* @param {string} config.flowSysId - Parent flow sys_id
|
|
109
|
-
* @param {number} config.fromUiId - Source action UI ID
|
|
110
|
-
* @param {number} config.toUiId - Target action UI ID
|
|
111
|
-
* @param {string} config.condition - Optional condition
|
|
112
|
-
* @returns {Object} Flow logic record
|
|
113
|
-
*/
|
|
114
|
-
function createFlowLogic(config) {
|
|
115
|
-
const logicSysId = crypto.randomUUID().replace(/-/g, '');
|
|
116
|
-
const uiId = generateUniqueUiId();
|
|
117
|
-
|
|
118
|
-
return {
|
|
119
|
-
sys_id: logicSysId,
|
|
120
|
-
table: 'sys_hub_flow_logic_instance_v2',
|
|
121
|
-
parent: config.flowSysId,
|
|
122
|
-
parent_ui_id: config.fromUiId,
|
|
123
|
-
ui_id: uiId,
|
|
124
|
-
group_ui_id: config.toUiId,
|
|
125
|
-
type: config.toUiId.toString(),
|
|
126
|
-
condition: config.condition || '',
|
|
127
|
-
active: 'true',
|
|
128
|
-
ended: 'false',
|
|
129
|
-
base_table: 'sys_hub_flow_logic_instance_v2'
|
|
130
|
-
};
|
|
131
|
-
}
|
|
132
|
-
|
|
133
|
-
/**
|
|
134
|
-
* Example: Create Record action with proper encoding
|
|
135
|
-
*/
|
|
136
|
-
function exampleCreateRecordAction(flowSysId) {
|
|
137
|
-
return createActionInstance({
|
|
138
|
-
flowSysId: flowSysId,
|
|
139
|
-
actionType: '65', // Create Record action type
|
|
140
|
-
actionName: 'Create Equipment Request',
|
|
141
|
-
x: 200,
|
|
142
|
-
y: 150,
|
|
143
|
-
parameters: [
|
|
144
|
-
{
|
|
145
|
-
name: 'table',
|
|
146
|
-
value: 'sc_request',
|
|
147
|
-
valueType: 'static'
|
|
148
|
-
},
|
|
149
|
-
{
|
|
150
|
-
name: 'field_values',
|
|
151
|
-
value: JSON.stringify({
|
|
152
|
-
short_description: '{{fd_data.trigger.current.short_description}}',
|
|
153
|
-
requested_for: '{{fd_data.trigger.current.opened_by}}',
|
|
154
|
-
priority: '3'
|
|
155
|
-
}),
|
|
156
|
-
valueType: 'fd_data'
|
|
157
|
-
}
|
|
158
|
-
]
|
|
159
|
-
});
|
|
160
|
-
}
|
|
161
|
-
|
|
162
|
-
/**
|
|
163
|
-
* Example: Complete flow with trigger, actions, and logic
|
|
164
|
-
*/
|
|
165
|
-
function generateCompleteFlow() {
|
|
166
|
-
const flowSysId = crypto.randomUUID().replace(/-/g, '');
|
|
167
|
-
|
|
168
|
-
// Reset UI ID counter for new flow
|
|
169
|
-
uiIdCounter = 1;
|
|
170
|
-
|
|
171
|
-
// Main flow record
|
|
172
|
-
const flow = {
|
|
173
|
-
sys_id: flowSysId,
|
|
174
|
-
table: 'sys_hub_flow',
|
|
175
|
-
name: 'Equipment Request Approval',
|
|
176
|
-
description: 'Automated approval workflow for equipment requests',
|
|
177
|
-
active: 'true',
|
|
178
|
-
type: 'flow',
|
|
179
|
-
category: 'Request Management'
|
|
180
|
-
};
|
|
181
|
-
|
|
182
|
-
// Trigger (Record Created)
|
|
183
|
-
const triggerUiId = generateUniqueUiId();
|
|
184
|
-
const trigger = {
|
|
185
|
-
sys_id: crypto.randomUUID().replace(/-/g, ''),
|
|
186
|
-
table: 'sys_hub_trigger_instance_v2',
|
|
187
|
-
parent: flowSysId,
|
|
188
|
-
ui_id: triggerUiId,
|
|
189
|
-
type: '14', // Record Created/Updated
|
|
190
|
-
name: 'Equipment Request Created',
|
|
191
|
-
configuration: encodeActionValue([
|
|
192
|
-
{
|
|
193
|
-
name: 'table',
|
|
194
|
-
value: 'sc_req_item',
|
|
195
|
-
valueType: 'static'
|
|
196
|
-
},
|
|
197
|
-
{
|
|
198
|
-
name: 'condition',
|
|
199
|
-
value: 'category=hardware^active=true',
|
|
200
|
-
valueType: 'static'
|
|
201
|
-
}
|
|
202
|
-
])
|
|
203
|
-
};
|
|
204
|
-
|
|
205
|
-
// Action 1: Create Request
|
|
206
|
-
const createAction = createActionInstance({
|
|
207
|
-
flowSysId: flowSysId,
|
|
208
|
-
actionType: '65',
|
|
209
|
-
actionName: 'Create Approval Request',
|
|
210
|
-
x: 300,
|
|
211
|
-
y: 150,
|
|
212
|
-
parameters: [
|
|
213
|
-
{
|
|
214
|
-
name: 'table',
|
|
215
|
-
value: 'sc_request',
|
|
216
|
-
valueType: 'static'
|
|
217
|
-
},
|
|
218
|
-
{
|
|
219
|
-
name: 'requested_for',
|
|
220
|
-
value: '{{fd_data.trigger.current.requested_for}}',
|
|
221
|
-
valueType: 'fd_data'
|
|
222
|
-
}
|
|
223
|
-
]
|
|
224
|
-
});
|
|
225
|
-
|
|
226
|
-
// Action 2: Send Notification
|
|
227
|
-
const notifyAction = createActionInstance({
|
|
228
|
-
flowSysId: flowSysId,
|
|
229
|
-
actionType: '89', // Send Email
|
|
230
|
-
actionName: 'Notify Approver',
|
|
231
|
-
x: 500,
|
|
232
|
-
y: 150,
|
|
233
|
-
parameters: [
|
|
234
|
-
{
|
|
235
|
-
name: 'to',
|
|
236
|
-
value: '{{fd_data.trigger.current.requested_for.manager}}',
|
|
237
|
-
valueType: 'fd_data'
|
|
238
|
-
},
|
|
239
|
-
{
|
|
240
|
-
name: 'subject',
|
|
241
|
-
value: 'Equipment Request Approval Needed',
|
|
242
|
-
valueType: 'static'
|
|
243
|
-
},
|
|
244
|
-
{
|
|
245
|
-
name: 'body',
|
|
246
|
-
value: 'Please review the equipment request from {{fd_data.trigger.current.requested_for.name}}',
|
|
247
|
-
valueType: 'fd_data'
|
|
248
|
-
}
|
|
249
|
-
]
|
|
250
|
-
});
|
|
251
|
-
|
|
252
|
-
// Flow Logic: Trigger → Create Action
|
|
253
|
-
const logic1 = createFlowLogic({
|
|
254
|
-
flowSysId: flowSysId,
|
|
255
|
-
fromUiId: triggerUiId,
|
|
256
|
-
toUiId: createAction.ui_id
|
|
257
|
-
});
|
|
258
|
-
|
|
259
|
-
// Flow Logic: Create Action → Notify Action
|
|
260
|
-
const logic2 = createFlowLogic({
|
|
261
|
-
flowSysId: flowSysId,
|
|
262
|
-
fromUiId: createAction.ui_id,
|
|
263
|
-
toUiId: notifyAction.ui_id
|
|
264
|
-
});
|
|
265
|
-
|
|
266
|
-
return {
|
|
267
|
-
flow,
|
|
268
|
-
trigger,
|
|
269
|
-
actions: [createAction, notifyAction],
|
|
270
|
-
logic: [logic1, logic2]
|
|
271
|
-
};
|
|
272
|
-
}
|
|
273
|
-
|
|
274
|
-
/**
|
|
275
|
-
* Generates complete XML for import
|
|
276
|
-
*/
|
|
277
|
-
function generateFlowXML() {
|
|
278
|
-
const flowData = generateCompleteFlow();
|
|
279
|
-
const xml2js = require('xml2js');
|
|
280
|
-
const builder = new xml2js.Builder();
|
|
281
|
-
|
|
282
|
-
const xmlData = {
|
|
283
|
-
unload: {
|
|
284
|
-
$: {
|
|
285
|
-
unload_date: new Date().toISOString()
|
|
286
|
-
},
|
|
287
|
-
sys_hub_flow: flowData.flow,
|
|
288
|
-
sys_hub_trigger_instance_v2: flowData.trigger,
|
|
289
|
-
sys_hub_action_instance_v2: flowData.actions,
|
|
290
|
-
sys_hub_flow_logic_instance_v2: flowData.logic
|
|
291
|
-
}
|
|
292
|
-
};
|
|
293
|
-
|
|
294
|
-
return builder.buildObject(xmlData);
|
|
295
|
-
}
|
|
296
|
-
|
|
297
|
-
// Export functions for use in other modules
|
|
298
|
-
module.exports = {
|
|
299
|
-
encodeActionValue,
|
|
300
|
-
decodeActionValue,
|
|
301
|
-
createActionInstance,
|
|
302
|
-
createFlowLogic,
|
|
303
|
-
generateCompleteFlow,
|
|
304
|
-
generateFlowXML
|
|
305
|
-
};
|
|
306
|
-
|
|
307
|
-
// Example usage
|
|
308
|
-
if (require.main === module) {
|
|
309
|
-
console.log('ServiceNow Flow Action v2 Implementation Example\n');
|
|
310
|
-
|
|
311
|
-
// Example 1: Encode parameters
|
|
312
|
-
const params = [
|
|
313
|
-
{ name: 'table', value: 'incident', valueType: 'static' },
|
|
314
|
-
{ name: 'priority', value: '{{fd_data.trigger.current.urgency}}', valueType: 'fd_data' }
|
|
315
|
-
];
|
|
316
|
-
|
|
317
|
-
const encoded = encodeActionValue(params);
|
|
318
|
-
console.log('Encoded parameters:', encoded);
|
|
319
|
-
|
|
320
|
-
// Example 2: Decode to verify
|
|
321
|
-
const decoded = decodeActionValue(encoded);
|
|
322
|
-
console.log('\nDecoded parameters:', JSON.stringify(decoded, null, 2));
|
|
323
|
-
|
|
324
|
-
// Example 3: Generate complete flow
|
|
325
|
-
const flow = generateCompleteFlow();
|
|
326
|
-
console.log('\nGenerated flow structure:');
|
|
327
|
-
console.log('- Flow:', flow.flow.name);
|
|
328
|
-
console.log('- Trigger:', flow.trigger.name);
|
|
329
|
-
console.log('- Actions:', flow.actions.map(a => a.name).join(', '));
|
|
330
|
-
console.log('- Logic connections:', flow.logic.length);
|
|
331
|
-
|
|
332
|
-
// Example 4: Generate XML
|
|
333
|
-
console.log('\nGenerating XML...');
|
|
334
|
-
const xml = generateFlowXML();
|
|
335
|
-
console.log('XML length:', xml.length, 'characters');
|
|
336
|
-
console.log('\nFirst 500 characters:');
|
|
337
|
-
console.log(xml.substring(0, 500) + '...');
|
|
338
|
-
}
|
package/create-snow-flow-env.sh
DELETED
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
#!/bin/bash
|
|
2
|
-
|
|
3
|
-
# Create .env file for global Snow-Flow installation
|
|
4
|
-
|
|
5
|
-
SNOW_FLOW_PATH="/Users/nielsvanderwerf/.nvm/versions/node/v20.15.0/lib/node_modules/snow-flow"
|
|
6
|
-
ENV_FILE="$SNOW_FLOW_PATH/.env"
|
|
7
|
-
|
|
8
|
-
echo "Creating .env file for Snow-Flow..."
|
|
9
|
-
|
|
10
|
-
cat > "$ENV_FILE" << 'EOF'
|
|
11
|
-
# ServiceNow OAuth Configuration
|
|
12
|
-
SNOW_INSTANCE=dev198027.service-now.com
|
|
13
|
-
SNOW_CLIENT_ID=0664245521cf423ba1989e4c875b18de
|
|
14
|
-
SNOW_CLIENT_SECRET=Welkom123
|
|
15
|
-
|
|
16
|
-
# OAuth URLs (these are automatically generated)
|
|
17
|
-
OAUTH_TOKEN_URL=https://dev198027.service-now.com/oauth_token.do
|
|
18
|
-
OAUTH_REDIRECT_URI=http://localhost:3000/callback
|
|
19
|
-
|
|
20
|
-
# Neo4j Configuration (optional - for Graph Memory MCP)
|
|
21
|
-
NEO4J_URI=bolt://localhost:7687
|
|
22
|
-
NEO4J_USER=neo4j
|
|
23
|
-
NEO4J_PASSWORD=password
|
|
24
|
-
|
|
25
|
-
# Environment
|
|
26
|
-
NODE_ENV=production
|
|
27
|
-
EOF
|
|
28
|
-
|
|
29
|
-
echo "✅ Created .env file at: $ENV_FILE"
|
|
30
|
-
echo ""
|
|
31
|
-
echo "🔄 Now restart Claude Desktop to activate the MCP servers"
|
|
32
|
-
echo "💡 Use /mcp in Claude to see all 11 Snow-Flow servers"
|
package/decode-action-values.js
DELETED
|
@@ -1,164 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Utility to decode ServiceNow Flow Designer action values
|
|
3
|
-
*
|
|
4
|
-
* Use this to inspect and understand the structure of action values
|
|
5
|
-
* from existing ServiceNow flows.
|
|
6
|
-
*/
|
|
7
|
-
|
|
8
|
-
const pako = require('pako');
|
|
9
|
-
|
|
10
|
-
/**
|
|
11
|
-
* Decodes a Base64+gzip encoded action value from ServiceNow
|
|
12
|
-
*
|
|
13
|
-
* @param {string} encodedValue - The value field from sys_hub_action_instance_v2
|
|
14
|
-
* @returns {Object} Decoded value
|
|
15
|
-
*/
|
|
16
|
-
function decodeServiceNowValue(encodedValue) {
|
|
17
|
-
try {
|
|
18
|
-
// Remove any whitespace
|
|
19
|
-
const cleanValue = encodedValue.trim();
|
|
20
|
-
|
|
21
|
-
// Base64 decode
|
|
22
|
-
const compressed = Buffer.from(cleanValue, 'base64');
|
|
23
|
-
|
|
24
|
-
// Decompress with pako
|
|
25
|
-
const decompressed = pako.ungzip(compressed, { to: 'string' });
|
|
26
|
-
|
|
27
|
-
// Parse JSON
|
|
28
|
-
const parsed = JSON.parse(decompressed);
|
|
29
|
-
|
|
30
|
-
return {
|
|
31
|
-
success: true,
|
|
32
|
-
data: parsed,
|
|
33
|
-
format: Array.isArray(parsed) ? 'parameter_array' : 'object'
|
|
34
|
-
};
|
|
35
|
-
} catch (error) {
|
|
36
|
-
return {
|
|
37
|
-
success: false,
|
|
38
|
-
error: error.message,
|
|
39
|
-
hint: 'Make sure the value is Base64-encoded gzipped JSON'
|
|
40
|
-
};
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
/**
|
|
45
|
-
* Analyzes an action value and provides insights
|
|
46
|
-
*
|
|
47
|
-
* @param {string} encodedValue - The encoded value to analyze
|
|
48
|
-
* @returns {Object} Analysis results
|
|
49
|
-
*/
|
|
50
|
-
function analyzeActionValue(encodedValue) {
|
|
51
|
-
const decoded = decodeServiceNowValue(encodedValue);
|
|
52
|
-
|
|
53
|
-
if (!decoded.success) {
|
|
54
|
-
return decoded;
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
const analysis = {
|
|
58
|
-
...decoded,
|
|
59
|
-
analysis: {
|
|
60
|
-
parameterCount: 0,
|
|
61
|
-
parameters: [],
|
|
62
|
-
hasFlowData: false,
|
|
63
|
-
hasStaticValues: false,
|
|
64
|
-
hasExpressions: false
|
|
65
|
-
}
|
|
66
|
-
};
|
|
67
|
-
|
|
68
|
-
if (Array.isArray(decoded.data)) {
|
|
69
|
-
analysis.analysis.parameterCount = decoded.data.length;
|
|
70
|
-
|
|
71
|
-
decoded.data.forEach(param => {
|
|
72
|
-
const paramInfo = {
|
|
73
|
-
name: param.name,
|
|
74
|
-
valueType: param.valueType || 'unknown',
|
|
75
|
-
valueLength: param.value ? param.value.length : 0,
|
|
76
|
-
isFlowData: param.valueType === 'fd_data',
|
|
77
|
-
isStatic: param.valueType === 'static',
|
|
78
|
-
isExpression: param.valueType === 'expression'
|
|
79
|
-
};
|
|
80
|
-
|
|
81
|
-
if (paramInfo.isFlowData) analysis.analysis.hasFlowData = true;
|
|
82
|
-
if (paramInfo.isStatic) analysis.analysis.hasStaticValues = true;
|
|
83
|
-
if (paramInfo.isExpression) analysis.analysis.hasExpressions = true;
|
|
84
|
-
|
|
85
|
-
analysis.analysis.parameters.push(paramInfo);
|
|
86
|
-
});
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
return analysis;
|
|
90
|
-
}
|
|
91
|
-
|
|
92
|
-
/**
|
|
93
|
-
* Example values from real ServiceNow flows
|
|
94
|
-
*/
|
|
95
|
-
const exampleValues = {
|
|
96
|
-
// Example 1: Simple static parameter
|
|
97
|
-
staticParam: 'H4sIAAAAAAAAA1WOMQ6CMBhGX6W8uRgIFMRNjYmDi5ODiUP5+YtNS39ooTFx8O6WuLm95L3ve/kG0oMCTgKO5RwQBMIBIggBQhQjJAjlAQRfQHQQhCQMQxLEMYkCEgdhGAQJl7JeqQE6RqtOWFrPQJWGOvDBKNlxiJKGR0xCGEVxghFCCCOEQoQQJIzDkJAgRAj+AtKDFsxGaFpZKNdqhKaBRlXQWeFI3RppqJKmElKhGaR0JaQOzaBk4tCjFXRcvAr5xAAAAA==',
|
|
98
|
-
|
|
99
|
-
// Example 2: Flow data reference
|
|
100
|
-
flowDataParam: 'H4sIAAAAAAAAA1WPwQrCMAyGX0VyniDTOe1NQUQ8ePFQvJR2cYu0TWk6QcZ8d+smePA/fPn+P/kDIQxFLmXFCwwRipAdI8xOEGYow4yd0vQ4Q8y2sGMYI3ZaZCeMnTJM2BYzhmL7vhCVFLWwTmhqaV0L6ZwYqJay9kJb14PWrkZP4JWQpe9JXauBrJRoIZQlqrxQVZCFJzaFqJTQhXjJ2gsvbN9Kaz7yB8Mw5LUU3KaaxsT3/SiOk9hH6AOEft+PgiCKwzBJoogQjD5A6PeDMIqDIIn9JIxIFL2B8AaYOo5v4AEAAA==',
|
|
101
|
-
|
|
102
|
-
// Example 3: Complex multi-parameter
|
|
103
|
-
complexParam: 'H4sIAAAAAAAAA5VRQW7CMAz9L5JzQUkppVyhaWLaYRcOaJfKJE5rldhJ7RREVU/AjhtwBG7AETgCJ+DIddOyMW0S2qStyg5J/vvPz3/2fwEKUIAc5CgPUGECShBQLCSgBGUowaQI5YSIEhQmJSgLkINJAQqFbNnqdE3Nsu56S6FMrW67lqLblqE0jKZuW9QwrUqlRutOw9KNStNqGp1qh6JKl1ptRasoiqpT19VNv6s/aEbPJg4hNz3T0HpQhPH0u6YGLVW3lYqiPqiuX9e6+iMc1FQNu9tSa1SPsX9QfPxBKb3NQhzH3H0QzjfxvDgOSRjFcxKROIn8IApwzBHlHFFO8TwOEY5CHEc4DkkcxTgi8TykYRiFIY4jGoV0HoYUxyGNQhrHYUjDiMYhjX6Bt6PBaDgaDAbgfQCGYHh7O7wZguHgZjS4vh5ej66GI/DxBT4+vz6f/wEAAA=='
|
|
104
|
-
};
|
|
105
|
-
|
|
106
|
-
// Main execution
|
|
107
|
-
if (require.main === module) {
|
|
108
|
-
console.log('ServiceNow Action Value Decoder\n');
|
|
109
|
-
console.log('=' .repeat(50));
|
|
110
|
-
|
|
111
|
-
// Analyze each example
|
|
112
|
-
Object.entries(exampleValues).forEach(([name, value]) => {
|
|
113
|
-
console.log(`\n${name}:`);
|
|
114
|
-
console.log('-'.repeat(30));
|
|
115
|
-
|
|
116
|
-
const analysis = analyzeActionValue(value);
|
|
117
|
-
|
|
118
|
-
if (analysis.success) {
|
|
119
|
-
console.log('✓ Successfully decoded');
|
|
120
|
-
console.log(`Format: ${analysis.format}`);
|
|
121
|
-
console.log(`Parameter count: ${analysis.analysis.parameterCount}`);
|
|
122
|
-
|
|
123
|
-
if (analysis.analysis.parameters.length > 0) {
|
|
124
|
-
console.log('\nParameters:');
|
|
125
|
-
analysis.analysis.parameters.forEach((param, i) => {
|
|
126
|
-
console.log(` ${i + 1}. ${param.name} (${param.valueType})`);
|
|
127
|
-
});
|
|
128
|
-
}
|
|
129
|
-
|
|
130
|
-
console.log('\nValue types present:');
|
|
131
|
-
console.log(` - Static values: ${analysis.analysis.hasStaticValues ? '✓' : '✗'}`);
|
|
132
|
-
console.log(` - Flow data refs: ${analysis.analysis.hasFlowData ? '✓' : '✗'}`);
|
|
133
|
-
console.log(` - Expressions: ${analysis.analysis.hasExpressions ? '✓' : '✗'}`);
|
|
134
|
-
|
|
135
|
-
console.log('\nRaw decoded data:');
|
|
136
|
-
console.log(JSON.stringify(analysis.data, null, 2));
|
|
137
|
-
} else {
|
|
138
|
-
console.log(`✗ Failed to decode: ${analysis.error}`);
|
|
139
|
-
console.log(`Hint: ${analysis.hint}`);
|
|
140
|
-
}
|
|
141
|
-
});
|
|
142
|
-
|
|
143
|
-
// Interactive mode
|
|
144
|
-
if (process.argv[2]) {
|
|
145
|
-
console.log('\n\nDecoding provided value...\n');
|
|
146
|
-
const inputValue = process.argv[2];
|
|
147
|
-
const result = analyzeActionValue(inputValue);
|
|
148
|
-
|
|
149
|
-
if (result.success) {
|
|
150
|
-
console.log('Decoded successfully!');
|
|
151
|
-
console.log(JSON.stringify(result.data, null, 2));
|
|
152
|
-
} else {
|
|
153
|
-
console.log('Decoding failed:', result.error);
|
|
154
|
-
}
|
|
155
|
-
} else {
|
|
156
|
-
console.log('\n\nUsage: node decode-action-values.js [encoded_value]');
|
|
157
|
-
console.log('Example: node decode-action-values.js "H4sIAAAAAAAAA..."');
|
|
158
|
-
}
|
|
159
|
-
}
|
|
160
|
-
|
|
161
|
-
module.exports = {
|
|
162
|
-
decodeServiceNowValue,
|
|
163
|
-
analyzeActionValue
|
|
164
|
-
};
|
package/npm-publish-summary.txt
DELETED
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
🚀 Snow-Flow v1.3.24 - Ready for NPM Publish!
|
|
2
|
-
|
|
3
|
-
✅ GITHUB STATUS:
|
|
4
|
-
- All changes committed and pushed to main branch
|
|
5
|
-
- Git tag v1.3.24 created and pushed
|
|
6
|
-
- Repository: https://github.com/groeimetai/snow-flow
|
|
7
|
-
|
|
8
|
-
✅ FIXES COMPLETED:
|
|
9
|
-
- SNOW-001: Silent Deployment Failures → FIXED with mandatory verification
|
|
10
|
-
- SNOW-002: Search System Failures → FIXED with retry logic
|
|
11
|
-
- SNOW-003: High Failure Rate (19%) → FIXED with enhanced resilience
|
|
12
|
-
- SNOW-004: Security Compliance Module → FIXED variable shadowing
|
|
13
|
-
|
|
14
|
-
✅ NPM PACKAGE READY:
|
|
15
|
-
- Version: 1.3.24
|
|
16
|
-
- Package size: 1.6 MB
|
|
17
|
-
- Unpacked size: 9.0 MB
|
|
18
|
-
- Files: 740 total
|
|
19
|
-
|
|
20
|
-
📦 TO PUBLISH TO NPM:
|
|
21
|
-
1. Make sure you're logged in to npm:
|
|
22
|
-
npm whoami
|
|
23
|
-
|
|
24
|
-
2. If not logged in:
|
|
25
|
-
npm login
|
|
26
|
-
|
|
27
|
-
3. Publish the package:
|
|
28
|
-
npm publish
|
|
29
|
-
|
|
30
|
-
4. Verify publication:
|
|
31
|
-
npm view snow-flow version
|
|
32
|
-
|
|
33
|
-
🎉 Snow-Flow is now production-ready with all critical beta test issues resolved!
|
|
34
|
-
|
|
35
|
-
Release notes available at: RELEASE_NOTES_1.3.24.md
|