Skip to content

Releases: launchapp-dev/animus-protocol

v0.1.11

Choose a tag to compare

@github-actions github-actions released this 24 May 15:51
v0.1.11 — codex/gemini/opencode parsers emit ToolCall/ToolResult

Production-readiness bug fix for tool-using agents on codex, gemini,
and opencode provider plugins. The three CLI-wrapping session-backend
parsers now translate native function-call wire shapes into
SessionEvent::ToolCall / SessionEvent::ToolResult instead of silently
dropping them.

Highlights:
- codex: function_call items via item.added/item.delta/item.completed
  with streaming-arg accumulation (per-session CodexParser state) and
  function_call_output -> ToolResult.
- gemini: top-level functionCall/functionResponse events plus
  candidate-parts extraction.
- opencode: tool_use/tool_result events.

Purely additive — SessionEvent variants unchanged. 11 new parser
tests, full workspace green under cargo fmt + clippy + test.

Downstream plugin repos (animus-provider-codex, animus-provider-gemini,
animus-provider-opencode) should re-pin to animus-session-backend
0.1.11 and ship a patch release to surface tool events to end users.

v0.1.10

Choose a tag to compare

@github-actions github-actions released this 23 May 17:58
v0.1.10: workflow_events subscription method

Additive over v0.1.9:
- METHOD_WORKFLOW_EVENTS + NOTIFICATION_WORKFLOW_EVENT constants
- WorkflowEventsRequest (optional workflow_id + kinds filters)
- WorkflowEvent (workflow_id, kind, payload, occurred_at)
- ControlClient::workflow_events(...) -> Subscription<WorkflowEvent>
- spec §14.3 / §14.8 document the new streaming method
- 2 new client tests covering stream + cancel and request filters

Daemon-side implementation lands separately in animus-cli; until then
subscribers will hang on recv or receive method_not_found.

v0.1.9

Choose a tag to compare

@github-actions github-actions released this 23 May 16:09
v0.1.9: ControlClient streaming subscription API

Adds Subscription<T> with three streaming methods so transport plugins
(graphql, http, future gRPC) can consume long-lived event streams over the
existing Unix-socket NDJSON JSON-RPC channel:

- subject_watch  -> Subscription<SubjectChangedEvent>
- daemon_events  -> Subscription<DaemonRunEvent>
- daemon_logs_follow -> Subscription<DaemonLogEntry>

Internals refactor: background reader task demultiplexes responses vs
notifications by id, write half shared via Arc<Mutex<>> — one ControlClient
hosts any mix of unary RPCs and open subscriptions over a single socket.

Wire shape unchanged from daemon source of truth (initial {"watching":
true} ack + NOTIFICATION_* frames with params: {id, data}); cancellation
via socket close or best-effort $/cancelRequest on Drop.

workflow_events deferred — no daemon-side emitter yet. Spec §14.3 and
§14.7 updated. v0.1.8 ControlClient API preserved (purely additive).

v0.1.8

Choose a tag to compare

@github-actions github-actions released this 23 May 15:19
v0.1.8 — additive: subject/delete wire verb + cross-process ControlCl…

v0.1.7

Choose a tag to compare

@github-actions github-actions released this 23 May 14:08
v0.1.7 — provider streaming notifications

v0.1.6

Choose a tag to compare

@github-actions github-actions released this 23 May 14:02
v0.1.6 - animus-transport-protocol

TransportBackend trait + types for the controller-as-plugin endgame.
animus-transport-http and animus-transport-graphql consume from here.

v0.1.4

Choose a tag to compare

@github-actions github-actions released this 22 May 18:45
v0.1.4: feedback field, multi-id queue reorder, plugin log macros

- WorkflowResumeRequest: add optional `feedback: Option<String>` so
  approval-gated workflows can carry reviewer comments through resume.
- QueueReorderRequest: support multi-entry reorder via `subject_ids:
  Vec<String>`. The single `id` is now Option<String> so callers pick
  one form per request; tests cover both shapes.
- animus-plugin-runtime: new `log` module + crate-level `info!`,
  `warn!`, `error!`, `debug!`, `trace!` macros. Each `*_main`
  entrypoint installs a global emitter that forwards on the existing
  stdout notification channel as `log/entry` JSON-RPC notifications.
- Workspace + all path-dep pins bumped 0.1.3 -> 0.1.4.

v0.1.3

Choose a tag to compare

@github-actions github-actions released this 20 May 17:34
v0.1.3 — animus-control-protocol

Defines the wire format for daemon control RPC. Foundation for the
v0.4.0 controller-as-plugin migration in animus-cli.

v0.1.2

Choose a tag to compare

@github-actions github-actions released this 18 May 20:06
v0.1.2 - subject wire dispatch fix

Plugin runtime now accepts <kind>/<verb> method names for subject
backends, matching the in-tree daemon's SubjectRouter dispatch. This
is the wire-format change that makes animus subject list/get/create/
update operational end-to-end against installed subject backends.

No SubjectBackend trait changes. Plugin author code is unaffected;
the upgrade is mechanical (cargo update + retest).

Cascade: animus-subject-{linear,sqlite,markdown,requirements} bump
their animus-protocol dep to tag=v0.1.2 in their own v0.1.2 releases.

v0.1.0

Choose a tag to compare

@github-actions github-actions released this 17 May 22:54
v0.1.0 — protocol crate stack scaffold

5 crates ship in this tag:
- animus-plugin-protocol — wire types (RpcRequest/Response, PluginInfo, PluginManifest, HealthCheckResult)
- animus-subject-protocol — SubjectBackend trait + normalized Subject schema for backends like Linear, Jira, GitHub Issues
- animus-provider-protocol — ProviderBackend trait + AgentRunRequest/AgentRunResponse for LLM providers
- animus-plugin-runtime — slim stdio JSON-RPC loop, exposes subject_backend_main + provider_main
- animus-session-backend — CLI-subprocess session management lifted from llm-cli-wrapper

This tag is consumed by 7 plugin repos (animus-subject-linear, animus-plugin-template, and 5 provider repos) via cargo git deps. Plugins should pin tag = "v0.1.0" rather than branch = "main" to insulate from breaking changes on main.

CI green on commit d6b63f1.