firebase-admin 13.0.2 → 13.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (216) hide show
  1. package/lib/app/core.d.ts +1 -1
  2. package/lib/app/core.js +1 -1
  3. package/lib/app/credential-factory.d.ts +1 -1
  4. package/lib/app/credential-factory.js +1 -1
  5. package/lib/app/credential-internal.d.ts +1 -1
  6. package/lib/app/credential-internal.js +1 -1
  7. package/lib/app/credential.d.ts +1 -1
  8. package/lib/app/credential.js +1 -1
  9. package/lib/app/firebase-app.d.ts +1 -1
  10. package/lib/app/firebase-app.js +1 -1
  11. package/lib/app/firebase-namespace.d.ts +1 -1
  12. package/lib/app/firebase-namespace.js +1 -1
  13. package/lib/app/index.d.ts +1 -1
  14. package/lib/app/index.js +1 -1
  15. package/lib/app/lifecycle.d.ts +1 -1
  16. package/lib/app/lifecycle.js +1 -1
  17. package/lib/app-check/app-check-api-client-internal.d.ts +1 -1
  18. package/lib/app-check/app-check-api-client-internal.js +1 -1
  19. package/lib/app-check/app-check-api.d.ts +1 -1
  20. package/lib/app-check/app-check-api.js +1 -1
  21. package/lib/app-check/app-check-namespace.d.ts +1 -1
  22. package/lib/app-check/app-check-namespace.js +1 -1
  23. package/lib/app-check/app-check.d.ts +1 -1
  24. package/lib/app-check/app-check.js +1 -1
  25. package/lib/app-check/index.d.ts +1 -1
  26. package/lib/app-check/index.js +1 -1
  27. package/lib/app-check/token-generator.d.ts +1 -1
  28. package/lib/app-check/token-generator.js +1 -1
  29. package/lib/app-check/token-verifier.d.ts +1 -1
  30. package/lib/app-check/token-verifier.js +1 -1
  31. package/lib/auth/action-code-settings-builder.d.ts +10 -1
  32. package/lib/auth/action-code-settings-builder.js +7 -1
  33. package/lib/auth/auth-api-request.d.ts +1 -1
  34. package/lib/auth/auth-api-request.js +1 -1
  35. package/lib/auth/auth-config.d.ts +15 -1
  36. package/lib/auth/auth-config.js +28 -2
  37. package/lib/auth/auth-namespace.d.ts +1 -1
  38. package/lib/auth/auth-namespace.js +1 -1
  39. package/lib/auth/auth.d.ts +1 -1
  40. package/lib/auth/auth.js +1 -1
  41. package/lib/auth/base-auth.d.ts +4 -4
  42. package/lib/auth/base-auth.js +4 -4
  43. package/lib/auth/identifier.d.ts +1 -1
  44. package/lib/auth/identifier.js +1 -1
  45. package/lib/auth/index.d.ts +2 -2
  46. package/lib/auth/index.js +1 -1
  47. package/lib/auth/project-config-manager.d.ts +1 -1
  48. package/lib/auth/project-config-manager.js +1 -1
  49. package/lib/auth/project-config.d.ts +12 -2
  50. package/lib/auth/project-config.js +16 -1
  51. package/lib/auth/tenant-manager.d.ts +1 -1
  52. package/lib/auth/tenant-manager.js +1 -1
  53. package/lib/auth/tenant.d.ts +1 -1
  54. package/lib/auth/tenant.js +1 -1
  55. package/lib/auth/token-generator.d.ts +1 -1
  56. package/lib/auth/token-generator.js +1 -1
  57. package/lib/auth/token-verifier.d.ts +1 -1
  58. package/lib/auth/token-verifier.js +1 -1
  59. package/lib/auth/user-import-builder.d.ts +1 -1
  60. package/lib/auth/user-import-builder.js +1 -1
  61. package/lib/auth/user-record.d.ts +1 -1
  62. package/lib/auth/user-record.js +1 -1
  63. package/lib/credential/index.d.ts +1 -1
  64. package/lib/credential/index.js +1 -1
  65. package/lib/data-connect/data-connect-api-client-internal.d.ts +6 -1
  66. package/lib/data-connect/data-connect-api-client-internal.js +44 -11
  67. package/lib/data-connect/data-connect-api.d.ts +44 -1
  68. package/lib/data-connect/data-connect-api.js +1 -1
  69. package/lib/data-connect/data-connect.d.ts +1 -1
  70. package/lib/data-connect/data-connect.js +1 -1
  71. package/lib/data-connect/index.d.ts +2 -2
  72. package/lib/data-connect/index.js +1 -1
  73. package/lib/database/database-namespace.d.ts +1 -1
  74. package/lib/database/database-namespace.js +1 -1
  75. package/lib/database/database.d.ts +1 -1
  76. package/lib/database/database.js +1 -1
  77. package/lib/database/index.d.ts +1 -1
  78. package/lib/database/index.js +1 -1
  79. package/lib/default-namespace.d.ts +1 -1
  80. package/lib/default-namespace.js +1 -1
  81. package/lib/esm/remote-config/index.js +1 -0
  82. package/lib/eventarc/cloudevent.d.ts +1 -1
  83. package/lib/eventarc/cloudevent.js +1 -1
  84. package/lib/eventarc/eventarc-client-internal.d.ts +1 -1
  85. package/lib/eventarc/eventarc-client-internal.js +1 -1
  86. package/lib/eventarc/eventarc-utils.d.ts +1 -1
  87. package/lib/eventarc/eventarc-utils.js +1 -1
  88. package/lib/eventarc/eventarc.d.ts +1 -1
  89. package/lib/eventarc/eventarc.js +1 -1
  90. package/lib/eventarc/index.d.ts +1 -1
  91. package/lib/eventarc/index.js +1 -1
  92. package/lib/extensions/extensions-api-client-internal.d.ts +1 -1
  93. package/lib/extensions/extensions-api-client-internal.js +1 -1
  94. package/lib/extensions/extensions-api.d.ts +1 -1
  95. package/lib/extensions/extensions-api.js +1 -1
  96. package/lib/extensions/extensions.d.ts +1 -1
  97. package/lib/extensions/extensions.js +1 -1
  98. package/lib/extensions/index.d.ts +1 -1
  99. package/lib/extensions/index.js +1 -1
  100. package/lib/firebase-namespace-api.d.ts +1 -1
  101. package/lib/firebase-namespace-api.js +1 -1
  102. package/lib/firestore/firestore-internal.d.ts +1 -1
  103. package/lib/firestore/firestore-internal.js +1 -1
  104. package/lib/firestore/firestore-namespace.d.ts +1 -1
  105. package/lib/firestore/firestore-namespace.js +1 -1
  106. package/lib/firestore/index.d.ts +1 -1
  107. package/lib/firestore/index.js +1 -1
  108. package/lib/functions/functions-api-client-internal.d.ts +1 -1
  109. package/lib/functions/functions-api-client-internal.js +14 -2
  110. package/lib/functions/functions-api.d.ts +1 -1
  111. package/lib/functions/functions-api.js +1 -1
  112. package/lib/functions/functions.d.ts +1 -1
  113. package/lib/functions/functions.js +1 -1
  114. package/lib/functions/index.d.ts +1 -1
  115. package/lib/functions/index.js +1 -1
  116. package/lib/index.d.ts +1 -1
  117. package/lib/index.js +1 -1
  118. package/lib/installations/index.d.ts +1 -1
  119. package/lib/installations/index.js +1 -1
  120. package/lib/installations/installations-namespace.d.ts +1 -1
  121. package/lib/installations/installations-namespace.js +1 -1
  122. package/lib/installations/installations-request-handler.d.ts +1 -1
  123. package/lib/installations/installations-request-handler.js +1 -1
  124. package/lib/installations/installations.d.ts +1 -1
  125. package/lib/installations/installations.js +1 -1
  126. package/lib/instance-id/index.d.ts +1 -1
  127. package/lib/instance-id/index.js +1 -1
  128. package/lib/instance-id/instance-id-namespace.d.ts +1 -1
  129. package/lib/instance-id/instance-id-namespace.js +1 -1
  130. package/lib/instance-id/instance-id.d.ts +1 -1
  131. package/lib/instance-id/instance-id.js +1 -1
  132. package/lib/machine-learning/index.d.ts +1 -1
  133. package/lib/machine-learning/index.js +1 -1
  134. package/lib/machine-learning/machine-learning-api-client.d.ts +1 -1
  135. package/lib/machine-learning/machine-learning-api-client.js +1 -1
  136. package/lib/machine-learning/machine-learning-namespace.d.ts +1 -1
  137. package/lib/machine-learning/machine-learning-namespace.js +1 -1
  138. package/lib/machine-learning/machine-learning-utils.d.ts +1 -1
  139. package/lib/machine-learning/machine-learning-utils.js +1 -1
  140. package/lib/machine-learning/machine-learning.d.ts +1 -1
  141. package/lib/machine-learning/machine-learning.js +1 -1
  142. package/lib/messaging/index.d.ts +1 -1
  143. package/lib/messaging/index.js +1 -1
  144. package/lib/messaging/messaging-api-request-internal.d.ts +1 -1
  145. package/lib/messaging/messaging-api-request-internal.js +1 -1
  146. package/lib/messaging/messaging-api.d.ts +1 -1
  147. package/lib/messaging/messaging-api.js +1 -1
  148. package/lib/messaging/messaging-errors-internal.d.ts +1 -1
  149. package/lib/messaging/messaging-errors-internal.js +1 -1
  150. package/lib/messaging/messaging-internal.d.ts +1 -1
  151. package/lib/messaging/messaging-internal.js +1 -1
  152. package/lib/messaging/messaging-namespace.d.ts +1 -1
  153. package/lib/messaging/messaging-namespace.js +1 -1
  154. package/lib/messaging/messaging.d.ts +1 -1
  155. package/lib/messaging/messaging.js +1 -1
  156. package/lib/project-management/android-app.d.ts +1 -1
  157. package/lib/project-management/android-app.js +1 -1
  158. package/lib/project-management/app-metadata.d.ts +1 -1
  159. package/lib/project-management/app-metadata.js +1 -1
  160. package/lib/project-management/index.d.ts +1 -1
  161. package/lib/project-management/index.js +1 -1
  162. package/lib/project-management/ios-app.d.ts +1 -1
  163. package/lib/project-management/ios-app.js +1 -1
  164. package/lib/project-management/project-management-api-request-internal.d.ts +1 -1
  165. package/lib/project-management/project-management-api-request-internal.js +1 -1
  166. package/lib/project-management/project-management-namespace.d.ts +1 -1
  167. package/lib/project-management/project-management-namespace.js +1 -1
  168. package/lib/project-management/project-management.d.ts +1 -1
  169. package/lib/project-management/project-management.js +1 -1
  170. package/lib/remote-config/condition-evaluator-internal.d.ts +1 -1
  171. package/lib/remote-config/condition-evaluator-internal.js +6 -5
  172. package/lib/remote-config/index.d.ts +3 -3
  173. package/lib/remote-config/index.js +3 -2
  174. package/lib/remote-config/internal/value-impl.d.ts +1 -1
  175. package/lib/remote-config/internal/value-impl.js +1 -1
  176. package/lib/remote-config/remote-config-api-client-internal.d.ts +1 -1
  177. package/lib/remote-config/remote-config-api-client-internal.js +1 -1
  178. package/lib/remote-config/remote-config-api.d.ts +35 -1
  179. package/lib/remote-config/remote-config-api.js +1 -1
  180. package/lib/remote-config/remote-config-namespace.d.ts +1 -1
  181. package/lib/remote-config/remote-config-namespace.js +1 -1
  182. package/lib/remote-config/remote-config.d.ts +20 -2
  183. package/lib/remote-config/remote-config.js +59 -2
  184. package/lib/security-rules/index.d.ts +1 -1
  185. package/lib/security-rules/index.js +1 -1
  186. package/lib/security-rules/security-rules-api-client-internal.d.ts +1 -1
  187. package/lib/security-rules/security-rules-api-client-internal.js +1 -1
  188. package/lib/security-rules/security-rules-internal.d.ts +1 -1
  189. package/lib/security-rules/security-rules-internal.js +1 -1
  190. package/lib/security-rules/security-rules-namespace.d.ts +1 -1
  191. package/lib/security-rules/security-rules-namespace.js +1 -1
  192. package/lib/security-rules/security-rules.d.ts +1 -1
  193. package/lib/security-rules/security-rules.js +1 -1
  194. package/lib/storage/index.d.ts +1 -1
  195. package/lib/storage/index.js +1 -1
  196. package/lib/storage/storage-namespace.d.ts +1 -1
  197. package/lib/storage/storage-namespace.js +1 -1
  198. package/lib/storage/storage.d.ts +1 -1
  199. package/lib/storage/storage.js +1 -1
  200. package/lib/storage/utils.d.ts +1 -1
  201. package/lib/storage/utils.js +1 -1
  202. package/lib/utils/api-request.d.ts +1 -1
  203. package/lib/utils/api-request.js +1 -1
  204. package/lib/utils/crypto-signer.d.ts +1 -1
  205. package/lib/utils/crypto-signer.js +1 -1
  206. package/lib/utils/deep-copy.d.ts +1 -1
  207. package/lib/utils/deep-copy.js +1 -1
  208. package/lib/utils/error.d.ts +5 -1
  209. package/lib/utils/error.js +8 -1
  210. package/lib/utils/index.d.ts +1 -1
  211. package/lib/utils/index.js +1 -1
  212. package/lib/utils/jwt.d.ts +1 -1
  213. package/lib/utils/jwt.js +1 -1
  214. package/lib/utils/validator.d.ts +1 -1
  215. package/lib/utils/validator.js +1 -1
  216. package/package.json +1 -1
