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