@aiwayds/dsh-opentui 0.4.0 → 0.4.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist-host/index.js +71 -62
- package/package.json +2 -1
package/dist-host/index.js
CHANGED
|
@@ -1598,20 +1598,37 @@ function WidgetFrame(props) {
|
|
|
1598
1598
|
get children() {
|
|
1599
1599
|
var _el$ = _$createElement13("box");
|
|
1600
1600
|
_$insert13(_el$, (() => {
|
|
1601
|
-
var _c$ = _$memo6(() =>
|
|
1601
|
+
var _c$ = _$memo6(() => rows() === 1);
|
|
1602
1602
|
return () => _c$() ? (() => {
|
|
1603
|
-
var _el$2 = _$createElement13("box"), _el$3 = _$createElement13("
|
|
1603
|
+
var _el$2 = _$createElement13("box"), _el$3 = _$createElement13("box"), _el$4 = _$createElement13("text");
|
|
1604
1604
|
_$insertNode10(_el$2, _el$3);
|
|
1605
1605
|
_$insertNode10(_el$2, _el$4);
|
|
1606
|
-
_$insertNode10(_el$2, _el$5);
|
|
1607
1606
|
_$setProp13(_el$2, "style", {
|
|
1608
1607
|
flexDirection: "row"
|
|
1609
1608
|
});
|
|
1610
|
-
_$
|
|
1611
|
-
|
|
1609
|
+
_$setProp13(_el$3, "style", {
|
|
1610
|
+
flexDirection: "row",
|
|
1612
1611
|
flexGrow: 1
|
|
1613
1612
|
});
|
|
1614
|
-
_$insert13(_el$
|
|
1613
|
+
_$insert13(_el$3, () => props.children);
|
|
1614
|
+
_$insert13(_el$4, () => props.hint ?? "");
|
|
1615
|
+
_$effect13((_$p) => _$setProp13(_el$4, "style", {
|
|
1616
|
+
fg: dimColor(accent(), 0.25)
|
|
1617
|
+
}, _$p));
|
|
1618
|
+
return _el$2;
|
|
1619
|
+
})() : [_$memo6(() => _$memo6(() => !!(props.title || props.hint))() ? (() => {
|
|
1620
|
+
var _el$5 = _$createElement13("box"), _el$6 = _$createElement13("text"), _el$7 = _$createElement13("box"), _el$8 = _$createElement13("text");
|
|
1621
|
+
_$insertNode10(_el$5, _el$6);
|
|
1622
|
+
_$insertNode10(_el$5, _el$7);
|
|
1623
|
+
_$insertNode10(_el$5, _el$8);
|
|
1624
|
+
_$setProp13(_el$5, "style", {
|
|
1625
|
+
flexDirection: "row"
|
|
1626
|
+
});
|
|
1627
|
+
_$insert13(_el$6, () => props.title);
|
|
1628
|
+
_$setProp13(_el$7, "style", {
|
|
1629
|
+
flexGrow: 1
|
|
1630
|
+
});
|
|
1631
|
+
_$insert13(_el$8, () => props.hint);
|
|
1615
1632
|
_$effect13((_p$) => {
|
|
1616
1633
|
var _v$ = {
|
|
1617
1634
|
fg: accent(),
|
|
@@ -1620,17 +1637,16 @@ function WidgetFrame(props) {
|
|
|
1620
1637
|
}, _v$2 = {
|
|
1621
1638
|
fg: dimColor(accent(), 0.25)
|
|
1622
1639
|
};
|
|
1623
|
-
_v$ !== _p$.e && (_p$.e = _$setProp13(_el$
|
|
1624
|
-
_v$2 !== _p$.t && (_p$.t = _$setProp13(_el$
|
|
1640
|
+
_v$ !== _p$.e && (_p$.e = _$setProp13(_el$6, "style", _v$, _p$.e));
|
|
1641
|
+
_v$2 !== _p$.t && (_p$.t = _$setProp13(_el$8, "style", _v$2, _p$.t));
|
|
1625
1642
|
return _p$;
|
|
1626
1643
|
}, {
|
|
1627
1644
|
e: undefined,
|
|
1628
1645
|
t: undefined
|
|
1629
1646
|
});
|
|
1630
|
-
return _el$
|
|
1631
|
-
})() : null;
|
|
1632
|
-
})()
|
|
1633
|
-
_$insert13(_el$, () => props.children, null);
|
|
1647
|
+
return _el$5;
|
|
1648
|
+
})() : null), _$memo6(() => props.children)];
|
|
1649
|
+
})());
|
|
1634
1650
|
_$effect13((_$p) => _$setProp13(_el$, "style", {
|
|
1635
1651
|
flexDirection: "column",
|
|
1636
1652
|
flexGrow: 0,
|
|
@@ -2386,7 +2402,6 @@ import { createSignal as createSignal3, For as For11, Show as Show8 } from "soli
|
|
|
2386
2402
|
var FLUSH_MS = 60;
|
|
2387
2403
|
var FADE_STEP_MS = 130;
|
|
2388
2404
|
var FADE_STEPS = 5;
|
|
2389
|
-
var IDLE_COLLAPSE_MS = 2000;
|
|
2390
2405
|
var SPINNER_FRAMES2 = ["⠋", "⠙", "⠹", "⠸", "⠼", "⠴", "⠦", "⠧", "⠇", "⠏"];
|
|
2391
2406
|
function createDockFeature(deps) {
|
|
2392
2407
|
const th = () => deps.theme();
|
|
@@ -2404,6 +2419,7 @@ function createDockFeature(deps) {
|
|
|
2404
2419
|
});
|
|
2405
2420
|
let thinkBuf = "";
|
|
2406
2421
|
let lastFlush = 0;
|
|
2422
|
+
let thinkOpen = false;
|
|
2407
2423
|
const [tools, setTools] = createSignal3([]);
|
|
2408
2424
|
const [toolVisible, setToolVisible] = createSignal3(false);
|
|
2409
2425
|
const [toolFading, setToolFading] = createSignal3(false);
|
|
@@ -2435,29 +2451,22 @@ function createDockFeature(deps) {
|
|
|
2435
2451
|
} : s);
|
|
2436
2452
|
};
|
|
2437
2453
|
const fadeTimer = setInterval(() => {
|
|
2438
|
-
const now = Date.now();
|
|
2439
2454
|
setThink((s) => {
|
|
2440
|
-
if (s.fading)
|
|
2441
|
-
|
|
2442
|
-
|
|
2443
|
-
|
|
2444
|
-
|
|
2445
|
-
|
|
2446
|
-
|
|
2447
|
-
|
|
2448
|
-
|
|
2449
|
-
|
|
2450
|
-
|
|
2451
|
-
|
|
2452
|
-
|
|
2453
|
-
|
|
2454
|
-
}
|
|
2455
|
-
if (s.visible)
|
|
2456
|
-
return {
|
|
2457
|
-
...s,
|
|
2458
|
-
expanded: now - s.lastAt < IDLE_COLLAPSE_MS
|
|
2459
|
-
};
|
|
2460
|
-
return s;
|
|
2455
|
+
if (!s.fading)
|
|
2456
|
+
return s;
|
|
2457
|
+
const f = Math.min(1, s.fade + 1 / FADE_STEPS);
|
|
2458
|
+
return f >= 1 ? {
|
|
2459
|
+
visible: false,
|
|
2460
|
+
expanded: false,
|
|
2461
|
+
fading: false,
|
|
2462
|
+
fade: 0,
|
|
2463
|
+
text: "",
|
|
2464
|
+
lastAt: 0,
|
|
2465
|
+
startedAt: 0
|
|
2466
|
+
} : {
|
|
2467
|
+
...s,
|
|
2468
|
+
fade: f
|
|
2469
|
+
};
|
|
2461
2470
|
});
|
|
2462
2471
|
if (toolFading()) {
|
|
2463
2472
|
const f = Math.min(1, toolFade() + 1 / FADE_STEPS);
|
|
@@ -2468,8 +2477,6 @@ function createDockFeature(deps) {
|
|
|
2468
2477
|
setTools([]);
|
|
2469
2478
|
} else
|
|
2470
2479
|
setToolFade(f);
|
|
2471
|
-
} else if (toolVisible()) {
|
|
2472
|
-
setToolExpanded(now - lastToolAt < IDLE_COLLAPSE_MS || tools().some((e) => e.status === "running"));
|
|
2473
2480
|
}
|
|
2474
2481
|
}, FADE_STEP_MS);
|
|
2475
2482
|
const startThinkFade = () => setThink((s) => ({
|
|
@@ -2530,14 +2537,14 @@ function createDockFeature(deps) {
|
|
|
2530
2537
|
`).slice(-Math.max(1, (typeof rowsT === "number" ? rowsT : 7) - 2));
|
|
2531
2538
|
},
|
|
2532
2539
|
children: (line) => (() => {
|
|
2533
|
-
var _el$
|
|
2534
|
-
_$insert15(_el$
|
|
2535
|
-
_$effect15((_$p) => _$setProp15(_el$
|
|
2540
|
+
var _el$6 = _$createElement15("text");
|
|
2541
|
+
_$insert15(_el$6, line || " ");
|
|
2542
|
+
_$effect15((_$p) => _$setProp15(_el$6, "style", {
|
|
2536
2543
|
fg: dimColor(thinkFg(), 0.2),
|
|
2537
2544
|
wrapMode: "none",
|
|
2538
2545
|
truncate: true
|
|
2539
2546
|
}, _$p));
|
|
2540
|
-
return _el$
|
|
2547
|
+
return _el$6;
|
|
2541
2548
|
})()
|
|
2542
2549
|
});
|
|
2543
2550
|
}
|
|
@@ -2546,8 +2553,10 @@ function createDockFeature(deps) {
|
|
|
2546
2553
|
return !t.expanded;
|
|
2547
2554
|
},
|
|
2548
2555
|
get children() {
|
|
2549
|
-
var _el$ = _$createElement15("text"), _el$2 = _$createTextNode10(`\uD83D\uDCAD `);
|
|
2556
|
+
var _el$ = _$createElement15("text"), _el$2 = _$createTextNode10(`\uD83D\uDCAD `), _el$3 = _$createTextNode10(`s `);
|
|
2550
2557
|
_$insertNode12(_el$, _el$2);
|
|
2558
|
+
_$insertNode12(_el$, _el$3);
|
|
2559
|
+
_$insert15(_el$, elapsed, _el$3);
|
|
2551
2560
|
_$insert15(_el$, () => thinkBuf.split(`
|
|
2552
2561
|
`).pop() || " ", null);
|
|
2553
2562
|
_$effect15((_$p) => _$setProp15(_el$, "style", {
|
|
@@ -2596,17 +2605,17 @@ function createDockFeature(deps) {
|
|
|
2596
2605
|
return list.slice(-Math.max(1, (typeof rowsTool === "number" ? rowsTool : 7) - 2));
|
|
2597
2606
|
},
|
|
2598
2607
|
children: (e) => (() => {
|
|
2599
|
-
var _el$
|
|
2600
|
-
_$insert15(_el$
|
|
2608
|
+
var _el$7 = _$createElement15("text");
|
|
2609
|
+
_$insert15(_el$7, (() => {
|
|
2601
2610
|
var _c$2 = _$memo8(() => e.status === "running");
|
|
2602
2611
|
return () => _c$2() ? `⚙ ${e.name} ${e.args}` : `${e.status === "ok" ? "✔" : "✘"} ${e.name} ${e.args}`;
|
|
2603
2612
|
})());
|
|
2604
|
-
_$effect15((_$p) => _$setProp15(_el$
|
|
2613
|
+
_$effect15((_$p) => _$setProp15(_el$7, "style", {
|
|
2605
2614
|
fg: e.status === "running" ? toolFg() : e.status === "fail" ? th().tokens.toolFail ?? th().tokens.danger : th().tokens.toolOk ?? th().tokens.ok,
|
|
2606
2615
|
wrapMode: "none",
|
|
2607
2616
|
truncate: true
|
|
2608
2617
|
}, _$p));
|
|
2609
|
-
return _el$
|
|
2618
|
+
return _el$7;
|
|
2610
2619
|
})()
|
|
2611
2620
|
});
|
|
2612
2621
|
}
|
|
@@ -2615,18 +2624,18 @@ function createDockFeature(deps) {
|
|
|
2615
2624
|
return !toolExpanded();
|
|
2616
2625
|
},
|
|
2617
2626
|
get children() {
|
|
2618
|
-
var _el$
|
|
2619
|
-
_$insertNode12(_el$
|
|
2620
|
-
_$insert15(_el$
|
|
2627
|
+
var _el$4 = _$createElement15("text"), _el$5 = _$createTextNode10(`\uD83D\uDD27 `);
|
|
2628
|
+
_$insertNode12(_el$4, _el$5);
|
|
2629
|
+
_$insert15(_el$4, (() => {
|
|
2621
2630
|
var _c$ = _$memo8(() => running.length > 0);
|
|
2622
2631
|
return () => _c$() ? `⚙ ${running[0].name} ${running[0].args}` : `${list[0]?.name ?? ""} ${list[0]?.args ?? ""}`;
|
|
2623
2632
|
})(), null);
|
|
2624
|
-
_$effect15((_$p) => _$setProp15(_el$
|
|
2633
|
+
_$effect15((_$p) => _$setProp15(_el$4, "style", {
|
|
2625
2634
|
fg: dimColor(toolFg(), 0.2),
|
|
2626
2635
|
wrapMode: "none",
|
|
2627
2636
|
truncate: true
|
|
2628
2637
|
}, _$p));
|
|
2629
|
-
return _el$
|
|
2638
|
+
return _el$4;
|
|
2630
2639
|
}
|
|
2631
2640
|
})];
|
|
2632
2641
|
}
|
|
@@ -2640,8 +2649,11 @@ function createDockFeature(deps) {
|
|
|
2640
2649
|
if (text === "")
|
|
2641
2650
|
return;
|
|
2642
2651
|
const now = Date.now();
|
|
2643
|
-
|
|
2644
|
-
|
|
2652
|
+
cancelThinkHide();
|
|
2653
|
+
const fresh = !think().visible || think().fading || !thinkOpen;
|
|
2654
|
+
thinkBuf = fresh ? text : thinkBuf + text;
|
|
2655
|
+
thinkOpen = true;
|
|
2656
|
+
if (fresh) {
|
|
2645
2657
|
setThink({
|
|
2646
2658
|
visible: true,
|
|
2647
2659
|
expanded: false,
|
|
@@ -2655,8 +2667,6 @@ function createDockFeature(deps) {
|
|
|
2655
2667
|
flush(true);
|
|
2656
2668
|
return;
|
|
2657
2669
|
}
|
|
2658
|
-
cancelThinkHide();
|
|
2659
|
-
thinkBuf = text;
|
|
2660
2670
|
setThink((s) => ({
|
|
2661
2671
|
...s,
|
|
2662
2672
|
text: thinkBuf,
|
|
@@ -2673,6 +2683,7 @@ function createDockFeature(deps) {
|
|
|
2673
2683
|
lastAt: Date.now()
|
|
2674
2684
|
}));
|
|
2675
2685
|
scheduleThinkHide();
|
|
2686
|
+
thinkOpen = false;
|
|
2676
2687
|
},
|
|
2677
2688
|
onToolStart(start) {
|
|
2678
2689
|
lastToolAt = Date.now();
|
|
@@ -2712,17 +2723,14 @@ function createDockFeature(deps) {
|
|
|
2712
2723
|
},
|
|
2713
2724
|
onTurnStart() {
|
|
2714
2725
|
cancelThinkHide();
|
|
2715
|
-
|
|
2716
|
-
|
|
2717
|
-
|
|
2718
|
-
fade: 0,
|
|
2719
|
-
expanded: false
|
|
2720
|
-
} : s);
|
|
2721
|
-
if (tools().length > 0) {
|
|
2726
|
+
if (think().visible)
|
|
2727
|
+
scheduleThinkHide(600);
|
|
2728
|
+
if (tools().length > 0 && toolVisible()) {
|
|
2722
2729
|
setToolFading(true);
|
|
2723
2730
|
setToolFade(0);
|
|
2724
2731
|
}
|
|
2725
2732
|
thinkBuf = "";
|
|
2733
|
+
thinkOpen = false;
|
|
2726
2734
|
},
|
|
2727
2735
|
onTurnEnd() {
|
|
2728
2736
|
thinkBuf = "";
|
|
@@ -2732,6 +2740,7 @@ function createDockFeature(deps) {
|
|
|
2732
2740
|
setToolFading(true);
|
|
2733
2741
|
setToolFade(0);
|
|
2734
2742
|
}
|
|
2743
|
+
thinkOpen = false;
|
|
2735
2744
|
},
|
|
2736
2745
|
tick() {},
|
|
2737
2746
|
reset() {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aiwayds/dsh-opentui",
|
|
3
|
-
"version": "0.4.
|
|
3
|
+
"version": "0.4.1",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"bin": {
|
|
6
6
|
"dsh-opentui": "bin/dsh-opentui.mjs"
|
|
@@ -39,6 +39,7 @@
|
|
|
39
39
|
"typescript": "^5.7.0",
|
|
40
40
|
"@types/bun": "latest",
|
|
41
41
|
"@deepseek-ai/cordis": "4.0.5",
|
|
42
|
+
"@deepseek-ai/dsh-llm": "0.2.1-rc.5",
|
|
42
43
|
"@dsh-opentui/runtime": "workspace:*",
|
|
43
44
|
"@dsh-opentui/kit": "workspace:*"
|
|
44
45
|
},
|