feat(core): support fork session without latestMessageId (#12587)

Close [AI-86](https://linear.app/affine-design/issue/AI-86)

<!-- This is an auto-generated comment: release notes by coderabbit.ai -->

## Summary by CodeRabbit

- **New Features**
  - Improved chat session forking to allow creating a fork without specifying the latest message, enabling more flexible session management.

- **Bug Fixes**
  - Forking a chat session with an invalid latest message ID now correctly returns an error.

- **Tests**
  - Added and updated test cases to cover session forking with missing or invalid latest message IDs, ensuring robust behavior in these scenarios.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
This commit is contained in:
akumatus
2025-05-28 07:34:23 +00:00
parent a045786c6a
commit eb49ffaedb
11 changed files with 103 additions and 19 deletions

View File

@@ -879,7 +879,7 @@ export enum FeatureType {
export interface ForkChatSessionInput {
docId: Scalars['String']['input'];
/** Identify a message in the array and keep it with all previous messages into a forked session. */
latestMessageId: Scalars['String']['input'];
latestMessageId?: InputMaybe<Scalars['String']['input']>;
sessionId: Scalars['String']['input'];
workspaceId: Scalars['String']['input'];
}