snow-flow 4.5.23 → 4.5.25

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
@@ -655,11 +655,15 @@ Snow-Flow now automatically sets its Update Set as the user's current Update Set
655
655
  - `snow_import_flow_from_xml` - Import flows from XML (only programmatic creation method)
656
656
 
657
657
  **Agent Workspace Tools:**
658
- - `snow_create_workspace` - Create agent workspace configurations
659
- - `snow_create_workspace_tab` - Add custom workspace tabs
660
- - `snow_create_contextual_panel` - Add contextual side panels
658
+ - `snow_create_workspace` - Create agent workspace configurations (uses sys_aw_master_config)
659
+ - `snow_create_workspace_tab` - **DEPRECATED:** Modern workspaces use UX pages
660
+ - `snow_create_contextual_panel` - **DEPRECATED:** Modern workspaces use UX components
661
661
  - `snow_discover_workspaces` - Find all workspace configurations
662
662
 
663
+ **⚠️ IMPORTANT:** Modern ServiceNow Agent Workspaces use **UX Pages (sys_ux_*)** for configuration, not legacy sys_aw_* tables. Use UI Builder tools instead:
664
+ - **Workspace tabs** → Use `snow_add_uib_page_element` with UX page components
665
+ - **Contextual panels** → Use UI Builder component library with data brokers
666
+
663
667
  **Mobile App Tools:**
664
668
  - `snow_configure_mobile_app` - Configure mobile applications
665
669
  - `snow_send_push_notification` - Send push notifications
@@ -165,7 +165,7 @@ class ServiceNowFlowWorkspaceMobileMCPEnhanced extends enhanced_base_mcp_server_
165
165
  },
166
166
  {
167
167
  name: 'snow_create_workspace_form',
168
- description: 'Creates workspace forms using sys_aw_form table.',
168
+ description: '⚠️ DEPRECATED: sys_aw_form table does not exist in modern ServiceNow. Use UI Builder form components instead.',
169
169
  inputSchema: {
170
170
  type: 'object',
171
171
  properties: {
@@ -194,7 +194,7 @@ class ServiceNowFlowWorkspaceMobileMCPEnhanced extends enhanced_base_mcp_server_
194
194
  },
195
195
  {
196
196
  name: 'snow_deploy_workspace',
197
- description: 'Deploys workspace to agents using sys_aw_workspace table.',
197
+ description: '⚠️ DEPRECATED: sys_aw_workspace table incorrect. Use sys_aw_master_config for workspace deployment.',
198
198
  inputSchema: {
199
199
  type: 'object',
200
200
  properties: {
@@ -548,7 +548,7 @@ Check execution details for results.`);
548
548
  active: false
549
549
  };
550
550
  this.logger.progress('Creating workspace...');
551
- const response = await this.createRecord('sys_aw_workspace', workspaceData);
551
+ const response = await this.createRecord('sys_aw_master_config', workspaceData);
552
552
  if (!response.success) {
553
553
  return this.createResponse(`❌ Failed to create workspace: ${response.error}`);
554
554
  }
@@ -575,7 +575,26 @@ Check execution details for results.`);
575
575
  icon: args.icon || ''
576
576
  };
577
577
  this.logger.progress('Adding tab...');
578
- const response = await this.createRecord('sys_aw_tab', tabData);
578
+ // DEPRECATED: Return proper MCP response for non-existent table
579
+ return {
580
+ content: [{
581
+ type: 'text',
582
+ text: `⚠️ DEPRECATED: sys_aw_tab table does not exist in modern ServiceNow
583
+
584
+ 🚨 **Modern Approach Required:**
585
+ Modern Agent Workspaces use UX Pages (sys_ux_*) for tab configuration.
586
+
587
+ 💡 **Use Instead:**
588
+ - snow_add_uib_page_element: Add components to UX pages
589
+ - snow_create_uib_page: Create custom workspace pages
590
+ - snow_create_uib_data_broker: Connect data sources
591
+
592
+ 📋 **Migration Path:**
593
+ 1. Use snow_create_uib_page for workspace layout
594
+ 2. Use snow_add_uib_page_element to add table components
595
+ 3. Configure through UI Builder instead of legacy tables`
596
+ }]
597
+ };
579
598
  if (!response.success) {
580
599
  return this.createResponse(`❌ Failed to add tab: ${response.error}`);
581
600
  }
@@ -599,7 +618,21 @@ Check execution details for results.`);
599
618
  order_by: args.order_by || ''
600
619
  };
601
620
  this.logger.progress('Adding list...');
602
- const response = await this.createRecord('sys_aw_list', listData);
621
+ // DEPRECATED: Return proper MCP response for non-existent table
622
+ return {
623
+ content: [{
624
+ type: 'text',
625
+ text: `⚠️ DEPRECATED: sys_aw_list table does not exist in modern ServiceNow
626
+
627
+ 💡 **Modern Alternative:**
628
+ Use UI Builder list components for workspace lists.
629
+
630
+ 🛠️ **Recommended Tools:**
631
+ - snow_create_uib_component: Create custom list component
632
+ - snow_create_uib_data_broker: Connect list to data source
633
+ - snow_add_uib_page_element: Add list to workspace page`
634
+ }]
635
+ };
603
636
  if (!response.success) {
604
637
  return this.createResponse(`❌ Failed to add list: ${response.error}`);
605
638
  }
@@ -622,7 +655,21 @@ Check execution details for results.`);
622
655
  fields: args.fields?.join(',') || ''
623
656
  };
624
657
  this.logger.progress('Creating form...');
625
- const response = await this.createRecord('sys_aw_form', formData);
658
+ // DEPRECATED: Return proper MCP response for non-existent table
659
+ return {
660
+ content: [{
661
+ type: 'text',
662
+ text: `⚠️ DEPRECATED: sys_aw_form table does not exist in modern ServiceNow
663
+
664
+ 💡 **Modern Alternative:**
665
+ Use UI Builder form components for workspace forms.
666
+
667
+ 🛠️ **Recommended Tools:**
668
+ - snow_create_uib_component: Create custom form component
669
+ - snow_create_uib_page: Create form pages
670
+ - Standard ServiceNow form designer for record forms`
671
+ }]
672
+ };
626
673
  if (!response.success) {
627
674
  return this.createResponse(`❌ Failed to create form: ${response.error}`);
628
675
  }
@@ -646,7 +693,21 @@ Check execution details for results.`);
646
693
  condition: args.condition || ''
647
694
  };
648
695
  this.logger.progress('Adding UI action...');
649
- const response = await this.createRecord('sys_aw_ui_action', actionData);
696
+ // DEPRECATED: Return proper MCP response for non-existent table
697
+ return {
698
+ content: [{
699
+ type: 'text',
700
+ text: `⚠️ DEPRECATED: sys_aw_ui_action table does not exist in modern ServiceNow
701
+
702
+ 💡 **Modern Alternative:**
703
+ Use UI Builder action components for workspace actions.
704
+
705
+ 🛠️ **Recommended Tools:**
706
+ - snow_create_uib_component: Create custom action components
707
+ - Standard ServiceNow UI Actions for record actions
708
+ - UI Builder event system for custom interactions`
709
+ }]
710
+ };
650
711
  if (!response.success) {
651
712
  return this.createResponse(`❌ Failed to add UI action: ${response.error}`);
652
713
  }
@@ -664,7 +725,7 @@ Check execution details for results.`);
664
725
  roles: args.roles?.join(',') || ''
