@aexhq/sdk 0.25.2 → 0.26.1

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 +1 -1
  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 +2 -2
  6. package/dist/_contracts/index.d.ts +1 -0
  7. package/dist/_contracts/index.js +1 -0
  8. package/dist/_contracts/operations.d.ts +13 -1
  9. package/dist/_contracts/operations.js +19 -0
  10. package/dist/_contracts/proxy-protocol.js +1 -1
  11. package/dist/_contracts/runtime-manifest.d.ts +1 -1
  12. package/dist/_contracts/runtime-sizes.d.ts +5 -0
  13. package/dist/_contracts/runtime-sizes.js +3 -1
  14. package/dist/_contracts/runtime-types.d.ts +18 -0
  15. package/dist/_contracts/submission.d.ts +22 -0
  16. package/dist/_contracts/submission.js +38 -0
  17. package/dist/_contracts/webhook-verify.d.ts +34 -0
  18. package/dist/_contracts/webhook-verify.js +94 -0
  19. package/dist/agents-md.d.ts +1 -1
  20. package/dist/agents-md.js +1 -1
  21. package/dist/agents-md.js.map +1 -1
  22. package/dist/asset-upload.js +2 -2
  23. package/dist/asset-upload.js.map +1 -1
  24. package/dist/bundle.d.ts +1 -1
  25. package/dist/bundle.js +2 -2
  26. package/dist/bundle.js.map +1 -1
  27. package/dist/cli.mjs +185 -134
  28. package/dist/cli.mjs.sha256 +1 -1
  29. package/dist/client.d.ts +22 -1
  30. package/dist/client.js +18 -0
  31. package/dist/client.js.map +1 -1
  32. package/dist/fetch-archive.js +2 -2
  33. package/dist/fetch-archive.js.map +1 -1
  34. package/dist/index.d.ts +4 -2
  35. package/dist/index.js +3 -0
  36. package/dist/index.js.map +1 -1
  37. package/dist/node-fs.d.ts +2 -2
  38. package/dist/node-fs.js +2 -2
  39. package/dist/skill.d.ts +2 -2
  40. package/dist/skill.js +2 -2
  41. package/dist/version.d.ts +1 -1
  42. package/dist/version.js +1 -1
  43. package/docs/credentials.md +3 -3
  44. package/docs/defaults.md +70 -0
  45. package/docs/limits-and-quotas.md +108 -0
  46. package/docs/provider-runtime-capabilities.md +1 -1
  47. package/docs/public-surface.json +1 -1
  48. package/docs/quickstart.md +1 -1
  49. package/docs/release.md +69 -101
  50. package/docs/testing.md +10 -9
  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 },
@@ -699,10 +700,10 @@ function parseRunRequestConfigPrompt(value) {
699
700
  }
700
701
  if (Array.isArray(value)) {
701
702
  const arr = [];
702
- for (let i = 0; i < value.length; i++) {
703
- const item = value[i];
703
+ for (let i2 = 0; i2 < value.length; i2++) {
704
+ const item = value[i2];
704
705
  if (typeof item !== "string" || item.length === 0) {
705
- 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`);
706
707
  }
707
708
  arr.push(item);
708
709
  }
@@ -1084,8 +1085,8 @@ function parseArchiveTextValues(path, text) {
1084
1085
  if (/\.(?:jsonl|ndjson)$/i.test(path)) {
1085
1086
  const values = [];
1086
1087
  const lines = text.split(/\r?\n/);
1087
- for (let i = 0; i < lines.length; i++) {
1088
- const line = lines[i];
1088
+ for (let i2 = 0; i2 < lines.length; i2++) {
1089
+ const line = lines[i2];
1089
1090
  if (!line?.trim()) {
1090
1091
  continue;
1091
1092
  }
@@ -1093,7 +1094,7 @@ function parseArchiveTextValues(path, text) {
1093
1094
  if (!parsed.ok) {
1094
1095
  return Object.freeze([]);
1095
1096
  }
1096
- values.push({ path: `$[${i}]`, value: parsed.value });
1097
+ values.push({ path: `$[${i2}]`, value: parsed.value });
1097
1098
  }
1098
1099
  return Object.freeze(values);
1099
1100
  }
@@ -1270,6 +1271,9 @@ var AexApiError = class extends AexError {
1270
1271
  }
1271
1272
  };
1272
1273
 
1274
+ // ../contracts/dist/webhook-verify.js
1275
+ var encoder2 = new TextEncoder();
1276
+
1273
1277
  // ../contracts/dist/http.js
1274
1278
  var HttpClient = class {
1275
1279
  #baseUrl;
@@ -1402,6 +1406,7 @@ __export(operations_exports, {
1402
1406
  getFile: () => getFile,
1403
1407
  getRun: () => getRun,
1404
1408
  getRunUnit: () => getRunUnit,
1409
+ getRunWebhookDeliveries: () => getRunWebhookDeliveries,
1405
1410
  getSecret: () => getSecret,
1406
1411
  getSecretValue: () => getSecretValue,
1407
1412
  getSkill: () => getSkill,
@@ -1413,6 +1418,7 @@ __export(operations_exports, {
1413
1418
  listSkills: () => listSkills,
1414
1419
  normalizeOutputLinkExpiresIn: () => normalizeOutputLinkExpiresIn,
1415
1420
  outputLink: () => outputLink,
1421
+ redeliverRunWebhook: () => redeliverRunWebhook,
1416
1422
  resolveOutputFileSelector: () => resolveOutputFileSelector,
1417
1423
  rotateSecret: () => rotateSecret,
1418
1424
  submitRun: () => submitRun,
@@ -1421,7 +1427,7 @@ __export(operations_exports, {
1421
1427
  whoami: () => whoami
1422
1428
  });
1423
1429
 
1424
- // ../../node_modules/.pnpm/fflate@0.8.3/node_modules/fflate/esm/index.mjs
1430
+ // ../../node_modules/.bun/fflate@0.8.3/node_modules/fflate/esm/index.mjs
1425
1431
  import { createRequire } from "module";
1426
1432
  var require2 = createRequire("/");
1427
1433
  var _a;
@@ -1508,13 +1514,13 @@ var fdeb = new u8([
1508
1514
  var clim = new u8([16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15]);
1509
1515
  var freb = function(eb, start) {
1510
1516
  var b = new u16(31);
1511
- for (var i = 0; i < 31; ++i) {
1512
- b[i] = start += 1 << eb[i - 1];
1517
+ for (var i2 = 0; i2 < 31; ++i2) {
1518
+ b[i2] = start += 1 << eb[i2 - 1];
1513
1519
  }
1514
1520
  var r = new i32(b[30]);
1515
- for (var i = 1; i < 30; ++i) {
1516
- for (var j = b[i]; j < b[i + 1]; ++j) {
1517
- r[j] = j - b[i] << 5 | i;
1521
+ for (var i2 = 1; i2 < 30; ++i2) {
1522
+ for (var j = b[i2]; j < b[i2 + 1]; ++j) {
1523
+ r[j] = j - b[i2] << 5 | i2;
1518
1524
  }
1519
1525
  }
1520
1526
  return { b, r };
@@ -1537,25 +1543,25 @@ var x;
1537
1543
  var i;
1538
1544
  var hMap = (function(cd, mb, r) {
1539
1545
  var s = cd.length;
1540
- var i = 0;
1546
+ var i2 = 0;
1541
1547
  var l = new u16(mb);
1542
- for (; i < s; ++i) {
1543
- if (cd[i])
1544
- ++l[cd[i] - 1];
1548
+ for (; i2 < s; ++i2) {
1549
+ if (cd[i2])
1550
+ ++l[cd[i2] - 1];
1545
1551
  }
1546
1552
  var le = new u16(mb);
1547
- for (i = 1; i < mb; ++i) {
1548
- le[i] = le[i - 1] + l[i - 1] << 1;
1553
+ for (i2 = 1; i2 < mb; ++i2) {
1554
+ le[i2] = le[i2 - 1] + l[i2 - 1] << 1;
1549
1555
  }
1550
1556
  var co;
1551
1557
  if (r) {
1552
1558
  co = new u16(1 << mb);
1553
1559
  var rvb = 15 - mb;
1554
- for (i = 0; i < s; ++i) {
1555
- if (cd[i]) {
1556
- var sv = i << 4 | cd[i];
1557
- var r_1 = mb - cd[i];
1558
- var v = le[cd[i] - 1]++ << r_1;
1560
+ for (i2 = 0; i2 < s; ++i2) {
1561
+ if (cd[i2]) {
1562
+ var sv = i2 << 4 | cd[i2];
1563
+ var r_1 = mb - cd[i2];
1564
+ var v = le[cd[i2] - 1]++ << r_1;
1559
1565
  for (var m = v | (1 << r_1) - 1; v <= m; ++v) {
1560
1566
  co[rev[v] >> rvb] = sv;
1561
1567
  }
@@ -1563,9 +1569,9 @@ var hMap = (function(cd, mb, r) {
1563
1569
  }
1564
1570
  } else {
1565
1571
  co = new u16(s);
1566
- for (i = 0; i < s; ++i) {
1567
- if (cd[i]) {
1568
- co[i] = rev[le[cd[i] - 1]++] >> 15 - cd[i];
1572
+ for (i2 = 0; i2 < s; ++i2) {
1573
+ if (cd[i2]) {
1574
+ co[i2] = rev[le[cd[i2] - 1]++] >> 15 - cd[i2];
1569
1575
  }
1570
1576
  }
1571
1577
  }
@@ -1642,9 +1648,9 @@ var wbits16 = function(d, p, v) {
1642
1648
  };
1643
1649
  var hTree = function(d, mb) {
1644
1650
  var t = [];
1645
- for (var i = 0; i < d.length; ++i) {
1646
- if (d[i])
1647
- t.push({ s: i, f: d[i] });
1651
+ for (var i2 = 0; i2 < d.length; ++i2) {
1652
+ if (d[i2])
1653
+ t.push({ s: i2, f: d[i2] });
1648
1654
  }
1649
1655
  var s = t.length;
1650
1656
  var t2 = t.slice();
@@ -1659,28 +1665,28 @@ var hTree = function(d, mb) {
1659
1665
  return a.f - b.f;
1660
1666
  });
1661
1667
  t.push({ s: -1, f: 25001 });
1662
- var l = t[0], r = t[1], i0 = 0, i1 = 1, i2 = 2;
1668
+ var l = t[0], r = t[1], i0 = 0, i1 = 1, i22 = 2;
1663
1669
  t[0] = { s: -1, f: l.f + r.f, l, r };
1664
1670
  while (i1 != s - 1) {
1665
- l = t[t[i0].f < t[i2].f ? i0++ : i2++];
1666
- r = t[i0 != i1 && t[i0].f < t[i2].f ? i0++ : i2++];
1671
+ l = t[t[i0].f < t[i22].f ? i0++ : i22++];
1672
+ r = t[i0 != i1 && t[i0].f < t[i22].f ? i0++ : i22++];
1667
1673
  t[i1++] = { s: -1, f: l.f + r.f, l, r };
1668
1674
  }
1669
1675
  var maxSym = t2[0].s;
1670
- for (var i = 1; i < s; ++i) {
1671
- if (t2[i].s > maxSym)
1672
- maxSym = t2[i].s;
1676
+ for (var i2 = 1; i2 < s; ++i2) {
1677
+ if (t2[i2].s > maxSym)
1678
+ maxSym = t2[i2].s;
1673
1679
  }
1674
1680
  var tr = new u16(maxSym + 1);
1675
1681
  var mbt = ln(t[i1 - 1], tr, 0);
1676
1682
  if (mbt > mb) {
1677
- var i = 0, dt = 0;
1683
+ var i2 = 0, dt = 0;
1678
1684
  var lft = mbt - mb, cst = 1 << lft;
1679
1685
  t2.sort(function(a, b) {
1680
1686
  return tr[b.s] - tr[a.s] || a.f - b.f;
1681
1687
  });
1682
- for (; i < s; ++i) {
1683
- var i2_1 = t2[i].s;
1688
+ for (; i2 < s; ++i2) {
1689
+ var i2_1 = t2[i2].s;
1684
1690
  if (tr[i2_1] > mb) {
1685
1691
  dt += cst - (1 << mbt - tr[i2_1]);
1686
1692
  tr[i2_1] = mb;
@@ -1689,14 +1695,14 @@ var hTree = function(d, mb) {
1689
1695
  }
1690
1696
  dt >>= lft;
1691
1697
  while (dt > 0) {
1692
- var i2_2 = t2[i].s;
1698
+ var i2_2 = t2[i2].s;
1693
1699
  if (tr[i2_2] < mb)
1694
1700
  dt -= 1 << mb - tr[i2_2]++ - 1;
1695
1701
  else
1696
- ++i;
1702
+ ++i2;
1697
1703
  }
1698
- for (; i >= 0 && dt; --i) {
1699
- var i2_3 = t2[i].s;
1704
+ for (; i2 >= 0 && dt; --i2) {
1705
+ var i2_3 = t2[i2].s;
1700
1706
  if (tr[i2_3] == mb) {
1701
1707
  --tr[i2_3];
1702
1708
  ++dt;
@@ -1718,8 +1724,8 @@ var lc = function(c) {
1718
1724
  var w = function(v) {
1719
1725
  cl[cli++] = v;
1720
1726
  };
1721
- for (var i = 1; i <= s; ++i) {
1722
- if (c[i] == cln && i != s)
1727
+ for (var i2 = 1; i2 <= s; ++i2) {
1728
+ if (c[i2] == cln && i2 != s)
1723
1729
  ++cls;
1724
1730
  else {
1725
1731
  if (!cln && cls > 2) {
@@ -1739,15 +1745,15 @@ var lc = function(c) {
1739
1745
  while (cls--)
1740
1746
  w(cln);
1741
1747
  cls = 1;
1742
- cln = c[i];
1748
+ cln = c[i2];
1743
1749
  }
1744
1750
  }
1745
1751
  return { c: cl.subarray(0, cli), n: s };
1746
1752
  };
1747
1753
  var clen = function(cf, cl) {
1748
1754
  var l = 0;
1749
- for (var i = 0; i < cl.length; ++i)
1750
- l += cf[i] * cl[i];
1755
+ for (var i2 = 0; i2 < cl.length; ++i2)
1756
+ l += cf[i2] * cl[i2];
1751
1757
  return l;
1752
1758
  };
1753
1759
  var wfblk = function(out, pos, dat) {
@@ -1757,8 +1763,8 @@ var wfblk = function(out, pos, dat) {
1757
1763
  out[o + 1] = s >> 8;
1758
1764
  out[o + 2] = out[o] ^ 255;
1759
1765
  out[o + 3] = out[o + 1] ^ 255;
1760
- for (var i = 0; i < s; ++i)
1761
- out[o + i + 4] = dat[i];
1766
+ for (var i2 = 0; i2 < s; ++i2)
1767
+ out[o + i2 + 4] = dat[i2];
1762
1768
  return (o + 4 + s) * 8;
1763
1769
  };
1764
1770
  var wblk = function(dat, out, final, syms, lf, df, eb, li, bs, bl, p) {
@@ -1769,10 +1775,10 @@ var wblk = function(dat, out, final, syms, lf, df, eb, li, bs, bl, p) {
1769
1775
  var _c = lc(dlt), lclt = _c.c, nlc = _c.n;
1770
1776
  var _d = lc(ddt), lcdt = _d.c, ndc = _d.n;
1771
1777
  var lcfreq = new u16(19);
1772
- for (var i = 0; i < lclt.length; ++i)
1773
- ++lcfreq[lclt[i] & 31];
1774
- for (var i = 0; i < lcdt.length; ++i)
1775
- ++lcfreq[lcdt[i] & 31];
1778
+ for (var i2 = 0; i2 < lclt.length; ++i2)
1779
+ ++lcfreq[lclt[i2] & 31];
1780
+ for (var i2 = 0; i2 < lcdt.length; ++i2)
1781
+ ++lcfreq[lcdt[i2] & 31];
1776
1782
  var _e = hTree(lcfreq, 7), lct = _e.t, mlcb = _e.l;
1777
1783
  var nlcc = 19;
1778
1784
  for (; nlcc > 4 && !lct[clim[nlcc - 1]]; --nlcc)
@@ -1791,24 +1797,24 @@ var wblk = function(dat, out, final, syms, lf, df, eb, li, bs, bl, p) {
1791
1797
  wbits(out, p + 5, ndc - 1);
1792
1798
  wbits(out, p + 10, nlcc - 4);
1793
1799
  p += 14;
1794
- for (var i = 0; i < nlcc; ++i)
1795
- wbits(out, p + 3 * i, lct[clim[i]]);
1800
+ for (var i2 = 0; i2 < nlcc; ++i2)
1801
+ wbits(out, p + 3 * i2, lct[clim[i2]]);
1796
1802
  p += 3 * nlcc;
1797
1803
  var lcts = [lclt, lcdt];
1798
1804
  for (var it = 0; it < 2; ++it) {
1799
1805
  var clct = lcts[it];
1800
- for (var i = 0; i < clct.length; ++i) {
1801
- var len = clct[i] & 31;
1806
+ for (var i2 = 0; i2 < clct.length; ++i2) {
1807
+ var len = clct[i2] & 31;
1802
1808
  wbits(out, p, llm[len]), p += lct[len];
1803
1809
  if (len > 15)
1804
- wbits(out, p, clct[i] >> 5 & 127), p += clct[i] >> 12;
1810
+ wbits(out, p, clct[i2] >> 5 & 127), p += clct[i2] >> 12;
1805
1811
  }
1806
1812
  }
1807
1813
  } else {
1808
1814
  lm = flm, ll = flt, dm = fdm, dl = fdt;
1809
1815
  }
1810
- for (var i = 0; i < li; ++i) {
1811
- var sym = syms[i];
1816
+ for (var i2 = 0; i2 < li; ++i2) {
1817
+ var sym = syms[i2];
1812
1818
  if (sym > 255) {
1813
1819
  var len = sym >> 18 & 31;
1814
1820
  wbits16(out, p, lm[len + 257]), p += ll[len + 257];
@@ -1841,36 +1847,36 @@ var dflt = function(dat, lvl, plvl, pre, post, st) {
1841
1847
  var msk_1 = (1 << plvl) - 1;
1842
1848
  var prev = st.p || new u16(32768), head = st.h || new u16(msk_1 + 1);
1843
1849
  var bs1_1 = Math.ceil(plvl / 3), bs2_1 = 2 * bs1_1;
1844
- var hsh = function(i2) {
1845
- return (dat[i2] ^ dat[i2 + 1] << bs1_1 ^ dat[i2 + 2] << bs2_1) & msk_1;
1850
+ var hsh = function(i3) {
1851
+ return (dat[i3] ^ dat[i3 + 1] << bs1_1 ^ dat[i3 + 2] << bs2_1) & msk_1;
1846
1852
  };
1847
1853
  var syms = new i32(25e3);
1848
1854
  var lf = new u16(288), df = new u16(32);
1849
- var lc_1 = 0, eb = 0, i = st.i || 0, li = 0, wi = st.w || 0, bs = 0;
1850
- for (; i + 2 < s; ++i) {
1851
- var hv = hsh(i);
1852
- var imod = i & 32767, pimod = head[hv];
1855
+ var lc_1 = 0, eb = 0, i2 = st.i || 0, li = 0, wi = st.w || 0, bs = 0;
1856
+ for (; i2 + 2 < s; ++i2) {
1857
+ var hv = hsh(i2);
1858
+ var imod = i2 & 32767, pimod = head[hv];
1853
1859
  prev[imod] = pimod;
1854
1860
  head[hv] = imod;
1855
- if (wi <= i) {
1856
- var rem = s - i;
1861
+ if (wi <= i2) {
1862
+ var rem = s - i2;
1857
1863
  if ((lc_1 > 7e3 || li > 24576) && (rem > 423 || !lst)) {
1858
- pos = wblk(dat, w, 0, syms, lf, df, eb, li, bs, i - bs, pos);
1859
- li = lc_1 = eb = 0, bs = i;
1864
+ pos = wblk(dat, w, 0, syms, lf, df, eb, li, bs, i2 - bs, pos);
1865
+ li = lc_1 = eb = 0, bs = i2;
1860
1866
  for (var j = 0; j < 286; ++j)
1861
1867
  lf[j] = 0;
1862
1868
  for (var j = 0; j < 30; ++j)
1863
1869
  df[j] = 0;
1864
1870
  }
1865
1871
  var l = 2, d = 0, ch_1 = c, dif = imod - pimod & 32767;
1866
- if (rem > 2 && hv == hsh(i - dif)) {
1872
+ if (rem > 2 && hv == hsh(i2 - dif)) {
1867
1873
  var maxn = Math.min(n, rem) - 1;
1868
- var maxd = Math.min(32767, i);
1874
+ var maxd = Math.min(32767, i2);
1869
1875
  var ml = Math.min(258, rem);
1870
1876
  while (dif <= maxd && --ch_1 && imod != pimod) {
1871
- if (dat[i + l] == dat[i + l - dif]) {
1877
+ if (dat[i2 + l] == dat[i2 + l - dif]) {
1872
1878
  var nl = 0;
1873
- for (; nl < ml && dat[i + nl] == dat[i + nl - dif]; ++nl)
1879
+ for (; nl < ml && dat[i2 + nl] == dat[i2 + nl - dif]; ++nl)
1874
1880
  ;
1875
1881
  if (nl > l) {
1876
1882
  l = nl, d = dif;
@@ -1879,7 +1885,7 @@ var dflt = function(dat, lvl, plvl, pre, post, st) {
1879
1885
  var mmd = Math.min(dif, nl - 2);
1880
1886
  var md = 0;
1881
1887
  for (var j = 0; j < mmd; ++j) {
1882
- var ti = i - dif + j & 32767;
1888
+ var ti = i2 - dif + j & 32767;
1883
1889
  var pti = prev[ti];
1884
1890
  var cd = ti - pti & 32767;
1885
1891
  if (cd > md)
@@ -1897,32 +1903,32 @@ var dflt = function(dat, lvl, plvl, pre, post, st) {
1897
1903
  eb += fleb[lin] + fdeb[din];
1898
1904
  ++lf[257 + lin];
1899
1905
  ++df[din];
1900
- wi = i + l;
1906
+ wi = i2 + l;
1901
1907
  ++lc_1;
1902
1908
  } else {
1903
- syms[li++] = dat[i];
1904
- ++lf[dat[i]];
1909
+ syms[li++] = dat[i2];
1910
+ ++lf[dat[i2]];
1905
1911
  }
1906
1912
  }
1907
1913
  }
1908
- for (i = Math.max(i, wi); i < s; ++i) {
1909
- syms[li++] = dat[i];
1910
- ++lf[dat[i]];
1914
+ for (i2 = Math.max(i2, wi); i2 < s; ++i2) {
1915
+ syms[li++] = dat[i2];
1916
+ ++lf[dat[i2]];
1911
1917
  }
1912
- pos = wblk(dat, w, lst, syms, lf, df, eb, li, bs, i - bs, pos);
1918
+ pos = wblk(dat, w, lst, syms, lf, df, eb, li, bs, i2 - bs, pos);
1913
1919
  if (!lst) {
1914
1920
  st.r = pos & 7 | w[pos / 8 | 0] << 3;
1915
1921
  pos -= 7;
1916
- st.h = head, st.p = prev, st.i = i, st.w = wi;
1922
+ st.h = head, st.p = prev, st.i = i2, st.w = wi;
1917
1923
  }
1918
1924
  } else {
1919
- for (var i = st.w || 0; i < s + lst; i += 65535) {
1920
- var e = i + 65535;
1925
+ for (var i2 = st.w || 0; i2 < s + lst; i2 += 65535) {
1926
+ var e = i2 + 65535;
1921
1927
  if (e >= s) {
1922
1928
  w[pos / 8 | 0] = lst;
1923
1929
  e = s;
1924
1930
  }
1925
- pos = wfblk(w, pos + 1, dat.subarray(i, e));
1931
+ pos = wfblk(w, pos + 1, dat.subarray(i2, e));
1926
1932
  }
1927
1933
  st.i = s;
1928
1934
  }
@@ -1930,11 +1936,11 @@ var dflt = function(dat, lvl, plvl, pre, post, st) {
1930
1936
  };
1931
1937
  var crct = /* @__PURE__ */ (function() {
1932
1938
  var t = new Int32Array(256);
1933
- for (var i = 0; i < 256; ++i) {
1934
- var c = i, k = 9;
1939
+ for (var i2 = 0; i2 < 256; ++i2) {
1940
+ var c = i2, k = 9;
1935
1941
  while (--k)
1936
1942
  c = (c & 1 && -306674912) ^ c >>> 1;
1937
- t[i] = c;
1943
+ t[i2] = c;
1938
1944
  }
1939
1945
  return t;
1940
1946
  })();
@@ -1943,8 +1949,8 @@ var crc = function() {
1943
1949
  return {
1944
1950
  p: function(d) {
1945
1951
  var cr = c;
1946
- for (var i = 0; i < d.length; ++i)
1947
- cr = crct[cr & 255 ^ d[i]] ^ cr >>> 8;
1952
+ for (var i2 = 0; i2 < d.length; ++i2)
1953
+ cr = crct[cr & 255 ^ d[i2]] ^ cr >>> 8;
1948
1954
  c = cr;
1949
1955
  },
1950
1956
  d: function() {
@@ -2005,8 +2011,8 @@ try {
2005
2011
  function strToU8(str, latin1) {
2006
2012
  if (latin1) {
2007
2013
  var ar_1 = new u8(str.length);
2008
- for (var i = 0; i < str.length; ++i)
2009
- ar_1[i] = str.charCodeAt(i);
2014
+ for (var i2 = 0; i2 < str.length; ++i2)
2015
+ ar_1[i2] = str.charCodeAt(i2);
2010
2016
  return ar_1;
2011
2017
  }
2012
2018
  if (te)
@@ -2017,19 +2023,19 @@ function strToU8(str, latin1) {
2017
2023
  var w = function(v) {
2018
2024
  ar[ai++] = v;
2019
2025
  };
2020
- for (var i = 0; i < l; ++i) {
2026
+ for (var i2 = 0; i2 < l; ++i2) {
2021
2027
  if (ai + 5 > ar.length) {
2022
- var n = new u8(ai + 8 + (l - i << 1));
2028
+ var n = new u8(ai + 8 + (l - i2 << 1));
2023
2029
  n.set(ar);
2024
2030
  ar = n;
2025
2031
  }
2026
- var c = str.charCodeAt(i);
2032
+ var c = str.charCodeAt(i2);
2027
2033
  if (c < 128 || latin1)
2028
2034
  w(c);
2029
2035
  else if (c < 2048)
2030
2036
  w(192 | c >> 6), w(128 | c & 63);
2031
2037
  else if (c > 55295 && c < 57344)
2032
- 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);
2038
+ 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);
2033
2039
  else
2034
2040
  w(224 | c >> 12), w(128 | c >> 6 & 63), w(128 | c & 63);
2035
2041
  }
@@ -2126,8 +2132,8 @@ function zipSync(data, opts) {
2126
2132
  tot += 76 + 2 * (s + exl) + (ms || 0) + l;
2127
2133
  }
2128
2134
  var out = new u8(tot + 22), oe = o, cdl = tot - o;
2129
- for (var i = 0; i < files.length; ++i) {
2130
- var f = files[i];
2135
+ for (var i2 = 0; i2 < files.length; ++i2) {
2136
+ var f = files[i2];
2131
2137
  wzh(out, f.o, f, f.f, f.u, f.c.length);
2132
2138
  var badd = 30 + f.f.length + exfl(f.extra);
2133
2139
  out.set(f.c, f.o + badd);
@@ -2249,6 +2255,13 @@ async function cancelRun(http, runId) {
2249
2255
  async function deleteRun(http, runId) {
2250
2256
  await http.request(`/api/runs/${encodeURIComponent(runId)}`, { method: "DELETE" });
2251
2257
  }
2258
+ async function getRunWebhookDeliveries(http, runId) {
2259
+ const result = await http.request(`/api/runs/${encodeURIComponent(runId)}/webhook-deliveries`);
2260
+ return Array.isArray(result) ? result : result.deliveries;
2261
+ }
2262
+ async function redeliverRunWebhook(http, runId, deliveryId) {
2263
+ await http.request(`/api/runs/${encodeURIComponent(runId)}/webhook-deliveries/${encodeURIComponent(deliveryId)}/redeliver`, { method: "POST" });
2264
+ }
2252
2265
  async function deleteWorkspaceAsset(http, hash) {
2253
2266
  const assetId = hash.startsWith("asset_") ? hash : `asset_${hash.startsWith("sha256:") ? hash.slice("sha256:".length) : hash}`;
2254
2267
  await http.request(`/assets/${encodeURIComponent(assetId)}`, { method: "DELETE" });
@@ -2835,21 +2848,21 @@ function parseCommonHostFlags(argv) {
2835
2848
  let aexUrl = null;
2836
2849
  let debug = false;
2837
2850
  const rest = [];
2838
- for (let i = 0; i < argv.length; i++) {
2839
- const arg = argv[i];
2851
+ for (let i2 = 0; i2 < argv.length; i2++) {
2852
+ const arg = argv[i2];
2840
2853
  if (arg === "--debug") {
2841
2854
  debug = true;
2842
2855
  continue;
2843
2856
  }
2844
2857
  if (arg === "--api-token") {
2845
- const v = argv[++i];
2858
+ const v = argv[++i2];
2846
2859
  if (v === void 0)
2847
2860
  return { ok: false, reason: "--api-token requires a value" };
2848
2861
  apiToken = v;
2849
2862
  continue;
2850
2863
  }
2851
2864
  if (arg === "--aex-url") {
2852
- const v = argv[++i];
2865
+ const v = argv[++i2];
2853
2866
  if (v === void 0)
2854
2867
  return { ok: false, reason: "--aex-url requires a value" };
2855
2868
  aexUrl = v;
@@ -2905,10 +2918,10 @@ function emitJsonError(io2, code, message, extra = {}) {
2905
2918
  function collectRepeatedKv(rest, flag) {
2906
2919
  const entries = {};
2907
2920
  const remaining = [];
2908
- for (let i = 0; i < rest.length; i++) {
2909
- const arg = rest[i];
2921
+ for (let i2 = 0; i2 < rest.length; i2++) {
2922
+ const arg = rest[i2];
2910
2923
  if (arg === flag) {
2911
- const kv = rest[++i];
2924
+ const kv = rest[++i2];
2912
2925
  if (kv === void 0) {
2913
2926
  return { entries, remaining, error: `${flag} requires a KEY=VALUE argument` };
2914
2927
  }
@@ -2926,10 +2939,10 @@ function collectRepeatedKv(rest, flag) {
2926
2939
  function collectRepeated(rest, flag) {
2927
2940
  const values = [];
2928
2941
  const remaining = [];
2929
- for (let i = 0; i < rest.length; i++) {
2930
- const arg = rest[i];
2942
+ for (let i2 = 0; i2 < rest.length; i2++) {
2943
+ const arg = rest[i2];
2931
2944
  if (arg === flag) {
2932
- const v = rest[++i];
2945
+ const v = rest[++i2];
2933
2946
  if (v === void 0) {
2934
2947
  return { values, remaining, error: `${flag} requires a value` };
2935
2948
  }
@@ -2943,10 +2956,10 @@ function collectRepeated(rest, flag) {
2943
2956
  function collectRepeatedKvList(rest, flag) {
2944
2957
  const entries = [];
2945
2958
  const remaining = [];
2946
- for (let i = 0; i < rest.length; i++) {
2947
- const arg = rest[i];
2959
+ for (let i2 = 0; i2 < rest.length; i2++) {
2960
+ const arg = rest[i2];
2948
2961
  if (arg === flag) {
2949
- const kv = rest[++i];
2962
+ const kv = rest[++i2];
2950
2963
  if (kv === void 0) {
2951
2964
  return { entries, remaining, error: `${flag} requires a KEY=VALUE argument` };
2952
2965
  }
@@ -2964,10 +2977,10 @@ function collectRepeatedKvList(rest, flag) {
2964
2977
  function takeFlagValue(rest, flag) {
2965
2978
  let value = null;
2966
2979
  const remaining = [];
2967
- for (let i = 0; i < rest.length; i++) {
2968
- const arg = rest[i];
2980
+ for (let i2 = 0; i2 < rest.length; i2++) {
2981
+ const arg = rest[i2];
2969
2982
  if (arg === flag) {
2970
- const v = rest[++i];
2983
+ const v = rest[++i2];
2971
2984
  if (v === void 0) {
2972
2985
  return { value, remaining, error: `${flag} requires a value` };
2973
2986
  }
@@ -3007,10 +3020,10 @@ function takeOptionFlag(rest, flag) {
3007
3020
  const remaining = [];
3008
3021
  let value;
3009
3022
  const prefix = `${flag}=`;
3010
- for (let i = 0; i < rest.length; i++) {
3011
- const arg = rest[i];
3023
+ for (let i2 = 0; i2 < rest.length; i2++) {
3024
+ const arg = rest[i2];
3012
3025
  if (arg === flag) {
3013
- const next = rest[++i];
3026
+ const next = rest[++i2];
3014
3027
  if (next !== void 0)
3015
3028
  value = next;
3016
3029
  continue;
@@ -3080,26 +3093,26 @@ function parseProxyFlags(rest) {
3080
3093
  let dataSpec = null;
3081
3094
  let responseMode = null;
3082
3095
  let showHelp = false;
3083
- for (let i = 0; i < rest.length; i++) {
3084
- const arg = rest[i];
3096
+ for (let i2 = 0; i2 < rest.length; i2++) {
3097
+ const arg = rest[i2];
3085
3098
  if (arg === "--help" || arg === "-h") {
3086
3099
  showHelp = true;
3087
3100
  continue;
3088
3101
  }
3089
3102
  if (arg === "--method") {
3090
- method = expect(rest, ++i, "--method");
3103
+ method = expect(rest, ++i2, "--method");
3091
3104
  continue;
3092
3105
  }
3093
3106
  if (arg === "--path") {
3094
- path = expect(rest, ++i, "--path");
3107
+ path = expect(rest, ++i2, "--path");
3095
3108
  continue;
3096
3109
  }
3097
3110
  if (arg === "--query") {
3098
- query = expect(rest, ++i, "--query");
3111
+ query = expect(rest, ++i2, "--query");
3099
3112
  continue;
3100
3113
  }
3101
3114
  if (arg === "--header") {
3102
- const kv = expect(rest, ++i, "--header");
3115
+ const kv = expect(rest, ++i2, "--header");
3103
3116
  const eq = kv.indexOf("=");
3104
3117
  if (eq <= 0)
3105
3118
  return { ok: false, reason: "--header must be in the form KEY=VALUE" };
@@ -3107,11 +3120,11 @@ function parseProxyFlags(rest) {
3107
3120
  continue;
3108
3121
  }
3109
3122
  if (arg === "--data") {
3110
- dataSpec = expect(rest, ++i, "--data");
3123
+ dataSpec = expect(rest, ++i2, "--data");
3111
3124
  continue;
3112
3125
  }
3113
3126
  if (arg === "--response-mode") {
3114
- responseMode = expect(rest, ++i, "--response-mode");
3127
+ responseMode = expect(rest, ++i2, "--response-mode");
3115
3128
  continue;
3116
3129
  }
3117
3130
  if (arg.startsWith("--")) {
@@ -3439,6 +3452,13 @@ async function runRunCmd(io2, argv) {
3439
3452
  return USAGE_ERR;
3440
3453
  }
3441
3454
  rest = idempotency.remaining;
3455
+ const webhookFlag = takeFlagValue(rest, "--webhook");
3456
+ if (webhookFlag.error) {
3457
+ io2.stderr(`${webhookFlag.error}
3458
+ `);
3459
+ return USAGE_ERR;
3460
+ }
3461
+ rest = webhookFlag.remaining;
3442
3462
  const runtimeSizeFlag = takeFlagValue(rest, "--runtime-size");
3443
3463
  if (runtimeSizeFlag.error) {
3444
3464
  io2.stderr(`${runtimeSizeFlag.error}
@@ -3660,7 +3680,7 @@ async function runRunCmd(io2, argv) {
3660
3680
  let proxyEndpoints = runConfig.proxyEndpoints ?? [];
3661
3681
  if (proxyEndpointFlags.values.length > 0) {
3662
3682
  try {
3663
- proxyEndpoints = proxyEndpointFlags.values.map((raw, i) => parseJsonOrThrow(raw, `--proxy-endpoint[${i}]`));
3683
+ proxyEndpoints = proxyEndpointFlags.values.map((raw, i2) => parseJsonOrThrow(raw, `--proxy-endpoint[${i2}]`));
3664
3684
  } catch (err2) {
3665
3685
  io2.stderr(`${err2.message}
3666
3686
  `);
@@ -3715,6 +3735,7 @@ async function runRunCmd(io2, argv) {
3715
3735
  ...runtimeSizeFlag.value ? { runtimeSize: runtimeSizeFlag.value } : runConfig.runtimeSize ? { runtimeSize: runConfig.runtimeSize } : {},
3716
3736
  ...runTimeoutFlag.value ? { timeout: runTimeoutFlag.value } : runConfig.timeout ? { timeout: runConfig.timeout } : {},
3717
3737
  ...runConfig.postHook ? { postHook: runConfig.postHook } : {},
3738
+ ...webhookFlag.value ? { webhook: { url: webhookFlag.value } } : {},
3718
3739
  ...proxyEndpoints.length > 0 ? { proxyEndpoints } : {}
3719
3740
  };
3720
3741
  const http = makeHttpClient(io2, common.flags);
@@ -3734,8 +3755,8 @@ async function runRunCmd(io2, argv) {
3734
3755
  await sleep(2e3);
3735
3756
  try {
3736
3757
  const events = await operations_exports.listRunEvents(http, run.id);
3737
- for (let i = emittedEventCount; i < events.length; i++) {
3738
- io2.stdout(JSON.stringify(events[i]) + "\n");
3758
+ for (let i2 = emittedEventCount; i2 < events.length; i2++) {
3759
+ io2.stdout(JSON.stringify(events[i2]) + "\n");
3739
3760
  }
3740
3761
  emittedEventCount = events.length;
3741
3762
  } catch (err2) {
@@ -3814,16 +3835,16 @@ function stripMcpHeadersForParsing(input) {
3814
3835
  if (!Array.isArray(record.mcpServers)) {
3815
3836
  return { normalised: input, mcpHeaders };
3816
3837
  }
3817
- const stripped = record.mcpServers.map((entry, i) => {
3838
+ const stripped = record.mcpServers.map((entry, i2) => {
3818
3839
  if (!entry || typeof entry !== "object")
3819
3840
  return entry;
3820
3841
  const r = entry;
3821
3842
  if (r.headers && typeof r.headers === "object" && !Array.isArray(r.headers)) {
3822
- const name = typeof r.name === "string" ? r.name : `__index_${i}__`;
3843
+ const name = typeof r.name === "string" ? r.name : `__index_${i2}__`;
3823
3844
  const headerObj = {};
3824
3845
  for (const [k, v] of Object.entries(r.headers)) {
3825
3846
  if (typeof v !== "string") {
3826
- throw new Error(`mcpServers[${i}].headers["${k}"] must be a string`);
3847
+ throw new Error(`mcpServers[${i2}].headers["${k}"] must be a string`);
3827
3848
  }
3828
3849
  headerObj[k] = v;
3829
3850
  }
@@ -3956,7 +3977,7 @@ async function runSkillsUpload(io2, argv) {
3956
3977
  async function sha256Hex(bytes) {
3957
3978
  const subtle = globalThis.crypto?.subtle;
3958
3979
  if (!subtle)
3959
- throw new Error("aex skills upload: globalThis.crypto.subtle is required (Node 18+)");
3980
+ throw new Error("aex skills upload: globalThis.crypto.subtle is required (Bun or Node 18+)");
3960
3981
  const copy = new Uint8Array(bytes.byteLength);
3961
3982
  copy.set(bytes);
3962
3983
  const digest = await subtle.digest("SHA-256", copy.buffer);
@@ -4172,6 +4193,32 @@ async function runStatusCmd(io2, argv) {
4172
4193
  }
4173
4194
  }
4174
4195
 
4196
+ // dist/host/deliveries.js
4197
+ async function runDeliveriesCmd(io2, argv) {
4198
+ if (await refuseInsideManagedRun(io2, "deliveries"))
4199
+ return USAGE_ERR;
4200
+ const common = parseCommonHostFlags(argv);
4201
+ if (!common.ok) {
4202
+ io2.stderr(`${common.reason}
4203
+ `);
4204
+ return USAGE_ERR;
4205
+ }
4206
+ const positional = common.rest.filter((arg) => !arg.startsWith("--"));
4207
+ if (positional.length !== 1) {
4208
+ io2.stderr("usage: aex deliveries <run-id> [common flags]\n");
4209
+ return USAGE_ERR;
4210
+ }
4211
+ const runId = positional[0];
4212
+ const http = makeHttpClient(io2, common.flags);
4213
+ try {
4214
+ const deliveries = await operations_exports.getRunWebhookDeliveries(http, runId);
4215
+ io2.stdout(JSON.stringify(deliveries) + "\n");
4216
+ return SUCCESS;
4217
+ } catch (err2) {
4218
+ return emitJsonError(io2, "deliveries_failed", err2.message ?? "deliveries fetch failed", { runId });
4219
+ }
4220
+ }
4221
+
4175
4222
  // dist/host/wait.js
4176
4223
  var TERMINAL_STATUSES2 = new Set(TERMINAL_RUN_STATUSES);
4177
4224
  var DEFAULT_INTERVAL_MS = 2e3;
@@ -4549,6 +4596,8 @@ async function dispatch(io2, args) {
4549
4596
  return runSkillsCmd(io2, rest);
4550
4597
  case "status":
4551
4598
  return runStatusCmd(io2, rest);
4599
+ case "deliveries":
4600
+ return runDeliveriesCmd(io2, rest);
4552
4601
  case "wait":
4553
4602
  return runWaitCmd(io2, rest);
4554
4603
  case "events":
@@ -4606,6 +4655,7 @@ Protocol version: ${manifest.protocolVersion}
4606
4655
  io2.stdout(" aex skills get <skill-id> --api-token T\n");
4607
4656
  io2.stdout(" aex skills delete <skill-id> --api-token T\n");
4608
4657
  io2.stdout(" aex status <run-id> --api-token T\n");
4658
+ io2.stdout(" aex deliveries <run-id> --api-token T\n");
4609
4659
  io2.stdout(" aex wait <run-id> [--timeout 8m] [--interval 2s] --api-token T\n");
4610
4660
  io2.stdout(" aex events <run-id> [--follow] [--timeout 8m] --api-token T\n");
4611
4661
  io2.stdout(" aex outputs <run-id> --api-token T\n");
@@ -4641,6 +4691,7 @@ Protocol version: ${manifest.protocolVersion}
4641
4691
  io2.stdout(" --runtime-size <size> managed runtime preset\n");
4642
4692
  io2.stdout(" --run-timeout <dur> Server-side run deadline (e.g. 1h); distinct from --timeout\n");
4643
4693
  io2.stdout(" --idempotency-key <key> Optional; defaults to a fresh UUID\n");
4694
+ io2.stdout(" --webhook <url> Optional per-run callback URL (https); receives the terminal run.finished event\n");
4644
4695
  io2.stdout(" --follow Poll events to stdout until the run terminates\n");
4645
4696
  io2.stdout(" --timeout <dur> With --follow: give up after this long (e.g. 8m, 30s, 500ms); exit code 3\n");
4646
4697
  return SUCCESS;