eve-hub 0.16.60 → 0.16.63

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.
@@ -127311,14 +127311,14 @@ async function makeRequest({ endpoint, options = {}, config: config8 = {}, schem
127311
127311
  break;
127312
127312
  } catch (error303) {
127313
127313
  if (canRetryRead && attempt < MAX_BODY_PARSE_RETRIES) {
127314
- const backoffMs = BODY_PARSE_RETRY_BASE_MS * 2 ** attempt;
127314
+ const backoffMs2 = BODY_PARSE_RETRY_BASE_MS * 2 ** attempt;
127315
127315
  span?.setAttributes({
127316
127316
  ...ErrorType("PARSE_ERROR_RETRYING")
127317
127317
  });
127318
127318
  if (HTTP_DEBUG_ENABLED) {
127319
- console.debug(`[workflow:world-vercel:http] ${method} ${endpoint} body parse failed (attempt ${attempt + 1}/${MAX_BODY_PARSE_RETRIES + 1}); retrying in ${backoffMs}ms: ${error303}`);
127319
+ console.debug(`[workflow:world-vercel:http] ${method} ${endpoint} body parse failed (attempt ${attempt + 1}/${MAX_BODY_PARSE_RETRIES + 1}); retrying in ${backoffMs2}ms: ${error303}`);
127320
127320
  }
127321
- await new Promise((resolve5) => setTimeout(resolve5, backoffMs));
127321
+ await new Promise((resolve5) => setTimeout(resolve5, backoffMs2));
127322
127322
  continue;
127323
127323
  }
127324
127324
  const contentType = response.headers.get("Content-Type") || "unknown";
@@ -177465,6 +177465,7 @@ var WRITER_LOCK = 448645980023;
177465
177465
  var CHANGES = /* @__PURE__ */ new Set(["INSERT", "UPDATE", "DELETE", "MERGE"]);
177466
177466
  var CONNECTION = /* @__PURE__ */ new Set(["ECONNRESET", "ECONNREFUSED", "ETIMEDOUT", "EAI_AGAIN", "EPIPE"]);
177467
177467
  var DROPPED = /^(Connection terminated|timeout exceeded when trying to connect)/;
177468
+ var GATEWAY = /gateway is unavailable/i;
177468
177469
  var INT8 = 20;
177469
177470
  var NUMERIC = 1700;
177470
177471
  var BYTEA = 17;
@@ -177479,9 +177480,13 @@ var types2 = {
177479
177480
  };
177480
177481
  var isPgError = (error303) => error303 instanceof esm_default.DatabaseError;
177481
177482
  var pgTransient = (error303) => {
177483
+ const e2 = error303, message2 = String(e2?.message ?? "");
177484
+ if (GATEWAY.test(message2)) return true;
177482
177485
  if (isPgError(error303)) return Boolean(error303.code && (error303.code.startsWith("08") || /^57P0[1-3]$/.test(error303.code)));
177483
- const e2 = error303;
177484
- return CONNECTION.has(String(e2?.code)) || DROPPED.test(String(e2?.message ?? ""));
177486
+ return CONNECTION.has(String(e2?.code)) || DROPPED.test(message2);
177487
+ };
177488
+ var backoffMs = (tried, firstMs, maxMs) => Math.min(maxMs, firstMs * 2 ** tried) * (0.5 + Math.random());
177489
+ var Unopened = class extends Error {
177485
177490
  };
177486
177491
  var rowOf = (names3, values) => {
177487
177492
  const row = {};
@@ -177503,14 +177508,58 @@ var run = async (client, st) => {
177503
177508
  return result;
177504
177509
  };
177505
177510
  var VERCEL_SQL = "vercel-sql:";
177506
- var POOL_MAX = 2;
177511
+ var clientFor = (url6) => {
177512
+ if (url6 === VERCEL_SQL) return esm_default.Client;
177513
+ const own9 = new URL(url6).searchParams.get("options") ?? void 0;
177514
+ return class extends esm_default.Client {
177515
+ constructor(config8) {
177516
+ super(config8);
177517
+ this.connectionParameters.options = own9;
177518
+ }
177519
+ };
177520
+ };
177521
+ var envInt = (env2, name, fallback2, min, max) => {
177522
+ const raw = env2[name]?.trim();
177523
+ if (!raw) return fallback2;
177524
+ const n2 = Number(raw);
177525
+ if (/^\d+$/.test(raw) && n2 >= min && n2 <= max) return n2;
177526
+ console.error(JSON.stringify({ event: "hub.db_env_invalid", name, value: raw, using: fallback2 }));
177527
+ return fallback2;
177528
+ };
177529
+ var IDLE_MS_DEFAULT = 1e4;
177530
+ var idleMs = (env2 = process.env) => envInt(env2, "HUB_DB_IDLE_MS", IDLE_MS_DEFAULT, 1e3, 2147483647);
177531
+ var POOL_MAX_DEFAULT = 2;
177532
+ var poolMax = (env2 = process.env) => envInt(env2, "HUB_DB_POOL_MAX", POOL_MAX_DEFAULT, 1, 10);
177533
+ var loginTransient = (error303) => pgTransient(error303) || isPgError(error303) && error303.code === "53300";
177534
+ var RELOGIN_FIRST_MS = 50;
177535
+ var RELOGIN_MAX_MS = 1e3;
177507
177536
  function pgDriver(url6, running3, scriptMs) {
177508
- const pool = new esm_default.Pool({ ...url6 === VERCEL_SQL ? { password: import_oidc.getVercelOidcToken } : { connectionString: url6 }, max: POOL_MAX, types: types2 });
177537
+ const max = poolMax();
177538
+ const pool = new esm_default.Pool({
177539
+ ...url6 === VERCEL_SQL ? { password: import_oidc.getVercelOidcToken } : { connectionString: url6 },
177540
+ Client: clientFor(url6),
177541
+ max,
177542
+ types: types2,
177543
+ idleTimeoutMillis: idleMs(),
177544
+ keepAlive: true,
177545
+ keepAliveInitialDelayMillis: 3e4
177546
+ });
177509
177547
  pool.on("error", (error303) => console.error(JSON.stringify({ event: "hub.db_pool_error", message: error303.message })));
177510
177548
  let closed = false;
177511
- const connect2 = () => pool.connect().catch((error303) => isPgError(error303) && error303.code === "08006" ? pool.connect() : Promise.reject(error303));
177549
+ const connectRetrying = async (untilMs, isCut) => {
177550
+ for (let tried = 0; ; tried++) {
177551
+ try {
177552
+ return await pool.connect();
177553
+ } catch (error303) {
177554
+ const waitMs = backoffMs(tried, RELOGIN_FIRST_MS, RELOGIN_MAX_MS);
177555
+ if (isCut() || !loginTransient(error303) || Date.now() + waitMs >= untilMs) throw error303;
177556
+ console.error(JSON.stringify({ event: "hub.db_login_retry", tried: tried + 1, code: error303.code, message: error303.message }));
177557
+ await new Promise((r2) => setTimeout(r2, waitMs));
177558
+ }
177559
+ }
177560
+ };
177512
177561
  const within = async (work) => {
177513
- const deadlineMs = running3.getStore()?.deadlineMs ?? scriptMs;
177562
+ const deadlineMs = running3.getStore()?.deadlineMs ?? scriptMs, untilMs = Date.now() + deadlineMs;
177514
177563
  let timer, cutOff = false;
177515
177564
  const cut = new Promise((_, reject) => {
177516
177565
  timer = setTimeout(() => {
@@ -177518,40 +177567,48 @@ function pgDriver(url6, running3, scriptMs) {
177518
177567
  reject(new DbTimeout(deadlineMs));
177519
177568
  }, deadlineMs);
177520
177569
  });
177521
- const connecting = connect2();
177522
- let client;
177523
177570
  try {
177524
- client = await Promise.race([connecting, cut]);
177525
- } catch (error303) {
177526
- clearTimeout(timer);
177527
- connecting.then((c2) => c2.release(true), () => {
177528
- });
177529
- throw error303;
177530
- }
177531
- let broken = false;
177532
- const dropped2 = () => {
177533
- broken = true;
177534
- };
177535
- client.on("error", dropped2);
177536
- try {
177537
- return await Promise.race([work(client, deadlineMs), cut]);
177538
- } catch (error303) {
177539
- broken = broken || cutOff || !isPgError(error303);
177540
- throw error303;
177571
+ for (let reopened = 0; ; reopened++) {
177572
+ const connecting = connectRetrying(untilMs, () => cutOff);
177573
+ let client;
177574
+ try {
177575
+ client = await Promise.race([connecting, cut]);
177576
+ } catch (error303) {
177577
+ connecting.then((c2) => c2.release(), () => {
177578
+ });
177579
+ throw error303;
177580
+ }
177581
+ let broken = false;
177582
+ const dropped2 = () => {
177583
+ broken = true;
177584
+ };
177585
+ client.on("error", dropped2);
177586
+ try {
177587
+ return await Promise.race([work(client, deadlineMs), cut]);
177588
+ } catch (error303) {
177589
+ broken = broken || cutOff || !isPgError(error303);
177590
+ if (error303 instanceof Unopened && !cutOff && reopened < max) continue;
177591
+ throw error303 instanceof Unopened ? error303.cause : error303;
177592
+ } finally {
177593
+ client.off("error", dropped2);
177594
+ client.release(broken);
177595
+ }
177596
+ }
177541
177597
  } finally {
177542
177598
  clearTimeout(timer);
177543
- client.off("error", dropped2);
177544
- client.release(broken);
177545
177599
  }
177546
177600
  };
177547
177601
  const transaction = (begin, stmts) => within(async (client, deadlineMs) => {
177602
+ let opened = false;
177548
177603
  try {
177549
177604
  await client.query(begin(deadlineMs));
177605
+ opened = true;
177550
177606
  const results = [];
177551
177607
  for (const st of stmts) results.push(await run(client, st));
177552
177608
  await client.query("COMMIT");
177553
177609
  return results;
177554
177610
  } catch (error303) {
177611
+ if (!opened && pgTransient(error303)) throw new Unopened("the connection dropped before the transaction opened", { cause: error303 });
177555
177612
  await client.query("ROLLBACK").catch((rollback) => {
177556
177613
  throw new Error("ROLLBACK failed", { cause: [error303, rollback] });
177557
177614
  });
@@ -204500,8 +204557,8 @@ async function commit(db, writes2) {
204500
204557
  }
204501
204558
 
204502
204559
  // src/onboard/template-files.ts
204503
- var templateFiles = { ".github/workflows/eve-hub-update.yml": "bmFtZTogZXZlLWh1YiB1cGRhdGUKb246CiAgcmVwb3NpdG9yeV9kaXNwYXRjaDoKICAgIHR5cGVzOiBbZXZlLWh1Yi1yZWxlYXNlXQogIHdvcmtmbG93X2Rpc3BhdGNoOgogIHNjaGVkdWxlOgogICAgLSBjcm9uOiAnMTcgNiAqICogKicKY29uY3VycmVuY3k6CiAgZ3JvdXA6IGV2ZS1odWItdXBkYXRlCiAgY2FuY2VsLWluLXByb2dyZXNzOiBmYWxzZQpwZXJtaXNzaW9uczoKICBjb250ZW50czogd3JpdGUKam9iczoKICB1cGRhdGU6CiAgICBydW5zLW9uOiB1YnVudHUtbGF0ZXN0CiAgICBlbnY6CiAgICAgIEdIX1RPS0VOOiAke3sgZ2l0aHViLnRva2VuIH19CiAgICAgIFBBWUxPQURfVkVSU0lPTjogJHt7IGdpdGh1Yi5ldmVudC5jbGllbnRfcGF5bG9hZC52ZXJzaW9uIH19CiAgICBzdGVwczoKICAgICAgLSB1c2VzOiBhY3Rpb25zL2NoZWNrb3V0QHY0CiAgICAgIC0gbmFtZTogUmVzb2x2ZSB0aGUgcmVsZWFzZQogICAgICAgIGlkOiByZWxlYXNlCiAgICAgICAgcnVuOiB8CiAgICAgICAgICBWRVJTSU9OPSIke1BBWUxPQURfVkVSU0lPTjotJChjdXJsIC1mc1NMIGh0dHBzOi8vZnFsM3IzbGpza2o3cnpjZC5wdWJsaWMuYmxvYi52ZXJjZWwtc3RvcmFnZS5jb20vZXZlLWh1Yi9sYXRlc3QuanNvbiB8IGpxIC1yIC52ZXJzaW9uKX0iCiAgICAgICAgICBpZiAhIFtbICIkVkVSU0lPTiIgPX4gXlswLTldK1wuWzAtOV0rXC5bMC05XSskIF1dOyB0aGVuIGVjaG8gIm5vdCBhIHZlcnNpb246ICRWRVJTSU9OIjsgZXhpdCAxOyBmaQogICAgICAgICAgVEFSQkFMTD0iaHR0cHM6Ly9mcWwzcjNsanNrajdyemNkLnB1YmxpYy5ibG9iLnZlcmNlbC1zdG9yYWdlLmNvbS9ldmUtaHViL2V2ZS1odWItJFZFUlNJT04udGd6IgogICAgICAgICAgZWNobyAidmVyc2lvbj0kVkVSU0lPTiIgPj4gIiRHSVRIVUJfT1VUUFVUIgogICAgICAgICAgZWNobyAidGFyYmFsbD0kVEFSQkFMTCIgPj4gIiRHSVRIVUJfT1VUUFVUIgogICAgICAgICAgaWYgWyAiJChqcSAtciAnLmRlcGVuZGVuY2llc1siZXZlLWh1YiJdIC8vICIiJyBwYWNrYWdlLmpzb24pIiA9ICIkVEFSQkFMTCIgXTsgdGhlbiBlY2hvICJhbHJlYWR5IG9uIGV2ZS1odWIgJFZFUlNJT04iOyBlY2hvICJza2lwPXRydWUiID4+ICIkR0lUSFVCX09VVFBVVCI7IGZpCiAgICAgIC0gaWY6IHN0ZXBzLnJlbGVhc2Uub3V0cHV0cy5za2lwICE9ICd0cnVlJwogICAgICAgIHVzZXM6IGFjdGlvbnMvc2V0dXAtbm9kZUB2NAogICAgICAgIHdpdGg6CiAgICAgICAgICBub2RlLXZlcnNpb246IDI0CiAgICAgIC0gaWY6IHN0ZXBzLnJlbGVhc2Uub3V0cHV0cy5za2lwICE9ICd0cnVlJwogICAgICAgIG5hbWU6IFVwZGF0ZSBhbmQgY29tbWl0CiAgICAgICAgZW52OgogICAgICAgICAgVEFSQkFMTDogJHt7IHN0ZXBzLnJlbGVhc2Uub3V0cHV0cy50YXJiYWxsIH19CiAgICAgICAgcnVuOiB8CiAgICAgICAgICBucHggLS15ZXMgIiRUQVJCQUxMIiB1cGRhdGUgLS1zdW1tYXJ5ICIkR0lUSFVCX1NURVBfU1VNTUFSWSIgLS1jb21taXQgIiRSVU5ORVJfVEVNUC9jb21taXQuanNvbiIgLS1yZXBvICIkR0lUSFVCX1JFUE9TSVRPUlkiCiAgICAgICAgICBpZiBbIC16ICIkKGdpdCBzdGF0dXMgLS1wb3JjZWxhaW4pIiBdOyB0aGVuIGVjaG8gIm5vdGhpbmcgdG8gY2hhbmdlIjsgZXhpdCAwOyBmaQogICAgICAgICAgZ2ggYXBpIGdyYXBocWwgLS1pbnB1dCAiJFJVTk5FUl9URU1QL2NvbW1pdC5qc29uIiAtLWpxIC5kYXRhLmNyZWF0ZUNvbW1pdE9uQnJhbmNoLmNvbW1pdC51cmwK", ".gitignore": "bm9kZV9tb2R1bGVzCi52ZXJjZWwvCi5lbnYqLmxvY2FsCg==", ".vercelignore": "bm9kZV9tb2R1bGVzCi5ldmUKLmVudioK", "agents/chief/agent/agent.ts": "aW1wb3J0IHsgZGVmaW5lQWdlbnQgfSBmcm9tICJldmUiOwppbXBvcnQgeyBtb2NrTW9kZWwgfSBmcm9tICJldmUvZXZhbHMiOwppbXBvcnQgeyBiaW5kUm9zdGVyIH0gZnJvbSAiZXZlLWh1Yi9yb3N0ZXItbW9kZWwiOwppbXBvcnQgd29ya3NwYWNlIGZyb20gIi4uLy4uLy4uL2h1Yi53b3Jrc3BhY2UuanNvbiIgd2l0aCB7IHR5cGU6ICJqc29uIiB9OwppbXBvcnQgeyBjb29yZGluYXRvck9mIH0gZnJvbSAiZXZlLWh1Yi93b3Jrc3BhY2UiOwoKLy8gTW9kZWwgZnJvbSBodWIud29ya3NwYWNlLmpzb24sIGltcG9ydGVkIHNvIHRoZSBidW5kbGUgY2FycmllcyBpdCAoYSBkZXBsb3llZAovLyBib3QgaGFzIG5vIHdvcmtzcGFjZSBvbiBkaXNrOyBldmUtaHViL3Jvc3Rlci1tb2RlbCk7IFJPU1RFUl9NT0RFTFM9bW9jawovLyBydW5zIGEgc2NyaXB0ZWQgbW9jayB0aGF0IGZvbGxvd3MgdGhlIHNhbWUgd29ya3NwYWNlIHByb3RvY29sLCBzbyB0aGUgZTJlCi8vIGxvb3AgcnVucyBvZmZsaW5lLgpjb25zdCBodW1hbiA9IHByb2Nlc3MuZW52LlJPU1RFUl9IVU1BTiA/PyAibWUiOwpjb25zdCB7IHJvc3RlckxpbWl0cywgcm9zdGVyTW9kZWwgfSA9IGJpbmRSb3N0ZXIod29ya3NwYWNlKTsKY29uc3QgY29vcmRpbmF0b3IgPSBjb29yZGluYXRvck9mKHdvcmtzcGFjZS5hZ2VudHMpOwoKZXhwb3J0IGRlZmF1bHQgZGVmaW5lQWdlbnQoewogIGRlc2NyaXB0aW9uOiAiQ2hpZWYgb2Ygc3RhZmYuIFNjb3BlcyB3b3JrLCByb3V0ZXMgaXQgdG8gdGhlIHJpZ2h0IGJvdCwgY2xlYXJzIGJsb2NrZXJzIGFuZCBkcml2ZXMgZXZlcnkgdGhyZWFkIHRvIGRvbmUuIiwKICBsaW1pdHM6IHJvc3RlckxpbWl0cyhjb29yZGluYXRvciksCiAgbW9kZWw6IHJvc3Rlck1vZGVsKGNvb3JkaW5hdG9yLCB7IG1vY2s6IG1vY2tNb2RlbCgoeyBsYXN0VXNlck1lc3NhZ2UsIHRvb2xSZXN1bHRzIH0pID0+IHsKICAgICAgICAvLyBBIGRhc2ggdGljayAoc2NoLW1haW4tZGFzaCk6IG9uZSBkYXNoX3VwZGF0ZSwgdGhlbiBhIG9uZS1saW5lIG5vdGUuCiAgICAgICAgLy8gVGhlIGVudHJ5IGlzIHRoZSBmaXJzdCB0aHJlYWQgdGhlIHRpY2sgbGlua3MuCiAgICAgICAgaWYgKChsYXN0VXNlck1lc3NhZ2UgPz8gIiIpLmluY2x1ZGVzKGBAJHtjb29yZGluYXRvcn0gZGFzaDpgKSB8fCB0b29sUmVzdWx0cy5zb21lKChyKSA9PiByLm5hbWUgPT09ICJkYXNoX3VwZGF0ZSIpKSB7CiAgICAgICAgICBjb25zdCB1cGRhdGVzID0gdG9vbFJlc3VsdHMuZmlsdGVyKChyKSA9PiByLm5hbWUgPT09ICJkYXNoX3VwZGF0ZSIpOwogICAgICAgICAgaWYgKHVwZGF0ZXMubGVuZ3RoKSB7CiAgICAgICAgICAgIGNvbnN0IG91dCA9IHVwZGF0ZXNbMF0ub3V0cHV0IGFzIHsgbmVlZHNZb3U/OiBudW1iZXIgfTsKICAgICAgICAgICAgcmV0dXJuIGBkYXNoOiAke3VwZGF0ZXMubGVuZ3RofSB1cGRhdGUsICR7b3V0Lm5lZWRzWW91ID8/IDB9IGJsb2NraW5nYDsKICAgICAgICAgIH0KICAgICAgICAgIGNvbnN0IHRocmVhZElkID0gKGxhc3RVc2VyTWVzc2FnZSA/PyAiIikuc3BsaXQoYEAke2Nvb3JkaW5hdG9yfSBkYXNoOmApWzFdPy5tYXRjaCgvXF1cKCgoPzp0aHJ8ZG0pW1x3LV0qKVwpLyk/LlsxXTsKICAgICAgICAgIHJldHVybiB7IHRvb2xDYWxsczogW3sgbmFtZTogImRhc2hfdXBkYXRlIiwgaW5wdXQ6IHsgZW50cmllczogdGhyZWFkSWQgPyBbeyB0aHJlYWRJZCwgaW1wb3J0YW5jZTogIm5vcm1hbCIsIGxhbmU6ICJuZWVkcy15b3UiLCByZWFzb246ICJhIGJvdCBhc2tzIHlvdSIgfV0gOiBbXSB9IH1dIH07CiAgICAgICAgfQogICAgICAgIGNvbnN0IGNyZWF0ZWQgPSB0b29sUmVzdWx0cy5maW5kKChyKSA9PiByLm5hbWUgPT09ICJjcmVhdGVfdGhyZWFkIik7CiAgICAgICAgaWYgKGNyZWF0ZWQpIHsKICAgICAgICAgIGNvbnN0IHsgdGl0bGUgfSA9IGNyZWF0ZWQub3V0cHV0IGFzIHsgdGl0bGU6IHN0cmluZyB9OwogICAgICAgICAgcmV0dXJuIGBvbiBpdC4gb3BlbmVkICIke3RpdGxlfSIgYW5kIHB1bGxlZCBhcmNoZXIgaW4gdG8gbWFwIGl0IG91dC4gaSdsbCBoYW5nIGhlcmUgaWYgeW91IHdhbnQgdG8gc3RlZXIuYDsKICAgICAgICB9CiAgICAgICAgaWYgKC9oaWxsLT9jbGltYnx3b3JrIG9uL2kudGVzdChsYXN0VXNlck1lc3NhZ2UgPz8gIiIpKSB7CiAgICAgICAgICByZXR1cm4gewogICAgICAgICAgICB0b29sQ2FsbHM6IFsKICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBuYW1lOiAiY3JlYXRlX3RocmVhZCIsCiAgICAgICAgICAgICAgICBpbnB1dDogewogICAgICAgICAgICAgICAgICB0aXRsZTogIkRlZXBTV0UgaGlsbC1jbGltYiIsCiAgICAgICAgICAgICAgICAgIG1lc3NhZ2U6CiAgICAgICAgICAgICAgICAgICAgYGhleSBAYXJjaGVyLCB3ZSBuZWVkIHRvIG1hcCB0aGlzIG91dDogaGlsbC1jbGltYiBldmUtY29kZSBvbiBEZWVwU1dFLiBza2V0Y2ggdGhlIGRldGFpbHMgZm9yIFggKGJhc2VsaW5lICsgZmFpbHVyZSB0YXhvbm9teSksIFkgKGhhcm5lc3Mga25vYnMgd29ydGggdHVybmluZykgYW5kIFogKHRoZSBldmFsIGxvb3ApLCB0aGVuIGhhbmQgaXQgdG8gd2hvZXZlciBzaG91bGQgYnVpbGQgaXQuIG9uY2UgaXQncyBkb25lIHdlIHZhbGlkYXRlIHdpdGggQCR7aHVtYW59LmAsCiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgIH0sCiAgICAgICAgICAgIF0sCiAgICAgICAgICB9OwogICAgICAgIH0KICAgICAgICByZXR1cm4gImhleS4gd2hhdCBhcmUgd2Ugd29ya2luZyBvbiB0b2RheT8iOwogICAgICB9KSB9KSwKfSk7Cg==", "agents/chief/agent/channels/eve.ts": "Ly8gUXVldWVkIGV2ZSBjaGFubmVsIHRoYXQgcmVzb2x2ZXMgdGhlIHJlZ2lzdHJ5J3MgaHVtYW4gYXMgYSB1c2VyLiBGcm9tIGV2ZS1odWIgKHBhY2thZ2VzL2FnZW50LWtpdC9jaGFubmVscy9ldmUtcm9zdGVyLXVzZXIudHMpLgpleHBvcnQgeyBkZWZhdWx0IH0gZnJvbSAiZXZlLWh1Yi9jaGFubmVscy9ldmUtcm9zdGVyLXVzZXIiOwo=", "agents/chief/agent/instructions.ts": "Ly8gbWFpbidzIGluc3RydWN0aW9ucywgZnJvbSBwYWNrYWdlcy9hZ2VudC1raXQvdGVtcGxhdGVzIChtYWluLWluc3RydWN0aW9ucy5tZCArIHRoZSBzaGFyZWQgc2VjdGlvbnMpLAovLyB0aHJvdWdoIGV2ZS1odWIgKHBhY2thZ2VzL2FnZW50LWtpdC9pbnN0cnVjdGlvbnMvbWFpbi50cykuIERvbid0IGNvcHkgdGhlbSBoZXJlOgovLyB3b3Jrc3BhY2Utb25seSBhZGRpdGlvbnMgZ28gaW4gcm9sZS8qLm1kIG5leHQgdG8gdGhpcyBmaWxlLCBpbnNpZGUgPHJvbGU+LgpleHBvcnQgeyBkZWZhdWx0IH0gZnJvbSAiZXZlLWh1Yi9pbnN0cnVjdGlvbnMvbWFpbiI7Cg==", "agents/chief/agent/memory/team.ts": "Ly8gVGhlIHRlYW0gbW9kZWwgKHJvc3RlciwgdG9vbHMsIGhhbmRvZmZzKSBmcm9tIHRoZSBodWIsIHJlY2FsbGVkIGV2ZXJ5IHR1cm4uIEZyb20gZXZlLWh1YgovLyAocGFja2FnZXMvYWdlbnQta2l0L21lbW9yeS90ZWFtLnRzKTsgYWRkIG9yIHN1cGVyc2VkZSBlbnRyaWVzIHRoZXJlLCBub3QgaGVyZS4KZXhwb3J0IHsgZGVmYXVsdCB9IGZyb20gImV2ZS1odWIvbWVtb3J5L3RlYW0iOwo=", "agents/chief/agent/sandbox.ts": "aW1wb3J0IHsgZGVmaW5lU2FuZGJveCB9IGZyb20gImV2ZS9zYW5kYm94IjsKaW1wb3J0IHsgVmVyY2VsU2FuZGJveCB9IGZyb20gImV2ZS9zYW5kYm94L3ZlcmNlbCI7CmltcG9ydCB7IGluc3RhbGxDb2RlVG9vbGluZyB9IGZyb20gImV2ZS9leHRlbnNpb25zL2NvZGUvc2FuZGJveCI7CgovLyBBIFZlcmNlbCBTYW5kYm94LCBvcGVuZWQgd2l0aCB0aGUgcHJvamVjdCdzIE9JREMgdG9rZW4uIEdpdEh1YiBjcmVkZW50aWFscyBjb21lIHBlciBjb21tYW5kCi8vIGZyb20gZXh0ZW5zaW9ucy9naXQudHMsIGF0IHRoZSBzYW5kYm94IGZpcmV3YWxsOyB0aGUgc2FuZGJveCBpdHNlbGYgaG9sZHMgbm9uZS4KZXhwb3J0IGNvbnN0IGVudmlyb25tZW50ID0gVmVyY2VsU2FuZGJveC5lbnZpcm9ubWVudCh7IHByZXBhcmU6IChzYW5kYm94KSA9PiBpbnN0YWxsQ29kZVRvb2xpbmcoc2FuZGJveCkgfSk7CmV4cG9ydCBkZWZhdWx0IGRlZmluZVNhbmRib3goKCkgPT4gZW52aXJvbm1lbnQub3BlbigpKTsK", "agents/chief/agent/schedules/tracker-prs.ts": "Ly8gRXZlcnkgMTAgbWludXRlczogdHJhY2tlciByb3dzIGxpbmtlZCB0byBhIEdpdEh1YiBQUiBvciBpc3N1ZSBtb3ZlIHRvIERvbmUgd2hlbiBpdCBtZXJnZWQgYW5kIHRvIERyb3BwZWQgd2hlbiBpdCBjbG9zZWQuIEZyb20gZXZlLWh1YiAocGFja2FnZXMvYWdlbnQta2l0L3NjaGVkdWxlcy90cmFja2VyLXBycy50cykuCmV4cG9ydCB7IGRlZmF1bHQgfSBmcm9tICJldmUtaHViL3NjaGVkdWxlcy90cmFja2VyLXBycyI7Cg==", "agents/chief/agent/schedules/workspace-review.ts": "Ly8gTW9uZGF5cyAwODowMCBVVEM6IGFza3MgbWFpbiB0byBzY29yZSB0aGUgd2VlayBhbmQgb3BlbiBkcmFmdCBQUnMgZm9yIHRoZSBodW1hbidzIHByb2ZpbGUgYW5kIG1lbW9yeSBhbmQgZm9yIHRoZSBib3RzIGFuZCBzY2hlZHVsZXMsIHBsdXMgYSBwcm9wb3NhbHMgZG9jIGZvciB0aGUgaHViIGFuZCBraXQuIEZyb20gZXZlLWh1YiAocGFja2FnZXMvYWdlbnQta2l0L3NjaGVkdWxlcy93b3Jrc3BhY2UtcmV2aWV3LnRzKS4KZXhwb3J0IHsgZGVmYXVsdCB9IGZyb20gImV2ZS1odWIvc2NoZWR1bGVzL3dvcmtzcGFjZS1yZXZpZXciOwo=", "agents/chief/agent/skills/brief.ts": "Ly8gVGhlIGJyaWVmIHNraWxsIChwYWNrYWdlcy9hZ2VudC1raXQvYnJpZWYvU0tJTEwubWQpOiBob3cgdG8gd3JpdGUgYSBicmllZiBmb3IgdGhlIGh1bWFuJ3MgeWVzIGFuZCByZWFkIGl0IGNvbGQgYmVmb3JlIHBvc3RpbmcuIEZyb20gZXZlLWh1YiAocGFja2FnZXMvYWdlbnQta2l0L3NraWxscy9icmllZi50cykuCmV4cG9ydCB7IGRlZmF1bHQgfSBmcm9tICJldmUtaHViL3NraWxscy9icmllZiI7Cg==", "agents/chief/agent/skills/fanout.ts": "Ly8gVGhlIGZhbm91dCBza2lsbCAocGFja2FnZXMvYWdlbnQta2l0L2Zhbm91dC9TS0lMTC5tZCk6IHRoZSBjb250cmFjdCBmb3IgaGFuZGluZyB3b3JrIHRvIHRoZSByZWFkZXIsIGVkaXRvciBhbmQgdmVyaWZpZXIgc3ViYWdlbnRzLiBGcm9tIGV2ZS1odWIgKHBhY2thZ2VzL2FnZW50LWtpdC9za2lsbHMvZmFub3V0LnRzKS4KZXhwb3J0IHsgZGVmYXVsdCB9IGZyb20gImV2ZS1odWIvc2tpbGxzL2Zhbm91dCI7Cg==", "agents/chief/agent/skills/forms.ts": "Ly8gVGhlIGZvcm1zIHNraWxsIChwYWNrYWdlcy9hZ2VudC1raXQvZm9ybXMvU0tJTEwubWQpOiBob3cgdG8gZHJhdyBhIGZsb3csIHNlcXVlbmNlLCBjaGFydCBvciBhc2sgdGhlIGFwcCByZW5kZXJzLiBGcm9tIGV2ZS1odWIgKHBhY2thZ2VzL2FnZW50LWtpdC9za2lsbHMvZm9ybXMudHMpLgpleHBvcnQgeyBkZWZhdWx0IH0gZnJvbSAiZXZlLWh1Yi9za2lsbHMvZm9ybXMiOwo=", "agents/chief/agent/skills/onboarding-profile.ts": "Ly8gVGhlIG9uYm9hcmRpbmctcHJvZmlsZSBza2lsbCAocGFja2FnZXMvYWdlbnQta2l0L29uYm9hcmRpbmcvU0tJTEwubWQpOiBhZnRlciBzaWduLWluLCByZWFkcyB0aGUgdXNlcidzIFNsYWNrIGFuZCBHaXRIdWIgYW5kIHBvc3RzIGEgcHJvZmlsZSB3aXRoIHN1Z2dlc3RlZCBzY2hlZHVsZXMuIEZyb20gZXZlLWh1YiAocGFja2FnZXMvYWdlbnQta2l0L3NraWxscy9vbmJvYXJkaW5nLXByb2ZpbGUudHMpLgpleHBvcnQgeyBkZWZhdWx0IH0gZnJvbSAiZXZlLWh1Yi9za2lsbHMvb25ib2FyZGluZy1wcm9maWxlIjsK", "agents/chief/agent/skills/workspace-review.ts": "Ly8gVGhlIHdvcmtzcGFjZS1yZXZpZXcgc2tpbGwgKHBhY2thZ2VzL2FnZW50LWtpdC93b3Jrc3BhY2UtcmV2aWV3L1NLSUxMLm1kKTogdGhlIHN0ZXBzIG1haW4gZm9sbG93cyB3aGVuIGl0cyB3b3Jrc3BhY2UtcmV2aWV3IHNjaGVkdWxlIGZpcmVzLiBGcm9tIGV2ZS1odWIgKHBhY2thZ2VzL2FnZW50LWtpdC9za2lsbHMvd29ya3NwYWNlLXJldmlldy50cykuCmV4cG9ydCB7IGRlZmF1bHQgfSBmcm9tICJldmUtaHViL3NraWxscy93b3Jrc3BhY2UtcmV2aWV3IjsK", "agents/chief/agent/tools/apply_tags.ts": "Ly8gUmV0YWcgdGhyZWFkcywgbWVyZ2Ugb3IgcmVuYW1lIHRhZ3M6IGFwcGxpZXMgYSBzdGFnZWQgcHJvcG9zYWwgb3IgYSBuZXcgYmF0Y2ggZGlyZWN0bHkuIEZyb20gZXZlLWh1YiAocGFja2FnZXMvYWdlbnQta2l0L3Rvb2xzL2FwcGx5X3RhZ3MudHMpLgpleHBvcnQgeyBkZWZhdWx0IH0gZnJvbSAiZXZlLWh1Yi90b29scy9hcHBseV90YWdzIjsK", "agents/chief/agent/tools/archive_thread.ts": "Ly8gQXJjaGl2ZSBhIHRocmVhZCB3aG9zZSB3b3JrIGlzIGRvbmUuIEZyb20gZXZlLWh1YiAocGFja2FnZXMvYWdlbnQta2l0L3Rvb2xzL2FyY2hpdmVfdGhyZWFkLnRzKS4KZXhwb3J0IHsgZGVmYXVsdCB9IGZyb20gImV2ZS1odWIvdG9vbHMvYXJjaGl2ZV90aHJlYWQiOwo=", "agents/chief/agent/tools/create_agent.ts": "Ly8gQWRkIGEgYm90IHRvIHRoZSB3b3Jrc3BhY2UuIEZyb20gZXZlLWh1YiAocGFja2FnZXMvYWdlbnQta2l0L3Rvb2xzL2NyZWF0ZV9hZ2VudC50cykuCmV4cG9ydCB7IGRlZmF1bHQgfSBmcm9tICJldmUtaHViL3Rvb2xzL2NyZWF0ZV9hZ2VudCI7Cg==", "agents/chief/agent/tools/create_thread.ts": "Ly8gT3BlbiBhIHdvcmtzcGFjZSB0aHJlYWQgZm9yIG9uZSBwaWVjZSBvZiB3b3JrLiBGcm9tIGV2ZS1odWIgKHBhY2thZ2VzL2FnZW50LWtpdC90b29scy9jcmVhdGVfdGhyZWFkLnRzKS4KZXhwb3J0IHsgZGVmYXVsdCB9IGZyb20gImV2ZS1odWIvdG9vbHMvY3JlYXRlX3RocmVhZCI7Cg==", "agents/chief/agent/tools/dash_update.ts": "Ly8gU2V0IERhc2ggZW50cmllczogaW1wb3J0YW5jZSwgbGFuZSwgcmVhc29uIGFuZCBkZWZlcnJlZCBwZXIgdGhyZWFkLiBGcm9tIGV2ZS1odWIgKHBhY2thZ2VzL2FnZW50LWtpdC90b29scy9kYXNoX3VwZGF0ZS50cykuCmV4cG9ydCB7IGRlZmF1bHQgfSBmcm9tICJldmUtaHViL3Rvb2xzL2Rhc2hfdXBkYXRlIjsK", "agents/chief/agent/tools/fetch_upload.ts": "Ly8gQ29waWVzIGEgZmlsZSBhbm90aGVyIGJvdCBzaGFyZWQgKGh1YjovL3VwbG9hZC88aWQ+KSBpbnRvIHRoZSBzYW5kYm94LiBGcm9tIGV2ZS1odWIgKHBhY2thZ2VzL2FnZW50LWtpdC90b29scy9mZXRjaF91cGxvYWQudHMpLgpleHBvcnQgeyBkZWZhdWx0IH0gZnJvbSAiZXZlLWh1Yi90b29scy9mZXRjaF91cGxvYWQiOwo=", "agents/chief/agent/tools/list_agents.ts": "Ly8gVGhlIHRlYW0gcmlnaHQgbm93OiBraW5kLCBwbGFjZSwgdG9vbHMsIG1vZGVscywgd2hvJ3MgYnVzeS4gRnJvbSBldmUtaHViIChwYWNrYWdlcy9hZ2VudC1raXQvdG9vbHMvbGlzdF9hZ2VudHMudHMpLgpleHBvcnQgeyBkZWZhdWx0IH0gZnJvbSAiZXZlLWh1Yi90b29scy9saXN0X2FnZW50cyI7Cg==", "agents/chief/agent/tools/list_threads.ts": "Ly8gRXZlcnkgd29ya3NwYWNlIHRocmVhZCwgZnJvbSBhbnkgc2Vzc2lvbi4gRnJvbSBldmUtaHViIChwYWNrYWdlcy9hZ2VudC1raXQvdG9vbHMvbGlzdF90aHJlYWRzLnRzKS4KZXhwb3J0IHsgZGVmYXVsdCB9IGZyb20gImV2ZS1odWIvdG9vbHMvbGlzdF90aHJlYWRzIjsK", "agents/chief/agent/tools/move_path.ts": "Ly8gUmVuYW1lIG9yIG1lcmdlIGEgcGF0aCAocHJvamVjdC90cmFjayk6IGV2ZXJ5IHRocmVhZCB1bmRlciBpdCBtb3Zlcy4gRnJvbSBldmUtaHViIChwYWNrYWdlcy9hZ2VudC1raXQvdG9vbHMvbW92ZV9wYXRoLnRzKS4KZXhwb3J0IHsgZGVmYXVsdCB9IGZyb20gImV2ZS1odWIvdG9vbHMvbW92ZV9wYXRoIjsK", "agents/chief/agent/tools/onboarding_scripts.ts": "Ly8gV3JpdGVzIHRoZSBvbmJvYXJkaW5nLXByb2ZpbGUgc2tpbGwncyBzYW5kYm94IHNjcmlwdHMgaW50byB0aGUgc2FuZGJveC4gRnJvbSBldmUtaHViIChwYWNrYWdlcy9hZ2VudC1raXQvdG9vbHMvb25ib2FyZGluZ19zY3JpcHRzLnRzKS4KZXhwb3J0IHsgZGVmYXVsdCB9IGZyb20gImV2ZS1odWIvdG9vbHMvb25ib2FyZGluZ19zY3JpcHRzIjsK", "agents/chief/agent/tools/post_message.ts": "Ly8gUG9zdCBhIG1lc3NhZ2UgaW50byBhbiBleGlzdGluZyB0aHJlYWQgb3IgYSBib3QncyBETTsgYSB0aHJlYWQgcG9zdCBALW1lbnRpb25zIGl0cyByZWNlaXZlci4gRnJvbSBldmUtaHViIChwYWNrYWdlcy9hZ2VudC1raXQvdG9vbHMvcG9zdF9tZXNzYWdlLnRzKS4KZXhwb3J0IHsgZGVmYXVsdCB9IGZyb20gImV2ZS1odWIvdG9vbHMvcG9zdF9tZXNzYWdlIjsK", "agents/chief/agent/tools/react.ts": "Ly8gUmVhY3QgdG8gYSBtZXNzYWdlIHdpdGggYW4gZW1vamkuIEZyb20gZXZlLWh1YiAocGFja2FnZXMvYWdlbnQta2l0L3Rvb2xzL3JlYWN0LnRzKS4KZXhwb3J0IHsgZGVmYXVsdCB9IGZyb20gImV2ZS1odWIvdG9vbHMvcmVhY3QiOwo=", "agents/chief/agent/tools/read_thread.ts": "Ly8gUmVhZCBhbnkgd29ya3NwYWNlIHRocmVhZC4gRnJvbSBldmUtaHViIChwYWNrYWdlcy9hZ2VudC1raXQvdG9vbHMvcmVhZF90aHJlYWQudHMpLgpleHBvcnQgeyBkZWZhdWx0IH0gZnJvbSAiZXZlLWh1Yi90b29scy9yZWFkX3RocmVhZCI7Cg==", "agents/chief/agent/tools/remove_agent.ts": "Ly8gUmVtb3ZlIGEgYm90IGZyb20gdGhlIHdvcmtzcGFjZS4gRnJvbSBldmUtaHViIChwYWNrYWdlcy9hZ2VudC1raXQvdG9vbHMvcmVtb3ZlX2FnZW50LnRzKS4KZXhwb3J0IHsgZGVmYXVsdCB9IGZyb20gImV2ZS1odWIvdG9vbHMvcmVtb3ZlX2FnZW50IjsK", "agents/chief/agent/tools/restart_agent.ts": "Ly8gUmVzdGFydCBvbmUgYm90J3Mgc2VydmVyLiBGcm9tIGV2ZS1odWIgKHBhY2thZ2VzL2FnZW50LWtpdC90b29scy9yZXN0YXJ0X2FnZW50LnRzKS4KZXhwb3J0IHsgZGVmYXVsdCB9IGZyb20gImV2ZS1odWIvdG9vbHMvcmVzdGFydF9hZ2VudCI7Cg==", "agents/chief/agent/tools/show.ts": "Ly8gTW92ZSB0aGUgaHVtYW4ncyBzY3JlZW4gdG8gYSB0aHJlYWQsIERNLCBvciBtZXNzYWdlLCBvciBvcGVuIGEgcGFnZSBvciBmaWxlIGJlc2lkZSB0aGUgdGhyZWFkLiBGcm9tIGV2ZS1odWIgKHBhY2thZ2VzL2FnZW50LWtpdC90b29scy9zaG93LnRzKS4KZXhwb3J0IHsgZGVmYXVsdCB9IGZyb20gImV2ZS1odWIvdG9vbHMvc2hvdyI7Cg==", "agents/chief/agent/tools/tag_threads.ts": "Ly8gVGhyZWFkIHRhZ3M6IHRoZSB2b2NhYnVsYXJ5LCBhbmQgc3RhZ2VkIGJhY2tmaWxsIC8gbWVyZ2UgcHJvcG9zYWxzLiBGcm9tIGV2ZS1odWIgKHBhY2thZ2VzL2FnZW50LWtpdC90b29scy90YWdfdGhyZWFkcy50cykuCmV4cG9ydCB7IGRlZmF1bHQgfSBmcm9tICJldmUtaHViL3Rvb2xzL3RhZ190aHJlYWRzIjsK", "agents/chief/agent/tools/unarchive_thread.ts": "Ly8gQnJpbmcgYW4gYXJjaGl2ZWQgdGhyZWFkIGJhY2suIEZyb20gZXZlLWh1YiAocGFja2FnZXMvYWdlbnQta2l0L3Rvb2xzL3VuYXJjaGl2ZV90aHJlYWQudHMpLgpleHBvcnQgeyBkZWZhdWx0IH0gZnJvbSAiZXZlLWh1Yi90b29scy91bmFyY2hpdmVfdGhyZWFkIjsK", "agents/chief/agent/tools/update_thread.ts": "Ly8gVXBkYXRlIGEgdGhyZWFkIHRoaXMgYm90IGlzIGluOiBpdHMgcGhhc2UsIG5vdGVzLCB0cmFja2VyLCBhcnRpZmFjdHMsIHRpdGxlIGFuZCB0cmFjay4gRnJvbSBldmUtaHViIChwYWNrYWdlcy9hZ2VudC1raXQvdG9vbHMvdXBkYXRlX3RocmVhZC50cykuCmV4cG9ydCB7IGRlZmF1bHQgfSBmcm9tICJldmUtaHViL3Rvb2xzL3VwZGF0ZV90aHJlYWQiOwo=", "agents/mac/agent/agent.ts": "aW1wb3J0IHsgZGVmaW5lQWdlbnQgfSBmcm9tICJldmUiOwppbXBvcnQgeyBtb2NrTW9kZWwgfSBmcm9tICJldmUvZXZhbHMiOwppbXBvcnQgeyBiaW5kUm9zdGVyIH0gZnJvbSAiZXZlLWh1Yi9yb3N0ZXItbW9kZWwiOwppbXBvcnQgd29ya3NwYWNlIGZyb20gIi4uLy4uLy4uL2h1Yi53b3Jrc3BhY2UuanNvbiIgd2l0aCB7IHR5cGU6ICJqc29uIiB9OwoKLy8gQ3JlYXRlZCBieSBtYWluJ3MgY3JlYXRlX2FnZW50LiBNb2RlbCwgcmVhc29uaW5nIGFuZCBwZXItc2Vzc2lvbiBsaW1pdHMgY29tZQovLyBmcm9tIGh1Yi53b3Jrc3BhY2UuanNvbiAodmlhIGV2ZS1odWIvcm9zdGVyLW1vZGVsKTsgZWRpdCB0aGVyZSBhbmQgcmVzdGFydF9hZ2VudC4KY29uc3QgeyByb3N0ZXJMaW1pdHMsIHJvc3Rlck1vZGVsIH0gPSBiaW5kUm9zdGVyKHdvcmtzcGFjZSk7CgpleHBvcnQgZGVmYXVsdCBkZWZpbmVBZ2VudCh7CiAgZGVzY3JpcHRpb246ICJSdW5zIG9uIHlvdXIgTWFjOiB5b3VyIHNoZWxsLCBmaWxlcywgZ2l0L2doIGFuZCBicm93c2VyLiBBbnN3ZXJzIHdoaWxlIHRoZSBIdWIgYXBwIGlzIG9wZW4uIiwKICBsaW1pdHM6IHJvc3RlckxpbWl0cygibWFjIiksCiAgbW9kZWw6IHJvc3Rlck1vZGVsKCJtYWMiLCB7IG1vY2s6IG1vY2tNb2RlbCgibWFjIGhlcmUgKG1vY2spLiIpIH0pLAp9KTsK", "agents/mac/agent/channels/eve.ts": "Ly8gUXVldWVkIGV2ZSBjaGFubmVsIHRoYXQgcmVzb2x2ZXMgdGhlIHJlZ2lzdHJ5J3MgaHVtYW4gYXMgYSB1c2VyLiBGcm9tIGV2ZS1odWIgKHBhY2thZ2VzL2FnZW50LWtpdC9jaGFubmVscy9ldmUtcm9zdGVyLXVzZXIudHMpLgpleHBvcnQgeyBkZWZhdWx0IH0gZnJvbSAiZXZlLWh1Yi9jaGFubmVscy9ldmUtcm9zdGVyLXVzZXIiOwo=", "agents/mac/agent/hooks/sandbox.ts": "Ly8gTWlncmF0ZXMgbGVnYWN5IERvY2tlciBzZXNzaW9ucyB0byB0aGUgaG9zdCBzYW5kYm94LiBGcm9tIGV2ZS1odWIgKHBhY2thZ2VzL2FnZW50LWtpdC9ob29rcy9zYW5kYm94LnRzKS4KZXhwb3J0IHsgZGVmYXVsdCB9IGZyb20gImV2ZS1odWIvaG9va3Mvc2FuZGJveCI7Cg==", "agents/mac/agent/instructions/execution-context.ts": "aW1wb3J0IHsgZGVmaW5lSW5zdHJ1Y3Rpb25zIH0gZnJvbSAiZXZlL2luc3RydWN0aW9ucyI7CmltcG9ydCB7IGV4ZWN1dGlvbkNvbnRleHQgfSBmcm9tICJldmUtaHViL2V4ZWN1dGlvbi1jb250ZXh0IjsKaW1wb3J0IHdvcmtzcGFjZSBmcm9tICIuLi8uLi8uLi8uLi9odWIud29ya3NwYWNlLmpzb24iIHdpdGggeyB0eXBlOiAianNvbiIgfTsKCi8vIFdoZXJlIG1hYyBydW5zLCBmcm9tIGl0cyBkZWZpbml0aW9uIGluIGh1Yi53b3Jrc3BhY2UuanNvbjogbG9jYWwsIGZyb20gdGhlIGtpdCdzCi8vIHRlbXBsYXRlcyAocGFja2FnZXMvYWdlbnQta2l0L3RlbXBsYXRlcy9leGVjdXRpb24tY29udGV4dC0qLm1kKS4gVGhlIFZlcmNlbCBidWlsZCB3cml0ZXMgYSBob3N0ZWQgYm90J3MuCmV4cG9ydCBkZWZhdWx0IGRlZmluZUluc3RydWN0aW9ucyh7IGNvbnRlbnQ6IGV4ZWN1dGlvbkNvbnRleHQoIm1hYyIsIHdvcmtzcGFjZSkgfSk7Cg==", "agents/mac/agent/instructions.ts": "aW1wb3J0IHsgZGVmaW5lSW5zdHJ1Y3Rpb25zIH0gZnJvbSAiZXZlL2luc3RydWN0aW9ucyI7CmltcG9ydCB7IGJvdEluc3RydWN0aW9ucyB9IGZyb20gImV2ZS1odWIvbWFpbi1pbnN0cnVjdGlvbnMiOwoKLy8gbWFjJ3Mgc3lzdGVtIHByb21wdDogaXRzIHJvbGUubWQgYmV0d2VlbiB0aGUga2l0J3MgdGVtcGxhdGVzIChwYWNrYWdlcy9hZ2VudC1raXQvdGVtcGxhdGVzLykuCi8vIEVkaXQgaG93IG1hYyB3b3JrcyBpbiByb2xlLm1kLCBhbmQgd2hvIG1hYyBpcyBpbiBodWIud29ya3NwYWNlLmpzb24sIG5vdCBoZXJlLgpleHBvcnQgZGVmYXVsdCBkZWZpbmVJbnN0cnVjdGlvbnMoeyBjb250ZW50OiBib3RJbnN0cnVjdGlvbnMoIm1hYyIpIH0pOwo=", "agents/mac/agent/memory/bot.ts": "Ly8gVGhpcyBib3QncyBvd24gYWdlbnRzLzxib3Q+L21lbW9yeS8gZW50cmllcywgcmVjYWxsZWQgZXZlcnkgdHVybi4gRnJvbSBldmUtaHViCi8vIChwYWNrYWdlcy9hZ2VudC1raXQvbWVtb3J5L2JvdC50cyk7IGFkZCBvciBzdXBlcnNlZGUgZW50cmllcyB0aGVyZSwgbm90IGhlcmUuCmV4cG9ydCB7IGRlZmF1bHQgfSBmcm9tICJldmUtaHViL21lbW9yeS9ib3QiOwo=", "agents/mac/agent/memory/team.ts": "Ly8gVGhlIHRlYW0gbW9kZWwgKHJvc3RlciwgdG9vbHMsIGhhbmRvZmZzKSBmcm9tIHRoZSBodWIsIHJlY2FsbGVkIGV2ZXJ5IHR1cm4uIEZyb20gZXZlLWh1YgovLyAocGFja2FnZXMvYWdlbnQta2l0L21lbW9yeS90ZWFtLnRzKTsgYWRkIG9yIHN1cGVyc2VkZSBlbnRyaWVzIHRoZXJlLCBub3QgaGVyZS4KZXhwb3J0IHsgZGVmYXVsdCB9IGZyb20gImV2ZS1odWIvbWVtb3J5L3RlYW0iOwo=", "agents/mac/agent/memory/workspace.ts": "Ly8gVGhlIHdvcmtzcGFjZSdzIG1lbW9yeS8gZW50cmllcywgcmVjYWxsZWQgZXZlcnkgdHVybi4gRnJvbSBldmUtaHViCi8vIChwYWNrYWdlcy9hZ2VudC1raXQvbWVtb3J5L3dvcmtzcGFjZS50cyk7IGFkZCBvciBzdXBlcnNlZGUgZW50cmllcyB0aGVyZSwgbm90IGhlcmUuCmV4cG9ydCB7IGRlZmF1bHQgfSBmcm9tICJldmUtaHViL21lbW9yeS93b3Jrc3BhY2UiOwo=", "agents/mac/agent/role.md": "WW91IGFyZSB0aGUgdGVhbSdzIGV5ZXMgYW5kIGhhbmRzIG9uIHRoZSBvd25lcidzIE1hYy4gVGhlIG90aGVyIGJvdHMgY29tZSB0byB5b3UgZm9yIGFueXRoaW5nIG9ubHkgdGhlIGxhcHRvcCBoYXM6IHRoZSBvd25lcidzIGNoZWNrb3V0cyBhbmQgdGhlaXIgdW5jb21taXR0ZWQgd29yaywgdGhlIGNvZGluZyBhZ2VudHMnIHNlc3Npb25zLCBpbnN0YWxsZWQgcHJvZ3JhbXMgYW5kIHZlcnNpb25zLCBgbG9jYWxob3N0YCBzZXJ2aWNlcywgWGNvZGUgYW5kIHRoZSBzaW11bGF0b3IsIHRoZSBvd25lcidzIGJyb3dzZXIuCgotICoqRmluZCBvdXQgYmVmb3JlIHlvdSBhc2suKiogIldoZXJlIGlzIGl0PyIsICJ3aGF0J3MgaW5zdGFsbGVkPyIgYW5kICJ3aGF0IHdhcyB0aGUgb3duZXIgd29ya2luZyBvbj8iIGhhdmUgYW5zd2VycyBvbiBkaXNrOiBgbHNgLCBgbWRmaW5kYCwgYGdpdCB3b3JrdHJlZSBsaXN0YCwgYGJyZXcgbGlzdGAsIGBsc29mIC1pYCwgdGhlIHNlc3Npb24gZm9sZGVycyBpbiB5b3VyIGV4ZWN1dGlvbiBjb250ZXh0LiBBc2sgdGhlIG93bmVyIG9ubHkgZm9yIHdoYXQgdGhlIE1hYyBjYW4ndCB0ZWxsIHlvdTogYSBkZWNpc2lvbiwgYSBwYXNzd29yZCwgYSB5ZXMuCi0gKipSZXBvcnQgZmFjdHMsIGFuZCBob3cgeW91IGdvdCB0aGVtLioqIFBhc3RlIHRoZSBjb21tYW5kIGFuZCB0aGUgcGFydCBvZiBpdHMgb3V0cHV0IHRoYXQgYW5zd2VycyB0aGUgcXVlc3Rpb24uIEtlZXAgd2hhdCB5b3UgaW5mZXJyZWQgYXBhcnQgZnJvbSB3aGF0IHlvdSByZWFkLgotICoqSGFuZCB0aGUgcmlnaHQgcGFydCBiYWNrLioqIFRoZSBib3QgdGhhdCBhc2tlZCBvd25zIGl0cyB0aHJlYWQncyBwbGFuIGFuZCBidWlsZC4gWW91IGFuc3dlciB3aGF0IHdhcyBhc2tlZCBhYm91dCB0aGUgTWFjLCBvciBkbyB0aGUgTWFjIHN0ZXAgaXQgbmFtZWQsIGFuZCBwb3N0IHRoZSByZXN1bHQgaW4gaXRzIHRocmVhZC4KLSAqKkVkaXQgaW4geW91ciBvd24gd29ya3RyZWUuKiogRm9yIGEgY29kZSBjaGFuZ2Ugb24gdGhlIE1hYywgbWFrZSBhIGBnaXQgd29ya3RyZWUgYWRkYCBvZiB0aGUgcmVwbyBmb3IgdGhpcyB0aHJlYWQsIGJ1aWxkIGFuZCB0ZXN0IHRoZXJlLCBhbmQgcmVtb3ZlIGl0IHdoZW4gdGhlIHdvcmsgbGFuZHMuIEhhbmQgYSBzbGljZSB5b3UgY2FuIGZ1bGx5IHNwZWNpZnkgdG8gYW4gYGFnZW50YCBjb3B5LCB0aGVuIHJlYWQgaXRzIGRpZmYgYW5kIHJ1biB0aGUgdGVzdHMgeW91cnNlbGYuCi0gKipMZWF2ZSB0aGUgTWFjIGFzIHlvdSBmb3VuZCBpdC4qKiBCZWZvcmUgeW91ciB0dXJuIGVuZHMsIHN0b3AgdGhlIHByb2Nlc3NlcyBhbmQgc2VydmVycyB5b3Ugc3RhcnRlZCBhbmQgZGVsZXRlIHlvdXIgc2NyYXRjaCBmaWxlcy4K", "agents/mac/agent/sandbox.ts": "aW1wb3J0IHsgZGVmaW5lU2FuZGJveCB9IGZyb20gImV2ZS9zYW5kYm94IjsKaW1wb3J0IHsgSG9zdFNhbmRib3ggfSBmcm9tICJldmUtaHViL2hvc3Qtc2FuZGJveCI7CgovLyBUaGUgaG9zdCBtYWNoaW5lIGlzIHRoZSBzYW5kYm94IChzZWUgcGFja2FnZXMvYWdlbnQta2l0L2hvc3Qtc2FuZGJveC50cykuCmV4cG9ydCBjb25zdCBlbnZpcm9ubWVudCA9IEhvc3RTYW5kYm94LmVudmlyb25tZW50KCk7CmV4cG9ydCBkZWZhdWx0IGRlZmluZVNhbmRib3goKCkgPT4gZW52aXJvbm1lbnQub3BlbigpKTsK", "agents/mac/agent/skills/brief.ts": "Ly8gVGhlIGJyaWVmIHNraWxsIChwYWNrYWdlcy9hZ2VudC1raXQvYnJpZWYvU0tJTEwubWQpOiBob3cgdG8gd3JpdGUgYSBicmllZiBmb3IgdGhlIGh1bWFuJ3MgeWVzIGFuZCByZWFkIGl0IGNvbGQgYmVmb3JlIHBvc3RpbmcuIEZyb20gZXZlLWh1YiAocGFja2FnZXMvYWdlbnQta2l0L3NraWxscy9icmllZi50cykuCmV4cG9ydCB7IGRlZmF1bHQgfSBmcm9tICJldmUtaHViL3NraWxscy9icmllZiI7Cg==", "agents/mac/agent/skills/fanout.ts": "Ly8gVGhlIGZhbm91dCBza2lsbCAocGFja2FnZXMvYWdlbnQta2l0L2Zhbm91dC9TS0lMTC5tZCk6IHRoZSBjb250cmFjdCBmb3IgaGFuZGluZyB3b3JrIHRvIHRoZSByZWFkZXIsIGVkaXRvciBhbmQgdmVyaWZpZXIgc3ViYWdlbnRzLiBGcm9tIGV2ZS1odWIgKHBhY2thZ2VzL2FnZW50LWtpdC9za2lsbHMvZmFub3V0LnRzKS4KZXhwb3J0IHsgZGVmYXVsdCB9IGZyb20gImV2ZS1odWIvc2tpbGxzL2Zhbm91dCI7Cg==", "agents/mac/agent/skills/forms.ts": "Ly8gVGhlIGZvcm1zIHNraWxsIChwYWNrYWdlcy9hZ2VudC1raXQvZm9ybXMvU0tJTEwubWQpOiBob3cgdG8gZHJhdyBhIGZsb3csIHNlcXVlbmNlLCBjaGFydCBvciBhc2sgdGhlIGFwcCByZW5kZXJzLiBGcm9tIGV2ZS1odWIgKHBhY2thZ2VzL2FnZW50LWtpdC9za2lsbHMvZm9ybXMudHMpLgpleHBvcnQgeyBkZWZhdWx0IH0gZnJvbSAiZXZlLWh1Yi9za2lsbHMvZm9ybXMiOwo=", "agents/mac/agent/skills/local-onboarding.ts": "Ly8gVGhlIGxvY2FsLW9uYm9hcmRpbmcgc2tpbGwgKHBhY2thZ2VzL2FnZW50LWtpdC9sb2NhbC1vbmJvYXJkaW5nL1NLSUxMLm1kKTogdGhlIE1hYyBoYWxmIG9mIG9uYm9hcmRpbmcsIHRoZSBsaXZlIHdvcmsgdG8gcG9ydCBhbmQgdGhlIHNhbmRib3ggc2V0dXAuIEZyb20gZXZlLWh1YiAocGFja2FnZXMvYWdlbnQta2l0L3NraWxscy9sb2NhbC1vbmJvYXJkaW5nLnRzKS4KZXhwb3J0IHsgZGVmYXVsdCB9IGZyb20gImV2ZS1odWIvc2tpbGxzL2xvY2FsLW9uYm9hcmRpbmciOwo=", "agents/mac/agent/subagents/editor/agent.ts": "aW1wb3J0IHsgZGVmaW5lQWdlbnQgfSBmcm9tICJldmUiOwppbXBvcnQgeyBtb2NrTW9kZWwgfSBmcm9tICJldmUvZXZhbHMiOwppbXBvcnQgeyBiaW5kUm9zdGVyIH0gZnJvbSAiZXZlLWh1Yi9yb3N0ZXItbW9kZWwiOwppbXBvcnQgeyB0aWVyRGVzY3JpcHRpb24gfSBmcm9tICJldmUtaHViL3N1YmFnZW50LXRpZXJzIjsKaW1wb3J0IHdvcmtzcGFjZSBmcm9tICIuLi8uLi8uLi8uLi8uLi9odWIud29ya3NwYWNlLmpzb24iIHdpdGggeyB0eXBlOiAianNvbiIgfTsKCi8vIE1vZGVsIGFuZCByZWFzb25pbmcgY29tZSBmcm9tIGh1Yi53b3Jrc3BhY2UuanNvbiBhZ2VudHNbIm1hYyJdLnN1YmFnZW50cy5lZGl0b3IsIGNsYW1wZWQgdG8gdGhlIGJvdCdzIHN1YmFnZW50IGNhcC4KY29uc3QgeyBzdWJhZ2VudE1vZGVsIH0gPSBiaW5kUm9zdGVyKHdvcmtzcGFjZSk7CgpleHBvcnQgZGVmYXVsdCBkZWZpbmVBZ2VudCh7CiAgZGVzY3JpcHRpb246IHRpZXJEZXNjcmlwdGlvbigiZWRpdG9yIiksCiAgLi4uc3ViYWdlbnRNb2RlbCgibWFjIiwgImVkaXRvciIsIHsgbW9jazogbW9ja01vZGVsKCJlZGl0b3IgaGVyZSAobW9jaykuIikgfSksCn0pOwo=", "agents/mac/agent/subagents/editor/instructions.ts": "aW1wb3J0IHsgZGVmaW5lSW5zdHJ1Y3Rpb25zIH0gZnJvbSAiZXZlL2luc3RydWN0aW9ucyI7CmltcG9ydCB7IHRpZXJJbnN0cnVjdGlvbnMgfSBmcm9tICJldmUtaHViL3N1YmFnZW50LXRpZXJzIjsKCi8vIFRoZSBlZGl0b3IncyBwcm9tcHQsIGZyb20gZXZlLWh1YiAocGFja2FnZXMvYWdlbnQta2l0L3N1YmFnZW50LXRpZXJzLm1qcykuCmV4cG9ydCBkZWZhdWx0IGRlZmluZUluc3RydWN0aW9ucyh7IGNvbnRlbnQ6IHRpZXJJbnN0cnVjdGlvbnMoImVkaXRvciIpIH0pOwo=", "agents/mac/agent/subagents/editor/sandbox.ts": "aW1wb3J0IHsgZGVmaW5lUGFyZW50U2FuZGJveCB9IGZyb20gImV2ZS9zYW5kYm94IjsKCmV4cG9ydCBkZWZhdWx0IGRlZmluZVBhcmVudFNhbmRib3goKTsK", "agents/mac/agent/subagents/reader/agent.ts": "aW1wb3J0IHsgZGVmaW5lQWdlbnQgfSBmcm9tICJldmUiOwppbXBvcnQgeyBtb2NrTW9kZWwgfSBmcm9tICJldmUvZXZhbHMiOwppbXBvcnQgeyBiaW5kUm9zdGVyIH0gZnJvbSAiZXZlLWh1Yi9yb3N0ZXItbW9kZWwiOwppbXBvcnQgeyB0aWVyRGVzY3JpcHRpb24gfSBmcm9tICJldmUtaHViL3N1YmFnZW50LXRpZXJzIjsKaW1wb3J0IHdvcmtzcGFjZSBmcm9tICIuLi8uLi8uLi8uLi8uLi9odWIud29ya3NwYWNlLmpzb24iIHdpdGggeyB0eXBlOiAianNvbiIgfTsKCi8vIE1vZGVsIGFuZCByZWFzb25pbmcgY29tZSBmcm9tIGh1Yi53b3Jrc3BhY2UuanNvbiBhZ2VudHNbIm1hYyJdLnN1YmFnZW50cy5yZWFkZXIsIGNsYW1wZWQgdG8gdGhlIGJvdCdzIHN1YmFnZW50IGNhcC4KY29uc3QgeyBzdWJhZ2VudE1vZGVsIH0gPSBiaW5kUm9zdGVyKHdvcmtzcGFjZSk7CgpleHBvcnQgZGVmYXVsdCBkZWZpbmVBZ2VudCh7CiAgZGVzY3JpcHRpb246IHRpZXJEZXNjcmlwdGlvbigicmVhZGVyIiksCiAgLi4uc3ViYWdlbnRNb2RlbCgibWFjIiwgInJlYWRlciIsIHsgbW9jazogbW9ja01vZGVsKCJyZWFkZXIgaGVyZSAobW9jaykuIikgfSksCn0pOwo=", "agents/mac/agent/subagents/reader/instructions.ts": "aW1wb3J0IHsgZGVmaW5lSW5zdHJ1Y3Rpb25zIH0gZnJvbSAiZXZlL2luc3RydWN0aW9ucyI7CmltcG9ydCB7IHRpZXJJbnN0cnVjdGlvbnMgfSBmcm9tICJldmUtaHViL3N1YmFnZW50LXRpZXJzIjsKCi8vIFRoZSByZWFkZXIncyBwcm9tcHQsIGZyb20gZXZlLWh1YiAocGFja2FnZXMvYWdlbnQta2l0L3N1YmFnZW50LXRpZXJzLm1qcykuCmV4cG9ydCBkZWZhdWx0IGRlZmluZUluc3RydWN0aW9ucyh7IGNvbnRlbnQ6IHRpZXJJbnN0cnVjdGlvbnMoInJlYWRlciIpIH0pOwo=", "agents/mac/agent/subagents/reader/sandbox.ts": "aW1wb3J0IHsgZGVmaW5lUGFyZW50U2FuZGJveCB9IGZyb20gImV2ZS9zYW5kYm94IjsKCmV4cG9ydCBkZWZhdWx0IGRlZmluZVBhcmVudFNhbmRib3goKTsK", "agents/mac/agent/subagents/reader/tools/write_file.ts": "aW1wb3J0IHsgZGlzYWJsZVRvb2wgfSBmcm9tICJldmUvdG9vbHMiOwoKLy8gQSByZWFkZXIgbmV2ZXIgZWRpdHMgZmlsZXMuCmV4cG9ydCBkZWZhdWx0IGRpc2FibGVUb29sKCk7Cg==", "agents/mac/agent/subagents/verifier/agent.ts": "aW1wb3J0IHsgZGVmaW5lQWdlbnQgfSBmcm9tICJldmUiOwppbXBvcnQgeyBtb2NrTW9kZWwgfSBmcm9tICJldmUvZXZhbHMiOwppbXBvcnQgeyBiaW5kUm9zdGVyIH0gZnJvbSAiZXZlLWh1Yi9yb3N0ZXItbW9kZWwiOwppbXBvcnQgeyB0aWVyRGVzY3JpcHRpb24gfSBmcm9tICJldmUtaHViL3N1YmFnZW50LXRpZXJzIjsKaW1wb3J0IHdvcmtzcGFjZSBmcm9tICIuLi8uLi8uLi8uLi8uLi9odWIud29ya3NwYWNlLmpzb24iIHdpdGggeyB0eXBlOiAianNvbiIgfTsKCi8vIE1vZGVsIGFuZCByZWFzb25pbmcgY29tZSBmcm9tIGh1Yi53b3Jrc3BhY2UuanNvbiBhZ2VudHNbIm1hYyJdLnN1YmFnZW50cy52ZXJpZmllciwgY2xhbXBlZCB0byB0aGUgYm90J3Mgc3ViYWdlbnQgY2FwLgpjb25zdCB7IHN1YmFnZW50TW9kZWwgfSA9IGJpbmRSb3N0ZXIod29ya3NwYWNlKTsKCmV4cG9ydCBkZWZhdWx0IGRlZmluZUFnZW50KHsKICBkZXNjcmlwdGlvbjogdGllckRlc2NyaXB0aW9uKCJ2ZXJpZmllciIpLAogIC4uLnN1YmFnZW50TW9kZWwoIm1hYyIsICJ2ZXJpZmllciIsIHsgbW9jazogbW9ja01vZGVsKCJ2ZXJpZmllciBoZXJlIChtb2NrKS4iKSB9KSwKfSk7Cg==", "agents/mac/agent/subagents/verifier/instructions.ts": "aW1wb3J0IHsgZGVmaW5lSW5zdHJ1Y3Rpb25zIH0gZnJvbSAiZXZlL2luc3RydWN0aW9ucyI7CmltcG9ydCB7IHRpZXJJbnN0cnVjdGlvbnMgfSBmcm9tICJldmUtaHViL3N1YmFnZW50LXRpZXJzIjsKCi8vIFRoZSB2ZXJpZmllcidzIHByb21wdCwgZnJvbSBldmUtaHViIChwYWNrYWdlcy9hZ2VudC1raXQvc3ViYWdlbnQtdGllcnMubWpzKS4KZXhwb3J0IGRlZmF1bHQgZGVmaW5lSW5zdHJ1Y3Rpb25zKHsgY29udGVudDogdGllckluc3RydWN0aW9ucygidmVyaWZpZXIiKSB9KTsK", "agents/mac/agent/subagents/verifier/sandbox.ts": "aW1wb3J0IHsgZGVmaW5lUGFyZW50U2FuZGJveCB9IGZyb20gImV2ZS9zYW5kYm94IjsKCmV4cG9ydCBkZWZhdWx0IGRlZmluZVBhcmVudFNhbmRib3goKTsK", "agents/mac/agent/subagents/verifier/tools/write_file.ts": "aW1wb3J0IHsgZGlzYWJsZVRvb2wgfSBmcm9tICJldmUvdG9vbHMiOwoKLy8gQSB2ZXJpZmllciBuZXZlciBlZGl0cyBmaWxlcy4KZXhwb3J0IGRlZmF1bHQgZGlzYWJsZVRvb2woKTsK", "agents/mac/agent/tools/bash.ts": "Ly8gZXZlJ3MgYmFzaCB3aXRoIGEgZGVmYXVsdCB0aW1lIGxpbWl0IChraWxscyB0aGUgcHJvY2VzcyBncm91cCkgYW5kIHRoZSB3b3Jrc3BhY2UncyBjb2RlIGxvY2F0aW9uLiBGcm9tIGV2ZS1odWIgKHBhY2thZ2VzL2FnZW50LWtpdC90b29scy9iYXNoLnRzKS4KZXhwb3J0IHsgZGVmYXVsdCB9IGZyb20gImV2ZS1odWIvdG9vbHMvYmFzaCI7Cg==", "agents/mac/agent/tools/browser.ts": "Ly8gSXRzIG93biBoZWFkbGVzcyBicm93c2VyLCB3YXRjaGVkIGxpdmUgaW4gdGhlIENvbXB1dGVyIHZpZXcuIEZyb20gZXZlLWh1YiAocGFja2FnZXMvYWdlbnQta2l0L3Rvb2xzL2Jyb3dzZXIudHMpLgpleHBvcnQgeyBkZWZhdWx0IH0gZnJvbSAiZXZlLWh1Yi90b29scy9icm93c2VyIjsK", "agents/mac/agent/tools/fetch_upload.ts": "Ly8gQ29waWVzIGEgZmlsZSBhbm90aGVyIGJvdCBzaGFyZWQgKGh1YjovL3VwbG9hZC88aWQ+KSBpbnRvIHRoZSBzYW5kYm94LiBGcm9tIGV2ZS1odWIgKHBhY2thZ2VzL2FnZW50LWtpdC90b29scy9mZXRjaF91cGxvYWQudHMpLgpleHBvcnQgeyBkZWZhdWx0IH0gZnJvbSAiZXZlLWh1Yi90b29scy9mZXRjaF91cGxvYWQiOwo=", "agents/mac/agent/tools/list_agents.ts": "Ly8gVGhlIHRlYW0gcmlnaHQgbm93OiBraW5kLCBwbGFjZSwgdG9vbHMsIG1vZGVscywgd2hvJ3MgYnVzeS4gRnJvbSBldmUtaHViIChwYWNrYWdlcy9hZ2VudC1raXQvdG9vbHMvbGlzdF9hZ2VudHMudHMpLgpleHBvcnQgeyBkZWZhdWx0IH0gZnJvbSAiZXZlLWh1Yi90b29scy9saXN0X2FnZW50cyI7Cg==", "agents/mac/agent/tools/list_threads.ts": "Ly8gRXZlcnkgd29ya3NwYWNlIHRocmVhZCwgZnJvbSBhbnkgc2Vzc2lvbi4gRnJvbSBldmUtaHViIChwYWNrYWdlcy9hZ2VudC1raXQvdG9vbHMvbGlzdF90aHJlYWRzLnRzKS4KZXhwb3J0IHsgZGVmYXVsdCB9IGZyb20gImV2ZS1odWIvdG9vbHMvbGlzdF90aHJlYWRzIjsK", "agents/mac/agent/tools/post_message.ts": "Ly8gUG9zdCBhIG1lc3NhZ2UgaW50byBhbiBleGlzdGluZyB0aHJlYWQgb3IgYSBib3QncyBETTsgYSB0aHJlYWQgcG9zdCBALW1lbnRpb25zIGl0cyByZWNlaXZlci4gRnJvbSBldmUtaHViIChwYWNrYWdlcy9hZ2VudC1raXQvdG9vbHMvcG9zdF9tZXNzYWdlLnRzKS4KZXhwb3J0IHsgZGVmYXVsdCB9IGZyb20gImV2ZS1odWIvdG9vbHMvcG9zdF9tZXNzYWdlIjsK", "agents/mac/agent/tools/react.ts": "Ly8gUmVhY3QgdG8gYSBtZXNzYWdlIHdpdGggYW4gZW1vamkuIEZyb20gZXZlLWh1YiAocGFja2FnZXMvYWdlbnQta2l0L3Rvb2xzL3JlYWN0LnRzKS4KZXhwb3J0IHsgZGVmYXVsdCB9IGZyb20gImV2ZS1odWIvdG9vbHMvcmVhY3QiOwo=", "agents/mac/agent/tools/read_thread.ts": "Ly8gUmVhZCBhbnkgd29ya3NwYWNlIHRocmVhZC4gRnJvbSBldmUtaHViIChwYWNrYWdlcy9hZ2VudC1raXQvdG9vbHMvcmVhZF90aHJlYWQudHMpLgpleHBvcnQgeyBkZWZhdWx0IH0gZnJvbSAiZXZlLWh1Yi90b29scy9yZWFkX3RocmVhZCI7Cg==", "agents/mac/agent/tools/show.ts": "Ly8gTW92ZSB0aGUgaHVtYW4ncyBzY3JlZW4gdG8gYSB0aHJlYWQsIERNLCBvciBtZXNzYWdlLCBvciBvcGVuIGEgcGFnZSBvciBmaWxlIGJlc2lkZSB0aGUgdGhyZWFkLiBGcm9tIGV2ZS1odWIgKHBhY2thZ2VzL2FnZW50LWtpdC90b29scy9zaG93LnRzKS4KZXhwb3J0IHsgZGVmYXVsdCB9IGZyb20gImV2ZS1odWIvdG9vbHMvc2hvdyI7Cg==", "agents/mac/agent/tools/update_thread.ts": "Ly8gVXBkYXRlIGEgdGhyZWFkIHRoaXMgYm90IGlzIGluOiBpdHMgcGhhc2UsIG5vdGVzLCB0cmFja2VyLCBhcnRpZmFjdHMsIHRpdGxlIGFuZCB0cmFjay4gRnJvbSBldmUtaHViIChwYWNrYWdlcy9hZ2VudC1raXQvdG9vbHMvdXBkYXRlX3RocmVhZC50cykuCmV4cG9ydCB7IGRlZmF1bHQgfSBmcm9tICJldmUtaHViL3Rvb2xzL3VwZGF0ZV90aHJlYWQiOwo=", "agents/mac/agent/tools/view_image.ts": "Ly8gU2hvd3MgdGhlIGJvdCBhbiBpbWFnZSAoYSBzYW5kYm94IGZpbGUgb3IgYSBicm93c2VyIHNjcmVlbnNob3QpIHNvIGl0IGNhbiBzZWUgaXQuIEZyb20gZXZlLWh1YiAocGFja2FnZXMvYWdlbnQta2l0L3Rvb2xzL3ZpZXdfaW1hZ2UudHMpLgpleHBvcnQgeyBkZWZhdWx0IH0gZnJvbSAiZXZlLWh1Yi90b29scy92aWV3X2ltYWdlIjsK", "hub.workspace.json": "ewogICJydW5zT24iOiAiaG9zdGVkIiwKICAiYWdlbnRzIjogWwogICAgewogICAgICAibmFtZSI6ICJjaGllZiIsCiAgICAgICJtb2RlbCI6ICJhbnRocm9waWMvY2xhdWRlLW9wdXMtNS41IiwKICAgICAgImNvbG9yIjogIiNhNzhiZmEiLAogICAgICAicm9sZSI6ICJDaGllZiBvZiBzdGFmZi4gU2NvcGVzIHdvcmssIHJvdXRlcyBpdCB0byB0aGUgcmlnaHQgYm90LCBjbGVhcnMgYmxvY2tlcnMgYW5kIGRyaXZlcyBldmVyeSB0aHJlYWQgdG8gZG9uZS4iLAogICAgICAia2luZCI6ICJjb29yZGluYXRvciIKICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIm1hYyIsCiAgICAgICJtb2RlbCI6ICJhbnRocm9waWMvY2xhdWRlLW9wdXMtNS41IiwKICAgICAgImNvbG9yIjogIiNmNDcyYjYiLAogICAgICAia2luZCI6ICJidWlsZGVyIiwKICAgICAgInJ1bnNPbiI6ICJsb2NhbCIsCiAgICAgICJzdWJhZ2VudHMiOiB7CiAgICAgICAgInJlYWRlciI6IHsKICAgICAgICAgICJtb2RlbCI6ICJkZWVwc2Vlay9kZWVwc2Vlay12NC1wcm8iLAogICAgICAgICAgInJlYXNvbmluZyI6ICJsb3ciCiAgICAgICAgfSwKICAgICAgICAiZWRpdG9yIjogewogICAgICAgICAgIm1vZGVsIjogImRlZXBzZWVrL2RlZXBzZWVrLXY0LXBybyIsCiAgICAgICAgICAicmVhc29uaW5nIjogImxvdyIKICAgICAgICB9LAogICAgICAgICJ2ZXJpZmllciI6IHsKICAgICAgICAgICJtb2RlbCI6ICJhbnRocm9waWMvY2xhdWRlLXNvbm5ldC01LjUiLAogICAgICAgICAgInJlYXNvbmluZyI6ICJsb3ciCiAgICAgICAgfQogICAgICB9LAogICAgICAicm9sZSI6ICJSdW5zIG9uIHlvdXIgTWFjOiB5b3VyIHNoZWxsLCBmaWxlcywgZ2l0L2doIGFuZCBicm93c2VyLiBBbnN3ZXJzIHdoaWxlIHRoZSBIdWIgYXBwIGlzIG9wZW4uIgogICAgfQogIF0KfQo=", "package.json": "ewogICJuYW1lIjogImh1Yi10ZW1wbGF0ZS1pa25wdnciLAogICJwcml2YXRlIjogdHJ1ZSwKICAidHlwZSI6ICJtb2R1bGUiLAogICJkZXBlbmRlbmNpZXMiOiB7CiAgICAiZXZlIjogIjEuMC4wLXJjLjQiLAogICAgInpvZCI6ICJeNC41LjQiLAogICAgImV2ZS1odWIiOiAiaHR0cHM6Ly9mcWwzcjNsanNrajdyemNkLnB1YmxpYy5ibG9iLnZlcmNlbC1zdG9yYWdlLmNvbS9ldmUtaHViL2V2ZS1odWItMC4xNi42MC50Z3oiLAogICAgIkBvcGVudGVsZW1ldHJ5L2FwaSI6ICJeMS45LjEiLAogICAgInVuZGljaSI6ICJeNy4zMC4wIiwKICAgICJAdmVyY2VsL2Nvbm5lY3QiOiAiXjIuNy4wIiwKICAgICJAdmVyY2VsL29pZGMiOiAiNC4wLjAiCiAgfSwKICAiZW5naW5lcyI6IHsKICAgICJub2RlIjogIjI0LngiCiAgfQp9", "vercel.ts": "aW1wb3J0IGh1YiBmcm9tICJldmUtaHViL3ZlcmNlbCI7CgpleHBvcnQgZGVmYXVsdCB7IHJvdXRlczogaHViLnJvdXRlcywgc2VydmljZXM6IGh1Yi5zZXJ2aWNlcyB9Owo=" };
204504
- var templateVersion = "0.16.60";
204560
+ var templateFiles = { ".github/workflows/eve-hub-update.yml": "bmFtZTogZXZlLWh1YiB1cGRhdGUKb246CiAgcmVwb3NpdG9yeV9kaXNwYXRjaDoKICAgIHR5cGVzOiBbZXZlLWh1Yi1yZWxlYXNlXQogIHdvcmtmbG93X2Rpc3BhdGNoOgogIHNjaGVkdWxlOgogICAgLSBjcm9uOiAnMTcgNiAqICogKicKY29uY3VycmVuY3k6CiAgZ3JvdXA6IGV2ZS1odWItdXBkYXRlCiAgY2FuY2VsLWluLXByb2dyZXNzOiBmYWxzZQpwZXJtaXNzaW9uczoKICBjb250ZW50czogd3JpdGUKam9iczoKICB1cGRhdGU6CiAgICBydW5zLW9uOiB1YnVudHUtbGF0ZXN0CiAgICBlbnY6CiAgICAgIEdIX1RPS0VOOiAke3sgZ2l0aHViLnRva2VuIH19CiAgICAgIFBBWUxPQURfVkVSU0lPTjogJHt7IGdpdGh1Yi5ldmVudC5jbGllbnRfcGF5bG9hZC52ZXJzaW9uIH19CiAgICBzdGVwczoKICAgICAgLSB1c2VzOiBhY3Rpb25zL2NoZWNrb3V0QHY0CiAgICAgIC0gbmFtZTogUmVzb2x2ZSB0aGUgcmVsZWFzZQogICAgICAgIGlkOiByZWxlYXNlCiAgICAgICAgcnVuOiB8CiAgICAgICAgICBWRVJTSU9OPSIke1BBWUxPQURfVkVSU0lPTjotJChjdXJsIC1mc1NMIGh0dHBzOi8vZnFsM3IzbGpza2o3cnpjZC5wdWJsaWMuYmxvYi52ZXJjZWwtc3RvcmFnZS5jb20vZXZlLWh1Yi9sYXRlc3QuanNvbiB8IGpxIC1yIC52ZXJzaW9uKX0iCiAgICAgICAgICBpZiAhIFtbICIkVkVSU0lPTiIgPX4gXlswLTldK1wuWzAtOV0rXC5bMC05XSskIF1dOyB0aGVuIGVjaG8gIm5vdCBhIHZlcnNpb246ICRWRVJTSU9OIjsgZXhpdCAxOyBmaQogICAgICAgICAgVEFSQkFMTD0iaHR0cHM6Ly9mcWwzcjNsanNrajdyemNkLnB1YmxpYy5ibG9iLnZlcmNlbC1zdG9yYWdlLmNvbS9ldmUtaHViL2V2ZS1odWItJFZFUlNJT04udGd6IgogICAgICAgICAgZWNobyAidmVyc2lvbj0kVkVSU0lPTiIgPj4gIiRHSVRIVUJfT1VUUFVUIgogICAgICAgICAgZWNobyAidGFyYmFsbD0kVEFSQkFMTCIgPj4gIiRHSVRIVUJfT1VUUFVUIgogICAgICAgICAgaWYgWyAiJChqcSAtciAnLmRlcGVuZGVuY2llc1siZXZlLWh1YiJdIC8vICIiJyBwYWNrYWdlLmpzb24pIiA9ICIkVEFSQkFMTCIgXTsgdGhlbiBlY2hvICJhbHJlYWR5IG9uIGV2ZS1odWIgJFZFUlNJT04iOyBlY2hvICJza2lwPXRydWUiID4+ICIkR0lUSFVCX09VVFBVVCI7IGZpCiAgICAgIC0gaWY6IHN0ZXBzLnJlbGVhc2Uub3V0cHV0cy5za2lwICE9ICd0cnVlJwogICAgICAgIHVzZXM6IGFjdGlvbnMvc2V0dXAtbm9kZUB2NAogICAgICAgIHdpdGg6CiAgICAgICAgICBub2RlLXZlcnNpb246IDI0CiAgICAgIC0gaWY6IHN0ZXBzLnJlbGVhc2Uub3V0cHV0cy5za2lwICE9ICd0cnVlJwogICAgICAgIG5hbWU6IFVwZGF0ZSBhbmQgY29tbWl0CiAgICAgICAgZW52OgogICAgICAgICAgVEFSQkFMTDogJHt7IHN0ZXBzLnJlbGVhc2Uub3V0cHV0cy50YXJiYWxsIH19CiAgICAgICAgcnVuOiB8CiAgICAgICAgICBucHggLS15ZXMgIiRUQVJCQUxMIiB1cGRhdGUgLS1zdW1tYXJ5ICIkR0lUSFVCX1NURVBfU1VNTUFSWSIgLS1jb21taXQgIiRSVU5ORVJfVEVNUC9jb21taXQuanNvbiIgLS1yZXBvICIkR0lUSFVCX1JFUE9TSVRPUlkiCiAgICAgICAgICBpZiBbIC16ICIkKGdpdCBzdGF0dXMgLS1wb3JjZWxhaW4pIiBdOyB0aGVuIGVjaG8gIm5vdGhpbmcgdG8gY2hhbmdlIjsgZXhpdCAwOyBmaQogICAgICAgICAgZ2ggYXBpIGdyYXBocWwgLS1pbnB1dCAiJFJVTk5FUl9URU1QL2NvbW1pdC5qc29uIiAtLWpxIC5kYXRhLmNyZWF0ZUNvbW1pdE9uQnJhbmNoLmNvbW1pdC51cmwK", ".gitignore": "bm9kZV9tb2R1bGVzCi52ZXJjZWwvCi5lbnYqLmxvY2FsCg==", ".vercelignore": "bm9kZV9tb2R1bGVzCi5ldmUKLmVudioK", "agents/chief/agent/agent.ts": "aW1wb3J0IHsgZGVmaW5lQWdlbnQgfSBmcm9tICJldmUiOwppbXBvcnQgeyBtb2NrTW9kZWwgfSBmcm9tICJldmUvZXZhbHMiOwppbXBvcnQgeyBiaW5kUm9zdGVyIH0gZnJvbSAiZXZlLWh1Yi9yb3N0ZXItbW9kZWwiOwppbXBvcnQgd29ya3NwYWNlIGZyb20gIi4uLy4uLy4uL2h1Yi53b3Jrc3BhY2UuanNvbiIgd2l0aCB7IHR5cGU6ICJqc29uIiB9OwppbXBvcnQgeyBjb29yZGluYXRvck9mIH0gZnJvbSAiZXZlLWh1Yi93b3Jrc3BhY2UiOwoKLy8gTW9kZWwgZnJvbSBodWIud29ya3NwYWNlLmpzb24sIGltcG9ydGVkIHNvIHRoZSBidW5kbGUgY2FycmllcyBpdCAoYSBkZXBsb3llZAovLyBib3QgaGFzIG5vIHdvcmtzcGFjZSBvbiBkaXNrOyBldmUtaHViL3Jvc3Rlci1tb2RlbCk7IFJPU1RFUl9NT0RFTFM9bW9jawovLyBydW5zIGEgc2NyaXB0ZWQgbW9jayB0aGF0IGZvbGxvd3MgdGhlIHNhbWUgd29ya3NwYWNlIHByb3RvY29sLCBzbyB0aGUgZTJlCi8vIGxvb3AgcnVucyBvZmZsaW5lLgpjb25zdCBodW1hbiA9IHByb2Nlc3MuZW52LlJPU1RFUl9IVU1BTiA/PyAibWUiOwpjb25zdCB7IHJvc3RlckxpbWl0cywgcm9zdGVyTW9kZWwgfSA9IGJpbmRSb3N0ZXIod29ya3NwYWNlKTsKY29uc3QgY29vcmRpbmF0b3IgPSBjb29yZGluYXRvck9mKHdvcmtzcGFjZS5hZ2VudHMpOwoKZXhwb3J0IGRlZmF1bHQgZGVmaW5lQWdlbnQoewogIGRlc2NyaXB0aW9uOiAiQ2hpZWYgb2Ygc3RhZmYuIFNjb3BlcyB3b3JrLCByb3V0ZXMgaXQgdG8gdGhlIHJpZ2h0IGJvdCwgY2xlYXJzIGJsb2NrZXJzIGFuZCBkcml2ZXMgZXZlcnkgdGhyZWFkIHRvIGRvbmUuIiwKICBsaW1pdHM6IHJvc3RlckxpbWl0cyhjb29yZGluYXRvciksCiAgbW9kZWw6IHJvc3Rlck1vZGVsKGNvb3JkaW5hdG9yLCB7IG1vY2s6IG1vY2tNb2RlbCgoeyBsYXN0VXNlck1lc3NhZ2UsIHRvb2xSZXN1bHRzIH0pID0+IHsKICAgICAgICAvLyBBIGRhc2ggdGljayAoc2NoLW1haW4tZGFzaCk6IG9uZSBkYXNoX3VwZGF0ZSwgdGhlbiBhIG9uZS1saW5lIG5vdGUuCiAgICAgICAgLy8gVGhlIGVudHJ5IGlzIHRoZSBmaXJzdCB0aHJlYWQgdGhlIHRpY2sgbGlua3MuCiAgICAgICAgaWYgKChsYXN0VXNlck1lc3NhZ2UgPz8gIiIpLmluY2x1ZGVzKGBAJHtjb29yZGluYXRvcn0gZGFzaDpgKSB8fCB0b29sUmVzdWx0cy5zb21lKChyKSA9PiByLm5hbWUgPT09ICJkYXNoX3VwZGF0ZSIpKSB7CiAgICAgICAgICBjb25zdCB1cGRhdGVzID0gdG9vbFJlc3VsdHMuZmlsdGVyKChyKSA9PiByLm5hbWUgPT09ICJkYXNoX3VwZGF0ZSIpOwogICAgICAgICAgaWYgKHVwZGF0ZXMubGVuZ3RoKSB7CiAgICAgICAgICAgIGNvbnN0IG91dCA9IHVwZGF0ZXNbMF0ub3V0cHV0IGFzIHsgbmVlZHNZb3U/OiBudW1iZXIgfTsKICAgICAgICAgICAgcmV0dXJuIGBkYXNoOiAke3VwZGF0ZXMubGVuZ3RofSB1cGRhdGUsICR7b3V0Lm5lZWRzWW91ID8/IDB9IGJsb2NraW5nYDsKICAgICAgICAgIH0KICAgICAgICAgIGNvbnN0IHRocmVhZElkID0gKGxhc3RVc2VyTWVzc2FnZSA/PyAiIikuc3BsaXQoYEAke2Nvb3JkaW5hdG9yfSBkYXNoOmApWzFdPy5tYXRjaCgvXF1cKCgoPzp0aHJ8ZG0pW1x3LV0qKVwpLyk/LlsxXTsKICAgICAgICAgIHJldHVybiB7IHRvb2xDYWxsczogW3sgbmFtZTogImRhc2hfdXBkYXRlIiwgaW5wdXQ6IHsgZW50cmllczogdGhyZWFkSWQgPyBbeyB0aHJlYWRJZCwgaW1wb3J0YW5jZTogIm5vcm1hbCIsIGxhbmU6ICJuZWVkcy15b3UiLCByZWFzb246ICJhIGJvdCBhc2tzIHlvdSIgfV0gOiBbXSB9IH1dIH07CiAgICAgICAgfQogICAgICAgIGNvbnN0IGNyZWF0ZWQgPSB0b29sUmVzdWx0cy5maW5kKChyKSA9PiByLm5hbWUgPT09ICJjcmVhdGVfdGhyZWFkIik7CiAgICAgICAgaWYgKGNyZWF0ZWQpIHsKICAgICAgICAgIGNvbnN0IHsgdGl0bGUgfSA9IGNyZWF0ZWQub3V0cHV0IGFzIHsgdGl0bGU6IHN0cmluZyB9OwogICAgICAgICAgcmV0dXJuIGBvbiBpdC4gb3BlbmVkICIke3RpdGxlfSIgYW5kIHB1bGxlZCBhcmNoZXIgaW4gdG8gbWFwIGl0IG91dC4gaSdsbCBoYW5nIGhlcmUgaWYgeW91IHdhbnQgdG8gc3RlZXIuYDsKICAgICAgICB9CiAgICAgICAgaWYgKC9oaWxsLT9jbGltYnx3b3JrIG9uL2kudGVzdChsYXN0VXNlck1lc3NhZ2UgPz8gIiIpKSB7CiAgICAgICAgICByZXR1cm4gewogICAgICAgICAgICB0b29sQ2FsbHM6IFsKICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBuYW1lOiAiY3JlYXRlX3RocmVhZCIsCiAgICAgICAgICAgICAgICBpbnB1dDogewogICAgICAgICAgICAgICAgICB0aXRsZTogIkRlZXBTV0UgaGlsbC1jbGltYiIsCiAgICAgICAgICAgICAgICAgIG1lc3NhZ2U6CiAgICAgICAgICAgICAgICAgICAgYGhleSBAYXJjaGVyLCB3ZSBuZWVkIHRvIG1hcCB0aGlzIG91dDogaGlsbC1jbGltYiBldmUtY29kZSBvbiBEZWVwU1dFLiBza2V0Y2ggdGhlIGRldGFpbHMgZm9yIFggKGJhc2VsaW5lICsgZmFpbHVyZSB0YXhvbm9teSksIFkgKGhhcm5lc3Mga25vYnMgd29ydGggdHVybmluZykgYW5kIFogKHRoZSBldmFsIGxvb3ApLCB0aGVuIGhhbmQgaXQgdG8gd2hvZXZlciBzaG91bGQgYnVpbGQgaXQuIG9uY2UgaXQncyBkb25lIHdlIHZhbGlkYXRlIHdpdGggQCR7aHVtYW59LmAsCiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgIH0sCiAgICAgICAgICAgIF0sCiAgICAgICAgICB9OwogICAgICAgIH0KICAgICAgICByZXR1cm4gImhleS4gd2hhdCBhcmUgd2Ugd29ya2luZyBvbiB0b2RheT8iOwogICAgICB9KSB9KSwKfSk7Cg==", "agents/chief/agent/channels/eve.ts": "Ly8gUXVldWVkIGV2ZSBjaGFubmVsIHRoYXQgcmVzb2x2ZXMgdGhlIHJlZ2lzdHJ5J3MgaHVtYW4gYXMgYSB1c2VyLiBGcm9tIGV2ZS1odWIgKHBhY2thZ2VzL2FnZW50LWtpdC9jaGFubmVscy9ldmUtcm9zdGVyLXVzZXIudHMpLgpleHBvcnQgeyBkZWZhdWx0IH0gZnJvbSAiZXZlLWh1Yi9jaGFubmVscy9ldmUtcm9zdGVyLXVzZXIiOwo=", "agents/chief/agent/instructions.ts": "Ly8gbWFpbidzIGluc3RydWN0aW9ucywgZnJvbSBwYWNrYWdlcy9hZ2VudC1raXQvdGVtcGxhdGVzIChtYWluLWluc3RydWN0aW9ucy5tZCArIHRoZSBzaGFyZWQgc2VjdGlvbnMpLAovLyB0aHJvdWdoIGV2ZS1odWIgKHBhY2thZ2VzL2FnZW50LWtpdC9pbnN0cnVjdGlvbnMvbWFpbi50cykuIERvbid0IGNvcHkgdGhlbSBoZXJlOgovLyB3b3Jrc3BhY2Utb25seSBhZGRpdGlvbnMgZ28gaW4gcm9sZS8qLm1kIG5leHQgdG8gdGhpcyBmaWxlLCBpbnNpZGUgPHJvbGU+LgpleHBvcnQgeyBkZWZhdWx0IH0gZnJvbSAiZXZlLWh1Yi9pbnN0cnVjdGlvbnMvbWFpbiI7Cg==", "agents/chief/agent/memory/team.ts": "Ly8gVGhlIHRlYW0gbW9kZWwgKHJvc3RlciwgdG9vbHMsIGhhbmRvZmZzKSBmcm9tIHRoZSBodWIsIHJlY2FsbGVkIGV2ZXJ5IHR1cm4uIEZyb20gZXZlLWh1YgovLyAocGFja2FnZXMvYWdlbnQta2l0L21lbW9yeS90ZWFtLnRzKTsgYWRkIG9yIHN1cGVyc2VkZSBlbnRyaWVzIHRoZXJlLCBub3QgaGVyZS4KZXhwb3J0IHsgZGVmYXVsdCB9IGZyb20gImV2ZS1odWIvbWVtb3J5L3RlYW0iOwo=", "agents/chief/agent/sandbox.ts": "aW1wb3J0IHsgZGVmaW5lU2FuZGJveCB9IGZyb20gImV2ZS9zYW5kYm94IjsKaW1wb3J0IHsgVmVyY2VsU2FuZGJveCB9IGZyb20gImV2ZS9zYW5kYm94L3ZlcmNlbCI7CmltcG9ydCB7IGluc3RhbGxDb2RlVG9vbGluZyB9IGZyb20gImV2ZS9leHRlbnNpb25zL2NvZGUvc2FuZGJveCI7CgovLyBBIFZlcmNlbCBTYW5kYm94LCBvcGVuZWQgd2l0aCB0aGUgcHJvamVjdCdzIE9JREMgdG9rZW4uIEdpdEh1YiBjcmVkZW50aWFscyBjb21lIHBlciBjb21tYW5kCi8vIGZyb20gZXh0ZW5zaW9ucy9naXQudHMsIGF0IHRoZSBzYW5kYm94IGZpcmV3YWxsOyB0aGUgc2FuZGJveCBpdHNlbGYgaG9sZHMgbm9uZS4KZXhwb3J0IGNvbnN0IGVudmlyb25tZW50ID0gVmVyY2VsU2FuZGJveC5lbnZpcm9ubWVudCh7IHByZXBhcmU6IChzYW5kYm94KSA9PiBpbnN0YWxsQ29kZVRvb2xpbmcoc2FuZGJveCkgfSk7CmV4cG9ydCBkZWZhdWx0IGRlZmluZVNhbmRib3goKCkgPT4gZW52aXJvbm1lbnQub3BlbigpKTsK", "agents/chief/agent/schedules/tracker-prs.ts": "Ly8gRXZlcnkgMTAgbWludXRlczogdHJhY2tlciByb3dzIGxpbmtlZCB0byBhIEdpdEh1YiBQUiBvciBpc3N1ZSBtb3ZlIHRvIERvbmUgd2hlbiBpdCBtZXJnZWQgYW5kIHRvIERyb3BwZWQgd2hlbiBpdCBjbG9zZWQuIEZyb20gZXZlLWh1YiAocGFja2FnZXMvYWdlbnQta2l0L3NjaGVkdWxlcy90cmFja2VyLXBycy50cykuCmV4cG9ydCB7IGRlZmF1bHQgfSBmcm9tICJldmUtaHViL3NjaGVkdWxlcy90cmFja2VyLXBycyI7Cg==", "agents/chief/agent/schedules/workspace-review.ts": "Ly8gTW9uZGF5cyAwODowMCBVVEM6IGFza3MgbWFpbiB0byBzY29yZSB0aGUgd2VlayBhbmQgb3BlbiBkcmFmdCBQUnMgZm9yIHRoZSBodW1hbidzIHByb2ZpbGUgYW5kIG1lbW9yeSBhbmQgZm9yIHRoZSBib3RzIGFuZCBzY2hlZHVsZXMsIHBsdXMgYSBwcm9wb3NhbHMgZG9jIGZvciB0aGUgaHViIGFuZCBraXQuIEZyb20gZXZlLWh1YiAocGFja2FnZXMvYWdlbnQta2l0L3NjaGVkdWxlcy93b3Jrc3BhY2UtcmV2aWV3LnRzKS4KZXhwb3J0IHsgZGVmYXVsdCB9IGZyb20gImV2ZS1odWIvc2NoZWR1bGVzL3dvcmtzcGFjZS1yZXZpZXciOwo=", "agents/chief/agent/skills/brief.ts": "Ly8gVGhlIGJyaWVmIHNraWxsIChwYWNrYWdlcy9hZ2VudC1raXQvYnJpZWYvU0tJTEwubWQpOiBob3cgdG8gd3JpdGUgYSBicmllZiBmb3IgdGhlIGh1bWFuJ3MgeWVzIGFuZCByZWFkIGl0IGNvbGQgYmVmb3JlIHBvc3RpbmcuIEZyb20gZXZlLWh1YiAocGFja2FnZXMvYWdlbnQta2l0L3NraWxscy9icmllZi50cykuCmV4cG9ydCB7IGRlZmF1bHQgfSBmcm9tICJldmUtaHViL3NraWxscy9icmllZiI7Cg==", "agents/chief/agent/skills/fanout.ts": "Ly8gVGhlIGZhbm91dCBza2lsbCAocGFja2FnZXMvYWdlbnQta2l0L2Zhbm91dC9TS0lMTC5tZCk6IHRoZSBjb250cmFjdCBmb3IgaGFuZGluZyB3b3JrIHRvIHRoZSByZWFkZXIsIGVkaXRvciBhbmQgdmVyaWZpZXIgc3ViYWdlbnRzLiBGcm9tIGV2ZS1odWIgKHBhY2thZ2VzL2FnZW50LWtpdC9za2lsbHMvZmFub3V0LnRzKS4KZXhwb3J0IHsgZGVmYXVsdCB9IGZyb20gImV2ZS1odWIvc2tpbGxzL2Zhbm91dCI7Cg==", "agents/chief/agent/skills/forms.ts": "Ly8gVGhlIGZvcm1zIHNraWxsIChwYWNrYWdlcy9hZ2VudC1raXQvZm9ybXMvU0tJTEwubWQpOiBob3cgdG8gZHJhdyBhIGZsb3csIHNlcXVlbmNlLCBjaGFydCBvciBhc2sgdGhlIGFwcCByZW5kZXJzLiBGcm9tIGV2ZS1odWIgKHBhY2thZ2VzL2FnZW50LWtpdC9za2lsbHMvZm9ybXMudHMpLgpleHBvcnQgeyBkZWZhdWx0IH0gZnJvbSAiZXZlLWh1Yi9za2lsbHMvZm9ybXMiOwo=", "agents/chief/agent/skills/onboarding-profile.ts": "Ly8gVGhlIG9uYm9hcmRpbmctcHJvZmlsZSBza2lsbCAocGFja2FnZXMvYWdlbnQta2l0L29uYm9hcmRpbmcvU0tJTEwubWQpOiBhZnRlciBzaWduLWluLCByZWFkcyB0aGUgdXNlcidzIFNsYWNrIGFuZCBHaXRIdWIgYW5kIHBvc3RzIGEgcHJvZmlsZSB3aXRoIHN1Z2dlc3RlZCBzY2hlZHVsZXMuIEZyb20gZXZlLWh1YiAocGFja2FnZXMvYWdlbnQta2l0L3NraWxscy9vbmJvYXJkaW5nLXByb2ZpbGUudHMpLgpleHBvcnQgeyBkZWZhdWx0IH0gZnJvbSAiZXZlLWh1Yi9za2lsbHMvb25ib2FyZGluZy1wcm9maWxlIjsK", "agents/chief/agent/skills/workspace-review.ts": "Ly8gVGhlIHdvcmtzcGFjZS1yZXZpZXcgc2tpbGwgKHBhY2thZ2VzL2FnZW50LWtpdC93b3Jrc3BhY2UtcmV2aWV3L1NLSUxMLm1kKTogdGhlIHN0ZXBzIG1haW4gZm9sbG93cyB3aGVuIGl0cyB3b3Jrc3BhY2UtcmV2aWV3IHNjaGVkdWxlIGZpcmVzLiBGcm9tIGV2ZS1odWIgKHBhY2thZ2VzL2FnZW50LWtpdC9za2lsbHMvd29ya3NwYWNlLXJldmlldy50cykuCmV4cG9ydCB7IGRlZmF1bHQgfSBmcm9tICJldmUtaHViL3NraWxscy93b3Jrc3BhY2UtcmV2aWV3IjsK", "agents/chief/agent/tools/apply_tags.ts": "Ly8gUmV0YWcgdGhyZWFkcywgbWVyZ2Ugb3IgcmVuYW1lIHRhZ3M6IGFwcGxpZXMgYSBzdGFnZWQgcHJvcG9zYWwgb3IgYSBuZXcgYmF0Y2ggZGlyZWN0bHkuIEZyb20gZXZlLWh1YiAocGFja2FnZXMvYWdlbnQta2l0L3Rvb2xzL2FwcGx5X3RhZ3MudHMpLgpleHBvcnQgeyBkZWZhdWx0IH0gZnJvbSAiZXZlLWh1Yi90b29scy9hcHBseV90YWdzIjsK", "agents/chief/agent/tools/archive_thread.ts": "Ly8gQXJjaGl2ZSBhIHRocmVhZCB3aG9zZSB3b3JrIGlzIGRvbmUuIEZyb20gZXZlLWh1YiAocGFja2FnZXMvYWdlbnQta2l0L3Rvb2xzL2FyY2hpdmVfdGhyZWFkLnRzKS4KZXhwb3J0IHsgZGVmYXVsdCB9IGZyb20gImV2ZS1odWIvdG9vbHMvYXJjaGl2ZV90aHJlYWQiOwo=", "agents/chief/agent/tools/create_agent.ts": "Ly8gQWRkIGEgYm90IHRvIHRoZSB3b3Jrc3BhY2UuIEZyb20gZXZlLWh1YiAocGFja2FnZXMvYWdlbnQta2l0L3Rvb2xzL2NyZWF0ZV9hZ2VudC50cykuCmV4cG9ydCB7IGRlZmF1bHQgfSBmcm9tICJldmUtaHViL3Rvb2xzL2NyZWF0ZV9hZ2VudCI7Cg==", "agents/chief/agent/tools/create_thread.ts": "Ly8gT3BlbiBhIHdvcmtzcGFjZSB0aHJlYWQgZm9yIG9uZSBwaWVjZSBvZiB3b3JrLiBGcm9tIGV2ZS1odWIgKHBhY2thZ2VzL2FnZW50LWtpdC90b29scy9jcmVhdGVfdGhyZWFkLnRzKS4KZXhwb3J0IHsgZGVmYXVsdCB9IGZyb20gImV2ZS1odWIvdG9vbHMvY3JlYXRlX3RocmVhZCI7Cg==", "agents/chief/agent/tools/dash_update.ts": "Ly8gU2V0IERhc2ggZW50cmllczogaW1wb3J0YW5jZSwgbGFuZSwgcmVhc29uIGFuZCBkZWZlcnJlZCBwZXIgdGhyZWFkLiBGcm9tIGV2ZS1odWIgKHBhY2thZ2VzL2FnZW50LWtpdC90b29scy9kYXNoX3VwZGF0ZS50cykuCmV4cG9ydCB7IGRlZmF1bHQgfSBmcm9tICJldmUtaHViL3Rvb2xzL2Rhc2hfdXBkYXRlIjsK", "agents/chief/agent/tools/fetch_upload.ts": "Ly8gQ29waWVzIGEgZmlsZSBhbm90aGVyIGJvdCBzaGFyZWQgKGh1YjovL3VwbG9hZC88aWQ+KSBpbnRvIHRoZSBzYW5kYm94LiBGcm9tIGV2ZS1odWIgKHBhY2thZ2VzL2FnZW50LWtpdC90b29scy9mZXRjaF91cGxvYWQudHMpLgpleHBvcnQgeyBkZWZhdWx0IH0gZnJvbSAiZXZlLWh1Yi90b29scy9mZXRjaF91cGxvYWQiOwo=", "agents/chief/agent/tools/list_agents.ts": "Ly8gVGhlIHRlYW0gcmlnaHQgbm93OiBraW5kLCBwbGFjZSwgdG9vbHMsIG1vZGVscywgd2hvJ3MgYnVzeS4gRnJvbSBldmUtaHViIChwYWNrYWdlcy9hZ2VudC1raXQvdG9vbHMvbGlzdF9hZ2VudHMudHMpLgpleHBvcnQgeyBkZWZhdWx0IH0gZnJvbSAiZXZlLWh1Yi90b29scy9saXN0X2FnZW50cyI7Cg==", "agents/chief/agent/tools/list_threads.ts": "Ly8gRXZlcnkgd29ya3NwYWNlIHRocmVhZCwgZnJvbSBhbnkgc2Vzc2lvbi4gRnJvbSBldmUtaHViIChwYWNrYWdlcy9hZ2VudC1raXQvdG9vbHMvbGlzdF90aHJlYWRzLnRzKS4KZXhwb3J0IHsgZGVmYXVsdCB9IGZyb20gImV2ZS1odWIvdG9vbHMvbGlzdF90aHJlYWRzIjsK", "agents/chief/agent/tools/move_path.ts": "Ly8gUmVuYW1lIG9yIG1lcmdlIGEgcGF0aCAocHJvamVjdC90cmFjayk6IGV2ZXJ5IHRocmVhZCB1bmRlciBpdCBtb3Zlcy4gRnJvbSBldmUtaHViIChwYWNrYWdlcy9hZ2VudC1raXQvdG9vbHMvbW92ZV9wYXRoLnRzKS4KZXhwb3J0IHsgZGVmYXVsdCB9IGZyb20gImV2ZS1odWIvdG9vbHMvbW92ZV9wYXRoIjsK", "agents/chief/agent/tools/onboarding_scripts.ts": "Ly8gV3JpdGVzIHRoZSBvbmJvYXJkaW5nLXByb2ZpbGUgc2tpbGwncyBzYW5kYm94IHNjcmlwdHMgaW50byB0aGUgc2FuZGJveC4gRnJvbSBldmUtaHViIChwYWNrYWdlcy9hZ2VudC1raXQvdG9vbHMvb25ib2FyZGluZ19zY3JpcHRzLnRzKS4KZXhwb3J0IHsgZGVmYXVsdCB9IGZyb20gImV2ZS1odWIvdG9vbHMvb25ib2FyZGluZ19zY3JpcHRzIjsK", "agents/chief/agent/tools/post_message.ts": "Ly8gUG9zdCBhIG1lc3NhZ2UgaW50byBhbiBleGlzdGluZyB0aHJlYWQgb3IgYSBib3QncyBETTsgYSB0aHJlYWQgcG9zdCBALW1lbnRpb25zIGl0cyByZWNlaXZlci4gRnJvbSBldmUtaHViIChwYWNrYWdlcy9hZ2VudC1raXQvdG9vbHMvcG9zdF9tZXNzYWdlLnRzKS4KZXhwb3J0IHsgZGVmYXVsdCB9IGZyb20gImV2ZS1odWIvdG9vbHMvcG9zdF9tZXNzYWdlIjsK", "agents/chief/agent/tools/react.ts": "Ly8gUmVhY3QgdG8gYSBtZXNzYWdlIHdpdGggYW4gZW1vamkuIEZyb20gZXZlLWh1YiAocGFja2FnZXMvYWdlbnQta2l0L3Rvb2xzL3JlYWN0LnRzKS4KZXhwb3J0IHsgZGVmYXVsdCB9IGZyb20gImV2ZS1odWIvdG9vbHMvcmVhY3QiOwo=", "agents/chief/agent/tools/read_thread.ts": "Ly8gUmVhZCBhbnkgd29ya3NwYWNlIHRocmVhZC4gRnJvbSBldmUtaHViIChwYWNrYWdlcy9hZ2VudC1raXQvdG9vbHMvcmVhZF90aHJlYWQudHMpLgpleHBvcnQgeyBkZWZhdWx0IH0gZnJvbSAiZXZlLWh1Yi90b29scy9yZWFkX3RocmVhZCI7Cg==", "agents/chief/agent/tools/remove_agent.ts": "Ly8gUmVtb3ZlIGEgYm90IGZyb20gdGhlIHdvcmtzcGFjZS4gRnJvbSBldmUtaHViIChwYWNrYWdlcy9hZ2VudC1raXQvdG9vbHMvcmVtb3ZlX2FnZW50LnRzKS4KZXhwb3J0IHsgZGVmYXVsdCB9IGZyb20gImV2ZS1odWIvdG9vbHMvcmVtb3ZlX2FnZW50IjsK", "agents/chief/agent/tools/restart_agent.ts": "Ly8gUmVzdGFydCBvbmUgYm90J3Mgc2VydmVyLiBGcm9tIGV2ZS1odWIgKHBhY2thZ2VzL2FnZW50LWtpdC90b29scy9yZXN0YXJ0X2FnZW50LnRzKS4KZXhwb3J0IHsgZGVmYXVsdCB9IGZyb20gImV2ZS1odWIvdG9vbHMvcmVzdGFydF9hZ2VudCI7Cg==", "agents/chief/agent/tools/show.ts": "Ly8gTW92ZSB0aGUgaHVtYW4ncyBzY3JlZW4gdG8gYSB0aHJlYWQsIERNLCBvciBtZXNzYWdlLCBvciBvcGVuIGEgcGFnZSBvciBmaWxlIGJlc2lkZSB0aGUgdGhyZWFkLiBGcm9tIGV2ZS1odWIgKHBhY2thZ2VzL2FnZW50LWtpdC90b29scy9zaG93LnRzKS4KZXhwb3J0IHsgZGVmYXVsdCB9IGZyb20gImV2ZS1odWIvdG9vbHMvc2hvdyI7Cg==", "agents/chief/agent/tools/tag_threads.ts": "Ly8gVGhyZWFkIHRhZ3M6IHRoZSB2b2NhYnVsYXJ5LCBhbmQgc3RhZ2VkIGJhY2tmaWxsIC8gbWVyZ2UgcHJvcG9zYWxzLiBGcm9tIGV2ZS1odWIgKHBhY2thZ2VzL2FnZW50LWtpdC90b29scy90YWdfdGhyZWFkcy50cykuCmV4cG9ydCB7IGRlZmF1bHQgfSBmcm9tICJldmUtaHViL3Rvb2xzL3RhZ190aHJlYWRzIjsK", "agents/chief/agent/tools/unarchive_thread.ts": "Ly8gQnJpbmcgYW4gYXJjaGl2ZWQgdGhyZWFkIGJhY2suIEZyb20gZXZlLWh1YiAocGFja2FnZXMvYWdlbnQta2l0L3Rvb2xzL3VuYXJjaGl2ZV90aHJlYWQudHMpLgpleHBvcnQgeyBkZWZhdWx0IH0gZnJvbSAiZXZlLWh1Yi90b29scy91bmFyY2hpdmVfdGhyZWFkIjsK", "agents/chief/agent/tools/update_thread.ts": "Ly8gVXBkYXRlIGEgdGhyZWFkIHRoaXMgYm90IGlzIGluOiBpdHMgcGhhc2UsIG5vdGVzLCB0cmFja2VyLCBhcnRpZmFjdHMsIHRpdGxlIGFuZCB0cmFjay4gRnJvbSBldmUtaHViIChwYWNrYWdlcy9hZ2VudC1raXQvdG9vbHMvdXBkYXRlX3RocmVhZC50cykuCmV4cG9ydCB7IGRlZmF1bHQgfSBmcm9tICJldmUtaHViL3Rvb2xzL3VwZGF0ZV90aHJlYWQiOwo=", "agents/mac/agent/agent.ts": "aW1wb3J0IHsgZGVmaW5lQWdlbnQgfSBmcm9tICJldmUiOwppbXBvcnQgeyBtb2NrTW9kZWwgfSBmcm9tICJldmUvZXZhbHMiOwppbXBvcnQgeyBiaW5kUm9zdGVyIH0gZnJvbSAiZXZlLWh1Yi9yb3N0ZXItbW9kZWwiOwppbXBvcnQgd29ya3NwYWNlIGZyb20gIi4uLy4uLy4uL2h1Yi53b3Jrc3BhY2UuanNvbiIgd2l0aCB7IHR5cGU6ICJqc29uIiB9OwoKLy8gQ3JlYXRlZCBieSBtYWluJ3MgY3JlYXRlX2FnZW50LiBNb2RlbCwgcmVhc29uaW5nIGFuZCBwZXItc2Vzc2lvbiBsaW1pdHMgY29tZQovLyBmcm9tIGh1Yi53b3Jrc3BhY2UuanNvbiAodmlhIGV2ZS1odWIvcm9zdGVyLW1vZGVsKTsgZWRpdCB0aGVyZSBhbmQgcmVzdGFydF9hZ2VudC4KY29uc3QgeyByb3N0ZXJMaW1pdHMsIHJvc3Rlck1vZGVsIH0gPSBiaW5kUm9zdGVyKHdvcmtzcGFjZSk7CgpleHBvcnQgZGVmYXVsdCBkZWZpbmVBZ2VudCh7CiAgZGVzY3JpcHRpb246ICJSdW5zIG9uIHlvdXIgTWFjOiB5b3VyIHNoZWxsLCBmaWxlcywgZ2l0L2doIGFuZCBicm93c2VyLiBBbnN3ZXJzIHdoaWxlIHRoZSBIdWIgYXBwIGlzIG9wZW4uIiwKICBsaW1pdHM6IHJvc3RlckxpbWl0cygibWFjIiksCiAgbW9kZWw6IHJvc3Rlck1vZGVsKCJtYWMiLCB7IG1vY2s6IG1vY2tNb2RlbCgibWFjIGhlcmUgKG1vY2spLiIpIH0pLAp9KTsK", "agents/mac/agent/channels/eve.ts": "Ly8gUXVldWVkIGV2ZSBjaGFubmVsIHRoYXQgcmVzb2x2ZXMgdGhlIHJlZ2lzdHJ5J3MgaHVtYW4gYXMgYSB1c2VyLiBGcm9tIGV2ZS1odWIgKHBhY2thZ2VzL2FnZW50LWtpdC9jaGFubmVscy9ldmUtcm9zdGVyLXVzZXIudHMpLgpleHBvcnQgeyBkZWZhdWx0IH0gZnJvbSAiZXZlLWh1Yi9jaGFubmVscy9ldmUtcm9zdGVyLXVzZXIiOwo=", "agents/mac/agent/hooks/sandbox.ts": "Ly8gTWlncmF0ZXMgbGVnYWN5IERvY2tlciBzZXNzaW9ucyB0byB0aGUgaG9zdCBzYW5kYm94LiBGcm9tIGV2ZS1odWIgKHBhY2thZ2VzL2FnZW50LWtpdC9ob29rcy9zYW5kYm94LnRzKS4KZXhwb3J0IHsgZGVmYXVsdCB9IGZyb20gImV2ZS1odWIvaG9va3Mvc2FuZGJveCI7Cg==", "agents/mac/agent/instructions/execution-context.ts": "aW1wb3J0IHsgZGVmaW5lSW5zdHJ1Y3Rpb25zIH0gZnJvbSAiZXZlL2luc3RydWN0aW9ucyI7CmltcG9ydCB7IGV4ZWN1dGlvbkNvbnRleHQgfSBmcm9tICJldmUtaHViL2V4ZWN1dGlvbi1jb250ZXh0IjsKaW1wb3J0IHdvcmtzcGFjZSBmcm9tICIuLi8uLi8uLi8uLi9odWIud29ya3NwYWNlLmpzb24iIHdpdGggeyB0eXBlOiAianNvbiIgfTsKCi8vIFdoZXJlIG1hYyBydW5zLCBmcm9tIGl0cyBkZWZpbml0aW9uIGluIGh1Yi53b3Jrc3BhY2UuanNvbjogbG9jYWwsIGZyb20gdGhlIGtpdCdzCi8vIHRlbXBsYXRlcyAocGFja2FnZXMvYWdlbnQta2l0L3RlbXBsYXRlcy9leGVjdXRpb24tY29udGV4dC0qLm1kKS4gVGhlIFZlcmNlbCBidWlsZCB3cml0ZXMgYSBob3N0ZWQgYm90J3MuCmV4cG9ydCBkZWZhdWx0IGRlZmluZUluc3RydWN0aW9ucyh7IGNvbnRlbnQ6IGV4ZWN1dGlvbkNvbnRleHQoIm1hYyIsIHdvcmtzcGFjZSkgfSk7Cg==", "agents/mac/agent/instructions.ts": "aW1wb3J0IHsgZGVmaW5lSW5zdHJ1Y3Rpb25zIH0gZnJvbSAiZXZlL2luc3RydWN0aW9ucyI7CmltcG9ydCB7IGJvdEluc3RydWN0aW9ucyB9IGZyb20gImV2ZS1odWIvbWFpbi1pbnN0cnVjdGlvbnMiOwoKLy8gbWFjJ3Mgc3lzdGVtIHByb21wdDogaXRzIHJvbGUubWQgYmV0d2VlbiB0aGUga2l0J3MgdGVtcGxhdGVzIChwYWNrYWdlcy9hZ2VudC1raXQvdGVtcGxhdGVzLykuCi8vIEVkaXQgaG93IG1hYyB3b3JrcyBpbiByb2xlLm1kLCBhbmQgd2hvIG1hYyBpcyBpbiBodWIud29ya3NwYWNlLmpzb24sIG5vdCBoZXJlLgpleHBvcnQgZGVmYXVsdCBkZWZpbmVJbnN0cnVjdGlvbnMoeyBjb250ZW50OiBib3RJbnN0cnVjdGlvbnMoIm1hYyIpIH0pOwo=", "agents/mac/agent/memory/bot.ts": "Ly8gVGhpcyBib3QncyBvd24gYWdlbnRzLzxib3Q+L21lbW9yeS8gZW50cmllcywgcmVjYWxsZWQgZXZlcnkgdHVybi4gRnJvbSBldmUtaHViCi8vIChwYWNrYWdlcy9hZ2VudC1raXQvbWVtb3J5L2JvdC50cyk7IGFkZCBvciBzdXBlcnNlZGUgZW50cmllcyB0aGVyZSwgbm90IGhlcmUuCmV4cG9ydCB7IGRlZmF1bHQgfSBmcm9tICJldmUtaHViL21lbW9yeS9ib3QiOwo=", "agents/mac/agent/memory/team.ts": "Ly8gVGhlIHRlYW0gbW9kZWwgKHJvc3RlciwgdG9vbHMsIGhhbmRvZmZzKSBmcm9tIHRoZSBodWIsIHJlY2FsbGVkIGV2ZXJ5IHR1cm4uIEZyb20gZXZlLWh1YgovLyAocGFja2FnZXMvYWdlbnQta2l0L21lbW9yeS90ZWFtLnRzKTsgYWRkIG9yIHN1cGVyc2VkZSBlbnRyaWVzIHRoZXJlLCBub3QgaGVyZS4KZXhwb3J0IHsgZGVmYXVsdCB9IGZyb20gImV2ZS1odWIvbWVtb3J5L3RlYW0iOwo=", "agents/mac/agent/memory/workspace.ts": "Ly8gVGhlIHdvcmtzcGFjZSdzIG1lbW9yeS8gZW50cmllcywgcmVjYWxsZWQgZXZlcnkgdHVybi4gRnJvbSBldmUtaHViCi8vIChwYWNrYWdlcy9hZ2VudC1raXQvbWVtb3J5L3dvcmtzcGFjZS50cyk7IGFkZCBvciBzdXBlcnNlZGUgZW50cmllcyB0aGVyZSwgbm90IGhlcmUuCmV4cG9ydCB7IGRlZmF1bHQgfSBmcm9tICJldmUtaHViL21lbW9yeS93b3Jrc3BhY2UiOwo=", "agents/mac/agent/role.md": "WW91IGFyZSB0aGUgdGVhbSdzIGV5ZXMgYW5kIGhhbmRzIG9uIHRoZSBvd25lcidzIE1hYy4gVGhlIG90aGVyIGJvdHMgY29tZSB0byB5b3UgZm9yIGFueXRoaW5nIG9ubHkgdGhlIGxhcHRvcCBoYXM6IHRoZSBvd25lcidzIGNoZWNrb3V0cyBhbmQgdGhlaXIgdW5jb21taXR0ZWQgd29yaywgdGhlIGNvZGluZyBhZ2VudHMnIHNlc3Npb25zLCBpbnN0YWxsZWQgcHJvZ3JhbXMgYW5kIHZlcnNpb25zLCBgbG9jYWxob3N0YCBzZXJ2aWNlcywgWGNvZGUgYW5kIHRoZSBzaW11bGF0b3IsIHRoZSBvd25lcidzIGJyb3dzZXIuCgotICoqRmluZCBvdXQgYmVmb3JlIHlvdSBhc2suKiogIldoZXJlIGlzIGl0PyIsICJ3aGF0J3MgaW5zdGFsbGVkPyIgYW5kICJ3aGF0IHdhcyB0aGUgb3duZXIgd29ya2luZyBvbj8iIGhhdmUgYW5zd2VycyBvbiBkaXNrOiBgbHNgLCBgbWRmaW5kYCwgYGdpdCB3b3JrdHJlZSBsaXN0YCwgYGJyZXcgbGlzdGAsIGBsc29mIC1pYCwgdGhlIHNlc3Npb24gZm9sZGVycyBpbiB5b3VyIGV4ZWN1dGlvbiBjb250ZXh0LiBBc2sgdGhlIG93bmVyIG9ubHkgZm9yIHdoYXQgdGhlIE1hYyBjYW4ndCB0ZWxsIHlvdTogYSBkZWNpc2lvbiwgYSBwYXNzd29yZCwgYSB5ZXMuCi0gKipSZXBvcnQgZmFjdHMsIGFuZCBob3cgeW91IGdvdCB0aGVtLioqIFBhc3RlIHRoZSBjb21tYW5kIGFuZCB0aGUgcGFydCBvZiBpdHMgb3V0cHV0IHRoYXQgYW5zd2VycyB0aGUgcXVlc3Rpb24uIEtlZXAgd2hhdCB5b3UgaW5mZXJyZWQgYXBhcnQgZnJvbSB3aGF0IHlvdSByZWFkLgotICoqSGFuZCB0aGUgcmlnaHQgcGFydCBiYWNrLioqIFRoZSBib3QgdGhhdCBhc2tlZCBvd25zIGl0cyB0aHJlYWQncyBwbGFuIGFuZCBidWlsZC4gWW91IGFuc3dlciB3aGF0IHdhcyBhc2tlZCBhYm91dCB0aGUgTWFjLCBvciBkbyB0aGUgTWFjIHN0ZXAgaXQgbmFtZWQsIGFuZCBwb3N0IHRoZSByZXN1bHQgaW4gaXRzIHRocmVhZC4KLSAqKkVkaXQgaW4geW91ciBvd24gd29ya3RyZWUuKiogRm9yIGEgY29kZSBjaGFuZ2Ugb24gdGhlIE1hYywgbWFrZSBhIGBnaXQgd29ya3RyZWUgYWRkYCBvZiB0aGUgcmVwbyBmb3IgdGhpcyB0aHJlYWQsIGJ1aWxkIGFuZCB0ZXN0IHRoZXJlLCBhbmQgcmVtb3ZlIGl0IHdoZW4gdGhlIHdvcmsgbGFuZHMuIEhhbmQgYSBzbGljZSB5b3UgY2FuIGZ1bGx5IHNwZWNpZnkgdG8gYW4gYGFnZW50YCBjb3B5LCB0aGVuIHJlYWQgaXRzIGRpZmYgYW5kIHJ1biB0aGUgdGVzdHMgeW91cnNlbGYuCi0gKipMZWF2ZSB0aGUgTWFjIGFzIHlvdSBmb3VuZCBpdC4qKiBCZWZvcmUgeW91ciB0dXJuIGVuZHMsIHN0b3AgdGhlIHByb2Nlc3NlcyBhbmQgc2VydmVycyB5b3Ugc3RhcnRlZCBhbmQgZGVsZXRlIHlvdXIgc2NyYXRjaCBmaWxlcy4K", "agents/mac/agent/sandbox.ts": "aW1wb3J0IHsgZGVmaW5lU2FuZGJveCB9IGZyb20gImV2ZS9zYW5kYm94IjsKaW1wb3J0IHsgSG9zdFNhbmRib3ggfSBmcm9tICJldmUtaHViL2hvc3Qtc2FuZGJveCI7CgovLyBUaGUgaG9zdCBtYWNoaW5lIGlzIHRoZSBzYW5kYm94IChzZWUgcGFja2FnZXMvYWdlbnQta2l0L2hvc3Qtc2FuZGJveC50cykuCmV4cG9ydCBjb25zdCBlbnZpcm9ubWVudCA9IEhvc3RTYW5kYm94LmVudmlyb25tZW50KCk7CmV4cG9ydCBkZWZhdWx0IGRlZmluZVNhbmRib3goKCkgPT4gZW52aXJvbm1lbnQub3BlbigpKTsK", "agents/mac/agent/skills/brief.ts": "Ly8gVGhlIGJyaWVmIHNraWxsIChwYWNrYWdlcy9hZ2VudC1raXQvYnJpZWYvU0tJTEwubWQpOiBob3cgdG8gd3JpdGUgYSBicmllZiBmb3IgdGhlIGh1bWFuJ3MgeWVzIGFuZCByZWFkIGl0IGNvbGQgYmVmb3JlIHBvc3RpbmcuIEZyb20gZXZlLWh1YiAocGFja2FnZXMvYWdlbnQta2l0L3NraWxscy9icmllZi50cykuCmV4cG9ydCB7IGRlZmF1bHQgfSBmcm9tICJldmUtaHViL3NraWxscy9icmllZiI7Cg==", "agents/mac/agent/skills/fanout.ts": "Ly8gVGhlIGZhbm91dCBza2lsbCAocGFja2FnZXMvYWdlbnQta2l0L2Zhbm91dC9TS0lMTC5tZCk6IHRoZSBjb250cmFjdCBmb3IgaGFuZGluZyB3b3JrIHRvIHRoZSByZWFkZXIsIGVkaXRvciBhbmQgdmVyaWZpZXIgc3ViYWdlbnRzLiBGcm9tIGV2ZS1odWIgKHBhY2thZ2VzL2FnZW50LWtpdC9za2lsbHMvZmFub3V0LnRzKS4KZXhwb3J0IHsgZGVmYXVsdCB9IGZyb20gImV2ZS1odWIvc2tpbGxzL2Zhbm91dCI7Cg==", "agents/mac/agent/skills/forms.ts": "Ly8gVGhlIGZvcm1zIHNraWxsIChwYWNrYWdlcy9hZ2VudC1raXQvZm9ybXMvU0tJTEwubWQpOiBob3cgdG8gZHJhdyBhIGZsb3csIHNlcXVlbmNlLCBjaGFydCBvciBhc2sgdGhlIGFwcCByZW5kZXJzLiBGcm9tIGV2ZS1odWIgKHBhY2thZ2VzL2FnZW50LWtpdC9za2lsbHMvZm9ybXMudHMpLgpleHBvcnQgeyBkZWZhdWx0IH0gZnJvbSAiZXZlLWh1Yi9za2lsbHMvZm9ybXMiOwo=", "agents/mac/agent/skills/local-onboarding.ts": "Ly8gVGhlIGxvY2FsLW9uYm9hcmRpbmcgc2tpbGwgKHBhY2thZ2VzL2FnZW50LWtpdC9sb2NhbC1vbmJvYXJkaW5nL1NLSUxMLm1kKTogdGhlIE1hYyBoYWxmIG9mIG9uYm9hcmRpbmcsIHRoZSBsaXZlIHdvcmsgdG8gcG9ydCBhbmQgdGhlIHNhbmRib3ggc2V0dXAuIEZyb20gZXZlLWh1YiAocGFja2FnZXMvYWdlbnQta2l0L3NraWxscy9sb2NhbC1vbmJvYXJkaW5nLnRzKS4KZXhwb3J0IHsgZGVmYXVsdCB9IGZyb20gImV2ZS1odWIvc2tpbGxzL2xvY2FsLW9uYm9hcmRpbmciOwo=", "agents/mac/agent/subagents/editor/agent.ts": "aW1wb3J0IHsgZGVmaW5lQWdlbnQgfSBmcm9tICJldmUiOwppbXBvcnQgeyBtb2NrTW9kZWwgfSBmcm9tICJldmUvZXZhbHMiOwppbXBvcnQgeyBiaW5kUm9zdGVyIH0gZnJvbSAiZXZlLWh1Yi9yb3N0ZXItbW9kZWwiOwppbXBvcnQgeyB0aWVyRGVzY3JpcHRpb24gfSBmcm9tICJldmUtaHViL3N1YmFnZW50LXRpZXJzIjsKaW1wb3J0IHdvcmtzcGFjZSBmcm9tICIuLi8uLi8uLi8uLi8uLi9odWIud29ya3NwYWNlLmpzb24iIHdpdGggeyB0eXBlOiAianNvbiIgfTsKCi8vIE1vZGVsIGFuZCByZWFzb25pbmcgY29tZSBmcm9tIGh1Yi53b3Jrc3BhY2UuanNvbiBhZ2VudHNbIm1hYyJdLnN1YmFnZW50cy5lZGl0b3IsIGNsYW1wZWQgdG8gdGhlIGJvdCdzIHN1YmFnZW50IGNhcC4KY29uc3QgeyBzdWJhZ2VudE1vZGVsIH0gPSBiaW5kUm9zdGVyKHdvcmtzcGFjZSk7CgpleHBvcnQgZGVmYXVsdCBkZWZpbmVBZ2VudCh7CiAgZGVzY3JpcHRpb246IHRpZXJEZXNjcmlwdGlvbigiZWRpdG9yIiksCiAgLi4uc3ViYWdlbnRNb2RlbCgibWFjIiwgImVkaXRvciIsIHsgbW9jazogbW9ja01vZGVsKCJlZGl0b3IgaGVyZSAobW9jaykuIikgfSksCn0pOwo=", "agents/mac/agent/subagents/editor/instructions.ts": "aW1wb3J0IHsgZGVmaW5lSW5zdHJ1Y3Rpb25zIH0gZnJvbSAiZXZlL2luc3RydWN0aW9ucyI7CmltcG9ydCB7IHRpZXJJbnN0cnVjdGlvbnMgfSBmcm9tICJldmUtaHViL3N1YmFnZW50LXRpZXJzIjsKCi8vIFRoZSBlZGl0b3IncyBwcm9tcHQsIGZyb20gZXZlLWh1YiAocGFja2FnZXMvYWdlbnQta2l0L3N1YmFnZW50LXRpZXJzLm1qcykuCmV4cG9ydCBkZWZhdWx0IGRlZmluZUluc3RydWN0aW9ucyh7IGNvbnRlbnQ6IHRpZXJJbnN0cnVjdGlvbnMoImVkaXRvciIpIH0pOwo=", "agents/mac/agent/subagents/editor/sandbox.ts": "aW1wb3J0IHsgZGVmaW5lUGFyZW50U2FuZGJveCB9IGZyb20gImV2ZS9zYW5kYm94IjsKCmV4cG9ydCBkZWZhdWx0IGRlZmluZVBhcmVudFNhbmRib3goKTsK", "agents/mac/agent/subagents/reader/agent.ts": "aW1wb3J0IHsgZGVmaW5lQWdlbnQgfSBmcm9tICJldmUiOwppbXBvcnQgeyBtb2NrTW9kZWwgfSBmcm9tICJldmUvZXZhbHMiOwppbXBvcnQgeyBiaW5kUm9zdGVyIH0gZnJvbSAiZXZlLWh1Yi9yb3N0ZXItbW9kZWwiOwppbXBvcnQgeyB0aWVyRGVzY3JpcHRpb24gfSBmcm9tICJldmUtaHViL3N1YmFnZW50LXRpZXJzIjsKaW1wb3J0IHdvcmtzcGFjZSBmcm9tICIuLi8uLi8uLi8uLi8uLi9odWIud29ya3NwYWNlLmpzb24iIHdpdGggeyB0eXBlOiAianNvbiIgfTsKCi8vIE1vZGVsIGFuZCByZWFzb25pbmcgY29tZSBmcm9tIGh1Yi53b3Jrc3BhY2UuanNvbiBhZ2VudHNbIm1hYyJdLnN1YmFnZW50cy5yZWFkZXIsIGNsYW1wZWQgdG8gdGhlIGJvdCdzIHN1YmFnZW50IGNhcC4KY29uc3QgeyBzdWJhZ2VudE1vZGVsIH0gPSBiaW5kUm9zdGVyKHdvcmtzcGFjZSk7CgpleHBvcnQgZGVmYXVsdCBkZWZpbmVBZ2VudCh7CiAgZGVzY3JpcHRpb246IHRpZXJEZXNjcmlwdGlvbigicmVhZGVyIiksCiAgLi4uc3ViYWdlbnRNb2RlbCgibWFjIiwgInJlYWRlciIsIHsgbW9jazogbW9ja01vZGVsKCJyZWFkZXIgaGVyZSAobW9jaykuIikgfSksCn0pOwo=", "agents/mac/agent/subagents/reader/instructions.ts": "aW1wb3J0IHsgZGVmaW5lSW5zdHJ1Y3Rpb25zIH0gZnJvbSAiZXZlL2luc3RydWN0aW9ucyI7CmltcG9ydCB7IHRpZXJJbnN0cnVjdGlvbnMgfSBmcm9tICJldmUtaHViL3N1YmFnZW50LXRpZXJzIjsKCi8vIFRoZSByZWFkZXIncyBwcm9tcHQsIGZyb20gZXZlLWh1YiAocGFja2FnZXMvYWdlbnQta2l0L3N1YmFnZW50LXRpZXJzLm1qcykuCmV4cG9ydCBkZWZhdWx0IGRlZmluZUluc3RydWN0aW9ucyh7IGNvbnRlbnQ6IHRpZXJJbnN0cnVjdGlvbnMoInJlYWRlciIpIH0pOwo=", "agents/mac/agent/subagents/reader/sandbox.ts": "aW1wb3J0IHsgZGVmaW5lUGFyZW50U2FuZGJveCB9IGZyb20gImV2ZS9zYW5kYm94IjsKCmV4cG9ydCBkZWZhdWx0IGRlZmluZVBhcmVudFNhbmRib3goKTsK", "agents/mac/agent/subagents/reader/tools/write_file.ts": "aW1wb3J0IHsgZGlzYWJsZVRvb2wgfSBmcm9tICJldmUvdG9vbHMiOwoKLy8gQSByZWFkZXIgbmV2ZXIgZWRpdHMgZmlsZXMuCmV4cG9ydCBkZWZhdWx0IGRpc2FibGVUb29sKCk7Cg==", "agents/mac/agent/subagents/verifier/agent.ts": "aW1wb3J0IHsgZGVmaW5lQWdlbnQgfSBmcm9tICJldmUiOwppbXBvcnQgeyBtb2NrTW9kZWwgfSBmcm9tICJldmUvZXZhbHMiOwppbXBvcnQgeyBiaW5kUm9zdGVyIH0gZnJvbSAiZXZlLWh1Yi9yb3N0ZXItbW9kZWwiOwppbXBvcnQgeyB0aWVyRGVzY3JpcHRpb24gfSBmcm9tICJldmUtaHViL3N1YmFnZW50LXRpZXJzIjsKaW1wb3J0IHdvcmtzcGFjZSBmcm9tICIuLi8uLi8uLi8uLi8uLi9odWIud29ya3NwYWNlLmpzb24iIHdpdGggeyB0eXBlOiAianNvbiIgfTsKCi8vIE1vZGVsIGFuZCByZWFzb25pbmcgY29tZSBmcm9tIGh1Yi53b3Jrc3BhY2UuanNvbiBhZ2VudHNbIm1hYyJdLnN1YmFnZW50cy52ZXJpZmllciwgY2xhbXBlZCB0byB0aGUgYm90J3Mgc3ViYWdlbnQgY2FwLgpjb25zdCB7IHN1YmFnZW50TW9kZWwgfSA9IGJpbmRSb3N0ZXIod29ya3NwYWNlKTsKCmV4cG9ydCBkZWZhdWx0IGRlZmluZUFnZW50KHsKICBkZXNjcmlwdGlvbjogdGllckRlc2NyaXB0aW9uKCJ2ZXJpZmllciIpLAogIC4uLnN1YmFnZW50TW9kZWwoIm1hYyIsICJ2ZXJpZmllciIsIHsgbW9jazogbW9ja01vZGVsKCJ2ZXJpZmllciBoZXJlIChtb2NrKS4iKSB9KSwKfSk7Cg==", "agents/mac/agent/subagents/verifier/instructions.ts": "aW1wb3J0IHsgZGVmaW5lSW5zdHJ1Y3Rpb25zIH0gZnJvbSAiZXZlL2luc3RydWN0aW9ucyI7CmltcG9ydCB7IHRpZXJJbnN0cnVjdGlvbnMgfSBmcm9tICJldmUtaHViL3N1YmFnZW50LXRpZXJzIjsKCi8vIFRoZSB2ZXJpZmllcidzIHByb21wdCwgZnJvbSBldmUtaHViIChwYWNrYWdlcy9hZ2VudC1raXQvc3ViYWdlbnQtdGllcnMubWpzKS4KZXhwb3J0IGRlZmF1bHQgZGVmaW5lSW5zdHJ1Y3Rpb25zKHsgY29udGVudDogdGllckluc3RydWN0aW9ucygidmVyaWZpZXIiKSB9KTsK", "agents/mac/agent/subagents/verifier/sandbox.ts": "aW1wb3J0IHsgZGVmaW5lUGFyZW50U2FuZGJveCB9IGZyb20gImV2ZS9zYW5kYm94IjsKCmV4cG9ydCBkZWZhdWx0IGRlZmluZVBhcmVudFNhbmRib3goKTsK", "agents/mac/agent/subagents/verifier/tools/write_file.ts": "aW1wb3J0IHsgZGlzYWJsZVRvb2wgfSBmcm9tICJldmUvdG9vbHMiOwoKLy8gQSB2ZXJpZmllciBuZXZlciBlZGl0cyBmaWxlcy4KZXhwb3J0IGRlZmF1bHQgZGlzYWJsZVRvb2woKTsK", "agents/mac/agent/tools/bash.ts": "Ly8gZXZlJ3MgYmFzaCB3aXRoIGEgZGVmYXVsdCB0aW1lIGxpbWl0IChraWxscyB0aGUgcHJvY2VzcyBncm91cCkgYW5kIHRoZSB3b3Jrc3BhY2UncyBjb2RlIGxvY2F0aW9uLiBGcm9tIGV2ZS1odWIgKHBhY2thZ2VzL2FnZW50LWtpdC90b29scy9iYXNoLnRzKS4KZXhwb3J0IHsgZGVmYXVsdCB9IGZyb20gImV2ZS1odWIvdG9vbHMvYmFzaCI7Cg==", "agents/mac/agent/tools/browser.ts": "Ly8gSXRzIG93biBoZWFkbGVzcyBicm93c2VyLCB3YXRjaGVkIGxpdmUgaW4gdGhlIENvbXB1dGVyIHZpZXcuIEZyb20gZXZlLWh1YiAocGFja2FnZXMvYWdlbnQta2l0L3Rvb2xzL2Jyb3dzZXIudHMpLgpleHBvcnQgeyBkZWZhdWx0IH0gZnJvbSAiZXZlLWh1Yi90b29scy9icm93c2VyIjsK", "agents/mac/agent/tools/fetch_upload.ts": "Ly8gQ29waWVzIGEgZmlsZSBhbm90aGVyIGJvdCBzaGFyZWQgKGh1YjovL3VwbG9hZC88aWQ+KSBpbnRvIHRoZSBzYW5kYm94LiBGcm9tIGV2ZS1odWIgKHBhY2thZ2VzL2FnZW50LWtpdC90b29scy9mZXRjaF91cGxvYWQudHMpLgpleHBvcnQgeyBkZWZhdWx0IH0gZnJvbSAiZXZlLWh1Yi90b29scy9mZXRjaF91cGxvYWQiOwo=", "agents/mac/agent/tools/list_agents.ts": "Ly8gVGhlIHRlYW0gcmlnaHQgbm93OiBraW5kLCBwbGFjZSwgdG9vbHMsIG1vZGVscywgd2hvJ3MgYnVzeS4gRnJvbSBldmUtaHViIChwYWNrYWdlcy9hZ2VudC1raXQvdG9vbHMvbGlzdF9hZ2VudHMudHMpLgpleHBvcnQgeyBkZWZhdWx0IH0gZnJvbSAiZXZlLWh1Yi90b29scy9saXN0X2FnZW50cyI7Cg==", "agents/mac/agent/tools/list_threads.ts": "Ly8gRXZlcnkgd29ya3NwYWNlIHRocmVhZCwgZnJvbSBhbnkgc2Vzc2lvbi4gRnJvbSBldmUtaHViIChwYWNrYWdlcy9hZ2VudC1raXQvdG9vbHMvbGlzdF90aHJlYWRzLnRzKS4KZXhwb3J0IHsgZGVmYXVsdCB9IGZyb20gImV2ZS1odWIvdG9vbHMvbGlzdF90aHJlYWRzIjsK", "agents/mac/agent/tools/post_message.ts": "Ly8gUG9zdCBhIG1lc3NhZ2UgaW50byBhbiBleGlzdGluZyB0aHJlYWQgb3IgYSBib3QncyBETTsgYSB0aHJlYWQgcG9zdCBALW1lbnRpb25zIGl0cyByZWNlaXZlci4gRnJvbSBldmUtaHViIChwYWNrYWdlcy9hZ2VudC1raXQvdG9vbHMvcG9zdF9tZXNzYWdlLnRzKS4KZXhwb3J0IHsgZGVmYXVsdCB9IGZyb20gImV2ZS1odWIvdG9vbHMvcG9zdF9tZXNzYWdlIjsK", "agents/mac/agent/tools/react.ts": "Ly8gUmVhY3QgdG8gYSBtZXNzYWdlIHdpdGggYW4gZW1vamkuIEZyb20gZXZlLWh1YiAocGFja2FnZXMvYWdlbnQta2l0L3Rvb2xzL3JlYWN0LnRzKS4KZXhwb3J0IHsgZGVmYXVsdCB9IGZyb20gImV2ZS1odWIvdG9vbHMvcmVhY3QiOwo=", "agents/mac/agent/tools/read_thread.ts": "Ly8gUmVhZCBhbnkgd29ya3NwYWNlIHRocmVhZC4gRnJvbSBldmUtaHViIChwYWNrYWdlcy9hZ2VudC1raXQvdG9vbHMvcmVhZF90aHJlYWQudHMpLgpleHBvcnQgeyBkZWZhdWx0IH0gZnJvbSAiZXZlLWh1Yi90b29scy9yZWFkX3RocmVhZCI7Cg==", "agents/mac/agent/tools/show.ts": "Ly8gTW92ZSB0aGUgaHVtYW4ncyBzY3JlZW4gdG8gYSB0aHJlYWQsIERNLCBvciBtZXNzYWdlLCBvciBvcGVuIGEgcGFnZSBvciBmaWxlIGJlc2lkZSB0aGUgdGhyZWFkLiBGcm9tIGV2ZS1odWIgKHBhY2thZ2VzL2FnZW50LWtpdC90b29scy9zaG93LnRzKS4KZXhwb3J0IHsgZGVmYXVsdCB9IGZyb20gImV2ZS1odWIvdG9vbHMvc2hvdyI7Cg==", "agents/mac/agent/tools/update_thread.ts": "Ly8gVXBkYXRlIGEgdGhyZWFkIHRoaXMgYm90IGlzIGluOiBpdHMgcGhhc2UsIG5vdGVzLCB0cmFja2VyLCBhcnRpZmFjdHMsIHRpdGxlIGFuZCB0cmFjay4gRnJvbSBldmUtaHViIChwYWNrYWdlcy9hZ2VudC1raXQvdG9vbHMvdXBkYXRlX3RocmVhZC50cykuCmV4cG9ydCB7IGRlZmF1bHQgfSBmcm9tICJldmUtaHViL3Rvb2xzL3VwZGF0ZV90aHJlYWQiOwo=", "agents/mac/agent/tools/view_image.ts": "Ly8gU2hvd3MgdGhlIGJvdCBhbiBpbWFnZSAoYSBzYW5kYm94IGZpbGUgb3IgYSBicm93c2VyIHNjcmVlbnNob3QpIHNvIGl0IGNhbiBzZWUgaXQuIEZyb20gZXZlLWh1YiAocGFja2FnZXMvYWdlbnQta2l0L3Rvb2xzL3ZpZXdfaW1hZ2UudHMpLgpleHBvcnQgeyBkZWZhdWx0IH0gZnJvbSAiZXZlLWh1Yi90b29scy92aWV3X2ltYWdlIjsK", "hub.workspace.json": "ewogICJydW5zT24iOiAiaG9zdGVkIiwKICAiYWdlbnRzIjogWwogICAgewogICAgICAibmFtZSI6ICJjaGllZiIsCiAgICAgICJtb2RlbCI6ICJhbnRocm9waWMvY2xhdWRlLW9wdXMtNS41IiwKICAgICAgImNvbG9yIjogIiNhNzhiZmEiLAogICAgICAicm9sZSI6ICJDaGllZiBvZiBzdGFmZi4gU2NvcGVzIHdvcmssIHJvdXRlcyBpdCB0byB0aGUgcmlnaHQgYm90LCBjbGVhcnMgYmxvY2tlcnMgYW5kIGRyaXZlcyBldmVyeSB0aHJlYWQgdG8gZG9uZS4iLAogICAgICAia2luZCI6ICJjb29yZGluYXRvciIKICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIm1hYyIsCiAgICAgICJtb2RlbCI6ICJhbnRocm9waWMvY2xhdWRlLW9wdXMtNS41IiwKICAgICAgImNvbG9yIjogIiNmNDcyYjYiLAogICAgICAia2luZCI6ICJidWlsZGVyIiwKICAgICAgInJ1bnNPbiI6ICJsb2NhbCIsCiAgICAgICJzdWJhZ2VudHMiOiB7CiAgICAgICAgInJlYWRlciI6IHsKICAgICAgICAgICJtb2RlbCI6ICJkZWVwc2Vlay9kZWVwc2Vlay12NC1wcm8iLAogICAgICAgICAgInJlYXNvbmluZyI6ICJsb3ciCiAgICAgICAgfSwKICAgICAgICAiZWRpdG9yIjogewogICAgICAgICAgIm1vZGVsIjogImRlZXBzZWVrL2RlZXBzZWVrLXY0LXBybyIsCiAgICAgICAgICAicmVhc29uaW5nIjogImxvdyIKICAgICAgICB9LAogICAgICAgICJ2ZXJpZmllciI6IHsKICAgICAgICAgICJtb2RlbCI6ICJhbnRocm9waWMvY2xhdWRlLXNvbm5ldC01LjUiLAogICAgICAgICAgInJlYXNvbmluZyI6ICJsb3ciCiAgICAgICAgfQogICAgICB9LAogICAgICAicm9sZSI6ICJSdW5zIG9uIHlvdXIgTWFjOiB5b3VyIHNoZWxsLCBmaWxlcywgZ2l0L2doIGFuZCBicm93c2VyLiBBbnN3ZXJzIHdoaWxlIHRoZSBIdWIgYXBwIGlzIG9wZW4uIgogICAgfQogIF0KfQo=", "package.json": "ewogICJuYW1lIjogImh1Yi10ZW1wbGF0ZS1vbmZ3dGgiLAogICJwcml2YXRlIjogdHJ1ZSwKICAidHlwZSI6ICJtb2R1bGUiLAogICJkZXBlbmRlbmNpZXMiOiB7CiAgICAiZXZlIjogIjEuMC4wLXJjLjQiLAogICAgInpvZCI6ICJeNC41LjQiLAogICAgImV2ZS1odWIiOiAiaHR0cHM6Ly9mcWwzcjNsanNrajdyemNkLnB1YmxpYy5ibG9iLnZlcmNlbC1zdG9yYWdlLmNvbS9ldmUtaHViL2V2ZS1odWItMC4xNi42My50Z3oiLAogICAgIkBvcGVudGVsZW1ldHJ5L2FwaSI6ICJeMS45LjEiLAogICAgInVuZGljaSI6ICJeNy4zMC4wIiwKICAgICJAdmVyY2VsL2Nvbm5lY3QiOiAiXjIuNy4wIiwKICAgICJAdmVyY2VsL29pZGMiOiAiNC4wLjAiCiAgfSwKICAiZW5naW5lcyI6IHsKICAgICJub2RlIjogIjI0LngiCiAgfQp9", "vercel.ts": "aW1wb3J0IGh1YiBmcm9tICJldmUtaHViL3ZlcmNlbCI7CgpleHBvcnQgZGVmYXVsdCB7IHJvdXRlczogaHViLnJvdXRlcywgc2VydmljZXM6IGh1Yi5zZXJ2aWNlcyB9Owo=" };
204561
+ var templateVersion = "0.16.63";
204505
204562
 
204506
204563
  // src/adapters/sql/queries/workspace/roster.ts
204507
204564
  var onLocal = (bot2) => `EXISTS (SELECT 1 FROM bots WHERE name = ${bot2} AND runs_on = 'local')`;
@@ -207816,6 +207873,11 @@ var hopAfter = (session2) => q2("delivery.hopAfter", `(SELECT 1 + COALESCE(MAX(m
207816
207873
  EXISTS (SELECT 1 FROM turn_deliveries td WHERE td.delivery_id = d.id AND td.turn_id = (SELECT id FROM turns WHERE session_id = ? ORDER BY started_at DESC, rid DESC LIMIT 1))
207817
207874
  OR (d.accepted_at IS NOT NULL AND NOT EXISTS (SELECT 1 FROM turn_deliveries td WHERE td.delivery_id = d.id))))`, session2, session2);
207818
207875
 
207876
+ // src/store/json-text.ts
207877
+ var NUL_ESCAPE = /(?<!\\)((?:\\\\)*)\\u0000/g;
207878
+ var jsonText = (value) => JSON.stringify(value).replace(NUL_ESCAPE, "$1\\ufffd");
207879
+ var jsonbOf = (column) => `CAST(replace(${column}, '\\u0000', '\\ufffd') AS jsonb)`;
207880
+
207819
207881
  // src/adapters/sql/queries/conversation/messages.ts
207820
207882
  var latestPhase = (threadId2) => q2("conversation.latestPhase", "SELECT status FROM messages WHERE thread_id = ? AND status IS NOT NULL ORDER BY rid DESC LIMIT 1", threadId2);
207821
207883
  var latestPhaseOf = (threadId2) => q2("conversation.latestPhaseOf", "(SELECT status FROM messages WHERE thread_id = ? AND status IS NOT NULL ORDER BY rid DESC LIMIT 1)", threadId2);
@@ -207841,7 +207903,7 @@ var threadMembers = (threadId2) => threadId2 === void 0 ? q2("conversation.threa
207841
207903
  WHERE EXISTS (SELECT 1 FROM messages x WHERE x.thread_id = ? AND x.author = b.name AND x.author_kind = 'agent')`, threadId2, threadId2);
207842
207904
  var ROUTE_TAIL = `SELECT author, text FROM messages WHERE thread_id = ? AND author_kind IN ('human', 'agent') AND status IS NULL ORDER BY created_at DESC LIMIT 6`;
207843
207905
  var routeTail = (threadId2) => q2("conversation.routeTail", ROUTE_TAIL, threadId2);
207844
- var taskCard = `(SELECT CASE WHEN jsonb_array_length(CAST(t.activity AS jsonb) #> '{taskCard,tasks}') > 0 THEN CAST(CAST(t.activity AS jsonb) #> '{taskCard}' AS TEXT) END
207906
+ var taskCard = `(SELECT CASE WHEN jsonb_array_length(${jsonbOf("t.activity")} #> '{taskCard,tasks}') > 0 THEN CAST(${jsonbOf("t.activity")} #> '{taskCard}' AS TEXT) END
207845
207907
  FROM turns t WHERE t.id = m.turn_id AND m.author_kind = 'agent' AND t.status NOT IN ${openTurnStatuses}
207846
207908
  AND m.rid = (SELECT MAX(x.rid) FROM messages x WHERE x.turn_id = m.turn_id))`;
207847
207909
  var factColumns = `status, status_from, metadata, verdict, decisions, tested, ${taskCard} AS task_card, event`;
@@ -223640,7 +223702,7 @@ function inlined(compiled3, flavor) {
223640
223702
  return flavor === "postgres" ? compiled3.sql.replace(/\$(\d+)/g, (_, n2) => literal8(compiled3.parameters[Number(n2) - 1])) : compiled3.sql.replace(/\?/g, () => literal8(compiled3.parameters[i3++]));
223641
223703
  }
223642
223704
  var compileView = (def, flavor) => inlined(def(queryBuilder(flavor), flavor).compile(), flavor);
223643
- var jsonText = (flavor, column, key) => flavor === "postgres" ? sql3`(CAST(${column} AS jsonb) ->> ${key})` : sql3`(${column} ->> ${key})`;
223705
+ var jsonText2 = (flavor, column, key) => flavor === "postgres" ? sql3`(CAST(${column} AS jsonb) ->> ${key})` : sql3`(${column} ->> ${key})`;
223644
223706
  var jsonObject = (flavor, column, key) => flavor === "postgres" ? sql3`(CAST(${column} AS jsonb) -> ${key})` : sql3`(${column} -> ${key})`;
223645
223707
  var greatest = (eb, flavor, a2, b2) => eb.fn(flavor === "postgres" ? "greatest" : "max", [a2, b2]);
223646
223708
  var position = (eb, flavor, text5, needle) => eb.fn(flavor === "postgres" ? "strpos" : "instr", [text5, eb.val(needle)]);
@@ -223667,9 +223729,9 @@ var bot_roster = (db, flavor) => db.selectFrom((qb) => qb.selectFrom("bots as b"
223667
223729
  "b.position as position",
223668
223730
  eb.case().when(eb.and([
223669
223731
  eb("b.runs_on", "=", eb.val("local")),
223670
- eb.exists(eb.selectFrom(["local_runner as l", "workspace_repo as w"]).select(eb.lit(1).as("one")).where("l.id", "=", eb.lit(1)).where("w.id", "=", eb.lit(1)).where((w) => w("l.setup_failed_commit", "=", jsonText(flavor, w.ref("w.metadata"), "commit"))))
223732
+ eb.exists(eb.selectFrom(["local_runner as l", "workspace_repo as w"]).select(eb.lit(1).as("one")).where("l.id", "=", eb.lit(1)).where("w.id", "=", eb.lit(1)).where((w) => w("l.setup_failed_commit", "=", jsonText2(flavor, w.ref("w.metadata"), "commit"))))
223671
223733
  ])).then(eb.lit(1)).else(eb.lit(0)).end().as("setup_failed"),
223672
- eb.case().when("b.runs_on", "=", eb.val("local")).then(eb.selectFrom("local_runner as l").select(jsonText(flavor, eb.ref("l.held_bots"), eb.ref("b.name")).as("held")).where("l.id", "=", eb.lit(1))).end().as("held")
223734
+ eb.case().when("b.runs_on", "=", eb.val("local")).then(eb.selectFrom("local_runner as l").select(jsonText2(flavor, eb.ref("l.held_bots"), eb.ref("b.name")).as("held")).where("l.id", "=", eb.lit(1))).end().as("held")
223673
223735
  ]).as("r")).select((eb) => [
223674
223736
  "r.name as name",
223675
223737
  "r.position as position",
@@ -223690,9 +223752,9 @@ var dash_entries = (db, flavor) => {
223690
223752
  ...schedules ? [eb("t.id", "not like", eb.val("sch-%"))] : []
223691
223753
  ]);
223692
223754
  const readyToLand = (eb) => eb.and([
223693
- eb(eb.cast(jsonText(flavor, eb.ref("x.package"), "ready"), "text"), "in", [eb.val("true"), eb.val("1")]),
223755
+ eb(eb.cast(jsonText2(flavor, eb.ref("x.package"), "ready"), "text"), "in", [eb.val("true"), eb.val("1")]),
223694
223756
  eb("x.lane0", "=", eb.val("needs-you")),
223695
- eb.not(eb.exists(eb.selectFrom("messages as m").select(eb.lit(1).as("one")).whereRef("m.thread_id", "=", "x.thread_id").where("m.author_kind", "=", eb.val("human")).where("m.created_at", ">", eb.cast(eb.fn("round", [eb(epochSeconds(flavor, eb.cast(jsonText(flavor, jsonObject(flavor, eb.ref("x.package"), "review"), "at"), "text")), "*", eb.lit(1e3))]), "bigint"))))
223757
+ eb.not(eb.exists(eb.selectFrom("messages as m").select(eb.lit(1).as("one")).whereRef("m.thread_id", "=", "x.thread_id").where("m.author_kind", "=", eb.val("human")).where("m.created_at", ">", eb.cast(eb.fn("round", [eb(epochSeconds(flavor, eb.cast(jsonText2(flavor, jsonObject(flavor, eb.ref("x.package"), "review"), "at"), "text")), "*", eb.lit(1e3))]), "bigint"))))
223696
223758
  ]);
223697
223759
  const none = (eb) => eb.cast(eb.val(null), "text");
223698
223760
  return db.selectFrom((qb) => qb.selectFrom("threads as t").leftJoin("dash_packages as p", "p.thread_id", "t.id").select((eb) => [
@@ -223747,7 +223809,7 @@ var dash_entries = (db, flavor) => {
223747
223809
  var human_asks = (db, flavor) => {
223748
223810
  const element = flavor === "postgres" ? sql3`"j"` : sql3`"j"."value"`;
223749
223811
  const rowsOf2 = flavor === "postgres" ? sql3`jsonb_array_elements(CAST("s"."rows" AS jsonb))` : sql3`json_each("s"."rows")`;
223750
- const field2 = (eb, key) => eb.cast(jsonText(flavor, element, key), "text");
223812
+ const field2 = (eb, key) => eb.cast(jsonText2(flavor, element, key), "text");
223751
223813
  const restsOn = sql3`("t"."id" || '#' || "t"."rests_on")`;
223752
223814
  const visible = (eb) => eb.and([
223753
223815
  eb("t.waiting_on", "=", eb.val("human")),
@@ -223763,7 +223825,7 @@ var human_asks = (db, flavor) => {
223763
223825
  field2(eb, "ref").as("ref"),
223764
223826
  field2(eb, "since").as("row_since"),
223765
223827
  field2(eb, "state").as("state"),
223766
- eb.fn("lower", [eb.fn.coalesce(jsonText(flavor, element, "waitsOn"), jsonText(flavor, element, "owner"))]).as("who")
223828
+ eb.fn("lower", [eb.fn.coalesce(jsonText2(flavor, element, "waitsOn"), jsonText2(flavor, element, "owner"))]).as("who")
223767
223829
  ]).where((eb) => eb.and([eb("s.scope", "like", eb.val("thread:%")), eb("s.rows", "like", eb.val("%started%"))]))).with("row_asks", (qb) => qb.selectFrom("tracker as k").select(["k.thread_id", "k.row_id", "k.title", "k.ref", "k.row_since"]).where((eb) => eb.and([eb("k.state", "in", [eb.val("started"), eb.val("unstarted")]), eb("k.who", "in", eb.selectFrom("names").select("name"))]))).with("asks", (qb) => qb.selectFrom("row_asks as r").innerJoin("threads as t", "t.id", "r.thread_id").select((eb) => [
223768
223830
  "r.thread_id as thread_id",
223769
223831
  "r.row_id as row_id",
@@ -223790,7 +223852,7 @@ var human_asks = (db, flavor) => {
223790
223852
  // views/delivery_status.ts
223791
223853
  var seenBy = (eb) => eb.exists(eb.selectFrom("turn_deliveries as td").select(eb.lit(1).as("one")).whereRef("td.delivery_id", "=", "d.id"));
223792
223854
  var runsLocally = (eb) => eb.selectFrom("bots as b").select(eb.lit(1).as("one")).whereRef("b.name", "=", "d.bot").where("b.runs_on", "=", eb.val("local"));
223793
- var hopLimit2 = (eb, flavor) => eb.selectFrom("workspace_repo").select(jsonText(flavor, jsonObject(flavor, eb.ref("workspace_repo.metadata"), "workspace"), "hopLimit").as("limit")).where("workspace_repo.id", "=", eb.lit(1));
223855
+ var hopLimit2 = (eb, flavor) => eb.selectFrom("workspace_repo").select(jsonText2(flavor, jsonObject(flavor, eb.ref("workspace_repo.metadata"), "workspace"), "hopLimit").as("limit")).where("workspace_repo.id", "=", eb.lit(1));
223794
223856
  var delivery_status = (db, flavor) => db.selectFrom("deliveries as d").select((eb) => [
223795
223857
  "d.id as id",
223796
223858
  "d.message_id as message_id",
@@ -223801,10 +223863,10 @@ var delivery_status = (db, flavor) => db.selectFrom("deliveries as d").select((e
223801
223863
  "d.accepted_at"
223802
223864
  ))).limit(1),
223803
223865
  eb.case().when(seenBy(eb)).then("seen").else("delivered").end()
223804
- )).when("d.failed_at", "is not", null).then("failed").when("d.revoked_at", "is not", null).then("skipped").when(eb.exists(eb.selectFrom("messages as hm").select(eb.lit(1).as("one")).whereRef("hm.id", "=", "d.message_id").where("hm.author_kind", "=", eb.val("agent")).where((e2) => e2(hopLimit2(e2, flavor), "is not", null)).where((e2) => e2("hm.hop", ">=", e2.cast(hopLimit2(e2, flavor), "integer"))))).then("blocked: hop limit").when(eb.and([eb("d.held_at", "is not", null), eb("d.held_scope", "=", eb.val("request"))])).then(eb(eb.val("waiting: on your answer to "), "||", eb.ref("d.bot"))).when("d.held_at", "is not", null).then(eb.case(eb.ref("d.held_scope")).when(eb.val("bot")).then("queued until free").else("queued").end()).when(eb.exists(eb.selectFrom(["bots as b", "local_runner as l", "workspace_repo as w"]).select(eb.lit(1).as("one")).whereRef("b.name", "=", "d.bot").where("b.runs_on", "=", eb.val("local")).where("l.id", "=", eb.lit(1)).where("w.id", "=", eb.lit(1)).where((e2) => e2("l.setup_failed_commit", "=", jsonText(flavor, e2.ref("w.metadata"), "commit"))))).then("held: until its Mac sets up the workspace").when(eb.exists(eb.selectFrom(["bots as b", "local_runner as l"]).select(eb.lit(1).as("one")).whereRef("b.name", "=", "d.bot").where("b.runs_on", "=", eb.val("local")).where("l.id", "=", eb.lit(1)).where((e2) => e2(jsonText(flavor, e2.ref("l.held_bots"), e2.ref("d.bot")), "is not", null)))).then(eb(
223866
+ )).when("d.failed_at", "is not", null).then("failed").when("d.revoked_at", "is not", null).then("skipped").when(eb.exists(eb.selectFrom("messages as hm").select(eb.lit(1).as("one")).whereRef("hm.id", "=", "d.message_id").where("hm.author_kind", "=", eb.val("agent")).where((e2) => e2(hopLimit2(e2, flavor), "is not", null)).where((e2) => e2("hm.hop", ">=", e2.cast(hopLimit2(e2, flavor), "integer"))))).then("blocked: hop limit").when(eb.and([eb("d.held_at", "is not", null), eb("d.held_scope", "=", eb.val("request"))])).then(eb(eb.val("waiting: on your answer to "), "||", eb.ref("d.bot"))).when("d.held_at", "is not", null).then(eb.case(eb.ref("d.held_scope")).when(eb.val("bot")).then("queued until free").else("queued").end()).when(eb.exists(eb.selectFrom(["bots as b", "local_runner as l", "workspace_repo as w"]).select(eb.lit(1).as("one")).whereRef("b.name", "=", "d.bot").where("b.runs_on", "=", eb.val("local")).where("l.id", "=", eb.lit(1)).where("w.id", "=", eb.lit(1)).where((e2) => e2("l.setup_failed_commit", "=", jsonText2(flavor, e2.ref("w.metadata"), "commit"))))).then("held: until its Mac sets up the workspace").when(eb.exists(eb.selectFrom(["bots as b", "local_runner as l"]).select(eb.lit(1).as("one")).whereRef("b.name", "=", "d.bot").where("b.runs_on", "=", eb.val("local")).where("l.id", "=", eb.lit(1)).where((e2) => e2(jsonText2(flavor, e2.ref("l.held_bots"), e2.ref("d.bot")), "is not", null)))).then(eb(
223805
223867
  eb.val("held: "),
223806
223868
  "||",
223807
- eb.selectFrom("local_runner as l").select((e2) => e2.case(jsonText(flavor, e2.ref("l.held_bots"), e2.ref("d.bot"))).when(eb.val("draining")).then("draining, until its Mac runner restarts").when(eb.val("restarting")).then("restarting on its Mac").else("not running on its Mac").end().as("why")).where("l.id", "=", eb.lit(1))
223869
+ eb.selectFrom("local_runner as l").select((e2) => e2.case(jsonText2(flavor, e2.ref("l.held_bots"), e2.ref("d.bot"))).when(eb.val("draining")).then("draining, until its Mac runner restarts").when(eb.val("restarting")).then("restarting on its Mac").else("not running on its Mac").end().as("why")).where("l.id", "=", eb.lit(1))
223808
223870
  )).when(eb.and([
223809
223871
  eb.exists(runsLocally(eb)),
223810
223872
  eb.exists(eb.selectFrom("local_runner").select(eb.lit(1).as("one")).where("id", "=", eb.lit(1)).where("device", "is not", null).where("attachments", "=", eb.lit(0))),
@@ -223870,7 +223932,7 @@ var pending_requests = (db, flavor) => db.selectFrom("input_requests as r").inne
223870
223932
  eb("r.sweep_gave_up_at", "is", null)
223871
223933
  ]))).where((eb) => eb.not(eb.and([
223872
223934
  eb("r.kind", "=", eb.val("authorization")),
223873
- eb.fn.coalesce(eb(epochSeconds(flavor, jsonText(flavor, eb.ref("r.authorization"), "expiresAt").$castTo()), "<=", nowSeconds(flavor)), eb.lit(false))
223935
+ eb.fn.coalesce(eb(epochSeconds(flavor, jsonText2(flavor, eb.ref("r.authorization"), "expiresAt").$castTo()), "<=", nowSeconds(flavor)), eb.lit(false))
223874
223936
  ]))).where((eb) => eb.exists(eb.selectFrom("threads as t").select(eb.lit(1).as("one")).whereRef("t.id", "=", "r.thread_id"))).where((eb) => eb.not(eb.exists(eb.selectFrom("thread_meta as m").select(eb.lit(1).as("one")).whereRef("m.thread_id", "=", "r.thread_id").where("m.archived_by", "is not", null))));
223875
223937
 
223876
223938
  // views/projects.ts
@@ -225229,7 +225291,7 @@ var GATE_DEFAULTS = {
225229
225291
  threshold: 0.05,
225230
225292
  incidentalThreshold: 0.3
225231
225293
  };
225232
- var GATEWAY = "https://ai-gateway.vercel.sh/v1";
225294
+ var GATEWAY2 = "https://ai-gateway.vercel.sh/v1";
225233
225295
  var isDecisionModel = (model) => /-decisions$|^typesafe-ai\/jev$|\/d1$|\/laya$/.test(String(model ?? ""));
225234
225296
  function gateConfig(env2 = process.env, file6 = {}) {
225235
225297
  const f2 = file6 && typeof file6 === "object" ? file6 : {};
@@ -225250,7 +225312,7 @@ function gateConfig(env2 = process.env, file6 = {}) {
225250
225312
  timeoutMs: Number.isFinite(timeout) && timeout > 0 ? timeout : GATE_DEFAULTS.timeoutMs,
225251
225313
  threshold: prob(env2.HUB_MENTION_GATE_THRESHOLD ?? f2.threshold, GATE_DEFAULTS.threshold),
225252
225314
  incidentalThreshold: prob(env2.HUB_MENTION_GATE_INCIDENTAL_THRESHOLD ?? f2.incidentalThreshold, GATE_DEFAULTS.incidentalThreshold),
225253
- url: env2.HUB_MENTION_GATE_URL?.trim() || `${GATEWAY}/${api3 === "decisions" ? "decisions" : "chat/completions"}`
225315
+ url: env2.HUB_MENTION_GATE_URL?.trim() || `${GATEWAY2}/${api3 === "decisions" ? "decisions" : "chat/completions"}`
225254
225316
  };
225255
225317
  }
225256
225318
 
@@ -226498,7 +226560,7 @@ var routeBotsColumn = `(SELECT COALESCE(jsonb_agg(jsonb_build_object('name', b.n
226498
226560
  var FOLD_STATE_SQL = `SELECT * FROM (WITH sess AS (SELECT * FROM sessions WHERE id = ?)
226499
226561
  SELECT s.id, s.thread_id, s.bot, COALESCE(f.folded_index, -1) AS folded_index, (SELECT COALESCE(jsonb_agg(name ORDER BY position), CAST('[]' AS jsonb)) FROM bots) AS roster,
226500
226562
  (SELECT jsonb_build_object('person', person, 'names', CAST(names AS jsonb)) FROM human_notify) AS notify,
226501
- (SELECT jsonb_build_object('status', t.status, 'paused', t.paused, 'id', t.id, 'text', t.reply_text, 'lastStep', CAST(t.last_step AS jsonb), 'activity', CAST(t.activity AS jsonb),
226563
+ (SELECT jsonb_build_object('status', t.status, 'paused', t.paused, 'id', t.id, 'text', t.reply_text, 'lastStep', ${jsonbOf("t.last_step")}, 'activity', ${jsonbOf("t.activity")},
226502
226564
  'trigger', ${triggerOf("t")}, 'eve', t.eve_turn_id, 'at', t.folded_index, 'startedIndex', t.started_index, 'outputAt', (SELECT o.at FROM turn_outputs o WHERE o.turn_id = t.id), 'linked', (SELECT COALESCE(jsonb_agg(td.delivery_id), CAST('[]' AS jsonb)) FROM turn_deliveries td WHERE td.turn_id = t.id)) FROM turns t WHERE t.session_id = s.id AND t.status IN ${openTurnStatuses}
226503
226565
  ORDER BY t.started_at DESC LIMIT 1) AS open_turn
226504
226566
  FROM sess s LEFT JOIN session_folds f ON f.session_id = s.id) fold_state`;
@@ -238028,6 +238090,10 @@ function replaysTurn(fact2, started, open8) {
238028
238090
  // src/store/activity-of.ts
238029
238091
  var REASONING_TAIL = 600;
238030
238092
  var THINKING_TAIL = 4e3;
238093
+ var tailOf = (text5, n2) => {
238094
+ const t = text5.slice(-n2);
238095
+ return /^[\uDC00-\uDFFF]/.test(t) ? t.slice(1) : t;
238096
+ };
238031
238097
  var TIMELINE_CAP = 300;
238032
238098
  var emptyNotes = () => ({ timeline: [], calls: /* @__PURE__ */ new Map(), members: /* @__PURE__ */ new Map(), card: emptyCard(), facts: 0 });
238033
238099
  var taskStatus = (outcome2) => outcome2 === "completed" ? "done" : "failed";
@@ -238143,7 +238209,7 @@ function timelineOf(l2, notes, tail2, calls2) {
238143
238209
  if (p2.kind !== "reasoning" || p2.run !== void 0 && l2.steered.has(p2.run)) continue;
238144
238210
  const last = out.at(-1);
238145
238211
  if (last?.kind === "thinking" && last.part === e2.part) continue;
238146
- out.push({ kind: "thinking", text: p2.text.slice(-tail2), at: e2.at, part: e2.part, run: p2.run });
238212
+ out.push({ kind: "thinking", text: tailOf(p2.text, tail2), at: e2.at, part: e2.part, run: p2.run });
238147
238213
  }
238148
238214
  return out;
238149
238215
  }
@@ -238166,7 +238232,7 @@ function activityOf(view3, notes) {
238166
238232
  const l2 = lookups(view3, notes), { ids, tools } = toolsOf(l2, notes), swarm = membersOf(view3, l2, notes, tools);
238167
238233
  const card = structuredClone(notes.card), timeline = timelineOf(l2, notes, THINKING_TAIL, ids);
238168
238234
  return {
238169
- reasoning: reasoningOf(l2, notes).slice(-REASONING_TAIL),
238235
+ reasoning: tailOf(reasoningOf(l2, notes), REASONING_TAIL),
238170
238236
  notes: timeline.flatMap((e2) => e2.kind === "note" ? [e2.text] : []),
238171
238237
  tools,
238172
238238
  swarm,
@@ -238236,7 +238302,7 @@ function noteChild(id2, t, chunk, now2, each, unknown7) {
238236
238302
  function foldSubagent(state2, chunks, now2 = Date.now()) {
238237
238303
  if (!state2.eveView) throw new Error(`fold of subagent ${state2.id}: no eve view (primeState)`);
238238
238304
  const { id: id2 } = state2, t = forkEveTurn(state2.eveView), stmts = [], unknown7 = {};
238239
- const before = JSON.stringify(memberActivityOf(viewOf(t), t.notes));
238305
+ const before = jsonText(memberActivityOf(viewOf(t), t.notes));
238240
238306
  let last = state2.foldedIndex;
238241
238307
  for (const chunk of chunks) {
238242
238308
  if (chunk.index <= state2.foldedIndex) continue;
@@ -238248,7 +238314,7 @@ function foldSubagent(state2, chunks, now2 = Date.now()) {
238248
238314
  }, unknown7);
238249
238315
  last = chunk.index;
238250
238316
  }
238251
- const activity3 = JSON.stringify(memberActivityOf(viewOf(t), t.notes));
238317
+ const activity3 = jsonText(memberActivityOf(viewOf(t), t.notes));
238252
238318
  if (activity3 !== before) stmts.push(put("subagent_activity", { session_id: id2, activity: activity3 }, { conflict: "update" }));
238253
238319
  if (last > state2.foldedIndex)
238254
238320
  stmts.push(advanceSubagentFold(id2, last));
@@ -238499,7 +238565,7 @@ function fold(state2, chunks, now2 = Date.now(), answers = {}) {
238499
238565
  };
238500
238566
  if (state2.open && !state2.open.eveView) throw new Error(`fold of ${session2.id}: open turn ${state2.open.id} has no eve view (primeState)`);
238501
238567
  let open8 = state2.open && { ...state2.open, eveView: forkEveTurn(state2.open.eveView), trigger: state2.open.trigger ?? null, eve: state2.open.eve ?? null, lastStep: state2.open.lastStep ?? null, status: state2.open.status, endedAt: null, error: null, at: state2.open.at ?? null, outputAt: state2.open.outputAt ?? null, by: null, paused: !!state2.open.paused, outcome: null, seen: { activity: "", lastStep: "" } };
238502
- if (open8) open8.seen = { activity: JSON.stringify(activityOfTurn(open8.eveView)), lastStep: JSON.stringify(open8.lastStep) };
238568
+ if (open8) open8.seen = { activity: jsonText(activityOfTurn(open8.eveView)), lastStep: jsonText(open8.lastStep) };
238503
238569
  const derive = (t, at5) => {
238504
238570
  deltas = false;
238505
238571
  const view3 = viewOf(t.eveView), turnId2 = t.eve;
@@ -238509,7 +238575,7 @@ function fold(state2, chunks, now2 = Date.now(), answers = {}) {
238509
238575
  emit(pauseTurn(t.id, paused2));
238510
238576
  }
238511
238577
  const text5 = replyOf(view3, turnId2), lastStep = lastStepOf(view3, turnId2, t.eveView.notes);
238512
- const seen = { activity: JSON.stringify(activityOf(view3, t.eveView.notes)), lastStep: JSON.stringify(lastStep) };
238578
+ const seen = { activity: jsonText(activityOf(view3, t.eveView.notes)), lastStep: jsonText(lastStep) };
238513
238579
  if (text5 && !t.text) emit(patch("turns", { id: t.id, first_text_at: null }, { first_text_at: firstTextAt(view3, t.eveView.notes) ?? at5 }));
238514
238580
  const changed = text5 !== t.text || seen.activity !== t.seen.activity || seen.lastStep !== t.seen.lastStep;
238515
238581
  Object.assign(t, { text: text5, lastStep, seen });
@@ -238751,7 +238817,7 @@ function fold(state2, chunks, now2 = Date.now(), answers = {}) {
238751
238817
  const live = open8 && touched.has(open8.id) ? [{ id: open8.id, threadId: session2.thread, sessionId: session2.id, bot: session2.bot, from: -1, upto: open8.at ?? last, status: open8.status, replyText: open8.text, activity: activityOfTurn(open8.eveView), lastStep: open8.lastStep }] : [];
238752
238818
  const draftOnly = !durable && live.length > 0 && [...touched.values()].every((t) => t.status === "streaming");
238753
238819
  for (const t of touched.values()) {
238754
- emit(patch("turns", { id: t.id }, { reply_text: t.text, last_step: t.lastStep && JSON.stringify(t.lastStep), activity: JSON.stringify(activityOfTurn(t.eveView)), folded_index: t.at }));
238820
+ emit(patch("turns", { id: t.id }, { reply_text: t.text, last_step: t.lastStep && jsonText(t.lastStep), activity: jsonText(activityOfTurn(t.eveView)), folded_index: t.at }));
238755
238821
  if (t.endedAt === null) emit(stopIfRevoked(t.id, at4, REVOKED));
238756
238822
  else emit(
238757
238823
  other(clearTurnLinesUpto(session2.id, t.lastLine ?? last)),
@@ -238792,7 +238858,7 @@ async function foldJudged(state2, chunks, now2, judges = {}) {
238792
238858
  const late = await ask3(second.routes);
238793
238859
  return late.length ? fold(cloneState(state2), chunks, now2, { closing: new Map(closing), routes: new Map([...routes, ...late]) }) : second;
238794
238860
  }
238795
- var snapshot = (open8) => ({ id: open8.id, upto: open8.at, text: open8.text, activity: JSON.stringify(activityOfTurn(open8.eveView)), lastStep: open8.lastStep && JSON.stringify(open8.lastStep) });
238861
+ var snapshot = (open8) => ({ id: open8.id, upto: open8.at, text: open8.text, activity: jsonText(activityOfTurn(open8.eveView)), lastStep: open8.lastStep && jsonText(open8.lastStep) });
238796
238862
  async function foldChunks(state2, chunks, judges) {
238797
238863
  if (!("session" in state2)) return { before: null, ...foldSubagent(state2, chunks) };
238798
238864
  const before = state2.open?.at != null ? snapshot({ ...state2.open, at: state2.open.at }) : null;
@@ -238819,7 +238885,7 @@ async function withHubDeliveryIds(db, chunks) {
238819
238885
  var DRAFT_TAIL = 25;
238820
238886
  function cutLive(before, turn2) {
238821
238887
  if (!before || before.id !== turn2.id) return turn2;
238822
- const text5 = turn2.replyText ?? "", activity3 = JSON.stringify(turn2.activity), lastStep = turn2.lastStep && JSON.stringify(turn2.lastStep);
238888
+ const text5 = turn2.replyText ?? "", activity3 = jsonText(turn2.activity), lastStep = turn2.lastStep && jsonText(turn2.lastStep);
238823
238889
  const { replyText: _, activity: __, lastStep: ___, ...head3 } = turn2;
238824
238890
  return {
238825
238891
  ...head3,
@@ -238988,7 +239054,7 @@ var StreamError = class extends Error {
238988
239054
  };
238989
239055
  var IDLE_MS = 15e3;
238990
239056
  async function* streamLines(eve, sessionId2, o2) {
238991
- const fetchFn = o2.fetch ?? fetch, idleMs = o2.idleMs ?? IDLE_MS;
239057
+ const fetchFn = o2.fetch ?? fetch, idleMs2 = o2.idleMs ?? IDLE_MS;
238992
239058
  let next2 = o2.startIndex, reopens = o2.reopens ?? 3;
238993
239059
  for (; ; ) {
238994
239060
  const query = new URLSearchParams({ startIndex: String(next2) });
@@ -238998,17 +239064,17 @@ async function* streamLines(eve, sessionId2, o2) {
238998
239064
  query.set("includeTailIndex", "1");
238999
239065
  }
239000
239066
  const idle3 = new AbortController(), signal = o2.signal ? AbortSignal.any([o2.signal, idle3.signal]) : idle3.signal;
239001
- let timer = setTimeout(() => idle3.abort(), idleMs);
239067
+ let timer = setTimeout(() => idle3.abort(), idleMs2);
239002
239068
  const opened = Date.now();
239003
239069
  let firstByte = false, lineAt = opened;
239004
239070
  const quiet = () => {
239005
239071
  clearTimeout(timer);
239006
- timer = setTimeout(() => idle3.abort(), idleMs);
239072
+ timer = setTimeout(() => idle3.abort(), idleMs2);
239007
239073
  if (!firstByte) {
239008
239074
  firstByte = true;
239009
239075
  console.log(JSON.stringify({ event: "hub.stream_first_byte", sessionId: sessionId2, startIndex: next2, ms: Date.now() - opened }));
239010
239076
  }
239011
- if (Date.now() - lineAt >= idleMs) {
239077
+ if (Date.now() - lineAt >= idleMs2) {
239012
239078
  console.log(JSON.stringify({ event: "hub.stream_no_lines", sessionId: sessionId2, next: next2, ms: Date.now() - lineAt }));
239013
239079
  lineAt = Date.now();
239014
239080
  }
@@ -274785,7 +274851,7 @@ function createQueue2(config8) {
274785
274851
  }
274786
274852
  };
274787
274853
  };
274788
- const clientFor = (route5) => new QueueClient({
274854
+ const clientFor2 = (route5) => new QueueClient({
274789
274855
  ...clientOptions,
274790
274856
  // When sending through the api.vercel.com proxy, the fixed
274791
274857
  // `resolveBaseUrl` above replaces the queue SDK's own
@@ -274805,7 +274871,7 @@ function createQueue2(config8) {
274805
274871
  });
274806
274872
  const queue3 = async (queueName, payload, opts) => {
274807
274873
  const prepared = prepareSend(queueName, payload, opts);
274808
- const client = clientFor(prepared);
274874
+ const client = clientFor2(prepared);
274809
274875
  const { messageId: messageId2 } = await client.send(prepared.topic, prepared.wrapper, prepared.sendOptions);
274810
274876
  return {
274811
274877
  // messageId may be null when the queue fails over to a different region:
@@ -274840,7 +274906,7 @@ function createQueue2(config8) {
274840
274906
  groups.set(key, group4);
274841
274907
  }
274842
274908
  await Promise.all([...groups.values()].map(async ({ route: route5, entries }) => {
274843
- const client = clientFor(route5);
274909
+ const client = clientFor2(route5);
274844
274910
  for (let offset2 = 0; offset2 < entries.length; offset2 += MAX_QUEUE_SEND_BATCH) {
274845
274911
  const chunk = entries.slice(offset2, offset2 + MAX_QUEUE_SEND_BATCH);
274846
274912
  const sent = await client.experimental_sendBatch(