@@ -1,4 +1,4 @@
1
- /*! firebase-admin v13.0.2 */
1
+ /*! firebase-admin v13.2.0 */
2
2
  /*!
3
3
  * @license
4
4
  * Copyright 2017 Google Inc.
@@ -1,4 +1,4 @@
1
- /*! firebase-admin v13.0.2 */
1
+ /*! firebase-admin v13.2.0 */
2
2
  "use strict";
3
3
  /*!
4
4
  * @license
@@ -1,4 +1,4 @@
1
- /*! firebase-admin v13.0.2 */
1
+ /*! firebase-admin v13.2.0 */
2
2
  /*!
3
3
  * Copyright 2018 Google Inc.
4
4
  *
@@ -1,4 +1,4 @@
1
- /*! firebase-admin v13.0.2 */
1
+ /*! firebase-admin v13.2.0 */
2
2
  "use strict";
3
3
  /*!
4
4
  * Copyright 2018 Google Inc.
@@ -1,4 +1,4 @@
1
- /*! firebase-admin v13.0.2 */
1
+ /*! firebase-admin v13.2.0 */
2
2
  /*!
3
3
  * Copyright 2018 Google Inc.
4
4
  *
@@ -1,4 +1,4 @@
1
- /*! firebase-admin v13.0.2 */
1
+ /*! firebase-admin v13.2.0 */
2
2
  "use strict";
