Files
AgentCompany/src/shared/contracts/channels.ts
T
ZacharyZhang-NY c71d033b0c refactor: prune dead IPC surface and orphaned modules
Drop code that nothing consumed. Verified by full renderer+shared grep:
every removed channel had zero callers via window.agentCompany.* and
zero references from desktop-api types. No backend internal use either —
the database/API-server layers keep their methods, only the IPC exposure
goes.

Removed IPC handlers (26 total):

  Thread CRUD surface (12) — writes happen inside the backend
    createThread, listThreads, addThreadEvent,
    setThreadWaitState, resolveThreadWaitState,
    addParticipant, removeParticipant, listParticipants,
    subscribeThread, unsubscribeThread,
    listSubscriptions, listSubscribedThreads
    (kept reads: getThread, listThreadEvents, listThreadWaitStates)

  Half-implemented features (13)
    saveSecret, listComments, getAgentMetrics, getApiPort,
    listWakeupRequests, listAgentMessages, autoAssignTask,
    listRunEvents, recoveryDismiss,
    getHeartbeatPolicy, setHeartbeatPolicy,
    getRuntimeState, setRuntimeState

  Whole vertical slice: openConnectorAuthTerminal
    IPC handler + channel + preload + DesktopApi type +
    connector-auth-service function + useConnectorCallbacks
    handleLoginConnector + OnboardingContext.onLoginConnector +
    OnboardingWizard wiring. Pi-mono has no CLI auth flow;
    the no-op that "returned false for legacy UI compatibility"
    had no legacy UI left.

Orphaned modules (zero importers in repo):
  src/main/runtime-env.ts
  src/main/database-stale-recovery.ts

Dead schema files (only referenced by their own barrel re-export):
  schemas-participants, schemas-subscriptions, schemas-heartbeat,
  schemas-run-events, schemas-runtime-state, schemas-wakeup

Renderer leftovers:
  .activity-row-enter CSS + its two unreferenced keyframes
  5 orphan i18n keys (app.console, app.refresh, app.expand,
  activity.timeline, auto.trigger) left over from earlier feature
  deletions

Also update two unit tests that mocked openConnectorAuthTerminal in
the RegisterCoreHandlersDependencies pick.
2026-04-17 22:38:10 -04:00

112 lines
5.3 KiB
TypeScript

