Move database work off the main thread on Node.js 24 and improve message handling and runtime diagnostics. Preserve migration, restart, and concurrency coverage with the async SQLite driver.
130 lines
4.1 KiB
JSON
130 lines
4.1 KiB
JSON
{
|
|
"license": "SEE LICENSE IN LICENSE",
|
|
"name": "@snowluma/protocol",
|
|
"version": "1.14.22",
|
|
"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"
|
|
},
|
|
"./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:*"
|
|
},
|
|
"devDependencies": {
|
|
"@types/node": "catalog:",
|
|
"typescript": "catalog:",
|
|
"vite": "catalog:",
|
|
"vitest": "^4.1.4"
|
|
},
|
|
"engines": {
|
|
"node": ">=24"
|
|
}
|
|
}
|