twenty-sdk 2.1.0 → 2.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (41) hide show
  1. package/README.md +3 -3
  2. package/dist/billing/index.cjs.map +1 -1
  3. package/dist/billing/index.mjs +9 -9
  4. package/dist/billing/index.mjs.map +1 -1
  5. package/dist/cli/commands/add.d.ts +1 -0
  6. package/dist/cli/operations/deploy.d.ts +2 -0
  7. package/dist/cli/operations/index.d.ts +3 -0
  8. package/dist/cli/operations/server-upgrade.d.ts +12 -0
  9. package/dist/cli/types.d.ts +2 -0
  10. package/dist/cli/utilities/build/manifest/manifest-extract-config.d.ts +6 -2
  11. package/dist/cli/utilities/entity/entity-command-menu-item-template.d.ts +3 -0
  12. package/dist/cli/utilities/entity/entity-connection-provider-template.d.ts +4 -0
  13. package/dist/cli/utilities/file/append-server-variables.util.d.ts +22 -0
  14. package/dist/cli/utilities/server/docker-container.d.ts +5 -0
  15. package/dist/cli.cjs +147 -105
  16. package/dist/cli.mjs +3213 -3023
  17. package/dist/define/index.cjs +16 -16
  18. package/dist/define/index.cjs.map +1 -1
  19. package/dist/define/index.d.ts +73 -35
  20. package/dist/define/index.mjs +3386 -6646
  21. package/dist/define/index.mjs.map +1 -1
  22. package/dist/front-component/index.cjs +15 -15
  23. package/dist/front-component/index.cjs.map +1 -1
  24. package/dist/front-component/index.d.ts +12 -1
  25. package/dist/front-component/index.mjs +3274 -6566
  26. package/dist/front-component/index.mjs.map +1 -1
  27. package/dist/{get-function-input-schema-BZ7_XyUh-D38OurwZ.js → get-function-input-schema-BZ7_XyUh-BXB2AcBE.js} +1 -1
  28. package/dist/{get-function-input-schema-BZ7_XyUh-CKgoFzji.mjs → get-function-input-schema-BZ7_XyUh-PnCntsct.mjs} +1 -1
  29. package/dist/logic-function/index.cjs +1 -1
  30. package/dist/logic-function/index.cjs.map +1 -1
  31. package/dist/logic-function/index.d.ts +91 -20
  32. package/dist/logic-function/index.mjs +52 -1
  33. package/dist/logic-function/index.mjs.map +1 -1
  34. package/dist/operations.cjs +1 -1
  35. package/dist/operations.mjs +24 -18
  36. package/dist/ui/index.cjs +36 -2234
  37. package/dist/ui/index.mjs +11051 -17373
  38. package/dist/uninstall-BiLmSWhb.js +253 -0
  39. package/dist/{uninstall-Bw-TK4rL.mjs → uninstall-DAf2XiS3.mjs} +5064 -8113
  40. package/package.json +6 -2
  41. package/dist/uninstall-CYiYoBPe.js +0 -250
@@ -14,11 +14,16 @@ type AgentManifest = SyncableEntityOptions$1 & {
14
14
  modelId?: string;
15
15
  };
16
16
 
