ds-harness-remote 0.5.8 → 0.5.10

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.
Files changed (211) hide show
  1. package/dist/acp/adapter.d.ts +1 -1
  2. package/dist/acp/adapter.d.ts.map +1 -1
  3. package/dist/acp/adapters/claude-history.d.ts +3 -0
  4. package/dist/acp/adapters/claude-history.d.ts.map +1 -0
  5. package/dist/acp/adapters/claude-history.js +118 -0
  6. package/dist/acp/adapters/claude-history.js.map +1 -0
  7. package/dist/acp/adapters/claude-process.d.ts +21 -0
  8. package/dist/acp/adapters/claude-process.d.ts.map +1 -0
  9. package/dist/acp/adapters/claude-process.js +147 -0
  10. package/dist/acp/adapters/claude-process.js.map +1 -0
  11. package/dist/acp/adapters/cursor-process.d.ts +9 -4
  12. package/dist/acp/adapters/cursor-process.d.ts.map +1 -1
  13. package/dist/acp/adapters/cursor-process.js +31 -3
  14. package/dist/acp/adapters/cursor-process.js.map +1 -1
  15. package/dist/acp/adapters/opencode-process.d.ts +67 -0
  16. package/dist/acp/adapters/opencode-process.d.ts.map +1 -0
  17. package/dist/acp/adapters/opencode-process.js +272 -0
  18. package/dist/acp/adapters/opencode-process.js.map +1 -0
  19. package/dist/acp/adapters/opencode.d.ts +8 -0
  20. package/dist/acp/adapters/opencode.d.ts.map +1 -0
  21. package/dist/acp/adapters/opencode.js +8 -0
  22. package/dist/acp/adapters/opencode.js.map +1 -0
  23. package/dist/acp/adapters/pi-process.d.ts +42 -0
  24. package/dist/acp/adapters/pi-process.d.ts.map +1 -0
  25. package/dist/acp/adapters/pi-process.js +410 -0
  26. package/dist/acp/adapters/pi-process.js.map +1 -0
  27. package/dist/acp/gateway.d.ts +8 -0
  28. package/dist/acp/gateway.d.ts.map +1 -1
  29. package/dist/acp/gateway.js +299 -67
  30. package/dist/acp/gateway.js.map +1 -1
  31. package/dist/acp/method-policy.d.ts +19 -19
  32. package/dist/acp/method-policy.js +5 -5
  33. package/dist/acp/method-policy.js.map +1 -1
  34. package/dist/acp/pi-tool-result.d.ts +9 -0
  35. package/dist/acp/pi-tool-result.d.ts.map +1 -0
  36. package/dist/acp/pi-tool-result.js +22 -0
  37. package/dist/acp/pi-tool-result.js.map +1 -0
  38. package/dist/acp/virtual-catalog.d.ts +50 -0
  39. package/dist/acp/virtual-catalog.d.ts.map +1 -0
  40. package/dist/acp/virtual-catalog.js +103 -0
  41. package/dist/acp/virtual-catalog.js.map +1 -0
  42. package/dist/acp/virtual-contract.d.ts +165 -0
  43. package/dist/acp/virtual-contract.d.ts.map +1 -0
  44. package/dist/acp/virtual-contract.js +216 -0
  45. package/dist/acp/virtual-contract.js.map +1 -0
  46. package/dist/acp/virtual-event-carrier.d.ts +50 -0
  47. package/dist/acp/virtual-event-carrier.d.ts.map +1 -0
  48. package/dist/acp/virtual-event-carrier.js +222 -0
  49. package/dist/acp/virtual-event-carrier.js.map +1 -0
  50. package/dist/acp/virtual-harness.d.ts +13 -112
  51. package/dist/acp/virtual-harness.d.ts.map +1 -1
  52. package/dist/acp/virtual-harness.js +129 -911
  53. package/dist/acp/virtual-harness.js.map +1 -1
  54. package/dist/acp/virtual-live.d.ts +78 -0
  55. package/dist/acp/virtual-live.d.ts.map +1 -0
  56. package/dist/acp/virtual-live.js +513 -0
  57. package/dist/acp/virtual-live.js.map +1 -0
  58. package/dist/acp/workspace-tools.js +1 -1
  59. package/dist/acp/workspace-tools.js.map +1 -1
  60. package/dist/acp.d.ts.map +1 -1
  61. package/dist/acp.js +1 -0
  62. package/dist/acp.js.map +1 -1
  63. package/dist/client/header.d.ts +10 -0
  64. package/dist/client/header.d.ts.map +1 -0
  65. package/dist/client/header.js +169 -0
  66. package/dist/client/header.js.map +1 -0
  67. package/dist/client/icons.d.ts +3 -0
  68. package/dist/client/icons.d.ts.map +1 -0
  69. package/dist/client/icons.js +3 -0
  70. package/dist/client/icons.js.map +1 -0
  71. package/dist/client/navigation.d.ts +5 -0
  72. package/dist/client/navigation.d.ts.map +1 -0
  73. package/dist/client/navigation.js +30 -0
  74. package/dist/client/navigation.js.map +1 -0
  75. package/dist/client/presentation.d.ts +17 -0
  76. package/dist/client/presentation.d.ts.map +1 -0
  77. package/dist/client/presentation.js +208 -0
  78. package/dist/client/presentation.js.map +1 -0
  79. package/dist/client/progress.d.ts +10 -0
  80. package/dist/client/progress.d.ts.map +1 -0
  81. package/dist/client/progress.js +82 -0
  82. package/dist/client/progress.js.map +1 -0
  83. package/dist/client/settings.d.ts +10 -0
  84. package/dist/client/settings.d.ts.map +1 -0
  85. package/dist/client/settings.js +335 -0
  86. package/dist/client/settings.js.map +1 -0
  87. package/dist/client/shell.d.ts +6 -0
  88. package/dist/client/shell.d.ts.map +1 -0
  89. package/dist/client/shell.js +128 -0
  90. package/dist/client/shell.js.map +1 -0
  91. package/dist/client/types.d.ts +264 -0
  92. package/dist/client/types.d.ts.map +1 -0
  93. package/dist/client/types.js +2 -0
  94. package/dist/client/types.js.map +1 -0
  95. package/dist/client/workspaces.d.ts +11 -0
  96. package/dist/client/workspaces.d.ts.map +1 -0
  97. package/dist/client/workspaces.js +1179 -0
  98. package/dist/client/workspaces.js.map +1 -0
  99. package/dist/client-capabilities.d.ts +6 -0
  100. package/dist/client-capabilities.d.ts.map +1 -0
  101. package/dist/client-capabilities.js +88 -0
  102. package/dist/client-capabilities.js.map +1 -0
  103. package/dist/client-codex-streams.d.ts +23 -0
  104. package/dist/client-codex-streams.d.ts.map +1 -0
  105. package/dist/client-codex-streams.js +156 -0
  106. package/dist/client-codex-streams.js.map +1 -0
  107. package/dist/client-connection.d.ts +38 -0
  108. package/dist/client-connection.d.ts.map +1 -0
  109. package/dist/client-connection.js +210 -0
  110. package/dist/client-connection.js.map +1 -0
  111. package/dist/client-control.d.ts +48 -0
  112. package/dist/client-control.d.ts.map +1 -0
  113. package/dist/client-control.js +273 -0
  114. package/dist/client-control.js.map +1 -0
  115. package/dist/client-locale.d.ts +8 -0
  116. package/dist/client-locale.d.ts.map +1 -1
  117. package/dist/client-locale.js +16 -0
  118. package/dist/client-locale.js.map +1 -1
  119. package/dist/client-runtime-contract.d.ts +161 -0
  120. package/dist/client-runtime-contract.d.ts.map +1 -0
  121. package/dist/client-runtime-contract.js +127 -0
  122. package/dist/client-runtime-contract.js.map +1 -0
  123. package/dist/client-runtime.d.ts +24 -126
  124. package/dist/client-runtime.d.ts.map +1 -1
  125. package/dist/client-runtime.js +171 -867
  126. package/dist/client-runtime.js.map +1 -1
  127. package/dist/client-secure-transport.d.ts +1 -0
  128. package/dist/client-secure-transport.d.ts.map +1 -1
  129. package/dist/client-secure-transport.js +35 -16
  130. package/dist/client-secure-transport.js.map +1 -1
  131. package/dist/client-workspace-queries.d.ts +12 -0
  132. package/dist/client-workspace-queries.d.ts.map +1 -0
  133. package/dist/client-workspace-queries.js +66 -0
  134. package/dist/client-workspace-queries.js.map +1 -0
  135. package/dist/client.d.ts.map +1 -1
  136. package/dist/client.github.js +2091 -1896
  137. package/dist/client.js +2091 -1896
  138. package/dist/client.js.map +1 -1
  139. package/dist/codex/domain.d.ts.map +1 -1
  140. package/dist/codex/domain.js +67 -46
  141. package/dist/codex/domain.js.map +1 -1
  142. package/dist/codex/method-policy.d.ts +9 -9
  143. package/dist/codex/virtual-catalog.d.ts +90 -0
  144. package/dist/codex/virtual-catalog.d.ts.map +1 -0
  145. package/dist/codex/virtual-catalog.js +317 -0
  146. package/dist/codex/virtual-catalog.js.map +1 -0
  147. package/dist/codex/virtual-contract.d.ts +96 -0
  148. package/dist/codex/virtual-contract.d.ts.map +1 -0
  149. package/dist/codex/virtual-contract.js +192 -0
  150. package/dist/codex/virtual-contract.js.map +1 -0
  151. package/dist/codex/virtual-event-carrier.d.ts +52 -0
  152. package/dist/codex/virtual-event-carrier.d.ts.map +1 -0
  153. package/dist/codex/virtual-event-carrier.js +212 -0
  154. package/dist/codex/virtual-event-carrier.js.map +1 -0
  155. package/dist/codex/virtual-harness.d.ts +16 -117
  156. package/dist/codex/virtual-harness.d.ts.map +1 -1
  157. package/dist/codex/virtual-harness.js +123 -1909
  158. package/dist/codex/virtual-harness.js.map +1 -1
  159. package/dist/codex/virtual-history.d.ts +74 -0
  160. package/dist/codex/virtual-history.d.ts.map +1 -0
  161. package/dist/codex/virtual-history.js +546 -0
  162. package/dist/codex/virtual-history.js.map +1 -0
  163. package/dist/codex/virtual-live.d.ts +75 -0
  164. package/dist/codex/virtual-live.d.ts.map +1 -0
  165. package/dist/codex/virtual-live.js +563 -0
  166. package/dist/codex/virtual-live.js.map +1 -0
  167. package/dist/codex/virtual-values.d.ts +29 -0
  168. package/dist/codex/virtual-values.d.ts.map +1 -0
  169. package/dist/codex/virtual-values.js +75 -0
  170. package/dist/codex/virtual-values.js.map +1 -0
  171. package/dist/config.js +4 -4
  172. package/dist/config.js.map +1 -1
  173. package/dist/control-runtime.js +2 -2
  174. package/dist/control-runtime.js.map +1 -1
  175. package/dist/harness-remote-bridge.d.ts +2 -1
  176. package/dist/harness-remote-bridge.d.ts.map +1 -1
  177. package/dist/harness-remote-bridge.js +11 -3
  178. package/dist/harness-remote-bridge.js.map +1 -1
  179. package/dist/index.d.ts.map +1 -1
  180. package/dist/index.js +16044 -13878
  181. package/dist/index.js.map +4 -4
  182. package/dist/plugin-route-dispatcher.d.ts +2 -2
  183. package/dist/plugin-route-dispatcher.d.ts.map +1 -1
  184. package/dist/plugin-route-dispatcher.js +2 -2
  185. package/dist/plugin-route-dispatcher.js.map +1 -1
  186. package/dist/remote-typert-gateway.js +7 -1
  187. package/dist/remote-typert-gateway.js.map +1 -1
  188. package/dist/server-connection.d.ts +1 -0
  189. package/dist/server-connection.d.ts.map +1 -1
  190. package/dist/server-connection.js +6 -1
  191. package/dist/server-connection.js.map +1 -1
  192. package/dist/service.d.ts +1 -1
  193. package/dist/service.d.ts.map +1 -1
  194. package/dist/service.js +6 -5
  195. package/dist/service.js.map +1 -1
  196. package/dist/terminal-carrier-compat.d.ts +14 -0
  197. package/dist/terminal-carrier-compat.d.ts.map +1 -0
  198. package/dist/terminal-carrier-compat.js +259 -0
  199. package/dist/terminal-carrier-compat.js.map +1 -0
  200. package/dist/typert-gateway-contract.d.ts +6 -1
  201. package/dist/typert-gateway-contract.d.ts.map +1 -1
  202. package/dist/typert-gateway-switch.d.ts +2 -1
  203. package/dist/typert-gateway-switch.d.ts.map +1 -1
  204. package/dist/typert-gateway-switch.js +31 -15
  205. package/dist/typert-gateway-switch.js.map +1 -1
  206. package/dist/version.d.ts +1 -1
  207. package/dist/version.d.ts.map +1 -1
  208. package/dist/version.js +1 -1
  209. package/dist/version.js.map +1 -1
  210. package/dsh-plugin.json +1 -1
  211. package/package.json +21 -19
