@robinmordasiewicz/f5xc-api-mcp 3.10.0 → 3.12.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 (41) hide show
  1. package/dist/prompts/error-resolution.d.ts +70 -0
  2. package/dist/prompts/error-resolution.d.ts.map +1 -0
  3. package/dist/prompts/error-resolution.js +350 -0
  4. package/dist/prompts/error-resolution.js.map +1 -0
  5. package/dist/prompts/index.d.ts +2 -0
  6. package/dist/prompts/index.d.ts.map +1 -1
  7. package/dist/prompts/index.js +2 -0
  8. package/dist/prompts/index.js.map +1 -1
  9. package/dist/server.d.ts.map +1 -1
  10. package/dist/server.js +265 -3
  11. package/dist/server.js.map +1 -1
  12. package/dist/tools/discovery/best-practices.d.ts +140 -0
  13. package/dist/tools/discovery/best-practices.d.ts.map +1 -0
  14. package/dist/tools/discovery/best-practices.js +499 -0
  15. package/dist/tools/discovery/best-practices.js.map +1 -0
  16. package/dist/tools/discovery/cost-estimator.d.ts +114 -0
  17. package/dist/tools/discovery/cost-estimator.d.ts.map +1 -0
  18. package/dist/tools/discovery/cost-estimator.js +273 -0
  19. package/dist/tools/discovery/cost-estimator.js.map +1 -0
  20. package/dist/tools/discovery/index-loader.d.ts.map +1 -1
  21. package/dist/tools/discovery/index-loader.js +3 -0
  22. package/dist/tools/discovery/index-loader.js.map +1 -1
  23. package/dist/tools/discovery/index.d.ts +145 -0
  24. package/dist/tools/discovery/index.d.ts.map +1 -1
  25. package/dist/tools/discovery/index.js +141 -0
  26. package/dist/tools/discovery/index.js.map +1 -1
  27. package/dist/tools/discovery/resolver.d.ts +119 -0
  28. package/dist/tools/discovery/resolver.d.ts.map +1 -0
  29. package/dist/tools/discovery/resolver.js +369 -0
  30. package/dist/tools/discovery/resolver.js.map +1 -0
  31. package/dist/tools/discovery/search.d.ts.map +1 -1
  32. package/dist/tools/discovery/search.js +23 -2
  33. package/dist/tools/discovery/search.js.map +1 -1
  34. package/dist/tools/discovery/types.d.ts +21 -0
  35. package/dist/tools/discovery/types.d.ts.map +1 -1
  36. package/dist/tools/discovery/validate.d.ts +63 -0
  37. package/dist/tools/discovery/validate.d.ts.map +1 -0
  38. package/dist/tools/discovery/validate.js +239 -0
  39. package/dist/tools/discovery/validate.js.map +1 -0
  40. package/dist/tools/generated/dependency-graph.json +1 -1
  41. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tools/discovery/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tools/discovery/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,119 @@
