Skip to content

Conversation

@lily-de
Copy link
Contributor

@lily-de lily-de commented Mar 13, 2025

New way of loading builtins and saving them to config.yaml

  1. on app start up, compares what is in config.yaml under extensions with the list of builtins saved at ``.
  2. applies any differences and saves them as a new extension entry so they appear when the user goes to settings

this right now only happens if you run just run-ui-alpha


match extension_type {
// TODO we'll want a place to collect all these options, maybe just an enum in goose-mcp
"built-in" => {
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

the first value in each item is what we use the make the name for the extension, make it 'pretty' so it matches what it's like in the UI for CLI <-> UI config compatibility (e.g. user makes a change in one or the other, make sure we are editing the same part of the config)

@lily-de lily-de marked this pull request as ready for review March 14, 2025 00:28
Comment on lines 76 to 79
// Only run this effect once per component mount
if (initAttemptedRef.current) {
return;
}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

An empty dependency array in the useEffect will already ensure this only gets run once per component mount.
In that respect, you don't need to use a ref in order to achieve the "run once per mount" goal, and can get rid of initAttemptedRef.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ty!! just banging my head against the wall with claude trying to get the state to not go out of control

Copy link
Contributor

@matthewdiamant matthewdiamant left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good!

Copy link
Collaborator

@michaelneale michaelneale left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think ok - will be ok when there is no config.yaml at all? (if that is a valid initial condition). Not sure of background for this, but seems good!

@lily-de
Copy link
Contributor Author

lily-de commented Mar 14, 2025

@michaelneale

I think ok - will be ok when there is no config.yaml at all? (if that is a valid initial condition). Not sure of background for this, but seems good!

the opposite :D config.yaml will be source of truth an allow CLI and UI to have same state / config. UI has been sort of configuring itself its own way via a mixture of local storage and env vars, but going forward will be using config.yaml

@lily-de lily-de merged commit 49dc396 into main Mar 14, 2025
6 checks passed
@lily-de lily-de deleted the ldelalande/load-builtins branch March 14, 2025 02:40
michaelneale added a commit that referenced this pull request Mar 14, 2025
* main: (32 commits)
  ui: load builtins (#1679)
  chore(release): release version 1.0.14 (#1676)
  Revert "feat: handling larger more complex PDF docs (and fix) (#1663)" (#1675)
  fix: uvshim default to existing uv configuration (#1670)
  fix: handle interruptions during tool responses (#1651)
  feat: Copy error message button in toast (#1658)
  feat: handling larger more complex PDF docs (and fix) (#1663)
  Add Filesystem Tutorial (#1666)
  docs: figma blog post (#1647)
  docs: updating goose modes doc (#1665)
  docs: Add running tasks guide (#1626)
  docs: Add experimental features (#1644)
  feat(cli): add better error message, support stdin via -i - or just no args (#1660)
  feat: extensions read config (#1637)
  fix: trigger words for memory (#1654)
  fix: cleanup keyboard shortcut indication (#1642)
  Extensions load in background and show pending state (#1657)
  Extension error toast stays until dismissed, and error message cleanup (#1653)
  fix: remove other category in settings (#1641)
  fix: restore image outputs from tool calls (#1640)
  ...
kalvinnchau added a commit that referenced this pull request Mar 14, 2025
* origin/main: (29 commits)
  ui: reorganize extensions settings (#1702)
  feat: google_drive write tools and read comment tool (#1650)
  fix: developer builtin name (#1699)
  chore: update extensions section to work with new endpoints (#1696)
  chore: move things around (#1662)
  ui: extensions state updates (#1674)
  docs: goose ollama blog, updated (#1691)
  ui: load builtins (#1679)
  chore(release): release version 1.0.14 (#1676)
  Revert "feat: handling larger more complex PDF docs (and fix) (#1663)" (#1675)
  fix: uvshim default to existing uv configuration (#1670)
  fix: handle interruptions during tool responses (#1651)
  feat: Copy error message button in toast (#1658)
  feat: handling larger more complex PDF docs (and fix) (#1663)
  Add Filesystem Tutorial (#1666)
  docs: figma blog post (#1647)
  docs: updating goose modes doc (#1665)
  docs: Add running tasks guide (#1626)
  docs: Add experimental features (#1644)
  feat(cli): add better error message, support stdin via -i - or just no args (#1660)
  ...
laanak08 added a commit that referenced this pull request Mar 16, 2025
* main: (31 commits)
  feat: add default metrics for core evals (#1602)
  feat(google_drive): use oauth2 crate for PKCE support, make token storage generic over Serializable (#1645)
  ui: reorganize extensions settings (#1702)
  feat: google_drive write tools and read comment tool (#1650)
  fix: developer builtin name (#1699)
  chore: update extensions section to work with new endpoints (#1696)
  chore: move things around (#1662)
  ui: extensions state updates (#1674)
  docs: goose ollama blog, updated (#1691)
  ui: load builtins (#1679)
  chore(release): release version 1.0.14 (#1676)
  Revert "feat: handling larger more complex PDF docs (and fix) (#1663)" (#1675)
  fix: uvshim default to existing uv configuration (#1670)
  fix: handle interruptions during tool responses (#1651)
  feat: Copy error message button in toast (#1658)
  feat: handling larger more complex PDF docs (and fix) (#1663)
  Add Filesystem Tutorial (#1666)
  docs: figma blog post (#1647)
  docs: updating goose modes doc (#1665)
  docs: Add running tasks guide (#1626)
  ...
ahau-square pushed a commit that referenced this pull request May 2, 2025
cbruyndoncx pushed a commit to cbruyndoncx/goose that referenced this pull request Jul 20, 2025
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.

4 participants