singularity-forge/packages/coding-agent/src/core
Mikael Hugo ca7368e5f1 fix(bash): add 120s default timeout to prevent autonomous mode hangs
- Add BUILT_IN_DEFAULT_TIMEOUT_SECS = 120 constant to bash tool
- Compute effectiveTimeout = timeout ?? resolvedDefaultTimeout so LLM
  calls without a timeout get the 120s guard automatically
- Add defaultTimeoutSeconds? to BashToolOptions for override at creation
- Dynamic bashSchemaWithDefault describes the actual default in the LLM
  tool description, improving model awareness
- Add BashSettings interface + getBashDefaultTimeoutSeconds() to
  SettingsManager so users can override or disable via settings.json
- Wire defaultTimeoutSeconds into agent-session.ts _buildRuntime()

Root cause: npx sf --help triggered npm package download, hanging for
4+ minutes without timeout, consuming entire autonomous run budget.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-05-11 19:12:33 +02:00
..
compaction feat(web): add error boundaries, expand test coverage, add README 2026-05-10 11:24:40 +02:00
export-html feat(web): add error boundaries, expand test coverage, add README 2026-05-10 11:24:40 +02:00
extensions refactor(rf-06): split auto/phases.js into per-phase modules 2026-05-11 15:14:49 +02:00
lsp feat(web): add error boundaries, expand test coverage, add README 2026-05-10 11:24:40 +02:00
mcp fix(lint): fix all pre-existing lint failures 2026-05-11 04:02:31 +02:00
memory feat(web): add error boundaries, expand test coverage, add README 2026-05-10 11:24:40 +02:00
providers fix(lint): fix all pre-existing lint failures 2026-05-11 04:02:31 +02:00
tools fix(bash): add 120s default timeout to prevent autonomous mode hangs 2026-05-11 19:12:33 +02:00
agent-session-custom-message-queue.test.ts feat(web): add error boundaries, expand test coverage, add README 2026-05-10 11:24:40 +02:00
agent-session-model-switch.test.ts feat(web): add error boundaries, expand test coverage, add README 2026-05-10 11:24:40 +02:00
agent-session-print-mode-persist.test.ts feat(web): add error boundaries, expand test coverage, add README 2026-05-10 11:24:40 +02:00
agent-session-renderable-tools.test.ts feat(web): add error boundaries, expand test coverage, add README 2026-05-10 11:24:40 +02:00
agent-session-tool-refresh.test.ts feat(web): add error boundaries, expand test coverage, add README 2026-05-10 11:24:40 +02:00
agent-session.ts fix(bash): add 120s default timeout to prevent autonomous mode hangs 2026-05-11 19:12:33 +02:00
artifact-manager.ts feat(web): add error boundaries, expand test coverage, add README 2026-05-10 11:24:40 +02:00
auth-storage.test.ts feat(web): add error boundaries, expand test coverage, add README 2026-05-10 11:24:40 +02:00
auth-storage.ts feat(web): add error boundaries, expand test coverage, add README 2026-05-10 11:24:40 +02:00
bash-executor.ts feat(web): add error boundaries, expand test coverage, add README 2026-05-10 11:24:40 +02:00
blob-store.ts feat(web): add error boundaries, expand test coverage, add README 2026-05-10 11:24:40 +02:00
chat-controller-ordering.test.ts fix(lint): fix all pre-existing lint failures 2026-05-11 04:02:31 +02:00
compaction-orchestrator.ts fix(lint): fix all pre-existing lint failures 2026-05-11 04:02:31 +02:00
compaction-utils.test.ts feat(web): add error boundaries, expand test coverage, add README 2026-05-10 11:24:40 +02:00
constants.ts feat(web): add error boundaries, expand test coverage, add README 2026-05-10 11:24:40 +02:00
contextual-tips.test.ts feat(web): add error boundaries, expand test coverage, add README 2026-05-10 11:24:40 +02:00
contextual-tips.ts feat(web): add error boundaries, expand test coverage, add README 2026-05-10 11:24:40 +02:00
defaults.ts feat(web): add error boundaries, expand test coverage, add README 2026-05-10 11:24:40 +02:00
diagnostics.ts feat(web): add error boundaries, expand test coverage, add README 2026-05-10 11:24:40 +02:00
discovery-cache.test.ts feat(web): add error boundaries, expand test coverage, add README 2026-05-10 11:24:40 +02:00
discovery-cache.ts feat(web): add error boundaries, expand test coverage, add README 2026-05-10 11:24:40 +02:00
event-bus.ts feat(web): add error boundaries, expand test coverage, add README 2026-05-10 11:24:40 +02:00
exec.ts feat(web): add error boundaries, expand test coverage, add README 2026-05-10 11:24:40 +02:00
fallback-resolver.test.ts feat(web): add error boundaries, expand test coverage, add README 2026-05-10 11:24:40 +02:00
fallback-resolver.ts fix(lint): fix all pre-existing lint failures 2026-05-11 04:02:31 +02:00
footer-data-provider.ts feat(web): add error boundaries, expand test coverage, add README 2026-05-10 11:24:40 +02:00
fs-utils.test.ts feat(web): add error boundaries, expand test coverage, add README 2026-05-10 11:24:40 +02:00
fs-utils.ts feat(web): add error boundaries, expand test coverage, add README 2026-05-10 11:24:40 +02:00
image-overflow-recovery.test.ts feat(web): add error boundaries, expand test coverage, add README 2026-05-10 11:24:40 +02:00
image-overflow-recovery.ts fix(lint): fix all pre-existing lint failures 2026-05-11 04:02:31 +02:00
index.ts feat(web): add error boundaries, expand test coverage, add README 2026-05-10 11:24:40 +02:00
keybindings-followup.test.ts feat(web): add error boundaries, expand test coverage, add README 2026-05-10 11:24:40 +02:00
keybindings.ts feat(web): add error boundaries, expand test coverage, add README 2026-05-10 11:24:40 +02:00
lifecycle-hooks.test.ts refactor: strip internal pi branding (Phase 2A) 2026-05-10 11:50:55 +02:00
lifecycle-hooks.ts feat(web): add error boundaries, expand test coverage, add README 2026-05-10 11:24:40 +02:00
local-model-check.ts feat(web): add error boundaries, expand test coverage, add README 2026-05-10 11:24:40 +02:00
lock-utils.ts feat(web): add error boundaries, expand test coverage, add README 2026-05-10 11:24:40 +02:00
messages.test.ts feat(web): add error boundaries, expand test coverage, add README 2026-05-10 11:24:40 +02:00
messages.ts fix(lint): fix all pre-existing lint failures 2026-05-11 04:02:31 +02:00
model-discovery.test.ts feat(web): add error boundaries, expand test coverage, add README 2026-05-10 11:24:40 +02:00
model-discovery.ts feat(web): add error boundaries, expand test coverage, add README 2026-05-10 11:24:40 +02:00
model-registry-auth-mode.test.ts feat(web): add error boundaries, expand test coverage, add README 2026-05-10 11:24:40 +02:00
model-registry-discovery.test.ts feat(web): add error boundaries, expand test coverage, add README 2026-05-10 11:24:40 +02:00
model-registry-env-fallback.test.ts feat(web): add error boundaries, expand test coverage, add README 2026-05-10 11:24:40 +02:00
model-registry-proxy-routing.test.ts feat(web): add error boundaries, expand test coverage, add README 2026-05-10 11:24:40 +02:00
model-registry.ts feat(web): add error boundaries, expand test coverage, add README 2026-05-10 11:24:40 +02:00
model-resolver-initial-model-auth.test.ts feat(web): add error boundaries, expand test coverage, add README 2026-05-10 11:24:40 +02:00
model-resolver.test.ts feat(web): add error boundaries, expand test coverage, add README 2026-05-10 11:24:40 +02:00
model-resolver.ts feat(web): add error boundaries, expand test coverage, add README 2026-05-10 11:24:40 +02:00
models-json-writer.test.ts feat(web): add error boundaries, expand test coverage, add README 2026-05-10 11:24:40 +02:00
models-json-writer.ts feat(web): add error boundaries, expand test coverage, add README 2026-05-10 11:24:40 +02:00
package-commands.test.ts refactor: strip internal pi branding (Phase 2A) 2026-05-10 11:50:55 +02:00
package-commands.ts feat(web): add error boundaries, expand test coverage, add README 2026-05-10 11:24:40 +02:00
package-manager.ts refactor: strip internal pi branding (Phase 2A) 2026-05-10 11:50:55 +02:00
prompt-templates.ts feat(web): add error boundaries, expand test coverage, add README 2026-05-10 11:24:40 +02:00
resolve-config-value.test.ts feat(web): add error boundaries, expand test coverage, add README 2026-05-10 11:24:40 +02:00
resolve-config-value.ts feat(web): add error boundaries, expand test coverage, add README 2026-05-10 11:24:40 +02:00
resource-loader-cache-reset.test.ts feat(web): add error boundaries, expand test coverage, add README 2026-05-10 11:24:40 +02:00
resource-loader.ts feat(web): add error boundaries, expand test coverage, add README 2026-05-10 11:24:40 +02:00
retry-handler.test.ts feat(web): add error boundaries, expand test coverage, add README 2026-05-10 11:24:40 +02:00
retry-handler.ts feat(web): add error boundaries, expand test coverage, add README 2026-05-10 11:24:40 +02:00
sdk.test.ts feat(web): add error boundaries, expand test coverage, add README 2026-05-10 11:24:40 +02:00
sdk.ts perf(search): move web-search provider injection from extension hook to native middleware 2026-05-10 22:37:42 +02:00
session-manager.test.ts feat(web): add error boundaries, expand test coverage, add README 2026-05-10 11:24:40 +02:00
session-manager.ts fix(lint): fix all pre-existing lint failures 2026-05-11 04:02:31 +02:00
settings-manager-security.test.ts feat(web): add error boundaries, expand test coverage, add README 2026-05-10 11:24:40 +02:00
settings-manager.ts fix(bash): add 120s default timeout to prevent autonomous mode hangs 2026-05-11 19:12:33 +02:00
skill-tool.test.ts feat(web): add error boundaries, expand test coverage, add README 2026-05-10 11:24:40 +02:00
skills.ts feat(web): add error boundaries, expand test coverage, add README 2026-05-10 11:24:40 +02:00
slash-commands.ts feat(web): add error boundaries, expand test coverage, add README 2026-05-10 11:24:40 +02:00
system-prompt.ts feat(web): add error boundaries, expand test coverage, add README 2026-05-10 11:24:40 +02:00
timings.ts feat(web): add error boundaries, expand test coverage, add README 2026-05-10 11:24:40 +02:00