@aexhq/sdk 0.25.1 → 0.26.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 (53) hide show
  1. package/README.md +2 -2
  2. package/dist/_contracts/connection-ticket.d.ts +2 -2
  3. package/dist/_contracts/connection-ticket.js +2 -2
  4. package/dist/_contracts/event-stream-client.d.ts +2 -2
  5. package/dist/_contracts/event-stream-client.js +6 -4
  6. package/dist/_contracts/proxy-protocol.js +1 -1
  7. package/dist/_contracts/run-config.d.ts +3 -1
  8. package/dist/_contracts/run-config.js +6 -2
  9. package/dist/_contracts/runtime-manifest.d.ts +1 -1
  10. package/dist/_contracts/runtime-sizes.d.ts +5 -0
  11. package/dist/_contracts/runtime-sizes.js +3 -1
  12. package/dist/_contracts/submission.d.ts +33 -3
  13. package/dist/_contracts/submission.js +32 -1
  14. package/dist/agents-md.d.ts +1 -1
  15. package/dist/agents-md.js +1 -1
  16. package/dist/agents-md.js.map +1 -1
  17. package/dist/asset-upload.js +2 -2
  18. package/dist/asset-upload.js.map +1 -1
  19. package/dist/bundle.d.ts +1 -1
  20. package/dist/bundle.js +2 -2
  21. package/dist/bundle.js.map +1 -1
  22. package/dist/cli.mjs +165 -136
  23. package/dist/cli.mjs.sha256 +1 -1
  24. package/dist/client.d.ts +7 -1
  25. package/dist/client.js +7 -1
  26. package/dist/client.js.map +1 -1
  27. package/dist/fetch-archive.js +2 -2
  28. package/dist/fetch-archive.js.map +1 -1
  29. package/dist/index.d.ts +2 -2
  30. package/dist/index.js +1 -1
  31. package/dist/index.js.map +1 -1
  32. package/dist/node-fs.d.ts +2 -2
  33. package/dist/node-fs.js +2 -2
  34. package/dist/skill.d.ts +2 -2
  35. package/dist/skill.js +2 -2
  36. package/dist/version.d.ts +1 -1
  37. package/dist/version.js +1 -1
  38. package/docs/concepts/agent-tools.md +2 -0
  39. package/docs/concepts/runs.md +6 -0
  40. package/docs/credentials.md +3 -3
  41. package/docs/defaults.md +70 -0
  42. package/docs/events.md +6 -0
  43. package/docs/limits-and-quotas.md +108 -0
  44. package/docs/provider-runtime-capabilities.md +1 -1
  45. package/docs/public-surface.json +1 -1
  46. package/docs/quickstart.md +1 -1
  47. package/docs/release.md +69 -101
  48. package/docs/run-config.md +6 -1
  49. package/docs/skills.md +6 -5
  50. package/docs/testing.md +8 -8
  51. package/docs/vision-skills.md +2 -2
  52. package/package.json +15 -14
  53. package/LICENSE +0 -201
package/dist/cli.mjs CHANGED
@@ -1,4 +1,4 @@
1
- #!/usr/bin/env node
1
+ #!/usr/bin/env bun
2
2
  var __defProp = Object.defineProperty;
