Commit Graph

7 Commits

Author SHA1 Message Date
Lucas Berger 2bd90c8a0c feat(03-01): add error handling for action flow
- Add docker-error route to Check Match Count switch (matchCount < 0)
- Add Send Docker Error node for Docker connection failures
- Route Docker API errors to user-facing error messages
- Ensure all error paths reach a Send Message node (no silent failures)
- Error messages include diagnostic details per CONTEXT.md requirements
2026-01-30 08:36:44 -05:00
Lucas Berger f466a2916e feat(03-01): implement container matching and action execution
- Add Docker List for Action node to get container list
- Add Match Container node with fuzzy matching (substring, prefix stripping)
- Add Check Match Count Switch node to route 0/1/>1 matches
- Add Build Action Command node to construct curl POST command
- Add Execute Action node to call Docker API start/stop/restart
- Add Parse Action Result node handling 204/304 success and error codes
- Add Send Action Result node for Telegram response
- Add placeholder nodes for No Match and Multiple Matches branches
- Use graceful ?t=10 timeout for stop/restart actions
2026-01-30 08:35:38 -05:00
Lucas Berger 4848e7db16 feat(03-01): add action command routing to workflow
- Add new route in Switch node for start/stop/restart commands
- Route matches case-insensitive startsWith for each action
- Add Parse Action Code node to extract action type and container name
- Action branch routes to Parse Action, ready for container matching
2026-01-30 08:33:47 -05:00
Lucas Berger 8e155c55de fix(02-02): fix false positive docker connection error
- Add -s (silent) flag to curl to suppress progress output
- Change error handling to only check stdout for valid JSON
- Ignore stderr which contains curl progress info
2026-01-29 14:39:14 -05:00
Lucas Berger 1252ff42f4 feat(02-02): add Docker query branch to workflow
- Add Switch node to route messages based on content
- Add Execute Command node with curl to Docker API
- Add Parse and Match code node with fuzzy matching
- Add Format Response code node with emoji mapping
- Preserve echo branch for non-docker messages
- Handle summary, single match, multiple matches, and errors
2026-01-29 14:28:01 -05:00
Lucas Berger 23c5705050 fix(01-01): hardcode user ID instead of env var
n8n community edition blocks env var access in expressions.
Hardcoded TELEGRAM_USER_ID for single-user authentication.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-28 20:25:33 -05:00
Lucas Berger 9d503bb9a8 feat(01-01): create n8n workflow for telegram echo bot
- Telegram Trigger node listens for messages
- IF node authenticates via $env.TELEGRAM_USER_ID
- Code node formats echo with timestamp
- Telegram Send node replies to authorized users
- False branch has no connections (silent ignore)
2026-01-28 19:47:39 -05:00