feat(server): find transcript actions (#11890)

This commit is contained in:
darkskygit
2025-04-22 09:23:24 +00:00
parent b59f6ebde0
commit 3794f8aa80
11 changed files with 94 additions and 13 deletions
@@ -283,7 +283,7 @@ export class CopilotTranscriptionService {
.trim();
if (content.length) {
payload.summary = await this.chatWithPrompt('Summary', {
payload.summary = await this.chatWithPrompt('Summarize the meeting', {
content,
});
await this.models.copilotJob.update(jobId, {
@@ -328,7 +328,7 @@ export class CopilotTranscriptionService {
await this.models.copilotJob.update(jobId, {
payload,
});
this.event.emit('workspace.file.transcript.finished', {
await this.job.add('copilot.transcript.findAction.submit', {
jobId,
});
return;
@@ -346,6 +346,32 @@ export class CopilotTranscriptionService {
}
}
@OnJob('copilot.transcript.findAction.submit')
async transcriptFindAction({
jobId,
}: Jobs['copilot.transcript.findAction.submit']) {
try {
const payload = await this.models.copilotJob.getPayload(
jobId,
TranscriptPayloadSchema
);
if (payload.summary) {
const actions = await this.chatWithPrompt('Find action for summary', {
content: payload.summary,
}).then(a => a.trim());
if (actions) {
payload.actions = actions;
await this.models.copilotJob.update(jobId, {
payload,
});
}
}
} catch {} // finish even if failed
this.event.emit('workspace.file.transcript.finished', {
jobId,
});
}
@OnEvent('workspace.file.transcript.finished')
async onFileTranscriptFinish({
jobId,