itglue-mcp 1.3.2 → 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/dist/lib/api-client.d.ts +21 -1
- package/dist/lib/api-client.d.ts.map +1 -1
- package/dist/lib/api-client.js +72 -0
- package/dist/lib/api-client.js.map +1 -1
- package/dist/lib/batch-processor.d.ts +37 -0
- package/dist/lib/batch-processor.d.ts.map +1 -0
- package/dist/lib/batch-processor.js +72 -0
- package/dist/lib/batch-processor.js.map +1 -0
- package/dist/lib/format-utils.d.ts +47 -0
- package/dist/lib/format-utils.d.ts.map +1 -0
- package/dist/lib/format-utils.js +82 -0
- package/dist/lib/format-utils.js.map +1 -0
- package/dist/tools/attachments.d.ts +8 -9
- package/dist/tools/attachments.d.ts.map +1 -1
- package/dist/tools/attachments.js +18 -13
- package/dist/tools/attachments.js.map +1 -1
- package/dist/tools/auxiliary/audit/compliance-check.d.ts +6 -10
- package/dist/tools/auxiliary/audit/compliance-check.d.ts.map +1 -1
- package/dist/tools/auxiliary/audit/compliance-check.js +15 -34
- package/dist/tools/auxiliary/audit/compliance-check.js.map +1 -1
- package/dist/tools/auxiliary/reporting/organization-report.js +12 -13
- package/dist/tools/auxiliary/reporting/organization-report.js.map +1 -1
- package/dist/tools/auxiliary/staleness/staleness-detector.d.ts.map +1 -1
- package/dist/tools/auxiliary/staleness/staleness-detector.js +10 -25
- package/dist/tools/auxiliary/staleness/staleness-detector.js.map +1 -1
- package/dist/tools/auxiliary/validation/data-validator.js +14 -10
- package/dist/tools/auxiliary/validation/data-validator.js.map +1 -1
- package/dist/tools/configuration-interfaces.d.ts +8 -10
- package/dist/tools/configuration-interfaces.d.ts.map +1 -1
- package/dist/tools/configuration-interfaces.js +18 -12
- package/dist/tools/configuration-interfaces.js.map +1 -1
- package/dist/tools/configurations.d.ts +16 -7
- package/dist/tools/configurations.d.ts.map +1 -1
- package/dist/tools/configurations.js +31 -11
- package/dist/tools/configurations.js.map +1 -1
- package/dist/tools/contacts.d.ts +16 -8
- package/dist/tools/contacts.d.ts.map +1 -1
- package/dist/tools/contacts.js +23 -10
- package/dist/tools/contacts.js.map +1 -1
- package/dist/tools/documents.d.ts +16 -7
- package/dist/tools/documents.d.ts.map +1 -1
- package/dist/tools/documents.js +23 -11
- package/dist/tools/documents.js.map +1 -1
- package/dist/tools/flexible-assets.d.ts +16 -5
- package/dist/tools/flexible-assets.d.ts.map +1 -1
- package/dist/tools/flexible-assets.js +38 -20
- package/dist/tools/flexible-assets.js.map +1 -1
- package/dist/tools/locations.d.ts +16 -6
- package/dist/tools/locations.d.ts.map +1 -1
- package/dist/tools/locations.js +23 -10
- package/dist/tools/locations.js.map +1 -1
- package/dist/tools/organizations.d.ts +16 -6
- package/dist/tools/organizations.d.ts.map +1 -1
- package/dist/tools/organizations.js +32 -14
- package/dist/tools/organizations.js.map +1 -1
- package/dist/tools/passwords.d.ts +16 -6
- package/dist/tools/passwords.d.ts.map +1 -1
- package/dist/tools/passwords.js +30 -10
- package/dist/tools/passwords.js.map +1 -1
- package/dist/tools/related-items.d.ts +8 -8
- package/dist/tools/related-items.d.ts.map +1 -1
- package/dist/tools/related-items.js +18 -12
- package/dist/tools/related-items.js.map +1 -1
- package/dist/tools/search.d.ts +9 -1
- package/dist/tools/search.d.ts.map +1 -1
- package/dist/tools/search.js +16 -8
- package/dist/tools/search.js.map +1 -1
- package/package.json +2 -1
- package/scripts/CLAUDE.md +7 -0
- package/scripts/batch_processor.py +213 -0
package/dist/lib/api-client.d.ts
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* ITGlue API Client
|
|
3
3
|
* Integrates rate limiting, caching, retry logic, and error handling
|
|
4
4
|
*/
|
|
5
|
-
import type { JsonApiResponse, JsonApiWriteBody, ApiParams, ITGlueRegion } from '../types/itglue.js';
|
|
5
|
+
import type { JsonApiResponse, JsonApiResource, JsonApiMeta, JsonApiWriteBody, ApiParams, ITGlueRegion } from '../types/itglue.js';
|
|
6
6
|
export interface APIClientConfig {
|
|
7
7
|
apiKey: string;
|
|
8
8
|
region?: ITGlueRegion;
|
|
@@ -57,6 +57,26 @@ export declare class APIClient {
|
|
|
57
57
|
* Execute GET request with retry logic
|
|
58
58
|
*/
|
|
59
59
|
private requestWithRetry;
|
|
60
|
+
/**
|
|
61
|
+
* Paginated GET — transparently fetches multiple pages when limit > 100.
|
|
62
|
+
* Returns a single merged response with combined data array and pagination metadata.
|
|
63
|
+
*
|
|
64
|
+
* @param endpoint - API endpoint path
|
|
65
|
+
* @param params - Query parameters (page[size] will be overridden internally)
|
|
66
|
+
* @param options - Cache TTL, organizationId, skipCache
|
|
67
|
+
* @param totalLimit - Total number of records desired (default: 50)
|
|
68
|
+
* @returns Merged response with all records up to totalLimit, plus pagination info
|
|
69
|
+
*/
|
|
70
|
+
getPaginated<T>(endpoint: string, params?: ApiParams, options?: {
|
|
71
|
+
skipCache?: boolean;
|
|
72
|
+
cacheTTL?: number;
|
|
73
|
+
organizationId?: string;
|
|
74
|
+
}, totalLimit?: number): Promise<{
|
|
75
|
+
data: JsonApiResource<T>[];
|
|
76
|
+
meta?: JsonApiMeta;
|
|
77
|
+
totalReturned: number;
|
|
78
|
+
hasMore: boolean;
|
|
79
|
+
}>;
|
|
60
80
|
/**
|
|
61
81
|
* Get all pages of a paginated endpoint
|
|
62
82
|
* Follows JSON:API links.next pattern
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api-client.d.ts","sourceRoot":"","sources":["../../src/lib/api-client.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EACV,eAAe,EACf,gBAAgB,EAChB,SAAS,EACT,YAAY,EAEb,MAAM,oBAAoB,CAAC;AAY5B,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,qBAAa,SAAS;IACpB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAgB;IACtC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAQ;IAC9B,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAc;IAC1C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAc;IACrC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAK;IAChC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAwB;gBAExC,MAAM,EAAE,eAAe;IA6BnC;;OAEG;IACH,OAAO,CAAC,cAAc;IAYtB;;OAEG;IACG,GAAG,CAAC,CAAC,EACT,QAAQ,EAAE,MAAM,EAChB,MAAM,CAAC,EAAE,SAAS,EAClB,OAAO,CAAC,EAAE;QACR,SAAS,CAAC,EAAE,OAAO,CAAC;QACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,cAAc,CAAC,EAAE,MAAM,CAAC;KACzB,GACA,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;IA0B9B;;OAEG;IACG,IAAI,CAAC,CAAC,EACV,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,gBAAgB,EACtB,OAAO,CAAC,EAAE;QAAE,cAAc,CAAC,EAAE,MAAM,CAAA;KAAE,GACpC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;IAW9B;;OAEG;IACG,KAAK,CAAC,CAAC,EACX,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,gBAAgB,EACtB,OAAO,CAAC,EAAE;QAAE,cAAc,CAAC,EAAE,MAAM,CAAA;KAAE,GACpC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;IAW9B;;OAEG;IACG,MAAM,CACV,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE;QAAE,cAAc,CAAC,EAAE,MAAM,CAAA;KAAE,GACpC,OAAO,CAAC,IAAI,CAAC;IAgBhB;;OAEG;YACW,qBAAqB;IAsCnC;;OAEG;YACW,gBAAgB;IAiD9B;;;OAGG;IACG,WAAW,CAAC,CAAC,EACjB,QAAQ,EAAE,MAAM,EAChB,MAAM,CAAC,EAAE,SAAS,EAClB,OAAO,CAAC,EAAE;QACR,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,cAAc,CAAC,EAAE,MAAM,CAAC;KACzB,GACA,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC;IAuChC;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAY3B;;OAEG;IACH,OAAO,CAAC,KAAK;IAIb;;OAEG;IACH,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;IAMxC;;OAEG;IACH,QAAQ;;;;;;;;;;;;;CAMT"}
|
|
1
|
+
{"version":3,"file":"api-client.d.ts","sourceRoot":"","sources":["../../src/lib/api-client.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/api-client.js
CHANGED
|
@@ -181,6 +181,78 @@ export class APIClient {
|
|
|
181
181
|
throw apiError;
|
|
182
182
|
}
|
|
183
183
|
}
|
|
184
|
+
/**
|
|
185
|
+
* Paginated GET — transparently fetches multiple pages when limit > 100.
|
|
186
|
+
* Returns a single merged response with combined data array and pagination metadata.
|
|
187
|
+
*
|
|
188
|
+
* @param endpoint - API endpoint path
|
|
189
|
+
* @param params - Query parameters (page[size] will be overridden internally)
|
|
190
|
+
* @param options - Cache TTL, organizationId, skipCache
|
|
191
|
+
* @param totalLimit - Total number of records desired (default: 50)
|
|
192
|
+
* @returns Merged response with all records up to totalLimit, plus pagination info
|
|
193
|
+
*/
|
|
194
|
+
async getPaginated(endpoint, params, options, totalLimit = 50) {
|
|
195
|
+
const API_PAGE_MAX = 100;
|
|
196
|
+
const pageSize = Math.min(totalLimit, API_PAGE_MAX);
|
|
197
|
+
const allData = [];
|
|
198
|
+
let hasMore = false;
|
|
199
|
+
let lastMeta;
|
|
200
|
+
let lastNextLink;
|
|
201
|
+
// First page
|
|
202
|
+
const firstParams = { ...params, 'page[size]': pageSize };
|
|
203
|
+
const firstResponse = await this.get(endpoint, firstParams, options);
|
|
204
|
+
const firstData = Array.isArray(firstResponse.data)
|
|
205
|
+
? firstResponse.data
|
|
206
|
+
: [firstResponse.data];
|
|
207
|
+
allData.push(...firstData);
|
|
208
|
+
lastMeta = firstResponse.meta;
|
|
209
|
+
lastNextLink = firstResponse.links?.next;
|
|
210
|
+
// If we got a full page and need more, follow pagination links
|
|
211
|
+
if (totalLimit > API_PAGE_MAX &&
|
|
212
|
+
firstData.length >= pageSize &&
|
|
213
|
+
lastNextLink) {
|
|
214
|
+
const maxPages = Math.ceil(totalLimit / API_PAGE_MAX);
|
|
215
|
+
for (let page = 2; page <= maxPages && lastNextLink; page++) {
|
|
216
|
+
const parsedUrl = new URL(lastNextLink, this.axios.defaults.baseURL);
|
|
217
|
+
const nextEndpoint = parsedUrl.pathname;
|
|
218
|
+
const nextParams = Object.fromEntries(parsedUrl.searchParams);
|
|
219
|
+
const pageResponse = await this.get(nextEndpoint, nextParams, options);
|
|
220
|
+
const pageData = Array.isArray(pageResponse.data)
|
|
221
|
+
? pageResponse.data
|
|
222
|
+
: [pageResponse.data];
|
|
223
|
+
allData.push(...pageData);
|
|
224
|
+
lastMeta = pageResponse.meta;
|
|
225
|
+
lastNextLink = pageResponse.links?.next;
|
|
226
|
+
if (allData.length >= totalLimit || !lastNextLink) {
|
|
227
|
+
break;
|
|
228
|
+
}
|
|
229
|
+
}
|
|
230
|
+
}
|
|
231
|
+
// Trim to exact limit
|
|
232
|
+
const trimmed = allData.slice(0, totalLimit);
|
|
233
|
+
// Determine if more records exist beyond what we returned
|
|
234
|
+
// 1. We collected more than requested (overshot from full pages)
|
|
235
|
+
// 2. We hit exact limit and the last fetched page had a next link
|
|
236
|
+
hasMore = allData.length > totalLimit || (allData.length === totalLimit && !!lastNextLink);
|
|
237
|
+
// If meta provides total count, use it as the authoritative source
|
|
238
|
+
const totalAvailable = lastMeta?.['total-count'] ?? lastMeta?.total;
|
|
239
|
+
if (typeof totalAvailable === 'number') {
|
|
240
|
+
hasMore = totalAvailable > trimmed.length;
|
|
241
|
+
}
|
|
242
|
+
this.logger.debug('Paginated fetch complete', {
|
|
243
|
+
endpoint,
|
|
244
|
+
requested: totalLimit,
|
|
245
|
+
returned: trimmed.length,
|
|
246
|
+
hasMore,
|
|
247
|
+
pagesRead: Math.ceil(allData.length / API_PAGE_MAX) || 1,
|
|
248
|
+
});
|
|
249
|
+
return {
|
|
250
|
+
data: trimmed,
|
|
251
|
+
meta: lastMeta,
|
|
252
|
+
totalReturned: trimmed.length,
|
|
253
|
+
hasMore,
|
|
254
|
+
};
|
|
255
|
+
}
|
|
184
256
|
/**
|
|
185
257
|
* Get all pages of a paginated endpoint
|
|
186
258
|
* Follows JSON:API links.next pattern
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api-client.js","sourceRoot":"","sources":["../../src/lib/api-client.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"api-client.js","sourceRoot":"","sources":["../../src/lib/api-client.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAsD,MAAM,OAAO,CAAC;AAU3E,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEpD,MAAM,WAAW,GAA4B;IAC3C,EAAE,EAAE,wBAAwB;IAC5B,EAAE,EAAE,2BAA2B;IAC/B,EAAE,EAAE,2BAA2B;CAChC,CAAC;AAWF,MAAM,OAAO,SAAS;IACH,KAAK,CAAgB;IACrB,KAAK,CAAQ;IACb,WAAW,CAAc;IACzB,MAAM,CAAc;IACpB,UAAU,GAAG,CAAC,CAAC;IACf,WAAW,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,KAAK;IAE1D,YAAY,MAAuB;QACjC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QAE5B,oDAAoD;QACpD,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,WAAW,CAAC,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC,CAAC;QACrE,IAAI,CAAC,MAAM,GAAG,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC;QACpC,IAAI,CAAC,KAAK,GAAG,IAAI,KAAK,CAAC,GAAG,EAAE,MAAM,CAAC,QAAQ,IAAI,GAAG,CAAC,CAAC;QACpD,IAAI,CAAC,WAAW,GAAG,IAAI,WAAW,CAAC,MAAM,CAAC,SAAS,IAAI,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAEvE,yEAAyE;QACzE,MAAM,iBAAiB,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC;QAE1C,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC;YACxB,OAAO;YACP,OAAO,EAAE;gBACP,WAAW,EAAE,MAAM,CAAC,MAAM;gBAC1B,cAAc,EAAE,iBAAiB,CAAC,CAAC,CAAC,0BAA0B,CAAC,CAAC,CAAC,kBAAkB;gBACnF,MAAM,EAAE,iBAAiB,CAAC,CAAC,CAAC,0BAA0B,CAAC,CAAC,CAAC,kBAAkB;aAC5E;YACD,OAAO,EAAE,KAAK,EAAE,oBAAoB;SACrC,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,wBAAwB,EAAE;YAC1C,OAAO;YACP,QAAQ,EAAE,MAAM,CAAC,QAAQ,IAAI,GAAG;YAChC,SAAS,EAAE,MAAM,CAAC,SAAS,IAAI,CAAC;SACjC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACK,cAAc,CAAC,MAAuB;QAC5C,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YAClD,MAAM,IAAI,KAAK,CACb,mGAAmG,CACpG,CAAC;QACJ,CAAC;QAED,IAAI,MAAM,CAAC,MAAM,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;YACjE,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;QAC9D,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,GAAG,CACP,QAAgB,EAChB,MAAkB,EAClB,OAIC;QAED,MAAM,QAAQ,GAAG,KAAK,CAAC,WAAW,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAErD,+CAA+C;QAC/C,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,CAAC;YACxB,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAqB,QAAQ,CAAC,CAAC;YAC5D,IAAI,MAAM,EAAE,CAAC;gBACX,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;gBACrD,OAAO,MAAM,CAAC;YAChB,CAAC;QACH,CAAC;QAED,uBAAuB;QACvB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,GAAG,EAAE,CACnD,IAAI,CAAC,gBAAgB,CAAI,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,CAAC,CACpE,CAAC;QAEF,uDAAuD;QACvD,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,CAAC;YACxB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;YACtD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC;QAC/E,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,IAAI,CACR,QAAgB,EAChB,IAAsB,EACtB,OAAqC;QAErC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,GAAG,EAAE,CACnD,IAAI,CAAC,qBAAqB,CAAI,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,cAAc,CAAC,CAC/E,CAAC;QAEF,mCAAmC;QACnC,IAAI,CAAC,eAAe,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QAE/D,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,KAAK,CACT,QAAgB,EAChB,IAAsB,EACtB,OAAqC;QAErC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,GAAG,EAAE,CACnD,IAAI,CAAC,qBAAqB,CAAI,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,cAAc,CAAC,CAChF,CAAC;QAEF,mCAAmC;QACnC,IAAI,CAAC,eAAe,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QAE/D,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM,CACV,QAAgB,EAChB,OAAqC;QAErC,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE;YACxC,IAAI,CAAC;gBACH,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,cAAc,CAAC,CAAC;gBACvE,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YACpC,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,QAAQ,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;gBACvC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,cAAc,EAAE,OAAO,EAAE,cAAc,EAAE,CAAC,CAAC;gBACtF,MAAM,QAAQ,CAAC;YACjB,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,mCAAmC;QACnC,IAAI,CAAC,eAAe,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IACjE,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,qBAAqB,CACjC,MAAwB,EACxB,QAAgB,EAChB,IAAsB,EACtB,cAAuB,EACvB,aAAa,GAAG,CAAC;QAEjB,IAAI,CAAC;YACH,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,EAAE,QAAQ,EAAE,cAAc,CAAC,CAAC;YAE5D,MAAM,QAAQ,GAAG,MAAM,KAAK,MAAM;gBAChC,CAAC,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAqB,QAAQ,EAAE,IAAI,CAAC;gBAC3D,CAAC,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,CAAqB,QAAQ,EAAE,IAAI,CAAC,CAAC;YAE/D,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YAC3C,OAAO,QAAQ,CAAC,IAAI,CAAC;QACvB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,QAAQ,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;YAEvC,2EAA2E;YAC3E,MAAM,WAAW,GAAG,QAAQ,CAAC,WAAW,IAAK,QAAgB,CAAC,UAAU,IAAI,GAAG,CAAC;YAChF,IAAI,WAAW,IAAI,aAAa,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;gBACnD,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;gBAC/F,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,OAAO,EAAE;oBAChC,OAAO,EAAE,aAAa,GAAG,CAAC;oBAC1B,MAAM;oBACN,QAAQ;oBACR,OAAO,EAAE,KAAK;iBACf,CAAC,CAAC;gBACH,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBACxB,OAAO,IAAI,CAAC,qBAAqB,CAAI,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,cAAc,EAAE,aAAa,GAAG,CAAC,CAAC,CAAC;YAClG,CAAC;YAED,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,cAAc,EAAE,aAAa,EAAE,CAAC,CAAC;YACpF,MAAM,QAAQ,CAAC;QACjB,CAAC;IACH,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,gBAAgB,CAC5B,QAAgB,EAChB,MAAkB,EAClB,cAAuB,EACvB,aAAa,GAAG,CAAC;QAEjB,IAAI,CAAC;YACH,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,CAAC,CAAC;YAEnE,MAAM,MAAM,GAAuB;gBACjC,MAAM;aACP,CAAC;YAEF,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAAqB,QAAQ,EAAE,MAAM,CAAC,CAAC;YAE5E,2BAA2B;YAC3B,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YAE3C,OAAO,QAAQ,CAAC,IAAI,CAAC;QACvB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,QAAQ,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;YAEvC,mCAAmC;YACnC,IAAI,QAAQ,CAAC,WAAW,IAAI,aAAa,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;gBAC5D,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;gBAE/F,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,OAAO,EAAE;oBAChC,OAAO,EAAE,aAAa,GAAG,CAAC;oBAC1B,UAAU,EAAE,IAAI,CAAC,UAAU;oBAC3B,OAAO,EAAE,KAAK;oBACd,KAAK,EAAE,QAAQ,CAAC,OAAO;iBACxB,CAAC,CAAC;gBAEH,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBACxB,OAAO,IAAI,CAAC,gBAAgB,CAAI,QAAQ,EAAE,MAAM,EAAE,cAAc,EAAE,aAAa,GAAG,CAAC,CAAC,CAAC;YACvF,CAAC;YAED,wBAAwB;YACxB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE;gBAC7B,QAAQ;gBACR,MAAM;gBACN,cAAc;gBACd,aAAa;aACd,CAAC,CAAC;YAEH,MAAM,QAAQ,CAAC;QACjB,CAAC;IACH,CAAC;IAED;;;;;;;;;OASG;IACH,KAAK,CAAC,YAAY,CAChB,QAAgB,EAChB,MAAkB,EAClB,OAIC,EACD,aAAqB,EAAE;QAOvB,MAAM,YAAY,GAAG,GAAG,CAAC;QACzB,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;QACpD,MAAM,OAAO,GAAyB,EAAE,CAAC;QACzC,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,IAAI,QAAiC,CAAC;QACtC,IAAI,YAAgC,CAAC;QAErC,aAAa;QACb,MAAM,WAAW,GAAG,EAAE,GAAG,MAAM,EAAE,YAAY,EAAE,QAAQ,EAAE,CAAC;QAC1D,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,GAAG,CAAI,QAAQ,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;QAExE,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC;YACjD,CAAC,CAAC,aAAa,CAAC,IAAI;YACpB,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QACzB,OAAO,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,CAAC;QAC3B,QAAQ,GAAG,aAAa,CAAC,IAAI,CAAC;QAC9B,YAAY,GAAG,aAAa,CAAC,KAAK,EAAE,IAAI,CAAC;QAEzC,+DAA+D;QAC/D,IACE,UAAU,GAAG,YAAY;YACzB,SAAS,CAAC,MAAM,IAAI,QAAQ;YAC5B,YAAY,EACZ,CAAC;YACD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,GAAG,YAAY,CAAC,CAAC;YAEtD,KAAK,IAAI,IAAI,GAAG,CAAC,EAAE,IAAI,IAAI,QAAQ,IAAI,YAAY,EAAE,IAAI,EAAE,EAAE,CAAC;gBAC5D,MAAM,SAAS,GAAQ,IAAI,GAAG,CAAC,YAAY,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;gBAC1E,MAAM,YAAY,GAAW,SAAS,CAAC,QAAQ,CAAC;gBAChD,MAAM,UAAU,GAAc,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,YAAY,CAAc,CAAC;gBAEtF,MAAM,YAAY,GAAuB,MAAM,IAAI,CAAC,GAAG,CAAI,YAAY,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;gBAC9F,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC;oBAC/C,CAAC,CAAC,YAAY,CAAC,IAAI;oBACnB,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;gBAExB,OAAO,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC;gBAC1B,QAAQ,GAAG,YAAY,CAAC,IAAI,CAAC;gBAC7B,YAAY,GAAG,YAAY,CAAC,KAAK,EAAE,IAAI,CAAC;gBAExC,IAAI,OAAO,CAAC,MAAM,IAAI,UAAU,IAAI,CAAC,YAAY,EAAE,CAAC;oBAClD,MAAM;gBACR,CAAC;YACH,CAAC;QACH,CAAC;QAED,sBAAsB;QACtB,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;QAE7C,0DAA0D;QAC1D,iEAAiE;QACjE,kEAAkE;QAClE,OAAO,GAAG,OAAO,CAAC,MAAM,GAAG,UAAU,IAAI,CACvC,OAAO,CAAC,MAAM,KAAK,UAAU,IAAI,CAAC,CAAC,YAAY,CAChD,CAAC;QAEF,mEAAmE;QACnE,MAAM,cAAc,GAAG,QAAQ,EAAE,CAAC,aAAa,CAAC,IAAI,QAAQ,EAAE,KAAK,CAAC;QACpE,IAAI,OAAO,cAAc,KAAK,QAAQ,EAAE,CAAC;YACvC,OAAO,GAAG,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC;QAC5C,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,0BAA0B,EAAE;YAC5C,QAAQ;YACR,SAAS,EAAE,UAAU;YACrB,QAAQ,EAAE,OAAO,CAAC,MAAM;YACxB,OAAO;YACP,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC;SACzD,CAAC,CAAC;QAEH,OAAO;YACL,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,QAAQ;YACd,aAAa,EAAE,OAAO,CAAC,MAAM;YAC7B,OAAO;SACR,CAAC;IACJ,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,WAAW,CACf,QAAgB,EAChB,MAAkB,EAClB,OAIC;QAED,MAAM,KAAK,GAAyB,EAAE,CAAC;QACvC,IAAI,eAAe,GAAkB,QAAQ,CAAC;QAC9C,IAAI,aAAa,GAA0B,MAAM,CAAC;QAClD,IAAI,SAAS,GAAG,CAAC,CAAC;QAClB,MAAM,QAAQ,GAAG,OAAO,EAAE,QAAQ,IAAI,EAAE,CAAC;QAEzC,OAAO,eAAe,IAAI,SAAS,GAAG,QAAQ,EAAE,CAAC;YAC/C,MAAM,QAAQ,GAAuB,MAAM,IAAI,CAAC,GAAG,CAAI,eAAe,EAAE,aAAa,EAAE;gBACrF,QAAQ,EAAE,OAAO,EAAE,QAAQ;gBAC3B,cAAc,EAAE,OAAO,EAAE,cAAc;aACxC,CAAC,CAAC;YAEH,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACrB,SAAS,EAAE,CAAC;YAEZ,gCAAgC;YAChC,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC;gBACzD,4CAA4C;gBAC5C,MAAM,OAAO,GAAQ,IAAI,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;gBAC/E,eAAe,GAAG,OAAO,CAAC,QAAQ,CAAC;gBACnC,aAAa,GAAG,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,YAAY,CAAc,CAAC;YACxE,CAAC;iBAAM,CAAC;gBACN,MAAM;YACR,CAAC;QACH,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,mBAAmB,EAAE;YACrC,QAAQ;YACR,UAAU,EAAE,SAAS;YACrB,YAAY,EAAE,KAAK,CAAC,MAAM,CACxB,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EACtE,CAAC,CACF;SACF,CAAC,CAAC;QAEH,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;OAEG;IACK,mBAAmB,CAAC,OAAY;QACtC,MAAM,SAAS,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAAC;QACnD,MAAM,KAAK,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;QAE3C,IAAI,SAAS,KAAK,SAAS,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACnD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,oBAAoB,EAAE;gBACtC,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS;gBACtD,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,SAAS;aAC1E,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,EAAU;QACtB,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;IACzD,CAAC;IAED;;OAEG;IACH,eAAe,CAAC,OAAe;QAC7B,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;QAC3D,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,mBAAmB,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC;QAClF,OAAO,YAAY,CAAC;IACtB,CAAC;IAED;;OAEG;IACH,QAAQ;QACN,OAAO;YACL,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE;YAC5B,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE;SACzC,CAAC;IACJ,CAAC;CACF"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* TypeScript wrapper for the Python batch processor.
|
|
3
|
+
* Spawns a Python process to handle heavy data analysis operations,
|
|
4
|
+
* keeping large datasets out of the MCP response context.
|
|
5
|
+
*/
|
|
6
|
+
export interface BatchRequest {
|
|
7
|
+
mode: 'aggregate' | 'compliance_scan' | 'staleness_scan' | 'dedup_detect' | 'stats';
|
|
8
|
+
records: any[];
|
|
9
|
+
group_by?: string;
|
|
10
|
+
entity_type?: string;
|
|
11
|
+
rules?: {
|
|
12
|
+
required_fields?: string[];
|
|
13
|
+
staleness_days?: number;
|
|
14
|
+
};
|
|
15
|
+
threshold_days?: number;
|
|
16
|
+
match_field?: string;
|
|
17
|
+
fields?: string[];
|
|
18
|
+
}
|
|
19
|
+
export interface BatchResult {
|
|
20
|
+
error?: string;
|
|
21
|
+
[key: string]: any;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Run the Python batch processor with the given request.
|
|
25
|
+
* Pipes JSON to stdin, reads JSON from stdout.
|
|
26
|
+
*
|
|
27
|
+
* @param request - The batch processing request
|
|
28
|
+
* @param timeoutMs - Timeout in milliseconds (default: 30000)
|
|
29
|
+
* @returns Parsed JSON result from the processor
|
|
30
|
+
*/
|
|
31
|
+
export declare function runBatchProcessor(request: BatchRequest, timeoutMs?: number): Promise<BatchResult>;
|
|
32
|
+
/**
|
|
33
|
+
* Check if the Python batch processor is available.
|
|
34
|
+
* Useful for graceful degradation.
|
|
35
|
+
*/
|
|
36
|
+
export declare function isBatchProcessorAvailable(): Promise<boolean>;
|
|
37
|
+
//# sourceMappingURL=batch-processor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"batch-processor.d.ts","sourceRoot":"","sources":["../../src/lib/batch-processor.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AASH,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,WAAW,GAAG,iBAAiB,GAAG,gBAAgB,GAAG,cAAc,GAAG,OAAO,CAAC;IACpF,OAAO,EAAE,GAAG,EAAE,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE;QACN,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;QAC3B,cAAc,CAAC,EAAE,MAAM,CAAC;KACzB,CAAC;IACF,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,MAAM,WAAW,WAAW;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AAED;;;;;;;GAOG;AACH,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,YAAY,EACrB,SAAS,GAAE,MAAc,GACxB,OAAO,CAAC,WAAW,CAAC,CA6CtB;AAED;;;GAGG;AACH,wBAAsB,yBAAyB,IAAI,OAAO,CAAC,OAAO,CAAC,CAOlE"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* TypeScript wrapper for the Python batch processor.
|
|
3
|
+
* Spawns a Python process to handle heavy data analysis operations,
|
|
4
|
+
* keeping large datasets out of the MCP response context.
|
|
5
|
+
*/
|
|
6
|
+
import { spawn } from 'child_process';
|
|
7
|
+
import { join, dirname } from 'path';
|
|
8
|
+
import { fileURLToPath } from 'url';
|
|
9
|
+
const __dirname = dirname(fileURLToPath(import.meta.url));
|
|
10
|
+
const SCRIPT_PATH = join(__dirname, '..', '..', 'scripts', 'batch_processor.py');
|
|
11
|
+
/**
|
|
12
|
+
* Run the Python batch processor with the given request.
|
|
13
|
+
* Pipes JSON to stdin, reads JSON from stdout.
|
|
14
|
+
*
|
|
15
|
+
* @param request - The batch processing request
|
|
16
|
+
* @param timeoutMs - Timeout in milliseconds (default: 30000)
|
|
17
|
+
* @returns Parsed JSON result from the processor
|
|
18
|
+
*/
|
|
19
|
+
export async function runBatchProcessor(request, timeoutMs = 30000) {
|
|
20
|
+
return new Promise((resolve, reject) => {
|
|
21
|
+
const proc = spawn('python3', [SCRIPT_PATH], {
|
|
22
|
+
stdio: ['pipe', 'pipe', 'pipe'],
|
|
23
|
+
});
|
|
24
|
+
let stdout = '';
|
|
25
|
+
let stderr = '';
|
|
26
|
+
proc.stdout.on('data', (chunk) => {
|
|
27
|
+
stdout += chunk.toString();
|
|
28
|
+
});
|
|
29
|
+
proc.stderr.on('data', (chunk) => {
|
|
30
|
+
stderr += chunk.toString();
|
|
31
|
+
});
|
|
32
|
+
const timer = setTimeout(() => {
|
|
33
|
+
proc.kill('SIGTERM');
|
|
34
|
+
reject(new Error(`Batch processor timed out after ${timeoutMs}ms`));
|
|
35
|
+
}, timeoutMs);
|
|
36
|
+
proc.on('close', (code) => {
|
|
37
|
+
clearTimeout(timer);
|
|
38
|
+
if (code !== 0) {
|
|
39
|
+
resolve({ error: `Process exited with code ${code}: ${stderr}` });
|
|
40
|
+
return;
|
|
41
|
+
}
|
|
42
|
+
try {
|
|
43
|
+
resolve(JSON.parse(stdout));
|
|
44
|
+
}
|
|
45
|
+
catch {
|
|
46
|
+
resolve({ error: `Invalid JSON output: ${stdout.slice(0, 200)}` });
|
|
47
|
+
}
|
|
48
|
+
});
|
|
49
|
+
proc.on('error', (err) => {
|
|
50
|
+
clearTimeout(timer);
|
|
51
|
+
// Python not available - fall back gracefully
|
|
52
|
+
resolve({ error: `Failed to spawn batch processor: ${err.message}` });
|
|
53
|
+
});
|
|
54
|
+
// Send the request
|
|
55
|
+
proc.stdin.write(JSON.stringify(request));
|
|
56
|
+
proc.stdin.end();
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Check if the Python batch processor is available.
|
|
61
|
+
* Useful for graceful degradation.
|
|
62
|
+
*/
|
|
63
|
+
export async function isBatchProcessorAvailable() {
|
|
64
|
+
try {
|
|
65
|
+
const result = await runBatchProcessor({ mode: 'stats', records: [] }, 5000);
|
|
66
|
+
return !result.error;
|
|
67
|
+
}
|
|
68
|
+
catch {
|
|
69
|
+
return false;
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
//# sourceMappingURL=batch-processor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"batch-processor.js","sourceRoot":"","sources":["../../src/lib/batch-processor.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared formatting utilities for token-optimized output
|
|
3
|
+
*
|
|
4
|
+
* Provides three output modes to minimize context/token usage:
|
|
5
|
+
* - detailed: Full markdown with headers per record (current default, most tokens)
|
|
6
|
+
* - compact: Markdown table format (~65% fewer tokens than detailed)
|
|
7
|
+
* - count_only: Just the total count (1 line, ~95% fewer tokens)
|
|
8
|
+
*/
|
|
9
|
+
import { z } from 'zod';
|
|
10
|
+
/**
|
|
11
|
+
* Reusable Zod schema fragment for output_mode parameter.
|
|
12
|
+
* Add to any list tool's schema via .extend() or .merge().
|
|
13
|
+
*/
|
|
14
|
+
export declare const OutputModeSchema: z.ZodDefault<z.ZodEnum<["detailed", "compact", "count_only"]>>;
|
|
15
|
+
export type OutputMode = z.infer<typeof OutputModeSchema>;
|
|
16
|
+
/**
|
|
17
|
+
* Format data as a compact markdown table.
|
|
18
|
+
* Dramatically reduces token usage for list views.
|
|
19
|
+
*
|
|
20
|
+
* @param title - Table title/heading
|
|
21
|
+
* @param headers - Column headers (display names)
|
|
22
|
+
* @param rows - Array of row arrays (string values, same order as headers)
|
|
23
|
+
* @param footer - Optional footer text (count, hasMore indicator)
|
|
24
|
+
* @returns Formatted markdown table string
|
|
25
|
+
*/
|
|
26
|
+
export declare function formatCompactTable(title: string, headers: string[], rows: string[][], footer?: string): string;
|
|
27
|
+
/**
|
|
28
|
+
* Format a count-only response.
|
|
29
|
+
* Minimum possible tokens - just the entity type and count.
|
|
30
|
+
*/
|
|
31
|
+
export declare function formatCountOnly(entityType: string, count: number | string, context?: string): string;
|
|
32
|
+
/**
|
|
33
|
+
* Build a lean data object for the MCP response `data` field.
|
|
34
|
+
* Returns only IDs and metadata instead of full record objects.
|
|
35
|
+
* This prevents the data field from duplicating content that's already in the markdown.
|
|
36
|
+
*/
|
|
37
|
+
export declare function buildLeanData(ids: string[], hasMore: boolean, totalAvailable?: number): {
|
|
38
|
+
ids: string[];
|
|
39
|
+
count: number;
|
|
40
|
+
hasMore: boolean;
|
|
41
|
+
totalAvailable?: number;
|
|
42
|
+
};
|
|
43
|
+
/**
|
|
44
|
+
* Build a footer string with count and hasMore indicator.
|
|
45
|
+
*/
|
|
46
|
+
export declare function buildFooter(count: number, hasMore: boolean): string;
|
|
47
|
+
//# sourceMappingURL=format-utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"format-utils.d.ts","sourceRoot":"","sources":["../../src/lib/format-utils.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;GAGG;AACH,eAAO,MAAM,gBAAgB,gEAK1B,CAAC;AAEJ,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAE1D;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,MAAM,EAAE,EACjB,IAAI,EAAE,MAAM,EAAE,EAAE,EAChB,MAAM,CAAC,EAAE,MAAM,GACd,MAAM,CAsBR;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAC7B,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,MAAM,GAAG,MAAM,EACtB,OAAO,CAAC,EAAE,MAAM,GACf,MAAM,CAMR;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAC3B,GAAG,EAAE,MAAM,EAAE,EACb,OAAO,EAAE,OAAO,EAChB,cAAc,CAAC,EAAE,MAAM,GACtB;IAAE,GAAG,EAAE,MAAM,EAAE,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,OAAO,CAAC;IAAC,cAAc,CAAC,EAAE,MAAM,CAAA;CAAE,CAO7E;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,MAAM,CAMnE"}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared formatting utilities for token-optimized output
|
|
3
|
+
*
|
|
4
|
+
* Provides three output modes to minimize context/token usage:
|
|
5
|
+
* - detailed: Full markdown with headers per record (current default, most tokens)
|
|
6
|
+
* - compact: Markdown table format (~65% fewer tokens than detailed)
|
|
7
|
+
* - count_only: Just the total count (1 line, ~95% fewer tokens)
|
|
8
|
+
*/
|
|
9
|
+
import { z } from 'zod';
|
|
10
|
+
/**
|
|
11
|
+
* Reusable Zod schema fragment for output_mode parameter.
|
|
12
|
+
* Add to any list tool's schema via .extend() or .merge().
|
|
13
|
+
*/
|
|
14
|
+
export const OutputModeSchema = z
|
|
15
|
+
.enum(['detailed', 'compact', 'count_only'])
|
|
16
|
+
.default('detailed')
|
|
17
|
+
.describe('Output format: "detailed" (full markdown), "compact" (table, ~65% fewer tokens), "count_only" (just total count, minimal tokens)');
|
|
18
|
+
/**
|
|
19
|
+
* Format data as a compact markdown table.
|
|
20
|
+
* Dramatically reduces token usage for list views.
|
|
21
|
+
*
|
|
22
|
+
* @param title - Table title/heading
|
|
23
|
+
* @param headers - Column headers (display names)
|
|
24
|
+
* @param rows - Array of row arrays (string values, same order as headers)
|
|
25
|
+
* @param footer - Optional footer text (count, hasMore indicator)
|
|
26
|
+
* @returns Formatted markdown table string
|
|
27
|
+
*/
|
|
28
|
+
export function formatCompactTable(title, headers, rows, footer) {
|
|
29
|
+
const lines = [title, ''];
|
|
30
|
+
// Header row
|
|
31
|
+
lines.push('| ' + headers.join(' | ') + ' |');
|
|
32
|
+
// Separator row
|
|
33
|
+
lines.push('| ' + headers.map(() => '---').join(' | ') + ' |');
|
|
34
|
+
// Data rows
|
|
35
|
+
for (const row of rows) {
|
|
36
|
+
// Escape pipe characters in cell values and truncate long values
|
|
37
|
+
const cells = row.map(cell => {
|
|
38
|
+
const safe = (cell || '—').replace(/\|/g, '\\|').replace(/\n/g, ' ');
|
|
39
|
+
return safe.length > 80 ? safe.slice(0, 77) + '...' : safe;
|
|
40
|
+
});
|
|
41
|
+
lines.push('| ' + cells.join(' | ') + ' |');
|
|
42
|
+
}
|
|
43
|
+
if (footer) {
|
|
44
|
+
lines.push('', footer);
|
|
45
|
+
}
|
|
46
|
+
return lines.join('\n');
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Format a count-only response.
|
|
50
|
+
* Minimum possible tokens - just the entity type and count.
|
|
51
|
+
*/
|
|
52
|
+
export function formatCountOnly(entityType, count, context) {
|
|
53
|
+
const parts = [`**${entityType}**: ${count} total`];
|
|
54
|
+
if (context) {
|
|
55
|
+
parts.push(`(${context})`);
|
|
56
|
+
}
|
|
57
|
+
return parts.join(' ');
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Build a lean data object for the MCP response `data` field.
|
|
61
|
+
* Returns only IDs and metadata instead of full record objects.
|
|
62
|
+
* This prevents the data field from duplicating content that's already in the markdown.
|
|
63
|
+
*/
|
|
64
|
+
export function buildLeanData(ids, hasMore, totalAvailable) {
|
|
65
|
+
return {
|
|
66
|
+
ids,
|
|
67
|
+
count: ids.length,
|
|
68
|
+
hasMore,
|
|
69
|
+
...(totalAvailable !== undefined ? { totalAvailable } : {}),
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Build a footer string with count and hasMore indicator.
|
|
74
|
+
*/
|
|
75
|
+
export function buildFooter(count, hasMore) {
|
|
76
|
+
const parts = [`Found ${count} record(s).`];
|
|
77
|
+
if (hasMore) {
|
|
78
|
+
parts.push('*More available — increase `limit` to fetch more.*');
|
|
79
|
+
}
|
|
80
|
+
return parts.join(' ');
|
|
81
|
+
}
|
|
82
|
+
//# sourceMappingURL=format-utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"format-utils.js","sourceRoot":"","sources":["../../src/lib/format-utils.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;GAGG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC;KAC9B,IAAI,CAAC,CAAC,UAAU,EAAE,SAAS,EAAE,YAAY,CAAC,CAAC;KAC3C,OAAO,CAAC,UAAU,CAAC;KACnB,QAAQ,CACP,kIAAkI,CACnI,CAAC;AAIJ;;;;;;;;;GASG;AACH,MAAM,UAAU,kBAAkB,CAChC,KAAa,EACb,OAAiB,EACjB,IAAgB,EAChB,MAAe;IAEf,MAAM,KAAK,GAAa,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IAEpC,aAAa;IACb,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;IAC9C,gBAAgB;IAChB,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;IAC/D,YAAY;IACZ,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,iEAAiE;QACjE,MAAM,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;YAC3B,MAAM,IAAI,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;YACrE,OAAO,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;QAC7D,CAAC,CAAC,CAAC;QACH,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;IAC9C,CAAC;IAED,IAAI,MAAM,EAAE,CAAC;QACX,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;IACzB,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,eAAe,CAC7B,UAAkB,EAClB,KAAsB,EACtB,OAAgB;IAEhB,MAAM,KAAK,GAAG,CAAC,KAAK,UAAU,OAAO,KAAK,QAAQ,CAAC,CAAC;IACpD,IAAI,OAAO,EAAE,CAAC;QACZ,KAAK,CAAC,IAAI,CAAC,IAAI,OAAO,GAAG,CAAC,CAAC;IAC7B,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACzB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,aAAa,CAC3B,GAAa,EACb,OAAgB,EAChB,cAAuB;IAEvB,OAAO;QACL,GAAG;QACH,KAAK,EAAE,GAAG,CAAC,MAAM;QACjB,OAAO;QACP,GAAG,CAAC,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC5D,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,WAAW,CAAC,KAAa,EAAE,OAAgB;IACzD,MAAM,KAAK,GAAG,CAAC,SAAS,KAAK,aAAa,CAAC,CAAC;IAC5C,IAAI,OAAO,EAAE,CAAC;QACZ,KAAK,CAAC,IAAI,CAAC,oDAAoD,CAAC,CAAC;IACnE,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACzB,CAAC"}
|
|
@@ -8,14 +8,17 @@ export declare const ListAttachmentsArgsSchema: z.ZodObject<{
|
|
|
8
8
|
resource_type: z.ZodEnum<["configurations", "passwords", "flexible_assets", "documents", "contacts", "locations"]>;
|
|
9
9
|
resource_id: z.ZodString;
|
|
10
10
|
limit: z.ZodDefault<z.ZodNumber>;
|
|
11
|
+
output_mode: z.ZodDefault<z.ZodEnum<["detailed", "compact", "count_only"]>>;
|
|
11
12
|
}, "strip", z.ZodTypeAny, {
|
|
12
13
|
limit: number;
|
|
14
|
+
output_mode: "detailed" | "compact" | "count_only";
|
|
13
15
|
resource_id: string;
|
|
14
16
|
resource_type: "passwords" | "configurations" | "contacts" | "locations" | "flexible_assets" | "documents";
|
|
15
17
|
}, {
|
|
16
18
|
resource_id: string;
|
|
17
19
|
resource_type: "passwords" | "configurations" | "contacts" | "locations" | "flexible_assets" | "documents";
|
|
18
20
|
limit?: number | undefined;
|
|
21
|
+
output_mode?: "detailed" | "compact" | "count_only" | undefined;
|
|
19
22
|
}>;
|
|
20
23
|
export type ListAttachmentsArgs = z.infer<typeof ListAttachmentsArgsSchema>;
|
|
21
24
|
/**
|
|
@@ -33,14 +36,10 @@ export declare function listAttachments(client: APIClient, args: ListAttachments
|
|
|
33
36
|
text: string;
|
|
34
37
|
}[];
|
|
35
38
|
data: {
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
download_url: any;
|
|
42
|
-
notes: any;
|
|
43
|
-
created_at: any;
|
|
44
|
-
}[];
|
|
39
|
+
ids: string[];
|
|
40
|
+
count: number;
|
|
41
|
+
hasMore: boolean;
|
|
42
|
+
totalAvailable?: number;
|
|
43
|
+
};
|
|
45
44
|
}>;
|
|
46
45
|
//# sourceMappingURL=attachments.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"attachments.d.ts","sourceRoot":"","sources":["../../src/tools/attachments.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"attachments.d.ts","sourceRoot":"","sources":["../../src/tools/attachments.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAMtD,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;EAcpC,CAAC;AAEH,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAE5E;;GAEG;AACH,wBAAsB,eAAe,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,mBAAmB;;;;;;;;;;;;;;;;;GAyCjF"}
|
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
*/
|
|
5
5
|
import { z } from 'zod';
|
|
6
6
|
import { handleApiError, formatErrorResponse } from '../lib/error-handler.js';
|
|
7
|
+
import { OutputModeSchema, formatCompactTable, buildLeanData, buildFooter } from '../lib/format-utils.js';
|
|
7
8
|
// Zod schemas
|
|
8
9
|
export const ListAttachmentsArgsSchema = z.object({
|
|
9
10
|
resource_type: z
|
|
@@ -17,23 +18,19 @@ export const ListAttachmentsArgsSchema = z.object({
|
|
|
17
18
|
])
|
|
18
19
|
.describe('Type of resource to list attachments for'),
|
|
19
20
|
resource_id: z.string().describe('ID of the resource'),
|
|
20
|
-
limit: z.number().min(1).
|
|
21
|
+
limit: z.number().min(1).default(50).describe('Maximum number of attachments to return. Values >100 auto-paginate.'),
|
|
22
|
+
output_mode: OutputModeSchema,
|
|
21
23
|
});
|
|
22
24
|
/**
|
|
23
25
|
* List attachments for a resource
|
|
24
26
|
*/
|
|
25
27
|
export async function listAttachments(client, args) {
|
|
26
28
|
try {
|
|
27
|
-
// Build the endpoint path based on resource type
|
|
28
29
|
const endpoint = `/${args.resource_type}/${args.resource_id}/attachments`;
|
|
29
|
-
const
|
|
30
|
-
|
|
31
|
-
};
|
|
32
|
-
const
|
|
33
|
-
cacheTTL: 60, // 1 minute cache for attachments
|
|
34
|
-
});
|
|
35
|
-
const attachments = Array.isArray(response.data) ? response.data : [response.data];
|
|
36
|
-
const summary = attachments.map((attachment) => {
|
|
30
|
+
const response = await client.getPaginated(endpoint, {}, {
|
|
31
|
+
cacheTTL: 60,
|
|
32
|
+
}, args.limit);
|
|
33
|
+
const summary = response.data.map((attachment) => {
|
|
37
34
|
const attrs = attachment.attributes;
|
|
38
35
|
return {
|
|
39
36
|
id: attachment.id,
|
|
@@ -46,14 +43,19 @@ export async function listAttachments(client, args) {
|
|
|
46
43
|
created_at: attrs['created-at'],
|
|
47
44
|
};
|
|
48
45
|
});
|
|
46
|
+
if (args.output_mode === 'compact') {
|
|
47
|
+
const headers = ['Name', 'ID', 'Type', 'Size'];
|
|
48
|
+
const rows = summary.map(a => [a.name, a.id, a.content_type || '', a.file_size]);
|
|
49
|
+
return { content: [{ type: 'text', text: formatCompactTable(`# Attachments (${args.resource_type} ${args.resource_id})`, headers, rows, buildFooter(summary.length, response.hasMore)) }], data: buildLeanData(summary.map(a => a.id), response.hasMore) };
|
|
50
|
+
}
|
|
49
51
|
return {
|
|
50
52
|
content: [
|
|
51
53
|
{
|
|
52
54
|
type: 'text',
|
|
53
|
-
text: formatAttachmentList(summary, args.resource_type, args.resource_id),
|
|
55
|
+
text: formatAttachmentList(summary, args.resource_type, args.resource_id, response.hasMore),
|
|
54
56
|
},
|
|
55
57
|
],
|
|
56
|
-
data: summary,
|
|
58
|
+
data: buildLeanData(summary.map(a => a.id), response.hasMore),
|
|
57
59
|
};
|
|
58
60
|
}
|
|
59
61
|
catch (error) {
|
|
@@ -75,7 +77,7 @@ function formatFileSize(bytes) {
|
|
|
75
77
|
/**
|
|
76
78
|
* Format attachment list for display
|
|
77
79
|
*/
|
|
78
|
-
function formatAttachmentList(attachments, resourceType, resourceId) {
|
|
80
|
+
function formatAttachmentList(attachments, resourceType, resourceId, hasMore) {
|
|
79
81
|
const lines = [
|
|
80
82
|
`# Attachments for ${resourceType} ${resourceId}`,
|
|
81
83
|
'',
|
|
@@ -98,6 +100,9 @@ function formatAttachmentList(attachments, resourceType, resourceId) {
|
|
|
98
100
|
if (attachments.length === 0) {
|
|
99
101
|
lines.push('*No attachments found for this resource.*');
|
|
100
102
|
}
|
|
103
|
+
if (hasMore) {
|
|
104
|
+
lines.push('', '*More results available — increase the `limit` parameter to fetch additional records.*');
|
|
105
|
+
}
|
|
101
106
|
return lines.join('\n');
|
|
102
107
|
}
|
|
103
108
|
//# sourceMappingURL=attachments.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"attachments.js","sourceRoot":"","sources":["../../src/tools/attachments.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"attachments.js","sourceRoot":"","sources":["../../src/tools/attachments.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,14 +15,6 @@ export declare const ComplianceCheckSchema: z.ZodObject<{
|
|
|
15
15
|
checks?: ("passwords" | "configurations" | "documentation" | "warranties")[] | undefined;
|
|
16
16
|
}>;
|
|
17
17
|
export type ComplianceCheckArgs = z.infer<typeof ComplianceCheckSchema>;
|
|
18
|
-
interface ComplianceIssue {
|
|
19
|
-
severity: 'low' | 'medium' | 'high' | 'critical';
|
|
20
|
-
category: string;
|
|
21
|
-
issue: string;
|
|
22
|
-
resource_type: string;
|
|
23
|
-
resource_id?: string;
|
|
24
|
-
recommendation: string;
|
|
25
|
-
}
|
|
26
18
|
/**
|
|
27
19
|
* Perform comprehensive compliance checks on ITGlue data
|
|
28
20
|
*/
|
|
@@ -47,8 +39,12 @@ export declare function performComplianceCheck(client: APIClient, args: Complian
|
|
|
47
39
|
medium: number;
|
|
48
40
|
low: number;
|
|
49
41
|
};
|
|
50
|
-
|
|
42
|
+
top_issues: {
|
|
43
|
+
severity: "low" | "medium" | "high" | "critical";
|
|
44
|
+
category: string;
|
|
45
|
+
resource_type: string;
|
|
46
|
+
resource_id: string | undefined;
|
|
47
|
+
}[];
|
|
51
48
|
};
|
|
52
49
|
}>;
|
|
53
|
-
export {};
|
|
54
50
|
//# sourceMappingURL=compliance-check.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compliance-check.d.ts","sourceRoot":"","sources":["../../../../src/tools/auxiliary/audit/compliance-check.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAI5D,eAAO,MAAM,qBAAqB;;;;;;;;;EAMhC,CAAC;AAEH,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"compliance-check.d.ts","sourceRoot":"","sources":["../../../../src/tools/auxiliary/audit/compliance-check.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAI5D,eAAO,MAAM,qBAAqB;;;;;;;;;EAMhC,CAAC;AAEH,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAWxE;;GAEG;AACH,wBAAsB,sBAAsB,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkDxF"}
|