Skip to content

Releases: QaidVoid/errand

v0.4.0

Choose a tag to compare

@QaidVoid QaidVoid released this 29 Oct 08:01
8530928

Features

  • (broker) Refuse an unlisted host and let the owner grant it (#107) (79b6aaa)
  • (broker) Hold a provider key to its header and declared calls (#106) (0458261)
  • (broker) Keep a receipt of every brokered provider call (#101) (31efaa5)
  • (chat) List models as provider/model in !model (d8c1248)
  • (commands) Add !gen-speech to read a text aloud (35c8320)
  • (config) Give sessions kage's edit and music tools (38774bd)
  • (config) Give sessions kage's speech tool (bbb9afb)
  • (github) Mint each session an App token in place of the PAT (#108) (7aa20df)
  • (session) [breaking] Give every session a project of its own (#110) (9e95a04)
  • (session) Collect what a cold session left on disk (#105) (d9a4224)
  • (session) Post the clips the agent makes (773a886)
  • (session) Show what a running tool call is doing (9e1be92)
  • (threads) Post what was said on the web in the thread (ec52f98)
  • (web) Start from a home composer with model and command pickers (45f0af6)
  • (web) Pick a session's model and complete commands (3c467d1)
  • (web) Log in with Discord to act as your own account (56540fc)
  • Address a channel picture to whoever asked for it (715e9b0)
  • Let !gen-image name an effort (38323ab)
  • Add !gen-image to run one prompt on the image model (b87e048)
  • Generate images and post them to the thread (#35) (4a8011c)

Fixes

  • (broker) Judge the dial, follow no redirect, require HTTPS (#70) (e876928)
  • (broker) Scrub the credential from what a provider answers (#69) (f108fd5)
  • (broker) Mint legible session secrets and scrub them by shape (#68) (c963f29)
  • (broker) Give each session a broker and nonces of its own (#67) (9820a7e)
  • (broker) Close refusals explicitly so git retries a 407 (e9737af)
  • (broker) Require a proxy credential on CONNECT and forwards (#66) (ea629b7)
  • (broker) Confine provider requests to configured origins (#58) (3ae5050)
  • (chat) Make free-text upload captions inert (#60) (c73fe66)
  • (commands) Narrow the help column to leave room under 2000 (18308eb)
  • (config) Refuse a public interface that logs nobody in (57b26d0)
  • (config) Reject unreachable image configurations (#62) (afdd54e)
  • (provider) Stop reading an image answer at its cap (ebc31ba)
  • (sandbox) Broker podman sessions and keep secrets off the argv (#103) (40252d6)
  • (sandbox) Say what egress allows and refuse the Azure fabric (#98) (10ed2b2)
  • (sandbox) Ask kage which provider ids it knows (#64) (5bcfee1)
  • (sandbox) Use the google built-in provider id (#61) (d3d67c6)
  • (session) Report a failed prompt as a failed turn (88d666d)
  • (session) Push from a daemon-owned copy that borrows nothing (#102) (1df9f51)
  • (session) Bound every read of a file the agent can grow (#100) (2e6eda5)
  • (session) Refuse uploads that hold a secret, floor short tokens (#99) (a061819)
  • (session) Wake a stopped thread only for who may take part (1ccb1b3)
  • (session) Fetch a song the agent could only link to (da7cb43)
  • (session) Tell the agent the image cap stopped its turn (#65) (746a943)
  • (session) Interrupt turns that exceed the image cap (#63) (997f1ca)
  • (session) Refuse symlinks when reading the agent session id (#59) (1ace712)
  • (session) Keep a session alive while a tool call runs (65adcde)
  • (session) Name the providers a shared model id is served by (0f48104)
  • (session) Quote the failing line when a sandbox runs out of disk (206fc5a)
  • (web) Name login cookies so sibling hosts cannot set them (ddd20b0)
  • (web) Read projects and transcripts off the async workers (979fee3)
  • (web) Ask again whether a visitor is still in the server (d34a4ba)
  • (web) Harden the interface against strangers (012538b)
  • (web) Show when each thing happened, not when it was replayed (bf7b611)
  • Harden transcript links, bailey XDG and late provider keys (#109) (9935da9)
  • Stop the agent memory reaching argv and name kills (759f05a)
  • Resolve an image model to the provider that lists it (ad61174)
  • Draw with the images endpoint, not a chat model ([29d046c](https://...
Read more

v0.3.1

Choose a tag to compare

@QaidVoid QaidVoid released this 18 Oct 16:08
97cea7d

Features

  • (config) Make !file upload limit configurable (6ae99e1)

Fixes

  • (pr) Open pull requests against the forked-from repository (86cd3fc)
  • (session) End the session task once the session ends (#30) (c3da504)
  • (usage) Read kage's token totals and show tok/s (#31) (f47a0c3)
  • (usage) Let a mapped provider bill past a spent window (#28) (880c34d)

v0.3.0

Choose a tag to compare

@QaidVoid QaidVoid released this 10 Oct 10:24
cfabaf7

Features

  • (chat) Take discord stickers as attachments (e442f96)
  • (providers) Pass model sizes and broker anthropic keys (fb97456)
  • (providers) Honor kind for custom kage providers (651adc5)
  • Register kage plugins and leave them unbrokered by default (92bb231)
  • Run sessions on kage rpc instead of pi (c4110ab)

Fixes

  • (agent) Accept a resume answer without a session id (28f78e6)
  • (pr) Open fork pull requests against the parent (ff9abe3)
  • Run unconfigured tools without asking in sessions (f16179a)
  • Render tool commands and whole spans of agent speech (6914dc0)
  • Widen the session resolver to three public resolvers (02122a8)

Refactoring

  • (agent) Drive sessions over kage ACP at pi parity (7402932)

v0.2.5

Choose a tag to compare

@QaidVoid QaidVoid released this 30 Sep 12:57
5bdedbf

Fixes

  • (sandbox) Fix shell tool spawn failing (1168577)

v0.2.4

Choose a tag to compare

@QaidVoid QaidVoid released this 29 Sep 16:02
a3e7218

Features

Fixes

  • (sandbox) Bound the broker's dial across all addresses (ace9ba7)
  • (sandbox) Close the daemon's symlink-following sinks (088ee6a)
  • (sandbox) Point bailey user dirs at the operator home (5f4ea77)
  • (session) Refuse symlinks in recall and delegation answers (6c4cafa)

v0.2.3

Choose a tag to compare

@QaidVoid QaidVoid released this 29 Sep 03:11
24a8a9f

Features

  • (model) List models in the channel, and answer slash commands (c436fd2)
  • (sandbox) Grant execute on /workspace by default (7a0e1f1)
  • (usage) Let an operator re-read the usage window (133fb67)

Fixes

  • (model) Let a short name added later reach a running session (ce59a96)
  • (session) Resume on the configured model when a provider is gone (8f117c6)

v0.2.2

Choose a tag to compare

@QaidVoid QaidVoid released this 24 Sep 16:49
2c19c44

Features

  • (chat) Drop the bars from the !usage table (3051c91)
  • (chat) Draw !usage as a bordered table with usage bars (a46bf13)
  • (chat) Show !usage as a table with reset times in UTC (388f2ad)
  • (issues) Listen only in chosen repositories, for chosen triggers (e772f7e)
  • (issues) Run GitHub sessions in a chat thread beside the issue (24e6ade)
  • (issues) Start sessions from GitHub mentions and assignments (c1f4b46)
  • (log) Add -v, -vv and -vvv for debug, trace and wire logs (51642b7)
  • (provider) Read several usage windows, a spent one first (941ddac)
  • (provider) Read usage by declared shape, or where a mapping says (6a300f5)
  • (provider) Ask providers for their models, with per-model overrides (01d0e64)
  • (sandbox) Forward plain http on the allowed egress ports (ffe4c72)
  • (session) Start on a fallback model when a window is spent (e623a16)
  • (session) Let !pr name the repository with --repo (e21a540)
  • (session) Tell the agent what came of its pull request (c2e8a9e)
  • (session) Suggest diskTmp when a session runs out of scratch (1f1b02b)

Fixes

  • (agent) Forward the provider's error to chat and the log (678b0ea)
  • (chat) Write a GitHub login bare where it cannot be mentioned (61a1b61)
  • (issues) Post only what a turn came to on the issue (1262828)
  • (issues) Skip notifications with nothing new since the start (da04669)
  • (sandbox) Tell a name that does not resolve from an internal one (5d61aaf)
  • (sandbox) Give podman sessions the providers and extensions (6956e65)
  • (sandbox) Keep every provider's real key out of a brokered session (c9144c7)
  • (sandbox) Give every provider its key when egress is not brokered (937468a)
  • (sandbox) Lay model entries over the agent's built-in definitions (07b1269)
  • (sandbox) Honor tmpSize, shmSize and diskTmp under podman (7979aad)
  • (sandbox) Start each launch on an empty disk-backed /tmp (971192b)
  • (sandbox) Bound broker lookups and dials (6ec654a)
  • (serve) Meter every z.ai provider, not only the default (88b8627)
  • (serve) Broker built-in providers from the host's model store (55177d0)
  • (session) Name a repository by its directory, not its GitHub name (9f9031e)
  • (session) Find a repository cloned below the top of the session (8874abe)
  • (session) Announce a model switch only once the agent takes it (075576e)

v0.2.1

Choose a tag to compare

@QaidVoid QaidVoid released this 21 Sep 03:16
78a3179

Features

  • (agent) Load pi extensions in the sandbox, and providers they register (816bbeb)
  • (memory) Let the agent recall older facts on demand (a69829f)
  • (sandbox) Let a session's /tmp be backed by disk (72dd7ab)
  • (sandbox) Make the private /tmp and /dev/shm sizes configurable (011697b)
  • (session) Say a resource-limited session can be continued (e290a1c)

Fixes

  • (memory) Tell the agent its recall is in the prompt, not the files (979c221)
  • (session) Start a bare model on the provider that serves it (65c094b)
  • (session) Name the sandbox scratch limits on ENOSPC (0a77725)
  • (session) Retry a dropped attachment fetch and say why it failed (10766eb)

v0.2.0

Choose a tag to compare

@QaidVoid QaidVoid released this 18 Sep 11:50
f38cd47

Features

  • (chat) Name the model on the opening line and every done (29ca800)
  • (chat) Group what a turn took and what it spent (e5ffd5d)
  • (config) [breaking] Describe every provider in one place (d87057a)
  • (provider) Let a model say how hard it thinks (cf8f505)
  • (session) Make the model listing something to type back (c0e31a9)
  • (session) Say how long a turn waited and how long it took (6c6459e)

Fixes

  • (config) Let the configured model name its provider (5700e87)
  • (config) Report the search that actually happened (990d6c5)
  • (daemon) Answer where the question was asked, not the channel (4d9da77)
  • (pr) Open a pull request on the bot's own repository (a447f6f)
  • (provider) Skip a malformed model store entry, not the daemon (d6c8f89)
  • (session) Report the model a switch set, not the last turn's (01fef5d)
  • (session) Say a thinking level apart from the model name (15cfb74)
  • (session) Match an aliased model without its level (129251b)
  • (session) Let a switch name a model on any configured provider (c280f8d)

Build

  • Let vitepress put the site where cloudflare looks (e86c7b3)

v0.1.0

Choose a tag to compare

@QaidVoid QaidVoid released this 18 Sep 04:33
9c8a91d
chore: Release package errand-bot version 0.1.0