dsh-edge 0.1.1 → 0.1.3
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.i18n.yaml +2 -2
- package/README.md +4 -4
- package/README.zh.md +4 -4
- package/THIRD_PARTY_NOTICES.md +2 -2
- package/dist/index.html +1 -1
- package/dist/plugins/@deepseek-ai/dsh-client-locale/client.js +4 -4
- package/dist/plugins/@deepseek-ai/dsh-client-ui-agent-preset/client.js +35 -35
- package/dist/plugins/@deepseek-ai/dsh-client-ui-commands/client.js +8 -8
- package/dist/plugins/@deepseek-ai/dsh-client-ui-conversation/client.js +164 -164
- package/dist/plugins/@deepseek-ai/dsh-client-ui-deliverables/client.js +6 -6
- package/dist/plugins/@deepseek-ai/dsh-client-ui-input-trigger/client.js +7 -7
- package/dist/plugins/@deepseek-ai/dsh-client-ui-jobs/client.js +9 -9
- package/dist/plugins/@deepseek-ai/dsh-client-ui-layout/client.js +4 -4
- package/dist/plugins/@deepseek-ai/dsh-client-ui-model-selection/client.js +20 -20
- package/dist/plugins/@deepseek-ai/dsh-client-ui-permission-presets/client.js +3 -3
- package/dist/plugins/@deepseek-ai/dsh-client-ui-settings-general/client.js +15 -15
- package/dist/plugins/@deepseek-ai/dsh-client-ui-sidebar/client.js +13 -13
- package/dist/plugins/@deepseek-ai/dsh-client-ui-skill/client.js +11 -11
- package/dist/plugins/@deepseek-ai/dsh-client-ui-subagent/client.js +17 -17
- package/dist/plugins/@deepseek-ai/dsh-client-ui-theme/client.js +4 -4
- package/dist/plugins/@deepseek-ai/dsh-client-ui-tool/client.js +37 -37
- package/dist/plugins/@deepseek-ai/dsh-client-ui-trajectory/client.js +142 -142
- package/dist/plugins/@deepseek-ai/dsh-client-ui-user-questions/client.js +26 -26
- package/dist/plugins/@deepseek-ai/dsh-client-ui-workflow-run/client.js +14 -14
- package/dist/plugins/@deepseek-ai/dsh-client-ui-workspace/client.js +54 -54
- package/dist/plugins/dsh-edge-client-ui/client.js +5 -5
- package/package.json +18 -17
- package/scripts/bundle.mjs +41 -8
- package/scripts/cli.d.mts +1 -0
- package/scripts/cli.mjs +37 -6
- package/scripts/install.d.mts +6 -6
- package/scripts/install.mjs +36 -19
- package/scripts/smoke-installed.mjs +47 -0
- package/scripts/verify-packed.mjs +11 -2
- package/scripts/wrangler-config.d.mts +19 -2
- package/scripts/wrangler-config.mjs +68 -27
- package/worker/direct/index.js +2347 -0
- package/worker/isolated/index.js +44491 -0
- package/src/agent.ts +0 -119
- package/src/auth.ts +0 -352
- package/src/deepseek.ts +0 -231
- package/src/deployment.ts +0 -147
- package/src/direct-shell-core-empty.ts +0 -10
- package/src/direct-shell-protocol.ts +0 -5
- package/src/direct-shell.ts +0 -341
- package/src/do-session-persistence.ts +0 -1064
- package/src/edge-api.ts +0 -796
- package/src/edge-credentials.ts +0 -56
- package/src/edge-remotes.ts +0 -41
- package/src/edge-workspace-store.ts +0 -339
- package/src/http.ts +0 -212
- package/src/index.ts +0 -196
- package/src/instance.ts +0 -1007
- package/src/isolated-direct-shell-unavailable.ts +0 -11
- package/src/protocol.ts +0 -39
- package/src/release.ts +0 -9
- package/src/session-store.ts +0 -1110
- package/src/sse.ts +0 -86
- package/src/web-search.ts +0 -38
- package/src/workspace.ts +0 -270
package/README.i18n.yaml
CHANGED
|
@@ -2,5 +2,5 @@
|
|
|
2
2
|
# side as of the last confirmed-consistent state. Both languages carry equal authority;
|
|
3
3
|
# after editing either side, bring the other along and re-record with:
|
|
4
4
|
# pnpm run verify-translation-pairing --write apps/dsh-edge/README.md
|
|
5
|
-
README.md:
|
|
6
|
-
README.zh.md:
|
|
5
|
+
README.md: 4bd24a79960574545591302c66dad9586639373a
|
|
6
|
+
README.zh.md: 848255b552bb176e84aa9d73339ea81be46b3026
|
package/README.md
CHANGED
|
@@ -137,7 +137,7 @@ The top level of the committed `wrangler.jsonc` is the default direct target and
|
|
|
137
137
|
|
|
138
138
|
The same file also defines `env.isolated`, a complete Workers Paid target with the `LOADER` binding. The application code sees `LOADER` and chooses Computer's Worker Shell backend, so `/api/health` reports `just-bash-isolated` instead of `just-bash-direct`. Workers Paid is a Workers subscription starting at $5 per month, not the Cloudflare Pro website plan. Each Worker name has independent Durable Object storage and secrets, so install both modes under different names when both should remain live.
|
|
139
139
|
|
|
140
|
-
`wrangler.jsonc` remains the single canonical configuration for both modes.
|
|
140
|
+
`wrangler.jsonc` remains the single canonical configuration for both modes. Release packaging builds one tested, minified Worker artifact per mode from the workspace sources. Direct mode replaces only Computer's unreachable Dynamic Worker shell-core module at build time; the Computer workspace adapter and command exports remain the upstream implementations. Isolated mode preserves that shell core but replaces the unreachable Direct backend with a fail-closed module, so each artifact carries only its selected command runtime. The published installer generates a private mode-specific configuration that points at the selected artifact and asks Wrangler to upload it with `no_bundle`; the user's machine does not rebuild dsh-edge or resolve the upstream Harness packages into a new Worker. CI starts the Direct artifact from an installed tarball and rejects it above a 900 KiB compressed budget, leaving headroom below the 1 MiB limit enforced by Cloudflare's anonymous temporary-account upload path.
|
|
141
141
|
|
|
142
142
|
Run the guided installer without cloning this repository:
|
|
143
143
|
|
|
@@ -153,9 +153,9 @@ pnpm dlx dsh-edge@latest upgrade
|
|
|
153
153
|
|
|
154
154
|
The installer asks for the runtime before the account. The recommended `Free — Direct Shell` mode works on Workers Free and can use a detected Cloudflare account, open Cloudflare sign-in or registration, or create a temporary account without login. `Isolated — Dynamic Worker` requires Workers Paid and therefore offers only a detected or newly authenticated account. Cloudflare does not expose a reliable local entitlement check for Worker Loader, so an isolated install lets Cloudflare authorize the upload and turns a rejection into a choice between enabling Workers Paid and using direct mode.
|
|
155
155
|
|
|
156
|
-
The remaining prompts select a Worker name, generate or accept the owner access key, collect the DeepSeek API key through hidden input, and show a final cost summary. A temporary-account install also asks the user to accept Cloudflare's Terms of Service and Privacy Policy explicitly. An existing Worker is never overwritten without confirmation. The installer passes both credentials through a mode-`0600` temporary secrets file and gives Wrangler only an allowlisted runtime environment plus the Cloudflare authentication selected for that command; unrelated ambient keys, tokens, passwords, secrets, and Node injection options do not reach the child. It removes the secret file after the command and discovers the resulting URL from Wrangler's structured output. It does not probe the public Worker after upload. Instead, it prints the URL, owner access key, and concrete next steps; a temporary account also receives a bearer claim URL that must be claimed within 60 minutes to retain the Worker and its data. If upload succeeds but output parsing, claim-URL extraction, interruption handling, or local cleanup prevents a normal handoff, a recovery card still prints the active owner key and any known URLs before the command exits unsuccessfully. The installation uploads directly through Wrangler and does not create or bind a GitHub repository, Cloudflare Builds project, or source-build pipeline.
|
|
156
|
+
The remaining prompts select a Worker name, generate or accept the owner access key, collect the DeepSeek API key through hidden input, and show a final cost summary. A temporary-account install also asks the user to accept Cloudflare's Terms of Service and Privacy Policy explicitly. An existing Worker is never overwritten without confirmation. The installer passes both credentials through a mode-`0600` temporary secrets file and gives Wrangler only an allowlisted runtime environment plus the Cloudflare authentication selected for that command; unrelated ambient keys, tokens, passwords, secrets, and Node injection options do not reach the child. It removes the secret file after the command and discovers the resulting URL from Wrangler's structured output. Deployment output is hidden behind one progress indicator by default; add `--verbose` to either command to inspect Wrangler diagnostics. It does not probe the public Worker after upload. Instead, it prints the URL, owner access key, and concrete next steps; a temporary account also receives a bearer claim URL that must be claimed within 60 minutes to retain the Worker and its data. A rejected upload is reported as not installed and, when Wrangler created a temporary account first, still prints its claim URL without presenting the unused owner key as active. If upload succeeds but output parsing, claim-URL extraction, interruption handling, or local cleanup prevents a normal handoff, a recovery card still prints the active owner key and any known URLs before the command exits unsuccessfully. The installation uploads directly through Wrangler and does not create or bind a GitHub repository, Cloudflare Builds project, or source-build pipeline.
|
|
157
157
|
|
|
158
|
-
Contributors working from a checkout can reproduce the two
|
|
158
|
+
Contributors working from a checkout can reproduce the two release artifacts locally with `pnpm --filter dsh-edge bundle:direct` and `pnpm --filter dsh-edge bundle:isolated`. The first command also enforces the compressed-size budget.
|
|
159
159
|
|
|
160
160
|
Contributors can replay the complete Free temporary-account journey without a key or network call. This example runs the shipped bin, real prompts, Wrangler subprocess, structured deployment-output parsing, and final handoff while replacing only the external Cloudflare command:
|
|
161
161
|
|
|
@@ -169,7 +169,7 @@ pnpm --filter dsh-edge example:install
|
|
|
169
169
|
- `GET /login` renders the Edge-owned owner form; `POST /api/auth/login` exchanges the configured access key for a signed cookie, `GET /api/auth/session` reports cookie validity, and `POST /api/auth/logout` clears it.
|
|
170
170
|
- `GET /api/events.mux` and `GET /api/events.host` upgrade to the upstream downlink WebSockets. The Durable Object serializes each socket's channel and verified owner-session expiry as its hibernation attachment, closes it at that expiry through an alarm, and reconstructs canonical sessions plus retained blank headers from Durable Object SQL. The mux stream publishes a complete `session/queue` snapshot after each committed inbox splice and sends pending live inbox baselines when a client reconnects.
|
|
171
171
|
- `POST /api/commands/list` implements the upstream generated-Remote envelope with an empty catalog because the Edge preset registers no human commands.
|
|
172
|
-
- `GET /api/health` returns the public
|
|
172
|
+
- `GET /api/health` returns the public package-and-mode release identifier and validates owner authentication, the deployment-scoped DeepSeek credential, model and transport choices, and the command-timeout policy before reporting the runtime components as ready. It does not call the provider, Durable Object, VFS, or shell.
|
|
173
173
|
- `PUT /api/workspace/file?path=/workspace/...` writes a UTF-8 file.
|
|
174
174
|
- `GET /api/workspace/file?path=/workspace/...` reads a UTF-8 file.
|
|
175
175
|
- `DELETE /api/workspace/file?path=/workspace/...` removes a file.
|
package/README.zh.md
CHANGED
|
@@ -137,7 +137,7 @@ Cloudflare static assets -> upstream Web shell + client plugin graph
|
|
|
137
137
|
|
|
138
138
|
同一文件还定义了 `env.isolated`,这是包含 `LOADER` binding 的完整 Workers Paid 目标。应用代码会发现 `LOADER` 并选择 Computer 的 Worker Shell backend,因此 `/api/health` 会报告 `just-bash-isolated`,而不是 `just-bash-direct`。Workers Paid 是每月 5 美元起的 Workers 订阅,并非 Cloudflare Pro 网站套餐。不同 Worker 名称分别拥有独立的 Durable Object storage 与 secret;如果需要让两种模式同时在线,请使用不同名称分别安装。
|
|
139
139
|
|
|
140
|
-
`wrangler.jsonc` 仍然是两种模式唯一的 canonical configuration
|
|
140
|
+
`wrangler.jsonc` 仍然是两种模式唯一的 canonical configuration。发布打包会从 workspace 源码为每种模式构建一个经过测试、已 minify 的 Worker artifact。Direct 模式只在构建时替换 Computer 中不可达的 Dynamic Worker shell-core module;Computer workspace adapter 与 command export 仍使用上游实现。Isolated 模式保留该 shell core,但把不可达的 Direct backend 替换成 fail-closed module,因此每个 artifact 都只携带所选 command runtime。发布的安装器会生成私有的 mode-specific configuration,指向所选 artifact,并要求 Wrangler 使用 `no_bundle` 上传;用户机器不会重新构建 dsh-edge,也不会把上游 Harness package 解析进一个新的 Worker。CI 会从已安装的 tarball 启动 Direct artifact,并拒绝压缩后超过 900 KiB 的产物,从而在 Cloudflare 匿名临时账户上传路径强制执行的 1 MiB 上限下保留余量。
|
|
141
141
|
|
|
142
142
|
无需克隆仓库即可运行引导式安装器:
|
|
143
143
|
|
|
@@ -153,9 +153,9 @@ pnpm dlx dsh-edge@latest upgrade
|
|
|
153
153
|
|
|
154
154
|
安装器会先询问运行时,再询问账户。推荐的 `Free — Direct Shell` 模式可在 Workers Free 上运行,并可使用检测到的 Cloudflare 账户、打开 Cloudflare 登录或注册,也可在不登录的情况下创建临时账户。`Isolated — Dynamic Worker` 需要 Workers Paid,因此只提供已检测到或新认证的账户。Cloudflare 没有提供可靠的本地 Worker Loader entitlement 检查;isolated 安装会由 Cloudflare 对上传进行授权,并在被拒绝时提示启用 Workers Paid 或改用 direct 模式。
|
|
155
155
|
|
|
156
|
-
后续提示会选择 Worker 名称、生成或接收 owner access key、通过隐藏输入收集 DeepSeek API key,并显示最终费用摘要。临时账户安装还会要求用户明确接受 Cloudflare 服务条款与隐私政策。安装器绝不会在未经确认时覆盖现有 Worker。两项 credential 会通过权限模式为 `0600` 的临时 secret 文件传给 Wrangler;Wrangler 子进程只会收到 allowlist 内的运行时环境变量和当前命令选中的 Cloudflare authentication,其他 ambient key、token、password、secret 与 Node 注入选项不会进入子进程。命令结束后临时 secret 文件会被删除,安装器从 Wrangler 结构化输出中取得最终 URL
|
|
156
|
+
后续提示会选择 Worker 名称、生成或接收 owner access key、通过隐藏输入收集 DeepSeek API key,并显示最终费用摘要。临时账户安装还会要求用户明确接受 Cloudflare 服务条款与隐私政策。安装器绝不会在未经确认时覆盖现有 Worker。两项 credential 会通过权限模式为 `0600` 的临时 secret 文件传给 Wrangler;Wrangler 子进程只会收到 allowlist 内的运行时环境变量和当前命令选中的 Cloudflare authentication,其他 ambient key、token、password、secret 与 Node 注入选项不会进入子进程。命令结束后临时 secret 文件会被删除,安装器从 Wrangler 结构化输出中取得最终 URL。默认情况下,部署输出会收敛到一个进度提示;在任一命令后添加 `--verbose` 可以查看 Wrangler 诊断。上传后它不会探测公开 Worker,而是直接输出 URL、owner access key 与明确的下一步;临时账户还会收到一个 bearer claim URL,必须在 60 分钟内认领才能保留 Worker 及其数据。上传被拒绝时,安装器会明确报告未安装;如果 Wrangler 已经创建临时账户,仍会输出其 claim URL,但不会把尚未生效的 owner key 显示为 active。如果上传成功,但输出解析、claim URL 提取、中断处理或本地清理导致正常交接无法完成,命令仍会在按失败退出前通过恢复卡片输出已生效的 owner key 与当时已知的 URL。安装过程直接通过 Wrangler 上传,不会创建或绑定 GitHub 仓库、Cloudflare Builds 项目或源码构建流水线。
|
|
157
157
|
|
|
158
|
-
从 checkout 开发的贡献者可以用 `pnpm --filter dsh-edge bundle:direct` 和 `pnpm --filter dsh-edge bundle:isolated`
|
|
158
|
+
从 checkout 开发的贡献者可以用 `pnpm --filter dsh-edge bundle:direct` 和 `pnpm --filter dsh-edge bundle:isolated` 在本地复现两种 release artifact。第一条命令还会执行压缩体积预算检查。
|
|
159
159
|
|
|
160
160
|
贡献者可以在没有 key 且不发起网络请求的情况下重放完整的 Free 临时账户流程。这个 example 会运行实际交付的 bin、真实 prompt、Wrangler 子进程、结构化部署输出解析与最终交接,只替换外部 Cloudflare command:
|
|
161
161
|
|
|
@@ -169,7 +169,7 @@ pnpm --filter dsh-edge example:install
|
|
|
169
169
|
- `GET /login` 渲染 Edge 持有的 owner form;`POST /api/auth/login` 用已配置的 access key 换取 signed cookie,`GET /api/auth/session` 报告 cookie 是否有效,`POST /api/auth/logout` 清除 cookie。
|
|
170
170
|
- `GET /api/events.mux` 和 `GET /api/events.host` 会升级为上游 downlink WebSocket。Durable Object 会把每个 socket 的 channel 与已验证 owner session 过期时间序列化为 hibernation attachment,通过 alarm 在该时间关闭连接,并从 Durable Object SQL 重建 canonical session 与 retained blank header。每次 inbox splice 提交后,mux stream 都会发布完整的 `session/queue` snapshot;客户端重连时还会发送 live inbox 的待处理 baseline。
|
|
171
171
|
- `POST /api/commands/list` 使用上游 generated-Remote envelope 返回空 catalog,因为 Edge preset 没有注册 human command。
|
|
172
|
-
- `GET /api/health`
|
|
172
|
+
- `GET /api/health` 会返回公开的 package-and-mode release identifier,并先验证 owner authentication、部署级 DeepSeek 凭据、模型与传输配置,以及命令超时策略,再报告运行时组件已就绪。它不会调用提供方、Durable Object、VFS 或 shell。
|
|
173
173
|
- `PUT /api/workspace/file?path=/workspace/...` 写入 UTF-8 文件。
|
|
174
174
|
- `GET /api/workspace/file?path=/workspace/...` 读取 UTF-8 文件。
|
|
175
175
|
- `DELETE /api/workspace/file?path=/workspace/...` 删除文件。
|
package/THIRD_PARTY_NOTICES.md
CHANGED
|
@@ -64,7 +64,6 @@ External packages that a workspace package resolves at runtime. The tier covers
|
|
|
64
64
|
| [`@anthropic-ai/sdk`](https://github.com/anthropics/anthropic-sdk-typescript) | MIT |
|
|
65
65
|
| [`@babel/code-frame`](https://github.com/babel/babel) | MIT |
|
|
66
66
|
| [`@clack/prompts`](https://github.com/bombshell-dev/clack) | MIT |
|
|
67
|
-
| [`@cloudflare/computer`](https://github.com/cloudflare/computer) | MIT |
|
|
68
67
|
| [`@earendil-works/pi-ai`](https://github.com/earendil-works/pi) | MIT |
|
|
69
68
|
| [`@joplin/turndown-plugin-gfm`](https://github.com/laurent22/joplin-turndown-plugin-gfm) | MIT |
|
|
70
69
|
| [`@jridgewell/gen-mapping`](https://github.com/jridgewell/sourcemaps) | MIT |
|
|
@@ -93,7 +92,6 @@ External packages that a workspace package resolves at runtime. The tier covers
|
|
|
93
92
|
| [`immer`](https://github.com/immerjs/immer) | MIT |
|
|
94
93
|
| [`js-yaml`](https://github.com/nodeca/js-yaml) | MIT |
|
|
95
94
|
| [`jsonc-parser`](https://github.com/microsoft/node-jsonc-parser) | MIT |
|
|
96
|
-
| [`just-bash`](https://github.com/vercel-labs/just-bash) | Apache-2.0 |
|
|
97
95
|
| [`katex`](https://github.com/KaTeX/KaTeX) | MIT |
|
|
98
96
|
| [`koffi`](https://github.com/Koromix/koffi) | MIT |
|
|
99
97
|
| [`mdast-util-from-markdown`](https://github.com/syntax-tree/mdast-util-from-markdown) | MIT |
|
|
@@ -155,6 +153,7 @@ External packages **directly declared** only by repository tooling, test infrast
|
|
|
155
153
|
| Package | License |
|
|
156
154
|
| --- | --- |
|
|
157
155
|
| [`@braintree/sanitize-url`](https://github.com/braintree/sanitize-url) | MIT |
|
|
156
|
+
| [`@cloudflare/computer`](https://github.com/cloudflare/computer) | MIT |
|
|
158
157
|
| [`@cloudflare/workers-types`](https://github.com/cloudflare/workerd) | MIT OR Apache-2.0 |
|
|
159
158
|
| [`@modelcontextprotocol/server-everything`](https://github.com/modelcontextprotocol/servers) | MIT / Apache-2.0 |
|
|
160
159
|
| [`@modelcontextprotocol/server-filesystem`](https://github.com/modelcontextprotocol/servers) | MIT / Apache-2.0 |
|
|
@@ -185,6 +184,7 @@ External packages **directly declared** only by repository tooling, test infrast
|
|
|
185
184
|
| [`istanbul-lib-report`](https://github.com/istanbuljs/istanbuljs) | BSD-3-Clause |
|
|
186
185
|
| [`jscpd`](https://github.com/kucherenko/jscpd) | MIT |
|
|
187
186
|
| [`jsdom`](https://github.com/jsdom/jsdom) | MIT |
|
|
187
|
+
| [`just-bash`](https://github.com/vercel-labs/just-bash) | Apache-2.0 |
|
|
188
188
|
| [`knip`](https://github.com/webpro-nl/knip) | ISC |
|
|
189
189
|
| [`lefthook`](https://github.com/evilmartians/lefthook) | MIT |
|
|
190
190
|
| [`lightningcss`](https://github.com/parcel-bundler/lightningcss) | MPL-2.0 |
|
package/dist/index.html
CHANGED
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
}
|
|
19
19
|
return response
|
|
20
20
|
}
|
|
21
|
-
})()</script><script>window.__DSH_BOOT__ = {"rev":"
|
|
21
|
+
})()</script><script>window.__DSH_BOOT__ = {"rev":"f18475191378","entries":[{"id":"@deepseek-ai/dsh-typert-registry","url":"/plugins/@deepseek-ai/dsh-typert-registry/client.js?rev=f41d56e0b747","rev":"f41d56e0b747","inject":[],"immediately":true},{"id":"@deepseek-ai/dsh-api-gateway","url":"/plugins/@deepseek-ai/dsh-api-gateway/client.js?rev=9e83e9d9c076","rev":"9e83e9d9c076","inject":["@deepseek-ai/dsh-typert-registry","@deepseek-ai/dsh-client-connection"],"immediately":true},{"id":"@deepseek-ai/dsh-client-modules","url":"/plugins/@deepseek-ai/dsh-client-modules/client.js?rev=c3a65f7f440a","rev":"c3a65f7f440a","inject":[],"immediately":true},{"id":"@deepseek-ai/dsh-client-connection","url":"/plugins/@deepseek-ai/dsh-client-connection/client.js?rev=e4774927550c","rev":"e4774927550c","inject":[],"immediately":true},{"id":"@deepseek-ai/dsh-api-remotes","url":"/plugins/@deepseek-ai/dsh-api-remotes/client.js?rev=e17dd6016653","rev":"e17dd6016653","inject":["@deepseek-ai/dsh-api-gateway"],"immediately":true},{"id":"@deepseek-ai/dsh-client-runtime","url":"/plugins/@deepseek-ai/dsh-client-runtime/client.js?rev=6a4a3bdb1227","rev":"6a4a3bdb1227","inject":["@deepseek-ai/dsh-client-connection","@deepseek-ai/dsh-typert-registry","@deepseek-ai/dsh-api-remotes"],"immediately":true},{"id":"@deepseek-ai/dsh-client-ui-theme","url":"/plugins/@deepseek-ai/dsh-client-ui-theme/client.js?rev=f1cbb1fd7d2e","rev":"f1cbb1fd7d2e","inject":["@deepseek-ai/dsh-client-connection","@deepseek-ai/dsh-client-runtime","@deepseek-ai/dsh-client-locale","@deepseek-ai/dsh-client-ui-settings","@deepseek-ai/dsh-api-remotes"],"immediately":true},{"id":"@deepseek-ai/dsh-client-locale","url":"/plugins/@deepseek-ai/dsh-client-locale/client.js?rev=91998d0839f4","rev":"91998d0839f4","inject":["@deepseek-ai/dsh-client-connection","@deepseek-ai/dsh-client-runtime","@deepseek-ai/dsh-client-ui-settings","@deepseek-ai/dsh-api-remotes"],"immediately":true},{"id":"@deepseek-ai/dsh-client-ui-layout","url":"/plugins/@deepseek-ai/dsh-client-ui-layout/client.js?rev=f801d241f929","rev":"f801d241f929","inject":["@deepseek-ai/dsh-client-runtime","@deepseek-ai/dsh-client-ui-theme"]},{"id":"@deepseek-ai/dsh-client-ui-sidebar","url":"/plugins/@deepseek-ai/dsh-client-ui-sidebar/client.js?rev=b3efdeeea6b0","rev":"b3efdeeea6b0","inject":["@deepseek-ai/dsh-client-runtime","@deepseek-ai/dsh-client-ui-layout","@deepseek-ai/dsh-client-locale"]},{"id":"@deepseek-ai/dsh-client-ui-settings","url":"/plugins/@deepseek-ai/dsh-client-ui-settings/client.js?rev=09edeb10e0d0","rev":"09edeb10e0d0","inject":["@deepseek-ai/dsh-client-connection","@deepseek-ai/dsh-client-runtime","@deepseek-ai/dsh-api-remotes"]},{"id":"@deepseek-ai/dsh-client-ui-settings-general","url":"/plugins/@deepseek-ai/dsh-client-ui-settings-general/client.js?rev=78ada4cdd41d","rev":"78ada4cdd41d","inject":["@deepseek-ai/dsh-client-runtime","@deepseek-ai/dsh-client-ui-settings","@deepseek-ai/dsh-client-locale","@deepseek-ai/dsh-client-connection","@deepseek-ai/dsh-api-remotes","@deepseek-ai/dsh-client-ui-sidebar"]},{"id":"@deepseek-ai/dsh-client-ui-conversation","url":"/plugins/@deepseek-ai/dsh-client-ui-conversation/client.js?rev=aa44cb0d8306","rev":"aa44cb0d8306","inject":["@deepseek-ai/dsh-client-connection","@deepseek-ai/dsh-client-locale","@deepseek-ai/dsh-client-runtime","@deepseek-ai/dsh-client-ui-settings","@deepseek-ai/dsh-api-remotes","@deepseek-ai/dsh-client-ui-layout"]},{"id":"@deepseek-ai/dsh-client-ui-tool","url":"/plugins/@deepseek-ai/dsh-client-ui-tool/client.js?rev=2010ca7f6b0a","rev":"2010ca7f6b0a","inject":["@deepseek-ai/dsh-client-runtime","@deepseek-ai/dsh-client-locale","@deepseek-ai/dsh-client-ui-conversation"]},{"id":"@deepseek-ai/dsh-client-ui-workflow-run","url":"/plugins/@deepseek-ai/dsh-client-ui-workflow-run/client.js?rev=92680e2e1911","rev":"92680e2e1911","inject":["@deepseek-ai/dsh-client-locale","@deepseek-ai/dsh-client-runtime","@deepseek-ai/dsh-client-ui-conversation"]},{"id":"@deepseek-ai/dsh-client-ui-deliverables","url":"/plugins/@deepseek-ai/dsh-client-ui-deliverables/client.js?rev=f158d1377c1b","rev":"f158d1377c1b","inject":["@deepseek-ai/dsh-client-connection","@deepseek-ai/dsh-client-locale","@deepseek-ai/dsh-client-runtime","@deepseek-ai/dsh-client-ui-conversation"]},{"id":"@deepseek-ai/dsh-client-ui-workspace","url":"/plugins/@deepseek-ai/dsh-client-ui-workspace/client.js?rev=7a8acc3ee34e","rev":"7a8acc3ee34e","inject":["@deepseek-ai/dsh-client-locale","@deepseek-ai/dsh-client-runtime","@deepseek-ai/dsh-client-ui-conversation","@deepseek-ai/dsh-client-ui-sidebar"]},{"id":"@deepseek-ai/dsh-client-ui-input-trigger","url":"/plugins/@deepseek-ai/dsh-client-ui-input-trigger/client.js?rev=f950c406eec1","rev":"f950c406eec1","inject":["@deepseek-ai/dsh-client-runtime","@deepseek-ai/dsh-client-locale"]},{"id":"@deepseek-ai/dsh-client-ui-commands","url":"/plugins/@deepseek-ai/dsh-client-ui-commands/client.js?rev=115936ff0e5b","rev":"115936ff0e5b","inject":["@deepseek-ai/dsh-api-remotes","@deepseek-ai/dsh-client-runtime","@deepseek-ai/dsh-client-locale","@deepseek-ai/dsh-client-ui-input-trigger","@deepseek-ai/dsh-client-ui-conversation"]},{"id":"@deepseek-ai/dsh-client-ui-skill","url":"/plugins/@deepseek-ai/dsh-client-ui-skill/client.js?rev=c86167956025","rev":"c86167956025","inject":["@deepseek-ai/dsh-client-runtime","@deepseek-ai/dsh-client-locale","@deepseek-ai/dsh-client-ui-tool","@deepseek-ai/dsh-client-ui-input-trigger","@deepseek-ai/dsh-api-remotes"]},{"id":"@deepseek-ai/dsh-client-ui-subagent","url":"/plugins/@deepseek-ai/dsh-client-ui-subagent/client.js?rev=59cdd497df18","rev":"59cdd497df18","inject":["@deepseek-ai/dsh-client-locale","@deepseek-ai/dsh-client-runtime","@deepseek-ai/dsh-client-ui-conversation","@deepseek-ai/dsh-client-ui-primitives","@deepseek-ai/dsh-client-ui-input-trigger"]},{"id":"@deepseek-ai/dsh-client-ui-jobs","url":"/plugins/@deepseek-ai/dsh-client-ui-jobs/client.js?rev=fb10247df4cf","rev":"fb10247df4cf","inject":["@deepseek-ai/dsh-client-locale","@deepseek-ai/dsh-client-runtime","@deepseek-ai/dsh-client-ui-conversation","@deepseek-ai/dsh-client-ui-primitives"]},{"id":"@deepseek-ai/dsh-client-ui-model-selection","url":"/plugins/@deepseek-ai/dsh-client-ui-model-selection/client.js?rev=d477a028342e","rev":"d477a028342e","inject":["@deepseek-ai/dsh-client-locale","@deepseek-ai/dsh-client-runtime","@deepseek-ai/dsh-client-ui-commands","@deepseek-ai/dsh-api-remotes"]},{"id":"@deepseek-ai/dsh-client-ui-permission-presets","url":"/plugins/@deepseek-ai/dsh-client-ui-permission-presets/client.js?rev=94c39d4a0d97","rev":"94c39d4a0d97","inject":["@deepseek-ai/dsh-client-connection","@deepseek-ai/dsh-client-locale","@deepseek-ai/dsh-client-runtime","@deepseek-ai/dsh-client-ui-commands","@deepseek-ai/dsh-api-remotes","@deepseek-ai/dsh-client-ui-settings"]},{"id":"@deepseek-ai/dsh-client-ui-agent-preset","url":"/plugins/@deepseek-ai/dsh-client-ui-agent-preset/client.js?rev=9faa800cc93b","rev":"9faa800cc93b","inject":["@deepseek-ai/dsh-client-connection","@deepseek-ai/dsh-client-locale","@deepseek-ai/dsh-client-runtime","@deepseek-ai/dsh-client-ui-conversation","@deepseek-ai/dsh-client-ui-settings","@deepseek-ai/dsh-api-remotes"]},{"id":"@deepseek-ai/dsh-client-ui-user-questions","url":"/plugins/@deepseek-ai/dsh-client-ui-user-questions/client.js?rev=6f7b72fc148a","rev":"6f7b72fc148a","inject":["@deepseek-ai/dsh-client-locale","@deepseek-ai/dsh-client-ui-conversation"]},{"id":"@deepseek-ai/dsh-client-ui-trajectory","url":"/plugins/@deepseek-ai/dsh-client-ui-trajectory/client.js?rev=0d3d606d8ed2","rev":"0d3d606d8ed2","inject":["@deepseek-ai/dsh-client-locale","@deepseek-ai/dsh-client-runtime","@deepseek-ai/dsh-client-ui-conversation"]},{"id":"dsh-edge-client-ui","url":"/plugins/dsh-edge-client-ui/client.js?rev=216eed0edd13","rev":"216eed0edd13","inject":["@deepseek-ai/dsh-client-runtime","@deepseek-ai/dsh-client-ui-settings","@deepseek-ai/dsh-client-locale"]}]}</script>
|
|
22
22
|
<meta charset="utf-8" />
|
|
23
23
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
24
24
|
<link rel="manifest" href="/manifest.webmanifest" />
|
|
@@ -886,11 +886,11 @@ window.__ModuleLoader__.load({
|
|
|
886
886
|
document.head.appendChild(tag);
|
|
887
887
|
}
|
|
888
888
|
var LanguageRow_module_css_default = {
|
|
889
|
-
"selector": "D6Kc3G_selector",
|
|
890
|
-
"rowText": "D6Kc3G_rowText",
|
|
891
|
-
"title": "D6Kc3G_title",
|
|
892
889
|
"chevron": "D6Kc3G_chevron",
|
|
893
|
-
"
|
|
890
|
+
"title": "D6Kc3G_title",
|
|
891
|
+
"row": "D6Kc3G_row",
|
|
892
|
+
"selector": "D6Kc3G_selector",
|
|
893
|
+
"rowText": "D6Kc3G_rowText"
|
|
894
894
|
};
|
|
895
895
|
//#endregion
|
|
896
896
|
//#region lib/types/client/LanguageRow.js
|
|
@@ -268,12 +268,12 @@ window.__ModuleLoader__.load({
|
|
|
268
268
|
document.head.appendChild(tag);
|
|
269
269
|
}
|
|
270
270
|
var AgentPresetRow_module_css_default = {
|
|
271
|
+
"title": "mh38Ja_title",
|
|
271
272
|
"desc": "mh38Ja_desc",
|
|
272
|
-
"selector": "mh38Ja_selector",
|
|
273
273
|
"row": "mh38Ja_row",
|
|
274
|
-
"
|
|
275
|
-
"
|
|
276
|
-
"
|
|
274
|
+
"selector": "mh38Ja_selector",
|
|
275
|
+
"chevron": "mh38Ja_chevron",
|
|
276
|
+
"rowText": "mh38Ja_rowText"
|
|
277
277
|
};
|
|
278
278
|
//#endregion
|
|
279
279
|
//#region lib/types/client/AgentPresetRow.js
|
|
@@ -343,17 +343,17 @@ window.__ModuleLoader__.load({
|
|
|
343
343
|
document.head.appendChild(tag);
|
|
344
344
|
}
|
|
345
345
|
var AgentPresetSeat_module_css_default = {
|
|
346
|
+
"seat": "_1bLKuG_seat",
|
|
347
|
+
"seat-char-in": "_1bLKuG_seat-char-in",
|
|
348
|
+
"seat-icon-in": "_1bLKuG_seat-icon-in",
|
|
346
349
|
"itemName": "_1bLKuG_itemName",
|
|
350
|
+
"introChar": "_1bLKuG_introChar",
|
|
347
351
|
"itemDesc": "_1bLKuG_itemDesc",
|
|
352
|
+
"seatIcon": "_1bLKuG_seatIcon",
|
|
348
353
|
"introIcon": "_1bLKuG_introIcon",
|
|
349
354
|
"introText": "_1bLKuG_introText",
|
|
350
|
-
"seat-icon-in": "_1bLKuG_seat-icon-in",
|
|
351
|
-
"item": "_1bLKuG_item",
|
|
352
|
-
"seat-char-in": "_1bLKuG_seat-char-in",
|
|
353
355
|
"chevron": "_1bLKuG_chevron",
|
|
354
|
-
"
|
|
355
|
-
"seatIcon": "_1bLKuG_seatIcon",
|
|
356
|
-
"seat": "_1bLKuG_seat"
|
|
356
|
+
"item": "_1bLKuG_item"
|
|
357
357
|
};
|
|
358
358
|
//#endregion
|
|
359
359
|
//#region lib/types/client/AgentPresetSeat.js
|
|
@@ -984,40 +984,40 @@ window.__ModuleLoader__.load({
|
|
|
984
984
|
document.head.appendChild(tag);
|
|
985
985
|
}
|
|
986
986
|
var AgentPresetSection_module_css_default = {
|
|
987
|
-
"input": "TA3O3q_input",
|
|
988
|
-
"dialog": "TA3O3q_dialog",
|
|
989
|
-
"viewerCode": "TA3O3q_viewerCode",
|
|
990
|
-
"cardFoot": "TA3O3q_cardFoot",
|
|
991
|
-
"revealedPath": "TA3O3q_revealedPath",
|
|
992
|
-
"revealedPathLabel": "TA3O3q_revealedPathLabel",
|
|
993
|
-
"cardDesc": "TA3O3q_cardDesc",
|
|
994
|
-
"fieldLabel": "TA3O3q_fieldLabel",
|
|
995
|
-
"cardBroken": "TA3O3q_cardBroken",
|
|
996
|
-
"cardBrokenReason": "TA3O3q_cardBrokenReason",
|
|
997
|
-
"cardHead": "TA3O3q_cardHead",
|
|
998
|
-
"title": "TA3O3q_title",
|
|
999
|
-
"badge": "TA3O3q_badge",
|
|
1000
|
-
"cards": "TA3O3q_cards",
|
|
1001
987
|
"cardActive": "TA3O3q_cardActive",
|
|
1002
|
-
"
|
|
988
|
+
"creatorButton": "TA3O3q_creatorButton",
|
|
989
|
+
"revealedPathLabel": "TA3O3q_revealedPathLabel",
|
|
1003
990
|
"intro": "TA3O3q_intro",
|
|
1004
|
-
"iconDanger": "TA3O3q_iconDanger",
|
|
1005
|
-
"section": "TA3O3q_section",
|
|
1006
|
-
"card": "TA3O3q_card",
|
|
1007
|
-
"iconButton": "TA3O3q_iconButton",
|
|
1008
991
|
"groupHead": "TA3O3q_groupHead",
|
|
992
|
+
"cardBrokenReason": "TA3O3q_cardBrokenReason",
|
|
993
|
+
"section": "TA3O3q_section",
|
|
994
|
+
"cardName": "TA3O3q_cardName",
|
|
995
|
+
"input": "TA3O3q_input",
|
|
1009
996
|
"cardId": "TA3O3q_cardId",
|
|
1010
|
-
"
|
|
997
|
+
"revealedPath": "TA3O3q_revealedPath",
|
|
998
|
+
"iconDanger": "TA3O3q_iconDanger",
|
|
999
|
+
"title": "TA3O3q_title",
|
|
1011
1000
|
"cardMain": "TA3O3q_cardMain",
|
|
1012
|
-
"
|
|
1013
|
-
"
|
|
1001
|
+
"iconButton": "TA3O3q_iconButton",
|
|
1002
|
+
"cardDesc": "TA3O3q_cardDesc",
|
|
1003
|
+
"viewerCode": "TA3O3q_viewerCode",
|
|
1004
|
+
"card": "TA3O3q_card",
|
|
1014
1005
|
"secondaryButton": "TA3O3q_secondaryButton",
|
|
1006
|
+
"fieldLabel": "TA3O3q_fieldLabel",
|
|
1015
1007
|
"error": "TA3O3q_error",
|
|
1016
|
-
"
|
|
1017
|
-
"
|
|
1008
|
+
"field": "TA3O3q_field",
|
|
1009
|
+
"cardBroken": "TA3O3q_cardBroken",
|
|
1018
1010
|
"brokenBadge": "TA3O3q_brokenBadge",
|
|
1011
|
+
"badge": "TA3O3q_badge",
|
|
1012
|
+
"inUse": "TA3O3q_inUse",
|
|
1013
|
+
"dialog": "TA3O3q_dialog",
|
|
1014
|
+
"dialogFields": "TA3O3q_dialogFields",
|
|
1015
|
+
"cards": "TA3O3q_cards",
|
|
1019
1016
|
"deleteConfirm": "TA3O3q_deleteConfirm",
|
|
1020
|
-
"group": "TA3O3q_group"
|
|
1017
|
+
"group": "TA3O3q_group",
|
|
1018
|
+
"cardFoot": "TA3O3q_cardFoot",
|
|
1019
|
+
"deleteDialog": "TA3O3q_deleteDialog",
|
|
1020
|
+
"cardHead": "TA3O3q_cardHead"
|
|
1021
1021
|
};
|
|
1022
1022
|
//#endregion
|
|
1023
1023
|
//#region lib/types/client/AgentPresetSection.js
|
|
@@ -855,18 +855,18 @@ window.__ModuleLoader__.load({
|
|
|
855
855
|
document.head.appendChild(tag);
|
|
856
856
|
}
|
|
857
857
|
var PopupSelectView_module_css_default = {
|
|
858
|
+
"label": "JhNNqG_label",
|
|
859
|
+
"row": "JhNNqG_row",
|
|
858
860
|
"rowActive": "JhNNqG_rowActive",
|
|
861
|
+
"check": "JhNNqG_check",
|
|
862
|
+
"error": "JhNNqG_error",
|
|
863
|
+
"card": "JhNNqG_card",
|
|
859
864
|
"detail": "JhNNqG_detail",
|
|
865
|
+
"search": "JhNNqG_search",
|
|
866
|
+
"status": "JhNNqG_status",
|
|
860
867
|
"errorText": "JhNNqG_errorText",
|
|
861
|
-
"card": "JhNNqG_card",
|
|
862
868
|
"viewport": "JhNNqG_viewport",
|
|
863
|
-
"
|
|
864
|
-
"label": "JhNNqG_label",
|
|
865
|
-
"status": "JhNNqG_status",
|
|
866
|
-
"search": "JhNNqG_search",
|
|
867
|
-
"error": "JhNNqG_error",
|
|
868
|
-
"retry": "JhNNqG_retry",
|
|
869
|
-
"check": "JhNNqG_check"
|
|
869
|
+
"retry": "JhNNqG_retry"
|
|
870
870
|
};
|
|
871
871
|
//#endregion
|
|
872
872
|
//#region lib/types/client/PopupSelectView.js
|