@mazac-fox/concord-shared
v0.1.1
Published
Shared wire protocol and configuration helpers for Concord
Readme
@mazac-fox/concord-shared
Shared Concord TypeScript protocol, configuration, range, and IPC framing helpers.
This package intentionally contains no daemon runtime code. It is a compile-time dependency for both the plugin and tooling that needs to inspect wire types or config shapes without pulling in the full plugin.
Contents
| Module | Description |
|---|---|
| protocol.ts | Wire types for all JSON-RPC requests and responses. Authoritative source for RPC method names and payload shapes. |
| config.ts | ConcordConfig shape loaded from concord.config.jsonc. Includes ndjsonMirror, soft-wait, and timeout fields. |
| ranges.ts | ByteRange, LineRange, and range comparison helpers used by the lock model. |
| correlation.ts | Fleet correlation field types (workspaceId, planId, waveId, agentRunId, toolCallId, correlationId) added in Wave 4. |
IPC framing
The daemon communicates over Unix domain sockets (POSIX) or Windows named pipes using a simple length-prefix framing protocol:
- 4-byte big-endian unsigned integer: byte length of the following JSON body
- JSON body: request or response object
Both plugin and daemon must agree on this framing. Do not change it without updating both packages/concord-plugin/src/daemon/ and packages/concord-daemon/src/rpc.rs.
Correlation fields (Wave 4)
protocol.ts defines optional camelCase fleet fields that appear on locks.acquire, session.sync_context, events.query, and related payloads: workspaceId, planId, waveId, agentRunId, toolCallId. These are additive — older clients that omit them continue to work.
Import style
Import from explicit subpaths:
import type { LockAcquireRequest } from "@mazac-fox/concord-shared/protocol";
import type { ConcordConfig } from "@mazac-fox/concord-shared/config";
import { overlaps } from "@mazac-fox/concord-shared/ranges";Full documentation
See the top-level README for architecture, wire protocol, and fleet cross-references.
