snow-flow 1.4.40 → 1.4.42

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.
@@ -44,18 +44,14 @@
44
44
  "SNOW_CLIENT_SECRET": "${SNOW_CLIENT_SECRET}"
45
45
  }
46
46
  },
47
- "servicenow-graph-memory": {
47
+ "servicenow-memory": {
48
48
  "command": "node",
49
49
  "args": [
50
- "${MCP_PATH}/servicenow-graph-memory-mcp.js"
50
+ "${MCP_PATH}/servicenow-memory-mcp.js"
51
51
  ],
52
52
  "env": {
53
- "NEO4J_URI": "${NEO4J_URI}",
54
- "NEO4J_USER": "${NEO4J_USER}",
55
- "NEO4J_PASSWORD": "${NEO4J_PASSWORD}",
56
- "SNOW_INSTANCE": "${SNOW_INSTANCE}",
57
- "SNOW_CLIENT_ID": "${SNOW_CLIENT_ID}",
58
- "SNOW_CLIENT_SECRET": "${SNOW_CLIENT_SECRET}"
53
+ "MEMORY_PATH": "${MEMORY_PATH}",
54
+ "SNOW_FLOW_HOME": "${SNOW_FLOW_HOME}"
59
55
  }
60
56
  },
61
57
  "servicenow-operations": {
@@ -29,16 +29,12 @@
29
29
  "SNOW_CLIENT_SECRET": "{{SNOW_CLIENT_SECRET}}"
30
30
  }
31
31
  },
32
- "servicenow-graph-memory": {
32
+ "servicenow-memory": {
33
33
  "command": "node",
34
- "args": ["{{PROJECT_ROOT}}/dist/mcp/servicenow-graph-memory-mcp.js"],
34
+ "args": ["{{PROJECT_ROOT}}/dist/mcp/servicenow-memory-mcp.js"],
35
35
  "env": {
36
- "NEO4J_URI": "{{NEO4J_URI}}",
37
- "NEO4J_USER": "{{NEO4J_USER}}",
38
- "NEO4J_PASSWORD": "{{NEO4J_PASSWORD}}",
39
- "SNOW_INSTANCE": "{{SNOW_INSTANCE}}",
40
- "SNOW_CLIENT_ID": "{{SNOW_CLIENT_ID}}",
41
- "SNOW_CLIENT_SECRET": "{{SNOW_CLIENT_SECRET}}"
36
+ "MEMORY_PATH": "{{MEMORY_PATH}}",
37
+ "SNOW_FLOW_HOME": "{{SNOW_FLOW_HOME}}"
42
38
  }
43
39
  },
44
40
  "servicenow-operations": {
@@ -95,21 +91,10 @@
95
91
  "SNOW_CLIENT_SECRET": "{{SNOW_CLIENT_SECRET}}"
96
92
  }
97
93
  },
98
- "servicenow-memory": {
99
- "command": "node",
100
- "args": ["{{PROJECT_ROOT}}/dist/mcp/servicenow-memory-mcp.js"],
101
- "env": {
102
- "SNOW_INSTANCE": "{{SNOW_INSTANCE}}",
103
- "SNOW_CLIENT_ID": "{{SNOW_CLIENT_ID}}",
104
- "SNOW_CLIENT_SECRET": "{{SNOW_CLIENT_SECRET}}"
105
- }
106
- },
107
94
  "snow-flow": {
108
95
  "command": "node",
109
96
  "args": ["{{PROJECT_ROOT}}/dist/mcp/snow-flow-mcp.js"],
110
- "env": {
111
- "SNOW_FLOW_ENV": "{{SNOW_FLOW_ENV}}"
112
- }
97
+ "env": {}
113
98
  }
114
99
  }
115
100
  }
package/README.md CHANGED
@@ -203,6 +203,42 @@ Snow-Flow provides **100+ real MCP tools** across 16 categories via **16 special
203
203
  - `snow_ensure_active_update_set` - Ensure active session
204
204
  - Plus 5+ additional update set tools
205
205
 
