@robinmordasiewicz/f5xc-api-mcp 3.10.0 → 3.11.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.
@@ -0,0 +1,70 @@
1
+ /**
2
+ * Error Resolution Prompts (Phase B)
3
+ *
4
+ * Provides guided diagnosis and resolution workflows for common
5
+ * F5XC API errors. These prompts help users troubleshoot issues
6
+ * systematically with framework-specific guidance.
7
+ */
8
+ /**
9
+ * Error resolution prompt definition
10
+ */
11
+ export interface ErrorPrompt {
12
+ /** HTTP status code */
13
+ code: number;
14
+ /** Error type name */
15
+ name: string;
16
+ /** Human-readable description */
17
+ description: string;
18
+ /** Prompt arguments */
19
+ arguments: ErrorPromptArgument[];
20
+ /** Prompt template */
21
+ template: string;
22
+ }
23
+ /**
24
+ * Error prompt argument
25
+ */
26
+ export interface ErrorPromptArgument {
27
+ /** Argument name */
28
+ name: string;
29
+ /** Argument description */
30
+ description: string;
31
+ /** Whether argument is required */
32
+ required: boolean;
33
+ }
34
+ /**
35
+ * 401 Unauthorized - Authentication Issues
36
+ */
37
+ export declare const error401Prompt: ErrorPrompt;
38
+ /**
39
+ * 403 Forbidden - Authorization Issues
40
+ */
41
+ export declare const error403Prompt: ErrorPrompt;
42
+ /**
43
+ * 404 Not Found - Resource Issues
44
+ */
45
+ export declare const error404Prompt: ErrorPrompt;
46
+ /**
47
+ * 409 Conflict - Resource Conflict Issues
48
+ */
49
+ export declare const error409Prompt: ErrorPrompt;
50
+ /**
51
+ * 500 Internal Server Error - Server Issues
52
+ */
53
+ export declare const error500Prompt: ErrorPrompt;
54
+ /**
55
+ * All error resolution prompts
56
+ */
57
+ export declare const ERROR_PROMPTS: ErrorPrompt[];
58
+ /**
59
+ * Get error prompt by HTTP status code
60
+ */
61
+ export declare function getErrorPrompt(code: number): ErrorPrompt | undefined;
62
+ /**
63
+ * Get error prompt by name
64
+ */
65
+ export declare function getErrorPromptByName(name: string): ErrorPrompt | undefined;
66
+ /**
67
+ * Process error prompt template with arguments
68
+ */
69
+ export declare function processErrorTemplate(prompt: ErrorPrompt, args: Record<string, string>): string;
70
+ //# sourceMappingURL=error-resolution.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"error-resolution.d.ts","sourceRoot":"","sources":["../../src/prompts/error-resolution.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,uBAAuB;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,sBAAsB;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,iCAAiC;IACjC,WAAW,EAAE,MAAM,CAAC;IACpB,uBAAuB;IACvB,SAAS,EAAE,mBAAmB,EAAE,CAAC;IACjC,sBAAsB;IACtB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,oBAAoB;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,2BAA2B;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,mCAAmC;IACnC,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,WAoD5B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,WA2D5B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,WAyD5B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,WA2D5B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,WA8D5B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,aAAa,EAAE,WAAW,EAMtC,CAAC;AAEF;;GAEG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS,CAEpE;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS,CAE1E;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,CAS9F"}
@@ -0,0 +1,350 @@
1
+ /**
2
+ * Error Resolution Prompts (Phase B)
3
+ *
4
+ * Provides guided diagnosis and resolution workflows for common
5
+ * F5XC API errors. These prompts help users troubleshoot issues
6
+ * systematically with framework-specific guidance.
7
+ */
8
+ /**
9
+ * 401 Unauthorized - Authentication Issues
10
+ */
11
+ export const error401Prompt = {
12
+ code: 401,
13
+ name: "resolve-401-unauthorized",
14
+ description: "Diagnose and resolve authentication failures (401 Unauthorized)",
15
+ arguments: [
16
+ {
17
+ name: "operation",
18
+ description: "The API operation that failed (e.g., 'create http-loadbalancer')",
19
+ required: false,
20
+ },
21
+ {
22
+ name: "error_message",
23
+ description: "The specific error message received",
24
+ required: false,
25
+ },
26
+ ],
27
+ template: `# 401 Unauthorized - Authentication Resolution
28
+
29
+ ## Common Causes
30
+ 1. **Missing API Token**: F5XC_API_TOKEN environment variable not set
31
+ 2. **Expired Token**: API token has expired and needs regeneration
32
+ 3. **Invalid Token**: Token was revoked or is malformed
33
+ 4. **Wrong Tenant**: Token is for a different F5XC tenant
34
+
35
+ ## Diagnosis Steps
36
+
37
+ ### Step 1: Verify Token Configuration
38
+ Check if the API token is properly configured:
39
+ - Environment variable: F5XC_API_TOKEN
40
+ - Tenant URL: F5XC_API_URL
41
+
42
+ ### Step 2: Validate Token
43
+ Use f5xc-api-server-info to check authentication status.
44
+ If not authenticated, the token needs to be set or refreshed.
45
+
46
+ ### Step 3: Token Regeneration
47
+ If the token is expired:
48
+ 1. Log into F5 Distributed Cloud Console
49
+ 2. Navigate to Account Settings → Credentials
50
+ 3. Generate a new API Token
51
+ 4. Set F5XC_API_TOKEN with the new value
52
+
53
+ ## Related Tools
54
+ - f5xc-api-server-info: Check current authentication status
55
+ - f5xc-api-search-tools: Find authentication-related operations
56
+
57
+ ## Resolution Checklist
58
+ - [ ] Verify F5XC_API_TOKEN is set
59
+ - [ ] Verify F5XC_API_URL points to correct tenant
60
+ - [ ] Check token expiration in Console
61
+ - [ ] Regenerate token if needed
62
+ `,
63
+ };
64
+ /**
65
+ * 403 Forbidden - Authorization Issues
66
+ */
67
+ export const error403Prompt = {
68
+ code: 403,
69
+ name: "resolve-403-forbidden",
70
+ description: "Diagnose and resolve authorization failures (403 Forbidden)",
71
+ arguments: [
72
+ {
73
+ name: "operation",
74
+ description: "The API operation that failed",
75
+ required: false,
76
+ },
77
+ {
78
+ name: "namespace",
79
+ description: "The namespace where the operation was attempted",
80
+ required: false,
81
+ },
82
+ {
83
+ name: "resource",
84
+ description: "The resource type being accessed",
85
+ required: false,
86
+ },
87
+ ],
88
+ template: `# 403 Forbidden - Authorization Resolution
89
+
90
+ ## Common Causes
91
+ 1. **Insufficient Permissions**: User lacks RBAC permissions for this operation
92
+ 2. **Namespace Restrictions**: User cannot access resources in this namespace
93
+ 3. **Resource-Level Policies**: Resource has access restrictions
94
+ 4. **Subscription Required**: Operation requires an addon service subscription
95
+
96
+ ## Diagnosis Steps
97
+
98
+ ### Step 1: Check User Roles
99
+ Verify your user account has appropriate roles:
100
+ - Namespace Admin: Full access within namespace
101
+ - Tenant Admin: Full access across tenant
102
+ - Custom roles: Check specific permissions
103
+
104
+ ### Step 2: Verify Namespace Access
105
+ Ensure you have access to the target namespace.
106
+ Use f5xc-api-search-tools with query "namespace" to find namespace operations.
107
+
108
+ ### Step 3: Check Subscription Requirements
109
+ Some features require addon subscriptions:
110
+ - WAAP Advanced features
111
+ - Bot Defense
112
+ - API Security
113
+
114
+ Use f5xc-api-dependencies with action="subscriptions" to check requirements.
115
+
116
+ ## Related Tools
117
+ - f5xc-api-dependencies: Check subscription requirements
118
+ - f5xc-api-search-tools: Find user/role operations
119
+
120
+ ## Resolution Checklist
121
+ - [ ] Verify user role includes required permissions
122
+ - [ ] Confirm namespace access is granted
123
+ - [ ] Check if addon subscription is required
124
+ - [ ] Contact tenant admin if permissions needed
125
+ `,
126
+ };
127
+ /**
128
+ * 404 Not Found - Resource Issues
129
+ */
130
+ export const error404Prompt = {
131
+ code: 404,
132
+ name: "resolve-404-not-found",
133
+ description: "Diagnose and resolve resource not found errors (404 Not Found)",
134
+ arguments: [
135
+ {
136
+ name: "resource_type",
137
+ description: "The type of resource (e.g., 'http-loadbalancer')",
138
+ required: false,
139
+ },
140
+ {
141
+ name: "resource_name",
142
+ description: "The name of the missing resource",
143
+ required: false,
144
+ },
145
+ {
146
+ name: "namespace",
147
+ description: "The namespace being searched",
148
+ required: false,
149
+ },
150
+ ],
151
+ template: `# 404 Not Found - Resource Resolution
152
+
153
+ ## Common Causes
154
+ 1. **Resource Doesn't Exist**: The specified resource hasn't been created
155
+ 2. **Wrong Namespace**: Resource exists in a different namespace
156
+ 3. **Typo in Name**: Resource name is misspelled
157
+ 4. **Deleted Resource**: Resource was previously deleted
158
+ 5. **Wrong Domain**: Using incorrect API domain for this resource type
159
+
160
+ ## Diagnosis Steps
161
+
162
+ ### Step 1: Verify Resource Exists
163
+ Use the list operation to check if the resource exists:
164
+ - Search for list operations: f5xc-api-search-tools with query "list [resource_type]"
165
+ - Execute list in the target namespace
166
+
167
+ ### Step 2: Check Other Namespaces
168
+ The resource might exist in a different namespace:
169
+ - List all namespaces
170
+ - Search for resource in each namespace
171
+
172
+ ### Step 3: Verify Resource Type
173
+ Ensure you're using the correct resource type and API domain:
174
+ - Use f5xc-api-search-resources to find the correct resource
175
+ - Check domain matches (e.g., 'virtual' for load balancers)
176
+
177
+ ## Related Tools
178
+ - f5xc-api-search-resources: Find resources by name
179
+ - f5xc-api-search-tools: Find list operations
180
+
181
+ ## Resolution Checklist
182
+ - [ ] Verify resource name spelling
183
+ - [ ] Check correct namespace is specified
184
+ - [ ] Use list operation to find existing resources
185
+ - [ ] Create resource if it doesn't exist
186
+ `,
187
+ };
188
+ /**
189
+ * 409 Conflict - Resource Conflict Issues
190
+ */
191
+ export const error409Prompt = {
192
+ code: 409,
193
+ name: "resolve-409-conflict",
194
+ description: "Diagnose and resolve resource conflict errors (409 Conflict)",
195
+ arguments: [
196
+ {
197
+ name: "resource_type",
198
+ description: "The type of resource involved",
199
+ required: false,
200
+ },
201
+ {
202
+ name: "resource_name",
203
+ description: "The name of the conflicting resource",
204
+ required: false,
205
+ },
206
+ {
207
+ name: "operation",
208
+ description: "The operation attempted (create/update/delete)",
209
+ required: false,
210
+ },
211
+ ],
212
+ template: `# 409 Conflict - Resource Conflict Resolution
213
+
214
+ ## Common Causes
215
+ 1. **Duplicate Name**: Resource with same name already exists
216
+ 2. **Version Conflict**: Resource was modified by another operation
217
+ 3. **State Conflict**: Resource is in a transitional state
218
+ 4. **Dependency Conflict**: Operation conflicts with dependent resources
219
+ 5. **Concurrent Modification**: Race condition with another update
220
+
221
+ ## Diagnosis Steps
222
+
223
+ ### Step 1: Check for Existing Resource
224
+ Use get/list operations to check current resource state:
225
+ - If creating: resource may already exist
226
+ - If updating: resource may have been modified
227
+
228
+ ### Step 2: Check Resource Dependencies
229
+ Use f5xc-api-dependencies to understand relationships:
230
+ - Check what depends on this resource
231
+ - Check what this resource depends on
232
+
233
+ ### Step 3: Handle Version Conflicts
234
+ For update operations:
235
+ - Fetch latest version of resource
236
+ - Apply changes to fresh copy
237
+ - Retry update with current version
238
+
239
+ ## Related Tools
240
+ - f5xc-api-dependencies: Check resource relationships
241
+ - f5xc-api-describe-tool: Get full schema for retry
242
+
243
+ ## Resolution Checklist
244
+ - [ ] Check if resource already exists (for creates)
245
+ - [ ] Fetch latest resource version (for updates)
246
+ - [ ] Wait for transitional states to complete
247
+ - [ ] Resolve dependency conflicts first
248
+ - [ ] Retry operation with fresh data
249
+ `,
250
+ };
251
+ /**
252
+ * 500 Internal Server Error - Server Issues
253
+ */
254
+ export const error500Prompt = {
255
+ code: 500,
256
+ name: "resolve-500-internal-error",
257
+ description: "Diagnose and handle internal server errors (500 Internal Server Error)",
258
+ arguments: [
259
+ {
260
+ name: "operation",
261
+ description: "The operation that triggered the error",
262
+ required: false,
263
+ },
264
+ {
265
+ name: "error_message",
266
+ description: "Any specific error message received",
267
+ required: false,
268
+ },
269
+ ],
270
+ template: `# 500 Internal Server Error - Resolution Guide
271
+
272
+ ## Common Causes
273
+ 1. **Transient Service Issue**: Temporary backend problem
274
+ 2. **Invalid Request Body**: Malformed or invalid request data
275
+ 3. **Backend Timeout**: Long-running operation timed out
276
+ 4. **Service Maintenance**: Planned or unplanned maintenance
277
+ 5. **Rate Limiting**: Too many requests in short period
278
+
279
+ ## Diagnosis Steps
280
+
281
+ ### Step 1: Validate Request
282
+ Check if request body is valid:
283
+ - Use f5xc-api-describe-tool to verify parameter requirements
284
+ - Check required fields and formats
285
+ - Validate JSON structure
286
+
287
+ ### Step 2: Retry with Exponential Backoff
288
+ For transient issues:
289
+ - Wait 1 second, retry
290
+ - If fails, wait 2 seconds, retry
291
+ - Continue doubling wait time (max 30 seconds)
292
+
293
+ ### Step 3: Simplify Operation
294
+ Try breaking complex operations into simpler steps:
295
+ - Create dependencies separately
296
+ - Reduce request complexity
297
+ - Check for optional fields causing issues
298
+
299
+ ### Step 4: Check Service Status
300
+ If errors persist:
301
+ - Check F5 Distributed Cloud status page
302
+ - Review system announcements
303
+ - Contact F5 support if widespread issue
304
+
305
+ ## Related Tools
306
+ - f5xc-api-describe-tool: Validate request schema
307
+ - f5xc-api-dependencies: Check prerequisites
308
+
309
+ ## Resolution Checklist
310
+ - [ ] Validate request body against schema
311
+ - [ ] Retry with exponential backoff
312
+ - [ ] Simplify request if complex
313
+ - [ ] Check F5 service status
314
+ - [ ] Contact support if persistent
315
+ `,
316
+ };
317
+ /**
318
+ * All error resolution prompts
319
+ */
320
+ export const ERROR_PROMPTS = [
321
+ error401Prompt,
322
+ error403Prompt,
323
+ error404Prompt,
324
+ error409Prompt,
325
+ error500Prompt,
326
+ ];
327
+ /**
328
+ * Get error prompt by HTTP status code
329
+ */
330
+ export function getErrorPrompt(code) {
331
+ return ERROR_PROMPTS.find((p) => p.code === code);
332
+ }
333
+ /**
334
+ * Get error prompt by name
335
+ */
336
+ export function getErrorPromptByName(name) {
337
+ return ERROR_PROMPTS.find((p) => p.name === name);
338
+ }
339
+ /**
340
+ * Process error prompt template with arguments
341
+ */
342
+ export function processErrorTemplate(prompt, args) {
343
+ let processed = prompt.template;
344
+ for (const [key, value] of Object.entries(args)) {
345
+ const placeholder = new RegExp(`\\{\\{${key}\\}\\}`, "g");
346
+ processed = processed.replace(placeholder, value || `[${key}]`);
347
+ }
348
+ return processed;
349
+ }
350
+ //# sourceMappingURL=error-resolution.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"error-resolution.js","sourceRoot":"","sources":["../../src/prompts/error-resolution.ts"],"names":[],"mappings":"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"}
@@ -3,4 +3,6 @@
3
3
  */
