icarus
432d84cda5
refactor(sessions): simplify session update API by using form object
...
Remove redundant sessionId parameter from updateSession methods since it's already included in the UpdateSessionForm. This makes the API more consistent and reduces potential for mismatched IDs.
2025-09-19 15:08:53 +08:00
icarus
d3378dcf78
refactor(types): use inferred type for CreateSessionRequest
2025-09-19 14:56:50 +08:00
icarus
f0724af2aa
refactor(agent-modal): move AgentModal component to agent subdirectory
...
Restructure the component organization by moving AgentModal.tsx into a dedicated agent subdirectory under Popups. This improves maintainability by grouping related agent components together.
Update all import paths to reflect the new location. The component functionality remains unchanged.
2025-09-19 14:55:26 +08:00
icarus
f127150ea1
feat(sessions): implement session management ui and state
...
- Rename Container to ButtonContainer for consistency
- Add activeSessionId state to track active sessions per agent
- Implement Sessions and SessionItem components with loading state
- Add session selection and deletion functionality
2025-09-19 14:54:04 +08:00
icarus
b3ef6d4534
feat(i18n): add error messages for session operations
...
Add error messages for session deletion and update failures in all supported languages. Also include a generic delete failure message.
2025-09-19 14:09:05 +08:00
icarus
1ce791d517
feat(AgentsTab): add loading spinner for agents list
...
Show spinner while agents are loading to improve user experience
2025-09-19 14:07:56 +08:00
icarus
3d561ad8e3
refactor(sessions): extract sessions component and update hook to use agentId
...
Move sessions rendering logic to a separate component and modify useSessions hook to work with agentId instead of full agent entity. This improves code organization and simplifies the hook interface.
2025-09-19 14:07:23 +08:00
icarus
14509d1077
feat(hooks): add useAgent hook for managing agent state and updates
2025-09-19 14:07:03 +08:00
icarus
a424e3a039
feat(agents): add success toast notifications for agent operations
2025-09-19 13:32:16 +08:00
icarus
eaa5ec5545
refactor(agents): remove unused useRemoveAgent hook and use deleteAgent from useAgents
2025-09-19 13:30:50 +08:00
icarus
5850e5da66
refactor(AgentItem): simplify component structure and remove unused logger
...
- Remove Button wrapper from AgentLabel component
- Replace div container with Button component for better semantics
- Clean up unused logger service and related click handler
2025-09-19 13:28:36 +08:00
icarus
eb3ff6f570
fix(agents): convert null values to undefined in database responses
...
Ensure type consistency by converting null values from database to undefined as specified in type definitions
2025-09-19 13:14:20 +08:00
icarus
445528aff7
refactor(agent): replace interface with zod schema for message request
...
Add createMessage method to AgentApiClient to handle posting messages to sessions
2025-09-19 12:58:14 +08:00
icarus
1c19e529ac
Merge branch 'feat/agents-new' of github.com:CherryHQ/cherry-studio into feat/agents-new
2025-09-19 12:51:08 +08:00
Vaayne
514b60f704
feat(agents, sessions): implement replace functionality for agent and session updates
2025-09-19 11:13:05 +08:00
Vaayne
df1d4cd62b
refactor(sessions): update getSession and related methods to include agentId parameter
2025-09-19 10:41:26 +08:00
Vaayne
5048d6987d
refactor(validators): migrate validation logic to Zod for agents and sessions
2025-09-19 10:27:02 +08:00
icarus
809736dd33
feat(sessions): add update session functionality
...
Introduce UpdateSessionResponse type and schema to support session updates. Implement update session methods across client, service, and handler layers to enable session modifications.
2025-09-18 22:58:49 +08:00
icarus
369cc37071
feat(sessions): add delete session functionality to agent api and hook
...
Implement session deletion by adding deleteSession method to AgentApiClient and corresponding hook in useSessions. This enables removing sessions from the UI with proper error handling and cache invalidation.
2025-09-18 22:52:46 +08:00
icarus
d0b64dabc2
fix(agents): correct agent update and retrieval logic
...
Fix mutation logic to use result.id instead of form.id for consistency
Make getAgent async and update cache with fetched agent data
2025-09-18 22:51:02 +08:00
icarus
02d2838424
fix(agent): add response validation for ID mismatches
...
Add checks to ensure response IDs match expected values in agent API calls
2025-09-18 22:50:05 +08:00
icarus
4c4039283f
fix(useSessions): correct session fetching logic to use API call
...
Previously the getSession hook was only searching local data. Now it properly fetches from the API and updates the cache. This ensures data consistency when sessions are modified elsewhere.
2025-09-18 22:46:24 +08:00
icarus
77df6fd58e
feat(sessions): add getSession method to retrieve specific session
...
Implement session retrieval functionality in both hook and API client to enable fetching individual sessions by ID
2025-09-18 22:37:02 +08:00
icarus
100801821f
fix(agents): update agents list response structure to match API
...
Align frontend and backend types for agents list response. The API now returns paginated data with limit/offset and renamed 'agents' field to 'data' for consistency. Update related type definitions and usage across the codebase.
2025-09-18 22:26:54 +08:00
icarus
2201ebbb88
feat(i18n): add error messages for agent and session operations
...
Add error messages for agent deletion, update, and session creation operations
Add "no response" error message for all supported languages
2025-09-18 22:21:27 +08:00
icarus
9810f01330
feat(sessions): add create session functionality to agent api and hook
...
Implement session creation in the agent API client and expose it through the useSessions hook. The hook now provides a createSession method that updates the session list upon successful creation.
2025-09-18 22:19:52 +08:00
icarus
7b428be93d
feat(types): add session form interfaces for agent operations
...
Add BaseSessionForm, CreateSessionForm and UpdateSessionForm interfaces to support session management functionality
2025-09-18 22:10:53 +08:00
icarus
a4c2ed5328
fix(api): update error handling to match new error structure
...
The AgentServerError schema was updated to nest error properties under an 'error' object. This commit aligns the error formatting function with the new schema structure.
2025-09-18 22:02:42 +08:00
icarus
934cc0dd33
refactor(useAgents): simplify agent data structure and mutations
...
Remove unnecessary nesting of agents array in SWR response and simplify mutation logic to work directly with the array
2025-09-18 22:00:25 +08:00
icarus
da61500e34
feat(hooks): add useSessions hook for agent session management
2025-09-18 21:57:18 +08:00
icarus
db2042800b
feat(agent): add listSessions method to AgentApiClient
...
Implement session listing functionality for agents by adding the listSessions method. This enables retrieving all sessions associated with a specific agent.
2025-09-18 21:50:14 +08:00
icarus
08772741e6
feat(agent-sessions): add schema and type for listing agent sessions
...
Add ListAgentSessionsResponseSchema and type to support paginated session listing
2025-09-18 21:49:02 +08:00
icarus
f5f542911f
feat(sessions): add CreateSessionResponse type for better type safety
...
Introduce CreateSessionResponse type and schema to clearly define the return type of session creation operations. This improves type safety and consistency across the codebase when handling session responses.
2025-09-18 21:43:06 +08:00
icarus
3b5b1986e6
feat(hooks): add getAgent function to useAgents hook
2025-09-18 21:34:25 +08:00
icarus
3b0995c8ef
feat(agents): add deleteAgent hook to useAgents
...
Implement agent deletion functionality with optimistic updates and error handling
2025-09-18 21:22:20 +08:00
icarus
34c95ca787
feat(agents): add update agent functionality and error message
...
Add updateAgent method to useAgents hook and update agent API client
2025-09-18 21:20:58 +08:00
icarus
a4c2a1d435
feat(i18n): add new translation keys for agent errors and session management
...
Add "failed" error message for agent addition and implement session-related translations including delete confirmation and labels
2025-09-18 20:49:04 +08:00
icarus
e4f0743e2f
fix(api): replace Axios constructor with axios.create for better defaults
...
Using axios.create() provides better default configuration and error handling compared to the Axios constructor
2025-09-18 20:47:53 +08:00
icarus
7632efda88
fix(api): handle ZodError in processError and formatErrorMessage
...
Add explicit handling of ZodError in processError to return the error directly and in formatErrorMessage to use formatZodError for better error reporting
2025-09-18 20:40:30 +08:00
icarus
ab90eb2aab
refactor(AgentModal): replace useAddAgent with useAgents hook
2025-09-18 20:29:04 +08:00
icarus
4c5bed0b1f
fix(agents): add http protocol to agent client base url
2025-09-18 20:28:08 +08:00
icarus
302331043a
refactor(agent): add error logging in agent api client
...
Use logger service to log errors when processing API requests
2025-09-18 20:25:40 +08:00
icarus
09f5e7af8c
feat(agents): implement add agent functionality in useAgents hook
...
Add createAgent method to useAgents hook and remove unused useAddAgent hook
Use formatErrorMessageWithPrefix for better error handling
2025-09-18 20:25:28 +08:00
icarus
27f98b02a6
feat(sessions): add sessions tab with basic functionality and translations
...
- Create new SessionsTab component with mock data
- Add session item component with context menu for edit/delete
- Include session tab in main navigation
- Add English translations for session-related strings
2025-09-18 19:26:25 +08:00
icarus
af6a3c87d6
fix(AgentItem): add missing onPress dependency to useCallback
...
Ensure the callback is updated when onPress prop changes to avoid stale closures
2025-09-18 19:17:10 +08:00
icarus
d1819274bb
Revert "feat(agent): add name field to AgentSessionEntitySchema"
...
This reverts commit 8058ed21b3 .
2025-09-18 19:13:24 +08:00
icarus
8058ed21b3
feat(agent): add name field to AgentSessionEntitySchema
...
Add name field to agent session schema to support session naming functionality
2025-09-18 19:11:52 +08:00
icarus
eaf302bb40
Merge branch 'feat/agents-new' of github.com:CherryHQ/cherry-studio into feat/agents-new
2025-09-18 19:04:14 +08:00
icarus
3405b7e429
refactor(ui): rename agents to assistantPresets for consistency
...
Update route paths, i18n keys and tab identifiers to use 'assistantPresets' instead of 'agents'
Add new agents tab component while maintaining backward compatibility
2025-09-18 19:04:05 +08:00
icarus
2fc1df8793
refactor(ui): remove unused UI elements and commented code
...
clean up UI by removing unused text spans and commented out code
remove unused timer functionality from AgentModal
2025-09-18 19:00:41 +08:00
icarus
1c978e0684
feat(agents): add agent selection functionality
...
- Replace onTagClick with onPress handler in AgentItem
- Add active agent state management in AgentsTab
- Wrap AgentItem content in Button for better interaction
2025-09-18 18:47:37 +08:00
icarus
e938e1572c
feat(chat): add activeAgentId to track current agent state
...
Add activeAgentId field to chat state to track which agent is currently active. This enables UI to reflect the active agent state and handle agent-specific interactions.
2025-09-18 18:43:10 +08:00
icarus
9a7681c5c8
refactor(agent): update agent form types and mutation hooks
...
- Add proper type definitions for AddAgentForm and UpdateAgentForm
- Split agent mutation hooks into separate files
- Update AgentModal to use new form types and hooks
- Remove redundant fields from form submissions
2025-09-18 18:39:02 +08:00
icarus
259f2157f6
refactor(agent): split AgentForm into BaseAgentForm and specific types
...
Improve type safety by separating AgentForm into BaseAgentForm for shared fields and specific types for add/update operations. This better reflects the actual usage patterns in the API client and modal components.
2025-09-18 18:21:52 +08:00
icarus
21ce139df0
refactor(agents): replace unimplemented mutation with simple function
...
Replace the placeholder mutation implementation in useUpdateAgent hook with a simpler function that shows a toast notification. This removes the unnecessary query client usage for an unimplemented feature.
2025-09-18 18:10:53 +08:00
icarus
71536d6ef5
refactor(agents): replace useMutation with simple function in useAddAgent
...
The mutation logic was removed and replaced with a simple function that shows a toast message. This is a temporary solution until the actual API implementation is ready.
2025-09-18 18:09:58 +08:00
icarus
ef1a035701
feat: add AgentsTab component for managing agents
2025-09-18 18:08:59 +08:00
icarus
2b76c326ee
refactor(agents): replace useMutation with simpler implementation in useRemoveAgent
2025-09-18 18:08:45 +08:00
icarus
64ee5c528b
fix(useAgents): use right agents data
2025-09-18 18:08:40 +08:00
icarus
136d343c18
refactor(hooks): replace redux with swr in useAgents hook
...
Simplify agents management by using SWR for data fetching instead of redux store operations
2025-09-18 18:05:55 +08:00
icarus
0b1b9a913f
feat(hooks): add useAgentClient hook for agent API client initialization
2025-09-18 18:02:05 +08:00
icarus
cb0833a915
refactor(api): centralize agent and session paths for better maintainability
...
Add path builder methods to avoid hardcoding URLs and improve consistency
2025-09-18 17:58:53 +08:00
Vaayne
49add96dc0
feat(database): add agent_session_id to session_messages table and update related services
2025-09-18 17:46:05 +08:00
icarus
db58762a13
refactor(AssistantsTab): remove agent-related code and imports
2025-09-18 17:40:12 +08:00
icarus
6e89d0037f
Merge branch 'feat/agents-new' of github.com:CherryHQ/cherry-studio into feat/agents-new
2025-09-18 17:12:10 +08:00
icarus
54de2341bd
refactor(agents): remove draggable functionality and simplify agent list rendering
...
Remove unused agent management hooks and replace DraggableList with simple map
Add cursor-pointer style to AgentItem for better UX
2025-09-18 16:24:27 +08:00
beyondkmp
b131f0c48c
pack optimization
2025-09-18 15:25:16 +08:00
Vaayne
9e4b792fc3
🐛 fix: resolve duplicate migration key '156' to '157'
2025-09-18 14:54:45 +08:00
icarus
8d92b515ab
feat(agent): return updated agent data from updateAgent method
...
Add response parsing and return type to updateAgent to provide updated agent data to callers
2025-09-18 14:35:57 +08:00
icarus
524098d6d3
feat(agent): add error processing utility and update agent method
...
Introduce processError utility to handle axios errors consistently
Add updateAgent method to support partial updates of agent data
2025-09-18 14:34:05 +08:00
icarus
42fa2d94be
feat(api): add formatAxiosError utility for handling axios errors
2025-09-18 14:33:45 +08:00
icarus
f1991b356b
feat(agent): add get and delete agent methods with error handling
...
Implement getAgent and deleteAgent methods in AgentClient with proper error handling
Add formatAgentServerError utility for consistent error messages
2025-09-18 14:20:48 +08:00
icarus
825c376c5c
feat(agent): add create agent endpoint to agent client
2025-09-18 14:08:31 +08:00
icarus
231a923c9d
feat(types): add AgentForm type and move from component to types file
...
Centralize the AgentForm type definition in the types file for better maintainability and reuse across components
2025-09-18 14:03:10 +08:00
icarus
dbf01652f8
feat(agent): add avatar support for agent items
...
Implement getAgentAvatar function to provide avatar images based on agent type. Update AgentItem component to display agent-specific avatars instead of generic ones.
2025-09-18 13:59:37 +08:00
icarus
842a6cb178
style(AssistantsTab): reorder tailwind classes for consistency
2025-09-18 13:54:59 +08:00
icarus
d56c526709
feat(api): add AgentClient class for listing agents
...
Implement a new API client class to handle agent listing operations with proper error handling and validation
2025-09-18 13:48:57 +08:00
icarus
70a68bef27
Revert "feat(types): add DeleteAgentResponse type and update AgentService"
...
This reverts commit 219844cb74 .
2025-09-18 13:31:23 +08:00
icarus
f9b49ffde6
Merge branch 'feat/agents-new' of github.com:CherryHQ/cherry-studio into feat/agents-new
2025-09-18 13:28:36 +08:00
icarus
a264fd42e4
feat(types): add AgentServerError schema for error handling
2025-09-18 13:26:51 +08:00
icarus
219844cb74
feat(types): add DeleteAgentResponse type and update AgentService
...
Update AgentService to use DeleteAgentResponse type instead of boolean for better type safety
2025-09-18 13:24:00 +08:00
icarus
230205d210
feat(types): add UpdateAgentResponse type and schema
...
Update agent service to use new response type for consistency
2025-09-18 13:21:37 +08:00
icarus
f9fb0f9125
feat(agent): add ListAgentsResponse type and update service
...
Add ListAgentsResponse schema and type to handle agent listing responses
Update AgentService to use the new type for listAgents method
2025-09-18 13:19:57 +08:00
icarus
0f777e357d
refactor(types): convert GetAgentSessionResponse interface to zod schema
...
Improve type safety by using zod schema definition and inference instead of manual interface
2025-09-18 13:17:32 +08:00
icarus
5c578c191b
refactor(types): convert AgentSessionMessageEntity interface to zod schema
...
Replace interface with zod schema for better type safety and validation
2025-09-18 13:15:58 +08:00
icarus
7a4952f773
refactor(types): convert AgentSessionEntity interface to zod schema
...
Use zod schema for better type safety and validation capabilities
2025-09-18 13:01:57 +08:00
icarus
71a1daddef
refactor(types): reorder CreateAgentResponse and its schema
...
Place schema definition before type alias for better readability and consistency
2025-09-18 13:00:41 +08:00
icarus
0a82955e91
refactor(types): replace GetAgentResponse interface with zod schema
...
Use zod schema for better type safety and validation
2025-09-18 12:59:49 +08:00
icarus
62d2da3815
refactor(types): convert Tool interface to zod schema
...
Use zod schema for better type safety and validation capabilities
2025-09-18 12:58:56 +08:00
icarus
84aab66aa6
refactor(types): add CreateAgentResponseSchema for consistency
2025-09-18 12:56:29 +08:00
icarus
2d0d599ac8
refactor(types): convert AgentEntity interface to zod schema
...
Use zod schema for better runtime validation and type safety
2025-09-18 12:55:01 +08:00
icarus
dca6be45b0
refactor(types): replace hardcoded agent type check with zod schema
...
Use zod schema validation for type safety and maintainability instead of manual array checking
2025-09-18 12:52:58 +08:00
icarus
5a71807cc9
feat(types): add CreateAgentResponse type and update AgentService return type
2025-09-18 12:50:42 +08:00
icarus
0d0ab4dcf5
refactor(types): convert AgentBase interface to zod schema
...
This change improves type safety and validation by replacing the TypeScript interface with a zod schema definition. The schema provides runtime validation while maintaining the same type inference capabilities.
2025-09-18 12:49:17 +08:00
icarus
ac3da51890
refactor(types): replace AgentConfiguration interface with zod schema
...
Use zod schema for better type safety and validation capabilities
2025-09-18 12:46:45 +08:00
icarus
9ea361f7e8
refactor(types): migrate PermissionMode to zod schema for type safety
2025-09-18 12:45:00 +08:00
icarus
cc6160892a
refactor(types): reorganize agent type interfaces for better clarity
...
Move API DTO interfaces to a dedicated section at the bottom of the file to improve code organization and maintainability
2025-09-18 12:42:01 +08:00
Vaayne
8ada7ffaf6
Merge remote-tracking branch 'origin/main' into feat/agents-new
2025-09-18 11:51:34 +08:00
SuYao
c76df7fb16
fix: Remove maxTokens check from Anthropic thinking budget ( #10240 )
...
Remove maxTokens check from Anthropic thinking budget
2025-09-17 23:10:58 +08:00
SuYao
89d5bd817b
fix: Add AWS Bedrock reasoning extraction middleware ( #10231 )
...
* Add AWS Bedrock reasoning extraction middleware
- Add 'reasoning' tag to tagNameArray for broader reasoning support
- Add AWS Bedrock case with gpt-oss model-specific reasoning extraction
- Add openai-chat and openrouter cases to provider options switch
- Remove unused zod import
* Add OpenRouter provider support
Updates ai-core to version alpha.18 with OpenRouter integration and
improves provider ID resolution for OpenAI API hosts.
2025-09-17 20:01:47 +08:00