@forge/events 1.0.3-next.0-experimental-76b1041 → 1.1.0-next.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/CHANGELOG.md CHANGED
@@ -1,13 +1,17 @@
1
1
  # @forge/events
2
2
 
3
- ## 1.0.3-next.0-experimental-76b1041
3
+ ## 1.1.0-next.0
4
+
5
+ ### Minor Changes
6
+
7
+ - 34386db: App events API
8
+
9
+ ## 1.0.3
4
10
 
5
11
  ### Patch Changes
6
12
 
7
- - 1f8d16f: Update node dev types
8
13
  - Updated dependencies [908388a]
9
- - Updated dependencies [1f8d16f]
10
- - @forge/api@5.3.0-next.0-experimental-76b1041
14
+ - @forge/api@5.3.0
11
15
 
12
16
  ## 1.0.3-next.0
13
17
 
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=appEvents.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"appEvents.test.d.ts","sourceRoot":"","sources":["../../src/__test__/appEvents.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,137 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const appEvents_1 = require("../appEvents");
4
+ const queries_1 = require("../queries");
5
+ const api_1 = require("@forge/api");
6
+ jest.mock('../queries', () => ({
7
+ post: jest.fn()
8
+ }));
9
+ jest.mock('@forge/api', () => ({
10
+ __requestAtlassianAsApp: jest.fn()
11
+ }));
12
+ describe('appEvents', () => {
13
+ beforeEach(() => {
14
+ jest.clearAllMocks();
15
+ });
16
+ describe('publishEvent', () => {
17
+ it('should call post with the correct parameters', async () => {
18
+ const event = { key: 'test-event' };
19
+ const mockResponse = {
20
+ ok: true,
21
+ json: jest.fn().mockResolvedValue({
22
+ failedEvents: []
23
+ })
24
+ };
25
+ queries_1.post.mockResolvedValue(mockResponse);
26
+ const result = await appEvents_1.appEvents.publish(event);
27
+ expect(queries_1.post).toHaveBeenCalledTimes(1);
28
+ expect(queries_1.post).toHaveBeenCalledWith('/forge/events/v1/app-events', {
29
+ events: [
30
+ {
31
+ key: event.key
32
+ }
33
+ ]
34
+ }, api_1.__requestAtlassianAsApp);
35
+ expect(result).toEqual({ type: 'success', failedEvents: [] });
36
+ });
37
+ it('should return a success result for successful requests', async () => {
38
+ const event = { key: 'test-event' };
39
+ const mockResponse = {
40
+ ok: true,
41
+ json: jest.fn().mockResolvedValue({
42
+ failedEvents: []
43
+ })
44
+ };
45
+ queries_1.post.mockResolvedValue(mockResponse);
46
+ const result = await appEvents_1.appEvents.publish(event);
47
+ expect(result).toEqual({ type: 'success', failedEvents: [] });
48
+ });
49
+ it('should return an error result for failed requests', async () => {
50
+ const event = { key: 'test-event' };
51
+ const mockResponse = {
52
+ ok: false,
53
+ status: 500,
54
+ json: jest.fn().mockResolvedValue({
55
+ errorMessages: ['Internal server error']
56
+ })
57
+ };
58
+ queries_1.post.mockResolvedValue(mockResponse);
59
+ const result = await appEvents_1.appEvents.publish(event);
60
+ expect(result).toEqual({
61
+ type: 'error',
62
+ errorType: 'SERVICE_ERROR',
63
+ errorMessage: 'Internal server error'
64
+ });
65
+ });
66
+ it('should handle validation errors', async () => {
67
+ const event = { key: 'test-event' };
68
+ const mockResponse = {
69
+ ok: false,
70
+ status: 400,
71
+ json: jest.fn().mockResolvedValue({
72
+ errorMessages: ['Invalid event type']
73
+ })
74
+ };
75
+ queries_1.post.mockResolvedValue(mockResponse);
76
+ const result = await appEvents_1.appEvents.publish(event);
77
+ expect(result).toEqual({
78
+ type: 'error',
79
+ errorType: 'VALIDATION_ERROR',
80
+ errorMessage: 'Invalid event type'
81
+ });
82
+ });
83
+ it('should handle errors object in the error response', async () => {
84
+ const event = { key: 'test-event' };
85
+ const errorResponse = {
86
+ errorMessages: [],
87
+ errors: { key: 'Event key is required' }
88
+ };
89
+ const mockResponse = {
90
+ ok: false,
91
+ status: 400,
92
+ json: jest.fn().mockResolvedValue(errorResponse)
93
+ };
94
+ queries_1.post.mockResolvedValue(mockResponse);
95
+ const result = await appEvents_1.appEvents.publish(event);
96
+ expect(result).toEqual({
97
+ type: 'error',
98
+ errorType: 'VALIDATION_ERROR',
99
+ errorMessage: 'key: Event key is required'
100
+ });
101
+ });
102
+ it('should use OTHER as errorType for unknown status codes', async () => {
103
+ const event = { key: 'test-event' };
104
+ const mockResponse = {
105
+ ok: false,
106
+ status: 418,
107
+ json: jest.fn().mockResolvedValue({
108
+ errorMessages: ['I refuse to brew coffee']
109
+ })
110
+ };
111
+ queries_1.post.mockResolvedValue(mockResponse);
112
+ const result = await appEvents_1.appEvents.publish(event);
113
+ expect(result).toEqual({
114
+ type: 'error',
115
+ errorType: 'OTHER',
116
+ errorMessage: 'I refuse to brew coffee'
117
+ });
118
+ });
119
+ it('should handle empty error messages', async () => {
120
+ const event = { key: 'test-event' };
121
+ const mockResponse = {
122
+ ok: false,
123
+ status: 500,
124
+ json: jest.fn().mockResolvedValue({
125
+ errorMessages: []
126
+ })
127
+ };
128
+ queries_1.post.mockResolvedValue(mockResponse);
129
+ const result = await appEvents_1.appEvents.publish(event);
130
+ expect(result).toEqual({
131
+ type: 'error',
132
+ errorType: 'SERVICE_ERROR',
133
+ errorMessage: '{"errorMessages":[]}'
134
+ });
135
+ });
136
+ });
137
+ });
@@ -0,0 +1,22 @@
1
+ export interface AppEvent {
2
+ key: string;
3
+ }
4
+ export declare type AppEventPublishResult = AppEventPublishSuccess | AppEventPublishError;
5
+ export declare type AppEventPublishSuccess = {
6
+ type: 'success';
7
+ failedEvents: AppEventPublishFailure[];
8
+ };
9
+ export interface AppEventPublishFailure {
10
+ event: AppEvent;
11
+ errorMessage: string;
12
+ }
13
+ export interface AppEventPublishError {
14
+ type: 'error';
15
+ errorType: AppEventErrorType;
16
+ errorMessage: string;
17
+ }
18
+ export declare type AppEventErrorType = 'VALIDATION_ERROR' | 'AUTHENTICATION_ERROR' | 'AUTHORIZATION_ERROR' | 'RATE_LIMIT' | 'SERVICE_ERROR' | 'SERVICE_UNAVAILABLE' | `OTHER`;
19
+ export declare const appEvents: {
20
+ publish(events: AppEvent | AppEvent[]): Promise<AppEventPublishResult>;
21
+ };
22
+ //# sourceMappingURL=appEvents.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"appEvents.d.ts","sourceRoot":"","sources":["../src/appEvents.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,QAAQ;IACvB,GAAG,EAAE,MAAM,CAAC;CACb;AAED,oBAAY,qBAAqB,GAAG,sBAAsB,GAAG,oBAAoB,CAAC;AASlF,oBAAY,sBAAsB,GAAG;IACnC,IAAI,EAAE,SAAS,CAAC;IAEhB,YAAY,EAAE,sBAAsB,EAAE,CAAC;CACxC,CAAC;AAKF,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,QAAQ,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;CACtB;AAMD,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,OAAO,CAAC;IACd,SAAS,EAAE,iBAAiB,CAAC;IAC7B,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,oBAAY,iBAAiB,GACzB,kBAAkB,GAClB,sBAAsB,GACtB,qBAAqB,GACrB,YAAY,GACZ,eAAe,GACf,qBAAqB,GACrB,OAAO,CAAC;AAsBZ,eAAO,MAAM,SAAS;oBACE,QAAQ,GAAG,QAAQ,EAAE,GAAG,QAAQ,qBAAqB,CAAC;CAwB7E,CAAC"}
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.appEvents = void 0;
4
+ const queries_1 = require("./queries");
5
+ const api_1 = require("@forge/api");
6
+ const errorTypes = {
7
+ 400: 'VALIDATION_ERROR',
8
+ 401: 'AUTHENTICATION_ERROR',
9
+ 403: 'AUTHORIZATION_ERROR',
10
+ 429: 'RATE_LIMIT',
11
+ 500: 'SERVICE_ERROR',
12
+ 503: 'SERVICE_UNAVAILABLE'
13
+ };
14
+ const endpoint = '/forge/events/v1/app-events';
15
+ exports.appEvents = {
16
+ async publish(events) {
17
+ const eventsArray = Array.isArray(events) ? events : [events];
18
+ const body = {
19
+ events: eventsArray.map((e) => ({
20
+ key: e.key
21
+ }))
22
+ };
23
+ const response = await (0, queries_1.post)(endpoint, body, api_1.__requestAtlassianAsApp);
24
+ const responseBody = await response.json();
25
+ if (!response.ok) {
26
+ return {
27
+ type: 'error',
28
+ errorType: errorTypes[response.status] ?? 'OTHER',
29
+ errorMessage: getErrorMessage(responseBody)
30
+ };
31
+ }
32
+ return {
33
+ type: 'success',
34
+ failedEvents: responseBody.failedEvents ?? []
35
+ };
36
+ }
37
+ };
38
+ function getErrorMessage(responseBody) {
39
+ if (responseBody.errorMessages && responseBody.errorMessages.length > 0) {
40
+ return responseBody.errorMessages.join(', ');
41
+ }
42
+ else if (responseBody.errors) {
43
+ return Object.entries(responseBody.errors)
44
+ .map(([key, value]) => `${key}: ${value}`)
45
+ .join(', ');
46
+ }
47
+ else {
48
+ return JSON.stringify(responseBody);
49
+ }
50
+ }
package/out/index.d.ts CHANGED
@@ -5,4 +5,5 @@ export { QueueResponse } from './queueResponse';
5
5
  export { InvocationError } from './invocationError';
6
6
  export { InvocationErrorCode } from './invocationErrorCode';
7
7
  export { RetryOptions } from './retryOptions';
8
+ export { appEvents, AppEvent, AppEventPublishResult, AppEventPublishSuccess, AppEventPublishFailure, AppEventPublishError, AppEventErrorType } from './appEvents';
8
9
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EACL,qBAAqB,EACrB,kBAAkB,EAClB,kBAAkB,EAClB,mBAAmB,EACnB,cAAc,EACd,mBAAmB,EACnB,mBAAmB,EACnB,oBAAoB,EACpB,wBAAwB,EACxB,2BAA2B,EAC5B,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EACL,qBAAqB,EACrB,kBAAkB,EAClB,kBAAkB,EAClB,mBAAmB,EACnB,cAAc,EACd,mBAAmB,EACnB,mBAAmB,EACnB,oBAAoB,EACpB,wBAAwB,EACxB,2BAA2B,EAC5B,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EACL,SAAS,EACT,QAAQ,EACR,qBAAqB,EACrB,sBAAsB,EACtB,sBAAsB,EACtB,oBAAoB,EACpB,iBAAiB,EAClB,MAAM,aAAa,CAAC"}
package/out/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.InvocationErrorCode = exports.InvocationError = exports.QueueResponse = exports.JobProgress = exports.InvocationLimitReachedError = exports.InvalidPushSettingsError = exports.JobDoesNotExistError = exports.InternalServerError = exports.PartialSuccessError = exports.RateLimitError = exports.NoEventsToPushError = exports.PayloadTooBigError = exports.TooManyEventsError = exports.InvalidQueueNameError = exports.Queue = void 0;
3
+ exports.appEvents = exports.InvocationErrorCode = exports.InvocationError = exports.QueueResponse = exports.JobProgress = exports.InvocationLimitReachedError = exports.InvalidPushSettingsError = exports.JobDoesNotExistError = exports.InternalServerError = exports.PartialSuccessError = exports.RateLimitError = exports.NoEventsToPushError = exports.PayloadTooBigError = exports.TooManyEventsError = exports.InvalidQueueNameError = exports.Queue = void 0;
4
4
  var queue_1 = require("./queue");
5
5
  Object.defineProperty(exports, "Queue", { enumerable: true, get: function () { return queue_1.Queue; } });
6
6
  var errors_1 = require("./errors");
@@ -22,3 +22,5 @@ var invocationError_1 = require("./invocationError");
22
22
  Object.defineProperty(exports, "InvocationError", { enumerable: true, get: function () { return invocationError_1.InvocationError; } });
23
23
  var invocationErrorCode_1 = require("./invocationErrorCode");
24
24
  Object.defineProperty(exports, "InvocationErrorCode", { enumerable: true, get: function () { return invocationErrorCode_1.InvocationErrorCode; } });
25
+ var appEvents_1 = require("./appEvents");
26
+ Object.defineProperty(exports, "appEvents", { enumerable: true, get: function () { return appEvents_1.appEvents; } });
package/out/queries.d.ts CHANGED
@@ -1,7 +1,6 @@
1
1
  import { APIResponse, FetchMethod } from '@forge/api';
2
- import { APIRequest } from './types';
3
2
  export declare const PUSH_PATH = "/webhook/queue/publish/{contextAri}/{environmentId}/{appId}/{appVersion}";
4
3
  export declare const GET_STATS_PATH = "/webhook/queue/stats/{contextAri}/{environmentId}/{appId}/{appVersion}";
5
4
  export declare const CANCEL_JOB_PATH = "/webhook/queue/cancel/{contextAri}/{environmentId}/{appId}/{appVersion}";
6
- export declare const post: (endpoint: string, body: APIRequest, apiClient: FetchMethod) => Promise<APIResponse>;
5
+ export declare const post: (endpoint: string, body: unknown, apiClient: FetchMethod) => Promise<APIResponse>;
7
6
  //# sourceMappingURL=queries.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"queries.d.ts","sourceRoot":"","sources":["../src/queries.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,eAAO,MAAM,SAAS,6EAA6E,CAAC;AACpG,eAAO,MAAM,cAAc,2EAA2E,CAAC;AACvG,eAAO,MAAM,eAAe,4EAA4E,CAAC;AAEzG,eAAO,MAAM,IAAI,aAAoB,MAAM,QAAQ,UAAU,aAAa,WAAW,KAAG,QAAQ,WAAW,CAU1G,CAAC"}
1
+ {"version":3,"file":"queries.d.ts","sourceRoot":"","sources":["../src/queries.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEtD,eAAO,MAAM,SAAS,6EAA6E,CAAC;AACpG,eAAO,MAAM,cAAc,2EAA2E,CAAC;AACvG,eAAO,MAAM,eAAe,4EAA4E,CAAC;AAEzG,eAAO,MAAM,IAAI,aAAoB,MAAM,QAAQ,OAAO,aAAa,WAAW,KAAG,QAAQ,WAAW,CAUvG,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@forge/events",
3
- "version": "1.0.3-next.0-experimental-76b1041",
3
+ "version": "1.1.0-next.0",
4
4
  "description": "Forge Async Event methods",
5
5
  "author": "Atlassian",
6
6
  "license": "SEE LICENSE IN LICENSE.txt",
@@ -12,11 +12,11 @@
12
12
  "compile": "tsc -b -v"
13
13
  },
14
14
  "devDependencies": {
15
- "@types/node": "22.2.0",
15
+ "@types/node": "14.18.63",
16
16
  "@types/uuid": "^9.0.8"
17
17
  },
18
18
  "dependencies": {
19
- "@forge/api": "5.3.0-next.0-experimental-76b1041",
19
+ "@forge/api": "5.3.0",
20
20
  "uuid": "^9.0.1"
21
21
  },
22
22
  "publishConfig": {
@@ -0,0 +1,201 @@
1
+ import { appEvents, AppEvent } from '../appEvents';
2
+ import { post } from '../queries';
3
+ import { __requestAtlassianAsApp } from '@forge/api';
4
+
5
+ // Mock the dependencies
6
+ jest.mock('../queries', () => ({
7
+ post: jest.fn()
8
+ }));
9
+
10
+ jest.mock('@forge/api', () => ({
11
+ __requestAtlassianAsApp: jest.fn()
12
+ }));
13
+
14
+ describe('appEvents', () => {
15
+ beforeEach(() => {
16
+ // Clear all mocks before each test
17
+ jest.clearAllMocks();
18
+ });
19
+
20
+ describe('publishEvent', () => {
21
+ it('should call post with the correct parameters', async () => {
22
+ // Arrange
23
+ const event: AppEvent = { key: 'test-event' };
24
+ const mockResponse = {
25
+ ok: true,
26
+ json: jest.fn().mockResolvedValue({
27
+ failedEvents: []
28
+ })
29
+ };
30
+
31
+ // Mock the post function to return a successful response
32
+ (post as jest.Mock).mockResolvedValue(mockResponse);
33
+
34
+ // Act
35
+ const result = await appEvents.publish(event);
36
+
37
+ // Assert
38
+ expect(post).toHaveBeenCalledTimes(1);
39
+ expect(post).toHaveBeenCalledWith(
40
+ '/forge/events/v1/app-events',
41
+ {
42
+ events: [
43
+ {
44
+ key: event.key
45
+ }
46
+ ]
47
+ },
48
+ __requestAtlassianAsApp
49
+ );
50
+ expect(result).toEqual({ type: 'success', failedEvents: [] });
51
+ });
52
+
53
+ it('should return a success result for successful requests', async () => {
54
+ // Arrange
55
+ const event: AppEvent = { key: 'test-event' };
56
+ const mockResponse = {
57
+ ok: true,
58
+ json: jest.fn().mockResolvedValue({
59
+ failedEvents: []
60
+ })
61
+ };
62
+
63
+ // Mock the post function to return a successful response
64
+ (post as jest.Mock).mockResolvedValue(mockResponse);
65
+
66
+ // Act
67
+ const result = await appEvents.publish(event);
68
+
69
+ // Assert
70
+ expect(result).toEqual({ type: 'success', failedEvents: [] });
71
+ });
72
+
73
+ it('should return an error result for failed requests', async () => {
74
+ // Arrange
75
+ const event: AppEvent = { key: 'test-event' };
76
+ const mockResponse = {
77
+ ok: false,
78
+ status: 500,
79
+ json: jest.fn().mockResolvedValue({
80
+ errorMessages: ['Internal server error']
81
+ })
82
+ };
83
+
84
+ // Mock the post function to return a failed response
85
+ (post as jest.Mock).mockResolvedValue(mockResponse);
86
+
87
+ // Act
88
+ const result = await appEvents.publish(event);
89
+
90
+ // Assert
91
+ expect(result).toEqual({
92
+ type: 'error',
93
+ errorType: 'SERVICE_ERROR',
94
+ errorMessage: 'Internal server error'
95
+ });
96
+ });
97
+
98
+ it('should handle validation errors', async () => {
99
+ // Arrange
100
+ const event: AppEvent = { key: 'test-event' };
101
+ const mockResponse = {
102
+ ok: false,
103
+ status: 400,
104
+ json: jest.fn().mockResolvedValue({
105
+ errorMessages: ['Invalid event type']
106
+ })
107
+ };
108
+
109
+ // Mock the post function to return a validation error response
110
+ (post as jest.Mock).mockResolvedValue(mockResponse);
111
+
112
+ // Act
113
+ const result = await appEvents.publish(event);
114
+
115
+ // Assert
116
+ expect(result).toEqual({
117
+ type: 'error',
118
+ errorType: 'VALIDATION_ERROR',
119
+ errorMessage: 'Invalid event type'
120
+ });
121
+ });
122
+
123
+ it('should handle errors object in the error response', async () => {
124
+ // Arrange
125
+ const event: AppEvent = { key: 'test-event' };
126
+ const errorResponse = {
127
+ errorMessages: [],
128
+ errors: { key: 'Event key is required' }
129
+ };
130
+
131
+ const mockResponse = {
132
+ ok: false,
133
+ status: 400,
134
+ json: jest.fn().mockResolvedValue(errorResponse)
135
+ };
136
+
137
+ // Mock the post function to return an error response with errors object
138
+ (post as jest.Mock).mockResolvedValue(mockResponse);
139
+
140
+ // Act
141
+ const result = await appEvents.publish(event);
142
+
143
+ // Assert
144
+ expect(result).toEqual({
145
+ type: 'error',
146
+ errorType: 'VALIDATION_ERROR',
147
+ errorMessage: 'key: Event key is required'
148
+ });
149
+ });
150
+
151
+ it('should use OTHER as errorType for unknown status codes', async () => {
152
+ // Arrange
153
+ const event: AppEvent = { key: 'test-event' };
154
+ const mockResponse = {
155
+ ok: false,
156
+ status: 418, // I'm a teapot
157
+ json: jest.fn().mockResolvedValue({
158
+ errorMessages: ['I refuse to brew coffee']
159
+ })
160
+ };
161
+
162
+ // Mock the post function to return a response with unknown status code
163
+ (post as jest.Mock).mockResolvedValue(mockResponse);
164
+
165
+ // Act
166
+ const result = await appEvents.publish(event);
167
+
168
+ // Assert
169
+ expect(result).toEqual({
170
+ type: 'error',
171
+ errorType: 'OTHER',
172
+ errorMessage: 'I refuse to brew coffee'
173
+ });
174
+ });
175
+
176
+ it('should handle empty error messages', async () => {
177
+ // Arrange
178
+ const event: AppEvent = { key: 'test-event' };
179
+ const mockResponse = {
180
+ ok: false,
181
+ status: 500,
182
+ json: jest.fn().mockResolvedValue({
183
+ errorMessages: []
184
+ })
185
+ };
186
+
187
+ // Mock the post function to return a response with empty error messages
188
+ (post as jest.Mock).mockResolvedValue(mockResponse);
189
+
190
+ // Act
191
+ const result = await appEvents.publish(event);
192
+
193
+ // Assert
194
+ expect(result).toEqual({
195
+ type: 'error',
196
+ errorType: 'SERVICE_ERROR',
197
+ errorMessage: '{"errorMessages":[]}'
198
+ });
199
+ });
200
+ });
201
+ });
@@ -0,0 +1,107 @@
1
+ import { post } from './queries';
2
+ import { __requestAtlassianAsApp } from '@forge/api';
3
+
4
+ export interface AppEvent {
5
+ key: string;
6
+ }
7
+
8
+ export type AppEventPublishResult = AppEventPublishSuccess | AppEventPublishError;
9
+
10
+ /**
11
+ * Represents the successful result of the publishing operation.
12
+ *
13
+ * It may happen that publishing some of the events fails even though the request was generally successful.
14
+ * Inspect the `failedEvents` field to see which events failed to be published and why
15
+ * (if the list is empty then the operation was fully successful).
16
+ */
17
+ export type AppEventPublishSuccess = {
18
+ type: 'success';
19
+ /** A list of events that failed to be published along with error messages. */
20
+ failedEvents: AppEventPublishFailure[];
21
+ };
22
+
23
+ /**
24
+ * A publishing failure of a specific event.
25
+ */
26
+ export interface AppEventPublishFailure {
27
+ event: AppEvent;
28
+ errorMessage: string;
29
+ }
30
+
31
+ /**
32
+ * A general error of the event publishing operation.
33
+ * No events were published if this is returned.
34
+ */
35
+ export interface AppEventPublishError {
36
+ type: 'error';
37
+ errorType: AppEventErrorType;
38
+ errorMessage: string;
39
+ }
40
+
41
+ export type AppEventErrorType =
42
+ | 'VALIDATION_ERROR'
43
+ | 'AUTHENTICATION_ERROR'
44
+ | 'AUTHORIZATION_ERROR'
45
+ | 'RATE_LIMIT'
46
+ | 'SERVICE_ERROR'
47
+ | 'SERVICE_UNAVAILABLE'
48
+ | `OTHER`;
49
+
50
+ interface AppEventErrorResponse {
51
+ errorMessages: string[];
52
+ errors: Map<string, string>;
53
+ }
54
+
55
+ interface AppEventSuccessResponse {
56
+ failedEvents: AppEventPublishFailure[];
57
+ }
58
+
59
+ const errorTypes: Record<number, AppEventErrorType> = {
60
+ 400: 'VALIDATION_ERROR',
61
+ 401: 'AUTHENTICATION_ERROR',
62
+ 403: 'AUTHORIZATION_ERROR',
63
+ 429: 'RATE_LIMIT',
64
+ 500: 'SERVICE_ERROR',
65
+ 503: 'SERVICE_UNAVAILABLE'
66
+ };
67
+
68
+ const endpoint = '/forge/events/v1/app-events';
69
+
70
+ export const appEvents = {
71
+ async publish(events: AppEvent | AppEvent[]): Promise<AppEventPublishResult> {
72
+ const eventsArray = Array.isArray(events) ? events : [events];
73
+ const body = {
74
+ events: eventsArray.map((e) => ({
75
+ key: e.key
76
+ }))
77
+ };
78
+
79
+ const response = await post(endpoint, body, __requestAtlassianAsApp);
80
+ const responseBody = await response.json();
81
+
82
+ if (!response.ok) {
83
+ return {
84
+ type: 'error',
85
+ errorType: errorTypes[response.status] ?? 'OTHER',
86
+ errorMessage: getErrorMessage(responseBody)
87
+ };
88
+ }
89
+
90
+ return {
91
+ type: 'success',
92
+ failedEvents: (responseBody as AppEventSuccessResponse).failedEvents ?? []
93
+ };
94
+ }
95
+ };
96
+
97
+ function getErrorMessage(responseBody: AppEventErrorResponse) {
98
+ if (responseBody.errorMessages && responseBody.errorMessages.length > 0) {
99
+ return responseBody.errorMessages.join(', ');
100
+ } else if (responseBody.errors) {
101
+ return Object.entries(responseBody.errors)
102
+ .map(([key, value]) => `${key}: ${value}`)
103
+ .join(', ');
104
+ } else {
105
+ return JSON.stringify(responseBody);
106
+ }
107
+ }
package/src/index.ts CHANGED
@@ -16,3 +16,12 @@ export { QueueResponse } from './queueResponse';
16
16
  export { InvocationError } from './invocationError';
17
17
  export { InvocationErrorCode } from './invocationErrorCode';
18
18
  export { RetryOptions } from './retryOptions';
19
+ export {
20
+ appEvents,
21
+ AppEvent,
22
+ AppEventPublishResult,
23
+ AppEventPublishSuccess,
24
+ AppEventPublishFailure,
25
+ AppEventPublishError,
26
+ AppEventErrorType
27
+ } from './appEvents';
package/src/queries.ts CHANGED
@@ -1,10 +1,10 @@
1
1
  import { APIResponse, FetchMethod } from '@forge/api';
2
- import { APIRequest } from './types';
2
+
3
3
  export const PUSH_PATH = '/webhook/queue/publish/{contextAri}/{environmentId}/{appId}/{appVersion}';
4
4
  export const GET_STATS_PATH = '/webhook/queue/stats/{contextAri}/{environmentId}/{appId}/{appVersion}';
5
5
  export const CANCEL_JOB_PATH = '/webhook/queue/cancel/{contextAri}/{environmentId}/{appId}/{appVersion}';
6
6
 
7
- export const post = async (endpoint: string, body: APIRequest, apiClient: FetchMethod): Promise<APIResponse> => {
7
+ export const post = async (endpoint: string, body: unknown, apiClient: FetchMethod): Promise<APIResponse> => {
8
8
  const request = {
9
9
  method: 'POST',
10
10
  body: JSON.stringify(body),
@@ -1 +1 @@
1
- {"program":{"fileNames":["../../node_modules/typescript/lib/lib.es5.d.ts","../../node_modules/typescript/lib/lib.es2015.d.ts","../../node_modules/typescript/lib/lib.es2016.d.ts","../../node_modules/typescript/lib/lib.es2017.d.ts","../../node_modules/typescript/lib/lib.es2018.d.ts","../../node_modules/typescript/lib/lib.es2019.d.ts","../../node_modules/typescript/lib/lib.es2020.d.ts","../../node_modules/typescript/lib/lib.es2021.d.ts","../../node_modules/typescript/lib/lib.es2022.d.ts","../../node_modules/typescript/lib/lib.dom.d.ts","../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../node_modules/typescript/lib/lib.es2020.date.d.ts","../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../node_modules/typescript/lib/lib.es2020.number.d.ts","../../node_modules/typescript/lib/lib.es2021.promise.d.ts","../../node_modules/typescript/lib/lib.es2021.string.d.ts","../../node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../node_modules/typescript/lib/lib.es2021.intl.d.ts","../../node_modules/typescript/lib/lib.es2022.array.d.ts","../../node_modules/typescript/lib/lib.es2022.error.d.ts","../../node_modules/typescript/lib/lib.es2022.intl.d.ts","../../node_modules/typescript/lib/lib.es2022.object.d.ts","../../node_modules/typescript/lib/lib.es2022.sharedmemory.d.ts","../../node_modules/typescript/lib/lib.es2022.string.d.ts","../../node_modules/typescript/lib/lib.esnext.intl.d.ts","../../node_modules/tslib/tslib.d.ts","./src/types.ts","./src/errors.ts","../forge-storage/out/query-interfaces.d.ts","../forge-storage/out/storage-adapter.d.ts","../forge-util/packages/metrics-interface/dist/metrics.d.ts","../forge-util/packages/metrics-interface/dist/index.d.ts","../forge-storage/out/global-storage.d.ts","../forge-storage/out/entity-storage/query-api.d.ts","../forge-storage/out/entity-storage/storage-builder.d.ts","../forge-storage/out/entity-storage/index.d.ts","../forge-storage/out/query-api.d.ts","../forge-storage/out/conditions.d.ts","../forge-storage/out/eap/conditions.d.ts","../forge-storage/out/errors.d.ts","../forge-storage/out/index.d.ts","../forge-auth/out/types.d.ts","../forge-auth/out/confluence/index.d.ts","../forge-auth/out/jira/index.d.ts","../forge-auth/out/index.d.ts","../forge-api/out/authorization/index.d.ts","../forge-api/out/safeUrl.d.ts","../forge-api/out/webTrigger.d.ts","../forge-api/out/api/fetch.d.ts","../forge-api/out/runtime/fetch-and-storage.d.ts","../forge-api/out/api/remote.d.ts","../forge-api/out/api/ari.d.ts","../forge-api/out/api/runtime.d.ts","../forge-api/out/api/errors.d.ts","../forge-i18n/out/constants.d.ts","../forge-i18n/out/types.d.ts","../forge-i18n/out/translationsGetter.d.ts","../forge-i18n/out/translator.d.ts","../forge-i18n/out/ensureLocale.d.ts","../forge-i18n/out/translationValueGetter.d.ts","../forge-i18n/out/moduleI18nHelper.d.ts","../forge-i18n/out/index.d.ts","../forge-api/out/api/i18n.d.ts","../forge-api/out/privacy/index.d.ts","../forge-api/out/index.d.ts","./src/queries.ts","./src/text.ts","./src/validators.ts","../../node_modules/@types/uuid/index.d.ts","./src/jobProgress.ts","./src/queue.ts","./src/queueResponse.ts","./src/invocationErrorCode.ts","./src/retryOptions.ts","./src/invocationError.ts","./src/index.ts","./src/__test__/invocationError.test.ts","./src/__test__/utils.ts","./src/__test__/jobProgress.test.ts","./src/__test__/queue.test.ts","./src/__test__/queueResponse.test.ts","../../node_modules/@types/node/assert.d.ts","../../node_modules/@types/node/assert/strict.d.ts","../../node_modules/buffer/index.d.ts","../../node_modules/undici-types/header.d.ts","../../node_modules/undici-types/readable.d.ts","../../node_modules/undici-types/file.d.ts","../../node_modules/undici-types/fetch.d.ts","../../node_modules/undici-types/formdata.d.ts","../../node_modules/undici-types/connector.d.ts","../../node_modules/undici-types/client.d.ts","../../node_modules/undici-types/errors.d.ts","../../node_modules/undici-types/dispatcher.d.ts","../../node_modules/undici-types/global-dispatcher.d.ts","../../node_modules/undici-types/global-origin.d.ts","../../node_modules/undici-types/pool-stats.d.ts","../../node_modules/undici-types/pool.d.ts","../../node_modules/undici-types/handlers.d.ts","../../node_modules/undici-types/balanced-pool.d.ts","../../node_modules/undici-types/agent.d.ts","../../node_modules/undici-types/mock-interceptor.d.ts","../../node_modules/undici-types/mock-agent.d.ts","../../node_modules/undici-types/mock-client.d.ts","../../node_modules/undici-types/mock-pool.d.ts","../../node_modules/undici-types/mock-errors.d.ts","../../node_modules/undici-types/proxy-agent.d.ts","../../node_modules/undici-types/retry-handler.d.ts","../../node_modules/undici-types/retry-agent.d.ts","../../node_modules/undici-types/api.d.ts","../../node_modules/undici-types/util.d.ts","../../node_modules/undici-types/cookies.d.ts","../../node_modules/undici-types/patch.d.ts","../../node_modules/undici-types/websocket.d.ts","../../node_modules/undici-types/eventsource.d.ts","../../node_modules/undici-types/filereader.d.ts","../../node_modules/undici-types/diagnostics-channel.d.ts","../../node_modules/undici-types/content-type.d.ts","../../node_modules/undici-types/cache.d.ts","../../node_modules/undici-types/interceptors.d.ts","../../node_modules/undici-types/index.d.ts","../../node_modules/@types/node/globals.d.ts","../../node_modules/@types/node/async_hooks.d.ts","../../node_modules/@types/node/buffer.d.ts","../../node_modules/@types/node/child_process.d.ts","../../node_modules/@types/node/cluster.d.ts","../../node_modules/@types/node/console.d.ts","../../node_modules/@types/node/constants.d.ts","../../node_modules/@types/node/crypto.d.ts","../../node_modules/@types/node/dgram.d.ts","../../node_modules/@types/node/diagnostics_channel.d.ts","../../node_modules/@types/node/dns.d.ts","../../node_modules/@types/node/dns/promises.d.ts","../../node_modules/@types/node/domain.d.ts","../../node_modules/@types/node/dom-events.d.ts","../../node_modules/@types/node/events.d.ts","../../node_modules/@types/node/fs.d.ts","../../node_modules/@types/node/fs/promises.d.ts","../../node_modules/@types/node/http.d.ts","../../node_modules/@types/node/http2.d.ts","../../node_modules/@types/node/https.d.ts","../../node_modules/@types/node/inspector.d.ts","../../node_modules/@types/node/module.d.ts","../../node_modules/@types/node/net.d.ts","../../node_modules/@types/node/os.d.ts","../../node_modules/@types/node/path.d.ts","../../node_modules/@types/node/perf_hooks.d.ts","../../node_modules/@types/node/process.d.ts","../../node_modules/@types/node/punycode.d.ts","../../node_modules/@types/node/querystring.d.ts","../../node_modules/@types/node/readline.d.ts","../../node_modules/@types/node/readline/promises.d.ts","../../node_modules/@types/node/repl.d.ts","../../node_modules/@types/node/sea.d.ts","../../node_modules/@types/node/stream.d.ts","../../node_modules/@types/node/stream/promises.d.ts","../../node_modules/@types/node/stream/consumers.d.ts","../../node_modules/@types/node/stream/web.d.ts","../../node_modules/@types/node/string_decoder.d.ts","../../node_modules/@types/node/test.d.ts","../../node_modules/@types/node/timers.d.ts","../../node_modules/@types/node/timers/promises.d.ts","../../node_modules/@types/node/tls.d.ts","../../node_modules/@types/node/trace_events.d.ts","../../node_modules/@types/node/tty.d.ts","../../node_modules/@types/node/url.d.ts","../../node_modules/@types/node/util.d.ts","../../node_modules/@types/node/v8.d.ts","../../node_modules/@types/node/vm.d.ts","../../node_modules/@types/node/wasi.d.ts","../../node_modules/@types/node/worker_threads.d.ts","../../node_modules/@types/node/zlib.d.ts","../../node_modules/@types/node/globals.global.d.ts","../../node_modules/@types/node/index.d.ts","../../node_modules/@jest/expect-utils/build/index.d.ts","../../node_modules/chalk/index.d.ts","../../node_modules/pretty-format/node_modules/@sinclair/typebox/typebox.d.ts","../../node_modules/pretty-format/node_modules/@jest/schemas/build/index.d.ts","../../node_modules/pretty-format/build/index.d.ts","../../node_modules/jest-diff/build/index.d.ts","../../node_modules/jest-matcher-utils/build/index.d.ts","../../node_modules/expect/build/index.d.ts","../../node_modules/@types/jest/index.d.ts","../../node_modules/jest-matcher-specific-error/types/index.d.ts"],"fileInfos":[{"version":"f20c05dbfe50a208301d2a1da37b9931bce0466eb5a1f4fe240971b4ecc82b67","affectsGlobalScope":true,"impliedFormat":1},{"version":"dc47c4fa66b9b9890cf076304de2a9c5201e94b740cffdf09f87296d877d71f6","impliedFormat":1},{"version":"7a387c58583dfca701b6c85e0adaf43fb17d590fb16d5b2dc0a2fbd89f35c467","impliedFormat":1},{"version":"8a12173c586e95f4433e0c6dc446bc88346be73ffe9ca6eec7aa63c8f3dca7f9","impliedFormat":1},{"version":"5f4e733ced4e129482ae2186aae29fde948ab7182844c3a5a51dd346182c7b06","impliedFormat":1},{"version":"e6b724280c694a9f588847f754198fb96c43d805f065c3a5b28bbc9594541c84","impliedFormat":1},{"version":"1fc5ab7a764205c68fa10d381b08417795fc73111d6dd16b5b1ed36badb743d9","impliedFormat":1},{"version":"746d62152361558ea6d6115cf0da4dd10ede041d14882ede3568bce5dc4b4f1f","impliedFormat":1},{"version":"d11a03592451da2d1065e09e61f4e2a9bf68f780f4f6623c18b57816a9679d17","impliedFormat":1},{"version":"9b087de7268e4efc5f215347a62656663933d63c0b1d7b624913240367b999ea","affectsGlobalScope":true,"impliedFormat":1},{"version":"adb996790133eb33b33aadb9c09f15c2c575e71fb57a62de8bf74dbf59ec7dfb","affectsGlobalScope":true,"impliedFormat":1},{"version":"8cc8c5a3bac513368b0157f3d8b31cfdcfe78b56d3724f30f80ed9715e404af8","affectsGlobalScope":true,"impliedFormat":1},{"version":"cdccba9a388c2ee3fd6ad4018c640a471a6c060e96f1232062223063b0a5ac6a","affectsGlobalScope":true,"impliedFormat":1},{"version":"c5c05907c02476e4bde6b7e76a79ffcd948aedd14b6a8f56e4674221b0417398","affectsGlobalScope":true,"impliedFormat":1},{"version":"0d5f52b3174bee6edb81260ebcd792692c32c81fd55499d69531496f3f2b25e7","affectsGlobalScope":true,"impliedFormat":1},{"version":"55f400eec64d17e888e278f4def2f254b41b89515d3b88ad75d5e05f019daddd","affectsGlobalScope":true,"impliedFormat":1},{"version":"181f1784c6c10b751631b24ce60c7f78b20665db4550b335be179217bacc0d5f","affectsGlobalScope":true,"impliedFormat":1},{"version":"3013574108c36fd3aaca79764002b3717da09725a36a6fc02eac386593110f93","affectsGlobalScope":true,"impliedFormat":1},{"version":"75ec0bdd727d887f1b79ed6619412ea72ba3c81d92d0787ccb64bab18d261f14","affectsGlobalScope":true,"impliedFormat":1},{"version":"3be5a1453daa63e031d266bf342f3943603873d890ab8b9ada95e22389389006","affectsGlobalScope":true,"impliedFormat":1},{"version":"17bb1fc99591b00515502d264fa55dc8370c45c5298f4a5c2083557dccba5a2a","affectsGlobalScope":true,"impliedFormat":1},{"version":"7ce9f0bde3307ca1f944119f6365f2d776d281a393b576a18a2f2893a2d75c98","affectsGlobalScope":true,"impliedFormat":1},{"version":"6a6b173e739a6a99629a8594bfb294cc7329bfb7b227f12e1f7c11bc163b8577","affectsGlobalScope":true,"impliedFormat":1},{"version":"81cac4cbc92c0c839c70f8ffb94eb61e2d32dc1c3cf6d95844ca099463cf37ea","affectsGlobalScope":true,"impliedFormat":1},{"version":"b0124885ef82641903d232172577f2ceb5d3e60aed4da1153bab4221e1f6dd4e","affectsGlobalScope":true,"impliedFormat":1},{"version":"0eb85d6c590b0d577919a79e0084fa1744c1beba6fd0d4e951432fa1ede5510a","affectsGlobalScope":true,"impliedFormat":1},{"version":"da233fc1c8a377ba9e0bed690a73c290d843c2c3d23a7bd7ec5cd3d7d73ba1e0","affectsGlobalScope":true,"impliedFormat":1},{"version":"d154ea5bb7f7f9001ed9153e876b2d5b8f5c2bb9ec02b3ae0d239ec769f1f2ae","affectsGlobalScope":true,"impliedFormat":1},{"version":"bb2d3fb05a1d2ffbca947cc7cbc95d23e1d053d6595391bd325deb265a18d36c","affectsGlobalScope":true,"impliedFormat":1},{"version":"c80df75850fea5caa2afe43b9949338ce4e2de086f91713e9af1a06f973872b8","affectsGlobalScope":true,"impliedFormat":1},{"version":"9d57b2b5d15838ed094aa9ff1299eecef40b190722eb619bac4616657a05f951","affectsGlobalScope":true,"impliedFormat":1},{"version":"6c51b5dd26a2c31dbf37f00cfc32b2aa6a92e19c995aefb5b97a3a64f1ac99de","affectsGlobalScope":true,"impliedFormat":1},{"version":"6e7997ef61de3132e4d4b2250e75343f487903ddf5370e7ce33cf1b9db9a63ed","affectsGlobalScope":true,"impliedFormat":1},{"version":"2ad234885a4240522efccd77de6c7d99eecf9b4de0914adb9a35c0c22433f993","affectsGlobalScope":true,"impliedFormat":1},{"version":"09aa50414b80c023553090e2f53827f007a301bc34b0495bfb2c3c08ab9ad1eb","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7f680a43f8cd12a6b6122c07c54ba40952b0c8aa140dcfcf32eb9e6cb028596","affectsGlobalScope":true,"impliedFormat":1},{"version":"3787b83e297de7c315d55d4a7c546ae28e5f6c0a361b7a1dcec1f1f50a54ef11","affectsGlobalScope":true,"impliedFormat":1},{"version":"e7e8e1d368290e9295ef18ca23f405cf40d5456fa9f20db6373a61ca45f75f40","affectsGlobalScope":true,"impliedFormat":1},{"version":"faf0221ae0465363c842ce6aa8a0cbda5d9296940a8e26c86e04cc4081eea21e","affectsGlobalScope":true,"impliedFormat":1},{"version":"06393d13ea207a1bfe08ec8d7be562549c5e2da8983f2ee074e00002629d1871","affectsGlobalScope":true,"impliedFormat":1},{"version":"775d9c9fd150d5de79e0450f35bc8b8f94ae64e3eb5da12725ff2a649dccc777","affectsGlobalScope":true,"impliedFormat":1},{"version":"b248e32ca52e8f5571390a4142558ae4f203ae2f94d5bac38a3084d529ef4e58","affectsGlobalScope":true,"impliedFormat":1},{"version":"6c55633c733c8378db65ac3da7a767c3cf2cf3057f0565a9124a16a3a2019e87","affectsGlobalScope":true,"impliedFormat":1},{"version":"fb4416144c1bf0323ccbc9afb0ab289c07312214e8820ad17d709498c865a3fe","affectsGlobalScope":true,"impliedFormat":1},{"version":"5b0ca94ec819d68d33da516306c15297acec88efeb0ae9e2b39f71dbd9685ef7","affectsGlobalScope":true,"impliedFormat":1},{"version":"34c839eaaa6d78c8674ae2c37af2236dee6831b13db7b4ef4df3ec889a04d4f2","affectsGlobalScope":true,"impliedFormat":1},{"version":"34478567f8a80171f88f2f30808beb7da15eac0538ae91282dd33dce928d98ed","affectsGlobalScope":true,"impliedFormat":1},{"version":"ab7d58e6161a550ff92e5aff755dc37fe896245348332cd5f1e1203479fe0ed1","affectsGlobalScope":true,"impliedFormat":1},{"version":"6bda95ea27a59a276e46043b7065b55bd4b316c25e70e29b572958fa77565d43","affectsGlobalScope":true,"impliedFormat":1},{"version":"aedb8de1abb2ff1095c153854a6df7deae4a5709c37297f9d6e9948b6806fa66","affectsGlobalScope":true,"impliedFormat":1},{"version":"a4da0551fd39b90ca7ce5f68fb55d4dc0c1396d589b612e1902f68ee090aaada","affectsGlobalScope":true,"impliedFormat":1},{"version":"11ffe3c281f375fff9ffdde8bbec7669b4dd671905509079f866f2354a788064","affectsGlobalScope":true,"impliedFormat":1},{"version":"52d1bb7ab7a3306fd0375c8bff560feed26ed676a5b0457fa8027b563aecb9a4","affectsGlobalScope":true,"impliedFormat":1},{"version":"4a882ffbb4ed09d9b7734f784aebb1dfe488d63725c40759165c5d9c657ca029","impliedFormat":1},{"version":"3dfb223719e80f3274772b5d43c20c2b877daeef543653d459aeb6801689222e","signature":"293fd1f0a6db96da2982b979e4e12db4be7889f2034c9a07c615e2828df01c1c"},{"version":"d851b9c7d9f3221bbef29df8237e3d4156ab8706950d6bdd6c4a57d8e55cc4c1","signature":"748b8b5e0d196f9341389d95c012238e6c6dd70dd4fdc139e29c502711433a97"},"5b4562d7556941f61d677dc94ee540af384aec3ccbeb1dd05b4dd0448058529e","33bf5a0df9d773e23caf13850949cee152b537ac2a1bb4020ca9f3284b9d39b7",{"version":"d628d2fabd121a92037a601b355433f17273925b8010917e2478df91f7d3619d","impliedFormat":1},{"version":"63306b18d7206a0f575981fed144456039b44a28a34ffd5bed98285d1e4c6e1c","impliedFormat":1},"89d116d4c873648bc2d0b76c1d5474b672a2a5524534a45e14444aec3ee5f36f","878cef40368fa8fc238d85b81ce37f204eea5fa5c9ae34966682d9622115682b","eb5d79ac88621dd6baf35a14c28adad899d7708707b896ba1b110ae28c41ae53","2bb098747b6606f8053f8be077a2495316d1905df557f39459ad3aabb28c8322","79dbf651176ace3f21bef66c8605fa374e509cd0fea3a15e616ddfbf3a475487","3b339bea8731e1dc45e8ae206876665dd7409981a117f0c5cfc41da4c5423503","889f9108e136632012e3aaa6d0f8000da3afb933b2e9dd214c8261f638c576e3","7c2b2bc1922e4cfc3b047d595c3a299a125f95f59e77dba6eb3bdd8318da4492","164b980ce4fecbff5b7993bf5054fbaa21da3885df0e48eca949149fd0728131","8a378890decceec11c3634207a58834035ca74459eaf89434a3582a7dca5ac8a","7a464c71243352809e81f1b99ab7f72d08c5bf41687bbd1d0ffd081295c6923a","3204c557d94ef66184156205ee6aa03a8ecf60161109ff82698450061b125fa7","55d66720fcbdb6105fe7b41ef0fb3f54175bec03760c3fefb2b2d32bed660e62",{"version":"cf494880b84e14e5ea7be3a74c7e6e20290e67d4a423a8542dc6e7d596172fa6","impliedFormat":1},{"version":"1c9baf53c0f3926062c1f2a86199b98d2fcbe91dd14bef4835022fd0e3b4cd2b","impliedFormat":1},{"version":"05d693ce7edac6d9e56a7386396d0aa2dc29201ac7abc3570aa77143a862b973","impliedFormat":1},{"version":"19c9755ba52944a0f8eb10936483515f2b659a4c854a2a145ebee8429f725eeb","impliedFormat":1},{"version":"bb9a92099b57a22dd00becf158fab69d9c513af4f8645230ac7e96c7b1713a54","impliedFormat":1},{"version":"f1f88f3849c461893fd105f4ff93f946bc416ee58bc9f88fd2a03f62e13cb782","impliedFormat":1},{"version":"3e0d26c84b14bb11ef4b3c2479e9738b97ba5814be2e620a518aa8b2bfa50fe3","impliedFormat":1},{"version":"cb1633a5283d76c7ef43fd109d31a53bcc57f08a8f19c35f53d3728062f133c5","impliedFormat":1},{"version":"383fd605d4c513def001780330bf02dcc1ece4d3a3fb7a4d1253498499f18760","impliedFormat":1},"cae8b4d777ec449636ca710c335c1ec1f53a5b245329e905b24c26fdd460ef10","286d543fd18d72657d0f7a03d09b7e961eea303919881cc0a42cb364b034bac9","834f2399f1f37b79a779d78e0202abf74e987f5e839f63e088538d947ad491de","ddf9f4a6c7f6a02723c6564fe7a64ca93ec0a8cbe26e6def7ab1587c1b2c0aa2","733828433b4488256a2911f68af1c7746d2cb909dfeb961cc39c01eb6cd6c873","2686f18bfc2384e3e5cbaefe0f107692e179480fb2c79c00d9501721465ff557","0caa60236b3cb60903036065933d3f9bb1a3c6901a29f436431ae7000dedc014","8d1a616b12a4876af4f1050b80827bc3a5769a66e137a0662499879b0e6da235",{"version":"cb3c07f79075ec593506c466ea89ae8ad1e16bd2ecc3d9aa7743d6a899dcbf53","impliedFormat":1},{"version":"c060d14b47b9667338d91d32b4be32bd9922fa417e1720bb43a95f188b2c4e81","impliedFormat":1},{"version":"c0fb6b39c94d85025bb164dd361ad67f6284bfe44b65a2bc4b1996795299e7a0","impliedFormat":1},{"version":"e18fbb4f39cbccc7b2856aa0a7cab69d002adb621bbc23b9409bc456be70028d","signature":"32c7473f8da9f4dc94045128d962f65d4cdf1332ddec4b2a0b1c623ce2fa65d7"},{"version":"0b4ee00634da4bf5aa2fecf99443c7a886fee5619832b35c0e10513deecd3967","signature":"bc7acf4bc90803aba3a7450832e1a62487162b8b08e9d0bc1c7d64d9480e6771"},{"version":"cb8e4f43f0cd4c1ab697e36506845d2e2ba83f79d0bb6d28b45e0bcf88543708","signature":"a0d232b8a21661518920953e6b068556456bbc4ea09220044aaaf663b59fb8f9"},{"version":"7d2b7fe4adb76d8253f20e4dbdce044f1cdfab4902ec33c3604585f553883f7d","impliedFormat":1},{"version":"e94d962badc63be9318179815385e94a113562202a74881f9603fddabfb82004","signature":"0ed74ef8aa78a65c29ec65cd9c8de3420fc976e93132ad4a38f8dfe39e205832"},{"version":"1c9dc264e013a5fb5b182660b5dc9eca714ae109c734b619c188d92a33628a9e","signature":"4ef95ab76d3bc731667a5dc6cd64d66958135b4900565197de27003214abe096"},{"version":"a765beefc0958b16e701b1ba73f20bd19652502a883085aae57738b608635962","signature":"f1f3e856958c54c84fb5b6a6ddceda50af68fb167f0df45fc3a362bbab302602"},{"version":"ce35cf0f29e81eca73355d9cef22a8d22aa22e29adc71cd46d1d6126fca67080","signature":"46968c38bfe319413f819c0f6f6627ca171b8f9ec0dd8f9639ef4d15eec9ef1c"},{"version":"01d4546f1cd03fe04db3e66de04d74f2951538c3118ff44db7a088c533f03ee2","signature":"1ffd7e7ce2ed0fdd35445488e060dfc7eb5f37b6729870e63e8b64fd915b5677"},{"version":"fd24f1547c45126b515a6f18f61889f3470495d5a999a6eed5c227d8bc6b574d","signature":"f509c90bae8d6e7621c7f705e34c2d1f515314f11f6170d6875c7aaf54db51bc"},{"version":"fe56bfba6bfc0931a055642585af15f764fb51383d56674742f7a9036802c4f1","signature":"6e471eba5346ca21eee2c592383ba637cddd095fc36fc59357469bf97e8f5551"},{"version":"096668440e76648563b9766369e205cd15640660b37ca4dfcb50947036e10087","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"2064bf3ea14ce37b796901350f88cfad49a8fd8afc9c5477d5045b91a182eee1","signature":"28538a9fc0a4f5cab7d21747d3c4fb14c7ec53fc4a6306eefa4f7af5342e58dd"},{"version":"16bca0636cead3ab2f15b9b0a14e1cba40cec2d85b6783401d8b8c144a8f9b88","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"1ca7b9a62cc3c132410c39eb192e36b3683b25ece9378625a058e6d71cbfda4b","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"1284a9873c9417bee3eaed6085415783492678d52fe520e41a308f067bdf5a17","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"e142fda89ed689ea53d6f2c93693898464c7d29a0ae71c6dc8cdfe5a1d76c775","impliedFormat":1},{"version":"7394959e5a741b185456e1ef5d64599c36c60a323207450991e7a42e08911419","impliedFormat":1},{"version":"4967529644e391115ca5592184d4b63980569adf60ee685f968fd59ab1557188","impliedFormat":1},{"version":"5929864ce17fba74232584d90cb721a89b7ad277220627cc97054ba15a98ea8f","impliedFormat":1},{"version":"24bd580b5743dc56402c440dc7f9a4f5d592ad7a419f25414d37a7bfe11e342b","impliedFormat":1},{"version":"25c8056edf4314820382a5fdb4bb7816999acdcb929c8f75e3f39473b87e85bc","impliedFormat":1},{"version":"34b4f256dd3c591cb7c9e96a763d79d54b69d417709b9015dcec3ac5583eec73","impliedFormat":1},{"version":"3e4825171442666d31c845aeb47fcd34b62e14041bb353ae2b874285d78482aa","impliedFormat":1},{"version":"c6fd2c5a395f2432786c9cb8deb870b9b0e8ff7e22c029954fabdd692bff6195","impliedFormat":1},{"version":"1d6e127068ea8e104a912e42fc0a110e2aa5a66a356a917a163e8cf9a65e4a75","impliedFormat":1},{"version":"e9775e97ac4877aebf963a0289c81abe76d1ec9a2a7778dbe637e5151f25c5f3","impliedFormat":1},{"version":"57386628c539248e4f428d5308a69f98f4a6a3cd42a053f017d9dd3fd5a43bc5","impliedFormat":1},{"version":"cadc8aced301244057c4e7e73fbcae534b0f5b12a37b150d80e5a45aa4bebcbd","impliedFormat":1},{"version":"385aab901643aa54e1c36f5ef3107913b10d1b5bb8cbcd933d4263b80a0d7f20","impliedFormat":1},{"version":"9670d44354bab9d9982eca21945686b5c24a3f893db73c0dae0fd74217a4c219","impliedFormat":1},{"version":"0b8a9268adaf4da35e7fa830c8981cfa22adbbe5b3f6f5ab91f6658899e657a7","impliedFormat":1},{"version":"11396ed8a44c02ab9798b7dca436009f866e8dae3c9c25e8c1fbc396880bf1bb","impliedFormat":1},{"version":"ba7bc87d01492633cb5a0e5da8a4a42a1c86270e7b3d2dea5d156828a84e4882","impliedFormat":1},{"version":"4893a895ea92c85345017a04ed427cbd6a1710453338df26881a6019432febdd","impliedFormat":1},{"version":"3a84b7cb891141824bd00ef8a50b6a44596aded4075da937f180c90e362fe5f6","impliedFormat":1},{"version":"13f6f39e12b1518c6650bbb220c8985999020fe0f21d818e28f512b7771d00f9","impliedFormat":1},{"version":"9b5369969f6e7175740bf51223112ff209f94ba43ecd3bb09eefff9fd675624a","impliedFormat":1},{"version":"4fe9e626e7164748e8769bbf74b538e09607f07ed17c2f20af8d680ee49fc1da","impliedFormat":1},{"version":"24515859bc0b836719105bb6cc3d68255042a9f02a6022b3187948b204946bd2","impliedFormat":1},{"version":"ea0148f897b45a76544ae179784c95af1bd6721b8610af9ffa467a518a086a43","impliedFormat":1},{"version":"dd3273ead9fbde62a72949c97dbec2247ea08e0c6952e701a483d74ef92d6a17","impliedFormat":1},{"version":"8b9bf58d580d9b36ab2f23178c88757ce7cc6830ccbdd09e8a76f4cb1bc0fcf7","impliedFormat":1},{"version":"0db18c6e78ea846316c012478888f33c11ffadab9efd1cc8bcc12daded7a60b6","impliedFormat":1},{"version":"7782678102bd835ef2c54330ee16c31388e51dfd9ca535b47f6fd8f3d6e07993","impliedFormat":1},{"version":"89167d696a849fce5ca508032aabfe901c0868f833a8625d5a9c6e861ef935d2","impliedFormat":1},{"version":"e53a3c2a9f624d90f24bf4588aacd223e7bec1b9d0d479b68d2f4a9e6011147f","impliedFormat":1},{"version":"24b8685c62562f5d98615c5a0c1d05f297cf5065f15246edfe99e81ec4c0e011","impliedFormat":1},{"version":"1a42891defae8cec268a4f8903140dbf0d214c0cf9ed8fdc1eb6c25e5b3e9a5c","impliedFormat":1},{"version":"339dc5265ee5ed92e536a93a04c4ebbc2128f45eeec6ed29f379e0085283542c","impliedFormat":1},{"version":"4732aec92b20fb28c5fe9ad99521fb59974289ed1e45aecb282616202184064f","impliedFormat":1},{"version":"2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","impliedFormat":1},{"version":"c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","impliedFormat":1},{"version":"d32275be3546f252e3ad33976caf8c5e842c09cb87d468cb40d5f4cf092d1acc","impliedFormat":1},{"version":"37e97c64b890352421ccb29cd8ede863774df8f03763416f6a572093f6058284","impliedFormat":1},{"version":"6f73fc82f51bcdf0487fc982f062eeadae02e0251dd2e4c444043edb247a7d3b","affectsGlobalScope":true,"impliedFormat":1},{"version":"db3ec8993b7596a4ef47f309c7b25ee2505b519c13050424d9c34701e5973315","impliedFormat":1},{"version":"e7f13a977b01cc54adb4408a9265cda9ddf11db878d70f4f3cac64bef00062e6","affectsGlobalScope":true,"impliedFormat":1},{"version":"af49b066a76ce26673fe49d1885cc6b44153f1071ed2d952f2a90fccba1095c9","impliedFormat":1},{"version":"f22fd1dc2df53eaf5ce0ff9e0a3326fc66f880d6a652210d50563ae72625455f","impliedFormat":1},{"version":"3ddbdb519e87a7827c4f0c4007013f3628ca0ebb9e2b018cf31e5b2f61c593f1","affectsGlobalScope":true,"impliedFormat":1},{"version":"a40826e8476694e90da94aa008283a7de50d1dafd37beada623863f1901cb7fb","impliedFormat":1},{"version":"6d498d4fd8036ea02a4edcae10375854a0eb1df0496cf0b9d692577d3c0fd603","affectsGlobalScope":true,"impliedFormat":1},{"version":"24642567d3729bcc545bacb65ee7c0db423400c7f1ef757cab25d05650064f98","impliedFormat":1},{"version":"fd09b892597ab93e7f79745ce725a3aaf6dd005e8db20f0c63a5d10984cba328","impliedFormat":1},{"version":"a3be878ff1e1964ab2dc8e0a3b67087cf838731c7f3d8f603337e7b712fdd558","impliedFormat":1},{"version":"5433f7f77cd1fd53f45bd82445a4e437b2f6a72a32070e907530a4fea56c30c8","impliedFormat":1},{"version":"9be74296ee565af0c12d7071541fdd23260f53c3da7731fb6361f61150a791f6","impliedFormat":1},{"version":"ee1ee365d88c4c6c0c0a5a5701d66ebc27ccd0bcfcfaa482c6e2e7fe7b98edf7","affectsGlobalScope":true,"impliedFormat":1},{"version":"f501a53b94ba382d9ba396a5c486969a3abc68309828fa67f916035f5d37fe2b","affectsGlobalScope":true,"impliedFormat":1},{"version":"aa658b5d765f630c312ac9202d110bbaf2b82d180376457f0a9d57b42629714a","impliedFormat":1},{"version":"312ac7cbd070107766a9886fd27f9faad997ef57d93fdfb4095df2c618ac8162","impliedFormat":1},{"version":"bcfcff784a59db3f323c25cea5ae99a903ca9292c060f2c7e470ea73aaf71b44","impliedFormat":1},{"version":"672ad3045f329e94002256f8ed460cfd06173a50c92cde41edaadfacffd16808","impliedFormat":1},{"version":"64da4965d1e0559e134d9c1621ae400279a216f87ed00c4cce4f2c7c78021712","impliedFormat":1},{"version":"ddbf3aac94f85dbb8e4d0360782e60020da75a0becfc0d3c69e437c645feb30f","impliedFormat":1},{"version":"0166fce1204d520fdfd6b5febb3cda3deee438bcbf8ce9ffeb2b1bcde7155346","affectsGlobalScope":true,"impliedFormat":1},{"version":"d8b13eab85b532285031b06a971fa051bf0175d8fff68065a24a6da9c1c986cf","impliedFormat":1},{"version":"50c382ba1827988c59aa9cc9d046e386d55d70f762e9e352e95ee8cb7337cdb8","impliedFormat":1},{"version":"2178ab4b68402d1de2dda199d3e4a55f7200e3334f5a9727fbd9d16975cdf75f","impliedFormat":1},{"version":"21d7e87f271e72d02f8d167edc902f90b04525edc7918f00f01dd0bd00599f7e","affectsGlobalScope":true,"impliedFormat":1},{"version":"9e523e73ee7dd119d99072fd855404efc33938c168063771528bd1deb6df56d2","affectsGlobalScope":true,"impliedFormat":1},{"version":"a215554477f7629e3dcbc8cde104bec036b78673650272f5ffdc5a2cee399a0a","impliedFormat":1},{"version":"c3497fc242aabfedcd430b5932412f94f157b5906568e737f6a18cc77b36a954","impliedFormat":1},{"version":"cdc1de3b672f9ef03ff15c443aa1b631edca35b6ae6970a7da6400647ff74d95","impliedFormat":1},{"version":"139ad1dc93a503da85b7a0d5f615bddbae61ad796bc68fedd049150db67a1e26","impliedFormat":1},{"version":"bf01fdd3b93cf633b3f7420718457af19c57ab8cbfea49268df60bae2e84d627","impliedFormat":1},{"version":"15c5e91b5f08be34a78e3d976179bf5b7a9cc28dc0ef1ffebffeb3c7812a2dca","impliedFormat":1},{"version":"65b39cc6b610a4a4aecc321f6efb436f10c0509d686124795b4c36a5e915b89e","impliedFormat":1},{"version":"269929a24b2816343a178008ac9ae9248304d92a8ba8e233055e0ed6dbe6ef71","impliedFormat":1},{"version":"93452d394fdd1dc551ec62f5042366f011a00d342d36d50793b3529bfc9bd633","impliedFormat":1},{"version":"3c1f19c7abcda6b3a4cf9438a15c7307a080bd3b51dfd56b198d9f86baf19447","impliedFormat":1},{"version":"d3edb86744e2c19f2c1503849ac7594a5e06024f2451bacae032390f2e20314a","impliedFormat":1},{"version":"97a1d365f71c72ebc3256b0fb8ada716f70c7482309535b7a56c78e651f18b33","affectsGlobalScope":true,"impliedFormat":1},{"version":"8a3e61347b8f80aa5af532094498bceb0c0b257b25a6aa8ab4880fd6ed57c95a","affectsGlobalScope":true,"impliedFormat":1},{"version":"98e00f3613402504bc2a2c9a621800ab48e0a463d1eed062208a4ae98ad8f84c","impliedFormat":1},{"version":"4301becc26a79eb5f4552f7bee356c2534466d3b5cd68b71523e1929d543de89","impliedFormat":1},{"version":"5475df7cfc493a08483c9d7aa61cc04791aecba9d0a2efc213f23c4006d4d3cd","impliedFormat":1},{"version":"000720870b275764c65e9f28ac97cc9e4d9e4a36942d4750ca8603e416e9c57c","impliedFormat":1},{"version":"54412c70bacb9ed547ed6caae8836f712a83ccf58d94466f3387447ec4e82dc3","affectsGlobalScope":true,"impliedFormat":1},{"version":"1d274b8bb8ca011148f87e128392bfcd17a12713b6a4e843f0fa9f3f6b45e2b1","affectsGlobalScope":true,"impliedFormat":1},{"version":"4c48e931a72f6971b5add7fdb1136be1d617f124594e94595f7114af749395e0","impliedFormat":1},{"version":"478eb5c32250678a906d91e0529c70243fc4d75477a08f3da408e2615396f558","impliedFormat":1},{"version":"e686a88c9ee004c8ba12ffc9d674ca3192a4c50ed0ca6bd5b2825c289e2b2bfe","impliedFormat":1},{"version":"98d547613610452ac9323fb9ec4eafc89acab77644d6e23105b3c94913f712b3","affectsGlobalScope":true,"impliedFormat":1},{"version":"4423fb3d6abe6eefb8d7f79eb2df9510824a216ec1c6feee46718c9b18e6d89f","impliedFormat":1},{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true,"impliedFormat":1},{"version":"a42be67ed1ddaec743582f41fc219db96a1b69719fccac6d1464321178d610fc","impliedFormat":1},{"version":"cdcc132f207d097d7d3aa75615ab9a2e71d6a478162dde8b67f88ea19f3e54de","impliedFormat":1},{"version":"0d14fa22c41fdc7277e6f71473b20ebc07f40f00e38875142335d5b63cdfc9d2","impliedFormat":1},{"version":"c085e9aa62d1ae1375794c1fb927a445fa105fed891a7e24edbb1c3300f7384a","impliedFormat":1},{"version":"f315e1e65a1f80992f0509e84e4ae2df15ecd9ef73df975f7c98813b71e4c8da","impliedFormat":1},{"version":"5b9586e9b0b6322e5bfbd2c29bd3b8e21ab9d871f82346cb71020e3d84bae73e","impliedFormat":1},{"version":"3e70a7e67c2cb16f8cd49097360c0309fe9d1e3210ff9222e9dac1f8df9d4fb6","impliedFormat":1},{"version":"ab68d2a3e3e8767c3fba8f80de099a1cfc18c0de79e42cb02ae66e22dfe14a66","impliedFormat":1},{"version":"d96cc6598148bf1a98fb2e8dcf01c63a4b3558bdaec6ef35e087fd0562eb40ec","impliedFormat":1},{"version":"5ab630d466ac55baa6d32820378098404fc18ba9da6f7bc5df30c5dbb1cffae8","affectsGlobalScope":true,"impliedFormat":1},{"version":"50adbf55a460fd1048260f11c9b0ec28ee950e6aeaee179ddc09d14be6dedb4e","affectsGlobalScope":true,"impliedFormat":1}],"options":{"composite":true,"declaration":true,"declarationMap":true,"esModuleInterop":true,"importHelpers":true,"module":1,"noUnusedLocals":true,"outDir":"./out","removeComments":true,"rootDir":"./src","skipLibCheck":true,"strict":true,"target":9,"useUnknownInCatchVariables":false},"fileIdsList":[[206,209],[110],[150],[151,156,185],[152,157,163,164,171,182,193],[152,153,163,171],[154,194],[155,156,164,172],[156,182,190],[157,159,163,171],[150,158],[159,160],[163],[161,163],[150,163],[163,164,165,182,193],[163,164,165,178,182,185],[148,151,198],[159,163,166,171,182,193],[163,164,166,167,171,182,190,193],[166,168,182,190,193],[110,111,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200],[163,169],[170,193,198],[159,163,171,182],[172],[173],[150,174],[171,172,175,192,198],[176],[177],[163,178,179],[178,180,194,196],[151,163,182,183,184,185],[151,182,184],[182,183],[185],[186],[110,182],[163,188,189],[188,189],[156,171,182,190],[191],[171,192],[151,166,177,193],[156,194],[182,195],[170,196],[197],[151,156,163,165,174,182,193,196,198],[182,199],[202,208],[206],[210],[203,207],[205],[204],[121,125,193],[121,182,193],[116],[118,121,190,193],[171,190],[201],[116,201],[118,121,171,193],[113,114,117,120,151,163,182,193],[113,119],[140,141],[117,121,151,185,193,201],[151,201],[140,151,201],[115,116,201],[121],[115,116,117,118,119,120,121,122,123,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,141,142,143,144,145,146,147],[121,128,129],[119,121,129,130],[120],[113,116,121],[121,125,129,130],[125],[119,121,124,193],[113,118,121,128],[151,182],[113,118,121,128,135],[116,121,140,151,198,201],[93],[90],[60,80],[73],[69,74,75,76,77,78,79,81,82,91,92],[60,77,93],[70],[70,71,72],[54,101,102,103],[54,56,93,98,106],[54,56,93,98,99,106],[54,100],[54,55],[54,56,98,99,100,101,102,103],[54,100,102],[54],[54,55,93,94,96],[54,55,93],[54,55,93,94,96,97,98],[54,101],[54,55,56,93,95],[84],[83,84,85,86,87,88,89],[84,85],[83],[58],[63],[57,58,61],[61,62],[57,58,60,69],[57,58,61,62,64,65,66,67,68],[57,64],[59],[55],[56,98,99,100,101,102,103],[100,102],[55,93],[55,93,98],[101]],"referencedMap":[[210,1],[110,2],[111,2],[150,3],[151,4],[152,5],[153,6],[154,7],[155,8],[156,9],[157,10],[158,11],[159,12],[160,12],[162,13],[161,14],[163,15],[164,16],[165,17],[149,18],[166,19],[167,20],[168,21],[201,22],[169,23],[170,24],[171,25],[172,26],[173,27],[174,28],[175,29],[176,30],[177,31],[178,32],[179,32],[180,33],[182,34],[184,35],[183,36],[185,37],[186,38],[187,39],[188,40],[189,41],[190,42],[191,43],[192,44],[193,45],[194,46],[195,47],[196,48],[197,49],[198,50],[199,51],[209,52],[207,53],[211,54],[208,55],[206,56],[205,57],[128,58],[137,59],[127,58],[146,60],[119,61],[118,62],[145,63],[139,64],[144,65],[121,66],[120,67],[142,68],[116,69],[115,70],[143,71],[117,72],[122,73],[126,73],[148,74],[147,73],[130,75],[131,76],[133,77],[129,78],[132,79],[140,63],[124,80],[125,81],[134,82],[114,83],[136,84],[135,73],[141,85],[77,86],[91,87],[79,86],[81,88],[74,89],[93,90],[92,86],[78,91],[71,92],[73,93],[72,92],[105,94],[107,95],[108,96],[109,97],[106,98],[56,98],[104,99],[103,100],[101,101],[98,102],[94,103],[99,104],[100,101],[102,105],[95,101],[55,101],[96,106],[87,107],[90,108],[88,107],[85,107],[86,109],[84,110],[66,111],[67,111],[64,112],[62,113],[63,114],[61,115],[69,116],[65,113],[58,117],[60,118]],"exportedModulesMap":[[210,1],[110,2],[111,2],[150,3],[151,4],[152,5],[153,6],[154,7],[155,8],[156,9],[157,10],[158,11],[159,12],[160,12],[162,13],[161,14],[163,15],[164,16],[165,17],[149,18],[166,19],[167,20],[168,21],[201,22],[169,23],[170,24],[171,25],[172,26],[173,27],[174,28],[175,29],[176,30],[177,31],[178,32],[179,32],[180,33],[182,34],[184,35],[183,36],[185,37],[186,38],[187,39],[188,40],[189,41],[190,42],[191,43],[192,44],[193,45],[194,46],[195,47],[196,48],[197,49],[198,50],[199,51],[209,52],[207,53],[211,54],[208,55],[206,56],[205,57],[128,58],[137,59],[127,58],[146,60],[119,61],[118,62],[145,63],[139,64],[144,65],[121,66],[120,67],[142,68],[116,69],[115,70],[143,71],[117,72],[122,73],[126,73],[148,74],[147,73],[130,75],[131,76],[133,77],[129,78],[132,79],[140,63],[124,80],[125,81],[134,82],[114,83],[136,84],[135,73],[141,85],[77,86],[91,87],[79,86],[81,88],[74,89],[93,90],[92,86],[78,91],[71,92],[73,93],[72,92],[106,119],[56,119],[104,120],[103,121],[98,86],[94,122],[99,123],[102,124],[96,122],[87,107],[90,108],[88,107],[85,107],[86,109],[84,110],[66,111],[67,111],[64,112],[62,113],[63,114],[61,115],[69,116],[65,113],[58,117],[60,118]],"semanticDiagnosticsPerFile":[202,210,110,111,150,151,152,153,154,155,156,157,158,159,160,162,161,163,164,165,149,200,166,167,168,201,169,170,171,172,173,174,175,176,177,178,179,180,181,182,184,183,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,97,112,203,209,207,211,208,206,205,204,54,10,12,11,2,13,14,15,16,17,18,19,20,3,4,24,21,22,23,25,26,27,5,28,29,30,31,6,32,33,34,35,7,36,41,42,37,38,39,40,8,46,43,44,45,47,9,48,49,50,51,52,1,53,128,137,127,146,119,118,145,139,144,121,120,142,116,115,143,117,122,123,126,113,148,147,130,131,133,129,132,140,124,125,134,114,136,135,138,141,80,82,77,91,79,81,74,93,92,78,75,76,71,73,72,70,105,107,108,109,106,56,104,103,101,98,94,99,100,102,95,55,96,83,87,90,89,88,85,86,84,66,67,64,62,63,68,61,69,65,57,58,60,59],"latestChangedDtsFile":"./out/__test__/queueResponse.test.d.ts"},"version":"4.8.4"}
1
+ {"program":{"fileNames":["../../node_modules/typescript/lib/lib.es5.d.ts","../../node_modules/typescript/lib/lib.es2015.d.ts","../../node_modules/typescript/lib/lib.es2016.d.ts","../../node_modules/typescript/lib/lib.es2017.d.ts","../../node_modules/typescript/lib/lib.es2018.d.ts","../../node_modules/typescript/lib/lib.es2019.d.ts","../../node_modules/typescript/lib/lib.es2020.d.ts","../../node_modules/typescript/lib/lib.es2021.d.ts","../../node_modules/typescript/lib/lib.es2022.d.ts","../../node_modules/typescript/lib/lib.dom.d.ts","../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../node_modules/typescript/lib/lib.es2020.date.d.ts","../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../node_modules/typescript/lib/lib.es2020.number.d.ts","../../node_modules/typescript/lib/lib.es2021.promise.d.ts","../../node_modules/typescript/lib/lib.es2021.string.d.ts","../../node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../node_modules/typescript/lib/lib.es2021.intl.d.ts","../../node_modules/typescript/lib/lib.es2022.array.d.ts","../../node_modules/typescript/lib/lib.es2022.error.d.ts","../../node_modules/typescript/lib/lib.es2022.intl.d.ts","../../node_modules/typescript/lib/lib.es2022.object.d.ts","../../node_modules/typescript/lib/lib.es2022.sharedmemory.d.ts","../../node_modules/typescript/lib/lib.es2022.string.d.ts","../../node_modules/typescript/lib/lib.esnext.intl.d.ts","../../node_modules/tslib/tslib.d.ts","../forge-storage/out/query-interfaces.d.ts","../forge-storage/out/storage-adapter.d.ts","../forge-util/packages/metrics-interface/dist/metrics.d.ts","../forge-util/packages/metrics-interface/dist/index.d.ts","../forge-storage/out/global-storage.d.ts","../forge-storage/out/entity-storage/query-api.d.ts","../forge-storage/out/entity-storage/storage-builder.d.ts","../forge-storage/out/entity-storage/index.d.ts","../forge-storage/out/query-api.d.ts","../forge-storage/out/conditions.d.ts","../forge-storage/out/eap/conditions.d.ts","../forge-storage/out/errors.d.ts","../forge-storage/out/index.d.ts","../forge-auth/out/types.d.ts","../forge-auth/out/confluence/index.d.ts","../forge-auth/out/jira/index.d.ts","../forge-auth/out/index.d.ts","../forge-api/out/authorization/index.d.ts","../forge-api/out/safeUrl.d.ts","../forge-api/out/webTrigger.d.ts","../forge-api/out/api/fetch.d.ts","../forge-api/out/runtime/fetch-and-storage.d.ts","../forge-api/out/api/remote.d.ts","../forge-api/out/api/ari.d.ts","../forge-api/out/api/runtime.d.ts","../forge-api/out/api/errors.d.ts","../forge-i18n/out/constants.d.ts","../forge-i18n/out/types.d.ts","../forge-i18n/out/translationsGetter.d.ts","../forge-i18n/out/translator.d.ts","../forge-i18n/out/ensureLocale.d.ts","../forge-i18n/out/translationValueGetter.d.ts","../forge-i18n/out/moduleI18nHelper.d.ts","../forge-i18n/out/index.d.ts","../forge-api/out/api/i18n.d.ts","../forge-api/out/privacy/index.d.ts","../forge-api/out/index.d.ts","./src/queries.ts","./src/appEvents.ts","./src/types.ts","./src/errors.ts","./src/text.ts","./src/validators.ts","../../node_modules/@types/uuid/index.d.ts","./src/jobProgress.ts","./src/queue.ts","./src/queueResponse.ts","./src/invocationErrorCode.ts","./src/retryOptions.ts","./src/invocationError.ts","./src/index.ts","./src/__test__/appEvents.test.ts","./src/__test__/invocationError.test.ts","./src/__test__/utils.ts","./src/__test__/jobProgress.test.ts","./src/__test__/queue.test.ts","./src/__test__/queueResponse.test.ts","../../node_modules/@types/node/ts4.8/assert.d.ts","../../node_modules/@types/node/ts4.8/globals.d.ts","../../node_modules/@types/node/ts4.8/async_hooks.d.ts","../../node_modules/@types/node/ts4.8/buffer.d.ts","../../node_modules/@types/node/ts4.8/child_process.d.ts","../../node_modules/@types/node/ts4.8/cluster.d.ts","../../node_modules/@types/node/ts4.8/console.d.ts","../../node_modules/@types/node/ts4.8/constants.d.ts","../../node_modules/@types/node/ts4.8/crypto.d.ts","../../node_modules/@types/node/ts4.8/dgram.d.ts","../../node_modules/@types/node/ts4.8/dns.d.ts","../../node_modules/@types/node/ts4.8/domain.d.ts","../../node_modules/@types/node/ts4.8/events.d.ts","../../node_modules/@types/node/ts4.8/fs.d.ts","../../node_modules/@types/node/ts4.8/fs/promises.d.ts","../../node_modules/@types/node/ts4.8/http.d.ts","../../node_modules/@types/node/ts4.8/http2.d.ts","../../node_modules/@types/node/ts4.8/https.d.ts","../../node_modules/@types/node/ts4.8/inspector.d.ts","../../node_modules/@types/node/ts4.8/module.d.ts","../../node_modules/@types/node/ts4.8/net.d.ts","../../node_modules/@types/node/ts4.8/os.d.ts","../../node_modules/@types/node/ts4.8/path.d.ts","../../node_modules/@types/node/ts4.8/perf_hooks.d.ts","../../node_modules/@types/node/ts4.8/process.d.ts","../../node_modules/@types/node/ts4.8/punycode.d.ts","../../node_modules/@types/node/ts4.8/querystring.d.ts","../../node_modules/@types/node/ts4.8/readline.d.ts","../../node_modules/@types/node/ts4.8/repl.d.ts","../../node_modules/@types/node/ts4.8/stream.d.ts","../../node_modules/@types/node/ts4.8/string_decoder.d.ts","../../node_modules/@types/node/ts4.8/timers.d.ts","../../node_modules/@types/node/ts4.8/tls.d.ts","../../node_modules/@types/node/ts4.8/trace_events.d.ts","../../node_modules/@types/node/ts4.8/tty.d.ts","../../node_modules/@types/node/ts4.8/url.d.ts","../../node_modules/@types/node/ts4.8/util.d.ts","../../node_modules/@types/node/ts4.8/v8.d.ts","../../node_modules/@types/node/ts4.8/vm.d.ts","../../node_modules/@types/node/ts4.8/wasi.d.ts","../../node_modules/@types/node/ts4.8/worker_threads.d.ts","../../node_modules/@types/node/ts4.8/zlib.d.ts","../../node_modules/@types/node/ts4.8/globals.global.d.ts","../../node_modules/@types/node/ts4.8/index.d.ts","../../node_modules/@jest/expect-utils/build/index.d.ts","../../node_modules/chalk/index.d.ts","../../node_modules/pretty-format/node_modules/@sinclair/typebox/typebox.d.ts","../../node_modules/pretty-format/node_modules/@jest/schemas/build/index.d.ts","../../node_modules/pretty-format/build/index.d.ts","../../node_modules/jest-diff/build/index.d.ts","../../node_modules/jest-matcher-utils/build/index.d.ts","../../node_modules/expect/build/index.d.ts","../../node_modules/@types/jest/index.d.ts","../../node_modules/jest-matcher-specific-error/types/index.d.ts"],"fileInfos":[{"version":"f20c05dbfe50a208301d2a1da37b9931bce0466eb5a1f4fe240971b4ecc82b67","affectsGlobalScope":true,"impliedFormat":1},{"version":"dc47c4fa66b9b9890cf076304de2a9c5201e94b740cffdf09f87296d877d71f6","impliedFormat":1},{"version":"7a387c58583dfca701b6c85e0adaf43fb17d590fb16d5b2dc0a2fbd89f35c467","impliedFormat":1},{"version":"8a12173c586e95f4433e0c6dc446bc88346be73ffe9ca6eec7aa63c8f3dca7f9","impliedFormat":1},{"version":"5f4e733ced4e129482ae2186aae29fde948ab7182844c3a5a51dd346182c7b06","impliedFormat":1},{"version":"e6b724280c694a9f588847f754198fb96c43d805f065c3a5b28bbc9594541c84","impliedFormat":1},{"version":"1fc5ab7a764205c68fa10d381b08417795fc73111d6dd16b5b1ed36badb743d9","impliedFormat":1},{"version":"746d62152361558ea6d6115cf0da4dd10ede041d14882ede3568bce5dc4b4f1f","impliedFormat":1},{"version":"d11a03592451da2d1065e09e61f4e2a9bf68f780f4f6623c18b57816a9679d17","impliedFormat":1},{"version":"9b087de7268e4efc5f215347a62656663933d63c0b1d7b624913240367b999ea","affectsGlobalScope":true,"impliedFormat":1},{"version":"adb996790133eb33b33aadb9c09f15c2c575e71fb57a62de8bf74dbf59ec7dfb","affectsGlobalScope":true,"impliedFormat":1},{"version":"8cc8c5a3bac513368b0157f3d8b31cfdcfe78b56d3724f30f80ed9715e404af8","affectsGlobalScope":true,"impliedFormat":1},{"version":"cdccba9a388c2ee3fd6ad4018c640a471a6c060e96f1232062223063b0a5ac6a","affectsGlobalScope":true,"impliedFormat":1},{"version":"c5c05907c02476e4bde6b7e76a79ffcd948aedd14b6a8f56e4674221b0417398","affectsGlobalScope":true,"impliedFormat":1},{"version":"0d5f52b3174bee6edb81260ebcd792692c32c81fd55499d69531496f3f2b25e7","affectsGlobalScope":true,"impliedFormat":1},{"version":"55f400eec64d17e888e278f4def2f254b41b89515d3b88ad75d5e05f019daddd","affectsGlobalScope":true,"impliedFormat":1},{"version":"181f1784c6c10b751631b24ce60c7f78b20665db4550b335be179217bacc0d5f","affectsGlobalScope":true,"impliedFormat":1},{"version":"3013574108c36fd3aaca79764002b3717da09725a36a6fc02eac386593110f93","affectsGlobalScope":true,"impliedFormat":1},{"version":"75ec0bdd727d887f1b79ed6619412ea72ba3c81d92d0787ccb64bab18d261f14","affectsGlobalScope":true,"impliedFormat":1},{"version":"3be5a1453daa63e031d266bf342f3943603873d890ab8b9ada95e22389389006","affectsGlobalScope":true,"impliedFormat":1},{"version":"17bb1fc99591b00515502d264fa55dc8370c45c5298f4a5c2083557dccba5a2a","affectsGlobalScope":true,"impliedFormat":1},{"version":"7ce9f0bde3307ca1f944119f6365f2d776d281a393b576a18a2f2893a2d75c98","affectsGlobalScope":true,"impliedFormat":1},{"version":"6a6b173e739a6a99629a8594bfb294cc7329bfb7b227f12e1f7c11bc163b8577","affectsGlobalScope":true,"impliedFormat":1},{"version":"81cac4cbc92c0c839c70f8ffb94eb61e2d32dc1c3cf6d95844ca099463cf37ea","affectsGlobalScope":true,"impliedFormat":1},{"version":"b0124885ef82641903d232172577f2ceb5d3e60aed4da1153bab4221e1f6dd4e","affectsGlobalScope":true,"impliedFormat":1},{"version":"0eb85d6c590b0d577919a79e0084fa1744c1beba6fd0d4e951432fa1ede5510a","affectsGlobalScope":true,"impliedFormat":1},{"version":"da233fc1c8a377ba9e0bed690a73c290d843c2c3d23a7bd7ec5cd3d7d73ba1e0","affectsGlobalScope":true,"impliedFormat":1},{"version":"d154ea5bb7f7f9001ed9153e876b2d5b8f5c2bb9ec02b3ae0d239ec769f1f2ae","affectsGlobalScope":true,"impliedFormat":1},{"version":"bb2d3fb05a1d2ffbca947cc7cbc95d23e1d053d6595391bd325deb265a18d36c","affectsGlobalScope":true,"impliedFormat":1},{"version":"c80df75850fea5caa2afe43b9949338ce4e2de086f91713e9af1a06f973872b8","affectsGlobalScope":true,"impliedFormat":1},{"version":"9d57b2b5d15838ed094aa9ff1299eecef40b190722eb619bac4616657a05f951","affectsGlobalScope":true,"impliedFormat":1},{"version":"6c51b5dd26a2c31dbf37f00cfc32b2aa6a92e19c995aefb5b97a3a64f1ac99de","affectsGlobalScope":true,"impliedFormat":1},{"version":"6e7997ef61de3132e4d4b2250e75343f487903ddf5370e7ce33cf1b9db9a63ed","affectsGlobalScope":true,"impliedFormat":1},{"version":"2ad234885a4240522efccd77de6c7d99eecf9b4de0914adb9a35c0c22433f993","affectsGlobalScope":true,"impliedFormat":1},{"version":"09aa50414b80c023553090e2f53827f007a301bc34b0495bfb2c3c08ab9ad1eb","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7f680a43f8cd12a6b6122c07c54ba40952b0c8aa140dcfcf32eb9e6cb028596","affectsGlobalScope":true,"impliedFormat":1},{"version":"3787b83e297de7c315d55d4a7c546ae28e5f6c0a361b7a1dcec1f1f50a54ef11","affectsGlobalScope":true,"impliedFormat":1},{"version":"e7e8e1d368290e9295ef18ca23f405cf40d5456fa9f20db6373a61ca45f75f40","affectsGlobalScope":true,"impliedFormat":1},{"version":"faf0221ae0465363c842ce6aa8a0cbda5d9296940a8e26c86e04cc4081eea21e","affectsGlobalScope":true,"impliedFormat":1},{"version":"06393d13ea207a1bfe08ec8d7be562549c5e2da8983f2ee074e00002629d1871","affectsGlobalScope":true,"impliedFormat":1},{"version":"775d9c9fd150d5de79e0450f35bc8b8f94ae64e3eb5da12725ff2a649dccc777","affectsGlobalScope":true,"impliedFormat":1},{"version":"b248e32ca52e8f5571390a4142558ae4f203ae2f94d5bac38a3084d529ef4e58","affectsGlobalScope":true,"impliedFormat":1},{"version":"6c55633c733c8378db65ac3da7a767c3cf2cf3057f0565a9124a16a3a2019e87","affectsGlobalScope":true,"impliedFormat":1},{"version":"fb4416144c1bf0323ccbc9afb0ab289c07312214e8820ad17d709498c865a3fe","affectsGlobalScope":true,"impliedFormat":1},{"version":"5b0ca94ec819d68d33da516306c15297acec88efeb0ae9e2b39f71dbd9685ef7","affectsGlobalScope":true,"impliedFormat":1},{"version":"34c839eaaa6d78c8674ae2c37af2236dee6831b13db7b4ef4df3ec889a04d4f2","affectsGlobalScope":true,"impliedFormat":1},{"version":"34478567f8a80171f88f2f30808beb7da15eac0538ae91282dd33dce928d98ed","affectsGlobalScope":true,"impliedFormat":1},{"version":"ab7d58e6161a550ff92e5aff755dc37fe896245348332cd5f1e1203479fe0ed1","affectsGlobalScope":true,"impliedFormat":1},{"version":"6bda95ea27a59a276e46043b7065b55bd4b316c25e70e29b572958fa77565d43","affectsGlobalScope":true,"impliedFormat":1},{"version":"aedb8de1abb2ff1095c153854a6df7deae4a5709c37297f9d6e9948b6806fa66","affectsGlobalScope":true,"impliedFormat":1},{"version":"a4da0551fd39b90ca7ce5f68fb55d4dc0c1396d589b612e1902f68ee090aaada","affectsGlobalScope":true,"impliedFormat":1},{"version":"11ffe3c281f375fff9ffdde8bbec7669b4dd671905509079f866f2354a788064","affectsGlobalScope":true,"impliedFormat":1},{"version":"52d1bb7ab7a3306fd0375c8bff560feed26ed676a5b0457fa8027b563aecb9a4","affectsGlobalScope":true,"impliedFormat":1},{"version":"4a882ffbb4ed09d9b7734f784aebb1dfe488d63725c40759165c5d9c657ca029","impliedFormat":1},"5b4562d7556941f61d677dc94ee540af384aec3ccbeb1dd05b4dd0448058529e","33bf5a0df9d773e23caf13850949cee152b537ac2a1bb4020ca9f3284b9d39b7",{"version":"d628d2fabd121a92037a601b355433f17273925b8010917e2478df91f7d3619d","impliedFormat":1},{"version":"63306b18d7206a0f575981fed144456039b44a28a34ffd5bed98285d1e4c6e1c","impliedFormat":1},"89d116d4c873648bc2d0b76c1d5474b672a2a5524534a45e14444aec3ee5f36f","878cef40368fa8fc238d85b81ce37f204eea5fa5c9ae34966682d9622115682b","eb5d79ac88621dd6baf35a14c28adad899d7708707b896ba1b110ae28c41ae53","2bb098747b6606f8053f8be077a2495316d1905df557f39459ad3aabb28c8322","79dbf651176ace3f21bef66c8605fa374e509cd0fea3a15e616ddfbf3a475487","3b339bea8731e1dc45e8ae206876665dd7409981a117f0c5cfc41da4c5423503","889f9108e136632012e3aaa6d0f8000da3afb933b2e9dd214c8261f638c576e3","7c2b2bc1922e4cfc3b047d595c3a299a125f95f59e77dba6eb3bdd8318da4492","164b980ce4fecbff5b7993bf5054fbaa21da3885df0e48eca949149fd0728131","8a378890decceec11c3634207a58834035ca74459eaf89434a3582a7dca5ac8a","7a464c71243352809e81f1b99ab7f72d08c5bf41687bbd1d0ffd081295c6923a","3204c557d94ef66184156205ee6aa03a8ecf60161109ff82698450061b125fa7","55d66720fcbdb6105fe7b41ef0fb3f54175bec03760c3fefb2b2d32bed660e62",{"version":"cf494880b84e14e5ea7be3a74c7e6e20290e67d4a423a8542dc6e7d596172fa6","impliedFormat":1},{"version":"1c9baf53c0f3926062c1f2a86199b98d2fcbe91dd14bef4835022fd0e3b4cd2b","impliedFormat":1},{"version":"05d693ce7edac6d9e56a7386396d0aa2dc29201ac7abc3570aa77143a862b973","impliedFormat":1},{"version":"19c9755ba52944a0f8eb10936483515f2b659a4c854a2a145ebee8429f725eeb","impliedFormat":1},{"version":"bb9a92099b57a22dd00becf158fab69d9c513af4f8645230ac7e96c7b1713a54","impliedFormat":1},{"version":"f1f88f3849c461893fd105f4ff93f946bc416ee58bc9f88fd2a03f62e13cb782","impliedFormat":1},{"version":"3e0d26c84b14bb11ef4b3c2479e9738b97ba5814be2e620a518aa8b2bfa50fe3","impliedFormat":1},{"version":"cb1633a5283d76c7ef43fd109d31a53bcc57f08a8f19c35f53d3728062f133c5","impliedFormat":1},{"version":"383fd605d4c513def001780330bf02dcc1ece4d3a3fb7a4d1253498499f18760","impliedFormat":1},"cae8b4d777ec449636ca710c335c1ec1f53a5b245329e905b24c26fdd460ef10","286d543fd18d72657d0f7a03d09b7e961eea303919881cc0a42cb364b034bac9","834f2399f1f37b79a779d78e0202abf74e987f5e839f63e088538d947ad491de","ddf9f4a6c7f6a02723c6564fe7a64ca93ec0a8cbe26e6def7ab1587c1b2c0aa2","733828433b4488256a2911f68af1c7746d2cb909dfeb961cc39c01eb6cd6c873","2686f18bfc2384e3e5cbaefe0f107692e179480fb2c79c00d9501721465ff557","0caa60236b3cb60903036065933d3f9bb1a3c6901a29f436431ae7000dedc014","8d1a616b12a4876af4f1050b80827bc3a5769a66e137a0662499879b0e6da235",{"version":"cb3c07f79075ec593506c466ea89ae8ad1e16bd2ecc3d9aa7743d6a899dcbf53","impliedFormat":1},{"version":"c060d14b47b9667338d91d32b4be32bd9922fa417e1720bb43a95f188b2c4e81","impliedFormat":1},{"version":"c0fb6b39c94d85025bb164dd361ad67f6284bfe44b65a2bc4b1996795299e7a0","impliedFormat":1},{"version":"5235238f9f4e84964d56a5c79827d6f422e33c948aee470e39591ae3d6af3c7a","signature":"7b8c87c42788c8ac114807cc4c3a77750995c939c03553fd53f6f761374db0b6"},{"version":"839e0927a263a7845ac8f92aceaaadcdbb1ddc55384eec0105bd52d548ee4bd0","signature":"88d251b2f66441652e6d87fe0d8b6aa5f01a13a73a8644d4f4e63b7e6fbd2d21"},{"version":"3dfb223719e80f3274772b5d43c20c2b877daeef543653d459aeb6801689222e","signature":"293fd1f0a6db96da2982b979e4e12db4be7889f2034c9a07c615e2828df01c1c"},{"version":"d851b9c7d9f3221bbef29df8237e3d4156ab8706950d6bdd6c4a57d8e55cc4c1","signature":"748b8b5e0d196f9341389d95c012238e6c6dd70dd4fdc139e29c502711433a97"},{"version":"0b4ee00634da4bf5aa2fecf99443c7a886fee5619832b35c0e10513deecd3967","signature":"bc7acf4bc90803aba3a7450832e1a62487162b8b08e9d0bc1c7d64d9480e6771"},{"version":"cb8e4f43f0cd4c1ab697e36506845d2e2ba83f79d0bb6d28b45e0bcf88543708","signature":"a0d232b8a21661518920953e6b068556456bbc4ea09220044aaaf663b59fb8f9"},{"version":"7d2b7fe4adb76d8253f20e4dbdce044f1cdfab4902ec33c3604585f553883f7d","impliedFormat":1},{"version":"e94d962badc63be9318179815385e94a113562202a74881f9603fddabfb82004","signature":"0ed74ef8aa78a65c29ec65cd9c8de3420fc976e93132ad4a38f8dfe39e205832"},{"version":"1c9dc264e013a5fb5b182660b5dc9eca714ae109c734b619c188d92a33628a9e","signature":"4ef95ab76d3bc731667a5dc6cd64d66958135b4900565197de27003214abe096"},{"version":"a765beefc0958b16e701b1ba73f20bd19652502a883085aae57738b608635962","signature":"f1f3e856958c54c84fb5b6a6ddceda50af68fb167f0df45fc3a362bbab302602"},{"version":"ce35cf0f29e81eca73355d9cef22a8d22aa22e29adc71cd46d1d6126fca67080","signature":"46968c38bfe319413f819c0f6f6627ca171b8f9ec0dd8f9639ef4d15eec9ef1c"},{"version":"01d4546f1cd03fe04db3e66de04d74f2951538c3118ff44db7a088c533f03ee2","signature":"1ffd7e7ce2ed0fdd35445488e060dfc7eb5f37b6729870e63e8b64fd915b5677"},{"version":"fd24f1547c45126b515a6f18f61889f3470495d5a999a6eed5c227d8bc6b574d","signature":"f509c90bae8d6e7621c7f705e34c2d1f515314f11f6170d6875c7aaf54db51bc"},{"version":"e1f2fd652b019c1d552045440ecd50e81d8d626e4e6559d57486eb953aaa1218","signature":"38b5afbf5e8fac585e5586f9b72ffdae163e48f86a5bc8c163f04f30711e3ab9"},{"version":"cdb969d83478dba4556f346cc8951b272f9ac56dda7d4a8f6823cc07d8d21200","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"096668440e76648563b9766369e205cd15640660b37ca4dfcb50947036e10087","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"2064bf3ea14ce37b796901350f88cfad49a8fd8afc9c5477d5045b91a182eee1","signature":"28538a9fc0a4f5cab7d21747d3c4fb14c7ec53fc4a6306eefa4f7af5342e58dd"},{"version":"16bca0636cead3ab2f15b9b0a14e1cba40cec2d85b6783401d8b8c144a8f9b88","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"1ca7b9a62cc3c132410c39eb192e36b3683b25ece9378625a058e6d71cbfda4b","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"1284a9873c9417bee3eaed6085415783492678d52fe520e41a308f067bdf5a17","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"f5331cb9cc00970e4831e7f0de9688e04986bcde808cac10caa3e7005e203907","impliedFormat":1},{"version":"8267c064101d3550c28c925ad01c351969b5d170107b9fc2cc887b366f9c014b","affectsGlobalScope":true,"impliedFormat":1},{"version":"a9d67f9ae6bb38f732c51d1081af6a0ac6cae5e122472cacc2d54db178013699","impliedFormat":1},{"version":"1296a364908ba9c646372edc18ee0e140d9a388956b0e9510eec906b19fa5b36","impliedFormat":1},{"version":"1c863a53fb796e962c4b3e54bc7b77fd04a518444263d307290ff04f619c275e","impliedFormat":1},{"version":"ff98afc32b01e580077faf85b60232b65c40df0c3ecaa765fabc347a639b4225","impliedFormat":1},{"version":"30133f9ceaa46c9a20092c382fed7b8d09393cf1934392149ea8202991edb3ea","affectsGlobalScope":true,"impliedFormat":1},{"version":"30c05e45ec7e1247ba9b87ad2acfae4fda401737f0e8a59f78beda8a4e22b110","impliedFormat":1},{"version":"8b6cab94e9da7490a7f7827dd42f4bc544edfd9e9e3b5871048f4771c6846952","impliedFormat":1},{"version":"aa5cc73a5f548f5bc1b4279a730c03294dfa6e98bed228d4ed6322a4183b26ad","impliedFormat":1},{"version":"b3f1ac9fe3d18d6cd04ab1e67a5da8c33ceb47f26b47e67896a5b2f8293c8a32","impliedFormat":1},{"version":"ca88e8b07c8186ef3180bf9b6b4456311ae41bf3fe5652c27a2a3feba04136b0","affectsGlobalScope":true,"impliedFormat":1},{"version":"592d937b7df1b74af7fa81656503fc268fee50f0e882178e851b667def34414b","affectsGlobalScope":true,"impliedFormat":1},{"version":"f8236a21e67282f719a2e81228c97ac1fc7a443b4600fc66025aa470dbd5df4f","impliedFormat":1},{"version":"e8067fc8b0247f8b5ad781bd22f5dd19f6a39961ba60fa6fc13cfe9e624ca92f","impliedFormat":1},{"version":"8e1d6af7ce382a23daac5ba5ebb5ee9f59839da94a6111d773e92b0c2ba51116","impliedFormat":1},{"version":"9095b6f13d9e48704b919d9b4162c48b04236a4ce664dc07549a435d8f4e612e","impliedFormat":1},{"version":"111b4c048fe89d25bb4d2a0646623ff4c456a313ed5bfb647b2262dda69a4ff8","impliedFormat":1},{"version":"f70f62f5f87ff8900090069554f79d9757f8e385322d0e26268463e27c098204","impliedFormat":1},{"version":"0932ed41e23d22fa5359f74805c687314e4b707b3428e52419d0fbefc0d66661","impliedFormat":1},{"version":"af07f4baaca7e5cf70cb8887e7d4f23d6bb0c0dd6ca1329c3d959ea749b7a14d","impliedFormat":1},{"version":"c80402af7b0420f57372ac99885f1ab058121db72418e43d25f440abda7bbe23","impliedFormat":1},{"version":"71aba6ce66e76ccfd3ba92b8b5c6658bad293f1313f012821c4bff1dd64ca278","impliedFormat":1},{"version":"17d944cab17bc9e32975250e8abe8073702f9493582d847805e446641bd7798f","impliedFormat":1},{"version":"c6bfc70bbdee282436ee11e887cceaa5988ac4eec60d5eb9b3711748c811831a","affectsGlobalScope":true,"impliedFormat":1},{"version":"f9ca5159f56c1fe99cdfc5f942585de20695a2a343db8543383b239c050f6aa4","impliedFormat":1},{"version":"84634ac706042ac8ee3a1e141bcdee03621725ab55455dba878a5503c6c7e037","impliedFormat":1},{"version":"d796c62c3c91c22c331b7465be89d009459eb1eb689304c476275f48676eaf9e","impliedFormat":1},{"version":"51cbf03ad34c3e84d1998bd57d1fd8da333d66dd65904625d22dc01b751d99c7","impliedFormat":1},{"version":"c31bbdc27ef936061eaa9d423c5da7c5b439a4ff6b5f1b18f89b30cf119d5a56","impliedFormat":1},{"version":"2a4ae2a8f834858602089792c9e8bab00075f5c4b1708bd49c298a3e6c95a30c","impliedFormat":1},{"version":"71e29ae391229f876d8628987640c3c51c89a1c2fd980d1a72d69aeee4239f80","impliedFormat":1},{"version":"51c74d73649a4d788ed97b38bd55ebac57d85b35cbf4a0357e3382324e10bbe9","impliedFormat":1},{"version":"c8641524781fa803006a144fd3024d5273ab0c531d8a13bbeaa8c81d8241529f","impliedFormat":1},{"version":"73e218d8914afc428a24b7d1de42a2cb37f0be7ac1f5c32c4a66379572700b52","impliedFormat":1},{"version":"56ff5262d76c01b3637ca82f9749d3ec0d70cf57d87964bf3e9ba4204241849e","affectsGlobalScope":true,"impliedFormat":1},{"version":"9e3a18040e5a95f61556e09c932393b49c3b21ce42abe0f4ed74b97173f320db","impliedFormat":1},{"version":"344922fac39b5732179b606e16781b354c160f0e9bd7f5921a0fdc9fe4ede1fb","impliedFormat":1},{"version":"c1449f51f9496bb23f33ee48ff590b815393ef560a9e80493614869fe50915da","impliedFormat":1},{"version":"87a49241df2b37e59f86619091dec2beb9ad8126d7649f0b0edb8fc99eca2499","impliedFormat":1},{"version":"07efd1f649e91967fada88d53ad64b61c1b2853d212f3eaffc946e7e13d03d67","impliedFormat":1},{"version":"6d79a0938f4b89c1c1fee2c3426754929173c8888fdfaab6b6d645269945f7bf","impliedFormat":1},{"version":"2708349d5a11a5c2e5f3a0765259ebe7ee00cdcc8161cb9990cb4910328442a1","affectsGlobalScope":true,"impliedFormat":1},{"version":"01c93adfc4c6555c559e7334b6b5f45b48c9e1f809144822088e45ba13e36d9f","impliedFormat":1},{"version":"cdcc132f207d097d7d3aa75615ab9a2e71d6a478162dde8b67f88ea19f3e54de","impliedFormat":1},{"version":"0d14fa22c41fdc7277e6f71473b20ebc07f40f00e38875142335d5b63cdfc9d2","impliedFormat":1},{"version":"c085e9aa62d1ae1375794c1fb927a445fa105fed891a7e24edbb1c3300f7384a","impliedFormat":1},{"version":"f315e1e65a1f80992f0509e84e4ae2df15ecd9ef73df975f7c98813b71e4c8da","impliedFormat":1},{"version":"5b9586e9b0b6322e5bfbd2c29bd3b8e21ab9d871f82346cb71020e3d84bae73e","impliedFormat":1},{"version":"3e70a7e67c2cb16f8cd49097360c0309fe9d1e3210ff9222e9dac1f8df9d4fb6","impliedFormat":1},{"version":"ab68d2a3e3e8767c3fba8f80de099a1cfc18c0de79e42cb02ae66e22dfe14a66","impliedFormat":1},{"version":"d96cc6598148bf1a98fb2e8dcf01c63a4b3558bdaec6ef35e087fd0562eb40ec","impliedFormat":1},{"version":"5ab630d466ac55baa6d32820378098404fc18ba9da6f7bc5df30c5dbb1cffae8","affectsGlobalScope":true,"impliedFormat":1},{"version":"50adbf55a460fd1048260f11c9b0ec28ee950e6aeaee179ddc09d14be6dedb4e","affectsGlobalScope":true,"impliedFormat":1}],"options":{"composite":true,"declaration":true,"declarationMap":true,"esModuleInterop":true,"importHelpers":true,"module":1,"noUnusedLocals":true,"outDir":"./out","removeComments":true,"rootDir":"./src","skipLibCheck":true,"strict":true,"target":9,"useUnknownInCatchVariables":false},"fileIdsList":[[160,163],[112],[114],[115,120],[116,124,125,132,141],[116,117,124,132],[118,148],[119,120,125,133],[120,141],[121,122,124,132],[122],[123,124],[124],[124,125,126,141,147],[125,126],[127,132,141,147],[124,125,127,128,132,141,144,147],[127,129,141,144,147],[112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154],[124,130],[131,147],[122,124,132,141],[133],[134],[114,135],[136,146],[137],[138],[124,139],[139,140,148,150],[124,141],[142],[143],[132,141,144],[145],[132,146],[127,138,147],[148],[141,149],[150],[151],[124,126,141,147,150,152],[141,153],[156,162],[160],[164],[157,161],[159],[158],[91],[88],[58,78],[71],[67,72,73,74,75,76,77,79,80,89,90],[58,75,91],[68],[68,69,70],[54,91,92,93],[54,102,103,104],[54,91,95,99,108],[54,91,95,99,100,108],[54,101],[54,94],[54,91,92],[54,93,95,99,100,101,102,103,104],[54,101,103],[54],[54,91,92,94,97],[54,91],[54,91,92,94,97,98,99],[54,102],[54,91,94,95,96],[82],[81,82,83,84,85,86,87],[82,83],[81],[56],[61],[55,56,59],[59,60],[55,56,58,67],[55,56,59,60,62,63,64,65,66],[55,62],[57],[94],[93,95,99,100,101,102,103,104],[101,103],[91,94,99],[102],[91,94]],"referencedMap":[[164,1],[112,2],[114,3],[115,4],[116,5],[117,6],[118,7],[119,8],[120,9],[121,10],[122,11],[123,12],[124,13],[125,14],[126,15],[127,16],[128,17],[129,18],[155,19],[130,20],[131,21],[132,22],[133,23],[134,24],[135,25],[136,26],[137,27],[138,28],[139,29],[140,30],[141,31],[142,32],[143,33],[144,34],[145,35],[146,36],[147,37],[148,38],[149,39],[150,40],[151,41],[152,42],[153,43],[163,44],[161,45],[165,46],[162,47],[160,48],[159,49],[75,50],[89,51],[77,50],[79,52],[72,53],[91,54],[90,50],[76,55],[69,56],[71,57],[70,56],[106,58],[107,59],[109,60],[110,61],[111,62],[108,63],[93,64],[95,63],[105,65],[104,66],[102,67],[99,68],[92,69],[100,70],[101,67],[103,71],[96,67],[94,67],[97,72],[85,73],[88,74],[86,73],[83,73],[84,75],[82,76],[64,77],[65,77],[62,78],[60,79],[61,80],[59,81],[67,82],[63,79],[56,83],[58,84]],"exportedModulesMap":[[164,1],[112,2],[114,3],[115,4],[116,5],[117,6],[118,7],[119,8],[120,9],[121,10],[122,11],[123,12],[124,13],[125,14],[126,15],[127,16],[128,17],[129,18],[155,19],[130,20],[131,21],[132,22],[133,23],[134,24],[135,25],[136,26],[137,27],[138,28],[139,29],[140,30],[141,31],[142,32],[143,33],[144,34],[145,35],[146,36],[147,37],[148,38],[149,39],[150,40],[151,41],[152,42],[153,43],[163,44],[161,45],[165,46],[162,47],[160,48],[159,49],[75,50],[89,51],[77,50],[79,52],[72,53],[91,54],[90,50],[76,55],[69,56],[71,57],[70,56],[108,85],[95,85],[105,86],[104,87],[99,50],[92,50],[100,88],[103,89],[97,90],[85,73],[88,74],[86,73],[83,73],[84,75],[82,76],[64,77],[65,77],[62,78],[60,79],[61,80],[59,81],[67,82],[63,79],[56,83],[58,84]],"semanticDiagnosticsPerFile":[156,164,112,114,115,116,117,118,119,120,121,122,123,124,125,126,113,154,127,128,129,155,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,98,157,163,161,165,162,160,159,158,54,10,12,11,2,13,14,15,16,17,18,19,20,3,4,24,21,22,23,25,26,27,5,28,29,30,31,6,32,33,34,35,7,36,41,42,37,38,39,40,8,46,43,44,45,47,9,48,49,50,51,52,1,53,78,80,75,89,77,79,72,91,90,76,73,74,69,71,70,68,106,107,109,110,111,108,93,95,105,104,102,99,92,100,101,103,96,94,97,81,85,88,87,86,83,84,82,64,65,62,60,61,66,59,67,63,55,56,58,57],"latestChangedDtsFile":"./out/__test__/queueResponse.test.d.ts"},"version":"4.8.4"}