Merge pull request #31 from mweinbach/codex/add-openai-compaction-support
8 months ago
133 files changed
- .github/workflows/ci.yml+0−3
- AGENTS.md+0−1
- CONTRIBUTING.md+2−4
- README.md+3−14
- apps/TUI/context/sync.tsx+3−1
- apps/TUI/context/syncEventReducer.ts+3−0
- apps/desktop/README.md+1−1
- apps/desktop/electron/services/persistence.ts+3−0
apps/desktop/electron/services/serverManager.ts+89−19apps/desktop/electron/services/validation.ts+3−2apps/desktop/src/app/modelStream.ts+10−0apps/desktop/src/app/persistedProviderState.ts+102−0apps/desktop/src/app/store.actions/bootstrap.ts+7−1apps/desktop/src/app/store.actions/provider.ts+42−1apps/desktop/src/app/store.actions/workspace.ts+8−2apps/desktop/src/app/store.feedMapping.ts+95−17apps/desktop/src/app/store.helpers.ts+20−4apps/desktop/src/app/store.helpers/controlSocket.ts+6−3apps/desktop/src/app/store.helpers/persistence.ts+19−14apps/desktop/src/app/store.helpers/runtimeState.ts+18−1apps/desktop/src/app/store.helpers/threadEventReducer.ts+60−9apps/desktop/src/app/types.ts+8−0apps/desktop/src/components/ai-elements/reasoning.tsx+72−6apps/desktop/src/components/ai-elements/tool.tsx+68−8apps/desktop/src/lib/wsProtocol.ts+5−5apps/desktop/src/ui/ChatView.tsx+13−5apps/desktop/src/ui/chat/ActivityGroupCard.tsx+60−164apps/desktop/src/ui/chat/activityGroups.ts+78−13apps/desktop/src/ui/chat/toolCards/ToolCard.tsx+70−25apps/desktop/src/ui/settings/pages/ProvidersPage.tsx+135−9apps/desktop/test/chat-activity-group-card.test.tsx+172−0apps/desktop/test/chat-activity-groups.test.ts+93−11apps/desktop/test/persistence-state-sanitization.test.ts+54−0apps/desktop/test/protocol-v2-events.test.ts+181−1apps/desktop/test/providers-page.test.ts+158−1apps/desktop/test/renderer-url.test.ts+1−1apps/desktop/test/server-manager.test.ts+30−1apps/desktop/test/store-feed-mapping.test.ts+510−0apps/desktop/test/thread-reconnect.test.ts+1−0apps/desktop/test/workspace-settings-sync.test.ts+46−0apps/desktop/test/workspace-startup.test.ts+224−0apps/desktop/test/ws-protocol-parse.test.ts+11−0apps/portal/.gitignore+0−2apps/portal/app/api/runs/detail/route.ts+0−25apps/portal/app/api/runs/route.ts+0−18apps/portal/app/api/stream/runs/route.ts+0−101apps/portal/app/globals.css+0−403apps/portal/app/layout.tsx+0−16apps/portal/app/page.tsx+0−5apps/portal/bun.lock+0−138apps/portal/components/dashboard.tsx+0−566apps/portal/lib/harness.ts+0−422apps/portal/next-env.d.ts+0−5apps/portal/next.config.ts+0−9apps/portal/package.json+0−22apps/portal/tsconfig.json+0−24bun.lock+27−28docs/architecture.md+2−10docs/harness/runbook.md+0−11docs/websocket-protocol.md+236−12package.json+10−12src/agent.ts+13−0src/cli/repl.ts+32−0src/cli/repl/serverEventHandler.ts+7−1src/client/modelStream.ts+14−3src/client/modelStreamReplay.ts+117−0src/connect.ts+78−73src/providerStatus.ts+191−41src/providers/authRegistry.ts+30−2src/providers/codex-auth.ts+24−29src/providers/codex-cli.ts+1−1src/providers/codex-oauth-flows.ts+69−21src/providers/connectionCatalog.ts+6−1src/providers/modelAdapter.ts+2−2src/runtime/index.ts+4−0src/runtime/openaiEventStream.ts+75−0src/runtime/openaiNativeResponses.ts+402−0src/runtime/openaiResponsesProjector.ts+311−0src/runtime/openaiResponsesRuntime.ts+201−0src/runtime/openaiResponsesShared.ts+340−0src/runtime/piMessageBridge.ts+27−5src/runtime/piRuntime.ts+141−109src/runtime/piRuntimeOptions.ts+9−0src/runtime/piStreamParts.ts+124−0src/runtime/types.ts+10−0src/server/modelStream.ts+34−3src/server/protocol.ts+32−2src/server/protocolEventParser.ts+45−0src/server/protocolParser.ts+34−0src/server/session/AgentSession.ts+109−1src/server/session/ProviderAuthManager.ts+116−1src/server/session/SessionAdminManager.ts+51−1src/server/session/SessionContext.ts+34−0src/server/session/SessionSnapshotBuilder.ts+9−1src/server/session/TurnExecutionManager.ts+194−61src/server/sessionDb.ts+35−0src/server/sessionDb/mappers.ts+49−0src/server/sessionDb/migrations.ts+27−1src/server/sessionDb/repository.ts+203−6src/server/sessionStore.ts+203−2src/server/startServer.ts+235−25src/server/startServer/dispatchClientMessage.ts+6−0src/shared/openaiContinuation.ts+37−0src/shared/persistentSubagents.ts+38−0src/store/connections.ts+2−1src/tools/context.ts+20−0src/tools/index.ts+22−3src/tools/persistentAgents.ts+79−0tasks/lessons.md+17−0tasks/todo.md+458−0test/agentSocket.parse.test.ts+34−0test/connect.test.ts+165−50test/modelStreamReplay.test.ts+77−0test/persistentAgents.tool.test.ts+167−0test/portal.harness.test.ts+0−65test/protocol.test.ts+53−0test/providerStatus.test.ts+159−45test/providers/auth-registry.test.ts+20−1test/providers/codex-auth.test.ts+6−28test/providers/codex-cli.test.ts+26−15test/providers/codex-oauth-flows.test.ts+114−0test/providers/connection-catalog.test.ts+36−0test/providers/saved-keys.test.ts+24−2test/runtime.openai-responses-runtime.test.ts+514−0test/runtime.pi-message-bridge.test.ts+35−0test/runtime.pi-options.test.ts+10−0test/runtime.pi-runtime.test.ts+28−0test/server.test.ts+274−0test/session-db-mappers.test.ts+49−1test/session-db.test.ts+165−0test/session-store.test.ts+80−3test/session.stream-pipeline.test.ts+40−0test/session.test.ts+316−1