dsh-plugin-subagent-director 0.4.0 → 0.5.0-beta.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.
Files changed (57) hide show
  1. package/CHANGELOG.md +37 -0
  2. package/README.md +8 -7
  3. package/lib/bridge-contract.d.ts +20 -0
  4. package/lib/bridge-contract.d.ts.map +1 -1
  5. package/lib/bridge-contract.js +8 -0
  6. package/lib/bridge-contract.js.map +1 -1
  7. package/lib/client/RoleCard.d.ts +4 -4
  8. package/lib/client/RoleCard.d.ts.map +1 -1
  9. package/lib/client/RoleCard.js +9 -13
  10. package/lib/client/RoleCard.js.map +1 -1
  11. package/lib/client/SubagentOptionsSection.d.ts +0 -2
  12. package/lib/client/SubagentOptionsSection.d.ts.map +1 -1
  13. package/lib/client/SubagentOptionsSection.js +11 -17
  14. package/lib/client/SubagentOptionsSection.js.map +1 -1
  15. package/lib/client/allowed-routes.d.ts +34 -0
  16. package/lib/client/allowed-routes.d.ts.map +1 -0
  17. package/lib/client/allowed-routes.js +47 -0
  18. package/lib/client/allowed-routes.js.map +1 -0
  19. package/lib/client/index.d.ts.map +1 -1
  20. package/lib/client/index.js +133 -77
  21. package/lib/client/index.js.map +1 -1
  22. package/lib/client/locales.d.ts +1 -1
  23. package/lib/client/locales.d.ts.map +1 -1
  24. package/lib/client/locales.js +2 -0
  25. package/lib/client/locales.js.map +1 -1
  26. package/lib/client/store.d.ts +24 -18
  27. package/lib/client/store.d.ts.map +1 -1
  28. package/lib/client/store.js +14 -16
  29. package/lib/client/store.js.map +1 -1
  30. package/lib/config.d.ts +2 -13
  31. package/lib/config.d.ts.map +1 -1
  32. package/lib/config.js +0 -1
  33. package/lib/config.js.map +1 -1
  34. package/lib/delegation-tool.d.ts +36 -8
  35. package/lib/delegation-tool.d.ts.map +1 -1
  36. package/lib/delegation-tool.js +49 -6
  37. package/lib/delegation-tool.js.map +1 -1
  38. package/lib/index.d.ts.map +1 -1
  39. package/lib/index.js +0 -8
  40. package/lib/index.js.map +1 -1
  41. package/lib/remote.d.ts +13 -1
  42. package/lib/remote.d.ts.map +1 -1
  43. package/lib/remote.js +47 -6
  44. package/lib/remote.js.map +1 -1
  45. package/lib/route-resolver.d.ts +44 -12
  46. package/lib/route-resolver.d.ts.map +1 -1
  47. package/lib/route-resolver.js +64 -4
  48. package/lib/route-resolver.js.map +1 -1
  49. package/lib/settings.d.ts +18 -10
  50. package/lib/settings.d.ts.map +1 -1
  51. package/lib/settings.js +18 -10
  52. package/lib/settings.js.map +1 -1
  53. package/package.json +41 -35
  54. package/lib/default-route.d.ts +0 -46
  55. package/lib/default-route.d.ts.map +0 -1
  56. package/lib/default-route.js +0 -56
  57. package/lib/default-route.js.map +0 -1
package/CHANGELOG.md CHANGED
@@ -2,6 +2,43 @@
2
2
 
3
3
  本项目的所有显著变更都会记录在此文件中。格式遵循 [Keep a Changelog](https://keepachangelog.com/zh-CN/1.1.0/),版本号遵循 [SemVer](https://semver.org/lang/zh-CN/)。
4
4
 
5
+ ## [Unreleased]
6
+
7
+ ### 变更
8
+
9
+ - **alpha.4 兼容性移植(Host 半)**:`dsh-settings` 服务 API 升级——移除的
10
+ `settingsNamespace()` / `installSettingsSection()` 改为普通 kebab-case 命名空间
11
+ 字面量 + `ctx.settings.installSection(owner, ns, schema, entry, hooks)`(与官方
12
+ `subagent-model-selection` 消费方同款模式);`JsonValue` 改从
13
+ `@deepseek-ai/dsh-util-values` 导入(`dsh-tools` 不再导出);`AgentOptions` 现携带
14
+ `reasoningEffort?: ReasoningEffortId`,`reasoningEffort` 由「仅告知」改为正式注入
15
+ `agentOptions`(可单独提供,路由变更时清除继承的 route 专属 effort);
16
+ - **移除 `applyDefaultRoute` 默认路由补丁缝**(避免与官方 dsh-tool-subagent 双重写
17
+ 模型路由):删除 `src/default-route.ts` 及其对 `ctx.subagents.start/startContinuable`
18
+ 的 monkey-patch,`DirectorConfig` 与 Config schema 同步移除 `applyDefaultRoute`;
19
+ 插件不再向任何子代理启动注入默认模型;
20
+ - **选择收敛到官方授权列表**:`resolveRoute` 新增 `allowedRoutes` 约束——显式
21
+ provider/model 必须成对且位于 `subagent-model-selection.allowedModels`(未授权为
22
+ `subagent-director:` 硬错误);角色/默认层未授权路由被丢弃(回退继承)并告警,
23
+ 角色 persona/toolFilter 仍生效;新增 `isRouteAllowed` 纯函数与
24
+ `readModelSelection`(执行期经 `settings.get` 读取官方命名空间,缺失/异常时优雅
25
+ 降级为无约束并提示未配置授权列表)。
26
+
27
+ ### 测试
28
+
29
+ - `route-resolver.test.ts` 新增授权列表约束与 effort 注入用例(36 项);
30
+ - 新增 `alpha4-probe.test.ts` 真实 cordis 探针:a) 插件挂载不包装
31
+ `ctx.subagents.start`(证明补丁缝已移除);b) `subagent-director` 命名空间经
32
+ `installSection` 注册且委派解析读取 `subagent-model-selection`;c) 委派执行路径对
33
+ 未授权显式路由拒绝、对授权路由把 `agentOptions`(含 effort)透传给
34
+ `subagents.start`;删除 `default-route.test.ts`。
35
+
36
+ ### 兼容性
37
+
38
+ - 桥接契约(`SUBAGENT_DIRECTOR_RPC_VIEW` / `_MUTATE` / `_CLOSE` / `_MODEL` / `_TOOLS`
39
+ 端点与载荷)不变;`installDirectorSettings` 等导出签名保持;`RpcError.sessionId`
40
+ 品牌冲突(宿主 apiproxy 嵌套的 `dsh-session` 副本)在边界处收敛为最小转型。
41
+
5
42
  ## [0.4.0] - 2026-08-31
6
43
 
7
44
  ### 新增
package/README.md CHANGED
@@ -16,9 +16,9 @@
16
16
  ## 特性
17
17
 
18
18
  - **供应商与模型选择** —— 为 subagent 配置默认 LLM 供应商(route)与模型;每次委派也可以由模型显式指定;
19
- - **默认模型兜底** —— 配置 `defaultProvider`/`defaultModel` 后,即使模型调用内置
20
- `subagent`/`subagent_fork` 工具,未显式指定模型的子代理也会自动使用该模型
21
- (`applyDefaultRoute`,默认开启;未配置默认模型时为零侵入空操作);
19
+ - **受控的模型选择** —— provider/model 只从官方 `subagent-model-selection` 授权列表
20
+ (`allowedModels`)中选择:显式传入未授权路由为硬错误,角色/默认层未授权路由被
21
+ 丢弃并回退继承(不与官方 dsh-tool-subagent 双重写模型路由);
22
22
  - **配置热更新** —— settings.yaml / 设置面板的改动即时生效,无需重启;
23
23
  - **角色按显示名引用** —— `role` 参数未命中 id 时按 `displayName` 精确匹配(重名
24
24
  取定义顺序第一个并提示),模型按显示名也能命中模板;
