@daniel156161/prism 0.2.101 → 0.2.105
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 +2 -2
- package/dist/pi/pi-env.d.ts +1 -1
- package/dist/pi/pi-env.js +1 -1
- package/dist/prism-extensions/integrations/ai-memory-system.js +16 -9
- package/dist/prism-extensions/integrations/ai-memory-system.js.map +1 -1
- package/node_modules/@earendil-works/pi-agent-core/dist/agent-loop.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-agent-core/dist/agent-loop.js +23 -25
- package/node_modules/@earendil-works/pi-agent-core/dist/agent-loop.js.map +1 -1
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/env/nodejs.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/env/nodejs.js +3 -1
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/env/nodejs.js.map +1 -1
- package/node_modules/@earendil-works/pi-agent-core/dist/types.d.ts +3 -2
- package/node_modules/@earendil-works/pi-agent-core/dist/types.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-agent-core/dist/types.js.map +1 -1
- package/node_modules/@earendil-works/pi-agent-core/package.json +3 -3
- package/node_modules/@earendil-works/pi-ai/dist/api/mistral-conversations.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/api/mistral-conversations.js +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/api/mistral-conversations.js.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/api/openai-completions.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/api/openai-completions.js +38 -6
- package/node_modules/@earendil-works/pi-ai/dist/api/openai-completions.js.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/image-models.generated.d.ts +75 -0
- package/node_modules/@earendil-works/pi-ai/dist/image-models.generated.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/image-models.generated.js +75 -0
- package/node_modules/@earendil-works/pi-ai/dist/image-models.generated.js.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/cloudflare-ai-gateway.d.ts +3 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/cloudflare-ai-gateway.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/cloudflare-ai-gateway.js.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/data/.manifest.json +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/data/amazon-bedrock.json +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/data/azure-openai-responses.json +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/data/baseten.json +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/data/cloudflare-ai-gateway.json +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/data/cloudflare-workers-ai.json +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/data/deepseek.json +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/data/fireworks.json +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/data/github-copilot.json +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/data/huggingface.json +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/data/minimax-cn.json +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/data/minimax.json +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/data/mistral.json +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/data/nvidia.json +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/data/openai.json +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/data/opencode-go.json +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/data/opencode.json +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/data/openrouter.json +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/data/qwen-token-plan-cn.json +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/data/qwen-token-plan.json +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/data/together.json +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/data/vercel-ai-gateway.json +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/data/zai-coding-cn.json +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/data/zai.json +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/types.d.ts +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/types.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/types.js.map +1 -1
- package/node_modules/@earendil-works/pi-ai/package.json +2 -2
- package/node_modules/@earendil-works/pi-client/CHANGELOG.md +1 -1
- package/node_modules/@earendil-works/pi-client/package.json +2 -2
- package/node_modules/@earendil-works/pi-coding-agent/CHANGELOG.md +47 -3
- package/node_modules/@earendil-works/pi-coding-agent/README.md +5 -4
- package/node_modules/@earendil-works/pi-coding-agent/dist/bundle/chunks/{chunk-GPPBJGBU.js → chunk-2KVJKXS2.js} +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/bundle/chunks/{chunk-E5KXRMZK.js → chunk-OMWWHBTG.js} +69 -68
- package/node_modules/@earendil-works/pi-coding-agent/dist/bundle/chunks/github-copilot.js +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/bundle/chunks/{google-generative-ai-XDKMGBCJ.js → google-generative-ai-YMUPJBKR.js} +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/bundle/chunks/{google-vertex-D5FGEO3Y.js → google-vertex-MPWMV4OF.js} +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/bundle/chunks/https-proxy-agent-2VXB7436.js +13 -0
- package/node_modules/@earendil-works/pi-coding-agent/dist/bundle/chunks/{mistral-conversations-YK73UAOZ.js → mistral-conversations-Q3AWZJAZ.js} +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/bundle/chunks/{openai-completions-JD4WAC3R.js → openai-completions-ERMU2SS7.js} +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/bundle/cli.js +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/bundle/index.js +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/bundle/rpc-entry.js +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/cli/startup-ui.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/cli/startup-ui.js +2 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/cli/startup-ui.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/agent-session.d.ts +12 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/agent-session.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/agent-session.js +77 -9
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/agent-session.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/compaction/branch-summarization.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/compaction/branch-summarization.js +4 -3
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/compaction/branch-summarization.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/compaction/compaction.d.ts +5 -0
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/compaction/compaction.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/compaction/compaction.js +19 -5
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/compaction/compaction.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/extensions/index.d.ts +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/extensions/index.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/extensions/index.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/extensions/runner.d.ts +5 -0
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/extensions/runner.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/extensions/runner.js +45 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/extensions/runner.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/extensions/types.d.ts +18 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/extensions/types.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/extensions/types.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/session-manager.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/session-manager.js +4 -2
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/session-manager.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/settings-manager.d.ts +8 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/settings-manager.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/settings-manager.js +17 -0
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/settings-manager.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/extensions/llama/client.d.ts +6 -0
- package/node_modules/@earendil-works/pi-coding-agent/dist/extensions/llama/client.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/extensions/llama/client.js +7 -0
- package/node_modules/@earendil-works/pi-coding-agent/dist/extensions/llama/client.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/extensions/llama/provider.d.ts +3 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/extensions/llama/provider.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/extensions/llama/provider.js +27 -6
- package/node_modules/@earendil-works/pi-coding-agent/dist/extensions/llama/provider.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/index.d.ts +2 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/index.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/index.js +1 -0
- package/node_modules/@earendil-works/pi-coding-agent/dist/index.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/main.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/main.js +2 -0
- package/node_modules/@earendil-works/pi-coding-agent/dist/main.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/settings-selector.d.ts +2 -0
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/settings-selector.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/settings-selector.js +10 -0
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/settings-selector.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/interactive-mode.d.ts +4 -0
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/interactive-mode.js +55 -31
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/interactive-mode.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/rpc/rpc-client.d.ts +7 -0
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/rpc/rpc-client.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/rpc/rpc-client.js +7 -0
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/rpc/rpc-client.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/rpc/rpc-mode.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/rpc/rpc-mode.js +3 -0
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/rpc/rpc-mode.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/rpc/rpc-types.d.ts +12 -0
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/rpc/rpc-types.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/rpc/rpc-types.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/utils/shell.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/utils/shell.js +6 -4
- package/node_modules/@earendil-works/pi-coding-agent/dist/utils/shell.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/docs/compaction.md +2 -0
- package/node_modules/@earendil-works/pi-coding-agent/docs/custom-provider.md +7 -7
- package/node_modules/@earendil-works/pi-coding-agent/docs/environment-variables.md +3 -0
- package/node_modules/@earendil-works/pi-coding-agent/docs/extensions.md +18 -0
- package/node_modules/@earendil-works/pi-coding-agent/docs/keybindings.md +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/docs/quickstart.md +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/docs/rpc.md +23 -0
- package/node_modules/@earendil-works/pi-coding-agent/docs/settings.md +12 -4
- package/node_modules/@earendil-works/pi-coding-agent/docs/terminal-setup.md +12 -0
- package/node_modules/@earendil-works/pi-coding-agent/docs/usage.md +4 -3
- package/node_modules/@earendil-works/pi-coding-agent/examples/extensions/custom-provider-anthropic/package-lock.json +2 -2
- package/node_modules/@earendil-works/pi-coding-agent/examples/extensions/custom-provider-anthropic/package.json +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/examples/extensions/custom-provider-gitlab-duo/package.json +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/examples/extensions/gondolin/package-lock.json +2 -2
- package/node_modules/@earendil-works/pi-coding-agent/examples/extensions/gondolin/package.json +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/examples/extensions/sandbox/package-lock.json +2 -2
- package/node_modules/@earendil-works/pi-coding-agent/examples/extensions/sandbox/package.json +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/examples/extensions/with-deps/package-lock.json +2 -2
- package/node_modules/@earendil-works/pi-coding-agent/examples/extensions/with-deps/package.json +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/package.json +6 -6
- package/node_modules/@earendil-works/pi-protocol/package.json +1 -1
- package/node_modules/@earendil-works/pi-telemetry/package.json +1 -1
- package/node_modules/@earendil-works/pi-tui/README.md +1 -1
- package/node_modules/@earendil-works/pi-tui/dist/autocomplete.d.ts +1 -0
- package/node_modules/@earendil-works/pi-tui/dist/autocomplete.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-tui/dist/autocomplete.js +36 -3
- package/node_modules/@earendil-works/pi-tui/dist/autocomplete.js.map +1 -1
- package/node_modules/@earendil-works/pi-tui/dist/index.d.ts +1 -1
- package/node_modules/@earendil-works/pi-tui/dist/index.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-tui/dist/index.js +1 -1
- package/node_modules/@earendil-works/pi-tui/dist/index.js.map +1 -1
- package/node_modules/@earendil-works/pi-tui/dist/terminal-image.d.ts +2 -0
- package/node_modules/@earendil-works/pi-tui/dist/terminal-image.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-tui/dist/terminal-image.js +37 -2
- package/node_modules/@earendil-works/pi-tui/dist/terminal-image.js.map +1 -1
- package/node_modules/@earendil-works/pi-tui/dist/tui-alt-screen.d.ts +11 -0
- package/node_modules/@earendil-works/pi-tui/dist/tui-alt-screen.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-tui/dist/tui-alt-screen.js +58 -15
- package/node_modules/@earendil-works/pi-tui/dist/tui-alt-screen.js.map +1 -1
- package/node_modules/@earendil-works/pi-tui/dist/tui-main-screen.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-tui/dist/tui-main-screen.js +105 -45
- package/node_modules/@earendil-works/pi-tui/dist/tui-main-screen.js.map +1 -1
- package/node_modules/@earendil-works/pi-tui/package.json +1 -1
- package/node_modules/@types/node/README.md +1 -1
- package/node_modules/@types/node/buffer.buffer.d.ts +5 -0
- package/node_modules/@types/node/crypto.d.ts +0 -2
- package/node_modules/@types/node/dgram.d.ts +119 -4
- package/node_modules/@types/node/fs/promises.d.ts +61 -65
- package/node_modules/@types/node/fs.d.ts +86 -76
- package/node_modules/@types/node/http.d.ts +1 -1
- package/node_modules/@types/node/http2.d.ts +2 -2
- package/node_modules/@types/node/index.d.ts +1 -0
- package/node_modules/@types/node/inspector.d.ts +2 -1
- package/node_modules/@types/node/net.d.ts +108 -16
- package/node_modules/@types/node/package.json +2 -2
- package/node_modules/@types/node/quic.d.ts +37 -11
- package/node_modules/@types/node/stream/iter.d.ts +4 -4
- package/node_modules/@types/node/tls.d.ts +24 -0
- package/node_modules/@types/node/ts5.6/buffer.buffer.d.ts +5 -0
- package/node_modules/@types/node/ts5.6/index.d.ts +1 -0
- package/node_modules/@types/node/ts5.7/index.d.ts +1 -0
- package/node_modules/@types/node/tty.d.ts +4 -3
- package/node_modules/@types/node/vfs.d.ts +210 -0
- package/node_modules/@types/node/vm.d.ts +1 -1
- package/package.json +9 -9
- package/src/prism-extensions/integrations/ai-memory-system.ts +14 -9
- package/node_modules/@earendil-works/pi-coding-agent/dist/bundle/chunks/dist-RDWOYWHR.js +0 -13
package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/interactive-mode.js
CHANGED
|
@@ -7,7 +7,7 @@ import * as fs from "node:fs";
|
|
|
7
7
|
import * as os from "node:os";
|
|
8
8
|
import * as path from "node:path";
|
|
9
9
|
import * as TuiLayouts from "@earendil-works/pi-tui";
|
|
10
|
-
import { CombinedAutocompleteProvider, Container, fuzzyFilter, getCapabilities, hyperlink, Markdown, matchesKey, ProcessTerminal, Spacer, setKeybindings, Text, TruncatedText, TuiAltScreen, TuiMainScreen, visibleWidth, } from "@earendil-works/pi-tui";
|
|
10
|
+
import { CombinedAutocompleteProvider, Container, fuzzyFilter, getCapabilities, hyperlink, Markdown, matchesKey, ProcessTerminal, Spacer, setCapabilityOverrides, setKeybindings, Text, TruncatedText, TuiAltScreen, TuiMainScreen, visibleWidth, } from "@earendil-works/pi-tui";
|
|
11
11
|
import chalk from "chalk";
|
|
12
12
|
import { spawn } from "child_process";
|
|
13
13
|
import { APP_NAME, APP_TITLE, CONFIG_DIR_NAME, getAgentDir, getAuthPath, getDebugLogPath, getDocsPath, VERSION, } from "../../config.js";
|
|
@@ -187,6 +187,7 @@ export function createInteractiveTui(options) {
|
|
|
187
187
|
searchCurrentMatchStyle: (text) => theme.bold(theme.inverse(styleSearchMatch(text))),
|
|
188
188
|
openUrl: openBrowser,
|
|
189
189
|
onRightClickPaste: options.onRightClickPaste,
|
|
190
|
+
copyOnSelect: options.fullscreenCopyOnSelect,
|
|
190
191
|
copySelection: async (text) => {
|
|
191
192
|
try {
|
|
192
193
|
await copyToClipboard(text);
|
|
@@ -350,6 +351,7 @@ export class InteractiveMode {
|
|
|
350
351
|
}
|
|
351
352
|
constructor(runtimeHost, options = {}) {
|
|
352
353
|
this.runtimeHost = runtimeHost;
|
|
354
|
+
setCapabilityOverrides(this.settingsManager.getTerminalCapabilityOverrides());
|
|
353
355
|
const tuiMode = options.tuiMode ?? this.settingsManager.getTuiMode();
|
|
354
356
|
this.options = { ...options, tuiMode };
|
|
355
357
|
this.autoTrustOnReloadCwd = options.autoTrustOnReloadCwd;
|
|
@@ -366,6 +368,7 @@ export class InteractiveMode {
|
|
|
366
368
|
showHardwareCursor: this.settingsManager.getShowHardwareCursor(),
|
|
367
369
|
logDirectory: getAgentDir(),
|
|
368
370
|
onRightClickPaste: this.onRightClickPaste,
|
|
371
|
+
fullscreenCopyOnSelect: this.settingsManager.getFullscreenCopyOnSelect(),
|
|
369
372
|
});
|
|
370
373
|
this.ui = createInteractiveTuiReference(() => this.renderer);
|
|
371
374
|
this.ui.setClearOnShrink(this.settingsManager.getClearOnShrink());
|
|
@@ -616,6 +619,7 @@ export class InteractiveMode {
|
|
|
616
619
|
logDirectory: getAgentDir(),
|
|
617
620
|
terminal,
|
|
618
621
|
onRightClickPaste: this.onRightClickPaste,
|
|
622
|
+
fullscreenCopyOnSelect: this.settingsManager.getFullscreenCopyOnSelect(),
|
|
619
623
|
});
|
|
620
624
|
nextUi.setClearOnShrink(clearOnShrink);
|
|
621
625
|
nextUi.onDebug = onDebug;
|
|
@@ -699,7 +703,7 @@ export class InteractiveMode {
|
|
|
699
703
|
await this.themeController.applyFromSettings();
|
|
700
704
|
// Add header with keybindings from config (unless silenced)
|
|
701
705
|
if (this.options.verbose || !this.settingsManager.getQuietStartup()) {
|
|
702
|
-
const logo = "▲ \u001b[38;5;196mp\u001b[38;5;202mr\u001b[38;5;226mi\u001b[38;5;46ms\u001b[38;5;51mm\u001b[0m v0.2.
|
|
706
|
+
const logo = "▲ \u001b[38;5;196mp\u001b[38;5;202mr\u001b[38;5;226mi\u001b[38;5;46ms\u001b[38;5;51mm\u001b[0m v0.2.105";
|
|
703
707
|
// Build startup instructions using keybinding hint helpers
|
|
704
708
|
const hint = (keybinding, description) => keyHint(keybinding, description);
|
|
705
709
|
const expandedInstructions = [
|
|
@@ -966,19 +970,19 @@ export class InteractiveMode {
|
|
|
966
970
|
const entries = parseChangelog(changelogPath);
|
|
967
971
|
if (!lastVersion) {
|
|
968
972
|
// Fresh install - record the version, send telemetry, don't show changelog
|
|
969
|
-
this.settingsManager.setLastChangelogVersion("0.84.
|
|
970
|
-
this.reportInstallTelemetry("0.84.
|
|
973
|
+
this.settingsManager.setLastChangelogVersion("0.84.4");
|
|
974
|
+
this.reportInstallTelemetry("0.84.4");
|
|
971
975
|
return undefined;
|
|
972
976
|
}
|
|
973
977
|
const newEntries = getNewEntries(entries, lastVersion);
|
|
974
978
|
if (entries.length > 0 && newEntries.length === entries.length) {
|
|
975
|
-
this.settingsManager.setLastChangelogVersion("0.84.
|
|
976
|
-
this.reportInstallTelemetry("0.84.
|
|
979
|
+
this.settingsManager.setLastChangelogVersion("0.84.4");
|
|
980
|
+
this.reportInstallTelemetry("0.84.4");
|
|
977
981
|
return normalizeChangelogLinks(entries[0].content, entries[0]);
|
|
978
982
|
}
|
|
979
983
|
if (newEntries.length > 0) {
|
|
980
|
-
this.settingsManager.setLastChangelogVersion("0.84.
|
|
981
|
-
this.reportInstallTelemetry("0.84.
|
|
984
|
+
this.settingsManager.setLastChangelogVersion("0.84.4");
|
|
985
|
+
this.reportInstallTelemetry("0.84.4");
|
|
982
986
|
return newEntries.map((e) => normalizeChangelogLinks(e.content, e)).join("\n\n");
|
|
983
987
|
}
|
|
984
988
|
return undefined;
|
|
@@ -1536,8 +1540,12 @@ export class InteractiveMode {
|
|
|
1536
1540
|
this.transcriptScrollView?.setScrollbar(this.settingsManager.getFullscreenScrollbar());
|
|
1537
1541
|
}
|
|
1538
1542
|
applyRuntimeSettings() {
|
|
1543
|
+
setCapabilityOverrides(this.settingsManager.getTerminalCapabilityOverrides());
|
|
1539
1544
|
configureHttpDispatcher(this.settingsManager.getHttpIdleTimeoutMs());
|
|
1540
1545
|
this.applyFullscreenScrollbarSetting();
|
|
1546
|
+
if (this.renderer instanceof TuiAltScreen) {
|
|
1547
|
+
this.renderer.setCopyOnSelect(this.settingsManager.getFullscreenCopyOnSelect());
|
|
1548
|
+
}
|
|
1541
1549
|
this.footer.setSession(this.session);
|
|
1542
1550
|
this.footer.setAutoCompactEnabled(this.session.autoCompactionEnabled);
|
|
1543
1551
|
this.footerDataProvider.setCwd(this.sessionManager.getCwd());
|
|
@@ -1687,6 +1695,9 @@ export class InteractiveMode {
|
|
|
1687
1695
|
this.statusContainer.addChild(this.idleStatus);
|
|
1688
1696
|
}
|
|
1689
1697
|
}
|
|
1698
|
+
showWorkingStatusIndicator() {
|
|
1699
|
+
this.showStatusIndicator(new WorkingStatusIndicator(this.ui, this.workingMessage ?? this.defaultWorkingMessage, this.workingIndicatorOptions));
|
|
1700
|
+
}
|
|
1690
1701
|
setWorkingVisible(visible) {
|
|
1691
1702
|
this.workingVisible = visible;
|
|
1692
1703
|
if (!visible) {
|
|
@@ -1695,7 +1706,7 @@ export class InteractiveMode {
|
|
|
1695
1706
|
return;
|
|
1696
1707
|
}
|
|
1697
1708
|
if (this.session.isStreaming && this.activeStatusIndicator?.kind !== "working") {
|
|
1698
|
-
this.
|
|
1709
|
+
this.showWorkingStatusIndicator();
|
|
1699
1710
|
}
|
|
1700
1711
|
this.ui.requestRender();
|
|
1701
1712
|
}
|
|
@@ -2315,7 +2326,7 @@ export class InteractiveMode {
|
|
|
2315
2326
|
this.defaultEditor.onAction("app.tools.expand", () => this.toggleToolOutputExpansion());
|
|
2316
2327
|
this.defaultEditor.onAction("app.thinking.toggle", () => this.toggleThinkingBlockVisibility());
|
|
2317
2328
|
this.defaultEditor.onAction("app.editor.external", () => void this.handleOpenExternalEditor());
|
|
2318
|
-
this.defaultEditor.onAction("app.message.copy", () => void this.handleCopyCommand({ flashConfirmation: true }));
|
|
2329
|
+
this.defaultEditor.onAction("app.message.copy", () => void this.handleCopyCommand({ flashConfirmation: true, preferSelection: true }));
|
|
2319
2330
|
this.defaultEditor.onAction("app.message.followUp", () => this.handleFollowUp());
|
|
2320
2331
|
this.defaultEditor.onAction("app.message.dequeue", () => this.handleDequeue());
|
|
2321
2332
|
this.defaultEditor.onAction("app.session.new", () => this.handleClearCommand());
|
|
@@ -2603,17 +2614,21 @@ export class InteractiveMode {
|
|
|
2603
2614
|
switch (event.type) {
|
|
2604
2615
|
case "agent_start":
|
|
2605
2616
|
this.pendingTools.clear();
|
|
2606
|
-
if (this.settingsManager.getShowTerminalProgress()) {
|
|
2607
|
-
this.ui.terminal.setProgress(true);
|
|
2608
|
-
}
|
|
2609
2617
|
// Restore main escape handler if retry handler is still active
|
|
2610
2618
|
// (retry success event fires later, but we need main handler now)
|
|
2611
2619
|
if (this.retryEscapeHandler) {
|
|
2612
2620
|
this.defaultEditor.onEscape = this.retryEscapeHandler;
|
|
2613
2621
|
this.retryEscapeHandler = undefined;
|
|
2614
2622
|
}
|
|
2623
|
+
break;
|
|
2624
|
+
case "turn_start":
|
|
2625
|
+
if (this.settingsManager.getShowTerminalProgress()) {
|
|
2626
|
+
this.ui.terminal.setProgress(true);
|
|
2627
|
+
}
|
|
2615
2628
|
if (this.workingVisible) {
|
|
2616
|
-
|
|
2629
|
+
if (this.activeStatusIndicator?.kind !== "working") {
|
|
2630
|
+
this.showWorkingStatusIndicator();
|
|
2631
|
+
}
|
|
2617
2632
|
}
|
|
2618
2633
|
else {
|
|
2619
2634
|
this.clearStatusIndicator();
|
|
@@ -3668,18 +3683,19 @@ export class InteractiveMode {
|
|
|
3668
3683
|
}
|
|
3669
3684
|
this.showStatus(`Tool output: ${expanded ? "expanded" : "collapsed"}`);
|
|
3670
3685
|
}
|
|
3686
|
+
/** Update rendered assistant messages without rebuilding live tool components. */
|
|
3687
|
+
updateThinkingBlockVisibility() {
|
|
3688
|
+
for (const child of this.chatContainer.children) {
|
|
3689
|
+
if (child instanceof AssistantMessageComponent) {
|
|
3690
|
+
child.setHideThinkingBlock(this.hideThinkingBlock);
|
|
3691
|
+
}
|
|
3692
|
+
}
|
|
3693
|
+
this.ui.requestRender();
|
|
3694
|
+
}
|
|
3671
3695
|
toggleThinkingBlockVisibility() {
|
|
3672
3696
|
this.hideThinkingBlock = !this.hideThinkingBlock;
|
|
3673
3697
|
this.settingsManager.setHideThinkingBlock(this.hideThinkingBlock);
|
|
3674
|
-
|
|
3675
|
-
this.chatContainer.clear();
|
|
3676
|
-
this.rebuildChatFromMessages();
|
|
3677
|
-
// If streaming, re-add the streaming component with updated visibility and re-render
|
|
3678
|
-
if (this.streamingComponent && this.streamingMessage) {
|
|
3679
|
-
this.streamingComponent.setHideThinkingBlock(this.hideThinkingBlock);
|
|
3680
|
-
this.streamingComponent.updateContent(this.streamingMessage);
|
|
3681
|
-
this.chatContainer.addChild(this.streamingComponent);
|
|
3682
|
-
}
|
|
3698
|
+
this.updateThinkingBlockVisibility();
|
|
3683
3699
|
this.showStatus(`Thinking blocks: ${this.hideThinkingBlock ? "hidden" : "visible"}`);
|
|
3684
3700
|
}
|
|
3685
3701
|
async handleOpenExternalEditor() {
|
|
@@ -3996,6 +4012,7 @@ export class InteractiveMode {
|
|
|
3996
4012
|
tuiMode: this.ui.mode,
|
|
3997
4013
|
fullscreenExitOutput: this.settingsManager.getFullscreenExitOutput(),
|
|
3998
4014
|
fullscreenScrollbar: this.settingsManager.getFullscreenScrollbar(),
|
|
4015
|
+
fullscreenCopyOnSelect: this.settingsManager.getFullscreenCopyOnSelect(),
|
|
3999
4016
|
warnings: this.settingsManager.getWarnings(),
|
|
4000
4017
|
}, {
|
|
4001
4018
|
onAutoCompactChange: (enabled) => {
|
|
@@ -4072,13 +4089,7 @@ export class InteractiveMode {
|
|
|
4072
4089
|
onHideThinkingBlockChange: (hidden) => {
|
|
4073
4090
|
this.hideThinkingBlock = hidden;
|
|
4074
4091
|
this.settingsManager.setHideThinkingBlock(hidden);
|
|
4075
|
-
|
|
4076
|
-
if (child instanceof AssistantMessageComponent) {
|
|
4077
|
-
child.setHideThinkingBlock(hidden);
|
|
4078
|
-
}
|
|
4079
|
-
}
|
|
4080
|
-
this.chatContainer.clear();
|
|
4081
|
-
this.rebuildChatFromMessages();
|
|
4092
|
+
this.updateThinkingBlockVisibility();
|
|
4082
4093
|
},
|
|
4083
4094
|
onMermaidRenderingModeChange: (mode) => {
|
|
4084
4095
|
this.settingsManager.setMermaidRenderingMode(mode);
|
|
@@ -4172,6 +4183,11 @@ export class InteractiveMode {
|
|
|
4172
4183
|
this.settingsManager.setFullscreenScrollbar(mode);
|
|
4173
4184
|
this.applyFullscreenScrollbarSetting();
|
|
4174
4185
|
},
|
|
4186
|
+
onFullscreenCopyOnSelectChange: (enabled) => {
|
|
4187
|
+
this.settingsManager.setFullscreenCopyOnSelect(enabled);
|
|
4188
|
+
if (this.renderer instanceof TuiAltScreen)
|
|
4189
|
+
this.renderer.setCopyOnSelect(enabled);
|
|
4190
|
+
},
|
|
4175
4191
|
onWarningsChange: (warnings) => {
|
|
4176
4192
|
this.settingsManager.setWarnings(warnings);
|
|
4177
4193
|
},
|
|
@@ -4361,6 +4377,7 @@ export class InteractiveMode {
|
|
|
4361
4377
|
const selectModel = async (model, persist) => {
|
|
4362
4378
|
try {
|
|
4363
4379
|
await this.session.setModel(model, { persist });
|
|
4380
|
+
this.updateAvailableProviderCount();
|
|
4364
4381
|
this.footer.invalidate();
|
|
4365
4382
|
this.updateEditorBorderColor();
|
|
4366
4383
|
done();
|
|
@@ -5209,8 +5226,8 @@ export class InteractiveMode {
|
|
|
5209
5226
|
activeHeader.setExpanded(this.toolOutputExpanded);
|
|
5210
5227
|
}
|
|
5211
5228
|
setRegisteredThemes(this.session.resourceLoader.getThemes().themes);
|
|
5212
|
-
await this.themeController.applyFromSettings();
|
|
5213
5229
|
this.applyRuntimeSettings();
|
|
5230
|
+
await this.themeController.applyFromSettings();
|
|
5214
5231
|
this.setupAutocompleteProvider();
|
|
5215
5232
|
const runner = this.session.extensionRunner;
|
|
5216
5233
|
this.setupExtensionShortcuts(runner);
|
|
@@ -5332,6 +5349,13 @@ export class InteractiveMode {
|
|
|
5332
5349
|
});
|
|
5333
5350
|
}
|
|
5334
5351
|
async handleCopyCommand(options = {}) {
|
|
5352
|
+
if (options.preferSelection &&
|
|
5353
|
+
this.ui instanceof TuiAltScreen &&
|
|
5354
|
+
!this.ui.getCopyOnSelect() &&
|
|
5355
|
+
this.ui.hasActiveSelection()) {
|
|
5356
|
+
await this.ui.copyActiveSelectionToClipboard();
|
|
5357
|
+
return;
|
|
5358
|
+
}
|
|
5335
5359
|
const text = this.session.getLastAssistantText();
|
|
5336
5360
|
if (!text) {
|
|
5337
5361
|
this.showError("No agent messages to copy yet.");
|