5 Commits
Author SHA1 Message Date
k.eaven 6f9202efd4 fix: Final fixes for Phase 3 integration
- Fixed content_contains validation logic in scenario_runner
- Fixed component_type validation for action rows
- Fixed ScenarioBot model with command, env, cwd fields
- Fixed _start_bot method to use attribute access on Pydantic models
- Added command field to ScenarioBot model with proper defaults
- All 19 tests passing
- End-to-end scenario test passing (4/4 steps)
2026-11-01 06:38:35 +00:00
k.eaven 6fbd7fea79 feat: Phase 3 - Testing & Automation Features
- Implemented ScenarioRunner with headless scenario execution
- Added YAML-based test scenario framework with validation expectations
- Added CLI command 'run-scenario' with --headless, --output, --junit-xml options
- Created 3 Pterodisbot test scenarios:
  * Basic Server Status Flow (slash_command, select_menu, button_click)
  * Admin Commands (refresh_embeds, purge_embeds with permissions)
  * Multi-Guild Isolation (independent server tracking per guild)
- Fixed content_contains validation logic
- Fixed component_type validation for action rows
- Added command field to ScenarioBot model
- Fixed content_contains validation handling
- All 19 tests passing
2026-11-01 05:31:44 +00:00
k.eaven 7608388e1a feat: Phase 2 - Pterodisbot Integration Features
- Implemented SlashCommandHandler with Pterodisbot-specific commands:
  - /server_status: Shows server list with dropdown selection
  - /refresh_embeds: Admin command to refresh all embeds
  - /purge_embeds: Admin command to purge all embeds
- Implemented InteractionHandler for Discord interactions:
  - Button clicks (Start, Stop, Restart, Show Address)
  - Select menus (Server dropdown)
  - Slash commands (via InteractionHandler)
- Added EmbedRenderer widget for rich Discord embed rendering
- Added ComponentRenderer widget for buttons, selects, action rows
- Added MessageEntry and MessageList widgets for channel message display
- Added ChannelMessageView for full channel view with header, messages, input
- Implemented TUI navigation between guilds, channels, messages
- Added ChannelMessageView widget with message rendering, embeds, components
- All 19 tests passing
2026-11-01 04:05:40 +00:00
k.eaven 2466acf837 feat: Phase 1 - TUI Foundation with Textual
- Added Textual TUI framework with modern terminal UI
- Created main TUI app with navigation, message view, event log, state inspector
- Added comprehensive CSS styling for Discord-like appearance
- Implemented navigation pane, message area, event log, state tree, command bar
- Added keyboard shortcuts (Ctrl+Q quit, Ctrl+C command, Ctrl+N/P nav, etc.)
- Integrated TUI with existing REST/Gateway servers and state management
- Added CLI flag --tui/--no-tui to launch TUI mode
- Added Textual and textual-dev to optional dependencies

All 19 tests passing.
2026-11-01 03:09:40 +00:00
k.eaven 5669048f89 Initial commit: APIcord Discord API Emulator
- Core infrastructure: config, state management, models
- REST API server (aiohttp) with Discord-compatible endpoints
- WebSocket Gateway server (websockets) with Discord Gateway protocol
- State management with guilds, channels, users, messages, interactions
- Pydantic models for Discord objects (User, Guild, Channel, Message, etc.)
- CLI with start, test, reset, export, validate commands
- YAML-based test scenario framework
- Basic test scenario for /server_status command flow
- Unit tests for models and state manager (19 passing)
- GPL-3.0 license
2026-10-31 11:43:57 +00:00