@yefengr/remote-pi 0.9.7 → 0.9.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +11 -2
- package/dist/protocol/types.d.ts +2 -52
- package/dist/protocol/v2/codec.d.ts +5 -25
- package/dist/protocol/v2/codec.js +3 -206
- package/dist/protocol/v2/codec.js.map +1 -1
- package/dist/protocol/v2/index.d.ts +1 -0
- package/dist/protocol/v2/index.js +1 -0
- package/dist/protocol/v2/index.js.map +1 -1
- package/dist/protocol/v2/marker.d.ts +40 -0
- package/dist/protocol/v2/marker.js +47 -0
- package/dist/protocol/v2/marker.js.map +1 -0
- package/dist/protocol/v2/schemas.d.ts +3 -2024
- package/dist/protocol/v2/schemas.js +3 -433
- package/dist/protocol/v2/schemas.js.map +1 -1
- package/dist/runtime/owner_router.js +5 -1
- package/dist/runtime/owner_router.js.map +1 -1
- package/dist/transport/peer_channel.d.ts +2 -11
- package/dist/transport/peer_channel.js +7 -11
- package/dist/transport/peer_channel.js.map +1 -1
- package/dist/transport/relay_client.d.ts +2 -8
- package/dist/transport/relay_client.js +3 -2
- package/dist/transport/relay_client.js.map +1 -1
- package/dist/vendor/protocol/constants.d.ts +1 -0
- package/dist/vendor/protocol/constants.js +1 -0
- package/dist/vendor/protocol/encoding.d.ts +9 -0
- package/dist/vendor/protocol/encoding.js +66 -0
- package/dist/vendor/protocol/outer/codec.d.ts +13 -0
- package/dist/vendor/protocol/outer/codec.js +105 -0
- package/dist/vendor/protocol/outer/index.d.ts +4 -0
- package/dist/vendor/protocol/outer/index.js +4 -0
- package/dist/vendor/protocol/outer/types.d.ts +120 -0
- package/dist/vendor/protocol/outer/types.js +1 -0
- package/dist/vendor/protocol/session/codec.d.ts +41 -0
- package/dist/vendor/protocol/session/codec.js +236 -0
- package/dist/vendor/protocol/session/frames.d.ts +5750 -0
- package/dist/vendor/protocol/session/frames.js +406 -0
- package/dist/vendor/protocol/session/index.d.ts +3 -0
- package/dist/vendor/protocol/session/index.js +3 -0
- package/dist/vendor/protocol/session/schema.d.ts +1060 -0
- package/dist/vendor/protocol/session/schema.js +302 -0
- package/package.json +17 -25
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { EventEmitter } from "node:events";
|
|
2
2
|
import WebSocket from "ws";
|
|
3
|
+
import { PROTOCOL_VERSION } from "../vendor/protocol/outer/index.js";
|
|
3
4
|
import { ed25519Sign } from "../pairing/crypto.js";
|
|
4
5
|
const CONNECT_TIMEOUT_MS = 10_000;
|
|
5
6
|
const AUTH_TIMEOUT_MS = 5_000;
|
|
@@ -141,7 +142,7 @@ export class RelayClient extends EventEmitter {
|
|
|
141
142
|
const hello = options.role === "host"
|
|
142
143
|
? {
|
|
143
144
|
type: "hello",
|
|
144
|
-
protocol_version:
|
|
145
|
+
protocol_version: PROTOCOL_VERSION,
|
|
145
146
|
role: "host",
|
|
146
147
|
pubkey,
|
|
147
148
|
endpoint_id: options.endpointId,
|
|
@@ -149,7 +150,7 @@ export class RelayClient extends EventEmitter {
|
|
|
149
150
|
metadata: options.metadata,
|
|
150
151
|
authorized_owner_ids: options.authorizedOwnerIds,
|
|
151
152
|
}
|
|
152
|
-
: { type: "hello", protocol_version:
|
|
153
|
+
: { type: "hello", protocol_version: PROTOCOL_VERSION, role: "owner", pubkey };
|
|
153
154
|
this.rawSend(ws, JSON.stringify(hello));
|
|
154
155
|
const challengeRaw = await this.nextMessage(ws);
|
|
155
156
|
this.assertPendingConnection(ws);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"relay_client.js","sourceRoot":"","sources":["../../src/transport/relay_client.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"relay_client.js","sourceRoot":"","sources":["../../src/transport/relay_client.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const PROTOCOL_VERSION: 2;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export const PROTOCOL_VERSION = 2;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export type Base64Variant = "standard" | "url";
|
|
2
|
+
export declare function encodeBase64(bytes: Uint8Array, variant?: Base64Variant): string;
|
|
3
|
+
export declare function decodeBase64(value: string, variant?: Base64Variant): Uint8Array;
|
|
4
|
+
export declare function encodeUtf8(value: string): Uint8Array;
|
|
5
|
+
export declare function decodeUtf8(bytes: Uint8Array): string;
|
|
6
|
+
export declare function truncateUtf8(value: string, maxBytes: number): string;
|
|
7
|
+
export declare function toWebSocketUrl(value: string | URL): string;
|
|
8
|
+
/** Canonical device and owner identities are standard Ed25519 base64 values. */
|
|
9
|
+
export declare function normalizeDeviceId(value: string): string;
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
function assertString(value) {
|
|
2
|
+
if (typeof value !== "string")
|
|
3
|
+
throw new TypeError("Expected a base64 string");
|
|
4
|
+
}
|
|
5
|
+
function normalizeBase64(value) {
|
|
6
|
+
const compact = value.replace(/\s+/g, "");
|
|
7
|
+
if (!compact || !/^[A-Za-z0-9+/_-]*={0,2}$/.test(compact))
|
|
8
|
+
throw new Error("Invalid base64");
|
|
9
|
+
const unpadded = compact.replace(/=+$/, "");
|
|
10
|
+
if (unpadded.length % 4 === 1)
|
|
11
|
+
throw new Error("Invalid base64 length");
|
|
12
|
+
return unpadded.replace(/-/g, "+").replace(/_/g, "/") + "=".repeat((4 - (unpadded.length % 4)) % 4);
|
|
13
|
+
}
|
|
14
|
+
export function encodeBase64(bytes, variant = "standard") {
|
|
15
|
+
if (typeof btoa !== "function")
|
|
16
|
+
throw new Error("Browser base64 encoder is unavailable");
|
|
17
|
+
let binary = "";
|
|
18
|
+
for (const byte of bytes)
|
|
19
|
+
binary += String.fromCharCode(byte);
|
|
20
|
+
const encoded = btoa(binary);
|
|
21
|
+
return variant === "url" ? encoded.replace(/\+/g, "-").replace(/\//g, "_").replace(/=+$/, "") : encoded;
|
|
22
|
+
}
|
|
23
|
+
export function decodeBase64(value, variant) {
|
|
24
|
+
assertString(value);
|
|
25
|
+
const normalized = normalizeBase64(value);
|
|
26
|
+
if (variant === "standard" && /[-_]/.test(value))
|
|
27
|
+
throw new Error("Expected standard base64");
|
|
28
|
+
if (variant === "url" && /[+/]/.test(value))
|
|
29
|
+
throw new Error("Expected URL-safe base64");
|
|
30
|
+
if (typeof atob !== "function")
|
|
31
|
+
throw new Error("Browser base64 decoder is unavailable");
|
|
32
|
+
const binary = atob(normalized);
|
|
33
|
+
const bytes = new Uint8Array(binary.length);
|
|
34
|
+
for (let index = 0; index < binary.length; index += 1)
|
|
35
|
+
bytes[index] = binary.charCodeAt(index);
|
|
36
|
+
return bytes;
|
|
37
|
+
}
|
|
38
|
+
export function encodeUtf8(value) {
|
|
39
|
+
return new TextEncoder().encode(value);
|
|
40
|
+
}
|
|
41
|
+
export function decodeUtf8(bytes) {
|
|
42
|
+
return new TextDecoder().decode(bytes);
|
|
43
|
+
}
|
|
44
|
+
export function truncateUtf8(value, maxBytes) {
|
|
45
|
+
const bytes = encodeUtf8(value);
|
|
46
|
+
if (bytes.length <= maxBytes)
|
|
47
|
+
return value;
|
|
48
|
+
let end = Math.max(0, maxBytes);
|
|
49
|
+
while (end > 0 && (bytes[end] & 0xc0) === 0x80)
|
|
50
|
+
end -= 1;
|
|
51
|
+
return decodeUtf8(bytes.slice(0, end));
|
|
52
|
+
}
|
|
53
|
+
export function toWebSocketUrl(value) {
|
|
54
|
+
const url = new URL(value.toString());
|
|
55
|
+
if (url.protocol === "http:")
|
|
56
|
+
url.protocol = "ws:";
|
|
57
|
+
else if (url.protocol === "https:")
|
|
58
|
+
url.protocol = "wss:";
|
|
59
|
+
else if (url.protocol !== "ws:" && url.protocol !== "wss:")
|
|
60
|
+
throw new Error("Relay URL must use http(s) or ws(s)");
|
|
61
|
+
return url.toString();
|
|
62
|
+
}
|
|
63
|
+
/** Canonical device and owner identities are standard Ed25519 base64 values. */
|
|
64
|
+
export function normalizeDeviceId(value) {
|
|
65
|
+
return encodeBase64(decodeBase64(value), "standard");
|
|
66
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { ControlFrame, ControlOutbound, RelayFrame, RouteFrame } from "./types.js";
|
|
2
|
+
export declare function isRecord(value: unknown): value is Record<string, unknown>;
|
|
3
|
+
export declare function parseJson(value: unknown): unknown;
|
|
4
|
+
export declare function decodeRoute(value: unknown): RouteFrame | undefined;
|
|
5
|
+
export declare function decodeControlFrame(value: unknown): ControlFrame | undefined;
|
|
6
|
+
export declare function decodeRelayFrame(value: unknown): RelayFrame | undefined;
|
|
7
|
+
export declare function encodeRoutePayload(payload: Uint8Array | string): string;
|
|
8
|
+
export declare function decodeRoutePayload(route: RouteFrame): Uint8Array | undefined;
|
|
9
|
+
export declare function encodeControlFrame(frame: ControlOutbound): string;
|
|
10
|
+
export declare function decodeChallenge(value: unknown): {
|
|
11
|
+
type: "challenge";
|
|
12
|
+
nonce: string;
|
|
13
|
+
} | undefined;
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
import { decodeBase64, decodeUtf8, encodeBase64, encodeUtf8 } from "../encoding.js";
|
|
2
|
+
export function isRecord(value) {
|
|
3
|
+
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
4
|
+
}
|
|
5
|
+
export function parseJson(value) {
|
|
6
|
+
if (typeof value !== "string" && !(value instanceof Uint8Array))
|
|
7
|
+
return value;
|
|
8
|
+
try {
|
|
9
|
+
return JSON.parse(typeof value === "string" ? value : decodeUtf8(value));
|
|
10
|
+
}
|
|
11
|
+
catch {
|
|
12
|
+
return undefined;
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
function isId(value) {
|
|
16
|
+
return typeof value === "string" && value.length > 0 && value.length <= 256;
|
|
17
|
+
}
|
|
18
|
+
function isUuid(value) {
|
|
19
|
+
return typeof value === "string" && /^[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i.test(value);
|
|
20
|
+
}
|
|
21
|
+
function hasOnlyKeys(value, allowed) {
|
|
22
|
+
return Object.keys(value).every((key) => allowed.includes(key));
|
|
23
|
+
}
|
|
24
|
+
function decodeMetadata(value) {
|
|
25
|
+
if (!isRecord(value) || !hasOnlyKeys(value, ["kind", "name", "cwd", "pid", "started_at", "model", "thinking", "working"]) || (value.kind !== "daemon" && value.kind !== "interactive"))
|
|
26
|
+
return undefined;
|
|
27
|
+
const scalar = (key, type) => value[key] === undefined || typeof value[key] === type;
|
|
28
|
+
if (!scalar("name", "string") || !scalar("cwd", "string") || !scalar("pid", "number") || !scalar("started_at", "number") || !scalar("model", "string") || !scalar("thinking", "string") || !scalar("working", "boolean"))
|
|
29
|
+
return undefined;
|
|
30
|
+
return value;
|
|
31
|
+
}
|
|
32
|
+
function decodeEndpoint(value) {
|
|
33
|
+
if (!isRecord(value) || !isUuid(value.endpoint_id) || !isUuid(value.runtime_instance_id))
|
|
34
|
+
return undefined;
|
|
35
|
+
const metadata = decodeMetadata(value.metadata);
|
|
36
|
+
return metadata ? { endpoint_id: value.endpoint_id, runtime_instance_id: value.runtime_instance_id, metadata } : undefined;
|
|
37
|
+
}
|
|
38
|
+
export function decodeRoute(value) {
|
|
39
|
+
if (!isRecord(value) || value.type !== "route" || (value.purpose !== "pairing" && value.purpose !== "session") || !isId(value.device_id) || !isUuid(value.endpoint_id) || !isUuid(value.runtime_instance_id) || typeof value.ct !== "string")
|
|
40
|
+
return undefined;
|
|
41
|
+
const allowed = new Set(["type", "purpose", "device_id", "endpoint_id", "runtime_instance_id", "target_owner_id", "source_owner_id", "ct"]);
|
|
42
|
+
if (Object.keys(value).some((key) => !allowed.has(key)))
|
|
43
|
+
return undefined;
|
|
44
|
+
if (value.target_owner_id !== undefined && !isId(value.target_owner_id))
|
|
45
|
+
return undefined;
|
|
46
|
+
if (value.source_owner_id !== undefined && !isId(value.source_owner_id))
|
|
47
|
+
return undefined;
|
|
48
|
+
return value;
|
|
49
|
+
}
|
|
50
|
+
export function decodeControlFrame(value) {
|
|
51
|
+
if (!isRecord(value) || typeof value.type !== "string")
|
|
52
|
+
return undefined;
|
|
53
|
+
if (value.type === "pairing_target" && hasOnlyKeys(value, ["type", "in_reply_to", "code", "device_id", "endpoint_id", "runtime_instance_id"]) && isId(value.in_reply_to) && isId(value.code) && isId(value.device_id) && isUuid(value.endpoint_id) && isUuid(value.runtime_instance_id)) {
|
|
54
|
+
return { type: "pairing_target", in_reply_to: value.in_reply_to, code: value.code, device_id: value.device_id, endpoint_id: value.endpoint_id, runtime_instance_id: value.runtime_instance_id };
|
|
55
|
+
}
|
|
56
|
+
if (value.type === "pairing_code_error" && hasOnlyKeys(value, ["type", "in_reply_to", "reason"]) && isId(value.in_reply_to) && (value.reason === "unknown_code" || value.reason === "expired_code" || value.reason === "stale_target" || value.reason === "rate_limited")) {
|
|
57
|
+
return { type: "pairing_code_error", in_reply_to: value.in_reply_to, reason: value.reason };
|
|
58
|
+
}
|
|
59
|
+
if (!isId(value.device_id))
|
|
60
|
+
return undefined;
|
|
61
|
+
if (value.type === "endpoints" && hasOnlyKeys(value, ["type", "device_id", "endpoints"]) && Array.isArray(value.endpoints)) {
|
|
62
|
+
const endpoints = value.endpoints.map(decodeEndpoint);
|
|
63
|
+
return endpoints.every((endpoint) => endpoint !== undefined) ? { type: "endpoints", device_id: value.device_id, endpoints } : undefined;
|
|
64
|
+
}
|
|
65
|
+
if ((value.type === "endpoint_announced" || value.type === "endpoint_updated") && hasOnlyKeys(value, ["type", "device_id", "endpoint_id", "runtime_instance_id", "metadata"]) && isUuid(value.endpoint_id) && isUuid(value.runtime_instance_id)) {
|
|
66
|
+
const metadata = decodeMetadata(value.metadata);
|
|
67
|
+
return metadata ? { type: value.type, device_id: value.device_id, endpoint_id: value.endpoint_id, runtime_instance_id: value.runtime_instance_id, metadata } : undefined;
|
|
68
|
+
}
|
|
69
|
+
if (value.type === "endpoint_ended" && hasOnlyKeys(value, ["type", "device_id", "endpoint_id", "runtime_instance_id"]) && isUuid(value.endpoint_id) && isUuid(value.runtime_instance_id))
|
|
70
|
+
return { type: "endpoint_ended", device_id: value.device_id, endpoint_id: value.endpoint_id, runtime_instance_id: value.runtime_instance_id };
|
|
71
|
+
return undefined;
|
|
72
|
+
}
|
|
73
|
+
export function decodeRelayFrame(value) {
|
|
74
|
+
const route = decodeRoute(value);
|
|
75
|
+
if (route)
|
|
76
|
+
return { kind: "route", route };
|
|
77
|
+
const control = decodeControlFrame(value);
|
|
78
|
+
return control ? { kind: "control", frame: control } : undefined;
|
|
79
|
+
}
|
|
80
|
+
export function encodeRoutePayload(payload) {
|
|
81
|
+
return encodeBase64(typeof payload === "string" ? encodeUtf8(payload) : payload, "standard");
|
|
82
|
+
}
|
|
83
|
+
export function decodeRoutePayload(route) {
|
|
84
|
+
try {
|
|
85
|
+
return decodeBase64(route.ct, "standard");
|
|
86
|
+
}
|
|
87
|
+
catch {
|
|
88
|
+
return undefined;
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
export function encodeControlFrame(frame) {
|
|
92
|
+
return JSON.stringify(frame);
|
|
93
|
+
}
|
|
94
|
+
export function decodeChallenge(value) {
|
|
95
|
+
const parsed = parseJson(value);
|
|
96
|
+
if (!isRecord(parsed) || !hasOnlyKeys(parsed, ["type", "nonce"]) || parsed.type !== "challenge" || typeof parsed.nonce !== "string")
|
|
97
|
+
return undefined;
|
|
98
|
+
try {
|
|
99
|
+
decodeBase64(parsed.nonce, "standard");
|
|
100
|
+
}
|
|
101
|
+
catch {
|
|
102
|
+
return undefined;
|
|
103
|
+
}
|
|
104
|
+
return { type: "challenge", nonce: parsed.nonce };
|
|
105
|
+
}
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
import type { PROTOCOL_VERSION } from "../constants.js";
|
|
2
|
+
export type EndpointMetadata = {
|
|
3
|
+
kind: "daemon" | "interactive";
|
|
4
|
+
name?: string | null;
|
|
5
|
+
cwd?: string | null;
|
|
6
|
+
pid?: number | null;
|
|
7
|
+
started_at?: number | null;
|
|
8
|
+
model?: string | null;
|
|
9
|
+
thinking?: string | null;
|
|
10
|
+
working?: boolean | null;
|
|
11
|
+
};
|
|
12
|
+
export type EndpointInfo = {
|
|
13
|
+
endpoint_id: string;
|
|
14
|
+
runtime_instance_id: string;
|
|
15
|
+
metadata: EndpointMetadata;
|
|
16
|
+
};
|
|
17
|
+
export type RoutePurpose = "pairing" | "session";
|
|
18
|
+
export type RouteFrame = {
|
|
19
|
+
type: "route";
|
|
20
|
+
purpose: RoutePurpose;
|
|
21
|
+
device_id: string;
|
|
22
|
+
endpoint_id: string;
|
|
23
|
+
runtime_instance_id: string;
|
|
24
|
+
target_owner_id?: string;
|
|
25
|
+
source_owner_id?: string;
|
|
26
|
+
ct: string;
|
|
27
|
+
};
|
|
28
|
+
export type OwnerHelloFrame = {
|
|
29
|
+
type: "hello";
|
|
30
|
+
protocol_version: typeof PROTOCOL_VERSION;
|
|
31
|
+
role: "owner";
|
|
32
|
+
pubkey: string;
|
|
33
|
+
};
|
|
34
|
+
export type HostHelloFrame = {
|
|
35
|
+
type: "hello";
|
|
36
|
+
protocol_version: typeof PROTOCOL_VERSION;
|
|
37
|
+
role: "host";
|
|
38
|
+
pubkey: string;
|
|
39
|
+
endpoint_id: string;
|
|
40
|
+
runtime_instance_id: string;
|
|
41
|
+
metadata: EndpointMetadata;
|
|
42
|
+
authorized_owner_ids: readonly string[];
|
|
43
|
+
};
|
|
44
|
+
export type HelloFrame = OwnerHelloFrame | HostHelloFrame;
|
|
45
|
+
export type ChallengeFrame = {
|
|
46
|
+
type: "challenge";
|
|
47
|
+
nonce: string;
|
|
48
|
+
};
|
|
49
|
+
export type AuthFrame = {
|
|
50
|
+
type: "auth";
|
|
51
|
+
sig: string;
|
|
52
|
+
};
|
|
53
|
+
export type EndpointUpdateFrame = {
|
|
54
|
+
type: "endpoint_update";
|
|
55
|
+
metadata?: EndpointMetadata;
|
|
56
|
+
authorized_owner_ids?: readonly string[];
|
|
57
|
+
};
|
|
58
|
+
export type PairingOfferFrame = {
|
|
59
|
+
type: "pairing_offer";
|
|
60
|
+
code: string;
|
|
61
|
+
endpoint_id: string;
|
|
62
|
+
runtime_instance_id: string;
|
|
63
|
+
expires_at: number;
|
|
64
|
+
};
|
|
65
|
+
export type HostControlOutbound = EndpointUpdateFrame | PairingOfferFrame;
|
|
66
|
+
export type PairingTargetControl = {
|
|
67
|
+
type: "pairing_target";
|
|
68
|
+
in_reply_to: string;
|
|
69
|
+
code: string;
|
|
70
|
+
device_id: string;
|
|
71
|
+
endpoint_id: string;
|
|
72
|
+
runtime_instance_id: string;
|
|
73
|
+
};
|
|
74
|
+
export type PairingCodeErrorReason = "unknown_code" | "expired_code" | "stale_target" | "rate_limited";
|
|
75
|
+
export type PairingCodeErrorControl = {
|
|
76
|
+
type: "pairing_code_error";
|
|
77
|
+
in_reply_to: string;
|
|
78
|
+
reason: PairingCodeErrorReason;
|
|
79
|
+
};
|
|
80
|
+
export type EndpointsControl = {
|
|
81
|
+
type: "endpoints";
|
|
82
|
+
device_id: string;
|
|
83
|
+
endpoints: EndpointInfo[];
|
|
84
|
+
};
|
|
85
|
+
export type EndpointAnnouncedControl = {
|
|
86
|
+
type: "endpoint_announced";
|
|
87
|
+
device_id: string;
|
|
88
|
+
endpoint_id: string;
|
|
89
|
+
runtime_instance_id: string;
|
|
90
|
+
metadata: EndpointMetadata;
|
|
91
|
+
};
|
|
92
|
+
export type EndpointUpdatedControl = {
|
|
93
|
+
type: "endpoint_updated";
|
|
94
|
+
device_id: string;
|
|
95
|
+
endpoint_id: string;
|
|
96
|
+
runtime_instance_id: string;
|
|
97
|
+
metadata: EndpointMetadata;
|
|
98
|
+
};
|
|
99
|
+
export type EndpointEndedControl = {
|
|
100
|
+
type: "endpoint_ended";
|
|
101
|
+
device_id: string;
|
|
102
|
+
endpoint_id: string;
|
|
103
|
+
runtime_instance_id: string;
|
|
104
|
+
};
|
|
105
|
+
export type ControlFrame = PairingTargetControl | PairingCodeErrorControl | EndpointsControl | EndpointAnnouncedControl | EndpointUpdatedControl | EndpointEndedControl;
|
|
106
|
+
export type ControlOutbound = {
|
|
107
|
+
type: "resolve_pairing_code";
|
|
108
|
+
request_id: string;
|
|
109
|
+
code: string;
|
|
110
|
+
} | {
|
|
111
|
+
type: "subscribe_endpoints";
|
|
112
|
+
device_ids: string[];
|
|
113
|
+
};
|
|
114
|
+
export type RelayFrame = {
|
|
115
|
+
kind: "route";
|
|
116
|
+
route: RouteFrame;
|
|
117
|
+
} | {
|
|
118
|
+
kind: "control";
|
|
119
|
+
frame: ControlFrame;
|
|
120
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import type { ClientFrame, ServerFrame } from "./frames.js";
|
|
2
|
+
import type { TimelineEvent, TimelinePartial } from "./schema.js";
|
|
3
|
+
export declare const DECODE_ERROR_CODES: {
|
|
4
|
+
readonly invalid: "invalid";
|
|
5
|
+
readonly unsupported: "unsupported";
|
|
6
|
+
readonly version: "version";
|
|
7
|
+
readonly schema: "schema";
|
|
8
|
+
readonly size: "size";
|
|
9
|
+
readonly direction: "direction";
|
|
10
|
+
};
|
|
11
|
+
export type DecodeErrorCode = (typeof DECODE_ERROR_CODES)[keyof typeof DECODE_ERROR_CODES];
|
|
12
|
+
export declare class DecodeError extends Error {
|
|
13
|
+
readonly code: DecodeErrorCode;
|
|
14
|
+
readonly name = "DecodeError";
|
|
15
|
+
constructor(code: DecodeErrorCode, message: string, options?: {
|
|
16
|
+
cause?: unknown;
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
export declare function isRecord(value: unknown): value is Record<string, unknown>;
|
|
20
|
+
export declare function getUtf8ByteLengthV2(value: unknown): number;
|
|
21
|
+
export declare function parseProtocolJsonV2(raw: unknown, maxBytes?: number): unknown;
|
|
22
|
+
export declare function decodeClientFrameV2(raw: unknown): ClientFrame;
|
|
23
|
+
export declare function decodeServerFrameV2(raw: unknown): ServerFrame;
|
|
24
|
+
export declare function encodeClientFrameV2(frame: ClientFrame): Uint8Array;
|
|
25
|
+
export declare function encodeServerFrameV2(frame: ServerFrame): Uint8Array;
|
|
26
|
+
export declare function encodeClientFrameTextV2(frame: ClientFrame): string;
|
|
27
|
+
export declare function encodeServerFrameTextV2(frame: ServerFrame): string;
|
|
28
|
+
export declare function validateFragmentSizeV2(fragment: unknown): number;
|
|
29
|
+
export declare function validateHistoryChunkSizeV2(chunk: unknown): number;
|
|
30
|
+
export declare function validateWindowSizeV2(events: readonly unknown[]): number;
|
|
31
|
+
export declare function validateEncodedSizeV2(value: unknown, maxBytes?: number): number;
|
|
32
|
+
export declare function parseTimelineEventV2(raw: unknown): TimelineEvent;
|
|
33
|
+
export declare function parseTimelinePartialV2(raw: unknown): TimelinePartial;
|
|
34
|
+
export declare function validateFrameSizeV2(raw: unknown, maxBytes?: number): number;
|
|
35
|
+
export declare const validateTimelineEventFragmentV2: typeof validateFragmentSizeV2;
|
|
36
|
+
export declare const validateSessionHistoryChunkV2: typeof validateHistoryChunkSizeV2;
|
|
37
|
+
export declare const validateTimelineWindowV2: typeof validateWindowSizeV2;
|
|
38
|
+
export declare const validateFrameSize: typeof validateFrameSizeV2;
|
|
39
|
+
export declare const validateFragmentSize: typeof validateFragmentSizeV2;
|
|
40
|
+
export declare const validateSessionHistoryChunkSize: typeof validateHistoryChunkSizeV2;
|
|
41
|
+
export declare const validateWindowSize: typeof validateWindowSizeV2;
|