vibe-remote-protocol 1.1.0 → 1.2.0

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.
@@ -33,6 +33,16 @@ export declare const PROTOCOL_ERROR_REASON: {
33
33
  * 과 *동시* 변경 필수.
34
34
  */
35
35
  export declare const PROTOCOL_VERSION_V3 = 3;
36
+ /**
37
+ * Grid(터미널) 의 server-side RESIZE 상한 — wire 계약의 canonical 정의처.
38
+ *
39
+ * `MsgGridResizeCapped`("server-side RESIZE cap (500×200)") / `MsgCapAck.max_cols/max_rows`
40
+ * 가 prose 로 가리키는 그 값. desktop `GridEmulator`·`ssh-manager` 와 relay
41
+ * `FrameSnapshotService` 가 **동일 값으로 clamp** 해야 하므로, 각 소비자가 복제하지 말고 여기서
42
+ * import 한다(복제 시 cap 변경이 소비자별로 silently 어긋남).
43
+ */
44
+ export declare const GRID_MAX_COLS = 500;
45
+ export declare const GRID_MAX_ROWS = 200;
36
46
  /**
37
47
  * frame 의 opcode 만 빠르게 식별. binary frame 검증 + 라우팅 분기에 사용.
38
48
  * empty buffer 면 -1 리턴 (호출자가 close 결정).
@@ -51,9 +61,18 @@ export declare function readOpcode(buffer: Buffer): number;
51
61
  export declare function isAppJsonSessionAttachLike(buffer: Buffer): boolean;
52
62
  /**
53
63
  * APP_JSON session_attach payload 를 JSON parse. malformed / 잘못된 type 이면 null.
64
+ *
65
+ * [동적 frame-snapshot 20260615] `cols`/`rows` 도 함께 반환한다. 모바일은 session_attach 에
66
+ * 자신의 viewport 크기를 동봉하며(`connection_provider.dart:1626` — `_ptyWidth` 실측 또는
67
+ * `_lastViewportCols` seed), relay 가 last-frame snapshot 을 `dumpAnsi` 하기 *직전* 에 emulator
68
+ * grid 를 이 크기로 resize 하는 데 쓴다. 80×40 고정 grid 에서 reflow 된 화면이 모바일 viewport
69
+ * 와 한 틱 어긋나던 문제(non-sync.md §0)를 고친다. 양수 정수일 때만 포함(아니면 omit) — 호출자가
70
+ * `undefined` 면 기본/마지막 크기를 유지하도록.
54
71
  */
55
72
  export declare function parseAppJsonSessionAttach(buffer: Buffer): {
56
73
  machineId: string;
74
+ cols?: number;
75
+ rows?: number;
57
76
  } | null;
58
77
  /**
59
78
  * APP_JSON frame 이 `"fcm.send"` 를 포함하는지 fast path 검사. relay 가 host→relay 의
@@ -86,4 +105,19 @@ export declare function encodeAppJson(data: object): Buffer;
86
105
  * Wire format: `[0x02] [cols: BE u32] [rows: BE u32]`
87
106
  */
88
107
  export declare function encodeResize(cols: number, rows: number): Buffer;
108
+ /**
109
+ * RESIZE (0x02) frame decode — `[0x02] [cols: BE u32] [rows: BE u32]` (총 9 bytes).
110
+ *
111
+ * opcode 불일치 / 9 bytes 미만이면 null. cols/rows 의 의미 검증(>0, cap)은 호출자 책임 —
112
+ * 디코더는 wire 를 그대로 읽기만 한다.
113
+ *
114
+ * [동적 frame-snapshot 20260615] relay 가 mobile→host RESIZE 를 forward 하면서 동시에
115
+ * 가로채(`RelayService.handleMessage`) emulator grid 를 이 크기로 resize 하는 데 쓴다.
116
+ * attach 사이에 흐르는 PTY_DATA 를 올바른 폭으로 누적·해석하기 위함(session_attach 의
117
+ * dump-직전 resize 가 PRIMARY, 이쪽은 SECONDARY).
118
+ */
119
+ export declare function decodeResize(buffer: Buffer): {
120
+ cols: number;
121
+ rows: number;
122
+ } | null;
89
123
  //# sourceMappingURL=binary-protocol.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"binary-protocol.d.ts","sourceRoot":"","sources":["../src/binary-protocol.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE7C,eAAO,MAAM,MAAM;;;;;;;;CAQT,CAAC;AAEX,eAAO,MAAM,qBAAqB;;;;;CAKxB,CAAC;AAEX;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,IAAI,CAAC;AAErC;;;GAGG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAGjD;AAED;;;;;;;;;GASG;AACH,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAKlE;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,MAAM,GACb;IAAE,SAAS,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAoB9B;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAI5D;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CAmBrE;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CACrC,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,GACX,MAAM,CAeR;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAK1D;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAMlD;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAM/D"}
1
+ {"version":3,"file":"binary-protocol.d.ts","sourceRoot":"","sources":["../src/binary-protocol.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE7C,eAAO,MAAM,MAAM;;;;;;;;CAQT,CAAC;AAEX,eAAO,MAAM,qBAAqB;;;;;CAKxB,CAAC;AAEX;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,IAAI,CAAC;AAErC;;;;;;;GAOG;AACH,eAAO,MAAM,aAAa,MAAM,CAAC;AACjC,eAAO,MAAM,aAAa,MAAM,CAAC;AAEjC;;;GAGG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAGjD;AAED;;;;;;;;;GASG;AACH,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAKlE;AAED;;;;;;;;;GASG;AACH,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,MAAM,GACb;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CA2B5D;AASD;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAI5D;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CAmBrE;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CACrC,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,GACX,MAAM,CAeR;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAK1D;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAMlD;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAM/D;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,YAAY,CAC1B,MAAM,EAAE,MAAM,GACb;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAOvC"}
@@ -13,7 +13,7 @@
13
13
  * - APP_JSON encoder
14
14
  */
15
15
  Object.defineProperty(exports, "__esModule", { value: true });
16
- exports.PROTOCOL_VERSION_V3 = exports.PROTOCOL_ERROR_REASON = exports.OPCODE = void 0;
16
+ exports.GRID_MAX_ROWS = exports.GRID_MAX_COLS = exports.PROTOCOL_VERSION_V3 = exports.PROTOCOL_ERROR_REASON = exports.OPCODE = void 0;
17
17
  exports.readOpcode = readOpcode;
18
18
  exports.isAppJsonSessionAttachLike = isAppJsonSessionAttachLike;
19
19
  exports.parseAppJsonSessionAttach = parseAppJsonSessionAttach;
@@ -23,6 +23,7 @@ exports.encodeFrameSnapshotPush = encodeFrameSnapshotPush;
23
23
  exports.encodeProtocolError = encodeProtocolError;
24
24
  exports.encodeAppJson = encodeAppJson;
25
25
  exports.encodeResize = encodeResize;
26
+ exports.decodeResize = decodeResize;
26
27
  exports.OPCODE = {
27
28
  PTY_DATA: 0x00,
28
29
  APP_JSON: 0x01,
@@ -44,6 +45,16 @@ exports.PROTOCOL_ERROR_REASON = {
44
45
  * 과 *동시* 변경 필수.
45
46
  */
46
47
  exports.PROTOCOL_VERSION_V3 = 3;
48
+ /**
49
+ * Grid(터미널) 의 server-side RESIZE 상한 — wire 계약의 canonical 정의처.
50
+ *
51
+ * `MsgGridResizeCapped`("server-side RESIZE cap (500×200)") / `MsgCapAck.max_cols/max_rows`
52
+ * 가 prose 로 가리키는 그 값. desktop `GridEmulator`·`ssh-manager` 와 relay
53
+ * `FrameSnapshotService` 가 **동일 값으로 clamp** 해야 하므로, 각 소비자가 복제하지 말고 여기서
54
+ * import 한다(복제 시 cap 변경이 소비자별로 silently 어긋남).
55
+ */
56
+ exports.GRID_MAX_COLS = 500;
57
+ exports.GRID_MAX_ROWS = 200;
47
58
  /**
48
59
  * frame 의 opcode 만 빠르게 식별. binary frame 검증 + 라우팅 분기에 사용.
49
60
  * empty buffer 면 -1 리턴 (호출자가 close 결정).
@@ -73,8 +84,17 @@ function isAppJsonSessionAttachLike(buffer) {
73
84
  }
74
85
  /**
75
86
  * APP_JSON session_attach payload 를 JSON parse. malformed / 잘못된 type 이면 null.
87
+ *
88
+ * [동적 frame-snapshot 20260615] `cols`/`rows` 도 함께 반환한다. 모바일은 session_attach 에
89
+ * 자신의 viewport 크기를 동봉하며(`connection_provider.dart:1626` — `_ptyWidth` 실측 또는
90
+ * `_lastViewportCols` seed), relay 가 last-frame snapshot 을 `dumpAnsi` 하기 *직전* 에 emulator
91
+ * grid 를 이 크기로 resize 하는 데 쓴다. 80×40 고정 grid 에서 reflow 된 화면이 모바일 viewport
92
+ * 와 한 틱 어긋나던 문제(non-sync.md §0)를 고친다. 양수 정수일 때만 포함(아니면 omit) — 호출자가
93
+ * `undefined` 면 기본/마지막 크기를 유지하도록.
76
94
  */
77
95
  function parseAppJsonSessionAttach(buffer) {
96
+ if (buffer.length < 1)
97
+ return null;
78
98
  if (buffer.readUInt8(0) !== exports.OPCODE.APP_JSON)
79
99
  return null;
80
100
  const text = buffer.toString('utf-8', 1);
@@ -91,9 +111,23 @@ function parseAppJsonSessionAttach(buffer) {
91
111
  return null;
92
112
  }
93
113
  const rawMachineId = parsed.machineId;
94
- return {
114
+ const result = {
95
115
  machineId: typeof rawMachineId === 'string' ? rawMachineId : '',
96
116
  };
117
+ // cols/rows 는 양수 정수일 때만 채택(아니면 omit) — 호출자가 undefined 면 기본/마지막 크기 유지.
118
+ const cols = toPositiveInt(parsed.cols);
119
+ const rows = toPositiveInt(parsed.rows);
120
+ if (cols !== undefined)
121
+ result.cols = cols;
122
+ if (rows !== undefined)
123
+ result.rows = rows;
124
+ return result;
125
+ }
126
+ /** 양수 유한 숫자면 floor 한 값을, 아니면 undefined. cols/rows 채택 규칙(module-private). */
127
+ function toPositiveInt(x) {
128
+ return typeof x === 'number' && Number.isFinite(x) && x > 0
129
+ ? Math.floor(x)
130
+ : undefined;
97
131
  }
98
132
  /**
99
133
  * APP_JSON frame 이 `"fcm.send"` 를 포함하는지 fast path 검사. relay 가 host→relay 의
@@ -183,4 +217,25 @@ function encodeResize(cols, rows) {
183
217
  frame.writeUInt32BE(rows, 5);
184
218
  return frame;
185
219
  }
220
+ /**
221
+ * RESIZE (0x02) frame decode — `[0x02] [cols: BE u32] [rows: BE u32]` (총 9 bytes).
222
+ *
223
+ * opcode 불일치 / 9 bytes 미만이면 null. cols/rows 의 의미 검증(>0, cap)은 호출자 책임 —
224
+ * 디코더는 wire 를 그대로 읽기만 한다.
225
+ *
226
+ * [동적 frame-snapshot 20260615] relay 가 mobile→host RESIZE 를 forward 하면서 동시에
227
+ * 가로채(`RelayService.handleMessage`) emulator grid 를 이 크기로 resize 하는 데 쓴다.
228
+ * attach 사이에 흐르는 PTY_DATA 를 올바른 폭으로 누적·해석하기 위함(session_attach 의
229
+ * dump-직전 resize 가 PRIMARY, 이쪽은 SECONDARY).
230
+ */
231
+ function decodeResize(buffer) {
232
+ if (buffer.length < 9)
233
+ return null;
234
+ if (buffer.readUInt8(0) !== exports.OPCODE.RESIZE)
235
+ return null;
236
+ return {
237
+ cols: buffer.readUInt32BE(1),
238
+ rows: buffer.readUInt32BE(5),
239
+ };
240
+ }
186
241
  //# sourceMappingURL=binary-protocol.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"binary-protocol.js","sourceRoot":"","sources":["../src/binary-protocol.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"binary-protocol.js","sourceRoot":"","sources":["../src/binary-protocol.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -2,13 +2,14 @@
2
2
  * @vibe-remote/protocol — VibeRemote binary WebSocket protocol v3.
3
3
  *
4
4
  * Public API:
5
- * - opcode 상수: OPCODE, PROTOCOL_ERROR_REASON, PROTOCOL_VERSION_V3
5
+ * - 상수: OPCODE, PROTOCOL_ERROR_REASON, PROTOCOL_VERSION_V3, GRID_MAX_COLS, GRID_MAX_ROWS
6
6
  * - encoders: encodeAppJson, encodeFrameSnapshotPush, encodeProtocolError, encodeResize
7
+ * - decoders: decodeResize
7
8
  * - inspectors: readOpcode, isAppJsonSessionAttachLike, parseAppJsonSessionAttach,
8
9
  * isAppJsonFcmSendLike, parseAppJsonFcmSend
9
10
  * - APP_JSON 메시지 타입: AppJsonMessage 및 모든 Msg* 인터페이스
10
11
  */
11
- export { OPCODE, PROTOCOL_ERROR_REASON, PROTOCOL_VERSION_V3, readOpcode, isAppJsonSessionAttachLike, parseAppJsonSessionAttach, isAppJsonFcmSendLike, parseAppJsonFcmSend, encodeFrameSnapshotPush, encodeProtocolError, encodeAppJson, encodeResize, } from './binary-protocol';
12
+ export { OPCODE, PROTOCOL_ERROR_REASON, PROTOCOL_VERSION_V3, GRID_MAX_COLS, GRID_MAX_ROWS, readOpcode, isAppJsonSessionAttachLike, parseAppJsonSessionAttach, isAppJsonFcmSendLike, parseAppJsonFcmSend, encodeFrameSnapshotPush, encodeProtocolError, encodeAppJson, encodeResize, decodeResize, } from './binary-protocol';
12
13
  export type { AppJsonMessage, Machine, PtyStatus, ClaudeState, ClientCapability, SnapshotReqReason, PtyAuthorityMode, MsgHello, MsgHelloAck, MsgCapReq, MsgCapAck, MsgSnapshotReq, MsgMachineList, MsgSessionAttach, MsgConnectionStatus, MsgTerminalData, MsgClaudeState, MsgPtyStatus, MsgGitResult, MsgSessionReplay, MsgGridResizeCapped, MsgProtocolMismatch, MsgPing, MsgPong, MsgError, MsgInput, MsgFcmSend, } from './messages';
13
14
  export { isAppJsonMessage } from './messages';
14
15
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EACL,MAAM,EACN,qBAAqB,EACrB,mBAAmB,EACnB,UAAU,EACV,0BAA0B,EAC1B,yBAAyB,EACzB,oBAAoB,EACpB,mBAAmB,EACnB,uBAAuB,EACvB,mBAAmB,EACnB,aAAa,EACb,YAAY,GACb,MAAM,mBAAmB,CAAC;AAE3B,YAAY,EACV,cAAc,EACd,OAAO,EACP,SAAS,EACT,WAAW,EACX,gBAAgB,EAChB,iBAAiB,EACjB,gBAAgB,EAChB,QAAQ,EACR,WAAW,EACX,SAAS,EACT,SAAS,EACT,cAAc,EACd,cAAc,EACd,gBAAgB,EAChB,mBAAmB,EACnB,eAAe,EACf,cAAc,EACd,YAAY,EACZ,YAAY,EACZ,gBAAgB,EAChB,mBAAmB,EACnB,mBAAmB,EACnB,OAAO,EACP,OAAO,EACP,QAAQ,EACR,QAAQ,EACR,UAAU,GACX,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EACL,MAAM,EACN,qBAAqB,EACrB,mBAAmB,EACnB,aAAa,EACb,aAAa,EACb,UAAU,EACV,0BAA0B,EAC1B,yBAAyB,EACzB,oBAAoB,EACpB,mBAAmB,EACnB,uBAAuB,EACvB,mBAAmB,EACnB,aAAa,EACb,YAAY,EACZ,YAAY,GACb,MAAM,mBAAmB,CAAC;AAE3B,YAAY,EACV,cAAc,EACd,OAAO,EACP,SAAS,EACT,WAAW,EACX,gBAAgB,EAChB,iBAAiB,EACjB,gBAAgB,EAChB,QAAQ,EACR,WAAW,EACX,SAAS,EACT,SAAS,EACT,cAAc,EACd,cAAc,EACd,gBAAgB,EAChB,mBAAmB,EACnB,eAAe,EACf,cAAc,EACd,YAAY,EACZ,YAAY,EACZ,gBAAgB,EAChB,mBAAmB,EACnB,mBAAmB,EACnB,OAAO,EACP,OAAO,EACP,QAAQ,EACR,QAAQ,EACR,UAAU,GACX,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC"}
package/dist/index.js CHANGED
@@ -3,18 +3,21 @@
3
3
  * @vibe-remote/protocol — VibeRemote binary WebSocket protocol v3.
4
4
  *
5
5
  * Public API:
6
- * - opcode 상수: OPCODE, PROTOCOL_ERROR_REASON, PROTOCOL_VERSION_V3
6
+ * - 상수: OPCODE, PROTOCOL_ERROR_REASON, PROTOCOL_VERSION_V3, GRID_MAX_COLS, GRID_MAX_ROWS
7
7
  * - encoders: encodeAppJson, encodeFrameSnapshotPush, encodeProtocolError, encodeResize
8
+ * - decoders: decodeResize
8
9
  * - inspectors: readOpcode, isAppJsonSessionAttachLike, parseAppJsonSessionAttach,
9
10
  * isAppJsonFcmSendLike, parseAppJsonFcmSend
10
11
  * - APP_JSON 메시지 타입: AppJsonMessage 및 모든 Msg* 인터페이스
11
12
  */
12
13
  Object.defineProperty(exports, "__esModule", { value: true });
13
- exports.isAppJsonMessage = exports.encodeResize = exports.encodeAppJson = exports.encodeProtocolError = exports.encodeFrameSnapshotPush = exports.parseAppJsonFcmSend = exports.isAppJsonFcmSendLike = exports.parseAppJsonSessionAttach = exports.isAppJsonSessionAttachLike = exports.readOpcode = exports.PROTOCOL_VERSION_V3 = exports.PROTOCOL_ERROR_REASON = exports.OPCODE = void 0;
14
+ exports.isAppJsonMessage = exports.decodeResize = exports.encodeResize = exports.encodeAppJson = exports.encodeProtocolError = exports.encodeFrameSnapshotPush = exports.parseAppJsonFcmSend = exports.isAppJsonFcmSendLike = exports.parseAppJsonSessionAttach = exports.isAppJsonSessionAttachLike = exports.readOpcode = exports.GRID_MAX_ROWS = exports.GRID_MAX_COLS = exports.PROTOCOL_VERSION_V3 = exports.PROTOCOL_ERROR_REASON = exports.OPCODE = void 0;
14
15
  var binary_protocol_1 = require("./binary-protocol");
15
16
  Object.defineProperty(exports, "OPCODE", { enumerable: true, get: function () { return binary_protocol_1.OPCODE; } });
16
17
  Object.defineProperty(exports, "PROTOCOL_ERROR_REASON", { enumerable: true, get: function () { return binary_protocol_1.PROTOCOL_ERROR_REASON; } });
17
18
  Object.defineProperty(exports, "PROTOCOL_VERSION_V3", { enumerable: true, get: function () { return binary_protocol_1.PROTOCOL_VERSION_V3; } });
19
+ Object.defineProperty(exports, "GRID_MAX_COLS", { enumerable: true, get: function () { return binary_protocol_1.GRID_MAX_COLS; } });
20
+ Object.defineProperty(exports, "GRID_MAX_ROWS", { enumerable: true, get: function () { return binary_protocol_1.GRID_MAX_ROWS; } });
18
21
  Object.defineProperty(exports, "readOpcode", { enumerable: true, get: function () { return binary_protocol_1.readOpcode; } });
19
22
  Object.defineProperty(exports, "isAppJsonSessionAttachLike", { enumerable: true, get: function () { return binary_protocol_1.isAppJsonSessionAttachLike; } });
20
23
  Object.defineProperty(exports, "parseAppJsonSessionAttach", { enumerable: true, get: function () { return binary_protocol_1.parseAppJsonSessionAttach; } });
@@ -24,6 +27,7 @@ Object.defineProperty(exports, "encodeFrameSnapshotPush", { enumerable: true, ge
24
27
  Object.defineProperty(exports, "encodeProtocolError", { enumerable: true, get: function () { return binary_protocol_1.encodeProtocolError; } });
25
28
  Object.defineProperty(exports, "encodeAppJson", { enumerable: true, get: function () { return binary_protocol_1.encodeAppJson; } });
26
29
  Object.defineProperty(exports, "encodeResize", { enumerable: true, get: function () { return binary_protocol_1.encodeResize; } });
30
+ Object.defineProperty(exports, "decodeResize", { enumerable: true, get: function () { return binary_protocol_1.decodeResize; } });
27
31
  var messages_1 = require("./messages");
28
32
  Object.defineProperty(exports, "isAppJsonMessage", { enumerable: true, get: function () { return messages_1.isAppJsonMessage; } });
29
33
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;GASG;;;AAEH,qDAa2B;AAZzB,yGAAA,MAAM,OAAA;AACN,wHAAA,qBAAqB,OAAA;AACrB,sHAAA,mBAAmB,OAAA;AACnB,6GAAA,UAAU,OAAA;AACV,6HAAA,0BAA0B,OAAA;AAC1B,4HAAA,yBAAyB,OAAA;AACzB,uHAAA,oBAAoB,OAAA;AACpB,sHAAA,mBAAmB,OAAA;AACnB,0HAAA,uBAAuB,OAAA;AACvB,sHAAA,mBAAmB,OAAA;AACnB,gHAAA,aAAa,OAAA;AACb,+GAAA,YAAY,OAAA;AAiCd,uCAA8C;AAArC,4GAAA,gBAAgB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;GAUG;;;AAEH,qDAgB2B;AAfzB,yGAAA,MAAM,OAAA;AACN,wHAAA,qBAAqB,OAAA;AACrB,sHAAA,mBAAmB,OAAA;AACnB,gHAAA,aAAa,OAAA;AACb,gHAAA,aAAa,OAAA;AACb,6GAAA,UAAU,OAAA;AACV,6HAAA,0BAA0B,OAAA;AAC1B,4HAAA,yBAAyB,OAAA;AACzB,uHAAA,oBAAoB,OAAA;AACpB,sHAAA,mBAAmB,OAAA;AACnB,0HAAA,uBAAuB,OAAA;AACvB,sHAAA,mBAAmB,OAAA;AACnB,gHAAA,aAAa,OAAA;AACb,+GAAA,YAAY,OAAA;AACZ,+GAAA,YAAY,OAAA;AAiCd,uCAA8C;AAArC,4GAAA,gBAAgB,OAAA"}
package/package.json CHANGED
@@ -1,51 +1,50 @@
1
- {
2
- "name": "vibe-remote-protocol",
3
- "version": "1.1.0",
4
- "description": "VibeRemote binary WebSocket protocol v3 — opcode constants, encoders/decoders, and TypeScript message types shared by relay, desktop agent, and mobile clients.",
5
- "license": "MIT",
6
- "author": "jun-young1993",
7
- "homepage": "https://github.com/june-glre/vibe-remote-protocol",
8
- "repository": {
9
- "type": "git",
10
- "url": "https://github.com/june-glre/vibe-remote-protocol.git"
11
- },
12
- "keywords": [
13
- "vibe-remote",
14
- "websocket",
15
- "protocol",
16
- "binary",
17
- "terminal",
18
- "pty",
19
- "relay"
20
- ],
21
- "main": "./dist/index.js",
22
- "types": "./dist/index.d.ts",
23
- "files": [
24
- "dist",
25
- "fixtures",
26
- "README.md",
27
- "README_KR.md",
28
- "LICENSE"
29
- ],
30
- "scripts": {
31
- "build": "tsc -p tsconfig.json",
32
- "test": "jest",
33
- "lint": "tsc --noEmit",
34
- "clean": "rimraf dist"
35
- },
36
- "devDependencies": {
37
- "@types/jest": "^29.5.2",
38
- "@types/node": "^20.3.1",
39
- "jest": "^29.5.0",
40
- "rimraf": "^5.0.5",
41
- "ts-jest": "^29.1.0",
42
- "typescript": "^5.1.3"
43
- },
44
- "engines": {
45
- "node": ">=18"
46
- },
47
- "publishConfig": {
48
- "access": "public"
49
- }
50
-
51
- }
1
+ {
2
+ "name": "vibe-remote-protocol",
3
+ "version": "1.2.0",
4
+ "description": "VibeRemote binary WebSocket protocol v3 — opcode constants, encoders/decoders, and TypeScript message types shared by relay, desktop agent, and mobile clients.",
5
+ "license": "MIT",
6
+ "author": "jun-young1993",
7
+ "homepage": "https://github.com/june-glre/vibe-remote-protocol",
8
+ "repository": {
9
+ "type": "git",
10
+ "url": "https://github.com/june-glre/vibe-remote-protocol.git"
11
+ },
12
+ "keywords": [
13
+ "vibe-remote",
14
+ "websocket",
15
+ "protocol",
16
+ "binary",
17
+ "terminal",
18
+ "pty",
19
+ "relay"
20
+ ],
21
+ "main": "./dist/index.js",
22
+ "types": "./dist/index.d.ts",
23
+ "files": [
24
+ "dist",
25
+ "fixtures",
26
+ "README.md",
27
+ "README_KR.md",
28
+ "LICENSE"
29
+ ],
30
+ "scripts": {
31
+ "build": "tsc -p tsconfig.json",
32
+ "test": "jest",
33
+ "lint": "tsc --noEmit",
34
+ "clean": "rimraf dist"
35
+ },
36
+ "devDependencies": {
37
+ "@types/jest": "^29.5.2",
38
+ "@types/node": "^20.3.1",
39
+ "jest": "^29.5.0",
40
+ "rimraf": "^5.0.5",
41
+ "ts-jest": "^29.1.0",
42
+ "typescript": "^5.1.3"
43
+ },
44
+ "engines": {
45
+ "node": ">=18"
46
+ },
47
+ "publishConfig": {
48
+ "access": "public"
49
+ }
50
+ }