Commit Graph
157 Commits
Author SHA1 Message Date
ciregenz 0ba7d86fef agent: block claude.ai partner MCPs in prompt + at SDK layer
claude_code preset auto-attaches the user's claude.ai-connected partner
MCPs (mcp__claude_ai_*). They bypass MCPActivate, don't share OAuth
state with OpenSwarm's Gmail/Drive/Calendar connectors, and confuse
the model into picking the partner shim instead of our vetted server.
Hard-block via disallowed_tools + add a system-prompt rule.
2026-05-20 02:03:22 -07:00
ciregenz 178a6060eb gmail: route OAuth refresh through cloud rotation-pool proxy
google-workspace-mcp's gauth.py hardcodes token_uri to oauth2.googleapis.com
and uses local CLIENT_ID/SECRET on every refresh. OAuth runs through a
rotation pool on the cloud side, so the refresh_token is bound to the
pool slot that minted it, not the single client baked into the DMG, and
direct refreshes return unauthorized_client. Redirect spawn through a
shim that monkey-patches get_credentials to point token_uri at a local
proxy (/api/tools/google-oauth-token), which forwards the refresh to
api.openswarm.com/api/oauth/google/refresh (pool-aware). Unblocks every
Gmail/Drive/Calendar query for users on the cloud OAuth pool.
2026-05-20 01:58:59 -07:00
ciregenz a1fefa0ae8 [eric] approvals: trust patterns for action approvals + smarter sensitive-file gating 2026-05-20 01:56:38 -07:00
ciregenz 49e0ed3d2f experimental updates: opt-in prerelease channel via settings toggle + semver-suffix auto-detect in publish 2026-05-19 22:10:22 -07:00
ciregenz e840b1b7f0 [eric] sub bug fix 2026-05-13 19:05:04 -07:00
ciregenz ae54680635 [eric] WIP polish — app builder runtime + react-vite template tweaks, dashboard toolbar/card refinements, PixelBlast accent, runtime-preview hook,
sign-in gate + settings updates
2026-05-13 18:30:55 -07:00
ciregenz ea55dbe53a [eric] App Builder skill: duplicate-React crash fix recipe 2026-05-13 14:12:51 -07:00
ciregenz db38311a8d [eric] fix prod regressions: __import__ scrub broke imports + Windows path gate 2026-05-13 13:20:19 -07:00
ciregenz ccec204bc7 [eric] security: gate Write/Edit on sensitive paths + restore HOME/PATH for force-mode Outputs 2026-05-13 11:49:33 -07:00
ciregenz afe11b6f37 [eric] outputs: HITL preview for risky backend.py + workspace path-traversal hardening 2026-05-13 10:50:15 -07:00
ciregenz 1b0e6c35eb [eric] App Builder polish + onboarding fix 2026-05-13 00:24:51 -07:00
ciregenz 91508c87b1 [eric] onboarding bug fix and ux op 2026-05-12 22:36:22 -07:00
ciregenz c0c52e33d6 [eric] App Builder saves to sidebar on seed + onboarding fallbacks (auto-skip rules, fallback prompts, retry popup) 2026-05-12 13:11:56 -07:00
ciregenz a84aec257b [eric] App Builder uses real React/Vite scaffold + onboarding polish (auto sidebar expand, bigger pill, video crop), onboarding bugs / edgecases 2026-05-11 23:23:59 -07:00
ciregenz 2e2e8c7728 [eric] webapp-template standardization (React + Vite + FastAPI new-app starter) + swarm-debug built-in skill + stale-session recovery 2026-05-11 18:40:27 -07:00
ciregenz 573f4a1ed4 [eric] App Builder skill as editable built-in (Skills page, undeletable) + onboarding step 1 unsticks after Claude Max / ChatGPT Pro / Gemini /
custom-provider connect (subscription state moved to Redux)
2026-05-11 14:54:07 -07:00
ciregenz 1988435466 [eric] fix runtime-logs WS — missing top-level asyncio import in main.py 2026-05-11 13:51:41 -07:00
ciregenz b4b7042af2 [eric] persistent app-backend runtime + Terminal tab (replaces one-shot execute + Console panel) 2026-05-11 13:47:55 -07:00
ciregenz c670033238 eric] fix app builder cross-agent chat leak via draftLaunchMap (drop activeSessionId fallback) 2026-05-11 11:28:48 -07:00
ciregenz d20ff7d16c [eric] app builder cleanup — remove Auto Run, Test Input, RenderOutput tool + Outputs activation gate 2026-05-11 09:05:45 -07:00
ciregenz 294a16ada0 [eric] system prompt: direct mcp__openswarm-web__WebSearch/WebFetch hint when web MCP is active (fixes 2-minute ToolSearch thrash on small Ollama
models)
2026-05-10 19:09:49 -07:00
ciregenz 54be1e8ba1 [eric] onboarding 1.0.31 + Settings draft persistence + LM Studio fix 2026-05-10 17:57:01 -07:00
ciregenz 89cbfe9749 [eric] onboarding polish + perf — humanized AC popups, batched /submit (1 POST/sec vs 100s), group-meta dedup,
sidebar auto-expand, cursor offset fixes
2026-05-09 23:34:40 -07:00
ciregenz fa693452d4 [eric] gpt-5.x api keys 2026-05-09 09:06:01 -07:00
ciregenz 0c841bdad4 [eric] onboarding revamp — agentic cursor walks users through 8 setup steps, WIP fixes: Gemini schema scrub, OpenAI GPT-5 routing, websearch cascade, gpt-5 is still a bit flaky... 2026-05-09 01:40:37 -07:00
ciregenz a0dc8dce11 [eric] 1.0.30 production push 2026-05-07 23:41:43 -07:00
ciregenz b3428a736b [eric] custom OpenAI-compatible provider support, youtube bug fix (windows) 2026-05-07 21:22:40 -07:00
ciregenz 5bac52266c [eric] sign-in flow polish, account UI, port-targeting fix 2026-05-07 16:48:22 -07:00
ciregenz 577501c19f [eric] sign-in flow polish: localhost activate + auto-refresh + clean signout 2026-05-07 12:44:45 -07:00
ciregenz fb78f013f3 [eric] account UI + proxy URL fix 2026-05-07 11:17:01 -07:00
ciregenz 7a6a49655c [eric] account flow + settings tweaks 2026-05-07 09:57:49 -07:00
ciregenz acd179d20e [eric] gitleaks org-license fix; picker filter footer; trim+cache MCP gate prompt; losses compression caching on llm response (20% improvement avg) 2026-05-07 00:28:57 -07:00
ciregenz fae2806124 [eric] make non-Anthropic API keys actually work end-to-end, fix the wildly wrong cost numbers, multi model ux/ui improvements 2026-05-06 21:05:57 -07:00
ciregenz 11487456b5 eric] Google OAuth via cloud-proxy + gitleaks CI 2026-05-06 13:28:35 -07:00
ciregenz d8a1e333be [eric] service layer touchups 2026-05-06 00:03:15 -07:00
ciregenz c64bf65c66 [eric] session state additions + ui hook refinements 2026-05-05 17:05:54 -07:00
ciregenz 415ab70b53 [eric] unify telemetry surface, install_method, frontend trackEvent 2026-05-05 14:35:43 -07:00
ciregenz 49c649e3d9 [eric] single sync function for all state syncing 2026-05-05 12:11:07 -07:00
ciregenz b2015caca7 [eric] batch heartbeats locally before sending 2026-05-05 00:21:52 -07:00
ciregenz 59e20e11ea [eric] clean up remaining non-opaque references 2026-05-04 22:25:48 -07:00
ciregenz 4cc1a3c7bd [eric] restore subscription activation CORS origins 2026-05-04 20:32:34 -07:00
ciregenz 3c42d8738f [eric] refactor internal service layer 2026-05-04 19:39:19 -07:00
ciregenz b7a1faee38 [eric] delete miscelaneous scrapped code 2026-05-04 19:15:42 -07:00
ciregenz 5df979a59a analytics: fix completion-rate, mock-cost, and tool-count accuracy bugs 2026-05-04 17:50:11 -07:00
ciregenz 3e0e4f680c [eric] 1.0.28 production push 2026-05-04 12:31:21 -07:00
ciregenz d0b8df0329 [eric] 117 new invariant tests (777/777 total) covering MCP gate, soft-restart, label logic, aux-LLM routing. fastapi[standard] →
[standard-no-fastapi-cloud-cli] skips ~6MB sentry_sdk + cloud-cli we never use. gitignore catches python/editor/test cache noise.
2026-05-03 23:03:15 -07:00
ciregenz 8286cc1a5c [eric] delete ~3.6k lines of dead code (old unused agent runtime, ghost fields, orphan scripts). all 660 tests still pass, no functional
change.
2026-05-03 22:39:17 -07:00
ciregenz 5f5b932c53 [eric] tiny dead-code sweep — drop unused langchain pins from requirements.txt (saves ~5MB on packaged build) plus a few orphan exports left
over from past iterations (temp_state slice fields, clipboard timestamp getter, three never-imported lastSeq helpers).
2026-05-03 21:31:13 -07:00
ciregenz d14cc89300 [eric] tool labels read like a person — Plugged into Gmail, Saved a snapshot, varied phrasings per call; session/turn labels
in sentence case; activating an MCP mid-chat now actually works instead of the model guessing at made-up tool names. Also a bunch miscelaneous ui/ux tweaks, I cant be bothered :)
2026-05-03 20:44:32 -07:00
ciregenz ade79315a9 [eric] thinking pill shows full turn cost (input + output + subagent + tool work) with click-to-see input/output breakdown; reopening
completed chats no longer replays the typewriter (per-session lastSeq survives AgentChat remount so resume protocol stays at the high-water
  mark instead of last_seq=0)
2026-05-03 11:21:02 -07:00