Files
SnowLuma/packages/protocol/package.json
T
TanTan fa9c73363d
Dev Build / cleanup (push) Waiting to run
Dev Build / typecheck (push) Waiting to run
Publish MCP to npm / Build, test, and publish MCP (push) Waiting to run
Publish SDK to npm / Build, test, and publish SDK (push) Waiting to run
Sync action catalog to docs / sync (push) Waiting to run
Publish UI to npm / Build and publish UI (push) Waiting to run
Build and Release / preflight (push) Waiting to run
SnowLuma v2.4.2 source snapshot
2026-11-13 09:02:00 +08:00

135 lines
4.3 KiB
JSON

{
"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/<x>'` collapses to `import { … } from '@snowluma/protocol/<x>'`.",
"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"
}
}