4
4
  export { WORKFLOW_PROMPTS, getWorkflowPrompt, processPromptTemplate, deployHttpLoadBalancerPrompt, configureWafPrompt, createMultiCloudSitePrompt, generateTerraformPrompt, } from "./workflows.js";
5
5
  export type { WorkflowPrompt, WorkflowArgument } from "./workflows.js";
6
+ export { ERROR_PROMPTS, getErrorPrompt, getErrorPromptByName, processErrorTemplate, error401Prompt, error403Prompt, error404Prompt, error409Prompt, error500Prompt, } from "./error-resolution.js";
7
+ export type { ErrorPrompt, ErrorPromptArgument } from "./error-resolution.js";
6
8
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/prompts/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACL,gBAAgB,EAChB,iBAAiB,EACjB,qBAAqB,EACrB,4BAA4B,EAC5B,kBAAkB,EAClB,0BAA0B,EAC1B,uBAAuB,GACxB,MAAM,gBAAgB,CAAC;AAExB,YAAY,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/prompts/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACL,gBAAgB,EAChB,iBAAiB,EACjB,qBAAqB,EACrB,4BAA4B,EAC5B,kBAAkB,EAClB,0BAA0B,EAC1B,uBAAuB,GACxB,MAAM,gBAAgB,CAAC;AAExB,YAAY,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAGvE,OAAO,EACL,aAAa,EACb,cAAc,EACd,oBAAoB,EACpB,oBAAoB,EACpB,cAAc,EACd,cAAc,EACd,cAAc,EACd,cAAc,EACd,cAAc,GACf,MAAM,uBAAuB,CAAC;AAE/B,YAAY,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC"}
@@ -2,4 +2,6 @@
2
2
  * Prompts Module - Export all prompt utilities
