snow-flow 8.36.1 → 8.36.3

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
@@ -5,7 +5,7 @@
5
5
  [![License: Elastic-2.0](https://img.shields.io/badge/License-Elastic--2.0-blue.svg?style=for-the-badge)](https://www.elastic.co/licensing/elastic-license)
6
6
  [![Node.js](https://img.shields.io/node/v/snow-flow.svg?style=for-the-badge&logo=node.js&color=339933)](https://nodejs.org)
7
7
 
8
- **Develop ServiceNow through conversation • 411 Tools • 2 MCP Servers • 75+ LLM Providers • Works with ANY AI coding assistant**
8
+ **Develop ServiceNow through conversation • 413 Tools • 2 MCP Servers • 75+ LLM Providers • Works with ANY AI coding assistant**
9
9
 
10
10
  ---
11
11
 
@@ -26,7 +26,7 @@ Traditional ServiceNow development means:
26
26
 
27
27
  Snow-Flow provides:
28
28
  - ✅ **Conversational Development**: Build through natural language
29
- - ✅ **411 ServiceNow Tools**: Complete API coverage via 2 unified MCP servers
29
+ - ✅ **413 ServiceNow Tools**: Complete API coverage via 2 unified MCP servers
30
30
  - ✅ **75+ LLM Providers**: Claude, GPT-4o, Gemini, Llama, Mistral, DeepSeek, Groq, or ANY provider via SnowCode
31
31
  - ✅ **100% Free Option**: Ollama, LM Studio, Jan - run models locally offline
32
32
  - ✅ **Local Development**: Pull artifacts to local files, edit with native tools
@@ -50,7 +50,7 @@ snow-flow init
50
50
  Snow-Flow will automatically:
51
51
  - ✅ Detect and install SnowCode (recommended AI coding platform)
52
52
  - ✅ Generate configuration files (`.env`, `.snow-code/config.json`)
53
- - ✅ Set up 2 MCP servers with 411 ServiceNow tools
53
+ - ✅ Set up 2 MCP servers with 413 ServiceNow tools
54
54
  - ✅ Create documentation (`AGENTS.md`, `README.md`)
55
55
 
56
56
  ### Configuration
@@ -303,9 +303,9 @@ snow-flow swarm "create business rule to auto-assign incidents based on category
303
303
  snow-flow swarm "train incident classifier on last 6 months of data"
304
304
  ```
305
305
 
306
- ### 411 ServiceNow Tools (2 MCP Servers)
306
+ ### 413 ServiceNow Tools (2 MCP Servers)
307
307
 
308
- **ServiceNow Unified Server (235+ tools):**
308
+ **ServiceNow Unified Server (237+ tools):**
309
309
  - Complete CRUD operations on any table
310
310
  - Widget deployment & validation
311
311
  - UI Builder components
@@ -462,7 +462,7 @@ See how Snow-Flow's open, flexible approach compares to ServiceNow's proprietary
462
462
  | **Base Cost** | €0 (open source) or €99/dev/month (enterprise) | €100-200/user/month + implementation fees (€150k-€4.5M) |
463
463
  | **LLM Choice** | **Any LLM** (Claude, GPT-4, Gemini, Llama, Mistral, DeepSeek, local models) | NowLLM + optional Azure OpenAI |
464
464
  | **Development Environment** | **Local + native IDEs** (VS Code, Cursor, Windsurf, terminal) | ServiceNow Studio only (browser-based) |
465
- | **MCP Tools** | **437 tools** (393 open source + 44 enterprise) | N/A (proprietary API, no MCP) |
465
+ | **MCP Tools** | **439 tools** (395 open source + 44 enterprise) | N/A (proprietary API, no MCP) |
466
466
  | **Target Users** | Professional developers + technical users | Citizen developers + process owners |
467
467
  | **Enterprise Integrations** | **Jira, Azure DevOps, Confluence**, Process Mining, ML tools | ServiceNow ecosystem only |
468
468
  | **ML Capabilities** | **TensorFlow.js neural networks** (local training) + Predictive Intelligence integration | RAG-based AI only |
@@ -483,7 +483,7 @@ See how Snow-Flow's open, flexible approach compares to ServiceNow's proprietary
483
483
  - **Vendor Independence**: Not locked into ServiceNow's AI ecosystem - use any LLM provider
484
484
  - **Cost Efficiency**: Free open-source option + affordable enterprise pricing (10-20x cheaper than ServiceNow)
485
485
  - **Developer Experience**: Work in your preferred IDE with local development workflows
486
- - **Enterprise Grade**: 437 tools, seat management, integrations, 99.9% SLA on managed infrastructure
486
+ - **Enterprise Grade**: 439 tools, seat management, integrations, 99.9% SLA on managed infrastructure
487
487
  - **Future-Proof**: Open standards (MCP), portable integrations, no vendor lock-in
488
488
 
489
489
  ---
@@ -570,7 +570,7 @@ cp .snow-code/config.json .cursor/mcp.json
570
570
  # For Windsurf
571
571
  cp .snow-code/config.json mcp_config.json
572
572
 
573
- # Restart your AI assistant → 411 Snow-Flow tools available!
573
+ # Restart your AI assistant → 413 Snow-Flow tools available!
574
574
  ```
575
575
 
576
576
  ---
@@ -678,7 +678,7 @@ Snow-Flow follows an **Open Core** business model. The core framework is 100% op
678
678
 
679
679
  The current Snow-Flow release includes:
680
680
 
681
- - ✅ **411 ServiceNow Tools** - Complete API coverage via 2 MCP servers
681
+ - ✅ **413 ServiceNow Tools** - Complete API coverage via 2 MCP servers
682
682
  - ✅ **75+ LLM Providers** - Claude, GPT-4o, Gemini, Llama, Ollama, Groq, Mistral, DeepSeek, etc.
683
683
  - ✅ **Conversational Development** - Build widgets, flows, workspaces through natural language
684
684
  - ✅ **Local Development Bridge** - Pull/push artifacts, edit with native tools
@@ -745,7 +745,7 @@ Enterprise features will be available via seat-based commercial license:
745
745
  **License Format:** `SNOW-[TIER]-[ORG]-[DEV_SEATS]/[STAKEHOLDER_SEATS]-[EXPIRY]-[CHECKSUM]`
746
746
 
747
747
  **Seat Types:**
748
- - **Developer Seats:** Full read/write access to all 410+ MCP tools via CLI/TUI
748
+ - **Developer Seats:** Full read/write access to all 413 MCP tools via CLI/TUI
749
749
  - **Stakeholder Seats:** Read-only CLI/TUI access for queries and analytics (no write operations)
750
750
 
751
751
  **Pricing Tiers:**
@@ -990,7 +990,7 @@ snow-flow init
990
990
  ---
991
991
 
992
992
  **Snow-Flow: Conversational ServiceNow Development**
993
- 411 Tools • 2 MCP Servers • 75+ LLM Providers • Universal Compatibility
993
+ 413 Tools • 2 MCP Servers • 75+ LLM Providers • Universal Compatibility
994
994
 
995
995
  **Get started in 3 minutes:**
996
996
  ```bash
package/dist/cli.js CHANGED
@@ -3280,7 +3280,7 @@ program
3280
3280
  .option('--dry-run', 'Preview the export without writing files')
3281
3281
  .action(async (options) => {
3282
3282
  console.log(`\n📤 Snow-Flow Claude Desktop Export v${version_js_1.VERSION}`);
3283
- console.log('🎯 Exporting all 22 MCP servers with 245+ tools to Claude Desktop...\n');
3283
+ console.log('🎯 Exporting all 22 MCP servers with 247+ tools to Claude Desktop...\n');
3284
3284
  try {
3285
3285
  const { exportToClaudeDesktop } = await Promise.resolve().then(() => __importStar(require('./utils/claude-desktop-exporter.js')));
3286
3286
  const result = await exportToClaudeDesktop({
@@ -3307,7 +3307,7 @@ program
3307
3307
  console.log('1. Restart Claude Desktop to load the new MCP servers');
3308
3308
  console.log('2. Open Claude Desktop chat');
3309
3309
  console.log('3. Try: "Create UX workspace for IT support using snow_create_complete_workspace"');
3310
- console.log('\n💡 All 245+ Snow-Flow tools are now available in Claude Desktop!');
3310
+ console.log('\n💡 All 247+ Snow-Flow tools are now available in Claude Desktop!');
3311
3311
  }
3312
3312
  else {
3313
3313
  console.error('\n❌ Export failed:', result.error);
@@ -1,4 +1,5 @@
1
1
  export { toolDefinition as snow_query_filter_def, execute as snow_query_filter_exec } from './snow_query_filter.js';
2
2
  export { toolDefinition as snow_date_filter_def, execute as snow_date_filter_exec } from './snow_date_filter.js';
3
3
  export { toolDefinition as snow_field_filter_def, execute as snow_field_filter_exec } from './snow_field_filter.js';
4
+ export { toolDefinition as snow_create_saved_filter_def, execute as snow_create_saved_filter_exec } from './snow_create_saved_filter.js';
4
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/mcp/servicenow-mcp-unified/tools/filters/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,IAAI,qBAAqB,EAAE,OAAO,IAAI,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AACpH,OAAO,EAAE,cAAc,IAAI,oBAAoB,EAAE,OAAO,IAAI,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AACjH,OAAO,EAAE,cAAc,IAAI,qBAAqB,EAAE,OAAO,IAAI,sBAAsB,EAAE,MAAM,wBAAwB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/mcp/servicenow-mcp-unified/tools/filters/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,IAAI,qBAAqB,EAAE,OAAO,IAAI,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AACpH,OAAO,EAAE,cAAc,IAAI,oBAAoB,EAAE,OAAO,IAAI,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AACjH,OAAO,EAAE,cAAc,IAAI,qBAAqB,EAAE,OAAO,IAAI,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AACpH,OAAO,EAAE,cAAc,IAAI,4BAA4B,EAAE,OAAO,IAAI,6BAA6B,EAAE,MAAM,+BAA+B,CAAC"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.snow_field_filter_exec = exports.snow_field_filter_def = exports.snow_date_filter_exec = exports.snow_date_filter_def = exports.snow_query_filter_exec = exports.snow_query_filter_def = void 0;
3
+ exports.snow_create_saved_filter_exec = exports.snow_create_saved_filter_def = exports.snow_field_filter_exec = exports.snow_field_filter_def = exports.snow_date_filter_exec = exports.snow_date_filter_def = exports.snow_query_filter_exec = exports.snow_query_filter_def = void 0;
4
4
  var snow_query_filter_js_1 = require("./snow_query_filter.js");
5
5
  Object.defineProperty(exports, "snow_query_filter_def", { enumerable: true, get: function () { return snow_query_filter_js_1.toolDefinition; } });
6
6
  Object.defineProperty(exports, "snow_query_filter_exec", { enumerable: true, get: function () { return snow_query_filter_js_1.execute; } });
@@ -10,4 +10,7 @@ Object.defineProperty(exports, "snow_date_filter_exec", { enumerable: true, get:
10
10
  var snow_field_filter_js_1 = require("./snow_field_filter.js");
11
11
  Object.defineProperty(exports, "snow_field_filter_def", { enumerable: true, get: function () { return snow_field_filter_js_1.toolDefinition; } });
12
12
  Object.defineProperty(exports, "snow_field_filter_exec", { enumerable: true, get: function () { return snow_field_filter_js_1.execute; } });
13
+ var snow_create_saved_filter_js_1 = require("./snow_create_saved_filter.js");
14
+ Object.defineProperty(exports, "snow_create_saved_filter_def", { enumerable: true, get: function () { return snow_create_saved_filter_js_1.toolDefinition; } });
15
+ Object.defineProperty(exports, "snow_create_saved_filter_exec", { enumerable: true, get: function () { return snow_create_saved_filter_js_1.execute; } });
13
16
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/mcp/servicenow-mcp-unified/tools/filters/index.ts"],"names":[],"mappings":";;;AAAA,+DAAoH;AAA3G,6HAAA,cAAc,OAAyB;AAAE,8HAAA,OAAO,OAA0B;AACnF,6DAAiH;AAAxG,2HAAA,cAAc,OAAwB;AAAE,4HAAA,OAAO,OAAyB;AACjF,+DAAoH;AAA3G,6HAAA,cAAc,OAAyB;AAAE,8HAAA,OAAO,OAA0B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/mcp/servicenow-mcp-unified/tools/filters/index.ts"],"names":[],"mappings":";;;AAAA,+DAAoH;AAA3G,6HAAA,cAAc,OAAyB;AAAE,8HAAA,OAAO,OAA0B;AACnF,6DAAiH;AAAxG,2HAAA,cAAc,OAAwB;AAAE,4HAAA,OAAO,OAAyB;AACjF,+DAAoH;AAA3G,6HAAA,cAAc,OAAyB;AAAE,8HAAA,OAAO,OAA0B;AACnF,6EAAyI;AAAhI,2IAAA,cAAc,OAAgC;AAAE,4IAAA,OAAO,OAAiC"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * snow_create_saved_filter
3
+ *
4
+ * Creates a saved filter (sys_filter) that users can select in ServiceNow list views.
5
+ * Saved filters store encoded queries and can be user-specific or global.
6
+ */
7
+ import { MCPToolDefinition, ServiceNowContext, ToolResult } from '../../shared/types.js';
8
+ export declare const toolDefinition: MCPToolDefinition;
9
+ export declare function execute(args: any, context: ServiceNowContext): Promise<ToolResult>;
10
+ export declare const version = "1.0.0";
11
+ export declare const author = "Snow-Flow Team";
12
+ //# sourceMappingURL=snow_create_saved_filter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"snow_create_saved_filter.d.ts","sourceRoot":"","sources":["../../../../../src/mcp/servicenow-mcp-unified/tools/filters/snow_create_saved_filter.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAIzF,eAAO,MAAM,cAAc,EAAE,iBAkD5B,CAAC;AAEF,wBAAsB,OAAO,CAAC,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,UAAU,CAAC,CAwCxF;AAED,eAAO,MAAM,OAAO,UAAU,CAAC;AAC/B,eAAO,MAAM,MAAM,mBAAmB,CAAC"}
@@ -0,0 +1,93 @@
1
+ "use strict";
2
+ /**
3
+ * snow_create_saved_filter
4
+ *
5
+ * Creates a saved filter (sys_filter) that users can select in ServiceNow list views.
6
+ * Saved filters store encoded queries and can be user-specific or global.
7
+ */
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.author = exports.version = exports.toolDefinition = void 0;
10
+ exports.execute = execute;
11
+ const auth_js_1 = require("../../shared/auth.js");
12
+ const error_handler_js_1 = require("../../shared/error-handler.js");
13
+ exports.toolDefinition = {
14
+ name: 'snow_create_saved_filter',
15
+ description: 'Create a saved filter for any ServiceNow table that appears in the filter dropdown',
16
+ // Metadata for tool discovery (not sent to LLM)
17
+ category: 'development',
18
+ subcategory: 'ui',
19
+ use_cases: ['filters', 'saved-filters', 'list-views', 'ui-customization'],
20
+ complexity: 'beginner',
21
+ frequency: 'high',
22
+ // Permission enforcement
23
+ // Classification: WRITE - Create operation - modifies data
24
+ permission: 'write',
25
+ allowedRoles: ['developer', 'admin'],
26
+ inputSchema: {
27
+ type: 'object',
28
+ properties: {
29
+ name: {
30
+ type: 'string',
31
+ description: 'Filter name that appears in the dropdown (e.g., "My Active High Priority Items")'
32
+ },
33
+ table: {
34
+ type: 'string',
35
+ description: 'Table name this filter applies to (e.g., "incident", "change_request")'
36
+ },
37
+ filter: {
38
+ type: 'string',
39
+ description: 'Encoded query string (e.g., "active=true^priority=1")'
40
+ },
41
+ user: {
42
+ type: 'string',
43
+ description: 'User sys_id or username - leave empty for global filter visible to all users'
44
+ },
45
+ roles: {
46
+ type: 'string',
47
+ description: 'Comma-separated role names required to see this filter (e.g., "itil,admin")'
48
+ },
49
+ order: {
50
+ type: 'number',
51
+ description: 'Sort order in the filter dropdown (lower numbers appear first)',
52
+ default: 100
53
+ },
54
+ active: {
55
+ type: 'boolean',
56
+ default: true,
57
+ description: 'Whether the filter is active and visible'
58
+ }
59
+ },
60
+ required: ['name', 'table', 'filter']
61
+ }
62
+ };
63
+ async function execute(args, context) {
64
+ const { name, table, filter, user, roles, order = 100, active = true } = args;
65
+ try {
66
+ const client = await (0, auth_js_1.getAuthenticatedClient)(context);
67
+ const filterData = {
68
+ name,
69
+ table,
70
+ filter,
71
+ order,
72
+ active
73
+ };
74
+ if (user) {
75
+ filterData.user = user;
76
+ }
77
+ if (roles) {
78
+ filterData.roles = roles;
79
+ }
80
+ const response = await client.post('/api/now/table/sys_filter', filterData);
81
+ return (0, error_handler_js_1.createSuccessResult)({
82
+ created: true,
83
+ saved_filter: response.data.result,
84
+ message: `Saved filter "${name}" created for ${table} table. ${user ? 'User-specific filter.' : 'Global filter visible to all users.'}`
85
+ });
86
+ }
87
+ catch (error) {
88
+ return (0, error_handler_js_1.createErrorResult)(error.message);
89
+ }
90
+ }
91
+ exports.version = '1.0.0';
92
+ exports.author = 'Snow-Flow Team';
93
+ //# sourceMappingURL=snow_create_saved_filter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"snow_create_saved_filter.js","sourceRoot":"","sources":["../../../../../src/mcp/servicenow-mcp-unified/tools/filters/snow_create_saved_filter.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AA0DH,0BAwCC;AA/FD,kDAA8D;AAC9D,oEAAuF;AAE1E,QAAA,cAAc,GAAsB;IAC/C,IAAI,EAAE,0BAA0B;IAChC,WAAW,EAAE,oFAAoF;IACjG,gDAAgD;IAChD,QAAQ,EAAE,aAAa;IACvB,WAAW,EAAE,IAAI;IACjB,SAAS,EAAE,CAAC,SAAS,EAAE,eAAe,EAAE,YAAY,EAAE,kBAAkB,CAAC;IACzE,UAAU,EAAE,UAAU;IACtB,SAAS,EAAE,MAAM;IAEjB,yBAAyB;IACzB,2DAA2D;IAC3D,UAAU,EAAE,OAAO;IACnB,YAAY,EAAE,CAAC,WAAW,EAAE,OAAO,CAAC;IACpC,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,IAAI,EAAE;gBACJ,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,kFAAkF;aAChG;YACD,KAAK,EAAE;gBACL,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,wEAAwE;aACtF;YACD,MAAM,EAAE;gBACN,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,uDAAuD;aACrE;YACD,IAAI,EAAE;gBACJ,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,8EAA8E;aAC5F;YACD,KAAK,EAAE;gBACL,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,6EAA6E;aAC3F;YACD,KAAK,EAAE;gBACL,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,gEAAgE;gBAC7E,OAAO,EAAE,GAAG;aACb;YACD,MAAM,EAAE;gBACN,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,IAAI;gBACb,WAAW,EAAE,0CAA0C;aACxD;SACF;QACD,QAAQ,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC;KACtC;CACF,CAAC;AAEK,KAAK,UAAU,OAAO,CAAC,IAAS,EAAE,OAA0B;IACjE,MAAM,EACJ,IAAI,EACJ,KAAK,EACL,MAAM,EACN,IAAI,EACJ,KAAK,EACL,KAAK,GAAG,GAAG,EACX,MAAM,GAAG,IAAI,EACd,GAAG,IAAI,CAAC;IAET,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,IAAA,gCAAsB,EAAC,OAAO,CAAC,CAAC;QAErD,MAAM,UAAU,GAAQ;YACtB,IAAI;YACJ,KAAK;YACL,MAAM;YACN,KAAK;YACL,MAAM;SACP,CAAC;QAEF,IAAI,IAAI,EAAE,CAAC;YACT,UAAU,CAAC,IAAI,GAAG,IAAI,CAAC;QACzB,CAAC;QAED,IAAI,KAAK,EAAE,CAAC;YACV,UAAU,CAAC,KAAK,GAAG,KAAK,CAAC;QAC3B,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,2BAA2B,EAAE,UAAU,CAAC,CAAC;QAE5E,OAAO,IAAA,sCAAmB,EAAC;YACzB,OAAO,EAAE,IAAI;YACb,YAAY,EAAE,QAAQ,CAAC,IAAI,CAAC,MAAM;YAClC,OAAO,EAAE,iBAAiB,IAAI,iBAAiB,KAAK,WAAW,IAAI,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,qCAAqC,EAAE;SACxI,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,OAAO,IAAA,oCAAiB,EAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC1C,CAAC;AACH,CAAC;AAEY,QAAA,OAAO,GAAG,OAAO,CAAC;AAClB,QAAA,MAAM,GAAG,gBAAgB,CAAC"}
@@ -1,4 +1,5 @@
1
1
  export { toolDefinition as snow_create_list_view_def, execute as snow_create_list_view_exec } from './snow_create_list_view.js';
2
2
  export { toolDefinition as snow_add_list_column_def, execute as snow_add_list_column_exec } from './snow_add_list_column.js';
3
3
  export { toolDefinition as snow_create_related_list_def, execute as snow_create_related_list_exec } from './snow_create_related_list.js';
4
+ export { toolDefinition as snow_create_list_layout_def, execute as snow_create_list_layout_exec } from './snow_create_list_layout.js';
4
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/mcp/servicenow-mcp-unified/tools/lists/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,IAAI,yBAAyB,EAAE,OAAO,IAAI,0BAA0B,EAAE,MAAM,4BAA4B,CAAC;AAChI,OAAO,EAAE,cAAc,IAAI,wBAAwB,EAAE,OAAO,IAAI,yBAAyB,EAAE,MAAM,2BAA2B,CAAC;AAC7H,OAAO,EAAE,cAAc,IAAI,4BAA4B,EAAE,OAAO,IAAI,6BAA6B,EAAE,MAAM,+BAA+B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/mcp/servicenow-mcp-unified/tools/lists/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,IAAI,yBAAyB,EAAE,OAAO,IAAI,0BAA0B,EAAE,MAAM,4BAA4B,CAAC;AAChI,OAAO,EAAE,cAAc,IAAI,wBAAwB,EAAE,OAAO,IAAI,yBAAyB,EAAE,MAAM,2BAA2B,CAAC;AAC7H,OAAO,EAAE,cAAc,IAAI,4BAA4B,EAAE,OAAO,IAAI,6BAA6B,EAAE,MAAM,+BAA+B,CAAC;AACzI,OAAO,EAAE,cAAc,IAAI,2BAA2B,EAAE,OAAO,IAAI,4BAA4B,EAAE,MAAM,8BAA8B,CAAC"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.snow_create_related_list_exec = exports.snow_create_related_list_def = exports.snow_add_list_column_exec = exports.snow_add_list_column_def = exports.snow_create_list_view_exec = exports.snow_create_list_view_def = void 0;
3
+ exports.snow_create_list_layout_exec = exports.snow_create_list_layout_def = exports.snow_create_related_list_exec = exports.snow_create_related_list_def = exports.snow_add_list_column_exec = exports.snow_add_list_column_def = exports.snow_create_list_view_exec = exports.snow_create_list_view_def = void 0;
4
4
  var snow_create_list_view_js_1 = require("./snow_create_list_view.js");
5
5
  Object.defineProperty(exports, "snow_create_list_view_def", { enumerable: true, get: function () { return snow_create_list_view_js_1.toolDefinition; } });
6
6
  Object.defineProperty(exports, "snow_create_list_view_exec", { enumerable: true, get: function () { return snow_create_list_view_js_1.execute; } });
@@ -10,4 +10,7 @@ Object.defineProperty(exports, "snow_add_list_column_exec", { enumerable: true,
10
10
  var snow_create_related_list_js_1 = require("./snow_create_related_list.js");
11
11
  Object.defineProperty(exports, "snow_create_related_list_def", { enumerable: true, get: function () { return snow_create_related_list_js_1.toolDefinition; } });
12
12
  Object.defineProperty(exports, "snow_create_related_list_exec", { enumerable: true, get: function () { return snow_create_related_list_js_1.execute; } });
13
+ var snow_create_list_layout_js_1 = require("./snow_create_list_layout.js");
14
+ Object.defineProperty(exports, "snow_create_list_layout_def", { enumerable: true, get: function () { return snow_create_list_layout_js_1.toolDefinition; } });
15
+ Object.defineProperty(exports, "snow_create_list_layout_exec", { enumerable: true, get: function () { return snow_create_list_layout_js_1.execute; } });
13
16
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/mcp/servicenow-mcp-unified/tools/lists/index.ts"],"names":[],"mappings":";;;AAAA,uEAAgI;AAAvH,qIAAA,cAAc,OAA6B;AAAE,sIAAA,OAAO,OAA8B;AAC3F,qEAA6H;AAApH,mIAAA,cAAc,OAA4B;AAAE,oIAAA,OAAO,OAA6B;AACzF,6EAAyI;AAAhI,2IAAA,cAAc,OAAgC;AAAE,4IAAA,OAAO,OAAiC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/mcp/servicenow-mcp-unified/tools/lists/index.ts"],"names":[],"mappings":";;;AAAA,uEAAgI;AAAvH,qIAAA,cAAc,OAA6B;AAAE,sIAAA,OAAO,OAA8B;AAC3F,qEAA6H;AAApH,mIAAA,cAAc,OAA4B;AAAE,oIAAA,OAAO,OAA6B;AACzF,6EAAyI;AAAhI,2IAAA,cAAc,OAAgC;AAAE,4IAAA,OAAO,OAAiC;AACjG,2EAAsI;AAA7H,yIAAA,cAAc,OAA+B;AAAE,0IAAA,OAAO,OAAgC"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * snow_create_list_layout
3
+ *
4
+ * Creates a complete list layout (sys_ui_list) with multiple columns for any ServiceNow table.
5
+ * This defines which fields appear in list views and their order/width.
6
+ */
7
+ import { MCPToolDefinition, ServiceNowContext, ToolResult } from '../../shared/types.js';
8
+ export declare const toolDefinition: MCPToolDefinition;
9
+ export declare function execute(args: any, context: ServiceNowContext): Promise<ToolResult>;
10
+ export declare const version = "1.0.0";
11
+ export declare const author = "Snow-Flow Team";
12
+ //# sourceMappingURL=snow_create_list_layout.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"snow_create_list_layout.d.ts","sourceRoot":"","sources":["../../../../../src/mcp/servicenow-mcp-unified/tools/lists/snow_create_list_layout.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAIzF,eAAO,MAAM,cAAc,EAAE,iBA2D5B,CAAC;AAEF,wBAAsB,OAAO,CAAC,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,UAAU,CAAC,CAiFxF;AAED,eAAO,MAAM,OAAO,UAAU,CAAC;AAC/B,eAAO,MAAM,MAAM,mBAAmB,CAAC"}
@@ -0,0 +1,146 @@
1
+ "use strict";
2
+ /**
3
+ * snow_create_list_layout
4
+ *
5
+ * Creates a complete list layout (sys_ui_list) with multiple columns for any ServiceNow table.
6
+ * This defines which fields appear in list views and their order/width.
7
+ */
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.author = exports.version = exports.toolDefinition = void 0;
10
+ exports.execute = execute;
11
+ const auth_js_1 = require("../../shared/auth.js");
12
+ const error_handler_js_1 = require("../../shared/error-handler.js");
13
+ exports.toolDefinition = {
14
+ name: 'snow_create_list_layout',
15
+ description: 'Create a complete list layout with multiple columns for any ServiceNow table',
16
+ // Metadata for tool discovery (not sent to LLM)
17
+ category: 'development',
18
+ subcategory: 'ui',
19
+ use_cases: ['lists', 'list-layouts', 'views', 'ui-customization', 'columns'],
20
+ complexity: 'intermediate',
21
+ frequency: 'high',
22
+ // Permission enforcement
23
+ // Classification: WRITE - Create operation - modifies data
24
+ permission: 'write',
25
+ allowedRoles: ['developer', 'admin'],
26
+ inputSchema: {
27
+ type: 'object',
28
+ properties: {
29
+ table: {
30
+ type: 'string',
31
+ description: 'Table name this layout applies to (e.g., "incident", "change_request")'
32
+ },
33
+ view: {
34
+ type: 'string',
35
+ description: 'View name - use "" (empty string) for default view, "mobile" for mobile view, or custom view name',
36
+ default: ''
37
+ },
38
+ columns: {
39
+ type: 'array',
40
+ description: 'Array of column definitions with field names, positions, and optional widths',
41
+ items: {
42
+ type: 'object',
43
+ properties: {
44
+ field: {
45
+ type: 'string',
46
+ description: 'Field name to display (e.g., "number", "short_description", "priority")'
47
+ },
48
+ position: {
49
+ type: 'number',
50
+ description: 'Column position (0 = first column, 1 = second, etc.)'
51
+ },
52
+ width: {
53
+ type: 'number',
54
+ description: 'Column width in pixels (optional, defaults to auto)'
55
+ }
56
+ },
57
+ required: ['field', 'position']
58
+ }
59
+ },
60
+ relationship: {
61
+ type: 'string',
62
+ description: 'For related lists, specify the relationship field (e.g., "parent" for child records)'
63
+ },
64
+ parent: {
65
+ type: 'string',
66
+ description: 'For related lists, specify the parent table name'
67
+ }
68
+ },
69
+ required: ['table', 'columns']
70
+ }
71
+ };
72
+ async function execute(args, context) {
73
+ const { table, view = '', columns, relationship, parent } = args;
74
+ try {
75
+ const client = await (0, auth_js_1.getAuthenticatedClient)(context);
76
+ // Validate columns array
77
+ if (!Array.isArray(columns) || columns.length === 0) {
78
+ return (0, error_handler_js_1.createErrorResult)('columns must be a non-empty array');
79
+ }
80
+ // Sort columns by position to ensure correct order
81
+ const sortedColumns = [...columns].sort((a, b) => a.position - b.position);
82
+ const createdColumns = [];
83
+ const errors = [];
84
+ // Create each column in sys_ui_list
85
+ for (const column of sortedColumns) {
86
+ try {
87
+ const columnData = {
88
+ name: table,
89
+ element: column.field,
90
+ position: column.position
91
+ };
92
+ // Add optional fields
93
+ if (view !== undefined)
94
+ columnData.view = view;
95
+ if (column.width)
96
+ columnData.width = column.width;
97
+ if (relationship)
98
+ columnData.relationship = relationship;
99
+ if (parent)
100
+ columnData.parent = parent;
101
+ const response = await client.post('/api/now/table/sys_ui_list', columnData);
102
+ createdColumns.push({
103
+ field: column.field,
104
+ position: column.position,
105
+ sys_id: response.data.result.sys_id
106
+ });
107
+ }
108
+ catch (error) {
109
+ errors.push(`Failed to create column ${column.field}: ${error.message}`);
110
+ }
111
+ }
112
+ // Build response
113
+ const isRelatedList = !!relationship && !!parent;
114
+ const viewDescription = view ? `view "${view}"` : 'default view';
115
+ const layoutType = isRelatedList ? `related list (${parent}.${relationship})` : 'main list';
116
+ if (errors.length > 0) {
117
+ return (0, error_handler_js_1.createSuccessResult)({
118
+ created: true,
119
+ partial_success: true,
120
+ table,
121
+ view,
122
+ layout_type: layoutType,
123
+ columns_created: createdColumns.length,
124
+ columns_failed: errors.length,
125
+ created_columns: createdColumns,
126
+ errors,
127
+ message: `List layout partially created for ${table} ${layoutType}, ${viewDescription}. ${createdColumns.length}/${columns.length} columns created successfully.`
128
+ });
129
+ }
130
+ return (0, error_handler_js_1.createSuccessResult)({
131
+ created: true,
132
+ table,
133
+ view,
134
+ layout_type: layoutType,
135
+ columns_count: createdColumns.length,
136
+ columns: createdColumns,
137
+ message: `List layout created for ${table} ${layoutType}, ${viewDescription} with ${createdColumns.length} columns.`
138
+ });
139
+ }
140
+ catch (error) {
141
+ return (0, error_handler_js_1.createErrorResult)(error.message);
142
+ }
143
+ }
144
+ exports.version = '1.0.0';
145
+ exports.author = 'Snow-Flow Team';
146
+ //# sourceMappingURL=snow_create_list_layout.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"snow_create_list_layout.js","sourceRoot":"","sources":["../../../../../src/mcp/servicenow-mcp-unified/tools/lists/snow_create_list_layout.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "snow-flow",
3
- "version": "8.36.1",
4
- "description": "ServiceNow development with SnowCode - 75+ LLM providers (Claude, GPT, Gemini, Llama, Mistral, DeepSeek, Groq, Ollama) • 393 Optimized Tools • 2 MCP Servers • Multi-agent orchestration • Use ANY AI coding assistant (ML tools moved to Enterprise)",
3
+ "version": "8.36.3",
4
+ "description": "ServiceNow development with SnowCode - 75+ LLM providers (Claude, GPT, Gemini, Llama, Mistral, DeepSeek, Groq, Ollama) • 395 Optimized Tools • 2 MCP Servers • Multi-agent orchestration • Use ANY AI coding assistant (ML tools moved to Enterprise)",
5
5
  "main": "dist/index.js",
6
6
  "type": "commonjs",
7
7
  "bin": {