mirror of
https://github.com/toeverything/AFFiNE.git
synced 2026-02-14 21:27:20 +00:00
feat(core): add get session graphql api (#12237)
Close [AI-116](https://linear.app/affine-design/issue/AI-116) <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Added the ability to retrieve detailed information for a specific Copilot session by its ID, including model metadata and optional models, via the user interface and API. - Session data now includes additional fields such as the model used and a list of optional models. - Enhanced GraphQL queries and UI components to support fetching and displaying these new session details. - **Improvements** - Session lists now provide richer information, including model details, for each session. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
This commit is contained in:
@@ -380,6 +380,10 @@ declare global {
|
||||
docId?: string,
|
||||
options?: { action?: boolean }
|
||||
) => Promise<CopilotSessionType[] | undefined>;
|
||||
getSession: (
|
||||
workspaceId: string,
|
||||
sessionId: string
|
||||
) => Promise<CopilotSessionType | undefined>;
|
||||
updateSession: (sessionId: string, promptName: string) => Promise<string>;
|
||||
}
|
||||
|
||||
|
||||
@@ -11,6 +11,7 @@ import {
|
||||
forkCopilotSessionMutation,
|
||||
getCopilotHistoriesQuery,
|
||||
getCopilotHistoryIdsQuery,
|
||||
getCopilotSessionQuery,
|
||||
getCopilotSessionsQuery,
|
||||
type GraphQLQuery,
|
||||
listContextObjectQuery,
|
||||
@@ -136,6 +137,18 @@ export class CopilotClient {
|
||||
}
|
||||
}
|
||||
|
||||
async getSession(workspaceId: string, sessionId: string) {
|
||||
try {
|
||||
const res = await this.gql({
|
||||
query: getCopilotSessionQuery,
|
||||
variables: { sessionId, workspaceId },
|
||||
});
|
||||
return res.currentUser?.copilot?.session;
|
||||
} catch (err) {
|
||||
throw resolveError(err);
|
||||
}
|
||||
}
|
||||
|
||||
async getSessions(
|
||||
workspaceId: string,
|
||||
docId?: string,
|
||||
|
||||
@@ -579,6 +579,9 @@ Could you make a new website based on these notes and send back just the html fi
|
||||
|
||||
AIProvider.provide('session', {
|
||||
createSession,
|
||||
getSession: async (workspaceId: string, sessionId: string) => {
|
||||
return client.getSession(workspaceId, sessionId);
|
||||
},
|
||||
getSessions: async (
|
||||
workspaceId: string,
|
||||
docId?: string,
|
||||
|
||||
Reference in New Issue
Block a user