Files
deepseek-harness/packages/api/settings-controller
Turtle e7def469e1 feat(i18n): key translation pairing records by heading section (#5036)
* feat(i18n): key translation pairing records by heading section

Replace the whole-file blob hashes in *.i18n.yaml with one entry per
heading section that still holds language-specific content, keyed by the
English heading-slug path. Blocks identical across the pair (generated
table rows, code blocks, shared regions) stay out of the hash, so edits to
different sections and identical regenerations merge with Git's default
text merge, including on GitHub.

Remove the dsh-translation-pairing merge driver, its resolver command and
installer wiring; gen-translation-brief recovers last-confirmed text from
commit history. Migrate all active records, archive the superseded Agent
Note, and record the replayed conflict reduction in the new one.

* test(i18n): refresh translation prompt snapshot for the terminology note

* feat(i18n): exclude only code blocks and generated regions from pairing records

Replace byte-equality masking with an explicit rule: a record hash skips
fenced code blocks and BEGIN/END GENERATED regions, the two kinds of
content the pairing gate already requires to be identical on both sides.

Move generated data into regions written into both pages:
gen-config-catalog renders both languages and the record with per-package
regions labelled by code identifiers; gen-module-graph keeps its table in a
region; gen-doc-graphs splices the event matrix regions into the Chinese
page. Add a generic region splice beside the region grammar.
2026-09-23 22:32:06 +08:00
..
2026-09-23 20:47:45 +08:00

description, kind
description kind
Host Remote owner for settings and credential configuration surfaces, including redacted reads, writes, credential references, and native document opening. package-reference

Settings Controller

English | 中文

Summary

@deepseek-ai/dsh-api-settings-controller exposes generated ctx.remote.settings and ctx.remote.credentials namespaces for browser configuration surfaces. It returns redacted settings and credential metadata, supports settings and credential writes without returning secret values, and opens provider-owned settings or Agent preset locations on the Host desktop. When a provider is absent, the namespace remains registered and returns an actionable configuration error.

Table of Contents


Use this package

Mount this package as a Loader entry in a profile that serves browser configuration. The entry registers both namespaces independently of their providers so a missing provider produces a named configuration error at invocation. Its generated descriptors enter the strict Typert registry, while the settings and credential Definitions remain plain Cordis Services with no wire obligations of their own.

describe(refs) answers one map keyed by the requested names, so a settings page describing every reference its rows carry settles those rows together. It accepts at most 64 names per call, reports an invalid name or empty write value as bad-request, and copies each answer field by field — a provider returning more than CredentialInfo declares cannot widen what crosses. Valid set(ref, value) and unset(ref) calls report a provider refusal as credential-rejected, carrying the provider's message with only the reference in its details. Secret values cross in this direction only: no method here returns one.

settings.describe() returns deployment facts and every namespace under redactSecrets: true. settings.update, settings.replace, and settings.mutate expose the settings service's three write operations and return the namespace's new redacted view; stale writes use settings-conflict and other provider refusals use settings-rejected.

settings.openSettingsDocument() prepares the provider-owned document and opens it with the native text editor; it accepts no browser-supplied filesystem target.


Configuration

Field Default Meaning

The generated configuration catalog is the exhaustive source for accepted fields and their JSDoc.


Model Experience

None, as settings and credential configuration are browser and Host state and register no prompt, tool, or session event.

KV Cache effect

No direct effect; reading or writing these configuration values does not alter model requests already in flight.

Known Limitations and Deferred Work

  • The batch bound is fixed at 64 references and is not a deployment-configurable field.

Dev Note

Working context for maintainers — click to expand

None.

Runtime invariant: No companion is published. The settings and credential seams own storage and update events, while this package only projects their methods onto the wire.