@blue-soda/dsh-remote 0.5.6 → 0.5.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.
Files changed (232) hide show
  1. package/README.md +14 -3
  2. package/cordis.patch.yml +30 -30
  3. package/dist/client.github.js +1 -1
  4. package/dist/client.js +1 -1
  5. package/dist/index.js +1216 -396
  6. package/dist/index.js.map +4 -4
  7. package/dsh-plugin.json +41 -41
  8. package/package.json +165 -165
  9. package/dist/acp.d.ts +0 -75
  10. package/dist/acp.d.ts.map +0 -1
  11. package/dist/acp.js +0 -61
  12. package/dist/acp.js.map +0 -1
  13. package/dist/api-proxy-switch.d.ts +0 -33
  14. package/dist/api-proxy-switch.d.ts.map +0 -1
  15. package/dist/api-proxy-switch.js +0 -109
  16. package/dist/api-proxy-switch.js.map +0 -1
  17. package/dist/atomic-file.d.ts +0 -16
  18. package/dist/atomic-file.d.ts.map +0 -1
  19. package/dist/atomic-file.js +0 -81
  20. package/dist/atomic-file.js.map +0 -1
  21. package/dist/bin/doctor.d.ts +0 -3
  22. package/dist/bin/doctor.d.ts.map +0 -1
  23. package/dist/bin/doctor.js +0 -13
  24. package/dist/bin/doctor.js.map +0 -1
  25. package/dist/cli.d.ts +0 -32
  26. package/dist/cli.d.ts.map +0 -1
  27. package/dist/cli.js +0 -289
  28. package/dist/cli.js.map +0 -1
  29. package/dist/client-runtime.d.ts +0 -375
  30. package/dist/client-runtime.d.ts.map +0 -1
  31. package/dist/client-runtime.js +0 -1768
  32. package/dist/client-runtime.js.map +0 -1
  33. package/dist/client-secure-transport.d.ts +0 -23
  34. package/dist/client-secure-transport.d.ts.map +0 -1
  35. package/dist/client-secure-transport.js +0 -144
  36. package/dist/client-secure-transport.js.map +0 -1
  37. package/dist/client-target-store.d.ts +0 -40
  38. package/dist/client-target-store.d.ts.map +0 -1
  39. package/dist/client-target-store.js +0 -79
  40. package/dist/client-target-store.js.map +0 -1
  41. package/dist/client.d.ts +0 -13
  42. package/dist/client.d.ts.map +0 -1
  43. package/dist/codex/app-server.d.ts +0 -71
  44. package/dist/codex/app-server.d.ts.map +0 -1
  45. package/dist/codex/app-server.js +0 -268
  46. package/dist/codex/app-server.js.map +0 -1
  47. package/dist/codex/codex-image-codec.d.ts +0 -7
  48. package/dist/codex/codex-image-codec.d.ts.map +0 -1
  49. package/dist/codex/codex-image-codec.js +0 -288
  50. package/dist/codex/codex-image-codec.js.map +0 -1
  51. package/dist/codex/domain.d.ts +0 -102
  52. package/dist/codex/domain.d.ts.map +0 -1
  53. package/dist/codex/domain.js +0 -1323
  54. package/dist/codex/domain.js.map +0 -1
  55. package/dist/codex/method-policy.d.ts +0 -338
  56. package/dist/codex/method-policy.d.ts.map +0 -1
  57. package/dist/codex/method-policy.js +0 -141
  58. package/dist/codex/method-policy.js.map +0 -1
  59. package/dist/codex/peer-bridge.d.ts +0 -57
  60. package/dist/codex/peer-bridge.d.ts.map +0 -1
  61. package/dist/codex/peer-bridge.js +0 -299
  62. package/dist/codex/peer-bridge.js.map +0 -1
  63. package/dist/codex/permissions.d.ts +0 -4
  64. package/dist/codex/permissions.d.ts.map +0 -1
  65. package/dist/codex/permissions.js +0 -21
  66. package/dist/codex/permissions.js.map +0 -1
  67. package/dist/codex/session-id.d.ts +0 -10
  68. package/dist/codex/session-id.d.ts.map +0 -1
  69. package/dist/codex/session-id.js +0 -15
  70. package/dist/codex/session-id.js.map +0 -1
  71. package/dist/codex/virtual-harness.d.ts +0 -209
  72. package/dist/codex/virtual-harness.d.ts.map +0 -1
  73. package/dist/codex/virtual-harness.js +0 -2650
  74. package/dist/codex/virtual-harness.js.map +0 -1
  75. package/dist/codex-workspace-bridge.d.ts +0 -108
  76. package/dist/codex-workspace-bridge.d.ts.map +0 -1
  77. package/dist/codex-workspace-bridge.js +0 -502
  78. package/dist/codex-workspace-bridge.js.map +0 -1
  79. package/dist/config.d.ts +0 -99
  80. package/dist/config.d.ts.map +0 -1
  81. package/dist/config.js +0 -127
  82. package/dist/config.js.map +0 -1
  83. package/dist/connection-controller.d.ts +0 -44
  84. package/dist/connection-controller.d.ts.map +0 -1
  85. package/dist/connection-controller.js +0 -185
  86. package/dist/connection-controller.js.map +0 -1
  87. package/dist/control-route.d.ts +0 -34
  88. package/dist/control-route.d.ts.map +0 -1
  89. package/dist/control-route.js +0 -136
  90. package/dist/control-route.js.map +0 -1
  91. package/dist/control-runtime.d.ts +0 -138
  92. package/dist/control-runtime.d.ts.map +0 -1
  93. package/dist/control-runtime.js +0 -543
  94. package/dist/control-runtime.js.map +0 -1
  95. package/dist/control-stream.d.ts +0 -67
  96. package/dist/control-stream.d.ts.map +0 -1
  97. package/dist/control-stream.js +0 -179
  98. package/dist/control-stream.js.map +0 -1
  99. package/dist/defaults.d.ts +0 -9
  100. package/dist/defaults.d.ts.map +0 -1
  101. package/dist/defaults.js +0 -9
  102. package/dist/defaults.js.map +0 -1
  103. package/dist/file-viewer-bridge.d.ts +0 -30
  104. package/dist/file-viewer-bridge.d.ts.map +0 -1
  105. package/dist/file-viewer-bridge.js +0 -128
  106. package/dist/file-viewer-bridge.js.map +0 -1
  107. package/dist/file-viewer-contract.d.ts +0 -5
  108. package/dist/file-viewer-contract.d.ts.map +0 -1
  109. package/dist/file-viewer-contract.js +0 -4
  110. package/dist/file-viewer-contract.js.map +0 -1
  111. package/dist/harness-api-bridge.d.ts +0 -81
  112. package/dist/harness-api-bridge.d.ts.map +0 -1
  113. package/dist/harness-api-bridge.js +0 -862
  114. package/dist/harness-api-bridge.js.map +0 -1
  115. package/dist/harness-api-history.d.ts +0 -3
  116. package/dist/harness-api-history.d.ts.map +0 -1
  117. package/dist/harness-api-history.js +0 -59
  118. package/dist/harness-api-history.js.map +0 -1
  119. package/dist/harness-remote-bridge.d.ts +0 -60
  120. package/dist/harness-remote-bridge.d.ts.map +0 -1
  121. package/dist/harness-remote-bridge.js +0 -540
  122. package/dist/harness-remote-bridge.js.map +0 -1
  123. package/dist/harness-version.d.ts +0 -23
  124. package/dist/harness-version.d.ts.map +0 -1
  125. package/dist/harness-version.js +0 -95
  126. package/dist/harness-version.js.map +0 -1
  127. package/dist/identity-store.d.ts +0 -45
  128. package/dist/identity-store.d.ts.map +0 -1
  129. package/dist/identity-store.js +0 -186
  130. package/dist/identity-store.js.map +0 -1
  131. package/dist/ids.d.ts +0 -2
  132. package/dist/ids.d.ts.map +0 -1
  133. package/dist/ids.js +0 -17
  134. package/dist/ids.js.map +0 -1
  135. package/dist/index.d.ts +0 -78
  136. package/dist/index.d.ts.map +0 -1
  137. package/dist/logging.d.ts +0 -18
  138. package/dist/logging.d.ts.map +0 -1
  139. package/dist/logging.js +0 -30
  140. package/dist/logging.js.map +0 -1
  141. package/dist/loopback-host.d.ts +0 -20
  142. package/dist/loopback-host.d.ts.map +0 -1
  143. package/dist/loopback-host.js +0 -245
  144. package/dist/loopback-host.js.map +0 -1
  145. package/dist/loopback-preview.d.ts +0 -19
  146. package/dist/loopback-preview.d.ts.map +0 -1
  147. package/dist/loopback-preview.js +0 -232
  148. package/dist/loopback-preview.js.map +0 -1
  149. package/dist/native-rtc-helper.d.ts +0 -14
  150. package/dist/native-rtc-helper.d.ts.map +0 -1
  151. package/dist/native-rtc-helper.js +0 -575
  152. package/dist/native-rtc-helper.js.map +0 -1
  153. package/dist/remote-api-proxy.d.ts +0 -17
  154. package/dist/remote-api-proxy.d.ts.map +0 -1
  155. package/dist/remote-api-proxy.js +0 -451
  156. package/dist/remote-api-proxy.js.map +0 -1
  157. package/dist/remote-directory-browser.d.ts +0 -16
  158. package/dist/remote-directory-browser.d.ts.map +0 -1
  159. package/dist/remote-directory-browser.js +0 -48
  160. package/dist/remote-directory-browser.js.map +0 -1
  161. package/dist/remote-file-content-provider.d.ts +0 -48
  162. package/dist/remote-file-content-provider.d.ts.map +0 -1
  163. package/dist/remote-file-content-provider.js +0 -93
  164. package/dist/remote-file-content-provider.js.map +0 -1
  165. package/dist/remote-typert-gateway.d.ts +0 -20
  166. package/dist/remote-typert-gateway.d.ts.map +0 -1
  167. package/dist/remote-typert-gateway.js +0 -334
  168. package/dist/remote-typert-gateway.js.map +0 -1
  169. package/dist/rpc-binary-attachments.d.ts +0 -33
  170. package/dist/rpc-binary-attachments.d.ts.map +0 -1
  171. package/dist/rpc-binary-attachments.js +0 -142
  172. package/dist/rpc-binary-attachments.js.map +0 -1
  173. package/dist/rpc-router.d.ts +0 -31
  174. package/dist/rpc-router.d.ts.map +0 -1
  175. package/dist/rpc-router.js +0 -201
  176. package/dist/rpc-router.js.map +0 -1
  177. package/dist/safe-error.d.ts +0 -8
  178. package/dist/safe-error.d.ts.map +0 -1
  179. package/dist/safe-error.js +0 -20
  180. package/dist/safe-error.js.map +0 -1
  181. package/dist/server-api.d.ts +0 -109
  182. package/dist/server-api.d.ts.map +0 -1
  183. package/dist/server-api.js +0 -520
  184. package/dist/server-api.js.map +0 -1
  185. package/dist/server-connection.d.ts +0 -79
  186. package/dist/server-connection.d.ts.map +0 -1
  187. package/dist/server-connection.js +0 -1023
  188. package/dist/server-connection.js.map +0 -1
  189. package/dist/server-credentials.d.ts +0 -55
  190. package/dist/server-credentials.d.ts.map +0 -1
  191. package/dist/server-credentials.js +0 -108
  192. package/dist/server-credentials.js.map +0 -1
  193. package/dist/service.d.ts +0 -151
  194. package/dist/service.d.ts.map +0 -1
  195. package/dist/service.js +0 -448
  196. package/dist/service.js.map +0 -1
  197. package/dist/session-format-compat.d.ts +0 -3
  198. package/dist/session-format-compat.d.ts.map +0 -1
  199. package/dist/session-format-compat.js +0 -183
  200. package/dist/session-format-compat.js.map +0 -1
  201. package/dist/status-stream.d.ts +0 -48
  202. package/dist/status-stream.d.ts.map +0 -1
  203. package/dist/status-stream.js +0 -133
  204. package/dist/status-stream.js.map +0 -1
  205. package/dist/terminal-policy.d.ts +0 -21
  206. package/dist/terminal-policy.d.ts.map +0 -1
  207. package/dist/terminal-policy.js +0 -68
  208. package/dist/terminal-policy.js.map +0 -1
  209. package/dist/tui-command.d.ts +0 -13
  210. package/dist/tui-command.d.ts.map +0 -1
  211. package/dist/tui-command.js +0 -392
  212. package/dist/tui-command.js.map +0 -1
  213. package/dist/typert-gateway-contract.d.ts +0 -59
  214. package/dist/typert-gateway-contract.d.ts.map +0 -1
  215. package/dist/typert-gateway-contract.js +0 -2
  216. package/dist/typert-gateway-contract.js.map +0 -1
  217. package/dist/typert-gateway-switch.d.ts +0 -85
  218. package/dist/typert-gateway-switch.d.ts.map +0 -1
  219. package/dist/typert-gateway-switch.js +0 -448
  220. package/dist/typert-gateway-switch.js.map +0 -1
  221. package/dist/types.d.ts +0 -20
  222. package/dist/types.d.ts.map +0 -1
  223. package/dist/types.js +0 -2
  224. package/dist/types.js.map +0 -1
  225. package/dist/version.d.ts +0 -12
  226. package/dist/version.d.ts.map +0 -1
  227. package/dist/version.js +0 -12
  228. package/dist/version.js.map +0 -1
  229. package/dist/werift-rtc.d.ts +0 -121
  230. package/dist/werift-rtc.d.ts.map +0 -1
  231. package/dist/werift-rtc.js +0 -490
  232. package/dist/werift-rtc.js.map +0 -1
