@aiwayds/dsh-tui-pi 0.11.2 → 0.12.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/lib/commands.d.ts +13 -1
- package/lib/commands.js +35 -5
- package/lib/commands.js.map +1 -1
- package/lib/index.js +7 -1
- package/lib/index.js.map +1 -1
- package/lib/skills.d.ts +15 -6
- package/lib/skills.js +35 -8
- package/lib/skills.js.map +1 -1
- package/lib/usage.d.ts +117 -0
- package/lib/usage.js +220 -0
- package/lib/usage.js.map +1 -0
- package/package.json +2 -2
package/lib/commands.d.ts
CHANGED
|
@@ -18,6 +18,7 @@ import type { Context } from '@deepseek-ai/cordis';
|
|
|
18
18
|
import type { Agent } from '@deepseek-ai/dsh-agent';
|
|
19
19
|
import { type CommandDescriptor, type CommandExecution, type CommandResult } from '@deepseek-ai/dsh-commands';
|
|
20
20
|
import type { AutocompleteProvider } from '@earendil-works/pi-tui';
|
|
21
|
+
import type { UsageRecorder } from './usage.ts';
|
|
21
22
|
import type { DshSessionBridge } from './session.ts';
|
|
22
23
|
/**
|
|
23
24
|
* Structural mirror of dsh-attachment's rc.8 `EncodedImageAttachment` —
|
|
@@ -56,7 +57,12 @@ export declare class CommandService {
|
|
|
56
57
|
private readonly bridge;
|
|
57
58
|
/** TUI-owned command bodies, dispatchable without a live agent. */
|
|
58
59
|
private readonly local;
|
|
59
|
-
|
|
60
|
+
/**
|
|
61
|
+
* Optional usage memory backing frequency-sorted completions. Undefined in
|
|
62
|
+
* tests / degraded setups: the completion list then stays name-sorted.
|
|
63
|
+
*/
|
|
64
|
+
private readonly usage;
|
|
65
|
+
constructor(ctx: Context, bridge: DshSessionBridge, usage?: UsageRecorder);
|
|
60
66
|
/**
|
|
61
67
|
* Register a local command body (the same handler the ctx.commands
|
|
62
68
|
* registration wraps). It is dispatched directly when no live agent
|
|
@@ -88,5 +94,11 @@ export declare class CommandService {
|
|
|
88
94
|
private listSkills;
|
|
89
95
|
/** Native `/name` skill candidates for the mixed `/` command list. */
|
|
90
96
|
private nativeSkillCandidates;
|
|
97
|
+
/**
|
|
98
|
+
* Whether `name` matches a user-invocable skill in the live registry —
|
|
99
|
+
* the confirmation that a fall-through line is a genuine skill gesture.
|
|
100
|
+
* An absent or failing skills registry answers false (nothing counted).
|
|
101
|
+
*/
|
|
102
|
+
private isUserSkillName;
|
|
91
103
|
}
|
|
92
104
|
export {};
|
package/lib/commands.js
CHANGED
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
* and would mint a throwaway session just to run them.
|
|
16
16
|
*/
|
|
17
17
|
import { parseCommand, } from '@deepseek-ai/dsh-commands';
|
|
18
|
-
import { buildNativeSkillCandidates, completionLabel, mergeMixedSkillItems, } from "./skills.js";
|
|
18
|
+
import { buildNativeSkillCandidates, completionLabel, isUserSkill, mergeMixedSkillItems, } from "./skills.js";
|
|
19
19
|
/**
|
|
20
20
|
* Token ending at the cursor on one editor line, for command detection.
|
|
21
21
|
* Returns the leading slash token when the caret sits inside one. The token
|
|
@@ -53,9 +53,15 @@ export class CommandService {
|
|
|
53
53
|
bridge;
|
|
54
54
|
/** TUI-owned command bodies, dispatchable without a live agent. */
|
|
55
55
|
local = new Map();
|
|
56
|
-
|
|
56
|
+
/**
|
|
57
|
+
* Optional usage memory backing frequency-sorted completions. Undefined in
|
|
58
|
+
* tests / degraded setups: the completion list then stays name-sorted.
|
|
59
|
+
*/
|
|
60
|
+
usage;
|
|
61
|
+
constructor(ctx, bridge, usage) {
|
|
57
62
|
this.ctx = ctx;
|
|
58
63
|
this.bridge = bridge;
|
|
64
|
+
this.usage = usage;
|
|
59
65
|
}
|
|
60
66
|
/**
|
|
61
67
|
* Register a local command body (the same handler the ctx.commands
|
|
@@ -86,6 +92,8 @@ export class CommandService {
|
|
|
86
92
|
const result = await localHandler(parsed.rawInput, signal);
|
|
87
93
|
if (result.kind === 'error')
|
|
88
94
|
return { handled: true, error: result.text };
|
|
95
|
+
// Successful invocation — count it for frequency-sorted completions.
|
|
96
|
+
this.usage?.record(parsed.name);
|
|
89
97
|
return { handled: true, ...result.text === undefined ? {} : { text: result.text } };
|
|
90
98
|
}
|
|
91
99
|
catch (error) {
|
|
@@ -107,6 +115,16 @@ export class CommandService {
|
|
|
107
115
|
if (commands.find(agent, parsed.name) === undefined) {
|
|
108
116
|
// Syntactically a command but unregistered → treat as ordinary text so
|
|
109
117
|
// the model still sees it (matches "unknown command" falling through).
|
|
118
|
+
// When the name IS a user-invocable skill, this line is the harness's
|
|
119
|
+
// `/name` skill gesture: the prompt lands on the model untouched and
|
|
120
|
+
// tool-skill's agent/pre-step injects the rendered skill content —
|
|
121
|
+
// count it so completions rank the skill by real usage. (Names outside
|
|
122
|
+
// parseCommand's charset never get here; those gestures stay uncounted,
|
|
123
|
+
// an accepted edge. Without a recorder the registry probe is skipped
|
|
124
|
+
// entirely — no skills.list() round-trip for plain fall-throughs.)
|
|
125
|
+
if (this.usage !== undefined && (await this.isUserSkillName(parsed.name))) {
|
|
126
|
+
this.usage.record(parsed.name);
|
|
127
|
+
}
|
|
110
128
|
return { handled: false };
|
|
111
129
|
}
|
|
112
130
|
try {
|
|
@@ -115,6 +133,8 @@ export class CommandService {
|
|
|
115
133
|
return { handled: false };
|
|
116
134
|
if (execution.result.kind === 'error')
|
|
117
135
|
return { handled: true, error: execution.result.text };
|
|
136
|
+
// Successful invocation — count it for frequency-sorted completions.
|
|
137
|
+
this.usage?.record(parsed.name);
|
|
118
138
|
return { handled: true, ...execution.result.text === undefined ? {} : { text: execution.result.text } };
|
|
119
139
|
}
|
|
120
140
|
catch (error) {
|
|
@@ -152,8 +172,8 @@ export class CommandService {
|
|
|
152
172
|
if (at.start !== 0 && line.slice(0, at.start).trim() !== '')
|
|
153
173
|
return null;
|
|
154
174
|
// Generic `/` completion: commands and the user skills' native `/name`
|
|
155
|
-
// rows in one mixed list,
|
|
156
|
-
// token after the slash.
|
|
175
|
+
// rows in one mixed list, ordered most-used first (usage table) with
|
|
176
|
+
// display name as tie-break, filtered by the token after the slash.
|
|
157
177
|
const query = at.token.slice(1).toLowerCase();
|
|
158
178
|
const descriptors = await this.list();
|
|
159
179
|
const commandItems = descriptors
|
|
@@ -165,7 +185,7 @@ export class CommandService {
|
|
|
165
185
|
kind: 'command',
|
|
166
186
|
}));
|
|
167
187
|
const nativeSkillItems = await this.nativeSkillCandidates();
|
|
168
|
-
const items = mergeMixedSkillItems(commandItems, nativeSkillItems, query);
|
|
188
|
+
const items = mergeMixedSkillItems(commandItems, nativeSkillItems, query, this.usage?.snapshot());
|
|
169
189
|
if (items.length === 0)
|
|
170
190
|
return null;
|
|
171
191
|
return { items, prefix: at.token };
|
|
@@ -211,5 +231,15 @@ export class CommandService {
|
|
|
211
231
|
async nativeSkillCandidates() {
|
|
212
232
|
return buildNativeSkillCandidates(await this.listSkills());
|
|
213
233
|
}
|
|
234
|
+
/**
|
|
235
|
+
* Whether `name` matches a user-invocable skill in the live registry —
|
|
236
|
+
* the confirmation that a fall-through line is a genuine skill gesture.
|
|
237
|
+
* An absent or failing skills registry answers false (nothing counted).
|
|
238
|
+
*/
|
|
239
|
+
async isUserSkillName(name) {
|
|
240
|
+
const lower = name.toLowerCase();
|
|
241
|
+
const skills = await this.listSkills();
|
|
242
|
+
return skills.some(skill => isUserSkill(skill) && skill.name.toLowerCase() === lower);
|
|
243
|
+
}
|
|
214
244
|
}
|
|
215
245
|
//# sourceMappingURL=commands.js.map
|
package/lib/commands.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"commands.js","sourceRoot":"","sources":["../src/commands.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAIH,OAAO,EACL,YAAY,GAIb,MAAM,2BAA2B,CAAA;AAGlC,OAAO,EACL,0BAA0B,EAC1B,eAAe,EACf,oBAAoB,GACrB,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"commands.js","sourceRoot":"","sources":["../src/commands.ts"],"names":[],"mappings":"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"}
|
package/lib/index.js
CHANGED
|
@@ -33,6 +33,7 @@ import { reloadPlugin } from "./reload.js";
|
|
|
33
33
|
import { inspectPersistedSession, pickPersistedSession, showSessionInfo } from "./sessions.js";
|
|
34
34
|
import { applySubagentPolicy } from "./subagent-policy.js";
|
|
35
35
|
import { openSubagentViewer } from "./subagent-viewer.js";
|
|
36
|
+
import { commandUsagePath, CommandUsageTracker } from "./usage.js";
|
|
36
37
|
import { ansiFg, BOLD, darkTheme, lightTheme, RESET, resolveTheme } from "./theme/index.js";
|
|
37
38
|
import { rgbIsLight } from "./theme/palette.js";
|
|
38
39
|
import { clipToWidth } from "./text.js";
|
|
@@ -441,7 +442,12 @@ export function apply(ctx) {
|
|
|
441
442
|
? undefined
|
|
442
443
|
: presets.current(agent.session.events);
|
|
443
444
|
};
|
|
444
|
-
|
|
445
|
+
// Usage memory for the slash completion list: successful commands and
|
|
446
|
+
// skill gestures bump per-name counters persisted under $DSH_HOME. The
|
|
447
|
+
// disk copy is authoritative — a /reload swaps this plugin fiber and the
|
|
448
|
+
// fresh tracker re-reads the file, so counts survive hot reloads too.
|
|
449
|
+
const commandUsage = new CommandUsageTracker(commandUsagePath());
|
|
450
|
+
const commands = new CommandService(ctx, bridge, commandUsage);
|
|
445
451
|
// Wiring through the handle: the editor is rebuilt on theme hot-swap, and
|
|
446
452
|
// these providers are re-applied to the replacement instance.
|
|
447
453
|
ui.setEditorAutocompleteProvider(commands.autocompleteProvider());
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/lib/skills.d.ts
CHANGED
|
@@ -24,6 +24,7 @@
|
|
|
24
24
|
*/
|
|
25
25
|
import type { AutocompleteItem } from '@earendil-works/pi-tui';
|
|
26
26
|
import type { SkillSummary } from '@deepseek-ai/dsh-skill';
|
|
27
|
+
import type { UsageSnapshot } from './usage.ts';
|
|
27
28
|
/**
|
|
28
29
|
* Enabled state of a skill for a human user: visible and loadable on every
|
|
29
30
|
* surface (model catalog, `skill` tool, user gesture) only when both
|
|
@@ -151,16 +152,24 @@ export declare function isSkillCompletionItem(item: AutocompleteItem): boolean;
|
|
|
151
152
|
* the value after the leading `/`.
|
|
152
153
|
*/
|
|
153
154
|
export declare function completionName(item: AutocompleteItem): string;
|
|
154
|
-
/**
|
|
155
|
-
|
|
155
|
+
/**
|
|
156
|
+
* Sort completion rows for the generic `/` dropdown (stable, never mutates
|
|
157
|
+
* the input). With a non-empty `usage` table (name → count), most-used rows
|
|
158
|
+
* come first and native display name only breaks ties; without usage data
|
|
159
|
+
* every row has count 0, which degenerates to exactly the historical
|
|
160
|
+
* name-only ordering.
|
|
161
|
+
*/
|
|
162
|
+
export declare function sortCompletionItems(items: readonly AutocompleteItem[], usage?: UsageSnapshot): AutocompleteItem[];
|
|
156
163
|
/**
|
|
157
164
|
* Merge command rows with the user skills' native `/name` rows into one
|
|
158
165
|
* mixed completion list (the generic `/` completion), each filtered by the
|
|
159
|
-
* query prefix and the combined set sorted by
|
|
160
|
-
*
|
|
161
|
-
*
|
|
166
|
+
* query prefix and the combined set sorted by usage frequency (when a usage
|
|
167
|
+
* table is supplied) with native display name as tie-break. Extracted from
|
|
168
|
+
* the autocomplete provider so the interleave/filter/sort is unit-testable
|
|
169
|
+
* without a live CommandService. Because sorting runs after filtering, a
|
|
170
|
+
* filtered-down subset keeps its frequency-first ordering.
|
|
162
171
|
*/
|
|
163
|
-
export declare function mergeMixedSkillItems(commandItems: readonly AutocompleteItem[], nativeSkillItems: readonly AutocompleteItem[], query: string): AutocompleteItem[];
|
|
172
|
+
export declare function mergeMixedSkillItems(commandItems: readonly AutocompleteItem[], nativeSkillItems: readonly AutocompleteItem[], query: string, usage?: UsageSnapshot): AutocompleteItem[];
|
|
164
173
|
/**
|
|
165
174
|
* Autocomplete items for a skill under its own native `/name`, for the generic
|
|
166
175
|
* `/` command list where commands and skills mix. Carries
|
package/lib/skills.js
CHANGED
|
@@ -207,20 +207,47 @@ export function isSkillCompletionItem(item) {
|
|
|
207
207
|
export function completionName(item) {
|
|
208
208
|
return item.value.slice(1);
|
|
209
209
|
}
|
|
210
|
-
/**
|
|
211
|
-
|
|
212
|
-
|
|
210
|
+
/**
|
|
211
|
+
* Frequency-first comparator over usage counts: higher count wins; equal
|
|
212
|
+
* counts fall back to native name order. `Array.prototype.sort` is stable,
|
|
213
|
+
* so rows the comparator cannot separate (same count AND same name) keep
|
|
214
|
+
* their input order — the non-mutation/stability guarantees of the plain
|
|
215
|
+
* sort hold here too.
|
|
216
|
+
*/
|
|
217
|
+
function usageFirstCompare(a, b, usage) {
|
|
218
|
+
const byUsage = (usage.get(completionName(b)) ?? 0) - (usage.get(completionName(a)) ?? 0);
|
|
219
|
+
if (byUsage !== 0)
|
|
220
|
+
return byUsage;
|
|
221
|
+
return completionName(a).localeCompare(completionName(b));
|
|
222
|
+
}
|
|
223
|
+
/**
|
|
224
|
+
* Sort completion rows for the generic `/` dropdown (stable, never mutates
|
|
225
|
+
* the input). With a non-empty `usage` table (name → count), most-used rows
|
|
226
|
+
* come first and native display name only breaks ties; without usage data
|
|
227
|
+
* every row has count 0, which degenerates to exactly the historical
|
|
228
|
+
* name-only ordering.
|
|
229
|
+
*/
|
|
230
|
+
export function sortCompletionItems(items, usage) {
|
|
231
|
+
const ordered = [...items];
|
|
232
|
+
if (usage === undefined || usage.size === 0) {
|
|
233
|
+
ordered.sort((a, b) => completionName(a).localeCompare(completionName(b)));
|
|
234
|
+
return ordered;
|
|
235
|
+
}
|
|
236
|
+
ordered.sort((a, b) => usageFirstCompare(a, b, usage));
|
|
237
|
+
return ordered;
|
|
213
238
|
}
|
|
214
239
|
/**
|
|
215
240
|
* Merge command rows with the user skills' native `/name` rows into one
|
|
216
241
|
* mixed completion list (the generic `/` completion), each filtered by the
|
|
217
|
-
* query prefix and the combined set sorted by
|
|
218
|
-
*
|
|
219
|
-
*
|
|
242
|
+
* query prefix and the combined set sorted by usage frequency (when a usage
|
|
243
|
+
* table is supplied) with native display name as tie-break. Extracted from
|
|
244
|
+
* the autocomplete provider so the interleave/filter/sort is unit-testable
|
|
245
|
+
* without a live CommandService. Because sorting runs after filtering, a
|
|
246
|
+
* filtered-down subset keeps its frequency-first ordering.
|
|
220
247
|
*/
|
|
221
|
-
export function mergeMixedSkillItems(commandItems, nativeSkillItems, query) {
|
|
248
|
+
export function mergeMixedSkillItems(commandItems, nativeSkillItems, query, usage) {
|
|
222
249
|
const filtered = [...commandItems, ...nativeSkillItems].filter(item => query === '' || completionName(item).toLowerCase().startsWith(query));
|
|
223
|
-
return sortCompletionItems(filtered);
|
|
250
|
+
return sortCompletionItems(filtered, usage);
|
|
224
251
|
}
|
|
225
252
|
/**
|
|
226
253
|
* Autocomplete items for a skill under its own native `/name`, for the generic
|
package/lib/skills.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skills.js","sourceRoot":"","sources":["../src/skills.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAIH,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AACzE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AACzC,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"skills.js","sourceRoot":"","sources":["../src/skills.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAIH,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AACzE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AACzC,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAGlD;;;;;;GAMG;AACH,MAAM,UAAU,YAAY,CAAC,OAAyC;IACpE,OAAO,OAAO,CAAC,UAAU,CAAC,cAAc,IAAI,OAAO,CAAC,UAAU,CAAC,aAAa,CAAA;AAC9E,CAAC;AAED,kFAAkF;AAClF,MAAM,UAAU,WAAW,CAAC,OAAyC;IACnE,OAAO,OAAO,CAAC,UAAU,CAAC,aAAa,CAAA;AACzC,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,kBAAkB,CAAC,MAA6C;IAC9E,OAAO,CAAC,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,MAAM,CAAA;AACzC,CAAC;AAkBD,mFAAmF;AACnF,MAAM,CAAC,MAAM,iBAAiB,GAAiD;IAC7E,gBAAgB,EAAE,KAAK;IACvB,cAAc,EAAE,KAAK;IACrB,OAAO,EAAE,KAAK;CACf,CAAA;AAED,6EAA6E;AAC7E,MAAM,CAAC,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CACjC,iBAAiB,CAAC,gBAAgB,CAAC,CAAC,MAAM,EAC1C,iBAAiB,CAAC,OAAO,CAAC,MAAM,CACjC,CAAA;AAED,sEAAsE;AACtE,MAAM,UAAU,SAAS,CAAC,IAAwB;IAChD,OAAO,iBAAiB,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAA;AACpD,CAAC;AAED,iFAAiF;AACjF,MAAM,UAAU,eAAe,CAAC,IAAwB,EAAE,KAAa;IACrE,OAAO,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,KAAK,EAAE,CAAA;AACtC,CAAC;AAED,+EAA+E;AAE/E,sEAAsE;AACtE,8EAA8E;AAC9E,8EAA8E;AAC9E,4EAA4E;AAC5E,6EAA6E;AAC7E,2DAA2D;AAC3D,6EAA6E;AAC7E,8EAA8E;AAC9E,oEAAoE;AACpE,MAAM,SAAS,GAAG,SAAS,CAAA;AAC3B,MAAM,UAAU,GAAG,UAAU,CAAA,CAAC,8EAA8E;AAE5G;;;;;;GAMG;AACH,MAAM,UAAU,qBAAqB,CAAC,IAAwB,EAAE,KAAa;IAC3E,MAAM,IAAI,GAAG,eAAe,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;IACzC,OAAO,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,SAAS,GAAG,IAAI,GAAG,UAAU,EAAE,CAAA;AACvE,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,iBAAiB,CAAC,IAAY;IAC5C,OAAO,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,SAAS,GAAG,IAAI,GAAG,UAAU,EAAE,CAAA;AACrE,CAAC;AAED,yEAAyE;AACzE,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAA;AAElC;;;;;GAKG;AACH,MAAM,UAAU,oBAAoB,CAAC,OAAgB,EAAE,IAAY;IACjE,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAA;IACxC,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,iBAAiB,CAAC,IAAI,eAAe,CAAC,gBAAgB,EAAE,IAAI,CAAC,EAAE,CAAA;AACxF,CAAC;AAeD,mFAAmF;AACnF,MAAM,UAAU,gBAAgB,CAAC,MAAc,EAAE,MAAc;IAC7D,IAAI,MAAM,IAAI,CAAC;QAAE,OAAO,CAAC,CAAA;IACzB,IAAI,MAAM,GAAG,CAAC;QAAE,OAAO,CAAC,CAAA;IACxB,IAAI,MAAM,IAAI,MAAM;QAAE,OAAO,MAAM,GAAG,CAAC,CAAA;IACvC,OAAO,MAAM,CAAA;AACf,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAAC,MAAc,EAAE,WAAmB,EAAE,MAAc,EAAE,aAAqB;IAC1G,IAAI,MAAM,IAAI,CAAC,IAAI,WAAW,IAAI,CAAC;QAAE,OAAO,CAAC,CAAA;IAC7C,IAAI,MAAM,GAAG,aAAa;QAAE,OAAO,MAAM,CAAA;IACzC,IAAI,MAAM,IAAI,aAAa,GAAG,WAAW;QAAE,OAAO,MAAM,GAAG,WAAW,GAAG,CAAC,CAAA;IAC1E,OAAO,aAAa,CAAA;AACtB,CAAC;AAED,kFAAkF;AAClF,MAAM,CAAC,MAAM,eAAe,GAAG,EAAE,CAAA;AAKjC;;;;;GAKG;AACH,MAAM,UAAU,eAAe,CAC7B,MAAc,EACd,MAAc,EACd,IAAe,EACf,QAAQ,GAAG,eAAe;IAE1B,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,IAAI;YACP,OAAO,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,MAAM,CAAC,CAAA;QAC7C,KAAK,MAAM;YACT,OAAO,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,MAAM,CAAC,CAAA;QAC7C,KAAK,QAAQ;YACX,OAAO,gBAAgB,CAAC,MAAM,GAAG,QAAQ,EAAE,MAAM,CAAC,CAAA;QACpD,KAAK,UAAU;YACb,OAAO,gBAAgB,CAAC,MAAM,GAAG,QAAQ,EAAE,MAAM,CAAC,CAAA;QACpD,KAAK,MAAM;YACT,OAAO,gBAAgB,CAAC,CAAC,EAAE,MAAM,CAAC,CAAA;QACpC,KAAK,KAAK;YACR,OAAO,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,MAAM,CAAC,CAAA;IAC/C,CAAC;AACH,CAAC;AAED,+EAA+E;AAE/E;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAC7B,IAA8B,EAC9B,KAAa;IAEb,IAAI,KAAK,KAAK,EAAE;QAAE,OAAO,CAAC,GAAG,IAAI,CAAC,CAAA;IAClC,MAAM,KAAK,GAAG,KAAK,CAAC,WAAW,EAAE,CAAA;IACjC,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAA;AACrE,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAAC,IAAY;IAC3C,OAAO,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,IAAI,CAAA;AACvF,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,iBAAiB,CAAC,QAAiB,EAAE,OAAgB,EAAE,IAAY;IACjF,OAAO,GAAG,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,SAAS,GAAG,IAAI,EAAE,CAAA;AACtF,CAAC;AAED,8EAA8E;AAC9E,MAAM,UAAU,QAAQ,CAAC,IAAsB;IAC7C,MAAM,MAAM,GAAG,IAAqC,CAAA;IACpD,OAAO,MAAM,CAAC,IAAI,IAAI,SAAS,CAAA;AACjC,CAAC;AAED,6EAA6E;AAC7E,MAAM,UAAU,qBAAqB,CAAC,IAAsB;IAC1D,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAA;IAC3B,OAAO,IAAI,KAAK,cAAc,IAAI,IAAI,KAAK,gBAAgB,CAAA;AAC7D,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,cAAc,CAAC,IAAsB;IACnD,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;AAC5B,CAAC;AAED;;;;;;GAMG;AACH,SAAS,iBAAiB,CAAC,CAAmB,EAAE,CAAmB,EAAE,KAAoB;IACvF,MAAM,OAAO,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAA;IACzF,IAAI,OAAO,KAAK,CAAC;QAAE,OAAO,OAAO,CAAA;IACjC,OAAO,cAAc,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAA;AAC3D,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,mBAAmB,CACjC,KAAkC,EAClC,KAAqB;IAErB,MAAM,OAAO,GAAG,CAAC,GAAG,KAAK,CAAC,CAAA;IAC1B,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;QAC5C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QAC1E,OAAO,OAAO,CAAA;IAChB,CAAC;IACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,CAAA;IACtD,OAAO,OAAO,CAAA;AAChB,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,oBAAoB,CAClC,YAAyC,EACzC,gBAA6C,EAC7C,KAAa,EACb,KAAqB;IAErB,MAAM,QAAQ,GAAG,CAAC,GAAG,YAAY,EAAE,GAAG,gBAAgB,CAAC,CAAC,MAAM,CAC5D,IAAI,CAAC,EAAE,CAAC,KAAK,KAAK,EAAE,IAAI,cAAc,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,CAC7E,CAAA;IACD,OAAO,mBAAmB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAA;AAC7C,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,0BAA0B,CACxC,MAA4E;IAE5E,OAAO,MAAM;SACV,MAAM,CAAC,WAAW,CAAC;SACnB,GAAG,CAAC,KAAK,CAAC,EAAE;QACX,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,IAAI,EAAE,CAAA;QAC9B,OAAO;YACL,KAAK;YACL,KAAK,EAAE,qBAAqB,CAAC,cAAc,EAAE,KAAK,CAAC;YACnD,WAAW,EAAE,iBAAiB,CAAC,KAAK,CAAC,WAAW,CAAC;YACjD,IAAI,EAAE,cAAuB;SAC9B,CAAA;IACH,CAAC,CAAC,CAAA;AACN,CAAC;AAED,+EAA+E;AAE/E;;;;;;GAMG;AACH,MAAM,UAAU,mBAAmB;IACjC,OAAO,EAAE,0BAA0B,EAAE,MAAM,EAAE,gBAAgB,EAAE,OAAO,EAAE,CAAA;AAC1E,CAAC;AAED,MAAM,UAAU,kBAAkB;IAChC,OAAO,EAAE,0BAA0B,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,CAAA;AACrE,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,qBAAqB,CACnC,IAAY,EACZ,OAAgD;IAEhD,IAAI,IAAY,CAAA;IAChB,IAAI,CAAC;QACH,IAAI,GAAG,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;IACnC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,2BAA2B,IAAI,EAAE,CAAA;IAC1C,CAAC;IACD,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAA;IACjD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;IACjC,yEAAyE;IACzE,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,KAAK;QAAE,OAAO,kDAAkD,CAAA;IACzF,IAAI,KAAK,GAAG,CAAC,CAAC,CAAA;IACd,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,KAAK,EAAE,CAAC;YAC9B,KAAK,GAAG,CAAC,CAAA;YACT,MAAK;QACP,CAAC;IACH,CAAC;IACD,IAAI,KAAK,GAAG,CAAC;QAAE,OAAO,mCAAmC,CAAA;IACzD,IAAI,OAAO,GAAG,KAAK,CAAA;IACnB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QACnD,MAAM,QAAQ,GAAG,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG,KAAK,KAAK,EAAE,CAAA;QAC3D,IAAI,KAAK,GAAG,CAAC,CAAC,CAAA;QACd,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;YAC/B,2EAA2E;YAC3E,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,UAAU,CAAC,GAAG,GAAG,GAAG,CAAC,EAAE,CAAC;gBAC/C,KAAK,GAAG,CAAC,CAAA;gBACT,MAAK;YACP,CAAC;QACH,CAAC;QACD,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;YACf,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;gBACtB,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAA;gBACtB,KAAK,EAAE,CAAA;gBACP,OAAO,GAAG,IAAI,CAAA;YAChB,CAAC;iBAAM,IAAI,KAAK,CAAC,KAAK,CAAC,KAAK,QAAQ,EAAE,CAAC;gBACrC,KAAK,CAAC,KAAK,CAAC,GAAG,QAAQ,CAAA;gBACvB,OAAO,GAAG,IAAI,CAAA;YAChB,CAAC;QACH,CAAC;aAAM,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;YAC7B,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAA;YAChC,KAAK,EAAE,CAAA;YACP,OAAO,GAAG,IAAI,CAAA;QAChB,CAAC;IACH,CAAC;IACD,IAAI,CAAC,OAAO;QAAE,OAAO,SAAS,CAAA;IAC9B,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IAC3B,6EAA6E;IAC7E,wEAAwE;IACxE,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,OAAO,CAAA;IACjD,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,QAAQ,QAAQ,OAAO,CAAC,GAAG,EAAE,CAAC,CAAA;IAClE,IAAI,CAAC;QACH,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;QACvB,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;IACvB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,4EAA4E;QAC5E,4EAA4E;QAC5E,IAAI,CAAC;YACH,MAAM,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;QAC9B,CAAC;QAAC,MAAM,CAAC;YACP,uDAAuD;QACzD,CAAC;QACD,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;QACtE,OAAO,4BAA4B,OAAO,EAAE,CAAA;IAC9C,CAAC;IACD,OAAO,SAAS,CAAA;AAClB,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,eAAe,CAC7B,IAAY;IAEZ,IAAI,IAAY,CAAA;IAChB,IAAI,CAAC;QACH,IAAI,GAAG,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;IACnC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAA;IAClB,CAAC;IACD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;IACjC,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,KAAK;QAAE,OAAO,SAAS,CAAA;IAChD,IAAI,KAAK,GAAG,CAAC,CAAC,CAAA;IACd,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,KAAK,EAAE,CAAC;YAC9B,KAAK,GAAG,CAAC,CAAA;YACT,MAAK;QACP,CAAC;IACH,CAAC;IACD,IAAI,KAAK,GAAG,CAAC;QAAE,OAAO,SAAS,CAAA;IAC/B,IAAI,OAAO,GAAG,KAAK,CAAA;IACnB,IAAI,MAAM,GAAG,IAAI,CAAA;IACjB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;QAC/B,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,UAAU,CAAC,2BAA2B,CAAC,EAAE,CAAC;YACjE,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;QACrC,CAAC;aAAM,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,UAAU,CAAC,iBAAiB,CAAC,EAAE,CAAC;YAC9D,MAAM,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;QACtC,CAAC;IACH,CAAC;IACD,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,CAAA;AAC5B,CAAC"}
|
package/lib/usage.d.ts
ADDED
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Slash-command / skill usage memory for frequency-sorted completions.
|
|
3
|
+
*
|
|
4
|
+
* Every successful command execution and every `/name` skill gesture bumps a
|
|
5
|
+
* per-name counter; the generic `/` completion dropdown orders candidates by
|
|
6
|
+
* that count (most used first) instead of plain name order, and the ordering
|
|
7
|
+
* survives the query filter (whatever remains after prefix filtering is still
|
|
8
|
+
* frequency-first).
|
|
9
|
+
*
|
|
10
|
+
* Persistence: `$DSH_HOME/tui-command-usage.json` — a small JSON document the
|
|
11
|
+
* TUI owns outright (it never touches settings.yaml or any other live dsh
|
|
12
|
+
* file). The disk copy is authoritative across restarts AND across /reload:
|
|
13
|
+
* the reload swaps the plugin fiber, a fresh tracker is constructed by the new
|
|
14
|
+
* fiber and simply re-reads the file. Reads never throw (a missing or corrupt
|
|
15
|
+
* file degrades to an empty table); writes are atomic (tmp sibling + rename)
|
|
16
|
+
* and best-effort silent — a failed write must never take the UI down.
|
|
17
|
+
*
|
|
18
|
+
* Write policy: synchronous save on every record, no timer/flush queue.
|
|
19
|
+
* Usage events are inherently low-frequency (one human-invoked command or
|
|
20
|
+
* skill at a time) and the file stays tiny (bounded by MAX_ENTRIES), so the
|
|
21
|
+
* simplicity of write-through beats batching — and avoids teardown hazards
|
|
22
|
+
* for timers across hot-reload. Concurrent dsh processes share one store:
|
|
23
|
+
* each write merges only its own unsaved delta onto a fresh read of the
|
|
24
|
+
* file (baseline+delta, see CommandUsageTracker.persist) instead of
|
|
25
|
+
* clobbering the whole table with this fiber's in-memory view.
|
|
26
|
+
*/
|
|
27
|
+
/** On-disk schema version; bump only for breaking changes. */
|
|
28
|
+
export declare const USAGE_FILE_VERSION = 1;
|
|
29
|
+
/** One name's usage record: how often + how recently it was invoked. */
|
|
30
|
+
export interface UsageEntry {
|
|
31
|
+
/** Successful invocation count (>= 1 for every stored entry). */
|
|
32
|
+
count: number;
|
|
33
|
+
/** Epoch ms of the most recent invocation. */
|
|
34
|
+
lastUsed: number;
|
|
35
|
+
}
|
|
36
|
+
/** Name → count view handed to the completion sort (no recency exposed). */
|
|
37
|
+
export type UsageSnapshot = ReadonlyMap<string, number>;
|
|
38
|
+
/**
|
|
39
|
+
* Structural consumer contract so CommandService stays stub-friendly in
|
|
40
|
+
* tests (and decoupled from the concrete tracker's file concerns).
|
|
41
|
+
*/
|
|
42
|
+
export interface UsageRecorder {
|
|
43
|
+
/** Count one invocation of `name` (leading slash tolerated, stripped). */
|
|
44
|
+
record(name: string): void;
|
|
45
|
+
/** Current name → count table (may be empty). */
|
|
46
|
+
snapshot(): UsageSnapshot;
|
|
47
|
+
}
|
|
48
|
+
/** Storage cap: above this many names, lowest-count entries are evicted. */
|
|
49
|
+
export declare const MAX_USAGE_ENTRIES = 500;
|
|
50
|
+
/** `$DSH_HOME/tui-command-usage.json` (or an explicit home override). */
|
|
51
|
+
export declare function commandUsagePath(home?: string): string;
|
|
52
|
+
/**
|
|
53
|
+
* Read + validate a usage file into entries. Never throws: a missing,
|
|
54
|
+
* corrupt, wrong-version or malformed document yields an empty table.
|
|
55
|
+
* Individual bad entries are skipped, good siblings kept.
|
|
56
|
+
*/
|
|
57
|
+
export declare function loadUsageEntries(path: string): Map<string, UsageEntry>;
|
|
58
|
+
/**
|
|
59
|
+
* Atomically persist entries as `{ version, counts }`. Creates the target
|
|
60
|
+
* directory when missing (a fresh DSH_HOME must not silently drop the first
|
|
61
|
+
* record), writes a tmp sibling then renames over the target so a crash
|
|
62
|
+
* never leaves half a file; on any failure the tmp sibling is cleaned up and
|
|
63
|
+
* the error swallowed (the caller treats persistence as best-effort — the
|
|
64
|
+
* in-memory table keeps working). Returns whether the write landed.
|
|
65
|
+
*/
|
|
66
|
+
export declare function saveUsageEntries(path: string, entries: ReadonlyMap<string, UsageEntry>): boolean;
|
|
67
|
+
/**
|
|
68
|
+
* Evict entries beyond `maxEntries`, lowest count first, oldest use first
|
|
69
|
+
* among equal counts. A freshly recorded entry always survives within its
|
|
70
|
+
* count tier (its lastUsed is the newest of that tier).
|
|
71
|
+
*/
|
|
72
|
+
export declare function pruneUsageEntries(entries: Map<string, UsageEntry>, maxEntries?: number): void;
|
|
73
|
+
/**
|
|
74
|
+
* In-memory usage table persisted through `path`. Constructed once per
|
|
75
|
+
* plugin fiber (so a /reload re-reads the authoritative disk state) and
|
|
76
|
+
* shared by the CommandService for both recording and completion sorting.
|
|
77
|
+
*
|
|
78
|
+
* Several dsh processes can run concurrently against the same $DSH_HOME, so
|
|
79
|
+
* persistence is baseline+delta instead of whole-table clobber: the tracker
|
|
80
|
+
* remembers what the file looked like at its last synchronization and each
|
|
81
|
+
* write folds only its own unsaved increments on top of a fresh read of the
|
|
82
|
+
* file (see `persist`).
|
|
83
|
+
*/
|
|
84
|
+
export declare class CommandUsageTracker implements UsageRecorder {
|
|
85
|
+
private readonly path;
|
|
86
|
+
private readonly maxEntries;
|
|
87
|
+
private readonly now;
|
|
88
|
+
/** Working table, including this fiber's not-yet-flushed increments. */
|
|
89
|
+
private entries;
|
|
90
|
+
/** Per-name counts the file had at the last successful sync — the delta zero-point. */
|
|
91
|
+
private baseline;
|
|
92
|
+
constructor(path: string, options?: {
|
|
93
|
+
maxEntries?: number;
|
|
94
|
+
now?: () => number;
|
|
95
|
+
});
|
|
96
|
+
/** Count one invocation of `name` and persist synchronously (best-effort). */
|
|
97
|
+
record(name: string): void;
|
|
98
|
+
/** Current name → count table for the completion sort. */
|
|
99
|
+
snapshot(): UsageSnapshot;
|
|
100
|
+
/**
|
|
101
|
+
* Fold this fiber's unsaved delta onto a fresh read of the file and write
|
|
102
|
+
* the union back atomically.
|
|
103
|
+
*
|
|
104
|
+
* Per-name arithmetic is `file_count + (memory_count - baseline_count)`
|
|
105
|
+
* clamped at zero: plain max() would drop this fiber's unsaved increments,
|
|
106
|
+
* blind summing would double-count what this fiber already flushed. An
|
|
107
|
+
* entry this fiber pruned away contributes a zero delta, so peer-process
|
|
108
|
+
* counts survive untouched.
|
|
109
|
+
*
|
|
110
|
+
* Loss model: the read-modify-write below is deliberately not locked —
|
|
111
|
+
* another process writing between our read and our rename loses exactly
|
|
112
|
+
* that one concurrent record (bounded, single-record granularity; accepted
|
|
113
|
+
* for a UX-ordering hint). If the file is unreadable/corrupt at read time,
|
|
114
|
+
* the merge degrades to this fiber's own table for that pass.
|
|
115
|
+
*/
|
|
116
|
+
private persist;
|
|
117
|
+
}
|
package/lib/usage.js
ADDED
|
@@ -0,0 +1,220 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Slash-command / skill usage memory for frequency-sorted completions.
|
|
3
|
+
*
|
|
4
|
+
* Every successful command execution and every `/name` skill gesture bumps a
|
|
5
|
+
* per-name counter; the generic `/` completion dropdown orders candidates by
|
|
6
|
+
* that count (most used first) instead of plain name order, and the ordering
|
|
7
|
+
* survives the query filter (whatever remains after prefix filtering is still
|
|
8
|
+
* frequency-first).
|
|
9
|
+
*
|
|
10
|
+
* Persistence: `$DSH_HOME/tui-command-usage.json` — a small JSON document the
|
|
11
|
+
* TUI owns outright (it never touches settings.yaml or any other live dsh
|
|
12
|
+
* file). The disk copy is authoritative across restarts AND across /reload:
|
|
13
|
+
* the reload swaps the plugin fiber, a fresh tracker is constructed by the new
|
|
14
|
+
* fiber and simply re-reads the file. Reads never throw (a missing or corrupt
|
|
15
|
+
* file degrades to an empty table); writes are atomic (tmp sibling + rename)
|
|
16
|
+
* and best-effort silent — a failed write must never take the UI down.
|
|
17
|
+
*
|
|
18
|
+
* Write policy: synchronous save on every record, no timer/flush queue.
|
|
19
|
+
* Usage events are inherently low-frequency (one human-invoked command or
|
|
20
|
+
* skill at a time) and the file stays tiny (bounded by MAX_ENTRIES), so the
|
|
21
|
+
* simplicity of write-through beats batching — and avoids teardown hazards
|
|
22
|
+
* for timers across hot-reload. Concurrent dsh processes share one store:
|
|
23
|
+
* each write merges only its own unsaved delta onto a fresh read of the
|
|
24
|
+
* file (baseline+delta, see CommandUsageTracker.persist) instead of
|
|
25
|
+
* clobbering the whole table with this fiber's in-memory view.
|
|
26
|
+
*/
|
|
27
|
+
import { mkdirSync, readFileSync, renameSync, rmSync, writeFileSync } from 'node:fs';
|
|
28
|
+
import { dirname, join } from 'node:path';
|
|
29
|
+
import { dshHome } from "./append-system.js";
|
|
30
|
+
/** On-disk schema version; bump only for breaking changes. */
|
|
31
|
+
export const USAGE_FILE_VERSION = 1;
|
|
32
|
+
/** Storage cap: above this many names, lowest-count entries are evicted. */
|
|
33
|
+
export const MAX_USAGE_ENTRIES = 500;
|
|
34
|
+
/** `$DSH_HOME/tui-command-usage.json` (or an explicit home override). */
|
|
35
|
+
export function commandUsagePath(home = dshHome()) {
|
|
36
|
+
return join(home, 'tui-command-usage.json');
|
|
37
|
+
}
|
|
38
|
+
/** Normalize one usage key: completion-name form (no leading slashes), non-empty. */
|
|
39
|
+
function normalizeUsageName(name) {
|
|
40
|
+
const key = name.replace(/^\/+/, '');
|
|
41
|
+
return key === '' ? undefined : key;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Read + validate a usage file into entries. Never throws: a missing,
|
|
45
|
+
* corrupt, wrong-version or malformed document yields an empty table.
|
|
46
|
+
* Individual bad entries are skipped, good siblings kept.
|
|
47
|
+
*/
|
|
48
|
+
export function loadUsageEntries(path) {
|
|
49
|
+
const empty = new Map();
|
|
50
|
+
let text;
|
|
51
|
+
try {
|
|
52
|
+
text = readFileSync(path, 'utf8');
|
|
53
|
+
}
|
|
54
|
+
catch {
|
|
55
|
+
return empty;
|
|
56
|
+
}
|
|
57
|
+
let raw;
|
|
58
|
+
try {
|
|
59
|
+
raw = JSON.parse(text);
|
|
60
|
+
}
|
|
61
|
+
catch {
|
|
62
|
+
return empty;
|
|
63
|
+
}
|
|
64
|
+
if (raw === null || typeof raw !== 'object' || Array.isArray(raw))
|
|
65
|
+
return empty;
|
|
66
|
+
const doc = raw;
|
|
67
|
+
if (doc.version !== USAGE_FILE_VERSION)
|
|
68
|
+
return empty;
|
|
69
|
+
const counts = doc.counts;
|
|
70
|
+
if (counts === null || typeof counts !== 'object' || Array.isArray(counts))
|
|
71
|
+
return empty;
|
|
72
|
+
const entries = new Map();
|
|
73
|
+
for (const [name, value] of Object.entries(counts)) {
|
|
74
|
+
const key = normalizeUsageName(name);
|
|
75
|
+
if (key === undefined || value === null || typeof value !== 'object')
|
|
76
|
+
continue;
|
|
77
|
+
const { count, lastUsed } = value;
|
|
78
|
+
if (typeof count !== 'number' || !Number.isInteger(count) || count <= 0)
|
|
79
|
+
continue;
|
|
80
|
+
entries.set(key, {
|
|
81
|
+
count,
|
|
82
|
+
lastUsed: typeof lastUsed === 'number' && Number.isFinite(lastUsed) && lastUsed >= 0 ? lastUsed : 0,
|
|
83
|
+
});
|
|
84
|
+
}
|
|
85
|
+
return entries;
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* Atomically persist entries as `{ version, counts }`. Creates the target
|
|
89
|
+
* directory when missing (a fresh DSH_HOME must not silently drop the first
|
|
90
|
+
* record), writes a tmp sibling then renames over the target so a crash
|
|
91
|
+
* never leaves half a file; on any failure the tmp sibling is cleaned up and
|
|
92
|
+
* the error swallowed (the caller treats persistence as best-effort — the
|
|
93
|
+
* in-memory table keeps working). Returns whether the write landed.
|
|
94
|
+
*/
|
|
95
|
+
export function saveUsageEntries(path, entries) {
|
|
96
|
+
const doc = {
|
|
97
|
+
version: USAGE_FILE_VERSION,
|
|
98
|
+
counts: Object.fromEntries(entries),
|
|
99
|
+
};
|
|
100
|
+
const dir = dirname(path);
|
|
101
|
+
const pathBase = path.split('/').pop() ?? 'tui-command-usage.json';
|
|
102
|
+
const tmp = join(dir, `.${pathBase}.tmp-${process.pid}`);
|
|
103
|
+
try {
|
|
104
|
+
mkdirSync(dir, { recursive: true });
|
|
105
|
+
writeFileSync(tmp, JSON.stringify(doc));
|
|
106
|
+
renameSync(tmp, path);
|
|
107
|
+
return true;
|
|
108
|
+
}
|
|
109
|
+
catch {
|
|
110
|
+
// A failed write/rename can leave the `.…tmp-<pid>` sibling behind; clean
|
|
111
|
+
// up so no stray dotfile accumulates next to the store.
|
|
112
|
+
try {
|
|
113
|
+
rmSync(tmp, { force: true });
|
|
114
|
+
}
|
|
115
|
+
catch {
|
|
116
|
+
// Best-effort — persistence failures stay silent by design.
|
|
117
|
+
}
|
|
118
|
+
return false;
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
/**
|
|
122
|
+
* Evict entries beyond `maxEntries`, lowest count first, oldest use first
|
|
123
|
+
* among equal counts. A freshly recorded entry always survives within its
|
|
124
|
+
* count tier (its lastUsed is the newest of that tier).
|
|
125
|
+
*/
|
|
126
|
+
export function pruneUsageEntries(entries, maxEntries = MAX_USAGE_ENTRIES) {
|
|
127
|
+
if (entries.size <= maxEntries)
|
|
128
|
+
return;
|
|
129
|
+
const ordered = [...entries.entries()].sort((a, b) => a[1].count - b[1].count || a[1].lastUsed - b[1].lastUsed);
|
|
130
|
+
for (let i = 0; i < ordered.length - maxEntries; i++)
|
|
131
|
+
entries.delete(ordered[i][0]);
|
|
132
|
+
}
|
|
133
|
+
/**
|
|
134
|
+
* In-memory usage table persisted through `path`. Constructed once per
|
|
135
|
+
* plugin fiber (so a /reload re-reads the authoritative disk state) and
|
|
136
|
+
* shared by the CommandService for both recording and completion sorting.
|
|
137
|
+
*
|
|
138
|
+
* Several dsh processes can run concurrently against the same $DSH_HOME, so
|
|
139
|
+
* persistence is baseline+delta instead of whole-table clobber: the tracker
|
|
140
|
+
* remembers what the file looked like at its last synchronization and each
|
|
141
|
+
* write folds only its own unsaved increments on top of a fresh read of the
|
|
142
|
+
* file (see `persist`).
|
|
143
|
+
*/
|
|
144
|
+
export class CommandUsageTracker {
|
|
145
|
+
path;
|
|
146
|
+
maxEntries;
|
|
147
|
+
now;
|
|
148
|
+
/** Working table, including this fiber's not-yet-flushed increments. */
|
|
149
|
+
entries;
|
|
150
|
+
/** Per-name counts the file had at the last successful sync — the delta zero-point. */
|
|
151
|
+
baseline;
|
|
152
|
+
constructor(path, options) {
|
|
153
|
+
this.path = path;
|
|
154
|
+
this.maxEntries = Math.max(1, options?.maxEntries ?? MAX_USAGE_ENTRIES);
|
|
155
|
+
this.now = options?.now ?? Date.now;
|
|
156
|
+
const loaded = loadUsageEntries(path);
|
|
157
|
+
// Deep-copy into `entries`: record() mutates entry objects in place and
|
|
158
|
+
// must never disturb the frozen baseline. A hand-edited or pre-cap file
|
|
159
|
+
// may exceed the cap — normalize the working set on load.
|
|
160
|
+
this.entries = new Map([...loaded].map(([key, entry]) => [key, { ...entry }]));
|
|
161
|
+
this.baseline = loaded;
|
|
162
|
+
pruneUsageEntries(this.entries, this.maxEntries);
|
|
163
|
+
}
|
|
164
|
+
/** Count one invocation of `name` and persist synchronously (best-effort). */
|
|
165
|
+
record(name) {
|
|
166
|
+
const key = normalizeUsageName(name);
|
|
167
|
+
if (key === undefined)
|
|
168
|
+
return;
|
|
169
|
+
const entry = this.entries.get(key) ?? { count: 0, lastUsed: 0 };
|
|
170
|
+
entry.count += 1;
|
|
171
|
+
entry.lastUsed = this.now();
|
|
172
|
+
this.entries.set(key, entry);
|
|
173
|
+
this.persist();
|
|
174
|
+
}
|
|
175
|
+
/** Current name → count table for the completion sort. */
|
|
176
|
+
snapshot() {
|
|
177
|
+
return new Map([...this.entries].map(([name, entry]) => [name, entry.count]));
|
|
178
|
+
}
|
|
179
|
+
/**
|
|
180
|
+
* Fold this fiber's unsaved delta onto a fresh read of the file and write
|
|
181
|
+
* the union back atomically.
|
|
182
|
+
*
|
|
183
|
+
* Per-name arithmetic is `file_count + (memory_count - baseline_count)`
|
|
184
|
+
* clamped at zero: plain max() would drop this fiber's unsaved increments,
|
|
185
|
+
* blind summing would double-count what this fiber already flushed. An
|
|
186
|
+
* entry this fiber pruned away contributes a zero delta, so peer-process
|
|
187
|
+
* counts survive untouched.
|
|
188
|
+
*
|
|
189
|
+
* Loss model: the read-modify-write below is deliberately not locked —
|
|
190
|
+
* another process writing between our read and our rename loses exactly
|
|
191
|
+
* that one concurrent record (bounded, single-record granularity; accepted
|
|
192
|
+
* for a UX-ordering hint). If the file is unreadable/corrupt at read time,
|
|
193
|
+
* the merge degrades to this fiber's own table for that pass.
|
|
194
|
+
*/
|
|
195
|
+
persist() {
|
|
196
|
+
const disk = loadUsageEntries(this.path);
|
|
197
|
+
const merged = new Map();
|
|
198
|
+
for (const key of new Set([...disk.keys(), ...this.entries.keys()])) {
|
|
199
|
+
const mine = this.entries.get(key);
|
|
200
|
+
const baseCount = this.baseline.get(key)?.count ?? 0;
|
|
201
|
+
const delta = Math.max(0, (mine?.count ?? 0) - baseCount);
|
|
202
|
+
const theirs = disk.get(key);
|
|
203
|
+
if (theirs === undefined && delta === 0)
|
|
204
|
+
continue;
|
|
205
|
+
merged.set(key, {
|
|
206
|
+
count: (theirs?.count ?? 0) + delta,
|
|
207
|
+
lastUsed: Math.max(theirs?.lastUsed ?? 0, mine?.lastUsed ?? 0),
|
|
208
|
+
});
|
|
209
|
+
}
|
|
210
|
+
pruneUsageEntries(merged, this.maxEntries);
|
|
211
|
+
if (!saveUsageEntries(this.path, merged))
|
|
212
|
+
return;
|
|
213
|
+
// Success: the written table becomes both the working set and the new
|
|
214
|
+
// delta zero-point. `entries` gets its own copies so later in-place
|
|
215
|
+
// record mutations leave the frozen baseline intact.
|
|
216
|
+
this.baseline = merged;
|
|
217
|
+
this.entries = new Map([...merged].map(([key, entry]) => [key, { ...entry }]));
|
|
218
|
+
}
|
|
219
|
+
}
|
|
220
|
+
//# sourceMappingURL=usage.js.map
|
package/lib/usage.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"usage.js","sourceRoot":"","sources":["../src/usage.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AACpF,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAA;AAE5C,8DAA8D;AAC9D,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAA;AAwBnC,4EAA4E;AAC5E,MAAM,CAAC,MAAM,iBAAiB,GAAG,GAAG,CAAA;AAEpC,yEAAyE;AACzE,MAAM,UAAU,gBAAgB,CAAC,OAAe,OAAO,EAAE;IACvD,OAAO,IAAI,CAAC,IAAI,EAAE,wBAAwB,CAAC,CAAA;AAC7C,CAAC;AAED,qFAAqF;AACrF,SAAS,kBAAkB,CAAC,IAAY;IACtC,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;IACpC,OAAO,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAA;AACrC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAAC,IAAY;IAC3C,MAAM,KAAK,GAAG,IAAI,GAAG,EAAsB,CAAA;IAC3C,IAAI,IAAY,CAAA;IAChB,IAAI,CAAC;QACH,IAAI,GAAG,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;IACnC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAA;IACd,CAAC;IACD,IAAI,GAAY,CAAA;IAChB,IAAI,CAAC;QACH,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IACxB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAA;IACd,CAAC;IACD,IAAI,GAAG,KAAK,IAAI,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;QAAE,OAAO,KAAK,CAAA;IAC/E,MAAM,GAAG,GAAG,GAA8C,CAAA;IAC1D,IAAI,GAAG,CAAC,OAAO,KAAK,kBAAkB;QAAE,OAAO,KAAK,CAAA;IACpD,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAA;IACzB,IAAI,MAAM,KAAK,IAAI,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;QAAE,OAAO,KAAK,CAAA;IACxF,MAAM,OAAO,GAAG,IAAI,GAAG,EAAsB,CAAA;IAC7C,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAiC,CAAC,EAAE,CAAC;QAC9E,MAAM,GAAG,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAA;QACpC,IAAI,GAAG,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAE,SAAQ;QAC9E,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,KAAgD,CAAA;QAC5E,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC;YAAE,SAAQ;QACjF,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE;YACf,KAAK;YACL,QAAQ,EAAE,OAAO,QAAQ,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,QAAQ,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;SACpG,CAAC,CAAA;IACJ,CAAC;IACD,OAAO,OAAO,CAAA;AAChB,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,gBAAgB,CAAC,IAAY,EAAE,OAAwC;IACrF,MAAM,GAAG,GAAG;QACV,OAAO,EAAE,kBAAkB;QAC3B,MAAM,EAAE,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC;KACpC,CAAA;IACD,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACzB,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,wBAAwB,CAAA;IAClE,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,IAAI,QAAQ,QAAQ,OAAO,CAAC,GAAG,EAAE,CAAC,CAAA;IACxD,IAAI,CAAC;QACH,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;QACnC,aAAa,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAA;QACvC,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;QACrB,OAAO,IAAI,CAAA;IACb,CAAC;IAAC,MAAM,CAAC;QACP,0EAA0E;QAC1E,wDAAwD;QACxD,IAAI,CAAC;YACH,MAAM,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;QAC9B,CAAC;QAAC,MAAM,CAAC;YACP,4DAA4D;QAC9D,CAAC;QACD,OAAO,KAAK,CAAA;IACd,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAC/B,OAAgC,EAChC,aAAqB,iBAAiB;IAEtC,IAAI,OAAO,CAAC,IAAI,IAAI,UAAU;QAAE,OAAM;IACtC,MAAM,OAAO,GAAG,CAAC,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CACzC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CACnE,CAAA;IACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,GAAG,UAAU,EAAE,CAAC,EAAE;QAAE,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;AACrF,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,OAAO,mBAAmB;IACb,IAAI,CAAQ;IACZ,UAAU,CAAQ;IAClB,GAAG,CAAc;IAClC,wEAAwE;IAChE,OAAO,CAAyB;IACxC,uFAAuF;IAC/E,QAAQ,CAAyB;IAEzC,YAAY,IAAY,EAAE,OAAqD;QAC7E,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QAChB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,UAAU,IAAI,iBAAiB,CAAC,CAAA;QACvE,IAAI,CAAC,GAAG,GAAG,OAAO,EAAE,GAAG,IAAI,IAAI,CAAC,GAAG,CAAA;QACnC,MAAM,MAAM,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAA;QACrC,wEAAwE;QACxE,wEAAwE;QACxE,0DAA0D;QAC1D,IAAI,CAAC,OAAO,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC,CAAA;QAC9E,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAA;QACtB,iBAAiB,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,CAAA;IAClD,CAAC;IAED,8EAA8E;IAC9E,MAAM,CAAC,IAAY;QACjB,MAAM,GAAG,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAA;QACpC,IAAI,GAAG,KAAK,SAAS;YAAE,OAAM;QAC7B,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAA;QAChE,KAAK,CAAC,KAAK,IAAI,CAAC,CAAA;QAChB,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;QAC3B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;QAC5B,IAAI,CAAC,OAAO,EAAE,CAAA;IAChB,CAAC;IAED,0DAA0D;IAC1D,QAAQ;QACN,OAAO,IAAI,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;IAC/E,CAAC;IAED;;;;;;;;;;;;;;;OAeG;IACK,OAAO;QACb,MAAM,IAAI,GAAG,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACxC,MAAM,MAAM,GAAG,IAAI,GAAG,EAAsB,CAAA;QAC5C,KAAK,MAAM,GAAG,IAAI,IAAI,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;YACpE,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;YAClC,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,KAAK,IAAI,CAAC,CAAA;YACpD,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,IAAI,CAAC,CAAC,GAAG,SAAS,CAAC,CAAA;YACzD,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;YAC5B,IAAI,MAAM,KAAK,SAAS,IAAI,KAAK,KAAK,CAAC;gBAAE,SAAQ;YACjD,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE;gBACd,KAAK,EAAE,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,CAAC,GAAG,KAAK;gBACnC,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,IAAI,CAAC,CAAC;aAC/D,CAAC,CAAA;QACJ,CAAC;QACD,iBAAiB,CAAC,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,CAAA;QAC1C,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC;YAAE,OAAM;QAChD,sEAAsE;QACtE,oEAAoE;QACpE,qDAAqD;QACrD,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAA;QACtB,IAAI,CAAC,OAAO,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC,CAAA;IAChF,CAAC;CACF"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aiwayds/dsh-tui-pi",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.12.0",
|
|
4
4
|
"description": "pi-style terminal UI for DeepSeek Harness (dsh) — pi-tui look & feel, dsh slash commands, GitHub light/dark themes, powerline footer",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -46,7 +46,7 @@
|
|
|
46
46
|
},
|
|
47
47
|
"dependencies": {
|
|
48
48
|
"@aiwayds/dsh-dcp": "0.5.1",
|
|
49
|
-
"@aiwayds/dsh-subagent-registry": "0.
|
|
49
|
+
"@aiwayds/dsh-subagent-registry": "0.3.0",
|
|
50
50
|
"@earendil-works/pi-tui": "0.84.2"
|
|
51
51
|
},
|
|
52
52
|
"devDependencies": {
|