@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.
- package/CHANGELOG.md +74 -0
- package/README.md +415 -0
- package/dist/auth/credential-manager.d.ts +151 -0
- package/dist/auth/credential-manager.d.ts.map +1 -0
- package/dist/auth/credential-manager.js +330 -0
- package/dist/auth/credential-manager.js.map +1 -0
- package/dist/auth/http-client.d.ts +81 -0
- package/dist/auth/http-client.d.ts.map +1 -0
- package/dist/auth/http-client.js +197 -0
- package/dist/auth/http-client.js.map +1 -0
- package/dist/auth/index.d.ts +8 -0
- package/dist/auth/index.d.ts.map +1 -0
- package/dist/auth/index.js +6 -0
- package/dist/auth/index.js.map +1 -0
- package/dist/config/config-manager.d.ts +72 -0
- package/dist/config/config-manager.d.ts.map +1 -0
- package/dist/config/config-manager.js +247 -0
- package/dist/config/config-manager.js.map +1 -0
- package/dist/config/index.d.ts +7 -0
- package/dist/config/index.d.ts.map +1 -0
- package/dist/config/index.js +7 -0
- package/dist/config/index.js.map +1 -0
- package/dist/config/schema.d.ts +74 -0
- package/dist/config/schema.d.ts.map +1 -0
- package/dist/config/schema.js +75 -0
- package/dist/config/schema.js.map +1 -0
- package/dist/config/types.d.ts +77 -0
- package/dist/config/types.d.ts.map +1 -0
- package/dist/config/types.js +31 -0
- package/dist/config/types.js.map +1 -0
- package/dist/generator/dependency-extractor.d.ts +103 -0
- package/dist/generator/dependency-extractor.d.ts.map +1 -0
- package/dist/generator/dependency-extractor.js +473 -0
- package/dist/generator/dependency-extractor.js.map +1 -0
- package/dist/generator/dependency-graph.d.ts +67 -0
- package/dist/generator/dependency-graph.d.ts.map +1 -0
- package/dist/generator/dependency-graph.js +330 -0
- package/dist/generator/dependency-graph.js.map +1 -0
- package/dist/generator/dependency-types.d.ts +206 -0
- package/dist/generator/dependency-types.d.ts.map +1 -0
- package/dist/generator/dependency-types.js +37 -0
- package/dist/generator/dependency-types.js.map +1 -0
- package/dist/generator/index.d.ts +7 -0
- package/dist/generator/index.d.ts.map +1 -0
- package/dist/generator/index.js +7 -0
- package/dist/generator/index.js.map +1 -0
- package/dist/generator/naming/acronyms.d.ts +81 -0
- package/dist/generator/naming/acronyms.d.ts.map +1 -0
- package/dist/generator/naming/acronyms.js +253 -0
- package/dist/generator/naming/acronyms.js.map +1 -0
- package/dist/generator/naming/index.d.ts +6 -0
- package/dist/generator/naming/index.d.ts.map +1 -0
- package/dist/generator/naming/index.js +6 -0
- package/dist/generator/naming/index.js.map +1 -0
- package/dist/generator/naming/volterra-mapping.d.ts +102 -0
- package/dist/generator/naming/volterra-mapping.d.ts.map +1 -0
- package/dist/generator/naming/volterra-mapping.js +259 -0
- package/dist/generator/naming/volterra-mapping.js.map +1 -0
- package/dist/generator/openapi-parser.d.ts +701 -0
- package/dist/generator/openapi-parser.d.ts.map +1 -0
- package/dist/generator/openapi-parser.js +704 -0
- package/dist/generator/openapi-parser.js.map +1 -0
- package/dist/generator/tool-generator.d.ts +118 -0
- package/dist/generator/tool-generator.d.ts.map +1 -0
- package/dist/generator/tool-generator.js +529 -0
- package/dist/generator/tool-generator.js.map +1 -0
- package/dist/generator/transformers/index.d.ts +7 -0
- package/dist/generator/transformers/index.d.ts.map +1 -0
- package/dist/generator/transformers/index.js +7 -0
- package/dist/generator/transformers/index.js.map +1 -0
- package/dist/generator/transformers/normalize-examples.d.ts +48 -0
- package/dist/generator/transformers/normalize-examples.d.ts.map +1 -0
- package/dist/generator/transformers/normalize-examples.js +66 -0
- package/dist/generator/transformers/normalize-examples.js.map +1 -0
- package/dist/index.d.ts +22 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +101 -0
- package/dist/index.js.map +1 -0
- package/dist/prompts/error-resolution.d.ts +70 -0
- package/dist/prompts/error-resolution.d.ts.map +1 -0
- package/dist/prompts/error-resolution.js +350 -0
- package/dist/prompts/error-resolution.js.map +1 -0
- package/dist/prompts/index.d.ts +8 -0
- package/dist/prompts/index.d.ts.map +1 -0
- package/dist/prompts/index.js +7 -0
- package/dist/prompts/index.js.map +1 -0
- package/dist/prompts/workflows.d.ts +59 -0
- package/dist/prompts/workflows.d.ts.map +1 -0
- package/dist/prompts/workflows.js +441 -0
- package/dist/prompts/workflows.js.map +1 -0
- package/dist/resources/handlers.d.ts +70 -0
- package/dist/resources/handlers.d.ts.map +1 -0
- package/dist/resources/handlers.js +270 -0
- package/dist/resources/handlers.js.map +1 -0
- package/dist/resources/index.d.ts +8 -0
- package/dist/resources/index.d.ts.map +1 -0
- package/dist/resources/index.js +6 -0
- package/dist/resources/index.js.map +1 -0
- package/dist/resources/templates.d.ts +86 -0
- package/dist/resources/templates.d.ts.map +1 -0
- package/dist/resources/templates.js +248 -0
- package/dist/resources/templates.js.map +1 -0
- package/dist/server.d.ts +78 -0
- package/dist/server.d.ts.map +1 -0
- package/dist/server.js +721 -0
- package/dist/server.js.map +1 -0
- package/dist/tools/discovery/best-practices.d.ts +140 -0
- package/dist/tools/discovery/best-practices.d.ts.map +1 -0
- package/dist/tools/discovery/best-practices.js +499 -0
- package/dist/tools/discovery/best-practices.js.map +1 -0
- package/dist/tools/discovery/consolidate.d.ts +97 -0
- package/dist/tools/discovery/consolidate.d.ts.map +1 -0
- package/dist/tools/discovery/consolidate.js +200 -0
- package/dist/tools/discovery/consolidate.js.map +1 -0
- package/dist/tools/discovery/cost-estimator.d.ts +114 -0
- package/dist/tools/discovery/cost-estimator.d.ts.map +1 -0
- package/dist/tools/discovery/cost-estimator.js +273 -0
- package/dist/tools/discovery/cost-estimator.js.map +1 -0
- package/dist/tools/discovery/dependencies.d.ts +113 -0
- package/dist/tools/discovery/dependencies.d.ts.map +1 -0
- package/dist/tools/discovery/dependencies.js +258 -0
- package/dist/tools/discovery/dependencies.js.map +1 -0
- package/dist/tools/discovery/describe.d.ts +133 -0
- package/dist/tools/discovery/describe.d.ts.map +1 -0
- package/dist/tools/discovery/describe.js +208 -0
- package/dist/tools/discovery/describe.js.map +1 -0
- package/dist/tools/discovery/execute.d.ts +96 -0
- package/dist/tools/discovery/execute.d.ts.map +1 -0
- package/dist/tools/discovery/execute.js +220 -0
- package/dist/tools/discovery/execute.js.map +1 -0
- package/dist/tools/discovery/index-loader.d.ts +28 -0
- package/dist/tools/discovery/index-loader.d.ts.map +1 -0
- package/dist/tools/discovery/index-loader.js +72 -0
- package/dist/tools/discovery/index-loader.js.map +1 -0
- package/dist/tools/discovery/index.d.ts +363 -0
- package/dist/tools/discovery/index.d.ts.map +1 -0
- package/dist/tools/discovery/index.js +361 -0
- package/dist/tools/discovery/index.js.map +1 -0
- package/dist/tools/discovery/resolver.d.ts +119 -0
- package/dist/tools/discovery/resolver.d.ts.map +1 -0
- package/dist/tools/discovery/resolver.js +369 -0
- package/dist/tools/discovery/resolver.js.map +1 -0
- package/dist/tools/discovery/search.d.ts +41 -0
- package/dist/tools/discovery/search.d.ts.map +1 -0
- package/dist/tools/discovery/search.js +176 -0
- package/dist/tools/discovery/search.js.map +1 -0
- package/dist/tools/discovery/types.d.ts +91 -0
- package/dist/tools/discovery/types.d.ts.map +1 -0
- package/dist/tools/discovery/types.js +9 -0
- package/dist/tools/discovery/types.js.map +1 -0
- package/dist/tools/discovery/validate.d.ts +63 -0
- package/dist/tools/discovery/validate.d.ts.map +1 -0
- package/dist/tools/discovery/validate.js +239 -0
- package/dist/tools/discovery/validate.js.map +1 -0
- package/dist/tools/generated/admin_console_and_ui/index.d.ts +8 -0
- package/dist/tools/generated/admin_console_and_ui/index.d.ts.map +1 -0
- package/dist/tools/generated/admin_console_and_ui/index.js +265 -0
- package/dist/tools/generated/admin_console_and_ui/index.js.map +1 -0
- package/dist/tools/generated/api/index.d.ts +8 -0
- package/dist/tools/generated/api/index.d.ts.map +1 -0
- package/dist/tools/generated/api/index.js +7016 -0
- package/dist/tools/generated/api/index.js.map +1 -0
- package/dist/tools/generated/authentication/index.d.ts +8 -0
- package/dist/tools/generated/authentication/index.d.ts.map +1 -0
- package/dist/tools/generated/authentication/index.js +907 -0
- package/dist/tools/generated/authentication/index.js.map +1 -0
- package/dist/tools/generated/bigip/index.d.ts +8 -0
- package/dist/tools/generated/bigip/index.d.ts.map +1 -0
- package/dist/tools/generated/bigip/index.js +3152 -0
- package/dist/tools/generated/bigip/index.js.map +1 -0
- package/dist/tools/generated/billing_and_usage/index.d.ts +8 -0
- package/dist/tools/generated/billing_and_usage/index.d.ts.map +1 -0
- package/dist/tools/generated/billing_and_usage/index.js +2452 -0
- package/dist/tools/generated/billing_and_usage/index.js.map +1 -0
- package/dist/tools/generated/blindfold/index.d.ts +8 -0
- package/dist/tools/generated/blindfold/index.d.ts.map +1 -0
- package/dist/tools/generated/blindfold/index.js +3790 -0
- package/dist/tools/generated/blindfold/index.js.map +1 -0
- package/dist/tools/generated/bot_and_threat_defense/index.d.ts +8 -0
- package/dist/tools/generated/bot_and_threat_defense/index.d.ts.map +1 -0
- package/dist/tools/generated/bot_and_threat_defense/index.js +2746 -0
- package/dist/tools/generated/bot_and_threat_defense/index.js.map +1 -0
- package/dist/tools/generated/cdn/index.d.ts +8 -0
- package/dist/tools/generated/cdn/index.d.ts.map +1 -0
- package/dist/tools/generated/cdn/index.js +2686 -0
- package/dist/tools/generated/cdn/index.js.map +1 -0
- package/dist/tools/generated/ce_management/index.d.ts +8 -0
- package/dist/tools/generated/ce_management/index.d.ts.map +1 -0
- package/dist/tools/generated/ce_management/index.js +3812 -0
- package/dist/tools/generated/ce_management/index.js.map +1 -0
- package/dist/tools/generated/certificates/index.d.ts +8 -0
- package/dist/tools/generated/certificates/index.d.ts.map +1 -0
- package/dist/tools/generated/certificates/index.js +2547 -0
- package/dist/tools/generated/certificates/index.js.map +1 -0
- package/dist/tools/generated/cloud_infrastructure/index.d.ts +8 -0
- package/dist/tools/generated/cloud_infrastructure/index.d.ts.map +1 -0
- package/dist/tools/generated/cloud_infrastructure/index.js +3959 -0
- package/dist/tools/generated/cloud_infrastructure/index.js.map +1 -0
- package/dist/tools/generated/container_services/index.d.ts +8 -0
- package/dist/tools/generated/container_services/index.d.ts.map +1 -0
- package/dist/tools/generated/container_services/index.js +2018 -0
- package/dist/tools/generated/container_services/index.js.map +1 -0
- package/dist/tools/generated/data_and_privacy_security/index.d.ts +8 -0
- package/dist/tools/generated/data_and_privacy_security/index.d.ts.map +1 -0
- package/dist/tools/generated/data_and_privacy_security/index.js +1662 -0
- package/dist/tools/generated/data_and_privacy_security/index.js.map +1 -0
- package/dist/tools/generated/data_intelligence/index.d.ts +8 -0
- package/dist/tools/generated/data_intelligence/index.d.ts.map +1 -0
- package/dist/tools/generated/data_intelligence/index.js +1600 -0
- package/dist/tools/generated/data_intelligence/index.js.map +1 -0
- package/dist/tools/generated/ddos/index.d.ts +8 -0
- package/dist/tools/generated/ddos/index.d.ts.map +1 -0
- package/dist/tools/generated/ddos/index.js +8091 -0
- package/dist/tools/generated/ddos/index.js.map +1 -0
- package/dist/tools/generated/dependency-graph.json +26358 -0
- package/dist/tools/generated/dns/index.d.ts +8 -0
- package/dist/tools/generated/dns/index.d.ts.map +1 -0
- package/dist/tools/generated/dns/index.js +6096 -0
- package/dist/tools/generated/dns/index.js.map +1 -0
- package/dist/tools/generated/generative_ai/index.d.ts +8 -0
- package/dist/tools/generated/generative_ai/index.d.ts.map +1 -0
- package/dist/tools/generated/generative_ai/index.js +1019 -0
- package/dist/tools/generated/generative_ai/index.js.map +1 -0
- package/dist/tools/generated/managed_kubernetes/index.d.ts +8 -0
- package/dist/tools/generated/managed_kubernetes/index.d.ts.map +1 -0
- package/dist/tools/generated/managed_kubernetes/index.js +3368 -0
- package/dist/tools/generated/managed_kubernetes/index.js.map +1 -0
- package/dist/tools/generated/marketplace/index.d.ts +8 -0
- package/dist/tools/generated/marketplace/index.d.ts.map +1 -0
- package/dist/tools/generated/marketplace/index.js +4329 -0
- package/dist/tools/generated/marketplace/index.js.map +1 -0
- package/dist/tools/generated/network/index.d.ts +8 -0
- package/dist/tools/generated/network/index.d.ts.map +1 -0
- package/dist/tools/generated/network/index.js +12424 -0
- package/dist/tools/generated/network/index.js.map +1 -0
- package/dist/tools/generated/network_security/index.d.ts +8 -0
- package/dist/tools/generated/network_security/index.d.ts.map +1 -0
- package/dist/tools/generated/network_security/index.js +9637 -0
- package/dist/tools/generated/network_security/index.js.map +1 -0
- package/dist/tools/generated/nginx_one/index.d.ts +8 -0
- package/dist/tools/generated/nginx_one/index.d.ts.map +1 -0
- package/dist/tools/generated/nginx_one/index.js +1692 -0
- package/dist/tools/generated/nginx_one/index.js.map +1 -0
- package/dist/tools/generated/object_storage/index.d.ts +8 -0
- package/dist/tools/generated/object_storage/index.d.ts.map +1 -0
- package/dist/tools/generated/object_storage/index.js +996 -0
- package/dist/tools/generated/object_storage/index.js.map +1 -0
- package/dist/tools/generated/observability/index.d.ts +8 -0
- package/dist/tools/generated/observability/index.d.ts.map +1 -0
- package/dist/tools/generated/observability/index.js +5285 -0
- package/dist/tools/generated/observability/index.js.map +1 -0
- package/dist/tools/generated/rate_limiting/index.d.ts +8 -0
- package/dist/tools/generated/rate_limiting/index.d.ts.map +1 -0
- package/dist/tools/generated/rate_limiting/index.js +2108 -0
- package/dist/tools/generated/rate_limiting/index.js.map +1 -0
- package/dist/tools/generated/secops_and_incident_response/index.d.ts +8 -0
- package/dist/tools/generated/secops_and_incident_response/index.d.ts.map +1 -0
- package/dist/tools/generated/secops_and_incident_response/index.js +710 -0
- package/dist/tools/generated/secops_and_incident_response/index.js.map +1 -0
- package/dist/tools/generated/service_mesh/index.d.ts +8 -0
- package/dist/tools/generated/service_mesh/index.d.ts.map +1 -0
- package/dist/tools/generated/service_mesh/index.js +6062 -0
- package/dist/tools/generated/service_mesh/index.js.map +1 -0
- package/dist/tools/generated/shape/index.d.ts +8 -0
- package/dist/tools/generated/shape/index.d.ts.map +1 -0
- package/dist/tools/generated/shape/index.js +19381 -0
- package/dist/tools/generated/shape/index.js.map +1 -0
- package/dist/tools/generated/sites/index.d.ts +8 -0
- package/dist/tools/generated/sites/index.d.ts.map +1 -0
- package/dist/tools/generated/sites/index.js +13160 -0
- package/dist/tools/generated/sites/index.js.map +1 -0
- package/dist/tools/generated/statistics/index.d.ts +8 -0
- package/dist/tools/generated/statistics/index.d.ts.map +1 -0
- package/dist/tools/generated/statistics/index.js +8131 -0
- package/dist/tools/generated/statistics/index.js.map +1 -0
- package/dist/tools/generated/support/index.d.ts +8 -0
- package/dist/tools/generated/support/index.d.ts.map +1 -0
- package/dist/tools/generated/support/index.js +5608 -0
- package/dist/tools/generated/support/index.js.map +1 -0
- package/dist/tools/generated/telemetry_and_insights/index.d.ts +8 -0
- package/dist/tools/generated/telemetry_and_insights/index.d.ts.map +1 -0
- package/dist/tools/generated/telemetry_and_insights/index.js +2404 -0
- package/dist/tools/generated/telemetry_and_insights/index.js.map +1 -0
- package/dist/tools/generated/tenant_and_identity/index.d.ts +8 -0
- package/dist/tools/generated/tenant_and_identity/index.d.ts.map +1 -0
- package/dist/tools/generated/tenant_and_identity/index.js +18938 -0
- package/dist/tools/generated/tenant_and_identity/index.js.map +1 -0
- package/dist/tools/generated/threat_campaign/index.d.ts +8 -0
- package/dist/tools/generated/threat_campaign/index.d.ts.map +1 -0
- package/dist/tools/generated/threat_campaign/index.js +102 -0
- package/dist/tools/generated/threat_campaign/index.js.map +1 -0
- package/dist/tools/generated/users/index.d.ts +8 -0
- package/dist/tools/generated/users/index.d.ts.map +1 -0
- package/dist/tools/generated/users/index.js +1515 -0
- package/dist/tools/generated/users/index.js.map +1 -0
- package/dist/tools/generated/virtual/index.d.ts +8 -0
- package/dist/tools/generated/virtual/index.d.ts.map +1 -0
- package/dist/tools/generated/virtual/index.js +11263 -0
- package/dist/tools/generated/virtual/index.js.map +1 -0
- package/dist/tools/generated/vpm_and_node_management/index.d.ts +8 -0
- package/dist/tools/generated/vpm_and_node_management/index.d.ts.map +1 -0
- package/dist/tools/generated/vpm_and_node_management/index.js +88 -0
- package/dist/tools/generated/vpm_and_node_management/index.js.map +1 -0
- package/dist/tools/generated/waf/index.d.ts +8 -0
- package/dist/tools/generated/waf/index.d.ts.map +1 -0
- package/dist/tools/generated/waf/index.js +4586 -0
- package/dist/tools/generated/waf/index.js.map +1 -0
- package/dist/tools/index.d.ts +7 -0
- package/dist/tools/index.d.ts.map +1 -0
- package/dist/tools/index.js +6 -0
- package/dist/tools/index.js.map +1 -0
- package/dist/tools/registry.d.ts +27 -0
- package/dist/tools/registry.d.ts.map +1 -0
- package/dist/tools/registry.js +115 -0
- package/dist/tools/registry.js.map +1 -0
- package/dist/utils/error-handling.d.ts +109 -0
- package/dist/utils/error-handling.d.ts.map +1 -0
- package/dist/utils/error-handling.js +239 -0
- package/dist/utils/error-handling.js.map +1 -0
- package/dist/utils/index.d.ts +7 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +6 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/logging.d.ts +75 -0
- package/dist/utils/logging.d.ts.map +1 -0
- package/dist/utils/logging.js +131 -0
- package/dist/utils/logging.js.map +1 -0
- package/manifest.json +143 -0
- 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":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,oBAAoB,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAkHlF;;GAEG;AACH,MAAM,WAAW,GAAiE;IAChF,OAAO,EAAE;QACP,WAAW,EAAE,yBAAyB;QACtC,WAAW,EAAE,mEAAmE;KACjF;IACD,OAAO,EAAE;QACP,WAAW,EAAE,wBAAwB;QACrC,WAAW,EAAE,+DAA+D;KAC7E;IACD,GAAG,EAAE;QACH,WAAW,EAAE,gBAAgB;QAC7B,WAAW,EAAE,2CAA2C;KACzD;IACD,YAAY,EAAE;QACZ,WAAW,EAAE,wBAAwB;QACrC,WAAW,EAAE,4DAA4D;KAC1E;IACD,GAAG,EAAE;QACH,WAAW,EAAE,0BAA0B;QACvC,WAAW,EAAE,sDAAsD;KACpE;IACD,KAAK,EAAE;QACL,WAAW,EAAE,iBAAiB;QAC9B,WAAW,EAAE,+DAA+D;KAC7E;IACD,GAAG,EAAE;QACH,WAAW,EAAE,cAAc;QAC3B,WAAW,EAAE,qDAAqD;KACnE;IACD,sBAAsB,EAAE;QACtB,WAAW,EAAE,sBAAsB;QACnC,WAAW,EAAE,2DAA2D;KACzE;IACD,cAAc,EAAE;QACd,WAAW,EAAE,gBAAgB;QAC7B,WAAW,EAAE,uDAAuD;KACrE;IACD,KAAK,EAAE;QACL,WAAW,EAAE,iBAAiB;QAC9B,WAAW,EAAE,0CAA0C;KACxD;IACD,mBAAmB,EAAE;QACnB,WAAW,EAAE,mBAAmB;QAChC,WAAW,EAAE,8CAA8C;KAC5D;CACF,CAAC;AAEF;;GAEG;AACH,MAAM,oBAAoB,GAAkC;IAC1D,OAAO,EAAE;QACP;YACE,UAAU,EAAE,GAAG;YACf,SAAS,EAAE,UAAU;YACrB,WAAW,EAAE,8CAA8C;YAC3D,UAAU,EAAE;gBACV,uEAAuE;gBACvE,4BAA4B;gBAC5B,sCAAsC;aACvC;YACD,YAAY,EAAE,CAAC,mCAAmC,EAAE,wCAAwC,CAAC;SAC9F;QACD;YACE,UAAU,EAAE,GAAG;YACf,SAAS,EAAE,UAAU;YACrB,WAAW,EAAE,6CAA6C;YAC1D,UAAU,EAAE;gBACV,yCAAyC;gBACzC,qDAAqD;gBACrD,8CAA8C;aAC/C;SACF;KACF;IACD,GAAG,EAAE;QACH;YACE,UAAU,EAAE,GAAG;YACf,SAAS,EAAE,iBAAiB;YAC5B,WAAW,EAAE,kCAAkC;YAC/C,UAAU,EAAE;gBACV,4CAA4C;gBAC5C,4CAA4C;gBAC5C,mCAAmC;aACpC;SACF;KACF;IACD,YAAY,EAAE;QACZ;YACE,UAAU,EAAE,GAAG;YACf,SAAS,EAAE,kBAAkB;YAC7B,WAAW,EAAE,qCAAqC;YAClD,UAAU,EAAE;gBACV,qCAAqC;gBACrC,+BAA+B;gBAC/B,kCAAkC;gBAClC,wCAAwC;aACzC;SACF;KACF;CACF,CAAC;AAEF;;GAEG;AACH,MAAM,qBAAqB,GAA6B;IACtD,OAAO,EAAE;QACP,0DAA0D;QAC1D,+CAA+C;QAC/C,gDAAgD;QAChD,gDAAgD;KACjD;IACD,YAAY,EAAE;QACZ,4CAA4C;QAC5C,8CAA8C;QAC9C,sCAAsC;QACtC,wDAAwD;KACzD;IACD,cAAc,EAAE;QACd,0CAA0C;QAC1C,mCAAmC;QACnC,qCAAqC;QACrC,qDAAqD;KACtD;IACD,KAAK,EAAE;QACL,qCAAqC;QACrC,uCAAuC;QACvC,qCAAqC;QACrC,+BAA+B;KAChC;CACF,CAAC;AAEF;;GAEG;AACH,MAAM,uBAAuB,GAA6B;IACxD,OAAO,EAAE;QACP,yEAAyE;QACzE,iDAAiD;QACjD,2CAA2C;QAC3C,6DAA6D;KAC9D;IACD,GAAG,EAAE;QACH,gDAAgD;QAChD,kDAAkD;QAClD,6CAA6C;KAC9C;IACD,KAAK,EAAE;QACL,qDAAqD;QACrD,4CAA4C;QAC5C,yCAAyC;KAC1C;CACF,CAAC;AAEF;;GAEG;AACH,SAAS,mBAAmB,CAAC,MAAc;IACzC,MAAM,KAAK,GAAG,YAAY,EAAE,CAAC;IAC7B,MAAM,WAAW,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC;IAEnE,MAAM,QAAQ,GAAmB;QAC/B,GAAG,EAAE,CAAC;QACN,MAAM,EAAE,CAAC;QACT,IAAI,EAAE,CAAC;QACP,eAAe,EAAE,EAAE;QACnB,cAAc,EAAE,CAAC;KAClB,CAAC;IAEF,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;QAC/B,QAAQ,IAAI,CAAC,WAAW,EAAE,CAAC;YACzB,KAAK,KAAK;gBACR,QAAQ,CAAC,GAAG,EAAE,CAAC;gBACf,MAAM;YACR,KAAK,QAAQ;gBACX,QAAQ,CAAC,MAAM,EAAE,CAAC;gBAClB,MAAM;YACR,KAAK,MAAM;gBACT,QAAQ,CAAC,IAAI,EAAE,CAAC;gBAChB,QAAQ,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACzC,MAAM;QACV,CAAC;IACH,CAAC;IAED,MAAM,KAAK,GAAG,WAAW,CAAC,MAAM,CAAC;IACjC,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;QACd,QAAQ,CAAC,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,GAAG,QAAQ,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC;IACzF,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;GAEG;AACH,SAAS,eAAe,CAAC,MAAc;IACrC,MAAM,KAAK,GAAG,YAAY,EAAE,CAAC;IAC7B,MAAM,WAAW,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC;IAEnE,MAAM,GAAG,GAAG;QACV,MAAM,EAAE,CAAC;QACT,GAAG,EAAE,CAAC;QACN,IAAI,EAAE,CAAC;QACP,MAAM,EAAE,CAAC;QACT,MAAM,EAAE,CAAC;QACT,KAAK,EAAE,CAAC;KACT,CAAC;IAEF,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;QAC/B,QAAQ,IAAI,CAAC,SAAS,EAAE,CAAC;YACvB,KAAK,QAAQ;gBACX,GAAG,CAAC,MAAM,EAAE,CAAC;gBACb,MAAM;YACR,KAAK,KAAK;gBACR,GAAG,CAAC,GAAG,EAAE,CAAC;gBACV,MAAM;YACR,KAAK,MAAM;gBACT,GAAG,CAAC,IAAI,EAAE,CAAC;gBACX,MAAM;YACR,KAAK,QAAQ;gBACX,GAAG,CAAC,MAAM,EAAE,CAAC;gBACb,MAAM;YACR,KAAK,QAAQ;gBACX,GAAG,CAAC,MAAM,EAAE,CAAC;gBACb,MAAM;YACR;gBACE,GAAG,CAAC,KAAK,EAAE,CAAC;QAChB,CAAC;IACH,CAAC;IAED,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;GAEG;AACH,SAAS,iBAAiB,CAAC,MAAc;IACvC,MAAM,SAAS,GAA0B,EAAE,CAAC;IAE5C,oDAAoD;IACpD,MAAM,SAAS,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAC;IAE/C,8CAA8C;IAC9C,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzB,SAAS,CAAC,IAAI,CAAC;YACb,IAAI,EAAE,QAAQ,MAAM,YAAY;YAChC,WAAW,EAAE,sCAAsC,MAAM,SAAS;YAClE,KAAK,EAAE;gBACL;oBACE,UAAU,EAAE,CAAC;oBACb,MAAM,EAAE,4BAA4B;oBACpC,IAAI,EAAE,yCAAyC,MAAM,QAAQ;iBAC9D;gBACD;oBACE,UAAU,EAAE,CAAC;oBACb,MAAM,EAAE,wBAAwB;oBAChC,IAAI,EAAE,8CAA8C;iBACrD;gBACD;oBACE,UAAU,EAAE,CAAC;oBACb,MAAM,EAAE,gBAAgB;oBACxB,IAAI,EAAE,0CAA0C;iBACjD;aACF;YACD,UAAU,EAAE,KAAK;SAClB,CAAC,CAAC;IACL,CAAC;IAED,4BAA4B;IAC5B,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,SAAS,CAAC,IAAI,CAAC;YACb,IAAI,EAAE,2BAA2B;YACjC,WAAW,EAAE,uEAAuE;YACpF,KAAK,EAAE;gBACL;oBACE,UAAU,EAAE,CAAC;oBACb,MAAM,EAAE,oBAAoB;oBAC5B,QAAQ,EAAE,qCAAqC;iBAChD;gBACD;oBACE,UAAU,EAAE,CAAC;oBACb,MAAM,EAAE,8BAA8B;oBACtC,QAAQ,EAAE,kCAAkC;iBAC7C;gBACD;oBACE,UAAU,EAAE,CAAC;oBACb,MAAM,EAAE,2BAA2B;oBACnC,QAAQ,EAAE,2CAA2C;iBACtD;gBACD;oBACE,UAAU,EAAE,CAAC;oBACb,MAAM,EAAE,mBAAmB;oBAC3B,QAAQ,EAAE,wCAAwC;iBACnD;aACF;YACD,aAAa,EAAE,CAAC,8BAA8B,EAAE,WAAW,CAAC;YAC5D,UAAU,EAAE,QAAQ;SACrB,CAAC,CAAC;IACL,CAAC;IAED,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;QACrB,SAAS,CAAC,IAAI,CAAC;YACb,IAAI,EAAE,oBAAoB;YAC1B,WAAW,EAAE,4CAA4C;YACzD,KAAK,EAAE;gBACL,EAAE,UAAU,EAAE,CAAC,EAAE,MAAM,EAAE,iBAAiB,EAAE,QAAQ,EAAE,8BAA8B,EAAE;gBACtF,EAAE,UAAU,EAAE,CAAC,EAAE,MAAM,EAAE,oBAAoB,EAAE,IAAI,EAAE,kCAAkC,EAAE;gBACzF,EAAE,UAAU,EAAE,CAAC,EAAE,MAAM,EAAE,8BAA8B,EAAE,IAAI,EAAE,gBAAgB,EAAE;gBACjF,EAAE,UAAU,EAAE,CAAC,EAAE,MAAM,EAAE,oBAAoB,EAAE,IAAI,EAAE,+BAA+B,EAAE;aACvF;YACD,UAAU,EAAE,KAAK;SAClB,CAAC,CAAC;IACL,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,sBAAsB,CAAC,MAAc;IACnD,MAAM,KAAK,GAAG,YAAY,EAAE,CAAC;IAC7B,MAAM,WAAW,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC;IAEnE,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC7B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,IAAI,GAAG,WAAW,CAAC,MAAM,CAAC,IAAI;QAClC,WAAW,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;QAC/E,WAAW,EAAE,kBAAkB,MAAM,YAAY;KAClD,CAAC;IAEF,OAAO;QACL,MAAM;QACN,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,UAAU,EAAE,WAAW,CAAC,MAAM;QAC9B,UAAU,EAAE,eAAe,CAAC,MAAM,CAAC;QACnC,cAAc,EAAE,mBAAmB,CAAC,MAAM,CAAC;QAC3C,YAAY,EAAE,oBAAoB,CAAC,MAAM,CAAC,IAAI,EAAE;QAChD,SAAS,EAAE,iBAAiB,CAAC,MAAM,CAAC;QACpC,aAAa,EAAE,qBAAqB,CAAC,MAAM,CAAC,IAAI,EAAE;QAClD,eAAe,EAAE,uBAAuB,CAAC,MAAM,CAAC,IAAI,EAAE;KACvD,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAAC,KAAyB;IAC1D,mDAAmD;IACnD,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;QAClB,MAAM,OAAO,GAAG,uBAAuB,EAAE,CAAC;QAC1C,OAAO;YACL,OAAO,EAAE,IAAI;YACb,gBAAgB,EAAE,OAAO;SAC1B,CAAC;IACJ,CAAC;IAED,0CAA0C;IAC1C,MAAM,SAAS,GAAG,sBAAsB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAEvD,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO;YACL,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,WAAW,KAAK,CAAC,MAAM,qEAAqE;SACpG,CAAC;IACJ,CAAC;IAED,gCAAgC;IAChC,IAAI,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;QAC3C,MAAM,QAAQ,GAAwB,EAAE,GAAG,SAAS,EAAE,CAAC;QAEvD,QAAQ,KAAK,CAAC,MAAM,EAAE,CAAC;YACrB,KAAK,QAAQ;gBACX,QAAQ,CAAC,SAAS,GAAG,EAAE,CAAC;gBACxB,QAAQ,CAAC,aAAa,GAAG,EAAE,CAAC;gBAC5B,QAAQ,CAAC,eAAe,GAAG,EAAE,CAAC;gBAC9B,MAAM;YACR,KAAK,WAAW;gBACd,QAAQ,CAAC,YAAY,GAAG,EAAE,CAAC;gBAC3B,QAAQ,CAAC,aAAa,GAAG,EAAE,CAAC;gBAC5B,QAAQ,CAAC,eAAe,GAAG,EAAE,CAAC;gBAC9B,MAAM;YACR,KAAK,QAAQ;gBACX,QAAQ,CAAC,YAAY,GAAG,EAAE,CAAC;gBAC3B,QAAQ,CAAC,SAAS,GAAG,EAAE,CAAC;gBACxB,QAAQ,CAAC,aAAa,GAAG,EAAE,CAAC;gBAC5B,QAAQ,CAAC,eAAe,GAAG,EAAE,CAAC;gBAC9B,MAAM;YACR,KAAK,UAAU;gBACb,QAAQ,CAAC,YAAY,GAAG,EAAE,CAAC;gBAC3B,QAAQ,CAAC,SAAS,GAAG,EAAE,CAAC;gBACxB,QAAQ,CAAC,eAAe,GAAG,EAAE,CAAC;gBAC9B,MAAM;YACR,KAAK,aAAa;gBAChB,QAAQ,CAAC,YAAY,GAAG,EAAE,CAAC;gBAC3B,QAAQ,CAAC,SAAS,GAAG,EAAE,CAAC;gBACxB,QAAQ,CAAC,aAAa,GAAG,EAAE,CAAC;gBAC5B,MAAM;QACV,CAAC;QAED,OAAO;YACL,OAAO,EAAE,IAAI;YACb,SAAS,EAAE,QAAQ;SACpB,CAAC;IACJ,CAAC;IAED,OAAO;QACL,OAAO,EAAE,IAAI;QACb,SAAS;KACV,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,oBAAoB;IAMlC,MAAM,KAAK,GAAG,YAAY,EAAE,CAAC;IAC7B,MAAM,OAAO,GAAG,IAAI,GAAG,EAA8D,CAAC;IAEtF,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;QAC/B,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC;QACjF,QAAQ,CAAC,KAAK,EAAE,CAAC;QACjB,IAAI,IAAI,CAAC,WAAW,KAAK,KAAK,IAAI,IAAI,CAAC,WAAW,KAAK,QAAQ,EAAE,CAAC;YAChE,QAAQ,CAAC,IAAI,EAAE,CAAC;QAClB,CAAC;aAAM,CAAC;YACN,QAAQ,CAAC,SAAS,EAAE,CAAC;QACvB,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IACrC,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;SACjC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,EAAE;QACvB,MAAM,IAAI,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;QACjC,OAAO;YACL,MAAM;YACN,WAAW,EACT,IAAI,EAAE,WAAW,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;YACzF,SAAS,EAAE,KAAK,CAAC,KAAK;YACtB,aAAa,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE;SAChE,CAAC;IACJ,CAAC,CAAC;SACD,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC;AAC/C,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAAC,SAA8B;IAChE,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,KAAK,CAAC,IAAI,CAAC,qBAAqB,SAAS,CAAC,WAAW,EAAE,CAAC,CAAC;IACzD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,oBAAoB,SAAS,CAAC,WAAW,EAAE,CAAC,CAAC;IACxD,KAAK,CAAC,IAAI,CAAC,oBAAoB,SAAS,CAAC,UAAU,EAAE,CAAC,CAAC;IACvD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEf,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IAC5B,KAAK,CAAC,IAAI,CAAC,aAAa,SAAS,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC;IACvD,KAAK,CAAC,IAAI,CAAC,UAAU,SAAS,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC;IACjD,KAAK,CAAC,IAAI,CAAC,WAAW,SAAS,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC;IACnD,KAAK,CAAC,IAAI,CAAC,aAAa,SAAS,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC;IACvD,KAAK,CAAC,IAAI,CAAC,aAAa,SAAS,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC;IACvD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEf,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;IACjC,KAAK,CAAC,IAAI,CAAC,sBAAsB,SAAS,CAAC,cAAc,CAAC,cAAc,GAAG,CAAC,CAAC;IAC7E,KAAK,CAAC,IAAI,CAAC,UAAU,SAAS,CAAC,cAAc,CAAC,GAAG,EAAE,CAAC,CAAC;IACrD,KAAK,CAAC,IAAI,CAAC,aAAa,SAAS,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,CAAC;IAC3D,KAAK,CAAC,IAAI,CAAC,WAAW,SAAS,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC,CAAC;IACvD,IAAI,SAAS,CAAC,cAAc,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxD,KAAK,CAAC,IAAI,CACR,sBAAsB,SAAS,CAAC,cAAc,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,cAAc,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAC3J,CAAC;IACJ,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEf,IAAI,SAAS,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtC,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAC/B,KAAK,MAAM,KAAK,IAAI,SAAS,CAAC,YAAY,EAAE,CAAC;YAC3C,KAAK,CAAC,IAAI,CAAC,OAAO,KAAK,CAAC,UAAU,MAAM,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC;YAC3D,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;YAC9B,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;YAC9B,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;gBACpC,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;YAC1B,CAAC;YACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACjB,CAAC;IACH,CAAC;IAED,IAAI,SAAS,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACnC,KAAK,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;QACvC,KAAK,MAAM,QAAQ,IAAI,SAAS,CAAC,SAAS,EAAE,CAAC;YAC3C,KAAK,CAAC,IAAI,CAAC,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;YACnC,KAAK,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,WAAW,kBAAkB,QAAQ,CAAC,UAAU,GAAG,CAAC,CAAC;YAC7E,IAAI,QAAQ,CAAC,aAAa,IAAI,QAAQ,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAChE,KAAK,CAAC,IAAI,CAAC,sBAAsB,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACxE,CAAC;YACD,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YACzB,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;gBAClC,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,QAAQ,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;gBAChE,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACpD,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,UAAU,KAAK,IAAI,CAAC,MAAM,GAAG,QAAQ,GAAG,QAAQ,EAAE,CAAC,CAAC;YACzE,CAAC;YACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACjB,CAAC;IACH,CAAC;IAED,IAAI,SAAS,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvC,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QAChC,KAAK,MAAM,IAAI,IAAI,SAAS,CAAC,aAAa,EAAE,CAAC;YAC3C,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;QAC1B,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjB,CAAC;IAED,IAAI,SAAS,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzC,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;QAClC,KAAK,MAAM,GAAG,IAAI,SAAS,CAAC,eAAe,EAAE,CAAC;YAC5C,KAAK,CAAC,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC;QACzB,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjB,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC"}
|
|
@@ -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"}
|