snow-flow 8.41.9 → 8.41.14

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.
@@ -45,10 +45,10 @@ async function execute(args, context) {
45
45
  name,
46
46
  collection: table,
47
47
  when,
48
- insert,
49
- update,
50
- delete: del,
51
- query,
48
+ action_insert: insert,
49
+ action_update: update,
50
+ action_delete: del,
51
+ action_query: query,
52
52
  script,
53
53
  active
54
54
  };
@@ -1 +1 @@
1
- {"version":3,"file":"snow_create_business_rule.js","sourceRoot":"","sources":["../../../../../src/mcp/servicenow-mcp-unified/tools/business-rules/snow_create_business_rule.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"snow_create_business_rule.js","sourceRoot":"","sources":["../../../../../src/mcp/servicenow-mcp-unified/tools/business-rules/snow_create_business_rule.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * snow_flow_discover - Discover available Flow Designer components
3
+ *
4
+ * Discovers available trigger types, action types, and subflows
5
+ * that can be used when creating flows programmatically.
6
+ *
7
+ * @version 1.0.0
8
+ * @author Snow-Flow v8.3.0 - Flow Designer Discovery
9
+ */
10
+ import { MCPToolDefinition, ServiceNowContext, ToolResult } from '../../shared/types.js';
11
+ export declare const toolDefinition: MCPToolDefinition;
12
+ export declare function execute(args: any, context: ServiceNowContext): Promise<ToolResult>;
13
+ export declare const version = "1.0.0";
14
+ export declare const author = "Snow-Flow v8.3.0 - Flow Designer Discovery";
15
+ //# sourceMappingURL=snow_flow_discover.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"snow_flow_discover.d.ts","sourceRoot":"","sources":["../../../../../src/mcp/servicenow-mcp-unified/tools/flow-designer/snow_flow_discover.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAkCzF,eAAO,MAAM,cAAc,EAAE,iBAmD5B,CAAC;AAIF,wBAAsB,OAAO,CAAC,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,UAAU,CAAC,CAsOxF;AAED,eAAO,MAAM,OAAO,UAAU,CAAC;AAC/B,eAAO,MAAM,MAAM,+CAA+C,CAAC"}
@@ -0,0 +1,273 @@
1
+ "use strict";
2
+ /**
3
+ * snow_flow_discover - Discover available Flow Designer components
4
+ *
5
+ * Discovers available trigger types, action types, and subflows
6
+ * that can be used when creating flows programmatically.
7
+ *
8
+ * @version 1.0.0
9
+ * @author Snow-Flow v8.3.0 - Flow Designer Discovery
10
+ */
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.author = exports.version = exports.toolDefinition = void 0;
13
+ exports.execute = execute;
14
+ const auth_js_1 = require("../../shared/auth.js");
15
+ const error_handler_js_1 = require("../../shared/error-handler.js");
16
+ // ==================== TOOL DEFINITION ====================
17
+ exports.toolDefinition = {
18
+ name: 'snow_flow_discover',
19
+ description: `Discover available Flow Designer components.
20
+
21
+ Discovers:
22
+ - Trigger types: Record triggers, scheduled, API, email, etc.
23
+ - Action types: Create record, update record, log, send email, etc.
24
+ - Subflows: Reusable flow components
25
+ - Spokes: Integration action packages (Jira, Slack, etc.)
26
+
27
+ Use this to find the correct sys_id or name for triggers and actions
28
+ when creating flows programmatically with snow_create_flow.`,
29
+ category: 'automation',
30
+ subcategory: 'flow-designer',
31
+ use_cases: ['discovery', 'flow-creation', 'documentation'],
32
+ complexity: 'beginner',
33
+ frequency: 'medium',
34
+ permission: 'read',
35
+ allowedRoles: ['developer', 'stakeholder', 'admin'],
36
+ inputSchema: {
37
+ type: 'object',
38
+ properties: {
39
+ discover: {
40
+ type: 'string',
41
+ enum: ['trigger_types', 'action_types', 'subflows', 'spokes', 'all'],
42
+ description: 'What to discover',
43
+ default: 'all'
44
+ },
45
+ category: {
46
+ type: 'string',
47
+ description: 'Filter by category (for action types)'
48
+ },
49
+ search: {
50
+ type: 'string',
51
+ description: 'Search term to filter results'
52
+ },
53
+ limit: {
54
+ type: 'number',
55
+ description: 'Maximum results per category',
56
+ default: 50
57
+ },
58
+ include_inactive: {
59
+ type: 'boolean',
60
+ description: 'Include inactive items',
61
+ default: false
62
+ }
63
+ }
64
+ }
65
+ };
66
+ // ==================== MAIN EXECUTOR ====================
67
+ async function execute(args, context) {
68
+ const { discover = 'all', category, search, limit = 50, include_inactive = false } = args;
69
+ try {
70
+ const client = await (0, auth_js_1.getAuthenticatedClient)(context);
71
+ const results = {};
72
+ // ==================== TRIGGER TYPES ====================
73
+ // Note: sys_hub_trigger_type doesn't have 'label' or 'active' fields
74
+ if (discover === 'trigger_types' || discover === 'all') {
75
+ console.log('Discovering trigger types...');
76
+ try {
77
+ let query = '';
78
+ if (search) {
79
+ query = `nameLIKE${search}`;
80
+ }
81
+ const response = await client.get('/api/now/table/sys_hub_trigger_type', {
82
+ params: {
83
+ sysparm_query: query,
84
+ sysparm_limit: limit,
85
+ sysparm_fields: 'sys_id,name,description,table_name'
86
+ }
87
+ });
88
+ if (response.data.result) {
89
+ results.trigger_types = response.data.result.map((t) => ({
90
+ sys_id: t.sys_id,
91
+ name: t.name,
92
+ label: t.name, // Use name as label (label field doesn't exist)
93
+ description: t.description,
94
+ table_name: t.table_name
95
+ }));
96
+ console.log(`Found ${results.trigger_types.length} trigger types`);
97
+ }
98
+ }
99
+ catch (error) {
100
+ console.error('Failed to fetch trigger types:', error.message);
101
+ results.trigger_types_error = error.message;
102
+ }
103
+ }
104
+ // ==================== ACTION TYPES ====================
105
+ // Note: sys_hub_action_type_base doesn't have 'label' or 'active' fields
106
+ if (discover === 'action_types' || discover === 'all') {
107
+ console.log('Discovering action types...');
108
+ try {
109
+ let query = ''; // No 'active' field on this table
110
+ if (category) {
111
+ query += (query ? '^' : '') + `category=${category}`;
112
+ }
113
+ if (search) {
114
+ query += (query ? '^' : '') + `nameLIKE${search}`;
115
+ }
116
+ const response = await client.get('/api/now/table/sys_hub_action_type_base', {
117
+ params: {
118
+ sysparm_query: query,
119
+ sysparm_limit: limit,
120
+ sysparm_fields: 'sys_id,name,category,description,spoke'
121
+ }
122
+ });
123
+ if (response.data.result) {
124
+ results.action_types = response.data.result.map((a) => ({
125
+ sys_id: a.sys_id,
126
+ name: a.name,
127
+ label: a.name, // Use name as label (label field doesn't exist)
128
+ category: a.category,
129
+ description: a.description,
130
+ spoke: a.spoke
131
+ }));
132
+ console.log(`Found ${results.action_types.length} action types`);
133
+ // Group by category for easier browsing
134
+ const byCategory = {};
135
+ for (const action of results.action_types) {
136
+ const cat = action.category || 'Uncategorized';
137
+ if (!byCategory[cat])
138
+ byCategory[cat] = [];
139
+ byCategory[cat].push(action);
140
+ }
141
+ results.action_types_by_category = byCategory;
142
+ }
143
+ }
144
+ catch (error) {
145
+ console.error('Failed to fetch action types:', error.message);
146
+ results.action_types_error = error.message;
147
+ }
148
+ }
149
+ // ==================== SUBFLOWS ====================
150
+ if (discover === 'subflows' || discover === 'all') {
151
+ console.log('Discovering subflows...');
152
+ try {
153
+ let query = include_inactive ? '' : 'active=true';
154
+ query += (query ? '^' : '') + 'type=subflow';
155
+ if (search) {
156
+ query += `^nameLIKE${search}^ORinternal_nameLIKE${search}`;
157
+ }
158
+ const response = await client.get('/api/now/table/sys_hub_flow', {
159
+ params: {
160
+ sysparm_query: query,
161
+ sysparm_limit: limit,
162
+ sysparm_fields: 'sys_id,name,internal_name,description'
163
+ }
164
+ });
165
+ if (response.data.result) {
166
+ results.subflows = response.data.result.map((s) => ({
167
+ sys_id: s.sys_id,
168
+ name: s.name,
169
+ internal_name: s.internal_name,
170
+ description: s.description
171
+ }));
172
+ console.log(`Found ${results.subflows.length} subflows`);
173
+ }
174
+ }
175
+ catch (error) {
176
+ console.error('Failed to fetch subflows:', error.message);
177
+ results.subflows_error = error.message;
178
+ }
179
+ }
180
+ // ==================== SPOKES (Integration Hubs) ====================
181
+ if (discover === 'spokes' || discover === 'all') {
182
+ console.log('Discovering spokes...');
183
+ try {
184
+ let query = include_inactive ? '' : 'active=true';
185
+ if (search) {
186
+ query += (query ? '^' : '') + `nameLIKE${search}^ORlabelLIKE${search}`;
187
+ }
188
+ const response = await client.get('/api/now/table/sys_hub_spoke', {
189
+ params: {
190
+ sysparm_query: query,
191
+ sysparm_limit: limit,
192
+ sysparm_fields: 'sys_id,name,label,description,version'
193
+ }
194
+ });
195
+ if (response.data.result) {
196
+ results.spokes = response.data.result.map((s) => ({
197
+ sys_id: s.sys_id,
198
+ name: s.name,
199
+ label: s.label || s.name,
200
+ description: s.description,
201
+ version: s.version
202
+ }));
203
+ console.log(`Found ${results.spokes.length} spokes`);
204
+ }
205
+ }
206
+ catch (error) {
207
+ console.error('Failed to fetch spokes:', error.message);
208
+ results.spokes_error = error.message;
209
+ }
210
+ }
211
+ // ==================== COMMON ACTIONS REFERENCE ====================
212
+ // Add a quick reference for common action types
213
+ results.common_action_reference = {
214
+ 'Core Actions': [
215
+ { name: 'Log', description: 'Write a message to the system log' },
216
+ { name: 'Create Record', description: 'Create a new record in a table' },
217
+ { name: 'Update Record', description: 'Update an existing record' },
218
+ { name: 'Delete Record', description: 'Delete a record' },
219
+ { name: 'Look Up Records', description: 'Query records from a table' },
220
+ { name: 'Look Up Record', description: 'Get a single record by sys_id' },
221
+ { name: 'Set Flow Variables', description: 'Set flow variable values' }
222
+ ],
223
+ 'Communication': [
224
+ { name: 'Send Email', description: 'Send an email notification' },
225
+ { name: 'Send Event', description: 'Fire a system event' },
226
+ { name: 'Create Task', description: 'Create a task record' }
227
+ ],
228
+ 'Approvals': [
229
+ { name: 'Ask For Approval', description: 'Request approval from users' },
230
+ { name: 'Wait For Condition', description: 'Wait until a condition is met' }
231
+ ],
232
+ 'Scripting': [
233
+ { name: 'Run Script', description: 'Execute a server-side script' }
234
+ ]
235
+ };
236
+ // ==================== COMMON TRIGGER REFERENCE ====================
237
+ results.common_trigger_reference = {
238
+ 'Record Triggers': [
239
+ { name: 'Created', description: 'When a record is created' },
240
+ { name: 'Updated', description: 'When a record is updated' },
241
+ { name: 'Deleted', description: 'When a record is deleted' },
242
+ { name: 'Created or Updated', description: 'When a record is created or updated' }
243
+ ],
244
+ 'Scheduled Triggers': [
245
+ { name: 'Scheduled', description: 'Run on a schedule (daily, weekly, etc.)' },
246
+ { name: 'Interval', description: 'Run at fixed intervals' }
247
+ ],
248
+ 'Other Triggers': [
249
+ { name: 'REST API', description: 'Triggered via REST API call' },
250
+ { name: 'Inbound Email', description: 'Triggered by incoming email' },
251
+ { name: 'Service Catalog', description: 'Triggered by catalog request' }
252
+ ]
253
+ };
254
+ // Build summary
255
+ const summary = {
256
+ trigger_types: results.trigger_types?.length || 0,
257
+ action_types: results.action_types?.length || 0,
258
+ subflows: results.subflows?.length || 0,
259
+ spokes: results.spokes?.length || 0
260
+ };
261
+ return (0, error_handler_js_1.createSuccessResult)({
262
+ discovered: discover,
263
+ summary,
264
+ ...results
265
+ });
266
+ }
267
+ catch (error) {
268
+ return (0, error_handler_js_1.createErrorResult)(`Failed to discover flow components: ${error.message}`);
269
+ }
270
+ }
271
+ exports.version = '1.0.0';
272
+ exports.author = 'Snow-Flow v8.3.0 - Flow Designer Discovery';
273
+ //# sourceMappingURL=snow_flow_discover.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"snow_flow_discover.js","sourceRoot":"","sources":["../../../../../src/mcp/servicenow-mcp-unified/tools/flow-designer/snow_flow_discover.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,125 @@
1
+ /**
2
+ * snow_manage_flow - Unified Flow Designer Management via Direct Table API
3
+ *
4
+ * ⚠️ EXPERIMENTAL: Manages flows by directly manipulating Flow Designer tables.
5
+ * This approach is NOT officially supported by ServiceNow but enables programmatic flow management.
6
+ *
7
+ * Supported Actions:
8
+ * - create: Create a new flow with triggers, actions, conditions, loops, variables
9
+ * - update: Update an existing flow's properties
10
+ * - delete: Delete a flow and all related records
11
+ * - clone: Clone an existing flow
12
+ * - activate: Activate a flow
13
+ * - deactivate: Deactivate a flow
14
+ * - add_action: Add an action to an existing flow
15
+ * - remove_action: Remove an action from a flow
16
+ * - add_condition: Add a conditional logic block (if/then/else)
17
+ * - add_loop: Add a loop construct (for_each/do_until)
18
+ * - get_details: Get detailed flow structure including decompressed values
19
+ *
20
+ * Features:
21
+ * - Xanadu+ compression support (GlideCompressionUtil compatible)
22
+ * - Nested actions within conditions and loops
23
+ * - Parent-child relationship management
24
+ * - Version detection for table compatibility
25
+ *
26
+ * Flow Designer Table Structure:
27
+ * - sys_hub_flow: Main flow record
28
+ * - sys_hub_flow_snapshot: Flow version/snapshot
29
+ * - sys_hub_trigger_instance_v2: Trigger configuration
30
+ * - sys_hub_action_instance_v2: Action instances (with compressed values)
31
+ * - sys_hub_flow_logic_instance_v2: Conditions, loops (with parent_logic_instance)
32
+ * - sys_hub_flow_variable: Input/output variables
33
+ * - sys_hub_sub_flow_instance: Subflow references
34
+ *
35
+ * @version 2.0.0-experimental
36
+ * @author Snow-Flow v8.3.0 - Flow Designer Direct Table API
37
+ */
38
+ import { MCPToolDefinition, ServiceNowContext, ToolResult } from '../../shared/types.js';
39
+ type ManageFlowAction = 'create' | 'update' | 'delete' | 'clone' | 'activate' | 'deactivate' | 'add_action' | 'remove_action' | 'add_condition' | 'add_loop' | 'add_variable' | 'get_details' | 'publish';
40
+ interface FlowConfig {
41
+ name: string;
42
+ internal_name?: string;
43
+ description?: string;
44
+ active?: boolean;
45
+ application_scope?: string;
46
+ run_as?: 'system' | 'user_who_triggers' | 'specific_user';
47
+ run_as_user?: string;
48
+ }
49
+ interface TriggerConfig {
50
+ type: 'record' | 'scheduled' | 'api' | 'inbound_email' | 'service_catalog';
51
+ table?: string;
52
+ condition?: string;
53
+ when?: 'created' | 'updated' | 'deleted' | 'created_or_updated';
54
+ schedule?: {
55
+ frequency: 'daily' | 'weekly' | 'monthly' | 'custom';
56
+ time?: string;
57
+ days?: number[];
58
+ cron?: string;
59
+ };
60
+ }
61
+ interface ActionConfig {
62
+ type: string;
63
+ name?: string;
64
+ description?: string;
65
+ order?: number;
66
+ inputs?: Record<string, any>;
67
+ parent_logic_instance?: string;
68
+ branch?: 'then' | 'else';
69
+ }
70
+ interface ConditionConfig {
71
+ name?: string;
72
+ condition: string;
73
+ order?: number;
74
+ then_actions?: ActionConfig[];
75
+ else_actions?: ActionConfig[];
76
+ parent_logic_instance?: string;
77
+ }
78
+ interface LoopConfig {
79
+ name?: string;
80
+ type: 'for_each' | 'do_until';
81
+ data_source?: string;
82
+ condition?: string;
83
+ max_iterations?: number;
84
+ order?: number;
85
+ actions?: ActionConfig[];
86
+ parent_logic_instance?: string;
87
+ }
88
+ interface VariableConfig {
89
+ name: string;
90
+ type: 'string' | 'integer' | 'boolean' | 'reference' | 'object' | 'array' | 'glide_date_time';
91
+ direction: 'input' | 'output' | 'scratch';
92
+ label?: string;
93
+ description?: string;
94
+ mandatory?: boolean;
95
+ default_value?: string;
96
+ reference_table?: string;
97
+ }
98
+ interface ManageFlowArgs {
99
+ action: ManageFlowAction;
100
+ flow?: FlowConfig;
101
+ trigger?: TriggerConfig;
102
+ actions?: ActionConfig[];
103
+ conditions?: ConditionConfig[];
104
+ loops?: LoopConfig[];
105
+ variables?: VariableConfig[];
106
+ flow_id?: string;
107
+ flow_name?: string;
108
+ updates?: Partial<FlowConfig>;
109
+ new_name?: string;
110
+ action_config?: ActionConfig;
111
+ condition_config?: ConditionConfig;
112
+ loop_config?: LoopConfig;
113
+ variable_config?: VariableConfig;
114
+ action_id?: string;
115
+ auto_activate?: boolean;
116
+ create_snapshot?: boolean;
117
+ use_compression?: boolean;
118
+ validate_only?: boolean;
119
+ }
120
+ export declare const toolDefinition: MCPToolDefinition;
121
+ export declare function execute(args: ManageFlowArgs, context: ServiceNowContext): Promise<ToolResult>;
122
+ export declare const version = "2.1.0";
123
+ export declare const author = "Snow-Flow v8.41.13 - Flow Designer Management (snapshot fix)";
124
+ export {};
125
+ //# sourceMappingURL=snow_manage_flow.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"snow_manage_flow.d.ts","sourceRoot":"","sources":["../../../../../src/mcp/servicenow-mcp-unified/tools/flow-designer/snow_manage_flow.ts"],"names":[],"mappings":"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"}