Skip to content

Releases: loopedautomation/agent-framework

v0.11.1

Choose a tag to compare

@RatulMaharaj RatulMaharaj released this 21 Jul 16:28

Patch release.

  • fix(gemini): strip JSON Schema keywords Gemini rejects from tool parameters — v0.11.0's gemini provider sent tool schemas verbatim, and Gemini hard-rejects standard JSON Schema keywords like $schema and additionalProperties with a 400. The adapter now sanitizes tool parameters down to the OpenAPI-style subset Gemini accepts. Any agent using provider: gemini with tools needs this release.

v0.11.0

Choose a tag to compare

@RatulMaharaj RatulMaharaj released this 21 Jul 16:11

Highlights since v0.10.0:

  • feat(providers): native gemini provider — the Gemini API's generateContent dialect. provider: gemini with id: gemini-3.6-flash and a GEMINI_API_KEY is all it takes; base_url points at Gemini-compatible proxies. Thinking tokens count toward output usage, and hermetic deployments allowlist generativelanguage.googleapis.com automatically.
  • New example: tty-bot — the tty trigger paired with the gemini provider: a bearer-authed WebSocket terminal with no permissions block, so the terminal is the agent's whole surface.
  • Docs — a Gemini provider page and the providers overview updated to four dialects.

No API changes.

v0.10.0

Choose a tag to compare

@RatulMaharaj RatulMaharaj released this 21 Jul 08:39

Highlights

  • Voice: agents reply with a voice note or text on demand — lead a reply with __VOICE__ or __TEXT__.
  • TTY cancel frame: {type:"cancel"} aborts the in-flight run over the protocol (barge-in without dropping the socket).
  • TTY hello frame: now carries the agent's self-chosen name and description, so clients can label an agent by name.
  • TTY images: input frames can carry images.
  • Fix: shell redirections (2>&1 and friends) are no longer misread as commands in permissions.run.

What's Changed

Full Changelog: v0...v0.10.0

v0.9.1

Choose a tag to compare

@RatulMaharaj RatulMaharaj released this 16 Jul 00:54

Fixes

  • tty trigger in docker: hermetic mode now derives the tty listener's host grant; agents with a tty trigger no longer crash at startup in containers.

Additions

  • /health alias for /healthz on the status surface.
  • Releases now publish floating GitHub Action tags (v0.9, v0) alongside the immutable v0.9.1.

🤖 Generated with Claude Code

https://claude.ai/code/session_0142K4L9mwyyadMUggBaDFZV

v0.9.0

Choose a tag to compare

@RatulMaharaj RatulMaharaj released this 16 Jul 00:31

What's Changed

  • docs(action): rewrite the GitHub Actions page in the house voice by @RatulMaharaj in #138
  • feat(permissions): validate and startup warn on run grants that defeat the allowlist by @RatulMaharaj in #139
  • Diplay a loader during compact by @HappyDevs1 in #143
  • Notify af users about newer CLI versions by @HappyDevs1 in #141
  • feat(triggers): tty trigger — the REPL as a WebSocket surface by @RatulMaharaj in #144
  • feat(voice): allow base_url override on openai stt/tts engines by @RatulMaharaj in #145
  • feat(triggers): inbound-HTTP transports for chat triggers (Telegram webhook, Slack Events API) by @RatulMaharaj in #147

Full Changelog: v0.8.0...v0.9.0

v0.8.0

Choose a tag to compare

@RatulMaharaj RatulMaharaj released this 13 Jul 13:05

Highlights

  • GitHub Action — run an agent for exactly one turn in CI: uses: loopedautomation/agent-framework@v0.8.0 pipes a prompt in and hands the reply back as a step output. See GitHub Actions.
  • One-shot af run — piped stdin now drives the plain repl, so echo "prompt" | af run answers once and exits. This is the release that makes the action work against the default image.
  • The release process is now documented in RELEASING.md.

What's Changed