17
- type ApplicationVariable = SyncableEntityOptions$1 & {
17
+ type SecretApplicationVariable = SyncableEntityOptions$1 & {
18
+ description?: string;
19
+ isSecret: true;
20
+ };
21
+ type NonSecretApplicationVariable = SyncableEntityOptions$1 & {
18
22
  value?: string;
19
23
  description?: string;
20
- isSecret?: boolean;
24
+ isSecret?: false;
21
25
  };
26
+ type ApplicationVariable = SecretApplicationVariable | NonSecretApplicationVariable;
22
27
  type ApplicationVariables = Record<string, ApplicationVariable>;
23
28
 
24
29
  type ServerVariableSchema = {
@@ -41,7 +46,6 @@ type ApplicationManifest = SyncableEntityOptions$1 & {
41
46
  defaultRoleUniversalIdentifier: string;
42
47
  displayName: string;
43
48
  description: string;
44
- icon?: string;
45
49
  applicationVariables?: ApplicationVariables;
46
50
  serverVariables?: ServerVariables;
47
51
  author?: string;
@@ -60,6 +64,27 @@ type ApplicationManifest = SyncableEntityOptions$1 & {
60
64
  yarnLockChecksum: string | null;
61
65
  };
62
66
 
67
+ type OAuthProviderTokenRequestContentType = 'json' | 'form-urlencoded';
68
+
69
+ type OAuthConnectionProviderConfig = {
70
+ authorizationEndpoint: string;
71
+ tokenEndpoint: string;
72
+ revokeEndpoint?: string;
73
+ scopes: string[];
74
+ clientIdVariable: string;
75
+ clientSecretVariable: string;
76
+ authorizationParams?: Record<string, string>;
77
+ tokenRequestContentType?: OAuthProviderTokenRequestContentType;
78
+ usePkce?: boolean;
79
+ };
80
+
81
+ type ConnectionProviderManifest = SyncableEntityOptions$1 & {
82
+ name: string;
83
+ displayName: string;
84
+ type: 'oauth';
85
+ oauth: OAuthConnectionProviderConfig;
86
+ };
87
+
63
88
  declare const ALLOWED_ADDRESS_SUBFIELDS: readonly ["addressStreet1", "addressStreet2", "addressCity", "addressState", "addressPostcode", "addressCountry", "addressLat", "addressLng"];
64
89
  type AllowedAddressSubField = (typeof ALLOWED_ADDRESS_SUBFIELDS)[number];
65
90
 
@@ -131,7 +156,8 @@ declare enum ConnectedAccountProvider {
131
156
  MICROSOFT = "microsoft",
132
157
  IMAP_SMTP_CALDAV = "imap_smtp_caldav",
133
158
  OIDC = "oidc",
134
- SAML = "saml"
159
+ SAML = "saml",
160
+ APP = "app"
135
161
  }
136
162
 
137
163
  declare enum FieldActorSource {
@@ -394,32 +420,20 @@ declare enum HTTPMethod {
394
420
  DELETE = "DELETE"
395
421
  }
396
422
 
397
- /**
398
- * AWS HTTP API v2 compatible request format for logic functions
399
- * @see https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-develop-integrations-lambda.html
400
- *
401
- * @typeParam TBody - The type of the request body. Defaults to `object` for parsed JSON bodies.
402
- */
403
423
  type LogicFunctionEvent<TBody = object> = {
404
- /** HTTP headers (filtered by forwardedRequestHeaders in route trigger) */
405
424
  headers: Record<string, string | undefined>;
406
- /** Query string parameters (multiple values are joined with commas, e.g., "1,2,3") */
407
425
  queryStringParameters: Record<string, string | undefined>;
408
- /** Path parameters extracted from the route pattern (e.g., /users/:id → { id: '123' }). Multiple values are joined with commas. */
409
426
  pathParameters: Record<string, string | undefined>;
410
- /** Request body */
411
427
  body: TBody | null;
412
- /** Whether the body is base64 encoded */
428
+ rawBody?: string;
413
429
  isBase64Encoded: boolean;
414
- /** Request context containing HTTP method, path, and other metadata */
415
430
  requestContext: {
416
431
  http: {
417
- /** HTTP method (GET, POST, PUT, PATCH, DELETE) */
418
432
  method: string;
419
- /** Raw request path (e.g., /users/123) */
420
433
  path: string;
421
434
  };
422
435
  };
436
+ userWorkspaceId: string | null;
423
437
  };
424
438
 
425
439
  declare enum NavigationMenuItemType {
@@ -722,7 +736,6 @@ type CommandMenuItemManifest = SyncableEntityOptions$1 & {
722
736
  frontComponentUniversalIdentifier: string;
723
737
  conditionalAvailabilityExpression?: string;
724
738
  };
725
- type FrontComponentCommandManifest = Omit<CommandMenuItemManifest, 'frontComponentUniversalIdentifier'>;
726
739
  type FrontComponentManifest = {
727
740
  universalIdentifier: string;
728
741
  name?: string;
@@ -733,7 +746,6 @@ type FrontComponentManifest = {
733
746
  componentName: string;
734
747
  isHeadless?: boolean;
735
748
  usesSdkClient?: boolean;
736
- command?: FrontComponentCommandManifest;
737
749
  };
738
750
 
739
751
  type InputJsonSchema = {
@@ -748,6 +760,32 @@ type InputJsonSchema = {
748
760
  maximum?: number;
749
761
  };
750
762
 
763
+ type ToolTriggerSettings = {
764
+ inputSchema?: InputJsonSchema;
765
+ };
766
+
767
+ type LeafType = 'string' | 'number' | 'boolean' | 'array' | 'unknown';
768
+ type NodeType = 'object' | 'unknown';
769
+
770
+ type InputSchemaPropertyType = LeafType | NodeType | FieldMetadataType;
771
+ type InputSchemaProperty = {
772
+ type: InputSchemaPropertyType;
773
+ enum?: string[];
774
+ items?: InputSchemaProperty;
775
+ properties?: Properties$1;
776
+ };
777
+ type Properties$1 = {
778
+ [name: string]: InputSchemaProperty;
779
+ };
780
+ type InputSchema = InputSchemaProperty[];
781
+
782
+ type WorkflowActionTriggerSettings = {
783
+ inputSchema?: InputSchema;
784
+ outputSchema?: InputSchema;
785
+ icon?: string;
786
+ label?: string;
787
+ };
788
+
751
789
  type LogicFunctionManifest = SyncableEntityOptions$1 & {
752
790
  name?: string;
753
791
  description?: string;
@@ -755,12 +793,12 @@ type LogicFunctionManifest = SyncableEntityOptions$1 & {
755
793
  cronTriggerSettings?: CronTriggerSettings;
756
794
  databaseEventTriggerSettings?: DatabaseEventTriggerSettings;
757
795
  httpRouteTriggerSettings?: HttpRouteTriggerSettings;
796
+ toolTriggerSettings?: ToolTriggerSettings;
797
+ workflowActionTriggerSettings?: WorkflowActionTriggerSettings;
758
798
  sourceHandlerPath: string;
759
799
  builtHandlerPath: string;
760
800
  builtHandlerChecksum: string;
761
801
  handlerName: string;
762
- toolInputSchema: InputJsonSchema;
763
- isTool?: boolean;
764
802
  };
765
803
  type CronTriggerSettings = {
766
804
  pattern: string;
@@ -959,19 +997,18 @@ type ViewManifest = SyncableEntityOptions$1 & {
959
997
 
960
998
  type ApplicationConfig = Omit<ApplicationManifest, 'packageJsonChecksum' | 'yarnLockChecksum' | 'postInstallLogicFunction' | 'preInstallLogicFunction'>;
961
999
 
962
- type FrontComponentType = React.ComponentType<any>;
963
- type FrontComponentCommandConfig = Omit<FrontComponentCommandManifest, 'conditionalAvailabilityExpression'> & {
1000
+ type CommandMenuItemConfig = Omit<CommandMenuItemManifest, 'conditionalAvailabilityExpression'> & {
964
1001
  conditionalAvailabilityExpression?: boolean | string;
965
1002
  };
966
- type FrontComponentConfig = Omit<FrontComponentManifest, 'sourceComponentPath' | 'builtComponentPath' | 'builtComponentChecksum' | 'componentName' | 'usesSdkClient' | 'command'> & {
1003
+
1004
+ type FrontComponentType = React.ComponentType<any>;
1005
+ type FrontComponentConfig = Omit<FrontComponentManifest, 'sourceComponentPath' | 'builtComponentPath' | 'builtComponentChecksum' | 'componentName' | 'usesSdkClient'> & {
967
1006
  component: FrontComponentType;
968
- command?: FrontComponentCommandConfig;
969
1007
  };
970
1008
 
971
1009
  type LogicFunctionHandler = (...args: any[]) => any | Promise<any>;
972
- type LogicFunctionConfig = Omit<LogicFunctionManifest, 'sourceHandlerPath' | 'builtHandlerPath' | 'builtHandlerChecksum' | 'handlerName' | 'toolInputSchema'> & {
1010
+ type LogicFunctionConfig = Omit<LogicFunctionManifest, 'sourceHandlerPath' | 'builtHandlerPath' | 'builtHandlerChecksum' | 'handlerName'> & {
973
1011
  handler: LogicFunctionHandler;
974
- toolInputSchema?: InputJsonSchema;
975
1012
  };
976
1013
 
977
1014
  type ObjectConfig = Omit<ObjectManifest, 'labelIdentifierFieldMetadataUniversalIdentifier'> & {
@@ -992,7 +1029,7 @@ type InstallPayload = {
992
1029
  };
993
1030
  type InstallHandler = (payload: InstallPayload) => any | Promise<any>;
994
1031
 
995
- type PreInstallLogicFunctionConfig = Omit<LogicFunctionConfig, 'cronTriggerSettings' | 'databaseEventTriggerSettings' | 'httpRouteTriggerSettings' | 'isTool' | 'handler'> & {
1032
+ type PreInstallLogicFunctionConfig = Omit<LogicFunctionConfig, 'cronTriggerSettings' | 'databaseEventTriggerSettings' | 'httpRouteTriggerSettings' | 'toolTriggerSettings' | 'workflowActionTriggerSettings' | 'handler'> & {
996
1033
  handler: InstallHandler;
997
1034
  shouldRunOnVersionUpgrade?: boolean;
998
1035
  };
@@ -1012,7 +1049,7 @@ type ValidationResult<T> = {
1012
1049
  config: T;
1013
1050
  errors: string[];
1014
1051
  };
1015
- type DefinableEntity = ApplicationConfig | ObjectConfig | FieldManifest | FrontComponentConfig | LogicFunctionConfig | PostInstallLogicFunctionConfig | PreInstallLogicFunctionConfig | AgentManifest | RoleConfig | SkillManifest | ViewConfig | NavigationMenuItemManifest | PageLayoutConfig | PageLayoutTabConfig;
1052
+ type DefinableEntity = ApplicationConfig | ObjectConfig | FieldManifest | FrontComponentConfig | LogicFunctionConfig | PostInstallLogicFunctionConfig | PreInstallLogicFunctionConfig | AgentManifest | ConnectionProviderManifest | RoleConfig | SkillManifest | ViewConfig | NavigationMenuItemManifest | PageLayoutConfig | PageLayoutTabConfig | CommandMenuItemConfig;
1016
1053
  type DefineEntity<T extends DefinableEntity = DefinableEntity> = (config: T) => ValidationResult<T>;
1017
1054
 
1018
1055
  declare const defineAgent: DefineEntity<AgentManifest>;
@@ -1032,6 +1069,8 @@ declare const defineField: DefineEntity<FieldManifest>;
1032
1069
 
1033
1070
  declare const validateFields: (fields: ObjectFieldManifest[] | undefined) => string[];
1034
1071
 
1072
+ declare const defineCommandMenuItem: DefineEntity<CommandMenuItemConfig>;
1073
+
1035
1074
  declare const defineFrontComponent: DefineEntity<FrontComponentConfig>;
1036
1075
 
1037
1076
  declare const defineLogicFunction: DefineEntity<LogicFunctionConfig>;
@@ -1161,6 +1200,8 @@ type WorkspaceEventBatch<WorkspaceEvent> = {
1161
1200
  };
1162
1201
  type DatabaseEventPayload<T = ObjectRecordEvent> = Omit<WorkspaceEventBatch<T>, 'events'> & T;
1163
1202
 
1203
+ declare const defineConnectionProvider: DefineEntity<ConnectionProviderManifest>;
1204
+
1164
1205
  declare const defineNavigationMenuItem: DefineEntity<NavigationMenuItemManifest>;
1165
1206
 
1166
1207
  declare const defineObject: DefineEntity<ObjectConfig>;
@@ -2876,9 +2917,6 @@ declare const STANDARD_OBJECTS: {
2876
2917
  readonly messageThread: {
2877
2918
  readonly universalIdentifier: "20202020-30f2-4ccd-9f5c-e41bb9d26214";
2878
2919
  };
2879
- readonly direction: {
2880
- readonly universalIdentifier: "20202020-0203-4118-8e2a-05b9bdae6dab";
2881
- };
2882
2920
  readonly subject: {
2883
2921
  readonly universalIdentifier: "20202020-52d1-4036-b9ae-84bd722bb37a";
2884
2922
  };
@@ -4575,5 +4613,5 @@ declare const defineView: DefineEntity<ViewConfig>;
4575
4613
 
4576
4614
  declare const getPublicAssetUrl: (path: string) => string;
4577
4615
 
4578
- export { AggregateOperations, DateDisplayFormat, FieldMetadataSettingsOnClickAction, FieldMetadataType as FieldType, HTTPMethod, NavigationMenuItemType, NumberDataType, ObjectRecordBaseEvent, ObjectRecordCreateEvent, ObjectRecordDeleteEvent, ObjectRecordDestroyEvent, ObjectRecordGroupByDateGranularity, ObjectRecordRestoreEvent, ObjectRecordUpdateEvent, ObjectRecordUpsertEvent, RelationOnDeleteAction as OnDeleteAction, PageLayoutTabLayoutMode, PermissionFlagType as PermissionFlag, RelationType, STANDARD_OBJECTS as STANDARD_OBJECT, STANDARD_OBJECTS as STANDARD_OBJECT_UNIVERSAL_IDENTIFIERS, ViewFilterGroupLogicalOperator, ViewFilterOperand, ViewKey, ViewOpenRecordIn, ViewSortDirection, ViewType, ViewVisibility, createValidationResult, defineAgent, defineApplication, defineField, defineFrontComponent, defineLogicFunction, defineNavigationMenuItem, defineObject, definePageLayout, definePageLayoutTab, definePostInstallLogicFunction, definePreInstallLogicFunction, defineRole, defineSkill, defineView, generateDefaultFieldUniversalIdentifier, getPublicAssetUrl, validateFields };
4579
- export type { ActorMetadata as ActorField, AddressMetadata as AddressField, ApplicationConfig, CronPayload, CurrencyMetadata as CurrencyField, DatabaseEventPayload, DefinableEntity, DefineEntity, EmailsMetadata as EmailsField, FrontComponentCommandConfig, FrontComponentConfig, FrontComponentType, FullNameMetadata as FullNameField, GridPosition, InputJsonSchema, InstallHandler, InstallPayload, LinksMetadata as LinksField, LogicFunctionConfig, LogicFunctionHandler, ObjectRecordEvent, PageLayoutConfig, PageLayoutManifest, PageLayoutTabConfig, PageLayoutTabManifest, PageLayoutWidgetConditionalDisplay, PageLayoutWidgetManifest, PageLayoutWidgetUniversalConfiguration, PhonesMetadata as PhonesField, RichTextMetadata as RichTextField, LogicFunctionEvent as RoutePayload, SyncableEntityOptions, ValidationResult, ViewConfig, ViewFieldGroupManifest, ViewFieldManifest, ViewFilterGroupManifest, ViewFilterManifest, ViewGroupManifest, ViewManifestFilterValue, ViewSortManifest };
4616
+ export { AggregateOperations, DateDisplayFormat, FieldMetadataSettingsOnClickAction, FieldMetadataType as FieldType, HTTPMethod, NavigationMenuItemType, NumberDataType, ObjectRecordBaseEvent, ObjectRecordCreateEvent, ObjectRecordDeleteEvent, ObjectRecordDestroyEvent, ObjectRecordGroupByDateGranularity, ObjectRecordRestoreEvent, ObjectRecordUpdateEvent, ObjectRecordUpsertEvent, RelationOnDeleteAction as OnDeleteAction, PageLayoutTabLayoutMode, PermissionFlagType as PermissionFlag, RelationType, STANDARD_OBJECTS as STANDARD_OBJECT, STANDARD_OBJECTS as STANDARD_OBJECT_UNIVERSAL_IDENTIFIERS, ViewCalendarLayout, ViewFilterGroupLogicalOperator, ViewFilterOperand, ViewKey, ViewOpenRecordIn, ViewSortDirection, ViewType, ViewVisibility, createValidationResult, defineAgent, defineApplication, defineCommandMenuItem, defineConnectionProvider, defineField, defineFrontComponent, defineLogicFunction, defineNavigationMenuItem, defineObject, definePageLayout, definePageLayoutTab, definePostInstallLogicFunction, definePreInstallLogicFunction, defineRole, defineSkill, defineView, generateDefaultFieldUniversalIdentifier, getPublicAssetUrl, validateFields };
4617
+ export type { ActorMetadata as ActorField, AddressMetadata as AddressField, ApplicationConfig, CommandMenuItemConfig, CommandMenuItemManifest, CronPayload, CurrencyMetadata as CurrencyField, DatabaseEventPayload, DefinableEntity, DefineEntity, EmailsMetadata as EmailsField, FrontComponentConfig, FrontComponentType, FullNameMetadata as FullNameField, GridPosition, InputJsonSchema, InstallHandler, InstallPayload, LinksMetadata as LinksField, LogicFunctionConfig, LogicFunctionHandler, ObjectRecordEvent, PageLayoutConfig, PageLayoutManifest, PageLayoutTabConfig, PageLayoutTabManifest, PageLayoutWidgetConditionalDisplay, PageLayoutWidgetManifest, PageLayoutWidgetUniversalConfiguration, PhonesMetadata as PhonesField, RichTextMetadata as RichTextField, LogicFunctionEvent as RoutePayload, SyncableEntityOptions, ValidationResult, ViewConfig, ViewFieldGroupManifest, ViewFieldManifest, ViewFilterGroupManifest, ViewFilterManifest, ViewGroupManifest, ViewManifestFilterValue, ViewSortManifest };