3
3
  */
4
4
  export { WORKFLOW_PROMPTS, getWorkflowPrompt, processPromptTemplate, deployHttpLoadBalancerPrompt, configureWafPrompt, createMultiCloudSitePrompt, generateTerraformPrompt, } from "./workflows.js";
5
+ // Phase B: Error resolution prompts
6
+ export { ERROR_PROMPTS, getErrorPrompt, getErrorPromptByName, processErrorTemplate, error401Prompt, error403Prompt, error404Prompt, error409Prompt, error500Prompt, } from "./error-resolution.js";
5
7
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/prompts/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACL,gBAAgB,EAChB,iBAAiB,EACjB,qBAAqB,EACrB,4BAA4B,EAC5B,kBAAkB,EAClB,0BAA0B,EAC1B,uBAAuB,GACxB,MAAM,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/prompts/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACL,gBAAgB,EAChB,iBAAiB,EACjB,qBAAqB,EACrB,4BAA4B,EAC5B,kBAAkB,EAClB,0BAA0B,EAC1B,uBAAuB,GACxB,MAAM,gBAAgB,CAAC;AAIxB,oCAAoC;AACpC,OAAO,EACL,aAAa,EACb,cAAc,EACd,oBAAoB,EACpB,oBAAoB,EACpB,cAAc,EACd,cAAc,EACd,cAAc,EACd,cAAc,EACd,cAAc,GACf,MAAM,uBAAuB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAGpE,OAAO,EAAE,iBAAiB,EAAY,MAAM,8BAA8B,CAAC;AAuB3E;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,yCAAyC;IACzC,IAAI,EAAE,MAAM,CAAC;IACb,qBAAqB;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,2CAA2C;IAC3C,iBAAiB,EAAE,iBAAiB,CAAC;CACtC;AAED;;;;;;;GAOG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,MAAM,CAAY;IAC1B,OAAO,CAAC,iBAAiB,CAAoB;IAC7C,OAAO,CAAC,UAAU,CAA2B;IAC7C,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,SAAS,CAAqC;gBAE1C,MAAM,EAAE,YAAY;IAmBhC;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAM5B;;;;;;;OAOG;IACH,OAAO,CAAC,aAAa;IA+WrB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAmCzB;;OAEG;IACH,OAAO,CAAC,eAAe;IAmDvB;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAa5B;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAQ3B;;OAEG;IACH,YAAY,IAAI,SAAS;IAIzB;;OAEG;IACH,oBAAoB,IAAI,iBAAiB;CAG1C;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,aAAa,CAAC,EAAE,GAAG,GAAG,aAAa,CAQ/D"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAGpE,OAAO,EAAE,iBAAiB,EAAY,MAAM,8BAA8B,CAAC;AA8B3E;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,yCAAyC;IACzC,IAAI,EAAE,MAAM,CAAC;IACb,qBAAqB;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,2CAA2C;IAC3C,iBAAiB,EAAE,iBAAiB,CAAC;CACtC;AAED;;;;;;;GAOG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,MAAM,CAAY;IAC1B,OAAO,CAAC,iBAAiB,CAAoB;IAC7C,OAAO,CAAC,UAAU,CAA2B;IAC7C,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,SAAS,CAAqC;gBAE1C,MAAM,EAAE,YAAY;IAmBhC;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAM5B;;;;;;;OAOG;IACH,OAAO,CAAC,aAAa;IAuarB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAmCzB;;OAEG;IACH,OAAO,CAAC,eAAe;IAuFvB;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAa5B;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAQ3B;;OAEG;IACH,YAAY,IAAI,SAAS;IAIzB;;OAEG;IACH,oBAAoB,IAAI,iBAAiB;CAG1C;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,aAAa,CAAC,EAAE,GAAG,GAAG,aAAa,CAQ/D"}
package/dist/server.js CHANGED
@@ -12,9 +12,9 @@ import { CredentialManager, AuthMode } from "./auth/credential-manager.js";
12
12
  import { createHttpClient } from "./auth/http-client.js";
