Home

mweinbach / agent-coworker

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

Fix download reservation and default-reset behaviors (#35)

7 months ago

c03727a
Authored
Max Weinbach3/12/2026, 8:00:11 PM
* Add OpenCode Zen provider

* Add downloads to webFetch

* Update webFetch to use Exa contents

* Add tool output overflow spill files

* Add tool output overflow handling

* Review agent-coworker fixes

* Fix desktop persistence globals

* Limit scratchpad backup exclusions

* Fix webFetch markdown download

* Fix OpenCode Zen endpoint routing

* Address review follow-ups for webFetch and spill previews

- document opencode-go as usage-based and intentionally excluded from local pricing overrides

- prefer saved Exa credentials and harden webFetch download routing, streaming cleanup, and bounded body-less fallbacks

- standardize 5,000-char spill previews across runtime, desktop copy, docs, and regression coverage

* Claim download paths securely

* Fix CI tests with OPENCODE flag

* Fix session_busy cancel test

* Add logging to failing tests

* Fix overflow defaults on dev page

Parent1b7f520

124 files changed
  • .github/workflows/ci.yml+6−1
  • .gitignore+1−0
  • AGENTS.md+6−0
  • README.md+1−1
  • apps/TUI/context/syncTypes.ts+1−0
  • apps/desktop/electron/services/persistence.ts+8−0
  • apps/desktop/src/app/store.actions/bootstrap.ts+9−0
  • apps/desktop/src/app/store.actions/provider.ts+43−1
  • apps/desktop/src/app/store.actions/workspace.ts+1−1
  • apps/desktop/src/app/store.actions/workspaceDefaults.ts+39−14
  • apps/desktop/src/app/store.feedMapping.ts+35−10
  • apps/desktop/src/app/store.helpers.ts+3−1
  • apps/desktop/src/app/store.helpers/controlSocket.ts+1−0
  • apps/desktop/src/app/store.helpers/threadEventReducer.ts+2−1
  • apps/desktop/src/app/types.ts+5−0
  • apps/desktop/src/lib/desktopSchemas.ts+8−0
  • apps/desktop/src/lib/wsProtocol.ts+1−0
  • apps/desktop/src/ui/ChatView.tsx+2−0
  • apps/desktop/src/ui/settings/pages/DeveloperPage.tsx+198−0
  • apps/desktop/src/ui/settings/pages/ProvidersPage.tsx+36−0
  • apps/desktop/src/ui/settings/pages/WorkspacesPage.tsx+2−0
  • apps/desktop/test/desktop-schemas.test.ts+3−0
  • apps/desktop/test/developer-page.test.tsx+396−0
  • apps/desktop/test/persistence-state-sanitization.test.ts+56−0
  • apps/desktop/test/protocol-v2-events.test.ts+24−17
  • apps/desktop/test/providers-page.test.ts+99−0
  • apps/desktop/test/store-feed-mapping.test.ts+146−0
  • apps/desktop/test/workspace-settings-sync.test.ts+206−9
  • apps/desktop/test/workspace-startup.test.ts+1−0
  • bun.lock+14−18
  • config/defaults.json+1−0
  • docs/websocket-protocol.md+73−17
  • prompts/system-models/claude-haiku-4-5.md+4−3
  • prompts/system-models/claude-opus-4-6.md+4−3
  • prompts/system-models/claude-sonnet-4-6.md+4−3
  • prompts/system-models/gemini-3-flash-preview.md+2−2
  • prompts/system-models/gemini-3-pro-preview.md+4−3
  • prompts/system-models/gemini-3.1-pro-preview.md+4−1
  • prompts/system-models/gpt-5.2.md+4−3
  • prompts/system-models/gpt-5.4.md+4−3
  • prompts/system.md+4−3
  • src/client/agentSocket.ts+25−8
  • src/config.ts+32−0
  • src/mcp/oauthProvider.ts+3−2
  • src/providers/authRegistry.ts+49−0
  • src/providers/catalog.ts+15−0
  • src/providers/connectionCatalog.ts+3−0
  • src/providers/index.ts+6−0
  • src/providers/modelAdapter.ts+33−0
  • src/providers/opencode-go.ts+8−0
  • src/providers/opencode-zen.ts+8−0
  • src/providers/opencodeShared.ts+237−0
  • src/runtime/openaiResponsesProjector.ts+3−2
  • src/runtime/piRuntime.ts+79−8
  • src/runtime/piRuntimeOptions.ts+1−1
  • src/runtime/toolOutputOverflow.ts+181−0
  • src/server/protocol.ts+12−1
  • src/server/protocolEventParser.ts+2−0
  • src/server/protocolParser.ts+55−1
  • src/server/session/AgentSession.ts+4−0
  • src/server/session/ProviderAuthManager.ts+99−0
  • src/server/session/SessionContext.ts+5−1
  • src/server/session/SessionMetadataManager.ts+41−0
  • src/server/sessionBackup/fileSystem.ts+26−5
  • src/server/sessionBackup/fingerprint.ts+3−0
  • src/server/sessionBackup/snapshot.ts+7−1
  • src/server/sessionTitleService.ts+2−0
  • src/server/startServer.ts+43−9
  • src/server/startServer/dispatchClientMessage.ts+2−0
  • src/session/pricing.ts+39−0
  • src/shared/persistentSubagents.ts+2−2
  • src/shared/toolOutputOverflow.ts+13−0
  • src/tools/bash.ts+3−4
  • src/tools/exa.ts+165−0
  • src/tools/grep.ts+2−2
  • src/tools/webFetch.ts+592−91
  • src/tools/webSearch.ts+52−97
  • src/types.ts+15−0
  • src/utils/browser.ts+12−1
  • tasks/lessons.md+15−0
  • tasks/todo.md+606−0
  • test/agentSocket.parse.test.ts+45−0
  • test/agentSocket.runtime.test.ts+475−50
  • test/atomicFile.test.ts+98−0
  • test/config.test.ts+35−0
  • test/connect.test.ts+99−0
  • test/decode-client-message.test.ts+47−0
  • test/mcp.oauth-provider.test.ts+77−63
  • test/mcp.remote.grep.test.ts+0−1
  • test/modelStreamReplay.test.ts+101−0
  • test/prompt.test.ts+26−6
  • test/protocol.test.ts+67−0
  • test/providerStatus.test.ts+48−0
  • test/providers/auth-registry.test.ts+270−3
  • test/providers/connection-catalog.test.ts+91−1
  • test/providers/cross-provider.test.ts+10−0
  • test/providers/index.test.ts+44−0
  • test/providers/modelAdapter.test.ts+121−0
  • test/providers/saved-keys.test.ts+124−0
  • test/repl.disconnect-send.test.ts+148−60
  • test/repl.prompt-controller.test.ts+88−0
  • test/repl.restart-failure.test.ts+154−67
  • test/runtime.openai-responses-runtime.test.ts+142−0
  • test/runtime.pi-message-bridge.test.ts+16−0
  • test/runtime.pi-runtime.test.ts+318−0
  • test/runtime.selection.test.ts+20−0
  • test/server.commands.test.ts+51−0
  • test/server.model-stream.test.ts+35−0
  • test/server.test.ts+84−4
  • test/session-backup.test.ts+177−0
  • test/session.stream-pipeline.test.ts+38−0
  • test/session.test.ts+241−19
  • test/session/pricing.test.ts+61−2
  • test/shared/failureDiagnostics.ts+36−0
  • test/shared/openaiCompatibleOptions.test.ts+84−0
  • test/shared/persistentSubagents.test.ts+38−0
  • test/tools.api-keys.test.ts+276−0
  • test/tools.exa.test.ts+198−0
  • test/tools.test.ts+898−121
  • test/tui.model-stream.test.ts+28−4
  • test/tui.socketLifecycle.test.ts+118−0
  • test/tui.syncEventReducer.test.ts+190−0
  • test/types.test.ts+14−2
  • test/utils.browser.test.ts+95−10