@yefengr/remote-pi 0.9.7 → 0.9.9
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 +12 -2
- package/dist/pairing/identity-keyring.d.ts +22 -0
- package/dist/pairing/identity-keyring.js +94 -0
- package/dist/pairing/identity-keyring.js.map +1 -0
- package/dist/pairing/identity-lock.d.ts +14 -0
- package/dist/pairing/identity-lock.js +116 -0
- package/dist/pairing/identity-lock.js.map +1 -0
- package/dist/pairing/qr.d.ts +2 -3
- package/dist/pairing/qr.js +2 -3
- package/dist/pairing/qr.js.map +1 -1
- package/dist/pairing/storage.d.ts +19 -61
- package/dist/pairing/storage.js +196 -314
- package/dist/pairing/storage.js.map +1 -1
- 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 +4 -0
- package/dist/vendor/protocol/constants.js +4 -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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"storage.js","sourceRoot":"","sources":["../../src/pairing/storage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"storage.js","sourceRoot":"","sources":["../../src/pairing/storage.ts"],"names":[],"mappings":"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"}
|
package/dist/protocol/types.d.ts
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import type { WireImage, ThinkingLevel, WireModel } from "../vendor/protocol/session/index.js";
|
|
2
|
+
export type { WireImage, ThinkingLevel, WireModel } from "../vendor/protocol/session/index.js";
|
|
1
3
|
export type PairErrorCode = "token_expired" | "token_consumed" | "token_unknown" | "internal_error";
|
|
2
4
|
export type StreamingBehavior = "steer";
|
|
3
5
|
export type QueuedMessageItem = {
|
|
@@ -186,19 +188,6 @@ export type ClientMessage = {
|
|
|
186
188
|
type: "list_models";
|
|
187
189
|
id: string;
|
|
188
190
|
} | ExtensionUiResponseWire;
|
|
189
|
-
/**
|
|
190
|
-
* Plan/30 — one inline image attachment on a `user_message`. Mirrors the
|
|
191
|
-
* SDK's `ImageContent` ({@link https }) split across the wire: `data` is the
|
|
192
|
-
* base64-encoded (compressed) image bytes, `mime` its content type
|
|
193
|
-
* (e.g. `"image/jpeg"`). The Pi maps `{ data, mime }` → the SDK's
|
|
194
|
-
* `{ type:"image", data, mimeType }` before handing it to the model.
|
|
195
|
-
*/
|
|
196
|
-
export interface WireImage {
|
|
197
|
-
/** Base64-encoded image bytes (compressed app-side). */
|
|
198
|
-
data: string;
|
|
199
|
-
/** MIME type, e.g. `"image/jpeg"`. Maps to the SDK's `mimeType`. */
|
|
200
|
-
mime: string;
|
|
201
|
-
}
|
|
202
191
|
export type Usage = {
|
|
203
192
|
input_tokens: number;
|
|
204
193
|
output_tokens: number;
|
|
@@ -355,43 +344,4 @@ export type ServerMessage = {
|
|
|
355
344
|
* checking from the compiler.
|
|
356
345
|
*/
|
|
357
346
|
export type ActionName = "session_new" | "session_compact" | "model_set" | "thinking_set";
|
|
358
|
-
/**
|
|
359
|
-
* Plan/28 — Mirror of the SDK's `ThinkingLevel` (defined in
|
|
360
|
-
* `@earendil-works/pi-agent-core/types`). Re-declared locally so the wire
|
|
361
|
-
* protocol owns its own enum and we don't leak SDK-internal types onto
|
|
362
|
-
* the app's network surface.
|
|
363
|
-
*
|
|
364
|
-
* Note: `"xhigh"` is only honored by select model families — the SDK uses
|
|
365
|
-
* each `Model.thinkingLevelMap` to decide if the requested level is
|
|
366
|
-
* supported, falling back to a sensible neighbour when not. The app
|
|
367
|
-
* surfaces all 6 buttons but can grey out unsupported ones using the
|
|
368
|
-
* model's metadata if the picker fetches it later.
|
|
369
|
-
*/
|
|
370
|
-
export type ThinkingLevel = "off" | "minimal" | "low" | "medium" | "high" | "xhigh";
|
|
371
|
-
/**
|
|
372
|
-
* Plan/28 — Wire shape for one model entry in the app's model picker.
|
|
373
|
-
*
|
|
374
|
-
* Subset of the SDK's `Model<Api>` interface — only the fields the app
|
|
375
|
-
* actually renders. Cost / max-tokens / API class are left off the wire
|
|
376
|
-
* deliberately; if the app's picker grows to need them, they get added
|
|
377
|
-
* here and to the handler's mapping in `index.ts` in one diff.
|
|
378
|
-
*/
|
|
379
|
-
export interface WireModel {
|
|
380
|
-
/** Stable identifier inside the provider's catalog. E.g. `"claude-opus-4-7"`. */
|
|
381
|
-
id: string;
|
|
382
|
-
/** Display name for the picker row. E.g. `"Claude Opus 4.7"`. */
|
|
383
|
-
name: string;
|
|
384
|
-
/** Provider slug. E.g. `"anthropic"`, `"openai"`. */
|
|
385
|
-
provider: string;
|
|
386
|
-
/** Whether the model supports the thinking surface (`reasoning: true`
|
|
387
|
-
* in the SDK). Useful so the app can decide whether the thinking
|
|
388
|
-
* segmented control should be enabled when this model is selected. */
|
|
389
|
-
reasoning: boolean;
|
|
390
|
-
/** Context window in tokens, for display in the picker subtitle. */
|
|
391
|
-
context_window: number;
|
|
392
|
-
/** Plan/30: true when the model accepts image input (SDK `Model.input`
|
|
393
|
-
* includes `"image"`). The app uses it to enable/disable the attach
|
|
394
|
-
* button — a text-only model greys out image attachments. */
|
|
395
|
-
vision: boolean;
|
|
396
|
-
}
|
|
397
347
|
export type ByeReason = "peer_stop" | "session_replaced" | "shutdown";
|
|
@@ -1,26 +1,6 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
export
|
|
3
|
-
export
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
constructor(code: DecodeErrorCode, message: string, options?: {
|
|
7
|
-
cause?: unknown;
|
|
8
|
-
});
|
|
9
|
-
}
|
|
10
|
-
export declare function getUtf8ByteLengthV2(value: unknown): number;
|
|
11
|
-
export declare function decodeClientFrameV2(raw: unknown): ClientFrame;
|
|
12
|
-
export declare function decodeServerFrameV2(raw: unknown): ServerFrame;
|
|
13
|
-
export declare function encodeClientFrameV2(frame: ClientFrame): string;
|
|
14
|
-
export declare function encodeServerFrameV2(frame: ServerFrame): string;
|
|
15
|
-
export declare function validateFragmentSizeV2(fragment: unknown): number;
|
|
16
|
-
export declare function validateHistoryChunkSizeV2(chunk: unknown): number;
|
|
17
|
-
export declare function validateWindowSizeV2(events: readonly unknown[]): number;
|
|
18
|
-
export declare function validateEncodedSizeV2(value: unknown, maxBytes?: number): number;
|
|
19
|
-
export declare function parseTimelineEventV2(raw: unknown): TimelineEvent;
|
|
20
|
-
export declare function parseTimelinePartialV2(raw: unknown): TimelinePartial;
|
|
21
|
-
export declare function parseMarkerV2(raw: unknown): MarkerV2;
|
|
22
|
-
export { HistoryFragmentSchema, TimelineEventFragmentSchema, SessionHistoryChunkSchema } from "./schemas.js";
|
|
23
|
-
export declare const validateTimelineEventFragmentV2: typeof validateFragmentSizeV2;
|
|
24
|
-
export declare const validateSessionHistoryChunkV2: typeof validateHistoryChunkSizeV2;
|
|
25
|
-
export declare const validateTimelineWindowV2: typeof validateWindowSizeV2;
|
|
1
|
+
import type { JsonValue } from "../../vendor/protocol/session/index.js";
|
|
2
|
+
export { DECODE_ERROR_CODES, DecodeError, decodeClientFrameV2, decodeServerFrameV2, encodeClientFrameTextV2 as encodeClientFrameV2, encodeServerFrameTextV2 as encodeServerFrameV2, getUtf8ByteLengthV2, parseProtocolJsonV2, parseTimelineEventV2, parseTimelinePartialV2, validateEncodedSizeV2, validateFragmentSizeV2, validateHistoryChunkSizeV2, validateSessionHistoryChunkSize, validateSessionHistoryChunkV2, validateTimelineEventFragmentV2, validateTimelineWindowV2, validateWindowSizeV2, } from "../../vendor/protocol/session/index.js";
|
|
3
|
+
export type { DecodeErrorCode } from "../../vendor/protocol/session/index.js";
|
|
4
|
+
export { HistoryFragmentSchema, SessionHistoryChunkSchema, TimelineEventFragmentSchema, } from "./schemas.js";
|
|
5
|
+
export { parseMarkerV2 } from "./marker.js";
|
|
26
6
|
export type JsonValueV2 = JsonValue;
|
|
@@ -1,207 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
export
|
|
3
|
-
|
|
4
|
-
name = "DecodeError";
|
|
5
|
-
constructor(code, message, options) {
|
|
6
|
-
super(message, options);
|
|
7
|
-
this.code = code;
|
|
8
|
-
}
|
|
9
|
-
}
|
|
10
|
-
const textEncoder = new TextEncoder();
|
|
11
|
-
const textDecoder = new TextDecoder("utf-8", { fatal: true });
|
|
12
|
-
function isRecord(value) {
|
|
13
|
-
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
14
|
-
}
|
|
15
|
-
function byteLength(value) {
|
|
16
|
-
return textEncoder.encode(value).byteLength;
|
|
17
|
-
}
|
|
18
|
-
export function getUtf8ByteLengthV2(value) {
|
|
19
|
-
try {
|
|
20
|
-
const encoded = JSON.stringify(value);
|
|
21
|
-
if (encoded === undefined)
|
|
22
|
-
throw new Error("value is not JSON serializable");
|
|
23
|
-
return byteLength(encoded);
|
|
24
|
-
}
|
|
25
|
-
catch (error) {
|
|
26
|
-
throw new DecodeError("invalid", "value is not JSON serializable", { cause: error });
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
function parseRaw(raw, maxBytes = MAX_WINDOW_DECODE_BYTES) {
|
|
30
|
-
if (typeof raw === "string") {
|
|
31
|
-
const bytes = byteLength(raw);
|
|
32
|
-
if (bytes > maxBytes) {
|
|
33
|
-
throw new DecodeError("size", `raw value exceeds ${maxBytes} bytes`);
|
|
34
|
-
}
|
|
35
|
-
try {
|
|
36
|
-
return { value: JSON.parse(raw), bytes };
|
|
37
|
-
}
|
|
38
|
-
catch (error) {
|
|
39
|
-
throw new DecodeError("invalid", "raw string is not valid JSON", { cause: error });
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
if (raw instanceof Uint8Array) {
|
|
43
|
-
if (raw.byteLength > maxBytes) {
|
|
44
|
-
throw new DecodeError("size", `raw value exceeds ${maxBytes} bytes`);
|
|
45
|
-
}
|
|
46
|
-
try {
|
|
47
|
-
return { value: JSON.parse(textDecoder.decode(raw)), bytes: raw.byteLength };
|
|
48
|
-
}
|
|
49
|
-
catch (error) {
|
|
50
|
-
throw new DecodeError("invalid", "raw bytes are not valid UTF-8 JSON", { cause: error });
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
if (isRecord(raw)) {
|
|
54
|
-
const bytes = getUtf8ByteLengthV2(raw);
|
|
55
|
-
if (bytes > maxBytes) {
|
|
56
|
-
throw new DecodeError("size", `raw value exceeds ${maxBytes} bytes`);
|
|
57
|
-
}
|
|
58
|
-
return { value: raw, bytes };
|
|
59
|
-
}
|
|
60
|
-
throw new DecodeError("invalid", "raw frame must be an object, JSON string, or Uint8Array");
|
|
61
|
-
}
|
|
62
|
-
function schemaMessage(error) {
|
|
63
|
-
return error.issues.map((issue) => `${issue.path.join(".") || "<root>"}: ${issue.message}`).join("; ");
|
|
64
|
-
}
|
|
65
|
-
function checkProtocolVersion(value) {
|
|
66
|
-
if (value.protocol_version !== 2) {
|
|
67
|
-
throw new DecodeError("version", "protocol_version must be 2");
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
function checkFrameBytes(value, bytes) {
|
|
71
|
-
if (bytes > MAX_FRAME_BYTES) {
|
|
72
|
-
throw new DecodeError("size", `${String(value.type)} exceeds ${MAX_FRAME_BYTES} encoded UTF-8 bytes`);
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
function parseFrame(raw, direction) {
|
|
76
|
-
const { value, bytes } = parseRaw(raw, MAX_FRAME_BYTES);
|
|
77
|
-
if (!isRecord(value) || typeof value.type !== "string") {
|
|
78
|
-
throw new DecodeError("invalid", "frame must contain a string type");
|
|
79
|
-
}
|
|
80
|
-
const clientKnown = ClientFrameTypes.has(value.type);
|
|
81
|
-
const serverKnown = ServerFrameTypes.has(value.type);
|
|
82
|
-
if (!clientKnown && !serverKnown)
|
|
83
|
-
throw new DecodeError("unsupported", `unknown frame type: ${value.type}`);
|
|
84
|
-
if (direction === "client" && !clientKnown)
|
|
85
|
-
throw new DecodeError("direction", `${value.type} is a server frame`);
|
|
86
|
-
if (direction === "server" && !serverKnown)
|
|
87
|
-
throw new DecodeError("direction", `${value.type} is a client frame`);
|
|
88
|
-
checkProtocolVersion(value);
|
|
89
|
-
const result = direction === "client" ? ClientFrameSchema.safeParse(value) : ServerFrameSchema.safeParse(value);
|
|
90
|
-
if (!result.success)
|
|
91
|
-
throw new DecodeError("schema", schemaMessage(result.error), { cause: result.error });
|
|
92
|
-
checkFrameBytes(value, bytes);
|
|
93
|
-
if (value.type === "timeline_event_fragment")
|
|
94
|
-
validateFragmentSizeV2(value);
|
|
95
|
-
if (value.type === "session_history_chunk")
|
|
96
|
-
validateHistoryChunkSizeV2(value);
|
|
97
|
-
return result.data;
|
|
98
|
-
}
|
|
99
|
-
export function decodeClientFrameV2(raw) {
|
|
100
|
-
return parseFrame(raw, "client");
|
|
101
|
-
}
|
|
102
|
-
export function decodeServerFrameV2(raw) {
|
|
103
|
-
return parseFrame(raw, "server");
|
|
104
|
-
}
|
|
105
|
-
function encodeFrame(frame, direction) {
|
|
106
|
-
const parsed = parseFrame(frame, direction);
|
|
107
|
-
const encoded = JSON.stringify(parsed);
|
|
108
|
-
if (encoded === undefined)
|
|
109
|
-
throw new DecodeError("invalid", "frame is not JSON serializable");
|
|
110
|
-
return encoded;
|
|
111
|
-
}
|
|
112
|
-
export function encodeClientFrameV2(frame) {
|
|
113
|
-
return encodeFrame(frame, "client");
|
|
114
|
-
}
|
|
115
|
-
export function encodeServerFrameV2(frame) {
|
|
116
|
-
return encodeFrame(frame, "server");
|
|
117
|
-
}
|
|
118
|
-
function decodeBase64Bytes(value) {
|
|
119
|
-
try {
|
|
120
|
-
return Uint8Array.from(Buffer.from(value, "base64"));
|
|
121
|
-
}
|
|
122
|
-
catch (error) {
|
|
123
|
-
throw new DecodeError("schema", "data_base64 is not valid base64", { cause: error });
|
|
124
|
-
}
|
|
125
|
-
}
|
|
126
|
-
export function validateFragmentSizeV2(fragment) {
|
|
127
|
-
const realtimeResult = TimelineEventFragmentSchema.safeParse(fragment);
|
|
128
|
-
const historyResult = HistoryFragmentSchema.safeParse(fragment);
|
|
129
|
-
if (!realtimeResult.success && !historyResult.success) {
|
|
130
|
-
throw new DecodeError("schema", schemaMessage(realtimeResult.error), { cause: realtimeResult.error });
|
|
131
|
-
}
|
|
132
|
-
const dataBase64 = realtimeResult.success
|
|
133
|
-
? realtimeResult.data.data_base64
|
|
134
|
-
: historyResult.success
|
|
135
|
-
? historyResult.data.data_base64
|
|
136
|
-
: undefined;
|
|
137
|
-
if (dataBase64 === undefined)
|
|
138
|
-
throw new DecodeError("schema", "fragment data is missing");
|
|
139
|
-
const bytes = decodeBase64Bytes(dataBase64).byteLength;
|
|
140
|
-
if (bytes > MAX_FRAGMENT_DECODE_BYTES) {
|
|
141
|
-
throw new DecodeError("size", `fragment exceeds ${MAX_FRAGMENT_DECODE_BYTES} decoded bytes`);
|
|
142
|
-
}
|
|
143
|
-
return bytes;
|
|
144
|
-
}
|
|
145
|
-
export function validateHistoryChunkSizeV2(chunk) {
|
|
146
|
-
const result = SessionHistoryChunkSchema.safeParse(chunk);
|
|
147
|
-
if (!result.success)
|
|
148
|
-
throw new DecodeError("schema", schemaMessage(result.error), { cause: result.error });
|
|
149
|
-
const parsed = result.data;
|
|
150
|
-
const bytes = getUtf8ByteLengthV2(parsed);
|
|
151
|
-
if (bytes > MAX_HISTORY_CHUNK_BYTES) {
|
|
152
|
-
throw new DecodeError("size", `history chunk exceeds ${MAX_HISTORY_CHUNK_BYTES} encoded UTF-8 bytes`);
|
|
153
|
-
}
|
|
154
|
-
for (const fragment of parsed.fragments)
|
|
155
|
-
validateFragmentSizeV2(fragment);
|
|
156
|
-
return bytes;
|
|
157
|
-
}
|
|
158
|
-
export function validateWindowSizeV2(events) {
|
|
159
|
-
let total = 0;
|
|
160
|
-
for (const event of events) {
|
|
161
|
-
const result = TimelineEventSchema.safeParse(event);
|
|
162
|
-
if (!result.success)
|
|
163
|
-
throw new DecodeError("schema", schemaMessage(result.error), { cause: result.error });
|
|
164
|
-
total += getUtf8ByteLengthV2(result.data);
|
|
165
|
-
if (total > MAX_WINDOW_DECODE_BYTES) {
|
|
166
|
-
throw new DecodeError("size", `decoded window exceeds ${MAX_WINDOW_DECODE_BYTES} bytes`);
|
|
167
|
-
}
|
|
168
|
-
}
|
|
169
|
-
return total;
|
|
170
|
-
}
|
|
171
|
-
export function validateEncodedSizeV2(value, maxBytes = MAX_WINDOW_DECODE_BYTES) {
|
|
172
|
-
const bytes = getUtf8ByteLengthV2(value);
|
|
173
|
-
if (bytes > maxBytes)
|
|
174
|
-
throw new DecodeError("size", `encoded value exceeds ${maxBytes} bytes`);
|
|
175
|
-
return bytes;
|
|
176
|
-
}
|
|
177
|
-
export function parseTimelineEventV2(raw) {
|
|
178
|
-
const { value } = parseRaw(raw);
|
|
179
|
-
const result = TimelineEventSchema.safeParse(value);
|
|
180
|
-
if (!result.success)
|
|
181
|
-
throw new DecodeError("schema", schemaMessage(result.error), { cause: result.error });
|
|
182
|
-
const event = result.data;
|
|
183
|
-
validateEncodedSizeV2(event, MAX_WINDOW_DECODE_BYTES);
|
|
184
|
-
return event;
|
|
185
|
-
}
|
|
186
|
-
export function parseTimelinePartialV2(raw) {
|
|
187
|
-
const { value } = parseRaw(raw);
|
|
188
|
-
const result = TimelinePartialSchema.safeParse(value);
|
|
189
|
-
if (!result.success)
|
|
190
|
-
throw new DecodeError("schema", schemaMessage(result.error), { cause: result.error });
|
|
191
|
-
validateEncodedSizeV2(result.data, MAX_HISTORY_CHUNK_BYTES);
|
|
192
|
-
return result.data;
|
|
193
|
-
}
|
|
194
|
-
export function parseMarkerV2(raw) {
|
|
195
|
-
const { value } = parseRaw(raw);
|
|
196
|
-
const result = MarkerSchemaV2.safeParse(value);
|
|
197
|
-
if (!result.success)
|
|
198
|
-
throw new DecodeError("schema", schemaMessage(result.error), { cause: result.error });
|
|
199
|
-
validateEncodedSizeV2(result.data, MAX_FRAGMENT_DECODE_BYTES);
|
|
200
|
-
return result.data;
|
|
201
|
-
}
|
|
202
|
-
// These aliases keep validation available without exposing scanner or production wiring.
|
|
203
|
-
export { HistoryFragmentSchema, TimelineEventFragmentSchema, SessionHistoryChunkSchema } from "./schemas.js";
|
|
204
|
-
export const validateTimelineEventFragmentV2 = validateFragmentSizeV2;
|
|
205
|
-
export const validateSessionHistoryChunkV2 = validateHistoryChunkSizeV2;
|
|
206
|
-
export const validateTimelineWindowV2 = validateWindowSizeV2;
|
|
1
|
+
export { DECODE_ERROR_CODES, DecodeError, decodeClientFrameV2, decodeServerFrameV2, encodeClientFrameTextV2 as encodeClientFrameV2, encodeServerFrameTextV2 as encodeServerFrameV2, getUtf8ByteLengthV2, parseProtocolJsonV2, parseTimelineEventV2, parseTimelinePartialV2, validateEncodedSizeV2, validateFragmentSizeV2, validateHistoryChunkSizeV2, validateSessionHistoryChunkSize, validateSessionHistoryChunkV2, validateTimelineEventFragmentV2, validateTimelineWindowV2, validateWindowSizeV2, } from "../../vendor/protocol/session/index.js";
|
|
2
|
+
export { HistoryFragmentSchema, SessionHistoryChunkSchema, TimelineEventFragmentSchema, } from "./schemas.js";
|
|
3
|
+
export { parseMarkerV2 } from "./marker.js";
|
|
207
4
|
//# sourceMappingURL=codec.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codec.js","sourceRoot":"","sources":["../../../src/protocol/v2/codec.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"codec.js","sourceRoot":"","sources":["../../../src/protocol/v2/codec.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,kBAAkB,EAClB,WAAW,EACX,mBAAmB,EACnB,mBAAmB,EACnB,uBAAuB,IAAI,mBAAmB,EAC9C,uBAAuB,IAAI,mBAAmB,EAC9C,mBAAmB,EACnB,mBAAmB,EACnB,oBAAoB,EACpB,sBAAsB,EACtB,qBAAqB,EACrB,sBAAsB,EACtB,0BAA0B,EAC1B,+BAA+B,EAC/B,6BAA6B,EAC7B,+BAA+B,EAC/B,wBAAwB,EACxB,oBAAoB,GACrB,MAAM,6BAA6B,CAAC;AAErC,OAAO,EACL,qBAAqB,EACrB,yBAAyB,EACzB,2BAA2B,GAC5B,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/protocol/v2/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,oBAAoB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/protocol/v2/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,OAAO,EACL,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,YAAY,CAAC;AACpB,cAAc,oBAAoB,CAAC"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
export declare const TIMELINE_MARKER_NAME: "remote-pi:timeline-v2";
|
|
3
|
+
export declare const MarkerSchemaV2: z.ZodUnion<readonly [z.ZodObject<{
|
|
4
|
+
kind: z.ZodLiteral<"user">;
|
|
5
|
+
message_id: z.ZodOptional<z.ZodString>;
|
|
6
|
+
origin: z.ZodEnum<{
|
|
7
|
+
unknown: "unknown";
|
|
8
|
+
pwa: "pwa";
|
|
9
|
+
extension: "extension";
|
|
10
|
+
}>;
|
|
11
|
+
delivery: z.ZodEnum<{
|
|
12
|
+
unknown: "unknown";
|
|
13
|
+
normal: "normal";
|
|
14
|
+
queued: "queued";
|
|
15
|
+
}>;
|
|
16
|
+
sender_ref: z.ZodOptional<z.ZodString>;
|
|
17
|
+
version: z.ZodLiteral<2>;
|
|
18
|
+
event_id: z.ZodString;
|
|
19
|
+
group_id: z.ZodString;
|
|
20
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
21
|
+
kind: z.ZodEnum<{
|
|
22
|
+
assistant: "assistant";
|
|
23
|
+
tool: "tool";
|
|
24
|
+
provider_error: "provider_error";
|
|
25
|
+
}>;
|
|
26
|
+
version: z.ZodLiteral<2>;
|
|
27
|
+
event_id: z.ZodString;
|
|
28
|
+
group_id: z.ZodString;
|
|
29
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
30
|
+
version: z.ZodLiteral<2>;
|
|
31
|
+
event_id: z.ZodString;
|
|
32
|
+
kind: z.ZodEnum<{
|
|
33
|
+
compaction: "compaction";
|
|
34
|
+
branch_summary: "branch_summary";
|
|
35
|
+
custom: "custom";
|
|
36
|
+
}>;
|
|
37
|
+
group_id: z.ZodOptional<z.ZodString>;
|
|
38
|
+
}, z.core.$strict>]>;
|
|
39
|
+
export type MarkerV2 = z.infer<typeof MarkerSchemaV2>;
|
|
40
|
+
export declare function parseMarkerV2(raw: unknown): MarkerV2;
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { DecodeError, idSchema, MAX_FRAGMENT_DECODE_BYTES, parseProtocolJsonV2, validateEncodedSizeV2, } from "../../vendor/protocol/session/index.js";
|
|
3
|
+
export const TIMELINE_MARKER_NAME = "remote-pi:timeline-v2";
|
|
4
|
+
const markerSystemKind = z.enum(["compaction", "branch_summary", "custom"]);
|
|
5
|
+
const markerGroupedBase = { version: z.literal(2), event_id: idSchema, group_id: idSchema };
|
|
6
|
+
const markerUser = z.strictObject({
|
|
7
|
+
...markerGroupedBase,
|
|
8
|
+
kind: z.literal("user"),
|
|
9
|
+
message_id: idSchema.optional(),
|
|
10
|
+
origin: z.enum(["pwa", "extension", "unknown"]),
|
|
11
|
+
delivery: z.enum(["normal", "queued", "unknown"]),
|
|
12
|
+
sender_ref: idSchema.optional(),
|
|
13
|
+
}).superRefine((value, ctx) => {
|
|
14
|
+
if (value.message_id !== undefined && value.message_id !== value.event_id) {
|
|
15
|
+
ctx.addIssue({ code: "custom", path: ["message_id"], message: "message_id must equal event_id" });
|
|
16
|
+
}
|
|
17
|
+
if (value.origin === "pwa" && value.sender_ref === undefined) {
|
|
18
|
+
ctx.addIssue({ code: "custom", path: ["sender_ref"], message: "pwa marker users require sender_ref" });
|
|
19
|
+
}
|
|
20
|
+
if (value.origin !== "pwa" && value.sender_ref !== undefined) {
|
|
21
|
+
ctx.addIssue({ code: "custom", path: ["sender_ref"], message: "non-pwa marker users must not include sender_ref" });
|
|
22
|
+
}
|
|
23
|
+
});
|
|
24
|
+
const markerGrouped = z.strictObject({
|
|
25
|
+
...markerGroupedBase,
|
|
26
|
+
kind: z.enum(["assistant", "tool", "provider_error"]),
|
|
27
|
+
});
|
|
28
|
+
const markerSystem = z.strictObject({
|
|
29
|
+
version: z.literal(2),
|
|
30
|
+
event_id: idSchema,
|
|
31
|
+
kind: markerSystemKind,
|
|
32
|
+
group_id: idSchema.optional(),
|
|
33
|
+
});
|
|
34
|
+
export const MarkerSchemaV2 = z.union([markerUser, markerGrouped, markerSystem]);
|
|
35
|
+
function schemaMessage(error) {
|
|
36
|
+
return error.issues.map((issue) => `${issue.path.join(".") || "<root>"}: ${issue.message}`).join("; ");
|
|
37
|
+
}
|
|
38
|
+
export function parseMarkerV2(raw) {
|
|
39
|
+
const value = parseProtocolJsonV2(raw);
|
|
40
|
+
const result = MarkerSchemaV2.safeParse(value);
|
|
41
|
+
if (!result.success) {
|
|
42
|
+
throw new DecodeError("schema", schemaMessage(result.error), { cause: result.error });
|
|
43
|
+
}
|
|
44
|
+
validateEncodedSizeV2(result.data, MAX_FRAGMENT_DECODE_BYTES);
|
|
45
|
+
return result.data;
|
|
46
|
+
}
|
|
47
|
+
//# sourceMappingURL=marker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"marker.js","sourceRoot":"","sources":["../../../src/protocol/v2/marker.ts"],"names":[],"mappings":"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"}
|