@sma1lboy/kobe 0.7.4 → 0.7.5
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 +189 -51
- package/package.json +1 -1
package/dist/cli/index.js
CHANGED
|
@@ -70,7 +70,7 @@ var init_package = __esm(() => {
|
|
|
70
70
|
package_default = {
|
|
71
71
|
$schema: "https://json.schemastore.org/package.json",
|
|
72
72
|
name: "@sma1lboy/kobe",
|
|
73
|
-
version: "0.7.
|
|
73
|
+
version: "0.7.5",
|
|
74
74
|
description: "TUI orchestrator for Claude Code (codename)",
|
|
75
75
|
type: "module",
|
|
76
76
|
packageManager: "bun@1.3.13",
|
|
@@ -2502,6 +2502,8 @@ class ClaudeHookAdapter {
|
|
|
2502
2502
|
}
|
|
2503
2503
|
}
|
|
2504
2504
|
async function hideFromGit(worktreeDir, relPath) {
|
|
2505
|
+
if (hiddenWorktrees.has(worktreeDir))
|
|
2506
|
+
return;
|
|
2505
2507
|
try {
|
|
2506
2508
|
const proc = Bun.spawn(["git", "-C", worktreeDir, "rev-parse", "--git-common-dir"], {
|
|
2507
2509
|
stdout: "pipe",
|
|
@@ -2518,16 +2520,19 @@ async function hideFromGit(worktreeDir, relPath) {
|
|
|
2518
2520
|
const excludePath = join3(commonDir, "info", "exclude");
|
|
2519
2521
|
const existing = existsSync(excludePath) ? await readFile2(excludePath, "utf8") : "";
|
|
2520
2522
|
if (existing.split(`
|
|
2521
|
-
`).some((l) => l.trim() === relPath))
|
|
2523
|
+
`).some((l) => l.trim() === relPath)) {
|
|
2524
|
+
hiddenWorktrees.add(worktreeDir);
|
|
2522
2525
|
return;
|
|
2526
|
+
}
|
|
2523
2527
|
await mkdir2(join3(commonDir, "info"), { recursive: true });
|
|
2524
2528
|
await appendFile(excludePath, `${existing.endsWith(`
|
|
2525
2529
|
`) || existing === "" ? "" : `
|
|
2526
2530
|
`}${relPath}
|
|
2527
2531
|
`);
|
|
2532
|
+
hiddenWorktrees.add(worktreeDir);
|
|
2528
2533
|
} catch {}
|
|
2529
2534
|
}
|
|
2530
|
-
var EVENT_MAP, KOBE_HOOK_EVENTS, WORKTREE_SYNC_MARKER = "worktree-created";
|
|
2535
|
+
var EVENT_MAP, KOBE_HOOK_EVENTS, WORKTREE_SYNC_MARKER = "worktree-created", hiddenWorktrees;
|
|
2531
2536
|
var init_hook_adapter = __esm(() => {
|
|
2532
2537
|
init_invocation();
|
|
2533
2538
|
EVENT_MAP = [
|
|
@@ -2539,6 +2544,7 @@ var init_hook_adapter = __esm(() => {
|
|
|
2539
2544
|
{ event: "SessionEnd", verb: "session-end" }
|
|
2540
2545
|
];
|
|
2541
2546
|
KOBE_HOOK_EVENTS = EVENT_MAP.map((e) => e.event);
|
|
2547
|
+
hiddenWorktrees = new Set;
|
|
2542
2548
|
});
|
|
2543
2549
|
|
|
2544
2550
|
// src/engine/hook-adapter.ts
|
|
@@ -3397,6 +3403,18 @@ class Orchestrator {
|
|
|
3397
3403
|
if (!input.worktreePath)
|
|
3398
3404
|
throw new Error("adoptWorktree: worktreePath is required");
|
|
3399
3405
|
const target = canonPath(input.worktreePath);
|
|
3406
|
+
const inflight = this.adoptLocks.get(target);
|
|
3407
|
+
if (inflight)
|
|
3408
|
+
return inflight;
|
|
3409
|
+
const work = this.adoptWorktreeLocked(input, target);
|
|
3410
|
+
this.adoptLocks.set(target, work);
|
|
3411
|
+
try {
|
|
3412
|
+
return await work;
|
|
3413
|
+
} finally {
|
|
3414
|
+
this.adoptLocks.delete(target);
|
|
3415
|
+
}
|
|
3416
|
+
}
|
|
3417
|
+
async adoptWorktreeLocked(input, target) {
|
|
3400
3418
|
const existing = this.store.list().find((t) => t.worktreePath && canonPath(t.worktreePath) === target);
|
|
3401
3419
|
if (existing) {
|
|
3402
3420
|
if (input.ifExists === "return")
|
|
@@ -3429,6 +3447,7 @@ class Orchestrator {
|
|
|
3429
3447
|
});
|
|
3430
3448
|
}
|
|
3431
3449
|
pendingBaseRefs = new Map;
|
|
3450
|
+
adoptLocks = new Map;
|
|
3432
3451
|
requireTask(id) {
|
|
3433
3452
|
const task = this.store.get(id);
|
|
3434
3453
|
if (!task)
|
|
@@ -3459,6 +3478,11 @@ var init_core = __esm(() => {
|
|
|
3459
3478
|
function isProtocolCompatible(args) {
|
|
3460
3479
|
return args.remoteVersion >= args.localMin && args.localVersion >= args.remoteMin;
|
|
3461
3480
|
}
|
|
3481
|
+
function isDaemonVersionStale(daemonVersion, clientVersion) {
|
|
3482
|
+
if (!daemonVersion)
|
|
3483
|
+
return false;
|
|
3484
|
+
return daemonVersion !== clientVersion;
|
|
3485
|
+
}
|
|
3462
3486
|
function serializeTask(task) {
|
|
3463
3487
|
return {
|
|
3464
3488
|
id: task.id,
|
|
@@ -5350,6 +5374,7 @@ async function startDaemonServer(orch, options = {}) {
|
|
|
5350
5374
|
return {
|
|
5351
5375
|
protocolVersion: DAEMON_PROTOCOL_VERSION,
|
|
5352
5376
|
minProtocolVersion: MIN_COMPATIBLE_PROTOCOL_VERSION,
|
|
5377
|
+
kobeVersion: CURRENT_VERSION,
|
|
5353
5378
|
capabilities: [...CHANNEL_NAMES],
|
|
5354
5379
|
daemonPid: process.pid,
|
|
5355
5380
|
clientId: client.id,
|
|
@@ -5359,6 +5384,7 @@ async function startDaemonServer(orch, options = {}) {
|
|
|
5359
5384
|
case "daemon.status":
|
|
5360
5385
|
return {
|
|
5361
5386
|
daemonPid: process.pid,
|
|
5387
|
+
kobeVersion: CURRENT_VERSION,
|
|
5362
5388
|
uptimeMs: Date.now() - startedAt.getTime(),
|
|
5363
5389
|
startedAt: startedAt.toISOString(),
|
|
5364
5390
|
attachedClients: guiCount(),
|
|
@@ -5418,6 +5444,8 @@ async function startDaemonServer(orch, options = {}) {
|
|
|
5418
5444
|
if (gone?.lapse)
|
|
5419
5445
|
clearTimeout(gone.lapse);
|
|
5420
5446
|
activity.delete(taskId);
|
|
5447
|
+
if (gone)
|
|
5448
|
+
bus.publish("engine-state", { taskId, state: "idle", at: Date.now() });
|
|
5421
5449
|
return {};
|
|
5422
5450
|
}
|
|
5423
5451
|
case "task.pin": {
|
|
@@ -8110,6 +8138,13 @@ async function runDoctorSubcommand(argv = []) {
|
|
|
8110
8138
|
const tasks = typeof status.taskCount === "number" ? status.taskCount : "?";
|
|
8111
8139
|
const clients = typeof status.attachedClients === "number" ? status.attachedClients : "?";
|
|
8112
8140
|
out.push(`daemon: \u2713 running (pid ${pid}, up ${up}, ${tasks} task(s), ${clients} client(s))`);
|
|
8141
|
+
const daemonVersion = typeof status.kobeVersion === "string" ? status.kobeVersion : undefined;
|
|
8142
|
+
if (daemonVersion && daemonVersion !== CURRENT_VERSION) {
|
|
8143
|
+
out.push(` \u26A0 stale build: daemon is v${daemonVersion}, you launched v${CURRENT_VERSION}`);
|
|
8144
|
+
out.push(" \u2192 run `kobe daemon restart`, then `kobe reload` in any open kobe sessions");
|
|
8145
|
+
} else if (daemonVersion) {
|
|
8146
|
+
out.push(` build: v${daemonVersion}`);
|
|
8147
|
+
}
|
|
8113
8148
|
} else {
|
|
8114
8149
|
const pid = await readPidFile(pidPath);
|
|
8115
8150
|
if (pid && isProcessAlive2(pid)) {
|
|
@@ -8313,6 +8348,7 @@ var init_maintenance = __esm(() => {
|
|
|
8313
8348
|
init_env();
|
|
8314
8349
|
init_skill_install();
|
|
8315
8350
|
init_client2();
|
|
8351
|
+
init_version();
|
|
8316
8352
|
});
|
|
8317
8353
|
|
|
8318
8354
|
// src/cli/skill-cmd.ts
|
|
@@ -8527,6 +8563,15 @@ function syncSettingsPath(scope) {
|
|
|
8527
8563
|
function worktreeSyncAdapters() {
|
|
8528
8564
|
return ALL_VENDORS.map((v) => createEngineHookAdapter(v)).filter((a) => a.supportsWorktreeSync());
|
|
8529
8565
|
}
|
|
8566
|
+
function persistedSyncPath(stored) {
|
|
8567
|
+
if (!stored || stored === "off")
|
|
8568
|
+
return;
|
|
8569
|
+
if (stored === "global")
|
|
8570
|
+
return syncSettingsPath({ kind: "global" });
|
|
8571
|
+
if (stored.startsWith("repo:"))
|
|
8572
|
+
return syncSettingsPath({ kind: "repo", path: stored.slice(5) });
|
|
8573
|
+
return stored;
|
|
8574
|
+
}
|
|
8530
8575
|
async function runHookSetup(argv) {
|
|
8531
8576
|
if (argv.includes("--help") || argv.includes("-h")) {
|
|
8532
8577
|
process.stdout.write([
|
|
@@ -8553,21 +8598,26 @@ async function runHookSetup(argv) {
|
|
|
8553
8598
|
`);
|
|
8554
8599
|
return;
|
|
8555
8600
|
}
|
|
8601
|
+
const prevPath = persistedSyncPath(getPersistedString(SYNC_SETTING_KEY));
|
|
8556
8602
|
if (off) {
|
|
8557
|
-
|
|
8558
|
-
|
|
8559
|
-
|
|
8560
|
-
|
|
8603
|
+
if (prevPath) {
|
|
8604
|
+
for (const a of adapters)
|
|
8605
|
+
await a.removeWorktreeSyncHook(prevPath);
|
|
8606
|
+
}
|
|
8561
8607
|
setPersistedString(SYNC_SETTING_KEY, "off");
|
|
8562
|
-
process.stdout.write(`kobe hook setup: external worktree sync disabled (removed from ${
|
|
8608
|
+
process.stdout.write(`kobe hook setup: external worktree sync disabled${prevPath ? ` (removed from ${prevPath})` : ""}
|
|
8563
8609
|
`);
|
|
8564
8610
|
return;
|
|
8565
8611
|
}
|
|
8566
8612
|
const scope = repoPath ? { kind: "repo", path: repoPath } : { kind: "global" };
|
|
8567
8613
|
const path6 = syncSettingsPath(scope);
|
|
8614
|
+
if (prevPath && prevPath !== path6) {
|
|
8615
|
+
for (const a of adapters)
|
|
8616
|
+
await a.removeWorktreeSyncHook(prevPath);
|
|
8617
|
+
}
|
|
8568
8618
|
for (const a of adapters)
|
|
8569
8619
|
await a.installWorktreeSyncHook(path6);
|
|
8570
|
-
setPersistedString(SYNC_SETTING_KEY,
|
|
8620
|
+
setPersistedString(SYNC_SETTING_KEY, path6);
|
|
8571
8621
|
process.stdout.write([
|
|
8572
8622
|
`kobe hook setup: external worktree sync enabled (${scope.kind}) \u2014 wrote ${path6}`,
|
|
8573
8623
|
"New `claude --worktree` worktrees will appear as kobe tasks.",
|
|
@@ -9869,6 +9919,8 @@ class RemoteOrchestrator {
|
|
|
9869
9919
|
setActiveTaskSig;
|
|
9870
9920
|
updateAcc;
|
|
9871
9921
|
setUpdateSig;
|
|
9922
|
+
daemonVersionAcc;
|
|
9923
|
+
setDaemonVersionSig;
|
|
9872
9924
|
engineStateAcc;
|
|
9873
9925
|
setEngineStateSig;
|
|
9874
9926
|
connectionStateAcc;
|
|
@@ -9881,6 +9933,7 @@ class RemoteOrchestrator {
|
|
|
9881
9933
|
const [tasks, setTasks] = createSignal([]);
|
|
9882
9934
|
const [activeTask, setActiveTask] = createSignal(null);
|
|
9883
9935
|
const [update, setUpdate] = createSignal(null);
|
|
9936
|
+
const [daemonVersion, setDaemonVersion] = createSignal(null);
|
|
9884
9937
|
const [engineState, setEngineState] = createSignal(new Map);
|
|
9885
9938
|
const [connectionState, setConnectionState] = createSignal("online");
|
|
9886
9939
|
this.tasksAcc = tasks;
|
|
@@ -9889,6 +9942,8 @@ class RemoteOrchestrator {
|
|
|
9889
9942
|
this.setActiveTaskSig = (next) => setActiveTask(() => next);
|
|
9890
9943
|
this.updateAcc = update;
|
|
9891
9944
|
this.setUpdateSig = (next) => setUpdate(() => next);
|
|
9945
|
+
this.daemonVersionAcc = daemonVersion;
|
|
9946
|
+
this.setDaemonVersionSig = (next) => setDaemonVersion(() => next);
|
|
9892
9947
|
this.engineStateAcc = engineState;
|
|
9893
9948
|
this.setEngineStateSig = (next) => setEngineState(() => next);
|
|
9894
9949
|
this.connectionStateAcc = connectionState;
|
|
@@ -9943,6 +9998,7 @@ class RemoteOrchestrator {
|
|
|
9943
9998
|
})) {
|
|
9944
9999
|
throw new Error(`kobe daemon is protocol v${daemonVersion} (min v${daemonMin}); this client is v${DAEMON_PROTOCOL_VERSION} (min v${MIN_COMPATIBLE_PROTOCOL_VERSION}). Restart the daemon (\`kobe daemon restart\`) or upgrade kobe.`);
|
|
9945
10000
|
}
|
|
10001
|
+
this.setDaemonVersionSig(typeof hello.kobeVersion === "string" ? hello.kobeVersion : null);
|
|
9946
10002
|
if (hello.tasks)
|
|
9947
10003
|
this.setTasks(hello.tasks.map(deserializeTask));
|
|
9948
10004
|
await this.client.subscribe({ role: this.role });
|
|
@@ -9969,6 +10025,12 @@ class RemoteOrchestrator {
|
|
|
9969
10025
|
updateSignal() {
|
|
9970
10026
|
return this.updateAcc;
|
|
9971
10027
|
}
|
|
10028
|
+
daemonVersionSignal() {
|
|
10029
|
+
return this.daemonVersionAcc;
|
|
10030
|
+
}
|
|
10031
|
+
daemonStaleSignal() {
|
|
10032
|
+
return () => isDaemonVersionStale(this.daemonVersionAcc() ?? undefined, CURRENT_VERSION);
|
|
10033
|
+
}
|
|
9972
10034
|
engineStateSignal() {
|
|
9973
10035
|
return this.engineStateAcc;
|
|
9974
10036
|
}
|
|
@@ -10096,6 +10158,7 @@ function deserializeTask(s) {
|
|
|
10096
10158
|
var init_remote_orchestrator = __esm(() => {
|
|
10097
10159
|
init_dev();
|
|
10098
10160
|
init_protocol();
|
|
10161
|
+
init_version();
|
|
10099
10162
|
init_client_log();
|
|
10100
10163
|
init_daemon_process();
|
|
10101
10164
|
});
|
|
@@ -15776,6 +15839,72 @@ var init_settings_dialog = __esm(() => {
|
|
|
15776
15839
|
};
|
|
15777
15840
|
});
|
|
15778
15841
|
|
|
15842
|
+
// src/tui/component/version-skew-banner.tsx
|
|
15843
|
+
import { TextAttributes as TextAttributes7 } from "@opentui/core";
|
|
15844
|
+
function versionSkewHint(daemonVersion, clientVersion) {
|
|
15845
|
+
const daemon = daemonVersion ? `v${daemonVersion}` : "an older build";
|
|
15846
|
+
return `daemon is ${daemon} \u2014 you launched v${clientVersion}. Run \`kobe daemon restart\` then \`kobe reload\``;
|
|
15847
|
+
}
|
|
15848
|
+
function VersionSkewBanner(props) {
|
|
15849
|
+
const {
|
|
15850
|
+
theme
|
|
15851
|
+
} = useTheme();
|
|
15852
|
+
const ruleWidth = () => Math.max(4, props.width() - 2);
|
|
15853
|
+
return createComponent2(Show, {
|
|
15854
|
+
get when() {
|
|
15855
|
+
return props.stale();
|
|
15856
|
+
},
|
|
15857
|
+
get children() {
|
|
15858
|
+
var _el$ = createElement("box"), _el$2 = createElement("text"), _el$3 = createElement("box"), _el$4 = createElement("text"), _el$6 = createElement("box"), _el$7 = createElement("text");
|
|
15859
|
+
insertNode(_el$, _el$2);
|
|
15860
|
+
insertNode(_el$, _el$3);
|
|
15861
|
+
insertNode(_el$, _el$6);
|
|
15862
|
+
setProp(_el$, "flexDirection", "column");
|
|
15863
|
+
setProp(_el$, "flexShrink", 0);
|
|
15864
|
+
setProp(_el$, "paddingLeft", 1);
|
|
15865
|
+
setProp(_el$, "paddingRight", 1);
|
|
15866
|
+
setProp(_el$, "paddingBottom", 1);
|
|
15867
|
+
setProp(_el$2, "wrapMode", "none");
|
|
15868
|
+
insert(_el$2, () => "\u2594".repeat(ruleWidth()));
|
|
15869
|
+
insertNode(_el$3, _el$4);
|
|
15870
|
+
setProp(_el$3, "flexDirection", "row");
|
|
15871
|
+
setProp(_el$3, "gap", 1);
|
|
15872
|
+
insertNode(_el$4, createTextNode(`\u26A0 DAEMON OUT OF DATE`));
|
|
15873
|
+
setProp(_el$4, "wrapMode", "none");
|
|
15874
|
+
insertNode(_el$6, _el$7);
|
|
15875
|
+
setProp(_el$6, "flexDirection", "row");
|
|
15876
|
+
setProp(_el$6, "gap", 1);
|
|
15877
|
+
setProp(_el$7, "wrapMode", "word");
|
|
15878
|
+
insert(_el$7, () => versionSkewHint(props.daemonVersion(), props.clientVersion));
|
|
15879
|
+
effect((_p$) => {
|
|
15880
|
+
var { warning: _v$, warning: _v$2 } = theme, _v$3 = TextAttributes7.BOLD, _v$4 = theme.text;
|
|
15881
|
+
_v$ !== _p$.e && (_p$.e = setProp(_el$2, "fg", _v$, _p$.e));
|
|
15882
|
+
_v$2 !== _p$.t && (_p$.t = setProp(_el$4, "fg", _v$2, _p$.t));
|
|
15883
|
+
_v$3 !== _p$.a && (_p$.a = setProp(_el$4, "attributes", _v$3, _p$.a));
|
|
15884
|
+
_v$4 !== _p$.o && (_p$.o = setProp(_el$7, "fg", _v$4, _p$.o));
|
|
15885
|
+
return _p$;
|
|
15886
|
+
}, {
|
|
15887
|
+
e: undefined,
|
|
15888
|
+
t: undefined,
|
|
15889
|
+
a: undefined,
|
|
15890
|
+
o: undefined
|
|
15891
|
+
});
|
|
15892
|
+
return _el$;
|
|
15893
|
+
}
|
|
15894
|
+
});
|
|
15895
|
+
}
|
|
15896
|
+
var init_version_skew_banner = __esm(() => {
|
|
15897
|
+
init_solid();
|
|
15898
|
+
init_solid();
|
|
15899
|
+
init_solid();
|
|
15900
|
+
init_solid();
|
|
15901
|
+
init_solid();
|
|
15902
|
+
init_solid();
|
|
15903
|
+
init_solid();
|
|
15904
|
+
init_dev();
|
|
15905
|
+
init_theme2();
|
|
15906
|
+
});
|
|
15907
|
+
|
|
15779
15908
|
// src/tui/context/focus.tsx
|
|
15780
15909
|
function FocusProvider(props) {
|
|
15781
15910
|
const [focused, setFocusedSignal] = createSignal(props.initial ?? "sidebar");
|
|
@@ -16125,7 +16254,7 @@ function flattenIds(rows) {
|
|
|
16125
16254
|
var init_groups = () => {};
|
|
16126
16255
|
|
|
16127
16256
|
// src/tui/context/command-palette.tsx
|
|
16128
|
-
import { TextAttributes as
|
|
16257
|
+
import { TextAttributes as TextAttributes8 } from "@opentui/core";
|
|
16129
16258
|
function CommandPaletteProvider(props) {
|
|
16130
16259
|
const dialog = useDialog();
|
|
16131
16260
|
const [commands, setCommands] = createSignal([]);
|
|
@@ -16274,7 +16403,7 @@ function CommandPaletteDialog(props) {
|
|
|
16274
16403
|
}
|
|
16275
16404
|
}), null);
|
|
16276
16405
|
effect((_p$) => {
|
|
16277
|
-
var _v$ =
|
|
16406
|
+
var _v$ = TextAttributes8.BOLD, _v$2 = theme.text, _v$3 = theme.textMuted;
|
|
16278
16407
|
_v$ !== _p$.e && (_p$.e = setProp(_el$3, "attributes", _v$, _p$.e));
|
|
16279
16408
|
_v$2 !== _p$.t && (_p$.t = setProp(_el$3, "fg", _v$2, _p$.t));
|
|
16280
16409
|
_v$3 !== _p$.a && (_p$.a = setProp(_el$5, "fg", _v$3, _p$.a));
|
|
@@ -16958,7 +17087,7 @@ var init_keys = __esm(() => {
|
|
|
16958
17087
|
});
|
|
16959
17088
|
|
|
16960
17089
|
// src/tui/panes/sidebar/Sidebar.tsx
|
|
16961
|
-
import { TextAttributes as
|
|
17090
|
+
import { TextAttributes as TextAttributes9 } from "@opentui/core";
|
|
16962
17091
|
function truncateBranchLabel(branch, max = BRANCH_LABEL_MAX) {
|
|
16963
17092
|
if (branch.length <= max)
|
|
16964
17093
|
return branch;
|
|
@@ -17123,7 +17252,7 @@ function Sidebar(props) {
|
|
|
17123
17252
|
setProp(_el$3, "wrapMode", "none");
|
|
17124
17253
|
insert(_el$3, () => "\u2500".repeat(Math.max(2, effectiveWidth() - 9 - p.label.length)));
|
|
17125
17254
|
effect((_p$) => {
|
|
17126
|
-
var _v$ = p.topPad ? 1 : 0, _v$2 = theme.textMuted, _v$3 =
|
|
17255
|
+
var _v$ = p.topPad ? 1 : 0, _v$2 = theme.textMuted, _v$3 = TextAttributes9.BOLD, _v$4 = theme.border;
|
|
17127
17256
|
_v$ !== _p$.e && (_p$.e = setProp(_el$, "paddingTop", _v$, _p$.e));
|
|
17128
17257
|
_v$2 !== _p$.t && (_p$.t = setProp(_el$2, "fg", _v$2, _p$.t));
|
|
17129
17258
|
_v$3 !== _p$.a && (_p$.a = setProp(_el$2, "attributes", _v$3, _p$.a));
|
|
@@ -17168,7 +17297,7 @@ function Sidebar(props) {
|
|
|
17168
17297
|
setProp(_el$26, "onMouseUp", () => props.onHeaderStatusClick?.());
|
|
17169
17298
|
insert(_el$26, () => status().label);
|
|
17170
17299
|
effect((_p$) => {
|
|
17171
|
-
var _v$11 = status().emphasize ? theme.warning : theme.textMuted, _v$12 = status().emphasize ?
|
|
17300
|
+
var _v$11 = status().emphasize ? theme.warning : theme.textMuted, _v$12 = status().emphasize ? TextAttributes9.BOLD : TextAttributes9.DIM;
|
|
17172
17301
|
_v$11 !== _p$.e && (_p$.e = setProp(_el$26, "fg", _v$11, _p$.e));
|
|
17173
17302
|
_v$12 !== _p$.t && (_p$.t = setProp(_el$26, "attributes", _v$12, _p$.t));
|
|
17174
17303
|
return _p$;
|
|
@@ -17226,7 +17355,7 @@ function Sidebar(props) {
|
|
|
17226
17355
|
}
|
|
17227
17356
|
}), null);
|
|
17228
17357
|
effect((_p$) => {
|
|
17229
|
-
var { info: _v$5, text: _v$6, info: _v$7 } = theme, _v$8 =
|
|
17358
|
+
var { info: _v$5, text: _v$6, info: _v$7 } = theme, _v$8 = TextAttributes9.BLINK;
|
|
17230
17359
|
_v$5 !== _p$.e && (_p$.e = setProp(_el$9, "fg", _v$5, _p$.e));
|
|
17231
17360
|
_v$6 !== _p$.t && (_p$.t = setProp(_el$1, "fg", _v$6, _p$.t));
|
|
17232
17361
|
_v$7 !== _p$.a && (_p$.a = setProp(_el$10, "fg", _v$7, _p$.a));
|
|
@@ -17255,7 +17384,7 @@ function Sidebar(props) {
|
|
|
17255
17384
|
setProp(_el$27, "onMouseUp", () => setView(tab.view));
|
|
17256
17385
|
insert(_el$27, () => tab.label);
|
|
17257
17386
|
effect((_p$) => {
|
|
17258
|
-
var _v$13 = active() ? theme.primary : theme.textMuted, _v$14 = active() ?
|
|
17387
|
+
var _v$13 = active() ? theme.primary : theme.textMuted, _v$14 = active() ? TextAttributes9.BOLD : undefined;
|
|
17259
17388
|
_v$13 !== _p$.e && (_p$.e = setProp(_el$27, "fg", _v$13, _p$.e));
|
|
17260
17389
|
_v$14 !== _p$.t && (_p$.t = setProp(_el$27, "attributes", _v$14, _p$.t));
|
|
17261
17390
|
return _p$;
|
|
@@ -17446,7 +17575,7 @@ function Sidebar(props) {
|
|
|
17446
17575
|
setProp(_el$37, "wrapMode", "none");
|
|
17447
17576
|
insert(_el$37, () => truncatePathTail(abbrevHome(task.repo), subtitleBudget()));
|
|
17448
17577
|
effect((_p$) => {
|
|
17449
|
-
var _v$15 = theme.textMuted, _v$16 =
|
|
17578
|
+
var _v$15 = theme.textMuted, _v$16 = TextAttributes9.DIM;
|
|
17450
17579
|
_v$15 !== _p$.e && (_p$.e = setProp(_el$37, "fg", _v$15, _p$.e));
|
|
17451
17580
|
_v$16 !== _p$.t && (_p$.t = setProp(_el$37, "attributes", _v$16, _p$.t));
|
|
17452
17581
|
return _p$;
|
|
@@ -17458,7 +17587,7 @@ function Sidebar(props) {
|
|
|
17458
17587
|
}
|
|
17459
17588
|
}), null);
|
|
17460
17589
|
effect((_p$) => {
|
|
17461
|
-
var _v$17 = barColor(), _v$18 = theme.primary, _v$19 =
|
|
17590
|
+
var _v$17 = barColor(), _v$18 = theme.primary, _v$19 = TextAttributes9.BOLD, _v$20 = theme.text, _v$21 = TextAttributes9.BOLD;
|
|
17462
17591
|
_v$17 !== _p$.e && (_p$.e = setProp(_el$31, "fg", _v$17, _p$.e));
|
|
17463
17592
|
_v$18 !== _p$.t && (_p$.t = setProp(_el$33, "fg", _v$18, _p$.t));
|
|
17464
17593
|
_v$19 !== _p$.a && (_p$.a = setProp(_el$33, "attributes", _v$19, _p$.a));
|
|
@@ -17525,7 +17654,7 @@ function Sidebar(props) {
|
|
|
17525
17654
|
})()
|
|
17526
17655
|
}), null);
|
|
17527
17656
|
effect((_p$) => {
|
|
17528
|
-
var _v$22 = barColor(), _v$23 = badgeColor(), _v$24 =
|
|
17657
|
+
var _v$22 = barColor(), _v$23 = badgeColor(), _v$24 = TextAttributes9.BOLD, _v$25 = theme.text, _v$26 = isSelected() || isCursor() ? TextAttributes9.BOLD : undefined;
|
|
17529
17658
|
_v$22 !== _p$.e && (_p$.e = setProp(_el$39, "fg", _v$22, _p$.e));
|
|
17530
17659
|
_v$23 !== _p$.t && (_p$.t = setProp(_el$41, "fg", _v$23, _p$.t));
|
|
17531
17660
|
_v$24 !== _p$.a && (_p$.a = setProp(_el$41, "attributes", _v$24, _p$.a));
|
|
@@ -17596,7 +17725,7 @@ function Sidebar(props) {
|
|
|
17596
17725
|
}
|
|
17597
17726
|
}), null);
|
|
17598
17727
|
effect((_p$) => {
|
|
17599
|
-
var _v$27 = barColor(), _v$28 = theme.textMuted, _v$29 =
|
|
17728
|
+
var _v$27 = barColor(), _v$28 = theme.textMuted, _v$29 = TextAttributes9.DIM;
|
|
17600
17729
|
_v$27 !== _p$.e && (_p$.e = setProp(_el$46, "fg", _v$27, _p$.e));
|
|
17601
17730
|
_v$28 !== _p$.t && (_p$.t = setProp(_el$48, "fg", _v$28, _p$.t));
|
|
17602
17731
|
_v$29 !== _p$.a && (_p$.a = setProp(_el$48, "attributes", _v$29, _p$.a));
|
|
@@ -17688,7 +17817,7 @@ function Sidebar(props) {
|
|
|
17688
17817
|
return () => _c$4() ? truncatePathTail(l.text, innerW()) : truncateTitle(l.text, innerW());
|
|
17689
17818
|
})());
|
|
17690
17819
|
effect((_p$) => {
|
|
17691
|
-
var _v$35 = l.dim ? theme.textMuted : theme.text, _v$36 = l.bold ?
|
|
17820
|
+
var _v$35 = l.dim ? theme.textMuted : theme.text, _v$36 = l.bold ? TextAttributes9.BOLD : l.dim ? TextAttributes9.DIM : undefined;
|
|
17692
17821
|
_v$35 !== _p$.e && (_p$.e = setProp(_el$57, "fg", _v$35, _p$.e));
|
|
17693
17822
|
_v$36 !== _p$.t && (_p$.t = setProp(_el$57, "attributes", _v$36, _p$.t));
|
|
17694
17823
|
return _p$;
|
|
@@ -17719,7 +17848,7 @@ function Sidebar(props) {
|
|
|
17719
17848
|
}
|
|
17720
17849
|
}), null);
|
|
17721
17850
|
effect((_p$) => {
|
|
17722
|
-
var _v$9 = props.width ? props.width() : SIDEBAR_WIDTH, _v$0 = focusedAccessor() ? theme.focusAccent : theme.textMuted, _v$1 =
|
|
17851
|
+
var _v$9 = props.width ? props.width() : SIDEBAR_WIDTH, _v$0 = focusedAccessor() ? theme.focusAccent : theme.textMuted, _v$1 = TextAttributes9.BOLD, _v$10 = theme.textMuted;
|
|
17723
17852
|
_v$9 !== _p$.e && (_p$.e = setProp(_el$4, "width", _v$9, _p$.e));
|
|
17724
17853
|
_v$0 !== _p$.t && (_p$.t = setProp(_el$6, "fg", _v$0, _p$.t));
|
|
17725
17854
|
_v$1 !== _p$.a && (_p$.a = setProp(_el$6, "attributes", _v$1, _p$.a));
|
|
@@ -17801,7 +17930,7 @@ __export(exports_host, {
|
|
|
17801
17930
|
startTasksPane: () => startTasksPane
|
|
17802
17931
|
});
|
|
17803
17932
|
import { existsSync as existsSync12 } from "fs";
|
|
17804
|
-
import { TextAttributes as
|
|
17933
|
+
import { TextAttributes as TextAttributes10 } from "@opentui/core";
|
|
17805
17934
|
function TasksShell(props) {
|
|
17806
17935
|
const themeCtx = useTheme();
|
|
17807
17936
|
const {
|
|
@@ -18157,11 +18286,19 @@ function TasksShell(props) {
|
|
|
18157
18286
|
emphasize: false
|
|
18158
18287
|
};
|
|
18159
18288
|
});
|
|
18289
|
+
const daemonStale = () => props.orch?.daemonStaleSignal()() ?? false;
|
|
18290
|
+
const daemonVersion = () => props.orch?.daemonVersionSignal()() ?? null;
|
|
18160
18291
|
return (() => {
|
|
18161
18292
|
var _el$ = createElement("box"), _el$2 = createElement("box");
|
|
18162
18293
|
insertNode(_el$, _el$2);
|
|
18163
18294
|
setProp(_el$, "flexDirection", "column");
|
|
18164
18295
|
setProp(_el$, "flexGrow", 1);
|
|
18296
|
+
insert(_el$, createComponent2(VersionSkewBanner, {
|
|
18297
|
+
stale: daemonStale,
|
|
18298
|
+
daemonVersion,
|
|
18299
|
+
clientVersion: CURRENT_VERSION,
|
|
18300
|
+
width: () => dimensions().width
|
|
18301
|
+
}), _el$2);
|
|
18165
18302
|
setProp(_el$2, "flexGrow", 1);
|
|
18166
18303
|
setProp(_el$2, "flexShrink", 1);
|
|
18167
18304
|
insert(_el$2, createComponent2(Sidebar, {
|
|
@@ -18278,7 +18415,7 @@ function ShortcutHints() {
|
|
|
18278
18415
|
setProp(_el$10, "wrapMode", "none");
|
|
18279
18416
|
insert(_el$10, () => clipLabel(h.label));
|
|
18280
18417
|
effect((_p$) => {
|
|
18281
|
-
var _v$3 = theme.accent, _v$4 =
|
|
18418
|
+
var _v$3 = theme.accent, _v$4 = TextAttributes10.BOLD, _v$5 = theme.textMuted;
|
|
18282
18419
|
_v$3 !== _p$.e && (_p$.e = setProp(_el$8, "fg", _v$3, _p$.e));
|
|
18283
18420
|
_v$4 !== _p$.t && (_p$.t = setProp(_el$8, "attributes", _v$4, _p$.t));
|
|
18284
18421
|
_v$5 !== _p$.a && (_p$.a = setProp(_el$10, "fg", _v$5, _p$.a));
|
|
@@ -18292,7 +18429,7 @@ function ShortcutHints() {
|
|
|
18292
18429
|
})()
|
|
18293
18430
|
}), null);
|
|
18294
18431
|
effect((_p$) => {
|
|
18295
|
-
var _v$ = theme.textMuted, _v$2 =
|
|
18432
|
+
var _v$ = theme.textMuted, _v$2 = TextAttributes10.DIM;
|
|
18296
18433
|
_v$ !== _p$.e && (_p$.e = setProp(_el$4, "fg", _v$, _p$.e));
|
|
18297
18434
|
_v$2 !== _p$.t && (_p$.t = setProp(_el$4, "attributes", _v$2, _p$.t));
|
|
18298
18435
|
return _p$;
|
|
@@ -18415,6 +18552,7 @@ var init_host = __esm(() => {
|
|
|
18415
18552
|
init_new_task_dialog();
|
|
18416
18553
|
init_rename_task_dialog();
|
|
18417
18554
|
init_settings_dialog();
|
|
18555
|
+
init_version_skew_banner();
|
|
18418
18556
|
init_focus();
|
|
18419
18557
|
init_kv();
|
|
18420
18558
|
init_theme2();
|
|
@@ -18723,7 +18861,7 @@ __export(exports_host4, {
|
|
|
18723
18861
|
startUpdateHost: () => startUpdateHost
|
|
18724
18862
|
});
|
|
18725
18863
|
import { spawn as spawn4, spawnSync as spawnSync8 } from "child_process";
|
|
18726
|
-
import { TextAttributes as
|
|
18864
|
+
import { TextAttributes as TextAttributes11 } from "@opentui/core";
|
|
18727
18865
|
function openExternalUrl(url) {
|
|
18728
18866
|
if (!url)
|
|
18729
18867
|
return false;
|
|
@@ -18951,7 +19089,7 @@ kobe update failed with exit code ${code}.
|
|
|
18951
19089
|
setProp(_el$32, "wrapMode", "word");
|
|
18952
19090
|
insert(_el$32, () => action.detail);
|
|
18953
19091
|
effect((_p$) => {
|
|
18954
|
-
var _v$12 = selected() === action.id ? theme.primary : undefined, _v$13 = selected() === action.id ? theme.selectedListItemText : theme.accent, _v$14 =
|
|
19092
|
+
var _v$12 = selected() === action.id ? theme.primary : undefined, _v$13 = selected() === action.id ? theme.selectedListItemText : theme.accent, _v$14 = TextAttributes11.BOLD, _v$15 = selected() === action.id ? theme.selectedListItemText : theme.text, _v$16 = selected() === action.id ? theme.selectedListItemText : theme.textMuted;
|
|
18955
19093
|
_v$12 !== _p$.e && (_p$.e = setProp(_el$25, "backgroundColor", _v$12, _p$.e));
|
|
18956
19094
|
_v$13 !== _p$.t && (_p$.t = setProp(_el$27, "fg", _v$13, _p$.t));
|
|
18957
19095
|
_v$14 !== _p$.a && (_p$.a = setProp(_el$27, "attributes", _v$14, _p$.a));
|
|
@@ -19029,7 +19167,7 @@ kobe update failed with exit code ${code}.
|
|
|
19029
19167
|
})()
|
|
19030
19168
|
}), null);
|
|
19031
19169
|
effect((_p$) => {
|
|
19032
|
-
var { background: _v$, text: _v$2 } = theme, _v$3 =
|
|
19170
|
+
var { background: _v$, text: _v$2 } = theme, _v$3 = TextAttributes11.BOLD, _v$4 = theme.textMuted, _v$5 = theme.textMuted, _v$6 = theme.text, _v$7 = TextAttributes11.BOLD, _v$8 = theme.textMuted, _v$9 = info()?.hasUpdate ? theme.warning : theme.success, _v$0 = TextAttributes11.BOLD, _v$1 = theme.textMuted, _v$10 = TextAttributes11.DIM, _v$11 = {
|
|
19033
19171
|
trackOptions: {
|
|
19034
19172
|
backgroundColor: theme.background,
|
|
19035
19173
|
foregroundColor: theme.borderActive
|
|
@@ -19601,7 +19739,7 @@ var init_open_external = () => {};
|
|
|
19601
19739
|
|
|
19602
19740
|
// src/tui/panes/filetree/FileTree.tsx
|
|
19603
19741
|
import { watch } from "fs";
|
|
19604
|
-
import { TextAttributes as
|
|
19742
|
+
import { TextAttributes as TextAttributes12 } from "@opentui/core";
|
|
19605
19743
|
function statusToken(s) {
|
|
19606
19744
|
switch (s) {
|
|
19607
19745
|
case "M":
|
|
@@ -20000,7 +20138,7 @@ function FileTree(props) {
|
|
|
20000
20138
|
insertNode(_el$6, createTextNode(`create PR`));
|
|
20001
20139
|
setProp(_el$6, "wrapMode", "none");
|
|
20002
20140
|
effect((_p$) => {
|
|
20003
|
-
var _v$ = theme.accent, _v$2 =
|
|
20141
|
+
var _v$ = theme.accent, _v$2 = TextAttributes12.BOLD, _v$3 = theme.text;
|
|
20004
20142
|
_v$ !== _p$.e && (_p$.e = setProp(_el$4, "fg", _v$, _p$.e));
|
|
20005
20143
|
_v$2 !== _p$.t && (_p$.t = setProp(_el$4, "attributes", _v$2, _p$.t));
|
|
20006
20144
|
_v$3 !== _p$.a && (_p$.a = setProp(_el$6, "fg", _v$3, _p$.a));
|
|
@@ -20030,7 +20168,7 @@ function FileTree(props) {
|
|
|
20030
20168
|
setProp(_el$26, "onMouseUp", () => setTab(t));
|
|
20031
20169
|
insert(_el$26, () => TAB_LABEL[t]);
|
|
20032
20170
|
effect((_p$) => {
|
|
20033
|
-
var _v$6 = isActive() ? theme.primary : theme.textMuted, _v$7 = isActive() ?
|
|
20171
|
+
var _v$6 = isActive() ? theme.primary : theme.textMuted, _v$7 = isActive() ? TextAttributes12.BOLD : undefined;
|
|
20034
20172
|
_v$6 !== _p$.e && (_p$.e = setProp(_el$26, "fg", _v$6, _p$.e));
|
|
20035
20173
|
_v$7 !== _p$.t && (_p$.t = setProp(_el$26, "attributes", _v$7, _p$.t));
|
|
20036
20174
|
return _p$;
|
|
@@ -20051,7 +20189,7 @@ function FileTree(props) {
|
|
|
20051
20189
|
setProp(_el$27, "wrapMode", "none");
|
|
20052
20190
|
insert(_el$27, () => badge().text);
|
|
20053
20191
|
effect((_p$) => {
|
|
20054
|
-
var _v$8 = badge().active ? theme.accent : theme.textMuted, _v$9 = badge().active ?
|
|
20192
|
+
var _v$8 = badge().active ? theme.accent : theme.textMuted, _v$9 = badge().active ? TextAttributes12.BOLD : undefined;
|
|
20055
20193
|
_v$8 !== _p$.e && (_p$.e = setProp(_el$27, "fg", _v$8, _p$.e));
|
|
20056
20194
|
_v$9 !== _p$.t && (_p$.t = setProp(_el$27, "attributes", _v$9, _p$.t));
|
|
20057
20195
|
return _p$;
|
|
@@ -20205,7 +20343,7 @@ function FileTree(props) {
|
|
|
20205
20343
|
setProp(_el$31, "wrapMode", "none");
|
|
20206
20344
|
insert(_el$31, () => `${indent}${marker} ${row.name}/`);
|
|
20207
20345
|
effect((_p$) => {
|
|
20208
|
-
var _v$0 = rowBg(), _v$1 = theme.textMuted, _v$10 =
|
|
20346
|
+
var _v$0 = rowBg(), _v$1 = theme.textMuted, _v$10 = TextAttributes12.BOLD;
|
|
20209
20347
|
_v$0 !== _p$.e && (_p$.e = setProp(_el$29, "backgroundColor", _v$0, _p$.e));
|
|
20210
20348
|
_v$1 !== _p$.t && (_p$.t = setProp(_el$31, "fg", _v$1, _p$.t));
|
|
20211
20349
|
_v$10 !== _p$.a && (_p$.a = setProp(_el$31, "attributes", _v$10, _p$.a));
|
|
@@ -21085,7 +21223,7 @@ var init_direct = __esm(() => {
|
|
|
21085
21223
|
});
|
|
21086
21224
|
|
|
21087
21225
|
// src/tui/component/help-dialog.tsx
|
|
21088
|
-
import { TextAttributes as
|
|
21226
|
+
import { TextAttributes as TextAttributes13 } from "@opentui/core";
|
|
21089
21227
|
function groupBindings(keymap) {
|
|
21090
21228
|
const groups = new Map;
|
|
21091
21229
|
const order = [];
|
|
@@ -21189,7 +21327,7 @@ function HelpDialog() {
|
|
|
21189
21327
|
}
|
|
21190
21328
|
}), null);
|
|
21191
21329
|
effect((_p$) => {
|
|
21192
|
-
var _v$5 = theme.accent, _v$6 =
|
|
21330
|
+
var _v$5 = theme.accent, _v$6 = TextAttributes13.BOLD;
|
|
21193
21331
|
_v$5 !== _p$.e && (_p$.e = setProp(_el$0, "fg", _v$5, _p$.e));
|
|
21194
21332
|
_v$6 !== _p$.t && (_p$.t = setProp(_el$0, "attributes", _v$6, _p$.t));
|
|
21195
21333
|
return _p$;
|
|
@@ -21201,7 +21339,7 @@ function HelpDialog() {
|
|
|
21201
21339
|
})()
|
|
21202
21340
|
}));
|
|
21203
21341
|
effect((_p$) => {
|
|
21204
|
-
var _v$ =
|
|
21342
|
+
var _v$ = TextAttributes13.BOLD, _v$2 = theme.text, _v$3 = theme.textMuted, _v$4 = {
|
|
21205
21343
|
trackOptions: {
|
|
21206
21344
|
backgroundColor: theme.backgroundDialog,
|
|
21207
21345
|
foregroundColor: theme.borderActive
|
|
@@ -21241,7 +21379,7 @@ var init_help_dialog = __esm(() => {
|
|
|
21241
21379
|
});
|
|
21242
21380
|
|
|
21243
21381
|
// src/tui/component/pane-header.tsx
|
|
21244
|
-
import { TextAttributes as
|
|
21382
|
+
import { TextAttributes as TextAttributes14 } from "@opentui/core";
|
|
21245
21383
|
function PaneHeader(props) {
|
|
21246
21384
|
const {
|
|
21247
21385
|
theme
|
|
@@ -21271,7 +21409,7 @@ function PaneHeader(props) {
|
|
|
21271
21409
|
setProp(_el$3, "wrapMode", "none");
|
|
21272
21410
|
insert(_el$3, () => props.ordinal);
|
|
21273
21411
|
effect((_p$) => {
|
|
21274
|
-
var _v$ = titleColor(), _v$2 =
|
|
21412
|
+
var _v$ = titleColor(), _v$2 = TextAttributes14.BOLD;
|
|
21275
21413
|
_v$ !== _p$.e && (_p$.e = setProp(_el$3, "fg", _v$, _p$.e));
|
|
21276
21414
|
_v$2 !== _p$.t && (_p$.t = setProp(_el$3, "attributes", _v$2, _p$.t));
|
|
21277
21415
|
return _p$;
|
|
@@ -21322,7 +21460,7 @@ function PaneHeader(props) {
|
|
|
21322
21460
|
}
|
|
21323
21461
|
}), null);
|
|
21324
21462
|
effect((_p$) => {
|
|
21325
|
-
var _v$3 = titleColor(), _v$4 =
|
|
21463
|
+
var _v$3 = titleColor(), _v$4 = TextAttributes14.BOLD;
|
|
21326
21464
|
_v$3 !== _p$.e && (_p$.e = setProp(_el$4, "fg", _v$3, _p$.e));
|
|
21327
21465
|
_v$4 !== _p$.t && (_p$.t = setProp(_el$4, "attributes", _v$4, _p$.t));
|
|
21328
21466
|
return _p$;
|
|
@@ -21447,7 +21585,7 @@ var init_resizable_edge = __esm(() => {
|
|
|
21447
21585
|
});
|
|
21448
21586
|
|
|
21449
21587
|
// src/tui/component/status-bar.tsx
|
|
21450
|
-
import { TextAttributes as
|
|
21588
|
+
import { TextAttributes as TextAttributes15 } from "@opentui/core";
|
|
21451
21589
|
function Hotkey(props) {
|
|
21452
21590
|
const {
|
|
21453
21591
|
theme
|
|
@@ -21466,7 +21604,7 @@ function Hotkey(props) {
|
|
|
21466
21604
|
setProp(_el$5, "wrapMode", "none");
|
|
21467
21605
|
insert(_el$5, () => props.label);
|
|
21468
21606
|
effect((_p$) => {
|
|
21469
|
-
var _v$ = theme.accent, _v$2 =
|
|
21607
|
+
var _v$ = theme.accent, _v$2 = TextAttributes15.BOLD, _v$3 = theme.textMuted;
|
|
21470
21608
|
_v$ !== _p$.e && (_p$.e = setProp(_el$2, "fg", _v$, _p$.e));
|
|
21471
21609
|
_v$2 !== _p$.t && (_p$.t = setProp(_el$2, "attributes", _v$2, _p$.t));
|
|
21472
21610
|
_v$3 !== _p$.a && (_p$.a = setProp(_el$5, "fg", _v$3, _p$.a));
|
|
@@ -21554,7 +21692,7 @@ function StatusBar() {
|
|
|
21554
21692
|
insertNode(_el$0, createTextNode(`Press Ctrl+C again to exit`));
|
|
21555
21693
|
setProp(_el$0, "wrapMode", "none");
|
|
21556
21694
|
effect((_p$) => {
|
|
21557
|
-
var _v$4 = theme.warning, _v$5 =
|
|
21695
|
+
var _v$4 = theme.warning, _v$5 = TextAttributes15.BOLD;
|
|
21558
21696
|
_v$4 !== _p$.e && (_p$.e = setProp(_el$0, "fg", _v$4, _p$.e));
|
|
21559
21697
|
_v$5 !== _p$.t && (_p$.t = setProp(_el$0, "attributes", _v$5, _p$.t));
|
|
21560
21698
|
return _p$;
|
|
@@ -21566,7 +21704,7 @@ function StatusBar() {
|
|
|
21566
21704
|
}
|
|
21567
21705
|
}), null);
|
|
21568
21706
|
effect((_p$) => {
|
|
21569
|
-
var _v$6 = theme.primary, _v$7 =
|
|
21707
|
+
var _v$6 = theme.primary, _v$7 = TextAttributes15.BOLD;
|
|
21570
21708
|
_v$6 !== _p$.e && (_p$.e = setProp(_el$8, "fg", _v$6, _p$.e));
|
|
21571
21709
|
_v$7 !== _p$.t && (_p$.t = setProp(_el$8, "attributes", _v$7, _p$.t));
|
|
21572
21710
|
return _p$;
|
|
@@ -21755,7 +21893,7 @@ var init_notifications = __esm(() => {
|
|
|
21755
21893
|
});
|
|
21756
21894
|
|
|
21757
21895
|
// src/tui/component/toast-overlay.tsx
|
|
21758
|
-
import { TextAttributes as
|
|
21896
|
+
import { TextAttributes as TextAttributes16 } from "@opentui/core";
|
|
21759
21897
|
function ToastOverlay() {
|
|
21760
21898
|
const {
|
|
21761
21899
|
theme
|
|
@@ -21798,7 +21936,7 @@ function ToastOverlay() {
|
|
|
21798
21936
|
setProp(_el$4, "wrapMode", "none");
|
|
21799
21937
|
insert(_el$4, () => toast.title);
|
|
21800
21938
|
effect((_p$) => {
|
|
21801
|
-
var _v$3 = bg(), _v$4 = fg(), _v$5 =
|
|
21939
|
+
var _v$3 = bg(), _v$4 = fg(), _v$5 = TextAttributes16.BOLD, _v$6 = fg();
|
|
21802
21940
|
_v$3 !== _p$.e && (_p$.e = setProp(_el$2, "backgroundColor", _v$3, _p$.e));
|
|
21803
21941
|
_v$4 !== _p$.t && (_p$.t = setProp(_el$3, "fg", _v$4, _p$.t));
|
|
21804
21942
|
_v$5 !== _p$.a && (_p$.a = setProp(_el$3, "attributes", _v$5, _p$.a));
|
|
@@ -21858,7 +21996,7 @@ function repoBasename2(repo) {
|
|
|
21858
21996
|
|
|
21859
21997
|
// src/tui/component/top-bar.tsx
|
|
21860
21998
|
import { spawnSync as spawnSync10 } from "child_process";
|
|
21861
|
-
import { TextAttributes as
|
|
21999
|
+
import { TextAttributes as TextAttributes17 } from "@opentui/core";
|
|
21862
22000
|
function TopBar(props) {
|
|
21863
22001
|
const {
|
|
21864
22002
|
theme
|
|
@@ -21933,7 +22071,7 @@ function TopBar(props) {
|
|
|
21933
22071
|
insertNode(_el$7, createTextNode(`[Update]`));
|
|
21934
22072
|
setProp(_el$7, "onMouseUp", () => void confirmUpdate());
|
|
21935
22073
|
effect((_p$) => {
|
|
21936
|
-
var _v$ = theme.warning, _v$2 =
|
|
22074
|
+
var _v$ = theme.warning, _v$2 = TextAttributes17.BOLD;
|
|
21937
22075
|
_v$ !== _p$.e && (_p$.e = setProp(_el$7, "fg", _v$, _p$.e));
|
|
21938
22076
|
_v$2 !== _p$.t && (_p$.t = setProp(_el$7, "attributes", _v$2, _p$.t));
|
|
21939
22077
|
return _p$;
|
|
@@ -21969,7 +22107,7 @@ function TopBar(props) {
|
|
|
21969
22107
|
insertNode(_el$12, createTextNode(`daemon disconnected`));
|
|
21970
22108
|
setProp(_el$12, "wrapMode", "none");
|
|
21971
22109
|
effect((_p$) => {
|
|
21972
|
-
var _v$6 = theme.error, _v$7 =
|
|
22110
|
+
var _v$6 = theme.error, _v$7 = TextAttributes17.BOLD;
|
|
21973
22111
|
_v$6 !== _p$.e && (_p$.e = setProp(_el$12, "fg", _v$6, _p$.e));
|
|
21974
22112
|
_v$7 !== _p$.t && (_p$.t = setProp(_el$12, "attributes", _v$7, _p$.t));
|
|
21975
22113
|
return _p$;
|
|
@@ -21999,7 +22137,7 @@ function TopBar(props) {
|
|
|
21999
22137
|
setProp(_el$15, "wrapMode", "none");
|
|
22000
22138
|
insert(_el$15, () => label().repoName);
|
|
22001
22139
|
effect((_p$) => {
|
|
22002
|
-
var _v$8 = label().branch ? theme.textMuted : theme.text, _v$9 = label().branch ? undefined :
|
|
22140
|
+
var _v$8 = label().branch ? theme.textMuted : theme.text, _v$9 = label().branch ? undefined : TextAttributes17.BOLD;
|
|
22003
22141
|
_v$8 !== _p$.e && (_p$.e = setProp(_el$15, "fg", _v$8, _p$.e));
|
|
22004
22142
|
_v$9 !== _p$.t && (_p$.t = setProp(_el$15, "attributes", _v$9, _p$.t));
|
|
22005
22143
|
return _p$;
|
|
@@ -22031,7 +22169,7 @@ function TopBar(props) {
|
|
|
22031
22169
|
setProp(_el$18, "wrapMode", "none");
|
|
22032
22170
|
insert(_el$18, () => label().branch);
|
|
22033
22171
|
effect((_p$) => {
|
|
22034
|
-
var _v$0 = theme.text, _v$1 =
|
|
22172
|
+
var _v$0 = theme.text, _v$1 = TextAttributes17.BOLD;
|
|
22035
22173
|
_v$0 !== _p$.e && (_p$.e = setProp(_el$18, "fg", _v$0, _p$.e));
|
|
22036
22174
|
_v$1 !== _p$.t && (_p$.t = setProp(_el$18, "attributes", _v$1, _p$.t));
|
|
22037
22175
|
return _p$;
|
|
@@ -22054,7 +22192,7 @@ function TopBar(props) {
|
|
|
22054
22192
|
setProp(_el$11, "gap", 2);
|
|
22055
22193
|
setProp(_el$11, "justifyContent", "flex-end");
|
|
22056
22194
|
effect((_p$) => {
|
|
22057
|
-
var _v$3 = theme.primary, _v$4 =
|
|
22195
|
+
var _v$3 = theme.primary, _v$4 = TextAttributes17.BOLD, _v$5 = theme.textMuted;
|
|
22058
22196
|
_v$3 !== _p$.e && (_p$.e = setProp(_el$3, "fg", _v$3, _p$.e));
|
|
22059
22197
|
_v$4 !== _p$.t && (_p$.t = setProp(_el$3, "attributes", _v$4, _p$.t));
|
|
22060
22198
|
_v$5 !== _p$.a && (_p$.a = setProp(_el$5, "fg", _v$5, _p$.a));
|
package/package.json
CHANGED