fix: restore JSON-RPC desktop transport after revert
7 months ago
146 files changed
- .github/workflows/ci.yml+4−1
- apps/desktop/electron/main.ts+1−3
- apps/desktop/electron/services/persistence.ts+1−0
- apps/desktop/electron/services/shutdown.ts+3−2
- apps/desktop/src/App.tsx+45−0
- apps/desktop/src/app/store.actions/backup.ts+22−29
- apps/desktop/src/app/store.actions/bootstrap.ts+2−1
- apps/desktop/src/app/store.actions/explorer.ts
+0
−1
apps/desktop/src/app/store.actions/mcp.ts+25−30apps/desktop/src/app/store.actions/memory.ts+17−20apps/desktop/src/app/store.actions/provider.ts+70−46apps/desktop/src/app/store.actions/skills.ts+41−60apps/desktop/src/app/store.actions/thread.ts+7−15apps/desktop/src/app/store.actions/workspace.ts+28−30apps/desktop/src/app/store.actions/workspaceDefaults.ts+204−15apps/desktop/src/app/store.feedMapping.ts+58−9apps/desktop/src/app/store.helpers.ts+72−6apps/desktop/src/app/store.helpers/controlSocket.ts+1067−848apps/desktop/src/app/store.helpers/jsonRpcSocket.ts+463−0apps/desktop/src/app/store.helpers/jsonRpcSocketOverride.ts+1−0apps/desktop/src/app/store.helpers/persistence.ts+5−1apps/desktop/src/app/store.helpers/runtimeState.ts+32−6apps/desktop/src/app/store.helpers/threadEventReducer.ts+1179−142apps/desktop/src/app/types.ts+1−0apps/desktop/src/lib/agentSocket.ts+2−2apps/desktop/src/lib/desktopSchemas.ts+1−0apps/desktop/src/ui/chat/activityGroups.ts+18−13apps/desktop/test/app-jsonrpc-disposal.test.tsx+337−0apps/desktop/test/backup-page.test.ts+3−0apps/desktop/test/bootstrap-cache.test.ts+30−0apps/desktop/test/chat-activity-group-card.test.tsx+3−0apps/desktop/test/chat-view.stability.test.tsx+3−0apps/desktop/test/control-socket.test.ts+921−486apps/desktop/test/desktop-schemas.test.ts+22−0apps/desktop/test/developer-page.test.tsx+3−0apps/desktop/test/electron-shutdown.test.ts+3−19apps/desktop/test/helpers/jsonRpcSocketMock.ts+25−0apps/desktop/test/jsonrpc-single-connection.test.ts+786−0apps/desktop/test/memory-actions.test.ts+52−0apps/desktop/test/memory-page.test.ts+3−0apps/desktop/test/onboarding-ui.test.tsx+3−0apps/desktop/test/onboarding.test.ts+3−0apps/desktop/test/persistence-state-sanitization.test.ts+2−0apps/desktop/test/protocol-v2-events.test.ts+899−1806apps/desktop/test/provider-actions.test.ts+126−0apps/desktop/test/providers-page.test.ts+3−0apps/desktop/test/runtimeState.test.ts+27−0apps/desktop/test/settings-nav.test.ts+3−0apps/desktop/test/skills-actions.test.ts+60−4apps/desktop/test/skills-catalog-page.test.ts+2−0apps/desktop/test/store-explorer.test.ts+3−0apps/desktop/test/store-feed-mapping.test.ts+261−0apps/desktop/test/thread-reconnect.test.ts+388−1621apps/desktop/test/updates-page.test.ts+3−0apps/desktop/test/usage-page.test.ts+3−0apps/desktop/test/workspace-mcp-editor.test.ts+182−118apps/desktop/test/workspace-settings-sync.test.ts+1098−673apps/desktop/test/workspace-startup.test.ts+50−4apps/desktop/test/workspaces-page.test.ts+3−0docs/generated/websocket-jsonrpc.d.ts+148−0docs/generated/websocket-jsonrpc.schema.json+3820−0docs/websocket-protocol.md+237−1examples/ws-jsonrpc-smoke.ts+92−0examples/ws-legacy-smoke.ts+57−0package.json+1−0scripts/generate_ws_jsonrpc_schema.ts+22−0src/client/index.ts+1−0src/client/jsonRpcSocket.ts+629−0src/server/agents/AgentControl.ts+2−2src/server/index.ts+24−4src/server/jsonrpc/codegen.ts+53−0src/server/jsonrpc/decodeJsonRpcMessage.ts+51−0src/server/jsonrpc/dispatchJsonRpcMessage.ts+156−0src/server/jsonrpc/journalProjector.ts+619−0src/server/jsonrpc/legacyEventProjector.ts+712−0src/server/jsonrpc/projectorShared.ts+59−0src/server/jsonrpc/protocol.ts+229−0src/server/jsonrpc/routes/index.ts+39−0src/server/jsonrpc/routes/mcp.ts+186−0src/server/jsonrpc/routes/memory.ts+68−0src/server/jsonrpc/routes/outcomes.ts+119−0src/server/jsonrpc/routes/provider.ts+218−0src/server/jsonrpc/routes/session.ts+204−0src/server/jsonrpc/routes/shared.ts+156−0src/server/jsonrpc/routes/skills.ts+308−0src/server/jsonrpc/routes/thread.ts+192−0src/server/jsonrpc/routes/turn.ts+131−0src/server/jsonrpc/routes/types.ts+117−0src/server/jsonrpc/routes/workspaceBackups.ts+132−0src/server/jsonrpc/schema.agents.ts+29−0src/server/jsonrpc/schema.backups.ts+54−0src/server/jsonrpc/schema.core.ts+39−0src/server/jsonrpc/schema.mcp.ts+76−0src/server/jsonrpc/schema.memory.ts+36−0src/server/jsonrpc/schema.misc.ts+24−0src/server/jsonrpc/schema.provider.ts+83−0src/server/jsonrpc/schema.session.ts+133−0src/server/jsonrpc/schema.shared.ts+13−0src/server/jsonrpc/schema.skills.ts+114−0src/server/jsonrpc/schema.threadTurn.ts+163−0src/server/jsonrpc/schema.ts+75−0src/server/jsonrpc/sessionEventCapture.ts+110−0src/server/jsonrpc/threadReadProjector.ts+215−0src/server/jsonrpc/transportAdapter.ts+369−0src/server/protocol.ts+1−1src/server/session/AgentSession.ts+45−1src/server/session/InteractionManager.ts+11−4src/server/session/SessionSnapshotProjector.ts+25−5src/server/sessionDb.ts+37−0src/server/sessionDb/migrations.ts+7−0src/server/sessionDb/repository.ts+152−1src/server/startServer.ts+494−150src/server/startServer/dispatchClientMessage.agents.ts+27−0src/server/startServer/dispatchClientMessage.mcp.ts+32−0src/server/startServer/dispatchClientMessage.memoryBackups.ts+47−0src/server/startServer/dispatchClientMessage.provider.ts+32−0src/server/startServer/dispatchClientMessage.session.ts+67−0src/server/startServer/dispatchClientMessage.shared.ts+65−0src/server/startServer/dispatchClientMessage.skills.ts+53−0src/server/startServer/dispatchClientMessage.threadTurn.ts+25−0src/server/startServer/dispatchClientMessage.ts+27−194src/server/startServer/threadJournalWriteQueue.ts+34−0src/server/startServer/types.ts+26−0src/server/wsProtocol/negotiation.ts+92−0tasks/lessons.md+14−0tasks/todo.md+256−0test/desktop.controlSocket.configUpdated.test.ts+112−0test/desktop.controlSocket.threadList.test.ts+175−0test/dispatchClientMessage.test.ts+238−0test/jsonrpc.codegen.test.ts+37−0test/jsonrpc.projectors.test.ts+685−0test/jsonrpc.protocol.test.ts+125−0test/jsonrpc.router.test.ts+473−0test/jsonrpc.routes.review-fixes.test.ts+614−0test/jsonrpc.thread-read-projector.test.ts+500−0test/jsonrpcSocket.runtime.test.ts+534−0test/mcp.remote.grep.test.ts+112−16test/runtime.selection.test.ts+21−19test/server.jsonrpc.control.test.ts+465−0test/server.jsonrpc.flow.test.ts+1042−0test/server.jsonrpc.test.ts+293−0test/session-db.test.ts+180−0test/sessionSnapshotProjector.test.ts+103−0test/threadJournalWriteQueue.test.ts+147−0test/ws-protocol-negotiation.test.ts+122−0test_ws.ts+0−55