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.
Files changed (70) hide show
  1. package/dist/lib/api-client.d.ts +21 -1
  2. package/dist/lib/api-client.d.ts.map +1 -1
  3. package/dist/lib/api-client.js +72 -0
  4. package/dist/lib/api-client.js.map +1 -1
  5. package/dist/lib/batch-processor.d.ts +37 -0
  6. package/dist/lib/batch-processor.d.ts.map +1 -0
  7. package/dist/lib/batch-processor.js +72 -0
  8. package/dist/lib/batch-processor.js.map +1 -0
  9. package/dist/lib/format-utils.d.ts +47 -0
  10. package/dist/lib/format-utils.d.ts.map +1 -0
  11. package/dist/lib/format-utils.js +82 -0
  12. package/dist/lib/format-utils.js.map +1 -0
  13. package/dist/tools/attachments.d.ts +8 -9
  14. package/dist/tools/attachments.d.ts.map +1 -1
  15. package/dist/tools/attachments.js +18 -13
  16. package/dist/tools/attachments.js.map +1 -1
  17. package/dist/tools/auxiliary/audit/compliance-check.d.ts +6 -10
  18. package/dist/tools/auxiliary/audit/compliance-check.d.ts.map +1 -1
  19. package/dist/tools/auxiliary/audit/compliance-check.js +15 -34
  20. package/dist/tools/auxiliary/audit/compliance-check.js.map +1 -1
  21. package/dist/tools/auxiliary/reporting/organization-report.js +12 -13
  22. package/dist/tools/auxiliary/reporting/organization-report.js.map +1 -1
  23. package/dist/tools/auxiliary/staleness/staleness-detector.d.ts.map +1 -1
  24. package/dist/tools/auxiliary/staleness/staleness-detector.js +10 -25
  25. package/dist/tools/auxiliary/staleness/staleness-detector.js.map +1 -1
  26. package/dist/tools/auxiliary/validation/data-validator.js +14 -10
  27. package/dist/tools/auxiliary/validation/data-validator.js.map +1 -1
  28. package/dist/tools/configuration-interfaces.d.ts +8 -10
  29. package/dist/tools/configuration-interfaces.d.ts.map +1 -1
  30. package/dist/tools/configuration-interfaces.js +18 -12
  31. package/dist/tools/configuration-interfaces.js.map +1 -1
  32. package/dist/tools/configurations.d.ts +16 -7
  33. package/dist/tools/configurations.d.ts.map +1 -1
  34. package/dist/tools/configurations.js +31 -11
  35. package/dist/tools/configurations.js.map +1 -1
  36. package/dist/tools/contacts.d.ts +16 -8
  37. package/dist/tools/contacts.d.ts.map +1 -1
  38. package/dist/tools/contacts.js +23 -10
  39. package/dist/tools/contacts.js.map +1 -1
  40. package/dist/tools/documents.d.ts +16 -7
  41. package/dist/tools/documents.d.ts.map +1 -1
  42. package/dist/tools/documents.js +23 -11
  43. package/dist/tools/documents.js.map +1 -1
  44. package/dist/tools/flexible-assets.d.ts +16 -5
  45. package/dist/tools/flexible-assets.d.ts.map +1 -1
  46. package/dist/tools/flexible-assets.js +38 -20
  47. package/dist/tools/flexible-assets.js.map +1 -1
  48. package/dist/tools/locations.d.ts +16 -6
  49. package/dist/tools/locations.d.ts.map +1 -1
  50. package/dist/tools/locations.js +23 -10
  51. package/dist/tools/locations.js.map +1 -1
  52. package/dist/tools/organizations.d.ts +16 -6
  53. package/dist/tools/organizations.d.ts.map +1 -1
  54. package/dist/tools/organizations.js +32 -14
  55. package/dist/tools/organizations.js.map +1 -1
  56. package/dist/tools/passwords.d.ts +16 -6
  57. package/dist/tools/passwords.d.ts.map +1 -1
  58. package/dist/tools/passwords.js +30 -10
  59. package/dist/tools/passwords.js.map +1 -1
  60. package/dist/tools/related-items.d.ts +8 -8
  61. package/dist/tools/related-items.d.ts.map +1 -1
  62. package/dist/tools/related-items.js +18 -12
  63. package/dist/tools/related-items.js.map +1 -1
  64. package/dist/tools/search.d.ts +9 -1
  65. package/dist/tools/search.d.ts.map +1 -1
  66. package/dist/tools/search.js +16 -8
  67. package/dist/tools/search.js.map +1 -1
  68. package/package.json +2 -1
  69. package/scripts/CLAUDE.md +7 -0
  70. package/scripts/batch_processor.py +213 -0
