@aiwayds/dsh-tui-pi 0.8.2 → 0.9.0
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/README.md +44 -3
- package/README.zh.md +36 -3
- package/assets/fonts/LICENSE-Hack.txt +45 -0
- package/assets/fonts/LICENSE-NerdFonts.txt +126 -0
- package/assets/fonts/LICENSE-NotoSansSymbols.txt +93 -0
- package/assets/fonts/LICENSE-NotoSansSymbols2.txt +93 -0
- package/assets/fonts/dsh-tui-pi-nerd.ttf +0 -0
- package/assets/fonts-gen.mjs +219 -0
- package/assets/whale-gen.mjs +169 -0
- package/assets/whale-source.png +0 -0
- package/lib/agents.js +1 -1
- package/lib/agents.js.map +1 -1
- package/lib/canvas-terminal.d.ts +17 -11
- package/lib/canvas-terminal.js +62 -24
- package/lib/canvas-terminal.js.map +1 -1
- package/lib/dsh-events.d.ts +32 -3
- package/lib/dsh-events.js +14 -0
- package/lib/dsh-events.js.map +1 -1
- package/lib/font-detect.d.ts +66 -0
- package/lib/font-detect.js +124 -0
- package/lib/font-detect.js.map +1 -0
- package/lib/footer.d.ts +3 -2
- package/lib/footer.js +16 -8
- package/lib/footer.js.map +1 -1
- package/lib/icons.d.ts +53 -0
- package/lib/icons.js +78 -0
- package/lib/icons.js.map +1 -0
- package/lib/index.js +44 -13
- package/lib/index.js.map +1 -1
- package/lib/live-widgets.d.ts +16 -5
- package/lib/live-widgets.js +29 -8
- package/lib/live-widgets.js.map +1 -1
- package/lib/messages.js +2 -1
- package/lib/messages.js.map +1 -1
- package/lib/session.d.ts +99 -16
- package/lib/session.js +322 -64
- package/lib/session.js.map +1 -1
- package/lib/sessions.d.ts +15 -0
- package/lib/sessions.js +18 -3
- package/lib/sessions.js.map +1 -1
- package/lib/settings.js +2 -2
- package/lib/skills.d.ts +19 -3
- package/lib/skills.js +43 -10
- package/lib/skills.js.map +1 -1
- package/lib/subagent-policy.d.ts +11 -11
- package/lib/subagent-policy.js +17 -15
- package/lib/subagent-policy.js.map +1 -1
- package/lib/subagent-viewer.d.ts +20 -5
- package/lib/subagent-viewer.js +29 -15
- package/lib/subagent-viewer.js.map +1 -1
- package/lib/theme-settings.d.ts +25 -10
- package/lib/theme-settings.js +40 -14
- package/lib/theme-settings.js.map +1 -1
- package/lib/tokens.d.ts +38 -0
- package/lib/tokens.js +68 -0
- package/lib/tokens.js.map +1 -0
- package/lib/tui.js +15 -6
- package/lib/tui.js.map +1 -1
- package/package.json +2 -1
- package/scripts/install-font.mjs +329 -0
package/lib/subagent-viewer.d.ts
CHANGED
|
@@ -6,8 +6,11 @@
|
|
|
6
6
|
* Picker rows (running first, then the five most recent settled) carry the
|
|
7
7
|
* full picture of a delegation: status icon, label, delegation mode, rounds
|
|
8
8
|
* against the policy cap (`maxRounds` from `readSubagentLimits`, only shown
|
|
9
|
-
* when > 0), token spend (k) and elapsed time.
|
|
10
|
-
*
|
|
9
|
+
* when > 0), token spend (k) and elapsed time. Rounds are the child's
|
|
10
|
+
* assistant-message count (one per LLM round-trip) — the bridge maintains it
|
|
11
|
+
* on `assistant/message`, so it advances while a one-shot child works.
|
|
12
|
+
* Settled rows read as faded because their status icon and the muted
|
|
13
|
+
* description column mark the outcome.
|
|
11
14
|
*
|
|
12
15
|
* Transcript panel: one human-readable line per buffered SessionEvent
|
|
13
16
|
* (user/assistant messages, tool calls + truncated results, turns, descriptor,
|
|
@@ -19,17 +22,29 @@
|
|
|
19
22
|
* `DOUBLE_PRESS_MS`.
|
|
20
23
|
*/
|
|
21
24
|
import type { Context } from '@deepseek-ai/cordis';
|
|
25
|
+
import type { SessionEvent } from '@deepseek-ai/dsh-session';
|
|
22
26
|
import { type SelectItem, type TUI } from '@earendil-works/pi-tui';
|
|
23
27
|
import type { AgentView } from './dsh-events.ts';
|
|
24
28
|
import type { DshSessionBridge } from './session.ts';
|
|
25
29
|
import { type TuiTheme } from './theme/index.ts';
|
|
30
|
+
/**
|
|
31
|
+
* The one human-readable line per buffered event. `callNames` pairs
|
|
32
|
+
* `tool/result` rows back to their `tool/call` name (call ids are opaque).
|
|
33
|
+
* Returns undefined to skip events that carry no readable surface (raw
|
|
34
|
+
* `assistant/chunk` deltas fold into the assembled message, command nodes
|
|
35
|
+
* render in the parent's transcript only).
|
|
36
|
+
*/
|
|
37
|
+
export declare function eventLine(event: SessionEvent, callNames: Map<string, string>): string | undefined;
|
|
38
|
+
/** All readable lines of one child's buffered log, in log order. */
|
|
39
|
+
export declare function eventLines(events: readonly SessionEvent[]): string[];
|
|
26
40
|
/**
|
|
27
41
|
* The picker rows: running children first (the live items the key is for),
|
|
28
42
|
* then the five most recent settled ones (newest settle first). Each row
|
|
29
|
-
* reads `⠋ label [mode] · rounds N[/max]` with the token spend
|
|
30
|
-
* seconds in the muted description
|
|
43
|
+
* reads `⠋ label [mode] · rounds N[/max]` with the token spend, the dsh-dcp
|
|
44
|
+
* compaction count (when > 0) and elapsed seconds in the muted description
|
|
45
|
+
* column.
|
|
31
46
|
*/
|
|
32
|
-
export declare function pickerItems(views: readonly AgentView[],
|
|
47
|
+
export declare function pickerItems(views: readonly AgentView[], getRoundCount: (childId: string) => number, maxRounds: number, getCompactionCount?: (childId: string) => number): SelectItem[];
|
|
33
48
|
/**
|
|
34
49
|
* The next selected index after a picker items swap, preserving the selection
|
|
35
50
|
* by item value. `previous === undefined` (no selection yet) starts at 0; a
|
package/lib/subagent-viewer.js
CHANGED
|
@@ -6,8 +6,11 @@
|
|
|
6
6
|
* Picker rows (running first, then the five most recent settled) carry the
|
|
7
7
|
* full picture of a delegation: status icon, label, delegation mode, rounds
|
|
8
8
|
* against the policy cap (`maxRounds` from `readSubagentLimits`, only shown
|
|
9
|
-
* when > 0), token spend (k) and elapsed time.
|
|
10
|
-
*
|
|
9
|
+
* when > 0), token spend (k) and elapsed time. Rounds are the child's
|
|
10
|
+
* assistant-message count (one per LLM round-trip) — the bridge maintains it
|
|
11
|
+
* on `assistant/message`, so it advances while a one-shot child works.
|
|
12
|
+
* Settled rows read as faded because their status icon and the muted
|
|
13
|
+
* description column mark the outcome.
|
|
11
14
|
*
|
|
12
15
|
* Transcript panel: one human-readable line per buffered SessionEvent
|
|
13
16
|
* (user/assistant messages, tool calls + truncated results, turns, descriptor,
|
|
@@ -19,6 +22,8 @@
|
|
|
19
22
|
* `DOUBLE_PRESS_MS`.
|
|
20
23
|
*/
|
|
21
24
|
import { getKeybindings, SelectList, } from '@earendil-works/pi-tui';
|
|
25
|
+
import { isDcpCompactionNotice } from "./dsh-events.js";
|
|
26
|
+
import { sunglassesIcon } from "./icons.js";
|
|
22
27
|
import { DOUBLE_PRESS_MS, MIN_DOUBLE_PRESS_GAP_MS } from "./keymap.js";
|
|
23
28
|
import { readSubagentLimits } from "./theme-settings.js";
|
|
24
29
|
import { PanelHost, panelThemeFns } from "./panels.js";
|
|
@@ -88,7 +93,7 @@ function statusGlyph(view) {
|
|
|
88
93
|
* `assistant/chunk` deltas fold into the assembled message, command nodes
|
|
89
94
|
* render in the parent's transcript only).
|
|
90
95
|
*/
|
|
91
|
-
function eventLine(event, callNames) {
|
|
96
|
+
export function eventLine(event, callNames) {
|
|
92
97
|
switch (event.type) {
|
|
93
98
|
case 'turn/start':
|
|
94
99
|
return `– turn ${event.data.turn} start`;
|
|
@@ -104,6 +109,12 @@ function eventLine(event, callNames) {
|
|
|
104
109
|
const text = normalizePreview(textOfContent(message.content));
|
|
105
110
|
if (text === '')
|
|
106
111
|
return undefined;
|
|
112
|
+
// dsh-dcp compaction notice: flag the row with the compaction glyph
|
|
113
|
+
// instead of the generic `ⓘ`, so the viewer shows whether DCP ran
|
|
114
|
+
// inside this child (the shared guard also drives the bridge's tally).
|
|
115
|
+
if (isDcpCompactionNotice(event)) {
|
|
116
|
+
return `🧹 ${text}`;
|
|
117
|
+
}
|
|
107
118
|
return message.source?.kind === 'user' ? `▎ ${text}` : `ⓘ ${text}`;
|
|
108
119
|
}
|
|
109
120
|
case 'assistant/message': {
|
|
@@ -142,7 +153,7 @@ function eventLine(event, callNames) {
|
|
|
142
153
|
}
|
|
143
154
|
case 'subagent/descriptor': {
|
|
144
155
|
const descriptor = event.data;
|
|
145
|
-
const parts = [
|
|
156
|
+
const parts = [`${sunglassesIcon()} subagent`];
|
|
146
157
|
if (descriptor.provider !== undefined && descriptor.provider !== '')
|
|
147
158
|
parts.push(descriptor.provider);
|
|
148
159
|
if (descriptor.mode !== undefined)
|
|
@@ -162,7 +173,7 @@ function eventLine(event, callNames) {
|
|
|
162
173
|
}
|
|
163
174
|
}
|
|
164
175
|
/** All readable lines of one child's buffered log, in log order. */
|
|
165
|
-
function eventLines(events) {
|
|
176
|
+
export function eventLines(events) {
|
|
166
177
|
const lines = [];
|
|
167
178
|
const callNames = new Map();
|
|
168
179
|
for (const event of events) {
|
|
@@ -175,22 +186,25 @@ function eventLines(events) {
|
|
|
175
186
|
/**
|
|
176
187
|
* The picker rows: running children first (the live items the key is for),
|
|
177
188
|
* then the five most recent settled ones (newest settle first). Each row
|
|
178
|
-
* reads `⠋ label [mode] · rounds N[/max]` with the token spend
|
|
179
|
-
* seconds in the muted description
|
|
189
|
+
* reads `⠋ label [mode] · rounds N[/max]` with the token spend, the dsh-dcp
|
|
190
|
+
* compaction count (when > 0) and elapsed seconds in the muted description
|
|
191
|
+
* column.
|
|
180
192
|
*/
|
|
181
|
-
export function pickerItems(views,
|
|
193
|
+
export function pickerItems(views, getRoundCount, maxRounds, getCompactionCount = () => 0) {
|
|
182
194
|
const running = views.filter(view => view.outcome === undefined);
|
|
183
195
|
const settled = views
|
|
184
196
|
.filter((view) => view.outcome !== undefined && view.endedAt !== undefined)
|
|
185
197
|
.sort((a, b) => b.endedAt - a.endedAt)
|
|
186
198
|
.slice(0, SETTLED_CAP);
|
|
187
199
|
return [...running, ...settled].map(view => {
|
|
188
|
-
const rounds =
|
|
200
|
+
const rounds = getRoundCount(view.childId);
|
|
189
201
|
const roundsText = maxRounds > 0 ? `rounds ${rounds}/${maxRounds}` : `rounds ${rounds}`;
|
|
190
202
|
const mode = view.mode === undefined ? '' : ` [${view.mode}]`;
|
|
191
203
|
const elapsedMs = (view.outcome === undefined ? Date.now() : view.endedAt ?? Date.now()) - view.startedAt;
|
|
204
|
+
const compactions = getCompactionCount(view.childId);
|
|
192
205
|
const description = [
|
|
193
206
|
...(view.tokens > 0 ? [formatTokens(view.tokens)] : []),
|
|
207
|
+
...(compactions > 0 ? [`🧹 ${compactions}×`] : []),
|
|
194
208
|
`${(elapsedMs / 1000).toFixed(1)}s`,
|
|
195
209
|
].join(' · ');
|
|
196
210
|
return {
|
|
@@ -433,7 +447,7 @@ class SubagentViewerPanel {
|
|
|
433
447
|
if (view.mode !== undefined)
|
|
434
448
|
tail.push(view.mode);
|
|
435
449
|
const maxRounds = this.readMaxRounds();
|
|
436
|
-
tail.push(`rounds ${this.bridge.
|
|
450
|
+
tail.push(`rounds ${this.bridge.getRoundCount(this.childId)}${maxRounds > 0 ? `/${maxRounds}` : ''}`);
|
|
437
451
|
if (view.tokens > 0)
|
|
438
452
|
tail.push(formatTokens(view.tokens));
|
|
439
453
|
// Budget the plain text so the status suffix (its own color) still fits.
|
|
@@ -474,11 +488,11 @@ export async function openSubagentViewer(ctx, tui, theme, bridge, restoreFocus)
|
|
|
474
488
|
settle?.();
|
|
475
489
|
};
|
|
476
490
|
const showPicker = () => {
|
|
477
|
-
// `bridge.
|
|
478
|
-
// unbound method through to the pure item builder. `buildItems`
|
|
479
|
-
// the limits live on every tick, so a maxRounds change
|
|
480
|
-
// the picker stays open (no more open-time snapshot).
|
|
481
|
-
const buildItems = () => pickerItems(bridge.getAgentViews(), childId => bridge.
|
|
491
|
+
// `bridge.getRoundCount` reads instance state — wrap instead of passing
|
|
492
|
+
// the unbound method through to the pure item builder. `buildItems`
|
|
493
|
+
// re-reads the limits live on every tick, so a maxRounds change
|
|
494
|
+
// hot-applies while the picker stays open (no more open-time snapshot).
|
|
495
|
+
const buildItems = () => pickerItems(bridge.getAgentViews(), childId => bridge.getRoundCount(childId), readSubagentLimits(ctx).maxRounds, childId => bridge.getChildCompactionCount(childId));
|
|
482
496
|
const items = buildItems();
|
|
483
497
|
if (items.length === 0) {
|
|
484
498
|
finish();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"subagent-viewer.js","sourceRoot":"","sources":["../src/subagent-viewer.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"subagent-viewer.js","sourceRoot":"","sources":["../src/subagent-viewer.ts"],"names":[],"mappings":"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"}
|
package/lib/theme-settings.d.ts
CHANGED
|
@@ -13,6 +13,7 @@ import type { Context } from '@deepseek-ai/cordis';
|
|
|
13
13
|
import { type SettingsNamespace } from '@deepseek-ai/dsh-settings';
|
|
14
14
|
import { type FooterHints } from './footer.ts';
|
|
15
15
|
import { type PanelHeight } from './activity.ts';
|
|
16
|
+
import type { IconSet } from './icons.ts';
|
|
16
17
|
import type { ThemePreference } from './theme/index.ts';
|
|
17
18
|
/** Settings namespace carrying the persisted dsh-tui preferences. */
|
|
18
19
|
export declare const THEME_SETTINGS_NAMESPACE: SettingsNamespace;
|
|
@@ -20,7 +21,10 @@ export declare const THEME_SETTINGS_NAMESPACE: SettingsNamespace;
|
|
|
20
21
|
export interface SubagentLimits {
|
|
21
22
|
/** Concurrent live children allowed; 0 lifts the cap (the guard stays off). */
|
|
22
23
|
maxAgents: number;
|
|
23
|
-
/**
|
|
24
|
+
/**
|
|
25
|
+
* Assistant messages per child (one per LLM round-trip — the "rounds" unit)
|
|
26
|
+
* before a summary request is injected; 0 disables.
|
|
27
|
+
*/
|
|
24
28
|
maxRounds: number;
|
|
25
29
|
/**
|
|
26
30
|
* Disable the native `subagent` tool for every agent in the process, so
|
|
@@ -33,10 +37,12 @@ export interface SubagentLimits {
|
|
|
33
37
|
}
|
|
34
38
|
/**
|
|
35
39
|
* Default subagent limits, applied whenever the settings service, namespace,
|
|
36
|
-
* or a field cannot be read. 4 concurrent children and
|
|
37
|
-
* the documented out-of-the-box behavior
|
|
38
|
-
*
|
|
39
|
-
*
|
|
40
|
+
* or a field cannot be read. 4 concurrent children and 75 rounds per child
|
|
41
|
+
* are the documented out-of-the-box behavior (75 rounds = 75 LLM
|
|
42
|
+
* round-trips, headroom for heavy delegated tasks while still capping a
|
|
43
|
+
* runaway child); the native `subagent` tool is disabled by default — the
|
|
44
|
+
* TUI's user delegates through registered agents (toggle it in /agents → l
|
|
45
|
+
* limits when the plain tool is needed again).
|
|
40
46
|
*/
|
|
41
47
|
export declare const DEFAULT_SUBAGENT_LIMITS: SubagentLimits;
|
|
42
48
|
/**
|
|
@@ -55,11 +61,11 @@ export declare const DEFAULT_SUBAGENT_LIMITS: SubagentLimits;
|
|
|
55
61
|
*
|
|
56
62
|
* @param ctx - plugin context; does nothing while no settings service is mounted.
|
|
57
63
|
* @param onPreferenceChange - hot-reload sink for committed `dsh-tui` theme,
|
|
58
|
-
* panel-height
|
|
59
|
-
* already registered (a reloaded plugin instance, a second mount
|
|
60
|
-
* bundle) or registration fails.
|
|
64
|
+
* panel-height, footer-hints and icon-set changes; `undefined` when the
|
|
65
|
+
* namespace is already registered (a reloaded plugin instance, a second mount
|
|
66
|
+
* of this bundle) or registration fails.
|
|
61
67
|
*/
|
|
62
|
-
export declare function registerThemeSettings(ctx: Context, onPreferenceChange?: (pref: ThemePreference, panelHeight: PanelHeight, footerHints: FooterHints) => void): void;
|
|
68
|
+
export declare function registerThemeSettings(ctx: Context, onPreferenceChange?: (pref: ThemePreference, panelHeight: PanelHeight, footerHints: FooterHints, iconSet: IconSet) => void): void;
|
|
63
69
|
/**
|
|
64
70
|
* Read the persisted theme preference (the startup snapshot).
|
|
65
71
|
*
|
|
@@ -84,6 +90,14 @@ export declare function readPanelHeightPreference(ctx: Context): Promise<PanelHe
|
|
|
84
90
|
* when the settings service is absent or the namespace/value cannot be read.
|
|
85
91
|
*/
|
|
86
92
|
export declare function readFooterHintsPreference(ctx: Context): Promise<FooterHints>;
|
|
93
|
+
/**
|
|
94
|
+
* Read the persisted icon-set mode (the startup snapshot).
|
|
95
|
+
*
|
|
96
|
+
* @param ctx - plugin context.
|
|
97
|
+
* @returns the resolved `dsh-tui` iconSet value, or `'auto'` when the settings
|
|
98
|
+
* service is absent or the namespace/value cannot be read.
|
|
99
|
+
*/
|
|
100
|
+
export declare function readIconSetPreference(ctx: Context): Promise<IconSet>;
|
|
87
101
|
/**
|
|
88
102
|
* Read the currently persisted footer-hint selection, synchronously.
|
|
89
103
|
* Unlike `readFooterHintsPreference` (the startup snapshot), this does not
|
|
@@ -112,7 +126,8 @@ export declare function writeThemePreference(ctx: Context, pref: ThemePreference
|
|
|
112
126
|
* Read the currently resolved subagent limits, synchronously. Unlike the
|
|
113
127
|
* startup-snapshot readers, this does not wait for the namespace registration
|
|
114
128
|
* — it describes whatever the settings service exposes right now, so every
|
|
115
|
-
* policy decision (the guard at each spawn, `
|
|
129
|
+
* policy decision (the guard at each spawn, `onRoundCount` at each child
|
|
130
|
+
* assistant message)
|
|
116
131
|
* reflects the latest committed value without a watcher. Missing settings
|
|
117
132
|
* service or namespace, or a non-integer/negative field, degrades to the
|
|
118
133
|
* defaults — a settings-less deployment keeps the documented caps.
|
package/lib/theme-settings.js
CHANGED
|
@@ -17,14 +17,16 @@ import { DEFAULT_PANEL_HEIGHT } from "./activity.js";
|
|
|
17
17
|
export const THEME_SETTINGS_NAMESPACE = settingsNamespace('dsh-tui');
|
|
18
18
|
/**
|
|
19
19
|
* Default subagent limits, applied whenever the settings service, namespace,
|
|
20
|
-
* or a field cannot be read. 4 concurrent children and
|
|
21
|
-
* the documented out-of-the-box behavior
|
|
22
|
-
*
|
|
23
|
-
*
|
|
20
|
+
* or a field cannot be read. 4 concurrent children and 75 rounds per child
|
|
21
|
+
* are the documented out-of-the-box behavior (75 rounds = 75 LLM
|
|
22
|
+
* round-trips, headroom for heavy delegated tasks while still capping a
|
|
23
|
+
* runaway child); the native `subagent` tool is disabled by default — the
|
|
24
|
+
* TUI's user delegates through registered agents (toggle it in /agents → l
|
|
25
|
+
* limits when the plain tool is needed again).
|
|
24
26
|
*/
|
|
25
27
|
export const DEFAULT_SUBAGENT_LIMITS = Object.freeze({
|
|
26
28
|
maxAgents: 4,
|
|
27
|
-
maxRounds:
|
|
29
|
+
maxRounds: 75,
|
|
28
30
|
disableSubagent: true,
|
|
29
31
|
});
|
|
30
32
|
/** Schema of the `dsh-tui` settings section. */
|
|
@@ -49,7 +51,7 @@ const THEME_SETTINGS_SCHEMA = z.object({
|
|
|
49
51
|
maxRounds: z
|
|
50
52
|
.natural()
|
|
51
53
|
.default(DEFAULT_SUBAGENT_LIMITS.maxRounds)
|
|
52
|
-
.description('Max
|
|
54
|
+
.description('Max assistant messages per subagent before the TUI sends a summary request (0 = unlimited)'),
|
|
53
55
|
disableSubagent: z
|
|
54
56
|
.boolean()
|
|
55
57
|
.default(DEFAULT_SUBAGENT_LIMITS.disableSubagent)
|
|
@@ -67,6 +69,13 @@ const THEME_SETTINGS_SCHEMA = z.object({
|
|
|
67
69
|
})
|
|
68
70
|
.default({ ...DEFAULT_FOOTER_HINTS })
|
|
69
71
|
.description('Footer shortcut hints to display (toggle each one on/off)'),
|
|
72
|
+
iconSet: z
|
|
73
|
+
.union(['auto', 'nerdfont', 'plain'])
|
|
74
|
+
.default('auto')
|
|
75
|
+
.description("Icon set for the risky glyphs ('auto' = pick nerdfont when a Nerd Font "
|
|
76
|
+
+ "is detected at startup, plain otherwise; 'nerdfont' = powerline PUA "
|
|
77
|
+
+ 'glyphs (U+E0B0 separator, stop, heavy circle); plain = safe Unicode '
|
|
78
|
+
+ 'stand-ins (▸ ■ ●) — auto is the recommended default)'),
|
|
70
79
|
});
|
|
71
80
|
/** Composition entry below the user layer: fall back to the defaults. */
|
|
72
81
|
const THEME_SETTINGS_ENTRY = {
|
|
@@ -76,6 +85,7 @@ const THEME_SETTINGS_ENTRY = {
|
|
|
76
85
|
maxRounds: DEFAULT_SUBAGENT_LIMITS.maxRounds,
|
|
77
86
|
disableSubagent: DEFAULT_SUBAGENT_LIMITS.disableSubagent,
|
|
78
87
|
footerHints: { ...DEFAULT_FOOTER_HINTS },
|
|
88
|
+
iconSet: 'auto',
|
|
79
89
|
};
|
|
80
90
|
/**
|
|
81
91
|
* In-flight namespace registration. The registration rides the settings
|
|
@@ -100,9 +110,9 @@ let registrationPromise;
|
|
|
100
110
|
*
|
|
101
111
|
* @param ctx - plugin context; does nothing while no settings service is mounted.
|
|
102
112
|
* @param onPreferenceChange - hot-reload sink for committed `dsh-tui` theme,
|
|
103
|
-
* panel-height
|
|
104
|
-
* already registered (a reloaded plugin instance, a second mount
|
|
105
|
-
* bundle) or registration fails.
|
|
113
|
+
* panel-height, footer-hints and icon-set changes; `undefined` when the
|
|
114
|
+
* namespace is already registered (a reloaded plugin instance, a second mount
|
|
115
|
+
* of this bundle) or registration fails.
|
|
106
116
|
*/
|
|
107
117
|
export function registerThemeSettings(ctx, onPreferenceChange) {
|
|
108
118
|
registrationPromise = new Promise(resolve => {
|
|
@@ -126,13 +136,14 @@ export function registerThemeSettings(ctx, onPreferenceChange) {
|
|
|
126
136
|
if (onPreferenceChange !== undefined) {
|
|
127
137
|
scope.watch((next) => {
|
|
128
138
|
// The resolved section is `{ theme: ..., panelHeight: ...,
|
|
129
|
-
// footerHints: {...} }` — narrow the unknown to the
|
|
139
|
+
// footerHints: {...}, iconSet: ... }` — narrow the unknown to the
|
|
140
|
+
// observed fields.
|
|
130
141
|
const section = next;
|
|
131
142
|
const theme = section.theme;
|
|
132
143
|
const panelHeight = section.panelHeight;
|
|
133
144
|
onPreferenceChange(theme === 'light' || theme === 'dark' ? theme : 'auto', panelHeight === '1' || panelHeight === '5' || panelHeight === '7' || panelHeight === '10' || panelHeight === 'all'
|
|
134
145
|
? panelHeight
|
|
135
|
-
: DEFAULT_PANEL_HEIGHT, narrowFooterHints(section.footerHints));
|
|
146
|
+
: DEFAULT_PANEL_HEIGHT, narrowFooterHints(section.footerHints), narrowIconSet(section.iconSet));
|
|
136
147
|
});
|
|
137
148
|
}
|
|
138
149
|
}
|
|
@@ -158,6 +169,10 @@ function narrowFooterHints(value) {
|
|
|
158
169
|
}
|
|
159
170
|
return hints;
|
|
160
171
|
}
|
|
172
|
+
/** Validate an unknown `iconSet` value (anything else narrows to 'auto'). */
|
|
173
|
+
function narrowIconSet(value) {
|
|
174
|
+
return value === 'nerdfont' || value === 'plain' ? value : 'auto';
|
|
175
|
+
}
|
|
161
176
|
/**
|
|
162
177
|
* The resolved `dsh-tui` section as read from the settings provider, after
|
|
163
178
|
* waiting for the in-flight registration.
|
|
@@ -187,8 +202,8 @@ async function readResolvedSection(ctx) {
|
|
|
187
202
|
if (settings === undefined)
|
|
188
203
|
return undefined;
|
|
189
204
|
// The descriptor's `value` is the whole resolved section
|
|
190
|
-
// (`{ theme: ..., panelHeight: ..., footerHints: {...} }`), not
|
|
191
|
-
// itself — narrow the unknown to the
|
|
205
|
+
// (`{ theme: ..., panelHeight: ..., footerHints: {...}, iconSet: ... }`), not
|
|
206
|
+
// the field itself — narrow the unknown to the observed fields.
|
|
192
207
|
return settings
|
|
193
208
|
.describe()
|
|
194
209
|
.find((descriptor) => descriptor.ns === THEME_SETTINGS_NAMESPACE)?.value;
|
|
@@ -229,6 +244,16 @@ export async function readPanelHeightPreference(ctx) {
|
|
|
229
244
|
export async function readFooterHintsPreference(ctx) {
|
|
230
245
|
return narrowFooterHints((await readResolvedSection(ctx))?.footerHints);
|
|
231
246
|
}
|
|
247
|
+
/**
|
|
248
|
+
* Read the persisted icon-set mode (the startup snapshot).
|
|
249
|
+
*
|
|
250
|
+
* @param ctx - plugin context.
|
|
251
|
+
* @returns the resolved `dsh-tui` iconSet value, or `'auto'` when the settings
|
|
252
|
+
* service is absent or the namespace/value cannot be read.
|
|
253
|
+
*/
|
|
254
|
+
export async function readIconSetPreference(ctx) {
|
|
255
|
+
return narrowIconSet((await readResolvedSection(ctx))?.iconSet);
|
|
256
|
+
}
|
|
232
257
|
/**
|
|
233
258
|
* Read the currently persisted footer-hint selection, synchronously.
|
|
234
259
|
* Unlike `readFooterHintsPreference` (the startup snapshot), this does not
|
|
@@ -311,7 +336,8 @@ export async function writeThemePreference(ctx, pref) {
|
|
|
311
336
|
* Read the currently resolved subagent limits, synchronously. Unlike the
|
|
312
337
|
* startup-snapshot readers, this does not wait for the namespace registration
|
|
313
338
|
* — it describes whatever the settings service exposes right now, so every
|
|
314
|
-
* policy decision (the guard at each spawn, `
|
|
339
|
+
* policy decision (the guard at each spawn, `onRoundCount` at each child
|
|
340
|
+
* assistant message)
|
|
315
341
|
* reflects the latest committed value without a watcher. Missing settings
|
|
316
342
|
* service or namespace, or a non-integer/negative field, degrades to the
|
|
317
343
|
* defaults — a settings-less deployment keeps the documented caps.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"theme-settings.js","sourceRoot":"","sources":["../src/theme-settings.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,OAAO,EACL,qBAAqB,EACrB,iBAAiB,GAIlB,MAAM,2BAA2B,CAAA;AAClC,OAAO,CAAC,MAAM,0BAA0B,CAAA;AACxC,OAAO,EAAE,oBAAoB,EAAoB,MAAM,aAAa,CAAA;AACpE,OAAO,EAAE,oBAAoB,EAAoB,MAAM,eAAe,CAAA;
|
|
1
|
+
{"version":3,"file":"theme-settings.js","sourceRoot":"","sources":["../src/theme-settings.ts"],"names":[],"mappings":"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"}
|
package/lib/tokens.d.ts
ADDED
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CJK-aware token estimation for the TUI's context-occupancy display.
|
|
3
|
+
*
|
|
4
|
+
* Ported from @aiwayds/dsh-dcp (`lib/summarizer.js`, `estimateTextTokens`).
|
|
5
|
+
* CJK scripts and full-width forms are priced denser than ASCII: Han (中文),
|
|
6
|
+
* kana (日文), hangul (韩文), plus CJK punctuation and full-width variants.
|
|
7
|
+
* A CJK character encodes roughly one token in real tokenizers, while ASCII
|
|
8
|
+
* runs ~4 chars/token, so the estimate is:
|
|
9
|
+
*
|
|
10
|
+
* tokens = ceil(cjkCount / 2 + (length - cjkCount) / 4)
|
|
11
|
+
*
|
|
12
|
+
* The default `cjk` mode prices CJK near reality while staying identical to a
|
|
13
|
+
* flat 4-chars/token meter for pure-ASCII text; `ascii` is that flat meter.
|
|
14
|
+
* `Math.ceil` mirrors the host meter's per-character rounding. Used for the
|
|
15
|
+
* "current occupancy" numerator (the footer's Context segment and the
|
|
16
|
+
* subagent compact rows' `X/Y`), where messages appended after the last
|
|
17
|
+
* billed request have no exact usage yet — this estimate fills the gap.
|
|
18
|
+
*/
|
|
19
|
+
/**
|
|
20
|
+
* Estimate the token count of a text under a pricing mode (see the header).
|
|
21
|
+
*
|
|
22
|
+
* @param text - the text to price.
|
|
23
|
+
* @param mode - `'cjk'` (default) prices CJK at ~2 chars/token and ASCII at 4;
|
|
24
|
+
* `'ascii'` is a flat 4 chars/token for every character.
|
|
25
|
+
* @returns the estimated token count.
|
|
26
|
+
*/
|
|
27
|
+
export declare function estimateTextTokens(text: string, mode?: 'cjk' | 'ascii'): number;
|
|
28
|
+
/**
|
|
29
|
+
* CJK-aware token estimate of a text block list (the content shape shared by
|
|
30
|
+
* `user/message`, `assistant/message` and `tool/result` inner blocks).
|
|
31
|
+
*
|
|
32
|
+
* @param blocks - unknown-shaped content blocks; text blocks are counted,
|
|
33
|
+
* everything else (tool-call, tool-result, reasoning, …) contributes the
|
|
34
|
+
* text strings it carries, ignoring structural overhead.
|
|
35
|
+
* @param mode - pricing mode, see {@link estimateTextTokens}.
|
|
36
|
+
* @returns the estimated token count of the joined text.
|
|
37
|
+
*/
|
|
38
|
+
export declare function estimateContentTokens(blocks: unknown, mode?: 'cjk' | 'ascii'): number;
|
package/lib/tokens.js
ADDED
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CJK-aware token estimation for the TUI's context-occupancy display.
|
|
3
|
+
*
|
|
4
|
+
* Ported from @aiwayds/dsh-dcp (`lib/summarizer.js`, `estimateTextTokens`).
|
|
5
|
+
* CJK scripts and full-width forms are priced denser than ASCII: Han (中文),
|
|
6
|
+
* kana (日文), hangul (韩文), plus CJK punctuation and full-width variants.
|
|
7
|
+
* A CJK character encodes roughly one token in real tokenizers, while ASCII
|
|
8
|
+
* runs ~4 chars/token, so the estimate is:
|
|
9
|
+
*
|
|
10
|
+
* tokens = ceil(cjkCount / 2 + (length - cjkCount) / 4)
|
|
11
|
+
*
|
|
12
|
+
* The default `cjk` mode prices CJK near reality while staying identical to a
|
|
13
|
+
* flat 4-chars/token meter for pure-ASCII text; `ascii` is that flat meter.
|
|
14
|
+
* `Math.ceil` mirrors the host meter's per-character rounding. Used for the
|
|
15
|
+
* "current occupancy" numerator (the footer's Context segment and the
|
|
16
|
+
* subagent compact rows' `X/Y`), where messages appended after the last
|
|
17
|
+
* billed request have no exact usage yet — this estimate fills the gap.
|
|
18
|
+
*/
|
|
19
|
+
/** CJK scripts + full-width forms (Han, kana, hangul, CJK punctuation, full-width). */
|
|
20
|
+
const CJK_CHAR = /[\u3000-\u303f\u3040-\u30ff\u3400-\u4dbf\u4e00-\u9fff\uf900-\ufaff\uff00-\uffef\uac00-\ud7af]/g;
|
|
21
|
+
/**
|
|
22
|
+
* Estimate the token count of a text under a pricing mode (see the header).
|
|
23
|
+
*
|
|
24
|
+
* @param text - the text to price.
|
|
25
|
+
* @param mode - `'cjk'` (default) prices CJK at ~2 chars/token and ASCII at 4;
|
|
26
|
+
* `'ascii'` is a flat 4 chars/token for every character.
|
|
27
|
+
* @returns the estimated token count.
|
|
28
|
+
*/
|
|
29
|
+
export function estimateTextTokens(text, mode = 'cjk') {
|
|
30
|
+
const source = String(text);
|
|
31
|
+
if (mode === 'ascii')
|
|
32
|
+
return Math.ceil(source.length / 4);
|
|
33
|
+
const cjk = (source.match(CJK_CHAR) ?? []).length;
|
|
34
|
+
return Math.ceil(cjk / 2 + (source.length - cjk) / 4);
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* CJK-aware token estimate of a text block list (the content shape shared by
|
|
38
|
+
* `user/message`, `assistant/message` and `tool/result` inner blocks).
|
|
39
|
+
*
|
|
40
|
+
* @param blocks - unknown-shaped content blocks; text blocks are counted,
|
|
41
|
+
* everything else (tool-call, tool-result, reasoning, …) contributes the
|
|
42
|
+
* text strings it carries, ignoring structural overhead.
|
|
43
|
+
* @param mode - pricing mode, see {@link estimateTextTokens}.
|
|
44
|
+
* @returns the estimated token count of the joined text.
|
|
45
|
+
*/
|
|
46
|
+
export function estimateContentTokens(blocks, mode = 'cjk') {
|
|
47
|
+
if (!Array.isArray(blocks))
|
|
48
|
+
return 0;
|
|
49
|
+
const parts = [];
|
|
50
|
+
const collect = (block) => {
|
|
51
|
+
if (block === null || typeof block !== 'object')
|
|
52
|
+
return;
|
|
53
|
+
const b = block;
|
|
54
|
+
if (b.type === 'text' && typeof b.text === 'string')
|
|
55
|
+
parts.push(b.text);
|
|
56
|
+
else if (b.type === 'tool-call' && typeof b.arguments === 'string') {
|
|
57
|
+
parts.push(b.arguments);
|
|
58
|
+
}
|
|
59
|
+
else if (b.type === 'tool-result') {
|
|
60
|
+
const inner = b.content;
|
|
61
|
+
if (Array.isArray(inner))
|
|
62
|
+
inner.forEach(collect);
|
|
63
|
+
}
|
|
64
|
+
};
|
|
65
|
+
blocks.forEach(collect);
|
|
66
|
+
return estimateTextTokens(parts.join('\n'), mode);
|
|
67
|
+
}
|
|
68
|
+
//# sourceMappingURL=tokens.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tokens.js","sourceRoot":"","sources":["../src/tokens.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,uFAAuF;AACvF,MAAM,QAAQ,GAAG,gGAAgG,CAAA;AAEjH;;;;;;;GAOG;AACH,MAAM,UAAU,kBAAkB,CAAC,IAAY,EAAE,OAAwB,KAAK;IAC5E,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,CAAA;IAC3B,IAAI,IAAI,KAAK,OAAO;QAAE,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;IACzD,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAA;IACjD,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,CAAA;AACvD,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,qBAAqB,CAAC,MAAe,EAAE,OAAwB,KAAK;IAClF,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;QAAE,OAAO,CAAC,CAAA;IACpC,MAAM,KAAK,GAAa,EAAE,CAAA;IAC1B,MAAM,OAAO,GAAG,CAAC,KAAc,EAAQ,EAAE;QACvC,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAE,OAAM;QACvD,MAAM,CAAC,GAAG,KAA2C,CAAA;QACrD,IAAI,CAAC,CAAC,IAAI,KAAK,MAAM,IAAI,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ;YAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;aAClE,IAAI,CAAC,CAAC,IAAI,KAAK,WAAW,IAAI,OAAQ,CAA6B,CAAC,SAAS,KAAK,QAAQ,EAAE,CAAC;YAChG,KAAK,CAAC,IAAI,CAAE,CAA2B,CAAC,SAAS,CAAC,CAAA;QACpD,CAAC;aAAM,IAAI,CAAC,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;YACpC,MAAM,KAAK,GAAI,CAA2B,CAAC,OAAO,CAAA;YAClD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;gBAAE,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;QAClD,CAAC;IACH,CAAC,CAAA;IACD,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;IACvB,OAAO,kBAAkB,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAA;AACnD,CAAC"}
|