go/pkg/coredeno/runtime
Claude af98accc03
feat(coredeno): Tier 2 bidirectional bridge — Go↔Deno module lifecycle
Wire the CoreDeno sidecar into a fully bidirectional bridge:

- Deno→Go (gRPC): Deno connects as CoreService client via polyfilled
  @grpc/grpc-js over Unix socket. Polyfill patches Deno 2.x http2 gaps
  (getDefaultSettings, pre-connected socket handling, remoteSettings).
- Go→Deno (JSON-RPC): Go connects to Deno's newline-delimited JSON-RPC
  server for module lifecycle (LoadModule, UnloadModule, ModuleStatus).
  gRPC server direction avoided due to Deno http2.createServer limitations.
- ProcessStart/ProcessStop: gRPC handlers delegate to process.Service
  with manifest permission gating (run permissions).
- Deno runtime: main.ts boots DenoService server, connects CoreService
  client with retry + health-check round-trip, handles SIGTERM shutdown.

40 unit tests + 2 integration tests (Tier 1 boot + Tier 2 bidirectional).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-17 22:43:12 +00:00
..
client.ts feat(coredeno): Tier 2 bidirectional bridge — Go↔Deno module lifecycle 2026-02-17 22:43:12 +00:00
deno.json feat(coredeno): Tier 2 bidirectional bridge — Go↔Deno module lifecycle 2026-02-17 22:43:12 +00:00
deno.lock feat(coredeno): Tier 2 bidirectional bridge — Go↔Deno module lifecycle 2026-02-17 22:43:12 +00:00
main.ts feat(coredeno): Tier 2 bidirectional bridge — Go↔Deno module lifecycle 2026-02-17 22:43:12 +00:00
modules.ts feat(coredeno): Tier 2 bidirectional bridge — Go↔Deno module lifecycle 2026-02-17 22:43:12 +00:00
polyfill.ts feat(coredeno): Tier 2 bidirectional bridge — Go↔Deno module lifecycle 2026-02-17 22:43:12 +00:00
server.ts feat(coredeno): Tier 2 bidirectional bridge — Go↔Deno module lifecycle 2026-02-17 22:43:12 +00:00