diff --git a/packages/coding-agent/CHANGELOG.md b/packages/coding-agent/CHANGELOG.md index e02699973..f8d8450ef 100644 --- a/packages/coding-agent/CHANGELOG.md +++ b/packages/coding-agent/CHANGELOG.md @@ -1,6 +1,7 @@ # Changelog ## [Unreleased] + ### Added - Comprehensive `models.yml` provider integration guide documenting custom model registration, provider overrides, API adapters, merge behavior, and practical integration patterns for Ollama, vLLM, LM Studio, and proxy endpoints @@ -8,6 +9,8 @@ ### Changed +- Updated interactive bash terminal UI label from 'InteractiveTerm' to 'Console' for clarity +- Enhanced bash execution environment with comprehensive non-interactive defaults for pagers, editors, and package managers to prevent command blocking and interactive prompts - Updated custom models configuration to use `~/.omp/agent/models.yml` (YAML format) while maintaining backward compatibility with legacy `models.json` ## [12.0.0] - 2026-02-12 diff --git a/packages/coding-agent/src/tools/bash-interactive.ts b/packages/coding-agent/src/tools/bash-interactive.ts index 2d33dbfdc..10a7b7a9a 100644 --- a/packages/coding-agent/src/tools/bash-interactive.ts +++ b/packages/coding-agent/src/tools/bash-interactive.ts @@ -196,7 +196,7 @@ class BashInteractiveOverlayComponent implements Component { : this.#state === "complete" && this.#exitCode === 0 ? getStateIcon("success", this.uiTheme) : getStateIcon("warning", this.uiTheme); - const title = this.uiTheme.fg("accent", "InteractiveTerm"); + const title = this.uiTheme.fg("accent", "Console"); const statusBadge = this.uiTheme.fg("dim", wrapBrackets(this.#stateText(), this.uiTheme)); const prefix = `${statusIcon} ${title} `; const suffix = ` ${statusBadge}`; @@ -302,15 +302,47 @@ export async function runInteractiveBashPty( timeoutMs: options.timeoutMs, env: { ...options.env, + // Disable pagers so commands don't block on interactive views. PAGER: "cat", GIT_PAGER: "cat", MANPAGER: "cat", SYSTEMD_PAGER: "cat", BAT_PAGER: "cat", DELTA_PAGER: "cat", + GH_PAGER: "cat", + GLAB_PAGER: "cat", + PSQL_PAGER: "cat", + MYSQL_PAGER: "cat", AWS_PAGER: "", HOMEBREW_PAGER: "cat", LESS: "FRX", + // Disable editor and terminal credential prompts. + GIT_EDITOR: "true", + VISUAL: "true", + EDITOR: "true", + GIT_TERMINAL_PROMPT: "0", + SSH_ASKPASS: "/usr/bin/false", + CI: "1", + // Package manager defaults for unattended execution. + npm_config_yes: "true", + npm_config_update_notifier: "false", + npm_config_fund: "false", + npm_config_audit: "false", + npm_config_progress: "false", + PNPM_DISABLE_SELF_UPDATE_CHECK: "true", + PNPM_UPDATE_NOTIFIER: "false", + YARN_ENABLE_TELEMETRY: "0", + YARN_ENABLE_PROGRESS_BARS: "0", + // Cross-language/tooling non-interactive defaults. + CARGO_TERM_PROGRESS_WHEN: "never", + DEBIAN_FRONTEND: "noninteractive", + PIP_NO_INPUT: "1", + PIP_DISABLE_PIP_VERSION_CHECK: "1", + TF_INPUT: "0", + TF_IN_AUTOMATION: "1", + GH_PROMPT_DISABLED: "1", + COMPOSER_NO_INTERACTION: "1", + CLOUDSDK_CORE_DISABLE_PROMPTS: "1", }, signal: options.signal, cols,