mandala-computer-mcp 0.1.1 → 0.3.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.
Files changed (66) hide show
  1. package/README.md +127 -16
  2. package/dist/api.d.ts +19 -6
  3. package/dist/api.d.ts.map +1 -1
  4. package/dist/api.js +261 -57
  5. package/dist/api.js.map +1 -1
  6. package/dist/cli.d.ts.map +1 -1
  7. package/dist/cli.js +113 -8
  8. package/dist/cli.js.map +1 -1
  9. package/dist/errors.d.ts +74 -9
  10. package/dist/errors.d.ts.map +1 -1
  11. package/dist/errors.js +115 -25
  12. package/dist/errors.js.map +1 -1
  13. package/dist/events.d.ts +36 -4
  14. package/dist/events.d.ts.map +1 -1
  15. package/dist/events.js +223 -33
  16. package/dist/events.js.map +1 -1
  17. package/dist/format.d.ts +48 -0
  18. package/dist/format.d.ts.map +1 -1
  19. package/dist/format.js +31 -1
  20. package/dist/format.js.map +1 -1
  21. package/dist/http-body.d.ts +17 -0
  22. package/dist/http-body.d.ts.map +1 -0
  23. package/dist/http-body.js +48 -0
  24. package/dist/http-body.js.map +1 -0
  25. package/dist/http.d.ts.map +1 -1
  26. package/dist/http.js +177 -51
  27. package/dist/http.js.map +1 -1
  28. package/dist/index.d.ts +1 -1
  29. package/dist/index.d.ts.map +1 -1
  30. package/dist/index.js +1 -1
  31. package/dist/index.js.map +1 -1
  32. package/dist/paths.d.ts +28 -18
  33. package/dist/paths.d.ts.map +1 -1
  34. package/dist/paths.js +85 -22
  35. package/dist/paths.js.map +1 -1
  36. package/dist/poll.d.ts +103 -0
  37. package/dist/poll.d.ts.map +1 -0
  38. package/dist/poll.js +129 -0
  39. package/dist/poll.js.map +1 -0
  40. package/dist/server.d.ts +1 -1
  41. package/dist/server.js +1 -1
  42. package/dist/tools/agent.d.ts.map +1 -1
  43. package/dist/tools/agent.js +14 -2
  44. package/dist/tools/agent.js.map +1 -1
  45. package/dist/tools/computers.d.ts.map +1 -1
  46. package/dist/tools/computers.js +346 -62
  47. package/dist/tools/computers.js.map +1 -1
  48. package/dist/tools/events.d.ts.map +1 -1
  49. package/dist/tools/events.js +295 -49
  50. package/dist/tools/events.js.map +1 -1
  51. package/dist/tools/guest.d.ts.map +1 -1
  52. package/dist/tools/guest.js +228 -32
  53. package/dist/tools/guest.js.map +1 -1
  54. package/dist/tools/input.d.ts.map +1 -1
  55. package/dist/tools/input.js +29 -3
  56. package/dist/tools/input.js.map +1 -1
  57. package/dist/tools/snapshots.d.ts.map +1 -1
  58. package/dist/tools/snapshots.js +478 -20
  59. package/dist/tools/snapshots.js.map +1 -1
  60. package/dist/tools/templates.d.ts.map +1 -1
  61. package/dist/tools/templates.js +52 -13
  62. package/dist/tools/templates.js.map +1 -1
  63. package/dist/tools/webhooks.d.ts.map +1 -1
  64. package/dist/tools/webhooks.js +116 -17
  65. package/dist/tools/webhooks.js.map +1 -1
  66. package/package.json +3 -2
package/dist/api.js CHANGED
@@ -1,5 +1,5 @@
1
- import { Agent, fetch as undiciFetch } from 'undici';
2
- import { CancelledError, ConnectivityError, ConnectivityInterruptedError, errorForStatus, MandalaError, RangeNotSatisfiableError, RateLimitError, } from './errors.js';
1
+ import { Agent, Headers as UndiciHeaders, fetch as undiciFetch } from 'undici';
2
+ import { CancelledError, ConnectivityError, ConnectivityInterruptedError, errorForStatus, MandalaError, RangeNotSatisfiableError, RedirectError, } from './errors.js';
3
3
  export const DEFAULT_BASE_URL = 'https://app.mandala.computer/api/v1';
