|
|
1 mese fa | |
|---|---|---|
| .. | ||
| src | 1 mese fa | |
| README.md | 1 mese fa | |
| package.json | 1 mese fa | |
| tsconfig.json | 1 mese fa | |
| tsdown.config.ts | 1 mese fa | |
Bin-only app that boots an external cordis.yml; its jsonrpc entry serves SDK clients over newline-delimited stdio. The config composes the spine, backends, and serving plugin. lib/bin.js is also the single-executable runtime entry.
The first non-empty channel wins: $DSH_CORDIS_CONFIG, then positional argv[2]. If neither names an existing file, the bin prints one-line usage to stderr and exits 1; there is no working-directory or built-in fallback. dsh-app-boot makes plugin load failures fatal. This protocol does not use DSH_SNAPSHOT.
A config without dsh-jsonrpc is valid and serves nothing; the bin does not designate a server plugin.
stdin EOF and SIGTERM dispose the root to quiescence and exit 0; SIGINT exits 130 after the same disposal. EOF may cut off an in-flight turn as documented in the distribution Agent Note. The jsonrpc plugin owns response-before-exit protocol shutdown; both paths are idempotent and safe to race.
stdout carries only JSON-RPC frames. The bin and boot guards diagnose on stderr, and the config must omit stdout loggers.
Indirectly, through the plugins loaded from the external cordis.yml, which own every model-bound prompt, schema, message, and result; this bin adds none of its own.
No direct invalidation; the named consumer owns any request-prefix changes.
dsh-jsonrpc entry boots successfully and serves nothing.DSH_CORDIS_CONFIG or a positional path, and deployment owns the complete plugin tree and stdout discipline.shutdown request.