mirror of
https://github.com/hanzoai/o11y.git
synced 2026-10-15 12:58:33 +00:00
frontend/package.json claimed the name @hanzo/o11y. It is the web app — it has
src/components — so the SDK name was taken by something that is not an SDK. It
was never published, so the name was free: the app is now o11y-frontend and
private, and @hanzo/o11y is sdk/js.
The SDK is ZAP-native with no OpenTelemetry anywhere. A span is written in the
shape that goes on the wire, so export is JSON plus a frame and there is no
second span model in between. src/wire.ts mirrors luxfi/trace.SpanBatch field
for field; the frame matches pkg/zapreceiver — envelope version 2, message type
in the flags high byte, JSON in the root object's first field. Verified
byte-identical against the Go emitter's FinishWithFlags(MsgSpanBatch << 8).
⚠️ Encoding is done; delivery is not, and the package is private because of it.
pkg/zapreceiver is a ZAP node, reached in Go by node.ConnectDirect() and a send
to the resolved peer. @zap-proto/zap 1.6.0 is wire format only — Builder,
Message, envelopes, Pipeliner, and no node, client, connect or peer export. This
writes a correct frame onto a bare socket, the receiver accepts the connection
and decodes nothing. Proven end to end against a live receiver, not assumed.
Closing it needs the node/peer layer in @zap-proto/zap, after which O11y.send
swaps a socket write for a peer send and nothing else changes.
Frontend components belong in @hanzo/ui and have not moved yet.
64 lines
1.9 KiB
JSON
64 lines
1.9 KiB
JSON
{
|
|
"name": "@hanzo/o11y",
|
|
"version": "0.1.0",
|
|
"lockfileVersion": 3,
|
|
"requires": true,
|
|
"packages": {
|
|
"": {
|
|
"name": "@hanzo/o11y",
|
|
"version": "0.1.0",
|
|
"license": "BSD-3-Clause",
|
|
"dependencies": {
|
|
"@zap-proto/zap": "^1.6.0"
|
|
},
|
|
"devDependencies": {
|
|
"@types/node": "^22.0.0",
|
|
"typescript": "^5.6.0"
|
|
},
|
|
"engines": {
|
|
"node": ">=18.12.0"
|
|
}
|
|
},
|
|
"node_modules/@types/node": {
|
|
"version": "22.20.1",
|
|
"resolved": "https://registry.npmjs.org/@types/node/-/node-22.20.1.tgz",
|
|
"integrity": "sha512-EANqOCF9QFyra+4pfxUcX9STKJpCLjMbObVzljIJomAWSnuSIEAvyzEU53GaajbXJEgdh0iEcPL+DGvpUd4k1Q==",
|
|
"dev": true,
|
|
"license": "MIT",
|
|
"dependencies": {
|
|
"undici-types": "~6.21.0"
|
|
}
|
|
},
|
|
"node_modules/@zap-proto/zap": {
|
|
"version": "1.6.0",
|
|
"resolved": "https://registry.npmjs.org/@zap-proto/zap/-/zap-1.6.0.tgz",
|
|
"integrity": "sha512-1avImBBILyNbwP+PngKAeM0vPfhZTBTeRs+Xge766t3Zdynvn5yVryYyCHrCJXQBNrb+lqa+tWYYsYF7aADaZA==",
|
|
"license": "MIT",
|
|
"bin": {
|
|
"zapgen": "dist/bin/zapgen.mjs"
|
|
}
|
|
},
|
|
"node_modules/typescript": {
|
|
"version": "5.9.3",
|
|
"resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz",
|
|
"integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==",
|
|
"dev": true,
|
|
"license": "Apache-2.0",
|
|
"bin": {
|
|
"tsc": "bin/tsc",
|
|
"tsserver": "bin/tsserver"
|
|
},
|
|
"engines": {
|
|
"node": ">=14.17"
|
|
}
|
|
},
|
|
"node_modules/undici-types": {
|
|
"version": "6.21.0",
|
|
"resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz",
|
|
"integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==",
|
|
"dev": true,
|
|
"license": "MIT"
|
|
}
|
|
}
|
|
}
|