@ajna-inc/go-sidecar
v0.1.0
Published
Go WebTransport sidecar launcher and factory for Credo-TS
Readme
@credo-ts/go-sidecar
Launcher and factory utilities for the Credo WebTransport Go sidecar.
Install
This package is standalone. It expects the Go sidecar binary to be available on PATH or provided explicitly.
API
resolveBinary({ binPath?, fallbackName? })→ stringstartSidecar(binary, options)→ ChildProcess{ mode: 'sidecar-uds', path: '/var/run/credo-wt.sock' }{ mode: 'sidecar-tcp', host?: '127.0.0.1', port: 7777 }
makeFactory(options)→ WebTransportFactory bound to the sidecar IPC endpoint.
Example
import { Agent } from '@credo-ts/core'
import { createNodeAgentDependencies } from '@credo-ts/node'
import { resolveBinary, startSidecar } from '@credo-ts/go-sidecar'
import { WebTransportOutboundTransport } from '@credo-ts/core'
import { WebTransportInboundTransport, SidecarServerAdapter } from '@credo-ts/node'
const sidecarBin = resolveBinary()
const ipc = { mode: 'sidecar-uds' as const, path: '/tmp/credo-wt.sock' }
const child = startSidecar(sidecarBin, ipc)
const dependencies = createNodeAgentDependencies({ webTransport: ipc })
const agent = new Agent({ config, dependencies, modules })
agent.registerOutboundTransport(new WebTransportOutboundTransport())
agent.registerInboundTransport(new WebTransportInboundTransport({ adapter: new SidecarServerAdapter() }))
await agent.initialize()