dsh-connect-workbuddy 5.9.0 → 5.11.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 +141 -0
- package/README.en.md +1 -1
- package/README.md +3 -1
- package/lib/bin.js +1 -1
- package/lib/client.js +480 -9
- package/lib/{host-heartbeat-C1tVU2IN.js → host-heartbeat-BYdr-pVq.js} +616 -33
- package/lib/index.d.ts +211 -5
- package/lib/index.js +688 -49
- package/package.json +1 -1
package/lib/index.d.ts
CHANGED
|
@@ -621,6 +621,24 @@ interface WorkBuddyMediaModel {
|
|
|
621
621
|
readonly id: string;
|
|
622
622
|
readonly name: string;
|
|
623
623
|
readonly tags: readonly string[];
|
|
624
|
+
/**
|
|
625
|
+
* 模型级视频生成配置(上游 `models[].videoGeneration`),只对视频模型出现,
|
|
626
|
+
* 图像链路从不读它。透传它是因为**同一份目录**同时喂生图与生视频两条链路:
|
|
627
|
+
* 视频工具要靠这里的 `minSeconds`/`maxSeconds` 在本地拦下越界时长,
|
|
628
|
+
* 而不是发上去等一个「unsupported video duration」的 400。
|
|
629
|
+
*
|
|
630
|
+
* 形状与 `video-gen.ts` 的 `WorkBuddyVideoModelConfig` 一致(那边是视频层的
|
|
631
|
+
* 同一份定义,两处必须同步——tests/video-gen.spec.ts 有一条对拍测试)。
|
|
632
|
+
*/
|
|
633
|
+
readonly videoGeneration?: WorkBuddyMediaVideoGeneration;
|
|
634
|
+
}
|
|
635
|
+
/** `WorkBuddyMediaModel.videoGeneration` 的结构。字段缺席就是上游没给,不补默认值。 */
|
|
636
|
+
interface WorkBuddyMediaVideoGeneration {
|
|
637
|
+
readonly resolutions?: readonly string[];
|
|
638
|
+
readonly defaultResolution?: string;
|
|
639
|
+
readonly defaultSeconds?: number;
|
|
640
|
+
readonly minSeconds?: number;
|
|
641
|
+
readonly maxSeconds?: number;
|
|
624
642
|
}
|
|
625
643
|
/** 上游成功响应的归一化结果。`url` 与 `b64` 至少有一个。 */
|
|
626
644
|
interface WorkBuddyImageOutcome {
|
|
@@ -630,6 +648,22 @@ interface WorkBuddyImageOutcome {
|
|
|
630
648
|
readonly credit?: number;
|
|
631
649
|
}
|
|
632
650
|
//#endregion
|
|
651
|
+
//#region src/video-gen.d.ts
|
|
652
|
+
/** 提交任务后上游返回的任务元数据(task id)。 */
|
|
653
|
+
interface WorkBuddyVideoSubmission {
|
|
654
|
+
readonly taskId: string;
|
|
655
|
+
readonly warnings: readonly string[];
|
|
656
|
+
}
|
|
657
|
+
/** 轮询完成后解析出的任务结果。 */
|
|
658
|
+
interface WorkBuddyVideoOutcome {
|
|
659
|
+
/** 每个成品视频的下载 URL(`.mp4`)。 */
|
|
660
|
+
readonly videos: readonly string[];
|
|
661
|
+
/** 本次实际消耗的积分;上游没给就是 undefined。 */
|
|
662
|
+
readonly credit?: number | undefined;
|
|
663
|
+
/** 提交阶段就攒下的非致命告警。 */
|
|
664
|
+
readonly warnings?: readonly string[] | undefined;
|
|
665
|
+
}
|
|
666
|
+
//#endregion
|
|
633
667
|
//#region src/promo.d.ts
|
|
634
668
|
/**
|
|
635
669
|
* WorkBuddy promotion & tier badges — the upstream's own "this model is on
|
|
@@ -1564,12 +1598,22 @@ declare class WorkBuddyUpstreamClient {
|
|
|
1564
1598
|
*/
|
|
1565
1599
|
fetchModelBusy(credential: WorkBuddyCredential, modelIds: readonly string[], signal?: AbortSignal): Promise<Map<string, WorkBuddyBusyLevel>>;
|
|
1566
1600
|
/**
|
|
1567
|
-
*
|
|
1601
|
+
* 读该账号所属区的产品配置,返回**全部**媒体模型(图 + 视频,按 tag 区分)。
|
|
1568
1602
|
*
|
|
1569
1603
|
* 走的是和 {@link fetchModels} 同一条 `/v3/config`(国内区与国际区都答),
|
|
1570
1604
|
* 区别只在这里保留 `data.models` 的媒体条目、而不是投影成 CLI 聊天目录。
|
|
1571
|
-
*
|
|
1572
|
-
*
|
|
1605
|
+
* 两区实测(2026-10-25,同日各跑一次只读探针):
|
|
1606
|
+
* - 国内区 61 条模型 / 17 条带 tag:`hunyuan-image-alpha`(`text-to-image`)、
|
|
1607
|
+
* `hunyuan-image-alpha-edit`(`image-to-image`)、`kling-video-v3` 与
|
|
1608
|
+
* `minimax-video-h3`(`text-to-video` + `image-to-video`)。
|
|
1609
|
+
* - 国际区 29 条 / 7 条带 tag:`hy-image-3.5`(`text-to-image` +
|
|
1610
|
+
* `image-to-image`)、`kling-video-v3`(两种视频 tag)。
|
|
1611
|
+
* 两边目录完全不重叠,所以「国际区一条都没有」是 2026-10-21 的旧观测,
|
|
1612
|
+
* 已经过期 —— 目录真的没标时才返回空数组(而不是编一个模型出来)。
|
|
1613
|
+
*
|
|
1614
|
+
* 返回的是**未分组**的全集:谁要 `text-to-image` 就自己按 tag 过滤
|
|
1615
|
+
* ({@link selectMediaModels} / `pickMediaModel`)。生图工具、改图路径、卡片清单
|
|
1616
|
+
* 因此共用这一次读取,而不是各读一遍目录。
|
|
1573
1617
|
*
|
|
1574
1618
|
* 这是一次 EXTRA 读取,不是「复用目录那一次」:`fetchModels` 的结果被投影成
|
|
1575
1619
|
* 聊天目录就丢掉了媒体标签,所以这里必须再读一遍同一份文档。它是只读 GET、
|
|
@@ -1582,7 +1626,9 @@ declare class WorkBuddyUpstreamClient {
|
|
|
1582
1626
|
* 发一次文生图请求。
|
|
1583
1627
|
*
|
|
1584
1628
|
* 端点、请求体、响应解析全部照抄官方 CLI 的 ImageService(见 `image-gen.ts`
|
|
1585
|
-
*
|
|
1629
|
+
* 的模块注释)。产物是 24 小时有效的 COS 签名 URL;实扣积分随区与模型不同
|
|
1630
|
+
* (国内区 `hunyuan-image-alpha` 5.71、国际区 `hy-image-3.5` 0.03),
|
|
1631
|
+
* 只在响应的 `data.usage.credit` 里给出,调用方按实际值回报。
|
|
1586
1632
|
*
|
|
1587
1633
|
* 失败分两层:HTTP 非 2xx 交给 {@link describeImageFailure} 翻成带 code 的
|
|
1588
1634
|
* 错误(401/403 提示重新登录、404 提示该区没有生图路由、429 提示限流);
|
|
@@ -1593,6 +1639,67 @@ declare class WorkBuddyUpstreamClient {
|
|
|
1593
1639
|
readonly prompt: string;
|
|
1594
1640
|
readonly size?: string;
|
|
1595
1641
|
}, signal?: AbortSignal): Promise<WorkBuddyImageOutcome>;
|
|
1642
|
+
/**
|
|
1643
|
+
* 发一次改图请求(`image-to-image`)。
|
|
1644
|
+
*
|
|
1645
|
+
* 端点换成官方 CLI `ImageService.editImage` 用的 `/v2/images/edits`,请求体是
|
|
1646
|
+
* 生图那一套 + `image`(**必须是 data URL 字符串数组**)+ 可选 `input_fidelity`。
|
|
1647
|
+
* 2026-10-25 国际区实测:`hy-image-3.5` + 一张 712×962 的截图 → 200、code 0、
|
|
1648
|
+
* 一张 COS 签名 URL、`credit 0.03`。
|
|
1649
|
+
*
|
|
1650
|
+
* `image` 的形态由调用方(工具层)负责规整成 data URL——这一层只发请求、
|
|
1651
|
+
* 不碰文件系统,和 {@link generateImage} 的分工保持一致。
|
|
1652
|
+
*/
|
|
1653
|
+
editImage(credential: WorkBuddyCredential, request: {
|
|
1654
|
+
readonly model: string;
|
|
1655
|
+
readonly prompt: string;
|
|
1656
|
+
readonly size?: string;
|
|
1657
|
+
readonly image: readonly string[];
|
|
1658
|
+
readonly inputFidelity?: string;
|
|
1659
|
+
}, signal?: AbortSignal): Promise<WorkBuddyImageOutcome>;
|
|
1660
|
+
/**
|
|
1661
|
+
* 发一次生视频请求(提交任务,拿 task id)。
|
|
1662
|
+
*
|
|
1663
|
+
* 端点与请求体照抄官方 CLI 的 `VideoService.submitTask`:`POST /v2/videos/generations`,
|
|
1664
|
+
* 请求体由 `buildVideoBody` 拼(prompt / model / seconds / negative_prompt /
|
|
1665
|
+
* watermark:true / 图生视频时的 image_url / extra_parameters)。响应取
|
|
1666
|
+
* `data.id` 作为 task id 返回,真正的视频要再轮询 `/v2/videos/tasks` 才拿得到。
|
|
1667
|
+
*
|
|
1668
|
+
* 这是一次**花钱**的请求(与生图一样),所以失败分类交给 {@link describeVideoFailure}:
|
|
1669
|
+
* 401/403 提示重新登录、404 提示该区没有视频路由、429 提示限流、其它透传 msg。
|
|
1670
|
+
* HTTP 200 但信封 `code !== 0` 由 {@link parseVideoSubmission} 处理。
|
|
1671
|
+
*/
|
|
1672
|
+
submitVideo(credential: WorkBuddyCredential, request: {
|
|
1673
|
+
readonly model: string;
|
|
1674
|
+
readonly prompt: string;
|
|
1675
|
+
readonly seconds: number;
|
|
1676
|
+
readonly negativePrompt?: string | undefined;
|
|
1677
|
+
readonly image?: string | undefined;
|
|
1678
|
+
readonly lastImage?: string | undefined;
|
|
1679
|
+
readonly resolution?: string | undefined;
|
|
1680
|
+
readonly aspectRatio?: string | undefined;
|
|
1681
|
+
readonly enableAudio?: boolean | undefined;
|
|
1682
|
+
}, signal?: AbortSignal): Promise<WorkBuddyVideoSubmission>;
|
|
1683
|
+
/**
|
|
1684
|
+
* 轮询一个生视频任务直到完成或失败。
|
|
1685
|
+
*
|
|
1686
|
+
* `POST /v2/videos/tasks`(请求体 `{ task_id }`),官方 CLI 的 `VideoService.pollTask`
|
|
1687
|
+
* 就是每 5 秒查一次、直到 `status === 'completed' | 'failed'`。这里照搬同样的
|
|
1688
|
+
* 轮询节奏与整体超时(默认 ~600s,远大于生图的 180s,因为视频要生成几十秒到几分钟)。
|
|
1689
|
+
*
|
|
1690
|
+
* 注意:轮询**已经花过钱**(提交那次就扣了),所以轮询期间的网络抖动、超时要
|
|
1691
|
+
* 当成真实失败——调用方据此进冷却。只有"提交那一次"因为参数写错 / 没登录而没
|
|
1692
|
+
* 发出去,才不进冷却(同生图工具的设计)。
|
|
1693
|
+
*/
|
|
1694
|
+
pollVideoTask(credential: WorkBuddyCredential, taskId: string, signal?: AbortSignal): Promise<WorkBuddyVideoOutcome>;
|
|
1695
|
+
/**
|
|
1696
|
+
* 下载一个视频 URL 到本地临时目录,返回绝对路径。
|
|
1697
|
+
*
|
|
1698
|
+
* 官方 CLI 的 `VideoService.downloadVideos` 把每条 `data[].url` 写成本地 `.mp4`
|
|
1699
|
+
* (产物是 COS 签名 URL,和生图同源,但不是图片 MIME)。这里每次一条,工具层
|
|
1700
|
+
* 负责把多条结果各自落盘并回 `file://` 给模型与用户。
|
|
1701
|
+
*/
|
|
1702
|
+
downloadVideo(credential: WorkBuddyCredential, url: string, signal?: AbortSignal): Promise<string>;
|
|
1596
1703
|
/** Query today's check-in status without changing account state. */
|
|
1597
1704
|
fetchCheckinStatus(credential: WorkBuddyCredential): Promise<WorkBuddyCheckinStatus>;
|
|
1598
1705
|
/**
|
|
@@ -3504,6 +3611,22 @@ type WorkBuddyWebUsage =
|
|
|
3504
3611
|
* after a switch-off that never landed.
|
|
3505
3612
|
*/
|
|
3506
3613
|
imageToolEnabled?: boolean;
|
|
3614
|
+
/**
|
|
3615
|
+
* Whether the model may call the video-generation tool here (opt-in).
|
|
3616
|
+
* Same opt-IN travel semantics as `imageToolEnabled` — an absent value
|
|
3617
|
+
* is NOT consent, so a stale mirror cannot leave the spending capability on.
|
|
3618
|
+
*/
|
|
3619
|
+
videoToolEnabled?: boolean;
|
|
3620
|
+
/**
|
|
3621
|
+
* The video model pinned per tag here (`text-to-video` /
|
|
3622
|
+
* `image-to-video`), as a model id from this region's catalog.
|
|
3623
|
+
*
|
|
3624
|
+
* Travels on the Host's answer for the same measured reason as the switches
|
|
3625
|
+
* above: the picker has to render the pin the TOOL will read, and the
|
|
3626
|
+
* browser settings mirror is stale for this namespace on the affected 0.1.7
|
|
3627
|
+
* deployments. Absent reads as "nothing pinned", never as a made-up id.
|
|
3628
|
+
*/
|
|
3629
|
+
preferredVideoModels?: Readonly<Record<string, string>>;
|
|
3507
3630
|
/**
|
|
3508
3631
|
* Whether the OPTIONAL CodeBuddy CLI route is mounted (tool `codebuddy_ask`
|
|
3509
3632
|
* + command `/codebuddy`).
|
|
@@ -3593,6 +3716,16 @@ type WorkBuddyWebUsage =
|
|
|
3593
3716
|
* after a switch-off that never landed.
|
|
3594
3717
|
*/
|
|
3595
3718
|
imageToolEnabled?: boolean;
|
|
3719
|
+
/**
|
|
3720
|
+
* Whether the model may call the video-generation tool here (opt-in).
|
|
3721
|
+
* Same opt-IN travel semantics as `imageToolEnabled`.
|
|
3722
|
+
*/
|
|
3723
|
+
videoToolEnabled?: boolean;
|
|
3724
|
+
/**
|
|
3725
|
+
* The video model pinned per tag here; see the signed-out variant for why
|
|
3726
|
+
* this travels on the Host's answer instead of the browser mirror.
|
|
3727
|
+
*/
|
|
3728
|
+
preferredVideoModels?: Readonly<Record<string, string>>;
|
|
3596
3729
|
/**
|
|
3597
3730
|
* Whether the OPTIONAL CodeBuddy CLI route is mounted (tool `codebuddy_ask`
|
|
3598
3731
|
* + command `/codebuddy`).
|
|
@@ -4143,6 +4276,19 @@ interface WorkBuddyStatusRouteOptions {
|
|
|
4143
4276
|
* renders no segment at all rather than a made-up "0 新模型".
|
|
4144
4277
|
*/
|
|
4145
4278
|
rosterSeen?(region: WorkBuddyRegion): Promise<RosterSeenReadout>;
|
|
4279
|
+
/**
|
|
4280
|
+
* Read the region's MEDIA models (image + video) for the card's read-only
|
|
4281
|
+
* roster block.
|
|
4282
|
+
*
|
|
4283
|
+
* Optional: a Host that mounts these routes without the upstream client
|
|
4284
|
+
* simply answers 503, and the card hides the block. Returns the same rows the
|
|
4285
|
+
* image tool consumes, so the card's list and the tool's model validation
|
|
4286
|
+
* cannot disagree about what exists in a region.
|
|
4287
|
+
*/
|
|
4288
|
+
mediaModels?(region: WorkBuddyRegion, options?: {
|
|
4289
|
+
readonly signal?: AbortSignal;
|
|
4290
|
+
readonly refresh?: boolean;
|
|
4291
|
+
}): Promise<readonly WorkBuddyMediaModel[]>;
|
|
4146
4292
|
/**
|
|
4147
4293
|
* Whether the requested region's provider is currently offered to DSH. The
|
|
4148
4294
|
* card renders this as the tab's on/off checkbox, so the switch reflects the
|
|
@@ -4177,6 +4323,22 @@ interface WorkBuddyStatusRouteOptions {
|
|
|
4177
4323
|
* cannot answer must not be read as consent.
|
|
4178
4324
|
*/
|
|
4179
4325
|
imageToolEnabled?(region: WorkBuddyRegion): boolean;
|
|
4326
|
+
/**
|
|
4327
|
+
* Whether the model may call the video-generation tool in this region.
|
|
4328
|
+
* Optional, absent reads as OFF — same opt-IN semantics as `imageToolEnabled`
|
|
4329
|
+
* (the model decides to spend, so an older Host must not be read as consent).
|
|
4330
|
+
*/
|
|
4331
|
+
videoToolEnabled?(region: WorkBuddyRegion): boolean;
|
|
4332
|
+
/**
|
|
4333
|
+
* The video model pinned per tag in this region (`text-to-video` /
|
|
4334
|
+
* `image-to-video`), as a model id from that region's own catalog.
|
|
4335
|
+
*
|
|
4336
|
+
* Optional, and absent reads as "nothing pinned" — the same direction as
|
|
4337
|
+
* `videoToolEnabled`: an older Host that cannot answer must not invent a
|
|
4338
|
+
* choice the user never made. The card uses it to render the per-mode picker
|
|
4339
|
+
* from the committed value the tool will actually read.
|
|
4340
|
+
*/
|
|
4341
|
+
preferredVideoModels?(region: WorkBuddyRegion): Readonly<Record<string, string>>;
|
|
4180
4342
|
/**
|
|
4181
4343
|
* Whether the OPTIONAL CodeBuddy CLI route is mounted (`codebuddy_ask` tool +
|
|
4182
4344
|
* `/codebuddy` command).
|
|
@@ -4663,6 +4825,25 @@ interface WorkBuddyRegionState {
|
|
|
4663
4825
|
* upgrade — or a config whose value could not be read — must leave it off.
|
|
4664
4826
|
*/
|
|
4665
4827
|
imageToolEnabled?: boolean;
|
|
4828
|
+
/**
|
|
4829
|
+
* Same opt-IN shape as `imageToolEnabled`, but for the video-generation tool
|
|
4830
|
+
* (`workbuddy_draw_video`). Absent means OFF, for the same reason: the model
|
|
4831
|
+
* decides to spend, so an upgrade must never hand out a spending capability.
|
|
4832
|
+
*/
|
|
4833
|
+
videoToolEnabled?: boolean;
|
|
4834
|
+
/**
|
|
4835
|
+
* The video model the user pinned in the card, keyed by video tag
|
|
4836
|
+
* (`text-to-video` / `image-to-video`), value is a model id from this
|
|
4837
|
+
* region's own catalog.
|
|
4838
|
+
*
|
|
4839
|
+
* Per-REGION and per-TAG on purpose: the two modes can be served by different
|
|
4840
|
+
* models (a catalog may carry a text-to-video-only row), and model ids do not
|
|
4841
|
+
* cross regions (CN publishes `kling-video-v3` and `minimax-video-h3`,
|
|
4842
|
+
* international only `kling-video-v3`). Absent or stale is NOT an error: the
|
|
4843
|
+
* tool falls back to the first model of the group, because a preference the
|
|
4844
|
+
* catalog no longer carries must not fail a generation the user asked for.
|
|
4845
|
+
*/
|
|
4846
|
+
preferredVideoModels?: Record<string, string>;
|
|
4666
4847
|
/**
|
|
4667
4848
|
* WHERE this region's credit readout sits (issue #62).
|
|
4668
4849
|
*
|
|
@@ -4922,6 +5103,31 @@ declare function regionStateOf(config: Config, region: WorkBuddyRegion): WorkBud
|
|
|
4922
5103
|
* about a region's state.
|
|
4923
5104
|
*/
|
|
4924
5105
|
declare function regionEnabled(config: Config, region: WorkBuddyRegion): boolean;
|
|
5106
|
+
/**
|
|
5107
|
+
* The region that owns the image tool right now, or `undefined` when no region
|
|
5108
|
+
* has it switched on.
|
|
5109
|
+
*
|
|
5110
|
+
* BOTH gates are required, and both are read live: the region's provider switch
|
|
5111
|
+
* must be ON (`regionEnabled`, opt-OUT) and the user must have opted IN to the
|
|
5112
|
+
* model spending credits there (`imageToolEnabled`, opt-IN). Absence of
|
|
5113
|
+
* `imageToolEnabled` is never consent.
|
|
5114
|
+
*
|
|
5115
|
+
* CN wins when both regions qualify, and that order is the only backward
|
|
5116
|
+
* compatible one: before the international gateway carried a `text-to-image`
|
|
5117
|
+
* model (measured 2026-10-25: `hy-image-3.5`) CN was the only region that could
|
|
5118
|
+
* ever be opted in, so a profile that opted in there keeps using CN even after
|
|
5119
|
+
* the global tab is switched on as well. That is exactly `REGION_KEYS`' order;
|
|
5120
|
+
* it is not incidental.
|
|
5121
|
+
*/
|
|
5122
|
+
declare function imageToolRegionOf(config: Config): WorkBuddyRegion | undefined;
|
|
5123
|
+
/**
|
|
5124
|
+
* Region that owns the video tool right now, or `undefined` when no region has
|
|
5125
|
+
* it switched on. Mirrors `imageToolRegionOf` but reads `videoToolEnabled`
|
|
5126
|
+
* (the video-generation opt-in). Both gates required, read live: region provider
|
|
5127
|
+
* switch ON (`regionEnabled`, opt-OUT) and the user opted IN (`videoToolEnabled`,
|
|
5128
|
+
* opt-IN). CN wins when both qualify (see `REGION_KEYS`).
|
|
5129
|
+
*/
|
|
5130
|
+
declare function videoToolRegionOf(config: Config): WorkBuddyRegion | undefined;
|
|
4925
5131
|
/**
|
|
4926
5132
|
* The account id a region should select, or `undefined` for the documented
|
|
4927
5133
|
* default: follow whatever the WorkBuddy app is currently signed in as.
|
|
@@ -4972,4 +5178,4 @@ declare function legacyAttributionRegion(value: Config, accountsFor: (region: Wo
|
|
|
4972
5178
|
*/
|
|
4973
5179
|
declare function apply(ctx: Context, config: Config): void;
|
|
4974
5180
|
//#endregion
|
|
4975
|
-
export { CREDENTIAL_REJECTED_CODE, Config, DEFAULT_PROBE_INPUT_TOKENS, ENCRYPTED_CREDENTIAL_CODE, FALLBACK_WORKBUDDY_MODELS, FALLBACK_WORKBUDDY_MODELS_GLOBAL, NATIVE_MODALITY_BY_MODEL_ID, PROBE_INPUT_TOKEN_CHOICES, PROBE_MAX_TOKENS, PROBE_SYSTEM_PROMPT, REFUSES_OFF_MODEL_IDS, type UpstreamErrorKind, WORKBUDDY_ACCOUNTS_REFRESH_PATH, WORKBUDDY_APP_EXECUTABLE_ENV, WORKBUDDY_AUTH_FILENAME, WORKBUDDY_AUTH_FILE_ENV, WORKBUDDY_CHECKIN_PATH, WORKBUDDY_CONNECT_VERSION, WORKBUDDY_GLOBAL_PROVIDER, WORKBUDDY_HOST_HEARTBEAT_FILENAME, WORKBUDDY_MODELS_REFRESH_PATH, WORKBUDDY_PROBE_PATH, WORKBUDDY_PROVIDER, WORKBUDDY_PROVIDERS, WORKBUDDY_PROVIDER_DISPLAY_NAMES, WORKBUDDY_REGIONS, WORKBUDDY_REGION_PARAM, WORKBUDDY_SETTINGS_NS, WORKBUDDY_STREAM_IDLE_TIMEOUT_MS, WORKBUDDY_TPS_PATH, WORKBUDDY_USAGE_PATH, type WorkBuddyAccountChoice, type WorkBuddyAdapter, type WorkBuddyAuthStatus, type WorkBuddyCandidateFailure, WorkBuddyCatalog, type WorkBuddyChatResult, type WorkBuddyCredential, type WorkBuddyCredentialRecovery, WorkBuddyCredentialRejectedError, WorkBuddyCredentialStore, type WorkBuddyCreditPackage, type WorkBuddyCredits, WorkBuddyEncryptedCredentialError, type WorkBuddyEncryptedField, type WorkBuddyHostHeartbeat, type WorkBuddyModelInfo, type WorkBuddyNativeModality, WorkBuddyPoolPreferences, type WorkBuddyProbeClient, type WorkBuddyProbeOutcome, type WorkBuddyProbeResult, type WorkBuddyProbeStore, type WorkBuddyReasoning, type WorkBuddyRecoveryCandidate, type WorkBuddyRefreshOutcome, WorkBuddyRegionState, type WorkBuddyShim, type WorkBuddyStatusRouteOptions, type WorkBuddyStoreOptions, WorkBuddyUpstreamClient, type WorkBuddyUpstreamModel, type WorkBuddyUsabilityProbeOptions, apply, asVolatile, authFileName, classifyUpstreamError, clearAtRestKeyCache, clearHostHeartbeat, cooldownOf, createAccountUsabilityProbe, createWorkBuddyAdapter, createWorkBuddyShim, creditOfStream, defaultDesktopAuthCandidates, defaultDesktopAuthDirs, defaultDesktopAuthPath, defaultOffModelIds, deriveAtRestKey, deriveAtRestKeyId, deriveCatalog, fallbackModelsFor, fetchAtRestKeyPayload, findWorkbuddyAppExecutable, hasEncryptedCredentialFields, imageDefaultFor, inject, isCredentialRejectedError, isEncryptedCredentialError, isEncryptedFieldWrapper, isHeartbeatProcessAlive, isWorkbuddyBundle, knownRegionOf, legacyAttributionRegion, legacyWorkbuddyOwnAuthPath, macosBundleExecutable, macosNestedAppBundles, modelIdOfBody, name, nativeModalityOf, nextRegionEnabled, nextRegionSlots, offDefaultFor, openEncryptedField, outcomeOfFailure, parseCreditMultiplier, parseReasoning, parseRetryAfter, parseUpstreamModel, parseWorkBuddyAuth, prepareChatBody, probeModel, probeRequestBody, probeSucceeded, processStartTimeMs, readAtRestKey, readHostHeartbeat, regionCleared, regionEnabled, regionEnabledOf, regionOf, regionOfProvider, regionOfStatusUrl, regionStateOf, regionsFieldIsCorrupt, regionsMapOf, registerWorkBuddyStatusRoute, resolveCredentialRecovery, selectAccountFor, settingsNamespaceOf, toPersistedWorkBuddyModel, unwrapVolatileDeep, withEffectiveOff, withWorkBuddyRegion, workBuddyDisplayName, workBuddyModelInput, workBuddyThinkingLevelMap, workBuddyWebStatus, workbuddyAccountId, workbuddyAppExecutableCandidates, workbuddyHostHeartbeatPath, workbuddyOwnAuthPath, writeHostHeartbeat };
|
|
5181
|
+
export { CREDENTIAL_REJECTED_CODE, Config, DEFAULT_PROBE_INPUT_TOKENS, ENCRYPTED_CREDENTIAL_CODE, FALLBACK_WORKBUDDY_MODELS, FALLBACK_WORKBUDDY_MODELS_GLOBAL, NATIVE_MODALITY_BY_MODEL_ID, PROBE_INPUT_TOKEN_CHOICES, PROBE_MAX_TOKENS, PROBE_SYSTEM_PROMPT, REFUSES_OFF_MODEL_IDS, type UpstreamErrorKind, WORKBUDDY_ACCOUNTS_REFRESH_PATH, WORKBUDDY_APP_EXECUTABLE_ENV, WORKBUDDY_AUTH_FILENAME, WORKBUDDY_AUTH_FILE_ENV, WORKBUDDY_CHECKIN_PATH, WORKBUDDY_CONNECT_VERSION, WORKBUDDY_GLOBAL_PROVIDER, WORKBUDDY_HOST_HEARTBEAT_FILENAME, WORKBUDDY_MODELS_REFRESH_PATH, WORKBUDDY_PROBE_PATH, WORKBUDDY_PROVIDER, WORKBUDDY_PROVIDERS, WORKBUDDY_PROVIDER_DISPLAY_NAMES, WORKBUDDY_REGIONS, WORKBUDDY_REGION_PARAM, WORKBUDDY_SETTINGS_NS, WORKBUDDY_STREAM_IDLE_TIMEOUT_MS, WORKBUDDY_TPS_PATH, WORKBUDDY_USAGE_PATH, type WorkBuddyAccountChoice, type WorkBuddyAdapter, type WorkBuddyAuthStatus, type WorkBuddyCandidateFailure, WorkBuddyCatalog, type WorkBuddyChatResult, type WorkBuddyCredential, type WorkBuddyCredentialRecovery, WorkBuddyCredentialRejectedError, WorkBuddyCredentialStore, type WorkBuddyCreditPackage, type WorkBuddyCredits, WorkBuddyEncryptedCredentialError, type WorkBuddyEncryptedField, type WorkBuddyHostHeartbeat, type WorkBuddyModelInfo, type WorkBuddyNativeModality, WorkBuddyPoolPreferences, type WorkBuddyProbeClient, type WorkBuddyProbeOutcome, type WorkBuddyProbeResult, type WorkBuddyProbeStore, type WorkBuddyReasoning, type WorkBuddyRecoveryCandidate, type WorkBuddyRefreshOutcome, WorkBuddyRegionState, type WorkBuddyShim, type WorkBuddyStatusRouteOptions, type WorkBuddyStoreOptions, WorkBuddyUpstreamClient, type WorkBuddyUpstreamModel, type WorkBuddyUsabilityProbeOptions, apply, asVolatile, authFileName, classifyUpstreamError, clearAtRestKeyCache, clearHostHeartbeat, cooldownOf, createAccountUsabilityProbe, createWorkBuddyAdapter, createWorkBuddyShim, creditOfStream, defaultDesktopAuthCandidates, defaultDesktopAuthDirs, defaultDesktopAuthPath, defaultOffModelIds, deriveAtRestKey, deriveAtRestKeyId, deriveCatalog, fallbackModelsFor, fetchAtRestKeyPayload, findWorkbuddyAppExecutable, hasEncryptedCredentialFields, imageDefaultFor, imageToolRegionOf, inject, isCredentialRejectedError, isEncryptedCredentialError, isEncryptedFieldWrapper, isHeartbeatProcessAlive, isWorkbuddyBundle, knownRegionOf, legacyAttributionRegion, legacyWorkbuddyOwnAuthPath, macosBundleExecutable, macosNestedAppBundles, modelIdOfBody, name, nativeModalityOf, nextRegionEnabled, nextRegionSlots, offDefaultFor, openEncryptedField, outcomeOfFailure, parseCreditMultiplier, parseReasoning, parseRetryAfter, parseUpstreamModel, parseWorkBuddyAuth, prepareChatBody, probeModel, probeRequestBody, probeSucceeded, processStartTimeMs, readAtRestKey, readHostHeartbeat, regionCleared, regionEnabled, regionEnabledOf, regionOf, regionOfProvider, regionOfStatusUrl, regionStateOf, regionsFieldIsCorrupt, regionsMapOf, registerWorkBuddyStatusRoute, resolveCredentialRecovery, selectAccountFor, settingsNamespaceOf, toPersistedWorkBuddyModel, unwrapVolatileDeep, videoToolRegionOf, withEffectiveOff, withWorkBuddyRegion, workBuddyDisplayName, workBuddyModelInput, workBuddyThinkingLevelMap, workBuddyWebStatus, workbuddyAccountId, workbuddyAppExecutableCandidates, workbuddyHostHeartbeatPath, workbuddyOwnAuthPath, writeHostHeartbeat };
|