206
+ #### đŸŽ¯ **Automatic Update Set Creation**
207
+
208
+ âš ī¸ **IMPORTANT: Snow-Flow automatically manages Update Sets for you!**
209
+
210
+ - **🆕 Automatic Creation**: When you start a session, Snow-Flow automatically creates a new Update Set
211
+ - **📌 Session Persistence**: All changes during your session are tracked in this Update Set
212
+ - **🔄 Continuous Work**: Snow-Flow continues using the same Update Set until you explicitly switch
213
+ - **💾 Change Tracking**: Every ServiceNow modification is automatically captured for deployment
214
+
215
+ **Example workflow:**
216
+ ```bash
217
+ # Session 1: Snow-Flow creates "AUTO_2025-08-03_widget_development"
218
+ snow-flow swarm "Create incident dashboard widget"
219
+ # All changes go into this Update Set
220
+
221
+ # Same session: Want a new Update Set? Just ask!
222
+ # Simply tell Snow-Flow: "please create a new update set for the authentication feature"
223
+ # Snow-Flow will create a new Update Set and switch to it
224
+
225
+ # Session 2: Still using the last active Update Set
226
+ snow-flow swarm "Add authentication to the dashboard"
227
+ # Changes continue in the same Update Set from where you left off
228
+ ```
229
+
230
+ **Key Points:**
231
+ - 🔄 **Same Session Flexibility**: Within the same conversation, just ask Snow-Flow to create a new Update Set
232
+ - đŸ’Ŧ **Natural Language**: Say "create a new update set for [feature]" at any point
233
+ - 📌 **Session Memory**: Snow-Flow remembers which Update Set is active across sessions
234
+ - đŸŽ¯ **No New Command Needed**: No need to start a new swarm command
235
+
236
+ **Best Practices:**
237
+ - Let Snow-Flow manage Update Sets automatically
238
+ - Ask for new Update Sets when switching to different features
239
+ - Review your current Update Set with `snow_update_set_current`
240
+ - Export Update Sets before major deployments
241
+
206
242
  ### 🔄 **XML Flow Generation** (5+ tools)
207
243
  - ✅ **XML-first flow creation** - Bypass API limitations
208
244
  - ✅ **Direct XML deployment** - Alternative deployment method
package/dist/cli.js CHANGED
@@ -517,7 +517,7 @@ async function executeWithClaude(claudeCommand, prompt, resolve) {
517
517
  cliLogger.info('✅ Found MCP configuration in current directory');
518
518
  }
519
519
  catch {
520
- cliLogger.warn('âš ī¸ No MCP configuration found. Run "snow-flow init --sparc" to set up MCP servers');
520
+ cliLogger.warn('âš ī¸ No MCP configuration found. Run "snow-flow init" to set up MCP servers');
521
521
  }
522
522
  const claudeArgs = hasMcpConfig
523
523
  ? ['--mcp-config', '.mcp.json', '.', '--dangerously-skip-permissions']
@@ -2048,8 +2048,8 @@ program
2048
2048
  // Initialize Snow-Flow project
2049
2049
  program
2050
2050
  .command('init')
2051
- .description('Initialize a Snow-Flow project with SPARC environment')
2052
- .option('--sparc', 'Initialize with SPARC methodology and MCP servers (recommended)', true)
2051
+ .description('Initialize a Snow-Flow project with full AI-powered environment')
2052
+ .option('--sparc', '[Deprecated] SPARC is now included by default', true)
2053
2053
  .option('--skip-mcp', 'Skip MCP server activation prompt')
2054
2054
  .option('--force', 'Overwrite existing files without prompting')
