@khorsheed/dsh-local-agent-codex 0.1.0-rc.7 → 0.1.0-rc.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,9 @@
1
1
  # 变更记录
2
2
 
3
+ ## 0.1.0-rc.8(2026-09-30)
4
+
5
+ 家族同版联动:加宽 `@deepseek-ai/dsh-*` peer 区间以覆盖宿主 0.2.0(0.2.0 的兼容闸会禁用 peer 区间不覆盖宿主版本的已装插件)。无功能变更。
6
+
3
7
  ## 0.1.0-rc.7(2026-09-27)
4
8
 
5
9
  家族同版联动:随宿主 0.1.7-rc.2 基线发布波重发,全量构建+测试在 rc.2 基线通过。README 截图整理(委派视图一张从未存在的引用删除,全部图片引用可解析)。无功能变更。
package/README.en.md CHANGED
@@ -6,7 +6,7 @@ Hand coding tasks to the Codex CLI installed on your own machine — its own log
6
6
 
7
7
  dsh agents already get work done, but some tasks you simply want to give to your local Codex CLI: its account, its models, the toolchain you know. This plugin wires Codex in as a dsh local subagent — any agent preset can delegate with one call through the `subagent_codex` tool; delegations run inside a plugin-scoped home (`$DSH_HOME/local-agent/codex`), so your personal config, credentials and sessions are never touched; the process details (reasoning, tool calls, file changes) mirror live into the child session, and the final answer comes back to the parent.
8
8
 
9
- <img src="https://raw.githubusercontent.com/Khorsheed/dsh-web-basic/main/docs/screenshots/08-local-agent.png" width="640" alt="the Local Agent · Codex card on the Settings → plugin configuration page, its header status dot showing the auth state at a glance">
9
+ <img src="https://raw.githubusercontent.com/Khorsheed/dsh-basic/main/docs/screenshots/08-local-agent.png" width="640" alt="the Local Agent · Codex card on the Settings → plugin configuration page, its header status dot showing the auth state at a glance">
10
10
 
11
11
  ## Features
12
12
 
@@ -19,7 +19,7 @@ dsh agents already get work done, but some tasks you simply want to give to your
19
19
  - **Custom endpoint** — route Codex's LLM requests through your own router via a scoped `config.toml` provider.
20
20
  - **Read-back and per-cell working directory** — every settled round reads the model, CLI version and usage back out of its own rollout into the delegation record; the file is located by thread id, cwd and time window, so concurrent runs each read their own round. Orchestrators pass a `cwd` per cell, and a resume in a different directory is rejected.
21
21
 
22
- <img src="https://raw.githubusercontent.com/Khorsheed/dsh-web-basic/main/docs/screenshots/local-agent-codex-card.png" width="640" alt="the expanded Codex settings card: auth status with sign-in and sign-out, the default model, and the resident-mode switch">
22
+ <img src="https://raw.githubusercontent.com/Khorsheed/dsh-basic/main/docs/screenshots/local-agent-codex-card.png" width="640" alt="the expanded Codex settings card: auth status with sign-in and sign-out, the default model, and the resident-mode switch">
23
23
 
24
24
  ## Install
25
25
 
package/README.i18n.yaml CHANGED
@@ -2,5 +2,5 @@
2
2
  # last confirmed-consistent state. Both languages carry equal authority; after
3
3
  # editing either side, bring the other along and re-record with:
4
4
  # pnpm run verify-translation-pairing --write packages/local-agent-codex/README.en.md
5
- packages/local-agent-codex/README.en.md: 9fc4710953666e5aced6b17cdc8b95ef072deaff
6
- packages/local-agent-codex/README.md: b39c0e06ca0a4550c90783b0e3929772dcb61756
5
+ packages/local-agent-codex/README.en.md: cc127472d85b28dfbb599b9a6c545682be5f6a4b
6
+ packages/local-agent-codex/README.md: fbc7461e9bd406f05b9988e9a6ad1ed2fe3fab78
package/README.md CHANGED
@@ -6,7 +6,7 @@
6
6
 
7
7
  dsh 的 agent 已经能干活,但有些任务你就是想交给本机的 Codex CLI:它的账号、它的模型、你熟悉的工具链。这个插件把 Codex 接成 dsh 的本地子代理——任意 agent preset 都能经 `subagent_codex` 工具一句话委派;委派跑在插件隔离的作用域目录(`$DSH_HOME/local-agent/codex`)里,你的个人 config、凭据、会话完全不被触碰;过程细节(推理、工具调用、文件改动)实时镜像在子会话里,最终回答回到父会话。
8
8
 
9
- <img src="https://raw.githubusercontent.com/Khorsheed/dsh-web-basic/main/docs/screenshots/08-local-agent.png" width="640" alt="设置 → 插件配置页里的 Local Agent · Codex 卡片,卡头状态点一眼可见授权状态">
9
+ <img src="https://raw.githubusercontent.com/Khorsheed/dsh-basic/main/docs/screenshots/08-local-agent.png" width="640" alt="设置 → 插件配置页里的 Local Agent · Codex 卡片,卡头状态点一眼可见授权状态">
10
10
 
11
11
  ## 特性
12
12
 
@@ -19,7 +19,7 @@ dsh 的 agent 已经能干活,但有些任务你就是想交给本机的 Codex C
19
19
  - **自定义端点**——经作用域 `config.toml` 的自定义 provider 把 Codex 的 LLM 请求路由到你自己的路由端点。
