encore.dev 1.45.7 → 1.46.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/api/mod.ts CHANGED
@@ -71,6 +71,11 @@ export interface APIOptions {
71
71
  * If set to `null`, the body size is unlimited.
72
72
  **/
73
73
  bodyLimit?: number | null;
74
+
75
+ /**
76
+ * Tags to filter endpoints when generating clients and in middlewares.
77
+ */
78
+ tags?: string[];
74
79
  }
75
80
 
76
81
  export interface StreamOptions {
@@ -292,6 +297,13 @@ export interface MiddlewareOptions {
292
297
  * If set, only run middleware on endpoints that are stream endpoints.
293
298
  */
294
299
  isStream?: boolean;
300
+
301
+ /**
302
+ * If set, only run middleware on endpoints that have specific tags.
303
+ * These tags are evaluated with OR, meaning the middleware applies to an
304
+ * API if the API has at least one of those tags.
305
+ */
306
+ tags?: string[];
295
307
  };
296
308
  }
297
309
 
package/dist/api/mod.d.ts CHANGED
@@ -47,6 +47,10 @@ export interface APIOptions {
47
47
  * If set to `null`, the body size is unlimited.
48
48
  **/
49
49
  bodyLimit?: number | null;
50
+ /**
51
+ * Tags to filter endpoints when generating clients and in middlewares.
52
+ */
53
+ tags?: string[];
50
54
  }
51
55
  export interface StreamOptions {
52
56
  /**
@@ -174,6 +178,12 @@ export interface MiddlewareOptions {
174
178
  * If set, only run middleware on endpoints that are stream endpoints.
175
179
  */
176
180
  isStream?: boolean;
181
+ /**
182
+ * If set, only run middleware on endpoints that have specific tags.
183
+ * These tags are evaluated with OR, meaning the middleware applies to an
184
+ * API if the API has at least one of those tags.
185
+ */
186
+ tags?: string[];
177
187
  };
178
188
  }
