Skip to content

feat: add goose-client crate for programmatic goose-server access#7580

Closed
wpfleger96 wants to merge 2 commits intomainfrom
wpfleger/goose-client
Closed

feat: add goose-client crate for programmatic goose-server access#7580
wpfleger96 wants to merge 2 commits intomainfrom
wpfleger/goose-client

Conversation

@wpfleger96
Copy link
Copy Markdown
Collaborator

@wpfleger96 wpfleger96 commented Feb 27, 2026

Adds goose-client, a typed async Rust client for the goose-server HTTP API with SSE streaming support.

goose-server has an OpenAPI spec and well-defined endpoints, but no first-party client library — so integrations end up hand-rolling HTTP calls. This wraps the core API surface into an ergonomic Rust crate.

  • Agent lifecycle, extension management, streaming chat, tool confirmation, session CRUD
  • Custom SSE parser with chunk buffering; uses connect_timeout (not timeout) so long agent turns don't get killed
  • 12 tests: 6 SSE unit + 5 wiremock integration + 1 doc-test
  • Adds Deserialize to ToolInfo and ExtensionLoadResult in goose crate (additive, non-breaking)

@wpfleger96 wpfleger96 force-pushed the wpfleger/goose-client branch 2 times, most recently from 29e2e30 to eef2f01 Compare February 27, 2026 23:45
@wpfleger96 wpfleger96 force-pushed the wpfleger/goose-client branch from eef2f01 to d4c86e9 Compare February 28, 2026 00:19
* origin/main: (27 commits)
  feat: return structured {stdout, stderr} from shell tool with output schema (#7604)
  Improve custom provider creation experience (#7541)
  fix(scheduler): schedules added via CLI showing up in UI (#7594)
  chore: openai reasoning model cleanup (#7529)
  chore(deps): bump hono from 4.12.1 to 4.12.3 in /evals/open-model-gym/mcp-harness (#7585)
  chore(deps): bump minimatch from 10.1.1 to 10.2.3 in /evals/open-model-gym/suite (#7498)
  chore(deps): bump swiper from 11.2.10 to 12.1.2 in /documentation (#7368)
  Better network failure error & antrhopic retry (#7595)
  feat: make the text bar persistent and add a queue for messages (#7560)
  fix: outdated clippy command in goosehints (#7590)
  chore(deps): bump hono from 4.11.7 to 4.12.1 in /evals/open-model-gym/mcp-harness (#7417)
  chore(deps-dev): bump ajv from 6.12.6 to 6.14.0 in /ui/desktop (#7437)
  chore(deps): bump ajv from 8.17.1 to 8.18.0 in /evals/open-model-gym/mcp-harness (#7491)
  chore(deps): bump hono from 4.12.0 to 4.12.2 in /ui/desktop (#7515)
  chore(deps-dev): bump rollup from 4.57.1 to 4.59.0 in /ui/desktop (#7522)
  chore(deps): bump minimatch in /ui/desktop (#7572)
  fix: validate configure probe for streaming providers (#7564)
  Dockerfile: add missing build/runtime dependencies (#7546)
  fix(claude-code): Permission routing for smart-approve (#7501)
  Add base_path field to custom provider config (#7558)
  ...
@wpfleger96 wpfleger96 closed this Mar 3, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant