checkly 8.4.0 → 8.5.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 (66) hide show
  1. package/dist/ai-context/checkly.rules.md +153 -1
  2. package/dist/ai-context/context.d.ts +13 -1
  3. package/dist/ai-context/context.js +14 -1
  4. package/dist/ai-context/context.js.map +1 -1
  5. package/dist/ai-context/public-skills/checkly/SKILL.md +3 -1
  6. package/dist/ai-context/skills-command/references/configure-api-checks.md +1 -0
  7. package/dist/ai-context/skills-command/references/configure-browser-checks.md +1 -0
  8. package/dist/ai-context/skills-command/references/configure-check-groups.md +1 -0
  9. package/dist/ai-context/skills-command/references/configure-environment.md +92 -0
  10. package/dist/ai-context/skills-command/references/configure-multistep-checks.md +1 -0
  11. package/dist/ai-context/skills-command/references/configure-playwright-checks.md +50 -0
  12. package/dist/ai-context/skills-command/references/configure.md +6 -1
  13. package/dist/ai-context/skills-command/references/investigate-test-sessions.md +125 -0
  14. package/dist/ai-context/skills-command/references/investigate.md +3 -0
  15. package/dist/commands/alert-channels/get.d.ts +14 -0
  16. package/dist/commands/alert-channels/get.js +50 -0
  17. package/dist/commands/alert-channels/get.js.map +1 -0
  18. package/dist/commands/alert-channels/list.d.ts +13 -0
  19. package/dist/commands/alert-channels/list.js +64 -0
  20. package/dist/commands/alert-channels/list.js.map +1 -0
  21. package/dist/commands/alert-channels/logs.d.ts +19 -0
  22. package/dist/commands/alert-channels/logs.js +91 -0
  23. package/dist/commands/alert-channels/logs.js.map +1 -0
  24. package/dist/commands/rca/run.d.ts +1 -0
  25. package/dist/commands/rca/run.js +6 -3
  26. package/dist/commands/rca/run.js.map +1 -1
  27. package/dist/commands/test-sessions/get.d.ts +1 -0
  28. package/dist/commands/test-sessions/get.js +28 -1
  29. package/dist/commands/test-sessions/get.js.map +1 -1
  30. package/dist/commands/test-sessions/list.d.ts +22 -0
  31. package/dist/commands/test-sessions/list.js +190 -0
  32. package/dist/commands/test-sessions/list.js.map +1 -0
  33. package/dist/constructs/playwright-check.d.ts +13 -5
  34. package/dist/constructs/playwright-check.js +3 -1
  35. package/dist/constructs/playwright-check.js.map +1 -1
  36. package/dist/formatters/alert-channels.d.ts +15 -0
  37. package/dist/formatters/alert-channels.js +259 -0
  38. package/dist/formatters/alert-channels.js.map +1 -0
  39. package/dist/formatters/checks.js +11 -19
  40. package/dist/formatters/checks.js.map +1 -1
  41. package/dist/formatters/render.d.ts +7 -0
  42. package/dist/formatters/render.js +73 -0
  43. package/dist/formatters/render.js.map +1 -1
  44. package/dist/formatters/test-sessions.d.ts +4 -1
  45. package/dist/formatters/test-sessions.js +93 -0
  46. package/dist/formatters/test-sessions.js.map +1 -1
  47. package/dist/helpers/number.d.ts +3 -0
  48. package/dist/helpers/number.js +20 -0
  49. package/dist/helpers/number.js.map +1 -0
  50. package/dist/rest/alert-channels.d.ts +52 -0
  51. package/dist/rest/alert-channels.js +23 -0
  52. package/dist/rest/alert-channels.js.map +1 -0
  53. package/dist/rest/alert-notifications.d.ts +39 -0
  54. package/dist/rest/alert-notifications.js +19 -0
  55. package/dist/rest/alert-notifications.js.map +1 -0
  56. package/dist/rest/api.d.ts +4 -0
  57. package/dist/rest/api.js +4 -0
  58. package/dist/rest/api.js.map +1 -1
  59. package/dist/rest/rca.d.ts +2 -2
  60. package/dist/rest/rca.js +4 -4
  61. package/dist/rest/rca.js.map +1 -1
  62. package/dist/rest/test-sessions.d.ts +51 -0
  63. package/dist/rest/test-sessions.js +24 -1
  64. package/dist/rest/test-sessions.js.map +1 -1
  65. package/oclif.manifest.json +571 -237
  66. package/package.json +4 -1
