Releases: launchapp-dev/animus-protocol
Releases · launchapp-dev/animus-protocol
Release list
v0.1.11
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
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
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
v0.1.8 — additive: subject/delete wire verb + cross-process ControlCl…
v0.1.7
v0.1.7 — provider streaming notifications
v0.1.6
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
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
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
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
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.