@dylanpiercey/work 0.0.147 → 0.0.149

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (72) hide show
  1. package/dist/index.mjs +610 -512
  2. package/dist/public/assets/_7nS5DHrB.js +1 -0
  3. package/dist/public/assets/_B1zVFrqA.js +1 -0
  4. package/dist/public/assets/_B2jTw69S.js +1 -0
  5. package/dist/public/assets/_BfeoGw7I.js +1 -0
  6. package/dist/public/assets/_C0pMVET4.js +1 -0
  7. package/dist/public/assets/_CGFRuaty.js +1 -0
  8. package/dist/public/assets/_CUJD0FoO.js +1 -0
  9. package/dist/public/assets/{_CbHNdeDU.js → _CbiKcUea.js} +4 -4
  10. package/dist/public/assets/_CbiKcUea.js.br +0 -0
  11. package/dist/public/assets/_Cj2nLZwI.js +1 -0
  12. package/dist/public/assets/_D7R73uuy.js +1 -0
  13. package/dist/public/assets/_D8c-yuh-.js +1 -0
  14. package/dist/public/assets/_DAuz95AE.js +1 -0
  15. package/dist/public/assets/{_Cr0wBZa1.js → _DDw0OY_l.js} +1 -1
  16. package/dist/public/assets/_DDw0OY_l.js.br +0 -0
  17. package/dist/public/assets/_DIRvUWwm.js +1 -0
  18. package/dist/public/assets/_DO207rwp.js +1 -0
  19. package/dist/public/assets/_DP7TieId.js +1 -0
  20. package/dist/public/assets/_K5VzMaPM.js +1 -0
  21. package/dist/public/assets/{_DsOQV4Jf.js → _L7D-PU41.js} +20 -20
  22. package/dist/public/assets/_L7D-PU41.js.br +0 -0
  23. package/dist/public/assets/_Sb7sRy6l.js +1 -0
  24. package/dist/public/assets/_apIFOh77.js +1 -0
  25. package/dist/public/assets/_itssyUra.js +1 -0
  26. package/dist/public/assets/_rxz4BJjC.js +1 -0
  27. package/dist/public/assets/app-page-IB6TT3tX.css +1 -0
  28. package/dist/public/assets/app-page-IB6TT3tX.css.br +0 -0
  29. package/dist/public/assets/diff-view-9CwFW8SS.js +2 -0
  30. package/dist/public/assets/diff-view-B_sKkKdf.css +1 -0
  31. package/dist/public/assets/diff-view-B_sKkKdf.css.br +0 -0
  32. package/dist/public/assets/{icon-arrow-down-CYif_Qat.css → icon-arrow-down-BeyNPx46.css} +1 -1
  33. package/dist/public/assets/icon-arrow-down-BeyNPx46.css.br +0 -0
  34. package/dist/public/assets/new-B9nb-hJx.js +1 -0
  35. package/dist/public/assets/settings-B9nb-hJx.js +1 -0
  36. package/dist/public/assets/w-B9nb-hJx.js +1 -0
  37. package/dist/public/assets/w._-B9nb-hJx.js +1 -0
  38. package/dist/public/assets/w._-DLJZ7pvD.js +1 -0
  39. package/package.json +1 -1
  40. package/dist/public/assets/_2xuRGdn_.js +0 -1
  41. package/dist/public/assets/_B12ZGJAK.js +0 -1
  42. package/dist/public/assets/_BJJj6Bgs.js +0 -1
  43. package/dist/public/assets/_BONsa0p1.js +0 -1
  44. package/dist/public/assets/_BaWHj3BA.js +0 -1
  45. package/dist/public/assets/_Bbw6USJg.js +0 -1
  46. package/dist/public/assets/_BlpiJD5o.js +0 -1
  47. package/dist/public/assets/_C9l_aW0n.js +0 -1
  48. package/dist/public/assets/_CbHNdeDU.js.br +0 -0
  49. package/dist/public/assets/_Cr0wBZa1.js.br +0 -0
  50. package/dist/public/assets/_DIXWDGWP.js +0 -1
  51. package/dist/public/assets/_D_3kwekz.js +0 -1
  52. package/dist/public/assets/_Ddu-G-hH.js +0 -1
  53. package/dist/public/assets/_DsOQV4Jf.js.br +0 -0
  54. package/dist/public/assets/_DxNtl6PJ.js +0 -1
  55. package/dist/public/assets/_IH_dHn2Z.js +0 -1
  56. package/dist/public/assets/_NutY1vka.js +0 -1
  57. package/dist/public/assets/_Q11TJ5W0.js +0 -1
  58. package/dist/public/assets/_SRRkeWJi.js +0 -1
  59. package/dist/public/assets/_a5rTuRF3.js +0 -1
  60. package/dist/public/assets/_kv7st39T.js +0 -1
  61. package/dist/public/assets/_okmh0c7M.js +0 -1
  62. package/dist/public/assets/app-page-CS4w1M-v.css +0 -1
  63. package/dist/public/assets/app-page-CS4w1M-v.css.br +0 -0
  64. package/dist/public/assets/diff-view-BcgXlDbY.css +0 -1
  65. package/dist/public/assets/diff-view-BcgXlDbY.css.br +0 -0
  66. package/dist/public/assets/diff-view-YLo1KhOq.js +0 -2
  67. package/dist/public/assets/icon-arrow-down-CYif_Qat.css.br +0 -0
  68. package/dist/public/assets/new-B000kC3p.js +0 -1
  69. package/dist/public/assets/settings-B000kC3p.js +0 -1
  70. package/dist/public/assets/w-B000kC3p.js +0 -1
  71. package/dist/public/assets/w._-B000kC3p.js +0 -1
  72. package/dist/public/assets/w._-CE1vFHA1.js +0 -1
package/dist/index.mjs CHANGED
@@ -2722,6 +2722,11 @@ var exists = (file) => fs$1.stat(file).then(() => true, () => false);
2722
2722
  var isDir = (file) => fs$1.stat(file).then((s) => s.isDirectory(), () => false);
2723
2723
  //#endregion
2724
2724
  //#region src/server/procs.ts
2725
+ /** `127.0.0.1`, `[::1]`, `localhost` — the binds a LAN or tailnet device
2726
+ * cannot reach. Wildcards and specific interface addresses are open. */
2727
+ function loopbackOnly(addr) {
2728
+ return /^(127\.|\[::1\]|localhost)/.test(addr);
2729
+ }
2725
2730
  var darwin = process.platform === "darwin";
2726
2731
  /** Reads of /proc are cheap but each is an async round trip; keep a bounded
2727
2732
  * batch in flight rather than one at a time or all at once. */
@@ -2836,28 +2841,44 @@ async function listeningPortsNow() {
2836
2841
  for (const line of out.split("\n")) if (line.startsWith("p")) pid = Number(line.slice(1));
2837
2842
  else if (line.startsWith("c")) cmd = line.slice(1) || "?";
2838
2843
  else if (line.startsWith("n")) {
2839
- const port = Number(line.match(/:(\d+)$/)?.[1]);
2840
- if (!port || !pid || seen.has(`${pid}:${port}`)) continue;
2841
- seen.add(`${pid}:${port}`);
2844
+ const addr = line.slice(1);
2845
+ const port = Number(addr.match(/:(\d+)$/)?.[1]);
2846
+ if (!port || !pid) continue;
2847
+ const key = `${pid}:${port}`;
2848
+ const prev = ports.find((p) => seen.has(key) && p.pid === pid && p.port === port);
2849
+ if (prev) {
2850
+ if (!loopbackOnly(addr)) delete prev.local;
2851
+ continue;
2852
+ }
2853
+ seen.add(key);
2842
2854
  ports.push({
2843
2855
  port,
2844
2856
  pid,
2845
- cmd
2857
+ cmd,
2858
+ ...loopbackOnly(addr) && { local: true }
2846
2859
  });
2847
2860
  }
2848
2861
  return ports;
2849
2862
  }
2850
2863
  const out = await probe("ss", ["-tlnpH"]).catch(() => "");