20
20
  - **回读与独立工作目录**——每轮从本轮 rollout 回读实际模型、CLI 版本与用量写进委派记录;定位按 threadId + cwd + 时间窗,并发跑也读的是自己那一轮。编排器可用 `cwd` 选项给每格独立目录,resume 换目录即拒绝。
21
21
 
22
- <img src="https://raw.githubusercontent.com/Khorsheed/dsh-web-basic/main/docs/screenshots/local-agent-codex-card.png" width="640" alt="展开的 Codex 设置卡:认证状态与登录/退出、默认模型、常驻模式开关">
22
+ <img src="https://raw.githubusercontent.com/Khorsheed/dsh-basic/main/docs/screenshots/local-agent-codex-card.png" width="640" alt="展开的 Codex 设置卡:认证状态与登录/退出、默认模型、常驻模式开关">
23
23
 
24
24
  ## 安装
25
25
 
package/lib/client.js CHANGED
@@ -233,7 +233,7 @@ window.__ModuleLoader__.load({
233
233
  }
234
234
  //#endregion
235
235
  //#region \0dsh-css:../local-agent/src/client/ProviderAuthBlock.module.css.mjs
236
- const css$2 = ".n6PEuW_section{max-width:720px;color:var(--dsw-alias-label-primary);flex-direction:column;gap:4px;display:flex}.n6PEuW_title{color:var(--dsw-alias-label-primary);margin:0;font-size:16px;font-weight:500;line-height:24px}.n6PEuW_intro{color:var(--dsw-alias-label-tertiary);margin:0;font-size:14px;line-height:22px}.n6PEuW_rows{flex-direction:column;gap:8px;margin:12px 0 0;padding:0;list-style:none;display:flex}.n6PEuW_rowCard{border:1px solid var(--dsw-alias-border-l2);border-radius:12px;flex-direction:column;gap:10px;padding:12px 14px;display:flex}.n6PEuW_rowPending{opacity:.6}.n6PEuW_rowHead{align-items:center;gap:10px;display:flex}.n6PEuW_rowIdentity{align-items:center;gap:6px;min-width:0;display:inline-flex}.n6PEuW_rowName{color:var(--dsw-alias-label-primary);font-size:14px;font-weight:500;line-height:22px}.n6PEuW_rowTag{border:1px solid var(--dsw-alias-border-l3);color:var(--dsw-alias-label-secondary);border-radius:4px;flex:none;padding:1px 6px;font-size:11px;line-height:16px}.n6PEuW_credentialDot{box-sizing:border-box;border-radius:50%;flex:none;width:8px;height:8px;display:inline-block}.n6PEuW_dotOn{background:var(--dsw-alias-state-success-primary)}.n6PEuW_dotOff{background:var(--dsw-alias-state-error-primary)}.n6PEuW_dotPending{background:var(--dsw-alias-fill-l3)}.n6PEuW_status{color:var(--dsw-alias-label-tertiary);flex:none;margin-left:auto;font-size:12px;line-height:18px}.n6PEuW_rowActions{align-items:center;gap:4px;display:inline-flex}.n6PEuW_loginButton{box-sizing:border-box;border:1px solid var(--dsw-alias-border-l2);height:28px;color:var(--dsw-alias-label-secondary);cursor:pointer;background:0 0;border-radius:14px;justify-content:center;align-items:center;padding:0 12px;font-size:12px;line-height:18px;display:inline-flex}.n6PEuW_loginButton:hover{color:var(--dsw-alias-label-primary);border-color:var(--dsw-alias-border-l3)}.n6PEuW_loginButton:disabled{color:var(--dsw-alias-label-tertiary);border-color:var(--dsw-alias-border-l2);cursor:not-allowed}.n6PEuW_logoutButton{box-sizing:border-box;border:1px solid var(--dsw-alias-border-l2);height:28px;color:var(--dsw-alias-state-error-primary);cursor:pointer;background:0 0;border-radius:14px;justify-content:center;align-items:center;padding:0 12px;font-size:12px;line-height:18px;display:inline-flex}.n6PEuW_logoutButton:hover{border-color:var(--dsw-alias-state-error-primary)}.n6PEuW_rosterError{color:var(--dsw-alias-state-error-primary);align-items:center;gap:10px;margin:8px 0 0;font-size:12px;line-height:18px;display:flex}.n6PEuW_retryButton{box-sizing:border-box;border:1px solid var(--dsw-alias-border-l2);height:24px;color:var(--dsw-alias-label-secondary);cursor:pointer;background:0 0;border-radius:12px;justify-content:center;align-items:center;padding:0 10px;font-size:12px;line-height:18px;display:inline-flex}.n6PEuW_retryButton:hover{color:var(--dsw-alias-label-primary);border-color:var(--dsw-alias-border-l3)}.n6PEuW_loginPrompt{align-items:flex-start;gap:10px;display:flex}.n6PEuW_promptText{min-width:0;color:var(--dsw-alias-label-tertiary);overflow-wrap:anywhere;flex:1;font-size:12px;line-height:18px}.n6PEuW_codeInput{border:1px solid var(--dsw-alias-line-normal,currentColor);min-width:0;color:inherit;background:0 0;border-radius:6px;flex:1;padding:4px 8px;font-size:12px;line-height:18px}.n6PEuW_openPage{color:var(--dsw-alias-accent-link);flex:none;font-size:12px;line-height:18px;text-decoration:none}.n6PEuW_openPage:hover{text-decoration:underline}";
236
+ const css$2 = ".On5p7W_section{max-width:720px;color:var(--dsw-alias-label-primary);flex-direction:column;gap:4px;display:flex}.On5p7W_title{color:var(--dsw-alias-label-primary);margin:0;font-size:16px;font-weight:500;line-height:24px}.On5p7W_intro{color:var(--dsw-alias-label-tertiary);margin:0;font-size:14px;line-height:22px}.On5p7W_rows{flex-direction:column;gap:8px;margin:12px 0 0;padding:0;list-style:none;display:flex}.On5p7W_rowCard{border:1px solid var(--dsw-alias-border-l2);border-radius:12px;flex-direction:column;gap:10px;padding:12px 14px;display:flex}.On5p7W_rowPending{opacity:.6}.On5p7W_rowHead{align-items:center;gap:10px;display:flex}.On5p7W_rowIdentity{align-items:center;gap:6px;min-width:0;display:inline-flex}.On5p7W_rowName{color:var(--dsw-alias-label-primary);font-size:14px;font-weight:500;line-height:22px}.On5p7W_rowTag{border:1px solid var(--dsw-alias-border-l3);color:var(--dsw-alias-label-secondary);border-radius:4px;flex:none;padding:1px 6px;font-size:11px;line-height:16px}.On5p7W_credentialDot{box-sizing:border-box;border-radius:50%;flex:none;width:8px;height:8px;display:inline-block}.On5p7W_dotOn{background:var(--dsw-alias-state-success-primary)}.On5p7W_dotOff{background:var(--dsw-alias-state-error-primary)}.On5p7W_dotPending{background:var(--dsw-alias-fill-l3)}.On5p7W_status{color:var(--dsw-alias-label-tertiary);flex:none;margin-left:auto;font-size:12px;line-height:18px}.On5p7W_rowActions{align-items:center;gap:4px;display:inline-flex}.On5p7W_loginButton{box-sizing:border-box;border:1px solid var(--dsw-alias-border-l2);height:28px;color:var(--dsw-alias-label-secondary);cursor:pointer;background:0 0;border-radius:14px;justify-content:center;align-items:center;padding:0 12px;font-size:12px;line-height:18px;display:inline-flex}.On5p7W_loginButton:hover{color:var(--dsw-alias-label-primary);border-color:var(--dsw-alias-border-l3)}.On5p7W_loginButton:disabled{color:var(--dsw-alias-label-tertiary);border-color:var(--dsw-alias-border-l2);cursor:not-allowed}.On5p7W_logoutButton{box-sizing:border-box;border:1px solid var(--dsw-alias-border-l2);height:28px;color:var(--dsw-alias-state-error-primary);cursor:pointer;background:0 0;border-radius:14px;justify-content:center;align-items:center;padding:0 12px;font-size:12px;line-height:18px;display:inline-flex}.On5p7W_logoutButton:hover{border-color:var(--dsw-alias-state-error-primary)}.On5p7W_rosterError{color:var(--dsw-alias-state-error-primary);align-items:center;gap:10px;margin:8px 0 0;font-size:12px;line-height:18px;display:flex}.On5p7W_retryButton{box-sizing:border-box;border:1px solid var(--dsw-alias-border-l2);height:24px;color:var(--dsw-alias-label-secondary);cursor:pointer;background:0 0;border-radius:12px;justify-content:center;align-items:center;padding:0 10px;font-size:12px;line-height:18px;display:inline-flex}.On5p7W_retryButton:hover{color:var(--dsw-alias-label-primary);border-color:var(--dsw-alias-border-l3)}.On5p7W_loginPrompt{align-items:flex-start;gap:10px;display:flex}.On5p7W_promptText{min-width:0;color:var(--dsw-alias-label-tertiary);overflow-wrap:anywhere;flex:1;font-size:12px;line-height:18px}.On5p7W_codeInput{border:1px solid var(--dsw-alias-line-normal,currentColor);min-width:0;color:inherit;background:0 0;border-radius:6px;flex:1;padding:4px 8px;font-size:12px;line-height:18px}.On5p7W_openPage{color:var(--dsw-alias-accent-link);flex:none;font-size:12px;line-height:18px;text-decoration:none}.On5p7W_openPage:hover{text-decoration:underline}";
237
237
  const tagId$2 = "@khorsheed/dsh-local-agent-codex/ProviderAuthBlock.module.css";
238
238
  if (typeof document !== "undefined" && document.querySelector("style[data-plugin-css=" + JSON.stringify(tagId$2) + "]") === null) {
239
239
  const tag = document.createElement("style");
@@ -243,30 +243,30 @@ window.__ModuleLoader__.load({
243
243
  document.head.appendChild(tag);
244
244
  }
245
245
  var ProviderAuthBlock_module_css_default = {
246
- "openPage": "n6PEuW_openPage",
247
- "rowTag": "n6PEuW_rowTag",
248
- "dotPending": "n6PEuW_dotPending",
249
- "rowActions": "n6PEuW_rowActions",
250
- "dotOn": "n6PEuW_dotOn",
251
- "rowName": "n6PEuW_rowName",
252
- "section": "n6PEuW_section",
253
- "promptText": "n6PEuW_promptText",
254
- "rosterError": "n6PEuW_rosterError",
255
- "retryButton": "n6PEuW_retryButton",
256
- "intro": "n6PEuW_intro",
257
- "rowHead": "n6PEuW_rowHead",
258
- "dotOff": "n6PEuW_dotOff",
259
- "loginButton": "n6PEuW_loginButton",
260
- "status": "n6PEuW_status",
261
- "logoutButton": "n6PEuW_logoutButton",
262
- "loginPrompt": "n6PEuW_loginPrompt",
263
- "rows": "n6PEuW_rows",
264
- "codeInput": "n6PEuW_codeInput",
265
- "credentialDot": "n6PEuW_credentialDot",
266
- "rowPending": "n6PEuW_rowPending",
267
- "rowIdentity": "n6PEuW_rowIdentity",
268
- "title": "n6PEuW_title",
269
- "rowCard": "n6PEuW_rowCard"
246
+ "loginButton": "On5p7W_loginButton",
247
+ "title": "On5p7W_title",
248
+ "promptText": "On5p7W_promptText",
249
+ "rowIdentity": "On5p7W_rowIdentity",
250
+ "intro": "On5p7W_intro",
251
+ "credentialDot": "On5p7W_credentialDot",
252
+ "dotPending": "On5p7W_dotPending",
253
+ "rowName": "On5p7W_rowName",
254
+ "dotOn": "On5p7W_dotOn",
255
+ "rows": "On5p7W_rows",
256
+ "rowActions": "On5p7W_rowActions",
257
+ "section": "On5p7W_section",
258
+ "rowCard": "On5p7W_rowCard",
259
+ "loginPrompt": "On5p7W_loginPrompt",
260
+ "status": "On5p7W_status",
261
+ "codeInput": "On5p7W_codeInput",
262
+ "rowPending": "On5p7W_rowPending",
263
+ "rowTag": "On5p7W_rowTag",
264
+ "logoutButton": "On5p7W_logoutButton",
265
+ "dotOff": "On5p7W_dotOff",
266
+ "rowHead": "On5p7W_rowHead",
267
+ "rosterError": "On5p7W_rosterError",
268
+ "retryButton": "On5p7W_retryButton",
269
+ "openPage": "On5p7W_openPage"
270
270
  };
271
271
  //#endregion
272
272
  //#region ../local-agent/src/client/ProviderAuthBlock.tsx
@@ -529,7 +529,7 @@ window.__ModuleLoader__.load({
529
529
  }
530
530
  //#endregion
531
531
  //#region \0dsh-css:../local-agent/src/client/AuthStatusDot.module.css.mjs
532
- const css$1 = ".TFxvHa_credentialDot{box-sizing:border-box;border-radius:50%;flex:none;width:8px;height:8px;display:inline-block}.TFxvHa_dotOn{background:var(--dsw-alias-state-success-primary)}.TFxvHa_dotOff{background:var(--dsw-alias-state-error-primary)}.TFxvHa_dotPending{background:var(--dsw-alias-fill-l3)}";
532
+ const css$1 = ".OFjNUG_credentialDot{box-sizing:border-box;border-radius:50%;flex:none;width:8px;height:8px;display:inline-block}.OFjNUG_dotOn{background:var(--dsw-alias-state-success-primary)}.OFjNUG_dotOff{background:var(--dsw-alias-state-error-primary)}.OFjNUG_dotPending{background:var(--dsw-alias-fill-l3)}";
533
533
  const tagId$1 = "@khorsheed/dsh-local-agent-codex/AuthStatusDot.module.css";
534
534
  if (typeof document !== "undefined" && document.querySelector("style[data-plugin-css=" + JSON.stringify(tagId$1) + "]") === null) {
535
535
  const tag = document.createElement("style");
@@ -539,10 +539,10 @@ window.__ModuleLoader__.load({
539
539
  document.head.appendChild(tag);
540
540
  }
541
541
  var AuthStatusDot_module_css_default = {
542
- "dotPending": "TFxvHa_dotPending",
543
- "dotOff": "TFxvHa_dotOff",
544
- "dotOn": "TFxvHa_dotOn",
545
- "credentialDot": "TFxvHa_credentialDot"
542
+ "credentialDot": "OFjNUG_credentialDot",
543
+ "dotOn": "OFjNUG_dotOn",
544
+ "dotOff": "OFjNUG_dotOff",
545
+ "dotPending": "OFjNUG_dotPending"
546
546
  };
547
547
  //#endregion
548
548
  //#region ../local-agent/src/client/AuthStatusDot.tsx
@@ -558,7 +558,7 @@ window.__ModuleLoader__.load({
558
558
  }
559
559
  //#endregion
560
560
  //#region \0dsh-css:src/client/SettingsCard.module.css.mjs
561
- const css = ".sXV0EG_card{border:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-layer-3);border-radius:12px;list-style:none;transition:border-color .16s,background .16s}.sXV0EG_card:hover{border-color:var(--dsw-alias-label-dimmed)}.sXV0EG_cardOpen{background:var(--dsw-alias-bg-layer-2);border-color:var(--dsw-alias-label-dimmed)}.sXV0EG_header{appearance:none;width:100%;font:inherit;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:12px;align-items:center;gap:12px;padding:14px 16px;display:flex}.sXV0EG_header:focus-visible{outline:2px solid var(--dsw-alias-brand-primary);outline-offset:-2px}.sXV0EG_headText{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.sXV0EG_nameRow{align-items:center;gap:6px;display:flex}.sXV0EG_name{color:var(--dsw-alias-label-primary);font-size:15px;font-weight:600;line-height:1.4}.sXV0EG_description{color:var(--dsw-alias-label-tertiary);font-size:13px;line-height:1.5}.sXV0EG_chevron{color:var(--dsw-alias-label-tertiary);flex:none;transition:transform .16s}.sXV0EG_chevronOpen{transform:rotate(180deg)}.sXV0EG_body{border-top:1px solid var(--dsw-alias-border-l2);flex-direction:column;gap:14px;margin:0 16px;padding:12px 0 8px;display:flex}.sXV0EG_block{flex-direction:column;gap:10px;display:flex}.sXV0EG_blockTitle{color:var(--dsw-alias-label-primary);align-items:center;gap:6px;margin:0;font-size:13px;font-weight:500;line-height:1.4;display:flex}.sXV0EG_info{appearance:none;color:var(--dsw-alias-label-tertiary);cursor:help;background:0 0;border:0;border-radius:50%;padding:0 2px;font-size:12px;line-height:1}.sXV0EG_info:hover,.sXV0EG_info:focus-visible{color:var(--dsw-alias-label-primary)}.sXV0EG_row{align-items:center;gap:12px;display:flex}.sXV0EG_rowLabel{color:var(--dsw-alias-label-primary);align-items:center;gap:4px;font-size:13px;line-height:1.4;display:inline-flex}.sXV0EG_switch{border:1px solid color-mix(in srgb, currentColor 30%, transparent);background:color-mix(in srgb, currentColor 12%, transparent);cursor:pointer;width:2.25rem;height:1.25rem;color:var(--dsw-alias-label-primary);border-radius:999px;flex:none;align-self:center;padding:.125rem;transition:background .12s}.sXV0EG_switch:disabled{opacity:.5;cursor:default}.sXV0EG_switchOn{background:color-mix(in srgb, var(--dsh-accent,#4f8cff) 70%, transparent)}.sXV0EG_knob{background:var(--dsh-surface,#fff);border-radius:999px;width:.9375rem;height:.9375rem;transition:transform .12s;display:block}.sXV0EG_switchOn .sXV0EG_knob{transform:translate(.9375rem)}.sXV0EG_saved{color:var(--dsw-alias-state-success-primary);font-size:12px}.sXV0EG_errorText{color:var(--dsw-alias-state-error-primary);font-size:12px}.sXV0EG_hint{color:var(--dsw-alias-label-tertiary);font-size:12px;line-height:1.5}.sXV0EG_modelInput{min-width:0;font:inherit;border:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-layer-3);color:var(--dsw-alias-label-primary);border-radius:8px;flex:1;padding:5px 8px;font-size:13px;line-height:1.4}.sXV0EG_modelInput::placeholder{color:var(--dsw-alias-label-caption);opacity:1}.sXV0EG_modelInput:focus-visible{outline:2px solid var(--dsw-alias-brand-primary);outline-offset:-2px}.sXV0EG_modelInput:disabled{opacity:.5}.sXV0EG_modelField{border:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-layer-3);border-radius:8px;flex:1;align-items:center;min-width:0;display:flex;position:relative}.sXV0EG_modelField:focus-within{outline:2px solid var(--dsw-alias-brand-primary);outline-offset:-2px}.sXV0EG_modelField .sXV0EG_modelInput{background:0 0;border:0;border-radius:0}.sXV0EG_modelField .sXV0EG_modelInput:focus-visible{outline:none}.sXV0EG_modelMenuButton{width:24px;height:24px;color:var(--dsw-alias-label-caption);cursor:pointer;background:0 0;border:0;border-radius:6px;flex:none;justify-content:center;align-items:center;margin-right:4px;display:flex}.sXV0EG_modelMenuButton:hover:not(:disabled){background:var(--dsw-alias-interactive-bg-hover)}.sXV0EG_modelMenuButton:disabled{opacity:.5;cursor:default}.sXV0EG_modelMenuChevron{transition:transform .16s}.sXV0EG_modelMenuChevronOpen{transform:rotate(180deg)}.sXV0EG_modelMenu{z-index:10;border:1px solid var(--dsw-alias-border-l2-darkmode-thin,var(--dsw-alias-border-l2));background:var(--dsw-specific-menu,var(--dsw-alias-bg-layer-2,var(--dsw-alias-bg-layer-1,#fff)));min-width:160px;max-height:240px;backdrop-filter:var(--dsw-menu-backdrop-filter,blur(20px));box-shadow:var(--dsw-elevation-prominent,var(--dsw-shadow-lv3,0 0 1px 0 #0003, 0 0 4px 0 #00000005, 0 12px 32px 0 #00000014));border-radius:12px;flex-direction:column;padding:4px;display:flex;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow-y:auto}.sXV0EG_modelMenuUp{top:auto;bottom:calc(100% + 6px)}.sXV0EG_modelItem,.sXV0EG_modelItemCurrent,.sXV0EG_modelItemDefault{color:var(--dsw-alias-label-primary);text-align:left;white-space:nowrap;cursor:pointer;background:0 0;border:none;border-radius:8px;align-items:center;gap:8px;padding:6px 10px;font-size:12px;line-height:18px;display:flex;overflow:hidden}.sXV0EG_modelItem:hover,.sXV0EG_modelItemCurrent:hover,.sXV0EG_modelItemDefault:hover{background:var(--dsw-alias-interactive-bg-hover)}.sXV0EG_modelItemCurrent{font-weight:560}.sXV0EG_modelItemLabel{text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.sXV0EG_modelItemCheck{text-align:center;width:14px;color:var(--dsw-alias-label-secondary);flex:none}.sXV0EG_modelItemDefault{color:var(--dsw-alias-label-secondary);box-shadow:0 1px 0 var(--dsw-alias-border-l2);border-radius:8px 8px 0 0;margin-bottom:2px;padding-bottom:7px}.sXV0EG_modelSave{appearance:none;font:inherit;border:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-layer-3);color:var(--dsw-alias-label-primary);cursor:pointer;border-radius:8px;flex:none;padding:5px 10px;font-size:13px;line-height:1.4}.sXV0EG_modelSave:hover:not(:disabled){border-color:var(--dsw-alias-label-dimmed)}.sXV0EG_modelSave:disabled{opacity:.5;cursor:default}";
561
+ const css = ".oWITGW_card{border:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-layer-3);border-radius:12px;list-style:none;transition:border-color .16s,background .16s}.oWITGW_card:hover{border-color:var(--dsw-alias-label-dimmed)}.oWITGW_cardOpen{background:var(--dsw-alias-bg-layer-2);border-color:var(--dsw-alias-label-dimmed)}.oWITGW_header{appearance:none;width:100%;font:inherit;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:12px;align-items:center;gap:12px;padding:14px 16px;display:flex}.oWITGW_header:focus-visible{outline:2px solid var(--dsw-alias-brand-primary);outline-offset:-2px}.oWITGW_headText{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.oWITGW_nameRow{align-items:center;gap:6px;display:flex}.oWITGW_name{color:var(--dsw-alias-label-primary);font-size:15px;font-weight:600;line-height:1.4}.oWITGW_description{color:var(--dsw-alias-label-tertiary);font-size:13px;line-height:1.5}.oWITGW_chevron{color:var(--dsw-alias-label-tertiary);flex:none;transition:transform .16s}.oWITGW_chevronOpen{transform:rotate(180deg)}.oWITGW_body{border-top:1px solid var(--dsw-alias-border-l2);flex-direction:column;gap:14px;margin:0 16px;padding:12px 0 8px;display:flex}.oWITGW_block{flex-direction:column;gap:10px;display:flex}.oWITGW_blockTitle{color:var(--dsw-alias-label-primary);align-items:center;gap:6px;margin:0;font-size:13px;font-weight:500;line-height:1.4;display:flex}.oWITGW_info{appearance:none;color:var(--dsw-alias-label-tertiary);cursor:help;background:0 0;border:0;border-radius:50%;padding:0 2px;font-size:12px;line-height:1}.oWITGW_info:hover,.oWITGW_info:focus-visible{color:var(--dsw-alias-label-primary)}.oWITGW_row{align-items:center;gap:12px;display:flex}.oWITGW_rowLabel{color:var(--dsw-alias-label-primary);align-items:center;gap:4px;font-size:13px;line-height:1.4;display:inline-flex}.oWITGW_switch{border:1px solid color-mix(in srgb, currentColor 30%, transparent);background:color-mix(in srgb, currentColor 12%, transparent);cursor:pointer;width:2.25rem;height:1.25rem;color:var(--dsw-alias-label-primary);border-radius:999px;flex:none;align-self:center;padding:.125rem;transition:background .12s}.oWITGW_switch:disabled{opacity:.5;cursor:default}.oWITGW_switchOn{background:color-mix(in srgb, var(--dsh-accent,#4f8cff) 70%, transparent)}.oWITGW_knob{background:var(--dsh-surface,#fff);border-radius:999px;width:.9375rem;height:.9375rem;transition:transform .12s;display:block}.oWITGW_switchOn .oWITGW_knob{transform:translate(.9375rem)}.oWITGW_saved{color:var(--dsw-alias-state-success-primary);font-size:12px}.oWITGW_errorText{color:var(--dsw-alias-state-error-primary);font-size:12px}.oWITGW_hint{color:var(--dsw-alias-label-tertiary);font-size:12px;line-height:1.5}.oWITGW_modelInput{min-width:0;font:inherit;border:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-layer-3);color:var(--dsw-alias-label-primary);border-radius:8px;flex:1;padding:5px 8px;font-size:13px;line-height:1.4}.oWITGW_modelInput::placeholder{color:var(--dsw-alias-label-caption);opacity:1}.oWITGW_modelInput:focus-visible{outline:2px solid var(--dsw-alias-brand-primary);outline-offset:-2px}.oWITGW_modelInput:disabled{opacity:.5}.oWITGW_modelField{border:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-layer-3);border-radius:8px;flex:1;align-items:center;min-width:0;display:flex;position:relative}.oWITGW_modelField:focus-within{outline:2px solid var(--dsw-alias-brand-primary);outline-offset:-2px}.oWITGW_modelField .oWITGW_modelInput{background:0 0;border:0;border-radius:0}.oWITGW_modelField .oWITGW_modelInput:focus-visible{outline:none}.oWITGW_modelMenuButton{width:24px;height:24px;color:var(--dsw-alias-label-caption);cursor:pointer;background:0 0;border:0;border-radius:6px;flex:none;justify-content:center;align-items:center;margin-right:4px;display:flex}.oWITGW_modelMenuButton:hover:not(:disabled){background:var(--dsw-alias-interactive-bg-hover)}.oWITGW_modelMenuButton:disabled{opacity:.5;cursor:default}.oWITGW_modelMenuChevron{transition:transform .16s}.oWITGW_modelMenuChevronOpen{transform:rotate(180deg)}.oWITGW_modelMenu{z-index:10;border:1px solid var(--dsw-alias-border-l2-darkmode-thin,var(--dsw-alias-border-l2));background:var(--dsw-specific-menu,var(--dsw-alias-bg-layer-2,var(--dsw-alias-bg-layer-1,#fff)));min-width:160px;max-height:240px;backdrop-filter:var(--dsw-menu-backdrop-filter,blur(20px));box-shadow:var(--dsw-elevation-prominent,var(--dsw-shadow-lv3,0 0 1px 0 #0003, 0 0 4px 0 #00000005, 0 12px 32px 0 #00000014));border-radius:12px;flex-direction:column;padding:4px;display:flex;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow-y:auto}.oWITGW_modelMenuUp{top:auto;bottom:calc(100% + 6px)}.oWITGW_modelItem,.oWITGW_modelItemCurrent,.oWITGW_modelItemDefault{color:var(--dsw-alias-label-primary);text-align:left;white-space:nowrap;cursor:pointer;background:0 0;border:none;border-radius:8px;align-items:center;gap:8px;padding:6px 10px;font-size:12px;line-height:18px;display:flex;overflow:hidden}.oWITGW_modelItem:hover,.oWITGW_modelItemCurrent:hover,.oWITGW_modelItemDefault:hover{background:var(--dsw-alias-interactive-bg-hover)}.oWITGW_modelItemCurrent{font-weight:560}.oWITGW_modelItemLabel{text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.oWITGW_modelItemCheck{text-align:center;width:14px;color:var(--dsw-alias-label-secondary);flex:none}.oWITGW_modelItemDefault{color:var(--dsw-alias-label-secondary);box-shadow:0 1px 0 var(--dsw-alias-border-l2);border-radius:8px 8px 0 0;margin-bottom:2px;padding-bottom:7px}.oWITGW_modelSave{appearance:none;font:inherit;border:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-layer-3);color:var(--dsw-alias-label-primary);cursor:pointer;border-radius:8px;flex:none;padding:5px 10px;font-size:13px;line-height:1.4}.oWITGW_modelSave:hover:not(:disabled){border-color:var(--dsw-alias-label-dimmed)}.oWITGW_modelSave:disabled{opacity:.5;cursor:default}";
562
562
  const tagId = "@khorsheed/dsh-local-agent-codex/SettingsCard.module.css";
563
563
  if (typeof document !== "undefined" && document.querySelector("style[data-plugin-css=" + JSON.stringify(tagId) + "]") === null) {
564
564
  const tag = document.createElement("style");
@@ -568,40 +568,40 @@ window.__ModuleLoader__.load({
568
568
  document.head.appendChild(tag);
569
569
  }
570
570
  var SettingsCard_module_css_default = {
571
- "switch": "sXV0EG_switch",
572
- "saved": "sXV0EG_saved",
573
- "card": "sXV0EG_card",
574
- "cardOpen": "sXV0EG_cardOpen",
575
- "hint": "sXV0EG_hint",
576
- "modelMenuChevronOpen": "sXV0EG_modelMenuChevronOpen",
577
- "rowLabel": "sXV0EG_rowLabel",
578
- "modelField": "sXV0EG_modelField",
579
- "modelMenu": "sXV0EG_modelMenu",
580
- "nameRow": "sXV0EG_nameRow",
581
- "modelInput": "sXV0EG_modelInput",
582
- "row": "sXV0EG_row",
583
- "switchOn": "sXV0EG_switchOn",
584
- "modelItemDefault": "sXV0EG_modelItemDefault",
585
- "modelSave": "sXV0EG_modelSave",
586
- "header": "sXV0EG_header",
587
- "modelItemCheck": "sXV0EG_modelItemCheck",
588
- "modelItemLabel": "sXV0EG_modelItemLabel",
589
- "modelMenuButton": "sXV0EG_modelMenuButton",
590
- "modelMenuUp": "sXV0EG_modelMenuUp",
591
- "modelItem": "sXV0EG_modelItem",
592
- "modelItemCurrent": "sXV0EG_modelItemCurrent",
593
- "description": "sXV0EG_description",
594
- "body": "sXV0EG_body",
595
- "knob": "sXV0EG_knob",
596
- "headText": "sXV0EG_headText",
597
- "blockTitle": "sXV0EG_blockTitle",
598
- "chevron": "sXV0EG_chevron",
599
- "modelMenuChevron": "sXV0EG_modelMenuChevron",
600
- "chevronOpen": "sXV0EG_chevronOpen",
601
- "info": "sXV0EG_info",
602
- "errorText": "sXV0EG_errorText",
603
- "name": "sXV0EG_name",
604
- "block": "sXV0EG_block"
571
+ "rowLabel": "oWITGW_rowLabel",
572
+ "modelField": "oWITGW_modelField",
573
+ "modelMenuChevron": "oWITGW_modelMenuChevron",
574
+ "saved": "oWITGW_saved",
575
+ "modelItemCheck": "oWITGW_modelItemCheck",
576
+ "modelItemCurrent": "oWITGW_modelItemCurrent",
577
+ "info": "oWITGW_info",
578
+ "cardOpen": "oWITGW_cardOpen",
579
+ "body": "oWITGW_body",
580
+ "description": "oWITGW_description",
581
+ "chevronOpen": "oWITGW_chevronOpen",
582
+ "modelMenuUp": "oWITGW_modelMenuUp",
583
+ "modelItemLabel": "oWITGW_modelItemLabel",
584
+ "hint": "oWITGW_hint",
585
+ "nameRow": "oWITGW_nameRow",
586
+ "header": "oWITGW_header",
587
+ "errorText": "oWITGW_errorText",
588
+ "switch": "oWITGW_switch",
589
+ "modelItem": "oWITGW_modelItem",
590
+ "modelMenuButton": "oWITGW_modelMenuButton",
591
+ "modelMenu": "oWITGW_modelMenu",
592
+ "block": "oWITGW_block",
593
+ "headText": "oWITGW_headText",
594
+ "name": "oWITGW_name",
595
+ "chevron": "oWITGW_chevron",
596
+ "blockTitle": "oWITGW_blockTitle",
597
+ "knob": "oWITGW_knob",
598
+ "modelInput": "oWITGW_modelInput",
599
+ "modelSave": "oWITGW_modelSave",
600
+ "modelItemDefault": "oWITGW_modelItemDefault",
601
+ "modelMenuChevronOpen": "oWITGW_modelMenuChevronOpen",
602
+ "row": "oWITGW_row",
603
+ "card": "oWITGW_card",
604
+ "switchOn": "oWITGW_switchOn"
605
605
  };
606
606
  //#endregion
607
607
  //#region src/client/SettingsCard.tsx
package/package.json CHANGED
@@ -8,7 +8,7 @@
8
8
  "local-agent",
9
9
  "codex"
10
10
  ],
11
- "version": "0.1.0-rc.7",
11
+ "version": "0.1.0-rc.8",
12
12
  "type": "module",
13
13
  "main": "lib/index.js",
14
14
  "types": "lib/types/index.d.ts",
@@ -65,23 +65,23 @@
65
65
  ],
66
66
  "license": "MIT",
67
67
  "dependencies": {
68
- "@khorsheed/dsh-local-agent": "^0.1.0-rc.7",
69
- "@khorsheed/dsh-local-agent-tool-subagent": "^0.1.0-rc.7"
68
+ "@khorsheed/dsh-local-agent": "^0.1.0-rc.8",
69
+ "@khorsheed/dsh-local-agent-tool-subagent": "^0.1.0-rc.8"
70
70
  },
71
71
  "peerDependencies": {
72
72
  "@deepseek-ai/cordis": "^4.0.1",
73
- "@deepseek-ai/dsh-api-remotes": "^0.1.0-rc.6",
74
- "@deepseek-ai/dsh-client-locale": "^0.1.0-rc.6",
75
- "@deepseek-ai/dsh-client-ui-primitives": "^0.1.0-rc.6",
76
- "@deepseek-ai/dsh-client-ui-settings": "^0.1.0-rc.6",
77
- "@deepseek-ai/dsh-client-ui-slots": "^0.1.0-rc.6",
78
- "@deepseek-ai/dsh-commands": "^0.1.0-rc.8",
79
- "@deepseek-ai/dsh-invariants": "^0.1.0-rc.6",
80
- "@deepseek-ai/dsh-llm": "^0.1.0-rc.6",
81
- "@deepseek-ai/dsh-session": "^0.1.0-rc.8",
82
- "@deepseek-ai/dsh-settings": "^0.1.0-rc.6",
83
- "@deepseek-ai/dsh-subagent": "^0.1.0-rc.6",
84
- "@deepseek-ai/dsh-subprocess": "^0.1.0-rc.6",
73
+ "@deepseek-ai/dsh-api-remotes": "^0.1.0-rc.6 || ^0.2.0-rc.1",
74
+ "@deepseek-ai/dsh-client-locale": "^0.1.0-rc.6 || ^0.2.0-rc.1",
75
+ "@deepseek-ai/dsh-client-ui-primitives": "^0.1.0-rc.6 || ^0.2.0-rc.1",
76
+ "@deepseek-ai/dsh-client-ui-settings": "^0.1.0-rc.6 || ^0.2.0-rc.1",
77
+ "@deepseek-ai/dsh-client-ui-slots": "^0.1.0-rc.6 || ^0.2.0-rc.1",
78
+ "@deepseek-ai/dsh-commands": "^0.1.0-rc.8 || ^0.2.0-rc.1",
79
+ "@deepseek-ai/dsh-invariants": "^0.1.0-rc.6 || ^0.2.0-rc.1",
80
+ "@deepseek-ai/dsh-llm": "^0.1.0-rc.6 || ^0.2.0-rc.1",
81
+ "@deepseek-ai/dsh-session": "^0.1.0-rc.8 || ^0.2.0-rc.1",
82
+ "@deepseek-ai/dsh-settings": "^0.1.0-rc.6 || ^0.2.0-rc.1",
83
+ "@deepseek-ai/dsh-subagent": "^0.1.0-rc.6 || ^0.2.0-rc.1",
84
+ "@deepseek-ai/dsh-subprocess": "^0.1.0-rc.6 || ^0.2.0-rc.1",
85
85
  "react": "^18.2.0"
86
86
  },
87
87
  "peerDependenciesMeta": {