Skip to content

    Release 1.16.0

    News ·

    archied

    The agent can hand you a file, and the dashboard works behind a reverse proxy. Media delivery was fetch-by-URL only, so a file the agent produced locally — a transcript, a log dump, a screenshot — was passed to Telegram as a URL it could not fetch: the send did nothing and reported success. The new send_file tool plus upload-by-reader delivery closes that, and every layer that cannot deliver now says so rather than staying silent. Dashboard mutations behind a TLS-terminating proxy were refused as cross-origin; forwarded headers are now honoured, but only under an explicit opt-in that is off by default.

    • feat(telegram): deliver a local file as an uploaded attachment, choosing upload-by-reader or fetch-by-URL per attachment; send_file resolves paths under the same confinement policy the read tool applies, so sending cannot reach what reading cannot
    • feat(gateway): task_action chat tool for operator task management — abandon, archive, retry, stop, cancel, approve and reject from chat, on the same action path and state machine as the dashboard
    • fix(webui): validate mutation Origin against the effective external scheme and host. X-Forwarded-Proto/-Host are honoured only when web.trust_forwarded_headers is set, which is off by default and safe only behind a proxy that overwrites or strips untrusted forwarded headers
    • fix(webui): report a local file the dashboard chat cannot upload as undelivered instead of dropping the event, which had reproduced the exact silent non-delivery send_file was built to end
    • fix(daemon): detach terminal state transitions and cleanup from a cancelled context, so a stopped task still records its outcome

    archie-agent

    Version realigned with archied. This release jumps from 1.9.9 to 1.16.0 to put the two components on matching numbers; there are no 1.10-1.15 agent releases. It clears the accumulated runtime backlog in one cut rather than bundling it as a rider on a later change, so the list below spans several weeks of work rather than one session’s.

    Highlights:

    • feat(nats): run an embedded server when no external NATS is configured, and expose the embedded broker to managed task workers
    • feat(deployment): default to managed NATS workers; the daemon requires a full-task worker handoff and the legacy in-process, subprocess and single-stage execution paths are gone
    • feat(forge): GitHub webhook receiver for immediate issue dispatch, with dedup regression proof; unbound webhook events are stored retention-bounded
    • feat(webui): payload field mapping – bind JSON paths to named fields and preview before saving
    • feat(scheduling): ticker engine with configurable interval and pools
    • feat(storage): persist agent project state
    • feat(agent): stamp archie-agent’s build and report it back to the daemon
    • feat(tools): generate_video via MiniMax, gated behind config, and MultimodalResult.URLs for remote-hosted media
    • feat(workflow): define the adversarial-review findings contract

    Fixes:

    • fix(worktree): bind publication to dispatch grants; reset retries to a pristine base; reject diffs without a merge base; clean untracked files when .git is a gitdir file; post-push metadata resilience, cancellation and branch naming
    • fix(container): persist the npm cache for per-task MCP servers
    • fix(agentexec): recover omitted finish calls
    • fix(agentworker): move JSONL decode into storage, unblocking CI
    • fix(telegram): compact tool output and drop turn caps
    • fix(webui): give dashboard-initiated updates a phase-2 report; restore the provider gate and dashboard token accounting
    • refactor: remove dead BasePlatformAdapter code and legacy execution paths

    Shared with archied 1.16.0 (these packages are in both closures):

    • feat(telegram): send local files as uploads, not fetchable URLs
    • fix(webui,sendfile): close three holes the adversarial review found
    • fix(webui): validate mutation Origin against the effective external scheme