@zhijiewang/openharness 0.9.3 → 0.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +87 -24
- package/dist/Tool.d.ts.map +1 -1
- package/dist/Tool.js +7 -1
- package/dist/Tool.js.map +1 -1
- package/dist/Tool.test.js +8 -2
- package/dist/Tool.test.js.map +1 -1
- package/dist/agents/roles.d.ts +25 -0
- package/dist/agents/roles.d.ts.map +1 -0
- package/dist/agents/roles.js +116 -0
- package/dist/agents/roles.js.map +1 -0
- package/dist/agents/roles.test.d.ts +2 -0
- package/dist/agents/roles.test.d.ts.map +1 -0
- package/dist/agents/roles.test.js +38 -0
- package/dist/agents/roles.test.js.map +1 -0
- package/dist/commands/commands-new.test.d.ts +5 -0
- package/dist/commands/commands-new.test.d.ts.map +1 -0
- package/dist/commands/commands-new.test.js +132 -0
- package/dist/commands/commands-new.test.js.map +1 -0
- package/dist/commands/commands.test.js +31 -0
- package/dist/commands/commands.test.js.map +1 -1
- package/dist/commands/index.d.ts +2 -0
- package/dist/commands/index.d.ts.map +1 -1
- package/dist/commands/index.js +199 -6
- package/dist/commands/index.js.map +1 -1
- package/dist/components/REPL.js +1 -1
- package/dist/components/REPL.js.map +1 -1
- package/dist/git/git.test.js +33 -1
- package/dist/git/git.test.js.map +1 -1
- package/dist/git/index.d.ts +12 -0
- package/dist/git/index.d.ts.map +1 -1
- package/dist/git/index.js +47 -2
- package/dist/git/index.js.map +1 -1
- package/dist/harness/checkpoints.d.ts +36 -0
- package/dist/harness/checkpoints.d.ts.map +1 -0
- package/dist/harness/checkpoints.js +156 -0
- package/dist/harness/checkpoints.js.map +1 -0
- package/dist/harness/config.d.ts +3 -0
- package/dist/harness/config.d.ts.map +1 -1
- package/dist/harness/config.js +35 -2
- package/dist/harness/config.js.map +1 -1
- package/dist/harness/config.test.js +21 -1
- package/dist/harness/config.test.js.map +1 -1
- package/dist/harness/hooks-env.test.d.ts +5 -0
- package/dist/harness/hooks-env.test.d.ts.map +1 -0
- package/dist/harness/hooks-env.test.js +41 -0
- package/dist/harness/hooks-env.test.js.map +1 -0
- package/dist/harness/hooks.d.ts +7 -0
- package/dist/harness/hooks.d.ts.map +1 -1
- package/dist/harness/hooks.js +14 -0
- package/dist/harness/hooks.js.map +1 -1
- package/dist/harness/keybindings.d.ts.map +1 -1
- package/dist/harness/keybindings.js +4 -0
- package/dist/harness/keybindings.js.map +1 -1
- package/dist/harness/memory.d.ts +19 -0
- package/dist/harness/memory.d.ts.map +1 -1
- package/dist/harness/memory.js +85 -0
- package/dist/harness/memory.js.map +1 -1
- package/dist/harness/onboarding.d.ts +1 -1
- package/dist/harness/onboarding.d.ts.map +1 -1
- package/dist/harness/onboarding.js +59 -4
- package/dist/harness/onboarding.js.map +1 -1
- package/dist/harness/onboarding.test.d.ts +5 -0
- package/dist/harness/onboarding.test.d.ts.map +1 -0
- package/dist/harness/onboarding.test.js +93 -0
- package/dist/harness/onboarding.test.js.map +1 -0
- package/dist/harness/rules.d.ts +6 -1
- package/dist/harness/rules.d.ts.map +1 -1
- package/dist/harness/rules.js +52 -5
- package/dist/harness/rules.js.map +1 -1
- package/dist/harness/rules.test.js +30 -1
- package/dist/harness/rules.test.js.map +1 -1
- package/dist/harness/session.d.ts +8 -1
- package/dist/harness/session.d.ts.map +1 -1
- package/dist/harness/session.js +13 -5
- package/dist/harness/session.js.map +1 -1
- package/dist/harness/store.d.ts +46 -0
- package/dist/harness/store.d.ts.map +1 -0
- package/dist/harness/store.js +56 -0
- package/dist/harness/store.js.map +1 -0
- package/dist/harness/store.test.d.ts +2 -0
- package/dist/harness/store.test.d.ts.map +1 -0
- package/dist/harness/store.test.js +71 -0
- package/dist/harness/store.test.js.map +1 -0
- package/dist/harness/submit-handler.d.ts +2 -0
- package/dist/harness/submit-handler.d.ts.map +1 -1
- package/dist/harness/submit-handler.js +3 -0
- package/dist/harness/submit-handler.js.map +1 -1
- package/dist/main.js +153 -26
- package/dist/main.js.map +1 -1
- package/dist/mcp/client.d.ts +2 -0
- package/dist/mcp/client.d.ts.map +1 -1
- package/dist/mcp/client.js +10 -2
- package/dist/mcp/client.js.map +1 -1
- package/dist/mcp/loader.d.ts +2 -0
- package/dist/mcp/loader.d.ts.map +1 -1
- package/dist/mcp/loader.js +34 -18
- package/dist/mcp/loader.js.map +1 -1
- package/dist/mcp/loader.test.d.ts +7 -0
- package/dist/mcp/loader.test.d.ts.map +1 -0
- package/dist/mcp/loader.test.js +25 -0
- package/dist/mcp/loader.test.js.map +1 -0
- package/dist/providers/anthropic-convert.test.d.ts +5 -0
- package/dist/providers/anthropic-convert.test.d.ts.map +1 -0
- package/dist/providers/anthropic-convert.test.js +98 -0
- package/dist/providers/anthropic-convert.test.js.map +1 -0
- package/dist/providers/anthropic.d.ts.map +1 -1
- package/dist/providers/anthropic.js +23 -4
- package/dist/providers/anthropic.js.map +1 -1
- package/dist/providers/stream-parsing.test.d.ts +6 -0
- package/dist/providers/stream-parsing.test.d.ts.map +1 -0
- package/dist/providers/stream-parsing.test.js +174 -0
- package/dist/providers/stream-parsing.test.js.map +1 -0
- package/dist/query/compress.d.ts +17 -0
- package/dist/query/compress.d.ts.map +1 -0
- package/dist/query/compress.js +115 -0
- package/dist/query/compress.js.map +1 -0
- package/dist/query/errors.d.ts +10 -0
- package/dist/query/errors.d.ts.map +1 -0
- package/dist/query/errors.js +22 -0
- package/dist/query/errors.js.map +1 -0
- package/dist/query/index.d.ts +15 -0
- package/dist/query/index.d.ts.map +1 -0
- package/dist/query/index.js +199 -0
- package/dist/query/index.js.map +1 -0
- package/dist/query/tools.d.ts +17 -0
- package/dist/query/tools.d.ts.map +1 -0
- package/dist/query/tools.js +129 -0
- package/dist/query/tools.js.map +1 -0
- package/dist/query/types.d.ts +31 -0
- package/dist/query/types.d.ts.map +1 -0
- package/dist/query/types.js +5 -0
- package/dist/query/types.js.map +1 -0
- package/dist/query.d.ts +8 -38
- package/dist/query.d.ts.map +1 -1
- package/dist/query.js +7 -444
- package/dist/query.js.map +1 -1
- package/dist/query.test.js +1 -1
- package/dist/query.test.js.map +1 -1
- package/dist/renderer/cells.d.ts.map +1 -1
- package/dist/renderer/cells.js +15 -2
- package/dist/renderer/cells.js.map +1 -1
- package/dist/renderer/colors.d.ts +8 -0
- package/dist/renderer/colors.d.ts.map +1 -0
- package/dist/renderer/colors.js +18 -0
- package/dist/renderer/colors.js.map +1 -0
- package/dist/renderer/diff.test.d.ts +5 -0
- package/dist/renderer/diff.test.d.ts.map +1 -0
- package/dist/renderer/diff.test.js +140 -0
- package/dist/renderer/diff.test.js.map +1 -0
- package/dist/renderer/differ.d.ts +1 -5
- package/dist/renderer/differ.d.ts.map +1 -1
- package/dist/renderer/differ.js +3 -20
- package/dist/renderer/differ.js.map +1 -1
- package/dist/renderer/e2e.test.js +136 -53
- package/dist/renderer/e2e.test.js.map +1 -1
- package/dist/renderer/image.test.d.ts +5 -0
- package/dist/renderer/image.test.d.ts.map +1 -0
- package/dist/renderer/image.test.js +66 -0
- package/dist/renderer/image.test.js.map +1 -0
- package/dist/renderer/index.d.ts +28 -16
- package/dist/renderer/index.d.ts.map +1 -1
- package/dist/renderer/index.js +289 -222
- package/dist/renderer/index.js.map +1 -1
- package/dist/renderer/layout.d.ts +14 -5
- package/dist/renderer/layout.d.ts.map +1 -1
- package/dist/renderer/layout.js +522 -388
- package/dist/renderer/layout.js.map +1 -1
- package/dist/renderer/markdown.d.ts.map +1 -1
- package/dist/renderer/markdown.js +42 -36
- package/dist/renderer/markdown.js.map +1 -1
- package/dist/renderer/perf.test.js +1 -4
- package/dist/renderer/perf.test.js.map +1 -1
- package/dist/renderer/session-browser.test.d.ts +6 -0
- package/dist/renderer/session-browser.test.d.ts.map +1 -0
- package/dist/renderer/session-browser.test.js +95 -0
- package/dist/renderer/session-browser.test.js.map +1 -0
- package/dist/renderer/ui-ux.test.d.ts +15 -0
- package/dist/renderer/ui-ux.test.d.ts.map +1 -0
- package/dist/renderer/ui-ux.test.js +470 -0
- package/dist/renderer/ui-ux.test.js.map +1 -0
- package/dist/repl.d.ts.map +1 -1
- package/dist/repl.js +192 -67
- package/dist/repl.js.map +1 -1
- package/dist/services/StreamingToolExecutor.d.ts.map +1 -1
- package/dist/services/StreamingToolExecutor.js +4 -2
- package/dist/services/StreamingToolExecutor.js.map +1 -1
- package/dist/services/agent-messaging.d.ts +68 -0
- package/dist/services/agent-messaging.d.ts.map +1 -0
- package/dist/services/agent-messaging.js +121 -0
- package/dist/services/agent-messaging.js.map +1 -0
- package/dist/services/agent-messaging.test.d.ts +2 -0
- package/dist/services/agent-messaging.test.d.ts.map +1 -0
- package/dist/services/agent-messaging.test.js +88 -0
- package/dist/services/agent-messaging.test.js.map +1 -0
- package/dist/services/cron.d.ts +40 -0
- package/dist/services/cron.d.ts.map +1 -0
- package/dist/services/cron.js +90 -0
- package/dist/services/cron.js.map +1 -0
- package/dist/services/cron.test.d.ts +2 -0
- package/dist/services/cron.test.d.ts.map +1 -0
- package/dist/services/cron.test.js +49 -0
- package/dist/services/cron.test.js.map +1 -0
- package/dist/tools/AgentTool/index.d.ts +9 -0
- package/dist/tools/AgentTool/index.d.ts.map +1 -1
- package/dist/tools/AgentTool/index.js +89 -6
- package/dist/tools/AgentTool/index.js.map +1 -1
- package/dist/tools/BashTool/index.d.ts +6 -0
- package/dist/tools/BashTool/index.d.ts.map +1 -1
- package/dist/tools/BashTool/index.js +39 -1
- package/dist/tools/BashTool/index.js.map +1 -1
- package/dist/tools/FileEditTool/index.js +4 -4
- package/dist/tools/FileEditTool/index.js.map +1 -1
- package/dist/tools/FileReadTool/index.d.ts +3 -0
- package/dist/tools/FileReadTool/index.d.ts.map +1 -1
- package/dist/tools/FileReadTool/index.js +102 -4
- package/dist/tools/FileReadTool/index.js.map +1 -1
- package/dist/tools/FileWriteTool/index.d.ts.map +1 -1
- package/dist/tools/FileWriteTool/index.js +20 -5
- package/dist/tools/FileWriteTool/index.js.map +1 -1
- package/dist/tools/GlobTool/index.d.ts.map +1 -1
- package/dist/tools/GlobTool/index.js +4 -61
- package/dist/tools/GlobTool/index.js.map +1 -1
- package/dist/tools/GrepTool/index.d.ts +30 -0
- package/dist/tools/GrepTool/index.d.ts.map +1 -1
- package/dist/tools/GrepTool/index.js +153 -72
- package/dist/tools/GrepTool/index.js.map +1 -1
- package/dist/tools/LSTool/index.d.ts +3 -0
- package/dist/tools/LSTool/index.d.ts.map +1 -1
- package/dist/tools/LSTool/index.js +44 -29
- package/dist/tools/LSTool/index.js.map +1 -1
- package/dist/tools/TaskCreateTool/index.d.ts +6 -0
- package/dist/tools/TaskCreateTool/index.d.ts.map +1 -1
- package/dist/tools/TaskCreateTool/index.js +8 -2
- package/dist/tools/TaskCreateTool/index.js.map +1 -1
- package/dist/tools/TaskGetTool/index.d.ts +12 -0
- package/dist/tools/TaskGetTool/index.d.ts.map +1 -0
- package/dist/tools/TaskGetTool/index.js +50 -0
- package/dist/tools/TaskGetTool/index.js.map +1 -0
- package/dist/tools/TaskOutputTool/index.d.ts +15 -0
- package/dist/tools/TaskOutputTool/index.d.ts.map +1 -0
- package/dist/tools/TaskOutputTool/index.js +45 -0
- package/dist/tools/TaskOutputTool/index.js.map +1 -0
- package/dist/tools/TaskStopTool/index.d.ts +15 -0
- package/dist/tools/TaskStopTool/index.d.ts.map +1 -0
- package/dist/tools/TaskStopTool/index.js +51 -0
- package/dist/tools/TaskStopTool/index.js.map +1 -0
- package/dist/tools/TaskUpdateTool/index.d.ts +21 -3
- package/dist/tools/TaskUpdateTool/index.d.ts.map +1 -1
- package/dist/tools/TaskUpdateTool/index.js +48 -3
- package/dist/tools/TaskUpdateTool/index.js.map +1 -1
- package/dist/tools/tools-basic.test.js +191 -2
- package/dist/tools/tools-basic.test.js.map +1 -1
- package/dist/tools.d.ts.map +1 -1
- package/dist/tools.js +6 -0
- package/dist/tools.js.map +1 -1
- package/dist/types/permissions.d.ts +2 -2
- package/dist/types/permissions.d.ts.map +1 -1
- package/dist/types/permissions.js +59 -13
- package/dist/types/permissions.js.map +1 -1
- package/dist/types/permissions.test.js +57 -0
- package/dist/types/permissions.test.js.map +1 -1
- package/dist/utils/bash-safety.d.ts +18 -0
- package/dist/utils/bash-safety.d.ts.map +1 -0
- package/dist/utils/bash-safety.js +227 -0
- package/dist/utils/bash-safety.js.map +1 -0
- package/dist/utils/bash-safety.test.d.ts +2 -0
- package/dist/utils/bash-safety.test.d.ts.map +1 -0
- package/dist/utils/bash-safety.test.js +112 -0
- package/dist/utils/bash-safety.test.js.map +1 -0
- package/dist/utils/fs.d.ts +15 -0
- package/dist/utils/fs.d.ts.map +1 -0
- package/dist/utils/fs.js +64 -0
- package/dist/utils/fs.js.map +1 -0
- package/dist/utils/fs.test.d.ts +5 -0
- package/dist/utils/fs.test.d.ts.map +1 -0
- package/dist/utils/fs.test.js +82 -0
- package/dist/utils/fs.test.js.map +1 -0
- package/dist/utils/safe-env.d.ts +10 -0
- package/dist/utils/safe-env.d.ts.map +1 -0
- package/dist/utils/safe-env.js +40 -0
- package/dist/utils/safe-env.js.map +1 -0
- package/package.json +3 -1
package/dist/repl.js
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* Uses TerminalRenderer for display instead of Ink.
|
|
4
4
|
*/
|
|
5
5
|
import { createAssistantMessage, createMessage, createInfoMessage } from './types/message.js';
|
|
6
|
-
import { query } from './query.js';
|
|
6
|
+
import { query } from './query/index.js';
|
|
7
7
|
import { createSession, saveSession, loadSession } from './harness/session.js';
|
|
8
8
|
import { CostTracker, estimateCost, getContextWindow } from './harness/cost.js';
|
|
9
9
|
import { autoCommitAIEdits, isGitRepo } from './git/index.js';
|
|
@@ -28,21 +28,32 @@ export async function startREPL(config) {
|
|
|
28
28
|
if (config.theme)
|
|
29
29
|
setActiveTheme(config.theme);
|
|
30
30
|
const renderer = new TerminalRenderer();
|
|
31
|
+
// Set banner in live area (avoids the empty gap between scrollback banner and bottom-anchored input)
|
|
32
|
+
if (config.welcomeText) {
|
|
33
|
+
renderer.setBannerLines(config.welcomeText.split('\n'));
|
|
34
|
+
}
|
|
31
35
|
// Session
|
|
32
36
|
let session;
|
|
37
|
+
const sessionExtras = {
|
|
38
|
+
workingDir: process.cwd(),
|
|
39
|
+
gitBranch: isGitRepo() ? (await import('./git/index.js')).gitBranch() : undefined,
|
|
40
|
+
tools: config.tools.map(t => t.name),
|
|
41
|
+
};
|
|
33
42
|
try {
|
|
34
43
|
session = config.resumeSessionId
|
|
35
44
|
? loadSession(config.resumeSessionId)
|
|
36
|
-
: createSession(config.provider.name, config.model ?? '');
|
|
45
|
+
: createSession(config.provider.name, config.model ?? '', sessionExtras);
|
|
37
46
|
}
|
|
38
47
|
catch {
|
|
39
|
-
session = createSession(config.provider.name, config.model ?? '');
|
|
48
|
+
session = createSession(config.provider.name, config.model ?? '', sessionExtras);
|
|
40
49
|
}
|
|
50
|
+
// Initialize checkpoints for file rewind
|
|
51
|
+
const { initCheckpoints } = await import('./harness/checkpoints.js');
|
|
52
|
+
initCheckpoints(session.id);
|
|
41
53
|
const cost = new CostTracker();
|
|
42
54
|
let cachedConfig = readOhConfig();
|
|
43
55
|
let messages = config.resumeSessionId ? session.messages : (config.initialMessages ?? []);
|
|
44
|
-
//
|
|
45
|
-
const showBanner = messages.length === 0 && config.welcomeText;
|
|
56
|
+
// Banner is printed to stdout by main.tsx before renderer starts
|
|
46
57
|
let loading = false;
|
|
47
58
|
let currentModel = config.model ?? '';
|
|
48
59
|
let abortController = null;
|
|
@@ -51,6 +62,7 @@ export async function startREPL(config) {
|
|
|
51
62
|
let inputHistory = [];
|
|
52
63
|
let historyIndex = -1;
|
|
53
64
|
let vimMode = null;
|
|
65
|
+
let fastMode = false;
|
|
54
66
|
let acSuggestions = [];
|
|
55
67
|
let acDescriptions = [];
|
|
56
68
|
let acIndex = -1;
|
|
@@ -139,7 +151,7 @@ export async function startREPL(config) {
|
|
|
139
151
|
renderer.setCompanion([...frame0, nameLine], color);
|
|
140
152
|
// Animate on timer
|
|
141
153
|
renderer.onAnimation((frameIdx) => {
|
|
142
|
-
if (
|
|
154
|
+
if (!companionVisible)
|
|
143
155
|
return;
|
|
144
156
|
const f = idleFrames[frameIdx % idleFrames.length] ?? idleFrames[0] ?? [];
|
|
145
157
|
const lines = f.map((l) => l.replace('{E}', eyes));
|
|
@@ -150,7 +162,7 @@ export async function startREPL(config) {
|
|
|
150
162
|
function syncRenderer() {
|
|
151
163
|
renderer.setMessages(messages);
|
|
152
164
|
renderer.setLoading(loading);
|
|
153
|
-
const hints = `exit to quit${loading ? ' | Ctrl+C
|
|
165
|
+
const hints = `exit to quit${loading ? ' | Ctrl+C stop | Ctrl+O thinking' : ' | Tab expand tools | Ctrl+O transcript'}${companionConfig?.soul?.name ? ` | @${companionConfig.soul.name}` : ''}`;
|
|
154
166
|
renderer.setStatusHints(hints);
|
|
155
167
|
// Status line: model | tokens | cost | ctx
|
|
156
168
|
const inTok = cost.totalInputTokens;
|
|
@@ -216,33 +228,8 @@ export async function startREPL(config) {
|
|
|
216
228
|
}
|
|
217
229
|
return;
|
|
218
230
|
}
|
|
219
|
-
// Ctrl+F
|
|
220
|
-
|
|
221
|
-
renderer.enterSearchMode();
|
|
222
|
-
return;
|
|
223
|
-
}
|
|
224
|
-
// Search mode intercepts all input
|
|
225
|
-
if (renderer.isSearchMode()) {
|
|
226
|
-
if (key.name === 'escape') {
|
|
227
|
-
renderer.exitSearchMode();
|
|
228
|
-
}
|
|
229
|
-
else if (key.name === 'return' || key.name === 'down') {
|
|
230
|
-
renderer.searchNext();
|
|
231
|
-
}
|
|
232
|
-
else if (key.name === 'up') {
|
|
233
|
-
renderer.searchPrev();
|
|
234
|
-
}
|
|
235
|
-
else if (key.name === 'backspace') {
|
|
236
|
-
const q = renderer.getSearchQuery();
|
|
237
|
-
if (q.length > 0)
|
|
238
|
-
renderer.setSearchQuery(q.slice(0, -1));
|
|
239
|
-
}
|
|
240
|
-
else if (key.char && key.char.length === 1 && !key.ctrl && !key.meta) {
|
|
241
|
-
renderer.setSearchQuery(renderer.getSearchQuery() + key.char);
|
|
242
|
-
}
|
|
243
|
-
return;
|
|
244
|
-
}
|
|
245
|
-
// Vim mode toggle via escape
|
|
231
|
+
// Search: use terminal's native search (Ctrl+Shift+F in VS Code)
|
|
232
|
+
// Vim mode
|
|
246
233
|
if (vimMode !== null) {
|
|
247
234
|
if (key.name === 'escape') {
|
|
248
235
|
vimMode = 'normal';
|
|
@@ -250,19 +237,136 @@ export async function startREPL(config) {
|
|
|
250
237
|
return;
|
|
251
238
|
}
|
|
252
239
|
if (vimMode === 'normal') {
|
|
253
|
-
|
|
240
|
+
// -- Mode transitions --
|
|
241
|
+
if (key.char === 'i') {
|
|
254
242
|
vimMode = 'insert';
|
|
255
243
|
renderer.setVimMode(vimMode);
|
|
256
244
|
return;
|
|
257
245
|
}
|
|
258
|
-
if (key.char === '
|
|
259
|
-
|
|
246
|
+
if (key.char === 'a') {
|
|
247
|
+
vimMode = 'insert';
|
|
248
|
+
renderer.setVimMode(vimMode);
|
|
249
|
+
if (inputCursor < inputText.length)
|
|
250
|
+
inputCursor++;
|
|
251
|
+
renderer.setInputCursor(inputCursor);
|
|
252
|
+
return;
|
|
253
|
+
}
|
|
254
|
+
if (key.char === 'I') {
|
|
255
|
+
vimMode = 'insert';
|
|
256
|
+
renderer.setVimMode(vimMode);
|
|
257
|
+
inputCursor = 0;
|
|
258
|
+
renderer.setInputCursor(inputCursor);
|
|
259
|
+
return;
|
|
260
|
+
}
|
|
261
|
+
if (key.char === 'A') {
|
|
262
|
+
vimMode = 'insert';
|
|
263
|
+
renderer.setVimMode(vimMode);
|
|
264
|
+
inputCursor = inputText.length;
|
|
265
|
+
renderer.setInputCursor(inputCursor);
|
|
266
|
+
return;
|
|
267
|
+
}
|
|
268
|
+
if (key.char === 'o') {
|
|
269
|
+
vimMode = 'insert';
|
|
270
|
+
renderer.setVimMode(vimMode);
|
|
271
|
+
inputText = inputText + '\n';
|
|
272
|
+
inputCursor = inputText.length;
|
|
273
|
+
renderer.setInputText(inputText);
|
|
274
|
+
renderer.setInputCursor(inputCursor);
|
|
275
|
+
return;
|
|
276
|
+
}
|
|
277
|
+
// -- Movement --
|
|
278
|
+
if (key.char === 'h' || key.name === 'left') {
|
|
279
|
+
if (inputCursor > 0) {
|
|
280
|
+
inputCursor--;
|
|
281
|
+
renderer.setInputCursor(inputCursor);
|
|
282
|
+
}
|
|
283
|
+
return;
|
|
284
|
+
}
|
|
285
|
+
if (key.char === 'l' || key.name === 'right') {
|
|
286
|
+
if (inputCursor < inputText.length) {
|
|
287
|
+
inputCursor++;
|
|
288
|
+
renderer.setInputCursor(inputCursor);
|
|
289
|
+
}
|
|
260
290
|
return;
|
|
261
291
|
}
|
|
262
292
|
if (key.char === 'j' || key.name === 'down') {
|
|
263
293
|
navigateHistory(1);
|
|
264
294
|
return;
|
|
265
295
|
}
|
|
296
|
+
if (key.char === 'k' || key.name === 'up') {
|
|
297
|
+
navigateHistory(-1);
|
|
298
|
+
return;
|
|
299
|
+
}
|
|
300
|
+
if (key.char === '0') {
|
|
301
|
+
inputCursor = 0;
|
|
302
|
+
renderer.setInputCursor(inputCursor);
|
|
303
|
+
return;
|
|
304
|
+
}
|
|
305
|
+
if (key.char === '$') {
|
|
306
|
+
inputCursor = inputText.length;
|
|
307
|
+
renderer.setInputCursor(inputCursor);
|
|
308
|
+
return;
|
|
309
|
+
}
|
|
310
|
+
// Word forward (w)
|
|
311
|
+
if (key.char === 'w') {
|
|
312
|
+
const rest = inputText.slice(inputCursor);
|
|
313
|
+
const m = rest.match(/^\S*\s+/);
|
|
314
|
+
inputCursor = m ? Math.min(inputCursor + m[0].length, inputText.length) : inputText.length;
|
|
315
|
+
renderer.setInputCursor(inputCursor);
|
|
316
|
+
return;
|
|
317
|
+
}
|
|
318
|
+
// Word backward (b)
|
|
319
|
+
if (key.char === 'b') {
|
|
320
|
+
const before = inputText.slice(0, inputCursor);
|
|
321
|
+
const m = before.match(/\S+\s*$/);
|
|
322
|
+
inputCursor = m ? inputCursor - m[0].length : 0;
|
|
323
|
+
renderer.setInputCursor(inputCursor);
|
|
324
|
+
return;
|
|
325
|
+
}
|
|
326
|
+
// End of word (e)
|
|
327
|
+
if (key.char === 'e') {
|
|
328
|
+
const rest = inputText.slice(inputCursor + 1);
|
|
329
|
+
const m = rest.match(/^\s*\S*/);
|
|
330
|
+
inputCursor = m ? Math.min(inputCursor + 1 + m[0].length, inputText.length) : inputText.length;
|
|
331
|
+
renderer.setInputCursor(inputCursor);
|
|
332
|
+
return;
|
|
333
|
+
}
|
|
334
|
+
// -- Editing --
|
|
335
|
+
if (key.char === 'x') {
|
|
336
|
+
if (inputCursor < inputText.length) {
|
|
337
|
+
inputText = inputText.slice(0, inputCursor) + inputText.slice(inputCursor + 1);
|
|
338
|
+
if (inputCursor >= inputText.length && inputCursor > 0)
|
|
339
|
+
inputCursor--;
|
|
340
|
+
renderer.setInputText(inputText);
|
|
341
|
+
renderer.setInputCursor(inputCursor);
|
|
342
|
+
}
|
|
343
|
+
return;
|
|
344
|
+
}
|
|
345
|
+
// dd — delete entire line
|
|
346
|
+
if (key.char === 'd') {
|
|
347
|
+
// Simple: clear entire input (like dd in single-line mode)
|
|
348
|
+
inputText = '';
|
|
349
|
+
inputCursor = 0;
|
|
350
|
+
renderer.setInputText(inputText);
|
|
351
|
+
renderer.setInputCursor(inputCursor);
|
|
352
|
+
return;
|
|
353
|
+
}
|
|
354
|
+
// Submit with Enter even in normal mode
|
|
355
|
+
if (key.name === 'return') {
|
|
356
|
+
if (inputText.trim() && !loading) {
|
|
357
|
+
handleSubmit(inputText.trim());
|
|
358
|
+
inputHistory.unshift(inputText);
|
|
359
|
+
historyIndex = -1;
|
|
360
|
+
inputText = '';
|
|
361
|
+
inputCursor = 0;
|
|
362
|
+
acSuggestions = [];
|
|
363
|
+
acDescriptions = [];
|
|
364
|
+
renderer.setInputText(inputText);
|
|
365
|
+
renderer.setInputCursor(inputCursor);
|
|
366
|
+
renderer.setAutocomplete([], -1);
|
|
367
|
+
}
|
|
368
|
+
return;
|
|
369
|
+
}
|
|
266
370
|
return; // swallow other keys in normal mode
|
|
267
371
|
}
|
|
268
372
|
}
|
|
@@ -301,38 +405,33 @@ export async function startREPL(config) {
|
|
|
301
405
|
renderer.toggleCodeBlockExpansion();
|
|
302
406
|
return;
|
|
303
407
|
}
|
|
304
|
-
// Ctrl+O:
|
|
408
|
+
// Ctrl+O: cycle through views — thinking toggle → transcript (flush all to scrollback)
|
|
305
409
|
if (key.ctrl && key.char === 'o') {
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
if (key.shift && key.name === 'up') {
|
|
319
|
-
renderer.scrollUp(3);
|
|
320
|
-
return;
|
|
321
|
-
}
|
|
322
|
-
if (key.shift && key.name === 'down') {
|
|
323
|
-
renderer.scrollDown(3);
|
|
410
|
+
if (loading) {
|
|
411
|
+
// During streaming: toggle thinking expansion
|
|
412
|
+
renderer.toggleThinkingExpanded();
|
|
413
|
+
}
|
|
414
|
+
else {
|
|
415
|
+
// When idle: flush all messages to scrollback for review (transcript mode)
|
|
416
|
+
// This makes the full conversation visible in native terminal scrollback
|
|
417
|
+
renderer.clearLiveArea();
|
|
418
|
+
renderer.setMessages(messages);
|
|
419
|
+
renderer.flushMessages();
|
|
420
|
+
renderer.notify('Transcript written to scrollback (scroll up to review)');
|
|
421
|
+
}
|
|
324
422
|
return;
|
|
325
423
|
}
|
|
424
|
+
// Scroll wheel: adjust manual scroll offset
|
|
326
425
|
if (key.name === 'scrollup') {
|
|
327
|
-
renderer.
|
|
426
|
+
renderer.scrollBy(3);
|
|
328
427
|
return;
|
|
329
428
|
}
|
|
330
429
|
if (key.name === 'scrolldown') {
|
|
331
|
-
renderer.
|
|
430
|
+
renderer.scrollBy(-3);
|
|
332
431
|
return;
|
|
333
432
|
}
|
|
334
|
-
if (key.name === 'mouse')
|
|
335
|
-
return;
|
|
433
|
+
if (key.name === 'pageup' || key.name === 'pagedown' || key.name === 'mouse')
|
|
434
|
+
return;
|
|
336
435
|
// Tab: autocomplete slash commands or file paths, or cycle tool call expansion
|
|
337
436
|
if (key.name === 'tab' && !loading) {
|
|
338
437
|
if (acSuggestions.length > 0) {
|
|
@@ -441,8 +540,7 @@ export async function startREPL(config) {
|
|
|
441
540
|
renderer.setInputCursor(inputCursor);
|
|
442
541
|
}
|
|
443
542
|
async function handleSubmit(input) {
|
|
444
|
-
// Clear
|
|
445
|
-
renderer.setBanner(null);
|
|
543
|
+
// Clear any previous errors on new input
|
|
446
544
|
renderer.setError(null);
|
|
447
545
|
// Exit
|
|
448
546
|
if (input === 'exit' || input === 'quit' || input === '/exit' || input === '/quit' || input === '/q') {
|
|
@@ -502,6 +600,17 @@ export async function startREPL(config) {
|
|
|
502
600
|
messages = [...messages, createInfoMessage(vimMode ? 'Vim mode ON' : 'Vim mode OFF')];
|
|
503
601
|
renderer.setVimMode(vimMode);
|
|
504
602
|
}
|
|
603
|
+
if (result.fastModeToggled) {
|
|
604
|
+
fastMode = !fastMode;
|
|
605
|
+
messages = [...messages, createInfoMessage(fastMode ? 'Fast mode ON — optimized for speed' : 'Fast mode OFF')];
|
|
606
|
+
}
|
|
607
|
+
// Clear old live area BEFORE syncRenderer when a query will follow.
|
|
608
|
+
// syncRenderer → scheduleRender → queueMicrotask(render). The microtask fires
|
|
609
|
+
// at the next await boundary. Without clearing first, the render's flushMessages()
|
|
610
|
+
// writes on top of the old live area (banner/companion/input), causing double ❯
|
|
611
|
+
// and ghost artifacts.
|
|
612
|
+
if (result.prompt)
|
|
613
|
+
renderer.clearLiveArea();
|
|
505
614
|
syncRenderer();
|
|
506
615
|
if (result.handled)
|
|
507
616
|
return;
|
|
@@ -509,6 +618,9 @@ export async function startREPL(config) {
|
|
|
509
618
|
await runQuery(result.prompt);
|
|
510
619
|
}
|
|
511
620
|
async function runQuery(prompt) {
|
|
621
|
+
// Messages already set by handleSubmit's syncRenderer().
|
|
622
|
+
// Live area already cleared and flushed by the render microtask
|
|
623
|
+
// that fires between syncRenderer() and this await point.
|
|
512
624
|
loading = true;
|
|
513
625
|
renderer.setLoading(true);
|
|
514
626
|
// Don't set thinkingStartedAt here — only on first thinking_delta event
|
|
@@ -523,10 +635,13 @@ export async function startREPL(config) {
|
|
|
523
635
|
const askUserQuestion = (question, options) => {
|
|
524
636
|
return renderer.askQuestion(question, options);
|
|
525
637
|
};
|
|
638
|
+
const effectiveSystemPrompt = fastMode
|
|
639
|
+
? config.systemPrompt + "\n\nIMPORTANT: Fast mode is active. Be extremely concise. Skip explanations. Go straight to the answer or action."
|
|
640
|
+
: config.systemPrompt;
|
|
526
641
|
const queryConfig = {
|
|
527
642
|
provider: config.provider,
|
|
528
643
|
tools: config.tools,
|
|
529
|
-
systemPrompt:
|
|
644
|
+
systemPrompt: effectiveSystemPrompt,
|
|
530
645
|
permissionMode: config.permissionMode,
|
|
531
646
|
askUser,
|
|
532
647
|
askUserQuestion,
|
|
@@ -537,7 +652,7 @@ export async function startREPL(config) {
|
|
|
537
652
|
for await (const event of query(prompt, queryConfig, messages)) {
|
|
538
653
|
switch (event.type) {
|
|
539
654
|
case 'text_delta':
|
|
540
|
-
|
|
655
|
+
// Content auto-scrolls via terminal native scrollback
|
|
541
656
|
accumulated += event.content;
|
|
542
657
|
// Move completed lines to messages, keep partial in streaming
|
|
543
658
|
const lines = accumulated.split('\n');
|
|
@@ -696,11 +811,22 @@ export async function startREPL(config) {
|
|
|
696
811
|
}
|
|
697
812
|
}
|
|
698
813
|
finally {
|
|
814
|
+
// Preserve partial streaming text on abort
|
|
815
|
+
if (accumulated) {
|
|
816
|
+
const last = messages[messages.length - 1];
|
|
817
|
+
if (last?.meta?.isStreaming) {
|
|
818
|
+
messages = [...messages.slice(0, -1), { ...last, content: last.content + accumulated, meta: {} }];
|
|
819
|
+
}
|
|
820
|
+
else {
|
|
821
|
+
messages = [...messages, createAssistantMessage(accumulated + '\n\n[interrupted]')];
|
|
822
|
+
}
|
|
823
|
+
accumulated = '';
|
|
824
|
+
}
|
|
699
825
|
loading = false;
|
|
700
826
|
abortController = null;
|
|
701
827
|
renderer.setLoading(false);
|
|
702
828
|
renderer.setStreamingText('');
|
|
703
|
-
|
|
829
|
+
// Content auto-scrolls via terminal native scrollback
|
|
704
830
|
syncRenderer();
|
|
705
831
|
}
|
|
706
832
|
}
|
|
@@ -724,8 +850,7 @@ export async function startREPL(config) {
|
|
|
724
850
|
process.on('uncaughtException', (err) => { cleanup(); console.error('Fatal:', err); process.exit(1); });
|
|
725
851
|
// Start
|
|
726
852
|
renderer.start();
|
|
727
|
-
|
|
728
|
-
renderer.setBanner(config.welcomeText.split('\n'));
|
|
853
|
+
// Banner is already printed to stdout by main.tsx (visible in terminal scrollback)
|
|
729
854
|
syncRenderer();
|
|
730
855
|
}
|
|
731
856
|
//# sourceMappingURL=repl.js.map
|
package/dist/repl.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"repl.js","sourceRoot":"","sources":["../src/repl.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"repl.js","sourceRoot":"","sources":["../src/repl.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StreamingToolExecutor.d.ts","sourceRoot":"","sources":["../../src/services/StreamingToolExecutor.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,KAAK,EAAQ,UAAU,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAEvE,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAgBzE,qBAAa,qBAAqB;IAK9B,OAAO,CAAC,KAAK;IACb,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,cAAc;IACtB,OAAO,CAAC,OAAO,CAAC;IAChB,OAAO,CAAC,WAAW,CAAC;IARtB,OAAO,CAAC,OAAO,CAAqB;IACpC,QAAQ,CAAC,YAAY,EAAE,KAAK,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAM;gBAG3D,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,WAAW,EACpB,cAAc,EAAE,cAAc,EAC9B,OAAO,CAAC,EAAE,SAAS,YAAA,EACnB,WAAW,CAAC,EAAE,WAAW,YAAA;IAGnC,OAAO,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI;IAYjC,OAAO,CAAC,YAAY;YAeN,WAAW;
|
|
1
|
+
{"version":3,"file":"StreamingToolExecutor.d.ts","sourceRoot":"","sources":["../../src/services/StreamingToolExecutor.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,KAAK,EAAQ,UAAU,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAEvE,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAgBzE,qBAAa,qBAAqB;IAK9B,OAAO,CAAC,KAAK;IACb,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,cAAc;IACtB,OAAO,CAAC,OAAO,CAAC;IAChB,OAAO,CAAC,WAAW,CAAC;IARtB,OAAO,CAAC,OAAO,CAAqB;IACpC,QAAQ,CAAC,YAAY,EAAE,KAAK,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAM;gBAG3D,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,WAAW,EACpB,cAAc,EAAE,cAAc,EAC9B,OAAO,CAAC,EAAE,SAAS,YAAA,EACnB,WAAW,CAAC,EAAE,WAAW,YAAA;IAGnC,OAAO,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI;IAYjC,OAAO,CAAC,YAAY;YAeN,WAAW;IAuExB,mBAAmB,IAAI,SAAS,CAAC;QAAE,QAAQ,EAAE,QAAQ,CAAC;QAAC,MAAM,EAAE,UAAU,CAAA;KAAE,CAAC;IAWvE,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAIjC,IAAI,YAAY,IAAI,MAAM,CAEzB;CACF"}
|
|
@@ -55,9 +55,11 @@ export class StreamingToolExecutor {
|
|
|
55
55
|
return;
|
|
56
56
|
}
|
|
57
57
|
// Permission check
|
|
58
|
-
const perm = checkPermission(this.permissionMode, tool.riskLevel, tool.isReadOnly(tracked.toolCall.arguments));
|
|
58
|
+
const perm = checkPermission(this.permissionMode, tool.riskLevel, tool.isReadOnly(tracked.toolCall.arguments), tool.name, tracked.toolCall.arguments);
|
|
59
59
|
if (!perm.allowed && perm.reason === "needs-approval" && this.askUser) {
|
|
60
|
-
const
|
|
60
|
+
const { formatToolArgs } = await import("../utils/tool-summary.js");
|
|
61
|
+
const description = formatToolArgs(tool.name, tracked.toolCall.arguments);
|
|
62
|
+
const allowed = await this.askUser(tool.name, description, tool.riskLevel);
|
|
61
63
|
if (!allowed) {
|
|
62
64
|
tracked.result = { output: "Permission denied.", isError: true };
|
|
63
65
|
tracked.status = "completed";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StreamingToolExecutor.js","sourceRoot":"","sources":["../../src/services/StreamingToolExecutor.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAE5C,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAa1D,MAAM,eAAe,GAAG,EAAE,CAAC;AAE3B,MAAM,OAAO,qBAAqB;IAKtB;IACA;IACA;IACA;IACA;IARF,OAAO,GAAkB,EAAE,CAAC;IAC3B,YAAY,GAA6C,EAAE,CAAC;IAErE,YACU,KAAY,EACZ,OAAoB,EACpB,cAA8B,EAC9B,OAAmB,EACnB,WAAyB;QAJzB,UAAK,GAAL,KAAK,CAAO;QACZ,YAAO,GAAP,OAAO,CAAa;QACpB,mBAAc,GAAd,cAAc,CAAgB;QAC9B,YAAO,GAAP,OAAO,CAAY;QACnB,gBAAW,GAAX,WAAW,CAAc;IAChC,CAAC;IAEJ,OAAO,CAAC,QAAkB;QACxB,MAAM,IAAI,GAAG,cAAc,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAC3D,MAAM,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QACzE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;YAChB,EAAE,EAAE,QAAQ,CAAC,EAAE;YACf,QAAQ;YACR,MAAM,EAAE,QAAQ;YAChB,iBAAiB,EAAE,MAAM;SAC1B,CAAC,CAAC;QACH,IAAI,CAAC,YAAY,EAAE,CAAC;IACtB,CAAC;IAEO,YAAY;QAClB,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC;QAEvE,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YAChC,IAAI,IAAI,CAAC,MAAM,KAAK,QAAQ;gBAAE,SAAS;YACvC,IAAI,SAAS,CAAC,MAAM,IAAI,eAAe;gBAAE,MAAM;YAC/C,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB;gBAAE,MAAM;YAC3D,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC;gBAAE,MAAM;YAE/E,IAAI,CAAC,MAAM,GAAG,WAAW,CAAC;YAC1B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YACtC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvB,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,WAAW,CAAC,OAAoB;QAC5C,MAAM,IAAI,GAAG,cAAc,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACnE,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO,CAAC,MAAM,GAAG,EAAE,MAAM,EAAE,iBAAiB,OAAO,CAAC,QAAQ,CAAC,QAAQ,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;YACzF,OAAO,CAAC,MAAM,GAAG,WAAW,CAAC;YAC7B,OAAO;QACT,CAAC;QAED,mBAAmB;QACnB,MAAM,IAAI,GAAG,eAAe,CAC1B,IAAI,CAAC,cAAc,EACnB,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,
|
|
1
|
+
{"version":3,"file":"StreamingToolExecutor.js","sourceRoot":"","sources":["../../src/services/StreamingToolExecutor.ts"],"names":[],"mappings":"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"}
|