dsh-advisor 0.1.3 → 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.zh.md CHANGED
@@ -1,89 +1,62 @@
1
1
  # dsh-advisor
2
2
 
3
- [English](README.md) | 中文
3
+ [English](README.md) | [中文](README.zh.md)
4
4
 
5
5
  [![license](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE)
6
6
  ![node](https://img.shields.io/badge/node-%5E22.19%20%7C%7C%20%3E%3D24-339933.svg)
7
7
  ![dsh](https://img.shields.io/badge/dsh-DeepSeek%20Harness%20compatible-4B32C3.svg)
8
+ [![dshfind](https://dshfind.com/api/badge/omdsh-dev/dsh-advisor?lang=zh)](https://dshfind.com/zh/plugins/omdsh-dev/dsh-advisor?ref=badge)
8
9
 
9
- 一个移植 omp「advisor」子系统的独立 dsh 插件组合包:一个按会话运行的评审模型,观察主会话 transcript,用显式配置的模型(provider 与 model 均为必填)评审每个已完成的 stepped turn,并把按严重度排序的建议(nit / concern / blocker)注入回会话 —— 不污染主循环,也不递归地评审自己。
10
-
11
- 一条命令即可安装:
12
-
13
- ```sh
14
- dsh plugin --profile web add dsh-advisor # <name> = 你的 profile 名
15
- ```
10
+ 一个移植 omp「advisor」子系统的独立 dsh(DeepSeek Harness)插件组合包:一个按会话运行的独立评审模型,观察主会话 transcript,用显式配置的模型(provider 与 model 均为必填)评审每个已完成的 stepped turn,并把按严重度排序的建议(nit / concern / blocker)注入回会话——不污染主循环,也不递归地评审自己。
16
11
 
17
12
  **仅作建议。** advisor 从不批准或否决主 agent 的动作,也绝不会像主 agent 那样发出命令。每条送达的消息都是自我描述的 advisory 内容;一个行为异常的评审者会被端到端约束(emission guard、immuneTurns 冷却、failure policy),因此它永远不会卡住或污染主循环。
18
13
 
19
- ## 安装
20
-
21
- ### 一条命令的 registry 安装
14
+ 两个 dsh 前端均可用:**web** profile(设置 → 插件配置 → Advisor 卡片)与 **dsh-tui** 终端 profile(`/advisor` + `/advisor config`)。
22
15
 
23
- ```sh
24
- dsh plugin --profile web add dsh-advisor # <name> = 你的 profile 名
25
- ```
26
-
27
- registry 安装拉取的是已发布的 tarball,其中自带构建产物(`lib/` + `cordis.patch.yml`),因此不会运行 `prepare` 构建,也无需构建放行。运行时依赖(`@deepseek-ai/cordis`、`@deepseek-ai/schemastery` 与 `@deepseek-ai/dsh-*` peers)声明为 peerDependencies,由 dsh 安装的扁平 profile module fallback 解析——无需额外安装步骤。需要可复现安装时用 `dsh-advisor@0.1.0` 钉住精确版本。
16
+ ## 快速开始
28
17
 
29
- ### 本地目录安装(推荐用于开发 / 验证)
18
+ ### 安装
30
19
 
31
20
  ```sh
32
- pnpm install # 构建组合包(prepare 自建)
33
- dsh plugin --profile web add . # <name> = 你的 profile
21
+ dsh plugin --profile web add dsh-advisor # web profile(设置 → Advisor 卡片)
22
+ dsh plugin --profile dsh-tui add dsh-advisor # dsh-tui 终端 profile
34
23
  ```
35
24
 
36
- ### 验证
25
+ 同一个插件、两个前端——区别只在 `--profile` 参数。钉版本:加 `@<version>`(如 `dsh-advisor@0.1.0`)。registry 安装拉取的是已发布的 tarball,自带构建产物(`lib/` + `cordis.patch.yml`)——目标机无需构建;运行时依赖(`@deepseek-ai/cordis`、`@deepseek-ai/schemastery` 与 `@deepseek-ai/dsh-*` peers)经 dsh 安装的扁平 profile module fallback 解析——无需额外安装步骤。registry / git / tarball / 本地目录变体(本地目录从已构建 checkout 安装:`dsh plugin --profile web add .` 或 `dsh plugin --profile dsh-tui add .`)、web Settings 暴露、卸载与 `--dump-config` 验证 → [docs/install.zh.md](docs/install.zh.md)。
37
26
 
38
- ```sh
39
- dsh --profile web --dump-config # 显示带 advisor 配置行的 "# == dsh-advisor" 层
40
- dsh --profile web
41
- ```
27
+ ### 配置
42
28
 
43
- tarball 安装与卸载见 [docs/install.zh.md](docs/install.zh.md)。
29
+ 在全局 dsh 设置文档(默认 `$DSH_HOME/settings.yaml`——跨 profile 共享;web Settings 卡片也写入这个文件)中添加 `advisor:` 分节:
44
30
 
45
- ## 配置
31
+ ```yaml
32
+ advisor:
33
+ enabled: true # 总开关(默认 false)——需显式打开后生效
34
+ provider: deepseek-official # enabled: true 时必填(非空)
35
+ model: deepseek-v4-flash # enabled: true 时必填(非空)
36
+ systemPrompt: "" # 可选;"" = 内置评审 prompt
37
+ immuneTurns: 3 # 整数 ≥ 0,默认 3 —— 打断性送达后的冷却步数
38
+ maxDeltaMessages: 60 # 整数 ≥ 0,默认 60 —— delta 窗口;0 = 无上限
39
+ ```
46
40
 
47
- ![dsh web Settings("插件配置")页上的 Advisor 卡片](docs/screenshots/advisor-settings-card.webp)
41
+ advisor 默认关闭。启用后,`provider` `model` 为**必填**:`enabled: true` 而缺少两者之一是一个硬门禁——advisor 不会发起任何模型调用,并报告带原因的禁用状态(disabled-with-reason);未知配置键会被拒绝。
48
42
 
49
- advisor 默认关闭。启用后,`provider` 与 `model` 为**必填**:`enabled: true` 而缺少两者之一是一个硬门禁 —— advisor 不会发起任何模型调用,并报告带原因的禁用状态(disabled-with-reason)。未知配置键会被拒绝。
43
+ 同一组键在**三个配置面**之间合成(后一层覆盖前一层;各处使用同一组键与同一个硬门禁,宿主侧门禁始终是所有路径上的最后防线):
50
44
 
51
- 配置在**三个配置面**之间合成(后一层覆盖前一层;各处使用同一组键):
45
+ 1. **插件行 config** —— profile 补丁层(`$DSH_HOME/profiles/<profile>/cordis.patch.yml`)。这是合成 base。
46
+ 2. **dsh web Settings 页 —— "插件配置"页** —— Advisor **卡片**(id `advisor`),含 enabled 开关、只列出系统内已配置 provider 及其模型的 provider/model 选择框与可选字段。保存写入 `advisor` settings namespace,新会话立即生效,无需重启。卡片要求当前版本的 dsh web 构建(其 web shell 声明了 `settings.plugin.item` 卡片 slot 并能加载 `dsh.client` 声明包);它通过官方 `GatewayService` RPC 通道读写该命名空间(`/api/advisor/get` + `/api/advisor/set`),不受 settings 暴露白名单门控。卡片还会在 enabled 且必填字段为空时阻止保存。
47
+ 3. **`/advisor` 指令** —— 按会话且临时:翻转的是会话级 override,从不修改持久化配置(见[验证](#验证))。
52
48
 
53
- 1. **插件行 config** —— `$DSH_HOME/profiles/web/cordis.patch.yml`(见下)。这是合成 base
54
- 2. **dsh web Settings 页 —— "插件配置"页** —— Advisor **卡片**(id `advisor`,渲染在三张上游卡片 bash / agent-loop / web-search 之后),含 enabled 开关、只列出系统内已配置 provider 及其模型的 provider/model 选择框与可选字段。保存写入 `advisor` settings namespace,覆盖插件行 config 而无需改动它。保存后新会话立即生效,无需重启(运行时 live 读取合成值)。需要当前版本的 dsh web 构建(其 web shell 声明了 `settings.plugin.item` 卡片 slot 并能加载 `dsh.client` 声明包)。卡片通过**官方 `GatewayService` RPC 通道**读写该命名空间(`/api/advisor/get` + `/api/advisor/set`,由宿主的 typertGateway claims——与 dsh 内建 `goals` 服务同一机制),该通道**不受 settings 暴露白名单门控**:进程内写入(`ctx.settings.update`)没有 exposed-namespace 检查。无需也不施加任何宿主补丁。
55
- 3. **`/advisor` 指令** —— 按会话且临时:翻转的是会话级 override,从不修改持久化配置(见[用法](#用法))。
49
+ **dsh-tui** profile 没有设置页:同样由两个持久化配置面(profile 补丁层 + 全局 `$DSH_HOME/settings.yaml`)合成配置,`/advisor config` 以只读回读方式打印合成后的配置并附编辑提示。完整参考 → [docs/configuration.md](docs/configuration.md)
56
50
 
57
- 两个持久化配置面共享同一个硬门禁:`enabled: true` `provider`/`model` 为空时绝不发起模型调用(disabled-with-reason)。Settings 页还会在 enabled 且必填字段为空时阻止保存;宿主侧硬门禁始终是所有路径上的最后防线。
51
+ ![dsh web Settings("插件配置")页上的 Advisor 卡片](docs/screenshots/advisor-settings-card.webp)
58
52
 
59
- 插件行配置:
53
+ ### 验证
60
54
 
61
- ```yaml
62
- # profiles/web/cordis.patch.yml the profile's user patch layer
63
- - id: advisor
64
- config:
65
- enabled: true # master switch (default false)
66
- provider: deepseek-official # REQUIRED when enabled
67
- model: deepseek-v4-flash # REQUIRED when enabled
68
- systemPrompt: "" # optional; "" = built-in reviewer prompt
69
- immuneTurns: 3 # int ≥ 0, default 3 — cooldown after a delivered interrupt
70
- maxDeltaMessages: 60 # int ≥ 0, default 60 — delta window; 0 = unbounded
55
+ ```sh
56
+ dsh --profile web --dump-config # 显示带 advisor 配置行的 "# == dsh-advisor" 层
71
57
  ```
72
58
 
73
- | | 类型 / 默认值 | 含义 |
74
- |---|---|---|
75
- | `enabled` | bool, `false` | 总开关。 |
76
- | `provider` | string, optional | 供应商路由。`enabled: true` 时必须(非空)。 |
77
- | `model` | string, optional | 模型 id。`enabled: true` 时必须(非空)。 |
78
- | `systemPrompt` | string, `""` | 覆盖内置评审 prompt(严重度定义 + JSON-frame 输出契约)。 |
79
- | `immuneTurns` | int ≥ 0, `3` | 实际 steer 过一次 concern/blocker 后,接下来 N 个完成的 stepped 主 turn 必须走完,另一条打断性 note 才可再次 steer;窗口内的 note 降级为 inject。 |
80
- | `maxDeltaMessages` | int ≥ 0, `60` | 有界的 advisor 输入窗口。超过 N 的 delta 以 `… <earlier messages omitted>` 标记截断;`0` = 无上限。 |
81
-
82
- **模型能力与预算**:advisor 调用以 `reasoningEffort: 'off'` 运行 —— 仅当所配置模型的 adapter 声明该档位时才发送(deepseek 模型声明;其他模型会自动省略该选项,因此非推理供应商照常工作)—— 并以 **5120 tokens** 作为输出上限(用户指示的 256 → 5120 的 20 倍超驰)。抽取出的 note 有界(1000 字符),notice summary 有界(120 字符),因此提高的预算不会变成注入主会话的无界内容。
83
-
84
- ## 用法
85
-
86
- 安装并启用后,advisor 观察每个会话。用 `/advisor` 指令按会话控制它(组合了 command registry 时可用):
59
+ 安装并启用后,在会话内用 `/advisor` 指令控制它(组合了 command registry 时可用):
87
60
 
88
61
  ```
89
62
  /advisor toggle the advisor for this session
@@ -92,75 +65,53 @@ advisor 默认关闭。启用后,`provider` 与 `model` 为**必填**:`enabl
92
65
  /advisor status show state, model, runtime status, pending count, last activity
93
66
  ```
94
67
 
95
- `/advisor on|off|toggle` 是会话级且临时的:它们翻转的是按会话的 override,从不修改持久化配置。启用一个 config 缺少 `provider`/`model` 的会话不会发起模型调用 —— `/advisor status`(以及 `/advisor on` 的回复)会显示门禁原因。
96
-
97
- `/advisor on` 也是手动恢复路径:被 quota/rate-limit 暂停的会话 advisor(`quota_exhausted` —— KD-5 没有自动恢复定时器)会在原地恢复;被终止的 advisor(永久性模型错误,如凭据无效)会为该会话全新重建。
68
+ `/advisor on|off|toggle` 是会话级且临时的:它们翻转的是按会话的 override,从不修改持久化配置。启用一个 config 缺少 `provider`/`model` 的会话不会发起模型调用——`/advisor status`(以及 `/advisor on` 的回复)会显示门禁原因:advisor 只有在启用**且**两者均已配置时才运行。`/advisor on` 也是手动恢复路径:被 quota/rate-limit 暂停的会话 advisor(`quota_exhausted`——无自动恢复定时器)会在原地恢复;被终止的 advisor(永久性模型错误,如凭据无效)会为该会话全新重建。
98
69
 
99
- advisor 采用双模式触发,取决于会话形态:
70
+ 在 **dsh-tui** profile 中,`/advisor config` 额外回读组合配置——只读,附编辑提示:web Settings 卡片仅限 web,TUI 没有设置页、也没有写指令,请通过 profile 补丁层或 `$DSH_HOME/settings.yaml` 修改。`/advisor` / `on|off|status|config` 指令出现在 TUI 的 `/` 菜单中并带子命令补全(指令发现要求 `dsh-tui-command-trees` 行——随附的 dsh-tui 组合包自带)。
100
71
 
101
- - **标准 stepped 会话** —— 在每个正常结束(`completed`、`max-tokens` 或 `error`)的 stepped 主 turn 之后,评审增量 transcript delta。
102
- - **agentic / harness 会话**(从不发出 `turn/end`)—— 在每个完成的 agent 回复轮次之后:当新的用户输入(含 inbox 拼接输入)在未评审的 assistant 增量之后到达时,评审该增量。
72
+ ## 能力一览
103
73
 
104
- 无论哪种模式,每次评审至多发出一条 note,按严重度排序:
74
+ - **每个会话一个独立评审者**:独立的模型调用观察主 transcript 并评审每个 stepped 主 turn;advisor 消息被排除在此后的 delta 之外,因此 advisor 永远不会读回自己的建议。
75
+ - **按严重度排序的建议 + inject/steer 语义**:每次评审至多发出一条 note——**nit**(轻微的样式、清晰度或质量建议;经非唤醒的 `agent.inject` 送达,在下一个 pre-step 边界消费)、**concern**(继续之前值得权衡的重大风险或明显更优的方向;经唤醒的 `agent.steer` 送达,受 `immuneTurns` 冷却约束)、**blocker**(继续下去明显是在浪费工作——与显式用户指令矛盾、原地打转、根本性不可行;经 `agent.steer` 送达)。送达的消息携带 `[advisor:{severity}]` 前缀且为自我描述的 advisory 内容:
105
76
 
106
- - **nit** —— 轻微的样式、清晰度或质量建议;通过 `agent.inject` 送达(非唤醒,在下一个 pre-step 边界消费)。
107
- - **concern** —— 在继续之前值得权衡的重大风险或明显更优的方向;通过 `agent.steer` 送达(唤醒),受 `immuneTurns` 冷却约束。
108
- - **blocker** —— 继续下去明显是在浪费工作(与显式用户指令矛盾、原地打转、根本性不可行);通过 `agent.steer` 送达。
109
-
110
- 注入的建议以 user-role 消息出现在会话流中,携带 advisor source kind 与自我描述的内容,例如:
111
-
112
- ```
113
- [advisor:concern] extract the helper into a module and unit-test it
114
- ```
77
+ ```
78
+ [advisor:concern] extract the helper into a module and unit-test it
79
+ ```
115
80
 
116
- `[advisor:{severity}]` 前缀是主模型获得的关于如何对待它的唯一线索 —— system prompt 从不提及 advisory。advisor 消息会被排除在此后的 advisor delta 之外,因此 advisor 永远不会读回自己的建议。
81
+ - **显式模型门禁**:`enabled` 默认关闭;`enabled: true` 而缺少 `provider` + `model` 时绝不发起模型调用——状态报告 disabled-with-reason。未知配置键会被拒绝。
82
+ - **零工具的最小启动**:评审者只是一个独立的模型调用——无 advisor tools,除了 advisory 消息之外它无法对会话做任何事。
83
+ - **不卡主循环的失败策略**:失败或 quota 耗尽的 advisor 只会丢弃自己有界的 backlog——永远不会卡住或污染主循环。
84
+ - **会话级控制**:`/advisor on|off|status|config` 按会话工作;开关是临时的 override,从不修改持久化配置。
117
85
 
118
86
  ![注入到会话流中的 advisor 建议](docs/screenshots/advisor-injected-note.webp)
119
87
 
120
- ## 工作原理
88
+ ## 纯挂载(零 dsh 修改)
121
89
 
122
- 插件订阅 `session/event`。两种触发方式会把主 transcript 的增量 markdown delta(排除 advisor 自己的消息)渲染出来并放入按会话的 runtime 队列:标准 stepped 会话在每个 stepped `turn/end` 之后;agentic/harness 会话(从不发出 `turn/end`)则在新的用户输入(含 inbox 拼接输入)于未评审的 assistant 增量之后到达时 —— 即每个完成的 agent 回复轮次。runtime 通过 `ctx.llm.stream` 调用一个单独配置的模型,从 JSON-framed 回复中提取一条 `{note, severity}`,经过 emission guard 门禁(normalize / dedupe / content-free 抑制 / 每次更新至多一条 note),然后路由:nit → inject,concern/blocker → steer。advisor 调用以关闭推理(reasoning off)和 20 倍 token 预算运行,因此 JSON note 绝不会被推理输出挤占。compaction 与 surface 重写会重置 observer、emission guard 与 immuneTurns latch(KD-5);drain 完全异步且 backlog 有界,因此失败或 quota 耗尽的 advisor 只能丢弃自己的 backlog —— 永远不会卡住主循环。
90
+ 插件以**纯挂载**方式安装:bundle 插入 + 客户端卡片(web Settings "插件配置")+ 自有 gateway 通道(`/api/advisor/get|set`,由宿主 typertGateway 认领——与 dsh 内建 `goals` 服务同一机制,不受 settings 暴露白名单门控)+ `/advisor` 指令——无 dsh 补丁、无 postinstall 步骤,dsh 升级永不需重打。
123
91
 
124
92
  ## 限制与路线图
125
93
 
126
94
  MVP 有意放弃与 omp 的完整对等。已接受的差距(在 harness 迭代路线图中跟踪):
127
95
 
128
- - **每个会话一个 advisor** —— 无并行 advisor roster 或 WATCHDOG 式文件发现(下一迭代)。
129
- - **无 advisor tools** —— 评审者只是一个独立的模型调用;它无法自行核验主张(下下迭代)。
130
- - **无会话内 advisor 面板** —— 建议仅以带标签的注入消息呈现("插件配置"设置页上的 Advisor 卡片是配置面,不是会话内视图;会话内卡片为下下迭代)。
131
- - **无 transcript 持久化或成本统计** —— 无可恢复的 advisor 历史或成本可观测性(下下迭代)。
132
- - **无 delta 内容密钥混淆** —— transcript 中出现的 secrets 可能到达 advisor 模型;请通过配置可信的评审模型来缓解。
133
- - **不隔离不安全的 advisor 输出** —— 行为异常的 note 可能携带指令性文本;JSON frame + 校验 + advisory-only 框架(`[advisor:…]`、"weigh, don't blindly obey")是仅有的缓解手段,且 note 会原样送达主 transcript(路线图)。
134
- - **无 `syncBacklog` 追赶等待** —— 落后很多的 advisor 不会等待主循环;其 backlog 有界且会被丢弃(永远不会卡住主循环),因此 advisor note 可能在下一次主 turn 开始之后才到达(路线图:context-maintenance batch)。
135
- - **advisor 上下文有界** —— 长会话的完整重放会被截断(`maxDeltaMessages`),因此 compaction 后 advisor 可能丢失早期上下文;advisor 上下文维护在路线图中(下下迭代)。
136
-
137
- ## 开发
138
-
139
- 组合包在安装时自行构建:`package.json` 声明了 `"prepare": "node scripts/setup-dsh-links.mjs && pnpm build"`(开发期链接农场、与 `prepack` 相同的构建),因此任何克隆在 **`DSH_HOME` 指向一个含 `source/current` 的 dsh home(或 `DSH_SOURCE_DIR` 直接指向一个 dsh 源码树)** 后立即可构建。私有的 `@deepseek-ai/dsh-*` 运行时依赖**只声明为 peerDependencies**;开发期由 `scripts/setup-dsh-links.mjs`(挂在 `prepare` 上、独立命令为 `pnpm dsh:link`、用 `pnpm dsh:link:check` 校验)把该树里的**真实包**链接进 `node_modules/@deepseek-ai/` —— 树声明的每个 `@deepseek-ai/*` 包(声明 `bin` 的工具 CLI 会被跳过:链接它们会让 pnpm 向共享树写入 bin)、无 bin 的内置 `cordis` 框架 shim、以及树自带的 `react`/`react-dom` 副本(node 解析 —— 包括外部化的 CJS 依赖 —— 必须看到同一个 react 身份,即真实 client 包所用的身份;dsh profile 约定 `nodeLinker=hoisted` 放在 `pnpm-workspace.yaml`(pnpm 11+ 忽略 `.npmrc` 中的非认证设置),避免 `.pnpm` 逐包目录遮蔽这些链接)。农场幂等、会清理陈旧条目,并在树缺失或 peer 无法链接时给出明确指引。`pnpm-workspace.yaml` 还设了 `autoInstallPeers: false`(dsh profile 约定):私有 peer 绝不能从 npm registry 获取。
140
-
141
- ```sh
142
- export DSH_HOME=~/.dsh # 含 source/current 的 dsh home(或直接设置 DSH_SOURCE_DIR)
143
- pnpm install # registry deps + 链接农场(经 prepare),无需访问私有 registry
144
- pnpm test # vitest (unit + the composed integration loop)
145
- pnpm typecheck # tsc --noEmit (node) + tsc -p tsconfig.client.json --noEmit + tsc -p tsconfig.spec.json --noEmit
146
- pnpm build # tsc -p tsconfig.build.json emit to lib/ + node scripts/build-client.mjs (client bundle)
147
- pnpm pack # build + produce dsh-advisor-0.0.1.tgz
148
- ```
149
-
150
- Windows 上链接农场的目录条目以 junction 创建(无需特权),但 cordis shim 的文件条目使用文件符号链接,需要开启[开发者模式](https://learn.microsoft.com/windows/apps/get-started/enable-your-device-for-development)(或以管理员 shell 运行)——请先开启再执行 `pnpm install`。Windows 没有 `HOME`,脚本回退到 `USERPROFILE` 解析 dsh 源码树。
151
-
152
- 内置 `cordis` 框架声明为 scoped peer `@deepseek-ai/cordis: ^4.0.1-rc.1`(范围必须带精确的发布 tag —— 带 prerelease 的 comparator 只匹配同 `[major, minor, patch]` tuple,`^4.0.0-rc.7` 永远不匹配 vendored 的 `4.0.1-rc.1`);安装后链接农场的无 bin cordis shim 位于 `node_modules/@deepseek-ai/cordis`,以 scoped 名应答并解析到 vendored 文件,因为真实包是对着 vendored 构建类型化/运行的,模块身份要求开发期的 `import '@deepseek-ai/cordis'` 解析到同一份文件。其余公开 devDependencies(`@deepseek-ai/schemastery`、`react` 等)照常从 npm registry 解析。
153
-
154
- `prepack` 运行 `pnpm build`;`prepare` 运行链接农场与构建,因此 `pnpm pack` 会构建两次(每个生命周期一次)——这是为保持 git 安装可构建而接受的取舍。没有 `postinstall` 步骤:tarball 安装已带构建产物,完全跳过构建。
155
-
156
- 集成测试(`tests/integration.test.ts`)把插件组合进一个带 stub LLM adapter 的真实 cordis 上下文,驱动完整的 turn → delta → advisor call → inject/steer 循环。
96
+ - **每个会话一个 advisor**——无并行 advisor roster 或 WATCHDOG 式文件发现(下一迭代)。
97
+ - **无 advisor tools**——评审者只是一个独立的模型调用;它无法自行核验主张(下下迭代)。
98
+ - **无会话内 advisor 面板**——建议仅以带标签的注入消息呈现;web Advisor 卡片是配置面,不是会话内视图(下下迭代)。
99
+ - **无 transcript 持久化或成本统计**——无可恢复的 advisor 历史或成本可观测性(下下迭代)。
100
+ - **无 delta 内容密钥混淆**——transcript 中出现的 secrets 可能到达 advisor 模型;请通过配置可信的评审模型来缓解。
101
+ - **不隔离不安全的 advisor 输出**——行为异常的 note 可能携带指令性文本;JSON frame + 校验 + advisory-only 框架是仅有的缓解手段,且 note 会原样送达主 transcript(路线图)。
102
+ - **无 `syncBacklog` 追赶等待**——落后很多的 advisor 不会等待主循环;其 backlog 有界且会被丢弃,因此 note 可能在下一次主 turn 开始之后才到达(路线图:context-maintenance batch)。
103
+ - **advisor 上下文有界**——长会话的完整重放会被截断(`maxDeltaMessages`),因此 compaction 后 advisor 可能丢失早期上下文(路线图:下下迭代)。
157
104
 
158
105
  ## 文档
159
106
 
160
107
  | 文档 | 内容 |
161
108
  |---|---|
162
- | [docs/install.zh.md](docs/install.zh.md) | 完整安装指南:git / tarball / 本地目录安装、web Settings 暴露、卸载、`--dump-config` 验证 |
109
+ | [docs/install.zh.md](docs/install.zh.md) | profile 安装(web + dsh-tui)/ registry / git / tarball / 本地目录变体 / web Settings 暴露 / 卸载 / `--dump-config` 验证 |
110
+ | [docs/configuration.md](docs/configuration.md) | `advisor` 命名空间全字段:键与默认值、显式模型门禁(S4)、配置面(web 卡片 / 补丁层 / 全局 settings.yaml)、示例 YAML、live 重应用行为 |
111
+ | [docs/consumer-api.md](docs/consumer-api.md) | 开发者消费契约:包根库 API、`dsh-advisor/client` 入口、`/advisor` 指令面、导出清单、生命周期 |
112
+ | [docs/verification.md](docs/verification.md) | 验证记录:测试矩阵(16 文件 / 319 用例)、typecheck/build、CI 契约、真实环境步骤 |
113
+ | [docs/release.md](docs/release.md) | 发布流程:PR 驱动的 Release prep + Release 工作流、OIDC trusted publishing、版本策略、回滚 |
163
114
 
164
- ## 许可证
115
+ ## 许可
165
116
 
166
- MIT
117
+ 本项目以 **MIT** 许可证发布,全文见 [LICENSE](LICENSE)。版权与许可条款以 LICENSE 文件为准。
@@ -10,7 +10,7 @@
10
10
  * - a FIFO queue of pending transcript deltas (bounded — spec §6 "bounded
11
11
  * backlog"; drop-newest when full);
12
12
  * - a serialized async drain loop: one `llm.stream` call per delta with
13
- * `{ provider, model, system, messages: [user delta], maxTokens: 5120 }` and
13
+ * `{ provider, model, system, messages: [user delta], maxTokens: 768 }` and
14
14
  * `purpose` left UNSET (KD-5 — an advisor call is an ordinary conversation
15
15
  * request);
16
16
  * - a call-level deadline on every `llm.stream` call (dsh-timeout `deadline`,
@@ -79,8 +79,6 @@ export interface AdvisorRuntimeOptions {
79
79
  readonly model: string;
80
80
  /** System prompt sent with every advisor call (config override or KD-2 default). */
81
81
  readonly systemPrompt: string;
82
- /** Output-token cap (KD-2); default 256. */
83
- readonly maxTokens?: number;
84
82
  /** Backoff for the single transient retry (KD-5); default 1000ms. */
85
83
  readonly retryBackoffMs?: number;
86
84
  /**
@@ -108,28 +106,30 @@ export interface AdvisorRuntimeOptions {
108
106
  readonly logger?: AdvisorRuntimeLogger;
109
107
  }
110
108
  /**
111
- * n4 user direction: the advisor call runs with a 20x token budget
112
- * (256 -> 5120) so even a reasoning-heavy reply cannot starve the JSON frame.
109
+ * User-directed token budget for one advisor call (256 5120 768).
113
110
  * Exported so the test suites assert the pinned value instead of a magic
114
111
  * literal.
115
112
  *
116
- * Supersession note (qc2 S-2 / qc1 S-2 / qc3 F-2): the frozen spec §8.2
117
- * (KD-2) pins `maxTokens: 256` ("so a runaway reply cannot blow the budget").
118
- * This 5120 value is the USER-DIRECTED supersession of that pin — a 20x
119
- * worst-case per-call ceiling, adopted together with `reasoningEffort: 'off'`
120
- * (capability-gated, see `resolveReasoningEffort`) so the raised budget goes
121
- * to the JSON frame rather than reasoning output. The looser runaway-reply
122
- * guard is re-bounded downstream: `extractAdviceNote` caps the note at
113
+ * Supersession chain: the frozen spec §8.2 (KD-2) pins `maxTokens: 256` ("so
114
+ * a runaway reply cannot blow the budget"); the 5120 value (a 20x worst-case
115
+ * per-call ceiling) was a USER-DIRECTED supersession adopted together with
116
+ * `reasoningEffort: 'off'` when reasoning-heavy replies could starve the JSON
117
+ * frame. With thinking-off now the capability-gated default (see
118
+ * `resolveReasoningEffort`), the reasoning headroom is unnecessary: this 768
119
+ * value is the latest USER-DIRECTED supersession a modest budget that fits
120
+ * one `ADVISOR_NOTE_MAX_CHARS` note plus the JSON frame. The runaway-reply
121
+ * guard stays re-bounded downstream: `extractAdviceNote` caps the note at
123
122
  * `ADVISOR_NOTE_MAX_CHARS` and `buildAdvisorMessage` bounds the notice
124
123
  * summary via `boundContextSummary`.
125
124
  */
126
- export declare const ADVISOR_MAX_TOKENS = 5120;
125
+ export declare const ADVISOR_MAX_TOKENS = 768;
127
126
  /**
128
127
  * One extracted note's length cap (qc3 F-2 / qc2 S-1): a verbose/rogue advisor
129
- * reply with the 20x token budget must not inject an unbounded user-role
130
- * message into the primary session. Truncated with a '…' marker.
128
+ * reply must not inject an unbounded user-role message into the primary
129
+ * session (the token budget is now matched to this cap — 768). Truncated with
130
+ * a '…' marker.
131
131
  */
132
- export declare const ADVISOR_NOTE_MAX_CHARS = 1000;
132
+ export declare const ADVISOR_NOTE_MAX_CHARS = 768;
133
133
  /**
134
134
  * Extract one {@link AdviceNote} from the advisor's reply (KD-2).
135
135
  *
@@ -153,7 +153,6 @@ export declare class AdvisorRuntime {
153
153
  private readonly provider;
154
154
  private readonly model;
155
155
  private readonly systemPrompt;
156
- private readonly maxTokens;
157
156
  private readonly retryBackoffMs;
158
157
  private readonly callTimeoutMs;
159
158
  private readonly maxQueued;
@@ -167,9 +166,13 @@ export declare class AdvisorRuntime {
167
166
  * W-1 / qc3 F-3): resolving the model's declared efforts on EVERY advisor
168
167
  * call would add an adapter round-trip per delta; one resolution per
169
168
  * (provider, model) per runtime suffices — the route is pinned for the
170
- * runtime's lifetime.
169
+ * runtime's lifetime. ONLY definitive verdicts are cached ('off' or a
170
+ * successful no-'off' resolution); a resolution failure (throw or deadline
171
+ * abort) is never cached, so the next call resolves afresh.
171
172
  */
172
173
  private readonly reasoningEffortCache;
174
+ /** One-shot latch for the definitive no-'off' log line (log-once per runtime). */
175
+ private thinkingOffLogged;
173
176
  private readonly queue;
174
177
  private state;
175
178
  private draining;
@@ -229,14 +232,19 @@ export declare class AdvisorRuntime {
229
232
  * qc3 F-3): pass the branded 'off' effort only when the resolved model's
230
233
  * `reasoning.efforts` includes it, else omit the option (`resolveCallFor`
231
234
  * materializes the adapter default). Cached per (provider, model) — one
232
- * resolution per runtime, never per call. A resolution failure (unknown
233
- * route, adapter throw, or a deadline abort — n4 QC N-5) is advisory: the
234
- * call proceeds WITHOUT the option, matching the pre-n4 behavior for every
235
- * model that does not declare 'off'. The optional `signal` (the call's
236
- * deadline signal) is threaded into `resolveModelInfo`, whose contract
237
- * allows adapter-owned asynchronous lookup with cancellation a hung
238
- * lookup that honors the signal aborts with the call deadline instead of
239
- * wedging the drain.
235
+ * resolution per runtime, never per call but ONLY definitive verdicts are
236
+ * cached: a resolution failure (unknown route, adapter throw, or a deadline
237
+ * abort n4 QC N-5) is advisory and returns `undefined` WITHOUT caching, so
238
+ * a transient failure retries the resolution on the next call instead of
239
+ * latching thinking-off unavailable for the runtime's lifetime. A definitive
240
+ * no-'off' verdict logs the unavailable line once per runtime
241
+ * (`thinkingOffLogged`); resolution failures get no log-once latch of their
242
+ * own. The optional `signal` (the call's deadline signal) is threaded into
243
+ * `resolveModelInfo`, whose contract allows adapter-owned asynchronous
244
+ * lookup with cancellation — a hung lookup that honors the signal aborts
245
+ * with the call deadline instead of wedging the drain.
240
246
  */
241
247
  private resolveReasoningEffort;
248
+ /** Emit the definitive no-'off' line exactly once per runtime. */
249
+ private logThinkingOffUnavailable;
242
250
  }
@@ -10,7 +10,7 @@
10
10
  * - a FIFO queue of pending transcript deltas (bounded — spec §6 "bounded
11
11
  * backlog"; drop-newest when full);
12
12
  * - a serialized async drain loop: one `llm.stream` call per delta with
13
- * `{ provider, model, system, messages: [user delta], maxTokens: 5120 }` and
13
+ * `{ provider, model, system, messages: [user delta], maxTokens: 768 }` and
14
14
  * `purpose` left UNSET (KD-5 — an advisor call is an ordinary conversation
15
15
  * request);
16
16
  * - a call-level deadline on every `llm.stream` call (dsh-timeout `deadline`,
@@ -90,31 +90,31 @@ import { createUserMessage, isQuotaExceededError, ReasoningEffortId } from '@dee
90
90
  import { INVALID_CREDENTIAL_CODE, QUOTA_EXCEEDED_CODE } from '@deepseek-ai/dsh-llm';
91
91
  import { deadline, timeoutOf } from '@deepseek-ai/dsh-timeout';
92
92
  import { createEmissionGuard } from './emission-guard.js';
93
- /** Pinned policy values (KD-2 / KD-5). */
94
- const DEFAULT_MAX_TOKENS = 256;
95
93
  /**
96
- * n4 user direction: the advisor call runs with a 20x token budget
97
- * (256 -> 5120) so even a reasoning-heavy reply cannot starve the JSON frame.
94
+ * User-directed token budget for one advisor call (256 5120 768).
98
95
  * Exported so the test suites assert the pinned value instead of a magic
99
96
  * literal.
100
97
  *
101
- * Supersession note (qc2 S-2 / qc1 S-2 / qc3 F-2): the frozen spec §8.2
102
- * (KD-2) pins `maxTokens: 256` ("so a runaway reply cannot blow the budget").
103
- * This 5120 value is the USER-DIRECTED supersession of that pin — a 20x
104
- * worst-case per-call ceiling, adopted together with `reasoningEffort: 'off'`
105
- * (capability-gated, see `resolveReasoningEffort`) so the raised budget goes
106
- * to the JSON frame rather than reasoning output. The looser runaway-reply
107
- * guard is re-bounded downstream: `extractAdviceNote` caps the note at
98
+ * Supersession chain: the frozen spec §8.2 (KD-2) pins `maxTokens: 256` ("so
99
+ * a runaway reply cannot blow the budget"); the 5120 value (a 20x worst-case
100
+ * per-call ceiling) was a USER-DIRECTED supersession adopted together with
101
+ * `reasoningEffort: 'off'` when reasoning-heavy replies could starve the JSON
102
+ * frame. With thinking-off now the capability-gated default (see
103
+ * `resolveReasoningEffort`), the reasoning headroom is unnecessary: this 768
104
+ * value is the latest USER-DIRECTED supersession a modest budget that fits
105
+ * one `ADVISOR_NOTE_MAX_CHARS` note plus the JSON frame. The runaway-reply
106
+ * guard stays re-bounded downstream: `extractAdviceNote` caps the note at
108
107
  * `ADVISOR_NOTE_MAX_CHARS` and `buildAdvisorMessage` bounds the notice
109
108
  * summary via `boundContextSummary`.
110
109
  */
111
- export const ADVISOR_MAX_TOKENS = 5_120;
110
+ export const ADVISOR_MAX_TOKENS = 768;
112
111
  /**
113
112
  * One extracted note's length cap (qc3 F-2 / qc2 S-1): a verbose/rogue advisor
114
- * reply with the 20x token budget must not inject an unbounded user-role
115
- * message into the primary session. Truncated with a '…' marker.
113
+ * reply must not inject an unbounded user-role message into the primary
114
+ * session (the token budget is now matched to this cap — 768). Truncated with
115
+ * a '…' marker.
116
116
  */
117
- export const ADVISOR_NOTE_MAX_CHARS = 1_000;
117
+ export const ADVISOR_NOTE_MAX_CHARS = 768;
118
118
  const DEFAULT_RETRY_BACKOFF_MS = 1_000;
119
119
  const DEFAULT_MAX_QUEUED = 32;
120
120
  /** Whole-call deadline for one `llm.stream` (qc2 W-4 / qc3 W-1); see `callTimeoutMs`. */
@@ -275,7 +275,6 @@ export class AdvisorRuntime {
275
275
  provider;
276
276
  model;
277
277
  systemPrompt;
278
- maxTokens;
279
278
  retryBackoffMs;
280
279
  callTimeoutMs;
281
280
  maxQueued;
@@ -289,9 +288,13 @@ export class AdvisorRuntime {
289
288
  * W-1 / qc3 F-3): resolving the model's declared efforts on EVERY advisor
290
289
  * call would add an adapter round-trip per delta; one resolution per
291
290
  * (provider, model) per runtime suffices — the route is pinned for the
292
- * runtime's lifetime.
291
+ * runtime's lifetime. ONLY definitive verdicts are cached ('off' or a
292
+ * successful no-'off' resolution); a resolution failure (throw or deadline
293
+ * abort) is never cached, so the next call resolves afresh.
293
294
  */
294
295
  reasoningEffortCache = new Map();
296
+ /** One-shot latch for the definitive no-'off' log line (log-once per runtime). */
297
+ thinkingOffLogged = false;
295
298
  queue = [];
296
299
  state = 'running';
297
300
  draining = false;
@@ -304,7 +307,6 @@ export class AdvisorRuntime {
304
307
  this.provider = options.provider;
305
308
  this.model = options.model;
306
309
  this.systemPrompt = options.systemPrompt;
307
- this.maxTokens = options.maxTokens ?? DEFAULT_MAX_TOKENS;
308
310
  this.retryBackoffMs = options.retryBackoffMs ?? DEFAULT_RETRY_BACKOFF_MS;
309
311
  this.callTimeoutMs = options.callTimeoutMs ?? DEFAULT_CALL_TIMEOUT_MS;
310
312
  this.maxQueued = options.maxQueued ?? DEFAULT_MAX_QUEUED;
@@ -557,7 +559,7 @@ export class AdvisorRuntime {
557
559
  // no retry on parse failures — the frame must simply be absent/valid).
558
560
  const note = extractAdviceNote(text);
559
561
  if (note === undefined) {
560
- this.logger.debug('advisor: reply yielded no note — dropped (KD-2)');
562
+ this.logger.debug('advisor: reply yielded no note — dropped (no parseable non-empty JSON note in the reply)');
561
563
  return { kind: 'no-note' };
562
564
  }
563
565
  try {
@@ -619,8 +621,8 @@ export class AdvisorRuntime {
619
621
  // silently killing the advisor for non-deepseek models — pre-n4 these
620
622
  // worked because no effort was sent).
621
623
  ...(reasoningEffort === undefined ? {} : { reasoningEffort }),
622
- // n4 user direction: amplify the token budget 20x (256 -> 5120) so even a
623
- // reasoning-heavy reply cannot starve the JSON frame.
624
+ // user-directed budget (256 -> 5120 -> 768): with thinking-off the
625
+ // default, a modest cap that fits one bounded note plus the JSON frame.
624
626
  maxTokens: ADVISOR_MAX_TOKENS,
625
627
  signal,
626
628
  // KD-5: `purpose` is a closed union ('compaction' | 'session-title'); an
@@ -632,31 +634,53 @@ export class AdvisorRuntime {
632
634
  * qc3 F-3): pass the branded 'off' effort only when the resolved model's
633
635
  * `reasoning.efforts` includes it, else omit the option (`resolveCallFor`
634
636
  * materializes the adapter default). Cached per (provider, model) — one
635
- * resolution per runtime, never per call. A resolution failure (unknown
636
- * route, adapter throw, or a deadline abort — n4 QC N-5) is advisory: the
637
- * call proceeds WITHOUT the option, matching the pre-n4 behavior for every
638
- * model that does not declare 'off'. The optional `signal` (the call's
639
- * deadline signal) is threaded into `resolveModelInfo`, whose contract
640
- * allows adapter-owned asynchronous lookup with cancellation a hung
641
- * lookup that honors the signal aborts with the call deadline instead of
642
- * wedging the drain.
637
+ * resolution per runtime, never per call but ONLY definitive verdicts are
638
+ * cached: a resolution failure (unknown route, adapter throw, or a deadline
639
+ * abort n4 QC N-5) is advisory and returns `undefined` WITHOUT caching, so
640
+ * a transient failure retries the resolution on the next call instead of
641
+ * latching thinking-off unavailable for the runtime's lifetime. A definitive
642
+ * no-'off' verdict logs the unavailable line once per runtime
643
+ * (`thinkingOffLogged`); resolution failures get no log-once latch of their
644
+ * own. The optional `signal` (the call's deadline signal) is threaded into
645
+ * `resolveModelInfo`, whose contract allows adapter-owned asynchronous
646
+ * lookup with cancellation — a hung lookup that honors the signal aborts
647
+ * with the call deadline instead of wedging the drain.
643
648
  */
644
649
  async resolveReasoningEffort(signal) {
645
650
  const key = `${this.provider}\u0000${this.model}`;
646
651
  if (this.reasoningEffortCache.has(key))
647
652
  return this.reasoningEffortCache.get(key);
653
+ // Method absent → definitive verdict: this runtime has no capability API
654
+ // at all (W-1 fallback), so 'off' is unreachable — cache and log once.
655
+ if (this.llm.resolveModelInfo === undefined) {
656
+ this.reasoningEffortCache.set(key, undefined);
657
+ this.logThinkingOffUnavailable('no capability API');
658
+ return undefined;
659
+ }
648
660
  let effort;
649
661
  try {
650
- const info = await this.llm.resolveModelInfo?.(this.provider, this.model, signal);
662
+ const info = await this.llm.resolveModelInfo(this.provider, this.model, signal);
651
663
  effort = info?.reasoning?.efforts.some((entry) => entry.id === ReasoningEffortId('off'))
652
664
  ? ReasoningEffortId('off')
653
665
  : undefined;
654
666
  }
655
667
  catch {
656
- effort = undefined;
668
+ // Failure (adapter throw OR deadline abort — one class): the call
669
+ // proceeds without the option, but the failure is NOT cached and gets no
670
+ // log-once latch — the next call resolves afresh.
671
+ return undefined;
657
672
  }
658
673
  this.reasoningEffortCache.set(key, effort);
674
+ if (effort === undefined)
675
+ this.logThinkingOffUnavailable('model does not advertise thinking-off');
659
676
  return effort;
660
677
  }
678
+ /** Emit the definitive no-'off' line exactly once per runtime. */
679
+ logThinkingOffUnavailable(reason) {
680
+ if (this.thinkingOffLogged)
681
+ return;
682
+ this.thinkingOffLogged = true;
683
+ this.logger.debug('advisor: thinking-off unavailable', { provider: this.provider, model: this.model, reason });
684
+ }
661
685
  }
662
686
  //# sourceMappingURL=advisor-runtime.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"advisor-runtime.js","sourceRoot":"","sources":["../src/advisor-runtime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"advisor-runtime.js","sourceRoot":"","sources":["../src/advisor-runtime.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,OAAO,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AACjG,OAAO,EAAE,uBAAuB,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAA;AAQnF,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAA;AAC9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAA;AAkFzD;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAAG,CAAA;AACrC;;;;;GAKG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,GAAG,CAAA;AACzC,MAAM,wBAAwB,GAAG,KAAK,CAAA;AACtC,MAAM,kBAAkB,GAAG,EAAE,CAAA;AAC7B,yFAAyF;AACzF,MAAM,uBAAuB,GAAG,MAAM,CAAA;AACtC,uEAAuE;AACvE,MAAM,oBAAoB,GAAG,sBAAsB,CAAA;AACnD,yEAAyE;AACzE,MAAM,sBAAsB,GAAG,CAAC,CAAA;AAChC,oFAAoF;AACpF,MAAM,qBAAqB,GAAG,CAAC,CAAA;AAE/B,8EAA8E;AAC9E,oCAAoC;AACpC,8EAA8E;AAE9E;;;GAGG;AACH,QAAQ,CAAC,CAAC,eAAe,CAAC,IAAY;IACpC,IAAI,KAAK,GAAG,CAAC,CAAC,CAAA;IACd,IAAI,KAAK,GAAG,CAAC,CAAA;IACb,IAAI,QAAQ,GAAG,KAAK,CAAA;IACpB,IAAI,OAAO,GAAG,KAAK,CAAA;IACnB,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC;QACjD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAE,CAAA;QACzB,IAAI,QAAQ,EAAE,CAAC;YACb,IAAI,OAAO;gBAAE,OAAO,GAAG,KAAK,CAAA;iBACvB,IAAI,IAAI,KAAK,IAAI;gBAAE,OAAO,GAAG,IAAI,CAAA;iBACjC,IAAI,IAAI,KAAK,GAAG;gBAAE,QAAQ,GAAG,KAAK,CAAA;YACvC,SAAQ;QACV,CAAC;QACD,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;YACjB,QAAQ,GAAG,IAAI,CAAA;QACjB,CAAC;aAAM,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;YACxB,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;gBACd,KAAK,GAAG,KAAK,CAAA;gBACb,KAAK,GAAG,CAAC,CAAA;YACX,CAAC;iBAAM,CAAC;gBACN,KAAK,EAAE,CAAA;YACT,CAAC;QACH,CAAC;aAAM,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;YACxB,IAAI,KAAK,IAAI,CAAC,IAAI,EAAE,KAAK,KAAK,CAAC,EAAE,CAAC;gBAChC,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,GAAG,CAAC,CAAC,CAAA;gBAClC,KAAK,GAAG,CAAC,CAAC,CAAA;YACZ,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,iBAAiB,CAAC,KAAa;IAC7C,KAAK,MAAM,KAAK,IAAI,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC;QAC3C,IAAI,MAAe,CAAA;QACnB,IAAI,CAAC;YACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;QAC5B,CAAC;QAAC,MAAM,CAAC;YACP,SAAQ,CAAC,0CAA0C;QACrD,CAAC;QACD,IAAI,MAAM,KAAK,IAAI,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;YAAE,SAAQ;QACpF,MAAM,MAAM,GAAG,MAAiC,CAAA;QAChD,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAA;QACxB,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC;YAAE,SAAQ,CAAC,wBAAwB;QAC3F,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAA;QAChC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAA;QAC3B,OAAO;YACL,IAAI,EAAE,OAAO,CAAC,MAAM,GAAG,sBAAsB;gBAC3C,CAAC,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,sBAAsB,GAAG,CAAC,CAAC,GAAG;gBACpD,CAAC,CAAC,OAAO;YACX,QAAQ,EAAE,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK;SAC9E,CAAA;IACH,CAAC;IACD,OAAO,SAAS,CAAA;AAClB,CAAC;AAQD;;;;GAIG;AACH,MAAM,yBAAyB,GAAG,mFAAmF,CAAA;AAErH,2FAA2F;AAC3F,SAAS,eAAe,CAAC,OAAmB;IAC1C,IACE,OAAO,CAAC,IAAI,KAAK,mBAAmB;WACjC,OAAO,CAAC,IAAI,KAAK,YAAY;WAC7B,oBAAoB,CAAC,OAAO,CAAC,OAAO,CAAC,EACxC,CAAC;QACD,OAAO,OAAO,CAAA;IAChB,CAAC;IACD,IACE,OAAO,CAAC,IAAI,KAAK,uBAAuB;WACrC,OAAO,CAAC,IAAI,KAAK,YAAY;WAC7B,yBAAyB,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,EAClD,CAAC;QACD,OAAO,WAAW,CAAA;IACpB,CAAC;IACD,OAAO,WAAW,CAAA;AACpB,CAAC;AAED,qEAAqE;AACrE,SAAS,gBAAgB,CAAC,KAAc;IACtC,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;QAC3B,MAAM,IAAI,GAAI,KAA4B,CAAC,IAAI,CAAA;QAC/C,OAAO;YACL,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,IAAI,EAAE,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;SACrE,CAAA;IACH,CAAC;IACD,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAA;AACpD,CAAC;AAED,SAAS,KAAK,CAAC,EAAU;IACvB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAA;AAC1D,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,gBAAgB,CACvB,QAA0B,EAC1B,MAAmB;IAEnB,IAAI,MAAM,CAAC,OAAO;QAAE,OAAO,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;IACrD,OAAO,IAAI,OAAO,CAAgC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACpE,MAAM,OAAO,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;QACxC,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAA;QACzD,OAAO,CAAC,OAAO,EAAE;aACd,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;aAC3B,IAAI,CACH,CAAC,MAAM,EAAE,EAAE;YACT,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;YAC5C,OAAO,CAAC,MAAM,CAAC,CAAA;QACjB,CAAC,EACD,CAAC,KAAK,EAAE,EAAE;YACR,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;YAC5C,MAAM,CAAC,KAAK,CAAC,CAAA;QACf,CAAC,CACF,CAAA;IACL,CAAC,CAAC,CAAA;AACJ,CAAC;AAsBD;;;;GAIG;AACH,MAAM,OAAO,cAAc;IACR,QAAQ,CAAQ;IAChB,KAAK,CAAQ;IACb,YAAY,CAAQ;IACpB,cAAc,CAAQ;IACtB,aAAa,CAAQ;IACrB,SAAS,CAAQ;IACjB,GAAG,CAAY;IACf,KAAK,CAAe;IACpB,MAAM,CAA4B;IAClC,MAAM,CAAsB;IAC5B,UAAU,GAAG,IAAI,eAAe,EAAE,CAAA;IACnD;;;;;;;;OAQG;IACc,oBAAoB,GAAG,IAAI,GAAG,EAAyC,CAAA;IACxF,kFAAkF;IAC1E,iBAAiB,GAAG,KAAK,CAAA;IAEhB,KAAK,GAAY,EAAE,CAAA;IAC5B,KAAK,GAAyB,SAAS,CAAA;IACvC,QAAQ,GAAG,KAAK,CAAA;IAChB,QAAQ,GAAG,KAAK,CAAA;IAChB,gBAAgB,GAAG,CAAC,CAAA;IACpB,YAAY,CAA2B;IAC/C,4EAA4E;IACpE,cAAc,CAAoB;IAE1C,YAAY,OAA8B;QACxC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAA;QAChC,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAA;QAC1B,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,CAAA;QACxC,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,cAAc,IAAI,wBAAwB,CAAA;QACxE,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,aAAa,IAAI,uBAAuB,CAAA;QACrE,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,kBAAkB,CAAA;QACxD,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,CAAA;QACtB,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,mBAAmB,EAAE,CAAA;QACnD,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAA;QAC5B,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,OAAO,CAAA;IACzC,CAAC;IAED,iEAAiE;IACjE,MAAM;QACJ,OAAO,IAAI,CAAC,KAAK,CAAA;IACnB,CAAC;IAED,uEAAuE;IACvE,IAAI,YAAY;QACd,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAA;IAC1B,CAAC;IAED;;;OAGG;IACH,IAAI,YAAY;QACd,OAAO,IAAI,CAAC,cAAc,CAAA;IAC5B,CAAC;IAED;;;;;OAKG;IACH,OAAO,CAAC,KAAY;QAClB,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,6CAA6C,CAAC,CAAA;YAChE,OAAM;QACR,CAAC;QACD,IAAI,IAAI,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC5B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,2CAA2C,CAAC,CAAA;YAC9D,OAAM;QACR,CAAC;QACD,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACxC,0EAA0E;YAC1E,mEAAmE;YACnE,0DAA0D;YAC1D,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,yCAAyC,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,CAAA;YAC3F,OAAM;QACR,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QACtB,IAAI,IAAI,CAAC,KAAK,KAAK,iBAAiB;YAAE,OAAM,CAAC,oCAAoC;QACjF,IAAI,CAAC,SAAS,EAAE,CAAA;IAClB,CAAC;IAED,oFAAoF;IACpF,OAAO;QACL,IAAI,IAAI,CAAC,QAAQ;YAAE,OAAM;QACzB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAA;QACpB,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAA;QACzC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAA;QACrB,IAAI,CAAC,gBAAgB,GAAG,CAAC,CAAA;IAC3B,CAAC;IAED;;;;;OAKG;IACH,MAAM;QACJ,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,KAAK,KAAK,QAAQ;YAAE,OAAM;QACpD,IAAI,CAAC,KAAK,GAAG,SAAS,CAAA;QACtB,IAAI,CAAC,SAAS,EAAE,CAAA;IAClB,CAAC;IAED;;;;;;OAMG;IACH,UAAU;QACR,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAA;IACpB,CAAC;IAED,0EAA0E;IAC1E,KAAK,CAAC,YAAY;QAChB,MAAM,IAAI,CAAC,YAAY,CAAA;IACzB,CAAC;IAEO,SAAS;QACf,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ;YAAE,OAAM;QAC1C,IAAI,IAAI,CAAC,KAAK,KAAK,iBAAiB,IAAI,IAAI,CAAC,KAAK,KAAK,QAAQ;YAAE,OAAM;QACvE,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;YAC/C,sEAAsE;YACtE,oEAAoE;YACpE,sEAAsE;YACtE,oDAAoD;YACpD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,wCAAwC,EAAE,EAAE,KAAK,EAAE,CAAC,CAAA;QACvE,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,oEAAoE;IAC5D,KAAK,CAAC,KAAK;QACjB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAA;QACpB,IAAI,CAAC;YACH,OACE,CAAC,IAAI,CAAC,QAAQ;mBACX,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC;mBACrB,IAAI,CAAC,KAAK,KAAK,iBAAiB;mBAChC,IAAI,CAAC,KAAK,KAAK,QAAQ,EAC1B,CAAC;gBACD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,EAAG,CAAA;gBACjC,QAAQ,CAAC,MAAM,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;oBAC9C,KAAK,MAAM,CAAC;oBACZ,KAAK,SAAS;wBACZ,gEAAgE;wBAChE,iEAAiE;wBACjE,sDAAsD;wBACtD,IAAI,CAAC,gBAAgB,GAAG,CAAC,CAAA;wBACzB,MAAK;oBACP,KAAK,MAAM;wBACT,IAAI,CAAC,gBAAgB,EAAE,CAAA;wBACvB,IAAI,IAAI,CAAC,gBAAgB,IAAI,qBAAqB;4BAAE,IAAI,CAAC,YAAY,EAAE,CAAA;wBACvE,MAAK;oBACP,KAAK,SAAS;wBACZ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA,CAAC,iDAAiD;wBAC3E,OAAM;oBACR,KAAK,MAAM;wBACT,IAAI,CAAC,YAAY,EAAE,CAAA,CAAC,yCAAyC;wBAC7D,OAAM;oBACR,KAAK,SAAS;wBACZ,OAAM;gBACV,CAAC;YACH,CAAC;QACH,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAA;QACvB,CAAC;IACH,CAAC;IAED,gFAAgF;IACxE,YAAY;QAClB,IAAI,CAAC,gBAAgB,GAAG,CAAC,CAAA;QACzB,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAM;QACnC,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAA;QACjC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAA;QACrB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,6DAA6D,EAAE,EAAE,OAAO,EAAE,CAAC,CAAA;IAC9F,CAAC;IAED,yFAAyF;IACjF,KAAK,CAAC,YAAY,CAAC,KAAY;QACrC,wEAAwE;QACxE,yEAAyE;QACzE,sEAAsE;QACtE,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAA;QACxB,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,IAAI,sBAAsB,EAAE,OAAO,EAAE,EAAE,CAAC;YACnE,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;gBAChB,IAAI,IAAI,CAAC,QAAQ;oBAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAA;gBAC7C,MAAM,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;gBAChC,IAAI,IAAI,CAAC,QAAQ;oBAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAA;YAC/C,CAAC;YACD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;YAC1C,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS;gBAAE,OAAO,MAAM,CAAA;YACnG,QAAQ,eAAe,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;gBACxC,KAAK,OAAO;oBACV,IAAI,CAAC,KAAK,GAAG,iBAAiB,CAAA;oBAC9B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,4DAA4D,EAAE,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,CAAA;oBAC3G,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAA;gBAC5B,KAAK,WAAW;oBACd,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAA;oBACrB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,yCAAyC,EAAE,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,CAAA;oBACxF,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAA;gBACzB,KAAK,WAAW;oBACd,MAAK,CAAC,yCAAyC;YACnD,CAAC;QACH,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kDAAkD,EAAE,EAAE,QAAQ,EAAE,sBAAsB,GAAG,CAAC,EAAE,CAAC,CAAA;QAC9G,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAA;IACzB,CAAC;IAED,2EAA2E;IACnE,KAAK,CAAC,SAAS,CAAC,KAAY;;;YAClC,IAAI,IAAI,GAAG,EAAE,CAAA;YACb,IAAI,MAAgC,CAAA;YACpC,wEAAwE;YACxE,sEAAsE;YACtE,2EAA2E;YAC3E,0EAA0E;YAC1E,kEAAkE;YAClE,MAAM,cAAc,kCAAG,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,aAAa,EAAE,oBAAoB,CAAC,QAAA,CAAA;YACjG,MAAM,cAAc,GAAG,cAAc,CAAC,MAAM,CAAA;YAC5C,IAAI,CAAC;gBACH,mEAAmE;gBACnE,sEAAsE;gBACtE,sEAAsE;gBACtE,yEAAyE;gBACzE,wEAAwE;gBACxE,sEAAsE;gBACtE,sEAAsE;gBACtE,eAAe;gBACf,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC,cAAc,CAAC,CAAA;gBACzE,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,cAAc,EAAE,eAAe,CAAC,CAAC,CAAA;gBACzF,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAA;gBAC/C,SAAS,CAAC;oBACR,MAAM,IAAI,GAAG,MAAM,gBAAgB,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAA;oBAC7D,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;wBACvB,mEAAmE;wBACnE,qDAAqD;wBACrD,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAA;wBACnC,IAAI,SAAS,CAAC,cAAc,EAAE,oBAAoB,CAAC,KAAK,SAAS,EAAE,CAAC;4BAClE,OAAO;gCACL,IAAI,EAAE,SAAS;gCACf,OAAO,EAAE,EAAE,OAAO,EAAE,gCAAgC,IAAI,CAAC,aAAa,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;6BAC9F,CAAA;wBACH,CAAC;wBACD,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAA,CAAC,qCAAqC;oBAClE,CAAC;oBACD,IAAI,IAAI,CAAC,IAAI;wBAAE,MAAK;oBACpB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAA;oBACxB,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY;wBAAE,IAAI,IAAI,KAAK,CAAC,IAAI,CAAA;yBAC9C,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ;wBAAE,MAAM,GAAG,KAAK,CAAC,MAAM,CAAA;gBACzD,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,gBAAgB,CAAC,KAAK,CAAC,EAAE,CAAA;YAC9D,CAAC;YACD,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;gBACzB,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,6CAA6C,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,CAAA;YAClH,CAAC;YACD,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO;gBAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAAA;YAChF,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;gBAC9B,wEAAwE;gBACxE,oEAAoE;gBACpE,uEAAuE;gBACvE,mDAAmD;gBACnD,IAAI,SAAS,CAAC,cAAc,EAAE,oBAAoB,CAAC,KAAK,SAAS,EAAE,CAAC;oBAClE,OAAO;wBACL,IAAI,EAAE,SAAS;wBACf,OAAO,EAAE,EAAE,OAAO,EAAE,gCAAgC,IAAI,CAAC,aAAa,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;qBAC9F,CAAA;gBACH,CAAC;gBACD,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO;oBAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAA;gBAC/E,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAAA;YACrD,CAAC;YACD,yEAAyE;YACzE,uEAAuE;YACvE,MAAM,IAAI,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAA;YACpC,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;gBACvB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,0FAA0F,CAAC,CAAA;gBAC7G,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAA;YAC5B,CAAC;YACD,IAAI,CAAC;gBACH,mEAAmE;gBACnE,kEAAkE;gBAClE,sEAAsE;gBACtE,sEAAsE;gBACtE,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC5B,mEAAmE;oBACnE,+DAA+D;oBAC/D,8DAA8D;oBAC9D,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;oBAChC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;gBACnB,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,4CAA4C,EAAE;wBAC9D,IAAI,EAAE,IAAI,CAAC,IAAI;wBACf,QAAQ,EAAE,IAAI,CAAC,QAAQ;qBACxB,CAAC,CAAA;gBACJ,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,qEAAqE;gBACrE,gEAAgE;gBAChE,sEAAsE;gBACtE,0CAA0C;gBAC1C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gEAAgE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAA;YAC/F,CAAC;YACD,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAA;;;;;;;;;KAC9B;IAEO,YAAY,CAAC,KAAY,EAAE,MAAmB,EAAE,eAA8C;QACpG,OAAO;YACL,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,MAAM,EAAE,IAAI,CAAC,YAAY;YACzB,QAAQ,EAAE,CAAC,iBAAiB,CAAC;oBAC3B,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC;oBACjD,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;iBACzB,CAAC,CAAC;YACH,2EAA2E;YAC3E,yEAAyE;YACzE,oEAAoE;YACpE,yEAAyE;YACzE,kEAAkE;YAClE,uEAAuE;YACvE,qEAAqE;YACrE,wEAAwE;YACxE,uEAAuE;YACvE,wEAAwE;YACxE,sEAAsE;YACtE,sEAAsE;YACtE,sCAAsC;YACtC,GAAG,CAAC,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,CAAC;YAC7D,mEAAmE;YACnE,wEAAwE;YACxE,SAAS,EAAE,kBAAkB;YAC7B,MAAM;YACN,yEAAyE;YACzE,wEAAwE;SACzE,CAAA;IACH,CAAC;IAED;;;;;;;;;;;;;;;;OAgBG;IACK,KAAK,CAAC,sBAAsB,CAAC,MAAoB;QACvD,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,QAAQ,SAAS,IAAI,CAAC,KAAK,EAAE,CAAA;QACjD,IAAI,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,OAAO,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QACjF,yEAAyE;QACzE,uEAAuE;QACvE,IAAI,IAAI,CAAC,GAAG,CAAC,gBAAgB,KAAK,SAAS,EAAE,CAAC;YAC5C,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,GAAG,EAAE,SAAS,CAAC,CAAA;YAC7C,IAAI,CAAC,yBAAyB,CAAC,mBAAmB,CAAC,CAAA;YACnD,OAAO,SAAS,CAAA;QAClB,CAAC;QACD,IAAI,MAAqC,CAAA;QACzC,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;YAC/E,MAAM,GAAG,IAAI,EAAE,SAAS,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,iBAAiB,CAAC,KAAK,CAAC,CAAC;gBACtF,CAAC,CAAC,iBAAiB,CAAC,KAAK,CAAC;gBAC1B,CAAC,CAAC,SAAS,CAAA;QACf,CAAC;QAAC,MAAM,CAAC;YACP,kEAAkE;YAClE,yEAAyE;YACzE,kDAAkD;YAClD,OAAO,SAAS,CAAA;QAClB,CAAC;QACD,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;QAC1C,IAAI,MAAM,KAAK,SAAS;YAAE,IAAI,CAAC,yBAAyB,CAAC,uCAAuC,CAAC,CAAA;QACjG,OAAO,MAAM,CAAA;IACf,CAAC;IAED,kEAAkE;IAC1D,yBAAyB,CAAC,MAAc;QAC9C,IAAI,IAAI,CAAC,iBAAiB;YAAE,OAAM;QAClC,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAA;QAC7B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,mCAAmC,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,CAAA;IAChH,CAAC;CACF"}
@@ -187,7 +187,7 @@ export declare class AdvisorSettingsStore {
187
187
  private catalogPromise;
188
188
  /**
189
189
  * Bumped by every successful load(): an in-flight catalog fetch started
190
- * before a bump is stale (the models/changed invalidation that triggered
190
+ * before a bump is stale (the connection/reset invalidation that triggered
191
191
  * the reload happened mid-fetch) and caches nothing (qc1 W-1 / qc3 S-1).
192
192
  */
193
193
  private catalogGeneration;