test(e2e): validate dcode TUI startup - #5839
Conversation
Signed-off-by: Carlos Villela <cvillela@nvidia.com>
|
Note Reviews pausedIt looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the Use the following commands to manage reviews:
Use the checkboxes below for quick actions:
📝 WalkthroughWalkthroughAdds a Deep Agents Code TUI startup check script, registers it in the cloud experimental list, and expands the e2e suites to verify script registration, executable permissions, startup markers, timeout validation, secret handling, and artifact cleanup. ChangesDeep Agents Code TUI startup checks
Estimated code review effort🎯 4 (Complex) | ⏱️ ~45 minutes Possibly related PRs
Suggested reviewers
Poem
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
There was a problem hiding this comment.
Actionable comments posted: 2
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@test/e2e/e2e-cloud-experimental/checks/09-deepagents-code-tui-startup.sh`:
- Around line 140-159: The Deep Agents Code TUI startup check is leaving
unsanitized capture artifacts on disk, which can leak sensitive PTY output.
Update the shell logic around run_tui_expect, strip_terminal_control_sequences,
and the capture files to avoid persisting ${PREFIX}.raw.log,
${PREFIX}.expect.log, and ${PREFIX}.combined.log after use, or delete them as
soon as the sanitized output is produced. Keep only the sanitized
${PREFIX}.sanitized.log for scanning and ensure cleanup still runs on both
success and failure paths.
- Around line 135-137: The Deep Agents sandbox probe in the startup check is
treating every non-zero return from sandbox_exec as “not a Deep Agents Code
sandbox,” which hides real exec/auth/missing-sandbox failures. Update the check
around sandbox_exec so it first distinguishes a successful probe from execution
errors, and only print the SKIP message when the probe explicitly shows the
sandbox lacks the Deep Agents markers. Use the existing sandbox_exec and info
flow in this startup script to preserve a true skip only for “not a Deep Agents
sandbox,” while surfacing probe failures as test failures or distinct errors.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Enterprise
Run ID: db361da6-859a-4510-85ba-6b51888af44e
📒 Files selected for processing (4)
test/e2e-scenario/live/cloud-experimental-check-list.tstest/e2e-scenario/support-tests/platform-parity-cloud-experimental.test.tstest/e2e/e2e-cloud-experimental/checks/09-deepagents-code-tui-startup.shtest/langchain-deepagents-code-image.test.ts
Signed-off-by: Carlos Villela <cvillela@nvidia.com>
Code Coverage OverviewLanguages: TypeScript TypeScript / code-coverage/pluginThe overall coverage in the Show a code coverage summary of the most covered files.
TypeScript / code-coverage/cliThe overall coverage in the Show a code coverage summary of the most covered files.
Updated |
E2E Advisor RecommendationRequired E2E: Dispatch hint: Full advisor summaryE2E Recommendation AdvisorBase: Required E2E
Optional E2E
New E2E recommendations
Dispatch hint
|
Vitest E2E Scenario RecommendationRequired Vitest E2E scenarios: Dispatch required Vitest E2E scenarios:
Full Vitest E2E advisor summaryVitest E2E Scenario AdvisorBase: Required Vitest E2E scenarios
Optional Vitest E2E scenarios
Relevant changed files
|
There was a problem hiding this comment.
🧹 Nitpick comments (1)
test/langchain-deepagents-code-image.test.ts (1)
120-125: 🩺 Stability & Availability | 🔵 Trivial | ⚡ Quick winAssert the
start.shtemplate rewrites actually happened.Lines 120-125 use two exact-string
.replace(...)calls, but both silently no-op ifstart.shchanges formatting. In that case this fixture can start writing back to/tmp/nemoclaw-proxy-env.shagain, which breaks the hermetic temp-dir isolation these tests are trying to enforce.Suggested guard
- const fixture = readAgentFile("start.sh") - .replace("local target=/tmp/nemoclaw-proxy-env.sh", `local target="${envFile}"`) - .replace( - 'tmp="$(mktemp /tmp/nemoclaw-proxy-env.XXXXXX)"', - `tmp="$(mktemp "${tempDir}/nemoclaw-proxy-env.XXXXXX")"`, - ); + const original = readAgentFile("start.sh"); + expect(original).toContain("local target=/tmp/nemoclaw-proxy-env.sh"); + expect(original).toContain('tmp="$(mktemp /tmp/nemoclaw-proxy-env.XXXXXX)"'); + const fixture = original + .replace("local target=/tmp/nemoclaw-proxy-env.sh", `local target="${envFile}"`) + .replace( + 'tmp="$(mktemp /tmp/nemoclaw-proxy-env.XXXXXX)"', + `tmp="$(mktemp "${tempDir}/nemoclaw-proxy-env.XXXXXX")"`, + );Based on PR objectives, the check should remain hermetic enough to avoid flakes.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@test/langchain-deepagents-code-image.test.ts` around lines 120 - 125, The `start.sh` fixture rewrite in the test setup is currently using exact-string `replace` calls that can silently do nothing if the template changes, which would undermine the hermetic temp-dir isolation. Update the test around the `readAgentFile("start.sh")` fixture preparation to verify both substitutions actually occurred after the rewrites, and fail fast if either the `/tmp/nemoclaw-proxy-env.sh` target or the `mktemp` path was not rewritten as expected.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Nitpick comments:
In `@test/langchain-deepagents-code-image.test.ts`:
- Around line 120-125: The `start.sh` fixture rewrite in the test setup is
currently using exact-string `replace` calls that can silently do nothing if the
template changes, which would undermine the hermetic temp-dir isolation. Update
the test around the `readAgentFile("start.sh")` fixture preparation to verify
both substitutions actually occurred after the rewrites, and fail fast if either
the `/tmp/nemoclaw-proxy-env.sh` target or the `mktemp` path was not rewritten
as expected.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Enterprise
Run ID: 095dd24d-97dc-4bf6-b00f-9edb1e8a55cf
📒 Files selected for processing (4)
test/e2e-scenario/live/cloud-experimental-check-list.tstest/e2e-scenario/support-tests/platform-parity-cloud-experimental.test.tstest/e2e/e2e-cloud-experimental/checks/10-deepagents-code-tui-startup.shtest/langchain-deepagents-code-image.test.ts
🚧 Files skipped from review as they are similar to previous changes (2)
- test/e2e-scenario/live/cloud-experimental-check-list.ts
- test/e2e-scenario/support-tests/platform-parity-cloud-experimental.test.ts
PR Review Advisor — Changes requestedMerge posture: Do not merge yet Action checklist
Findings index
Review findings by urgency: 0 required fixes, 1 item to resolve/justify, 0 in-scope improvements
|
Signed-off-by: Carlos Villela <cvillela@nvidia.com>
There was a problem hiding this comment.
Actionable comments posted: 1
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (1)
test/e2e/e2e-cloud-experimental/checks/10-deepagents-code-tui-startup.sh (1)
192-196: 🔒 Security & Privacy | 🟠 Major | ⚡ Quick winFail fast when the secret scanner dependency is unavailable.
contains_secretandredact_secrets_in_filedepend onperl, butmainonly checks forexpect. Ifperlis missing,if contains_secret <"$plain_capture_file"treats exit127as “no secret”, leaving a potentially secret-bearing sanitized artifact behind.Suggested fix
if ! command -v expect >/dev/null 2>&1; then fail_test "expect is required for the Deep Agents Code TUI startup check" printf '%s\n' "${PREFIX}: $PASSED passed, $FAILED failed" exit 1 fi + + if ! command -v perl >/dev/null 2>&1; then + fail_test "perl is required for Deep Agents Code TUI secret scanning" + printf '%s\n' "${PREFIX}: $PASSED passed, $FAILED failed" + exit 1 + fiAlso applies to: 238-245
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@test/e2e/e2e-cloud-experimental/checks/10-deepagents-code-tui-startup.sh` around lines 192 - 196, The startup check only verifies expect, but contains_secret and redact_secrets_in_file also require perl, so missing perl can cause a false “no secret” result and leave unsanitized artifacts behind. Update main in 10-deepagents-code-tui-startup.sh to fail fast when perl is unavailable, using the same dependency-check pattern as the existing expect guard, and make sure the secret-scanning flow that calls contains_secret and redact_secrets_in_file cannot proceed without perl.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@test/e2e/e2e-cloud-experimental/checks/10-deepagents-code-tui-startup.sh`:
- Around line 21-23: The readiness heuristic in TUI_READY_PATTERN is too broad
because it treats standalone “press enter” as a ready signal, which can match
banner text before a usable prompt appears. Tighten the pattern in the TUI
startup check so it only matches actual task/prompt wording and does not accept
“press enter” by itself; keep the heuristic localized to the existing startup
script and preserve the NEMOCLAW_TUI_READY emission flow.
---
Outside diff comments:
In `@test/e2e/e2e-cloud-experimental/checks/10-deepagents-code-tui-startup.sh`:
- Around line 192-196: The startup check only verifies expect, but
contains_secret and redact_secrets_in_file also require perl, so missing perl
can cause a false “no secret” result and leave unsanitized artifacts behind.
Update main in 10-deepagents-code-tui-startup.sh to fail fast when perl is
unavailable, using the same dependency-check pattern as the existing expect
guard, and make sure the secret-scanning flow that calls contains_secret and
redact_secrets_in_file cannot proceed without perl.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Enterprise
Run ID: 87bc5871-2dd0-4407-8c83-c4f0e53104f2
📒 Files selected for processing (4)
test/e2e-scenario/live/cloud-experimental-checks.tstest/e2e-scenario/support-tests/platform-parity-cloud-experimental.test.tstest/e2e/e2e-cloud-experimental/checks/10-deepagents-code-tui-startup.shtest/langchain-deepagents-code-image.test.ts
🚧 Files skipped from review as they are similar to previous changes (1)
- test/e2e-scenario/support-tests/platform-parity-cloud-experimental.test.ts
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@test/langchain-deepagents-code-image.test.ts`:
- Around line 651-665: Split the Slack token fixtures in the secret redaction
test so the source no longer contains raw `xoxa-...` and `xapp-...` literals
that trigger scanner hits. Update the `secretSamples` entries in
`test/langchain-deepagents-code-image.test.ts` to construct those sample strings
from smaller fragments at runtime, while keeping the same values passed through
`redactsSecret` and the rest of the test behavior unchanged.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Enterprise
Run ID: 1f8342f0-e161-4a26-a22c-483c49762d17
📒 Files selected for processing (4)
test/e2e-scenario/live/cloud-experimental-checks.tstest/e2e-scenario/support-tests/platform-parity-cloud-experimental.test.tstest/e2e/e2e-cloud-experimental/checks/10-deepagents-code-tui-startup.shtest/langchain-deepagents-code-image.test.ts
🚧 Files skipped from review as they are similar to previous changes (2)
- test/e2e-scenario/support-tests/platform-parity-cloud-experimental.test.ts
- test/e2e/e2e-cloud-experimental/checks/10-deepagents-code-tui-startup.sh
| const redactsSecret = (token: string) => | ||
| runTuiStartupCheckHelper('printf "%s" "$TOKEN" | redact_secrets', { TOKEN: token }); | ||
| const secretSamples: Array<{ name: string; sample: string; rawSecret?: string }> = [ | ||
| { name: "nvapi", sample: "nvapi-abcdefghijklmnop" }, | ||
| { name: "nvcf", sample: "nvcf-abcdefghijklmnopq" }, | ||
| { name: "ghp", sample: "ghp_abcdefghijklmnopqr" }, | ||
| { name: "github_pat", sample: "github_pat_abcdefghijklmnopqrstuvwxyz0123" }, | ||
| { name: "sk_proj", sample: "sk-proj-abcdefghij" }, | ||
| { name: "sk_ant", sample: "sk-ant-abcdefghijk" }, | ||
| { name: "sk", sample: "sk-abcdefghijklmnopqrstuvwx" }, | ||
| { name: "xoxb", sample: "xoxb-1234567890" }, | ||
| { name: "xoxp", sample: "xoxp-1234567890" }, | ||
| { name: "xoxa", sample: "xoxa-1234567890" }, | ||
| { name: "xoxs", sample: "xoxs-1234567890" }, | ||
| { name: "xapp", sample: "xapp-1-A1B2C3-12345-abcde" }, |
There was a problem hiding this comment.
🔒 Security & Privacy | 🟡 Minor | ⚡ Quick win
Split Slack-shaped fixtures to avoid secret-scanner hits.
Betterleaks flags the raw xoxa-... and xapp-... literals. Keep the same runtime samples, but build them from fragments so the committed test source does not look like live Slack tokens.
Proposed fixture adjustment
const redactsSecret = (token: string) =>
runTuiStartupCheckHelper('printf "%s" "$TOKEN" | redact_secrets', { TOKEN: token });
+ const secretFixture = (...parts: string[]) => parts.join("");
const secretSamples: Array<{ name: string; sample: string; rawSecret?: string }> = [
@@
- { name: "xoxb", sample: "xoxb-1234567890" },
- { name: "xoxp", sample: "xoxp-1234567890" },
- { name: "xoxa", sample: "xoxa-1234567890" },
- { name: "xoxs", sample: "xoxs-1234567890" },
- { name: "xapp", sample: "xapp-1-A1B2C3-12345-abcde" },
+ { name: "xoxb", sample: secretFixture("xox", "b", "-", "1234567890") },
+ { name: "xoxp", sample: secretFixture("xox", "p", "-", "1234567890") },
+ { name: "xoxa", sample: secretFixture("xox", "a", "-", "1234567890") },
+ { name: "xoxs", sample: secretFixture("xox", "s", "-", "1234567890") },
+ { name: "xapp", sample: secretFixture("x", "app", "-", "1", "-", "A1B2C3", "-", "12345", "-", "abcde") },📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| const redactsSecret = (token: string) => | |
| runTuiStartupCheckHelper('printf "%s" "$TOKEN" | redact_secrets', { TOKEN: token }); | |
| const secretSamples: Array<{ name: string; sample: string; rawSecret?: string }> = [ | |
| { name: "nvapi", sample: "nvapi-abcdefghijklmnop" }, | |
| { name: "nvcf", sample: "nvcf-abcdefghijklmnopq" }, | |
| { name: "ghp", sample: "ghp_abcdefghijklmnopqr" }, | |
| { name: "github_pat", sample: "github_pat_abcdefghijklmnopqrstuvwxyz0123" }, | |
| { name: "sk_proj", sample: "sk-proj-abcdefghij" }, | |
| { name: "sk_ant", sample: "sk-ant-abcdefghijk" }, | |
| { name: "sk", sample: "sk-abcdefghijklmnopqrstuvwx" }, | |
| { name: "xoxb", sample: "xoxb-1234567890" }, | |
| { name: "xoxp", sample: "xoxp-1234567890" }, | |
| { name: "xoxa", sample: "xoxa-1234567890" }, | |
| { name: "xoxs", sample: "xoxs-1234567890" }, | |
| { name: "xapp", sample: "xapp-1-A1B2C3-12345-abcde" }, | |
| const redactsSecret = (token: string) => | |
| runTuiStartupCheckHelper('printf "%s" "$TOKEN" | redact_secrets', { TOKEN: token }); | |
| const secretFixture = (...parts: string[]) => parts.join(""); | |
| const secretSamples: Array<{ name: string; sample: string; rawSecret?: string }> = [ | |
| { name: "nvapi", sample: "nvapi-abcdefghijklmnop" }, | |
| { name: "nvcf", sample: "nvcf-abcdefghijklmnopq" }, | |
| { name: "ghp", sample: "ghp_abcdefghijklmnopqr" }, | |
| { name: "github_pat", sample: "github_pat_abcdefghijklmnopqrstuvwxyz0123" }, | |
| { name: "sk_proj", sample: "sk-proj-abcdefghij" }, | |
| { name: "sk_ant", sample: "sk-ant-abcdefghijk" }, | |
| { name: "sk", sample: "sk-abcdefghijklmnopqrstuvwx" }, | |
| { name: "xoxb", sample: secretFixture("xox", "b", "-", "1234567890") }, | |
| { name: "xoxp", sample: secretFixture("xox", "p", "-", "1234567890") }, | |
| { name: "xoxa", sample: secretFixture("xox", "a", "-", "1234567890") }, | |
| { name: "xoxs", sample: secretFixture("xox", "s", "-", "1234567890") }, | |
| { name: "xapp", sample: secretFixture("x", "app", "-", "1", "-", "A1B2C3", "-", "12345", "-", "abcde") }, |
🧰 Tools
🪛 Betterleaks (1.5.0)
[high] 663-663: Identified a Slack Legacy Workspace token, potentially compromising access to workspace data and legacy features.
(slack-legacy-workspace-token)
[high] 665-665: Detected a Slack App-level token, risking unauthorized access to Slack applications and workspace data.
(slack-app-token)
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@test/langchain-deepagents-code-image.test.ts` around lines 651 - 665, Split
the Slack token fixtures in the secret redaction test so the source no longer
contains raw `xoxa-...` and `xapp-...` literals that trigger scanner hits.
Update the `secretSamples` entries in
`test/langchain-deepagents-code-image.test.ts` to construct those sample strings
from smaller fragments at runtime, while keeping the same values passed through
`redactsSecret` and the rest of the test behavior unchanged.
Source: Linters/SAST tools
Selective E2E Results — ✅ All requested jobs passedRun: 28252215297
|
PR Review Advisor (Nemotron Ultra) — InformationalMerge posture: Informational / low confidence Action checklist
Findings index
Review findings by urgency: 0 required fixes, 1 item to resolve/justify, 0 in-scope improvements
|
<!-- markdownlint-disable MD041 --> ## Summary Adds a bounded PTY/expect live check that proves the Deep Agents Code `dcode` TUI reaches an interactive startup state inside a managed sandbox. The check captures sanitized failure artifacts, scans them for secret-shaped values, and registers the validation with the Deep Agents cloud-experimental scenario. ## Related Issue Fixes NVIDIA#5620 ## Changes - Added `09-deepagents-code-tui-startup.sh` to launch `dcode` under `openshell sandbox exec --tty`, detect a prompt-ready startup signature, send Ctrl-C, and assert a clean exit. - Registered the new check in `DEEPAGENTS_CLOUD_EXPERIMENTAL_CHECKS` for `cloud-langchain-deepagents-code`. - Extended contract/support tests to pin the new check, assert it remains executable, and cover timeout and secret-pattern helper behavior. ## Type of Change - [x] Code change (feature, bug fix, or refactor) - [ ] Code change with doc updates - [ ] Doc only (prose changes, no code sample modifications) - [ ] Doc only (includes code sample changes) ## Quality Gates <!-- Check all that apply. For any "covered by existing tests", "not applicable", or waiver entry, add a brief justification on the same line or in the Changes section. --> - [x] Tests added or updated for changed behavior - [ ] Existing tests cover changed behavior — justification: - [ ] Tests not applicable — justification: - [ ] Docs updated for user-facing behavior changes - [x] Docs not applicable — justification: validation-only change; docs-impact review found no CLI/config/user-facing behavior change and the existing Deep Agents quickstart already documents running `dcode`. - [ ] Sensitive paths changed (security, policy, credentials, preflight, onboarding, inference, runner, sandbox, or messaging) - [ ] Sensitive-path review completed or maintainer-approved waiver recorded — reviewer/approval link/justification: - [ ] Non-success, skipped, or missing CI check accepted by maintainer — check name, approval link, and follow-up issue: ## Verification <!-- Check each item you ran and confirmed. Leave unchecked items you skipped. Doc-only changes do not require npm test unless you ran it. --> - [x] PR description includes the DCO sign-off declaration and every commit appears as `Verified` in GitHub - [x] Git hooks passed during commit and push, or `npx prek run --from-ref main --to-ref HEAD` passes - [x] Targeted tests pass for changed behavior - [ ] Full `npm test` passes (broad runtime changes only) - [x] Quality Gates section completed with required justifications or waivers - [x] No secrets, API keys, or credentials committed - [ ] `npm run docs` builds without warnings (doc changes only) - [ ] Doc pages follow the [style guide](https://github.com/NVIDIA/NemoClaw/blob/main/docs/CONTRIBUTING.md) (doc changes only) - [ ] New doc pages include SPDX header and frontmatter (new pages only) --- <!-- DCO sign-off is required in this PR description, and every commit must appear as Verified in GitHub. Run: git config user.name && git config user.email --> Signed-off-by: Carlos Villela <cvillela@nvidia.com> <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **New Features** * Added a new live end-to-end check for interactive Deep Agents Code TUI startup. * Updated onboarding expected checks to include the new TUI startup script. * **Bug Fixes** * Strengthened TUI preflight and validation for `DEEPAGENTS_TUI_TIMEOUT`. * Improved readiness/exit handling and hardened sanitization/redaction to prevent secret leakage, including improved failure behavior. * **Tests** * Expanded cloud experimental parity coverage to assert the check list matches exactly and every referenced script is executable. * Extended TUI runtime tests for readiness detection, marker parsing, cleanup of raw artifacts, and robust secret scanning/redaction. <!-- end of auto-generated comment: release notes by coderabbit.ai --> --------- Signed-off-by: Carlos Villela <cvillela@nvidia.com>
Summary
Adds a bounded PTY/expect live check that proves the Deep Agents Code
dcodeTUI reaches an interactive startup state inside a managed sandbox. The check captures sanitized failure artifacts, scans them for secret-shaped values, and registers the validation with the Deep Agents cloud-experimental scenario.Related Issue
Fixes #5620
Changes
09-deepagents-code-tui-startup.shto launchdcodeunderopenshell sandbox exec --tty, detect a prompt-ready startup signature, send Ctrl-C, and assert a clean exit.DEEPAGENTS_CLOUD_EXPERIMENTAL_CHECKSforcloud-langchain-deepagents-code.Type of Change
Quality Gates
dcode.Verification
Verifiedin GitHubnpx prek run --from-ref main --to-ref HEADpassesnpm testpasses (broad runtime changes only)npm run docsbuilds without warnings (doc changes only)Signed-off-by: Carlos Villela cvillela@nvidia.com
Summary by CodeRabbit
DEEPAGENTS_TUI_TIMEOUT.