@qelos/sdk 3.11.11 → 4.1.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 (57) hide show
  1. package/README.md +31 -0
  2. package/dist/__tests__/blueprints.types.test-d.d.ts +28 -0
  3. package/dist/__tests__/blueprints.types.test-d.js +11 -0
  4. package/dist/__tests__/blueprints.types.test-d.js.map +1 -0
  5. package/dist/administrator/events.d.ts +5 -0
  6. package/dist/administrator/events.js +8 -0
  7. package/dist/administrator/events.js.map +1 -1
  8. package/dist/administrator/payments.d.ts +47 -1
  9. package/dist/administrator/payments.js +34 -0
  10. package/dist/administrator/payments.js.map +1 -1
  11. package/dist/ai/agents.d.ts +56 -0
  12. package/dist/ai/agents.js +116 -0
  13. package/dist/ai/agents.js.map +1 -0
  14. package/dist/ai/index.d.ts +9 -3
  15. package/dist/ai/index.js +8 -1
  16. package/dist/ai/index.js.map +1 -1
  17. package/dist/ai/types.d.ts +61 -0
  18. package/dist/authentication.d.ts +64 -1
  19. package/dist/authentication.js +137 -0
  20. package/dist/authentication.js.map +1 -1
  21. package/dist/base-sdk.d.ts +3 -0
  22. package/dist/base-sdk.js +16 -2
  23. package/dist/base-sdk.js.map +1 -1
  24. package/dist/blueprints-entities.d.ts +26 -0
  25. package/dist/blueprints-entities.js +91 -5
  26. package/dist/blueprints-entities.js.map +1 -1
  27. package/dist/blueprints.d.ts +3 -0
  28. package/dist/blueprints.js.map +1 -1
  29. package/dist/index.d.ts +5 -0
  30. package/dist/index.js +10 -1
  31. package/dist/index.js.map +1 -1
  32. package/dist/payments.d.ts +28 -2
  33. package/dist/payments.js +24 -0
  34. package/dist/payments.js.map +1 -1
  35. package/dist/workspaces.d.ts +16 -0
  36. package/dist/workspaces.js +40 -0
  37. package/dist/workspaces.js.map +1 -1
  38. package/docs/payments.md +301 -0
  39. package/package.json +2 -2
  40. package/src/__tests__/blueprints.types.test-d.ts +49 -0
  41. package/src/administrator/events.ts +6 -1
  42. package/src/administrator/payments.ts +74 -1
  43. package/src/ai/agents.ts +171 -0
  44. package/src/ai/index.ts +22 -4
  45. package/src/ai/types.ts +66 -0
  46. package/src/authentication.ts +181 -1
  47. package/src/base-sdk.ts +16 -2
  48. package/src/blueprints-entities.ts +113 -5
  49. package/src/blueprints.ts +9 -2
  50. package/src/index.ts +26 -1
  51. package/src/payments.ts +38 -2
  52. package/src/workspaces.ts +63 -0
  53. package/test/authentication-social.test.ts +48 -0
  54. package/test/base-sdk.test.ts +26 -1
  55. package/test/index.test.ts +2 -1
  56. package/test/qelos-sdk-refresh.test.ts +2 -1
  57. package/test/workspaces.test.ts +170 -0
@@ -37,9 +37,51 @@ export interface IApiToken {
37
37
  tokenPrefix: string;
38
38
  expiresAt: string;
39
39
  lastUsedAt?: string;
40
- workspace?: string;
40
+ /** Workspace scope when set; may be an id string or a populated `{ _id, name }` from list responses */
41
+ workspace?: string | {
42
+ _id: string;
43
+ name?: string;
44
+ } | null;
45
+ /** Successful API-token authentications (server-maintained). */
46
+ usageCount?: number;
41
47
  created: string;
42
48
  }
49
+ export type SocialProvider = 'linkedin' | 'facebook' | 'google' | 'github';
50
+ export interface SocialLoginOptions {
51
+ state?: string;
52
+ returnUrl?: string;
53
+ }
54
+ export interface SocialAuthCallbackPayload {
55
+ payload: BasicPayload & {
56
+ workspace?: any;
57
+ };
58
+ headers: {
59
+ 'set-cookie': string | null;
60
+ };
61
+ /**
62
+ * Present when the runtime exposes multiple `Set-Cookie` headers (Node fetch
63
+ * `getSetCookie()`). Use {@link getSocialAuthSetCookieParts} to apply cookies.
64
+ */
65
+ setCookieHeaders?: string[];
66
+ }
67
+ /** Callback URL or query bag carrying `rt` from `GET …/callback?rt=…`. */
68
+ export type SocialCallbackInput = string | URL | URLSearchParams | Record<string, string | string[] | undefined>;
69
+ /**
70
+ * Read the OAuth refresh token from a social callback request (query `rt`).
71
+ * Accepts a full URL, a {@link URL}, `URLSearchParams`, or a query object such
72
+ * as `req.query` from Next.js or Express.
73
+ */
74
+ export declare function parseSocialCallbackRefreshToken(input: SocialCallbackInput): string | undefined;
75
+ /** Lists individual `Set-Cookie` values from an exchange result for writing to a response. */
76
+ export declare function getSocialAuthSetCookieParts(result: SocialAuthCallbackPayload): string[];
77
+ /**
78
+ * Copies session cookies from {@link QlAuthentication.exchangeAuthCallback} /
79
+ * {@link QlAuthentication.socialCallback} onto an HTTP response (Express,
80
+ * Next.js Pages `NextApiResponse`, Node `ServerResponse`, etc.).
81
+ */
82
+ export declare function applySocialAuthCookiesToServerResponse(res: {
83
+ setHeader(name: string, value: string | string[]): void;
84
+ }, result: SocialAuthCallbackPayload): void;
43
85
  export default class QlAuthentication extends BaseSDK {
44
86
  #private;
45
87
  get accessToken(): string;
@@ -72,6 +114,17 @@ export default class QlAuthentication extends BaseSDK {
72
114
  refreshToken: string;
73
115
  };
74
116
  }>;
