Merge branch 'codex/transition-to-electron'
8 months ago
180 files changed
- .github/workflows/ci.yml+119−0
- .gitignore+1−4
- AGENTS.md+5−1
- Cowork_Agent_PRD.md+210−1053
- GEMINI.md+67−0
- README.md+36−0
- apps/desktop/.gitignore+27−0
- apps/desktop/.vscode/extensions.json+3−0
apps/desktop/AGENTS.md
+101
−0
apps/desktop/GEMINI.md+32−0apps/desktop/README.md+21−0apps/desktop/build/icon.icns——apps/desktop/build/icon.ico——apps/desktop/build/icon.png——apps/desktop/bun.lock+1315−0apps/desktop/electron-builder.yml+22−0apps/desktop/electron.vite.config.ts+56−0apps/desktop/electron/ipc.ts+105−0apps/desktop/electron/main.ts+68−0apps/desktop/electron/preload.ts+30−0apps/desktop/electron/services/persistence.ts+171−0apps/desktop/electron/services/serverManager.ts+334−0apps/desktop/electron/services/validation.ts+43−0apps/desktop/index.html+20−0apps/desktop/package.json+37−0apps/desktop/public/tauri.svg+6−0apps/desktop/public/vite.svg+1−0apps/desktop/src/App.tsx+254−0apps/desktop/src/app/store.ts+2365−0apps/desktop/src/app/types.ts+161−0apps/desktop/src/assets/react.svg+1−0apps/desktop/src/lib/agentSocket.ts+3−0apps/desktop/src/lib/desktopApi.ts+50−0apps/desktop/src/lib/desktopCommands.ts+59−0apps/desktop/src/lib/modelChoices.ts+10−0apps/desktop/src/lib/time.ts+23−0apps/desktop/src/lib/wsProtocol.ts+24−0apps/desktop/src/main.tsx+10−0apps/desktop/src/styles.css+3026−0apps/desktop/src/ui/ChatView.tsx+668−0apps/desktop/src/ui/CheckpointsModal.tsx+187−0apps/desktop/src/ui/PromptModal.tsx+119−0apps/desktop/src/ui/Sidebar.tsx+344−0apps/desktop/src/ui/SkillsView.tsx+285−0apps/desktop/src/ui/settings/SettingsShell.tsx+54−0apps/desktop/src/ui/settings/components.tsx+36−0apps/desktop/src/ui/settings/pages/ProvidersPage.tsx+313−0apps/desktop/src/ui/settings/pages/SessionsPage.tsx+72−0apps/desktop/src/ui/settings/pages/WorkspacesPage.tsx+204−0apps/desktop/src/ui/settings/sessionSelectors.ts+9−0apps/desktop/src/ui/sidebarSelectors.ts+9−0apps/desktop/src/vite-env.d.ts+9−0apps/desktop/test/protocol-v2-events.test.ts+155−0apps/desktop/test/settings-nav.test.ts+200−0apps/desktop/test/thread-archive.test.ts+105−0apps/desktop/tsconfig.json+28−0apps/desktop/tsconfig.node.json+15−0apps/portal/.gitignore+2−0apps/portal/app/api/observability/query/route.ts+43−0apps/portal/app/api/observability/snapshot/route.ts+14−0apps/portal/app/api/runs/detail/route.ts+25−0apps/portal/app/api/runs/route.ts+18−0apps/portal/app/api/stream/runs/route.ts+101−0apps/portal/app/globals.css+508−0apps/portal/app/layout.tsx+16−0apps/portal/app/page.tsx+5−0apps/portal/bun.lock+138−0apps/portal/components/dashboard.tsx+687−0apps/portal/lib/harness.ts+421−0apps/portal/lib/observability.ts+465−0apps/portal/next-env.d.ts+5−0apps/portal/next.config.ts+9−0apps/portal/package.json+22−0apps/portal/tsconfig.json+24−0bun.lock+14−1config/defaults.json+16−3config/observability/docker-compose.yml+32−0config/observability/vector/vector.toml+55−0docs/harness/context.md+27−0docs/harness/index.md+13−0docs/harness/observability.md+36−0docs/harness/runbook.md+935−0docs/harness/slo.md+32−0docs/websocket-protocol.md+537−27package.json+14−0prompts/system-models/.research/anthropic-guide.md+317−0prompts/system-models/.research/google-guide.md+367−0prompts/system-models/.research/openai-guide.md+352−0prompts/system-models/claude-4-5-haiku.md+588−0prompts/system-models/claude-4-6-opus.md+567−0prompts/system-models/gemini-3-flash-preview.md+441−0prompts/system-models/gemini-3-pro-preview.md+685−0prompts/system-models/gpt-5.2.md+740−0prompts/system.md+10−9scripts/build_desktop_resources.ts+158−0scripts/check_docs.ts+77−0scripts/harness_smoke.ts+170−0scripts/observability_stack.ts+146−0scripts/run_raw_agent_loops.ts+1674−0src/agent.ts+39−12src/cli/repl.ts+63−13src/client/agentSocket.ts+270−0src/client/index.ts+2−0src/config.ts+69−0src/connect.ts+111−2src/harness/contextStore.ts+42−0src/mcp/index.ts+14−3src/observability/otel.ts+139−0src/observability/query.ts+191−0src/observability/runtime.ts+141−0src/observability/slo.ts+196−0src/prompt.ts+115−3src/providerStatus.ts+719−0src/providers/anthropic.ts+0−1src/providers/catalog.ts+54−0src/providers/claude-code.ts+0−1src/providers/codex-cli.ts+0−1src/providers/gemini-cli-options.ts+57−0src/providers/gemini-cli.ts+1−55src/providers/google.ts+0−1src/providers/index.ts+36−7src/providers/openai.ts+0−1src/providers/providerOptions.ts+1−1src/server/index.ts+25−7src/server/protocol.ts+312−24src/server/session.ts+497−43src/server/sessionBackup.ts+278−26src/server/startServer.ts+107−5src/skills/index.ts+223−24src/tools/bash.ts+59−20src/tools/context.ts+6−0src/tools/edit.ts+8−9src/tools/glob.ts+37−2src/tools/grep.ts+32−6src/tools/notebookEdit.ts+12−8src/tools/read.ts+6−1src/tools/skill.ts+20−5src/tools/spawnAgent.ts+35−12src/tools/webFetch.ts+74−5src/tools/webSearch.ts+70−33src/tools/write.ts+8−9src/tui/index.tsx+332−15src/types.ts+155−1src/utils/approval.ts+145−10src/utils/permissions.ts+111−1src/utils/ripgrep.ts+338−0src/utils/webSafety.ts+176−0test/agent.remote-mcp.grep.test.ts+4−4test/agent.test.ts+33−33test/approval.test.ts+180−16test/config.test.ts+11−27test/connect.test.ts+6−4test/harness-context-store.test.ts+154−0test/mcp.test.ts+58−0test/observability.otel-extended.test.ts+296−0test/observability.otel.test.ts+145−0test/observability.query-extended.test.ts+356−0test/observability.runtime.test.ts+156−0test/observability.slo-extended.test.ts+338−0test/observability.slo.test.ts+292−0test/paths.test.ts+16−15test/permissions.test.ts+74−5test/portal.harness.test.ts+65−0test/portal.observability-endpoints.test.ts+98−0test/prompt.test.ts+66−0test/protocol.test.ts+366−9test/providerStatus.test.ts+182−0test/providers/codex-cli.test.ts+14−11test/providers/cross-provider.test.ts+24−8test/providers/provider-options.test.ts+6−6test/repl.test.ts+9−77test/server.connect.test.ts+2−0test/server.test.ts+314−0test/session.test.ts+453−0test/skills.test.ts+9−9test/spawnAgent.tool.test.ts+36−12test/tools.test.ts+483−65test/types.test.ts+171−0test/webSafety.test.ts+96−0tmp/skill_spreadsheet_tool_output.txt+122−0