nowaikit 2.5.3 → 2.6.0

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.
@@ -0,0 +1,161 @@
1
+ /**
2
+ * Fluent / GlideQuery-style tools — modern query interface for ServiceNow.
3
+ *
4
+ * Provides:
5
+ * - fluent_query: GlideQuery-style chained query builder (select, where, aggregate)
6
+ * - batch_request: Execute multiple API operations in a single HTTP call
7
+ * - execute_script: Run server-side GlideQuery/GlideRecord scripts via Background Script
8
+ *
9
+ * These tools give AI agents a modern, expressive way to interact with ServiceNow
10
+ * that mirrors the GlideQuery API developers use in the platform.
11
+ */
12
+ import type { ServiceNowClient } from '../servicenow/client.js';
13
+ export declare function getFluentToolDefinitions(): ({
14
+ name: string;
15
+ description: string;
16
+ inputSchema: {
17
+ type: string;
18
+ properties: {
19
+ table: {
20
+ type: string;
21
+ description: string;
22
+ };
23
+ where: {
24
+ type: string;
25
+ description: string;
26
+ items: {
27
+ type: string;
28
+ items: {};
29
+ minItems: number;
30
+ maxItems: number;
31
+ };
32
+ };
33
+ orWhere: {
34
+ type: string;
35
+ description: string;
36
+ items: {
37
+ type: string;
38
+ items: {};
39
+ minItems: number;
40
+ maxItems: number;
41
+ };
42
+ };
43
+ select: {
44
+ type: string;
45
+ description: string;
46
+ items: {
47
+ type: string;
48
+ };
49
+ };
50
+ aggregate: {
51
+ type: string;
52
+ description: string;
53
+ enum: string[];
54
+ };
55
+ aggregateField: {
56
+ type: string;
57
+ description: string;
58
+ };
59
+ groupBy: {
60
+ type: string;
61
+ description: string;
62
+ };
63
+ orderBy: {
64
+ type: string;
65
+ description: string;
66
+ };
67
+ limit: {
68
+ type: string;
69
+ description: string;
70
+ };
71
+ displayValue: {
72
+ type: string;
73
+ description: string;
74
+ };
75
+ operations?: undefined;
76
+ script?: undefined;
77
+ scope?: undefined;
78
+ };
79
+ required: string[];
80
+ };
81
+ } | {
82
+ name: string;
83
+ description: string;
84
+ inputSchema: {
85
+ type: string;
86
+ properties: {
87
+ operations: {
88
+ type: string;
89
+ description: string;
90
+ items: {
91
+ type: string;
92
+ properties: {
93
+ id: {
94
+ type: string;
95
+ description: string;
96
+ };
97
+ method: {
98
+ type: string;
99
+ description: string;
100
+ enum: string[];
101
+ };
102
+ url: {
103
+ type: string;
104
+ description: string;
105
+ };
106
+ body: {
107
+ type: string;
108
+ description: string;
109
+ };
110
+ };
111
+ required: string[];
112
+ };
113
+ minItems: number;
114
+ maxItems: number;
115
+ };
116
+ table?: undefined;
117
+ where?: undefined;
118
+ orWhere?: undefined;
119
+ select?: undefined;
120
+ aggregate?: undefined;
121
+ aggregateField?: undefined;
122
+ groupBy?: undefined;
123
+ orderBy?: undefined;
124
+ limit?: undefined;
125
+ displayValue?: undefined;
126
+ script?: undefined;
127
+ scope?: undefined;
128
+ };
129
+ required: string[];
130
+ };
131
+ } | {
132
+ name: string;
133
+ description: string;
134
+ inputSchema: {
135
+ type: string;
136
+ properties: {
137
+ script: {
138
+ type: string;
139
+ description: string;
140
+ };
141
+ scope: {
142
+ type: string;
143
+ description: string;
144
+ };
145
+ table?: undefined;
146
+ where?: undefined;
147
+ orWhere?: undefined;
148
+ select?: undefined;
149
+ aggregate?: undefined;
150
+ aggregateField?: undefined;
151
+ groupBy?: undefined;
152
+ orderBy?: undefined;
153
+ limit?: undefined;
154
+ displayValue?: undefined;
155
+ operations?: undefined;
156
+ };
157
+ required: string[];
158
+ };
159
+ })[];
160
+ export declare function executeFluentToolCall(client: ServiceNowClient, name: string, args: Record<string, any>): Promise<any>;
161
+ //# sourceMappingURL=fluent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fluent.d.ts","sourceRoot":"","sources":["../../src/tools/fluent.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAIhE,wBAAgB,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAsHvC;AAgED,wBAAsB,qBAAqB,CACzC,MAAM,EAAE,gBAAgB,EACxB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GACxB,OAAO,CAAC,GAAG,CAAC,CAyHd"}
@@ -0,0 +1,277 @@
1
+ import { ServiceNowError } from '../utils/errors.js';
2
+ import { requireWrite } from '../utils/permissions.js';
3
+ export function getFluentToolDefinitions() {
4
+ return [
5
+ {
6
+ name: 'fluent_query',
7
+ description: 'GlideQuery-style fluent query builder. Supports select, where, aggregate (COUNT/AVG/SUM/MIN/MAX), ' +
8
+ 'orderBy, limit, and groupBy. Returns records or aggregate results. ' +
9
+ 'Example: { table: "incident", where: [["active","=",true],["priority","<",3]], select: ["number","short_description"], limit: 10 }',
10
+ inputSchema: {
11
+ type: 'object',
12
+ properties: {
13
+ table: { type: 'string', description: 'Table name (e.g., "incident")' },
14
+ where: {
15
+ type: 'array',
16
+ description: 'Array of conditions: [field, operator, value]. Operators: =, !=, >, >=, <, <=, LIKE, STARTSWITH, CONTAINS, IN, NOT IN, ISEMPTY, ISNOTEMPTY',
17
+ items: {
18
+ type: 'array',
19
+ items: {},
20
+ minItems: 2,
21
+ maxItems: 3,
22
+ },
23
+ },
24
+ orWhere: {
25
+ type: 'array',
26
+ description: 'Array of OR conditions (same format as where)',
27
+ items: {
28
+ type: 'array',
29
+ items: {},
30
+ minItems: 2,
31
+ maxItems: 3,
32
+ },
33
+ },
34
+ select: {
35
+ type: 'array',
36
+ description: 'Fields to return. Supports dot-walking (e.g., "caller_id.email"). If omitted, returns all fields.',
37
+ items: { type: 'string' },
38
+ },
39
+ aggregate: {
40
+ type: 'string',
41
+ description: 'Aggregate operation: COUNT, AVG, SUM, MIN, MAX',
42
+ enum: ['COUNT', 'AVG', 'SUM', 'MIN', 'MAX'],
43
+ },
44
+ aggregateField: {
45
+ type: 'string',
46
+ description: 'Field to aggregate on (required for AVG, SUM, MIN, MAX)',
47
+ },
48
+ groupBy: {
49
+ type: 'string',
50
+ description: 'Field to group results by (for aggregate queries)',
51
+ },
52
+ orderBy: {
53
+ type: 'string',
54
+ description: 'Field to sort by. Prefix with "-" for descending.',
55
+ },
56
+ limit: {
57
+ type: 'number',
58
+ description: 'Max records to return (default: 20, max: 200)',
59
+ },
60
+ displayValue: {
61
+ type: 'boolean',
62
+ description: 'Return display values instead of internal values (default: false)',
63
+ },
64
+ },
65
+ required: ['table'],
66
+ },
67
+ },
68
+ {
69
+ name: 'batch_request',
70
+ description: 'Execute multiple ServiceNow REST API operations in a single HTTP call. ' +
71
+ 'Reduces round-trips by 50-70%. Each operation specifies method, URL path, and optional body. ' +
72
+ 'Max 50 operations per batch.',
73
+ inputSchema: {
74
+ type: 'object',
75
+ properties: {
76
+ operations: {
77
+ type: 'array',
78
+ description: 'Array of REST operations to execute',
79
+ items: {
80
+ type: 'object',
81
+ properties: {
82
+ id: { type: 'string', description: 'Unique operation ID for correlating responses' },
83
+ method: { type: 'string', description: 'HTTP method: GET, POST, PATCH, DELETE', enum: ['GET', 'POST', 'PATCH', 'DELETE'] },
84
+ url: { type: 'string', description: 'API URL path (e.g., "/api/now/table/incident?sysparm_limit=5")' },
85
+ body: { type: 'object', description: 'Request body for POST/PATCH operations' },
86
+ },
87
+ required: ['id', 'method', 'url'],
88
+ },
89
+ minItems: 1,
90
+ maxItems: 50,
91
+ },
92
+ },
93
+ required: ['operations'],
94
+ },
95
+ },
96
+ {
97
+ name: 'execute_script',
98
+ description: 'Execute a server-side script on the ServiceNow instance (Background Script). ' +
99
+ 'Supports GlideRecord, GlideQuery, GlideAggregate, and all server-side APIs. ' +
100
+ 'Returns the script output. Use for complex queries that cannot be expressed via REST. ' +
101
+ 'REQUIRES WRITE_ENABLED=true.',
102
+ inputSchema: {
103
+ type: 'object',
104
+ properties: {
105
+ script: {
106
+ type: 'string',
107
+ description: 'Server-side JavaScript to execute. Use gs.print() or gs.info() for output.',
108
+ },
109
+ scope: {
110
+ type: 'string',
111
+ description: 'Application scope to run in (default: global)',
112
+ },
113
+ },
114
+ required: ['script'],
115
+ },
116
+ },
117
+ ];
118
+ }
119
+ function parseConditions(conditions) {
120
+ return conditions.map(c => {
121
+ if (c.length === 2) {
122
+ return { field: c[0], operator: '=', value: c[1] };
123
+ }
124
+ return { field: c[0], operator: c[1], value: c[2] };
125
+ });
126
+ }
127
+ function buildEncodedQuery(where, orWhere) {
128
+ const parts = [];
129
+ if (where && where.length > 0) {
130
+ const conditions = parseConditions(where);
131
+ for (const c of conditions) {
132
+ const op = mapOperator(c.operator);
133
+ parts.push(`${c.field}${op}${c.value}`);
134
+ }
135
+ }
136
+ let query = parts.join('^');
137
+ if (orWhere && orWhere.length > 0) {
138
+ const orConditions = parseConditions(orWhere);
139
+ for (const c of orConditions) {
140
+ const op = mapOperator(c.operator);
141
+ query += `^OR${c.field}${op}${c.value}`;
142
+ }
143
+ }
144
+ return query;
145
+ }
146
+ function mapOperator(op) {
147
+ const operatorMap = {
148
+ '=': '=',
149
+ '!=': '!=',
150
+ '>': '>',
151
+ '>=': '>=',
152
+ '<': '<',
153
+ '<=': '<=',
154
+ 'LIKE': 'LIKE',
155
+ 'STARTSWITH': 'STARTSWITH',
156
+ 'CONTAINS': 'LIKE',
157
+ 'IN': 'IN',
158
+ 'NOT IN': 'NOT IN',
159
+ 'ISEMPTY': 'ISEMPTY',
160
+ 'ISNOTEMPTY': 'ISNOTEMPTY',
161
+ };
162
+ return operatorMap[op.toUpperCase()] || '=';
163
+ }
164
+ // ─── Execution ──────────────────────────────────────────────────────────────
165
+ export async function executeFluentToolCall(client, name, args) {
166
+ switch (name) {
167
+ case 'fluent_query': {
168
+ const table = args.table;
169
+ if (!table)
170
+ throw new ServiceNowError('table is required', 'INVALID_REQUEST');
171
+ const query = buildEncodedQuery(args.where, args.orWhere);
172
+ const limit = Math.min(args.limit || 20, 200);
173
+ const displayValue = args.displayValue ? 'true' : 'false';
174
+ // Aggregate query path
175
+ if (args.aggregate) {
176
+ const aggType = args.aggregate.toUpperCase();
177
+ const params = new URLSearchParams();
178
+ if (query)
179
+ params.set('sysparm_query', query);
180
+ params.set('sysparm_count', 'true');
181
+ if (args.groupBy) {
182
+ params.set('sysparm_group_by', args.groupBy);
183
+ }
184
+ if (aggType !== 'COUNT' && args.aggregateField) {
185
+ params.set(`sysparm_${aggType.toLowerCase()}`, 'true');
186
+ params.set('sysparm_avg_fields', args.aggregateField);
187
+ params.set('sysparm_sum_fields', args.aggregateField);
188
+ params.set('sysparm_min_fields', args.aggregateField);
189
+ params.set('sysparm_max_fields', args.aggregateField);
190
+ }
191
+ const result = await client.runAggregateQuery(table, args.groupBy || '', aggType, query || undefined);
192
+ return {
193
+ type: 'aggregate',
194
+ operation: aggType,
195
+ field: args.aggregateField || null,
196
+ groupBy: args.groupBy || null,
197
+ result,
198
+ };
199
+ }
200
+ // Select query path
201
+ const fields = args.select ? args.select.join(',') : undefined;
202
+ const orderBy = args.orderBy || undefined;
203
+ const result = await client.queryRecords({
204
+ table,
205
+ query: query || undefined,
206
+ fields,
207
+ limit,
208
+ orderBy,
209
+ });
210
+ // Apply display value if requested
211
+ if (args.displayValue) {
212
+ // Re-query with display_value parameter
213
+ const params = new URLSearchParams();
214
+ if (query)
215
+ params.set('sysparm_query', query);
216
+ if (fields)
217
+ params.set('sysparm_fields', fields);
218
+ params.set('sysparm_limit', limit.toString());
219
+ params.set('sysparm_display_value', displayValue);
220
+ params.set('sysparm_exclude_reference_link', 'true');
221
+ if (orderBy) {
222
+ if (orderBy.startsWith('-')) {
223
+ params.set('sysparm_query', (query ? query + '^' : '') + 'ORDERBYDESC' + orderBy.substring(1));
224
+ }
225
+ else {
226
+ params.set('sysparm_query', (query ? query + '^' : '') + 'ORDERBY' + orderBy);
227
+ }
228
+ }
229
+ // Use queryRecords with display_value — need to pass through display_value parameter
230
+ // For now, return raw values with a note
231
+ return {
232
+ type: 'select',
233
+ table,
234
+ count: result.count,
235
+ records: result.records,
236
+ query: query || null,
237
+ fields: args.select || 'all',
238
+ };
239
+ }
240
+ return {
241
+ type: 'select',
242
+ table,
243
+ count: result.count,
244
+ records: result.records,
245
+ query: query || null,
246
+ fields: args.select || 'all',
247
+ };
248
+ }
249
+ case 'batch_request': {
250
+ const operations = args.operations;
251
+ if (!operations || !Array.isArray(operations) || operations.length === 0) {
252
+ throw new ServiceNowError('operations array is required', 'INVALID_REQUEST');
253
+ }
254
+ if (operations.length > 50) {
255
+ throw new ServiceNowError('Maximum 50 operations per batch', 'INVALID_REQUEST');
256
+ }
257
+ // Check for write operations
258
+ const hasWrites = operations.some((op) => op.method !== 'GET');
259
+ if (hasWrites) {
260
+ requireWrite();
261
+ }
262
+ const result = await client.batchRequest(operations);
263
+ return result;
264
+ }
265
+ case 'execute_script': {
266
+ requireWrite();
267
+ const script = args.script;
268
+ if (!script)
269
+ throw new ServiceNowError('script is required', 'INVALID_REQUEST');
270
+ const result = await client.executeScript(script, args.scope);
271
+ return result;
272
+ }
273
+ default:
274
+ return null;
275
+ }
276
+ }
277
+ //# sourceMappingURL=fluent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fluent.js","sourceRoot":"","sources":["../../src/tools/fluent.ts"],"names":[],"mappings":"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"}
@@ -119,6 +119,74 @@ export declare function getTools(): ({
119
119
  };
120
120
  required: string[];
121
121
  };