117
+ refreshCookieToken(cookieToken?: string): Promise<{
118
+ headers: {
119
+ 'set-cookie': string;
120
+ };
121
+ payload: BasicPayload & {
122
+ cookieToken: string;
123
+ workspace?: {
124
+ _id: string;
125
+ } | null;
126
+ };
127
+ }>;
75
128
  apiTokenSignin(apiToken: string): Promise<IUser>;
76
129
  listApiTokens(): Promise<IApiToken[]>;
77
130
  createApiToken(data: {
@@ -84,6 +137,16 @@ export default class QlAuthentication extends BaseSDK {
84
137
  }>;
85
138
  deleteApiToken(tokenId: string): Promise<void>;
86
139
  logout(): Promise<Response>;
140
+ getSocialLoginUrl(provider: SocialProvider, options?: SocialLoginOptions): string;
141
+ getSocialCallbackUrl(provider: SocialProvider): string;
142
+ startSocialLogin(provider: SocialProvider, options?: SocialLoginOptions): void;
143
+ exchangeAuthCallback(refreshToken: string): Promise<SocialAuthCallbackPayload>;
144
+ /**
145
+ * Full social callback: read `rt` from the request URL or query and exchange
146
+ * it for a session. Use with integrator routes that receive the provider
147
+ * callback with `?rt=` (refresh token) after OAuth.
148
+ */
149
+ socialCallback(input: SocialCallbackInput): Promise<SocialAuthCallbackPayload>;
87
150
  getLoggedInUser(): Promise<IUser>;
88
151
  updateLoggedInUser(changes: Partial<IUser & {
89
152
  password?: string;
@@ -1,4 +1,59 @@
1
1
  import BaseSDK from './base-sdk';
2
+ function collectSetCookieHeaders(res) {
3
+ const h = res.headers;
4
+ if (typeof h.getSetCookie === 'function') {
5
+ const list = h.getSetCookie();
6
+ return list.length ? list : undefined;
7
+ }
8
+ const single = res.headers.get('set-cookie');
9
+ return single ? [single] : undefined;
10
+ }
11
+ /**
12
+ * Read the OAuth refresh token from a social callback request (query `rt`).
13
+ * Accepts a full URL, a {@link URL}, `URLSearchParams`, or a query object such
14
+ * as `req.query` from Next.js or Express.
15
+ */
16
+ export function parseSocialCallbackRefreshToken(input) {
17
+ if (input instanceof URL) {
18
+ return input.searchParams.get('rt') ?? undefined;
19
+ }
20
+ if (typeof input === 'string') {
21
+ try {
22
+ const u = new URL(input, 'http://qelos.social-callback.invalid');
23
+ return u.searchParams.get('rt') ?? undefined;
24
+ }
25
+ catch {
26
+ return undefined;
27
+ }
28
+ }
29
+ if (input instanceof URLSearchParams) {
30
+ return input.get('rt') ?? undefined;
31
+ }
32
+ const raw = input['rt'];
33
+ if (Array.isArray(raw)) {
34
+ return raw[0] && typeof raw[0] === 'string' ? raw[0] : undefined;
35
+ }
36
+ return typeof raw === 'string' ? raw : undefined;
37
+ }
38
+ /** Lists individual `Set-Cookie` values from an exchange result for writing to a response. */
39
+ export function getSocialAuthSetCookieParts(result) {
40
+ if (result.setCookieHeaders?.length) {
41
+ return result.setCookieHeaders;
42
+ }
43
+ const h = result.headers['set-cookie'];
44
+ return h ? [h] : [];
45
+ }
46
+ /**
47
+ * Copies session cookies from {@link QlAuthentication.exchangeAuthCallback} /
48
+ * {@link QlAuthentication.socialCallback} onto an HTTP response (Express,
49
+ * Next.js Pages `NextApiResponse`, Node `ServerResponse`, etc.).
50
+ */
51
+ export function applySocialAuthCookiesToServerResponse(res, result) {
52
+ const parts = getSocialAuthSetCookieParts(result);
53
+ if (!parts.length)
54
+ return;
55
+ res.setHeader('Set-Cookie', parts.length === 1 ? parts[0] : parts);
56
+ }
2
57
  export default class QlAuthentication extends BaseSDK {
3
58
  #refreshToken;
4
59
  #accessToken;
@@ -88,6 +143,26 @@ export default class QlAuthentication extends BaseSDK {
88
143
  return data;
89
144
  });
90
145
  }
146
+ async refreshCookieToken(cookieToken) {
147
+ const headers = {};
148
+ if (cookieToken) {
149
+ headers.authorization = 'Bearer ' + cookieToken;
150
+ }
151
+ const res = await this.callApi('/api/cookie/refresh', {
152
+ method: 'post',
153
+ headers,
154
+ });
155
+ if (!res.ok) {
156
+ throw new Error('failed to refresh cookie token');
157
+ }
158
+ const body = (await res.json());
159
+ return {
160
+ ...body,
161
+ headers: {
162
+ 'set-cookie': res.headers?.get('set-cookie'),
163
+ },
164
+ };
165
+ }
91
166
  async apiTokenSignin(apiToken) {
92
167
  this.#apiToken = apiToken;
93
168
  this.qlOptions.apiToken = apiToken;
@@ -111,6 +186,68 @@ export default class QlAuthentication extends BaseSDK {
111
186
  logout() {
112
187
  return this.callApi('/api/logout', { method: 'post' });
113
188
  }
189
+ getSocialLoginUrl(provider, options = {}) {
190
+ const params = {};
191
+ if (options.state)
192
+ params.state = options.state;
193
+ if (options.returnUrl)
194
+ params.returnUrl = options.returnUrl;
195
+ const qs = Object.keys(params).length ? `?${new URLSearchParams(params)}` : '';
196
+ return this.buildUrl(`/api/auth/${provider}${qs}`);
197
+ }
198
+ getSocialCallbackUrl(provider) {
199
+ return this.buildUrl(`/api/auth/${provider}/callback`);
200
+ }
201
+ startSocialLogin(provider, options) {
202
+ const location = globalThis.location;
203
+ if (!location) {
204
+ throw new Error('startSocialLogin requires a browser environment');
205
+ }
206
+ location.href = this.getSocialLoginUrl(provider, options);
207
+ }
208
+ async exchangeAuthCallback(refreshToken) {
209
+ if (!refreshToken) {
210
+ throw new Error('refresh token is required');
211
+ }
212
+ const res = await this.callApi(`/api/auth/callback?rt=${encodeURIComponent(refreshToken)}`, {
213
+ method: 'post',
214
+ cache: 'no-store',
215
+ });
216
+ if (!res.ok) {
217
+ let detail = '';
218
+ try {
219
+ detail = (await res.text()).slice(0, 512);
220
+ }
221
+ catch {
222
+ /* ignore */
223
+ }
224
+ throw new Error(`failed to exchange refresh token: HTTP ${res.status}${detail ? ` — ${detail}` : ''}`);
225
+ }
226
+ const body = (await res.json());
227
+ const cookieParts = collectSetCookieHeaders(res);
228
+ const legacyCookie = cookieParts?.[0] ?? res.headers?.get('set-cookie');
229
+ return {
230
+ ...body,
231
+ headers: {
232
+ 'set-cookie': legacyCookie ?? null,
233
+ },
234
+ ...(cookieParts && cookieParts.length > 1
235
+ ? { setCookieHeaders: cookieParts }
236
+ : {}),
237
+ };
238
+ }
239
+ /**
240
+ * Full social callback: read `rt` from the request URL or query and exchange
241
+ * it for a session. Use with integrator routes that receive the provider
242
+ * callback with `?rt=` (refresh token) after OAuth.
243
+ */
244
+ async socialCallback(input) {
245
+ const refreshToken = parseSocialCallbackRefreshToken(input);
246
+ if (!refreshToken) {
247
+ throw new Error('missing rt query parameter');
248
+ }
249
+ return this.exchangeAuthCallback(refreshToken);
250
+ }
114
251
  getLoggedInUser() {
115
252
  return this.callJsonApi('/api/me');
116
253
  }
@@ -1 +1 @@
1
- {"version":3,"file":"authentication.js","sourceRoot":"","sources":["../src/authentication.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"authentication.js","sourceRoot":"","sources":["../src/authentication.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,11 @@
1
1
  import { QelosSDKOptions } from './types';
2
+ /** Path segment of a relative URL, without query or hash — used for auth routing in extraHeaders. */
3
+ export declare function relativeUrlPath(relativeUrl: string): string;
2
4
  export default class BaseSDK {
3
5
  #private;
4
6
  protected qlOptions: QelosSDKOptions;
5
7
  constructor(qlOptions: QelosSDKOptions);
8
+ protected buildUrl(relativeUrl: string): string;
6
9
  callApi(relativeUrl: string, data?: RequestInit): Promise<Response>;
7
10
  private handleFailedRefreshToken;
8
11
  private getContentType;
package/dist/base-sdk.js CHANGED
@@ -1,3 +1,14 @@
1
+ /** Path segment of a relative URL, without query or hash — used for auth routing in extraHeaders. */
2
+ export function relativeUrlPath(relativeUrl) {
3
+ const q = relativeUrl.indexOf('?');
4
+ const h = relativeUrl.indexOf('#');
5
+ let end = relativeUrl.length;
6
+ if (q !== -1)
7
+ end = Math.min(end, q);
8
+ if (h !== -1)
9
+ end = Math.min(end, h);
10
+ return end === relativeUrl.length ? relativeUrl : relativeUrl.slice(0, end);
11
+ }
1
12
  const ERRORS = {
2
13
  EXTRA_HEADERS: 'could not get extra headers',
3
14
  FAILED_REFRESH_TOKEN: 'could not handle failed refresh token',
@@ -12,12 +23,15 @@ export default class BaseSDK {
12
23
  this.#appUrl = qlOptions.appUrl?.endsWith('/') ? qlOptions.appUrl.slice(0, -1) : qlOptions.appUrl;
13
24
  this.#fetch = qlOptions.fetch || globalThis.fetch;
14
25
  }
26
+ buildUrl(relativeUrl) {
27
+ return (this.#appUrl || '') + relativeUrl;
28
+ }
15
29
  async callApi(relativeUrl, data) {
16
30
  data = data || {};
17
31
  data.headers = data.headers || {};
18
32
  if (this.qlOptions.extraHeaders) {
19
33
  try {
20
- const extraHeaders = await this.qlOptions.extraHeaders(relativeUrl);
34
+ const extraHeaders = await this.qlOptions.extraHeaders(relativeUrlPath(relativeUrl));
21
35
  Object.assign(data.headers, extraHeaders);
22
36
  }
23
37
  catch (e) {
@@ -69,7 +83,7 @@ export default class BaseSDK {
69
83
  let headers = {};
70
84
  if (this.qlOptions.extraHeaders) {
71
85
  try {
72
- headers = await this.qlOptions.extraHeaders(relativeUrl, true);
86
+ headers = await this.qlOptions.extraHeaders(relativeUrlPath(relativeUrl), true);
73
87
  }
74
88
  catch {
75
89
  // Ignore error during refresh attempt
@@ -1 +1 @@
1
- {"version":3,"file":"base-sdk.js","sourceRoot":"","sources":["../src/base-sdk.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"base-sdk.js","sourceRoot":"","sources":["../src/base-sdk.ts"],"names":[],"mappings":"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"}
@@ -10,6 +10,21 @@ export interface IBaseBlueprintEntity {
10
10
  updated: Date;
11
11
  metadata: any;
12
12
  }
13
+ export type BlueprintEntityFilters = Record<string, any>;
14
+ export declare class QlBlueprintEntitiesQuery<T = any> {
15
+ #private;
16
+ private entities;
17
+ constructor(entities: QlBlueprintEntities<T>);
18
+ where(filters: BlueprintEntityFilters): this;
19
+ limit(value: number): this;
20
+ skip(value: number): this;
21
+ sort(value: string): this;
22
+ select(fields: string | string[]): this;
23
+ toQuery(): ICommonQueryFilters & BlueprintEntityFilters;
24
+ find(extra?: RequestExtra): Promise<(IBaseBlueprintEntity & T)[]>;
25
+ findOne(extra?: RequestExtra): Promise<(IBaseBlueprintEntity & T) | undefined>;
26
+ count(extra?: RequestExtra): Promise<number>;
27
+ }
13
28
  export default class QlBlueprintEntities<T = any> extends BaseSDK {
14
29
  private options;
15
30
  private blueprintKey;
@@ -20,4 +35,15 @@ export default class QlBlueprintEntities<T = any> extends BaseSDK {
20
35
  remove(identifier: string, extra?: RequestExtra): Promise<any>;
21
36
  update(identifier: string, changes: Partial<T & IBaseBlueprintEntity>, extra?: RequestExtra): Promise<IBaseBlueprintEntity & T>;
22
37
  create(entity: T & IBaseBlueprintEntity, extra?: RequestExtra): Promise<IBaseBlueprintEntity & T>;
38
+ query(): QlBlueprintEntitiesQuery<T>;
39
+ where(filters: BlueprintEntityFilters): QlBlueprintEntitiesQuery<T>;
40
+ limit(value: number): QlBlueprintEntitiesQuery<T>;
41
+ skip(value: number): QlBlueprintEntitiesQuery<T>;
42
+ sort(value: string): QlBlueprintEntitiesQuery<T>;
43
+ select(fields: string | string[]): QlBlueprintEntitiesQuery<T>;
44
+ find(extra?: RequestExtra): Promise<(IBaseBlueprintEntity & T)[]>;
45
+ findOne(identifier: string, extra?: RequestExtra): Promise<IBaseBlueprintEntity & T>;
46
+ count(query?: BlueprintEntityFilters, extra?: RequestExtra): Promise<number>;
47
+ updateOne(identifier: string, changes: Partial<T & IBaseBlueprintEntity>, extra?: RequestExtra): Promise<IBaseBlueprintEntity & T>;
48
+ deleteOne(identifier: string, extra?: RequestExtra): Promise<any>;
23
49
  }
@@ -1,4 +1,55 @@
1
1
  import BaseSDK from './base-sdk';
2
+ // Blueprint entity responses default to the flat shape. Pass $flat: false (or 0)
3
+ // to opt back into the wrapped shape; this also keeps SDK behavior consistent
4
+ // against older servers that defaulted to wrapped.
5
+ function withFlatDefault(query) {
6
+ if (query && '$flat' in query) {
7
+ return query;
8
+ }
9
+ return { ...(query || {}), $flat: true };
10
+ }
11
+ export class QlBlueprintEntitiesQuery {
12
+ entities;
13
+ #filters = {};
14
+ #options = {};
15
+ constructor(entities) {
16
+ this.entities = entities;
17
+ }
18
+ where(filters) {
19
+ Object.assign(this.#filters, filters);
20
+ return this;
21
+ }
22
+ limit(value) {
23
+ this.#options.$limit = value;
24
+ return this;
25
+ }
26
+ skip(value) {
27
+ this.#options.$skip = value;
28
+ return this;
29
+ }
30
+ sort(value) {
31
+ this.#options.$sort = value;
32
+ return this;
33
+ }
34
+ select(fields) {
35
+ this.#options.$select = Array.isArray(fields) ? fields.join(',') : fields;
36
+ return this;
37
+ }
38
+ toQuery() {
39
+ return { ...this.#filters, ...this.#options };
40
+ }
41
+ find(extra) {
42
+ return this.entities.getList(this.toQuery(), extra);
43
+ }
44
+ findOne(extra) {
45
+ return this.entities
46
+ .getList({ ...this.toQuery(), $limit: 1 }, extra)
47
+ .then((results) => results?.[0]);
48
+ }
49
+ count(extra) {
50
+ return this.entities.count(this.toQuery(), extra);
51
+ }
52
+ }
2
53
  export default class QlBlueprintEntities extends BaseSDK {
3
54
  options;
4
55
  blueprintKey;
@@ -9,16 +60,16 @@ export default class QlBlueprintEntities extends BaseSDK {
9
60
  this.blueprintKey = blueprintKey;
10
61
  }
11
62
  getEntity(identifier, extra) {
12
- return this.callJsonApi(`${this.relativePath}/${this.blueprintKey}/entities/${identifier}${this.getQueryParams(extra?.query)}`, extra);
63
+ return this.callJsonApi(`${this.relativePath}/${this.blueprintKey}/entities/${identifier}${this.getQueryParams(withFlatDefault(extra?.query))}`, extra);
13
64
  }
14
65
  getList(query, extra) {
15
- return this.callJsonApi(`${this.relativePath}/${this.blueprintKey}/entities${this.getQueryParams(query)}`, extra);
66
+ return this.callJsonApi(`${this.relativePath}/${this.blueprintKey}/entities${this.getQueryParams(withFlatDefault(query))}`, extra);
16
67
  }
17
68
  remove(identifier, extra) {
18
- return this.callApi(`${this.relativePath}/${this.blueprintKey}/entities/${identifier}${this.getQueryParams(extra?.query)}`, { method: 'delete' });
69
+ return this.callApi(`${this.relativePath}/${this.blueprintKey}/entities/${identifier}${this.getQueryParams(withFlatDefault(extra?.query))}`, { method: 'delete' });
19
70
  }
20
71
  update(identifier, changes, extra) {
21
- return this.callJsonApi(`${this.relativePath}/${this.blueprintKey}/entities/${identifier}${this.getQueryParams(extra?.query)}`, {
72
+ return this.callJsonApi(`${this.relativePath}/${this.blueprintKey}/entities/${identifier}${this.getQueryParams(withFlatDefault(extra?.query))}`, {
22
73
  method: 'put',
23
74
  headers: { 'content-type': 'application/json' },
24
75
  body: JSON.stringify(changes),
@@ -26,12 +77,47 @@ export default class QlBlueprintEntities extends BaseSDK {
26
77
  });
27
78
  }
28
79
  create(entity, extra) {
29
- return this.callJsonApi(`${this.relativePath}/${this.blueprintKey}/entities${this.getQueryParams(extra?.query)}`, {
80
+ return this.callJsonApi(`${this.relativePath}/${this.blueprintKey}/entities${this.getQueryParams(withFlatDefault(extra?.query))}`, {
30
81
  method: 'post',
31
82
  headers: { 'content-type': 'application/json' },
32
83
  body: JSON.stringify(entity),
33
84
  ...(extra || {}),
34
85
  });
35
86
  }
87
+ query() {
88
+ return new QlBlueprintEntitiesQuery(this);
89
+ }
90
+ where(filters) {
91
+ return this.query().where(filters);
92
+ }
93
+ limit(value) {
94
+ return this.query().limit(value);
95
+ }
96
+ skip(value) {
97
+ return this.query().skip(value);
98
+ }
99
+ sort(value) {
100
+ return this.query().sort(value);
101
+ }
102
+ select(fields) {
103
+ return this.query().select(fields);
104
+ }
105
+ find(extra) {
106
+ return this.getList(undefined, extra);
107
+ }
108
+ findOne(identifier, extra) {
109
+ return this.getEntity(identifier, extra);
110
+ }
111
+ count(query, extra) {
112
+ return this
113
+ .callJsonApi(`${this.relativePath}/${this.blueprintKey}/charts/count${this.getQueryParams(query)}`, extra)
114
+ .then((res) => res?.count ?? 0);
115
+ }
116
+ updateOne(identifier, changes, extra) {
117
+ return this.update(identifier, changes, extra);
118
+ }
119
+ deleteOne(identifier, extra) {
120
+ return this.remove(identifier, extra);
121
+ }
36
122
  }
37
123
  //# sourceMappingURL=blueprints-entities.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"blueprints-entities.js","sourceRoot":"","sources":["../src/blueprints-entities.ts"],"names":[],"mappings":"AACA,OAAO,OAAO,MAAM,YAAY,CAAC;AAajC,MAAM,CAAC,OAAO,OAAO,mBAA6B,SAAQ,OAAO;IAG3C;IAAkC;IAF9C,YAAY,GAAG,iBAAiB,CAAC;IAEzC,YAAoB,OAAwB,EAAU,YAAoB;QACxE,KAAK,CAAC,OAAO,CAAC,CAAA;QADI,YAAO,GAAP,OAAO,CAAiB;QAAU,iBAAY,GAAZ,YAAY,CAAQ;IAE1E,CAAC;IAED,SAAS,CAAC,UAAkB,EAAE,KAAoB;QAChD,OAAO,IAAI,CAAC,WAAW,CAA2B,GAAG,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,YAAY,aAAa,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,CAAA;IAClK,CAAC;IAED,OAAO,CAAC,KAAiD,EAAE,KAAoB;QAC7E,OAAO,IAAI,CAAC,WAAW,CAA+B,GAAG,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,YAAY,YAAY,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;IAClJ,CAAC;IAED,MAAM,CAAC,UAAkB,EAAE,KAAoB;QAC7C,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,YAAY,aAAa,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;IACpJ,CAAC;IAED,MAAM,CAAC,UAAkB,EAAE,OAA0C,EAAE,KAAoB;QACzF,OAAO,IAAI,CAAC,WAAW,CACrB,GAAG,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,YAAY,aAAa,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,EACtG;YACE,MAAM,EAAE,KAAK;YACb,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;YAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;YAC7B,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC;SACjB,CACF,CAAA;IACH,CAAC;IAED,MAAM,CAAC,MAAgC,EAAE,KAAoB;QAC3D,OAAO,IAAI,CAAC,WAAW,CAA2B,GAAG,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,YAAY,YAAY,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,EAAE;YAC1I,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;YAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;YAC5B,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC;SACjB,CAAC,CAAA;IACJ,CAAC;CACF"}
1
+ {"version":3,"file":"blueprints-entities.js","sourceRoot":"","sources":["../src/blueprints-entities.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,8 @@ import { QelosSDKOptions } from './types';
2
2
  import BaseSDK from './base-sdk';
3
3
  import type { IBlueprint } from '@qelos/global-types';
4
4
  import QlBlueprintEntities from './blueprints-entities';
5
+ export interface BlueprintEntitiesRegistry {
6
+ }
5
7
  export default class QlBlueprints extends BaseSDK {
6
8
  #private;
7
9
  private options;
@@ -9,6 +11,7 @@ export default class QlBlueprints extends BaseSDK {
9
11
  constructor(options: QelosSDKOptions);
10
12
  getBlueprint(key: string): Promise<IBlueprint>;
11
13
  getList(): Promise<IBlueprint[]>;
14
+ entitiesOf<K extends keyof BlueprintEntitiesRegistry>(blueprintKey: K): QlBlueprintEntities<BlueprintEntitiesRegistry[K]>;
12
15
  entitiesOf<T = any>(blueprintKey: string): QlBlueprintEntities<T>;
13
16
  getChart(blueprintKey: string, chartType: string, query?: Record<string, any>): Promise<Record<string, any>>;
14
17
  getPieChart(blueprintKey: string, query?: Record<string, any>): Promise<Record<string, any>>;
@@ -1 +1 @@
1
- {"version":3,"file":"blueprints.js","sourceRoot":"","sources":["../src/blueprints.ts"],"names":[],"mappings":"AACA,OAAO,OAAO,MAAM,YAAY,CAAC;AAEjC,OAAO,mBAAmB,MAAM,uBAAuB,CAAC;AAExD,MAAM,CAAC,OAAO,OAAO,YAAa,SAAQ,OAAO;IAK3B;IAJZ,YAAY,GAAG,iBAAiB,CAAC;IAEzC,SAAS,GAAG,IAAI,GAAG,EAA+B,CAAC;IAEnD,YAAoB,OAAwB;QAC1C,KAAK,CAAC,OAAO,CAAC,CAAA;QADI,YAAO,GAAP,OAAO,CAAiB;IAE5C,CAAC;IAED,YAAY,CAAC,GAAW;QACtB,OAAO,IAAI,CAAC,WAAW,CAAa,GAAG,IAAI,CAAC,YAAY,IAAI,GAAG,EAAE,CAAC,CAAA;IACpE,CAAC;IAED,OAAO;QACL,OAAO,IAAI,CAAC,WAAW,CAAe,IAAI,CAAC,YAAY,CAAC,CAAC;IAC3D,CAAC;IAED,UAAU,CAAU,YAAoB;QACtC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE;YACrC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,YAAY,EAAE,IAAI,mBAAmB,CAAI,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC;SAC1F;QACD,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IAC1C,CAAC;IAED,QAAQ,CAAC,YAAoB,EAAE,SAAiB,EAAE,KAA2B;QAC3E,MAAM,EAAE,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QACtC,OAAO,IAAI,CAAC,WAAW,CAAsB,GAAG,IAAI,CAAC,YAAY,IAAI,YAAY,WAAW,SAAS,GAAG,EAAE,EAAE,CAAC,CAAC;IAChH,CAAC;IAED,WAAW,CAAC,YAAoB,EAAE,KAA2B;QAC3D,MAAM,EAAE,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QACtC,OAAO,IAAI,CAAC,WAAW,CAAsB,GAAG,IAAI,CAAC,YAAY,IAAI,YAAY,cAAc,EAAE,EAAE,CAAC,CAAC;IACvG,CAAC;IAED,QAAQ,CAAC,YAAoB,EAAE,KAA2B;QACxD,MAAM,EAAE,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QACtC,OAAO,IAAI,CAAC,WAAW,CAAoB,GAAG,IAAI,CAAC,YAAY,IAAI,YAAY,gBAAgB,EAAE,EAAE,CAAC,CAAC;IACvG,CAAC;IAED,MAAM,CAAC,YAAoB,EAAE,WAAmB,EAAE,eAAwB,EAAE,KAA2B;QACrG,MAAM,EAAE,GAAG,IAAI,CAAC,cAAc,CAAC,EAAE,GAAG,KAAK,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,CAAC,eAAe,IAAI,EAAE,OAAO,EAAE,eAAe,EAAE,CAAC,EAAE,CAAC,CAAC;QACrH,OAAO,IAAI,CAAC,WAAW,CAA+D,GAAG,IAAI,CAAC,YAAY,IAAI,YAAY,cAAc,EAAE,EAAE,CAAC,CAAC;IAChJ,CAAC;CACF"}
1
+ {"version":3,"file":"blueprints.js","sourceRoot":"","sources":["../src/blueprints.ts"],"names":[],"mappings":"AACA,OAAO,OAAO,MAAM,YAAY,CAAC;AAEjC,OAAO,mBAAmB,MAAM,uBAAuB,CAAC;AAOxD,MAAM,CAAC,OAAO,OAAO,YAAa,SAAQ,OAAO;IAK3B;IAJZ,YAAY,GAAG,iBAAiB,CAAC;IAEzC,SAAS,GAAG,IAAI,GAAG,EAA+B,CAAC;IAEnD,YAAoB,OAAwB;QAC1C,KAAK,CAAC,OAAO,CAAC,CAAA;QADI,YAAO,GAAP,OAAO,CAAiB;IAE5C,CAAC;IAED,YAAY,CAAC,GAAW;QACtB,OAAO,IAAI,CAAC,WAAW,CAAa,GAAG,IAAI,CAAC,YAAY,IAAI,GAAG,EAAE,CAAC,CAAA;IACpE,CAAC;IAED,OAAO;QACL,OAAO,IAAI,CAAC,WAAW,CAAe,IAAI,CAAC,YAAY,CAAC,CAAC;IAC3D,CAAC;IAID,UAAU,CAAC,YAAoB;QAC7B,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE;YACrC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,YAAY,EAAE,IAAI,mBAAmB,CAAC,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC;SACvF;QACD,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IAC1C,CAAC;IAED,QAAQ,CAAC,YAAoB,EAAE,SAAiB,EAAE,KAA2B;QAC3E,MAAM,EAAE,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QACtC,OAAO,IAAI,CAAC,WAAW,CAAsB,GAAG,IAAI,CAAC,YAAY,IAAI,YAAY,WAAW,SAAS,GAAG,EAAE,EAAE,CAAC,CAAC;IAChH,CAAC;IAED,WAAW,CAAC,YAAoB,EAAE,KAA2B;QAC3D,MAAM,EAAE,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QACtC,OAAO,IAAI,CAAC,WAAW,CAAsB,GAAG,IAAI,CAAC,YAAY,IAAI,YAAY,cAAc,EAAE,EAAE,CAAC,CAAC;IACvG,CAAC;IAED,QAAQ,CAAC,YAAoB,EAAE,KAA2B;QACxD,MAAM,EAAE,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QACtC,OAAO,IAAI,CAAC,WAAW,CAAoB,GAAG,IAAI,CAAC,YAAY,IAAI,YAAY,gBAAgB,EAAE,EAAE,CAAC,CAAC;IACvG,CAAC;IAED,MAAM,CAAC,YAAoB,EAAE,WAAmB,EAAE,eAAwB,EAAE,KAA2B;QACrG,MAAM,EAAE,GAAG,IAAI,CAAC,cAAc,CAAC,EAAE,GAAG,KAAK,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,CAAC,eAAe,IAAI,EAAE,OAAO,EAAE,eAAe,EAAE,CAAC,EAAE,CAAC,CAAC;QACrH,OAAO,IAAI,CAAC,WAAW,CAA+D,GAAG,IAAI,CAAC,YAAY,IAAI,YAAY,cAAc,EAAE,EAAE,CAAC,CAAC;IAChJ,CAAC;CACF"}
package/dist/index.d.ts CHANGED
@@ -6,9 +6,13 @@ import QlAuthentication from './authentication';
6
6
  import QlWorkspaces from './workspaces';
7
7
  import QlInvites from './invites';
8
8
  import QlBlueprints from './blueprints';
9
+ import QlBlueprintEntities from './blueprints-entities';
9
10
  import QlAI from './ai';
10
11
  import QlLambdas from './lambdas';
11
12
  import QlPayments from './payments';
13
+ export type { SocialCallbackInput, SocialAuthCallbackPayload, SocialProvider, SocialLoginOptions, } from './authentication';
14
+ export type { BlueprintEntitiesRegistry } from './blueprints';
15
+ export { parseSocialCallbackRefreshToken, getSocialAuthSetCookieParts, applySocialAuthCookiesToServerResponse, } from './authentication';
12
16
  export default class QelosSDK extends BaseSDK {
13
17
  #private;
14
18
  private options;
@@ -22,6 +26,7 @@ export default class QelosSDK extends BaseSDK {
22
26
  lambdas: QlLambdas;
23
27
  payments: QlPayments;
24
28
  constructor(options: QelosSDKOptions);
29
+ entities<T = any>(blueprintKey: string): QlBlueprintEntities<T>;
25
30
  setCustomHeader(key: string, value: string): void;
26
31
  removeCustomHeader(key: string): void;
27
32
  }
package/dist/index.js CHANGED
@@ -8,7 +8,13 @@ import QlBlueprints from './blueprints';
8
8
  import QlAI from './ai';
9
9
  import QlLambdas from './lambdas';
10
10
  import QlPayments from './payments';
11
- const noExtraHeadersUrls = new Set(['/api/token/refresh', '/api/signin', '/api/signup']);
11
+ const noExtraHeadersUrls = new Set([
12
+ '/api/token/refresh',
13
+ '/api/signin',
14
+ '/api/signup',
15
+ '/api/auth/callback',
16
+ ]);
17
+ export { parseSocialCallbackRefreshToken, getSocialAuthSetCookieParts, applySocialAuthCookiesToServerResponse, } from './authentication';
12
18
  export default class QelosSDK extends BaseSDK {
13
19
  options;
14
20
  #customHeaders = {};
@@ -57,6 +63,9 @@ export default class QelosSDK extends BaseSDK {
57
63
  };
58
64
  }
59
65
  }
66
+ entities(blueprintKey) {
67
+ return this.blueprints.entitiesOf(blueprintKey);
68
+ }
60
69
  setCustomHeader(key, value) {
61
70
  this.#customHeaders[key] = value;
62
71
  }
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,OAAO,MAAM,YAAY,CAAC;AACjC,OAAO,mBAAmB,MAAM,kBAAkB,CAAC;AACnD,OAAO,QAAQ,MAAM,UAAU,CAAC;AAChC,OAAO,gBAAgB,MAAM,kBAAkB,CAAC;AAChD,OAAO,YAAY,MAAM,cAAc,CAAC;AACxC,OAAO,SAAS,MAAM,WAAW,CAAC;AAClC,OAAO,YAAY,MAAM,cAAc,CAAC;AAExC,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,SAAS,MAAM,WAAW,CAAC;AAClC,OAAO,UAAU,MAAM,YAAY,CAAC;AAEpC,MAAM,kBAAkB,GAAG,IAAI,GAAG,CAAC;IACjC,oBAAoB;IACpB,aAAa;IACb,aAAa;IACb,oBAAoB;CACrB,CAAC,CAAA;AAWF,OAAO,EACL,+BAA+B,EAC/B,2BAA2B,EAC3B,sCAAsC,GACvC,MAAM,kBAAkB,CAAC;AAE1B,MAAM,CAAC,OAAO,OAAO,QAAS,SAAQ,OAAO;IAavB;IAZpB,cAAc,GAAG,EAAE,CAAA;IAEnB,MAAM,CAAW;IACjB,iBAAiB,CAAsB;IACvC,cAAc,CAAmB;IACjC,UAAU,CAAe;IACzB,OAAO,CAAY;IACnB,UAAU,CAAe;IACzB,EAAE,CAAO;IACT,OAAO,CAAY;IACnB,QAAQ,CAAa;IAErB,YAAoB,OAAwB;QAC1C,KAAK,CAAC,OAAO,CAAC,CAAC;QADG,YAAO,GAAP,OAAO,CAAiB;QAE1C,IAAI,CAAC,MAAM,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACzC,IAAI,CAAC,iBAAiB,GAAG,IAAI,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC/D,IAAI,CAAC,cAAc,GAAG,IAAI,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACzD,IAAI,CAAC,UAAU,GAAG,IAAI,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACjD,IAAI,CAAC,OAAO,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC3C,IAAI,CAAC,UAAU,GAAG,IAAI,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACjD,IAAI,CAAC,EAAE,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACjC,IAAI,CAAC,OAAO,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC3C,IAAI,CAAC,QAAQ,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAE7C,MAAM,SAAS,GAAG,UAAU,CAAC,SAAS,IAAI,UAAU,CAAC,MAAM,IAAI,UAAU,CAAC,QAAQ,CAAA;QAElF,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE;YAC3B,OAAO,CAAC,cAAc,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC;SAChE;QAED,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE;YACzB,OAAO,CAAC,YAAY,GAAG,KAAK,EAAE,WAAmB,EAAE,YAAsB,EAAE,EAAE;gBAC3E,IAAI,OAAO,CAAC,QAAQ,EAAE;oBACpB,OAAO,EAAE,WAAW,EAAE,OAAO,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;iBAClE;gBACD,IAAI,SAAS,IAAI,kBAAkB,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE;oBACpD,OAAO,EAAE,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;iBACnC;gBACD,IAAI,KAAK,GAAG,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC;gBACzD,IAAI,CAAC,KAAK,EAAE;oBACV,MAAM,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;oBACzC,KAAK,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;iBAClC;gBACD,IAAI,KAAK,EAAE;oBACT,OAAO,EAAE,aAAa,EAAE,SAAS,GAAG,KAAK,EAAE,GAAG,IAAI,CAAC,cAAc,EAAE,CAAA;iBACpE;gBACD,OAAO,EAAE,GAAG,IAAI,CAAC,cAAc,EAAE,CAAA;YACnC,CAAC,CAAA;SACF;IACH,CAAC;IAED,QAAQ,CAAU,YAAoB;QACpC,OAAO,IAAI,CAAC,UAAU,CAAC,UAAU,CAAI,YAAY,CAAC,CAAC;IACrD,CAAC;IAED,eAAe,CAAC,GAAW,EAAE,KAAa;QACxC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IACnC,CAAC;IAED,kBAAkB,CAAC,GAAW;QAC5B,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;IAClC,CAAC;CACF"}