3
3
  /*!
4
4
  * Copyright 2018 Google Inc.
@@ -1,4 +1,4 @@
1
- /*! firebase-admin v13.0.2 */
1
+ /*! firebase-admin v13.2.0 */
2
2
  /*!
3
3
  * @license
4
4
  * Copyright 2017 Google Inc.
@@ -1,4 +1,4 @@
1
- /*! firebase-admin v13.0.2 */
1
+ /*! firebase-admin v13.2.0 */
2
2
  "use strict";
3
3
  /*!
4
4
  * @license
@@ -1,4 +1,4 @@
1
- /*! firebase-admin v13.0.2 */
1
+ /*! firebase-admin v13.2.0 */
2
2
  /*!
3
3
  * Copyright 2020 Google Inc.
4
4
  *
@@ -1,4 +1,4 @@
1
- /*! firebase-admin v13.0.2 */
1
+ /*! firebase-admin v13.2.0 */
2
2
  "use strict";
3
3
  /*!
4
4
  * Copyright 2020 Google Inc.
@@ -1,4 +1,4 @@
1
- /*! firebase-admin v13.0.2 */
1
+ /*! firebase-admin v13.2.0 */
2
2
  /*!
3
3
  * @license
4
4
  * Copyright 2024 Google Inc.
@@ -16,6 +16,11 @@
16
16
  * limitations under the License.
17
17
  */
