@cynsta/witness-node
v0.1.0
Published
Node.js and LangChain JS tracing SDK for Cynsta Witness.
Readme
@cynsta/witness-node
Node.js SDK for sending Cynsta Witness trace events to the ingest API over OTLP/HTTP protobuf.
Install
npm install @cynsta/witness-nodeFor LangChain JS support:
npm install @cynsta/witness-node @langchain/coreDirect usage
import { CynstaTracer } from "@cynsta/witness-node";
const tracer = new CynstaTracer({
ingestEndpoint: process.env.CYNSTA_INGEST_URL,
apiKey: process.env.CYNSTA_INGEST_API_KEY,
mode: "client_trust",
serviceName: "my-worker",
});
tracer.recordLlmInteraction({
model: "gpt-5.2",
prompt: "Summarize this filing.",
completion: "The filing describes...",
provider: "openai",
requestedModel: "gpt-5.2-chat-latest",
resolvedModel: "gpt-5.2",
tokensIn: 128,
tokensOut: 64,
temperature: 0.2,
});
await tracer.flush();
await tracer.shutdown();LangChain JS
import { CynstaTracer } from "@cynsta/witness-node";
import { CynstaLangChainHandler } from "@cynsta/witness-node/langchain";
const tracer = new CynstaTracer({
serviceName: "langchain-worker",
});
const handler = new CynstaLangChainHandler({ tracer });
// Pass `handler` into your LangChain runnable/model callbacks.Environment variables
CYNSTA_INGEST_URLCYNSTA_INGEST_API_KEYINGEST_API_KEYCYNSTA_MODECYNSTA_USER_IDCYNSTA_PROMPT_RESPONSE_ENABLEDCYNSTA_EXPORT_INTERVAL_MSCYNSTA_EXPORT_BATCH_SIZECYNSTA_EXPORT_QUEUE_SIZECYNSTA_EXPORT_TIMEOUT_MS
Notes
- Default transport is OTLP/HTTP protobuf to
http://localhost:4318/v1/traces. client_trustmode emitscynsta.data,cynsta.sequence_index,cynsta.prev_hash, andcynsta.data_hashon every event.cynsta.config_jsonuses the same canonical shape as the Python tracer withkind: "llm_generation_config_v1".
