@wilnertech/halopsa-mcp-server 1.2.0 → 1.4.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 (56) hide show
  1. package/README.md +43 -2
  2. package/dist/cache/memory-cache.d.ts +3 -0
  3. package/dist/cache/memory-cache.d.ts.map +1 -1
  4. package/dist/cache/memory-cache.js +4 -0
  5. package/dist/cache/memory-cache.js.map +1 -1
  6. package/dist/tools/batch-operations.d.ts +47 -0
  7. package/dist/tools/batch-operations.d.ts.map +1 -1
  8. package/dist/tools/batch-operations.js +211 -68
  9. package/dist/tools/batch-operations.js.map +1 -1
  10. package/dist/tools/budgets.d.ts +130 -0
  11. package/dist/tools/budgets.d.ts.map +1 -0
  12. package/dist/tools/budgets.js +277 -0
  13. package/dist/tools/budgets.js.map +1 -0
  14. package/dist/tools/milestones.d.ts +129 -0
  15. package/dist/tools/milestones.d.ts.map +1 -0
  16. package/dist/tools/milestones.js +281 -0
  17. package/dist/tools/milestones.js.map +1 -0
  18. package/dist/tools/registrations.d.ts +6 -2
  19. package/dist/tools/registrations.d.ts.map +1 -1
  20. package/dist/tools/registrations.js +39 -5
  21. package/dist/tools/registrations.js.map +1 -1
  22. package/dist/tools/ticket-links.d.ts +41 -0
  23. package/dist/tools/ticket-links.d.ts.map +1 -0
  24. package/dist/tools/ticket-links.js +84 -0
  25. package/dist/tools/ticket-links.js.map +1 -0
  26. package/dist/tools/tickets.d.ts +2 -0
  27. package/dist/tools/tickets.d.ts.map +1 -1
  28. package/dist/tools/tickets.js +59 -2
  29. package/dist/tools/tickets.js.map +1 -1
  30. package/dist/tools/workflows.d.ts +125 -0
  31. package/dist/tools/workflows.d.ts.map +1 -0
  32. package/dist/tools/workflows.js +355 -0
  33. package/dist/tools/workflows.js.map +1 -0
  34. package/dist/types/budgets.d.ts +45 -0
  35. package/dist/types/budgets.d.ts.map +1 -0
  36. package/dist/types/budgets.js +12 -0
  37. package/dist/types/budgets.js.map +1 -0
  38. package/dist/types/milestones.d.ts +65 -0
  39. package/dist/types/milestones.d.ts.map +1 -0
  40. package/dist/types/milestones.js +14 -0
  41. package/dist/types/milestones.js.map +1 -0
  42. package/dist/types/tickets.d.ts +4 -0
  43. package/dist/types/tickets.d.ts.map +1 -1
  44. package/dist/types/workflows.d.ts +77 -0
  45. package/dist/types/workflows.d.ts.map +1 -0
  46. package/dist/types/workflows.js +11 -0
  47. package/dist/types/workflows.js.map +1 -0
  48. package/dist/utils/concurrency.d.ts +42 -0
  49. package/dist/utils/concurrency.d.ts.map +1 -0
  50. package/dist/utils/concurrency.js +82 -0
  51. package/dist/utils/concurrency.js.map +1 -0
  52. package/dist/utils/formatter.d.ts +1 -1
  53. package/dist/utils/formatter.d.ts.map +1 -1
  54. package/dist/utils/formatter.js +30 -3
  55. package/dist/utils/formatter.js.map +1 -1
  56. package/package.json +1 -1
