@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.
Files changed (42) hide show
  1. package/README.md +7 -0
  2. package/dist/api/client.d.ts +39 -0
  3. package/dist/api/client.d.ts.map +1 -1
  4. package/dist/api/client.js +50 -0
  5. package/dist/api/client.js.map +1 -1
  6. package/dist/api/errors.d.ts.map +1 -1
  7. package/dist/api/errors.js +1 -2
  8. package/dist/api/errors.js.map +1 -1
  9. package/dist/cache/memory-cache.d.ts.map +1 -1
  10. package/dist/cache/memory-cache.js +5 -0
  11. package/dist/cache/memory-cache.js.map +1 -1
  12. package/dist/cache/prewarm.d.ts +1 -0
  13. package/dist/cache/prewarm.d.ts.map +1 -1
  14. package/dist/cache/prewarm.js +8 -0
  15. package/dist/cache/prewarm.js.map +1 -1
  16. package/dist/index.d.ts +1 -1
  17. package/dist/index.js +12 -4
  18. package/dist/index.js.map +1 -1
  19. package/dist/tools/batch-operations.js +10 -10
  20. package/dist/tools/batch-operations.js.map +1 -1
  21. package/dist/tools/registrations.d.ts +5 -1
  22. package/dist/tools/registrations.d.ts.map +1 -1
  23. package/dist/tools/registrations.js +7 -3
  24. package/dist/tools/registrations.js.map +1 -1
  25. package/dist/tools/ticket-actions.d.ts.map +1 -1
  26. package/dist/tools/ticket-actions.js +148 -45
  27. package/dist/tools/ticket-actions.js.map +1 -1
  28. package/dist/tools/ticket-reference-data.d.ts +28 -0
  29. package/dist/tools/ticket-reference-data.d.ts.map +1 -1
  30. package/dist/tools/ticket-reference-data.js +212 -19
  31. package/dist/tools/ticket-reference-data.js.map +1 -1
  32. package/dist/tools/tickets.d.ts +20 -0
  33. package/dist/tools/tickets.d.ts.map +1 -1
  34. package/dist/tools/tickets.js +275 -38
  35. package/dist/tools/tickets.js.map +1 -1
  36. package/dist/types/tickets.d.ts +64 -5
  37. package/dist/types/tickets.d.ts.map +1 -1
  38. package/dist/utils/formatter.d.ts +18 -0
  39. package/dist/utils/formatter.d.ts.map +1 -1
  40. package/dist/utils/formatter.js +108 -22
  41. package/dist/utils/formatter.js.map +1 -1
  42. package/package.json +1 -1
