snow-flow 3.4.16 → 3.4.18

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/README.md CHANGED
@@ -1,4 +1,4 @@
1
- # 🏔️❄️ Snow-Flow
1
+ # 🏔️ Snow-Flow
2
2
 
3
3
  [![NPM Version](https://img.shields.io/npm/v/snow-flow.svg)](https://www.npmjs.com/package/snow-flow)
4
4
  [![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](https://opensource.org/licenses/MIT)
@@ -702,4 +702,4 @@ Special thanks to:
702
702
 
703
703
  **Built with ❤️ for ServiceNow developers by developers who understand the struggle.**
704
704
 
705
- *Snow-Flow - Where ServiceNow development meets artificial intelligence.* 🏔️❄️
705
+ *Snow-Flow - Where ServiceNow development meets artificial intelligence.* 🏔️
@@ -12,7 +12,7 @@ const types_js_1 = require("@modelcontextprotocol/sdk/types.js");
12
12
  const servicenow_client_js_1 = require("../utils/servicenow-client.js");
13
13
  const mcp_auth_middleware_js_1 = require("../utils/mcp-auth-middleware.js");
14
14
  const mcp_config_manager_js_1 = require("../utils/mcp-config-manager.js");
15
- const mcp_logger_js_1 = require("../shared/mcp-logger.js");
15
+ const mcp_logger_js_1 = require("./shared/mcp-logger.js");
16
16
  class ServiceNowChangeVirtualAgentPAMCP {
17
17
  constructor() {
18
18
  this.server = new index_js_1.Server({
@@ -12,7 +12,7 @@ const types_js_1 = require("@modelcontextprotocol/sdk/types.js");
12
12
  const servicenow_client_js_1 = require("../utils/servicenow-client.js");
13
13
  const mcp_auth_middleware_js_1 = require("../utils/mcp-auth-middleware.js");
14
14
  const mcp_config_manager_js_1 = require("../utils/mcp-config-manager.js");
15
- const mcp_logger_js_1 = require("../shared/mcp-logger.js");
15
+ const mcp_logger_js_1 = require("./shared/mcp-logger.js");
16
16
  class ServiceNowCMDBEventHRCSMDevOpsMCP {
17
17
  constructor() {
18
18
  this.server = new index_js_1.Server({
@@ -12,7 +12,7 @@ const types_js_1 = require("@modelcontextprotocol/sdk/types.js");
12
12
  const servicenow_client_js_1 = require("../utils/servicenow-client.js");
13
13
  const mcp_auth_middleware_js_1 = require("../utils/mcp-auth-middleware.js");
14
14
  const mcp_config_manager_js_1 = require("../utils/mcp-config-manager.js");
15
- const mcp_logger_js_1 = require("../shared/mcp-logger.js");
15
+ const mcp_logger_js_1 = require("./shared/mcp-logger.js");
16
16
  const widget_template_generator_js_1 = require("../utils/widget-template-generator.js");
17
17
  const fs_1 = require("fs");
18
18
  const path_1 = require("path");
@@ -20,7 +20,7 @@ const self_documenting_system_js_1 = require("../documentation/self-documenting-
20
20
  const cost_optimization_engine_js_1 = require("../optimization/cost-optimization-engine.js");
21
21
  const advanced_compliance_system_js_1 = require("../compliance/advanced-compliance-system.js");
22
22
  const self_healing_system_js_1 = require("../healing/self-healing-system.js");
23
- const memory_system_js_1 = require("../memory/memory-system.js");
23
+ const queen_memory_system_js_1 = require("../queen/queen-memory-system.js");
24
24
  class ServiceNowDevelopmentAssistantMCP {
25
25
  constructor() {
26
26
  this.memoryIndex = new Map();
@@ -41,12 +41,12 @@ class ServiceNowDevelopmentAssistantMCP {
41
41
  async initializeSystems() {
42
42
  try {
43
43
  // Initialize systems synchronously during server startup
44
- this.memorySystem = new memory_system_js_1.MemorySystem({
44
+ this.memorySystem = new queen_memory_system_js_1.QueenMemorySystem({
45
45
  dbPath: './.snow-flow/data/intelligent-mcp.db',
46
46
  cache: { enabled: true, maxSize: 100, ttl: 3600 },
47
47
  ttl: { default: 3600, session: 7200, artifact: 86400, metric: 604800 }
48
48
  });
49
- await this.memorySystem.initialize();
49
+ // await this.memorySystem.initialize(); // QueenMemorySystem doesn't have initialize method
50
50
  this.logger.info('Memory system initialized');
51
51
  this.documentationSystem = new self_documenting_system_js_1.SelfDocumentingSystem(this.client, this.memorySystem);
52
52
  this.costOptimizationEngine = new cost_optimization_engine_js_1.CostOptimizationEngine(this.client, this.memorySystem);
@@ -57,8 +57,8 @@ class ServiceNowDevelopmentAssistantMCP {
57
57
  catch (error) {
58
58
  this.logger.error('Failed to initialize systems:', error);
59
59
  // Initialize minimal fallback systems
60
- this.memorySystem = new memory_system_js_1.MemorySystem({ dbPath: './.snow-flow/data/intelligent-mcp.db' });
61
- await this.memorySystem.initialize();
60
+ this.memorySystem = new queen_memory_system_js_1.QueenMemorySystem({ dbPath: './.snow-flow/data/intelligent-mcp.db' });
61
+ // await this.memorySystem.initialize(); // QueenMemorySystem doesn't have initialize method
62
62
  }
63
63
  }
64
64
  setupHandlers() {
@@ -12,7 +12,7 @@ const types_js_1 = require("@modelcontextprotocol/sdk/types.js");
12
12
  const servicenow_client_js_1 = require("../utils/servicenow-client.js");
13
13
  const mcp_auth_middleware_js_1 = require("../utils/mcp-auth-middleware.js");
14
14
  const mcp_config_manager_js_1 = require("../utils/mcp-config-manager.js");
15
- const mcp_logger_js_1 = require("../shared/mcp-logger.js");
15
+ const mcp_logger_js_1 = require("./shared/mcp-logger.js");
16
16
  class ServiceNowFlowWorkspaceMobileMCP {
17
17
  constructor() {
18
18
  this.server = new index_js_1.Server({
@@ -12,7 +12,7 @@ const types_js_1 = require("@modelcontextprotocol/sdk/types.js");
12
12
  const servicenow_client_js_1 = require("../utils/servicenow-client.js");
13
13
  const mcp_auth_middleware_js_1 = require("../utils/mcp-auth-middleware.js");
14
14
  const mcp_config_manager_js_1 = require("../utils/mcp-config-manager.js");
15
- const mcp_logger_js_1 = require("../shared/mcp-logger.js");
15
+ const mcp_logger_js_1 = require("./shared/mcp-logger.js");
16
16
  class ServiceNowIntegrationMCP {
17
17
  constructor() {
18
18
  this.server = new index_js_1.Server({
@@ -12,7 +12,7 @@ const types_js_1 = require("@modelcontextprotocol/sdk/types.js");
12
12
  const servicenow_client_js_1 = require("../utils/servicenow-client.js");
13
13
  const mcp_auth_middleware_js_1 = require("../utils/mcp-auth-middleware.js");
14
14
  const mcp_config_manager_js_1 = require("../utils/mcp-config-manager.js");
15
- const mcp_logger_js_1 = require("../shared/mcp-logger.js");
15
+ const mcp_logger_js_1 = require("./shared/mcp-logger.js");
16
16
  class ServiceNowKnowledgeCatalogMCP {
17
17
  constructor() {
18
18
  this.server = new index_js_1.Server({
@@ -3284,7 +3284,7 @@ exports.ServiceNowOperationsMCP = ServiceNowOperationsMCP;
3284
3284
  if (require.main === module) {
3285
3285
  const server = new ServiceNowOperationsMCP();
3286
3286
  server.run().catch((error) => {
3287
- logger.error('Failed to start ServiceNow Operations MCP server:', error);
3287
+ console.error('Failed to start ServiceNow Operations MCP server:', error);
3288
3288
  process.exit(1);
3289
3289
  });
3290
3290
  }
@@ -12,7 +12,7 @@ const types_js_1 = require("@modelcontextprotocol/sdk/types.js");
12
12
  const servicenow_client_js_1 = require("../utils/servicenow-client.js");
13
13
  const mcp_auth_middleware_js_1 = require("../utils/mcp-auth-middleware.js");
14
14
  const mcp_config_manager_js_1 = require("../utils/mcp-config-manager.js");
15
- const mcp_logger_js_1 = require("../shared/mcp-logger.js");
15
+ const mcp_logger_js_1 = require("./shared/mcp-logger.js");
16
16
  class ServiceNowPlatformDevelopmentMCP {
17
17
  constructor() {
18
18
  this.tableCache = new Map();
@@ -12,7 +12,7 @@ const types_js_1 = require("@modelcontextprotocol/sdk/types.js");
12
12
  const servicenow_client_js_1 = require("../utils/servicenow-client.js");
13
13
  const mcp_auth_middleware_js_1 = require("../utils/mcp-auth-middleware.js");
14
14
  const mcp_config_manager_js_1 = require("../utils/mcp-config-manager.js");
15
- const mcp_logger_js_1 = require("../shared/mcp-logger.js");
15
+ const mcp_logger_js_1 = require("./shared/mcp-logger.js");
16
16
  const anti_mock_data_validator_js_1 = require("../utils/anti-mock-data-validator.js");
17
17
  class ServiceNowReportingAnalyticsMCP {
18
18
  constructor() {
@@ -12,7 +12,7 @@ const types_js_1 = require("@modelcontextprotocol/sdk/types.js");
12
12
  const servicenow_client_js_1 = require("../utils/servicenow-client.js");
13
13
  const mcp_auth_middleware_js_1 = require("../utils/mcp-auth-middleware.js");
14
14
  const mcp_config_manager_js_1 = require("../utils/mcp-config-manager.js");
15
- const mcp_logger_js_1 = require("../shared/mcp-logger.js");
15
+ const mcp_logger_js_1 = require("./shared/mcp-logger.js");
16
16
  class ServiceNowSecurityComplianceMCP {
17
17
  constructor() {
18
18
  this.server = new index_js_1.Server({
@@ -10,7 +10,7 @@ const stdio_js_1 = require("@modelcontextprotocol/sdk/server/stdio.js");
10
10
  const types_js_1 = require("@modelcontextprotocol/sdk/types.js");
11
11
  const servicenow_client_js_1 = require("../utils/servicenow-client.js");
12
12
  const snow_oauth_js_1 = require("../utils/snow-oauth.js");
13
- const mcp_logger_js_1 = require("../shared/mcp-logger.js");
13
+ const mcp_logger_js_1 = require("./shared/mcp-logger.js");
14
14
  const fs_1 = require("fs");
15
15
  const path_1 = require("path");
16
16
  class ServiceNowUpdateSetMCP {
@@ -0,0 +1,33 @@
1
+ /**
2
+ * Snow-Flow Memory Patterns - Stub Implementation
3
+ * Minimal implementation to support Queen Memory System
4
+ */
5
+ export declare class SnowFlowMemoryOrganizer {
6
+ static getWidgetMemoryStructure(name: string): {
7
+ key: string;
8
+ patterns: string[];
9
+ context: {
10
+ type: string;
11
+ name: string;
12
+ };
13
+ };
14
+ static getFlowMemoryStructure(name: string): {
15
+ key: string;
16
+ patterns: string[];
17
+ context: {
18
+ type: string;
19
+ name: string;
20
+ };
21
+ };
22
+ static getScriptMemoryStructure(name: string, scriptType?: string): {
23
+ key: string;
24
+ patterns: string[];
25
+ context: {
26
+ type: string;
27
+ name: string;
28
+ scriptType: string;
29
+ };
30
+ };
31
+ static generateKey(category: string, type: string, name: string): string;
32
+ }
33
+ //# sourceMappingURL=snow-flow-memory-patterns.d.ts.map
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ /**
3
+ * Snow-Flow Memory Patterns - Stub Implementation
4
+ * Minimal implementation to support Queen Memory System
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.SnowFlowMemoryOrganizer = void 0;
8
+ class SnowFlowMemoryOrganizer {
9
+ static getWidgetMemoryStructure(name) {
10
+ return {
11
+ key: this.generateKey('artifacts', 'widget', name),
12
+ patterns: ['template', 'script', 'client_script'],
13
+ context: { type: 'widget', name }
14
+ };
15
+ }
16
+ static getFlowMemoryStructure(name) {
17
+ return {
18
+ key: this.generateKey('artifacts', 'flow', name),
19
+ patterns: ['actions', 'conditions', 'variables'],
20
+ context: { type: 'flow', name }
21
+ };
22
+ }
23
+ static getScriptMemoryStructure(name, scriptType = 'server') {
24
+ return {
25
+ key: this.generateKey('artifacts', 'script', name),
26
+ patterns: ['functions', 'variables', 'dependencies'],
27
+ context: { type: 'script', name, scriptType }
28
+ };
29
+ }
30
+ static generateKey(category, type, name) {
31
+ return `${category}:${type}:${name}`;
32
+ }
33
+ }
34
+ exports.SnowFlowMemoryOrganizer = SnowFlowMemoryOrganizer;
35
+ //# sourceMappingURL=snow-flow-memory-patterns.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "snow-flow",
3
- "version": "3.4.16",
3
+ "version": "3.4.18",
4
4
  "description": "ServiceNow development framework with MCP server integration. Executes background scripts using ES5 JavaScript only (ServiceNow Rhino engine requirement). Provides 17 MCP servers for complete ServiceNow operations including widget deployment with coherence validation, table operations, script execution, machine learning, advanced features, and comprehensive platform management.",
5
5
  "main": "dist/index.js",
6
6
  "type": "commonjs",
package/website/README.md CHANGED
@@ -1,4 +1,4 @@
1
- # Snow-Flow Website 🏔️❄️
1
+ # Snow-Flow Website 🏔️
2
2
 
3
3
  Official documentation website for Snow-Flow - Advanced ServiceNow Development Framework.
4
4
 
@@ -104,7 +104,7 @@ Edit the CSS variables in `css/style.css`:
104
104
  ```
105
105
 
106
106
  ### Logo
107
- The logo uses emojis (🏔️❄️). To change it, update all instances in:
107
+ The logo uses emojis (🏔️). To change it, update all instances in:
108
108
  - `index.html`
109
109
  - `docs/api-full.html`
110
110
 
@@ -739,6 +739,285 @@ pre code {
739
739
  margin-top: 1rem;
740
740
  }
741
741
 
742
+ /* Dynamic MCP Cards */
743
+ .mcp-filter {
744
+ display: flex;
745
+ justify-content: center;
746
+ gap: 1rem;
747
+ margin-bottom: 2rem;
748
+ flex-wrap: wrap;
749
+ }
750
+
751
+ .filter-btn {
752
+ padding: 0.5rem 1.5rem;
753
+ border: 2px solid var(--border-color);
754
+ background: white;
755
+ border-radius: 25px;
756
+ cursor: pointer;
757
+ font-weight: 500;
758
+ transition: all 0.3s ease;
759
+ font-size: 0.9rem;
760
+ }
761
+
762
+ .filter-btn:hover {
763
+ border-color: var(--primary-color);
764
+ color: var(--primary-color);
765
+ }
766
+
767
+ .filter-btn.active {
768
+ background: var(--primary-color);
769
+ border-color: var(--primary-color);
770
+ color: white;
771
+ }
772
+
773
+ .mcp-grid-dynamic {
774
+ display: grid;
775
+ grid-template-columns: repeat(auto-fit, minmax(400px, 1fr));
776
+ gap: 2rem;
777
+ margin-top: 2rem;
778
+ }
779
+
780
+ .mcp-card-dynamic {
781
+ background: var(--card-bg);
782
+ border-radius: 15px;
783
+ box-shadow: var(--shadow-md);
784
+ overflow: hidden;
785
+ transition: all 0.3s ease;
786
+ border: 1px solid var(--border-color);
787
+ }
788
+
789
+ .mcp-card-dynamic:hover {
790
+ transform: translateY(-5px);
791
+ box-shadow: var(--shadow-lg);
792
+ }
793
+
794
+ .mcp-card-dynamic.expanded {
795
+ box-shadow: var(--shadow-xl);
796
+ border-color: var(--primary-color);
797
+ }
798
+
799
+ .mcp-card-header {
800
+ padding: 1.5rem;
801
+ display: flex;
802
+ justify-content: space-between;
803
+ align-items: flex-start;
804
+ border-bottom: 1px solid var(--border-color);
805
+ }
806
+
807
+ .mcp-title {
808
+ flex: 1;
809
+ }
810
+
811
+ .mcp-title h3 {
812
+ margin: 0 0 0.5rem 0;
813
+ color: var(--text-primary);
814
+ font-size: 1.2rem;
815
+ font-weight: 600;
816
+ }
817
+
818
+ .mcp-badge {
819
+ background: var(--gradient-secondary);
820
+ color: white;
821
+ padding: 0.25rem 0.75rem;
822
+ border-radius: 20px;
823
+ font-size: 0.8rem;
824
+ font-weight: 600;
825
+ display: inline-block;
826
+ }
827
+
828
+ .mcp-expand-btn {
829
+ background: none;
830
+ border: none;
831
+ cursor: pointer;
832
+ padding: 0.5rem;
833
+ border-radius: 50%;
834
+ transition: all 0.3s ease;
835
+ color: var(--text-secondary);
836
+ margin-left: 1rem;
837
+ }
838
+
839
+ .mcp-expand-btn:hover {
840
+ background: var(--light-bg);
841
+ color: var(--primary-color);
842
+ }
843
+
844
+ .mcp-expand-btn.expanded svg {
845
+ transform: rotate(180deg);
846
+ }
847
+
848
+ .mcp-expand-btn svg {
849
+ transition: transform 0.3s ease;
850
+ }
851
+
852
+ .mcp-description {
853
+ padding: 0 1.5rem 1.5rem 1.5rem;
854
+ color: var(--text-secondary);
855
+ margin: 0;
856
+ line-height: 1.5;
857
+ }
858
+
859
+ .mcp-tools-container {
860
+ border-top: 1px solid var(--border-color);
861
+ background: #f9fafb;
862
+ }
863
+
864
+ .mcp-tools-grid {
865
+ padding: 1.5rem;
866
+ display: grid;
867
+ gap: 1rem;
868
+ }
869
+
870
+ .tool-item {
871
+ background: white;
872
+ padding: 1rem;
873
+ border-radius: 8px;
874
+ border: 1px solid var(--border-color);
875
+ transition: all 0.2s ease;
876
+ }
877
+
878
+ .tool-item:hover {
879
+ border-color: var(--primary-color);
880
+ box-shadow: 0 2px 8px rgba(0,102,204,0.1);
881
+ }
882
+
883
+ .tool-header {
884
+ margin-bottom: 0.5rem;
885
+ }
886
+
887
+ .tool-name {
888
+ background: #f7fafc;
889
+ color: var(--primary-color);
890
+ padding: 0.25rem 0.5rem;
891
+ border-radius: 4px;
892
+ font-size: 0.9rem;
893
+ font-weight: 600;
894
+ border: 1px solid #e2e8f0;
895
+ }
896
+
897
+ .tool-description {
898
+ color: var(--text-secondary);
899
+ margin: 0;
900
+ font-size: 0.9rem;
901
+ line-height: 1.4;
902
+ }
903
+
904
+ /* Enhanced Search */
905
+ .mcp-search {
906
+ transition: all 0.3s ease !important;
907
+ }
908
+
909
+ .mcp-search:focus {
910
+ outline: none;
911
+ border-color: var(--primary-color) !important;
912
+ box-shadow: 0 0 0 3px rgba(0,102,204,0.1) !important;
913
+ }
914
+
915
+ /* Animation Classes */
916
+ @keyframes fadeIn {
917
+ from {
918
+ opacity: 0;
919
+ transform: translateY(10px);
920
+ }
921
+ to {
922
+ opacity: 1;
923
+ transform: translateY(0);
924
+ }
925
+ }
926
+
927
+ .fadeIn {
928
+ animation: fadeIn 0.3s ease;
929
+ }
930
+
931
+ /* Loading States */
932
+ .mcp-grid-dynamic.loading {
933
+ opacity: 0.6;
934
+ pointer-events: none;
935
+ }
936
+
937
+ .mcp-grid-dynamic.loading::after {
938
+ content: "Loading tools...";
939
+ position: absolute;
940
+ top: 50%;
941
+ left: 50%;
942
+ transform: translate(-50%, -50%);
943
+ font-size: 1.2rem;
944
+ color: var(--text-secondary);
945
+ }
946
+
947
+ /* Tool Count Indicators */
948
+ .server-stats {
949
+ display: flex;
950
+ gap: 1rem;
951
+ margin-top: 1rem;
952
+ padding-top: 1rem;
953
+ border-top: 1px solid var(--border-color);
954
+ font-size: 0.9rem;
955
+ color: var(--text-light);
956
+ }
957
+
958
+ .stat-item {
959
+ display: flex;
960
+ align-items: center;
961
+ gap: 0.5rem;
962
+ }
963
+
964
+ .stat-icon {
965
+ width: 16px;
966
+ height: 16px;
967
+ background: var(--gradient-secondary);
968
+ border-radius: 50%;
969
+ }
970
+
971
+ /* Responsive Design for Dynamic Cards */
972
+ @media (max-width: 1024px) {
973
+ .mcp-grid-dynamic {
974
+ grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
975
+ gap: 1.5rem;
976
+ }
977
+ }
978
+
979
+ @media (max-width: 768px) {
980
+ .mcp-grid-dynamic {
981
+ grid-template-columns: 1fr;
982
+ gap: 1rem;
983
+ }
984
+
985
+ .mcp-card-header {
986
+ padding: 1rem;
987
+ }
988
+
989
+ .mcp-description {
990
+ padding: 0 1rem 1rem 1rem;
991
+ }
992
+
993
+ .mcp-tools-grid {
994
+ padding: 1rem;
995
+ }
996
+
997
+ .mcp-filter {
998
+ gap: 0.5rem;
999
+ }
1000
+
1001
+ .filter-btn {
1002
+ padding: 0.4rem 1rem;
1003
+ font-size: 0.8rem;
1004
+ }
1005
+ }
1006
+
1007
+ @media (max-width: 480px) {
1008
+ .tool-item {
1009
+ padding: 0.75rem;
1010
+ }
1011
+
1012
+ .tool-name {
1013
+ font-size: 0.8rem;
1014
+ }
1015
+
1016
+ .tool-description {
1017
+ font-size: 0.85rem;
1018
+ }
1019
+ }
1020
+
742
1021
  /* Responsive Design */
743
1022
  @media (max-width: 768px) {
744
1023
  .nav-menu {