{"version":3,"file":"app-CBE5bw4d.mjs","names":["info.getNameHandler","info.setNameHandler","info.getVersionHandler","info.getAppPathHandler","info.getLocaleHandler","info.getSystemLocaleHandler","info.getPreferredSystemLanguagesHandler","info.getLocaleCountryCodeHandler","info.isReadyHandler","path.getPathHandler","path.setPathHandler","path.setAppLogsPathHandler","control.quitHandler","control.exitHandler","control.relaunchHandler","control.focusHandler","control.hideHandler","control.showHandler","document.addRecentDocumentHandler","document.clearRecentDocumentsHandler","document.getRecentDocumentsHandler","protocol.setAsDefaultProtocolClientHandler","protocol.removeAsDefaultProtocolClientHandler","protocol.isDefaultProtocolClientHandler","single.requestSingleInstanceLockHandler","single.hasSingleInstanceLockHandler","single.releaseSingleInstanceLockHandler","badge.setBadgeCountHandler","badge.getBadgeCountHandler","login.getLoginItemSettingsHandler","login.setLoginItemSettingsHandler","a11y.isAccessibilitySupportEnabledHandler","a11y.setAccessibilitySupportEnabledHandler","panel.showAboutPanelHandler","panel.setAboutPanelOptionsHandler","gpu.getGPUFeatureStatusHandler","gpu.getGPUInfoHandler","metrics.getAppMetricsHandler","emoji.isEmojiPanelSupportedHandler","emoji.showEmojiPanelHandler","fileIcon.getFileIconHandler"],"sources":["../src/main/app/info.ts","../src/main/app/path.ts","../src/main/app/control.ts","../src/main/app/document.ts","../src/main/app/protocol.ts","../src/main/app/single.ts","../src/main/app/badge.ts","../src/main/app/login.ts","../src/main/app/a11y.ts","../src/main/app/panel.ts","../src/main/app/gpu.ts","../src/main/app/metrics.ts","../src/main/app/emoji.ts","../src/main/app/fileIcon.ts","../src/main/app/index.ts"],"sourcesContent":["/**\n * App information handlers\n */\n\nimport { app } from \"electron\";\n\nexport async function getNameHandler(): Promise<string> {\n  return app.getName();\n}\n\nexport async function setNameHandler(...params: unknown[]): Promise<void> {\n  const [name] = params as [string];\n  app.setName(name);\n}\n\nexport async function getVersionHandler(): Promise<string> {\n  return app.getVersion();\n}\n\nexport async function getAppPathHandler(): Promise<string> {\n  return app.getAppPath();\n}\n\nexport async function getLocaleHandler(): Promise<string> {\n  return app.getLocale();\n}\n\nexport async function getSystemLocaleHandler(): Promise<string> {\n  return app.getSystemLocale();\n}\n\nexport async function getPreferredSystemLanguagesHandler(): Promise<string[]> {\n  return app.getPreferredSystemLanguages();\n}\n\nexport async function getLocaleCountryCodeHandler(): Promise<string> {\n  return app.getLocaleCountryCode();\n}\n\nexport async function isReadyHandler(): Promise<boolean> {\n  return app.isReady();\n}\n","/**\n * Path management handlers\n */\n\nimport { app } from \"electron\";\nimport type { AppPathName } from \"@shared/app.types.js\";\n\nexport async function getPathHandler(...params: unknown[]): Promise<string> {\n  const [name] = params as [AppPathName];\n  return app.getPath(name);\n}\n\nexport async function setPathHandler(...params: unknown[]): Promise<void> {\n  const [name, path] = params as [AppPathName, string];\n  app.setPath(name, path);\n}\n\nexport async function setAppLogsPathHandler(...params: unknown[]): Promise<void> {\n  const [path] = params as [string?];\n  app.setAppLogsPath(path);\n}\n","/**\n * App control handlers\n */\n\nimport { app } from \"electron\";\nimport type { FocusOptions, RelaunchOptions } from \"@shared/app.types.js\";\n\nexport async function quitHandler(): Promise<void> {\n  app.quit();\n}\n\nexport async function exitHandler(...params: unknown[]): Promise<void> {\n  const [exitCode] = params as [number?];\n  app.exit(exitCode);\n}\n\nexport async function relaunchHandler(...params: unknown[]): Promise<void> {\n  const [options] = params as [RelaunchOptions?];\n  app.relaunch(options);\n}\n\nexport async function focusHandler(...params: unknown[]): Promise<void> {\n  const [options] = params as [FocusOptions?];\n  app.focus(options as any);\n}\n\nexport async function hideHandler(): Promise<void> {\n  app.hide();\n}\n\nexport async function showHandler(): Promise<void> {\n  app.show();\n}\n","/**\n * Recent documents handlers\n */\n\nimport { app } from \"electron\";\n\nexport async function addRecentDocumentHandler(...params: unknown[]): Promise<void> {\n  const [path] = params as [string];\n  app.addRecentDocument(path);\n}\n\nexport async function clearRecentDocumentsHandler(): Promise<void> {\n  app.clearRecentDocuments();\n}\n\nexport async function getRecentDocumentsHandler(): Promise<string[]> {\n  // Electron doesn't have a getRecentDocuments method, but we can track internally\n  // For now, return empty array - users should track this themselves\n  return [];\n}\n","/**\n * Protocol handlers\n */\n\nimport { app } from \"electron\";\n\nexport async function setAsDefaultProtocolClientHandler(...params: unknown[]): Promise<boolean> {\n  const [protocol, path, args] = params as [string, string?, string[]?];\n  return app.setAsDefaultProtocolClient(protocol, path, args);\n}\n\nexport async function removeAsDefaultProtocolClientHandler(...params: unknown[]): Promise<boolean> {\n  const [protocol, path, args] = params as [string, string?, string[]?];\n  return app.removeAsDefaultProtocolClient(protocol, path, args);\n}\n\nexport async function isDefaultProtocolClientHandler(...params: unknown[]): Promise<boolean> {\n  const [protocol, path, args] = params as [string, string?, string[]?];\n  return app.isDefaultProtocolClient(protocol, path, args);\n}\n","/**\n * Single instance lock handlers\n */\n\nimport { app } from \"electron\";\n\nexport async function requestSingleInstanceLockHandler(...params: unknown[]): Promise<boolean> {\n  const [additionalData] = params as [Record<string, unknown>?];\n  return app.requestSingleInstanceLock(additionalData);\n}\n\nexport async function hasSingleInstanceLockHandler(): Promise<boolean> {\n  return app.hasSingleInstanceLock();\n}\n\nexport async function releaseSingleInstanceLockHandler(): Promise<void> {\n  app.releaseSingleInstanceLock();\n}\n","/**\n * Badge notification handlers\n */\n\nimport { app } from \"electron\";\n\nexport async function setBadgeCountHandler(...params: unknown[]): Promise<void> {\n  const [count] = params as [number?];\n  app.setBadgeCount(count ?? 0);\n}\n\nexport async function getBadgeCountHandler(): Promise<number> {\n  return app.getBadgeCount();\n}\n","/**\n * Login item handlers\n */\n\nimport { app } from \"electron\";\nimport type {\n  LoginItemSettings,\n  LoginItemSettingsOptions,\n  SetLoginItemSettingsOptions,\n} from \"@shared/app.types.js\";\n\nexport async function getLoginItemSettingsHandler(\n  ...params: unknown[]\n): Promise<LoginItemSettings> {\n  const [options] = params as [LoginItemSettingsOptions?];\n  const result = app.getLoginItemSettings(options as any);\n  return {\n    openAtLogin: result.openAtLogin,\n    openAsHidden: result.openAsHidden,\n  };\n}\n\nexport async function setLoginItemSettingsHandler(...params: unknown[]): Promise<void> {\n  const [settings] = params as [SetLoginItemSettingsOptions];\n  app.setLoginItemSettings(settings as any);\n}\n","/**\n * Accessibility handlers\n */\n\nimport { app } from \"electron\";\n\nexport async function isAccessibilitySupportEnabledHandler(): Promise<boolean> {\n  return app.isAccessibilitySupportEnabled();\n}\n\nexport async function setAccessibilitySupportEnabledHandler(...params: unknown[]): Promise<void> {\n  const [enabled] = params as [boolean];\n  app.setAccessibilitySupportEnabled(enabled);\n}\n","/**\n * About panel handlers\n */\n\nimport { app } from \"electron\";\nimport type { AboutPanelOptions } from \"@shared/app.types.js\";\n\nexport async function showAboutPanelHandler(): Promise<void> {\n  app.showAboutPanel();\n}\n\nexport async function setAboutPanelOptionsHandler(...params: unknown[]): Promise<void> {\n  const [options] = params as [AboutPanelOptions];\n  app.setAboutPanelOptions(options);\n}\n","/**\n * GPU handlers\n */\n\nimport { app } from \"electron\";\nimport type { GPUFeatureStatus } from \"@shared/app.types.js\";\n\nexport async function getGPUFeatureStatusHandler(): Promise<GPUFeatureStatus> {\n  return app.getGPUFeatureStatus() as GPUFeatureStatus;\n}\n\nexport async function getGPUInfoHandler(...params: unknown[]): Promise<unknown> {\n  const [infoType] = params as [\"complete\" | \"basic\"];\n  return app.getGPUInfo(infoType);\n}\n","/**\n * Process metrics handlers\n */\n\nimport { app } from \"electron\";\nimport type { ProcessMetric } from \"@shared/app.types.js\";\n\nexport async function getAppMetricsHandler(): Promise<ProcessMetric[]> {\n  return app.getAppMetrics() as unknown as ProcessMetric[];\n}\n","/**\n * Emoji panel handlers\n */\n\nimport { app } from \"electron\";\n\nexport async function isEmojiPanelSupportedHandler(): Promise<boolean> {\n  return app.isEmojiPanelSupported();\n}\n\nexport async function showEmojiPanelHandler(): Promise<void> {\n  app.showEmojiPanel();\n}\n","/**\n * File icon handlers\n */\n\nimport { app } from \"electron\";\nimport type { GetFileIconOptions, SerializedNativeImage } from \"@shared/app.types.js\";\n\nexport async function getFileIconHandler(...params: unknown[]): Promise<SerializedNativeImage> {\n  const [path, options] = params as [string, GetFileIconOptions?];\n  const icon = await app.getFileIcon(path, options as any);\n  const buffer = icon.toPNG();\n  return {\n    _data: new Uint8Array(buffer),\n    toPNG: () => new Uint8Array(buffer),\n    toDataURL: () => icon.toDataURL(),\n    size: icon.getSize(),\n  };\n}\n","/**\n * Main process handlers for app module\n * Includes RPC method registration and event forwarding to renderer\n */\n\nimport { app, BrowserWindow } from \"electron\";\nimport type { RpcServer } from \"electron-json-rpc/main\";\n\nimport * as info from \"./info.js\";\nimport * as path from \"./path.js\";\nimport * as control from \"./control.js\";\nimport * as document from \"./document.js\";\nimport * as protocol from \"./protocol.js\";\nimport * as single from \"./single.js\";\nimport * as badge from \"./badge.js\";\nimport * as login from \"./login.js\";\nimport * as a11y from \"./a11y.js\";\nimport * as panel from \"./panel.js\";\nimport * as gpu from \"./gpu.js\";\nimport * as metrics from \"./metrics.js\";\nimport * as emoji from \"./emoji.js\";\nimport * as fileIcon from \"./fileIcon.js\";\n\nconst RPC_METHOD_PREFIX = \"app\";\n\n/**\n * Register all app module RPC handlers and set up event forwarding\n */\nexport function registerAppModule(rpc: RpcServer): void {\n  // ============================================================================\n  // Register RPC Methods\n  // ============================================================================\n\n  // App information (9 methods)\n  rpc.register(`${RPC_METHOD_PREFIX}.getName`, info.getNameHandler);\n  rpc.register(`${RPC_METHOD_PREFIX}.setName`, info.setNameHandler);\n  rpc.register(`${RPC_METHOD_PREFIX}.getVersion`, info.getVersionHandler);\n  rpc.register(`${RPC_METHOD_PREFIX}.getAppPath`, info.getAppPathHandler);\n  rpc.register(`${RPC_METHOD_PREFIX}.getLocale`, info.getLocaleHandler);\n  rpc.register(`${RPC_METHOD_PREFIX}.getSystemLocale`, info.getSystemLocaleHandler);\n  rpc.register(\n    `${RPC_METHOD_PREFIX}.getPreferredSystemLanguages`,\n    info.getPreferredSystemLanguagesHandler,\n  );\n  rpc.register(`${RPC_METHOD_PREFIX}.getLocaleCountryCode`, info.getLocaleCountryCodeHandler);\n  rpc.register(`${RPC_METHOD_PREFIX}.isReady`, info.isReadyHandler);\n\n  // Path management (3 methods)\n  rpc.register(`${RPC_METHOD_PREFIX}.getPath`, path.getPathHandler);\n  rpc.register(`${RPC_METHOD_PREFIX}.setPath`, path.setPathHandler);\n  rpc.register(`${RPC_METHOD_PREFIX}.setAppLogsPath`, path.setAppLogsPathHandler);\n\n  // App control (6 methods)\n  rpc.register(`${RPC_METHOD_PREFIX}.quit`, control.quitHandler);\n  rpc.register(`${RPC_METHOD_PREFIX}.exit`, control.exitHandler);\n  rpc.register(`${RPC_METHOD_PREFIX}.relaunch`, control.relaunchHandler);\n  rpc.register(`${RPC_METHOD_PREFIX}.focus`, control.focusHandler);\n  rpc.register(`${RPC_METHOD_PREFIX}.hide`, control.hideHandler);\n  rpc.register(`${RPC_METHOD_PREFIX}.show`, control.showHandler);\n\n  // Recent documents (3 methods)\n  rpc.register(`${RPC_METHOD_PREFIX}.addRecentDocument`, document.addRecentDocumentHandler);\n  rpc.register(`${RPC_METHOD_PREFIX}.clearRecentDocuments`, document.clearRecentDocumentsHandler);\n  rpc.register(`${RPC_METHOD_PREFIX}.getRecentDocuments`, document.getRecentDocumentsHandler);\n\n  // Protocol handling (3 methods)\n  rpc.register(\n    `${RPC_METHOD_PREFIX}.setAsDefaultProtocolClient`,\n    protocol.setAsDefaultProtocolClientHandler,\n  );\n  rpc.register(\n    `${RPC_METHOD_PREFIX}.removeAsDefaultProtocolClient`,\n    protocol.removeAsDefaultProtocolClientHandler,\n  );\n  rpc.register(\n    `${RPC_METHOD_PREFIX}.isDefaultProtocolClient`,\n    protocol.isDefaultProtocolClientHandler,\n  );\n\n  // Single instance lock (3 methods)\n  rpc.register(\n    `${RPC_METHOD_PREFIX}.requestSingleInstanceLock`,\n    single.requestSingleInstanceLockHandler,\n  );\n  rpc.register(`${RPC_METHOD_PREFIX}.hasSingleInstanceLock`, single.hasSingleInstanceLockHandler);\n  rpc.register(\n    `${RPC_METHOD_PREFIX}.releaseSingleInstanceLock`,\n    single.releaseSingleInstanceLockHandler,\n  );\n\n  // Badge notification (2 methods)\n  rpc.register(`${RPC_METHOD_PREFIX}.setBadgeCount`, badge.setBadgeCountHandler);\n  rpc.register(`${RPC_METHOD_PREFIX}.getBadgeCount`, badge.getBadgeCountHandler);\n\n  // Login item (2 methods)\n  rpc.register(`${RPC_METHOD_PREFIX}.getLoginItemSettings`, login.getLoginItemSettingsHandler);\n  rpc.register(`${RPC_METHOD_PREFIX}.setLoginItemSettings`, login.setLoginItemSettingsHandler);\n\n  // Accessibility (2 methods)\n  rpc.register(\n    `${RPC_METHOD_PREFIX}.isAccessibilitySupportEnabled`,\n    a11y.isAccessibilitySupportEnabledHandler,\n  );\n  rpc.register(\n    `${RPC_METHOD_PREFIX}.setAccessibilitySupportEnabled`,\n    a11y.setAccessibilitySupportEnabledHandler,\n  );\n\n  // About panel (2 methods)\n  rpc.register(`${RPC_METHOD_PREFIX}.showAboutPanel`, panel.showAboutPanelHandler);\n  rpc.register(`${RPC_METHOD_PREFIX}.setAboutPanelOptions`, panel.setAboutPanelOptionsHandler);\n\n  // GPU (2 methods)\n  rpc.register(`${RPC_METHOD_PREFIX}.getGPUFeatureStatus`, gpu.getGPUFeatureStatusHandler);\n  rpc.register(`${RPC_METHOD_PREFIX}.getGPUInfo`, gpu.getGPUInfoHandler);\n\n  // Process metrics (1 method)\n  rpc.register(`${RPC_METHOD_PREFIX}.getAppMetrics`, metrics.getAppMetricsHandler);\n\n  // Emoji panel (2 methods)\n  rpc.register(`${RPC_METHOD_PREFIX}.isEmojiPanelSupported`, emoji.isEmojiPanelSupportedHandler);\n  rpc.register(`${RPC_METHOD_PREFIX}.showEmojiPanel`, emoji.showEmojiPanelHandler);\n\n  // File icon (1 method)\n  rpc.register(`${RPC_METHOD_PREFIX}.getFileIcon`, fileIcon.getFileIconHandler);\n\n  // ============================================================================\n  // Event Forwarding\n  // ============================================================================\n\n  // Helper: Get safe window info\n  const getWindowInfo = (window: BrowserWindow) => ({\n    id: window.id,\n    title: window.getTitle(),\n  });\n\n  // Lifecycle events\n  app.on(\"window-all-closed\", () => {\n    rpc.publish(\"app.window-all-closed\");\n  });\n\n  app.on(\"quit\", (_, exitCode: number) => {\n    rpc.publish(\"app.quit\", { exitCode });\n  });\n\n  // Window events (only forward ID and title, not the actual BrowserWindow object)\n  app.on(\"browser-window-created\", (_, window: BrowserWindow) => {\n    rpc.publish(\"app.browser-window-created\", getWindowInfo(window));\n  });\n\n  app.on(\"browser-window-focus\", (_, window: BrowserWindow) => {\n    rpc.publish(\"app.browser-window-focus\", getWindowInfo(window));\n  });\n\n  app.on(\"browser-window-blur\", (_, window: BrowserWindow) => {\n    rpc.publish(\"app.browser-window-blur\", getWindowInfo(window));\n  });\n\n  // Web contents events (only forward ID)\n  app.on(\"web-contents-created\", (_, contents) => {\n    rpc.publish(\"app.web-contents-created\", { id: (contents as { id: number }).id });\n  });\n\n  // File/URL events\n  app.on(\"open-file\", (_, path: string) => {\n    rpc.publish(\"app.open-file\", { path });\n  });\n\n  app.on(\"open-url\", (_, url: string) => {\n    rpc.publish(\"app.open-url\", { url });\n  });\n\n  app.on(\"second-instance\", (_, argv: string[], workingDirectory: string) => {\n    rpc.publish(\"app.second-instance\", { argv, workingDirectory });\n  });\n\n  // Accessibility events\n  app.on(\"accessibility-support-changed\", (_, enabled: boolean) => {\n    rpc.publish(\"app.accessibility-support-changed\", { enabled });\n  });\n\n  // Note: \"ready\" and \"will-finish-launching\" events are NOT forwarded because:\n  // 1. They fire only once, usually before registerAppModule is called\n  // 2. Use app.isReady() method instead to check the current state\n}\n"],"mappings":"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"}