export const IPC_CHANNELS = {
loadSnapshot: "agent-company:load-snapshot",
pickDirectory: "agent-company:pick-directory",
openPath: "agent-company:open-path",
saveCompany: "agent-company:save-company",
setCurrentCompany: "agent-company:set-current-company",
saveConnector: "agent-company:save-connector",
testConnector: "agent-company:test-connector",
saveWorkspace: "agent-company:save-workspace",
saveAgent: "agent-company:save-agent",
requestHire: "agent-company:request-hire",
saveGoal: "agent-company:save-goal",
saveProject: "agent-company:save-project",
saveTask: "agent-company:save-task",
requestApproval: "agent-company:request-approval",
decideApproval: "agent-company:decide-approval",
startTaskRun: "agent-company:start-task-run",
cancelRun: "agent-company:cancel-run",
getRunLog: "agent-company:get-run-log",
getRunLogChunk: "agent-company:get-run-log-chunk",
backupProfile: "agent-company:backup-profile",
restoreProfile: "agent-company:restore-profile",
updateSettings: "agent-company:update-settings",
checkForUpdates: "agent-company:check-for-updates",
deleteCompany: "agent-company:delete-company",
deleteAgent: "agent-company:delete-agent",
deleteTask: "agent-company:delete-task",
deleteGoal: "agent-company:delete-goal",
deleteProject: "agent-company:delete-project",
deleteWorkspace: "agent-company:delete-workspace",
deleteApproval: "agent-company:delete-approval",
deleteSecret: "agent-company:delete-secret",
getSidebarBadges: "agent-company:get-sidebar-badges",
listConnectorModels: "agent-company:list-connector-models",
addComment: "agent-company:add-comment",
setHeartbeat: "agent-company:set-heartbeat",
triggerHeartbeat: "agent-company:trigger-heartbeat",
rendererEvent: "agent-company:event",
getInbox: "agent-company:get-inbox",
getCompanyMetrics: "agent-company:get-company-metrics",
getStandupReport: "agent-company:get-standup-report",
bootstrapOnboarding: "agent-company:bootstrap-onboarding",
checkNodeInstalled: "agent-company:check-node-installed",
openTerminalCommand: "agent-company:open-terminal-command",
saveSocialAccount: "agent-company:save-social-account",
deleteSocialAccount: "agent-company:delete-social-account",
listBrowserActions: "agent-company:list-browser-actions",
cancelBrowserAction: "agent-company:cancel-browser-action",
triggerBrowserLogin: "agent-company:trigger-browser-login",
saveMeeting: "agent-company:save-meeting",
deleteMeeting: "agent-company:delete-meeting",
saveDocument: "agent-company:save-document",
deleteDocument: "agent-company:delete-document",
saveKnowledgeEntry: "agent-company:save-knowledge-entry",
deleteKnowledgeEntry: "agent-company:delete-knowledge-entry",
saveSprint: "agent-company:save-sprint",
deleteSprint: "agent-company:delete-sprint",
saveAutomationRule: "agent-company:save-automation-rule",
deleteAutomationRule: "agent-company:delete-automation-rule",
toggleAutomationRule: "agent-company:toggle-automation-rule",
getAutomationLog: "agent-company:get-automation-log",
sendAgentMessage: "agent-company:send-agent-message",
markMessageRead: "agent-company:mark-message-read",
saveWorkflow: "agent-company:save-workflow",
deleteWorkflow: "agent-company:delete-workflow",
runWorkflow: "agent-company:run-workflow",
searchMessages: "agent-company:search-messages",
importSkill: "agent-company:import-skill",
listSkills: "agent-company:list-skills",
getSkillDetail: "agent-company:get-skill-detail",
getSkillMarkdown: "agent-company:get-skill-markdown",
deleteSkill: "agent-company:delete-skill",
assignSkillToAgent: "agent-company:assign-skill-to-agent",
removeSkillFromAgent: "agent-company:remove-skill-from-agent",
checkSkillUpdate: "agent-company:check-skill-update",
listSkillAgents: "agent-company:list-skill-agents",
listAgentSkills: "agent-company:list-agent-skills",
saveBudgetPolicy: "agent-company:save-budget-policy",
deleteBudgetPolicy: "agent-company:delete-budget-policy",
listBudgetPolicies: "agent-company:list-budget-policies",
listBudgetIncidents: "agent-company:list-budget-incidents",
resolveBudgetIncident: "agent-company:resolve-budget-incident",
getBudgetStatus: "agent-company:get-budget-status",
getTask: "agent-company:get-task",
getAgent: "agent-company:get-agent",
getRun: "agent-company:get-run",
getApproval: "agent-company:get-approval",
getConnectorDisabledModels: "agent-company:get-connector-disabled-models",
setConnectorDisabledModels: "agent-company:set-connector-disabled-models",
// Recovery
recoveryRetry: "recovery:retry",
recoveryFail: "recovery:fail",
// Thread runtime (read-only — writes happen inside the backend)
getThread: "agent-company:get-thread",
listThreadEvents: "agent-company:list-thread-events",
listThreadWaitStates: "agent-company:list-thread-wait-states",
windowMinimize: "window:minimize",
windowMaximize: "window:maximize",
windowClose: "window:close",
windowIsMaximized: "window:isMaximized",
// Credentials (pi-mono)
credentialsList: "credentials:list",
credentialsSave: "credentials:save",
credentialsRemove: "credentials:remove",
credentialsTest: "credentials:test",
// OAuth (pi-mono)
oauthStart: "oauth:start",
oauthCancel: "oauth:cancel",
oauthPromptResponse: "oauth:submit-prompt",
oauthManualCodeResponse: "oauth:submit-manual-code",
} as const;