Repository navigation
v0.5.0
botler-agent v0.5.0
Highlights
- Scheduler can run an in-project script directly (Plan A). A schedule entry may now carry a
script(path relative to DATA_ROOT) instead of amessage, executing the script directly on fire — bypassing the LLM — while reusing theruntool's security boundary (path allowlist, fixed interpreter, no shell, 60s timeout). The script fires on the dispatcher's sequential queue (never races chat writes) and its auto-commit is scoped to the script's own subproject. Script tasks retry only onerror, never onvalidation-failed.
Follow-up fixes
- The
scheduletool now acceptsretryMax/retryBackoffMsvia chat, with enforced upper bounds. - Retries are non-blocking (
setTimeoutinstead ofawait sleep) so the single-threaded scheduler loop is never stalled. - Pending retries are cancelled if the entry's action / trigger / project changes during the backoff window.
- Updating one
retryfield preserves the other; switching the action type clears the inherited retry (avoids re-running a non-idempotent script with a stale retry). - Precondition failures now return
cwdso history logs are attributed to the correct project.
Other
- WebUI schedule editor: Action radio (Message / Run script), script fields, action-aware save guard, and script label in lists.
- System prompt documents the script action plus idempotency / retry guidance.
npm test225/225 pass;npm run typecheckclean.
Full Changelog: v0.4.1...v0.5.0