1
+ /**
2
+ * Interactive Dependency Resolver
3
+ *
4
+ * Generates complete creation plans with all transitive dependencies,
5
+ * step-by-step workflows with tool names and required inputs,
6
+ * and handles oneOf groups with alternative paths.
7
+ */
8
+ /**
9
+ * A single step in a creation workflow
10
+ */
11
+ export interface WorkflowStep {
12
+ /** Step number in the sequence */
13
+ stepNumber: number;
14
+ /** Action description */
15
+ action: "create" | "configure" | "verify";
16
+ /** Resource domain */
17
+ domain: string;
18
+ /** Resource type */
19
+ resource: string;
20
+ /** Full tool name for this step */
21
+ toolName: string;
22
+ /** Resources that must be created before this step */
23
+ dependsOn: string[];
24
+ /** Whether this step is optional */
25
+ optional: boolean;
26
+ /** Required input parameters */
27
+ requiredInputs: string[];
28
+ /** OneOf choices that must be made for this resource */
29
+ oneOfChoices?: Array<{
30
+ field: string;
31
+ options: string[];
32
+ description?: string;
33
+ }>;
34
+ /** Notes or hints for this step */
35
+ notes?: string;
36
+ }
37
+ /**
38
+ * Alternative path in a creation plan (for oneOf choices)
39
+ */
40
+ export interface AlternativePath {
41
+ /** Name of the choice field */
42
+ choiceField: string;
43
+ /** Selected option */
44
+ selectedOption: string;
45
+ /** Steps specific to this alternative */
46
+ steps: WorkflowStep[];
47
+ /** Description of what this alternative provides */
48
+ description?: string;
49
+ }
50
+ /**
51
+ * Complete creation plan for a resource
52
+ */
53
+ export interface CreationPlan {
54
+ /** Target resource to create */
55
+ targetResource: string;
56
+ /** Target domain */
57
+ targetDomain: string;
58
+ /** Total number of steps */
59
+ totalSteps: number;
60
+ /** Ordered workflow steps */
61
+ steps: WorkflowStep[];
62
+ /** Warnings about the plan */
63
+ warnings: string[];
64
+ /** Alternative paths for oneOf choices */
65
+ alternatives: AlternativePath[];
66
+ /** Required subscriptions */
67
+ subscriptions: string[];
68
+ /** Resources that already exist (skip these steps) */
69
+ existingResources?: string[];
70
+ /** Estimated complexity (low, medium, high) */
71
+ complexity: "low" | "medium" | "high";
72
+ }
73
+ /**
74
+ * Parameters for resolving dependencies
75
+ */
76
+ export interface ResolveParams {
77
+ /** Target resource to create */
78
+ resource: string;
79
+ /** Domain containing the resource */
80
+ domain: string;
81
+ /** Resources that already exist (will be skipped) */
82
+ existingResources?: string[];
83
+ /** Whether to include optional dependencies */
84
+ includeOptional?: boolean;
85
+ /** Maximum depth for dependency traversal */
86
+ maxDepth?: number;
87
+ /** Whether to expand oneOf alternatives */
88
+ expandAlternatives?: boolean;
89
+ }
90
+ /**
91
+ * Result of dependency resolution
92
+ */
93
+ export interface ResolveResult {
94
+ success: boolean;
95
+ plan?: CreationPlan;
96
+ error?: string;
97
+ }
98
+ /**
99
+ * Resolve dependencies and generate a complete creation plan
100
+ */
101
+ export declare function resolveDependencies(params: ResolveParams): ResolveResult;
102
+ /**
103
+ * Format a creation plan for human-readable output
104
+ */
105
+ export declare function formatCreationPlan(plan: CreationPlan): string;
106
+ /**
107
+ * Generate a compact JSON creation plan for programmatic use
108
+ */
109
+ export declare function generateCompactPlan(params: ResolveParams): {
110
+ success: boolean;
111
+ steps?: Array<{
112
+ tool: string;
113
+ resource: string;
114
+ inputs: string[];
115
+ choices?: Record<string, string[]>;
116
+ }>;
117
+ error?: string;
118
+ };
119
+ //# sourceMappingURL=resolver.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolver.d.ts","sourceRoot":"","sources":["../../../src/tools/discovery/resolver.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,369 @@
1
+ /**
2
+ * Interactive Dependency Resolver
3
+ *
4
+ * Generates complete creation plans with all transitive dependencies,
5
+ * step-by-step workflows with tool names and required inputs,
6
+ * and handles oneOf groups with alternative paths.
7
+ */
8
+ import { getResourceDependencies, getPrerequisiteResources, getOneOfGroups, getSubscriptionRequirements, } from "./dependencies.js";
9
+ import { searchTools } from "./search.js";
10
+ import { getToolByName } from "../registry.js";
11
+ import { createResourceKey } from "../../generator/dependency-types.js";
12
+ /**
13
+ * Find the create tool for a resource
14
+ */
15
+ function findCreateTool(domain, resource) {
16
+ // Search for create tool matching this resource
17
+ const results = searchTools(`${resource} create`, {
18
+ domains: [domain],
19
+ operations: ["create"],
20
+ limit: 5,
21
+ });
22
+ if (results.length > 0 && results[0]) {
23
+ return results[0].tool.name;
24
+ }
25
+ // Try alternative naming patterns
26
+ const normalizedResource = resource.replace(/-/g, "_");
27
+ const altResults = searchTools(`${normalizedResource} create`, {
28
+ operations: ["create"],
29
+ limit: 5,
30
+ });
31
+ if (altResults.length > 0 && altResults[0]) {
32
+ return altResults[0].tool.name;
33
+ }
34
+ return null;
35
+ }
36
+ /**
37
+ * Get required input parameters for a tool
38
+ */
39
+ function getRequiredInputs(toolName) {
40
+ const tool = getToolByName(toolName);
41
+ if (!tool) {
42
+ return ["namespace", "name"];
43
+ }
44
+ const required = [];
45
+ // Add path parameters
46
+ for (const param of tool.pathParameters) {
47
+ required.push(param.name);
48
+ }
49
+ // Add required body fields (simplified - just common ones)
50
+ if (tool.requiredParams) {
51
+ required.push(...tool.requiredParams);
52
+ }
53
+ // Always include common required fields
54
+ if (!required.includes("namespace")) {
55
+ required.push("namespace");
56
+ }
57
+ if (!required.includes("name")) {
58
+ required.push("name");
59
+ }
60
+ return [...new Set(required)];
61
+ }
62
+ /**
63
+ * Resolve all transitive dependencies for a resource
64
+ */
65
+ function resolveTransitiveDependencies(domain, resource, existingResources, visited, includeOptional, maxDepth, currentDepth = 0) {
66
+ const key = createResourceKey(domain, resource);
67
+ if (visited.has(key) || currentDepth > maxDepth) {
68
+ return [];
69
+ }
70
+ visited.add(key);
71
+ const prereqs = getPrerequisiteResources(domain, resource);
72
+ const allDeps = [];
73
+ for (const prereq of prereqs) {
74
+ // Skip optional if not requested
75
+ if (!prereq.required && !includeOptional) {
76
+ continue;
77
+ }
78
+ // Skip if already exists
79
+ const prereqKey = createResourceKey(prereq.domain, prereq.resourceType);
80
+ if (existingResources.has(prereqKey)) {
81
+ continue;
82
+ }
83
+ // Recursively resolve this dependency's dependencies
84
+ const transitive = resolveTransitiveDependencies(prereq.domain, prereq.resourceType, existingResources, visited, includeOptional, maxDepth, currentDepth + 1);
85
+ allDeps.push(...transitive);
86
+ allDeps.push(prereq);
87
+ }
88
+ return allDeps;
89
+ }
90
+ /**
91
+ * Topologically sort dependencies
92
+ */
93
+ function topologicalSort(dependencies) {
94
+ // Build adjacency list
95
+ const graph = new Map();
96
+ const inDegree = new Map();
97
+ const resourceMap = new Map();
98
+ for (const dep of dependencies) {
99
+ const key = createResourceKey(dep.domain, dep.resourceType);
100
+ resourceMap.set(key, dep);
101
+ if (!graph.has(key)) {
102
+ graph.set(key, new Set());
103
+ inDegree.set(key, 0);
104
+ }
105
+ }
106
+ // Build edges based on dependencies
107
+ for (const dep of dependencies) {
108
+ const key = createResourceKey(dep.domain, dep.resourceType);
109
+ const prereqs = getPrerequisiteResources(dep.domain, dep.resourceType);
110
+ for (const prereq of prereqs) {
111
+ const prereqKey = createResourceKey(prereq.domain, prereq.resourceType);
112
+ if (graph.has(prereqKey)) {
113
+ graph.get(prereqKey)?.add(key);
114
+ inDegree.set(key, (inDegree.get(key) ?? 0) + 1);
115
+ }
116
+ }
117
+ }
118
+ // Kahn's algorithm
119
+ const queue = [];
120
+ for (const [key, degree] of inDegree) {
121
+ if (degree === 0) {
122
+ queue.push(key);
123
+ }
124
+ }
125
+ const sorted = [];
126
+ while (queue.length > 0) {
127
+ const key = queue.shift();
128
+ const resource = resourceMap.get(key);
129
+ if (resource) {
130
+ sorted.push(resource);
131
+ }
132
+ for (const neighbor of graph.get(key) ?? []) {
133
+ const newDegree = (inDegree.get(neighbor) ?? 1) - 1;
134
+ inDegree.set(neighbor, newDegree);
135
+ if (newDegree === 0) {
136
+ queue.push(neighbor);
137
+ }
138
+ }
139
+ }
140
+ return sorted;
141
+ }
142
+ /**
143
+ * Resolve dependencies and generate a complete creation plan
144
+ */
145
+ export function resolveDependencies(params) {
146
+ const { resource, domain, existingResources = [], includeOptional = false, maxDepth = 10, expandAlternatives = false, } = params;
147
+ const existingSet = new Set(existingResources);
148
+ const visited = new Set();
149
+ const warnings = [];
150
+ // Check if target resource exists in dependency graph
151
+ const deps = getResourceDependencies(domain, resource);
152
+ if (!deps) {
153
+ return {
154
+ success: false,
155
+ error: `Resource '${domain}/${resource}' not found in dependency graph. ` +
156
+ `Try searching for available resources with f5xc-api-search-resources.`,
157
+ };
158
+ }
159
+ // Resolve all transitive dependencies
160
+ const allDeps = resolveTransitiveDependencies(domain, resource, existingSet, visited, includeOptional, maxDepth);
161
+ // Topologically sort dependencies
162
+ const sortedDeps = topologicalSort(allDeps);
163
+ // Build workflow steps
164
+ const steps = [];
165
+ let stepNumber = 1;
166
+ for (const dep of sortedDeps) {
167
+ const toolName = findCreateTool(dep.domain, dep.resourceType);
168
+ if (!toolName) {
169
+ warnings.push(`No create tool found for ${dep.domain}/${dep.resourceType}. ` +
170
+ `This resource may need to be created manually.`);
171
+ continue;
172
+ }
173
+ const prereqs = getPrerequisiteResources(dep.domain, dep.resourceType);
174
+ const dependsOn = prereqs
175
+ .filter((p) => !existingSet.has(createResourceKey(p.domain, p.resourceType)))
176
+ .map((p) => `${p.domain}/${p.resourceType}`);
177
+ const oneOfGroups = getOneOfGroups(dep.domain, dep.resourceType);
178
+ const step = {
179
+ stepNumber,
180
+ action: "create",
181
+ domain: dep.domain,
182
+ resource: dep.resourceType,
183
+ toolName,
184
+ dependsOn,
185
+ optional: !dep.required,
186
+ requiredInputs: getRequiredInputs(toolName),
187
+ };
188
+ if (oneOfGroups.length > 0) {
189
+ step.oneOfChoices = oneOfGroups.map((g) => ({
190
+ field: g.choiceField,
191
+ options: g.options,
192
+ description: g.description,
193
+ }));
194
+ }
195
+ steps.push(step);
196
+ stepNumber++;
197
+ }
198
+ // Add final step for target resource
199
+ const targetToolName = findCreateTool(domain, resource);
200
+ if (targetToolName) {
201
+ const targetPrereqs = getPrerequisiteResources(domain, resource);
202
+ const dependsOn = targetPrereqs
203
+ .filter((p) => !existingSet.has(createResourceKey(p.domain, p.resourceType)))
204
+ .map((p) => `${p.domain}/${p.resourceType}`);
205
+ const oneOfGroups = getOneOfGroups(domain, resource);
206
+ const targetStep = {
207
+ stepNumber,
208
+ action: "create",
209
+ domain,
210
+ resource,
211
+ toolName: targetToolName,
212
+ dependsOn,
213
+ optional: false,
214
+ requiredInputs: getRequiredInputs(targetToolName),
215
+ };
216
+ if (oneOfGroups.length > 0) {
217
+ targetStep.oneOfChoices = oneOfGroups.map((g) => ({
218
+ field: g.choiceField,
219
+ options: g.options,
220
+ description: g.description,
221
+ }));
222
+ }
223
+ steps.push(targetStep);
224
+ }
225
+ else {
226
+ warnings.push(`No create tool found for target resource ${domain}/${resource}.`);
227
+ }
228
+ // Collect subscription requirements
229
+ const subscriptions = [];
230
+ const subs = getSubscriptionRequirements(domain, resource);
231
+ for (const sub of subs) {
232
+ subscriptions.push(`${sub.displayName} (${sub.tier})${sub.required ? " - required" : ""}`);
233
+ }
234
+ // Build alternatives for oneOf choices if requested
235
+ const alternatives = [];
236
+ if (expandAlternatives) {
237
+ const oneOfGroups = getOneOfGroups(domain, resource);
238
+ for (const group of oneOfGroups) {
239
+ for (const option of group.options) {
240
+ alternatives.push({
241
+ choiceField: group.choiceField,
242
+ selectedOption: option,
243
+ steps: [], // Would need more complex logic to fill these
244
+ description: `Alternative using ${option} for ${group.choiceField}`,
245
+ });
246
+ }
247
+ }
248
+ }
249
+ // Determine complexity
250
+ let complexity = "low";
251
+ if (steps.length > 5) {
252
+ complexity = "high";
253
+ }
254
+ else if (steps.length > 2) {
255
+ complexity = "medium";
256
+ }
257
+ const plan = {
258
+ targetResource: resource,
259
+ targetDomain: domain,
260
+ totalSteps: steps.length,
261
+ steps,
262
+ warnings,
263
+ alternatives,
264
+ subscriptions,
265
+ existingResources: existingResources.length > 0 ? existingResources : undefined,
266
+ complexity,
267
+ };
268
+ return {
269
+ success: true,
270
+ plan,
271
+ };
272
+ }
273
+ /**
274
+ * Format a creation plan for human-readable output
275
+ */
276
+ export function formatCreationPlan(plan) {
277
+ const lines = [];
278
+ lines.push(`# Creation Plan for ${plan.targetDomain}/${plan.targetResource}`);
279
+ lines.push("");
280
+ lines.push(`**Complexity**: ${plan.complexity}`);
281
+ lines.push(`**Total Steps**: ${plan.totalSteps}`);
282
+ lines.push("");
283
+ if (plan.subscriptions.length > 0) {
284
+ lines.push("## Required Subscriptions");
285
+ for (const sub of plan.subscriptions) {
286
+ lines.push(`- ${sub}`);
287
+ }
288
+ lines.push("");
289
+ }
290
+ if (plan.existingResources && plan.existingResources.length > 0) {
291
+ lines.push("## Existing Resources (Skipped)");
292
+ for (const res of plan.existingResources) {
293
+ lines.push(`- ${res}`);
294
+ }
295
+ lines.push("");
296
+ }
297
+ lines.push("## Workflow Steps");
298
+ lines.push("");
299
+ for (const step of plan.steps) {
300
+ lines.push(`### Step ${step.stepNumber}: ${step.action} ${step.domain}/${step.resource}`);
301
+ lines.push(`**Tool**: \`${step.toolName}\``);
302
+ lines.push(`**Optional**: ${step.optional ? "Yes" : "No"}`);
303
+ if (step.dependsOn.length > 0) {
304
+ lines.push(`**Depends On**: ${step.dependsOn.join(", ")}`);
305
+ }
306
+ if (step.requiredInputs.length > 0) {
307
+ lines.push(`**Required Inputs**: ${step.requiredInputs.join(", ")}`);
308
+ }
309
+ if (step.oneOfChoices && step.oneOfChoices.length > 0) {
310
+ lines.push("**Mutually Exclusive Choices**:");
311
+ for (const choice of step.oneOfChoices) {
312
+ lines.push(` - \`${choice.field}\`: Choose one of [${choice.options.join(", ")}]`);
313
+ }
314
+ }
315
+ if (step.notes) {
316
+ lines.push(`**Notes**: ${step.notes}`);
317
+ }
318
+ lines.push("");
319
+ }
320
+ if (plan.warnings.length > 0) {
321
+ lines.push("## Warnings");
322
+ for (const warning of plan.warnings) {
323
+ lines.push(`- ⚠️ ${warning}`);
324
+ }
325
+ lines.push("");
326
+ }
327
+ if (plan.alternatives.length > 0) {
328
+ lines.push("## Alternative Paths");
329
+ for (const alt of plan.alternatives) {
330
+ lines.push(`- **${alt.choiceField}**: ${alt.selectedOption}`);
331
+ if (alt.description) {
332
+ lines.push(` ${alt.description}`);
333
+ }
334
+ }
335
+ lines.push("");
336
+ }
337
+ return lines.join("\n");
338
+ }
339
+ /**
340
+ * Generate a compact JSON creation plan for programmatic use
341
+ */
342
+ export function generateCompactPlan(params) {
343
+ const result = resolveDependencies(params);
344
+ if (!result.success || !result.plan) {
345
+ return {
346
+ success: false,
347
+ error: result.error,
348
+ };
349
+ }
350
+ const steps = result.plan.steps.map((step) => {
351
+ const compactStep = {
352
+ tool: step.toolName,
353
+ resource: `${step.domain}/${step.resource}`,
354
+ inputs: step.requiredInputs,
355
+ };
356
+ if (step.oneOfChoices && step.oneOfChoices.length > 0) {
357
+ compactStep.choices = {};
358
+ for (const choice of step.oneOfChoices) {
359
+ compactStep.choices[choice.field] = choice.options;
360
+ }
361
+ }
362
+ return compactStep;
363
+ });
364
+ return {
365
+ success: true,
366
+ steps,
367
+ };
368
+ }
369
+ //# sourceMappingURL=resolver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolver.js","sourceRoot":"","sources":["../../../src/tools/discovery/resolver.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../../src/tools/discovery/search.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAgG9E;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,GAAE,aAAkB,GAAG,YAAY,EAAE,CAkCtF;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,cAAc,EAAE,CAGjE;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,cAAc,EAAE,CAIrE;AAED;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,MAAM,EAAE,CAG9C;AAED;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAG7D"}
1
+ {"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../../src/tools/discovery/search.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAiG9E;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,GAAE,aAAkB,GAAG,YAAY,EAAE,CAkEtF;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,cAAc,EAAE,CAGjE;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,cAAc,EAAE,CAIrE;AAED;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,MAAM,EAAE,CAG9C;AAED;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAG7D"}
@@ -5,6 +5,7 @@
5
5
  * Uses lightweight text matching for efficient discovery.
