@f5xc-salesdemos/xcsh 18.62.0 → 18.63.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/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"type": "module",
|
|
3
3
|
"name": "@f5xc-salesdemos/xcsh",
|
|
4
|
-
"version": "18.
|
|
4
|
+
"version": "18.63.0",
|
|
5
5
|
"description": "Coding agent CLI with read, bash, edit, write tools and session management",
|
|
6
6
|
"homepage": "https://github.com/f5xc-salesdemos/xcsh",
|
|
7
7
|
"author": "Can Boluk",
|
|
@@ -48,12 +48,12 @@
|
|
|
48
48
|
"dependencies": {
|
|
49
49
|
"@agentclientprotocol/sdk": "0.16.1",
|
|
50
50
|
"@mozilla/readability": "^0.6",
|
|
51
|
-
"@f5xc-salesdemos/xcsh-stats": "18.
|
|
52
|
-
"@f5xc-salesdemos/pi-agent-core": "18.
|
|
53
|
-
"@f5xc-salesdemos/pi-ai": "18.
|
|
54
|
-
"@f5xc-salesdemos/pi-natives": "18.
|
|
55
|
-
"@f5xc-salesdemos/pi-tui": "18.
|
|
56
|
-
"@f5xc-salesdemos/pi-utils": "18.
|
|
51
|
+
"@f5xc-salesdemos/xcsh-stats": "18.63.0",
|
|
52
|
+
"@f5xc-salesdemos/pi-agent-core": "18.63.0",
|
|
53
|
+
"@f5xc-salesdemos/pi-ai": "18.63.0",
|
|
54
|
+
"@f5xc-salesdemos/pi-natives": "18.63.0",
|
|
55
|
+
"@f5xc-salesdemos/pi-tui": "18.63.0",
|
|
56
|
+
"@f5xc-salesdemos/pi-utils": "18.63.0",
|
|
57
57
|
"@sinclair/typebox": "^0.34",
|
|
58
58
|
"@xterm/headless": "^6.0",
|
|
59
59
|
"ajv": "^8.18",
|
|
@@ -151,6 +151,7 @@ function formatConstraints(constraints: Record<string, unknown> | undefined): st
|
|
|
151
151
|
}
|
|
152
152
|
if (constraints.format) parts.push(`format: ${constraints.format}`);
|
|
153
153
|
if (Array.isArray(constraints.enum)) parts.push(`enum: ${constraints.enum.join(", ")}`);
|
|
154
|
+
if (Array.isArray(constraints.enumValues)) parts.push(`enum: ${(constraints.enumValues as string[]).join(", ")}`);
|
|
154
155
|
const meta = constraints.metadata as Record<string, unknown> | undefined;
|
|
155
156
|
if (meta?.note) parts.push(`note: ${String(meta.note)}`);
|
|
156
157
|
return parts.length > 0 ? parts.join(", ") : "--";
|
|
@@ -252,17 +253,43 @@ function renderCatalogDetail(cat: ApiCatalogCategory, index: ApiCatalogIndex, op
|
|
|
252
253
|
const reqFor = formatRequiredFor(meta.required_for);
|
|
253
254
|
const def = sanitizeTableCell(formatDefault(meta.default, meta.serverDefault));
|
|
254
255
|
sections.push(`| ${field} | ${meta.type} | ${desc} | ${constraint} | ${reqFor} | ${def} |`);
|
|
256
|
+
// Render cross-field dependencies inline
|
|
257
|
+
if (meta.requires && meta.requires.length > 0) {
|
|
258
|
+
for (const dep of meta.requires) {
|
|
259
|
+
const depNote = dep.min_items != null ? ` (min_items: ${dep.min_items})` : "";
|
|
260
|
+
sections.push(
|
|
261
|
+
`| └─ ${field} | | **requires** ${dep.field}${depNote} | ${sanitizeTableCell(dep.reason ?? "")} | | |`,
|
|
262
|
+
);
|
|
263
|
+
}
|
|
264
|
+
}
|
|
265
|
+
// Render conflictsWith inline
|
|
266
|
+
if (meta.conflictsWith && meta.conflictsWith.length > 0) {
|
|
267
|
+
sections.push(`| └─ ${field} | | **conflicts with** ${meta.conflictsWith.join(", ")} | | | |`);
|
|
268
|
+
}
|
|
255
269
|
}
|
|
256
270
|
}
|
|
257
271
|
}
|
|
258
272
|
|
|
259
|
-
// OneOf
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
273
|
+
// OneOf Groups — combined recommendations + available variants
|
|
274
|
+
const hasRecs = op.oneOfRecommendations && Object.keys(op.oneOfRecommendations).length > 0;
|
|
275
|
+
const hasVariants = op.oneOfVariants && Object.keys(op.oneOfVariants).length > 0;
|
|
276
|
+
|
|
277
|
+
if (hasRecs || hasVariants) {
|
|
278
|
+
sections.push("", "### OneOf Groups", "");
|
|
279
|
+
sections.push("| Group | Recommended | Available Variants |");
|
|
280
|
+
sections.push("|-------|-------------|-------------------|");
|
|
281
|
+
|
|
282
|
+
// Merge all keys from both maps
|
|
283
|
+
const allGroups = new Set([
|
|
284
|
+
...Object.keys(op.oneOfRecommendations ?? {}),
|
|
285
|
+
...Object.keys(op.oneOfVariants ?? {}),
|
|
286
|
+
]);
|
|
287
|
+
|
|
288
|
+
for (const group of [...allGroups].sort()) {
|
|
289
|
+
const rec = op.oneOfRecommendations?.[group] ?? "--";
|
|
290
|
+
const variants = op.oneOfVariants?.[group];
|
|
291
|
+
const variantStr = variants ? variants.join(", ") : "--";
|
|
292
|
+
sections.push(`| ${group} | ${rec} | ${variantStr} |`);
|
|
266
293
|
}
|
|
267
294
|
}
|
|
268
295
|
|
|
@@ -33,6 +33,13 @@ export interface ApiCatalogFieldMeta {
|
|
|
33
33
|
readonly recommendedValue?: unknown;
|
|
34
34
|
readonly constraints?: Record<string, unknown>;
|
|
35
35
|
readonly conflictsWith?: readonly string[];
|
|
36
|
+
readonly requires?: ReadonlyArray<{
|
|
37
|
+
readonly field: string;
|
|
38
|
+
readonly required?: boolean;
|
|
39
|
+
readonly requires_field?: string;
|
|
40
|
+
readonly reason?: string;
|
|
41
|
+
readonly min_items?: number;
|
|
42
|
+
}>;
|
|
36
43
|
}
|
|
37
44
|
|
|
38
45
|
export interface ApiCatalogResponseField {
|
|
@@ -53,6 +60,7 @@ export interface ApiCatalogOperation {
|
|
|
53
60
|
readonly minimumPayload?: ApiCatalogMinimumPayload;
|
|
54
61
|
readonly fieldMetadata?: Readonly<Record<string, ApiCatalogFieldMeta>>;
|
|
55
62
|
readonly oneOfRecommendations?: Readonly<Record<string, string>>;
|
|
63
|
+
readonly oneOfVariants?: Readonly<Record<string, readonly string[]>>;
|
|
56
64
|
readonly responseSummary?: readonly ApiCatalogResponseField[];
|
|
57
65
|
}
|
|
58
66
|
|
|
@@ -17,17 +17,17 @@ export interface BuildInfo {
|
|
|
17
17
|
}
|
|
18
18
|
|
|
19
19
|
export const BUILD_INFO: BuildInfo = {
|
|
20
|
-
"version": "18.
|
|
21
|
-
"commit": "
|
|
22
|
-
"shortCommit": "
|
|
20
|
+
"version": "18.63.0",
|
|
21
|
+
"commit": "8d5a9fc0bb6d4a264e25e3066f29273b7f0a6760",
|
|
22
|
+
"shortCommit": "8d5a9fc",
|
|
23
23
|
"branch": "main",
|
|
24
|
-
"tag": "v18.
|
|
25
|
-
"commitDate": "2026-05-
|
|
26
|
-
"buildDate": "2026-05-
|
|
24
|
+
"tag": "v18.63.0",
|
|
25
|
+
"commitDate": "2026-05-11T07:20:24Z",
|
|
26
|
+
"buildDate": "2026-05-11T07:45:28.251Z",
|
|
27
27
|
"dirty": true,
|
|
28
28
|
"prNumber": "",
|
|
29
29
|
"repoUrl": "https://github.com/f5xc-salesdemos/xcsh",
|
|
30
30
|
"repoSlug": "f5xc-salesdemos/xcsh",
|
|
31
|
-
"commitUrl": "https://github.com/f5xc-salesdemos/xcsh/commit/
|
|
32
|
-
"releaseUrl": "https://github.com/f5xc-salesdemos/xcsh/releases/tag/v18.
|
|
31
|
+
"commitUrl": "https://github.com/f5xc-salesdemos/xcsh/commit/8d5a9fc0bb6d4a264e25e3066f29273b7f0a6760",
|
|
32
|
+
"releaseUrl": "https://github.com/f5xc-salesdemos/xcsh/releases/tag/v18.63.0"
|
|
33
33
|
};
|