@@ -0,0 +1,11 @@
1
+ /**
2
+ * TypeScript type definitions for HaloPSA Workflow objects.
3
+ *
4
+ * Kept separate from types/halopsa.ts to avoid merge conflicts with parallel
5
+ * writers who own that file.
6
+ *
7
+ * Source: swagger /components/schemas/FlowHeader + FlowDetail +
8
+ * empirical discovery 2026-05-11.
9
+ */
10
+ export {};
11
+ //# sourceMappingURL=workflows.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workflows.js","sourceRoot":"","sources":["../../src/types/workflows.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG"}
@@ -0,0 +1,42 @@
1
+ /**
2
+ * Concurrency utilities for batch and bulk operations.
3
+ *
4
+ * Provides a pure-JS semaphore (no external deps) that caps the number of
5
+ * in-flight promises. Results are returned in the same order as `items`
6
+ * regardless of completion order, matching the PromiseSettledResult contract
7
+ * used by Promise.allSettled.
8
+ *
9
+ * Environment variables (read once at module load, parsed at call site):
10
+ * HALO_MCP_BULK_CONCURRENCY — max concurrent write requests (default 2)
11
+ * HALO_MCP_BATCH_CONCURRENCY — max concurrent read requests (default 4)
12
+ * HALO_MCP_BULK_TIMEOUT_MS — per-request abort timeout ms (default 30000)
13
+ */
14
+ /**
15
+ * Run `items` through `fn` with at most `limit` concurrent executions.
16
+ *
17
+ * The worker-pool pattern below keeps exactly `limit` workers alive until the
18
+ * queue is empty. Each worker grabs the next item by incrementing a shared
19
+ * `cursor` index, so slots are never wasted on idle waits.
20
+ *
21
+ * @param items - Input array; processed in index order.
22
+ * @param limit - Maximum simultaneous in-flight calls.
23
+ * @param fn - Async function receiving (item, index).
24
+ * @returns - PromiseSettledResult array in the same order as `items`.
25
+ */
26
+ export declare function runWithConcurrency<T, R>(items: T[], limit: number, fn: (item: T, index: number) => Promise<R>): Promise<PromiseSettledResult<R>[]>;
27
+ /**
28
+ * Wrap `fn` with an AbortController timeout.
29
+ *
30
+ * If the call does not resolve within `timeoutMs`, the returned promise rejects
31
+ * with an Error whose message includes the timeout value. The AbortSignal is
32
+ * passed to `fn` so HTTP clients (e.g. fetch / axios) can honour cancellation
33
+ * when they support it.
34
+ *
35
+ * @param fn - Async factory receiving an AbortSignal.
36
+ * @param timeoutMs - Milliseconds before aborting (default 30 000).
37
+ */
38
+ export declare function withTimeout<R>(fn: (signal: globalThis.AbortSignal) => Promise<R>, timeoutMs?: number): Promise<R>;
39
+ export declare const DEFAULT_BULK_CONCURRENCY: number;
40
+ export declare const DEFAULT_BATCH_CONCURRENCY: number;
41
+ export declare const DEFAULT_BULK_TIMEOUT_MS: number;
42
+ //# sourceMappingURL=concurrency.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"concurrency.d.ts","sourceRoot":"","sources":["../../src/utils/concurrency.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH;;;;;;;;;;;GAWG;AACH,wBAAsB,kBAAkB,CAAC,CAAC,EAAE,CAAC,EAC3C,KAAK,EAAE,CAAC,EAAE,EACV,KAAK,EAAE,MAAM,EACb,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,GACzC,OAAO,CAAC,oBAAoB,CAAC,CAAC,CAAC,EAAE,CAAC,CAkBpC;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,WAAW,CAAC,CAAC,EACjC,EAAE,EAAE,CAAC,MAAM,EAAE,UAAU,CAAC,WAAW,KAAK,OAAO,CAAC,CAAC,CAAC,EAClD,SAAS,GAAE,MAAgC,GAC1C,OAAO,CAAC,CAAC,CAAC,CAcZ;AAcD,eAAO,MAAM,wBAAwB,EAAE,MAAoD,CAAC;AAC5F,eAAO,MAAM,yBAAyB,EAAE,MAAqD,CAAC;AAC9F,eAAO,MAAM,uBAAuB,EAAE,MAAwD,CAAC"}
@@ -0,0 +1,82 @@
1
+ /**
2
+ * Concurrency utilities for batch and bulk operations.
3
+ *
4
+ * Provides a pure-JS semaphore (no external deps) that caps the number of
5
+ * in-flight promises. Results are returned in the same order as `items`
6
+ * regardless of completion order, matching the PromiseSettledResult contract
7
+ * used by Promise.allSettled.
8
+ *
9
+ * Environment variables (read once at module load, parsed at call site):
10
+ * HALO_MCP_BULK_CONCURRENCY — max concurrent write requests (default 2)
11
+ * HALO_MCP_BATCH_CONCURRENCY — max concurrent read requests (default 4)
12
+ * HALO_MCP_BULK_TIMEOUT_MS — per-request abort timeout ms (default 30000)
13
+ */
14
+ /**
15
+ * Run `items` through `fn` with at most `limit` concurrent executions.
16
+ *
17
+ * The worker-pool pattern below keeps exactly `limit` workers alive until the
18
+ * queue is empty. Each worker grabs the next item by incrementing a shared
19
+ * `cursor` index, so slots are never wasted on idle waits.
20
+ *
21
+ * @param items - Input array; processed in index order.
22
+ * @param limit - Maximum simultaneous in-flight calls.
23
+ * @param fn - Async function receiving (item, index).
24
+ * @returns - PromiseSettledResult array in the same order as `items`.
25
+ */
26
+ export async function runWithConcurrency(items, limit, fn) {
27
+ const results = new Array(items.length);
28
+ let cursor = 0;
29
+ async function worker() {
30
+ while (cursor < items.length) {
31
+ const idx = cursor++;
32
+ try {
33
+ results[idx] = { status: 'fulfilled', value: await fn(items[idx], idx) };
34
+ }
35
+ catch (reason) {
36
+ results[idx] = { status: 'rejected', reason };
37
+ }
38
+ }
39
+ }
40
+ // Spawn min(limit, items.length) workers and wait for all to drain the queue.
41
+ await Promise.all(Array.from({ length: Math.min(limit, items.length) }, worker));
42
+ return results;
43
+ }
44
+ /**
45
+ * Wrap `fn` with an AbortController timeout.
46
+ *
47
+ * If the call does not resolve within `timeoutMs`, the returned promise rejects
48
+ * with an Error whose message includes the timeout value. The AbortSignal is
49
+ * passed to `fn` so HTTP clients (e.g. fetch / axios) can honour cancellation
50
+ * when they support it.
51
+ *
52
+ * @param fn - Async factory receiving an AbortSignal.
53
+ * @param timeoutMs - Milliseconds before aborting (default 30 000).
54
+ */
55
+ export async function withTimeout(fn, timeoutMs = DEFAULT_BULK_TIMEOUT_MS) {
56
+ const controller = new globalThis.AbortController();
57
+ // Race: fn vs. a timer that rejects after timeoutMs.
58
+ // The fn receives the AbortSignal so HTTP clients that honour it can cancel
59
+ // early; even if they do not, the race still enforces the deadline.
60
+ const timeoutPromise = new Promise((_resolve, reject) => {
61
+ setTimeout(() => {
62
+ controller.abort();
63
+ reject(new Error(`Request timed out after ${timeoutMs}ms`));
64
+ }, timeoutMs);
65
+ });
66
+ return Promise.race([fn(controller.signal), timeoutPromise]);
67
+ }
68
+ // ---------------------------------------------------------------------------
69
+ // Defaults (read once; unit tests can override via process.env before import
70
+ // in a CJS environment, or via jest.resetModules() in ESM).
71
+ // ---------------------------------------------------------------------------
72
+ function parseEnvInt(name, fallback) {
73
+ const raw = process.env[name];
74
+ if (raw === undefined || raw === '')
75
+ return fallback;
76
+ const parsed = parseInt(raw, 10);
77
+ return Number.isFinite(parsed) && parsed > 0 ? parsed : fallback;
78
+ }
79
+ export const DEFAULT_BULK_CONCURRENCY = parseEnvInt('HALO_MCP_BULK_CONCURRENCY', 2);
80
+ export const DEFAULT_BATCH_CONCURRENCY = parseEnvInt('HALO_MCP_BATCH_CONCURRENCY', 4);
81
+ export const DEFAULT_BULK_TIMEOUT_MS = parseEnvInt('HALO_MCP_BULK_TIMEOUT_MS', 30_000);
82
+ //# sourceMappingURL=concurrency.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"concurrency.js","sourceRoot":"","sources":["../../src/utils/concurrency.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,KAAU,EACV,KAAa,EACb,EAA0C;IAE1C,MAAM,OAAO,GAA8B,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACnE,IAAI,MAAM,GAAG,CAAC,CAAC;IAEf,KAAK,UAAU,MAAM;QACnB,OAAO,MAAM,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;YAC7B,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC;YACrB,IAAI,CAAC;gBACH,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;YAC3E,CAAC;YAAC,OAAO,MAAM,EAAE,CAAC;gBAChB,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC;YAChD,CAAC;QACH,CAAC;IACH,CAAC;IAED,8EAA8E;IAC9E,MAAM,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC;IACjF,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,EAAkD,EAClD,YAAoB,uBAAuB;IAE3C,MAAM,UAAU,GAAG,IAAI,UAAU,CAAC,eAAe,EAAE,CAAC;IAEpD,qDAAqD;IACrD,4EAA4E;IAC5E,oEAAoE;IACpE,MAAM,cAAc,GAAG,IAAI,OAAO,CAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE;QAC7D,UAAU,CAAC,GAAG,EAAE;YACd,UAAU,CAAC,KAAK,EAAE,CAAC;YACnB,MAAM,CAAC,IAAI,KAAK,CAAC,2BAA2B,SAAS,IAAI,CAAC,CAAC,CAAC;QAC9D,CAAC,EAAE,SAAS,CAAC,CAAC;IAChB,CAAC,CAAC,CAAC;IAEH,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC;AAC/D,CAAC;AAED,8EAA8E;AAC9E,6EAA6E;AAC7E,4DAA4D;AAC5D,8EAA8E;AAE9E,SAAS,WAAW,CAAC,IAAY,EAAE,QAAgB;IACjD,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC9B,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,EAAE;QAAE,OAAO,QAAQ,CAAC;IACrD,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IACjC,OAAO,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC;AACnE,CAAC;AAED,MAAM,CAAC,MAAM,wBAAwB,GAAW,WAAW,CAAC,2BAA2B,EAAE,CAAC,CAAC,CAAC;AAC5F,MAAM,CAAC,MAAM,yBAAyB,GAAW,WAAW,CAAC,4BAA4B,EAAE,CAAC,CAAC,CAAC;AAC9F,MAAM,CAAC,MAAM,uBAAuB,GAAW,WAAW,CAAC,0BAA0B,EAAE,MAAM,CAAC,CAAC"}
@@ -29,7 +29,7 @@ export declare function scrubCredentials(payload: unknown): unknown;
29
29
  * @returns JSON string formatted according to options