@@ -59,7 +59,6 @@ dsh plugin --profile <name> add dsh-plugin-subagent-director
59
59
  enableRunInBackground: true
60
60
  backgroundMode: one-shot # one-shot 或 continuable
61
61
  maxDepth: 3
62
- applyDefaultRoute: true # 默认 true:把默认模型应用到所有未显式指定模型的子代理
63
62
  ```
64
63
 
65
64
  > 注意:不要再用 `- insert:` 添加这两个条目,否则启动会报
@@ -128,7 +127,8 @@ subagent_role({ role: "code-reviewer", model: "deepseek-chat", prompt: "..." })
128
127
  > `subagent_role`(工具名由 `toolName` 配置,默认 `subagent_role`);DSH 基础
129
128
  > bundle 另有内置的 `subagent` / `subagent_fork`,两者在同一次请求的工具清单里
130
129
  > **并存**。只有走 `subagent_role` 才会应用角色 persona 与 `toolFilter`;模型改用
131
- > 内置 `subagent` 时这两项不生效(`applyDefaultRoute` 开启时默认模型仍会生效)。
130
+ > 内置 `subagent` 时这两项不生效(模型选择由官方 dsh-tool-subagent 的
131
+ > `modelSelectionSettings` 负责)。
132
132
  > 因此需要角色语义时,请在提示里明确要求调用 `subagent_role`。
133
133
 
134
134
  ### 纯编排模式(`/orchestrate`)
@@ -176,8 +176,9 @@ DSH 的 Web API 只向白名单内的 settings 命名空间开放读写。本插
176
176
 
177
177
  **未配置任何角色时行为如何?**
178
178
  未配置任何角色且未配置默认模型时与未安装本插件完全一致(零侵入)。配置了
179
- `defaultProvider`/`defaultModel` 且未关闭 `applyDefaultRoute` 时,所有未显式
180
- 指定模型的子代理(含内置工具发起的)都会使用该默认模型。
179
+ `defaultProvider`/`defaultModel` 时:若官方 `subagent-model-selection` 已启用并有
180
+ `allowedModels` 授权列表,默认路由仅在该列表内才生效(否则被丢弃并回退继承);若
181
+ 未配置授权列表,则保留插件默认行为并给出警告提示。
181
182
 
182
183
  **用过 `/orchestrate` 的会话,卸载插件后还能打开吗?**
183
184
  不能。`/orchestrate` 会在会话日志写入 `orchestrate/change` 事件,而宿主的持久化
@@ -23,6 +23,26 @@ export declare const SUBAGENT_DIRECTOR_RPC_CLOSE = "subagentClose";
23
23
  export declare const SUBAGENT_DIRECTOR_RPC_MODEL = "subagentModel";
24
24
  /** Endpoint that returns the model-visible tool catalog for role tool-set editing. */
25
25
  export declare const SUBAGENT_DIRECTOR_RPC_TOOLS = "toolCatalog";
26
+ /**
27
+ * Endpoint that returns the Subagent model-selection allowlist the page must
28
+ * constrain picks to (the official `subagent-model-selection` section: the
29
+ * "Subagent" plugin-config model list). Additive endpoint for alpha.4: the
30
+ * llm catalog RPC is gone from the client, and Subagent Director may select a
31
+ * provider/model ONLY from this list.
32
+ */
33
+ export declare const SUBAGENT_DIRECTOR_RPC_CATALOG = "settingsCatalog";
34
+ /** One exact route authorized in the Subagent model-selection list. */
35
+ export interface DirectorAllowedRoute {
36
+ provider: string;
37
+ model: string;
38
+ }
39
+ /** Successful settingsCatalog bridge response. */
40
+ export interface DirectorCatalogSuccess {
41
+ /** Whether the official Subagent model selection is enabled. */
42
+ modelSelectionEnabled: boolean;
43
+ /** The exact routes the user has authorized (the only selectable models). */
44
+ allowedRoutes: DirectorAllowedRoute[];
45
+ }
26
46
  /** Successful settingsView bridge response. */
27
47
  export interface DirectorViewSuccess {
28
48
  writable: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"bridge-contract.d.ts","sourceRoot":"","sources":["../src/bridge-contract.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAEhF,mEAAmE;AACnE,eAAO,MAAM,6BAA6B,uBAAuB,CAAC;AAClE,gEAAgE;AAChE,eAAO,MAAM,0BAA0B,iBAAiB,CAAC;AACzD,kDAAkD;AAClD,eAAO,MAAM,4BAA4B,mBAAmB,CAAC;AAC7D,8EAA8E;AAC9E,eAAO,MAAM,2BAA2B,kBAAkB,CAAC;AAC3D,4EAA4E;AAC5E,eAAO,MAAM,2BAA2B,kBAAkB,CAAC;AAC3D,sFAAsF;AACtF,eAAO,MAAM,2BAA2B,gBAAgB,CAAC;AAEzD,+CAA+C;AAC/C,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,OAAO,CAAC;IAClB,qFAAqF;IACrF,IAAI,EAAE,qBAAqB,GAAG,SAAS,CAAC;CACzC;AAED,8DAA8D;AAC9D,MAAM,WAAW,qBAAqB;IACpC,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,sBAAsB,EAAE,CAAC;IAC9B,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,gFAAgF;AAChF,MAAM,MAAM,sBAAsB,GAC9B;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,IAAI,EAAE,MAAM,EAAE,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,GAC7C;IAAE,EAAE,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC;AAEpC,6DAA6D;AAC7D,MAAM,WAAW,oBAAoB;IACnC,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,6DAA6D;AAC7D,MAAM,WAAW,oBAAoB;IACnC,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,gDAAgD;AAChD,MAAM,MAAM,oBAAoB,GAAG;IAAE,KAAK,EAAE,IAAI,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,KAAK,EAAE,KAAK,CAAA;CAAE,CAAC;AAEvG,8CAA8C;AAC9C,MAAM,WAAW,oBAAoB;IACnC,iDAAiD;IACjD,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,2DAA2D;AAC3D,MAAM,WAAW,oBAAoB;IACnC;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB"}
1
+ {"version":3,"file":"bridge-contract.d.ts","sourceRoot":"","sources":["../src/bridge-contract.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAEhF,mEAAmE;AACnE,eAAO,MAAM,6BAA6B,uBAAuB,CAAC;AAClE,gEAAgE;AAChE,eAAO,MAAM,0BAA0B,iBAAiB,CAAC;AACzD,kDAAkD;AAClD,eAAO,MAAM,4BAA4B,mBAAmB,CAAC;AAC7D,8EAA8E;AAC9E,eAAO,MAAM,2BAA2B,kBAAkB,CAAC;AAC3D,4EAA4E;AAC5E,eAAO,MAAM,2BAA2B,kBAAkB,CAAC;AAC3D,sFAAsF;AACtF,eAAO,MAAM,2BAA2B,gBAAgB,CAAC;AAEzD;;;;;;GAMG;AACH,eAAO,MAAM,6BAA6B,oBAAoB,CAAC;AAE/D,uEAAuE;AACvE,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,kDAAkD;AAClD,MAAM,WAAW,sBAAsB;IACrC,gEAAgE;IAChE,qBAAqB,EAAE,OAAO,CAAC;IAC/B,6EAA6E;IAC7E,aAAa,EAAE,oBAAoB,EAAE,CAAC;CACvC;AAED,+CAA+C;AAC/C,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,OAAO,CAAC;IAClB,qFAAqF;IACrF,IAAI,EAAE,qBAAqB,GAAG,SAAS,CAAC;CACzC;AAED,8DAA8D;AAC9D,MAAM,WAAW,qBAAqB;IACpC,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,sBAAsB,EAAE,CAAC;IAC9B,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,gFAAgF;AAChF,MAAM,MAAM,sBAAsB,GAC9B;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,IAAI,EAAE,MAAM,EAAE,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,GAC7C;IAAE,EAAE,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC;AAEpC,6DAA6D;AAC7D,MAAM,WAAW,oBAAoB;IACnC,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,6DAA6D;AAC7D,MAAM,WAAW,oBAAoB;IACnC,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,gDAAgD;AAChD,MAAM,MAAM,oBAAoB,GAAG;IAAE,KAAK,EAAE,IAAI,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,KAAK,EAAE,KAAK,CAAA;CAAE,CAAC;AAEvG,8CAA8C;AAC9C,MAAM,WAAW,oBAAoB;IACnC,iDAAiD;IACjD,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,2DAA2D;AAC3D,MAAM,WAAW,oBAAoB;IACnC;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB"}
@@ -10,4 +10,12 @@ export const SUBAGENT_DIRECTOR_RPC_CLOSE = 'subagentClose';
10
10
  export const SUBAGENT_DIRECTOR_RPC_MODEL = 'subagentModel';
11
11
  /** Endpoint that returns the model-visible tool catalog for role tool-set editing. */
12
12
  export const SUBAGENT_DIRECTOR_RPC_TOOLS = 'toolCatalog';
13
+ /**
14
+ * Endpoint that returns the Subagent model-selection allowlist the page must
15
+ * constrain picks to (the official `subagent-model-selection` section: the
16
+ * "Subagent" plugin-config model list). Additive endpoint for alpha.4: the
17
+ * llm catalog RPC is gone from the client, and Subagent Director may select a
18
+ * provider/model ONLY from this list.
19
+ */
20
+ export const SUBAGENT_DIRECTOR_RPC_CATALOG = 'settingsCatalog';
13
21
  //# sourceMappingURL=bridge-contract.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"bridge-contract.js","sourceRoot":"","sources":["../src/bridge-contract.ts"],"names":[],"mappings":"AAcA,mEAAmE;AACnE,MAAM,CAAC,MAAM,6BAA6B,GAAG,oBAAoB,CAAC;AAClE,gEAAgE;AAChE,MAAM,CAAC,MAAM,0BAA0B,GAAG,cAAc,CAAC;AACzD,kDAAkD;AAClD,MAAM,CAAC,MAAM,4BAA4B,GAAG,gBAAgB,CAAC;AAC7D,8EAA8E;AAC9E,MAAM,CAAC,MAAM,2BAA2B,GAAG,eAAe,CAAC;AAC3D,4EAA4E;AAC5E,MAAM,CAAC,MAAM,2BAA2B,GAAG,eAAe,CAAC;AAC3D,sFAAsF;AACtF,MAAM,CAAC,MAAM,2BAA2B,GAAG,aAAa,CAAC"}
1
+ {"version":3,"file":"bridge-contract.js","sourceRoot":"","sources":["../src/bridge-contract.ts"],"names":[],"mappings":"AAcA,mEAAmE;AACnE,MAAM,CAAC,MAAM,6BAA6B,GAAG,oBAAoB,CAAC;AAClE,gEAAgE;AAChE,MAAM,CAAC,MAAM,0BAA0B,GAAG,cAAc,CAAC;AACzD,kDAAkD;AAClD,MAAM,CAAC,MAAM,4BAA4B,GAAG,gBAAgB,CAAC;AAC7D,8EAA8E;AAC9E,MAAM,CAAC,MAAM,2BAA2B,GAAG,eAAe,CAAC;AAC3D,4EAA4E;AAC5E,MAAM,CAAC,MAAM,2BAA2B,GAAG,eAAe,CAAC;AAC3D,sFAAsF;AACtF,MAAM,CAAC,MAAM,2BAA2B,GAAG,aAAa,CAAC;AAEzD;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,6BAA6B,GAAG,iBAAiB,CAAC"}
@@ -1,4 +1,4 @@
1
- import type { ModelProviderGroup } from '@deepseek-ai/dsh-client-connection/client';
1
+ import type { DirectorAllowedRoute } from '../bridge-contract.js';
2
2
  import type { SubagentDirectorKey } from './locales.js';
3
3
  import type { RoleDraft, StoredRole } from './store-logic.js';
4
4
  export interface RoleCardProps {
@@ -8,8 +8,8 @@ export interface RoleCardProps {
8
8
  role: StoredRole;
9
9
  /** Whether this role is the defaultRole. */
10
10
  isDefault: boolean;
11
- /** Available providers (for the provider select). */
12
- groups: readonly ModelProviderGroup[];
11
+ /** Authorized routes (the only selectable provider/model pairs). */
12
+ routes: readonly DirectorAllowedRoute[];
13
13
  /** Distinct model-visible tool names (for the tool-set row). */
14
14
  tools: readonly string[];
15
15
  /** Section copy. */
@@ -21,5 +21,5 @@ export interface RoleCardProps {
21
21
  /** Promote this role to default; returns a localized failure message or undefined. */
22
22
  onSetDefault: () => Promise<string | undefined>;
23
23
  }
24
- export declare function RoleCard({ id, role, isDefault, groups, tools, t, onSave, onDelete, onSetDefault }: RoleCardProps): JSX.Element;
24
+ export declare function RoleCard({ id, role, isDefault, routes, tools, t, onSave, onDelete, onSetDefault }: RoleCardProps): JSX.Element;
25
25
  //# sourceMappingURL=RoleCard.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"RoleCard.d.ts","sourceRoot":"","sources":["../../src/client/RoleCard.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2CAA2C,CAAC;AACpF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACxD,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAe9D,MAAM,WAAW,aAAa;IAC5B,sCAAsC;IACtC,EAAE,EAAE,MAAM,CAAC;IACX,4BAA4B;IAC5B,IAAI,EAAE,UAAU,CAAC;IACjB,4CAA4C;IAC5C,SAAS,EAAE,OAAO,CAAC;IACnB,qDAAqD;IACrD,MAAM,EAAE,SAAS,kBAAkB,EAAE,CAAC;IACtC,gEAAgE;IAChE,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IACzB,oBAAoB;IACpB,CAAC,EAAE,CAAC,GAAG,EAAE,mBAAmB,KAAK,MAAM,CAAC;IACxC,+EAA+E;IAC/E,MAAM,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IAC1D,0EAA0E;IAC1E,QAAQ,EAAE,MAAM,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IAC5C,sFAAsF;IACtF,YAAY,EAAE,MAAM,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;CACjD;AASD,wBAAgB,QAAQ,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,EAAE,aAAa,GAAG,GAAG,CAAC,OAAO,CAiK9H"}
1
+ {"version":3,"file":"RoleCard.d.ts","sourceRoot":"","sources":["../../src/client/RoleCard.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAClE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAExD,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAe9D,MAAM,WAAW,aAAa;IAC5B,sCAAsC;IACtC,EAAE,EAAE,MAAM,CAAC;IACX,4BAA4B;IAC5B,IAAI,EAAE,UAAU,CAAC;IACjB,4CAA4C;IAC5C,SAAS,EAAE,OAAO,CAAC;IACnB,oEAAoE;IACpE,MAAM,EAAE,SAAS,oBAAoB,EAAE,CAAC;IACxC,gEAAgE;IAChE,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IACzB,oBAAoB;IACpB,CAAC,EAAE,CAAC,GAAG,EAAE,mBAAmB,KAAK,MAAM,CAAC;IACxC,+EAA+E;IAC/E,MAAM,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IAC1D,0EAA0E;IAC1E,QAAQ,EAAE,MAAM,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IAC5C,sFAAsF;IACtF,YAAY,EAAE,MAAM,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;CACjD;AAED,wBAAgB,QAAQ,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,EAAE,aAAa,GAAG,GAAG,CAAC,OAAO,CA4J9H"}
@@ -1,18 +1,14 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  /** One role template card: read-only summary plus an inline editor.
3
- * Provider/model/effort selects cascade from the model catalog; writes go
4
- * through the controller as path ops, and failures return a localized message. */
3
+ * Provider/model picks are limited to the routes authorized in the official
4
+ * Subagent model-selection list; reasoning effort is a free-text field (the
5
+ * alpha.4 client has no effort catalog). Writes go through the controller as
6
+ * path ops, and failures return a localized message. */
5
7
  import { useState } from 'react';
8
+ import { modelsForProvider, providerNames } from './allowed-routes.js';
6
9
  import { ToolSetPicker } from './ToolSetPicker.js';
7
10
  import { cardStyle, dangerButtonStyle, fieldLabelStyle, ghostButtonStyle, primaryButtonStyle, rowStyle, selectStyle, textAreaStyle, textInputStyle, token, } from './ui.js';
8
- function effortsFor(groups, provider, model) {
9
- if (!provider || !model)
10
- return [];
11
- const group = groups.find((g) => g.id === provider);
12
- const entry = group?.models.find((m) => m.id === model);
13
- return entry?.reasoning?.efforts ?? [];
14
- }
15
- export function RoleCard({ id, role, isDefault, groups, tools, t, onSave, onDelete, onSetDefault }) {
11
+ export function RoleCard({ id, role, isDefault, routes, tools, t, onSave, onDelete, onSetDefault }) {
16
12
  const [editing, setEditing] = useState(false);
17
13
  const [busy, setBusy] = useState(false);
18
14
  const [failure, setFailure] = useState(undefined);
@@ -27,8 +23,8 @@ export function RoleCard({ id, role, isDefault, groups, tools, t, onSave, onDele
27
23
  });
28
24
  const provider = draft.provider || role.provider;
29
25
  const model = draft.model || role.model;
30
- const modelOptions = provider ? (groups.find((g) => g.id === provider)?.models ?? []) : [];
31
- const effortOptions = effortsFor(groups, provider, model);
26
+ const providers = providerNames(routes);
27
+ const modelOptions = provider ? modelsForProvider(routes, provider) : [];
32
28
  const save = async () => {
33
29
  setBusy(true);
34
30
  setFailure(undefined);
@@ -63,7 +59,7 @@ export function RoleCard({ id, role, isDefault, groups, tools, t, onSave, onDele
63
59
  };
64
60
  const allowList = draft.toolFilter?.allow ?? [];
65
61
  if (editing) {
66
- return (_jsxs("div", { style: cardStyle, children: [_jsxs("div", { style: { display: 'flex', alignItems: 'baseline', gap: 8 }, children: [_jsx("strong", { style: { color: token.labelPrimary, fontSize: 14 }, children: t('roleDisplayName') }), isDefault ? _jsx("span", { style: { color: token.accent, fontSize: 12 }, children: t('defaultRoleBadge') }) : null] }), _jsxs("div", { style: rowStyle, children: [_jsx("label", { style: fieldLabelStyle, children: t('roleDisplayName') }), _jsx("input", { style: textInputStyle, value: draft.displayName, placeholder: t('displayNamePlaceholder'), onChange: (e) => setField('displayName', e.target.value) })] }), _jsxs("div", { style: rowStyle, children: [_jsx("label", { style: fieldLabelStyle, children: t('roleDescription') }), _jsx("textarea", { style: textAreaStyle, value: draft.description, placeholder: t('descriptionPlaceholder'), onChange: (e) => setField('description', e.target.value) })] }), _jsxs("div", { style: rowStyle, children: [_jsx("label", { style: fieldLabelStyle, children: t('rolePersona') }), _jsx("textarea", { style: textAreaStyle, value: draft.persona, placeholder: t('personaPlaceholder'), onChange: (e) => setField('persona', e.target.value) })] }), _jsxs("div", { style: { display: 'grid', gridTemplateColumns: 'repeat(3, minmax(0, 1fr))', gap: 8 }, children: [_jsxs("div", { style: rowStyle, children: [_jsx("label", { style: fieldLabelStyle, children: t('provider') }), _jsxs("select", { style: selectStyle, value: draft.provider, disabled: groups.length === 0, onChange: (e) => setField('provider', e.target.value), children: [_jsx("option", { value: "", children: "\u2014" }), groups.map((g) => (_jsx("option", { value: g.id, children: g.name }, g.id)))] })] }), _jsxs("div", { style: rowStyle, children: [_jsx("label", { style: fieldLabelStyle, children: t('model') }), _jsxs("select", { style: selectStyle, value: draft.model, disabled: modelOptions.length === 0, onChange: (e) => setField('model', e.target.value), children: [_jsx("option", { value: "", children: "\u2014" }), modelOptions.map((m) => (_jsx("option", { value: m.id, children: m.name }, m.id)))] })] }), _jsxs("div", { style: rowStyle, children: [_jsx("label", { style: fieldLabelStyle, children: t('reasoningEffort') }), _jsxs("select", { style: selectStyle, value: draft.reasoningEffort, disabled: effortOptions.length === 0, onChange: (e) => setField('reasoningEffort', e.target.value), children: [_jsx("option", { value: "", children: "\u2014" }), effortOptions.map((e) => (_jsx("option", { value: e.id, children: e.name }, e.id)))] })] })] }), _jsx("div", { style: rowStyle, children: _jsx(ToolSetPicker, { tools: tools, selected: allowList, t: t, onChange: (allow) => setDraft((d) => ({ ...d, toolFilter: { allow } })) }) }), failure !== undefined ? _jsx("div", { style: { color: token.danger, fontSize: 12 }, children: failure }) : null, _jsxs("div", { style: { display: 'flex', gap: 8 }, children: [_jsx("button", { style: primaryButtonStyle, disabled: busy, onClick: save, children: t('save') }), _jsx("button", { style: ghostButtonStyle, disabled: busy, onClick: () => setEditing(false), children: t('cancel') })] })] }));
62
+ return (_jsxs("div", { style: cardStyle, children: [_jsxs("div", { style: { display: 'flex', alignItems: 'baseline', gap: 8 }, children: [_jsx("strong", { style: { color: token.labelPrimary, fontSize: 14 }, children: t('roleDisplayName') }), isDefault ? _jsx("span", { style: { color: token.accent, fontSize: 12 }, children: t('defaultRoleBadge') }) : null] }), _jsxs("div", { style: rowStyle, children: [_jsx("label", { style: fieldLabelStyle, children: t('roleDisplayName') }), _jsx("input", { style: textInputStyle, value: draft.displayName, placeholder: t('displayNamePlaceholder'), onChange: (e) => setField('displayName', e.target.value) })] }), _jsxs("div", { style: rowStyle, children: [_jsx("label", { style: fieldLabelStyle, children: t('roleDescription') }), _jsx("textarea", { style: textAreaStyle, value: draft.description, placeholder: t('descriptionPlaceholder'), onChange: (e) => setField('description', e.target.value) })] }), _jsxs("div", { style: rowStyle, children: [_jsx("label", { style: fieldLabelStyle, children: t('rolePersona') }), _jsx("textarea", { style: textAreaStyle, value: draft.persona, placeholder: t('personaPlaceholder'), onChange: (e) => setField('persona', e.target.value) })] }), _jsxs("div", { style: { display: 'grid', gridTemplateColumns: 'repeat(3, minmax(0, 1fr))', gap: 8 }, children: [_jsxs("div", { style: rowStyle, children: [_jsx("label", { style: fieldLabelStyle, children: t('provider') }), _jsxs("select", { style: selectStyle, value: draft.provider, disabled: providers.length === 0, onChange: (e) => setField('provider', e.target.value), children: [_jsx("option", { value: "", children: "\u2014" }), providers.map((id) => (_jsx("option", { value: id, children: id }, id)))] })] }), _jsxs("div", { style: rowStyle, children: [_jsx("label", { style: fieldLabelStyle, children: t('model') }), _jsxs("select", { style: selectStyle, value: draft.model, disabled: modelOptions.length === 0, onChange: (e) => setField('model', e.target.value), children: [_jsx("option", { value: "", children: "\u2014" }), modelOptions.map((m) => (_jsx("option", { value: m.model, children: m.label }, m.model)))] })] }), _jsxs("div", { style: rowStyle, children: [_jsx("label", { style: fieldLabelStyle, children: t('reasoningEffort') }), _jsx("input", { style: textInputStyle, value: draft.reasoningEffort, placeholder: "(advisory)", onChange: (e) => setField('reasoningEffort', e.target.value) })] })] }), _jsx("div", { style: rowStyle, children: _jsx(ToolSetPicker, { tools: tools, selected: allowList, t: t, onChange: (allow) => setDraft((d) => ({ ...d, toolFilter: { allow } })) }) }), failure !== undefined ? _jsx("div", { style: { color: token.danger, fontSize: 12 }, children: failure }) : null, _jsxs("div", { style: { display: 'flex', gap: 8 }, children: [_jsx("button", { style: primaryButtonStyle, disabled: busy, onClick: save, children: t('save') }), _jsx("button", { style: ghostButtonStyle, disabled: busy, onClick: () => setEditing(false), children: t('cancel') })] })] }));
67
63
  }
68
64
  return (_jsxs("div", { style: cardStyle, children: [_jsxs("div", { style: { display: 'flex', alignItems: 'baseline', justifyContent: 'space-between', gap: 8 }, children: [_jsx("strong", { style: { color: token.labelPrimary, fontSize: 14 }, children: role.displayName || id }), _jsxs("div", { style: { display: 'flex', alignItems: 'center', gap: 6 }, children: [_jsx("span", { style: { color: token.labelTertiary, fontSize: 12, fontVariantNumeric: 'tabular-nums' }, children: id }), isDefault ? _jsx("span", { style: { color: token.accent, fontSize: 12 }, children: t('defaultRoleBadge') }) : null] })] }), role.description ? (_jsx("p", { style: { margin: 0, color: token.labelSecondary, fontSize: 13, lineHeight: '18px' }, children: role.description })) : null, _jsxs("div", { style: { display: 'flex', flexWrap: 'wrap', gap: 8 }, children: [_jsx(Metadata, { label: t('provider'), value: role.provider }), _jsx(Metadata, { label: t('model'), value: role.model }), _jsx(Metadata, { label: t('reasoningEffort'), value: role.reasoningEffort }), role.persona ? _jsx(Metadata, { label: t('persona'), value: role.persona }) : null, role.toolFilter?.allow?.length ? (_jsx(Metadata, { label: t('toolFilter'), value: role.toolFilter.allow.join(', ') })) : null] }), failure !== undefined ? _jsx("div", { style: { color: token.danger, fontSize: 12 }, children: failure }) : null, _jsxs("div", { style: { display: 'flex', gap: 8 }, children: [_jsx("button", { style: ghostButtonStyle, disabled: busy, onClick: () => setEditing(true), children: t('edit') }), _jsx("button", { style: ghostButtonStyle, disabled: busy || isDefault, onClick: () => (void onSetDefault(), undefined), children: t('setDefaultRole') }), _jsx("button", { style: dangerButtonStyle, disabled: busy, onClick: remove, children: t('deleteRole') })] })] }));
69
65
  }
@@ -1 +1 @@
1
- {"version":3,"file":"RoleCard.js","sourceRoot":"","sources":["../../src/client/RoleCard.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RoleCard.js","sourceRoot":"","sources":["../../src/client/RoleCard.tsx"],"names":[],"mappings":"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"}
@@ -8,8 +8,6 @@ export interface SubagentOptionsSectionInjected {
8
8
  controller: SubagentOptionsStore;
9
9
  /** uSES subscription hook bound to the store. */
10
10
  useSnapshot: SnapshotSelectorHook<SubagentOptionsState>;
11
- /** Wire faces the page writes through (kept for parity with the slot contract). */
12
- api: unknown;
13
11
  /** Section copy. */
14
12
  t: (key: SubagentDirectorKey) => string;
15
13
  }
@@ -1 +1 @@
1
- {"version":3,"file":"SubagentOptionsSection.d.ts","sourceRoot":"","sources":["../../src/client/SubagentOptionsSection.tsx"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AAEtD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAC;AAC/E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACxD,OAAO,KAAK,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAkB7E,+EAA+E;AAC/E,MAAM,WAAW,8BAA8B;IAC3C,2EAA2E;IAC3E,UAAU,EAAE,oBAAoB,CAAC;IACjC,iDAAiD;IACjD,WAAW,EAAE,oBAAoB,CAAC,oBAAoB,CAAC,CAAC;IACxD,mFAAmF;IACnF,GAAG,EAAE,OAAO,CAAC;IACb,oBAAoB;IACpB,CAAC,EAAE,CAAC,GAAG,EAAE,mBAAmB,KAAK,MAAM,CAAC;CAC3C;AAED,uEAAuE;AACvE,MAAM,MAAM,2BAA2B,GAAG,OAAO,CAAC,8BAA8B,CAAC,GAAG;IAChF,6EAA6E;IAC7E,WAAW,CAAC,EAAE,oBAAoB,CAAC,gBAAgB,CAAC,CAAC;CACxD,CAAC;AAqBF;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,2BAA2B,GAAG,GAAG,CAAC,OAAO,GAAG,IAAI,CAI7F"}
1
+ {"version":3,"file":"SubagentOptionsSection.d.ts","sourceRoot":"","sources":["../../src/client/SubagentOptionsSection.tsx"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AACtD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAC;AAG/E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACxD,OAAO,KAAK,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAkB7E,+EAA+E;AAC/E,MAAM,WAAW,8BAA8B;IAC3C,2EAA2E;IAC3E,UAAU,EAAE,oBAAoB,CAAC;IACjC,iDAAiD;IACjD,WAAW,EAAE,oBAAoB,CAAC,oBAAoB,CAAC,CAAC;IACxD,oBAAoB;IACpB,CAAC,EAAE,CAAC,GAAG,EAAE,mBAAmB,KAAK,MAAM,CAAC;CAC3C;AAED,uEAAuE;AACvE,MAAM,MAAM,2BAA2B,GAAG,OAAO,CAAC,8BAA8B,CAAC,GAAG;IAChF,6EAA6E;IAC7E,WAAW,CAAC,EAAE,oBAAoB,CAAC,gBAAgB,CAAC,CAAC;CACxD,CAAC;AASF;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,2BAA2B,GAAG,GAAG,CAAC,OAAO,GAAG,IAAI,CAI7F"}
@@ -12,18 +12,11 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
12
12
  * a localized message that the save/delete/restore controls surface inline.
13
13
  */
14
14
  import { useEffect, useRef, useState } from 'react';
15
+ import { modelsForProvider, providerNames } from './allowed-routes.js';
15
16
  import { roleIdFromName } from './store-logic.js';
16
17
  import { RoleCard } from './RoleCard.js';
17
18
  import { ToolSetPicker } from './ToolSetPicker.js';
18
19
  import { cardStyle, fieldLabelStyle, ghostButtonStyle, primaryButtonStyle, rowStyle, sectionWidth, selectStyle, textAreaStyle, textInputStyle, token, } from './ui.js';
19
- /** Derive reasoning-effort options from the catalog for an exact provider+model. */
20
- function effortsFor(groups, provider, model) {
21
- if (!provider || !model)
22
- return [];
23
- const group = groups.find((g) => g.id === provider);
24
- const entry = group?.models.find((m) => m.id === model);
25
- return entry?.reasoning?.efforts ?? [];
26
- }
27
20
  /**
28
21
  * Render the Subagent Director settings section content column.
29
22
  * @param props - slot-delivered injected dependencies.
@@ -68,16 +61,16 @@ function Loaded({ injected }) {
68
61
  const writable = state.writable;
69
62
  const roles = section?.roles ?? {};
70
63
  const entries = Object.entries(roles);
71
- const groups = state.models;
64
+ const routes = state.allowedRoutes;
72
65
  const tools = state.tools;
73
- return (_jsxs("div", { style: sectionWidth, children: [_jsx("p", { style: { margin: 0, color: token.labelSecondary, fontSize: 13, lineHeight: '18px' }, children: t('sectionIntro') }), _jsx(DefaultModelRow, { controller: controller, groups: groups, writable: writable, current: {
66
+ return (_jsxs("div", { style: sectionWidth, children: [_jsx("p", { style: { margin: 0, color: token.labelSecondary, fontSize: 13, lineHeight: '18px' }, children: t('sectionIntro') }), _jsx(DefaultModelRow, { controller: controller, routes: routes, modelSelectionEnabled: state.modelSelectionEnabled, writable: writable, current: {
74
67
  provider: section?.defaultProvider,
75
68
  model: section?.defaultModel,
76
69
  reasoningEffort: section?.defaultReasoningEffort,
77
- }, t: t }), _jsx(RolesBlock, { controller: controller, groups: groups, tools: tools, writable: writable, roles: entries, defaultRole: section?.defaultRole, t: t })] }));
70
+ }, t: t }), _jsx(RolesBlock, { controller: controller, routes: routes, tools: tools, writable: writable, roles: entries, defaultRole: section?.defaultRole, t: t })] }));
78
71
  }
79
72
  /** The default-model row: provider → model → reasoning-effort cascade + restore. */
80
- function DefaultModelRow({ controller, groups, writable, current, t }) {
73
+ function DefaultModelRow({ controller, routes, modelSelectionEnabled, writable, current, t }) {
81
74
  const [draft, setDraft] = useState({
82
75
  provider: current.provider ?? '',
83
76
  model: current.model ?? '',
@@ -101,8 +94,9 @@ function DefaultModelRow({ controller, groups, writable, current, t }) {
101
94
  }, [current.provider, current.model, current.reasoningEffort]);
102
95
  const provider = draft.provider;
103
96
  const model = draft.model;
104
- const modelOptions = provider ? (groups.find((g) => g.id === provider)?.models ?? []) : [];
105
- const effortOptions = effortsFor(groups, provider, model);
97
+ const providers = providerNames(routes);
98
+ const modelOptions = provider ? modelsForProvider(routes, provider) : [];
99
+ const noAllowed = routes.length === 0;
106
100
  const save = async () => {
107
101
  setBusy(true);
108
102
  setFailure(undefined);
@@ -137,10 +131,10 @@ function DefaultModelRow({ controller, groups, writable, current, t }) {
137
131
  setBusy(false);
138
132
  }
139
133
  };
140
- return (_jsxs("div", { style: cardStyle, children: [_jsxs("div", { style: { display: 'flex', alignItems: 'baseline', justifyContent: 'space-between', gap: 8 }, children: [_jsx("strong", { style: { color: token.labelPrimary, fontSize: 14 }, children: t('defaultsHeading') }), _jsx("button", { style: ghostButtonStyle, disabled: !writable || busy, onClick: () => void restore(), children: t('restoreDefaults') })] }), _jsx("p", { style: { margin: 0, color: token.labelSecondary, fontSize: 13, lineHeight: '18px' }, children: t('defaultsHint') }), _jsxs("div", { style: { display: 'grid', gridTemplateColumns: 'repeat(3, minmax(0, 1fr))', gap: 8 }, children: [_jsxs("div", { style: rowStyle, children: [_jsx("label", { style: fieldLabelStyle, children: t('defaultProvider') }), _jsxs("select", { style: selectStyle, value: draft.provider, disabled: !writable || groups.length === 0, onChange: (e) => setDraft((d) => ({ provider: e.target.value, model: '', reasoningEffort: '' })), children: [_jsx("option", { value: "", children: "\u2014" }), groups.map((g) => (_jsx("option", { value: g.id, children: g.name }, g.id)))] })] }), _jsxs("div", { style: rowStyle, children: [_jsx("label", { style: fieldLabelStyle, children: t('defaultModel') }), _jsxs("select", { style: selectStyle, value: draft.model, disabled: !writable || modelOptions.length === 0, onChange: (e) => setDraft((d) => ({ ...d, model: e.target.value, reasoningEffort: '' })), children: [_jsx("option", { value: "", children: "\u2014" }), modelOptions.map((m) => (_jsx("option", { value: m.id, children: m.name }, m.id)))] })] }), _jsxs("div", { style: rowStyle, children: [_jsx("label", { style: fieldLabelStyle, children: t('defaultReasoningEffort') }), _jsxs("select", { style: selectStyle, value: draft.reasoningEffort, disabled: !writable || effortOptions.length === 0, onChange: (e) => setDraft((d) => ({ ...d, reasoningEffort: e.target.value })), children: [_jsx("option", { value: "", children: "\u2014" }), effortOptions.map((e) => (_jsx("option", { value: e.id, children: e.name }, e.id)))] })] })] }), failure !== undefined ? _jsx("div", { style: { color: token.danger, fontSize: 12 }, children: failure }) : null, done ? _jsx("div", { style: { color: token.accent, fontSize: 12 }, children: t('restoreDone') }) : null, _jsx("div", { style: { display: 'flex', gap: 8 }, children: _jsx("button", { style: primaryButtonStyle, disabled: !writable || busy, onClick: () => void save(), children: t('save') }) })] }));
134
+ return (_jsxs("div", { style: cardStyle, children: [_jsxs("div", { style: { display: 'flex', alignItems: 'baseline', justifyContent: 'space-between', gap: 8 }, children: [_jsx("strong", { style: { color: token.labelPrimary, fontSize: 14 }, children: t('defaultsHeading') }), _jsx("button", { style: ghostButtonStyle, disabled: !writable || busy, onClick: () => void restore(), children: t('restoreDefaults') })] }), _jsx("p", { style: { margin: 0, color: token.labelSecondary, fontSize: 13, lineHeight: '18px' }, children: t('defaultsHint') }), noAllowed ? (_jsx("p", { style: { margin: '6px 0 0', color: token.danger, fontSize: 12, lineHeight: '16px' }, children: t('noAllowedModels') })) : null, _jsxs("div", { style: { display: 'grid', gridTemplateColumns: 'repeat(3, minmax(0, 1fr))', gap: 8 }, children: [_jsxs("div", { style: rowStyle, children: [_jsx("label", { style: fieldLabelStyle, children: t('defaultProvider') }), noAllowed ? (_jsx("div", { style: { color: token.labelSecondary, fontSize: 12 }, children: "\u2014" })) : (_jsxs("select", { style: selectStyle, value: draft.provider, disabled: !writable || providers.length === 0, onChange: (e) => setDraft((d) => ({ provider: e.target.value, model: '', reasoningEffort: '' })), children: [_jsx("option", { value: "", children: "\u2014" }), providers.map((id) => (_jsx("option", { value: id, children: id }, id)))] }))] }), _jsxs("div", { style: rowStyle, children: [_jsx("label", { style: fieldLabelStyle, children: t('defaultModel') }), noAllowed ? (_jsx("div", { style: { color: token.labelSecondary, fontSize: 12 }, children: "\u2014" })) : (_jsxs("select", { style: selectStyle, value: draft.model, disabled: !writable || modelOptions.length === 0, onChange: (e) => setDraft((d) => ({ ...d, model: e.target.value, reasoningEffort: '' })), children: [_jsx("option", { value: "", children: "\u2014" }), modelOptions.map((m) => (_jsx("option", { value: m.model, children: m.label }, m.model)))] }))] }), _jsxs("div", { style: rowStyle, children: [_jsx("label", { style: fieldLabelStyle, children: t('defaultReasoningEffort') }), _jsx("input", { style: textInputStyle, value: draft.reasoningEffort, disabled: !writable, placeholder: modelSelectionEnabled ? '' : '(advisory)', onChange: (e) => setDraft((d) => ({ ...d, reasoningEffort: e.target.value })) })] })] }), failure !== undefined ? _jsx("div", { style: { color: token.danger, fontSize: 12 }, children: failure }) : null, done ? _jsx("div", { style: { color: token.accent, fontSize: 12 }, children: t('restoreDone') }) : null, _jsx("div", { style: { display: 'flex', gap: 8 }, children: _jsx("button", { style: primaryButtonStyle, disabled: !writable || busy, onClick: () => void save(), children: t('save') }) })] }));
141
135
  }
142
136
  /** The role-template roster: cards plus an inline add form. */
143
- function RolesBlock({ controller, groups, tools, writable, roles, defaultRole, t }) {
137
+ function RolesBlock({ controller, routes, tools, writable, roles, defaultRole, t }) {
144
138
  const [adding, setAdding] = useState(false);
145
139
  const [draft, setDraft] = useState({
146
140
  displayName: '',
@@ -175,6 +169,6 @@ function RolesBlock({ controller, groups, tools, writable, roles, defaultRole, t
175
169
  setBusy(false);
176
170
  }
177
171
  };
178
- return (_jsxs("div", { style: cardStyle, children: [_jsxs("div", { style: { display: 'flex', alignItems: 'baseline', justifyContent: 'space-between', gap: 8 }, children: [_jsx("strong", { style: { color: token.labelPrimary, fontSize: 14 }, children: t('rolesHeading') }), _jsx("button", { style: ghostButtonStyle, disabled: !writable || adding, onClick: beginAdd, children: t('addRole') })] }), _jsx("p", { style: { margin: 0, color: token.labelSecondary, fontSize: 13, lineHeight: '18px' }, children: t('rolesHint') }), adding ? (_jsxs("div", { style: { border: '1px dashed ' + token.border, borderRadius: 10, padding: 12, display: 'flex', flexDirection: 'column', gap: 10 }, children: [_jsxs("div", { style: rowStyle, children: [_jsx("label", { style: fieldLabelStyle, children: t('roleDisplayName') }), _jsx("input", { style: textInputStyle, value: draft.displayName, placeholder: t('displayNamePlaceholder'), onChange: (e) => setDraft((d) => ({ ...d, displayName: e.target.value })) })] }), _jsxs("div", { style: rowStyle, children: [_jsx("label", { style: fieldLabelStyle, children: t('roleDescription') }), _jsx("textarea", { style: textAreaStyle, value: draft.description, placeholder: t('descriptionPlaceholder'), onChange: (e) => setDraft((d) => ({ ...d, description: e.target.value })) })] }), _jsx("div", { style: rowStyle, children: _jsx(ToolSetPicker, { tools: tools, selected: draft.toolFilter?.allow ?? [], t: t, onChange: (allow) => setDraft((d) => ({ ...d, toolFilter: { allow } })) }) }), failure !== undefined ? _jsx("div", { style: { color: token.danger, fontSize: 12 }, children: failure }) : null, _jsxs("div", { style: { display: 'flex', gap: 8 }, children: [_jsx("button", { style: primaryButtonStyle, disabled: !writable || busy, onClick: () => void saveAdd(), children: t('addRole') }), _jsx("button", { style: ghostButtonStyle, disabled: busy, onClick: () => setAdding(false), children: t('cancel') })] })] })) : null, roles.length === 0 && !adding ? (_jsx("p", { style: { margin: 0, color: token.labelSecondary, fontSize: 13 }, children: t('emptyRoles') })) : (roles.map(([id, role]) => (_jsx(RoleCard, { id: id, role: role, isDefault: defaultRole === id, groups: groups, tools: tools, t: t, onSave: (d) => controller.updateRole(id, role, d), onDelete: () => controller.removeRole(id), onSetDefault: () => controller.setDefaultRole(id) }, id))))] }));
172
+ return (_jsxs("div", { style: cardStyle, children: [_jsxs("div", { style: { display: 'flex', alignItems: 'baseline', justifyContent: 'space-between', gap: 8 }, children: [_jsx("strong", { style: { color: token.labelPrimary, fontSize: 14 }, children: t('rolesHeading') }), _jsx("button", { style: ghostButtonStyle, disabled: !writable || adding, onClick: beginAdd, children: t('addRole') })] }), _jsx("p", { style: { margin: 0, color: token.labelSecondary, fontSize: 13, lineHeight: '18px' }, children: t('rolesHint') }), adding ? (_jsxs("div", { style: { border: '1px dashed ' + token.border, borderRadius: 10, padding: 12, display: 'flex', flexDirection: 'column', gap: 10 }, children: [_jsxs("div", { style: rowStyle, children: [_jsx("label", { style: fieldLabelStyle, children: t('roleDisplayName') }), _jsx("input", { style: textInputStyle, value: draft.displayName, placeholder: t('displayNamePlaceholder'), onChange: (e) => setDraft((d) => ({ ...d, displayName: e.target.value })) })] }), _jsxs("div", { style: rowStyle, children: [_jsx("label", { style: fieldLabelStyle, children: t('roleDescription') }), _jsx("textarea", { style: textAreaStyle, value: draft.description, placeholder: t('descriptionPlaceholder'), onChange: (e) => setDraft((d) => ({ ...d, description: e.target.value })) })] }), _jsx("div", { style: rowStyle, children: _jsx(ToolSetPicker, { tools: tools, selected: draft.toolFilter?.allow ?? [], t: t, onChange: (allow) => setDraft((d) => ({ ...d, toolFilter: { allow } })) }) }), failure !== undefined ? _jsx("div", { style: { color: token.danger, fontSize: 12 }, children: failure }) : null, _jsxs("div", { style: { display: 'flex', gap: 8 }, children: [_jsx("button", { style: primaryButtonStyle, disabled: !writable || busy, onClick: () => void saveAdd(), children: t('addRole') }), _jsx("button", { style: ghostButtonStyle, disabled: busy, onClick: () => setAdding(false), children: t('cancel') })] })] })) : null, roles.length === 0 && !adding ? (_jsx("p", { style: { margin: 0, color: token.labelSecondary, fontSize: 13 }, children: t('emptyRoles') })) : (roles.map(([id, role]) => (_jsx(RoleCard, { id: id, role: role, isDefault: defaultRole === id, routes: routes, tools: tools, t: t, onSave: (d) => controller.updateRole(id, role, d), onDelete: () => controller.removeRole(id), onSetDefault: () => controller.setDefaultRole(id) }, id))))] }));
179
173
  }
180
174
  //# sourceMappingURL=SubagentOptionsSection.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SubagentOptionsSection.js","sourceRoot":"","sources":["../../src/client/SubagentOptionsSection.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SubagentOptionsSection.js","sourceRoot":"","sources":["../../src/client/SubagentOptionsSection.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,34 @@
1
+ /**
2
+ * Allowed-route selection model for the alpha.4 client.
3
+ *
4
+ * The alpha.4 client no longer has a full llm model catalog RPC
5
+ * (`connection.api.llm` was removed), and Subagent Director must pick a
6
+ * provider/model ONLY from the routes the user authorized in the official
7
+ * `subagent-model-selection` section (the "Subagent" plugin-config model
8
+ * list). This module turns that route list into the option sets the settings
9
+ * page renders. Pure and framework-free so the rules are unit-testable.
10
+ */
11
+ /** One exact provider/model route authorized in the Subagent config list. */
12
+ export interface AllowedRoute {
13
+ readonly provider: string;
14
+ readonly model: string;
15
+ }
16
+ /** One selectable option derived from an allowed route. */
17
+ export interface AllowedRouteOption {
18
+ readonly provider: string;
19
+ readonly model: string;
20
+ /** Stable display label for the exact route, e.g. "deepseek/deepseek-v4". */
21
+ readonly label: string;
22
+ }
23
+ /** One-line display label for an exact route. */
24
+ export declare function allowedRouteLabel(route: AllowedRoute): string;
25
+ /**
26
+ * Map the authorized route list to selectable options, preserving order and
27
+ * dropping duplicates of the exact same provider/model pair.
28
+ */
29
+ export declare function buildRouteOptions(routes: readonly AllowedRoute[]): AllowedRouteOption[];
30
+ /** Unique providers in first-seen order, for the provider select. */
31
+ export declare function providerNames(routes: readonly AllowedRoute[]): string[];
32
+ /** The allowed options available for one exact provider, for the model select. */
33
+ export declare function modelsForProvider(routes: readonly AllowedRoute[], provider: string): AllowedRouteOption[];
34
+ //# sourceMappingURL=allowed-routes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"allowed-routes.d.ts","sourceRoot":"","sources":["../../src/client/allowed-routes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,6EAA6E;AAC7E,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED,2DAA2D;AAC3D,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,6EAA6E;IAC7E,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED,iDAAiD;AACjD,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,YAAY,GAAG,MAAM,CAE7D;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,SAAS,YAAY,EAAE,GAAG,kBAAkB,EAAE,CAUvF;AAED,qEAAqE;AACrE,wBAAgB,aAAa,CAAC,MAAM,EAAE,SAAS,YAAY,EAAE,GAAG,MAAM,EAAE,CASvE;AAED,kFAAkF;AAClF,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,SAAS,YAAY,EAAE,EAAE,QAAQ,EAAE,MAAM,GAAG,kBAAkB,EAAE,CAEzG"}
@@ -0,0 +1,47 @@
1
+ /**
2
+ * Allowed-route selection model for the alpha.4 client.
3
+ *
4
+ * The alpha.4 client no longer has a full llm model catalog RPC
5
+ * (`connection.api.llm` was removed), and Subagent Director must pick a
6
+ * provider/model ONLY from the routes the user authorized in the official
7
+ * `subagent-model-selection` section (the "Subagent" plugin-config model
8
+ * list). This module turns that route list into the option sets the settings
9
+ * page renders. Pure and framework-free so the rules are unit-testable.
10
+ */
11
+ /** One-line display label for an exact route. */
12
+ export function allowedRouteLabel(route) {
13
+ return `${route.provider}/${route.model}`;
14
+ }
15
+ /**
16
+ * Map the authorized route list to selectable options, preserving order and
17
+ * dropping duplicates of the exact same provider/model pair.
18
+ */
19
+ export function buildRouteOptions(routes) {
20
+ const seen = new Set();
21
+ const options = [];
22
+ for (const route of routes) {
23
+ const key = `${route.provider}\u0000${route.model}`;
24
+ if (seen.has(key))
25
+ continue;
26
+ seen.add(key);
27
+ options.push({ provider: route.provider, model: route.model, label: allowedRouteLabel(route) });
28
+ }
29
+ return options;
30
+ }
31
+ /** Unique providers in first-seen order, for the provider select. */
32
+ export function providerNames(routes) {
33
+ const seen = new Set();
34
+ const names = [];
35
+ for (const route of routes) {
36
+ if (seen.has(route.provider))
37
+ continue;
38
+ seen.add(route.provider);
39
+ names.push(route.provider);
40
+ }
41
+ return names;
42
+ }
43
+ /** The allowed options available for one exact provider, for the model select. */
44
+ export function modelsForProvider(routes, provider) {
45
+ return buildRouteOptions(routes).filter((option) => option.provider === provider);
46
+ }
47
+ //# sourceMappingURL=allowed-routes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"allowed-routes.js","sourceRoot":"","sources":["../../src/client/allowed-routes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAgBH,iDAAiD;AACjD,MAAM,UAAU,iBAAiB,CAAC,KAAmB;IACnD,OAAO,GAAG,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;AAC5C,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAAC,MAA+B;IAC/D,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,MAAM,OAAO,GAAyB,EAAE,CAAC;IACzC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,GAAG,GAAG,GAAG,KAAK,CAAC,QAAQ,SAAS,KAAK,CAAC,KAAK,EAAE,CAAC;QACpD,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,SAAS;QAC5B,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACd,OAAO,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAClG,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,qEAAqE;AACrE,MAAM,UAAU,aAAa,CAAC,MAA+B;IAC3D,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC;YAAE,SAAS;QACvC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACzB,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC7B,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,kFAAkF;AAClF,MAAM,UAAU,iBAAiB,CAAC,MAA+B,EAAE,QAAgB;IACjF,OAAO,iBAAiB,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC;AACpF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,wCAAwC,CAAC;AAIlG,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,KAAK,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAChE,OAAO,EAAE,oBAAoB,EAA6B,MAAM,YAAY,CAAC;AAM7E,0EAA0E;AAC1E,eAAO,MAAM,EAAE,8BAA8B,CAAC;AAE9C,OAAO,QAAQ,kCAAkC,CAAC;IAChD,UAAU,kBAAkB;QAC1B,4CAA4C;QAC5C,2BAA2B,EAAE,mBAAmB,CAAC;KAClD;CACF;AACD;;;;;GAKG;AACH,OAAO,QAAQ,kCAAkC,CAAC;IAChD,UAAU,OAAO;QACf,4BAA4B,EAAE;YAC5B,IAAI,EAAE,MAAM,CAAC;YACb,KAAK,EAAE,SAAS,CAAC;YACjB,KAAK,EAAE;gBAAE,QAAQ,CAAC,OAAO,EAAE,oBAAoB,GAAG,SAAS,CAAC;gBAAC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAA;aAAE,CAAC;SACxF,CAAC;QACF,qEAAqE;QACrE,qCAAqC,EAAE;YACrC,IAAI,EAAE,MAAM,CAAC;YACb,KAAK,EAAE,SAAS,CAAC;SAClB,CAAC;KACH;CACF;AAED,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;AAClB,YAAY,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACxD,YAAY,EAAE,8BAA8B,EAAE,2BAA2B,EAAE,MAAM,6BAA6B,CAAC;AAC/G,YAAY,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAE7E,2DAA2D;AAC3D,wBAAgB,eAAe,CAAC,UAAU,EAAE,oBAAoB,GAAG,IAAI,CAGtE;AAED,4EAA4E;AAC5E,eAAO,MAAM,MAAM,UAA8C,CAAC;AAElE;;;;GAIG;AACH,wBAAgB,KAAK,CAAC,GAAG,EAAE,aAAa,GAAG,IAAI,CA6E9C"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,wCAAwC,CAAC;AAIlG,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,KAAK,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAChE,OAAO,EAAE,oBAAoB,EAA6B,MAAM,YAAY,CAAC;AAM7E,0EAA0E;AAC1E,eAAO,MAAM,EAAE,8BAA8B,CAAC;AAE9C,OAAO,QAAQ,kCAAkC,CAAC;IAChD,UAAU,kBAAkB;QAC1B,4CAA4C;QAC5C,2BAA2B,EAAE,mBAAmB,CAAC;KAClD;CACF;AACD;;;;;GAKG;AACH,OAAO,QAAQ,kCAAkC,CAAC;IAChD,UAAU,OAAO;QACf,4BAA4B,EAAE;YAC5B,IAAI,EAAE,MAAM,CAAC;YACb,KAAK,EAAE,SAAS,CAAC;YACjB,KAAK,EAAE;gBAAE,QAAQ,CAAC,OAAO,EAAE,oBAAoB,GAAG,SAAS,CAAC;gBAAC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAA;aAAE,CAAC;SACxF,CAAC;QACF,qEAAqE;QACrE,qCAAqC,EAAE;YACrC,IAAI,EAAE,MAAM,CAAC;YACb,KAAK,EAAE,SAAS,CAAC;SAClB,CAAC;KACH;CACF;AAED,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;AAClB,YAAY,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACxD,YAAY,EAAE,8BAA8B,EAAE,2BAA2B,EAAE,MAAM,6BAA6B,CAAC;AAC/G,YAAY,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAE7E,2DAA2D;AAC3D,wBAAgB,eAAe,CAAC,UAAU,EAAE,oBAAoB,GAAG,IAAI,CAGtE;AAED,4EAA4E;AAC5E,eAAO,MAAM,MAAM,UAA8C,CAAC;AAElE;;;;GAIG;AACH,wBAAgB,KAAK,CAAC,GAAG,EAAE,aAAa,GAAG,IAAI,CA4E9C"}