Skip to content

Dev#924

Open
JegernOUTT wants to merge 176 commits intomainfrom
dev
Open

Dev#924
JegernOUTT wants to merge 176 commits intomainfrom
dev

Conversation

@JegernOUTT
Copy link
Member

No description provided.

- Implement `/v1/model-catalog` API endpoint for Refact cloud
- Add `startup_refresh_and_sync` trait for providers to fetch live model lists and persist config
- RefactProvider: fetch running models/pricing from catalog, save to `providers.d/refact.yaml`
- ClaudeCode/OpenAICodex: auto-refresh OAuth tokens near expiry, persist to YAML
- Update model configs for new Gemini 3.x models and GPT-5.3-codex
- Switch providers to `ModelSource::Api`, remove static caps fallback logic
- Add YAML config loading for refact provider overrides during registry init
feat(markdown): add Mermaid and SVG diagram rendering with toggle/copy UI

fix(sse): distinguish buffered vs total bytes for accurate flush caps

fix(sse): fix lagged recovery seq monotonicity with re-subscribe-before-snapshot

feat(queued): add full content to QueuedItem for editing workflows

perf(sse): improve stream delta merging with precise pending byte tracking

fix(cef): improve JCEF render process crash recovery and health checks

refactor(chat): add closed_flag atomic for efficient SSE heartbeat checks

style(chat): make queued messages editable with click/keyboard support

chore(deps): add mermaid, dompurify for diagram support
Introduce `%RICH_CONTENT_INSTRUCTIONS%` snippet explaining rich fenced code
blocks and update all default modes to schema v8+ with instructions included.

Add frontend support for:
- `html` blocks → interactive ArtifactBlock with live preview, source toggle,
  error handling, auto-resize, download/open-in-tab
- Pass `isStreaming` prop through Markdown components
- Update ShikiCodeBlock to route special blocks correctly

BREAKING CHANGE: Mode schema versions incremented (7→8, 8→9, etc.)
Introduce complete dashboard UI with:
- Responsive stats strip (sparkline, token donut, success gauge, model bars)
- Open tabs section with todo progress visualization
- Expandable recent history with search, date grouping, and dot trail
- Responsive layout (narrow/medium/wide breakpoints)
- Bottom navigation bar

Replaces Sidebar component on history page with interactive dashboard.

Integrates with existing history tree, chat tabs, and stats API.
- Remove `project_summary.yaml` and `project_summary_chat.rs`
- Add `setup.yaml` mode for full project onboarding (AGENTS.md, integrations, tools, knowledge)
- Add SetupBanner UI component with setup status API
- Update mode mappings, links, prompts, and tests for new "setup" flow
- Add .refact dir change detection for registry cache invalidation
…cycle events by logging their occurrence but ignoring them (as content is streamed via deltas). Added tests to ensure no delta processing for these events.

- Removed handling of unnecessary deltas for reasoning summary part completion.
- Remove project_summary.yaml from system context file patterns
- Eliminate %PROJECT_SUMMARY% placeholder processing and related code
- Update setup status API to check knowledge/trajectories dirs instead
- Remove project_summary.yaml references from setup mode instructions
- Bump schema versions across all modes
- Add dismissible banner to SetupBanner with localStorage persistence
- Update setup status TypeScript types to match new API response
- Filter empty strings from task/card ID extraction in task board tools
- Normalize text-only multimodal content to string for OpenAI Chat Completions (assistant/tool messages)
- Pass through `strict` flag in tool definitions for Responses API compatibility
- Skip tool-initiated state transitions on tool failures to allow LLM retry

