Skip to content

Add windsurf support#328

Open
mphassani wants to merge 7 commits intosteipete:mainfrom
mphassani:add-windsurf-support
Open

Add windsurf support#328
mphassani wants to merge 7 commits intosteipete:mainfrom
mphassani:add-windsurf-support

Conversation

@mphassani
Copy link

Summary

Adds a new Windsurf provider (local-only usage tracking, similar to Antigravity’s local probe model)

Changes

  • Windsurf provider

    • New provider descriptor + local fetch strategy reading Windsurf’s VS Code-style SQLite DB: ~/Library/Application Support/Windsurf/User/globalStorage/state.vscdb
    • Parses ItemTable key windsurf.settings.cachedPlanInfo and displays up to three meters: Messages, Flow Actions, Flex Credits, using endTimestamp as reset
    • This is intentionally in the same spirit as Antigravity: a local-only provider that reads on-disk state (no cookies/network) and maps it into CodexBar’s standard meters
    • Adds provider branding + ProviderIcon-windsurf.svg
    • Docs: docs/windsurf.md, plus updates to README.md, docs/providers.md, docs/configuration.md
  • Misc

    • Update provider lists/switches (CLI provider selection tests, provider IDs, icon resource tests)
    • Widget: add Windsurf label/color, but keep it disabled for widget selection for now (“not yet supported in widgets”)

Testing

  • Recommended locally: ./Scripts/compile_and_run.sh (or swift test).

Notes

  • Windsurf DB path override for debugging/tests:
    • CODEXBAR_WINDSURF_STATE_DB=/absolute/path/to/state.vscdb (or WINDSURF_STATE_DB=...)

Update Windsurf provider to stop treating Flow Actions as a separate meter and to use Flex Credits as the secondary meter. Adjusted WindsurfLocalStorageReader to map flexCredits to the secondary slot and remove the tertiary meter, updated ProviderDescriptor to remove opus support and change labels, and updated tests and docs to reflect the new two-meter model (Messages + Flex Credits). Tests now allow nil flowActions fields and expect no tertiary usage snapshot.
@mphassani mphassani mentioned this pull request Feb 8, 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