Feat/open file viewer - #721
Open
mrytsr wants to merge 40 commits into
Open
Conversation
Project a resolved conversation model selection into an agent process at spawn via env-only injection (Claude Code, Gemini, Grok, DeepSeek, CodeBuddy, Kimi Code completions) or an empty per-conversation session workspace (Codex, Pi, OpenCode, Cline, Hermes, Kimi Code other API families). Never writes the user's real config files: workspace configs live under <data_dir>/model-provider/<agent>/<conversation>/ with 0600 secret files, are reused on resume, and are removed when the conversation is deleted. The config fingerprint folds in the projected workspace so content changes flag running sessions stale.
- Implement the four API-family network probes: list models from openai-completions / openai-responses / anthropic-messages / google-generative-ai endpoints with the family's auth convention (Bearer/x-api-key+version/x-goog-api-key), and a minimal chat test request that returns the model's reply. Verified against local mock HTTP servers so no live credentials are needed. - Project a provider-level proxy into the session launch env (HTTP(S)_PROXY/ALL_PROXY in both casings) for every adapter. - Add tests: builtin clone suffixing/dedup, concurrent locked writes never corrupt models.json, corrupt catalog fails launch loudly, and proxy projection semantics.
…er-compatible-mode # Conflicts: # src-tauri/src/acp/antigravity_login.rs # src-tauri/src/acp/delegation/listener.rs # src-tauri/src/commands/backup/core.rs # src-tauri/src/commands/backup/external.rs # src-tauri/src/commands/backup/restore.rs # src-tauri/src/db/migration/mod.rs # src-tauri/src/db/service/work_task_service.rs # src-tauri/src/forge/deliver.rs # src-tauri/src/web/handlers/backup.rs # src-tauri/src/web/handlers/canvas.rs # src-tauri/tests/api_integration.rs # src/components/chat/message-input.test.tsx # src/contexts/workspace-context.tsx # src/i18n/messages/ar.json # src/i18n/messages/de.json # src/i18n/messages/en.json # src/i18n/messages/es.json # src/i18n/messages/fr.json # src/i18n/messages/ja.json # src/i18n/messages/ko.json # src/i18n/messages/pt.json # src/i18n/messages/zh-CN.json # src/i18n/messages/zh-TW.json
…ible-mode # Conflicts: # src-tauri/src/acp/antigravity_login.rs # src-tauri/src/commands/model_provider_launch.rs # src-tauri/src/commands/session_info.rs # src-tauri/src/db/migration/mod.rs # src-tauri/src/db/service/work_task_service.rs # src-tauri/src/web/handlers/canvas.rs # src-tauri/src/work_task/engine.rs # src-tauri/tests/api_integration.rs # src/components/chat/message-input.test.tsx # src/components/chat/model-provider-picker.test.tsx # src/components/chat/model-provider-picker.tsx # src/components/conversations/conversation-detail-panel.tsx # src/contexts/workspace-context.tsx # src/i18n/messages/ar.json # src/i18n/messages/de.json # src/i18n/messages/en.json # src/i18n/messages/es.json # src/i18n/messages/fr.json # src/i18n/messages/ja.json # src/i18n/messages/ko.json # src/i18n/messages/pt.json # src/i18n/messages/zh-CN.json # src/i18n/messages/zh-TW.json # src/lib/apply-conversation-model-selection.test.ts # src/lib/apply-conversation-model-selection.ts # src/stores/model-provider-selection-store.test.ts # src/stores/model-provider-selection-store.ts
Restore the boolean-returning closeAllFileTabs and the useBrowserBackWindow integration (import + call) that the provider-compatible-mode merge left as unresolved conflict markers, breaking compilation. File now matches mine.
…ndow - kimi_code: read wire.jsonl tail for turn failure evidence so empty turns report WHY the model call failed (provider 400s never cross ACP) - model_provider_launch: lower KIMI_DEFAULT_MAX_CONTEXT_SIZE 256K->128K; kimi derives max_completion_tokens from it and providers like ARK reject oversized values with a silent 400 (GLM requests failed) - acp/connection + commands/acp: wire through launch/error handling - model-provider-picker: picker label/test updates, i18n string sync
Short press on a command menu item keeps selecting it (unchanged); a still hold of 500ms now runs it straight away and closes the menu, on touch and mouse alike. The trailing click after a long press is swallowed so Radix's select-on-click stays out of the way, and the menu switches to controlled open so the run can dismiss it.
The mock factory spreads the call args back into the vi.fn, which TS2556-rejects a zero-arg signature. Give the mock a rest signature so tsc --noEmit passes again.
# Conflicts: # src-tauri/src/parsers/codex.rs # src-tauri/src/parsers/pi.rs
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
使得文件浏览器支持大部分格式的预览