Commit Graph
610 Commits
Author SHA1 Message Date
Turtle ac006780c0 Merge pull request #7405 from deepseek-harness/fix/plugin-not-running-status
fix(plugins): mark selected bundles DSH skipped as not running
2026-11-06 13:29:58 +08:00
Turtle 652dc65597 fix(plugins): report invalid listedByDefault as a metadata diagnostic
The launcher ignores dsh.bundle.listedByDefault, so a non-boolean value now
goes to meta.error instead of error. error again means the layer was skipped,
which the plugin page relies on to mark a selected bundle as not running.
Card head geometry moves to custom properties shared with the reason line.
2026-11-06 12:57:05 +08:00
Turtle f1a1ec820b Merge remote-tracking branch 'origin/master' into turtle/fix-pr-7405-conflict-d4d9437d42a1
# Conflicts:
#	docs/event-producer-consumer.md
#	docs/event-producer-consumer.zh.md
#	packages/boot/plugin-manager/README.i18n.yaml
2026-11-05 18:35:13 +08:00
creatixchu d9d9c7348b Merge master into feat/cua-shared-native-api 2026-11-05 17:04:43 +08:00
turtle1999 20d38e784b chore: integrate current master for pre-merge validation 2026-11-05 15:35:26 +08:00
imccyu 82582b7b40 chore(deps): unify zod to ~4.6.6 (#7502)
* chore(deps): unify zod to 4.6.6

Raise all 88 workspace zod declarations to exact 4.6.6 and move @browserbasehq/stagehand to 4.4.0, which pins the same version, so the lock keeps a single zod copy. Test expectations and the Typert consumer's node types follow the new declarations; pnpm-workspace.yaml records the release-age exemption for [email protected].

* fix(stagehand): drop the deprecated extensionId option

Stagehand 4.4.0 ignores extensionId and discovers the installed extension itself, so the option no longer selects anything. Remove it from the provider config and worker plumbing, update the READMEs and regenerated config catalog, and adjust the attach test fixture.

* test(bench): widen the browser stream overlap window

The input-overlap probe can start after the paced synthetic reply finishes on a loaded runner, so double the per-chunk pace and re-record the README translation hash after the extensionId removal.
2026-11-05 13:09:43 +08:00
imccyu 6b8d868008 chore(deps): unify zod to 4.6.6
Raise all 88 workspace zod declarations to exact 4.6.6 and move @browserbasehq/stagehand to 4.4.0, which pins the same version, so the lock keeps a single zod copy. Test expectations and the Typert consumer's node types follow the new declarations; pnpm-workspace.yaml records the release-age exemption for [email protected].
2026-11-05 11:27:26 +08:00
turtle1999 d2bed0238e feat(plugins): update Git-installed plugins from Discover
Discover offers Update for a plugin installed from a pinned Git commit
when the plugin index lists a newer commit of the same repository
directory. The Plugins page update removes the installed copy, installs
the target with an expected-package check that undoes a wrong install
with its modules, and reinstalls the removed commit when the target
fails. A network failure reaching the target's host stops the update
before anything is removed.
2026-11-05 01:38:32 +08:00
turtle1999 d047e2c5f9 feat(plugin-market): define index order and optional popularity metadata 2026-11-05 00:49:59 +08:00
Turtle 38c7a9fbf4 feat(release): publish package source, declaration maps, and documentation (#5884)
* feat(release): publish package source, declaration maps, and documentation

Every release member publishes its TypeScript source and the declaration
maps that resolve into it, and @deepseek-ai/dsh publishes the repository
Markdown documentation staged from docs/ at prepack time.

The ./src/* export most members already declared now resolves for an
installed consumer, and a consumer editor follows a declaration to the
implementation. Bundled JavaScript maps stay unpublished; the vendored
family and the Desktop runtime file policy are unchanged.

Rationale: .agents/notes/implemented/process/2026-10-08-published-source-and-docs.md

* feat(release): publish JavaScript maps and compress bundles

Every emitted JavaScript map ships beside the bundle it describes, and the
workspace build and the client preset compress bundles without mangling
identifiers.

The documentation payload now mirrors the website publication manifest and
is removed again by `postpack`; Desktop and the Python executable exclude
the published source, documentation, and maps; `clean` removes a staged
copy. Typert's publication contract gains the Remote declaration map.

* fix(release): keep node bundles readable for the worker image

The browser worker image lowers `yield*` only as a whole statement and
rewrites `for await` loops by their source layout, so compressed node-side
entries either fail that lowering or lower to unparseable code. Only the
browser bundles keep compression, which removes about a third of their text.

The bundle-purity assertion now matches the module-loader call regardless of
the quote style compression picks, and the release-pack fixture exercises
the installed package's new documentation requirement.

* feat(release): publish the whole documentation tree

`@deepseek-ai/dsh` copies `docs/` in full instead of the website's page
set: the maintainer documents, the generated migration records, the
translation guidelines, and the `*.i18n.yaml` consistency records ship
with the installed package, so the documentation's own links resolve
without a checkout.

* feat(release): publish the upgrade guides with the documentation

The staged documentation keeps the website's page set and adds every
`docs/upgrade-guide/` document, which is what an installed reader consults
when a released change breaks something. The rest of the maintainer tree
stays out.

* test(release): expect source and maps in master's new payload cases

* feat(release): keep installed docs and source readable in Desktop

Desktop keeps the published src/ and docs/ trees inside app.asar, and
every model shell call receives DSH_INSTALL_DIR and DSH_NODE_EXECUTABLE
so an agent can read them through Electron's Node mode. Staging also
generates docs/upgrade-guide/README.md, an index of the upgrade guides
grouped by the release they upgrade from.

Minified client bundles print string literals with backticks: the
worker image packer now recognizes those chunk requests, client license
banners are prepended after minification so their text survives, and
the affected artifact tests accept either quote.

* test(desktop): read archived docs through the Windows PowerShell form

Regenerate the config catalog for the shifted shell-env source line.

* test(desktop): wait for the GUI-subsystem Electron process from PowerShell

* build(release): publish source and maps from the message-quotes package

* build(release): publish source and maps from packages new on master

* build(release): publish source and maps from the tool-office package
2026-11-05 00:22:36 +08:00
imccyu abc0e7092b Merge remote-tracking branch 'origin/release/dsh-0.2.2' into merge/release-dsh-0.2.2-rc.1-to-master
# Conflicts:
#	packages/client/ui-agent-team/package.json
#	packages/client/ui-brand-official/package.json
#	packages/client/ui-open-in-app/package.json
#	packages/client/ui-settings-web-search/package.json
#	packages/experimental/agent-team-profile/package.json
#	packages/team/agent-team/package.json
#	packages/web/web-search-exa/package.json
#	packages/web/web-search-perplexity/package.json
2026-11-04 15:59:50 +08:00
imccyu 2f97f60455 release(dsh): 0.2.2-rc.1 2026-11-04 15:50:06 +08:00
imccyu f590c13c92 Merge master into worktree-sync-dsh-0.2.2-to-master-1103b 2026-11-03 15:10:23 +08:00
imccyu 1c78d475bf release(dsh): 0.2.2-alpha.3 2026-11-03 13:37:26 +08:00
imccyu ef5f28d0fb Merge master into worktree-sync-dsh-0.2.2-to-master 2026-11-03 11:47:40 +08:00
Shigma ce18012a52 Merge pull request #6220 from deepseek-harness/chore/cordis-loader-rc11
chore(cordis): complete Loader rc.8 and share upstream Include patches
2026-11-02 16:50:28 +08:00
CreatixChu 4eb2118dba Merge pull request #7515 from deepseek-harness/feat/cua-optional-bundle
feat(cua): 随 DSH 分发 Computer Use,并在实验性插件列表中显示
2026-11-02 16:21:57 +08:00
Chinesezjc 73090b5e56 Merge pull request #7602 from deepseek-harness/turtle/plugin-detail-git-auth-525da1436301
fix(plugin-market): retry detail clone fetches over SSH after https is refused
2026-11-02 15:02:20 +08:00
creatixchu 7d9bc01a50 Merge updated master and helper identity into bundled Computer Use 2026-11-02 14:58:31 +08:00
Yifffan a1c3458e12 Merge pull request #7504 from deepseek-harness/feat-agent-teamwork-ui-polish
feat(web): improve agent collaboration panels and tool receipts
2026-10-31 11:10:03 +08:00
Magolor fd2a512e75 test(plugin-market): control Git startup and fixture teardown (#7616)
* test(plugin-market): control Git startup and teardown

* test(plugin-market): simplify fixture teardown
2026-10-30 16:31:41 +08:00
Turtle 51856c3f4f fix(plugin-market): keep network failures of the SSH retry retryable
Refs #7598
2026-10-30 12:17:35 +08:00
Turtle 8cce23db44 fix(plugin-market): retry detail clone fetches over SSH after https is refused
Refs #7598
2026-10-30 12:04:58 +08:00
creatixchu 99b59d73de Merge updated desktop helper packaging and permission guide 2026-10-30 10:48:42 +08:00
Shigma f45c48dce4 fix(cordis): transfer cross-tree moves and contain Include refresh rejections 2026-10-29 18:54:29 +08:00
Dudu-0223 3306de499e Sync Team session UI layer with updated naming parent 2026-10-29 18:09:18 +08:00
creatixchu 4247226074 refactor(plugins): drop catalog listedByDefault after Computer Use leaves the on-demand catalog
No on-demand catalog entry declares listedByDefault once Computer Use
ships with the installation, so the generator field, catalog type, and
plugin-manager propagation lose their only consumer. Also correct the
packed-worker comment and the Computer Use README wording.

Refs #7514
2026-10-29 13:40:54 +08:00
LogosVeritas 8b8c9d9eea Merge latest master into feat/python-sdk-slash-commands 2026-10-29 13:21:31 +08:00
LogosVeritas 09eac50a14 Merge master into feat/python-sdk-slash-commands 2026-10-29 12:59:36 +08:00
fz c2b668ccd8 Merge master and regenerate plugin manager translation record 2026-10-29 11:51:38 +08:00
_Kerman 6a994ee917 Merge pull request #7463 from deepseek-harness/fix/plugin-install-failure-diagnostics
fix(plugin-manager): 安装失败时补齐诊断输出与完整日志入口
2026-10-29 11:42:57 +08:00
Shigma db1a3b3754 chore(cordis): adopt Include 1.1.1 journal alongside Loader rc.8 2026-10-28 19:40:54 +08:00
Shigma afb1acd7b1 fix(app-boot): read provider fibers through rc.11 Impl.ctx 2026-10-28 17:27:40 +08:00
Shigma 1aead808e2 chore(cordis): merge master into cordis-core-rc11 2026-10-28 17:27:40 +08:00
_Kerman e5269b3bd6 fix(plugin-manager): keep the check's diagnostic honest and off the answer
Review fixes for the GitHub connection check: the returned packageResult
no longer carries the check's command line (it stays a module-local field
of the streamed run), and the recorded line drops URL user information
while Git still runs the address as typed. A check the deadline stopped
records the coerced status 1 in the result because an exit code is a
number, while its streamed run reports none; the JSDoc, package README
and boot subsystem page now say exactly that.
2026-10-28 16:35:13 +08:00
LogosVeritas 9976a87e97 Merge master into feat/python-sdk-slash-commands 2026-10-28 16:14:33 +08:00
_Kerman 9005026ea6 fix(plugin-manager): stream the install diagnostics a failed run already holds
A failed installation could show the generic sentence while its details
panel stayed empty. A pnpm run that printed nothing had its diagnostic
written to the complete log and the result but never streamed, and the
GitHub connection check that stops an installation before pnpm ran kept
its captured output only in the result. Both now reach the install-log
stream the dialog renders: the no-output diagnostic streams as the run's
output, and a network or timeout check failure streams the exact
git ls-remote command line and its output as the installation's only
run under the caller's request id, with no exit code when the check
timed out. A check failure pnpm may resolve streams nothing.
2026-10-28 14:08:30 +08:00
creatixchu 077ec64ac2 Merge remote-tracking branch 'origin/master' into feat/cua-desktop-delivery
# Conflicts:
#	apps/web/tests/preview-boot.e2e.ts
#	packages/client/ui-plugin-manager/README.i18n.yaml
#	scripts/tests/ci-release-selfhosted.spec.ts
#	snapshots/web/creation-recommendations/session.v4.jsonl
2026-10-28 14:08:20 +08:00
imccyu 00d541438b release(dsh): 0.2.2-alpha.2 2026-10-28 02:03:15 +08:00
imccyu 69c389ae11 release(dsh): 0.2.2-alpha.1 2026-10-28 00:00:58 +08:00
fz c0f40e469d Merge master and retain upstream portable test fixes 2026-10-27 22:18:11 +08:00
creatixchu e6adfaeab2 Merge remote-tracking branch 'origin/feat/cua-helper-permissions' into feat/cua-desktop-delivery
# Conflicts:
#	snapshots/web/creation-recommendations/session.v4.jsonl
2026-10-27 18:20:31 +08:00
creatixchu 6e4760ad86 fix(cua): include release records and prepare local registry helpers 2026-10-27 17:15:47 +08:00
creatixchu dbd881ab46 feat(cua): deliver notarized helpers through on-demand plugin installation 2026-10-27 17:07:25 +08:00
turtle1999 5f46aecffd fix(plugins): mark selected bundles DSH skipped as not running
A profile keeps a bundle selected when startup skips it, for example
because its DSH version requirements do not match. The Plugins page
showed its switch on with a generic Problem tag, so it looked like it
was running.

A selected bundle with a Host error and no live row now carries a
Not running tag and a short reason on its card. Its switch keeps the
saved selection. The bundle page no longer claims the bundle has no
components when the Host never read its patch.

An invalid dsh.bundle.listedByDefault is a display field the launcher
ignores, so the listing reports it beside the bundle's live rows
instead of dropping them.
2026-10-27 12:50:32 +08:00
fz 3a80325a71 fix(sdk): verify and document plugin management prerequisites 2026-10-26 23:50:27 +08:00
imccyu 6a19d120c9 Merge master into DSH 0.2.1-rc.4 synchronization branch 2026-10-26 16:18:13 +08:00
LogosVeritas 0939fd6549 fix(test): retry busy git transport fixture cleanup
Bound temporary-directory removal retries after probes and HTTP fixtures
finish, preserving cleanup errors when retries are exhausted.
2026-10-26 13:45:06 +08:00
winewill 5be33a66d2 test(desktop): isolate diagnostic fixtures and clarify record limits 2026-10-26 11:12:50 +08:00
winewill 6cbbc8caa5 Merge master and reconcile desktop diagnostic records 2026-10-26 11:05:45 +08:00