Skip to content

JavaScript/TypeScript 核心 API

@nnrp/core 包含 JavaScript role package 与 transport package 共享的运行时无关类型和 helper。

常量

名称类型
NNRP_PROTOCOL_NAME"NNRP"协议名。
NNRP_PROTOCOL_VERSION"1.0.0"协议版本。
NNRP_STANDARD_INPUT_PROFILESreadonly tupletensortokenstructured_eventtool_delta

createCapabilityManifest

创建按 build mode 区分的 capability manifest。

参数类型必填说明
optionsNnrpCapabilityManifestOptionsBuild mode、transport 和 capability claim。
返回
NnrpCapabilityManifest

createBackendNativeManifest

创建默认 backend native capability manifest。

参数类型必填说明
capabilitiesreadonly NnrpCapability[]额外 capability claim。
返回
NnrpCapabilityManifest

createBrowserWasmManifest

创建默认 browser WASM capability manifest。

参数类型必填说明
capabilitiesreadonly NnrpCapability[]额外 capability claim。
返回
NnrpCapabilityManifest

selectTransport

按策略选择评分最高的可用 transport candidate。

参数类型必填说明
candidatesreadonly NnrpTransportCandidate[]候选 transport。
policyNnrpTransportPolicyauto、一种 prefer-* 策略或一种 force-* 策略。
返回
NnrpTransportSelection

createTransportCandidates

根据本地和 peer manifest 创建 transport candidates。

参数类型必填说明
optionsNnrpTransportCandidateOptions本地 manifest、peer manifest 和可选 score。
返回
readonly NnrpTransportCandidate[]

createTransportSelectionSummary

创建供诊断、conformance 和 benchmark 使用的精简 selection summary。

参数类型必填说明
selectionNnrpTransportSelection完整 selection 对象。
返回
NnrpTransportSelectionSummary

parseApplicationEndpoint

解析并校验公开的应用 endpoint。该函数只接受 nnrp://nnrps://,返回保留 authority、path、query 与安全意图的 URL

参数类型必填说明
endpointstring | URL公开 NNRP 应用 endpoint。
返回可能抛出
URLendpoint 为空、格式错误或使用 Provider-local scheme 时抛出 NnrpProtocolError

resolveProviderEndpoint

在 Provider 选择完成后解析 carrier-local endpoint。TCP 与 QUIC 从应用 endpoint 的 authority 派生 host:port,未声明端口时使用 4433;IPC 与 WebSocket 必须提供匹配的显式 Provider endpoint。

参数类型必填说明
endpointstring | URL公开 nnrp://nnrps:// endpoint。
transportNnrpTransportKind已选择的 carrier。
providerEndpointstring | URL显式 carrier-local endpoint。
返回可能抛出
string所选 carrier 无法解析传入 locator 时抛出 NnrpTransportError

normalizeSubmitRequest

校验并规范化 submit payload。

参数类型必填说明
requestNnrpSubmitRequestSubmit request。
optionsNormalizeSubmitRequestOptionsPayload copy 和 strict profile 选项。
返回可能抛出
NnrpNormalizedSubmitRequestNnrpProtocolError

normalizeOperationRef

规范化 operation id。

参数类型必填说明
operationbigint | numberOperation id。
返回可能抛出
bigint负数或 unsafe id 会抛出 NnrpProtocolError

validateEventPollOptions

校验事件轮询选项。

参数类型必填说明
optionsNnrpEventPollOptionsTimeout 选项。
返回可能抛出
voidtimeout 非法时抛出 NnrpProtocolError

数据类型

Capability 与 Transport

类型说明
NnrpBuildMode"backend-native" | "browser-wasm"
NnrpTransportKind"tcp" | "quic" | "ipc" | "websocket"
NnrpTransportPolicy"auto""prefer-quic""prefer-tcp""prefer-ipc""prefer-websocket" 以及四种对应的 force-* 值。
NnrpCapabilityclient.sessionserver.sessionnative.loaderwasm.loadercacheschemarecovery 等能力声明。
NnrpCapabilityManifest协议名/版本、build mode、transports 和 capabilities。
NnrpTransportCandidate候选 transport、可用性、score、拒绝原因和诊断。
NnrpTransportSelectionSummary被选中的 transport 和 rejected candidates。

Submit、Result 与 Event

类型说明
NnrpInputProfile标准 profile:tensortokenstructured_eventtool_delta
NnrpSubmitMode"inline" | "object-reference"
NnrpSubmitRequestFrame id、payload/tensors、input profile、submit mode、cache key、descriptor 和 metadata。
NnrpResultFrame id、可选 payload、可选 diagnostic 和 metadata。
NnrpRuntimeEventResult、flow update、result hint、drop、close 或 diagnostic event。
NnrpEventPollOptions可选 timeoutMillis

错误

Class说明
NnrpError带结构化 diagnostic 的基础错误。
NnrpCapabilityErrorCapability、manifest 或 unsupported runtime 错误。
NnrpTransportErrorTransport 错误。
NnrpTimeoutErrorTimeout 错误。
NnrpProtocolError请求形态或协议校验错误。

NNRP Documentation