Feat/UI optimize 0629#228
Merged
Merged
Conversation
…ring, and code block UX - Integrate highlight.js via rehype-highlight for syntax highlighting with dark/light theme support - Add MermaidBlock component for lazy-loaded Mermaid diagram rendering - Add PlantUMLBlock component for lazy-loaded PlantUML diagram rendering (via @plantuml/core) - Add CodeBlock component with language labels and copy-to-clipboard button - Extract markdown preprocessing utilities (transformOutsideCode, normalizeMathDelimiters, preprocessMentions, preprocessEntityIds, etc.) into shared markdown-utils.ts module - Protect code block content from mention/entity preprocessing corruption - Add 52 unit tests for markdown utility functions covering text transformation, math delimiters, mention preprocessing, entity detection, and diagram content detection Co-authored-by: Cursor <cursoragent@cursor.com>
- Change streamingForSessionRef from Map<string,string> to Map<string,Set<string>> so multiple sessions of the same agent can track streaming state concurrently - Key actBuffers by sessionId instead of convKey to prevent tool activities from leaking between sessions - Remove dead code: api.agents.message(), api.agents.injectMessage(), sse-handler-enhanced.ts - Remove redundant R7 attention heuristic (subset of R1), add decision table - Fix virtualizer overlap: remove measure() call, improve estimateSize - Add useConversationBuffers hook as foundation for buffer management Co-authored-by: Cursor <cursoragent@cursor.com>
- Overhaul all agent role prompts with advanced patterns (security, quality gates, error recovery, state-machine workflows) based on AI tools system prompt analysis - Add Karpathy's agent work principles (Think Before Acting, Simplicity First, Surgical Changes, Goal-Driven Execution, Negotiate Contract, Write to Disk) - Integrate AutoResearch ratchet-loop pattern into developer, AI engineer, and self-evolution workflows - Add dynamic browser fallback in context-engine based on available skills - Enforce subtask contract: task_submit_review rejects if pending subtasks exist - Add subtask_cancel tool so agents can mark inapplicable subtasks - Enhance web-search error hints with browser tool fallback guidance - Create HEARTBEAT.md and POLICIES.md for roles that lacked them Co-authored-by: Cursor <cursoragent@cursor.com>
…ypography, HTML selection - Copy menu: wire i18n, add responsive labels, info button with copy option descriptions - Code/diagram blocks: add rendered/source mode toggle (DiagramToggleBlock + CodeBlock) - Mermaid/PlantUML: fix theme not updating on dark/light mode switch (useSyncExternalStore) - Deliverables: add GitHub-style edit/preview mode with save button and unsaved-changes guard - Typography settings: customizable font family/size/heading scale for HTML copy output - HTML iframe selection: cross-frame postMessage with XPath/CSS selector context for Agent - Backend: add /api/files/write endpoint for in-place file editing Co-authored-by: Cursor <cursoragent@cursor.com>
…ization - Add streaming interactive cards for real-time agent progress feedback - Fix session persistence so Feishu messages appear in Secretary's main session - Pre-install @larksuiteoapi/lark-mcp and optimize npx cold-start (54s → <1s) - Connect global MCP servers in bootAgent (previously only createAgentFromRequest) - Return available_tools list in discover_tools response for correct tool naming - Use tenant_access_token mode to avoid user token configuration complexity - Add feishu-interaction skill template with MCP server config Co-authored-by: Cursor <cursoragent@cursor.com>
… config
The skill.json had unresolved ${FEISHU_APP_ID} placeholders causing
"invalid param" errors on every API call. Now skill declares reuseGlobal: true
and the activator uses globalMcpServers config with real credentials.
Co-authored-by: Cursor <cursoragent@cursor.com>
Previously required integrations.feishu.mcp.enabled === true which was never set by the Web UI. Now injects feishu-lark MCP server into globalMcpServers whenever appId + appSecret are available (from config or env vars), making the tools available to agents at boot. Co-authored-by: Cursor <cursoragent@cursor.com>
…sion error hint - Add startup lock to shared MCP connectServer to prevent duplicate child processes when multiple agents restore concurrently (memory leak fix) - Cap MCP stderr buffer at 20 chunks to prevent unbounded growth - Cap MemoryStore entries at 500 per agent on load - Move cancel button from global header to each processing mailbox item row with confirmation dialog - Add Permission Error Handling section to feishu-interaction SKILL.md instructing agent to surface authorization URLs on scope errors Co-authored-by: Cursor <cursoragent@cursor.com>
…e in scheduler - cancelTask() now auto-pauses scheduleConfig for scheduled tasks - Remove 'cancelled' from scheduler's resettable/fireable states (FSM violation) - Add re-validation in stagger callback to prevent double-fire on startup - Broadcast WebSocket on schedule config changes for real-time frontend sync - Add schedule-specific warning in cancel confirmation dialog - Allow "Run Now" for cancelled scheduled tasks - Update FSM to permit cancelled → in_progress for explicit Run Now Co-authored-by: Cursor <cursoragent@cursor.com>
- Refine CodeBlock and DiagramToggleBlock rendered/source toggle - Fix MermaidBlock and PlantUMLBlock border styling - Auto-expand deliverables edit textarea to match content height - Minor CSS adjustments for code highlight theme Co-authored-by: Cursor <cursoragent@cursor.com>
…apse, mobile - Fix stale selection and scroll position after filter changes - Add active filter indicator bar with clear-all support - Redesign list items: inline relative time, remove status badge/subtitle - Add skeleton loading for detail panel, fade transitions, keyboard nav - Polish group headers, resize handle, filter pill scroll hints - Add team groupBy, remove type groupBy; load all items for non-date groups - Default groups to collapsed with today expanded in date mode - Persist collapse state across groupBy switches - Mobile: collapsible filters, pull-to-refresh, Chat FAB animation - i18n: add relative time keys and new filter/group labels (en + zh-CN) Co-authored-by: Cursor <cursoragent@cursor.com>
- Fix eqeqeq lint errors (!= → !==) in feishu cards and notifier - Add @plantuml/core type declaration and remove unused @ts-expect-error - Increase timeout for agent-manager integration tests under parallel load - Add missing isProcessing/sendMessageStream mocks in api-server tests - Fix feishu handler test to match sendMessageStream API change - Wrap FeishuAdapter server.listen in promise to prevent EADDRINUSE crashes Co-authored-by: Cursor <cursoragent@cursor.com>
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.
No description provided.