2055
2055
  .action(async (options) => {
@@ -2069,16 +2069,14 @@ program
2069
2069
  // Create .env file
2070
2070
  console.log('🔐 Creating environment configuration...');
2071
2071
  await createEnvFile(targetDir, options.force);
2072
- // Create MCP configuration
2073
- if (options.sparc) {
2074
- console.log('🔧 Setting up MCP servers for Claude Code...');
2075
- await createMCPConfig(targetDir, options.force);
2076
- // Copy CLAUDE.md file
2077
- console.log('📚 Creating documentation files...');
2078
- await copyCLAUDEmd(targetDir, options.force);
2079
- // Create README files
2080
- await createReadmeFiles(targetDir, options.force);
2081
- }
2072
+ // Create MCP configuration - always included now (SPARC is default)
2073
+ console.log('🔧 Setting up MCP servers for Claude Code...');
2074
+ await createMCPConfig(targetDir, options.force);
2075
+ // Copy CLAUDE.md file
2076
+ console.log('📚 Creating documentation files...');
2077
+ await copyCLAUDEmd(targetDir, options.force);
2078
+ // Create README files
2079
+ await createReadmeFiles(targetDir, options.force);
2082
2080
  console.log(chalk_1.default.green.bold('\n✅ Snow-Flow project initialized successfully!'));
2083
2081
  console.log('\n📋 Created files and directories:');
2084
2082
  console.log(' ✓ .claude/ - Claude Code configuration');
@@ -2086,30 +2084,28 @@ program
2086
2084
  console.log(' ✓ .snow-flow/ - Snow-Flow project data (Queen, memory, tests)');
2087
2085
  console.log(' ✓ memory/ - Persistent memory storage');
2088
2086
  console.log(' ✓ .env - ServiceNow OAuth configuration');
2089
- if (options.sparc) {
2090
- console.log(' ✓ .mcp.json - MCP server configuration');
2091
- console.log(' ✓ CLAUDE.md - Development documentation');
2092
- console.log(' ✓ README.md - Project documentation');
2093
- if (!options.skipMcp) {
2094
- // Start MCP servers automatically
2095
- console.log(chalk_1.default.yellow.bold('\n🚀 Starting MCP servers in the background...'));
2096
- try {
2097
- const { MCPServerManager } = await Promise.resolve().then(() => __importStar(require('./utils/mcp-server-manager.js')));
2098
- const manager = new MCPServerManager();
2099
- await manager.initialize();
2100
- console.log('📡 Starting all ServiceNow MCP servers...');
2101
- await manager.startAllServers();
2102
- const status = manager.getServerStatus();
2103
- const running = status.filter((s) => s.status === 'running').length;
2104
- const total = status.length;
2105
- console.log(chalk_1.default.green(`✅ Started ${running}/${total} MCP servers successfully!`));
2106
- console.log(chalk_1.default.blue('\n📋 MCP servers are now running in the background'));
2107
- console.log('đŸŽ¯ They will be available when you run swarm commands');
2108
- }
2109
- catch (error) {
2110
- console.log(chalk_1.default.yellow('\nâš ī¸ Could not start MCP servers automatically'));
2111
- console.log('📝 You can start them manually with: ' + chalk_1.default.cyan('snow-flow mcp start'));
2112
- }
2087
+ console.log(' ✓ .mcp.json - MCP server configuration');
2088
+ console.log(' ✓ CLAUDE.md - Development documentation');
2089
+ console.log(' ✓ README.md - Project documentation');
2090
+ if (!options.skipMcp) {
2091
+ // Start MCP servers automatically
2092
+ console.log(chalk_1.default.yellow.bold('\n🚀 Starting MCP servers in the background...'));
2093
+ try {
2094
+ const { MCPServerManager } = await Promise.resolve().then(() => __importStar(require('./utils/mcp-server-manager.js')));
2095
+ const manager = new MCPServerManager();
2096
+ await manager.initialize();
2097
+ console.log('📡 Starting all ServiceNow MCP servers...');
2098
+ await manager.startAllServers();
2099
+ const status = manager.getServerStatus();
2100
+ const running = status.filter((s) => s.status === 'running').length;
2101
+ const total = status.length;
2102
+ console.log(chalk_1.default.green(`✅ Started ${running}/${total} MCP servers successfully!`));
2103
+ console.log(chalk_1.default.blue('\n📋 MCP servers are now running in the background'));
2104
+ console.log('đŸŽ¯ They will be available when you run swarm commands');
2105
+ }
2106
+ catch (error) {
2107
+ console.log(chalk_1.default.yellow('\nâš ī¸ Could not start MCP servers automatically'));
2108
+ console.log('📝 You can start them manually with: ' + chalk_1.default.cyan('snow-flow mcp start'));
2113
2109
  }
2114
2110
  }
2115
2111
  console.log(chalk_1.default.blue.bold('\nđŸŽ¯ Next steps:'));
@@ -2301,7 +2297,7 @@ Each server provides autonomous capabilities for different aspects of ServiceNow
2301
2297
  npm install -g snow-flow
2302
2298
 
2303
2299
  # Initialize Snow-Flow in your project directory
2304
- snow-flow init --sparc
2300
+ snow-flow init
2305
2301
  \`\`\`
2306
2302
 
2307
2303
  #### Alternative: Install from source
@@ -2343,7 +2339,7 @@ snow-flow auth login
2343
2339
  Snow-Flow now includes **automatic MCP server activation** for Claude Code! During initialization, you'll be prompted to automatically start Claude Code with all 11 MCP servers pre-loaded:
2344
2340
 
2345
2341
  \`\`\`bash
2346
- snow-flow init --sparc
2342
+ snow-flow init
2347
2343
 
2348
2344
  # You'll see:
2349
2345
  # 🚀 Would you like to start Claude Code with MCP servers automatically? (Y/n)
@@ -2598,7 +2594,7 @@ We welcome contributions! Please see our contributing guidelines (coming soon).
2598
2594
  ## 🆕 What's New in v1.1.25
2599
2595
 
2600
2596
  ### Automatic MCP Server Activation đŸŽ¯
2601
- - **Interactive Prompt**: During \`snow-flow init --sparc\`, you're now prompted to automatically start Claude Code with all MCP servers
2597
+ - **Interactive Prompt**: During \`snow-flow init\`, you're now prompted to automatically start Claude Code with all MCP servers
2602
2598
  - **Zero Manual Steps**: No more manual MCP approval in Claude Code - servers load automatically using \`claude --mcp-config\`
2603
2599
  - **Cross-Platform Support**: Works on Mac, Linux, and Windows with platform-specific activation scripts
2604
2600
  - **Instant Availability**: All 11 ServiceNow MCP servers are immediately available in Claude Code after initialization
@@ -2619,7 +2615,7 @@ Built with the power of Claude AI and the ServiceNow platform. Special thanks to
2619
2615
 
2620
2616
  ---
2621
2617
 
2622
- **Ready to revolutionize your ServiceNow development?** Start with \`snow-flow init --sparc\` and experience the future of ServiceNow automation! 🚀
2618
+ **Ready to revolutionize your ServiceNow development?** Start with \`snow-flow init\` and experience the future of ServiceNow automation! 🚀
2623
2619
  `;
2624
2620
  await fs_1.promises.writeFile(readmePath, mainReadme);
2625
2621
  }
@@ -2918,7 +2914,7 @@ if (deployment.failed) {
2918
2914
  - \`npm run typecheck\`: Run TypeScript type checking
2919
2915
 
2920
2916
  ## Snow-Flow Commands
2921
- - \`snow-flow init --sparc\`: Initialize project with SPARC environment
2917
+ - \`snow-flow init\`: Initialize project with MCP servers and SPARC environment and SPARC environment
2922
2918
  - \`snow-flow auth login\`: Authenticate with ServiceNow OAuth
2923
2919
  - \`snow-flow swarm "<objective>"\`: Start multi-agent swarm - ÊÊn command voor alles!
2924
2920
  - \`snow-flow sparc <mode> "<task>"\`: Run specific SPARC mode
@@ -3048,7 +3044,7 @@ snow_smart_update_set({
3048
3044
  \`\`\`
3049
3045
 
3050
3046
  ## đŸŽ¯ Quick Start
3051
- 1. \`snow-flow init --sparc\` - Initialize project with SPARC environment
3047
+ 1. \`snow-flow init\` - Initialize project with MCP servers and SPARC environment and SPARC environment
3052
3048
  2. Configure ServiceNow credentials in .env file
3053
3049
  3. \`snow-flow auth login\` - Authenticate with ServiceNow OAuth
3054
3050
  4. \`snow-flow swarm "create a widget for incident management"\` - Everything automatic!
@@ -3098,7 +3094,7 @@ With concurrent execution and batch operations:
3098
3094
  This is a minimal CLAUDE.md file. The full documentation should be available in your Snow-Flow installation.
3099
3095
 
3100
3096
  ## Quick Start
3101
- 1. \`snow-flow init --sparc\` - Initialize project with SPARC environment
3097
+ 1. \`snow-flow init\` - Initialize project with MCP servers and SPARC environment and SPARC environment
3102
3098
  2. Configure ServiceNow credentials in .env file
3103
3099
  3. \`snow-flow auth login\` - Authenticate with ServiceNow OAuth
3104
3100
  4. \`snow-flow swarm "create a widget for incident management"\` - Everything automatic!
@@ -3350,7 +3346,7 @@ if (deployment.failed) {
3350
3346
  - \`npm run typecheck\`: Run TypeScript type checking
3351
3347
 
3352
3348
  ### Snow-Flow Commands
3353
- - \`snow-flow init --sparc\`: Initialize project with MCP servers
3349
+ - \`snow-flow init\`: Initialize project with MCP servers and SPARC environment
3354
3350
  - \`snow-flow auth login\`: Authenticate with ServiceNow
3355
3351
  - \`snow-flow swarm "<objective>"\`: Execute multi-agent development
3356
3352
  - \`snow-flow mcp start\`: Start MCP servers manually
@@ -3380,7 +3376,7 @@ SNOW_CLIENT_SECRET=your_oauth_client_secret
3380
3376
  ❌ Don't deploy without testing
3381
3377
 
3382
3378
  ## đŸŽ¯ Quick Start
3383
- 1. \`snow-flow init --sparc\` - Initialize project with MCP servers
3379
+ 1. \`snow-flow init\` - Initialize project with MCP servers and SPARC environment
3384
3380
  2. Configure ServiceNow credentials in .env file
3385
3381
  3. \`snow-flow auth login\` - Authenticate with ServiceNow
3386
3382
  4. \`snow-flow swarm "create a widget for incident management"\` - Everything automatic!
@@ -3619,7 +3615,7 @@ async function createMCPConfig(targetDir, force = false) {
3619
3615
  "servicenow-deployment",
3620
3616
  "servicenow-update-set",
3621
3617
  "servicenow-intelligent",
3622
- "servicenow-graph-memory",
3618
+ "servicenow-memory",
3623
3619
  "servicenow-operations",
3624
3620
  "servicenow-platform-development",
3625
3621
  "servicenow-integration",