@qelos/global-types 3.8.3 → 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 CHANGED
@@ -1,31 +1,20 @@
1
- # License
1
+ Polyform Shield License 1.0.0
2
2
 
3
- ## Community Use - Apache License 2.0
3
+ Copyright (c) [שנת הפרסום] Qelos LTD
4
4
 
5
- This project is licensed under the **Apache License 2.0**. You are free to:
5
+ Your use of this software is governed by the Polyform Shield License 1.0.0.
6
6
 
7
- - **Use** the software for personal, educational, or community purposes.
8
- - **Modify** the software as needed.
9
- - **Distribute** copies of the software or modified versions.
7
+ You may obtain a copy of the License at:
8
+ https://polyformproject.org/licenses/shield/1.0.0
10
9
 
11
- ### Key Conditions:
12
- - You are not required to share modifications you make.
13
- - You may use this software internally, including within commercial settings, without any restrictions.
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.
14
11
 
15
- For full license details, see [Apache License 2.0](https://www.apache.org/licenses/LICENSE-2.0).
12
+ Additional Terms – Exception Notice:
16
13
 
17
- ## Restriction on Managed Services - Custom Clause
14
+ The author of this software grants additional permissions beyond the Polyform Shield License 1.0.0:
18
15
 
19
- While the software is open and free to use for internal or personal purposes, **you are not permitted to offer this software or any derivative of it as a paid managed service** or **Software as a Service (SaaS)** without explicit permission from Velocitech LTD.
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.
20
17
 
21
- ### Key Restriction:
22
- - You **may not** sell, offer, or commercialize this software as a managed service, SaaS, or any similar hosted service.
18
+ ❌ "Direct competition" includes platforms, tools, or services that enable users to visually or programmatically create SaaS applications with the assistance of artificial intelligence.
23
19
 
24
- ### How to Obtain Permission:
25
- If you wish to offer a managed or commercial version of this software, you must obtain a **commercial license** from Velocitech LTD. Please contact us at [support@qelos.io](mailto:support@qelos.io) for details.
26
-
27
- ## Additional Notes
28
-
29
- This license ensures the software remains free for personal use and community development, while protecting Velocitech LTD’s right to control the commercialization of managed services based on the software.
30
-
31
- For any questions regarding the license, feel free to reach out at [support@qelos.io].
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.
@@ -23,6 +23,7 @@ export interface IAuthConfigurationMetadata {
23
23
  backgroundImage?: string,
24
24
  socialLoginsSources?: {
25
25
  linkedin?: string,
26
+ facebook?: string,
26
27
  }
27
28
  allowSocialAutoRegistration?: boolean,
28
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,7 +6,8 @@ export enum IntegrationSourceKind {
6
6
  Supabase = 'supabase',
7
7
  LinkedIn = 'linkedin',
8
8
  Http = 'http',
9
- ClaudeAi = 'claudeai'
9
+ ClaudeAi = 'claudeai',
10
+ Facebook = 'facebook'
10
11
  }
11
12
 
12
13
  export interface IIntegrationSource {
@@ -28,6 +29,7 @@ export enum HttpTargetOperation {
28
29
 
29
30
  export enum QelosTriggerOperation {
30
31
  webhook = 'webhook',
32
+ chatCompletion = 'chatCompletion',
31
33
  }
32
34
 
33
35
  export enum QelosTargetOperation {
@@ -37,11 +39,17 @@ export enum QelosTargetOperation {
37
39
  updateUser = 'updateUser',
38
40
  setUserRoles = 'setUserRoles',
39
41
  setWorkspaceLabels = 'setWorkspaceLabels',
42
+ updateBlueprintEntity = 'updateBlueprintEntity',
40
43
  }
41
44
 
42
- export enum OpenAITargetOperation {
43
- chatCompletion = 'chatCompletion',
44
- }
45
+ export const OpenAITargetOperation = {
46
+ chatCompletion: 'chatCompletion',
47
+ functionCalling: 'functionCalling',
48
+ } as const;
49
+
50
+ export const EmailTargetOperation = {
51
+ sendEmail: 'sendEmail',
52
+ } as const;
45
53
 
46
54
  export enum ClaudeAITargetOperation {
47
55
  chatCompletion = 'chatCompletion',
@@ -115,6 +123,18 @@ export interface IEmailSource extends IIntegrationSource {
115
123
  };
116
124
  }
117
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
+
118
138
  export interface IHttpSource extends IIntegrationSource {
119
139
  _id?: string;
120
140
  kind: IntegrationSourceKind.Http;
@@ -124,6 +144,7 @@ export interface IHttpSource extends IIntegrationSource {
124
144
  metadata: {
125
145
  baseUrl: string;
126
146
  headers: Record<string, string>;
147
+ method: string;
127
148
  query: Record<string, string>;
128
149
  };
129
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.3",
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": "4f4acba1f01d2659431e3149cc6efa927926c5f1",
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
  }