nowaikit 4.11.0 → 4.12.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 (77) hide show
  1. package/desktop/renderer/dist/assets/index-DIXajM0H.js +55 -0
  2. package/desktop/renderer/dist/index.html +1 -1
  3. package/dist/cli/config-store.d.ts +1 -1
  4. package/dist/cli/config-store.d.ts.map +1 -1
  5. package/dist/cli/detect-clients.d.ts +1 -1
  6. package/dist/cli/detect-clients.d.ts.map +1 -1
  7. package/dist/cli/detect-clients.js +56 -12
  8. package/dist/cli/detect-clients.js.map +1 -1
  9. package/dist/cli/setup.js +2 -2
  10. package/dist/cli/setup.js.map +1 -1
  11. package/dist/cli/writers/index.d.ts.map +1 -1
  12. package/dist/cli/writers/index.js +20 -0
  13. package/dist/cli/writers/index.js.map +1 -1
  14. package/dist/direct/llm-client.js +2 -2
  15. package/dist/direct/llm-client.js.map +1 -1
  16. package/dist/server.d.ts.map +1 -1
  17. package/dist/server.js +2 -1
  18. package/dist/server.js.map +1 -1
  19. package/dist/servicenow/client.d.ts +12 -0
  20. package/dist/servicenow/client.d.ts.map +1 -1
  21. package/dist/servicenow/client.js +54 -0
  22. package/dist/servicenow/client.js.map +1 -1
  23. package/dist/tools/access-admin.d.ts +162 -0
  24. package/dist/tools/access-admin.d.ts.map +1 -0
  25. package/dist/tools/access-admin.js +216 -0
  26. package/dist/tools/access-admin.js.map +1 -0
  27. package/dist/tools/ai-agent-exec.d.ts +70 -0
  28. package/dist/tools/ai-agent-exec.d.ts.map +1 -0
  29. package/dist/tools/ai-agent-exec.js +73 -0
  30. package/dist/tools/ai-agent-exec.js.map +1 -0
  31. package/dist/tools/approvals-extra.d.ts +202 -0
  32. package/dist/tools/approvals-extra.d.ts.map +1 -0
  33. package/dist/tools/approvals-extra.js +212 -0
  34. package/dist/tools/approvals-extra.js.map +1 -0
  35. package/dist/tools/catalog-fulfillment.d.ts +349 -0
  36. package/dist/tools/catalog-fulfillment.d.ts.map +1 -0
  37. package/dist/tools/catalog-fulfillment.js +222 -0
  38. package/dist/tools/catalog-fulfillment.js.map +1 -0
  39. package/dist/tools/grc-extra.d.ts +149 -0
  40. package/dist/tools/grc-extra.d.ts.map +1 -0
  41. package/dist/tools/grc-extra.js +115 -0
  42. package/dist/tools/grc-extra.js.map +1 -0
  43. package/dist/tools/index.d.ts +1600 -107
  44. package/dist/tools/index.d.ts.map +1 -1
  45. package/dist/tools/index.js +38 -0
  46. package/dist/tools/index.js.map +1 -1
  47. package/dist/tools/oncall.d.ts +165 -0
  48. package/dist/tools/oncall.d.ts.map +1 -0
  49. package/dist/tools/oncall.js +155 -0
  50. package/dist/tools/oncall.js.map +1 -0
  51. package/dist/tools/platform-ops.d.ts +156 -0
  52. package/dist/tools/platform-ops.d.ts.map +1 -0
  53. package/dist/tools/platform-ops.js +141 -0
  54. package/dist/tools/platform-ops.js.map +1 -0
  55. package/dist/tools/service-mapping.d.ts +108 -0
  56. package/dist/tools/service-mapping.d.ts.map +1 -0
  57. package/dist/tools/service-mapping.js +144 -0
  58. package/dist/tools/service-mapping.js.map +1 -0
  59. package/dist/tools/service-portfolio.d.ts +93 -0
  60. package/dist/tools/service-portfolio.d.ts.map +1 -0
  61. package/dist/tools/service-portfolio.js +86 -0
  62. package/dist/tools/service-portfolio.js.map +1 -0
  63. package/dist/tools/sla.d.ts +222 -0
  64. package/dist/tools/sla.d.ts.map +1 -0
  65. package/dist/tools/sla.js +160 -0
  66. package/dist/tools/sla.js.map +1 -0
  67. package/dist/tools/sn-parity.d.ts +239 -0
  68. package/dist/tools/sn-parity.d.ts.map +1 -0
  69. package/dist/tools/sn-parity.js +236 -0
  70. package/dist/tools/sn-parity.js.map +1 -0
  71. package/dist/tools/survey.d.ts +140 -0
  72. package/dist/tools/survey.d.ts.map +1 -0
  73. package/dist/tools/survey.js +118 -0
  74. package/dist/tools/survey.js.map +1 -0
  75. package/dist/tools-manifest.json +1537 -0
  76. package/package.json +15 -8
  77. package/desktop/renderer/dist/assets/index-BQ4P9VJR.js +0 -49
@@ -0,0 +1,239 @@
1
+ /**
2
+ * Parity tools closing the remaining gaps vs ServiceNow's first-party MCP servers
3
+ * (HRSD, CSM, Quickstart summarization, Now Assist skills) plus a server health check.
4
+ *
5
+ * Two kinds of tools:
6
+ * - Pure REST (work on any instance): list_csm_case_tasks, advance_hr_case,
7
+ * search_hr_knowledge, mcp_health_check.
8
+ * - Now Assist skill-backed (light up when Now Assist is licensed; otherwise they still
9
+ * return the assembled record context so the connected LLM can do the reasoning — this
10
+ * is deliberately better than ServiceNow, which hard-requires Now Assist): summarize_record,
11
+ * get_case_sentiment, generate_case_activity_response, generate_csm_resolution_notes,
12
+ * check_hr_eligibility.
13
+ */
14
+ import type { ServiceNowClient } from '../servicenow/client.js';
15
+ export declare function getSnParityToolDefinitions(): ({
16
+ name: string;
17
+ description: string;
18
+ inputSchema: {
19
+ type: string;
20
+ properties: {
21
+ case: {
22
+ type: string;
23
+ description: string;
24
+ };
25
+ active: {
26
+ type: string;
27
+ description: string;
28
+ };
29
+ limit: {
30
+ type: string;
31
+ description: string;
32
+ };
33
+ state?: undefined;
34
+ work_notes?: undefined;
35
+ query?: undefined;
36
+ kb?: undefined;
37
+ table?: undefined;
38
+ record?: undefined;
39
+ instruction?: undefined;
40
+ user?: undefined;
41
+ hr_service?: undefined;
42
+ };
43
+ required: string[];
44
+ };
45
+ } | {
46
+ name: string;
47
+ description: string;
48
+ inputSchema: {
49
+ type: string;
50
+ properties: {
51
+ case: {
52
+ type: string;
53
+ description: string;
54
+ };
55
+ state: {
56
+ type: string;
57
+ description: string;
58
+ };
59
+ work_notes: {
60
+ type: string;
61
+ description: string;
62
+ };
63
+ active?: undefined;
64
+ limit?: undefined;
65
+ query?: undefined;
66
+ kb?: undefined;
67
+ table?: undefined;
68
+ record?: undefined;
69
+ instruction?: undefined;
70
+ user?: undefined;
71
+ hr_service?: undefined;
72
+ };
73
+ required: string[];
74
+ };
75
+ } | {
76
+ name: string;
77
+ description: string;
78
+ inputSchema: {
79
+ type: string;
80
+ properties: {
81
+ query: {
82
+ type: string;
83
+ description: string;
84
+ };
85
+ kb: {
86
+ type: string;
87
+ description: string;
88
+ };
89
+ limit: {
90
+ type: string;
91
+ description: string;
92
+ };
93
+ case?: undefined;
94
+ active?: undefined;
95
+ state?: undefined;
96
+ work_notes?: undefined;
97
+ table?: undefined;
98
+ record?: undefined;
99
+ instruction?: undefined;
100
+ user?: undefined;
101
+ hr_service?: undefined;
102
+ };
103
+ required: string[];
104
+ };
105
+ } | {
106
+ name: string;
107
+ description: string;
108
+ inputSchema: {
109
+ type: string;
110
+ properties: {
111
+ case?: undefined;
112
+ active?: undefined;
113
+ limit?: undefined;
114
+ state?: undefined;
115
+ work_notes?: undefined;
116
+ query?: undefined;
117
+ kb?: undefined;
118
+ table?: undefined;
119
+ record?: undefined;
120
+ instruction?: undefined;
121
+ user?: undefined;
122
+ hr_service?: undefined;
123
+ };
124
+ required: never[];
125
+ };
126
+ } | {
127
+ name: string;
128
+ description: string;
129
+ inputSchema: {
130
+ type: string;
131
+ properties: {
132
+ table: {
133
+ type: string;
134
+ description: string;
135
+ };
136
+ record: {
137
+ type: string;
138
+ description: string;
139
+ };
140
+ case?: undefined;
141
+ active?: undefined;
142
+ limit?: undefined;
143
+ state?: undefined;
144
+ work_notes?: undefined;
145
+ query?: undefined;
146
+ kb?: undefined;
147
+ instruction?: undefined;
148
+ user?: undefined;
149
+ hr_service?: undefined;
150
+ };
151
+ required: string[];
152
+ };
153
+ } | {
154
+ name: string;
155
+ description: string;
156
+ inputSchema: {
157
+ type: string;
158
+ properties: {
159
+ case: {
160
+ type: string;
161
+ description: string;
162
+ };
163
+ table: {
164
+ type: string;
165
+ description: string;
166
+ };
167
+ active?: undefined;
168
+ limit?: undefined;
169
+ state?: undefined;
170
+ work_notes?: undefined;
171
+ query?: undefined;
172
+ kb?: undefined;
173
+ record?: undefined;
174
+ instruction?: undefined;
175
+ user?: undefined;
176
+ hr_service?: undefined;
177
+ };
178
+ required: string[];
179
+ };
180
+ } | {
181
+ name: string;
182
+ description: string;
183
+ inputSchema: {
184
+ type: string;
185
+ properties: {
186
+ case: {
187
+ type: string;
188
+ description: string;
189
+ };
190
+ table: {
191
+ type: string;
192
+ description: string;
193
+ };
194
+ instruction: {
195
+ type: string;
196
+ description: string;
197
+ };
198
+ active?: undefined;
199
+ limit?: undefined;
200
+ state?: undefined;
201
+ work_notes?: undefined;
202
+ query?: undefined;
203
+ kb?: undefined;
204
+ record?: undefined;
205
+ user?: undefined;
206
+ hr_service?: undefined;
207
+ };
208
+ required: string[];
209
+ };
210
+ } | {
211
+ name: string;
212
+ description: string;
213
+ inputSchema: {
214
+ type: string;
215
+ properties: {
216
+ user: {
217
+ type: string;
218
+ description: string;
219
+ };
220
+ hr_service: {
221
+ type: string;
222
+ description: string;
223
+ };
224
+ case?: undefined;
225
+ active?: undefined;
226
+ limit?: undefined;
227
+ state?: undefined;
228
+ work_notes?: undefined;
229
+ query?: undefined;
230
+ kb?: undefined;
231
+ table?: undefined;
232
+ record?: undefined;
233
+ instruction?: undefined;
234
+ };
235
+ required: string[];
236
+ };
237
+ })[];
238
+ export declare function executeSnParityToolCall(client: ServiceNowClient, name: string, args: Record<string, any>): Promise<any>;
239
+ //# sourceMappingURL=sn-parity.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sn-parity.d.ts","sourceRoot":"","sources":["../../src/tools/sn-parity.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAoChE,wBAAgB,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KA4GzC;AAED,wBAAsB,uBAAuB,CAC3C,MAAM,EAAE,gBAAgB,EACxB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GACxB,OAAO,CAAC,GAAG,CAAC,CAkFd"}
@@ -0,0 +1,236 @@
1
+ import { ServiceNowError } from '../utils/errors.js';
2
+ import { requireWrite } from '../utils/permissions.js';
3
+ /** Best-effort Now Assist skill invocation by (partial) name. Returns null if unavailable. */
4
+ async function tryInvokeSkill(client, skillName, input) {
5
+ try {
6
+ const found = await client.queryRecords({ table: 'sn_now_assist_skill', query: `nameCONTAINS${skillName}^active=true`, limit: 1 });
7
+ if (found.count === 0)
8
+ return null;
9
+ const skillId = found.records[0].sys_id;
10
+ const res = await client.callNowAssist('/api/sn_assist/skill/invoke', { skill: skillId, input });
11
+ return { skill: found.records[0].name, output: res };
12
+ }
13
+ catch {
14
+ return null;
15
+ }
16
+ }
17
+ /** Pull a task record + its journal (comments/work notes) for AI context assembly. */
18
+ async function recordContext(client, table, sysId) {
19
+ const record = await client.getRecord(table, sysId);
20
+ const journal = await client.queryRecords({
21
+ table: 'sys_journal_field',
22
+ query: `element_id=${sysId}^ORDERBYsys_created_on`,
23
+ fields: 'element,value,sys_created_by,sys_created_on',
24
+ limit: 100,
25
+ }).catch(() => ({ records: [] }));
26
+ return { record, activity: journal.records };
27
+ }
28
+ async function resolveCase(client, table, ref) {
29
+ if (/^[0-9a-f]{32}$/i.test(ref))
30
+ return ref;
31
+ const r = await client.queryRecords({ table, query: `number=${ref}`, limit: 1 });
32
+ if (r.count === 0)
33
+ throw new ServiceNowError(`Record not found: ${ref}`, 'NOT_FOUND');
34
+ return r.records[0].sys_id;
35
+ }
36
+ export function getSnParityToolDefinitions() {
37
+ return [
38
+ {
39
+ name: 'list_csm_case_tasks',
40
+ description: 'List the tasks on a CSM case (sn_customerservice_task). Parity with ServiceNow CSM "Get Case Tasks"',
41
+ inputSchema: {
42
+ type: 'object',
43
+ properties: {
44
+ case: { type: 'string', description: 'CSM case number or sys_id' },
45
+ active: { type: 'boolean', description: 'Only active tasks' },
46
+ limit: { type: 'number', description: 'Max records (default 50)' },
47
+ },
48
+ required: ['case'],
49
+ },
50
+ },
51
+ {
52
+ name: 'advance_hr_case',
53
+ description: 'Advance an HR case to its next state/stage (sn_hr_core_case). Parity with ServiceNow HRSD "HR Case Advance". Requires WRITE_ENABLED=true',
54
+ inputSchema: {
55
+ type: 'object',
56
+ properties: {
57
+ case: { type: 'string', description: 'HR case number or sys_id' },
58
+ state: { type: 'string', description: 'Target state value (if known); otherwise increments the current state' },
59
+ work_notes: { type: 'string', description: 'Optional work note to add on advance' },
60
+ },
61
+ required: ['case'],
62
+ },
63
+ },
64
+ {
65
+ name: 'search_hr_knowledge',
66
+ description: 'Search HR-scoped knowledge articles (kb_knowledge in HR knowledge bases). Parity with ServiceNow HRSD "HR Knowledge Search"',
67
+ inputSchema: {
68
+ type: 'object',
69
+ properties: {
70
+ query: { type: 'string', description: 'Search text' },
71
+ kb: { type: 'string', description: 'Optional specific HR knowledge base sys_id' },
72
+ limit: { type: 'number', description: 'Max records (default 20)' },
73
+ },
74
+ required: ['query'],
75
+ },
76
+ },
77
+ {
78
+ name: 'mcp_health_check',
79
+ description: 'Health check: confirm the instance is reachable and the configured credentials resolve to a valid user. Parity with ServiceNow MCP "Health Check"',
80
+ inputSchema: { type: 'object', properties: {}, required: [] },
81
+ },
82
+ {
83
+ name: 'summarize_record',
84
+ description: 'Summarize a record (incident/case/etc.) using the Now Assist summarization skill when available, otherwise return the assembled record + activity for the caller to summarize. Parity with ServiceNow Quickstart incident/case summarization',
85
+ inputSchema: {
86
+ type: 'object',
87
+ properties: {
88
+ table: { type: 'string', description: 'Table (e.g. incident, sn_customerservice_case, sn_hr_core_case)' },
89
+ record: { type: 'string', description: 'Record number or sys_id' },
90
+ },
91
+ required: ['table', 'record'],
92
+ },
93
+ },
94
+ {
95
+ name: 'get_case_sentiment',
96
+ description: 'Assess customer sentiment on a CSM case via the Now Assist sentiment skill when available, else return the case + customer comments for sentiment analysis. Parity with ServiceNow CSM "Sentiment Analysis"',
97
+ inputSchema: {
98
+ type: 'object',
99
+ properties: {
100
+ case: { type: 'string', description: 'CSM case number or sys_id' },
101
+ table: { type: 'string', description: 'Case table (default sn_customerservice_case)' },
102
+ },
103
+ required: ['case'],
104
+ },
105
+ },
106
+ {
107
+ name: 'generate_case_activity_response',
108
+ description: 'Draft an agent reply for a CSM case activity stream via the Now Assist activity-response skill when available, else return the case context to draft from. Parity with ServiceNow CSM "Activity Response"',
109
+ inputSchema: {
110
+ type: 'object',
111
+ properties: {
112
+ case: { type: 'string', description: 'CSM case number or sys_id' },
113
+ table: { type: 'string', description: 'Case table (default sn_customerservice_case)' },
114
+ instruction: { type: 'string', description: 'Optional tone/instruction for the reply' },
115
+ },
116
+ required: ['case'],
117
+ },
118
+ },
119
+ {
120
+ name: 'generate_csm_resolution_notes',
121
+ description: 'Generate CSM resolution notes via the Now Assist resolution-notes skill when available, else return the case + work notes to summarize. Parity with ServiceNow CSM "Generate Resolution Notes"',
122
+ inputSchema: {
123
+ type: 'object',
124
+ properties: {
125
+ case: { type: 'string', description: 'CSM case number or sys_id' },
126
+ table: { type: 'string', description: 'Case table (default sn_customerservice_case)' },
127
+ },
128
+ required: ['case'],
129
+ },
130
+ },
131
+ {
132
+ name: 'check_hr_eligibility',
133
+ description: 'Check an employee\'s eligibility for an HR service/policy via the Policy Based HR Case Evaluator skill when available, else return the employee + service context. Parity with ServiceNow HRSD "HR Eligibility Check"',
134
+ inputSchema: {
135
+ type: 'object',
136
+ properties: {
137
+ user: { type: 'string', description: 'Employee sys_id, user_name, or email' },
138
+ hr_service: { type: 'string', description: 'HR service sys_id or name to check eligibility for' },
139
+ },
140
+ required: ['user', 'hr_service'],
141
+ },
142
+ },
143
+ ];
144
+ }
145
+ export async function executeSnParityToolCall(client, name, args) {
146
+ switch (name) {
147
+ case 'list_csm_case_tasks': {
148
+ const caseId = await resolveCase(client, 'sn_customerservice_case', args.case);
149
+ const parts = [`parent=${caseId}`];
150
+ if (args.active !== undefined)
151
+ parts.push(`active=${args.active ? 'true' : 'false'}`);
152
+ return await client.queryRecords({ table: 'sn_customerservice_task', query: parts.join('^'), limit: args.limit ?? 50 });
153
+ }
154
+ case 'advance_hr_case': {
155
+ requireWrite();
156
+ const caseId = await resolveCase(client, 'sn_hr_core_case', args.case);
157
+ const payload = {};
158
+ if (args.state !== undefined) {
159
+ payload.state = args.state;
160
+ }
161
+ else {
162
+ const cur = await client.getRecord('sn_hr_core_case', caseId);
163
+ const curState = parseInt(String(cur.state?.value ?? cur.state ?? '1'), 10);
164
+ payload.state = String(isNaN(curState) ? 1 : curState + 1);
165
+ }
166
+ if (args.work_notes)
167
+ payload.work_notes = args.work_notes;
168
+ const result = await client.updateRecord('sn_hr_core_case', caseId, payload);
169
+ return { ...result, summary: `Advanced HR case ${args.case} to state ${payload.state}` };
170
+ }
171
+ case 'search_hr_knowledge': {
172
+ if (!args.query)
173
+ throw new ServiceNowError('query is required', 'INVALID_REQUEST');
174
+ const parts = [`workflow_state=published`, `short_descriptionLIKE${args.query}^ORtextLIKE${args.query}`];
175
+ if (args.kb)
176
+ parts.push(`kb_knowledge_base=${args.kb}`);
177
+ else
178
+ parts.push('kb_knowledge_base.titleLIKEHR^ORkb_knowledge_base.titleLIKEHuman Resources');
179
+ return await client.queryRecords({
180
+ table: 'kb_knowledge',
181
+ query: parts.join('^'),
182
+ fields: 'number,short_description,kb_knowledge_base,kb_knowledge_base.title,workflow_state,sys_id',
183
+ limit: args.limit ?? 20,
184
+ });
185
+ }
186
+ case 'mcp_health_check': {
187
+ try {
188
+ const user = await client.getCurrentUser();
189
+ return { ok: true, reachable: true, authenticated: true, user, note: 'Instance reachable and credentials resolve to a valid user.' };
190
+ }
191
+ catch (e) {
192
+ return { ok: false, reachable: true, authenticated: false, error: e instanceof Error ? e.message : String(e), note: 'Instance responded but the credentials did not authenticate. See the auth diagnostic in the error.' };
193
+ }
194
+ }
195
+ case 'summarize_record': {
196
+ const sysId = await resolveCase(client, args.table, args.record);
197
+ const ctx = await recordContext(client, args.table, sysId);
198
+ const skill = await tryInvokeSkill(client, 'summariz', { table: args.table, sys_id: sysId });
199
+ return { table: args.table, sys_id: sysId, ...ctx, now_assist: skill, note: skill ? 'Now Assist summary included.' : 'Now Assist summarization skill not found; summarize from the returned record + activity.' };
200
+ }
201
+ case 'get_case_sentiment': {
202
+ const table = args.table || 'sn_customerservice_case';
203
+ const sysId = await resolveCase(client, table, args.case);
204
+ const ctx = await recordContext(client, table, sysId);
205
+ const skill = await tryInvokeSkill(client, 'sentiment', { table, sys_id: sysId });
206
+ return { table, sys_id: sysId, ...ctx, now_assist: skill, note: skill ? 'Now Assist sentiment included.' : 'Now Assist sentiment skill not found; assess sentiment from the returned comments/activity.' };
207
+ }
208
+ case 'generate_case_activity_response': {
209
+ const table = args.table || 'sn_customerservice_case';
210
+ const sysId = await resolveCase(client, table, args.case);
211
+ const ctx = await recordContext(client, table, sysId);
212
+ const skill = await tryInvokeSkill(client, 'activity response', { table, sys_id: sysId, instruction: args.instruction });
213
+ return { table, sys_id: sysId, ...ctx, instruction: args.instruction, now_assist: skill, note: skill ? 'Now Assist draft included.' : 'Now Assist activity-response skill not found; draft a reply from the returned context.' };
214
+ }
215
+ case 'generate_csm_resolution_notes': {
216
+ const table = args.table || 'sn_customerservice_case';
217
+ const sysId = await resolveCase(client, table, args.case);
218
+ const ctx = await recordContext(client, table, sysId);
219
+ const skill = await tryInvokeSkill(client, 'resolution', { table, sys_id: sysId });
220
+ return { table, sys_id: sysId, ...ctx, now_assist: skill, note: skill ? 'Now Assist resolution notes included.' : 'Now Assist resolution-notes skill not found; draft resolution notes from the returned work notes/activity.' };
221
+ }
222
+ case 'check_hr_eligibility': {
223
+ const u = await client.queryRecords({ table: 'sys_user', query: `user_name=${args.user}^ORemail=${args.user}^ORsys_id=${args.user}`, limit: 1 });
224
+ if (u.count === 0)
225
+ throw new ServiceNowError(`User not found: ${args.user}`, 'NOT_FOUND');
226
+ const user = u.records[0];
227
+ const svc = await client.queryRecords({ table: 'sn_hr_core_service', query: `sys_id=${args.hr_service}^ORname=${args.hr_service}`, limit: 1 }).catch(() => ({ records: [], count: 0 }));
228
+ const service = svc.count ? svc.records[0] : { note: `HR service not resolved: ${args.hr_service}` };
229
+ const skill = await tryInvokeSkill(client, 'Case Evaluator', { user: user.sys_id, hr_service: args.hr_service });
230
+ return { user, hr_service: service, now_assist: skill, note: skill ? 'Policy Based HR Case Evaluator result included.' : 'Policy Based HR Case Evaluator skill not found; evaluate eligibility from the employee + HR service context.' };
231
+ }
232
+ default:
233
+ return null;
234
+ }
235
+ }
236
+ //# sourceMappingURL=sn-parity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sn-parity.js","sourceRoot":"","sources":["../../src/tools/sn-parity.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,140 @@
1
+ /**
2
+ * Surveys & Assessments (CSAT/experience). Read: Tier 0. Create/send: Tier 1.
3
+ *
4
+ * Tables:
5
+ * asmt_metric_type — survey/assessment definitions
6
+ * asmt_assessment_instance — issued survey/assessment instances
7
+ * asmt_assessment_instance_question — per-question responses/scores
8
+ */
9
+ import type { ServiceNowClient } from '../servicenow/client.js';
10
+ export declare function getSurveyToolDefinitions(): ({
11
+ name: string;
12
+ description: string;
13
+ inputSchema: {
14
+ type: string;
15
+ properties: {
16
+ name: {
17
+ type: string;
18
+ description: string;
19
+ };
20
+ description: {
21
+ type: string;
22
+ description: string;
23
+ };
24
+ type: {
25
+ type: string;
26
+ description: string;
27
+ };
28
+ fields: {
29
+ type: string;
30
+ description: string;
31
+ };
32
+ metric_type?: undefined;
33
+ user?: undefined;
34
+ trigger_id?: undefined;
35
+ trigger_table?: undefined;
36
+ instance?: undefined;
37
+ limit?: undefined;
38
+ state?: undefined;
39
+ };
40
+ required: string[];
41
+ };
42
+ } | {
43
+ name: string;
44
+ description: string;
45
+ inputSchema: {
46
+ type: string;
47
+ properties: {
48
+ metric_type: {
49
+ type: string;
50
+ description: string;
51
+ };
52
+ user: {
53
+ type: string;
54
+ description: string;
55
+ };
56
+ trigger_id: {
57
+ type: string;
58
+ description: string;
59
+ };
60
+ trigger_table: {
61
+ type: string;
62
+ description: string;
63
+ };
64
+ fields: {
65
+ type: string;
66
+ description: string;
67
+ };
68
+ name?: undefined;
69
+ description?: undefined;
70
+ type?: undefined;
71
+ instance?: undefined;
72
+ limit?: undefined;
73
+ state?: undefined;
74
+ };
75
+ required: string[];
76
+ };
77
+ } | {
78
+ name: string;
79
+ description: string;
80
+ inputSchema: {
81
+ type: string;
82
+ properties: {
83
+ instance: {
84
+ type: string;
85
+ description: string;
86
+ };
87
+ metric_type: {
88
+ type: string;
89
+ description: string;
90
+ };
91
+ limit: {
92
+ type: string;
93
+ description: string;
94
+ };
95
+ name?: undefined;
96
+ description?: undefined;
97
+ type?: undefined;
98
+ fields?: undefined;
99
+ user?: undefined;
100
+ trigger_id?: undefined;
101
+ trigger_table?: undefined;
102
+ state?: undefined;
103
+ };
104
+ required: never[];
105
+ };
106
+ } | {
107
+ name: string;
108
+ description: string;
109
+ inputSchema: {
110
+ type: string;
111
+ properties: {
112
+ state: {
113
+ type: string;
114
+ description: string;
115
+ };
116
+ user: {
117
+ type: string;
118
+ description: string;
119
+ };
120
+ metric_type: {
121
+ type: string;
122
+ description: string;
123
+ };
124
+ limit: {
125
+ type: string;
126
+ description: string;
127
+ };
128
+ name?: undefined;
129
+ description?: undefined;
130
+ type?: undefined;
131
+ fields?: undefined;
132
+ trigger_id?: undefined;
133
+ trigger_table?: undefined;
134
+ instance?: undefined;
135
+ };
136
+ required: never[];
137
+ };
138
+ })[];
139
+ export declare function executeSurveyToolCall(client: ServiceNowClient, name: string, args: Record<string, any>): Promise<any>;
140
+ //# sourceMappingURL=survey.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"survey.d.ts","sourceRoot":"","sources":["../../src/tools/survey.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAIhE,wBAAgB,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KA2DvC;AAED,wBAAsB,qBAAqB,CACzC,MAAM,EAAE,gBAAgB,EACxB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GACxB,OAAO,CAAC,GAAG,CAAC,CA0Cd"}