dsh-kenari-plugin 0.1.1 → 0.2.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/README.en.md +15 -10
- package/README.md +15 -10
- package/cordis.patch.yml +17 -20
- package/lib/catalog-view.d.ts +3 -0
- package/lib/catalog-view.d.ts.map +1 -1
- package/lib/catalog-view.js.map +1 -1
- package/lib/catalog.d.ts +15 -2
- package/lib/catalog.d.ts.map +1 -1
- package/lib/catalog.js +19 -4
- package/lib/catalog.js.map +1 -1
- package/lib/index.d.ts +4 -2
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +8 -6
- package/lib/index.js.map +1 -1
- package/lib/llm/candidates.d.ts +4 -1
- package/lib/llm/candidates.d.ts.map +1 -1
- package/lib/llm/candidates.js +9 -5
- package/lib/llm/candidates.js.map +1 -1
- package/lib/llm/recovery.d.ts +19 -7
- package/lib/llm/recovery.d.ts.map +1 -1
- package/lib/llm/recovery.js +97 -12
- package/lib/llm/recovery.js.map +1 -1
- package/lib/llm/retry.d.ts +14 -16
- package/lib/llm/retry.d.ts.map +1 -1
- package/lib/llm/retry.js +20 -15
- package/lib/llm/retry.js.map +1 -1
- package/package.json +4 -2
package/README.en.md
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
# dsh-kenari-plugin
|
|
2
2
|
|
|
3
|
+
[](https://www.npmjs.com/package/dsh-kenari-plugin)
|
|
4
|
+
|
|
3
5
|
English | [中文](README.md)
|
|
4
6
|
|
|
5
7
|
Connects [Kenari](https://kenari.id) to the DeepSeek Harness (dsh):
|
|
@@ -22,13 +24,15 @@ dsh plugin --profile web add @deepseek-ai/dsh-web-fetch-http@0.1.5-rc.1
|
|
|
22
24
|
|
|
23
25
|
## Install
|
|
24
26
|
|
|
27
|
+
The plugin is published on [npmjs](https://www.npmjs.com/package/dsh-kenari-plugin). Install it with dsh's own plugin command:
|
|
28
|
+
|
|
25
29
|
```sh
|
|
26
30
|
dsh plugin --profile web add dsh-kenari-plugin
|
|
27
31
|
dsh --profile web --dump-config | grep -A3 dsh-kenari-plugin # confirm the patch layer applied
|
|
28
32
|
dsh --profile web
|
|
29
33
|
```
|
|
30
34
|
|
|
31
|
-
To work on the plugin source, install from a clone instead: `pnpm install && pnpm build`, then `dsh plugin --profile web add "$PWD"`. The profile links to that directory, so after installing you only rerun `pnpm build` for source changes.
|
|
35
|
+
To pin a version, append it to the name, for example `dsh-kenari-plugin@0.1.1`. To work on the plugin source, install from a clone instead: `pnpm install && pnpm build`, then `dsh plugin --profile web add "$PWD"`. The profile links to that directory, so after installing you only rerun `pnpm build` for source changes.
|
|
32
36
|
|
|
33
37
|
## Set up your key
|
|
34
38
|
|
|
@@ -56,14 +60,14 @@ When the plan cannot be read (no key, a share-page key that gets 403, an account
|
|
|
56
60
|
|
|
57
61
|
| Model id | Display name | Context | Max output | Notes |
|
|
58
62
|
| --- | --- | --- | --- | --- |
|
|
59
|
-
| `deepseek-v4-flash` | DeepSeek v4 Flash | 1M | 64K | reasoning low/high/max |
|
|
60
|
-
| `glm-5-3-flash` | GLM 5.3 Flash | 1M | 64K | vision, reasoning low/high/max |
|
|
61
|
-
| `gpt-5-6-luna` | GPT 5.6 Luna | 872k | 64K | vision + PDF, 6 reasoning levels |
|
|
62
|
-
| `mimo-v2-5` | MiMo v2.5 | 1.05M | 64K | vision + audio + video |
|
|
63
|
+
| `deepseek-v4-flash` | Kenari DeepSeek v4 Flash | 1M | 64K | reasoning low/high/max |
|
|
64
|
+
| `glm-5-3-flash` | Kenari GLM 5.3 Flash | 1M | 64K | vision, reasoning low/high/max |
|
|
65
|
+
| `gpt-5-6-luna` | Kenari GPT 5.6 Luna | 872k | 64K | vision + PDF, 6 reasoning levels |
|
|
66
|
+
| `mimo-v2-5` | Kenari MiMo v2.5 | 1.05M | 64K | vision + audio + video |
|
|
63
67
|
|
|
64
68
|
None of the four is free, so **a new account with no balance hits 402 on its first session**. Add a `:free` model or top up first. `:free` models stay out of the route by default; filter by "free" in the picker to add them.
|
|
65
69
|
|
|
66
|
-
Display names and output caps are derived by the plugin, since the catalog publishes neither. A name is reconstructed from the id, and the output cap is a quarter of the context window, clamped to [1K, 64K]; models without a published window get no cap field. The name is presentation only.
|
|
70
|
+
Display names and output caps are derived by the plugin, since the catalog publishes neither. A name is reconstructed from the id (the few models whose catalog entry carries a `name` keep the vendor's wording), then prefixed with `Kenari ` — dsh's model button and session header show the display name alone, so without the prefix a Kenari route is indistinguishable from an official DeepSeek model of the same name. The output cap is a quarter of the context window, clamped to [1K, 64K]; models without a published window get no cap field. The name is presentation only; a model's identity is always its id.
|
|
67
71
|
|
|
68
72
|
Once you edit the list yourself, your config replaces the preset as a whole (pi-ai's semantics) and the plugin stops touching it.
|
|
69
73
|
|
|
@@ -104,17 +108,17 @@ The `available()` contract forbids network calls, so a Kenari outage only surfac
|
|
|
104
108
|
|
|
105
109
|
A failed session model call on a Kenari route recovers on its own:
|
|
106
110
|
|
|
107
|
-
1. Retry 5 times at a fixed 5 second interval
|
|
111
|
+
1. Retry 5 times at a fixed 5 second interval **on the same route**, with the budget counted per route
|
|
108
112
|
2. When retries run out, switch to a model with at least as large a window, preferring the smallest adequate one in the same provider before crossing providers
|
|
109
113
|
3. If that also fails, fall back to dsh's default provider and model
|
|
110
114
|
|
|
111
|
-
Only when all three fail does the turn error out. Retry and switching happen inside the same step, so the task is never interrupted and the plugin sends no "continue" message. A switched model does not inherit `reasoningEffort` (levels are per model); the switch injects a notice you can disable with `modelSwitchNoticeEnabled`, and
|
|
115
|
+
Only when all three fail does the turn error out. Retry and switching happen inside the same step, so the task is never interrupted and the plugin sends no "continue" message. A switched model does not inherit `reasoningEffort` (levels are per model); the switch injects a notice you can disable with `modelSwitchNoticeEnabled`, and the start of a retry sequence injects one too (during retries the UI shows a single failed attempt, so an unexplained wait is worse), which `modelRetryNoticeEnabled` disables. Picking a model yourself with `/model` clears the automatic switch.
|
|
112
116
|
|
|
113
117
|
`CONTEXT_WINDOW_EXCEEDED` is deliberately not retryable. Retrying the same context on the same model can only fail again, so it goes straight to the model switch, which is often where recovery works.
|
|
114
118
|
|
|
115
119
|
Two limits:
|
|
116
120
|
|
|
117
|
-
- **
|
|
121
|
+
- **Retrying is done by the plugin's own recovery state machine; dsh's `dsh-llm-retry` is deliberately switched off on Kenari routes** (`providers.kenari.retryPolicy.maxRetries: 0` in `cordis.patch.yml`, same for the plugin's own adapter). The reason is that it **fails silently**: `agent/request-error` has no default behaviour, so a listener that does not call `next()` vetoes everything after it, and the plugin cannot observe whether a live reload reordered that chain. Measured on a live session: zero `llm/retry` events and the model switch happened on the first failure — the promised retries never ran. There is therefore exactly one source for the retry budget: `modelRetryMaxRetries` / `modelRetryDelayMs` / `modelRetryableCodes`. If you set that route's `retryPolicy` back above 0, the plugin steps aside and lets dsh own it, so the two never count the same retry twice (the three scenarios in `test/retry-repro.mjs` guard this boundary).
|
|
118
122
|
- **A `TRANSPORT` failure may have completed and been billed on the server**, so retrying can bill twice. Narrow `modelRetryableCodes` if that matters. This is separate from the no-retry-on-timeout rule for generation endpoints.
|
|
119
123
|
|
|
120
124
|
Field defaults are in "Configuration reference".
|
|
@@ -243,9 +247,10 @@ Most fields can be edited under Settings → Kenari. The ones marked (restart) b
|
|
|
243
247
|
| `nativeProviderId` | `kenari-direct` | Route id for that adapter |
|
|
244
248
|
| `modelRecoveryEnabled` | `true` | Master switch for automatic recovery |
|
|
245
249
|
| `modelRecoveryProviders` | `['kenari','kenari-direct']` | Routes covered by recovery |
|
|
246
|
-
| `modelRetryMaxRetries` | `5` | Extra retries
|
|
250
|
+
| `modelRetryMaxRetries` | `5` | Extra retries per route |
|
|
247
251
|
| `modelRetryDelayMs` | `5000` | Fixed wait before each retry |
|
|
248
252
|
| `modelRetryableCodes` | `EMPTY_RESPONSE` `RATE_LIMIT` `SERVER` `TIMEOUT` `TRANSPORT` | Retryable failure codes, must not be empty |
|
|
253
|
+
| `modelRetryNoticeEnabled` | `true` | Inject a notice when retrying starts |
|
|
249
254
|
| `modelSwitchEnabled` | `true` | Whether to switch models |
|
|
250
255
|
| `modelSwitchDelayMs` | `5000` | Wait before a switch or fallback |
|
|
251
256
|
| `modelSwitchSkipCodes` | `AUTH` `INVALID_CREDENTIAL` `MISSING_CREDENTIAL` `QUOTA` | Codes that skip straight to the provider fallback |
|
package/README.md
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
# dsh-kenari-plugin
|
|
2
2
|
|
|
3
|
+
[](https://www.npmjs.com/package/dsh-kenari-plugin)
|
|
4
|
+
|
|
3
5
|
[English](README.en.md) | 中文
|
|
4
6
|
|
|
5
7
|
把 [Kenari](https://kenari.id) 接进 DeepSeek Harness(dsh):
|
|
@@ -22,13 +24,15 @@ dsh plugin --profile web add @deepseek-ai/dsh-web-fetch-http@0.1.5-rc.1
|
|
|
22
24
|
|
|
23
25
|
## 安装
|
|
24
26
|
|
|
27
|
+
插件已发布到 [npmjs](https://www.npmjs.com/package/dsh-kenari-plugin),用 dsh 自己的插件命令装:
|
|
28
|
+
|
|
25
29
|
```sh
|
|
26
30
|
dsh plugin --profile web add dsh-kenari-plugin
|
|
27
31
|
dsh --profile web --dump-config | grep -A3 dsh-kenari-plugin # 确认 patch 层生效
|
|
28
32
|
dsh --profile web
|
|
29
33
|
```
|
|
30
34
|
|
|
31
|
-
|
|
35
|
+
要固定版本就在包名后加,例如 `dsh-kenari-plugin@0.1.1`。改插件源码时换成 clone 安装:`pnpm install && pnpm build`,再 `dsh plugin --profile web add "$PWD"`,之后改源码只需重新 `pnpm build`。
|
|
32
36
|
|
|
33
37
|
## 配置密钥
|
|
34
38
|
|
|
@@ -56,14 +60,14 @@ KENARI_API_KEY=kn-...
|
|
|
56
60
|
|
|
57
61
|
| 模型 id | 显示名称 | 上下文 | 最大输出 | 备注 |
|
|
58
62
|
| --- | --- | --- | --- | --- |
|
|
59
|
-
| `deepseek-v4-flash` | DeepSeek v4 Flash | 1M | 64K | reasoning low/high/max |
|
|
60
|
-
| `glm-5-3-flash` | GLM 5.3 Flash | 1M | 64K | 视觉,reasoning low/high/max |
|
|
61
|
-
| `gpt-5-6-luna` | GPT 5.6 Luna | 872k | 64K | 视觉 + PDF,6 档 reasoning |
|
|
62
|
-
| `mimo-v2-5` | MiMo v2.5 | 1.05M | 64K | 视觉 + 音频 + 视频 |
|
|
63
|
+
| `deepseek-v4-flash` | Kenari DeepSeek v4 Flash | 1M | 64K | reasoning low/high/max |
|
|
64
|
+
| `glm-5-3-flash` | Kenari GLM 5.3 Flash | 1M | 64K | 视觉,reasoning low/high/max |
|
|
65
|
+
| `gpt-5-6-luna` | Kenari GPT 5.6 Luna | 872k | 64K | 视觉 + PDF,6 档 reasoning |
|
|
66
|
+
| `mimo-v2-5` | Kenari MiMo v2.5 | 1.05M | 64K | 视觉 + 音频 + 视频 |
|
|
63
67
|
|
|
64
68
|
四个都不是免费模型,**没有余额的新账户第一次会话会拿到 402**,先加一个 `:free` 模型或充值。`:free` 模型默认不进路由,用挑选器里的「免费」筛一下再加。
|
|
65
69
|
|
|
66
|
-
|
|
70
|
+
显示名称与最大输出由插件推导(目录里都没有):名称先还原自 id(目录自己带 `name` 的那几个模型照抄厂商写法),再统一加 `Kenari ` 前缀——dsh 的模型按钮和会话头部只有展示名一个字段,不带前缀就分不出它是 Kenari 路由还是官方 DeepSeek 的同名模型;最大输出取窗口的 1/4 并夹在 [1K, 64K],不公布窗口的模型不写这个字段。名称只用于展示,模型身份始终是 id。
|
|
67
71
|
|
|
68
72
|
你手动改过列表之后,用户配置整份覆盖预设(pi-ai 的语义),插件不再改。
|
|
69
73
|
|
|
@@ -104,17 +108,17 @@ Kenari 有三条线,base URL 形状不同,写错返回 405 而不是 404:
|
|
|
104
108
|
|
|
105
109
|
Kenari 路由上的会话模型调用失败后自动恢复:
|
|
106
110
|
|
|
107
|
-
1. 按固定 5 秒间隔重试 5
|
|
111
|
+
1. 按固定 5 秒间隔重试 5 次,**同一条路由**上重发,预算按路由计算
|
|
108
112
|
2. 用尽后换一个窗口不小于当前模型的模型,先在同一个 provider 内挑最小的够用者,没有候选再跨 provider
|
|
109
113
|
3. 仍失败则回退 dsh 的默认 provider 与模型
|
|
110
114
|
|
|
111
|
-
三步都失败这一轮才报错。重试与换模型都在同一个 step 内,任务不中断,插件不会再发「继续」消息。换模型不继承 `reasoningEffort`(档位按模型定义),换完注入一条说明,可用 `modelSwitchNoticeEnabled`
|
|
115
|
+
三步都失败这一轮才报错。重试与换模型都在同一个 step 内,任务不中断,插件不会再发「继续」消息。换模型不继承 `reasoningEffort`(档位按模型定义),换完注入一条说明,可用 `modelSwitchNoticeEnabled` 关掉;重试开始时也会注入一条说明(重试期间界面上只有一次失败的尝试,不解释就是一个没有理由的等待),可用 `modelRetryNoticeEnabled` 关掉。手动 `/model` 会清除自动切换。
|
|
112
116
|
|
|
113
117
|
`CONTEXT_WINDOW_EXCEEDED` 刻意不在可重试集里:同模型同上下文重试必然再失败,直接进换模型阶段,而这一步往往正是恢复生效的地方。
|
|
114
118
|
|
|
115
119
|
两处限制:
|
|
116
120
|
|
|
117
|
-
-
|
|
121
|
+
- **重试由插件自己的恢复状态机执行,Kenari 路由上 dsh 自带的 `dsh-llm-retry` 被刻意关掉**(`cordis.patch.yml` 里 `providers.kenari.retryPolicy.maxRetries: 0`,插件自带适配器同理)。原因是它**会静默失效**:`agent/request-error` 是没有默认行为的瀑布,不调用 `next()` 的监听器会否决它后面的一切,而插件无法观察自己的注册顺序有没有被 live reload 之类的动作翻过来。实测线上会话里 `llm/retry` 事件数为 0、换模型发生在第一次失败上,承诺的重试从未执行。因此重试的预算只有一个来源:`modelRetryMaxRetries` / `modelRetryDelayMs` / `modelRetryableCodes`。如果你把该路由的 `retryPolicy` 改回大于 0,插件会在这条路由上让位给 dsh,两条机制不会各数一遍(`test/retry-repro.mjs` 的三个场景守着这条边界)。
|
|
118
122
|
- **`TRANSPORT` 类失败在服务端可能已经完成并计费**,重试会重复扣费。介意就把 `modelRetryableCodes` 调小。这与生成类端点的「超时不重试」是两回事。
|
|
119
123
|
|
|
120
124
|
字段与默认值见「配置项」。
|
|
@@ -243,9 +247,10 @@ dsh plugin --profile web remove dsh-kenari-plugin
|
|
|
243
247
|
| `nativeProviderId` | `kenari-direct` | 自带适配器的路由 id |
|
|
244
248
|
| `modelRecoveryEnabled` | `true` | 失败自动恢复总开关 |
|
|
245
249
|
| `modelRecoveryProviders` | `['kenari','kenari-direct']` | 参与恢复的路由 |
|
|
246
|
-
| `modelRetryMaxRetries` | `5` |
|
|
250
|
+
| `modelRetryMaxRetries` | `5` | 每条路由的额外重试次数 |
|
|
247
251
|
| `modelRetryDelayMs` | `5000` | 每次重试前的固定等待 |
|
|
248
252
|
| `modelRetryableCodes` | `EMPTY_RESPONSE` `RATE_LIMIT` `SERVER` `TIMEOUT` `TRANSPORT` | 可重试的失败码,不能为空 |
|
|
253
|
+
| `modelRetryNoticeEnabled` | `true` | 开始重试时注入通知 |
|
|
249
254
|
| `modelSwitchEnabled` | `true` | 是否换模型 |
|
|
250
255
|
| `modelSwitchDelayMs` | `5000` | 换模型或回退前的等待 |
|
|
251
256
|
| `modelSwitchSkipCodes` | `AUTH` `INVALID_CREDENTIAL` `MISSING_CREDENTIAL` `QUOTA` | 跳过同 provider 换模型,直接回退 |
|
package/cordis.patch.yml
CHANGED
|
@@ -72,10 +72,16 @@
|
|
|
72
72
|
# src/catalog.ts's `toModelProfile()` writes, so the preset and the computed
|
|
73
73
|
# default produce identical entries for the same ids.
|
|
74
74
|
#
|
|
75
|
-
# Failure recovery:
|
|
76
|
-
#
|
|
77
|
-
#
|
|
78
|
-
#
|
|
75
|
+
# Failure recovery: retries on this route are owned by the plugin's own recovery
|
|
76
|
+
# state machine (src/llm/recovery.ts), which restarts the step itself. `maxRetries:
|
|
77
|
+
# 0` makes dsh's `llm-retry` a deliberate no-op here, so exactly one component owns
|
|
78
|
+
# retrying and the behaviour stops depending on where `llm-retry` lands in the
|
|
79
|
+
# `agent/request-error` waterfall — a live reload can re-register it behind the
|
|
80
|
+
# plugin, and a listener that does not call `next()` vetoes everything after it.
|
|
81
|
+
# Measured on a live session: zero `llm/retry` events and the model switch happened
|
|
82
|
+
# on the first failure, i.e. the promised retries never ran. The budget now comes
|
|
83
|
+
# from the plugin's `modelRetryMaxRetries` / `modelRetryDelayMs` /
|
|
84
|
+
# `modelRetryableCodes`, which is one source of truth instead of two.
|
|
79
85
|
# ---------------------------------------------------------------------------
|
|
80
86
|
- id: llm-pi-ai
|
|
81
87
|
config:
|
|
@@ -85,19 +91,9 @@
|
|
|
85
91
|
apiKeyEnv: KENARI_API_KEY
|
|
86
92
|
api: openai-completions
|
|
87
93
|
baseURL: https://kenari.id/v1
|
|
88
|
-
# A flat 5s between retries: dsh's backoff is `initialDelay * 2^n` capped
|
|
89
|
-
# at `maxDelay`, so making the two equal (and disabling jitter) is the
|
|
90
|
-
# only way to express "wait 5s every time".
|
|
91
|
-
# CONTEXT_WINDOW_EXCEEDED is deliberately left out of the retryable set:
|
|
92
|
-
# retrying the same context on the same model can only fail again, and
|
|
93
|
-
# the plugin's escalation is the thing that can actually fix it.
|
|
94
94
|
retryPolicy:
|
|
95
95
|
mode: normal
|
|
96
|
-
maxRetries:
|
|
97
|
-
backoff:
|
|
98
|
-
initialDelayMs: 5000
|
|
99
|
-
maxDelayMs: 5000
|
|
100
|
-
jitterRatio: 0
|
|
96
|
+
maxRetries: 0
|
|
101
97
|
compat:
|
|
102
98
|
supportsDeveloperRole: false
|
|
103
99
|
maxTokensField: max_tokens
|
|
@@ -110,28 +106,29 @@
|
|
|
110
106
|
# `name` 填 dsh 模型目录里的「显示名称」(不填就是空框),`maxTokens` 填每请求
|
|
111
107
|
# 输出上限(不填则整条路由共用 pi-ai 的 defaultMaxTokens 32768)。两者都由
|
|
112
108
|
# catalog.ts 的 displayNameOf / recommendedMaxTokens 推导——写模型时用的是同一套
|
|
113
|
-
#
|
|
109
|
+
# 规则,所以手动加的和这里预置的取值口径一致(显示名统一带 `Kenari ` 前缀,
|
|
110
|
+
# 与官方 DeepSeek 的同名模型区分开)。窗口的 1/4 夹在 [8192, 65536],
|
|
114
111
|
# 这四个的窗口都是 ~1M,所以都取到上限。
|
|
115
112
|
- id: deepseek-v4-flash
|
|
116
|
-
name: DeepSeek v4 Flash
|
|
113
|
+
name: Kenari DeepSeek v4 Flash
|
|
117
114
|
contextWindow: 1048576
|
|
118
115
|
maxTokens: 65536
|
|
119
116
|
input: [text]
|
|
120
117
|
reasoningEfforts: { low: low, high: high, max: max }
|
|
121
118
|
- id: glm-5-3-flash
|
|
122
|
-
name: GLM 5.3 Flash
|
|
119
|
+
name: Kenari GLM 5.3 Flash
|
|
123
120
|
contextWindow: 1000000
|
|
124
121
|
maxTokens: 65536
|
|
125
122
|
input: [text, image]
|
|
126
123
|
reasoningEfforts: { low: low, high: high, max: max }
|
|
127
124
|
- id: gpt-5-6-luna
|
|
128
|
-
name: GPT 5.6 Luna
|
|
125
|
+
name: Kenari GPT 5.6 Luna
|
|
129
126
|
contextWindow: 872000
|
|
130
127
|
maxTokens: 65536
|
|
131
128
|
input: [text, image]
|
|
132
129
|
reasoningEfforts: { off: none, low: low, medium: medium, high: high, xhigh: xhigh, max: max }
|
|
133
130
|
- id: mimo-v2-5
|
|
134
|
-
name: MiMo v2.5
|
|
131
|
+
name: Kenari MiMo v2.5
|
|
135
132
|
contextWindow: 1050000
|
|
136
133
|
maxTokens: 65536
|
|
137
134
|
input: [text, image]
|
package/lib/catalog-view.d.ts
CHANGED
|
@@ -32,6 +32,9 @@ interface ModelView {
|
|
|
32
32
|
* 目录里只有 8 个模型带 `name`,其余 70 多个要按 id 还原(见 `displayNameOf`)。
|
|
33
33
|
* 若这里原样透传,无名模型的 `name` 就等于 id,界面把 id 印两遍;而同一个模型的
|
|
34
34
|
* `profile.name` 又已经是派生名——同一份数据里两个口径,改这里就是为了消掉它。
|
|
35
|
+
*
|
|
36
|
+
* 给的是最终展示名(含路由前缀),与写进路由的 `profile.name` 完全一致:这一列的意义
|
|
37
|
+
* 就是"dsh 会印成什么",两处不一致时该信的是 dsh 那边。
|
|
35
38
|
*/
|
|
36
39
|
name: string;
|
|
37
40
|
ownedBy?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"catalog-view.d.ts","sourceRoot":"","sources":["../src/catalog-view.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAGlD,OAAO,EACyE,cAAc,EAC7F,MAAM,cAAc,CAAA;AACrB,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAe,MAAM,cAAc,CAAA;AAE7E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAC7C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,WAAW,CAAA;AAE/C,yDAAyD;AACzD,eAAO,MAAM,sBAAsB,uBAAuB,CAAA;AAE1D,cAAc;AACd,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAA;IAC7B,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAA;IAC/B,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAA;CAC5B;AAED,iDAAiD;AACjD,UAAU,SAAS;IACjB,EAAE,EAAE,MAAM,CAAA;IACV
|
|
1
|
+
{"version":3,"file":"catalog-view.d.ts","sourceRoot":"","sources":["../src/catalog-view.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAGlD,OAAO,EACyE,cAAc,EAC7F,MAAM,cAAc,CAAA;AACrB,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAe,MAAM,cAAc,CAAA;AAE7E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAC7C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,WAAW,CAAA;AAE/C,yDAAyD;AACzD,eAAO,MAAM,sBAAsB,uBAAuB,CAAA;AAE1D,cAAc;AACd,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAA;IAC7B,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAA;IAC/B,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAA;CAC5B;AAED,iDAAiD;AACjD,UAAU,SAAS;IACjB,EAAE,EAAE,MAAM,CAAA;IACV;;;;;;;;;OASG;IACH,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,IAAI,EAAE,OAAO,CAAA;IACb,IAAI,EAAE,OAAO,CAAA;IACb,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,WAAW,EAAE,OAAO,CAAA;IACpB,SAAS,EAAE,MAAM,EAAE,CAAA;IACnB,KAAK,EAAE,MAAM,EAAE,CAAA;IACf,IAAI,EAAE,aAAa,EAAE,CAAA;IACrB,KAAK,EAAE,MAAM,EAAE,CAAA;IACf,cAAc,EAAE,MAAM,EAAE,CAAA;IACxB,OAAO,EAAE,UAAU,CAAC,OAAO,cAAc,CAAC,CAAA;CAC3C;AAED,gDAAgD;AAChD,MAAM,WAAW,WAAW;IAC1B,WAAW,EAAE,MAAM,CAAA;IACnB,KAAK,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,EAAE,CAAA;IAC5E,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,IAAI,EAAE,SAAS,aAAa,EAAE,CAAA;IAC9B,MAAM,EAAE,SAAS,EAAE,CAAA;CACpB;AAuBD;;;;;GAKG;AACH,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,eAAe,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,CAqCxG;AAiBD;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,eAAe,GAAG,IAAI,CAS7E"}
|
package/lib/catalog-view.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"catalog-view.js","sourceRoot":"","sources":["../src/catalog-view.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAKH,OAAO,EACL,eAAe,EAAE,gBAAgB,EAAE,aAAa,EAAE,aAAa,EAAE,WAAW,EAAE,cAAc,GAC7F,MAAM,cAAc,CAAA;AAErB,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAIvC,yDAAyD;AACzD,MAAM,CAAC,MAAM,sBAAsB,GAAG,oBAAoB,CAAA;
|
|
1
|
+
{"version":3,"file":"catalog-view.js","sourceRoot":"","sources":["../src/catalog-view.ts"],"names":[],"mappings":"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"}
|
package/lib/catalog.d.ts
CHANGED
|
@@ -103,14 +103,27 @@ export declare function capabilityTagsOf(model: KenariModel): CapabilityTag[];
|
|
|
103
103
|
*/
|
|
104
104
|
export declare function reasoningEffortsOf(model: KenariModel): Record<string, string> | undefined;
|
|
105
105
|
/**
|
|
106
|
-
*
|
|
106
|
+
* 展示名统一带的路由前缀。
|
|
107
|
+
*
|
|
108
|
+
* dsh 只在 `/` 模型菜单里印所属 provider,composer 的模型按钮、会话头部这些位置只有
|
|
109
|
+
* 展示名一个字段,而 Kenari 与官方 DeepSeek 存在同名模型(`deepseek-v4-1-flash` 两边
|
|
110
|
+
* 都有),不写前缀就分不出当前用的是哪条路由。
|
|
111
|
+
*/
|
|
112
|
+
export declare const DISPLAY_NAME_PREFIX = "Kenari ";
|
|
113
|
+
/**
|
|
114
|
+
* 一个模型**自己的**名字:目录给了 `name` 就用它,否则按 id 还原。
|
|
107
115
|
*
|
|
108
116
|
* 目录里只有 8 个模型自带 `name`,而且**都不是会话模型**(语音、图像、视频那几个),
|
|
109
|
-
*
|
|
117
|
+
* 所以会话模型的名字必须能从 id 还原。这里的推导不是猜:Kenari 给出 `name` 的那 8 个
|
|
110
118
|
* 模型与本函数的输出**逐字一致**(Veo 3.1 Lite、MiniMax Speech 2.8 Turbo、
|
|
111
119
|
* Nano Banana Pro…),`test/catalog-view.mjs` 用它们反测。
|
|
120
|
+
*/
|
|
121
|
+
export declare function kenariNameOf(model: KenariModel): string;
|
|
122
|
+
/**
|
|
123
|
+
* 一个模型的展示名:{@link DISPLAY_NAME_PREFIX} + {@link kenariNameOf}。
|
|
112
124
|
*
|
|
113
125
|
* dsh 的「显示名称」是纯展示字段(不参与请求),所以还原值即使不完美也只是可改的默认值。
|
|
126
|
+
* 前缀是这一层唯一的加工:模型身份始终是 id,加前缀不动请求、也不动任何按 id 的比较。
|
|
114
127
|
*/
|
|
115
128
|
export declare function displayNameOf(model: KenariModel): string;
|
|
116
129
|
/**
|
package/lib/catalog.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"catalog.d.ts","sourceRoot":"","sources":["../src/catalog.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,WAAW,CAAA;AAK/C,uDAAuD;AACvD,MAAM,MAAM,cAAc,GAAG,WAAW,GAAG,QAAQ,GAAG,YAAY,CAAA;AAKlE,qDAAqD;AACrD,MAAM,WAAW,aAAa;IAC5B,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACrB,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACtB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1B,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3B,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,IAAI,CAAC,EAAE,MAAM,CAAA;CACd;AAED,0DAA0D;AAC1D,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACvB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,gCAAgC;AAChC,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAA;IACV,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,iCAAiC;IACjC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,UAAU,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,CAAA;IACpD,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAA;IAC5B,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,OAAO,CAAC,EAAE,aAAa,CAAA;IACvB,aAAa,CAAC,EAAE,iBAAiB,EAAE,CAAA;IACnC,SAAS,CAAC,EAAE,MAAM,EAAE,CAAA;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;IACjB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;IAClB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,iBAAiB,CAAC,EAAE,MAAM,CAAA;CAC3B;AAED,qCAAqC;AACrC,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,WAAW,CAAA;IAClB,EAAE,EAAE,MAAM,CAAA;IACV,wCAAwC;IACxC,IAAI,EAAE,OAAO,CAAA;IACb,+BAA+B;IAC/B,WAAW,EAAE,OAAO,CAAA;IACpB,uCAAuC;IACvC,OAAO,EAAE,MAAM,EAAE,CAAA;IACjB,0BAA0B;IAC1B,QAAQ,EAAE,MAAM,EAAE,CAAA;CACnB;AAED,gCAAgC;AAChC,qBAAa,YAAa,SAAQ,KAAK;gBACzB,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE;CAI3D;AAED,uCAAuC;AACvC,wBAAgB,WAAW,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAEvD;AAED,+DAA+D;AAC/D,wBAAgB,aAAa,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAIzD;AAED,wEAAwE;AACxE,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,WAAW,GAAG,CAAC,MAAM,GAAG,OAAO,CAAC,EAAE,CAK1E;AAED,kCAAkC;AAClC,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,KAAK,GAAG,WAAW,CAAA;AAE7E,6BAA6B;AAC7B,eAAO,MAAM,eAAe,EAAE,SAAS,aAAa,EAAoD,CAAA;AAExG;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,WAAW,GAAG,aAAa,EAAE,CAUpE;AAKD;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAQzF;AAwDD
|
|
1
|
+
{"version":3,"file":"catalog.d.ts","sourceRoot":"","sources":["../src/catalog.ts"],"names":[],"mappings":"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"}
|
package/lib/catalog.js
CHANGED
|
@@ -139,18 +139,33 @@ function slugToDisplayName(id) {
|
|
|
139
139
|
return merged.map(spellNameToken).join(' ');
|
|
140
140
|
}
|
|
141
141
|
/**
|
|
142
|
-
*
|
|
142
|
+
* 展示名统一带的路由前缀。
|
|
143
|
+
*
|
|
144
|
+
* dsh 只在 `/` 模型菜单里印所属 provider,composer 的模型按钮、会话头部这些位置只有
|
|
145
|
+
* 展示名一个字段,而 Kenari 与官方 DeepSeek 存在同名模型(`deepseek-v4-1-flash` 两边
|
|
146
|
+
* 都有),不写前缀就分不出当前用的是哪条路由。
|
|
147
|
+
*/
|
|
148
|
+
export const DISPLAY_NAME_PREFIX = 'Kenari ';
|
|
149
|
+
/**
|
|
150
|
+
* 一个模型**自己的**名字:目录给了 `name` 就用它,否则按 id 还原。
|
|
143
151
|
*
|
|
144
152
|
* 目录里只有 8 个模型自带 `name`,而且**都不是会话模型**(语音、图像、视频那几个),
|
|
145
|
-
*
|
|
153
|
+
* 所以会话模型的名字必须能从 id 还原。这里的推导不是猜:Kenari 给出 `name` 的那 8 个
|
|
146
154
|
* 模型与本函数的输出**逐字一致**(Veo 3.1 Lite、MiniMax Speech 2.8 Turbo、
|
|
147
155
|
* Nano Banana Pro…),`test/catalog-view.mjs` 用它们反测。
|
|
156
|
+
*/
|
|
157
|
+
export function kenariNameOf(model) {
|
|
158
|
+
const named = typeof model.name === 'string' ? model.name.trim() : '';
|
|
159
|
+
return named.length > 0 ? named : slugToDisplayName(model.id);
|
|
160
|
+
}
|
|
161
|
+
/**
|
|
162
|
+
* 一个模型的展示名:{@link DISPLAY_NAME_PREFIX} + {@link kenariNameOf}。
|
|
148
163
|
*
|
|
149
164
|
* dsh 的「显示名称」是纯展示字段(不参与请求),所以还原值即使不完美也只是可改的默认值。
|
|
165
|
+
* 前缀是这一层唯一的加工:模型身份始终是 id,加前缀不动请求、也不动任何按 id 的比较。
|
|
150
166
|
*/
|
|
151
167
|
export function displayNameOf(model) {
|
|
152
|
-
|
|
153
|
-
return named.length > 0 ? named : slugToDisplayName(model.id);
|
|
168
|
+
return DISPLAY_NAME_PREFIX + kenariNameOf(model);
|
|
154
169
|
}
|
|
155
170
|
/**
|
|
156
171
|
* 每请求最大输出 token 的推荐值。
|
package/lib/catalog.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"catalog.js","sourceRoot":"","sources":["../src/catalog.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AAGzD,+BAA+B;AAC/B,MAAM,aAAa,GAAG,MAAM,CAAA;AAK5B,+CAA+C;AAC/C,MAAM,aAAa,GAAG,SAAS,CAAA;AAgE/B,gCAAgC;AAChC,MAAM,OAAO,YAAa,SAAQ,KAAK;IACrC,YAAY,OAAe,EAAE,OAA6B;QACxD,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;QACvB,IAAI,CAAC,IAAI,GAAG,cAAc,CAAA;IAC5B,CAAC;CACF;AAED,uCAAuC;AACvC,MAAM,UAAU,WAAW,CAAC,KAAkB;IAC5C,OAAO,KAAK,CAAC,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,OAAO,EAAE,IAAI,KAAK,IAAI,CAAA;AACnE,CAAC;AAED,+DAA+D;AAC/D,MAAM,UAAU,aAAa,CAAC,KAAkB;IAC9C,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,CAAA;IACjC,IAAI,SAAS,KAAK,SAAS,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAA;IAC7F,OAAO,KAAK,CAAC,QAAQ,KAAK,SAAS,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,MAAM,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;AAC1F,CAAC;AAED,wEAAwE;AACxE,MAAM,UAAU,iBAAiB,CAAC,KAAkB;IAClD,MAAM,QAAQ,GAAG,KAAK,CAAC,UAAU,EAAE,KAAK,IAAI,EAAE,CAAA;IAC9C,MAAM,GAAG,GAAyB,CAAC,MAAM,CAAC,CAAA;IAC1C,IAAI,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC;QAAE,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IACjD,OAAO,GAAG,CAAA;AACZ,CAAC;AAKD,6BAA6B;AAC7B,MAAM,CAAC,MAAM,eAAe,GAA6B,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,CAAC,CAAA;AAExG;;;;;;;;GAQG;AACH,MAAM,UAAU,gBAAgB,CAAC,KAAkB;IACjD,MAAM,KAAK,GAAG,KAAK,CAAC,UAAU,EAAE,KAAK,IAAI,EAAE,CAAA;IAC3C,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,IAAI,EAAE,CAAA;IACvC,MAAM,IAAI,GAAoB,EAAE,CAAA;IAChC,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAAE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IAC/E,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,qBAAqB,CAAC;QAAE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IAClI,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAAE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IAC/E,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IAC3C,IAAI,KAAK,CAAC,QAAQ,KAAK,WAAW,IAAI,SAAS,CAAC,QAAQ,CAAC,YAAY,CAAC;QAAE,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;IAC9F,OAAO,IAAI,CAAA;AACb,CAAC;AAED,oEAAoE;AACpE,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,CAAC,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC,CAAA;AAE5F;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAAC,KAAkB;IACnD,IAAI,KAAK,CAAC,SAAS,KAAK,IAAI;QAAE,OAAO,SAAS,CAAA;IAC9C,MAAM,OAAO,GAA2B,EAAE,CAAA;IAC1C,KAAK,MAAM,MAAM,IAAI,KAAK,CAAC,iBAAiB,IAAI,EAAE,EAAE,CAAC;QACnD,MAAM,KAAK,GAAG,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAA;QAChD,IAAI,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC;YAAE,OAAO,CAAC,KAAK,CAAC,GAAG,MAAM,CAAA;IACzD,CAAC;IACD,OAAO,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAA;AAC9D,CAAC;AAED;;;GAGG;AACH,MAAM,WAAW,GAA2B;IAC1C,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK;IAC5F,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI;IAClG,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;CACrG,CAAA;AAED,qBAAqB;AACrB,SAAS,cAAc,CAAC,KAAa;IACnC,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,CAAA;IAChC,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,KAAK,CAAA;IACrC,IAAI,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAA;IAC7C,IAAI,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAA;IAC9C,IAAI,sBAAsB,CAAC,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC,WAAW,EAAE,CAAA;IAClE,IAAI,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC,WAAW,EAAE,CAAA;IAC7D,OAAO,KAAK,CAAC,CAAC,CAAE,CAAC,WAAW,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;AACjD,CAAC;AAED,2DAA2D;AAC3D,SAAS,iBAAiB,CAAC,EAAU;IACnC,MAAM,KAAK,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;IAC7B,MAAM,IAAI,GAAG,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAA;IACnD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;IACrE,MAAM,MAAM,GAAa,EAAE,CAAA;IAC3B,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACtD,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAE,CAAA;QAC5B,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YACxB,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC,CAAA;YACnB,OAAO,KAAK,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAE,CAAC,EAAE,CAAC;gBACrE,KAAK,IAAI,CAAC,CAAA;gBACV,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAE,CAAC,CAAA;YAC1B,CAAC;YACD,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;YAC1B,SAAQ;QACV,CAAC;QACD,4DAA4D;QAC5D,MAAM,SAAS,GAAG,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QAC9C,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;YACvB,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAE,CAAC,MAAM,CAAC,CAAC,CAAA;YAC/C,OAAO,KAAK,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAE,CAAC,EAAE,CAAC;gBACrE,KAAK,IAAI,CAAC,CAAA;gBACV,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAE,CAAC,CAAA;YAC1B,CAAC;YACD,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAE,GAAG,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;YAC1C,SAAQ;QACV,CAAC;QACD,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IACpB,CAAC;IACD,OAAO,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AAC7C,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,aAAa,CAAC,KAAkB;IAC9C,MAAM,KAAK,GAAG,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;IACrE,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,iBAAiB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;AAC/D,CAAC;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,UAAU,oBAAoB,CAAC,aAAiC;IACpE,IAAI,OAAO,aAAa,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,aAAa,IAAI,CAAC;QAAE,OAAO,SAAS,CAAA;IAChH,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,CAAA;IACzD,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAA;AAC/C,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,cAAc,CAAC,KAAkB;IAQ/C,MAAM,OAAO,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAA;IACzC,MAAM,aAAa,GAAG,OAAO,KAAK,CAAC,cAAc,KAAK,QAAQ,IAAI,KAAK,CAAC,cAAc,GAAG,CAAC;QACxF,CAAC,CAAC,KAAK,CAAC,cAAc;QACtB,CAAC,CAAC,SAAS,CAAA;IACb,MAAM,SAAS,GAAG,oBAAoB,CAAC,aAAa,CAAC,CAAA;IACrD,OAAO;QACL,EAAE,EAAE,KAAK,CAAC,EAAE;QACZ,IAAI,EAAE,aAAa,CAAC,KAAK,CAAC;QAC1B,GAAG,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC;QACzD,GAAG,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC;QACjD,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC;QAC/B,GAAG,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,OAAO,EAAE,CAAC;KAChE,CAAA;AACH,CAAC;AAED,kDAAkD;AAClD,MAAM,UAAU,oBAAoB,CAAC,KAAa;IAChD,MAAM,GAAG,GAAG,KAAK,GAAG,aAAa,CAAA;IACjC,OAAO,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;AACnH,CAAC;AAED,oCAAoC;AACpC,MAAM,UAAU,gBAAgB,CAAC,KAAkB;IACjD,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAA;IAC7B,IAAI,OAAO,KAAK,SAAS;QAAE,OAAO,UAAU,CAAA;IAC5C,IAAI,OAAO,CAAC,IAAI,KAAK,IAAI;QAAE,OAAO,OAAO,CAAA;IACzC,IAAI,OAAO,CAAC,MAAM,KAAK,IAAI;QAAE,OAAO,OAAO,CAAA;IAC3C,MAAM,KAAK,GAAa,EAAE,CAAA;IAC1B,IAAI,OAAO,OAAO,CAAC,KAAK,KAAK,QAAQ;QAAE,KAAK,CAAC,IAAI,CAAC,KAAK,oBAAoB,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;IAC7F,IAAI,OAAO,OAAO,CAAC,MAAM,KAAK,QAAQ;QAAE,KAAK,CAAC,IAAI,CAAC,KAAK,oBAAoB,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;IAC/F,IAAI,OAAO,OAAO,CAAC,UAAU,KAAK,QAAQ;QAAE,KAAK,CAAC,IAAI,CAAC,OAAO,oBAAoB,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC,CAAA;IACzG,IAAI,OAAO,OAAO,CAAC,WAAW,KAAK,QAAQ;QAAE,KAAK,CAAC,IAAI,CAAC,OAAO,oBAAoB,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC,CAAA;IAC3G,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,UAAU,CAAA;IACzC,OAAO,MAAM,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAA;AACpD,CAAC;AAED,gCAAgC;AAChC,MAAM,UAAU,kBAAkB,CAAC,KAAkB;IACnD,MAAM,KAAK,GAAG,KAAK,CAAC,aAAa,IAAI,EAAE,CAAA;IACvC,OAAO,KAAK;SACT,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,KAAK,SAAS,CAAC;SAC9C,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACZ,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,CAAC,GAAG,aAAa,CAAA;QACjD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,SAAS,CAAA;QACnC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,KAAK,IAAI,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAA;QAC7F,MAAM,GAAG,GAAG,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAA;QAC1N,OAAO,GAAG,IAAI,CAAC,QAAQ,IAAI,GAAG,GAAG,OAAO,OAAO,GAAG,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,GAAG,EAAE,CAAA;IACrF,CAAC,CAAC,CAAA;AACN,CAAC;AAED,0CAA0C;AAC1C,MAAM,UAAU,WAAW,CAAC,KAAkB,EAAE,QAAgB,EAAE,OAAgB;IAChF,MAAM,KAAK,GAAG,CAAC,KAAK,CAAC,aAAa,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,KAAK,QAAQ,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,CAAC,CAAA;IACtH,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAA;IACxC,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,KAAK,OAAO,CAAC,CAAA;QAC5D,IAAI,KAAK,KAAK,SAAS;YAAE,OAAO,KAAK,CAAA;IACvC,CAAC;IACD,OAAO,KAAK,CAAC,CAAC,CAAC,CAAA;AACjB,CAAC;AAED,kDAAkD;AAClD,MAAM,UAAU,cAAc,CAAC,KAAkB,EAAE,QAAgB,EAAE,OAAgB;IACnF,OAAO,WAAW,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE,SAAS,CAAA;AACzD,CAAC;AAED,wBAAwB;AACxB,MAAM,UAAU,SAAS,CAAC,IAAwB;IAChD,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,UAAU,CAAC,CAAC,OAAO,WAAW,CAAA;QACnC,KAAK,UAAU,CAAC,CAAC,OAAO,OAAO,CAAA;QAC/B,KAAK,QAAQ,CAAC,CAAC,OAAO,GAAG,CAAA;QACzB,KAAK,OAAO,CAAC,CAAC,OAAO,GAAG,CAAA;QACxB,KAAK,MAAM,CAAC,CAAC,OAAO,GAAG,CAAA;QACvB,KAAK,WAAW,CAAC,CAAC,OAAO,MAAM,CAAA;QAC/B,KAAK,SAAS,CAAC,CAAC,OAAO,GAAG,CAAA;QAC1B,OAAO,CAAC,CAAC,OAAO,IAAI,IAAI,GAAG,CAAA;IAC7B,CAAC;AACH,CAAC;AAKD,kDAAkD;AAClD,MAAM,UAAU,aAAa,CAAC,KAAkB,EAAE,QAAgB,EAAE,QAAgB,EAAE,OAAgB;IACpG,MAAM,IAAI,GAAG,cAAc,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAA;IACrD,OAAO,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,QAAQ,CAAC,CAAA;AACrE,CAAC;AAED,2CAA2C;AAC3C,SAAS,kBAAkB,CAAC,YAAoB;IAC9C,OAAO,IAAI,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;AACjE,CAAC;AAED,yCAAyC;AACzC,MAAM,UAAU,UAAU,CAAC,KAAkB,EAAE,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE;IAC7D,MAAM,QAAQ,GAAa,EAAE,CAAA;IAC7B,IAAI,KAAK,CAAC,IAAI,KAAK,IAAI;QAAE,QAAQ,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAA;IAC9D,MAAM,QAAQ,GAAG,KAAK,CAAC,SAAS,CAAA;IAChC,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,GAAG,CAAC,EAAE,CAAC;QACjD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,GAAG,IAAI,GAAG,GAAG,CAAC,GAAG,UAAU,CAAC,CAAA;QAC5D,MAAM,IAAI,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAA;QACzC,IAAI,IAAI,IAAI,CAAC;YAAE,QAAQ,CAAC,IAAI,CAAC,UAAU,IAAI,WAAW,CAAC,CAAA;;YAClD,QAAQ,CAAC,IAAI,CAAC,MAAM,IAAI,UAAU,IAAI,oBAAoB,CAAC,CAAA;IAClE,CAAC;IACD,OAAO,QAAQ,CAAA;AACjB,CAAC;AAED,mDAAmD;AACnD,MAAM,UAAU,SAAS,CAAC,KAAkB,EAAE,UAAkC;IAC9E,MAAM,OAAO,GAAG,IAAI,GAAG,CAAS,CAAC,KAAK,CAAC,EAAE,EAAE,UAAU,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,CAAA;IACjE,KAAK,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;QACzD,IAAI,MAAM,KAAK,KAAK,CAAC,EAAE;YAAE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;IAC7C,CAAC;IACD,OAAO,CAAC,GAAG,OAAO,CAAC,CAAA;AACrB,CAAC;AAED,kDAAkD;AAClD,MAAM,UAAU,gBAAgB,CAAC,GAAW,EAAE,UAAkC;IAC9E,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,EAAE,CAAA;IAC1B,MAAM,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAA;IAC5G,OAAO,UAAU,CAAC,QAAQ,CAAC,IAAI,UAAU,CAAC,OAAO,CAAC,IAAI,QAAQ,CAAA;AAChE,CAAC;AAED;;;GAGG;AACH,MAAM,OAAO,aAAa;IAIK;IAHrB,KAAK,GAAG,IAAI,GAAG,EAAwD,CAAA;IACvE,QAAQ,GAAG,IAAI,GAAG,EAAkC,CAAA;IAE5D,YAA6B,IAAoB;QAApB,SAAI,GAAJ,IAAI,CAAgB;IAAG,CAAC;IAErD,iCAAiC;IACjC,IAAY,KAAK;QACf,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,iBAAiB,IAAI,SAAS,CAAA;IACxD,CAAC;IAED,mBAAmB;IACnB,IAAY,OAAO;QACjB,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,IAAI,EAAE,CAAA;IAC5C,CAAC;IAED,8BAA8B;IAC9B,KAAK,CAAC,IAAI,CAAC,QAAyB,EAAE,MAAoB;QACxD,MAAM,GAAG,GAAG,QAAQ,IAAI,MAAM,CAAA;QAC9B,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QAClC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAA;QACxB,IAAI,KAAK,GAAG,CAAC,IAAI,MAAM,KAAK,SAAS,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,SAAS,GAAG,KAAK,EAAE,CAAC;YAC/E,OAAO,MAAM,CAAC,MAAM,CAAA;QACtB,CAAC;QACD,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QACtC,IAAI,OAAO,KAAK,SAAS;YAAE,OAAO,OAAO,CAAA;QACzC,MAAM,KAAK,GAAuC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAA;QACnG,iDAAiD;QACjD,6CAA6C;QAC7C,MAAM,EAAE,GAAG,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,eAAe,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAA;QACjF,MAAM,OAAO,GAAG,eAAe,CAC7B,IAAI,CAAC,IAAI,EACT,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,YAAY,CAAC,GAAG,EAAE,EAAE,EAC9D,MAAM,EACN,EAAE,OAAO,EAAE,CAAC,EAAE,CACf;aACE,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE;YAChB,MAAM,MAAM,GAAG,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAAwB,EAAE,CAAC,OAAO,KAAK,EAAE,EAAE,KAAK,QAAQ,CAAC,CAAA;YAC1G,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAA;YACtD,OAAO,MAAM,CAAA;QACf,CAAC,CAAC;aACD,OAAO,CAAC,GAAG,EAAE;YACZ,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;QAC3B,CAAC,CAAC,CAAA;QACJ,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;QAC/B,OAAO,OAAO,CAAA;IAChB,CAAC;IAED,4CAA4C;IAC5C,KAAK,CAAC,UAAU,CAAC,MAAoB;QACnC,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,CAAA;IACnE,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,OAAO,CAAC,KAAa,EAAE,QAAyB,EAAE,MAAoB;QAC1E,MAAM,MAAM,GAAG,gBAAgB,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;QACpD,MAAM,MAAM,GAAG,CAAC,MAAqB,EAA2B,EAAE,CAChE,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,WAAW,EAAE,KAAK,MAAM,CAAC,WAAW,EAAE,CAAC,CAAA;QAEhH,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAA;QACzD,IAAI,MAAM,KAAK,SAAS;YAAE,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;QAEtD,MAAM,UAAU,GAAqB,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAA;QAChH,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;YACnC,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAA;YACxD,IAAI,KAAK,KAAK,SAAS;gBAAE,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;QACtD,CAAC;QACD,OAAO,SAAS,CAAA;IAClB,CAAC;IAED,mBAAmB;IACnB,QAAQ,CAAC,KAAkB;QACzB,OAAO;YACL,KAAK;YACL,EAAE,EAAE,KAAK,CAAC,EAAE;YACZ,IAAI,EAAE,WAAW,CAAC,KAAK,CAAC;YACxB,WAAW,EAAE,aAAa,CAAC,KAAK,CAAC;YACjC,OAAO,EAAE,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC;YACvC,QAAQ,EAAE,UAAU,CAAC,KAAK,CAAC;SAC5B,CAAA;IACH,CAAC;IAED,iDAAiD;IACjD,KAAK,CAAC,UAAU,CAAC,MAAoB;QACnC,OAAO,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAA;IAC5D,CAAC;IAED,sBAAsB;IACtB,UAAU;QACR,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAA;IACpB,CAAC;CACF;AAED,iEAAiE;AACjE,MAAM,UAAU,cAAc,CAAC,KAAkB,EAAE,QAAgB;IAOjE,MAAM,WAAW,GAAa,EAAE,CAAA;IAChC,IAAI,WAAW,CAAC,KAAK,CAAC;QAAE,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAC9C,IAAI,KAAK,CAAC,IAAI,KAAK,IAAI;QAAE,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IACjD,MAAM,WAAW,GAAG,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IAChF,OAAO;QACL,QAAQ;QACR,EAAE,EAAE,KAAK,CAAC,EAAE;QACZ,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,EAAE;QAC5B,GAAG,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACrD,eAAe,EAAE,iBAAiB,CAAC,KAAK,CAAC;KAC1C,CAAA;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,mBAAmB,CAAC,KAAkB,EAAE,QAAgB;IAStE,MAAM,IAAI,GAAG,cAAc,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAA;IAC5C,MAAM,OAAO,GAAG,OAAO,KAAK,CAAC,cAAc,KAAK,QAAQ,IAAI,KAAK,CAAC,cAAc,GAAG,CAAC;QAClF,CAAC,CAAC,EAAE,aAAa,EAAE,KAAK,CAAC,cAAc,EAAE;QACzC,CAAC,CAAC,SAAS,CAAA;IACb,MAAM,OAAO,GAAG,KAAK,CAAC,SAAS,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,iBAAiB,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;IAC/E,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC;QAClC,CAAC,CAAC;YACE,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;YAChE,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACnE;QACH,CAAC,CAAC,SAAS,CAAA;IACb,OAAO;QACL,GAAG,IAAI;QACP,GAAG,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7C,GAAG,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAClD,CAAA;AACH,CAAC"}
|
|
1
|
+
{"version":3,"file":"catalog.js","sourceRoot":"","sources":["../src/catalog.ts"],"names":[],"mappings":"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"}
|
package/lib/index.d.ts
CHANGED
|
@@ -48,12 +48,14 @@ export interface Config {
|
|
|
48
48
|
modelRecoveryEnabled?: boolean;
|
|
49
49
|
/** 参与恢复的 provider 路由;范围外的路由行为完全不变。 */
|
|
50
50
|
modelRecoveryProviders?: string[];
|
|
51
|
-
/**
|
|
51
|
+
/** 首次请求之后的额外重试次数(两条 Kenari 路由都由插件自己的恢复状态机执行)。 */
|
|
52
52
|
modelRetryMaxRetries?: number;
|
|
53
|
-
/**
|
|
53
|
+
/** 每次重试前的固定等待毫秒数。 */
|
|
54
54
|
modelRetryDelayMs?: number;
|
|
55
55
|
/** 允许重试的失败码;不能为空。 */
|
|
56
56
|
modelRetryableCodes?: string[];
|
|
57
|
+
/** 是否注入「正在本地重试」通知(重试期间界面没有别的痕迹)。 */
|
|
58
|
+
modelRetryNoticeEnabled?: boolean;
|
|
57
59
|
/** 是否允许换模型(关掉则只重试)。 */
|
|
58
60
|
modelSwitchEnabled?: boolean;
|
|
59
61
|
/** 换模型/回退默认 provider 前的等待毫秒数。 */
|
package/lib/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAC7C,OAAO,CAAC,MAAM,0BAA0B,CAAA;AAkCxC,kFAAkF;AAClF,MAAM,WAAW,MAAM;IACrB,kEAAkE;IAClE,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,2BAA2B;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,iEAAiE;IACjE,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,wFAAwF;IACxF,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B,sDAAsD;IACtD,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,2CAA2C;IAC3C,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,0CAA0C;IAC1C,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,8DAA8D;IAC9D,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,4EAA4E;IAC5E,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,kEAAkE;IAClE,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,iDAAiD;IACjD,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,kGAAkG;IAClG,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACrC,mGAAmG;IACnG,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,uEAAuE;IACvE,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,uEAAuE;IACvE,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,mGAAmG;IACnG,oBAAoB,CAAC,EAAE,OAAO,CAAA;IAC9B,yDAAyD;IACzD,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,6CAA6C;IAC7C,oBAAoB,CAAC,EAAE,OAAO,CAAA;IAC9B,sCAAsC;IACtC,sBAAsB,CAAC,EAAE,MAAM,EAAE,CAAA;IACjC,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAC7C,OAAO,CAAC,MAAM,0BAA0B,CAAA;AAkCxC,kFAAkF;AAClF,MAAM,WAAW,MAAM;IACrB,kEAAkE;IAClE,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,2BAA2B;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,iEAAiE;IACjE,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,wFAAwF;IACxF,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B,sDAAsD;IACtD,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,2CAA2C;IAC3C,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,0CAA0C;IAC1C,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,8DAA8D;IAC9D,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,4EAA4E;IAC5E,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,kEAAkE;IAClE,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,iDAAiD;IACjD,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,kGAAkG;IAClG,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACrC,mGAAmG;IACnG,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,uEAAuE;IACvE,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,uEAAuE;IACvE,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,mGAAmG;IACnG,oBAAoB,CAAC,EAAE,OAAO,CAAA;IAC9B,yDAAyD;IACzD,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,6CAA6C;IAC7C,oBAAoB,CAAC,EAAE,OAAO,CAAA;IAC9B,sCAAsC;IACtC,sBAAsB,CAAC,EAAE,MAAM,EAAE,CAAA;IACjC,iDAAiD;IACjD,oBAAoB,CAAC,EAAE,MAAM,CAAA;IAC7B,qBAAqB;IACrB,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,qBAAqB;IACrB,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAA;IAC9B,oCAAoC;IACpC,uBAAuB,CAAC,EAAE,OAAO,CAAA;IACjC,uBAAuB;IACvB,kBAAkB,CAAC,EAAE,OAAO,CAAA;IAC5B,iCAAiC;IACjC,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,4CAA4C;IAC5C,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAA;IAC/B,yBAAyB;IACzB,wBAAwB,CAAC,EAAE,OAAO,CAAA;IAClC,yCAAyC;IACzC,yBAAyB,CAAC,EAAE,OAAO,CAAA;IACnC,yDAAyD;IACzD,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,6EAA6E;IAC7E,oBAAoB,CAAC,EAAE,MAAM,CAAA;CAC9B;AAED,eAAO,MAAM,MAAM,EAAE,CAAC,CAAC,MAAM,CAmC3B,CAAA;AAEF,qDAAqD;AACrD,eAAO,MAAM,IAAI,WAAW,CAAA;AAE5B,mEAAmE;AACnE,eAAO,MAAM,MAAM,UAAmB,CAAA;AA4CtC;;;;GAIG;AACH,wBAAgB,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAsLxD"}
|
package/lib/index.js
CHANGED
|
@@ -25,7 +25,7 @@ import { installKenariSettings, KENARI_SETTINGS_NAMESPACE } from './settings.js'
|
|
|
25
25
|
import { KenariLlmAdapter } from './llm/adapter.js';
|
|
26
26
|
import { ModelCandidates } from './llm/candidates.js';
|
|
27
27
|
import { installModelRecovery } from './llm/recovery.js';
|
|
28
|
-
import {
|
|
28
|
+
import { dshRetryDisabledPolicy } from './llm/retry.js';
|
|
29
29
|
import { installSessionTitlePrefix } from './session-title.js';
|
|
30
30
|
import { registerDocsTools } from './tools/docs.js';
|
|
31
31
|
import { registerAccountTools } from './tools/account.js';
|
|
@@ -60,6 +60,7 @@ export const Config = z.object({
|
|
|
60
60
|
modelRetryableCodes: z.array(z.string()).default([
|
|
61
61
|
'EMPTY_RESPONSE', 'RATE_LIMIT', 'SERVER', 'TIMEOUT', 'TRANSPORT',
|
|
62
62
|
]),
|
|
63
|
+
modelRetryNoticeEnabled: z.boolean().default(true),
|
|
63
64
|
modelSwitchEnabled: z.boolean().default(true),
|
|
64
65
|
modelSwitchDelayMs: z.number().step(1).min(0).default(5_000),
|
|
65
66
|
modelSwitchSkipCodes: z.array(z.string()).default([
|
|
@@ -223,11 +224,8 @@ export function apply(ctx, config) {
|
|
|
223
224
|
catalog,
|
|
224
225
|
billing,
|
|
225
226
|
logger,
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
delayMs: liveConfig.modelRetryDelayMs ?? 5_000,
|
|
229
|
-
retryableCodes: liveConfig.modelRetryableCodes,
|
|
230
|
-
}),
|
|
227
|
+
// 重试由恢复状态机自己做(见 ./llm/recovery.ts),dsh 自带的重试在这条路由上关掉
|
|
228
|
+
retryPolicy: dshRetryDisabledPolicy(),
|
|
231
229
|
}, (imageRef) => {
|
|
232
230
|
const attachments = ctx.get('attachments');
|
|
233
231
|
if (attachments === undefined)
|
|
@@ -264,6 +262,10 @@ export function apply(ctx, config) {
|
|
|
264
262
|
enabled: liveConfig.modelRecoveryEnabled ?? true,
|
|
265
263
|
providers: liveConfig.modelRecoveryProviders ?? ['kenari', 'kenari-direct'],
|
|
266
264
|
switchEnabled: liveConfig.modelSwitchEnabled ?? true,
|
|
265
|
+
retryMaxRetries: liveConfig.modelRetryMaxRetries ?? 5,
|
|
266
|
+
retryDelayMs: liveConfig.modelRetryDelayMs ?? 5_000,
|
|
267
|
+
retryCodes: liveConfig.modelRetryableCodes ?? [],
|
|
268
|
+
retryNoticeEnabled: liveConfig.modelRetryNoticeEnabled ?? true,
|
|
267
269
|
switchDelayMs: liveConfig.modelSwitchDelayMs ?? 5_000,
|
|
268
270
|
skipCodes: liveConfig.modelSwitchSkipCodes ?? [],
|
|
269
271
|
noticeEnabled: liveConfig.modelSwitchNoticeEnabled ?? true,
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/lib/llm/candidates.d.ts
CHANGED
|
@@ -2,7 +2,8 @@
|
|
|
2
2
|
* 「换一个上下文 >= 当前的模型」的候选挑选。
|
|
3
3
|
*
|
|
4
4
|
* 挑最小够用者而不是最大者:一次失败不值得把会话切到又贵又慢的最大上下文模型。
|
|
5
|
-
*
|
|
5
|
+
* 阈值取**当前**模型的窗口,所以一次会话里窗口只会持平或变大;要防止的正是「持平」那种
|
|
6
|
+
* 情况下的来回横跳(两个同窗口模型互相切),所以调用方会把本 step 里失败过的路由传进来排除。
|
|
6
7
|
* @module dsh-kenari-plugin/llm/candidates
|
|
7
8
|
*/
|
|
8
9
|
/** 候选挑选用到的 `ctx.llm` 最小面。注入是为了单测能替身,也避免把整个 LlmRuntime 拖进依赖。 */
|
|
@@ -39,6 +40,8 @@ export interface PickInput {
|
|
|
39
40
|
model: string;
|
|
40
41
|
contextWindow?: number;
|
|
41
42
|
signal?: AbortSignal;
|
|
43
|
+
/** 额外排除的路由(`provider/model`),用于本 step 内已经失败过的那些 —— 不再回头。 */
|
|
44
|
+
exclude?: readonly string[];
|
|
42
45
|
}
|
|
43
46
|
/**
|
|
44
47
|
* 找一个上下文窗口 >= 阈值的候选:先在同一 provider 内,再跨 provider。
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"candidates.d.ts","sourceRoot":"","sources":["../../src/llm/candidates.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"candidates.d.ts","sourceRoot":"","sources":["../../src/llm/candidates.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,+DAA+D;AAC/D,MAAM,WAAW,cAAc;IAC7B,aAAa,IAAI,SAAS;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,EAAE,CAAA;IAC1C,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC,CAAA;IAChE,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC;QAAE,OAAO,CAAC,EAAE;YAAE,aAAa,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,CAAC,CAAA;CAC1H;AAED,yBAAyB;AACzB,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,MAAM,CAAA;IAChB,KAAK,EAAE,MAAM,CAAA;IACb,aAAa,EAAE,MAAM,CAAA;CACtB;AAED,mCAAmC;AACnC,MAAM,WAAW,mBAAmB;IAClC,GAAG,EAAE,cAAc,CAAA;IACnB,uDAAuD;IACvD,UAAU,EAAE,MAAM,CAAA;IAClB,qBAAqB;IACrB,GAAG,CAAC,EAAE,MAAM,MAAM,CAAA;CACnB;AAED,kBAAkB;AAClB,MAAM,WAAW,SAAS;IACxB,QAAQ,EAAE,MAAM,CAAA;IAChB,KAAK,EAAE,MAAM,CAAA;IACb,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,MAAM,CAAC,EAAE,WAAW,CAAA;IACpB,4DAA4D;IAC5D,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;CAC5B;AAED;;;GAGG;AACH,qBAAa,eAAe;IAId,OAAO,CAAC,QAAQ,CAAC,IAAI;IAHjC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAA+D;IACrF,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAc;gBAEL,IAAI,EAAE,mBAAmB;IAItD,0DAA0D;YAC5C,SAAS;IA4BvB,gCAAgC;IAC1B,IAAI,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC;CAclE"}
|
package/lib/llm/candidates.js
CHANGED
|
@@ -2,7 +2,8 @@
|
|
|
2
2
|
* 「换一个上下文 >= 当前的模型」的候选挑选。
|
|
3
3
|
*
|
|
4
4
|
* 挑最小够用者而不是最大者:一次失败不值得把会话切到又贵又慢的最大上下文模型。
|
|
5
|
-
*
|
|
5
|
+
* 阈值取**当前**模型的窗口,所以一次会话里窗口只会持平或变大;要防止的正是「持平」那种
|
|
6
|
+
* 情况下的来回横跳(两个同窗口模型互相切),所以调用方会把本 step 里失败过的路由传进来排除。
|
|
6
7
|
* @module dsh-kenari-plugin/llm/candidates
|
|
7
8
|
*/
|
|
8
9
|
/**
|
|
@@ -51,13 +52,14 @@ export class ModelCandidates {
|
|
|
51
52
|
/** 找最小够用的候选;找不到返回 undefined。 */
|
|
52
53
|
async pick(input) {
|
|
53
54
|
const threshold = input.contextWindow ?? 0;
|
|
54
|
-
const
|
|
55
|
+
const excluded = new Set(input.exclude ?? []);
|
|
56
|
+
const local = smallestAtLeast(await this.entriesOf(input.provider, input.signal), input.model, threshold, excluded);
|
|
55
57
|
if (local !== undefined)
|
|
56
58
|
return local;
|
|
57
59
|
for (const entry of this.deps.llm.listProviders()) {
|
|
58
60
|
if (entry.id === input.provider)
|
|
59
61
|
continue;
|
|
60
|
-
const found = smallestAtLeast(await this.entriesOf(entry.id, input.signal), undefined, threshold);
|
|
62
|
+
const found = smallestAtLeast(await this.entriesOf(entry.id, input.signal), undefined, threshold, excluded);
|
|
61
63
|
if (found !== undefined)
|
|
62
64
|
return found;
|
|
63
65
|
}
|
|
@@ -65,14 +67,16 @@ export class ModelCandidates {
|
|
|
65
67
|
}
|
|
66
68
|
}
|
|
67
69
|
/**
|
|
68
|
-
* 排除 `exclude
|
|
70
|
+
* 排除 `exclude` 这个模型、以及 `tried` 里的路由,取 `contextWindow >= threshold` 的最小者。
|
|
69
71
|
* 同窗口时按 model id 字典序取小 —— 确定性很重要,否则同一份配置在不同机器上会换到不同模型。
|
|
70
72
|
*/
|
|
71
|
-
function smallestAtLeast(entries, exclude, threshold) {
|
|
73
|
+
function smallestAtLeast(entries, exclude, threshold, tried) {
|
|
72
74
|
let best;
|
|
73
75
|
for (const entry of entries) {
|
|
74
76
|
if (exclude !== undefined && entry.model === exclude)
|
|
75
77
|
continue;
|
|
78
|
+
if (tried.has(`${entry.provider}/${entry.model}`))
|
|
79
|
+
continue;
|
|
76
80
|
if (entry.contextWindow < threshold)
|
|
77
81
|
continue;
|
|
78
82
|
if (best === undefined
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"candidates.js","sourceRoot":"","sources":["../../src/llm/candidates.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"candidates.js","sourceRoot":"","sources":["../../src/llm/candidates.ts"],"names":[],"mappings":"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"}
|
package/lib/llm/recovery.d.ts
CHANGED
|
@@ -1,15 +1,19 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Kenari
|
|
2
|
+
* Kenari 路由的模型失败恢复:同路由重试 → 换模型 → 回退默认 provider,逐级升级。
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
4
|
+
* 三个阶段都由本模块负责,`dsh-llm-retry` 在 Kenari 路由上是关掉的(见 `./retry.ts`)。
|
|
5
|
+
* 原因:`agent/request-error` 是没有默认行为的瀑布,不调用 `next()` 的监听器会否决它后面的
|
|
6
|
+
* 一切;只要注册顺序被 live reload 翻过来一次,排在后面的 llm-retry 就永久出局,而插件
|
|
7
|
+
* 观察不到。实测线上 `llm/retry` 事件数为 0、换模型发生在第一次失败上,说明承诺的 5 次重试
|
|
8
|
+
* 从未执行。把重试收进自己的状态机,行为才是可验证、可测试的。
|
|
6
9
|
*
|
|
7
10
|
* 两个监听器的注册顺序是设计的一部分,不是随手写的:
|
|
8
11
|
* 1. `agent/request` 用 `prepend` 挂在**最外层**。瀑布里外层拿最终决定权,而
|
|
9
12
|
* `installModelSelection` 会用「本 step 组装时捕获的」原模型回写 —— 排在内层会被它改回去
|
|
10
13
|
* (`packages/core/agent/src/model-selection.ts:88-105`)。
|
|
11
|
-
* 2. `agent/request-error`
|
|
12
|
-
*
|
|
14
|
+
* 2. `agent/request-error` 用默认顺序,但**先 `await next()`**:链上(`dsh-llm-retry`、
|
|
15
|
+
* compaction 等)若已决定重试,我们原样放行;只有链上放弃时才走自己的升级。这样无论
|
|
16
|
+
* 注册顺序如何,插件都不会饿死别人的恢复策略。
|
|
13
17
|
* @module dsh-kenari-plugin/llm/recovery
|
|
14
18
|
*/
|
|
15
19
|
import type { Context } from '@deepseek-ai/cordis';
|
|
@@ -25,10 +29,18 @@ export interface Target {
|
|
|
25
29
|
export interface ModelRecoveryDeps {
|
|
26
30
|
/** 总开关。false 时一个监听器都不装。 */
|
|
27
31
|
enabled: boolean;
|
|
28
|
-
/** 参与恢复的 provider
|
|
32
|
+
/** 参与恢复的 provider 路由;范围外的失败原样交给链上的其他监听者。 */
|
|
29
33
|
providers: readonly string[];
|
|
30
|
-
/** 是否允许换模型;false
|
|
34
|
+
/** 是否允许换模型;false 时只做同路由重试,预算用尽后该轮以 error 结束。 */
|
|
31
35
|
switchEnabled: boolean;
|
|
36
|
+
/** 首次请求之后的额外重试次数。 */
|
|
37
|
+
retryMaxRetries: number;
|
|
38
|
+
/** 每次重试前的固定等待毫秒数。 */
|
|
39
|
+
retryDelayMs: number;
|
|
40
|
+
/** 允许重试的失败码;码不在其中直接进入换模型阶段。 */
|
|
41
|
+
retryCodes: readonly string[];
|
|
42
|
+
/** 是否注入「正在本地重试」的通知 —— 重试期间界面没有别的痕迹,静默等待会让人困惑。 */
|
|
43
|
+
retryNoticeEnabled: boolean;
|
|
32
44
|
/** 换模型/回退前的等待毫秒数。 */
|
|
33
45
|
switchDelayMs: number;
|
|
34
46
|
/** 跳过「同 provider 换模型」、直接回退 provider 的失败码。 */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"recovery.d.ts","sourceRoot":"","sources":["../../src/llm/recovery.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"recovery.d.ts","sourceRoot":"","sources":["../../src/llm/recovery.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAElD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AAM7D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAKtD,6DAA6D;AAC7D,MAAM,WAAW,MAAM;IACrB,QAAQ,EAAE,MAAM,CAAA;IAChB,KAAK,EAAE,MAAM,CAAA;IACb,eAAe,CAAC,EAAE,iBAAiB,CAAA;CACpC;AAkBD,oBAAoB;AACpB,MAAM,WAAW,iBAAiB;IAChC,2BAA2B;IAC3B,OAAO,EAAE,OAAO,CAAA;IAChB,4CAA4C;IAC5C,SAAS,EAAE,SAAS,MAAM,EAAE,CAAA;IAC5B,gDAAgD;IAChD,aAAa,EAAE,OAAO,CAAA;IACtB,qBAAqB;IACrB,eAAe,EAAE,MAAM,CAAA;IACvB,qBAAqB;IACrB,YAAY,EAAE,MAAM,CAAA;IACpB,+BAA+B;IAC/B,UAAU,EAAE,SAAS,MAAM,EAAE,CAAA;IAC7B,iDAAiD;IACjD,kBAAkB,EAAE,OAAO,CAAA;IAC3B,qBAAqB;IACrB,aAAa,EAAE,MAAM,CAAA;IACrB,6CAA6C;IAC7C,SAAS,EAAE,SAAS,MAAM,EAAE,CAAA;IAC5B,kBAAkB;IAClB,aAAa,EAAE,OAAO,CAAA;IACtB,UAAU,EAAE,eAAe,CAAA;IAC3B,2DAA2D;IAC3D,gBAAgB,EAAE,MAAM,MAAM,GAAG,SAAS,CAAA;IAC1C,MAAM,CAAC,EAAE;QAAE,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAA;CAC9D;AAwBD,+DAA+D;AAC/D,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,iBAAiB,GAAG,IAAI,CAyKhF"}
|
package/lib/llm/recovery.js
CHANGED
|
@@ -1,20 +1,33 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Kenari
|
|
2
|
+
* Kenari 路由的模型失败恢复:同路由重试 → 换模型 → 回退默认 provider,逐级升级。
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
4
|
+
* 三个阶段都由本模块负责,`dsh-llm-retry` 在 Kenari 路由上是关掉的(见 `./retry.ts`)。
|
|
5
|
+
* 原因:`agent/request-error` 是没有默认行为的瀑布,不调用 `next()` 的监听器会否决它后面的
|
|
6
|
+
* 一切;只要注册顺序被 live reload 翻过来一次,排在后面的 llm-retry 就永久出局,而插件
|
|
7
|
+
* 观察不到。实测线上 `llm/retry` 事件数为 0、换模型发生在第一次失败上,说明承诺的 5 次重试
|
|
8
|
+
* 从未执行。把重试收进自己的状态机,行为才是可验证、可测试的。
|
|
6
9
|
*
|
|
7
10
|
* 两个监听器的注册顺序是设计的一部分,不是随手写的:
|
|
8
11
|
* 1. `agent/request` 用 `prepend` 挂在**最外层**。瀑布里外层拿最终决定权,而
|
|
9
12
|
* `installModelSelection` 会用「本 step 组装时捕获的」原模型回写 —— 排在内层会被它改回去
|
|
10
13
|
* (`packages/core/agent/src/model-selection.ts:88-105`)。
|
|
11
|
-
* 2. `agent/request-error`
|
|
12
|
-
*
|
|
14
|
+
* 2. `agent/request-error` 用默认顺序,但**先 `await next()`**:链上(`dsh-llm-retry`、
|
|
15
|
+
* compaction 等)若已决定重试,我们原样放行;只有链上放弃时才走自己的升级。这样无论
|
|
16
|
+
* 注册顺序如何,插件都不会饿死别人的恢复策略。
|
|
13
17
|
* @module dsh-kenari-plugin/llm/recovery
|
|
14
18
|
*/
|
|
15
19
|
import { createUserMessage } from '@deepseek-ai/dsh-llm';
|
|
16
20
|
import { isRecoveryProvider, sleepUnlessAborted } from './retry.js';
|
|
17
|
-
/**
|
|
21
|
+
/** 先让链上决定。`next()` 抛错不该毁掉我们的恢复,但要留痕。 */
|
|
22
|
+
async function settleDownstream(next) {
|
|
23
|
+
try {
|
|
24
|
+
return { type: 'decision', decision: await next() };
|
|
25
|
+
}
|
|
26
|
+
catch (error) {
|
|
27
|
+
return { type: 'error', error };
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
/** 决定本次失败后进入哪个升级阶段;undefined 表示放弃。 */
|
|
18
31
|
function planStage(stage, code, deps) {
|
|
19
32
|
if (!deps.switchEnabled)
|
|
20
33
|
return undefined;
|
|
@@ -29,6 +42,15 @@ export function installModelRecovery(ctx, deps) {
|
|
|
29
42
|
if (!deps.enabled)
|
|
30
43
|
return;
|
|
31
44
|
const states = new WeakMap();
|
|
45
|
+
/**
|
|
46
|
+
* 一个会话在本 step 内由链上策略(`dsh-llm-retry`)排程的重试次数。
|
|
47
|
+
*
|
|
48
|
+
* 用途只有一个:**判断这轮重试该由谁负责**。链上已经在重试时我们不再补一轮自己的预算,
|
|
49
|
+
* 否则两条机制会叠加成两倍的等待与请求。出厂配置把 Kenari 路由的 dsh 重试关掉了
|
|
50
|
+
* (`cordis.patch.yml` 的 `maxRetries: 0`),所以正常情况这里恒为 0,重试由我们负责;
|
|
51
|
+
* 用户可以重新打开它,那时就交给 dsh,我们只在它一次都没出手时才兜底。
|
|
52
|
+
*/
|
|
53
|
+
const scheduled = new WeakMap();
|
|
32
54
|
// 最外层:先拿到全链结果再覆盖,才能盖过 installModelSelection 用组装快照做的回写
|
|
33
55
|
ctx.on('agent/request', async ({ agent }, next) => {
|
|
34
56
|
const resolved = await next();
|
|
@@ -44,7 +66,16 @@ export function installModelRecovery(ctx, deps) {
|
|
|
44
66
|
...(target.reasoningEffort === undefined ? {} : { reasoningEffort: target.reasoningEffort }),
|
|
45
67
|
};
|
|
46
68
|
}, { prepend: true });
|
|
47
|
-
ctx.on('agent/request-error', async ({ agent, turn, step, provider, failure, signal }) => {
|
|
69
|
+
ctx.on('agent/request-error', async ({ agent, turn, step, provider, failure, signal }, next) => {
|
|
70
|
+
// 先交回链上:别人的重试决定优先,我们只在链上放弃后才介入。
|
|
71
|
+
// 不调用 next() 会否决链上后面的一切 —— 那是这次「重试静默消失」的根因之一。
|
|
72
|
+
const downstream = await settleDownstream(next);
|
|
73
|
+
if (downstream.type === 'decision' && downstream.decision?.kind === 'retry') {
|
|
74
|
+
return downstream.decision;
|
|
75
|
+
}
|
|
76
|
+
if (downstream.type === 'error') {
|
|
77
|
+
deps.logger?.warn(`kenari: agent/request-error 下游策略抛错,改由本地恢复接手:${String(downstream.error)}`);
|
|
78
|
+
}
|
|
48
79
|
if (!isRecoveryProvider(provider, deps.providers))
|
|
49
80
|
return undefined;
|
|
50
81
|
if (signal.aborted)
|
|
@@ -54,10 +85,47 @@ export function installModelRecovery(ctx, deps) {
|
|
|
54
85
|
const currentModel = current?.model;
|
|
55
86
|
if (currentModel === undefined)
|
|
56
87
|
return undefined;
|
|
88
|
+
const route = `${provider}/${currentModel}`;
|
|
57
89
|
const stepKey = `${turn}:${step}`;
|
|
58
90
|
const previous = states.get(session);
|
|
59
|
-
const state = previous?.stepKey === stepKey
|
|
91
|
+
const state = previous?.stepKey === stepKey
|
|
92
|
+
? previous
|
|
93
|
+
: { stepKey, stage: 0, tried: new Set(), ownRetries: 0, retryNoticeSent: false };
|
|
60
94
|
states.set(session, state);
|
|
95
|
+
state.tried.add(route);
|
|
96
|
+
// 路由变了(换过模型或回退过 provider)就重置重试预算:新模型应当拿到完整的一轮
|
|
97
|
+
if (state.ownRoute !== route) {
|
|
98
|
+
state.ownRoute = route;
|
|
99
|
+
state.ownRetries = 0;
|
|
100
|
+
state.retryNoticeSent = false;
|
|
101
|
+
}
|
|
102
|
+
// 阶段 0:同一路由重试。瞬时类失败重发有意义,重试预算按路由走。
|
|
103
|
+
// 链上(llm-retry)这轮已经排程过重试时让位给它 —— 两条机制各数一遍会叠成两倍等待。
|
|
104
|
+
const chained = scheduled.get(session);
|
|
105
|
+
const chainedRetries = chained !== undefined && chained.stepKey === stepKey ? chained.count : 0;
|
|
106
|
+
if (chainedRetries === 0
|
|
107
|
+
&& deps.retryCodes.includes(failure.code)
|
|
108
|
+
&& state.ownRetries < deps.retryMaxRetries) {
|
|
109
|
+
state.ownRetries += 1;
|
|
110
|
+
deps.logger?.info(`kenari: ${route} 失败(${failure.code}),本地重试 ${state.ownRetries}/${deps.retryMaxRetries}`);
|
|
111
|
+
if (deps.retryNoticeEnabled && !state.retryNoticeSent) {
|
|
112
|
+
// 重试期间界面上只有一次失败的尝试,不解释的话就是一个没有理由的等待
|
|
113
|
+
state.retryNoticeSent = true;
|
|
114
|
+
agent.inject(createUserMessage({
|
|
115
|
+
content: [{
|
|
116
|
+
type: 'text',
|
|
117
|
+
text: `[kenari: ${route} 失败(${failure.code}),本地重试最多 ${deps.retryMaxRetries} 次(每次 ${deps.retryDelayMs}ms)]`,
|
|
118
|
+
}],
|
|
119
|
+
source: { kind: 'plugin', plugin: 'kenari', form: 'notice', summary: `${route} 重试 ${state.ownRetries}/${deps.retryMaxRetries}` },
|
|
120
|
+
}));
|
|
121
|
+
}
|
|
122
|
+
const retried = await sleepUnlessAborted(deps.retryDelayMs, signal);
|
|
123
|
+
if (!retried) {
|
|
124
|
+
states.delete(session);
|
|
125
|
+
return undefined;
|
|
126
|
+
}
|
|
127
|
+
return { kind: 'retry' };
|
|
128
|
+
}
|
|
61
129
|
const planned = planStage(state.stage, failure.code, deps);
|
|
62
130
|
if (planned === undefined) {
|
|
63
131
|
states.delete(session);
|
|
@@ -70,6 +138,8 @@ export function installModelRecovery(ctx, deps) {
|
|
|
70
138
|
provider,
|
|
71
139
|
model: currentModel,
|
|
72
140
|
...(current?.contextWindow === undefined ? {} : { contextWindow: current.contextWindow }),
|
|
141
|
+
// 本 step 里失败过的路由一律不再回头:同窗口的两个模型(`>=` 判定)否则会来回横跳
|
|
142
|
+
exclude: [...state.tried],
|
|
73
143
|
signal,
|
|
74
144
|
});
|
|
75
145
|
if (candidate !== undefined) {
|
|
@@ -88,7 +158,7 @@ export function installModelRecovery(ctx, deps) {
|
|
|
88
158
|
}
|
|
89
159
|
state.stage = entered;
|
|
90
160
|
state.target = target;
|
|
91
|
-
const from =
|
|
161
|
+
const from = route;
|
|
92
162
|
const to = `${target.provider}/${target.model}`;
|
|
93
163
|
deps.logger?.warn(`kenari: ${from} 失败(${failure.code}),${entered === 1 ? '换模型' : '回退默认 provider'}为 ${to}`);
|
|
94
164
|
if (deps.noticeEnabled) {
|
|
@@ -99,8 +169,8 @@ export function installModelRecovery(ctx, deps) {
|
|
|
99
169
|
source: { kind: 'plugin', plugin: 'kenari', form: 'notice', summary: `${from} → ${to}` },
|
|
100
170
|
}));
|
|
101
171
|
}
|
|
102
|
-
const
|
|
103
|
-
if (!
|
|
172
|
+
const switched = await sleepUnlessAborted(deps.switchDelayMs, signal);
|
|
173
|
+
if (!switched) {
|
|
104
174
|
states.delete(session);
|
|
105
175
|
return undefined;
|
|
106
176
|
}
|
|
@@ -109,10 +179,25 @@ export function installModelRecovery(ctx, deps) {
|
|
|
109
179
|
// 用户显式选模型(会话日志追加 model/selection)时让人的选择优先。
|
|
110
180
|
// 只有 /model 命令会追加该事件,所以不会误清我们的 override。
|
|
111
181
|
ctx.on('session/event', (session, event) => {
|
|
182
|
+
const shape = event;
|
|
112
183
|
// `model/selection` 的事件类型由 `@deepseek-ai/dsh-session-controller` 声明合并而来。
|
|
113
184
|
// 为了一个字符串比对上整个 session-controller 依赖不划算,所以按形状读。
|
|
114
|
-
if (
|
|
185
|
+
if (shape.type === 'model/selection') {
|
|
115
186
|
states.delete(session);
|
|
187
|
+
scheduled.delete(session);
|
|
188
|
+
return;
|
|
189
|
+
}
|
|
190
|
+
// 数链上排程的重试。事件自带 turn/step,所以能按 step 归集,不必读会话上下文。
|
|
191
|
+
if (shape.type !== 'llm/retry')
|
|
192
|
+
return;
|
|
193
|
+
const { turn, step } = shape.data ?? {};
|
|
194
|
+
if (turn === undefined || step === undefined)
|
|
195
|
+
return;
|
|
196
|
+
const stepKey = `${turn}:${step}`;
|
|
197
|
+
const previous = scheduled.get(session);
|
|
198
|
+
scheduled.set(session, previous?.stepKey === stepKey
|
|
199
|
+
? { stepKey, count: previous.count + 1 }
|
|
200
|
+
: { stepKey, count: 1 });
|
|
116
201
|
});
|
|
117
202
|
}
|
|
118
203
|
//# sourceMappingURL=recovery.js.map
|
package/lib/llm/recovery.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"recovery.js","sourceRoot":"","sources":["../../src/llm/recovery.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"recovery.js","sourceRoot":"","sources":["../../src/llm/recovery.ts"],"names":[],"mappings":"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"}
|
package/lib/llm/retry.d.ts
CHANGED
|
@@ -1,31 +1,29 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* 模型失败恢复的共享件:路由判定、dsh 重试的关闭策略、可取消延时。
|
|
3
3
|
*
|
|
4
4
|
* 为什么策略在这里拼:`LlmAdapter.providerRetryPolicy()` 只在适配器注册那一刻被调用一次,
|
|
5
5
|
* 返回值随即被 dsh 冻结进注册记录(`packages/llm/llm/src/index.ts:436-442`)。所以这里产出的
|
|
6
|
-
* 是「注册时的配置快照」——
|
|
7
|
-
* 对结构性字段的说明一致。
|
|
6
|
+
* 是「注册时的配置快照」—— 与 plugin-rules #10 对结构性字段的说明一致。
|
|
8
7
|
* @module dsh-kenari-plugin/llm/retry
|
|
9
8
|
*/
|
|
10
9
|
import type { ResolvedRetryPolicy } from '@deepseek-ai/dsh-llm';
|
|
11
10
|
/** 判定一个 provider 路由是否参与模型失败恢复。路由 id 是精确匹配,不做大小写归一。 */
|
|
12
11
|
export declare function isRecoveryProvider(provider: string, configured: readonly string[]): boolean;
|
|
13
|
-
/** 重试策略的可调输入,取自插件 Config。 */
|
|
14
|
-
export interface KenariRetryInput {
|
|
15
|
-
/** 首次请求之后的额外重试次数。 */
|
|
16
|
-
maxRetries?: number;
|
|
17
|
-
/** 每次重试前的固定等待毫秒数。 */
|
|
18
|
-
delayMs?: number;
|
|
19
|
-
/** 允许重试的失败码;省略则用 dsh 默认集,但显式传空数组会被拒绝。 */
|
|
20
|
-
retryableCodes?: readonly string[];
|
|
21
|
-
}
|
|
22
12
|
/**
|
|
23
|
-
*
|
|
13
|
+
* 让 dsh 自带的重试在 Kenari 路由上停手:重试由插件自己的状态机负责(见 `./recovery.ts`)。
|
|
24
14
|
*
|
|
25
|
-
*
|
|
26
|
-
*
|
|
15
|
+
* 为什么不把重试交给 `dsh-llm-retry`:它会**静默消失**。`agent/request-error` 是没有
|
|
16
|
+
* 「默认行为」的瀑布 —— 排在后面的监听器只在前面调用 `next()` 时才被调用。只要注册顺序
|
|
17
|
+
* 被翻过来一次(live patch / HMR 重载后重注册),排在外层的策略就把 llm-retry 永久饿死,
|
|
18
|
+
* 而插件没有任何办法观察到这件事。实测线上会话里 `llm/retry` 事件数为 0,换模型发生在
|
|
19
|
+
* 第一次失败上 —— 承诺的 5 次重试从未执行过。重试是插件对用户承诺的行为,不能建立在一个
|
|
20
|
+
* 自己看不见的机制上,所以这里把它关掉,由 `recovery.ts` 自己数次数、自己等。
|
|
21
|
+
*
|
|
22
|
+
* 关闭方式只有一种:`maxRetries: 0` 让 `previousRetry >= maxRetries` 立刻成立,llm-retry
|
|
23
|
+
* 直接 `next()`。`retryableCodes` 必须非空(dsh 的校验),给一个占位码即可 —— 0 次重试时
|
|
24
|
+
* 它永远不会被读到。
|
|
27
25
|
*/
|
|
28
|
-
export declare function
|
|
26
|
+
export declare function dshRetryDisabledPolicy(): ResolvedRetryPolicy;
|
|
29
27
|
/**
|
|
30
28
|
* 可取消的等待。返回 false 表示等待期间被取消,调用方应当放弃本次恢复而不是继续重试。
|
|
31
29
|
*
|
package/lib/llm/retry.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"retry.d.ts","sourceRoot":"","sources":["../../src/llm/retry.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"retry.d.ts","sourceRoot":"","sources":["../../src/llm/retry.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAA;AAE/D,sDAAsD;AACtD,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAE3F;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,sBAAsB,IAAI,mBAAmB,CAQ5D;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,CAapF"}
|
package/lib/llm/retry.js
CHANGED
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* 模型失败恢复的共享件:路由判定、dsh 重试的关闭策略、可取消延时。
|
|
3
3
|
*
|
|
4
4
|
* 为什么策略在这里拼:`LlmAdapter.providerRetryPolicy()` 只在适配器注册那一刻被调用一次,
|
|
5
5
|
* 返回值随即被 dsh 冻结进注册记录(`packages/llm/llm/src/index.ts:436-442`)。所以这里产出的
|
|
6
|
-
* 是「注册时的配置快照」——
|
|
7
|
-
* 对结构性字段的说明一致。
|
|
6
|
+
* 是「注册时的配置快照」—— 与 plugin-rules #10 对结构性字段的说明一致。
|
|
8
7
|
* @module dsh-kenari-plugin/llm/retry
|
|
9
8
|
*/
|
|
10
9
|
import { resolveRetryPolicy } from '@deepseek-ai/dsh-llm';
|
|
@@ -13,21 +12,27 @@ export function isRecoveryProvider(provider, configured) {
|
|
|
13
12
|
return configured.includes(provider);
|
|
14
13
|
}
|
|
15
14
|
/**
|
|
16
|
-
*
|
|
15
|
+
* 让 dsh 自带的重试在 Kenari 路由上停手:重试由插件自己的状态机负责(见 `./recovery.ts`)。
|
|
17
16
|
*
|
|
18
|
-
*
|
|
19
|
-
*
|
|
17
|
+
* 为什么不把重试交给 `dsh-llm-retry`:它会**静默消失**。`agent/request-error` 是没有
|
|
18
|
+
* 「默认行为」的瀑布 —— 排在后面的监听器只在前面调用 `next()` 时才被调用。只要注册顺序
|
|
19
|
+
* 被翻过来一次(live patch / HMR 重载后重注册),排在外层的策略就把 llm-retry 永久饿死,
|
|
20
|
+
* 而插件没有任何办法观察到这件事。实测线上会话里 `llm/retry` 事件数为 0,换模型发生在
|
|
21
|
+
* 第一次失败上 —— 承诺的 5 次重试从未执行过。重试是插件对用户承诺的行为,不能建立在一个
|
|
22
|
+
* 自己看不见的机制上,所以这里把它关掉,由 `recovery.ts` 自己数次数、自己等。
|
|
23
|
+
*
|
|
24
|
+
* 关闭方式只有一种:`maxRetries: 0` 让 `previousRetry >= maxRetries` 立刻成立,llm-retry
|
|
25
|
+
* 直接 `next()`。`retryableCodes` 必须非空(dsh 的校验),给一个占位码即可 —— 0 次重试时
|
|
26
|
+
* 它永远不会被读到。
|
|
20
27
|
*/
|
|
21
|
-
export function
|
|
22
|
-
|
|
23
|
-
const config = {
|
|
28
|
+
export function dshRetryDisabledPolicy() {
|
|
29
|
+
return resolveRetryPolicy({
|
|
24
30
|
mode: 'normal',
|
|
25
|
-
maxRetries:
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
return resolveRetryPolicy(config, 'kenari.modelRecovery.retryPolicy');
|
|
31
|
+
maxRetries: 0,
|
|
32
|
+
retryableCodes: ['TRANSPORT'],
|
|
33
|
+
// 退避参数用最小值:0 次重试时它不会被执行,但 dsh 要求 initialDelayMs 为正
|
|
34
|
+
backoff: { initialDelayMs: 1, maxDelayMs: 1, jitterRatio: 0 },
|
|
35
|
+
}, 'kenari.modelRecovery.dshRetryDisabled');
|
|
31
36
|
}
|
|
32
37
|
/**
|
|
33
38
|
* 可取消的等待。返回 false 表示等待期间被取消,调用方应当放弃本次恢复而不是继续重试。
|
package/lib/llm/retry.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"retry.js","sourceRoot":"","sources":["../../src/llm/retry.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"retry.js","sourceRoot":"","sources":["../../src/llm/retry.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AAGzD,sDAAsD;AACtD,MAAM,UAAU,kBAAkB,CAAC,QAAgB,EAAE,UAA6B;IAChF,OAAO,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;AACtC,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,sBAAsB;IACpC,OAAO,kBAAkB,CAAC;QACxB,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE,CAAC;QACb,cAAc,EAAE,CAAC,WAAW,CAAC;QAC7B,mDAAmD;QACnD,OAAO,EAAE,EAAE,cAAc,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE;KAC9D,EAAE,uCAAuC,CAAC,CAAA;AAC7C,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAAC,EAAU,EAAE,MAAmB;IAChE,IAAI,MAAM,CAAC,OAAO;QAAE,OAAO,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;IACjD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,IAAI,KAAgD,CAAA;QACpD,MAAM,MAAM,GAAG,CAAC,MAAe,EAAQ,EAAE;YACvC,IAAI,KAAK,KAAK,SAAS;gBAAE,YAAY,CAAC,KAAK,CAAC,CAAA;YAC5C,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;YAC5C,OAAO,CAAC,MAAM,CAAC,CAAA;QACjB,CAAC,CAAA;QACD,MAAM,OAAO,GAAG,GAAS,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;QACzC,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAA;QAC1C,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAA;IAC3D,CAAC,CAAC,CAAA;AACJ,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "dsh-kenari-plugin",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.2.0",
|
|
4
4
|
"description": "Kenari (kenari.id) as a first-class citizen of DeepSeek Harness: session models, web search/fetch provider with fallback, and REST capability tools.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -39,7 +39,9 @@
|
|
|
39
39
|
"test:default-route": "node test/default-route.mjs",
|
|
40
40
|
"test:view": "node test/catalog-view.mjs",
|
|
41
41
|
"test:favicon": "node test/favicon.mjs",
|
|
42
|
-
"test:session-title": "node test/session-title.mjs"
|
|
42
|
+
"test:session-title": "node test/session-title.mjs",
|
|
43
|
+
"test:model-recovery": "node test/model-recovery.mjs",
|
|
44
|
+
"test:retry-repro": "node test/retry-repro.mjs"
|
|
43
45
|
},
|
|
44
46
|
"dsh": {
|
|
45
47
|
"bundle": {
|