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 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, and Mobile app management
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
- **Key Tools:**
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
- - `snow_create_workspace` - Create workspaces
596
- - `snow_configure_mobile_app` - Configure mobile app
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
- - Push notification system
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 in interactive mode with stdin piping
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: ['pipe', 'inherit', 'inherit'], // pipe stdin, inherit stdout/stderr
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
- // Send the prompt via stdin
565
- cliLogger.info('📝 Sending orchestration prompt to Claude Code...');
566
- cliLogger.info('🚀 Claude Code interface opening...\n');
567
- // Write prompt to stdin
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) => {