{ "license": "SEE LICENSE IN LICENSE", "name": "@snowluma/protocol", "version": "2.4.2", "private": true, "type": "module", "description": "SnowLuma protocol — the protocol-layer between QQ wire bytes and typed events. Owns: identity service (uid↔uin cache with SQLite persistence), event bus, packet pipeline (incoming SSO packet → QQEventVariant), msg-push decoders, element-builder (MessageElement → wire elems[]), highway upload protocol (file/image/video/ptt), OIDB envelope helper, and the event/notice/request type vocabulary. Consumers (@snowluma/core, @snowluma/onebot) talk to this package through `BridgeContext` for runtime calls and the standalone classes (IdentityService, BridgeEventBus, IncomingPacketPipeline) for composition. Per-file subpath exports mirror the legacy `core/src/bridge/*` layout 1:1 so the previous `import { …} from '../bridge/'` collapses to `import { … } from '@snowluma/protocol/'`.", "main": "./src/index.ts", "types": "./src/index.ts", "exports": { ".": { "types": "./src/index.ts", "default": "./src/index.ts" }, "./events": { "types": "./src/events.ts", "default": "./src/events.ts" }, "./event-bus": { "types": "./src/event-bus.ts", "default": "./src/event-bus.ts" }, "./identity-service": { "types": "./src/identity-service.ts", "default": "./src/identity-service.ts" }, "./group-invite-tracker": { "types": "./src/group-invite-tracker.ts", "default": "./src/group-invite-tracker.ts" }, "./packet-pipeline": { "types": "./src/packet-pipeline.ts", "default": "./src/packet-pipeline.ts" }, "./kick-nt": { "types": "./src/kick-nt.ts", "default": "./src/kick-nt.ts" }, "./element-builder": { "types": "./src/element-builder.ts", "default": "./src/element-builder.ts" }, "./element-manifest": { "types": "./src/element-manifest.ts", "default": "./src/element-manifest.ts" }, "./self-uid": { "types": "./src/self-uid.ts", "default": "./src/self-uid.ts" }, "./sys-face-store": { "types": "./src/sys-face-store.ts", "default": "./src/sys-face-store.ts" }, "./sys-face-storage": { "types": "./src/sys-face-storage.ts", "default": "./src/sys-face-storage.ts" }, "./bridge-oidb": { "types": "./src/bridge-oidb.ts", "default": "./src/bridge-oidb.ts" }, "./oidb-service": { "types": "./src/oidb-service.ts", "default": "./src/oidb-service.ts" }, "./oidb-services/*": { "types": "./src/oidb-services/*.ts", "default": "./src/oidb-services/*.ts" }, "./bridge-context": { "types": "./src/bridge-context.ts", "default": "./src/bridge-context.ts" }, "./qq-info": { "types": "./src/qq-info.ts", "default": "./src/qq-info.ts" }, "./format": { "types": "./src/format.ts", "default": "./src/format.ts" }, "./msg-push": { "types": "./src/msg-push/index.ts", "default": "./src/msg-push/index.ts" }, "./msg-push/*": { "types": "./src/msg-push/*.ts", "default": "./src/msg-push/*.ts" }, "./highway": { "types": "./src/highway/highway-client.ts", "default": "./src/highway/highway-client.ts" }, "./highway/*": { "types": "./src/highway/*.ts", "default": "./src/highway/*.ts" }, "./services/*": { "types": "./src/services/*.ts", "default": "./src/services/*.ts" }, "./web/*": { "types": "./src/web/*.ts", "default": "./src/web/*.ts" }, "./dataline/*": { "types": "./src/dataline/*.ts", "default": "./src/dataline/*.ts" } }, "scripts": { "test": "vitest run --exclude=\"tests/native/**\"", "test:native": "vitest run tests/native", "bench": "vitest bench --run", "typecheck": "tsc --noEmit" }, "dependencies": { "@snowluma/common": "workspace:*", "@snowluma/proto-defs": "workspace:*", "@snowluma/proton": "workspace:*", "@snowluma/sqlite": "workspace:*", "htmlparser2": "10.0.0" }, "devDependencies": { "@types/node": "catalog:", "typescript": "catalog:", "vite": "catalog:", "vitest": "4.1.12" }, "engines": { "node": "^24.22.1 || >=26.12.1" } }