18
18
  import { PrefixedFirebaseError } from '../utils/error';
19
+ /**
20
+ * When true the SDK should communicate with the Data Connect Emulator for all API
21
+ * calls and also produce unsigned tokens.
22
+ */
23
+ export declare function useEmulator(): boolean;
19
24
  export declare const DATA_CONNECT_ERROR_CODE_MAPPING: {
20
25
  [key: string]: DataConnectErrorCode;
21
26
  };
@@ -1,4 +1,4 @@
1
- /*! firebase-admin v13.0.2 */
1
+ /*! firebase-admin v13.2.0 */
2
2
  "use strict";
3
3
  /*!
4
4
  * @license
@@ -18,13 +18,16 @@
18
18
  */
19
19
  Object.defineProperty(exports, "__esModule", { value: true });
20
20
  exports.FirebaseDataConnectError = exports.DATA_CONNECT_ERROR_CODE_MAPPING = exports.DataConnectApiClient = void 0;
21
+ exports.useEmulator = useEmulator;
21
22
  const api_request_1 = require("../utils/api-request");
22
23
  const error_1 = require("../utils/error");
23
24
  const utils = require("../utils/index");
24
25
  const validator = require("../utils/validator");
25
- // Data Connect backend constants
26
- const DATA_CONNECT_HOST = 'https://firebasedataconnect.googleapis.com';
27
- const DATA_CONNECT_API_URL_FORMAT = '{host}/v1alpha/projects/{projectId}/locations/{locationId}/services/{serviceId}:{endpointId}';
26
+ const API_VERSION = 'v1alpha';
27
+ /** The Firebase Data Connect backend base URL format. */
28
+ const FIREBASE_DATA_CONNECT_BASE_URL_FORMAT = 'https://firebasedataconnect.googleapis.com/{version}/projects/{projectId}/locations/{locationId}/services/{serviceId}:{endpointId}';
29
+ /** Firebase Data Connect base URl format when using the Data Connect emultor. */
30
+ const FIREBASE_DATA_CONNECT_EMULATOR_BASE_URL_FORMAT = 'http://{host}/{version}/projects/{projectId}/locations/{locationId}/services/{serviceId}:{endpointId}';
28
31
  const EXECUTE_GRAPH_QL_ENDPOINT = 'executeGraphql';
29
32
  const EXECUTE_GRAPH_QL_READ_ENDPOINT = 'executeGraphqlRead';