6
6
  */
7
7
  import { getToolIndex } from "./index-loader.js";
8
+ import { getPrerequisiteResources } from "./dependencies.js";
8
9
  /**
9
10
  * Normalize text for search matching
10
11
  */
@@ -97,7 +98,7 @@ function calculateScore(query, tool) {
97
98
  * ```
98
99
  */
99
100
  export function searchTools(query, options = {}) {
100
- const { limit = 10, domains, operations, minScore = 0.1 } = options;
101
+ const { limit = 10, domains, operations, minScore = 0.1, excludeDangerous, excludeDeprecated, includeDependencies, } = options;
101
102
  const index = getToolIndex();
102
103
  let tools = index.tools;
103
104
  // Apply domain filter
@@ -110,12 +111,32 @@ export function searchTools(query, options = {}) {
110
111
  const opSet = new Set(operations.map((o) => o.toLowerCase()));
111
112
  tools = tools.filter((t) => opSet.has(t.operation.toLowerCase()));
112
113
  }
114
+ // Phase A: Apply danger level filter
115
+ if (excludeDangerous) {
116
+ tools = tools.filter((t) => t.dangerLevel !== "high");
117
+ }
118
+ // Phase A: Apply deprecation filter
119
+ if (excludeDeprecated) {
120
+ tools = tools.filter((t) => !t.isDeprecated);
121
+ }
113
122
  // Score and rank tools
114
123
  const results = [];
115
124
  for (const tool of tools) {
116
125
  const { score, matchedTerms } = calculateScore(query, tool);
117
126
  if (score >= minScore) {
118
- results.push({ tool, score, matchedTerms });
127
+ const result = { tool, score, matchedTerms };
128
+ // Phase B: Add prerequisite hints for create operations
129
+ if (includeDependencies && tool.operation === "create") {
130
+ const prereqs = getPrerequisiteResources(tool.domain, tool.resource);
131
+ if (prereqs.length > 0) {
132
+ const resourceNames = prereqs.map((p) => `${p.domain}/${p.resourceType}`);
133
+ result.prerequisites = {
134
+ resources: resourceNames,
135
+ hint: `To create ${tool.resource}, you first need: ${prereqs.map((p) => p.resourceType).join(", ")}`,
136
+ };
137
+ }
138
+ }
139
+ results.push(result);
119
140
  }
120
141
  }
121
142
  // Sort by score descending
@@ -1 +1 @@
1
- {"version":3,"file":"search.js","sourceRoot":"","sources":["../../../src/tools/discovery/search.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"search.js","sourceRoot":"","sources":["../../../src/tools/discovery/search.ts"],"names":[],"mappings":"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"}