nowaikit 4.12.0 → 4.15.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.
Files changed (51) hide show
  1. package/README.md +12 -5
  2. package/dist/cli/auth.d.ts +13 -0
  3. package/dist/cli/auth.d.ts.map +1 -1
  4. package/dist/cli/auth.js +237 -50
  5. package/dist/cli/auth.js.map +1 -1
  6. package/dist/cli/detect-clients.d.ts.map +1 -1
  7. package/dist/cli/detect-clients.js +78 -2
  8. package/dist/cli/detect-clients.js.map +1 -1
  9. package/dist/cli/setup.d.ts.map +1 -1
  10. package/dist/cli/setup.js +218 -9
  11. package/dist/cli/setup.js.map +1 -1
  12. package/dist/servicenow/client.d.ts +49 -1
  13. package/dist/servicenow/client.d.ts.map +1 -1
  14. package/dist/servicenow/client.js +367 -46
  15. package/dist/servicenow/client.js.map +1 -1
  16. package/dist/servicenow/instances.d.ts.map +1 -1
  17. package/dist/servicenow/instances.js +56 -4
  18. package/dist/servicenow/instances.js.map +1 -1
  19. package/dist/servicenow/types.d.ts +17 -0
  20. package/dist/servicenow/types.d.ts.map +1 -1
  21. package/dist/tools/app-studio.d.ts.map +1 -1
  22. package/dist/tools/app-studio.js +80 -9
  23. package/dist/tools/app-studio.js.map +1 -1
  24. package/dist/tools/change.d.ts.map +1 -1
  25. package/dist/tools/change.js +3 -1
  26. package/dist/tools/change.js.map +1 -1
  27. package/dist/tools/core.d.ts.map +1 -1
  28. package/dist/tools/core.js +28 -2
  29. package/dist/tools/core.js.map +1 -1
  30. package/dist/tools/incident.d.ts.map +1 -1
  31. package/dist/tools/incident.js +5 -3
  32. package/dist/tools/incident.js.map +1 -1
  33. package/dist/tools/index.d.ts +159 -0
  34. package/dist/tools/index.d.ts.map +1 -1
  35. package/dist/tools/index.js +2 -2
  36. package/dist/tools/index.js.map +1 -1
  37. package/dist/tools/knowledge.d.ts.map +1 -1
  38. package/dist/tools/knowledge.js +12 -1
  39. package/dist/tools/knowledge.js.map +1 -1
  40. package/dist/tools/notification.d.ts +169 -0
  41. package/dist/tools/notification.d.ts.map +1 -1
  42. package/dist/tools/notification.js +88 -9
  43. package/dist/tools/notification.js.map +1 -1
  44. package/dist/tools/problem.d.ts.map +1 -1
  45. package/dist/tools/problem.js +3 -1
  46. package/dist/tools/problem.js.map +1 -1
  47. package/dist/tools/updateset.d.ts.map +1 -1
  48. package/dist/tools/updateset.js +62 -38
  49. package/dist/tools/updateset.js.map +1 -1
  50. package/dist/tools-manifest.json +82 -11
  51. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"problem.d.ts","sourceRoot":"","sources":["../../src/tools/problem.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAIhE,wBAAgB,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAqDxC;AAED,wBAAsB,sBAAsB,CAC1C,MAAM,EAAE,gBAAgB,EACxB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GACxB,OAAO,CAAC,GAAG,CAAC,CAsCd"}
