@revund/ts-worker
v0.1.2
Published
Revund's TypeScript / JavaScript AST sidecar — implements the universal revund.worker.v1.Worker gRPC contract.
Maintainers
Readme
@revund/ts-worker
The TypeScript / JavaScript AST sidecar for Revund.
A gRPC server that implements revund.worker.v1.Worker — the universal
contract every Revund worker speaks. Built on ts-morph for AST traversal
and tsc for diagnostics.
Install
npm install -g @revund/ts-workerYou'll also need the revund CLI itself. The
CLI discovers revund-ts-worker on PATH and spawns it on demand.
Usage
The worker is normally launched by the Revund CLI. To run it standalone (for debugging or to share a single instance across reviews):
revund-ts-worker # binds 0.0.0.0:50051
TS_WORKER_PORT=0 revund-ts-worker # OS-assigned port; prints "ready: 0.0.0.0:<port>" on stdoutPoint the CLI at it via the REVUND_WORKERS env var (plain
host:port — the CLI calls Describe to learn the worker's
languages and capabilities):
REVUND_WORKERS=localhost:50051 revund reviewWhat it does
The worker advertises three capabilities via the Describe RPC:
| Capability | RPC | Purpose |
|---|---|---|
| parse | Parse | Returns the universal ParsedFile shape — imports, top-level decls, functions (with hash + canonical hash + blocks), and concern evidence (Presentation/State/Network/IO/Config/Business). |
| resolve_symbols | ResolveSymbols | Given a diff, finds declarations of external symbols referenced in the changed code. |
| diagnostics | RunDiagnostics | Runs tsc --noEmit against the repo and returns errors touching the changed files. |
Environment
| Variable | Default | Purpose |
|---|---|---|
| TS_WORKER_PORT | 50051 | Bind port. Use 0 for OS-assigned (recommended when the CLI spawns the worker). |
| REVUND_WORKER_PROTO | (auto-resolved) | Override path to worker.proto. Auto-resolution covers monorepo, npm-installed, and Docker layouts. |
Contract
The wire contract is defined in
proto/worker/v1/worker.proto,
vendored inside the package and loaded at startup by
@grpc/proto-loader.
License
Apache-2.0
