Files
deepseek-harness/packages/bundle
Yichen Jiang 7ec142a325 refactor(jobs): move job observation into api-job-controller
Review asked for the observation wire and its client service to leave
session-controller: a job should reach the Host only through its own
Remote namespace, and the session plugin's apply had to materialize
{ $stream, session } for a service that is not session state.

@deepseek-ai/dsh-api-job-controller now owns the Host JobController
(job.observe over ctx.jobs, requiring the agent and job registries) and
the client ClientJobOutput (ctx.jobOutput) over ClientJobOutputModel,
resolving both Remote faces in its own apply. The remotes assembly
mounts the job namespace; ui-jobs injects the new package; the wire
types drop their Session prefix and spell the status union out so the
client face pulls no Host declaration merges into browser programs.
session-controller keeps the jobsBySession roster and loses observe-job,
job-output, and the observe cadence config.

ui-chat's slots and snapshot-builder import CommandNode and friends from
the declaring package: the typert analyzer's cross-package rule trips on
the snapshot re-export as soon as another client face joins the root
Client program (the new controller does), which is why this branch
carried the change before. JobPumpSource documents why it is an offset
snapshot reader rather than a Node.js Readable.
2026-09-02 22:53:36 +08:00
..
2026-09-02 15:48:33 +08:00
2026-09-02 15:48:33 +08:00
2026-09-02 15:48:33 +08:00
2026-09-02 15:48:33 +08:00
2026-09-02 15:48:33 +08:00

description, kind
description kind
Ready-made dsh profile bundles for the shared core, browser GUI, one-shot task, ACP, and SDK application surfaces. package-group

bundle/ — profile plugin bundles

English | 中文

Summary

This group maps the installable patch layers used by dsh --profile. Each package declares dsh.bundle.patch; the launcher stacks those patch documents to assemble a named profile. The web, headless, acp, and sdk profiles build on dsh-base, while sdk-minimal supplies its complete tree in one bundle. Domain packages can declare additional layers outside this directory.

Table of Contents

Packages

Package Role ctx key
base Shared core for base-backed profiles — (patch only)
acp-app Automation-only ACP stdio application over base mounts the ACP bridge
web-app Browser application layer over base mounts Web rows
headless One-shot command-line task application over base headless-runner
sdk-app SDK JSON-RPC stdio application over base mounts the SDK server
sdk-minimal Standalone minimal SDK application without base or Web — (complete patch tree)

In-box bundles resolve from the dsh installation; out-of-tree bundles install into a profile through dsh plugin --profile <name> add <package>.

Dev Note

None.