snow-flow 4.5.3 → 4.5.6
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/CLAUDE.md +52 -8
- package/README.md +46 -0
- package/dist/cli.js +7 -9
- package/dist/mcp/servicenow-flow-workspace-mobile-mcp.js +1523 -11
- package/dist/templates/claude-md-template.d.ts +1 -1
- package/dist/templates/claude-md-template.js +52 -7
- package/package.json +60 -2
- package/website/index.html +104 -27
- package/website/tools.js +148 -11
package/CLAUDE.md
CHANGED
|
@@ -582,28 +582,72 @@ Snow-Flow includes 18 specialized MCP servers, each providing comprehensive Serv
|
|
|
582
582
|
- Performance Analytics setup
|
|
583
583
|
- CAB meeting management
|
|
584
584
|
|
|
585
|
-
### 14. ServiceNow Flow, Workspace & Mobile Server
|
|
586
|
-
**Purpose:** Flow Designer, Workspace configuration,
|
|
585
|
+
### 14. ServiceNow Flow, Workspace & Mobile Server + UI Builder
|
|
586
|
+
**Purpose:** Flow Designer, Agent Workspace configuration, Mobile app management, and complete UI Builder integration
|
|
587
587
|
|
|
588
|
-
**
|
|
588
|
+
**Flow Designer Tools:**
|
|
589
589
|
- `snow_list_flows` - List and discover Flow Designer flows
|
|
590
590
|
- `snow_execute_flow` - Execute existing flows programmatically
|
|
591
591
|
- `snow_get_flow_execution_status` - Monitor flow execution status
|
|
592
592
|
- `snow_get_flow_execution_history` - View flow execution history
|
|
593
593
|
- `snow_get_flow_details` - Get detailed flow configuration
|
|
594
594
|
- `snow_import_flow_from_xml` - Import flows from XML (only programmatic creation method)
|
|
595
|
-
|
|
596
|
-
|
|
595
|
+
|
|
596
|
+
**Agent Workspace Tools:**
|
|
597
|
+
- `snow_create_workspace` - Create agent workspace configurations
|
|
598
|
+
- `snow_create_workspace_tab` - Add custom workspace tabs
|
|
599
|
+
- `snow_create_contextual_panel` - Add contextual side panels
|
|
600
|
+
- `snow_discover_workspaces` - Find all workspace configurations
|
|
601
|
+
|
|
602
|
+
**Mobile App Tools:**
|
|
603
|
+
- `snow_configure_mobile_app` - Configure mobile applications
|
|
597
604
|
- `snow_send_push_notification` - Send push notifications
|
|
598
605
|
- `snow_configure_offline_sync` - Configure offline sync
|
|
599
606
|
|
|
607
|
+
**🆕 COMPLETE UI BUILDER INTEGRATION (15 NEW TOOLS!):**
|
|
608
|
+
|
|
609
|
+
**UI Builder Page Management (sys_ux_page):**
|
|
610
|
+
- `snow_create_uib_page` - Create UI Builder pages with automatic routing
|
|
611
|
+
- `snow_update_uib_page` - Update page configuration and metadata
|
|
612
|
+
- `snow_delete_uib_page` - Delete pages with comprehensive dependency validation
|
|
613
|
+
- `snow_discover_uib_pages` - Find all UI Builder pages with filtering
|
|
614
|
+
|
|
615
|
+
**UI Builder Component Library (sys_ux_lib_*):**
|
|
616
|
+
- `snow_create_uib_component` - Create custom UI components with source code
|
|
617
|
+
- `snow_update_uib_component` - Update component definitions and source
|
|
618
|
+
- `snow_discover_uib_components` - Browse ServiceNow built-in + custom components
|
|
619
|
+
- `snow_clone_uib_component` - Clone and modify existing components
|
|
620
|
+
|
|
621
|
+
**UI Builder Data Integration (sys_ux_data_broker):**
|
|
622
|
+
- `snow_create_uib_data_broker` - Connect ServiceNow tables/scripts/REST to pages
|
|
623
|
+
- `snow_configure_uib_data_broker` - Update queries, caching, and refresh settings
|
|
624
|
+
|
|
625
|
+
**UI Builder Layout Management (sys_ux_page_element):**
|
|
626
|
+
- `snow_add_uib_page_element` - Add components to pages with full configuration
|
|
627
|
+
- `snow_update_uib_page_element` - Update component properties and positioning
|
|
628
|
+
- `snow_remove_uib_page_element` - Remove elements with dependency checking
|
|
629
|
+
|
|
630
|
+
**UI Builder Advanced Features:**
|
|
631
|
+
- `snow_create_uib_page_registry` - Configure URL routing and access control
|
|
632
|
+
- `snow_discover_uib_routes` - Find all page routes with security info
|
|
633
|
+
- `snow_create_uib_client_script` - Add client-side JavaScript for pages
|
|
634
|
+
- `snow_create_uib_client_state` - Manage page state and persistence
|
|
635
|
+
- `snow_create_uib_event` - Create custom events for components
|
|
636
|
+
- `snow_analyze_uib_page_performance` - Performance analysis and optimization
|
|
637
|
+
- `snow_validate_uib_page_structure` - Structure validation and best practices
|
|
638
|
+
- `snow_discover_uib_page_usage` - Usage analytics and complexity scoring
|
|
639
|
+
|
|
600
640
|
**Important:** Flow creation is only supported through Flow Designer UI, not programmatically
|
|
601
641
|
|
|
602
642
|
**Features:**
|
|
603
643
|
- Flow Designer automation
|
|
604
|
-
- Workspace configuration
|
|
605
|
-
- Mobile app management
|
|
606
|
-
-
|
|
644
|
+
- Complete Agent Workspace configuration
|
|
645
|
+
- Mobile app management with push notifications
|
|
646
|
+
- **Complete UI Builder/UXF integration** - Full Now Experience Framework development
|
|
647
|
+
- **Conversational UI development** - Create modern ServiceNow UIs through natural language
|
|
648
|
+
- **Component library management** - Custom component development and reuse
|
|
649
|
+
- **Performance optimization** - Built-in UI Builder performance analysis
|
|
650
|
+
- **Structure validation** - Comprehensive dependency and integrity checking
|
|
607
651
|
|
|
608
652
|
### 15. ServiceNow CMDB, Event, HR, CSM & DevOps Server
|
|
609
653
|
**Purpose:** CMDB management, Event processing, HR services, Customer Service, and DevOps
|
package/README.md
CHANGED
|
@@ -31,9 +31,24 @@ Snow-Flow is a conversational ServiceNow development platform that bridges Claud
|
|
|
31
31
|
|
|
32
32
|
## Quick Start
|
|
33
33
|
|
|
34
|
+
### Prerequisites
|
|
35
|
+
|
|
36
|
+
⚠️ **CRITICAL:** Claude Code must be installed and running BEFORE using Snow-Flow to prevent stdio connection errors!
|
|
37
|
+
|
|
38
|
+
```bash
|
|
39
|
+
# 1. FIRST: Install Claude Code
|
|
40
|
+
npm install -g @anthropic-ai/claude-code
|
|
41
|
+
|
|
42
|
+
# 2. Login and start Claude Code
|
|
43
|
+
claude login
|
|
44
|
+
cd /your/project/directory
|
|
45
|
+
claude --dangerously-skip-permissions
|
|
46
|
+
```
|
|
47
|
+
|
|
34
48
|
### Installation
|
|
35
49
|
|
|
36
50
|
```bash
|
|
51
|
+
# 2. THEN: Install Snow-Flow (while Claude Code is running)
|
|
37
52
|
npm install -g snow-flow
|
|
38
53
|
```
|
|
39
54
|
|
|
@@ -43,6 +58,9 @@ npm install -g snow-flow
|
|
|
43
58
|
# Initialize configuration
|
|
44
59
|
snow-flow init
|
|
45
60
|
|
|
61
|
+
# Authenticate with ServiceNow
|
|
62
|
+
snow-flow auth login
|
|
63
|
+
|
|
46
64
|
# Create a ServiceNow widget with AI agents
|
|
47
65
|
snow-flow swarm "create incident dashboard widget with real-time charts" --max-agents 3
|
|
48
66
|
|
|
@@ -60,6 +78,34 @@ snow-flow auth login
|
|
|
60
78
|
snow-flow auth status
|
|
61
79
|
```
|
|
62
80
|
|
|
81
|
+
#### ServiceNow OAuth Configuration
|
|
82
|
+
|
|
83
|
+
To set up OAuth in your ServiceNow instance:
|
|
84
|
+
|
|
85
|
+
1. **Navigate to System OAuth → Application Registry**
|
|
86
|
+
2. **Click "New" → "Create an OAuth API endpoint"** (not client credentials)
|
|
87
|
+
3. **Fill required fields:**
|
|
88
|
+
- Name: `Snow-Flow Integration`
|
|
89
|
+
- Client ID: `snow-flow-client`
|
|
90
|
+
- Redirect URL: `http://localhost:3000/callback`
|
|
91
|
+
4. **Save and copy the Client ID and Client Secret**
|
|
92
|
+
5. **Run `snow-flow auth login`** - this opens browser for authentication
|
|
93
|
+
|
|
94
|
+
#### Common Authentication Issues
|
|
95
|
+
|
|
96
|
+
**❌ "Could not find artifact with sys_id xyz..."**
|
|
97
|
+
- **Real cause:** OAuth token expired (misleading error message)
|
|
98
|
+
- **Solution:** `snow-flow auth login`
|
|
99
|
+
- **Note:** Fixed in v4.5.3 with clear OAuth error messages
|
|
100
|
+
|
|
101
|
+
**❌ Stdio connection errors**
|
|
102
|
+
- **Cause:** Claude Code not running before Snow-Flow
|
|
103
|
+
- **Solution:** Start Claude Code first: `claude --dangerously-skip-permissions`
|
|
104
|
+
|
|
105
|
+
**❌ Permission errors**
|
|
106
|
+
- **Cause:** Not logged into Claude Code
|
|
107
|
+
- **Solution:** `claude login` before using Snow-Flow
|
|
108
|
+
|
|
63
109
|
## Core Features
|
|
64
110
|
|
|
65
111
|
### 🤖 Intelligent Agent Coordination
|
package/dist/cli.js
CHANGED
|
@@ -533,7 +533,7 @@ async function executeClaudeCode(prompt) {
|
|
|
533
533
|
}
|
|
534
534
|
// Launch Claude Code with MCP config and skip permissions to avoid raw mode issues
|
|
535
535
|
const claudeArgs = hasMcpConfig
|
|
536
|
-
? ['--mcp-config', '.mcp.json', '--dangerously-skip-permissions']
|
|
536
|
+
? ['--mcp-config', '.mcp.json', '.', '--dangerously-skip-permissions']
|
|
537
537
|
: ['--dangerously-skip-permissions'];
|
|
538
538
|
// Add debug args if debug is enabled
|
|
539
539
|
if (process.env.SNOW_FLOW_DEBUG === 'true' || process.env.LOG_LEVEL === 'debug' || process.env.LOG_LEVEL === 'trace') {
|
|
@@ -555,18 +555,16 @@ async function executeClaudeCode(prompt) {
|
|
|
555
555
|
cliLogger.info(`🔍 Working Directory: ${process.cwd()}`);
|
|
556
556
|
cliLogger.info(`🔍 MCP Config: ${mcpConfigPath}`);
|
|
557
557
|
}
|
|
558
|
-
// Start Claude Code process
|
|
558
|
+
// Start Claude Code process - inherit all stdio to prevent raw mode issues
|
|
559
559
|
const claudeProcess = (0, child_process_1.spawn)('claude', claudeArgs, {
|
|
560
|
-
stdio:
|
|
560
|
+
stdio: 'inherit', // inherit all streams to prevent raw mode errors in Codespaces
|
|
561
561
|
cwd: process.cwd(),
|
|
562
562
|
env: { ...process.env }
|
|
563
563
|
});
|
|
564
|
-
//
|
|
565
|
-
cliLogger.info('
|
|
566
|
-
cliLogger.info('
|
|
567
|
-
|
|
568
|
-
claudeProcess.stdin.write(prompt);
|
|
569
|
-
claudeProcess.stdin.end();
|
|
564
|
+
// Claude Code will open with MCP servers ready
|
|
565
|
+
cliLogger.info('🚀 Claude Code interface opening with Snow-Flow MCP servers...\n');
|
|
566
|
+
cliLogger.info('💡 Tell Claude Code: ' + chalk_1.default.green(`"${prompt.slice(0, 100)}..."`));
|
|
567
|
+
cliLogger.info('🛠️ All 20+ MCP servers with 235+ tools are now available!');
|
|
570
568
|
// Set up process monitoring
|
|
571
569
|
return new Promise((resolve) => {
|
|
572
570
|
claudeProcess.on('close', async (code) => {
|