@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.
- package/README.md +43 -2
- package/dist/cache/memory-cache.d.ts +3 -0
- package/dist/cache/memory-cache.d.ts.map +1 -1
- package/dist/cache/memory-cache.js +4 -0
- package/dist/cache/memory-cache.js.map +1 -1
- package/dist/tools/batch-operations.d.ts +47 -0
- package/dist/tools/batch-operations.d.ts.map +1 -1
- package/dist/tools/batch-operations.js +211 -68
- package/dist/tools/batch-operations.js.map +1 -1
- package/dist/tools/budgets.d.ts +130 -0
- package/dist/tools/budgets.d.ts.map +1 -0
- package/dist/tools/budgets.js +277 -0
- package/dist/tools/budgets.js.map +1 -0
- package/dist/tools/milestones.d.ts +129 -0
- package/dist/tools/milestones.d.ts.map +1 -0
- package/dist/tools/milestones.js +281 -0
- package/dist/tools/milestones.js.map +1 -0
- package/dist/tools/registrations.d.ts +6 -2
- package/dist/tools/registrations.d.ts.map +1 -1
- package/dist/tools/registrations.js +39 -5
- package/dist/tools/registrations.js.map +1 -1
- package/dist/tools/ticket-links.d.ts +41 -0
- package/dist/tools/ticket-links.d.ts.map +1 -0
- package/dist/tools/ticket-links.js +84 -0
- package/dist/tools/ticket-links.js.map +1 -0
- package/dist/tools/tickets.d.ts +2 -0
- package/dist/tools/tickets.d.ts.map +1 -1
- package/dist/tools/tickets.js +59 -2
- package/dist/tools/tickets.js.map +1 -1
- package/dist/tools/workflows.d.ts +125 -0
- package/dist/tools/workflows.d.ts.map +1 -0
- package/dist/tools/workflows.js +355 -0
- package/dist/tools/workflows.js.map +1 -0
- package/dist/types/budgets.d.ts +45 -0
- package/dist/types/budgets.d.ts.map +1 -0
- package/dist/types/budgets.js +12 -0
- package/dist/types/budgets.js.map +1 -0
- package/dist/types/milestones.d.ts +65 -0
- package/dist/types/milestones.d.ts.map +1 -0
- package/dist/types/milestones.js +14 -0
- package/dist/types/milestones.js.map +1 -0
- package/dist/types/tickets.d.ts +4 -0
- package/dist/types/tickets.d.ts.map +1 -1
- package/dist/types/workflows.d.ts +77 -0
- package/dist/types/workflows.d.ts.map +1 -0
- package/dist/types/workflows.js +11 -0
- package/dist/types/workflows.js.map +1 -0
- package/dist/utils/concurrency.d.ts +42 -0
- package/dist/utils/concurrency.d.ts.map +1 -0
- package/dist/utils/concurrency.js +82 -0
- package/dist/utils/concurrency.js.map +1 -0
- package/dist/utils/formatter.d.ts +1 -1
- package/dist/utils/formatter.d.ts.map +1 -1
- package/dist/utils/formatter.js +30 -3
- package/dist/utils/formatter.js.map +1 -1
- 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;
|
|
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"}
|
package/dist/utils/formatter.js
CHANGED
|
@@ -97,15 +97,22 @@ function processItem(item, fields, omitEmpty, format) {
|
|
|
97
97
|
return item;
|
|
98
98
|
}
|
|
99
99
|
let processed = { ...item };
|
|
100
|
-
//
|
|
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,
|
|
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
|
-
:
|
|
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