Home

mweinbach / agent-coworker

publicmweinbach/agent-coworker
Overview Code History Branches Pull requestsIssuesInsights
main
HomeOverview Code PRsIssues

feat: gate A2UI behind workspace feature flags

6 months ago

541f662
Authored
mweinbach4/18/2026, 6:51:08 PM
Make A2UI availability and prompt/skill guidance resolve from workspace feature flags so the capability defaults off and stays consistent across desktop, server, and JSON-RPC state.

Made-with: Cursor

Parent4a4977b

51 files changed
  • apps/desktop/electron/ipc/mobileRelay.ts+25−30
  • apps/desktop/electron/preload.ts+17−5
  • apps/desktop/electron/services/persistence.ts+14−0
  • apps/desktop/src/app/store.actions/bootstrap.ts+71−13
  • apps/desktop/src/app/store.actions/workspace.ts+2−1
  • apps/desktop/src/app/store.actions/workspaceDefaults.ts+47−21
  • apps/desktop/src/app/store.helpers.ts+8−0
  • apps/desktop/src/app/store.helpers/controlSocket.ts+15−3
  • apps/desktop/src/app/store.helpers/persistence.ts+1−0
  • apps/desktop/src/app/store.ts+6−0
  • apps/desktop/src/app/types.ts+7−0
  • apps/desktop/src/lib/desktopApi.ts+2−1
  • apps/desktop/src/lib/desktopCommands.ts+31−3
  • apps/desktop/src/lib/desktopFeatureFlags.ts+21−34
  • apps/desktop/src/lib/desktopSchemas.ts+14−1
  • apps/desktop/src/lib/webAdapter.ts+17−5
  • apps/desktop/src/ui/Sidebar.tsx+2−2
  • apps/desktop/src/ui/onboarding/DesktopOnboarding.tsx+1−2
  • apps/desktop/src/ui/settings/SettingsShell.tsx+8−2
  • apps/desktop/src/ui/settings/pages/FeatureFlagsPage.tsx+155−0
  • apps/desktop/src/ui/settings/pages/WorkspacesPage.tsx+2−18
  • apps/desktop/test/control-socket.test.ts+9−0
  • apps/desktop/test/feature-flags-page.test.tsx+160−0
  • apps/desktop/test/helpers/mockDesktopCommands.ts+8−6
  • apps/desktop/test/persistence-state-sanitization.test.ts+1−0
  • apps/desktop/test/settings-shell.test.ts+2−0
  • apps/desktop/test/workspace-settings-sync.test.ts+9−0
  • apps/desktop/test/workspaces-page.test.ts+13−14
  • config/defaults.json+1−1
  • docs/generated/websocket-jsonrpc.d.ts+5−5
  • docs/generated/websocket-jsonrpc.schema.json+1−1
  • docs/websocket-protocol.md+14−1
  • src/config.ts+46−6
  • src/prompt.ts+11−2
  • src/server/jsonrpc/routes/a2ui.ts+8−0
  • src/server/jsonrpc/schema.sessionRuntime.ts+11−0
  • src/server/protocol.ts+10−0
  • src/server/session/SessionContext.ts+1−0
  • src/server/session/SessionMetadataManager.ts+46−34
  • src/server/startServer.ts+50−2
  • src/shared/featureFlags.ts+197−0
  • src/shared/jsonrpcControlSchemas.ts+11−0
  • src/tools/a2ui.ts+1−1
  • src/tools/skill.ts+10−1
  • src/types.ts+9−0
  • test/config.test.ts+3−2
  • test/jsonrpc.control-schemas.test.ts+14−0
  • test/prompt.test.ts+12−2
  • test/server.jsonrpc.control.test.ts+61−2
  • test/session.test.ts+21−9
  • test/tools.test.ts+54−0