Add comprehensive tests for multimodal serialization and tool conversion behaviors.
- Add hierarchical tree view with expand/collapse chevrons in RecentItem
- Support nested rendering with dynamic indentation based on depth
- Improve loading states with initial skeleton placeholders
- Replace emoji icons with Radix UI icons in navbar and open section
- Enhance stats strip with better compact loading and success rate display
- Fix minor CSS layout issues and scroll behavior
- Add hierarchical tree view with expand/collapse chevrons in RecentItem
- Implement nested rendering with dynamic indentation based on depth
- Add Virtuoso virtualization for performant scrolling of large histories
- Enhance StatsStrip with responsive layouts, project pulse, and provider stats
- Add TasksSection for active task monitoring with click-to-open support
- Improve loading states with skeleton placeholders throughout
- Replace emoji icons with Radix UI icons in navbar and action buttons
- Add new chat/task quick actions and DotTrail hover tooltips
- Fix CSS layout issues and scroll behavior across components
- Add hierarchical tree view with expand/collapse chevrons in RecentItem
- Implement nested rendering with dynamic indentation based on depth
- Add Virtuoso virtualization for performant scrolling of large histories
- Enhance StatsStrip with responsive layouts, project pulse, and provider stats
- Add TasksSection for active task monitoring with click-to-open support
- Improve loading states with skeleton placeholders throughout
- Replace emoji icons with Radix UI icons in navbar and action buttons
- Add new chat/task quick actions and DotTrail hover tooltips
- Fix CSS layout issues and scroll behavior across components
- Add hierarchical tree view with expand/collapse chevrons in RecentItem
- Implement nested rendering with dynamic indentation based on depth
- Add Virtuoso virtualization for performant scrolling of large histories
- Enhance StatsStrip with responsive layouts, project pulse, and provider stats
- Add TasksSection for active task monitoring with click-to-open support
- Add ModelsSection showing default model configuration
- Improve loading states with skeleton placeholders throughout
- Replace emoji icons with Radix UI icons in navbar and action buttons
- Add new chat/task quick actions and DotTrail hover tooltips
- Fix CSS layout issues and scroll behavior across components
- Add hierarchical tree view with expand/collapse chevrons in RecentItem
- Implement nested rendering with dynamic indentation based on depth
- Add Virtuoso virtualization for performant scrolling of large histories
- Enhance StatsStrip with responsive layouts, project pulse, and provider stats
- Add TasksSection for active task monitoring with click-to-open support
- Add ModelsSection showing default model configuration
- Improve loading states with skeleton placeholders throughout
- Replace emoji icons with Radix UI icons in navbar and action buttons
- Add new chat/task quick actions and DotTrail hover tooltips
- Fix CSS layout issues and scroll behavior across components
- Filter providers to count only enabled ones in StatsStrip
- Update UI labels from "providers" to "active providers"
- Move TasksSection after CollapsibleSection with divider for better layout flow
- Replace IconButton + Tooltip with styled button showing "New Task" label
- Add hover, focus, and disabled states via CSS
- Remove unused Chevron icons import

The diff shows TasksSection button improvements, not provider counting or reordering.
- Add MiniDonut component for compact circular data visualization
- Replace text-based stats with MiniDonut + list layout in PROJECT PULSE
- Improve TasksSection: remove expand/collapse, show all tasks, simplify header
- Add failed cards and base branch display in task list
- Enhance scrolling with virtualization and thin scrollbar
- Remove unused Chevron icons import
- Update MCP integration to new rmcp SDK (streamable HTTP transport, new param types)
- Replace message_id-based skill compaction with index-based (more reliable after restarts)
- Add SkillActivatedCard UI for skill context display (name, tools, model, body)
- Skip pure activate_skill tool_calls in chat rendering
- Add provider quota monitoring (Claude Code 5h/weekly, OpenAI Codex rate limits)
- Dashboard: collapsible sections + resizable chats/tasks split
- MCP tool responses: truncate to 200KB to prevent context explosion
- Various MCP API updates (GetPromptRequestParams, ReadResourceRequestParams, etc)

Includes extensive tests for skill compaction, auth flows, and MCP handlers.
Replace inefficient shutdown polling loops with direct flag checks at
loop starts and integrate into tokio::select! patterns for proper
stream termination in VecDB, AST indexer, and HTTP streaming endpoints.
Introduce `compress_chat_probe/apply` tools for selective chat history
compression (context files, tool outputs, memories, dedup) and
`handoff_to_mode` for creating specialized child chats.

Add token budget warnings every 6 exchanges when approaching context
limit. Enhance dashboard with setup actions for project skills/agents/
commands/MCPs/subagents. Improve SSE subscription prioritization and
Mermaid diagram zoom/pan.

Fixes #chat-compression #mode-handoff #token-budget
- Return shutdown flag Arc instead of false in MCP reconnect when context unavailable
- Replace `starts_with("http")` with `contains("://")` for robust URL detection
- Add `args_from_env: vec![]` to all InstallRecipe initializations
- Increase Node.js memory limit in GUI build workflow

Fixes incomplete struct initialization and improves URL parsing reliability.
Update version across all components:
- IntelliJ plugin (gradle.properties)
- refact-chat-js (package.json, package-lock.json)
- VSCode extension (package.json + dependency)
- refact-lsp engine (Cargo.toml)

