@robota-sdk/agent-transport 3.0.0-beta.93 → 3.0.0-beta.94

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/CHANGELOG.md CHANGED
@@ -1,5 +1,17 @@
1
1
  # @robota-sdk/agent-transport
2
2
 
3
+ ## 3.0.0-beta.94
4
+ ### Patch Changes
5
+
6
+ - Updated dependencies [fef3a50]
7
+ - @robota-sdk/agent-interface-analytics@3.0.0-beta.94
8
+ - @robota-sdk/agent-interface-session@3.0.0-beta.94
9
+ - @robota-sdk/agent-interface-session-mobility@3.0.0-beta.94
10
+ - @robota-sdk/agent-core@3.0.0-beta.94
11
+ - @robota-sdk/agent-interface-command@3.0.0-beta.94
12
+ - @robota-sdk/agent-interface-execution@3.0.0-beta.94
13
+ - @robota-sdk/agent-interface-transport@3.0.0-beta.94
14
+
3
15
  ## 3.0.0-beta.93
4
16
  ### Patch Changes
5
17
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@robota-sdk/agent-transport",
3
- "version": "3.0.0-beta.93",
3
+ "version": "3.0.0-beta.94",
4
4
  "description": "Carrier-neutral wire protocol, session dispatch and delivery for Robota SDK transports",
5
5
  "type": "module",
6
6
  "main": "dist/node/index.js",
@@ -80,13 +80,13 @@
80
80
  ],
81
81
  "dependencies": {
82
82
  "jose": "6.2.3",
83
- "@robota-sdk/agent-core": "3.0.0-beta.93",
84
- "@robota-sdk/agent-interface-analytics": "3.0.0-beta.93",
85
- "@robota-sdk/agent-interface-session": "3.0.0-beta.93",
86
- "@robota-sdk/agent-interface-execution": "3.0.0-beta.93",
87
- "@robota-sdk/agent-interface-transport": "3.0.0-beta.93",
88
- "@robota-sdk/agent-interface-command": "3.0.0-beta.93",
89
- "@robota-sdk/agent-interface-session-mobility": "3.0.0-beta.93"
83
+ "@robota-sdk/agent-core": "3.0.0-beta.94",
84
+ "@robota-sdk/agent-interface-analytics": "3.0.0-beta.94",
85
+ "@robota-sdk/agent-interface-command": "3.0.0-beta.94",
86
+ "@robota-sdk/agent-interface-session": "3.0.0-beta.94",
87
+ "@robota-sdk/agent-interface-execution": "3.0.0-beta.94",
88
+ "@robota-sdk/agent-interface-session-mobility": "3.0.0-beta.94",
89
+ "@robota-sdk/agent-interface-transport": "3.0.0-beta.94"
90
90
  },
91
91
  "devDependencies": {
92
92
  "rimraf": "^5.0.10",
@@ -0,0 +1,6 @@
1
+ {
2
+ "hangulWord": "한글",
3
+ "greetingWithSmileEmoji": "안녕하세요 😀",
4
+ "handoffLabelWithCheckmarkAndTrailingSpace": "핸드오프 ✓ ",
5
+ "voiceChannelName": "음성-채널"
6
+ }
@@ -6,6 +6,7 @@ import {
6
6
  encodeBinaryFrame,
7
7
  encodeChannelEventFrame,
8
8
  } from '../channel-frames.js';
9
+ import koreanText from './__fixtures__/korean-text.json';
9
10
 
10
11
  import type { IBinaryFrame, IChannelEventFrame } from '@robota-sdk/agent-interface-transport';
11
12
 
@@ -110,14 +111,14 @@ describe('channel frame codec (TRANS-001)', () => {
110
111
  it('supports multi-byte UTF-8 channel names', () => {
111
112
  const encoded = encodeBinaryFrame({
112
113
  kind: 'binary',
113
- channel: '음성-채널',
114
+ channel: koreanText.voiceChannelName,
114
115
  seq: 1,
115
116
  payload: bytes(1, 2, 3),
116
117
  });
117
118
  const decoded = decodeChannelFrame(encoded);
118
119
  expect(decoded.ok).toBe(true);
119
120
  if (!decoded.ok) return;
120
- expect(decoded.frame.channel).toBe('음성-채널');
121
+ expect(decoded.frame.channel).toBe(koreanText.voiceChannelName);
121
122
  });
122
123
 
123
124
  it('rejects a channel name that does not fit the 255-byte header field', () => {
@@ -7,6 +7,7 @@ import {
7
7
  type IHandoffChunk,
8
8
  } from '../handoff-chunking.js';
9
9
  import { sealHandoffRecord, verifyHandoffPayload } from '../node/handoff-manifest.js';
10
+ import koreanText from './__fixtures__/korean-text.json';
10
11
 
11
12
  import type { IInteractiveSessionRecord } from '@robota-sdk/agent-interface-session';
12
13
 
@@ -22,7 +23,7 @@ describe('HANDOFF-001 — a payload larger than one frame travels in pieces', ()
22
23
  it('every chunk fits the byte budget', () => {
23
24
  // The channel's limit is in bytes, so the budget has to be honoured in bytes. A payload of
24
25
  // multi-byte characters is where a character-based cut overflows the frame.
25
- const payload = '한글'.repeat(500);
26
+ const payload = koreanText.hangulWord.repeat(500);
26
27
 
27
28
  const chunks = chunkHandoffPayload(ID, payload, 64);
28
29
 
@@ -203,7 +204,7 @@ describe('HANDOFF-001 TC-06 — a mangled chunk is caught where it arrives', ()
203
204
  cwd: '/home/alice/project',
204
205
  createdAt: '2026-08-17T00:00:00.000Z',
205
206
  updatedAt: '2026-08-17T01:00:00.000Z',
206
- messages: [{ role: 'user', content: '안녕하세요 😀' }],
207
+ messages: [{ role: 'user', content: koreanText.greetingWithSmileEmoji }],
207
208
  } as unknown as IInteractiveSessionRecord;
208
209
  const { serialized, integrity } = sealHandoffRecord(record);
209
210
 
@@ -221,7 +222,9 @@ describe('without Node’s Buffer, as in the browser build', () => {
221
222
 
222
223
  it('chunks and reassembles a multi-byte payload', () => {
223
224
  vi.stubGlobal('Buffer', undefined);
224
- const serialized = JSON.stringify({ text: '핸드오프 ✓ '.repeat(200) });
225
+ const serialized = JSON.stringify({
226
+ text: koreanText.handoffLabelWithCheckmarkAndTrailingSpace.repeat(200),
227
+ });
225
228
  const assembler = new HandoffChunkAssembler('h-browser');
226
229
  let result: ReturnType<HandoffChunkAssembler['accept']> | undefined;
227
230