1
+ {"version":3,"file":"problem.d.ts","sourceRoot":"","sources":["../../src/tools/problem.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAIhE,wBAAgB,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAqDxC;AAED,wBAAsB,sBAAsB,CAC1C,MAAM,EAAE,gBAAgB,EACxB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GACxB,OAAO,CAAC,GAAG,CAAC,CAwCd"}
@@ -61,7 +61,9 @@ export async function executeProblemToolCall(client, name, args) {
61
61
  if (!args.short_description)
62
62
  throw new ServiceNowError('short_description is required', 'INVALID_REQUEST');
63
63
  const result = await client.createRecord('problem', args);
64
- return { ...result, summary: `Created problem ${result.number || result.sys_id}` };
64
+ const pSid = typeof result.sys_id === 'object' ? result.sys_id?.value : result.sys_id;
65
+ const pUrl = pSid && typeof client.recordUrl === 'function' ? client.recordUrl('problem', pSid) : undefined;
66
+ return { ...result, url: pUrl, summary: `Created problem ${result.number || pSid}` };
65
67
  }
66
68
  case 'get_problem': {
67
69
  if (!args.number_or_sysid)
@@ -1 +1 @@
1
- {"version":3,"file":"problem.js","sourceRoot":"","sources":["../../src/tools/problem.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"problem.js","sourceRoot":"","sources":["../../src/tools/problem.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"updateset.d.ts","sourceRoot":"","sources":["../../src/tools/updateset.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAIhE,wBAAgB,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KA2F1C;AAED,wBAAsB,wBAAwB,CAC5C,MAAM,EAAE,gBAAgB,EACxB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GACxB,OAAO,CAAC,GAAG,CAAC,CAqId"}
1
+ {"version":3,"file":"updateset.d.ts","sourceRoot":"","sources":["../../src/tools/updateset.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AA0ChE,wBAAgB,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KA2F1C;AAED,wBAAsB,wBAAwB,CAC5C,MAAM,EAAE,gBAAgB,EACxB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GACxB,OAAO,CAAC,GAAG,CAAC,CAyHd"}
@@ -1,5 +1,41 @@
1
1
  import { ServiceNowError } from '../utils/errors.js';
2
2
  import { requireScripting } from '../utils/permissions.js';
3
+ // The caller's current update set is a per-USER preference (sys_user_preference name=sys_update_set),
4
+ // NOT the per-scope `is_default` flag. Writing is_default flips a shared, instance-wide default for an
5
+ // application scope and does not switch the caller's session. These helpers read/write that preference
6
+ // so every tool switches the caller the same way the ServiceNow UI's "make this my current" link does.
7
+ // gs.getUserID() resolves the caller across every auth mode (basic, OAuth, per-user token, impersonation).
8
+ /** The sys_id of the caller's current update set (from their user preference), or undefined. */
9
+ async function readCurrentUpdateSetId(client) {
10
+ const pref = await client.queryRecords({
11
+ table: 'sys_user_preference',
12
+ query: 'name=sys_update_set^user=javascript:gs.getUserID()',
13
+ fields: 'sys_id,value',
14
+ limit: 1,
15
+ });
16
+ const v = pref.records?.[0]?.value;
17
+ return v ? String(v) : undefined;
18
+ }
19
+ /** Point the caller's session at an update set by writing their sys_user_preference (upsert). */
20
+ async function setCurrentUpdateSet(client, updateSetId) {
21
+ const existing = await client.queryRecords({
22
+ table: 'sys_user_preference',
23
+ query: 'name=sys_update_set^user=javascript:gs.getUserID()',
24
+ fields: 'sys_id',
25
+ limit: 1,
26
+ });
27
+ const prefId = existing.records?.[0]?.sys_id;
28
+ if (prefId) {
29
+ const result = await client.updateRecord('sys_user_preference', prefId, { value: updateSetId });
30
+ return { preference: prefId, ...result };
31
+ }
32
+ const me = await client.queryRecords({ table: 'sys_user', query: 'sys_id=javascript:gs.getUserID()', fields: 'sys_id', limit: 1 });
33
+ const userId = me.records?.[0]?.sys_id;
34
+ if (!userId)
35
+ throw new ServiceNowError('Could not resolve the current user to set the update set', 'NOT_FOUND');
36
+ const result = await client.createRecord('sys_user_preference', { name: 'sys_update_set', user: userId, value: updateSetId, type: 'string' });
37
+ return { ...result };
38
+ }
3
39
  export function getUpdateSetToolDefinitions() {
4
40
  return [
5
41
  {
@@ -95,13 +131,16 @@ export function getUpdateSetToolDefinitions() {
95
131
  export async function executeUpdateSetToolCall(client, name, args) {
96
132
  switch (name) {
97
133
  case 'get_current_update_set': {
98
- const resp = await client.queryRecords({
99
- table: 'sys_update_set',
100
- query: 'state=in progress',
101
- limit: 5,
102
- fields: 'sys_id,name,description,state,is_default,release,sys_updated_on,sys_updated_by',
103
- });
104
- return { count: resp.count, active_update_sets: resp.records };
134
+ // The caller's actual current update set is their user preference, not "some in-progress set".
135
+ const fields = 'sys_id,name,description,state,is_default,release,sys_updated_on,sys_updated_by';
136
+ const curId = await readCurrentUpdateSetId(client);
137
+ if (curId) {
138
+ const current = await client.getRecord('sys_update_set', curId, fields);
139
+ return { source: 'user_preference', current_update_set: current };
140
+ }
141
+ // No per-user preference set yet: fall back to listing in-progress sets so the caller can pick one.
142
+ const resp = await client.queryRecords({ table: 'sys_update_set', query: 'state=in progress', limit: 5, fields });
143
+ return { source: 'fallback_in_progress', current_update_set: null, active_update_sets: resp.records, note: 'No per-user current update set is set; showing in-progress sets to choose from.' };
105
144
  }
106
145
  case 'list_update_sets': {
107
146
  let query = '';
@@ -129,7 +168,7 @@ export async function executeUpdateSetToolCall(client, name, args) {
129
168
  const result = await client.createRecord('sys_update_set', payload);
130
169
  const newId = String(result.sys_id || result.result?.sys_id || '');
131
170
  if (newId && args.switch_to !== false) {
132
- await client.updateRecord('sys_update_set', newId, { is_default: true });
171
+ await setCurrentUpdateSet(client, newId);
133
172
  return { action: 'created_and_switched', name: args.name, sys_id: newId, ...result };
134
173
  }
135
174
  return { action: 'created', name: args.name, sys_id: newId, ...result };
@@ -138,26 +177,7 @@ export async function executeUpdateSetToolCall(client, name, args) {
138
177
  if (!args.sys_id)
139
178
  throw new ServiceNowError('sys_id is required', 'INVALID_REQUEST');
140
179
  requireScripting();
141
- // The caller's current update set is a per-USER preference (sys_user_preference
142
- // name=sys_update_set), NOT the per-scope `is_default` flag. Writing is_default
143
- // flips a shared, instance-wide default for an application scope and does not switch
144
- // the caller's session, so set the user preference instead.
145
- const existing = await client.queryRecords({
146
- table: 'sys_user_preference',
147
- query: 'name=sys_update_set^user=javascript:gs.getUserID()',
148
- fields: 'sys_id',
149
- limit: 1,
150
- });
151
- const prefId = existing.records?.[0]?.sys_id;
152
- if (prefId) {
153
- const result = await client.updateRecord('sys_user_preference', prefId, { value: args.sys_id });
154
- return { action: 'switched', sys_id: args.sys_id, preference: prefId, ...result };
155
- }
156
- const me = await client.queryRecords({ table: 'sys_user', query: 'sys_id=javascript:gs.getUserID()', fields: 'sys_id', limit: 1 });
157
- const userId = me.records?.[0]?.sys_id;
158
- if (!userId)
159
- throw new ServiceNowError('Could not resolve the current user to switch the update set', 'NOT_FOUND');
160
- const result = await client.createRecord('sys_user_preference', { name: 'sys_update_set', user: userId, value: args.sys_id, type: 'string' });
180
+ const result = await setCurrentUpdateSet(client, String(args.sys_id));
161
181
  return { action: 'switched', sys_id: args.sys_id, ...result };
162
182
  }
163
183
  case 'complete_update_set': {
@@ -211,18 +231,22 @@ export async function executeUpdateSetToolCall(client, name, args) {
211
231
  }
212
232
  case 'ensure_active_update_set': {
213
233
  requireScripting();
214
- const resp = await client.queryRecords({
215
- table: 'sys_update_set',
216
- query: 'state=in progress',
217
- limit: 1,
218
- fields: 'sys_id,name',
219
- });
220
- if (resp.count > 0) {
221
- return { action: 'existing_found', update_set: resp.records[0] };
234
+ // Prefer the caller's own current update set if it exists and is still in progress.
235
+ const curId = await readCurrentUpdateSetId(client);
236
+ if (curId) {
237
+ const current = await client.getRecord('sys_update_set', curId, 'sys_id,name,state');
238
+ if (current && String(current.state).toLowerCase() === 'in progress') {
239
+ return { action: 'existing_found', update_set: current };
240
+ }
222
241
  }
242
+ // Otherwise create a fresh set and point the caller at it via their preference (not is_default,
243
+ // which would reassign the shared per-scope default without switching the caller's session).
223
244
  const defaultName = args.default_name || `AI Session Update Set ${new Date().toISOString().slice(0, 10)}`;
224
- const created = await client.createRecord('sys_update_set', { name: defaultName, state: 'in progress', is_default: true });
225
- return { action: 'auto_created', name: defaultName, update_set: created };
245
+ const created = await client.createRecord('sys_update_set', { name: defaultName, state: 'in progress' });
246
+ const newId = String(created.sys_id || created.result?.sys_id || '');
247
+ if (newId)
248
+ await setCurrentUpdateSet(client, newId);
249
+ return { action: 'auto_created', name: defaultName, sys_id: newId, update_set: created };
226
250
  }
227
251
  default:
228
252
  return null;
@@ -1 +1 @@
1
- {"version":3,"file":"updateset.js","sourceRoot":"","sources":["../../src/tools/updateset.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAE3D,MAAM,UAAU,2BAA2B;IACzC,OAAO;QACL;YACE,IAAI,EAAE,wBAAwB;YAC9B,WAAW,EAAE,qDAAqD;YAClE,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE;SAC9D;QACD;YACE,IAAI,EAAE,kBAAkB;YACxB,WAAW,EAAE,2DAA2D;YACxE,WAAW,EAAE;gBACX,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,mDAAmD,EAAE;oBAC3F,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,iCAAiC,EAAE;oBACzE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,0BAA0B,EAAE;iBACnE;gBACD,QAAQ,EAAE,EAAE;aACb;SACF;QACD;YACE,IAAI,EAAE,mBAAmB;YACzB,WAAW,EAAE,sEAAsE;YACnF,WAAW,EAAE;gBACX,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,iBAAiB,EAAE;oBACxD,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,wBAAwB,EAAE;oBACtE,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,sBAAsB,EAAE;oBAChE,SAAS,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,yDAAyD,EAAE;iBACvG;gBACD,QAAQ,EAAE,CAAC,MAAM,CAAC;aACnB;SACF;QACD;YACE,IAAI,EAAE,mBAAmB;YACzB,WAAW,EAAE,iFAAiF;YAC9F,WAAW,EAAE;gBACX,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,iCAAiC,EAAE;iBAC3E;gBACD,QAAQ,EAAE,CAAC,QAAQ,CAAC;aACrB;SACF;QACD;YACE,IAAI,EAAE,qBAAqB;YAC3B,WAAW,EAAE,uEAAuE;YACpF,WAAW,EAAE;gBACX,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,mBAAmB,EAAE;iBAC7D;gBACD,QAAQ,EAAE,CAAC,QAAQ,CAAC;aACrB;SACF;QACD;YACE,IAAI,EAAE,oBAAoB;YAC1B,WAAW,EAAE,gDAAgD;YAC7D,WAAW,EAAE;gBACX,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,mBAAmB,EAAE;oBAC5D,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,mCAAmC,EAAE;iBAC5E;gBACD,QAAQ,EAAE,CAAC,QAAQ,CAAC;aACrB;SACF;QACD;YACE,IAAI,EAAE,mBAAmB;YACzB,WAAW,EAAE,sFAAsF;YACnG,WAAW,EAAE;gBACX,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,mBAAmB,EAAE;iBAC7D;gBACD,QAAQ,EAAE,CAAC,QAAQ,CAAC;aACrB;SACF;QACD;YACE,IAAI,EAAE,0BAA0B;YAChC,WAAW,EAAE,sGAAsG;YACnH,WAAW,EAAE;gBACX,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,YAAY,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,mEAAmE,EAAE;iBACnH;gBACD,QAAQ,EAAE,EAAE;aACb;SACF;KACF,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,MAAwB,EACxB,IAAY,EACZ,IAAyB;IAEzB,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,wBAAwB,CAAC,CAAC,CAAC;YAC9B,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC;gBACrC,KAAK,EAAE,gBAAgB;gBACvB,KAAK,EAAE,mBAAmB;gBAC1B,KAAK,EAAE,CAAC;gBACR,MAAM,EAAE,gFAAgF;aACzF,CAAC,CAAC;YACH,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,kBAAkB,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC;QACjE,CAAC;QAED,KAAK,kBAAkB,CAAC,CAAC,CAAC;YACxB,IAAI,KAAK,GAAG,EAAE,CAAC;YACf,IAAI,IAAI,CAAC,KAAK;gBAAE,KAAK,GAAG,SAAS,IAAI,CAAC,KAAK,EAAE,CAAC;YAC9C,IAAI,IAAI,CAAC,KAAK;gBAAE,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;YACtE,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC;gBACrC,KAAK,EAAE,gBAAgB;gBACvB,KAAK,EAAE,KAAK,IAAI,SAAS;gBACzB,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,EAAE;gBACvB,MAAM,EAAE,qEAAqE;aAC9E,CAAC,CAAC;YACH,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,WAAW,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC;QAC1D,CAAC;QAED,KAAK,mBAAmB,CAAC,CAAC,CAAC;YACzB,IAAI,CAAC,IAAI,CAAC,IAAI;gBAAE,MAAM,IAAI,eAAe,CAAC,kBAAkB,EAAE,iBAAiB,CAAC,CAAC;YACjF,gBAAgB,EAAE,CAAC;YACnB,MAAM,OAAO,GAAwB,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,aAAa,EAAE,CAAC;YAC/E,IAAI,IAAI,CAAC,WAAW;gBAAE,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;YAC7D,IAAI,IAAI,CAAC,OAAO;gBAAE,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;YACjD,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC;YACpE,MAAM,KAAK,GAAG,MAAM,CAAE,MAAc,CAAC,MAAM,IAAK,MAAc,CAAC,MAAM,EAAE,MAAM,IAAI,EAAE,CAAC,CAAC;YACrF,IAAI,KAAK,IAAI,IAAI,CAAC,SAAS,KAAK,KAAK,EAAE,CAAC;gBACtC,MAAM,MAAM,CAAC,YAAY,CAAC,gBAAgB,EAAE,KAAK,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;gBACzE,OAAO,EAAE,MAAM,EAAE,sBAAsB,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,EAAE,CAAC;YACvF,CAAC;YACD,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,EAAE,CAAC;QAC1E,CAAC;QAED,KAAK,mBAAmB,CAAC,CAAC,CAAC;YACzB,IAAI,CAAC,IAAI,CAAC,MAAM;gBAAE,MAAM,IAAI,eAAe,CAAC,oBAAoB,EAAE,iBAAiB,CAAC,CAAC;YACrF,gBAAgB,EAAE,CAAC;YACnB,gFAAgF;YAChF,gFAAgF;YAChF,qFAAqF;YACrF,4DAA4D;YAC5D,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC;gBACzC,KAAK,EAAE,qBAAqB;gBAC5B,KAAK,EAAE,oDAAoD;gBAC3D,MAAM,EAAE,QAAQ;gBAChB,KAAK,EAAE,CAAC;aACT,CAAC,CAAC;YACH,MAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,MAA4B,CAAC;YACnE,IAAI,MAAM,EAAE,CAAC;gBACX,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,qBAAqB,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;gBAChG,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC;YACpF,CAAC;YACD,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,kCAAkC,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;YACnI,MAAM,MAAM,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,MAA4B,CAAC;YAC7D,IAAI,CAAC,MAAM;gBAAE,MAAM,IAAI,eAAe,CAAC,6DAA6D,EAAE,WAAW,CAAC,CAAC;YACnH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,qBAAqB,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;YAC9I,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC;QAChE,CAAC;QAED,KAAK,qBAAqB,CAAC,CAAC,CAAC;YAC3B,IAAI,CAAC,IAAI,CAAC,MAAM;gBAAE,MAAM,IAAI,eAAe,CAAC,oBAAoB,EAAE,iBAAiB,CAAC,CAAC;YACrF,gBAAgB,EAAE,CAAC;YACnB,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,gBAAgB,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC;YAC/F,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC;QACjE,CAAC;QAED,KAAK,oBAAoB,CAAC,CAAC,CAAC;YAC1B,IAAI,CAAC,IAAI,CAAC,MAAM;gBAAE,MAAM,IAAI,eAAe,CAAC,oBAAoB,EAAE,iBAAiB,CAAC,CAAC;YACrF,kDAAkD;YAClD,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC;gBACrC,KAAK,EAAE,gBAAgB;gBACvB,KAAK,EAAE,cAAc,IAAI,CAAC,MAAM,EAAE;gBAClC,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,GAAG;gBACxB,MAAM,EAAE,gDAAgD;aACzD,CAAC,CAAC;YACH,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,gBAAgB,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;YACxE,OAAO;gBACL,UAAU,EAAE,SAAS;gBACrB,YAAY,EAAE,IAAI,CAAC,KAAK;gBACxB,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC;oBACrC,MAAM,EAAE,CAAC,CAAC,MAAM;oBAChB,IAAI,EAAE,CAAC,CAAC,IAAI;oBACZ,IAAI,EAAE,CAAC,CAAC,IAAI;oBACZ,MAAM,EAAE,CAAC,CAAC,MAAM;oBAChB,OAAO,EAAE,CAAC,CAAC,cAAc;iBAC1B,CAAC,CAAC;aACJ,CAAC;QACJ,CAAC;QAED,KAAK,mBAAmB,CAAC,CAAC,CAAC;YACzB,IAAI,CAAC,IAAI,CAAC,MAAM;gBAAE,MAAM,IAAI,eAAe,CAAC,oBAAoB,EAAE,iBAAiB,CAAC,CAAC;YACrF,gBAAgB,EAAE,CAAC;YACnB,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,gBAAgB,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;YACxE,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC;gBAC3C,KAAK,EAAE,gBAAgB;gBACvB,KAAK,EAAE,cAAc,IAAI,CAAC,MAAM,EAAE;gBAClC,KAAK,EAAE,GAAG;gBACV,MAAM,EAAE,iCAAiC;aAC1C,CAAC,CAAC;YACH,OAAO;gBACL,eAAe,EAAG,SAAiB,CAAC,IAAI;gBACxC,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,YAAY,EAAE,UAAU,CAAC,KAAK;gBAC9B,IAAI,EAAE,oIAAoI;gBAC1I,eAAe,EAAE,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;aACxG,CAAC;QACJ,CAAC;QAED,KAAK,0BAA0B,CAAC,CAAC,CAAC;YAChC,gBAAgB,EAAE,CAAC;YACnB,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC;gBACrC,KAAK,EAAE,gBAAgB;gBACvB,KAAK,EAAE,mBAAmB;gBAC1B,KAAK,EAAE,CAAC;gBACR,MAAM,EAAE,aAAa;aACtB,CAAC,CAAC;YACH,IAAI,IAAI,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC;gBACnB,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;YACnE,CAAC;YACD,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,IAAI,yBAAyB,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;YAC1G,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,gBAAgB,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;YAC3H,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,IAAI,EAAE,WAAW,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC;QAC5E,CAAC;QAED;YACE,OAAO,IAAI,CAAC;IAChB,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"updateset.js","sourceRoot":"","sources":["../../src/tools/updateset.ts"],"names":[],"mappings":"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"}
@@ -67,6 +67,22 @@
67
67
  ]
68
68
  }
69
69
  },
70
+ {
71
+ "name": "get_mandatory_fields",
72
+ "description": "List the fields that ServiceNow Data Policies make mandatory on a table (and when they apply). Call this before creating or updating a record so you can collect the required fields up front and avoid a \"Data Policy Exception: the following fields are mandatory\" error.",
73
+ "inputSchema": {
74
+ "type": "object",
75
+ "properties": {
76
+ "table": {
77
+ "type": "string",
78
+ "description": "Table name (e.g. \"incident\")"
79
+ }
80
+ },
81
+ "required": [
82
+ "table"
83
+ ]
84
+ }
85
+ },
70
86
  {
71
87
  "name": "get_record",
72
88
  "description": "Retrieve complete details of a specific record by sys_id",
@@ -7710,6 +7726,56 @@
7710
7726
  ]
7711
7727
  }
7712
7728
  },
7729
+ {
7730
+ "name": "read_attachment",
7731
+ "description": "Read an existing ServiceNow attachment and return its text content, server-side. Works for text formats (txt, csv, json, xml, html, md, log). Binary formats (PDF, DOCX, images) return metadata plus a note. Use this to summarise or draft from a file already in ServiceNow.",
7732
+ "inputSchema": {
7733
+ "type": "object",
7734
+ "properties": {
7735
+ "attachment_sys_id": {
7736
+ "type": "string",
7737
+ "description": "sys_id of the attachment to read"
7738
+ },
7739
+ "max_chars": {
7740
+ "type": "number",
7741
+ "description": "Max characters of text to return (default 200000)"
7742
+ }
7743
+ },
7744
+ "required": [
7745
+ "attachment_sys_id"
7746
+ ]
7747
+ }
7748
+ },
7749
+ {
7750
+ "name": "copy_attachment",
7751
+ "description": "Copy an existing ServiceNow attachment onto another record, entirely server-side (requires WRITE_ENABLED=true). The file bytes never pass through this tool call. Ideal for \"attach the same document from this record onto that KB / incident\".",
7752
+ "inputSchema": {
7753
+ "type": "object",
7754
+ "properties": {
7755
+ "attachment_sys_id": {
7756
+ "type": "string",
7757
+ "description": "sys_id of the source attachment to copy"
7758
+ },
7759
+ "target_table": {
7760
+ "type": "string",
7761
+ "description": "Table to copy the attachment to (e.g. \"kb_knowledge\")"
7762
+ },
7763
+ "target_record_sys_id": {
7764
+ "type": "string",
7765
+ "description": "sys_id of the target record"
7766
+ },
7767
+ "file_name": {
7768
+ "type": "string",
7769
+ "description": "Optional new file name (defaults to the source name)"
7770
+ }
7771
+ },
7772
+ "required": [
7773
+ "attachment_sys_id",
7774
+ "target_table",
7775
+ "target_record_sys_id"
7776
+ ]
7777
+ }
7778
+ },
7713
7779
  {
7714
7780
  "name": "delete_attachment",
7715
7781
  "description": "Delete an attachment from a record (requires WRITE_ENABLED=true)",
@@ -7728,13 +7794,13 @@
7728
7794
  },
7729
7795
  {
7730
7796
  "name": "upload_attachment",
7731
- "description": "Upload a base64-encoded attachment to a ServiceNow record (requires WRITE_ENABLED=true). Useful for adding files, screenshots, or documents to incidents, changes, etc.",
7797
+ "description": "Attach a file to a ServiceNow record (requires WRITE_ENABLED=true). Provide EITHER source_url (recommended) OR content_base64. source_url has the server fetch the file directly, so large files never pass through this tool call; content_base64 is only reliable for small files (a few hundred KB) and is rejected above ~4MB.",
7732
7798
  "inputSchema": {
7733
7799
  "type": "object",
7734
7800
  "properties": {
7735
7801
  "table": {
7736
7802
  "type": "string",
7737
- "description": "Table name (e.g. \"incident\")"
7803
+ "description": "Table name (e.g. \"incident\", \"kb_knowledge\")"
7738
7804
  },
7739
7805
  "record_sys_id": {
7740
7806
  "type": "string",
@@ -7746,19 +7812,25 @@
7746
7812
  },
7747
7813
  "content_type": {
7748
7814
  "type": "string",
7749
- "description": "MIME type (e.g. \"image/png\", \"application/pdf\", \"text/plain\", \"application/json\")"
7815
+ "description": "MIME type (e.g. \"image/png\", \"application/pdf\"). Optional when source_url is used (inferred from the response or file extension)."
7816
+ },
7817
+ "source_url": {
7818
+ "type": "string",
7819
+ "description": "PREFERRED. http(s) URL the server fetches the file from and attaches directly. Use this for anything larger than a few hundred KB. Bytes never travel through this tool call."
7820
+ },
7821
+ "source_auth_header": {
7822
+ "type": "string",
7823
+ "description": "Optional Authorization header value sent when fetching source_url (e.g. \"Bearer <token>\" or \"Basic <creds>\") for any protected URL that requires authentication."
7750
7824
  },
7751
7825
  "content_base64": {
7752
7826
  "type": "string",
7753
- "description": "Base64-encoded file content (use standard base64 encoding)"
7827
+ "description": "Base64-encoded file content. Only for small files. Use source_url for anything larger."
7754
7828
  }
7755
7829
  },
7756
7830
  "required": [
7757
7831
  "table",
7758
7832
  "record_sys_id",
7759
- "file_name",
7760
- "content_type",
7761
- "content_base64"
7833
+ "file_name"
7762
7834
  ]
7763
7835
  }
7764
7836
  },
@@ -9268,7 +9340,7 @@
9268
9340
  },
9269
9341
  {
9270
9342
  "name": "create_scoped_app",
9271
- "description": "Create a new scoped application in App Studio (requires WRITE_ENABLED=true). The scope prefix must be unique and follow the pattern x_<vendor>_<appname>.",
9343
+ "description": "Create a new scoped application in App Studio (requires WRITE_ENABLED=true). The scope follows x_<vendor>_<appname>, where <vendor> is the instance's REGISTERED vendor prefix (glide.appcreator.company.code), not an arbitrary value. Leave scope blank to auto-derive it from the instance vendor prefix + app name; if you pass a scope whose vendor segment differs from the instance prefix, it is corrected to the registered one.",
9272
9344
  "inputSchema": {
9273
9345
  "type": "object",
9274
9346
  "properties": {
@@ -9278,7 +9350,7 @@
9278
9350
  },
9279
9351
  "scope": {
9280
9352
  "type": "string",
9281
- "description": "Unique scope prefix, e.g. \"x_myco_myapp\". Must start with \"x_\"."
9353
+ "description": "Optional. Scope like \"x_<instanceVendor>_myapp\". If omitted, derived from the instance vendor prefix + app name. Must start with \"x_\"."
9282
9354
  },
9283
9355
  "version": {
9284
9356
  "type": "string",
@@ -9306,8 +9378,7 @@
9306
9378
  }
9307
9379
  },
9308
9380
  "required": [
9309
- "name",
9310
- "scope"
9381
+ "name"
9311
9382
  ]
9312
9383
  }
9313
9384
  },
package/package.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "name": "nowaikit",
3
3
  "mcpName": "io.github.aartiq/nowaikit",
4
- "version": "4.12.0",
5
- "description": "The most comprehensive ServiceNow AI toolkit. 450+ MCP tools plus 26 AI capabilities (scan, review, build, ops, docs) plus direct BYOK mode. Integrates with Claude, ChatGPT, Gemini, Cursor, GitHub Copilot and any LLM.",
4
+ "version": "4.15.0",
5
+ "description": "The most comprehensive ServiceNow AI toolkit, including a full ServiceNow MCP server: 450+ MCP tools plus 26 AI capabilities (scan, review, build, ops, docs) and a direct BYOK mode. Works with Claude, ChatGPT, Gemini, Cursor, GitHub Copilot and any LLM.",
6
6
  "main": "dist/server.js",
7
7
  "types": "dist/server.d.ts",
8
8
  "exports": {