Full Changelog: v0.7.1...v0.8.0

v0.7.1

Choose a tag to compare

@RatulMaharaj RatulMaharaj released this 13 Jul 12:35

Highlights

  • Voice agents — talk to an agent live in a Discord voice channel; agents also hear voice notes and speak the reply back
  • Vision — agents can see the images people send them
  • GitHub trigger — a first-class trigger for webhook events
  • Permissions & security — hermetic mode enforces net at the Deno layer, wildcard hosts compile into --allow-net, a bare * escape hatch for net/run, symlinks are resolved before authorizing a path, and scoped secrets are redacted from tool output, traces, logs and persistence
  • /stop — aborts the run in progress

Breaking change

  • tools.custom has been removed — MCP is the extension point for custom tools

Note: v0.7.0 was published to JSR with a stale internal version constant and is superseded by this release. Use 0.7.1.

Full Changelog: v0.7.0...v0.7.1

v0.7.0

v0.7.0 Pre-release
Pre-release

Choose a tag to compare

@RatulMaharaj RatulMaharaj released this 13 Jul 12:31

⚠️ Superseded by v0.7.1. This release was published with a stale internal version constant (VERSION = "0.6.0" in packages/core/mod.ts), so the binaries and Docker image workflows failed and the JSR 0.7.0 packages self-report 0.6.0. Use v0.7.1 instead.

v0.6.0

Choose a tag to compare

@RatulMaharaj RatulMaharaj released this 11 Jul 18:40

What's Changed

  • Plans 7-13: email, multi-agent, evals, slash commands, footprint, channels, concurrency by @RatulMaharaj in #64
  • Expand gh-issues skill and pin gh CLI version in example image by @RatulMaharaj in #65
  • Fix run-allowlist bypass via background &; add permission security suite by @RatulMaharaj in #66
  • Add codex provider: run agents on a ChatGPT subscription by @RatulMaharaj in #67
  • docs: rewrite README in the Looped voice, add alpha-software note by @RatulMaharaj in #76
  • feat(cli): add --version/-v flag to af by @yashay16s-oss in #75
  • Allow the CLI to run deno by @HappyDevs1 in #81
  • docs: add a contributing guide by @HappyDevs1 in #82
  • docs: align framework description with marketing site one-liner by @yashay16s-oss in #78
  • feat(config): allow uppercase characters in handle by @yashay16s-oss in #83
  • feat: distribute af via Homebrew — compiled binaries, version cmd, docs by @gtchax in #79
  • feat: email triggers — Resend, IMAP, Gmail and Outlook transports (plan 7) by @RatulMaharaj in #71
  • Plan 9 phase 1: the eval harness (af test) by @RatulMaharaj in #72
  • feat(cli): interactive TUI for af run by @RatulMaharaj in #110
  • fix(providers): reconstruct codex output when response.completed is empty by @HappyDevs1 in #85
  • feat: slash commands — built-ins, config-defined commands, native channel registration (plan 10) by @RatulMaharaj in #111
  • Plan 13 phase 1: per-conversation ordering and bounded concurrency by @RatulMaharaj in #74
  • feat: /compact, auto-compaction and /new — history maintenance built-ins by @RatulMaharaj in #112
  • docs(telegram): options table, matching the Discord page by @RatulMaharaj in #114
  • feat: agent-created schedules — reminders and recurring runs via native tools by @RatulMaharaj in #115

New Contributors

Full Changelog: v0.5.0...v0.6.0

v0.5.0

Choose a tag to compare

@RatulMaharaj RatulMaharaj released this 06 Jul 15:45

What's Changed

  • docs(discord): add an options table to the trigger page by @RatulMaharaj in #54
  • feat(loop): wrap up capped runs with a model-written summary by @RatulMaharaj in #56
  • fix(tools): make run_bash permission parsing quote-aware by @RatulMaharaj in #58

Full Changelog: v0.4.0...v0.5.0