@robinmordasiewicz/f5xc-api-mcp 3.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 (212) hide show
  1. package/CHANGELOG.md +74 -0
  2. package/README.md +234 -0
  3. package/dist/auth/credential-manager.d.ts +116 -0
  4. package/dist/auth/credential-manager.d.ts.map +1 -0
  5. package/dist/auth/credential-manager.js +208 -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/generator/index.d.ts +7 -0
  16. package/dist/generator/index.d.ts.map +1 -0
  17. package/dist/generator/index.js +7 -0
  18. package/dist/generator/index.js.map +1 -0
  19. package/dist/generator/naming/acronyms.d.ts +81 -0
  20. package/dist/generator/naming/acronyms.d.ts.map +1 -0
  21. package/dist/generator/naming/acronyms.js +253 -0
  22. package/dist/generator/naming/acronyms.js.map +1 -0
  23. package/dist/generator/naming/index.d.ts +6 -0
  24. package/dist/generator/naming/index.d.ts.map +1 -0
  25. package/dist/generator/naming/index.js +6 -0
  26. package/dist/generator/naming/index.js.map +1 -0
  27. package/dist/generator/naming/volterra-mapping.d.ts +102 -0
  28. package/dist/generator/naming/volterra-mapping.d.ts.map +1 -0
  29. package/dist/generator/naming/volterra-mapping.js +259 -0
  30. package/dist/generator/naming/volterra-mapping.js.map +1 -0
  31. package/dist/generator/openapi-parser.d.ts +339 -0
  32. package/dist/generator/openapi-parser.d.ts.map +1 -0
  33. package/dist/generator/openapi-parser.js +463 -0
  34. package/dist/generator/openapi-parser.js.map +1 -0
  35. package/dist/generator/tool-generator.d.ts +74 -0
  36. package/dist/generator/tool-generator.d.ts.map +1 -0
  37. package/dist/generator/tool-generator.js +387 -0
  38. package/dist/generator/tool-generator.js.map +1 -0
  39. package/dist/generator/transformers/index.d.ts +7 -0
  40. package/dist/generator/transformers/index.d.ts.map +1 -0
  41. package/dist/generator/transformers/index.js +7 -0
  42. package/dist/generator/transformers/index.js.map +1 -0
  43. package/dist/generator/transformers/normalize-examples.d.ts +48 -0
  44. package/dist/generator/transformers/normalize-examples.d.ts.map +1 -0
  45. package/dist/generator/transformers/normalize-examples.js +66 -0
  46. package/dist/generator/transformers/normalize-examples.js.map +1 -0
  47. package/dist/index.d.ts +21 -0
  48. package/dist/index.d.ts.map +1 -0
  49. package/dist/index.js +70 -0
  50. package/dist/index.js.map +1 -0
  51. package/dist/prompts/index.d.ts +6 -0
  52. package/dist/prompts/index.d.ts.map +1 -0
  53. package/dist/prompts/index.js +5 -0
  54. package/dist/prompts/index.js.map +1 -0
  55. package/dist/prompts/workflows.d.ts +59 -0
  56. package/dist/prompts/workflows.d.ts.map +1 -0
  57. package/dist/prompts/workflows.js +585 -0
  58. package/dist/prompts/workflows.js.map +1 -0
  59. package/dist/resources/handlers.d.ts +72 -0
  60. package/dist/resources/handlers.d.ts.map +1 -0
  61. package/dist/resources/handlers.js +279 -0
  62. package/dist/resources/handlers.js.map +1 -0
  63. package/dist/resources/index.d.ts +8 -0
  64. package/dist/resources/index.d.ts.map +1 -0
  65. package/dist/resources/index.js +6 -0
  66. package/dist/resources/index.js.map +1 -0
  67. package/dist/resources/templates.d.ts +86 -0
  68. package/dist/resources/templates.d.ts.map +1 -0
  69. package/dist/resources/templates.js +248 -0
  70. package/dist/resources/templates.js.map +1 -0
  71. package/dist/server.d.ts +78 -0
  72. package/dist/server.d.ts.map +1 -0
  73. package/dist/server.js +426 -0
  74. package/dist/server.js.map +1 -0
  75. package/dist/tools/discovery/consolidate.d.ts +97 -0
  76. package/dist/tools/discovery/consolidate.d.ts.map +1 -0
  77. package/dist/tools/discovery/consolidate.js +200 -0
  78. package/dist/tools/discovery/consolidate.js.map +1 -0
  79. package/dist/tools/discovery/describe.d.ts +132 -0
  80. package/dist/tools/discovery/describe.d.ts.map +1 -0
  81. package/dist/tools/discovery/describe.js +206 -0
  82. package/dist/tools/discovery/describe.js.map +1 -0
  83. package/dist/tools/discovery/execute.d.ts +98 -0
  84. package/dist/tools/discovery/execute.d.ts.map +1 -0
  85. package/dist/tools/discovery/execute.js +251 -0
  86. package/dist/tools/discovery/execute.js.map +1 -0
  87. package/dist/tools/discovery/index-loader.d.ts +28 -0
  88. package/dist/tools/discovery/index-loader.d.ts.map +1 -0
  89. package/dist/tools/discovery/index-loader.js +69 -0
  90. package/dist/tools/discovery/index-loader.js.map +1 -0
  91. package/dist/tools/discovery/index.d.ts +185 -0
  92. package/dist/tools/discovery/index.d.ts.map +1 -0
  93. package/dist/tools/discovery/index.js +177 -0
  94. package/dist/tools/discovery/index.js.map +1 -0
  95. package/dist/tools/discovery/search.d.ts +41 -0
  96. package/dist/tools/discovery/search.d.ts.map +1 -0
  97. package/dist/tools/discovery/search.js +155 -0
  98. package/dist/tools/discovery/search.js.map +1 -0
  99. package/dist/tools/discovery/types.d.ts +70 -0
  100. package/dist/tools/discovery/types.d.ts.map +1 -0
  101. package/dist/tools/discovery/types.js +9 -0
  102. package/dist/tools/discovery/types.js.map +1 -0
  103. package/dist/tools/generated/ai_intelligence/index.d.ts +8 -0
  104. package/dist/tools/generated/ai_intelligence/index.d.ts.map +1 -0
  105. package/dist/tools/generated/ai_intelligence/index.js +282 -0
  106. package/dist/tools/generated/ai_intelligence/index.js.map +1 -0
  107. package/dist/tools/generated/api_security/index.d.ts +8 -0
  108. package/dist/tools/generated/api_security/index.d.ts.map +1 -0
  109. package/dist/tools/generated/api_security/index.js +1852 -0
  110. package/dist/tools/generated/api_security/index.js.map +1 -0
  111. package/dist/tools/generated/applications/index.d.ts +8 -0
  112. package/dist/tools/generated/applications/index.d.ts.map +1 -0
  113. package/dist/tools/generated/applications/index.js +1589 -0
  114. package/dist/tools/generated/applications/index.js.map +1 -0
  115. package/dist/tools/generated/bigip/index.d.ts +8 -0
  116. package/dist/tools/generated/bigip/index.d.ts.map +1 -0
  117. package/dist/tools/generated/bigip/index.js +1173 -0
  118. package/dist/tools/generated/bigip/index.js.map +1 -0
  119. package/dist/tools/generated/billing/index.d.ts +8 -0
  120. package/dist/tools/generated/billing/index.d.ts.map +1 -0
  121. package/dist/tools/generated/billing/index.js +759 -0
  122. package/dist/tools/generated/billing/index.js.map +1 -0
  123. package/dist/tools/generated/cdn/index.d.ts +8 -0
  124. package/dist/tools/generated/cdn/index.d.ts.map +1 -0
  125. package/dist/tools/generated/cdn/index.js +841 -0
  126. package/dist/tools/generated/cdn/index.js.map +1 -0
  127. package/dist/tools/generated/config/index.d.ts +8 -0
  128. package/dist/tools/generated/config/index.d.ts.map +1 -0
  129. package/dist/tools/generated/config/index.js +316 -0
  130. package/dist/tools/generated/config/index.js.map +1 -0
  131. package/dist/tools/generated/identity/index.d.ts +8 -0
  132. package/dist/tools/generated/identity/index.d.ts.map +1 -0
  133. package/dist/tools/generated/identity/index.js +5371 -0
  134. package/dist/tools/generated/identity/index.js.map +1 -0
  135. package/dist/tools/generated/infrastructure/index.d.ts +8 -0
  136. package/dist/tools/generated/infrastructure/index.d.ts.map +1 -0
  137. package/dist/tools/generated/infrastructure/index.js +5342 -0
  138. package/dist/tools/generated/infrastructure/index.js.map +1 -0
  139. package/dist/tools/generated/infrastructure_protection/index.d.ts +8 -0
  140. package/dist/tools/generated/infrastructure_protection/index.d.ts.map +1 -0
  141. package/dist/tools/generated/infrastructure_protection/index.js +2919 -0
  142. package/dist/tools/generated/infrastructure_protection/index.js.map +1 -0
  143. package/dist/tools/generated/integrations/index.d.ts +8 -0
  144. package/dist/tools/generated/integrations/index.d.ts.map +1 -0
  145. package/dist/tools/generated/integrations/index.js +1995 -0
  146. package/dist/tools/generated/integrations/index.js.map +1 -0
  147. package/dist/tools/generated/load_balancer/index.d.ts +8 -0
  148. package/dist/tools/generated/load_balancer/index.d.ts.map +1 -0
  149. package/dist/tools/generated/load_balancer/index.js +2269 -0
  150. package/dist/tools/generated/load_balancer/index.js.map +1 -0
  151. package/dist/tools/generated/networking/index.d.ts +8 -0
  152. package/dist/tools/generated/networking/index.d.ts.map +1 -0
  153. package/dist/tools/generated/networking/index.js +11289 -0
  154. package/dist/tools/generated/networking/index.js.map +1 -0
  155. package/dist/tools/generated/nginx/index.d.ts +8 -0
  156. package/dist/tools/generated/nginx/index.d.ts.map +1 -0
  157. package/dist/tools/generated/nginx/index.js +680 -0
  158. package/dist/tools/generated/nginx/index.js.map +1 -0
  159. package/dist/tools/generated/observability/index.d.ts +8 -0
  160. package/dist/tools/generated/observability/index.d.ts.map +1 -0
  161. package/dist/tools/generated/observability/index.js +6140 -0
  162. package/dist/tools/generated/observability/index.js.map +1 -0
  163. package/dist/tools/generated/operations/index.d.ts +8 -0
  164. package/dist/tools/generated/operations/index.d.ts.map +1 -0
  165. package/dist/tools/generated/operations/index.js +1759 -0
  166. package/dist/tools/generated/operations/index.js.map +1 -0
  167. package/dist/tools/generated/security/index.d.ts +8 -0
  168. package/dist/tools/generated/security/index.d.ts.map +1 -0
  169. package/dist/tools/generated/security/index.js +9111 -0
  170. package/dist/tools/generated/security/index.js.map +1 -0
  171. package/dist/tools/generated/service_mesh/index.d.ts +8 -0
  172. package/dist/tools/generated/service_mesh/index.d.ts.map +1 -0
  173. package/dist/tools/generated/service_mesh/index.js +1628 -0
  174. package/dist/tools/generated/service_mesh/index.js.map +1 -0
  175. package/dist/tools/generated/shape_security/index.d.ts +8 -0
  176. package/dist/tools/generated/shape_security/index.d.ts.map +1 -0
  177. package/dist/tools/generated/shape_security/index.js +4121 -0
  178. package/dist/tools/generated/shape_security/index.js.map +1 -0
  179. package/dist/tools/generated/subscriptions/index.d.ts +8 -0
  180. package/dist/tools/generated/subscriptions/index.d.ts.map +1 -0
  181. package/dist/tools/generated/subscriptions/index.js +778 -0
  182. package/dist/tools/generated/subscriptions/index.js.map +1 -0
  183. package/dist/tools/generated/tenant_management/index.d.ts +8 -0
  184. package/dist/tools/generated/tenant_management/index.d.ts.map +1 -0
  185. package/dist/tools/generated/tenant_management/index.js +2292 -0
  186. package/dist/tools/generated/tenant_management/index.js.map +1 -0
  187. package/dist/tools/generated/vpn/index.d.ts +8 -0
  188. package/dist/tools/generated/vpn/index.d.ts.map +1 -0
  189. package/dist/tools/generated/vpn/index.js +1183 -0
  190. package/dist/tools/generated/vpn/index.js.map +1 -0
  191. package/dist/tools/index.d.ts +7 -0
  192. package/dist/tools/index.d.ts.map +1 -0
  193. package/dist/tools/index.js +6 -0
  194. package/dist/tools/index.js.map +1 -0
  195. package/dist/tools/registry.d.ts +27 -0
  196. package/dist/tools/registry.d.ts.map +1 -0
  197. package/dist/tools/registry.js +83 -0
  198. package/dist/tools/registry.js.map +1 -0
  199. package/dist/utils/error-handling.d.ts +109 -0
  200. package/dist/utils/error-handling.d.ts.map +1 -0
  201. package/dist/utils/error-handling.js +239 -0
  202. package/dist/utils/error-handling.js.map +1 -0
  203. package/dist/utils/index.d.ts +7 -0
  204. package/dist/utils/index.d.ts.map +1 -0
  205. package/dist/utils/index.js +6 -0
  206. package/dist/utils/index.js.map +1 -0
  207. package/dist/utils/logging.d.ts +75 -0
  208. package/dist/utils/logging.d.ts.map +1 -0
  209. package/dist/utils/logging.js +131 -0
  210. package/dist/utils/logging.js.map +1 -0
  211. package/manifest.json +143 -0
  212. package/package.json +95 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"acronyms.js","sourceRoot":"","sources":["../../../src/generator/naming/acronyms.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAsB;IACnD,aAAa;IACb,KAAK;IACL,KAAK;IACL,MAAM;IACN,OAAO;IACP,KAAK;IACL,IAAI;IACJ,MAAM;IACN,MAAM;IACN,KAAK;IACL,MAAM;IACN,MAAM;IACN,KAAK;IACL,MAAM;IACN,KAAK;IACL,MAAM;IACN,MAAM;IACN,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,MAAM;IACN,KAAK;IACL,OAAO;IACP,OAAO;IACP,KAAK;IACL,KAAK;IACL,KAAK;IAEL,WAAW;IACX,KAAK;IACL,MAAM;IACN,KAAK;IACL,MAAM;IACN,MAAM;IACN,OAAO;IACP,KAAK;IACL,KAAK;IACL,OAAO;IACP,MAAM;IACN,MAAM;IACN,IAAI;IACJ,KAAK;IACL,MAAM;IACN,KAAK;IACL,KAAK;IACL,KAAK;IAEL,iBAAiB;IACjB,IAAI;IACJ,KAAK;IACL,KAAK;IACL,MAAM;IACN,KAAK;IAEL,yBAAyB;IACzB,KAAK;IACL,KAAK;IACL,OAAO;IACP,KAAK;IACL,MAAM;IACN,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,IAAI;IACJ,KAAK;IACL,KAAK;IACL,MAAM;IACN,MAAM;IACN,KAAK;IACL,KAAK;IACL,KAAK;IACL,MAAM;IACN,MAAM;IACN,MAAM;IAEN,cAAc;IACd,IAAI;IACJ,IAAI;IACJ,QAAQ;IACR,OAAO;IACP,IAAI;IACJ,IAAI;IACJ,KAAK;IAEL,sBAAsB;IACtB,MAAM;IACN,KAAK;IACL,MAAM;IACN,KAAK;IACL,MAAM;IACN,KAAK;IACL,KAAK;IACL,KAAK;IACL,MAAM;IACN,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IAEL,YAAY;IACZ,MAAM;IACN,MAAM;IACN,MAAM;IACN,KAAK;IACL,MAAM;IACN,KAAK;IACL,KAAK;IACL,MAAM;IACN,KAAK;IACL,QAAQ;IACR,QAAQ;IAER,QAAQ;IACR,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,MAAM;IACN,IAAI;IACJ,IAAI;IACJ,KAAK;IACL,KAAK;IACL,KAAK;IACL,MAAM;CACE,CAAC;AAEX;;GAEG;AACH,MAAM,WAAW,GAAwB,IAAI,GAAG,CAC9C,kBAAkB,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,OAAO,CAAC,CAAC,CACtE,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,UAAU,iBAAiB,CAAC,IAAY;IAC5C,2CAA2C;IAC3C,MAAM,WAAW,GAAG,8BAA8B,CAAC;IAEnD,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,KAAK,EAAE,EAAE;QACzC,MAAM,UAAU,GAAG,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;QACxD,OAAO,UAAU,IAAI,KAAK,CAAC;IAC7B,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,sBAAsB,CAAC,KAAa;IAClD,OAAO,iBAAiB,CAAC,KAAK,CAAC,CAAC;AAClC,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,SAAS,CAAC,IAAY;IACpC,OAAO,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;AAC7C,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,mBAAmB,CAAC,IAAY;IAC9C,OAAO,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,IAAI,IAAI,CAAC;AACrD,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,WAAW,CAAC,IAAY;IACtC,OAAO,IAAI;SACR,IAAI,EAAE;SACN,OAAO,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC,qBAAqB;SACzD,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,oCAAoC;SAC5D,OAAO,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC,4BAA4B;SAC1D,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,4BAA4B;SAChD,WAAW,EAAE,CAAC;AACnB,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,WAAW,CAAC,IAAY;IACtC,OAAO,IAAI;SACR,IAAI,EAAE;SACN,OAAO,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC,qBAAqB;SACzD,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,oCAAoC;SAC5D,OAAO,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC,4BAA4B;SAC1D,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,gCAAgC;SACpD,WAAW,EAAE,CAAC;AACnB,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,YAAY,CAAC,IAAY;IACvC,OAAO,IAAI;SACR,IAAI,EAAE;SACN,KAAK,CAAC,SAAS,CAAC;SAChB,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACZ,MAAM,OAAO,GAAG,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;QACpD,IAAI,OAAO,EAAE,CAAC;YACZ,qCAAqC;YACrC,OAAO,OAAO,CAAC;QACjB,CAAC;QACD,0BAA0B;QAC1B,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;IACpE,CAAC,CAAC;SACD,IAAI,CAAC,EAAE,CAAC,CAAC;AACd,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,WAAW,CAAC,IAAY;IACtC,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IAClC,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAC1D,CAAC"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Naming Module - Export all naming utilities
3
+ */
4
+ export { TECHNICAL_ACRONYMS, normalizeAcronyms, normalizeTitleAcronyms, isAcronym, getCanonicalAcronym, toKebabCase, toSnakeCase, toPascalCase, toCamelCase, } from "./acronyms.js";
5
+ export { NAMESPACE_MAPPINGS, RESOURCE_MAPPINGS, FIELD_MAPPINGS, transformNamespace, transformResourceName, transformFieldName, transformText, transformOpenApiSpec, generateToolName, extractDomainFromPath, extractResourceFromPath, methodToOperation, } from "./volterra-mapping.js";
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/generator/naming/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,sBAAsB,EACtB,SAAS,EACT,mBAAmB,EACnB,WAAW,EACX,WAAW,EACX,YAAY,EACZ,WAAW,GACZ,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,cAAc,EACd,kBAAkB,EAClB,qBAAqB,EACrB,kBAAkB,EAClB,aAAa,EACb,oBAAoB,EACpB,gBAAgB,EAChB,qBAAqB,EACrB,uBAAuB,EACvB,iBAAiB,GAClB,MAAM,uBAAuB,CAAC"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Naming Module - Export all naming utilities
3
+ */
4
+ export { TECHNICAL_ACRONYMS, normalizeAcronyms, normalizeTitleAcronyms, isAcronym, getCanonicalAcronym, toKebabCase, toSnakeCase, toPascalCase, toCamelCase, } from "./acronyms.js";
5
+ export { NAMESPACE_MAPPINGS, RESOURCE_MAPPINGS, FIELD_MAPPINGS, transformNamespace, transformResourceName, transformFieldName, transformText, transformOpenApiSpec, generateToolName, extractDomainFromPath, extractResourceFromPath, methodToOperation, } from "./volterra-mapping.js";
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/generator/naming/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,sBAAsB,EACtB,SAAS,EACT,mBAAmB,EACnB,WAAW,EACX,WAAW,EACX,YAAY,EACZ,WAAW,GACZ,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,cAAc,EACd,kBAAkB,EAClB,qBAAqB,EACrB,kBAAkB,EAClB,aAAa,EACb,oBAAoB,EACpB,gBAAgB,EAChB,qBAAqB,EACrB,uBAAuB,EACvB,iBAAiB,GAClB,MAAM,uBAAuB,CAAC"}
@@ -0,0 +1,102 @@
1
+ /**
2
+ * Volterra to F5XC Naming Transforms
3
+ *
4
+ * Handles the rebranding transformation from legacy Volterra names
5
+ * to the current F5 Distributed Cloud (F5XC) naming convention.
6
+ *
7
+ * IMPORTANT: Functional URLs containing volterra.io are NOT transformed
8
+ * as they are required for API communication.
9
+ */
10
+ /**
11
+ * Namespace/package name mappings
12
+ */
13
+ export declare const NAMESPACE_MAPPINGS: ReadonlyMap<string, string>;
14
+ /**
15
+ * Resource name mappings (legacy -> current)
16
+ */
17
+ export declare const RESOURCE_MAPPINGS: ReadonlyMap<string, string>;
18
+ /**
19
+ * Field name mappings within resources
20
+ */
21
+ export declare const FIELD_MAPPINGS: ReadonlyMap<string, string>;
22
+ /**
23
+ * Transform Volterra namespace/package names to F5XC
24
+ *
25
+ * @param namespace - Original namespace
26
+ * @returns Transformed namespace
27
+ * @deprecated Pre-enriched specs already have transformed naming
28
+ */
29
+ export declare function transformNamespace(namespace: string): string;
30
+ /**
31
+ * Transform Volterra resource names to F5XC
32
+ *
33
+ * @param resourceName - Original resource name
34
+ * @returns Transformed resource name
35
+ * @deprecated Pre-enriched specs already have transformed naming
36
+ */
37
+ export declare function transformResourceName(resourceName: string): string;
38
+ /**
39
+ * Transform Volterra field names to F5XC
40
+ *
41
+ * @param fieldName - Original field name
42
+ * @returns Transformed field name
43
+ * @deprecated Pre-enriched specs already have transformed naming
44
+ */
45
+ export declare function transformFieldName(fieldName: string): string;
46
+ /**
47
+ * Transform text content with Volterra references to F5XC
48
+ *
49
+ * Handles documentation strings, descriptions, and other text content
50
+ * while preserving functional URLs and API paths.
51
+ *
52
+ * @param text - Text to transform
53
+ * @returns Transformed text
54
+ * @deprecated Pre-enriched specs already have transformed naming
55
+ */
56
+ export declare function transformText(text: string): string;
57
+ /**
58
+ * Transform OpenAPI specification object
59
+ *
60
+ * Transforms naming throughout an OpenAPI spec while preserving
61
+ * functional URLs and schema references.
62
+ *
63
+ * @param spec - OpenAPI specification object
64
+ * @returns Transformed specification
65
+ * @deprecated Pre-enriched specs already have transformed naming
66
+ */
67
+ export declare function transformOpenApiSpec(spec: Record<string, unknown>): Record<string, unknown>;
68
+ /**
69
+ * Generate F5XC tool name from operation info
70
+ *
71
+ * Format: f5xc-api-{domain}-{resource}-{operation}
72
+ *
73
+ * @param domain - API domain (waap, dns, network, etc.)
74
+ * @param resource - Resource type (http-loadbalancer, origin-pool, etc.)
75
+ * @param operation - Operation type (create, list, get, update, delete)
76
+ * @returns Tool name in kebab-case
77
+ */
78
+ export declare function generateToolName(domain: string, resource: string, operation: string): string;
79
+ /**
80
+ * Extract domain from OpenAPI path
81
+ *
82
+ * @param path - API path like /api/config/namespaces/{namespace}/http_loadbalancers
83
+ * @returns Domain category
84
+ * @deprecated Pre-enriched specs provide domain from filename. Old domain mappings (waap, dns, etc.) are replaced by new domains (load_balancer, networking, etc.)
85
+ */
86
+ export declare function extractDomainFromPath(path: string): string;
87
+ /**
88
+ * Extract resource type from OpenAPI path
89
+ *
90
+ * @param path - API path like /api/config/namespaces/{namespace}/http_loadbalancers
91
+ * @returns Resource type in kebab-case
92
+ */
93
+ export declare function extractResourceFromPath(path: string): string;
94
+ /**
95
+ * Map HTTP method to operation name
96
+ *
97
+ * @param method - HTTP method
98
+ * @param hasPathParam - Whether the path has a resource name parameter
99
+ * @returns Operation name
100
+ */
101
+ export declare function methodToOperation(method: string, hasPathParam: boolean): string;
102
+ //# sourceMappingURL=volterra-mapping.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"volterra-mapping.d.ts","sourceRoot":"","sources":["../../../src/generator/naming/volterra-mapping.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH;;GAEG;AACH,eAAO,MAAM,kBAAkB,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAIzD,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,iBAAiB,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CASxD,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAGrD,CAAC;AA2BH;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAO5D;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAGlE;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAG5D;AAED;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CA6BlD;AAED;;;;;;;;;GASG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAE3F;AA+BD;;;;;;;;;GASG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAU5F;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAmB1D;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAkB5D;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,OAAO,GAAG,MAAM,CAiB/E"}
@@ -0,0 +1,259 @@
1
+ /**
2
+ * Volterra to F5XC Naming Transforms
3
+ *
4
+ * Handles the rebranding transformation from legacy Volterra names
5
+ * to the current F5 Distributed Cloud (F5XC) naming convention.
6
+ *
7
+ * IMPORTANT: Functional URLs containing volterra.io are NOT transformed
8
+ * as they are required for API communication.
9
+ */
10
+ /**
11
+ * Namespace/package name mappings
12
+ */
13
+ export const NAMESPACE_MAPPINGS = new Map([
14
+ ["ves.io", "f5xc"],
15
+ ["ves.io.schema", "f5xc.schema"],
16
+ ["volterra", "f5xc"],
17
+ ]);
18
+ /**
19
+ * Resource name mappings (legacy -> current)
20
+ */
21
+ export const RESOURCE_MAPPINGS = new Map([
22
+ // Sites
23
+ ["voltstack_site", "customer_edge_site"],
24
+ ["voltstack", "customer_edge"],
25
+ ["ves_site", "regional_edge_site"],
26
+ // General naming
27
+ ["ves_io_tenant", "tenant"],
28
+ ["ves_io", "f5xc"],
29
+ ]);
30
+ /**
31
+ * Field name mappings within resources
32
+ */
33
+ export const FIELD_MAPPINGS = new Map([
34
+ ["ves_io_tenant", "tenant"],
35
+ ["ves_certified_hw", "f5xc_certified_hw"],
36
+ ]);
37
+ /**
38
+ * Patterns that should NOT be transformed (functional URLs)
39
+ */
40
+ const PROTECTED_PATTERNS = [
41
+ // API URLs - must remain functional
42
+ /https?:\/\/[^/]*\.volterra\.(io|us)/gi,
43
+ // Console URLs
44
+ /console\.ves\.volterra\.io/gi,
45
+ // API paths
46
+ /\/api\/config\//gi,
47
+ /\/api\/data\//gi,
48
+ // Schema references in OpenAPI
49
+ /"?\$ref"?\s*:\s*"[^"]*"/gi,
50
+ ];
51
+ /**
52
+ * Check if a string contains protected patterns that should not be transformed
53
+ *
54
+ * @param text - Text to check
55
+ * @returns True if text contains protected patterns
56
+ */
57
+ function containsProtectedPattern(text) {
58
+ return PROTECTED_PATTERNS.some((pattern) => pattern.test(text));
59
+ }
60
+ /**
61
+ * Transform Volterra namespace/package names to F5XC
62
+ *
63
+ * @param namespace - Original namespace
64
+ * @returns Transformed namespace
65
+ * @deprecated Pre-enriched specs already have transformed naming
66
+ */
67
+ export function transformNamespace(namespace) {
68
+ for (const [volterra, f5xc] of NAMESPACE_MAPPINGS) {
69
+ if (namespace.startsWith(volterra)) {
70
+ return namespace.replace(volterra, f5xc);
71
+ }
72
+ }
73
+ return namespace;
74
+ }
75
+ /**
76
+ * Transform Volterra resource names to F5XC
77
+ *
78
+ * @param resourceName - Original resource name
79
+ * @returns Transformed resource name
80
+ * @deprecated Pre-enriched specs already have transformed naming
81
+ */
82
+ export function transformResourceName(resourceName) {
83
+ const lowerName = resourceName.toLowerCase();
84
+ return RESOURCE_MAPPINGS.get(lowerName) ?? resourceName;
85
+ }
86
+ /**
87
+ * Transform Volterra field names to F5XC
88
+ *
89
+ * @param fieldName - Original field name
90
+ * @returns Transformed field name
91
+ * @deprecated Pre-enriched specs already have transformed naming
92
+ */
93
+ export function transformFieldName(fieldName) {
94
+ const lowerName = fieldName.toLowerCase();
95
+ return FIELD_MAPPINGS.get(lowerName) ?? fieldName;
96
+ }
97
+ /**
98
+ * Transform text content with Volterra references to F5XC
99
+ *
100
+ * Handles documentation strings, descriptions, and other text content
101
+ * while preserving functional URLs and API paths.
102
+ *
103
+ * @param text - Text to transform
104
+ * @returns Transformed text
105
+ * @deprecated Pre-enriched specs already have transformed naming
106
+ */
107
+ export function transformText(text) {
108
+ // Skip if text contains protected patterns
109
+ if (containsProtectedPattern(text)) {
110
+ return text;
111
+ }
112
+ let result = text;
113
+ // Transform display names and documentation
114
+ const textReplacements = [
115
+ // Company name - case-insensitive but preserve case pattern
116
+ [/\bVolterra\b/g, "F5 Distributed Cloud"],
117
+ [/\bVES\b/g, "F5XC"],
118
+ [/\bves\b/g, "f5xc"],
119
+ // Product names
120
+ [/\bVoltStack\b/gi, "Customer Edge"],
121
+ [/\bvoltstack\b/g, "customer_edge"],
122
+ // References in documentation
123
+ [/Volterra Edge Services/gi, "F5 Distributed Cloud"],
124
+ [/VES Console/gi, "F5XC Console"],
125
+ ];
126
+ for (const [pattern, replacement] of textReplacements) {
127
+ result = result.replace(pattern, replacement);
128
+ }
129
+ return result;
130
+ }
131
+ /**
132
+ * Transform OpenAPI specification object
133
+ *
134
+ * Transforms naming throughout an OpenAPI spec while preserving
135
+ * functional URLs and schema references.
136
+ *
137
+ * @param spec - OpenAPI specification object
138
+ * @returns Transformed specification
139
+ * @deprecated Pre-enriched specs already have transformed naming
140
+ */
141
+ export function transformOpenApiSpec(spec) {
142
+ return transformObject(spec);
143
+ }
144
+ /**
145
+ * Recursively transform object properties
146
+ */
147
+ function transformObject(obj) {
148
+ if (obj === null || obj === undefined) {
149
+ return obj;
150
+ }
151
+ if (typeof obj === "string") {
152
+ return transformText(obj);
153
+ }
154
+ if (Array.isArray(obj)) {
155
+ return obj.map(transformObject);
156
+ }
157
+ if (typeof obj === "object") {
158
+ const result = {};
159
+ for (const [key, value] of Object.entries(obj)) {
160
+ // Transform field names
161
+ const newKey = transformFieldName(key);
162
+ result[newKey] = transformObject(value);
163
+ }
164
+ return result;
165
+ }
166
+ return obj;
167
+ }
168
+ /**
169
+ * Generate F5XC tool name from operation info
170
+ *
171
+ * Format: f5xc-api-{domain}-{resource}-{operation}
172
+ *
173
+ * @param domain - API domain (waap, dns, network, etc.)
174
+ * @param resource - Resource type (http-loadbalancer, origin-pool, etc.)
175
+ * @param operation - Operation type (create, list, get, update, delete)
176
+ * @returns Tool name in kebab-case
177
+ */
178
+ export function generateToolName(domain, resource, operation) {
179
+ // Normalize inputs
180
+ const normalizedDomain = domain.toLowerCase().replace(/[^a-z0-9]/g, "");
181
+ const normalizedResource = resource
182
+ .toLowerCase()
183
+ .replace(/_/g, "-")
184
+ .replace(/[^a-z0-9-]/g, "");
185
+ const normalizedOperation = operation.toLowerCase().replace(/[^a-z0-9]/g, "");
186
+ return `f5xc-api-${normalizedDomain}-${normalizedResource}-${normalizedOperation}`;
187
+ }
188
+ /**
189
+ * Extract domain from OpenAPI path
190
+ *
191
+ * @param path - API path like /api/config/namespaces/{namespace}/http_loadbalancers
192
+ * @returns Domain category
193
+ * @deprecated Pre-enriched specs provide domain from filename. Old domain mappings (waap, dns, etc.) are replaced by new domains (load_balancer, networking, etc.)
194
+ */
195
+ export function extractDomainFromPath(path) {
196
+ // Domain mappings based on path patterns
197
+ const domainPatterns = [
198
+ [/http_loadbalancer|origin_pool|app_firewall|rate_limiter/i, "waap"],
199
+ [/dns_zone|dns_load_balancer|dns_lb_pool/i, "dns"],
200
+ [/network_connector|network_firewall|enhanced_firewall/i, "network"],
201
+ [/aws_vpc_site|azure_vnet_site|gcp_vpc_site/i, "site"],
202
+ [/k8s_cluster|virtual_k8s|workload/i, "appstack"],
203
+ [/service_policy|waf|malicious_user/i, "security"],
204
+ [/namespace|certificate|cloud_credentials/i, "core"],
205
+ ];
206
+ for (const [pattern, domain] of domainPatterns) {
207
+ if (pattern.test(path)) {
208
+ return domain;
209
+ }
210
+ }
211
+ return "core";
212
+ }
213
+ /**
214
+ * Extract resource type from OpenAPI path
215
+ *
216
+ * @param path - API path like /api/config/namespaces/{namespace}/http_loadbalancers
217
+ * @returns Resource type in kebab-case
218
+ */
219
+ export function extractResourceFromPath(path) {
220
+ // Extract the resource name from the path
221
+ const segments = path.split("/").filter(Boolean);
222
+ const lastSegment = segments[segments.length - 1];
223
+ if (!lastSegment) {
224
+ return "unknown";
225
+ }
226
+ // Remove path parameters
227
+ if (lastSegment.startsWith("{")) {
228
+ const secondLast = segments[segments.length - 2];
229
+ return secondLast
230
+ ? secondLast.replace(/_/g, "-").replace(/s$/, "") // Remove trailing 's' for plural
231
+ : "unknown";
232
+ }
233
+ return lastSegment.replace(/_/g, "-").replace(/s$/, "");
234
+ }
235
+ /**
236
+ * Map HTTP method to operation name
237
+ *
238
+ * @param method - HTTP method
239
+ * @param hasPathParam - Whether the path has a resource name parameter
240
+ * @returns Operation name
241
+ */
242
+ export function methodToOperation(method, hasPathParam) {
243
+ const upperMethod = method.toUpperCase();
244
+ switch (upperMethod) {
245
+ case "GET":
246
+ return hasPathParam ? "get" : "list";
247
+ case "POST":
248
+ return "create";
249
+ case "PUT":
250
+ return "update";
251
+ case "DELETE":
252
+ return "delete";
253
+ case "PATCH":
254
+ return "patch";
255
+ default:
256
+ return upperMethod.toLowerCase();
257
+ }
258
+ }
259
+ //# sourceMappingURL=volterra-mapping.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"volterra-mapping.js","sourceRoot":"","sources":["../../../src/generator/naming/volterra-mapping.ts"],"names":[],"mappings":"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"}