4
4
  /** Anthropic's own key, forwarded for the one route that runs a model. */
5
5
  export const MODEL_KEY_HEADER = 'X-Model-Key';
@@ -11,14 +11,28 @@ export const MODEL_KEY_HEADER = 'X-Model-Key';
11
11
  * until the process runs out of memory.
12
12
  */
13
13
  const MAX_SSE_BUFFER = 8 * 1024 * 1024;
14
- /** Finite response-body ceilings for the two paths that decode text. */
15
- const MAX_JSON_BODY_BYTES = 16 * 1024 * 1024;
14
+ /**
15
+ * Finite response-body ceilings for the two paths that decode text.
16
+ *
17
+ * The JSON one is sized off the largest legitimate response on any route, which
18
+ * is an exec answer (OPL-4542). The guest agent caps its capture at 16 MiB PER
19
+ * STREAM, and both streams now travel as base64 — four characters for every
20
+ * three bytes — so a foreground command that filled both arrives as about
21
+ * 42.7 MiB of JSON. This used to be 16 MiB, sized when those fields were JSON
22
+ * strings of the decoded bytes, and a body over it is not truncated but
23
+ * REFUSED: the model would have lost the whole answer, truncation sentence
24
+ * included, somewhere north of 12 MiB of output. Under the platform's own
25
+ * 64 MiB transfer cap, and still finite, which is the only thing this guard is
26
+ * for — it exists to refuse an unbounded body, not to set a policy on a large
27
+ * one.
28
+ */
29
+ const MAX_JSON_BODY_BYTES = 48 * 1024 * 1024;
16
30
  const MAX_ERROR_BODY_BYTES = 1024 * 1024;
17
31
  /**
18
- * The longest guest exec waits 300 seconds before it answers. Node's bundled
19
- * fetch also gives response headers 300 seconds by default, so the client can
20
- * lose that race while the command is still finishing in the guest. Keep the
21
- * public exec limit and give the platform enough time to report its timeout.
32
+ * The longest foreground guest exec waits 600 seconds before it answers.
33
+ * Node's bundled fetch gives response headers 300 seconds by default, so the
34
+ * client can lose that race while the command is still finishing in the guest.
35
+ * Allow 30 seconds beyond the public exec limit for the timeout response.
22
36
  *
23
37
  * The body is a different clock. undici's default `bodyTimeout` is 300 seconds
24
38
  * of silence *between chunks*, and `run_agent` SSE (or a long exec that has
@@ -27,10 +41,10 @@ const MAX_ERROR_BODY_BYTES = 1024 * 1024;
27
41
  * disables it: a quiet gap is not a dead connection, and the caller's
28
42
  * AbortSignal is what ends a request nobody is waiting for.
29
43
  */
30
- export const PLATFORM_HEADERS_TIMEOUT_MS = 330_000;
44
+ export const PLATFORM_HEADERS_TIMEOUT_MS = 630_000;
31
45
  /** Disabled. A finite idle limit is what used to kill a quiet SSE stream. */
32
46
  export const PLATFORM_BODY_TIMEOUT_MS = 0;