@@ -0,0 +1,39 @@
1
+ import type { AxiosInstance } from 'axios';
2
+ export interface AlertNotification {
3
+ id: string;
4
+ type: string;
5
+ status: 'IN_PROGRESS' | 'SUCCESS' | 'FAILURE' | 'RATE_LIMITED' | string;
6
+ alertConfig?: Record<string, any>;
7
+ notificationResult?: string | null;
8
+ timestamp?: string | null;
9
+ checkType?: string;
10
+ checkId?: string;
11
+ checkName?: string;
12
+ check?: {
13
+ id?: string;
14
+ name?: string;
15
+ };
16
+ checkAlertId?: string;
17
+ alertChannelId: number;
18
+ checkResultId?: string;
19
+ }
20
+ export interface AlertNotificationListParams {
21
+ limit?: number;
22
+ page?: number;
23
+ from?: number;
24
+ to?: number;
25
+ alertChannelId?: number;
26
+ hasFailures?: boolean;
27
+ }
28
+ export interface PaginatedAlertNotifications {
29
+ data: AlertNotification[];
30
+ total: number;
31
+ page: number;
32
+ limit: number;
33
+ }
34
+ declare class AlertNotifications {
35
+ api: AxiosInstance;
36
+ constructor(api: AxiosInstance);
37
+ getAll(params?: AlertNotificationListParams): Promise<PaginatedAlertNotifications>;
38
+ }
39
+ export default AlertNotifications;
@@ -0,0 +1,19 @@
1
+ import { parseTotalFromContentRange } from '../helpers/content-range.js';
2
+ class AlertNotifications {
3
+ api;
4
+ constructor(api) {
5
+ this.api = api;
6
+ }
7
+ async getAll(params = {}) {
8
+ const response = await this.api.get('/v1/alert-notifications', { params });
9
+ const total = parseTotalFromContentRange(response.headers['content-range']) ?? response.data.length;
10
+ return {
11
+ data: response.data,
12
+ total,
13
+ page: params.page ?? 1,
14
+ limit: params.limit ?? 10,
15
+ };
16
+ }
17
+ }
18
+ export default AlertNotifications;
19
+ //# sourceMappingURL=alert-notifications.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"alert-notifications.js","sourceRoot":"","sources":["../../src/rest/alert-notifications.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,0BAA0B,EAAE,MAAM,6BAA6B,CAAA;AAqCxE,MAAM,kBAAkB;IACtB,GAAG,CAAe;IAClB,YAAa,GAAkB;QAC7B,IAAI,CAAC,GAAG,GAAG,GAAG,CAAA;IAChB,CAAC;IAED,KAAK,CAAC,MAAM,CAAE,SAAsC,EAAE;QACpD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAsB,yBAAyB,EAAE,EAAE,MAAM,EAAE,CAAC,CAAA;QAC/F,MAAM,KAAK,GAAG,0BAA0B,CAAC,QAAQ,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAA;QACnG,OAAO;YACL,IAAI,EAAE,QAAQ,CAAC,IAAI;YACnB,KAAK;YACL,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,CAAC;YACtB,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,EAAE;SAC1B,CAAA;IACH,CAAC;CACF;AAED,eAAe,kBAAkB,CAAA"}
@@ -22,6 +22,8 @@ import Analytics from './analytics.js';
22
22
  import BatchAnalytics from './batch-analytics.js';
23
23
  import Entitlements from './entitlements.js';
24
24
  import AccountMembers from './account-members.js';
25
+ import AlertChannels from './alert-channels.js';
26
+ import AlertNotifications from './alert-notifications.js';
25
27
  import Rca from './rca.js';
26
28
  import Cancel from './cancel.js';
