Files
headquarter/openspec/changes/add-config-profiles/specs/tool-config-management/spec.md
T
alex 073013bc61 feat: add heartbeat/ping to terminal WebSocket
- Backend: Send ping every 30s from WebSocket endpoint
- Frontend: Respond to pings with pongs, detect missed pings (60s timeout)
- Update type definitions to include 'resetting' status

Refs: persistent-terminal-sessions task 6.4
2026-05-24 12:45:50 +00:00

1.6 KiB

MODIFIED Requirements

Requirement: Tool config supports runtime fields

The system SHALL keep tool config runtime fields available for tool configuration, while reusable launch setup for user-owned files, mounts, and env var bundles SHALL be handled by config profiles.

Scenario: Create config with runtime fields

  • WHEN user creates a tool config with start_command="npm start", port=3000, working_directory="/app"
  • THEN the config is saved with all fields populated

Scenario: Environment variables as JSON

  • WHEN user sets environment_variables to {"NODE_ENV": "production", "API_KEY": "secret"}
  • THEN the system stores and returns the config with the JSON object preserved
  • AND reusable per-launch environment bundles are managed through config profiles

Scenario: Volumes as JSON

  • WHEN user sets volumes to [{"host": "/data", "container": "/app/data", "mode": "rw"}]
  • THEN the system stores and returns the config with the JSON array preserved
  • AND user-owned mounted file trees are managed through config profiles

REMOVED Requirements

Requirement: Active config folders auto-mount during launch

The system SHALL NOT automatically mount all active config folders when starting tool instances.

Scenario: Start instance after config profiles replace folders

  • GIVEN a user has legacy active config folders
  • WHEN they start a tool instance without selecting a config profile
  • THEN those folders are not automatically mounted
  • AND only selected config profile output is applied for user-owned launch files and mounts