33
- const PLATFORM_DISPATCHER = new Agent({
47
+ export const PLATFORM_DISPATCHER = new Agent({
34
48
  headersTimeout: PLATFORM_HEADERS_TIMEOUT_MS,
35
49
  bodyTimeout: PLATFORM_BODY_TIMEOUT_MS,
36
50
  });
@@ -105,7 +119,7 @@ export class Api {
105
119
  parsed = new URL(baseUrl);
106
120
  }
107
121
  catch {
108
- throw new MandalaError(`not a valid base URL: ${baseUrl}. Set MANDALA_BASE_URL to an absolute http(s) URL, e.g. ${DEFAULT_BASE_URL}`);
122
+ throw new MandalaError(`not a valid base URL. Set MANDALA_BASE_URL to an absolute http(s) URL, e.g. ${DEFAULT_BASE_URL}`);
109
123
  }
110
124
  // The scheme the message already promised. `new URL` alone accepts
111
125
  // `file:`, `ftp:` and anything else with a colon in it, so a typo that
@@ -113,7 +127,7 @@ export class Api {
113
127
  // the protocol — a message about the request, in a place that was supposed
114
128
  // to be about the setting.
115
129
  if (parsed.protocol !== 'http:' && parsed.protocol !== 'https:') {
116
- throw new MandalaError(`not an http(s) base URL: ${baseUrl}. Set MANDALA_BASE_URL to an absolute http(s) URL, e.g. ${DEFAULT_BASE_URL}`);
130
+ throw new MandalaError(`not an http(s) base URL. Set MANDALA_BASE_URL to an absolute http(s) URL, e.g. ${DEFAULT_BASE_URL}`);
117
131
  }
118
132
  // Normalised as a URL rather than as a string. `${base}/${path}` looked
119
133
  // equivalent and is not, because a base may carry a query — a tenant or an
@@ -126,9 +140,8 @@ export class Api {
126
140
  parsed.pathname = parsed.pathname.replace(/\/+$/, '');
127
141
  this.#base = parsed;
128
142
  // Still the string that was given, minus the trailing slashes it was always
129
- // stripped of — this is what error messages name and what `with` re-parses,
130
- // and changing its spelling would change what a reader is told they
131
- // configured.
143
+ // stripped of — this is what `with` re-parses, and changing its spelling
144
+ // would change the configured destination.
132
145
  this.baseUrl = baseUrl.replace(/\/+$/, '');
133
146
  this.#apiKey = apiKey;
134
147
  this.#signal = signal;
@@ -194,6 +207,8 @@ export class Api {
194
207
  body = JSON.stringify(opts.body);
195
208
  }
196
209
  const signal = opts.signal ?? this.#signal;
210
+ const requested = this.#url(path, opts.query);
211
+ const fetchRequest = platformFetch();
197
212
  let resp;
198
213
  try {
199
214
  // `dispatcher` is Node/undici's extension to RequestInit. It is kept on
@@ -203,9 +218,16 @@ export class Api {
203
218
  headers,
204
219
  body,
205
220
  signal,
221
+ // Answered, not followed. `isTransientForPoll` has always documented
222
+ // this client as one that does not follow redirects — the `>= 500` rule
223
+ // is argued from it — and the default `'follow'` quietly made that
224
+ // false: up to twenty hops, with the bearer still attached on the
225
+ // same-origin ones, and an operator whose MANDALA_BASE_URL is wrong
226
+ // never finding out. See {@link RedirectError}.
227
+ redirect: 'manual',
206
228
  dispatcher: PLATFORM_DISPATCHER,
207
229
  };
208
- resp = await platformFetch()(this.#url(path, opts.query), init);
230
+ resp = await fetchRequest(requested, init);
209
231
  }
210
232
  catch (cause) {
211
233
  // Cancellation first, because it is not a connectivity failure and the
@@ -219,6 +241,11 @@ export class Api {
219
241
  if (isCancellation(cause, signal)) {
220
242
  throw cancellationError(method, path, 'before the platform answered');
221
243
  }
244
+ if (fetchRequest === undiciFetch &&
245
+ undiciRejectsLocally(requested, headers)) {
246
+ throw new MandalaError(`${method} /${path.replace(/^\/+/, '')} was rejected locally before it could be sent. ` +
247
+ 'Check the configured URL and request headers.');
248
+ }
222
249
  // Rewritten, because the raw one names the host and the failure a model
223
250
  // can act on is "the platform is not reachable", not a DNS error string.
224
251
  //
@@ -228,14 +255,45 @@ export class Api {
228
255
  // wire means the platform may have acted and the answer was lost. The
229
256
  // second says so, and the wording follows the class rather than the other
230
257
  // way round (OPL-3855).
231
- const detail = cause instanceof Error ? cause.message : String(cause);
232
258
  if (neverDispatched(cause)) {
233
- throw new ConnectivityError(`could not reach ${this.#base.origin}: ${detail}`);
259
+ throw new ConnectivityError(`could not reach ${this.#base.origin}`);
234
260
  }
235
261
  throw new ConnectivityInterruptedError(`${method} /${path.replace(/^\/+/, '')} to ${this.#base.origin} failed after the request ` +
236
- `was sent: ${detail}. It may have been received, so treat anything it would have ` +
262
+ `was sent. It may have been received, so treat anything it would have ` +
237
263
  'changed as unknown rather than undone.');
238
264
  }
265
+ // Before the general mapping, because a 3xx carries no error body to read
266
+ // and its one useful field is a HEADER. Left to `#error` it would arrive as
267
+ // a bare `HTTP 301`, which says nothing about the value that has to change.
268
+ if (resp.status >= 300 && resp.status < 400) {
269
+ // Resolved against the request, because `Location` is very often relative
270
+ // and `redirect: 'manual'` hands back the raw header. "set
271
+ // MANDALA_BASE_URL to /api/v1/computers" names something that is not a URL
272
+ // and would not work — and naming the value to paste is the entire reason
273
+ // this branch exists rather than a bare `HTTP 301`.
274
+ const raw = resp.headers.get('location');
275
+ let to = raw ?? undefined;
276
+ if (raw) {
277
+ try {
278
+ to = new URL(raw, requested).toString();
279
+ }
280
+ catch {
281
+ // A Location this client cannot parse is still worth repeating
282
+ // verbatim: the operator can see what the platform said.
283
+ to = raw;
284
+ }
285
+ }
286
+ // Cancelled before the throw, the way every other exit in this file
287
+ // cancels its reader. A 3xx body is nothing anybody wants, but an unread
288
+ // one holds its undici connection open until the GC gets to it — and the
289
+ // whole point of this branch is a misconfigured base URL, which means
290
+ // EVERY request takes it.
291
+ await resp.body?.cancel().catch(() => { });
292
+ throw new RedirectError(`${method} /${path.replace(/^\/+/, '')} was redirected (HTTP ${resp.status}${to ? ` to ${to}` : ', with no Location header'}). This client does not follow redirects, because a redirect says the ` +
293
+ `address it was given is not the address in use — set MANDALA_BASE_URL to ` +
294
+ `${to ? 'that URL' : 'the URL the platform actually serves'} rather than relying on ` +
295
+ `a hop on every request. Retrying this unchanged gets the same answer.`, resp.status);
296
+ }
239
297
  if (!resp.ok)
240
298
  throw await this.#error(resp, method, path, signal);
241
299
  return resp;
@@ -291,24 +349,13 @@ export class Api {
291
349
  body = text;
292
350
  }
293
351
  }
294
- // The one status whose headers say more than its body does. `Content-Range:
295
- // bytes *\/<size>` carries the file's real length, and errorForStatus takes
296
- // no headers — deliberately, since every other status it maps is decided by
297
- // the number alone. So this one is built here, where the response is still
298
- // in hand, and the length rides on the error to whoever asked for the range.
352
+ const delay = retryAfterMs(resp.headers.get('retry-after'));
353
+ // Content-Range describes the file length, independently of Retry-After.
299
354
  if (resp.status === 416) {
300
355
  const total = parseContentRange(resp.headers.get('content-range'))?.total;
301
- return new RangeNotSatisfiableError(message, resp.status, body, total);
302
- }
303
- // The other one, for the same reason: `Retry-After` is a header, and it is
304
- // the platform saying how long to wait rather than leaving the wait tools
305
- // to guess. Built here while the response is still in hand; the BY_STATUS
306
- // entry covers a 429 reaching errorForStatus from anywhere else, without
307
- // the number.
308
- if (resp.status === 429) {
309
- return new RateLimitError(message, resp.status, body, retryAfterMs(resp.headers.get('retry-after')));
356
+ return new RangeNotSatisfiableError(message, resp.status, body, total, delay);
310
357
  }
311
- return errorForStatus(resp.status, message, body);
358
+ return errorForStatus(resp.status, message, body, delay);
312
359
  }
313
360
  /**
314
361
  * A JSON body, or nothing, or a named failure.
@@ -377,7 +424,7 @@ export class Api {
377
424
  * short 200 — but a caller that opts in gets the list plus `X-GC-Incomplete`,
378
425
  * and a header is only a warning if something reads it.
379
426
  *
380
- * It is the count of what the placement cache could account for, and it is
427
+ * It is the count of what the host cache could account for, and it is
381
428
  * legitimately `0`: a computer created during the outage was never cached
382
429
  * against the host now holding it. So presence is the signal and the number is
383
430
  * detail, which is why this returns `null` versus a number rather than a
@@ -415,7 +462,7 @@ export class Api {
415
462
  // because assuming is the exact failure the status exists to prevent, and
416
463
  // because nothing downstream can tell the difference afterwards.
417
464
  //
418
- // The platform always sends the header (`bytes %d-%d/%d` in server/api.go).
465
+ // The platform always sends the header, formatted `bytes %d-%d/%d`.
419
466
  // A hop in front of it that drops the header is the case this is for, and
420
467
  // the same one mandala-computer-typescript's toFileChunk refuses.
421
468
  if (resp.status === 206 && !window) {
@@ -466,6 +513,8 @@ export class Api {
466
513
  });
467
514
  const contentType = mediaType(resp.headers.get('content-type'));
468
515
  if (contentType !== 'text/event-stream') {
516
+ // No reader owns this body yet; release a rejected response ourselves.
517
+ await resp.body?.cancel().catch(() => { });
469
518
  throw new MandalaError(`${method} ${path} expected text/event-stream, but the platform answered ${contentType}`);
470
519
  }
471
520
  if (!resp.body)
@@ -527,6 +576,31 @@ export class Api {
527
576
  }
528
577
  }
529
578
  }
579
+ /**
580
+ * Does undici refuse this request shape before it can put anything on a wire?
581
+ *
582
+ * Its own validation errors quote the rejected header value or full URL. Those
583
+ * values can contain the credentials this client is responsible for keeping
584
+ * out of errors, so inspect the inputs instead of the exception text. The
585
+ * caller checks that undici itself was selected before using this result; a
586
+ * replacement fetch may support URL userinfo or validate headers differently.
587
+ *
588
+ * Kept deliberately narrow. An arbitrary TypeError from fetch does not prove a
589
+ * request stayed local, and treating one as safe to replay could duplicate a
590
+ * mutating operation.
591
+ */
592
+ function undiciRejectsLocally(requested, headers) {
593
+ const url = new URL(requested);
594
+ if (url.username || url.password)
595
+ return true;
596
+ try {
597
+ new UndiciHeaders(headers);
598
+ return false;
599
+ }
600
+ catch {
601
+ return true;
602
+ }
603
+ }
530
604
  /**
531
605
  * Was this rejection the caller hanging up, rather than the network?
532
606
  *
@@ -551,7 +625,7 @@ function isCancellation(_cause, signal) {
551
625
  * links have to be followed. Bounded, because a cause chain is user-reachable
552
626
  * data and nothing here needs to be robust to a cycle.
553
627
  */
554
- function* causes(err, depth = 0) {
628
+ export function* causes(err, depth = 0) {
555
629
  if (!err || typeof err !== 'object' || depth > 5)
556
630
  return;
557
631
  const e = err;
@@ -710,7 +784,8 @@ async function readBody(method, path, signal, read) {
710
784
  // lost is the answer. That is precisely the case `isTransient` must say no
711
785
  // to and the poll predicate must ride out (OPL-3855).
712
786
  if (isTransportFailure(cause)) {
713
- throw new ConnectivityInterruptedError(`could not finish reading ${method} /${path.replace(/^\/+/, '')}: ${cause instanceof Error ? cause.message : String(cause)}. The request was received, so treat anything it would have changed as ` +
787
+ throw new ConnectivityInterruptedError(`could not finish reading ${method} /${path.replace(/^\/+/, '')}. ` +
788
+ `The request was received, so treat anything it would have changed as ` +
714
789
  'unknown rather than undone.');
715
790
  }
716
791
  throw cause;
@@ -795,14 +870,28 @@ const MAX_TIMER_MS = 2_147_483_647;
795
870
  * delta-seconds is not malformed enough to stop there: `Date.parse('-5')` is a
796
871
  * date in 2001, so it falls through to the branch below and lands on 0, which
797
872
  * is the same answer a date in the past gets and is why nothing worse happens.
873
+ *
874
+ * DECIMAL DIGITS for the first branch, not whatever `Number()` will take. The
875
+ * header's grammar is delta-seconds or an HTTP-date, and `0x10` and `1e3` are
876
+ * neither — but `Number()` reads them as 16 and 1000, so a broken or hostile
877
+ * intermediary could spell a sixteen-minute sleep in three characters and have
878
+ * a poll loop honour it as if the platform had asked. Gated the way
879
+ * {@link contentLength} below and `port()` in cli.ts already gate the same
880
+ * `Number()` footgun; anything else falls through to the date branch, which
881
+ * refuses it, and the loop keeps its own interval.
798
882
  */
799
883
  function retryAfterMs(header) {
800
884
  if (!header)
801
885
  return undefined;
802
- const seconds = Number(header);
886
+ const seconds = /^\d+$/.test(header.trim()) ? Number(header) : Number.NaN;
803
887
  if (Number.isFinite(seconds) && seconds >= 0)
804
888
  return Math.min(seconds * 1_000, MAX_TIMER_MS);
805
- const at = Date.parse(header);
889
+ const value = header.trim();
890
+ const httpDate = /^(?:[A-Za-z]{3}, \d{2} [A-Za-z]{3} \d{4} \d{2}:\d{2}:\d{2} GMT|[A-Za-z]+, \d{2}-[A-Za-z]{3}-\d{2} \d{2}:\d{2}:\d{2} GMT|[A-Za-z]{3} [A-Za-z]{3} {1,2}\d{1,2} \d{2}:\d{2}:\d{2} \d{4})$/;
891
+ if (!httpDate.test(value))
892
+ return undefined;
893
+ // HTTP dates are always UTC, including asctime's timezone-free spelling.
894
+ const at = Date.parse(value.endsWith('GMT') ? value : `${value} GMT`);
806
895
  if (!Number.isFinite(at))
807
896
  return undefined;
808
897
  return Math.min(Math.max(at - Date.now(), 0), MAX_TIMER_MS);
@@ -902,31 +991,146 @@ function parseEvent(chunk) {
902
991
  return { event, data: joined };
903
992
  }
904
993
  }
994
+ /**
995
+ * Split a `Content-Disposition` header into its parameters, per the grammar in
996
+ * RFC 6266 §4.1 and RFC 7230 §3.2.6 rather than by regex.
997
+ *
998
+ * Two attempts at this shipped a worse bug than the one they fixed, and both
999
+ * failed at the same place: deciding what a `"` means without tracking where in
1000
+ * the grammar the reader is. A `"` is only a delimiter where a value begins.
1001
+ * Anywhere else — `note=a"b` — it is an ordinary character of a token, and a
1002
+ * reader that toggles on every quote it meets turns the rest of the header into
1003
+ * one run and loses the real `filename` after it.
1004
+ *
1005
+ * Inside a quoted string, `\` escapes the next character (`quoted-pair`), so a
1006
+ * `\"` does NOT close the value. A reader that stops at the first `"` it sees
1007
+ * lets a trailing `\"` smuggle a `; filename=` out of a value the sender
1008
+ * controls and into the parameter list.
1009
+ *
1010
+ * An unterminated quoted value runs to the end of the header. That is the one
1011
+ * decision here that is a judgment rather than the grammar — see the comment on
1012
+ * `filenameFrom` — and it is what keeps such a value's contents from being read
1013
+ * as parameters at all.
1014
+ */
1015
+ function dispositionParams(header) {
1016
+ const params = [];
1017
+ // The disposition-type comes first and is a bare token; parameters begin at
1018
+ // the first `;`. A header with no `;` has no parameters and no filename.
1019
+ let i = header.indexOf(';');
1020
+ if (i === -1)
1021
+ return params;
1022
+ while (i < header.length) {
1023
+ i += 1; // past the ';' that begins this parameter
1024
+ while (i < header.length && /\s/.test(header[i]))
1025
+ i += 1;
1026
+ const nameFrom = i;
1027
+ while (i < header.length && header[i] !== '=' && header[i] !== ';')
1028
+ i += 1;
1029
+ const name = header.slice(nameFrom, i).trim().toLowerCase();
1030
+ if (header[i] !== '=') {
1031
+ // A parameter with no `=` at all. Recorded so it cannot be mistaken for
1032
+ // the next one, and skipped.
1033
+ if (name)
1034
+ params.push({ name, value: '' });
1035
+ continue;
1036
+ }
1037
+ i += 1; // past the '='
1038
+ // BWS: RFC 7230 allows whitespace either side of the `=`, and a value that
1039
+ // begins after it is still that parameter's value.
1040
+ while (i < header.length && /[ \t]/.test(header[i]))
1041
+ i += 1;
1042
+ let value = '';
1043
+ if (header[i] === '"') {
1044
+ i += 1;
1045
+ let out = '';
1046
+ for (; i < header.length; i += 1) {
1047
+ const ch = header[i];
1048
+ if (ch === '\\' && i + 1 < header.length) {
1049
+ out += header[i + 1];
1050
+ i += 1;
1051
+ }
1052
+ else if (ch === '"') {
1053
+ i += 1;
1054
+ break;
1055
+ }
1056
+ else
1057
+ out += ch;
1058
+ }
1059
+ value = out;
1060
+ // Anything between the closing quote and the next `;` is not part of the
1061
+ // value and is not a parameter either.
1062
+ while (i < header.length && header[i] !== ';')
1063
+ i += 1;
1064
+ }
1065
+ else {
1066
+ const from = i;
1067
+ while (i < header.length && header[i] !== ';')
1068
+ i += 1;
1069
+ // A token value carries no delimiters, so the whitespace around it is the
1070
+ // header's formatting rather than the name: `filename=real.txt ; x=1`
1071
+ // named a file with a trailing space on it.
1072
+ value = header.slice(from, i).trim();
1073
+ }
1074
+ if (name)
1075
+ params.push({ name, value });
1076
+ }
1077
+ return params;
1078
+ }
905
1079
  /** The filename the platform put on a download, if it put one there. */
906
1080
  export function filenameFrom(disposition) {
907
1081
  if (!disposition)
908
1082
  return undefined;
909
- // Any charset and any language, not only `UTF-8''`. RFC 5987 writes this
910
- // value as charset, language, then the text, with the language ordinarily
911
- // empty — and matching only the empty spelling meant that both
912
- // `filename*=ISO-8859-1''…` and `filename*=UTF-8'en'…` were read by neither
913
- // branch — the plain form below cannot match either, since there is no
914
- // `filename=` in them — so a download the platform had named came back with
915
- // no name at all. Three groups, not two: the middle one is the language tag,
916
- // present or empty.
917
- const star = /filename\*=([^']*)'([^']*)'([^;]+)/i.exec(disposition);
918
- if (star) {
919
- // A stray `%` in a guest filename is legal on disk and makes this throw.
920
- // Letting it out would turn a download whose bytes already arrived intact
921
- // into a failure, over the label on it.
1083
+ // Parsed rather than matched. Every previous spelling of this read the header
1084
+ // with one regex, and each one in turn found a `filename=` that belonged to
1085
+ // some other parameter's value — `inline; x-filename=q.txt` through a missing
1086
+ // parameter boundary, then `note="a; filename=evil.txt"` through a `;` inside
1087
+ // a quoted string. What the sender controls should not be able to add a
1088
+ // parameter the sender did not send.
1089
+ //
1090
+ // The judgment call, stated because the grammar does not make it: an
1091
+ // unterminated quoted value consumes the rest of the header. It is what the
1092
+ // WHATWG "collect an HTTP quoted string" algorithm does, and it is the only
1093
+ // reading under which `note="a; filename=evil.txt\"` — where the `\"` escapes
1094
+ // the quote that would have closed the value — yields no filename at all. The
1095
+ // cost is that a sloppy sender's unterminated value swallows a real
1096
+ // `filename` after it; the benefit is that a hostile one cannot smuggle a
1097
+ // fake one out. `filename="report.pdf` still works, because there the
1098
+ // unterminated value IS the filename.
1099
+ const params = dispositionParams(disposition);
1100
+ // RFC 8187: charset, language, then the text, with the language ordinarily
1101
+ // empty. Any charset and any language, not only `UTF-8''` — matching the
1102
+ // empty spelling alone meant `ISO-8859-1''…` and `UTF-8'en'…` were read by
1103
+ // neither branch, and a download the platform had named came back unnamed.
1104
+ // The FIRST USABLE one of each name, not the first one. A repeated parameter
1105
+ // is malformed and the platform never sends one, but the regex this replaced
1106
+ // walked on from an occurrence it could not read — `[^";]+` cannot match an
1107
+ // empty value — and answered from the next. Stopping at the first occurrence
1108
+ // instead means `filename=""; filename=real.txt` loses a name that was there,
1109
+ // which is a regression on an already-invalid header rather than a defence:
1110
+ // every parameter in this list is one the sender genuinely wrote at the top
1111
+ // level, since a smuggled one never becomes a parameter at all.
1112
+ for (const p of params) {
1113
+ if (p.name !== 'filename*')
1114
+ continue;
1115
+ const ext = /^[^']*'[^']*'([\s\S]*)$/.exec(p.value);
1116
+ // An empty `filename*` names nothing, so keep looking — at another
1117
+ // `filename*`, and then at the plain `filename` beside it. Either beats
1118
+ // answering with the empty string.
1119
+ if (!ext?.[1])
1120
+ continue;
922
1121
  try {
923
- return decodeURIComponent(star[3]);
1122
+ return decodeURIComponent(ext[1]);
924
1123
  }
925
1124
  catch {
926
- return star[3];
1125
+ // A stray `%` in a guest filename is legal on disk and makes this throw.
1126
+ // Letting it out would turn a download whose bytes already arrived intact
1127
+ // into a failure, over the label on it.
1128
+ return ext[1];
927
1129
  }
928
1130
  }
929
- const plain = /filename="?([^";]+)"?/i.exec(disposition);
930
- return plain ? plain[1] : undefined;
1131
+ for (const p of params)
1132
+ if (p.name === 'filename' && p.value)
1133
+ return p.value;
1134
+ return undefined;
931
1135
  }
932
1136
  //# sourceMappingURL=api.js.map
package/dist/api.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"api.js","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"api.js","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"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"}
package/dist/cli.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAiCA,KAAK,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC;AA2B9C;;;;;;GAMG;AACH,wBAAgB,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,KAAK,CA0C3C;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,SAAS,GAAI,OAAO,KAAK,KAAG,OAAyC,CAAC;AACnF,eAAO,MAAM,YAAY,GAAI,OAAO,KAAK,KAAG,OAA4C,CAAC;AAEzF,6EAA6E;AAC7E,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,KAAK,EAAE,UAAU,qBAA8B,GAAG,OAAO,CAOhG;AAED;;;;;;;GAOG;AACH,wBAAgB,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,GAAG,MAAM,CAgC/D;AAED;;;;;;;;;GASG;AACH,wBAAgB,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CASxF;AAgGD;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAQhF"}
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAmCA,KAAK,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC;AAgG9C;;;;;;GAMG;AACH,wBAAgB,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,KAAK,CAyE3C;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,SAAS,GAAI,OAAO,KAAK,KAAG,OAAyC,CAAC;AACnF,eAAO,MAAM,YAAY,GAAI,OAAO,KAAK,KAAG,OAA4C,CAAC;AAEzF,6EAA6E;AAC7E,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,KAAK,EAAE,UAAU,qBAA8B,GAAG,OAAO,CAWhG;AAED;;;;;;;GAOG;AACH,wBAAgB,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,GAAG,MAAM,CAgC/D;AAED;;;;;;;;;GASG;AACH,wBAAgB,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CASxF;AAgGD;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAQhF"}