Skip to content

feat(daemon): support BSK_SESSION_IDLE and BSK_DAEMON_IDLE environment variables - #463

Open
legend91019 wants to merge 1 commit into
Tencent:mainfrom
legend91019:feat/456-configurable-idle-timeout
Open

legend91019 wants to merge 1 commit into
Tencent:mainfrom
legend91019:feat/456-configurable-idle-timeout

Conversation

@legend91019

Copy link
Copy Markdown

Summary

Fixes #456.

Make browser session idle timeout and daemon idle timeout configurable via \BSK_SESSION_IDLE\ and \BSK_DAEMON_IDLE\ environment variables.

Currently, --session-idle\ and --daemon-idle\ are only available as CLI arguments on explicit \�sk daemon start\ /
estart\ invocations. When \�sk\ subcommands auto-spawn a background daemon via \ensure_daemon(), the defaults (\5m\ session idle, \10m\ daemon idle) are always used with no way for users, container environments, or persistent supervisors to configure them globally.

Changes

  1. Environment resolution fallback:
    • In \crates/bsk-cli/src/cli/daemon.rs,
      esolved_session_idle()\ and
      esolved_daemon_idle()\ check \BSK_SESSION_IDLE\ and \BSK_DAEMON_IDLE\ respectively before falling back to \DEFAULT_SESSION_IDLE\ (\5m) and \DEFAULT_DAEMON_IDLE\ (\10m).
  2. Auto-spawn propagation:
    • In \crates/bsk-cli/src/cli/ensure_daemon.rs, \ensure_daemon()\ parses \BSK_SESSION_IDLE\ and \BSK_DAEMON_IDLE\ into \StartArgs\ so that \�pply_start_args()\ passes explicit --session-idle\ / --daemon-idle\ flags when spawning the background daemon process.
  3. Explicit start resolution:
    • In \crates/bsk-cli/src/daemon/start.rs,
      un_start()\ populates unset idle timeouts from the environment variables.
  4. Documentation:
    • Documented \BSK_SESSION_IDLE\ and \BSK_DAEMON_IDLE\ in \crates/bsk-cli/skill/references/environment.md.
  5. Testing:
    • Added unit and CLI parsing tests in \crates/bsk-cli/tests/cli_parse.rs\ covering environment-based resolution, command-line flag precedence, default behavior, and fallback with test isolation.

Validation

  • \cargo fmt --check: Passed (0 errors).
  • \cargo test -p bsk --test cli_parse --locked: Passed (all 46 tests passed).
  • \cargo test -p bsk daemon::sessions --locked: Passed.

…t variables

Make browser session idle timeout and daemon idle timeout configurable via
environment variables BSK_SESSION_IDLE and BSK_DAEMON_IDLE.

- Update StartArgs::resolved_session_idle() and resolved_daemon_idle() to fall back to environment variables.
- Update ensure_daemon() to pass BSK_SESSION_IDLE and BSK_DAEMON_IDLE to auto-spawned background instances.
- Update run_start() to resolve environment variables into StartArgs.
- Add test coverage in crates/bsk-cli/tests/cli_parse.rs.
- Document environment variables in crates/bsk-cli/skill/references/environment.md.

Fixes Tencent#456

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

browser session idle time too short. 5 minutes ? Make it longer or user configurable

1 participant