Browse Goose models and enter provider API keys - #230
Conversation
dabca79 to
1dddcaa
Compare
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 1dddcaa08c
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| /// Native-only Goose catalog context; environment values never enter a snapshot. | ||
| pub struct GooseModelContext { | ||
| pub command: PathBuf, | ||
| pub provider_id: String, |
There was a problem hiding this comment.
The reviewed commit message has no Signed-off-by trailer, so it violates the repository’s per-commit DCO requirement and will fail the hosted DCO check. Recreate the commit with git commit --signoff using the verified author identity, then verify the DCO check at the new head.
AGENTS.md reference: AGENTS.md:L153-L163
Useful? React with 👍 / 👎.
Use the effective Goose provider for ACP model discovery and keep the model picker compact while searching the full catalog. Surface setup failures so users can retry after configuring Goose. Signed-off-by: Salman Mohammed <smohammed@squareup.com>
Signed-off-by: Salman Mohammed <smohammed@squareup.com>
Signed-off-by: Salman Mohammed <smohammed@squareup.com>
Signed-off-by: Salman Mohammed <smohammed@squareup.com>
Signed-off-by: Salman Mohammed <smohammed@squareup.com>
Signed-off-by: Codex <codex@openai.com>
Signed-off-by: Codex <codex@openai.com>
Signed-off-by: Codex <codex@openai.com>
ea27c77 to
1fea773
Compare
wesbillman
left a comment
There was a problem hiding this comment.
Carl, an automated reviewer, commenting via Wes’s GitHub account.
Changes requested: one P2 credential/provider mismatch, detailed inline. Bind the new field to the effective draft provider, explicitly handle an unknown saved override without exposing it, and cover both cases before merge.
Reviewed 1fea773c9e073b2eadbd1a29f6d1a8a1b0b0802e against bebcd66e0adb27efa2c320f2bf72b8f3e63a8a45; all three independent review lanes are integrated. Existing JavaScript, Rust/tool integration, Chromium/WebKit and required CI checks pass. Two isolated mounted-component probes reproduced the incorrect credential target; source tracing confirms native lookup and launch honor the override. No production files changed.
Live non-Databricks desktop authentication/inference remains unverified, as disclosed in the PR. No approval submitted. The earlier DCO-only comment is no longer a gate: current DCO Check passes.
Signed-off-by: Codex <codex@openai.com>
wesbillman
left a comment
There was a problem hiding this comment.
Carl, an automated reviewer, commenting via Wes’s GitHub account.
Re-review: the prior P2 is resolved; no remaining code blockers in the four-file repair at 00edfd355583ab7c65a2a65ad6ff4fe3c5200f86 (base bebcd66e0adb27efa2c320f2bf72b8f3e63a8a45). Known draft overrides select the matching key, hidden saved overrides suppress the misleading field with recovery guidance, and removal/undo and pending-key cleanup use the same provider resolution. Independent re-review is integrated.
CI passed all 3,861 Vitest tests in 352 files, including all seven settings-field tests; Rust/tool integration and Chromium/WebKit journeys also passed. No duplicate local suites were run.
CI remains a merge gate: Browser measurements failed the channel warm-switch ceiling (223.6 ms versus <200 ms); two measurement cases did not run. This is not an authentication-test failure, and its cause has not been established here. Live non-Databricks desktop authentication/inference remains unverified. No approval submitted.
Carl, an automated reviewer, commenting via Wes’s GitHub account. The sole P2 is fixed in 00edfd3 and verified on re-review. No approval; the failing CI measurement remains a separate merge gate. #230 (review)
* origin/main: Explain missing Pi provider models (#263) Browse Goose models and enter provider API keys (#230) test(agents): check model lookup Cancel by visible text (#259) Ask before mentioning people outside the channel (#257) Refine direct message opening (#107) feat(messages): report messages to community moderators (#255) Signed-off-by: Sol <49aa1f65411fd096d2e2ec144f1e7aa36fdc76d1b907cfdf7be000c66f9d3b8e@buzz.block.builderlab.xyz>
* origin/main: ci: publish scheduled macOS test prereleases (#262) feat: add private text feedback plugin (#242) 🤖 docs: add pre-PR checklist and review guidance to AGENTS.md (#268) perf(sidebar): stop rerendering every row's menu on channel switch (#265) Explain missing Pi provider models (#263) Browse Goose models and enter provider API keys (#230) test(agents): check model lookup Cancel by visible text (#259) Signed-off-by: Sol <49aa1f65411fd096d2e2ec144f1e7aa36fdc76d1b907cfdf7be000c66f9d3b8e@buzz.block.builderlab.xyz> # Conflicts: # src/bundled/profiles/ProfileAgentIdentity.test.tsx
…-image * origin/main: (23 commits) fix(agents): recover status polling and scope failure diagnostics (#283) Share avatar editing across community profiles and managed agents (#271) feat(profiles): archive, unarchive and delete agents from the profile pane (#256) ci: run browser journeys on three shards per engine (#280) ci: publish scheduled macOS test prereleases (#262) feat: add private text feedback plugin (#242) 🤖 docs: add pre-PR checklist and review guidance to AGENTS.md (#268) perf(sidebar): stop rerendering every row's menu on channel switch (#265) Explain missing Pi provider models (#263) Browse Goose models and enter provider API keys (#230) test(agents): check model lookup Cancel by visible text (#259) Ask before mentioning people outside the channel (#257) Refine direct message opening (#107) feat(messages): report messages to community moderators (#255) perf(channels): stop rerendering message rows after each channel switch (#269) feat(profiles): open targeted agent editor from owner profile (#254) Let plugins declare local commands and HTTPS origins (#169) feat(profiles): show agent metadata and copyable nip05 (#253) Organize app and community settings (#173) Add status badge cutouts to avatars (#211) ...
Why
Goose agents in Buzz need exact model IDs, but most providers had no model list or API key field in the create form. A wrong ID or missing key may go unnoticed until the agent runs.
What
Buzz asks Goose for the selected provider's models. The picker shows ten matches at a time and searches the full list. Known API key providers now have a masked key field, so users can enter a key and retry model lookup in Buzz.
How
The native lookup passes the effective provider ID and the draft agent environment to Goose's ACP supported-models method. A key entered in Buzz is a write-only per-agent environment override used for model lookup and agent launch. Leaving the field blank preserves a saved key or uses credentials already configured in Goose. Buzz Agent model browsing keeps its existing behavior.
Risk
Goose's model list API may be unavailable or require other provider setup. A successful list fetch does not prove chat access. Saved API keys live in Buzz's local agent settings file and its backup with restricted filesystem permissions; Buzz does not put them in Goose's keyring.
Testing
The create-agent form was rendered in a local browser fixture with 30 synthetic models. The ten-row limit, search, error recovery, and loading state were checked in Chromium and WebKit. A live desktop trial with a configured non-Databricks provider is still pending.
Bigger picture
This follows #214, which added Goose and Databricks v2 model browsing.
Generated with Codex