feat(server): copilot session prompt query (#10479)

This commit is contained in:
darkskygit
2025-02-27 11:25:52 +00:00
parent d50860eee2
commit 985906aa13
10 changed files with 79 additions and 21 deletions

View File

@@ -301,11 +301,11 @@ declare global {
docId: string,
promptName?: string
) => Promise<string>;
getSessionIds: (
getSessions: (
workspaceId: string,
docId?: string,
options?: { action?: boolean }
) => Promise<string[] | undefined>;
) => Promise<{ id: string; promptName: string }[] | undefined>;
updateSession: (sessionId: string, promptName: string) => Promise<string>;
}

View File

@@ -300,12 +300,12 @@ export class ChatPanel extends WithDisposable(ShadowlessElement) {
const userId = (await AIProvider.userInfo)?.id;
if (!userId) return;
const sessionIds = await AIProvider.session?.getSessionIds(
const sessions = await AIProvider.session?.getSessions(
this.doc.workspace.id,
this.doc.id
);
if (sessionIds?.length) {
this._chatSessionId = sessionIds[0];
if (sessions?.length) {
this._chatSessionId = sessions?.[0].id;
await this._updateHistory();
}
if (this._chatSessionId) {

View File

@@ -136,7 +136,7 @@ export class CopilotClient {
}
}
async getSessionIds(
async getSessions(
workspaceId: string,
docId?: string,
options?: RequestOptions<
@@ -152,7 +152,7 @@ export class CopilotClient {
options,
},
});
return res.currentUser?.copilot?.sessionIds;
return res.currentUser?.copilot?.sessions;
} catch (err) {
throw resolveError(err);
}

View File

@@ -408,12 +408,12 @@ Could you make a new website based on these notes and send back just the html fi
promptName,
});
},
getSessionIds: async (
getSessions: async (
workspaceId: string,
docId?: string,
options?: { action?: boolean }
) => {
return client.getSessionIds(workspaceId, docId, options);
return client.getSessions(workspaceId, docId, options);
},
updateSession: async (sessionId: string, promptName: string) => {
return client.updateSession({

View File

@@ -5,7 +5,10 @@ query getCopilotSessions(
) {
currentUser {
copilot(workspaceId: $workspaceId) {
sessionIds(docId: $docId, options: $options)
sessions(docId: $docId, options: $options) {
id
promptName
}
}
}
}

View File

@@ -424,7 +424,10 @@ export const getCopilotSessionsQuery = {
query getCopilotSessions($workspaceId: String!, $docId: String, $options: QueryChatSessionsInput) {
currentUser {
copilot(workspaceId: $workspaceId) {
sessionIds(docId: $docId, options: $options)
sessions(docId: $docId, options: $options) {
id
promptName
}
}
}
}`,

View File

@@ -83,7 +83,7 @@ export interface Copilot {
/** Get the quota of the user in the workspace */
quota: CopilotQuota;
/** Get the session list in the workspace */
sessionIds: Array<Scalars['String']['output']>;
sessions: Array<CopilotSessionType>;
workspaceId: Maybe<Scalars['ID']['output']>;
}
@@ -97,7 +97,7 @@ export interface CopilotHistoriesArgs {
options?: InputMaybe<QueryChatHistoriesInput>;
}
export interface CopilotSessionIdsArgs {
export interface CopilotSessionsArgs {
docId?: InputMaybe<Scalars['String']['input']>;
options?: InputMaybe<QueryChatSessionsInput>;
}
@@ -259,6 +259,12 @@ export interface CopilotQuota {
used: Scalars['SafeInt']['output'];
}
export interface CopilotSessionType {
__typename?: 'CopilotSessionType';
id: Scalars['ID']['output'];
promptName: Scalars['String']['output'];
}
export interface CreateChatMessageInput {
attachments?: InputMaybe<Array<Scalars['String']['input']>>;
blobs?: InputMaybe<Array<Scalars['Upload']['input']>>;
@@ -2236,7 +2242,14 @@ export type GetCopilotSessionsQuery = {
__typename?: 'Query';
currentUser: {
__typename?: 'UserType';
copilot: { __typename?: 'Copilot'; sessionIds: Array<string> };
copilot: {
__typename?: 'Copilot';
sessions: Array<{
__typename?: 'CopilotSessionType';
id: string;
promptName: string;
}>;
};
} | null;
};