feat: complete release preparation, 10+ ad mediation, CI/CD, and docker deployment
Some checks failed
CI Pipeline / Code Quality & Typecheck (push) Waiting to run
CI Pipeline / Test Suite (macos-latest) (push) Blocked by required conditions
CI Pipeline / Test Suite (ubuntu-latest) (push) Blocked by required conditions
CI Pipeline / Test Suite (windows-latest) (push) Blocked by required conditions
CI Pipeline / Build Validation (admin) (push) Blocked by required conditions
CI Pipeline / Build Validation (desktop) (push) Blocked by required conditions
Deploy Landing Page / deploy (push) Blocked by required conditions
Deploy Landing Page / build (push) Waiting to run
Release & Packaging Pipeline / Build & Publish Admin Docker Image (push) Failing after 8s
Release & Code Signing CA Pipeline / build-and-sign-windows (push) Failing after 1m51s
Build macOS / Build & Package (macOS) (push) Failing after 4s
Build macOS / Build & Package (macOS)-1 (push) Failing after 5s
Release & Code Signing CA Pipeline / build-and-sign-macos (push) Failing after 3s
Release & Packaging Pipeline / Package macOS Desktop App (push) Failing after 4s
Release & Packaging Pipeline / Package Windows Desktop App (push) Failing after 2m28s
Release & Packaging Pipeline / Publish Official GitHub Release (push) Has been skipped
Some checks failed
CI Pipeline / Code Quality & Typecheck (push) Waiting to run
CI Pipeline / Test Suite (macos-latest) (push) Blocked by required conditions
CI Pipeline / Test Suite (ubuntu-latest) (push) Blocked by required conditions
CI Pipeline / Test Suite (windows-latest) (push) Blocked by required conditions
CI Pipeline / Build Validation (admin) (push) Blocked by required conditions
CI Pipeline / Build Validation (desktop) (push) Blocked by required conditions
Deploy Landing Page / deploy (push) Blocked by required conditions
Deploy Landing Page / build (push) Waiting to run
Release & Packaging Pipeline / Build & Publish Admin Docker Image (push) Failing after 8s
Release & Code Signing CA Pipeline / build-and-sign-windows (push) Failing after 1m51s
Build macOS / Build & Package (macOS) (push) Failing after 4s
Build macOS / Build & Package (macOS)-1 (push) Failing after 5s
Release & Code Signing CA Pipeline / build-and-sign-macos (push) Failing after 3s
Release & Packaging Pipeline / Package macOS Desktop App (push) Failing after 4s
Release & Packaging Pipeline / Package Windows Desktop App (push) Failing after 2m28s
Release & Packaging Pipeline / Publish Official GitHub Release (push) Has been skipped
This commit is contained in:
parent
5cd1de6859
commit
708e20f747
406 changed files with 42464 additions and 6199 deletions
|
|
@ -8,7 +8,7 @@ import fs from 'fs'
|
|||
import { app, dialog } from 'electron'
|
||||
import { eq } from 'drizzle-orm'
|
||||
import { getLogger } from './LoggerService'
|
||||
import { getLocalLLMService } from './LocalLLMService'
|
||||
import { getPremiumLLMService } from './PremiumLLMService'
|
||||
import { getCloudSyncService } from './CloudSyncService'
|
||||
import { getDatabase } from '../db'
|
||||
import { history } from '../db/schema'
|
||||
|
|
@ -19,6 +19,8 @@ import type { MeetingSummaryResult, MeetingSummaryProgress } from '@d3ro/core/ty
|
|||
|
||||
const logger = getLogger('MeetingSummaryService')
|
||||
|
||||
let isShowingSummarySaveDialog = false
|
||||
|
||||
const MEETING_SUMMARY_PROMPT = `다음은 회의 전사록입니다. 아래 형식으로 정리해주세요:
|
||||
|
||||
## 요약
|
||||
|
|
@ -74,7 +76,7 @@ class MeetingSummaryService extends EventEmitter {
|
|||
|
||||
try {
|
||||
// LLM 요약 생성
|
||||
const llmService = getLocalLLMService()
|
||||
const llmService = getPremiumLLMService()
|
||||
const result = await llmService.generate(transcript, {
|
||||
systemPrompt: MEETING_SUMMARY_PROMPT,
|
||||
temperature: 0.3,
|
||||
|
|
@ -151,12 +153,23 @@ class MeetingSummaryService extends EventEmitter {
|
|||
|
||||
const date = new Date(entry.createdAt)
|
||||
const dateStr = date.toISOString().slice(0, 10)
|
||||
const defaultName = `meeting-summary-${dateStr}.md`
|
||||
|
||||
const result = await dialog.showSaveDialog({
|
||||
defaultPath: path.join(app.getPath('documents'), defaultName),
|
||||
filters: [{ name: 'Markdown', extensions: ['md'] }],
|
||||
})
|
||||
if (isShowingSummarySaveDialog) {
|
||||
throw new D3ROError(ErrorCode.MeetingSummaryExportFailed, 'Export dialog already active')
|
||||
}
|
||||
isShowingSummarySaveDialog = true
|
||||
let result: Electron.SaveDialogReturnValue
|
||||
try {
|
||||
const mainWindow = getMainWindow()
|
||||
const dialogOptions = {
|
||||
defaultPath: path.join(app.getPath('documents'), defaultName),
|
||||
filters: [{ name: 'Markdown', extensions: ['md'] }],
|
||||
}
|
||||
result = mainWindow
|
||||
? await dialog.showSaveDialog(mainWindow, dialogOptions)
|
||||
: await dialog.showSaveDialog(dialogOptions)
|
||||
} finally {
|
||||
isShowingSummarySaveDialog = false
|
||||
}
|
||||
|
||||
if (result.canceled || !result.filePath) {
|
||||
throw new D3ROError(ErrorCode.MeetingSummaryExportFailed, 'Export cancelled')
|
||||
|
|
@ -253,6 +266,11 @@ class MeetingSummaryService extends EventEmitter {
|
|||
// ── 싱글톤 ──
|
||||
let instance: MeetingSummaryService | null = null
|
||||
|
||||
export function resetMeetingSummaryServiceForTests(): void {
|
||||
if (instance) instance.removeAllListeners()
|
||||
instance = null
|
||||
}
|
||||
|
||||
export function getMeetingSummaryService(): MeetingSummaryService {
|
||||
if (!instance) {
|
||||
instance = new MeetingSummaryService()
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue