@qelos/global-types 3.8.2 → 3.9.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.
package/LICENSE ADDED
@@ -0,0 +1,20 @@
1
+ Polyform Shield License 1.0.0
2
+
3
+ Copyright (c) [שנת הפרסום] Qelos LTD
4
+
5
+ Your use of this software is governed by the Polyform Shield License 1.0.0.
6
+
7
+ You may obtain a copy of the License at:
8
+ https://polyformproject.org/licenses/shield/1.0.0
9
+
10
+ Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11
+
12
+ Additional Terms – Exception Notice:
13
+
14
+ The author of this software grants additional permissions beyond the Polyform Shield License 1.0.0:
15
+
16
+ ✅ All uses of the software are permitted — including modification, distribution, commercial use, and sublicensing — as long as the software is not used to create, offer, or operate any product or service that competes directly with Qelos (https://qelos.io), a no-code platform for building AI-assisted SaaS applications.
17
+
18
+ ❌ "Direct competition" includes platforms, tools, or services that enable users to visually or programmatically create SaaS applications with the assistance of artificial intelligence.
19
+
20
+ This exception does not modify the terms of the original Polyform Shield License for other users and applies only by explicit permission of the licensor.
@@ -14,11 +14,16 @@ export interface IAuthConfigurationMetadata {
14
14
  treatUsernameAs: 'email' | 'username' | 'phone',
15
15
  formPosition: 'left' | 'right' | 'center' | 'top' | 'bottom',
16
16
  loginTitle?: string,
17
+ slots?: {
18
+ loginHeader?: string,
19
+ loginFooter?: string,
20
+ },
17
21
  showLoginPage: boolean,
18
22
  showRegisterPage: boolean,
19
23
  backgroundImage?: string,
20
24
  socialLoginsSources?: {
21
25
  linkedin?: string,
26
+ facebook?: string,
22
27
  }
23
28
  allowSocialAutoRegistration?: boolean,
24
29
  additionalUserFields: Array<IUserAdditionalField>
package/index.ts CHANGED
@@ -12,3 +12,5 @@ export * from './auth-configuration-metadata'
12
12
  export * from './app-configuration-metadata'
13
13
  export * from './integration-sources'
14
14
  export * from './integration'
15
+ export * from './integration-targets'
16
+ export * from './no-code-components';
@@ -6,6 +6,8 @@ export enum IntegrationSourceKind {
6
6
  Supabase = 'supabase',
7
7
  LinkedIn = 'linkedin',
8
8
  Http = 'http',
9
+ ClaudeAi = 'claudeai',
10
+ Facebook = 'facebook'
9
11
  }
10
12
 
11
13
  export interface IIntegrationSource {
@@ -27,6 +29,7 @@ export enum HttpTargetOperation {
27
29
 
28
30
  export enum QelosTriggerOperation {
29
31
  webhook = 'webhook',
32
+ chatCompletion = 'chatCompletion',
30
33
  }
31
34
 
32
35
  export enum QelosTargetOperation {
@@ -36,9 +39,19 @@ export enum QelosTargetOperation {
36
39
  updateUser = 'updateUser',
37
40
  setUserRoles = 'setUserRoles',
38
41
  setWorkspaceLabels = 'setWorkspaceLabels',
42
+ updateBlueprintEntity = 'updateBlueprintEntity',
39
43
  }
40
44
 
41
- export enum OpenAITargetOperation {
45
+ export const OpenAITargetOperation = {
46
+ chatCompletion: 'chatCompletion',
47
+ functionCalling: 'functionCalling',
48
+ } as const;
49
+
50
+ export const EmailTargetOperation = {
51
+ sendEmail: 'sendEmail',
52
+ } as const;
53
+
54
+ export enum ClaudeAITargetOperation {
42
55
  chatCompletion = 'chatCompletion',
43
56
  }
44
57
 
@@ -77,6 +90,14 @@ export interface ISupabaseSource extends IIntegrationSource {
77
90
  export interface IOpenAISource extends IIntegrationSource {
78
91
  _id?: string;
79
92
  kind: IntegrationSourceKind.OpenAI;
93
+ authentication: {
94
+ token: string;
95
+ }
96
+ }
97
+
98
+ export interface IClaudeAiSource extends IIntegrationSource {
99
+ _id?: string;
100
+ kind: IntegrationSourceKind.ClaudeAi;
80
101
  }
81
102
 
82
103
  export interface IN8nSource extends IIntegrationSource {
@@ -102,6 +123,18 @@ export interface IEmailSource extends IIntegrationSource {
102
123
  };
103
124
  }
104
125
 
126
+ export interface IFacebookSource extends IIntegrationSource {
127
+ _id?: string;
128
+ kind: IntegrationSourceKind.Facebook;
129
+ authentication: {
130
+ clientSecret: string;
131
+ };
132
+ metadata: {
133
+ clientId: string;
134
+ scope: string;
135
+ };
136
+ }
137
+
105
138
  export interface IHttpSource extends IIntegrationSource {
106
139
  _id?: string;
107
140
  kind: IntegrationSourceKind.Http;
@@ -111,6 +144,7 @@ export interface IHttpSource extends IIntegrationSource {
111
144
  metadata: {
112
145
  baseUrl: string;
113
146
  headers: Record<string, string>;
147
+ method: string;
114
148
  query: Record<string, string>;
115
149
  };
116
150
  }
@@ -0,0 +1,34 @@
1
+ export interface HttpTargetPayload {
2
+ method?: string;
3
+ url?: string;
4
+ headers?: Record<string, string>;
5
+ body?: Record<string, any>;
6
+ query?: Record<string, string>;
7
+ triggerResponse?: {
8
+ source?: string,
9
+ kind?: string,
10
+ eventName?: string,
11
+ description?: string,
12
+ metadata?: Record<string, any>,
13
+ }
14
+ }
15
+
16
+ export interface OpenAITargetPayload {
17
+ messages: (any & {role: string, content: string})[];
18
+ model?: string;
19
+ temperature?: number;
20
+ top_p?: number;
21
+ frequency_penalty?: number;
22
+ presence_penalty?: number;
23
+ stream?: boolean;
24
+ max_tokens?: number;
25
+ response_format?: { type: "text" | "json_object" };
26
+ system?: string;
27
+ triggerResponse?: {
28
+ source?: string,
29
+ kind?: string,
30
+ eventName?: string,
31
+ description?: string,
32
+ metadata?: Record<string, any>,
33
+ }
34
+ }
package/integration.ts CHANGED
@@ -2,7 +2,8 @@ export interface IDataManipulationStep {
2
2
  map: Record<string, string> // JQ expressions to be assigned to the key
3
3
  // populate data from given object using qelos source. If blueprint is provided, it will be used to fetch the blueprint entity
4
4
  populate: Record<string, { source: 'user' | 'workspace' | 'blueprintEntity' | 'blueprintEntities'; blueprint?: string; }>,
5
- clean?: boolean
5
+ clean?: boolean,
6
+ abort?: boolean | string
6
7
  }
7
8
 
8
9
  export interface IIntegration {
package/micro-frontend.ts CHANGED
@@ -30,11 +30,12 @@ export interface IMicroFrontend {
30
30
  roles: string[],
31
31
  navBarPosition: 'top' | 'bottom' | 'user-dropdown' | false;
32
32
  group?: string;
33
+ iconName?: string;
34
+ iconSvg?: string;
33
35
  };
34
- component?: {
35
- page: string;
36
- position: 'top' | 'left' | 'right' | 'bottom';
37
- };
36
+ global?: {
37
+ position: string;
38
+ }
38
39
  modal?: {
39
40
  name: string;
40
41
  params: string[] | Record<string, string>; // schema / hints for props
@@ -0,0 +1,41 @@
1
+ export interface INoCodeComponent {
2
+ /**
3
+ * MongoDB document ID
4
+ */
5
+ _id?: string;
6
+
7
+ /**
8
+ * Tenant identifier
9
+ */
10
+ tenant: string;
11
+
12
+ /**
13
+ * Unique identifier for the component
14
+ */
15
+ identifier: string;
16
+
17
+ /**
18
+ * Name of the component used in templates
19
+ */
20
+ componentName: string;
21
+
22
+ /**
23
+ * Optional description of the component
24
+ */
25
+ description?: string;
26
+
27
+ /**
28
+ * Creation timestamp
29
+ */
30
+ created: string | Date;
31
+
32
+ /**
33
+ * Last update timestamp
34
+ */
35
+ updated: string | Date;
36
+
37
+ /**
38
+ * Additional component properties can be added here as the schema evolves
39
+ */
40
+ [key: string]: any;
41
+ }
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@qelos/global-types",
3
- "version": "3.8.2",
3
+ "version": "3.9.0",
4
4
  "description": "",
5
5
  "main": "index.ts",
6
6
  "types": "index.ts",
7
7
  "scripts": {},
8
8
  "author": "",
9
- "gitHead": "dc75ba76bdb68c07b640d4469d9dffecf61759b1",
9
+ "gitHead": "13468bc51557291935b96b1aeaa837b8b52861e8",
10
10
  "license": "MIT",
11
11
  "publishConfig": {
12
12
  "access": "public"
package/query-filters.ts CHANGED
@@ -1,4 +1,8 @@
1
1
 
2
2
  export interface ICommonQueryFilters {
3
3
  $populate?: boolean;
4
+ $sort?: string;
5
+ $limit?: number;
6
+ $page?: number;
7
+ $flat?: boolean;
4
8
  }