@qelos/plugin-play 3.8.3 → 3.10.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) 2025 Velocitech 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.
package/dist/config.js CHANGED
@@ -14,7 +14,7 @@ const config = {
14
14
  qelosUrl: process.env.QELOS_URL,
15
15
  qelosUsername: process.env.QELOS_USERNAME,
16
16
  qelosPassword: process.env.QELOS_PASSWORD,
17
- redisUrl: process.env.REDIS_URL,
17
+ redisUrl: process.env.REDIS_URL || (process.env.REDIS_HOST ? `${process.env.REDIS_HOST}:${process.env.REDIS_PORT}` : undefined),
18
18
  staticFrontend: {
19
19
  root: join(process.cwd(), process.env.STATIC_ROOT || 'public'),
20
20
  prefix: process.env.STATIC_PREFIX || '/',
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAG5B,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC;AAC9C,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,SAAS,CAAC;AAC3C,MAAM,MAAM,GAAG;IACb,IAAI,EAAE,IAAI;IACV,YAAY,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,IAAI,GAAG,CAAC,CAAC;IAC3D,IAAI,EAAE,IAAI;IACV,YAAY,EAAE,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,IAAI;IAC/C,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY;IAC1C,cAAc,EAAE,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE;IAC7D,kBAAkB,EAAE,OAAO,CAAC,GAAG,CAAC,oBAAoB;IACpD,iBAAiB,EAAE,OAAO,CAAC,GAAG,CAAC,mBAAmB;IAClD,iBAAiB,EAAE,OAAO,CAAC,GAAG,CAAC,mBAAmB;IAClD,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,SAAS;IAC/B,aAAa,EAAE,OAAO,CAAC,GAAG,CAAC,cAAc;IACzC,aAAa,EAAE,OAAO,CAAC,GAAG,CAAC,cAAc;IACzC,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,SAAS;IAC/B,cAAc,EAAE;QACd,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,QAAQ,CAAC;QAC9D,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,GAAG;KACzC;IACD,UAAU,EAAE,EAA8B;CAC3C,CAAC;AAIF,MAAM,UAAU,SAAS,CAAC,SAAwB;IAChD,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;AACnC,CAAC;AAED,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAG5B,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC;AAC9C,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,SAAS,CAAC;AAC3C,MAAM,MAAM,GAAG;IACb,IAAI,EAAE,IAAI;IACV,YAAY,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,IAAI,GAAG,CAAC,CAAC;IAC3D,IAAI,EAAE,IAAI;IACV,YAAY,EAAE,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,IAAI;IAC/C,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY;IAC1C,cAAc,EAAE,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE;IAC7D,kBAAkB,EAAE,OAAO,CAAC,GAAG,CAAC,oBAAoB;IACpD,iBAAiB,EAAE,OAAO,CAAC,GAAG,CAAC,mBAAmB;IAClD,iBAAiB,EAAE,OAAO,CAAC,GAAG,CAAC,mBAAmB;IAClD,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,SAAS;IAC/B,aAAa,EAAE,OAAO,CAAC,GAAG,CAAC,cAAc;IACzC,aAAa,EAAE,OAAO,CAAC,GAAG,CAAC,cAAc;IACzC,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,IAAI,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;IAC/H,cAAc,EAAE;QACd,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,QAAQ,CAAC;QAC9D,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,GAAG;KACzC;IACD,UAAU,EAAE,EAA8B;CAC3C,CAAC;AAIF,MAAM,UAAU,SAAS,CAAC,SAAwB;IAChD,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;AACnC,CAAC;AAED,eAAe,MAAM,CAAC"}
@@ -19,14 +19,15 @@ export type FrontendAuthorizationPayload = {
19
19
  code: string | number;
20
20
  token: string;
21
21
  };
22
+ export type NewTenantParams = {
23
+ username: string;
24
+ password: string;
25
+ appUrl: string;
26
+ };
22
27
  export type RefreshTokenHandler<T> = (tokenPayload: T & StandardPayload, request: FastifyRequest) => void | DataWithPayload<T> | Promise<void | DataWithPayload<T>>;
23
- export type NewTenantHandler<T> = ({ username, password, appUrl }: {
24
- username: any;
25
- password: any;
26
- appUrl: any;
27
- }, request: FastifyRequest) => void | DataWithPayload<T> | Promise<void | DataWithPayload<T>>;
28
+ export type NewTenantHandler<T> = (params: NewTenantParams, request: FastifyRequest) => void | DataWithPayload<T> | Promise<void | DataWithPayload<T>>;
28
29
  export type FrontendAuthorizationHandler = ({ returnUrl, user, tenant }: {
29
- returnUrl: any;
30
+ returnUrl: string;
30
31
  user: any;
31
32
  tenant: any;
32
33
  }, request: FastifyRequest) => void | FrontendAuthorizationPayload | Promise<void | FrontendAuthorizationPayload>;
@@ -1 +1 @@
1
- {"version":3,"file":"handlers.js","sourceRoot":"","sources":["../src/handlers.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,QAAQ,GAAG;IACtB,YAAY,EAAE,EAAE;IAChB,SAAS,EAAE,EAAE;IACb,QAAQ,EAAE,EAAE;IACZ,SAAS,EAAE,EAAE;IACb,QAAQ,EAAE,EAAE;IACZ,YAAY,EAAE,EAAE;IAChB,cAAc,EAAE,EAAE;CACnB,CAAA;AAqBD,MAAM,UAAU,cAAc,CAAU,OAA+B;IACrE,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AACtC,CAAC;AAED,MAAM,UAAU,WAAW,CAAU,OAA4B;IAC/D,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AACnC,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,OAAyC;IAClE,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAClC,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,OAAO;IACjC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AACnC,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,OAG+E;IACxG,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAClC,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,OAAqC;IAC3E,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AACtC,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,OAAuC;IAC/E,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AACxC,CAAC;AAED,eAAe,QAAQ,CAAC"}
1
+ {"version":3,"file":"handlers.js","sourceRoot":"","sources":["../src/handlers.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,QAAQ,GAAG;IACtB,YAAY,EAAE,EAAE;IAChB,SAAS,EAAE,EAAE;IACb,QAAQ,EAAE,EAAE;IACZ,SAAS,EAAE,EAAE;IACb,QAAQ,EAAE,EAAE;IACZ,YAAY,EAAE,EAAE;IAChB,cAAc,EAAE,EAAE;CACnB,CAAA;AA2BD,MAAM,UAAU,cAAc,CAAU,OAA+B;IACrE,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AACtC,CAAC;AAED,MAAM,UAAU,WAAW,CAAU,OAA4B;IAC/D,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AACnC,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,OAAyC;IAClE,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAClC,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,OAAO;IACjC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AACnC,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,OAG+E;IACxG,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAClC,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,OAAqC;IAC3E,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AACtC,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,OAAuC;IAC/E,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AACxC,CAAC;AAED,eAAe,QAAQ,CAAC"}
@@ -33,9 +33,8 @@ export interface GlobalMicroFrontend {
33
33
  iconName?: string;
34
34
  iconSvg?: string;
35
35
  };
36
- component?: {
37
- page: string;
38
- position: 'top' | 'left' | 'right' | 'bottom';
36
+ global?: {
37
+ position: string;
39
38
  };
40
39
  modal?: {
41
40
  name: string;
@@ -1 +1 @@
1
- {"version":3,"file":"micro-frontends.js","sourceRoot":"","sources":["../src/micro-frontends.ts"],"names":[],"mappings":"AAAA,OAAO,QAAyB,MAAM,YAAY,CAAC;AAYnD,MAAM,CAAN,IAAY,cAIX;AAJD,WAAY,cAAc;IACxB,6BAAW,CAAA;IACX,mCAAiB,CAAA;IACjB,iDAA+B,CAAA;AACjC,CAAC,EAJW,cAAc,KAAd,cAAc,QAIzB;AAqCD,MAAM,UAAU,gBAAgB,CAAC,GAAyB;IACxD,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,GAAG,GAAG,EAAE,CAAC,CAAC;AAC3C,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,KAAkB,EAAE,QAA6D;IACxH,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAClC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;QACrB,IAAI,GAAG,EAAE;YACP,gBAAgB,CAAC,EAAE,GAAG,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,GAAG,EAAE,EAAE,CAAC,CAAA;SACxE;IACH,CAAC,CAAC,CAAA;AACJ,CAAC"}
1
+ {"version":3,"file":"micro-frontends.js","sourceRoot":"","sources":["../src/micro-frontends.ts"],"names":[],"mappings":"AAAA,OAAO,QAAyB,MAAM,YAAY,CAAC;AAYnD,MAAM,CAAN,IAAY,cAIX;AAJD,WAAY,cAAc;IACxB,6BAAW,CAAA;IACX,mCAAiB,CAAA;IACjB,iDAA+B,CAAA;AACjC,CAAC,EAJW,cAAc,KAAd,cAAc,QAIzB;AAoCD,MAAM,UAAU,gBAAgB,CAAC,GAAyB;IACxD,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,GAAG,GAAG,EAAE,CAAC,CAAC;AAC3C,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,KAAkB,EAAE,QAA6D;IACxH,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAClC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;QACrB,IAAI,GAAG,EAAE;YACP,gBAAgB,CAAC,EAAE,GAAG,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,GAAG,EAAE,EAAE,CAAC,CAAA;SACxE;IACH,CAAC,CAAC,CAAA;AACJ,CAAC"}
package/dist/sdk.d.ts CHANGED
@@ -6,7 +6,7 @@ export declare function authenticate(): Promise<{
6
6
  refreshToken: string;
7
7
  };
8
8
  }>;
9
- export declare function getSdkForUrl<T = any>({ appUrl, refreshToken, accessToken, username, password, onRefresh }: {
9
+ export interface GetSdkForUrlOptions {
10
10
  appUrl: string;
11
11
  refreshToken?: string;
12
12
  accessToken?: string;
@@ -16,7 +16,8 @@ export declare function getSdkForUrl<T = any>({ appUrl, refreshToken, accessToke
16
16
  refreshToken: string;
17
17
  token: string;
18
18
  }) => void;
19
- }): QelosAdministratorSDK;
19
+ }
20
+ export declare function getSdkForUrl<T = any>({ appUrl, refreshToken, accessToken, username, password, onRefresh }: GetSdkForUrlOptions): QelosAdministratorSDK;
20
21
  export declare function getSdk(): QelosAdministratorSDK;
21
22
  export declare function getSdkForTenant(tenantPayload: StandardPayload): Promise<QelosAdministratorSDK | null>;
22
23
  export declare function getEncryptedDataForTenant(tenantPayload: StandardPayload, encryptedId?: string): Promise<any>;
package/dist/sdk.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"sdk.js","sourceRoot":"","sources":["../src/sdk.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sdk.js","sourceRoot":"","sources":["../src/sdk.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,14 +1,8 @@
1
1
  {
2
2
  "name": "@qelos/plugin-play",
3
- "version": "3.8.3",
3
+ "version": "3.10.0",
4
4
  "description": "Play a plugin for Qelos!",
5
5
  "main": "./dist/index.js",
6
- "scripts": {
7
- "create-certs": "node create-cert.js",
8
- "build": "tsc",
9
- "test": "tsx --test test/**/*.test.ts",
10
- "test:e2e": "tsx --test test/e2e/*.e2e.test.ts"
11
- },
12
6
  "author": "David Meir-Levy <davidmeirlevy@gmail.com>",
13
7
  "license": "MIT",
14
8
  "publishConfig": {
@@ -17,9 +11,10 @@
17
11
  "dependencies": {
18
12
  "@fastify/cookie": "^8.3.0",
19
13
  "@fastify/static": "^6.12.0",
20
- "@qelos/cache-manager": "^3.8.3",
21
- "@qelos/sdk": "^3.8.3",
22
- "@qelos/web-sdk": "^3.8.3",
14
+ "@qelos/cache-manager": "^3.9.0",
15
+ "@qelos/global-types": "^3.9.0",
16
+ "@qelos/sdk": "^3.9.0",
17
+ "@qelos/web-sdk": "^3.9.0",
23
18
  "fastify": "~4.15.0",
24
19
  "jsonwebtoken": "^9.0.2",
25
20
  "undici": "^6.20.1"
@@ -28,5 +23,12 @@
28
23
  "tsx": "^4.7.0",
29
24
  "typescript": "^4.9.5"
30
25
  },
31
- "gitHead": "4f4acba1f01d2659431e3149cc6efa927926c5f1"
32
- }
26
+ "gitHead": "13468bc51557291935b96b1aeaa837b8b52861e8",
27
+ "scripts": {
28
+ "create-certs": "node create-cert.js",
29
+ "type-check": "tsc --noEmit",
30
+ "build": "npm run type-check && tsc",
31
+ "test": "tsx --test test/**/*.test.ts",
32
+ "test:e2e": "tsx --test test/e2e/*.e2e.test.ts"
33
+ }
34
+ }
package/src/config.ts CHANGED
@@ -16,7 +16,7 @@ const config = {
16
16
  qelosUrl: process.env.QELOS_URL,
17
17
  qelosUsername: process.env.QELOS_USERNAME,
18
18
  qelosPassword: process.env.QELOS_PASSWORD,
19
- redisUrl: process.env.REDIS_URL,
19
+ redisUrl: process.env.REDIS_URL || (process.env.REDIS_HOST ? `${process.env.REDIS_HOST}:${process.env.REDIS_PORT}` : undefined),
20
20
  staticFrontend: {
21
21
  root: join(process.cwd(), process.env.STATIC_ROOT || 'public'),
22
22
  prefix: process.env.STATIC_PREFIX || '/',
package/src/handlers.ts CHANGED
@@ -15,17 +15,23 @@ export type DataWithPayload<T> = { payload: T & StandardPayload };
15
15
 
16
16
  export type FrontendAuthorizationPayload = { code: string | number, token: string }
17
17
 
18
+ export type NewTenantParams = {
19
+ username: string;
20
+ password: string;
21
+ appUrl: string;
22
+ }
23
+
18
24
  export type RefreshTokenHandler<T> = (tokenPayload: T & StandardPayload, request: FastifyRequest) => void | DataWithPayload<T> | Promise<void | DataWithPayload<T>>
19
- export type NewTenantHandler<T> = ({
20
- username,
21
- password,
22
- appUrl
23
- }, request: FastifyRequest) => void | DataWithPayload<T> | Promise<void | DataWithPayload<T>>
25
+ export type NewTenantHandler<T> = (params: NewTenantParams, request: FastifyRequest) => void | DataWithPayload<T> | Promise<void | DataWithPayload<T>>
24
26
 
25
27
  export type FrontendAuthorizationHandler = ({
26
28
  returnUrl,
27
29
  user,
28
30
  tenant
31
+ }: {
32
+ returnUrl: string;
33
+ user: any;
34
+ tenant: any;
29
35
  }, request: FastifyRequest) => void | FrontendAuthorizationPayload | Promise<void | FrontendAuthorizationPayload>;
30
36
  export type FrontendUnAuthorizationHandler = ({ user, tenant }) => any;
31
37
 
@@ -37,10 +37,9 @@ export interface GlobalMicroFrontend {
37
37
  iconName?: string;
38
38
  iconSvg?: string;
39
39
  };
40
- component?: {
41
- page: string;
42
- position: 'top' | 'left' | 'right' | 'bottom';
43
- },
40
+ global?: {
41
+ position: string;
42
+ }
44
43
  modal?: {
45
44
  name: string;
46
45
  params: string[] | Record<string, string>; // schema / hints for props
package/src/sdk.ts CHANGED
@@ -28,6 +28,15 @@ async function bootstrapAuthenticate() {
28
28
  }
29
29
  }
30
30
 
31
+ export interface GetSdkForUrlOptions {
32
+ appUrl: string;
33
+ refreshToken?: string;
34
+ accessToken?: string;
35
+ username?: string;
36
+ password?: string;
37
+ onRefresh?: ({ refreshToken, token }: { refreshToken: string, token: string }) => void
38
+ }
39
+
31
40
  export function getSdkForUrl<T = any>({
32
41
  appUrl,
33
42
  refreshToken,
@@ -35,14 +44,7 @@ export function getSdkForUrl<T = any>({
35
44
  username,
36
45
  password,
37
46
  onRefresh
38
- }: {
39
- appUrl: string;
40
- refreshToken?: string;
41
- accessToken?: string;
42
- username?: string;
43
- password?: string;
44
- onRefresh?: ({ refreshToken, token }: { refreshToken: string, token: string }) => void
45
- }): QelosAdministratorSDK {
47
+ }: GetSdkForUrlOptions): QelosAdministratorSDK {
46
48
  let sdk: QelosAdministratorSDK;
47
49
  const options: QelosSDKOptions = {
48
50
  appUrl,