{"_id":"@cyberxninja-omp/pi-wire","name":"@cyberxninja-omp/pi-wire","dist-tags":{"latest":"17.5.3"},"versions":{"17.5.3":{"type":"module","name":"@cyberxninja-omp/pi-wire","version":"17.5.3","description":"Shared wire protocol types for omp packages","homepage":"https://omp.sh","author":{"name":"Can Boluk"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/can1357/oh-my-pi.git","directory":"packages/wire"},"bugs":{"url":"https://github.com/can1357/oh-my-pi/issues"},"keywords":["wire","protocol","types","collab"],"main":"./src/index.ts","types":"./dist/types/index.d.ts","scripts":{"check":"biome check . && bun run check:types","check:types":"tsgo -p tsconfig.json --noEmit","lint":"biome lint .","fix":"biome check --write --unsafe .","fmt":"biome format --write .","test":"bun test --parallel"},"devDependencies":{"@types/bun":"^1.3.14"},"engines":{"bun":">=1.3.14"},"exports":{".":{"types":"./dist/types/index.d.ts","import":"./src/index.ts"},"./*":{"types":"./dist/types/*.d.ts","import":"./src/*.ts"},"./*.js":"./src/*.ts"},"_id":"@cyberxninja-omp/pi-wire@17.5.3","_integrity":"sha512-PrzrDVHJuj2NoioZza5fdrsKlzDsuxN6+kBYHP3AAOjKFEjttZZRX62yqvtV4EGGpU3p7FMc/Mit7Hpwwg4G3Q==","_resolved":"/tmp/cxn-pack-tdczDI/cyberxninja-omp-pi-wire-17.5.3.tgz","_from":"file:/tmp/cxn-pack-tdczDI/cyberxninja-omp-pi-wire-17.5.3.tgz","_nodeVersion":"24.3.0","_npmVersion":"11.17.0","dist":{"integrity":"sha512-PrzrDVHJuj2NoioZza5fdrsKlzDsuxN6+kBYHP3AAOjKFEjttZZRX62yqvtV4EGGpU3p7FMc/Mit7Hpwwg4G3Q==","shasum":"bc791217101852c4db123d7e7fc9909dd7f05615","tarball":"https://registry.npmjs.org/@cyberxninja-omp/pi-wire/-/pi-wire-17.5.3.tgz","fileCount":5,"unpackedSize":34159,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQChBD1isfP40/MS9HJgRGSjXvkyER2VGu0jDgyYow2aXgIhAO5jQb9YQID+yU+2SeYE7x7ZZyIhWqPad0nZBP2vwuQE"}]},"_npmUser":{"name":"cyberxninja","email":"jailbreaker20th@gmail.com"},"directories":{},"maintainers":[{"name":"cyberxninja","email":"jailbreaker20th@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-wire_17.5.3_1787233020199_0.47409535602998054"},"_hasShrinkwrap":false}},"time":{"created":"2026-08-20T13:36:59.901Z","17.5.3":"2026-08-20T13:37:00.345Z","modified":"2026-08-20T13:37:00.604Z"},"maintainers":[{"name":"cyberxninja","email":"jailbreaker20th@gmail.com"}],"description":"Shared wire protocol types for omp packages","homepage":"https://omp.sh","keywords":["wire","protocol","types","collab"],"repository":{"type":"git","url":"git+https://github.com/can1357/oh-my-pi.git","directory":"packages/wire"},"author":{"name":"Can Boluk"},"bugs":{"url":"https://github.com/can1357/oh-my-pi/issues"},"license":"MIT","readme":"# @cyberxninja-omp/pi-wire\n\nShared TypeScript wire contracts for omp collab live sessions.\n\nThe package contains only JSON-safe protocol shapes and constants. It has no runtime dependencies and is consumed by both the host CLI (`@cyberxninja-omp/pi-coding-agent`) and browser guest (`@cyberxninja-omp/collab-web`).\n\n## Exports\n\n```ts\nimport type { GuestFrame, HostFrame, SessionEntry } from \"@cyberxninja-omp/pi-wire\";\nimport { COLLAB_PROTO, DEFAULT_RELAY_URL, ENVELOPE_HEADER_LENGTH } from \"@cyberxninja-omp/pi-wire\";\n```\n\nKey groups:\n\n- message and transcript entry shapes rendered by collab guests,\n- live agent event and task-subagent bus payload shapes,\n- `GuestFrame`, `HostFrame`, and `WireFrame` unions for AES-GCM sealed payloads,\n- relay control TEXT messages,\n- link/envelope constants shared by host, guest, and local relay code.\n\n## Protocol boundary\n\n`pi-wire` does not encode, decode, validate, encrypt, or route frames. It defines the shared contract used at those boundaries:\n\n1. callers build a `GuestFrame` or `HostFrame`,\n2. transport code serializes it as JSON inside an encrypted payload,\n3. relay code routes opaque envelopes using the plaintext peer-id prefix,\n4. receivers switch on `frame.t` and tolerate unknown future fields.\n\nKeep protocol changes backward-aware: bump `COLLAB_PROTO` only when old hosts and guests must reject each other.\n","readmeFilename":"README.md","_rev":"1-1ed1db9d2f6d8d5e0a690d19a38c3e0d"}