d3ro-voice/apps/desktop/src/main/ipc/index.ts
yunchan8804 45a580878a feat(V2-1a): Monorepo 구조 전환 — apps/desktop으로 V1 이동
- npm workspaces 루트 (apps/*, packages/*) 세팅
- V1 전체를 apps/desktop/으로 git mv (src, resources, tests, sidecar,
  scripts, electron.vite.config.ts, electron-builder.yml, vitest.config.ts,
  tsconfig.node.json, tsconfig.web.json)
- apps/desktop/package.json 신규 (name=@d3ro/desktop)
- productName: 'd3ro-voice' 명시 — app.getName()을 고정하여 userData 경로
  %APPDATA%\d3ro-voice\ 그대로 유지 (기존 DB/설정 연속성 보장)
- 루트 package.json을 workspace 루트로 재구성, 공통 devDep만 유지
  (typescript, eslint, prettier)
- turbo.json, tsconfig.base.json 추가 (Turborepo 자체 설치는 별도 sub-phase)
- memory/project_status.md 생성 (규칙 13)

검증:
- npm run typecheck 통과
- npm run build 통과 (electron-vite main+preload+renderer)
- npm run dev 실제 실행 → DB/핫키/Ollama 자동 실행 모두 정상
2026-04-08 14:04:41 +09:00

59 lines
2.5 KiB
TypeScript

// src/main/ipc/index.ts — IPC 핸들러 일괄 등록
import { registerAudioHandlers } from './audio-handlers'
import { registerConfigHandlers } from './config-handlers'
import { registerWindowHandlers } from './window-handlers'
import { registerSystemHandlers } from './system-handlers'
import { registerVoiceHandlers } from './voice-handlers'
import { registerSTTHandlers } from './stt-handlers'
import { registerHotkeyHandlers } from './hotkey-handlers'
import { registerLLMHandlers } from './llm-handlers'
import { registerHistoryHandlers } from './history-handlers'
import { registerDictionaryHandlers } from './dictionary-handlers'
import { registerInstructionHandlers } from './instruction-handlers'
import { registerMemoHandlers } from './memo-handlers'
import { registerVoiceCommandHandlers } from './voice-command-handlers'
import { registerContextHandlers } from './context-handlers'
import { registerCaptionHandlers } from './caption-handlers'
import { registerChainHandlers } from './chain-handlers'
import { registerLicenseHandlers } from './license-handlers'
import { registerFileTranscriptionHandlers } from './file-transcription-handlers'
import { registerMeetingSummaryHandlers } from './meeting-summary-handlers'
import { registerTemplateHandlers } from './template-handlers'
import { registerVoiceConversationHandlers } from './voice-conversation-handlers'
import { registerRAGHandlers } from './rag-handlers'
import { registerVoiceActionHandlers } from './voice-action-handlers'
import { registerMeetingModeHandlers } from './meeting-mode-handlers'
import { registerMeetingDocTemplateHandlers } from './meeting-doc-template-handlers'
import { getLogger } from '../services/LoggerService'
const logger = getLogger('ipc')
export function registerAllIpcHandlers(): void {
registerAudioHandlers()
registerConfigHandlers()
registerWindowHandlers()
registerSystemHandlers()
registerVoiceHandlers()
registerSTTHandlers()
registerHotkeyHandlers()
registerLLMHandlers()
registerHistoryHandlers()
registerDictionaryHandlers()
registerInstructionHandlers()
registerMemoHandlers()
registerVoiceCommandHandlers()
registerContextHandlers()
registerCaptionHandlers()
registerChainHandlers()
registerLicenseHandlers()
registerFileTranscriptionHandlers()
registerMeetingSummaryHandlers()
registerTemplateHandlers()
registerVoiceConversationHandlers()
registerRAGHandlers()
registerVoiceActionHandlers()
registerMeetingModeHandlers()
registerMeetingDocTemplateHandlers()
logger.info('All IPC handlers registered')
}