@wilnertech/halopsa-mcp-server 1.5.0 → 1.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.
- package/README.md +7 -0
- package/dist/api/client.d.ts +39 -0
- package/dist/api/client.d.ts.map +1 -1
- package/dist/api/client.js +50 -0
- package/dist/api/client.js.map +1 -1
- package/dist/api/errors.d.ts.map +1 -1
- package/dist/api/errors.js +1 -2
- package/dist/api/errors.js.map +1 -1
- package/dist/cache/memory-cache.d.ts.map +1 -1
- package/dist/cache/memory-cache.js +5 -0
- package/dist/cache/memory-cache.js.map +1 -1
- package/dist/cache/prewarm.d.ts +1 -0
- package/dist/cache/prewarm.d.ts.map +1 -1
- package/dist/cache/prewarm.js +8 -0
- package/dist/cache/prewarm.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +12 -4
- package/dist/index.js.map +1 -1
- package/dist/tools/batch-operations.js +10 -10
- package/dist/tools/batch-operations.js.map +1 -1
- package/dist/tools/registrations.d.ts +5 -1
- package/dist/tools/registrations.d.ts.map +1 -1
- package/dist/tools/registrations.js +7 -3
- package/dist/tools/registrations.js.map +1 -1
- package/dist/tools/ticket-actions.d.ts.map +1 -1
- package/dist/tools/ticket-actions.js +148 -45
- package/dist/tools/ticket-actions.js.map +1 -1
- package/dist/tools/ticket-reference-data.d.ts +28 -0
- package/dist/tools/ticket-reference-data.d.ts.map +1 -1
- package/dist/tools/ticket-reference-data.js +212 -19
- package/dist/tools/ticket-reference-data.js.map +1 -1
- package/dist/tools/tickets.d.ts +20 -0
- package/dist/tools/tickets.d.ts.map +1 -1
- package/dist/tools/tickets.js +275 -38
- package/dist/tools/tickets.js.map +1 -1
- package/dist/types/tickets.d.ts +64 -5
- package/dist/types/tickets.d.ts.map +1 -1
- package/dist/utils/formatter.d.ts +18 -0
- package/dist/utils/formatter.d.ts.map +1 -1
- package/dist/utils/formatter.js +108 -22
- package/dist/utils/formatter.js.map +1 -1
- package/package.json +1 -1
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
* with a single GET /Category call; no more hang.
|
|
20
20
|
*/
|
|
21
21
|
import { z } from 'zod';
|
|
22
|
-
import { formatResponse } from '../utils/formatter.js';
|
|
22
|
+
import { formatResponse, withCompactDefaults } from '../utils/formatter.js';
|
|
23
23
|
import { TTL } from '../cache/memory-cache.js';
|
|
24
24
|
import { FormatOptionsSchema } from '../schemas/common.js';
|
|
25
25
|
// =============================================================================
|
|
@@ -60,9 +60,14 @@ const ListTicketCategoriesArgsSchema = z.object({
|
|
|
60
60
|
});
|
|
61
61
|
const ListTicketOutcomesArgsSchema = z.object({
|
|
62
62
|
tickettype_id: z.number().int().optional()
|
|
63
|
-
.describe(
|
|
64
|
-
|
|
65
|
-
'/Outcome endpoint does not support
|
|
63
|
+
.describe('Optional. When supplied, fetches the ticket type (with includedetails=true) and filters ' +
|
|
64
|
+
'the global outcome list to the IDs in the tickettype\'s allowed_actions[] (documented ' +
|
|
65
|
+
'Halo field) or outcomes[] (legacy fallback). The /Outcome endpoint does not support ' +
|
|
66
|
+
'server-side tickettype filtering — scoping is client-side.'),
|
|
67
|
+
agent_id: z.number().int().positive().optional()
|
|
68
|
+
.describe('Optional. Accepted for future per-agent ACL filtering (access_control[], enduser_role_ids). ' +
|
|
69
|
+
'Current filter is tenant-global (actionvisibility boolean only): actionvisibility===false ' +
|
|
70
|
+
'outcomes are excluded. Outcomes with other ACL restrictions return without accessible field.'),
|
|
66
71
|
format_options: FormatOptionsSchema,
|
|
67
72
|
});
|
|
68
73
|
// =============================================================================
|
|
@@ -119,6 +124,32 @@ function unwrapList(response, preferredKey) {
|
|
|
119
124
|
const record_count = wrapped.record_count ?? items.length;
|
|
120
125
|
return { items, record_count };
|
|
121
126
|
}
|
|
127
|
+
/**
|
|
128
|
+
* Default compact fields for list_halopsa_ticket_categories.
|
|
129
|
+
* Ensures callers always see name and tickettype_id (type_id) in compact mode
|
|
130
|
+
* even though those fields are absent from the legacy compactItem() heuristic.
|
|
131
|
+
*
|
|
132
|
+
* Both 'name' and 'value' are included: Halo uses 'value' on some endpoints
|
|
133
|
+
* and 'name' on others depending on version. Both 'tickettype_id' and 'type_id'
|
|
134
|
+
* are included: the MCP uses tickettype_id while Halo uses type_id internally.
|
|
135
|
+
* Fields not present on the raw response are null-filled (Bug 7 null-fill).
|
|
136
|
+
*/
|
|
137
|
+
const CATEGORIES_COMPACT_DEFAULTS = [
|
|
138
|
+
'id', 'name', 'value', 'type_id', 'tickettype_id',
|
|
139
|
+
];
|
|
140
|
+
/**
|
|
141
|
+
* Default compact fields for list_halopsa_ticket_outcomes.
|
|
142
|
+
* NOTE: `accessible` is intentionally NOT in this list. S2 fix: `accessible` is
|
|
143
|
+
* only attached to a row when it is deterministically true or false (i.e., when
|
|
144
|
+
* ACL filtering was actually applied). Including it here would cause filterFields()
|
|
145
|
+
* to null-fill rows where it should be absent, defeating the honest-omission policy.
|
|
146
|
+
* The formatter's Branch 2 returns the full compact object including `accessible`
|
|
147
|
+
* when it exists because filterFields() projects from the already-annotated object.
|
|
148
|
+
*/
|
|
149
|
+
const OUTCOMES_COMPACT_DEFAULTS = [
|
|
150
|
+
'id', 'name', 'button', 'sequence', 'hidden',
|
|
151
|
+
'is_resolution', 'is_internal_note',
|
|
152
|
+
];
|
|
122
153
|
/**
|
|
123
154
|
* Compact an outcome record into the token-efficient shape.
|
|
124
155
|
*
|
|
@@ -145,6 +176,112 @@ function compactOutcome(o) {
|
|
|
145
176
|
is_internal_note,
|
|
146
177
|
};
|
|
147
178
|
}
|
|
179
|
+
/**
|
|
180
|
+
* Compute the accessible flag for a single outcome given optional agent_id.
|
|
181
|
+
*
|
|
182
|
+
* actionvisibility is a boolean in Halo's schema (verified 2026-05-12 against
|
|
183
|
+
* components.schemas.TOutcome.properties.actionvisibility in halopsa-swagger.json:
|
|
184
|
+
* { "type": "boolean", "nullable": true }). Prior code used 0/1/2 integer enum
|
|
185
|
+
* branches — those never matched a runtime boolean value and were a silent no-op.
|
|
186
|
+
*
|
|
187
|
+
* inactive === true → accessible: false (always)
|
|
188
|
+
* actionvisibility === false → accessible: false (hidden from action menu)
|
|
189
|
+
* actionvisibility === true, null, or undefined → 'unknown' (permissive by this
|
|
190
|
+
* gate, but other ACL fields not yet checked client-side)
|
|
191
|
+
*
|
|
192
|
+
* Note: the current actionvisibility-based filter is tenant-global (applies equally
|
|
193
|
+
* to all agents). Per-agent ACL filtering via access_control[] / enduser_role_ids
|
|
194
|
+
* requires agent_id and role lookup — deferred to a future iteration.
|
|
195
|
+
*
|
|
196
|
+
* @param o - The raw outcome from GET /Outcome
|
|
197
|
+
* @param _agentId - Reserved for future per-agent ACL; currently unused
|
|
198
|
+
*/
|
|
199
|
+
function computeAccessible(o, _agentId) {
|
|
200
|
+
if (o.inactive === true) {
|
|
201
|
+
return false;
|
|
202
|
+
}
|
|
203
|
+
// actionvisibility is a boolean in Halo's OpenAPI schema (TOutcome in
|
|
204
|
+
// halopsa-swagger.json: { "type": "boolean", "nullable": true }).
|
|
205
|
+
// false = hidden from the action menu (not accessible).
|
|
206
|
+
// true, null, or undefined = visible by this gate.
|
|
207
|
+
if (o.actionvisibility === false) {
|
|
208
|
+
return false;
|
|
209
|
+
}
|
|
210
|
+
// We cannot deterministically confirm full accessibility without resolving
|
|
211
|
+
// the agent's role memberships against access_control[] and enduser_role_ids.
|
|
212
|
+
// Return 'unknown' rather than a misleading 'true'.
|
|
213
|
+
return 'unknown';
|
|
214
|
+
}
|
|
215
|
+
/**
|
|
216
|
+
* Shared helper: fetch and optionally filter the outcomes for a given
|
|
217
|
+
* tickettype_id. Used by both listTicketOutcomes (tool handler) and
|
|
218
|
+
* buildOutcomeDiscoveryRefusal (ticket-actions.ts diagnostic builder).
|
|
219
|
+
*
|
|
220
|
+
* Returns HaloPSATicketOutcomeCompact[] (not the accessible-annotated form)
|
|
221
|
+
* so the caller can apply its own ACL logic.
|
|
222
|
+
*
|
|
223
|
+
* S4 fix: inactive outcomes (inactive === true) are always excluded regardless
|
|
224
|
+
* of agent_id. Active outcomes (inactive === false or absent) qualify. This
|
|
225
|
+
* prevents admin-disabled outcomes from appearing in valid_outcomes_hint.
|
|
226
|
+
*
|
|
227
|
+
* When agent_id is supplied, outcomes with accessible===false are also excluded.
|
|
228
|
+
* Outcomes with accessible==="unknown" are always included.
|
|
229
|
+
*
|
|
230
|
+
* @param client - HaloPSA API client
|
|
231
|
+
* @param tickettypeId - Ticket type ID to filter outcomes to (optional)
|
|
232
|
+
* @param agentId - Agent ID for ACL filtering (optional)
|
|
233
|
+
*/
|
|
234
|
+
export async function getOutcomesForTicketType(client, tickettypeId, agentId) {
|
|
235
|
+
// Fetch global outcome list (cached 1h)
|
|
236
|
+
const response = await client.getCached('/Outcome', { count: 200 }, {
|
|
237
|
+
enabled: true,
|
|
238
|
+
ttl: TTL.TICKET_OUTCOMES,
|
|
239
|
+
keyPrefix: 'ticketoutcomes:all',
|
|
240
|
+
});
|
|
241
|
+
let { items } = unwrapList(response, 'outcomes');
|
|
242
|
+
// S4 fix: always exclude inactive outcomes — admin-disabled outcomes should
|
|
243
|
+
// never appear in valid_outcomes_hint or resolution-outcome detection.
|
|
244
|
+
items = items.filter((o) => o.inactive !== true);
|
|
245
|
+
// Client-side filter to the tickettype's outcome allowlist.
|
|
246
|
+
// PRIMARY: RequestType.allowed_actions[] + allowall_actions (boolean) — the
|
|
247
|
+
// documented Halo schema (verified 2026-05-12 against RequestType in
|
|
248
|
+
// halopsa-swagger.json: 423 properties, zero named "outcomes").
|
|
249
|
+
// FALLBACK: ttResponse.outcomes[] — undocumented field some tenants surface
|
|
250
|
+
// with includedetails=true; kept for backward compatibility.
|
|
251
|
+
if (tickettypeId !== undefined) {
|
|
252
|
+
const ttResponse = await client.getCached(`/TicketType/${tickettypeId}`, { includedetails: true }, {
|
|
253
|
+
enabled: true,
|
|
254
|
+
ttl: TTL.TICKET_TYPES,
|
|
255
|
+
keyPrefix: `tickettype:${tickettypeId}:details`,
|
|
256
|
+
});
|
|
257
|
+
if (ttResponse.allowall_actions !== true) {
|
|
258
|
+
// Documented path: filter by allowed_actions[].id (Restriction schema).
|
|
259
|
+
const allowed = ttResponse.allowed_actions;
|
|
260
|
+
if (Array.isArray(allowed) && allowed.length > 0) {
|
|
261
|
+
const idSet = new Set(allowed.map((r) => r.id));
|
|
262
|
+
items = items.filter((o) => idSet.has(o.id));
|
|
263
|
+
}
|
|
264
|
+
else {
|
|
265
|
+
// Fallback: undocumented outcomes[] some tenants surface with includedetails=true.
|
|
266
|
+
const legacy = ttResponse.outcomes;
|
|
267
|
+
if (Array.isArray(legacy) && legacy.length > 0) {
|
|
268
|
+
const idSet = new Set(legacy);
|
|
269
|
+
items = items.filter((o) => idSet.has(o.id));
|
|
270
|
+
}
|
|
271
|
+
// If neither field is present, return the full active list (permissive fallback).
|
|
272
|
+
}
|
|
273
|
+
}
|
|
274
|
+
// allowall_actions === true → no restriction; return all active outcomes.
|
|
275
|
+
}
|
|
276
|
+
// Apply ACL filtering when agent_id is provided: drop false, keep true + unknown
|
|
277
|
+
if (agentId !== undefined) {
|
|
278
|
+
items = items.filter((o) => {
|
|
279
|
+
const accessible = computeAccessible(o, agentId);
|
|
280
|
+
return accessible !== false;
|
|
281
|
+
});
|
|
282
|
+
}
|
|
283
|
+
return items.map(compactOutcome);
|
|
284
|
+
}
|
|
148
285
|
// =============================================================================
|
|
149
286
|
// Implementations
|
|
150
287
|
// =============================================================================
|
|
@@ -192,7 +329,7 @@ export async function listTicketPriorities(client, args) {
|
|
|
192
329
|
const ttResponse = await client.getCached(`/TicketType/${args.tickettype_id}`, { includedetails: true }, {
|
|
193
330
|
enabled: true,
|
|
194
331
|
ttl: TTL.TICKET_TYPES,
|
|
195
|
-
keyPrefix: `tickettype
|
|
332
|
+
keyPrefix: `tickettype:${args.tickettype_id}:details`,
|
|
196
333
|
});
|
|
197
334
|
// Support both field names Halo uses across versions.
|
|
198
335
|
const defaultSla = ttResponse.default_sla ?? ttResponse.sla_id;
|
|
@@ -209,7 +346,10 @@ export async function listTicketPriorities(client, args) {
|
|
|
209
346
|
return formatResponse(normalized, formatOpts, { record_count: normalized.length });
|
|
210
347
|
}
|
|
211
348
|
export async function listTicketCategories(client, args) {
|
|
212
|
-
const
|
|
349
|
+
const resolvedFormat = resolveFormat(args.full, args.format_options);
|
|
350
|
+
// Wire per-tool compact defaults so compact mode returns name + tickettype_id
|
|
351
|
+
// instead of the legacy compactItem() heuristic (Bug 3).
|
|
352
|
+
const formatOpts = withCompactDefaults(resolvedFormat, CATEGORIES_COMPACT_DEFAULTS);
|
|
213
353
|
// Bug 7 fix: single GET /Category — no loop, no per-tickettype fetching.
|
|
214
354
|
// The Halo endpoint ignores count/tickettype_id params and always returns
|
|
215
355
|
// the full list (~90 records). Caching prevents repeat hits.
|
|
@@ -232,11 +372,20 @@ export async function listTicketCategories(client, args) {
|
|
|
232
372
|
* If tickettype_id is supplied, fetches the ticket type with includedetails=true
|
|
233
373
|
* and filters to the outcome IDs in its `outcomes[]` array.
|
|
234
374
|
*
|
|
375
|
+
* Inactive outcomes (inactive === true) are always excluded — admin-disabled
|
|
376
|
+
* outcomes are never surfaced to the LLM.
|
|
377
|
+
*
|
|
378
|
+
* If agent_id is supplied, performs ACL filtering: outcomes with
|
|
379
|
+
* accessible=false are dropped. When agent_id is omitted, no ACL filtering
|
|
380
|
+
* is applied and the `accessible` field is omitted from each row.
|
|
381
|
+
*
|
|
235
382
|
* NOTE: The /Outcome endpoint does not support server-side tickettype filtering.
|
|
236
383
|
* Scoping is always performed client-side.
|
|
237
384
|
*/
|
|
238
385
|
export async function listTicketOutcomes(client, args) {
|
|
239
|
-
|
|
386
|
+
// Wire per-tool compact defaults so accessible field is not stripped by
|
|
387
|
+
// legacy compactItem() (which would strip it since outcomes have id + name).
|
|
388
|
+
const formatOpts = withCompactDefaults(args.format_options ?? { format: 'compact' }, OUTCOMES_COMPACT_DEFAULTS);
|
|
240
389
|
// Fetch global outcome list.
|
|
241
390
|
const response = await client.getCached('/Outcome', { count: 200 }, {
|
|
242
391
|
enabled: true,
|
|
@@ -244,22 +393,66 @@ export async function listTicketOutcomes(client, args) {
|
|
|
244
393
|
keyPrefix: 'ticketoutcomes:all',
|
|
245
394
|
});
|
|
246
395
|
let { items } = unwrapList(response, 'outcomes');
|
|
247
|
-
//
|
|
396
|
+
// Always exclude inactive outcomes — admin-disabled outcomes must not reach
|
|
397
|
+
// the LLM regardless of tickettype_id or agent_id (matches getOutcomesForTicketType).
|
|
398
|
+
items = items.filter((o) => o.inactive !== true);
|
|
399
|
+
// Optional client-side filter to the tickettype's outcome allowlist.
|
|
400
|
+
// PRIMARY: RequestType.allowed_actions[] + allowall_actions (boolean) — the
|
|
401
|
+
// documented Halo schema (verified 2026-05-12 against RequestType in
|
|
402
|
+
// halopsa-swagger.json: 423 properties, zero named "outcomes").
|
|
403
|
+
// FALLBACK: ttResponse.outcomes[] — undocumented field some tenants surface
|
|
404
|
+
// with includedetails=true; kept for backward compatibility.
|
|
248
405
|
if (args.tickettype_id !== undefined) {
|
|
249
406
|
const ttResponse = await client.getCached(`/TicketType/${args.tickettype_id}`, { includedetails: true }, {
|
|
250
407
|
enabled: true,
|
|
251
408
|
ttl: TTL.TICKET_TYPES,
|
|
252
|
-
keyPrefix: `tickettype
|
|
409
|
+
keyPrefix: `tickettype:${args.tickettype_id}:details`,
|
|
253
410
|
});
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
const
|
|
257
|
-
|
|
411
|
+
if (ttResponse.allowall_actions !== true) {
|
|
412
|
+
// Documented path: filter by allowed_actions[].id (Restriction schema).
|
|
413
|
+
const allowed = ttResponse.allowed_actions;
|
|
414
|
+
if (Array.isArray(allowed) && allowed.length > 0) {
|
|
415
|
+
const idSet = new Set(allowed.map((r) => r.id));
|
|
416
|
+
items = items.filter((o) => idSet.has(o.id));
|
|
417
|
+
}
|
|
418
|
+
else {
|
|
419
|
+
// Fallback: undocumented outcomes[] some tenants surface with includedetails=true.
|
|
420
|
+
const legacy = ttResponse.outcomes;
|
|
421
|
+
if (Array.isArray(legacy) && legacy.length > 0) {
|
|
422
|
+
const idSet = new Set(legacy);
|
|
423
|
+
items = items.filter((o) => idSet.has(o.id));
|
|
424
|
+
}
|
|
425
|
+
// If neither field is present, return the full active list (permissive fallback).
|
|
426
|
+
}
|
|
258
427
|
}
|
|
259
|
-
//
|
|
428
|
+
// allowall_actions === true → no restriction; return all active outcomes.
|
|
260
429
|
}
|
|
261
|
-
|
|
262
|
-
|
|
430
|
+
// Build accessible-annotated compacted rows.
|
|
431
|
+
// S2 fix: only attach the `accessible` field when its value is meaningful
|
|
432
|
+
// (true or false — i.e., when ACL filtering was actually applied). The
|
|
433
|
+
// 'unknown' placeholder is dropped entirely to avoid token waste and to
|
|
434
|
+
// prevent callers from treating it as a usable filter signal.
|
|
435
|
+
// When agent_id is supplied: also drop outcomes with accessible===false.
|
|
436
|
+
// When agent_id is absent: include all rows but omit the `accessible` key
|
|
437
|
+
// (no filtering was applied, so the field carries no information).
|
|
438
|
+
const annotated = items
|
|
439
|
+
.map((o) => {
|
|
440
|
+
const compact = compactOutcome(o);
|
|
441
|
+
const accessible = computeAccessible(o, args.agent_id);
|
|
442
|
+
if (accessible === 'unknown') {
|
|
443
|
+
// Drop the field — honest: no filter was applied for this row
|
|
444
|
+
return compact;
|
|
445
|
+
}
|
|
446
|
+
return { ...compact, accessible };
|
|
447
|
+
})
|
|
448
|
+
.filter((row) => {
|
|
449
|
+
// When agent_id provided, drop deterministically inaccessible outcomes
|
|
450
|
+
if (args.agent_id !== undefined) {
|
|
451
|
+
return row.accessible !== false;
|
|
452
|
+
}
|
|
453
|
+
return true;
|
|
454
|
+
});
|
|
455
|
+
return formatResponse(annotated, formatOpts, { record_count: annotated.length });
|
|
263
456
|
}
|
|
264
457
|
/**
|
|
265
458
|
* Look up a single outcome by name (case-insensitive, first match).
|
|
@@ -296,13 +489,13 @@ export const getTicketTypeTool = {
|
|
|
296
489
|
};
|
|
297
490
|
export const listTicketStatusesTool = {
|
|
298
491
|
name: 'list_halopsa_ticket_statuses',
|
|
299
|
-
description: 'List
|
|
492
|
+
description: 'List ticket statuses. Each carries `type` (0=ticket, 1=Order, 2=Item, 3=other) and `sequence`. Canonical closed = name==="Closed" && type===0. Cached 1h.',
|
|
300
493
|
schema: ListTicketStatusesArgsSchema,
|
|
301
494
|
handler: listTicketStatuses,
|
|
302
495
|
};
|
|
303
496
|
export const listTicketPrioritiesTool = {
|
|
304
497
|
name: 'list_halopsa_ticket_priorities',
|
|
305
|
-
description:
|
|
498
|
+
description: 'List ticket priorities. Halo priorities are SLA-scoped; `id` is the int (1-4) to pass as priority_id, `slaid` disambiguates. Pass tickettype_id to scope to that type\'s default SLA. Cached 1h.',
|
|
306
499
|
schema: ListTicketPrioritiesArgsSchema,
|
|
307
500
|
handler: listTicketPriorities,
|
|
308
501
|
};
|
|
@@ -314,7 +507,7 @@ export const listTicketCategoriesTool = {
|
|
|
314
507
|
};
|
|
315
508
|
export const listTicketOutcomesTool = {
|
|
316
509
|
name: 'list_halopsa_ticket_outcomes',
|
|
317
|
-
description:
|
|
510
|
+
description: 'List ticket outcomes (Triage/Resolved/Closed/etc). Returns {id, name, button, sequence, hidden, is_resolution, is_internal_note}. Optional tickettype_id (client-side filter), agent_id (ACL filter). Active outcomes only. Cached 1h.',
|
|
318
511
|
schema: ListTicketOutcomesArgsSchema,
|
|
319
512
|
handler: listTicketOutcomes,
|
|
320
513
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ticket-reference-data.js","sourceRoot":"","sources":["../../src/tools/ticket-reference-data.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ticket-reference-data.js","sourceRoot":"","sources":["../../src/tools/ticket-reference-data.ts"],"names":[],"mappings":"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"}
|
package/dist/tools/tickets.d.ts
CHANGED
|
@@ -149,6 +149,7 @@ export declare const UpdateTicketArgsSchema: z.ZodObject<{
|
|
|
149
149
|
export declare const CloseTicketArgsSchema: z.ZodObject<{
|
|
150
150
|
ticket_id: z.ZodNumber;
|
|
151
151
|
resolution_note: z.ZodOptional<z.ZodString>;
|
|
152
|
+
resolution_outcome_id: z.ZodOptional<z.ZodNumber>;
|
|
152
153
|
}, z.core.$strip>;
|
|
153
154
|
export declare const DeleteTicketArgsSchema: z.ZodObject<{
|
|
154
155
|
ticket_id: z.ZodNumber;
|
|
@@ -199,6 +200,18 @@ export declare function updateTicket(client: HaloPSAAPIClient, args: z.infer<typ
|
|
|
199
200
|
*/
|
|
200
201
|
export declare function deleteTicket(client: HaloPSAAPIClient, args: z.infer<typeof DeleteTicketArgsSchema>): Promise<string>;
|
|
201
202
|
export declare function closeTicket(client: HaloPSAAPIClient, args: z.infer<typeof CloseTicketArgsSchema>): Promise<string>;
|
|
203
|
+
/**
|
|
204
|
+
* Map a Halo-internal field name to the equivalent MCP parameter name.
|
|
205
|
+
*
|
|
206
|
+
* Halo uses `category2`..`category6` internally while the MCP exposes
|
|
207
|
+
* `category_1`..`category_5`. Custom fields (CF* names) are not mapped to a
|
|
208
|
+
* standard param — they are returned in a separate `required_customfields`
|
|
209
|
+
* array. All other names are returned unchanged.
|
|
210
|
+
*
|
|
211
|
+
* Returns null for custom fields (CF* prefix) — callers handle these
|
|
212
|
+
* separately.
|
|
213
|
+
*/
|
|
214
|
+
export declare function mcpParamForHaloField(haloName: string): string | null;
|
|
202
215
|
/**
|
|
203
216
|
* Pure-local validation of a proposed ticket payload against the cached
|
|
204
217
|
* tickettype schema. No write is performed — this is a dry-run helper.
|
|
@@ -210,6 +223,13 @@ export declare function closeTicket(client: HaloPSAAPIClient, args: z.infer<type
|
|
|
210
223
|
* the value equals 3 indicates "required for tech/API create". When either
|
|
211
224
|
* condition is true, the field is counted as required.
|
|
212
225
|
*
|
|
226
|
+
* Fields nested inside `group.fields[]` or `fields[]` (both group-nesting
|
|
227
|
+
* shapes Halo uses across versions) are also walked — not just top-level.
|
|
228
|
+
*
|
|
229
|
+
* Halo-internal category field names (category2..category6) are translated
|
|
230
|
+
* to MCP equivalents (category_1..category_5). Custom fields (CF* prefix)
|
|
231
|
+
* are reported in a separate `required_customfields` array.
|
|
232
|
+
*
|
|
213
233
|
* Standard ticket fields (summary, client_id, tickettype_id) are always
|
|
214
234
|
* required regardless of the tickettype schema.
|
|
215
235
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tickets.d.ts","sourceRoot":"","sources":["../../src/tools/tickets.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"tickets.d.ts","sourceRoot":"","sources":["../../src/tools/tickets.ts"],"names":[],"mappings":"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"}
|