Add update-dependencies.sh script for IntelliJ plugin to automate GUI
build and LSP binary bundling.
Move unix::fs::PermissionsExt import inside #[cfg(unix)] block and add
no-op #[cfg(windows)] implementation since Windows doesn't require
explicit execute permissions.

Also add skipLibCheck to VSCode tsconfig for build compatibility.
… resolution

- Move unix::fs::PermissionsExt import inside #[cfg(unix)] block
- Add no-op #[cfg(windows)] implementation for make_executable
- Use which::which for cross-platform claude binary detection
- Add Windows-specific claude.exe path in claude_code provider
- Update tests with platform-specific .exe extensions and skip case-sensitive test on Windows
- Improve is_local_source with Path::is_absolute check
- Add skipLibCheck to VSCode tsconfig for build compatibility
…sage

- Add 8GB swap space for Linux cross-compilation to handle LTO memory needs
- Limit CARGO_BUILD_JOBS to 2 to reduce peak RAM usage during whisper-rs LTO builds
- Applied to both agent_engine_build.yml and agent_engine_release.yml workflows
Replace `fallocate` with `dd if=/dev/zero` (8GB total) and add cleanup
steps to ensure consistent swap file creation across CI runs.

Applied to both agent_engine_build.yml and agent_engine_release.yml.
Add `skill_md_exists_case_sensitive` helper to properly check for
"SKILL.md" (uppercase) instead of case-insensitive filesystem check.

build(gui): increase Node.js memory limit to 8GB

Prevent build OOM errors during TypeScript compilation and Vite builds
by setting NODE_OPTIONS=--max-old-space-size=8192.
Improve skill deactivation cleanup to preserve activation tool messages
while compacting skill conversation history. Add `activation_tool_call_id`
to `ActiveCommandContext` and `PendingSkillDeactivation` for exact matching.

Enhance OpenAI/Anthropic adapters to use top-level `cache_control`
for OpenRouter Anthropic models (avoids block-level churn).

Simplify UI badges by removing explicit colors (use theme defaults).
Update setup mode YAMLs with refined principles/workflows.
Add comprehensive skill compaction tests.

Includes minor CSS/UX polish (SkillActivatedCard border, MCPOAuth expiry).
Remove linearize.rs module and its usage from chat preparation pipeline.

The linearization logic (merging consecutive user-like messages,
folding tool-appendable content into tool/diff messages) is no longer
needed as the underlying message processing has evolved. This
simplifies the chat preparation flow while preserving cache hits
through other mechanisms.

Includes minor fixes:
- gui: fix coin display logic in UsageCounter
- queue: handle null boost_reasoning in patches
- caps: add Default impl for CodeAssistantCaps
- session: improve skill deactivation compaction
- cache_guard: strict tools array equality for cache invalidation
- other: snapshot param handling, tool sorting, vecdb scope filtering
…ed rendering

Add `render_extra` module with canonical text rendering for context_file,
plain_text, and cd_instruction roles. Update OpenAI, Anthropic, Refact, and
Responses adapters to:

- Fold context into matching tool results by tool_call_id (with fallback)
- Buffer unmatched context + tool images for next user message
- Preserve message ordering without extra user turns
- Support images in tool results (deferred to user content)

Fixes server-executed tool filtering logic.
Introduce MCP lazy mode when >15 MCP tools are available:
- Replace all individual MCP schemas with 2 fixed proxy tools
  - `mcp_tool_search`: regex search MCP tools, returns schema text
  - `mcp_call`: execute any MCP tool by exact name + args
- Inject session hint with MCP tool index (name:description)
- Cache-safe: tool list fixed for entire session lifetime

Update marketplace index to 120 tools. Minor fixes to Mermaid error handling.
…e lazy loading

- Add `match_against_confirm_deny` to `ToolMcpCall` to proxy confirmation checks
  to underlying MCP tools before execution, enabling normal pause/deny flow
- Disable parallel execution for `mcp_call` and add input validation for `args`
- Filter disabled MCP tools from `mcp_search` results
- Enhance MCP lazy loading with `is_integration_mcp_tool` helper to exclude
  proxy builtins (`mcp_call`, `mcp_search`) from filtering logic, making it
  idempotent and cache-safe
- Apply lazy filter consistently in chat tool handling
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant