@f5-sales-demo/xcsh 20.8.1 → 20.8.2
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 +8 -8
- package/src/cli/office-cli.ts +1 -1
- package/src/config/settings-schema.ts +83 -0
- package/src/internal-urls/build-info.generated.ts +8 -8
- package/src/internal-urls/docs-index.generated.ts +74 -73
- package/src/routing/classifier.ts +80 -0
- package/src/routing/commands.ts +61 -0
- package/src/routing/context-filter.ts +15 -0
- package/src/routing/coordinator.ts +195 -0
- package/src/routing/delegation.ts +72 -0
- package/src/routing/effort.ts +14 -0
- package/src/routing/events.ts +77 -0
- package/src/routing/index.ts +13 -0
- package/src/routing/presets.ts +164 -0
- package/src/routing/profiler.ts +109 -0
- package/src/routing/resolver.ts +115 -0
- package/src/routing/state-machine.ts +107 -0
- package/src/routing/types.ts +108 -0
- package/src/session/agent-session.ts +357 -4
- package/src/slash-commands/builtin-registry.ts +30 -0
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"type": "module",
|
|
3
3
|
"name": "@f5-sales-demo/xcsh",
|
|
4
|
-
"version": "20.8.
|
|
4
|
+
"version": "20.8.2",
|
|
5
5
|
"description": "Coding agent CLI with read, bash, edit, write tools and session management",
|
|
6
6
|
"homepage": "https://github.com/f5-sales-demo/xcsh",
|
|
7
7
|
"author": "Can Boluk",
|
|
@@ -61,13 +61,13 @@
|
|
|
61
61
|
"dependencies": {
|
|
62
62
|
"@agentclientprotocol/sdk": "1.3.0",
|
|
63
63
|
"@mozilla/readability": "^0.6",
|
|
64
|
-
"@f5-sales-demo/xcsh-stats": "20.8.
|
|
65
|
-
"@f5-sales-demo/pi-agent-core": "20.8.
|
|
66
|
-
"@f5-sales-demo/pi-ai": "20.8.
|
|
67
|
-
"@f5-sales-demo/pi-natives": "20.8.
|
|
68
|
-
"@f5-sales-demo/pi-resource-management": "20.8.
|
|
69
|
-
"@f5-sales-demo/pi-tui": "20.8.
|
|
70
|
-
"@f5-sales-demo/pi-utils": "20.8.
|
|
64
|
+
"@f5-sales-demo/xcsh-stats": "20.8.2",
|
|
65
|
+
"@f5-sales-demo/pi-agent-core": "20.8.2",
|
|
66
|
+
"@f5-sales-demo/pi-ai": "20.8.2",
|
|
67
|
+
"@f5-sales-demo/pi-natives": "20.8.2",
|
|
68
|
+
"@f5-sales-demo/pi-resource-management": "20.8.2",
|
|
69
|
+
"@f5-sales-demo/pi-tui": "20.8.2",
|
|
70
|
+
"@f5-sales-demo/pi-utils": "20.8.2",
|
|
71
71
|
"@sinclair/typebox": "^0.34",
|
|
72
72
|
"@xterm/headless": "^6.0",
|
|
73
73
|
"ajv": "^8.20",
|
package/src/cli/office-cli.ts
CHANGED
|
@@ -260,7 +260,7 @@ export async function runOfficeCommand(
|
|
|
260
260
|
// with its stack intact, because swallowing a real failure here is how the original silent
|
|
261
261
|
// 404 survived.
|
|
262
262
|
if (!(err instanceof OfficePaneUnavailableError)) throw err;
|
|
263
|
-
console.error(err.message);
|
|
263
|
+
console.error(err instanceof Error ? err.message : String(err));
|
|
264
264
|
process.exitCode = 1;
|
|
265
265
|
}
|
|
266
266
|
}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { THINKING_EFFORTS } from "@f5-sales-demo/pi-ai";
|
|
2
|
+
import type { RoutingSettings } from "../routing/types";
|
|
2
3
|
|
|
3
4
|
/** Unified settings schema - single source of truth for all settings.
|
|
4
5
|
* Unified settings schema - single source of truth for all settings.
|
|
@@ -530,6 +531,87 @@ export const SETTINGS_SCHEMA = {
|
|
|
530
531
|
},
|
|
531
532
|
},
|
|
532
533
|
|
|
534
|
+
// Dynamic routing
|
|
535
|
+
"routing.mode": {
|
|
536
|
+
type: "enum",
|
|
537
|
+
values: ["off", "shadow", "auto"] as const,
|
|
538
|
+
default: "off",
|
|
539
|
+
ui: {
|
|
540
|
+
tab: "model",
|
|
541
|
+
label: "Routing Mode",
|
|
542
|
+
description: "Dynamic model routing mode (off, shadow, auto)",
|
|
543
|
+
submenu: true,
|
|
544
|
+
},
|
|
545
|
+
},
|
|
546
|
+
|
|
547
|
+
"routing.profiler": {
|
|
548
|
+
type: "enum",
|
|
549
|
+
values: ["rules", "hybrid"] as const,
|
|
550
|
+
default: "hybrid",
|
|
551
|
+
ui: {
|
|
552
|
+
tab: "model",
|
|
553
|
+
label: "Routing Profiler",
|
|
554
|
+
description: "Task complexity profiling method (rules or hybrid)",
|
|
555
|
+
submenu: true,
|
|
556
|
+
},
|
|
557
|
+
},
|
|
558
|
+
|
|
559
|
+
"routing.familyPolicy": {
|
|
560
|
+
type: "enum",
|
|
561
|
+
values: ["sticky", "configured-mixed"] as const,
|
|
562
|
+
default: "sticky",
|
|
563
|
+
ui: {
|
|
564
|
+
tab: "model",
|
|
565
|
+
label: "Family Policy",
|
|
566
|
+
description: "Provider family policy (sticky or configured-mixed)",
|
|
567
|
+
submenu: true,
|
|
568
|
+
},
|
|
569
|
+
},
|
|
570
|
+
|
|
571
|
+
"routing.delegation": {
|
|
572
|
+
type: "enum",
|
|
573
|
+
values: ["off", "read-only"] as const,
|
|
574
|
+
default: "read-only",
|
|
575
|
+
ui: {
|
|
576
|
+
tab: "model",
|
|
577
|
+
label: "Autonomous Delegation",
|
|
578
|
+
description: "Autonomous delegation mode for subtasks",
|
|
579
|
+
submenu: true,
|
|
580
|
+
},
|
|
581
|
+
},
|
|
582
|
+
|
|
583
|
+
"routing.delegationMaxTasks": {
|
|
584
|
+
type: "number",
|
|
585
|
+
default: 3,
|
|
586
|
+
ui: {
|
|
587
|
+
tab: "model",
|
|
588
|
+
label: "Delegation Max Subtasks",
|
|
589
|
+
description: "Maximum subtasks for autonomous delegation (1-3)",
|
|
590
|
+
submenu: true,
|
|
591
|
+
},
|
|
592
|
+
},
|
|
593
|
+
|
|
594
|
+
"routing.downshiftAfterTurns": {
|
|
595
|
+
type: "number",
|
|
596
|
+
default: 2,
|
|
597
|
+
ui: {
|
|
598
|
+
tab: "model",
|
|
599
|
+
label: "Downshift Hysteresis Turns",
|
|
600
|
+
description: "Consecutive turns required before downshifting model tier",
|
|
601
|
+
submenu: true,
|
|
602
|
+
},
|
|
603
|
+
},
|
|
604
|
+
|
|
605
|
+
"routing.pools": {
|
|
606
|
+
type: "record",
|
|
607
|
+
default: {},
|
|
608
|
+
},
|
|
609
|
+
|
|
610
|
+
"routing.disabledPresets": {
|
|
611
|
+
type: "array",
|
|
612
|
+
default: [],
|
|
613
|
+
},
|
|
614
|
+
|
|
533
615
|
// Sampling
|
|
534
616
|
temperature: {
|
|
535
617
|
type: "number",
|
|
@@ -2203,6 +2285,7 @@ export interface GroupTypeMap {
|
|
|
2203
2285
|
modelRoles: Record<string, string>;
|
|
2204
2286
|
modelTags: ModelTagsSettings;
|
|
2205
2287
|
cycleOrder: string[];
|
|
2288
|
+
routing: RoutingSettings;
|
|
2206
2289
|
}
|
|
2207
2290
|
|
|
2208
2291
|
export type GroupPrefix = keyof GroupTypeMap;
|
|
@@ -17,17 +17,17 @@ export interface BuildInfo {
|
|
|
17
17
|
}
|
|
18
18
|
|
|
19
19
|
export const BUILD_INFO: BuildInfo = {
|
|
20
|
-
"version": "20.8.
|
|
21
|
-
"commit": "
|
|
22
|
-
"shortCommit": "
|
|
20
|
+
"version": "20.8.2",
|
|
21
|
+
"commit": "66c868524c9a033080f9783d9be773ecab7b6831",
|
|
22
|
+
"shortCommit": "66c8685",
|
|
23
23
|
"branch": "main",
|
|
24
|
-
"tag": "v20.8.
|
|
25
|
-
"commitDate": "2026-08-
|
|
26
|
-
"buildDate": "2026-08-
|
|
24
|
+
"tag": "v20.8.2",
|
|
25
|
+
"commitDate": "2026-08-08T14:08:50Z",
|
|
26
|
+
"buildDate": "2026-08-08T14:35:05.342Z",
|
|
27
27
|
"dirty": true,
|
|
28
28
|
"prNumber": "",
|
|
29
29
|
"repoUrl": "https://github.com/f5-sales-demo/xcsh",
|
|
30
30
|
"repoSlug": "f5-sales-demo/xcsh",
|
|
31
|
-
"commitUrl": "https://github.com/f5-sales-demo/xcsh/commit/
|
|
32
|
-
"releaseUrl": "https://github.com/f5-sales-demo/xcsh/releases/tag/v20.8.
|
|
31
|
+
"commitUrl": "https://github.com/f5-sales-demo/xcsh/commit/66c868524c9a033080f9783d9be773ecab7b6831",
|
|
32
|
+
"releaseUrl": "https://github.com/f5-sales-demo/xcsh/releases/tag/v20.8.2"
|
|
33
33
|
};
|