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

30 lines
1.6 KiB
Markdown

## 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