snow-flow 8.39.1 → 8.39.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.
Files changed (115) hide show
  1. package/dist/mcp/base-mcp-server.d.ts +3 -0
  2. package/dist/mcp/base-mcp-server.d.ts.map +1 -1
  3. package/dist/mcp/base-mcp-server.js +48 -21
  4. package/dist/mcp/base-mcp-server.js.map +1 -1
  5. package/dist/mcp/servicenow-mcp-unified/tools/automation/index.d.ts +6 -0
  6. package/dist/mcp/servicenow-mcp-unified/tools/automation/index.d.ts.map +1 -1
  7. package/dist/mcp/servicenow-mcp-unified/tools/automation/index.js +19 -1
  8. package/dist/mcp/servicenow-mcp-unified/tools/automation/index.js.map +1 -1
  9. package/dist/mcp/servicenow-mcp-unified/tools/automation/snow_get_email_logs.d.ts +12 -0
  10. package/dist/mcp/servicenow-mcp-unified/tools/automation/snow_get_email_logs.d.ts.map +1 -0
  11. package/dist/mcp/servicenow-mcp-unified/tools/automation/snow_get_email_logs.js +185 -0
  12. package/dist/mcp/servicenow-mcp-unified/tools/automation/snow_get_email_logs.js.map +1 -0
  13. package/dist/mcp/servicenow-mcp-unified/tools/automation/snow_get_flow_execution_logs.d.ts +12 -0
  14. package/dist/mcp/servicenow-mcp-unified/tools/automation/snow_get_flow_execution_logs.d.ts.map +1 -0
  15. package/dist/mcp/servicenow-mcp-unified/tools/automation/snow_get_flow_execution_logs.js +280 -0
  16. package/dist/mcp/servicenow-mcp-unified/tools/automation/snow_get_flow_execution_logs.js.map +1 -0
  17. package/dist/mcp/servicenow-mcp-unified/tools/automation/snow_get_inbound_http_logs.d.ts +12 -0
  18. package/dist/mcp/servicenow-mcp-unified/tools/automation/snow_get_inbound_http_logs.d.ts.map +1 -0
  19. package/dist/mcp/servicenow-mcp-unified/tools/automation/snow_get_inbound_http_logs.js +233 -0
  20. package/dist/mcp/servicenow-mcp-unified/tools/automation/snow_get_inbound_http_logs.js.map +1 -0
  21. package/dist/mcp/servicenow-mcp-unified/tools/automation/snow_get_outbound_http_logs.d.ts +12 -0
  22. package/dist/mcp/servicenow-mcp-unified/tools/automation/snow_get_outbound_http_logs.d.ts.map +1 -0
  23. package/dist/mcp/servicenow-mcp-unified/tools/automation/snow_get_outbound_http_logs.js +218 -0
  24. package/dist/mcp/servicenow-mcp-unified/tools/automation/snow_get_outbound_http_logs.js.map +1 -0
  25. package/dist/mcp/servicenow-mcp-unified/tools/automation/snow_get_scheduled_job_logs.d.ts +12 -0
  26. package/dist/mcp/servicenow-mcp-unified/tools/automation/snow_get_scheduled_job_logs.d.ts.map +1 -0
  27. package/dist/mcp/servicenow-mcp-unified/tools/automation/snow_get_scheduled_job_logs.js +276 -0
  28. package/dist/mcp/servicenow-mcp-unified/tools/automation/snow_get_scheduled_job_logs.js.map +1 -0
  29. package/dist/mcp/servicenow-mcp-unified/tools/automation/snow_get_slow_queries.d.ts +12 -0
  30. package/dist/mcp/servicenow-mcp-unified/tools/automation/snow_get_slow_queries.d.ts.map +1 -0
  31. package/dist/mcp/servicenow-mcp-unified/tools/automation/snow_get_slow_queries.js +340 -0
  32. package/dist/mcp/servicenow-mcp-unified/tools/automation/snow_get_slow_queries.js.map +1 -0
  33. package/dist/mcp/servicenow-mcp-unified/tools/integration/index.d.ts +10 -0
  34. package/dist/mcp/servicenow-mcp-unified/tools/integration/index.d.ts.map +1 -1
  35. package/dist/mcp/servicenow-mcp-unified/tools/integration/index.js +34 -1
  36. package/dist/mcp/servicenow-mcp-unified/tools/integration/index.js.map +1 -1
  37. package/dist/mcp/servicenow-mcp-unified/tools/integration/snow_configure_mid_server.d.ts +12 -0
  38. package/dist/mcp/servicenow-mcp-unified/tools/integration/snow_configure_mid_server.d.ts.map +1 -0
  39. package/dist/mcp/servicenow-mcp-unified/tools/integration/snow_configure_mid_server.js +397 -0
  40. package/dist/mcp/servicenow-mcp-unified/tools/integration/snow_configure_mid_server.js.map +1 -0
  41. package/dist/mcp/servicenow-mcp-unified/tools/integration/snow_create_connection_alias.d.ts +12 -0
  42. package/dist/mcp/servicenow-mcp-unified/tools/integration/snow_create_connection_alias.d.ts.map +1 -0
  43. package/dist/mcp/servicenow-mcp-unified/tools/integration/snow_create_connection_alias.js +234 -0
  44. package/dist/mcp/servicenow-mcp-unified/tools/integration/snow_create_connection_alias.js.map +1 -0
  45. package/dist/mcp/servicenow-mcp-unified/tools/integration/snow_create_credential_alias.d.ts +12 -0
  46. package/dist/mcp/servicenow-mcp-unified/tools/integration/snow_create_credential_alias.d.ts.map +1 -0
  47. package/dist/mcp/servicenow-mcp-unified/tools/integration/snow_create_credential_alias.js +280 -0
  48. package/dist/mcp/servicenow-mcp-unified/tools/integration/snow_create_credential_alias.js.map +1 -0
  49. package/dist/mcp/servicenow-mcp-unified/tools/integration/snow_create_flow_action.d.ts +12 -0
  50. package/dist/mcp/servicenow-mcp-unified/tools/integration/snow_create_flow_action.d.ts.map +1 -0
  51. package/dist/mcp/servicenow-mcp-unified/tools/integration/snow_create_flow_action.js +358 -0
  52. package/dist/mcp/servicenow-mcp-unified/tools/integration/snow_create_flow_action.js.map +1 -0
  53. package/dist/mcp/servicenow-mcp-unified/tools/integration/snow_create_oauth_profile.d.ts +12 -0
  54. package/dist/mcp/servicenow-mcp-unified/tools/integration/snow_create_oauth_profile.d.ts.map +1 -0
  55. package/dist/mcp/servicenow-mcp-unified/tools/integration/snow_create_oauth_profile.js +237 -0
  56. package/dist/mcp/servicenow-mcp-unified/tools/integration/snow_create_oauth_profile.js.map +1 -0
  57. package/dist/mcp/servicenow-mcp-unified/tools/integration/snow_install_spoke.d.ts +12 -0
  58. package/dist/mcp/servicenow-mcp-unified/tools/integration/snow_install_spoke.d.ts.map +1 -0
  59. package/dist/mcp/servicenow-mcp-unified/tools/integration/snow_install_spoke.js +326 -0
  60. package/dist/mcp/servicenow-mcp-unified/tools/integration/snow_install_spoke.js.map +1 -0
  61. package/dist/mcp/servicenow-mcp-unified/tools/integration/snow_manage_mid_capabilities.d.ts +12 -0
  62. package/dist/mcp/servicenow-mcp-unified/tools/integration/snow_manage_mid_capabilities.d.ts.map +1 -0
  63. package/dist/mcp/servicenow-mcp-unified/tools/integration/snow_manage_mid_capabilities.js +442 -0
  64. package/dist/mcp/servicenow-mcp-unified/tools/integration/snow_manage_mid_capabilities.js.map +1 -0
  65. package/dist/mcp/servicenow-mcp-unified/tools/integration/snow_manage_oauth_tokens.d.ts +12 -0
  66. package/dist/mcp/servicenow-mcp-unified/tools/integration/snow_manage_oauth_tokens.d.ts.map +1 -0
  67. package/dist/mcp/servicenow-mcp-unified/tools/integration/snow_manage_oauth_tokens.js +348 -0
  68. package/dist/mcp/servicenow-mcp-unified/tools/integration/snow_manage_oauth_tokens.js.map +1 -0
  69. package/dist/mcp/servicenow-mcp-unified/tools/integration/snow_manage_spoke_connection.d.ts +12 -0
  70. package/dist/mcp/servicenow-mcp-unified/tools/integration/snow_manage_spoke_connection.d.ts.map +1 -0
  71. package/dist/mcp/servicenow-mcp-unified/tools/integration/snow_manage_spoke_connection.js +427 -0
  72. package/dist/mcp/servicenow-mcp-unified/tools/integration/snow_manage_spoke_connection.js.map +1 -0
  73. package/dist/mcp/servicenow-mcp-unified/tools/integration/snow_test_mid_connectivity.d.ts +12 -0
  74. package/dist/mcp/servicenow-mcp-unified/tools/integration/snow_test_mid_connectivity.d.ts.map +1 -0
  75. package/dist/mcp/servicenow-mcp-unified/tools/integration/snow_test_mid_connectivity.js +432 -0
  76. package/dist/mcp/servicenow-mcp-unified/tools/integration/snow_test_mid_connectivity.js.map +1 -0
  77. package/dist/monitoring/performance-tracker.d.ts +1 -1
  78. package/dist/monitoring/performance-tracker.d.ts.map +1 -1
  79. package/dist/monitoring/performance-tracker.js +44 -9
  80. package/dist/monitoring/performance-tracker.js.map +1 -1
  81. package/dist/snow-flow-system.d.ts +12 -2
  82. package/dist/snow-flow-system.d.ts.map +1 -1
  83. package/dist/snow-flow-system.js +55 -12
  84. package/dist/snow-flow-system.js.map +1 -1
  85. package/dist/templates/agents-md-template.d.ts +2 -2
  86. package/dist/templates/agents-md-template.d.ts.map +1 -1
  87. package/dist/templates/agents-md-template.js +57 -2
  88. package/dist/templates/agents-md-template.js.map +1 -1
  89. package/dist/templates/claude-md-template.d.ts +2 -2
  90. package/dist/templates/claude-md-template.d.ts.map +1 -1
  91. package/dist/templates/claude-md-template.js +17 -1
  92. package/dist/templates/claude-md-template.js.map +1 -1
  93. package/dist/utils/mcp-on-demand-manager.d.ts.map +1 -1
  94. package/dist/utils/mcp-on-demand-manager.js +18 -5
  95. package/dist/utils/mcp-on-demand-manager.js.map +1 -1
  96. package/dist/utils/mcp-persistent-guard.d.ts +4 -0
  97. package/dist/utils/mcp-persistent-guard.d.ts.map +1 -1
  98. package/dist/utils/mcp-persistent-guard.js +26 -2
  99. package/dist/utils/mcp-persistent-guard.js.map +1 -1
  100. package/dist/utils/mcp-process-manager.d.ts.map +1 -1
  101. package/dist/utils/mcp-process-manager.js +5 -0
  102. package/dist/utils/mcp-process-manager.js.map +1 -1
  103. package/dist/utils/memory-safe-collections.d.ts +119 -0
  104. package/dist/utils/memory-safe-collections.d.ts.map +1 -0
  105. package/dist/utils/memory-safe-collections.js +212 -0
  106. package/dist/utils/memory-safe-collections.js.map +1 -0
  107. package/dist/utils/timer-registry.d.ts +138 -0
  108. package/dist/utils/timer-registry.d.ts.map +1 -0
  109. package/dist/utils/timer-registry.js +289 -0
  110. package/dist/utils/timer-registry.js.map +1 -0
  111. package/dist/version.d.ts +1 -1
  112. package/dist/version.d.ts.map +1 -1
  113. package/dist/version.js +1 -1
  114. package/dist/version.js.map +1 -1
  115. package/package.json +2 -2
