Merge master and fix desktop editing and Windows lock contention
This commit is contained in:
commit
9187c3662e
2155 files changed
+729908
-34277
No files matched your search
@@ -4,57 +4,75 @@ DeepSeek Harness is an all-plugin Cordis agent harness. Read [docs/architecture.
|
||||
|
||||
## Pre-stable APIs and released Session data
|
||||
|
||||
Public APIs are pre-stable; update every consumer. [Session version/status](docs/session-format-status.md) defines the authorities. [Adjacent migration](.agents/notes/implemented/architecture/2026-08-31-released-session-format-migrations.md) may add a version-named successor but never move, overwrite, or delete committed generations; predecessors imply neither fallback nor downgrade support. SQLite uses monotonic `SCHEMA_VERSION`.
|
||||
Public APIs are pre-stable; update every consumer. Follow [version/status](docs/session-format-status.md) and [type acknowledgements](docs/cookbook/reviewing-persistence-type-changes.md). [Adjacent migration](.agents/notes/implemented/architecture/2026-08-31-released-session-format-migrations.md) may add a version-named successor but never move, overwrite, or delete committed generations; predecessors imply neither fallback nor downgrade support. SQLite uses monotonic `SCHEMA_VERSION`.
|
||||
|
||||
Acknowledge [declared persistence-type changes](docs/cookbook/reviewing-persistence-type-changes.md).
|
||||
|
||||
**Application launch.** Only `dsh` profiles launch supported Node apps; package bins, demos, and public SDK argv escapes are forbidden ([rule](docs/architecture.md#application-launch)).
|
||||
|
||||
## Repository layout
|
||||
|
||||
```
|
||||
vendor/ Vendored Cordis source — manifest + sync procedure in vendor/README.md
|
||||
vendor/ Vendored Cordis (vendor/README.md)
|
||||
packages/ @deepseek-ai/dsh-<pkg> workspaces at packages/<group>/<pkg>/
|
||||
core/ product API spine: session, system-prompt, tools, agent, agent-loop
|
||||
api/ Remote BFF assembly and Typert RPC gateway
|
||||
typert/ type graph generator, loader, and runtime registry
|
||||
llm/ LLM capability: Service Definition/Consumer + DeepSeek providers
|
||||
e2b/ E2B POC: sandbox + FS/subprocess adapters
|
||||
shell/ bash capability: Service Definition + local/pwsh providers + shell Consumers
|
||||
subprocess/ subprocess capability + local process-tree provider + shared Win32 library
|
||||
terminal/ persistent sessions
|
||||
fs/ filesystem capability + policy
|
||||
lsp/ language-server capability
|
||||
skill/ skill provider registry + local impl + catalog/loader tool
|
||||
web/ web capability: Service Definition + search/fetch providers + tool Consumer
|
||||
compaction/ compaction capability + basic provider
|
||||
context/ request-context plugins
|
||||
subagent/ subagent capability: Service Definition + providers + delegation Consumers
|
||||
bundle/ installable dsh --profile patch-layer bundles
|
||||
workflow/ workflow capability + worker-thread provider + tool Consumer
|
||||
webhook/ webhook ingress
|
||||
todo/ todo_write tool
|
||||
plan/ plan mode as logged state
|
||||
preset/ per-session agent composition from preset cordis.yml files
|
||||
guard/ loop-hygiene + tool-timeout plugins
|
||||
self-modification/ the agent inspects/mounts its own plugins
|
||||
hooks/ Claude Code/Codex hook bridges + wire-protocol library
|
||||
session/ durable session data: persistence, projection, titles, telemetry
|
||||
identity/ anonymous identity
|
||||
settings/ user-settings capability + file provider
|
||||
credentials/ credential/authorization capabilities + env/.env provider
|
||||
acp/ automation-only Agent Client Protocol server
|
||||
interaction/ approval/interaction capabilities, permission, commands, ask-user
|
||||
boot/ shared profile/application boot glue
|
||||
sdk/ JSON-RPC protocol + TypeScript client/server
|
||||
experimental/ pre-stable prototypes; private by default with explicit public exceptions
|
||||
support/ dev/test infrastructure
|
||||
util/ zero-dependency utilities
|
||||
python/ Python SDK/runtime (see python/README.md)
|
||||
native/ @deepseek-ai/node-addon-system source of record (see native/README.md)
|
||||
core/ agent/session API
|
||||
api/ remote BFF
|
||||
typert/ type graphs
|
||||
llm/ model providers
|
||||
shell/ command execution
|
||||
subprocess/ child-process management
|
||||
ssh/ SSH execution providers
|
||||
terminal/ persistent terminals
|
||||
ptc-runtime/ PTC execution
|
||||
sandbox/ process confinement
|
||||
fs/ filesystem access
|
||||
lsp/ language servers
|
||||
skill/ skill loading
|
||||
web/ search/fetch tools
|
||||
computer-use/ computer interaction
|
||||
compaction/ context compaction
|
||||
context/ request context
|
||||
subagent/ delegated agents
|
||||
jobs/ background jobs
|
||||
bundle/ profile bundles
|
||||
workflow/ workflow execution
|
||||
webhook/ webhook ingress
|
||||
todo/ todo_write tool
|
||||
plan/ logged planning
|
||||
goal/ session goals
|
||||
schedule/ scheduled follow-ups
|
||||
preset/ agent composition
|
||||
guard/ loop/tool guards
|
||||
extensions/ runtime self-modification
|
||||
hooks/ Claude Code/Codex bridges
|
||||
session/ durable sessions
|
||||
session-query/ browsing/search/export
|
||||
attachment/ binary attachments
|
||||
spill/ output spill
|
||||
storage/ non-session storage
|
||||
workspace/ workspace entities
|
||||
feedback/ human feedback
|
||||
identity/ anonymous identity
|
||||
settings/ user settings
|
||||
credentials/ credentials/authorization
|
||||
acp/ automation-only ACP
|
||||
interaction/ human interaction
|
||||
boot/ application boot
|
||||
sdk/ JSON-RPC SDK
|
||||
host/ GUI host
|
||||
client/ GUI client
|
||||
mcp/ external tools
|
||||
experimental/ pre-stable prototypes; public by default with explicit private exceptions
|
||||
test-support/ test infrastructure
|
||||
runtime-diagnostics/ runtime invariants
|
||||
util/ zero-dependency utilities
|
||||
python/ Python SDK/runtime (python/README.md)
|
||||
native/ @deepseek-ai/node-addon-system source (native/README.md)
|
||||
benchmarks/ performance gates
|
||||
.agents/ Agent workflows and Agent Notes (`notes/`)
|
||||
docs/ architecture, generated catalogs, postmortems, cookbook (see docs/AGENTS.md)
|
||||
.agents/ Agent workflows/notes
|
||||
docs/ Documentation (docs/AGENTS.md)
|
||||
scripts/ gates and generators
|
||||
website/ VitePress projection of selected bilingual docs/ sources
|
||||
website/ VitePress documentation projection
|
||||
```
|
||||
|
||||
Package groups: [packages/README.md](packages/README.md).
|
||||
@@ -76,7 +94,7 @@ pnpm run duplication # cross-file TypeScript clone detection
|
||||
pnpm run build # tsc emits lib/types, tsdown bundles runtime
|
||||
pnpm run hygiene # publint + workspace/package/dependency checks + NodeNext consumer check
|
||||
pnpm run check:windows-wine # ONLY when diagnosing a known Windows failure (needs wine); CI owns this signal
|
||||
pnpm run doc-sync # all documentation gates; leaf list in scripts/run-gates.ts
|
||||
pnpm run doc-sync # documentation gates (scripts/run-gates.ts)
|
||||
pnpm run test:docs # quick documentation checks (no build; doc-quick aggregate)
|
||||
pnpm run website:build # VitePress build (doubles as dead-link check)
|
||||
pnpm dsh --profile headless "task" # run one task from source (needs DEEPSEEK_API_KEY)
|
||||
@@ -121,8 +139,9 @@ Real-API tests/demos read `DEEPSEEK_API_KEY`, optional `DEEPSEEK_BASE_URL`, and
|
||||
- **Trust TypeScript at typed same-process boundaries.** Do not add runtime validation, fallback behavior, or hostile-input tests solely for values the static interface requires; validate at parser/config, queued, model/tool JSON, durable/file, worker, process, and wire boundaries.
|
||||
- **Source plane vs artifact plane, never mixed.** Static gates and tests resolve workspace imports through tsconfig `paths` to `src` and pass on a clean tree; gates consuming built `lib/` declare that dependency ([layout](docs/development.md#typescript-project-layout)).
|
||||
- **Keep compiler faces explicit.** A package with both Host and Client programs exposes face-specific leaf configs and a solution-only root; repo-wide programs seed a face config, never the root solution ([layout](docs/development.md#typescript-project-layout)).
|
||||
- **An empty `catch` names what it swallows** and why nothing else can reach it; keep the `try` to one statement.
|
||||
- **Keep comments local.** Do not restate code, explain distant behavior unless locally required, or expand unrelated comments ([rationale](.agents/notes/implemented/process/2026-08-09-concrete-prose-names-actors-and-recorded-facts.md)).
|
||||
- **An empty `catch` names the error** and why; keep its `try` to one statement.
|
||||
- **Keep comments local.** Do not restate code, expand unrelated comments, or explain distant behavior without local need ([rationale](.agents/notes/implemented/process/2026-08-09-concrete-prose-names-actors-and-recorded-facts.md)).
|
||||
- **Ban `prove` + `nance`** ([rule](.agents/notes/implemented/process/2026-08-26-ban-ambiguous-origin-label.md)).
|
||||
- **Prefer symmetry for parallel values**; unexplained asymmetry usually signals a missed extraction.
|
||||
- **Tests describe behavior, not correctness.** Change obsolete behavior with its tests; explain why in the PR.
|
||||
- **Non-trivial changes MUST include an Agent Note in the same PR;** only mechanical/local edits are exempt ([scope](.agents/notes/README.md#when-to-write-one)). Archived notes are frozen: never edit or treat them as current authority ([archive policy](.agents/notes/README.md#archiving-and-deletion)).
|
||||
|
||||
Reference in new issue
Block a user