feat: expose workflow console api and RPC service with @effect/rpc

- Replace manual JSON-RPC protocol handling with @effect/rpc typed RPCs
- Add evidence capture layer (per-call Ref, response body buffering/reconstruction)
- Add service module with typed dispatch and layer composition via Layer.mergeAll
- Add Hono API with /api/health, /api/connect, /api/rpc routes
- Add browser DTO contracts, error mapping, body size limits
- Add 13 Hono route tests and 12 target-policy tests passing
- Delete old protocol.ts and protocol.test.ts (replaced by rpcs.ts/service.ts)
This commit is contained in:
lda
2026-07-02 12:18:25 +07:00 Verified
parent e149a39b9e
commit 60a7dd2830
16 changed files with 1188 additions and 205 deletions
+16 -7
View File
@@ -11,11 +11,20 @@ export {
export { normalizeLoopbackTarget } from "./target-policy.js";
export { decodeRpcResponse } from "./protocol.js";
export { WorkflowHealth, WorkflowSourcesList, WorkflowRpcs } from "./rpcs.js";
export type {
JsonRpcRequest,
JsonRpcResponse,
JsonRpcSuccess,
JsonRpcFailure,
} from "./protocol.js";
export { WorkflowRpc, makeWorkflowRpcLayer } from "./service.js";
export type { OperationExchange, WorkflowRpcError, OperationName } from "./service.js";
export {
getOperationMeta,
listOperations,
} from "./method-registry.js";
export type { OperationMeta } from "./method-registry.js";
export {
EvidenceRef,
makeEvidenceLayer,
withEvidenceCapture,
} from "./evidence.js";
export type { EvidenceRecord } from "./evidence.js";