Integrate Composio for external tool access
Agents can now call external tools (GitHub, Slack, Gmail, etc.) via Composio's managed API. A thin HTTP client calls the Composio REST API directly — no heavy SDK dependency. External tools are loaded per-org from composio_settings and merged with internal tools at run time. The agent run loop routes composio_* tool calls to the Composio execution endpoint while internal tools dispatch as before. Includes: migration 043 for composio_settings table, IPC handler for saving Composio API key and toolkit configuration, and the composio client/bridge modules.
This commit is contained in:
1 parent
65c5bec9a3
commit
77f191fa25
12 files changed
+263
-10
No files matched your search
@@ -0,0 +1,5 @@
|
||||
export interface SaveComposioSettingsInput {
|
||||
orgId: string;
|
||||
apiKey: string;
|
||||
toolkits: string[];
|
||||
}
|
||||
@@ -7,3 +7,4 @@ export * from "./files";
|
||||
export * from "./governance";
|
||||
export * from "./collaboration";
|
||||
export * from "./onboarding";
|
||||
export * from "./composio";
|
||||
@@ -63,6 +63,7 @@ import type {
|
||||
RunTaskInput,
|
||||
RevokeProviderCredentialInput,
|
||||
SaveProviderCredentialInput,
|
||||
SaveComposioSettingsInput,
|
||||
SearchInput,
|
||||
SendMessageInput,
|
||||
SetActiveOrganizationInput,
|
||||
@@ -172,6 +173,7 @@ export interface DesktopApi {
|
||||
setLegalHoldState(input: SetLegalHoldStateInput): Promise<DesktopResult<AppSnapshot>>;
|
||||
createRetentionFreeze(input: CreateRetentionFreezeInput): Promise<DesktopResult<AppSnapshot>>;
|
||||
setRetentionFreezeState(input: SetRetentionFreezeStateInput): Promise<DesktopResult<AppSnapshot>>;
|
||||
saveComposioSettings(input: SaveComposioSettingsInput): Promise<DesktopResult<AppSnapshot>>;
|
||||
search(input: SearchInput): Promise<DesktopResult<SearchResultRecord[]>>;
|
||||
subscribe(callback: (event: RendererEvent) => void): () => void;
|
||||
platform: "win32" | "darwin" | "linux";
|
||||
|
||||
@@ -74,6 +74,7 @@ export const IPC_CHANNELS = {
|
||||
deleteMeeting: "agentcompany:delete-meeting",
|
||||
createSprint: "agentcompany:create-sprint",
|
||||
deleteSprint: "agentcompany:delete-sprint",
|
||||
saveComposioSettings: "agentcompany:save-composio-settings",
|
||||
search: "agentcompany:search",
|
||||
rendererEvent: "agentcompany:renderer-event",
|
||||
windowMinimize: "agentcompany:window-minimize",
|
||||
|
||||
Reference in new issue
Block a user