Files
deepseek-harness/packages/extensions
sjw1231 8f798da97d fix(tool-fs): leave sandbox decisions to providers and bound patch diffs
Drop the preflight sandbox fence. It derived writable roots in the local
process, so under the SSH provider it threw on remote additionalWritableRoots
and compared remote targets against local temp roots; write and edit never
fenced in the tool layer. The provider now refuses a denied operation at
commit, and a commit whose first operation failed without any change rejects
like a preflight refusal so the sandbox escalation path keeps its error code.

Classify FS_ABORTED as unknown: a cancelled remote request rejects while the
provider may still be writing, so no stat comparison can settle it. Document
that a cancelled call receives the registry's abort result like every tool.

Store no diff for creations, matching write, and bound the move source basis
by diffBasisMaxBytes so persisted metadata never holds whole files;
FsMoveOutcome.sourceBefore becomes nullable. Omit deletions from the call
preview and from result diffs without a basis instead of rendering them as
empty creations, and count distinct files in the preview title.

Reject a NUL byte beyond the read sampling window in preflight, name targets
by display path in atomic-write diagnostics, align the apply_patch guidance
with the edit wording and mention delete and move, read the stopped flag and
applied diffs tool-agnostically in the client models, skip the permission-bit
snapshot under root, list fs/delete-intent in the tool catalog, and refresh
the fs-patch description, group README, fs-sandbox summary, and ui-tool README.
2026-10-21 17:21:01 +08:00
..

description, kind
description kind
Runtime API inspection, process-local runners, and historical Cordis cards. package-group

packages/extensions

English | 中文

Summary

The extensions group provides read-only runtime API discovery for agents, process-local runners for programmatic and browser consumers, and historical generated-plugin cards. Creator mode installs persistent plugins through Plugin Manager. Choose a child package for inspection, Host execution, Client execution, or browser controls.

Table of Contents


Packages

Package Role ctx key
tool-cordis Two read-only tools for runtime API discovery registers on ctx.tools
cordis-host-runner Host half: definition registry, sandboxed host-half lifecycle, and the inspect registry that answers browser queries provides ctx.dynamicCordisRunner and ctx.cordisInspect
cordis-client-runner Browser half: evaluates a browser-half source into a live plugin and answers run requests client face; provides browser ctx.dynamicCordisRunner
ui-cordis Browser panel and historical lifecycle tool cards client face; registers slots


Dev Note

Working context for maintainers — click to expand

The two browser-half packages live in this group rather than under packages/client/ because they are halves of this subsystem's dual-half packages; the client face compiles them through the client program, while the host program references only the host runner.