@dsh-cc/tui 0.5.0 → 0.6.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/components/overlays.d.ts +1 -1
- package/lib/components/overlays.js +1 -1
- package/lib/harness/approval-preview.js +1 -1
- package/lib/harness/approval-preview.js.map +1 -1
- package/lib/harness/driver-agent.d.ts.map +1 -1
- package/lib/harness/driver-agent.js +2 -1
- package/lib/harness/driver-agent.js.map +1 -1
- package/lib/harness/driver-approvals.d.ts.map +1 -1
- package/lib/harness/driver-approvals.js +59 -53
- package/lib/harness/driver-approvals.js.map +1 -1
- package/lib/harness/driver-ctx.d.ts +11 -0
- package/lib/harness/driver-ctx.d.ts.map +1 -1
- package/lib/harness/driver-live.js +4 -4
- package/lib/harness/driver-live.js.map +1 -1
- package/lib/harness/driver-mode.js +1 -1
- package/lib/harness/driver-mode.js.map +1 -1
- package/lib/harness/driver-run-local.d.ts +3 -0
- package/lib/harness/driver-run-local.d.ts.map +1 -1
- package/lib/harness/driver-run-local.js +32 -8
- package/lib/harness/driver-run-local.js.map +1 -1
- package/lib/harness/driver.d.ts +0 -1
- package/lib/harness/driver.d.ts.map +1 -1
- package/lib/harness/driver.js +11 -11
- package/lib/harness/driver.js.map +1 -1
- package/lib/harness/onboarding.d.ts +60 -0
- package/lib/harness/onboarding.d.ts.map +1 -0
- package/lib/harness/onboarding.js +114 -0
- package/lib/harness/onboarding.js.map +1 -0
- package/lib/harness/statusline-settings.d.ts +2 -1
- package/lib/harness/statusline-settings.d.ts.map +1 -1
- package/lib/harness/statusline-settings.js +1 -2
- package/lib/harness/statusline-settings.js.map +1 -1
- package/lib/harness/statusline-wiring.d.ts +1 -1
- package/lib/harness/statusline-wiring.d.ts.map +1 -1
- package/lib/harness/statusline-wiring.js +9 -8
- package/lib/harness/statusline-wiring.js.map +1 -1
- package/lib/harness/usage-view.d.ts +0 -8
- package/lib/harness/usage-view.d.ts.map +1 -1
- package/lib/harness/usage-view.js +0 -30
- package/lib/harness/usage-view.js.map +1 -1
- package/lib/slash-help.d.ts +13 -0
- package/lib/slash-help.d.ts.map +1 -0
- package/lib/slash-help.js +66 -0
- package/lib/slash-help.js.map +1 -0
- package/lib/slash.d.ts +1 -1
- package/lib/slash.d.ts.map +1 -1
- package/lib/slash.js +2 -2
- package/lib/slash.js.map +1 -1
- package/package.json +17 -16
- package/presets/cc/agent.cordis.yml +112 -21
|
@@ -47,36 +47,6 @@ export function lastBucketsOf(usage) {
|
|
|
47
47
|
: {},
|
|
48
48
|
};
|
|
49
49
|
}
|
|
50
|
-
/**
|
|
51
|
-
* `/cost` report: token counts with thousands separators, cache lines only
|
|
52
|
-
* when non-zero, a `cache hit` percent (`cacheRead / (input + cacheRead)`,
|
|
53
|
-
* clamped at 100, shown only when `cacheRead` exists and the denominator is
|
|
54
|
-
* positive), and an explicit note that no price table is configured —
|
|
55
|
-
* the harness reports usage only, so no monetary amounts are claimed.
|
|
56
|
-
*/
|
|
57
|
-
export function formatCostReport(totals) {
|
|
58
|
-
if (totals === undefined)
|
|
59
|
-
return 'No token usage recorded yet.';
|
|
60
|
-
const row = (label, value) => ` ${label.padEnd(9)}${value.toLocaleString('en-US').padStart(6)}`;
|
|
61
|
-
const lines = [
|
|
62
|
-
'Token usage this session:',
|
|
63
|
-
row('input', totals.input),
|
|
64
|
-
row('output', totals.output),
|
|
65
|
-
];
|
|
66
|
-
if ((totals.cacheRead ?? 0) > 0)
|
|
67
|
-
lines.push(row('cache r', totals.cacheRead));
|
|
68
|
-
if ((totals.cacheWrite ?? 0) > 0)
|
|
69
|
-
lines.push(row('cache w', totals.cacheWrite));
|
|
70
|
-
if (totals.cacheRead !== undefined) {
|
|
71
|
-
const denominator = totals.input + totals.cacheRead;
|
|
72
|
-
if (denominator > 0) {
|
|
73
|
-
const percent = Math.max(0, Math.min(100, Math.round((totals.cacheRead / denominator) * 100)));
|
|
74
|
-
lines.push(` ${'cache hit'.padEnd(9)}${`${percent}%`.padStart(6)}`);
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
lines.push(' Pricing is not configured — costs are not computed.');
|
|
78
|
-
return lines.join('\n');
|
|
79
|
-
}
|
|
80
50
|
/**
|
|
81
51
|
* Map a `todos` projection value (`TodoItem[] | null`) onto view items.
|
|
82
52
|
* Non-arrays (including the pre-first-write `null`) map to undefined (no
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"usage-view.js","sourceRoot":"","sources":["../../src/harness/usage-view.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAUH,sEAAsE;AACtE,MAAM,UAAU,QAAQ,CAAC,KAAsC;IAC7D,MAAM,MAAM,GAAG,KAAK,EAAE,MAAM,CAAA;IAC5B,MAAM,KAAK,GAAG,MAAM,EAAE,mBAAmB,IAAI,MAAM,EAAE,WAAW,CAAA;IAChE,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,MAAM,EAAE,YAAY,KAAK,QAAQ;QAAE,OAAO,SAAS,CAAA;IAC3F,OAAO;QACL,KAAK;QACL,MAAM,EAAE,MAAM,CAAC,YAAY;QAC3B,GAAG,OAAO,MAAM,CAAC,eAAe,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE;QAC1F,GAAG,OAAO,MAAM,CAAC,gBAAgB,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,EAAE;KAC9F,CAAA;AACH,CAAC;AAED,iEAAiE;AACjE,MAAM,UAAU,QAAQ,CAAC,KAAsC;IAC7D,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IAC9B,OAAO,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAA;AAC1F,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,aAAa,CAC3B,KAAsC;IAEtC,MAAM,OAAO,GAAG,KAAK,EAAE,IAAI,EAAE,OAAO,CAAA;IACpC,MAAM,KAAK,GAAG,OAAO,EAAE,mBAAmB,IAAI,OAAO,EAAE,WAAW,CAAA;IAClE,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,SAAS,CAAA;IAC1E,IAAI,OAAO,OAAO,EAAE,YAAY,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC;QAAE,OAAO,SAAS,CAAA;IACzG,OAAO;QACL,WAAW,EAAE,KAAK;QAClB,YAAY,EAAE,OAAO,CAAC,YAAY;QAClC,GAAG,OAAO,OAAO,CAAC,eAAe,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,eAAe,CAAC;YACxF,CAAC,CAAC,EAAE,eAAe,EAAE,OAAO,CAAC,eAAe,EAAE;YAC9C,CAAC,CAAC,EAAE;QACN,GAAG,OAAO,OAAO,CAAC,gBAAgB,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,gBAAgB,CAAC;YAC1F,CAAC,CAAC,EAAE,gBAAgB,EAAE,OAAO,CAAC,gBAAgB,EAAE;YAChD,CAAC,CAAC,EAAE;KACP,CAAA;AACH,CAAC;
|
|
1
|
+
{"version":3,"file":"usage-view.js","sourceRoot":"","sources":["../../src/harness/usage-view.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Help text for the TUI-local slash commands, rendered through
|
|
3
|
+
* `formatCommandHelp` so every entry follows the shared canonical layout.
|
|
4
|
+
* Descriptions are sourced from LOCAL_COMMANDS so autocomplete and help
|
|
5
|
+
* always agree; usage/subcommand rows mirror the real argument parsers
|
|
6
|
+
* (model-catalog.ts, effort-catalog.ts, driver-agents.ts, provider-read.ts).
|
|
7
|
+
* @module @dsh-cc/tui/slash-help
|
|
8
|
+
*/
|
|
9
|
+
/** One rendered help text per LOCAL_SLASH name. */
|
|
10
|
+
export declare const LOCAL_HELP: Readonly<Record<string, string>>;
|
|
11
|
+
/** Rendered help text for one local slash name, or undefined when unknown. */
|
|
12
|
+
export declare function localHelpFor(name: string): string | undefined;
|
|
13
|
+
//# sourceMappingURL=slash-help.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"slash-help.d.ts","sourceRoot":"","sources":["../src/slash-help.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AA+CH,mDAAmD;AACnD,eAAO,MAAM,UAAU,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAUvD,CAAA;AAED,8EAA8E;AAC9E,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAE7D"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Help text for the TUI-local slash commands, rendered through
|
|
3
|
+
* `formatCommandHelp` so every entry follows the shared canonical layout.
|
|
4
|
+
* Descriptions are sourced from LOCAL_COMMANDS so autocomplete and help
|
|
5
|
+
* always agree; usage/subcommand rows mirror the real argument parsers
|
|
6
|
+
* (model-catalog.ts, effort-catalog.ts, driver-agents.ts, provider-read.ts).
|
|
7
|
+
* @module @dsh-cc/tui/slash-help
|
|
8
|
+
*/
|
|
9
|
+
import { formatCommandHelp } from '@dsh-cc/command-usage';
|
|
10
|
+
import { LOCAL_COMMANDS, LOCAL_SLASH } from "./slash.js";
|
|
11
|
+
/** Authored help extras per local slash name (description comes from LOCAL_COMMANDS). */
|
|
12
|
+
const LOCAL_HELP_SPECS = {
|
|
13
|
+
quit: {},
|
|
14
|
+
exit: { notes: ['Alias of /quit.'] },
|
|
15
|
+
clear: {},
|
|
16
|
+
new: { notes: ['Alias of /clear.'] },
|
|
17
|
+
reset: { notes: ['Alias of /clear.'] },
|
|
18
|
+
'tui-help': {},
|
|
19
|
+
resume: {
|
|
20
|
+
usage: ['<sessionId>', '(no argument — open the session switcher)'],
|
|
21
|
+
},
|
|
22
|
+
model: {
|
|
23
|
+
usage: ['<n|provider/id>', '(no argument — open the model picker)'],
|
|
24
|
+
notes: [
|
|
25
|
+
'<n> is the 1-based catalog index; provider/id is an exact provider/model pair; a bare id resolves only when it is unique.',
|
|
26
|
+
],
|
|
27
|
+
},
|
|
28
|
+
effort: {
|
|
29
|
+
usage: ['<level|default>', '(no argument — open the effort picker)'],
|
|
30
|
+
notes: [
|
|
31
|
+
'default is a reserved keyword: it resets to the provider default and wins even over a level literally named "default".',
|
|
32
|
+
],
|
|
33
|
+
},
|
|
34
|
+
agents: {
|
|
35
|
+
usage: ['[<id>|stop <id>]', '(no argument — list background agents)'],
|
|
36
|
+
notes: ['<id> shows one agent\'s detail; stop <id> interrupts a running agent.'],
|
|
37
|
+
},
|
|
38
|
+
usage: {},
|
|
39
|
+
'export-md': {
|
|
40
|
+
usage: ['<path>', '(no argument — write to the default export directory)'],
|
|
41
|
+
},
|
|
42
|
+
copy: {},
|
|
43
|
+
provider: {
|
|
44
|
+
usage: ['[list | add <preset-id> | remove <route>]', '(no argument — open the provider panel)'],
|
|
45
|
+
},
|
|
46
|
+
onboard: {
|
|
47
|
+
notes: [
|
|
48
|
+
'Re-opens the provider setup panel after clearing cc-onboarding.suppressed; it is a no-op when a model is already configured.',
|
|
49
|
+
],
|
|
50
|
+
},
|
|
51
|
+
};
|
|
52
|
+
/** One rendered help text per LOCAL_SLASH name. */
|
|
53
|
+
export const LOCAL_HELP = Object.fromEntries(LOCAL_SLASH.map((name) => {
|
|
54
|
+
const command = LOCAL_COMMANDS.find(entry => entry.name === name);
|
|
55
|
+
const spec = LOCAL_HELP_SPECS[name];
|
|
56
|
+
return [name, formatCommandHelp({
|
|
57
|
+
name,
|
|
58
|
+
description: command?.description ?? '',
|
|
59
|
+
...spec,
|
|
60
|
+
})];
|
|
61
|
+
}));
|
|
62
|
+
/** Rendered help text for one local slash name, or undefined when unknown. */
|
|
63
|
+
export function localHelpFor(name) {
|
|
64
|
+
return LOCAL_HELP[name];
|
|
65
|
+
}
|
|
66
|
+
//# sourceMappingURL=slash-help.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"slash-help.js","sourceRoot":"","sources":["../src/slash-help.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,iBAAiB,EAAwB,MAAM,uBAAuB,CAAA;AAC/E,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAExD,yFAAyF;AACzF,MAAM,gBAAgB,GAA4E;IAChG,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE,KAAK,EAAE,CAAC,iBAAiB,CAAC,EAAE;IACpC,KAAK,EAAE,EAAE;IACT,GAAG,EAAE,EAAE,KAAK,EAAE,CAAC,kBAAkB,CAAC,EAAE;IACpC,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,kBAAkB,CAAC,EAAE;IACtC,UAAU,EAAE,EAAE;IACd,MAAM,EAAE;QACN,KAAK,EAAE,CAAC,aAAa,EAAE,2CAA2C,CAAC;KACpE;IACD,KAAK,EAAE;QACL,KAAK,EAAE,CAAC,iBAAiB,EAAE,uCAAuC,CAAC;QACnE,KAAK,EAAE;YACL,2HAA2H;SAC5H;KACF;IACD,MAAM,EAAE;QACN,KAAK,EAAE,CAAC,iBAAiB,EAAE,wCAAwC,CAAC;QACpE,KAAK,EAAE;YACL,wHAAwH;SACzH;KACF;IACD,MAAM,EAAE;QACN,KAAK,EAAE,CAAC,kBAAkB,EAAE,wCAAwC,CAAC;QACrE,KAAK,EAAE,CAAC,uEAAuE,CAAC;KACjF;IACD,KAAK,EAAE,EAAE;IACT,WAAW,EAAE;QACX,KAAK,EAAE,CAAC,QAAQ,EAAE,uDAAuD,CAAC;KAC3E;IACD,IAAI,EAAE,EAAE;IACR,QAAQ,EAAE;QACR,KAAK,EAAE,CAAC,2CAA2C,EAAE,yCAAyC,CAAC;KAChG;IACD,OAAO,EAAE;QACP,KAAK,EAAE;YACL,8HAA8H;SAC/H;KACF;CACF,CAAA;AAED,mDAAmD;AACnD,MAAM,CAAC,MAAM,UAAU,GAAqC,MAAM,CAAC,WAAW,CAC5E,WAAW,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;IACvB,MAAM,OAAO,GAAG,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,CAAA;IACjE,MAAM,IAAI,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAA;IACnC,OAAO,CAAC,IAAI,EAAE,iBAAiB,CAAC;YAC9B,IAAI;YACJ,WAAW,EAAE,OAAO,EAAE,WAAW,IAAI,EAAE;YACvC,GAAG,IAAI;SACR,CAAC,CAAC,CAAA;AACL,CAAC,CAAC,CACH,CAAA;AAED,8EAA8E;AAC9E,MAAM,UAAU,YAAY,CAAC,IAAY;IACvC,OAAO,UAAU,CAAC,IAAI,CAAC,CAAA;AACzB,CAAC"}
|
package/lib/slash.d.ts
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* @module @dsh-cc/tui/slash
|
|
5
5
|
*/
|
|
6
6
|
/** Slash names the TUI handles without calling `ctx.commands`. */
|
|
7
|
-
export declare const LOCAL_SLASH: readonly ["quit", "exit", "clear", "new", "reset", "tui-help", "resume", "model", "effort", "agents", "
|
|
7
|
+
export declare const LOCAL_SLASH: readonly ["quit", "exit", "clear", "new", "reset", "tui-help", "resume", "model", "effort", "agents", "usage", "export-md", "copy", "provider", "onboard"];
|
|
8
8
|
/** `/provider` subcommands (§4.1) — surfaced as the argument completer hints. */
|
|
9
9
|
export declare const PROVIDER_SUBCOMMANDS: readonly ["list", "add", "remove"];
|
|
10
10
|
export type LocalSlashName = (typeof LOCAL_SLASH)[number];
|
package/lib/slash.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"slash.d.ts","sourceRoot":"","sources":["../src/slash.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,kEAAkE;AAClE,eAAO,MAAM,WAAW,
|
|
1
|
+
{"version":3,"file":"slash.d.ts","sourceRoot":"","sources":["../src/slash.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,kEAAkE;AAClE,eAAO,MAAM,WAAW,4JAEd,CAAA;AAEV,iFAAiF;AACjF,eAAO,MAAM,oBAAoB,oCAAqC,CAAA;AAEtE,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,WAAW,CAAC,CAAC,MAAM,CAAC,CAAA;AAEzD,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAA;CAC/B;AAED;;;;GAIG;AACH,eAAO,MAAM,cAAc,EAAE,SAAS,YAAY,EAoBxC,CAAA;AAEV,MAAM,MAAM,WAAW,GACnB;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GACjD;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GACjC;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAA;AAapB,+EAA+E;AAC/E,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,GAAG,IAAI,CAElE;AAED;;;;;;;;GAQG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,CAkBpD"}
|
package/lib/slash.js
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
*/
|
|
6
6
|
/** Slash names the TUI handles without calling `ctx.commands`. */
|
|
7
7
|
export const LOCAL_SLASH = [
|
|
8
|
-
'quit', 'exit', 'clear', 'new', 'reset', 'tui-help', 'resume', 'model', 'effort', 'agents', '
|
|
8
|
+
'quit', 'exit', 'clear', 'new', 'reset', 'tui-help', 'resume', 'model', 'effort', 'agents', 'usage', 'export-md', 'copy', 'provider', 'onboard',
|
|
9
9
|
];
|
|
10
10
|
/** `/provider` subcommands (§4.1) — surfaced as the argument completer hints. */
|
|
11
11
|
export const PROVIDER_SUBCOMMANDS = ['list', 'add', 'remove'];
|
|
@@ -25,7 +25,6 @@ export const LOCAL_COMMANDS = [
|
|
|
25
25
|
{ name: 'model', description: 'List or switch the active model', argumentHint: '<n|provider/id>' },
|
|
26
26
|
{ name: 'effort', description: 'Set reasoning effort for the current model', argumentHint: '<level|default>' },
|
|
27
27
|
{ name: 'agents', description: 'List, inspect, or stop background agents', argumentHint: '[<id>|stop <id>]' },
|
|
28
|
-
{ name: 'cost', description: 'Show token usage' },
|
|
29
28
|
{ name: 'usage', description: 'Open the live token and context usage panel' },
|
|
30
29
|
{
|
|
31
30
|
name: 'export-md',
|
|
@@ -34,6 +33,7 @@ export const LOCAL_COMMANDS = [
|
|
|
34
33
|
},
|
|
35
34
|
{ name: 'copy', description: 'Copy the latest assistant reply to the clipboard' },
|
|
36
35
|
{ name: 'provider', description: 'Manage LLM provider routes and API keys', argumentHint: '[list | add <preset-id> | remove <route>]' },
|
|
36
|
+
{ name: 'onboard', description: 'Re-run the first-run setup (clears the onboarding opt-out)' },
|
|
37
37
|
];
|
|
38
38
|
/**
|
|
39
39
|
* Plugin-command names exposed by the cc-shell `ccPlugins` service in the
|
package/lib/slash.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"slash.js","sourceRoot":"","sources":["../src/slash.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,kEAAkE;AAClE,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,
|
|
1
|
+
{"version":3,"file":"slash.js","sourceRoot":"","sources":["../src/slash.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dsh-cc/tui",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.6.1",
|
|
4
4
|
"description": "Claude Code-style terminal surface for the dsh tui profile (CC agent preset)",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "lib/index.js",
|
|
@@ -29,25 +29,26 @@
|
|
|
29
29
|
},
|
|
30
30
|
"license": "Apache-2.0",
|
|
31
31
|
"peerDependencies": {
|
|
32
|
-
"@deepseek-ai/cordis": ">=0.1.
|
|
33
|
-
"@deepseek-ai/dsh-agent": ">=0.1.
|
|
34
|
-
"@deepseek-ai/dsh-agent-presets": ">=0.1.
|
|
35
|
-
"@deepseek-ai/dsh-commands": ">=0.1.
|
|
36
|
-
"@deepseek-ai/dsh-invariants": ">=0.1.
|
|
37
|
-
"@deepseek-ai/dsh-llm": ">=0.1.
|
|
38
|
-
"@deepseek-ai/dsh-plan-mode": ">=0.1.
|
|
39
|
-
"@deepseek-ai/dsh-session": ">=0.1.
|
|
40
|
-
"@deepseek-ai/dsh-user-approval": ">=0.1.
|
|
41
|
-
"@deepseek-ai/dsh-user-questions": ">=0.1.
|
|
32
|
+
"@deepseek-ai/cordis": ">=0.1.2-rc.1",
|
|
33
|
+
"@deepseek-ai/dsh-agent": ">=0.1.2-rc.1",
|
|
34
|
+
"@deepseek-ai/dsh-agent-presets": ">=0.1.2-rc.1",
|
|
35
|
+
"@deepseek-ai/dsh-commands": ">=0.1.2-rc.1",
|
|
36
|
+
"@deepseek-ai/dsh-invariants": ">=0.1.2-rc.1",
|
|
37
|
+
"@deepseek-ai/dsh-llm": ">=0.1.2-rc.1",
|
|
38
|
+
"@deepseek-ai/dsh-plan-mode": ">=0.1.2-rc.1",
|
|
39
|
+
"@deepseek-ai/dsh-session": ">=0.1.2-rc.1",
|
|
40
|
+
"@deepseek-ai/dsh-user-approval": ">=0.1.2-rc.1",
|
|
41
|
+
"@deepseek-ai/dsh-user-questions": ">=0.1.2-rc.1",
|
|
42
42
|
"@deepseek-ai/schemastery": ">=3.18.1"
|
|
43
43
|
},
|
|
44
44
|
"dependencies": {
|
|
45
45
|
"highlight.js": "11.12.0",
|
|
46
|
-
"@dsh-cc/command-agents": "^0.
|
|
47
|
-
"@dsh-cc/command-
|
|
48
|
-
"@dsh-cc/
|
|
49
|
-
"@dsh-cc/permission-rules": "^0.
|
|
50
|
-
"@dsh-cc/pi-tui": "^0.
|
|
46
|
+
"@dsh-cc/command-agents": "^0.6.1",
|
|
47
|
+
"@dsh-cc/command-usage": "^0.6.1",
|
|
48
|
+
"@dsh-cc/command-permissions": "^0.6.1",
|
|
49
|
+
"@dsh-cc/permission-rules": "^0.6.1",
|
|
50
|
+
"@dsh-cc/pi-tui": "^0.6.1",
|
|
51
|
+
"@dsh-cc/subagent-task": "^0.6.1"
|
|
51
52
|
},
|
|
52
53
|
"devDependencies": {
|
|
53
54
|
"@deepseek-ai/cordis": "link:../../../../deepseek-harness/vendor/cordis",
|
|
@@ -185,17 +185,19 @@
|
|
|
185
185
|
# that reaches it shares one entry-local realm here, and a consumer left
|
|
186
186
|
# outside would resolve a host registry this preset does not populate.
|
|
187
187
|
#
|
|
188
|
-
# `tool-subagent-report` is
|
|
189
|
-
#
|
|
190
|
-
#
|
|
191
|
-
#
|
|
192
|
-
# `
|
|
188
|
+
# `tool-subagent-report` is GONE upstream: there is no report tool anymore.
|
|
189
|
+
# Workers return outcomes to their parent with the host-plane
|
|
190
|
+
# `tool-subagent-control` send_message tool (addressed to the parent's session
|
|
191
|
+
# id), and settlement reaches the parent as the subagent manager's
|
|
192
|
+
# `subagent-settled` notice. `tool-subagent-control` stays host-plane for the
|
|
193
|
+
# same reason as the registry: its tools resolve `ctx.subagents.sendMessage` /
|
|
194
|
+
# interrupt state on the host plane, not a tool this agent registers locally.
|
|
193
195
|
#
|
|
194
196
|
# `tool-subagent` and `tool-subagent-fork` (the harness spawn/fork Task tools)
|
|
195
197
|
# are DISABLED here — the CC Task tool is provided by the `tool-task` row in
|
|
196
198
|
# the cc-services group instead. That replacement Task now implements the
|
|
197
199
|
# continuable loop itself: `run_in_background: true` starts a durable
|
|
198
|
-
# background child on the spawn provider, and
|
|
200
|
+
# background child on the spawn provider, and send_message /
|
|
199
201
|
# list_agents / interrupt_agent operate on its returned agentId. The harness
|
|
200
202
|
# rows stay disabled. Note for future readers: the disabled
|
|
201
203
|
# `tool-subagent-fork` row's `backgroundMode: continuable` config is inert
|
|
@@ -280,8 +282,9 @@
|
|
|
280
282
|
#
|
|
281
283
|
# Moved in from the cc-shell global swap. fetch is still disabled here because
|
|
282
284
|
# `@dsh-cc/tool-web-fetch` inside cc-services owns the model-facing tool
|
|
283
|
-
# (adds the optional `prompt`
|
|
284
|
-
# `@dsh-
|
|
285
|
+
# (adds the optional `prompt` and upgrades http: URLs to https: before the
|
|
286
|
+
# seam). The HTTP executor is the stock `@deepseek-ai/dsh-web-fetch-http`
|
|
287
|
+
# provider from dsh-base, with CC egress caps restated in cc-shell's patch.
|
|
285
288
|
# A prompt without the `haiku` route hard-fails.
|
|
286
289
|
- id: tool-web
|
|
287
290
|
name: '@deepseek-ai/dsh-tool-web'
|
|
@@ -309,7 +312,13 @@
|
|
|
309
312
|
# the ROOT realm from the root fiber (see CcPluginsService in
|
|
310
313
|
# @dsh-cc/bundle-shell) so host-plane siblings — the TUI driver and /help
|
|
311
314
|
# — can resolve it; isolating the name here would shadow that publication and
|
|
312
|
-
# break in-group resolution too.
|
|
315
|
+
# break in-group resolution too. `mcp` (the plugin MCP seam) IS isolated:
|
|
316
|
+
# only in-group loader fibers `ctx.get('mcp')`; a root-realm provide would
|
|
317
|
+
# trip leakedServices (the providing fiber is the cc-mcp-seam child, inside
|
|
318
|
+
# the preset mount). `hooks` (the plugin hooks seam) IS isolated like `mcp`:
|
|
319
|
+
# only in-group loader fibers ctx.get('hooks'); the providing fiber is
|
|
320
|
+
# hooks-claude-code, inside this group — a root-realm provide would trip
|
|
321
|
+
# leakedServices.
|
|
313
322
|
- id: cc-services
|
|
314
323
|
name: cordis:group
|
|
315
324
|
group: true
|
|
@@ -320,6 +329,8 @@
|
|
|
320
329
|
resumePinStore: true
|
|
321
330
|
mcpConnections: true
|
|
322
331
|
hookBridgeStatus: true
|
|
332
|
+
mcp: true
|
|
333
|
+
hooks: true
|
|
323
334
|
config:
|
|
324
335
|
# ToolSearch: model-called search that activates deferred tools per scope.
|
|
325
336
|
- id: tool-search
|
|
@@ -329,6 +340,22 @@
|
|
|
329
340
|
- id: compaction-micro
|
|
330
341
|
name: '@dsh-cc/compaction-micro'
|
|
331
342
|
|
|
343
|
+
# The hook bridge: runs the Claude Code hooks.json / settings hook config
|
|
344
|
+
# on the harness interception seams and provides the `hooks` seam plugin
|
|
345
|
+
# hooks merge through. Must mount BEFORE cc-shell-glue: the glue's
|
|
346
|
+
# CcPluginsService.mountAll probes ctx.get('hooks') at boot, so the bridge
|
|
347
|
+
# must have provided it first. Nothing between glue and bridge consumes
|
|
348
|
+
# bridge services at mount time (command-doctor reads hookBridgeStatus
|
|
349
|
+
# lazily at invocation), and the bridge's interception listeners use
|
|
350
|
+
# prepend:true, so ordering vs permission-rules is compose-order-insensitive.
|
|
351
|
+
- id: hooks-claude-code
|
|
352
|
+
name: '@dsh-cc/hooks-claude-code'
|
|
353
|
+
# Tracked root-level hook config (serena code-intelligence plan Phase 0).
|
|
354
|
+
# Relative configPath resolves against the process launch cwd, so a
|
|
355
|
+
# worktree session started at the worktree root loads it by construction.
|
|
356
|
+
config:
|
|
357
|
+
configPath: hooks.json
|
|
358
|
+
|
|
332
359
|
# CC plugins on disk (agents/skills/commands/hooks/mcp servers) plus the
|
|
333
360
|
# base agent preset dirs and .mcp.json server wiring — see the glue plugin.
|
|
334
361
|
- id: cc-shell-glue
|
|
@@ -381,7 +408,7 @@
|
|
|
381
408
|
name: '@dsh-cc/subagent-task'
|
|
382
409
|
|
|
383
410
|
# /agents: query/control surface for continuable background children
|
|
384
|
-
# (plan docs/plans/2026-09-
|
|
411
|
+
# (plan docs/plans/2026-09-05-continuable-background-ux.md §3.2). Mounts
|
|
385
412
|
# INSIDE cc-services (F8): the read-only snapshot joins the realm-interior
|
|
386
413
|
# resumePinStore with the host-plane subagents/agents registries, then
|
|
387
414
|
# republishes the snapshot as the ROOT-realm `ccAgents` service (CcPlugins
|
|
@@ -400,14 +427,6 @@
|
|
|
400
427
|
- id: memory
|
|
401
428
|
name: '@dsh-cc/memory'
|
|
402
429
|
|
|
403
|
-
- id: hooks-claude-code
|
|
404
|
-
name: '@dsh-cc/hooks-claude-code'
|
|
405
|
-
# Tracked root-level hook config (serena code-intelligence plan Phase 0).
|
|
406
|
-
# Relative configPath resolves against the process launch cwd, so a
|
|
407
|
-
# worktree session started at the worktree root loads it by construction.
|
|
408
|
-
config:
|
|
409
|
-
configPath: hooks.json
|
|
410
|
-
|
|
411
430
|
# Replaces the stock dsh-tool-web web_fetch (fetch: false above): adds the
|
|
412
431
|
# optional `prompt`, summarized on the cheap lane when the haiku alias is
|
|
413
432
|
# configured; degrades to raw converted text + notice otherwise.
|
|
@@ -458,9 +477,81 @@
|
|
|
458
477
|
- id: command-cost
|
|
459
478
|
name: '@dsh-cc/command-cost'
|
|
460
479
|
config:
|
|
461
|
-
# Composition decides pricing → the package schema stays strict
|
|
462
|
-
#
|
|
463
|
-
|
|
480
|
+
# Composition decides pricing → the package schema stays strict. The preset
|
|
481
|
+
# ships a starter table of official published list prices (USD per 1M
|
|
482
|
+
# tokens), collected 2026-09-10 from the vendor pricing pages; deployments
|
|
483
|
+
# whose billing differs should override the whole modelTable. No '*'
|
|
484
|
+
# wildcard column on purpose: unmatched models report "no price
|
|
485
|
+
# configured" instead of a misleading zero cost. A runtime id with a route
|
|
486
|
+
# prefix (e.g. `llmbox_ant/glm-5.3`) matches the bare model row via suffix
|
|
487
|
+
# matching.
|
|
488
|
+
modelTable:
|
|
489
|
+
# DeepSeek (api-docs.deepseek.com/quick_start/pricing); cache write is
|
|
490
|
+
# not billed separately → cacheWrite 0.
|
|
491
|
+
- model: deepseek-v4-flash-0731
|
|
492
|
+
inputPerMTok: 0.28
|
|
493
|
+
outputPerMTok: 0.42
|
|
494
|
+
cacheReadPerMTok: 0.04
|
|
495
|
+
cacheWritePerMTok: 0
|
|
496
|
+
- model: deepseek-v4-flash
|
|
497
|
+
inputPerMTok: 0.28
|
|
498
|
+
outputPerMTok: 0.42
|
|
499
|
+
cacheReadPerMTok: 0.04
|
|
500
|
+
cacheWritePerMTok: 0
|
|
501
|
+
- model: deepseek-v4-pro
|
|
502
|
+
inputPerMTok: 0.56
|
|
503
|
+
outputPerMTok: 1.68
|
|
504
|
+
cacheReadPerMTok: 0.08
|
|
505
|
+
cacheWritePerMTok: 0
|
|
506
|
+
# GLM (docs.z.ai/guides/overview/pricing); cached-input storage is
|
|
507
|
+
# limited-time free → cacheWrite 0. glm-5.3-flash uses list prices, not
|
|
508
|
+
# the 50%-off promo.
|
|
509
|
+
- model: glm-5.3
|
|
510
|
+
inputPerMTok: 1.4
|
|
511
|
+
outputPerMTok: 4.4
|
|
512
|
+
cacheReadPerMTok: 0.26
|
|
513
|
+
cacheWritePerMTok: 0
|
|
514
|
+
- model: glm-5.2
|
|
515
|
+
inputPerMTok: 1.4
|
|
516
|
+
outputPerMTok: 4.4
|
|
517
|
+
cacheReadPerMTok: 0.26
|
|
518
|
+
cacheWritePerMTok: 0
|
|
519
|
+
- model: glm-5.1
|
|
520
|
+
inputPerMTok: 1.4
|
|
521
|
+
outputPerMTok: 4.4
|
|
522
|
+
cacheReadPerMTok: 0.26
|
|
523
|
+
cacheWritePerMTok: 0
|
|
524
|
+
- model: glm-5
|
|
525
|
+
inputPerMTok: 1.0
|
|
526
|
+
outputPerMTok: 3.2
|
|
527
|
+
cacheReadPerMTok: 0.2
|
|
528
|
+
cacheWritePerMTok: 0
|
|
529
|
+
- model: glm-4.7
|
|
530
|
+
inputPerMTok: 0.6
|
|
531
|
+
outputPerMTok: 2.2
|
|
532
|
+
cacheReadPerMTok: 0.11
|
|
533
|
+
cacheWritePerMTok: 0
|
|
534
|
+
- model: glm-4.6
|
|
535
|
+
inputPerMTok: 0.6
|
|
536
|
+
outputPerMTok: 2.2
|
|
537
|
+
cacheReadPerMTok: 0.11
|
|
538
|
+
cacheWritePerMTok: 0
|
|
539
|
+
- model: glm-4.5
|
|
540
|
+
inputPerMTok: 0.6
|
|
541
|
+
outputPerMTok: 2.2
|
|
542
|
+
cacheReadPerMTok: 0.11
|
|
543
|
+
cacheWritePerMTok: 0
|
|
544
|
+
- model: glm-5.3-flash
|
|
545
|
+
inputPerMTok: 0.15
|
|
546
|
+
outputPerMTok: 0.50
|
|
547
|
+
cacheReadPerMTok: 0.03
|
|
548
|
+
cacheWritePerMTok: 0
|
|
549
|
+
# Kimi (kimi.ai kimi-k3 pricing page).
|
|
550
|
+
- model: kimi-k3
|
|
551
|
+
inputPerMTok: 3.00
|
|
552
|
+
outputPerMTok: 15.00
|
|
553
|
+
cacheReadPerMTok: 0.30
|
|
554
|
+
cacheWritePerMTok: 0
|
|
464
555
|
|
|
465
556
|
- id: command-export
|
|
466
557
|
name: '@dsh-cc/command-export'
|