Repository navigation
First public release of discord-codex-bot ships seven focused commits on top of v0.1.0, all aimed at making the bot safe to publish and easier to consume from a fresh clone.
Security
- Symlink-resistant blocklist (
fix(security)):isBlockedPathresolves the deepest existing ancestor withfs.realpathSyncbefore applying the prefix match, and the configuredSENSITIVE_PATH_BLOCKLISTentries are normalized the same way. A symlink at a non-blocked location pointing into~/.ssh,~/.codex,/etc, or any other blocked prefix is now rejected.
Added
- Environment-driven codex-dispatch paths:
CODEX_DISPATCH_BIN(defaults tocodex-dispatchonPATH) andCODEX_DISPATCH_PACKET_DIR(defaults to<os.tmpdir()>/discord-codex-bot-packets) replace hard-coded developer paths. A fresh clone now works without local-machine assumptions. - Token usage in role-dispatch replies:
/codex-worker,/codex-verifier,/codex-reviewer, and/codex-synthesizerreadevents.jsonlfrom the run directory, sum everyturn.completed.usagepayload, and appendusage: in=… (cached …) · out=… · reasoning=…to the Discord reply. - GitHub Actions CI: minimal
tsc --noEmitworkflow on every push and pull request tomainunder Node 22.
Changed
- Single key-value reply header: collapsed the redundant
RESULT/POLICY VIOLATIONlines emitted alongside the backtickedpolicy_violation/exit_codelines. The dispatch reply header now uses one consistentkey: \value`form acrossresult,policy_violation,exit_code, andusage`. - Unified log prefix: every runtime log line now uses
[discord-codex-bot]. The legacy[discord-cc-bot]prefix carried over from the fork is gone.
Removed
- Per-channel daily token caps (already on v0.1.0…HEAD before the v0.2.0 cut): dropped the daily token bucket env vars and SQLite paths. Per-user hourly request rate limit (
CODEX_RATE_LIMIT_PER_USER_HOUR) is unchanged.