3
3
  var __export = (target, all) => {
4
4
  for (var name in all)
@@ -218,6 +218,7 @@ var terminalRunStatuses = new Set(TERMINAL_RUN_STATUSES);
218
218
 
219
219
  // ../contracts/dist/runtime-sizes.js
220
220
  var RUNTIME_SIZE_PRESETS = {
221
+ "shared-1x-128mb": { cpus: 1, memoryMb: 128 },
221
222
  "shared-1x-256mb": { cpus: 1, memoryMb: 256 },
222
223
  "shared-1x-512mb": { cpus: 1, memoryMb: 512 },
223
224
  "shared-1x-1gb": { cpus: 1, memoryMb: 1024 },
@@ -318,13 +319,13 @@ function requirePostHookRecord(input, path) {
318
319
  // ../contracts/dist/run-config.js
319
320
  var SKILL_BUNDLE_LIMITS = {
320
321
  /** Compressed (.zip) ceiling. */
321
- maxCompressedBytes: 10 * 1024 * 1024,
322
+ maxCompressedBytes: 10 * 1024 * 1024 * 1024,
322
323
  /**
323
324
  * Hard ceiling for the direct-to-storage upload path. Bytes never transit the
324
325
  * hosted API, so its memory/request-payload limits do not cap accepted
325
326
  * bundles; objects above this product cap are rejected before upload.
326
327
  */
327
- maxBytes: 2 * 1024 * 1024 * 1024,
328
+ maxBytes: 10 * 1024 * 1024 * 1024,
328
329
  /** Sum of uncompressed file sizes. */
329
330
  maxDecompressedBytes: 50 * 1024 * 1024,
330
331
  /** Number of regular file entries (directories don't count). */
@@ -650,6 +651,7 @@ function parseRunRequestConfig(input) {
650
651
  "mcpServers",
651
652
  "environment",
652
653
  "runtimeSize",
654
+ "region",
653
655
  "timeout",
654
656
  "postHook",
655
657
  "proxyEndpoints",
@@ -668,6 +670,7 @@ function parseRunRequestConfig(input) {
668
670
  const prompt = parseRunRequestConfigPrompt(record.prompt);
669
671
  const skills = parseRunRequestConfigSkills(record.skills);
670
672
  const mcpServers = parseRunRequestConfigMcpServers(record.mcpServers);
673
+ const region = parseRunRegion(record.region);
671
674
  const postHook = parsePostHook(record.postHook, "run request config postHook");
672
675
  return {
673
676
  model,
@@ -681,6 +684,7 @@ function parseRunRequestConfig(input) {
681
684
  // of truth. The CLI surfaces structural errors at submission time.
682
685
  ...record.environment !== void 0 ? { environment: record.environment } : {},
683
686
  ...record.runtimeSize !== void 0 ? { runtimeSize: record.runtimeSize } : {},
687
+ ...region !== void 0 ? { region } : {},
684
688
  ...record.timeout !== void 0 ? { timeout: record.timeout } : {},
685
689
  ...postHook !== void 0 ? { postHook: record.postHook } : {},
686
690
  ...record.proxyEndpoints !== void 0 ? { proxyEndpoints: record.proxyEndpoints } : {},
@@ -696,10 +700,10 @@ function parseRunRequestConfigPrompt(value) {
696
700
  }
697
701
  if (Array.isArray(value)) {
698
702
  const arr = [];
699
- for (let i = 0; i < value.length; i++) {
700
- const item = value[i];
703
+ for (let i2 = 0; i2 < value.length; i2++) {
704
+ const item = value[i2];
701
705
  if (typeof item !== "string" || item.length === 0) {
702
- throw new Error(`run request config prompt[${i}] must be a non-empty string`);
706
+ throw new Error(`run request config prompt[${i2}] must be a non-empty string`);
703
707
  }
704
708
  arr.push(item);
705
709
  }
@@ -780,10 +784,20 @@ var RUN_PROVIDERS = [
780
784
  "doubao-cn"
781
785
  ];
782
786
  var DEFAULT_RUN_PROVIDER = "anthropic";
787
+ var RUN_REGIONS = ["lhr", "iad", "sfo", "bom"];
783
788
  var RUNTIME_KINDS = ["managed"];
784
789
  var MIN_REDACTION_TARGET_BYTES = 4;
785
790
  var MIN_PROXY_SECRET_BYTES = 8;
786
791
  var _MIN_PROXY_SECRET_BYTES_OK = MIN_PROXY_SECRET_BYTES >= MIN_REDACTION_TARGET_BYTES;
792
+ function parseRunRegion(input) {
793
+ if (input === void 0) {
794
+ return void 0;
795
+ }
796
+ if (typeof input !== "string" || !RUN_REGIONS.includes(input)) {
797
+ throw new Error(`region must be one of: ${RUN_REGIONS.join(", ")} (got ${JSON.stringify(input)})`);
798
+ }
799
+ return input;
800
+ }
787
801
  var MAX_OUTPUT_CAPTURE_TIMEOUT_MS = 6 * 60 * 60 * 1e3;
788
802
 
789
803
  // ../contracts/dist/connection-ticket.js
@@ -1071,8 +1085,8 @@ function parseArchiveTextValues(path, text) {
1071
1085
  if (/\.(?:jsonl|ndjson)$/i.test(path)) {
1072
1086
  const values = [];
1073
1087
  const lines = text.split(/\r?\n/);
1074
- for (let i = 0; i < lines.length; i++) {
1075
- const line = lines[i];
1088
+ for (let i2 = 0; i2 < lines.length; i2++) {
1089
+ const line = lines[i2];
1076
1090
  if (!line?.trim()) {
1077
1091
  continue;
1078
1092
  }
@@ -1080,7 +1094,7 @@ function parseArchiveTextValues(path, text) {
1080
1094
  if (!parsed.ok) {
1081
1095
  return Object.freeze([]);
1082
1096
  }
1083
- values.push({ path: `$[${i}]`, value: parsed.value });
1097
+ values.push({ path: `$[${i2}]`, value: parsed.value });
1084
1098
  }
1085
1099
  return Object.freeze(values);
1086
1100
  }
@@ -1408,7 +1422,7 @@ __export(operations_exports, {
1408
1422
  whoami: () => whoami
1409
1423
  });
1410
1424
 
1411
- // ../../node_modules/.pnpm/fflate@0.8.3/node_modules/fflate/esm/index.mjs
1425
+ // ../../node_modules/.bun/fflate@0.8.3/node_modules/fflate/esm/index.mjs
1412
1426
  import { createRequire } from "module";
1413
1427
  var require2 = createRequire("/");
1414
1428
  var _a;
@@ -1495,13 +1509,13 @@ var fdeb = new u8([
1495
1509
  var clim = new u8([16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15]);
1496
1510
  var freb = function(eb, start) {
1497
1511
  var b = new u16(31);
1498
- for (var i = 0; i < 31; ++i) {
1499
- b[i] = start += 1 << eb[i - 1];
1512
+ for (var i2 = 0; i2 < 31; ++i2) {
1513
+ b[i2] = start += 1 << eb[i2 - 1];
1500
1514
  }
1501
1515
  var r = new i32(b[30]);
1502
- for (var i = 1; i < 30; ++i) {
1503
- for (var j = b[i]; j < b[i + 1]; ++j) {
1504
- r[j] = j - b[i] << 5 | i;
1516
+ for (var i2 = 1; i2 < 30; ++i2) {
1517
+ for (var j = b[i2]; j < b[i2 + 1]; ++j) {
1518
+ r[j] = j - b[i2] << 5 | i2;
1505
1519
  }
1506
1520
  }
1507
1521
  return { b, r };
@@ -1524,25 +1538,25 @@ var x;
1524
1538
  var i;
1525
1539
  var hMap = (function(cd, mb, r) {
1526
1540
  var s = cd.length;
1527
- var i = 0;
1541
+ var i2 = 0;
1528
1542
  var l = new u16(mb);
1529
- for (; i < s; ++i) {
1530
- if (cd[i])
1531
- ++l[cd[i] - 1];
1543
+ for (; i2 < s; ++i2) {
1544
+ if (cd[i2])
1545
+ ++l[cd[i2] - 1];
1532
1546
  }
1533
1547
  var le = new u16(mb);
1534
- for (i = 1; i < mb; ++i) {
1535
- le[i] = le[i - 1] + l[i - 1] << 1;
1548
+ for (i2 = 1; i2 < mb; ++i2) {
1549
+ le[i2] = le[i2 - 1] + l[i2 - 1] << 1;
1536
1550
  }
1537
1551
  var co;
1538
1552
  if (r) {
1539
1553
  co = new u16(1 << mb);
1540
1554
  var rvb = 15 - mb;
1541
- for (i = 0; i < s; ++i) {
1542
- if (cd[i]) {
1543
- var sv = i << 4 | cd[i];
1544
- var r_1 = mb - cd[i];
1545
- var v = le[cd[i] - 1]++ << r_1;
1555
+ for (i2 = 0; i2 < s; ++i2) {
1556
+ if (cd[i2]) {
1557
+ var sv = i2 << 4 | cd[i2];
1558
+ var r_1 = mb - cd[i2];
1559
+ var v = le[cd[i2] - 1]++ << r_1;
1546
1560
  for (var m = v | (1 << r_1) - 1; v <= m; ++v) {
1547
1561
  co[rev[v] >> rvb] = sv;
1548
1562
  }
@@ -1550,9 +1564,9 @@ var hMap = (function(cd, mb, r) {
1550
1564
  }
1551
1565
  } else {
1552
1566
  co = new u16(s);
1553
- for (i = 0; i < s; ++i) {
1554
- if (cd[i]) {
1555
- co[i] = rev[le[cd[i] - 1]++] >> 15 - cd[i];
1567
+ for (i2 = 0; i2 < s; ++i2) {
1568
+ if (cd[i2]) {
1569
+ co[i2] = rev[le[cd[i2] - 1]++] >> 15 - cd[i2];
1556
1570
  }
1557
1571
  }
1558
1572
  }
@@ -1629,9 +1643,9 @@ var wbits16 = function(d, p, v) {
1629
1643
  };
1630
1644
  var hTree = function(d, mb) {
1631
1645
  var t = [];
1632
- for (var i = 0; i < d.length; ++i) {
1633
- if (d[i])
1634
- t.push({ s: i, f: d[i] });
1646
+ for (var i2 = 0; i2 < d.length; ++i2) {
1647
+ if (d[i2])
1648
+ t.push({ s: i2, f: d[i2] });
1635
1649
  }
1636
1650
  var s = t.length;
1637
1651
  var t2 = t.slice();
@@ -1646,28 +1660,28 @@ var hTree = function(d, mb) {
1646
1660
  return a.f - b.f;
1647
1661
  });
1648
1662
  t.push({ s: -1, f: 25001 });
1649
- var l = t[0], r = t[1], i0 = 0, i1 = 1, i2 = 2;
1663
+ var l = t[0], r = t[1], i0 = 0, i1 = 1, i22 = 2;
1650
1664
  t[0] = { s: -1, f: l.f + r.f, l, r };
1651
1665
  while (i1 != s - 1) {
1652
- l = t[t[i0].f < t[i2].f ? i0++ : i2++];
1653
- r = t[i0 != i1 && t[i0].f < t[i2].f ? i0++ : i2++];
1666
+ l = t[t[i0].f < t[i22].f ? i0++ : i22++];
1667
+ r = t[i0 != i1 && t[i0].f < t[i22].f ? i0++ : i22++];
1654
1668
  t[i1++] = { s: -1, f: l.f + r.f, l, r };
1655
1669
  }
1656
1670
  var maxSym = t2[0].s;
1657
- for (var i = 1; i < s; ++i) {
1658
- if (t2[i].s > maxSym)
1659
- maxSym = t2[i].s;
1671
+ for (var i2 = 1; i2 < s; ++i2) {
1672
+ if (t2[i2].s > maxSym)
1673
+ maxSym = t2[i2].s;
1660
1674
  }
1661
1675
  var tr = new u16(maxSym + 1);
1662
1676
  var mbt = ln(t[i1 - 1], tr, 0);
1663
1677
  if (mbt > mb) {
1664
- var i = 0, dt = 0;
1678
+ var i2 = 0, dt = 0;
1665
1679
  var lft = mbt - mb, cst = 1 << lft;
1666
1680
  t2.sort(function(a, b) {
1667
1681
  return tr[b.s] - tr[a.s] || a.f - b.f;
1668
1682
  });
1669
- for (; i < s; ++i) {
1670
- var i2_1 = t2[i].s;
1683
+ for (; i2 < s; ++i2) {
1684
+ var i2_1 = t2[i2].s;
1671
1685
  if (tr[i2_1] > mb) {
1672
1686
  dt += cst - (1 << mbt - tr[i2_1]);
1673
1687
  tr[i2_1] = mb;
@@ -1676,14 +1690,14 @@ var hTree = function(d, mb) {
1676
1690
  }
1677
1691
  dt >>= lft;
1678
1692
  while (dt > 0) {
1679
- var i2_2 = t2[i].s;
1693
+ var i2_2 = t2[i2].s;
1680
1694
  if (tr[i2_2] < mb)
1681
1695
  dt -= 1 << mb - tr[i2_2]++ - 1;
1682
1696
  else
1683
- ++i;
1697
+ ++i2;
1684
1698
  }
1685
- for (; i >= 0 && dt; --i) {
1686
- var i2_3 = t2[i].s;
1699
+ for (; i2 >= 0 && dt; --i2) {
1700
+ var i2_3 = t2[i2].s;
1687
1701
  if (tr[i2_3] == mb) {
1688
1702
  --tr[i2_3];
1689
1703
  ++dt;
@@ -1705,8 +1719,8 @@ var lc = function(c) {
1705
1719
  var w = function(v) {
1706
1720
  cl[cli++] = v;
1707
1721
  };
1708
- for (var i = 1; i <= s; ++i) {
1709
- if (c[i] == cln && i != s)
1722
+ for (var i2 = 1; i2 <= s; ++i2) {
1723
+ if (c[i2] == cln && i2 != s)
1710
1724
  ++cls;
1711
1725
  else {
1712
1726
  if (!cln && cls > 2) {
@@ -1726,15 +1740,15 @@ var lc = function(c) {
1726
1740
  while (cls--)
1727
1741
  w(cln);
1728
1742
  cls = 1;
1729
- cln = c[i];
1743
+ cln = c[i2];
1730
1744
  }
1731
1745
  }
1732
1746
  return { c: cl.subarray(0, cli), n: s };
1733
1747
  };
1734
1748
  var clen = function(cf, cl) {
1735
1749
  var l = 0;
1736
- for (var i = 0; i < cl.length; ++i)
1737
- l += cf[i] * cl[i];
1750
+ for (var i2 = 0; i2 < cl.length; ++i2)
1751
+ l += cf[i2] * cl[i2];
1738
1752
  return l;
1739
1753
  };
1740
1754
  var wfblk = function(out, pos, dat) {
@@ -1744,8 +1758,8 @@ var wfblk = function(out, pos, dat) {
1744
1758
  out[o + 1] = s >> 8;
1745
1759
  out[o + 2] = out[o] ^ 255;
1746
1760
  out[o + 3] = out[o + 1] ^ 255;
1747
- for (var i = 0; i < s; ++i)
1748
- out[o + i + 4] = dat[i];
1761
+ for (var i2 = 0; i2 < s; ++i2)
1762
+ out[o + i2 + 4] = dat[i2];
1749
1763
  return (o + 4 + s) * 8;
1750
1764
  };
1751
1765
  var wblk = function(dat, out, final, syms, lf, df, eb, li, bs, bl, p) {
@@ -1756,10 +1770,10 @@ var wblk = function(dat, out, final, syms, lf, df, eb, li, bs, bl, p) {
1756
1770
  var _c = lc(dlt), lclt = _c.c, nlc = _c.n;
1757
1771
  var _d = lc(ddt), lcdt = _d.c, ndc = _d.n;
1758
1772
  var lcfreq = new u16(19);
1759
- for (var i = 0; i < lclt.length; ++i)
1760
- ++lcfreq[lclt[i] & 31];
1761
- for (var i = 0; i < lcdt.length; ++i)
1762
- ++lcfreq[lcdt[i] & 31];
1773
+ for (var i2 = 0; i2 < lclt.length; ++i2)
1774
+ ++lcfreq[lclt[i2] & 31];
1775
+ for (var i2 = 0; i2 < lcdt.length; ++i2)
1776
+ ++lcfreq[lcdt[i2] & 31];
1763
1777
  var _e = hTree(lcfreq, 7), lct = _e.t, mlcb = _e.l;
1764
1778
  var nlcc = 19;
1765
1779
  for (; nlcc > 4 && !lct[clim[nlcc - 1]]; --nlcc)
@@ -1778,24 +1792,24 @@ var wblk = function(dat, out, final, syms, lf, df, eb, li, bs, bl, p) {
1778
1792
  wbits(out, p + 5, ndc - 1);
1779
1793
  wbits(out, p + 10, nlcc - 4);
1780
1794
  p += 14;
1781
- for (var i = 0; i < nlcc; ++i)
1782
- wbits(out, p + 3 * i, lct[clim[i]]);
1795
+ for (var i2 = 0; i2 < nlcc; ++i2)
1796
+ wbits(out, p + 3 * i2, lct[clim[i2]]);
1783
1797
  p += 3 * nlcc;
1784
1798
  var lcts = [lclt, lcdt];
1785
1799
  for (var it = 0; it < 2; ++it) {
1786
1800
  var clct = lcts[it];
1787
- for (var i = 0; i < clct.length; ++i) {
1788
- var len = clct[i] & 31;
1801
+ for (var i2 = 0; i2 < clct.length; ++i2) {
1802
+ var len = clct[i2] & 31;
1789
1803
  wbits(out, p, llm[len]), p += lct[len];
1790
1804
  if (len > 15)
1791
- wbits(out, p, clct[i] >> 5 & 127), p += clct[i] >> 12;
1805
+ wbits(out, p, clct[i2] >> 5 & 127), p += clct[i2] >> 12;
1792
1806
  }
1793
1807
  }
1794
1808
  } else {
1795
1809
  lm = flm, ll = flt, dm = fdm, dl = fdt;
1796
1810
  }
1797
- for (var i = 0; i < li; ++i) {
1798
- var sym = syms[i];
1811
+ for (var i2 = 0; i2 < li; ++i2) {
1812
+ var sym = syms[i2];
1799
1813
  if (sym > 255) {
1800
1814
  var len = sym >> 18 & 31;
1801
1815
  wbits16(out, p, lm[len + 257]), p += ll[len + 257];
@@ -1828,36 +1842,36 @@ var dflt = function(dat, lvl, plvl, pre, post, st) {
1828
1842
  var msk_1 = (1 << plvl) - 1;
1829
1843
  var prev = st.p || new u16(32768), head = st.h || new u16(msk_1 + 1);
1830
1844
  var bs1_1 = Math.ceil(plvl / 3), bs2_1 = 2 * bs1_1;
1831
- var hsh = function(i2) {
1832
- return (dat[i2] ^ dat[i2 + 1] << bs1_1 ^ dat[i2 + 2] << bs2_1) & msk_1;
1845
+ var hsh = function(i3) {
1846
+ return (dat[i3] ^ dat[i3 + 1] << bs1_1 ^ dat[i3 + 2] << bs2_1) & msk_1;
1833
1847
  };
1834
1848
  var syms = new i32(25e3);
1835
1849
  var lf = new u16(288), df = new u16(32);
1836
- var lc_1 = 0, eb = 0, i = st.i || 0, li = 0, wi = st.w || 0, bs = 0;
1837
- for (; i + 2 < s; ++i) {
1838
- var hv = hsh(i);
1839
- var imod = i & 32767, pimod = head[hv];
1850
+ var lc_1 = 0, eb = 0, i2 = st.i || 0, li = 0, wi = st.w || 0, bs = 0;
1851
+ for (; i2 + 2 < s; ++i2) {
1852
+ var hv = hsh(i2);
1853
+ var imod = i2 & 32767, pimod = head[hv];
1840
1854
  prev[imod] = pimod;
1841
1855
  head[hv] = imod;
1842
- if (wi <= i) {
1843
- var rem = s - i;
1856
+ if (wi <= i2) {
1857
+ var rem = s - i2;
1844
1858
  if ((lc_1 > 7e3 || li > 24576) && (rem > 423 || !lst)) {
1845
- pos = wblk(dat, w, 0, syms, lf, df, eb, li, bs, i - bs, pos);
1846
- li = lc_1 = eb = 0, bs = i;
1859
+ pos = wblk(dat, w, 0, syms, lf, df, eb, li, bs, i2 - bs, pos);
1860
+ li = lc_1 = eb = 0, bs = i2;
1847
1861
  for (var j = 0; j < 286; ++j)
1848
1862
  lf[j] = 0;
1849
1863
  for (var j = 0; j < 30; ++j)
1850
1864
  df[j] = 0;
1851
1865
  }
1852
1866
  var l = 2, d = 0, ch_1 = c, dif = imod - pimod & 32767;
1853
- if (rem > 2 && hv == hsh(i - dif)) {
1867
+ if (rem > 2 && hv == hsh(i2 - dif)) {
1854
1868
  var maxn = Math.min(n, rem) - 1;
1855
- var maxd = Math.min(32767, i);
1869
+ var maxd = Math.min(32767, i2);
1856
1870
  var ml = Math.min(258, rem);
1857
1871
  while (dif <= maxd && --ch_1 && imod != pimod) {
1858
- if (dat[i + l] == dat[i + l - dif]) {
1872
+ if (dat[i2 + l] == dat[i2 + l - dif]) {
1859
1873
  var nl = 0;
1860
- for (; nl < ml && dat[i + nl] == dat[i + nl - dif]; ++nl)
1874
+ for (; nl < ml && dat[i2 + nl] == dat[i2 + nl - dif]; ++nl)
1861
1875
  ;
1862
1876
  if (nl > l) {
1863
1877
  l = nl, d = dif;
@@ -1866,7 +1880,7 @@ var dflt = function(dat, lvl, plvl, pre, post, st) {
1866
1880
  var mmd = Math.min(dif, nl - 2);
1867
1881
  var md = 0;
1868
1882
  for (var j = 0; j < mmd; ++j) {
1869
- var ti = i - dif + j & 32767;
1883
+ var ti = i2 - dif + j & 32767;
1870
1884
  var pti = prev[ti];
1871
1885
  var cd = ti - pti & 32767;
1872
1886
  if (cd > md)
@@ -1884,32 +1898,32 @@ var dflt = function(dat, lvl, plvl, pre, post, st) {
1884
1898
  eb += fleb[lin] + fdeb[din];
1885
1899
  ++lf[257 + lin];
1886
1900
  ++df[din];
1887
- wi = i + l;
1901
+ wi = i2 + l;
1888
1902
  ++lc_1;
1889
1903
  } else {
1890
- syms[li++] = dat[i];
1891
- ++lf[dat[i]];
1904
+ syms[li++] = dat[i2];
1905
+ ++lf[dat[i2]];
1892
1906
  }
1893
1907
  }
1894
1908
  }
1895
- for (i = Math.max(i, wi); i < s; ++i) {
1896
- syms[li++] = dat[i];
1897
- ++lf[dat[i]];
1909
+ for (i2 = Math.max(i2, wi); i2 < s; ++i2) {
1910
+ syms[li++] = dat[i2];
1911
+ ++lf[dat[i2]];
1898
1912
  }
1899
- pos = wblk(dat, w, lst, syms, lf, df, eb, li, bs, i - bs, pos);
1913
+ pos = wblk(dat, w, lst, syms, lf, df, eb, li, bs, i2 - bs, pos);
1900
1914
  if (!lst) {
1901
1915
  st.r = pos & 7 | w[pos / 8 | 0] << 3;
1902
1916
  pos -= 7;
1903
- st.h = head, st.p = prev, st.i = i, st.w = wi;
1917
+ st.h = head, st.p = prev, st.i = i2, st.w = wi;
1904
1918
  }
1905
1919
  } else {
1906
- for (var i = st.w || 0; i < s + lst; i += 65535) {
1907
- var e = i + 65535;
1920
+ for (var i2 = st.w || 0; i2 < s + lst; i2 += 65535) {
1921
+ var e = i2 + 65535;
1908
1922
  if (e >= s) {
1909
1923
  w[pos / 8 | 0] = lst;
1910
1924
  e = s;
1911
1925
  }
1912
- pos = wfblk(w, pos + 1, dat.subarray(i, e));
1926
+ pos = wfblk(w, pos + 1, dat.subarray(i2, e));
1913
1927
  }
1914
1928
  st.i = s;
1915
1929
  }
@@ -1917,11 +1931,11 @@ var dflt = function(dat, lvl, plvl, pre, post, st) {
1917
1931
  };
1918
1932
  var crct = /* @__PURE__ */ (function() {
1919
1933
  var t = new Int32Array(256);
1920
- for (var i = 0; i < 256; ++i) {
1921
- var c = i, k = 9;
1934
+ for (var i2 = 0; i2 < 256; ++i2) {
1935
+ var c = i2, k = 9;
1922
1936
  while (--k)
1923
1937
  c = (c & 1 && -306674912) ^ c >>> 1;
1924
- t[i] = c;
1938
+ t[i2] = c;
1925
1939
  }
1926
1940
  return t;
1927
1941
  })();
@@ -1930,8 +1944,8 @@ var crc = function() {
1930
1944
  return {
1931
1945
  p: function(d) {
1932
1946
  var cr = c;
1933
- for (var i = 0; i < d.length; ++i)
1934
- cr = crct[cr & 255 ^ d[i]] ^ cr >>> 8;
1947
+ for (var i2 = 0; i2 < d.length; ++i2)
1948
+ cr = crct[cr & 255 ^ d[i2]] ^ cr >>> 8;
1935
1949
  c = cr;
1936
1950
  },
1937
1951
  d: function() {
@@ -1992,8 +2006,8 @@ try {
1992
2006
  function strToU8(str, latin1) {
1993
2007
  if (latin1) {
1994
2008
  var ar_1 = new u8(str.length);
1995
- for (var i = 0; i < str.length; ++i)
1996
- ar_1[i] = str.charCodeAt(i);
2009
+ for (var i2 = 0; i2 < str.length; ++i2)
2010
+ ar_1[i2] = str.charCodeAt(i2);
1997
2011
  return ar_1;
1998
2012
  }
1999
2013
  if (te)
@@ -2004,19 +2018,19 @@ function strToU8(str, latin1) {
2004
2018
  var w = function(v) {
2005
2019
  ar[ai++] = v;
2006
2020
  };
2007
- for (var i = 0; i < l; ++i) {
2021
+ for (var i2 = 0; i2 < l; ++i2) {
2008
2022
  if (ai + 5 > ar.length) {
2009
- var n = new u8(ai + 8 + (l - i << 1));
2023
+ var n = new u8(ai + 8 + (l - i2 << 1));
2010
2024
  n.set(ar);
2011
2025
  ar = n;
2012
2026
  }
2013
- var c = str.charCodeAt(i);
2027
+ var c = str.charCodeAt(i2);
2014
2028
  if (c < 128 || latin1)
2015
2029
  w(c);
2016
2030
  else if (c < 2048)
2017
2031
  w(192 | c >> 6), w(128 | c & 63);
2018
2032
  else if (c > 55295 && c < 57344)
2019
- c = 65536 + (c & 1023 << 10) | str.charCodeAt(++i) & 1023, w(240 | c >> 18), w(128 | c >> 12 & 63), w(128 | c >> 6 & 63), w(128 | c & 63);
2033
+ c = 65536 + (c & 1023 << 10) | str.charCodeAt(++i2) & 1023, w(240 | c >> 18), w(128 | c >> 12 & 63), w(128 | c >> 6 & 63), w(128 | c & 63);
2020
2034
  else
2021
2035
  w(224 | c >> 12), w(128 | c >> 6 & 63), w(128 | c & 63);
2022
2036
  }
@@ -2113,8 +2127,8 @@ function zipSync(data, opts) {
2113
2127
  tot += 76 + 2 * (s + exl) + (ms || 0) + l;
2114
2128
  }
2115
2129
  var out = new u8(tot + 22), oe = o, cdl = tot - o;
2116
- for (var i = 0; i < files.length; ++i) {
2117
- var f = files[i];
2130
+ for (var i2 = 0; i2 < files.length; ++i2) {
2131
+ var f = files[i2];
2118
2132
  wzh(out, f.o, f, f.f, f.u, f.c.length);
2119
2133
  var badd = 30 + f.f.length + exfl(f.extra);
2120
2134
  out.set(f.c, f.o + badd);
@@ -2822,21 +2836,21 @@ function parseCommonHostFlags(argv) {
2822
2836
  let aexUrl = null;
2823
2837
  let debug = false;
2824
2838
  const rest = [];
2825
- for (let i = 0; i < argv.length; i++) {
2826
- const arg = argv[i];
2839
+ for (let i2 = 0; i2 < argv.length; i2++) {
2840
+ const arg = argv[i2];
2827
2841
  if (arg === "--debug") {
2828
2842
  debug = true;
2829
2843
  continue;
2830
2844
  }
2831
2845
  if (arg === "--api-token") {
2832
- const v = argv[++i];
2846
+ const v = argv[++i2];
2833
2847
  if (v === void 0)
2834
2848
  return { ok: false, reason: "--api-token requires a value" };
2835
2849
  apiToken = v;
2836
2850
  continue;
2837
2851
  }
2838
2852
  if (arg === "--aex-url") {
2839
- const v = argv[++i];
2853
+ const v = argv[++i2];
2840
2854
  if (v === void 0)
2841
2855
  return { ok: false, reason: "--aex-url requires a value" };
2842
2856
  aexUrl = v;
@@ -2892,10 +2906,10 @@ function emitJsonError(io2, code, message, extra = {}) {
2892
2906
  function collectRepeatedKv(rest, flag) {
2893
2907
  const entries = {};
2894
2908
  const remaining = [];
2895
- for (let i = 0; i < rest.length; i++) {
2896
- const arg = rest[i];
2909
+ for (let i2 = 0; i2 < rest.length; i2++) {
2910
+ const arg = rest[i2];
2897
2911
  if (arg === flag) {
2898
- const kv = rest[++i];
2912
+ const kv = rest[++i2];
2899
2913
  if (kv === void 0) {
2900
2914
  return { entries, remaining, error: `${flag} requires a KEY=VALUE argument` };
2901
2915
  }
@@ -2913,10 +2927,10 @@ function collectRepeatedKv(rest, flag) {
2913
2927
  function collectRepeated(rest, flag) {
2914
2928
  const values = [];
2915
2929
  const remaining = [];
2916
- for (let i = 0; i < rest.length; i++) {
2917
- const arg = rest[i];
2930
+ for (let i2 = 0; i2 < rest.length; i2++) {
2931
+ const arg = rest[i2];
2918
2932
  if (arg === flag) {
2919
- const v = rest[++i];
2933
+ const v = rest[++i2];
2920
2934
  if (v === void 0) {
2921
2935
  return { values, remaining, error: `${flag} requires a value` };
2922
2936
  }
@@ -2930,10 +2944,10 @@ function collectRepeated(rest, flag) {
2930
2944
  function collectRepeatedKvList(rest, flag) {
2931
2945
  const entries = [];
2932
2946
  const remaining = [];
2933
- for (let i = 0; i < rest.length; i++) {
2934
- const arg = rest[i];
2947
+ for (let i2 = 0; i2 < rest.length; i2++) {
2948
+ const arg = rest[i2];
2935
2949
  if (arg === flag) {
2936
- const kv = rest[++i];
2950
+ const kv = rest[++i2];
2937
2951
  if (kv === void 0) {
2938
2952
  return { entries, remaining, error: `${flag} requires a KEY=VALUE argument` };
2939
2953
  }
@@ -2951,10 +2965,10 @@ function collectRepeatedKvList(rest, flag) {
2951
2965
  function takeFlagValue(rest, flag) {
2952
2966
  let value = null;
2953
2967
  const remaining = [];
2954
- for (let i = 0; i < rest.length; i++) {
2955
- const arg = rest[i];
2968
+ for (let i2 = 0; i2 < rest.length; i2++) {
2969
+ const arg = rest[i2];
2956
2970
  if (arg === flag) {
2957
- const v = rest[++i];
2971
+ const v = rest[++i2];
2958
2972
  if (v === void 0) {
2959
2973
  return { value, remaining, error: `${flag} requires a value` };
2960
2974
  }
@@ -2994,10 +3008,10 @@ function takeOptionFlag(rest, flag) {
2994
3008
  const remaining = [];
2995
3009
  let value;
2996
3010
  const prefix = `${flag}=`;
2997
- for (let i = 0; i < rest.length; i++) {
2998
- const arg = rest[i];
3011
+ for (let i2 = 0; i2 < rest.length; i2++) {
3012
+ const arg = rest[i2];
2999
3013
  if (arg === flag) {
3000
- const next = rest[++i];
3014
+ const next = rest[++i2];
3001
3015
  if (next !== void 0)
3002
3016
  value = next;
3003
3017
  continue;
@@ -3067,26 +3081,26 @@ function parseProxyFlags(rest) {
3067
3081
  let dataSpec = null;
3068
3082
  let responseMode = null;
3069
3083
  let showHelp = false;
3070
- for (let i = 0; i < rest.length; i++) {
3071
- const arg = rest[i];
3084
+ for (let i2 = 0; i2 < rest.length; i2++) {
3085
+ const arg = rest[i2];
3072
3086
  if (arg === "--help" || arg === "-h") {
3073
3087
  showHelp = true;
3074
3088
  continue;
3075
3089
  }
3076
3090
  if (arg === "--method") {
3077
- method = expect(rest, ++i, "--method");
3091
+ method = expect(rest, ++i2, "--method");
3078
3092
  continue;
3079
3093
  }
3080
3094
  if (arg === "--path") {
3081
- path = expect(rest, ++i, "--path");
3095
+ path = expect(rest, ++i2, "--path");
3082
3096
  continue;
3083
3097
  }
3084
3098
  if (arg === "--query") {
3085
- query = expect(rest, ++i, "--query");
3099
+ query = expect(rest, ++i2, "--query");
3086
3100
  continue;
3087
3101
  }
3088
3102
  if (arg === "--header") {
3089
- const kv = expect(rest, ++i, "--header");
3103
+ const kv = expect(rest, ++i2, "--header");
3090
3104
  const eq = kv.indexOf("=");
3091
3105
  if (eq <= 0)
3092
3106
  return { ok: false, reason: "--header must be in the form KEY=VALUE" };
@@ -3094,11 +3108,11 @@ function parseProxyFlags(rest) {
3094
3108
  continue;
3095
3109
  }
3096
3110
  if (arg === "--data") {
3097
- dataSpec = expect(rest, ++i, "--data");
3111
+ dataSpec = expect(rest, ++i2, "--data");
3098
3112
  continue;
3099
3113
  }
3100
3114
  if (arg === "--response-mode") {
3101
- responseMode = expect(rest, ++i, "--response-mode");
3115
+ responseMode = expect(rest, ++i2, "--response-mode");
3102
3116
  continue;
3103
3117
  }
3104
3118
  if (arg.startsWith("--")) {
@@ -3407,6 +3421,18 @@ async function runRunCmd(io2, argv) {
3407
3421
  }
3408
3422
  runtime = runtimeFlag.value;
3409
3423
  }
3424
+ const regionFlag = takeFlagValue(rest, "--region");
3425
+ if (regionFlag.error) {
3426
+ io2.stderr(`${regionFlag.error}
3427
+ `);
3428
+ return USAGE_ERR;
3429
+ }
3430
+ rest = regionFlag.remaining;
3431
+ if (regionFlag.value && !RUN_REGIONS.includes(regionFlag.value)) {
3432
+ io2.stderr(`--region must be one of: ${RUN_REGIONS.join(", ")}
3433
+ `);
3434
+ return USAGE_ERR;
3435
+ }
3410
3436
  const idempotency = takeFlagValue(rest, "--idempotency-key");
3411
3437
  if (idempotency.error) {
3412
3438
  io2.stderr(`${idempotency.error}
@@ -3635,7 +3661,7 @@ async function runRunCmd(io2, argv) {
3635
3661
  let proxyEndpoints = runConfig.proxyEndpoints ?? [];
3636
3662
  if (proxyEndpointFlags.values.length > 0) {
3637
3663
  try {
3638
- proxyEndpoints = proxyEndpointFlags.values.map((raw, i) => parseJsonOrThrow(raw, `--proxy-endpoint[${i}]`));
3664
+ proxyEndpoints = proxyEndpointFlags.values.map((raw, i2) => parseJsonOrThrow(raw, `--proxy-endpoint[${i2}]`));
3639
3665
  } catch (err2) {
3640
3666
  io2.stderr(`${err2.message}
3641
3667
  `);
@@ -3686,6 +3712,7 @@ async function runRunCmd(io2, argv) {
3686
3712
  ...runtime ? { runtime } : {},
3687
3713
  submission,
3688
3714
  secrets,
3715
+ ...regionFlag.value ? { region: regionFlag.value } : runConfig.region ? { region: runConfig.region } : {},
3689
3716
  ...runtimeSizeFlag.value ? { runtimeSize: runtimeSizeFlag.value } : runConfig.runtimeSize ? { runtimeSize: runConfig.runtimeSize } : {},
3690
3717
  ...runTimeoutFlag.value ? { timeout: runTimeoutFlag.value } : runConfig.timeout ? { timeout: runConfig.timeout } : {},
3691
3718
  ...runConfig.postHook ? { postHook: runConfig.postHook } : {},
@@ -3708,8 +3735,8 @@ async function runRunCmd(io2, argv) {
3708
3735
  await sleep(2e3);
3709
3736
  try {
3710
3737
  const events = await operations_exports.listRunEvents(http, run.id);
3711
- for (let i = emittedEventCount; i < events.length; i++) {
3712
- io2.stdout(JSON.stringify(events[i]) + "\n");
3738
+ for (let i2 = emittedEventCount; i2 < events.length; i2++) {
3739
+ io2.stdout(JSON.stringify(events[i2]) + "\n");
3713
3740
  }
3714
3741
  emittedEventCount = events.length;
3715
3742
  } catch (err2) {
@@ -3788,16 +3815,16 @@ function stripMcpHeadersForParsing(input) {
3788
3815
  if (!Array.isArray(record.mcpServers)) {
3789
3816
  return { normalised: input, mcpHeaders };
3790
3817
  }
3791
- const stripped = record.mcpServers.map((entry, i) => {
3818
+ const stripped = record.mcpServers.map((entry, i2) => {
3792
3819
  if (!entry || typeof entry !== "object")
3793
3820
  return entry;
3794
3821
  const r = entry;
3795
3822
  if (r.headers && typeof r.headers === "object" && !Array.isArray(r.headers)) {
3796
- const name = typeof r.name === "string" ? r.name : `__index_${i}__`;
3823
+ const name = typeof r.name === "string" ? r.name : `__index_${i2}__`;
3797
3824
  const headerObj = {};
3798
3825
  for (const [k, v] of Object.entries(r.headers)) {
3799
3826
  if (typeof v !== "string") {
3800
- throw new Error(`mcpServers[${i}].headers["${k}"] must be a string`);
3827
+ throw new Error(`mcpServers[${i2}].headers["${k}"] must be a string`);
3801
3828
  }
3802
3829
  headerObj[k] = v;
3803
3830
  }
@@ -3930,7 +3957,7 @@ async function runSkillsUpload(io2, argv) {
3930
3957
  async function sha256Hex(bytes) {
3931
3958
  const subtle = globalThis.crypto?.subtle;
3932
3959
  if (!subtle)
3933
- throw new Error("aex skills upload: globalThis.crypto.subtle is required (Node 18+)");
3960
+ throw new Error("aex skills upload: globalThis.crypto.subtle is required (Bun or Node 18+)");
3934
3961
  const copy = new Uint8Array(bytes.byteLength);
3935
3962
  copy.set(bytes);
3936
3963
  const digest = await subtle.digest("SHA-256", copy.buffer);
@@ -4610,6 +4637,8 @@ Protocol version: ${manifest.protocolVersion}
4610
4637
  io2.stdout(" --metadata key=value Submission metadata entry (repeatable)\n");
4611
4638
  io2.stdout(" --proxy-endpoint '<json>' PlatformProxyEndpoint JSON (repeatable)\n");
4612
4639
  io2.stdout(" --proxy-auth name=<spec> bearer:tok | basic:u:p | header:v | query:v (repeatable)\n");
4640
+ io2.stdout(` --region <region> Product placement token; one of: ${RUN_REGIONS.join(", ")}
4641
+ `);
4613
4642
  io2.stdout(" --runtime-size <size> managed runtime preset\n");
4614
4643
  io2.stdout(" --run-timeout <dur> Server-side run deadline (e.g. 1h); distinct from --timeout\n");
4615
4644
  io2.stdout(" --idempotency-key <key> Optional; defaults to a fresh UUID\n");