@wilnertech/halopsa-mcp-server 1.0.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 (76) hide show
  1. package/.env.example +19 -0
  2. package/LICENSE +21 -0
  3. package/README.md +270 -0
  4. package/dist/api/client.d.ts +85 -0
  5. package/dist/api/client.d.ts.map +1 -0
  6. package/dist/api/client.js +297 -0
  7. package/dist/api/client.js.map +1 -0
  8. package/dist/api/errors.d.ts +60 -0
  9. package/dist/api/errors.d.ts.map +1 -0
  10. package/dist/api/errors.js +188 -0
  11. package/dist/api/errors.js.map +1 -0
  12. package/dist/cache/memory-cache.d.ts +89 -0
  13. package/dist/cache/memory-cache.d.ts.map +1 -0
  14. package/dist/cache/memory-cache.js +175 -0
  15. package/dist/cache/memory-cache.js.map +1 -0
  16. package/dist/cache/prewarm.d.ts +12 -0
  17. package/dist/cache/prewarm.d.ts.map +1 -0
  18. package/dist/cache/prewarm.js +55 -0
  19. package/dist/cache/prewarm.js.map +1 -0
  20. package/dist/index.d.ts +12 -0
  21. package/dist/index.d.ts.map +1 -0
  22. package/dist/index.js +141 -0
  23. package/dist/index.js.map +1 -0
  24. package/dist/schemas/common.d.ts +212 -0
  25. package/dist/schemas/common.d.ts.map +1 -0
  26. package/dist/schemas/common.js +127 -0
  27. package/dist/schemas/common.js.map +1 -0
  28. package/dist/tools/assets.d.ts +482 -0
  29. package/dist/tools/assets.d.ts.map +1 -0
  30. package/dist/tools/assets.js +732 -0
  31. package/dist/tools/assets.js.map +1 -0
  32. package/dist/tools/batch-operations.d.ts +125 -0
  33. package/dist/tools/batch-operations.d.ts.map +1 -0
  34. package/dist/tools/batch-operations.js +207 -0
  35. package/dist/tools/batch-operations.js.map +1 -0
  36. package/dist/tools/clients.d.ts +145 -0
  37. package/dist/tools/clients.d.ts.map +1 -0
  38. package/dist/tools/clients.js +148 -0
  39. package/dist/tools/clients.js.map +1 -0
  40. package/dist/tools/reference-data.d.ts +118 -0
  41. package/dist/tools/reference-data.d.ts.map +1 -0
  42. package/dist/tools/reference-data.js +103 -0
  43. package/dist/tools/reference-data.js.map +1 -0
  44. package/dist/tools/registrations.d.ts +7 -0
  45. package/dist/tools/registrations.d.ts.map +1 -0
  46. package/dist/tools/registrations.js +61 -0
  47. package/dist/tools/registrations.js.map +1 -0
  48. package/dist/tools/registry.d.ts +67 -0
  49. package/dist/tools/registry.d.ts.map +1 -0
  50. package/dist/tools/registry.js +71 -0
  51. package/dist/tools/registry.js.map +1 -0
  52. package/dist/tools/sites.d.ts +188 -0
  53. package/dist/tools/sites.d.ts.map +1 -0
  54. package/dist/tools/sites.js +258 -0
  55. package/dist/tools/sites.js.map +1 -0
  56. package/dist/tools/users.d.ts +317 -0
  57. package/dist/tools/users.d.ts.map +1 -0
  58. package/dist/tools/users.js +489 -0
  59. package/dist/tools/users.js.map +1 -0
  60. package/dist/types/halopsa.d.ts +212 -0
  61. package/dist/types/halopsa.d.ts.map +1 -0
  62. package/dist/types/halopsa.js +8 -0
  63. package/dist/types/halopsa.js.map +1 -0
  64. package/dist/utils/formatter.d.ts +18 -0
  65. package/dist/utils/formatter.d.ts.map +1 -0
  66. package/dist/utils/formatter.js +178 -0
  67. package/dist/utils/formatter.js.map +1 -0
  68. package/dist/utils/similarity.d.ts +25 -0
  69. package/dist/utils/similarity.d.ts.map +1 -0
  70. package/dist/utils/similarity.js +90 -0
  71. package/dist/utils/similarity.js.map +1 -0
  72. package/dist/utils/zod-to-schema.d.ts +29 -0
  73. package/dist/utils/zod-to-schema.d.ts.map +1 -0
  74. package/dist/utils/zod-to-schema.js +182 -0
  75. package/dist/utils/zod-to-schema.js.map +1 -0
  76. package/package.json +61 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"assets.js","sourceRoot":"","sources":["../../src/tools/assets.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,125 @@
1
+ /**
2
+ * HaloPSA Batch Operations tools with token optimization
3
+ * Provides efficient batch retrieval operations to reduce API calls
4
+ */
5
+ import { z } from 'zod';
6
+ import type { HaloPSAAPIClient } from '../api/client.js';
7
+ import type { ZodToolDefinition } from './registry.js';
8
+ /**
9
+ * Get assets batch schema
10
+ */
11
+ export declare const GetAssetsBatchArgsSchema: z.ZodObject<{
12
+ asset_ids: z.ZodArray<z.ZodNumber, "many">;
13
+ format_options: z.ZodOptional<z.ZodObject<{
14
+ format: z.ZodOptional<z.ZodEnum<["compact", "standard", "detailed"]>>;
15
+ fields: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
16
+ omit_empty: z.ZodOptional<z.ZodBoolean>;
17
+ }, "strip", z.ZodTypeAny, {
18
+ format?: "compact" | "standard" | "detailed" | undefined;
19
+ fields?: string[] | undefined;
20
+ omit_empty?: boolean | undefined;
21
+ }, {
22
+ format?: "compact" | "standard" | "detailed" | undefined;
23
+ fields?: string[] | undefined;
24
+ omit_empty?: boolean | undefined;
25
+ }>>;
26
+ }, "strip", z.ZodTypeAny, {
27
+ asset_ids: number[];
28
+ format_options?: {
29
+ format?: "compact" | "standard" | "detailed" | undefined;
30
+ fields?: string[] | undefined;
31
+ omit_empty?: boolean | undefined;
32
+ } | undefined;
33
+ }, {
34
+ asset_ids: number[];
35
+ format_options?: {
36
+ format?: "compact" | "standard" | "detailed" | undefined;
37
+ fields?: string[] | undefined;
38
+ omit_empty?: boolean | undefined;
39
+ } | undefined;
40
+ }>;
41
+ /**
42
+ * Get users batch schema
43
+ */
44
+ export declare const GetUsersBatchArgsSchema: z.ZodObject<{
45
+ user_ids: z.ZodArray<z.ZodNumber, "many">;
46
+ format_options: z.ZodOptional<z.ZodObject<{
47
+ format: z.ZodOptional<z.ZodEnum<["compact", "standard", "detailed"]>>;
48
+ fields: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
49
+ omit_empty: z.ZodOptional<z.ZodBoolean>;
50
+ }, "strip", z.ZodTypeAny, {
51
+ format?: "compact" | "standard" | "detailed" | undefined;
52
+ fields?: string[] | undefined;
53
+ omit_empty?: boolean | undefined;
54
+ }, {
55
+ format?: "compact" | "standard" | "detailed" | undefined;
56
+ fields?: string[] | undefined;
57
+ omit_empty?: boolean | undefined;
58
+ }>>;
59
+ }, "strip", z.ZodTypeAny, {
60
+ user_ids: number[];
61
+ format_options?: {
62
+ format?: "compact" | "standard" | "detailed" | undefined;
63
+ fields?: string[] | undefined;
64
+ omit_empty?: boolean | undefined;
65
+ } | undefined;
66
+ }, {
67
+ user_ids: number[];
68
+ format_options?: {
69
+ format?: "compact" | "standard" | "detailed" | undefined;
70
+ fields?: string[] | undefined;
71
+ omit_empty?: boolean | undefined;
72
+ } | undefined;
73
+ }>;
74
+ /**
75
+ * Get sites batch schema
76
+ */
77
+ export declare const GetSitesBatchArgsSchema: z.ZodObject<{
78
+ site_ids: z.ZodArray<z.ZodNumber, "many">;
79
+ format_options: z.ZodOptional<z.ZodObject<{
80
+ format: z.ZodOptional<z.ZodEnum<["compact", "standard", "detailed"]>>;
81
+ fields: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
82
+ omit_empty: z.ZodOptional<z.ZodBoolean>;
83
+ }, "strip", z.ZodTypeAny, {
84
+ format?: "compact" | "standard" | "detailed" | undefined;
85
+ fields?: string[] | undefined;
86
+ omit_empty?: boolean | undefined;
87
+ }, {
88
+ format?: "compact" | "standard" | "detailed" | undefined;
89
+ fields?: string[] | undefined;
90
+ omit_empty?: boolean | undefined;
91
+ }>>;
92
+ }, "strip", z.ZodTypeAny, {
93
+ site_ids: number[];
94
+ format_options?: {
95
+ format?: "compact" | "standard" | "detailed" | undefined;
96
+ fields?: string[] | undefined;
97
+ omit_empty?: boolean | undefined;
98
+ } | undefined;
99
+ }, {
100
+ site_ids: number[];
101
+ format_options?: {
102
+ format?: "compact" | "standard" | "detailed" | undefined;
103
+ fields?: string[] | undefined;
104
+ omit_empty?: boolean | undefined;
105
+ } | undefined;
106
+ }>;
107
+ /**
108
+ * Get multiple assets in a single logical operation
109
+ * More efficient than individual calls - reduces overall token usage
110
+ * Note: HaloPSA API may not support true batch endpoints, so this
111
+ * performs parallel individual requests with caching
112
+ */
113
+ export declare function getAssetsBatch(client: HaloPSAAPIClient, args: z.infer<typeof GetAssetsBatchArgsSchema>): Promise<string>;
114
+ /**
115
+ * Get multiple users in a single logical operation
116
+ */
117
+ export declare function getUsersBatch(client: HaloPSAAPIClient, args: z.infer<typeof GetUsersBatchArgsSchema>): Promise<string>;
118
+ /**
119
+ * Get multiple sites in a single logical operation
120
+ */
121
+ export declare function getSitesBatch(client: HaloPSAAPIClient, args: z.infer<typeof GetSitesBatchArgsSchema>): Promise<string>;
122
+ export declare const getAssetsBatchTool: ZodToolDefinition;
123
+ export declare const getUsersBatchTool: ZodToolDefinition;
124
+ export declare const getSitesBatchTool: ZodToolDefinition;
125
+ //# sourceMappingURL=batch-operations.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"batch-operations.d.ts","sourceRoot":"","sources":["../../src/tools/batch-operations.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAcvD;;GAEG;AACH,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAInC,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAIlC,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAIlC,CAAC;AAMH;;;;;GAKG;AACH,wBAAsB,cAAc,CAClC,MAAM,EAAE,gBAAgB,EACxB,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,GAC7C,OAAO,CAAC,MAAM,CAAC,CAsDjB;AAED;;GAEG;AACH,wBAAsB,aAAa,CACjC,MAAM,EAAE,gBAAgB,EACxB,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,GAC5C,OAAO,CAAC,MAAM,CAAC,CAsDjB;AAED;;GAEG;AACH,wBAAsB,aAAa,CACjC,MAAM,EAAE,gBAAgB,EACxB,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,GAC5C,OAAO,CAAC,MAAM,CAAC,CAsDjB;AAMD,eAAO,MAAM,kBAAkB,EAAE,iBAKhC,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,iBAK/B,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,iBAK/B,CAAC"}
@@ -0,0 +1,207 @@
1
+ /**
2
+ * HaloPSA Batch Operations tools with token optimization
3
+ * Provides efficient batch retrieval operations to reduce API calls
4
+ */
5
+ import { z } from 'zod';
6
+ import { formatResponse } from '../utils/formatter.js';
7
+ import { TTL } from '../cache/memory-cache.js';
8
+ import { FormatOptionsSchema } from '../schemas/common.js';
9
+ // =============================================================================
10
+ // Zod Schemas for Input Validation
11
+ // =============================================================================
12
+ /**
13
+ * Get assets batch schema
14
+ */
15
+ export const GetAssetsBatchArgsSchema = z.object({
16
+ asset_ids: z.array(z.number().int()).min(1).max(50)
17
+ .describe('Array of asset IDs to retrieve (max 50)'),
18
+ format_options: FormatOptionsSchema,
19
+ });
20
+ /**
21
+ * Get users batch schema
22
+ */
23
+ export const GetUsersBatchArgsSchema = z.object({
24
+ user_ids: z.array(z.number().int()).min(1).max(50)
25
+ .describe('Array of user IDs to retrieve (max 50)'),
26
+ format_options: FormatOptionsSchema,
27
+ });
28
+ /**
29
+ * Get sites batch schema
30
+ */
31
+ export const GetSitesBatchArgsSchema = z.object({
32
+ site_ids: z.array(z.number().int()).min(1).max(50)
33
+ .describe('Array of site IDs to retrieve (max 50)'),
34
+ format_options: FormatOptionsSchema,
35
+ });
36
+ // =============================================================================
37
+ // Tool Implementations
38
+ // =============================================================================
39
+ /**
40
+ * Get multiple assets in a single logical operation
41
+ * More efficient than individual calls - reduces overall token usage
42
+ * Note: HaloPSA API may not support true batch endpoints, so this
43
+ * performs parallel individual requests with caching
44
+ */
45
+ export async function getAssetsBatch(client, args) {
46
+ const formatOptions = args.format_options || {};
47
+ if (args.asset_ids.length > 50) {
48
+ return JSON.stringify({
49
+ error: true,
50
+ message: 'Maximum 50 asset IDs per batch request',
51
+ }, null, 2);
52
+ }
53
+ // Fetch all assets in parallel
54
+ const assetPromises = args.asset_ids.map(async (id) => {
55
+ try {
56
+ const asset = await client.getCached(`/Asset/${id}`, undefined, {
57
+ enabled: true,
58
+ ttl: TTL.ASSET_LIST,
59
+ keyPrefix: `asset:${id}`,
60
+ });
61
+ return { success: true, id, data: asset };
62
+ }
63
+ catch (error) {
64
+ return {
65
+ success: false,
66
+ id,
67
+ error: error instanceof Error ? error.message : 'Unknown error',
68
+ };
69
+ }
70
+ });
71
+ const results = await Promise.all(assetPromises);
72
+ // Separate successful and failed results
73
+ const successful = results.filter((r) => r.success).map((r) => r.data);
74
+ const failed = results.filter((r) => !r.success).map((r) => ({
75
+ id: r.id,
76
+ error: r.error,
77
+ }));
78
+ const result = {
79
+ requested: args.asset_ids.length,
80
+ retrieved: successful.length,
81
+ failed: failed.length,
82
+ assets: JSON.parse(formatResponse(successful, formatOptions)),
83
+ ...(failed.length > 0 && { errors: failed }),
84
+ };
85
+ if (formatOptions.format === 'detailed') {
86
+ return JSON.stringify(result, null, 2);
87
+ }
88
+ return JSON.stringify(result);
89
+ }
90
+ /**
91
+ * Get multiple users in a single logical operation
92
+ */
93
+ export async function getUsersBatch(client, args) {
94
+ const formatOptions = args.format_options || {};
95
+ if (args.user_ids.length > 50) {
96
+ return JSON.stringify({
97
+ error: true,
98
+ message: 'Maximum 50 user IDs per batch request',
99
+ }, null, 2);
100
+ }
101
+ // Fetch all users in parallel
102
+ const userPromises = args.user_ids.map(async (id) => {
103
+ try {
104
+ const user = await client.getCached(`/Users/${id}`, undefined, {
105
+ enabled: true,
106
+ ttl: TTL.USER_LIST,
107
+ keyPrefix: `user:${id}`,
108
+ });
109
+ return { success: true, id, data: user };
110
+ }
111
+ catch (error) {
112
+ return {
113
+ success: false,
114
+ id,
115
+ error: error instanceof Error ? error.message : 'Unknown error',
116
+ };
117
+ }
118
+ });
119
+ const results = await Promise.all(userPromises);
120
+ // Separate successful and failed results
121
+ const successful = results.filter((r) => r.success).map((r) => r.data);
122
+ const failed = results.filter((r) => !r.success).map((r) => ({
123
+ id: r.id,
124
+ error: r.error,
125
+ }));
126
+ const result = {
127
+ requested: args.user_ids.length,
128
+ retrieved: successful.length,
129
+ failed: failed.length,
130
+ users: JSON.parse(formatResponse(successful, formatOptions)),
131
+ ...(failed.length > 0 && { errors: failed }),
132
+ };
133
+ if (formatOptions.format === 'detailed') {
134
+ return JSON.stringify(result, null, 2);
135
+ }
136
+ return JSON.stringify(result);
137
+ }
138
+ /**
139
+ * Get multiple sites in a single logical operation
140
+ */
141
+ export async function getSitesBatch(client, args) {
142
+ const formatOptions = args.format_options || {};
143
+ if (args.site_ids.length > 50) {
144
+ return JSON.stringify({
145
+ error: true,
146
+ message: 'Maximum 50 site IDs per batch request',
147
+ }, null, 2);
148
+ }
149
+ // Fetch all sites in parallel
150
+ const sitePromises = args.site_ids.map(async (id) => {
151
+ try {
152
+ const site = await client.getCached(`/Site/${id}`, undefined, {
153
+ enabled: true,
154
+ ttl: TTL.SITE_LIST,
155
+ keyPrefix: `site:${id}`,
156
+ });
157
+ return { success: true, id, data: site };
158
+ }
159
+ catch (error) {
160
+ return {
161
+ success: false,
162
+ id,
163
+ error: error instanceof Error ? error.message : 'Unknown error',
164
+ };
165
+ }
166
+ });
167
+ const results = await Promise.all(sitePromises);
168
+ // Separate successful and failed results
169
+ const successful = results.filter((r) => r.success).map((r) => r.data);
170
+ const failed = results.filter((r) => !r.success).map((r) => ({
171
+ id: r.id,
172
+ error: r.error,
173
+ }));
174
+ const result = {
175
+ requested: args.site_ids.length,
176
+ retrieved: successful.length,
177
+ failed: failed.length,
178
+ sites: JSON.parse(formatResponse(successful, formatOptions)),
179
+ ...(failed.length > 0 && { errors: failed }),
180
+ };
181
+ if (formatOptions.format === 'detailed') {
182
+ return JSON.stringify(result, null, 2);
183
+ }
184
+ return JSON.stringify(result);
185
+ }
186
+ // =============================================================================
187
+ // Tool Definitions (for ToolRegistry)
188
+ // =============================================================================
189
+ export const getAssetsBatchTool = {
190
+ name: 'get_halopsa_assets_batch',
191
+ description: 'Get multiple assets in a single call with caching. More efficient than individual calls. Max 50 IDs.',
192
+ schema: GetAssetsBatchArgsSchema,
193
+ handler: getAssetsBatch,
194
+ };
195
+ export const getUsersBatchTool = {
196
+ name: 'get_halopsa_users_batch',
197
+ description: 'Get multiple users in a single call with caching. Max 50 IDs.',
198
+ schema: GetUsersBatchArgsSchema,
199
+ handler: getUsersBatch,
200
+ };
201
+ export const getSitesBatchTool = {
202
+ name: 'get_halopsa_sites_batch',
203
+ description: 'Get multiple sites in a single call with caching. Max 50 IDs.',
204
+ schema: GetSitesBatchArgsSchema,
205
+ handler: getSitesBatch,
206
+ };
207
+ //# sourceMappingURL=batch-operations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"batch-operations.js","sourceRoot":"","sources":["../../src/tools/batch-operations.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,145 @@
1
+ /**
2
+ * HaloPSA Client (Top-Level Organization) tools with token optimization
3
+ * Provides read operations for clients with caching
4
+ */
5
+ import { z } from 'zod';
6
+ import type { HaloPSAAPIClient } from '../api/client.js';
7
+ import type { ZodToolDefinition } from './registry.js';
8
+ /**
9
+ * List clients schema
10
+ */
11
+ export declare const ListClientsArgsSchema: z.ZodObject<{
12
+ search: z.ZodOptional<z.ZodString>;
13
+ toplevel_id: z.ZodOptional<z.ZodNumber>;
14
+ count: z.ZodOptional<z.ZodNumber>;
15
+ page_no: z.ZodOptional<z.ZodNumber>;
16
+ includeactive: z.ZodOptional<z.ZodBoolean>;
17
+ includeinactive: z.ZodOptional<z.ZodBoolean>;
18
+ format_options: z.ZodOptional<z.ZodObject<{
19
+ format: z.ZodOptional<z.ZodEnum<["compact", "standard", "detailed"]>>;
20
+ fields: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
21
+ omit_empty: z.ZodOptional<z.ZodBoolean>;
22
+ }, "strip", z.ZodTypeAny, {
23
+ format?: "compact" | "standard" | "detailed" | undefined;
24
+ fields?: string[] | undefined;
25
+ omit_empty?: boolean | undefined;
26
+ }, {
27
+ format?: "compact" | "standard" | "detailed" | undefined;
28
+ fields?: string[] | undefined;
29
+ omit_empty?: boolean | undefined;
30
+ }>>;
31
+ }, "strip", z.ZodTypeAny, {
32
+ count?: number | undefined;
33
+ page_no?: number | undefined;
34
+ search?: string | undefined;
35
+ includeactive?: boolean | undefined;
36
+ includeinactive?: boolean | undefined;
37
+ format_options?: {
38
+ format?: "compact" | "standard" | "detailed" | undefined;
39
+ fields?: string[] | undefined;
40
+ omit_empty?: boolean | undefined;
41
+ } | undefined;
42
+ toplevel_id?: number | undefined;
43
+ }, {
44
+ count?: number | undefined;
45
+ page_no?: number | undefined;
46
+ search?: string | undefined;
47
+ includeactive?: boolean | undefined;
48
+ includeinactive?: boolean | undefined;
49
+ format_options?: {
50
+ format?: "compact" | "standard" | "detailed" | undefined;
51
+ fields?: string[] | undefined;
52
+ omit_empty?: boolean | undefined;
53
+ } | undefined;
54
+ toplevel_id?: number | undefined;
55
+ }>;
56
+ /**
57
+ * Get single client schema
58
+ */
59
+ export declare const GetClientArgsSchema: z.ZodObject<{
60
+ client_id: z.ZodNumber;
61
+ format_options: z.ZodOptional<z.ZodObject<{
62
+ format: z.ZodOptional<z.ZodEnum<["compact", "standard", "detailed"]>>;
63
+ fields: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
64
+ omit_empty: z.ZodOptional<z.ZodBoolean>;
65
+ }, "strip", z.ZodTypeAny, {
66
+ format?: "compact" | "standard" | "detailed" | undefined;
67
+ fields?: string[] | undefined;
68
+ omit_empty?: boolean | undefined;
69
+ }, {
70
+ format?: "compact" | "standard" | "detailed" | undefined;
71
+ fields?: string[] | undefined;
72
+ omit_empty?: boolean | undefined;
73
+ }>>;
74
+ }, "strip", z.ZodTypeAny, {
75
+ client_id: number;
76
+ format_options?: {
77
+ format?: "compact" | "standard" | "detailed" | undefined;
78
+ fields?: string[] | undefined;
79
+ omit_empty?: boolean | undefined;
80
+ } | undefined;
81
+ }, {
82
+ client_id: number;
83
+ format_options?: {
84
+ format?: "compact" | "standard" | "detailed" | undefined;
85
+ fields?: string[] | undefined;
86
+ omit_empty?: boolean | undefined;
87
+ } | undefined;
88
+ }>;
89
+ /**
90
+ * Search clients by name schema
91
+ */
92
+ export declare const SearchClientsArgsSchema: z.ZodObject<{
93
+ name: z.ZodString;
94
+ includeactive: z.ZodOptional<z.ZodBoolean>;
95
+ includeinactive: z.ZodOptional<z.ZodBoolean>;
96
+ format_options: z.ZodOptional<z.ZodObject<{
97
+ format: z.ZodOptional<z.ZodEnum<["compact", "standard", "detailed"]>>;
98
+ fields: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
99
+ omit_empty: z.ZodOptional<z.ZodBoolean>;
100
+ }, "strip", z.ZodTypeAny, {
101
+ format?: "compact" | "standard" | "detailed" | undefined;
102
+ fields?: string[] | undefined;
103
+ omit_empty?: boolean | undefined;
104
+ }, {
105
+ format?: "compact" | "standard" | "detailed" | undefined;
106
+ fields?: string[] | undefined;
107
+ omit_empty?: boolean | undefined;
108
+ }>>;
109
+ }, "strip", z.ZodTypeAny, {
110
+ name: string;
111
+ includeactive?: boolean | undefined;
112
+ includeinactive?: boolean | undefined;
113
+ format_options?: {
114
+ format?: "compact" | "standard" | "detailed" | undefined;
115
+ fields?: string[] | undefined;
116
+ omit_empty?: boolean | undefined;
117
+ } | undefined;
118
+ }, {
119
+ name: string;
120
+ includeactive?: boolean | undefined;
121
+ includeinactive?: boolean | undefined;
122
+ format_options?: {
123
+ format?: "compact" | "standard" | "detailed" | undefined;
124
+ fields?: string[] | undefined;
125
+ omit_empty?: boolean | undefined;
126
+ } | undefined;
127
+ }>;
128
+ /**
129
+ * List clients with optional filtering and token optimization
130
+ * Uses 5-minute cache TTL
131
+ */
132
+ export declare function listClients(client: HaloPSAAPIClient, args: z.infer<typeof ListClientsArgsSchema>): Promise<string>;
133
+ /**
134
+ * Get a single client by ID with full details
135
+ */
136
+ export declare function getClient(client: HaloPSAAPIClient, args: z.infer<typeof GetClientArgsSchema>): Promise<string>;
137
+ /**
138
+ * Search clients by name
139
+ * Useful for finding client IDs before creating assets/users
140
+ */
141
+ export declare function searchClients(client: HaloPSAAPIClient, args: z.infer<typeof SearchClientsArgsSchema>): Promise<string>;
142
+ export declare const listClientsTool: ZodToolDefinition;
143
+ export declare const getClientTool: ZodToolDefinition;
144
+ export declare const searchClientsTool: ZodToolDefinition;
145
+ //# sourceMappingURL=clients.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"clients.d.ts","sourceRoot":"","sources":["../../src/tools/clients.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAavD;;GAEG;AACH,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAchC,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAI9B,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAQlC,CAAC;AAMH;;;GAGG;AACH,wBAAsB,WAAW,CAC/B,MAAM,EAAE,gBAAgB,EACxB,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,GAC1C,OAAO,CAAC,MAAM,CAAC,CAwCjB;AAED;;GAEG;AACH,wBAAsB,SAAS,CAC7B,MAAM,EAAE,gBAAgB,EACxB,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,GACxC,OAAO,CAAC,MAAM,CAAC,CAQjB;AAED;;;GAGG;AACH,wBAAsB,aAAa,CACjC,MAAM,EAAE,gBAAgB,EACxB,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,GAC5C,OAAO,CAAC,MAAM,CAAC,CAqCjB;AAMD,eAAO,MAAM,eAAe,EAAE,iBAK7B,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,iBAK3B,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,iBAK/B,CAAC"}