dsh-connect-workbuddy 5.4.0 → 5.5.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/CHANGELOG.md +81 -0
- package/README.en.md +25 -9
- package/README.md +29 -12
- package/docs/WINDOWS.md +1 -0
- package/lib/bin.js +1 -1
- package/lib/client.js +716 -155
- package/lib/{host-heartbeat-D5FWM_8k.js → host-heartbeat-CVnH8S3J.js} +11 -1
- package/lib/index.d.ts +27 -0
- package/lib/index.js +432 -131
- package/package.json +1 -1
|
@@ -1784,6 +1784,16 @@ const GLOBAL_CONFIG_PATH = "/v3/config";
|
|
|
1784
1784
|
* host- and identity-insensitive on the CN side (measured 2026-10-21 on all
|
|
1785
1785
|
* three CN hosts, under both the CLI and the app user agent: byte-identical),
|
|
1786
1786
|
* so it is asked as the chat channel's own identity.
|
|
1787
|
+
*
|
|
1788
|
+
* IT DOES NOT EXIST ON THE GLOBAL GATEWAY. Measured 2026-10-22: this exact POST
|
|
1789
|
+
* against `www.workbuddy.ai` answers 404 `Route Not Found` (as do the four
|
|
1790
|
+
* neighbouring spellings tried under both POST and GET), while the same
|
|
1791
|
+
* credential reads that gateway's `/v3/config` normally and finds no load field
|
|
1792
|
+
* on any model. {@link WorkBuddyUpstreamClient.fetchModelBusy} is therefore
|
|
1793
|
+
* expected to THROW for that region — `withBusyLevels` in `src/index.ts` catches
|
|
1794
|
+
* it and ships the roster without levels. Kept as-is rather than region-gated:
|
|
1795
|
+
* the day upstream adds it, this needs no change, and the cost today is one
|
|
1796
|
+
* 404 per refresh that never blocks anything.
|
|
1787
1797
|
*/
|
|
1788
1798
|
const MODEL_BUSY_PATH = "/v2/chat/busy";
|
|
1789
1799
|
/**
|
|
@@ -5956,7 +5966,7 @@ function generationOf(version) {
|
|
|
5956
5966
|
//#endregion
|
|
5957
5967
|
//#region src/version.ts
|
|
5958
5968
|
/** The npm package version this build was produced from. */
|
|
5959
|
-
const WORKBUDDY_CONNECT_VERSION = "5.
|
|
5969
|
+
const WORKBUDDY_CONNECT_VERSION = "5.5.0";
|
|
5960
5970
|
//#endregion
|
|
5961
5971
|
//#region src/host-heartbeat.ts
|
|
5962
5972
|
/**
|
package/lib/index.d.ts
CHANGED
|
@@ -792,6 +792,22 @@ interface WorkBuddyPromo {
|
|
|
792
792
|
* `/v3/config`, this endpoint is not channel-sensitive, so the plugin asks it as
|
|
793
793
|
* the CLI agent it already is on the chat path — no product identity needed.
|
|
794
794
|
*
|
|
795
|
+
* THE GLOBAL GATEWAY DOES NOT HAVE IT (measured 2026-10-22, and the reason the
|
|
796
|
+
* README says "CN only"). `www.workbuddy.ai` answers that same POST with
|
|
797
|
+
* `404 {"error_msg":"404 Route Not Found"}`, and so do `/v3/chat/busy`,
|
|
798
|
+
* `/v2/models/busy`, `/v2/chat/model/busy` and `/v1/chat/busy` under both POST
|
|
799
|
+
* and GET — twelve path/method pairs, twelve 404s. The credential is fine: the
|
|
800
|
+
* SAME token reads that gateway's `/v3/config` (200, 28 models), and none of
|
|
801
|
+
* those models carries a field whose name mentions busy / load / queue / wait /
|
|
802
|
+
* level / pressure. So this is not a wrong path, a wrong identity or a
|
|
803
|
+
* permission problem — upstream never published the fact for that region. The
|
|
804
|
+
* probe therefore fails there on every refresh; it is caught (see
|
|
805
|
+
* `withBusyLevels` in `src/index.ts`), logged once, and the roster ships with
|
|
806
|
+
* no levels, which the card renders as no badge. Deliberately NOT "fixed" by
|
|
807
|
+
* inferring a level from latency or credits: a made-up load badge is worse than
|
|
808
|
+
* no badge, and the plugin's whole rule here is to never state a fact the
|
|
809
|
+
* upstream did not state.
|
|
810
|
+
*
|
|
795
811
|
* THE LEVELS ARE THE APP'S OWN ENUM, and anything outside it is `unknown`:
|
|
796
812
|
* `idle` / `normal` / `busy` / `congested` / `unavailable`. The app's own words
|
|
797
813
|
* (from its `im-channels` bundle, `chatInput.modelSelector.busy.*`) are
|
|
@@ -1597,6 +1613,7 @@ interface CliBridgeSettings {
|
|
|
1597
1613
|
allowUnattended?: boolean;
|
|
1598
1614
|
maxReplyChars?: number;
|
|
1599
1615
|
injectResult?: boolean;
|
|
1616
|
+
sessionContinuity?: string;
|
|
1600
1617
|
maxTurnsPerSessionHour?: number;
|
|
1601
1618
|
maxTurnsPerHour?: number;
|
|
1602
1619
|
}
|
|
@@ -3802,6 +3819,16 @@ interface WorkBuddyStatusRouteOptions {
|
|
|
3802
3819
|
* probe.
|
|
3803
3820
|
*/
|
|
3804
3821
|
accountUsable?(region: WorkBuddyRegion, account: WorkBuddyRecoveryCandidate): Promise<boolean>;
|
|
3822
|
+
/**
|
|
3823
|
+
* The CLI route's live turns, for the composer readout.
|
|
3824
|
+
*
|
|
3825
|
+
* A READ of the bridge's in-memory board, not a computation: the route exists
|
|
3826
|
+
* so a turn that is still running has somewhere to be observed from, and the
|
|
3827
|
+
* board is the only thing that knows. Absent (the bridge is switched off, or
|
|
3828
|
+
* this Host mounted the status routes without it) means "no live turns", which
|
|
3829
|
+
* the chip renders as nothing at all.
|
|
3830
|
+
*/
|
|
3831
|
+
cliLive?(): unknown;
|
|
3805
3832
|
/**
|
|
3806
3833
|
* Why each of the region's accounts cannot serve right now, keyed by account
|
|
3807
3834
|
* id. Absent key (or an absent dep) means "no reason known" — the composer
|