@robinmordasiewicz/f5xc-xcsh 6.27.0 → 6.29.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.
package/completions/_xcsh CHANGED
@@ -67,7 +67,10 @@ _xcsh() {
67
67
  'users:User accounts, tokens, and label management'
68
68
  'virtual:Configure HTTP and TCP load balancers'
69
69
  'vpm_and_node_management:Vpm And Node Management API'
70
- 'waf:Configure web application firewall rules and policies'
70
+ 'waf:Configure application firewall rules and bot protection'
71
+ 'console-ui:Alias for admin_console_and_ui'
72
+ 'ui-assets:Alias for admin_console_and_ui'
73
+ 'static-components:Alias for admin_console_and_ui'
71
74
  'apisec:Alias for api'
72
75
  'api-discovery:Alias for api'
73
76
  'authn:Alias for authentication'
@@ -76,11 +79,20 @@ _xcsh() {
76
79
  'f5-bigip:Alias for bigip'
77
80
  'irule:Alias for bigip'
78
81
  'ltm:Alias for bigip'
82
+ 'billing-usage:Alias for billing_and_usage'
83
+ 'quotas:Alias for billing_and_usage'
84
+ 'usage-tracking:Alias for billing_and_usage'
79
85
  'bf:Alias for blindfold'
80
86
  'encrypt:Alias for blindfold'
81
87
  'secrets:Alias for blindfold'
88
+ 'threat-defense:Alias for bot_and_threat_defense'
89
+ 'tpm:Alias for bot_and_threat_defense'
90
+ 'shape-bot:Alias for bot_and_threat_defense'
82
91
  'cache:Alias for cdn'
83
92
  'content:Alias for cdn'
93
+ 'ce-mgmt:Alias for ce_management'
94
+ 'edge-management:Alias for ce_management'
95
+ 'ce-lifecycle:Alias for ce_management'
84
96
  'cert:Alias for certificates'
85
97
  'certs:Alias for certificates'
86
98
  'ssl:Alias for certificates'
@@ -91,6 +103,10 @@ _xcsh() {
91
103
  'vk8s:Alias for container_services'
92
104
  'containers:Alias for container_services'
93
105
  'workloads:Alias for container_services'
106
+ 'data-privacy:Alias for data_and_privacy_security'
107
+ 'pii:Alias for data_and_privacy_security'
108
+ 'sensitive-data:Alias for data_and_privacy_security'
109
+ 'lma:Alias for data_and_privacy_security'
94
110
  'di:Alias for data_intelligence'
95
111
  'intelligence:Alias for data_intelligence'
96
112
  'insights:Alias for data_intelligence'
@@ -124,6 +140,9 @@ _xcsh() {
124
140
  'ratelimit:Alias for rate_limiting'
125
141
  'throttle:Alias for rate_limiting'
126
142
  'policer:Alias for rate_limiting'
143
+ 'secops:Alias for secops_and_incident_response'
144
+ 'incident-response:Alias for secops_and_incident_response'
145
+ 'mitigation:Alias for secops_and_incident_response'
127
146
  'mesh:Alias for service_mesh'
128
147
  'svc-mesh:Alias for service_mesh'
129
148
  'shape-sec:Alias for shape'
@@ -137,6 +156,9 @@ _xcsh() {
137
156
  'help-desk:Alias for support'
138
157
  'telemetry:Alias for telemetry_and_insights'
139
158
  'ti:Alias for telemetry_and_insights'
159
+ 'tenant-identity:Alias for tenant_and_identity'
160
+ 'idm:Alias for tenant_and_identity'
161
+ 'user-settings:Alias for tenant_and_identity'
140
162
  'threats:Alias for threat_campaign'
141
163
  'campaigns:Alias for threat_campaign'
142
164
  'threat-intel:Alias for threat_campaign'
@@ -167,7 +189,7 @@ _xcsh() {
167
189
  (action)
168
190
  case ${line[1]} in
169
191
  (login)
170
- _values 'command' 'show:Command' 'banner:Command' 'profile:Subcommand group' 'context:Subcommand group'
192
+ _values 'command' 'banner:Command' 'profile:Subcommand group' 'context:Subcommand group'
171
193
  ;;
172
194
  (cloudstatus)
173
195
  _values 'command' 'status:Command' 'summary:Command' 'components:Command' 'incidents:Command' 'maintenance:Command'
@@ -6,7 +6,7 @@ _xcsh_completions() {
6
6
  local cur prev words cword
7
7
  _init_completion || return
8
8
 
9
- local commands="admin_console_and_ui api authentication bigip billing_and_usage blindfold bot_and_threat_defense cdn ce_management certificates cloud_infrastructure cloudstatus completion container_services data_and_privacy_security data_intelligence ddos dns generative_ai login managed_kubernetes marketplace network network_security nginx_one object_storage observability rate_limiting secops_and_incident_response service_mesh shape sites statistics subscription support telemetry_and_insights tenant_and_identity threat_campaign users virtual vpm_and_node_management waf apisec api-discovery authn oidc sso f5-bigip irule ltm bf encrypt secrets cache content cert certs ssl tls cloud infra provider vk8s containers workloads di intelligence insights dos ddos-protect dns-zone zones ai genai assistant mk8s appstack k8s-mgmt market addons extensions net routing bgp netsec nfw nginx nms nginx-plus storage s3 buckets obs monitoring synth ratelimit throttle policer mesh svc-mesh shape-sec safeap site deployment stats metrics logs tickets help-desk telemetry ti threats campaigns threat-intel user accounts iam lb loadbalancer vhost vpm nodes node-mgmt firewall appfw help quit exit clear history"
9
+ local commands="admin_console_and_ui api authentication bigip billing_and_usage blindfold bot_and_threat_defense cdn ce_management certificates cloud_infrastructure cloudstatus completion container_services data_and_privacy_security data_intelligence ddos dns generative_ai login managed_kubernetes marketplace network network_security nginx_one object_storage observability rate_limiting secops_and_incident_response service_mesh shape sites statistics subscription support telemetry_and_insights tenant_and_identity threat_campaign users virtual vpm_and_node_management waf console-ui ui-assets static-components apisec api-discovery authn oidc sso f5-bigip irule ltm billing-usage quotas usage-tracking bf encrypt secrets threat-defense tpm shape-bot cache content ce-mgmt edge-management ce-lifecycle cert certs ssl tls cloud infra provider vk8s containers workloads data-privacy pii sensitive-data lma di intelligence insights dos ddos-protect dns-zone zones ai genai assistant mk8s appstack k8s-mgmt market addons extensions net routing bgp netsec nfw nginx nms nginx-plus storage s3 buckets obs monitoring synth ratelimit throttle policer secops incident-response mitigation mesh svc-mesh shape-sec safeap site deployment stats metrics logs tickets help-desk telemetry ti tenant-identity idm user-settings threats campaigns threat-intel user accounts iam lb loadbalancer vhost vpm nodes node-mgmt firewall appfw help quit exit clear history"
10
10
  local actions="list get create delete replace apply status patch add-labels remove-labels"
11
11
  local builtins="help quit exit clear history context ctx"
12
12
  local global_flags="--help -h --version -v --interactive -i --no-color --output -o --namespace -ns"
@@ -27,7 +27,7 @@ _xcsh_completions() {
27
27
  local domain="${words[1]}"
28
28
  case "${domain}" in
29
29
  login)
30
- COMPREPLY=($(compgen -W "show banner profile context" -- "${cur}"))
30
+ COMPREPLY=($(compgen -W "banner profile context" -- "${cur}"))
31
31
  return 0
32
32
  ;;
33
33
  login/profile)
@@ -63,9 +63,12 @@ complete -c xcsh -n "__fish_use_subcommand" -a "threat_campaign" -d 'Threat Camp
63
63
  complete -c xcsh -n "__fish_use_subcommand" -a "users" -d 'User accounts, tokens, and label management'
64
64
  complete -c xcsh -n "__fish_use_subcommand" -a "virtual" -d 'Configure HTTP and TCP load balancers'
65
65
  complete -c xcsh -n "__fish_use_subcommand" -a "vpm_and_node_management" -d 'Vpm And Node Management API'
66
- complete -c xcsh -n "__fish_use_subcommand" -a "waf" -d 'Configure web application firewall rules and policies'
66
+ complete -c xcsh -n "__fish_use_subcommand" -a "waf" -d 'Configure application firewall rules and bot protection'
67
67
 
68
68
  # Alias completions
69
+ complete -c xcsh -n "__fish_use_subcommand" -a "console-ui" -d 'Alias for admin_console_and_ui'
70
+ complete -c xcsh -n "__fish_use_subcommand" -a "ui-assets" -d 'Alias for admin_console_and_ui'
71
+ complete -c xcsh -n "__fish_use_subcommand" -a "static-components" -d 'Alias for admin_console_and_ui'
69
72
  complete -c xcsh -n "__fish_use_subcommand" -a "apisec" -d 'Alias for api'
70
73
  complete -c xcsh -n "__fish_use_subcommand" -a "api-discovery" -d 'Alias for api'
71
74
  complete -c xcsh -n "__fish_use_subcommand" -a "authn" -d 'Alias for authentication'
@@ -74,11 +77,20 @@ complete -c xcsh -n "__fish_use_subcommand" -a "sso" -d 'Alias for authenticatio
74
77
  complete -c xcsh -n "__fish_use_subcommand" -a "f5-bigip" -d 'Alias for bigip'
75
78
  complete -c xcsh -n "__fish_use_subcommand" -a "irule" -d 'Alias for bigip'
76
79
  complete -c xcsh -n "__fish_use_subcommand" -a "ltm" -d 'Alias for bigip'
80
+ complete -c xcsh -n "__fish_use_subcommand" -a "billing-usage" -d 'Alias for billing_and_usage'
81
+ complete -c xcsh -n "__fish_use_subcommand" -a "quotas" -d 'Alias for billing_and_usage'
82
+ complete -c xcsh -n "__fish_use_subcommand" -a "usage-tracking" -d 'Alias for billing_and_usage'
77
83
  complete -c xcsh -n "__fish_use_subcommand" -a "bf" -d 'Alias for blindfold'
78
84
  complete -c xcsh -n "__fish_use_subcommand" -a "encrypt" -d 'Alias for blindfold'
79
85
  complete -c xcsh -n "__fish_use_subcommand" -a "secrets" -d 'Alias for blindfold'
86
+ complete -c xcsh -n "__fish_use_subcommand" -a "threat-defense" -d 'Alias for bot_and_threat_defense'
87
+ complete -c xcsh -n "__fish_use_subcommand" -a "tpm" -d 'Alias for bot_and_threat_defense'
88
+ complete -c xcsh -n "__fish_use_subcommand" -a "shape-bot" -d 'Alias for bot_and_threat_defense'
80
89
  complete -c xcsh -n "__fish_use_subcommand" -a "cache" -d 'Alias for cdn'
81
90
  complete -c xcsh -n "__fish_use_subcommand" -a "content" -d 'Alias for cdn'
91
+ complete -c xcsh -n "__fish_use_subcommand" -a "ce-mgmt" -d 'Alias for ce_management'
92
+ complete -c xcsh -n "__fish_use_subcommand" -a "edge-management" -d 'Alias for ce_management'
93
+ complete -c xcsh -n "__fish_use_subcommand" -a "ce-lifecycle" -d 'Alias for ce_management'
82
94
  complete -c xcsh -n "__fish_use_subcommand" -a "cert" -d 'Alias for certificates'
83
95
  complete -c xcsh -n "__fish_use_subcommand" -a "certs" -d 'Alias for certificates'
84
96
  complete -c xcsh -n "__fish_use_subcommand" -a "ssl" -d 'Alias for certificates'
@@ -89,6 +101,10 @@ complete -c xcsh -n "__fish_use_subcommand" -a "provider" -d 'Alias for cloud_in
89
101
  complete -c xcsh -n "__fish_use_subcommand" -a "vk8s" -d 'Alias for container_services'
90
102
  complete -c xcsh -n "__fish_use_subcommand" -a "containers" -d 'Alias for container_services'
91
103
  complete -c xcsh -n "__fish_use_subcommand" -a "workloads" -d 'Alias for container_services'
104
+ complete -c xcsh -n "__fish_use_subcommand" -a "data-privacy" -d 'Alias for data_and_privacy_security'
105
+ complete -c xcsh -n "__fish_use_subcommand" -a "pii" -d 'Alias for data_and_privacy_security'
106
+ complete -c xcsh -n "__fish_use_subcommand" -a "sensitive-data" -d 'Alias for data_and_privacy_security'
107
+ complete -c xcsh -n "__fish_use_subcommand" -a "lma" -d 'Alias for data_and_privacy_security'
92
108
  complete -c xcsh -n "__fish_use_subcommand" -a "di" -d 'Alias for data_intelligence'
93
109
  complete -c xcsh -n "__fish_use_subcommand" -a "intelligence" -d 'Alias for data_intelligence'
94
110
  complete -c xcsh -n "__fish_use_subcommand" -a "insights" -d 'Alias for data_intelligence'
@@ -122,6 +138,9 @@ complete -c xcsh -n "__fish_use_subcommand" -a "synth" -d 'Alias for observabili
122
138
  complete -c xcsh -n "__fish_use_subcommand" -a "ratelimit" -d 'Alias for rate_limiting'
123
139
  complete -c xcsh -n "__fish_use_subcommand" -a "throttle" -d 'Alias for rate_limiting'
124
140
  complete -c xcsh -n "__fish_use_subcommand" -a "policer" -d 'Alias for rate_limiting'
141
+ complete -c xcsh -n "__fish_use_subcommand" -a "secops" -d 'Alias for secops_and_incident_response'
142
+ complete -c xcsh -n "__fish_use_subcommand" -a "incident-response" -d 'Alias for secops_and_incident_response'
143
+ complete -c xcsh -n "__fish_use_subcommand" -a "mitigation" -d 'Alias for secops_and_incident_response'
125
144
  complete -c xcsh -n "__fish_use_subcommand" -a "mesh" -d 'Alias for service_mesh'
126
145
  complete -c xcsh -n "__fish_use_subcommand" -a "svc-mesh" -d 'Alias for service_mesh'
127
146
  complete -c xcsh -n "__fish_use_subcommand" -a "shape-sec" -d 'Alias for shape'
@@ -135,6 +154,9 @@ complete -c xcsh -n "__fish_use_subcommand" -a "tickets" -d 'Alias for support'
135
154
  complete -c xcsh -n "__fish_use_subcommand" -a "help-desk" -d 'Alias for support'
136
155
  complete -c xcsh -n "__fish_use_subcommand" -a "telemetry" -d 'Alias for telemetry_and_insights'
137
156
  complete -c xcsh -n "__fish_use_subcommand" -a "ti" -d 'Alias for telemetry_and_insights'
157
+ complete -c xcsh -n "__fish_use_subcommand" -a "tenant-identity" -d 'Alias for tenant_and_identity'
158
+ complete -c xcsh -n "__fish_use_subcommand" -a "idm" -d 'Alias for tenant_and_identity'
159
+ complete -c xcsh -n "__fish_use_subcommand" -a "user-settings" -d 'Alias for tenant_and_identity'
138
160
  complete -c xcsh -n "__fish_use_subcommand" -a "threats" -d 'Alias for threat_campaign'
139
161
  complete -c xcsh -n "__fish_use_subcommand" -a "campaigns" -d 'Alias for threat_campaign'
140
162
  complete -c xcsh -n "__fish_use_subcommand" -a "threat-intel" -d 'Alias for threat_campaign'
@@ -151,7 +173,6 @@ complete -c xcsh -n "__fish_use_subcommand" -a "firewall" -d 'Alias for waf'
151
173
  complete -c xcsh -n "__fish_use_subcommand" -a "appfw" -d 'Alias for waf'
152
174
 
153
175
  # Custom domain subcommands
154
- complete -c xcsh -n "__fish_seen_subcommand_from login" -a "show" -d 'Command'
155
176
  complete -c xcsh -n "__fish_seen_subcommand_from login" -a "banner" -d 'Command'
156
177
  complete -c xcsh -n "__fish_seen_subcommand_from login" -a "profile" -d 'Subcommand group'
157
178
  complete -c xcsh -n "__fish_seen_subcommand_from login; and __fish_seen_subcommand_from profile" -a "list" -d 'Command'
package/dist/index.js CHANGED
@@ -44111,13 +44111,13 @@ var generatedDomains = /* @__PURE__ */ new Map([
44111
44111
  description: "Provides management capabilities for static components used in the F5 XC admin console and user interface. Enables operations to deploy, retrieve, update, and list static UI assets within namespace boundaries. Supports configuration of console interface elements, component metadata management, and asset lifecycle operations. Use this domain to manage custom UI components, static resources, and interface configurations that extend or customize the admin console experience.",
44112
44112
  descriptionShort: "Static UI component and console asset management",
44113
44113
  descriptionMedium: "Manage static components for the admin console interface. Deploy, retrieve, and list UI assets and configuration elements within namespaces.",
44114
- aliases: [],
44114
+ aliases: ["console-ui", "ui-assets", "static-components"],
44115
44115
  complexity: "simple",
44116
44116
  isPreview: false,
44117
44117
  requiresTier: "Standard",
44118
- category: "Other",
44119
- useCases: [],
44120
- relatedDomains: []
44118
+ category: "Platform",
44119
+ useCases: ["Manage static UI components for admin console", "Deploy and retrieve UI assets within namespaces", "Configure console interface elements", "Manage custom UI component metadata"],
44120
+ relatedDomains: ["admin", "system"]
44121
44121
  }],
44122
44122
  ["api", {
44123
44123
  name: "api",
@@ -44217,13 +44217,13 @@ var generatedDomains = /* @__PURE__ */ new Map([
44217
44217
  description: "Comprehensive billing and usage management for F5 XC tenants. Handle subscription plan transitions between tiers, configure primary and secondary payment methods, and download invoice PDFs. Monitor resource quota limits and current usage across namespaces. Supports custom invoice listing, quota configuration per namespace, and contact management for billing communications. Essential for financial operations, capacity planning, and subscription lifecycle management.",
44218
44218
  descriptionShort: "Subscription billing, payment methods, and usage tracking",
44219
44219
  descriptionMedium: "Manage subscription plans, payment methods, invoices, and resource quotas. Track usage limits and billing transitions across namespaces.",
44220
- aliases: [],
44220
+ aliases: ["billing-usage", "quotas", "usage-tracking"],
44221
44221
  complexity: "moderate",
44222
44222
  isPreview: false,
44223
44223
  requiresTier: "Standard",
44224
- category: "Other",
44225
- useCases: [],
44226
- relatedDomains: []
44224
+ category: "Platform",
44225
+ useCases: ["Manage subscription plans and billing transitions", "Configure payment methods and invoices", "Track resource quota usage across namespaces", "Monitor usage limits and capacity"],
44226
+ relatedDomains: ["system", "users"]
44227
44227
  }],
44228
44228
  ["blindfold", {
44229
44229
  name: "blindfold",
@@ -44245,20 +44245,20 @@ var generatedDomains = /* @__PURE__ */ new Map([
44245
44245
  description: "Manage comprehensive bot and threat defense capabilities including Shape bot defense instance configuration, threat protection manager (TPM) categories for threat classification, and API key provisioning for automated defense systems. Create and manage TPM categories to organize threats by type, configure bot defense instances per namespace, and handle TPM manager lifecycle operations. Supports preauthorization and provisioning workflows for integrating threat intelligence services with...",
44246
44246
  descriptionShort: "Bot detection, threat categorization, and defense management",
44247
44247
  descriptionMedium: "Configure bot defense instances, manage threat categories, and provision TPM API keys for automated threat detection and mitigation.",
44248
- aliases: [],
44248
+ aliases: ["threat-defense", "tpm", "shape-bot"],
44249
44249
  complexity: "moderate",
44250
44250
  isPreview: false,
44251
- requiresTier: "Standard",
44252
- category: "Other",
44253
- useCases: [],
44254
- relatedDomains: []
44251
+ requiresTier: "Advanced",
44252
+ category: "Security",
44253
+ useCases: ["Configure bot defense instances per namespace", "Manage TPM threat categories for classification", "Provision API keys for automated defense systems", "Integrate threat intelligence services"],
44254
+ relatedDomains: ["bot_defense", "shape", "waf"]
44255
44255
  }],
44256
44256
  ["cdn", {
44257
44257
  name: "cdn",
44258
44258
  displayName: "Cdn",
44259
- description: "Create cache rules with expression-based matching for paths, headers, cookies, and query parameters. Deploy load balancers optimized for content distribution with configurable TTL settings and cache eligibility options. Monitor access logs and metrics for delivery performance. Purge cached content on demand and track service operation status across namespaces.",
44259
+ description: "Create cache rules using path matchers, cookie matching, header conditions, and query parameter filters. Configure TTL settings and cache eligibility options for fine-grained control over cached content. Deploy load balancers with access logging, metrics collection, and cache purge capabilities. Manage subscription services and monitor service operation status for active deployments.",
44260
44260
  descriptionShort: "Configure content delivery and caching rules",
44261
- descriptionMedium: "Define cache rules and load balancers for content distribution. Set TTL policies, path matching, and header-based caching decisions.",
44261
+ descriptionMedium: "Set up cache rules with path matching and TTL controls. Define load balancers for optimized content distribution across edge locations.",
44262
44262
  aliases: ["cache", "content"],
44263
44263
  complexity: "advanced",
44264
44264
  isPreview: false,
@@ -44273,13 +44273,13 @@ var generatedDomains = /* @__PURE__ */ new Map([
44273
44273
  description: "Configure and manage Customer Edge (CE) site infrastructure across distributed deployments. Define network interfaces with DHCP, IPv6, and dedicated management settings. Organize sites into fleets for coordinated management. Handle site registration workflows including token-based registration, image downloads, and suggested configuration values. Monitor and execute site upgrades with pre-upgrade checks and status tracking. Supports both dedicated and Ethernet interface types with...",
44274
44274
  descriptionShort: "Customer Edge site lifecycle and network configuration",
44275
44275
  descriptionMedium: "Manage Customer Edge sites including network interfaces, fleet configurations, site upgrades, and registration workflows for distributed deployments.",
44276
- aliases: [],
44276
+ aliases: ["ce-mgmt", "edge-management", "ce-lifecycle"],
44277
44277
  complexity: "advanced",
44278
44278
  isPreview: false,
44279
44279
  requiresTier: "Standard",
44280
- category: "Other",
44281
- useCases: [],
44282
- relatedDomains: []
44280
+ category: "Infrastructure",
44281
+ useCases: ["Manage Customer Edge site lifecycle", "Configure network interfaces and fleet settings", "Handle site registration and token workflows", "Execute site upgrades with pre-upgrade checks"],
44282
+ relatedDomains: ["customer_edge", "sites"]
44283
44283
  }],
44284
44284
  ["certificates", {
44285
44285
  name: "certificates",
@@ -44329,13 +44329,13 @@ var generatedDomains = /* @__PURE__ */ new Map([
44329
44329
  description: "Manage comprehensive data privacy and security controls including sensitive data detection policies, custom data type definitions, and log management analytics (LMA) region configurations. Define patterns for identifying PII, financial data, and other sensitive information with configurable actions for masking, alerting, or blocking. Configure LMA regions with Elasticsearch, Kafka, or ClickHouse backends for centralized security logging and compliance auditing. Integrate geo-configurations...",
44330
44330
  descriptionShort: "Sensitive data detection, classification, and privacy...",
44331
44331
  descriptionMedium: "Configure data types, sensitive data policies, and LMA regions for detecting, classifying, and protecting personally identifiable information and...",
44332
- aliases: [],
44332
+ aliases: ["data-privacy", "pii", "sensitive-data", "lma"],
44333
44333
  complexity: "simple",
44334
44334
  isPreview: false,
44335
- requiresTier: "Standard",
44336
- category: "Other",
44337
- useCases: [],
44338
- relatedDomains: []
44335
+ requiresTier: "Advanced",
44336
+ category: "Security",
44337
+ useCases: ["Configure sensitive data detection policies", "Define custom data types for PII classification", "Manage LMA region configurations", "Integrate geo-configurations for compliance"],
44338
+ relatedDomains: ["blindfold", "client_side_defense"]
44339
44339
  }],
44340
44340
  ["data_intelligence", {
44341
44341
  name: "data_intelligence",
@@ -44561,13 +44561,13 @@ var generatedDomains = /* @__PURE__ */ new Map([
44561
44561
  description: "Security operations and incident response capabilities for detecting and mitigating malicious user activity. Create mitigation policies that define automated responses based on user threat levels, including blocking, challenging, or rate limiting suspicious users. Configure rules that match specific malicious user types and threat severity levels to appropriate mitigation actions. Supports namespace-scoped configurations for managing security policies across different application...",
44562
44562
  descriptionShort: "Malicious user detection and automated threat mitigation",
44563
44563
  descriptionMedium: "Configure automated responses to malicious user behavior. Define mitigation rules based on threat levels and apply actions like blocking or rate...",
44564
- aliases: [],
44564
+ aliases: ["secops", "incident-response", "mitigation"],
44565
44565
  complexity: "simple",
44566
44566
  isPreview: false,
44567
- requiresTier: "Standard",
44568
- category: "Other",
44569
- useCases: [],
44570
- relatedDomains: []
44567
+ requiresTier: "Advanced",
44568
+ category: "Security",
44569
+ useCases: ["Configure automated threat mitigation policies", "Define rules for malicious user detection", "Manage incident response workflows", "Apply blocking or rate limiting to threats"],
44570
+ relatedDomains: ["bot_defense", "waf", "network_security"]
44571
44571
  }],
44572
44572
  ["service_mesh", {
44573
44573
  name: "service_mesh",
@@ -44711,13 +44711,13 @@ var generatedDomains = /* @__PURE__ */ new Map([
44711
44711
  description: "Comprehensive user and tenant identity management for F5 Distributed Cloud. Configure user settings including profile images, notification preferences (admin and combined), and view preferences. Manage user sessions with listing and control capabilities. Handle OTP (one-time password) administration including admin resets. Support identity management (IDM) enable/disable operations. Process initial access requests for new users. Manage customer support ticket attachments and interactions for...",
44712
44712
  descriptionShort: "User settings, notifications, sessions, and identity...",
44713
44713
  descriptionMedium: "Manage user profiles, notification preferences, session controls, OTP settings, and customer support interactions. Configure identity management...",
44714
- aliases: [],
44714
+ aliases: ["tenant-identity", "idm", "user-settings"],
44715
44715
  complexity: "advanced",
44716
44716
  isPreview: false,
44717
44717
  requiresTier: "Standard",
44718
- category: "Other",
44719
- useCases: [],
44720
- relatedDomains: []
44718
+ category: "Platform",
44719
+ useCases: ["Manage user profiles and notification preferences", "Configure session controls and OTP settings", "Handle identity management operations", "Process initial user access requests"],
44720
+ relatedDomains: ["users", "authentication", "system"]
44721
44721
  }],
44722
44722
  ["threat_campaign", {
44723
44723
  name: "threat_campaign",
@@ -44830,9 +44830,9 @@ var generatedDomains = /* @__PURE__ */ new Map([
44830
44830
  ["waf", {
44831
44831
  name: "waf",
44832
44832
  displayName: "Waf",
44833
- description: "Deploy protection against common web attacks including injection, cross-site scripting, and protocol violations. Set up bot detection with configurable actions for automated traffic handling. Create exclusion policies to whitelist trusted requests and reduce false positives. Monitor security events and rule hits through metrics collection to analyze threat patterns and refine defensive configurations for virtual hosts.",
44834
- descriptionShort: "Configure web application firewall rules and policies",
44835
- descriptionMedium: "Manage application security through attack detection and blocking settings. Define custom response codes and signature-based threat mitigation.",
44833
+ description: "Set up firewall configurations with attack type settings and violation detection. Create exclusion policies to tune false positives and customize blocking responses. Deploy staged signatures before production release and monitor rule hits through security event metrics. Integrate with virtual hosts for layered protection using AI-based risk blocking and anonymization settings for sensitive data handling.",
44834
+ descriptionShort: "Configure application firewall rules and bot protection",
44835
+ descriptionMedium: "Define security policies for web applications. Manage attack signatures, exclusion rules, and threat detection settings.",
44836
44836
  aliases: ["firewall", "appfw"],
44837
44837
  complexity: "advanced",
44838
44838
  isPreview: false,
@@ -45309,8 +45309,8 @@ function getLogoModeFromEnv(envPrefix) {
45309
45309
  var CLI_NAME = "xcsh";
45310
45310
  var CLI_FULL_NAME = "F5 Distributed Cloud Shell";
45311
45311
  function getVersion() {
45312
- if ("6.27.0") {
45313
- return "6.27.0";
45312
+ if ("6.29.0") {
45313
+ return "6.29.0";
45314
45314
  }
45315
45315
  if (process.env.XCSH_VERSION) {
45316
45316
  return process.env.XCSH_VERSION;
@@ -47353,6 +47353,9 @@ var DomainRegistry = class {
47353
47353
  };
47354
47354
  }
47355
47355
  if (args.length === 0) {
47356
+ if (domain.defaultCommand) {
47357
+ return domain.defaultCommand.execute([], session);
47358
+ }
47356
47359
  return this.showDomainHelp(domain);
47357
47360
  }
47358
47361
  const firstArg = args[0]?.toLowerCase() ?? "";
@@ -47363,6 +47366,9 @@ var DomainRegistry = class {
47363
47366
  const subgroup = domain.subcommands.get(firstArg);
47364
47367
  if (subgroup) {
47365
47368
  if (restArgs.length === 0) {
47369
+ if (subgroup.defaultCommand) {
47370
+ return subgroup.defaultCommand.execute([], session);
47371
+ }
47366
47372
  return this.showSubcommandHelp(domain, subgroup);
47367
47373
  }
47368
47374
  const cmdName = restArgs[0]?.toLowerCase() ?? "";
@@ -47426,7 +47432,7 @@ var DomainRegistry = class {
47426
47432
  if (name.toLowerCase().startsWith(partial.toLowerCase())) {
47427
47433
  suggestions.push({
47428
47434
  text: name,
47429
- description: group.description,
47435
+ description: group.descriptionShort,
47430
47436
  category: "subcommand"
47431
47437
  });
47432
47438
  }
@@ -47435,7 +47441,7 @@ var DomainRegistry = class {
47435
47441
  if (name.toLowerCase().startsWith(partial.toLowerCase())) {
47436
47442
  suggestions.push({
47437
47443
  text: name,
47438
- description: cmd.description,
47444
+ description: cmd.descriptionShort,
47439
47445
  category: "command"
47440
47446
  });
47441
47447
  }
@@ -47449,7 +47455,7 @@ var DomainRegistry = class {
47449
47455
  if (name.toLowerCase().startsWith(partial.toLowerCase())) {
47450
47456
  suggestions.push({
47451
47457
  text: name,
47452
- description: cmd.description,
47458
+ description: cmd.descriptionShort,
47453
47459
  category: "command"
47454
47460
  });
47455
47461
  }
@@ -47552,7 +47558,9 @@ function rawStdoutResult(content) {
47552
47558
  // src/domains/login/profile/list.ts
47553
47559
  var listCommand = {
47554
47560
  name: "list",
47555
- description: "List all saved profiles",
47561
+ description: "Display all saved connection profiles with their tenant URLs and authentication types. Highlights the currently active profile for easy identification when managing multiple tenants.",
47562
+ descriptionShort: "List all saved profiles",
47563
+ descriptionMedium: "Show all profiles with tenant URLs, auth types, and active status indicator.",
47556
47564
  aliases: ["ls"],
47557
47565
  async execute(_args, _session) {
47558
47566
  const manager = getProfileManager();
@@ -47587,7 +47595,9 @@ var listCommand = {
47587
47595
  // src/domains/login/profile/show.ts
47588
47596
  var showCommand = {
47589
47597
  name: "show",
47590
- description: "Show profile details (sensitive data masked)",
47598
+ description: "Display detailed configuration for a specific profile. Shows tenant URL, authentication method, and namespace settings with sensitive credentials securely masked for safe viewing.",
47599
+ descriptionShort: "Show profile details (masked credentials)",
47600
+ descriptionMedium: "Display profile configuration with tenant URL, auth type, and masked credentials.",
47591
47601
  usage: "<name>",
47592
47602
  aliases: ["get", "view"],
47593
47603
  async execute(args, _session) {
@@ -47643,7 +47653,9 @@ var showCommand = {
47643
47653
  // src/domains/login/profile/create.ts
47644
47654
  var createCommand2 = {
47645
47655
  name: "create",
47646
- description: "Create a new profile",
47656
+ description: "Create a new connection profile with tenant URL and authentication credentials. Profiles store all settings needed to connect to a tenant, including optional default namespace for scoped operations.",
47657
+ descriptionShort: "Create a new connection profile",
47658
+ descriptionMedium: "Create a profile with tenant URL, authentication token, and optional default namespace.",
47647
47659
  usage: "<name> --url <api-url> --token <api-token> [--namespace <ns>]",
47648
47660
  aliases: ["add", "new"],
47649
47661
  async execute(args, _session) {
@@ -47716,7 +47728,9 @@ var createCommand2 = {
47716
47728
  // src/domains/login/profile/use.ts
47717
47729
  var useCommand = {
47718
47730
  name: "use",
47719
- description: "Switch to a different profile",
47731
+ description: "Switch the active connection to a different saved profile. Updates the session context to use the new profile's tenant URL, credentials, and default namespace for all subsequent operations.",
47732
+ descriptionShort: "Switch to a different profile",
47733
+ descriptionMedium: "Activate a profile and update session context with its tenant and namespace settings.",
47720
47734
  usage: "<name>",
47721
47735
  aliases: ["switch", "activate"],
47722
47736
  async execute(args, session) {
@@ -47763,7 +47777,9 @@ var useCommand = {
47763
47777
  // src/domains/login/profile/delete.ts
47764
47778
  var deleteCommand = {
47765
47779
  name: "delete",
47766
- description: "Delete a saved profile",
47780
+ description: "Delete a saved connection profile permanently. Requires --force flag to delete the currently active profile to prevent accidental disconnection from active tenant.",
47781
+ descriptionShort: "Delete a saved profile",
47782
+ descriptionMedium: "Remove a saved profile permanently. Use --force to delete active profile.",
47767
47783
  usage: "<name> [--force]",
47768
47784
  aliases: ["rm", "remove"],
47769
47785
  async execute(args, _session) {
@@ -47812,10 +47828,66 @@ var deleteCommand = {
47812
47828
  }
47813
47829
  };
47814
47830
 
47831
+ // src/domains/login/profile/active.ts
47832
+ var activeCommand = {
47833
+ name: "active",
47834
+ description: "Display the currently active profile configuration including tenant URL, authentication method, and default namespace. Shows masked credentials for security while confirming connection settings.",
47835
+ descriptionShort: "Display active profile configuration",
47836
+ descriptionMedium: "Show current active profile details including tenant URL, auth type, and namespace settings.",
47837
+ async execute(_args, _session) {
47838
+ const manager = getProfileManager();
47839
+ try {
47840
+ const activeName = await manager.getActive();
47841
+ if (!activeName) {
47842
+ return successResult([
47843
+ "No active profile set.",
47844
+ "",
47845
+ "Run 'login profile list' to see available profiles.",
47846
+ "Run 'login profile use <name>' to activate a profile."
47847
+ ]);
47848
+ }
47849
+ const profile = await manager.get(activeName);
47850
+ if (!profile) {
47851
+ return errorResult(
47852
+ `Active profile '${activeName}' not found. Run 'login profile list' to see available profiles.`
47853
+ );
47854
+ }
47855
+ const masked = manager.maskProfile(profile);
47856
+ const output = [
47857
+ `Active Profile: ${profile.name}`,
47858
+ ``,
47859
+ ` API URL: ${masked.apiUrl}`
47860
+ ];
47861
+ if (masked.apiToken) {
47862
+ output.push(` API Token: ${masked.apiToken}`);
47863
+ }
47864
+ if (masked.p12Bundle) {
47865
+ output.push(` P12 Bundle: ${masked.p12Bundle}`);
47866
+ }
47867
+ if (masked.cert) {
47868
+ output.push(` Certificate: ${masked.cert}`);
47869
+ }
47870
+ if (masked.key) {
47871
+ output.push(` Private Key: ${masked.key}`);
47872
+ }
47873
+ if (masked.defaultNamespace) {
47874
+ output.push(` Namespace: ${masked.defaultNamespace}`);
47875
+ }
47876
+ return successResult(output);
47877
+ } catch (error) {
47878
+ return errorResult(
47879
+ `Failed to get active profile: ${error instanceof Error ? error.message : "Unknown error"}`
47880
+ );
47881
+ }
47882
+ }
47883
+ };
47884
+
47815
47885
  // src/domains/login/context/index.ts
47816
47886
  var showCommand2 = {
47817
47887
  name: "show",
47818
- description: "Show current default namespace context",
47888
+ description: "Display the currently active namespace context used for scoping operations. Shows both the namespace value and its source (environment variable, profile default, or session configuration).",
47889
+ descriptionShort: "Show current default namespace",
47890
+ descriptionMedium: "Display active namespace context and its configuration source.",
47819
47891
  usage: "",
47820
47892
  aliases: ["current", "get"],
47821
47893
  async execute(_args, session) {
@@ -47840,7 +47912,9 @@ function determineNamespaceSource(namespace) {
47840
47912
  }
47841
47913
  var setCommand = {
47842
47914
  name: "set",
47843
- description: "Set default namespace context for API operations",
47915
+ description: "Change the default namespace context for all subsequent operations. Updates the session scope so operations target the specified namespace unless explicitly overridden.",
47916
+ descriptionShort: "Set default namespace context",
47917
+ descriptionMedium: "Switch namespace context for scoped operations without specifying namespace each time.",
47844
47918
  usage: "<namespace>",
47845
47919
  aliases: ["use", "switch"],
47846
47920
  async execute(args, session) {
@@ -47884,7 +47958,9 @@ var setCommand = {
47884
47958
  };
47885
47959
  var listCommand2 = {
47886
47960
  name: "list",
47887
- description: "List available namespaces",
47961
+ description: "Fetch and display all available namespaces from the tenant. Requires authenticated connection. Shows current namespace indicator and provides switch command guidance.",
47962
+ descriptionShort: "List available namespaces",
47963
+ descriptionMedium: "Query tenant for available namespaces with current context indicator.",
47888
47964
  usage: "",
47889
47965
  aliases: ["ls"],
47890
47966
  async execute(_args, session) {
@@ -47925,7 +48001,9 @@ var listCommand2 = {
47925
48001
  };
47926
48002
  var contextSubcommands = {
47927
48003
  name: "context",
47928
- description: "Manage default namespace context for API operations",
48004
+ description: "Manage default namespace context for scoping operations. Set, display, and list namespaces to control which namespace is used when no explicit namespace is specified in commands.",
48005
+ descriptionShort: "Manage default namespace context",
48006
+ descriptionMedium: "Set, display, and list namespaces for scoping operations without explicit namespace flags.",
47929
48007
  commands: /* @__PURE__ */ new Map([
47930
48008
  ["show", showCommand2],
47931
48009
  ["set", setCommand],
@@ -48335,7 +48413,9 @@ function parseLogoArg(args) {
48335
48413
  }
48336
48414
  var bannerCommand = {
48337
48415
  name: "banner",
48338
- description: "Display the xcsh banner with optional logo mode",
48416
+ description: "Render the xcsh startup banner with customizable logo display. Supports multiple render modes including image, ASCII, Unicode, and sixel graphics based on terminal capabilities.",
48417
+ descriptionShort: "Display xcsh banner with logo",
48418
+ descriptionMedium: "Show startup banner with configurable logo mode (image, ASCII, sixel) based on terminal.",
48339
48419
  usage: "[--logo <mode>]",
48340
48420
  async execute(args, _session) {
48341
48421
  if (args.includes("--help") || args.includes("-h")) {
@@ -48635,7 +48715,9 @@ function formatWhoamiBox(info, options) {
48635
48715
  // src/domains/login/whoami/index.ts
48636
48716
  var whoamiCommand = {
48637
48717
  name: "show",
48638
- description: "Show connection and identity information",
48718
+ description: "Display current connection status and authenticated identity information. Shows active profile, tenant URL, username, tenant details, and session context including namespace targeting.",
48719
+ descriptionShort: "Show connection and identity info",
48720
+ descriptionMedium: "Display active profile, tenant URL, user identity, and current namespace context.",
48639
48721
  async execute(_args, session) {
48640
48722
  try {
48641
48723
  const info = await getWhoamiInfo(session);
@@ -48652,24 +48734,25 @@ var whoamiCommand = {
48652
48734
  // src/domains/login/index.ts
48653
48735
  var profileSubcommands = {
48654
48736
  name: "profile",
48655
- description: "Manage saved connection profiles",
48737
+ description: "Manage saved connection profiles for tenant authentication. Create, list, activate, and delete profiles that store tenant URL, credentials, and default namespace settings for seamless tenant switching.",
48738
+ descriptionShort: "Manage saved connection profiles",
48739
+ descriptionMedium: "Create, list, switch, and delete saved authentication profiles for multi-tenant management.",
48656
48740
  commands: /* @__PURE__ */ new Map([
48657
48741
  ["list", listCommand],
48658
48742
  ["show", showCommand],
48659
48743
  ["create", createCommand2],
48660
48744
  ["use", useCommand],
48661
48745
  ["delete", deleteCommand]
48662
- ])
48746
+ ]),
48747
+ defaultCommand: activeCommand
48663
48748
  };
48664
48749
  var loginDomain = {
48665
48750
  name: "login",
48666
- description: "Authentication, identity, and session management for F5 XC. Manage connection profiles to save and switch between tenants, handle context for namespace targeting, and verify current authentication status with whoami.",
48751
+ description: "Authentication, identity, and session management for F5 XC. Manage connection profiles to save and switch between tenants, handle context for namespace targeting, and verify current authentication status.",
48667
48752
  descriptionShort: "Authentication and session management",
48668
48753
  descriptionMedium: "Manage connection profiles, authentication contexts, and session identity for F5 Distributed Cloud.",
48669
- commands: /* @__PURE__ */ new Map([
48670
- ["show", whoamiCommand],
48671
- ["banner", bannerCommand]
48672
- ]),
48754
+ defaultCommand: whoamiCommand,
48755
+ commands: /* @__PURE__ */ new Map([["banner", bannerCommand]]),
48673
48756
  subcommands: /* @__PURE__ */ new Map([
48674
48757
  ["profile", profileSubcommands],
48675
48758
  ["context", contextSubcommands]
@@ -49021,7 +49104,9 @@ function getClient() {
49021
49104
  }
49022
49105
  var statusCommand = {
49023
49106
  name: "status",
49024
- description: "Get overall F5 Cloud status indicator",
49107
+ description: "Retrieve the current overall health indicator for F5 Distributed Cloud services. Returns status level (operational, degraded, major outage) with description. Use --quiet for script-friendly exit code output.",
49108
+ descriptionShort: "Get overall cloud status indicator",
49109
+ descriptionMedium: "Check overall service health status. Use --quiet for exit code suitable for scripts.",
49025
49110
  usage: "[--quiet]",
49026
49111
  aliases: ["st"],
49027
49112
  async execute(args, session) {
@@ -49070,7 +49155,9 @@ var statusCommand = {
49070
49155
  };
49071
49156
  var summaryCommand = {
49072
49157
  name: "summary",
49073
- description: "Get complete status summary including components and incidents",
49158
+ description: "Display comprehensive status overview combining overall health, component statuses, active incidents, and scheduled maintenance in a single report. Use --brief for condensed statistics output.",
49159
+ descriptionShort: "Get complete status summary",
49160
+ descriptionMedium: "Show combined overview of health, components, incidents, and maintenance windows.",
49074
49161
  usage: "[--brief]",
49075
49162
  aliases: ["sum"],
49076
49163
  async execute(args, session) {
@@ -49097,7 +49184,9 @@ var summaryCommand = {
49097
49184
  };
49098
49185
  var componentsCommand = {
49099
49186
  name: "components",
49100
- description: "List all components and their status",
49187
+ description: "List all service components with their current operational status. Shows each component's health level. Use --degraded-only to filter for components experiencing issues.",
49188
+ descriptionShort: "List all components and status",
49189
+ descriptionMedium: "Display service component health. Use --degraded-only to show only affected components.",
49101
49190
  usage: "[--degraded-only]",
49102
49191
  aliases: ["comp"],
49103
49192
  async execute(args, session) {
@@ -49138,7 +49227,9 @@ var componentsCommand = {
49138
49227
  };
49139
49228
  var incidentsCommand = {
49140
49229
  name: "incidents",
49141
- description: "List active and recent incidents",
49230
+ description: "Track service incidents with their impact levels, status, and latest updates. Shows both active and recently resolved incidents. Use --active-only to filter for ongoing issues requiring attention.",
49231
+ descriptionShort: "List active and recent incidents",
49232
+ descriptionMedium: "Display incidents with impact levels and updates. Use --active-only for ongoing issues.",
49142
49233
  usage: "[--active-only]",
49143
49234
  aliases: ["inc"],
49144
49235
  async execute(args, session) {
@@ -49177,7 +49268,9 @@ var incidentsCommand = {
49177
49268
  };
49178
49269
  var maintenanceCommand = {
49179
49270
  name: "maintenance",
49180
- description: "List scheduled and active maintenance windows",
49271
+ description: "View scheduled and in-progress maintenance windows with their timing and affected services. Plan around downtime windows. Use --upcoming to filter for future maintenance only.",
49272
+ descriptionShort: "List scheduled maintenance windows",
49273
+ descriptionMedium: "Show maintenance schedules and timing. Use --upcoming for future windows only.",
49181
49274
  usage: "[--upcoming]",
49182
49275
  aliases: ["maint"],
49183
49276
  async execute(args, session) {
@@ -49604,7 +49697,9 @@ function getClient2(apiClient) {
49604
49697
  }
49605
49698
  var overviewCommand = {
49606
49699
  name: "overview",
49607
- description: "Display subscription tier, active addons, and quota summary",
49700
+ description: "Display a comprehensive overview of your tenant subscription including current tier level, activated addon services, and quota usage summary. Provides at-a-glance subscription health assessment.",
49701
+ descriptionShort: "Display subscription tier and summary",
49702
+ descriptionMedium: "Show subscription tier, active addons, and quota usage summary for tenant health assessment.",
49608
49703
  usage: "[--json]",
49609
49704
  aliases: ["show", "info"],
49610
49705
  async execute(args, session) {
@@ -49659,7 +49754,9 @@ var overviewCommand = {
49659
49754
  };
49660
49755
  var addonsCommand = {
49661
49756
  name: "addons",
49662
- description: "List addon services and their subscription status",
49757
+ description: "List all addon services with their activation state and access status. Filter by active, available, or denied status. Shows tier requirements and enables identification of upgradable features.",
49758
+ descriptionShort: "List addon services and status",
49759
+ descriptionMedium: "Display addon services with activation state. Filter by active, available, or denied status.",
49663
49760
  usage: "[--filter active|available|denied] [--all] [--json]",
49664
49761
  aliases: ["services"],
49665
49762
  async execute(args, session) {
@@ -49756,7 +49853,9 @@ var addonsCommand = {
49756
49853
  };
49757
49854
  var quotaCommand = {
49758
49855
  name: "quota",
49759
- description: "Display tenant-level quota limits and usage",
49856
+ description: "Display tenant-level quota limits and current usage for all resource types. Identify resources approaching limits with warning thresholds. Use --warnings to filter for at-risk quotas only.",
49857
+ descriptionShort: "Display quota limits and usage",
49858
+ descriptionMedium: "Show tenant-level quota limits with usage percentages. Filter for at-risk resources.",
49760
49859
  usage: "[--warnings] [--json]",
49761
49860
  aliases: ["quotas", "limits"],
49762
49861
  async execute(args, session) {
@@ -49833,7 +49932,9 @@ var quotaCommand = {
49833
49932
  };
49834
49933
  var validateCommand = {
49835
49934
  name: "validate",
49836
- description: "Pre-deployment validation for quotas and features",
49935
+ description: "Run pre-deployment validation checks against quota limits and feature availability. Verify resource creation will succeed before deployment. Check if specific features are enabled for your subscription tier.",
49936
+ descriptionShort: "Validate quotas and feature access",
49937
+ descriptionMedium: "Pre-deployment validation for quota capacity and feature availability checks.",
49837
49938
  usage: "[--resource-type <type> --count <n>] [--feature <name>] [--json]",
49838
49939
  async execute(args, session) {
49839
49940
  const jsonOutput = args.includes("--json");
@@ -49921,7 +50022,9 @@ var validateCommand = {
49921
50022
  };
49922
50023
  var activationStatusCommand = {
49923
50024
  name: "activation-status",
49924
- description: "Check pending addon activation requests",
50025
+ description: "Monitor the status of pending addon service activation requests. Track which addons are awaiting approval or provisioning. View currently active addons alongside pending requests.",
50026
+ descriptionShort: "Check pending addon activations",
50027
+ descriptionMedium: "Monitor pending addon activation requests and track provisioning status.",
49925
50028
  usage: "[--json]",
49926
50029
  async execute(args, session) {
49927
50030
  const jsonOutput = args.includes("--json");
@@ -50316,7 +50419,9 @@ complete -c xcsh -l cascade -d 'Cascade delete'
50316
50419
  // src/domains/completion/index.ts
50317
50420
  var bashCommand = {
50318
50421
  name: "bash",
50319
- description: "Generate bash completion script",
50422
+ description: "Generate a bash shell completion script for xcsh. Output the script to stdout for manual installation or pipe to a file. Enables tab-completion for commands, domains, actions, and option flags.",
50423
+ descriptionShort: "Generate bash completion script",
50424
+ descriptionMedium: "Output bash completion script for tab-completion of commands, domains, and flags.",
50320
50425
  async execute() {
50321
50426
  try {
50322
50427
  const script = generateBashCompletion();
@@ -50330,7 +50435,9 @@ var bashCommand = {
50330
50435
  };
50331
50436
  var zshCommand = {
50332
50437
  name: "zsh",
50333
- description: "Generate zsh completion script",
50438
+ description: "Generate a zsh shell completion script for xcsh. Output the script to stdout for manual installation or add to your fpath. Provides rich tab-completion with descriptions for commands, domains, and options.",
50439
+ descriptionShort: "Generate zsh completion script",
50440
+ descriptionMedium: "Output zsh completion script with rich descriptions for commands and options.",
50334
50441
  async execute() {
50335
50442
  try {
50336
50443
  const script = generateZshCompletion();
@@ -50344,7 +50451,9 @@ var zshCommand = {
50344
50451
  };
50345
50452
  var fishCommand = {
50346
50453
  name: "fish",
50347
- description: "Generate fish completion script",
50454
+ description: "Generate a fish shell completion script for xcsh. Output the script to stdout for manual installation or save to your fish completions directory. Enables intelligent tab-completion with inline descriptions.",
50455
+ descriptionShort: "Generate fish completion script",
50456
+ descriptionMedium: "Output fish completion script with inline descriptions for commands and options.",
50348
50457
  async execute() {
50349
50458
  try {
50350
50459
  const script = generateFishCompletion();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@robinmordasiewicz/f5xc-xcsh",
3
- "version": "6.27.0",
3
+ "version": "6.29.0",
4
4
  "description": "F5 Distributed Cloud Shell - Interactive CLI for F5 XC",
5
5
  "type": "module",
6
6
  "bin": {
@@ -39,7 +39,9 @@
39
39
  "generate:domains": "tsx scripts/generate-domains.ts",
40
40
  "generate:completions": "tsx scripts/generate-completions.ts",
41
41
  "generate:logo": "tsx scripts/generate-logo-asset.ts",
42
- "generate": "npm run generate:domains && npm run generate:completions && npm run generate:logo",
42
+ "generate:descriptions": "tsx scripts/generate-descriptions.ts",
43
+ "generate:description-loader": "tsx scripts/generate-description-loader.ts",
44
+ "generate": "npm run generate:domains && npm run generate:completions && npm run generate:logo && npm run generate:description-loader",
43
45
  "prebuild": "npm run generate"
44
46
  },
45
47
  "keywords": [