@@ -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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"}
@@ -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":"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"}
@@ -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":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACtC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AACrC,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AAEpC,MAAM,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAC1D,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,oBAAoB,CAAC,CAAC;AAqBjF;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,OAAqB,EACrB,YAAoB,KAAK;IAEzB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,MAAM,IAAI,GAAG,KAAK,CAAC,SAAS,EAAE,CAAC,WAAW,CAAC,EAAE;YAC3C,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;SAChC,CAAC,CAAC;QAEH,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,MAAM,GAAG,EAAE,CAAC;QAEhB,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE;YACvC,MAAM,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;QAC7B,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE;YACvC,MAAM,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;QAC7B,CAAC,CAAC,CAAC;QAEH,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;YAC5B,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACrB,MAAM,CAAC,IAAI,KAAK,CAAC,mCAAmC,SAAS,IAAI,CAAC,CAAC,CAAC;QACtE,CAAC,EAAE,SAAS,CAAC,CAAC;QAEd,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;YACxB,YAAY,CAAC,KAAK,CAAC,CAAC;YACpB,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC;gBACf,OAAO,CAAC,EAAE,KAAK,EAAE,4BAA4B,IAAI,KAAK,MAAM,EAAE,EAAE,CAAC,CAAC;gBAClE,OAAO;YACT,CAAC;YACD,IAAI,CAAC;gBACH,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;YAC9B,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,CAAC,EAAE,KAAK,EAAE,wBAAwB,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;YACrE,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;YACvB,YAAY,CAAC,KAAK,CAAC,CAAC;YACpB,8CAA8C;YAC9C,OAAO,CAAC,EAAE,KAAK,EAAE,oCAAoC,GAAG,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QACxE,CAAC,CAAC,CAAC;QAEH,mBAAmB;QACnB,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;QAC1C,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;IACnB,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,yBAAyB;IAC7C,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;QAC7E,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC;IACvB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC"}
@@ -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
- id: string;
37
- name: any;
38
- file_name: any;
39
- content_type: any;
40
- file_size: string;
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;AAKtD,eAAO,MAAM,yBAAyB;;;;;;;;;;;;EAapC,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;;;;;;;;;;;;;;;;;;;;;GA0CjF"}
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).max(100).default(50).describe('Maximum number of attachments to return'),
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 params = {
30
- 'page[size]': args.limit,
31
- };
32
- const response = await client.get(endpoint, params, {
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;AAG9E,cAAc;AACd,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAAC,MAAM,CAAC;IAChD,aAAa,EAAE,CAAC;SACb,IAAI,CAAC;QACJ,gBAAgB;QAChB,WAAW;QACX,iBAAiB;QACjB,WAAW;QACX,UAAU;QACV,WAAW;KACZ,CAAC;SACD,QAAQ,CAAC,0CAA0C,CAAC;IACvD,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,oBAAoB,CAAC;IACtD,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,yCAAyC,CAAC;CAClG,CAAC,CAAC;AAIH;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,MAAiB,EAAE,IAAyB;IAChF,IAAI,CAAC;QACH,iDAAiD;QACjD,MAAM,QAAQ,GAAG,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,WAAW,cAAc,CAAC;QAE1E,MAAM,MAAM,GAAwB;YAClC,YAAY,EAAE,IAAI,CAAC,KAAK;SACzB,CAAC;QAEF,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,GAAG,CAAuB,QAAQ,EAAE,MAAM,EAAE;YACxE,QAAQ,EAAE,EAAE,EAAE,iCAAiC;SAChD,CAAC,CAAC;QAEH,MAAM,WAAW,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAEnF,MAAM,OAAO,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE;YAC7C,MAAM,KAAK,GAAG,UAAU,CAAC,UAAiB,CAAC;YAC3C,OAAO;gBACL,EAAE,EAAE,UAAU,CAAC,EAAE;gBACjB,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,SAAS,EAAE,KAAK,CAAC,WAAW,CAAC;gBAC7B,YAAY,EAAE,KAAK,CAAC,cAAc,CAAC;gBACnC,SAAS,EAAE,cAAc,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;gBAC7C,YAAY,EAAE,KAAK,CAAC,cAAc,CAAC;gBACnC,KAAK,EAAE,KAAK,CAAC,KAAK;gBAClB,UAAU,EAAE,KAAK,CAAC,YAAY,CAAC;aAChC,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAe;oBACrB,IAAI,EAAE,oBAAoB,CAAC,OAAO,EAAE,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,WAAW,CAAC;iBAC1E;aACF;YACD,IAAI,EAAE,OAAO;SACd,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,QAAQ,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;QACvC,OAAO,mBAAmB,CAAC,QAAQ,CAAC,CAAC;IACvC,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,cAAc,CAAC,KAAa;IACnC,IAAI,KAAK,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAC9B,MAAM,CAAC,GAAG,IAAI,CAAC;IACf,MAAM,KAAK,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IACtC,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACpD,OAAO,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;AAC9D,CAAC;AAED;;GAEG;AACH,SAAS,oBAAoB,CAC3B,WASE,EACF,YAAoB,EACpB,UAAkB;IAElB,MAAM,KAAK,GAAG;QACZ,qBAAqB,YAAY,IAAI,UAAU,EAAE;QACjD,EAAE;QACF,SAAS,WAAW,CAAC,MAAM,iBAAiB;QAC5C,EAAE;KACH,CAAC;IAEF,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;QACrC,KAAK,CAAC,IAAI,CAAC,MAAM,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC;QACpC,KAAK,CAAC,IAAI,CAAC,aAAa,UAAU,CAAC,EAAE,EAAE,CAAC,CAAC;QACzC,KAAK,CAAC,IAAI,CAAC,oBAAoB,UAAU,CAAC,SAAS,EAAE,CAAC,CAAC;QACvD,KAAK,CAAC,IAAI,CAAC,eAAe,UAAU,CAAC,YAAY,EAAE,CAAC,CAAC;QACrD,KAAK,CAAC,IAAI,CAAC,eAAe,UAAU,CAAC,SAAS,EAAE,CAAC,CAAC;QAClD,KAAK,CAAC,IAAI,CAAC,uBAAuB,UAAU,CAAC,YAAY,EAAE,CAAC,CAAC;QAC7D,IAAI,UAAU,CAAC,KAAK,EAAE,CAAC;YACrB,KAAK,CAAC,IAAI,CAAC,gBAAgB,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC;QACjD,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,kBAAkB,UAAU,CAAC,UAAU,EAAE,CAAC,CAAC;QACtD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjB,CAAC;IAED,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC7B,KAAK,CAAC,IAAI,CAAC,2CAA2C,CAAC,CAAC;IAC1D,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,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
- issues: ComplianceIssue[];
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;AAExE,UAAU,eAAe;IACvB,QAAQ,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,UAAU,CAAC;IACjD,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;CACxB;AAED;;GAEG;AACH,wBAAsB,sBAAsB,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;GAkDxF"}
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"}