@robinmordasiewicz/f5xc-xcsh 1.0.84-2601020342 → 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 +170 -166
- 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
|
@@ -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));
|