@robinmordasiewicz/f5xc-api-mcp 1.0.82-2512312028

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 (329) hide show
  1. package/CHANGELOG.md +74 -0
  2. package/README.md +415 -0
  3. package/dist/auth/credential-manager.d.ts +151 -0
  4. package/dist/auth/credential-manager.d.ts.map +1 -0
  5. package/dist/auth/credential-manager.js +330 -0
  6. package/dist/auth/credential-manager.js.map +1 -0
  7. package/dist/auth/http-client.d.ts +81 -0
  8. package/dist/auth/http-client.d.ts.map +1 -0
  9. package/dist/auth/http-client.js +197 -0
  10. package/dist/auth/http-client.js.map +1 -0
  11. package/dist/auth/index.d.ts +8 -0
  12. package/dist/auth/index.d.ts.map +1 -0
  13. package/dist/auth/index.js +6 -0
  14. package/dist/auth/index.js.map +1 -0
  15. package/dist/config/config-manager.d.ts +72 -0
  16. package/dist/config/config-manager.d.ts.map +1 -0
  17. package/dist/config/config-manager.js +247 -0
  18. package/dist/config/config-manager.js.map +1 -0
  19. package/dist/config/index.d.ts +7 -0
  20. package/dist/config/index.d.ts.map +1 -0
  21. package/dist/config/index.js +7 -0
  22. package/dist/config/index.js.map +1 -0
  23. package/dist/config/schema.d.ts +74 -0
  24. package/dist/config/schema.d.ts.map +1 -0
  25. package/dist/config/schema.js +75 -0
  26. package/dist/config/schema.js.map +1 -0
  27. package/dist/config/types.d.ts +77 -0
  28. package/dist/config/types.d.ts.map +1 -0
  29. package/dist/config/types.js +31 -0
  30. package/dist/config/types.js.map +1 -0
  31. package/dist/generator/dependency-extractor.d.ts +103 -0
  32. package/dist/generator/dependency-extractor.d.ts.map +1 -0
  33. package/dist/generator/dependency-extractor.js +473 -0
  34. package/dist/generator/dependency-extractor.js.map +1 -0
  35. package/dist/generator/dependency-graph.d.ts +67 -0
  36. package/dist/generator/dependency-graph.d.ts.map +1 -0
  37. package/dist/generator/dependency-graph.js +330 -0
  38. package/dist/generator/dependency-graph.js.map +1 -0
  39. package/dist/generator/dependency-types.d.ts +206 -0
  40. package/dist/generator/dependency-types.d.ts.map +1 -0
  41. package/dist/generator/dependency-types.js +37 -0
  42. package/dist/generator/dependency-types.js.map +1 -0
  43. package/dist/generator/index.d.ts +7 -0
  44. package/dist/generator/index.d.ts.map +1 -0
  45. package/dist/generator/index.js +7 -0
  46. package/dist/generator/index.js.map +1 -0
  47. package/dist/generator/naming/acronyms.d.ts +81 -0
  48. package/dist/generator/naming/acronyms.d.ts.map +1 -0
  49. package/dist/generator/naming/acronyms.js +253 -0
  50. package/dist/generator/naming/acronyms.js.map +1 -0
  51. package/dist/generator/naming/index.d.ts +6 -0
  52. package/dist/generator/naming/index.d.ts.map +1 -0
  53. package/dist/generator/naming/index.js +6 -0
  54. package/dist/generator/naming/index.js.map +1 -0
  55. package/dist/generator/naming/volterra-mapping.d.ts +102 -0
  56. package/dist/generator/naming/volterra-mapping.d.ts.map +1 -0
  57. package/dist/generator/naming/volterra-mapping.js +259 -0
  58. package/dist/generator/naming/volterra-mapping.js.map +1 -0
  59. package/dist/generator/openapi-parser.d.ts +701 -0
  60. package/dist/generator/openapi-parser.d.ts.map +1 -0
  61. package/dist/generator/openapi-parser.js +704 -0
  62. package/dist/generator/openapi-parser.js.map +1 -0
  63. package/dist/generator/tool-generator.d.ts +118 -0
  64. package/dist/generator/tool-generator.d.ts.map +1 -0
  65. package/dist/generator/tool-generator.js +529 -0
  66. package/dist/generator/tool-generator.js.map +1 -0
  67. package/dist/generator/transformers/index.d.ts +7 -0
  68. package/dist/generator/transformers/index.d.ts.map +1 -0
  69. package/dist/generator/transformers/index.js +7 -0
  70. package/dist/generator/transformers/index.js.map +1 -0
  71. package/dist/generator/transformers/normalize-examples.d.ts +48 -0
  72. package/dist/generator/transformers/normalize-examples.d.ts.map +1 -0
  73. package/dist/generator/transformers/normalize-examples.js +66 -0
  74. package/dist/generator/transformers/normalize-examples.js.map +1 -0
  75. package/dist/index.d.ts +22 -0
  76. package/dist/index.d.ts.map +1 -0
  77. package/dist/index.js +101 -0
  78. package/dist/index.js.map +1 -0
  79. package/dist/prompts/error-resolution.d.ts +70 -0
  80. package/dist/prompts/error-resolution.d.ts.map +1 -0
  81. package/dist/prompts/error-resolution.js +350 -0
  82. package/dist/prompts/error-resolution.js.map +1 -0
  83. package/dist/prompts/index.d.ts +8 -0
  84. package/dist/prompts/index.d.ts.map +1 -0
  85. package/dist/prompts/index.js +7 -0
  86. package/dist/prompts/index.js.map +1 -0
  87. package/dist/prompts/workflows.d.ts +59 -0
  88. package/dist/prompts/workflows.d.ts.map +1 -0
  89. package/dist/prompts/workflows.js +441 -0
  90. package/dist/prompts/workflows.js.map +1 -0
  91. package/dist/resources/handlers.d.ts +70 -0
  92. package/dist/resources/handlers.d.ts.map +1 -0
  93. package/dist/resources/handlers.js +270 -0
  94. package/dist/resources/handlers.js.map +1 -0
  95. package/dist/resources/index.d.ts +8 -0
  96. package/dist/resources/index.d.ts.map +1 -0
  97. package/dist/resources/index.js +6 -0
  98. package/dist/resources/index.js.map +1 -0
  99. package/dist/resources/templates.d.ts +86 -0
  100. package/dist/resources/templates.d.ts.map +1 -0
  101. package/dist/resources/templates.js +248 -0
  102. package/dist/resources/templates.js.map +1 -0
  103. package/dist/server.d.ts +78 -0
  104. package/dist/server.d.ts.map +1 -0
  105. package/dist/server.js +721 -0
  106. package/dist/server.js.map +1 -0
  107. package/dist/tools/discovery/best-practices.d.ts +140 -0
  108. package/dist/tools/discovery/best-practices.d.ts.map +1 -0
  109. package/dist/tools/discovery/best-practices.js +499 -0
  110. package/dist/tools/discovery/best-practices.js.map +1 -0
  111. package/dist/tools/discovery/consolidate.d.ts +97 -0
  112. package/dist/tools/discovery/consolidate.d.ts.map +1 -0
  113. package/dist/tools/discovery/consolidate.js +200 -0
  114. package/dist/tools/discovery/consolidate.js.map +1 -0
  115. package/dist/tools/discovery/cost-estimator.d.ts +114 -0
  116. package/dist/tools/discovery/cost-estimator.d.ts.map +1 -0
  117. package/dist/tools/discovery/cost-estimator.js +273 -0
  118. package/dist/tools/discovery/cost-estimator.js.map +1 -0
  119. package/dist/tools/discovery/dependencies.d.ts +113 -0
  120. package/dist/tools/discovery/dependencies.d.ts.map +1 -0
  121. package/dist/tools/discovery/dependencies.js +258 -0
  122. package/dist/tools/discovery/dependencies.js.map +1 -0
  123. package/dist/tools/discovery/describe.d.ts +133 -0
  124. package/dist/tools/discovery/describe.d.ts.map +1 -0
  125. package/dist/tools/discovery/describe.js +208 -0
  126. package/dist/tools/discovery/describe.js.map +1 -0
  127. package/dist/tools/discovery/execute.d.ts +96 -0
  128. package/dist/tools/discovery/execute.d.ts.map +1 -0
  129. package/dist/tools/discovery/execute.js +220 -0
  130. package/dist/tools/discovery/execute.js.map +1 -0
  131. package/dist/tools/discovery/index-loader.d.ts +28 -0
  132. package/dist/tools/discovery/index-loader.d.ts.map +1 -0
  133. package/dist/tools/discovery/index-loader.js +72 -0
  134. package/dist/tools/discovery/index-loader.js.map +1 -0
  135. package/dist/tools/discovery/index.d.ts +363 -0
  136. package/dist/tools/discovery/index.d.ts.map +1 -0
  137. package/dist/tools/discovery/index.js +361 -0
  138. package/dist/tools/discovery/index.js.map +1 -0
  139. package/dist/tools/discovery/resolver.d.ts +119 -0
  140. package/dist/tools/discovery/resolver.d.ts.map +1 -0
  141. package/dist/tools/discovery/resolver.js +369 -0
  142. package/dist/tools/discovery/resolver.js.map +1 -0
  143. package/dist/tools/discovery/search.d.ts +41 -0
  144. package/dist/tools/discovery/search.d.ts.map +1 -0
  145. package/dist/tools/discovery/search.js +176 -0
  146. package/dist/tools/discovery/search.js.map +1 -0
  147. package/dist/tools/discovery/types.d.ts +91 -0
  148. package/dist/tools/discovery/types.d.ts.map +1 -0
  149. package/dist/tools/discovery/types.js +9 -0
  150. package/dist/tools/discovery/types.js.map +1 -0
  151. package/dist/tools/discovery/validate.d.ts +63 -0
  152. package/dist/tools/discovery/validate.d.ts.map +1 -0
  153. package/dist/tools/discovery/validate.js +239 -0
  154. package/dist/tools/discovery/validate.js.map +1 -0
  155. package/dist/tools/generated/admin_console_and_ui/index.d.ts +8 -0
  156. package/dist/tools/generated/admin_console_and_ui/index.d.ts.map +1 -0
  157. package/dist/tools/generated/admin_console_and_ui/index.js +265 -0
  158. package/dist/tools/generated/admin_console_and_ui/index.js.map +1 -0
  159. package/dist/tools/generated/api/index.d.ts +8 -0
  160. package/dist/tools/generated/api/index.d.ts.map +1 -0
  161. package/dist/tools/generated/api/index.js +7016 -0
  162. package/dist/tools/generated/api/index.js.map +1 -0
  163. package/dist/tools/generated/authentication/index.d.ts +8 -0
  164. package/dist/tools/generated/authentication/index.d.ts.map +1 -0
  165. package/dist/tools/generated/authentication/index.js +907 -0
  166. package/dist/tools/generated/authentication/index.js.map +1 -0
  167. package/dist/tools/generated/bigip/index.d.ts +8 -0
  168. package/dist/tools/generated/bigip/index.d.ts.map +1 -0
  169. package/dist/tools/generated/bigip/index.js +3152 -0
  170. package/dist/tools/generated/bigip/index.js.map +1 -0
  171. package/dist/tools/generated/billing_and_usage/index.d.ts +8 -0
  172. package/dist/tools/generated/billing_and_usage/index.d.ts.map +1 -0
  173. package/dist/tools/generated/billing_and_usage/index.js +2452 -0
  174. package/dist/tools/generated/billing_and_usage/index.js.map +1 -0
  175. package/dist/tools/generated/blindfold/index.d.ts +8 -0
  176. package/dist/tools/generated/blindfold/index.d.ts.map +1 -0
  177. package/dist/tools/generated/blindfold/index.js +3790 -0
  178. package/dist/tools/generated/blindfold/index.js.map +1 -0
  179. package/dist/tools/generated/bot_and_threat_defense/index.d.ts +8 -0
  180. package/dist/tools/generated/bot_and_threat_defense/index.d.ts.map +1 -0
  181. package/dist/tools/generated/bot_and_threat_defense/index.js +2746 -0
  182. package/dist/tools/generated/bot_and_threat_defense/index.js.map +1 -0
  183. package/dist/tools/generated/cdn/index.d.ts +8 -0
  184. package/dist/tools/generated/cdn/index.d.ts.map +1 -0
  185. package/dist/tools/generated/cdn/index.js +2686 -0
  186. package/dist/tools/generated/cdn/index.js.map +1 -0
  187. package/dist/tools/generated/ce_management/index.d.ts +8 -0
  188. package/dist/tools/generated/ce_management/index.d.ts.map +1 -0
  189. package/dist/tools/generated/ce_management/index.js +3812 -0
  190. package/dist/tools/generated/ce_management/index.js.map +1 -0
  191. package/dist/tools/generated/certificates/index.d.ts +8 -0
  192. package/dist/tools/generated/certificates/index.d.ts.map +1 -0
  193. package/dist/tools/generated/certificates/index.js +2547 -0
  194. package/dist/tools/generated/certificates/index.js.map +1 -0
  195. package/dist/tools/generated/cloud_infrastructure/index.d.ts +8 -0
  196. package/dist/tools/generated/cloud_infrastructure/index.d.ts.map +1 -0
  197. package/dist/tools/generated/cloud_infrastructure/index.js +3959 -0
  198. package/dist/tools/generated/cloud_infrastructure/index.js.map +1 -0
  199. package/dist/tools/generated/container_services/index.d.ts +8 -0
  200. package/dist/tools/generated/container_services/index.d.ts.map +1 -0
  201. package/dist/tools/generated/container_services/index.js +2018 -0
  202. package/dist/tools/generated/container_services/index.js.map +1 -0
  203. package/dist/tools/generated/data_and_privacy_security/index.d.ts +8 -0
  204. package/dist/tools/generated/data_and_privacy_security/index.d.ts.map +1 -0
  205. package/dist/tools/generated/data_and_privacy_security/index.js +1662 -0
  206. package/dist/tools/generated/data_and_privacy_security/index.js.map +1 -0
  207. package/dist/tools/generated/data_intelligence/index.d.ts +8 -0
  208. package/dist/tools/generated/data_intelligence/index.d.ts.map +1 -0
  209. package/dist/tools/generated/data_intelligence/index.js +1600 -0
  210. package/dist/tools/generated/data_intelligence/index.js.map +1 -0
  211. package/dist/tools/generated/ddos/index.d.ts +8 -0
  212. package/dist/tools/generated/ddos/index.d.ts.map +1 -0
  213. package/dist/tools/generated/ddos/index.js +8091 -0
  214. package/dist/tools/generated/ddos/index.js.map +1 -0
  215. package/dist/tools/generated/dependency-graph.json +26358 -0
  216. package/dist/tools/generated/dns/index.d.ts +8 -0
  217. package/dist/tools/generated/dns/index.d.ts.map +1 -0
  218. package/dist/tools/generated/dns/index.js +6096 -0
  219. package/dist/tools/generated/dns/index.js.map +1 -0
  220. package/dist/tools/generated/generative_ai/index.d.ts +8 -0
  221. package/dist/tools/generated/generative_ai/index.d.ts.map +1 -0
  222. package/dist/tools/generated/generative_ai/index.js +1019 -0
  223. package/dist/tools/generated/generative_ai/index.js.map +1 -0
  224. package/dist/tools/generated/managed_kubernetes/index.d.ts +8 -0
  225. package/dist/tools/generated/managed_kubernetes/index.d.ts.map +1 -0
  226. package/dist/tools/generated/managed_kubernetes/index.js +3368 -0
  227. package/dist/tools/generated/managed_kubernetes/index.js.map +1 -0
  228. package/dist/tools/generated/marketplace/index.d.ts +8 -0
  229. package/dist/tools/generated/marketplace/index.d.ts.map +1 -0
  230. package/dist/tools/generated/marketplace/index.js +4329 -0
  231. package/dist/tools/generated/marketplace/index.js.map +1 -0
  232. package/dist/tools/generated/network/index.d.ts +8 -0
  233. package/dist/tools/generated/network/index.d.ts.map +1 -0
  234. package/dist/tools/generated/network/index.js +12424 -0
  235. package/dist/tools/generated/network/index.js.map +1 -0
  236. package/dist/tools/generated/network_security/index.d.ts +8 -0
  237. package/dist/tools/generated/network_security/index.d.ts.map +1 -0
  238. package/dist/tools/generated/network_security/index.js +9637 -0
  239. package/dist/tools/generated/network_security/index.js.map +1 -0
  240. package/dist/tools/generated/nginx_one/index.d.ts +8 -0
  241. package/dist/tools/generated/nginx_one/index.d.ts.map +1 -0
  242. package/dist/tools/generated/nginx_one/index.js +1692 -0
  243. package/dist/tools/generated/nginx_one/index.js.map +1 -0
  244. package/dist/tools/generated/object_storage/index.d.ts +8 -0
  245. package/dist/tools/generated/object_storage/index.d.ts.map +1 -0
  246. package/dist/tools/generated/object_storage/index.js +996 -0
  247. package/dist/tools/generated/object_storage/index.js.map +1 -0
  248. package/dist/tools/generated/observability/index.d.ts +8 -0
  249. package/dist/tools/generated/observability/index.d.ts.map +1 -0
  250. package/dist/tools/generated/observability/index.js +5285 -0
  251. package/dist/tools/generated/observability/index.js.map +1 -0
  252. package/dist/tools/generated/rate_limiting/index.d.ts +8 -0
  253. package/dist/tools/generated/rate_limiting/index.d.ts.map +1 -0
  254. package/dist/tools/generated/rate_limiting/index.js +2108 -0
  255. package/dist/tools/generated/rate_limiting/index.js.map +1 -0
  256. package/dist/tools/generated/secops_and_incident_response/index.d.ts +8 -0
  257. package/dist/tools/generated/secops_and_incident_response/index.d.ts.map +1 -0
  258. package/dist/tools/generated/secops_and_incident_response/index.js +710 -0
  259. package/dist/tools/generated/secops_and_incident_response/index.js.map +1 -0
  260. package/dist/tools/generated/service_mesh/index.d.ts +8 -0
  261. package/dist/tools/generated/service_mesh/index.d.ts.map +1 -0
  262. package/dist/tools/generated/service_mesh/index.js +6062 -0
  263. package/dist/tools/generated/service_mesh/index.js.map +1 -0
  264. package/dist/tools/generated/shape/index.d.ts +8 -0
  265. package/dist/tools/generated/shape/index.d.ts.map +1 -0
  266. package/dist/tools/generated/shape/index.js +19381 -0
  267. package/dist/tools/generated/shape/index.js.map +1 -0
  268. package/dist/tools/generated/sites/index.d.ts +8 -0
  269. package/dist/tools/generated/sites/index.d.ts.map +1 -0
  270. package/dist/tools/generated/sites/index.js +13160 -0
  271. package/dist/tools/generated/sites/index.js.map +1 -0
  272. package/dist/tools/generated/statistics/index.d.ts +8 -0
  273. package/dist/tools/generated/statistics/index.d.ts.map +1 -0
  274. package/dist/tools/generated/statistics/index.js +8131 -0
  275. package/dist/tools/generated/statistics/index.js.map +1 -0
  276. package/dist/tools/generated/support/index.d.ts +8 -0
  277. package/dist/tools/generated/support/index.d.ts.map +1 -0
  278. package/dist/tools/generated/support/index.js +5608 -0
  279. package/dist/tools/generated/support/index.js.map +1 -0
  280. package/dist/tools/generated/telemetry_and_insights/index.d.ts +8 -0
  281. package/dist/tools/generated/telemetry_and_insights/index.d.ts.map +1 -0
  282. package/dist/tools/generated/telemetry_and_insights/index.js +2404 -0
  283. package/dist/tools/generated/telemetry_and_insights/index.js.map +1 -0
  284. package/dist/tools/generated/tenant_and_identity/index.d.ts +8 -0
  285. package/dist/tools/generated/tenant_and_identity/index.d.ts.map +1 -0
  286. package/dist/tools/generated/tenant_and_identity/index.js +18938 -0
  287. package/dist/tools/generated/tenant_and_identity/index.js.map +1 -0
  288. package/dist/tools/generated/threat_campaign/index.d.ts +8 -0
  289. package/dist/tools/generated/threat_campaign/index.d.ts.map +1 -0
  290. package/dist/tools/generated/threat_campaign/index.js +102 -0
  291. package/dist/tools/generated/threat_campaign/index.js.map +1 -0
  292. package/dist/tools/generated/users/index.d.ts +8 -0
  293. package/dist/tools/generated/users/index.d.ts.map +1 -0
  294. package/dist/tools/generated/users/index.js +1515 -0
  295. package/dist/tools/generated/users/index.js.map +1 -0
  296. package/dist/tools/generated/virtual/index.d.ts +8 -0
  297. package/dist/tools/generated/virtual/index.d.ts.map +1 -0
  298. package/dist/tools/generated/virtual/index.js +11263 -0
  299. package/dist/tools/generated/virtual/index.js.map +1 -0
  300. package/dist/tools/generated/vpm_and_node_management/index.d.ts +8 -0
  301. package/dist/tools/generated/vpm_and_node_management/index.d.ts.map +1 -0
  302. package/dist/tools/generated/vpm_and_node_management/index.js +88 -0
  303. package/dist/tools/generated/vpm_and_node_management/index.js.map +1 -0
  304. package/dist/tools/generated/waf/index.d.ts +8 -0
  305. package/dist/tools/generated/waf/index.d.ts.map +1 -0
  306. package/dist/tools/generated/waf/index.js +4586 -0
  307. package/dist/tools/generated/waf/index.js.map +1 -0
  308. package/dist/tools/index.d.ts +7 -0
  309. package/dist/tools/index.d.ts.map +1 -0
  310. package/dist/tools/index.js +6 -0
  311. package/dist/tools/index.js.map +1 -0
  312. package/dist/tools/registry.d.ts +27 -0
  313. package/dist/tools/registry.d.ts.map +1 -0
  314. package/dist/tools/registry.js +115 -0
  315. package/dist/tools/registry.js.map +1 -0
  316. package/dist/utils/error-handling.d.ts +109 -0
  317. package/dist/utils/error-handling.d.ts.map +1 -0
  318. package/dist/utils/error-handling.js +239 -0
  319. package/dist/utils/error-handling.js.map +1 -0
  320. package/dist/utils/index.d.ts +7 -0
  321. package/dist/utils/index.d.ts.map +1 -0
  322. package/dist/utils/index.js +6 -0
  323. package/dist/utils/index.js.map +1 -0
  324. package/dist/utils/logging.d.ts +75 -0
  325. package/dist/utils/logging.d.ts.map +1 -0
  326. package/dist/utils/logging.js +131 -0
  327. package/dist/utils/logging.js.map +1 -0
  328. package/manifest.json +143 -0
  329. package/package.json +110 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"best-practices.js","sourceRoot":"","sources":["../../../src/tools/discovery/best-practices.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,97 @@
1
+ /**
2
+ * Resource Consolidation Module
3
+ *
4
+ * Provides a resource-centric view of tools by grouping CRUD operations.
5
+ * This reduces cognitive load for LLMs by presenting one tool per resource
6
+ * instead of 5 separate CRUD tools.
7
+ *
8
+ * Example:
9
+ * Before: f5xc-api-waap-http-loadbalancer-{create,get,list,update,delete}
10
+ * After: f5xc-api-waap-http-loadbalancer (with operation parameter)
11
+ */
12
+ import type { ToolIndexEntry } from "./types.js";
13
+ /**
14
+ * CRUD operation types supported by consolidated resources
15
+ */
16
+ export type CrudOperation = "create" | "get" | "list" | "update" | "delete";
17
+ /**
18
+ * Consolidated resource entry representing a group of CRUD tools
19
+ */
20
+ export interface ConsolidatedResource {
21
+ /** Resource identifier (e.g., "f5xc-api-waap-http-loadbalancer") */
22
+ name: string;
23
+ /** Domain category */
24
+ domain: string;
25
+ /** Resource type */
26
+ resource: string;
27
+ /** Available CRUD operations */
28
+ operations: CrudOperation[];
29
+ /** Combined summary */
30
+ summary: string;
31
+ /** Original tool names mapped by operation */
32
+ toolMap: Record<CrudOperation, string>;
33
+ /** Whether this is a full CRUD resource (has all 5 operations) */
34
+ isFullCrud: boolean;
35
+ }
36
+ /**
37
+ * Consolidated index with resource-centric view
38
+ */
39
+ export interface ConsolidatedIndex {
40
+ /** Total consolidated resources */
41
+ totalResources: number;
42
+ /** Full CRUD resources (all 5 operations) */
43
+ fullCrudResources: number;
44
+ /** Partial resources (fewer operations) */
45
+ partialResources: number;
46
+ /** Standalone tools (non-CRUD) */
47
+ standaloneTools: number;
48
+ /** All consolidated resources */
49
+ resources: ConsolidatedResource[];
50
+ /** Standalone tools that don't fit CRUD pattern */
51
+ standalone: ToolIndexEntry[];
52
+ }
53
+ /**
54
+ * Build consolidated index from tool index
55
+ */
56
+ export declare function getConsolidatedIndex(): ConsolidatedIndex;
57
+ /**
58
+ * Clear consolidated index cache
59
+ */
60
+ export declare function clearConsolidatedCache(): void;
61
+ /**
62
+ * Get consolidated resource by name
63
+ */
64
+ export declare function getConsolidatedResource(name: string): ConsolidatedResource | undefined;
65
+ /**
66
+ * Get consolidated resources by domain
67
+ */
68
+ export declare function getConsolidatedByDomain(domain: string): ConsolidatedResource[];
69
+ /**
70
+ * Search consolidated resources
71
+ */
72
+ export interface ConsolidatedSearchResult {
73
+ resource: ConsolidatedResource;
74
+ score: number;
75
+ matchedTerms: string[];
76
+ }
77
+ /**
78
+ * Search consolidated resources with natural language query
79
+ */
80
+ export declare function searchConsolidatedResources(query: string, options?: {
81
+ limit?: number;
82
+ domains?: string[];
83
+ }): ConsolidatedSearchResult[];
84
+ /**
85
+ * Resolve a consolidated resource + operation to the underlying tool name
86
+ */
87
+ export declare function resolveConsolidatedTool(resourceName: string, operation: CrudOperation): string | null;
88
+ /**
89
+ * Get consolidation statistics
90
+ */
91
+ export declare function getConsolidationStats(): {
92
+ originalToolCount: number;
93
+ consolidatedCount: number;
94
+ reduction: number;
95
+ reductionPercent: string;
96
+ };
97
+ //# sourceMappingURL=consolidate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"consolidate.d.ts","sourceRoot":"","sources":["../../../src/tools/discovery/consolidate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAGjD;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,QAAQ,GAAG,KAAK,GAAG,MAAM,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAE5E;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,oEAAoE;IACpE,IAAI,EAAE,MAAM,CAAC;IACb,sBAAsB;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,oBAAoB;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,gCAAgC;IAChC,UAAU,EAAE,aAAa,EAAE,CAAC;IAC5B,uBAAuB;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,8CAA8C;IAC9C,OAAO,EAAE,MAAM,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;IACvC,kEAAkE;IAClE,UAAU,EAAE,OAAO,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,mCAAmC;IACnC,cAAc,EAAE,MAAM,CAAC;IACvB,6CAA6C;IAC7C,iBAAiB,EAAE,MAAM,CAAC;IAC1B,2CAA2C;IAC3C,gBAAgB,EAAE,MAAM,CAAC;IACzB,kCAAkC;IAClC,eAAe,EAAE,MAAM,CAAC;IACxB,iCAAiC;IACjC,SAAS,EAAE,oBAAoB,EAAE,CAAC;IAClC,mDAAmD;IACnD,UAAU,EAAE,cAAc,EAAE,CAAC;CAC9B;AAwBD;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,iBAAiB,CAsExD;AAED;;GAEG;AACH,wBAAgB,sBAAsB,IAAI,IAAI,CAE7C;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,oBAAoB,GAAG,SAAS,CAGtF;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,MAAM,GAAG,oBAAoB,EAAE,CAG9E;AAED;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,QAAQ,EAAE,oBAAoB,CAAC;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB;AAED;;GAEG;AACH,wBAAgB,2BAA2B,CACzC,KAAK,EAAE,MAAM,EACb,OAAO,GAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;CAAO,GACnD,wBAAwB,EAAE,CAgE5B;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CACrC,YAAY,EAAE,MAAM,EACpB,SAAS,EAAE,aAAa,GACvB,MAAM,GAAG,IAAI,CAQf;AAED;;GAEG;AACH,wBAAgB,qBAAqB,IAAI;IACvC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,EAAE,MAAM,CAAC;CAC1B,CAeA"}
@@ -0,0 +1,200 @@
1
+ /**
2
+ * Resource Consolidation Module
3
+ *
4
+ * Provides a resource-centric view of tools by grouping CRUD operations.
5
+ * This reduces cognitive load for LLMs by presenting one tool per resource
6
+ * instead of 5 separate CRUD tools.
7
+ *
8
+ * Example:
9
+ * Before: f5xc-api-waap-http-loadbalancer-{create,get,list,update,delete}
10
+ * After: f5xc-api-waap-http-loadbalancer (with operation parameter)
11
+ */
12
+ import { getToolIndex } from "./index-loader.js";
13
+ // Cache for consolidated index
14
+ let consolidatedCache = null;
15
+ /**
16
+ * Standard CRUD operations
17
+ */
18
+ const CRUD_OPERATIONS = ["create", "get", "list", "update", "delete"];
19
+ /**
20
+ * Generate consolidated resource name from tool name
21
+ */
22
+ function getResourceKey(tool) {
23
+ return `${tool.domain}/${tool.resource}`;
24
+ }
25
+ /**
26
+ * Generate consolidated tool name from domain and resource
27
+ */
28
+ function getConsolidatedName(domain, resource) {
29
+ return `f5xc-api-${domain}-${resource}`;
30
+ }
31
+ /**
32
+ * Build consolidated index from tool index
33
+ */
34
+ export function getConsolidatedIndex() {
35
+ if (consolidatedCache) {
36
+ return consolidatedCache;
37
+ }
38
+ const toolIndex = getToolIndex();
39
+ const resourceMap = new Map();
40
+ const standalone = [];
41
+ // Group tools by resource
42
+ for (const tool of toolIndex.tools) {
43
+ const op = tool.operation;
44
+ // Check if this is a standard CRUD operation
45
+ if (CRUD_OPERATIONS.includes(op)) {
46
+ const key = getResourceKey(tool);
47
+ if (!resourceMap.has(key)) {
48
+ resourceMap.set(key, new Map());
49
+ }
50
+ resourceMap.get(key).set(op, tool);
51
+ }
52
+ else {
53
+ // Non-CRUD operation - keep as standalone
54
+ standalone.push(tool);
55
+ }
56
+ }
57
+ // Build consolidated resources
58
+ const resources = [];
59
+ for (const [, opMap] of resourceMap) {
60
+ const operations = Array.from(opMap.keys()).sort();
61
+ const firstTool = opMap.values().next().value;
62
+ // Build tool map for routing
63
+ const toolMap = {};
64
+ for (const [op, tool] of opMap) {
65
+ toolMap[op] = tool.name;
66
+ }
67
+ // Generate combined summary from resource name
68
+ const summary = `Manage ${firstTool.resource} resources. Operations: ${operations.join(", ")}`;
69
+ resources.push({
70
+ name: getConsolidatedName(firstTool.domain, firstTool.resource),
71
+ domain: firstTool.domain,
72
+ resource: firstTool.resource,
73
+ operations,
74
+ summary,
75
+ toolMap,
76
+ isFullCrud: operations.length >= 4, // At least CRUD (no update sometimes)
77
+ });
78
+ }
79
+ // Sort resources by name
80
+ resources.sort((a, b) => a.name.localeCompare(b.name));
81
+ const fullCrudCount = resources.filter((r) => r.isFullCrud).length;
82
+ consolidatedCache = {
83
+ totalResources: resources.length,
84
+ fullCrudResources: fullCrudCount,
85
+ partialResources: resources.length - fullCrudCount,
86
+ standaloneTools: standalone.length,
87
+ resources,
88
+ standalone,
89
+ };
90
+ return consolidatedCache;
91
+ }
92
+ /**
93
+ * Clear consolidated index cache
94
+ */
95
+ export function clearConsolidatedCache() {
96
+ consolidatedCache = null;
97
+ }
98
+ /**
99
+ * Get consolidated resource by name
100
+ */
101
+ export function getConsolidatedResource(name) {
102
+ const index = getConsolidatedIndex();
103
+ return index.resources.find((r) => r.name === name);
104
+ }
105
+ /**
106
+ * Get consolidated resources by domain
107
+ */
108
+ export function getConsolidatedByDomain(domain) {
109
+ const index = getConsolidatedIndex();
110
+ return index.resources.filter((r) => r.domain.toLowerCase() === domain.toLowerCase());
111
+ }
112
+ /**
113
+ * Search consolidated resources with natural language query
114
+ */
115
+ export function searchConsolidatedResources(query, options = {}) {
116
+ const { limit = 10, domains } = options;
117
+ const index = getConsolidatedIndex();
118
+ // Tokenize query
119
+ const queryTerms = query
120
+ .toLowerCase()
121
+ .split(/[\s-_]+/)
122
+ .filter((t) => t.length > 1);
123
+ const results = [];
124
+ for (const resource of index.resources) {
125
+ // Apply domain filter
126
+ if (domains && domains.length > 0) {
127
+ if (!domains.some((d) => d.toLowerCase() === resource.domain.toLowerCase())) {
128
+ continue;
129
+ }
130
+ }
131
+ // Score based on term matching
132
+ const searchableText = [
133
+ resource.name,
134
+ resource.domain,
135
+ resource.resource,
136
+ resource.summary,
137
+ ...resource.operations,
138
+ ]
139
+ .join(" ")
140
+ .toLowerCase();
141
+ const matchedTerms = [];
142
+ let score = 0;
143
+ for (const term of queryTerms) {
144
+ if (searchableText.includes(term)) {
145
+ matchedTerms.push(term);
146
+ // Weight by where the match occurred
147
+ if (resource.resource.toLowerCase().includes(term)) {
148
+ score += 0.4;
149
+ }
150
+ else if (resource.domain.toLowerCase().includes(term)) {
151
+ score += 0.3;
152
+ }
153
+ else if (resource.operations.some((op) => op.includes(term))) {
154
+ score += 0.2;
155
+ }
156
+ else {
157
+ score += 0.1;
158
+ }
159
+ }
160
+ }
161
+ // Normalize score
162
+ if (queryTerms.length > 0) {
163
+ score = score / queryTerms.length;
164
+ }
165
+ if (score > 0) {
166
+ results.push({ resource, score: Math.min(score, 1), matchedTerms });
167
+ }
168
+ }
169
+ // Sort by score descending
170
+ results.sort((a, b) => b.score - a.score);
171
+ return results.slice(0, limit);
172
+ }
173
+ /**
174
+ * Resolve a consolidated resource + operation to the underlying tool name
175
+ */
176
+ export function resolveConsolidatedTool(resourceName, operation) {
177
+ const resource = getConsolidatedResource(resourceName);
178
+ if (!resource) {
179
+ return null;
180
+ }
181
+ return resource.toolMap[operation] ?? null;
182
+ }
183
+ /**
184
+ * Get consolidation statistics
185
+ */
186
+ export function getConsolidationStats() {
187
+ const index = getConsolidatedIndex();
188
+ const toolIndex = getToolIndex();
189
+ const originalToolCount = toolIndex.tools.length;
190
+ const consolidatedCount = index.totalResources + index.standaloneTools;
191
+ const reduction = originalToolCount - consolidatedCount;
192
+ const reductionPercent = ((reduction / originalToolCount) * 100).toFixed(1);
193
+ return {
194
+ originalToolCount,
195
+ consolidatedCount,
196
+ reduction,
197
+ reductionPercent: `${reductionPercent}%`,
198
+ };
199
+ }
200
+ //# sourceMappingURL=consolidate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"consolidate.js","sourceRoot":"","sources":["../../../src/tools/discovery/consolidate.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,114 @@
1
+ /**
2
+ * Cost and Performance Estimation
3
+ *
4
+ * Provides token usage estimates, latency expectations, and
5
+ * workflow cost aggregation for F5XC API operations.
6
+ */
7
+ import type { CreationPlan } from "./resolver.js";
8
+ /**
9
+ * Latency classification from performance_impact
10
+ */
11
+ export type LatencyLevel = "low" | "moderate" | "high" | "unknown";
12
+ /**
13
+ * Token cost estimate for a single tool
14
+ */
15
+ export interface TokenEstimate {
16
+ /** Estimated tokens for tool schema/description */
17
+ schemaTokens: number;
18
+ /** Estimated tokens for typical request body */
19
+ requestTokens: number;
20
+ /** Estimated tokens for typical response */
21
+ responseTokens: number;
22
+ /** Total estimated tokens for one call */
23
+ totalTokens: number;
24
+ }
25
+ /**
26
+ * Latency estimate for a single tool
27
+ */
28
+ export interface LatencyEstimate {
29
+ /** Latency level from performance_impact */
30
+ level: LatencyLevel;
31
+ /** Estimated milliseconds (rough approximation) */
32
+ estimatedMs: number;
33
+ /** Description of latency expectation */
34
+ description: string;
35
+ }
36
+ /**
37
+ * Complete cost estimate for a single tool
38
+ */
39
+ export interface ToolCostEstimate {
40
+ /** Tool name */
41
+ toolName: string;
42
+ /** Token estimates */
43
+ tokens: TokenEstimate;
44
+ /** Latency estimate */
45
+ latency: LatencyEstimate;
46
+ /** Danger level */
47
+ dangerLevel: "low" | "medium" | "high" | "critical";
48
+ /** Whether tool exists */
49
+ exists: boolean;
50
+ }
51
+ /**
52
+ * Workflow cost aggregation
53
+ */
54
+ export interface WorkflowCostEstimate {
55
+ /** Total estimated tokens across all steps */
56
+ totalTokens: number;
57
+ /** Average latency level */
58
+ averageLatency: LatencyLevel;
59
+ /** Total estimated time in milliseconds */
60
+ estimatedTotalMs: number;
61
+ /** Number of steps */
62
+ stepCount: number;
63
+ /** Per-step breakdown */
64
+ steps: Array<{
65
+ stepNumber: number;
66
+ toolName: string;
67
+ tokens: number;
68
+ latencyMs: number;
69
+ }>;
70
+ /** Warnings about estimates */
71
+ warnings: string[];
72
+ }
73
+ /**
74
+ * Parameters for cost estimation
75
+ */
76
+ export interface EstimateCostParams {
77
+ /** Tool name to estimate */
78
+ toolName?: string;
79
+ /** Multiple tools to estimate */
80
+ toolNames?: string[];
81
+ /** Creation plan to estimate */
82
+ plan?: CreationPlan;
83
+ /** Include detailed breakdown */
84
+ detailed?: boolean;
85
+ }
86
+ /**
87
+ * Estimate tokens for a tool call
88
+ */
89
+ export declare function estimateToolTokens(toolName: string): TokenEstimate;
90
+ /**
91
+ * Estimate latency for a tool call
92
+ */
93
+ export declare function estimateToolLatency(toolName: string): LatencyEstimate;
94
+ /**
95
+ * Get complete cost estimate for a single tool
96
+ */
97
+ export declare function estimateToolCost(toolName: string): ToolCostEstimate;
98
+ /**
99
+ * Estimate costs for multiple tools
100
+ */
101
+ export declare function estimateMultipleToolsCost(toolNames: string[]): ToolCostEstimate[];
102
+ /**
103
+ * Estimate costs for a creation plan workflow
104
+ */
105
+ export declare function estimateWorkflowCost(plan: CreationPlan): WorkflowCostEstimate;
106
+ /**
107
+ * Format cost estimate for human-readable output
108
+ */
109
+ export declare function formatCostEstimate(estimate: ToolCostEstimate): string;
110
+ /**
111
+ * Format workflow cost estimate for human-readable output
112
+ */
113
+ export declare function formatWorkflowCostEstimate(estimate: WorkflowCostEstimate): string;
114
+ //# sourceMappingURL=cost-estimator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cost-estimator.d.ts","sourceRoot":"","sources":["../../../src/tools/discovery/cost-estimator.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,KAAK,EAAE,YAAY,EAAgB,MAAM,eAAe,CAAC;AAEhE;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,KAAK,GAAG,UAAU,GAAG,MAAM,GAAG,SAAS,CAAC;AAEnE;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,mDAAmD;IACnD,YAAY,EAAE,MAAM,CAAC;IACrB,gDAAgD;IAChD,aAAa,EAAE,MAAM,CAAC;IACtB,4CAA4C;IAC5C,cAAc,EAAE,MAAM,CAAC;IACvB,0CAA0C;IAC1C,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,4CAA4C;IAC5C,KAAK,EAAE,YAAY,CAAC;IACpB,mDAAmD;IACnD,WAAW,EAAE,MAAM,CAAC;IACpB,yCAAyC;IACzC,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,gBAAgB;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,sBAAsB;IACtB,MAAM,EAAE,aAAa,CAAC;IACtB,uBAAuB;IACvB,OAAO,EAAE,eAAe,CAAC;IACzB,mBAAmB;IACnB,WAAW,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,UAAU,CAAC;IACpD,0BAA0B;IAC1B,MAAM,EAAE,OAAO,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,8CAA8C;IAC9C,WAAW,EAAE,MAAM,CAAC;IACpB,4BAA4B;IAC5B,cAAc,EAAE,YAAY,CAAC;IAC7B,2CAA2C;IAC3C,gBAAgB,EAAE,MAAM,CAAC;IACzB,sBAAsB;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,yBAAyB;IACzB,KAAK,EAAE,KAAK,CAAC;QACX,UAAU,EAAE,MAAM,CAAC;QACnB,QAAQ,EAAE,MAAM,CAAC;QACjB,MAAM,EAAE,MAAM,CAAC;QACf,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC,CAAC;IACH,+BAA+B;IAC/B,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,4BAA4B;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,iCAAiC;IACjC,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,gCAAgC;IAChC,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB,iCAAiC;IACjC,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAkED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,aAAa,CAqElE;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,eAAe,CAOrE;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,gBAAgB,CAWnE;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,gBAAgB,EAAE,CAEjF;AAyBD;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,YAAY,GAAG,oBAAoB,CAiC7E;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,gBAAgB,GAAG,MAAM,CA4BrE;AAED;;GAEG;AACH,wBAAgB,0BAA0B,CAAC,QAAQ,EAAE,oBAAoB,GAAG,MAAM,CA+BjF"}