@@ -0,0 +1,259 @@
1
+ import { z } from 'zod';
2
+ import { RpcError } from './safe-error.js';
3
+ import { uuidV7 } from './ids.js';
4
+ const identity = z.string().regex(/^[A-Za-z0-9_:-]{1,256}$/);
5
+ const attachmentArgs = z.object({ agentId: identity, id: identity, attachmentId: identity }).strict();
6
+ const dimensions = { cols: z.number().int().min(1).max(1000), rows: z.number().int().min(1).max(1000) };
7
+ const input = z.discriminatedUnion('type', [
8
+ z.object({ type: z.literal('write'), sequence: z.number().int().positive().safe(), data: z.string().max(64 * 1024) }).strict(),
9
+ z.object({ type: z.literal('resize'), sequence: z.number().int().positive().safe(), ...dimensions }).strict(),
10
+ ]);
11
+ /** Fixed terminal API changed in 0.2.1-alpha.3; other streams remain read-only. */
12
+ export function usesDuplexTerminal(version) {
13
+ const match = /^(?:dsh-)?v?0\.(\d+)\.(\d+)(?:-([^+]+))?(?:\+.*)?$/.exec(version ?? '');
14
+ if (!match)
15
+ return false;
16
+ const minor = Number(match[1]), patch = Number(match[2]);
17
+ if (minor > 2 || (minor === 2 && patch > 1))
18
+ return true;
19
+ if (minor !== 2 || patch !== 1)
20
+ return false;
21
+ return match[3] === undefined || !match[3].startsWith('alpha.') || Number(match[3].slice(6)) >= 3;
22
+ }
23
+ /** Bounded single-consumer queue. Closing discards inputs, never replays them. */
24
+ class Queue {
25
+ maxBytes;
26
+ maxItems;
27
+ values = [];
28
+ bytes = 0;
29
+ wake;
30
+ closed = false;
31
+ error;
32
+ constructor(maxBytes = 256 * 1024, maxItems = 64) {
33
+ this.maxBytes = maxBytes;
34
+ this.maxItems = maxItems;
35
+ }
36
+ push(value) {
37
+ if (this.closed)
38
+ throw new RpcError('TRANSPORT_CLOSED', 'The terminal attachment closed.');
39
+ const bytes = new TextEncoder().encode(JSON.stringify(value)).byteLength;
40
+ if (this.values.length >= this.maxItems || this.bytes + bytes > this.maxBytes)
41
+ throw new RpcError('RATE_LIMITED', 'The terminal attachment buffer is full.');
42
+ this.values.push({ value, bytes });
43
+ this.bytes += bytes;
44
+ this.wake?.();
45
+ }
46
+ close(error, discard = false) {
47
+ if (this.closed)
48
+ return;
49
+ this.closed = true;
50
+ this.error = error;
51
+ if (discard) {
52
+ this.values = [];
53
+ this.bytes = 0;
54
+ }
55
+ this.wake?.();
56
+ }
57
+ async *[Symbol.asyncIterator]() {
58
+ while (true) {
59
+ const entry = this.values.shift();
60
+ if (entry) {
61
+ this.bytes -= entry.bytes;
62
+ yield entry.value;
63
+ }
64
+ else if (this.closed)
65
+ break;
66
+ else
67
+ await new Promise(resolve => { this.wake = resolve; });
68
+ }
69
+ if (this.error)
70
+ throw this.error;
71
+ }
72
+ }
73
+ /** Existing Remote follow/write/resize calls terminate at the official attach stream. */
74
+ export class TerminalCarrierCompat {
75
+ gateway;
76
+ attachments = new Map();
77
+ constructor(gateway) {
78
+ this.gateway = gateway;
79
+ }
80
+ async open(payload, signal) {
81
+ signal.throwIfAborted();
82
+ const args = attachmentArgs.parse(z.object({ args: z.unknown() }).strict().parse(payload).args);
83
+ const key = `${args.agentId}/${args.id}`;
84
+ this.attachments.get(key)?.control.abort();
85
+ const control = new AbortController();
86
+ const queue = new Queue();
87
+ const entry = { args, control, queue, sequence: 0, writable: false, pending: new Map() };
88
+ const lifetime = AbortSignal.any([signal, control.signal]);
89
+ const close = () => {
90
+ queue.close(undefined, true);
91
+ for (const pending of entry.pending.values())
92
+ pending.reject(new RpcError('TRANSPORT_CLOSED', 'The terminal attachment closed. Input will not be replayed.'));
93
+ entry.pending.clear();
94
+ if (this.attachments.get(key) === entry)
95
+ this.attachments.delete(key);
96
+ };
97
+ lifetime.addEventListener('abort', close, { once: true });
98
+ lifetime.throwIfAborted();
99
+ this.attachments.set(key, entry);
100
+ let source;
101
+ try {
102
+ source = await this.gateway.open('terminal/attach', { args: { agentId: args.agentId, id: args.id } }, lifetime, queue);
103
+ }
104
+ catch (error) {
105
+ control.abort();
106
+ throw error;
107
+ }
108
+ return (async function* () {
109
+ try {
110
+ for await (const value of source) {
111
+ if (lifetime.aborted)
112
+ break;
113
+ if (isRecord(value) && value.type === 'ack') {
114
+ const pending = entry.pending.get(Number(value.sequence));
115
+ if (!pending)
116
+ throw new RpcError('INVALID_MESSAGE', 'Unexpected terminal input acknowledgement.');
117
+ entry.pending.delete(Number(value.sequence));
118
+ if (value.refusal)
119
+ pending.reject(new RpcError('PERMISSION_DENIED', 'Terminal input was refused.'));
120
+ else
121
+ pending.resolve();
122
+ }
123
+ else if (isRecord(value) && (value.type === 'snapshot' || value.type === 'state') && isRecord(value.info)) {
124
+ entry.writable = value.writable === true;
125
+ yield { ...value, info: { ...value.info, ...(entry.writable ? { controllerId: args.attachmentId } : {}) } };
126
+ }
127
+ else
128
+ yield value;
129
+ }
130
+ }
131
+ finally {
132
+ control.abort();
133
+ lifetime.removeEventListener('abort', close);
134
+ }
135
+ })();
136
+ }
137
+ async call(endpoint, payload, signal) {
138
+ const fields = endpoint === 'terminal/write' ? { data: z.string().max(64 * 1024) } : dimensions;
139
+ const args = attachmentArgs.extend(fields).parse(z.object({ args: z.unknown() }).strict().parse(payload).args);
140
+ const entry = this.attachments.get(`${args.agentId}/${args.id}`);
141
+ if (!entry || entry.args.attachmentId !== args.attachmentId || !entry.writable)
142
+ throw new RpcError('PERMISSION_DENIED', 'This terminal input attachment is not writable.');
143
+ if (entry.pending.size >= 32)
144
+ throw new RpcError('RATE_LIMITED', 'Too many unacknowledged terminal inputs.');
145
+ signal.throwIfAborted();
146
+ const sequence = ++entry.sequence;
147
+ const value = input.parse({ type: endpoint === 'terminal/write' ? 'write' : 'resize', sequence,
148
+ ...('data' in args ? { data: args.data } : { cols: args.cols, rows: args.rows }) });
149
+ const abort = () => entry.control.abort();
150
+ signal.addEventListener('abort', abort, { once: true });
151
+ try {
152
+ await new Promise((resolve, reject) => {
153
+ entry.pending.set(sequence, { resolve, reject });
154
+ try {
155
+ entry.queue.push(value);
156
+ }
157
+ catch (error) {
158
+ entry.pending.delete(sequence);
159
+ entry.control.abort();
160
+ reject(error);
161
+ }
162
+ });
163
+ return { ok: true };
164
+ }
165
+ finally {
166
+ signal.removeEventListener('abort', abort);
167
+ }
168
+ }
169
+ }
170
+ /** Native RC.1 Client attach stream over the existing encrypted terminal subset. */
171
+ export async function openRemoteTerminal(target, payload, signal, uplink) {
172
+ const args = z.object({ agentId: identity, id: identity }).strict().parse(z.object({ args: z.unknown() }).strict().parse(payload).args);
173
+ const attachmentId = uuidV7();
174
+ const control = new AbortController();
175
+ const lifetime = AbortSignal.any([signal, control.signal]);
176
+ const output = new Queue(4 * 1024 * 1024, 256);
177
+ let writable = false;
178
+ const iterator = uplink[Symbol.asyncIterator]();
179
+ const abort = () => { output.close(); void iterator.return?.().catch(() => undefined); };
180
+ lifetime.addEventListener('abort', abort, { once: true });
181
+ lifetime.throwIfAborted();
182
+ let source;
183
+ try {
184
+ source = await target.open('terminal/follow', { args: { ...args, attachmentId } }, lifetime);
185
+ }
186
+ catch (error) {
187
+ control.abort();
188
+ throw error;
189
+ }
190
+ let startInput;
191
+ const ready = new Promise(resolve => { startInput = resolve; });
192
+ lifetime.addEventListener('abort', startInput, { once: true });
193
+ if (lifetime.aborted)
194
+ startInput();
195
+ void (async () => {
196
+ try {
197
+ for await (const value of source) {
198
+ if (lifetime.aborted)
199
+ break;
200
+ if (isRecord(value) && (value.type === 'snapshot' || value.type === 'state') && isRecord(value.info)) {
201
+ writable = value.info.controllerId === attachmentId;
202
+ output.push({ ...value, writable });
203
+ if (value.type === 'snapshot')
204
+ startInput();
205
+ }
206
+ else
207
+ output.push(value);
208
+ }
209
+ }
210
+ catch (error) {
211
+ output.close(error);
212
+ }
213
+ finally {
214
+ control.abort();
215
+ }
216
+ })();
217
+ void (async () => {
218
+ let sequence = 0;
219
+ try {
220
+ await ready;
221
+ while (!lifetime.aborted) {
222
+ const next = await iterator.next();
223
+ if (next.done || lifetime.aborted)
224
+ break;
225
+ const value = input.parse(next.value);
226
+ if (value.sequence !== ++sequence)
227
+ throw new RpcError('INVALID_MESSAGE', 'Terminal input sequence is invalid.');
228
+ if (!writable) {
229
+ output.push({ type: 'ack', sequence, refusal: 'read-only' });
230
+ continue;
231
+ }
232
+ const result = await target.dispatch(`terminal/${value.type}`, { args: { ...args, attachmentId,
233
+ ...(value.type === 'write' ? { data: value.data } : { cols: value.cols, rows: value.rows }) } }, lifetime);
234
+ if (!result.ok)
235
+ throw Object.assign(new Error(result.error.message), result.error);
236
+ if (!lifetime.aborted)
237
+ output.push({ type: 'ack', sequence });
238
+ }
239
+ }
240
+ catch (error) {
241
+ output.close(error);
242
+ control.abort();
243
+ }
244
+ })();
245
+ return (async function* () {
246
+ try {
247
+ yield* output;
248
+ }
249
+ finally {
250
+ control.abort();
251
+ lifetime.removeEventListener('abort', abort);
252
+ lifetime.removeEventListener('abort', startInput);
253
+ }
254
+ })();
255
+ }
256
+ function isRecord(value) {
257
+ return typeof value === 'object' && value !== null && !Array.isArray(value);
258
+ }
259
+ //# sourceMappingURL=terminal-carrier-compat.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"terminal-carrier-compat.js","sourceRoot":"","sources":["../src/terminal-carrier-compat.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,8 @@ export interface TypertGatewayRequest {
4
4
  /** Typert Remote payloads require one plain object under `args`. */
