@amd-gaia/gaia 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.
package/dist/cli.js CHANGED
@@ -13,7 +13,7 @@
13
13
  * written, and a mismatch or a placeholder hash aborts the run. There is no
14
14
  * "continue anyway" path.
15
15
  */
16
- import { realpathSync } from "node:fs";
16
+ import { readFileSync, readdirSync, realpathSync } from "node:fs";
17
17
  import path from "node:path";
18
18
  import { fileURLToPath } from "node:url";
19
19
  import { GaiaError } from "./errors.js";
@@ -88,7 +88,10 @@ Usage:
88
88
 
89
89
  run options:
90
90
  --base-url <url> Override the per-component download base URL from
91
- binaries.lock.json (applies to every component fetched)
91
+ binaries.lock.json (applies to every component fetched).
92
+ Must be https unless --allow-insecure-base-url is given.
93
+ --allow-insecure-base-url
94
+ Permit a non-https --base-url (a trusted local mirror)
92
95
  --cache-dir <dir> Where to cache the TUI binary
93
96
  --sidecar-dir <dir> Where to install the agent sidecar
94
97
  (default ~/.gaia/agents/gaia — the daemon's own cache)
@@ -102,6 +105,8 @@ fetch options:
102
105
 
103
106
  serve options:
104
107
  --port <n> Bind port (default ${DEFAULT_PORT}; ${RESERVED_PORT} is reserved and refused)
108
+ --base-url, --sidecar-dir, --force as above. \`serve\` never downloads the TUI,
109
+ so --cache-dir is refused rather than ignored.
105
110
 
106
111
  Notes:
107
112
  * No binaries are committed to the repo. Every download is SHA-256 verified
@@ -116,19 +121,69 @@ Notes:
116
121
  `;
117
122
  const flagStr = (args, k) => typeof args.flags[k] === "string" ? args.flags[k] : undefined;
118
123
  /**
119
- * Shared download options. `--platform` is accepted only by `fetch`: `run` and
120
- * `serve` execute what they download, and honouring a foreign platform there
121
- * would write a wrong-architecture binary into the daemon's cache and then try
122
- * to spawn it.
124
+ * Which commands actually READ each value flag, and why the others refuse it.
125
+ * A flag a command ignores is worse than one it rejects: `run --port 9000`
126
+ * used to parse fine and silently come up on the default port.
123
127
  */
128
+ const VALUE_FLAG_SCOPE = {
129
+ "base-url": { commands: ["run", "fetch", "serve"], why: "it only affects downloads" },
130
+ "sidecar-dir": { commands: ["run", "fetch", "serve"], why: "it only affects downloads" },
131
+ platform: {
132
+ commands: ["fetch"],
133
+ why: "`run` and `serve` execute the binary, so it must be built for this host " +
134
+ `(${currentPlatformKey()})`,
135
+ },
136
+ port: {
137
+ commands: ["serve"],
138
+ why: "only `serve` binds a port; `run` reaches the agent through the daemon, which picks its own",
139
+ },
140
+ component: {
141
+ commands: ["fetch"],
142
+ why: "`run` needs both binaries and `serve` needs the sidecar, so neither can fetch a subset",
143
+ },
144
+ "cache-dir": {
145
+ commands: ["run", "fetch"],
146
+ why: "it caches the TUI, which `serve` never downloads (use --sidecar-dir)",
147
+ },
148
+ };
149
+ /** Refuse a value flag the chosen command would otherwise silently ignore. */
150
+ function assertFlagsInScope(args, cmd) {
151
+ for (const [flag, scope] of Object.entries(VALUE_FLAG_SCOPE)) {
152
+ if (args.flags[flag] === undefined || scope.commands.includes(cmd))
153
+ continue;
154
+ throw new UsageError(`--${flag} is not valid for \`gaia ${cmd}\` — ${scope.why}. ` +
155
+ `It is accepted by: ${scope.commands.map((c) => `\`gaia ${c}\``).join(", ")}.`);
156
+ }
157
+ }
158
+ /**
159
+ * Require https for a download source. Integrity still holds over plaintext
160
+ * (the SHA is pinned), but a MITM then surfaces as a baffling IntegrityError
161
+ * instead of the transport failure it is.
162
+ */
163
+ function checkedBaseUrl(args) {
164
+ const raw = flagStr(args, "base-url");
165
+ if (raw === undefined)
166
+ return undefined;
167
+ let parsed;
168
+ try {
169
+ parsed = new URL(raw);
170
+ }
171
+ catch {
172
+ throw new UsageError(`--base-url '${raw}' is not a valid absolute URL (expected e.g. https://host/path).`);
173
+ }
174
+ if (parsed.protocol !== "https:" && !args.flags["allow-insecure-base-url"]) {
175
+ throw new UsageError(`--base-url '${raw}' uses ${parsed.protocol}, not https. Downloads are ` +
176
+ "SHA-256 verified either way, but plaintext turns tampering into a " +
177
+ "confusing integrity failure instead of a transport error. Use an https " +
178
+ "URL, or pass --allow-insecure-base-url for a trusted local mirror.");
179
+ }
180
+ return raw;
181
+ }
182
+ /** Shared download options. Scope and scheme are validated before we get here. */
124
183
  function downloadOptions(args, allowPlatform = false) {
125
184
  const platformKey = flagStr(args, "platform");
126
- if (platformKey !== undefined && !allowPlatform) {
127
- throw new UsageError("--platform is only valid for `gaia fetch`. `run` and `serve` execute the " +
128
- `binary, so it must be built for this host (${currentPlatformKey()}).`);
129
- }
130
185
  return {
131
- baseUrl: flagStr(args, "base-url"),
186
+ baseUrl: checkedBaseUrl(args),
132
187
  ...(allowPlatform && platformKey !== undefined ? { platformKey } : {}),
133
188
  force: Boolean(args.flags["force"]),
134
189
  tuiDir: flagStr(args, "cache-dir"),
@@ -148,8 +203,10 @@ export function pathWithoutOwnShim(rawPath = process.env["PATH"], argv1 = proces
148
203
  return rawPath;
149
204
  const sep = process.platform === "win32" ? ";" : ":";
150
205
  let ownBinDir;
206
+ let ownName;
151
207
  try {
152
208
  ownBinDir = path.resolve(path.dirname(argv1));
209
+ ownName = path.basename(argv1);
153
210
  }
154
211
  catch {
155
212
  return rawPath;
@@ -160,14 +217,65 @@ export function pathWithoutOwnShim(rawPath = process.env["PATH"], argv1 = proces
160
217
  ? resolved.toLowerCase() === ownBinDir.toLowerCase()
161
218
  : resolved === ownBinDir;
162
219
  };
163
- return rawPath
164
- .split(sep)
165
- .filter((d) => d !== "" && !same(d))
166
- .join(sep);
220
+ const entries = rawPath.split(sep).filter((d) => d !== "");
221
+ const ours = entries.filter((d) => same(d) || shimTargetsScript(d, argv1));
222
+ const kept = entries.filter((d) => !ours.includes(d));
223
+ const shared = ours.filter((d) => !isExclusivelyOurs(d, same(d) ? ownName : "gaia"));
224
+ return [...kept, ...shared].join(sep);
225
+ }
226
+ /** Match npm's symlink or generated cmd/PowerShell wrapper to this script. */
227
+ function shimTargetsScript(dir, script) {
228
+ const canonical = (file) => {
229
+ try {
230
+ const resolved = realpathSync(file);
231
+ return process.platform === "win32" ? resolved.toLowerCase() : resolved;
232
+ }
233
+ catch {
234
+ return undefined; // no resolvable executable at this candidate
235
+ }
236
+ };
237
+ const expected = canonical(script);
238
+ if (!expected)
239
+ return false;
240
+ for (const name of ["gaia", "gaia.cmd", "gaia.ps1"]) {
241
+ const shim = path.join(dir, name);
242
+ if (canonical(shim) === expected)
243
+ return true;
244
+ if (!name.includes("."))
245
+ continue;
246
+ let contents;
247
+ try {
248
+ contents = readFileSync(shim, "utf8");
249
+ }
250
+ catch {
251
+ continue; // this PATH directory does not contain a readable wrapper
252
+ }
253
+ for (const match of contents.matchAll(/["'](?:%dp0%|\$basedir)[\\/]([^"']+)["']/gi)) {
254
+ const target = path.resolve(dir, match[1].replace(/[\\/]/g, path.sep));
255
+ if (canonical(target) === expected)
256
+ return true;
257
+ }
258
+ }
259
+ return false;
260
+ }
261
+ /** True when every file in `dir` is a shim for `name` (`gaia`, `gaia.cmd`, …). */
262
+ function isExclusivelyOurs(dir, name) {
263
+ const stem = name.replace(/\.(cmd|bat|ps1|exe)$/i, "");
264
+ let entries;
265
+ try {
266
+ entries = readdirSync(dir);
267
+ }
268
+ catch {
269
+ return false; // unreadable → treat as shared, the non-destructive branch
270
+ }
271
+ return (entries.length > 0 &&
272
+ entries.every((e) => e.replace(/\.(cmd|bat|ps1|exe)$/i, "") === stem));
167
273
  }
168
274
  /** Validate `--port`. Rejects out-of-range values and the reserved port. */
169
275
  export function resolvePort(raw) {
170
- const port = typeof raw === "string" ? Number(raw) : DEFAULT_PORT;
276
+ // Strict digits, not Number(): that accepts "0x2710", " 80 ", and "1e3",
277
+ // so a typo would quietly bind a port the user never named.
278
+ const port = typeof raw === "string" ? (/^\d+$/.test(raw) ? Number(raw) : NaN) : DEFAULT_PORT;
171
279
  if (!Number.isInteger(port) || port <= 0 || port > 65535 || port === RESERVED_PORT) {
172
280
  return {
173
281
  error: `--port must be a port in 1..65535 and not ${RESERVED_PORT} (got ${String(raw)})`,
@@ -231,6 +339,7 @@ async function cmdFetch(args) {
231
339
  }, null, 2) + "\n");
232
340
  return 0;
233
341
  }
342
+ const SERVE_SIGNALS = ["SIGINT", "SIGTERM", "SIGHUP"];
234
343
  async function cmdServe(args) {
235
344
  const parsed = resolvePort(args.flags["port"]);
236
345
  if ("error" in parsed) {
@@ -257,26 +366,53 @@ async function cmdServe(args) {
257
366
  process.stdout.write(`\n ▸ GAIA agent: ${sidecar.baseUrl}/v1/gaia/query\n`);
258
367
  process.stdout.write(` Health: ${sidecar.baseUrl}/health\n`);
259
368
  process.stdout.write(" Lemonade must be running for live queries. Ctrl+C to stop.\n\n");
260
- await new Promise((resolve) => {
369
+ let stop;
370
+ const stopped = new Promise((resolve) => {
261
371
  let stopping = false;
262
- const stop = () => {
263
- if (stopping)
264
- return; // a second signal must not re-enter shutdown
372
+ stop = () => {
373
+ if (stopping) {
374
+ // Absorbed, so say what is happening — otherwise a repeat Ctrl+C
375
+ // during a slow teardown just looks like a frozen terminal.
376
+ process.stderr.write(`[gaia] already stopping the sidecar (pid ${String(sidecar.child.pid)}); ` +
377
+ "waiting for its process tree to exit ...\n");
378
+ return;
379
+ }
265
380
  stopping = true;
266
381
  process.stderr.write("\n[gaia] stopping the sidecar ...\n");
267
- void shutdown(sidecar).catch(() => undefined).finally(resolve);
382
+ shutdown(sidecar).then(() => resolve(undefined), (e) => resolve(e instanceof Error ? e : new Error(String(e))));
268
383
  };
269
384
  // process.on, not once: a second Ctrl+C during the shutdown would
270
385
  // otherwise hit Node's default disposition and kill us mid-teardown,
271
386
  // orphaning the detached sidecar tree on port 8141. The `stopping` guard
272
387
  // absorbs the repeats.
273
- for (const sig of ["SIGINT", "SIGTERM", "SIGHUP"])
388
+ for (const sig of SERVE_SIGNALS)
274
389
  process.on(sig, stop);
275
390
  });
391
+ let stopError;
392
+ try {
393
+ stopError = await stopped;
394
+ }
395
+ finally {
396
+ // Left installed, they would swallow every later signal AND suppress
397
+ // Node's default disposition, so Ctrl+C would stop working entirely.
398
+ for (const sig of SERVE_SIGNALS)
399
+ process.removeListener(sig, stop);
400
+ }
401
+ // A surviving sidecar keeps the port bound; its error names the pid to kill.
402
+ if (stopError) {
403
+ process.stderr.write(`[gaia] ${stopError.message}\n`);
404
+ return 1;
405
+ }
276
406
  return 0;
277
407
  }
278
408
  catch (e) {
279
- await shutdown(sidecar).catch(() => undefined);
409
+ try {
410
+ await shutdown(sidecar);
411
+ }
412
+ catch (cleanupError) {
413
+ const message = cleanupError instanceof Error ? cleanupError.message : String(cleanupError);
414
+ process.stderr.write(`[gaia] failed to clean up sidecar: ${message}\n`);
415
+ }
280
416
  throw e;
281
417
  }
282
418
  }
@@ -317,6 +453,7 @@ export async function main(argv) {
317
453
  throw new UsageError(`unexpected argument${extra.length > 1 ? "s" : ""} ${extra.map((a) => `'${a}'`).join(", ")}. ` +
318
454
  "Arguments for the terminal UI go after a bare `--`.");
319
455
  }
456
+ assertFlagsInScope(args, cmd);
320
457
  switch (cmd) {
321
458
  case "run":
322
459
  return cmdRun(args);
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
package/dist/errors.d.ts CHANGED
@@ -22,6 +22,15 @@ export declare class VersionMismatchError extends GaiaError {
22
22
  /** A binary could not be located on disk for spawning. */
23
23
  export declare class BinaryNotFoundError extends GaiaError {
24
24
  }
25
+ /** The sidecar we spawned died; anything answering its port is not ours. */
26
+ export declare class SidecarExitedError extends GaiaError {
27
+ }
28
+ /** The bind port was already taken before we spawned anything. */
29
+ export declare class PortInUseError extends GaiaError {
30
+ }
31
+ /** A 2xx response whose body is not the JSON the contract promises. */
32
+ export declare class MalformedResponseError extends GaiaError {
33
+ }
25
34
  /** An HTTP request to the sidecar returned a non-2xx status. */
26
35
  export declare class HttpError extends GaiaError {
27
36
  readonly status: number;
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AAEH,6EAA6E;AAC7E,qBAAa,SAAU,SAAQ,KAAK;gBACtB,OAAO,EAAE,MAAM;CAI5B;AAED,wEAAwE;AACxE,qBAAa,cAAe,SAAQ,SAAS;CAAG;AAEhD,gFAAgF;AAChF,qBAAa,aAAc,SAAQ,SAAS;CAAG;AAE/C,6DAA6D;AAC7D,qBAAa,kBAAmB,SAAQ,SAAS;CAAG;AAEpD,+EAA+E;AAC/E,qBAAa,oBAAqB,SAAQ,SAAS;CAAG;AAEtD,0DAA0D;AAC1D,qBAAa,mBAAoB,SAAQ,SAAS;CAAG;AAErD,gEAAgE;AAChE,qBAAa,SAAU,SAAQ,SAAS;aAEpB,MAAM,EAAE,MAAM;aACd,GAAG,EAAE,MAAM;aACX,QAAQ,EAAE,MAAM;gBAFhB,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,MAAM;CAInC"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AAEH,6EAA6E;AAC7E,qBAAa,SAAU,SAAQ,KAAK;gBACtB,OAAO,EAAE,MAAM;CAI5B;AAED,wEAAwE;AACxE,qBAAa,cAAe,SAAQ,SAAS;CAAG;AAEhD,gFAAgF;AAChF,qBAAa,aAAc,SAAQ,SAAS;CAAG;AAE/C,6DAA6D;AAC7D,qBAAa,kBAAmB,SAAQ,SAAS;CAAG;AAEpD,+EAA+E;AAC/E,qBAAa,oBAAqB,SAAQ,SAAS;CAAG;AAEtD,0DAA0D;AAC1D,qBAAa,mBAAoB,SAAQ,SAAS;CAAG;AAErD,4EAA4E;AAC5E,qBAAa,kBAAmB,SAAQ,SAAS;CAAG;AAEpD,kEAAkE;AAClE,qBAAa,cAAe,SAAQ,SAAS;CAAG;AAEhD,uEAAuE;AACvE,qBAAa,sBAAuB,SAAQ,SAAS;CAAG;AAExD,gEAAgE;AAChE,qBAAa,SAAU,SAAQ,SAAS;aAEpB,MAAM,EAAE,MAAM;aACd,GAAG,EAAE,MAAM;aACX,QAAQ,EAAE,MAAM;gBAFhB,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,MAAM;CAInC"}
package/dist/errors.js CHANGED
@@ -27,6 +27,15 @@ export class VersionMismatchError extends GaiaError {
27
27
  /** A binary could not be located on disk for spawning. */
28
28
  export class BinaryNotFoundError extends GaiaError {
29
29
  }
30
+ /** The sidecar we spawned died; anything answering its port is not ours. */
31
+ export class SidecarExitedError extends GaiaError {
32
+ }
33
+ /** The bind port was already taken before we spawned anything. */
34
+ export class PortInUseError extends GaiaError {
35
+ }
36
+ /** A 2xx response whose body is not the JSON the contract promises. */
37
+ export class MalformedResponseError extends GaiaError {
38
+ }
30
39
  /** An HTTP request to the sidecar returned a non-2xx status. */
31
40
  export class HttpError extends GaiaError {
32
41
  status;
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,2EAA2E;AAC3E,+BAA+B;AAC/B;;;;GAIG;AAEH,6EAA6E;AAC7E,MAAM,OAAO,SAAU,SAAQ,KAAK;IAClC,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC;IAC9B,CAAC;CACF;AAED,wEAAwE;AACxE,MAAM,OAAO,cAAe,SAAQ,SAAS;CAAG;AAEhD,gFAAgF;AAChF,MAAM,OAAO,aAAc,SAAQ,SAAS;CAAG;AAE/C,6DAA6D;AAC7D,MAAM,OAAO,kBAAmB,SAAQ,SAAS;CAAG;AAEpD,+EAA+E;AAC/E,MAAM,OAAO,oBAAqB,SAAQ,SAAS;CAAG;AAEtD,0DAA0D;AAC1D,MAAM,OAAO,mBAAoB,SAAQ,SAAS;CAAG;AAErD,gEAAgE;AAChE,MAAM,OAAO,SAAU,SAAQ,SAAS;IAEpB;IACA;IACA;IAHlB,YACkB,MAAc,EACd,GAAW,EACX,QAAgB;QAEhC,KAAK,CAAC,QAAQ,MAAM,SAAS,GAAG,KAAK,QAAQ,IAAI,cAAc,EAAE,CAAC,CAAC;QAJnD,WAAM,GAAN,MAAM,CAAQ;QACd,QAAG,GAAH,GAAG,CAAQ;QACX,aAAQ,GAAR,QAAQ,CAAQ;IAGlC,CAAC;CACF"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,2EAA2E;AAC3E,+BAA+B;AAC/B;;;;GAIG;AAEH,6EAA6E;AAC7E,MAAM,OAAO,SAAU,SAAQ,KAAK;IAClC,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC;IAC9B,CAAC;CACF;AAED,wEAAwE;AACxE,MAAM,OAAO,cAAe,SAAQ,SAAS;CAAG;AAEhD,gFAAgF;AAChF,MAAM,OAAO,aAAc,SAAQ,SAAS;CAAG;AAE/C,6DAA6D;AAC7D,MAAM,OAAO,kBAAmB,SAAQ,SAAS;CAAG;AAEpD,+EAA+E;AAC/E,MAAM,OAAO,oBAAqB,SAAQ,SAAS;CAAG;AAEtD,0DAA0D;AAC1D,MAAM,OAAO,mBAAoB,SAAQ,SAAS;CAAG;AAErD,4EAA4E;AAC5E,MAAM,OAAO,kBAAmB,SAAQ,SAAS;CAAG;AAEpD,kEAAkE;AAClE,MAAM,OAAO,cAAe,SAAQ,SAAS;CAAG;AAEhD,uEAAuE;AACvE,MAAM,OAAO,sBAAuB,SAAQ,SAAS;CAAG;AAExD,gEAAgE;AAChE,MAAM,OAAO,SAAU,SAAQ,SAAS;IAEpB;IACA;IACA;IAHlB,YACkB,MAAc,EACd,GAAW,EACX,QAAgB;QAEhC,KAAK,CAAC,QAAQ,MAAM,SAAS,GAAG,KAAK,QAAQ,IAAI,cAAc,EAAE,CAAC,CAAC;QAJnD,WAAM,GAAN,MAAM,CAAQ;QACd,QAAG,GAAH,GAAG,CAAQ;QACX,aAAQ,GAAR,QAAQ,CAAQ;IAGlC,CAAC;CACF"}
package/dist/fetch.d.ts CHANGED
@@ -22,6 +22,10 @@ import { type BinaryLock, type ComponentName } from "./platform.js";
22
22
  * never reuses the previous release's executables.
23
23
  */
24
24
  export declare function defaultCacheDir(agentVersion: string): string;
25
+ /** The hub agent id this package installs the sidecar as. */
26
+ export declare const SIDECAR_AGENT_ID = "gaia";
27
+ /** Basename of the hub install record (`gaia.hub.installer.SENTINEL_NAME`). */
28
+ export declare const INSTALLED_SENTINEL_NAME = ".installed";
25
29
  /**
26
30
  * The daemon's own sidecar cache — `~/.gaia/agents/gaia/`, mirroring
27
31
  * `gaia.daemon.sidecars.fetch.default_cache_dir("gaia")`. Staging the verified
@@ -73,10 +77,7 @@ export interface FetchResult {
73
77
  * less useful message.
74
78
  */
75
79
  export declare function fileSha256(filePath: string): Promise<string | null>;
76
- /**
77
- * Verify a buffer against an expected SHA-256. Throws `IntegrityError` loudly on
78
- * mismatch — this is the no-silent-fallback integrity gate.
79
- */
80
+ /** Verify an in-memory buffer against an expected SHA-256. */
80
81
  export declare function verifySha256(buf: Buffer, expected: string, sourceLabel: string): string;
81
82
  /**
82
83
  * Fetch + verify + install one component's binary for the current platform.
@@ -1 +1 @@
1
- {"version":3,"file":"fetch.d.ts","sourceRoot":"","sources":["../src/fetch.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;GAiBG;AAWH,OAAO,EACL,KAAK,UAAU,EAEf,KAAK,aAAa,EAOnB,MAAM,eAAe,CAAC;AAIvB;;;GAGG;AACH,wBAAgB,eAAe,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAE5D;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,SAAS,GAAG,MAAM,CAE9D;AAED,MAAM,WAAW,YAAY;IAC3B,6BAA6B;IAC7B,SAAS,EAAE,aAAa,CAAC;IACzB,+DAA+D;IAC/D,MAAM,EAAE,MAAM,CAAC;IACf;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,gEAAgE;IAChE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,2EAA2E;IAC3E,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,+DAA+D;IAC/D,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,0DAA0D;IAC1D,SAAS,CAAC,EAAE,OAAO,KAAK,CAAC;IACzB,gFAAgF;IAChF,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,qFAAqF;IACrF,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,aAAa,CAAC;IACzB,yDAAyD;IACzD,UAAU,EAAE,MAAM,CAAC;IACnB,iCAAiC;IACjC,WAAW,EAAE,MAAM,CAAC;IACpB,4CAA4C;IAC5C,MAAM,EAAE,MAAM,CAAC;IACf,mDAAmD;IACnD,GAAG,EAAE,MAAM,CAAC;IACZ,sEAAsE;IACtE,MAAM,EAAE,OAAO,CAAC;CACjB;AAMD;;;;;GAKG;AACH,wBAAsB,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAYzE;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAC1B,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,GAClB,MAAM,CAcR;AAED;;;;;;GAMG;AACH,wBAAsB,WAAW,CAAC,IAAI,EAAE,YAAY,GAAG,OAAO,CAAC,WAAW,CAAC,CA0G1E;AAED,MAAM,WAAW,eAAgB,SAAQ,IAAI,CAAC,YAAY,EAAE,WAAW,GAAG,QAAQ,CAAC;IACjF,+EAA+E;IAC/E,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,iFAAiF;IACjF,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,WAAW,CAAC;IACrB,GAAG,EAAE,WAAW,CAAC;IACjB,IAAI,EAAE,UAAU,CAAC;CAClB;AAED;;;;;;GAMG;AACH,wBAAsB,QAAQ,CAAC,IAAI,GAAE,eAAoB,GAAG,OAAO,CAAC,cAAc,CAAC,CAelF;AAED,qDAAqD;AACrD,wBAAgB,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAExD"}
1
+ {"version":3,"file":"fetch.d.ts","sourceRoot":"","sources":["../src/fetch.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;GAiBG;AAWH,OAAO,EACL,KAAK,UAAU,EAEf,KAAK,aAAa,EAQnB,MAAM,eAAe,CAAC;AAIvB;;;GAGG;AACH,wBAAgB,eAAe,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAE5D;AAED,6DAA6D;AAC7D,eAAO,MAAM,gBAAgB,SAAS,CAAC;AAEvC,+EAA+E;AAC/E,eAAO,MAAM,uBAAuB,eAAe,CAAC;AAEpD;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,SAAmB,GAAG,MAAM,CAExE;AA+DD,MAAM,WAAW,YAAY;IAC3B,6BAA6B;IAC7B,SAAS,EAAE,aAAa,CAAC;IACzB,+DAA+D;IAC/D,MAAM,EAAE,MAAM,CAAC;IACf;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,gEAAgE;IAChE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,2EAA2E;IAC3E,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,+DAA+D;IAC/D,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,0DAA0D;IAC1D,SAAS,CAAC,EAAE,OAAO,KAAK,CAAC;IACzB,gFAAgF;IAChF,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,qFAAqF;IACrF,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,aAAa,CAAC;IACzB,yDAAyD;IACzD,UAAU,EAAE,MAAM,CAAC;IACnB,iCAAiC;IACjC,WAAW,EAAE,MAAM,CAAC;IACpB,4CAA4C;IAC5C,MAAM,EAAE,MAAM,CAAC;IACf,mDAAmD;IACnD,GAAG,EAAE,MAAM,CAAC;IACZ,sEAAsE;IACtE,MAAM,EAAE,OAAO,CAAC;CACjB;AASD;;;;;GAKG;AACH,wBAAsB,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CA+BzE;AA+DD,8DAA8D;AAC9D,wBAAgB,YAAY,CAC1B,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,GAClB,MAAM,CAER;AAED;;;;;;GAMG;AACH,wBAAsB,WAAW,CAAC,IAAI,EAAE,YAAY,GAAG,OAAO,CAAC,WAAW,CAAC,CAoJ1E;AAED,MAAM,WAAW,eAAgB,SAAQ,IAAI,CAAC,YAAY,EAAE,WAAW,GAAG,QAAQ,CAAC;IACjF,+EAA+E;IAC/E,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,iFAAiF;IACjF,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,WAAW,CAAC;IACrB,GAAG,EAAE,WAAW,CAAC;IACjB,IAAI,EAAE,UAAU,CAAC;CAClB;AAED;;;;;;GAMG;AACH,wBAAsB,QAAQ,CAAC,IAAI,GAAE,eAAoB,GAAG,OAAO,CAAC,cAAc,CAAC,CAelF;AAED,qDAAqD;AACrD,wBAAgB,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAExD"}