Commit Graph

4456 Commits

Author SHA1 Message Date
Michael Neale 656dd73d8d Merge remote-tracking branch 'origin/main' into micn/testing-thinking-fixes
* origin/main:
  add encrypted Nostr session sharing (#8922)
  feat(i18n): add Simplified Chinese (zh-CN) translation (#8765)
  fix(ui): preserve user-set session name for recipe-based chats (#9079)
  fix(oidc-proxy): enforce exp independently of MAX_TOKEN_AGE_SECONDS (#8832) (#8839)
  add nushell terminal and completion support (#8628)
  feat(CLI): Add optional --parameters to scheduled recipe (#8741)
  fix(a11y): improve inline code contrast in light theme (#9058)
  github_copilot /responses API (#9043)
  AAIF, not LF (#9176)
  fix: omit max_tokens for OpenAI-compatible requests when unset (#9123)
  fix(desktop/ui): Set correct mcp-app host capabilities (#9116)
  chore(deps): bump pnpm/action-setup from 4.0.0 to 6.0.5 (#9109)
  docs: fix internal documentation anchors (#9094)
  polish sidebar and context panel (#9059)
  polish inline code snippet styling (#9011)
  chore(deps): bump rustyline from 15.0.0 to 18.0.0 (#8961)
  chore(deps): bump docker/login-action from 3.6.0 to 4.1.0 (#9108)
  refresh onboarding when provider catalog loads (#9051)
  feat(acp): add GOOSE_DISABLE_TOOL_CALL_SUMMARY to opt out of per-tool-call summaries (#8947)
2026-05-13 14:01:40 +10:00
callebtc dbbee1cdbf add encrypted Nostr session sharing (#8922)
Signed-off-by: callebtc <93376500+callebtc@users.noreply.github.com>
Signed-off-by: Douwe Osinga <douwe@squareup.com>
Signed-off-by: Michael Neale <michael.neale@gmail.com>
Co-authored-by: Douwe Osinga <douwe@squareup.com>
Co-authored-by: Michael Neale <michael.neale@gmail.com>
2026-05-13 03:06:44 +00:00
Tai An 8c36ba86c6 feat(i18n): add Simplified Chinese (zh-CN) translation (#8765)
Signed-off-by: Douwe Osinga <douwe@squareup.com>
Co-authored-by: antai <antai12232931@anaiguo.com>
Co-authored-by: Douwe Osinga <douwe@squareup.com>
Co-authored-by: Lifei Zhou <lifei@squareup.com>
2026-05-13 01:34:08 +00:00
UGBOMEH OGOCHUKWU WILLIAMS 12604a8838 fix(ui): preserve user-set session name for recipe-based chats (#9079)
Signed-off-by: Douwe Osinga <douwe@squareup.com>
Co-authored-by: Douwe Osinga <douwe@squareup.com>
2026-05-12 23:43:58 +00:00
parasol-aser 66c89db942 fix(oidc-proxy): enforce exp independently of MAX_TOKEN_AGE_SECONDS (#8832) (#8839)
Signed-off-by: jeffhuang <jeffwalt630@gmail.com>
Signed-off-by: Douwe Osinga <douwe@squareup.com>
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Co-authored-by: Douwe Osinga <douwe@squareup.com>
2026-05-12 23:41:10 +00:00
Can H. Tartanoglu 80cac3626f add nushell terminal and completion support (#8628)
Signed-off-by: Can H. Tartanoglu <gpg@rotas.mozmail.com>
2026-05-12 23:39:28 +00:00
Spike Wang ba60b597fa feat(CLI): Add optional --parameters to scheduled recipe (#8741)
Signed-off-by: Douwe Osinga <douwe@squareup.com>
Co-authored-by: Douwe Osinga <douwe@squareup.com>
2026-05-12 23:30:38 +00:00
Jeff Ramnani bc6e0b25dc fix(a11y): improve inline code contrast in light theme (#9058) 2026-05-12 23:26:47 +00:00
Dan Good 06d414196c github_copilot /responses API (#9043)
Signed-off-by: Douwe Osinga <douwe@squareup.com>
Co-authored-by: Douwe Osinga <douwe@squareup.com>
2026-05-12 23:22:36 +00:00
Manik Surtani 439aeab335 AAIF, not LF (#9176) 2026-05-12 23:15:25 +00:00
Sarthak Bhardwaj b23b95c0bd fix: omit max_tokens for OpenAI-compatible requests when unset (#9123) 2026-05-12 22:30:27 +00:00
Cameron Yick 014ddb84b0 fix(desktop/ui): Set correct mcp-app host capabilities (#9116)
Signed-off-by: Cameron Yick <cameron.yick@datadoghq.com>
2026-05-12 22:30:06 +00:00
dependabot[bot] 0b4214cf94 chore(deps): bump pnpm/action-setup from 4.0.0 to 6.0.5 (#9109)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Douwe Osinga <douwe@squareup.com>
2026-05-12 22:29:38 +00:00
Aqil Aziz 1b39db7eea docs: fix internal documentation anchors (#9094)
Signed-off-by: aqilaziz <gonzes7@gmail.com>
2026-05-12 22:28:59 +00:00
tulsi 75e89964a4 polish sidebar and context panel (#9059)
Signed-off-by: tulsi <tulsi@block.xyz>
2026-05-12 22:25:51 +00:00
morgmart 6ffb26dccc polish inline code snippet styling (#9011)
Signed-off-by: morgmart <98432065+morgmart@users.noreply.github.com>
2026-05-12 22:22:30 +00:00
dependabot[bot] 651a2022fc chore(deps): bump rustyline from 15.0.0 to 18.0.0 (#8961)
Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: Douwe Osinga <douwe@squareup.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Douwe Osinga <douwe@squareup.com>
2026-05-12 18:21:44 -04:00
dependabot[bot] 3c95650947 chore(deps): bump docker/login-action from 3.6.0 to 4.1.0 (#9108)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-05-12 20:52:02 +00:00
Erik Nilsen 72efd50069 fix(goose): never append unsigned thinking deltas to a signed block
The previous coalesce guard merged a new delta whenever either side
had an empty signature. In signature-at-end streams (e.g. Anthropic's
content_block deltas, where the closing chunk carries `signature`),
the first text of the *next* thinking block arrives unsigned and was
appended to the previous block's already-signed content. Replay would
then send that body under the wrong signature and fail provider-side
validation of per-block signatures.

Tighten the predicate to require that either `last` is unsigned (still
mid-block) or the signatures match. An unsigned delta following a
signed block falls through to the default arm and lands as a new
`MessageContent::Thinking` item. The previous
`adopts_latest_signature` test is replaced with two narrower tests:
`adopts_signature_on_closing_delta` (unsigned → signed merges into
the closing delta) and `unsigned_thinking_after_signed_starts_new_block`
(the signature-at-end case Codex flagged).

Addresses Codex P1 on #9162 (conversation/mod.rs:63).

Signed-off-by: Erik Nilsen <enilsen16@live.com>
2026-05-12 13:47:16 -07:00
Erik Nilsen 09bda69645 fix(goose): keep distinct signed thinking blocks separate
The previous coalesce rule merged any two consecutive `Thinking`
deltas that shared a message id, overwriting the earlier signature
with the latest non-empty one. Anthropic streaming can emit multiple
signed thinking blocks per assistant turn (each with its own
signature), so the old rule produced a single thinking item whose
text mixes both blocks under only the last signature — providers
that validate per-block signatures on replay would reject the turn.

Tighten the merge guard so coalesce only runs when the signatures
are compatible (either side empty, or both equal). Distinct non-empty
signatures fall through to the default arm and land as separate
`MessageContent::Thinking` items. New test
`test_push_keeps_distinct_signed_thinking_blocks_separate` locks the
behavior; existing delta-coalesce and adopt-latest-signature tests
still pass.

Addresses Codex P1 on #9162 (conversation/mod.rs:64).

Signed-off-by: Erik Nilsen <enilsen16@live.com>
2026-05-12 13:43:20 -07:00
Erik Nilsen c3e25bbca6 chore(conversation): drop WHAT-narrating test comment
Signed-off-by: Erik Nilsen <enilsen16@live.com>
2026-05-12 13:43:20 -07:00
Erik Nilsen 570441b09f style(goose): cargo fmt
Apply rustfmt to lines added in this PR's tests.

Signed-off-by: Erik Nilsen <enilsen16@live.com>
2026-05-12 13:43:20 -07:00
Erik Nilsen a0a3512ead fix(goose): coalesce streaming Thinking deltas + list available tools on not-found
Conversation::push now coalesces consecutive same-id Thinking blocks
the way it already coalesces Text. The OpenAI/OpenRouter streaming
format yielded one Message per reasoning delta with a shared chunk.id;
without coalescing they piled into one DB row (observed: 2,295 blocks
× 11 chars each). Anthropic format is unaffected (it already emits
one Thinking message per content_block_stop).

Also enriches the -32002 "Tool not found" error in resolve_tool with
the current available-tools list (LangChain/LangGraph pattern). Helps
the LLM self-correct after hallucinating a tool name.

Includes a follow-up perf fix that skips the signature.clone() when
the new thinking-block signature matches the existing one — for the
2,295-delta case this drops from 2,294 redundant clones to 1.

Signed-off-by: Erik Nilsen <enilsen16@live.com>
2026-05-12 13:43:20 -07:00
tulsi 067770740e refresh onboarding when provider catalog loads (#9051)
Signed-off-by: tulsi <tulsi@block.xyz>
2026-05-12 20:42:19 +00:00
Ondrej Cervinka 9ff0825b1d feat(acp): add GOOSE_DISABLE_TOOL_CALL_SUMMARY to opt out of per-tool-call summaries (#8947)
Signed-off-by: ocervinka <cervinka@gmail.com>
Signed-off-by: Douwe Osinga <douwe@squareup.com>
Co-authored-by: Douwe Osinga <douwe@squareup.com>
2026-05-12 20:32:31 +00:00
natelastname 69f591322b Added recipe discovery / execution to ACP server. (#8925)
Signed-off-by: Douwe Osinga <douwe@squareup.com>
Co-authored-by: Douwe Osinga <douwe@squareup.com>
2026-05-12 20:32:05 +00:00
Daniel Nicoletti a23bbf24b5 fix: normalize nullable schemas for Vertex Gemini compatibility (#8930)
Signed-off-by: Daniel Nicoletti <dantti12@gmail.com>
Signed-off-by: Douwe Osinga <douwe@squareup.com>
Co-authored-by: Douwe Osinga <douwe@squareup.com>
2026-05-12 20:25:08 +00:00
zuyua9 314f145779 fix: isolate GitHub recipe temp paths (#8878) 2026-05-12 19:11:55 +00:00
Chris Cooper fd9585c089 fix(providers): set X-Initiator header on GitHub Copilot requests (#8809)
Signed-off-by: itscooper <chris.cooper@owasp.org>
Signed-off-by: Douwe Osinga <douwe@squareup.com>
Co-authored-by: Douwe Osinga <douwe@squareup.com>
2026-05-12 19:08:34 +00:00
Mihir Gupta 15bfe4f5d5 fix(providers): honor dynamic_models: false in declarative provider configs (#8795)
Signed-off-by: Douwe Osinga <douwe@squareup.com>
Co-authored-by: Douwe Osinga <douwe@squareup.com>
2026-05-12 19:07:36 +00:00
g.sunilkumar f2df168bec Fix frontend extension session state and tool routes (#8464)
Signed-off-by: sunilkumarvalmiki <g.sunilkumarvalmiki@gmail.com>
Signed-off-by: jh-block <jhugo@block.xyz>
Signed-off-by: Douwe Osinga <douwe@squareup.com>
Signed-off-by: Michael Neale <michael.neale@gmail.com>
Signed-off-by: Angie Jones <jones.angie@gmail.com>
Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: Vincenzo Palazzo <vincenzopalazzodev@gmail.com>
Signed-off-by: Adam Miller <admiller@redhat.com>
Signed-off-by: morgmart <98432065+morgmart@users.noreply.github.com>
Signed-off-by: Andrew Harvard <aharvard@squareup.com>
Signed-off-by: Matt Toohey <contact@matttoohey.com>
Signed-off-by: Wes <wesb@block.xyz>
Signed-off-by: Clay Delk <clay.delk@gmail.com>
Signed-off-by: Kalvin Chau <kalvin@block.xyz>
Signed-off-by: Taylor Ho <taylorkmho@gmail.com>
Signed-off-by: Alex Hancock <alexhancock@block.xyz>
Signed-off-by: Treebird <treebird@treebird.dev>
Signed-off-by: tulsi <tulsi@block.xyz>
Signed-off-by: vonbai <nswanqi@gmail.com>
Signed-off-by: olaservo <olahungerford@gmail.com>
Signed-off-by: Abhijay Jain <Abhijay007j@gmail.com>
Signed-off-by: Rodolfo Olivieri <rolivier@redhat.com>
Signed-off-by: fresh3nough <anonwurcod@proton.me>
Signed-off-by: Jheison Martinez Bolivar <jheison.mb@gmail.com>
Co-authored-by: Matt Toohey <contact@matttoohey.com>
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-authored-by: Lifei Zhou <lifei@squareup.com>
Co-authored-by: jh-block <jhugo@block.xyz>
Co-authored-by: Alex Hancock <alexhancock@block.xyz>
Co-authored-by: Jack Amadeo <jackamadeo@block.xyz>
Co-authored-by: Douwe Osinga <douwe@squareup.com>
Co-authored-by: Michael Neale <michael.neale@gmail.com>
Co-authored-by: Angie Jones <jones.angie@gmail.com>
Co-authored-by: SomeSolutionsArchitect <139817767+SomeSolutionsArchitect@users.noreply.github.com>
Co-authored-by: Christian <chvargas@wfscorp.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Vincenzo Palazzo <vincenzopalazzodev@gmail.com>
Co-authored-by: Adam Miller <admiller@redhat.com>
Co-authored-by: Jack Amadeo <jackamadeo@squareup.com>
Co-authored-by: morgmart <98432065+morgmart@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Andrew Harvard <aharvard@squareup.com>
Co-authored-by: Kalvin C <kalvinnchau@users.noreply.github.com>
Co-authored-by: Adewale Abati <acekyd01@gmail.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Kalvin Chau <kalvin@block.xyz>
Co-authored-by: Clay Delk <clay.delk@gmail.com>
Co-authored-by: dorien-koelemeijer <62866702+dorien-koelemeijer@users.noreply.github.com>
Co-authored-by: Wes <wesbillman@users.noreply.github.com>
Co-authored-by: Monroe Williams <monroe@pobox.com>
Co-authored-by: Spike Wang <spike@spikewang.me>
Co-authored-by: Taylor Ho <taylorkmho@gmail.com>
Co-authored-by: Treebird <treebird@treebird.dev>
Co-authored-by: Sarthak Bhardwaj <100398847+SarthakB11@users.noreply.github.com>
Co-authored-by: Douwe Osinga <douwe@block.xyz>
Co-authored-by: tulsi <tulsi@block.xyz>
Co-authored-by: Vonbai <107612985+vonbai@users.noreply.github.com>
Co-authored-by: Ola Hungerford <olahungerford@gmail.com>
Co-authored-by: Lucas Kim <45152028+Raptors65@users.noreply.github.com>
Co-authored-by: Abhijay Jain <abhijay007j@gmail.com>
Co-authored-by: Rodolfo Olivieri <rolivier@redhat.com>
Co-authored-by: fre$h <anonwurcod@proton.me>
Co-authored-by: Jheison Martinez Bolivar <78370841+JheisonMB@users.noreply.github.com>
2026-05-12 19:04:26 +00:00
carl-auctane f8efbc4ac5 fix(bedrock): cache trailing message for stable prefix across agent turns (#8916)
Signed-off-by: Carl Youngblood <carl.youngblood@auctane.com>
Signed-off-by: Douwe Osinga <douwe@squareup.com>
Co-authored-by: Douwe Osinga <douwe@squareup.com>
2026-05-12 18:51:07 +00:00
Bright Zheng 208fea5301 fix(provider_registry): case-insensitive model name lookup for context_limit (#8906)
Signed-off-by: Bright Zheng <bzqzheng@gmail.com>
Signed-off-by: Douwe Osinga <douwe@squareup.com>
Co-authored-by: Douwe Osinga <douwe@squareup.com>
2026-05-12 18:50:45 +00:00
Vincenzo Palazzo 2c8d7f13bf [RFC] Add worktree-aware directory switcher (#8450)
Signed-off-by: Vincenzo Palazzo <vincenzopalazzodev@gmail.com>
Signed-off-by: Douwe Osinga <douwe@squareup.com>
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-authored-by: goose <goose@aaif.dev>
Co-authored-by: Douwe Osinga <douwe@squareup.com>
2026-05-12 18:36:39 +00:00
Naman Vats 8905482318 fix(cli): emit cumulative token usage in stream-json/json complete event (#8870)
all done
2026-05-12 14:49:44 -04:00
Bright Zheng fe8f0cdec1 fix(oidc-proxy): validate exp independently of MAX_TOKEN_AGE_SECONDS (#8832) (#8904)
Signed-off-by: Bright Zheng <bzqzheng@gmail.com>
2026-05-12 18:20:06 +00:00
Rodolfo Olivieri 1dc2749430 fix: return 400 instead of panicking on invalid CSP header value (#8810)
Signed-off-by: Rodolfo Olivieri <rolivier@redhat.com>
2026-05-12 18:16:48 +00:00
Shpat 60abcec993 fix(acp): coalesce streaming chunks under one message id (#8788)
Signed-off-by: Douwe Osinga <douwe@squareup.com>
Co-authored-by: Douwe Osinga <douwe@squareup.com>
2026-05-12 18:15:22 +00:00
Vincenzo Palazzo 570e5c326b Add chat history search feature to navigation panel (#8448)
Signed-off-by: Vincenzo Palazzo <vincenzopalazzodev@gmail.com>
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-12 18:10:55 +00:00
Taylor Ho c5825f8052 fix: reuse goose2 vite server on port conflict (#8722)
Signed-off-by: Taylor Ho <taylorkmho@gmail.com>
Signed-off-by: Douwe Osinga <douwe@squareup.com>
Co-authored-by: Douwe Osinga <douwe@squareup.com>
2026-05-12 17:28:26 +00:00
Douwe Osinga be8c12b46c Update the repo script (#9158)
Co-authored-by: Douwe Osinga <douwe@squareup.com>
2026-05-12 12:54:16 -04:00
Jack Amadeo 5fdc877c62 Keep thread tables + column (#9156) 2026-05-12 16:00:02 +00:00
Lifei Zhou b8401f1a3e feat: added quarterly option for scheduler (#9076) 2026-05-12 05:13:58 +00:00
Rodolfo Olivieri b5288843db chore: pin Swatinem/rust-cache to v2.9.1 SHA across all workflows (#8812)
Signed-off-by: Rodolfo Olivieri <rolivier@redhat.com>
Co-authored-by: Douwe Osinga <douwe@squareup.com>
2026-05-12 01:46:59 +00:00
Jheison Martinez Bolivar 59e9105c03 fix: correct WSL2 OS detection by removing PWD-based Windows override (#8869)
Signed-off-by: Jheison Martinez Bolivar <jheison.mb@gmail.com>
2026-05-12 01:20:54 +00:00
Alex Hancock 6e57d245d2 feat(providers): add vercel ai gateway (#9144) 2026-05-11 20:41:16 -04:00
fre$h 71b9d575a0 fix(bedrock): handle ReasoningContent blocks gracefully (#8843)
Signed-off-by: fresh3nough <anonwurcod@proton.me>
Signed-off-by: Douwe Osinga <douwe@squareup.com>
Co-authored-by: Douwe Osinga <douwe@squareup.com>
2026-05-11 23:11:08 +00:00
Rodolfo Olivieri 3cb27a6305 chore: introduce DEFAULT_PROVIDER_TIMEOUT_SECS constant for providers (#8816)
Signed-off-by: Rodolfo Olivieri <rolivier@redhat.com>
Signed-off-by: Douwe Osinga <douwe@squareup.com>
Co-authored-by: Douwe Osinga <douwe@squareup.com>
2026-05-11 23:02:21 +00:00
Rodolfo Olivieri 826a437d08 chore: replace lazy_static with std::sync::LazyLock (#8815)
Signed-off-by: Rodolfo Olivieri <rolivier@redhat.com>
2026-05-11 22:47:31 +00:00
github-actions[bot] 831a7f27d3 chore(release): bump version to 1.34.0 (minor) (#9006)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-05-11 19:13:45 +00:00