5
5
  args: Readonly<Record<string, unknown>>;
6
6
  signal?: AbortSignal;
7
+ peer?: unknown;
8
+ uplink?: AsyncIterable<unknown>;
7
9
  }
8
10
  export type TypertRpcResult = {
9
11
  ok: true;
@@ -47,13 +49,16 @@ export interface TypertGatewayLike {
47
49
  /** Carrier-level face captured from the alpha Gateway before target switching. */
48
50
  export interface LocalTypertGateway extends TypertGatewayLike {
49
51
  dispatch(endpoint: string, payload: unknown, signal: AbortSignal): Promise<TypertRpcResult>;
50
- open(endpoint: string, payload: unknown, signal: AbortSignal): Promise<AsyncIterable<unknown>>;
52
+ open(endpoint: string, payload: unknown, signal: AbortSignal, uplink?: AsyncIterable<unknown>): Promise<AsyncIterable<unknown>>;
51
53
  failure(error: unknown): {
52
54
  code: string;
53
55
  message: string;
54
56
  details: Record<string, unknown>;
55
57
  };
56
58
  supportsCarrier: boolean;
59
+ peer?: unknown;
60
+ createPeer?(): LocalTypertGateway;
61
+ dispose?(): Promise<void>;
57
62
  }
58
63
  export interface RemoteTypertGatewayTarget {
59
64
  invoke(request: TypertGatewayRequest): Promise<unknown>;
@@ -1 +1 @@
1
- {"version":3,"file":"typert-gateway-contract.d.ts","sourceRoot":"","sources":["../src/typert-gateway-contract.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"typert-gateway-contract.d.ts","sourceRoot":"","sources":["../src/typert-gateway-contract.ts"],"names":[],"mappings":"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"}
@@ -22,7 +22,7 @@ export declare class TypertGatewaySwitch {
22
22
  private installed;
23
23
  constructor(gateway: TypertGatewayLike);
24
24
  /** Original local dispatcher, used by the Host bridge without switch recursion. */
25
- local(): LocalTypertGateway;
25
+ local(peer?: unknown): LocalTypertGateway;
26
26
  supportsCarrier(): boolean;
27
27
  status(): {
28
28
  mode: 'local' | 'remote';
@@ -40,6 +40,7 @@ export declare class TypertGatewaySwitch {
40
40
  /** Keep the selected authority after transport loss; only explicit exit returns local. */
41
41
  disconnectRemote(): void;
42
42
  restore(): void;
43
+ private openRemote;
43
44
  private selectInvoke;
44
45
  private failure;
45
46
  }
@@ -1 +1 @@
1
- {"version":3,"file":"typert-gateway-switch.d.ts","sourceRoot":"","sources":["../src/typert-gateway-switch.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,kBAAkB,EAElB,yBAAyB,EACzB,iBAAiB,EACjB,oBAAoB,EAErB,MAAM,8BAA8B,CAAA;AAErC,KAAK,YAAY,GAAG,CAAC,OAAO,EAAE,oBAAoB,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;AA2BvE,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,OAAO,CAAA;IAChB,IAAI,EAAE,OAAO,CAAA;CACd;AAID,gFAAgF;AAChF,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAgB;IACxC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAA6B;IAC5D,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA6B;IACzD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,CAA0C;IAC1E,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAA0C;IACvE,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAiB;IACnD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAiB;IAChD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAiC;IAC/D,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAa;IACxC,OAAO,CAAC,YAAY,CAAC,CAAc;IACnC,OAAO,CAAC,YAAY,CAAC,CAA2B;IAChD,OAAO,CAAC,aAAa,CAAwD;IAC7E,OAAO,CAAC,MAAM,CAAC,CAAoC;IACnD,OAAO,CAAC,SAAS,CAAQ;gBAEb,OAAO,EAAE,iBAAiB;IAYtC,mFAAmF;IACnF,KAAK,IAAI,kBAAkB;IAuB3B,eAAe,IAAI,OAAO;IAI1B,MAAM,IAAI;QAAE,IAAI,EAAE,OAAO,GAAG,QAAQ,CAAC;QAAC,MAAM,CAAC,EAAE;YAAE,QAAQ,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE;IAMnF,OAAO,IAAI,IAAI;IAsCf,YAAY,CACV,MAAM,EAAE,YAAY,GAAG,yBAAyB,EAChD,OAAO,GAAE,oBAA0C,EACnD,MAAM,CAAC,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,GAC1C,IAAI;IAQP,WAAW,IAAI,IAAI;IAOnB,0FAA0F;IAC1F,gBAAgB,IAAI,IAAI;IAexB,OAAO,IAAI,IAAI;IAUf,OAAO,CAAC,YAAY;IAWpB,OAAO,CAAC,OAAO;CAQhB"}
1
+ {"version":3,"file":"typert-gateway-switch.d.ts","sourceRoot":"","sources":["../src/typert-gateway-switch.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAEV,kBAAkB,EAElB,yBAAyB,EACzB,iBAAiB,EACjB,oBAAoB,EAErB,MAAM,8BAA8B,CAAA;AAErC,KAAK,YAAY,GAAG,CAAC,OAAO,EAAE,oBAAoB,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;AA2BvE,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,OAAO,CAAA;IAChB,IAAI,EAAE,OAAO,CAAA;CACd;AAID,gFAAgF;AAChF,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAgB;IACxC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAA6B;IAC5D,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA6B;IACzD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,CAA0C;IAC1E,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAA0C;IACvE,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAiB;IACnD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAiB;IAChD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAiC;IAC/D,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAa;IACxC,OAAO,CAAC,YAAY,CAAC,CAAc;IACnC,OAAO,CAAC,YAAY,CAAC,CAA2B;IAChD,OAAO,CAAC,aAAa,CAAwD;IAC7E,OAAO,CAAC,MAAM,CAAC,CAAoC;IACnD,OAAO,CAAC,SAAS,CAAQ;gBAEb,OAAO,EAAE,iBAAiB;IAYtC,mFAAmF;IACnF,KAAK,CAAC,IAAI,CAAC,EAAE,OAAO,GAAG,kBAAkB;IAyBzC,eAAe,IAAI,OAAO;IAI1B,MAAM,IAAI;QAAE,IAAI,EAAE,OAAO,GAAG,QAAQ,CAAC;QAAC,MAAM,CAAC,EAAE;YAAE,QAAQ,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE;IAMnF,OAAO,IAAI,IAAI;IAsCf,YAAY,CACV,MAAM,EAAE,YAAY,GAAG,yBAAyB,EAChD,OAAO,GAAE,oBAA0C,EACnD,MAAM,CAAC,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,GAC1C,IAAI;IAQP,WAAW,IAAI,IAAI;IAOnB,0FAA0F;IAC1F,gBAAgB,IAAI,IAAI;IAexB,OAAO,IAAI,IAAI;IAUf,OAAO,CAAC,UAAU;IAMlB,OAAO,CAAC,YAAY;IAWpB,OAAO,CAAC,OAAO;CAQhB"}
@@ -1,3 +1,4 @@
1
+ import { openRemoteTerminal } from './terminal-carrier-compat.js';
1
2
  const REMOTE_COMMAND_METHODS = ['execute', 'list'];
2
3
  const LOCAL_ONLY_NAMESPACES = new Set(['dynamicCordisRunner']);
3
4
  const ALL_REMOTE_COMMANDS = { execute: true, list: true };
@@ -29,24 +30,26 @@ export class TypertGatewaySwitch {
29
30
  this.localOpen = createLocalOpen(gateway, this.runtime);
30
31
  }
31
32
  /** Original local dispatcher, used by the Host bridge without switch recursion. */
32
- local() {
33
- const dispatch = this.localDispatch ?? (async (endpoint, payload, signal) => {
33
+ local(peer) {
34
+ const invoke = request => this.localInvoke({ ...request, ...(peer === undefined ? {} : { peer }) });
35
+ const dispatch = this.localDispatch === undefined ? (async (endpoint, payload, signal) => {
34
36
  try {
35
37
  const request = requestFromCarrier(endpoint, payload, signal);
36
- return { ok: true, value: await this.localInvoke(request) };
38
+ return { ok: true, value: await invoke(request) };
37
39
  }
38
40
  catch (error) {
39
41
  return { ok: false, error: this.failure(error) };
40
42
  }
41
- });
42
- const open = this.localOpen ?? (async (endpoint, payload, signal) => {
43
+ }) : (endpoint, payload, signal) => this.localDispatch(endpoint, payload, signal, peer);
44
+ const open = this.localOpen === undefined ? (async (endpoint, payload, signal) => {
43
45
  if (this.localStream === undefined)
44
46
  throw new Error('The local Harness Gateway does not support Remote streams.');
45
- return this.localStream(requestFromCarrier(endpoint, payload, signal));
46
- });
47
+ return this.localStream({ ...requestFromCarrier(endpoint, payload, signal), ...(peer === undefined ? {} : { peer }) });
48
+ }) : (endpoint, payload, signal, uplink) => this.localOpen(endpoint, payload, signal, uplink, peer);
47
49
  return {
48
- invoke: this.localInvoke,
49
- ...(this.localStream === undefined ? {} : { stream: this.localStream }),
50
+ invoke,
51
+ peer,
52
+ ...(this.localStream === undefined ? {} : { stream: (request) => this.localStream({ ...request, ...(peer === undefined ? {} : { peer }) }) }),
50
53
  dispatch,
51
54
  open,
52
55
  failure: error => this.failure(error),
@@ -68,7 +71,7 @@ export class TypertGatewaySwitch {
68
71
  if (this.originalStream !== undefined) {
69
72
  this.runtime.stream = request => this.remoteTarget === undefined || isLocalOnlyEndpoint(endpointOf(request))
70
73
  ? this.localStream(request)
71
- : this.remoteTarget.open(endpointOf(request), { args: request.args }, request.signal ?? new AbortController().signal);
74
+ : this.openRemote(endpointOf(request), { args: request.args }, request.signal ?? new AbortController().signal, request.uplink);
72
75
  }
73
76
  if (this.originalDispatch !== undefined) {
74
77
  this.runtime.dispatchRpc = (...args) => {
@@ -91,7 +94,7 @@ export class TypertGatewaySwitch {
91
94
  : open.call(this.runtime, endpoint, callArgs[1], callArgs[2]);
92
95
  }
93
96
  const signal = (rc1 ? callArgs[4] : callArgs[2]);
94
- return this.remoteTarget.open(endpoint, callArgs[1], signal ?? new AbortController().signal);
97
+ return this.openRemote(endpoint, callArgs[1], signal ?? new AbortController().signal, rc1 ? callArgs[2] : undefined);
95
98
  };
96
99
  }
97
100
  this.installed = true;
@@ -139,11 +142,16 @@ export class TypertGatewaySwitch {
139
142
  this.runtime.openWireStream = this.originalOpen;
140
143
  this.installed = false;
141
144
  }
145
+ openRemote(endpoint, payload, signal, uplink) {
146
+ return endpoint === 'terminal/attach'
147
+ ? openRemoteTerminal(this.remoteTarget, payload, signal, uplink ?? endedUplink())
148
+ : this.remoteTarget.open(endpoint, payload, signal);
149
+ }
142
150
  selectInvoke(request) {
143
151
  if (isLocalOnlyEndpoint(endpointOf(request)))
144
152
  return this.localInvoke(request);
145
153
  if (this.remoteTarget !== undefined)
146
- return this.remoteTarget.invoke(request);
154
+ return this.remoteTarget.invoke(request).then(value => normalizeTerminalEnvironment(endpointOf(request), value));
147
155
  if (request.namespace !== 'commands' || !isRemoteCommandMethod(request.method) || this.remoteInvoke === undefined) {
148
156
  return this.localInvoke(request);
149
157
  }
@@ -165,6 +173,8 @@ export class TypertGatewaySwitch {
165
173
  }
166
174
  /** The local Connection HTTP hop needs the same binary envelope as the native Gateway. */
167
175
  function workspaceConnectionResult(endpoint, result) {
176
+ if (endpoint === 'terminal/environment' && result.ok)
177
+ return { ...result, value: normalizeTerminalEnvironment(endpoint, result.value) };
168
178
  if (endpoint !== 'workspaceFiles/readBytes' && endpoint !== 'officeToPdf/render')
169
179
  return result;
170
180
  if (!result.ok || !isRecord(result.value) || !(result.value.data instanceof Uint8Array))
@@ -215,8 +225,8 @@ function createLocalOpen(gateway, runtime) {
215
225
  const open = runtime.openWireStream;
216
226
  if (open !== undefined) {
217
227
  return usesRc1Arity(open)
218
- ? (endpoint, payload, signal) => open
219
- .call(runtime, endpoint, payload, endedUplink(), undefined, signal, linkControl(signal))
228
+ ? (endpoint, payload, signal, uplink, peer) => open
229
+ .call(runtime, endpoint, payload, uplink ?? endedUplink(), peer, signal, linkControl(signal))
220
230
  : (endpoint, payload, signal) => open.call(runtime, endpoint, payload, signal);
221
231
  }
222
232
  const wire = gateway.wireStream;
@@ -225,7 +235,7 @@ function createLocalOpen(gateway, runtime) {
225
235
  const wireOpen = wire.open;
226
236
  if (usesRc1Arity(wireOpen)) {
227
237
  const rc1 = wireOpen;
228
- return (endpoint, payload, signal) => rc1.call(wire, endpoint, payload, endedUplink(), undefined, signal);
238
+ return (endpoint, payload, signal, uplink, peer) => rc1.call(wire, endpoint, payload, uplink ?? endedUplink(), peer, signal);
229
239
  }
230
240
  const legacy = wireOpen;
231
241
  return (endpoint, payload, signal) => legacy.call(wire, endpoint, payload, signal);
@@ -253,4 +263,10 @@ function isRemoteCommandMethod(method) {
253
263
  function isRecord(value) {
254
264
  return typeof value === 'object' && value !== null && !Array.isArray(value);
255
265
  }
266
+ /** RC.1 input flow control also applies to older Hosts and CodeX/ACP projections. */
267
+ function normalizeTerminalEnvironment(endpoint, value) {
268
+ if (endpoint !== 'terminal/environment' || !isRecord(value) || value.maxBufferedBytes !== undefined)
269
+ return value;
270
+ return { ...value, maxBufferedBytes: 256 * 1024 };
271
+ }
256
272
  //# sourceMappingURL=typert-gateway-switch.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"typert-gateway-switch.js","sourceRoot":"","sources":["../src/typert-gateway-switch.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"typert-gateway-switch.js","sourceRoot":"","sources":["../src/typert-gateway-switch.ts"],"names":[],"mappings":"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"}
package/dist/version.d.ts CHANGED
@@ -8,5 +8,5 @@
8
8
  * If they diverge, `npm scripts` checks in `scripts/verify-version-sync.mjs`
9
9
  * will fail fast during build/check/test.
10
10
  */
11
- export declare const PLUGIN_VERSION = "0.5.8";
11
+ export declare const PLUGIN_VERSION = "0.5.10";
12
12
  //# sourceMappingURL=version.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,eAAO,MAAM,cAAc,UAAU,CAAA"}
1
+ {"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,eAAO,MAAM,cAAc,WAAW,CAAA"}
package/dist/version.js CHANGED
@@ -8,5 +8,5 @@
8
8
  * If they diverge, `npm scripts` checks in `scripts/verify-version-sync.mjs`
9
9
  * will fail fast during build/check/test.
10
10
  */
11
- export const PLUGIN_VERSION = '0.5.8';
11
+ export const PLUGIN_VERSION = '0.5.10';
12
12
  //# sourceMappingURL=version.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"version.js","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,OAAO,CAAA"}
1
+ {"version":3,"file":"version.js","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,QAAQ,CAAA"}
package/dsh-plugin.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "$schema": "https://dsh.community/schemas/dsh-plugin-0.15.json",
3
3
  "id": "com.r2049.ds-harness-remote",
4
4
  "name": "ds-harness-remote",
5
- "version": "0.5.8",
5
+ "version": "0.5.10",
6
6
  "manifestVersion": "0.15",
7
7
  "facets": {
8
8
  "host": {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ds-harness-remote",
3
- "version": "0.5.8",
3
+ "version": "0.5.10",
4
4
  "description": "End-to-end encrypted remote access to DeepSeek Harness and experimental Codex workspaces from desktop, web, and Android, with dsh-TUI Host support.",
5
5
  "keywords": [
6
6
  "deepseek",
@@ -77,7 +77,7 @@
77
77
  "test": "node scripts/verify-version-sync.mjs && vitest run"
78
78
  },
79
79
  "dependencies": {
80
- "@deepseek-ai/schemastery": "^3.18.5-alpha.1",
80
+ "@deepseek-ai/schemastery": "^3.18.5",
81
81
  "qrcode": "^1.5.4",
82
82
  "werift": "0.24.4",
83
83
  "zod": "^3.24.1",
@@ -133,21 +133,23 @@
133
133
  }
134
134
  },
135
135
  "devDependencies": {
136
- "@deepseek-ai/cordis": "4.0.5-alpha.1",
137
- "@deepseek-ai/cordis-plugin-include": "1.0.10-alpha.1",
138
- "@deepseek-ai/cordis-plugin-loader": "1.0.6-alpha.1",
139
- "@deepseek-ai/dsh-api-gateway": "0.2.1-alpha.1",
140
- "@deepseek-ai/dsh-brand": "0.2.1-alpha.1",
141
- "@deepseek-ai/dsh-client-connection": "0.2.1-alpha.1",
142
- "@deepseek-ai/dsh-client-locale": "0.2.1-alpha.1",
143
- "@deepseek-ai/dsh-client-ui-settings": "0.2.1-alpha.1",
144
- "@deepseek-ai/dsh-client-ui-settings-plugins": "0.2.1-alpha.1",
145
- "@deepseek-ai/dsh-client-ui-sidebar": "0.2.1-alpha.1",
146
- "@deepseek-ai/dsh-client-ui-slots": "0.2.1-alpha.1",
136
+ "@deepseek-ai/cordis": "4.0.5",
137
+ "@deepseek-ai/cordis-plugin-include": "1.0.10",
138
+ "@deepseek-ai/cordis-plugin-loader": "1.0.6",
139
+ "@deepseek-ai/dsh-api-gateway": "0.2.1-rc.1",
140
+ "@deepseek-ai/dsh-api-remote-access": "0.2.1-rc.1",
141
+ "@deepseek-ai/dsh-typert-registry": "0.2.1-rc.1",
142
+ "@deepseek-ai/dsh-brand": "0.2.1-rc.1",
143
+ "@deepseek-ai/dsh-client-connection": "0.2.1-rc.1",
144
+ "@deepseek-ai/dsh-client-locale": "0.2.1-rc.1",
145
+ "@deepseek-ai/dsh-client-ui-settings": "0.2.1-rc.1",
146
+ "@deepseek-ai/dsh-client-ui-settings-plugins": "0.2.1-rc.1",
147
+ "@deepseek-ai/dsh-client-ui-sidebar": "0.2.1-rc.1",
148
+ "@deepseek-ai/dsh-client-ui-slots": "0.2.1-rc.1",
147
149
  "@deepseek-ai/dsh-host-apiproxy": "0.1.1-rc.2",
148
- "@deepseek-ai/dsh-scope": "0.2.1-alpha.1",
149
- "@deepseek-ai/dsh-session": "0.2.1-alpha.1",
150
- "@deepseek-ai/dsh-settings": "0.2.1-alpha.1",
150
+ "@deepseek-ai/dsh-scope": "0.2.1-rc.1",
151
+ "@deepseek-ai/dsh-session": "0.2.1-rc.1",
152
+ "@deepseek-ai/dsh-settings": "0.2.1-rc.1",
151
153
  "@dsh-remote/client-core": "workspace:*",
152
154
  "@dsh-remote/crypto": "workspace:*",
153
155
  "@dsh-remote/protocol": "workspace:*",
@@ -157,8 +159,8 @@
157
159
  "typescript": "^5.7.3",
158
160
  "vitest": "^2.1.8",
159
161
  "@types/ws": "^8.18.1",
160
- "@deepseek-ai/dsh-client-ui-settings-general": "0.2.1-alpha.1",
161
- "@deepseek-ai/dsh-client-ui-plugin-manager": "0.2.1-alpha.1",
162
- "@deepseek-ai/dsh-client-ui-settings-plugin-inventory": "0.2.1-alpha.1"
162
+ "@deepseek-ai/dsh-client-ui-settings-general": "0.2.1-rc.1",
163
+ "@deepseek-ai/dsh-client-ui-plugin-manager": "0.2.1-rc.1",
164
+ "@deepseek-ai/dsh-client-ui-settings-plugin-inventory": "0.2.1-rc.1"
163
165
  }
164
166
  }