30
30
  */
31
31
  export declare function formatResponse<T>(data: T | T[], options?: FormatOptions, meta?: Record<string, unknown>): string;
32
- export type WriteResponseEntityType = 'ticket' | 'asset' | 'user' | 'site' | 'action';
32
+ export type WriteResponseEntityType = 'ticket' | 'asset' | 'user' | 'site' | 'action' | 'workflow';
33
33
  /**
34
34
  * Strip a write-endpoint response (create/update) to a compact shape.
35
35
  *
@@ -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;AA0QD,MAAM,MAAM,uBAAuB,GAC/B,QAAQ,GACR,OAAO,GACP,MAAM,GACN,MAAM,GACN,QAAQ,CAAC;AAEb;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,MAAM,EAAE,uBAAuB,GAC9B,OAAO,CAwCT"}
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"}
@@ -97,15 +97,22 @@ function processItem(item, fields, omitEmpty, format) {
97
97
  return item;
98
98
  }
99
99
  let processed = { ...item };
100
- // Apply field filtering
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.
101
103
  if (fields && fields.length > 0) {
102
104
  processed = filterFields(processed, fields);
105
+ if (omitEmpty) {
106
+ processed = removeEmptyFields(processed);
107
+ }
108
+ return processed;
103
109
  }
104
110
  // Remove empty fields if requested
105
111
  if (omitEmpty) {
106
112
  processed = removeEmptyFields(processed);
107
113
  }
108
- // For compact mode, further reduce data
114
+ // For compact mode, apply default projection (strips integration scaffolding).
115
+ // Only reached when no explicit fields were specified above.
109
116
  if (format === 'compact') {
110
117
  processed = compactItem(processed);
111
118
  }
@@ -229,6 +236,11 @@ function setNestedValue(obj, parts, value) {
229
236
  * These are integration-scaffolding fields (third-party system IDs,
230
237
  * workflow-audit internals, RMM connectors) that 99% of callers never need.
231
238
  * The "detailed" format returns them untouched.
239
+ *
240
+ * The `^_.*` prefix pattern intentionally strips ALL underscore-prefixed keys,
241
+ * including `_isnew` (set by Halo on newly-created site-user records inside
242
+ * create-site responses). Current callers do not consume `_isnew`; if a future
243
+ * caller needs it, move the key to an explicit allowlist and narrow this regex.
232
244
  */