179
189
  export declare class MiddlewareRequest {
@@ -1 +1 @@
1
- {"version":3,"file":"mod.js","sourceRoot":"","sources":["../../api/mod.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mod.js","sourceRoot":"","sources":["../../api/mod.ts"],"names":[],"mappings":"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"}
@@ -15,6 +15,7 @@ interface EndpointOptions {
15
15
  auth: boolean;
16
16
  isRaw: boolean;
17
17
  isStream: boolean;
18
+ tags: string[];
18
19
  }
19
20
  export interface InternalHandlerResponse {
20
21
  payload: any;
@@ -50,32 +50,18 @@ async function invokeMiddlewareChain(curReq, req, chain, handler) {
50
50
  }
51
51
  // calculate what middlewares should run for an endpoint
52
52
  function calculateMiddlewareChain(endpointOptions, ms) {
53
- let middlewares = [];
54
- for (const m of ms) {
55
- if (m.options === undefined || m.options.target === undefined) {
56
- middlewares.push(m);
57
- }
58
- else {
59
- const target = m.options.target;
60
- // check if options are set and if they match the endpoint options
61
- if (target.auth !== undefined && target.auth !== endpointOptions.auth) {
62
- continue;
63
- }
64
- if (target.expose !== undefined &&
65
- target.expose !== endpointOptions.expose) {
66
- continue;
67
- }
68
- if (target.isRaw !== undefined &&
69
- target.isRaw !== endpointOptions.isRaw) {
70
- continue;
71
- }
72
- if (target.isStream !== undefined &&
73
- target.isStream !== endpointOptions.isStream) {
74
- continue;
75
- }
76
- middlewares.push(m);
77
- }
78
- }
53
+ const middlewares = ms.filter((m) => {
54
+ const target = m.options?.target;
55
+ if (!target)
56
+ return true;
57
+ const { auth, expose, isRaw, isStream, tags } = target;
58
+ return ((auth === undefined || auth === endpointOptions.auth) &&
59
+ (expose === undefined || expose === endpointOptions.expose) &&
60
+ (isRaw === undefined || isRaw === endpointOptions.isRaw) &&
61
+ (isStream === undefined || isStream === endpointOptions.isStream) &&
62
+ (tags === undefined ||
63
+ tags.some((tag) => endpointOptions.tags.includes(tag))));
64
+ });
79
65
  return middlewares;
80
66
  }
81
67
  function transformHandler(h) {
@@ -1 +1 @@
1
- {"version":3,"file":"mod.js","sourceRoot":"","sources":["../../../internal/appinit/mod.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mod.js","sourceRoot":"","sources":["../../../internal/appinit/mod.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  // The version of the runtime this JS bundle was generated for.
2
- const version = "v1.45.7";
2
+ const version = "v1.46.0";
3
3
 
4
4
  // Load the native module.
5
5
  const nativeModulePath = process.env.ENCORE_RUNTIME_LIB;
@@ -61,6 +61,8 @@ export class BucketObject {
61
61
  attrs(options?: AttrsOptions | undefined | null, source?: Request | undefined | null): Promise<ObjectAttrs | TypedObjectError>
62
62
  exists(options?: ExistsOptions | undefined | null, source?: Request | undefined | null): Promise<boolean | TypedObjectError>
63
63
  upload(data: Buffer, opts?: UploadOptions | undefined | null, source?: Request | undefined | null): Promise<ObjectAttrs | TypedObjectError>
64
+ signedUploadUrl(options?: UploadUrlOptions | undefined | null, source?: Request | undefined | null): Promise<SignedUploadUrl | TypedObjectError>
65
+ signedDownloadUrl(options?: DownloadUrlOptions | undefined | null, source?: Request | undefined | null): Promise<SignedDownloadUrl | TypedObjectError>
64
66
  downloadAll(options?: DownloadOptions | undefined | null, source?: Request | undefined | null): Promise<Buffer | TypedObjectError>
65
67
  delete(options?: DeleteOptions | undefined | null, source?: Request | undefined | null): Promise<TypedObjectError | null>
66
68
  publicUrl(): string
@@ -96,6 +98,10 @@ export interface DownloadOptions {
96
98
  version?: string
97
99
  }
98
100
 
101
+ export interface DownloadUrlOptions {
102
+ ttl?: number
103
+ }
104
+
99
105
  export interface EnvironmentMeta {
100
106
  name: string
101
107
  type: EnvironmentType
@@ -167,8 +173,9 @@ export class ObjectAttrs {
167
173
  export enum ObjectErrorKind {
168
174
  NotFound = 0,
169
175
  PreconditionFailed = 1,
170
- Other = 2,
171
- Internal = 3
176
+ InvalidArgument = 2,
177
+ Other = 3,
178
+ Internal = 4
172
179
  }
173
180
 
174
181
  export interface PubSubMessageData {
@@ -260,6 +267,14 @@ export class Secret {
260
267
  cached(): string
261
268
  }
262
269
 
270
+ export interface SignedDownloadUrl {
271
+ url: string
272
+ }
273
+
274
+ export interface SignedUploadUrl {
275
+ url: string
276
+ }
277
+
263
278
  export class Sink {
264
279
  send(msg: PVals): void
265
280
  close(): void
@@ -313,6 +328,10 @@ export interface UploadPreconditions {
313
328
  notExists?: boolean
314
329
  }
315
330
 
331
+ export interface UploadUrlOptions {
332
+ ttl?: number
333
+ }
334
+
316
335
  export class WebSocketClient {
317
336
  send(msg: unknown): void
318
337
  recv(): Promise<Record<string, any>>
@@ -1,7 +1,7 @@
1
1
  /// <reference types="node" />
2
2
  import * as runtime from "../../internal/runtime/mod.js";
3
3
  import { StringLiteral } from "../../internal/utils/constraints.js";
4
- import { BucketPerms, Uploader, Downloader, Attrser, Lister, Remover, PublicUrler } from "./refs.js";
4
+ import { BucketPerms, Uploader, SignedUploader, Downloader, SignedDownloader, Attrser, Lister, Remover, PublicUrler } from "./refs.js";
5
5
  export interface BucketConfig {
6
6
  /**
7
7
  * Whether the objects in the bucket should be publicly
@@ -17,7 +17,7 @@ export interface BucketConfig {
17
17
  /**
18
18
  * Defines a new Object Storage bucket infrastructure resource.
19
19
  */
20
- export declare class Bucket extends BucketPerms implements Uploader, Downloader, Attrser, Lister, Remover, PublicUrler {
20
+ export declare class Bucket extends BucketPerms implements Uploader, SignedUploader, Downloader, SignedDownloader, Attrser, Lister, Remover, PublicUrler {
21
21
  impl: runtime.Bucket;
22
22
  /**
23
23
  * Creates a new bucket with the given name and configuration
@@ -43,6 +43,20 @@ export declare class Bucket extends BucketPerms implements Uploader, Downloader,
43
43
  * Uploads an object to the bucket.
44
44
  */
45
45
  upload(name: string, data: Buffer, options?: UploadOptions): Promise<ObjectAttrs>;
46
+ /**
47
+ * Generate an external URL to allow uploading an object to the bucket.
48
+ *
49
+ * Anyone with possession of the URL can write to the given object name
50
+ * without any additional auth.
51
+ */
52
+ signedUploadUrl(name: string, options?: UploadUrlOptions): Promise<SignedUploadUrl>;
53
+ /**
54
+ * Generate an external URL to allow downloading an object from the bucket.
55
+ *
56
+ * Anyone with possession of the URL can download the given object without
57
+ * any additional auth.
58
+ */
59
+ signedDownloadUrl(name: string, options?: DownloadUrlOptions): Promise<SignedDownloadUrl>;
46
60
  /**
47
61
  * Downloads an object from the bucket and returns its contents.
48
62
  */
@@ -123,3 +137,21 @@ export interface UploadOptions {
123
137
  notExists?: boolean;
124
138
  };
125
139
  }
140
+ export interface UploadUrlOptions {
141
+ /** The expiration time of the url, in seconds from signing. The maximum
142
+ * value is seven days. If no value is given, a default of one hour is
143
+ * used. */
144
+ ttl?: number;
145
+ }
146
+ export interface SignedUploadUrl {
147
+ url: string;
148
+ }
149
+ export interface DownloadUrlOptions {
150
+ /** The expiration time of the url, in seconds from signing. The maximum
151
+ * value is seven days. If no value is given, a default of one hour is
152
+ * used. */
153
+ ttl?: number;
154
+ }
155
+ export interface SignedDownloadUrl {
156
+ url: string;
157
+ }
@@ -63,6 +63,30 @@ export class Bucket extends BucketPerms {
63
63
  const res = await impl.upload(data, options, source);
64
64
  return unwrapErr(res);
65
65
  }
66
+ /**
67
+ * Generate an external URL to allow uploading an object to the bucket.
68
+ *
69
+ * Anyone with possession of the URL can write to the given object name
70
+ * without any additional auth.
71
+ */
72
+ async signedUploadUrl(name, options) {
73
+ const source = getCurrentRequest();
74
+ const impl = this.impl.object(name);
75
+ const res = await impl.signedUploadUrl(options, source);
76
+ return unwrapErr(res);
77
+ }
78
+ /**
79
+ * Generate an external URL to allow downloading an object from the bucket.
80
+ *
81
+ * Anyone with possession of the URL can download the given object without
82
+ * any additional auth.
83
+ */
84
+ async signedDownloadUrl(name, options) {
85
+ const source = getCurrentRequest();
86
+ const impl = this.impl.object(name);
87
+ const res = await impl.signedDownloadUrl(options, source);
88
+ return unwrapErr(res);
89
+ }
66
90
  /**
67
91
  * Downloads an object from the bucket and returns its contents.
68
92
  */
@@ -1 +1 @@
1
- {"version":3,"file":"bucket.js","sourceRoot":"","sources":["../../../storage/objects/bucket.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bucket.js","sourceRoot":"","sources":["../../../storage/objects/bucket.ts"],"names":[],"mappings":"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"}
@@ -8,4 +8,7 @@ export declare class ObjectNotFound extends ObjectsError {
8
8
  export declare class PreconditionFailed extends ObjectsError {
9
9
  constructor(msg: string);
10
10
  }
11
+ export declare class InvalidArgument extends ObjectsError {
12
+ constructor(msg: string);
13
+ }
11
14
  export declare function unwrapErr<T>(val: T | runtime.TypedObjectError): T;
@@ -47,6 +47,22 @@ export class PreconditionFailed extends ObjectsError {
47
47
  Error.captureStackTrace(this, this.constructor);
48
48
  }
49
49
  }
50
+ export class InvalidArgument extends ObjectsError {
51
+ constructor(msg) {
52
+ // extending errors causes issues after you construct them, unless you apply the following fixes
53
+ super(msg);
54
+ // set error name as constructor name, make it not enumerable to keep native Error behavior
55
+ // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/new.target#new.target_in_constructors
56
+ Object.defineProperty(this, "name", {
57
+ value: "InvalidArgument",
58
+ enumerable: false,
59
+ configurable: true
60
+ });
61
+ // Fix the prototype chain, capture stack trace.
62
+ Object.setPrototypeOf(this, InvalidArgument.prototype);
63
+ Error.captureStackTrace(this, this.constructor);
64
+ }
65
+ }
50
66
  export function unwrapErr(val) {
51
67
  if (val instanceof runtime.TypedObjectError) {
52
68
  switch (val.kind) {
@@ -54,6 +70,8 @@ export function unwrapErr(val) {
54
70
  throw new ObjectNotFound(val.message);
55
71
  case runtime.ObjectErrorKind.PreconditionFailed:
56
72
  throw new PreconditionFailed(val.message);
73
+ case runtime.ObjectErrorKind.InvalidArgument:
74
+ throw new InvalidArgument(val.message);
57
75
  default:
58
76
  throw new ObjectsError(val.message);
59
77
  }
@@ -1 +1 @@
1
- {"version":3,"file":"error.js","sourceRoot":"","sources":["../../../storage/objects/error.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,4BAA4B,CAAC;AAEtD,MAAM,OAAO,YAAa,SAAQ,KAAK;IACrC,YAAY,GAAW;QACrB,gGAAgG;QAChG,KAAK,CAAC,GAAG,CAAC,CAAC;QAEX,2FAA2F;QAC3F,oHAAoH;QACpH,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE;YAClC,KAAK,EAAE,cAAc;YACrB,UAAU,EAAE,KAAK;YACjB,YAAY,EAAE,IAAI;SACnB,CAAC,CAAC;QAEH,gDAAgD;QAChD,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,YAAY,CAAC,SAAS,CAAC,CAAC;QACpD,KAAK,CAAC,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;IAClD,CAAC;CACF;AAED,MAAM,OAAO,cAAe,SAAQ,YAAY;IAC9C,YAAY,GAAW;QACrB,gGAAgG;QAChG,KAAK,CAAC,GAAG,CAAC,CAAC;QAEX,2FAA2F;QAC3F,oHAAoH;QACpH,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE;YAClC,KAAK,EAAE,gBAAgB;YACvB,UAAU,EAAE,KAAK;YACjB,YAAY,EAAE,IAAI;SACnB,CAAC,CAAC;QAEH,gDAAgD;QAChD,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,cAAc,CAAC,SAAS,CAAC,CAAC;QACtD,KAAK,CAAC,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;IAClD,CAAC;CACF;AAED,MAAM,OAAO,kBAAmB,SAAQ,YAAY;IAClD,YAAY,GAAW;QACrB,gGAAgG;QAChG,KAAK,CAAC,GAAG,CAAC,CAAC;QAEX,2FAA2F;QAC3F,oHAAoH;QACpH,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE;YAClC,KAAK,EAAE,kBAAkB;YACzB,UAAU,EAAE,KAAK;YACjB,YAAY,EAAE,IAAI;SACnB,CAAC,CAAC;QAEH,gDAAgD;QAChD,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,kBAAkB,CAAC,SAAS,CAAC,CAAC;QAC1D,KAAK,CAAC,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;IAClD,CAAC;CACF;AAED,MAAM,UAAU,SAAS,CAAI,GAAiC;IAC5D,IAAI,GAAG,YAAY,OAAO,CAAC,gBAAgB,EAAE,CAAC;QAC5C,QAAQ,GAAG,CAAC,IAAI,EAAE,CAAC;YACjB,KAAK,OAAO,CAAC,eAAe,CAAC,QAAQ;gBACnC,MAAM,IAAI,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YACxC,KAAK,OAAO,CAAC,eAAe,CAAC,kBAAkB;gBAC7C,MAAM,IAAI,kBAAkB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAC5C;gBACE,MAAM,IAAI,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACxC,CAAC;IACH,CAAC;IAED,OAAO,GAAG,CAAC;AACb,CAAC"}
1
+ {"version":3,"file":"error.js","sourceRoot":"","sources":["../../../storage/objects/error.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
1
  export { Bucket } from "./bucket.js";
2
2
  export type { BucketConfig, ObjectAttrs, UploadOptions } from "./bucket.js";
3
3
  export { ObjectsError, ObjectNotFound, PreconditionFailed } from "./error.js";
4
- export type { BucketPerms, Uploader, Downloader, Attrser, Lister, ReadWriter, PublicUrler } from "./refs.js";
4
+ export type { BucketPerms, Uploader, SignedUploader, Downloader, SignedDownloader, Attrser, Lister, ReadWriter, PublicUrler } from "./refs.js";
@@ -1,14 +1,20 @@
1
1
  /// <reference types="node" />
2
- import type { AttrsOptions, DeleteOptions, DownloadOptions, ExistsOptions, ListEntry, ListOptions, ObjectAttrs, UploadOptions } from "./bucket.js";
2
+ import type { AttrsOptions, DeleteOptions, DownloadOptions, DownloadUrlOptions, ExistsOptions, ListEntry, ListOptions, ObjectAttrs, SignedDownloadUrl, SignedUploadUrl, UploadOptions, UploadUrlOptions } from "./bucket.js";
3
3
  export declare abstract class BucketPerms {
4
4
  private bucketPerms;
5
5
  }
6
6
  export declare abstract class Uploader extends BucketPerms {
7
7
  abstract upload(name: string, data: Buffer, options?: UploadOptions): Promise<ObjectAttrs>;
8
8
  }
9
+ export declare abstract class SignedUploader extends BucketPerms {
10
+ abstract signedUploadUrl(name: string, options?: UploadUrlOptions): Promise<SignedUploadUrl>;
11
+ }
9
12
  export declare abstract class Downloader extends BucketPerms {
10
13
  abstract download(name: string, options?: DownloadOptions): Promise<Buffer>;
11
14
  }
15
+ export declare abstract class SignedDownloader extends BucketPerms {
16
+ abstract signedDownloadUrl(name: string, options?: DownloadUrlOptions): Promise<SignedDownloadUrl>;
17
+ }
12
18
  export declare abstract class Attrser extends BucketPerms {
13
19
  abstract attrs(name: string, options?: AttrsOptions): Promise<ObjectAttrs>;
14
20
  abstract exists(name: string, options?: ExistsOptions): Promise<boolean>;
@@ -22,4 +28,4 @@ export declare abstract class Remover extends BucketPerms {
22
28
  export declare abstract class PublicUrler extends BucketPerms {
23
29
  abstract publicUrl(name: string): string;
24
30
  }
25
- export type ReadWriter = Uploader & Downloader & Attrser & Lister & Remover;
31
+ export type ReadWriter = Uploader & SignedUploader & Downloader & SignedDownloader & Attrser & Lister & Remover;
@@ -4,8 +4,12 @@ export class BucketPerms {
4
4
  }
5
5
  export class Uploader extends BucketPerms {
6
6
  }
7
+ export class SignedUploader extends BucketPerms {
8
+ }
7
9
  export class Downloader extends BucketPerms {
8
10
  }
11
+ export class SignedDownloader extends BucketPerms {
12
+ }
9
13
  export class Attrser extends BucketPerms {
10
14
  }
11
15
  export class Lister extends BucketPerms {
@@ -1 +1 @@
1
- {"version":3,"file":"refs.js","sourceRoot":"","sources":["../../../storage/objects/refs.ts"],"names":[],"mappings":"AAEA,MAAM,OAAgB,WAAW;IACvB,WAAW,KAAW,CAAC;IAAA,CAAC;CACjC;AAED,MAAM,OAAgB,QAAS,SAAQ,WAAW;CAEjD;AAED,MAAM,OAAgB,UAAW,SAAQ,WAAW;CAEnD;AAED,MAAM,OAAgB,OAAQ,SAAQ,WAAW;CAGhD;AAED,MAAM,OAAgB,MAAO,SAAQ,WAAW;CAE/C;AAED,MAAM,OAAgB,OAAQ,SAAQ,WAAW;CAEhD;AAED,MAAM,OAAgB,WAAY,SAAQ,WAAW;CAEpD"}
1
+ {"version":3,"file":"refs.js","sourceRoot":"","sources":["../../../storage/objects/refs.ts"],"names":[],"mappings":"AAGA,MAAM,OAAgB,WAAW;IACvB,WAAW,KAAW,CAAC;IAAA,CAAC;CACjC;AAED,MAAM,OAAgB,QAAS,SAAQ,WAAW;CAEjD;AAED,MAAM,OAAgB,cAAe,SAAQ,WAAW;CAEvD;AAED,MAAM,OAAgB,UAAW,SAAQ,WAAW;CAEnD;AAED,MAAM,OAAgB,gBAAiB,SAAQ,WAAW;CAEzD;AAED,MAAM,OAAgB,OAAQ,SAAQ,WAAW;CAGhD;AAED,MAAM,OAAgB,MAAO,SAAQ,WAAW;CAE/C;AAED,MAAM,OAAgB,OAAQ,SAAQ,WAAW;CAEhD;AAED,MAAM,OAAgB,WAAY,SAAQ,WAAW;CAEpD"}
@@ -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.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.date.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.es2019.intl.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.es2022.regexp.d.ts","../node_modules/typescript/lib/lib.esnext.intl.d.ts","../node_modules/typescript/lib/lib.decorators.d.ts","../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../internal/runtime/napi/napi.d.cts","../internal/runtime/mod.ts","../app_meta.ts","../internal/reqtrack/mod.ts","../req_meta.ts","../mod.ts","../api/error.ts","../auth/mod.ts","../api/gateway.ts","../api/stream.ts","../internal/api/node_http.ts","../internal/appinit/mod.ts","../api/mod.ts","../internal/utils/constraints.ts","../config/secrets.ts","../config/mod.ts","../internal/types/mod.ts","../cron/mod.ts","../internal/api/mod.ts","../internal/auth/mod.ts","../internal/codegen/api.ts","../internal/codegen/appinit.ts","../internal/codegen/auth.ts","../log/mod.ts","../pubsub/topic.ts","../pubsub/subscription.ts","../pubsub/mod.ts","../service/mod.ts","../storage/objects/error.ts","../storage/objects/refs.ts","../storage/objects/bucket.ts","../storage/objects/mod.ts","../storage/sqldb/database.ts","../storage/sqldb/mod.ts","../validate/mod.ts","../node_modules/@types/node/assert.d.ts","../node_modules/@types/node/assert/strict.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/api.d.ts","../node_modules/undici-types/cookies.d.ts","../node_modules/undici-types/patch.d.ts","../node_modules/undici-types/filereader.d.ts","../node_modules/undici-types/diagnostics-channel.d.ts","../node_modules/undici-types/websocket.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/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"],"fileInfos":[{"version":"f33e5332b24c3773e930e212cbb8b6867c8ba3ec4492064ea78e55a524d57450","affectsGlobalScope":true},"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","26f2f787e82c4222710f3b676b4d83eb5ad0a72fa7b746f03449e7a026ce5073","9a68c0c07ae2fa71b44384a839b7b8d81662a236d4b9ac30916718f7510b1b2d","5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","feecb1be483ed332fad555aff858affd90a48ab19ba7272ee084704eb7167569","5514e54f17d6d74ecefedc73c504eadffdeda79c7ea205cf9febead32d45c4bc",{"version":"138fb588d26538783b78d1e3b2c2cc12d55840b97bf5e08bca7f7a174fbe2f17","affectsGlobalScope":true},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true},{"version":"4443e68b35f3332f753eacc66a04ac1d2053b8b035a0e0ac1d455392b5e243b3","affectsGlobalScope":true},{"version":"bc47685641087c015972a3f072480889f0d6c65515f12bd85222f49a98952ed7","affectsGlobalScope":true},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true},{"version":"93495ff27b8746f55d19fcbcdbaccc99fd95f19d057aed1bd2c0cafe1335fbf0","affectsGlobalScope":true},{"version":"6fc23bb8c3965964be8c597310a2878b53a0306edb71d4b5a4dfe760186bcc01","affectsGlobalScope":true},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true},{"version":"bb42a7797d996412ecdc5b2787720de477103a0b2e53058569069a0e2bae6c7e","affectsGlobalScope":true},{"version":"4738f2420687fd85629c9efb470793bb753709c2379e5f85bc1815d875ceadcd","affectsGlobalScope":true},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true},{"version":"9fc46429fbe091ac5ad2608c657201eb68b6f1b8341bd6d670047d32ed0a88fa","affectsGlobalScope":true},{"version":"61c37c1de663cf4171e1192466e52c7a382afa58da01b1dc75058f032ddf0839","affectsGlobalScope":true},{"version":"b541a838a13f9234aba650a825393ffc2292dc0fc87681a5d81ef0c96d281e7a","affectsGlobalScope":true},{"version":"e0275cd0e42990dc3a16f0b7c8bca3efe87f1c8ad404f80c6db1c7c0b828c59f","affectsGlobalScope":true},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true},{"version":"49ed889be54031e1044af0ad2c603d627b8bda8b50c1a68435fe85583901d072","affectsGlobalScope":true},{"version":"e93d098658ce4f0c8a0779e6cab91d0259efb88a318137f686ad76f8410ca270","affectsGlobalScope":true},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true},{"version":"bf14a426dbbf1022d11bd08d6b8e709a2e9d246f0c6c1032f3b2edb9a902adbe","affectsGlobalScope":true},{"version":"ec0104fee478075cb5171e5f4e3f23add8e02d845ae0165bfa3f1099241fa2aa","affectsGlobalScope":true},{"version":"2b72d528b2e2fe3c57889ca7baef5e13a56c957b946906d03767c642f386bbc3","affectsGlobalScope":true},{"version":"acae90d417bee324b1372813b5a00829d31c7eb670d299cd7f8f9a648ac05688","affectsGlobalScope":true},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true},{"version":"af3dd424cf267428f30ccfc376f47a2c0114546b55c44d8c0f1d57d841e28d74","affectsGlobalScope":true},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","affectsGlobalScope":true},{"version":"51e547984877a62227042850456de71a5c45e7fe86b7c975c6e68896c86fa23b","affectsGlobalScope":true},{"version":"62a4966981264d1f04c44eb0f4b5bdc3d81c1a54725608861e44755aa24ad6a5","affectsGlobalScope":true},{"version":"4fa6ed14e98aa80b91f61b9805c653ee82af3502dc21c9da5268d3857772ca05","affectsGlobalScope":true},{"version":"e6633e05da3ff36e6da2ec170d0d03ccf33de50ca4dc6f5aeecb572cedd162fb","affectsGlobalScope":true},{"version":"86a34c7a13de9cabc43161348f663624b56871ed80986e41d214932ddd8d6719","affectsGlobalScope":true},{"version":"8444af78980e3b20b49324f4a16ba35024fef3ee069a0eb67616ea6ca821c47a","affectsGlobalScope":true},{"version":"caccc56c72713969e1cfe5c3d44e5bab151544d9d2b373d7dbe5a1e4166652be","affectsGlobalScope":true},{"version":"3287d9d085fbd618c3971944b65b4be57859f5415f495b33a6adc994edd2f004","affectsGlobalScope":true},{"version":"50d53ccd31f6667aff66e3d62adf948879a3a16f05d89882d1188084ee415bbc","affectsGlobalScope":true},{"version":"13f6e6380c78e15e140243dc4be2fa546c287c6d61f4729bc2dd7cf449605471","affectsGlobalScope":true},{"version":"33358442698bb565130f52ba79bfd3d4d484ac85fe33f3cb1759c54d18201393","affectsGlobalScope":true},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true},"af5ef528c09490b956960aa1a94517f805f40c192e24b45754b1ef6e90956e33",{"version":"b29cdf4ae72c30b2ff554160827c71e1679fe83e90a29042748b0d8103039a08","signature":"cbdc3c62359f81de1fbfb1baf2f699990f36fe76dc3cf5e1defca9436cc09324"},{"version":"22c41cd969a3f3e8792047767157fd978e5bebf3d5edfe28263a60f094ea8960","signature":"f7a13afa5e66557c8b6fec4b7740e45c9ee0d0a3bdfc2419eeb21c9a214ab9b9"},{"version":"1bf6c4fd8ff6f28adbc87ae80e9b3fd70a6b0f30e030c06858ea7da901df6279","signature":"0755afeffaa749b0a9d242ad328b06c1aa243dd7b10a5d38e13419150792c362"},{"version":"4264414c639ead0180eb4e562917166cac3614108cc7aae5fd298f570308ef96","signature":"6303fc0c688c7eb8ba977928e26b0c361b3ff7c673be4c1cab862016c823a1ed"},{"version":"76a8bc704b721e967c752b55bebb16f3a2922cdb86e652c0c82759f5cb3771da","signature":"6167410fcb897c61d6300d81d28f4fee3a1fc8e6ebbcd5c7fe9512fc5f061807"},{"version":"617f1365fe604e85dbee1041c4934d88784dcbfd8777dbcd0e347d7839a58270","signature":"733cbad424aa2dc04c2834d17a1e224182f9abcf355bf06f84972aa71e7cf88c"},{"version":"a9cb80f47f8ce54e616d903da3861ed87b4cc2db54369f3229305923a8d01e9e","signature":"e8b08e8437d7f449a1020c78f523c80edca47d2a7bec765cf8adee01b1b9f4b9"},{"version":"13f690099f433bbd91d6e5af8df80005df0ac3e0c96dc632898ba11bdeef49ba","signature":"b462e4f1ebcae75c287fe499122527a25b1f04c5349f842158c005d758bde646"},{"version":"42635a6318ca25c0163c248e3ada7d04587a63fb8d041d1a4997ceca3f7c0668","signature":"721a28764abcb39316ef5df74ced9bbc981f21d1f865b55660fe3cfca1693822"},{"version":"483cbcd6c7ab7d449e6e130bbd314af689d893c28421bc6f4005d72fbea8ba1e","signature":"b44e1fa2517dcd005974748e4dc03c6be792f3566b794b9262e3da72062b0d74"},{"version":"0112a83dd6a321c42cc226dfd194f5a4d6afe435d548f14dec075ef9068c880a","signature":"ac2bc4182477839a7ba45349d6d990fb2be3a81f30eeca5b15d0e325e77484b4"},{"version":"e2cf492ed9d59f9e4dbe5568984d4bd8dc9f5d3fc465897d880df888fa2d0be6","signature":"18394544b88fbc6476d7936296224ed799c11cf250902917fead2c4fc03d1a24"},{"version":"dac2ecb2e2edf2f279c46f49b05e7dab73fb427a72f662cb24d7e06556087db7","signature":"89c544a3aa54a88d90bb7db6e318542d661fc79035b98700d2b7fe5d87bf7edb"},{"version":"c2358758c15d37b0f88a8ecf8cf38deb1fa45995871d2ecda2219ce8e365d2e2","signature":"d6557e5b8c49c27f990d378acb3a64cbd6291d1c97984d9d14510df1038f5d5b"},"68fe5d7ce4b0073cb450767c70847f6bd7ef0e6b099b26effd7651410fcc6206",{"version":"00018aadf3bf8aac3b94d086c07d837b006af7389fab4f52bba73083bdd02c51","signature":"15b3437374aea37541f405e45622294bc2e2631b749920676ae90a8a38ee0bce"},{"version":"d236effd859fb8663d2802ac5b16a8675645585380448c35a2b9297011db0186","signature":"f2582ae9e2b63ad8a9615655f2c136e1652436f177885cbf874d82a8c74f1d29"},{"version":"0144a40fd18f8ec246f120c1cc7e769ece97212a97b718e15e7f643d16c10fe8","signature":"5a51e785a9a472cad391424aef04ff8c1b68c965f5ee7574ab8cb2eed826e09f"},{"version":"65067ae33d9b54a877897cf19c04d11bbc642d23d5f9bddaacb6145b12b47252","signature":"484d6b91ba6f61784cbe40df3a8d4c894a8a6d9322147565c397c161d8b5e547"},"330fec351a0c9604ceaa9b098f5524875fae13b26e92a1f44555e67d12f87d35",{"version":"21c37ec4d5400f8d087cf808bc3fbeef1a332aa04a9ef3f6eff4de5addb9835b","signature":"017c1fe5d55daa40564b838ab60cea5e3981e494c20233bb1acc67276d1fb325"},{"version":"e8bf991b3662116671e3430bf519baaace5f6fff3da3fd8d0172ad28a31bc004","signature":"0bb4ce4d165639c83303131ec16c347188ae475335e48a4f0f0c5b09e19bebc7"},{"version":"99a7a53582f2a44381cfbd285fd0457e18116e4185fe93a8679b31a7253ae445","signature":"702197a1307efc488d7c2eed452627d3bfb63810e69e4dd7cecac4e289049e45"},{"version":"dbf57db930e4dbfd01de4fd5f4dd0e6a55ca8dd514da30338625f614bbeaeafb","signature":"44b947165ca58aaf83768a8e94b945478b41dfcdc825c6b8ef800cf6f2ece30c"},{"version":"cb3393ffd4b953e1cb0fb2864e10c9dad9fb5a6343934ab0d1d034d0a8c09b0e","signature":"0c85004226ac441a92d4362392ee26d2de029799313b538cd7fab4304deae5f0"},{"version":"d410d646a90393a2dae45c38a2f35a856729a2a0203ae36d8f5f2d81aade1cd3","signature":"c487a86e6b75c14a6ed499f45d75414dcc956efbc92e3f5897d3c92a4338db77"},{"version":"a437c68abc20686d0bc8cd7361b2c09fbe585ca0418a9caf9fae790f671e6001","signature":"320f693234a4a555bc4e9d95c6b635654d7f45509e0cba2a80399f159561ebbe"},{"version":"2e3ef79a9f913d0dd0c4e735ce917cc5e7b5f53b872642b6edc95d7c5fd4a436","signature":"d98413de84e40984b80541bd5f0444620fbf904859de5c06d5a0ea1540d5b741"},{"version":"338fc1986e022737ab89cb6efc3595acddd55b72c5b61cdf33851f461c6e6a42","signature":"2db3341caec90099ddab00329907bd2a26bf84235fd87c297ecb52808aa88a4b"},{"version":"edf15318ae9530d1765b459e072156543fa212e28e5572bb594f1214f80881bc","signature":"93e157f825a3b613d3aba05b90ccbd10b191fae12f9c33301e6fa17eaea36574"},"49bad97b9729c46c310cfe916fb2e22241910e7e9446678c2707d0b339d0bc97",{"version":"44265bd5fa5310617c25d3e53d23a46f1e9c8105b3c6d4146a4a91da793212b2","signature":"6d35581f1238ffab73b7f405ab7191e69f7130b4441691ebf73c305927d3a9e0"},"21a0fc92666d4ffe9628ad155124bdcbafc6bef107dff77349604ec9fd8c178b",{"version":"3f91f7f42589831057c4a2371d8ee9d03330e22429def4965237abc26f204e3b","signature":"cf3e528b3814b219e2370197c67689b02099fc6f8df0740266e61a50fa03fcbc"},"efc7d584a33fe3422847783d228f315c4cd1afe74bd7cf8e3f0e4c1125129fef","7394959e5a741b185456e1ef5d64599c36c60a323207450991e7a42e08911419","5929864ce17fba74232584d90cb721a89b7ad277220627cc97054ba15a98ea8f","7180c03fd3cb6e22f911ce9ba0f8a7008b1a6ddbe88ccf16a9c8140ef9ac1686","25c8056edf4314820382a5fdb4bb7816999acdcb929c8f75e3f39473b87e85bc","54cb85a47d760da1c13c00add10d26b5118280d44d58e6908d8e89abbd9d7725","3e4825171442666d31c845aeb47fcd34b62e14041bb353ae2b874285d78482aa","c6fd2c5a395f2432786c9cb8deb870b9b0e8ff7e22c029954fabdd692bff6195","a967bfe3ad4e62243eb604bf956101e4c740f5921277c60debaf325c1320bf88","e9775e97ac4877aebf963a0289c81abe76d1ec9a2a7778dbe637e5151f25c5f3","471e1da5a78350bc55ef8cef24eb3aca6174143c281b8b214ca2beda51f5e04a","cadc8aced301244057c4e7e73fbcae534b0f5b12a37b150d80e5a45aa4bebcbd","385aab901643aa54e1c36f5ef3107913b10d1b5bb8cbcd933d4263b80a0d7f20","9670d44354bab9d9982eca21945686b5c24a3f893db73c0dae0fd74217a4c219","db3435f3525cd785bf21ec6769bf8da7e8a776be1a99e2e7efb5f244a2ef5fee","c3b170c45fc031db31f782e612adf7314b167e60439d304b49e704010e7bafe5","40383ebef22b943d503c6ce2cb2e060282936b952a01bea5f9f493d5fb487cc7","4893a895ea92c85345017a04ed427cbd6a1710453338df26881a6019432febdd","3a84b7cb891141824bd00ef8a50b6a44596aded4075da937f180c90e362fe5f6","13f6f39e12b1518c6650bbb220c8985999020fe0f21d818e28f512b7771d00f9","9b5369969f6e7175740bf51223112ff209f94ba43ecd3bb09eefff9fd675624a","4fe9e626e7164748e8769bbf74b538e09607f07ed17c2f20af8d680ee49fc1da","24515859bc0b836719105bb6cc3d68255042a9f02a6022b3187948b204946bd2","33203609eba548914dc83ddf6cadbc0bcb6e8ef89f6d648ca0908ae887f9fcc5","0db18c6e78ea846316c012478888f33c11ffadab9efd1cc8bcc12daded7a60b6","89167d696a849fce5ca508032aabfe901c0868f833a8625d5a9c6e861ef935d2","e53a3c2a9f624d90f24bf4588aacd223e7bec1b9d0d479b68d2f4a9e6011147f","339dc5265ee5ed92e536a93a04c4ebbc2128f45eeec6ed29f379e0085283542c","9f0a92164925aa37d4a5d9dd3e0134cff8177208dba55fd2310cd74beea40ee2","8bfdb79bf1a9d435ec48d9372dc93291161f152c0865b81fc0b2694aedb4578d","2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","d32275be3546f252e3ad33976caf8c5e842c09cb87d468cb40d5f4cf092d1acc","4a0c3504813a3289f7fb1115db13967c8e004aa8e4f8a9021b95285502221bd1",{"version":"a14ed46fa3f5ffc7a8336b497cd07b45c2084213aaca933a22443fcb2eef0d07","affectsGlobalScope":true},"cce1f5f86974c1e916ec4a8cab6eec9aa8e31e8148845bf07fbaa8e1d97b1a2c",{"version":"7fd7fcbf021a5845bdd9397d4649fcf2fe17152d2098140fc723099a215d19ad","affectsGlobalScope":true},"16d74fe4d8e183344d3beb15d48b123c5980ff32ff0cc8c3b96614ddcdf9b239","7b43160a49cf2c6082da0465876c4a0b164e160b81187caeb0a6ca7a281e85ba",{"version":"41fb2a1c108fbf46609ce5a451b7ec78eb9b5ada95fd5b94643e4b26397de0b3","affectsGlobalScope":true},"a40826e8476694e90da94aa008283a7de50d1dafd37beada623863f1901cb7fb",{"version":"a1d2988ad9d2aef7b9915a22b5e52c165c83a878f2851c35621409046bbe3c05","affectsGlobalScope":true},"bd3f5d05b6b5e4bfcea7739a45f3ffb4a7f4a3442ba7baf93e0200799285b8f1","4c775c2fccabf49483c03cd5e3673f87c1ffb6079d98e7b81089c3def79e29c6","8806ae97308ef26363bd7ec8071bca4d07fb575f905ee3d8a91aff226df6d618","af5bf1db6f1804fb0069039ae77a05d60133c77a2158d9635ea27b6bb2828a8f","b7fe70be794e13d1b7940e318b8770cd1fb3eced7707805318a2e3aaac2c3e9e",{"version":"2c71199d1fc83bf17636ad5bf63a945633406b7b94887612bba4ef027c662b3e","affectsGlobalScope":true},{"version":"674168aa3db414ea0a19b2a31d901b2d49705c7a495e43ffdc96928543010f8c","affectsGlobalScope":true},"fe1fd6afdfe77976d4c702f3746c05fb05a7e566845c890e0e970fe9376d6a90","313a0b063f5188037db113509de1b934a0e286f14e9479af24fada241435e707","afb1701fd4be413a8a5a88df6befdd4510c30a31372c07a4138facf61594c66d","87ef1a23caa071b07157c72077fa42b86d30568f9dc9e31eed24d5d14fc30ba8","396a8939b5e177542bdf9b5262b4eee85d29851b2d57681fa9d7eae30e225830","21773f5ac69ddf5a05636ba1f50b5239f4f2d27e4420db147fc2f76a5ae598ac",{"version":"ea455cc68871b049bcecd9f56d4cf27b852d6dafd5e3b54468ca87cc11604e4d","affectsGlobalScope":true},"c07146dbbbd8b347241b5df250a51e48f2d7bef19b1e187b1a3f20c849988ff1","45b1053e691c5af9bfe85060a3e1542835f8d84a7e6e2e77ca305251eda0cb3c","0f05c06ff6196958d76b865ae17245b52d8fe01773626ac3c43214a2458ea7b7",{"version":"ae5507fc333d637dec9f37c6b3f4d423105421ea2820a64818de55db85214d66","affectsGlobalScope":true},{"version":"0666f4c99b8688c7be5956df8fecf5d1779d3b22f8f2a88258ae7072c7b6026f","affectsGlobalScope":true},"8abd0566d2854c4bd1c5e48e05df5c74927187f1541e6770001d9637ac41542e","54e854615c4eafbdd3fd7688bd02a3aafd0ccf0e87c98f79d3e9109f047ce6b8","d8dba11dc34d50cb4202de5effa9a1b296d7a2f4a029eec871f894bddfb6430d","8b71dd18e7e63b6f991b511a201fad7c3bf8d1e0dd98acb5e3d844f335a73634","01d8e1419c84affad359cc240b2b551fb9812b450b4d3d456b64cda8102d4f60","8221b00f271cf7f535a8eeec03b0f80f0929c7a16116e2d2df089b41066de69b","269929a24b2816343a178008ac9ae9248304d92a8ba8e233055e0ed6dbe6ef71","93452d394fdd1dc551ec62f5042366f011a00d342d36d50793b3529bfc9bd633","7424817d5eb498771e6d1808d726ec38f75d2eaf3fa359edd5c0c540c52725c1","9a9634296cca836c3308923ba7aa094fa6ed76bb1e366d8ddcf5c65888ab1024",{"version":"bddce945d552a963c9733db106b17a25474eefcab7fc990157a2134ef55d4954","affectsGlobalScope":true},{"version":"7052b7b0c3829df3b4985bab2fd74531074b4835d5a7b263b75c82f0916ad62f","affectsGlobalScope":true},"aa34c3aa493d1c699601027c441b9664547c3024f9dbab1639df7701d63d18fa","4b55240c2a03b2c71e98a7fc528b16136faa762211c92e781a01c37821915ea6","7c651f8dce91a927ab62925e73f190763574c46098f2b11fb8ddc1b147a6709a","7440ab60f4cb031812940cc38166b8bb6fbf2540cfe599f87c41c08011f0c1df",{"version":"94c086dff8dbc5998749326bc69b520e8e4273fb5b7b58b50e0210e0885dfcde","affectsGlobalScope":true},{"version":"f5b5dc128973498b75f52b1b8c2d5f8629869104899733ae485100c2309b4c12","affectsGlobalScope":true},"ebe5facd12fd7745cda5f4bc3319f91fb29dc1f96e57e9c6f8b260a7cc5b67ee","79bad8541d5779c85e82a9fb119c1fe06af77a71cc40f869d62ad379473d4b75","37dc027f781c75f0f546e329cfac7cf92a6b289f42458f47a9adc25e516b6839",{"version":"629d20681ca284d9e38c0a019f647108f5fe02f9c59ac164d56f5694fc3faf4d","affectsGlobalScope":true},"e7dbf5716d76846c7522e910896c5747b6df1abd538fee8f5291bdc843461795",{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true},"b510d0a18e3db42ac9765d26711083ec1e8b4e21caaca6dc4d25ae6e8623f447"],"root":[[58,92]],"options":{"allowSyntheticDefaultImports":true,"composite":true,"declaration":true,"module":7,"outDir":"./","rootDir":"..","skipLibCheck":true,"sourceMap":true,"strict":true,"target":9},"fileIdsList":[[59,61,65],[63,64,66,67,68,69,70,144],[59],[72],[59,71],[74],[59,61,64],[59,144,149,159],[59,61,66,67,68,70,170,175],[61],[76],[69],[77],[59,128],[58],[59,61],[60,62],[93],[128],[129,134,162],[130,141,142,149,159,170],[130,131,141,149],[132,171],[133,134,142,150],[134,159,167],[135,137,141,149],[128,136],[137,138],[141],[139,141],[128,141],[141,142,143,159,170],[141,142,143,156,159,162],[126,129,175],[137,141,144,149,159,170],[141,142,144,145,149,159,167,170],[144,146,159,167,170],[93,94,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,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177],[141,147],[148,170,175],[137,141,149,159],[150],[151],[128,152],[153,169,175],[154],[155],[141,156,157],[156,158,171,173],[129,141,159,160,161,162],[129,159,161],[159,160],[162],[163],[128,159],[141,165,166],[165,166],[134,149,159,167],[168],[149,169],[129,144,155,170],[134,171],[159,172],[148,173],[174],[129,134,141,143,152,159,170,173,175],[159,176],[103,107,170],[103,159,170],[98],[100,103,167,170],[149,167],[178],[98,178],[100,103,149,170],[95,96,99,102,129,141,159,170],[95,101],[99,103,129,162,170,178],[129,178],[119,129,178],[97,98,178],[103],[97,98,99,100,101,102,103,104,105,107,108,109,110,111,112,113,114,115,116,117,118,120,121,122,123,124,125],[103,110,111],[101,103,111,112],[102],[95,98,103],[103,107,111,112],[107],[101,103,106,170],[95,100,101,103,107,110],[129,159],[98,103,119,129,175,178],[82,83],[59,61,74,82],[59,61,84],[70],[59,61,71,86,87],[86,87,88],[88],[59,61,71],[90],[65],[71],[59,66,70],[74,82],[84],[59,71,87]],"referencedMap":[[66,1],[70,2],[67,3],[60,3],[73,4],[72,5],[75,6],[76,7],[68,8],[69,9],[77,10],[78,11],[79,12],[80,13],[61,14],[59,15],[81,16],[63,17],[93,18],[94,18],[128,19],[129,20],[130,21],[131,22],[132,23],[133,24],[134,25],[135,26],[136,27],[137,28],[138,28],[140,29],[139,30],[141,31],[142,32],[143,33],[127,34],[144,35],[145,36],[146,37],[178,38],[147,39],[148,40],[149,41],[150,42],[151,43],[152,44],[153,45],[154,46],[155,47],[156,48],[157,48],[158,49],[159,50],[161,51],[160,52],[162,53],[163,54],[164,55],[165,56],[166,57],[167,58],[168,59],[169,60],[170,61],[171,62],[172,63],[173,64],[174,65],[175,66],[176,67],[110,68],[117,69],[109,68],[124,70],[101,71],[100,72],[123,73],[118,74],[121,75],[103,76],[102,77],[98,78],[97,79],[120,80],[99,81],[104,82],[108,82],[126,83],[125,82],[112,84],[113,85],[115,86],[111,87],[114,88],[119,73],[106,89],[107,90],[116,91],[96,92],[122,93],[84,94],[83,95],[82,96],[62,10],[85,97],[88,98],[86,3],[89,99],[87,100],[90,101],[91,102]],"exportedModulesMap":[[66,103],[70,2],[67,3],[73,4],[72,104],[75,6],[68,8],[69,105],[78,11],[79,12],[80,13],[61,3],[59,15],[81,3],[63,17],[93,18],[94,18],[128,19],[129,20],[130,21],[131,22],[132,23],[133,24],[134,25],[135,26],[136,27],[137,28],[138,28],[140,29],[139,30],[141,31],[142,32],[143,33],[127,34],[144,35],[145,36],[146,37],[178,38],[147,39],[148,40],[149,41],[150,42],[151,43],[152,44],[153,45],[154,46],[155,47],[156,48],[157,48],[158,49],[159,50],[161,51],[160,52],[162,53],[163,54],[164,55],[165,56],[166,57],[167,58],[168,59],[169,60],[170,61],[171,62],[172,63],[173,64],[174,65],[175,66],[176,67],[110,68],[117,69],[109,68],[124,70],[101,71],[100,72],[123,73],[118,74],[121,75],[103,76],[102,77],[98,78],[97,79],[120,80],[99,81],[104,82],[108,82],[126,83],[125,82],[112,84],[113,85],[115,86],[111,87],[114,88],[119,73],[106,89],[107,90],[116,91],[96,92],[122,93],[84,94],[83,106],[82,107],[85,97],[88,108],[86,3],[89,99],[87,100],[90,5],[91,102]],"semanticDiagnosticsPerFile":[64,66,70,67,60,65,73,72,75,76,68,69,77,78,79,80,61,59,58,74,71,81,63,93,94,128,129,130,131,132,133,134,135,136,137,138,140,139,141,142,143,127,177,144,145,146,178,147,148,149,150,151,152,153,154,155,156,157,158,159,161,160,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,56,57,11,10,2,12,13,14,15,16,17,18,19,3,4,20,24,21,22,23,25,26,27,5,28,29,30,31,6,35,32,33,34,36,7,37,42,43,38,39,40,41,8,47,44,45,46,48,9,49,50,51,54,52,53,1,55,110,117,109,124,101,100,123,118,121,103,102,98,97,120,99,104,105,108,95,126,125,112,113,115,111,114,119,106,107,116,96,122,84,83,82,62,85,88,86,89,87,90,91,92],"latestChangedDtsFile":"./validate/mod.d.ts"},"version":"5.3.3"}
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.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.date.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.es2019.intl.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.es2022.regexp.d.ts","../node_modules/typescript/lib/lib.esnext.intl.d.ts","../node_modules/typescript/lib/lib.decorators.d.ts","../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../internal/runtime/napi/napi.d.cts","../internal/runtime/mod.ts","../app_meta.ts","../internal/reqtrack/mod.ts","../req_meta.ts","../mod.ts","../api/error.ts","../auth/mod.ts","../api/gateway.ts","../api/stream.ts","../internal/api/node_http.ts","../internal/appinit/mod.ts","../api/mod.ts","../internal/utils/constraints.ts","../config/secrets.ts","../config/mod.ts","../internal/types/mod.ts","../cron/mod.ts","../internal/api/mod.ts","../internal/auth/mod.ts","../internal/codegen/api.ts","../internal/codegen/appinit.ts","../internal/codegen/auth.ts","../log/mod.ts","../pubsub/topic.ts","../pubsub/subscription.ts","../pubsub/mod.ts","../service/mod.ts","../storage/objects/error.ts","../storage/objects/refs.ts","../storage/objects/bucket.ts","../storage/objects/mod.ts","../storage/sqldb/database.ts","../storage/sqldb/mod.ts","../validate/mod.ts","../node_modules/@types/node/assert.d.ts","../node_modules/@types/node/assert/strict.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/api.d.ts","../node_modules/undici-types/cookies.d.ts","../node_modules/undici-types/patch.d.ts","../node_modules/undici-types/filereader.d.ts","../node_modules/undici-types/diagnostics-channel.d.ts","../node_modules/undici-types/websocket.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/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"],"fileInfos":[{"version":"f33e5332b24c3773e930e212cbb8b6867c8ba3ec4492064ea78e55a524d57450","affectsGlobalScope":true},"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","26f2f787e82c4222710f3b676b4d83eb5ad0a72fa7b746f03449e7a026ce5073","9a68c0c07ae2fa71b44384a839b7b8d81662a236d4b9ac30916718f7510b1b2d","5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","feecb1be483ed332fad555aff858affd90a48ab19ba7272ee084704eb7167569","5514e54f17d6d74ecefedc73c504eadffdeda79c7ea205cf9febead32d45c4bc",{"version":"138fb588d26538783b78d1e3b2c2cc12d55840b97bf5e08bca7f7a174fbe2f17","affectsGlobalScope":true},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true},{"version":"4443e68b35f3332f753eacc66a04ac1d2053b8b035a0e0ac1d455392b5e243b3","affectsGlobalScope":true},{"version":"bc47685641087c015972a3f072480889f0d6c65515f12bd85222f49a98952ed7","affectsGlobalScope":true},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true},{"version":"93495ff27b8746f55d19fcbcdbaccc99fd95f19d057aed1bd2c0cafe1335fbf0","affectsGlobalScope":true},{"version":"6fc23bb8c3965964be8c597310a2878b53a0306edb71d4b5a4dfe760186bcc01","affectsGlobalScope":true},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true},{"version":"bb42a7797d996412ecdc5b2787720de477103a0b2e53058569069a0e2bae6c7e","affectsGlobalScope":true},{"version":"4738f2420687fd85629c9efb470793bb753709c2379e5f85bc1815d875ceadcd","affectsGlobalScope":true},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true},{"version":"9fc46429fbe091ac5ad2608c657201eb68b6f1b8341bd6d670047d32ed0a88fa","affectsGlobalScope":true},{"version":"61c37c1de663cf4171e1192466e52c7a382afa58da01b1dc75058f032ddf0839","affectsGlobalScope":true},{"version":"b541a838a13f9234aba650a825393ffc2292dc0fc87681a5d81ef0c96d281e7a","affectsGlobalScope":true},{"version":"e0275cd0e42990dc3a16f0b7c8bca3efe87f1c8ad404f80c6db1c7c0b828c59f","affectsGlobalScope":true},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true},{"version":"49ed889be54031e1044af0ad2c603d627b8bda8b50c1a68435fe85583901d072","affectsGlobalScope":true},{"version":"e93d098658ce4f0c8a0779e6cab91d0259efb88a318137f686ad76f8410ca270","affectsGlobalScope":true},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true},{"version":"bf14a426dbbf1022d11bd08d6b8e709a2e9d246f0c6c1032f3b2edb9a902adbe","affectsGlobalScope":true},{"version":"ec0104fee478075cb5171e5f4e3f23add8e02d845ae0165bfa3f1099241fa2aa","affectsGlobalScope":true},{"version":"2b72d528b2e2fe3c57889ca7baef5e13a56c957b946906d03767c642f386bbc3","affectsGlobalScope":true},{"version":"acae90d417bee324b1372813b5a00829d31c7eb670d299cd7f8f9a648ac05688","affectsGlobalScope":true},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true},{"version":"af3dd424cf267428f30ccfc376f47a2c0114546b55c44d8c0f1d57d841e28d74","affectsGlobalScope":true},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","affectsGlobalScope":true},{"version":"51e547984877a62227042850456de71a5c45e7fe86b7c975c6e68896c86fa23b","affectsGlobalScope":true},{"version":"62a4966981264d1f04c44eb0f4b5bdc3d81c1a54725608861e44755aa24ad6a5","affectsGlobalScope":true},{"version":"4fa6ed14e98aa80b91f61b9805c653ee82af3502dc21c9da5268d3857772ca05","affectsGlobalScope":true},{"version":"e6633e05da3ff36e6da2ec170d0d03ccf33de50ca4dc6f5aeecb572cedd162fb","affectsGlobalScope":true},{"version":"86a34c7a13de9cabc43161348f663624b56871ed80986e41d214932ddd8d6719","affectsGlobalScope":true},{"version":"8444af78980e3b20b49324f4a16ba35024fef3ee069a0eb67616ea6ca821c47a","affectsGlobalScope":true},{"version":"caccc56c72713969e1cfe5c3d44e5bab151544d9d2b373d7dbe5a1e4166652be","affectsGlobalScope":true},{"version":"3287d9d085fbd618c3971944b65b4be57859f5415f495b33a6adc994edd2f004","affectsGlobalScope":true},{"version":"50d53ccd31f6667aff66e3d62adf948879a3a16f05d89882d1188084ee415bbc","affectsGlobalScope":true},{"version":"13f6e6380c78e15e140243dc4be2fa546c287c6d61f4729bc2dd7cf449605471","affectsGlobalScope":true},{"version":"33358442698bb565130f52ba79bfd3d4d484ac85fe33f3cb1759c54d18201393","affectsGlobalScope":true},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true},"82b74e4c1bf1687e623b20e3bfd9f7a0bf05205497d9a809170d201180ec78df",{"version":"b29cdf4ae72c30b2ff554160827c71e1679fe83e90a29042748b0d8103039a08","signature":"cbdc3c62359f81de1fbfb1baf2f699990f36fe76dc3cf5e1defca9436cc09324"},{"version":"22c41cd969a3f3e8792047767157fd978e5bebf3d5edfe28263a60f094ea8960","signature":"f7a13afa5e66557c8b6fec4b7740e45c9ee0d0a3bdfc2419eeb21c9a214ab9b9"},{"version":"1bf6c4fd8ff6f28adbc87ae80e9b3fd70a6b0f30e030c06858ea7da901df6279","signature":"0755afeffaa749b0a9d242ad328b06c1aa243dd7b10a5d38e13419150792c362"},{"version":"4264414c639ead0180eb4e562917166cac3614108cc7aae5fd298f570308ef96","signature":"6303fc0c688c7eb8ba977928e26b0c361b3ff7c673be4c1cab862016c823a1ed"},{"version":"76a8bc704b721e967c752b55bebb16f3a2922cdb86e652c0c82759f5cb3771da","signature":"6167410fcb897c61d6300d81d28f4fee3a1fc8e6ebbcd5c7fe9512fc5f061807"},{"version":"617f1365fe604e85dbee1041c4934d88784dcbfd8777dbcd0e347d7839a58270","signature":"733cbad424aa2dc04c2834d17a1e224182f9abcf355bf06f84972aa71e7cf88c"},{"version":"a9cb80f47f8ce54e616d903da3861ed87b4cc2db54369f3229305923a8d01e9e","signature":"e8b08e8437d7f449a1020c78f523c80edca47d2a7bec765cf8adee01b1b9f4b9"},{"version":"13f690099f433bbd91d6e5af8df80005df0ac3e0c96dc632898ba11bdeef49ba","signature":"b462e4f1ebcae75c287fe499122527a25b1f04c5349f842158c005d758bde646"},{"version":"42635a6318ca25c0163c248e3ada7d04587a63fb8d041d1a4997ceca3f7c0668","signature":"721a28764abcb39316ef5df74ced9bbc981f21d1f865b55660fe3cfca1693822"},{"version":"483cbcd6c7ab7d449e6e130bbd314af689d893c28421bc6f4005d72fbea8ba1e","signature":"b44e1fa2517dcd005974748e4dc03c6be792f3566b794b9262e3da72062b0d74"},{"version":"f33c5635294c1c05544f7c4ba1a01ec0a110eb1bd5a1f92cb874330171d9d29e","signature":"4522a69d27c83624e0ed2ed27ffb8b88a07bd5f1817637ed97625fe0097007b5"},{"version":"499e8351ea6c912275b82e685ee60eb66d4d952c5965e9ae0148bc3a7b22a940","signature":"4e5a23b59e88ce108fe4f91f4455c4edc2088b5d4b7094af859d40255b9aea99"},{"version":"dac2ecb2e2edf2f279c46f49b05e7dab73fb427a72f662cb24d7e06556087db7","signature":"89c544a3aa54a88d90bb7db6e318542d661fc79035b98700d2b7fe5d87bf7edb"},{"version":"c2358758c15d37b0f88a8ecf8cf38deb1fa45995871d2ecda2219ce8e365d2e2","signature":"d6557e5b8c49c27f990d378acb3a64cbd6291d1c97984d9d14510df1038f5d5b"},"68fe5d7ce4b0073cb450767c70847f6bd7ef0e6b099b26effd7651410fcc6206",{"version":"00018aadf3bf8aac3b94d086c07d837b006af7389fab4f52bba73083bdd02c51","signature":"15b3437374aea37541f405e45622294bc2e2631b749920676ae90a8a38ee0bce"},{"version":"d236effd859fb8663d2802ac5b16a8675645585380448c35a2b9297011db0186","signature":"f2582ae9e2b63ad8a9615655f2c136e1652436f177885cbf874d82a8c74f1d29"},{"version":"0144a40fd18f8ec246f120c1cc7e769ece97212a97b718e15e7f643d16c10fe8","signature":"5a51e785a9a472cad391424aef04ff8c1b68c965f5ee7574ab8cb2eed826e09f"},{"version":"65067ae33d9b54a877897cf19c04d11bbc642d23d5f9bddaacb6145b12b47252","signature":"484d6b91ba6f61784cbe40df3a8d4c894a8a6d9322147565c397c161d8b5e547"},"330fec351a0c9604ceaa9b098f5524875fae13b26e92a1f44555e67d12f87d35",{"version":"21c37ec4d5400f8d087cf808bc3fbeef1a332aa04a9ef3f6eff4de5addb9835b","signature":"017c1fe5d55daa40564b838ab60cea5e3981e494c20233bb1acc67276d1fb325"},{"version":"e8bf991b3662116671e3430bf519baaace5f6fff3da3fd8d0172ad28a31bc004","signature":"0bb4ce4d165639c83303131ec16c347188ae475335e48a4f0f0c5b09e19bebc7"},{"version":"99a7a53582f2a44381cfbd285fd0457e18116e4185fe93a8679b31a7253ae445","signature":"702197a1307efc488d7c2eed452627d3bfb63810e69e4dd7cecac4e289049e45"},{"version":"dbf57db930e4dbfd01de4fd5f4dd0e6a55ca8dd514da30338625f614bbeaeafb","signature":"44b947165ca58aaf83768a8e94b945478b41dfcdc825c6b8ef800cf6f2ece30c"},{"version":"cb3393ffd4b953e1cb0fb2864e10c9dad9fb5a6343934ab0d1d034d0a8c09b0e","signature":"0c85004226ac441a92d4362392ee26d2de029799313b538cd7fab4304deae5f0"},{"version":"d410d646a90393a2dae45c38a2f35a856729a2a0203ae36d8f5f2d81aade1cd3","signature":"c487a86e6b75c14a6ed499f45d75414dcc956efbc92e3f5897d3c92a4338db77"},{"version":"a437c68abc20686d0bc8cd7361b2c09fbe585ca0418a9caf9fae790f671e6001","signature":"320f693234a4a555bc4e9d95c6b635654d7f45509e0cba2a80399f159561ebbe"},{"version":"e2c00667d867cbe7c4768060d5ad118f26382014e77d5152a7ca19bb785a8318","signature":"4db84890c5109d833c1ba196cd64e7977563f7f78be83353a33bb83210c199aa"},{"version":"5bcec65f2fb8af374138af187b5f888aca35ab031c8feb80201adbc5e0a2aefa","signature":"b23931f1468456d6b8b1db174e4836103db947902a768e39845968258a6d3916"},{"version":"f514cd1b4c9e110432b838ef65d26f085280e8fd9b32f87fb4517b1a5be929d7","signature":"5ec028d6f993de709465fd41b61629ff10c299f9f923efd7b0a3c71600b4f43b"},"edd90ada0b85cba114401a4698ccb9bcd804c3b98f7b0e77ef572a54c03bc1c1",{"version":"44265bd5fa5310617c25d3e53d23a46f1e9c8105b3c6d4146a4a91da793212b2","signature":"6d35581f1238ffab73b7f405ab7191e69f7130b4441691ebf73c305927d3a9e0"},"21a0fc92666d4ffe9628ad155124bdcbafc6bef107dff77349604ec9fd8c178b",{"version":"3f91f7f42589831057c4a2371d8ee9d03330e22429def4965237abc26f204e3b","signature":"cf3e528b3814b219e2370197c67689b02099fc6f8df0740266e61a50fa03fcbc"},"efc7d584a33fe3422847783d228f315c4cd1afe74bd7cf8e3f0e4c1125129fef","7394959e5a741b185456e1ef5d64599c36c60a323207450991e7a42e08911419","5929864ce17fba74232584d90cb721a89b7ad277220627cc97054ba15a98ea8f","7180c03fd3cb6e22f911ce9ba0f8a7008b1a6ddbe88ccf16a9c8140ef9ac1686","25c8056edf4314820382a5fdb4bb7816999acdcb929c8f75e3f39473b87e85bc","54cb85a47d760da1c13c00add10d26b5118280d44d58e6908d8e89abbd9d7725","3e4825171442666d31c845aeb47fcd34b62e14041bb353ae2b874285d78482aa","c6fd2c5a395f2432786c9cb8deb870b9b0e8ff7e22c029954fabdd692bff6195","a967bfe3ad4e62243eb604bf956101e4c740f5921277c60debaf325c1320bf88","e9775e97ac4877aebf963a0289c81abe76d1ec9a2a7778dbe637e5151f25c5f3","471e1da5a78350bc55ef8cef24eb3aca6174143c281b8b214ca2beda51f5e04a","cadc8aced301244057c4e7e73fbcae534b0f5b12a37b150d80e5a45aa4bebcbd","385aab901643aa54e1c36f5ef3107913b10d1b5bb8cbcd933d4263b80a0d7f20","9670d44354bab9d9982eca21945686b5c24a3f893db73c0dae0fd74217a4c219","db3435f3525cd785bf21ec6769bf8da7e8a776be1a99e2e7efb5f244a2ef5fee","c3b170c45fc031db31f782e612adf7314b167e60439d304b49e704010e7bafe5","40383ebef22b943d503c6ce2cb2e060282936b952a01bea5f9f493d5fb487cc7","4893a895ea92c85345017a04ed427cbd6a1710453338df26881a6019432febdd","3a84b7cb891141824bd00ef8a50b6a44596aded4075da937f180c90e362fe5f6","13f6f39e12b1518c6650bbb220c8985999020fe0f21d818e28f512b7771d00f9","9b5369969f6e7175740bf51223112ff209f94ba43ecd3bb09eefff9fd675624a","4fe9e626e7164748e8769bbf74b538e09607f07ed17c2f20af8d680ee49fc1da","24515859bc0b836719105bb6cc3d68255042a9f02a6022b3187948b204946bd2","33203609eba548914dc83ddf6cadbc0bcb6e8ef89f6d648ca0908ae887f9fcc5","0db18c6e78ea846316c012478888f33c11ffadab9efd1cc8bcc12daded7a60b6","89167d696a849fce5ca508032aabfe901c0868f833a8625d5a9c6e861ef935d2","e53a3c2a9f624d90f24bf4588aacd223e7bec1b9d0d479b68d2f4a9e6011147f","339dc5265ee5ed92e536a93a04c4ebbc2128f45eeec6ed29f379e0085283542c","9f0a92164925aa37d4a5d9dd3e0134cff8177208dba55fd2310cd74beea40ee2","8bfdb79bf1a9d435ec48d9372dc93291161f152c0865b81fc0b2694aedb4578d","2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","d32275be3546f252e3ad33976caf8c5e842c09cb87d468cb40d5f4cf092d1acc","4a0c3504813a3289f7fb1115db13967c8e004aa8e4f8a9021b95285502221bd1",{"version":"a14ed46fa3f5ffc7a8336b497cd07b45c2084213aaca933a22443fcb2eef0d07","affectsGlobalScope":true},"cce1f5f86974c1e916ec4a8cab6eec9aa8e31e8148845bf07fbaa8e1d97b1a2c",{"version":"7fd7fcbf021a5845bdd9397d4649fcf2fe17152d2098140fc723099a215d19ad","affectsGlobalScope":true},"16d74fe4d8e183344d3beb15d48b123c5980ff32ff0cc8c3b96614ddcdf9b239","7b43160a49cf2c6082da0465876c4a0b164e160b81187caeb0a6ca7a281e85ba",{"version":"41fb2a1c108fbf46609ce5a451b7ec78eb9b5ada95fd5b94643e4b26397de0b3","affectsGlobalScope":true},"a40826e8476694e90da94aa008283a7de50d1dafd37beada623863f1901cb7fb",{"version":"a1d2988ad9d2aef7b9915a22b5e52c165c83a878f2851c35621409046bbe3c05","affectsGlobalScope":true},"bd3f5d05b6b5e4bfcea7739a45f3ffb4a7f4a3442ba7baf93e0200799285b8f1","4c775c2fccabf49483c03cd5e3673f87c1ffb6079d98e7b81089c3def79e29c6","8806ae97308ef26363bd7ec8071bca4d07fb575f905ee3d8a91aff226df6d618","af5bf1db6f1804fb0069039ae77a05d60133c77a2158d9635ea27b6bb2828a8f","b7fe70be794e13d1b7940e318b8770cd1fb3eced7707805318a2e3aaac2c3e9e",{"version":"2c71199d1fc83bf17636ad5bf63a945633406b7b94887612bba4ef027c662b3e","affectsGlobalScope":true},{"version":"674168aa3db414ea0a19b2a31d901b2d49705c7a495e43ffdc96928543010f8c","affectsGlobalScope":true},"fe1fd6afdfe77976d4c702f3746c05fb05a7e566845c890e0e970fe9376d6a90","313a0b063f5188037db113509de1b934a0e286f14e9479af24fada241435e707","afb1701fd4be413a8a5a88df6befdd4510c30a31372c07a4138facf61594c66d","87ef1a23caa071b07157c72077fa42b86d30568f9dc9e31eed24d5d14fc30ba8","396a8939b5e177542bdf9b5262b4eee85d29851b2d57681fa9d7eae30e225830","21773f5ac69ddf5a05636ba1f50b5239f4f2d27e4420db147fc2f76a5ae598ac",{"version":"ea455cc68871b049bcecd9f56d4cf27b852d6dafd5e3b54468ca87cc11604e4d","affectsGlobalScope":true},"c07146dbbbd8b347241b5df250a51e48f2d7bef19b1e187b1a3f20c849988ff1","45b1053e691c5af9bfe85060a3e1542835f8d84a7e6e2e77ca305251eda0cb3c","0f05c06ff6196958d76b865ae17245b52d8fe01773626ac3c43214a2458ea7b7",{"version":"ae5507fc333d637dec9f37c6b3f4d423105421ea2820a64818de55db85214d66","affectsGlobalScope":true},{"version":"0666f4c99b8688c7be5956df8fecf5d1779d3b22f8f2a88258ae7072c7b6026f","affectsGlobalScope":true},"8abd0566d2854c4bd1c5e48e05df5c74927187f1541e6770001d9637ac41542e","54e854615c4eafbdd3fd7688bd02a3aafd0ccf0e87c98f79d3e9109f047ce6b8","d8dba11dc34d50cb4202de5effa9a1b296d7a2f4a029eec871f894bddfb6430d","8b71dd18e7e63b6f991b511a201fad7c3bf8d1e0dd98acb5e3d844f335a73634","01d8e1419c84affad359cc240b2b551fb9812b450b4d3d456b64cda8102d4f60","8221b00f271cf7f535a8eeec03b0f80f0929c7a16116e2d2df089b41066de69b","269929a24b2816343a178008ac9ae9248304d92a8ba8e233055e0ed6dbe6ef71","93452d394fdd1dc551ec62f5042366f011a00d342d36d50793b3529bfc9bd633","7424817d5eb498771e6d1808d726ec38f75d2eaf3fa359edd5c0c540c52725c1","9a9634296cca836c3308923ba7aa094fa6ed76bb1e366d8ddcf5c65888ab1024",{"version":"bddce945d552a963c9733db106b17a25474eefcab7fc990157a2134ef55d4954","affectsGlobalScope":true},{"version":"7052b7b0c3829df3b4985bab2fd74531074b4835d5a7b263b75c82f0916ad62f","affectsGlobalScope":true},"aa34c3aa493d1c699601027c441b9664547c3024f9dbab1639df7701d63d18fa","4b55240c2a03b2c71e98a7fc528b16136faa762211c92e781a01c37821915ea6","7c651f8dce91a927ab62925e73f190763574c46098f2b11fb8ddc1b147a6709a","7440ab60f4cb031812940cc38166b8bb6fbf2540cfe599f87c41c08011f0c1df",{"version":"94c086dff8dbc5998749326bc69b520e8e4273fb5b7b58b50e0210e0885dfcde","affectsGlobalScope":true},{"version":"f5b5dc128973498b75f52b1b8c2d5f8629869104899733ae485100c2309b4c12","affectsGlobalScope":true},"ebe5facd12fd7745cda5f4bc3319f91fb29dc1f96e57e9c6f8b260a7cc5b67ee","79bad8541d5779c85e82a9fb119c1fe06af77a71cc40f869d62ad379473d4b75","37dc027f781c75f0f546e329cfac7cf92a6b289f42458f47a9adc25e516b6839",{"version":"629d20681ca284d9e38c0a019f647108f5fe02f9c59ac164d56f5694fc3faf4d","affectsGlobalScope":true},"e7dbf5716d76846c7522e910896c5747b6df1abd538fee8f5291bdc843461795",{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true},"b510d0a18e3db42ac9765d26711083ec1e8b4e21caaca6dc4d25ae6e8623f447"],"root":[[58,92]],"options":{"allowSyntheticDefaultImports":true,"composite":true,"declaration":true,"module":7,"outDir":"./","rootDir":"..","skipLibCheck":true,"sourceMap":true,"strict":true,"target":9},"fileIdsList":[[59,61,65],[63,64,66,67,68,69,70,144],[59],[72],[59,71],[74],[59,61,64],[59,144,149,159],[59,61,66,67,68,70,170,175],[61],[76],[69],[77],[59,128],[58],[59,61],[60,62],[93],[128],[129,134,162],[130,141,142,149,159,170],[130,131,141,149],[132,171],[133,134,142,150],[134,159,167],[135,137,141,149],[128,136],[137,138],[141],[139,141],[128,141],[141,142,143,159,170],[141,142,143,156,159,162],[126,129,175],[137,141,144,149,159,170],[141,142,144,145,149,159,167,170],[144,146,159,167,170],[93,94,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,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177],[141,147],[148,170,175],[137,141,149,159],[150],[151],[128,152],[153,169,175],[154],[155],[141,156,157],[156,158,171,173],[129,141,159,160,161,162],[129,159,161],[159,160],[162],[163],[128,159],[141,165,166],[165,166],[134,149,159,167],[168],[149,169],[129,144,155,170],[134,171],[159,172],[148,173],[174],[129,134,141,143,152,159,170,173,175],[159,176],[103,107,170],[103,159,170],[98],[100,103,167,170],[149,167],[178],[98,178],[100,103,149,170],[95,96,99,102,129,141,159,170],[95,101],[99,103,129,162,170,178],[129,178],[119,129,178],[97,98,178],[103],[97,98,99,100,101,102,103,104,105,107,108,109,110,111,112,113,114,115,116,117,118,120,121,122,123,124,125],[103,110,111],[101,103,111,112],[102],[95,98,103],[103,107,111,112],[107],[101,103,106,170],[95,100,101,103,107,110],[129,159],[98,103,119,129,175,178],[82,83],[59,61,74,82],[59,61,84],[70],[59,61,71,86,87],[86,87,88],[88],[59,61,71],[90],[65],[71],[59,66,70],[74,82],[84],[59,71,87]],"referencedMap":[[66,1],[70,2],[67,3],[60,3],[73,4],[72,5],[75,6],[76,7],[68,8],[69,9],[77,10],[78,11],[79,12],[80,13],[61,14],[59,15],[81,16],[63,17],[93,18],[94,18],[128,19],[129,20],[130,21],[131,22],[132,23],[133,24],[134,25],[135,26],[136,27],[137,28],[138,28],[140,29],[139,30],[141,31],[142,32],[143,33],[127,34],[144,35],[145,36],[146,37],[178,38],[147,39],[148,40],[149,41],[150,42],[151,43],[152,44],[153,45],[154,46],[155,47],[156,48],[157,48],[158,49],[159,50],[161,51],[160,52],[162,53],[163,54],[164,55],[165,56],[166,57],[167,58],[168,59],[169,60],[170,61],[171,62],[172,63],[173,64],[174,65],[175,66],[176,67],[110,68],[117,69],[109,68],[124,70],[101,71],[100,72],[123,73],[118,74],[121,75],[103,76],[102,77],[98,78],[97,79],[120,80],[99,81],[104,82],[108,82],[126,83],[125,82],[112,84],[113,85],[115,86],[111,87],[114,88],[119,73],[106,89],[107,90],[116,91],[96,92],[122,93],[84,94],[83,95],[82,96],[62,10],[85,97],[88,98],[86,3],[89,99],[87,100],[90,101],[91,102]],"exportedModulesMap":[[66,103],[70,2],[67,3],[73,4],[72,104],[75,6],[68,8],[69,105],[78,11],[79,12],[80,13],[61,3],[59,15],[81,3],[63,17],[93,18],[94,18],[128,19],[129,20],[130,21],[131,22],[132,23],[133,24],[134,25],[135,26],[136,27],[137,28],[138,28],[140,29],[139,30],[141,31],[142,32],[143,33],[127,34],[144,35],[145,36],[146,37],[178,38],[147,39],[148,40],[149,41],[150,42],[151,43],[152,44],[153,45],[154,46],[155,47],[156,48],[157,48],[158,49],[159,50],[161,51],[160,52],[162,53],[163,54],[164,55],[165,56],[166,57],[167,58],[168,59],[169,60],[170,61],[171,62],[172,63],[173,64],[174,65],[175,66],[176,67],[110,68],[117,69],[109,68],[124,70],[101,71],[100,72],[123,73],[118,74],[121,75],[103,76],[102,77],[98,78],[97,79],[120,80],[99,81],[104,82],[108,82],[126,83],[125,82],[112,84],[113,85],[115,86],[111,87],[114,88],[119,73],[106,89],[107,90],[116,91],[96,92],[122,93],[84,94],[83,106],[82,107],[85,97],[88,108],[86,3],[89,99],[87,100],[90,5],[91,102]],"semanticDiagnosticsPerFile":[64,66,70,67,60,65,73,72,75,76,68,69,77,78,79,80,61,59,58,74,71,81,63,93,94,128,129,130,131,132,133,134,135,136,137,138,140,139,141,142,143,127,177,144,145,146,178,147,148,149,150,151,152,153,154,155,156,157,158,159,161,160,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,56,57,11,10,2,12,13,14,15,16,17,18,19,3,4,20,24,21,22,23,25,26,27,5,28,29,30,31,6,35,32,33,34,36,7,37,42,43,38,39,40,41,8,47,44,45,46,48,9,49,50,51,54,52,53,1,55,110,117,109,124,101,100,123,118,121,103,102,98,97,120,99,104,105,108,95,126,125,112,113,115,111,114,119,106,107,116,96,122,84,83,82,62,85,88,86,89,87,90,91,92],"latestChangedDtsFile":"./validate/mod.d.ts"},"version":"5.3.3"}
@@ -47,6 +47,7 @@ interface EndpointOptions {
47
47
  auth: boolean;
48
48
  isRaw: boolean;
49
49
  isStream: boolean;
50
+ tags: string[];
50
51
  }
51
52
 
52
53
  export interface InternalHandlerResponse {
@@ -91,42 +92,19 @@ function calculateMiddlewareChain(
91
92
  endpointOptions: EndpointOptions,
92
93
  ms: Middleware[]
93
94
  ): Middleware[] {
94
- let middlewares = [];
95
-
96
- for (const m of ms) {
97
- if (m.options === undefined || m.options.target === undefined) {
98
- middlewares.push(m);
99
- } else {
100
- const target = m.options.target;
101
- // check if options are set and if they match the endpoint options
102
- if (target.auth !== undefined && target.auth !== endpointOptions.auth) {
103
- continue;
104
- }
105
-
106
- if (
107
- target.expose !== undefined &&
108
- target.expose !== endpointOptions.expose
109
- ) {
110
- continue;
111
- }
112
-
113
- if (
114
- target.isRaw !== undefined &&
115
- target.isRaw !== endpointOptions.isRaw
116
- ) {
117
- continue;
118
- }
119
-
120
- if (
121
- target.isStream !== undefined &&
122
- target.isStream !== endpointOptions.isStream
123
- ) {
124
- continue;
125
- }
126
-
127
- middlewares.push(m);
128
- }
129
- }
95
+ const middlewares = ms.filter((m) => {
96
+ const target = m.options?.target;
97
+ if (!target) return true;
98
+ const { auth, expose, isRaw, isStream, tags } = target;
99
+ return (
100
+ (auth === undefined || auth === endpointOptions.auth) &&
101
+ (expose === undefined || expose === endpointOptions.expose) &&
102
+ (isRaw === undefined || isRaw === endpointOptions.isRaw) &&
103
+ (isStream === undefined || isStream === endpointOptions.isStream) &&
104
+ (tags === undefined ||
105
+ tags.some((tag) => endpointOptions.tags.includes(tag)))
106
+ );
107
+ });
130
108
 
131
109
  return middlewares;
132
110
  }
@@ -1,5 +1,5 @@
1
1
  // The version of the runtime this JS bundle was generated for.
2
- const version = "v1.45.7";
2
+ const version = "v1.46.0";
3
3
 
4
4
  // Load the native module.
5
5
  const nativeModulePath = process.env.ENCORE_RUNTIME_LIB;
@@ -61,6 +61,8 @@ export class BucketObject {
61
61
  attrs(options?: AttrsOptions | undefined | null, source?: Request | undefined | null): Promise<ObjectAttrs | TypedObjectError>
62
62
  exists(options?: ExistsOptions | undefined | null, source?: Request | undefined | null): Promise<boolean | TypedObjectError>
63
63
  upload(data: Buffer, opts?: UploadOptions | undefined | null, source?: Request | undefined | null): Promise<ObjectAttrs | TypedObjectError>
64
+ signedUploadUrl(options?: UploadUrlOptions | undefined | null, source?: Request | undefined | null): Promise<SignedUploadUrl | TypedObjectError>
65
+ signedDownloadUrl(options?: DownloadUrlOptions | undefined | null, source?: Request | undefined | null): Promise<SignedDownloadUrl | TypedObjectError>
64
66
  downloadAll(options?: DownloadOptions | undefined | null, source?: Request | undefined | null): Promise<Buffer | TypedObjectError>
65
67
  delete(options?: DeleteOptions | undefined | null, source?: Request | undefined | null): Promise<TypedObjectError | null>
66
68
  publicUrl(): string
@@ -96,6 +98,10 @@ export interface DownloadOptions {
96
98
  version?: string
97
99
  }
98
100
 
101
+ export interface DownloadUrlOptions {
102
+ ttl?: number
103
+ }
104
+
99
105
  export interface EnvironmentMeta {
100
106
  name: string
101
107
  type: EnvironmentType
@@ -167,8 +173,9 @@ export class ObjectAttrs {
167
173
  export enum ObjectErrorKind {
168
174
  NotFound = 0,
169
175
  PreconditionFailed = 1,
170
- Other = 2,
171
- Internal = 3
176
+ InvalidArgument = 2,
177
+ Other = 3,
178
+ Internal = 4
172
179
  }
173
180
 
174
181
  export interface PubSubMessageData {
@@ -260,6 +267,14 @@ export class Secret {
260
267
  cached(): string
261
268
  }
262
269
 
270
+ export interface SignedDownloadUrl {
271
+ url: string
272
+ }
273
+
274
+ export interface SignedUploadUrl {
275
+ url: string
276
+ }
277
+
263
278
  export class Sink {
264
279
  send(msg: PVals): void
265
280
  close(): void
@@ -313,6 +328,10 @@ export interface UploadPreconditions {
313
328
  notExists?: boolean
314
329
  }
315
330
 
331
+ export interface UploadUrlOptions {
332
+ ttl?: number
333
+ }
334
+
316
335
  export class WebSocketClient {
317
336
  send(msg: unknown): void
318
337
  recv(): Promise<Record<string, any>>
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "encore.dev",
3
3
  "description": "Encore's JavaScript/TypeScript SDK",
4
- "version": "1.45.7",
4
+ "version": "1.46.0",
5
5
  "license": "MPL-2.0",
6
6
  "bugs": {
7
7
  "url": "https://github.com/encoredev/encore/issues"
@@ -2,7 +2,7 @@ import { getCurrentRequest } from "../../internal/reqtrack/mod";
2
2
  import * as runtime from "../../internal/runtime/mod";
3
3
  import { StringLiteral } from "../../internal/utils/constraints";
4
4
  import { unwrapErr } from "./error";
5
- import { BucketPerms, Uploader, Downloader, Attrser, Lister, Remover, PublicUrler } from "./refs";
5
+ import { BucketPerms, Uploader, SignedUploader, Downloader, SignedDownloader, Attrser, Lister, Remover, PublicUrler } from "./refs";
6
6
 
7
7
  export interface BucketConfig {
8
8
  /**
@@ -21,7 +21,7 @@ export interface BucketConfig {
21
21
  /**
22
22
  * Defines a new Object Storage bucket infrastructure resource.
23
23
  */
24
- export class Bucket extends BucketPerms implements Uploader, Downloader, Attrser, Lister, Remover, PublicUrler {
24
+ export class Bucket extends BucketPerms implements Uploader, SignedUploader, Downloader, SignedDownloader, Attrser, Lister, Remover, PublicUrler {
25
25
  impl: runtime.Bucket;
26
26
 
27
27
  /**
@@ -86,6 +86,32 @@ export class Bucket extends BucketPerms implements Uploader, Downloader, Attrser
86
86
  return unwrapErr(res);
87
87
  }
88
88
 
89
+ /**
90
+ * Generate an external URL to allow uploading an object to the bucket.
91
+ *
92
+ * Anyone with possession of the URL can write to the given object name
93
+ * without any additional auth.
94
+ */
95
+ async signedUploadUrl(name: string, options?: UploadUrlOptions): Promise<SignedUploadUrl> {
96
+ const source = getCurrentRequest();
97
+ const impl = this.impl.object(name);
98
+ const res = await impl.signedUploadUrl(options, source);
99
+ return unwrapErr(res);
100
+ }
101
+
102
+ /**
103
+ * Generate an external URL to allow downloading an object from the bucket.
104
+ *
105
+ * Anyone with possession of the URL can download the given object without
106
+ * any additional auth.
107
+ */
108
+ async signedDownloadUrl(name: string, options?: DownloadUrlOptions): Promise<SignedDownloadUrl> {
109
+ const source = getCurrentRequest();
110
+ const impl = this.impl.object(name);
111
+ const res = await impl.signedDownloadUrl(options, source);
112
+ return unwrapErr(res);
113
+ }
114
+
89
115
  /**
90
116
  * Downloads an object from the bucket and returns its contents.
91
117
  */
@@ -193,5 +219,27 @@ export interface UploadOptions {
193
219
  contentType?: string;
194
220
  preconditions?: {
195
221
  notExists?: boolean;
196
- },
222
+ }
223
+ }
224
+
225
+ export interface UploadUrlOptions {
226
+ /** The expiration time of the url, in seconds from signing. The maximum
227
+ * value is seven days. If no value is given, a default of one hour is
228
+ * used. */
229
+ ttl?: number;
230
+ }
231
+
232
+ export interface SignedUploadUrl {
233
+ url: string;
234
+ }
235
+
236
+ export interface DownloadUrlOptions {
237
+ /** The expiration time of the url, in seconds from signing. The maximum
238
+ * value is seven days. If no value is given, a default of one hour is
239
+ * used. */
240
+ ttl?: number;
241
+ }
242
+
243
+ export interface SignedDownloadUrl {
244
+ url: string;
197
245
  }
@@ -57,6 +57,25 @@ export class PreconditionFailed extends ObjectsError {
57
57
  }
58
58
  }
59
59
 
60
+ export class InvalidArgument extends ObjectsError {
61
+ constructor(msg: string) {
62
+ // extending errors causes issues after you construct them, unless you apply the following fixes
63
+ super(msg);
64
+
65
+ // set error name as constructor name, make it not enumerable to keep native Error behavior
66
+ // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/new.target#new.target_in_constructors
67
+ Object.defineProperty(this, "name", {
68
+ value: "InvalidArgument",
69
+ enumerable: false,
70
+ configurable: true
71
+ });
72
+
73
+ // Fix the prototype chain, capture stack trace.
74
+ Object.setPrototypeOf(this, InvalidArgument.prototype);
75
+ Error.captureStackTrace(this, this.constructor);
76
+ }
77
+ }
78
+
60
79
  export function unwrapErr<T>(val: T | runtime.TypedObjectError): T {
61
80
  if (val instanceof runtime.TypedObjectError) {
62
81
  switch (val.kind) {
@@ -64,6 +83,8 @@ export function unwrapErr<T>(val: T | runtime.TypedObjectError): T {
64
83
  throw new ObjectNotFound(val.message);
65
84
  case runtime.ObjectErrorKind.PreconditionFailed:
66
85
  throw new PreconditionFailed(val.message);
86
+ case runtime.ObjectErrorKind.InvalidArgument:
87
+ throw new InvalidArgument(val.message);
67
88
  default:
68
89
  throw new ObjectsError(val.message);
69
90
  }
@@ -1,4 +1,4 @@
1
1
  export { Bucket } from "./bucket";
2
2
  export type { BucketConfig, ObjectAttrs, UploadOptions } from "./bucket";
3
3
  export { ObjectsError, ObjectNotFound, PreconditionFailed } from "./error";
4
- export type { BucketPerms, Uploader, Downloader, Attrser, Lister, ReadWriter, PublicUrler } from "./refs";
4
+ export type { BucketPerms, Uploader, SignedUploader, Downloader, SignedDownloader, Attrser, Lister, ReadWriter, PublicUrler } from "./refs";
@@ -1,4 +1,5 @@
1
- import type { AttrsOptions, DeleteOptions, DownloadOptions, ExistsOptions, ListEntry, ListOptions, ObjectAttrs, UploadOptions } from "./bucket";
1
+ import type { AttrsOptions, DeleteOptions, DownloadOptions, DownloadUrlOptions, ExistsOptions, ListEntry,
2
+ ListOptions, ObjectAttrs, SignedDownloadUrl, SignedUploadUrl, UploadOptions, UploadUrlOptions} from "./bucket";
2
3
 
3
4
  export abstract class BucketPerms {
4
5
  private bucketPerms(): void { };
@@ -8,10 +9,18 @@ export abstract class Uploader extends BucketPerms {
8
9
  abstract upload(name: string, data: Buffer, options?: UploadOptions): Promise<ObjectAttrs>;
9
10
  }
10
11
 
12
+ export abstract class SignedUploader extends BucketPerms {
13
+ abstract signedUploadUrl(name: string, options?: UploadUrlOptions): Promise<SignedUploadUrl>;
14
+ }
15
+
11
16
  export abstract class Downloader extends BucketPerms {
12
17
  abstract download(name: string, options?: DownloadOptions): Promise<Buffer>;
13
18
  }
14
19
 
20
+ export abstract class SignedDownloader extends BucketPerms {
21
+ abstract signedDownloadUrl(name: string, options?: DownloadUrlOptions): Promise<SignedDownloadUrl>;
22
+ }
23
+
15
24
  export abstract class Attrser extends BucketPerms {
16
25
  abstract attrs(name: string, options?: AttrsOptions): Promise<ObjectAttrs>;
17
26
  abstract exists(name: string, options?: ExistsOptions): Promise<boolean>;
@@ -31,7 +40,9 @@ export abstract class PublicUrler extends BucketPerms {
31
40
 
32
41
  export type ReadWriter =
33
42
  & Uploader
43
+ & SignedUploader
34
44
  & Downloader
45
+ & SignedDownloader
35
46
  & Attrser
36
47
  & Lister
37
48
  & Remover;