@robinmordasiewicz/f5xc-xcsh 6.38.0 → 6.39.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
@@ -26,47 +26,47 @@ _xcsh() {
26
26
  (domain)
27
27
  local -a domains builtins
28
28
  domains=(
29
- 'admin_console_and_ui:Manage static UI components for admin console'
30
- 'api:Discover, catalog, and test service interfaces'
29
+ 'admin_console_and_ui:Manage static UI components for admin console.'
30
+ 'api:Discover, catalog, and test service interfaces.'
31
31
  'authentication:Authentication API'
32
- 'bigip:Manage iRules, data groups, and virtual servers'
33
- 'billing_and_usage:Manage subscription plans and payment methods'
34
- 'blindfold:Manage secret encryption and policy rules'
35
- 'bot_and_threat_defense:Detect and block automated attacks'
36
- 'cdn:Configure caching rules and load balancing'
37
- 'ce_management:Manage Customer Edge sites and network interfaces'
38
- 'certificates:Manage SSL/TLS certificate chains and trusted CAs'
39
- 'cloud_infrastructure:Connect and manage multi-cloud providers'
32
+ 'bigip:Manage iRules, data groups, and virtual servers.'
33
+ 'billing_and_usage:Manage subscription plans and payment methods.'
34
+ 'blindfold:Manage secret encryption and policy rules.'
35
+ 'bot_and_threat_defense:Detect and block automated attacks.'
36
+ 'cdn:Configure caching rules and load balancing.'
37
+ 'ce_management:Manage Customer Edge sites and network interfaces.'
38
+ 'certificates:Manage SSL/TLS certificate chains and trusted CAs.'
39
+ 'cloud_infrastructure:Connect and manage multi-cloud providers.'
40
40
  'cloudstatus:F5 XC service status and incidents'
41
41
  'completion:Shell completion script generation'
42
- 'container_services:Deploy containerized workloads across sites'
43
- 'data_and_privacy_security:Configure sensitive data detection and privacy policies'
42
+ 'container_services:Deploy containerized workloads across sites.'
43
+ 'data_and_privacy_security:Configure sensitive data detection and privacy policies.'
44
44
  'data_intelligence:Data Intelligence API'
45
- 'ddos:Configure blocking policies and tunnel protection'
46
- 'dns:Manage zones, records, and load balancing'
47
- 'generative_ai:Access AI assistant queries and feedback'
45
+ 'ddos:Configure blocking policies and tunnel protection.'
46
+ 'dns:Manage zones, records, and load balancing.'
47
+ 'generative_ai:Access AI assistant queries and feedback.'
48
48
  'login:Authentication and session management'
49
- 'managed_kubernetes:Configure Kubernetes RBAC and pod security policies'
50
- 'marketplace:Manage third-party integrations and add-ons'
51
- 'network:Configure BGP routing, tunnels, and connectivity'
52
- 'network_security:Configure firewalls, NAT, and routing policies'
53
- 'nginx_one:Configure NGINX proxy instances and deployments'
54
- 'object_storage:Manage stored objects and bucket versioning'
55
- 'observability:Configure synthetic monitors and health checks'
56
- 'rate_limiting:Configure traffic throttling and policer rules'
57
- 'secops_and_incident_response:Configure automated threat mitigation rules'
58
- 'service_mesh:Configure application types and discovery'
59
- 'shape:Configure bot defense and threat prevention'
60
- 'sites:Deploy edge nodes across cloud providers'
61
- 'statistics:Monitor alerts, logs, and flow analytics'
62
- 'support:Create and track customer tickets'
49
+ 'managed_kubernetes:Configure Kubernetes RBAC and pod security policies.'
50
+ 'marketplace:Manage third-party integrations and add-ons.'
51
+ 'network:Configure BGP routing, tunnels, and connectivity.'
52
+ 'network_security:Configure firewalls, NAT, and routing policies.'
53
+ 'nginx_one:Configure NGINX proxy instances and deployments.'
54
+ 'object_storage:Manage stored objects and bucket versioning.'
55
+ 'observability:Configure synthetic monitors and health checks.'
56
+ 'rate_limiting:Configure traffic throttling and policer rules.'
57
+ 'secops_and_incident_response:Configure automated threat mitigation rules.'
58
+ 'service_mesh:Configure application types and discovery.'
59
+ 'shape:Configure bot defense and threat prevention.'
60
+ 'sites:Deploy edge nodes across cloud providers.'
61
+ 'statistics:Monitor alerts, logs, and flow analytics.'
62
+ 'support:Create and track customer tickets.'
63
63
  'telemetry_and_insights:Telemetry And Insights API'
64
- 'tenant_and_identity:Manage user profiles and session controls'
64
+ 'tenant_and_identity:Manage user profiles and session controls.'
65
65
  'threat_campaign:Threat Campaign API'
66
- 'users:Manage account tokens and label settings'
67
- 'virtual:Configure load balancers and origin pools'
66
+ 'users:Manage account tokens and label settings.'
67
+ 'virtual:Configure load balancers and origin pools.'
68
68
  'vpm_and_node_management:Vpm And Node Management API'
69
- 'waf:Configure application firewall rules and bot protection'
69
+ 'waf:Configure application firewall rules and bot protection.'
70
70
  'console-ui:Alias for admin_console_and_ui'
71
71
  'ui-assets:Alias for admin_console_and_ui'
72
72
  'static-components:Alias for admin_console_and_ui'
@@ -22,47 +22,47 @@ complete -c xcsh -n "__fish_use_subcommand" -a "context" -d 'Show current naviga
22
22
  complete -c xcsh -n "__fish_use_subcommand" -a "ctx" -d 'Show current navigation context'
23
23
 
24
24
  # Domain completions
25
- complete -c xcsh -n "__fish_use_subcommand" -a "admin_console_and_ui" -d 'Manage static UI components for admin console'
26
- complete -c xcsh -n "__fish_use_subcommand" -a "api" -d 'Discover, catalog, and test service interfaces'
25
+ complete -c xcsh -n "__fish_use_subcommand" -a "admin_console_and_ui" -d 'Manage static UI components for admin console.'
26
+ complete -c xcsh -n "__fish_use_subcommand" -a "api" -d 'Discover, catalog, and test service interfaces.'
27
27
  complete -c xcsh -n "__fish_use_subcommand" -a "authentication" -d 'Authentication API'
28
- complete -c xcsh -n "__fish_use_subcommand" -a "bigip" -d 'Manage iRules, data groups, and virtual servers'
29
- complete -c xcsh -n "__fish_use_subcommand" -a "billing_and_usage" -d 'Manage subscription plans and payment methods'
30
- complete -c xcsh -n "__fish_use_subcommand" -a "blindfold" -d 'Manage secret encryption and policy rules'
31
- complete -c xcsh -n "__fish_use_subcommand" -a "bot_and_threat_defense" -d 'Detect and block automated attacks'
32
- complete -c xcsh -n "__fish_use_subcommand" -a "cdn" -d 'Configure caching rules and load balancing'
33
- complete -c xcsh -n "__fish_use_subcommand" -a "ce_management" -d 'Manage Customer Edge sites and network interfaces'
34
- complete -c xcsh -n "__fish_use_subcommand" -a "certificates" -d 'Manage SSL/TLS certificate chains and trusted CAs'
35
- complete -c xcsh -n "__fish_use_subcommand" -a "cloud_infrastructure" -d 'Connect and manage multi-cloud providers'
28
+ complete -c xcsh -n "__fish_use_subcommand" -a "bigip" -d 'Manage iRules, data groups, and virtual servers.'
29
+ complete -c xcsh -n "__fish_use_subcommand" -a "billing_and_usage" -d 'Manage subscription plans and payment methods.'
30
+ complete -c xcsh -n "__fish_use_subcommand" -a "blindfold" -d 'Manage secret encryption and policy rules.'
31
+ complete -c xcsh -n "__fish_use_subcommand" -a "bot_and_threat_defense" -d 'Detect and block automated attacks.'
32
+ complete -c xcsh -n "__fish_use_subcommand" -a "cdn" -d 'Configure caching rules and load balancing.'
33
+ complete -c xcsh -n "__fish_use_subcommand" -a "ce_management" -d 'Manage Customer Edge sites and network interfaces.'
34
+ complete -c xcsh -n "__fish_use_subcommand" -a "certificates" -d 'Manage SSL/TLS certificate chains and trusted CAs.'
35
+ complete -c xcsh -n "__fish_use_subcommand" -a "cloud_infrastructure" -d 'Connect and manage multi-cloud providers.'
36
36
  complete -c xcsh -n "__fish_use_subcommand" -a "cloudstatus" -d 'F5 XC service status and incidents'
37
37
  complete -c xcsh -n "__fish_use_subcommand" -a "completion" -d 'Shell completion script generation'
38
- complete -c xcsh -n "__fish_use_subcommand" -a "container_services" -d 'Deploy containerized workloads across sites'
39
- complete -c xcsh -n "__fish_use_subcommand" -a "data_and_privacy_security" -d 'Configure sensitive data detection and privacy policies'
38
+ complete -c xcsh -n "__fish_use_subcommand" -a "container_services" -d 'Deploy containerized workloads across sites.'
39
+ complete -c xcsh -n "__fish_use_subcommand" -a "data_and_privacy_security" -d 'Configure sensitive data detection and privacy policies.'
40
40
  complete -c xcsh -n "__fish_use_subcommand" -a "data_intelligence" -d 'Data Intelligence API'
41
- complete -c xcsh -n "__fish_use_subcommand" -a "ddos" -d 'Configure blocking policies and tunnel protection'
42
- complete -c xcsh -n "__fish_use_subcommand" -a "dns" -d 'Manage zones, records, and load balancing'
43
- complete -c xcsh -n "__fish_use_subcommand" -a "generative_ai" -d 'Access AI assistant queries and feedback'
41
+ complete -c xcsh -n "__fish_use_subcommand" -a "ddos" -d 'Configure blocking policies and tunnel protection.'
42
+ complete -c xcsh -n "__fish_use_subcommand" -a "dns" -d 'Manage zones, records, and load balancing.'
43
+ complete -c xcsh -n "__fish_use_subcommand" -a "generative_ai" -d 'Access AI assistant queries and feedback.'
44
44
  complete -c xcsh -n "__fish_use_subcommand" -a "login" -d 'Authentication and session management'
45
- complete -c xcsh -n "__fish_use_subcommand" -a "managed_kubernetes" -d 'Configure Kubernetes RBAC and pod security policies'
46
- complete -c xcsh -n "__fish_use_subcommand" -a "marketplace" -d 'Manage third-party integrations and add-ons'
47
- complete -c xcsh -n "__fish_use_subcommand" -a "network" -d 'Configure BGP routing, tunnels, and connectivity'
48
- complete -c xcsh -n "__fish_use_subcommand" -a "network_security" -d 'Configure firewalls, NAT, and routing policies'
49
- complete -c xcsh -n "__fish_use_subcommand" -a "nginx_one" -d 'Configure NGINX proxy instances and deployments'
50
- complete -c xcsh -n "__fish_use_subcommand" -a "object_storage" -d 'Manage stored objects and bucket versioning'
51
- complete -c xcsh -n "__fish_use_subcommand" -a "observability" -d 'Configure synthetic monitors and health checks'
52
- complete -c xcsh -n "__fish_use_subcommand" -a "rate_limiting" -d 'Configure traffic throttling and policer rules'
53
- complete -c xcsh -n "__fish_use_subcommand" -a "secops_and_incident_response" -d 'Configure automated threat mitigation rules'
54
- complete -c xcsh -n "__fish_use_subcommand" -a "service_mesh" -d 'Configure application types and discovery'
55
- complete -c xcsh -n "__fish_use_subcommand" -a "shape" -d 'Configure bot defense and threat prevention'
56
- complete -c xcsh -n "__fish_use_subcommand" -a "sites" -d 'Deploy edge nodes across cloud providers'
57
- complete -c xcsh -n "__fish_use_subcommand" -a "statistics" -d 'Monitor alerts, logs, and flow analytics'
58
- complete -c xcsh -n "__fish_use_subcommand" -a "support" -d 'Create and track customer tickets'
45
+ complete -c xcsh -n "__fish_use_subcommand" -a "managed_kubernetes" -d 'Configure Kubernetes RBAC and pod security policies.'
46
+ complete -c xcsh -n "__fish_use_subcommand" -a "marketplace" -d 'Manage third-party integrations and add-ons.'
47
+ complete -c xcsh -n "__fish_use_subcommand" -a "network" -d 'Configure BGP routing, tunnels, and connectivity.'
48
+ complete -c xcsh -n "__fish_use_subcommand" -a "network_security" -d 'Configure firewalls, NAT, and routing policies.'
49
+ complete -c xcsh -n "__fish_use_subcommand" -a "nginx_one" -d 'Configure NGINX proxy instances and deployments.'
50
+ complete -c xcsh -n "__fish_use_subcommand" -a "object_storage" -d 'Manage stored objects and bucket versioning.'
51
+ complete -c xcsh -n "__fish_use_subcommand" -a "observability" -d 'Configure synthetic monitors and health checks.'
52
+ complete -c xcsh -n "__fish_use_subcommand" -a "rate_limiting" -d 'Configure traffic throttling and policer rules.'
53
+ complete -c xcsh -n "__fish_use_subcommand" -a "secops_and_incident_response" -d 'Configure automated threat mitigation rules.'
54
+ complete -c xcsh -n "__fish_use_subcommand" -a "service_mesh" -d 'Configure application types and discovery.'
55
+ complete -c xcsh -n "__fish_use_subcommand" -a "shape" -d 'Configure bot defense and threat prevention.'
56
+ complete -c xcsh -n "__fish_use_subcommand" -a "sites" -d 'Deploy edge nodes across cloud providers.'
57
+ complete -c xcsh -n "__fish_use_subcommand" -a "statistics" -d 'Monitor alerts, logs, and flow analytics.'
58
+ complete -c xcsh -n "__fish_use_subcommand" -a "support" -d 'Create and track customer tickets.'
59
59
  complete -c xcsh -n "__fish_use_subcommand" -a "telemetry_and_insights" -d 'Telemetry And Insights API'
60
- complete -c xcsh -n "__fish_use_subcommand" -a "tenant_and_identity" -d 'Manage user profiles and session controls'
60
+ complete -c xcsh -n "__fish_use_subcommand" -a "tenant_and_identity" -d 'Manage user profiles and session controls.'
61
61
  complete -c xcsh -n "__fish_use_subcommand" -a "threat_campaign" -d 'Threat Campaign API'
62
- complete -c xcsh -n "__fish_use_subcommand" -a "users" -d 'Manage account tokens and label settings'
63
- complete -c xcsh -n "__fish_use_subcommand" -a "virtual" -d 'Configure load balancers and origin pools'
62
+ complete -c xcsh -n "__fish_use_subcommand" -a "users" -d 'Manage account tokens and label settings.'
63
+ complete -c xcsh -n "__fish_use_subcommand" -a "virtual" -d 'Configure load balancers and origin pools.'
64
64
  complete -c xcsh -n "__fish_use_subcommand" -a "vpm_and_node_management" -d 'Vpm And Node Management API'
65
- complete -c xcsh -n "__fish_use_subcommand" -a "waf" -d 'Configure application firewall rules and bot protection'
65
+ complete -c xcsh -n "__fish_use_subcommand" -a "waf" -d 'Configure application firewall rules and bot protection.'
66
66
 
67
67
  # Alias completions
68
68
  complete -c xcsh -n "__fish_use_subcommand" -a "console-ui" -d 'Alias for admin_console_and_ui'
package/dist/index.js CHANGED
@@ -44109,7 +44109,7 @@ var generatedDomains = /* @__PURE__ */ new Map([
44109
44109
  name: "admin_console_and_ui",
44110
44110
  displayName: "Admin Console And Ui",
44111
44111
  description: "Create administrative dashboard building blocks with tailored setup data and view bindings. Organize presentational materials by namespace and fetch them by name or list all available items. Define display parameters, track system object relationships, and maintain consistent portal appearance through centralized resource management workflows.",
44112
- descriptionShort: "Manage static UI components for admin console",
44112
+ descriptionShort: "Manage static UI components for admin console.",
44113
44113
  descriptionMedium: "Deploy and retrieve graphical elements within namespaces. Configure custom startup parameters and view references for display composition.",
44114
44114
  aliases: ["console-ui", "ui-assets", "static-components"],
44115
44115
  complexity: "simple",
@@ -44123,7 +44123,7 @@ var generatedDomains = /* @__PURE__ */ new Map([
44123
44123
  name: "api",
44124
44124
  displayName: "Api",
44125
44125
  description: "Catalog services automatically to maintain an inventory of operations and their characteristics. Organize related resources by function or ownership through logical groupings. Establish verification procedures that confirm authentication requirements and expected response structures. Link definitions with load balancers for traffic routing decisions. Flag non-standard paths for exclusion from automated scanning. Monitor resource status and metadata throughout deployment zones.",
44126
- descriptionShort: "Discover, catalog, and test service interfaces",
44126
+ descriptionShort: "Discover, catalog, and test service interfaces.",
44127
44127
  descriptionMedium: "Define interface groups and discovery policies. Set up verification rules to check security posture and expected patterns across environments.",
44128
44128
  aliases: ["apisec", "api-discovery"],
44129
44129
  complexity: "advanced",
@@ -44201,7 +44201,7 @@ var generatedDomains = /* @__PURE__ */ new Map([
44201
44201
  name: "bigip",
44202
44202
  displayName: "Bigip",
44203
44203
  description: "Define custom rule-based policies governing routing decisions and request handling. Build organized collections for network ranges, string patterns, and key-value entries. Map cloud services to physical appliances through connector setups. Link identity workflows using access modules. Track performance metrics and coordinate synchronization between components.",
44204
- descriptionShort: "Manage iRules, data groups, and virtual servers",
44204
+ descriptionShort: "Manage iRules, data groups, and virtual servers.",
44205
44205
  descriptionMedium: "Configure traffic logic scripts and structured list entries. Establish appliance bindings and access module integrations.",
44206
44206
  aliases: ["f5-bigip", "irule", "ltm"],
44207
44207
  complexity: "moderate",
@@ -44215,7 +44215,7 @@ var generatedDomains = /* @__PURE__ */ new Map([
44215
44215
  name: "billing_and_usage",
44216
44216
  displayName: "Billing And Usage",
44217
44217
  description: "Set up payment methods with primary and secondary designations for redundancy. Initiate plan transitions between subscription tiers with state tracking. Download invoice PDFs and query custom invoice lists by date range or status. Define quota limits per namespace and monitor current usage against allocated capacity. Swap payment method roles without service interruption.",
44218
- descriptionShort: "Manage subscription plans and payment methods",
44218
+ descriptionShort: "Manage subscription plans and payment methods.",
44219
44219
  descriptionMedium: "Configure billing transitions and payment processing. Track invoices and monitor resource quota consumption across namespaces.",
44220
44220
  aliases: ["billing-usage", "quotas", "usage-tracking"],
44221
44221
  complexity: "moderate",
@@ -44229,7 +44229,7 @@ var generatedDomains = /* @__PURE__ */ new Map([
44229
44229
  name: "blindfold",
44230
44230
  displayName: "Blindfold",
44231
44231
  description: "Define policy rules with label matching and combining algorithms. Set up transformers and matchers to control data safeguarding. Track access patterns through timestamped records with scroll queries and date groupings. Retrieve public keys for cryptographic operations and process policy information for decryption workflows.",
44232
- descriptionShort: "Manage secret encryption and policy rules",
44232
+ descriptionShort: "Manage secret encryption and policy rules.",
44233
44233
  descriptionMedium: "Configure protection policies and access controls for sensitive data. Monitor usage through detailed logs and date-based rollups.",
44234
44234
  aliases: ["bf", "encrypt", "secrets"],
44235
44235
  complexity: "moderate",
@@ -44243,7 +44243,7 @@ var generatedDomains = /* @__PURE__ */ new Map([
44243
44243
  name: "bot_and_threat_defense",
44244
44244
  displayName: "Bot And Threat Defense",
44245
44245
  description: "Deploy namespace-scoped protection using behavioral analysis and machine learning. Provision dedicated keys for system automation and real-time intelligence feeds. Coordinate detection across protected applications through centralized managers. Configure pre-authentication checks to identify suspicious patterns before they reach backends. Enable adaptive blocking decisions based on risk scoring and historical activity profiles.",
44246
- descriptionShort: "Detect and block automated attacks",
44246
+ descriptionShort: "Detect and block automated attacks.",
44247
44247
  descriptionMedium: "Create bot defense instances with Shape integration. Set up traffic classification rules and automated response policies for malicious actors.",
44248
44248
  aliases: ["threat-defense", "tpm", "shape-bot"],
44249
44249
  complexity: "moderate",
@@ -44257,7 +44257,7 @@ var generatedDomains = /* @__PURE__ */ new Map([
44257
44257
  name: "cdn",
44258
44258
  displayName: "Cdn",
44259
44259
  description: "Set up cache eligibility based on headers, cookies, and query parameters. Create expression-based rules with custom TTL settings and path matchers. Deploy load balancers that handle content distribution across origin pools. Monitor access logs and metrics, aggregate performance data, and execute cache purge operations when content updates require immediate invalidation.",
44260
- descriptionShort: "Configure caching rules and load balancing",
44260
+ descriptionShort: "Configure caching rules and load balancing.",
44261
44261
  descriptionMedium: "Define cache rules, TTLs, and path matching. Manage load balancers with origin pools and purge operations.",
44262
44262
  aliases: ["cache", "content"],
44263
44263
  complexity: "advanced",
@@ -44271,7 +44271,7 @@ var generatedDomains = /* @__PURE__ */ new Map([
44271
44271
  name: "ce_management",
44272
44272
  displayName: "Ce Management",
44273
44273
  description: "Define network connectivity parameters including address allocation ranges, dual-stack protocol support, and isolated administrative ports for out-of-band access. Group physical locations under common policy templates for streamlined oversight. Onboard new deployments through secure credential workflows with expiration policies. Execute controlled software transitions featuring pre-flight validation, rollback capabilities, and progress tracking to maintain service continuity.",
44274
- descriptionShort: "Manage Customer Edge sites and network interfaces",
44274
+ descriptionShort: "Manage Customer Edge sites and network interfaces.",
44275
44275
  descriptionMedium: "Configure DHCP pools, IPv6 addressing, and dedicated management ports. Handle site tokens with lifecycle controls and software version transitions.",
44276
44276
  aliases: ["ce-mgmt", "edge-management", "ce-lifecycle"],
44277
44277
  complexity: "advanced",
@@ -44285,7 +44285,7 @@ var generatedDomains = /* @__PURE__ */ new Map([
44285
44285
  name: "certificates",
44286
44286
  displayName: "Certificates",
44287
44287
  description: "Create PKI artifacts organizing cryptographic identity materials by namespace for multi-tenant isolation. Deploy keypair bundles with issuer hierarchies for TLS termination. Establish verification anchor collections governing which external parties can authenticate. Maintain deny-lists blocking compromised identities from initiating sessions. Organize resources within independent security boundaries supporting granular access control.",
44288
- descriptionShort: "Manage SSL/TLS certificate chains and trusted CAs",
44288
+ descriptionShort: "Manage SSL/TLS certificate chains and trusted CAs.",
44289
44289
  descriptionMedium: "Configure certificate manifests linking keys to credential bundles. Define trust anchors for validating client authenticity during mutual TLS.",
44290
44290
  aliases: ["cert", "certs", "ssl", "tls"],
44291
44291
  complexity: "moderate",
@@ -44299,7 +44299,7 @@ var generatedDomains = /* @__PURE__ */ new Map([
44299
44299
  name: "cloud_infrastructure",
44300
44300
  displayName: "Cloud Infrastructure",
44301
44301
  description: "Establish connections to AWS, Azure, and GCP environments with secure authentication and network discovery. Define gateway links, edge site peering, and elastic provisioning workflows. Monitor segment performance and connection health across geographic regions. Create automated VPC attachment policies with intelligent path selection between customer locations and cloud workloads.",
44302
- descriptionShort: "Connect and manage multi-cloud providers",
44302
+ descriptionShort: "Connect and manage multi-cloud providers.",
44303
44303
  descriptionMedium: "Configure cloud provider credentials and VPC attachments. Manage AWS transit gateways, Azure route tables, and cross-cloud connectivity.",
44304
44304
  aliases: ["cloud", "infra", "provider"],
44305
44305
  complexity: "moderate",
@@ -44313,7 +44313,7 @@ var generatedDomains = /* @__PURE__ */ new Map([
44313
44313
  name: "container_services",
44314
44314
  displayName: "Container Services",
44315
44315
  description: "Create definitions for applications running on distributed infrastructure. Establish standardized templates controlling resource consumption and disk limits. Set up partitioned execution contexts supporting namespace separation and multi-tenant isolation. Track persistent volume claims and usage metrics. Connect with mesh networking for traffic routing.",
44316
- descriptionShort: "Deploy containerized workloads across sites",
44316
+ descriptionShort: "Deploy containerized workloads across sites.",
44317
44317
  descriptionMedium: "Run services with simplified orchestration. Define blueprints governing processor and storage allocation.",
44318
44318
  aliases: ["vk8s", "containers", "workloads"],
44319
44319
  complexity: "moderate",
@@ -44327,7 +44327,7 @@ var generatedDomains = /* @__PURE__ */ new Map([
44327
44327
  name: "data_and_privacy_security",
44328
44328
  displayName: "Data And Privacy Security",
44329
44329
  description: "Set up sensitive data policies that identify and protect personally identifiable information across traffic flows. Create custom data type definitions matching organizational privacy standards and industry regulations. Configure LMA region parameters including Clickhouse, Elastic, and Kafka integrations. Deploy geo-configurations enforcing data residency rules and regional compliance mandates. Monitor detection status through condition tracking and secret management with blindfold encryption.",
44330
- descriptionShort: "Configure sensitive data detection and privacy policies",
44330
+ descriptionShort: "Configure sensitive data detection and privacy policies.",
44331
44331
  descriptionMedium: "Define custom data types for PII classification. Manage LMA regions and geo-configurations to meet regulatory compliance requirements.",
44332
44332
  aliases: ["data-privacy", "pii", "sensitive-data", "lma"],
44333
44333
  complexity: "simple",
@@ -44355,7 +44355,7 @@ var generatedDomains = /* @__PURE__ */ new Map([
44355
44355
  name: "ddos",
44356
44356
  displayName: "Ddos",
44357
44357
  description: "Deploy definitions that block IP addresses and network segments from accessing protected resources. Organize by threat type or source classification. Manage secure channels routing suspicious packets for analysis before reaching origin servers. Update status for real-time visibility into active defenses. Add items during attacks and monitor health metrics.",
44358
- descriptionShort: "Configure blocking policies and tunnel protection",
44358
+ descriptionShort: "Configure blocking policies and tunnel protection.",
44359
44359
  descriptionMedium: "Set up firewall configurations with deny list rules. Filter malicious traffic through inspection points.",
44360
44360
  aliases: ["dos", "ddos-protect"],
44361
44361
  complexity: "advanced",
@@ -44369,7 +44369,7 @@ var generatedDomains = /* @__PURE__ */ new Map([
44369
44369
  name: "dns",
44370
44370
  displayName: "Dns",
44371
44371
  description: "Set up primary and secondary zones with support for A, AAAA, CNAME, CAA, CERT, and AFSDB record types. Define health checks to monitor target availability and enable automatic failover between record destinations. Clone existing domains, import zone configurations from external servers, or export zone files for backup. Track query metrics and request logs to analyze resolution patterns across namespaces.",
44372
- descriptionShort: "Manage zones, records, and load balancing",
44372
+ descriptionShort: "Manage zones, records, and load balancing.",
44373
44373
  descriptionMedium: "Configure authoritative name services with record sets and health checks. Import zones from BIND files or transfer via AXFR protocol.",
44374
44374
  aliases: ["dns-zone", "zones"],
44375
44375
  complexity: "advanced",
@@ -44433,7 +44433,7 @@ var generatedDomains = /* @__PURE__ */ new Map([
44433
44433
  name: "generative_ai",
44434
44434
  displayName: "Generative Ai",
44435
44435
  description: "Set up query evaluation and response handling for intelligent assistant workflows. Manage rating collection with positive and negative outcome tracking. Subscribe to data streams for traffic pattern detection and behavioral analysis. Allocate and deallocate IP resources for ML infrastructure. Control feature enablement and token management for telemetry collection paths.",
44436
- descriptionShort: "Access AI assistant queries and feedback",
44436
+ descriptionShort: "Access AI assistant queries and feedback.",
44437
44437
  descriptionMedium: "Configure machine learning interactions and collect response ratings. Enable flow pattern monitoring through data subscription channels.",
44438
44438
  aliases: ["ai", "genai", "assistant"],
44439
44439
  complexity: "simple",
@@ -44447,7 +44447,7 @@ var generatedDomains = /* @__PURE__ */ new Map([
44447
44447
  name: "managed_kubernetes",
44448
44448
  displayName: "Managed Kubernetes",
44449
44449
  description: "Create granular access controls for namespace resources and non-resource URLs. Map permissions to users, groups, or service accounts through binding configurations. Deploy security admission enforcement using baseline, restricted, or privileged profiles. Register private image sources with credential management for secure pulls. Integrate with external managed solutions including EKS, AKS, and GKE infrastructure.",
44450
- descriptionShort: "Configure Kubernetes RBAC and pod security policies",
44450
+ descriptionShort: "Configure Kubernetes RBAC and pod security policies.",
44451
44451
  descriptionMedium: "Define permission boundaries for workload access. Set up private image repositories with authentication for enterprise deployments.",
44452
44452
  aliases: ["mk8s", "appstack", "k8s-mgmt"],
44453
44453
  complexity: "moderate",
@@ -44461,7 +44461,7 @@ var generatedDomains = /* @__PURE__ */ new Map([
44461
44461
  name: "marketplace",
44462
44462
  displayName: "Marketplace",
44463
44463
  description: "Set up secure tunnel connections using IKEv1/IKEv2 parameters, GRE encapsulation with source and destination addressing, or dedicated link types. Manage DPD keep-alive timers and tunnel termination points for reliable connectivity. Activate purchasable services with namespace-scoped status tracking. Create custom portal widgets for interface integration and configure Cloud Manager instances for Terraform and infrastructure automation workflows.",
44464
- descriptionShort: "Manage third-party integrations and add-ons",
44464
+ descriptionShort: "Manage third-party integrations and add-ons.",
44465
44465
  descriptionMedium: "Configure connector tunnels with IPSec, GRE, or direct links. Deploy purchasable services and portal customizations across namespaces.",
44466
44466
  aliases: ["market", "addons", "extensions"],
44467
44467
  complexity: "moderate",
@@ -44475,7 +44475,7 @@ var generatedDomains = /* @__PURE__ */ new Map([
44475
44475
  name: "network",
44476
44476
  displayName: "Network",
44477
44477
  description: "Deploy secure site connectivity using IPsec tunnels with customizable IKE phase settings, encryption algorithms, and DH groups. Configure BGP routing with peer state monitoring, ASN management, and traffic policies. Set up SRv6 segments, IP prefix sets, and subnet definitions. Manage DC cluster groups for data center integration and define routes for traffic steering across distributed infrastructure.",
44478
- descriptionShort: "Configure BGP routing, tunnels, and connectivity",
44478
+ descriptionShort: "Configure BGP routing, tunnels, and connectivity.",
44479
44479
  descriptionMedium: "Manage IPsec tunnels and IKE configurations. Define BGP peers, ASN assignments, and routing policies for site-to-site connections.",
44480
44480
  aliases: ["net", "routing", "bgp"],
44481
44481
  complexity: "advanced",
@@ -44489,7 +44489,7 @@ var generatedDomains = /* @__PURE__ */ new Map([
44489
44489
  name: "network_security",
44490
44490
  displayName: "Network Security",
44491
44491
  description: "Manage firewall configurations with match criteria and action rules. Create NAT policies using dynamic pools and port configurations for address translation. Define segment connections to isolate traffic between network zones. Configure policy-based routing to direct packets based on source, destination, or protocol attributes. Set up forward proxy policies and access control lists to govern outbound connections.",
44492
- descriptionShort: "Configure firewalls, NAT, and routing policies",
44492
+ descriptionShort: "Configure firewalls, NAT, and routing policies.",
44493
44493
  descriptionMedium: "Define network firewall rules and NAT policies. Set up policy-based routing with segment connections for traffic control.",
44494
44494
  aliases: ["netsec", "nfw"],
44495
44495
  complexity: "advanced",
@@ -44503,7 +44503,7 @@ var generatedDomains = /* @__PURE__ */ new Map([
44503
44503
  name: "nginx_one",
44504
44504
  displayName: "Nginx One",
44505
44505
  description: "Set up load balancing configurations with backend server definitions and routing logic. Create monitoring schedules for availability tracking across distributed nodes. Build request handling pipelines with rate controls and authentication layers. Track instance performance metrics and traffic patterns. Coordinate failover mechanisms using weighted distribution and priority-based selection.",
44506
- descriptionShort: "Configure NGINX proxy instances and deployments",
44506
+ descriptionShort: "Configure NGINX proxy instances and deployments.",
44507
44507
  descriptionMedium: "Manage upstream server pools and health monitors. Define SSL termination rules and connection parameters for gateway endpoints.",
44508
44508
  aliases: ["nginx", "nms", "nginx-plus"],
44509
44509
  complexity: "simple",
@@ -44517,7 +44517,7 @@ var generatedDomains = /* @__PURE__ */ new Map([
44517
44517
  name: "object_storage",
44518
44518
  displayName: "Object Storage",
44519
44519
  description: "Deploy binary artifacts and configuration bundles with automatic version tracking and lifecycle policies. Organize content by category including protection signatures, SDK packages, and third-party connector files. Enable time-limited download links for secure distribution without credential exposure. Track revision history for audit trails and support rollback to previous artifact versions when needed.",
44520
- descriptionShort: "Manage stored objects and bucket versioning",
44520
+ descriptionShort: "Manage stored objects and bucket versioning.",
44521
44521
  descriptionMedium: "Create versioned content within tenant buckets. Generate secure access URLs for SDK distributions and application protection resources.",
44522
44522
  aliases: ["storage", "s3", "buckets"],
44523
44523
  complexity: "simple",
@@ -44531,7 +44531,7 @@ var generatedDomains = /* @__PURE__ */ new Map([
44531
44531
  name: "observability",
44532
44532
  displayName: "Observability",
44533
44533
  description: "Set up synthetic monitoring for DNS resolution and HTTP services across AWS regions. Generate health reports with historical trends and summary dashboards. Monitor certificate validity, track response times, and aggregate results by namespace for capacity planning.",
44534
- descriptionShort: "Configure synthetic monitors and health checks",
44534
+ descriptionShort: "Configure synthetic monitors and health checks.",
44535
44535
  descriptionMedium: "Define DNS and HTTP monitors with regional testing. Track certificate expiration and service availability across zones.",
44536
44536
  aliases: ["obs", "monitoring", "synth"],
44537
44537
  complexity: "advanced",
@@ -44545,7 +44545,7 @@ var generatedDomains = /* @__PURE__ */ new Map([
44545
44545
  name: "rate_limiting",
44546
44546
  displayName: "Rate Limiting",
44547
44547
  description: "Create rate limiter policies with configurable time periods using seconds, minutes, or hours granularity. Deploy policers and protocol policers to enforce bandwidth constraints across namespaces. Define limit values, burst allowances, and blocking behaviors when thresholds trigger. Integrate with load balancers and security policies for layered traffic management and abuse prevention.",
44548
- descriptionShort: "Configure traffic throttling and policer rules",
44548
+ descriptionShort: "Configure traffic throttling and policer rules.",
44549
44549
  descriptionMedium: "Define request limits and burst thresholds for traffic control. Set up leaky bucket algorithms and block actions for exceeded quotas.",
44550
44550
  aliases: ["ratelimit", "throttle", "policer"],
44551
44551
  complexity: "simple",
@@ -44559,7 +44559,7 @@ var generatedDomains = /* @__PURE__ */ new Map([
44559
44559
  name: "secops_and_incident_response",
44560
44560
  displayName: "Secops And Incident Response",
44561
44561
  description: "Manage incident response workflows that detect and mitigate malicious users automatically. Create rules matching threat levels to actions like blocking, rate limiting, or alerting. Set up mitigation policies per namespace to isolate security responses. Define thresholds for user behavior analysis and configure graduated responses based on severity. Integrate with bot defense and WAF systems for coordinated protection across application layers.",
44562
- descriptionShort: "Configure automated threat mitigation rules",
44562
+ descriptionShort: "Configure automated threat mitigation rules.",
44563
44563
  descriptionMedium: "Define malicious user detection policies and response actions. Apply blocking or rate limiting based on threat levels.",
44564
44564
  aliases: ["secops", "incident-response", "mitigation"],
44565
44565
  complexity: "simple",
@@ -44573,7 +44573,7 @@ var generatedDomains = /* @__PURE__ */ new Map([
44573
44573
  name: "service_mesh",
44574
44574
  displayName: "Service Mesh",
44575
44575
  description: "Create classifications to organize services and support automatic identification of interconnected components. Set up analysis pipelines to understand patterns and build intelligent routing rules. Define network function virtualization for regional architectures. Configure authentication settings including location, state, and type recognition.",
44576
- descriptionShort: "Configure application types and discovery",
44576
+ descriptionShort: "Configure application types and discovery.",
44577
44577
  descriptionMedium: "Manage NFV integrations and workload categories. Enable traffic learning across distributed deployments.",
44578
44578
  aliases: ["mesh", "svc-mesh"],
44579
44579
  complexity: "advanced",
@@ -44587,7 +44587,7 @@ var generatedDomains = /* @__PURE__ */ new Map([
44587
44587
  name: "shape",
44588
44588
  displayName: "Shape",
44589
44589
  description: "Set up bot defense infrastructure across namespaces with deployment tracking and status monitoring. Integrate mobile SDK attributes for app shielding and device recognition. Subscribe to threat intelligence services for real-time protection updates. Define cluster states and location-based policies for distributed bot mitigation. Track deployment history and manage policy configurations through centralized infrastructure objects.",
44590
- descriptionShort: "Configure bot defense and threat prevention",
44590
+ descriptionShort: "Configure bot defense and threat prevention.",
44591
44591
  descriptionMedium: "Deploy bot infrastructure with mobile SDK integration. Manage subscription services and policy enforcement for automated threat protection.",
44592
44592
  aliases: ["shape-sec", "safeap"],
44593
44593
  complexity: "advanced",
@@ -44601,7 +44601,7 @@ var generatedDomains = /* @__PURE__ */ new Map([
44601
44601
  name: "sites",
44602
44602
  displayName: "Sites",
44603
44603
  description: "Deploy edge nodes across AWS, Azure, and GCP with automated provisioning. Configure VPC peering, transit gateway attachments, and VPN tunnel settings. Define virtual groupings with label selectors for policy targeting. Manage Kubernetes cluster integrations and secure mesh deployments. Monitor node health, validate configurations, and set IP prefix allocations.",
44604
- descriptionShort: "Deploy edge nodes across cloud providers",
44604
+ descriptionShort: "Deploy edge nodes across cloud providers.",
44605
44605
  descriptionMedium: "Configure AWS, Azure, GCP deployments with VPC integration. Manage transit gateways and VPN tunnels.",
44606
44606
  aliases: ["site", "deployment"],
44607
44607
  complexity: "advanced",
@@ -44667,7 +44667,7 @@ var generatedDomains = /* @__PURE__ */ new Map([
44667
44667
  name: "statistics",
44668
44668
  displayName: "Statistics",
44669
44669
  description: "Set up alert policies with custom matchers, label filters, and group-by rules for targeted notifications. Define routing channels via email, webhook, or integration receivers with confirmation and verification workflows. Access flow analytics, historical alert data, and namespace-scoped metrics. Build capacity planning graphs and operational summaries. Observe deployment health and service discovery mapping across distributed environments.",
44670
- descriptionShort: "Monitor alerts, logs, and flow analytics",
44670
+ descriptionShort: "Monitor alerts, logs, and flow analytics.",
44671
44671
  descriptionMedium: "Configure alerting policies and notification receivers. Track service topology, build dashboards, and view site health summaries.",
44672
44672
  aliases: ["stats", "metrics", "logs"],
44673
44673
  complexity: "advanced",
@@ -44681,7 +44681,7 @@ var generatedDomains = /* @__PURE__ */ new Map([
44681
44681
  name: "support",
44682
44682
  displayName: "Support",
44683
44683
  description: "Open new cases and assign severity ratings based on business impact. Append notes throughout resolution workflows. Mark items as closed or reinstate them if symptoms recur. Execute diagnostic packet captures on deployed sites for network troubleshooting. Handle tax exemption verification through certificate submission.",
44684
- descriptionShort: "Create and track customer tickets",
44684
+ descriptionShort: "Create and track customer tickets.",
44685
44685
  descriptionMedium: "Submit requests with file uploads and priority levels. Add comments and escalate critical incidents to engineering teams.",
44686
44686
  aliases: ["tickets", "help-desk"],
44687
44687
  complexity: "moderate",
@@ -44709,7 +44709,7 @@ var generatedDomains = /* @__PURE__ */ new Map([
44709
44709
  name: "tenant_and_identity",
44710
44710
  displayName: "Tenant And Identity",
44711
44711
  description: "Set up granular alert routing for administrative and combined channels with personalized delivery options. Control active login sessions and enforce one-time password resets for security compliance. Define display layouts and avatar images for customized user experiences. Process onboarding access submissions and toggle account management features. Coordinate support ticket attachments and client relationship interactions across managed tenant hierarchies.",
44712
- descriptionShort: "Manage user profiles and session controls",
44712
+ descriptionShort: "Manage user profiles and session controls.",
44713
44713
  descriptionMedium: "Configure OTP resets and admin alert channels. Handle view settings and profile customization for platform participants.",
44714
44714
  aliases: ["tenant-identity", "idm", "user-settings"],
44715
44715
  complexity: "advanced",
@@ -44737,7 +44737,7 @@ var generatedDomains = /* @__PURE__ */ new Map([
44737
44737
  name: "users",
44738
44738
  displayName: "Users",
44739
44739
  description: "Deploy namespace-scoped access credentials with lifecycle state tracking for secure machine enrollment. Build hierarchical tagging frameworks that enable systematic organization of infrastructure elements. Retrieve automated provisioning payloads for streamlined node initialization. Enable system-level automatic tagging that applies predefined metadata to newly created objects without operator action.",
44740
- descriptionShort: "Manage account tokens and label settings",
44740
+ descriptionShort: "Manage account tokens and label settings.",
44741
44741
  descriptionMedium: "Configure credential issuance and cloud-init provisioning. Establish key-value taxonomies for consistent resource categorization across deployments.",
44742
44742
  aliases: ["user", "accounts", "iam"],
44743
44743
  complexity: "simple",
@@ -44751,7 +44751,7 @@ var generatedDomains = /* @__PURE__ */ new Map([
44751
44751
  name: "virtual",
44752
44752
  displayName: "Virtual",
44753
44753
  description: "Deploy load balancers across protocols with origin pool management and service discovery. Set up geo-location routing to direct traffic based on client location. Define rate limiter policies to control request volume and protect services from abuse. Configure health checks for origin monitoring and automatic failover. Manage service policies for access control and traffic filtering. Enable malware protection and threat campaign blocking for security enforcement.",
44754
- descriptionShort: "Configure load balancers and origin pools",
44754
+ descriptionShort: "Configure load balancers and origin pools.",
44755
44755
  descriptionMedium: "Create HTTP, TCP, and UDP load balancers with origin pools. Define routing rules, health checks, and rate limiting policies.",
44756
44756
  aliases: ["lb", "loadbalancer", "vhost"],
44757
44757
  complexity: "advanced",
@@ -44831,7 +44831,7 @@ var generatedDomains = /* @__PURE__ */ new Map([
44831
44831
  name: "waf",
44832
44832
  displayName: "Waf",
44833
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",
44834
+ descriptionShort: "Configure application firewall rules and bot protection.",
44835
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",
@@ -45354,8 +45354,8 @@ function getLogoModeFromEnv(envPrefix) {
45354
45354
  var CLI_NAME = "xcsh";
45355
45355
  var CLI_FULL_NAME = "F5 Distributed Cloud Shell";
45356
45356
  function getVersion() {
45357
- if ("6.38.0") {
45358
- return "6.38.0";
45357
+ if ("6.39.0") {
45358
+ return "6.39.0";
45359
45359
  }
45360
45360
  if (process.env.XCSH_VERSION) {
45361
45361
  return process.env.XCSH_VERSION;
@@ -46820,10 +46820,19 @@ var REPLSession = class {
46820
46820
  /**
46821
46821
  * Load the active profile from profile manager
46822
46822
  * Note: Environment variables take priority over profile settings
46823
+ * If no active profile is set but exactly one profile exists, auto-activate it
46823
46824
  */
46824
46825
  async loadActiveProfile() {
46825
46826
  try {
46826
- const activeName = await this._profileManager.getActive();
46827
+ let activeName = await this._profileManager.getActive();
46828
+ if (!activeName) {
46829
+ const profiles = await this._profileManager.list();
46830
+ if (profiles.length === 1 && profiles[0]) {
46831
+ const singleProfile = profiles[0];
46832
+ await this._profileManager.setActive(singleProfile.name);
46833
+ activeName = singleProfile.name;
46834
+ }
46835
+ }
46827
46836
  if (activeName) {
46828
46837
  const profile = await this._profileManager.get(activeName);
46829
46838
  if (profile) {
@@ -48339,6 +48348,114 @@ var showCommand = {
48339
48348
  }
48340
48349
  };
48341
48350
 
48351
+ // src/domains/login/profile/connection-table.ts
48352
+ var UNICODE_BOX2 = {
48353
+ topLeft: "\u256D",
48354
+ // ╭
48355
+ topRight: "\u256E",
48356
+ // ╮
48357
+ bottomLeft: "\u2570",
48358
+ // ╰
48359
+ bottomRight: "\u256F",
48360
+ // ╯
48361
+ horizontal: "\u2500",
48362
+ // ─
48363
+ vertical: "\u2502",
48364
+ // │
48365
+ leftT: "\u251C",
48366
+ // ├
48367
+ rightT: "\u2524"
48368
+ // ┤
48369
+ };
48370
+ var ASCII_BOX2 = {
48371
+ topLeft: "+",
48372
+ topRight: "+",
48373
+ bottomLeft: "+",
48374
+ bottomRight: "+",
48375
+ horizontal: "-",
48376
+ vertical: "|",
48377
+ leftT: "+",
48378
+ rightT: "+"
48379
+ };
48380
+ function extractTenantFromUrl(url) {
48381
+ try {
48382
+ const parsed = new URL(url);
48383
+ const hostname = parsed.hostname;
48384
+ const parts = hostname.split(".");
48385
+ if (parts.length > 0 && parts[0]) {
48386
+ return parts[0];
48387
+ }
48388
+ return hostname;
48389
+ } catch {
48390
+ return "unknown";
48391
+ }
48392
+ }
48393
+ function formatConnectionTable(info, noColor = false) {
48394
+ const useColors = shouldUseColors(void 0, noColor);
48395
+ const box = useColors ? UNICODE_BOX2 : ASCII_BOX2;
48396
+ const borderColor = colors.red;
48397
+ const successColor = colors.green;
48398
+ const errorColor = colors.red;
48399
+ const colorBorder = (text) => useColors ? `${borderColor}${text}${colors.reset}` : text;
48400
+ const colorStatus = (text, isGood) => useColors ? `${isGood ? successColor : errorColor}${text}${colors.reset}` : text;
48401
+ const rows = [
48402
+ { label: "Profile", value: info.profileName },
48403
+ { label: "Tenant", value: info.tenant },
48404
+ { label: "API URL", value: info.apiUrl },
48405
+ {
48406
+ label: "Auth",
48407
+ value: info.hasToken ? colorStatus("\u2713 Token configured", true) : colorStatus("\u2717 No token", false)
48408
+ },
48409
+ { label: "Namespace", value: info.namespace || "default" },
48410
+ {
48411
+ label: "Status",
48412
+ value: info.isConnected ? colorStatus("\u25CF Connected", true) : colorStatus("\u25CB Not connected", false)
48413
+ }
48414
+ ];
48415
+ const labelWidth = Math.max(...rows.map((r) => r.label.length));
48416
+ const valueWidth = Math.max(
48417
+ ...rows.map((r) => stripAnsi2(r.value).length),
48418
+ 30
48419
+ );
48420
+ const innerWidth = labelWidth + valueWidth + 5;
48421
+ const title = " Connection Summary ";
48422
+ const remainingWidth = innerWidth - title.length;
48423
+ const leftDashes = 1;
48424
+ const rightDashes = Math.max(0, remainingWidth - leftDashes);
48425
+ const lines = [];
48426
+ lines.push(
48427
+ colorBorder(box.topLeft + box.horizontal.repeat(leftDashes)) + title + colorBorder(box.horizontal.repeat(rightDashes) + box.topRight)
48428
+ );
48429
+ for (const row of rows) {
48430
+ const paddedLabel = row.label.padEnd(labelWidth);
48431
+ const valueLen = stripAnsi2(row.value).length;
48432
+ const paddedValue = row.value + " ".repeat(Math.max(0, valueWidth - valueLen));
48433
+ const content = ` ${paddedLabel} ${colorBorder(box.vertical)} ${paddedValue} `;
48434
+ lines.push(
48435
+ colorBorder(box.vertical) + content + colorBorder(box.vertical)
48436
+ );
48437
+ }
48438
+ lines.push(
48439
+ colorBorder(
48440
+ box.bottomLeft + box.horizontal.repeat(innerWidth) + box.bottomRight
48441
+ )
48442
+ );
48443
+ return lines;
48444
+ }
48445
+ function stripAnsi2(str) {
48446
+ return str.replace(/\x1b\[[0-9;]*m/g, "");
48447
+ }
48448
+ function buildConnectionInfo(profileName, apiUrl, hasToken, namespace, isConnected) {
48449
+ return {
48450
+ profileName,
48451
+ tenant: extractTenantFromUrl(apiUrl),
48452
+ apiUrl,
48453
+ hasToken,
48454
+ namespace,
48455
+ isConnected
48456
+ };
48457
+ }
48458
+
48342
48459
  // src/domains/login/profile/create.ts
48343
48460
  var createCommand2 = {
48344
48461
  name: "create",
@@ -48407,9 +48524,21 @@ var createCommand2 = {
48407
48524
  if (!result.success) {
48408
48525
  return errorResult(result.message);
48409
48526
  }
48527
+ const connectionInfo = buildConnectionInfo(
48528
+ name,
48529
+ apiUrl,
48530
+ true,
48531
+ // hasToken - we just saved it
48532
+ defaultNamespace || "default",
48533
+ false
48534
+ // Not connected yet - profile just created
48535
+ );
48536
+ const tableLines = formatConnectionTable(connectionInfo);
48410
48537
  return successResult([
48411
48538
  `Profile '${name}' created successfully.`,
48412
48539
  ``,
48540
+ ...tableLines,
48541
+ ``,
48413
48542
  `Use 'login profile use ${name}' to activate this profile.`
48414
48543
  ]);
48415
48544
  }
@@ -48434,12 +48563,16 @@ var useCommand = {
48434
48563
  return errorResult(`Profile '${name}' not found.`);
48435
48564
  }
48436
48565
  const profile = session.getActiveProfile();
48566
+ const connectionInfo = buildConnectionInfo(
48567
+ name,
48568
+ profile?.apiUrl || "",
48569
+ !!profile?.apiToken,
48570
+ profile?.defaultNamespace || session.getNamespace(),
48571
+ session.isAuthenticated()
48572
+ );
48573
+ const tableLines = formatConnectionTable(connectionInfo);
48437
48574
  return successResult(
48438
- [
48439
- `Switched to profile '${name}'.`,
48440
- profile?.apiUrl ? ` API URL: ${profile.apiUrl}` : "",
48441
- profile?.defaultNamespace ? ` Namespace: ${profile.defaultNamespace}` : ""
48442
- ].filter(Boolean),
48575
+ [`Switched to profile '${name}'.`, ``, ...tableLines],
48443
48576
  true
48444
48577
  // contextChanged - prompt should update
48445
48578
  );
@@ -52922,6 +53055,32 @@ program2.name(CLI_NAME).description("F5 Distributed Cloud Shell - Interactive CL
52922
53055
  await session.initialize();
52923
53056
  process.stdout.write("\r\x1B[K");
52924
53057
  renderBanner(cliLogoMode, "startup");
53058
+ const profiles = await session.getProfileManager().list();
53059
+ const envConfigured = process.env[`${ENV_PREFIX}_API_URL`] && process.env[`${ENV_PREFIX}_API_TOKEN`];
53060
+ if (profiles.length === 0 && !envConfigured) {
53061
+ console.log("");
53062
+ console.log(
53063
+ `${colors.yellow}No connection profiles found.${colors.reset}`
53064
+ );
53065
+ console.log("");
53066
+ console.log(
53067
+ "Create a profile to connect to F5 Distributed Cloud:"
53068
+ );
53069
+ console.log("");
53070
+ console.log(
53071
+ ` ${colors.blue}login profile create${colors.reset} <name> --url <api-url> --token <api-token>`
53072
+ );
53073
+ console.log("");
53074
+ console.log("Or set environment variables:");
53075
+ console.log("");
53076
+ console.log(
53077
+ ` ${colors.blue}export ${ENV_PREFIX}_API_URL${colors.reset}=https://tenant.console.ves.volterra.io`
53078
+ );
53079
+ console.log(
53080
+ ` ${colors.blue}export ${ENV_PREFIX}_API_TOKEN${colors.reset}=<your-api-token>`
53081
+ );
53082
+ console.log("");
53083
+ }
52925
53084
  process.stdin.resume();
52926
53085
  const appProps = { initialSession: session };
52927
53086
  render_default(/* @__PURE__ */ (0, import_jsx_runtime5.jsx)(App2, { ...appProps }));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@robinmordasiewicz/f5xc-xcsh",
3
- "version": "6.38.0",
3
+ "version": "6.39.0",
4
4
  "description": "F5 Distributed Cloud Shell - Interactive CLI for F5 XC",
5
5
  "type": "module",
6
6
  "bin": {