Promote AgentCompany-New to the repository root and retire the old app
The legacy application - its src, tests, landing site, promo assets, docs, release tooling, CI workflows, and root configs - leaves the tree; it stays reachable in history. Everything under AgentCompany-New moves up unchanged: same package name, so the production userData/database path is untouched, and e2e/build scripts already resolved paths relative to the project. The developer cred.txt stays gitignored at its new location. Full verify:ci passes from the new root.
This commit is contained in:
1 parent
2350f744e3
commit
07d0b4587d
1904 files changed
+1133
-282075
No files matched your search
+93
-42
@@ -1,52 +1,103 @@
|
||||
import { contextBridge, ipcRenderer } from "electron";
|
||||
import { IPC_CHANNELS } from "@shared/contracts/channels";
|
||||
import type { DesktopApi } from "@shared/contracts/desktop-api";
|
||||
import {
|
||||
PRELOAD_FORWARDERS,
|
||||
PRELOAD_INPUT_SCHEMAS,
|
||||
mapPreloadInvokeArgs,
|
||||
type PreloadForwardedApi,
|
||||
} from "@shared/contracts/preload-forwarders";
|
||||
import type { DesktopEvent } from "@shared/types";
|
||||
import { IPC_CHANNELS } from "../shared/ipc";
|
||||
import type { DesktopApi, RendererEvent } from "../shared/desktop-api";
|
||||
|
||||
function createForwardedApi(): PreloadForwardedApi {
|
||||
const forwardedEntries = PRELOAD_FORWARDERS.map(({ api, channel, payload }) => {
|
||||
const schema = PRELOAD_INPUT_SCHEMAS[api];
|
||||
return [
|
||||
api,
|
||||
(...args: unknown[]) => ipcRenderer.invoke(
|
||||
IPC_CHANNELS[channel],
|
||||
...mapPreloadInvokeArgs(payload, args, schema),
|
||||
),
|
||||
];
|
||||
});
|
||||
|
||||
return Object.fromEntries(forwardedEntries) as PreloadForwardedApi;
|
||||
function invoke<T>(channel: string, payload?: unknown): Promise<T> {
|
||||
return ipcRenderer.invoke(channel, payload) as Promise<T>;
|
||||
}
|
||||
|
||||
const api: DesktopApi = {
|
||||
...createForwardedApi(),
|
||||
subscribe: (callback: (event: DesktopEvent) => void) => {
|
||||
const listener = (_event: Electron.IpcRendererEvent, payload: DesktopEvent) => callback(payload);
|
||||
loadSnapshot: () => invoke(IPC_CHANNELS.loadSnapshot),
|
||||
bootstrapOnboarding: (input) => invoke(IPC_CHANNELS.bootstrapOnboarding, input),
|
||||
createOrganization: (input) => invoke(IPC_CHANNELS.createOrganization, input),
|
||||
setActiveOrganization: (input) => invoke(IPC_CHANNELS.setActiveOrganization, input),
|
||||
deleteOrganization: (input) => invoke(IPC_CHANNELS.deleteOrganization, input),
|
||||
createAgent: (input) => invoke(IPC_CHANNELS.createAgent, input),
|
||||
updateAgent: (input) => invoke(IPC_CHANNELS.updateAgent, input),
|
||||
createTask: (input) => invoke(IPC_CHANNELS.createTask, input),
|
||||
updateTask: (input) => invoke(IPC_CHANNELS.updateTask, input),
|
||||
deleteTask: (input) => invoke(IPC_CHANNELS.deleteTask, input),
|
||||
updateTaskStatus: (input) => invoke(IPC_CHANNELS.updateTaskStatus, input),
|
||||
runTask: (input) => invoke(IPC_CHANNELS.runTask, input),
|
||||
createGoal: (input) => invoke(IPC_CHANNELS.createGoal, input),
|
||||
createProject: (input) => invoke(IPC_CHANNELS.createProject, input),
|
||||
createWorkspace: (input) => invoke(IPC_CHANNELS.createWorkspace, input),
|
||||
createDocument: (input) => invoke(IPC_CHANNELS.createDocument, input),
|
||||
updateDocument: (input) => invoke(IPC_CHANNELS.updateDocument, input),
|
||||
deleteDocument: (input) => invoke(IPC_CHANNELS.deleteDocument, input),
|
||||
createKnowledgeEntry: (input) => invoke(IPC_CHANNELS.createKnowledgeEntry, input),
|
||||
deleteKnowledgeEntry: (input) => invoke(IPC_CHANNELS.deleteKnowledgeEntry, input),
|
||||
createAutomationRule: (input) => invoke(IPC_CHANNELS.createAutomationRule, input),
|
||||
updateAutomationRule: (input) => invoke(IPC_CHANNELS.updateAutomationRule, input),
|
||||
deleteAutomationRule: (input) => invoke(IPC_CHANNELS.deleteAutomationRule, input),
|
||||
createMeeting: (input) => invoke(IPC_CHANNELS.createMeeting, input),
|
||||
deleteMeeting: (input) => invoke(IPC_CHANNELS.deleteMeeting, input),
|
||||
createSprint: (input) => invoke(IPC_CHANNELS.createSprint, input),
|
||||
deleteSprint: (input) => invoke(IPC_CHANNELS.deleteSprint, input),
|
||||
createApproval: (input) => invoke(IPC_CHANNELS.createApproval, input),
|
||||
decideApproval: (input) => invoke(IPC_CHANNELS.decideApproval, input),
|
||||
syncEmployeeIdentity: (input) => invoke(IPC_CHANNELS.syncEmployeeIdentity, input),
|
||||
grantRole: (input) => invoke(IPC_CHANNELS.grantRole, input),
|
||||
createChatSpace: (input) => invoke(IPC_CHANNELS.createChatSpace, input),
|
||||
sendMessage: (input) => invoke(IPC_CHANNELS.sendMessage, input),
|
||||
editMessage: (input) => invoke(IPC_CHANNELS.editMessage, input),
|
||||
deleteMessage: (input) => invoke(IPC_CHANNELS.deleteMessage, input),
|
||||
markChatSpaceRead: (input) => invoke(IPC_CHANNELS.markChatSpaceRead, input),
|
||||
saveProviderCredential: (input) => invoke(IPC_CHANNELS.saveProviderCredential, input),
|
||||
revokeProviderCredential: (input) => invoke(IPC_CHANNELS.revokeProviderCredential, input),
|
||||
launchProviderSignIn: (input) => invoke(IPC_CHANNELS.launchProviderSignIn, input),
|
||||
startProviderOAuth: (input) => invoke(IPC_CHANNELS.startProviderOAuth, input),
|
||||
cancelProviderOAuth: (input) => invoke(IPC_CHANNELS.cancelProviderOAuth, input),
|
||||
checkProviderHealth: (input) => invoke(IPC_CHANNELS.checkProviderHealth, input),
|
||||
listProviderModels: (input) => invoke(IPC_CHANNELS.listProviderModels, input),
|
||||
updateProviderPolicy: (input) => invoke(IPC_CHANNELS.updateProviderPolicy, input),
|
||||
openExternalUrl: (url) => invoke(IPC_CHANNELS.openExternalUrl, url),
|
||||
createProviderResponse: (input) => invoke(IPC_CHANNELS.createProviderResponse, input),
|
||||
streamProviderResponse: (input) => invoke(IPC_CHANNELS.streamProviderResponse, input),
|
||||
cancelProviderResponse: (input) => invoke(IPC_CHANNELS.cancelProviderResponse, input),
|
||||
importSkillDirectory: (input) => invoke(IPC_CHANNELS.importSkillDirectory, input),
|
||||
bindSkill: (input) => invoke(IPC_CHANNELS.bindSkill, input),
|
||||
resolveAgentSkills: (input) => invoke(IPC_CHANNELS.resolveAgentSkills, input),
|
||||
runSkillTests: (input) => invoke(IPC_CHANNELS.runSkillTests, input),
|
||||
createSocialAccount: (input) => invoke(IPC_CHANNELS.createSocialAccount, input),
|
||||
launchSocialLogin: (input) => invoke(IPC_CHANNELS.launchSocialLogin, input),
|
||||
createScheduledPost: (input) => invoke(IPC_CHANNELS.createScheduledPost, input),
|
||||
setScheduledPostState: (input) => invoke(IPC_CHANNELS.setScheduledPostState, input),
|
||||
importFile: (input) => invoke(IPC_CHANNELS.importFile, input),
|
||||
openFile: (input) => invoke(IPC_CHANNELS.openFile, input),
|
||||
pickDirectory: () => invoke(IPC_CHANNELS.pickDirectory),
|
||||
setFilePinned: (input) => invoke(IPC_CHANNELS.setFilePinned, input),
|
||||
createMigrationReport: (input) => invoke(IPC_CHANNELS.createMigrationReport, input),
|
||||
createRollbackSnapshot: (input) => invoke(IPC_CHANNELS.createRollbackSnapshot, input),
|
||||
setRollbackSnapshotActive: (input) => invoke(IPC_CHANNELS.setRollbackSnapshotActive, input),
|
||||
resolveMigrationReconciliation: (input) => invoke(IPC_CHANNELS.resolveMigrationReconciliation, input),
|
||||
setFeatureFlag: (input) => invoke(IPC_CHANNELS.setFeatureFlag, input),
|
||||
runChaosDrill: (input) => invoke(IPC_CHANNELS.runChaosDrill, input),
|
||||
runSdlcReview: (input) => invoke(IPC_CHANNELS.runSdlcReview, input),
|
||||
runEvalSuite: (input) => invoke(IPC_CHANNELS.runEvalSuite, input),
|
||||
setPrBotGate: (input) => invoke(IPC_CHANNELS.setPrBotGate, input),
|
||||
createComplianceExport: (input) => invoke(IPC_CHANNELS.createComplianceExport, input),
|
||||
createAuditReplay: (input) => invoke(IPC_CHANNELS.createAuditReplay, input),
|
||||
createLegalHold: (input) => invoke(IPC_CHANNELS.createLegalHold, input),
|
||||
setLegalHoldState: (input) => invoke(IPC_CHANNELS.setLegalHoldState, input),
|
||||
createRetentionFreeze: (input) => invoke(IPC_CHANNELS.createRetentionFreeze, input),
|
||||
setRetentionFreezeState: (input) => invoke(IPC_CHANNELS.setRetentionFreezeState, input),
|
||||
saveComposioSettings: (input) => invoke(IPC_CHANNELS.saveComposioSettings, input),
|
||||
listComposioToolkits: (input) => invoke(IPC_CHANNELS.listComposioToolkits, input),
|
||||
connectComposioToolkit: (input) => invoke(IPC_CHANNELS.connectComposioToolkit, input),
|
||||
refreshComposioAccounts: (input) => invoke(IPC_CHANNELS.refreshComposioAccounts, input),
|
||||
grantConnector: (input) => invoke(IPC_CHANNELS.grantConnector, input),
|
||||
revokeConnector: (input) => invoke(IPC_CHANNELS.revokeConnector, input),
|
||||
search: (input) => invoke(IPC_CHANNELS.search, input),
|
||||
subscribe: (callback) => {
|
||||
const listener = (_event: Electron.IpcRendererEvent, payload: RendererEvent) => callback(payload);
|
||||
ipcRenderer.on(IPC_CHANNELS.rendererEvent, listener);
|
||||
return () => {
|
||||
ipcRenderer.removeListener(IPC_CHANNELS.rendererEvent, listener);
|
||||
};
|
||||
},
|
||||
platform: process.platform as "win32" | "darwin" | "linux",
|
||||
windowMinimize: async () => {
|
||||
await ipcRenderer.invoke(IPC_CHANNELS.windowMinimize);
|
||||
},
|
||||
windowMaximize: async () => {
|
||||
await ipcRenderer.invoke(IPC_CHANNELS.windowMaximize);
|
||||
},
|
||||
windowClose: async () => {
|
||||
await ipcRenderer.invoke(IPC_CHANNELS.windowClose);
|
||||
},
|
||||
windowIsMaximized: async () => {
|
||||
const result = (await ipcRenderer.invoke(IPC_CHANNELS.windowIsMaximized)) as { ok: true; data: boolean } | { ok: false };
|
||||
return result.ok ? result.data : false;
|
||||
return () => ipcRenderer.removeListener(IPC_CHANNELS.rendererEvent, listener);
|
||||
},
|
||||
platform: process.platform as DesktopApi["platform"],
|
||||
windowMinimize: () => invoke<void>(IPC_CHANNELS.windowMinimize),
|
||||
windowMaximize: () => invoke<void>(IPC_CHANNELS.windowMaximize),
|
||||
windowClose: () => invoke<void>(IPC_CHANNELS.windowClose),
|
||||
};
|
||||
|
||||
contextBridge.exposeInMainWorld("agentCompany", api);
|
||||
Reference in new issue
Block a user