233
245
  const INTEGRATION_KEY_RE = /^(_.*|pagerduty.*|splunkoncall.*|splunkoncall_id|splunkoncallurl|splunkoncallstatus|orion.*|ai_.*|auvik_.*|automate_id|device_automate_id|connectwise_.*|autotask_.*|freshdesk_.*|ninja.*|meraki.*|servicenow.*|atera_alert_id|scomalertstate|datto_alert_state|pagerdutyeragent|gfialerttype|useworkinghours.*|statusnochangehours.*|statusemail.*|nochangetemplate|messsent|auditstatus|auditunum|auditdate|azure_tenant.*|passportal_id|liongardid|kashflowid|snelstart_id|xeroid|syncroid|ateraid|connectwiseid|autotaskid|device42id|servicenowid|ncentral_details_id|dattocommerce_tenantid|kasea.*)$/i;
234
246
  /**
@@ -279,6 +291,7 @@ const SITE_STRIP_TOP_KEYS = new Set([
279
291
  /**
280
292
  * Top-level keys to STRIP from a compact ticket-action write response.
281
293
  */
294
+ // TODO(v1.4): live-payload verify whether 'ticket' is ever embedded on /Actions responses. If never present, this strip entry can be removed.
282
295
  const ACTION_STRIP_TOP_KEYS = new Set([
283
296
  'ticket', // keep ticket_id (flat)
284
297
  'agent',
@@ -308,6 +321,7 @@ function stripIntegrationKeys(input) {
308
321
  * Strip the `fieldinfo` sub-object from each element of a customfields array,
309
322
  * keeping only `{ id, name?, value }`.
310
323
  */
324
+ // Assumes 'value' is a sibling of 'fieldinfo' on each customfield entry per HaloPSACustomField type. If a future Halo version nests 'value' inside fieldinfo, this strip would silently null the value.
311
325
  function stripCustomFieldInfo(cfs) {
312
326
  if (!Array.isArray(cfs))
313
327
  return cfs;
@@ -321,6 +335,18 @@ function stripCustomFieldInfo(cfs) {
321
335
  return slim;
322
336
  });
323
337
  }
338
+ /**
339
+ * Top-level keys to STRIP from a compact workflow write response.
340
+ * These are heavy arrays/blobs that can push a single workflow response
341
+ * well over 50 KB; the flat id/name/active fields carry the actionable data.
342
+ */
343
+ const WORKFLOW_STRIP_TOP_KEYS = new Set([
344
+ 'steps', // 124-record array in real tenants
345
+ 'stages', // array
346
+ 'flow_chart_json', // potentially large string blob
347
+ 'access_control', // array
348
+ 'always_allow_actions', // array
349
+ ]);
324
350
  /**
325
351
  * Strip a write-endpoint response (create/update) to a compact shape.
326
352
  *
@@ -353,7 +379,8 @@ export function stripWriteResponse(payload, format, entity) {
353
379
  : entity === 'asset' ? ASSET_STRIP_TOP_KEYS
354
380
  : entity === 'user' ? USER_STRIP_TOP_KEYS
355
381
  : entity === 'site' ? SITE_STRIP_TOP_KEYS
356
- : ACTION_STRIP_TOP_KEYS;
382
+ : entity === 'workflow' ? WORKFLOW_STRIP_TOP_KEYS
383
+ : ACTION_STRIP_TOP_KEYS;
357
384
  const afterTopStrip = {};
358
385
  for (const [key, val] of Object.entries(afterIntegration)) {
359
386
  if (!stripKeys.has(key)) {
@@ -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.2.0",
3
+ "version": "1.4.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",