Add HTTP PaddleOCR-VL settings and shared document previews for chat and knowledge imports. Preserve attachment originals and parsed assets across drafts, messages and queues; support explicit image OCR, selecting document images into a conversation draft, and restoring queued input for editing. Protect unsaved note bodies and titles during navigation and asynchronous updates. Match canvas analysis to source revisions, invalidate affected comments, preserve annotations during pagination, and provide a resizable record index with saved width preferences. Existing OCR settings retain local behavior. Historical attachments without saved originals are not reconstructed. Advanced OCR options depend on the configured service; image sending depends on the effective model and Runtime. Validation: full typecheck and lint passed; 477 focused tests passed across 12 files; staged whitespace checks passed. The full repository suite was not rerun for this commit. Release note: Keep note drafts safe while switching workspaces, resize the record index, and revisit saved document attachments with OCR previews and selected images in chat.
357 lines
17 KiB
TypeScript
357 lines
17 KiB
TypeScript
export const ipcChannels = {
|
|
localInferenceGet: 'local-inference:get',
|
|
localInferenceAct: 'local-inference:act',
|
|
localInferenceCancel: 'local-inference:cancel',
|
|
localInferenceOpenSettings: 'local-inference:open-settings',
|
|
storageUpgradeProgress: 'app:storage-upgrade:progress',
|
|
storageUpgradeAction: 'app:storage-upgrade:action',
|
|
externalInstancesList: 'knowledge:external-instances:list',
|
|
externalInstancesSave: 'knowledge:external-instances:save',
|
|
externalInstancesTest: 'knowledge:external-instances:test',
|
|
externalInstancesSetEnabled: 'knowledge:external-instances:set-enabled',
|
|
externalInstancesDelete: 'knowledge:external-instances:delete',
|
|
externalCatalogList: 'knowledge:external-catalog:list',
|
|
externalCatalogGet: 'knowledge:external-catalog:get',
|
|
externalBindingsCreate: 'knowledge:external-bindings:create',
|
|
externalBindingsUpdate: 'knowledge:external-bindings:update',
|
|
externalRetrievalTest: 'knowledge:external-retrieval:test',
|
|
appInfo: 'app:get-info',
|
|
appShow: 'app:show',
|
|
appHide: 'app:hide',
|
|
windowMinimize: 'window:minimize',
|
|
windowToggleMaximize: 'window:toggle-maximize',
|
|
windowClose: 'window:close',
|
|
windowIsMaximized: 'window:is-maximized',
|
|
windowMaximizedChanged: 'window:maximized-changed',
|
|
appRendererPersistenceReady: 'app:renderer-persistence-ready',
|
|
appRendererPersistenceRequest: 'app:renderer-persistence-request',
|
|
appRendererPersistenceComplete: 'app:renderer-persistence-complete',
|
|
appClearLocalData: 'app:clear-local-data',
|
|
clipboardReadText: 'clipboard:read-text',
|
|
clipboardWriteText: 'clipboard:write-text',
|
|
conversationNew: 'conversation:new',
|
|
settingsOpen: 'settings:open',
|
|
agentStatus: 'agent:get-status',
|
|
agentRun: 'agent:run',
|
|
agentCancel: 'agent:cancel',
|
|
agentApprovalRespond: 'agent:approval:respond',
|
|
agentQuestionRespond: 'agent:question:respond',
|
|
agentCompactConversation: 'agent:context:compact',
|
|
agentEvent: 'agent:event',
|
|
browserCreateTab: 'browser:tab:create',
|
|
browserListTabs: 'browser:tab:list',
|
|
browserCloseTab: 'browser:tab:close',
|
|
browserNavigate: 'browser:navigate',
|
|
browserBack: 'browser:back',
|
|
browserReload: 'browser:reload',
|
|
browserStopLoading: 'browser:stop-loading',
|
|
browserSnapshot: 'browser:snapshot',
|
|
browserClick: 'browser:click',
|
|
browserType: 'browser:type',
|
|
browserSelect: 'browser:select',
|
|
browserScreenshot: 'browser:screenshot',
|
|
browserSetViewport: 'browser:set-viewport',
|
|
browserStop: 'browser:stop',
|
|
browserState: 'browser:state',
|
|
terminalCreate: 'terminal:create',
|
|
terminalWrite: 'terminal:write',
|
|
terminalResize: 'terminal:resize',
|
|
terminalClose: 'terminal:close',
|
|
terminalSnapshot: 'terminal:snapshot',
|
|
terminalAck: 'terminal:ack',
|
|
terminalEvent: 'terminal:event',
|
|
runtimeSettingsGet: 'settings:runtime:get',
|
|
runtimeSettingsUpdate: 'settings:runtime:update',
|
|
runtimeSettingsSelectWorkspace: 'settings:runtime:select-workspace',
|
|
runtimeSettingsDetect: 'settings:runtime:detect',
|
|
runtimeSettingsSelectFile: 'settings:runtime:select-file',
|
|
runtimeSettingsOpenConfig: 'settings:runtime:open-config',
|
|
runtimeSettingsTestModel: 'settings:runtime:test-model',
|
|
runtimeSettingsTest: 'settings:runtime:test',
|
|
runtimeCustomizationGet: 'settings:runtime-customization:get',
|
|
runtimeCustomizationUpdate: 'settings:runtime-customization:update',
|
|
runtimeNativeSnapshot: 'settings:runtime-native:snapshot',
|
|
sshHostsGet: 'settings:ssh-hosts:get',
|
|
sshHostsRemove: 'settings:ssh-hosts:remove',
|
|
sshHostsInspectDraftKey: 'settings:ssh-hosts:inspect-draft-key',
|
|
sshHostsDiscardCandidate:
|
|
'settings:ssh-hosts:discard-candidate',
|
|
sshHostsValidateAndSave:
|
|
'settings:ssh-hosts:validate-and-save',
|
|
sshHostsAgentPackageInventory:
|
|
'settings:ssh-hosts:agent-package:inventory',
|
|
sshHostsAgentPackageDownload:
|
|
'settings:ssh-hosts:agent-package:download',
|
|
sshHostsAgentPackageImport:
|
|
'settings:ssh-hosts:agent-package:import',
|
|
sshHostsAgentPackageExport:
|
|
'settings:ssh-hosts:agent-package:export',
|
|
sshHostsAgentPackageProgress:
|
|
'settings:ssh-hosts:agent-package:progress',
|
|
sshHostsRemoteEnvironment:
|
|
'settings:ssh-hosts:remote-environment',
|
|
sshHostsUpdateRemoteEnvironment:
|
|
'settings:ssh-hosts:remote-environment:update',
|
|
sshHostsCancelRemoteEnvironmentUpdate:
|
|
'settings:ssh-hosts:remote-environment:update:cancel',
|
|
sshHostsRemoteEnvironmentUpdateProgress:
|
|
'settings:ssh-hosts:remote-environment:update:progress',
|
|
sshHostsBrowseDirectories:
|
|
'settings:ssh-hosts:directories:browse',
|
|
sshHostsCancelDirectoryBrowse:
|
|
'settings:ssh-hosts:directories:cancel',
|
|
sshHostsAgentConnectionStatus:
|
|
'settings:ssh-hosts:agent-connection-status',
|
|
channelSettingsGet: 'settings:channels:get',
|
|
channelSettingsApply: 'settings:channels:apply',
|
|
channelSettingsTest: 'settings:channels:test',
|
|
weixinBindingGet: 'settings:channels:weixin:binding:get',
|
|
weixinBindingStart: 'settings:channels:weixin:binding:start',
|
|
weixinBindingVerify: 'settings:channels:weixin:binding:verify',
|
|
weixinBindingDisconnect:
|
|
'settings:channels:weixin:binding:disconnect',
|
|
weixinBindingChanged:
|
|
'settings:channels:weixin:binding:changed',
|
|
remoteChannelActivity: 'channels:remote-activity',
|
|
applicationSettingsGet: 'settings:application:get',
|
|
applicationSettingsUpdate: 'settings:application:update',
|
|
applicationSettingsChanged: 'settings:application:changed',
|
|
localToolEnvironmentGet: 'settings:local-tools:get',
|
|
localToolEnvironmentUpdate: 'settings:local-tools:update',
|
|
localToolEnvironmentRefresh: 'settings:local-tools:refresh',
|
|
localToolEnvironmentSelectExecutable:
|
|
'settings:local-tools:select-executable',
|
|
localToolEnvironmentDiagnose: 'settings:local-tools:diagnose',
|
|
localToolEnvironmentInstallPython:
|
|
'settings:local-tools:python:install',
|
|
localToolEnvironmentCancelPython:
|
|
'settings:local-tools:python:cancel',
|
|
localToolEnvironmentRemovePython:
|
|
'settings:local-tools:python:remove',
|
|
localToolEnvironmentProgress: 'settings:local-tools:progress',
|
|
shortcutSettingsGet: 'settings:shortcut:get',
|
|
shortcutSettingsUpdate: 'settings:shortcut:update',
|
|
versionCheck: 'application:update:check',
|
|
versionOpenReleasePage: 'application:update:open-release-page',
|
|
versionCheckResult: 'application:update:result',
|
|
feedbackSubmit: 'feedback:submit',
|
|
releaseNotesGetPending: 'application:release-notes:get-pending',
|
|
releaseNotesAcknowledge: 'application:release-notes:acknowledge',
|
|
speechModelsGet: 'settings:speech-models:get',
|
|
speechModelsInstall: 'settings:speech-models:install',
|
|
speechModelsCancel: 'settings:speech-models:cancel',
|
|
speechModelsRemove: 'settings:speech-models:remove',
|
|
speechModelsSelect: 'settings:speech-models:select',
|
|
speechModelsImportArchive: 'settings:speech-models:import-archive',
|
|
speechModelsExportArchive: 'settings:speech-models:export-archive',
|
|
speechModelsOpenRepository: 'settings:speech-models:open-repository',
|
|
speechModelsOpenDirectory: 'settings:speech-models:open-directory',
|
|
speechTranscribe: 'speech:transcribe',
|
|
speechTranscriptionCancel: 'speech:transcription:cancel',
|
|
embeddingSettingsGet: 'settings:embedding:get',
|
|
embeddingDiagnose: 'settings:embedding:diagnose',
|
|
embeddingSetCurrent: 'settings:embedding:set-current',
|
|
embeddingModelsProgress: 'settings:embedding-models:progress',
|
|
embeddingModelsInstall: 'settings:embedding-models:install',
|
|
embeddingModelsCancel: 'settings:embedding-models:cancel',
|
|
embeddingModelsImportArchive:
|
|
'settings:embedding-models:import-archive',
|
|
embeddingModelsRemove: 'settings:embedding-models:remove',
|
|
documentParsingGet: 'settings:document-parsing:get',
|
|
documentParsingCheckHttp: 'settings:document-parsing:check-http',
|
|
documentParsingResult: 'document-parsing:result',
|
|
documentParsingImage: 'document-parsing:image',
|
|
documentParsingOriginal: 'document-parsing:original',
|
|
documentParsingRelease: 'document-parsing:release',
|
|
documentParsingCancel: 'document-parsing:cancel',
|
|
contextGetDraft: 'context:get-draft',
|
|
contextSaveDraft: 'context:save-draft',
|
|
contextAddResultImages: 'context:add-result-images',
|
|
contextDraftChanged: 'context:draft-changed',
|
|
contextReparse: 'context:reparse',
|
|
contextCancelParsing: 'context:cancel-parsing',
|
|
contextSendOriginal: 'context:send-original',
|
|
contextOpenOriginal: 'context:open-original',
|
|
contextCancelImport: 'context:cancel-import',
|
|
contextPendingParsing: 'context:pending-parsing',
|
|
contextRetryParsing: 'context:retry-parsing',
|
|
contextDismissParsing: 'context:dismiss-parsing',
|
|
contextCopyToDraft: 'context:copy-to-draft',
|
|
contextImageCapability: 'context:image-capability',
|
|
conversationQueueRestoreDraft: 'conversation-queue:restore-draft',
|
|
conversationQueueAttachments: 'conversation-queue:attachments',
|
|
documentOcrModelsProgress:
|
|
'settings:document-ocr-models:progress',
|
|
documentParsingUpdate: 'settings:document-parsing:update',
|
|
documentParsingTest: 'settings:document-parsing:test',
|
|
documentOcrModelsInstall: 'settings:document-ocr-models:install',
|
|
documentOcrModelsCancel: 'settings:document-ocr-models:cancel',
|
|
documentOcrModelsRemove: 'settings:document-ocr-models:remove',
|
|
documentOcrModelsImportArchive:
|
|
'settings:document-ocr-models:import-archive',
|
|
documentOcrModelsExportArchive:
|
|
'settings:document-ocr-models:export-archive',
|
|
documentOcrModelsOpenRepository:
|
|
'settings:document-ocr-models:open-repository',
|
|
documentOcrModelsOpenDirectory:
|
|
'settings:document-ocr-models:open-directory',
|
|
documentParsingOcrAssets: 'document-parsing:ocr:assets',
|
|
documentParsingOcrRequest: 'document-parsing:ocr:request',
|
|
documentParsingOcrRespond: 'document-parsing:ocr:respond',
|
|
documentParsingOcrCancel: 'document-parsing:ocr:cancel',
|
|
projectsList: 'projects:list',
|
|
projectsCreate: 'projects:create',
|
|
projectsUpdate: 'projects:update',
|
|
projectsSetArchived: 'projects:set-archived',
|
|
projectsDelete: 'projects:delete',
|
|
remoteProjectSave: 'projects:remote:save',
|
|
remoteProjectCancelCurrent: 'projects:remote:cancel-current',
|
|
remoteProjectSaveProgress: 'projects:remote:save-progress',
|
|
remoteProjectRecoveryGet: 'projects:remote:recovery:get',
|
|
remoteProjectRecoveryRetry: 'projects:remote:recovery:retry',
|
|
remoteProjectRecoveryProgress:
|
|
'projects:remote:recovery:progress',
|
|
conversationsList: 'conversations:list',
|
|
conversationsListSummaries: 'conversations:list-summaries',
|
|
conversationsGet: 'conversations:get',
|
|
conversationsSearch: 'conversations:search',
|
|
conversationsReplace: 'conversations:replace',
|
|
conversationsSaveLocal: 'conversations:save-local',
|
|
conversationsSetPinned: 'conversations:set-pinned',
|
|
conversationsBranchLocal: 'conversations:branch-local',
|
|
conversationsDeleteLocal: 'conversations:delete-local',
|
|
conversationsChanged: 'conversations:changed',
|
|
imageOperationCancel: 'image-operation:cancel',
|
|
imageOperationRegenerate: 'image-operation:regenerate',
|
|
imageOperationChanged: 'image-operation:changed',
|
|
conversationQueueList: 'conversation-queue:list',
|
|
conversationQueueEnqueueUser: 'conversation-queue:enqueue-user',
|
|
conversationQueueRemove: 'conversation-queue:remove',
|
|
conversationQueueInterruptAndRun:
|
|
'conversation-queue:interrupt-and-run',
|
|
conversationQueueReleaseUser: 'conversation-queue:release-user',
|
|
conversationQueueReady: 'conversation-queue:ready',
|
|
conversationQueueChanged: 'conversation-queue:changed',
|
|
conversationQueueDispatch: 'conversation-queue:dispatch',
|
|
workspaceChangesGet: 'workspace:changes:get',
|
|
workspaceManage: 'workspace:manage',
|
|
workspaceFileDiff: 'workspace:file:diff',
|
|
workspaceDirectoryList: 'workspace:directory:list',
|
|
workspaceFileRead: 'workspace:file:read',
|
|
workspacePathOpen: 'workspace:path:open',
|
|
tasksList: 'tasks:list',
|
|
tasksExecutionStats: 'tasks:execution-stats',
|
|
tasksSetStatus: 'tasks:set-status',
|
|
activityHistoryGet: 'activity-history:get',
|
|
activityHistoryReplace: 'activity-history:replace',
|
|
tokenUsageSummary: 'usage:token-summary',
|
|
artifactsList: 'artifacts:list',
|
|
artifactsGet: 'artifacts:get',
|
|
artifactsImportFiles: 'artifacts:import-files',
|
|
memoryList: 'memory:list',
|
|
memoryCreate: 'memory:create',
|
|
memorySetStatus: 'memory:set-status',
|
|
memoryRemove: 'memory:remove',
|
|
schedulesList: 'schedules:list',
|
|
schedulesCreate: 'schedules:create',
|
|
schedulesSetEnabled: 'schedules:set-enabled',
|
|
schedulesRemove: 'schedules:remove',
|
|
schedulesRunNow: 'schedules:run-now',
|
|
heartbeatsList: 'heartbeats:list',
|
|
heartbeatsCreate: 'heartbeats:create',
|
|
heartbeatsUpdate: 'heartbeats:update',
|
|
heartbeatsSetPaused: 'heartbeats:set-paused',
|
|
heartbeatsRemove: 'heartbeats:remove',
|
|
heartbeatsRunNow: 'heartbeats:run-now',
|
|
heartbeatsHistory: 'heartbeats:history',
|
|
expertsList: 'experts:list',
|
|
expertsCreate: 'experts:create',
|
|
expertsUpdate: 'experts:update',
|
|
expertsRemove: 'experts:remove',
|
|
capabilitiesSnapshot: 'capabilities:snapshot',
|
|
capabilitiesImportSkill: 'capabilities:skill:import',
|
|
capabilitiesRemoveSkill: 'capabilities:skill:remove',
|
|
capabilitiesToggleSkill: 'capabilities:skill:toggle',
|
|
capabilitiesAssignSkill: 'capabilities:skill:assign',
|
|
capabilitiesToggleBuiltinMcp: 'capabilities:builtin-mcp:toggle',
|
|
capabilitiesAssignBuiltinMcp: 'capabilities:builtin-mcp:assign',
|
|
capabilitiesSaveMcp: 'capabilities:mcp:save',
|
|
capabilitiesRemoveMcp: 'capabilities:mcp:remove',
|
|
capabilitiesTestMcp: 'capabilities:mcp:test',
|
|
capabilitiesToggleWebSearch: 'capabilities:web-search:toggle',
|
|
capabilitiesTestWebSearch: 'capabilities:web-search:test',
|
|
capabilitiesToggleComputer: 'capabilities:computer:toggle',
|
|
capabilitiesConfigureComputer: 'capabilities:computer:configure',
|
|
capabilitiesDiagnoseComputer: 'capabilities:computer:diagnose',
|
|
capabilitiesCreateBrowserProfile: 'capabilities:browser-profile:create',
|
|
capabilitiesRenameBrowserProfile: 'capabilities:browser-profile:rename',
|
|
capabilitiesDefaultBrowserProfile: 'capabilities:browser-profile:default',
|
|
capabilitiesRemoveBrowserProfile: 'capabilities:browser-profile:remove',
|
|
runtimeExtensionsSnapshot: 'runtime-extensions:snapshot',
|
|
runtimeExtensionsApply: 'runtime-extensions:apply',
|
|
contextSelectFiles: 'context:select-files',
|
|
contextImportFiles: 'context:import-files',
|
|
contextFileSelectionProgress: 'context:file-selection-progress',
|
|
contextAddPastedImage: 'context:add-pasted-image',
|
|
contextCaptureScreen: 'context:capture-screen',
|
|
contextListWindows: 'context:list-windows',
|
|
contextCaptureWindow: 'context:capture-window',
|
|
contextReadClipboard: 'context:read-clipboard',
|
|
contextRemove: 'context:remove',
|
|
magicNotesList: 'magic-notes:list',
|
|
magicNotesGet: 'magic-notes:get',
|
|
magicNotesCreate: 'magic-notes:create',
|
|
magicNotesUpdate: 'magic-notes:update',
|
|
magicNotesDelete: 'magic-notes:delete',
|
|
magicNotesCreateEntry: 'magic-notes:create-entry',
|
|
magicNotesUpdateEntry: 'magic-notes:update-entry',
|
|
magicNotesDeleteEntry: 'magic-notes:delete-entry',
|
|
magicNotesAnalyze: 'magic-notes:analyze',
|
|
magicNotesAnalyzeDraft: 'magic-notes:analyze-draft',
|
|
magicNotesAnalysisEvent: 'magic-notes:analysis-event',
|
|
magicTodosList: 'magic-todos:list',
|
|
magicTodosStatus: 'magic-todos:status',
|
|
magicTodosStatusChanged: 'magic-todos:status-changed',
|
|
magicNotesChanged: 'magic-notes:changed',
|
|
magicTodosUpdate: 'magic-todos:update',
|
|
magicTodosAnalyze: 'magic-todos:analyze',
|
|
knowledgeSnapshot: 'knowledge:snapshot',
|
|
knowledgeCreateLibrary: 'knowledge:library:create',
|
|
knowledgeUpdateLibrary: 'knowledge:library:update',
|
|
knowledgeDeleteLibrary: 'knowledge:library:delete',
|
|
knowledgeReextractGraph: 'knowledge:graph:reextract',
|
|
knowledgeSelectFiles: 'knowledge:source:select-files',
|
|
knowledgeSelectDirectory: 'knowledge:source:select-directory',
|
|
knowledgeImportPaths: 'knowledge:source:import-paths',
|
|
knowledgeImportUrl: 'knowledge:source:import-url',
|
|
knowledgeSyncSource: 'knowledge:source:sync',
|
|
knowledgePauseSource: 'knowledge:source:pause',
|
|
knowledgeRetrySource: 'knowledge:source:retry',
|
|
knowledgeRemoveSource: 'knowledge:source:remove',
|
|
knowledgeSearch: 'knowledge:search',
|
|
knowledgeRetrieve: 'knowledge:retrieve',
|
|
knowledgeUpdateSettings: 'knowledge:settings:update',
|
|
knowledgeListChunks: 'knowledge:chunks:list',
|
|
knowledgeUpdateChunk: 'knowledge:chunk:update',
|
|
knowledgeDeleteChunk: 'knowledge:chunk:delete',
|
|
knowledgeRebuildDocument: 'knowledge:document:rebuild',
|
|
knowledgeOpenDocumentSource: 'knowledge:document:open-source',
|
|
knowledgeRebuildLibrary: 'knowledge:library:rebuild',
|
|
knowledgeCancelRebuild: 'knowledge:library:rebuild:cancel',
|
|
knowledgeEmbeddingIndexGet: 'knowledge:embedding-index:get',
|
|
knowledgeEmbeddingIndexRebuild: 'knowledge:embedding-index:rebuild',
|
|
knowledgeEmbeddingIndexCancel: 'knowledge:embedding-index:cancel',
|
|
knowledgeTaskCancel: 'knowledge:task:cancel',
|
|
knowledgeTaskRetry: 'knowledge:task:retry',
|
|
knowledgeReferenceContext: 'knowledge:reference:context',
|
|
knowledgeOpenReferenceSource: 'knowledge:reference:open-source',
|
|
knowledgeCreateEntity: 'knowledge:entity:create',
|
|
knowledgeUpdateEntity: 'knowledge:entity:update',
|
|
knowledgeMoveEntity: 'knowledge:entity:move',
|
|
knowledgeDeleteEntity: 'knowledge:entity:delete',
|
|
knowledgeMergeEntities: 'knowledge:entity:merge',
|
|
knowledgeCreateRelation: 'knowledge:relation:create',
|
|
knowledgeUpdateRelation: 'knowledge:relation:update',
|
|
knowledgeDeleteRelation: 'knowledge:relation:delete'
|
|
} as const
|