@sma1lboy/kobe 0.5.21 → 0.5.22

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/cli/index.js CHANGED
@@ -15688,7 +15688,7 @@ var init_package = __esm(() => {
15688
15688
  package_default = {
15689
15689
  $schema: "https://json.schemastore.org/package.json",
15690
15690
  name: "@sma1lboy/kobe",
15691
- version: "0.5.21",
15691
+ version: "0.5.22",
15692
15692
  description: "TUI orchestrator for Claude Code (codename)",
15693
15693
  type: "module",
15694
15694
  packageManager: "bun@1.3.13",
@@ -18690,6 +18690,7 @@ class Orchestrator {
18690
18690
  seq: nextChatTabSeq(task.tabs),
18691
18691
  createdAt: new Date().toISOString(),
18692
18692
  model: active.model ?? task.model,
18693
+ modelEffort: active.modelEffort ?? task.modelEffort,
18693
18694
  vendor: this.vendorForTab(task, active),
18694
18695
  ...opts.title ? { title: opts.title } : {}
18695
18696
  };
@@ -18719,13 +18720,23 @@ class Orchestrator {
18719
18720
  async createTab(id, opts = {}) {
18720
18721
  const task = this.requireTask(id);
18721
18722
  const active = this.resolveTab(task);
18723
+ const {
18724
+ id: _activeId,
18725
+ sessionId: _activeSessionId,
18726
+ title: _activeTitle,
18727
+ seq: _activeSeq,
18728
+ createdAt: _activeCreatedAt,
18729
+ ...activeConfig
18730
+ } = active;
18722
18731
  const tab = {
18732
+ ...activeConfig,
18723
18733
  id: ulid(),
18724
18734
  sessionId: null,
18725
18735
  seq: nextChatTabSeq(task.tabs),
18726
18736
  createdAt: new Date().toISOString(),
18727
- model: active.model ?? task.model,
18728
- vendor: this.vendorForTab(task, active),
18737
+ model: activeConfig.model ?? task.model,
18738
+ modelEffort: activeConfig.modelEffort ?? task.modelEffort,
18739
+ vendor: activeConfig.vendor ?? this.vendorForTab(task, active),
18729
18740
  ...opts.title ? { title: opts.title } : {}
18730
18741
  };
18731
18742
  const tabs = [...task.tabs, tab];
@@ -19335,6 +19346,13 @@ var init_remote_orchestrator = __esm(() => {
19335
19346
  init_daemon_process();
19336
19347
  });
19337
19348
 
19349
+ // src/daemon/mode.ts
19350
+ function resolveDaemonMode(flagMode, env = process.env) {
19351
+ if (flagMode)
19352
+ return flagMode;
19353
+ return env.KOBE_DAEMON_MODE === "shared" ? "shared" : "single";
19354
+ }
19355
+
19338
19356
  // src/orchestrator/worktree/git.ts
19339
19357
  import { spawnSync as spawnSync6 } from "child_process";
19340
19358
  function git2(args, opts) {
@@ -19900,11 +19918,22 @@ function codexAppServerItemNotificationToEvents(method, params) {
19900
19918
  const itemType = typeof item?.type === "string" ? item.type : "tool";
19901
19919
  if (isNonToolTranscriptItem(itemType))
19902
19920
  return [];
19921
+ if (isReasoningItem(itemType)) {
19922
+ const text = reasoningTextFromItem(item ?? {});
19923
+ return text.length > 0 ? [{ type: "reasoning.delta", text }] : [];
19924
+ }
19903
19925
  const payload = stripItemHousekeeping(item ?? {});
19904
19926
  if (method === "item/started")
19905
19927
  return [{ type: "tool.start", name: itemType, input: payload }];
19906
19928
  return [{ type: "tool.result", name: itemType, output: payload }];
19907
19929
  }
19930
+ function codexAppServerReasoningDeltaNotificationToEvent(method, params) {
19931
+ if (method !== "item/reasoning/summaryTextDelta" && method !== "item/reasoning/textDelta")
19932
+ return null;
19933
+ const p2 = asObject(params);
19934
+ const text = typeof p2?.delta === "string" ? p2.delta : "";
19935
+ return text.length > 0 ? { type: "reasoning.delta", text } : null;
19936
+ }
19908
19937
 
19909
19938
  class AppServerRpc {
19910
19939
  proc;
@@ -20070,6 +20099,14 @@ class AppServerRpc {
20070
20099
  this.opts.onEvent({ type: "assistant.delta", text });
20071
20100
  return;
20072
20101
  }
20102
+ if (method === "item/reasoning/summaryTextDelta" || method === "item/reasoning/textDelta") {
20103
+ const event = codexAppServerReasoningDeltaNotificationToEvent(method, params);
20104
+ if (event)
20105
+ this.opts.onEvent(event);
20106
+ return;
20107
+ }
20108
+ if (method === "item/reasoning/summaryPartAdded")
20109
+ return;
20073
20110
  if (method === "item/started" || method === "item/completed") {
20074
20111
  for (const event of codexAppServerItemNotificationToEvents(method, params))
20075
20112
  this.opts.onEvent(event);
@@ -20149,6 +20186,36 @@ function stripItemHousekeeping(item) {
20149
20186
  function isNonToolTranscriptItem(itemType) {
20150
20187
  return itemType === "agentMessage" || itemType === "agent_message" || itemType === "userMessage" || itemType === "user_message";
20151
20188
  }
20189
+ function isReasoningItem(itemType) {
20190
+ return itemType.toLowerCase().includes("reason");
20191
+ }
20192
+ function reasoningTextFromItem(item) {
20193
+ const content = textFromReasoningValue(item.content);
20194
+ if (content.length > 0)
20195
+ return content;
20196
+ const text = typeof item.text === "string" ? item.text : "";
20197
+ if (text.length > 0)
20198
+ return text;
20199
+ return textFromReasoningValue(item.summary);
20200
+ }
20201
+ function textFromReasoningValue(value) {
20202
+ if (typeof value === "string")
20203
+ return value;
20204
+ if (!Array.isArray(value))
20205
+ return "";
20206
+ const parts = [];
20207
+ for (const entry of value) {
20208
+ if (typeof entry === "string") {
20209
+ parts.push(entry);
20210
+ continue;
20211
+ }
20212
+ const object = asObject(entry);
20213
+ const text = typeof object?.text === "string" ? object.text : "";
20214
+ if (text.length > 0)
20215
+ parts.push(text);
20216
+ }
20217
+ return parts.join("");
20218
+ }
20152
20219
  function stringifyErr(err) {
20153
20220
  if (err instanceof Error)
20154
20221
  return err.message;
@@ -25372,19 +25439,148 @@ function parseJsonl2(raw, sessionId) {
25372
25439
  const payload = isObject5(parsed.payload) ? parsed.payload : undefined;
25373
25440
  if (!payload)
25374
25441
  continue;
25375
- if (payload.type !== "message")
25376
- continue;
25442
+ const ts = typeof parsed.timestamp === "string" ? parsed.timestamp : new Date().toISOString();
25443
+ const msg = normalizeCodexResponseItem(payload, ts, sessionId);
25444
+ if (msg)
25445
+ out.push(msg);
25446
+ }
25447
+ return out;
25448
+ }
25449
+ function normalizeCodexResponseItem(payload, timestamp, sessionId) {
25450
+ if (payload.type === "message") {
25377
25451
  const role = payload.role;
25378
25452
  if (role !== "user" && role !== "assistant" && role !== "system")
25379
- continue;
25453
+ return;
25380
25454
  const blocks = normalizeCodexContent(payload.content);
25381
25455
  if (role === "user" && isSyntheticCodexUserRow(blocks))
25456
+ return;
25457
+ return { role, blocks, timestamp, sessionId };
25458
+ }
25459
+ if (payload.type === "reasoning")
25460
+ return normalizeCodexReasoning(payload, timestamp, sessionId);
25461
+ if (payload.type === "function_call") {
25462
+ return normalizeCodexToolCall(payload, timestamp, sessionId, {
25463
+ name: stringOr(payload.name, "function_call"),
25464
+ input: parseMaybeJson(payload.arguments)
25465
+ });
25466
+ }
25467
+ if (payload.type === "custom_tool_call") {
25468
+ return normalizeCodexToolCall(payload, timestamp, sessionId, {
25469
+ name: stringOr(payload.name, "custom_tool_call"),
25470
+ input: parseMaybeJson(payload.input)
25471
+ });
25472
+ }
25473
+ if (payload.type === "tool_search_call") {
25474
+ return normalizeCodexToolCall(payload, timestamp, sessionId, {
25475
+ name: "tool_search_call",
25476
+ input: stripPayload(payload, ["type", "call_id", "status"])
25477
+ });
25478
+ }
25479
+ if (payload.type === "function_call_output" || payload.type === "custom_tool_call_output") {
25480
+ return normalizeCodexToolResult(payload, timestamp, sessionId, parseMaybeJson(payload.output));
25481
+ }
25482
+ if (payload.type === "tool_search_output") {
25483
+ return normalizeCodexToolResult(payload, timestamp, sessionId, stripPayload(payload, ["type", "call_id"]));
25484
+ }
25485
+ if (payload.type === "web_search_call" || payload.type === "image_generation_call" || payload.type === "local_shell_call") {
25486
+ return normalizeSingleRecordTool(payload, timestamp, sessionId);
25487
+ }
25488
+ return;
25489
+ }
25490
+ function normalizeCodexReasoning(payload, timestamp, sessionId) {
25491
+ const text = reasoningTextFromItem2(payload);
25492
+ if (text.length === 0)
25493
+ return;
25494
+ return { role: "assistant", blocks: [{ type: "thinking", text }], timestamp, sessionId };
25495
+ }
25496
+ function normalizeCodexToolCall(payload, timestamp, sessionId, args2) {
25497
+ const callId = typeof payload.call_id === "string" ? payload.call_id : undefined;
25498
+ if (!callId)
25499
+ return;
25500
+ const block = {
25501
+ type: "tool_call",
25502
+ callId,
25503
+ name: args2.name,
25504
+ input: args2.input
25505
+ };
25506
+ return { role: "assistant", blocks: [block], timestamp, sessionId };
25507
+ }
25508
+ function normalizeCodexToolResult(payload, timestamp, sessionId, output) {
25509
+ const callId = typeof payload.call_id === "string" ? payload.call_id : undefined;
25510
+ if (!callId)
25511
+ return;
25512
+ const block = {
25513
+ type: "tool_result",
25514
+ callId,
25515
+ output,
25516
+ isError: false
25517
+ };
25518
+ return { role: "user", blocks: [block], timestamp, sessionId };
25519
+ }
25520
+ function normalizeSingleRecordTool(payload, timestamp, sessionId) {
25521
+ const type = typeof payload.type === "string" ? payload.type : "tool";
25522
+ const callId = typeof payload.call_id === "string" && payload.call_id.length > 0 ? payload.call_id : `${type}:${timestamp}`;
25523
+ const name = stringOr(payload.name, type);
25524
+ const input = stripPayload(payload, ["type", "call_id", "status"]);
25525
+ const output = stripPayload(payload, ["type", "call_id"]);
25526
+ return {
25527
+ role: "assistant",
25528
+ timestamp,
25529
+ sessionId,
25530
+ blocks: [
25531
+ { type: "tool_call", callId, name, input },
25532
+ { type: "tool_result", callId, output, isError: false }
25533
+ ]
25534
+ };
25535
+ }
25536
+ function reasoningTextFromItem2(item) {
25537
+ const content = textFromReasoningValue2(item.content);
25538
+ if (content.length > 0)
25539
+ return content;
25540
+ const text = typeof item.text === "string" ? item.text : "";
25541
+ if (text.length > 0)
25542
+ return text;
25543
+ return textFromReasoningValue2(item.summary);
25544
+ }
25545
+ function textFromReasoningValue2(value) {
25546
+ if (typeof value === "string")
25547
+ return value;
25548
+ if (!Array.isArray(value))
25549
+ return "";
25550
+ const parts = [];
25551
+ for (const entry of value) {
25552
+ if (typeof entry === "string") {
25553
+ parts.push(entry);
25382
25554
  continue;
25383
- const ts = typeof parsed.timestamp === "string" ? parsed.timestamp : new Date().toISOString();
25384
- out.push({ role, blocks, timestamp: ts, sessionId });
25555
+ }
25556
+ if (!isObject5(entry))
25557
+ continue;
25558
+ const text = typeof entry.text === "string" ? entry.text : "";
25559
+ if (text.length > 0)
25560
+ parts.push(text);
25561
+ }
25562
+ return parts.join("");
25563
+ }
25564
+ function stripPayload(payload, keys) {
25565
+ const out = {};
25566
+ for (const [key, value] of Object.entries(payload)) {
25567
+ if (!keys.includes(key))
25568
+ out[key] = value;
25385
25569
  }
25386
25570
  return out;
25387
25571
  }
25572
+ function stringOr(value, fallback) {
25573
+ return typeof value === "string" && value.length > 0 ? value : fallback;
25574
+ }
25575
+ function parseMaybeJson(value) {
25576
+ if (typeof value !== "string")
25577
+ return value;
25578
+ try {
25579
+ return JSON.parse(value);
25580
+ } catch {
25581
+ return value;
25582
+ }
25583
+ }
25388
25584
  function deriveCodexUsageMetrics(raw) {
25389
25585
  let latestUsage;
25390
25586
  let latestUsageTimestampMs = null;
@@ -25698,6 +25894,12 @@ async function* parseStreamJson2(lines, opts = {}) {
25698
25894
  yield { type: "assistant.delta", text };
25699
25895
  continue;
25700
25896
  }
25897
+ if (isReasoningItem2(itemType)) {
25898
+ const text = reasoningTextFromItem3(item);
25899
+ if (text.length > 0)
25900
+ yield { type: "reasoning.delta", text };
25901
+ continue;
25902
+ }
25701
25903
  if (itemId) {
25702
25904
  toolNameById.set(itemId, itemType);
25703
25905
  }
@@ -25765,6 +25967,37 @@ function codexSessionId(msg) {
25765
25967
  const id = msg.thread_id;
25766
25968
  return typeof id === "string" && id.length > 0 ? id : undefined;
25767
25969
  }
25970
+ function isReasoningItem2(itemType) {
25971
+ return itemType.toLowerCase().includes("reason");
25972
+ }
25973
+ function reasoningTextFromItem3(item) {
25974
+ const content = textFromReasoningValue3(item.content);
25975
+ if (content.length > 0)
25976
+ return content;
25977
+ const text = typeof item.text === "string" ? item.text : "";
25978
+ if (text.length > 0)
25979
+ return text;
25980
+ return textFromReasoningValue3(item.summary);
25981
+ }
25982
+ function textFromReasoningValue3(value) {
25983
+ if (typeof value === "string")
25984
+ return value;
25985
+ if (!Array.isArray(value))
25986
+ return "";
25987
+ const parts = [];
25988
+ for (const entry of value) {
25989
+ if (typeof entry === "string") {
25990
+ parts.push(entry);
25991
+ continue;
25992
+ }
25993
+ if (!isObject8(entry))
25994
+ continue;
25995
+ const text = typeof entry.text === "string" ? entry.text : "";
25996
+ if (text.length > 0)
25997
+ parts.push(text);
25998
+ }
25999
+ return parts.join("");
26000
+ }
25768
26001
  function stripIdAndType(item) {
25769
26002
  const { id: _id, type: _type, ...rest } = item;
25770
26003
  return rest;
@@ -28156,6 +28389,74 @@ var init_mention = __esm(() => {
28156
28389
  fileListCache = new Map;
28157
28390
  });
28158
28391
 
28392
+ // src/tui/panes/chat/composer/path-preview.ts
28393
+ function hasStartBoundary(text, index) {
28394
+ if (index === 0)
28395
+ return true;
28396
+ return BEFORE_BOUNDARY.has(text[index - 1] ?? "");
28397
+ }
28398
+ function hasEndBoundary(text, index) {
28399
+ if (index >= text.length)
28400
+ return true;
28401
+ const ch = text[index] ?? "";
28402
+ if (ch !== ".")
28403
+ return AFTER_BOUNDARY.has(ch);
28404
+ const next = text[index + 1];
28405
+ return next == null || [" ", `
28406
+ `, "\t", "\r", ")", "]", "}", ">", '"', "'", "`"].includes(next);
28407
+ }
28408
+ function findPreviewablePathRefs(text, files, limit = DEFAULT_LIMIT) {
28409
+ if (limit <= 0)
28410
+ return [];
28411
+ const trimmed = text.trim();
28412
+ if (!trimmed || files.length === 0)
28413
+ return [];
28414
+ const matches = [];
28415
+ const seen = new Set;
28416
+ const sorted = [...files].filter((path12) => path12.length > 0).sort((a2, b2) => b2.length - a2.length);
28417
+ for (const path12 of sorted) {
28418
+ let from = 0;
28419
+ while (from < text.length) {
28420
+ const index = text.indexOf(path12, from);
28421
+ if (index < 0)
28422
+ break;
28423
+ const end = index + path12.length;
28424
+ if (hasStartBoundary(text, index) && hasEndBoundary(text, end)) {
28425
+ if (!seen.has(path12)) {
28426
+ seen.add(path12);
28427
+ matches.push({ path: path12, index });
28428
+ }
28429
+ break;
28430
+ }
28431
+ from = index + 1;
28432
+ }
28433
+ }
28434
+ matches.sort((a2, b2) => a2.index - b2.index || a2.path.localeCompare(b2.path));
28435
+ return matches.slice(0, limit);
28436
+ }
28437
+ function formatPreviewPathLabel(path12, maxCells) {
28438
+ if (maxCells <= 3)
28439
+ return path12.slice(0, Math.max(0, maxCells));
28440
+ if (path12.length <= maxCells)
28441
+ return path12;
28442
+ const slash = path12.lastIndexOf("/");
28443
+ const filename = slash >= 0 ? path12.slice(slash + 1) : path12;
28444
+ if (filename.length + 4 <= maxCells) {
28445
+ const prefixCells = maxCells - filename.length - 4;
28446
+ return `${path12.slice(0, prefixCells)}.../${filename}`;
28447
+ }
28448
+ const headCells = Math.max(1, Math.floor((maxCells - 3) / 2));
28449
+ const tailCells = Math.max(1, maxCells - 3 - headCells);
28450
+ return `${path12.slice(0, headCells)}...${path12.slice(path12.length - tailCells)}`;
28451
+ }
28452
+ var DEFAULT_LIMIT = 5, BEFORE_BOUNDARY, AFTER_BOUNDARY;
28453
+ var init_path_preview = __esm(() => {
28454
+ BEFORE_BOUNDARY = new Set([" ", `
28455
+ `, "\t", "\r", "(", "[", "{", "<", '"', "'", "`", "@"]);
28456
+ AFTER_BOUNDARY = new Set([" ", `
28457
+ `, "\t", "\r", ")", "]", "}", ">", '"', "'", "`", ".", ",", ";", ":", "!", "?"]);
28458
+ });
28459
+
28159
28460
  // src/tui/panes/chat/composer/placeholder.ts
28160
28461
  function resolvePlaceholder(opts) {
28161
28462
  if (!opts.hasTask)
@@ -28296,6 +28597,11 @@ function Composer(props) {
28296
28597
  total
28297
28598
  };
28298
28599
  });
28600
+ const previewablePathRefs = createMemo(() => {
28601
+ if (!props.onOpenFilePath)
28602
+ return [];
28603
+ return findPreviewablePathRefs(liveBuffer(), mentionFiles());
28604
+ });
28299
28605
  function insertMentionSelection(path12) {
28300
28606
  const ref = textareaRef;
28301
28607
  const ctx4 = mentionContext();
@@ -28687,9 +28993,9 @@ function Composer(props) {
28687
28993
  return theme.border;
28688
28994
  };
28689
28995
  return (() => {
28690
- var _el$ = createElement("box"), _el$14 = createElement("box"), _el$15 = createElement("box"), _el$21 = createElement("box"), _el$24 = createElement("box"), _el$33 = createElement("box"), _el$34 = createElement("box");
28996
+ var _el$ = createElement("box"), _el$14 = createElement("box"), _el$15 = createElement("box"), _el$24 = createElement("box"), _el$27 = createElement("box"), _el$36 = createElement("box"), _el$37 = createElement("box");
28691
28997
  insertNode(_el$, _el$14);
28692
- insertNode(_el$, _el$33);
28998
+ insertNode(_el$, _el$36);
28693
28999
  setProp(_el$, "flexShrink", 0);
28694
29000
  setProp(_el$, "flexDirection", "column");
28695
29001
  setProp(_el$, "paddingTop", 1);
@@ -28736,35 +29042,35 @@ function Composer(props) {
28736
29042
  return idx >= 0 ? match.displayPath.slice(0, idx) : "";
28737
29043
  };
28738
29044
  return (() => {
28739
- var _el$35 = createElement("box"), _el$36 = createElement("text");
28740
- insertNode(_el$35, _el$36);
28741
- setProp(_el$35, "flexDirection", "row");
28742
- setProp(_el$35, "gap", 2);
28743
- setProp(_el$36, "wrapMode", "none");
28744
- insert(_el$36, () => active() ? "\u25B8 " : " ", null);
28745
- insert(_el$36, filename, null);
28746
- insert(_el$35, createComponent2(Show, {
29045
+ var _el$38 = createElement("box"), _el$39 = createElement("text");
29046
+ insertNode(_el$38, _el$39);
29047
+ setProp(_el$38, "flexDirection", "row");
29048
+ setProp(_el$38, "gap", 2);
29049
+ setProp(_el$39, "wrapMode", "none");
29050
+ insert(_el$39, () => active() ? "\u25B8 " : " ", null);
29051
+ insert(_el$39, filename, null);
29052
+ insert(_el$38, createComponent2(Show, {
28747
29053
  get when() {
28748
29054
  return directory().length > 0;
28749
29055
  },
28750
29056
  get children() {
28751
- var _el$37 = createElement("text");
28752
- setProp(_el$37, "wrapMode", "none");
28753
- insert(_el$37, directory);
28754
- effect((_$p) => setProp(_el$37, "fg", theme.textMuted, _$p));
28755
- return _el$37;
29057
+ var _el$40 = createElement("text");
29058
+ setProp(_el$40, "wrapMode", "none");
29059
+ insert(_el$40, directory);
29060
+ effect((_$p) => setProp(_el$40, "fg", theme.textMuted, _$p));
29061
+ return _el$40;
28756
29062
  }
28757
29063
  }), null);
28758
29064
  effect((_p$) => {
28759
29065
  var _v$25 = active() ? theme.primary : theme.text, _v$26 = active() ? TextAttributes22.BOLD : undefined;
28760
- _v$25 !== _p$.e && (_p$.e = setProp(_el$36, "fg", _v$25, _p$.e));
28761
- _v$26 !== _p$.t && (_p$.t = setProp(_el$36, "attributes", _v$26, _p$.t));
29066
+ _v$25 !== _p$.e && (_p$.e = setProp(_el$39, "fg", _v$25, _p$.e));
29067
+ _v$26 !== _p$.t && (_p$.t = setProp(_el$39, "attributes", _v$26, _p$.t));
28762
29068
  return _p$;
28763
29069
  }, {
28764
29070
  e: undefined,
28765
29071
  t: undefined
28766
29072
  });
28767
- return _el$35;
29073
+ return _el$38;
28768
29074
  })();
28769
29075
  }
28770
29076
  }), null);
@@ -28831,47 +29137,47 @@ function Composer(props) {
28831
29137
  const absoluteIndex = () => slashWindow().start + i2();
28832
29138
  const active = () => absoluteIndex() === slashCursor();
28833
29139
  return (() => {
28834
- var _el$38 = createElement("box"), _el$39 = createElement("text");
28835
- insertNode(_el$38, _el$39);
28836
- setProp(_el$38, "flexDirection", "row");
28837
- setProp(_el$38, "gap", 2);
28838
- setProp(_el$39, "wrapMode", "none");
28839
- insert(_el$39, () => active() ? "\u25B8 " : " ", null);
28840
- insert(_el$39, () => entry.display, null);
28841
- insert(_el$38, createComponent2(Show, {
29140
+ var _el$41 = createElement("box"), _el$42 = createElement("text");
29141
+ insertNode(_el$41, _el$42);
29142
+ setProp(_el$41, "flexDirection", "row");
29143
+ setProp(_el$41, "gap", 2);
29144
+ setProp(_el$42, "wrapMode", "none");
29145
+ insert(_el$42, () => active() ? "\u25B8 " : " ", null);
29146
+ insert(_el$42, () => entry.display, null);
29147
+ insert(_el$41, createComponent2(Show, {
28842
29148
  get when() {
28843
29149
  return entry.source === "user";
28844
29150
  },
28845
29151
  get children() {
28846
- var _el$40 = createElement("text");
28847
- insertNode(_el$40, createTextNode(`user`));
28848
- setProp(_el$40, "wrapMode", "none");
28849
- effect((_$p) => setProp(_el$40, "fg", theme.textMuted, _$p));
28850
- return _el$40;
29152
+ var _el$43 = createElement("text");
29153
+ insertNode(_el$43, createTextNode(`user`));
29154
+ setProp(_el$43, "wrapMode", "none");
29155
+ effect((_$p) => setProp(_el$43, "fg", theme.textMuted, _$p));
29156
+ return _el$43;
28851
29157
  }
28852
29158
  }), null);
28853
- insert(_el$38, createComponent2(Show, {
29159
+ insert(_el$41, createComponent2(Show, {
28854
29160
  get when() {
28855
29161
  return entry.description;
28856
29162
  },
28857
29163
  get children() {
28858
- var _el$42 = createElement("text");
28859
- setProp(_el$42, "wrapMode", "none");
28860
- insert(_el$42, () => entry.description);
28861
- effect((_$p) => setProp(_el$42, "fg", theme.textMuted, _$p));
28862
- return _el$42;
29164
+ var _el$45 = createElement("text");
29165
+ setProp(_el$45, "wrapMode", "none");
29166
+ insert(_el$45, () => entry.description);
29167
+ effect((_$p) => setProp(_el$45, "fg", theme.textMuted, _$p));
29168
+ return _el$45;
28863
29169
  }
28864
29170
  }), null);
28865
29171
  effect((_p$) => {
28866
29172
  var _v$27 = active() ? theme.primary : theme.text, _v$28 = active() ? TextAttributes22.BOLD : undefined;
28867
- _v$27 !== _p$.e && (_p$.e = setProp(_el$39, "fg", _v$27, _p$.e));
28868
- _v$28 !== _p$.t && (_p$.t = setProp(_el$39, "attributes", _v$28, _p$.t));
29173
+ _v$27 !== _p$.e && (_p$.e = setProp(_el$42, "fg", _v$27, _p$.e));
29174
+ _v$28 !== _p$.t && (_p$.t = setProp(_el$42, "attributes", _v$28, _p$.t));
28869
29175
  return _p$;
28870
29176
  }, {
28871
29177
  e: undefined,
28872
29178
  t: undefined
28873
29179
  });
28874
- return _el$38;
29180
+ return _el$41;
28875
29181
  })();
28876
29182
  }
28877
29183
  }), null);
@@ -28905,7 +29211,7 @@ function Composer(props) {
28905
29211
  }), _el$14);
28906
29212
  insertNode(_el$14, _el$15);
28907
29213
  setProp(_el$14, "border", ["left"]);
28908
- insertNode(_el$15, _el$21);
29214
+ insertNode(_el$15, _el$24);
28909
29215
  setProp(_el$15, "paddingLeft", 2);
28910
29216
  setProp(_el$15, "paddingRight", 2);
28911
29217
  setProp(_el$15, "paddingTop", 1);
@@ -28924,66 +29230,95 @@ function Composer(props) {
28924
29230
  get each() {
28925
29231
  return (props.queue?.() ?? []).slice(0, QUEUE_VISIBLE_CAP);
28926
29232
  },
28927
- children: (entry, idx) => (() => {
28928
- var _el$43 = createElement("box"), _el$44 = createElement("text"), _el$46 = createElement("text"), _el$47 = createTextNode(`queued`), _el$48 = createTextNode(`:`), _el$51 = createElement("box"), _el$52 = createElement("text"), _el$53 = createElement("text"), _el$55 = createElement("text");
28929
- insertNode(_el$43, _el$44);
28930
- insertNode(_el$43, _el$46);
28931
- insertNode(_el$43, _el$51);
28932
- insertNode(_el$43, _el$53);
28933
- insertNode(_el$43, _el$55);
28934
- setProp(_el$43, "flexDirection", "row");
28935
- setProp(_el$43, "gap", 1);
28936
- setProp(_el$43, "alignItems", "flex-start");
28937
- insertNode(_el$44, createTextNode(`+`));
28938
- insertNode(_el$46, _el$47);
28939
- insertNode(_el$46, _el$48);
28940
- setProp(_el$46, "wrapMode", "none");
28941
- insert(_el$46, () => idx() === 0 ? " (next)" : "", _el$48);
28942
- insert(_el$43, createComponent2(Show, {
28943
- get when() {
28944
- return entry.kind === "bash";
28945
- },
28946
- get children() {
28947
- var _el$49 = createElement("text");
28948
- insertNode(_el$49, createTextNode(`(bash)`));
28949
- setProp(_el$49, "wrapMode", "none");
28950
- effect((_$p) => setProp(_el$49, "fg", theme.warning, _$p));
28951
- return _el$49;
28952
- }
28953
- }), _el$51);
28954
- insertNode(_el$51, _el$52);
28955
- setProp(_el$51, "flexGrow", 1);
28956
- insert(_el$52, (() => {
28957
- var _c$ = memo2(() => entry.kind === "bash");
28958
- return () => _c$() ? entry.command : entry.text;
28959
- })());
28960
- insertNode(_el$53, createTextNode(`[\u25B6]`));
28961
- setProp(_el$53, "onMouseUp", () => props.onSendQueuedNow?.(entry.id));
28962
- insertNode(_el$55, createTextNode(`[x]`));
28963
- setProp(_el$55, "onMouseUp", () => props.onCancelQueued?.(entry.id));
28964
- effect((_p$) => {
28965
- var _v$29 = theme.textMuted, _v$30 = TextAttributes22.BOLD, _v$31 = theme.textMuted, _v$32 = theme.text, _v$33 = theme.primary, _v$34 = TextAttributes22.BOLD, _v$35 = theme.error, _v$36 = TextAttributes22.BOLD;
28966
- _v$29 !== _p$.e && (_p$.e = setProp(_el$44, "fg", _v$29, _p$.e));
28967
- _v$30 !== _p$.t && (_p$.t = setProp(_el$44, "attributes", _v$30, _p$.t));
28968
- _v$31 !== _p$.a && (_p$.a = setProp(_el$46, "fg", _v$31, _p$.a));
28969
- _v$32 !== _p$.o && (_p$.o = setProp(_el$52, "fg", _v$32, _p$.o));
28970
- _v$33 !== _p$.i && (_p$.i = setProp(_el$53, "fg", _v$33, _p$.i));
28971
- _v$34 !== _p$.n && (_p$.n = setProp(_el$53, "attributes", _v$34, _p$.n));
28972
- _v$35 !== _p$.s && (_p$.s = setProp(_el$55, "fg", _v$35, _p$.s));
28973
- _v$36 !== _p$.h && (_p$.h = setProp(_el$55, "attributes", _v$36, _p$.h));
28974
- return _p$;
28975
- }, {
28976
- e: undefined,
28977
- t: undefined,
28978
- a: undefined,
28979
- o: undefined,
28980
- i: undefined,
28981
- n: undefined,
28982
- s: undefined,
28983
- h: undefined
28984
- });
28985
- return _el$43;
28986
- })()
29233
+ children: (entry, idx) => {
29234
+ const isPrompt = entry.kind === "prompt";
29235
+ const isEditing = () => props.editingQueueId?.() === entry.id;
29236
+ const onRowEdit = () => props.onEditQueued?.(entry.id);
29237
+ return (() => {
29238
+ var _el$46 = createElement("box"), _el$47 = createElement("box"), _el$48 = createElement("text"), _el$50 = createElement("text"), _el$51 = createTextNode(`queued`), _el$52 = createTextNode(`:`), _el$55 = createElement("box"), _el$56 = createElement("text"), _el$59 = createElement("text"), _el$61 = createElement("text");
29239
+ insertNode(_el$46, _el$47);
29240
+ insertNode(_el$46, _el$59);
29241
+ insertNode(_el$46, _el$61);
29242
+ setProp(_el$46, "flexDirection", "row");
29243
+ setProp(_el$46, "gap", 1);
29244
+ setProp(_el$46, "alignItems", "flex-start");
29245
+ insertNode(_el$47, _el$48);
29246
+ insertNode(_el$47, _el$50);
29247
+ insertNode(_el$47, _el$55);
29248
+ setProp(_el$47, "flexDirection", "row");
29249
+ setProp(_el$47, "gap", 1);
29250
+ setProp(_el$47, "alignItems", "flex-start");
29251
+ setProp(_el$47, "flexGrow", 1);
29252
+ setProp(_el$47, "onMouseUp", isPrompt ? onRowEdit : undefined);
29253
+ insertNode(_el$48, createTextNode(`\u25CB`));
29254
+ insertNode(_el$50, _el$51);
29255
+ insertNode(_el$50, _el$52);
29256
+ setProp(_el$50, "wrapMode", "none");
29257
+ insert(_el$50, () => idx() === 0 ? " (next)" : "", _el$52);
29258
+ insert(_el$47, createComponent2(Show, {
29259
+ get when() {
29260
+ return entry.kind === "bash";
29261
+ },
29262
+ get children() {
29263
+ var _el$53 = createElement("text");
29264
+ insertNode(_el$53, createTextNode(`(bash)`));
29265
+ setProp(_el$53, "wrapMode", "none");
29266
+ effect((_$p) => setProp(_el$53, "fg", theme.warning, _$p));
29267
+ return _el$53;
29268
+ }
29269
+ }), _el$55);
29270
+ insertNode(_el$55, _el$56);
29271
+ setProp(_el$55, "flexGrow", 1);
29272
+ insert(_el$56, (() => {
29273
+ var _c$ = memo2(() => entry.kind === "bash");
29274
+ return () => _c$() ? entry.command : entry.text;
29275
+ })());
29276
+ insert(_el$46, createComponent2(Show, {
29277
+ when: isPrompt,
29278
+ get children() {
29279
+ var _el$57 = createElement("text");
29280
+ insertNode(_el$57, createTextNode(`[edit]`));
29281
+ setProp(_el$57, "onMouseUp", onRowEdit);
29282
+ effect((_p$) => {
29283
+ var _v$29 = theme.primary, _v$30 = TextAttributes22.BOLD;
29284
+ _v$29 !== _p$.e && (_p$.e = setProp(_el$57, "fg", _v$29, _p$.e));
29285
+ _v$30 !== _p$.t && (_p$.t = setProp(_el$57, "attributes", _v$30, _p$.t));
29286
+ return _p$;
29287
+ }, {
29288
+ e: undefined,
29289
+ t: undefined
29290
+ });
29291
+ return _el$57;
29292
+ }
29293
+ }), _el$59);
29294
+ insertNode(_el$59, createTextNode(`[\u2191]`));
29295
+ setProp(_el$59, "onMouseUp", () => props.onSendQueuedNow?.(entry.id));
29296
+ insertNode(_el$61, createTextNode(`[x]`));
29297
+ setProp(_el$61, "onMouseUp", () => props.onCancelQueued?.(entry.id));
29298
+ effect((_p$) => {
29299
+ var _v$31 = isEditing() ? theme.primary : theme.textMuted, _v$32 = TextAttributes22.BOLD, _v$33 = theme.textMuted, _v$34 = theme.text, _v$35 = theme.primary, _v$36 = TextAttributes22.BOLD, _v$37 = theme.error, _v$38 = TextAttributes22.BOLD;
29300
+ _v$31 !== _p$.e && (_p$.e = setProp(_el$48, "fg", _v$31, _p$.e));
29301
+ _v$32 !== _p$.t && (_p$.t = setProp(_el$48, "attributes", _v$32, _p$.t));
29302
+ _v$33 !== _p$.a && (_p$.a = setProp(_el$50, "fg", _v$33, _p$.a));
29303
+ _v$34 !== _p$.o && (_p$.o = setProp(_el$56, "fg", _v$34, _p$.o));
29304
+ _v$35 !== _p$.i && (_p$.i = setProp(_el$59, "fg", _v$35, _p$.i));
29305
+ _v$36 !== _p$.n && (_p$.n = setProp(_el$59, "attributes", _v$36, _p$.n));
29306
+ _v$37 !== _p$.s && (_p$.s = setProp(_el$61, "fg", _v$37, _p$.s));
29307
+ _v$38 !== _p$.h && (_p$.h = setProp(_el$61, "attributes", _v$38, _p$.h));
29308
+ return _p$;
29309
+ }, {
29310
+ e: undefined,
29311
+ t: undefined,
29312
+ a: undefined,
29313
+ o: undefined,
29314
+ i: undefined,
29315
+ n: undefined,
29316
+ s: undefined,
29317
+ h: undefined
29318
+ });
29319
+ return _el$46;
29320
+ })();
29321
+ }
28987
29322
  }), null);
28988
29323
  insert(_el$16, createComponent2(Show, {
28989
29324
  get when() {
@@ -29014,12 +29349,58 @@ function Composer(props) {
29014
29349
  }), null);
29015
29350
  return _el$16;
29016
29351
  }
29017
- }), _el$21);
29018
- insertNode(_el$21, _el$24);
29019
- setProp(_el$21, "flexDirection", "row");
29020
- setProp(_el$21, "gap", 1);
29021
- setProp(_el$21, "alignItems", "flex-start");
29022
- insert(_el$21, createComponent2(Show, {
29352
+ }), _el$24);
29353
+ insert(_el$15, createComponent2(Show, {
29354
+ get when() {
29355
+ return memo2(() => !!props.hasTask)() && previewablePathRefs().length > 0;
29356
+ },
29357
+ get children() {
29358
+ var _el$21 = createElement("box"), _el$22 = createElement("text");
29359
+ insertNode(_el$21, _el$22);
29360
+ setProp(_el$21, "flexDirection", "row");
29361
+ setProp(_el$21, "gap", 1);
29362
+ setProp(_el$21, "alignItems", "center");
29363
+ setProp(_el$21, "paddingBottom", 1);
29364
+ insertNode(_el$22, createTextNode(`open`));
29365
+ setProp(_el$22, "wrapMode", "none");
29366
+ insert(_el$21, createComponent2(For, {
29367
+ get each() {
29368
+ return previewablePathRefs();
29369
+ },
29370
+ children: (ref) => (() => {
29371
+ var _el$63 = createElement("box"), _el$64 = createElement("text");
29372
+ insertNode(_el$63, _el$64);
29373
+ setProp(_el$63, "flexDirection", "row");
29374
+ setProp(_el$63, "flexShrink", 1);
29375
+ setProp(_el$63, "maxWidth", 36);
29376
+ setProp(_el$63, "paddingLeft", 1);
29377
+ setProp(_el$63, "paddingRight", 1);
29378
+ setProp(_el$63, "onMouseUp", () => props.onOpenFilePath?.(ref.path));
29379
+ setProp(_el$64, "wrapMode", "none");
29380
+ insert(_el$64, () => formatPreviewPathLabel(ref.path, 34));
29381
+ effect((_p$) => {
29382
+ var { backgroundPanel: _v$39, primary: _v$40 } = theme, _v$41 = TextAttributes22.UNDERLINE;
29383
+ _v$39 !== _p$.e && (_p$.e = setProp(_el$63, "backgroundColor", _v$39, _p$.e));
29384
+ _v$40 !== _p$.t && (_p$.t = setProp(_el$64, "fg", _v$40, _p$.t));
29385
+ _v$41 !== _p$.a && (_p$.a = setProp(_el$64, "attributes", _v$41, _p$.a));
29386
+ return _p$;
29387
+ }, {
29388
+ e: undefined,
29389
+ t: undefined,
29390
+ a: undefined
29391
+ });
29392
+ return _el$63;
29393
+ })()
29394
+ }), null);
29395
+ effect((_$p) => setProp(_el$22, "fg", theme.textMuted, _$p));
29396
+ return _el$21;
29397
+ }
29398
+ }), _el$24);
29399
+ insertNode(_el$24, _el$27);
29400
+ setProp(_el$24, "flexDirection", "row");
29401
+ setProp(_el$24, "gap", 1);
29402
+ setProp(_el$24, "alignItems", "flex-start");
29403
+ insert(_el$24, createComponent2(Show, {
29023
29404
  get when() {
29024
29405
  return memo2(() => !!bashMode())() && !props.isStreaming;
29025
29406
  },
@@ -29030,67 +29411,67 @@ function Composer(props) {
29030
29411
  },
29031
29412
  get fallback() {
29032
29413
  return (() => {
29033
- var _el$62 = createElement("text");
29034
- insert(_el$62, () => props.isStreaming ? "\u2026" : ">");
29035
- effect((_$p) => setProp(_el$62, "fg", props.isStreaming ? theme.accent : theme.primary, _$p));
29036
- return _el$62;
29414
+ var _el$70 = createElement("text");
29415
+ insert(_el$70, () => props.isStreaming ? "\u2026" : ">");
29416
+ effect((_$p) => setProp(_el$70, "fg", props.isStreaming ? theme.accent : theme.primary, _$p));
29417
+ return _el$70;
29037
29418
  })();
29038
29419
  },
29039
29420
  get children() {
29040
- var _el$57 = createElement("box"), _el$58 = createElement("text"), _el$60 = createElement("text");
29041
- insertNode(_el$57, _el$58);
29042
- insertNode(_el$57, _el$60);
29043
- setProp(_el$57, "flexDirection", "row");
29044
- insertNode(_el$58, createTextNode(`\u2026`));
29045
- insertNode(_el$60, createTextNode(`!`));
29421
+ var _el$65 = createElement("box"), _el$66 = createElement("text"), _el$68 = createElement("text");
29422
+ insertNode(_el$65, _el$66);
29423
+ insertNode(_el$65, _el$68);
29424
+ setProp(_el$65, "flexDirection", "row");
29425
+ insertNode(_el$66, createTextNode(`\u2026`));
29426
+ insertNode(_el$68, createTextNode(`!`));
29046
29427
  effect((_p$) => {
29047
- var { accent: _v$37, warning: _v$38 } = theme, _v$39 = TextAttributes22.BOLD;
29048
- _v$37 !== _p$.e && (_p$.e = setProp(_el$58, "fg", _v$37, _p$.e));
29049
- _v$38 !== _p$.t && (_p$.t = setProp(_el$60, "fg", _v$38, _p$.t));
29050
- _v$39 !== _p$.a && (_p$.a = setProp(_el$60, "attributes", _v$39, _p$.a));
29428
+ var { accent: _v$42, warning: _v$43 } = theme, _v$44 = TextAttributes22.BOLD;
29429
+ _v$42 !== _p$.e && (_p$.e = setProp(_el$66, "fg", _v$42, _p$.e));
29430
+ _v$43 !== _p$.t && (_p$.t = setProp(_el$68, "fg", _v$43, _p$.t));
29431
+ _v$44 !== _p$.a && (_p$.a = setProp(_el$68, "attributes", _v$44, _p$.a));
29051
29432
  return _p$;
29052
29433
  }, {
29053
29434
  e: undefined,
29054
29435
  t: undefined,
29055
29436
  a: undefined
29056
29437
  });
29057
- return _el$57;
29438
+ return _el$65;
29058
29439
  }
29059
29440
  });
29060
29441
  },
29061
29442
  get children() {
29062
- var _el$22 = createElement("text");
29063
- insertNode(_el$22, createTextNode(`!`));
29443
+ var _el$25 = createElement("text");
29444
+ insertNode(_el$25, createTextNode(`!`));
29064
29445
  effect((_p$) => {
29065
29446
  var _v$0 = theme.warning, _v$1 = TextAttributes22.BOLD;
29066
- _v$0 !== _p$.e && (_p$.e = setProp(_el$22, "fg", _v$0, _p$.e));
29067
- _v$1 !== _p$.t && (_p$.t = setProp(_el$22, "attributes", _v$1, _p$.t));
29447
+ _v$0 !== _p$.e && (_p$.e = setProp(_el$25, "fg", _v$0, _p$.e));
29448
+ _v$1 !== _p$.t && (_p$.t = setProp(_el$25, "attributes", _v$1, _p$.t));
29068
29449
  return _p$;
29069
29450
  }, {
29070
29451
  e: undefined,
29071
29452
  t: undefined
29072
29453
  });
29073
- return _el$22;
29454
+ return _el$25;
29074
29455
  }
29075
- }), _el$24);
29076
- setProp(_el$24, "flexGrow", 1);
29077
- setProp(_el$24, "flexShrink", 1);
29078
- setProp(_el$24, "maxHeight", 8);
29079
- setProp(_el$24, "minHeight", 1);
29080
- insert(_el$24, createComponent2(Show, {
29456
+ }), _el$27);
29457
+ setProp(_el$27, "flexGrow", 1);
29458
+ setProp(_el$27, "flexShrink", 1);
29459
+ setProp(_el$27, "maxHeight", 8);
29460
+ setProp(_el$27, "minHeight", 1);
29461
+ insert(_el$27, createComponent2(Show, {
29081
29462
  get when() {
29082
29463
  return props.hasTask;
29083
29464
  },
29084
29465
  get fallback() {
29085
29466
  return (() => {
29086
- var _el$63 = createElement("text");
29087
- insert(_el$63, () => props.noTaskMessage ?? "(no task \u2014 press n to create)");
29088
- effect((_$p) => setProp(_el$63, "fg", theme.textMuted, _$p));
29089
- return _el$63;
29467
+ var _el$71 = createElement("text");
29468
+ insert(_el$71, () => props.noTaskMessage ?? "(no task \u2014 press n to create)");
29469
+ effect((_$p) => setProp(_el$71, "fg", theme.textMuted, _$p));
29470
+ return _el$71;
29090
29471
  })();
29091
29472
  },
29092
29473
  get children() {
29093
- var _el$25 = createElement("textarea");
29474
+ var _el$28 = createElement("textarea");
29094
29475
  use((r2) => {
29095
29476
  textareaRef = r2;
29096
29477
  if (props.draft)
@@ -29098,12 +29479,12 @@ function Composer(props) {
29098
29479
  r2.onPaste = handlePaste;
29099
29480
  if (props.focused?.())
29100
29481
  r2.focus();
29101
- }, _el$25);
29102
- setProp(_el$25, "wrapMode", "word");
29103
- setProp(_el$25, "keyBindings", composerKeyBindings);
29104
- setProp(_el$25, "onContentChange", handleContentChange);
29105
- setProp(_el$25, "onKeyDown", handleKeyDown);
29106
- setProp(_el$25, "onSubmit", () => handleSubmit("auto"));
29482
+ }, _el$28);
29483
+ setProp(_el$28, "wrapMode", "word");
29484
+ setProp(_el$28, "keyBindings", composerKeyBindings);
29485
+ setProp(_el$28, "onContentChange", handleContentChange);
29486
+ setProp(_el$28, "onKeyDown", handleKeyDown);
29487
+ setProp(_el$28, "onSubmit", () => handleSubmit("auto"));
29107
29488
  effect((_p$) => {
29108
29489
  var _v$10 = resolvePlaceholder({
29109
29490
  isStreaming: props.isStreaming,
@@ -29111,11 +29492,11 @@ function Composer(props) {
29111
29492
  noTaskMessage: props.noTaskMessage,
29112
29493
  inputPlaceholder: props.inputPlaceholder?.()
29113
29494
  }), _v$11 = theme.textMuted, _v$12 = theme.text, _v$13 = theme.backgroundElement, _v$14 = theme.backgroundElement;
29114
- _v$10 !== _p$.e && (_p$.e = setProp(_el$25, "placeholder", _v$10, _p$.e));
29115
- _v$11 !== _p$.t && (_p$.t = setProp(_el$25, "placeholderColor", _v$11, _p$.t));
29116
- _v$12 !== _p$.a && (_p$.a = setProp(_el$25, "textColor", _v$12, _p$.a));
29117
- _v$13 !== _p$.o && (_p$.o = setProp(_el$25, "backgroundColor", _v$13, _p$.o));
29118
- _v$14 !== _p$.i && (_p$.i = setProp(_el$25, "focusedBackgroundColor", _v$14, _p$.i));
29495
+ _v$10 !== _p$.e && (_p$.e = setProp(_el$28, "placeholder", _v$10, _p$.e));
29496
+ _v$11 !== _p$.t && (_p$.t = setProp(_el$28, "placeholderColor", _v$11, _p$.t));
29497
+ _v$12 !== _p$.a && (_p$.a = setProp(_el$28, "textColor", _v$12, _p$.a));
29498
+ _v$13 !== _p$.o && (_p$.o = setProp(_el$28, "backgroundColor", _v$13, _p$.o));
29499
+ _v$14 !== _p$.i && (_p$.i = setProp(_el$28, "focusedBackgroundColor", _v$14, _p$.i));
29119
29500
  return _p$;
29120
29501
  }, {
29121
29502
  e: undefined,
@@ -29124,7 +29505,7 @@ function Composer(props) {
29124
29505
  o: undefined,
29125
29506
  i: undefined
29126
29507
  });
29127
- return _el$25;
29508
+ return _el$28;
29128
29509
  }
29129
29510
  }));
29130
29511
  insert(_el$15, createComponent2(Show, {
@@ -29132,53 +29513,53 @@ function Composer(props) {
29132
29513
  return props.hasTask;
29133
29514
  },
29134
29515
  get children() {
29135
- var _el$26 = createElement("box"), _el$27 = createElement("text"), _el$28 = createElement("box"), _el$29 = createElement("box"), _el$30 = createElement("text"), _el$31 = createElement("box"), _el$32 = createElement("text");
29136
- insertNode(_el$26, _el$27);
29137
- insertNode(_el$26, _el$28);
29138
- setProp(_el$26, "flexDirection", "row");
29139
- setProp(_el$26, "justifyContent", "space-between");
29140
- setProp(_el$26, "paddingTop", 1);
29141
- setProp(_el$26, "flexShrink", 0);
29142
- setProp(_el$27, "wrapMode", "none");
29143
- insert(_el$27, footerHint);
29144
- insertNode(_el$28, _el$29);
29145
- insertNode(_el$28, _el$31);
29146
- setProp(_el$28, "flexDirection", "row");
29147
- setProp(_el$28, "gap", 2);
29148
- setProp(_el$28, "flexShrink", 0);
29516
+ var _el$29 = createElement("box"), _el$30 = createElement("text"), _el$31 = createElement("box"), _el$32 = createElement("box"), _el$33 = createElement("text"), _el$34 = createElement("box"), _el$35 = createElement("text");
29149
29517
  insertNode(_el$29, _el$30);
29518
+ insertNode(_el$29, _el$31);
29150
29519
  setProp(_el$29, "flexDirection", "row");
29520
+ setProp(_el$29, "justifyContent", "space-between");
29521
+ setProp(_el$29, "paddingTop", 1);
29151
29522
  setProp(_el$29, "flexShrink", 0);
29152
- setProp(_el$29, "onMouseUp", () => props.onCyclePermissionMode?.());
29153
29523
  setProp(_el$30, "wrapMode", "none");
29154
- insert(_el$30, permissionModeLabel, null);
29155
- insert(_el$30, () => props.onCyclePermissionMode ? " \u25BE" : "", null);
29524
+ insert(_el$30, footerHint);
29156
29525
  insertNode(_el$31, _el$32);
29526
+ insertNode(_el$31, _el$34);
29157
29527
  setProp(_el$31, "flexDirection", "row");
29528
+ setProp(_el$31, "gap", 2);
29158
29529
  setProp(_el$31, "flexShrink", 0);
29159
- setProp(_el$31, "onMouseUp", () => props.onChooseModel?.());
29160
- setProp(_el$32, "wrapMode", "none");
29161
- insert(_el$32, modelLabel, null);
29162
- insert(_el$32, () => props.onChooseModel ? " \u25BE" : "", null);
29530
+ insertNode(_el$32, _el$33);
29531
+ setProp(_el$32, "flexDirection", "row");
29532
+ setProp(_el$32, "flexShrink", 0);
29533
+ setProp(_el$32, "onMouseUp", () => props.onCyclePermissionMode?.());
29534
+ setProp(_el$33, "wrapMode", "none");
29535
+ insert(_el$33, permissionModeLabel, null);
29536
+ insert(_el$33, () => props.onCyclePermissionMode ? " \u25BE" : "", null);
29537
+ insertNode(_el$34, _el$35);
29538
+ setProp(_el$34, "flexDirection", "row");
29539
+ setProp(_el$34, "flexShrink", 0);
29540
+ setProp(_el$34, "onMouseUp", () => props.onChooseModel?.());
29541
+ setProp(_el$35, "wrapMode", "none");
29542
+ insert(_el$35, modelLabel, null);
29543
+ insert(_el$35, () => props.onChooseModel ? " \u25BE" : "", null);
29163
29544
  effect((_p$) => {
29164
29545
  var _v$15 = props.isStreaming ? theme.accent : theme.textMuted, _v$16 = modeBadge() ? toneColor("primary") : theme.textMuted, _v$17 = theme.textMuted;
29165
- _v$15 !== _p$.e && (_p$.e = setProp(_el$27, "fg", _v$15, _p$.e));
29166
- _v$16 !== _p$.t && (_p$.t = setProp(_el$30, "fg", _v$16, _p$.t));
29167
- _v$17 !== _p$.a && (_p$.a = setProp(_el$32, "fg", _v$17, _p$.a));
29546
+ _v$15 !== _p$.e && (_p$.e = setProp(_el$30, "fg", _v$15, _p$.e));
29547
+ _v$16 !== _p$.t && (_p$.t = setProp(_el$33, "fg", _v$16, _p$.t));
29548
+ _v$17 !== _p$.a && (_p$.a = setProp(_el$35, "fg", _v$17, _p$.a));
29168
29549
  return _p$;
29169
29550
  }, {
29170
29551
  e: undefined,
29171
29552
  t: undefined,
29172
29553
  a: undefined
29173
29554
  });
29174
- return _el$26;
29555
+ return _el$29;
29175
29556
  }
29176
29557
  }), null);
29177
- insertNode(_el$33, _el$34);
29178
- setProp(_el$33, "height", 1);
29179
- setProp(_el$33, "border", ["left"]);
29180
- setProp(_el$34, "height", 1);
29181
- setProp(_el$34, "border", ["bottom"]);
29558
+ insertNode(_el$36, _el$37);
29559
+ setProp(_el$36, "height", 1);
29560
+ setProp(_el$36, "border", ["left"]);
29561
+ setProp(_el$37, "height", 1);
29562
+ setProp(_el$37, "border", ["bottom"]);
29182
29563
  effect((_p$) => {
29183
29564
  var _v$18 = railColor(), _v$19 = {
29184
29565
  ...SplitBorder.customBorderChars,
@@ -29193,10 +29574,10 @@ function Composer(props) {
29193
29574
  _v$18 !== _p$.e && (_p$.e = setProp(_el$14, "borderColor", _v$18, _p$.e));
29194
29575
  _v$19 !== _p$.t && (_p$.t = setProp(_el$14, "customBorderChars", _v$19, _p$.t));
29195
29576
  _v$20 !== _p$.a && (_p$.a = setProp(_el$15, "backgroundColor", _v$20, _p$.a));
29196
- _v$21 !== _p$.o && (_p$.o = setProp(_el$33, "borderColor", _v$21, _p$.o));
29197
- _v$22 !== _p$.i && (_p$.i = setProp(_el$33, "customBorderChars", _v$22, _p$.i));
29198
- _v$23 !== _p$.n && (_p$.n = setProp(_el$34, "borderColor", _v$23, _p$.n));
29199
- _v$24 !== _p$.s && (_p$.s = setProp(_el$34, "customBorderChars", _v$24, _p$.s));
29577
+ _v$21 !== _p$.o && (_p$.o = setProp(_el$36, "borderColor", _v$21, _p$.o));
29578
+ _v$22 !== _p$.i && (_p$.i = setProp(_el$36, "customBorderChars", _v$22, _p$.i));
29579
+ _v$23 !== _p$.n && (_p$.n = setProp(_el$37, "borderColor", _v$23, _p$.n));
29580
+ _v$24 !== _p$.s && (_p$.s = setProp(_el$37, "customBorderChars", _v$24, _p$.s));
29200
29581
  return _p$;
29201
29582
  }, {
29202
29583
  e: undefined,
@@ -29230,6 +29611,7 @@ var init_Composer = __esm(() => {
29230
29611
  init_image_paste();
29231
29612
  init_keybindings2();
29232
29613
  init_mention();
29614
+ init_path_preview();
29233
29615
  });
29234
29616
 
29235
29617
  // src/tui/panes/chat/spinnerVerbs.ts
@@ -30106,6 +30488,46 @@ function AssistantRow(props) {
30106
30488
  return _el$23;
30107
30489
  })();
30108
30490
  }
30491
+ function ReasoningRow(props) {
30492
+ const {
30493
+ theme
30494
+ } = useTheme();
30495
+ return (() => {
30496
+ var _el$27 = createElement("box"), _el$28 = createElement("box"), _el$29 = createElement("text"), _el$30 = createElement("box"), _el$31 = createElement("text");
30497
+ insertNode(_el$27, _el$28);
30498
+ insertNode(_el$27, _el$30);
30499
+ setProp(_el$27, "paddingTop", 1);
30500
+ setProp(_el$27, "flexDirection", "row");
30501
+ setProp(_el$27, "gap", 1);
30502
+ insertNode(_el$28, _el$29);
30503
+ setProp(_el$28, "width", 2);
30504
+ setProp(_el$28, "flexShrink", 0);
30505
+ insert(_el$29, BLACK_CIRCLE);
30506
+ insertNode(_el$30, _el$31);
30507
+ setProp(_el$30, "flexGrow", 1);
30508
+ setProp(_el$30, "flexDirection", "column");
30509
+ insertNode(_el$31, createTextNode(`\u601D\u8003\u8FC7\u7A0B`));
30510
+ insert(_el$30, createComponent2(Markdown, {
30511
+ get source() {
30512
+ return props.text;
30513
+ }
30514
+ }), null);
30515
+ effect((_p$) => {
30516
+ var _v$12 = theme.success, _v$13 = TextAttributes23.BOLD, _v$14 = theme.textMuted, _v$15 = TextAttributes23.BOLD;
30517
+ _v$12 !== _p$.e && (_p$.e = setProp(_el$29, "fg", _v$12, _p$.e));
30518
+ _v$13 !== _p$.t && (_p$.t = setProp(_el$29, "attributes", _v$13, _p$.t));
30519
+ _v$14 !== _p$.a && (_p$.a = setProp(_el$31, "fg", _v$14, _p$.a));
30520
+ _v$15 !== _p$.o && (_p$.o = setProp(_el$31, "attributes", _v$15, _p$.o));
30521
+ return _p$;
30522
+ }, {
30523
+ e: undefined,
30524
+ t: undefined,
30525
+ a: undefined,
30526
+ o: undefined
30527
+ });
30528
+ return _el$27;
30529
+ })();
30530
+ }
30109
30531
  function ToolRow(props) {
30110
30532
  const {
30111
30533
  theme
@@ -30129,18 +30551,18 @@ function ToolRow(props) {
30129
30551
  };
30130
30552
  const multiDiff = () => isMultiEdit() ? formatMultiEditDiff(r2().input) : null;
30131
30553
  return (() => {
30132
- var _el$27 = createElement("box"), _el$28 = createElement("box"), _el$29 = createElement("text"), _el$30 = createElement("box");
30133
- insertNode(_el$27, _el$28);
30134
- setProp(_el$27, "paddingTop", 1);
30135
- setProp(_el$27, "flexDirection", "column");
30136
- insertNode(_el$28, _el$29);
30137
- insertNode(_el$28, _el$30);
30138
- setProp(_el$28, "flexDirection", "row");
30139
- setProp(_el$28, "gap", 1);
30140
- setProp(_el$28, "onMouseUp", () => props.onToggle());
30141
- insert(_el$29, prefixGlyph);
30142
- setProp(_el$30, "flexGrow", 1);
30143
- insert(_el$30, createComponent2(Show, {
30554
+ var _el$33 = createElement("box"), _el$34 = createElement("box"), _el$35 = createElement("text"), _el$36 = createElement("box");
30555
+ insertNode(_el$33, _el$34);
30556
+ setProp(_el$33, "paddingTop", 1);
30557
+ setProp(_el$33, "flexDirection", "column");
30558
+ insertNode(_el$34, _el$35);
30559
+ insertNode(_el$34, _el$36);
30560
+ setProp(_el$34, "flexDirection", "row");
30561
+ setProp(_el$34, "gap", 1);
30562
+ setProp(_el$34, "onMouseUp", () => props.onToggle());
30563
+ insert(_el$35, prefixGlyph);
30564
+ setProp(_el$36, "flexGrow", 1);
30565
+ insert(_el$36, createComponent2(Show, {
30144
30566
  get when() {
30145
30567
  return isReadGrepGlob();
30146
30568
  },
@@ -30151,36 +30573,36 @@ function ToolRow(props) {
30151
30573
  },
30152
30574
  get fallback() {
30153
30575
  return (() => {
30154
- var _el$45 = createElement("text"), _el$46 = createElement("span");
30155
- insertNode(_el$45, _el$46);
30156
- insert(_el$46, () => r2().name);
30157
- insert(_el$45, createComponent2(Show, {
30576
+ var _el$51 = createElement("text"), _el$52 = createElement("span");
30577
+ insertNode(_el$51, _el$52);
30578
+ insert(_el$52, () => r2().name);
30579
+ insert(_el$51, createComponent2(Show, {
30158
30580
  get when() {
30159
30581
  return !usesCustomBanner();
30160
30582
  },
30161
30583
  get children() {
30162
- var _el$47 = createElement("span"), _el$48 = createTextNode(`(`), _el$49 = createTextNode(`)`);
30163
- insertNode(_el$47, _el$48);
30164
- insertNode(_el$47, _el$49);
30165
- insert(_el$47, () => previewToolInput(r2().input), _el$49);
30166
- effect((_$p) => setProp(_el$47, "style", {
30584
+ var _el$53 = createElement("span"), _el$54 = createTextNode(`(`), _el$55 = createTextNode(`)`);
30585
+ insertNode(_el$53, _el$54);
30586
+ insertNode(_el$53, _el$55);
30587
+ insert(_el$53, () => previewToolInput(r2().input), _el$55);
30588
+ effect((_$p) => setProp(_el$53, "style", {
30167
30589
  fg: theme.textMuted
30168
30590
  }, _$p));
30169
- return _el$47;
30591
+ return _el$53;
30170
30592
  }
30171
30593
  }), null);
30172
30594
  effect((_p$) => {
30173
- var _v$18 = theme.text, _v$19 = {
30595
+ var _v$22 = theme.text, _v$23 = {
30174
30596
  attributes: TextAttributes23.BOLD
30175
30597
  };
30176
- _v$18 !== _p$.e && (_p$.e = setProp(_el$45, "fg", _v$18, _p$.e));
30177
- _v$19 !== _p$.t && (_p$.t = setProp(_el$46, "style", _v$19, _p$.t));
30598
+ _v$22 !== _p$.e && (_p$.e = setProp(_el$51, "fg", _v$22, _p$.e));
30599
+ _v$23 !== _p$.t && (_p$.t = setProp(_el$52, "style", _v$23, _p$.t));
30178
30600
  return _p$;
30179
30601
  }, {
30180
30602
  e: undefined,
30181
30603
  t: undefined
30182
30604
  });
30183
- return _el$45;
30605
+ return _el$51;
30184
30606
  })();
30185
30607
  },
30186
30608
  get children() {
@@ -30200,7 +30622,7 @@ function ToolRow(props) {
30200
30622
  });
30201
30623
  }
30202
30624
  }));
30203
- insert(_el$27, createComponent2(Show, {
30625
+ insert(_el$33, createComponent2(Show, {
30204
30626
  get when() {
30205
30627
  return memo2(() => !!isDiffTool())() && diff();
30206
30628
  },
@@ -30218,7 +30640,7 @@ function ToolRow(props) {
30218
30640
  });
30219
30641
  }
30220
30642
  }), null);
30221
- insert(_el$27, createComponent2(Show, {
30643
+ insert(_el$33, createComponent2(Show, {
30222
30644
  get when() {
30223
30645
  return memo2(() => !!isMultiEdit())() && multiDiff();
30224
30646
  },
@@ -30236,7 +30658,7 @@ function ToolRow(props) {
30236
30658
  });
30237
30659
  }
30238
30660
  }), null);
30239
- insert(_el$27, createComponent2(Show, {
30661
+ insert(_el$33, createComponent2(Show, {
30240
30662
  get when() {
30241
30663
  return memo2(() => !!isBash())() && r2().done;
30242
30664
  },
@@ -30254,100 +30676,100 @@ function ToolRow(props) {
30254
30676
  });
30255
30677
  }
30256
30678
  }), null);
30257
- insert(_el$27, createComponent2(Show, {
30679
+ insert(_el$33, createComponent2(Show, {
30258
30680
  get when() {
30259
30681
  return memo2(() => !!(!usesCustomBody() && !isReadGrepGlob() && !props.expanded && r2().done))() && r2().output !== undefined;
30260
30682
  },
30261
30683
  get children() {
30262
- var _el$31 = createElement("box"), _el$32 = createElement("text"), _el$33 = createTextNode(`\u23BF `);
30263
- insertNode(_el$31, _el$32);
30264
- setProp(_el$31, "paddingLeft", 2);
30265
- setProp(_el$31, "flexDirection", "row");
30266
- setProp(_el$31, "onMouseUp", () => props.onToggle());
30267
- insertNode(_el$32, _el$33);
30268
- insert(_el$32, () => previewToolOutput(r2().output), null);
30269
- effect((_$p) => setProp(_el$32, "fg", theme.textMuted, _$p));
30270
- return _el$31;
30684
+ var _el$37 = createElement("box"), _el$38 = createElement("text"), _el$39 = createTextNode(`\u23BF `);
30685
+ insertNode(_el$37, _el$38);
30686
+ setProp(_el$37, "paddingLeft", 2);
30687
+ setProp(_el$37, "flexDirection", "row");
30688
+ setProp(_el$37, "onMouseUp", () => props.onToggle());
30689
+ insertNode(_el$38, _el$39);
30690
+ insert(_el$38, () => previewToolOutput(r2().output), null);
30691
+ effect((_$p) => setProp(_el$38, "fg", theme.textMuted, _$p));
30692
+ return _el$37;
30271
30693
  }
30272
30694
  }), null);
30273
- insert(_el$27, createComponent2(Show, {
30695
+ insert(_el$33, createComponent2(Show, {
30274
30696
  get when() {
30275
30697
  return memo2(() => !!(!usesCustomBody() && !isReadGrepGlob()))() && props.expanded;
30276
30698
  },
30277
30699
  get children() {
30278
- var _el$34 = createElement("box"), _el$35 = createElement("text"), _el$37 = createElement("text");
30279
- insertNode(_el$34, _el$35);
30280
- insertNode(_el$34, _el$37);
30281
- setProp(_el$34, "paddingLeft", 2);
30282
- setProp(_el$34, "flexDirection", "column");
30283
- setProp(_el$34, "paddingTop", 0);
30284
- insertNode(_el$35, createTextNode(`input:`));
30285
- insert(_el$37, () => safeStringify(r2().input));
30286
- insert(_el$34, createComponent2(Show, {
30700
+ var _el$40 = createElement("box"), _el$41 = createElement("text"), _el$43 = createElement("text");
30701
+ insertNode(_el$40, _el$41);
30702
+ insertNode(_el$40, _el$43);
30703
+ setProp(_el$40, "paddingLeft", 2);
30704
+ setProp(_el$40, "flexDirection", "column");
30705
+ setProp(_el$40, "paddingTop", 0);
30706
+ insertNode(_el$41, createTextNode(`input:`));
30707
+ insert(_el$43, () => safeStringify(r2().input));
30708
+ insert(_el$40, createComponent2(Show, {
30287
30709
  get when() {
30288
30710
  return r2().done;
30289
30711
  },
30290
30712
  get children() {
30291
30713
  return [(() => {
30292
- var _el$38 = createElement("text");
30293
- insertNode(_el$38, createTextNode(`output:`));
30294
- effect((_$p) => setProp(_el$38, "fg", theme.textMuted, _$p));
30295
- return _el$38;
30714
+ var _el$44 = createElement("text");
30715
+ insertNode(_el$44, createTextNode(`output:`));
30716
+ effect((_$p) => setProp(_el$44, "fg", theme.textMuted, _$p));
30717
+ return _el$44;
30296
30718
  })(), (() => {
30297
- var _el$40 = createElement("text");
30298
- insert(_el$40, () => safeStringify(r2().output));
30299
- effect((_$p) => setProp(_el$40, "fg", theme.text, _$p));
30300
- return _el$40;
30719
+ var _el$46 = createElement("text");
30720
+ insert(_el$46, () => safeStringify(r2().output));
30721
+ effect((_$p) => setProp(_el$46, "fg", theme.text, _$p));
30722
+ return _el$46;
30301
30723
  })()];
30302
30724
  }
30303
30725
  }), null);
30304
30726
  effect((_p$) => {
30305
- var { textMuted: _v$12, text: _v$13 } = theme;
30306
- _v$12 !== _p$.e && (_p$.e = setProp(_el$35, "fg", _v$12, _p$.e));
30307
- _v$13 !== _p$.t && (_p$.t = setProp(_el$37, "fg", _v$13, _p$.t));
30727
+ var { textMuted: _v$16, text: _v$17 } = theme;
30728
+ _v$16 !== _p$.e && (_p$.e = setProp(_el$41, "fg", _v$16, _p$.e));
30729
+ _v$17 !== _p$.t && (_p$.t = setProp(_el$43, "fg", _v$17, _p$.t));
30308
30730
  return _p$;
30309
30731
  }, {
30310
30732
  e: undefined,
30311
30733
  t: undefined
30312
30734
  });
30313
- return _el$34;
30735
+ return _el$40;
30314
30736
  }
30315
30737
  }), null);
30316
- insert(_el$27, createComponent2(Show, {
30738
+ insert(_el$33, createComponent2(Show, {
30317
30739
  get when() {
30318
30740
  return memo2(() => !!(isReadGrepGlob() && props.expanded))() && r2().done;
30319
30741
  },
30320
30742
  get children() {
30321
- var _el$41 = createElement("box"), _el$42 = createElement("text"), _el$44 = createElement("text");
30322
- insertNode(_el$41, _el$42);
30323
- insertNode(_el$41, _el$44);
30324
- setProp(_el$41, "paddingLeft", 2);
30325
- setProp(_el$41, "flexDirection", "column");
30326
- setProp(_el$41, "paddingTop", 0);
30327
- insertNode(_el$42, createTextNode(`output:`));
30328
- insert(_el$44, () => safeStringify(r2().output));
30743
+ var _el$47 = createElement("box"), _el$48 = createElement("text"), _el$50 = createElement("text");
30744
+ insertNode(_el$47, _el$48);
30745
+ insertNode(_el$47, _el$50);
30746
+ setProp(_el$47, "paddingLeft", 2);
30747
+ setProp(_el$47, "flexDirection", "column");
30748
+ setProp(_el$47, "paddingTop", 0);
30749
+ insertNode(_el$48, createTextNode(`output:`));
30750
+ insert(_el$50, () => safeStringify(r2().output));
30329
30751
  effect((_p$) => {
30330
- var { textMuted: _v$14, text: _v$15 } = theme;
30331
- _v$14 !== _p$.e && (_p$.e = setProp(_el$42, "fg", _v$14, _p$.e));
30332
- _v$15 !== _p$.t && (_p$.t = setProp(_el$44, "fg", _v$15, _p$.t));
30752
+ var { textMuted: _v$18, text: _v$19 } = theme;
30753
+ _v$18 !== _p$.e && (_p$.e = setProp(_el$48, "fg", _v$18, _p$.e));
30754
+ _v$19 !== _p$.t && (_p$.t = setProp(_el$50, "fg", _v$19, _p$.t));
30333
30755
  return _p$;
30334
30756
  }, {
30335
30757
  e: undefined,
30336
30758
  t: undefined
30337
30759
  });
30338
- return _el$41;
30760
+ return _el$47;
30339
30761
  }
30340
30762
  }), null);
30341
30763
  effect((_p$) => {
30342
- var _v$16 = prefixColor(), _v$17 = TextAttributes23.BOLD;
30343
- _v$16 !== _p$.e && (_p$.e = setProp(_el$29, "fg", _v$16, _p$.e));
30344
- _v$17 !== _p$.t && (_p$.t = setProp(_el$29, "attributes", _v$17, _p$.t));
30764
+ var _v$20 = prefixColor(), _v$21 = TextAttributes23.BOLD;
30765
+ _v$20 !== _p$.e && (_p$.e = setProp(_el$35, "fg", _v$20, _p$.e));
30766
+ _v$21 !== _p$.t && (_p$.t = setProp(_el$35, "attributes", _v$21, _p$.t));
30345
30767
  return _p$;
30346
30768
  }, {
30347
30769
  e: undefined,
30348
30770
  t: undefined
30349
30771
  });
30350
- return _el$27;
30772
+ return _el$33;
30351
30773
  })();
30352
30774
  }
30353
30775
  function EditWriteDiffBlock(props) {
@@ -30358,83 +30780,83 @@ function EditWriteDiffBlock(props) {
30358
30780
  const removes = () => capLines(props.diff.removes, cap());
30359
30781
  const adds = () => capLines(props.diff.adds, cap());
30360
30782
  return (() => {
30361
- var _el$50 = createElement("box"), _el$51 = createElement("text"), _el$52 = createTextNode(`\u23BF `);
30362
- insertNode(_el$50, _el$51);
30363
- setProp(_el$50, "paddingLeft", 2);
30364
- setProp(_el$50, "flexDirection", "column");
30365
- setProp(_el$50, "onMouseUp", () => props.onToggle());
30366
- insertNode(_el$51, _el$52);
30367
- insert(_el$51, () => props.diff.header, null);
30368
- insert(_el$50, createComponent2(For, {
30783
+ var _el$56 = createElement("box"), _el$57 = createElement("text"), _el$58 = createTextNode(`\u23BF `);
30784
+ insertNode(_el$56, _el$57);
30785
+ setProp(_el$56, "paddingLeft", 2);
30786
+ setProp(_el$56, "flexDirection", "column");
30787
+ setProp(_el$56, "onMouseUp", () => props.onToggle());
30788
+ insertNode(_el$57, _el$58);
30789
+ insert(_el$57, () => props.diff.header, null);
30790
+ insert(_el$56, createComponent2(For, {
30369
30791
  get each() {
30370
30792
  return removes().visible;
30371
30793
  },
30372
30794
  children: (line) => (() => {
30373
- var _el$55 = createElement("box"), _el$56 = createElement("text");
30374
- insertNode(_el$55, _el$56);
30375
- setProp(_el$55, "paddingLeft", 1);
30376
- setProp(_el$55, "paddingRight", 1);
30377
- setProp(_el$56, "wrapMode", "none");
30378
- insert(_el$56, `- ${line}` || " ");
30795
+ var _el$61 = createElement("box"), _el$62 = createElement("text");
30796
+ insertNode(_el$61, _el$62);
30797
+ setProp(_el$61, "paddingLeft", 1);
30798
+ setProp(_el$61, "paddingRight", 1);
30799
+ setProp(_el$62, "wrapMode", "none");
30800
+ insert(_el$62, `- ${line}` || " ");
30379
30801
  effect((_p$) => {
30380
- var { diffRemovedBg: _v$20, diffRemoved: _v$21 } = theme;
30381
- _v$20 !== _p$.e && (_p$.e = setProp(_el$55, "backgroundColor", _v$20, _p$.e));
30382
- _v$21 !== _p$.t && (_p$.t = setProp(_el$56, "fg", _v$21, _p$.t));
30802
+ var { diffRemovedBg: _v$24, diffRemoved: _v$25 } = theme;
30803
+ _v$24 !== _p$.e && (_p$.e = setProp(_el$61, "backgroundColor", _v$24, _p$.e));
30804
+ _v$25 !== _p$.t && (_p$.t = setProp(_el$62, "fg", _v$25, _p$.t));
30383
30805
  return _p$;
30384
30806
  }, {
30385
30807
  e: undefined,
30386
30808
  t: undefined
30387
30809
  });
30388
- return _el$55;
30810
+ return _el$61;
30389
30811
  })()
30390
30812
  }), null);
30391
- insert(_el$50, createComponent2(Show, {
30813
+ insert(_el$56, createComponent2(Show, {
30392
30814
  get when() {
30393
30815
  return removes().hidden > 0;
30394
30816
  },
30395
30817
  get children() {
30396
- var _el$53 = createElement("text");
30397
- insert(_el$53, () => ` \u2026 ${removes().hidden} more removed ${removes().hidden === 1 ? "line" : "lines"}`);
30398
- effect((_$p) => setProp(_el$53, "fg", theme.textMuted, _$p));
30399
- return _el$53;
30818
+ var _el$59 = createElement("text");
30819
+ insert(_el$59, () => ` \u2026 ${removes().hidden} more removed ${removes().hidden === 1 ? "line" : "lines"}`);
30820
+ effect((_$p) => setProp(_el$59, "fg", theme.textMuted, _$p));
30821
+ return _el$59;
30400
30822
  }
30401
30823
  }), null);
30402
- insert(_el$50, createComponent2(For, {
30824
+ insert(_el$56, createComponent2(For, {
30403
30825
  get each() {
30404
30826
  return adds().visible;
30405
30827
  },
30406
30828
  children: (line) => (() => {
30407
- var _el$57 = createElement("box"), _el$58 = createElement("text");
30408
- insertNode(_el$57, _el$58);
30409
- setProp(_el$57, "paddingLeft", 1);
30410
- setProp(_el$57, "paddingRight", 1);
30411
- setProp(_el$58, "wrapMode", "none");
30412
- insert(_el$58, `+ ${line}` || " ");
30829
+ var _el$63 = createElement("box"), _el$64 = createElement("text");
30830
+ insertNode(_el$63, _el$64);
30831
+ setProp(_el$63, "paddingLeft", 1);
30832
+ setProp(_el$63, "paddingRight", 1);
30833
+ setProp(_el$64, "wrapMode", "none");
30834
+ insert(_el$64, `+ ${line}` || " ");
30413
30835
  effect((_p$) => {
30414
- var { diffAddedBg: _v$22, diffAdded: _v$23 } = theme;
30415
- _v$22 !== _p$.e && (_p$.e = setProp(_el$57, "backgroundColor", _v$22, _p$.e));
30416
- _v$23 !== _p$.t && (_p$.t = setProp(_el$58, "fg", _v$23, _p$.t));
30836
+ var { diffAddedBg: _v$26, diffAdded: _v$27 } = theme;
30837
+ _v$26 !== _p$.e && (_p$.e = setProp(_el$63, "backgroundColor", _v$26, _p$.e));
30838
+ _v$27 !== _p$.t && (_p$.t = setProp(_el$64, "fg", _v$27, _p$.t));
30417
30839
  return _p$;
30418
30840
  }, {
30419
30841
  e: undefined,
30420
30842
  t: undefined
30421
30843
  });
30422
- return _el$57;
30844
+ return _el$63;
30423
30845
  })()
30424
30846
  }), null);
30425
- insert(_el$50, createComponent2(Show, {
30847
+ insert(_el$56, createComponent2(Show, {
30426
30848
  get when() {
30427
30849
  return adds().hidden > 0;
30428
30850
  },
30429
30851
  get children() {
30430
- var _el$54 = createElement("text");
30431
- insert(_el$54, () => ` \u2026 ${adds().hidden} more added ${adds().hidden === 1 ? "line" : "lines"}`);
30432
- effect((_$p) => setProp(_el$54, "fg", theme.textMuted, _$p));
30433
- return _el$54;
30852
+ var _el$60 = createElement("text");
30853
+ insert(_el$60, () => ` \u2026 ${adds().hidden} more added ${adds().hidden === 1 ? "line" : "lines"}`);
30854
+ effect((_$p) => setProp(_el$60, "fg", theme.textMuted, _$p));
30855
+ return _el$60;
30434
30856
  }
30435
30857
  }), null);
30436
- effect((_$p) => setProp(_el$51, "fg", theme.textMuted, _$p));
30437
- return _el$50;
30858
+ effect((_$p) => setProp(_el$57, "fg", theme.textMuted, _$p));
30859
+ return _el$56;
30438
30860
  })();
30439
30861
  }
30440
30862
  function MultiEditDiffBlock(props) {
@@ -30443,14 +30865,14 @@ function MultiEditDiffBlock(props) {
30443
30865
  } = useTheme();
30444
30866
  const cap = () => props.expanded ? -1 : COLLAPSED_LINE_CAP;
30445
30867
  return (() => {
30446
- var _el$59 = createElement("box"), _el$60 = createElement("text"), _el$61 = createTextNode(`\u23BF `);
30447
- insertNode(_el$59, _el$60);
30448
- setProp(_el$59, "paddingLeft", 2);
30449
- setProp(_el$59, "flexDirection", "column");
30450
- setProp(_el$59, "onMouseUp", () => props.onToggle());
30451
- insertNode(_el$60, _el$61);
30452
- insert(_el$60, () => props.diff.header, null);
30453
- insert(_el$59, createComponent2(For, {
30868
+ var _el$65 = createElement("box"), _el$66 = createElement("text"), _el$67 = createTextNode(`\u23BF `);
30869
+ insertNode(_el$65, _el$66);
30870
+ setProp(_el$65, "paddingLeft", 2);
30871
+ setProp(_el$65, "flexDirection", "column");
30872
+ setProp(_el$65, "onMouseUp", () => props.onToggle());
30873
+ insertNode(_el$66, _el$67);
30874
+ insert(_el$66, () => props.diff.header, null);
30875
+ insert(_el$65, createComponent2(For, {
30454
30876
  get each() {
30455
30877
  return props.diff.edits;
30456
30878
  },
@@ -30459,91 +30881,91 @@ function MultiEditDiffBlock(props) {
30459
30881
  const adds = capLines(edit.adds, cap());
30460
30882
  const isFirst = i2() === 0;
30461
30883
  return (() => {
30462
- var _el$62 = createElement("box");
30463
- setProp(_el$62, "flexDirection", "column");
30464
- insert(_el$62, createComponent2(Show, {
30884
+ var _el$68 = createElement("box");
30885
+ setProp(_el$68, "flexDirection", "column");
30886
+ insert(_el$68, createComponent2(Show, {
30465
30887
  when: !isFirst,
30466
30888
  get children() {
30467
- var _el$63 = createElement("text");
30468
- insertNode(_el$63, createTextNode(` \u2500`));
30469
- effect((_$p) => setProp(_el$63, "fg", theme.textMuted, _$p));
30470
- return _el$63;
30889
+ var _el$69 = createElement("text");
30890
+ insertNode(_el$69, createTextNode(` \u2500`));
30891
+ effect((_$p) => setProp(_el$69, "fg", theme.textMuted, _$p));
30892
+ return _el$69;
30471
30893
  }
30472
30894
  }), null);
30473
- insert(_el$62, createComponent2(For, {
30895
+ insert(_el$68, createComponent2(For, {
30474
30896
  get each() {
30475
30897
  return removes.visible;
30476
30898
  },
30477
30899
  children: (line) => (() => {
30478
- var _el$67 = createElement("box"), _el$68 = createElement("text");
30479
- insertNode(_el$67, _el$68);
30480
- setProp(_el$67, "paddingLeft", 1);
30481
- setProp(_el$67, "paddingRight", 1);
30482
- setProp(_el$68, "wrapMode", "none");
30483
- insert(_el$68, `- ${line}` || " ");
30900
+ var _el$73 = createElement("box"), _el$74 = createElement("text");
30901
+ insertNode(_el$73, _el$74);
30902
+ setProp(_el$73, "paddingLeft", 1);
30903
+ setProp(_el$73, "paddingRight", 1);
30904
+ setProp(_el$74, "wrapMode", "none");
30905
+ insert(_el$74, `- ${line}` || " ");
30484
30906
  effect((_p$) => {
30485
- var { diffRemovedBg: _v$24, diffRemoved: _v$25 } = theme;
30486
- _v$24 !== _p$.e && (_p$.e = setProp(_el$67, "backgroundColor", _v$24, _p$.e));
30487
- _v$25 !== _p$.t && (_p$.t = setProp(_el$68, "fg", _v$25, _p$.t));
30907
+ var { diffRemovedBg: _v$28, diffRemoved: _v$29 } = theme;
30908
+ _v$28 !== _p$.e && (_p$.e = setProp(_el$73, "backgroundColor", _v$28, _p$.e));
30909
+ _v$29 !== _p$.t && (_p$.t = setProp(_el$74, "fg", _v$29, _p$.t));
30488
30910
  return _p$;
30489
30911
  }, {
30490
30912
  e: undefined,
30491
30913
  t: undefined
30492
30914
  });
30493
- return _el$67;
30915
+ return _el$73;
30494
30916
  })()
30495
30917
  }), null);
30496
- insert(_el$62, createComponent2(Show, {
30918
+ insert(_el$68, createComponent2(Show, {
30497
30919
  get when() {
30498
30920
  return removes.hidden > 0;
30499
30921
  },
30500
30922
  get children() {
30501
- var _el$65 = createElement("text");
30502
- insert(_el$65, () => ` \u2026 ${removes.hidden} more removed ${removes.hidden === 1 ? "line" : "lines"}`);
30503
- effect((_$p) => setProp(_el$65, "fg", theme.textMuted, _$p));
30504
- return _el$65;
30923
+ var _el$71 = createElement("text");
30924
+ insert(_el$71, () => ` \u2026 ${removes.hidden} more removed ${removes.hidden === 1 ? "line" : "lines"}`);
30925
+ effect((_$p) => setProp(_el$71, "fg", theme.textMuted, _$p));
30926
+ return _el$71;
30505
30927
  }
30506
30928
  }), null);
30507
- insert(_el$62, createComponent2(For, {
30929
+ insert(_el$68, createComponent2(For, {
30508
30930
  get each() {
30509
30931
  return adds.visible;
30510
30932
  },
30511
30933
  children: (line) => (() => {
30512
- var _el$69 = createElement("box"), _el$70 = createElement("text");
30513
- insertNode(_el$69, _el$70);
30514
- setProp(_el$69, "paddingLeft", 1);
30515
- setProp(_el$69, "paddingRight", 1);
30516
- setProp(_el$70, "wrapMode", "none");
30517
- insert(_el$70, `+ ${line}` || " ");
30934
+ var _el$75 = createElement("box"), _el$76 = createElement("text");
30935
+ insertNode(_el$75, _el$76);
30936
+ setProp(_el$75, "paddingLeft", 1);
30937
+ setProp(_el$75, "paddingRight", 1);
30938
+ setProp(_el$76, "wrapMode", "none");
30939
+ insert(_el$76, `+ ${line}` || " ");
30518
30940
  effect((_p$) => {
30519
- var { diffAddedBg: _v$26, diffAdded: _v$27 } = theme;
30520
- _v$26 !== _p$.e && (_p$.e = setProp(_el$69, "backgroundColor", _v$26, _p$.e));
30521
- _v$27 !== _p$.t && (_p$.t = setProp(_el$70, "fg", _v$27, _p$.t));
30941
+ var { diffAddedBg: _v$30, diffAdded: _v$31 } = theme;
30942
+ _v$30 !== _p$.e && (_p$.e = setProp(_el$75, "backgroundColor", _v$30, _p$.e));
30943
+ _v$31 !== _p$.t && (_p$.t = setProp(_el$76, "fg", _v$31, _p$.t));
30522
30944
  return _p$;
30523
30945
  }, {
30524
30946
  e: undefined,
30525
30947
  t: undefined
30526
30948
  });
30527
- return _el$69;
30949
+ return _el$75;
30528
30950
  })()
30529
30951
  }), null);
30530
- insert(_el$62, createComponent2(Show, {
30952
+ insert(_el$68, createComponent2(Show, {
30531
30953
  get when() {
30532
30954
  return adds.hidden > 0;
30533
30955
  },
30534
30956
  get children() {
30535
- var _el$66 = createElement("text");
30536
- insert(_el$66, () => ` \u2026 ${adds.hidden} more added ${adds.hidden === 1 ? "line" : "lines"}`);
30537
- effect((_$p) => setProp(_el$66, "fg", theme.textMuted, _$p));
30538
- return _el$66;
30957
+ var _el$72 = createElement("text");
30958
+ insert(_el$72, () => ` \u2026 ${adds.hidden} more added ${adds.hidden === 1 ? "line" : "lines"}`);
30959
+ effect((_$p) => setProp(_el$72, "fg", theme.textMuted, _$p));
30960
+ return _el$72;
30539
30961
  }
30540
30962
  }), null);
30541
- return _el$62;
30963
+ return _el$68;
30542
30964
  })();
30543
30965
  }
30544
30966
  }), null);
30545
- effect((_$p) => setProp(_el$60, "fg", theme.textMuted, _$p));
30546
- return _el$59;
30967
+ effect((_$p) => setProp(_el$66, "fg", theme.textMuted, _$p));
30968
+ return _el$65;
30547
30969
  })();
30548
30970
  }
30549
30971
  function BashBanner(props) {
@@ -30552,43 +30974,43 @@ function BashBanner(props) {
30552
30974
  } = useTheme();
30553
30975
  const view = () => readBashInput(props.row.input);
30554
30976
  return (() => {
30555
- var _el$71 = createElement("box"), _el$72 = createElement("box"), _el$73 = createElement("text"), _el$75 = createElement("box"), _el$76 = createElement("text");
30556
- insertNode(_el$71, _el$72);
30557
- setProp(_el$71, "flexDirection", "column");
30558
- insertNode(_el$72, _el$73);
30559
- insertNode(_el$72, _el$75);
30560
- setProp(_el$72, "flexDirection", "row");
30561
- setProp(_el$72, "gap", 1);
30562
- insertNode(_el$73, createTextNode(`$`));
30563
- setProp(_el$73, "wrapMode", "none");
30564
- insertNode(_el$75, _el$76);
30565
- setProp(_el$75, "flexGrow", 1);
30566
- setProp(_el$76, "wrapMode", "none");
30567
- insert(_el$76, () => view().command || "(no command)");
30568
- insert(_el$71, createComponent2(Show, {
30977
+ var _el$77 = createElement("box"), _el$78 = createElement("box"), _el$79 = createElement("text"), _el$81 = createElement("box"), _el$82 = createElement("text");
30978
+ insertNode(_el$77, _el$78);
30979
+ setProp(_el$77, "flexDirection", "column");
30980
+ insertNode(_el$78, _el$79);
30981
+ insertNode(_el$78, _el$81);
30982
+ setProp(_el$78, "flexDirection", "row");
30983
+ setProp(_el$78, "gap", 1);
30984
+ insertNode(_el$79, createTextNode(`$`));
30985
+ setProp(_el$79, "wrapMode", "none");
30986
+ insertNode(_el$81, _el$82);
30987
+ setProp(_el$81, "flexGrow", 1);
30988
+ setProp(_el$82, "wrapMode", "none");
30989
+ insert(_el$82, () => view().command || "(no command)");
30990
+ insert(_el$77, createComponent2(Show, {
30569
30991
  get when() {
30570
30992
  return view().description;
30571
30993
  },
30572
30994
  get children() {
30573
- var _el$77 = createElement("text");
30574
- setProp(_el$77, "wrapMode", "none");
30575
- insert(_el$77, () => ` # ${view().description}`);
30576
- effect((_$p) => setProp(_el$77, "fg", theme.textMuted, _$p));
30577
- return _el$77;
30995
+ var _el$83 = createElement("text");
30996
+ setProp(_el$83, "wrapMode", "none");
30997
+ insert(_el$83, () => ` # ${view().description}`);
30998
+ effect((_$p) => setProp(_el$83, "fg", theme.textMuted, _$p));
30999
+ return _el$83;
30578
31000
  }
30579
31001
  }), null);
30580
31002
  effect((_p$) => {
30581
- var _v$28 = theme.accent, _v$29 = TextAttributes23.BOLD, _v$30 = theme.text;
30582
- _v$28 !== _p$.e && (_p$.e = setProp(_el$73, "fg", _v$28, _p$.e));
30583
- _v$29 !== _p$.t && (_p$.t = setProp(_el$73, "attributes", _v$29, _p$.t));
30584
- _v$30 !== _p$.a && (_p$.a = setProp(_el$76, "fg", _v$30, _p$.a));
31003
+ var _v$32 = theme.accent, _v$33 = TextAttributes23.BOLD, _v$34 = theme.text;
31004
+ _v$32 !== _p$.e && (_p$.e = setProp(_el$79, "fg", _v$32, _p$.e));
31005
+ _v$33 !== _p$.t && (_p$.t = setProp(_el$79, "attributes", _v$33, _p$.t));
31006
+ _v$34 !== _p$.a && (_p$.a = setProp(_el$82, "fg", _v$34, _p$.a));
30585
31007
  return _p$;
30586
31008
  }, {
30587
31009
  e: undefined,
30588
31010
  t: undefined,
30589
31011
  a: undefined
30590
31012
  });
30591
- return _el$71;
31013
+ return _el$77;
30592
31014
  })();
30593
31015
  }
30594
31016
  function BashOutputBlock(props) {
@@ -30601,34 +31023,34 @@ function BashOutputBlock(props) {
30601
31023
  return view().totalLines > 0;
30602
31024
  },
30603
31025
  get children() {
30604
- var _el$78 = createElement("box");
30605
- setProp(_el$78, "paddingLeft", 2);
30606
- setProp(_el$78, "flexDirection", "column");
30607
- setProp(_el$78, "onMouseUp", () => props.onToggle());
30608
- insert(_el$78, createComponent2(For, {
31026
+ var _el$84 = createElement("box");
31027
+ setProp(_el$84, "paddingLeft", 2);
31028
+ setProp(_el$84, "flexDirection", "column");
31029
+ setProp(_el$84, "onMouseUp", () => props.onToggle());
31030
+ insert(_el$84, createComponent2(For, {
30609
31031
  get each() {
30610
31032
  return view().visible;
30611
31033
  },
30612
31034
  children: (line) => (() => {
30613
- var _el$80 = createElement("text");
30614
- setProp(_el$80, "wrapMode", "none");
30615
- insert(_el$80, line || " ");
30616
- effect((_$p) => setProp(_el$80, "fg", theme.textMuted, _$p));
30617
- return _el$80;
31035
+ var _el$86 = createElement("text");
31036
+ setProp(_el$86, "wrapMode", "none");
31037
+ insert(_el$86, line || " ");
31038
+ effect((_$p) => setProp(_el$86, "fg", theme.textMuted, _$p));
31039
+ return _el$86;
30618
31040
  })()
30619
31041
  }), null);
30620
- insert(_el$78, createComponent2(Show, {
31042
+ insert(_el$84, createComponent2(Show, {
30621
31043
  get when() {
30622
31044
  return view().hidden > 0;
30623
31045
  },
30624
31046
  get children() {
30625
- var _el$79 = createElement("text");
30626
- insert(_el$79, () => ` \u2026 ${view().hidden} more ${view().hidden === 1 ? "line" : "lines"}`);
30627
- effect((_$p) => setProp(_el$79, "fg", theme.textMuted, _$p));
30628
- return _el$79;
31047
+ var _el$85 = createElement("text");
31048
+ insert(_el$85, () => ` \u2026 ${view().hidden} more ${view().hidden === 1 ? "line" : "lines"}`);
31049
+ effect((_$p) => setProp(_el$85, "fg", theme.textMuted, _$p));
31050
+ return _el$85;
30629
31051
  }
30630
31052
  }), null);
30631
- return _el$78;
31053
+ return _el$84;
30632
31054
  }
30633
31055
  });
30634
31056
  }
@@ -30647,35 +31069,35 @@ function ReadGrepGlobBanner(props) {
30647
31069
  return "";
30648
31070
  };
30649
31071
  return (() => {
30650
- var _el$81 = createElement("text"), _el$82 = createElement("span");
30651
- insertNode(_el$81, _el$82);
30652
- setProp(_el$81, "wrapMode", "none");
30653
- insert(_el$82, () => r2().name);
30654
- insert(_el$81, createComponent2(Show, {
31072
+ var _el$87 = createElement("text"), _el$88 = createElement("span");
31073
+ insertNode(_el$87, _el$88);
31074
+ setProp(_el$87, "wrapMode", "none");
31075
+ insert(_el$88, () => r2().name);
31076
+ insert(_el$87, createComponent2(Show, {
30655
31077
  get when() {
30656
31078
  return summary().length > 0;
30657
31079
  },
30658
31080
  get children() {
30659
- var _el$83 = createElement("span");
30660
- insert(_el$83, () => ` ${summary()}`);
30661
- effect((_$p) => setProp(_el$83, "style", {
31081
+ var _el$89 = createElement("span");
31082
+ insert(_el$89, () => ` ${summary()}`);
31083
+ effect((_$p) => setProp(_el$89, "style", {
30662
31084
  fg: theme.textMuted
30663
31085
  }, _$p));
30664
- return _el$83;
31086
+ return _el$89;
30665
31087
  }
30666
31088
  }), null);
30667
31089
  effect((_p$) => {
30668
- var _v$31 = theme.text, _v$32 = {
31090
+ var _v$35 = theme.text, _v$36 = {
30669
31091
  attributes: TextAttributes23.BOLD
30670
31092
  };
30671
- _v$31 !== _p$.e && (_p$.e = setProp(_el$81, "fg", _v$31, _p$.e));
30672
- _v$32 !== _p$.t && (_p$.t = setProp(_el$82, "style", _v$32, _p$.t));
31093
+ _v$35 !== _p$.e && (_p$.e = setProp(_el$87, "fg", _v$35, _p$.e));
31094
+ _v$36 !== _p$.t && (_p$.t = setProp(_el$88, "style", _v$36, _p$.t));
30673
31095
  return _p$;
30674
31096
  }, {
30675
31097
  e: undefined,
30676
31098
  t: undefined
30677
31099
  });
30678
- return _el$81;
31100
+ return _el$87;
30679
31101
  })();
30680
31102
  }
30681
31103
  function BashRow(props) {
@@ -30705,99 +31127,99 @@ function BashRow(props) {
30705
31127
  return theme.error;
30706
31128
  };
30707
31129
  return (() => {
30708
- var _el$84 = createElement("box"), _el$85 = createElement("box"), _el$86 = createElement("text"), _el$88 = createElement("box"), _el$89 = createElement("text");
30709
- insertNode(_el$84, _el$85);
30710
- setProp(_el$84, "paddingTop", 1);
30711
- setProp(_el$84, "flexDirection", "column");
30712
- insertNode(_el$85, _el$86);
30713
- insertNode(_el$85, _el$88);
30714
- setProp(_el$85, "flexDirection", "row");
30715
- setProp(_el$85, "gap", 1);
30716
- insertNode(_el$86, createTextNode(`!`));
30717
- setProp(_el$86, "wrapMode", "none");
30718
- insertNode(_el$88, _el$89);
30719
- setProp(_el$88, "flexGrow", 1);
30720
- setProp(_el$89, "wrapMode", "none");
30721
- insert(_el$89, () => r2().command || "(empty command)");
30722
- insert(_el$84, createComponent2(Show, {
31130
+ var _el$90 = createElement("box"), _el$91 = createElement("box"), _el$92 = createElement("text"), _el$94 = createElement("box"), _el$95 = createElement("text");
31131
+ insertNode(_el$90, _el$91);
31132
+ setProp(_el$90, "paddingTop", 1);
31133
+ setProp(_el$90, "flexDirection", "column");
31134
+ insertNode(_el$91, _el$92);
31135
+ insertNode(_el$91, _el$94);
31136
+ setProp(_el$91, "flexDirection", "row");
31137
+ setProp(_el$91, "gap", 1);
31138
+ insertNode(_el$92, createTextNode(`!`));
31139
+ setProp(_el$92, "wrapMode", "none");
31140
+ insertNode(_el$94, _el$95);
31141
+ setProp(_el$94, "flexGrow", 1);
31142
+ setProp(_el$95, "wrapMode", "none");
31143
+ insert(_el$95, () => r2().command || "(empty command)");
31144
+ insert(_el$90, createComponent2(Show, {
30723
31145
  get when() {
30724
31146
  return stdoutView().totalLines > 0;
30725
31147
  },
30726
31148
  get children() {
30727
- var _el$90 = createElement("box");
30728
- setProp(_el$90, "paddingLeft", 2);
30729
- setProp(_el$90, "flexDirection", "column");
30730
- insert(_el$90, createComponent2(For, {
31149
+ var _el$96 = createElement("box");
31150
+ setProp(_el$96, "paddingLeft", 2);
31151
+ setProp(_el$96, "flexDirection", "column");
31152
+ insert(_el$96, createComponent2(For, {
30731
31153
  get each() {
30732
31154
  return stdoutView().visible;
30733
31155
  },
30734
31156
  children: (line) => (() => {
30735
- var _el$94 = createElement("text");
30736
- setProp(_el$94, "wrapMode", "none");
30737
- insert(_el$94, line || " ");
30738
- effect((_$p) => setProp(_el$94, "fg", theme.textMuted, _$p));
30739
- return _el$94;
31157
+ var _el$100 = createElement("text");
31158
+ setProp(_el$100, "wrapMode", "none");
31159
+ insert(_el$100, line || " ");
31160
+ effect((_$p) => setProp(_el$100, "fg", theme.textMuted, _$p));
31161
+ return _el$100;
30740
31162
  })()
30741
31163
  }));
30742
- return _el$90;
31164
+ return _el$96;
30743
31165
  }
30744
31166
  }), null);
30745
- insert(_el$84, createComponent2(Show, {
31167
+ insert(_el$90, createComponent2(Show, {
30746
31168
  get when() {
30747
31169
  return stderrView().totalLines > 0;
30748
31170
  },
30749
31171
  get children() {
30750
- var _el$91 = createElement("box");
30751
- setProp(_el$91, "paddingLeft", 2);
30752
- setProp(_el$91, "flexDirection", "column");
30753
- insert(_el$91, createComponent2(For, {
31172
+ var _el$97 = createElement("box");
31173
+ setProp(_el$97, "paddingLeft", 2);
31174
+ setProp(_el$97, "flexDirection", "column");
31175
+ insert(_el$97, createComponent2(For, {
30754
31176
  get each() {
30755
31177
  return stderrView().visible;
30756
31178
  },
30757
31179
  children: (line) => (() => {
30758
- var _el$95 = createElement("text");
30759
- setProp(_el$95, "wrapMode", "none");
30760
- insert(_el$95, line || " ");
30761
- effect((_$p) => setProp(_el$95, "fg", theme.error, _$p));
30762
- return _el$95;
31180
+ var _el$101 = createElement("text");
31181
+ setProp(_el$101, "wrapMode", "none");
31182
+ insert(_el$101, line || " ");
31183
+ effect((_$p) => setProp(_el$101, "fg", theme.error, _$p));
31184
+ return _el$101;
30763
31185
  })()
30764
31186
  }));
30765
- return _el$91;
31187
+ return _el$97;
30766
31188
  }
30767
31189
  }), null);
30768
- insert(_el$84, createComponent2(Show, {
31190
+ insert(_el$90, createComponent2(Show, {
30769
31191
  get when() {
30770
31192
  return statusText() != null;
30771
31193
  },
30772
31194
  get children() {
30773
- var _el$92 = createElement("box"), _el$93 = createElement("text");
30774
- insertNode(_el$92, _el$93);
30775
- setProp(_el$92, "paddingLeft", 2);
30776
- insert(_el$93, statusText);
31195
+ var _el$98 = createElement("box"), _el$99 = createElement("text");
31196
+ insertNode(_el$98, _el$99);
31197
+ setProp(_el$98, "paddingLeft", 2);
31198
+ insert(_el$99, statusText);
30777
31199
  effect((_p$) => {
30778
- var _v$33 = statusColor(), _v$34 = TextAttributes23.DIM;
30779
- _v$33 !== _p$.e && (_p$.e = setProp(_el$93, "fg", _v$33, _p$.e));
30780
- _v$34 !== _p$.t && (_p$.t = setProp(_el$93, "attributes", _v$34, _p$.t));
31200
+ var _v$37 = statusColor(), _v$38 = TextAttributes23.DIM;
31201
+ _v$37 !== _p$.e && (_p$.e = setProp(_el$99, "fg", _v$37, _p$.e));
31202
+ _v$38 !== _p$.t && (_p$.t = setProp(_el$99, "attributes", _v$38, _p$.t));
30781
31203
  return _p$;
30782
31204
  }, {
30783
31205
  e: undefined,
30784
31206
  t: undefined
30785
31207
  });
30786
- return _el$92;
31208
+ return _el$98;
30787
31209
  }
30788
31210
  }), null);
30789
31211
  effect((_p$) => {
30790
- var _v$35 = theme.warning, _v$36 = TextAttributes23.BOLD, _v$37 = theme.text;
30791
- _v$35 !== _p$.e && (_p$.e = setProp(_el$86, "fg", _v$35, _p$.e));
30792
- _v$36 !== _p$.t && (_p$.t = setProp(_el$86, "attributes", _v$36, _p$.t));
30793
- _v$37 !== _p$.a && (_p$.a = setProp(_el$89, "fg", _v$37, _p$.a));
31212
+ var _v$39 = theme.warning, _v$40 = TextAttributes23.BOLD, _v$41 = theme.text;
31213
+ _v$39 !== _p$.e && (_p$.e = setProp(_el$92, "fg", _v$39, _p$.e));
31214
+ _v$40 !== _p$.t && (_p$.t = setProp(_el$92, "attributes", _v$40, _p$.t));
31215
+ _v$41 !== _p$.a && (_p$.a = setProp(_el$95, "fg", _v$41, _p$.a));
30794
31216
  return _p$;
30795
31217
  }, {
30796
31218
  e: undefined,
30797
31219
  t: undefined,
30798
31220
  a: undefined
30799
31221
  });
30800
- return _el$84;
31222
+ return _el$90;
30801
31223
  })();
30802
31224
  }
30803
31225
  function SystemRow(props) {
@@ -30806,28 +31228,28 @@ function SystemRow(props) {
30806
31228
  } = useTheme();
30807
31229
  const isError = () => props.text.startsWith("error:") || props.text.startsWith("runTask failed");
30808
31230
  return (() => {
30809
- var _el$96 = createElement("box"), _el$97 = createElement("text"), _el$99 = createElement("box"), _el$100 = createElement("text");
30810
- insertNode(_el$96, _el$97);
30811
- insertNode(_el$96, _el$99);
30812
- setProp(_el$96, "paddingTop", 1);
30813
- setProp(_el$96, "flexDirection", "row");
30814
- setProp(_el$96, "gap", 1);
30815
- insertNode(_el$97, createTextNode(`\u203B`));
30816
- insertNode(_el$99, _el$100);
30817
- setProp(_el$99, "flexGrow", 1);
30818
- insert(_el$100, () => props.text);
31231
+ var _el$102 = createElement("box"), _el$103 = createElement("text"), _el$105 = createElement("box"), _el$106 = createElement("text");
31232
+ insertNode(_el$102, _el$103);
31233
+ insertNode(_el$102, _el$105);
31234
+ setProp(_el$102, "paddingTop", 1);
31235
+ setProp(_el$102, "flexDirection", "row");
31236
+ setProp(_el$102, "gap", 1);
31237
+ insertNode(_el$103, createTextNode(`\u203B`));
31238
+ insertNode(_el$105, _el$106);
31239
+ setProp(_el$105, "flexGrow", 1);
31240
+ insert(_el$106, () => props.text);
30819
31241
  effect((_p$) => {
30820
- var _v$38 = theme.textMuted, _v$39 = TextAttributes23.DIM, _v$40 = isError() ? theme.error : theme.textMuted;
30821
- _v$38 !== _p$.e && (_p$.e = setProp(_el$97, "fg", _v$38, _p$.e));
30822
- _v$39 !== _p$.t && (_p$.t = setProp(_el$97, "attributes", _v$39, _p$.t));
30823
- _v$40 !== _p$.a && (_p$.a = setProp(_el$100, "fg", _v$40, _p$.a));
31242
+ var _v$42 = theme.textMuted, _v$43 = TextAttributes23.DIM, _v$44 = isError() ? theme.error : theme.textMuted;
31243
+ _v$42 !== _p$.e && (_p$.e = setProp(_el$103, "fg", _v$42, _p$.e));
31244
+ _v$43 !== _p$.t && (_p$.t = setProp(_el$103, "attributes", _v$43, _p$.t));
31245
+ _v$44 !== _p$.a && (_p$.a = setProp(_el$106, "fg", _v$44, _p$.a));
30824
31246
  return _p$;
30825
31247
  }, {
30826
31248
  e: undefined,
30827
31249
  t: undefined,
30828
31250
  a: undefined
30829
31251
  });
30830
- return _el$96;
31252
+ return _el$102;
30831
31253
  })();
30832
31254
  }
30833
31255
  function ApprovalRow(props) {
@@ -30858,104 +31280,104 @@ function ApprovalRow(props) {
30858
31280
  return "\u25C6";
30859
31281
  };
30860
31282
  return (() => {
30861
- var _el$101 = createElement("box"), _el$102 = createElement("box"), _el$103 = createElement("text"), _el$104 = createElement("text"), _el$109 = createElement("box"), _el$110 = createElement("box");
30862
- insertNode(_el$101, _el$102);
30863
- insertNode(_el$101, _el$109);
30864
- insertNode(_el$101, _el$110);
30865
- setProp(_el$101, "paddingTop", 1);
30866
- setProp(_el$101, "flexDirection", "column");
30867
- setProp(_el$101, "gap", 0);
30868
- insertNode(_el$102, _el$103);
30869
- insertNode(_el$102, _el$104);
30870
- setProp(_el$102, "flexDirection", "row");
30871
- setProp(_el$102, "gap", 1);
30872
- insert(_el$103, headerGlyph);
30873
- insert(_el$104, headerText);
30874
- insert(_el$101, createComponent2(Show, {
31283
+ var _el$107 = createElement("box"), _el$108 = createElement("box"), _el$109 = createElement("text"), _el$110 = createElement("text"), _el$115 = createElement("box"), _el$116 = createElement("box");
31284
+ insertNode(_el$107, _el$108);
31285
+ insertNode(_el$107, _el$115);
31286
+ insertNode(_el$107, _el$116);
31287
+ setProp(_el$107, "paddingTop", 1);
31288
+ setProp(_el$107, "flexDirection", "column");
31289
+ setProp(_el$107, "gap", 0);
31290
+ insertNode(_el$108, _el$109);
31291
+ insertNode(_el$108, _el$110);
31292
+ setProp(_el$108, "flexDirection", "row");
31293
+ setProp(_el$108, "gap", 1);
31294
+ insert(_el$109, headerGlyph);
31295
+ insert(_el$110, headerText);
31296
+ insert(_el$107, createComponent2(Show, {
30875
31297
  get when() {
30876
31298
  return r2().filePath;
30877
31299
  },
30878
31300
  get children() {
30879
- var _el$105 = createElement("box"), _el$106 = createElement("text"), _el$107 = createTextNode(`\u23BF Plan file: `);
30880
- insertNode(_el$105, _el$106);
30881
- setProp(_el$105, "paddingLeft", 2);
30882
- insertNode(_el$106, _el$107);
30883
- insert(_el$106, () => r2().filePath, null);
30884
- effect((_$p) => setProp(_el$106, "fg", theme.textMuted, _$p));
30885
- return _el$105;
30886
- }
30887
- }), _el$109);
30888
- setProp(_el$109, "paddingLeft", 2);
30889
- setProp(_el$109, "paddingTop", 1);
30890
- insert(_el$109, createComponent2(Markdown, {
31301
+ var _el$111 = createElement("box"), _el$112 = createElement("text"), _el$113 = createTextNode(`\u23BF Plan file: `);
31302
+ insertNode(_el$111, _el$112);
31303
+ setProp(_el$111, "paddingLeft", 2);
31304
+ insertNode(_el$112, _el$113);
31305
+ insert(_el$112, () => r2().filePath, null);
31306
+ effect((_$p) => setProp(_el$112, "fg", theme.textMuted, _$p));
31307
+ return _el$111;
31308
+ }
31309
+ }), _el$115);
31310
+ setProp(_el$115, "paddingLeft", 2);
31311
+ setProp(_el$115, "paddingTop", 1);
31312
+ insert(_el$115, createComponent2(Markdown, {
30891
31313
  get source() {
30892
31314
  return r2().plan || "(empty plan)";
30893
31315
  }
30894
31316
  }));
30895
- setProp(_el$110, "paddingLeft", 2);
30896
- setProp(_el$110, "paddingTop", 1);
30897
- setProp(_el$110, "flexDirection", "row");
30898
- setProp(_el$110, "gap", 2);
30899
- insert(_el$110, createComponent2(Show, {
31317
+ setProp(_el$116, "paddingLeft", 2);
31318
+ setProp(_el$116, "paddingTop", 1);
31319
+ setProp(_el$116, "flexDirection", "row");
31320
+ setProp(_el$116, "gap", 2);
31321
+ insert(_el$116, createComponent2(Show, {
30900
31322
  get when() {
30901
31323
  return isPending();
30902
31324
  },
30903
31325
  get fallback() {
30904
31326
  return (() => {
30905
- var _el$115 = createElement("text"), _el$116 = createTextNode(`[`), _el$117 = createTextNode(`]`);
30906
- insertNode(_el$115, _el$116);
30907
- insertNode(_el$115, _el$117);
30908
- insert(_el$115, () => r2().status, _el$117);
31327
+ var _el$121 = createElement("text"), _el$122 = createTextNode(`[`), _el$123 = createTextNode(`]`);
31328
+ insertNode(_el$121, _el$122);
31329
+ insertNode(_el$121, _el$123);
31330
+ insert(_el$121, () => r2().status, _el$123);
30909
31331
  effect((_p$) => {
30910
- var _v$49 = r2().status === "approved" ? theme.success : theme.error, _v$50 = TextAttributes23.BOLD;
30911
- _v$49 !== _p$.e && (_p$.e = setProp(_el$115, "fg", _v$49, _p$.e));
30912
- _v$50 !== _p$.t && (_p$.t = setProp(_el$115, "attributes", _v$50, _p$.t));
31332
+ var _v$53 = r2().status === "approved" ? theme.success : theme.error, _v$54 = TextAttributes23.BOLD;
31333
+ _v$53 !== _p$.e && (_p$.e = setProp(_el$121, "fg", _v$53, _p$.e));
31334
+ _v$54 !== _p$.t && (_p$.t = setProp(_el$121, "attributes", _v$54, _p$.t));
30913
31335
  return _p$;
30914
31336
  }, {
30915
31337
  e: undefined,
30916
31338
  t: undefined
30917
31339
  });
30918
- return _el$115;
31340
+ return _el$121;
30919
31341
  })();
30920
31342
  },
30921
31343
  get children() {
30922
31344
  return [(() => {
30923
- var _el$111 = createElement("text");
30924
- insertNode(_el$111, createTextNode(`[ Approve ]`));
30925
- setProp(_el$111, "onMouseUp", () => props.onApprove(true));
31345
+ var _el$117 = createElement("text");
31346
+ insertNode(_el$117, createTextNode(`[ Approve ]`));
31347
+ setProp(_el$117, "onMouseUp", () => props.onApprove(true));
30926
31348
  effect((_p$) => {
30927
- var _v$41 = theme.success, _v$42 = TextAttributes23.BOLD;
30928
- _v$41 !== _p$.e && (_p$.e = setProp(_el$111, "fg", _v$41, _p$.e));
30929
- _v$42 !== _p$.t && (_p$.t = setProp(_el$111, "attributes", _v$42, _p$.t));
31349
+ var _v$45 = theme.success, _v$46 = TextAttributes23.BOLD;
31350
+ _v$45 !== _p$.e && (_p$.e = setProp(_el$117, "fg", _v$45, _p$.e));
31351
+ _v$46 !== _p$.t && (_p$.t = setProp(_el$117, "attributes", _v$46, _p$.t));
30930
31352
  return _p$;
30931
31353
  }, {
30932
31354
  e: undefined,
30933
31355
  t: undefined
30934
31356
  });
30935
- return _el$111;
31357
+ return _el$117;
30936
31358
  })(), (() => {
30937
- var _el$113 = createElement("text");
30938
- insertNode(_el$113, createTextNode(`[ Reject ]`));
30939
- setProp(_el$113, "onMouseUp", () => props.onApprove(false));
31359
+ var _el$119 = createElement("text");
31360
+ insertNode(_el$119, createTextNode(`[ Reject ]`));
31361
+ setProp(_el$119, "onMouseUp", () => props.onApprove(false));
30940
31362
  effect((_p$) => {
30941
- var _v$43 = theme.error, _v$44 = TextAttributes23.BOLD;
30942
- _v$43 !== _p$.e && (_p$.e = setProp(_el$113, "fg", _v$43, _p$.e));
30943
- _v$44 !== _p$.t && (_p$.t = setProp(_el$113, "attributes", _v$44, _p$.t));
31363
+ var _v$47 = theme.error, _v$48 = TextAttributes23.BOLD;
31364
+ _v$47 !== _p$.e && (_p$.e = setProp(_el$119, "fg", _v$47, _p$.e));
31365
+ _v$48 !== _p$.t && (_p$.t = setProp(_el$119, "attributes", _v$48, _p$.t));
30944
31366
  return _p$;
30945
31367
  }, {
30946
31368
  e: undefined,
30947
31369
  t: undefined
30948
31370
  });
30949
- return _el$113;
31371
+ return _el$119;
30950
31372
  })()];
30951
31373
  }
30952
31374
  }));
30953
31375
  effect((_p$) => {
30954
- var _v$45 = headerColor(), _v$46 = TextAttributes23.BOLD, _v$47 = headerColor(), _v$48 = TextAttributes23.BOLD;
30955
- _v$45 !== _p$.e && (_p$.e = setProp(_el$103, "fg", _v$45, _p$.e));
30956
- _v$46 !== _p$.t && (_p$.t = setProp(_el$103, "attributes", _v$46, _p$.t));
30957
- _v$47 !== _p$.a && (_p$.a = setProp(_el$104, "fg", _v$47, _p$.a));
30958
- _v$48 !== _p$.o && (_p$.o = setProp(_el$104, "attributes", _v$48, _p$.o));
31376
+ var _v$49 = headerColor(), _v$50 = TextAttributes23.BOLD, _v$51 = headerColor(), _v$52 = TextAttributes23.BOLD;
31377
+ _v$49 !== _p$.e && (_p$.e = setProp(_el$109, "fg", _v$49, _p$.e));
31378
+ _v$50 !== _p$.t && (_p$.t = setProp(_el$109, "attributes", _v$50, _p$.t));
31379
+ _v$51 !== _p$.a && (_p$.a = setProp(_el$110, "fg", _v$51, _p$.a));
31380
+ _v$52 !== _p$.o && (_p$.o = setProp(_el$110, "attributes", _v$52, _p$.o));
30959
31381
  return _p$;
30960
31382
  }, {
30961
31383
  e: undefined,
@@ -30963,7 +31385,7 @@ function ApprovalRow(props) {
30963
31385
  a: undefined,
30964
31386
  o: undefined
30965
31387
  });
30966
- return _el$101;
31388
+ return _el$107;
30967
31389
  })();
30968
31390
  }
30969
31391
  function QuestionRow(props) {
@@ -31126,18 +31548,18 @@ function QuestionRow(props) {
31126
31548
  })
31127
31549
  }));
31128
31550
  return (() => {
31129
- var _el$118 = createElement("box"), _el$119 = createElement("box"), _el$120 = createElement("text"), _el$122 = createElement("text");
31130
- insertNode(_el$118, _el$119);
31131
- setProp(_el$118, "paddingTop", 1);
31132
- setProp(_el$118, "flexDirection", "column");
31133
- setProp(_el$118, "gap", 0);
31134
- insertNode(_el$119, _el$120);
31135
- insertNode(_el$119, _el$122);
31136
- setProp(_el$119, "flexDirection", "row");
31137
- setProp(_el$119, "gap", 1);
31138
- insertNode(_el$120, createTextNode(`\u25C6`));
31139
- insert(_el$122, () => isAnswered() ? "Answered" : "Awaiting your answer");
31140
- insert(_el$118, createComponent2(For, {
31551
+ var _el$124 = createElement("box"), _el$125 = createElement("box"), _el$126 = createElement("text"), _el$128 = createElement("text");
31552
+ insertNode(_el$124, _el$125);
31553
+ setProp(_el$124, "paddingTop", 1);
31554
+ setProp(_el$124, "flexDirection", "column");
31555
+ setProp(_el$124, "gap", 0);
31556
+ insertNode(_el$125, _el$126);
31557
+ insertNode(_el$125, _el$128);
31558
+ setProp(_el$125, "flexDirection", "row");
31559
+ setProp(_el$125, "gap", 1);
31560
+ insertNode(_el$126, createTextNode(`\u25C6`));
31561
+ insert(_el$128, () => isAnswered() ? "Answered" : "Awaiting your answer");
31562
+ insert(_el$124, createComponent2(For, {
31141
31563
  get each() {
31142
31564
  return r2().questions;
31143
31565
  },
@@ -31154,103 +31576,103 @@ function QuestionRow(props) {
31154
31576
  return !isFuture();
31155
31577
  },
31156
31578
  get children() {
31157
- var _el$126 = createElement("box"), _el$127 = createElement("box"), _el$131 = createElement("text");
31158
- insertNode(_el$126, _el$127);
31159
- setProp(_el$126, "paddingLeft", 2);
31160
- setProp(_el$126, "paddingTop", 1);
31161
- setProp(_el$126, "flexDirection", "column");
31162
- setProp(_el$126, "gap", 0);
31163
- insertNode(_el$127, _el$131);
31164
- setProp(_el$127, "flexDirection", "row");
31165
- setProp(_el$127, "gap", 1);
31166
- insert(_el$127, createComponent2(Show, {
31579
+ var _el$132 = createElement("box"), _el$133 = createElement("box"), _el$137 = createElement("text");
31580
+ insertNode(_el$132, _el$133);
31581
+ setProp(_el$132, "paddingLeft", 2);
31582
+ setProp(_el$132, "paddingTop", 1);
31583
+ setProp(_el$132, "flexDirection", "column");
31584
+ setProp(_el$132, "gap", 0);
31585
+ insertNode(_el$133, _el$137);
31586
+ setProp(_el$133, "flexDirection", "row");
31587
+ setProp(_el$133, "gap", 1);
31588
+ insert(_el$133, createComponent2(Show, {
31167
31589
  get when() {
31168
31590
  return q2.header;
31169
31591
  },
31170
31592
  get children() {
31171
- var _el$128 = createElement("text"), _el$129 = createTextNode(`[`), _el$130 = createTextNode(`]`);
31172
- insertNode(_el$128, _el$129);
31173
- insertNode(_el$128, _el$130);
31174
- insert(_el$128, () => q2.header, _el$130);
31593
+ var _el$134 = createElement("text"), _el$135 = createTextNode(`[`), _el$136 = createTextNode(`]`);
31594
+ insertNode(_el$134, _el$135);
31595
+ insertNode(_el$134, _el$136);
31596
+ insert(_el$134, () => q2.header, _el$136);
31175
31597
  effect((_p$) => {
31176
- var _v$57 = theme.accent, _v$58 = TextAttributes23.BOLD;
31177
- _v$57 !== _p$.e && (_p$.e = setProp(_el$128, "fg", _v$57, _p$.e));
31178
- _v$58 !== _p$.t && (_p$.t = setProp(_el$128, "attributes", _v$58, _p$.t));
31598
+ var _v$61 = theme.accent, _v$62 = TextAttributes23.BOLD;
31599
+ _v$61 !== _p$.e && (_p$.e = setProp(_el$134, "fg", _v$61, _p$.e));
31600
+ _v$62 !== _p$.t && (_p$.t = setProp(_el$134, "attributes", _v$62, _p$.t));
31179
31601
  return _p$;
31180
31602
  }, {
31181
31603
  e: undefined,
31182
31604
  t: undefined
31183
31605
  });
31184
- return _el$128;
31606
+ return _el$134;
31185
31607
  }
31186
- }), _el$131);
31187
- insert(_el$131, () => q2.question);
31188
- insert(_el$127, createComponent2(Show, {
31608
+ }), _el$137);
31609
+ insert(_el$137, () => q2.question);
31610
+ insert(_el$133, createComponent2(Show, {
31189
31611
  get when() {
31190
31612
  return memo2(() => !!q2.multiSelect)() && isCurrent();
31191
31613
  },
31192
31614
  get children() {
31193
- var _el$132 = createElement("text");
31194
- insertNode(_el$132, createTextNode(`(pick any)`));
31195
- effect((_$p) => setProp(_el$132, "fg", theme.textMuted, _$p));
31196
- return _el$132;
31615
+ var _el$138 = createElement("text");
31616
+ insertNode(_el$138, createTextNode(`(pick any)`));
31617
+ effect((_$p) => setProp(_el$138, "fg", theme.textMuted, _$p));
31618
+ return _el$138;
31197
31619
  }
31198
31620
  }), null);
31199
- insert(_el$127, createComponent2(Show, {
31621
+ insert(_el$133, createComponent2(Show, {
31200
31622
  get when() {
31201
31623
  return isPast();
31202
31624
  },
31203
31625
  get children() {
31204
- var _el$134 = createElement("text");
31205
- insertNode(_el$134, createTextNode(`(click to edit)`));
31206
- effect((_$p) => setProp(_el$134, "fg", theme.textMuted, _$p));
31207
- return _el$134;
31626
+ var _el$140 = createElement("text");
31627
+ insertNode(_el$140, createTextNode(`(click to edit)`));
31628
+ effect((_$p) => setProp(_el$140, "fg", theme.textMuted, _$p));
31629
+ return _el$140;
31208
31630
  }
31209
31631
  }), null);
31210
- insert(_el$126, createComponent2(Show, {
31632
+ insert(_el$132, createComponent2(Show, {
31211
31633
  get when() {
31212
31634
  return isAnswered();
31213
31635
  },
31214
31636
  get children() {
31215
- var _el$136 = createElement("box"), _el$137 = createElement("text"), _el$138 = createTextNode(`\u23BF `);
31216
- insertNode(_el$136, _el$137);
31217
- setProp(_el$136, "paddingLeft", 2);
31218
- insertNode(_el$137, _el$138);
31219
- insert(_el$137, (() => {
31637
+ var _el$142 = createElement("box"), _el$143 = createElement("text"), _el$144 = createTextNode(`\u23BF `);
31638
+ insertNode(_el$142, _el$143);
31639
+ setProp(_el$142, "paddingLeft", 2);
31640
+ insertNode(_el$143, _el$144);
31641
+ insert(_el$143, (() => {
31220
31642
  var _c$2 = memo2(() => !!(finalAnswer() && finalAnswer().length > 0));
31221
31643
  return () => _c$2() ? finalAnswer() : "(no answer)";
31222
31644
  })(), null);
31223
- effect((_$p) => setProp(_el$137, "fg", theme.success, _$p));
31224
- return _el$136;
31645
+ effect((_$p) => setProp(_el$143, "fg", theme.success, _$p));
31646
+ return _el$142;
31225
31647
  }
31226
31648
  }), null);
31227
- insert(_el$126, createComponent2(Show, {
31649
+ insert(_el$132, createComponent2(Show, {
31228
31650
  get when() {
31229
31651
  return isPast();
31230
31652
  },
31231
31653
  get children() {
31232
- var _el$139 = createElement("box"), _el$140 = createElement("text"), _el$141 = createTextNode(`\u23BF `);
31233
- insertNode(_el$139, _el$140);
31234
- setProp(_el$139, "paddingLeft", 2);
31235
- insertNode(_el$140, _el$141);
31236
- insert(_el$140, (() => {
31654
+ var _el$145 = createElement("box"), _el$146 = createElement("text"), _el$147 = createTextNode(`\u23BF `);
31655
+ insertNode(_el$145, _el$146);
31656
+ setProp(_el$145, "paddingLeft", 2);
31657
+ insertNode(_el$146, _el$147);
31658
+ insert(_el$146, (() => {
31237
31659
  var _c$3 = memo2(() => renderedAnswerFor(q2).length > 0);
31238
31660
  return () => _c$3() ? renderedAnswerFor(q2) : "(no answer)";
31239
31661
  })(), null);
31240
- effect((_$p) => setProp(_el$140, "fg", theme.textMuted, _$p));
31241
- return _el$139;
31662
+ effect((_$p) => setProp(_el$146, "fg", theme.textMuted, _$p));
31663
+ return _el$145;
31242
31664
  }
31243
31665
  }), null);
31244
- insert(_el$126, createComponent2(Show, {
31666
+ insert(_el$132, createComponent2(Show, {
31245
31667
  get when() {
31246
31668
  return isCurrent();
31247
31669
  },
31248
31670
  get children() {
31249
- var _el$142 = createElement("box"), _el$143 = createElement("box"), _el$144 = createElement("text");
31250
- insertNode(_el$142, _el$143);
31251
- setProp(_el$142, "paddingLeft", 2);
31252
- setProp(_el$142, "flexDirection", "column");
31253
- insert(_el$142, createComponent2(For, {
31671
+ var _el$148 = createElement("box"), _el$149 = createElement("box"), _el$150 = createElement("text");
31672
+ insertNode(_el$148, _el$149);
31673
+ setProp(_el$148, "paddingLeft", 2);
31674
+ setProp(_el$148, "flexDirection", "column");
31675
+ insert(_el$148, createComponent2(For, {
31254
31676
  get each() {
31255
31677
  return q2.options;
31256
31678
  },
@@ -31260,40 +31682,40 @@ function QuestionRow(props) {
31260
31682
  const glyph = () => q2.multiSelect ? isPicked() ? "[x]" : "[ ]" : isPicked() ? "(\u2022)" : "( )";
31261
31683
  const digitChip = () => optIndex() < 9 ? `${optIndex() + 1}.` : " ";
31262
31684
  return (() => {
31263
- var _el$147 = createElement("box"), _el$148 = createElement("text"), _el$149 = createElement("text"), _el$150 = createElement("text"), _el$151 = createElement("box"), _el$152 = createElement("text");
31264
- insertNode(_el$147, _el$148);
31265
- insertNode(_el$147, _el$149);
31266
- insertNode(_el$147, _el$150);
31267
- insertNode(_el$147, _el$151);
31268
- setProp(_el$147, "flexDirection", "row");
31269
- setProp(_el$147, "gap", 1);
31270
- setProp(_el$147, "onMouseUp", () => toggle(q2.question, q2.multiSelect, opt.label));
31271
- insert(_el$148, () => isHl() ? ">" : " ");
31272
- insert(_el$149, digitChip);
31273
- insert(_el$150, glyph);
31274
- insertNode(_el$151, _el$152);
31275
- setProp(_el$151, "flexGrow", 1);
31276
- setProp(_el$151, "flexDirection", "column");
31277
- insert(_el$152, () => opt.label);
31278
- insert(_el$151, createComponent2(Show, {
31685
+ var _el$153 = createElement("box"), _el$154 = createElement("text"), _el$155 = createElement("text"), _el$156 = createElement("text"), _el$157 = createElement("box"), _el$158 = createElement("text");
31686
+ insertNode(_el$153, _el$154);
31687
+ insertNode(_el$153, _el$155);
31688
+ insertNode(_el$153, _el$156);
31689
+ insertNode(_el$153, _el$157);
31690
+ setProp(_el$153, "flexDirection", "row");
31691
+ setProp(_el$153, "gap", 1);
31692
+ setProp(_el$153, "onMouseUp", () => toggle(q2.question, q2.multiSelect, opt.label));
31693
+ insert(_el$154, () => isHl() ? ">" : " ");
31694
+ insert(_el$155, digitChip);
31695
+ insert(_el$156, glyph);
31696
+ insertNode(_el$157, _el$158);
31697
+ setProp(_el$157, "flexGrow", 1);
31698
+ setProp(_el$157, "flexDirection", "column");
31699
+ insert(_el$158, () => opt.label);
31700
+ insert(_el$157, createComponent2(Show, {
31279
31701
  get when() {
31280
31702
  return opt.description;
31281
31703
  },
31282
31704
  get children() {
31283
- var _el$153 = createElement("text");
31284
- insert(_el$153, () => opt.description);
31285
- effect((_$p) => setProp(_el$153, "fg", theme.textMuted, _$p));
31286
- return _el$153;
31705
+ var _el$159 = createElement("text");
31706
+ insert(_el$159, () => opt.description);
31707
+ effect((_$p) => setProp(_el$159, "fg", theme.textMuted, _$p));
31708
+ return _el$159;
31287
31709
  }
31288
31710
  }), null);
31289
31711
  effect((_p$) => {
31290
- var _v$63 = isHl() ? theme.accent : theme.textMuted, _v$64 = TextAttributes23.BOLD, _v$65 = theme.textMuted, _v$66 = isPicked() ? theme.accent : theme.textMuted, _v$67 = TextAttributes23.BOLD, _v$68 = theme.text;
31291
- _v$63 !== _p$.e && (_p$.e = setProp(_el$148, "fg", _v$63, _p$.e));
31292
- _v$64 !== _p$.t && (_p$.t = setProp(_el$148, "attributes", _v$64, _p$.t));
31293
- _v$65 !== _p$.a && (_p$.a = setProp(_el$149, "fg", _v$65, _p$.a));
31294
- _v$66 !== _p$.o && (_p$.o = setProp(_el$150, "fg", _v$66, _p$.o));
31295
- _v$67 !== _p$.i && (_p$.i = setProp(_el$150, "attributes", _v$67, _p$.i));
31296
- _v$68 !== _p$.n && (_p$.n = setProp(_el$152, "fg", _v$68, _p$.n));
31712
+ var _v$67 = isHl() ? theme.accent : theme.textMuted, _v$68 = TextAttributes23.BOLD, _v$69 = theme.textMuted, _v$70 = isPicked() ? theme.accent : theme.textMuted, _v$71 = TextAttributes23.BOLD, _v$72 = theme.text;
31713
+ _v$67 !== _p$.e && (_p$.e = setProp(_el$154, "fg", _v$67, _p$.e));
31714
+ _v$68 !== _p$.t && (_p$.t = setProp(_el$154, "attributes", _v$68, _p$.t));
31715
+ _v$69 !== _p$.a && (_p$.a = setProp(_el$155, "fg", _v$69, _p$.a));
31716
+ _v$70 !== _p$.o && (_p$.o = setProp(_el$156, "fg", _v$70, _p$.o));
31717
+ _v$71 !== _p$.i && (_p$.i = setProp(_el$156, "attributes", _v$71, _p$.i));
31718
+ _v$72 !== _p$.n && (_p$.n = setProp(_el$158, "fg", _v$72, _p$.n));
31297
31719
  return _p$;
31298
31720
  }, {
31299
31721
  e: undefined,
@@ -31303,43 +31725,43 @@ function QuestionRow(props) {
31303
31725
  i: undefined,
31304
31726
  n: undefined
31305
31727
  });
31306
- return _el$147;
31728
+ return _el$153;
31307
31729
  })();
31308
31730
  }
31309
- }), _el$143);
31310
- insert(_el$142, () => {
31731
+ }), _el$149);
31732
+ insert(_el$148, () => {
31311
31733
  const otherPicked = () => picked().has(OTHER_SENTINEL);
31312
31734
  const otherIdx = q2.options.length;
31313
31735
  const isOtherHl = () => highlighted() === otherIdx;
31314
31736
  const otherGlyph = () => q2.multiSelect ? otherPicked() ? "[x]" : "[ ]" : otherPicked() ? "(\u2022)" : "( )";
31315
31737
  const otherDigitChip = () => otherIdx < 9 ? `${otherIdx + 1}.` : " ";
31316
31738
  return [(() => {
31317
- var _el$154 = createElement("box"), _el$155 = createElement("text"), _el$156 = createElement("text"), _el$157 = createElement("text"), _el$158 = createElement("box"), _el$159 = createElement("text"), _el$161 = createElement("text");
31318
- insertNode(_el$154, _el$155);
31319
- insertNode(_el$154, _el$156);
31320
- insertNode(_el$154, _el$157);
31321
- insertNode(_el$154, _el$158);
31322
- setProp(_el$154, "flexDirection", "row");
31323
- setProp(_el$154, "gap", 1);
31324
- setProp(_el$154, "onMouseUp", () => toggle(q2.question, q2.multiSelect, OTHER_SENTINEL));
31325
- insert(_el$155, () => isOtherHl() ? ">" : " ");
31326
- insert(_el$156, otherDigitChip);
31327
- insert(_el$157, otherGlyph);
31328
- insertNode(_el$158, _el$159);
31329
- insertNode(_el$158, _el$161);
31330
- setProp(_el$158, "flexGrow", 1);
31331
- setProp(_el$158, "flexDirection", "column");
31332
- insertNode(_el$159, createTextNode(`Other`));
31333
- insertNode(_el$161, createTextNode(`Type your own answer`));
31739
+ var _el$160 = createElement("box"), _el$161 = createElement("text"), _el$162 = createElement("text"), _el$163 = createElement("text"), _el$164 = createElement("box"), _el$165 = createElement("text"), _el$167 = createElement("text");
31740
+ insertNode(_el$160, _el$161);
31741
+ insertNode(_el$160, _el$162);
31742
+ insertNode(_el$160, _el$163);
31743
+ insertNode(_el$160, _el$164);
31744
+ setProp(_el$160, "flexDirection", "row");
31745
+ setProp(_el$160, "gap", 1);
31746
+ setProp(_el$160, "onMouseUp", () => toggle(q2.question, q2.multiSelect, OTHER_SENTINEL));
31747
+ insert(_el$161, () => isOtherHl() ? ">" : " ");
31748
+ insert(_el$162, otherDigitChip);
31749
+ insert(_el$163, otherGlyph);
31750
+ insertNode(_el$164, _el$165);
31751
+ insertNode(_el$164, _el$167);
31752
+ setProp(_el$164, "flexGrow", 1);
31753
+ setProp(_el$164, "flexDirection", "column");
31754
+ insertNode(_el$165, createTextNode(`Other`));
31755
+ insertNode(_el$167, createTextNode(`Type your own answer`));
31334
31756
  effect((_p$) => {
31335
- var _v$69 = isOtherHl() ? theme.accent : theme.textMuted, _v$70 = TextAttributes23.BOLD, _v$71 = theme.textMuted, _v$72 = otherPicked() ? theme.accent : theme.textMuted, _v$73 = TextAttributes23.BOLD, _v$74 = theme.text, _v$75 = theme.textMuted;
31336
- _v$69 !== _p$.e && (_p$.e = setProp(_el$155, "fg", _v$69, _p$.e));
31337
- _v$70 !== _p$.t && (_p$.t = setProp(_el$155, "attributes", _v$70, _p$.t));
31338
- _v$71 !== _p$.a && (_p$.a = setProp(_el$156, "fg", _v$71, _p$.a));
31339
- _v$72 !== _p$.o && (_p$.o = setProp(_el$157, "fg", _v$72, _p$.o));
31340
- _v$73 !== _p$.i && (_p$.i = setProp(_el$157, "attributes", _v$73, _p$.i));
31341
- _v$74 !== _p$.n && (_p$.n = setProp(_el$159, "fg", _v$74, _p$.n));
31342
- _v$75 !== _p$.s && (_p$.s = setProp(_el$161, "fg", _v$75, _p$.s));
31757
+ var _v$73 = isOtherHl() ? theme.accent : theme.textMuted, _v$74 = TextAttributes23.BOLD, _v$75 = theme.textMuted, _v$76 = otherPicked() ? theme.accent : theme.textMuted, _v$77 = TextAttributes23.BOLD, _v$78 = theme.text, _v$79 = theme.textMuted;
31758
+ _v$73 !== _p$.e && (_p$.e = setProp(_el$161, "fg", _v$73, _p$.e));
31759
+ _v$74 !== _p$.t && (_p$.t = setProp(_el$161, "attributes", _v$74, _p$.t));
31760
+ _v$75 !== _p$.a && (_p$.a = setProp(_el$162, "fg", _v$75, _p$.a));
31761
+ _v$76 !== _p$.o && (_p$.o = setProp(_el$163, "fg", _v$76, _p$.o));
31762
+ _v$77 !== _p$.i && (_p$.i = setProp(_el$163, "attributes", _v$77, _p$.i));
31763
+ _v$78 !== _p$.n && (_p$.n = setProp(_el$165, "fg", _v$78, _p$.n));
31764
+ _v$79 !== _p$.s && (_p$.s = setProp(_el$167, "fg", _v$79, _p$.s));
31343
31765
  return _p$;
31344
31766
  }, {
31345
31767
  e: undefined,
@@ -31350,97 +31772,97 @@ function QuestionRow(props) {
31350
31772
  n: undefined,
31351
31773
  s: undefined
31352
31774
  });
31353
- return _el$154;
31775
+ return _el$160;
31354
31776
  })(), createComponent2(Show, {
31355
31777
  get when() {
31356
31778
  return otherPicked();
31357
31779
  },
31358
31780
  get children() {
31359
- var _el$163 = createElement("box"), _el$164 = createElement("input");
31360
- insertNode(_el$163, _el$164);
31361
- setProp(_el$163, "paddingLeft", 4);
31362
- setProp(_el$163, "paddingTop", 0);
31363
- setProp(_el$164, "placeholder", "type your answer\u2026");
31364
- setProp(_el$164, "focused", true);
31365
- setProp(_el$164, "onInput", (v2) => setCustomText(q2.question, v2));
31366
- setProp(_el$164, "onSubmit", () => advanceOrSubmit());
31367
- effect((_$p) => setProp(_el$164, "value", customTextFor(q2.question), _$p));
31368
- return _el$163;
31781
+ var _el$169 = createElement("box"), _el$170 = createElement("input");
31782
+ insertNode(_el$169, _el$170);
31783
+ setProp(_el$169, "paddingLeft", 4);
31784
+ setProp(_el$169, "paddingTop", 0);
31785
+ setProp(_el$170, "placeholder", "type your answer\u2026");
31786
+ setProp(_el$170, "focused", true);
31787
+ setProp(_el$170, "onInput", (v2) => setCustomText(q2.question, v2));
31788
+ setProp(_el$170, "onSubmit", () => advanceOrSubmit());
31789
+ effect((_$p) => setProp(_el$170, "value", customTextFor(q2.question), _$p));
31790
+ return _el$169;
31369
31791
  }
31370
31792
  })];
31371
- }, _el$143);
31372
- insertNode(_el$143, _el$144);
31373
- setProp(_el$143, "paddingLeft", 0);
31374
- setProp(_el$143, "paddingTop", 1);
31375
- setProp(_el$143, "flexDirection", "row");
31376
- setProp(_el$143, "gap", 2);
31377
- setProp(_el$144, "onMouseUp", () => advanceOrSubmit());
31378
- insert(_el$144, buttonLabel);
31379
- insert(_el$143, createComponent2(Show, {
31793
+ }, _el$149);
31794
+ insertNode(_el$149, _el$150);
31795
+ setProp(_el$149, "paddingLeft", 0);
31796
+ setProp(_el$149, "paddingTop", 1);
31797
+ setProp(_el$149, "flexDirection", "row");
31798
+ setProp(_el$149, "gap", 2);
31799
+ setProp(_el$150, "onMouseUp", () => advanceOrSubmit());
31800
+ insert(_el$150, buttonLabel);
31801
+ insert(_el$149, createComponent2(Show, {
31380
31802
  get when() {
31381
31803
  return !isQuestionComplete(index());
31382
31804
  },
31383
31805
  get children() {
31384
- var _el$145 = createElement("text");
31385
- insertNode(_el$145, createTextNode(`(pick an option to continue)`));
31386
- effect((_$p) => setProp(_el$145, "fg", theme.textMuted, _$p));
31387
- return _el$145;
31806
+ var _el$151 = createElement("text");
31807
+ insertNode(_el$151, createTextNode(`(pick an option to continue)`));
31808
+ effect((_$p) => setProp(_el$151, "fg", theme.textMuted, _$p));
31809
+ return _el$151;
31388
31810
  }
31389
31811
  }), null);
31390
31812
  effect((_p$) => {
31391
- var _v$59 = isQuestionComplete(index()) ? theme.success : theme.textMuted, _v$60 = TextAttributes23.BOLD;
31392
- _v$59 !== _p$.e && (_p$.e = setProp(_el$144, "fg", _v$59, _p$.e));
31393
- _v$60 !== _p$.t && (_p$.t = setProp(_el$144, "attributes", _v$60, _p$.t));
31813
+ var _v$63 = isQuestionComplete(index()) ? theme.success : theme.textMuted, _v$64 = TextAttributes23.BOLD;
31814
+ _v$63 !== _p$.e && (_p$.e = setProp(_el$150, "fg", _v$63, _p$.e));
31815
+ _v$64 !== _p$.t && (_p$.t = setProp(_el$150, "attributes", _v$64, _p$.t));
31394
31816
  return _p$;
31395
31817
  }, {
31396
31818
  e: undefined,
31397
31819
  t: undefined
31398
31820
  });
31399
- return _el$142;
31821
+ return _el$148;
31400
31822
  }
31401
31823
  }), null);
31402
31824
  effect((_p$) => {
31403
- var _v$61 = isPast() ? () => setCurrentIndex(index()) : undefined, _v$62 = isPast() ? theme.textMuted : theme.text;
31404
- _v$61 !== _p$.e && (_p$.e = setProp(_el$126, "onMouseUp", _v$61, _p$.e));
31405
- _v$62 !== _p$.t && (_p$.t = setProp(_el$131, "fg", _v$62, _p$.t));
31825
+ var _v$65 = isPast() ? () => setCurrentIndex(index()) : undefined, _v$66 = isPast() ? theme.textMuted : theme.text;
31826
+ _v$65 !== _p$.e && (_p$.e = setProp(_el$132, "onMouseUp", _v$65, _p$.e));
31827
+ _v$66 !== _p$.t && (_p$.t = setProp(_el$137, "fg", _v$66, _p$.t));
31406
31828
  return _p$;
31407
31829
  }, {
31408
31830
  e: undefined,
31409
31831
  t: undefined
31410
31832
  });
31411
- return _el$126;
31833
+ return _el$132;
31412
31834
  }
31413
31835
  });
31414
31836
  }
31415
31837
  }), null);
31416
- insert(_el$118, createComponent2(Show, {
31838
+ insert(_el$124, createComponent2(Show, {
31417
31839
  get when() {
31418
31840
  return isAnswered();
31419
31841
  },
31420
31842
  get children() {
31421
- var _el$123 = createElement("box"), _el$124 = createElement("text");
31422
- insertNode(_el$123, _el$124);
31423
- setProp(_el$123, "paddingLeft", 2);
31424
- setProp(_el$123, "paddingTop", 1);
31425
- insertNode(_el$124, createTextNode(`[submitted]`));
31843
+ var _el$129 = createElement("box"), _el$130 = createElement("text");
31844
+ insertNode(_el$129, _el$130);
31845
+ setProp(_el$129, "paddingLeft", 2);
31846
+ setProp(_el$129, "paddingTop", 1);
31847
+ insertNode(_el$130, createTextNode(`[submitted]`));
31426
31848
  effect((_p$) => {
31427
- var _v$51 = theme.success, _v$52 = TextAttributes23.BOLD;
31428
- _v$51 !== _p$.e && (_p$.e = setProp(_el$124, "fg", _v$51, _p$.e));
31429
- _v$52 !== _p$.t && (_p$.t = setProp(_el$124, "attributes", _v$52, _p$.t));
31849
+ var _v$55 = theme.success, _v$56 = TextAttributes23.BOLD;
31850
+ _v$55 !== _p$.e && (_p$.e = setProp(_el$130, "fg", _v$55, _p$.e));
31851
+ _v$56 !== _p$.t && (_p$.t = setProp(_el$130, "attributes", _v$56, _p$.t));
31430
31852
  return _p$;
31431
31853
  }, {
31432
31854
  e: undefined,
31433
31855
  t: undefined
31434
31856
  });
31435
- return _el$123;
31857
+ return _el$129;
31436
31858
  }
31437
31859
  }), null);
31438
31860
  effect((_p$) => {
31439
- var _v$53 = theme.warning, _v$54 = TextAttributes23.BOLD, _v$55 = theme.warning, _v$56 = TextAttributes23.BOLD;
31440
- _v$53 !== _p$.e && (_p$.e = setProp(_el$120, "fg", _v$53, _p$.e));
31441
- _v$54 !== _p$.t && (_p$.t = setProp(_el$120, "attributes", _v$54, _p$.t));
31442
- _v$55 !== _p$.a && (_p$.a = setProp(_el$122, "fg", _v$55, _p$.a));
31443
- _v$56 !== _p$.o && (_p$.o = setProp(_el$122, "attributes", _v$56, _p$.o));
31861
+ var _v$57 = theme.warning, _v$58 = TextAttributes23.BOLD, _v$59 = theme.warning, _v$60 = TextAttributes23.BOLD;
31862
+ _v$57 !== _p$.e && (_p$.e = setProp(_el$126, "fg", _v$57, _p$.e));
31863
+ _v$58 !== _p$.t && (_p$.t = setProp(_el$126, "attributes", _v$58, _p$.t));
31864
+ _v$59 !== _p$.a && (_p$.a = setProp(_el$128, "fg", _v$59, _p$.a));
31865
+ _v$60 !== _p$.o && (_p$.o = setProp(_el$128, "attributes", _v$60, _p$.o));
31444
31866
  return _p$;
31445
31867
  }, {
31446
31868
  e: undefined,
@@ -31448,7 +31870,7 @@ function QuestionRow(props) {
31448
31870
  a: undefined,
31449
31871
  o: undefined
31450
31872
  });
31451
- return _el$118;
31873
+ return _el$124;
31452
31874
  })();
31453
31875
  }
31454
31876
  function MessageList(props) {
@@ -31456,23 +31878,23 @@ function MessageList(props) {
31456
31878
  theme
31457
31879
  } = useTheme();
31458
31880
  return (() => {
31459
- var _el$165 = createElement("box");
31460
- setProp(_el$165, "flexDirection", "column");
31461
- setProp(_el$165, "gap", 0);
31462
- insert(_el$165, createComponent2(Show, {
31881
+ var _el$171 = createElement("box");
31882
+ setProp(_el$171, "flexDirection", "column");
31883
+ setProp(_el$171, "gap", 0);
31884
+ insert(_el$171, createComponent2(Show, {
31463
31885
  get when() {
31464
31886
  return memo2(() => props.messages.length === 0)() && props.showEmptyPlaceholder;
31465
31887
  },
31466
31888
  get children() {
31467
- var _el$166 = createElement("box"), _el$167 = createElement("text");
31468
- insertNode(_el$166, _el$167);
31469
- setProp(_el$166, "paddingTop", 2);
31470
- insertNode(_el$167, createTextNode(`Type a prompt below.`));
31471
- effect((_$p) => setProp(_el$167, "fg", theme.textMuted, _$p));
31472
- return _el$166;
31889
+ var _el$172 = createElement("box"), _el$173 = createElement("text");
31890
+ insertNode(_el$172, _el$173);
31891
+ setProp(_el$172, "paddingTop", 2);
31892
+ insertNode(_el$173, createTextNode(`Type a prompt below.`));
31893
+ effect((_$p) => setProp(_el$173, "fg", theme.textMuted, _$p));
31894
+ return _el$172;
31473
31895
  }
31474
31896
  }), null);
31475
- insert(_el$165, createComponent2(For, {
31897
+ insert(_el$171, createComponent2(For, {
31476
31898
  get each() {
31477
31899
  return groupRenderItems(props.messages, props.expandedFoldStartIndex);
31478
31900
  },
@@ -31507,6 +31929,12 @@ function MessageList(props) {
31507
31929
  return row.text;
31508
31930
  }
31509
31931
  });
31932
+ if (row.kind === "reasoning")
31933
+ return createComponent2(ReasoningRow, {
31934
+ get text() {
31935
+ return row.text;
31936
+ }
31937
+ });
31510
31938
  if (row.kind === "system")
31511
31939
  return createComponent2(SystemRow, {
31512
31940
  get text() {
@@ -31545,7 +31973,7 @@ function MessageList(props) {
31545
31973
  });
31546
31974
  }
31547
31975
  }), null);
31548
- return _el$165;
31976
+ return _el$171;
31549
31977
  })();
31550
31978
  }
31551
31979
  function groupRenderItems(messages, expandedFoldStartIndex = null) {
@@ -31665,29 +32093,29 @@ function ToolFoldRow(props) {
31665
32093
  const glyph = () => props.inFlight ? "\u273B" : props.expanded ? "\u25BC" : "\u25B6";
31666
32094
  const fg = () => props.inFlight ? theme.warning : theme.textMuted;
31667
32095
  return (() => {
31668
- var _el$169 = createElement("box"), _el$170 = createElement("text"), _el$171 = createElement("box"), _el$172 = createElement("text");
31669
- insertNode(_el$169, _el$170);
31670
- insertNode(_el$169, _el$171);
31671
- setProp(_el$169, "paddingTop", 1);
31672
- setProp(_el$169, "flexDirection", "row");
31673
- setProp(_el$169, "gap", 1);
31674
- setProp(_el$169, "onMouseUp", () => props.onToggle());
31675
- insert(_el$170, glyph);
31676
- insertNode(_el$171, _el$172);
31677
- setProp(_el$171, "flexGrow", 1);
31678
- insert(_el$172, () => props.summary);
32096
+ var _el$175 = createElement("box"), _el$176 = createElement("text"), _el$177 = createElement("box"), _el$178 = createElement("text");
32097
+ insertNode(_el$175, _el$176);
32098
+ insertNode(_el$175, _el$177);
32099
+ setProp(_el$175, "paddingTop", 1);
32100
+ setProp(_el$175, "flexDirection", "row");
32101
+ setProp(_el$175, "gap", 1);
32102
+ setProp(_el$175, "onMouseUp", () => props.onToggle());
32103
+ insert(_el$176, glyph);
32104
+ insertNode(_el$177, _el$178);
32105
+ setProp(_el$177, "flexGrow", 1);
32106
+ insert(_el$178, () => props.summary);
31679
32107
  effect((_p$) => {
31680
- var _v$76 = fg(), _v$77 = TextAttributes23.DIM, _v$78 = theme.textMuted;
31681
- _v$76 !== _p$.e && (_p$.e = setProp(_el$170, "fg", _v$76, _p$.e));
31682
- _v$77 !== _p$.t && (_p$.t = setProp(_el$170, "attributes", _v$77, _p$.t));
31683
- _v$78 !== _p$.a && (_p$.a = setProp(_el$172, "fg", _v$78, _p$.a));
32108
+ var _v$80 = fg(), _v$81 = TextAttributes23.DIM, _v$82 = theme.textMuted;
32109
+ _v$80 !== _p$.e && (_p$.e = setProp(_el$176, "fg", _v$80, _p$.e));
32110
+ _v$81 !== _p$.t && (_p$.t = setProp(_el$176, "attributes", _v$81, _p$.t));
32111
+ _v$82 !== _p$.a && (_p$.a = setProp(_el$178, "fg", _v$82, _p$.a));
31684
32112
  return _p$;
31685
32113
  }, {
31686
32114
  e: undefined,
31687
32115
  t: undefined,
31688
32116
  a: undefined
31689
32117
  });
31690
- return _el$169;
32118
+ return _el$175;
31691
32119
  })();
31692
32120
  }
31693
32121
  var BLACK_CIRCLE, OTHER_SENTINEL = "__kobe_other__", TOOL_FOLD_THRESHOLD = 3;
@@ -32459,6 +32887,21 @@ function dequeueFirst(state) {
32459
32887
  return [state, null];
32460
32888
  return [{ ...state, queue: rest }, head];
32461
32889
  }
32890
+ function updateQueueItem(state, id, text) {
32891
+ if (state.queue.length === 0)
32892
+ return state;
32893
+ let changed = false;
32894
+ const next = state.queue.map((q2) => {
32895
+ if (q2.id === id && q2.kind === "prompt" && q2.text !== text) {
32896
+ changed = true;
32897
+ return { ...q2, text };
32898
+ }
32899
+ return q2;
32900
+ });
32901
+ if (!changed)
32902
+ return state;
32903
+ return { ...state, queue: next };
32904
+ }
32462
32905
  function removeFromQueue(state, id) {
32463
32906
  if (state.queue.length === 0)
32464
32907
  return state;
@@ -32543,6 +32986,24 @@ function escapeXml(s2) {
32543
32986
  }
32544
32987
  function applyEvent(state, ev, nowIso = new Date().toISOString()) {
32545
32988
  switch (ev.type) {
32989
+ case "reasoning.delta": {
32990
+ if (ev.text.length === 0)
32991
+ return state;
32992
+ const last = state.messages[state.messages.length - 1];
32993
+ if (last && last.kind === "reasoning") {
32994
+ const merged = { kind: "reasoning", text: last.text + ev.text, ts: last.ts };
32995
+ return {
32996
+ ...state,
32997
+ isStreaming: true,
32998
+ messages: [...state.messages.slice(0, -1), merged]
32999
+ };
33000
+ }
33001
+ return {
33002
+ ...state,
33003
+ isStreaming: true,
33004
+ messages: capMessages([...state.messages, { kind: "reasoning", text: ev.text, ts: nowIso }], nowIso)
33005
+ };
33006
+ }
32546
33007
  case "assistant.delta": {
32547
33008
  const last = state.messages[state.messages.length - 1];
32548
33009
  if (last && last.kind === "assistant") {
@@ -32744,6 +33205,12 @@ function appendRowsFromMessage(rows, toolIndexById, m2) {
32744
33205
  } else {
32745
33206
  rows.push({ kind: "tool", name: "", input: undefined, output, done: true, ts });
32746
33207
  }
33208
+ continue;
33209
+ }
33210
+ if (block.type === "thinking") {
33211
+ flushText();
33212
+ if (block.text.length > 0)
33213
+ rows.push({ kind: "reasoning", text: block.text, ts });
32747
33214
  }
32748
33215
  }
32749
33216
  flushText();
@@ -33033,6 +33500,15 @@ function Chat(props) {
33033
33500
  const patchStateForTab = session.patchStateForTab;
33034
33501
  const [expandedToolIndex, setExpandedToolIndex] = createSignal(null);
33035
33502
  const [expandedFoldStartIndex, setExpandedFoldStartIndex] = createSignal(null);
33503
+ const [editingQueueId, setEditingQueueId] = createSignal(null);
33504
+ createEffect(() => {
33505
+ const id = editingQueueId();
33506
+ if (id === null)
33507
+ return;
33508
+ const present = activeState().queue.some((q2) => q2.id === id);
33509
+ if (!present)
33510
+ setEditingQueueId(null);
33511
+ });
33036
33512
  const tasksAcc = props.orchestrator.tasksSignal();
33037
33513
  const contextMeterLabel = createMemo(() => {
33038
33514
  const tid = props.taskId();
@@ -33412,6 +33888,13 @@ function Chat(props) {
33412
33888
  }
33413
33889
  send(entry.text, "steer");
33414
33890
  }
33891
+ function editQueued(id) {
33892
+ const entry = activeState().queue.find((q2) => q2.id === id);
33893
+ if (!entry || entry.kind !== "prompt")
33894
+ return;
33895
+ setEditingQueueId(id);
33896
+ setDraft(entry.text);
33897
+ }
33415
33898
  async function newTab() {
33416
33899
  const taskId = props.taskId();
33417
33900
  if (!taskId)
@@ -33565,6 +34048,21 @@ function Chat(props) {
33565
34048
  setExpandedFoldStartIndex((cur) => cur === startIndex ? null : startIndex);
33566
34049
  }
33567
34050
  function handleComposerSubmit(trimmed, mode = "auto") {
34051
+ const editingId = editingQueueId();
34052
+ if (editingId !== null) {
34053
+ const stillQueued = activeState().queue.some((q3) => q3.id === editingId);
34054
+ if (stillQueued) {
34055
+ setEditingQueueId(null);
34056
+ if (trimmed.length === 0) {
34057
+ patchActiveState((s2) => removeFromQueue(s2, editingId));
34058
+ } else {
34059
+ patchActiveState((s2) => updateQueueItem(s2, editingId, trimmed));
34060
+ }
34061
+ setDraft("");
34062
+ return;
34063
+ }
34064
+ setEditingQueueId(null);
34065
+ }
33568
34066
  if (trimmed.length === 0) {
33569
34067
  if (lastToolIndex() !== null)
33570
34068
  toggleExpandLastTool();
@@ -33763,7 +34261,12 @@ function Chat(props) {
33763
34261
  queue: () => activeState().queue,
33764
34262
  onCancelQueued: cancelQueued,
33765
34263
  onSendQueuedNow: sendQueuedNow,
33766
- onBashCommand: handleBashCommand
34264
+ onBashCommand: handleBashCommand,
34265
+ get onOpenFilePath() {
34266
+ return props.onOpenFilePath;
34267
+ },
34268
+ onEditQueued: editQueued,
34269
+ editingQueueId
33767
34270
  });
33768
34271
  }
33769
34272
  }), null);
@@ -35021,7 +35524,8 @@ Try again or quit?`;
35021
35524
  onContextMeter: (label) => setWorkspaceContextAside(label),
35022
35525
  onRenameTabRequest: (tabId) => {
35023
35526
  confirmRenameChatTab(tabId);
35024
- }
35527
+ },
35528
+ onOpenFilePath: openFileInCenter
35025
35529
  });
35026
35530
  }
35027
35531
  }));
@@ -35143,7 +35647,7 @@ function App(props) {
35143
35647
  }
35144
35648
  });
35145
35649
  }
35146
- async function startApp() {
35650
+ async function startApp(options = {}) {
35147
35651
  for (const {
35148
35652
  name,
35149
35653
  theme
@@ -35183,7 +35687,7 @@ async function startApp() {
35183
35687
  console.error("[kobe] bridge failed to start:", err);
35184
35688
  }
35185
35689
  } else {
35186
- const daemonMode = process.env.KOBE_DAEMON_MODE === "shared" ? "shared" : "single";
35690
+ const daemonMode = resolveDaemonMode(options.daemonMode);
35187
35691
  if (daemonMode === "shared") {
35188
35692
  orchestrator = new RemoteOrchestrator(await connectOrStartDaemon());
35189
35693
  } else {
@@ -35438,8 +35942,8 @@ function App2() {
35438
35942
  }
35439
35943
  });
35440
35944
  }
35441
- async function startTui() {
35442
- await startApp();
35945
+ async function startTui(options = {}) {
35946
+ await startApp(options);
35443
35947
  }
35444
35948
  var DEFAULT_THEME5 = "tokyonight", KOBE_BANNER;
35445
35949
  var init_tui = __esm(() => {
@@ -35465,6 +35969,30 @@ var init_tui = __esm(() => {
35465
35969
 
35466
35970
  // src/cli/index.ts
35467
35971
  import { resolve as resolve4 } from "path";
35972
+
35973
+ // src/cli/daemon-mode.ts
35974
+ function parseCliArgs(argv) {
35975
+ let daemonMode;
35976
+ const args = [];
35977
+ for (const arg of argv) {
35978
+ if (arg === "--daemon") {
35979
+ if (daemonMode === "single")
35980
+ throw new Error("cannot pass both --daemon and --single");
35981
+ daemonMode = "shared";
35982
+ continue;
35983
+ }
35984
+ if (arg === "--single") {
35985
+ if (daemonMode === "shared")
35986
+ throw new Error("cannot pass both --daemon and --single");
35987
+ daemonMode = "single";
35988
+ continue;
35989
+ }
35990
+ args.push(arg);
35991
+ }
35992
+ return { daemonMode, args };
35993
+ }
35994
+
35995
+ // src/cli/index.ts
35468
35996
  async function runAddSubcommand(arg) {
35469
35997
  const target = resolve4(process.cwd(), arg && arg.length > 0 ? arg : ".");
35470
35998
  const { addSavedRepo: addSavedRepo2 } = await Promise.resolve().then(() => (init_repos(), exports_repos));
@@ -35491,7 +36019,15 @@ async function main() {
35491
36019
  await startTerminalHost2();
35492
36020
  return;
35493
36021
  }
35494
- const [, , subcommand, ...rest] = process.argv;
36022
+ const [, , ...rawArgs] = process.argv;
36023
+ let parsed;
36024
+ try {
36025
+ parsed = parseCliArgs(rawArgs);
36026
+ } catch (err) {
36027
+ console.error(`kobe: ${err instanceof Error ? err.message : String(err)}`);
36028
+ process.exit(2);
36029
+ }
36030
+ const [subcommand, ...rest] = parsed.args;
35495
36031
  if (subcommand === "add") {
35496
36032
  await runAddSubcommand(rest[0]);
35497
36033
  return;
@@ -35517,7 +36053,7 @@ async function main() {
35517
36053
  return;
35518
36054
  }
35519
36055
  const { startTui: startTui2 } = await Promise.resolve().then(() => (init_tui(), exports_tui));
35520
- await startTui2();
36056
+ await startTui2({ daemonMode: parsed.daemonMode });
35521
36057
  }
35522
36058
  main().catch((err) => {
35523
36059
  console.error("kobe failed to start:", err);