feat: add Factory Droid (droid) agent support#162
Conversation
|
Looks good structurally — follows the same pattern as other agents. Will merge after resolving conflicts with recent refactoring (app.js was split into modules in v6.15.5). Please rebase on latest main. |
b5dbd12 to
7107a7a
Compare
|
Rebased on the latest I also resolved the post-refactor integration cleanly against the current frontend layout and fixed a couple of follow-up issues I found while verifying:
Ready for another pass. |
6th agent: session loading, detail parsing, preview, replay, cost estimation, active detection, search, sidebar + install UI. Sessions read from ~/.factory/sessions/<project-key>/*.jsonl.
7107a7a to
12b1e9d
Compare
NovakPAai
left a comment
There was a problem hiding this comment.
Code Review
🔴 Merge conflict — PR has conflicts with main and needs a rebase before it can be merged.
_droidDirMtime checks only the mtime of DROID_SESSIONS_DIR (i.e. ~/.factory/sessions/). On most filesystems, the top-level directory mtime changes only when entries are added/removed at that level. If a new JSONL file is written inside a project subdirectory (e.g. ~/.factory/sessions/<proj>/<uuid>.jsonl), the top-level dir mtime does not change, so the session cache will never invalidate. Sessions added during a live run won't appear.
Suggestion: also watch the project subdirectories, or switch to a time-based TTL (the existing 60s SESSIONS_CACHE_TTL would work).
/^[0-9a-f]{8}-....test(sid)` is correct and good to have. But since Droid uses the same format as Claude Code sessions, consider extracting this regex as a shared constant to keep it consistent across all parsers.
ℹ️ Minor: parseDroidSessionFile silently returns null on any error. A top-level try/catch in the caller already handles it, so this is fine — just noting it for awareness.
|
Thanks for the contribution! Closing for now — keeping the agent roster focused this round (adding Qwen + GitHub Copilot Chat only). Factory Droid is niche enough that we'd want a pluggable agent API before taking it on. The branch also has conflicts with main. Feel free to reopen later or discuss in an issue if there's demand. |
Summary
Adds Factory Droid (droid CLI by Factory AI) as a supported agent in CodeDash — session loading, detail view, preview, replay, search, cost estimation, active detection, and full UI integration.
What changed
[blocks]}})
Validation
Manual checks run locally against real ~/.factory data (12 sessions across 4 projects):
Known limitations