- Replace single Dialog with Pane + Tabs (Skills/Agents/Commands/MCP)
- Add search box activated by '/' key
- Display score with k-formatting (e.g. 1.5k) and source label
- Add cloud subscription hint with store URL at top
- Add space/enter toggle hint at bottom
- Support experienceScore field with fallback to score/favoriteCount
- Remove All tab, default to Skills
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Auto-memory files are now synced to the cloud via /api/memories endpoint.
On startup, a full scan uploads new/changed files. A file watcher handles
incremental changes with 10s debounce. A process lock ensures only one
watcher per project. Disabled via DISABLE_MEMORY_CLOUD_SYNC=1.
Co-Authored-By: CoStrict-DeepSeek-V4-Pro <deepseek-ai@claude-code-best.win>
Optimized the spawn call to match direct cs-cloud execution performance:
- Use process.env directly instead of spreading (avoids unnecessary copy)
- Explicitly disable shell to avoid overhead
- Removed debug timestamp logging for cleaner output
The spawn performance now matches direct cs-cloud binary execution.
Co-Authored-By: claude-sonnet-4-6 <noreply@anthropic.com>
Changed the command execution logging from stderr debug message to stdout info message for better user experience.
- console.error -> console.log
- Removed [DEBUG] prefix
- Cleaner "Executing:" format
Co-Authored-By: claude-sonnet-4-6 <noreply@anthropic.com>
Added debug logging to print the exact cs-cloud command being executed.
This helps verify that arguments are passed correctly when debugging cloud hang issues.
Co-Authored-By: claude-sonnet-4-6 <noreply@anthropic.com>
Fixed the root cause of Linux csc cloud commands hanging by addressing spawn() call issues, not network/permission problems:
- Changed stdio from "inherit" to ["ignore", "inherit", "inherit"] to close stdin and prevent blocking
- Removed duplicate ensureCsCloud() call that was unnecessary since runCsCloud already calls it
- Added disconnect event handler for better error handling
- Added explicit detached: false option
The real issue was that stdin inheritance caused the spawn call to block on Linux, even when the cs-cloud binary already existed and worked fine when called directly.
Co-Authored-By: claude-sonnet-4-6 <noreply@anthropic.com>
Remove mainPartID/mainMessageID from SubagentToolState. Emit
message.part.updated with random id and callID for task progress,
so consumer can match by callID when part IDs differ after tab switch.
All auxiliary requests (session memory, extract memories, side queries,
forked agents) now resolve to the model with the lowest creditConsumption
from the /v1/models list when using the CoStrict provider, instead of
falling back to the main conversation model.
- Add getCheapestCoStrictModel() to select cheapest model from cached list
- Resolve haiku-family models to cheapest model in resolveCoStrictModel
- Change getSmallFastModel() for CoStrict to return haiku alias
- Fix sideQuery() to respect opts.model with known-model validation
- Override mainLoopModel in SessionMemory and extractMemories forked agents
- Use getSmallFastModel() for findRelevantMemories under CoStrict
Co-Authored-By: CoStrict-DeepSeek-V4-Pro <deepseek-ai@claude-code-best.win>
The /global/favorite/skills GET route was hardcoded to list only
skill-type favorites, causing cloud hub to show Cloud status for
non-skill favorites (agent, command, mcp) even after they were
loaded locally.
Now it reads the optional type query parameter and passes it to
listFavoriteItems, matching the opencode server behavior.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
CoStrict DeepSeek-V4-Pro returns thinking content in `delta.reasoning`
(string) and `delta.reasoning_details` (array) instead of the standard
`delta.reasoning_content` field. Add extractReasoning() with priority
fallback so all three formats are mapped to Anthropic thinking blocks.
Co-Authored-By: Auto <noreply@anthropic.com>
Include parent commit hashes in raw dump commit reporting.
- git log format now includes %P (parent hashes)
- parseCommitLog extracts parent_ids as string array
- CommitPayload type extended with parent_ids field
- merge commits may have multiple parents
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>