snow-flow 3.4.15 → 3.4.17

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)
@@ -231,9 +231,9 @@ const prediction = await snow_predict({
231
231
  // Result: { category: "Email", confidence: 0.94 }
232
232
  ```
233
233
 
234
- ## 🔧 16+ Specialized MCP Servers
234
+ ## 🔧 17 Specialized MCP Servers
235
235
 
236
- Snow-Flow includes 16+ MCP servers, each providing specialized tools for different aspects of ServiceNow development:
236
+ Snow-Flow includes exactly 17 MCP servers, each providing specialized tools for different aspects of ServiceNow development:
237
237
 
238
238
  ### 1. 🚀 **Deployment Server** (40+ tools)
239
239
  Deploy artifacts with automatic validation and rollback capabilities
@@ -308,7 +308,47 @@ Advanced reporting and visualization
308
308
  - `snow_define_kpi` - KPI management
309
309
  - `snow_analyze_data_quality` - Data validation
310
310
 
311
- ### 12. 👑 **Orchestration Server** (25+ tools)
311
+ ### 12. 📚 **Knowledge & Catalog Server** (14+ tools)
312
+ Knowledge base and service catalog management
313
+ - `snow_create_knowledge_article` - Create articles
314
+ - `snow_search_knowledge` - Search knowledge base
315
+ - `snow_create_catalog_item` - Create catalog items
316
+ - `snow_create_catalog_variable` - Catalog variables
317
+ - `snow_order_catalog_item` - Order items
318
+
319
+ ### 13. 🔄 **Change, Virtual Agent & PA Server** (19+ tools)
320
+ Change management, Virtual Agent, and Performance Analytics
321
+ - `snow_create_change_request` - Change requests
322
+ - `snow_schedule_cab_meeting` - CAB meetings
323
+ - `snow_create_va_topic` - Virtual Agent topics
324
+ - `snow_create_pa_indicator` - PA indicators
325
+ - `snow_get_pa_scores` - Performance scores
326
+
327
+ ### 14. 📱 **Flow, Workspace & Mobile Server** (20+ tools)
328
+ Flow Designer, Workspace, and Mobile app management
329
+ - `snow_create_flow` - Create flows
330
+ - `snow_test_flow` - Test flows
331
+ - `snow_create_workspace` - Create workspaces
332
+ - `snow_configure_mobile_app` - Mobile config
333
+ - `snow_send_push_notification` - Push notifications
334
+
335
+ ### 15. 🗄️ **CMDB, Event, HR, CSM & DevOps Server** (23+ tools)
336
+ Configuration, Events, HR, Customer Service, DevOps
337
+ - `snow_create_ci` - Create CIs
338
+ - `snow_run_discovery` - Run discovery
339
+ - `snow_create_event` - Create events
340
+ - `snow_employee_onboarding` - HR onboarding
341
+ - `snow_create_devops_pipeline` - DevOps pipelines
342
+
343
+ ### 16. ⚡ **Advanced Features Server** (14+ tools)
344
+ Advanced optimization and analysis capabilities
345
+ - `snow_batch_api` - Batch operations (80% API reduction)
346
+ - `snow_get_table_relationships` - Table analysis
347
+ - `snow_discover_process` - Process mining
348
+ - `snow_analyze_workflow_execution` - Workflow analysis
349
+ - `snow_generate_documentation` - Auto-documentation
350
+
351
+ ### 17. 👑 **Orchestration Server** (25+ tools)
312
352
  Multi-agent coordination
313
353
  - `snow_swarm_init` - Initialize swarms
314
354
  - `snow_agent_spawn` - Create agents
@@ -662,4 +702,4 @@ Special thanks to:
662
702
 
663
703
  **Built with ❤️ for ServiceNow developers by developers who understand the struggle.**
664
704
 
665
- *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
  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() {
@@ -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
  }
@@ -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.15",
3
+ "version": "3.4.17",
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 {