@robinmordasiewicz/f5xc-xcsh 1.0.84-2601020301 → 1.0.84-2601020527
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 +2 -2
- package/completions/xcsh.fish +1 -1
- package/dist/index.js +189 -185
- package/package.json +1 -1
package/completions/_xcsh
CHANGED
|
@@ -11,7 +11,7 @@ _xcsh() {
|
|
|
11
11
|
'(-h --help)'{-h,--help}'[Show help information]'
|
|
12
12
|
'(-v --version)'{-v,--version}'[Show version number]'
|
|
13
13
|
'--no-color[Disable color output]'
|
|
14
|
-
'(-o --output)'{-o,--output}'[Output format]:format:(json yaml table)'
|
|
14
|
+
'(-o --output)'{-o,--output}'[Output format]:format:(json yaml table text tsv none spec)'
|
|
15
15
|
'(-ns --namespace)'{-ns,--namespace}'[Namespace]:namespace:_xcsh_namespaces'
|
|
16
16
|
'--spec[Output command specification as JSON for AI assistants]'
|
|
17
17
|
)
|
|
@@ -221,7 +221,7 @@ _xcsh() {
|
|
|
221
221
|
action_opts=(
|
|
222
222
|
'(-n --name)'{-n,--name}'[Resource name]:name:'
|
|
223
223
|
'(-ns --namespace)'{-ns,--namespace}'[Namespace]:namespace:_xcsh_namespaces'
|
|
224
|
-
'(-o --output)'{-o,--output}'[Output format]:format:(json yaml table)'
|
|
224
|
+
'(-o --output)'{-o,--output}'[Output format]:format:(json yaml table text tsv none spec)'
|
|
225
225
|
'--limit[Maximum results]:limit:'
|
|
226
226
|
'--label[Filter by label]:label:'
|
|
227
227
|
'(-f --file)'{-f,--file}'[Configuration file]:file:_files'
|
package/completions/xcsh.fish
CHANGED
|
@@ -8,7 +8,7 @@ complete -c xcsh -f
|
|
|
8
8
|
complete -c xcsh -s h -l help -d 'Show help information'
|
|
9
9
|
complete -c xcsh -s v -l version -d 'Show version number'
|
|
10
10
|
complete -c xcsh -l no-color -d 'Disable color output'
|
|
11
|
-
complete -c xcsh -s o -l output -d 'Output format' -xa 'json yaml table'
|
|
11
|
+
complete -c xcsh -s o -l output -d 'Output format' -xa 'json yaml table text tsv none spec'
|
|
12
12
|
complete -c xcsh -l namespace -s ns -d 'Namespace' -xa 'default system shared'
|
|
13
13
|
complete -c xcsh -l spec -d 'Output command specification as JSON for AI assistants'
|
|
14
14
|
|
package/dist/index.js
CHANGED
|
@@ -46435,41 +46435,41 @@ var HistoryManager = class _HistoryManager {
|
|
|
46435
46435
|
// src/domains/descriptions.generated.ts
|
|
46436
46436
|
var generatedDescriptions = {
|
|
46437
46437
|
version: "1.0.0",
|
|
46438
|
-
generatedAt: "
|
|
46438
|
+
generatedAt: "2026-01-02T03:29:16.852Z",
|
|
46439
46439
|
cli: {
|
|
46440
46440
|
"xcsh": {
|
|
46441
|
-
short: "
|
|
46442
|
-
medium: "Manage
|
|
46443
|
-
long: "
|
|
46441
|
+
short: "Configure multi-cloud application delivery services",
|
|
46442
|
+
medium: "Manage load balancers, security policies, DNS routing, and cloud site provisioning across hybrid environments.",
|
|
46443
|
+
long: "Deploy distributed application infrastructure spanning AWS, Azure, GCP, and edge locations. Create origin pools with health monitoring and traffic management. Apply WAF rules, bot mitigation, and DDoS protection. Set up DNS zones supporting geographic and weighted routing strategies. Establish network segmentation and service mesh configurations. Monitor performance through observability dashboards. Validate subscription quotas before resource creation. Generate JSON output for CI/CD pipeline integration."
|
|
46444
46444
|
}
|
|
46445
46445
|
},
|
|
46446
46446
|
domains: {
|
|
46447
46447
|
"login": {
|
|
46448
|
-
short: "Configure
|
|
46449
|
-
medium: "Set up authentication
|
|
46450
|
-
long: "
|
|
46448
|
+
short: "Configure credentials, profiles, and session context",
|
|
46449
|
+
medium: "Set up authentication credentials, organize named profiles for different environments, and control which connection applies to subsequent operations.",
|
|
46450
|
+
long: "Handle authentication and session configuration for CLI operations. Create named profiles to maintain separate credentials for development, staging, and production environments. View current authentication status with 'show', organize credentials using 'profile', switch active connections with 'context', and display session information via 'banner'. Profiles store tokens and target URLs, enabling quick environment switching without re-entering credentials.",
|
|
46451
46451
|
subcommands: {
|
|
46452
46452
|
"profile": {
|
|
46453
|
-
short: "Manage saved
|
|
46454
|
-
medium: "Store and
|
|
46455
|
-
long: "Organize tenant
|
|
46453
|
+
short: "Manage saved authentication credentials for tenants",
|
|
46454
|
+
medium: "Store named configurations with URLs and tokens for quick switching between staging, production, and development environments.",
|
|
46455
|
+
long: "Organize credentials and tenant configurations in named entries for streamlined environment management. Create entries to store connection URLs and tokens, list available configurations, switch between active contexts, and remove outdated items. Settings persist across sessions, eliminating repeated credential entry when working with multiple tenants. Use the active command to display the current selection, or switch contexts with the use command for immediate environment changes."
|
|
46456
46456
|
},
|
|
46457
46457
|
"context": {
|
|
46458
|
-
short: "Manage default namespace for
|
|
46459
|
-
medium: "Configure and
|
|
46460
|
-
long: "
|
|
46458
|
+
short: "Manage default namespace scope for CLI operations",
|
|
46459
|
+
medium: "Configure and switch between namespace settings that control the default boundary for all commands.",
|
|
46460
|
+
long: "Organize resources into logical groupings through namespace scope management. Setting a default namespace eliminates the need to pass --namespace on every command, streamlining workflows when operating within a single boundary for extended periods. Use 'show' to display current settings, 'set' to change the active namespace, and 'list' to view available options. These preferences persist across sessions until explicitly changed."
|
|
46461
46461
|
}
|
|
46462
46462
|
}
|
|
46463
46463
|
},
|
|
46464
46464
|
"cloudstatus": {
|
|
46465
|
-
short: "
|
|
46466
|
-
medium: "
|
|
46467
|
-
long: "
|
|
46465
|
+
short: "Track service health and operational incidents",
|
|
46466
|
+
medium: "Display real-time platform availability, active incident reports, scheduled maintenance windows, and component status across global regions.",
|
|
46467
|
+
long: "Query operational health for infrastructure components and services. Retrieve active incident details with severity levels and resolution timelines. List upcoming maintenance windows and generate status summaries. Filter results by component type, geographic region, or time range. Output formats support automation workflows and alerting integrations. Commands include status overview, component breakdown, incident history, and maintenance schedules."
|
|
46468
46468
|
},
|
|
46469
46469
|
"completion": {
|
|
46470
|
-
short: "Generate tab-
|
|
46471
|
-
medium: "Create
|
|
46472
|
-
long: "
|
|
46470
|
+
short: "Generate tab-completion scripts for popular shells",
|
|
46471
|
+
medium: "Create autocompletion support for bash, zsh, and fish terminals enabling tab-triggered command and flag discovery.",
|
|
46472
|
+
long: "Build shell integration scripts that activate tab-triggered suggestions in your terminal environment. Supports bash, zsh, and fish with automatic command discovery, flag hints, and argument recommendations. Install the generated output in your shell's configuration directory to enable this functionality. Each supported shell includes tailored setup instructions and behaviors matching its native conventions for seamless integration."
|
|
46473
46473
|
}
|
|
46474
46474
|
}
|
|
46475
46475
|
};
|
|
@@ -46620,8 +46620,8 @@ function getLogoModeFromEnv(envPrefix) {
|
|
|
46620
46620
|
var CLI_NAME = "xcsh";
|
|
46621
46621
|
var CLI_FULL_NAME = "F5 Distributed Cloud Shell";
|
|
46622
46622
|
function getVersion() {
|
|
46623
|
-
if ("v1.0.84-
|
|
46624
|
-
return "v1.0.84-
|
|
46623
|
+
if ("v1.0.84-2601020527") {
|
|
46624
|
+
return "v1.0.84-2601020527";
|
|
46625
46625
|
}
|
|
46626
46626
|
if (process.env.XCSH_VERSION) {
|
|
46627
46627
|
return process.env.XCSH_VERSION;
|
|
@@ -47363,6 +47363,16 @@ var APIClient = class {
|
|
|
47363
47363
|
var import_yaml2 = __toESM(require_dist(), 1);
|
|
47364
47364
|
|
|
47365
47365
|
// src/output/types.ts
|
|
47366
|
+
var ALL_OUTPUT_FORMATS = [
|
|
47367
|
+
"json",
|
|
47368
|
+
"yaml",
|
|
47369
|
+
"table",
|
|
47370
|
+
"text",
|
|
47371
|
+
"tsv",
|
|
47372
|
+
"none",
|
|
47373
|
+
"spec"
|
|
47374
|
+
];
|
|
47375
|
+
var OUTPUT_FORMAT_HELP = ALL_OUTPUT_FORMATS.join(", ");
|
|
47366
47376
|
var DEFAULT_TABLE_STYLE = {
|
|
47367
47377
|
unicode: true,
|
|
47368
47378
|
coloredBorders: true,
|
|
@@ -47374,7 +47384,7 @@ var PLAIN_TABLE_STYLE = {
|
|
|
47374
47384
|
headerStyle: "normal"
|
|
47375
47385
|
};
|
|
47376
47386
|
function isValidOutputFormat(format) {
|
|
47377
|
-
return
|
|
47387
|
+
return ALL_OUTPUT_FORMATS.includes(
|
|
47378
47388
|
format.toLowerCase()
|
|
47379
47389
|
);
|
|
47380
47390
|
}
|
|
@@ -48000,6 +48010,140 @@ function formatLabel(key) {
|
|
|
48000
48010
|
return withSpaces.charAt(0).toUpperCase() + withSpaces.slice(1);
|
|
48001
48011
|
}
|
|
48002
48012
|
|
|
48013
|
+
// src/cloudstatus/types.ts
|
|
48014
|
+
var BASE_URL = "https://www.f5cloudstatus.com/api/v2";
|
|
48015
|
+
var StatusIndicator = {
|
|
48016
|
+
None: "none",
|
|
48017
|
+
Minor: "minor",
|
|
48018
|
+
Major: "major",
|
|
48019
|
+
Critical: "critical",
|
|
48020
|
+
Maintenance: "maintenance"
|
|
48021
|
+
};
|
|
48022
|
+
var ComponentStatus = {
|
|
48023
|
+
Operational: "operational",
|
|
48024
|
+
DegradedPerformance: "degraded_performance",
|
|
48025
|
+
PartialOutage: "partial_outage",
|
|
48026
|
+
MajorOutage: "major_outage",
|
|
48027
|
+
UnderMaintenance: "under_maintenance"
|
|
48028
|
+
};
|
|
48029
|
+
var IncidentStatus = {
|
|
48030
|
+
Investigating: "investigating",
|
|
48031
|
+
Identified: "identified",
|
|
48032
|
+
Monitoring: "monitoring",
|
|
48033
|
+
Resolved: "resolved",
|
|
48034
|
+
Postmortem: "postmortem"
|
|
48035
|
+
};
|
|
48036
|
+
var MaintenanceStatus = {
|
|
48037
|
+
Scheduled: "scheduled",
|
|
48038
|
+
InProgress: "in_progress",
|
|
48039
|
+
Verifying: "verifying",
|
|
48040
|
+
Completed: "completed"
|
|
48041
|
+
};
|
|
48042
|
+
var ExitCode = {
|
|
48043
|
+
Healthy: 0,
|
|
48044
|
+
Minor: 1,
|
|
48045
|
+
Major: 2,
|
|
48046
|
+
Critical: 3,
|
|
48047
|
+
Maintenance: 4,
|
|
48048
|
+
APIError: 10,
|
|
48049
|
+
ParseError: 11
|
|
48050
|
+
};
|
|
48051
|
+
var EXIT_CODE_HELP = Object.entries(ExitCode).filter(([, v]) => typeof v === "number" && v < 10).map(([k, v]) => `${v}=${k.toLowerCase()}`).join(", ");
|
|
48052
|
+
var PredefinedRegions = [
|
|
48053
|
+
{
|
|
48054
|
+
id: "north-america",
|
|
48055
|
+
name: "north-america",
|
|
48056
|
+
displayName: "North America"
|
|
48057
|
+
},
|
|
48058
|
+
{
|
|
48059
|
+
id: "south-america",
|
|
48060
|
+
name: "south-america",
|
|
48061
|
+
displayName: "South America"
|
|
48062
|
+
},
|
|
48063
|
+
{ id: "europe", name: "europe", displayName: "Europe" },
|
|
48064
|
+
{ id: "asia", name: "asia", displayName: "Asia" },
|
|
48065
|
+
{ id: "oceania", name: "oceania", displayName: "Oceania" },
|
|
48066
|
+
{ id: "middle-east", name: "middle-east", displayName: "Middle East" }
|
|
48067
|
+
];
|
|
48068
|
+
function isComponentOperational(component) {
|
|
48069
|
+
return component.status === ComponentStatus.Operational;
|
|
48070
|
+
}
|
|
48071
|
+
function isComponentDegraded(component) {
|
|
48072
|
+
return component.status !== ComponentStatus.Operational;
|
|
48073
|
+
}
|
|
48074
|
+
function isIncidentResolved(incident) {
|
|
48075
|
+
return incident.status === IncidentStatus.Resolved || incident.status === IncidentStatus.Postmortem;
|
|
48076
|
+
}
|
|
48077
|
+
function isIncidentActive(incident) {
|
|
48078
|
+
return !isIncidentResolved(incident);
|
|
48079
|
+
}
|
|
48080
|
+
function isMaintenanceUpcoming(maint) {
|
|
48081
|
+
return maint.status === MaintenanceStatus.Scheduled;
|
|
48082
|
+
}
|
|
48083
|
+
function isMaintenanceActive(maint) {
|
|
48084
|
+
return maint.status === MaintenanceStatus.InProgress || maint.status === MaintenanceStatus.Verifying;
|
|
48085
|
+
}
|
|
48086
|
+
function isMaintenanceCompleted(maint) {
|
|
48087
|
+
return maint.status === MaintenanceStatus.Completed;
|
|
48088
|
+
}
|
|
48089
|
+
function statusIndicatorToExitCode(indicator) {
|
|
48090
|
+
switch (indicator) {
|
|
48091
|
+
case StatusIndicator.None:
|
|
48092
|
+
return ExitCode.Healthy;
|
|
48093
|
+
case StatusIndicator.Minor:
|
|
48094
|
+
return ExitCode.Minor;
|
|
48095
|
+
case StatusIndicator.Major:
|
|
48096
|
+
return ExitCode.Major;
|
|
48097
|
+
case StatusIndicator.Critical:
|
|
48098
|
+
return ExitCode.Critical;
|
|
48099
|
+
case StatusIndicator.Maintenance:
|
|
48100
|
+
return ExitCode.Maintenance;
|
|
48101
|
+
default:
|
|
48102
|
+
return ExitCode.Healthy;
|
|
48103
|
+
}
|
|
48104
|
+
}
|
|
48105
|
+
|
|
48106
|
+
// src/config/settings.ts
|
|
48107
|
+
var import_yaml3 = __toESM(require_dist(), 1);
|
|
48108
|
+
var LOGO_MODES = [
|
|
48109
|
+
{
|
|
48110
|
+
mode: "image",
|
|
48111
|
+
description: "Image if terminal supports, else ASCII (default)"
|
|
48112
|
+
},
|
|
48113
|
+
{ mode: "ascii", description: "ASCII art only" },
|
|
48114
|
+
{ mode: "none", description: "No logo" }
|
|
48115
|
+
];
|
|
48116
|
+
var LOGO_MODE_HELP = LOGO_MODES.map((m) => m.mode).join(", ");
|
|
48117
|
+
var DEFAULT_SETTINGS = {
|
|
48118
|
+
logo: "image"
|
|
48119
|
+
};
|
|
48120
|
+
function isValidLogoMode(mode) {
|
|
48121
|
+
return LOGO_MODES.some((m) => m.mode === mode);
|
|
48122
|
+
}
|
|
48123
|
+
function validateSettings(settings) {
|
|
48124
|
+
const validated = {};
|
|
48125
|
+
if (settings.logo && isValidLogoMode(settings.logo)) {
|
|
48126
|
+
validated.logo = settings.logo;
|
|
48127
|
+
}
|
|
48128
|
+
return validated;
|
|
48129
|
+
}
|
|
48130
|
+
function loadSettingsSync() {
|
|
48131
|
+
const configPath = paths.settings;
|
|
48132
|
+
try {
|
|
48133
|
+
const content = __require("fs").readFileSync(
|
|
48134
|
+
configPath,
|
|
48135
|
+
"utf-8"
|
|
48136
|
+
);
|
|
48137
|
+
const parsed = import_yaml3.default.parse(content);
|
|
48138
|
+
return {
|
|
48139
|
+
...DEFAULT_SETTINGS,
|
|
48140
|
+
...validateSettings(parsed)
|
|
48141
|
+
};
|
|
48142
|
+
} catch {
|
|
48143
|
+
return DEFAULT_SETTINGS;
|
|
48144
|
+
}
|
|
48145
|
+
}
|
|
48146
|
+
|
|
48003
48147
|
// src/config/envvars.ts
|
|
48004
48148
|
var EnvVarRegistry = [
|
|
48005
48149
|
{
|
|
@@ -48021,12 +48165,12 @@ var EnvVarRegistry = [
|
|
|
48021
48165
|
},
|
|
48022
48166
|
{
|
|
48023
48167
|
name: `${ENV_PREFIX}_OUTPUT_FORMAT`,
|
|
48024
|
-
description:
|
|
48168
|
+
description: `Output format (${OUTPUT_FORMAT_HELP})`,
|
|
48025
48169
|
relatedFlag: "-o"
|
|
48026
48170
|
},
|
|
48027
48171
|
{
|
|
48028
48172
|
name: `${ENV_PREFIX}_LOGO`,
|
|
48029
|
-
description:
|
|
48173
|
+
description: `Logo display mode (${LOGO_MODE_HELP})`,
|
|
48030
48174
|
relatedFlag: "--logo"
|
|
48031
48175
|
},
|
|
48032
48176
|
{
|
|
@@ -142254,7 +142398,7 @@ function formatGlobalFlags() {
|
|
|
142254
142398
|
" -v, --version Show version number",
|
|
142255
142399
|
" -h, --help Show this help",
|
|
142256
142400
|
" --no-color Disable color output",
|
|
142257
|
-
|
|
142401
|
+
` -o, --output <fmt> Output format (${OUTPUT_FORMAT_HELP})`,
|
|
142258
142402
|
" -ns, --namespace <ns> Target namespace",
|
|
142259
142403
|
" --spec Output command specification as JSON (for AI)"
|
|
142260
142404
|
];
|
|
@@ -142462,7 +142606,9 @@ function formatActionHelp(domainName, action) {
|
|
|
142462
142606
|
output.push("OPTIONS");
|
|
142463
142607
|
output.push(" -n, --name <name> Resource name");
|
|
142464
142608
|
output.push(" -ns, --namespace <ns> Target namespace");
|
|
142465
|
-
output.push(
|
|
142609
|
+
output.push(
|
|
142610
|
+
` -o, --output <fmt> Output format (${OUTPUT_FORMAT_HELP})`
|
|
142611
|
+
);
|
|
142466
142612
|
output.push(" -f, --file <path> Configuration file");
|
|
142467
142613
|
output.push("");
|
|
142468
142614
|
if (opInfo?.externalDocs) {
|
|
@@ -142904,7 +143050,7 @@ function buildCommandSpec(options) {
|
|
|
142904
143050
|
usage: options.usage ?? `xcsh ${options.command} [options]`,
|
|
142905
143051
|
flags: options.flags ?? [],
|
|
142906
143052
|
examples: options.examples ?? [],
|
|
142907
|
-
outputFormats: options.outputFormats ?? [
|
|
143053
|
+
outputFormats: options.outputFormats ?? [...ALL_OUTPUT_FORMATS]
|
|
142908
143054
|
};
|
|
142909
143055
|
if (options.related !== void 0) {
|
|
142910
143056
|
spec.related = options.related;
|
|
@@ -142924,7 +143070,7 @@ var GLOBAL_FLAGS = [
|
|
|
142924
143070
|
description: "Output format",
|
|
142925
143071
|
type: "string",
|
|
142926
143072
|
default: "table",
|
|
142927
|
-
choices: [
|
|
143073
|
+
choices: [...ALL_OUTPUT_FORMATS]
|
|
142928
143074
|
},
|
|
142929
143075
|
{
|
|
142930
143076
|
name: "--namespace",
|
|
@@ -142966,7 +143112,7 @@ function buildCloudstatusSpecs() {
|
|
|
142966
143112
|
{
|
|
142967
143113
|
name: "--quiet",
|
|
142968
143114
|
alias: "-q",
|
|
142969
|
-
description:
|
|
143115
|
+
description: `Return exit code only (${EXIT_CODE_HELP})`,
|
|
142970
143116
|
type: "boolean"
|
|
142971
143117
|
}
|
|
142972
143118
|
],
|
|
@@ -145154,46 +145300,6 @@ var contextSubcommands = {
|
|
|
145154
145300
|
])
|
|
145155
145301
|
};
|
|
145156
145302
|
|
|
145157
|
-
// src/config/settings.ts
|
|
145158
|
-
var import_yaml3 = __toESM(require_dist(), 1);
|
|
145159
|
-
var LOGO_MODES = [
|
|
145160
|
-
{
|
|
145161
|
-
mode: "image",
|
|
145162
|
-
description: "Image if terminal supports, else ASCII (default)"
|
|
145163
|
-
},
|
|
145164
|
-
{ mode: "ascii", description: "ASCII art only" },
|
|
145165
|
-
{ mode: "none", description: "No logo" }
|
|
145166
|
-
];
|
|
145167
|
-
var DEFAULT_SETTINGS = {
|
|
145168
|
-
logo: "image"
|
|
145169
|
-
};
|
|
145170
|
-
function isValidLogoMode(mode) {
|
|
145171
|
-
return LOGO_MODES.some((m) => m.mode === mode);
|
|
145172
|
-
}
|
|
145173
|
-
function validateSettings(settings) {
|
|
145174
|
-
const validated = {};
|
|
145175
|
-
if (settings.logo && isValidLogoMode(settings.logo)) {
|
|
145176
|
-
validated.logo = settings.logo;
|
|
145177
|
-
}
|
|
145178
|
-
return validated;
|
|
145179
|
-
}
|
|
145180
|
-
function loadSettingsSync() {
|
|
145181
|
-
const configPath = paths.settings;
|
|
145182
|
-
try {
|
|
145183
|
-
const content = __require("fs").readFileSync(
|
|
145184
|
-
configPath,
|
|
145185
|
-
"utf-8"
|
|
145186
|
-
);
|
|
145187
|
-
const parsed = import_yaml3.default.parse(content);
|
|
145188
|
-
return {
|
|
145189
|
-
...DEFAULT_SETTINGS,
|
|
145190
|
-
...validateSettings(parsed)
|
|
145191
|
-
};
|
|
145192
|
-
} catch {
|
|
145193
|
-
return DEFAULT_SETTINGS;
|
|
145194
|
-
}
|
|
145195
|
-
}
|
|
145196
|
-
|
|
145197
145303
|
// src/domains/login/banner/display.ts
|
|
145198
145304
|
function colorizeLogoLine(line) {
|
|
145199
145305
|
let result = "";
|
|
@@ -145771,98 +145877,6 @@ var loginDomain = {
|
|
|
145771
145877
|
])
|
|
145772
145878
|
};
|
|
145773
145879
|
|
|
145774
|
-
// src/cloudstatus/types.ts
|
|
145775
|
-
var BASE_URL = "https://www.f5cloudstatus.com/api/v2";
|
|
145776
|
-
var StatusIndicator = {
|
|
145777
|
-
None: "none",
|
|
145778
|
-
Minor: "minor",
|
|
145779
|
-
Major: "major",
|
|
145780
|
-
Critical: "critical",
|
|
145781
|
-
Maintenance: "maintenance"
|
|
145782
|
-
};
|
|
145783
|
-
var ComponentStatus = {
|
|
145784
|
-
Operational: "operational",
|
|
145785
|
-
DegradedPerformance: "degraded_performance",
|
|
145786
|
-
PartialOutage: "partial_outage",
|
|
145787
|
-
MajorOutage: "major_outage",
|
|
145788
|
-
UnderMaintenance: "under_maintenance"
|
|
145789
|
-
};
|
|
145790
|
-
var IncidentStatus = {
|
|
145791
|
-
Investigating: "investigating",
|
|
145792
|
-
Identified: "identified",
|
|
145793
|
-
Monitoring: "monitoring",
|
|
145794
|
-
Resolved: "resolved",
|
|
145795
|
-
Postmortem: "postmortem"
|
|
145796
|
-
};
|
|
145797
|
-
var MaintenanceStatus = {
|
|
145798
|
-
Scheduled: "scheduled",
|
|
145799
|
-
InProgress: "in_progress",
|
|
145800
|
-
Verifying: "verifying",
|
|
145801
|
-
Completed: "completed"
|
|
145802
|
-
};
|
|
145803
|
-
var ExitCode = {
|
|
145804
|
-
Healthy: 0,
|
|
145805
|
-
Minor: 1,
|
|
145806
|
-
Major: 2,
|
|
145807
|
-
Critical: 3,
|
|
145808
|
-
Maintenance: 4,
|
|
145809
|
-
APIError: 10,
|
|
145810
|
-
ParseError: 11
|
|
145811
|
-
};
|
|
145812
|
-
var PredefinedRegions = [
|
|
145813
|
-
{
|
|
145814
|
-
id: "north-america",
|
|
145815
|
-
name: "north-america",
|
|
145816
|
-
displayName: "North America"
|
|
145817
|
-
},
|
|
145818
|
-
{
|
|
145819
|
-
id: "south-america",
|
|
145820
|
-
name: "south-america",
|
|
145821
|
-
displayName: "South America"
|
|
145822
|
-
},
|
|
145823
|
-
{ id: "europe", name: "europe", displayName: "Europe" },
|
|
145824
|
-
{ id: "asia", name: "asia", displayName: "Asia" },
|
|
145825
|
-
{ id: "oceania", name: "oceania", displayName: "Oceania" },
|
|
145826
|
-
{ id: "middle-east", name: "middle-east", displayName: "Middle East" }
|
|
145827
|
-
];
|
|
145828
|
-
function isComponentOperational(component) {
|
|
145829
|
-
return component.status === ComponentStatus.Operational;
|
|
145830
|
-
}
|
|
145831
|
-
function isComponentDegraded(component) {
|
|
145832
|
-
return component.status !== ComponentStatus.Operational;
|
|
145833
|
-
}
|
|
145834
|
-
function isIncidentResolved(incident) {
|
|
145835
|
-
return incident.status === IncidentStatus.Resolved || incident.status === IncidentStatus.Postmortem;
|
|
145836
|
-
}
|
|
145837
|
-
function isIncidentActive(incident) {
|
|
145838
|
-
return !isIncidentResolved(incident);
|
|
145839
|
-
}
|
|
145840
|
-
function isMaintenanceUpcoming(maint) {
|
|
145841
|
-
return maint.status === MaintenanceStatus.Scheduled;
|
|
145842
|
-
}
|
|
145843
|
-
function isMaintenanceActive(maint) {
|
|
145844
|
-
return maint.status === MaintenanceStatus.InProgress || maint.status === MaintenanceStatus.Verifying;
|
|
145845
|
-
}
|
|
145846
|
-
function isMaintenanceCompleted(maint) {
|
|
145847
|
-
return maint.status === MaintenanceStatus.Completed;
|
|
145848
|
-
}
|
|
145849
|
-
function statusIndicatorToExitCode(indicator) {
|
|
145850
|
-
switch (indicator) {
|
|
145851
|
-
case StatusIndicator.None:
|
|
145852
|
-
return ExitCode.Healthy;
|
|
145853
|
-
case StatusIndicator.Minor:
|
|
145854
|
-
return ExitCode.Minor;
|
|
145855
|
-
case StatusIndicator.Major:
|
|
145856
|
-
return ExitCode.Major;
|
|
145857
|
-
case StatusIndicator.Critical:
|
|
145858
|
-
return ExitCode.Critical;
|
|
145859
|
-
case StatusIndicator.Maintenance:
|
|
145860
|
-
return ExitCode.Maintenance;
|
|
145861
|
-
default:
|
|
145862
|
-
return ExitCode.Healthy;
|
|
145863
|
-
}
|
|
145864
|
-
}
|
|
145865
|
-
|
|
145866
145880
|
// src/cloudstatus/client.ts
|
|
145867
145881
|
var Cache = class {
|
|
145868
145882
|
entries = /* @__PURE__ */ new Map();
|
|
@@ -146902,7 +146916,7 @@ _xcsh() {
|
|
|
146902
146916
|
'(-h --help)'{-h,--help}'[Show help information]'
|
|
146903
146917
|
'(-v --version)'{-v,--version}'[Show version number]'
|
|
146904
146918
|
'--no-color[Disable color output]'
|
|
146905
|
-
'(-o --output)'{-o,--output}'[Output format]:format:(
|
|
146919
|
+
'(-o --output)'{-o,--output}'[Output format]:format:(${ALL_OUTPUT_FORMATS.join(" ")})'
|
|
146906
146920
|
'(-ns --namespace)'{-ns,--namespace}'[Namespace]:namespace:_xcsh_namespaces'
|
|
146907
146921
|
'--spec[Output command specification as JSON for AI assistants]'
|
|
146908
146922
|
)
|
|
@@ -146951,7 +146965,7 @@ ${customDomainCompletions.join("\n")}
|
|
|
146951
146965
|
action_opts=(
|
|
146952
146966
|
'(-n --name)'{-n,--name}'[Resource name]:name:'
|
|
146953
146967
|
'(-ns --namespace)'{-ns,--namespace}'[Namespace]:namespace:_xcsh_namespaces'
|
|
146954
|
-
'(-o --output)'{-o,--output}'[Output format]:format:(
|
|
146968
|
+
'(-o --output)'{-o,--output}'[Output format]:format:(${ALL_OUTPUT_FORMATS.join(" ")})'
|
|
146955
146969
|
'--limit[Maximum results]:limit:'
|
|
146956
146970
|
'--label[Filter by label]:label:'
|
|
146957
146971
|
'(-f --file)'{-f,--file}'[Configuration file]:file:_files'
|
|
@@ -147017,7 +147031,7 @@ complete -c xcsh -f
|
|
|
147017
147031
|
complete -c xcsh -s h -l help -d 'Show help information'
|
|
147018
147032
|
complete -c xcsh -s v -l version -d 'Show version number'
|
|
147019
147033
|
complete -c xcsh -l no-color -d 'Disable color output'
|
|
147020
|
-
complete -c xcsh -s o -l output -d 'Output format' -xa '
|
|
147034
|
+
complete -c xcsh -s o -l output -d 'Output format' -xa '${ALL_OUTPUT_FORMATS.join(" ")}'
|
|
147021
147035
|
complete -c xcsh -l namespace -s ns -d 'Namespace' -xa 'default system shared'
|
|
147022
147036
|
complete -c xcsh -l spec -d 'Output command specification as JSON for AI assistants'
|
|
147023
147037
|
|
|
@@ -147908,7 +147922,7 @@ var Completer = class {
|
|
|
147908
147922
|
{ text: "--namespace", description: "Namespace", category: "flag" },
|
|
147909
147923
|
{
|
|
147910
147924
|
text: "--output",
|
|
147911
|
-
description:
|
|
147925
|
+
description: `Output format (${OUTPUT_FORMAT_HELP})`,
|
|
147912
147926
|
category: "flag"
|
|
147913
147927
|
},
|
|
147914
147928
|
{
|
|
@@ -147996,23 +148010,13 @@ var Completer = class {
|
|
|
147996
148010
|
switch (flag) {
|
|
147997
148011
|
case "--output":
|
|
147998
148012
|
case "-o":
|
|
147999
|
-
return
|
|
148000
|
-
|
|
148001
|
-
|
|
148002
|
-
|
|
148003
|
-
|
|
148004
|
-
|
|
148005
|
-
|
|
148006
|
-
text: "yaml",
|
|
148007
|
-
description: "YAML format",
|
|
148008
|
-
category: "value"
|
|
148009
|
-
},
|
|
148010
|
-
{
|
|
148011
|
-
text: "table",
|
|
148012
|
-
description: "Table format",
|
|
148013
|
-
category: "value"
|
|
148014
|
-
}
|
|
148015
|
-
].filter((s) => s.text.toLowerCase().startsWith(lowerPartial));
|
|
148013
|
+
return ALL_OUTPUT_FORMATS.map((fmt) => ({
|
|
148014
|
+
text: fmt,
|
|
148015
|
+
description: `${fmt.toUpperCase()} format`,
|
|
148016
|
+
category: "value"
|
|
148017
|
+
})).filter(
|
|
148018
|
+
(s) => s.text.toLowerCase().startsWith(lowerPartial)
|
|
148019
|
+
);
|
|
148016
148020
|
case "--namespace":
|
|
148017
148021
|
case "-ns":
|
|
148018
148022
|
return this.completeNamespace(valuePartial);
|
|
@@ -149034,7 +149038,7 @@ Suggestion: Use --namespace ${nsValidation.suggestion}` : "";
|
|
|
149034
149038
|
name: "--output",
|
|
149035
149039
|
alias: "-o",
|
|
149036
149040
|
type: "string",
|
|
149037
|
-
description:
|
|
149041
|
+
description: `Output format (${OUTPUT_FORMAT_HELP})`
|
|
149038
149042
|
},
|
|
149039
149043
|
{
|
|
149040
149044
|
name: "--name",
|
|
@@ -149042,7 +149046,7 @@ Suggestion: Use --namespace ${nsValidation.suggestion}` : "";
|
|
|
149042
149046
|
description: "Resource name"
|
|
149043
149047
|
}
|
|
149044
149048
|
],
|
|
149045
|
-
outputFormats: [
|
|
149049
|
+
outputFormats: [...ALL_OUTPUT_FORMATS]
|
|
149046
149050
|
};
|
|
149047
149051
|
return {
|
|
149048
149052
|
output: [JSON.stringify(basicSpec, null, 2)],
|
|
@@ -149951,7 +149955,7 @@ var program2 = new Command();
|
|
|
149951
149955
|
program2.configureHelp({
|
|
149952
149956
|
formatHelp: () => formatRootHelp().join("\n")
|
|
149953
149957
|
});
|
|
149954
|
-
program2.name(CLI_NAME).description("F5 Distributed Cloud Shell - Interactive CLI for F5 XC").version(CLI_VERSION, "-v, --version", "Show version number").option("--no-color", "Disable color output").option("--logo <mode>",
|
|
149958
|
+
program2.name(CLI_NAME).description("F5 Distributed Cloud Shell - Interactive CLI for F5 XC").version(CLI_VERSION, "-v, --version", "Show version number").option("--no-color", "Disable color output").option("--logo <mode>", `Logo display mode: ${LOGO_MODE_HELP}`).option("-o, --output <format>", `Output format (${OUTPUT_FORMAT_HELP})`).option("--spec", "Output command specification as JSON (for AI)").option("--headless", "Run in headless JSON protocol mode (for AI agents)").option("-h, --help", "Show help").argument("[command...]", "Command to execute non-interactively").allowUnknownOption(true).helpOption(false).action(
|
|
149955
149959
|
async (commandArgs, options) => {
|
|
149956
149960
|
if (options.help && commandArgs.length === 0) {
|
|
149957
149961
|
formatRootHelp().forEach((line) => console.log(line));
|