30
33
  const DATA_CONNECT_CONFIG_HEADERS = {
@@ -42,7 +45,7 @@ class DataConnectApiClient {
42
45
  if (!validator.isNonNullObject(app) || !('options' in app)) {
43
46
  throw new FirebaseDataConnectError(exports.DATA_CONNECT_ERROR_CODE_MAPPING.INVALID_ARGUMENT, 'First argument passed to getDataConnect() must be a valid Firebase app instance.');
44
47
  }
45
- this.httpClient = new api_request_1.AuthorizedHttpClient(app);
48
+ this.httpClient = new DataConnectHttpClient(app);
46
49
  }
47
50
  /**
48
51
  * Execute arbitrary GraphQL, including both read and write queries
@@ -74,13 +77,13 @@ class DataConnectApiClient {
74
77
  throw new FirebaseDataConnectError(exports.DATA_CONNECT_ERROR_CODE_MAPPING.INVALID_ARGUMENT, 'GraphqlOptions must be a non-null object');
75
78
  }
76
79
  }
77
- const host = (process.env.DATA_CONNECT_EMULATOR_HOST || DATA_CONNECT_HOST);
78
80
  const data = {
79
81
  query,
80
82
  ...(options?.variables && { variables: options?.variables }),
81
83
  ...(options?.operationName && { operationName: options?.operationName }),
84
+ ...(options?.impersonate && { extensions: { impersonate: options?.impersonate } }),
82
85
  };
83
- return this.getUrl(host, this.connectorConfig.location, this.connectorConfig.serviceId, endpoint)
86
+ return this.getUrl(API_VERSION, this.connectorConfig.location, this.connectorConfig.serviceId, endpoint)
84
87
  .then(async (url) => {
85
88
  const request = {
86
89
  method: 'POST',
@@ -104,18 +107,26 @@ class DataConnectApiClient {
104
107
  throw this.toFirebaseError(err);
105
108
  });
106
109
  }
107
- async getUrl(host, locationId, serviceId, endpointId) {
110
+ async getUrl(version, locationId, serviceId, endpointId) {
108
111
  return this.getProjectId()
109
112
  .then((projectId) => {
110
113
  const urlParams = {
111
- host,
114
+ version,
112
115
  projectId,
113
116
  locationId,
114
117
  serviceId,
115
118
  endpointId
116
119
  };
117
- const baseUrl = utils.formatString(DATA_CONNECT_API_URL_FORMAT, urlParams);
118
- return utils.formatString(baseUrl);
120
+ let urlFormat;
121
+ if (useEmulator()) {
122
+ urlFormat = utils.formatString(FIREBASE_DATA_CONNECT_EMULATOR_BASE_URL_FORMAT, {
123
+ host: emulatorHost()
124
+ });
125
+ }
126
+ else {
127
+ urlFormat = FIREBASE_DATA_CONNECT_BASE_URL_FORMAT;
128
+ }
129
+ return utils.formatString(urlFormat, urlParams);
119
130
  });
120
131
  }
121
132
  getProjectId() {
@@ -151,6 +162,28 @@ class DataConnectApiClient {
151
162
  }
152
163
  }
153
164
  exports.DataConnectApiClient = DataConnectApiClient;
165
+ /**
166
+ * Data Connect-specific HTTP client which uses the special "owner" token
167
+ * when communicating with the Data Connect Emulator.
168
+ */
169
+ class DataConnectHttpClient extends api_request_1.AuthorizedHttpClient {
170
+ getToken() {
171
+ if (useEmulator()) {
172
+ return Promise.resolve('owner');
173
+ }
174
+ return super.getToken();
175
+ }
176
+ }
177
+ function emulatorHost() {
178
+ return process.env.DATA_CONNECT_EMULATOR_HOST;
179
+ }
180
+ /**
181
+ * When true the SDK should communicate with the Data Connect Emulator for all API
182
+ * calls and also produce unsigned tokens.
183
+ */
184
+ function useEmulator() {
185
+ return !!emulatorHost();
186
+ }
154
187
  exports.DATA_CONNECT_ERROR_CODE_MAPPING = {
155
188
  ABORTED: 'aborted',
156
189
  INVALID_ARGUMENT: 'invalid-argument',
@@ -1,4 +1,4 @@
1
- /*! firebase-admin v13.0.2 */
1
+ /*! firebase-admin v13.2.0 */
2
2
  /*!
3
3
  * @license
4
4
  * Copyright 2024 Google Inc.
@@ -15,6 +15,7 @@
15
15
  * See the License for the specific language governing permissions and
16
16
  * limitations under the License.
17
17
  */
18
+ import { DecodedIdToken } from '../auth/token-verifier';
18
19
  /**
19
20
  * Interface representing a Data Connect connector configuration.
20
21
  */
@@ -49,4 +50,46 @@ export interface GraphqlOptions<Variables> {
49
50
  * The name of the GraphQL operation. Required only if `query` contains multiple operations.
50
51
  */
51
52
  operationName?: string;
53
+ /**
54
+ * If set, impersonate a request with given Firebase Auth context and evaluate the auth
55
+ * policies on the operation. If omitted, bypass any defined auth policies.
56
+ */
57
+ impersonate?: ImpersonateAuthenticated | ImpersonateUnauthenticated;
58
+ }
59
+ /**
60
+ * Type representing the partial claims of a Firebase Auth token used to evaluate the
61
+ * Data Connect auth policy.
62
+ */
63
+ export type AuthClaims = Partial<DecodedIdToken>;
64
+ /**
65
+ * Interface representing the impersonation of an authenticated user.
66
+ */
67
+ export interface ImpersonateAuthenticated {
68
+ /**
69
+ * Evaluate the auth policy with a customized JWT auth token. Should follow the Firebase Auth token format.
70
+ * https://firebase.google.com/docs/data-connect/cel-reference#auth-token-contents
71
+ *
72
+ * @example A verified user may have the following `authClaims`:
73
+ * ```json
74
+ * { "sub": "uid", "email_verified": true }
75
+ * ```
76
+ */
77
+ authClaims: AuthClaims;
78
+ /**
79
+ * Both `authClaims` and `unauthenticated` are mutually exclusive fields and should not be both set.
80
+ */
81
+ unauthenticated?: never;
82
+ }
83
+ /**
84
+ * Interface representing the impersonation of an unauthenticated user.
85
+ */
86
+ export interface ImpersonateUnauthenticated {
87
+ /**
88
+ * Both `authClaims` and `unauthenticated` are mutually exclusive fields and should not be both set.
89
+ */
90
+ authClaims?: never;
91
+ /**
92
+ * Evaluates the auth policy as an unauthenticated request. Can only be set to true.
93
+ */
94
+ unauthenticated: true;
52
95
  }
@@ -1,4 +1,4 @@
1
- /*! firebase-admin v13.0.2 */
1
+ /*! firebase-admin v13.2.0 */
2
2
  "use strict";
3
3
  /*!
4
4
  * @license
@@ -1,4 +1,4 @@
1
- /*! firebase-admin v13.0.2 */
1
+ /*! firebase-admin v13.2.0 */
2
2
  /*!
3
3
  * @license
4
4
  * Copyright 2024 Google Inc.
@@ -1,4 +1,4 @@
1
- /*! firebase-admin v13.0.2 */
1
+ /*! firebase-admin v13.2.0 */
2
2
  "use strict";
3
3
  /*!
4
4
  * @license
@@ -1,4 +1,4 @@
1
- /*! firebase-admin v13.0.2 */
1
+ /*! firebase-admin v13.2.0 */
2
2
  /*!
3
3
  * @license
4
4
  * Copyright 2024 Google Inc.
@@ -23,7 +23,7 @@
23
23
  import { App } from '../app';
24
24
  import { DataConnect } from './data-connect';
25
25
  import { ConnectorConfig } from './data-connect-api';
26
- export { GraphqlOptions, ExecuteGraphqlResponse, ConnectorConfig, } from './data-connect-api';
26
+ export { GraphqlOptions, ExecuteGraphqlResponse, ConnectorConfig, ImpersonateAuthenticated, ImpersonateUnauthenticated, AuthClaims } from './data-connect-api';
27
27
  export { DataConnect, } from './data-connect';
28
28
  /**
29
29
  * Gets the {@link DataConnect} service with the provided connector configuration
@@ -1,4 +1,4 @@
1
- /*! firebase-admin v13.0.2 */
1
+ /*! firebase-admin v13.2.0 */
2
2
  "use strict";
3
3
  /*!
4
4
  * @license
@@ -1,4 +1,4 @@
1
- /*! firebase-admin v13.0.2 */
1
+ /*! firebase-admin v13.2.0 */
2
2
  /*!
3
3
  * Copyright 2021 Google Inc.
4
4
  *
@@ -1,4 +1,4 @@
1
- /*! firebase-admin v13.0.2 */
1
+ /*! firebase-admin v13.2.0 */
2
2
  "use strict";
3
3
  /*!
4
4
  * Copyright 2021 Google Inc.
@@ -1,4 +1,4 @@
1
- /*! firebase-admin v13.0.2 */
1
+ /*! firebase-admin v13.2.0 */
2
2
  /*!
3
3
  * Copyright 2020 Google Inc.
4
4
  *
@@ -1,4 +1,4 @@
1
- /*! firebase-admin v13.0.2 */
1
+ /*! firebase-admin v13.2.0 */
2
2
  "use strict";
3
3
  /*!
4
4
  * Copyright 2020 Google Inc.
@@ -1,4 +1,4 @@
1
- /*! firebase-admin v13.0.2 */
1
+ /*! firebase-admin v13.2.0 */
2
2
  /*!
3
3
  * Copyright 2020 Google Inc.
4
4
  *
@@ -1,4 +1,4 @@
1
- /*! firebase-admin v13.0.2 */
1
+ /*! firebase-admin v13.2.0 */
2
2
  "use strict";
3
3
  /*!
4
4
  * Copyright 2020 Google Inc.
@@ -1,4 +1,4 @@
1
- /*! firebase-admin v13.0.2 */
1
+ /*! firebase-admin v13.2.0 */
2
2
  /*!
3
3
  * Copyright 2020 Google Inc.
4
4
  *
@@ -1,4 +1,4 @@
1
- /*! firebase-admin v13.0.2 */
1
+ /*! firebase-admin v13.2.0 */
2
2
  "use strict";
3
3
  /*!
4
4
  * @license
@@ -3,4 +3,5 @@ import mod from "../../remote-config/index.js";
3
3
  export const CustomSignalOperator = mod.CustomSignalOperator;
4
4
  export const PercentConditionOperator = mod.PercentConditionOperator;
5
5
  export const RemoteConfig = mod.RemoteConfig;
6
+ export const RemoteConfigFetchResponse = mod.RemoteConfigFetchResponse;
6
7
  export const getRemoteConfig = mod.getRemoteConfig;
@@ -1,4 +1,4 @@
1
- /*! firebase-admin v13.0.2 */
1
+ /*! firebase-admin v13.2.0 */
2
2
  /*!
3
3
  * @license
4
4
  * Copyright 2022 Google Inc.
@@ -1,4 +1,4 @@
1
- /*! firebase-admin v13.0.2 */
1
+ /*! firebase-admin v13.2.0 */
2
2
  "use strict";
3
3
  /*!
4
4
  * @license
@@ -1,4 +1,4 @@
1
- /*! firebase-admin v13.0.2 */
1
+ /*! firebase-admin v13.2.0 */
2
2
  /*!
3
3
  * @license
4
4
  * Copyright 2022 Google Inc.
@@ -1,4 +1,4 @@
1
- /*! firebase-admin v13.0.2 */
1
+ /*! firebase-admin v13.2.0 */
2
2
  "use strict";
3
3
  /*!
4
4
  * @license
@@ -1,4 +1,4 @@
1
- /*! firebase-admin v13.0.2 */
1
+ /*! firebase-admin v13.2.0 */
2
2
  /*!
3
3
  * @license
4
4
  * Copyright 2022 Google Inc.
@@ -1,4 +1,4 @@
1
- /*! firebase-admin v13.0.2 */
1
+ /*! firebase-admin v13.2.0 */
2
2
  "use strict";
3
3
  /*!
4
4
  * @license
@@ -1,4 +1,4 @@
1
- /*! firebase-admin v13.0.2 */
1
+ /*! firebase-admin v13.2.0 */
2
2
  /*!
3
3
  * @license
4
4
  * Copyright 2022 Google Inc.
@@ -1,4 +1,4 @@
1
- /*! firebase-admin v13.0.2 */
1
+ /*! firebase-admin v13.2.0 */
2
2
  "use strict";
3
3
  /*!
4
4
  * @license
@@ -1,4 +1,4 @@
1
- /*! firebase-admin v13.0.2 */
1
+ /*! firebase-admin v13.2.0 */
2
2
  /*!
3
3
  * @license
4
4
  * Copyright 2022 Google Inc.
@@ -1,4 +1,4 @@
1
- /*! firebase-admin v13.0.2 */
1
+ /*! firebase-admin v13.2.0 */
2
2
  "use strict";
3
3
  /*!
4
4
  * @license
@@ -1,4 +1,4 @@
1
- /*! firebase-admin v13.0.2 */
1
+ /*! firebase-admin v13.2.0 */
2
2
  /*!
3
3
  * @license
4
4
  * Copyright 2022 Google Inc.
@@ -1,4 +1,4 @@
1
- /*! firebase-admin v13.0.2 */
1
+ /*! firebase-admin v13.2.0 */
2
2
  "use strict";
3
3
  /*!
4
4
  * @license
@@ -1,4 +1,4 @@
1
- /*! firebase-admin v13.0.2 */
1
+ /*! firebase-admin v13.2.0 */
2
2
  /*!
3
3
  * @license
4
4
  * Copyright 2022 Google Inc.
@@ -1,4 +1,4 @@
1
- /*! firebase-admin v13.0.2 */
1
+ /*! firebase-admin v13.2.0 */
2
2
  "use strict";
3
3
  /*!
4
4
  * @license
@@ -1,4 +1,4 @@
1
- /*! firebase-admin v13.0.2 */
1
+ /*! firebase-admin v13.2.0 */
2
2
  /*!
3
3
  * @license
4
4
  * Copyright 2022 Google Inc.
@@ -1,4 +1,4 @@
1
- /*! firebase-admin v13.0.2 */
1
+ /*! firebase-admin v13.2.0 */
2
2
  "use strict";
3
3
  /*!
4
4
  * @license
@@ -1,4 +1,4 @@
1
- /*! firebase-admin v13.0.2 */
1
+ /*! firebase-admin v13.2.0 */
2
2
  /*!
3
3
  * @license
4
4
  * Copyright 2021 Google Inc.
@@ -1,4 +1,4 @@
1
- /*! firebase-admin v13.0.2 */
1
+ /*! firebase-admin v13.2.0 */
2
2
  "use strict";
3
3
  /*!
4
4
  * @license
@@ -1,4 +1,4 @@
1
- /*! firebase-admin v13.0.2 */
1
+ /*! firebase-admin v13.2.0 */
2
2
  /*!
3
3
  * Copyright 2021 Google Inc.
4
4
  *
@@ -1,4 +1,4 @@
1
- /*! firebase-admin v13.0.2 */
1
+ /*! firebase-admin v13.2.0 */
2
2
  "use strict";
3
3
  /*!
4
4
  * Copyright 2021 Google Inc.
@@ -1,4 +1,4 @@
1
- /*! firebase-admin v13.0.2 */
1
+ /*! firebase-admin v13.2.0 */
2
2
  /*!
3
3
  * @license
4
4
  * Copyright 2017 Google Inc.
@@ -1,4 +1,4 @@
1
- /*! firebase-admin v13.0.2 */
1
+ /*! firebase-admin v13.2.0 */
2
2
  "use strict";
3
3
  /*!
4
4
  * @license
@@ -1,4 +1,4 @@
1
- /*! firebase-admin v13.0.2 */
1
+ /*! firebase-admin v13.2.0 */
2
2
  /*!
3
3
  * Copyright 2021 Google Inc.
4
4
  *
@@ -1,4 +1,4 @@
1
- /*! firebase-admin v13.0.2 */
1
+ /*! firebase-admin v13.2.0 */
2
2
  "use strict";
3
3
  /*!
4
4
  * Copyright 2021 Google Inc.
@@ -1,4 +1,4 @@
1
- /*! firebase-admin v13.0.2 */
1
+ /*! firebase-admin v13.2.0 */
2
2
  /*!
3
3
  * Copyright 2020 Google Inc.
4
4
  *
@@ -1,4 +1,4 @@
1
- /*! firebase-admin v13.0.2 */
1
+ /*! firebase-admin v13.2.0 */
2
2
  "use strict";
3
3
  /*!
4
4
  * Copyright 2020 Google Inc.
@@ -1,4 +1,4 @@
1
- /*! firebase-admin v13.0.2 */
1
+ /*! firebase-admin v13.2.0 */
2
2
  /*!
3
3
  * @license
4
4
  * Copyright 2021 Google Inc.
@@ -1,4 +1,4 @@
1
- /*! firebase-admin v13.0.2 */
1
+ /*! firebase-admin v13.2.0 */
2
2
  "use strict";
3
3
  /*!
4
4
  * @license
@@ -43,7 +43,7 @@ class FunctionsApiClient {
43
43
  if (!validator.isNonNullObject(app) || !('options' in app)) {
44
44
  throw new FirebaseFunctionsError('invalid-argument', 'First argument passed to getFunctions() must be a valid Firebase app instance.');
45
45
  }
46
- this.httpClient = new api_request_1.AuthorizedHttpClient(app);
46
+ this.httpClient = new FunctionsHttpClient(app);
47
47
  }
48
48
  /**
49
49
  * Deletes a task from a queue.
@@ -323,6 +323,18 @@ class FunctionsApiClient {
323
323
  }
324
324
  }
325
325
  exports.FunctionsApiClient = FunctionsApiClient;
326
+ /**
327
+ * Functions-specific HTTP client which uses the special "owner" token
328
+ * when communicating with the Emulator.
329
+ */
330
+ class FunctionsHttpClient extends api_request_1.AuthorizedHttpClient {
331
+ getToken() {
332
+ if (process.env.CLOUD_TASKS_EMULATOR_HOST) {
333
+ return Promise.resolve('owner');
334
+ }
335
+ return super.getToken();
336
+ }
337
+ }
326
338
  exports.FUNCTIONS_ERROR_CODE_MAPPING = {
327
339
  ABORTED: 'aborted',
328
340
  INVALID_ARGUMENT: 'invalid-argument',
@@ -1,4 +1,4 @@
1
- /*! firebase-admin v13.0.2 */
1
+ /*! firebase-admin v13.2.0 */
2
2
  /*!
3
3
  * @license
4
4
  * Copyright 2021 Google Inc.
@@ -1,4 +1,4 @@
1
- /*! firebase-admin v13.0.2 */
1
+ /*! firebase-admin v13.2.0 */
2
2
  "use strict";
3
3
  /*!
4
4
  * @license
@@ -1,4 +1,4 @@
1
- /*! firebase-admin v13.0.2 */
1
+ /*! firebase-admin v13.2.0 */
2
2
  /*!
3
3
  * @license
4
4
  * Copyright 2021 Google Inc.
@@ -1,4 +1,4 @@
1
- /*! firebase-admin v13.0.2 */
1
+ /*! firebase-admin v13.2.0 */
2
2
  "use strict";
3
3
  /*!
4
4
  * @license
@@ -1,4 +1,4 @@
1
- /*! firebase-admin v13.0.2 */
1
+ /*! firebase-admin v13.2.0 */
2
2
  /*!
3
3
  * @license
4
4
  * Copyright 2021 Google Inc.
@@ -1,4 +1,4 @@
1
- /*! firebase-admin v13.0.2 */
1
+ /*! firebase-admin v13.2.0 */
2
2
  "use strict";
3
3
  /*!
4
4
  * @license