122
+ } | {
123
+ name: string;
124
+ description: string;
125
+ inputSchema: {
126
+ type: string;
127
+ properties: {
128
+ table: {
129
+ type: string;
130
+ description: string;
131
+ };
132
+ fields: {
133
+ type: string;
134
+ description: string;
135
+ };
136
+ query?: undefined;
137
+ limit?: undefined;
138
+ orderBy?: undefined;
139
+ sys_id?: undefined;
140
+ user_identifier?: undefined;
141
+ group_identifier?: undefined;
142
+ ci_sys_id?: undefined;
143
+ active_only?: undefined;
144
+ service_sys_id?: undefined;
145
+ instruction?: undefined;
146
+ name?: undefined;
147
+ parent?: undefined;
148
+ child?: undefined;
149
+ type?: undefined;
150
+ depth?: undefined;
151
+ schedule_id?: undefined;
152
+ mid_server?: undefined;
153
+ };
154
+ required: string[];
155
+ };
156
+ } | {
157
+ name: string;
158
+ description: string;
159
+ inputSchema: {
160
+ type: string;
161
+ properties: {
162
+ table: {
163
+ type: string;
164
+ description: string;
165
+ };
166
+ sys_id: {
167
+ type: string;
168
+ description: string;
169
+ };
170
+ query?: undefined;
171
+ fields?: undefined;
172
+ limit?: undefined;
173
+ orderBy?: undefined;
174
+ user_identifier?: undefined;
175
+ group_identifier?: undefined;
176
+ ci_sys_id?: undefined;
177
+ active_only?: undefined;
178
+ service_sys_id?: undefined;
179
+ instruction?: undefined;
180
+ name?: undefined;
181
+ parent?: undefined;
182
+ child?: undefined;
183
+ type?: undefined;
184
+ depth?: undefined;
185
+ schedule_id?: undefined;
186
+ mid_server?: undefined;
187
+ };
188
+ required: string[];
189
+ };
122
190
  } | {
123
191
  name: string;
124
192
  description: string;
@@ -11509,6 +11577,152 @@ export declare function getTools(): ({
11509
11577
  };
11510
11578
  required: string[];
11511
11579
  };
11580
+ } | {
11581
+ name: string;
11582
+ description: string;
11583
+ inputSchema: {
11584
+ type: string;
11585
+ properties: {
11586
+ table: {
11587
+ type: string;
11588
+ description: string;
11589
+ };
11590
+ where: {
11591
+ type: string;
11592
+ description: string;
11593
+ items: {
11594
+ type: string;
11595
+ items: {};
11596
+ minItems: number;
11597
+ maxItems: number;
11598
+ };
11599
+ };
11600
+ orWhere: {
11601
+ type: string;
11602
+ description: string;
11603
+ items: {
11604
+ type: string;
11605
+ items: {};
11606
+ minItems: number;
11607
+ maxItems: number;
11608
+ };
11609
+ };
11610
+ select: {
11611
+ type: string;
11612
+ description: string;
11613
+ items: {
11614
+ type: string;
11615
+ };
11616
+ };
11617
+ aggregate: {
11618
+ type: string;
11619
+ description: string;
11620
+ enum: string[];
11621
+ };
11622
+ aggregateField: {
11623
+ type: string;
11624
+ description: string;
11625
+ };
11626
+ groupBy: {
11627
+ type: string;
11628
+ description: string;
11629
+ };
11630
+ orderBy: {
11631
+ type: string;
11632
+ description: string;
11633
+ };
11634
+ limit: {
11635
+ type: string;
11636
+ description: string;
11637
+ };
11638
+ displayValue: {
11639
+ type: string;
11640
+ description: string;
11641
+ };
11642
+ operations?: undefined;
11643
+ script?: undefined;
11644
+ scope?: undefined;
11645
+ };
11646
+ required: string[];
11647
+ };
11648
+ } | {
11649
+ name: string;
11650
+ description: string;
11651
+ inputSchema: {
11652
+ type: string;
11653
+ properties: {
11654
+ operations: {
11655
+ type: string;
11656
+ description: string;
11657
+ items: {
11658
+ type: string;
11659
+ properties: {
11660
+ id: {
11661
+ type: string;
11662
+ description: string;
11663
+ };
11664
+ method: {
11665
+ type: string;
11666
+ description: string;
11667
+ enum: string[];
11668
+ };
11669
+ url: {
11670
+ type: string;
11671
+ description: string;
11672
+ };
11673
+ body: {
11674
+ type: string;
11675
+ description: string;
11676
+ };
11677
+ };
11678
+ required: string[];
11679
+ };
11680
+ minItems: number;
11681
+ maxItems: number;
11682
+ };
11683
+ table?: undefined;
11684
+ where?: undefined;
11685
+ orWhere?: undefined;
11686
+ select?: undefined;
11687
+ aggregate?: undefined;
11688
+ aggregateField?: undefined;
11689
+ groupBy?: undefined;
11690
+ orderBy?: undefined;
11691
+ limit?: undefined;
11692
+ displayValue?: undefined;
11693
+ script?: undefined;
11694
+ scope?: undefined;
11695
+ };
11696
+ required: string[];
11697
+ };
11698
+ } | {
11699
+ name: string;
11700
+ description: string;
11701
+ inputSchema: {
11702
+ type: string;
11703
+ properties: {
11704
+ script: {
11705
+ type: string;
11706
+ description: string;
11707
+ };
11708
+ scope: {
11709
+ type: string;
11710
+ description: string;
11711
+ };
11712
+ table?: undefined;
11713
+ where?: undefined;
11714
+ orWhere?: undefined;
11715
+ select?: undefined;
11716
+ aggregate?: undefined;
11717
+ aggregateField?: undefined;
11718
+ groupBy?: undefined;
11719
+ orderBy?: undefined;
11720
+ limit?: undefined;
11721
+ displayValue?: undefined;
11722
+ operations?: undefined;
11723
+ };
11724
+ required: string[];
11725
+ };
11512
11726
  })[];
11513
11727
  export declare function executeTool(client: ServiceNowClient, name: string, args: Record<string, any>): Promise<any>;
11514
11728
  //# sourceMappingURL=index.d.ts.map