27
29
  export declare function getDefaults(): {
@@ -57,5 +59,7 @@ export declare const analytics: Analytics;
57
59
  export declare const batchAnalytics: BatchAnalytics;
58
60
  export declare const entitlements: Entitlements;
59
61
  export declare const accountMembers: AccountMembers;
62
+ export declare const alertChannels: AlertChannels;
63
+ export declare const alertNotifications: AlertNotifications;
60
64
  export declare const rca: Rca;
61
65
  export declare const cancel: Cancel;
package/dist/rest/api.js CHANGED
@@ -25,6 +25,8 @@ import Analytics from './analytics.js';
25
25
  import BatchAnalytics from './batch-analytics.js';
26
26
  import Entitlements from './entitlements.js';
27
27
  import AccountMembers from './account-members.js';
28
+ import AlertChannels from './alert-channels.js';
29
+ import AlertNotifications from './alert-notifications.js';
28
30
  import Rca from './rca.js';
29
31
  import Cancel from './cancel.js';
30
32
  import { handleErrorResponse, UnauthorizedError } from './errors.js';
@@ -110,6 +112,8 @@ export const analytics = new Analytics(api);
110
112
  export const batchAnalytics = new BatchAnalytics(api);
111
113
  export const entitlements = new Entitlements(api);
112
114
  export const accountMembers = new AccountMembers(api);
115
+ export const alertChannels = new AlertChannels(api);
116
+ export const alertNotifications = new AlertNotifications(api);
113
117
  export const rca = new Rca(api);
114
118
  export const cancel = new Cancel(api);
115
119
  //# sourceMappingURL=api.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/rest/api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/rest/api.ts"],"names":[],"mappings":"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"}
@@ -6,8 +6,8 @@ export interface TriggerRcaResponse {
6
6
  declare class Rca {
7
7
  api: AxiosInstance;
8
8
  constructor(api: AxiosInstance);
9
- trigger(errorGroupId: string): Promise<import("axios").AxiosResponse<TriggerRcaResponse, any, {}>>;
10
- triggerTestSessionErrorGroup(testSessionErrorGroupId: string): Promise<import("axios").AxiosResponse<TriggerRcaResponse, any, {}>>;
9
+ trigger(errorGroupId: string, userContext?: string): Promise<import("axios").AxiosResponse<TriggerRcaResponse, any, {}>>;
10
+ triggerTestSessionErrorGroup(testSessionErrorGroupId: string, userContext?: string): Promise<import("axios").AxiosResponse<TriggerRcaResponse, any, {}>>;
11
11
  get(id: string): Promise<import("axios").AxiosResponse<RootCauseAnalysis, any, {}>>;
12
12
  pollUntilComplete(id: string): Promise<RootCauseAnalysis>;
13
13
  }
package/dist/rest/rca.js CHANGED
@@ -4,11 +4,11 @@ class Rca {
4
4
  constructor(api) {
5
5
  this.api = api;
6
6
  }
7
- trigger(errorGroupId) {
8
- return this.api.post(`/v1/root-cause-analyses/error-groups/${errorGroupId}`);
7
+ trigger(errorGroupId, userContext) {
8
+ return this.api.post(`/v1/root-cause-analyses/error-groups/${errorGroupId}`, userContext ? { userContext } : undefined);
9
9
  }
10
- triggerTestSessionErrorGroup(testSessionErrorGroupId) {
11
- return this.api.post(`/v1/root-cause-analyses/test-session-error-groups/${testSessionErrorGroupId}`);
10
+ triggerTestSessionErrorGroup(testSessionErrorGroupId, userContext) {
11
+ return this.api.post(`/v1/root-cause-analyses/test-session-error-groups/${testSessionErrorGroupId}`, userContext ? { userContext } : undefined);
12
12
  }
13
13
  get(id) {
14
14
  return this.api.get(`/v1/root-cause-analyses/${id}`);
@@ -1 +1 @@
1
- {"version":3,"file":"rca.js","sourceRoot":"","sources":["../../src/rest/rca.ts"],"names":[],"mappings":"AAOA,MAAM,gBAAgB,GAAG,IAAI,CAAA;AAE7B,MAAM,GAAG;IACP,GAAG,CAAe;IAClB,YAAa,GAAkB;QAC7B,IAAI,CAAC,GAAG,GAAG,GAAG,CAAA;IAChB,CAAC;IAED,OAAO,CAAE,YAAoB;QAC3B,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAClB,wCAAwC,YAAY,EAAE,CACvD,CAAA;IACH,CAAC;IAED,4BAA4B,CAAE,uBAA+B;QAC3D,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAClB,qDAAqD,uBAAuB,EAAE,CAC/E,CAAA;IACH,CAAC;IAED,GAAG,CAAE,EAAU;QACb,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAoB,2BAA2B,EAAE,EAAE,CAAC,CAAA;IACzE,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAE,EAAU;QACjC,OAAO,IAAI,EAAE,CAAC;YACZ,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC,CAAA;YACnE,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;YACnC,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;gBAC5B,SAAQ;YACV,CAAC;YACD,OAAO,QAAQ,CAAC,IAAI,CAAA;QACtB,CAAC;IACH,CAAC;CACF;AAED,eAAe,GAAG,CAAA"}
1
+ {"version":3,"file":"rca.js","sourceRoot":"","sources":["../../src/rest/rca.ts"],"names":[],"mappings":"AAOA,MAAM,gBAAgB,GAAG,IAAI,CAAA;AAE7B,MAAM,GAAG;IACP,GAAG,CAAe;IAClB,YAAa,GAAkB;QAC7B,IAAI,CAAC,GAAG,GAAG,GAAG,CAAA;IAChB,CAAC;IAED,OAAO,CAAE,YAAoB,EAAE,WAAoB;QACjD,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAClB,wCAAwC,YAAY,EAAE,EACtD,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,SAAS,CAC1C,CAAA;IACH,CAAC;IAED,4BAA4B,CAAE,uBAA+B,EAAE,WAAoB;QACjF,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAClB,qDAAqD,uBAAuB,EAAE,EAC9E,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,SAAS,CAC1C,CAAA;IACH,CAAC;IAED,GAAG,CAAE,EAAU;QACb,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAoB,2BAA2B,EAAE,EAAE,CAAC,CAAA;IACzE,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAE,EAAU;QACjC,OAAO,IAAI,EAAE,CAAC;YACZ,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC,CAAA;YACnE,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;YACnC,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;gBAC5B,SAAQ;YACV,CAAC;YACD,OAAO,QAAQ,CAAC,IAAI,CAAA;QACtB,CAAC;IACH,CAAC;CACF;AAED,eAAe,GAAG,CAAA"}
@@ -67,6 +67,7 @@ export type TestSessionMetadata = {
67
67
  branchName?: string;
68
68
  };
69
69
  export type TestSessionStatus = 'RUNNING' | 'FAILED' | 'PASSED' | 'CANCELLED';
70
+ export type TestSessionProvider = 'GITHUB' | 'VERCEL' | 'API' | 'TRIGGER' | 'PW_REPORTER';
70
71
  export type TestSessionResult = {
71
72
  testSessionResultId: string;
72
73
  testSessionResultLink: string;
@@ -94,6 +95,53 @@ export type TestSessionDetail = {
94
95
  errorGroupIds?: string[];
95
96
  results?: TestSessionResult[];
96
97
  };
98
+ type TestSessionListEntryInvoker = {
99
+ name: string;
100
+ picture?: string | null;
101
+ } | null;
102
+ export type TestSessionListEntry = {
103
+ id: string;
104
+ accountId: string;
105
+ projectId?: string | null;
106
+ name: string;
107
+ provider: string;
108
+ running?: string[] | null;
109
+ passed?: string[] | null;
110
+ failed?: string[] | null;
111
+ cancelled?: string[] | null;
112
+ status?: TestSessionStatus;
113
+ region: string;
114
+ privateLocationId?: string | null;
115
+ invoker?: TestSessionListEntryInvoker;
116
+ repoUrl?: string | null;
117
+ commitId?: string | null;
118
+ commitOwner?: string | null;
119
+ commitMessage?: string | null;
120
+ branchName?: string | null;
121
+ environment?: string | null;
122
+ startedAt: string;
123
+ stoppedAt?: string | null;
124
+ created_at: string;
125
+ updated_at?: string | null;
126
+ };
127
+ export type ListTestSessionsParams = {
128
+ from?: number;
129
+ to?: number;
130
+ limit?: number;
131
+ statuses?: TestSessionStatus[];
132
+ branches?: string[];
133
+ users?: string[];
134
+ providers?: TestSessionProvider[];
135
+ noUsers?: boolean;
136
+ nextId?: string;
137
+ textSearch?: string;
138
+ errorGroupId?: string;
139
+ };
140
+ export type TestSessionsListResponse = {
141
+ length: number;
142
+ entries: TestSessionListEntry[];
143
+ nextId?: string | null;
144
+ };
97
145
  export declare class NoMatchingChecksError extends Error {
98
146
  constructor(options?: ErrorOptions);
99
147
  }
@@ -106,6 +154,9 @@ declare class TestSessions {
106
154
  */
107
155
  trigger(payload: TriggerTestSessionRequest): Promise<import("axios").AxiosResponse<TriggerTestSessionResponse, any, {}>>;
108
156
  get(id: string): Promise<import("axios").AxiosResponse<TestSessionDetail, any, {}>>;
157
+ getCompletion(id: string, maxWaitSeconds?: number): Promise<import("axios").AxiosResponse<TestSessionDetail, any, {}>>;
158
+ pollUntilComplete(id: string): Promise<TestSessionDetail>;
159
+ list(params?: ListTestSessionsParams): Promise<import("axios").AxiosResponse<TestSessionsListResponse, any, {}>>;
109
160
  getShortLink(id: string): Promise<import("axios").AxiosResponse<{
110
161
  link: string;
111
162
  }, any, {}>>;
@@ -1,5 +1,6 @@
1
1
  import { compressJSONPayload } from './util.js';
2
- import { ForbiddenError } from './errors.js';
2
+ import { ForbiddenError, RequestTimeoutError } from './errors.js';
3
+ const COMPLETION_MAX_WAIT_SECONDS = 30;
3
4
  export class NoMatchingChecksError extends Error {
4
5
  constructor(options) {
5
6
  super(`No matching checks found.`, options);
@@ -39,6 +40,28 @@ class TestSessions {
39
40
  get(id) {
40
41
  return this.api.get(`/v1/test-sessions/${id}`);
41
42
  }
43
+ getCompletion(id, maxWaitSeconds = COMPLETION_MAX_WAIT_SECONDS) {
44
+ return this.api.get(`/v1/test-sessions/${id}/completion`, {
45
+ params: { maxWaitSeconds },
46
+ });
47
+ }
48
+ async pollUntilComplete(id) {
49
+ while (true) {
50
+ try {
51
+ const { data } = await this.getCompletion(id);
52
+ return data;
53
+ }
54
+ catch (err) {
55
+ if (err instanceof RequestTimeoutError) {
56
+ continue;
57
+ }
58
+ throw err;
59
+ }
60
+ }
61
+ }
62
+ list(params = {}) {
63
+ return this.api.get('/v1/test-sessions', { params });
64
+ }
42
65
  getShortLink(id) {
43
66
  return this.api.get(`/next/test-sessions/${id}/link`);
44
67
  }
@@ -1 +1 @@
1
- {"version":3,"file":"test-sessions.js","sourceRoot":"","sources":["../../src/rest/test-sessions.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAA;AAE/C,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAmF5C,MAAM,OAAO,qBAAsB,SAAQ,KAAK;IAC9C,YAAa,OAAsB;QACjC,KAAK,CAAC,2BAA2B,EAAE,OAAO,CAAC,CAAA;QAC3C,IAAI,CAAC,IAAI,GAAG,uBAAuB,CAAA;IACrC,CAAC;CACF;AAED,MAAM,YAAY;IAChB,GAAG,CAAe;IAClB,YAAa,GAAkB;QAC7B,IAAI,CAAC,GAAG,GAAG,GAAG,CAAA;IAChB,CAAC;IAED,KAAK,CAAC,GAAG,CAAE,OAA8B;QACvC,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,yBAAyB,EAAE,OAAO,EAAE;YAC7D,gBAAgB,EAAE,mBAAmB;SACtC,CAAC,CAAA;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,OAAO,CAAE,OAAkC;QAC/C,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,CAA6B,6BAA6B,EAAE,OAAO,CAAC,CAAA;YAEpG,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAClC,wFAAwF;gBACxF,wFAAwF;gBACxF,MAAM,IAAI,qBAAqB,EAAE,CAAA;YACnC,CAAC;YAED,OAAO,IAAI,CAAA;QACb,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,GAAG,YAAY,cAAc,IAAI,GAAG,CAAC,IAAI,CAAC,SAAS,KAAK,wBAAwB,EAAE,CAAC;gBACrF,MAAM,IAAI,qBAAqB,EAAE,CAAA;YACnC,CAAC;YAED,MAAM,GAAG,CAAA;QACX,CAAC;IACH,CAAC;IAED,GAAG,CAAE,EAAU;QACb,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAoB,qBAAqB,EAAE,EAAE,CAAC,CAAA;IACnE,CAAC;IAED,YAAY,CAAE,EAAU;QACtB,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAmB,uBAAuB,EAAE,OAAO,CAAC,CAAA;IACzE,CAAC;IAED,mBAAmB,CAAE,aAAqB,EAAE,YAAoB;QAC9D,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAwB,uBAAuB,aAAa,YAAY,YAAY,QAAQ,CAAC,CAAA;IAClH,CAAC;CACF;AAED,eAAe,YAAY,CAAA"}
1
+ {"version":3,"file":"test-sessions.js","sourceRoot":"","sources":["../../src/rest/test-sessions.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAA;AAE/C,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AAEjE,MAAM,2BAA2B,GAAG,EAAE,CAAA;AAwItC,MAAM,OAAO,qBAAsB,SAAQ,KAAK;IAC9C,YAAa,OAAsB;QACjC,KAAK,CAAC,2BAA2B,EAAE,OAAO,CAAC,CAAA;QAC3C,IAAI,CAAC,IAAI,GAAG,uBAAuB,CAAA;IACrC,CAAC;CACF;AAED,MAAM,YAAY;IAChB,GAAG,CAAe;IAClB,YAAa,GAAkB;QAC7B,IAAI,CAAC,GAAG,GAAG,GAAG,CAAA;IAChB,CAAC;IAED,KAAK,CAAC,GAAG,CAAE,OAA8B;QACvC,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,yBAAyB,EAAE,OAAO,EAAE;YAC7D,gBAAgB,EAAE,mBAAmB;SACtC,CAAC,CAAA;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,OAAO,CAAE,OAAkC;QAC/C,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,CAA6B,6BAA6B,EAAE,OAAO,CAAC,CAAA;YAEpG,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAClC,wFAAwF;gBACxF,wFAAwF;gBACxF,MAAM,IAAI,qBAAqB,EAAE,CAAA;YACnC,CAAC;YAED,OAAO,IAAI,CAAA;QACb,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,GAAG,YAAY,cAAc,IAAI,GAAG,CAAC,IAAI,CAAC,SAAS,KAAK,wBAAwB,EAAE,CAAC;gBACrF,MAAM,IAAI,qBAAqB,EAAE,CAAA;YACnC,CAAC;YAED,MAAM,GAAG,CAAA;QACX,CAAC;IACH,CAAC;IAED,GAAG,CAAE,EAAU;QACb,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAoB,qBAAqB,EAAE,EAAE,CAAC,CAAA;IACnE,CAAC;IAED,aAAa,CAAE,EAAU,EAAE,cAAc,GAAG,2BAA2B;QACrE,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAoB,qBAAqB,EAAE,aAAa,EAAE;YAC3E,MAAM,EAAE,EAAE,cAAc,EAAE;SAC3B,CAAC,CAAA;IACJ,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAE,EAAU;QACjC,OAAO,IAAI,EAAE,CAAC;YACZ,IAAI,CAAC;gBACH,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,CAAA;gBAC7C,OAAO,IAAI,CAAA;YACb,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,GAAG,YAAY,mBAAmB,EAAE,CAAC;oBACvC,SAAQ;gBACV,CAAC;gBACD,MAAM,GAAG,CAAA;YACX,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,CAAE,SAAiC,EAAE;QACvC,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAA2B,mBAAmB,EAAE,EAAE,MAAM,EAAE,CAAC,CAAA;IAChF,CAAC;IAED,YAAY,CAAE,EAAU;QACtB,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAmB,uBAAuB,EAAE,OAAO,CAAC,CAAA;IACzE,CAAC;IAED,mBAAmB,CAAE,aAAqB,EAAE,YAAoB;QAC9D,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAwB,uBAAuB,aAAa,YAAY,YAAY,QAAQ,CAAC,CAAA;IAClH,CAAC;CACF;AAED,eAAe,YAAY,CAAA"}