@@ -65,6 +65,11 @@ export interface HaloPSATicketSla {
65
65
  /**
66
66
  * Ticket Action — a journal entry on a ticket (note, email reply, status
67
67
  * change, etc.). Created via POST /api/Actions with an array body.
68
+ *
69
+ * Billing fields verified 2026-05-12 against components.schemas.Actions in
70
+ * halopsa-swagger.json (OpenAPI 3.0.1). All billing-hour fields are typed
71
+ * `number | undefined` matching swagger `{ type: "number", format: "double",
72
+ * nullable: true }`.
68
73
  */
69
74
  export interface HaloPSATicketAction {
70
75
  id: number;
@@ -79,14 +84,30 @@ export interface HaloPSATicketAction {
79
84
  note_html?: string;
80
85
  email_reply?: boolean;
81
86
  hiddenfromuser?: boolean;
87
+ /** Action duration in hours (decimal). Halo: Actions.timetaken (number/double, nullable). */
88
+ timetaken?: number;
89
+ /** Chargeable hours on this action. Halo: Actions.actionchargehours (number/double, nullable).
90
+ * Note: the ticket-level chargeable-hours rollup is Faults.chargehours — a separate field
91
+ * on a separate schema. Do NOT confuse these two field names. */
92
+ actionchargehours?: number;
93
+ /** Non-chargeable hours on this action. Halo: Actions.actionnonchargehours (number/double, nullable). */
94
+ actionnonchargehours?: number;
95
+ /** Time not billed on this action. Halo: Actions.nonbilltime (number/double, nullable). */
96
+ nonbilltime?: number;
97
+ /** integer (Halo Actions.chargerate is int32 per halopsa-swagger.json — Zod input enforces .int() at the boundary). */
98
+ chargerate?: number;
82
99
  }
83
100
  /**
84
101
  * Ticket Type — reference data describing the kind of ticket
85
102
  * (Incident, Service Request, Change, Project, etc.).
86
103
  *
87
- * When fetched with `includedetails=true`, the response also includes
88
- * `outcomes[]` (allowed outcome IDs), `default_sla` / `sla_id` (default SLA
89
- * for priority filtering), and additional configuration fields.
104
+ * When fetched with `includedetails=true`, Halo populates the allowlist and
105
+ * SLA fields. The canonical outcome allowlist is `allowed_actions[]` +
106
+ * `allowall_actions` verified 2026-05-12 against
107
+ * components.schemas.RequestType in halopsa-swagger.json (423 properties;
108
+ * zero properties named `outcomes`). The `outcomes` field below is an
109
+ * undocumented field observed on some tenants with includedetails=true; it
110
+ * is kept as a fallback but the documented fields are preferred.
90
111
  */
91
112
  export interface HaloPSATicketType {
92
113
  id: number;
@@ -98,7 +119,30 @@ export interface HaloPSATicketType {
98
119
  default_sla?: number;
99
120
  /** Alias Halo uses in some versions instead of default_sla. */
100
121
  sla_id?: number;
101
- /** Outcome IDs allowed for this ticket type (present with includedetails). */
122
+ /**
123
+ * Documented allowlist: outcome (action) IDs permitted for this ticket type.
124
+ * Halo schema: RequestType.allowed_actions (array of Restriction objects;
125
+ * each Restriction has an `id` that maps to TOutcome.id).
126
+ * Verified 2026-05-12 against halopsa-swagger.json.
127
+ */
128
+ allowed_actions?: Array<{
129
+ id: number;
130
+ type?: number;
131
+ key1?: number;
132
+ key1_name?: string;
133
+ }>;
134
+ /**
135
+ * When true, all global outcomes are permitted (allowed_actions[] is ignored).
136
+ * Halo schema: RequestType.allowall_actions (boolean).
137
+ * Verified 2026-05-12 against halopsa-swagger.json.
138
+ */
139
+ allowall_actions?: boolean;
140
+ /**
141
+ * Legacy/undocumented: some Halo tenants surface this array when
142
+ * includedetails=true, but the field is NOT declared on RequestType in the
143
+ * authoritative OpenAPI spec (verified 2026-05-12). Kept as a fallback for
144
+ * backward compatibility. Prefer allowed_actions[] + allowall_actions.
145
+ */
102
146
  outcomes?: number[];
103
147
  }
104
148
  /**
@@ -235,7 +279,22 @@ export interface HaloPSATicketOutcome {
235
279
  update_parent_attachment_type?: number;
236
280
  sendemail?: boolean;
237
281
  sendsms?: boolean;
238
- actionvisibility?: number;
282
+ /**
283
+ * Controls whether the outcome appears in the action menu.
284
+ * Halo schema: boolean (verified 2026-05-12 against
285
+ * components.schemas.TOutcome.properties.actionvisibility in
286
+ * halopsa-swagger.json — { "type": "boolean", "nullable": true }).
287
+ * false = hidden from the action menu. true or null/undefined = visible
288
+ * by this gate (other ACL fields such as access_control[], hidefromuser,
289
+ * enduser_role_ids may still hide it).
290
+ *
291
+ * Prior code typed this as number (0/1/2 enum) — that was incorrect; the
292
+ * integer branches never matched a runtime boolean value, so the ACL filter
293
+ * was a silent no-op on all active outcomes. Fixed in v1.6.0 Iteration 5.
294
+ */
295
+ actionvisibility?: boolean | null;
296
+ /** swagger silent — observed on live tenants; not declared on components.schemas.TOutcome in halopsa-swagger.json. When true, the outcome is disabled and not selectable. */
297
+ inactive?: boolean;
239
298
  }
240
299
  /**
241
300
  * Compact/normalized outcome shape returned by list_halopsa_ticket_outcomes.
@@ -1 +1 @@
1
- {"version":3,"file":"tickets.d.ts","sourceRoot":"","sources":["../../src/types/tickets.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tickets.d.ts","sourceRoot":"","sources":["../../src/types/tickets.ts"],"names":[],"mappings":"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"}
@@ -6,7 +6,25 @@ export interface FormatOptions {
6
6
  format?: 'compact' | 'standard' | 'detailed';
7
7
  fields?: string[];
8
8
  omit_empty?: boolean;
9
+ /**
10
+ * Internal field — NOT exposed to callers via the public Zod schema.
11
+ * When set, compact mode uses these keys as the default projection set
12
+ * instead of the legacy compactItem() heuristic. Wired per-tool by
13
+ * withCompactDefaults(). When format_options.fields is explicit, these
14
+ * defaults are used only for warning-detection (Bug 7 null-fill path).
15
+ */
16
+ toolCompactDefaults?: string[];
9
17
  }
18
+ /**
19
+ * Return a merged FormatOptions that adds toolCompactDefaults ONLY when
20
+ * the caller did not already supply an explicit `fields` list. If the caller
21
+ * supplied fields, we preserve them and use defaults solely for warning
22
+ * detection (Bug 7).
23
+ *
24
+ * Usage in handlers:
25
+ * const formatOpts = withCompactDefaults(args.format_options, VALIDATE_COMPACT_DEFAULTS);
26
+ */
27
+ export declare function withCompactDefaults(opts: FormatOptions | undefined, defaults: string[]): FormatOptions;
10
28
  /**
11
29
  * Recursively walk `payload` (objects + arrays) and replace the VALUE of any
12
30
  * key matching CREDENTIAL_KEY_RE with the string '[REDACTED]'.
@@ -1 +1 @@
1
- {"version":3,"file":"formatter.d.ts","sourceRoot":"","sources":["../../src/utils/formatter.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,WAAW,aAAa;IAC5B,MAAM,CAAC,EAAE,SAAS,GAAG,UAAU,GAAG,UAAU,CAAC;IAC7C,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAeD;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAoB1D;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAC9B,IAAI,EAAE,CAAC,GAAG,CAAC,EAAE,EACb,OAAO,GAAE,aAAkB,EAC3B,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC7B,MAAM,CA6CR;AAqSD,MAAM,MAAM,uBAAuB,GAC/B,QAAQ,GACR,OAAO,GACP,MAAM,GACN,MAAM,GACN,QAAQ,GACR,UAAU,CAAC;AAEf;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,MAAM,EAAE,uBAAuB,GAC9B,OAAO,CAyCT"}
1
+ {"version":3,"file":"formatter.d.ts","sourceRoot":"","sources":["../../src/utils/formatter.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,WAAW,aAAa;IAC5B,MAAM,CAAC,EAAE,SAAS,GAAG,UAAU,GAAG,UAAU,CAAC;IAC7C,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;;;;OAMG;IACH,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;CAChC;AAED;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,aAAa,GAAG,SAAS,EAC/B,QAAQ,EAAE,MAAM,EAAE,GACjB,aAAa,CAIf;AAeD;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAoB1D;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAC9B,IAAI,EAAE,CAAC,GAAG,CAAC,EAAE,EACb,OAAO,GAAE,aAAkB,EAC3B,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC7B,MAAM,CAyDR;AAsWD,MAAM,MAAM,uBAAuB,GAC/B,QAAQ,GACR,OAAO,GACP,MAAM,GACN,MAAM,GACN,QAAQ,GACR,UAAU,CAAC;AAEf;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,MAAM,EAAE,uBAAuB,GAC9B,OAAO,CAyCT"}
@@ -2,6 +2,20 @@
2
2
  * Response formatting utilities for token optimization
3
3
  * Provides compact, standard, and detailed output modes for HaloPSA responses
4
4
  */
5
+ /**
6
+ * Return a merged FormatOptions that adds toolCompactDefaults ONLY when
7
+ * the caller did not already supply an explicit `fields` list. If the caller
8
+ * supplied fields, we preserve them and use defaults solely for warning
9
+ * detection (Bug 7).
10
+ *
11
+ * Usage in handlers:
12
+ * const formatOpts = withCompactDefaults(args.format_options, VALIDATE_COMPACT_DEFAULTS);
13
+ */
14
+ export function withCompactDefaults(opts, defaults) {
15
+ const base = { ...(opts ?? {}) };
16
+ base.toolCompactDefaults = defaults;
17
+ return base;
18
+ }
5
19
  /**
6
20
  * Regex that matches credential-bearing key names (case-insensitive).
7
21
  *
@@ -54,16 +68,25 @@ export function scrubCredentials(payload) {
54
68
  * @returns JSON string formatted according to options
55
69
  */
56
70
  export function formatResponse(data, options = {}, meta) {
57
- const { format = 'standard', fields, omit_empty = false, } = options;
71
+ const { format = 'standard', fields, toolCompactDefaults, } = options;
72
+ // S1 fix: auto-enable omit_empty when format === 'compact' and the caller
73
+ // did not pass an explicit omit_empty value. The explicit value (if any) is
74
+ // always respected — we only auto-enable when the caller did not opt in or out.
75
+ // The Bug 7 null-fill path (fields branch in processItem) operates on the
76
+ // already-filtered object AFTER omit_empty is applied; it explicitly writes
77
+ // null for missing keys, so removeEmptyFields must NOT run on that branch.
78
+ // processItem guards this: the fields branch applies omitEmpty then returns,
79
+ // and the null-fill writes after that guard so they are not subject to removal.
80
+ const omit_empty = options.omit_empty ?? (format === 'compact');
58
81
  // Scrub credential fields before any further processing
59
82
  const safeData = scrubCredentials(data);
60
83
  // Process data
61
84
  let processedData;
62
85
  if (Array.isArray(safeData)) {
63
- processedData = safeData.map((item) => processItem(item, fields, omit_empty, format));
86
+ processedData = safeData.map((item) => processItem(item, fields, omit_empty, format, toolCompactDefaults));
64
87
  }
65
88
  else {
66
- processedData = processItem(safeData, fields, omit_empty, format);
89
+ processedData = processItem(safeData, fields, omit_empty, format, toolCompactDefaults);
67
90
  }
68
91
  // Build result object
69
92
  const result = Array.isArray(safeData)
@@ -89,37 +112,95 @@ export function formatResponse(data, options = {}, meta) {
89
112
  }
90
113
  }
91
114
  /**
92
- * Process a single item based on formatting options
115
+ * Process a single item based on formatting options.
116
+ *
117
+ * Resolution order:
118
+ * 1. If `fields` is explicit → filterFields (with null-fill for missing keys).
119
+ * Also attaches _warnings for any requested field not in toolCompactDefaults
120
+ * AND not present in the raw object (Bug 7).
121
+ * 2. Else if `format === 'compact'` AND `toolCompactDefaults` provided → use
122
+ * defaults as projection set (null-fill for missing, no warnings).
123
+ * 3. Else if `format === 'compact'` AND no defaults → legacy compactItem()
124
+ * only when the object has the legacy ticket/asset/user signal (has `id` AND
125
+ * at least one of name/status_id/key_field/emailaddress). Otherwise return
126
+ * full payload subject to omit_empty. This preserves Round 2 behavior for
127
+ * ticket/asset/user GET responses without stripping unrelated shapes.
93
128
  */
94
- function processItem(item, fields, omitEmpty, format) {
129
+ function processItem(item, fields, omitEmpty, format, toolCompactDefaults) {
95
130
  // Guard against null/undefined items
96
131
  if (item === null || item === undefined || typeof item !== 'object') {
97
132
  return item;
98
133
  }
99
134
  let processed = { ...item };
100
- // If explicit fields are requested, project to exactly those fields and skip
101
- // the format-specific default projection. This takes priority over format mode
102
- // so callers always get precisely what they asked for.
135
+ // Branch 1: explicit fields projection (takes priority over format).
136
+ // NOTE: omitEmpty is intentionally NOT applied here. filterFields() null-fills
137
+ // every explicitly-requested key — callers who requested a field want it even
138
+ // when the value is null (Bug 7 null-fill guarantee). removeEmptyFields would
139
+ // silently drop those null keys, defeating the guarantee.
103
140
  if (fields && fields.length > 0) {
104
- processed = filterFields(processed, fields);
105
- if (omitEmpty) {
106
- processed = removeEmptyFields(processed);
141
+ const filtered = filterFields(processed, fields);
142
+ // Bug 7: emit _warnings for fields that are not in toolCompactDefaults AND
143
+ // are not present in the raw response object. Only applies when the tool
144
+ // registered defaults (toolCompactDefaults set).
145
+ if (toolCompactDefaults && toolCompactDefaults.length > 0) {
146
+ const defaultsSet = new Set(toolCompactDefaults);
147
+ const warnings = [];
148
+ for (const f of fields) {
149
+ if (!defaultsSet.has(f) && !(f in processed)) {
150
+ warnings.push(`unknown field '${f}'`);
151
+ }
152
+ }
153
+ if (warnings.length > 0) {
154
+ filtered['_warnings'] = warnings;
155
+ }
107
156
  }
108
- return processed;
157
+ return filtered;
109
158
  }
110
- // Remove empty fields if requested
159
+ // Remove empty fields if requested (before format-specific projection).
111
160
  if (omitEmpty) {
112
161
  processed = removeEmptyFields(processed);
113
162
  }
114
- // For compact mode, apply default projection (strips integration scaffolding).
115
- // Only reached when no explicit fields were specified above.
163
+ // Branch 2: compact mode with registered per-tool defaults.
164
+ // Returns the defaults projection (null-filled) MERGED with any extra fields
165
+ // already present on the processed object. This gives "at least these fields"
166
+ // semantics — tools like list_halopsa_ticket_outcomes can attach optional fields
167
+ // (e.g., `accessible`) that pass through when present but are NOT null-filled
168
+ // when absent (by keeping them out of toolCompactDefaults).
169
+ if (format === 'compact' && toolCompactDefaults && toolCompactDefaults.length > 0) {
170
+ const defaultsProjection = filterFields(processed, toolCompactDefaults);
171
+ // Merge: start with the defaults projection (guarantees all defaults), then
172
+ // overlay any extra keys from the original processed object that are not already
173
+ // covered by the defaults (and not stripped by omitEmpty above).
174
+ const defaultsSet = new Set(toolCompactDefaults);
175
+ for (const key of Object.keys(processed)) {
176
+ if (!defaultsSet.has(key)) {
177
+ defaultsProjection[key] = processed[key];
178
+ }
179
+ }
180
+ return defaultsProjection;
181
+ }
182
+ // Branch 3: compact mode without defaults — legacy path.
116
183
  if (format === 'compact') {
117
- processed = compactItem(processed);
184
+ const hasLegacyShape = 'id' in processed &&
185
+ ('name' in processed ||
186
+ 'status_id' in processed ||
187
+ 'key_field' in processed ||
188
+ 'emailaddress' in processed);
189
+ if (hasLegacyShape) {
190
+ return compactItem(processed);
191
+ }
192
+ // Non-legacy shape (validate results, action results, category rows without
193
+ // the legacy signal, etc.) — return the full (potentially omit_empty'd) payload.
194
+ return processed;
118
195
  }
119
196
  return processed;
120
197
  }
121
198
  /**
122
- * Filter object to only include specified fields
199
+ * Filter object to only include specified fields.
200
+ *
201
+ * Bug 7 null-fill: every requested field is included in the result.
202
+ * If the field is not present on `obj`, the value is null (not omitted).
203
+ * Dot-notation nested fields that are absent on the object also become null.
123
204
  */
124
205
  function filterFields(obj, fields) {
125
206
  const filtered = {};
@@ -128,14 +209,17 @@ function filterFields(obj, fields) {
128
209
  if (field.includes('.')) {
129
210
  const parts = field.split('.');
130
211
  const value = getNestedValue(obj, parts);
212
+ // null-fill: always set the key, even when absent
131
213
  if (value !== undefined) {
132
214
  setNestedValue(filtered, parts, value);
133
215
  }
216
+ else {
217
+ setNestedValue(filtered, parts, null);
218
+ }
134
219
  }
135
220
  else {
136
- if (field in obj) {
137
- filtered[field] = obj[field];
138
- }
221
+ // null-fill: include key with null when not present in obj
222
+ filtered[field] = field in obj ? obj[field] : null;
139
223
  }
140
224
  }
141
225
  return filtered;
@@ -162,8 +246,10 @@ function removeEmptyFields(obj) {
162
246
  return cleaned;
163
247
  }
164
248
  /**
165
- * Create compact representation of an item
166
- * Removes verbose fields, keeps only essentials
249
+ * Create compact representation of an item (legacy path for ticket/asset/user shapes).
250
+ * Removes verbose fields, keeps only essentials.
251
+ * Only invoked when the payload has the legacy shape signal:
252
+ * `id` AND at least one of name/status_id/key_field/emailaddress.
167
253
  */
168
254
  function compactItem(item) {
169
255
  const compact = {};
@@ -1 +1 @@
1
- {"version":3,"file":"formatter.js","sourceRoot":"","sources":["../../src/utils/formatter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"formatter.js","sourceRoot":"","sources":["../../src/utils/formatter.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wilnertech/halopsa-mcp-server",
3
- "version": "1.5.0",
3
+ "version": "1.6.0",
4
4
  "description": "Model Context Protocol server for HaloPSA API integration with asset, user, and site management",
5
5
  "main": "dist/index.js",
6
6
  "type": "module",