@@ -0,0 +1,280 @@
1
+ "use strict";
2
+ /**
3
+ * snow_get_flow_execution_logs - View Flow Designer execution history
4
+ *
5
+ * Retrieve Flow Designer execution logs to monitor flow runs,
6
+ * debug failures, and analyze performance.
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_get_flow_execution_logs',
15
+ description: 'Retrieve Flow Designer execution logs for monitoring flow runs, debugging failures, and analyzing performance',
16
+ // Metadata for tool discovery (not sent to LLM)
17
+ category: 'automation',
18
+ subcategory: 'monitoring',
19
+ use_cases: ['flow-designer', 'automation', 'monitoring', 'debugging'],
20
+ complexity: 'beginner',
21
+ frequency: 'high',
22
+ // Permission enforcement
23
+ // Classification: READ - Get operation - retrieves data
24
+ permission: 'read',
25
+ allowedRoles: ['developer', 'stakeholder', 'admin'],
26
+ inputSchema: {
27
+ type: 'object',
28
+ properties: {
29
+ status: {
30
+ type: 'string',
31
+ enum: ['complete', 'error', 'cancelled', 'in_progress', 'waiting', 'all'],
32
+ description: 'Filter by execution status',
33
+ default: 'all'
34
+ },
35
+ flow_name: {
36
+ type: 'string',
37
+ description: 'Filter by flow name (partial match)'
38
+ },
39
+ source_table: {
40
+ type: 'string',
41
+ description: 'Filter by source table that triggered the flow (e.g., incident, change_request)'
42
+ },
43
+ source_record: {
44
+ type: 'string',
45
+ description: 'Filter by specific source record sys_id'
46
+ },
47
+ trigger_type: {
48
+ type: 'string',
49
+ enum: ['record', 'scheduled', 'application', 'inbound_email', 'rest', 'all'],
50
+ description: 'Filter by trigger type',
51
+ default: 'all'
52
+ },
53
+ limit: {
54
+ type: 'number',
55
+ description: 'Maximum number of execution records to return',
56
+ default: 50,
57
+ minimum: 1,
58
+ maximum: 500
59
+ },
60
+ since: {
61
+ type: 'string',
62
+ description: 'Get executions since this timestamp (ISO 8601 or relative like "1h", "30m", "7d")'
63
+ },
64
+ errors_only: {
65
+ type: 'boolean',
66
+ description: 'Only show failed executions with errors',
67
+ default: false
68
+ },
69
+ include_logs: {
70
+ type: 'boolean',
71
+ description: 'Include detailed execution logs (can be verbose)',
72
+ default: false
73
+ }
74
+ }
75
+ }
76
+ };
77
+ async function execute(args, context) {
78
+ var status = args.status || 'all';
79
+ var flow_name = args.flow_name;
80
+ var source_table = args.source_table;
81
+ var source_record = args.source_record;
82
+ var trigger_type = args.trigger_type || 'all';
83
+ var limit = args.limit || 50;
84
+ var since = args.since;
85
+ var errors_only = args.errors_only || false;
86
+ var include_logs = args.include_logs || false;
87
+ try {
88
+ var client = await (0, auth_js_1.getAuthenticatedClient)(context);
89
+ // Build query for sys_flow_context
90
+ var queryParts = [];
91
+ // Status filter
92
+ if (status !== 'all') {
93
+ queryParts.push('state=' + status);
94
+ }
95
+ // Errors only filter
96
+ if (errors_only) {
97
+ queryParts.push('state=error');
98
+ }
99
+ // Source table filter
100
+ if (source_table) {
101
+ queryParts.push('source_table=' + source_table);
102
+ }
103
+ // Source record filter
104
+ if (source_record) {
105
+ queryParts.push('source_record=' + source_record);
106
+ }
107
+ // Trigger type filter
108
+ if (trigger_type !== 'all') {
109
+ queryParts.push('trigger_type=' + trigger_type);
110
+ }
111
+ // Time range filter
112
+ if (since) {
113
+ var sinceTimestamp = parseRelativeTime(since);
114
+ queryParts.push('started>' + sinceTimestamp);
115
+ }
116
+ var query = queryParts.join('^');
117
+ // Get flow executions from sys_flow_context
118
+ var response = await client.get('/api/now/table/sys_flow_context', {
119
+ params: {
120
+ sysparm_query: query + '^ORDERBYDESCstarted',
121
+ sysparm_limit: limit,
122
+ sysparm_fields: 'sys_id,flow,state,started,ended,error_message,trigger_type,source_table,source_record,run_count,sys_created_by',
123
+ sysparm_display_value: 'all'
124
+ }
125
+ });
126
+ // Filter by flow name if specified (need to do client-side since it's a reference field)
127
+ var executions = response.data.result;
128
+ if (flow_name) {
129
+ executions = executions.filter(function (exec) {
130
+ var flowDisplayValue = exec.flow && exec.flow.display_value ? exec.flow.display_value : '';
131
+ return flowDisplayValue.toLowerCase().indexOf(flow_name.toLowerCase()) !== -1;
132
+ });
133
+ }
134
+ // Map to clean format
135
+ var logs = executions.map(function (exec) {
136
+ var startTime = exec.started && exec.started.display_value ? new Date(exec.started.display_value) : null;
137
+ var endTime = exec.ended && exec.ended.display_value ? new Date(exec.ended.display_value) : null;
138
+ var duration = null;
139
+ if (startTime && endTime) {
140
+ duration = Math.round((endTime.getTime() - startTime.getTime()) / 1000);
141
+ }
142
+ return {
143
+ sys_id: exec.sys_id,
144
+ flow_name: exec.flow && exec.flow.display_value ? exec.flow.display_value : 'Unknown',
145
+ flow_sys_id: exec.flow && exec.flow.value ? exec.flow.value : null,
146
+ state: exec.state && exec.state.display_value ? exec.state.display_value : exec.state,
147
+ started: exec.started && exec.started.display_value ? exec.started.display_value : null,
148
+ ended: exec.ended && exec.ended.display_value ? exec.ended.display_value : null,
149
+ duration_seconds: duration,
150
+ trigger_type: exec.trigger_type && exec.trigger_type.display_value ? exec.trigger_type.display_value : exec.trigger_type,
151
+ source_table: exec.source_table,
152
+ source_record: exec.source_record && exec.source_record.value ? exec.source_record.value : exec.source_record,
153
+ run_count: exec.run_count,
154
+ created_by: exec.sys_created_by,
155
+ error_message: exec.error_message || null
156
+ };
157
+ });
158
+ // Optionally fetch detailed logs for each execution
159
+ if (include_logs && logs.length > 0 && logs.length <= 10) {
160
+ for (var i = 0; i < logs.length; i++) {
161
+ var logResponse = await client.get('/api/now/table/sys_flow_log', {
162
+ params: {
163
+ sysparm_query: 'context=' + logs[i].sys_id + '^ORDERBYsys_created_on',
164
+ sysparm_limit: 50,
165
+ sysparm_fields: 'sys_created_on,level,message,step'
166
+ }
167
+ });
168
+ logs[i].execution_logs = logResponse.data.result.map(function (log) {
169
+ return {
170
+ timestamp: log.sys_created_on,
171
+ level: log.level,
172
+ message: log.message,
173
+ step: log.step
174
+ };
175
+ });
176
+ }
177
+ }
178
+ // Calculate statistics
179
+ var stats = {
180
+ total: logs.length,
181
+ complete: 0,
182
+ error: 0,
183
+ cancelled: 0,
184
+ in_progress: 0,
185
+ waiting: 0,
186
+ avg_duration_seconds: 0
187
+ };
188
+ var totalDuration = 0;
189
+ var durationCount = 0;
190
+ logs.forEach(function (log) {
191
+ var state = (log.state || '').toLowerCase();
192
+ if (state === 'complete')
193
+ stats.complete++;
194
+ else if (state === 'error')
195
+ stats.error++;
196
+ else if (state === 'cancelled')
197
+ stats.cancelled++;
198
+ else if (state === 'in_progress' || state === 'in progress')
199
+ stats.in_progress++;
200
+ else if (state === 'waiting')
201
+ stats.waiting++;
202
+ if (log.duration_seconds !== null) {
203
+ totalDuration += log.duration_seconds;
204
+ durationCount++;
205
+ }
206
+ });
207
+ if (durationCount > 0) {
208
+ stats.avg_duration_seconds = Math.round(totalDuration / durationCount);
209
+ }
210
+ // Group by flow name
211
+ var byFlow = {};
212
+ logs.forEach(function (log) {
213
+ var flowName = log.flow_name || 'Unknown';
214
+ if (!byFlow[flowName]) {
215
+ byFlow[flowName] = { total: 0, errors: 0 };
216
+ }
217
+ byFlow[flowName].total++;
218
+ if ((log.state || '').toLowerCase() === 'error') {
219
+ byFlow[flowName].errors++;
220
+ }
221
+ });
222
+ // Get error summary
223
+ var errorSummary = [];
224
+ logs.forEach(function (log) {
225
+ if (log.error_message) {
226
+ errorSummary.push({
227
+ flow_name: log.flow_name,
228
+ error: log.error_message,
229
+ timestamp: log.started,
230
+ sys_id: log.sys_id
231
+ });
232
+ }
233
+ });
234
+ return (0, error_handler_js_1.createSuccessResult)({
235
+ executions: logs,
236
+ count: logs.length,
237
+ statistics: stats,
238
+ by_flow: byFlow,
239
+ recent_errors: errorSummary.slice(0, 10),
240
+ filters: {
241
+ status: status,
242
+ flow_name: flow_name,
243
+ source_table: source_table,
244
+ trigger_type: trigger_type,
245
+ since: since,
246
+ errors_only: errors_only
247
+ }
248
+ });
249
+ }
250
+ catch (error) {
251
+ return (0, error_handler_js_1.createErrorResult)(error.message);
252
+ }
253
+ }
254
+ function parseRelativeTime(relative) {
255
+ var now = new Date();
256
+ var match = relative.match(/^(\d+)([mhd])$/);
257
+ if (!match) {
258
+ // Assume it's an absolute timestamp
259
+ return relative;
260
+ }
261
+ var value = parseInt(match[1]);
262
+ var unit = match[2];
263
+ var milliseconds = 0;
264
+ switch (unit) {
265
+ case 'm':
266
+ milliseconds = value * 60 * 1000;
267
+ break;
268
+ case 'h':
269
+ milliseconds = value * 60 * 60 * 1000;
270
+ break;
271
+ case 'd':
272
+ milliseconds = value * 24 * 60 * 60 * 1000;
273
+ break;
274
+ }
275
+ var sinceDate = new Date(now.getTime() - milliseconds);
276
+ return sinceDate.toISOString();
277
+ }
278
+ exports.version = '1.0.0';
279
+ exports.author = 'Snow-Flow Team';
280
+ //# sourceMappingURL=snow_get_flow_execution_logs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"snow_get_flow_execution_logs.js","sourceRoot":"","sources":["../../../../../src/mcp/servicenow-mcp-unified/tools/automation/snow_get_flow_execution_logs.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * snow_get_inbound_http_logs - View incoming HTTP request logs
3
+ *
4
+ * Retrieve inbound REST API transaction logs to monitor
5
+ * API usage, performance, and troubleshoot incoming requests.
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_get_inbound_http_logs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"snow_get_inbound_http_logs.d.ts","sourceRoot":"","sources":["../../../../../src/mcp/servicenow-mcp-unified/tools/automation/snow_get_inbound_http_logs.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAIzF,eAAO,MAAM,cAAc,EAAE,iBA0D5B,CAAC;AAEF,wBAAsB,OAAO,CAAC,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,UAAU,CAAC,CAuJxF;AAyBD,eAAO,MAAM,OAAO,UAAU,CAAC;AAC/B,eAAO,MAAM,MAAM,mBAAmB,CAAC"}
@@ -0,0 +1,233 @@
1
+ "use strict";
2
+ /**
3
+ * snow_get_inbound_http_logs - View incoming HTTP request logs
4
+ *
5
+ * Retrieve inbound REST API transaction logs to monitor
6
+ * API usage, performance, and troubleshoot incoming requests.
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_get_inbound_http_logs',
15
+ description: 'Retrieve inbound REST API transaction logs for monitoring API usage and debugging incoming requests',
16
+ // Metadata for tool discovery (not sent to LLM)
17
+ category: 'automation',
18
+ subcategory: 'monitoring',
19
+ use_cases: ['api', 'rest', 'monitoring', 'debugging', 'http', 'transactions'],
20
+ complexity: 'beginner',
21
+ frequency: 'high',
22
+ // Permission enforcement
23
+ // Classification: READ - Get operation - retrieves data
24
+ permission: 'read',
25
+ allowedRoles: ['developer', 'stakeholder', 'admin'],
26
+ inputSchema: {
27
+ type: 'object',
28
+ properties: {
29
+ status: {
30
+ type: 'string',
31
+ enum: ['success', 'error', 'all'],
32
+ description: 'Filter by response status (success = 2xx, error = 4xx/5xx)',
33
+ default: 'all'
34
+ },
35
+ url_path: {
36
+ type: 'string',
37
+ description: 'Filter by request URL path (partial match)'
38
+ },
39
+ http_method: {
40
+ type: 'string',
41
+ enum: ['GET', 'POST', 'PUT', 'PATCH', 'DELETE', 'all'],
42
+ description: 'Filter by HTTP method',
43
+ default: 'all'
44
+ },
45
+ user: {
46
+ type: 'string',
47
+ description: 'Filter by user who made the request'
48
+ },
49
+ source_ip: {
50
+ type: 'string',
51
+ description: 'Filter by source IP address'
52
+ },
53
+ limit: {
54
+ type: 'number',
55
+ description: 'Maximum number of log entries to return',
56
+ default: 50,
57
+ minimum: 1,
58
+ maximum: 500
59
+ },
60
+ since: {
61
+ type: 'string',
62
+ description: 'Get logs since this timestamp (ISO 8601 or relative like "1h", "30m", "7d")'
63
+ },
64
+ min_response_time: {
65
+ type: 'number',
66
+ description: 'Only show requests slower than this (milliseconds) - useful for performance debugging'
67
+ }
68
+ }
69
+ }
70
+ };
71
+ async function execute(args, context) {
72
+ var status = args.status || 'all';
73
+ var url_path = args.url_path;
74
+ var http_method = args.http_method || 'all';
75
+ var user = args.user;
76
+ var source_ip = args.source_ip;
77
+ var limit = args.limit || 50;
78
+ var since = args.since;
79
+ var min_response_time = args.min_response_time;
80
+ try {
81
+ var client = await (0, auth_js_1.getAuthenticatedClient)(context);
82
+ // Build query
83
+ var queryParts = [];
84
+ // Status filter
85
+ if (status === 'success') {
86
+ queryParts.push('status_code>=200^status_code<300');
87
+ }
88
+ else if (status === 'error') {
89
+ queryParts.push('status_code>=400');
90
+ }
91
+ // URL path filter
92
+ if (url_path) {
93
+ queryParts.push('urlLIKE' + url_path);
94
+ }
95
+ // HTTP method filter
96
+ if (http_method !== 'all') {
97
+ queryParts.push('http_method=' + http_method);
98
+ }
99
+ // User filter
100
+ if (user) {
101
+ queryParts.push('user.user_nameLIKE' + user);
102
+ }
103
+ // Source IP filter
104
+ if (source_ip) {
105
+ queryParts.push('client_ip=' + source_ip);
106
+ }
107
+ // Time range filter
108
+ if (since) {
109
+ var sinceTimestamp = parseRelativeTime(since);
110
+ queryParts.push('sys_created_on>' + sinceTimestamp);
111
+ }
112
+ // Response time filter (for slow query analysis)
113
+ if (min_response_time) {
114
+ queryParts.push('response_time>' + min_response_time);
115
+ }
116
+ var query = queryParts.join('^');
117
+ // Get inbound transaction logs from syslog_transaction
118
+ var response = await client.get('/api/now/table/syslog_transaction', {
119
+ params: {
120
+ sysparm_query: query + '^ORDERBYDESCsys_created_on',
121
+ sysparm_limit: limit,
122
+ sysparm_fields: 'sys_id,sys_created_on,url,http_method,status_code,response_time,client_ip,user,session_id,source'
123
+ }
124
+ });
125
+ var logs = response.data.result.map(function (log) {
126
+ return {
127
+ sys_id: log.sys_id,
128
+ timestamp: log.sys_created_on,
129
+ url: log.url,
130
+ http_method: log.http_method,
131
+ status_code: log.status_code,
132
+ response_time_ms: log.response_time,
133
+ client_ip: log.client_ip,
134
+ user: log.user,
135
+ session_id: log.session_id,
136
+ source: log.source
137
+ };
138
+ });
139
+ // Calculate statistics
140
+ var stats = {
141
+ total: logs.length,
142
+ success: 0,
143
+ client_error: 0,
144
+ server_error: 0,
145
+ avg_response_time_ms: 0,
146
+ max_response_time_ms: 0,
147
+ p95_response_time_ms: 0
148
+ };
149
+ var responseTimes = [];
150
+ logs.forEach(function (log) {
151
+ var statusCode = parseInt(log.status_code) || 0;
152
+ if (statusCode >= 200 && statusCode < 300) {
153
+ stats.success++;
154
+ }
155
+ else if (statusCode >= 400 && statusCode < 500) {
156
+ stats.client_error++;
157
+ }
158
+ else if (statusCode >= 500) {
159
+ stats.server_error++;
160
+ }
161
+ var responseTime = parseInt(log.response_time_ms) || 0;
162
+ responseTimes.push(responseTime);
163
+ });
164
+ if (responseTimes.length > 0) {
165
+ responseTimes.sort(function (a, b) { return a - b; });
166
+ var sum = responseTimes.reduce(function (a, b) { return a + b; }, 0);
167
+ stats.avg_response_time_ms = Math.round(sum / responseTimes.length);
168
+ stats.max_response_time_ms = responseTimes[responseTimes.length - 1];
169
+ var p95Index = Math.floor(responseTimes.length * 0.95);
170
+ stats.p95_response_time_ms = responseTimes[p95Index] || stats.max_response_time_ms;
171
+ }
172
+ // Group by endpoint
173
+ var byEndpoint = {};
174
+ logs.forEach(function (log) {
175
+ var path = log.url || 'unknown';
176
+ // Simplify path by removing query params and IDs
177
+ path = path.split('?')[0];
178
+ path = path.replace(/\/[a-f0-9]{32}/gi, '/{sys_id}');
179
+ byEndpoint[path] = (byEndpoint[path] || 0) + 1;
180
+ });
181
+ // Group by HTTP method
182
+ var byMethod = {};
183
+ logs.forEach(function (log) {
184
+ var method = log.http_method || 'unknown';
185
+ byMethod[method] = (byMethod[method] || 0) + 1;
186
+ });
187
+ // Top users
188
+ var byUser = {};
189
+ logs.forEach(function (log) {
190
+ var userName = log.user || 'anonymous';
191
+ byUser[userName] = (byUser[userName] || 0) + 1;
192
+ });
193
+ return (0, error_handler_js_1.createSuccessResult)({
194
+ logs: logs,
195
+ count: logs.length,
196
+ statistics: stats,
197
+ by_endpoint: byEndpoint,
198
+ by_method: byMethod,
199
+ by_user: byUser,
200
+ filters: { status: status, url_path: url_path, http_method: http_method, user: user, source_ip: source_ip, since: since, min_response_time: min_response_time }
201
+ });
202
+ }
203
+ catch (error) {
204
+ return (0, error_handler_js_1.createErrorResult)(error.message);
205
+ }
206
+ }
207
+ function parseRelativeTime(relative) {
208
+ var now = new Date();
209
+ var match = relative.match(/^(\d+)([mhd])$/);
210
+ if (!match) {
211
+ // Assume it's an absolute timestamp
212
+ return relative;
213
+ }
214
+ var value = parseInt(match[1]);
215
+ var unit = match[2];
216
+ var milliseconds = 0;
217
+ switch (unit) {
218
+ case 'm':
219
+ milliseconds = value * 60 * 1000;
220
+ break;
221
+ case 'h':
222
+ milliseconds = value * 60 * 60 * 1000;
223
+ break;
224
+ case 'd':
225
+ milliseconds = value * 24 * 60 * 60 * 1000;
226
+ break;
227
+ }
228
+ var sinceDate = new Date(now.getTime() - milliseconds);
229
+ return sinceDate.toISOString();
230
+ }
231
+ exports.version = '1.0.0';
232
+ exports.author = 'Snow-Flow Team';
233
+ //# sourceMappingURL=snow_get_inbound_http_logs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"snow_get_inbound_http_logs.js","sourceRoot":"","sources":["../../../../../src/mcp/servicenow-mcp-unified/tools/automation/snow_get_inbound_http_logs.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * snow_get_outbound_http_logs - View outgoing HTTP request logs
3
+ *
4
+ * Retrieve outbound HTTP request logs to monitor and debug
5
+ * REST/SOAP integrations, webhooks, and external API calls.
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_get_outbound_http_logs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"snow_get_outbound_http_logs.d.ts","sourceRoot":"","sources":["../../../../../src/mcp/servicenow-mcp-unified/tools/automation/snow_get_outbound_http_logs.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAIzF,eAAO,MAAM,cAAc,EAAE,iBAuD5B,CAAC;AAEF,wBAAsB,OAAO,CAAC,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,UAAU,CAAC,CAyIxF;AAyBD,eAAO,MAAM,OAAO,UAAU,CAAC;AAC/B,eAAO,MAAM,MAAM,mBAAmB,CAAC"}