@este.systems/dsc 0.3.0 → 0.4.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +176 -0
- package/README.md +110 -46
- package/bin/dsc.mjs +3 -12
- package/dist/agent.js +5 -5
- package/dist/agent.js.map +1 -1
- package/dist/api.js +45 -0
- package/dist/api.js.map +1 -1
- package/dist/approval.js +16 -0
- package/dist/approval.js.map +1 -1
- package/dist/prompt.js +2 -1
- package/dist/prompt.js.map +1 -1
- package/dist/slash.js +1 -0
- package/dist/slash.js.map +1 -1
- package/dist/tools.js +1 -1
- package/dist/tools.js.map +1 -1
- package/dist/tui.js +195 -29
- package/dist/tui.js.map +1 -1
- package/dist/ui.js +0 -93
- package/dist/ui.js.map +1 -1
- package/dist/update.js +92 -1
- package/dist/update.js.map +1 -1
- package/package.json +5 -5
- package/dist/index.js +0 -923
- package/dist/index.js.map +0 -1
- package/dist/markdown.js +0 -543
- package/dist/markdown.js.map +0 -1
package/dist/tui.js
CHANGED
|
@@ -2,7 +2,8 @@ import { jsx as _jsx } from "react/jsx-runtime";
|
|
|
2
2
|
import { render } from "ink";
|
|
3
3
|
import { App } from "./tui/App.js";
|
|
4
4
|
import { getState, setState } from "./store.js";
|
|
5
|
-
import { AVAILABLE_MODELS, DEFAULT_MODEL, DeepSeekError, apiKeySource, computeCostUsd, configPath, hasApiKey, recordUsage, saveApiKey, } from "./api.js";
|
|
5
|
+
import { AVAILABLE_MODELS, DEFAULT_MODEL, DeepSeekError, apiKeySource, computeCostUsd, configPath, hasApiKey, recordUsage, saveApiKey, saveSearchKey, } from "./api.js";
|
|
6
|
+
import { getProviderKey } from "./search.js";
|
|
6
7
|
import { runAgent, formatCost, estimateContextTokens, } from "./agent.js";
|
|
7
8
|
import * as history from "./history.js";
|
|
8
9
|
import * as approval from "./approval.js";
|
|
@@ -14,13 +15,15 @@ import * as path from "node:path";
|
|
|
14
15
|
import { compactSession } from "./compact.js";
|
|
15
16
|
import { formatVersionInfo } from "./version.js";
|
|
16
17
|
import { openEditor } from "./editor.js";
|
|
17
|
-
import { checkForUpdate, runUpdate } from "./update.js";
|
|
18
|
+
import { addLocalBinToShellRc, checkForUpdate, localBinOnPath, runUpdate, setUserNpmPrefix, shellRcPath, } from "./update.js";
|
|
18
19
|
import { copyToClipboard } from "./clipboard.js";
|
|
19
20
|
const AUTO_COMPACT_AT_TOKENS = Number(process.env.DSC_AUTO_COMPACT ?? "0") || 0;
|
|
20
21
|
const AUTO_COMPACT_KEEP = Number(process.env.DSC_AUTO_COMPACT_KEEP ?? "4") || 4;
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
//
|
|
22
|
+
class CliError extends Error {
|
|
23
|
+
}
|
|
24
|
+
// Full arg parsing for the TUI entry — this is the only entry point now
|
|
25
|
+
// that the readline REPL is gone. Anything the old REPL accepted needs to
|
|
26
|
+
// be handled here.
|
|
24
27
|
function parseArgs(argv) {
|
|
25
28
|
const out = {};
|
|
26
29
|
const positional = [];
|
|
@@ -34,9 +37,24 @@ function parseArgs(argv) {
|
|
|
34
37
|
out.yolo = true;
|
|
35
38
|
else if (a === "--no-resume")
|
|
36
39
|
out.noResume = true;
|
|
40
|
+
else if (a === "--resume") {
|
|
41
|
+
const v = argv[i + 1];
|
|
42
|
+
if (v && !v.startsWith("-")) {
|
|
43
|
+
out.resumeId = v;
|
|
44
|
+
i++;
|
|
45
|
+
}
|
|
46
|
+
out.resume = true;
|
|
47
|
+
}
|
|
48
|
+
else if (a === "--model" || a === "-m") {
|
|
49
|
+
const v = argv[++i];
|
|
50
|
+
if (!AVAILABLE_MODELS.includes(v)) {
|
|
51
|
+
throw new CliError(`unknown model: ${v} (available: ${AVAILABLE_MODELS.join(", ")})`);
|
|
52
|
+
}
|
|
53
|
+
out.model = v;
|
|
54
|
+
out.modelExplicit = true;
|
|
55
|
+
}
|
|
37
56
|
else if (a.startsWith("-")) {
|
|
38
|
-
|
|
39
|
-
// (--model, --resume <id>) to index.ts instead.
|
|
57
|
+
throw new CliError(`unknown flag: ${a}`);
|
|
40
58
|
}
|
|
41
59
|
else
|
|
42
60
|
positional.push(a);
|
|
@@ -46,27 +64,36 @@ function parseArgs(argv) {
|
|
|
46
64
|
return out;
|
|
47
65
|
}
|
|
48
66
|
async function main() {
|
|
49
|
-
|
|
67
|
+
let cli;
|
|
68
|
+
try {
|
|
69
|
+
cli = parseArgs(process.argv.slice(2));
|
|
70
|
+
}
|
|
71
|
+
catch (e) {
|
|
72
|
+
if (e instanceof CliError) {
|
|
73
|
+
process.stderr.write(`${e.message}\n`);
|
|
74
|
+
process.exit(2);
|
|
75
|
+
}
|
|
76
|
+
throw e;
|
|
77
|
+
}
|
|
50
78
|
if (cli.version) {
|
|
51
79
|
process.stdout.write(formatVersionInfo() + "\n");
|
|
52
80
|
process.exit(0);
|
|
53
81
|
}
|
|
54
82
|
if (cli.help) {
|
|
55
83
|
process.stdout.write([
|
|
56
|
-
"dsc — CLI coding agent for DeepSeek
|
|
84
|
+
"dsc — CLI coding agent for DeepSeek",
|
|
57
85
|
"",
|
|
58
86
|
"Usage:",
|
|
59
|
-
" dsc
|
|
60
|
-
" dsc \"your prompt here\"
|
|
61
|
-
" dsc --repl Use the readline REPL instead",
|
|
87
|
+
" dsc Start the TUI",
|
|
88
|
+
" dsc \"your prompt here\" One-shot: run and exit",
|
|
62
89
|
"",
|
|
63
|
-
"Flags
|
|
64
|
-
" -
|
|
65
|
-
"
|
|
66
|
-
"
|
|
67
|
-
"
|
|
68
|
-
"",
|
|
69
|
-
"
|
|
90
|
+
"Flags:",
|
|
91
|
+
" -m, --model <name> " + AVAILABLE_MODELS.join(" | "),
|
|
92
|
+
" -y, --yolo Skip approval prompts",
|
|
93
|
+
" --no-resume Don't auto-resume the latest session",
|
|
94
|
+
" --resume [id] Resume the most recent (or by id)",
|
|
95
|
+
" -v, --version Print version and exit",
|
|
96
|
+
" -h, --help Show this help",
|
|
70
97
|
].join("\n") + "\n");
|
|
71
98
|
process.exit(0);
|
|
72
99
|
}
|
|
@@ -77,9 +104,19 @@ async function main() {
|
|
|
77
104
|
const startupKeyMissing = !hasApiKey();
|
|
78
105
|
const cwd = process.cwd();
|
|
79
106
|
await history.migrateLegacyIfPresent(cwd, DEFAULT_MODEL);
|
|
80
|
-
// Auto-resume most recent for cwd unless --no-resume; otherwise fresh.
|
|
81
107
|
let session = history.newSession(cwd, DEFAULT_MODEL);
|
|
82
|
-
if (
|
|
108
|
+
if (cli.resumeId) {
|
|
109
|
+
// Explicit --resume <id>: load that session by id, error out if it
|
|
110
|
+
// doesn't exist rather than silently falling back to a new session.
|
|
111
|
+
const loaded = await history.loadSession(cli.resumeId);
|
|
112
|
+
if (!loaded) {
|
|
113
|
+
process.stderr.write(`session not found: ${cli.resumeId}\n`);
|
|
114
|
+
process.exit(1);
|
|
115
|
+
}
|
|
116
|
+
session = loaded;
|
|
117
|
+
}
|
|
118
|
+
else if (!cli.noResume) {
|
|
119
|
+
// Auto-resume most recent for this cwd; otherwise fresh.
|
|
83
120
|
const target = await history.mostRecentForCwd(cwd);
|
|
84
121
|
if (target) {
|
|
85
122
|
const loaded = await history.loadSession(target.id);
|
|
@@ -91,7 +128,10 @@ async function main() {
|
|
|
91
128
|
// out for the new session's arrays without restarting the process.
|
|
92
129
|
let messages = session.messages;
|
|
93
130
|
let stats = session.stats;
|
|
94
|
-
|
|
131
|
+
// --model on the command line overrides the session's stored model.
|
|
132
|
+
// Without --model, the session's model wins so resuming preserves what
|
|
133
|
+
// the user picked last time.
|
|
134
|
+
let model = cli.modelExplicit && cli.model ? cli.model : session.model;
|
|
95
135
|
const initialAutoContinue = Number(process.env.DSC_AUTO_CONTINUE ?? "0") || 0;
|
|
96
136
|
const toolCtx = {
|
|
97
137
|
cwd,
|
|
@@ -453,6 +493,7 @@ async function main() {
|
|
|
453
493
|
"/export [path] write current session JSON for transfer",
|
|
454
494
|
"/import <path> load session JSON; rebinds cwd here (--keep-cwd to skip)",
|
|
455
495
|
"/api-key [key] show source / save api key to config file",
|
|
496
|
+
"/search-key [p] [key] show search-provider keys / save brave|tavily key",
|
|
456
497
|
"/update check npm for a newer dsc and install it",
|
|
457
498
|
"/exit exit",
|
|
458
499
|
].join("\n"));
|
|
@@ -700,12 +741,80 @@ async function main() {
|
|
|
700
741
|
return true;
|
|
701
742
|
}
|
|
702
743
|
info(`installing ${check.latest} (currently ${check.current}) via npm…`);
|
|
703
|
-
|
|
744
|
+
let r = await runUpdate();
|
|
745
|
+
// Auto-recover from EACCES on Linux/macOS: offer to set
|
|
746
|
+
// npm's prefix under ~/.local so the install doesn't need
|
|
747
|
+
// sudo, optionally append the PATH export to the user's
|
|
748
|
+
// shell rc, then retry. The user approves each step.
|
|
749
|
+
const isPermError = /EACCES|EPERM|permission/.test(r.output);
|
|
750
|
+
if (!r.ok &&
|
|
751
|
+
isPermError &&
|
|
752
|
+
process.platform !== "win32") {
|
|
753
|
+
const ans = await approval.confirm({
|
|
754
|
+
title: "Permission error installing dsc",
|
|
755
|
+
body: `npm install -g hit a permission error (likely because npm's prefix is system-owned).` +
|
|
756
|
+
`\n\nDurable fix: set npm's global prefix to ~/.local. After this, all` +
|
|
757
|
+
`\n\`npm install -g\` and \`/update\` runs work without sudo.` +
|
|
758
|
+
`\n\nDsc will:` +
|
|
759
|
+
`\n 1. mkdir -p ~/.local/{bin,lib}` +
|
|
760
|
+
`\n 2. npm config set prefix ~/.local` +
|
|
761
|
+
`\n 3. retry the install`,
|
|
762
|
+
question: "Configure user prefix and retry? [y]es / [n]o (Esc rejects) ",
|
|
763
|
+
});
|
|
764
|
+
if (ans !== "no") {
|
|
765
|
+
try {
|
|
766
|
+
const dir = await setUserNpmPrefix();
|
|
767
|
+
info(`set npm prefix to ${dir}; retrying install…`);
|
|
768
|
+
r = await runUpdate();
|
|
769
|
+
if (r.ok && !localBinOnPath()) {
|
|
770
|
+
const rc = shellRcPath();
|
|
771
|
+
if (rc) {
|
|
772
|
+
const pathAns = await approval.confirm({
|
|
773
|
+
title: "Add ~/.local/bin to PATH",
|
|
774
|
+
body: `dsc now lives at ~/.local/bin/dsc but that directory isn't on your PATH.` +
|
|
775
|
+
`\n\nDsc can append the export line to:` +
|
|
776
|
+
`\n ${rc}` +
|
|
777
|
+
`\n\nYou'll need to open a new terminal (or \`source\` the file) for it to take effect.`,
|
|
778
|
+
question: `Append PATH export to ${rc}? [y]es / [n]o (Esc rejects) `,
|
|
779
|
+
});
|
|
780
|
+
if (pathAns !== "no") {
|
|
781
|
+
try {
|
|
782
|
+
const edited = await addLocalBinToShellRc();
|
|
783
|
+
if (edited) {
|
|
784
|
+
info(`appended PATH export to ${edited}. Open a new terminal or run:` +
|
|
785
|
+
`\n source ${edited}`);
|
|
786
|
+
}
|
|
787
|
+
else {
|
|
788
|
+
info(`(${rc} already has ~/.local/bin in PATH; no edit needed)`);
|
|
789
|
+
}
|
|
790
|
+
}
|
|
791
|
+
catch (e) {
|
|
792
|
+
info(`error appending to ${rc}: ${e.message}`);
|
|
793
|
+
}
|
|
794
|
+
}
|
|
795
|
+
else {
|
|
796
|
+
info(`Add this line to your shell rc manually:\n export PATH="$HOME/.local/bin:$PATH"`);
|
|
797
|
+
}
|
|
798
|
+
}
|
|
799
|
+
else {
|
|
800
|
+
info(`Couldn't autodetect your shell rc. Add this line manually:` +
|
|
801
|
+
`\n export PATH="$HOME/.local/bin:$PATH"`);
|
|
802
|
+
}
|
|
803
|
+
}
|
|
804
|
+
}
|
|
805
|
+
catch (e) {
|
|
806
|
+
info(`error: prefix setup failed: ${e.message}`);
|
|
807
|
+
}
|
|
808
|
+
}
|
|
809
|
+
}
|
|
704
810
|
if (!r.ok) {
|
|
705
|
-
//
|
|
706
|
-
//
|
|
707
|
-
|
|
708
|
-
|
|
811
|
+
// Either non-permission failure, or the user declined the
|
|
812
|
+
// auto-recovery, or the retry itself failed. Surface npm's
|
|
813
|
+
// own output verbatim — it usually points at the cause.
|
|
814
|
+
const tail = isPermError && process.platform !== "win32"
|
|
815
|
+
? `\n\nQuick one-off if you'd rather: sudo npm install -g @este.systems/dsc@latest`
|
|
816
|
+
: "";
|
|
817
|
+
info(`error: update failed\n${r.output.slice(-1500)}${tail}`);
|
|
709
818
|
return true;
|
|
710
819
|
}
|
|
711
820
|
info(`installed ${check.latest}. Exit and re-run \`dsc\` to pick up the new version.`);
|
|
@@ -729,7 +838,7 @@ async function main() {
|
|
|
729
838
|
info(`api key: stored in ${configPath()}`);
|
|
730
839
|
}
|
|
731
840
|
else {
|
|
732
|
-
info(`api key: not set\
|
|
841
|
+
info(`api key: not set\nGet one at https://platform.deepseek.com/api_keys, then run /api-key <key> (or export DEEPSEEK_API_KEY in your shell).`);
|
|
733
842
|
}
|
|
734
843
|
return true;
|
|
735
844
|
}
|
|
@@ -742,6 +851,63 @@ async function main() {
|
|
|
742
851
|
}
|
|
743
852
|
return true;
|
|
744
853
|
}
|
|
854
|
+
case "search-key": {
|
|
855
|
+
// /search-key -> list providers + status + URLs
|
|
856
|
+
// /search-key <provider> -> show that provider's status + URL
|
|
857
|
+
// /search-key <provider> <key> -> save it to config
|
|
858
|
+
const tokens = arg.trim().split(/\s+/).filter(Boolean);
|
|
859
|
+
const [providerArg, ...keyParts] = tokens;
|
|
860
|
+
const keyArg = keyParts.join(" ");
|
|
861
|
+
const SIGNUP = {
|
|
862
|
+
brave: "https://api-dashboard.search.brave.com/app/keys",
|
|
863
|
+
tavily: "https://app.tavily.com/",
|
|
864
|
+
};
|
|
865
|
+
const ENV_VAR = {
|
|
866
|
+
brave: "BRAVE_API_KEY",
|
|
867
|
+
tavily: "TAVILY_API_KEY",
|
|
868
|
+
};
|
|
869
|
+
const sourceFor = (p) => {
|
|
870
|
+
if (process.env[ENV_VAR[p]])
|
|
871
|
+
return "env";
|
|
872
|
+
return getProviderKey(p) ? "file" : null;
|
|
873
|
+
};
|
|
874
|
+
const lineFor = (p) => {
|
|
875
|
+
const src = sourceFor(p);
|
|
876
|
+
const status = src === "env"
|
|
877
|
+
? `set via $${ENV_VAR[p]}`
|
|
878
|
+
: src === "file"
|
|
879
|
+
? "stored in config"
|
|
880
|
+
: "not set";
|
|
881
|
+
return ` ${p}: ${status} — ${SIGNUP[p]}`;
|
|
882
|
+
};
|
|
883
|
+
if (!providerArg) {
|
|
884
|
+
info([
|
|
885
|
+
"search providers:",
|
|
886
|
+
lineFor("brave"),
|
|
887
|
+
lineFor("tavily"),
|
|
888
|
+
"",
|
|
889
|
+
"To save a key: /search-key <provider> <key>",
|
|
890
|
+
"Pick the active provider with DSC_SEARCH_PROVIDER or `search.provider` in the config.",
|
|
891
|
+
].join("\n"));
|
|
892
|
+
return true;
|
|
893
|
+
}
|
|
894
|
+
if (providerArg !== "brave" && providerArg !== "tavily") {
|
|
895
|
+
info(`error: unknown provider '${providerArg}' (expected: brave | tavily)`);
|
|
896
|
+
return true;
|
|
897
|
+
}
|
|
898
|
+
if (!keyArg) {
|
|
899
|
+
info(`${providerArg}: ${sourceFor(providerArg) ?? "not set"}\nsignup: ${SIGNUP[providerArg]}`);
|
|
900
|
+
return true;
|
|
901
|
+
}
|
|
902
|
+
try {
|
|
903
|
+
const written = await saveSearchKey(providerArg, keyArg);
|
|
904
|
+
info(`${providerArg} key saved to ${written}`);
|
|
905
|
+
}
|
|
906
|
+
catch (e) {
|
|
907
|
+
info(`error: ${e.message}`);
|
|
908
|
+
}
|
|
909
|
+
return true;
|
|
910
|
+
}
|
|
745
911
|
case "audit": {
|
|
746
912
|
const sub = arg.trim();
|
|
747
913
|
if (!sub || sub === "path") {
|
|
@@ -989,7 +1155,7 @@ async function main() {
|
|
|
989
1155
|
" Ctrl+D exit",
|
|
990
1156
|
];
|
|
991
1157
|
if (startupKeyMissing) {
|
|
992
|
-
lines.push("",
|
|
1158
|
+
lines.push("", "To get started, save your API key:", " /api-key sk-... (get one at https://platform.deepseek.com/api_keys)", " or: export DEEPSEEK_API_KEY in your shell");
|
|
993
1159
|
}
|
|
994
1160
|
info(lines.join("\n"));
|
|
995
1161
|
try {
|
package/dist/tui.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tui.js","sourceRoot":"","sources":["../src/tui.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tui.js","sourceRoot":"","sources":["../src/tui.tsx"],"names":[],"mappings":"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"}
|
package/dist/ui.js
CHANGED
|
@@ -75,97 +75,4 @@ export class Spinner {
|
|
|
75
75
|
process.stdout.write("\r\x1b[K");
|
|
76
76
|
}
|
|
77
77
|
}
|
|
78
|
-
/**
|
|
79
|
-
* Status bar pinned to the last row via DECSTBM. Sets the scroll region
|
|
80
|
-
* to 1..N-1 at enable + on resize; paint() writes to row N without
|
|
81
|
-
* touching margins.
|
|
82
|
-
*
|
|
83
|
-
* Repaint strategy is "overwrite, then trim". We write the status text
|
|
84
|
-
* and then emit `\x1b[K` (clear-to-end-of-line) to wipe any trailing
|
|
85
|
-
* characters from a previously-longer status. We never `\x1b[2K` (clear
|
|
86
|
-
* whole row) before writing — that's the flash that made the earlier
|
|
87
|
-
* version flicker on every periodic repaint.
|
|
88
|
-
*
|
|
89
|
-
* A 1 s timer repaints unconditionally so the status survives
|
|
90
|
-
* terminal-side weirdness (some terminals clobber row N when the scroll
|
|
91
|
-
* region scrolls). With overwrite-in-place, identical repaints are
|
|
92
|
-
* visually a no-op.
|
|
93
|
-
*/
|
|
94
|
-
export class StatusBar {
|
|
95
|
-
text = "";
|
|
96
|
-
active = false;
|
|
97
|
-
timer;
|
|
98
|
-
resizeHandler = () => this.onResize();
|
|
99
|
-
enable() {
|
|
100
|
-
if (this.active)
|
|
101
|
-
return;
|
|
102
|
-
if (!process.stdout.isTTY)
|
|
103
|
-
return;
|
|
104
|
-
const rows = process.stdout.rows ?? 24;
|
|
105
|
-
if (rows < 4)
|
|
106
|
-
return; // too short to bother
|
|
107
|
-
// Reset any stale region, set ours, drop the cursor at the bottom of
|
|
108
|
-
// the scrollable area so the prompt lands one row above the status.
|
|
109
|
-
process.stdout.write(`\x1b[r\x1b[1;${rows - 1}r\x1b[${rows - 1};1H`);
|
|
110
|
-
this.active = true;
|
|
111
|
-
this.timer = setInterval(() => this.paint(), 1000);
|
|
112
|
-
this.timer.unref?.();
|
|
113
|
-
process.stdout.on("resize", this.resizeHandler);
|
|
114
|
-
}
|
|
115
|
-
render(text) {
|
|
116
|
-
this.text = text;
|
|
117
|
-
this.paint();
|
|
118
|
-
}
|
|
119
|
-
disable() {
|
|
120
|
-
if (!this.active)
|
|
121
|
-
return;
|
|
122
|
-
if (this.timer)
|
|
123
|
-
clearInterval(this.timer);
|
|
124
|
-
this.timer = undefined;
|
|
125
|
-
process.stdout.removeListener("resize", this.resizeHandler);
|
|
126
|
-
this.active = false;
|
|
127
|
-
// Reset scroll region to full screen and clear the bottom row so
|
|
128
|
-
// exit doesn't leave a stale status line stuck on screen.
|
|
129
|
-
const rows = process.stdout.rows ?? 24;
|
|
130
|
-
process.stdout.write(`\x1b[r\x1b[${rows};1H\x1b[2K`);
|
|
131
|
-
}
|
|
132
|
-
paint() {
|
|
133
|
-
if (!this.active)
|
|
134
|
-
return;
|
|
135
|
-
if (!process.stdout.isTTY)
|
|
136
|
-
return;
|
|
137
|
-
const rows = process.stdout.rows ?? 24;
|
|
138
|
-
const cols = process.stdout.columns ?? 80;
|
|
139
|
-
if (rows < 4)
|
|
140
|
-
return;
|
|
141
|
-
// Truncate to fit. We add 1 leading + 1 trailing space inside the
|
|
142
|
-
// reverse-video block, so usable width is cols-2. Without this, a
|
|
143
|
-
// status wider than the terminal auto-wraps onto a non-existent
|
|
144
|
-
// row N+1, scrolling the whole screen up and leaving only the
|
|
145
|
-
// wrapped tail visible on row N.
|
|
146
|
-
const maxLen = Math.max(0, cols - 2);
|
|
147
|
-
const display = this.text.length > maxLen
|
|
148
|
-
? this.text.slice(0, Math.max(0, maxLen - 1)) + "…"
|
|
149
|
-
: this.text;
|
|
150
|
-
// Save cursor → jump to row N col 1 → write reverse-video status
|
|
151
|
-
// (overwrites in place; no pre-clear means no blank flash) →
|
|
152
|
-
// \x1b[K trims any trailing characters from a longer prior status →
|
|
153
|
-
// restore cursor. Region is left alone — setting it here would
|
|
154
|
-
// force the cursor to (1,1) and break the prompt position.
|
|
155
|
-
process.stdout.write(`\x1b7` +
|
|
156
|
-
`\x1b[${rows};1H` +
|
|
157
|
-
`\x1b[7m ${display} \x1b[0m` +
|
|
158
|
-
`\x1b[K` +
|
|
159
|
-
`\x1b8`);
|
|
160
|
-
}
|
|
161
|
-
onResize() {
|
|
162
|
-
if (!this.active)
|
|
163
|
-
return;
|
|
164
|
-
const rows = process.stdout.rows ?? 24;
|
|
165
|
-
if (rows < 4)
|
|
166
|
-
return;
|
|
167
|
-
process.stdout.write(`\x1b[r\x1b[1;${rows - 1}r`);
|
|
168
|
-
this.paint();
|
|
169
|
-
}
|
|
170
|
-
}
|
|
171
78
|
//# sourceMappingURL=ui.js.map
|
package/dist/ui.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ui.js","sourceRoot":"","sources":["../src/ui.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"ui.js","sourceRoot":"","sources":["../src/ui.ts"],"names":[],"mappings":"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"}
|