tachybridge-wasm
v0.1.4
Published
Rust/WASM-based ROS bridge client for topic/service/native action flows
Readme
tachybridge-wasm
tachybridge-wasm is a Rust/WASM-based WebSocket bridge client.
- Designed for tachybridge end-to-end behavior
topicandserviceflows are compatible with rosbridge- Native action support follows tachybridge protocol behavior
Install
npm install tachybridge-wasmNode.js: >=20
No bundler-specific configuration is required. The browser entry inlines the WASM module as base64 so any modern bundler (Next.js / Turbopack / Vite / Webpack / Rollup / esbuild / Parcel) resolves it without aliases, plugins, or post-install hooks.
Usage
import { BridgeClient } from "tachybridge-wasm";
const client = new BridgeClient({ codec: "json", timeoutMs: 5000 });
await client.connect("ws://127.0.0.1:9090");API
connect(url)subscribe(topic, type, callback)subscribe(topic, type, callback, { compression? })unsubscribe(topic)advertise(topic, type)publish(topic, msg)callService(service, type, args, { id?, timeoutMs? })executeCli(command, { id?, timeoutMs? })sendActionGoal(options)cancelActionGoal(options)
Codec
- Default:
json(text frame) - Optional:
cbor(binary frame) - Optional:
auto(decode by payload type)
Compatibility Notes
- Target protocol: tachybridge
- rosbridge compatibility:
topicandserviceoperations - Action compatibility with rosbridge is limited due to event shape differences
Browser and Node Entrypoints
- Browser:
import { BridgeClient } from "tachybridge-wasm" - Node:
import { BridgeClient } from "tachybridge-wasm/node"