@@ -1,268 +0,0 @@
1
- import { spawn } from 'node:child_process';
2
- import { Buffer } from 'node:buffer';
3
- import { PLUGIN_VERSION } from '../version.js';
4
- const APP_SERVER_REQUEST_TIMEOUT_MS = 60_000;
5
- const APP_SERVER_START_TIMEOUT_MS = 15_000;
6
- const MAX_APP_SERVER_LINE_BYTES = 288 * 1024 * 1024;
7
- const MAX_STDERR_CAPTURE_BYTES = 4 * 1024;
8
- export class CodexAppServerError extends Error {
9
- code;
10
- constructor(code, message, options) {
11
- super(message, options);
12
- this.code = code;
13
- this.name = 'CodexAppServerError';
14
- }
15
- }
16
- /**
17
- * Host-local stdio client for one Codex App Server process. This class knows
18
- * JSON-RPC correlation only; Remote authorization and method policy live in
19
- * the surrounding Codex domain.
20
- */
21
- export class CodexAppServerClient {
22
- binary;
23
- logger;
24
- spawnAppServer;
25
- process;
26
- nextId = 1;
27
- pending = new Map();
28
- inboundHandlers = new Set();
29
- unavailableHandlers = new Set();
30
- stdoutBuffer = Buffer.alloc(0);
31
- stderrBytes = 0;
32
- ready = false;
33
- closed = false;
34
- failureNotified = false;
35
- startPromise;
36
- constructor(binary, logger, spawnAppServer = binary => spawn(binary, ['app-server'], {
37
- stdio: ['pipe', 'pipe', 'pipe'],
38
- windowsHide: true,
39
- })) {
40
- this.binary = binary;
41
- this.logger = logger;
42
- this.spawnAppServer = spawnAppServer;
43
- }
44
- start() {
45
- if (this.closed)
46
- return Promise.reject(new CodexAppServerError('CODEX_CLOSED', 'The Codex domain is closed.'));
47
- if (this.ready)
48
- return Promise.resolve();
49
- this.startPromise ??= this.startOnce().finally(() => { this.startPromise = undefined; });
50
- return this.startPromise;
51
- }
52
- isReady() { return this.ready; }
53
- async call(method, params, timeoutMs = APP_SERVER_REQUEST_TIMEOUT_MS) {
54
- if (!this.ready)
55
- throw new CodexAppServerError('CODEX_UNAVAILABLE', 'Codex App Server is not ready.');
56
- return this.request(method, params, timeoutMs);
57
- }
58
- async respond(id, result) {
59
- this.write({ id, result });
60
- }
61
- async respondError(id, code, message) {
62
- this.write({ id, error: { code, message } });
63
- }
64
- onInbound(handler) {
65
- this.inboundHandlers.add(handler);
66
- return () => this.inboundHandlers.delete(handler);
67
- }
68
- onUnavailable(handler) {
69
- this.unavailableHandlers.add(handler);
70
- return () => this.unavailableHandlers.delete(handler);
71
- }
72
- async close() {
73
- if (this.closed)
74
- return;
75
- this.closed = true;
76
- this.ready = false;
77
- this.failPending(new CodexAppServerError('CODEX_CLOSED', 'Codex App Server was closed.'));
78
- const child = this.process;
79
- this.process = undefined;
80
- if (child === undefined || child.exitCode !== null || child.killed)
81
- return;
82
- await new Promise(resolve => {
83
- const timer = setTimeout(() => {
84
- child.kill('SIGKILL');
85
- resolve();
86
- }, 2_000);
87
- timer.unref?.();
88
- child.once('exit', () => {
89
- clearTimeout(timer);
90
- resolve();
91
- });
92
- child.kill('SIGTERM');
93
- });
94
- }
95
- async startOnce() {
96
- if (this.process !== undefined) {
97
- throw new CodexAppServerError('CODEX_STARTING', 'Codex App Server is already starting.');
98
- }
99
- const child = this.spawnAppServer(this.binary);
100
- this.process = child;
101
- this.failureNotified = false;
102
- this.stdoutBuffer = Buffer.alloc(0);
103
- this.stderrBytes = 0;
104
- child.stdout.on('data', chunk => this.consumeStdout(Buffer.from(chunk)));
105
- child.stderr.on('data', chunk => {
106
- // Always drain stderr, but never log Codex payloads or paths.
107
- this.stderrBytes = Math.min(MAX_STDERR_CAPTURE_BYTES, this.stderrBytes + Buffer.byteLength(chunk));
108
- });
109
- child.on('error', error => this.handleProcessFailure('CODEX_BINARY_UNAVAILABLE', error));
110
- child.on('exit', (code, signal) => {
111
- if (this.process !== child)
112
- return;
113
- this.process = undefined;
114
- this.ready = false;
115
- this.failPending(new CodexAppServerError('CODEX_APP_SERVER_EXITED', 'Codex App Server exited unexpectedly.'));
116
- if (!this.closed) {
117
- this.logger?.warn('Codex App Server exited', {
118
- code: code ?? 'none',
119
- signal: signal ?? 'none',
120
- stderrBytes: this.stderrBytes,
121
- });
122
- this.notifyUnavailable('CODEX_APP_SERVER_EXITED');
123
- }
124
- });
125
- try {
126
- await this.request('initialize', {
127
- clientInfo: {
128
- name: 'deepseek_harness_remote',
129
- title: 'DeepSeek Harness Remote',
130
- version: PLUGIN_VERSION,
131
- },
132
- capabilities: {
133
- experimentalApi: true,
134
- mcpServerOpenaiFormElicitation: false,
135
- },
136
- }, APP_SERVER_START_TIMEOUT_MS);
137
- this.write({ method: 'initialized', params: {} });
138
- this.ready = true;
139
- this.logger?.info('Codex App Server ready');
140
- }
141
- catch (error) {
142
- child.kill('SIGTERM');
143
- if (error instanceof CodexAppServerError)
144
- throw error;
145
- throw new CodexAppServerError('CODEX_INITIALIZE_FAILED', 'Codex App Server initialization failed.', { cause: error });
146
- }
147
- }
148
- request(method, params, timeoutMs) {
149
- const id = this.nextId++;
150
- const result = new Promise((resolve, reject) => {
151
- const timer = setTimeout(() => {
152
- this.pending.delete(id);
153
- reject(new CodexAppServerError('CODEX_REQUEST_TIMEOUT', 'Codex App Server request timed out.'));
154
- }, timeoutMs);
155
- timer.unref?.();
156
- this.pending.set(id, { resolve, reject, timer });
157
- });
158
- try {
159
- this.write({ id, method, params });
160
- }
161
- catch (error) {
162
- const pending = this.takePending(id);
163
- pending?.reject(error instanceof Error ? error : new Error('Codex App Server write failed.'));
164
- }
165
- return result;
166
- }
167
- write(message) {
168
- const child = this.process;
169
- if (child === undefined || child.stdin.destroyed || !child.stdin.writable) {
170
- throw new CodexAppServerError('CODEX_UNAVAILABLE', 'Codex App Server is not available.');
171
- }
172
- child.stdin.write(`${JSON.stringify(message)}\n`);
173
- }
174
- consumeStdout(chunk) {
175
- this.stdoutBuffer = this.stdoutBuffer.length === 0 ? chunk : Buffer.concat([this.stdoutBuffer, chunk]);
176
- if (this.stdoutBuffer.length > MAX_APP_SERVER_LINE_BYTES) {
177
- this.handleProcessFailure('CODEX_RESPONSE_TOO_LARGE', new Error('Codex App Server emitted an oversized JSONL message.'));
178
- return;
179
- }
180
- let newline = this.stdoutBuffer.indexOf(0x0a);
181
- while (newline >= 0) {
182
- const line = this.stdoutBuffer.subarray(0, newline);
183
- this.stdoutBuffer = this.stdoutBuffer.subarray(newline + 1);
184
- if (line.length > 0)
185
- this.handleLine(line);
186
- newline = this.stdoutBuffer.indexOf(0x0a);
187
- }
188
- }
189
- handleLine(line) {
190
- let value;
191
- try {
192
- value = JSON.parse(line.toString('utf8'));
193
- }
194
- catch {
195
- this.handleProcessFailure('CODEX_INVALID_RESPONSE', new Error('Codex App Server emitted invalid JSON.'));
196
- return;
197
- }
198
- if (!isRecord(value)) {
199
- this.handleProcessFailure('CODEX_INVALID_RESPONSE', new Error('Codex App Server emitted an invalid message.'));
200
- return;
201
- }
202
- if ((typeof value.id === 'number' || typeof value.id === 'string') && ('result' in value || 'error' in value)) {
203
- const pending = this.takePending(value.id);
204
- if (pending === undefined)
205
- return;
206
- if ('error' in value && value.error !== undefined) {
207
- pending.reject(new CodexAppServerError('CODEX_UPSTREAM_ERROR', safeUpstreamError(value.error)));
208
- }
209
- else {
210
- pending.resolve(value.result);
211
- }
212
- return;
213
- }
214
- if (typeof value.method !== 'string' || value.method.length === 0 || value.method.length > 160)
215
- return;
216
- const params = value.params ?? {};
217
- const inbound = typeof value.id === 'string' || typeof value.id === 'number'
218
- ? { kind: 'request', id: value.id, method: value.method, params }
219
- : { kind: 'notification', method: value.method, params };
220
- for (const handler of this.inboundHandlers)
221
- handler(inbound);
222
- }
223
- handleProcessFailure(code, cause) {
224
- this.ready = false;
225
- this.failPending(new CodexAppServerError(code, 'Codex App Server communication failed.', { cause }));
226
- const child = this.process;
227
- this.process = undefined;
228
- child?.kill('SIGTERM');
229
- this.logger?.warn('Codex App Server communication failed', { code });
230
- if (!this.closed)
231
- this.notifyUnavailable(code);
232
- }
233
- notifyUnavailable(code) {
234
- if (this.failureNotified)
235
- return;
236
- this.failureNotified = true;
237
- for (const handler of this.unavailableHandlers)
238
- handler(code);
239
- }
240
- takePending(id) {
241
- const pending = this.pending.get(id);
242
- if (pending === undefined)
243
- return undefined;
244
- this.pending.delete(id);
245
- clearTimeout(pending.timer);
246
- return pending;
247
- }
248
- failPending(error) {
249
- for (const id of [...this.pending.keys()])
250
- this.takePending(id)?.reject(error);
251
- }
252
- }
253
- function safeUpstreamError(value) {
254
- if (!isRecord(value) || typeof value.message !== 'string')
255
- return 'Codex App Server rejected the request.';
256
- // Upstream messages may contain paths or prompt fragments. Only retain a
257
- // short generic category for the Remote boundary.
258
- const message = value.message.toLowerCase();
259
- if (message.includes('active writer'))
260
- return 'Codex thread already has an active writer.';
261
- return message.includes('not initialized')
262
- ? 'Codex App Server is not initialized.'
263
- : 'Codex App Server rejected the request.';
264
- }
265
- function isRecord(value) {
266
- return typeof value === 'object' && value !== null && !Array.isArray(value);
267
- }
268
- //# sourceMappingURL=app-server.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"app-server.js","sourceRoot":"","sources":["../../src/codex/app-server.ts"],"names":[],"mappings":"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"}
@@ -1,7 +0,0 @@
1
- type JsonRecord = Record<string, unknown>;
2
- export declare function toolOutputImageBlocks(item: JsonRecord): JsonRecord[];
3
- export declare function contentBlocks(value: unknown, attachmentSeed: string): JsonRecord[];
4
- export declare function collectImageBlocks(value: unknown, output?: JsonRecord[]): JsonRecord[];
5
- export declare function isCanonicalBase64(value: string): boolean;
6
- export {};
7
- //# sourceMappingURL=codex-image-codec.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"codex-image-codec.d.ts","sourceRoot":"","sources":["../../src/codex/codex-image-codec.ts"],"names":[],"mappings":"AAAA,KAAK,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;AAmBzC,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,UAAU,GAAG,UAAU,EAAE,CAgBpE;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,GAAG,UAAU,EAAE,CAqBlF;AAuDD,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,GAAE,UAAU,EAAO,GAAG,UAAU,EAAE,CAc1F;AAmJD,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAGxD"}
@@ -1,288 +0,0 @@
1
- const CODEX_IMAGE_MEDIA_TYPES = new Set(['image/png', 'image/jpeg', 'image/webp', 'image/gif']);
2
- const CODEX_IMAGE_ATTACHMENT_PREFIX = 'codex-image:';
3
- const MAX_CODEX_IMAGE_BASE64 = 288 * 1024 * 1024;
4
- const DATA_IMAGE_URL = /^data:(image\/(?:png|jpeg|webp|gif));base64,([A-Za-z0-9+/]+={0,2})$/u;
5
- function string(value) {
6
- return typeof value === 'string' ? value : undefined;
7
- }
8
- function isRecord(value) {
9
- return typeof value === 'object' && value !== null && !Array.isArray(value);
10
- }
11
- function record(value) {
12
- return isRecord(value) ? value : {};
13
- }
14
- export function toolOutputImageBlocks(item) {
15
- const candidates = [
16
- record(item.result).content,
17
- record(item.output).content,
18
- item.contentItems,
19
- Array.isArray(item.output) ? item.output : undefined,
20
- ];
21
- for (const candidate of candidates) {
22
- if (!Array.isArray(candidate))
23
- continue;
24
- const images = candidate.flatMap(value => {
25
- const block = record(value);
26
- return isImageContent(block) && parseImageBlock(block) !== undefined ? [block] : [];
27
- });
28
- if (images.length > 0)
29
- return images;
30
- }
31
- return [];
32
- }
33
- export function contentBlocks(value, attachmentSeed) {
34
- if (typeof value === 'string')
35
- return [{ type: 'text', text: value }];
36
- if (!Array.isArray(value))
37
- return [];
38
- const blocks = [];
39
- let imageIndex = 0;
40
- for (const raw of value) {
41
- if (typeof raw === 'string') {
42
- blocks.push({ type: 'text', text: raw });
43
- continue;
44
- }
45
- const block = record(raw);
46
- const image = imageContentBlock(block, attachmentSeed, imageIndex);
47
- if (image !== undefined) {
48
- imageIndex += 1;
49
- blocks.push(image);
50
- continue;
51
- }
52
- const text = string(block.text) ?? string(block.content);
53
- if (text !== undefined)
54
- blocks.push({ type: block.type === 'reasoning' ? 'reasoning' : 'text', text });
55
- }
56
- return blocks;
57
- }
58
- function imageContentBlock(block, attachmentSeed, index) {
59
- if (!isImageContent(block))
60
- return undefined;
61
- const image = parseImageBlock(block);
62
- if (image === undefined)
63
- return undefined;
64
- const dimensions = imageDimensions(image.mediaType, image.data);
65
- const name = string(block.name);
66
- const attachment = {
67
- attachmentId: `${CODEX_IMAGE_ATTACHMENT_PREFIX}${hashString(`${attachmentSeed}:${index}`)}:${index}`,
68
- mediaType: image.mediaType,
69
- bytes: base64ByteLength(image.data),
70
- width: dimensions.width,
71
- height: dimensions.height,
72
- ...(name === undefined ? {} : { name }),
73
- };
74
- return {
75
- type: 'image',
76
- attachment,
77
- mediaType: image.mediaType,
78
- data: image.data,
79
- url: image.url,
80
- ...(name === undefined ? {} : { name }),
81
- };
82
- }
83
- function isImageContent(block) {
84
- return block.type === 'image' || block.type === 'input_image';
85
- }
86
- function parseImageBlock(block) {
87
- const url = string(block.url)
88
- ?? string(block.image_url)
89
- ?? string(record(block.image_url).url);
90
- const parsed = url === undefined ? undefined : parseDataImageUrl(url);
91
- if (parsed !== undefined)
92
- return parsed;
93
- const data = string(block.data);
94
- if (data === undefined || !isCanonicalBase64(data))
95
- return undefined;
96
- if (data.length > MAX_CODEX_IMAGE_BASE64)
97
- return undefined;
98
- const mediaType = string(block.mediaType) ?? string(block.mimeType) ?? sniffImageMediaType(data);
99
- return mediaType !== undefined && CODEX_IMAGE_MEDIA_TYPES.has(mediaType)
100
- ? { mediaType, data, url: `data:${mediaType};base64,${data}` }
101
- : undefined;
102
- }
103
- function parseDataImageUrl(value) {
104
- const match = DATA_IMAGE_URL.exec(value);
105
- if (match === null)
106
- return undefined;
107
- const mediaType = match[1];
108
- const data = match[2];
109
- if (!CODEX_IMAGE_MEDIA_TYPES.has(mediaType) || !isCanonicalBase64(data))
110
- return undefined;
111
- return { mediaType, data, url: `data:${mediaType};base64,${data}` };
112
- }
113
- export function collectImageBlocks(value, output = []) {
114
- if (Array.isArray(value)) {
115
- for (const item of value)
116
- collectImageBlocks(item, output);
117
- return output;
118
- }
119
- if (!isRecord(value))
120
- return output;
121
- if (value.type === 'image')
122
- output.push(value);
123
- for (const [key, child] of Object.entries(value)) {
124
- if (key === 'attachment')
125
- continue;
126
- if (key === 'content' || key === 'message' || key === 'inserted' || key === 'chunk' || key === 'block') {
127
- collectImageBlocks(child, output);
128
- }
129
- }
130
- return output;
131
- }
132
- function base64ByteLength(value) {
133
- const padding = value.endsWith('==') ? 2 : value.endsWith('=') ? 1 : 0;
134
- return Math.max(1, Math.floor(value.length * 3 / 4) - padding);
135
- }
136
- function imageDimensions(mediaType, data) {
137
- const bytes = base64PrefixBytes(data, 256 * 1024);
138
- const parsed = mediaType === 'image/png'
139
- ? pngDimensions(bytes)
140
- : mediaType === 'image/jpeg'
141
- ? jpegDimensions(bytes)
142
- : mediaType === 'image/gif'
143
- ? gifDimensions(bytes)
144
- : mediaType === 'image/webp'
145
- ? webpDimensions(bytes)
146
- : undefined;
147
- return parsed ?? { width: 1, height: 1 };
148
- }
149
- function pngDimensions(bytes) {
150
- if (bytes.length < 24
151
- || bytes[0] !== 0x89
152
- || bytes[1] !== 0x50
153
- || bytes[2] !== 0x4e
154
- || bytes[3] !== 0x47
155
- || bytes[4] !== 0x0d
156
- || bytes[5] !== 0x0a
157
- || bytes[6] !== 0x1a
158
- || bytes[7] !== 0x0a)
159
- return undefined;
160
- return positiveDimensions(readUint32BE(bytes, 16), readUint32BE(bytes, 20));
161
- }
162
- function jpegDimensions(bytes) {
163
- if (bytes.length < 4 || bytes[0] !== 0xff || bytes[1] !== 0xd8)
164
- return undefined;
165
- let offset = 2;
166
- while (offset + 9 < bytes.length) {
167
- if (bytes[offset] !== 0xff) {
168
- offset += 1;
169
- continue;
170
- }
171
- const marker = bytes[offset + 1];
172
- offset += 2;
173
- if (marker === 0xd8 || marker === 0xd9)
174
- continue;
175
- if (offset + 2 > bytes.length)
176
- return undefined;
177
- const length = readUint16BE(bytes, offset);
178
- if (length < 2 || offset + length > bytes.length)
179
- return undefined;
180
- if (isJpegSof(marker) && length >= 7) {
181
- return positiveDimensions(readUint16BE(bytes, offset + 5), readUint16BE(bytes, offset + 3));
182
- }
183
- offset += length;
184
- }
185
- return undefined;
186
- }
187
- function gifDimensions(bytes) {
188
- if (bytes.length < 10
189
- || bytes[0] !== 0x47
190
- || bytes[1] !== 0x49
191
- || bytes[2] !== 0x46
192
- || bytes[3] !== 0x38
193
- || (bytes[4] !== 0x37 && bytes[4] !== 0x39)
194
- || bytes[5] !== 0x61)
195
- return undefined;
196
- return positiveDimensions(readUint16LE(bytes, 6), readUint16LE(bytes, 8));
197
- }
198
- function webpDimensions(bytes) {
199
- if (bytes.length < 30
200
- || stringFromBytes(bytes, 0, 4) !== 'RIFF'
201
- || stringFromBytes(bytes, 8, 12) !== 'WEBP')
202
- return undefined;
203
- const chunk = stringFromBytes(bytes, 12, 16);
204
- if (chunk === 'VP8X') {
205
- return positiveDimensions(1 + readUint24LE(bytes, 24), 1 + readUint24LE(bytes, 27));
206
- }
207
- if (chunk === 'VP8L' && bytes[20] === 0x2f) {
208
- const b0 = bytes[21];
209
- const b1 = bytes[22];
210
- const b2 = bytes[23];
211
- const b3 = bytes[24];
212
- const width = 1 + b0 + ((b1 & 0x3f) << 8);
213
- const height = 1 + ((b1 & 0xc0) >> 6) + (b2 << 2) + ((b3 & 0x0f) << 10);
214
- return positiveDimensions(width, height);
215
- }
216
- if (chunk === 'VP8 ' && bytes[23] === 0x9d && bytes[24] === 0x01 && bytes[25] === 0x2a) {
217
- return positiveDimensions(readUint16LE(bytes, 26) & 0x3fff, readUint16LE(bytes, 28) & 0x3fff);
218
- }
219
- return undefined;
220
- }
221
- function sniffImageMediaType(data) {
222
- const bytes = base64PrefixBytes(data, 32);
223
- if (pngDimensions(bytes) !== undefined)
224
- return 'image/png';
225
- if (bytes.length >= 3 && bytes[0] === 0xff && bytes[1] === 0xd8 && bytes[2] === 0xff)
226
- return 'image/jpeg';
227
- if (gifDimensions(bytes) !== undefined)
228
- return 'image/gif';
229
- if (bytes.length >= 12 && stringFromBytes(bytes, 0, 4) === 'RIFF' && stringFromBytes(bytes, 8, 12) === 'WEBP')
230
- return 'image/webp';
231
- return undefined;
232
- }
233
- function base64PrefixBytes(value, maxBytes) {
234
- const chars = value.slice(0, Math.ceil(maxBytes / 3) * 4);
235
- let binary;
236
- try {
237
- binary = atob(chars);
238
- }
239
- catch {
240
- return new Uint8Array();
241
- }
242
- const bytes = new Uint8Array(Math.min(binary.length, maxBytes));
243
- for (let index = 0; index < bytes.length; index += 1)
244
- bytes[index] = binary.charCodeAt(index);
245
- return bytes;
246
- }
247
- function readUint16BE(bytes, offset) {
248
- return (bytes[offset] << 8) + bytes[offset + 1];
249
- }
250
- function readUint16LE(bytes, offset) {
251
- return bytes[offset] + (bytes[offset + 1] << 8);
252
- }
253
- function readUint24LE(bytes, offset) {
254
- return bytes[offset] + (bytes[offset + 1] << 8) + (bytes[offset + 2] << 16);
255
- }
256
- function readUint32BE(bytes, offset) {
257
- return (bytes[offset] * 0x1000000) + (bytes[offset + 1] * 0x10000) + (bytes[offset + 2] * 0x100) + bytes[offset + 3];
258
- }
259
- function positiveDimensions(width, height) {
260
- return width > 0 && height > 0 ? { width, height } : undefined;
261
- }
262
- function isJpegSof(marker) {
263
- return (marker >= 0xc0 && marker <= 0xc3)
264
- || (marker >= 0xc5 && marker <= 0xc7)
265
- || (marker >= 0xc9 && marker <= 0xcb)
266
- || (marker >= 0xcd && marker <= 0xcf);
267
- }
268
- function stringFromBytes(bytes, start, end) {
269
- if (bytes.length < end)
270
- return '';
271
- let output = '';
272
- for (let index = start; index < end; index += 1)
273
- output += String.fromCharCode(bytes[index]);
274
- return output;
275
- }
276
- export function isCanonicalBase64(value) {
277
- return value.length >= 4 && value.length % 4 === 0
278
- && /^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/u.test(value);
279
- }
280
- function hashString(value) {
281
- let hash = 2166136261;
282
- for (let index = 0; index < value.length; index += 1) {
283
- hash ^= value.charCodeAt(index);
284
- hash = Math.imul(hash, 16777619);
285
- }
286
- return (hash >>> 0).toString(16).padStart(8, '0');
287
- }
288
- //# sourceMappingURL=codex-image-codec.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"codex-image-codec.js","sourceRoot":"","sources":["../../src/codex/codex-image-codec.ts"],"names":[],"mappings":"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"}