13
13
  import { logger } from "./utils/logging.js";
14
14
  import { VERSION } from "./index.js";
15
- import { WORKFLOW_PROMPTS, processPromptTemplate } from "./prompts/index.js";
15
+ import { WORKFLOW_PROMPTS, processPromptTemplate, ERROR_PROMPTS, processErrorTemplate, } from "./prompts/index.js";
16
16
  import { RESOURCE_TYPES, createResourceHandler } from "./resources/index.js";
17
- import { DISCOVERY_TOOLS, searchTools, describeTool, executeTool, getIndexMetadata, getAvailableDomains, searchConsolidatedResources, resolveConsolidatedTool, getConsolidatedResource, getConsolidationStats, generateDependencyReport, getDependencyStats, } from "./tools/discovery/index.js";
17
+ import { DISCOVERY_TOOLS, searchTools, describeTool, executeTool, getIndexMetadata, getAvailableDomains, searchConsolidatedResources, resolveConsolidatedTool, getConsolidatedResource, getConsolidationStats, generateDependencyReport, getDependencyStats, validateToolParams, formatValidationResult, } from "./tools/discovery/index.js";
18
18
  /**
19
19
  * F5XC API MCP Server
20
20
  *
@@ -112,11 +112,20 @@ export class F5XCApiServer {
112
112
  limit: z.number().optional().describe("Maximum results (default: 10)"),
113
113
  domains: z.array(z.string()).optional().describe("Filter by domains"),
114
114
  operations: z.array(z.string()).optional().describe("Filter by operations"),
115
+ excludeDangerous: z.boolean().optional().describe("Exclude high-danger operations"),
116
+ excludeDeprecated: z.boolean().optional().describe("Exclude deprecated operations"),
117
+ includeDependencies: z
118
+ .boolean()
119
+ .optional()
120
+ .describe("Include prerequisite hints for create operations"),
115
121
  }, async (args) => {
116
122
  const results = searchTools(args.query, {
117
123
  limit: Math.min(args.limit ?? 10, 50),
118
124
  domains: args.domains,
119
125
  operations: args.operations,
126
+ excludeDangerous: args.excludeDangerous,
127
+ excludeDeprecated: args.excludeDeprecated,
128
+ includeDependencies: args.includeDependencies,
120
129
  });
121
130
  return {
122
131
  content: [
@@ -132,6 +141,11 @@ export class F5XCApiServer {
132
141
  operation: r.tool.operation,
133
142
  summary: r.tool.summary,
134
143
  score: Math.round(r.score * 100) / 100,
144
+ // Phase A enhancement fields
145
+ dangerLevel: r.tool.dangerLevel,
146
+ isDeprecated: r.tool.isDeprecated,
147
+ // Phase B enhancement: prerequisites for create operations
148
+ ...(r.prerequisites && { prerequisites: r.prerequisites }),
135
149
  })),
136
150
  hint: "Use f5xc-api-describe-tool to get full schema for a specific tool.",
137
151
  }, null, 2),
@@ -311,12 +325,43 @@ export class F5XCApiServer {
311
325
  ],
312
326
  };
313
327
  });
328
+ // Phase B: Parameter validation tool
329
+ this.server.tool(DISCOVERY_TOOLS.validateParams.name, DISCOVERY_TOOLS.validateParams.description, {
330
+ toolName: z.string().describe("Tool name to validate parameters for"),
331
+ pathParams: z
332
+ .record(z.string(), z.string())
333
+ .optional()
334
+ .describe("Path parameters to validate"),
335
+ queryParams: z
336
+ .record(z.string(), z.string())
337
+ .optional()
338
+ .describe("Query parameters to validate"),
339
+ body: z.record(z.string(), z.unknown()).optional().describe("Request body to validate"),
340
+ }, async (args) => {
341
+ const result = validateToolParams({
342
+ toolName: args.toolName,
343
+ pathParams: args.pathParams,
344
+ queryParams: args.queryParams,
345
+ body: args.body,
346
+ });
347
+ return {
348
+ content: [
349
+ {
350
+ type: "text",
351
+ text: JSON.stringify({
352
+ ...result,
353
+ formatted: formatValidationResult(result),
354
+ }, null, 2),
355
+ },
356
+ ],
357
+ };
358
+ });
314
359
  const indexMetadata = getIndexMetadata();
315
360
  const consolidationStats = getConsolidationStats();
316
361
  logger.info("Tool registration completed (dynamic discovery mode)", {
317
362
  authMode,
318
363
  authenticated: authMode !== AuthMode.NONE,
319
- registeredTools: 8,
364
+ registeredTools: 9,
320
365
  indexedTools: indexMetadata.totalTools,
321
366
  consolidatedResources: consolidationStats.consolidatedCount,
322
367
  consolidationReduction: consolidationStats.reductionPercent,
@@ -406,8 +451,40 @@ export class F5XCApiServer {
406
451
  };
407
452
  });
408
453
  }
454
+ // Phase B: Register error resolution prompts
455
+ for (const errorPrompt of ERROR_PROMPTS) {
456
+ // Build Zod schema for arguments
457
+ const argSchema = {};
458
+ for (const arg of errorPrompt.arguments) {
459
+ argSchema[arg.name] = arg.required
460
+ ? z.string().describe(arg.description)
461
+ : z.string().optional().describe(arg.description);
462
+ }
463
+ this.server.prompt(errorPrompt.name, errorPrompt.description, argSchema, async (args) => {
464
+ // Process template with provided arguments
465
+ const processedArgs = {};
466
+ for (const [key, value] of Object.entries(args)) {
467
+ if (typeof value === "string") {
468
+ processedArgs[key] = value;
469
+ }
470
+ }
471
+ const processedTemplate = processErrorTemplate(errorPrompt, processedArgs);
472
+ return {
473
+ messages: [
474
+ {
475
+ role: "user",
476
+ content: {
477
+ type: "text",
478
+ text: processedTemplate,
479
+ },
480
+ },
481
+ ],
482
+ };
483
+ });
484
+ }
409
485
  logger.info("Prompt registration completed", {
410
486
  workflows: WORKFLOW_PROMPTS.length,
487
+ errorPrompts: ERROR_PROMPTS.length,
411
488
  });
412
489
  }
413
490
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}