2851
2864
  for (const line of out.split("\n")) {
2852
- const port = Number(line.match(/:(\d+)\s/)?.[1]);
2865
+ const addr = line.match(/^\S+\s+\d+\s+\d+\s+(\S+)/)?.[1] || "";
2866
+ const port = Number(addr.match(/:(\d+)$/)?.[1]);
2853
2867
  const pid = Number(line.match(/pid=(\d+)/)?.[1]);
2854
2868
  const cmd = line.match(/users:\(\("([^"]+)"/)?.[1] || "?";
2855
- if (!port || !pid || seen.has(`${pid}:${port}`)) continue;
2856
- seen.add(`${pid}:${port}`);
2869
+ if (!port || !pid) continue;
2870
+ const key = `${pid}:${port}`;
2871
+ const prev = ports.find((p) => seen.has(key) && p.pid === pid && p.port === port);
2872
+ if (prev) {
2873
+ if (!loopbackOnly(addr)) delete prev.local;
2874
+ continue;
2875
+ }
2876
+ seen.add(key);
2857
2877
  ports.push({
2858
2878
  port,
2859
2879
  pid,
2860
- cmd
2880
+ cmd,
2881
+ ...loopbackOnly(addr) && { local: true }
2861
2882
  });
2862
2883
  }
2863
2884
  return ports;
@@ -3178,6 +3199,7 @@ async function materializeWorkspace(id) {
3178
3199
  if (!ws || !ws.pending) return;
3179
3200
  materializeErrors.delete(id);
3180
3201
  const added = [];
3202
+ const notes = [];
3181
3203
  fs.mkdirSync(ws.path, { recursive: true });
3182
3204
  try {
3183
3205
  for (const repo of ws.repos) await withRepoLock(repo.full_name, async () => {
@@ -3188,7 +3210,8 @@ async function materializeWorkspace(id) {
3188
3210
  repo.default_branch = defaultBranch;
3189
3211
  db.prepare("UPDATE repos SET base_branch = ?, default_branch = ? WHERE workspace_id = ? AND full_name = ?").run(repo.base_branch, defaultBranch, id, repo.full_name);
3190
3212
  }
3191
- await addWorkspaceWorktree(bare, path.join(ws.path, repo.worktree), ws.branch, repo.base_branch);
3213
+ const note = await addWorkspaceWorktree(bare, path.join(ws.path, repo.worktree), ws.branch, repo.base_branch);
3214
+ if (note) notes.push(note);
3192
3215
  added.push(repo);
3193
3216
  });
3194
3217
  } catch (err) {
@@ -3208,8 +3231,14 @@ async function materializeWorkspace(id) {
3208
3231
  }
3209
3232
  writeAgentsMd(ws.path, ws.branch, ws.repos, ws.origin_branch);
3210
3233
  db.prepare("UPDATE workspaces SET materialized = 1 WHERE id = ?").run(id);
3234
+ for (const note of notes) console.warn(`[work] restore of ${id}: ${note}`);
3211
3235
  notifyWorkspacesChanged();
3212
3236
  }
3237
+ /** Run a pending workspace's restore again (after a failure). */
3238
+ function retryMaterialize(id) {
3239
+ if (!getWorkspace(id)?.pending) return;
3240
+ queueMaterialize(id);
3241
+ }
3213
3242
  /** One materialize at a time: they share the bare caches and the network,
3214
3243
  * and a restore of ten workspaces should not fan out ten clones. Each runs
3215
3244
  * under its own progress op so a nav row can follow its own steps. */
@@ -3516,10 +3545,14 @@ async function revParse(cwd, ref) {
3516
3545
  * Fresh branch → cut from `origin/<base>` after fetch (ensureBare).
3517
3546
  * Existing `origin/<ws-branch>` (re-add, open PR, prior push) → restore
3518
3547
  * that branch then rebase onto `origin/<base>` so the checkout is not
3519
- * stuck on an old main tip. Empty upstream (GitHub "no commits yet") →
3520
- * `worktree add --orphan` so the first real commit can be the root.
3521
- * Leftover local branches with no worktree are deleted so
3522
- * `worktree add -b` can recreate them.
3548
+ * stuck on an old main tip. A rebase that conflicts is abandoned, not
3549
+ * fatal: the branch stays at its remote tip and the note is returned —
3550
+ * a backup restored weeks later routinely conflicts, and failing the
3551
+ * whole workspace over it left nothing to work in, when the conflict is
3552
+ * exactly the kind of thing an agent in the worktree resolves. Empty
3553
+ * upstream (GitHub "no commits yet") → `worktree add --orphan` so the
3554
+ * first real commit can be the root. Leftover local branches with no
3555
+ * worktree are deleted so `worktree add -b` can recreate them.
3523
3556
  */
3524
3557
  async function addWorkspaceWorktree(bare, dest, branch, base) {
3525
3558
  const baseRef = `origin/${base}`;
@@ -3569,10 +3602,11 @@ async function addWorkspaceWorktree(bare, dest, branch, base) {
3569
3602
  progress$1(`Rebasing ${label}/ onto ${base}…`);
3570
3603
  try {
3571
3604
  await git(["rebase", baseRef], dest);
3572
- } catch (err) {
3605
+ } catch {
3573
3606
  await git(["rebase", "--abort"], dest).catch(() => {});
3574
- const why = err instanceof Error ? err.message : String(err);
3575
- throw new Error(`Could not rebase ${branch} onto ${baseRef} for ${label}/. ${why}`);
3607
+ const note = `${label}/: kept at origin/${branch}; rebasing onto ${base} conflicts — rebase in the worktree`;
3608
+ progress$1(note);
3609
+ return note;
3576
3610
  }
3577
3611
  }
3578
3612
  } else {
@@ -6704,7 +6738,7 @@ function isAuthDeathResponse(res) {
6704
6738
  *
6705
6739
  * Behind an auth proxy, an expired session turns into login HTML (or 401).
6706
6740
  * Reload once — same fix users already apply by hand, hosting-agnostic. */
6707
- async function api$9(url, init) {
6741
+ async function api$10(url, init) {
6708
6742
  const res = await fetch(url, init);
6709
6743
  if (isAuthDeathResponse(res)) {
6710
6744
  reloadOnceForAuth();
@@ -6774,7 +6808,7 @@ function getUsage(refresh = false) {
6774
6808
  if (cached$1 && Date.now() - cached$1.at < TTL_MS) return Promise.resolve(cached$1.value);
6775
6809
  if (inflight) return inflight;
6776
6810
  }
6777
- inflight = api$9(`/api/usage${refresh ? "?refresh" : ""}`).then((value) => {
6811
+ inflight = api$10(`/api/usage${refresh ? "?refresh" : ""}`).then((value) => {
6778
6812
  setCached(value);
6779
6813
  return value;
6780
6814
  }).catch((err) => {
@@ -7210,18 +7244,18 @@ function applyInstance(inst) {
7210
7244
  }
7211
7245
  //#endregion
7212
7246
  //#region src/tags/settings-page.css.ts
7213
- var content$2 = "_cQ _cs _ct";
7214
- var agentGrid = "_cT _bB";
7215
- var toolGrid = "_c3 _cN";
7216
- var toolRow = "_c4 _cO";
7217
- var themeSeg = "_dr _be";
7218
- var swatches = "_dz _be";
7219
- var checkList = "_dQ _bB";
7220
- var flatCardRow = "_cP _cO";
7221
- var pop$1 = "_cm __";
7222
- var spinner = "_cp _2 _G";
7223
- var busy = "_dX _dW";
7224
- var pop = "_dZ __";
7247
+ var content$2 = "_eU _cj _ck";
7248
+ var agentGrid = "_eX _bB";
7249
+ var toolGrid = "_e7 _ei";
7250
+ var toolRow = "_e8 _ej";
7251
+ var themeSeg = "_fv _be";
7252
+ var swatches = "_fD _be";
7253
+ var checkList = "_fU _bB";
7254
+ var flatCardRow = "_ek _ej";
7255
+ var pop$1 = "_eQ __";
7256
+ var spinner = "_eT _2 _G";
7257
+ var busy = "_dw _dv";
7258
+ var pop = "_dy __";
7225
7259
  var sectionCount = "_bA _N _O";
7226
7260
  var row = "_bL _bD";
7227
7261
  var iconBtn$1 = "_5 _l";
@@ -7264,18 +7298,18 @@ var icon_back_default = _template("O", (input) => {
7264
7298
  var page_head_default = _template("t", (input) => {
7265
7299
  const $scope0_reason = _scope_reason(), $sg__input_backHref__OR__input_onBack__OR__input_meta__OR__input_actions = _serialize_guard($scope0_reason, 3), $sg__input_meta = _serialize_guard($scope0_reason, 6), $sg__input_actions = _serialize_guard($scope0_reason, 7), $si__input_backHref__OR__input_onBack = _serialize_if($scope0_reason, 1), $si__input_meta = _serialize_if($scope0_reason, 6), $si__input_actions = _serialize_if($scope0_reason, 7);
7266
7300
  const $scope0_id = _scope_id();
7267
- _html(`<header${_attr_class("_cu")}>`);
7301
+ _html(`<header${_attr_class("_cl")}>`);
7268
7302
  _if(() => {
7269
7303
  if (input.backHref) {
7270
7304
  const $scope1_id = _scope_id();
7271
- _html(`<a${_attr("href", input.backHref)}${_attr_class([iconBtnRow, "_d1"])}${_attr_or("title", input.backTitle, " title=\"Back (Esc)\"")}${_attr_or("aria-label", input.backTitle, " aria-label=Back")}>`);
7305
+ _html(`<a${_attr("href", input.backHref)}${_attr_class([iconBtnRow, "_fY"])}${_attr_or("title", input.backTitle, " title=\"Back (Esc)\"")}${_attr_or("aria-label", input.backTitle, " aria-label=Back")}>`);
7272
7306
  icon_back_default({ size: 16 });
7273
7307
  _html(`</a>${_el_resume($scope1_id, "a", _serialize_guard($scope0_reason, 0))}`);
7274
7308
  _serialize_if($scope0_reason, 2) && writeScope($scope1_id, { _: _serialize_if($scope0_reason, 0) && _scope_with_id($scope0_id) });
7275
7309
  return 0;
7276
7310
  } else if (input.onBack) {
7277
7311
  const $scope2_id = _scope_id();
7278
- _html(`<button${_attr_class([iconBtnRow, "_d1"])}${_attr_or("title", input.backTitle, " title=\"Back (Esc)\"")}${_attr_or("aria-label", input.backTitle, " aria-label=Back")}>`);
7312
+ _html(`<button${_attr_class([iconBtnRow, "_fY"])}${_attr_or("title", input.backTitle, " title=\"Back (Esc)\"")}${_attr_or("aria-label", input.backTitle, " aria-label=Back")}>`);
7279
7313
  icon_back_default({ size: 16 });
7280
7314
  _html(`</button>${_el_resume($scope2_id, "a")}`);
7281
7315
  _script($scope2_id, "t0");
@@ -7283,11 +7317,11 @@ var page_head_default = _template("t", (input) => {
7283
7317
  return 1;
7284
7318
  }
7285
7319
  }, $scope0_id, "b", _serialize_guard($scope0_reason, 2), _serialize_guard($scope0_reason, 1), $sg__input_backHref__OR__input_onBack__OR__input_meta__OR__input_actions, 0, 1);
7286
- _html(`<div${_attr_class("_cw")}><h1${_attr("id", input.titleId)}${_attr_class("_cv")}>${_text_resume($scope0_id, "e", input.title, _serialize_guard($scope0_reason, 5))}</h1>${_el_resume($scope0_id, "d", _serialize_guard($scope0_reason, 4))}`);
7320
+ _html(`<div${_attr_class("_cn")}><h1${_attr("id", input.titleId)}${_attr_class("_cm")}>${_text_resume($scope0_id, "e", input.title, _serialize_guard($scope0_reason, 5))}</h1>${_el_resume($scope0_id, "d", _serialize_guard($scope0_reason, 4))}`);
7287
7321
  _if(() => {
7288
7322
  if (input.meta) {
7289
7323
  const $scope3_id = _scope_id();
7290
- _html(`<p${_attr_class("_cx")}>`);
7324
+ _html(`<p${_attr_class("_co")}>`);
7291
7325
  _dynamic_tag($scope3_id, "b", input.meta, {}, 0, 0, $sg__input_meta);
7292
7326
  _html("</p>");
7293
7327
  $si__input_meta && writeScope($scope3_id, { _: _scope_with_id($scope0_id) });
@@ -7298,7 +7332,7 @@ var page_head_default = _template("t", (input) => {
7298
7332
  _if(() => {
7299
7333
  if (input.actions) {
7300
7334
  const $scope4_id = _scope_id();
7301
- _html(`<div${_attr_class("_cy")}>`);
7335
+ _html(`<div${_attr_class("_cp")}>`);
7302
7336
  _dynamic_tag($scope4_id, "b", input.actions, {}, 0, 0, $sg__input_actions);
7303
7337
  _html("</div>");
7304
7338
  $si__input_actions && writeScope($scope4_id, { _: _scope_with_id($scope0_id) });
@@ -7366,7 +7400,7 @@ var icon_agent_default = _template("J", (input) => {
7366
7400
  n: $badge__closures
7367
7401
  });
7368
7402
  });
7369
- var usageNote = "_d8 _X";
7403
+ var usageNote = "_gN _X";
7370
7404
  //#endregion
7371
7405
  //#region src/tags/icons/icon-warning.marko
7372
7406
  var icon_warning_default = _template("ob", (input) => {
@@ -7396,11 +7430,11 @@ var usage_meters_default = _template("G", (input) => {
7396
7430
  const $scope0_reason = _scope_reason(), $sg__input_agent__OR__input_hideName = _serialize_guard($scope0_reason, 0), $sg__input_agent = _serialize_guard($scope0_reason, 1), $si__input_agent = _serialize_if($scope0_reason, 1), $sg__input_hideName = _serialize_guard($scope0_reason, 2), $si__input_agent__OR__input_hideName = _serialize_if($scope0_reason, 0);
7397
7431
  const $scope0_id = _scope_id();
7398
7432
  const agent = input.agent;
7399
- _html(`<div${_attr_class(["_d2", { ["_d3"]: input.hideName }])}><div${_attr_class("_d4")}>`);
7433
+ _html(`<div${_attr_class(["_gH", { ["_gI"]: input.hideName }])}><div${_attr_class("_gJ")}>`);
7400
7434
  _if(() => {
7401
7435
  if (!input.hideName) {
7402
7436
  const $scope1_id = _scope_id();
7403
- _html(`<strong${_attr_class("_em")}>${_text_resume($scope1_id, "b", agent.agent, $sg__input_agent)}</strong>`);
7437
+ _html(`<strong${_attr_class("_g2")}>${_text_resume($scope1_id, "b", agent.agent, $sg__input_agent)}</strong>`);
7404
7438
  $si__input_agent__OR__input_hideName && writeScope($scope1_id, { _: $si__input_agent && _scope_with_id($scope0_id) });
7405
7439
  return 0;
7406
7440
  }
@@ -7408,7 +7442,7 @@ var usage_meters_default = _template("G", (input) => {
7408
7442
  _if(() => {
7409
7443
  if (agent.plan && agent.plan.toLowerCase() !== agent.agent.toLowerCase()) {
7410
7444
  const $scope2_id = _scope_id();
7411
- _html(`<span${_attr_class("_d5")}>${_text_resume($scope2_id, "b", agent.plan.replace(/^default_/, "").replaceAll("_", " "), $sg__input_agent)}</span>`);
7445
+ _html(`<span${_attr_class("_gK")}>${_text_resume($scope2_id, "b", agent.plan.replace(/^default_/, "").replaceAll("_", " "), $sg__input_agent)}</span>`);
7412
7446
  $si__input_agent && writeScope($scope2_id, { _: _scope_with_id($scope0_id) });
7413
7447
  return 0;
7414
7448
  }
@@ -7416,21 +7450,21 @@ var usage_meters_default = _template("G", (input) => {
7416
7450
  _if(() => {
7417
7451
  if (agent.stale_seconds != null) {
7418
7452
  const $scope3_id = _scope_id();
7419
- _html(`<span${_attr_class("_d6")}${_attr("title", `${agent.note || "provider unreachable"}. Last cached numbers, ${duration(agent.stale_seconds * 1e3)} old`)}>`);
7453
+ _html(`<span${_attr_class("_gL")}${_attr("title", `${agent.note || "provider unreachable"}. Last cached numbers, ${duration(agent.stale_seconds * 1e3)} old`)}>`);
7420
7454
  icon_warning_default({ size: 12 });
7421
7455
  _html(` ${_text_resume($scope3_id, "c", duration(agent.stale_seconds * 1e3), $sg__input_agent * 2)} old</span>${_el_resume($scope3_id, "a", $sg__input_agent)}`);
7422
7456
  $si__input_agent && writeScope($scope3_id, { _: _scope_with_id($scope0_id) });
7423
7457
  return 0;
7424
7458
  }
7425
7459
  }, $scope0_id, "e", $sg__input_agent, $sg__input_agent, $sg__input_agent__OR__input_hideName, 0, 1);
7426
- _html(`</div><div${_attr_class(["_d7", { ["_en"]: agent.stale_seconds != null }])}>`);
7460
+ _html(`</div><div${_attr_class(["_gM", { ["_g3"]: agent.stale_seconds != null }])}>`);
7427
7461
  _for_of(agent.windows || [], (win) => {
7428
7462
  const $scope4_id = _scope_id();
7429
7463
  const pct = pctText(win.used_percent);
7430
7464
  const label = resetLabel(win.resets_at, agent.stale_seconds != null);
7431
- const fillClass = win.used_percent >= 90 ? "_ef" : win.used_percent >= 70 ? "_ee" : win.used_percent >= 40 ? "_ed" : "_ec";
7432
- const pctClass = win.used_percent >= 90 ? "_ek" : win.used_percent >= 70 ? "_ej" : win.used_percent >= 40 ? "_ei" : "_eh";
7433
- _html(`<div${_attr_class("_d9")}${_attr("title", `${win.window}: ${pct} used${win.resets_at ? `, resets ${new Date(win.resets_at).toLocaleString()}` : ""}`)}><span${_attr_class("_d_")}>${_text_resume($scope4_id, "c", win.window, $sg__input_agent)}</span><span${_attr_class("_ea")}><span${_attr_class(["_eb", fillClass])}${_attr_style(`width:${Math.min(100, Math.max(2, win.used_percent))}%`)}></span>${_el_resume($scope4_id, "e", $sg__input_agent)}</span><span${_attr_class(["_eg", pctClass])}>${_text_resume($scope4_id, "g", pct, $sg__input_agent)}</span>${_el_resume($scope4_id, "f", $sg__input_agent)}<span${_attr_class("_el")}>`);
7465
+ const fillClass = win.used_percent >= 90 ? "_gV" : win.used_percent >= 70 ? "_gU" : win.used_percent >= 40 ? "_gT" : "_gS";
7466
+ const pctClass = win.used_percent >= 90 ? "_g0" : win.used_percent >= 70 ? "_gZ" : win.used_percent >= 40 ? "_gY" : "_gX";
7467
+ _html(`<div${_attr_class("_gO")}${_attr("title", `${win.window}: ${pct} used${win.resets_at ? `, resets ${new Date(win.resets_at).toLocaleString()}` : ""}`)}><span${_attr_class("_gP")}>${_text_resume($scope4_id, "c", win.window, $sg__input_agent)}</span><span${_attr_class("_gQ")}><span${_attr_class(["_gR", fillClass])}${_attr_style(`width:${Math.min(100, Math.max(2, win.used_percent))}%`)}></span>${_el_resume($scope4_id, "e", $sg__input_agent)}</span><span${_attr_class(["_gW", pctClass])}>${_text_resume($scope4_id, "g", pct, $sg__input_agent)}</span>${_el_resume($scope4_id, "f", $sg__input_agent)}<span${_attr_class("_g1")}>`);
7434
7468
  _if(() => {
7435
7469
  if (label) {
7436
7470
  const $scope6_id = _scope_id();
@@ -7507,7 +7541,7 @@ var icon_check_default = _template("S", (input) => {
7507
7541
  });
7508
7542
  //#endregion
7509
7543
  //#region src/tags/sso-auth.marko
7510
- var api$8;
7544
+ var api$9;
7511
7545
  var watchProgress$3;
7512
7546
  var sso_auth_default = _template("C", (input) => {
7513
7547
  const $scope0_reason = _scope_reason(), $sg__input_items = _serialize_guard($scope0_reason, 2), $sg__input_skipped__OR__input_items = _serialize_guard($scope0_reason, 0), $sg__input_skipped = _serialize_guard($scope0_reason, 1);
@@ -7533,7 +7567,7 @@ var sso_auth_default = _template("C", (input) => {
7533
7567
  });
7534
7568
  await watcher.ready;
7535
7569
  try {
7536
- await api$8(`/api/setup/${encodeURIComponent(host)}`, {
7570
+ await api$9(`/api/setup/${encodeURIComponent(host)}`, {
7537
7571
  method: "POST",
7538
7572
  headers: { "content-type": "application/json" },
7539
7573
  body: JSON.stringify({ action: "auth-refresh" })
@@ -7547,14 +7581,14 @@ var sso_auth_default = _template("C", (input) => {
7547
7581
  localCode = null;
7548
7582
  }
7549
7583
  }, "C0", $scope0_id);
7550
- _html(`<div${_attr_class(["_eD", input.class])}>`);
7584
+ _html(`<div${_attr_class(["_h1", input.class])}>`);
7551
7585
  _for_of(input.items, (s) => {
7552
7586
  const $scope1_id = _scope_id();
7553
- _html(`<div${_attr_class("_eE")}><span${_attr_class("_eG")}><span${_attr_class("_eH")}>${_text_resume($scope1_id, "d", s.org, $sg__input_items)}</span><span${_attr_class(["_eI", "_eJ"])} title="Repos and PRs in this org stay hidden until the GitHub CLI is authorized for it.">SSO not authorized</span></span>`);
7587
+ _html(`<div${_attr_class("_h2")}><span${_attr_class("_h4")}><span${_attr_class("_h5")}>${_text_resume($scope1_id, "d", s.org, $sg__input_items)}</span><span${_attr_class(["_h6", "_h7"])} title="Repos and PRs in this org stay hidden until the GitHub CLI is authorized for it.">SSO not authorized</span></span>`);
7554
7588
  _if(() => {
7555
7589
  if (!busy) {
7556
7590
  const $scope2_id = _scope_id();
7557
- _html(`<button type=button${_attr_class([btnSm, "_r"])} title="Re-authorize GitHub CLI (same device flow as Sign in)">Authorize</button>${_el_resume($scope2_id, "a")}<button type=button${_attr_class([btnSm, "_eK"])}${_attr("title", `Ignore ${s.org} — stop asking about it`)}>Ignore</button>${_el_resume($scope2_id, "b")}`);
7591
+ _html(`<button type=button${_attr_class([btnSm, "_r"])} title="Re-authorize GitHub CLI (same device flow as Sign in)">Authorize</button>${_el_resume($scope2_id, "a")}<button type=button${_attr_class([btnSm, "_h8"])}${_attr("title", `Ignore ${s.org} — stop asking about it`)}>Ignore</button>${_el_resume($scope2_id, "b")}`);
7558
7592
  _script($scope2_id, "C1");
7559
7593
  writeScope($scope2_id, {});
7560
7594
  return 0;
@@ -7569,13 +7603,13 @@ var sso_auth_default = _template("C", (input) => {
7569
7603
  _if(() => {
7570
7604
  if (localBusy && localCode) {
7571
7605
  const $scope4_id = _scope_id();
7572
- _html(`<div${_attr_class(["_eE", "_eL"])}><span${_attr_class("_G")}></span> Enter code <strong${_attr_class("_eM")}>${_text_resume($scope4_id, "d", localCode)}</strong> at <a${_attr("href", `https://${host}/login/device`)}${_attr_class("_eN")}>${_text_resume($scope4_id, "f", host, _serialize_guard($scope0_reason, 3))}/login/device</a>${_el_resume($scope4_id, "e")}</div>`);
7606
+ _html(`<div${_attr_class(["_h2", "_h9"])}><span${_attr_class("_G")}></span> Enter code <strong${_attr_class("_h_")}>${_text_resume($scope4_id, "d", localCode)}</strong> at <a${_attr("href", `https://${host}/login/device`)}${_attr_class("_ia")}>${_text_resume($scope4_id, "f", host, _serialize_guard($scope0_reason, 3))}/login/device</a>${_el_resume($scope4_id, "e")}</div>`);
7573
7607
  _script($scope4_id, "C2");
7574
7608
  writeScope($scope4_id, {});
7575
7609
  return 0;
7576
7610
  } else if (localBusy) {
7577
7611
  const $scope6_id = _scope_id();
7578
- _html(`<div${_attr_class(["_eE", "_eL"])}><span${_attr_class("_G")}></span>Starting GitHub re-authorization…</div>`);
7612
+ _html(`<div${_attr_class(["_h2", "_h9"])}><span${_attr_class("_G")}></span>Starting GitHub re-authorization…</div>`);
7579
7613
  writeScope($scope6_id, {});
7580
7614
  return 1;
7581
7615
  }
@@ -7583,14 +7617,14 @@ var sso_auth_default = _template("C", (input) => {
7583
7617
  _if(() => {
7584
7618
  if (localError) {
7585
7619
  const $scope5_id = _scope_id();
7586
- _html(`<p${_attr_class(["_eE", "_eO"])}>${_text_resume($scope5_id, "b", localError)}</p>`);
7620
+ _html(`<p${_attr_class(["_h2", "_ib"])}>${_text_resume($scope5_id, "b", localError)}</p>`);
7587
7621
  writeScope($scope5_id, {});
7588
7622
  return 0;
7589
7623
  }
7590
7624
  }, $scope0_id, "d", 1, 1, 1, 0, 1);
7591
7625
  _for_of(skipped, (s) => {
7592
7626
  const $scope3_id = _scope_id();
7593
- _html(`<div${_attr_class(["_eE", "_eF"])}><span${_attr_class("_eG")}><span${_attr_class("_eH")}>${_text_resume($scope3_id, "d", s.org, $sg__input_skipped)}</span><span${_attr_class("_eI")}>Ignored</span></span><button type=button${_attr_class([btnSm, "_eK"])}${_attr("title", `Ask about ${s.org} again`)}>Undo</button>${_el_resume($scope3_id, "f")}</div>`);
7627
+ _html(`<div${_attr_class(["_h2", "_h3"])}><span${_attr_class("_h4")}><span${_attr_class("_h5")}>${_text_resume($scope3_id, "d", s.org, $sg__input_skipped)}</span><span${_attr_class("_h6")}>Ignored</span></span><button type=button${_attr_class([btnSm, "_h8"])}${_attr("title", `Ask about ${s.org} again`)}>Undo</button>${_el_resume($scope3_id, "f")}</div>`);
7594
7628
  _script($scope3_id, "C3");
7595
7629
  writeScope($scope3_id, {
7596
7630
  i: s?.org,
@@ -7658,7 +7692,7 @@ var skill_chip_default = _template("B", (input) => {
7658
7692
  const $input_tags__closures = /* @__PURE__ */ new Set();
7659
7693
  const $input_actions__closures = /* @__PURE__ */ new Set();
7660
7694
  const $input_trailing__closures = /* @__PURE__ */ new Set();
7661
- _html(`<li${_attr_class("_dV")}>`);
7695
+ _html(`<li${_attr_class("_du")}>`);
7662
7696
  _if(() => {
7663
7697
  if (input.busy != null) {
7664
7698
  const $scope1_id = _scope_id();
@@ -7668,11 +7702,11 @@ var skill_chip_default = _template("B", (input) => {
7668
7702
  } else {
7669
7703
  const $scope2_id = _scope_id();
7670
7704
  const popId = _id();
7671
- _html(`<button${_attr_class("_dW")}${_attr("popovertarget", popId)}${_attr("title", `About ${input.name}`)}>${_text_resume($scope2_id, "b", input.name, $sg__input_name)}`);
7705
+ _html(`<button${_attr_class("_dv")}${_attr("popovertarget", popId)}${_attr("title", `About ${input.name}`)}>${_text_resume($scope2_id, "b", input.name, $sg__input_name)}`);
7672
7706
  _if(() => {
7673
7707
  if (input.hint) {
7674
7708
  const $scope3_id = _scope_id();
7675
- _html(`<span${_attr_class("_dY")}>${_text_resume($scope3_id, "b", input.hint, $sg__input_hint)}</span>`);
7709
+ _html(`<span${_attr_class("_dx")}>${_text_resume($scope3_id, "b", input.hint, $sg__input_hint)}</span>`);
7676
7710
  $si__input_busy__OR__input_hint && _subscribe($si__input_hint && $input_hint__closures, writeScope($scope3_id, { _: _scope_with_id($scope2_id) }));
7677
7711
  return 0;
7678
7712
  }
@@ -7720,7 +7754,7 @@ var skill_chip_default = _template("B", (input) => {
7720
7754
  _if(() => {
7721
7755
  if (input.actions) {
7722
7756
  const $scope8_id = _scope_id();
7723
- _html(`<div${_attr_class("_d0")}>`);
7757
+ _html(`<div${_attr_class("_dz")}>`);
7724
7758
  _dynamic_tag($scope8_id, "b", input.actions, {}, 0, 0, $sg__input_actions);
7725
7759
  _html("</div>");
7726
7760
  $si__input_busy__OR__input_actions && _subscribe($si__input_actions && $input_actions__closures, writeScope($scope8_id, { _: _scope_with_id($scope2_id) }));
@@ -7780,7 +7814,7 @@ var icon_arrow_up_default = _template("N", (input) => {
7780
7814
  });
7781
7815
  //#endregion
7782
7816
  //#region src/tags/prompt-dialog.css.ts
7783
- var promptDlg = "_et _ep";
7817
+ var promptDlg = "_ic _f0";
7784
7818
  //#endregion
7785
7819
  //#region src/tags/dialog-close.marko
7786
7820
  var dialog_close_default = _template("f", (input) => {
@@ -7804,7 +7838,7 @@ var modal_view_default = _template("r", (input) => {
7804
7838
  const { label, class: inputClass, open: _open, openChange: _openChange, dismissable: _dismissable, content, footer, closedby: _closedby, onCancel: _onCancel, onClose: _onClose, "aria-label": inputAriaLabel, "aria-labelledby": inputLabelledBy, ...htmlInput } = input;
7805
7839
  const dismissable = input.dismissable !== false;
7806
7840
  let open = input.open;
7807
- _html(`<dialog${_attr_class(["_eo", inputClass])}${_attr("aria-labelledby", inputLabelledBy)}${inputLabelledBy ? _attr("aria-label", inputAriaLabel) : _attr("aria-label", inputAriaLabel || label)} closedby=${dismissable ? "any" : "none"}${_attrs_partial({
7841
+ _html(`<dialog${_attr_class(["_fZ", inputClass])}${_attr("aria-labelledby", inputLabelledBy)}${inputLabelledBy ? _attr("aria-label", inputAriaLabel) : _attr("aria-label", inputAriaLabel || label)} closedby=${dismissable ? "any" : "none"}${_attrs_partial({
7808
7842
  ...htmlInput,
7809
7843
  open: null
7810
7844
  }, {
@@ -7814,20 +7848,20 @@ var modal_view_default = _template("r", (input) => {
7814
7848
  closedby: 1,
7815
7849
  "on-cancel": 1,
7816
7850
  "on-close": 1
7817
- }, "a", $scope0_id, "dialog")}><div${_attr_class("_er")}>`);
7851
+ }, "a", $scope0_id, "dialog")}><div${_attr_class("_f2")}>`);
7818
7852
  _dynamic_tag($scope0_id, "c", content, {}, 0, 0, _serialize_guard($scope0_reason, 6));
7819
7853
  _html("</div>");
7820
7854
  _if(() => {
7821
7855
  if (footer) {
7822
7856
  const $scope1_id = _scope_id();
7823
- _html(`<form method=dialog${_attr_class("_es")}>`);
7857
+ _html(`<form method=dialog${_attr_class("_f3")}>`);
7824
7858
  _dynamic_tag($scope1_id, "b", footer.content, {}, 0, 0, _serialize_guard($scope0_reason, 7));
7825
7859
  _html("</form>");
7826
7860
  $si__input_openChange__OR__input_footer && writeScope($scope1_id, { _: _serialize_if($scope0_reason, 7) && _scope_with_id($scope0_id) });
7827
7861
  return 0;
7828
7862
  } else if (input.openChange) {
7829
7863
  const $scope2_id = _scope_id();
7830
- _html(`<form method=dialog${_attr_class("_es")}>`);
7864
+ _html(`<form method=dialog${_attr_class("_f3")}>`);
7831
7865
  dialog_close_default({
7832
7866
  class: ["_q", "_r"],
7833
7867
  content: _content("r0", () => {
@@ -7911,7 +7945,7 @@ var prompt_dialog_default = _template("u", (input) => {
7911
7945
  content: _content("u7", () => {
7912
7946
  _scope_reason();
7913
7947
  const $scope2_id = _scope_id();
7914
- _html(`<h2${_attr_class("_eq")}${_attr("id", titleId)}>${_text_resume($scope2_id, "b", input.label, $sg__input_label)}</h2><input${_attr_input_value($scope2_id, "c", value, _resume((_new_value) => {
7948
+ _html(`<h2${_attr_class("_f1")}${_attr("id", titleId)}>${_text_resume($scope2_id, "b", input.label, $sg__input_label)}</h2><input${_attr_input_value($scope2_id, "c", value, _resume((_new_value) => {
7915
7949
  value = _new_value;
7916
7950
  }, "u0", $scope2_id))}${_attr("placeholder", input.placeholder)}>${_el_resume($scope2_id, "c")}`);
7917
7951
  _script($scope2_id, "u5");
@@ -7941,7 +7975,7 @@ var prompt_dialog_default = _template("u", (input) => {
7941
7975
  });
7942
7976
  //#endregion
7943
7977
  //#region src/tags/settings-page.marko
7944
- var api$7;
7978
+ var api$8;
7945
7979
  var isTransientApiError$2;
7946
7980
  var watchProgress$2;
7947
7981
  var MISSING_LABEL = {
@@ -8037,7 +8071,7 @@ var settings_page_default = _template("x", (input$3) => {
8037
8071
  }, "x9", $scope0_id);
8038
8072
  const syncAgents = _resume(async () => {
8039
8073
  try {
8040
- const snap = await api$7("/api/settings");
8074
+ const snap = await api$8("/api/settings");
8041
8075
  input$3.agentsChange?.(snap.agents);
8042
8076
  if (snap.preferredAgent !== input$3.preferred) input$3.preferredChange?.(snap.preferredAgent);
8043
8077
  } catch {}
@@ -8045,7 +8079,7 @@ var settings_page_default = _template("x", (input$3) => {
8045
8079
  let retryWhenBack = false;
8046
8080
  const loadSetup = _resume(async (refresh) => {
8047
8081
  try {
8048
- applySetup(await api$7(`/api/setup${refresh ? "?refresh" : ""}`));
8082
+ applySetup(await api$8(`/api/setup${refresh ? "?refresh" : ""}`));
8049
8083
  retryWhenBack = false;
8050
8084
  } catch (err) {
8051
8085
  if (isTransientApiError$2(err)) retryWhenBack = true;
@@ -8054,7 +8088,7 @@ var settings_page_default = _template("x", (input$3) => {
8054
8088
  }, "x11", $scope0_id);
8055
8089
  const loadSelf = _resume(async (refresh) => {
8056
8090
  try {
8057
- const info = await api$7(`/api/setup/self${refresh ? "?refresh" : ""}`);
8091
+ const info = await api$8(`/api/setup/self${refresh ? "?refresh" : ""}`);
8058
8092
  self = info;
8059
8093
  if (info.updating) selfUpdating = true;
8060
8094
  } catch {}
@@ -8064,7 +8098,7 @@ var settings_page_default = _template("x", (input$3) => {
8064
8098
  selfUpdating = true;
8065
8099
  const from = self.version;
8066
8100
  try {
8067
- await api$7("/api/setup/self", { method: "POST" });
8101
+ await api$8("/api/setup/self", { method: "POST" });
8068
8102
  } catch (err) {
8069
8103
  selfUpdating = false;
8070
8104
  error = String(err.message || err);
@@ -8073,7 +8107,7 @@ var settings_page_default = _template("x", (input$3) => {
8073
8107
  const started = Date.now();
8074
8108
  const tick = async () => {
8075
8109
  try {
8076
- if ((await api$7("/api/setup/self")).version !== from) {
8110
+ if ((await api$8("/api/setup/self")).version !== from) {
8077
8111
  location.reload();
8078
8112
  return;
8079
8113
  }
@@ -8115,7 +8149,7 @@ var settings_page_default = _template("x", (input$3) => {
8115
8149
  });
8116
8150
  await watcher.ready;
8117
8151
  try {
8118
- applySetup(await api$7(`/api/setup/${encodeURIComponent(id)}`, {
8152
+ applySetup(await api$8(`/api/setup/${encodeURIComponent(id)}`, {
8119
8153
  method: "POST",
8120
8154
  headers: { "content-type": "application/json" },
8121
8155
  body: JSON.stringify({
@@ -8149,7 +8183,7 @@ var settings_page_default = _template("x", (input$3) => {
8149
8183
  const loadSkills = _resume(async () => {
8150
8184
  const seq = ++skillSeq.issued;
8151
8185
  try {
8152
- applySkills(await api$7("/api/skills"), seq);
8186
+ applySkills(await api$8("/api/skills"), seq);
8153
8187
  } catch {}
8154
8188
  }, "x20", $scope0_id);
8155
8189
  const runSkill = _resume(async (key, body) => {
@@ -8160,7 +8194,7 @@ var settings_page_default = _template("x", (input$3) => {
8160
8194
  await watcher.ready;
8161
8195
  const seq = ++skillSeq.issued;
8162
8196
  try {
8163
- applySkills(await api$7("/api/skills", {
8197
+ applySkills(await api$8("/api/skills", {
8164
8198
  method: "POST",
8165
8199
  headers: { "content-type": "application/json" },
8166
8200
  body: JSON.stringify(body)
@@ -8203,7 +8237,7 @@ var settings_page_default = _template("x", (input$3) => {
8203
8237
  backupBusy = "preflight";
8204
8238
  backupLine = "";
8205
8239
  try {
8206
- const found = await api$7("/api/backup/preflight", { method: "POST" });
8240
+ const found = await api$8("/api/backup/preflight", { method: "POST" });
8207
8241
  if (found.workspaces.length) preflight = found;
8208
8242
  else downloadManifest();
8209
8243
  } catch (err) {
@@ -8226,7 +8260,7 @@ var settings_page_default = _template("x", (input$3) => {
8226
8260
  return;
8227
8261
  }
8228
8262
  try {
8229
- const preview = await api$7("/api/backup/preview", {
8263
+ const preview = await api$8("/api/backup/preview", {
8230
8264
  method: "POST",
8231
8265
  headers: { "content-type": "application/json" },
8232
8266
  body: JSON.stringify(manifest)
@@ -8262,7 +8296,7 @@ var settings_page_default = _template("x", (input$3) => {
8262
8296
  });
8263
8297
  await watcher.ready;
8264
8298
  try {
8265
- const n = (await api$7("/api/backup/restore", {
8299
+ const n = (await api$8("/api/backup/restore", {
8266
8300
  method: "POST",
8267
8301
  headers: { "content-type": "application/json" },
8268
8302
  body: JSON.stringify({
@@ -8298,7 +8332,7 @@ var settings_page_default = _template("x", (input$3) => {
8298
8332
  skillSearching = true;
8299
8333
  skillTimer.id = setTimeout(async () => {
8300
8334
  try {
8301
- const res = await api$7(`/api/skills/search?q=${encodeURIComponent(q.trim())}`);
8335
+ const res = await api$8(`/api/skills/search?q=${encodeURIComponent(q.trim())}`);
8302
8336
  if (skillQuery === q) skillHits = res;
8303
8337
  } catch (err) {
8304
8338
  error = String(err.message || err);
@@ -8311,7 +8345,7 @@ var settings_page_default = _template("x", (input$3) => {
8311
8345
  hostBusy = true;
8312
8346
  error = null;
8313
8347
  try {
8314
- applySetup(await api$7("/api/github/hosts", {
8348
+ applySetup(await api$8("/api/github/hosts", {
8315
8349
  method: "POST",
8316
8350
  headers: { "content-type": "application/json" },
8317
8351
  body: JSON.stringify({
@@ -8335,7 +8369,7 @@ var settings_page_default = _template("x", (input$3) => {
8335
8369
  const setPreferred = _resume(async (agent) => {
8336
8370
  input$3.preferredChange?.(agent);
8337
8371
  try {
8338
- await api$7("/api/settings", {
8372
+ await api$8("/api/settings", {
8339
8373
  method: "PUT",
8340
8374
  headers: { "content-type": "application/json" },
8341
8375
  body: JSON.stringify({ preferredAgent: agent })
@@ -8355,7 +8389,7 @@ var settings_page_default = _template("x", (input$3) => {
8355
8389
  clearTimeout(saveTimer.id);
8356
8390
  saveTimer.id = setTimeout(async () => {
8357
8391
  try {
8358
- const snap = await api$7("/api/settings", {
8392
+ const snap = await api$8("/api/settings", {
8359
8393
  method: "PUT",
8360
8394
  headers: { "content-type": "application/json" },
8361
8395
  body: JSON.stringify({ instance: next })
@@ -8375,7 +8409,7 @@ var settings_page_default = _template("x", (input$3) => {
8375
8409
  if (on) off.delete(id);
8376
8410
  else off.add(id);
8377
8411
  try {
8378
- const snap = await api$7("/api/settings", {
8412
+ const snap = await api$8("/api/settings", {
8379
8413
  method: "PUT",
8380
8414
  headers: { "content-type": "application/json" },
8381
8415
  body: JSON.stringify({ disabledAgents: [...off] })
@@ -8407,7 +8441,7 @@ var settings_page_default = _template("x", (input$3) => {
8407
8441
  searching = true;
8408
8442
  searchTimer.id = setTimeout(async () => {
8409
8443
  try {
8410
- const res = await api$7(`/api/setup/search?q=${encodeURIComponent(q.trim())}`);
8444
+ const res = await api$8(`/api/setup/search?q=${encodeURIComponent(q.trim())}`);
8411
8445
  if (query === q) hits = res;
8412
8446
  } catch (err) {
8413
8447
  error = String(err.message || err);
@@ -8433,7 +8467,7 @@ var settings_page_default = _template("x", (input$3) => {
8433
8467
  const githubId = _id();
8434
8468
  const backupId = _id();
8435
8469
  const machineId = _id();
8436
- _html(`<div${_attr_class("_cq")} role=region${_attr("aria-labelledby", titleId)}><div${_attr_class("_cr")}><div${_attr_class(content$2)}>`);
8470
+ _html(`<div${_attr_class("_ch")} role=region${_attr("aria-labelledby", titleId)}><div${_attr_class("_ci")}><div${_attr_class(content$2)}>`);
8437
8471
  _set_serialize_reason({
8438
8472
  0: _serialize_guard($scope0_reason, 4),
8439
8473
  1: $sg__input_backHref__OR__input_onExit,
@@ -8445,7 +8479,7 @@ var settings_page_default = _template("x", (input$3) => {
8445
8479
  if (setup && !setup.ready) $meta = attrTag({ content: _content_resume("x44", () => {
8446
8480
  _scope_reason();
8447
8481
  const $scope5_id = _scope_id();
8448
- _html(`<span${_attr_class("_cS")}>Not ready</span>. Missing ${_text_resume($scope5_id, "b", setup.missing.map((m) => MISSING_LABEL[m] || m).join(", "), 2)}.`);
8482
+ _html(`<span${_attr_class("_eW")}>Not ready</span>. Missing ${_text_resume($scope5_id, "b", setup.missing.map((m) => MISSING_LABEL[m] || m).join(", "), 2)}.`);
8449
8483
  _subscribe($setup_missing__closures, writeScope($scope5_id, { _: _scope_with_id($scope0_id) }));
8450
8484
  _resume_branch($scope5_id);
8451
8485
  }, $scope0_id) });
@@ -8498,16 +8532,16 @@ var settings_page_default = _template("x", (input$3) => {
8498
8532
  _if(() => {
8499
8533
  if (selfUpdatePending || selfUpdating) {
8500
8534
  const $scope45_id = _scope_id();
8501
- _html(`<div${_attr_class("_dv")} role=status><div${_attr_class("_dw")}>`);
8535
+ _html(`<div${_attr_class("_fz")} role=status><div${_attr_class("_fA")}>`);
8502
8536
  _if(() => {
8503
8537
  if (selfUpdating) {
8504
8538
  const $scope79_id = _scope_id();
8505
- _html(`<span${_attr_class("_dx")}><span${_attr_class("_G")}></span> Updating work…</span><span${_attr_class("_dy")}>The app restarts and reloads when it is done.</span>`);
8539
+ _html(`<span${_attr_class("_fB")}><span${_attr_class("_G")}></span> Updating work…</span><span${_attr_class("_fC")}>The app restarts and reloads when it is done.</span>`);
8506
8540
  writeScope($scope79_id, {});
8507
8541
  return 0;
8508
8542
  } else {
8509
8543
  const $scope46_id = _scope_id();
8510
- _html(`<span${_attr_class("_dx")}>Update available</span><span${_attr_class("_dy")}>v${_text_resume($scope46_id, "c", self.version, 2)} → v${_text_resume($scope46_id, "d", self.latest, 2)}</span>`);
8544
+ _html(`<span${_attr_class("_fB")}>Update available</span><span${_attr_class("_fC")}>v${_text_resume($scope46_id, "c", self.version, 2)} → v${_text_resume($scope46_id, "d", self.latest, 2)}</span>`);
8511
8545
  _subscribe($self_version__closures, _subscribe($self_latest__closures, writeScope($scope46_id, {})));
8512
8546
  return 1;
8513
8547
  }
@@ -8526,11 +8560,11 @@ var settings_page_default = _template("x", (input$3) => {
8526
8560
  return 0;
8527
8561
  }
8528
8562
  }, $scope0_id, "f", 1, 1, 1, 0, 1);
8529
- _html(`<section${_attr_class("_by")}${_attr("aria-labelledby", agentsId)}><div${_attr_class("_bz")}><h2${_attr("id", agentsId)}${_attr_class("_bM")}>Agents</h2><div${_attr_class("_z")}></div><label${_attr_class("_cV")}><span${_attr_class("_X")}>Default</span><span${_attr_class("_o")}>`);
8563
+ _html(`<section${_attr_class("_by")}${_attr("aria-labelledby", agentsId)}><div${_attr_class("_bz")}><h2${_attr("id", agentsId)}${_attr_class("_bM")}>Agents</h2><div${_attr_class("_z")}></div><label${_attr_class("_eZ")}><span${_attr_class("_X")}>Default</span><span${_attr_class("_o")}>`);
8530
8564
  _attr_select_value($scope0_id, "n", input$3.preferred, _resume(function(v) {
8531
8565
  setPreferred(v);
8532
8566
  }, "x2", $scope0_id), () => {
8533
- _html(`<select${_attr_class(["_p", "_cW"])} aria-label="Default agent (starts when a workspace has no session yet)" title="Starts when a workspace has no session yet">`);
8567
+ _html(`<select${_attr_class(["_p", "_e0"])} aria-label="Default agent (starts when a workspace has no session yet)" title="Starts when a workspace has no session yet">`);
8534
8568
  _for_of(input$3.agents.filter((a) => a !== "shell"), (id) => {
8535
8569
  const $scope80_id = _scope_id();
8536
8570
  _html(`<option${_attr_option_value(id)}>${_text_resume($scope80_id, "b", agentLabel(id), $sg__input_agents)}</option>${_el_resume($scope80_id, "a", $sg__input_agents)}`);
@@ -8544,7 +8578,7 @@ var settings_page_default = _template("x", (input$3) => {
8544
8578
  const rows = lone ? [] : a.instances;
8545
8579
  const loneAccounts = lone ? accountsFor(lone.id) : [];
8546
8580
  const extraAccounts = a.installed ? strayAccountsFor(a) : [];
8547
- _html(`<li${_attr_class(["_bD", "_cU"])}><div${_attr_class(["_cX", { ["_c0"]: lone && !lone.enabled }])}>`);
8581
+ _html(`<li${_attr_class(["_bD", "_eY"])}><div${_attr_class(["_e1", { ["_e4"]: lone && !lone.enabled }])}>`);
8548
8582
  _set_serialize_reason(12);
8549
8583
  const $childScope3 = _peek_scope_id();
8550
8584
  icon_agent_default({
@@ -8564,7 +8598,7 @@ var settings_page_default = _template("x", (input$3) => {
8564
8598
  _if(() => {
8565
8599
  if (active.has(a.id)) {
8566
8600
  const $scope13_id = _scope_id();
8567
- _html(`<span${_attr_class("_cR")}><span${_attr_class("_G")}></span>${_text_resume($scope13_id, "c", active.get(a.id) || "Starting…")}</span>`);
8601
+ _html(`<span${_attr_class("_eV")}><span${_attr_class("_G")}></span>${_text_resume($scope13_id, "c", active.get(a.id) || "Starting…")}</span>`);
8568
8602
  _subscribe($active__closures, writeScope($scope13_id, {}));
8569
8603
  return 0;
8570
8604
  } else if (!a.installed) {
@@ -8597,15 +8631,15 @@ var settings_page_default = _template("x", (input$3) => {
8597
8631
  _if(() => {
8598
8632
  if (rows.length || loneAccounts.length || extraAccounts.length) {
8599
8633
  const $scope2_id = _scope_id();
8600
- _html(`<ul${_attr_class(["_c2", { ["_c0"]: lone && !lone.enabled }])}>`);
8634
+ _html(`<ul${_attr_class(["_e6", { ["_e4"]: lone && !lone.enabled }])}>`);
8601
8635
  _for_of(rows, (inst) => {
8602
8636
  const $scope3_id = _scope_id();
8603
8637
  const accounts = accountsFor(inst.id);
8604
- _html(`<li${_attr_class(["_cY", { ["_c0"]: !inst.enabled }])}><div${_attr_class("_cZ")}>`);
8638
+ _html(`<li${_attr_class(["_e2", { ["_e4"]: !inst.enabled }])}><div${_attr_class("_e3")}>`);
8605
8639
  _set_serialize_reason(12);
8606
8640
  const $childScope4 = _peek_scope_id();
8607
8641
  icon_agent_default({ agent: inst.id });
8608
- _html(`<span${_attr_class(["_c1", "_y"])}>${_text_resume($scope3_id, "e", inst.command)}</span>`);
8642
+ _html(`<span${_attr_class(["_e5", "_y"])}>${_text_resume($scope3_id, "e", inst.command)}</span>`);
8609
8643
  _if(() => {
8610
8644
  if (input$3.preferred === inst.id) {
8611
8645
  const $scope83_id = _scope_id();
@@ -8676,7 +8710,7 @@ var settings_page_default = _template("x", (input$3) => {
8676
8710
  }, "id", $scope0_id, "p", 1, 1, 1, 0, 1);
8677
8711
  _for_of(otherUsage, (u) => {
8678
8712
  const $scope87_id = _scope_id();
8679
- _html(`<li${_attr_class(["_bD", "_cU"])}>`);
8713
+ _html(`<li${_attr_class(["_bD", "_eY"])}>`);
8680
8714
  _set_serialize_reason(6);
8681
8715
  const $childScope8 = _peek_scope_id();
8682
8716
  usage_meters_default({ agent: u });
@@ -8701,7 +8735,7 @@ var settings_page_default = _template("x", (input$3) => {
8701
8735
  _if(() => {
8702
8736
  if (setup && !addingHost) {
8703
8737
  const $scope43_id = _scope_id();
8704
- _html(`<button${_attr_class([iconBtnRow, "_da"])} title="Add Enterprise host" aria-label="Add Enterprise host">`);
8738
+ _html(`<button${_attr_class([iconBtnRow, "_fe"])} title="Add Enterprise host" aria-label="Add Enterprise host">`);
8705
8739
  icon_plus_default({ size: 16 });
8706
8740
  _html(`</button>${_el_resume($scope43_id, "a")}`);
8707
8741
  _script($scope43_id, "x51");
@@ -8713,10 +8747,10 @@ var settings_page_default = _template("x", (input$3) => {
8713
8747
  if (setup) {
8714
8748
  const $scope42_id = _scope_id();
8715
8749
  _html(`<form${_attr_class([
8716
- "_ch",
8717
- "_da",
8718
- { ["_ci"]: !addingHost }
8719
- ])}><label${_attr_class(["_1", "_cj"])}>`);
8750
+ "_eL",
8751
+ "_fe",
8752
+ { ["_eM"]: !addingHost }
8753
+ ])}><label${_attr_class(["_1", "_eN"])}>`);
8720
8754
  icon_github_default({
8721
8755
  size: 14,
8722
8756
  class: "_2"
@@ -8726,12 +8760,12 @@ var settings_page_default = _template("x", (input$3) => {
8726
8760
  }, "x3", $scope42_id))}${_attr_class([
8727
8761
  "_Z",
8728
8762
  "_3",
8729
- "_ck"
8763
+ "_eO"
8730
8764
  ])} type=text placeholder=github.example.com aria-label="GitHub Enterprise host" autocomplete=off spellcheck=false>${_el_resume($scope42_id, "d")}</label><button${_attr_class([
8731
8765
  btnSm,
8732
8766
  "_r",
8733
- "_c_"
8734
- ])} type=submit${_attr("hidden", !addingHost)}${_attr("disabled", !hostInput.trim() || hostBusy)}>${_text_resume($scope42_id, "f", hostBusy ? "Adding…" : "Add")}</button>${_el_resume($scope42_id, "e")}<button${_attr_class([iconBtnRow, "_cl"])} type=button${_attr("hidden", !addingHost)} title=Cancel aria-label=Cancel${_attr("disabled", hostBusy)}>`);
8767
+ "_fd"
8768
+ ])} type=submit${_attr("hidden", !addingHost)}${_attr("disabled", !hostInput.trim() || hostBusy)}>${_text_resume($scope42_id, "f", hostBusy ? "Adding…" : "Add")}</button>${_el_resume($scope42_id, "e")}<button${_attr_class([iconBtnRow, "_eP"])} type=button${_attr("hidden", !addingHost)} title=Cancel aria-label=Cancel${_attr("disabled", hostBusy)}>`);
8735
8769
  icon_xmark_default({ size: 12 });
8736
8770
  _html(`</button>${_el_resume($scope42_id, "g")}</form>${_el_resume($scope42_id, "a")}`);
8737
8771
  _script($scope42_id, "x52");
@@ -8739,17 +8773,17 @@ var settings_page_default = _template("x", (input$3) => {
8739
8773
  return 0;
8740
8774
  }
8741
8775
  }, $scope0_id, "w", 1, 1, 1, 0, 1);
8742
- _html(`</div><div${_attr_class(["_bD", "_cz"])}>`);
8776
+ _html(`</div><div${_attr_class(["_bD", "_d5"])}>`);
8743
8777
  _for_of(setup?.github || [], (h) => {
8744
8778
  const $scope7_id = _scope_id();
8745
8779
  const $for_content4__h_host__closures = /* @__PURE__ */ new Set();
8746
8780
  const hostSso$1 = (h.sso || []).filter((s) => !ignoredSso.has(s.org));
8747
8781
  const skippedSso = (h.sso || []).filter((s) => ignoredSso.has(s.org));
8748
8782
  const busy = active.has(h.host);
8749
- _html(`<div${_attr_class(["_cA", "_db"])}><div${_attr_class("_dc")}>`);
8783
+ _html(`<div${_attr_class(["_d6", "_ff"])}><div${_attr_class("_fg")}>`);
8750
8784
  icon_github_default({
8751
8785
  size: 18,
8752
- class: "_dd"
8786
+ class: "_fh"
8753
8787
  });
8754
8788
  _html(`<div${_attr_class("_bE")}><span${_attr_class("_bG")}><span${_attr_class("_bF")}>${_text_resume($scope7_id, "g", h.host)}</span>`);
8755
8789
  _if(() => {
@@ -8764,25 +8798,25 @@ var settings_page_default = _template("x", (input$3) => {
8764
8798
  _if(() => {
8765
8799
  if (busy) {
8766
8800
  const $scope14_id = _scope_id();
8767
- _html(`<span${_attr_class(["_bH", "_de"])}><span${_attr_class("_G")}></span>${_text_resume($scope14_id, "c", authCodes.has(h.host) ? "Waiting for the browser…" : active.get(h.host) || "Starting…")}</span>`);
8801
+ _html(`<span${_attr_class(["_bH", "_fi"])}><span${_attr_class("_G")}></span>${_text_resume($scope14_id, "c", authCodes.has(h.host) ? "Waiting for the browser…" : active.get(h.host) || "Starting…")}</span>`);
8768
8802
  _subscribe($authCodes__closures, _subscribe($active__closures, writeScope($scope14_id, { Cgv: 1 })));
8769
8803
  return 0;
8770
8804
  } else if (h.authed) {
8771
8805
  const $scope89_id = _scope_id();
8772
- _html(`<span${_attr_class(["_bH", "_de"])}>`);
8806
+ _html(`<span${_attr_class(["_bH", "_fi"])}>`);
8773
8807
  icon_check_default({
8774
8808
  size: 12,
8775
- class: "_df"
8809
+ class: "_fj"
8776
8810
  });
8777
- _html(` Signed in as <strong${_attr_class("_dh")}>${_text_resume($scope89_id, "d", h.user || "?")}</strong></span>`);
8811
+ _html(` Signed in as <strong${_attr_class("_fl")}>${_text_resume($scope89_id, "d", h.user || "?")}</strong></span>`);
8778
8812
  writeScope($scope89_id, {});
8779
8813
  return 1;
8780
8814
  } else if (h.error) {
8781
8815
  const $scope90_id = _scope_id();
8782
8816
  _html(`<span${_attr_class([
8783
8817
  "_bH",
8784
- "_de",
8785
- "_dg"
8818
+ "_fi",
8819
+ "_fk"
8786
8820
  ])}>`);
8787
8821
  icon_warning_default({ size: 12 });
8788
8822
  _html(`${_text_resume($scope90_id, "c", h.error)}</span>`);
@@ -8790,7 +8824,7 @@ var settings_page_default = _template("x", (input$3) => {
8790
8824
  return 2;
8791
8825
  } else {
8792
8826
  const $scope92_id = _scope_id();
8793
- _html(`<span${_attr_class(["_bH", "_de"])}>Not signed in</span>`);
8827
+ _html(`<span${_attr_class(["_bH", "_fi"])}>Not signed in</span>`);
8794
8828
  writeScope($scope92_id, {});
8795
8829
  return 3;
8796
8830
  }
@@ -8855,7 +8889,7 @@ var settings_page_default = _template("x", (input$3) => {
8855
8889
  _if(() => {
8856
8890
  if (busy && authCodes.has(h.host)) {
8857
8891
  const $scope31_id = _scope_id();
8858
- _html(`<div${_attr_class("_di")}><span${_attr_class("_dj")}>Enter this code at <a${_attr("href", `https://${h.host}/login/device`)} target=_blank rel=noopener${_attr_class("_dl")}>${_text_resume($scope31_id, "d", h.host)}/login/device</a>${_el_resume($scope31_id, "c")}</span><code${_attr_class("_dk")}>${_text_resume($scope31_id, "f", authCodes.get(h.host))}</code></div>`);
8892
+ _html(`<div${_attr_class("_fm")}><span${_attr_class("_fn")}>Enter this code at <a${_attr("href", `https://${h.host}/login/device`)} target=_blank rel=noopener${_attr_class("_fp")}>${_text_resume($scope31_id, "d", h.host)}/login/device</a>${_el_resume($scope31_id, "c")}</span><code${_attr_class("_fo")}>${_text_resume($scope31_id, "f", authCodes.get(h.host))}</code></div>`);
8859
8893
  _subscribe($authCodes__closures, writeScope($scope31_id, { Cgx: 1 }));
8860
8894
  return 0;
8861
8895
  }
@@ -8867,7 +8901,7 @@ var settings_page_default = _template("x", (input$3) => {
8867
8901
  _set_serialize_reason(30);
8868
8902
  const $childScope9 = _peek_scope_id();
8869
8903
  sso_auth_default({
8870
- class: ["_cA", "_dm"],
8904
+ class: ["_d6", "_fq"],
8871
8905
  items: hostSso$1,
8872
8906
  skipped: skippedSso,
8873
8907
  busy,
@@ -8906,18 +8940,18 @@ var settings_page_default = _template("x", (input$3) => {
8906
8940
  return 0;
8907
8941
  }
8908
8942
  }, $scope0_id, "y", 1, 1, 1, 0, 1);
8909
- _html(`</section><section${_attr_class("_by")}${_attr("aria-labelledby", machineId)}><div${_attr_class("_bz")}><h2${_attr("id", machineId)}${_attr_class("_bM")}>Machine</h2></div><div${_attr_class(["_bD", "_cz"])}><div${_attr_class(["_cA", "_cE"])}><div${_attr_class(["_cF", { ["_cG"]: skillsOpen }])}><button${_attr_class("_cH")} aria-expanded=true>`);
8943
+ _html(`</section><section${_attr_class("_by")}${_attr("aria-labelledby", machineId)}><div${_attr_class("_bz")}><h2${_attr("id", machineId)}${_attr_class("_bM")}>Machine</h2></div><div${_attr_class(["_bD", "_d5"])}><div${_attr_class(["_d6", "_d_"])}><div${_attr_class(["_ea", { ["_eb"]: skillsOpen }])}><button${_attr_class("_ec")} aria-expanded=true>`);
8910
8944
  _set_serialize_reason(1);
8911
8945
  const $childScope10 = _peek_scope_id();
8912
8946
  icon_chevron_right_default({
8913
8947
  size: 12,
8914
- class: ["_cL", { ["_cM"]: skillsOpen }]
8948
+ class: ["_eg", { ["_eh"]: skillsOpen }]
8915
8949
  });
8916
- _html(`<span${_attr_class("_cI")}>Skills</span>`);
8950
+ _html(`<span${_attr_class("_ed")}>Skills</span>`);
8917
8951
  _if(() => {
8918
8952
  if (skills?.global.length) {
8919
8953
  const $scope52_id = _scope_id();
8920
- _html(`<span${_attr_class("_cJ")}>${_text_resume($scope52_id, "b", skills.global.length)} installed</span>`);
8954
+ _html(`<span${_attr_class("_ee")}>${_text_resume($scope52_id, "b", skills.global.length)} installed</span>`);
8921
8955
  writeScope($scope52_id, {});
8922
8956
  return 0;
8923
8957
  }
@@ -8937,7 +8971,7 @@ var settings_page_default = _template("x", (input$3) => {
8937
8971
  _if(() => {
8938
8972
  if (skills?.available && skills.agents.length) {
8939
8973
  const $scope15_id = _scope_id();
8940
- _html(`<div${_attr_class(["_ch", { ["_ci"]: true }])}><label${_attr_class(["_1", "_cj"])}>`);
8974
+ _html(`<div${_attr_class(["_eL", { ["_eM"]: true }])}><label${_attr_class(["_1", "_eN"])}>`);
8941
8975
  _if(() => {
8942
8976
  if (skillSearching) {
8943
8977
  const $scope96_id = _scope_id();
@@ -8957,14 +8991,14 @@ var settings_page_default = _template("x", (input$3) => {
8957
8991
  _html(`<input${_attr_input_value($scope15_id, "d", skillQuery, searchSkills)}${_attr_class([
8958
8992
  "_Z",
8959
8993
  "_3",
8960
- "_ck"
8961
- ])} type=text placeholder="Search skills, or paste owner/repo…" aria-label="Search for a skill" autocomplete=off spellcheck=false>${_el_resume($scope15_id, "d")}</label><button${_attr_class([iconBtnRow, "_cl"])} type=button${_attr("hidden", true)} title="Close search" aria-label="Close search">`);
8994
+ "_eO"
8995
+ ])} type=text placeholder="Search skills, or paste owner/repo…" aria-label="Search for a skill" autocomplete=off spellcheck=false>${_el_resume($scope15_id, "d")}</label><button${_attr_class([iconBtnRow, "_eP"])} type=button${_attr("hidden", true)} title="Close search" aria-label="Close search">`);
8962
8996
  icon_xmark_default({ size: 12 });
8963
- _html(`</button>${_el_resume($scope15_id, "e")}<ul${_attr_class([pop$1, "_cn"])}${_attr("hidden", true)}>`);
8997
+ _html(`</button>${_el_resume($scope15_id, "e")}<ul${_attr_class([pop$1, "_eR"])}${_attr("hidden", true)}>`);
8964
8998
  _if(() => {
8965
8999
  if (skillSearching && !skillHits?.length && !looksLikeSource(skillQuery)) {
8966
9000
  const $scope98_id = _scope_id();
8967
- _html(`<li${_attr_class("_co")}>Searching skills.sh…</li>`);
9001
+ _html(`<li${_attr_class("_eS")}>Searching skills.sh…</li>`);
8968
9002
  writeScope($scope98_id, {});
8969
9003
  return 0;
8970
9004
  }
@@ -8972,11 +9006,11 @@ var settings_page_default = _template("x", (input$3) => {
8972
9006
  _if(() => {
8973
9007
  if (looksLikeSource(skillQuery)) {
8974
9008
  const $scope16_id = _scope_id();
8975
- _html(`<li${_attr_class(toolRow)}><div${_attr_class("_bE")}><span${_attr_class(["_c6", "_y"])}>${_text_resume($scope16_id, "d", skillQuery.trim())}</span>`);
9009
+ _html(`<li${_attr_class(toolRow)}><div${_attr_class("_bE")}><span${_attr_class(["_e_", "_y"])}>${_text_resume($scope16_id, "d", skillQuery.trim())}</span>`);
8976
9010
  _if(() => {
8977
9011
  if (active.has(skillQuery.trim())) {
8978
9012
  const $scope17_id = _scope_id();
8979
- _html(`<span${_attr_class("_cR")}><span${_attr_class("_G")}></span>${_text_resume($scope17_id, "c", active.get(skillQuery.trim()) || "Starting…")}</span>`);
9013
+ _html(`<span${_attr_class("_eV")}><span${_attr_class("_G")}></span>${_text_resume($scope17_id, "c", active.get(skillQuery.trim()) || "Starting…")}</span>`);
8980
9014
  _subscribe($skillQuery__closures, _subscribe($active__closures, writeScope($scope17_id, {
8981
9015
  Cgv: 3,
8982
9016
  Chk: 1
@@ -9007,11 +9041,11 @@ var settings_page_default = _template("x", (input$3) => {
9007
9041
  _for_of(skillHits || [], (h) => {
9008
9042
  const $scope18_id = _scope_id();
9009
9043
  const $for_content5__h_installs__closures = /* @__PURE__ */ new Set();
9010
- _html(`<li${_attr_class(toolRow)}><div${_attr_class("_bE")}><span${_attr_class(["_c6", "_y"])}>${_text_resume($scope18_id, "d", h.name)}</span>`);
9044
+ _html(`<li${_attr_class(toolRow)}><div${_attr_class("_bE")}><span${_attr_class(["_e_", "_y"])}>${_text_resume($scope18_id, "d", h.name)}</span>`);
9011
9045
  _if(() => {
9012
9046
  if (active.has(h.skillId)) {
9013
9047
  const $scope19_id = _scope_id();
9014
- _html(`<span${_attr_class("_cR")}><span${_attr_class("_G")}></span>${_text_resume($scope19_id, "c", active.get(h.skillId) || "Starting…")}</span>`);
9048
+ _html(`<span${_attr_class("_eV")}><span${_attr_class("_G")}></span>${_text_resume($scope19_id, "c", active.get(h.skillId) || "Starting…")}</span>`);
9015
9049
  _subscribe($active__closures, writeScope($scope19_id, { Cgv: 5 }));
9016
9050
  return 0;
9017
9051
  } else {
@@ -9064,7 +9098,7 @@ var settings_page_default = _template("x", (input$3) => {
9064
9098
  _if(() => {
9065
9099
  if (skillHits && !skillHits.length && !skillSearching && !looksLikeSource(skillQuery)) {
9066
9100
  const $scope54_id = _scope_id();
9067
- _html(`<li${_attr_class("_co")}>No skills match "${_text_resume($scope54_id, "b", skillQuery, 2)}".</li>`);
9101
+ _html(`<li${_attr_class("_eS")}>No skills match "${_text_resume($scope54_id, "b", skillQuery, 2)}".</li>`);
9068
9102
  _subscribe($skillQuery__closures, writeScope($scope54_id, { Chk: 2 }));
9069
9103
  return 0;
9070
9104
  }
@@ -9079,7 +9113,7 @@ var settings_page_default = _template("x", (input$3) => {
9079
9113
  _if(() => {
9080
9114
  {
9081
9115
  const $scope20_id = _scope_id();
9082
- _html(`<div${_attr_class("_cK")}>`);
9116
+ _html(`<div${_attr_class("_ef")}>`);
9083
9117
  _if(() => {
9084
9118
  if (skills && !skills.agents.length) {
9085
9119
  const $scope103_id = _scope_id();
@@ -9094,7 +9128,7 @@ var settings_page_default = _template("x", (input$3) => {
9094
9128
  return 1;
9095
9129
  }
9096
9130
  }, $scope20_id, "b", 1, 1, 1, 0, 1);
9097
- _html(`<ul${_attr_class("_dU")}>`);
9131
+ _html(`<ul${_attr_class("_dt")}>`);
9098
9132
  _for_of(skills?.global || [], (s) => {
9099
9133
  const $scope22_id = _scope_id();
9100
9134
  const $for_content6__s_agents__closures = /* @__PURE__ */ new Set();
@@ -9180,14 +9214,14 @@ var settings_page_default = _template("x", (input$3) => {
9180
9214
  return 0;
9181
9215
  }
9182
9216
  }, $scope0_id, "ab", 1, 1, 1, 0, 1);
9183
- _html(`</div><div${_attr_class(["_cA", "_cE"])}><div${_attr_class(["_cF", { ["_cG"]: machineOpen }])}><button${_attr_class("_cH")} aria-expanded=${machineOpen ? "true" : "false"}>`);
9217
+ _html(`</div><div${_attr_class(["_d6", "_d_"])}><div${_attr_class(["_ea", { ["_eb"]: machineOpen }])}><button${_attr_class("_ec")} aria-expanded=${machineOpen ? "true" : "false"}>`);
9184
9218
  _set_serialize_reason(1);
9185
9219
  const $childScope12 = _peek_scope_id();
9186
9220
  icon_chevron_right_default({
9187
9221
  size: 12,
9188
- class: ["_cL", { ["_cM"]: machineOpen }]
9222
+ class: ["_eg", { ["_eh"]: machineOpen }]
9189
9223
  });
9190
- _html(`<span${_attr_class("_cI")}>Tools</span><span${_attr_class("_cJ")}>${_text_resume($scope0_id, "ai", tools.filter((t) => t.installed).length)} installed ${_text_resume($scope0_id, "aj", missingCount ? `${_to_text(" · ")}${_to_text(missingCount)} missing` : "", 2)}${_text_resume($scope0_id, "ak", outdatedIds.length ? `${_to_text(" · ")}${_to_text(outdatedIds.length)} outdated` : "", 2)}</span></button>${_el_resume($scope0_id, "ae")}`);
9224
+ _html(`<span${_attr_class("_ed")}>Tools</span><span${_attr_class("_ee")}>${_text_resume($scope0_id, "ai", tools.filter((t) => t.installed).length)} installed ${_text_resume($scope0_id, "aj", missingCount ? `${_to_text(" · ")}${_to_text(missingCount)} missing` : "", 2)}${_text_resume($scope0_id, "ak", outdatedIds.length ? `${_to_text(" · ")}${_to_text(outdatedIds.length)} outdated` : "", 2)}</span></button>${_el_resume($scope0_id, "ae")}`);
9191
9225
  _if(() => {
9192
9226
  if (outdatedIds.length > 1) {
9193
9227
  const $scope23_id = _scope_id();
@@ -9220,7 +9254,7 @@ var settings_page_default = _template("x", (input$3) => {
9220
9254
  _if(() => {
9221
9255
  if (setup && setup.mise.installed) {
9222
9256
  const $scope25_id = _scope_id();
9223
- _html(`<div${_attr_class(["_ch", { ["_ci"]: true }])}><label${_attr_class(["_1", "_cj"])}>`);
9257
+ _html(`<div${_attr_class(["_eL", { ["_eM"]: true }])}><label${_attr_class(["_1", "_eN"])}>`);
9224
9258
  _if(() => {
9225
9259
  if (searching) {
9226
9260
  const $scope109_id = _scope_id();
@@ -9240,14 +9274,14 @@ var settings_page_default = _template("x", (input$3) => {
9240
9274
  _html(`<input${_attr_input_value($scope25_id, "d", query, search)}${_attr_class([
9241
9275
  "_Z",
9242
9276
  "_3",
9243
- "_ck"
9244
- ])} type=text placeholder="Search the mise registry…" aria-label="Search the mise registry" autocomplete=off>${_el_resume($scope25_id, "d")}</label><button${_attr_class([iconBtnRow, "_cl"])} type=button${_attr("hidden", true)} title="Close search" aria-label="Close search">`);
9277
+ "_eO"
9278
+ ])} type=text placeholder="Search the mise registry…" aria-label="Search the mise registry" autocomplete=off>${_el_resume($scope25_id, "d")}</label><button${_attr_class([iconBtnRow, "_eP"])} type=button${_attr("hidden", true)} title="Close search" aria-label="Close search">`);
9245
9279
  icon_xmark_default({ size: 12 });
9246
- _html(`</button>${_el_resume($scope25_id, "e")}<ul${_attr_class([pop$1, "_cn"])}${_attr("hidden", true)}>`);
9280
+ _html(`</button>${_el_resume($scope25_id, "e")}<ul${_attr_class([pop$1, "_eR"])}${_attr("hidden", true)}>`);
9247
9281
  _if(() => {
9248
9282
  if (searching && !hits?.length) {
9249
9283
  const $scope111_id = _scope_id();
9250
- _html(`<li${_attr_class("_co")}>Searching the mise registry…</li>`);
9284
+ _html(`<li${_attr_class("_eS")}>Searching the mise registry…</li>`);
9251
9285
  writeScope($scope111_id, {});
9252
9286
  return 0;
9253
9287
  }
@@ -9255,18 +9289,18 @@ var settings_page_default = _template("x", (input$3) => {
9255
9289
  _if(() => {
9256
9290
  if (hits && !hits.length && !searching) {
9257
9291
  const $scope44_id = _scope_id();
9258
- _html(`<li${_attr_class("_co")}>No tools match "${_text_resume($scope44_id, "b", query, 2)}".</li>`);
9292
+ _html(`<li${_attr_class("_eS")}>No tools match "${_text_resume($scope44_id, "b", query, 2)}".</li>`);
9259
9293
  _subscribe($query__closures, writeScope($scope44_id, {}));
9260
9294
  return 0;
9261
9295
  }
9262
9296
  }, $scope25_id, "i", 1, 1, 1, 0, 1);
9263
9297
  _for_of(hits || [], (h) => {
9264
9298
  const $scope26_id = _scope_id();
9265
- _html(`<li${_attr_class(toolRow)}><div${_attr_class("_bE")}><span${_attr_class(["_c6", "_y"])}>${_text_resume($scope26_id, "d", h.name)}</span>`);
9299
+ _html(`<li${_attr_class(toolRow)}><div${_attr_class("_bE")}><span${_attr_class(["_e_", "_y"])}>${_text_resume($scope26_id, "d", h.name)}</span>`);
9266
9300
  _if(() => {
9267
9301
  if (active.has(h.name)) {
9268
9302
  const $scope27_id = _scope_id();
9269
- _html(`<span${_attr_class("_cR")}><span${_attr_class("_G")}></span>${_text_resume($scope27_id, "c", active.get(h.name) || "Starting…")}</span>`);
9303
+ _html(`<span${_attr_class("_eV")}><span${_attr_class("_G")}></span>${_text_resume($scope27_id, "c", active.get(h.name) || "Starting…")}</span>`);
9270
9304
  _subscribe($active__closures, writeScope($scope27_id, { Cgv: 9 }));
9271
9305
  return 0;
9272
9306
  } else if (h.description) {
@@ -9316,7 +9350,7 @@ var settings_page_default = _template("x", (input$3) => {
9316
9350
  _if(() => {
9317
9351
  if (machineOpen) {
9318
9352
  const $scope6_id = _scope_id();
9319
- _html(`<div${_attr_class("_cK")}>`);
9353
+ _html(`<div${_attr_class("_ef")}>`);
9320
9354
  _if(() => {
9321
9355
  if (setup && !setup.mise.installed) {
9322
9356
  const $scope28_id = _scope_id();
@@ -9330,11 +9364,11 @@ var settings_page_default = _template("x", (input$3) => {
9330
9364
  _if(() => {
9331
9365
  if (self) {
9332
9366
  const $scope48_id = _scope_id();
9333
- _html(`<li${_attr_class(toolRow)}><span${_attr_class(["_c6", "_y"])}>work</span>`);
9367
+ _html(`<li${_attr_class(toolRow)}><span${_attr_class(["_e_", "_y"])}>work</span>`);
9334
9368
  _if(() => {
9335
9369
  if (selfUpdating) {
9336
9370
  const $scope114_id = _scope_id();
9337
- _html(`<span${_attr_class("_cR")}><span${_attr_class("_G")}></span>Updating — the app restarts and reloads when it is done…</span>`);
9371
+ _html(`<span${_attr_class("_eV")}><span${_attr_class("_G")}></span>Updating — the app restarts and reloads when it is done…</span>`);
9338
9372
  writeScope($scope114_id, {});
9339
9373
  return 0;
9340
9374
  } else {
@@ -9348,7 +9382,7 @@ var settings_page_default = _template("x", (input$3) => {
9348
9382
  return 0;
9349
9383
  } else if (self.latest && self.latest !== self.version) {
9350
9384
  const $scope50_id = _scope_id();
9351
- _html(`<button${_attr_class([btnSm, "_c9"])}${_attr("title", `Update work to v${self.latest} and restart`)}>`);
9385
+ _html(`<button${_attr_class([btnSm, "_fc"])}${_attr("title", `Update work to v${self.latest} and restart`)}>`);
9352
9386
  icon_arrow_up_default({ size: 12 });
9353
9387
  _html(` ${_text_resume($scope50_id, "c", self.latest, 2)}</button>${_el_resume($scope50_id, "a")}`);
9354
9388
  _script($scope50_id, "x72");
@@ -9392,11 +9426,11 @@ var settings_page_default = _template("x", (input$3) => {
9392
9426
  const $for_content8__t_label__closures = /* @__PURE__ */ new Set();
9393
9427
  const $for_content8__t_newest__closures = /* @__PURE__ */ new Set();
9394
9428
  const $for_content8__t_id__closures = /* @__PURE__ */ new Set();
9395
- _html(`<li${_attr_class([toolRow, { ["_c5"]: !t.installed }])}><span${_attr_class(["_c6", "_y"])}>${_text_resume($scope29_id, "c", t.label)}</span>`);
9429
+ _html(`<li${_attr_class([toolRow, { ["_e9"]: !t.installed }])}><span${_attr_class(["_e_", "_y"])}>${_text_resume($scope29_id, "c", t.label)}</span>`);
9396
9430
  _if(() => {
9397
9431
  if (active.has(t.id)) {
9398
9432
  const $scope30_id = _scope_id();
9399
- _html(`<span${_attr_class("_cR")}><span${_attr_class("_G")}></span>${_text_resume($scope30_id, "c", active.get(t.id) || "Starting…")}</span>`);
9433
+ _html(`<span${_attr_class("_eV")}><span${_attr_class("_G")}></span>${_text_resume($scope30_id, "c", active.get(t.id) || "Starting…")}</span>`);
9400
9434
  _subscribe($active__closures, writeScope($scope30_id, { Cgv: 12 }));
9401
9435
  return 0;
9402
9436
  } else if (t.installed) {
@@ -9404,11 +9438,11 @@ var settings_page_default = _template("x", (input$3) => {
9404
9438
  _if(() => {
9405
9439
  if (t.version) {
9406
9440
  const $scope41_id = _scope_id();
9407
- _html(`<button${_attr_class(["_c8", "_y"])}${_attr("title", `${t.path || t.label}${aliasPin(t) ? `, pinned to ${t.pin}` : ""}. Pin a version`)}>v${_text_resume($scope41_id, "b", t.version, 2)}`);
9441
+ _html(`<button${_attr_class(["_fb", "_y"])}${_attr("title", `${t.path || t.label}${aliasPin(t) ? `, pinned to ${t.pin}` : ""}. Pin a version`)}>v${_text_resume($scope41_id, "b", t.version, 2)}`);
9408
9442
  _if(() => {
9409
9443
  if (aliasPin(t)) {
9410
9444
  const $scope118_id = _scope_id();
9411
- _html(`<span${_attr_class("_c7")}>${_text_resume($scope118_id, "b", t.pin)}</span>`);
9445
+ _html(`<span${_attr_class("_fa")}>${_text_resume($scope118_id, "b", t.pin)}</span>`);
9412
9446
  _subscribe($for_content8__t_pin__closures, writeScope($scope118_id, { Ca0: 1 }));
9413
9447
  return 0;
9414
9448
  }
@@ -9427,7 +9461,7 @@ var settings_page_default = _template("x", (input$3) => {
9427
9461
  _if(() => {
9428
9462
  if (outdated(t)) {
9429
9463
  const $scope60_id = _scope_id();
9430
- _html(`<button${_attr_class([btnSm, "_c9"])}${_attr("title", `Update to v${t.latest}`)}>`);
9464
+ _html(`<button${_attr_class([btnSm, "_fc"])}${_attr("title", `Update to v${t.latest}`)}>`);
9431
9465
  icon_arrow_up_default({ size: 12 });
9432
9466
  _html(` ${_text_resume($scope60_id, "c", t.latest, 2)}</button>${_el_resume($scope60_id, "a")}`);
9433
9467
  _script($scope60_id, "x74");
@@ -9435,7 +9469,7 @@ var settings_page_default = _template("x", (input$3) => {
9435
9469
  return 0;
9436
9470
  } else if (t.newest) {
9437
9471
  const $scope61_id = _scope_id();
9438
- _html(`<button${_attr_class(["_c8", "_y"])}${_attr("title", `v${t.newest} is out; ${t.pin} holds ${t.label} at v${t.version}. Pin v${t.newest} instead`)}>${_text_resume($scope61_id, "b", t.newest)} available</button>${_el_resume($scope61_id, "a")}`);
9472
+ _html(`<button${_attr_class(["_fb", "_y"])}${_attr("title", `v${t.newest} is out; ${t.pin} holds ${t.label} at v${t.version}. Pin v${t.newest} instead`)}>${_text_resume($scope61_id, "b", t.newest)} available</button>${_el_resume($scope61_id, "a")}`);
9439
9473
  _script($scope61_id, "x75");
9440
9474
  _subscribe($for_content8__t_newest__closures, _subscribe($for_content8__t_pin__closures, _subscribe($for_content8__t_version__closures, _subscribe($for_content8__t_label__closures, writeScope($scope61_id, {
9441
9475
  Cw: 1,
@@ -9550,9 +9584,9 @@ var settings_page_default = _template("x", (input$3) => {
9550
9584
  label: "Dark"
9551
9585
  }
9552
9586
  ];
9553
- _html(`</div></div></section><section${_attr_class("_by")}${_attr("aria-labelledby", appearanceId)}><div${_attr_class("_bz")}><h2${_attr("id", appearanceId)}${_attr_class("_bM")}>Appearance</h2></div><div${_attr_class(["_bD", "_dn"])}><label${_attr_class("_do")}><span${_attr_class("_dp")}>Name</span><input${_attr_input_value($scope0_id, "aw", input$3.instance.name, _resume(function(v) {
9587
+ _html(`</div></div></section><section${_attr_class("_by")}${_attr("aria-labelledby", appearanceId)}><div${_attr_class("_bz")}><h2${_attr("id", appearanceId)}${_attr_class("_bM")}>Appearance</h2></div><div${_attr_class(["_bD", "_fr"])}><label${_attr_class("_fs")}><span${_attr_class("_ft")}>Name</span><input${_attr_input_value($scope0_id, "aw", input$3.instance.name, _resume(function(v) {
9554
9588
  setInstance({ name: v });
9555
- }, "x4", $scope0_id))}${_attr_class(["_Z", "_dq"])} type=text placeholder="Tab title" maxlength=32 autocomplete=off spellcheck=false>${_el_resume($scope0_id, "aw")}</label><div${_attr_class("_do")}><span${_attr_class("_dp")}>Theme</span><span${_attr_class("_ds")}><span${_attr_class(themeSeg)} role=radiogroup aria-label="Color theme">`);
9589
+ }, "x4", $scope0_id))}${_attr_class(["_Z", "_fu"])} type=text placeholder="Tab title" maxlength=32 autocomplete=off spellcheck=false>${_el_resume($scope0_id, "aw")}</label><div${_attr_class("_fs")}><span${_attr_class("_ft")}>Theme</span><span${_attr_class("_fw")}><span${_attr_class(themeSeg)} role=radiogroup aria-label="Color theme">`);
9556
9590
  _for_of(themeOpts, (opt) => {
9557
9591
  const $scope51_id = _scope_id();
9558
9592
  _html(`<button type=button${_attr_class(["_bg", { ["_bf"]: themeMode === opt.id }])} role=radio aria-checked=${themeMode === opt.id ? "true" : "false"}>${_escape(opt.label)}</button>${_el_resume($scope51_id, "a")}`);
@@ -9562,25 +9596,25 @@ var settings_page_default = _template("x", (input$3) => {
9562
9596
  _: _scope_with_id($scope0_id)
9563
9597
  });
9564
9598
  }, "id", $scope0_id, "b0", 1, 0, 1, 0, 1);
9565
- _html(`</span><span${_attr_class(["_o", "_dt"])}>`);
9599
+ _html(`</span><span${_attr_class(["_o", "_fx"])}>`);
9566
9600
  _attr_select_value($scope0_id, "b2", themeMode, _resume(function(v) {
9567
9601
  setThemeMode(v);
9568
9602
  }, "x5", $scope0_id), () => {
9569
- _html(`<select${_attr_class(["_p", "_du"])} aria-label="Color theme">`);
9603
+ _html(`<select${_attr_class(["_p", "_fy"])} aria-label="Color theme">`);
9570
9604
  forOf(themeOpts, (opt) => {
9571
9605
  _scope_id();
9572
9606
  _html(`<option${_attr_option_value(opt.id)}>${_escape(opt.label)}</option>`);
9573
9607
  });
9574
9608
  _html("</select>");
9575
9609
  });
9576
- _html(`${_el_resume($scope0_id, "b2")}</span></span></div><div${_attr_class("_do")}><span${_attr_class("_dp")}>Accent</span><span${_attr_class(swatches)} role=radiogroup aria-label="Accent colour"><button type=button${_attr_class([
9577
- "_dA",
9578
- "_dC",
9579
- { ["_dB"]: !input$3.instance.accent }
9610
+ _html(`${_el_resume($scope0_id, "b2")}</span></span></div><div${_attr_class("_fs")}><span${_attr_class("_ft")}>Accent</span><span${_attr_class(swatches)} role=radiogroup aria-label="Accent colour"><button type=button${_attr_class([
9611
+ "_fE",
9612
+ "_fG",
9613
+ { ["_fF"]: !input$3.instance.accent }
9580
9614
  ])} role=radio aria-checked=${!input$3.instance.accent ? "true" : "false"} title="Default (blue)" aria-label="Default (blue)"></button>${_el_resume($scope0_id, "b6")}`);
9581
9615
  _for_of(ACCENT_PRESETS, (p) => {
9582
9616
  const $scope4_id = _scope_id();
9583
- _html(`<button type=button${_attr_class(["_dA", { ["_dB"]: input$3.instance.accent === p.value }])}${_attr_style(`--swatch:${p.value}`)} role=radio aria-checked=${input$3.instance.accent === p.value ? "true" : "false"}${_attr("title", p.name)}${_attr("aria-label", p.name)}></button>${_el_resume($scope4_id, "a")}`);
9617
+ _html(`<button type=button${_attr_class(["_fE", { ["_fF"]: input$3.instance.accent === p.value }])}${_attr_style(`--swatch:${p.value}`)} role=radio aria-checked=${input$3.instance.accent === p.value ? "true" : "false"}${_attr("title", p.name)}${_attr("aria-label", p.name)}></button>${_el_resume($scope4_id, "a")}`);
9584
9618
  _script($scope4_id, "x79");
9585
9619
  writeScope($scope4_id, {
9586
9620
  d: p?.value,
@@ -9589,16 +9623,16 @@ var settings_page_default = _template("x", (input$3) => {
9589
9623
  }, "value", $scope0_id, "b7", $sg__input_instance_accent, 0, 1, 0, 1);
9590
9624
  const customOn = !!input$3.instance.accent && !ACCENT_PRESETS.some((p) => p.value === input$3.instance.accent);
9591
9625
  _html(`<label${_attr_class([
9592
- "_dA",
9593
- "_dD",
9594
- { ["_dB"]: customOn }
9626
+ "_fE",
9627
+ "_fH",
9628
+ { ["_fF"]: customOn }
9595
9629
  ])}${customOn ? _attr_style(`--swatch:${input$3.instance.accent}`) : ""} title="Custom colour"><input${_attr_input_value($scope0_id, "b9", input$3.instance.accent || "#3556d8", _resume(function(v) {
9596
9630
  setInstance({ accent: v });
9597
- }, "x6", $scope0_id))}${_attr_class("_dE")} type=color aria-label="Custom accent colour">${_el_resume($scope0_id, "b9")}<span aria-hidden=true>+</span></label>${_el_resume($scope0_id, "b8", $sg__input_instance_accent)}</span></div></div></section><section${_attr_class("_by")}${_attr("aria-labelledby", backupId)}><div${_attr_class("_bz")}><h2${_attr("id", backupId)}${_attr_class("_bM")}>Backup</h2></div><div${_attr_class(["_bD", "_cz"])}><div${_attr_class("_cA")}><div${_attr_class("_dF")}><div${_attr_class("_bE")}>`);
9631
+ }, "x6", $scope0_id))}${_attr_class("_fI")} type=color aria-label="Custom accent colour">${_el_resume($scope0_id, "b9")}<span aria-hidden=true>+</span></label>${_el_resume($scope0_id, "b8", $sg__input_instance_accent)}</span></div></div></section><section${_attr_class("_by")}${_attr("aria-labelledby", backupId)}><div${_attr_class("_bz")}><h2${_attr("id", backupId)}${_attr_class("_bM")}>Backup</h2></div><div${_attr_class(["_bD", "_d5"])}><div${_attr_class("_d6")}><div${_attr_class("_fJ")}><div${_attr_class("_bE")}>`);
9598
9632
  _if(() => {
9599
9633
  if (backupBusy === "preflight") {
9600
9634
  const $scope66_id = _scope_id();
9601
- _html(`<span${_attr_class("_cR")}><span${_attr_class("_G")}></span>${_text_resume($scope66_id, "c", backupLine || "Checking workspaces…")}</span>`);
9635
+ _html(`<span${_attr_class("_eV")}><span${_attr_class("_G")}></span>${_text_resume($scope66_id, "c", backupLine || "Checking workspaces…")}</span>`);
9602
9636
  writeScope($scope66_id, {});
9603
9637
  return 0;
9604
9638
  } else {
@@ -9621,7 +9655,7 @@ var settings_page_default = _template("x", (input$3) => {
9621
9655
  _if(() => {
9622
9656
  if (preflight && !backupBusy) {
9623
9657
  const $scope68_id = _scope_id();
9624
- _html(`<div${_attr_class("_dH")}><p${_attr_class("_dI")}>In the file: ${_text_resume($scope68_id, "c", preflight.contents.workspaces, 2)} workspace${_text_resume($scope68_id, "d", preflight.contents.workspaces === 1 ? "" : "s", 2)}${_text_resume($scope68_id, "e", preflight.contents.archived ? `${_to_text(" ")}(${_to_text(preflight.contents.archived)} archived)` : "", 2)} , ${_text_resume($scope68_id, "f", preflight.contents.tools, 2)} tool pin${_text_resume($scope68_id, "g", preflight.contents.tools === 1 ? "" : "s", 2)}, ${_text_resume($scope68_id, "h", preflight.contents.skills, 2)} skill${_text_resume($scope68_id, "i", preflight.contents.skills === 1 ? "" : "s", 2)}, ${_text_resume($scope68_id, "j", preflight.contents.agents, 2)} agent${_text_resume($scope68_id, "k", preflight.contents.agents === 1 ? "" : "s", 2)}.</p><p${_attr_class("_dI")}>Not in the file: `);
9658
+ _html(`<div${_attr_class("_fL")}><p${_attr_class("_fM")}>In the file: ${_text_resume($scope68_id, "c", preflight.contents.workspaces, 2)} workspace${_text_resume($scope68_id, "d", preflight.contents.workspaces === 1 ? "" : "s", 2)}${_text_resume($scope68_id, "e", preflight.contents.archived ? `${_to_text(" ")}(${_to_text(preflight.contents.archived)} archived)` : "", 2)} , ${_text_resume($scope68_id, "f", preflight.contents.tools, 2)} tool pin${_text_resume($scope68_id, "g", preflight.contents.tools === 1 ? "" : "s", 2)}, ${_text_resume($scope68_id, "h", preflight.contents.skills, 2)} skill${_text_resume($scope68_id, "i", preflight.contents.skills === 1 ? "" : "s", 2)}, ${_text_resume($scope68_id, "j", preflight.contents.agents, 2)} agent${_text_resume($scope68_id, "k", preflight.contents.agents === 1 ? "" : "s", 2)}.</p><p${_attr_class("_fM")}>Not in the file: `);
9625
9659
  _if(() => {
9626
9660
  if (preflight.unpushed) {
9627
9661
  const $scope69_id = _scope_id();
@@ -9638,15 +9672,15 @@ var settings_page_default = _template("x", (input$3) => {
9638
9672
  return 0;
9639
9673
  }
9640
9674
  }, $scope68_id, "m");
9641
- _html(`${_text_resume($scope68_id, "n", preflight.files ? `${_to_text(" ")}${_to_text(preflight.files)} uncommitted file${_to_text(preflight.files === 1 ? "" : "s")}` : "", 2)} .</p><ul${_attr_class("_dJ")}>`);
9675
+ _html(`${_text_resume($scope68_id, "n", preflight.files ? `${_to_text(" ")}${_to_text(preflight.files)} uncommitted file${_to_text(preflight.files === 1 ? "" : "s")}` : "", 2)} .</p><ul${_attr_class("_fN")}>`);
9642
9676
  _for_of(preflight.workspaces, (w) => {
9643
9677
  const $scope128_id = _scope_id();
9644
9678
  const $for_content18__w_name__closures = /* @__PURE__ */ new Set();
9645
- _html(`<li${_attr_class("_dK")}><span${_attr_class("_bF")}>${_text_resume($scope128_id, "c", w.name)}</span><ul${_attr_class("_dJ")}>`);
9679
+ _html(`<li${_attr_class("_fO")}><span${_attr_class("_bF")}>${_text_resume($scope128_id, "c", w.name)}</span><ul${_attr_class("_fN")}>`);
9646
9680
  _for_of(w.repos, (r) => {
9647
9681
  const $scope129_id = _scope_id();
9648
9682
  const $for_content19__r_more__closures = /* @__PURE__ */ new Set();
9649
- _html(`<li${_attr_class("_dL")}><span${_attr_class("_dM")}><span${_attr_class("_y")}>${_text_resume($scope129_id, "d", r.worktree)}/</span>`);
9683
+ _html(`<li${_attr_class("_fP")}><span${_attr_class("_fQ")}><span${_attr_class("_y")}>${_text_resume($scope129_id, "d", r.worktree)}/</span>`);
9650
9684
  _for_of(r.unpushed, (b) => {
9651
9685
  const $scope130_id = _scope_id();
9652
9686
  _html(`<span${_attr_class(["_N", tone.warn])}${_attr("title", `${b.branch}: ${b.count} commit${b.count === 1 ? "" : "s"} origin does not have`)}>${_text_resume($scope130_id, "b", b.count)} unpushed `);
@@ -9665,10 +9699,10 @@ var settings_page_default = _template("x", (input$3) => {
9665
9699
  _if(() => {
9666
9700
  if (r.modified.length || r.untracked.length || r.ignored.length) {
9667
9701
  const $scope131_id = _scope_id();
9668
- _html(`<ul${_attr_class("_dN")}>`);
9702
+ _html(`<ul${_attr_class("_fR")}>`);
9669
9703
  _for_of(r.modified, (f) => {
9670
9704
  const $scope134_id = _scope_id();
9671
- _html(`<li${_attr_class("_dO")}><span${_attr_class([
9705
+ _html(`<li${_attr_class("_fS")}><span${_attr_class([
9672
9706
  "_N",
9673
9707
  "_P",
9674
9708
  tone.warn
@@ -9677,18 +9711,18 @@ var settings_page_default = _template("x", (input$3) => {
9677
9711
  }, (f) => f, $scope131_id, "b", 1, 1, 1, 0, 1);
9678
9712
  _for_of(r.untracked, (f) => {
9679
9713
  const $scope135_id = _scope_id();
9680
- _html(`<li${_attr_class("_dO")}><span${_attr_class(["_N", "_P"])} title=Untracked>?</span><span${_attr_class(["_y", "_bb"])}>${_text_resume($scope135_id, "d", f)}</span></li>`);
9714
+ _html(`<li${_attr_class("_fS")}><span${_attr_class(["_N", "_P"])} title=Untracked>?</span><span${_attr_class(["_y", "_bb"])}>${_text_resume($scope135_id, "d", f)}</span></li>`);
9681
9715
  writeScope($scope135_id, {});
9682
9716
  }, (f) => f, $scope131_id, "c", 1, 1, 1, 0, 1);
9683
9717
  _for_of(r.ignored, (f) => {
9684
9718
  const $scope136_id = _scope_id();
9685
- _html(`<li${_attr_class("_dO")}><span${_attr_class(["_N", "_P"])} title="Ignored by git — a restore cannot bring it back">ignored</span><span${_attr_class(["_y", "_bb"])}>${_text_resume($scope136_id, "d", f)}</span></li>`);
9719
+ _html(`<li${_attr_class("_fS")}><span${_attr_class(["_N", "_P"])} title="Ignored by git — a restore cannot bring it back">ignored</span><span${_attr_class(["_y", "_bb"])}>${_text_resume($scope136_id, "d", f)}</span></li>`);
9686
9720
  writeScope($scope136_id, {});
9687
9721
  }, (f) => f, $scope131_id, "d", 1, 1, 1, 0, 1);
9688
9722
  _if(() => {
9689
9723
  if (r.more) {
9690
9724
  const $scope132_id = _scope_id();
9691
- _html(`<li${_attr_class(["_dO", "_x"])}>+${_text_resume($scope132_id, "b", r.more, 2)} more</li>`);
9725
+ _html(`<li${_attr_class(["_fS", "_x"])}>+${_text_resume($scope132_id, "b", r.more, 2)} more</li>`);
9692
9726
  _subscribe($for_content19__r_more__closures, writeScope($scope132_id, {}));
9693
9727
  return 0;
9694
9728
  }
@@ -9713,17 +9747,17 @@ var settings_page_default = _template("x", (input$3) => {
9713
9747
  i: $for_content18__w_name__closures
9714
9748
  });
9715
9749
  }, "id", $scope68_id, "o", 1, 1, 1, "</ul>", 1);
9716
- _html(`<div${_attr_class("_dP")}><button${_attr_class([btnSm, { ["_r"]: !preflight.unpushed }])}>${_text_resume($scope68_id, "r", preflight.unpushed ? "Export anyway" : "Export")}</button>${_el_resume($scope68_id, "q")}<button${_attr_class(btnSm)}>Cancel</button>${_el_resume($scope68_id, "s")}</div></div>`);
9750
+ _html(`<div${_attr_class("_fT")}><button${_attr_class([btnSm, { ["_r"]: !preflight.unpushed }])}>${_text_resume($scope68_id, "r", preflight.unpushed ? "Export anyway" : "Export")}</button>${_el_resume($scope68_id, "q")}<button${_attr_class(btnSm)}>Cancel</button>${_el_resume($scope68_id, "s")}</div></div>`);
9717
9751
  _script($scope68_id, "x81");
9718
9752
  writeScope($scope68_id, {});
9719
9753
  return 0;
9720
9754
  }
9721
9755
  }, $scope0_id, "bi", 1, 1, 1, 0, 1);
9722
- _html(`</div><div${_attr_class("_cA")}><div${_attr_class("_dF")}><div${_attr_class("_bE")}>`);
9756
+ _html(`</div><div${_attr_class("_d6")}><div${_attr_class("_fJ")}><div${_attr_class("_bE")}>`);
9723
9757
  _if(() => {
9724
9758
  if (backupBusy === "restore") {
9725
9759
  const $scope67_id = _scope_id();
9726
- _html(`<span${_attr_class("_cR")}><span${_attr_class("_G")}></span>${_text_resume($scope67_id, "c", backupLine || "Restoring…")}</span>`);
9760
+ _html(`<span${_attr_class("_eV")}><span${_attr_class("_G")}></span>${_text_resume($scope67_id, "c", backupLine || "Restoring…")}</span>`);
9727
9761
  writeScope($scope67_id, {});
9728
9762
  return 0;
9729
9763
  } else if (restoreDone) {
@@ -9741,7 +9775,7 @@ var settings_page_default = _template("x", (input$3) => {
9741
9775
  _if(() => {
9742
9776
  if (!restorePreview && backupBusy !== "restore") {
9743
9777
  const $scope77_id = _scope_id();
9744
- _html(`<label${_attr_class(btnSm)} title="Pick a work backup file">Restore… <input${_attr_class("_dG")} type=file accept=application/json,.json aria-label="Backup file">${_el_resume($scope77_id, "b")}</label>`);
9778
+ _html(`<label${_attr_class(btnSm)} title="Pick a work backup file">Restore… <input${_attr_class("_fK")} type=file accept=application/json,.json aria-label="Backup file">${_el_resume($scope77_id, "b")}</label>`);
9745
9779
  _script($scope77_id, "x82");
9746
9780
  writeScope($scope77_id, {});
9747
9781
  return 0;
@@ -9752,14 +9786,14 @@ var settings_page_default = _template("x", (input$3) => {
9752
9786
  if (restorePreview && backupBusy !== "restore") {
9753
9787
  const $scope70_id = _scope_id();
9754
9788
  const { preview } = restorePreview;
9755
- _html(`<div${_attr_class("_dH")}><p${_attr_class("_dI")}>From ${_text_resume($scope70_id, "c", preview.from.host, 2)} on ${_text_resume($scope70_id, "d", new Date(preview.from.exportedAt).toLocaleDateString(), 2)}${_text_resume($scope70_id, "e", preview.from.version ? ` (work ${preview.from.version})` : "", 2)}.</p>`);
9789
+ _html(`<div${_attr_class("_fL")}><p${_attr_class("_fM")}>From ${_text_resume($scope70_id, "c", preview.from.host, 2)} on ${_text_resume($scope70_id, "d", new Date(preview.from.exportedAt).toLocaleDateString(), 2)}${_text_resume($scope70_id, "e", preview.from.version ? ` (work ${preview.from.version})` : "", 2)}.</p>`);
9756
9790
  _if(() => {
9757
9791
  if (preview.workspaces.length) {
9758
9792
  const $scope71_id = _scope_id();
9759
9793
  _html(`<ul${_attr_class(checkList)}>`);
9760
9794
  _for_of(preview.workspaces, (w) => {
9761
9795
  const $scope72_id = _scope_id();
9762
- _html(`<li><label${_attr_class(["_dR", { ["_dT"]: w.exists || !!w.unknownHost }])}><input${_attr_input_checked($scope72_id, "b", restoreWs.has(w.id))}${_attr_class("_dS")} type=checkbox${_attr("disabled", w.exists || !!w.unknownHost)}>${_el_resume($scope72_id, "b")}<span${_attr_class("_bE")}><span${_attr_class("_bG")}><span${_attr_class("_bF")}>${_text_resume($scope72_id, "f", w.name)}</span>`);
9796
+ _html(`<li><label${_attr_class(["_fV", { ["_fX"]: w.exists || !!w.unknownHost }])}><input${_attr_input_checked($scope72_id, "b", restoreWs.has(w.id))}${_attr_class("_fW")} type=checkbox${_attr("disabled", w.exists || !!w.unknownHost)}>${_el_resume($scope72_id, "b")}<span${_attr_class("_bE")}><span${_attr_class("_bG")}><span${_attr_class("_bF")}>${_text_resume($scope72_id, "f", w.name)}</span>`);
9763
9797
  _if(() => {
9764
9798
  if (w.status === "archived") {
9765
9799
  const $scope141_id = _scope_id();
@@ -9832,7 +9866,7 @@ var settings_page_default = _template("x", (input$3) => {
9832
9866
  _if(() => {
9833
9867
  if (p.total) {
9834
9868
  const $scope74_id = _scope_id();
9835
- _html(`<li><label${_attr_class(["_dR", { ["_dT"]: !p.missing.length && p.key !== "settings" }])}><input${_attr_input_checked($scope74_id, "b", restoreParts[p.key])}${_attr_class("_dS")} type=checkbox${_attr("disabled", !p.missing.length && p.key !== "settings")}>${_el_resume($scope74_id, "b")}<span${_attr_class("_bE")}><span${_attr_class("_bF")}>${_text_resume($scope74_id, "e", p.label)}</span><span${_attr_class("_bH")}>`);
9869
+ _html(`<li><label${_attr_class(["_fV", { ["_fX"]: !p.missing.length && p.key !== "settings" }])}><input${_attr_input_checked($scope74_id, "b", restoreParts[p.key])}${_attr_class("_fW")} type=checkbox${_attr("disabled", !p.missing.length && p.key !== "settings")}>${_el_resume($scope74_id, "b")}<span${_attr_class("_bE")}><span${_attr_class("_bF")}>${_text_resume($scope74_id, "e", p.label)}</span><span${_attr_class("_bH")}>`);
9836
9870
  _if(() => {
9837
9871
  if (p.key === "settings") {
9838
9872
  const $scope138_id = _scope_id();
@@ -9879,7 +9913,7 @@ var settings_page_default = _template("x", (input$3) => {
9879
9913
  i: $for_content11__p_total__closures
9880
9914
  });
9881
9915
  }, "key", $scope70_id, "h");
9882
- _html(`</ul><div${_attr_class("_dP")}><button${_attr_class([btnSm, "_r"])}${_attr("disabled", !restoreWs.size && !Object.values(restoreParts).some(Boolean))}>Restore</button>${_el_resume($scope70_id, "j")}<button${_attr_class(btnSm)}>Cancel</button>${_el_resume($scope70_id, "k")}</div></div>`);
9916
+ _html(`</ul><div${_attr_class("_fT")}><button${_attr_class([btnSm, "_r"])}${_attr("disabled", !restoreWs.size && !Object.values(restoreParts).some(Boolean))}>Restore</button>${_el_resume($scope70_id, "j")}<button${_attr_class(btnSm)}>Cancel</button>${_el_resume($scope70_id, "k")}</div></div>`);
9883
9917
  _script($scope70_id, "x85");
9884
9918
  writeScope($scope70_id, {});
9885
9919
  return 0;
@@ -10081,13 +10115,13 @@ async function enablePush() {
10081
10115
  const reg = await registration();
10082
10116
  let sub = await reg.pushManager.getSubscription();
10083
10117
  if (!sub) {
10084
- const { publicKey } = await api$9("/api/push");
10118
+ const { publicKey } = await api$10("/api/push");
10085
10119
  sub = await reg.pushManager.subscribe({
10086
10120
  userVisibleOnly: true,
10087
10121
  applicationServerKey: vapidKey(publicKey)
10088
10122
  });
10089
10123
  }
10090
- await api$9("/api/push", {
10124
+ await api$10("/api/push", {
10091
10125
  method: "POST",
10092
10126
  headers: { "content-type": "application/json" },
10093
10127
  body: JSON.stringify(sub.toJSON())
@@ -10097,7 +10131,7 @@ async function enablePush() {
10097
10131
  async function disablePush() {
10098
10132
  const sub = await pushSubscription();
10099
10133
  if (!sub) return;
10100
- await api$9(`/api/push?endpoint=${encodeURIComponent(sub.endpoint)}`, { method: "DELETE" }).catch(() => {});
10134
+ await api$10(`/api/push?endpoint=${encodeURIComponent(sub.endpoint)}`, { method: "DELETE" }).catch(() => {});
10101
10135
  await sub.unsubscribe();
10102
10136
  }
10103
10137
  async function registration() {
@@ -10108,9 +10142,9 @@ function vapidKey(base64) {
10108
10142
  const raw = atob(padded.replace(/-/g, "+").replace(/_/g, "/"));
10109
10143
  return Uint8Array.from(raw, (c) => c.charCodeAt(0));
10110
10144
  }
10111
- var iconBtn = "_bO _l";
10112
- var settingsDot = "_bP _bc";
10113
- var navToggle = "_bT _l";
10145
+ var iconBtn = "_bW _l";
10146
+ var settingsDot = "_bX _bc";
10147
+ var navToggle = "_b1 _l";
10114
10148
  _template("Q", (input) => {
10115
10149
  const $scope0_reason = _scope_reason(), $sg__input_size__OR__input_class = _serialize_guard($scope0_reason, 0);
10116
10150
  const $scope0_id = _scope_id();
@@ -10153,16 +10187,16 @@ var ARM_MS = 3500;
10153
10187
  function disarmLater(fn) {
10154
10188
  return setTimeout(fn, ARM_MS);
10155
10189
  }
10156
- var railBtn = "_fK _l";
10157
- var wsBtn = "_fP _I";
10158
- var rowIcon = "_fS _4 _l";
10159
- var close = "_fT _7 _l _8";
10160
- var sessRename$1 = "_f5 _J";
10161
- var sessBtn$1 = "_f7 _I";
10190
+ var railBtn = "_c0 _l";
10191
+ var wsBtn = "_c5 _I";
10192
+ var rowIcon = "_c8 _4 _l";
10193
+ var close = "_c9 _7 _l _8";
10194
+ var sessRename$1 = "_dk _J";
10195
+ var sessBtn$1 = "_dm _I";
10162
10196
  //#endregion
10163
10197
  //#region src/styles/session-pop.css.ts
10164
- var sessionPop = "_fG __";
10165
- var sessionPopBtn = "_fH _I";
10198
+ var sessionPop = "_cQ __";
10199
+ var sessionPopBtn = "_cR _I";
10166
10200
  //#endregion
10167
10201
  //#region src/client/status.ts
10168
10202
  /** Workspace activity dot from its polled status counts. */
@@ -10229,22 +10263,22 @@ var usage_pcts_default = _template("H", (input) => {
10229
10263
  if (windows.length) {
10230
10264
  const $scope1_id = _scope_id();
10231
10265
  _html(`<span${_attr_class([
10232
- "_gC",
10266
+ "_gB",
10233
10267
  input.class,
10234
- { ["_gD"]: agent.stale_seconds != null }
10268
+ { ["_gC"]: agent.stale_seconds != null }
10235
10269
  ])}${agent.stale_seconds != null ? _attr("title", `${agent.note || "provider unreachable"}; last cached numbers`) : " title=\"Plan usage\""}>`);
10236
10270
  _for_of(windows, (win$1, i) => {
10237
10271
  const $scope2_id = _scope_id();
10238
- _html(`<span${_attr_class("_gE")}>`);
10272
+ _html(`<span${_attr_class("_gD")}>`);
10239
10273
  _if(() => {
10240
10274
  if (i) {
10241
10275
  const $scope3_id = _scope_id();
10242
- _html(`<span${_attr_class("_gH")} aria-hidden=true>·</span>`);
10276
+ _html(`<span${_attr_class("_gG")} aria-hidden=true>·</span>`);
10243
10277
  $si__input_agent && writeScope($scope3_id, {});
10244
10278
  return 0;
10245
10279
  }
10246
10280
  }, $scope2_id, "b", $sg__input_agent, $sg__input_agent, $sg__input_agent, 0, 1);
10247
- _html(`<span${_attr_class("_gF")}>${_text_resume($scope2_id, "d", win$1.window, $sg__input_agent)}</span><span${_attr_class(["_gG", win$1.used_percent >= 90 ? "_ek" : win$1.used_percent >= 70 ? "_ej" : win$1.used_percent >= 40 ? "_ei" : "_eh"])}>${_text_resume($scope2_id, "f", pctText(win$1.used_percent), $sg__input_agent)}</span>${_el_resume($scope2_id, "e", $sg__input_agent)}</span>`);
10281
+ _html(`<span${_attr_class("_gE")}>${_text_resume($scope2_id, "d", win$1.window, $sg__input_agent)}</span><span${_attr_class(["_gF", win$1.used_percent >= 90 ? "_g0" : win$1.used_percent >= 70 ? "_gZ" : win$1.used_percent >= 40 ? "_gY" : "_gX"])}>${_text_resume($scope2_id, "f", pctText(win$1.used_percent), $sg__input_agent)}</span>${_el_resume($scope2_id, "e", $sg__input_agent)}</span>`);
10248
10282
  $si__input_agent && writeScope($scope2_id, {});
10249
10283
  }, "window", $scope1_id, "a", $sg__input_agent, $sg__input_agent__OR__input_class, $sg__input_agent, "</span>", 1);
10250
10284
  $si__input_agent__OR__input_class && writeScope($scope1_id, { _: _scope_with_id($scope0_id) });
@@ -10275,12 +10309,12 @@ var icon_edit_default = _template("$", (input) => {
10275
10309
  });
10276
10310
  _serialize_if($scope0_reason, 0) && writeScope($scope0_id, { a: _existing_scope($childScope) });
10277
10311
  });
10278
- var prChip = "_h2 _u _h1";
10279
- var portChip = "_h3 _u _h1";
10312
+ var prChip = "_hD _u _hC";
10313
+ var portChip = "_hE _u _hC";
10280
10314
  var prState = {
10281
- open: "_h7",
10282
- merged: "_h8",
10283
- closed: "_h9"
10315
+ open: "_hI",
10316
+ merged: "_hJ",
10317
+ closed: "_hK"
10284
10318
  };
10285
10319
  //#endregion
10286
10320
  //#region src/tags/side-nav-chips.marko
@@ -10297,6 +10331,7 @@ var side_nav_chips_default = _template("y", (input) => {
10297
10331
  const $si__input_workspaceId = _serialize_if(_scope_reason(), 0);
10298
10332
  const $scope0_id = _scope_id();
10299
10333
  const $input_workspaceId__closures = /* @__PURE__ */ new Set();
10334
+ const $dead__closures = /* @__PURE__ */ new Set();
10300
10335
  const $armedPid__closures = /* @__PURE__ */ new Set();
10301
10336
  let armedPid = null;
10302
10337
  const armBox = { timer: 0 };
@@ -10343,6 +10378,7 @@ var side_nav_chips_default = _template("y", (input) => {
10343
10378
  prs: (r.prs || []).filter((pr) => !dismissed.has(prKey(r.full_name, pr.number)))
10344
10379
  }));
10345
10380
  const ports = (input.status?.ports || []).filter((p) => !killed.has(p.pid));
10381
+ let dead = /* @__PURE__ */ new Map();
10346
10382
  _if(() => {
10347
10383
  if (repos.some((r) => (r.prs || []).length) || ports.length) {
10348
10384
  const $scope1_id = _scope_id();
@@ -10352,7 +10388,7 @@ var side_nav_chips_default = _template("y", (input) => {
10352
10388
  const name = repo.full_name.split("/").at(-1);
10353
10389
  return repos.some((r) => r.full_name !== repo.full_name && r.full_name.split("/").at(-1) === name) ? repoLabel(repo.full_name) : name;
10354
10390
  }, "y4", $scope1_id);
10355
- _html(`<div${_attr_class("_h0")}>`);
10391
+ _html(`<div${_attr_class("_hB")}>`);
10356
10392
  _for_of(repos, (repo) => {
10357
10393
  const $scope2_id = _scope_id();
10358
10394
  const $for_content__repo_worktree__closures = /* @__PURE__ */ new Set();
@@ -10368,11 +10404,11 @@ var side_nav_chips_default = _template("y", (input) => {
10368
10404
  [prState.merged]: pr$1.state === "MERGED",
10369
10405
  [prState.closed]: pr$1.state === "CLOSED"
10370
10406
  }
10371
- ])}${_attr("title", prTitle(repo, pr$1))}><a${_attr_class(["_h4", { ["_ia"]: !open }])}${_attr("href", pr$1.url)} target=_blank rel=noopener>${_text_resume($scope3_id, "c", repoLabel$1(repo))}#${_text_resume($scope3_id, "d", pr$1.number, 2)}</a>${_el_resume($scope3_id, "b")}`);
10407
+ ])}${_attr("title", prTitle(repo, pr$1))}><a${_attr_class(["_hF", { ["_hN"]: !open }])}${_attr("href", pr$1.url)} target=_blank rel=noopener>${_text_resume($scope3_id, "c", repoLabel$1(repo))}#${_text_resume($scope3_id, "d", pr$1.number, 2)}</a>${_el_resume($scope3_id, "b")}`);
10372
10408
  _if(() => {
10373
10409
  if (open) {
10374
10410
  const $scope4_id = _scope_id();
10375
- _html(`<a${_attr_class(["_h4", "_h5"])}${_attr("href", `/w/${input.workspaceId}/review?pr=${encodeURIComponent(`${repo.worktree}/${pr$1.number}`)}`)}${_attr("title", `Review #${pr$1.number} changes`)}>`);
10411
+ _html(`<a${_attr_class(["_hF", "_hG"])}${_attr("href", `/w/${input.workspaceId}/review?pr=${encodeURIComponent(`${repo.worktree}/${pr$1.number}`)}`)}${_attr("title", `Review #${pr$1.number} changes`)}>`);
10376
10412
  icon_diff_default({ size: 12 });
10377
10413
  _html(`</a>${_el_resume($scope4_id, "a")}`);
10378
10414
  _subscribe($for_content__repo_worktree__closures, _subscribe($si__input_workspaceId && $input_workspaceId__closures, writeScope($scope4_id, {})));
@@ -10380,9 +10416,9 @@ var side_nav_chips_default = _template("y", (input) => {
10380
10416
  } else {
10381
10417
  const $scope6_id = _scope_id();
10382
10418
  _html(`<button type=button${_attr_class([
10383
- "_h4",
10384
- "_h5",
10385
- "_h6"
10419
+ "_hF",
10420
+ "_hG",
10421
+ "_hH"
10386
10422
  ])}${_attr("title", `Dismiss #${pr$1.number}`)}>`);
10387
10423
  icon_xmark_default({ size: 12 });
10388
10424
  _html(`</button>${_el_resume($scope6_id, "a")}`);
@@ -10406,20 +10442,35 @@ var side_nav_chips_default = _template("y", (input) => {
10406
10442
  }, "full_name", $scope1_id, "b");
10407
10443
  _for_of(ports, (p) => {
10408
10444
  const $scope5_id = _scope_id();
10409
- _html(`<span${_attr_class(["_u", portChip])}${_attr("title", p.cmd)}><button type=button${_attr_class(["_h4", "_h_"])}${_attr("title", `Open port ${p.port}`)}>:${_text_resume($scope5_id, "c", p.port, 2)}</button>${_el_resume($scope5_id, "b")}<button type=button${_attr_class([
10410
- "_h4",
10411
- "_h5",
10412
- "_h6",
10445
+ _html(`<span${_attr_class(["_u", portChip])}${_attr("title", p.cmd)}>`);
10446
+ _if(() => {
10447
+ if (dead.has(p.port)) {
10448
+ const $scope7_id = _scope_id();
10449
+ _html(`<span${_attr_class(["_hF", "_hL"])}${_attr("title", dead.get(p.port))} aria-disabled=true>:${_text_resume($scope7_id, "b", p.port, 2)}</span>${_el_resume($scope7_id, "a")}`);
10450
+ _subscribe($dead__closures, writeScope($scope7_id, { Ca3: 1 }));
10451
+ return 0;
10452
+ } else {
10453
+ const $scope8_id = _scope_id();
10454
+ _html(`<button type=button${_attr_class(["_hF", "_hM"])}${_attr("title", `Open port ${p.port}`)}>:${_text_resume($scope8_id, "b", p.port, 2)}</button>${_el_resume($scope8_id, "a")}`);
10455
+ _script($scope8_id, "y6");
10456
+ writeScope($scope8_id, {});
10457
+ return 1;
10458
+ }
10459
+ }, $scope5_id, "b", 1, 1, 1, 0, 1);
10460
+ _html(`<button type=button${_attr_class([
10461
+ "_hF",
10462
+ "_hG",
10463
+ "_hH",
10413
10464
  { ["_s"]: armedPid === p.pid }
10414
10465
  ])}${armedPid === p.pid ? " title=Kill?" : _attr("title", `Kill ${p.cmd} (pid ${p.pid})`)}>`);
10415
10466
  icon_xmark_default({ size: 12 });
10416
- _html(`</button>${_el_resume($scope5_id, "d")}</span>${_el_resume($scope5_id, "a")}`);
10417
- _script($scope5_id, "y6");
10418
- _subscribe($armedPid__closures, writeScope($scope5_id, {
10419
- h: p?.cmd,
10420
- i: p?.port,
10467
+ _html(`</button>${_el_resume($scope5_id, "c")}</span>${_el_resume($scope5_id, "a")}`);
10468
+ _script($scope5_id, "y7");
10469
+ _subscribe($dead__closures, _subscribe($armedPid__closures, writeScope($scope5_id, {
10470
+ g: p?.cmd,
10471
+ h: p?.port,
10421
10472
  j: p?.pid
10422
- }));
10473
+ })));
10423
10474
  }, "port", $scope1_id, "c", 1, 1, 1, 0, 1);
10424
10475
  _html("</div>");
10425
10476
  writeScope($scope1_id, {
@@ -10429,6 +10480,7 @@ var side_nav_chips_default = _template("y", (input) => {
10429
10480
  return 0;
10430
10481
  }
10431
10482
  }, $scope0_id, "a", 1, 1, 1, 0, 1);
10483
+ _script($scope0_id, "y8");
10432
10484
  writeScope($scope0_id, {
10433
10485
  d: input.workspaceId,
10434
10486
  f: input.status?.repos,
@@ -10444,13 +10496,16 @@ var side_nav_chips_default = _template("y", (input) => {
10444
10496
  t: repos,
10445
10497
  u: ports,
10446
10498
  v: ports?.length,
10447
- x: $si__input_workspaceId && $input_workspaceId__closures,
10448
- y: $armedPid__closures
10499
+ x: dead,
10500
+ z: $si__input_workspaceId && $input_workspaceId__closures,
10501
+ a3: $dead__closures,
10502
+ a0: $armedPid__closures
10449
10503
  });
10450
10504
  _resume_branch($scope0_id);
10451
10505
  });
10452
10506
  //#endregion
10453
10507
  //#region src/tags/side-nav-item.marko
10508
+ var api$7;
10454
10509
  var side_nav_item_default = _template("z", (input) => {
10455
10510
  const $scope0_reason = _scope_reason(), $si__input_workspace = _serialize_if($scope0_reason, 24), $sg__input_workspace = _serialize_guard($scope0_reason, 24), $sg__input_status = _serialize_guard($scope0_reason, 26), $sg__input_sessions = _serialize_guard($scope0_reason, 22), $sg__input_page__OR__input_sessions__OR__input_status = _serialize_guard($scope0_reason, 8), $si__input_current = _serialize_if($scope0_reason, 20), $sg__input_page = _serialize_guard($scope0_reason, 21), $si__input_agents = _serialize_if($scope0_reason, 30), $sg__input_onNewSession = _serialize_guard($scope0_reason, 29), $sg__input_onNewSession__OR__input_onReview = _serialize_guard($scope0_reason, 6), $sg__input_onReview = _serialize_guard($scope0_reason, 31), $si__input_sessions = _serialize_if($scope0_reason, 22), $si__input_page = _serialize_if($scope0_reason, 21), $si__input_railPop = _serialize_if($scope0_reason, 28), $si__input_page__OR__input_sessions__OR__input_status = _serialize_if($scope0_reason, 8), $sg__input_rail__OR__input_workspace = _serialize_guard($scope0_reason, 1), $si__input_rail__OR__input_workspace = _serialize_if($scope0_reason, 1), $sg__input_rail__OR__input_workspace__OR__input_status = _serialize_guard($scope0_reason, 10), $si__input_current__OR__input_page__OR__input_rail__OR__input_workspace = _serialize_if($scope0_reason, 11), $si__input_page__OR__input_rail__OR__input_workspace = _serialize_if($scope0_reason, 7), $si__input_current__OR__input_page__OR__input_rail__OR__input_sessions__OR__input_currentTab = _serialize_if($scope0_reason, 13), $si__input_index = _serialize_if($scope0_reason, 27), $si__input_onNewSession = _serialize_if($scope0_reason, 29), $si__input_onReview = _serialize_if($scope0_reason, 31), $si__input_managing = _serialize_if($scope0_reason, 32), $si__input_currentTab = _serialize_if($scope0_reason, 23), $si__input_workspaceId = _serialize_if($scope0_reason, 25);
10456
10511
  const $scope0_id = _scope_id();
@@ -10459,10 +10514,12 @@ var side_nav_item_default = _template("z", (input) => {
10459
10514
  const $ws_pending__closures = /* @__PURE__ */ new Set();
10460
10515
  const $ws_id__closures = /* @__PURE__ */ new Set();
10461
10516
  const $ws_name__closures = /* @__PURE__ */ new Set();
10517
+ const $armedDelete__closures = /* @__PURE__ */ new Set();
10462
10518
  const $input_page__closures = /* @__PURE__ */ new Set();
10463
10519
  const $input_railPop__closures = /* @__PURE__ */ new Set();
10464
10520
  const $ws_pending_error__closures = /* @__PURE__ */ new Set();
10465
10521
  const $restoreLine__closures = /* @__PURE__ */ new Set();
10522
+ const $retrying__closures = /* @__PURE__ */ new Set();
10466
10523
  const $input_agents__closures = /* @__PURE__ */ new Set();
10467
10524
  const $input_onNewSession__closures = /* @__PURE__ */ new Set();
10468
10525
  const $input_onReview__closures = /* @__PURE__ */ new Set();
@@ -10501,6 +10558,23 @@ var side_nav_item_default = _template("z", (input) => {
10501
10558
  const openPlan = openSess ? usageFor$1(openSess.agent, usage) : null;
10502
10559
  const ws$1 = input.workspace;
10503
10560
  let restoreLine = "";
10561
+ let armedDelete = false;
10562
+ let retrying = false;
10563
+ const restoreAction = _resume(async (action) => {
10564
+ retrying = action === "retry";
10565
+ armedDelete = false;
10566
+ try {
10567
+ await api$7(`/api/workspaces/${input.workspaceId}`, {
10568
+ method: "POST",
10569
+ headers: { "content-type": "application/json" },
10570
+ body: JSON.stringify({ action })
10571
+ });
10572
+ } catch (err) {
10573
+ restoreLine = `${action === "retry" ? "Retry" : "Delete"} failed: ${String(err.message || err)}`;
10574
+ } finally {
10575
+ retrying = false;
10576
+ }
10577
+ }, "z3", $scope0_id);
10504
10578
  _if(() => {
10505
10579
  if (ws$1) {
10506
10580
  const $scope1_id = _scope_id();
@@ -10509,7 +10583,7 @@ var side_nav_item_default = _template("z", (input) => {
10509
10583
  _if(() => {
10510
10584
  if (input.rail) {
10511
10585
  const $scope2_id = _scope_id();
10512
- _html(`<a${_attr("href", `/w/${ws$1.id}`)}${_attr_class([railBtn, { ["_fI"]: input.current }])}${ws$1.pending ? _attr("title", `${ws$1.name} — restoring`) : _attr("title", ws$1.name)}>${_text_resume($scope2_id, "b", input.index === void 0 ? "·" : input.index + 1, _serialize_guard($scope0_reason, 27))}<span${_attr_class([
10586
+ _html(`<a${_attr("href", `/w/${ws$1.id}`)}${_attr_class([railBtn, { ["_cY"]: input.current }])}${ws$1.pending ? _attr("title", `${ws$1.name} — restoring`) : _attr("title", ws$1.name)}>${_text_resume($scope2_id, "b", input.index === void 0 ? "·" : input.index + 1, _serialize_guard($scope0_reason, 27))}<span${_attr_class([
10513
10587
  "_A",
10514
10588
  phase[dot$1],
10515
10589
  "_bc"
@@ -10519,52 +10593,66 @@ var side_nav_item_default = _template("z", (input) => {
10519
10593
  } else if (ws$1.pending) {
10520
10594
  const $scope3_id = _scope_id();
10521
10595
  _html(`<section${_attr_class([
10522
- "_fM",
10523
- "_f9",
10596
+ "_c2",
10597
+ "_do",
10524
10598
  {
10525
- ["_fN"]: input.railPop,
10526
- ["_fL"]: input.page
10599
+ ["_c3"]: input.railPop,
10600
+ ["_c1"]: input.page
10527
10601
  }
10528
- ])} aria-busy=${ws$1.pending_error ? "false" : "true"}><div${_attr_class("_fO")}><div${_attr_class(wsBtn)}>`);
10602
+ ])} aria-busy=${ws$1.pending_error ? "false" : "true"}><div${_attr_class("_c4")}><div${_attr_class(wsBtn)}>`);
10529
10603
  _if(() => {
10530
10604
  if (ws$1.pending_error) {
10531
- const $scope15_id = _scope_id();
10605
+ const $scope16_id = _scope_id();
10532
10606
  icon_warning_default({
10533
10607
  size: 12,
10534
- class: "_ga"
10608
+ class: "_dq"
10535
10609
  });
10536
- $si__input_workspace && writeScope($scope15_id, {});
10610
+ $si__input_workspace && writeScope($scope16_id, {});
10537
10611
  return 0;
10538
10612
  } else {
10539
- const $scope16_id = _scope_id();
10540
- _html(`<span${_attr_class(["_G", "_f_"])}></span>`);
10541
- $si__input_workspace && writeScope($scope16_id, {});
10613
+ const $scope17_id = _scope_id();
10614
+ _html(`<span${_attr_class(["_G", "_dp"])}></span>`);
10615
+ $si__input_workspace && writeScope($scope17_id, {});
10542
10616
  return 1;
10543
10617
  }
10544
- }, $scope3_id, "d", $sg__input_workspace, $sg__input_workspace, $sg__input_workspace, 0, 1);
10545
- _html(`<span${_attr_class("_fV")}><span${_attr_class("_fW")}>${_text_resume($scope3_id, "g", ws$1.name, $sg__input_workspace)}</span><span${_attr_class("_gb")}${_attr("title", ws$1.pending_error || restoreLine)}>${_text_resume($scope3_id, "i", ws$1.pending_error ? `Restore failed: ${ws$1.pending_error}` : "Restoring…")}</span>${_el_resume($scope3_id, "h")}</span></div></div></section>${_el_resume($scope3_id, "a", _serialize_guard($scope0_reason, 9))}`);
10546
- _subscribe($restoreLine__closures, _subscribe($si__input_workspace && $ws_pending_error__closures, _subscribe($si__input_workspace && $ws_name__closures, _subscribe($si__input_railPop && $input_railPop__closures, _subscribe($si__input_page && $input_page__closures, writeScope($scope3_id, {
10618
+ }, $scope3_id, "d", $sg__input_workspace, $sg__input_workspace, 1, 0, 1);
10619
+ _html(`<span${_attr_class("_da")}><span${_attr_class("_db")}>${_text_resume($scope3_id, "g", ws$1.name, $sg__input_workspace)}</span><span${_attr_class("_ds")}${_attr("title", ws$1.pending_error || restoreLine)}>${_text_resume($scope3_id, "i", ws$1.pending_error ? `Restore failed: ${ws$1.pending_error}` : restoreLine || "Restoring…")}</span>${_el_resume($scope3_id, "h")}</span></div></div>`);
10620
+ _if(() => {
10621
+ if (ws$1.pending_error && !retrying) {
10622
+ const $scope15_id = _scope_id();
10623
+ _html(`<div${_attr_class("_dr")}><button type=button${_attr_class(["_q", btnSm])} title="Run the restore again">Retry</button>${_el_resume($scope15_id, "b")}<button type=button${_attr_class([
10624
+ "_q",
10625
+ btnSm,
10626
+ { ["_s"]: armedDelete }
10627
+ ])} title=${armedDelete ? "\"Delete this workspace?\"" : "\"Delete workspace\""}>${_text_resume($scope15_id, "d", armedDelete ? "Delete?" : "Delete")}</button>${_el_resume($scope15_id, "c")}</div>`);
10628
+ _script($scope15_id, "z4");
10629
+ _subscribe($armedDelete__closures, writeScope($scope15_id, {}));
10630
+ return 0;
10631
+ }
10632
+ }, $scope3_id, "j", 1, 1, 1, 0, 1);
10633
+ _html(`</section>${_el_resume($scope3_id, "a", _serialize_guard($scope0_reason, 9))}`);
10634
+ _subscribe($retrying__closures, _subscribe($restoreLine__closures, _subscribe($si__input_workspace && $ws_pending_error__closures, _subscribe($si__input_workspace && $ws_name__closures, _subscribe($si__input_railPop && $input_railPop__closures, _subscribe($si__input_page && $input_page__closures, writeScope($scope3_id, {
10547
10635
  _: _scope_with_id($scope1_id),
10548
- Caz: $si__input_workspace && 1
10549
- }))))));
10636
+ Cb2: $si__input_workspace && 1
10637
+ })))))));
10550
10638
  return 1;
10551
10639
  } else {
10552
10640
  const $scope4_id = _scope_id();
10553
10641
  const sessions$1 = input.sessions || [];
10554
10642
  const phaseLabel = dot$1 === "working" ? "Working" : dot$1 === "waiting" ? "Needs input" : dot$1 === "idle" ? "Idle" : "Not running";
10555
- _html(`<section${_attr_class(["_fM", {
10556
- ["_fI"]: input.current,
10643
+ _html(`<section${_attr_class(["_c2", {
10644
+ ["_cY"]: input.current,
10557
10645
  ["_bd"]: input.current,
10558
- ["_fN"]: input.railPop,
10559
- ["_fL"]: input.page
10560
- }])}><div${_attr_class("_fO")}><a${_attr("href", `/w/${ws$1.id}`)}${_attr_class(wsBtn)}><span${_attr_class([
10646
+ ["_c3"]: input.railPop,
10647
+ ["_c1"]: input.page
10648
+ }])}><div${_attr_class("_c4")}><a${_attr("href", `/w/${ws$1.id}`)}${_attr_class(wsBtn)}><span${_attr_class([
10561
10649
  "_A",
10562
10650
  phase[dot$1],
10563
- "_f1"
10651
+ "_dg"
10564
10652
  ])}${_attr("title", phaseLabel)}></span>${_el_resume($scope4_id, "d", $sg__input_status)}`);
10565
10653
  _if(() => {
10566
10654
  if (sessions$1.length === 1) {
10567
- const $scope17_id = _scope_id();
10655
+ const $scope18_id = _scope_id();
10568
10656
  _set_serialize_reason({
10569
10657
  1: $sg__input_sessions,
10570
10658
  2: $sg__input_sessions
@@ -10573,9 +10661,9 @@ var side_nav_item_default = _template("z", (input) => {
10573
10661
  icon_agent_default({
10574
10662
  agent: activeAgent(sessions$1[0]),
10575
10663
  size: 12,
10576
- class: "_fU"
10664
+ class: "_c_"
10577
10665
  });
10578
- $si__input_sessions && writeScope($scope17_id, {
10666
+ $si__input_sessions && writeScope($scope18_id, {
10579
10667
  _: _scope_with_id($scope4_id),
10580
10668
  a: _existing_scope($childScope)
10581
10669
  });
@@ -10583,12 +10671,12 @@ var side_nav_item_default = _template("z", (input) => {
10583
10671
  }
10584
10672
  }, $scope4_id, "e", $sg__input_sessions, $sg__input_sessions);
10585
10673
  const metaText = sessions$1.length === 0 ? phaseLabel : sessions$1.length > 1 ? `${sessions$1.length} sessions` : "";
10586
- _html(`<span${_attr_class("_fV")}><span${_attr_class("_fW")}>${_text_resume($scope4_id, "h", ws$1.name, $sg__input_workspace)}</span>`);
10674
+ _html(`<span${_attr_class("_da")}><span${_attr_class("_db")}>${_text_resume($scope4_id, "h", ws$1.name, $sg__input_workspace)}</span>`);
10587
10675
  _if(() => {
10588
10676
  if (input.page && metaText) {
10589
- const $scope18_id = _scope_id();
10590
- _html(`<span${_attr_class("_fZ")}>${_text_resume($scope18_id, "b", metaText, _serialize_guard($scope0_reason, 3))}</span>`);
10591
- $si__input_page__OR__input_sessions__OR__input_status && writeScope($scope18_id, { _: _serialize_if($scope0_reason, 3) && _scope_with_id($scope4_id) });
10677
+ const $scope19_id = _scope_id();
10678
+ _html(`<span${_attr_class("_de")}>${_text_resume($scope19_id, "b", metaText, _serialize_guard($scope0_reason, 3))}</span>`);
10679
+ $si__input_page__OR__input_sessions__OR__input_status && writeScope($scope19_id, { _: _serialize_if($scope0_reason, 3) && _scope_with_id($scope4_id) });
10592
10680
  return 0;
10593
10681
  }
10594
10682
  }, $scope4_id, "i", $sg__input_page__OR__input_sessions__OR__input_status, $sg__input_page__OR__input_sessions__OR__input_status, 1, 0, 1);
@@ -10600,11 +10688,11 @@ var side_nav_item_default = _template("z", (input) => {
10600
10688
  "_N",
10601
10689
  "_W",
10602
10690
  "_P",
10603
- "_f0"
10691
+ "_df"
10604
10692
  ])}>${_text_resume($scope5_id, "b", input.current ? "Open" : "", _serialize_guard($scope0_reason, 20))}</span>`);
10605
10693
  $si__input_current__OR__input_page__OR__input_rail__OR__input_workspace && _subscribe($si__input_current && $input_current__closures, writeScope($scope5_id, {
10606
10694
  _: _scope_with_id($scope4_id),
10607
- Caf: $si__input_current && 2
10695
+ Cai: $si__input_current && 2
10608
10696
  }));
10609
10697
  return 0;
10610
10698
  }
@@ -10613,7 +10701,7 @@ var side_nav_item_default = _template("z", (input) => {
10613
10701
  _if(() => {
10614
10702
  if (!input.page) {
10615
10703
  const $scope6_id = _scope_id();
10616
- _html(`<div${_attr_class("_fQ")}>`);
10704
+ _html(`<div${_attr_class("_c6")}>`);
10617
10705
  _if(() => {
10618
10706
  if (input.onNewSession) {
10619
10707
  const $scope7_id = _scope_id();
@@ -10635,13 +10723,13 @@ var side_nav_item_default = _template("z", (input) => {
10635
10723
  size: 14
10636
10724
  });
10637
10725
  _html(`${_text_resume($scope8_id, "c", agent, 2)}</button>${_el_resume($scope8_id, "a")}`);
10638
- _script($scope8_id, "z3");
10726
+ _script($scope8_id, "z5");
10639
10727
  writeScope($scope8_id, {
10640
10728
  e: agent,
10641
10729
  b: _existing_scope($childScope2)
10642
10730
  });
10643
10731
  }, (a) => a, $scope7_id, "c", 1, 1, 1, "</div>", 1);
10644
- _script($scope7_id, "z4");
10732
+ _script($scope7_id, "z6");
10645
10733
  _subscribe($si__input_agents && $input_agents__closures, writeScope($scope7_id, {
10646
10734
  e: $si__input_agents && pickerReady,
10647
10735
  _: _scope_with_id($scope6_id)
@@ -10657,22 +10745,22 @@ var side_nav_item_default = _template("z", (input) => {
10657
10745
  _html(`</a>${_el_resume($scope14_id, "a", $sg__input_workspace)}`);
10658
10746
  _serialize_if($scope0_reason, 12) && _subscribe($si__input_workspace && $ws_id__closures, writeScope($scope14_id, {
10659
10747
  _: _scope_with_id($scope6_id),
10660
- Cay: $si__input_workspace && 4
10748
+ Cb1: $si__input_workspace && 4
10661
10749
  }));
10662
10750
  return 0;
10663
10751
  }
10664
10752
  }, $scope6_id, "c", $sg__input_onReview, $sg__input_onReview, $sg__input_onNewSession__OR__input_onReview, 0, 1);
10665
- _html(`<a${input.managing ? _attr("href", `/w/${ws$1.id}`) : _attr("href", `/w/${ws$1.id}/manage`)}${_attr_class([rowIcon, { ["_fJ"]: input.managing }])} title=${input.managing ? "\"Back to terminal\"" : "\"Manage workspace\""}${input.managing ? " aria-current=page" : ""}>`);
10753
+ _html(`<a${input.managing ? _attr("href", `/w/${ws$1.id}`) : _attr("href", `/w/${ws$1.id}/manage`)}${_attr_class([rowIcon, { ["_cZ"]: input.managing }])} title=${input.managing ? "\"Back to terminal\"" : "\"Manage workspace\""}${input.managing ? " aria-current=page" : ""}>`);
10666
10754
  icon_manage_default({ size: 12 });
10667
10755
  _html(`</a>${_el_resume($scope6_id, "d", _serialize_guard($scope0_reason, 4))}</div>`);
10668
10756
  _subscribe($si__input_workspace && $ws_id__closures, _subscribe($si__input_managing && $input_managing__closures, _subscribe($si__input_onReview && $input_onReview__closures, _subscribe($si__input_onNewSession && $input_onNewSession__closures, writeScope($scope6_id, {
10669
10757
  _: _scope_with_id($scope4_id),
10670
- Cay: $si__input_workspace && 2
10758
+ Cb1: $si__input_workspace && 2
10671
10759
  })))));
10672
10760
  return 0;
10673
10761
  }
10674
10762
  }, $scope4_id, "k", $sg__input_page, $sg__input_page, 1, 0, 1);
10675
- _html(`</div><div${_attr_class("_f6")}>`);
10763
+ _html(`</div><div${_attr_class("_dl")}>`);
10676
10764
  _if(() => {
10677
10765
  if (sessions$1.length === 1 && openPlan) {
10678
10766
  const $scope12_id = _scope_id();
@@ -10680,25 +10768,25 @@ var side_nav_item_default = _template("z", (input) => {
10680
10768
  const $childScope3 = _peek_scope_id();
10681
10769
  usage_pcts_default({
10682
10770
  agent: openPlan,
10683
- class: "_fX"
10771
+ class: "_dc"
10684
10772
  });
10685
10773
  _subscribe($openPlan__closures, writeScope($scope12_id, {
10686
10774
  a: _existing_scope($childScope3),
10687
- Caw: 2
10775
+ Caz: 2
10688
10776
  }));
10689
10777
  return 0;
10690
10778
  }
10691
10779
  }, $scope4_id, "m");
10692
10780
  _for_of(sessions$1.length > 1 ? sessions$1 : [], (s) => {
10693
10781
  const $scope9_id = _scope_id();
10694
- _html(`<div${_attr_class(["_fR", { ["_fI"]: s.id === input.currentTab }])}>`);
10782
+ _html(`<div${_attr_class(["_c7", { ["_cY"]: s.id === input.currentTab }])}>`);
10695
10783
  _if(() => {
10696
10784
  if (renamingId === s.id) {
10697
10785
  const $scope11_id = _scope_id();
10698
10786
  _html(`<span${_attr_class([
10699
10787
  "_A",
10700
10788
  phase[sessionPhase(s.state)],
10701
- "_f4"
10789
+ "_dj"
10702
10790
  ])}></span>${_el_resume($scope11_id, "a", $sg__input_sessions)}`);
10703
10791
  _set_serialize_reason({
10704
10792
  1: $sg__input_sessions,
@@ -10708,12 +10796,12 @@ var side_nav_item_default = _template("z", (input) => {
10708
10796
  icon_agent_default({
10709
10797
  agent: activeAgent(s),
10710
10798
  size: 12,
10711
- class: "_f8"
10799
+ class: "_dn"
10712
10800
  });
10713
10801
  _html(`<input${_attr_input_value($scope11_id, "c", renameValue, _resume((_new_renameValue) => {
10714
10802
  renameValue = _new_renameValue;
10715
10803
  }, "z0", $scope11_id))}${_attr_class(["_Z", sessRename$1])} aria-label="Session name">${_el_resume($scope11_id, "c")}`);
10716
- _script($scope11_id, "z5");
10804
+ _script($scope11_id, "z7");
10717
10805
  _subscribe($renameValue__closures, writeScope($scope11_id, { b: $si__input_sessions && _existing_scope($childScope4) }));
10718
10806
  return 0;
10719
10807
  } else {
@@ -10727,9 +10815,9 @@ var side_nav_item_default = _template("z", (input) => {
10727
10815
  icon_agent_default({
10728
10816
  agent: activeAgent(s),
10729
10817
  size: 12,
10730
- class: "_f8"
10818
+ class: "_dn"
10731
10819
  });
10732
- _html(`<span${_attr_class("_f2")}>${_text_resume($scope10_id, "e", s.title || activeAgent(s), $sg__input_sessions)}</span></a>${_el_resume($scope10_id, "a", _serialize_guard($scope0_reason, 2))}<div${_attr_class("_f3")}><button${_attr_class(rowIcon)} title="Rename session">`);
10820
+ _html(`<span${_attr_class("_dh")}>${_text_resume($scope10_id, "e", s.title || activeAgent(s), $sg__input_sessions)}</span></a>${_el_resume($scope10_id, "a", _serialize_guard($scope0_reason, 2))}<div${_attr_class("_di")}><button${_attr_class(rowIcon)} title="Rename session">`);
10733
10821
  icon_edit_default({ size: 12 });
10734
10822
  _html(`</button>${_el_resume($scope10_id, "g")}<button${_attr_class([close, { ["_s"]: armedKill === s.id }])} title=${armedKill === s.id ? "Close?" : "\"Close session\""}>`);
10735
10823
  icon_xmark_default({ size: 12 });
@@ -10741,20 +10829,20 @@ var side_nav_item_default = _template("z", (input) => {
10741
10829
  const $childScope6 = _peek_scope_id();
10742
10830
  usage_pcts_default({
10743
10831
  agent: openPlan,
10744
- class: "_fY"
10832
+ class: "_dd"
10745
10833
  });
10746
10834
  _subscribe($openPlan__closures, writeScope($scope13_id, {
10747
10835
  a: _existing_scope($childScope6),
10748
- Caw: 3
10836
+ Caz: 3
10749
10837
  }));
10750
10838
  return 0;
10751
10839
  }
10752
10840
  }, $scope10_id, "k");
10753
- _script($scope10_id, "z6");
10841
+ _script($scope10_id, "z8");
10754
10842
  _subscribe($si__input_workspace && $ws_id__closures, _subscribe($openPlan__closures, _subscribe($si__input_current__OR__input_page__OR__input_rail__OR__input_sessions__OR__input_currentTab && $openSess_id__closures, _subscribe($armedKill__closures, writeScope($scope10_id, {
10755
10843
  c: $si__input_sessions && _existing_scope($childScope5),
10756
- Caw: 1,
10757
- Cay: $si__input_workspace && 3
10844
+ Caz: 1,
10845
+ Cb1: $si__input_workspace && 3
10758
10846
  })))));
10759
10847
  return 1;
10760
10848
  }
@@ -10775,7 +10863,7 @@ var side_nav_item_default = _template("z", (input) => {
10775
10863
  status: st
10776
10864
  });
10777
10865
  _html(`</div></section>${_el_resume($scope4_id, "a")}`);
10778
- _script($scope4_id, "z7");
10866
+ _script($scope4_id, "z9");
10779
10867
  _subscribe($si__input_workspace && $ws_name__closures, _subscribe($si__input_workspace && $ws_id__closures, _subscribe($openPlan__closures, _subscribe($si__input_railPop && $input_railPop__closures, _subscribe($si__input_workspaceId && $input_workspaceId__closures, _subscribe($si__input_sessions && $input_sessions__closures, _subscribe($si__input_page && $input_page__closures, _subscribe($si__input_current && $input_current__closures, writeScope($scope4_id, {
10780
10868
  r: sessions$1.length,
10781
10869
  t: $si__input_sessions && sessions$1[0],
@@ -10783,11 +10871,11 @@ var side_nav_item_default = _template("z", (input) => {
10783
10871
  w: $si__input_page__OR__input_sessions__OR__input_status && metaText,
10784
10872
  _: _scope_with_id($scope1_id),
10785
10873
  o: _serialize_if($scope0_reason, 5) && _existing_scope($childScope7),
10786
- Caf: $si__input_current && 1,
10787
- Cag: $si__input_page && 1,
10788
- Can: $si__input_railPop && 1,
10789
- Cay: $si__input_workspace && 1,
10790
- Caz: $si__input_workspace && 2
10874
+ Cai: $si__input_current && 1,
10875
+ Caj: $si__input_page && 1,
10876
+ Caq: $si__input_railPop && 1,
10877
+ Cb1: $si__input_workspace && 1,
10878
+ Cb2: $si__input_workspace && 2
10791
10879
  })))))))));
10792
10880
  return 2;
10793
10881
  }
@@ -10800,9 +10888,9 @@ var side_nav_item_default = _template("z", (input) => {
10800
10888
  return 0;
10801
10889
  }
10802
10890
  }, $scope0_id, "a", $sg__input_rail__OR__input_workspace__OR__input_status, $sg__input_workspace, $sg__input_workspace);
10803
- _script($scope0_id, "z8");
10804
- _script($scope0_id, "z9");
10805
10891
  _script($scope0_id, "z10");
10892
+ _script($scope0_id, "z11");
10893
+ _script($scope0_id, "z12");
10806
10894
  writeScope($scope0_id, {
10807
10895
  d: input.onRenameSession,
10808
10896
  e: _serialize_if($scope0_reason, 18) && input.current,
@@ -10835,27 +10923,32 @@ var side_nav_item_default = _template("z", (input) => {
10835
10923
  ac: $si__input_rail__OR__input_workspace && ws$1?.name,
10836
10924
  ad: ws$1?.pending_error,
10837
10925
  ae: $si__input_rail__OR__input_workspace && restoreLine,
10838
- af: $si__input_current && $input_current__closures,
10839
- am: $si__input_index && $input_index__closures,
10840
- ax: $si__input_workspace && $ws_pending__closures,
10841
- ay: $si__input_workspace && $ws_id__closures,
10842
- az: $si__input_workspace && $ws_name__closures,
10843
- ag: $si__input_page && $input_page__closures,
10844
- an: $si__input_railPop && $input_railPop__closures,
10845
- b0: $si__input_workspace && $ws_pending_error__closures,
10846
- b1: $restoreLine__closures,
10847
- ap: $si__input_agents && $input_agents__closures,
10848
- ao: $si__input_onNewSession && $input_onNewSession__closures,
10849
- aq: $si__input_onReview && $input_onReview__closures,
10850
- ar: $si__input_managing && $input_managing__closures,
10851
- aw: $openPlan__closures,
10852
- au: $renameValue__closures,
10853
- as: $armedKill__closures,
10854
- av: $si__input_current__OR__input_page__OR__input_rail__OR__input_sessions__OR__input_currentTab && $openSess_id__closures,
10855
- aj: $si__input_currentTab && $input_currentTab__closures,
10856
- at: $renamingId__closures,
10857
- ai: $si__input_sessions && $input_sessions__closures,
10858
- ak: $si__input_workspaceId && $input_workspaceId__closures
10926
+ af: armedDelete,
10927
+ ag: $si__input_rail__OR__input_workspace && retrying,
10928
+ ah: restoreAction,
10929
+ ai: $si__input_current && $input_current__closures,
10930
+ ap: $si__input_index && $input_index__closures,
10931
+ b0: $si__input_workspace && $ws_pending__closures,
10932
+ b1: $si__input_workspace && $ws_id__closures,
10933
+ b2: $si__input_workspace && $ws_name__closures,
10934
+ b5: $armedDelete__closures,
10935
+ aj: $si__input_page && $input_page__closures,
10936
+ aq: $si__input_railPop && $input_railPop__closures,
10937
+ b3: $si__input_workspace && $ws_pending_error__closures,
10938
+ b4: $restoreLine__closures,
10939
+ b6: $retrying__closures,
10940
+ as: $si__input_agents && $input_agents__closures,
10941
+ ar: $si__input_onNewSession && $input_onNewSession__closures,
10942
+ at: $si__input_onReview && $input_onReview__closures,
10943
+ au: $si__input_managing && $input_managing__closures,
10944
+ az: $openPlan__closures,
10945
+ ax: $renameValue__closures,
10946
+ av: $armedKill__closures,
10947
+ ay: $si__input_current__OR__input_page__OR__input_rail__OR__input_sessions__OR__input_currentTab && $openSess_id__closures,
10948
+ am: $si__input_currentTab && $input_currentTab__closures,
10949
+ aw: $renamingId__closures,
10950
+ al: $si__input_sessions && $input_sessions__closures,
10951
+ an: $si__input_workspaceId && $input_workspaceId__closures
10859
10952
  });
10860
10953
  _resume_branch($scope0_id);
10861
10954
  });
@@ -10976,28 +11069,28 @@ var side_nav_default = _template("A", (input) => {
10976
11069
  const iconSrc = `/api/instance/icon${input.instanceAccent ? `?v=${input.instanceAccent.slice(1)}` : ""}`;
10977
11070
  const otherIds = itemIds.filter((id) => id !== ws?.id);
10978
11071
  const listIds = isPage && ws ? [ws.id, ...otherIds] : itemIds;
10979
- _html(`<aside${_attr_class(["_bS", {
10980
- ["_bQ"]: !navOpen,
10981
- ["_bR"]: isPage
11072
+ _html(`<aside${_attr_class(["_b0", {
11073
+ ["_bY"]: !navOpen,
11074
+ ["_bZ"]: isPage
10982
11075
  }])}${_attr("hidden", view === "diff")}>`);
10983
11076
  _if(() => {
10984
11077
  if (isPage) {
10985
11078
  const $scope1_id = _scope_id();
10986
- _html(`<header${_attr_class("_bV")}><div${_attr_class("_b4")}>`);
11079
+ _html(`<header${_attr_class("_b3")}><div${_attr_class("_cb")}>`);
10987
11080
  _if(() => {
10988
11081
  if (input.instanceName) {
10989
11082
  const $scope2_id = _scope_id();
10990
- _html(`<div${_attr_class("_b1")} title="This work server (Settings → Appearance)"><img${_attr_class("_b2")}${_attr("src", iconSrc)} alt aria-hidden=true>${_el_resume($scope2_id, "b", $sg__input_instanceAccent)}<span${_attr_class("_b3")}>${_text_resume($scope2_id, "d", input.instanceName, $sg__input_instanceName)}</span></div>`);
11083
+ _html(`<div${_attr_class("_b9")} title="This work server (Settings → Appearance)"><img${_attr_class("_b_")}${_attr("src", iconSrc)} alt aria-hidden=true>${_el_resume($scope2_id, "b", $sg__input_instanceAccent)}<span${_attr_class("_ca")}>${_text_resume($scope2_id, "d", input.instanceName, $sg__input_instanceName)}</span></div>`);
10991
11084
  _subscribe($si__input_instanceAccent && $iconSrc__closures, _subscribe($si__input_instanceName && $input_instanceName__closures, writeScope($scope2_id, { _: _scope_with_id($scope1_id) })));
10992
11085
  return 0;
10993
11086
  }
10994
11087
  }, $scope1_id, "c", $sg__input_instanceName, $sg__input_instanceName, 1, 0, 1);
10995
- _html(`<h1${_attr_class("_bW")}>Workspaces</h1></div><div${_attr_class("_bX")}>`);
11088
+ _html(`<h1${_attr_class("_b4")}>Workspaces</h1></div><div${_attr_class("_b5")}>`);
10996
11089
  _if(() => {}, $scope1_id, "f", 1, 1, 1, 0, 1);
10997
11090
  _html(`<a${view === "settings" ? _attr("href", backHref) : " href=/settings"}${_attr_class([
10998
11091
  iconBtn,
10999
- "_bY",
11000
- { ["_bN"]: view === "settings" }
11092
+ "_b6",
11093
+ { ["_bV"]: view === "settings" }
11001
11094
  ])} title=${view === "settings" ? "\"Back to workspace\"" : "Settings"}${view === "settings" ? " aria-current=page" : ""}>`);
11002
11095
  icon_settings_default({ size: 16 });
11003
11096
  _if(() => {
@@ -11016,7 +11109,7 @@ var side_nav_default = _template("A", (input) => {
11016
11109
  _if(() => {
11017
11110
  if (!isPage && input.instanceName) {
11018
11111
  const $scope3_id = _scope_id();
11019
- _html(`<div${_attr_class("_b1")} title="This work server (Settings → Appearance)"><img${_attr_class("_b2")}${_attr("src", iconSrc)} alt aria-hidden=true>${_el_resume($scope3_id, "b", $sg__input_instanceAccent)}<span${_attr_class("_b3")}>${_text_resume($scope3_id, "d", input.instanceName, $sg__input_instanceName)}</span></div>`);
11112
+ _html(`<div${_attr_class("_b9")} title="This work server (Settings → Appearance)"><img${_attr_class("_b_")}${_attr("src", iconSrc)} alt aria-hidden=true>${_el_resume($scope3_id, "b", $sg__input_instanceAccent)}<span${_attr_class("_ca")}>${_text_resume($scope3_id, "d", input.instanceName, $sg__input_instanceName)}</span></div>`);
11020
11113
  writeScope($scope3_id, {});
11021
11114
  return 0;
11022
11115
  }
@@ -11024,13 +11117,13 @@ var side_nav_default = _template("A", (input) => {
11024
11117
  _if(() => {
11025
11118
  if (navOpen || isPage) {
11026
11119
  const $scope4_id = _scope_id();
11027
- _html(`<div${_attr_class("_b5")}>`);
11120
+ _html(`<div${_attr_class("_cc")}>`);
11028
11121
  _for_of(listIds, (wsId) => {
11029
11122
  const $scope5_id = _scope_id();
11030
11123
  _if(() => {
11031
11124
  if (isPage && wsId === ws?.id) {
11032
11125
  const $scope14_id = _scope_id();
11033
- _html(`<h2${_attr_class(["_bM", "_bZ"])}>Current</h2>`);
11126
+ _html(`<h2${_attr_class(["_bM", "_b7"])}>Current</h2>`);
11034
11127
  writeScope($scope14_id, {});
11035
11128
  return 0;
11036
11129
  }
@@ -11038,7 +11131,7 @@ var side_nav_default = _template("A", (input) => {
11038
11131
  _if(() => {
11039
11132
  if (isPage && ws && wsId !== ws.id && wsId === otherIds[0]) {
11040
11133
  const $scope15_id = _scope_id();
11041
- _html(`<h2${_attr_class(["_bM", "_bZ"])}>Other workspaces</h2>`);
11134
+ _html(`<h2${_attr_class(["_bM", "_b7"])}>Other workspaces</h2>`);
11042
11135
  writeScope($scope15_id, {});
11043
11136
  return 0;
11044
11137
  }
@@ -11127,7 +11220,7 @@ var side_nav_default = _template("A", (input) => {
11127
11220
  railHover = null;
11128
11221
  }, 150);
11129
11222
  }, "A6", $scope6_id);
11130
- _html(`<div${_attr_class("_b6")}>`);
11223
+ _html(`<div${_attr_class("_cd")}>`);
11131
11224
  _for_of(itemIds, (wsId, i) => {
11132
11225
  const $scope7_id = _scope_id();
11133
11226
  _html("<span>");
@@ -11185,7 +11278,7 @@ var side_nav_default = _template("A", (input) => {
11185
11278
  if (railHover) {
11186
11279
  const $scope8_id = _scope_id();
11187
11280
  const hoverId = railHover.id;
11188
- _html(`<div${_attr_class(["__", "_b9"])}${_attr_style(`top:${railHover.top}px;left:${railHover.left}px`)}>`);
11281
+ _html(`<div${_attr_class(["__", "_cg"])}${_attr_style(`top:${railHover.top}px;left:${railHover.left}px`)}>`);
11189
11282
  _set_serialize_reason({
11190
11283
  0: 1,
11191
11284
  1: 1,
@@ -11280,7 +11373,7 @@ var side_nav_default = _template("A", (input) => {
11280
11373
  return 0;
11281
11374
  }
11282
11375
  }, $scope0_id, "e");
11283
- _html(`<div${_attr_class("_b7")}>`);
11376
+ _html(`<div${_attr_class("_ce")}>`);
11284
11377
  _if(() => {
11285
11378
  if (isPage) {
11286
11379
  const $scope10_id = _scope_id();
@@ -11288,7 +11381,7 @@ var side_nav_default = _template("A", (input) => {
11288
11381
  "_q",
11289
11382
  "_r",
11290
11383
  btnLg,
11291
- "_b0"
11384
+ "_b8"
11292
11385
  ])} title=${view === "new" ? "\"Back to workspace\"" : "\"New workspace\""}${view === "new" ? " aria-current=page" : ""}>`);
11293
11386
  icon_folder_plus_default({ size: 16 });
11294
11387
  _html(` New workspace</a>${_el_resume($scope10_id, "a")}`);
@@ -11310,9 +11403,9 @@ var side_nav_default = _template("A", (input) => {
11310
11403
  return 1;
11311
11404
  }
11312
11405
  }, $scope9_id, "a", 1, 1, 1, "</button>", 1);
11313
- _html(`<div${_attr_class(["_z", "_b8"])}></div>`);
11406
+ _html(`<div${_attr_class(["_z", "_cf"])}></div>`);
11314
11407
  _if(() => {}, $scope9_id, "c", 1, 1, 1, 0, 1);
11315
- _html(`<a${view === "settings" ? _attr("href", backHref) : " href=/settings"}${_attr_class([iconBtn, { ["_bN"]: view === "settings" }])} title=${view === "settings" ? "\"Back to workspace\"" : "Settings"}${view === "settings" ? " aria-current=page" : ""}>`);
11408
+ _html(`<a${view === "settings" ? _attr("href", backHref) : " href=/settings"}${_attr_class([iconBtn, { ["_bV"]: view === "settings" }])} title=${view === "settings" ? "\"Back to workspace\"" : "Settings"}${view === "settings" ? " aria-current=page" : ""}>`);
11316
11409
  icon_settings_default({});
11317
11410
  _if(() => {
11318
11411
  if (input.setupReady === false) {
@@ -11322,7 +11415,7 @@ var side_nav_default = _template("A", (input) => {
11322
11415
  return 0;
11323
11416
  }
11324
11417
  }, $scope9_id, "f", $sg__input_setupReady, $sg__input_setupReady, 1, 0, 1);
11325
- _html(`</a>${_el_resume($scope9_id, "d")}<a${view === "new" ? _attr("href", backHref) : " href=/new"}${_attr_class([iconBtn, { ["_bN"]: view === "new" }])} title=${view === "new" ? "\"Back to workspace\"" : "\"New workspace\""}${view === "new" ? " aria-current=page" : ""}>`);
11418
+ _html(`</a>${_el_resume($scope9_id, "d")}<a${view === "new" ? _attr("href", backHref) : " href=/new"}${_attr_class([iconBtn, { ["_bV"]: view === "new" }])} title=${view === "new" ? "\"Back to workspace\"" : "\"New workspace\""}${view === "new" ? " aria-current=page" : ""}>`);
11326
11419
  icon_folder_plus_default({ size: 16 });
11327
11420
  _html(`</a>${_el_resume($scope9_id, "g")}`);
11328
11421
  _script($scope9_id, "A15");
@@ -11662,8 +11755,8 @@ function treeDirs(files) {
11662
11755
  };
11663
11756
  return build(root, "", "", -1);
11664
11757
  }
11665
- var treeToggle = "_gf _5 _l";
11666
- var pageTitle = "_gm _cv";
11758
+ var treeToggle = "_eo _5 _l";
11759
+ var pageTitle = "_ev _cm";
11667
11760
  //#endregion
11668
11761
  //#region src/tags/diff-send.marko
11669
11762
  var diff_send_default = _template("j", (input) => {
@@ -11673,7 +11766,7 @@ var diff_send_default = _template("j", (input) => {
11673
11766
  let sendTarget = null;
11674
11767
  const sessions = input.sessions || [];
11675
11768
  const sendPick = sessions.some((s) => s.id === sendTarget) ? sendTarget : sessions[0]?.id ?? null;
11676
- _html(`<span${_attr_class("_hc")}><button type=button${_attr_class("_q")} title="Copy comments as markdown">${_text_resume($scope0_id, "c", "Copy")}</button>${_el_resume($scope0_id, "b")}`);
11769
+ _html(`<span${_attr_class("_gx")}><button type=button${_attr_class("_q")} title="Copy comments as markdown">${_text_resume($scope0_id, "c", "Copy")}</button>${_el_resume($scope0_id, "b")}`);
11677
11770
  _if(() => {
11678
11771
  if (sessions.length === 1) {
11679
11772
  const $scope1_id = _scope_id();
@@ -11683,11 +11776,11 @@ var diff_send_default = _template("j", (input) => {
11683
11776
  return 0;
11684
11777
  } else if (sessions.length) {
11685
11778
  const $scope2_id = _scope_id();
11686
- _html(`<span${_attr_class("_hd")}><button type=button${_attr_class(["_r", "_he"])}${_attr("disabled", sending)}>${_text_resume($scope2_id, "c", "Send to")}</button>${_el_resume($scope2_id, "b")}`);
11779
+ _html(`<span${_attr_class("_gy")}><button type=button${_attr_class(["_r", "_gz"])}${_attr("disabled", sending)}>${_text_resume($scope2_id, "c", "Send to")}</button>${_el_resume($scope2_id, "b")}`);
11687
11780
  _attr_select_value($scope2_id, "d", sendTarget, _resume((_new_sendTarget) => {
11688
11781
  sendTarget = _new_sendTarget;
11689
11782
  }, "j0", $scope2_id), () => {
11690
- _html(`<select${_attr_class("_hf")} aria-label="Send comments to session"${_attr("disabled", sending)}>`);
11783
+ _html(`<select${_attr_class("_gA")} aria-label="Send comments to session"${_attr("disabled", sending)}>`);
11691
11784
  _for_of(sessions, (s) => {
11692
11785
  const $scope3_id = _scope_id();
11693
11786
  _html(`<option${_attr_option_value(s.id)}>${_text_resume($scope3_id, "b", s.title || s.agent, $sg__input_sessions)}</option>${_el_resume($scope3_id, "a", $sg__input_sessions)}`);
@@ -13199,8 +13292,8 @@ function clip(line, at, len) {
13199
13292
  const end = Math.min(line.length, at + len + pad);
13200
13293
  return (start > 0 ? "…" : "") + line.slice(start, end) + (end < line.length ? "…" : "");
13201
13294
  }
13202
- var findInput = "_gK _n";
13203
- var findIconBtn = "_gN _l";
13295
+ var findInput = "_hQ _n";
13296
+ var findIconBtn = "_hT _l";
13204
13297
  //#endregion
13205
13298
  //#region src/tags/icons/icon-arrow-down.marko
13206
13299
  var icon_arrow_down_default = _template("K", (input) => {
@@ -13288,9 +13381,9 @@ var diff_find_default = _template("i", (input) => {
13288
13381
  el.select();
13289
13382
  }, 0);
13290
13383
  }, "i0", $scope0_id);
13291
- _html(`<div${_attr_class(["_gJ", !open && "_gI"])} aria-hidden=${open ? "false" : "true"}><input${_attr_input_value($scope0_id, "b", query || "", _resume(function(v) {
13384
+ _html(`<div${_attr_class(["_hP", !open && "_hO"])} aria-hidden=${open ? "false" : "true"}><input${_attr_input_value($scope0_id, "b", query || "", _resume(function(v) {
13292
13385
  type(v);
13293
- }, "i1", $scope0_id))}${_attr_class(findInput)} type=search enterkeyhint=search autocomplete=off tabindex=${open ? "0" : "-1"} placeholder="Find in review" aria-label="Find in review">${_el_resume($scope0_id, "b")}<span${_attr_class("_gM")}>${_text_resume($scope0_id, "d", open && (query || "").trim() ? hits.length ? `${at + 1}/${hits.length}` : "0/0" : "")}</span><button type=button${_attr_class(findIconBtn)} title="Previous match"${_attr("disabled", !hits.length || !open)} tabindex=${open ? "0" : "-1"}>`);
13386
+ }, "i1", $scope0_id))}${_attr_class(findInput)} type=search enterkeyhint=search autocomplete=off tabindex=${open ? "0" : "-1"} placeholder="Find in review" aria-label="Find in review">${_el_resume($scope0_id, "b")}<span${_attr_class("_hS")}>${_text_resume($scope0_id, "d", open && (query || "").trim() ? hits.length ? `${at + 1}/${hits.length}` : "0/0" : "")}</span><button type=button${_attr_class(findIconBtn)} title="Previous match"${_attr("disabled", !hits.length || !open)} tabindex=${open ? "0" : "-1"}>`);
13294
13387
  icon_arrow_up_default({ size: 14 });
13295
13388
  _html(`</button>${_el_resume($scope0_id, "e")}<button type=button${_attr_class(findIconBtn)} title="Next match"${_attr("disabled", !hits.length || !open)} tabindex=${open ? "0" : "-1"}>`);
13296
13389
  icon_arrow_down_default({ size: 14 });
@@ -13392,9 +13485,9 @@ function shortBranch(name, wsBranch = "", wsName = "") {
13392
13485
  }
13393
13486
  return shortHeadFallback(head);
13394
13487
  }
13395
- var repoWorktree = "_ih _y";
13396
- var repoTitle = "_in _x";
13397
- var path$1 = "_iE _bb";
13488
+ var repoWorktree = "_ij _y";
13489
+ var repoTitle = "_ip _x";
13490
+ var path$1 = "_iG _bb";
13398
13491
  //#endregion
13399
13492
  //#region src/tags/icons/icon-chevron-down.marko
13400
13493
  var icon_chevron_down_default = _template("T", (input) => {
@@ -13468,7 +13561,7 @@ var diff_file_default = _template("h", (input) => {
13468
13561
  _scope_reason();
13469
13562
  const $scope0_id = _scope_id();
13470
13563
  _el($scope0_id, "h0");
13471
- _html(`<div${_attr_class(["_iI", input.class])}></div>${_el_resume($scope0_id, "a")}`);
13564
+ _html(`<div${_attr_class(["_iM", input.class])}></div>${_el_resume($scope0_id, "a")}`);
13472
13565
  _script($scope0_id, "h1");
13473
13566
  writeScope($scope0_id, {
13474
13567
  e: input.file,
@@ -13530,14 +13623,14 @@ var review_section_default = _template("w", (input) => {
13530
13623
  const newCount = input.files.filter((f) => f.changedSince).length;
13531
13624
  const compare$1 = reviewCompareLabel(repo.pr?.baseRefName || repo.base, repo.pr?.headRefName || repo.branch, input.workspaceBranch, input.workspaceName);
13532
13625
  const prTitle = repo.pr ? `${repo.pr.title}: ${repo.pr.headRefName} ${repo.head} vs ${repo.base} ${repo.baseSha}` : "";
13533
- _html(`<section${_attr_class("_id")}${repo.pr ? _attr("data-pr", `${repo.worktree}/${repo.pr.number}`) : ""}${_attr("hidden", !shownCount && !repo.pr && input.findHit?.repo !== repo.id)}><div${_attr_class(["_ie", { ["_if"]: input.collapsible && input.collapsed }])}>`);
13626
+ _html(`<section${_attr_class("_if")}${repo.pr ? _attr("data-pr", `${repo.worktree}/${repo.pr.number}`) : ""}${_attr("hidden", !shownCount && !repo.pr && input.findHit?.repo !== repo.id)}><div${_attr_class(["_ig", { ["_ih"]: input.collapsible && input.collapsed }])}>`);
13534
13627
  _if(() => {
13535
13628
  if (input.collapsible) {
13536
13629
  const $scope1_id = _scope_id();
13537
- _html(`<button type=button${_attr_class("_ig")} aria-expanded=${!input.collapsed ? "true" : "false"} aria-busy=${input.expanding ? "true" : "false"}${input.collapsed ? _attr("title", `Show ${countLabel} files`) : " title=\"Hide files\""}><span${_attr_class([
13538
- "_iB",
13539
- !input.collapsed && "_iC",
13540
- input.expanding && "_iD"
13630
+ _html(`<button type=button${_attr_class("_ii")} aria-expanded=${!input.collapsed ? "true" : "false"} aria-busy=${input.expanding ? "true" : "false"}${input.collapsed ? _attr("title", `Show ${countLabel} files`) : " title=\"Hide files\""}><span${_attr_class([
13631
+ "_iD",
13632
+ !input.collapsed && "_iE",
13633
+ input.expanding && "_iF"
13541
13634
  ])} aria-hidden=true>`);
13542
13635
  _if(() => {
13543
13636
  if (input.collapsed) {
@@ -13576,14 +13669,14 @@ var review_section_default = _template("w", (input) => {
13576
13669
  return 1;
13577
13670
  }
13578
13671
  }, $scope0_id, "d", $sg__input_repo, $sg__input_repo, $sg__input_repo__OR__input_files__OR__input_shownKeys__OR__input_workspaceBranch__OR__input_workspaceName__OR__input_collapsible__OR__input_collapsed__OR__input_localDiffers__OR__input_onlyNew__OR__input_opened);
13579
- _html(`<span${_attr_class("_io")}${_attr("title", `${compare$1.title} · ${repo.head.slice(0, 7)}…${repo.baseSha.slice(0, 7)}`)}><span${_attr_class(["_N", "_ip"])}>${_text_resume($scope0_id, "g", compare$1.base, $sg__input_repo__OR__input_workspaceBranch__OR__input_workspaceName)}</span><span${_attr_class(["_P", "_ir"])} aria-hidden=true>vs</span><span${_attr_class(["_N", "_iq"])}>${_text_resume($scope0_id, "j", compare$1.head, $sg__input_repo__OR__input_workspaceBranch__OR__input_workspaceName)}</span>`);
13672
+ _html(`<span${_attr_class("_iq")}${_attr("title", `${compare$1.title} · ${repo.head.slice(0, 7)}…${repo.baseSha.slice(0, 7)}`)}><span${_attr_class(["_N", "_ir"])}>${_text_resume($scope0_id, "g", compare$1.base, $sg__input_repo__OR__input_workspaceBranch__OR__input_workspaceName)}</span><span${_attr_class(["_P", "_it"])} aria-hidden=true>vs</span><span${_attr_class(["_N", "_is"])}>${_text_resume($scope0_id, "j", compare$1.head, $sg__input_repo__OR__input_workspaceBranch__OR__input_workspaceName)}</span>`);
13580
13673
  _if(() => {
13581
13674
  if (compare$1.topic) {
13582
13675
  const $scope16_id = _scope_id();
13583
13676
  _html(`<span${_attr_class([
13584
13677
  "_N",
13585
13678
  tone.accent,
13586
- "_is"
13679
+ "_iu"
13587
13680
  ])}>${_text_resume($scope16_id, "b", compare$1.topic, $sg__input_repo__OR__input_workspaceBranch__OR__input_workspaceName)}</span>`);
13588
13681
  $si__input_repo__OR__input_workspaceBranch__OR__input_workspaceName && writeScope($scope16_id, { _: _scope_with_id($scope0_id) });
13589
13682
  return 0;
@@ -13596,7 +13689,7 @@ var review_section_default = _template("w", (input) => {
13596
13689
  _html(`<button type=button${_attr_class([
13597
13690
  "_N",
13598
13691
  tone.warn,
13599
- "_it"
13692
+ "_iv"
13600
13693
  ])}${_attr("title", `origin/${repo.pr.headRefName} ${repo.head} · GitHub ${repo.pr.headRefOid}. Reload to re-ask GitHub`)}${_attr("disabled", input.loading)}>behind GitHub ${_text_resume($scope2_id, "b", shortSha(repo.head, 7), $sg__input_repo * 2)} → ${_text_resume($scope2_id, "c", shortSha(repo.pr.headRefOid, 7), $sg__input_repo * 2)}</button>${_el_resume($scope2_id, "a")}`);
13601
13694
  _script($scope2_id, "w10");
13602
13695
  writeScope($scope2_id, { _: _scope_with_id($scope0_id) });
@@ -13606,7 +13699,7 @@ var review_section_default = _template("w", (input) => {
13606
13699
  _if(() => {
13607
13700
  if (repo.contained && input.files.length) {
13608
13701
  const $scope13_id = _scope_id();
13609
- _html(`<span${_attr_class(["_N", "_it"])}${_attr("title", `${repo.pr ? `#${repo.pr.number}` : repo.branch} is already in ${repo.base}; showing the working tree only`)}>already in ${_text_resume($scope13_id, "b", repo.base, $sg__input_repo * 2)}</span>${_el_resume($scope13_id, "a", $sg__input_repo)}`);
13702
+ _html(`<span${_attr_class(["_N", "_iv"])}${_attr("title", `${repo.pr ? `#${repo.pr.number}` : repo.branch} is already in ${repo.base}; showing the working tree only`)}>already in ${_text_resume($scope13_id, "b", repo.base, $sg__input_repo * 2)}</span>${_el_resume($scope13_id, "a", $sg__input_repo)}`);
13610
13703
  _serialize_if($scope0_reason, 0) && writeScope($scope13_id, { _: $si__input_repo && _scope_with_id($scope0_id) });
13611
13704
  return 0;
13612
13705
  }
@@ -13614,16 +13707,16 @@ var review_section_default = _template("w", (input) => {
13614
13707
  _if(() => {
13615
13708
  if (input.localDiffers) {
13616
13709
  const $scope3_id = _scope_id();
13617
- _html(`<span${_attr_class(["_N", "_it"])}${_attr("title", `This view is ${shortSha(repo.head)} (${repo.pr.headRefName}); checked out is ${shortSha(repo.localHead)} (${repo.branch})`)}>local ${_text_resume($scope3_id, "b", shortBranch(repo.branch, input.workspaceBranch, input.workspaceName), $sg__input_repo__OR__input_workspaceBranch__OR__input_workspaceName * 2)}${_text_resume($scope3_id, "c", shortSha(repo.localHead, 7), $sg__input_repo * 2)}</span>${_el_resume($scope3_id, "a", $sg__input_repo)}`);
13710
+ _html(`<span${_attr_class(["_N", "_iv"])}${_attr("title", `This view is ${shortSha(repo.head)} (${repo.pr.headRefName}); checked out is ${shortSha(repo.localHead)} (${repo.branch})`)}>local ${_text_resume($scope3_id, "b", shortBranch(repo.branch, input.workspaceBranch, input.workspaceName), $sg__input_repo__OR__input_workspaceBranch__OR__input_workspaceName * 2)}${_text_resume($scope3_id, "c", shortSha(repo.localHead, 7), $sg__input_repo * 2)}</span>${_el_resume($scope3_id, "a", $sg__input_repo)}`);
13618
13711
  $si__input_repo__OR__input_workspaceBranch__OR__input_workspaceName__OR__input_localDiffers && writeScope($scope3_id, { _: $si__input_repo__OR__input_workspaceBranch__OR__input_workspaceName && _scope_with_id($scope0_id) });
13619
13712
  return 0;
13620
13713
  }
13621
13714
  }, $scope0_id, "n", _serialize_guard($scope0_reason, 23), _serialize_guard($scope0_reason, 38), $sg__input_repo__OR__input_files__OR__input_shownKeys__OR__input_workspaceBranch__OR__input_workspaceName__OR__input_collapsible__OR__input_collapsed__OR__input_localDiffers__OR__input_onlyNew__OR__input_opened, 0, 1);
13622
- _html(`<span${_attr_class("_ii")}><span>${_text_resume($scope0_id, "p", countLabel, $sg__input_files__OR__input_shownKeys)} file${_text_resume($scope0_id, "q", countLabel === 1 ? "" : "s", $sg__input_files__OR__input_shownKeys * 2)}</span>`);
13715
+ _html(`<span${_attr_class("_ik")}><span>${_text_resume($scope0_id, "p", countLabel, $sg__input_files__OR__input_shownKeys)} file${_text_resume($scope0_id, "q", countLabel === 1 ? "" : "s", $sg__input_files__OR__input_shownKeys * 2)}</span>`);
13623
13716
  _if(() => {
13624
13717
  if (stats.additions || stats.deletions) {
13625
13718
  const $scope15_id = _scope_id();
13626
- _html(`<span${_attr_class("_ij")}>+${_text_resume($scope15_id, "b", stats.additions, $sg__input_files__OR__input_shownKeys * 2)}</span><span${_attr_class("_ik")}>−${_text_resume($scope15_id, "d", stats.deletions, $sg__input_files__OR__input_shownKeys * 2)}</span>`);
13719
+ _html(`<span${_attr_class("_il")}>+${_text_resume($scope15_id, "b", stats.additions, $sg__input_files__OR__input_shownKeys * 2)}</span><span${_attr_class("_im")}>−${_text_resume($scope15_id, "d", stats.deletions, $sg__input_files__OR__input_shownKeys * 2)}</span>`);
13627
13720
  $si__input_files__OR__input_shownKeys && writeScope($scope15_id, { _: _scope_with_id($scope0_id) });
13628
13721
  return 0;
13629
13722
  }
@@ -13631,7 +13724,7 @@ var review_section_default = _template("w", (input) => {
13631
13724
  _if(() => {
13632
13725
  if (newCount || input.onlyNew) {
13633
13726
  const $scope4_id = _scope_id();
13634
- _html(`<button type=button${_attr_class(["_im", { ["_il"]: input.onlyNew }])} aria-pressed=${input.onlyNew ? "true" : "false"} title=${input.onlyNew ? "\"Show every file\"" : "\"Show only files changed since your last visit\""}>${_text_resume($scope4_id, "b", newCount, $sg__input_files)} new</button>${_el_resume($scope4_id, "a")}`);
13727
+ _html(`<button type=button${_attr_class(["_io", { ["_in"]: input.onlyNew }])} aria-pressed=${input.onlyNew ? "true" : "false"} title=${input.onlyNew ? "\"Show every file\"" : "\"Show only files changed since your last visit\""}>${_text_resume($scope4_id, "b", newCount, $sg__input_files)} new</button>${_el_resume($scope4_id, "a")}`);
13635
13728
  _script($scope4_id, "w11");
13636
13729
  writeScope($scope4_id, { _: _scope_with_id($scope0_id) });
13637
13730
  return 0;
@@ -13641,7 +13734,7 @@ var review_section_default = _template("w", (input) => {
13641
13734
  _if(() => {
13642
13735
  if (!input.collapsible || !input.collapsed || input.opened) {
13643
13736
  const $scope5_id = _scope_id();
13644
- _html(`<div${_attr_class("_iv")}${_attr("hidden", input.collapsible && input.collapsed)}>`);
13737
+ _html(`<div${_attr_class("_ix")}${_attr("hidden", input.collapsible && input.collapsed)}>`);
13645
13738
  _for_of(input.files, (file$2) => {
13646
13739
  const $scope6_id = _scope_id();
13647
13740
  const $for_content__file__closures = /* @__PURE__ */ new Set();
@@ -13654,14 +13747,14 @@ var review_section_default = _template("w", (input) => {
13654
13747
  _html(`<details${_attr_details_or_dialog_open($scope6_id, "a", expanded, _resume(function(open) {
13655
13748
  input.onFileToggle(file$2.key, open);
13656
13749
  }, "w0", $scope6_id))}${_attr_class([
13657
- "_iw",
13658
- forceNear && "_ix",
13659
- input.findHit?.key === file$2.key && "_ib"
13660
- ])}${_attr("data-key", file$2.key)}${_attr("hidden", !input.shownKeys.has(file$2.key))}><summary${_attr_class("_iz")}><span${_attr_class("_ba")}${_attr("data-status", file$2.status)}>${_text_resume($scope6_id, "d", file$2.status, $sg__input_files)}</span>${_el_resume($scope6_id, "c", $sg__input_files)}<span${_attr_class([path$1, input.findHit?.key === file$2.key && input.findHit.line < 1 && "_ic"])}${_attr("title", file$2.path)}><bdi>${_text_resume($scope6_id, "f", file$2.path, $sg__input_files)}</bdi></span>${_el_resume($scope6_id, "e", _serialize_guard($scope0_reason, 19))}`);
13750
+ "_iy",
13751
+ forceNear && "_iz",
13752
+ input.findHit?.key === file$2.key && "_id"
13753
+ ])}${_attr("data-key", file$2.key)}${_attr("hidden", !input.shownKeys.has(file$2.key))}><summary${_attr_class("_iB")}><span${_attr_class("_ba")}${_attr("data-status", file$2.status)}>${_text_resume($scope6_id, "d", file$2.status, $sg__input_files)}</span>${_el_resume($scope6_id, "c", $sg__input_files)}<span${_attr_class([path$1, input.findHit?.key === file$2.key && input.findHit.line < 1 && "_ie"])}${_attr("title", file$2.path)}><bdi>${_text_resume($scope6_id, "f", file$2.path, $sg__input_files)}</bdi></span>${_el_resume($scope6_id, "e", _serialize_guard($scope0_reason, 19))}`);
13661
13754
  _if(() => {
13662
13755
  if (file$2.changedSince) {
13663
13756
  const $scope20_id = _scope_id();
13664
- _html(`<span${_attr_class(["_A", "_iu"])} title="Changed since your last visit"></span>`);
13757
+ _html(`<span${_attr_class(["_A", "_iw"])} title="Changed since your last visit"></span>`);
13665
13758
  $si__input_files && writeScope($scope20_id, {});
13666
13759
  return 0;
13667
13760
  }
@@ -13681,8 +13774,8 @@ var review_section_default = _template("w", (input) => {
13681
13774
  const $scope14_id = _scope_id();
13682
13775
  _html(`<button type=button${_attr_class([
13683
13776
  iconBtnXs,
13684
- "_iG",
13685
- { ["_iH"]: wholeFiles.has(file$2.key) }
13777
+ "_iI",
13778
+ { ["_iJ"]: wholeFiles.has(file$2.key) }
13686
13779
  ])} title=${wholeFiles.has(file$2.key) ? "\"Show changes only\"" : "\"Show whole file\""} aria-label=${wholeFiles.has(file$2.key) ? "\"Show changes only\"" : "\"Show whole file\""} aria-pressed=${wholeFiles.has(file$2.key) ? "true" : "false"}>`);
13687
13780
  _if(() => {
13688
13781
  if (wholeFiles.has(file$2.key)) {
@@ -13709,17 +13802,17 @@ var review_section_default = _template("w", (input) => {
13709
13802
  _if(() => {
13710
13803
  if (file$2.binary) {
13711
13804
  const $scope23_id = _scope_id();
13712
- _html(`<p${_attr_class(["_iF", "_iy"])}>binary file</p>`);
13805
+ _html(`<p${_attr_class(["_iH", "_iA"])}>binary file</p>`);
13713
13806
  $si__input_files__OR__input_collapsedFiles && writeScope($scope23_id, {});
13714
13807
  return 0;
13715
13808
  } else if (file$2.tooLarge) {
13716
13809
  const $scope24_id = _scope_id();
13717
- _html(`<p${_attr_class(["_iF", "_iy"])}>file too large to display</p>`);
13810
+ _html(`<p${_attr_class(["_iH", "_iA"])}>file too large to display</p>`);
13718
13811
  $si__input_files__OR__input_collapsedFiles && writeScope($scope24_id, {});
13719
13812
  return 1;
13720
13813
  } else if (file$2.old == null && file$2.new == null) {
13721
13814
  const $scope25_id = _scope_id();
13722
- _html(`<p${_attr_class(["_iF", "_iy"])}>file could not be read</p>`);
13815
+ _html(`<p${_attr_class(["_iH", "_iA"])}>file could not be read</p>`);
13723
13816
  $si__input_files__OR__input_collapsedFiles && writeScope($scope25_id, {});
13724
13817
  return 2;
13725
13818
  } else if (expanded) {
@@ -13727,7 +13820,7 @@ var review_section_default = _template("w", (input) => {
13727
13820
  _if(() => {
13728
13821
  if (!forceNear) {
13729
13822
  const $scope8_id = _scope_id();
13730
- _html(`<div${_attr_class("_iA")}></div>${_el_resume($scope8_id, "a")}`);
13823
+ _html(`<div${_attr_class("_iC")}></div>${_el_resume($scope8_id, "a")}`);
13731
13824
  _script($scope8_id, "w13");
13732
13825
  _subscribe($si__input && $input__closures, writeScope($scope8_id, {}));
13733
13826
  return 0;
@@ -13735,7 +13828,7 @@ var review_section_default = _template("w", (input) => {
13735
13828
  const $scope9_id = _scope_id();
13736
13829
  const $childScope = _peek_scope_id();
13737
13830
  diff_file_default({
13738
- class: "_iy",
13831
+ class: "_iA",
13739
13832
  file: file$2,
13740
13833
  comments: fileComments,
13741
13834
  draft: input.draft && input.draft.key === file$2.key ? input.draft : null,
@@ -13748,7 +13841,7 @@ var review_section_default = _template("w", (input) => {
13748
13841
  input.onSaveComment(file$2, text);
13749
13842
  }, "w2", $scope9_id),
13750
13843
  onSendDraft: _resume(function(text, sessionId) {
13751
- input.onSendDraft(file$2, text, sessionId);
13844
+ return input.onSendDraft(file$2, text, sessionId);
13752
13845
  }, "w3", $scope9_id),
13753
13846
  onCancelDraft: _resume(function() {
13754
13847
  input.onCancelDraft();
@@ -13760,7 +13853,7 @@ var review_section_default = _template("w", (input) => {
13760
13853
  input.onEditComment(id, text);
13761
13854
  }, "w6", $scope9_id),
13762
13855
  onSendComment: _resume(function(id, sessionId) {
13763
- input.onSendComment(id, sessionId);
13856
+ return input.onSendComment(id, sessionId);
13764
13857
  }, "w7", $scope9_id),
13765
13858
  onError: _resume(function(message) {
13766
13859
  input.onError(message);
@@ -13876,7 +13969,7 @@ var review_section_default = _template("w", (input) => {
13876
13969
  });
13877
13970
  _resume_branch($scope0_id);
13878
13971
  });
13879
- var fileFilter = "_iK _n";
13972
+ var fileFilter = "_iL _n";
13880
13973
  //#endregion
13881
13974
  //#region src/tags/file-filter.marko
13882
13975
  var file_filter_default = _template("n", (input) => {
@@ -13906,7 +13999,7 @@ var file_filter_default = _template("n", (input) => {
13906
13999
  pending = v;
13907
14000
  box.timer = setTimeout(flush, 150);
13908
14001
  }, "n2", $scope0_id);
13909
- _html(`<div${_attr_class("_iJ")}><input${_attr_input_value($scope0_id, "b", draft, _resume(function(v) {
14002
+ _html(`<div${_attr_class("_iK")}><input${_attr_input_value($scope0_id, "b", draft, _resume(function(v) {
13910
14003
  type(v);
13911
14004
  }, "n0", $scope0_id))}${_attr_class(fileFilter)} type=search placeholder="Filter files…" aria-label="Filter files">${_el_resume($scope0_id, "b")}</div>`);
13912
14005
  _script($scope0_id, "n3");
@@ -13939,7 +14032,7 @@ var $content = (input) => {
13939
14032
  _for_of(dir.dirs, (child) => {
13940
14033
  const $scope1_id = _scope_id();
13941
14034
  const shut = input.collapsed.has(input.collapsedKey(child.path));
13942
- _html(`<div${_attr_class("_hR")}><button type=button${_attr_class(["_hS", { ["_hJ"]: shut }])}${_attr("title", child.path)}${_attr_style(`--depth:${child.depth}`)}><span${_attr_class("_hZ")}>`);
14035
+ _html(`<div${_attr_class("_hb")}><button type=button${_attr_class(["_hc", { ["_g4"]: shut }])}${_attr("title", child.path)}${_attr_style(`--depth:${child.depth}`)}><span${_attr_class("_hj")}>`);
13943
14036
  _if(() => {
13944
14037
  if (shut) {
13945
14038
  const $scope4_id = _scope_id();
@@ -13953,7 +14046,7 @@ var $content = (input) => {
13953
14046
  return 1;
13954
14047
  }
13955
14048
  }, $scope1_id, "c", $sg__input, $sg__input, $sg__input, "</span>", 1);
13956
- _html(`<span${_attr_class("_hT")}>${_text_resume($scope1_id, "e", child.label, $sg__input_dir)}/</span></button>${_el_resume($scope1_id, "b")}`);
14049
+ _html(`<span${_attr_class("_hd")}>${_text_resume($scope1_id, "e", child.label, $sg__input_dir)}/</span></button>${_el_resume($scope1_id, "b")}`);
13957
14050
  _if(() => {
13958
14051
  if (!shut) {
13959
14052
  const $scope2_id = _scope_id();
@@ -14000,11 +14093,11 @@ var $content = (input) => {
14000
14093
  }, "path", $scope0_id, "a", $sg__input, $sg__input_dir, $sg__input_dir, 0, 1);
14001
14094
  _for_of(dir.files, ({ file, name }) => {
14002
14095
  const $scope3_id = _scope_id();
14003
- _html(`<a${_attr("href", input.hrefFor(file.key))}${_attr_class(["_hV", { ["_hU"]: input.collapsedFiles?.has(file.key) }])}${input.collapsedFiles?.has(file.key) ? _attr("title", `${file.path} (folded — click to open)`) : _attr("title", file.path)}${_attr_style(`--depth:${dir.depth + 1}`)}><span${_attr_class("_ba")}${_attr("data-status", file.status)}>${_text_resume($scope3_id, "c", file.status, $sg__input_dir)}</span>${_el_resume($scope3_id, "b", $sg__input_dir)}<span${_attr_class("_hW")}>${_text_resume($scope3_id, "e", name, $sg__input_dir)}</span>`);
14096
+ _html(`<a${_attr("href", input.hrefFor(file.key))}${_attr_class(["_hf", { ["_he"]: input.collapsedFiles?.has(file.key) }])}${input.collapsedFiles?.has(file.key) ? _attr("title", `${file.path} (folded — click to open)`) : _attr("title", file.path)}${_attr_style(`--depth:${dir.depth + 1}`)}><span${_attr_class("_ba")}${_attr("data-status", file.status)}>${_text_resume($scope3_id, "c", file.status, $sg__input_dir)}</span>${_el_resume($scope3_id, "b", $sg__input_dir)}<span${_attr_class("_hg")}>${_text_resume($scope3_id, "e", name, $sg__input_dir)}</span>`);
14004
14097
  _if(() => {
14005
14098
  if (input.newKeys.has(file.key)) {
14006
14099
  const $scope6_id = _scope_id();
14007
- _html(`<span${_attr_class(["_A", "_hX"])} title="Changed since your last visit"></span>`);
14100
+ _html(`<span${_attr_class(["_A", "_hh"])} title="Changed since your last visit"></span>`);
14008
14101
  _serialize_if($scope0_reason, 1) && writeScope($scope6_id, {});
14009
14102
  return 0;
14010
14103
  }
@@ -14012,7 +14105,7 @@ var $content = (input) => {
14012
14105
  _if(() => {
14013
14106
  if (input.commentKeys.has(file.key)) {
14014
14107
  const $scope7_id = _scope_id();
14015
- _html(`<span${_attr_class("_hY")}>`);
14108
+ _html(`<span${_attr_class("_hi")}>`);
14016
14109
  icon_comment_default({ size: 12 });
14017
14110
  _html("</span>");
14018
14111
  _serialize_if($scope0_reason, 0) && writeScope($scope7_id, {});
@@ -14070,7 +14163,7 @@ var diff_tree_default = _template("l", (input) => {
14070
14163
  scope: input.scope ?? null,
14071
14164
  file: key
14072
14165
  }), "l0", $scope0_id);
14073
- _html(`<aside${_attr_class(["_hK", { ["_hJ"]: input.open === false }])}><div${_attr_class("_hL")}>`);
14166
+ _html(`<aside${_attr_class(["_g5", { ["_g4"]: input.open === false }])}><div${_attr_class("_g6")}>`);
14074
14167
  _set_serialize_reason(2);
14075
14168
  const $childScope = _peek_scope_id();
14076
14169
  file_filter_default({
@@ -14079,18 +14172,18 @@ var diff_tree_default = _template("l", (input) => {
14079
14172
  filter = _new_filter;
14080
14173
  }, "l1", $scope0_id)
14081
14174
  });
14082
- _html(`</div><div${_attr_class("_hM")}>`);
14175
+ _html(`</div><div${_attr_class("_g7")}>`);
14083
14176
  _if(() => {
14084
14177
  if (!input.sections.length && filter) {
14085
14178
  const $scope3_id = _scope_id();
14086
- _html(`<p${_attr_class("_hN")}>No files match.</p>`);
14179
+ _html(`<p${_attr_class("_g8")}>No files match.</p>`);
14087
14180
  writeScope($scope3_id, {});
14088
14181
  return 0;
14089
14182
  }
14090
14183
  }, $scope0_id, "e", 1, 1, 1, 0, 1);
14091
14184
  _for_of(input.sections, (section) => {
14092
14185
  const $scope1_id = _scope_id();
14093
- _html(`<div${_attr_class("_hO")}><button type=button${_attr_class(["_hP", { ["_hJ"]: collapsedRepos.has(section.id) }])}><span${_attr_class("_hZ")}>`);
14186
+ _html(`<div${_attr_class("_g9")}><button type=button${_attr_class(["_g_", { ["_g4"]: collapsedRepos.has(section.id) }])}><span${_attr_class("_hj")}>`);
14094
14187
  _if(() => {
14095
14188
  if (collapsedRepos.has(section.id)) {
14096
14189
  const $scope4_id = _scope_id();
@@ -14104,12 +14197,12 @@ var diff_tree_default = _template("l", (input) => {
14104
14197
  return 1;
14105
14198
  }
14106
14199
  }, $scope1_id, "c", 1, 1, 1, "</span>", 1);
14107
- _html(`<span${_attr_class("_hT")}>${_text_resume($scope1_id, "e", section.label, $sg__input_sections)}</span></button>${_el_resume($scope1_id, "b")}`);
14200
+ _html(`<span${_attr_class("_hd")}>${_text_resume($scope1_id, "e", section.label, $sg__input_sections)}</span></button>${_el_resume($scope1_id, "b")}`);
14108
14201
  _if(() => {
14109
14202
  if (!collapsedRepos.has(section.id) || openedRepos.has(section.id)) {
14110
14203
  const $scope2_id = _scope_id();
14111
14204
  const root = treeDirs(section.files);
14112
- _html(`<div${_attr_class("_hQ")}${_attr("hidden", collapsedRepos.has(section.id))}>`);
14205
+ _html(`<div${_attr_class("_ha")}${_attr("hidden", collapsedRepos.has(section.id))}>`);
14113
14206
  _set_serialize_reason(1);
14114
14207
  const $childScope2 = _peek_scope_id();
14115
14208
  diff_tree_dir_default({
@@ -14179,7 +14272,7 @@ var diff_tree_default = _template("l", (input) => {
14179
14272
  });
14180
14273
  _resume_branch($scope0_id);
14181
14274
  });
14182
- var sheetDir = "_hr _bb";
14275
+ var sheetDir = "_hv _bb";
14183
14276
  //#endregion
14184
14277
  //#region src/tags/diff-file-sheet.marko
14185
14278
  var diff_file_sheet_default = _template("g", (input) => {
@@ -14235,9 +14328,9 @@ var diff_file_sheet_default = _template("g", (input) => {
14235
14328
  _if(() => {
14236
14329
  if (open) {
14237
14330
  const $scope1_id = _scope_id();
14238
- _html(`<div${_attr_class("_hi")}></div>${_el_resume($scope1_id, "a")}<div${_attr_class("_hj")} role=dialog aria-label="Jump to file"><div${_attr_class("_hk")}><strong${_attr_class("_hh")}>Files</strong><span${_attr_class("_hl")}>${_text_resume($scope1_id, "f", input.files.length, $sg__input_files_length)}${_text_resume($scope1_id, "g", input.files.length !== total ? ` / ${total}` : "", _serialize_guard($scope0_reason, 2) * 2)}</span><button type=button${_attr_class([iconBtnLg, "_hg"])} title=Close aria-label=Close>`);
14331
+ _html(`<div${_attr_class("_hm")}></div>${_el_resume($scope1_id, "a")}<div${_attr_class("_hn")} role=dialog aria-label="Jump to file"><div${_attr_class("_ho")}><strong${_attr_class("_hl")}>Files</strong><span${_attr_class("_hp")}>${_text_resume($scope1_id, "f", input.files.length, $sg__input_files_length)}${_text_resume($scope1_id, "g", input.files.length !== total ? ` / ${total}` : "", _serialize_guard($scope0_reason, 2) * 2)}</span><button type=button${_attr_class([iconBtnLg, "_hk"])} title=Close aria-label=Close>`);
14239
14332
  icon_xmark_default({ size: 16 });
14240
- _html(`</button>${_el_resume($scope1_id, "h")}</div><div${_attr_class("_ht")}>`);
14333
+ _html(`</button>${_el_resume($scope1_id, "h")}</div><div${_attr_class("_hx")}>`);
14241
14334
  _set_serialize_reason(2);
14242
14335
  const $childScope = _peek_scope_id();
14243
14336
  file_filter_default({
@@ -14246,13 +14339,13 @@ var diff_file_sheet_default = _template("g", (input) => {
14246
14339
  filter = _new_filter;
14247
14340
  }, "g1", $scope1_id)
14248
14341
  });
14249
- _html(`</div><div${_attr_class("_hm")}>`);
14342
+ _html(`</div><div${_attr_class("_hq")}>`);
14250
14343
  _for_of(groups, (group) => {
14251
14344
  const $scope2_id = _scope_id();
14252
- _html(`<div${_attr_class("_hn")}><div${_attr_class("_ho")}>${_text_resume($scope2_id, "c", group.repo, $sg__input_files)}</div>`);
14345
+ _html(`<div${_attr_class("_hr")}><div${_attr_class("_hs")}>${_text_resume($scope2_id, "c", group.repo, $sg__input_files)}</div>`);
14253
14346
  _for_of(group.dirs, ({ dir, files }) => {
14254
14347
  const $scope3_id = _scope_id();
14255
- _html(`<div${_attr_class("_hp")}>`);
14348
+ _html(`<div${_attr_class("_ht")}>`);
14256
14349
  _if(() => {
14257
14350
  if (dir) {
14258
14351
  const $scope5_id = _scope_id();
@@ -14263,11 +14356,11 @@ var diff_file_sheet_default = _template("g", (input) => {
14263
14356
  }, $scope3_id, "b", $sg__input_files, $sg__input_files, $sg__input_files, 0, 1);
14264
14357
  _for_of(files, ({ file, name }) => {
14265
14358
  const $scope4_id = _scope_id();
14266
- _html(`<a${_attr("href", hrefFor(file.key))}${_attr_class(["_hq", "_y"])}><span${_attr_class("_ba")}${_attr("data-status", file.status)}>${_text_resume($scope4_id, "c", file.status, $sg__input_files)}</span>${_el_resume($scope4_id, "b", $sg__input_files)}<span${_attr_class("_hs")}><bdi>${_text_resume($scope4_id, "e", name, $sg__input_files)}</bdi></span>`);
14359
+ _html(`<a${_attr("href", hrefFor(file.key))}${_attr_class(["_hu", "_y"])}><span${_attr_class("_ba")}${_attr("data-status", file.status)}>${_text_resume($scope4_id, "c", file.status, $sg__input_files)}</span>${_el_resume($scope4_id, "b", $sg__input_files)}<span${_attr_class("_hw")}><bdi>${_text_resume($scope4_id, "e", name, $sg__input_files)}</bdi></span>`);
14267
14360
  _if(() => {
14268
14361
  if (newKeys.has(file.key)) {
14269
14362
  const $scope6_id = _scope_id();
14270
- _html(`<span${_attr_class(["_A", "_hv"])} title="Changed since your last visit"></span>`);
14363
+ _html(`<span${_attr_class(["_A", "_hz"])} title="Changed since your last visit"></span>`);
14271
14364
  _serialize_if($scope0_reason, 1) && writeScope($scope6_id, {});
14272
14365
  return 0;
14273
14366
  }
@@ -14277,7 +14370,7 @@ var diff_file_sheet_default = _template("g", (input) => {
14277
14370
  const $scope7_id = _scope_id();
14278
14371
  icon_comment_default({
14279
14372
  size: 12,
14280
- class: "_hw"
14373
+ class: "_hA"
14281
14374
  });
14282
14375
  _serialize_if($scope0_reason, 0) && writeScope($scope7_id, {});
14283
14376
  return 0;
@@ -14302,7 +14395,7 @@ var diff_file_sheet_default = _template("g", (input) => {
14302
14395
  _if(() => {
14303
14396
  if (!input.files.length) {
14304
14397
  const $scope8_id = _scope_id();
14305
- _html(`<p${_attr_class("_hu")}>No files match.</p>`);
14398
+ _html(`<p${_attr_class("_hy")}>No files match.</p>`);
14306
14399
  $si__input_files_length && writeScope($scope8_id, {});
14307
14400
  return 0;
14308
14401
  }
@@ -14842,11 +14935,11 @@ var diff_view_default = _template("m", (input) => {
14842
14935
  collapsedRepos = /* @__PURE__ */ new Set([...collapsedRepos, id]);
14843
14936
  }
14844
14937
  }, "m33", $scope0_id);
14845
- _html(`<div${_attr_class("_gc")}><div${_attr_class("_gh")}><div${_attr_class("_gi")}><div${_attr_class(["_gs", { ["_gr"]: !comments.length }])}>`);
14938
+ _html(`<div${_attr_class("_el")}><div${_attr_class("_eq")}><div${_attr_class("_er")}><div${_attr_class(["_eB", { ["_eA"]: !comments.length }])}>`);
14846
14939
  _if(() => {
14847
14940
  if (input.onExit) {
14848
14941
  const $scope1_id = _scope_id();
14849
- _html(`<a${_attr("href", `/w/${input.workspaceId}`)}${_attr_class([iconBtnRow, "_gj"])} title="Back to terminal (Esc)">`);
14942
+ _html(`<a${_attr("href", `/w/${input.workspaceId}`)}${_attr_class([iconBtnRow, "_es"])} title="Back to terminal (Esc)">`);
14850
14943
  icon_back_default({ size: 14 });
14851
14944
  _html(`</a>${_el_resume($scope1_id, "a", _serialize_guard($scope0_reason, 1))}`);
14852
14945
  _serialize_if($scope0_reason, 0) && writeScope($scope1_id, { _: _serialize_if($scope0_reason, 1) && _scope_with_id($scope0_id) });
@@ -14857,7 +14950,7 @@ var diff_view_default = _template("m", (input) => {
14857
14950
  _if(() => {
14858
14951
  if (comments.length) {
14859
14952
  const $scope5_id = _scope_id();
14860
- _html(`<span${_attr_class("_gl")}>${_text_resume($scope5_id, "b", comments.length)} comment${_text_resume($scope5_id, "c", comments.length === 1 ? "" : "s", 2)}</span>`);
14953
+ _html(`<span${_attr_class("_eu")}>${_text_resume($scope5_id, "b", comments.length)} comment${_text_resume($scope5_id, "c", comments.length === 1 ? "" : "s", 2)}</span>`);
14861
14954
  writeScope($scope5_id, {});
14862
14955
  return 0;
14863
14956
  }
@@ -14865,7 +14958,7 @@ var diff_view_default = _template("m", (input) => {
14865
14958
  _if(() => {
14866
14959
  if (comments.length) {
14867
14960
  const $scope2_id = _scope_id();
14868
- _html(`<span${_attr_class("_gk")}>`);
14961
+ _html(`<span${_attr_class("_et")}>`);
14869
14962
  _set_serialize_reason(_serialize_guard($scope0_reason, 7));
14870
14963
  const $childScope = _peek_scope_id();
14871
14964
  diff_send_default({
@@ -14878,14 +14971,14 @@ var diff_view_default = _template("m", (input) => {
14878
14971
  return 0;
14879
14972
  }
14880
14973
  }, $scope0_id, "h", 1, 1, 1, 0, 1);
14881
- _html(`</div>${_el_resume($scope0_id, "d")}<div${_attr_class("_gg")}>`);
14974
+ _html(`</div>${_el_resume($scope0_id, "d")}<div${_attr_class("_ep")}>`);
14882
14975
  _if(() => {
14883
14976
  if (hasFiles) {
14884
14977
  const $scope12_id = _scope_id();
14885
14978
  _html(`<button${_attr_class([
14886
14979
  treeToggle,
14887
- "_ge",
14888
- { ["_gd"]: treeOpen }
14980
+ "_en",
14981
+ { ["_em"]: treeOpen }
14889
14982
  ])} title=${treeOpen ? "\"Hide file tree\"" : "\"Show file tree\""}>`);
14890
14983
  icon_sidebar_default({ size: 14 });
14891
14984
  _html(`</button>${_el_resume($scope12_id, "a")}`);
@@ -14894,7 +14987,7 @@ var diff_view_default = _template("m", (input) => {
14894
14987
  return 0;
14895
14988
  }
14896
14989
  }, $scope0_id, "j", 1, 1, 1, 0, 1);
14897
- _html(`<button${_attr_class([iconBtnRow, "_ge"])} title="Refresh diff"${_attr("disabled", loading)}>`);
14990
+ _html(`<button${_attr_class([iconBtnRow, "_en"])} title="Refresh diff"${_attr("disabled", loading)}>`);
14898
14991
  _set_serialize_reason(1);
14899
14992
  const $childScope2 = _peek_scope_id();
14900
14993
  icon_refresh_default({
@@ -14905,19 +14998,19 @@ var diff_view_default = _template("m", (input) => {
14905
14998
  _if(() => {
14906
14999
  if (hasFiles) {
14907
15000
  const $scope13_id = _scope_id();
14908
- _html(`<button${_attr_class(["_q", "_gB"])} title="Jump to file">Files (${_text_resume($scope13_id, "b", shownFiles.length, 2)})</button>${_el_resume($scope13_id, "a")}`);
15001
+ _html(`<button${_attr_class(["_q", "_eK"])} title="Jump to file">Files (${_text_resume($scope13_id, "b", shownFiles.length, 2)})</button>${_el_resume($scope13_id, "a")}`);
14909
15002
  _script($scope13_id, "m53");
14910
15003
  writeScope($scope13_id, {});
14911
15004
  return 0;
14912
15005
  }
14913
15006
  }, $scope0_id, "m", 1, 1, 1, 0, 1);
14914
- _html(`<span${_attr_class(["_o", "_gt"])}>`);
15007
+ _html(`<span${_attr_class(["_o", "_eC"])}>`);
14915
15008
  _attr_select_value($scope0_id, "o", scope, _resume(function(v) {
14916
15009
  setScope(v);
14917
15010
  }, "m0", $scope0_id), () => {
14918
- _html(`<select${_attr_class(["_p", "_gu"])} aria-label="Review scope"${_attr("disabled", loading)}><option${_attr_option_value("committed")}>Committed</option><option${_attr_option_value("working")}>Working tree</option><option${_attr_option_value("dirty")}>Uncommitted</option></select>`);
15011
+ _html(`<select${_attr_class(["_p", "_eD"])} aria-label="Review scope"${_attr("disabled", loading)}><option${_attr_option_value("committed")}>Committed</option><option${_attr_option_value("working")}>Working tree</option><option${_attr_option_value("dirty")}>Uncommitted</option></select>`);
14919
15012
  });
14920
- _html(`${_el_resume($scope0_id, "o")}</span><div${_attr_class(["_gp", { ["_go"]: !findOpen }])}>`);
15013
+ _html(`${_el_resume($scope0_id, "o")}</span><div${_attr_class(["_ey", { ["_ex"]: !findOpen }])}>`);
14921
15014
  _set_serialize_reason(2);
14922
15015
  const $childScope3 = _peek_scope_id();
14923
15016
  let findFocus = diff_find_default({
@@ -14938,8 +15031,8 @@ var diff_view_default = _template("m", (input) => {
14938
15031
  const $scope14_id = _scope_id();
14939
15032
  _html(`<button${_attr_class([
14940
15033
  iconBtnRow,
14941
- "_gn",
14942
- "_ge"
15034
+ "_ew",
15035
+ "_en"
14943
15036
  ])} title="Find in review (⌘/Ctrl+F)" aria-label="Find in review"${_attr("hidden", findOpen)}>`);
14944
15037
  icon_search_default({ size: 14 });
14945
15038
  _html(`</button>${_el_resume($scope14_id, "a")}`);
@@ -14948,7 +15041,7 @@ var diff_view_default = _template("m", (input) => {
14948
15041
  return 0;
14949
15042
  }
14950
15043
  }, $scope0_id, "s", 1, 1, 1, 0, 1);
14951
- _html(`</div></div><div${_attr_class("_gq")} data-diff-main>`);
15044
+ _html(`</div></div><div${_attr_class("_ez")} data-diff-main>`);
14952
15045
  _if(() => {
14953
15046
  if (error) {
14954
15047
  const $scope6_id = _scope_id();
@@ -14971,7 +15064,7 @@ var diff_view_default = _template("m", (input) => {
14971
15064
  _if(() => {
14972
15065
  if (!repos && loading) {
14973
15066
  const $scope15_id = _scope_id();
14974
- _html(`<div${_attr_class("_gw")} aria-hidden=true><div${_attr_class(["_gx", "_gy"])}></div><div${_attr_class(["_gx", "_gz"])}></div><div${_attr_class(["_gx", "_gA"])}></div><div${_attr_class(["_gx", "_gz"])}></div><div${_attr_class(["_gx", "_gA"])}></div></div>`);
15067
+ _html(`<div${_attr_class("_eF")} aria-hidden=true><div${_attr_class(["_eG", "_eH"])}></div><div${_attr_class(["_eG", "_eI"])}></div><div${_attr_class(["_eG", "_eJ"])}></div><div${_attr_class(["_eG", "_eI"])}></div><div${_attr_class(["_eG", "_eJ"])}></div></div>`);
14975
15068
  writeScope($scope15_id, {});
14976
15069
  return 0;
14977
15070
  }
@@ -15060,7 +15153,7 @@ var diff_view_default = _template("m", (input) => {
15060
15153
  saveComment(file, text);
15061
15154
  }, "m40", $scope4_id),
15062
15155
  onSendDraft: _resume(function(file, text, sessionId) {
15063
- sendDraftComment(file, text, sessionId);
15156
+ return sendDraftComment(file, text, sessionId);
15064
15157
  }, "m41", $scope4_id),
15065
15158
  onCancelDraft: _resume(function() {
15066
15159
  draft = null;
@@ -15072,7 +15165,7 @@ var diff_view_default = _template("m", (input) => {
15072
15165
  editComment(id, text);
15073
15166
  }, "m44", $scope4_id),
15074
15167
  onSendComment: _resume(function(id, sessionId) {
15075
- sendOneComment(id, sessionId);
15168
+ return sendOneComment(id, sessionId);
15076
15169
  }, "m45", $scope4_id),
15077
15170
  onError: _resume(function(message) {
15078
15171
  error = message;
@@ -15373,9 +15466,9 @@ function parseInvite(text) {
15373
15466
  }
15374
15467
  //#endregion
15375
15468
  //#region src/tags/manage-workspace.css.ts
15376
- var content$1 = "_e6 _cs";
15377
- var pageMeta = "_e7 _cx";
15378
- var pathMeta = "_e_ _y";
15469
+ var content$1 = "_cS _cj";
15470
+ var pageMeta = "_cT _co";
15471
+ var pathMeta = "_cW _y";
15379
15472
  //#endregion
15380
15473
  //#region src/tags/icons/icon-clipboard.marko
15381
15474
  var icon_clipboard_default = _template("V", (input) => {
@@ -15393,8 +15486,8 @@ var icon_clipboard_default = _template("V", (input) => {
15393
15486
  });
15394
15487
  _serialize_if($scope0_reason, 0) && writeScope($scope0_id, { a: _existing_scope($childScope) });
15395
15488
  });
15396
- var resultRow = "_g1 _I";
15397
- var resultBranch = "_g3 _4 _l";
15489
+ var resultRow = "_gl _I";
15490
+ var resultBranch = "_gn _4 _l";
15398
15491
  //#endregion
15399
15492
  //#region src/tags/icons/icon-branch.marko
15400
15493
  var icon_branch_default = _template("R", (input) => {
@@ -15424,7 +15517,7 @@ var branch_pick_default = _template("d", (input) => {
15424
15517
  let branchFilter = "";
15425
15518
  let reloadTick = 0;
15426
15519
  let refreshing = false;
15427
- _html(`<div${_attr_class("_g5")}>`);
15520
+ _html(`<div${_attr_class("_gp")}>`);
15428
15521
  _if(() => {
15429
15522
  {
15430
15523
  const $scope4_id = _scope_id();
@@ -15529,18 +15622,18 @@ var repo_picker_default = _template("v", (input$2) => {
15529
15622
  _resume_branch($scope8_id);
15530
15623
  }, $scope0_id) };
15531
15624
  const hasBody = !!(pasted || results.length || filter && (!catalog || !pasted) || compact && ssoPending.length);
15532
- _html(`<div${_attr_class([compact ? "_ch" : "_gV", { ["_ci"]: compact && !input$2.open }])}>`);
15625
+ _html(`<div${_attr_class([compact ? "_eL" : "_gf", { ["_eM"]: compact && !input$2.open }])}>`);
15533
15626
  _if(() => {
15534
15627
  if (!compact && ssoPending.length) {
15535
15628
  const $scope10_id = _scope_id();
15536
- _html(`<div${_attr_class("_gW")}>`);
15629
+ _html(`<div${_attr_class("_gg")}>`);
15537
15630
  ssoBlock.content({});
15538
15631
  _html("</div>");
15539
15632
  writeScope($scope10_id, {});
15540
15633
  return 0;
15541
15634
  }
15542
15635
  }, $scope0_id, "b", 1, 1, 1, 0, 1);
15543
- _html(`<label${_attr_class(["_1", compact && "_cj"])}>`);
15636
+ _html(`<label${_attr_class(["_1", compact && "_eN"])}>`);
15544
15637
  icon_search_default({
15545
15638
  size: 14,
15546
15639
  class: "_2"
@@ -15552,12 +15645,12 @@ var repo_picker_default = _template("v", (input$2) => {
15552
15645
  }, "v0", $scope0_id))}${_attr_class([
15553
15646
  compact ? "_Z" : inputLg,
15554
15647
  "_3",
15555
- compact && "_ck"
15648
+ compact && "_eO"
15556
15649
  ])} placeholder="Add a repo…" aria-label="Add a repo"${_attr("disabled", input$2.disabled)}>${_el_resume($scope0_id, "e")}</label>${_el_resume($scope0_id, "c", $sg__input_compact)}`);
15557
15650
  _if(() => {
15558
15651
  if (compact) {
15559
15652
  const $scope1_id = _scope_id();
15560
- _html(`<button${_attr_class([iconBtnRow, "_cl"])} type=button title="Close search" aria-label="Close search"${_attr("hidden", !input$2.open)}>`);
15653
+ _html(`<button${_attr_class([iconBtnRow, "_eP"])} type=button title="Close search" aria-label="Close search"${_attr("hidden", !input$2.open)}>`);
15561
15654
  icon_xmark_default({ size: 12 });
15562
15655
  _html(`</button>${_el_resume($scope1_id, "a")}`);
15563
15656
  _script($scope1_id, "v14");
@@ -15565,11 +15658,11 @@ var repo_picker_default = _template("v", (input$2) => {
15565
15658
  return 0;
15566
15659
  }
15567
15660
  }, $scope0_id, "f", $sg__input_compact__OR__input_open, $sg__input_compact, 1, 0, 1);
15568
- _html(`<div${_attr_class([compact ? pop$1 : "_gX"])}${_attr("hidden", !hasBody || compact && !input$2.open)}>`);
15661
+ _html(`<div${_attr_class([compact ? pop$1 : "_gh"])}${_attr("hidden", !hasBody || compact && !input$2.open)}>`);
15569
15662
  _if(() => {
15570
15663
  if (compact && ssoPending.length) {
15571
15664
  const $scope11_id = _scope_id();
15572
- _html(`<div${_attr_class("_gW")}>`);
15665
+ _html(`<div${_attr_class("_gg")}>`);
15573
15666
  ssoBlock.content({});
15574
15667
  _html("</div>");
15575
15668
  writeScope($scope11_id, {});
@@ -15579,16 +15672,16 @@ var repo_picker_default = _template("v", (input$2) => {
15579
15672
  _if(() => {
15580
15673
  if (pasted) {
15581
15674
  const $scope2_id = _scope_id();
15582
- _html(`<ul${_attr_class("_gY")}><li><div${_attr_class(["_g0", "_gZ"])}><button${_attr_class(resultRow)}${pasteWillFork ? _attr("title", `Fork ${pasted} to your account and add the fork`) : _attr("title", `Add ${pasted} as-is (pushes go to that repo)`)}>`);
15675
+ _html(`<ul${_attr_class("_gi")}><li><div${_attr_class(["_gk", "_gj"])}><button${_attr_class(resultRow)}${pasteWillFork ? _attr("title", `Fork ${pasted} to your account and add the fork`) : _attr("title", `Add ${pasted} as-is (pushes go to that repo)`)}>`);
15583
15676
  icon_plus_default({
15584
15677
  size: 12,
15585
- class: "_g7"
15678
+ class: "_gr"
15586
15679
  });
15587
- _html(`<span${_attr_class("_g8")}>${_text_resume($scope2_id, "f", repoLabel(pasted))}</span></button>${_el_resume($scope2_id, "c")}`);
15680
+ _html(`<span${_attr_class("_gs")}>${_text_resume($scope2_id, "f", repoLabel(pasted))}</span></button>${_el_resume($scope2_id, "c")}`);
15588
15681
  _if(() => {
15589
15682
  if (pastedForkable) {
15590
15683
  const $scope9_id = _scope_id();
15591
- _html(`<button${_attr_class(["_g4", { ["_g2"]: pasteWillFork }])}${pasteWillFork ? " title=\"Will fork to your account; click to clone as-is instead\"" : _attr("title", `Fork ${pasted} to your account and clone the fork`)} aria-pressed=${pasteWillFork ? "true" : "false"}>`);
15684
+ _html(`<button${_attr_class(["_go", { ["_gm"]: pasteWillFork }])}${pasteWillFork ? " title=\"Will fork to your account; click to clone as-is instead\"" : _attr("title", `Fork ${pasted} to your account and clone the fork`)} aria-pressed=${pasteWillFork ? "true" : "false"}>`);
15592
15685
  _if(() => {
15593
15686
  if (pasteWillFork) {
15594
15687
  const $scope13_id = _scope_id();
@@ -15608,7 +15701,7 @@ var repo_picker_default = _template("v", (input$2) => {
15608
15701
  return 0;
15609
15702
  }
15610
15703
  }, $scope2_id, "g", 1, 1, 1, 0, 1);
15611
- _html(`<button${_attr_class([resultBranch, { ["_g2"]: branchesFor === pasted }])}${_attr("title", `Pick a base branch for ${pasted}`)}${_attr("aria-label", `Pick a base branch for ${pasted}`)}>`);
15704
+ _html(`<button${_attr_class([resultBranch, { ["_gm"]: branchesFor === pasted }])}${_attr("title", `Pick a base branch for ${pasted}`)}${_attr("aria-label", `Pick a base branch for ${pasted}`)}>`);
15612
15705
  icon_branch_default({ size: 12 });
15613
15706
  _html(`</button>${_el_resume($scope2_id, "h")}</div>`);
15614
15707
  _if(() => {
@@ -15643,15 +15736,15 @@ var repo_picker_default = _template("v", (input$2) => {
15643
15736
  _if(() => {
15644
15737
  if (results.length) {
15645
15738
  const $scope4_id = _scope_id();
15646
- _html(`<ul${_attr_class("_gY")}>`);
15739
+ _html(`<ul${_attr_class("_gi")}>`);
15647
15740
  _for_of(results, (repo, i) => {
15648
15741
  const $scope5_id = _scope_id();
15649
- _html(`<li><div${_attr_class(["_g0", { ["_gZ"]: i === highlight }])}><button${_attr_class(resultRow)}>`);
15742
+ _html(`<li><div${_attr_class(["_gk", { ["_gj"]: i === highlight }])}><button${_attr_class(resultRow)}>`);
15650
15743
  icon_plus_default({
15651
15744
  size: 12,
15652
- class: "_g7"
15745
+ class: "_gr"
15653
15746
  });
15654
- _html(`<span${_attr_class("_g8")}>${_text_resume($scope5_id, "e", repoLabel(repo.nameWithOwner))}</span></button>${_el_resume($scope5_id, "b")}<button${_attr_class([resultBranch, { ["_g2"]: branchesFor === repo.nameWithOwner }])}${_attr("title", `Pick a base branch for ${repo.nameWithOwner}`)}${_attr("aria-label", `Pick a base branch for ${repo.nameWithOwner}`)}>`);
15747
+ _html(`<span${_attr_class("_gs")}>${_text_resume($scope5_id, "e", repoLabel(repo.nameWithOwner))}</span></button>${_el_resume($scope5_id, "b")}<button${_attr_class([resultBranch, { ["_gm"]: branchesFor === repo.nameWithOwner }])}${_attr("title", `Pick a base branch for ${repo.nameWithOwner}`)}${_attr("aria-label", `Pick a base branch for ${repo.nameWithOwner}`)}>`);
15655
15748
  icon_branch_default({ size: 12 });
15656
15749
  _html(`</button>${_el_resume($scope5_id, "f")}</div>${_el_resume($scope5_id, "a")}`);
15657
15750
  _if(() => {
@@ -15896,7 +15989,7 @@ var manage_workspace_default = _template("q", (input) => {
15896
15989
  setTimeout(() => loadProcs(void 0), 500);
15897
15990
  }, "q9", $scope0_id);
15898
15991
  const titleId = _id();
15899
- _html(`<div${_attr_class("_cq")} role=region${_attr("aria-labelledby", titleId)}><div${_attr_class("_cr")}><div${_attr_class(content$1)}>`);
15992
+ _html(`<div${_attr_class("_ch")} role=region${_attr("aria-labelledby", titleId)}><div${_attr_class("_ci")}><div${_attr_class(content$1)}>`);
15900
15993
  _set_serialize_reason(286);
15901
15994
  let $actions;
15902
15995
  if (ws.repos.length) $actions = attrTag({ content: _content_resume("q17", () => {
@@ -15932,7 +16025,7 @@ var manage_workspace_default = _template("q", (input) => {
15932
16025
  meta: attrTag({ content: _content("q16", () => {
15933
16026
  _scope_reason();
15934
16027
  const $scope15_id = _scope_id();
15935
- _html(`<span${_attr_class(pageMeta)}${_attr("title", ws.display_path || ws.path)}><span${_attr_class("_e8")}>${_text_resume($scope15_id, "c", ws.name)}</span>`);
16028
+ _html(`<span${_attr_class(pageMeta)}${_attr("title", ws.display_path || ws.path)}><span${_attr_class("_cU")}>${_text_resume($scope15_id, "c", ws.name)}</span>`);
15936
16029
  _if(() => {
15937
16030
  if (ws.status !== "active") {
15938
16031
  const $scope19_id = _scope_id();
@@ -15941,7 +16034,7 @@ var manage_workspace_default = _template("q", (input) => {
15941
16034
  return 0;
15942
16035
  }
15943
16036
  }, $scope15_id, "d", 1, 1, 1, 0, 1);
15944
- _html(`<span${_attr_class("_e9")} aria-hidden=true>·</span><span${_attr_class(pathMeta)}>${_text_resume($scope15_id, "g", ws.display_path || ws.path)}</span></span>${_el_resume($scope15_id, "a")}`);
16037
+ _html(`<span${_attr_class("_cV")} aria-hidden=true>·</span><span${_attr_class(pathMeta)}>${_text_resume($scope15_id, "g", ws.display_path || ws.path)}</span></span>${_el_resume($scope15_id, "a")}`);
15945
16038
  _subscribe($ws_status__closures, _subscribe($ws_path__closures, _subscribe($ws_display_path__closures, _subscribe($ws_name__closures, writeScope($scope15_id, { _: _scope_with_id($scope0_id) })))));
15946
16039
  _resume_branch($scope15_id);
15947
16040
  }, $scope0_id) })
@@ -15974,23 +16067,23 @@ var manage_workspace_default = _template("q", (input) => {
15974
16067
  return 0;
15975
16068
  }
15976
16069
  }, $scope0_id, "f", 1, 1, 1, 0, 1);
15977
- _html(`<section${_attr_class("_by")}><div${_attr_class("_bz")}><h2${_attr_class("_bM")}>Workspace</h2></div><div${_attr_class(["_bD", "_cz"])}><div${_attr_class(["_cA", "_cB"])}>`);
16070
+ _html(`<section${_attr_class("_by")}><div${_attr_class("_bz")}><h2${_attr_class("_bM")}>Workspace</h2></div><div${_attr_class(["_bD", "_d5"])}><div${_attr_class(["_d6", "_d7"])}>`);
15978
16071
  _if(() => {
15979
16072
  if (ws.status === "active") {
15980
16073
  const $scope8_id = _scope_id();
15981
- _html(`<span${_attr_class("_cD")}>Hide from the list. Worktrees stay on disk.</span><button type=button${_attr_class(btnSm)}${_attr("disabled", !!pendingAction)}>${_text_resume($scope8_id, "c", pendingAction === "archive" ? "Archiving…" : "Archive")}</button>${_el_resume($scope8_id, "b")}`);
16074
+ _html(`<span${_attr_class("_d9")}>Hide from the list. Worktrees stay on disk.</span><button type=button${_attr_class(btnSm)}${_attr("disabled", !!pendingAction)}>${_text_resume($scope8_id, "c", pendingAction === "archive" ? "Archiving…" : "Archive")}</button>${_el_resume($scope8_id, "b")}`);
15982
16075
  _script($scope8_id, "q19");
15983
16076
  writeScope($scope8_id, {});
15984
16077
  return 0;
15985
16078
  } else {
15986
16079
  const $scope9_id = _scope_id();
15987
- _html(`<span${_attr_class("_cD")}>Archived and hidden from the list.</span><button type=button${_attr_class([btnSm, "_r"])}${_attr("disabled", !!pendingAction)}>${_text_resume($scope9_id, "c", pendingAction === "restore" ? "Restoring…" : "Restore")}</button>${_el_resume($scope9_id, "b")}`);
16080
+ _html(`<span${_attr_class("_d9")}>Archived and hidden from the list.</span><button type=button${_attr_class([btnSm, "_r"])}${_attr("disabled", !!pendingAction)}>${_text_resume($scope9_id, "c", pendingAction === "restore" ? "Restoring…" : "Restore")}</button>${_el_resume($scope9_id, "b")}`);
15988
16081
  _script($scope9_id, "q20");
15989
16082
  writeScope($scope9_id, {});
15990
16083
  return 1;
15991
16084
  }
15992
16085
  }, $scope0_id, "k", 1, 1, 1, "</div>");
15993
- _html(`<div${_attr_class(["_cA", "_cB"])}><span${_attr_class("_cD")}>Remove the workspace and its worktrees. Branches on origin stay.</span><button type=button${_attr_class([
16086
+ _html(`<div${_attr_class(["_d6", "_d7"])}><span${_attr_class("_d9")}>Remove the workspace and its worktrees. Branches on origin stay.</span><button type=button${_attr_class([
15994
16087
  btnSm,
15995
16088
  "_t",
15996
16089
  { ["_s"]: confirmingDelete }
@@ -16026,8 +16119,8 @@ var manage_workspace_default = _template("q", (input) => {
16026
16119
  });
16027
16120
  _html(`</button>${_el_resume($scope0_id, "z")}</div><ul${_attr_class([
16028
16121
  "_bD",
16029
- "_cz",
16030
- "_cN"
16122
+ "_d5",
16123
+ "_ei"
16031
16124
  ])}>`);
16032
16125
  _for_of(ws.repos, (row) => {
16033
16126
  const $scope1_id = _scope_id();
@@ -16111,7 +16204,7 @@ var manage_workspace_default = _template("q", (input) => {
16111
16204
  return 0;
16112
16205
  }
16113
16206
  }, $scope2_id, "d", 1, 1, 1, 0, 1);
16114
- _html(`</div><ul${_attr_class("_dU")}>`);
16207
+ _html(`</div><ul${_attr_class("_dt")}>`);
16115
16208
  _for_of(wsSkills, (s) => {
16116
16209
  const $scope3_id = _scope_id();
16117
16210
  const $for_content2__s_worktree__closures = /* @__PURE__ */ new Set();
@@ -16219,7 +16312,7 @@ var manage_workspace_default = _template("q", (input) => {
16219
16312
  _if(() => {
16220
16313
  if (repoSkills.length) {
16221
16314
  const $scope4_id = _scope_id();
16222
- _html(`<ul${_attr_class("_dU")}>`);
16315
+ _html(`<ul${_attr_class("_dt")}>`);
16223
16316
  _for_of(repoSkills, (s) => {
16224
16317
  const $scope5_id = _scope_id();
16225
16318
  const $for_content3__s_shadows__closures = /* @__PURE__ */ new Set();
@@ -16277,15 +16370,15 @@ var manage_workspace_default = _template("q", (input) => {
16277
16370
  const $scope17_id = _scope_id();
16278
16371
  _html(`<section${_attr_class("_by")}><div${_attr_class("_bz")}><h2${_attr_class("_bM")}>Running</h2><span${_attr_class(sectionCount)}>${_text_resume($scope17_id, "e", running.length)}</span></div><ul${_attr_class([
16279
16372
  "_bD",
16280
- "_cz",
16281
- "_cN"
16373
+ "_d5",
16374
+ "_ei"
16282
16375
  ])}>`);
16283
16376
  _for_of(running, (p) => {
16284
16377
  const $scope18_id = _scope_id();
16285
16378
  _html(`<li${_attr_class(flatCardRow)}><div${_attr_class("_bE")}${_attr("title", p.args)}><span${_attr_class([
16286
16379
  "_bF",
16287
16380
  "_y",
16288
- "_fa"
16381
+ "_cX"
16289
16382
  ])}>${_text_resume($scope18_id, "d", p.cmd)}</span>`);
16290
16383
  _if(() => {
16291
16384
  if (p.ports.length) {
@@ -16383,11 +16476,11 @@ var manage_workspace_default = _template("q", (input) => {
16383
16476
  });
16384
16477
  //#endregion
16385
16478
  //#region src/tags/new-workspace.css.ts
16386
- var content = "_eP _cs";
16387
- var curBase = "_eX _Y _X";
16388
- var archived = "_e2 _by";
16389
- var archivedHint = "_e3 _X";
16390
- var archivedCard = "_e4 _bD";
16479
+ var content = "_cz _cj";
16480
+ var curBase = "_cH _Y _X";
16481
+ var archived = "_cM _by";
16482
+ var archivedHint = "_cN _X";
16483
+ var archivedCard = "_cO _bD";
16391
16484
  //#endregion
16392
16485
  //#region src/tags/icons/icon-group.marko
16393
16486
  var icon_group_default = _template("eb", (input) => {
@@ -16407,8 +16500,8 @@ var icon_group_default = _template("eb", (input) => {
16407
16500
  });
16408
16501
  //#endregion
16409
16502
  //#region src/tags/join-dialog.css.ts
16410
- var dlg = "_hx _ep";
16411
- var hint = "_hy _X";
16503
+ var dlg = "_f4 _f0";
16504
+ var hint = "_f5 _X";
16412
16505
  //#endregion
16413
16506
  //#region src/tags/join-dialog.marko
16414
16507
  var api$3;
@@ -16537,26 +16630,26 @@ var join_dialog_default = _template("o", (input) => {
16537
16630
  content: _content("o12", () => {
16538
16631
  _scope_reason();
16539
16632
  const $scope1_id = _scope_id();
16540
- _html(`<h2${_attr_class("_eq")}${_attr("id", titleId)}>Join a workspace</h2><p${_attr_class(hint)}>Paste an invite: the same repos, on your own lane of their branch.</p><textarea${_attr_class([
16633
+ _html(`<h2${_attr_class("_f1")}${_attr("id", titleId)}>Join a workspace</h2><p${_attr_class(hint)}>Paste an invite: the same repos, on your own lane of their branch.</p><textarea${_attr_class([
16541
16634
  "_Z",
16542
16635
  "_y",
16543
- "_hA"
16636
+ "_f7"
16544
16637
  ])} placeholder="{ &#34;name&#34;: …, &#34;branch&#34;: …, &#34;repos&#34;: [&#34;owner/name&#34;, …] }" aria-label="Workspace invite" rows=6 autocomplete=off spellcheck=false${_attr("disabled", busy)} autofocus>${_attr_textarea_value($scope1_id, "c", invite, setInvite)}</textarea>${_el_resume($scope1_id, "c")}`);
16545
16638
  _if(() => {
16546
16639
  if (parsed.error) {
16547
16640
  const $scope8_id = _scope_id();
16548
- _html(`<p${_attr_class([hint, "_hz"])}>${_text_resume($scope8_id, "b", parsed.error)}</p>`);
16641
+ _html(`<p${_attr_class([hint, "_f6"])}>${_text_resume($scope8_id, "b", parsed.error)}</p>`);
16549
16642
  _subscribe($parsed_error__closures, writeScope($scope8_id, { Cag: 1 }));
16550
16643
  return 0;
16551
16644
  } else if (parsed.ok) {
16552
16645
  const $scope3_id = _scope_id();
16553
- _html(`<ul${_attr_class("_hB")}>`);
16646
+ _html(`<ul${_attr_class("_f8")}>`);
16554
16647
  _for_of(parsed.ok.repos, (fullName) => {
16555
16648
  const $scope9_id = _scope_id();
16556
- _html(`<li${_attr_class("_hC")}><span${_attr_class("_hD")}>${_text_resume($scope9_id, "c", repoLabel(fullName))}</span></li>`);
16649
+ _html(`<li${_attr_class("_f9")}><span${_attr_class("_f_")}>${_text_resume($scope9_id, "c", repoLabel(fullName))}</span></li>`);
16557
16650
  writeScope($scope9_id, {});
16558
16651
  }, (r) => r, $scope3_id, "a", 1, 1, 1, "</ul>", 1);
16559
- _html(`<p${_attr_class(hint)}>Your own lane of <span${_attr_class("_y")}>${_text_resume($scope3_id, "d", parsed.ok.branch)}</span> in each; PRs target theirs.</p><label${_attr_class("_hE")}><span${_attr_class("_bM")}>Name</span><input${_attr_input_value($scope3_id, "g", name, _resume((_new_name) => {
16652
+ _html(`<p${_attr_class(hint)}>Your own lane of <span${_attr_class("_y")}>${_text_resume($scope3_id, "d", parsed.ok.branch)}</span> in each; PRs target theirs.</p><label${_attr_class("_ga")}><span${_attr_class("_bM")}>Name</span><input${_attr_input_value($scope3_id, "g", name, _resume((_new_name) => {
16560
16653
  name = _new_name;
16561
16654
  }, "o1", $scope3_id))}${_attr_class("_Z")}${_attr("placeholder", parsed.ok.name)}${_attr("disabled", busy)}>${_el_resume($scope3_id, "g")}</label>`);
16562
16655
  _script($scope3_id, "o8");
@@ -16593,10 +16686,10 @@ var join_dialog_default = _template("o", (input) => {
16593
16686
  _if(() => {
16594
16687
  if (busy && steps$2.length) {
16595
16688
  const $scope6_id = _scope_id();
16596
- _html(`<ul${_attr_class("_hF")}>`);
16689
+ _html(`<ul${_attr_class("_gb")}>`);
16597
16690
  _for_of(steps$2, (step$2, i) => {
16598
16691
  const $scope7_id = _scope_id();
16599
- _html(`<li${_attr_class(["_hH", { ["_hG"]: i === steps$2.length - 1 }])}>`);
16692
+ _html(`<li${_attr_class(["_gd", { ["_gc"]: i === steps$2.length - 1 }])}>`);
16600
16693
  _if(() => {
16601
16694
  if (i === steps$2.length - 1) {
16602
16695
  const $scope10_id = _scope_id();
@@ -16605,7 +16698,7 @@ var join_dialog_default = _template("o", (input) => {
16605
16698
  return 0;
16606
16699
  } else {
16607
16700
  const $scope11_id = _scope_id();
16608
- _html(`<span${_attr_class("_hI")}>`);
16701
+ _html(`<span${_attr_class("_ge")}>`);
16609
16702
  icon_check_default({ size: 14 });
16610
16703
  _html("</span>");
16611
16704
  writeScope($scope11_id, {});
@@ -16762,7 +16855,7 @@ var new_workspace_default = _template("s", (input) => {
16762
16855
  }
16763
16856
  }, "s6", $scope0_id);
16764
16857
  const titleId = _id();
16765
- _html(`<div${_attr_class("_cq")} role=region${_attr("aria-labelledby", titleId)}><div${_attr_class("_cr")}><div${_attr_class(content)}>`);
16858
+ _html(`<div${_attr_class("_ch")} role=region${_attr("aria-labelledby", titleId)}><div${_attr_class("_ci")}><div${_attr_class(content)}>`);
16766
16859
  _set_serialize_reason({
16767
16860
  0: _serialize_guard($scope0_reason, 2),
16768
16861
  1: $sg__input_backHref__OR__input_onExit,
@@ -16811,23 +16904,23 @@ var new_workspace_default = _template("s", (input) => {
16811
16904
  return 0;
16812
16905
  }
16813
16906
  }, $scope0_id, "e", 1, 1, 1, 0, 1);
16814
- _html(`<label${_attr_class("_eS")}><span${_attr_class("_bM")}>Name</span><input${_attr_input_value($scope0_id, "h", name, _resume((_new_name) => {
16907
+ _html(`<label${_attr_class("_cC")}><span${_attr_class("_bM")}>Name</span><input${_attr_input_value($scope0_id, "h", name, _resume((_new_name) => {
16815
16908
  name = _new_name;
16816
- }, "s0", $scope0_id))}${_attr_class(inputLg)} placeholder=my-feature${_attr("disabled", busy)} autofocus>${_el_resume($scope0_id, "h")}</label><section${_attr_class("_by")}><div${_attr_class("_eT")}><h2${_attr_class("_bM")}>Repos</h2><button${_attr_class(iconBtnRow)} title="Refresh repo list" aria-label="Refresh repo list"${_attr("disabled", catalogRefreshing)}>`);
16909
+ }, "s0", $scope0_id))}${_attr_class(inputLg)} placeholder=my-feature${_attr("disabled", busy)} autofocus>${_el_resume($scope0_id, "h")}</label><section${_attr_class("_by")}><div${_attr_class("_cD")}><h2${_attr_class("_bM")}>Repos</h2><button${_attr_class(iconBtnRow)} title="Refresh repo list" aria-label="Refresh repo list"${_attr("disabled", catalogRefreshing)}>`);
16817
16910
  _set_serialize_reason(1);
16818
16911
  const $childScope2 = _peek_scope_id();
16819
16912
  icon_refresh_default({
16820
16913
  size: 14,
16821
16914
  class: catalogRefreshing && "_F"
16822
16915
  });
16823
- _html(`</button>${_el_resume($scope0_id, "l")}</div><ul${_attr_class("_eU")}>`);
16916
+ _html(`</button>${_el_resume($scope0_id, "l")}</div><ul${_attr_class("_cE")}>`);
16824
16917
  _for_of(selected, (repo) => {
16825
16918
  const $scope4_id = _scope_id();
16826
- _html(`<li><div${_attr_class(row)}><span${_attr_class("_eV")}>${_text_resume($scope4_id, "c", repoLabel(repo.fullName))}</span>`);
16919
+ _html(`<li><div${_attr_class(row)}><span${_attr_class("_cF")}>${_text_resume($scope4_id, "c", repoLabel(repo.fullName))}</span>`);
16827
16920
  _if(() => {
16828
16921
  if (repo.fork !== void 0) {
16829
16922
  const $scope5_id = _scope_id();
16830
- _html(`<button${_attr_class(["_eY", { ["_eW"]: repo.fork }])}${repo.fork ? _attr("title", `${repo.fullName} will be forked to your account; click to clone as-is instead`) : _attr("title", `Fork ${repo.fullName} to your account and clone the fork`)} aria-pressed=${repo.fork ? "true" : "false"}${_attr("disabled", busy)}>`);
16923
+ _html(`<button${_attr_class(["_cI", { ["_cG"]: repo.fork }])}${repo.fork ? _attr("title", `${repo.fullName} will be forked to your account; click to clone as-is instead`) : _attr("title", `Fork ${repo.fullName} to your account and clone the fork`)} aria-pressed=${repo.fork ? "true" : "false"}${_attr("disabled", busy)}>`);
16831
16924
  _if(() => {
16832
16925
  if (repo.fork) {
16833
16926
  const $scope14_id = _scope_id();
@@ -16850,7 +16943,7 @@ var new_workspace_default = _template("s", (input) => {
16850
16943
  _html(`<button${_attr_class([
16851
16944
  curBase,
16852
16945
  "_y",
16853
- { ["_eW"]: branchesFor === repo.fullName }
16946
+ { ["_cG"]: branchesFor === repo.fullName }
16854
16947
  ])}${_attr("title", `Change base branch for ${repo.fullName}`)}${_attr("aria-label", `Change base branch for ${repo.fullName}`)}${_attr("disabled", busy)}>`);
16855
16948
  icon_branch_default({ size: 12 });
16856
16949
  _html(`${_text_resume($scope4_id, "g", repo.baseBranch ? `${_to_text(" ")}${_to_text(repo.baseBranch)}` : "")}</button>${_el_resume($scope4_id, "e")}<button${_attr_class([iconBtnXs, "_8"])}${_attr("title", `Remove ${repo.fullName}`)}${_attr("disabled", busy)}>`);
@@ -16911,10 +17004,10 @@ var new_workspace_default = _template("s", (input) => {
16911
17004
  _if(() => {
16912
17005
  if (busy && steps.length) {
16913
17006
  const $scope11_id = _scope_id();
16914
- _html(`<ul${_attr_class("_eZ")}>`);
17007
+ _html(`<ul${_attr_class("_cJ")}>`);
16915
17008
  _for_of(steps, (step, i) => {
16916
17009
  const $scope12_id = _scope_id();
16917
- _html(`<li${_attr_class(["_e5", { ["_e0"]: i === steps.length - 1 }])}>`);
17010
+ _html(`<li${_attr_class(["_cP", { ["_cK"]: i === steps.length - 1 }])}>`);
16918
17011
  _if(() => {
16919
17012
  if (i === steps.length - 1) {
16920
17013
  const $scope17_id = _scope_id();
@@ -16923,7 +17016,7 @@ var new_workspace_default = _template("s", (input) => {
16923
17016
  return 0;
16924
17017
  } else {
16925
17018
  const $scope18_id = _scope_id();
16926
- _html(`<span${_attr_class("_e1")}>`);
17019
+ _html(`<span${_attr_class("_cL")}>`);
16927
17020
  icon_check_default({ size: 14 });
16928
17021
  _html("</span>");
16929
17022
  writeScope($scope18_id, {});
@@ -16937,7 +17030,7 @@ var new_workspace_default = _template("s", (input) => {
16937
17030
  return 0;
16938
17031
  }
16939
17032
  }, $scope0_id, "s", 1, 1, 1, 0, 1);
16940
- _html(`<div${_attr_class("_eQ")}>`);
17033
+ _html(`<div${_attr_class("_cA")}>`);
16941
17034
  _if(() => {
16942
17035
  if (input.onExit || busy) {
16943
17036
  const $scope1_id = _scope_id();
@@ -16950,12 +17043,12 @@ var new_workspace_default = _template("s", (input) => {
16950
17043
  _html(`<button type=button${_attr_class([
16951
17044
  btnLg,
16952
17045
  "_r",
16953
- "_eR"
17046
+ "_cB"
16954
17047
  ])}${_attr("disabled", busy || !!restoring || !name.trim())}>${_text_resume($scope0_id, "w", busy ? "Creating…" : "Create workspace")}</button>${_el_resume($scope0_id, "v")}</div>`);
16955
17048
  _if(() => {
16956
17049
  if (archived$1.length) {
16957
17050
  const $scope6_id = _scope_id();
16958
- _html(`<section${_attr_class(archived)}><div${_attr_class("_eT")}><h2${_attr_class("_bM")}>Archived</h2><span${_attr_class(sectionCount)}>${_text_resume($scope6_id, "e", archived$1.length, $sg__input_workspaces)}</span></div><p${_attr_class(archivedHint)}>Restore an archived workspace instead of creating a new one.</p><ul${_attr_class("_bB")}>`);
17051
+ _html(`<section${_attr_class(archived)}><div${_attr_class("_cD")}><h2${_attr_class("_bM")}>Archived</h2><span${_attr_class(sectionCount)}>${_text_resume($scope6_id, "e", archived$1.length, $sg__input_workspaces)}</span></div><p${_attr_class(archivedHint)}>Restore an archived workspace instead of creating a new one.</p><ul${_attr_class("_bB")}>`);
16959
17052
  _for_of(archived$1, (ws) => {
16960
17053
  const $scope7_id = _scope_id();
16961
17054
  _html(`<li${_attr_class(archivedCard)}><div${_attr_class("_bE")}><span${_attr_class("_bF")}>${_text_resume($scope7_id, "d", ws.name, $sg__input_workspaces)}</span><span${_attr_class([metaTrunc, "_y"])}${_attr("title", ws.display_path || ws.path)}>${_text_resume($scope7_id, "f", ws.display_path || ws.path, $sg__input_workspaces)}</span>${_el_resume($scope7_id, "e", $sg__input_workspaces)}</div><button type=button${_attr_class(btnLg)}${_attr("disabled", busy || !!restoring)}>`);
@@ -17038,12 +17131,12 @@ var new_workspace_default = _template("s", (input) => {
17038
17131
  });
17039
17132
  _resume_branch($scope0_id);
17040
17133
  });
17041
- var kbtn = "_eC _6 _l";
17042
- var sessOpen = "_fp _I";
17043
- var sessRename = "_ft _J";
17044
- var dpadPaste = "_fB _fA";
17045
- var repeat = "_fC _fA";
17046
- var dpadEsc = "_fE _fA";
17134
+ var kbtn = "_cy _6 _l";
17135
+ var sessOpen = "_dO _I";
17136
+ var sessRename = "_dS _J";
17137
+ var dpadPaste = "_d0 _dZ";
17138
+ var repeat = "_d1 _dZ";
17139
+ var dpadEsc = "_d3 _dZ";
17047
17140
  //#endregion
17048
17141
  //#region src/tags/term-find.marko
17049
17142
  var term_find_default = _template("D", (input) => {
@@ -17080,19 +17173,19 @@ var term_find_default = _template("D", (input) => {
17080
17173
  const canStep = hasQuery && open;
17081
17174
  const keybar = input.placement === "keybar";
17082
17175
  _html(`<div${_attr_class([
17083
- "_gO",
17084
- keybar ? "_gQ" : "_gP",
17085
- !open && "_gS"
17086
- ])} aria-hidden=${open ? "false" : "true"}><div${_attr_class(["_gJ", keybar ? "_gR" : "_gL"])}><input${_attr_input_value($scope0_id, "c", query, _resume(function(v) {
17176
+ "_hU",
17177
+ keybar ? "_hW" : "_hV",
17178
+ !open && "_hY"
17179
+ ])} aria-hidden=${open ? "false" : "true"}><div${_attr_class(["_hP", keybar ? "_hX" : "_hR"])}><input${_attr_input_value($scope0_id, "c", query, _resume(function(v) {
17087
17180
  if (!open) return;
17088
17181
  query = v;
17089
17182
  live.query = v;
17090
17183
  run(0);
17091
- }, "D1", $scope0_id))}${_attr_class([findInput, keybar && "_gT"])} type=search enterkeyhint=search autocomplete=off tabindex=${open ? "0" : "-1"} placeholder="Find in terminal" aria-label="Find in terminal">${_el_resume($scope0_id, "c")}<button type=button${_attr_class([findIconBtn, keybar && "_gU"])} title="Previous match"${_attr("disabled", !canStep)} tabindex=${open ? "0" : "-1"}>`);
17184
+ }, "D1", $scope0_id))}${_attr_class([findInput, keybar && "_hZ"])} type=search enterkeyhint=search autocomplete=off tabindex=${open ? "0" : "-1"} placeholder="Find in terminal" aria-label="Find in terminal">${_el_resume($scope0_id, "c")}<button type=button${_attr_class([findIconBtn, keybar && "_h0"])} title="Previous match"${_attr("disabled", !canStep)} tabindex=${open ? "0" : "-1"}>`);
17092
17185
  icon_arrow_up_default({ size: 14 });
17093
- _html(`</button>${_el_resume($scope0_id, "d")}<button type=button${_attr_class([findIconBtn, keybar && "_gU"])} title="Next match"${_attr("disabled", !canStep)} tabindex=${open ? "0" : "-1"}>`);
17186
+ _html(`</button>${_el_resume($scope0_id, "d")}<button type=button${_attr_class([findIconBtn, keybar && "_h0"])} title="Next match"${_attr("disabled", !canStep)} tabindex=${open ? "0" : "-1"}>`);
17094
17187
  icon_arrow_down_default({ size: 14 });
17095
- _html(`</button>${_el_resume($scope0_id, "f")}<button type=button${_attr_class([findIconBtn, keybar && "_gU"])} title="Close find" tabindex=${open ? "0" : "-1"}>`);
17188
+ _html(`</button>${_el_resume($scope0_id, "f")}<button type=button${_attr_class([findIconBtn, keybar && "_h0"])} title="Close find" tabindex=${open ? "0" : "-1"}>`);
17096
17189
  icon_xmark_default({ size: 14 });
17097
17190
  _html(`</button>${_el_resume($scope0_id, "h")}</div>${_el_resume($scope0_id, "b", _serialize_guard($scope0_reason, 2))}</div>${_el_resume($scope0_id, "a")}`);
17098
17191
  const $return = focusInput;
@@ -17513,7 +17606,7 @@ var term_default = _template("E", (input) => {
17513
17606
  trapOpen = true;
17514
17607
  }
17515
17608
  }, "E13", $scope0_id);
17516
- _html(`<div${_attr("hidden", !onTermPage)}${_attr_class("_fb")}><div${_attr_class("_fc")}></div>${_el_resume($scope0_id, "b")}`);
17609
+ _html(`<div${_attr("hidden", !onTermPage)}${_attr_class("_dA")}><div${_attr_class("_dB")}></div>${_el_resume($scope0_id, "b")}`);
17517
17610
  _if(() => {
17518
17611
  if (findOpen) {
17519
17612
  const $scope12_id = _scope_id();
@@ -17543,7 +17636,7 @@ var term_default = _template("E", (input) => {
17543
17636
  _if(() => {
17544
17637
  if (uploading) {
17545
17638
  const $scope21_id = _scope_id();
17546
- _html(`<div${_attr_class("_fi")}>uploading…</div>`);
17639
+ _html(`<div${_attr_class("_dH")}>uploading…</div>`);
17547
17640
  writeScope($scope21_id, {});
17548
17641
  return 0;
17549
17642
  }
@@ -17551,7 +17644,7 @@ var term_default = _template("E", (input) => {
17551
17644
  _if(() => {
17552
17645
  if (copiedFlash) {
17553
17646
  const $scope22_id = _scope_id();
17554
- _html(`<div${_attr_class("_fh")}>Copied</div>`);
17647
+ _html(`<div${_attr_class("_dG")}>Copied</div>`);
17555
17648
  writeScope($scope22_id, {});
17556
17649
  return 0;
17557
17650
  }
@@ -17560,7 +17653,7 @@ var term_default = _template("E", (input) => {
17560
17653
  _if(() => {
17561
17654
  if (trapOpen) {
17562
17655
  const $scope11_id = _scope_id();
17563
- _html(`<div${_attr_class("_fj")}><div${_attr_class("_fk")}><p${_attr_class("_fF")}>Long-press the field below and choose Paste</p><input placeholder="Paste here…">${_el_resume($scope11_id, "d")}<button${_attr_class("_q")}>Cancel</button>${_el_resume($scope11_id, "e")}</div>${_el_resume($scope11_id, "b")}</div>${_el_resume($scope11_id, "a")}`);
17656
+ _html(`<div${_attr_class("_dI")}><div${_attr_class("_dJ")}><p${_attr_class("_d4")}>Long-press the field below and choose Paste</p><input placeholder="Paste here…">${_el_resume($scope11_id, "d")}<button${_attr_class("_q")}>Cancel</button>${_el_resume($scope11_id, "e")}</div>${_el_resume($scope11_id, "b")}</div>${_el_resume($scope11_id, "a")}`);
17564
17657
  _script($scope11_id, "E28");
17565
17658
  _script($scope11_id, "E29");
17566
17659
  writeScope($scope11_id, {});
@@ -17638,7 +17731,7 @@ var term_default = _template("E", (input) => {
17638
17731
  popEl.style.top = `${Math.max(8, btn.top - popEl.offsetHeight - 8)}px`;
17639
17732
  popEl.style.left = `${Math.max(8, Math.min(btn.left + btn.width / 2 - popEl.offsetWidth / 2, window.innerWidth - popEl.offsetWidth - 8))}px`;
17640
17733
  }, "E19", $scope4_id);
17641
- _html(`<button${_attr_class([kbtn, "_fl"])} title=${onTermPage ? "Sessions" : "\"Back to session\""}${onTermPage ? _attr("popovertarget", sessPopId) : ""}>`);
17734
+ _html(`<button${_attr_class([kbtn, "_dK"])} title=${onTermPage ? "Sessions" : "\"Back to session\""}${onTermPage ? _attr("popovertarget", sessPopId) : ""}>`);
17642
17735
  _set_serialize_reason({
17643
17736
  1: $sg__input_agent__OR__input_sessionState,
17644
17737
  2: $sg__input_agent__OR__input_sessionState
@@ -17652,7 +17745,7 @@ var term_default = _template("E", (input) => {
17652
17745
  "_A",
17653
17746
  "_bc",
17654
17747
  phase[sessionPhase(input.sessionState)]
17655
- ])}></span>${_el_resume($scope4_id, "c", _serialize_guard($scope0_reason, 6))}</button>${_el_resume($scope4_id, "a")}<div${_attr("id", sessPopId)} popover=auto${_attr_class(["__", "_fm"])}>`);
17748
+ ])}></span>${_el_resume($scope4_id, "c", _serialize_guard($scope0_reason, 6))}</button>${_el_resume($scope4_id, "a")}<div${_attr("id", sessPopId)} popover=auto${_attr_class(["__", "_dL"])}>`);
17656
17749
  _if(() => {
17657
17750
  if ((input.sessions || []).length > 0) {
17658
17751
  const $scope5_id = _scope_id();
@@ -17668,7 +17761,7 @@ var term_default = _template("E", (input) => {
17668
17761
  const $scope6_id = _scope_id();
17669
17762
  const $for_content__s_agent__closures = /* @__PURE__ */ new Set();
17670
17763
  const $for_content__s_id__closures = /* @__PURE__ */ new Set();
17671
- _html(`<div${_attr_class(["_fo", { ["_fn"]: s.id === input.sessionId }])}>`);
17764
+ _html(`<div${_attr_class(["_dN", { ["_dM"]: s.id === input.sessionId }])}>`);
17672
17765
  _if(() => {
17673
17766
  if (renamingId === s.id) {
17674
17767
  const $scope24_id = _scope_id();
@@ -17700,7 +17793,7 @@ var term_default = _template("E", (input) => {
17700
17793
  agent: activeAgent(s),
17701
17794
  size: 14
17702
17795
  });
17703
- _html(`<span${_attr_class("_fq")}><span${_attr_class("_fs")}>${_text_resume($scope7_id, "f", s.title || activeAgent(s), $sg__input_sessions)}</span>`);
17796
+ _html(`<span${_attr_class("_dP")}><span${_attr_class("_dR")}>${_text_resume($scope7_id, "f", s.title || activeAgent(s), $sg__input_sessions)}</span>`);
17704
17797
  _if(() => {
17705
17798
  if (s.id === input.sessionId) {
17706
17799
  const $scope23_id = _scope_id();
@@ -17712,7 +17805,7 @@ var term_default = _template("E", (input) => {
17712
17805
  const $childScope6 = _peek_scope_id();
17713
17806
  usage_pcts_default({
17714
17807
  agent: plan,
17715
- class: "_fr"
17808
+ class: "_dQ"
17716
17809
  });
17717
17810
  writeScope($scope26_id, { a: _existing_scope($childScope6) });
17718
17811
  return 0;
@@ -17729,7 +17822,7 @@ var term_default = _template("E", (input) => {
17729
17822
  _if(() => {
17730
17823
  if (input.onRenameSession) {
17731
17824
  const $scope25_id = _scope_id();
17732
- _html(`<button${_attr_class(["_fu", "_fv"])} title="Rename session">`);
17825
+ _html(`<button${_attr_class(["_dT", "_dU"])} title="Rename session">`);
17733
17826
  icon_edit_default({ size: 12 });
17734
17827
  _html(`</button>${_el_resume($scope25_id, "a")}`);
17735
17828
  _script($scope25_id, "E32");
@@ -17741,7 +17834,7 @@ var term_default = _template("E", (input) => {
17741
17834
  if (input.onCloseSession) {
17742
17835
  const $scope8_id = _scope_id();
17743
17836
  _html(`<button${_attr_class([
17744
- "_fu",
17837
+ "_dT",
17745
17838
  "_8",
17746
17839
  { ["_s"]: armedClose === s.id }
17747
17840
  ])} title=${armedClose === s.id ? "Close?" : "\"Close session\""}>`);
@@ -17783,7 +17876,7 @@ var term_default = _template("E", (input) => {
17783
17876
  return 0;
17784
17877
  }
17785
17878
  }, $scope4_id, "e", $sg__input_sessions, $sg__input_sessions, $sg__input_sessions);
17786
- _html(`<div${_attr_class("_fw")}><span${_attr_class("_fx")}>New session</span><div${_attr_class("_fy")}>`);
17879
+ _html(`<div${_attr_class("_dV")}><span${_attr_class("_dW")}>New session</span><div${_attr_class("_dX")}>`);
17787
17880
  _for_of(["shell", ...input.agents || []], (agent) => {
17788
17881
  const $scope9_id = _scope_id();
17789
17882
  _html(`<button${_attr_class(iconBtnRow)}${_attr("title", `New ${agent} session`)}>`);
@@ -17828,9 +17921,9 @@ var term_default = _template("E", (input) => {
17828
17921
  const dpadOpenBox = { open: false };
17829
17922
  _html(`<button${_attr_class(kbtn)} title=${canKeys ? "\"More keys\"" : "\"Keys unavailable on this page\""} aria-haspopup=dialog${_attr("aria-controls", dpadId)}${_attr("disabled", !canKeys)}>`);
17830
17923
  icon_dpad_default({ size: 16 });
17831
- _html(`</button>${_el_resume($scope10_id, "a")}<button${_attr_class([kbtn, { ["_eB"]: findLit }])}${findLit ? " title=\"Close find\"" : canKeys ? ` title=${input.mode === "diff" ? "\"Find in review\"" : "\"Find in terminal\""}` : " title=\"Find unavailable on this page\""}${findLit ? " aria-label=\"Close find\"" : canKeys ? ` aria-label=${input.mode === "diff" ? "\"Find in review\"" : "\"Find in terminal\""}` : " aria-label=\"Find unavailable on this page\""} aria-pressed=${findLit ? "true" : "false"}${_attr("disabled", !canKeys)}>`);
17924
+ _html(`</button>${_el_resume($scope10_id, "a")}<button${_attr_class([kbtn, { ["_cx"]: findLit }])}${findLit ? " title=\"Close find\"" : canKeys ? ` title=${input.mode === "diff" ? "\"Find in review\"" : "\"Find in terminal\""}` : " title=\"Find unavailable on this page\""}${findLit ? " aria-label=\"Close find\"" : canKeys ? ` aria-label=${input.mode === "diff" ? "\"Find in review\"" : "\"Find in terminal\""}` : " aria-label=\"Find unavailable on this page\""} aria-pressed=${findLit ? "true" : "false"}${_attr("disabled", !canKeys)}>`);
17832
17925
  icon_search_default({ size: 16 });
17833
- _html(`</button>${_el_resume($scope10_id, "c")}<button${_attr_class([kbtn, { ["_eB"]: kb }])}${canKeys ? ` title=${kb ? "\"Hide keyboard\"" : "\"Show keyboard\""}` : " title=\"Keyboard unavailable on this page\""}${_attr("disabled", !canKeys)}>`);
17926
+ _html(`</button>${_el_resume($scope10_id, "c")}<button${_attr_class([kbtn, { ["_cx"]: kb }])}${canKeys ? ` title=${kb ? "\"Hide keyboard\"" : "\"Show keyboard\""}` : " title=\"Keyboard unavailable on this page\""}${_attr("disabled", !canKeys)}>`);
17834
17927
  icon_keyboard_default({ size: 16 });
17835
17928
  _html(`</button>${_el_resume($scope10_id, "e")}`);
17836
17929
  _script($scope10_id, "E38");
@@ -17846,7 +17939,7 @@ var term_default = _template("E", (input) => {
17846
17939
  overlay: attrTag({ content: _content_resume("E49", () => {
17847
17940
  _scope_reason();
17848
17941
  const $scope15_id = _scope_id();
17849
- _html(`<div${_attr("id", $dpadId_getter)} popover=auto${_attr_class("_fz")}>`);
17942
+ _html(`<div${_attr("id", $dpadId_getter)} popover=auto${_attr_class("_dY")}>`);
17850
17943
  forOf(DPAD, (row) => {
17851
17944
  const $scope16_id = _scope_id();
17852
17945
  forOf(row, (cell) => {
@@ -17866,7 +17959,7 @@ var term_default = _template("E", (input) => {
17866
17959
  writeScope($scope18_id, { _: _scope_with_id($scope17_id) });
17867
17960
  } else {
17868
17961
  const $scope19_id = _scope_id();
17869
- _html(`<button${_attr_class([repeat, { ["_fD"]: cell.icon === "enter" }])}${_attr("title", cell.label)}${_attr("aria-label", cell.label)}>`);
17962
+ _html(`<button${_attr_class([repeat, { ["_d2"]: cell.icon === "enter" }])}${_attr("title", cell.label)}${_attr("aria-label", cell.label)}>`);
17870
17963
  if (cell.icon === "arrow-up") {
17871
17964
  _scope_id();
17872
17965
  icon_arrow_up_default({ size: 18 });
@@ -18195,10 +18288,10 @@ var work_view_default = _template("I", (input) => {
18195
18288
  toggleDiff();
18196
18289
  }
18197
18290
  }, "I14", $scope0_id);
18198
- _html(`<div${_attr_class(["_cb", {
18199
- ["_b_"]: view === "nav",
18200
- ["_ca"]: !input.active
18201
- }])}><div${_attr_class("_cc")}>`);
18291
+ _html(`<div${_attr_class(["_bP", {
18292
+ ["_bN"]: view === "nav",
18293
+ ["_bO"]: !input.active
18294
+ }])}><div${_attr_class("_bQ")}>`);
18202
18295
  _if(() => {
18203
18296
  if (error) {
18204
18297
  const $scope9_id = _scope_id();
@@ -18221,7 +18314,7 @@ var work_view_default = _template("I", (input) => {
18221
18314
  _if(() => {
18222
18315
  if (diffMounted && ws) {
18223
18316
  const $scope1_id = _scope_id();
18224
- _html(`<div${_attr_class("_cd")}${_attr_or("data-live", view === "diff", "")}${_attr("inert", view !== "diff")}>`);
18317
+ _html(`<div${_attr_class("_bR")}${_attr_or("data-live", view === "diff", "")}${_attr("inert", view !== "diff")}>`);
18225
18318
  _set_serialize_reason({
18226
18319
  0: $sg__input_workspace,
18227
18320
  1: $sg__input_workspace,
@@ -18278,7 +18371,7 @@ var work_view_default = _template("I", (input) => {
18278
18371
  _if(() => {
18279
18372
  if (manageMounted && ws) {
18280
18373
  const $scope2_id = _scope_id();
18281
- _html(`<div${_attr_class("_cd")}${_attr_or("data-live", view === "manage", "")}${_attr("inert", view !== "manage")}>`);
18374
+ _html(`<div${_attr_class("_bR")}${_attr_or("data-live", view === "manage", "")}${_attr("inert", view !== "manage")}>`);
18282
18375
  _set_serialize_reason({
18283
18376
  0: $sg__input_workspace,
18284
18377
  1: _serialize_guard($scope0_reason, 9)
@@ -18304,7 +18397,7 @@ var work_view_default = _template("I", (input) => {
18304
18397
  _if(() => {
18305
18398
  if (settingsMounted) {
18306
18399
  const $scope3_id = _scope_id();
18307
- _html(`<div${_attr_class("_cd")}${_attr_or("data-live", view === "settings", "")}${_attr("inert", view !== "settings")}>`);
18400
+ _html(`<div${_attr_class("_bR")}${_attr_or("data-live", view === "settings", "")}${_attr("inert", view !== "settings")}>`);
18308
18401
  _set_serialize_reason({
18309
18402
  0: _serialize_guard($scope0_reason, 0),
18310
18403
  1: $sg__input_workspace,
@@ -18345,7 +18438,7 @@ var work_view_default = _template("I", (input) => {
18345
18438
  _if(() => {
18346
18439
  if (newMounted) {
18347
18440
  const $scope4_id = _scope_id();
18348
- _html(`<div${_attr_class("_cd")}${_attr_or("data-live", view === "new", "")}${_attr("inert", view !== "new")}>`);
18441
+ _html(`<div${_attr_class("_bR")}${_attr_or("data-live", view === "new", "")}${_attr("inert", view !== "new")}>`);
18349
18442
  _set_serialize_reason({
18350
18443
  0: 1,
18351
18444
  1: _serialize_guard($scope0_reason, 13),
@@ -18370,13 +18463,13 @@ var work_view_default = _template("I", (input) => {
18370
18463
  return 0;
18371
18464
  }
18372
18465
  }, $scope0_id, "g", 1, 1, 1, 0, 1);
18373
- _html(`<div${_attr_class(["_cf", { ["_ce"]: view !== "term" }])}>`);
18466
+ _html(`<div${_attr_class(["_bT", { ["_bS"]: view !== "term" }])}>`);
18374
18467
  _if(() => {
18375
18468
  if (ws && shownSessions) {
18376
18469
  const $scope5_id = _scope_id();
18377
18470
  _for_of(input.active ? shownSessions : shownSessions.filter((x) => x.id === curTab), (s) => {
18378
18471
  const $scope6_id = _scope_id();
18379
- _html(`<div${_attr_class("_cg")}${_attr_or("data-live", s.id === curTab, "")}${_attr("inert", s.id !== curTab)}>`);
18472
+ _html(`<div${_attr_class("_bU")}${_attr_or("data-live", s.id === curTab, "")}${_attr("inert", s.id !== curTab)}>`);
18380
18473
  _set_serialize_reason({
18381
18474
  0: 1,
18382
18475
  1: 1,
@@ -21138,6 +21231,7 @@ function post36(context) {
21138
21231
  var WorkspaceAction = /* @__PURE__ */ object({ action: /* @__PURE__ */ picklist([
21139
21232
  "archive",
21140
21233
  "restore",
21234
+ "retry",
21141
21235
  "delete"
21142
21236
  ]) });
21143
21237
  //#endregion
@@ -21145,6 +21239,10 @@ var WorkspaceAction = /* @__PURE__ */ object({ action: /* @__PURE__ */ picklist(
21145
21239
  var postHandler$6 = normalizeHandler(Run.POST({ json: WorkspaceAction }, async (ctx) => {
21146
21240
  const { id } = ctx.params;
21147
21241
  const body = await readBody(ctx);
21242
+ if (body.action === "retry") {
21243
+ retryMaterialize(id);
21244
+ return Response.json({ ok: true });
21245
+ }
21148
21246
  await withProgressOp(id, async () => {
21149
21247
  if (body.action === "archive") await setWorkspaceStatus(id, "archived");
21150
21248
  else if (body.action === "restore") await setWorkspaceStatus(id, "active");
@@ -27297,4 +27395,4 @@ server.listen(port, () => {
27297
27395
  //#endregion
27298
27396
  export {};
27299
27397
 
27300
- ;var __MARKO_MANIFEST__={"ZLT8joi":{"block":[2,"stylesheet#/assets/icon-arrow-down-CYif_Qat.css",6,"<link",0," rel=\"stylesheet\" crossorigin href=\"",1,"assets/icon-arrow-down-CYif_Qat.css\"",">",2,"stylesheet#/assets/app-page-CS4w1M-v.css",6,"<link",0," rel=\"stylesheet\" crossorigin href=\"",1,"assets/app-page-CS4w1M-v.css\"",">"],"defer":[2,"/assets/new-B000kC3p.js",6,"<script",0," async type=\"module\" crossorigin src=\"",1,"assets/new-B000kC3p.js\"","></script>",2,"modulepreload#/assets/_BOllftHQ.js",6,"<link",0," rel=\"modulepreload\" crossorigin href=\"",1,"assets/_BOllftHQ.js\"",">",2,"modulepreload#/assets/_hePW80VL.js",6,"<link",0," rel=\"modulepreload\" crossorigin href=\"",1,"assets/_hePW80VL.js\"",">",2,"modulepreload#/assets/_Cr0wBZa1.js",6,"<link",0," rel=\"modulepreload\" crossorigin href=\"",1,"assets/_Cr0wBZa1.js\"",">",2,"modulepreload#/assets/_DsOQV4Jf.js",6,"<link",0," rel=\"modulepreload\" crossorigin href=\"",1,"assets/_DsOQV4Jf.js\"",">"]},"AA0T2xt":{"block":[2,"stylesheet#/assets/icon-arrow-down-CYif_Qat.css",6,"<link",0," rel=\"stylesheet\" crossorigin href=\"",1,"assets/icon-arrow-down-CYif_Qat.css\"",">",2,"stylesheet#/assets/app-page-CS4w1M-v.css",6,"<link",0," rel=\"stylesheet\" crossorigin href=\"",1,"assets/app-page-CS4w1M-v.css\"",">"],"defer":[2,"/assets/settings-B000kC3p.js",6,"<script",0," async type=\"module\" crossorigin src=\"",1,"assets/settings-B000kC3p.js\"","></script>",2,"modulepreload#/assets/_BOllftHQ.js",6,"<link",0," rel=\"modulepreload\" crossorigin href=\"",1,"assets/_BOllftHQ.js\"",">",2,"modulepreload#/assets/_hePW80VL.js",6,"<link",0," rel=\"modulepreload\" crossorigin href=\"",1,"assets/_hePW80VL.js\"",">",2,"modulepreload#/assets/_Cr0wBZa1.js",6,"<link",0," rel=\"modulepreload\" crossorigin href=\"",1,"assets/_Cr0wBZa1.js\"",">",2,"modulepreload#/assets/_DsOQV4Jf.js",6,"<link",0," rel=\"modulepreload\" crossorigin href=\"",1,"assets/_DsOQV4Jf.js\"",">"]},"T$MNY0k":{"block":[2,"stylesheet#/assets/icon-arrow-down-CYif_Qat.css",6,"<link",0," rel=\"stylesheet\" crossorigin href=\"",1,"assets/icon-arrow-down-CYif_Qat.css\"",">",2,"stylesheet#/assets/app-page-CS4w1M-v.css",6,"<link",0," rel=\"stylesheet\" crossorigin href=\"",1,"assets/app-page-CS4w1M-v.css\"",">"],"defer":[2,"/assets/w._-B000kC3p.js",6,"<script",0," async type=\"module\" crossorigin src=\"",1,"assets/w._-B000kC3p.js\"","></script>",2,"modulepreload#/assets/_BOllftHQ.js",6,"<link",0," rel=\"modulepreload\" crossorigin href=\"",1,"assets/_BOllftHQ.js\"",">",2,"modulepreload#/assets/_hePW80VL.js",6,"<link",0," rel=\"modulepreload\" crossorigin href=\"",1,"assets/_hePW80VL.js\"",">",2,"modulepreload#/assets/_Cr0wBZa1.js",6,"<link",0," rel=\"modulepreload\" crossorigin href=\"",1,"assets/_Cr0wBZa1.js\"",">",2,"modulepreload#/assets/_DsOQV4Jf.js",6,"<link",0," rel=\"modulepreload\" crossorigin href=\"",1,"assets/_DsOQV4Jf.js\"",">"]},"LH2lXAg":{"block":[2,"stylesheet#/assets/icon-arrow-down-CYif_Qat.css",6,"<link",0," rel=\"stylesheet\" crossorigin href=\"",1,"assets/icon-arrow-down-CYif_Qat.css\"",">",2,"stylesheet#/assets/app-page-CS4w1M-v.css",6,"<link",0," rel=\"stylesheet\" crossorigin href=\"",1,"assets/app-page-CS4w1M-v.css\"",">"],"defer":[2,"/assets/w-B000kC3p.js",6,"<script",0," async type=\"module\" crossorigin src=\"",1,"assets/w-B000kC3p.js\"","></script>",2,"modulepreload#/assets/_BOllftHQ.js",6,"<link",0," rel=\"modulepreload\" crossorigin href=\"",1,"assets/_BOllftHQ.js\"",">",2,"modulepreload#/assets/_hePW80VL.js",6,"<link",0," rel=\"modulepreload\" crossorigin href=\"",1,"assets/_hePW80VL.js\"",">",2,"modulepreload#/assets/_Cr0wBZa1.js",6,"<link",0," rel=\"modulepreload\" crossorigin href=\"",1,"assets/_Cr0wBZa1.js\"",">",2,"modulepreload#/assets/_DsOQV4Jf.js",6,"<link",0," rel=\"modulepreload\" crossorigin href=\"",1,"assets/_DsOQV4Jf.js\"",">"]},"ibphXY4":{"block":[2,"stylesheet#/assets/icon-arrow-down-CYif_Qat.css",6,"<link",0," rel=\"stylesheet\" crossorigin href=\"",1,"assets/icon-arrow-down-CYif_Qat.css\"",">",2,"stylesheet#/assets/app-page-CS4w1M-v.css",6,"<link",0," rel=\"stylesheet\" crossorigin href=\"",1,"assets/app-page-CS4w1M-v.css\"",">"],"defer":[2,"/assets/w._-CE1vFHA1.js",6,"<script",0," async type=\"module\" crossorigin src=\"",1,"assets/w._-CE1vFHA1.js\"","></script>",2,"modulepreload#/assets/_BOllftHQ.js",6,"<link",0," rel=\"modulepreload\" crossorigin href=\"",1,"assets/_BOllftHQ.js\"",">",2,"modulepreload#/assets/_hePW80VL.js",6,"<link",0," rel=\"modulepreload\" crossorigin href=\"",1,"assets/_hePW80VL.js\"",">",2,"modulepreload#/assets/_Cr0wBZa1.js",6,"<link",0," rel=\"modulepreload\" crossorigin href=\"",1,"assets/_Cr0wBZa1.js\"",">",2,"modulepreload#/assets/_DsOQV4Jf.js",6,"<link",0," rel=\"modulepreload\" crossorigin href=\"",1,"assets/_DsOQV4Jf.js\"",">"]},"_m":{"block":[2,"stylesheet#/assets/diff-view-BcgXlDbY.css",6,"<link",0," rel=\"stylesheet\" href=\"",1,"assets/diff-view-BcgXlDbY.css\"",">",2,"stylesheet#/assets/icon-arrow-down-CYif_Qat.css",6,"<link",0," rel=\"stylesheet\" href=\"",1,"assets/icon-arrow-down-CYif_Qat.css\"",">"],"defer":[2,"/assets/diff-view-YLo1KhOq.js",6,"<script",0," async type=\"module\" crossorigin src=\"",1,"assets/diff-view-YLo1KhOq.js\"","></script>",2,"modulepreload#/assets/_BOllftHQ.js",6,"<link",0," rel=\"modulepreload\" crossorigin href=\"",1,"assets/_BOllftHQ.js\"",">"]}};
27398
+ ;var __MARKO_MANIFEST__={"ZLT8joi":{"block":[2,"stylesheet#/assets/icon-arrow-down-BeyNPx46.css",6,"<link",0," rel=\"stylesheet\" crossorigin href=\"",1,"assets/icon-arrow-down-BeyNPx46.css\"",">",2,"stylesheet#/assets/app-page-IB6TT3tX.css",6,"<link",0," rel=\"stylesheet\" crossorigin href=\"",1,"assets/app-page-IB6TT3tX.css\"",">"],"defer":[2,"/assets/new-B9nb-hJx.js",6,"<script",0," async type=\"module\" crossorigin src=\"",1,"assets/new-B9nb-hJx.js\"","></script>",2,"modulepreload#/assets/_BOllftHQ.js",6,"<link",0," rel=\"modulepreload\" crossorigin href=\"",1,"assets/_BOllftHQ.js\"",">",2,"modulepreload#/assets/_hePW80VL.js",6,"<link",0," rel=\"modulepreload\" crossorigin href=\"",1,"assets/_hePW80VL.js\"",">",2,"modulepreload#/assets/_DDw0OY_l.js",6,"<link",0," rel=\"modulepreload\" crossorigin href=\"",1,"assets/_DDw0OY_l.js\"",">",2,"modulepreload#/assets/_L7D-PU41.js",6,"<link",0," rel=\"modulepreload\" crossorigin href=\"",1,"assets/_L7D-PU41.js\"",">"]},"LH2lXAg":{"block":[2,"stylesheet#/assets/icon-arrow-down-BeyNPx46.css",6,"<link",0," rel=\"stylesheet\" crossorigin href=\"",1,"assets/icon-arrow-down-BeyNPx46.css\"",">",2,"stylesheet#/assets/app-page-IB6TT3tX.css",6,"<link",0," rel=\"stylesheet\" crossorigin href=\"",1,"assets/app-page-IB6TT3tX.css\"",">"],"defer":[2,"/assets/w-B9nb-hJx.js",6,"<script",0," async type=\"module\" crossorigin src=\"",1,"assets/w-B9nb-hJx.js\"","></script>",2,"modulepreload#/assets/_BOllftHQ.js",6,"<link",0," rel=\"modulepreload\" crossorigin href=\"",1,"assets/_BOllftHQ.js\"",">",2,"modulepreload#/assets/_hePW80VL.js",6,"<link",0," rel=\"modulepreload\" crossorigin href=\"",1,"assets/_hePW80VL.js\"",">",2,"modulepreload#/assets/_DDw0OY_l.js",6,"<link",0," rel=\"modulepreload\" crossorigin href=\"",1,"assets/_DDw0OY_l.js\"",">",2,"modulepreload#/assets/_L7D-PU41.js",6,"<link",0," rel=\"modulepreload\" crossorigin href=\"",1,"assets/_L7D-PU41.js\"",">"]},"AA0T2xt":{"block":[2,"stylesheet#/assets/icon-arrow-down-BeyNPx46.css",6,"<link",0," rel=\"stylesheet\" crossorigin href=\"",1,"assets/icon-arrow-down-BeyNPx46.css\"",">",2,"stylesheet#/assets/app-page-IB6TT3tX.css",6,"<link",0," rel=\"stylesheet\" crossorigin href=\"",1,"assets/app-page-IB6TT3tX.css\"",">"],"defer":[2,"/assets/settings-B9nb-hJx.js",6,"<script",0," async type=\"module\" crossorigin src=\"",1,"assets/settings-B9nb-hJx.js\"","></script>",2,"modulepreload#/assets/_BOllftHQ.js",6,"<link",0," rel=\"modulepreload\" crossorigin href=\"",1,"assets/_BOllftHQ.js\"",">",2,"modulepreload#/assets/_hePW80VL.js",6,"<link",0," rel=\"modulepreload\" crossorigin href=\"",1,"assets/_hePW80VL.js\"",">",2,"modulepreload#/assets/_DDw0OY_l.js",6,"<link",0," rel=\"modulepreload\" crossorigin href=\"",1,"assets/_DDw0OY_l.js\"",">",2,"modulepreload#/assets/_L7D-PU41.js",6,"<link",0," rel=\"modulepreload\" crossorigin href=\"",1,"assets/_L7D-PU41.js\"",">"]},"T$MNY0k":{"block":[2,"stylesheet#/assets/icon-arrow-down-BeyNPx46.css",6,"<link",0," rel=\"stylesheet\" crossorigin href=\"",1,"assets/icon-arrow-down-BeyNPx46.css\"",">",2,"stylesheet#/assets/app-page-IB6TT3tX.css",6,"<link",0," rel=\"stylesheet\" crossorigin href=\"",1,"assets/app-page-IB6TT3tX.css\"",">"],"defer":[2,"/assets/w._-B9nb-hJx.js",6,"<script",0," async type=\"module\" crossorigin src=\"",1,"assets/w._-B9nb-hJx.js\"","></script>",2,"modulepreload#/assets/_BOllftHQ.js",6,"<link",0," rel=\"modulepreload\" crossorigin href=\"",1,"assets/_BOllftHQ.js\"",">",2,"modulepreload#/assets/_hePW80VL.js",6,"<link",0," rel=\"modulepreload\" crossorigin href=\"",1,"assets/_hePW80VL.js\"",">",2,"modulepreload#/assets/_DDw0OY_l.js",6,"<link",0," rel=\"modulepreload\" crossorigin href=\"",1,"assets/_DDw0OY_l.js\"",">",2,"modulepreload#/assets/_L7D-PU41.js",6,"<link",0," rel=\"modulepreload\" crossorigin href=\"",1,"assets/_L7D-PU41.js\"",">"]},"ibphXY4":{"block":[2,"stylesheet#/assets/icon-arrow-down-BeyNPx46.css",6,"<link",0," rel=\"stylesheet\" crossorigin href=\"",1,"assets/icon-arrow-down-BeyNPx46.css\"",">",2,"stylesheet#/assets/app-page-IB6TT3tX.css",6,"<link",0," rel=\"stylesheet\" crossorigin href=\"",1,"assets/app-page-IB6TT3tX.css\"",">"],"defer":[2,"/assets/w._-DLJZ7pvD.js",6,"<script",0," async type=\"module\" crossorigin src=\"",1,"assets/w._-DLJZ7pvD.js\"","></script>",2,"modulepreload#/assets/_BOllftHQ.js",6,"<link",0," rel=\"modulepreload\" crossorigin href=\"",1,"assets/_BOllftHQ.js\"",">",2,"modulepreload#/assets/_hePW80VL.js",6,"<link",0," rel=\"modulepreload\" crossorigin href=\"",1,"assets/_hePW80VL.js\"",">",2,"modulepreload#/assets/_DDw0OY_l.js",6,"<link",0," rel=\"modulepreload\" crossorigin href=\"",1,"assets/_DDw0OY_l.js\"",">",2,"modulepreload#/assets/_L7D-PU41.js",6,"<link",0," rel=\"modulepreload\" crossorigin href=\"",1,"assets/_L7D-PU41.js\"",">"]},"_m":{"block":[2,"stylesheet#/assets/diff-view-B_sKkKdf.css",6,"<link",0," rel=\"stylesheet\" href=\"",1,"assets/diff-view-B_sKkKdf.css\"",">",2,"stylesheet#/assets/icon-arrow-down-BeyNPx46.css",6,"<link",0," rel=\"stylesheet\" href=\"",1,"assets/icon-arrow-down-BeyNPx46.css\"",">"],"defer":[2,"/assets/diff-view-9CwFW8SS.js",6,"<script",0," async type=\"module\" crossorigin src=\"",1,"assets/diff-view-9CwFW8SS.js\"","></script>",2,"modulepreload#/assets/_BOllftHQ.js",6,"<link",0," rel=\"modulepreload\" crossorigin href=\"",1,"assets/_BOllftHQ.js\"",">"]}};