feat: Add AI Agent workflow action node (#12650)

https://github.com/user-attachments/assets/8593e488-cb00-4fd2-b903-5ba5766e0254

---------

Co-authored-by: Antoine Moreaux <moreaux.antoine@gmail.com>
Co-authored-by: martmull <martmull@hotmail.fr>
Co-authored-by: Félix Malfait <felix.malfait@gmail.com>
Co-authored-by: Baptiste Devessier <baptiste@devessier.fr>
Co-authored-by: Joseph Chiang <josephj6802@gmail.com>
Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: Guillim <guillim@users.noreply.github.com>
Co-authored-by: Raphaël Bosi <71827178+bosiraphael@users.noreply.github.com>
Co-authored-by: Lucas Bordeau <bordeau.lucas@gmail.com>
Co-authored-by: Marie <51697796+ijreilly@users.noreply.github.com>
Co-authored-by: Naifer <161821705+omarNaifer12@users.noreply.github.com>
Co-authored-by: prastoin <paul@twenty.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: github-actions <github-actions@twenty.com>
Co-authored-by: Thomas Trompette <thomas.trompette@sfr.fr>
Co-authored-by: Etienne <45695613+etiennejouan@users.noreply.github.com>
Co-authored-by: Ajay A Adsule <103304466+AjayAdsule@users.noreply.github.com>
Co-authored-by: bosiraphael <raphael.bosi@gmail.com>
Co-authored-by: Charles Bochet <charles@twenty.com>
Co-authored-by: Marty <91310557+real-marty@users.noreply.github.com>
Co-authored-by: Félix Malfait <felix@twenty.com>
Co-authored-by: Charles Bochet <charlesBochet@users.noreply.github.com>
Co-authored-by: Cursor Agent <cursoragent@cursor.com>
Co-authored-by: Paul Rastoin <45004772+prastoin@users.noreply.github.com>
Co-authored-by: Weiko <corentin@twenty.com>
Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
Co-authored-by: nitin <142569587+ehconitin@users.noreply.github.com>
This commit is contained in:
Abdul Rahman
2025-06-23 01:12:04 +05:30
committed by GitHub
parent 22e126869c
commit 65df511179
75 changed files with 2268 additions and 30 deletions

View File

@ -57,6 +57,23 @@ export type AdminPanelWorkerQueueHealth = {
status: AdminPanelHealthServiceStatus;
};
export type Agent = {
__typename?: 'Agent';
createdAt: Scalars['DateTime']['output'];
description?: Maybe<Scalars['String']['output']>;
id: Scalars['UUID']['output'];
modelId: Scalars['String']['output'];
name: Scalars['String']['output'];
prompt: Scalars['String']['output'];
responseFormat?: Maybe<Scalars['JSON']['output']>;
updatedAt: Scalars['DateTime']['output'];
};
export type AgentIdInput = {
/** The id of the agent. */
id: Scalars['UUID']['input'];
};
export type Analytics = {
__typename?: 'Analytics';
/** Boolean that confirms query was dispatched */
@ -320,8 +337,18 @@ export type CheckUserExistOutput = {
isEmailVerified: Scalars['Boolean']['output'];
};
export type ClientAiModelConfig = {
__typename?: 'ClientAIModelConfig';
inputCostPer1kTokensInCredits: Scalars['Float']['output'];
label: Scalars['String']['output'];
modelId: Scalars['String']['output'];
outputCostPer1kTokensInCredits: Scalars['Float']['output'];
provider: ModelProvider;
};
export type ClientConfig = {
__typename?: 'ClientConfig';
aiModels: Array<ClientAiModelConfig>;
analyticsEnabled: Scalars['Boolean']['output'];
api: ApiConfig;
authProviders: AuthProviders;
@ -413,6 +440,14 @@ export type ConfigVariablesOutput = {
groups: Array<ConfigVariablesGroupData>;
};
export type CreateAgentInput = {
description?: InputMaybe<Scalars['String']['input']>;
modelId: Scalars['String']['input'];
name: Scalars['String']['input'];
prompt: Scalars['String']['input'];
responseFormat?: InputMaybe<Scalars['JSON']['input']>;
};
export type CreateAppTokenInput = {
expiresAt: Scalars['DateTime']['input'];
};
@ -944,6 +979,11 @@ export enum MessageChannelVisibility {
SUBJECT = 'SUBJECT'
}
export enum ModelProvider {
ANTHROPIC = 'ANTHROPIC',
OPENAI = 'OPENAI'
}
export type Mutation = {
__typename?: 'Mutation';
activateWorkflowVersion: Scalars['Boolean']['output'];
@ -957,6 +997,7 @@ export type Mutation = {
createDraftFromWorkflowVersion: WorkflowVersion;
createOIDCIdentityProvider: SetupSsoOutput;
createObjectEvent: Analytics;
createOneAgent: Agent;
createOneAppToken: AppToken;
createOneField: Field;
createOneObject: Object;
@ -969,6 +1010,7 @@ export type Mutation = {
deleteApprovedAccessDomain: Scalars['Boolean']['output'];
deleteCurrentWorkspace: Workspace;
deleteDatabaseConfigVariable: Scalars['Boolean']['output'];
deleteOneAgent: Agent;
deleteOneField: Field;
deleteOneObject: Object;
deleteOneRemoteServer: RemoteServer;
@ -1012,6 +1054,7 @@ export type Mutation = {
unsyncRemoteTable: RemoteTable;
updateDatabaseConfigVariable: Scalars['Boolean']['output'];
updateLabPublicFeatureFlag: FeatureFlagDto;
updateOneAgent: Agent;
updateOneField: Field;
updateOneObject: Object;
updateOneRemoteServer: RemoteServer;
@ -1093,6 +1136,11 @@ export type MutationCreateObjectEventArgs = {
};
export type MutationCreateOneAgentArgs = {
input: CreateAgentInput;
};
export type MutationCreateOneAppTokenArgs = {
input: CreateOneAppTokenInput;
};
@ -1148,6 +1196,11 @@ export type MutationDeleteDatabaseConfigVariableArgs = {
};
export type MutationDeleteOneAgentArgs = {
input: AgentIdInput;
};
export type MutationDeleteOneFieldArgs = {
input: DeleteOneFieldInput;
};
@ -1339,6 +1392,11 @@ export type MutationUpdateLabPublicFeatureFlagArgs = {
};
export type MutationUpdateOneAgentArgs = {
input: UpdateAgentInput;
};
export type MutationUpdateOneFieldArgs = {
input: UpdateOneFieldMetadataInput;
};
@ -1655,8 +1713,10 @@ export type Query = {
field: Field;
fields: FieldConnection;
findDistantTablesWithStatus: Array<RemoteTable>;
findManyAgents: Array<Agent>;
findManyRemoteServersByType: Array<RemoteServer>;
findManyServerlessFunctions: Array<ServerlessFunction>;
findOneAgent: Agent;
findOneRemoteServerById: RemoteServer;
findOneServerlessFunction: ServerlessFunction;
findWorkspaceFromInviteHash: Workspace;
@ -1726,6 +1786,11 @@ export type QueryFindManyRemoteServersByTypeArgs = {
};
export type QueryFindOneAgentArgs = {
input: AgentIdInput;
};
export type QueryFindOneRemoteServerByIdArgs = {
input: RemoteServerIdInput;
};
@ -2280,6 +2345,15 @@ export type UuidFilterComparison = {
notLike?: InputMaybe<Scalars['UUID']['input']>;
};
export type UpdateAgentInput = {
description?: InputMaybe<Scalars['String']['input']>;
id: Scalars['UUID']['input'];
modelId: Scalars['String']['input'];
name: Scalars['String']['input'];
prompt: Scalars['String']['input'];
responseFormat?: InputMaybe<Scalars['JSON']['input']>;
};
export type UpdateFieldInput = {
defaultValue?: InputMaybe<Scalars['JSON']['input']>;
description?: InputMaybe<Scalars['String']['input']>;