665
726
  };
666
727
  this.logger.progress('Deploying workspace...');
667
- const response = await this.updateRecord('sys_aw_workspace', args.workspace_id, updateData);
728
+ const response = await this.updateRecord('sys_aw_master_config', args.workspace_id, updateData);
668
729
  if (!response.success) {
669
730
  return this.createResponse(`❌ Failed to deploy workspace: ${response.error}`);
670
731
  }
@@ -1345,25 +1345,16 @@ ${executionList}
1345
1345
  catch (searchError) {
1346
1346
  this.logger.warn('Could not create search config, workspace created without search:', searchError);
1347
1347
  }
1348
- // Fix from user feedback: Create tabs for each table automatically
1348
+ // UPDATED: Modern workspace tab creation guidance
1349
+ let tabsCreated = 0;
1350
+ let modernWorkspaceNote = '';
1349
1351
  if (args.tables && args.tables.length > 0) {
1350
- for (let i = 0; i < args.tables.length; i++) {
1351
- const table = args.tables[i];
1352
+ modernWorkspaceNote = `\n\n📋 **Tab Configuration Required:**\nModern Agent Workspaces use UX Pages for tabs. Configure tabs through:\n`;
1353
+ for (const table of args.tables) {
1352
1354
  const tabLabel = table.replace(/_/g, ' ').replace(/\b\w/g, (l) => l.toUpperCase());
1353
- try {
1354
- await this.client.createRecord('sys_aw_tab', {
1355
- workspace: workspaceId,
1356
- table: table,
1357
- label: tabLabel,
1358
- name: `${table}_tab`,
1359
- order: (i + 1) * 100,
1360
- active: true
1361
- });
1362
- }
1363
- catch (tabError) {
1364
- this.logger.warn(`Could not create tab for table ${table}:`, tabError);
1365
- }
1355
+ modernWorkspaceNote += `\n• **${tabLabel}**: Use snow_add_uib_page_element to add ${table} components`;
1366
1356
  }
1357
+ modernWorkspaceNote += `\n\n💡 **Modern Approach:**\n1. Use snow_create_uib_page for custom workspace pages\n2. Use snow_add_uib_page_element to add table components\n3. Use snow_create_uib_data_broker for data connections`;
1367
1358
  }
1368
1359
  return {
1369
1360
  content: [{
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "snow-flow",
3
- "version": "4.5.23",
3
+ "version": "4.5.25",
4
4
  "description": "Conversational ServiceNow development platform using Claude Code. Multi-agent orchestration with 20+ MCP servers providing 200+ ServiceNow tools for comprehensive platform development.",
5
5
  "main": "dist/index.js",
6
6
  "type": "commonjs",