@dereekb/dbx-cli 13.38.0 → 13.40.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 (58) hide show
  1. package/eslint/package.json +8 -8
  2. package/firebase-api-manifest/package.json +3 -3
  3. package/firestore-query-manifest/main.js +3 -3
  4. package/firestore-query-manifest/package.json +3 -3
  5. package/generate-firestore-indexes/main.js +2 -2
  6. package/generate-firestore-indexes/package.json +2 -2
  7. package/generate-mcp-manifest/package.json +3 -3
  8. package/generate-route-manifest/package.json +2 -2
  9. package/index.esm.js +1011 -521
  10. package/lint-cache/package.json +2 -2
  11. package/manifest-extract/package.json +7 -7
  12. package/model-test/LICENSE +21 -0
  13. package/model-test/index.d.ts +1 -0
  14. package/model-test/index.esm.js +5984 -0
  15. package/model-test/package.json +21 -0
  16. package/model-test/src/index.d.ts +41 -0
  17. package/model-test/src/lib/fixture/archetype.d.ts +33 -0
  18. package/model-test/src/lib/fixture/extract.d.ts +37 -0
  19. package/model-test/src/lib/fixture/format.json.d.ts +24 -0
  20. package/model-test/src/lib/fixture/format.markdown.d.ts +23 -0
  21. package/model-test/src/lib/fixture/forward.d.ts +48 -0
  22. package/model-test/src/lib/fixture/framework-fixtures.d.ts +70 -0
  23. package/model-test/src/lib/fixture/inspect.d.ts +22 -0
  24. package/model-test/src/lib/fixture/scaffold.d.ts +74 -0
  25. package/model-test/src/lib/fixture/types.d.ts +175 -0
  26. package/model-test/src/lib/test/discover.d.ts +81 -0
  27. package/model-test/src/lib/test/extract.d.ts +49 -0
  28. package/model-test/src/lib/test/format.hotspots.d.ts +23 -0
  29. package/model-test/src/lib/test/format.json.d.ts +25 -0
  30. package/model-test/src/lib/test/format.list-app.d.ts +30 -0
  31. package/model-test/src/lib/test/format.markdown.d.ts +25 -0
  32. package/model-test/src/lib/test/hotspots.d.ts +98 -0
  33. package/model-test/src/lib/test/inspect.d.ts +32 -0
  34. package/model-test/src/lib/test/search.d.ts +34 -0
  35. package/model-test/src/lib/test/types.d.ts +179 -0
  36. package/package.json +18 -22
  37. package/route/package.json +12 -12
  38. package/src/lib/firestore/firestore.session.d.ts +40 -0
  39. package/src/lib/runner/index.d.ts +1 -0
  40. package/src/lib/runner/lifecycle.d.ts +85 -0
  41. package/src/lib/runner/run.d.ts +15 -1
  42. package/test/package.json +14 -14
  43. package/validate/LICENSE +21 -0
  44. package/validate/index.js +16641 -0
  45. package/validate/package.json +11 -0
  46. package/eslint/index.cjs.default.js +0 -1
  47. package/eslint/index.cjs.js +0 -1112
  48. package/eslint/index.cjs.mjs +0 -2
  49. package/index.cjs.js +0 -65624
  50. package/manifest-extract/index.cjs.default.js +0 -1
  51. package/manifest-extract/index.cjs.js +0 -1595
  52. package/manifest-extract/index.cjs.mjs +0 -2
  53. package/route/index.cjs.default.js +0 -1
  54. package/route/index.cjs.js +0 -18
  55. package/route/index.cjs.mjs +0 -2
  56. package/test/index.cjs.default.js +0 -1
  57. package/test/index.cjs.js +0 -383
  58. package/test/index.cjs.mjs +0 -2
package/index.esm.js CHANGED
@@ -36,7 +36,7 @@ function _assert_this_initialized(self) {
36
36
  }
37
37
  return self;
38
38
  }
39
- function asyncGeneratorStep$1p(gen, resolve, reject, _next, _throw, key, arg) {
39
+ function asyncGeneratorStep$1q(gen, resolve, reject, _next, _throw, key, arg) {
40
40
  try {
41
41
  var info = gen[key](arg);
42
42
  var value = info.value;
@@ -50,16 +50,16 @@ function asyncGeneratorStep$1p(gen, resolve, reject, _next, _throw, key, arg) {
50
50
  Promise.resolve(value).then(_next, _throw);
51
51
  }
52
52
  }
53
- function _async_to_generator$1p(fn) {
53
+ function _async_to_generator$1q(fn) {
54
54
  return function() {
55
55
  var self = this, args = arguments;
56
56
  return new Promise(function(resolve, reject) {
57
57
  var gen = fn.apply(self, args);
58
58
  function _next(value) {
59
- asyncGeneratorStep$1p(gen, resolve, reject, _next, _throw, "next", value);
59
+ asyncGeneratorStep$1q(gen, resolve, reject, _next, _throw, "next", value);
60
60
  }
61
61
  function _throw(err) {
62
- asyncGeneratorStep$1p(gen, resolve, reject, _next, _throw, "throw", err);
62
+ asyncGeneratorStep$1q(gen, resolve, reject, _next, _throw, "throw", err);
63
63
  }
64
64
  _next(undefined);
65
65
  });
@@ -91,7 +91,7 @@ function _construct(Parent, args, Class) {
91
91
  }
92
92
  return _construct.apply(null, arguments);
93
93
  }
94
- function _define_property$V(obj, key, value) {
94
+ function _define_property$W(obj, key, value) {
95
95
  if (key in obj) {
96
96
  Object.defineProperty(obj, key, {
97
97
  value: value,
@@ -123,7 +123,7 @@ function _inherits(subClass, superClass) {
123
123
  });
124
124
  if (superClass) _set_prototype_of(subClass, superClass);
125
125
  }
126
- function _instanceof$t(left, right) {
126
+ function _instanceof$u(left, right) {
127
127
  "@swc/helpers - instanceof";
128
128
  if (right != null && typeof Symbol !== "undefined" && right[Symbol.hasInstance]) {
129
129
  return !!right[Symbol.hasInstance](left);
@@ -140,7 +140,7 @@ function _iterable_to_array$15(iter) {
140
140
  function _non_iterable_spread$15() {
141
141
  throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
142
142
  }
143
- function _object_spread$V(target) {
143
+ function _object_spread$W(target) {
144
144
  for(var i = 1; i < arguments.length; i++){
145
145
  var source = arguments[i] != null ? arguments[i] : {};
146
146
  var ownKeys = Object.keys(source);
@@ -150,12 +150,12 @@ function _object_spread$V(target) {
150
150
  }));
151
151
  }
152
152
  ownKeys.forEach(function(key) {
153
- _define_property$V(target, key, source[key]);
153
+ _define_property$W(target, key, source[key]);
154
154
  });
155
155
  }
156
156
  return target;
157
157
  }
158
- function ownKeys$D(object, enumerableOnly) {
158
+ function ownKeys$E(object, enumerableOnly) {
159
159
  var keys = Object.keys(object);
160
160
  if (Object.getOwnPropertySymbols) {
161
161
  var symbols = Object.getOwnPropertySymbols(object);
@@ -163,12 +163,12 @@ function ownKeys$D(object, enumerableOnly) {
163
163
  }
164
164
  return keys;
165
165
  }
166
- function _object_spread_props$D(target, source) {
166
+ function _object_spread_props$E(target, source) {
167
167
  source = source != null ? source : {};
168
168
  if (Object.getOwnPropertyDescriptors) {
169
169
  Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
170
170
  } else {
171
- ownKeys$D(Object(source)).forEach(function(key) {
171
+ ownKeys$E(Object(source)).forEach(function(key) {
172
172
  Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
173
173
  });
174
174
  }
@@ -236,7 +236,7 @@ function _is_native_reflect_construct() {
236
236
  return !!result;
237
237
  })();
238
238
  }
239
- function _ts_generator$1p(thisArg, body) {
239
+ function _ts_generator$1q(thisArg, body) {
240
240
  var f, y, t, _ = {
241
241
  label: 0,
242
242
  sent: function() {
@@ -420,10 +420,10 @@ var _timeoutMs = DEFAULT_CLI_HTTP_TIMEOUT_MS;
420
420
  * @param init - The RequestInit. Any existing `signal` is preserved; we only attach our own when no signal was supplied.
421
421
  * @returns The fetch Response.
422
422
  */ function tracedFetch(fetcher, input, init) {
423
- return _async_to_generator$1p(function() {
423
+ return _async_to_generator$1q(function() {
424
424
  var _ref, fetchImpl, timeoutMs, method, url, controller, timeoutHandle, finalInit, // Don't let the abort timer itself keep the Node event loop (or a test worker) alive.
425
425
  _timeoutHandle_unref, localController, e;
426
- return _ts_generator$1p(this, function(_state) {
426
+ return _ts_generator$1q(this, function(_state) {
427
427
  switch(_state.label){
428
428
  case 0:
429
429
  fetchImpl = fetcher !== null && fetcher !== void 0 ? fetcher : fetch;
@@ -431,7 +431,7 @@ var _timeoutMs = DEFAULT_CLI_HTTP_TIMEOUT_MS;
431
431
  method = (_ref = init === null || init === void 0 ? void 0 : init.method) !== null && _ref !== void 0 ? _ref : 'GET';
432
432
  if (typeof input === 'string') {
433
433
  url = input;
434
- } else if (_instanceof$t(input, URL)) {
434
+ } else if (_instanceof$u(input, URL)) {
435
435
  url = input.toString();
436
436
  } else {
437
437
  url = input.url;
@@ -445,7 +445,7 @@ var _timeoutMs = DEFAULT_CLI_HTTP_TIMEOUT_MS;
445
445
  return localController.abort();
446
446
  }, timeoutMs);
447
447
  (_timeoutHandle_unref = timeoutHandle.unref) === null || _timeoutHandle_unref === void 0 ? void 0 : _timeoutHandle_unref.call(timeoutHandle);
448
- finalInit = _object_spread_props$D(_object_spread$V({}, init), {
448
+ finalInit = _object_spread_props$E(_object_spread$W({}, init), {
449
449
  signal: localController.signal
450
450
  });
451
451
  }
@@ -609,7 +609,7 @@ function dumpResponse(data, meta) {
609
609
  if (!filePath) {
610
610
  return;
611
611
  }
612
- var content = _object_spread$V({
612
+ var content = _object_spread$W({
613
613
  ok: true,
614
614
  data: data
615
615
  }, meta ? {
@@ -686,7 +686,7 @@ function stringifyEnvelope(value) {
686
686
  */ function outputResult(data, meta) {
687
687
  dumpResponse(data, meta);
688
688
  var outputData = _outputOptions.pick ? pickFields(data, _outputOptions.pick) : data;
689
- var output = _object_spread$V({
689
+ var output = _object_spread$W({
690
690
  ok: true,
691
691
  data: outputData
692
692
  }, meta ? {
@@ -715,7 +715,7 @@ function stringifyEnvelope(value) {
715
715
  var _this;
716
716
  _this = _call_super(this, CliError, [
717
717
  input.message
718
- ]), _define_property$V(_this, "code", void 0), _define_property$V(_this, "suggestion", void 0);
718
+ ]), _define_property$W(_this, "code", void 0), _define_property$W(_this, "suggestion", void 0);
719
719
  _this.name = 'CliError';
720
720
  _this.code = input.code;
721
721
  _this.suggestion = input.suggestion;
@@ -742,15 +742,15 @@ function stringifyEnvelope(value) {
742
742
  var result;
743
743
  if (mapped) {
744
744
  result = mapped;
745
- } else if (_instanceof$t(error, CliError)) {
746
- result = _object_spread$V({
745
+ } else if (_instanceof$u(error, CliError)) {
746
+ result = _object_spread$W({
747
747
  ok: false,
748
748
  error: sanitizeString(error.message),
749
749
  code: error.code
750
750
  }, error.suggestion ? {
751
751
  suggestion: error.suggestion
752
752
  } : {});
753
- } else if (_instanceof$t(error, Error)) {
753
+ } else if (_instanceof$u(error, Error)) {
754
754
  result = {
755
755
  ok: false,
756
756
  error: sanitizeString(error.message),
@@ -774,7 +774,7 @@ function _array_like_to_array$1b(arr, len) {
774
774
  function _array_without_holes$14(arr) {
775
775
  if (Array.isArray(arr)) return _array_like_to_array$1b(arr);
776
776
  }
777
- function asyncGeneratorStep$1o(gen, resolve, reject, _next, _throw, key, arg) {
777
+ function asyncGeneratorStep$1p(gen, resolve, reject, _next, _throw, key, arg) {
778
778
  try {
779
779
  var info = gen[key](arg);
780
780
  var value = info.value;
@@ -788,22 +788,22 @@ function asyncGeneratorStep$1o(gen, resolve, reject, _next, _throw, key, arg) {
788
788
  Promise.resolve(value).then(_next, _throw);
789
789
  }
790
790
  }
791
- function _async_to_generator$1o(fn) {
791
+ function _async_to_generator$1p(fn) {
792
792
  return function() {
793
793
  var self = this, args = arguments;
794
794
  return new Promise(function(resolve, reject) {
795
795
  var gen = fn.apply(self, args);
796
796
  function _next(value) {
797
- asyncGeneratorStep$1o(gen, resolve, reject, _next, _throw, "next", value);
797
+ asyncGeneratorStep$1p(gen, resolve, reject, _next, _throw, "next", value);
798
798
  }
799
799
  function _throw(err) {
800
- asyncGeneratorStep$1o(gen, resolve, reject, _next, _throw, "throw", err);
800
+ asyncGeneratorStep$1p(gen, resolve, reject, _next, _throw, "throw", err);
801
801
  }
802
802
  _next(undefined);
803
803
  });
804
804
  };
805
805
  }
806
- function _define_property$U(obj, key, value) {
806
+ function _define_property$V(obj, key, value) {
807
807
  if (key in obj) {
808
808
  Object.defineProperty(obj, key, {
809
809
  value: value,
@@ -822,7 +822,7 @@ function _iterable_to_array$14(iter) {
822
822
  function _non_iterable_spread$14() {
823
823
  throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
824
824
  }
825
- function _object_spread$U(target) {
825
+ function _object_spread$V(target) {
826
826
  for(var i = 1; i < arguments.length; i++){
827
827
  var source = arguments[i] != null ? arguments[i] : {};
828
828
  var ownKeys = Object.keys(source);
@@ -832,12 +832,12 @@ function _object_spread$U(target) {
832
832
  }));
833
833
  }
834
834
  ownKeys.forEach(function(key) {
835
- _define_property$U(target, key, source[key]);
835
+ _define_property$V(target, key, source[key]);
836
836
  });
837
837
  }
838
838
  return target;
839
839
  }
840
- function ownKeys$C(object, enumerableOnly) {
840
+ function ownKeys$D(object, enumerableOnly) {
841
841
  var keys = Object.keys(object);
842
842
  if (Object.getOwnPropertySymbols) {
843
843
  var symbols = Object.getOwnPropertySymbols(object);
@@ -845,12 +845,12 @@ function ownKeys$C(object, enumerableOnly) {
845
845
  }
846
846
  return keys;
847
847
  }
848
- function _object_spread_props$C(target, source) {
848
+ function _object_spread_props$D(target, source) {
849
849
  source = source != null ? source : {};
850
850
  if (Object.getOwnPropertyDescriptors) {
851
851
  Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
852
852
  } else {
853
- ownKeys$C(Object(source)).forEach(function(key) {
853
+ ownKeys$D(Object(source)).forEach(function(key) {
854
854
  Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
855
855
  });
856
856
  }
@@ -871,7 +871,7 @@ function _unsupported_iterable_to_array$1b(o, minLen) {
871
871
  if (n === "Map" || n === "Set") return Array.from(n);
872
872
  if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$1b(o, minLen);
873
873
  }
874
- function _ts_generator$1o(thisArg, body) {
874
+ function _ts_generator$1p(thisArg, body) {
875
875
  var f, y, t, _ = {
876
876
  label: 0,
877
877
  sent: function() {
@@ -983,9 +983,9 @@ var MAX_MODEL_ACCESS_MULTI_READ_KEYS = 50;
983
983
  * @param input - The call envelope describing the API target, access token, model params, and optional fetch override.
984
984
  * @returns The parsed JSON response body cast to `R`.
985
985
  */ function callModelOverHttp(input) {
986
- return _async_to_generator$1o(function() {
986
+ return _async_to_generator$1p(function() {
987
987
  var _input_params_call;
988
- return _ts_generator$1o(this, function(_state) {
988
+ return _ts_generator$1p(this, function(_state) {
989
989
  return [
990
990
  2,
991
991
  requestJson({
@@ -1013,8 +1013,8 @@ var MAX_MODEL_ACCESS_MULTI_READ_KEYS = 50;
1013
1013
  * @param input - The request envelope describing the API target, access token, model + key, and optional fetch override.
1014
1014
  * @returns The parsed `{ key, data }` envelope.
1015
1015
  */ function getModelOverHttp(input) {
1016
- return _async_to_generator$1o(function() {
1017
- return _ts_generator$1o(this, function(_state) {
1016
+ return _async_to_generator$1p(function() {
1017
+ return _ts_generator$1p(this, function(_state) {
1018
1018
  return [
1019
1019
  2,
1020
1020
  requestJson({
@@ -1042,8 +1042,8 @@ var MAX_MODEL_ACCESS_MULTI_READ_KEYS = 50;
1042
1042
  * @param input - The request envelope describing the API target, access token, model, keys, and optional fetch override.
1043
1043
  * @returns The parsed `{ results, errors }` envelope.
1044
1044
  */ function getMultipleModelsOverHttp(input) {
1045
- return _async_to_generator$1o(function() {
1046
- return _ts_generator$1o(this, function(_state) {
1045
+ return _async_to_generator$1p(function() {
1046
+ return _ts_generator$1p(this, function(_state) {
1047
1047
  if (input.keys.length === 0) {
1048
1048
  throw new CliError({
1049
1049
  message: 'get-many requires at least one key.',
@@ -1081,9 +1081,9 @@ var MAX_MODEL_ACCESS_MULTI_READ_KEYS = 50;
1081
1081
  * @param input - Same shape as {@link GetMultipleModelsOverHttpInput} but without the 50-key cap.
1082
1082
  * @returns The merged `{ results, errors }` envelope across all chunks.
1083
1083
  */ function getMultipleModelsOverHttpChunked(input) {
1084
- return _async_to_generator$1o(function() {
1084
+ return _async_to_generator$1p(function() {
1085
1085
  var chunks, i, mergedResults, mergedErrors, _iteratorNormalCompletion, _didIteratorError, _iteratorError, _iterator, _step, chunk, _mergedResults, _mergedErrors, batch, err;
1086
- return _ts_generator$1o(this, function(_state) {
1086
+ return _ts_generator$1p(this, function(_state) {
1087
1087
  switch(_state.label){
1088
1088
  case 0:
1089
1089
  if (input.keys.length === 0) {
@@ -1117,7 +1117,7 @@ var MAX_MODEL_ACCESS_MULTI_READ_KEYS = 50;
1117
1117
  chunk = _step.value;
1118
1118
  return [
1119
1119
  4,
1120
- getMultipleModelsOverHttp(_object_spread_props$C(_object_spread$U({}, input), {
1120
+ getMultipleModelsOverHttp(_object_spread_props$D(_object_spread$V({}, input), {
1121
1121
  keys: chunk
1122
1122
  }))
1123
1123
  ];
@@ -1171,15 +1171,15 @@ var MAX_MODEL_ACCESS_MULTI_READ_KEYS = 50;
1171
1171
  })();
1172
1172
  }
1173
1173
  function requestJson(input) {
1174
- return _async_to_generator$1o(function() {
1174
+ return _async_to_generator$1p(function() {
1175
1175
  var hasJsonBody, init, res, _ref, ok, body, fallbackMessage;
1176
- return _ts_generator$1o(this, function(_state) {
1176
+ return _ts_generator$1p(this, function(_state) {
1177
1177
  switch(_state.label){
1178
1178
  case 0:
1179
1179
  hasJsonBody = input.jsonBody !== undefined;
1180
- init = _object_spread$U({
1180
+ init = _object_spread$V({
1181
1181
  method: input.method,
1182
- headers: _object_spread$U({
1182
+ headers: _object_spread$V({
1183
1183
  Accept: 'application/json',
1184
1184
  Authorization: "Bearer ".concat(input.accessToken)
1185
1185
  }, hasJsonBody ? {
@@ -1216,9 +1216,9 @@ function requestJson(input) {
1216
1216
  })();
1217
1217
  }
1218
1218
  function readJsonResponse(res) {
1219
- return _async_to_generator$1o(function() {
1219
+ return _async_to_generator$1p(function() {
1220
1220
  var text, body;
1221
- return _ts_generator$1o(this, function(_state) {
1221
+ return _ts_generator$1p(this, function(_state) {
1222
1222
  switch(_state.label){
1223
1223
  case 0:
1224
1224
  return [
@@ -1282,7 +1282,7 @@ function _array_like_to_array$1a(arr, len) {
1282
1282
  function _array_without_holes$13(arr) {
1283
1283
  if (Array.isArray(arr)) return _array_like_to_array$1a(arr);
1284
1284
  }
1285
- function asyncGeneratorStep$1n(gen, resolve, reject, _next, _throw, key, arg) {
1285
+ function asyncGeneratorStep$1o(gen, resolve, reject, _next, _throw, key, arg) {
1286
1286
  try {
1287
1287
  var info = gen[key](arg);
1288
1288
  var value = info.value;
@@ -1296,16 +1296,16 @@ function asyncGeneratorStep$1n(gen, resolve, reject, _next, _throw, key, arg) {
1296
1296
  Promise.resolve(value).then(_next, _throw);
1297
1297
  }
1298
1298
  }
1299
- function _async_to_generator$1n(fn) {
1299
+ function _async_to_generator$1o(fn) {
1300
1300
  return function() {
1301
1301
  var self = this, args = arguments;
1302
1302
  return new Promise(function(resolve, reject) {
1303
1303
  var gen = fn.apply(self, args);
1304
1304
  function _next(value) {
1305
- asyncGeneratorStep$1n(gen, resolve, reject, _next, _throw, "next", value);
1305
+ asyncGeneratorStep$1o(gen, resolve, reject, _next, _throw, "next", value);
1306
1306
  }
1307
1307
  function _throw(err) {
1308
- asyncGeneratorStep$1n(gen, resolve, reject, _next, _throw, "throw", err);
1308
+ asyncGeneratorStep$1o(gen, resolve, reject, _next, _throw, "throw", err);
1309
1309
  }
1310
1310
  _next(undefined);
1311
1311
  });
@@ -1328,7 +1328,7 @@ function _unsupported_iterable_to_array$1a(o, minLen) {
1328
1328
  if (n === "Map" || n === "Set") return Array.from(n);
1329
1329
  if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$1a(o, minLen);
1330
1330
  }
1331
- function _ts_generator$1n(thisArg, body) {
1331
+ function _ts_generator$1o(thisArg, body) {
1332
1332
  var f, y, t, _ = {
1333
1333
  label: 0,
1334
1334
  sent: function() {
@@ -1469,9 +1469,9 @@ function _ts_generator$1n(thisArg, body) {
1469
1469
  * @returns The session-bound {@link CliFirestoreModels}.
1470
1470
  * @throws {CliError} When the CLI was not configured with a `firestore` binding, or the session cannot be opened.
1471
1471
  */ function requireCliFirestoreModels(context) {
1472
- return _async_to_generator$1n(function() {
1472
+ return _async_to_generator$1o(function() {
1473
1473
  var getFirestoreModels;
1474
- return _ts_generator$1n(this, function(_state) {
1474
+ return _ts_generator$1o(this, function(_state) {
1475
1475
  getFirestoreModels = context.getFirestoreModels;
1476
1476
  if (!getFirestoreModels) {
1477
1477
  throw new CliError({
@@ -1605,7 +1605,7 @@ function tryReadCollectionIdentity(binding, collections, modelType) {
1605
1605
  return result;
1606
1606
  }
1607
1607
 
1608
- function asyncGeneratorStep$1m(gen, resolve, reject, _next, _throw, key, arg) {
1608
+ function asyncGeneratorStep$1n(gen, resolve, reject, _next, _throw, key, arg) {
1609
1609
  try {
1610
1610
  var info = gen[key](arg);
1611
1611
  var value = info.value;
@@ -1619,16 +1619,16 @@ function asyncGeneratorStep$1m(gen, resolve, reject, _next, _throw, key, arg) {
1619
1619
  Promise.resolve(value).then(_next, _throw);
1620
1620
  }
1621
1621
  }
1622
- function _async_to_generator$1m(fn) {
1622
+ function _async_to_generator$1n(fn) {
1623
1623
  return function() {
1624
1624
  var self = this, args = arguments;
1625
1625
  return new Promise(function(resolve, reject) {
1626
1626
  var gen = fn.apply(self, args);
1627
1627
  function _next(value) {
1628
- asyncGeneratorStep$1m(gen, resolve, reject, _next, _throw, "next", value);
1628
+ asyncGeneratorStep$1n(gen, resolve, reject, _next, _throw, "next", value);
1629
1629
  }
1630
1630
  function _throw(err) {
1631
- asyncGeneratorStep$1m(gen, resolve, reject, _next, _throw, "throw", err);
1631
+ asyncGeneratorStep$1n(gen, resolve, reject, _next, _throw, "throw", err);
1632
1632
  }
1633
1633
  _next(undefined);
1634
1634
  });
@@ -1638,7 +1638,7 @@ function _type_of$3(obj) {
1638
1638
  "@swc/helpers - typeof";
1639
1639
  return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
1640
1640
  }
1641
- function _ts_generator$1m(thisArg, body) {
1641
+ function _ts_generator$1n(thisArg, body) {
1642
1642
  var f, y, t, _ = {
1643
1643
  label: 0,
1644
1644
  sent: function() {
@@ -1754,9 +1754,9 @@ function _ts_generator$1m(thisArg, body) {
1754
1754
  * @returns The parsed {@link CliFirestoreSession}.
1755
1755
  * @throws {CliError} When the endpoint answers non-2xx or returns an unusable body.
1756
1756
  */ function fetchFirestoreSession(input) {
1757
- return _async_to_generator$1m(function() {
1757
+ return _async_to_generator$1n(function() {
1758
1758
  var url, res, text, body, session;
1759
- return _ts_generator$1m(this, function(_state) {
1759
+ return _ts_generator$1n(this, function(_state) {
1760
1760
  switch(_state.label){
1761
1761
  case 0:
1762
1762
  url = "".concat(trimSlash(input.apiBaseUrl)).concat(FIRESTORE_SESSION_API_PATH);
@@ -1840,7 +1840,7 @@ function _array_like_to_array$19(arr, len) {
1840
1840
  function _array_without_holes$12(arr) {
1841
1841
  if (Array.isArray(arr)) return _array_like_to_array$19(arr);
1842
1842
  }
1843
- function _define_property$T(obj, key, value) {
1843
+ function _define_property$U(obj, key, value) {
1844
1844
  if (key in obj) {
1845
1845
  Object.defineProperty(obj, key, {
1846
1846
  value: value,
@@ -1859,7 +1859,7 @@ function _iterable_to_array$12(iter) {
1859
1859
  function _non_iterable_spread$12() {
1860
1860
  throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
1861
1861
  }
1862
- function _object_spread$T(target) {
1862
+ function _object_spread$U(target) {
1863
1863
  for(var i = 1; i < arguments.length; i++){
1864
1864
  var source = arguments[i] != null ? arguments[i] : {};
1865
1865
  var ownKeys = Object.keys(source);
@@ -1869,12 +1869,12 @@ function _object_spread$T(target) {
1869
1869
  }));
1870
1870
  }
1871
1871
  ownKeys.forEach(function(key) {
1872
- _define_property$T(target, key, source[key]);
1872
+ _define_property$U(target, key, source[key]);
1873
1873
  });
1874
1874
  }
1875
1875
  return target;
1876
1876
  }
1877
- function ownKeys$B(object, enumerableOnly) {
1877
+ function ownKeys$C(object, enumerableOnly) {
1878
1878
  var keys = Object.keys(object);
1879
1879
  if (Object.getOwnPropertySymbols) {
1880
1880
  var symbols = Object.getOwnPropertySymbols(object);
@@ -1882,12 +1882,12 @@ function ownKeys$B(object, enumerableOnly) {
1882
1882
  }
1883
1883
  return keys;
1884
1884
  }
1885
- function _object_spread_props$B(target, source) {
1885
+ function _object_spread_props$C(target, source) {
1886
1886
  source = source != null ? source : {};
1887
1887
  if (Object.getOwnPropertyDescriptors) {
1888
1888
  Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
1889
1889
  } else {
1890
- ownKeys$B(Object(source)).forEach(function(key) {
1890
+ ownKeys$C(Object(source)).forEach(function(key) {
1891
1891
  Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
1892
1892
  });
1893
1893
  }
@@ -2035,7 +2035,7 @@ function _unsupported_iterable_to_array$19(o, minLen) {
2035
2035
  if (env || defaultEnv) {
2036
2036
  var _nonEmpty, _nonEmpty1, _nonEmpty2, _nonEmpty3;
2037
2037
  var emulators = mergeCliFirebaseEmulatorsConfig(env === null || env === void 0 ? void 0 : env.emulators, defaultEnv === null || defaultEnv === void 0 ? void 0 : defaultEnv.emulators);
2038
- result = _object_spread$T({
2038
+ result = _object_spread$U({
2039
2039
  apiKey: (_nonEmpty = nonEmpty(env === null || env === void 0 ? void 0 : env.apiKey)) !== null && _nonEmpty !== void 0 ? _nonEmpty : nonEmpty(defaultEnv === null || defaultEnv === void 0 ? void 0 : defaultEnv.apiKey),
2040
2040
  authDomain: (_nonEmpty1 = nonEmpty(env === null || env === void 0 ? void 0 : env.authDomain)) !== null && _nonEmpty1 !== void 0 ? _nonEmpty1 : nonEmpty(defaultEnv === null || defaultEnv === void 0 ? void 0 : defaultEnv.authDomain),
2041
2041
  projectId: (_nonEmpty2 = nonEmpty(env === null || env === void 0 ? void 0 : env.projectId)) !== null && _nonEmpty2 !== void 0 ? _nonEmpty2 : nonEmpty(defaultEnv === null || defaultEnv === void 0 ? void 0 : defaultEnv.projectId),
@@ -2130,7 +2130,7 @@ function nonEmpty(value) {
2130
2130
  } else {
2131
2131
  var _ref, _ref1;
2132
2132
  var _input_env, _input_env1, _input_env2, _input_env3, _input_env4, _input_env5, _input_env6, _input_env7, _input_env8;
2133
- var firebase = mergeCliFirebaseConfig(_object_spread$T({
2133
+ var firebase = mergeCliFirebaseConfig(_object_spread$U({
2134
2134
  apiKey: firebaseApiKey,
2135
2135
  authDomain: firebaseAuthDomain,
2136
2136
  projectId: firebaseProjectId,
@@ -2142,7 +2142,7 @@ function nonEmpty(value) {
2142
2142
  firestorePort: firebaseFirestoreEmulatorPort
2143
2143
  }
2144
2144
  } : undefined), (_input_env = input.env) === null || _input_env === void 0 ? void 0 : _input_env.firebase);
2145
- result = _object_spread$T({
2145
+ result = _object_spread$U({
2146
2146
  apiBaseUrl: (_ref = apiBaseUrl !== null && apiBaseUrl !== void 0 ? apiBaseUrl : (_input_env1 = input.env) === null || _input_env1 === void 0 ? void 0 : _input_env1.apiBaseUrl) !== null && _ref !== void 0 ? _ref : '',
2147
2147
  oidcIssuer: (_ref1 = oidcIssuer !== null && oidcIssuer !== void 0 ? oidcIssuer : (_input_env2 = input.env) === null || _input_env2 === void 0 ? void 0 : _input_env2.oidcIssuer) !== null && _ref1 !== void 0 ? _ref1 : '',
2148
2148
  appClientUrl: appClientUrl !== null && appClientUrl !== void 0 ? appClientUrl : (_input_env3 = input.env) === null || _input_env3 === void 0 ? void 0 : _input_env3.appClientUrl,
@@ -2191,7 +2191,7 @@ function parsePort(value) {
2191
2191
  if (refreshToken) {
2192
2192
  var accessToken = nonEmpty(process.env["".concat(prefix, "_ACCESS_TOKEN")]);
2193
2193
  var scope = nonEmpty(process.env["".concat(prefix, "_TOKEN_SCOPE")]);
2194
- result = _object_spread_props$B(_object_spread$T({
2194
+ result = _object_spread_props$C(_object_spread$U({
2195
2195
  accessToken: accessToken !== null && accessToken !== void 0 ? accessToken : '',
2196
2196
  refreshToken: refreshToken,
2197
2197
  // No reliable expiry is supplied via env, so force a refresh on first use (expiresAt 0 = expired).
@@ -2264,7 +2264,7 @@ function parsePort(value) {
2264
2264
  }).hasExpired();
2265
2265
  }
2266
2266
 
2267
- function asyncGeneratorStep$1l(gen, resolve, reject, _next, _throw, key, arg) {
2267
+ function asyncGeneratorStep$1m(gen, resolve, reject, _next, _throw, key, arg) {
2268
2268
  try {
2269
2269
  var info = gen[key](arg);
2270
2270
  var value = info.value;
@@ -2278,22 +2278,22 @@ function asyncGeneratorStep$1l(gen, resolve, reject, _next, _throw, key, arg) {
2278
2278
  Promise.resolve(value).then(_next, _throw);
2279
2279
  }
2280
2280
  }
2281
- function _async_to_generator$1l(fn) {
2281
+ function _async_to_generator$1m(fn) {
2282
2282
  return function() {
2283
2283
  var self = this, args = arguments;
2284
2284
  return new Promise(function(resolve, reject) {
2285
2285
  var gen = fn.apply(self, args);
2286
2286
  function _next(value) {
2287
- asyncGeneratorStep$1l(gen, resolve, reject, _next, _throw, "next", value);
2287
+ asyncGeneratorStep$1m(gen, resolve, reject, _next, _throw, "next", value);
2288
2288
  }
2289
2289
  function _throw(err) {
2290
- asyncGeneratorStep$1l(gen, resolve, reject, _next, _throw, "throw", err);
2290
+ asyncGeneratorStep$1m(gen, resolve, reject, _next, _throw, "throw", err);
2291
2291
  }
2292
2292
  _next(undefined);
2293
2293
  });
2294
2294
  };
2295
2295
  }
2296
- function _define_property$S(obj, key, value) {
2296
+ function _define_property$T(obj, key, value) {
2297
2297
  if (key in obj) {
2298
2298
  Object.defineProperty(obj, key, {
2299
2299
  value: value,
@@ -2306,7 +2306,7 @@ function _define_property$S(obj, key, value) {
2306
2306
  }
2307
2307
  return obj;
2308
2308
  }
2309
- function _instanceof$s(left, right) {
2309
+ function _instanceof$t(left, right) {
2310
2310
  "@swc/helpers - instanceof";
2311
2311
  if (right != null && typeof Symbol !== "undefined" && right[Symbol.hasInstance]) {
2312
2312
  return !!right[Symbol.hasInstance](left);
@@ -2314,7 +2314,7 @@ function _instanceof$s(left, right) {
2314
2314
  return left instanceof right;
2315
2315
  }
2316
2316
  }
2317
- function _object_spread$S(target) {
2317
+ function _object_spread$T(target) {
2318
2318
  for(var i = 1; i < arguments.length; i++){
2319
2319
  var source = arguments[i] != null ? arguments[i] : {};
2320
2320
  var ownKeys = Object.keys(source);
@@ -2324,12 +2324,12 @@ function _object_spread$S(target) {
2324
2324
  }));
2325
2325
  }
2326
2326
  ownKeys.forEach(function(key) {
2327
- _define_property$S(target, key, source[key]);
2327
+ _define_property$T(target, key, source[key]);
2328
2328
  });
2329
2329
  }
2330
2330
  return target;
2331
2331
  }
2332
- function ownKeys$A(object, enumerableOnly) {
2332
+ function ownKeys$B(object, enumerableOnly) {
2333
2333
  var keys = Object.keys(object);
2334
2334
  if (Object.getOwnPropertySymbols) {
2335
2335
  var symbols = Object.getOwnPropertySymbols(object);
@@ -2337,18 +2337,18 @@ function ownKeys$A(object, enumerableOnly) {
2337
2337
  }
2338
2338
  return keys;
2339
2339
  }
2340
- function _object_spread_props$A(target, source) {
2340
+ function _object_spread_props$B(target, source) {
2341
2341
  source = source != null ? source : {};
2342
2342
  if (Object.getOwnPropertyDescriptors) {
2343
2343
  Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
2344
2344
  } else {
2345
- ownKeys$A(Object(source)).forEach(function(key) {
2345
+ ownKeys$B(Object(source)).forEach(function(key) {
2346
2346
  Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
2347
2347
  });
2348
2348
  }
2349
2349
  return target;
2350
2350
  }
2351
- function _ts_generator$1l(thisArg, body) {
2351
+ function _ts_generator$1m(thisArg, body) {
2352
2352
  var f, y, t, _ = {
2353
2353
  label: 0,
2354
2354
  sent: function() {
@@ -2447,6 +2447,21 @@ function _ts_generator$1l(thisArg, body) {
2447
2447
  };
2448
2448
  }
2449
2449
  }
2450
+ /**
2451
+ * The Firebase app name a direct-Firestore session registers for a CLI + env pair.
2452
+ *
2453
+ * Deriving the name rather than tracking apps in a side registry is what makes ONE app per CLI + env
2454
+ * per process a property of the code instead of a convention: {@link createCliFirestoreSessionContext}
2455
+ * looks this name up in `getApps()` before initializing, so repeated session opens in one process —
2456
+ * a doctor probe alongside a command's own session, an action that re-resolves the accessor — all
2457
+ * share a single app, and {@link closeAllCliFirebaseApps} finds it again from the name alone.
2458
+ *
2459
+ * @param input - The CLI name and env name the session targets.
2460
+ * @returns The Firebase app name for that pair.
2461
+ * @__NO_SIDE_EFFECTS__
2462
+ */ function cliFirebaseAppName(input) {
2463
+ return "".concat(input.cliName, "-").concat(input.envName);
2464
+ }
2450
2465
  /**
2451
2466
  * Opens a direct Firestore connection as the authenticated CLI user.
2452
2467
  *
@@ -2474,9 +2489,9 @@ function _ts_generator$1l(thisArg, body) {
2474
2489
  * @returns The live {@link CliFirestoreSessionContext}.
2475
2490
  * @throws {CliError} When the env lacks Firebase client config, or any step of the handshake fails.
2476
2491
  */ function createCliFirestoreSessionContext(input) {
2477
- return _async_to_generator$1l(function() {
2492
+ return _async_to_generator$1m(function() {
2478
2493
  var _ref, _getApps_find, _firebase_emulators, _firebase_emulators1, _firebase_emulators2, cliName, envName, env, accessToken, fetcher, sessionCache, _input_refreshSession, refreshSession, firebase, cached, _tmp, liveCached, fromCache, session, _tmp1, appName, app, useEmulators, appCheckToken, expireTimeMillis, emulatorHost, auth, firestore, e;
2479
- return _ts_generator$1l(this, function(_state) {
2494
+ return _ts_generator$1m(this, function(_state) {
2480
2495
  switch(_state.label){
2481
2496
  case 0:
2482
2497
  cliName = input.cliName, envName = input.envName, env = input.env, accessToken = input.accessToken, fetcher = input.fetcher, sessionCache = input.sessionCache, _input_refreshSession = input.refreshSession, refreshSession = _input_refreshSession === void 0 ? false : _input_refreshSession;
@@ -2548,7 +2563,10 @@ function _ts_generator$1l(thisArg, body) {
2548
2563
  _state.sent();
2549
2564
  _state.label = 8;
2550
2565
  case 8:
2551
- appName = "".concat(cliName, "-").concat(envName);
2566
+ appName = cliFirebaseAppName({
2567
+ cliName: cliName,
2568
+ envName: envName
2569
+ });
2552
2570
  app = (_getApps_find = getApps().find(function(x) {
2553
2571
  return x.name === appName;
2554
2572
  })) !== null && _getApps_find !== void 0 ? _getApps_find : initializeApp({
@@ -2566,8 +2584,8 @@ function _ts_generator$1l(thisArg, body) {
2566
2584
  initializeAppCheck(app, {
2567
2585
  provider: new CustomProvider({
2568
2586
  getToken: function getToken() {
2569
- return _async_to_generator$1l(function() {
2570
- return _ts_generator$1l(this, function(_state) {
2587
+ return _async_to_generator$1m(function() {
2588
+ return _ts_generator$1m(this, function(_state) {
2571
2589
  return [
2572
2590
  2,
2573
2591
  {
@@ -2626,13 +2644,13 @@ function _ts_generator$1l(thisArg, body) {
2626
2644
  _state.sent();
2627
2645
  return [
2628
2646
  2,
2629
- createCliFirestoreSessionContext(_object_spread_props$A(_object_spread$S({}, input), {
2647
+ createCliFirestoreSessionContext(_object_spread_props$B(_object_spread$T({}, input), {
2630
2648
  refreshSession: true
2631
2649
  }))
2632
2650
  ];
2633
2651
  case 13:
2634
2652
  throw new CliError({
2635
- message: "Failed to sign in with the minted custom token: ".concat(_instanceof$s(e, Error) ? e.message : String(e)),
2653
+ message: "Failed to sign in with the minted custom token: ".concat(_instanceof$t(e, Error) ? e.message : String(e)),
2636
2654
  code: 'AUTH_UNAUTHORIZED',
2637
2655
  suggestion: 'Verify the env `firebase.projectId`/`firebase.apiKey` match the project the API mints tokens for.'
2638
2656
  });
@@ -2669,8 +2687,30 @@ function _ts_generator$1l(thisArg, body) {
2669
2687
  *
2670
2688
  * @param session - The session context to close.
2671
2689
  */ function closeCliFirestoreSessionContext(session) {
2672
- return _async_to_generator$1l(function() {
2673
- return _ts_generator$1l(this, function(_state) {
2690
+ return _async_to_generator$1m(function() {
2691
+ return _ts_generator$1m(this, function(_state) {
2692
+ switch(_state.label){
2693
+ case 0:
2694
+ return [
2695
+ 4,
2696
+ closeCliFirebaseApp(session.app)
2697
+ ];
2698
+ case 1:
2699
+ _state.sent();
2700
+ return [
2701
+ 2
2702
+ ];
2703
+ }
2704
+ });
2705
+ })();
2706
+ }
2707
+ /**
2708
+ * Deletes one Firebase app, swallowing any failure.
2709
+ *
2710
+ * @param app - The app to delete.
2711
+ */ function closeCliFirebaseApp(app) {
2712
+ return _async_to_generator$1m(function() {
2713
+ return _ts_generator$1m(this, function(_state) {
2674
2714
  switch(_state.label){
2675
2715
  case 0:
2676
2716
  _state.trys.push([
@@ -2681,7 +2721,7 @@ function _ts_generator$1l(thisArg, body) {
2681
2721
  ]);
2682
2722
  return [
2683
2723
  4,
2684
- deleteApp(session.app)
2724
+ deleteApp(app)
2685
2725
  ];
2686
2726
  case 1:
2687
2727
  _state.sent();
@@ -2703,6 +2743,56 @@ function _ts_generator$1l(thisArg, body) {
2703
2743
  });
2704
2744
  })();
2705
2745
  }
2746
+ /**
2747
+ * Deletes every still-live Firebase app this CLI opened, whether or not a session was handed back.
2748
+ *
2749
+ * The CLI's last line of defence against a hang. `closeCliFirestoreSessionContext` covers the normal
2750
+ * path, but it needs a session to be handed to it, and three cases never produce one:
2751
+ *
2752
+ * - a handshake that fails AFTER `initializeApp` — a rejected custom token, a failed App Check
2753
+ * registration — throws, so the caller that catches it has an initialized app and no session;
2754
+ * - a caller that opens its own session outside the context memo (the doctor probe) owns its own
2755
+ * teardown, and forgetting it hangs the process;
2756
+ * - a {@link CliContext} orphaned mid-invocation carries the only reference to its session memo.
2757
+ *
2758
+ * Each leaves an app whose `Firestore` and signed-in `Auth` hold the Node event loop open forever.
2759
+ * `getApps()` already tracks every live app and `deleteApp` removes it from that list, so the app
2760
+ * names {@link cliFirebaseAppName} derives are enough to find them again — no side registry to keep
2761
+ * in sync, and idempotent by construction.
2762
+ *
2763
+ * Tolerant of failures for the same reason {@link closeCliFirestoreSessionContext} is: it runs after
2764
+ * the result is already on stdout.
2765
+ *
2766
+ * @param input - The function inputs.
2767
+ * @param input.cliName - The CLI whose apps should be closed. Apps belonging to other Firebase
2768
+ * consumers in the same process are left alone.
2769
+ * @returns Resolves once every matching app has been deleted.
2770
+ */ function closeAllCliFirebaseApps(input) {
2771
+ return _async_to_generator$1m(function() {
2772
+ var prefix, apps;
2773
+ return _ts_generator$1m(this, function(_state) {
2774
+ switch(_state.label){
2775
+ case 0:
2776
+ // every env this process opened a session for, which is normally exactly one
2777
+ prefix = "".concat(input.cliName, "-");
2778
+ apps = getApps().filter(function(x) {
2779
+ return x.name.startsWith(prefix);
2780
+ });
2781
+ return [
2782
+ 4,
2783
+ Promise.all(apps.map(function(app) {
2784
+ return closeCliFirebaseApp(app);
2785
+ }))
2786
+ ];
2787
+ case 1:
2788
+ _state.sent();
2789
+ return [
2790
+ 2
2791
+ ];
2792
+ }
2793
+ });
2794
+ })();
2795
+ }
2706
2796
  /**
2707
2797
  * Resolves the App Check token's expiry from the session envelope, falling back to a short window
2708
2798
  * when the API returned an unparsable `expiresAt`.
@@ -2753,7 +2843,7 @@ function _ts_generator$1l(thisArg, body) {
2753
2843
  };
2754
2844
  }
2755
2845
 
2756
- function asyncGeneratorStep$1k(gen, resolve, reject, _next, _throw, key, arg) {
2846
+ function asyncGeneratorStep$1l(gen, resolve, reject, _next, _throw, key, arg) {
2757
2847
  try {
2758
2848
  var info = gen[key](arg);
2759
2849
  var value = info.value;
@@ -2767,22 +2857,22 @@ function asyncGeneratorStep$1k(gen, resolve, reject, _next, _throw, key, arg) {
2767
2857
  Promise.resolve(value).then(_next, _throw);
2768
2858
  }
2769
2859
  }
2770
- function _async_to_generator$1k(fn) {
2860
+ function _async_to_generator$1l(fn) {
2771
2861
  return function() {
2772
2862
  var self = this, args = arguments;
2773
2863
  return new Promise(function(resolve, reject) {
2774
2864
  var gen = fn.apply(self, args);
2775
2865
  function _next(value) {
2776
- asyncGeneratorStep$1k(gen, resolve, reject, _next, _throw, "next", value);
2866
+ asyncGeneratorStep$1l(gen, resolve, reject, _next, _throw, "next", value);
2777
2867
  }
2778
2868
  function _throw(err) {
2779
- asyncGeneratorStep$1k(gen, resolve, reject, _next, _throw, "throw", err);
2869
+ asyncGeneratorStep$1l(gen, resolve, reject, _next, _throw, "throw", err);
2780
2870
  }
2781
2871
  _next(undefined);
2782
2872
  });
2783
2873
  };
2784
2874
  }
2785
- function _ts_generator$1k(thisArg, body) {
2875
+ function _ts_generator$1l(thisArg, body) {
2786
2876
  var f, y, t, _ = {
2787
2877
  label: 0,
2788
2878
  sent: function() {
@@ -2894,9 +2984,9 @@ function _ts_generator$1k(thisArg, body) {
2894
2984
  * @returns The opened (and memoized) direct-Firestore session.
2895
2985
  * @throws {CliError} When the context does not support direct-Firestore sessions.
2896
2986
  */ function requireCliFirestoreSession(context) {
2897
- return _async_to_generator$1k(function() {
2987
+ return _async_to_generator$1l(function() {
2898
2988
  var getFirestoreSession;
2899
- return _ts_generator$1k(this, function(_state) {
2989
+ return _ts_generator$1l(this, function(_state) {
2900
2990
  getFirestoreSession = context.getFirestoreSession;
2901
2991
  if (!getFirestoreSession) {
2902
2992
  throw new CliError({
@@ -2923,8 +3013,8 @@ function _ts_generator$1k(thisArg, body) {
2923
3013
  * @returns The client `FirestoreContext` an app's collections factory consumes.
2924
3014
  * @throws {CliError} When the context does not support direct-Firestore sessions.
2925
3015
  */ function requireCliFirestoreContext(context) {
2926
- return _async_to_generator$1k(function() {
2927
- return _ts_generator$1k(this, function(_state) {
3016
+ return _async_to_generator$1l(function() {
3017
+ return _ts_generator$1l(this, function(_state) {
2928
3018
  switch(_state.label){
2929
3019
  case 0:
2930
3020
  return [
@@ -3021,9 +3111,9 @@ var getCliContext = _cliContextSlot.get;
3021
3111
  return getFirestoreModelsForBinding(firestore);
3022
3112
  };
3023
3113
  function closeFirestoreSession() {
3024
- return _async_to_generator$1k(function() {
3114
+ return _async_to_generator$1l(function() {
3025
3115
  var opened, session;
3026
- return _ts_generator$1k(this, function(_state) {
3116
+ return _ts_generator$1l(this, function(_state) {
3027
3117
  switch(_state.label){
3028
3118
  case 0:
3029
3119
  opened = firestoreSession;
@@ -3102,7 +3192,7 @@ var getCliContext = _cliContextSlot.get;
3102
3192
  };
3103
3193
  }
3104
3194
 
3105
- function asyncGeneratorStep$1j(gen, resolve, reject, _next, _throw, key, arg) {
3195
+ function asyncGeneratorStep$1k(gen, resolve, reject, _next, _throw, key, arg) {
3106
3196
  try {
3107
3197
  var info = gen[key](arg);
3108
3198
  var value = info.value;
@@ -3116,22 +3206,22 @@ function asyncGeneratorStep$1j(gen, resolve, reject, _next, _throw, key, arg) {
3116
3206
  Promise.resolve(value).then(_next, _throw);
3117
3207
  }
3118
3208
  }
3119
- function _async_to_generator$1j(fn) {
3209
+ function _async_to_generator$1k(fn) {
3120
3210
  return function() {
3121
3211
  var self = this, args = arguments;
3122
3212
  return new Promise(function(resolve, reject) {
3123
3213
  var gen = fn.apply(self, args);
3124
3214
  function _next(value) {
3125
- asyncGeneratorStep$1j(gen, resolve, reject, _next, _throw, "next", value);
3215
+ asyncGeneratorStep$1k(gen, resolve, reject, _next, _throw, "next", value);
3126
3216
  }
3127
3217
  function _throw(err) {
3128
- asyncGeneratorStep$1j(gen, resolve, reject, _next, _throw, "throw", err);
3218
+ asyncGeneratorStep$1k(gen, resolve, reject, _next, _throw, "throw", err);
3129
3219
  }
3130
3220
  _next(undefined);
3131
3221
  });
3132
3222
  };
3133
3223
  }
3134
- function _ts_generator$1j(thisArg, body) {
3224
+ function _ts_generator$1k(thisArg, body) {
3135
3225
  var f, y, t, _ = {
3136
3226
  label: 0,
3137
3227
  sent: function() {
@@ -3244,9 +3334,9 @@ function _ts_generator$1j(thisArg, body) {
3244
3334
  */ function wrapCommandHandler(handler) {
3245
3335
  var exitCode = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : CLI_EXIT_CODE_HANDLER;
3246
3336
  return function(argv) {
3247
- return _async_to_generator$1j(function() {
3337
+ return _async_to_generator$1k(function() {
3248
3338
  var e;
3249
- return _ts_generator$1j(this, function(_state) {
3339
+ return _ts_generator$1k(this, function(_state) {
3250
3340
  switch(_state.label){
3251
3341
  case 0:
3252
3342
  _state.trys.push([
@@ -3307,7 +3397,7 @@ function _ts_generator$1j(thisArg, body) {
3307
3397
  };
3308
3398
  }
3309
3399
 
3310
- function asyncGeneratorStep$1i(gen, resolve, reject, _next, _throw, key, arg) {
3400
+ function asyncGeneratorStep$1j(gen, resolve, reject, _next, _throw, key, arg) {
3311
3401
  try {
3312
3402
  var info = gen[key](arg);
3313
3403
  var value = info.value;
@@ -3321,22 +3411,22 @@ function asyncGeneratorStep$1i(gen, resolve, reject, _next, _throw, key, arg) {
3321
3411
  Promise.resolve(value).then(_next, _throw);
3322
3412
  }
3323
3413
  }
3324
- function _async_to_generator$1i(fn) {
3414
+ function _async_to_generator$1j(fn) {
3325
3415
  return function() {
3326
3416
  var self = this, args = arguments;
3327
3417
  return new Promise(function(resolve, reject) {
3328
3418
  var gen = fn.apply(self, args);
3329
3419
  function _next(value) {
3330
- asyncGeneratorStep$1i(gen, resolve, reject, _next, _throw, "next", value);
3420
+ asyncGeneratorStep$1j(gen, resolve, reject, _next, _throw, "next", value);
3331
3421
  }
3332
3422
  function _throw(err) {
3333
- asyncGeneratorStep$1i(gen, resolve, reject, _next, _throw, "throw", err);
3423
+ asyncGeneratorStep$1j(gen, resolve, reject, _next, _throw, "throw", err);
3334
3424
  }
3335
3425
  _next(undefined);
3336
3426
  });
3337
3427
  };
3338
3428
  }
3339
- function _ts_generator$1i(thisArg, body) {
3429
+ function _ts_generator$1j(thisArg, body) {
3340
3430
  var f, y, t, _ = {
3341
3431
  label: 0,
3342
3432
  sent: function() {
@@ -3456,9 +3546,9 @@ function _ts_generator$1i(thisArg, body) {
3456
3546
  return spec.helpEpilogue ? built.epilogue(spec.helpEpilogue) : built;
3457
3547
  },
3458
3548
  handler: wrapCommandHandler(function(argv) {
3459
- return _async_to_generator$1i(function() {
3549
+ return _async_to_generator$1j(function() {
3460
3550
  var context, result;
3461
- return _ts_generator$1i(this, function(_state) {
3551
+ return _ts_generator$1j(this, function(_state) {
3462
3552
  switch(_state.label){
3463
3553
  case 0:
3464
3554
  context = requireCliContext();
@@ -3694,7 +3784,7 @@ function _array_with_holes$k(arr) {
3694
3784
  function _array_without_holes$10(arr) {
3695
3785
  if (Array.isArray(arr)) return _array_like_to_array$17(arr);
3696
3786
  }
3697
- function asyncGeneratorStep$1h(gen, resolve, reject, _next, _throw, key, arg) {
3787
+ function asyncGeneratorStep$1i(gen, resolve, reject, _next, _throw, key, arg) {
3698
3788
  try {
3699
3789
  var info = gen[key](arg);
3700
3790
  var value = info.value;
@@ -3708,22 +3798,22 @@ function asyncGeneratorStep$1h(gen, resolve, reject, _next, _throw, key, arg) {
3708
3798
  Promise.resolve(value).then(_next, _throw);
3709
3799
  }
3710
3800
  }
3711
- function _async_to_generator$1h(fn) {
3801
+ function _async_to_generator$1i(fn) {
3712
3802
  return function() {
3713
3803
  var self = this, args = arguments;
3714
3804
  return new Promise(function(resolve, reject) {
3715
3805
  var gen = fn.apply(self, args);
3716
3806
  function _next(value) {
3717
- asyncGeneratorStep$1h(gen, resolve, reject, _next, _throw, "next", value);
3807
+ asyncGeneratorStep$1i(gen, resolve, reject, _next, _throw, "next", value);
3718
3808
  }
3719
3809
  function _throw(err) {
3720
- asyncGeneratorStep$1h(gen, resolve, reject, _next, _throw, "throw", err);
3810
+ asyncGeneratorStep$1i(gen, resolve, reject, _next, _throw, "throw", err);
3721
3811
  }
3722
3812
  _next(undefined);
3723
3813
  });
3724
3814
  };
3725
3815
  }
3726
- function _define_property$R(obj, key, value) {
3816
+ function _define_property$S(obj, key, value) {
3727
3817
  if (key in obj) {
3728
3818
  Object.defineProperty(obj, key, {
3729
3819
  value: value,
@@ -3769,7 +3859,7 @@ function _non_iterable_rest$k() {
3769
3859
  function _non_iterable_spread$10() {
3770
3860
  throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
3771
3861
  }
3772
- function _object_spread$R(target) {
3862
+ function _object_spread$S(target) {
3773
3863
  for(var i = 1; i < arguments.length; i++){
3774
3864
  var source = arguments[i] != null ? arguments[i] : {};
3775
3865
  var ownKeys = Object.keys(source);
@@ -3779,12 +3869,12 @@ function _object_spread$R(target) {
3779
3869
  }));
3780
3870
  }
3781
3871
  ownKeys.forEach(function(key) {
3782
- _define_property$R(target, key, source[key]);
3872
+ _define_property$S(target, key, source[key]);
3783
3873
  });
3784
3874
  }
3785
3875
  return target;
3786
3876
  }
3787
- function ownKeys$z(object, enumerableOnly) {
3877
+ function ownKeys$A(object, enumerableOnly) {
3788
3878
  var keys = Object.keys(object);
3789
3879
  if (Object.getOwnPropertySymbols) {
3790
3880
  var symbols = Object.getOwnPropertySymbols(object);
@@ -3792,12 +3882,12 @@ function ownKeys$z(object, enumerableOnly) {
3792
3882
  }
3793
3883
  return keys;
3794
3884
  }
3795
- function _object_spread_props$z(target, source) {
3885
+ function _object_spread_props$A(target, source) {
3796
3886
  source = source != null ? source : {};
3797
3887
  if (Object.getOwnPropertyDescriptors) {
3798
3888
  Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
3799
3889
  } else {
3800
- ownKeys$z(Object(source)).forEach(function(key) {
3890
+ ownKeys$A(Object(source)).forEach(function(key) {
3801
3891
  Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
3802
3892
  });
3803
3893
  }
@@ -3817,7 +3907,7 @@ function _unsupported_iterable_to_array$17(o, minLen) {
3817
3907
  if (n === "Map" || n === "Set") return Array.from(n);
3818
3908
  if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$17(o, minLen);
3819
3909
  }
3820
- function _ts_generator$1h(thisArg, body) {
3910
+ function _ts_generator$1i(thisArg, body) {
3821
3911
  var f, y, t, _ = {
3822
3912
  label: 0,
3823
3913
  sent: function() {
@@ -3931,7 +4021,7 @@ var _defaultResponseAdapter = {
3931
4021
  }
3932
4022
  };
3933
4023
  function _defaultBuildRequestData(params, state, limit) {
3934
- var base = _object_spread$R({}, params);
4024
+ var base = _object_spread$S({}, params);
3935
4025
  if (state.cursorDocumentKey != null) {
3936
4026
  base['cursorDocumentKey'] = state.cursorDocumentKey;
3937
4027
  }
@@ -3941,9 +4031,9 @@ function _defaultBuildRequestData(params, state, limit) {
3941
4031
  return base;
3942
4032
  }
3943
4033
  function _runItemTasks(input) {
3944
- return _async_to_generator$1h(function() {
4034
+ return _async_to_generator$1i(function() {
3945
4035
  var context, items, keys, pageIndex, iterateItem, itemPerformTasksConfig, maxParallelPerPage, indexed, taskConfig, performResult;
3946
- return _ts_generator$1h(this, function(_state) {
4036
+ return _ts_generator$1i(this, function(_state) {
3947
4037
  switch(_state.label){
3948
4038
  case 0:
3949
4039
  context = input.context, items = input.items, keys = input.keys, pageIndex = input.pageIndex, iterateItem = input.iterateItem, itemPerformTasksConfig = input.itemPerformTasksConfig, maxParallelPerPage = input.maxParallelPerPage;
@@ -3955,7 +4045,7 @@ function _runItemTasks(input) {
3955
4045
  itemIndex: itemIndex
3956
4046
  };
3957
4047
  });
3958
- taskConfig = _object_spread_props$z(_object_spread$R({
4048
+ taskConfig = _object_spread_props$A(_object_spread$S({
3959
4049
  sequential: true,
3960
4050
  throwError: true
3961
4051
  }, itemPerformTasksConfig), {
@@ -3988,9 +4078,9 @@ function _runItemTasks(input) {
3988
4078
  })();
3989
4079
  }
3990
4080
  function _processPage(input) {
3991
- return _async_to_generator$1h(function() {
4081
+ return _async_to_generator$1i(function() {
3992
4082
  var context, raw, pageIndex, responseAdapter, iterateItem, iteratePage, itemPerformTasksConfig, maxParallelPerPage, items, keys, nextCursorDocumentKey, hasMore, itemResults, _tmp, pageResult, _tmp1, output;
3993
- return _ts_generator$1h(this, function(_state) {
4083
+ return _ts_generator$1i(this, function(_state) {
3994
4084
  switch(_state.label){
3995
4085
  case 0:
3996
4086
  context = input.context, raw = input.raw, pageIndex = input.pageIndex, responseAdapter = input.responseAdapter, iterateItem = input.iterateItem, iteratePage = input.iteratePage, itemPerformTasksConfig = input.itemPerformTasksConfig, maxParallelPerPage = input.maxParallelPerPage;
@@ -4130,9 +4220,9 @@ function _evaluateLoopExit(input) {
4130
4220
  * });
4131
4221
  * ```
4132
4222
  */ function iterateDbxCliCallModel(config) {
4133
- return _async_to_generator$1h(function() {
4223
+ return _async_to_generator$1i(function() {
4134
4224
  var context, modelType, call, specifier, params, _config_buildRequestData, buildRequestData, _config_responseAdapter, responseAdapter, limitPerPage, totalItemsLimit, maxPages, iterateItem, iteratePage, itemPerformTasksConfig, maxParallelPerPage, _config_collectItems, collectItems, _config_collectItemResults, collectItemResults, _config_collectPageResults, collectPageResults, allItems, allItemResults, allPageResults, pageIndex, totalItems, cursorDocumentKey, hitLimit, keepGoing, collectItemsForPage, collectItemResultsForPage, collectPageResultsForPage, effectiveLimit, data, raw, pageOutcome, _allItems, _allItemResults, exit, result;
4135
- return _ts_generator$1h(this, function(_state) {
4225
+ return _ts_generator$1i(this, function(_state) {
4136
4226
  switch(_state.label){
4137
4227
  case 0:
4138
4228
  context = config.context, modelType = config.modelType, call = config.call, specifier = config.specifier, params = config.params, _config_buildRequestData = config.buildRequestData, buildRequestData = _config_buildRequestData === void 0 ? _defaultBuildRequestData : _config_buildRequestData, _config_responseAdapter = config.responseAdapter, responseAdapter = _config_responseAdapter === void 0 ? _defaultResponseAdapter : _config_responseAdapter, limitPerPage = config.limitPerPage, totalItemsLimit = config.totalItemsLimit, maxPages = config.maxPages, iterateItem = config.iterateItem, iteratePage = config.iteratePage, itemPerformTasksConfig = config.itemPerformTasksConfig, maxParallelPerPage = config.maxParallelPerPage, _config_collectItems = config.collectItems, collectItems = _config_collectItems === void 0 ? true : _config_collectItems, _config_collectItemResults = config.collectItemResults, collectItemResults = _config_collectItemResults === void 0 ? iterateItem != null : _config_collectItemResults, _config_collectPageResults = config.collectPageResults, collectPageResults = _config_collectPageResults === void 0 ? iteratePage != null : _config_collectPageResults;
@@ -4212,7 +4302,7 @@ function _evaluateLoopExit(input) {
4212
4302
  1
4213
4303
  ];
4214
4304
  case 4:
4215
- result = _object_spread$R({
4305
+ result = _object_spread$S({
4216
4306
  totalPages: pageIndex,
4217
4307
  totalItems: totalItems,
4218
4308
  hitLimit: hitLimit,
@@ -4233,7 +4323,7 @@ function _evaluateLoopExit(input) {
4233
4323
  })();
4234
4324
  }
4235
4325
 
4236
- function asyncGeneratorStep$1g(gen, resolve, reject, _next, _throw, key, arg) {
4326
+ function asyncGeneratorStep$1h(gen, resolve, reject, _next, _throw, key, arg) {
4237
4327
  try {
4238
4328
  var info = gen[key](arg);
4239
4329
  var value = info.value;
@@ -4247,22 +4337,22 @@ function asyncGeneratorStep$1g(gen, resolve, reject, _next, _throw, key, arg) {
4247
4337
  Promise.resolve(value).then(_next, _throw);
4248
4338
  }
4249
4339
  }
4250
- function _async_to_generator$1g(fn) {
4340
+ function _async_to_generator$1h(fn) {
4251
4341
  return function() {
4252
4342
  var self = this, args = arguments;
4253
4343
  return new Promise(function(resolve, reject) {
4254
4344
  var gen = fn.apply(self, args);
4255
4345
  function _next(value) {
4256
- asyncGeneratorStep$1g(gen, resolve, reject, _next, _throw, "next", value);
4346
+ asyncGeneratorStep$1h(gen, resolve, reject, _next, _throw, "next", value);
4257
4347
  }
4258
4348
  function _throw(err) {
4259
- asyncGeneratorStep$1g(gen, resolve, reject, _next, _throw, "throw", err);
4349
+ asyncGeneratorStep$1h(gen, resolve, reject, _next, _throw, "throw", err);
4260
4350
  }
4261
4351
  _next(undefined);
4262
4352
  });
4263
4353
  };
4264
4354
  }
4265
- function _define_property$Q(obj, key, value) {
4355
+ function _define_property$R(obj, key, value) {
4266
4356
  if (key in obj) {
4267
4357
  Object.defineProperty(obj, key, {
4268
4358
  value: value,
@@ -4275,7 +4365,7 @@ function _define_property$Q(obj, key, value) {
4275
4365
  }
4276
4366
  return obj;
4277
4367
  }
4278
- function _object_spread$Q(target) {
4368
+ function _object_spread$R(target) {
4279
4369
  for(var i = 1; i < arguments.length; i++){
4280
4370
  var source = arguments[i] != null ? arguments[i] : {};
4281
4371
  var ownKeys = Object.keys(source);
@@ -4285,12 +4375,12 @@ function _object_spread$Q(target) {
4285
4375
  }));
4286
4376
  }
4287
4377
  ownKeys.forEach(function(key) {
4288
- _define_property$Q(target, key, source[key]);
4378
+ _define_property$R(target, key, source[key]);
4289
4379
  });
4290
4380
  }
4291
4381
  return target;
4292
4382
  }
4293
- function ownKeys$y(object, enumerableOnly) {
4383
+ function ownKeys$z(object, enumerableOnly) {
4294
4384
  var keys = Object.keys(object);
4295
4385
  if (Object.getOwnPropertySymbols) {
4296
4386
  var symbols = Object.getOwnPropertySymbols(object);
@@ -4298,18 +4388,18 @@ function ownKeys$y(object, enumerableOnly) {
4298
4388
  }
4299
4389
  return keys;
4300
4390
  }
4301
- function _object_spread_props$y(target, source) {
4391
+ function _object_spread_props$z(target, source) {
4302
4392
  source = source != null ? source : {};
4303
4393
  if (Object.getOwnPropertyDescriptors) {
4304
4394
  Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
4305
4395
  } else {
4306
- ownKeys$y(Object(source)).forEach(function(key) {
4396
+ ownKeys$z(Object(source)).forEach(function(key) {
4307
4397
  Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
4308
4398
  });
4309
4399
  }
4310
4400
  return target;
4311
4401
  }
4312
- function _ts_generator$1g(thisArg, body) {
4402
+ function _ts_generator$1h(thisArg, body) {
4313
4403
  var f, y, t, _ = {
4314
4404
  label: 0,
4315
4405
  sent: function() {
@@ -4425,14 +4515,14 @@ function _ts_generator$1g(thisArg, body) {
4425
4515
  return spec.builder ? spec.builder(yargs) : yargs;
4426
4516
  },
4427
4517
  handler: wrapCommandHandler(function(argv) {
4428
- return _async_to_generator$1g(function() {
4518
+ return _async_to_generator$1h(function() {
4429
4519
  var context, data, params, result;
4430
- return _ts_generator$1g(this, function(_state) {
4520
+ return _ts_generator$1h(this, function(_state) {
4431
4521
  switch(_state.label){
4432
4522
  case 0:
4433
4523
  context = requireCliContext();
4434
4524
  data = spec.buildParams(argv);
4435
- params = _object_spread_props$y(_object_spread$Q({
4525
+ params = _object_spread_props$z(_object_spread$R({
4436
4526
  modelType: spec.model,
4437
4527
  call: spec.verb
4438
4528
  }, spec.specifier == null ? {} : {
@@ -4612,7 +4702,7 @@ function AsyncFromSyncIterator$4(s) {
4612
4702
  }
4613
4703
  }, new AsyncFromSyncIterator$4(s);
4614
4704
  }
4615
- function asyncGeneratorStep$1f(gen, resolve, reject, _next, _throw, key, arg) {
4705
+ function asyncGeneratorStep$1g(gen, resolve, reject, _next, _throw, key, arg) {
4616
4706
  try {
4617
4707
  var info = gen[key](arg);
4618
4708
  var value = info.value;
@@ -4626,22 +4716,22 @@ function asyncGeneratorStep$1f(gen, resolve, reject, _next, _throw, key, arg) {
4626
4716
  Promise.resolve(value).then(_next, _throw);
4627
4717
  }
4628
4718
  }
4629
- function _async_to_generator$1f(fn) {
4719
+ function _async_to_generator$1g(fn) {
4630
4720
  return function() {
4631
4721
  var self = this, args = arguments;
4632
4722
  return new Promise(function(resolve, reject) {
4633
4723
  var gen = fn.apply(self, args);
4634
4724
  function _next(value) {
4635
- asyncGeneratorStep$1f(gen, resolve, reject, _next, _throw, "next", value);
4725
+ asyncGeneratorStep$1g(gen, resolve, reject, _next, _throw, "next", value);
4636
4726
  }
4637
4727
  function _throw(err) {
4638
- asyncGeneratorStep$1f(gen, resolve, reject, _next, _throw, "throw", err);
4728
+ asyncGeneratorStep$1g(gen, resolve, reject, _next, _throw, "throw", err);
4639
4729
  }
4640
4730
  _next(undefined);
4641
4731
  });
4642
4732
  };
4643
4733
  }
4644
- function _ts_generator$1f(thisArg, body) {
4734
+ function _ts_generator$1g(thisArg, body) {
4645
4735
  var f, y, t, _ = {
4646
4736
  label: 0,
4647
4737
  sent: function() {
@@ -4804,9 +4894,9 @@ function _ts_generator$1f(thisArg, body) {
4804
4894
  * @returns The UTF-8 decoded stdin contents.
4805
4895
  * @throws {CliError} When stdin is a TTY, with `code: 'STDIN_NOT_PIPED'`.
4806
4896
  */ function readAllStdin() {
4807
- return _async_to_generator$1f(function() {
4897
+ return _async_to_generator$1g(function() {
4808
4898
  var chunks, _iteratorAbruptCompletion, _didIteratorError, _iteratorError, _iterator, _step, _value, chunk, err;
4809
- return _ts_generator$1f(this, function(_state) {
4899
+ return _ts_generator$1g(this, function(_state) {
4810
4900
  switch(_state.label){
4811
4901
  case 0:
4812
4902
  if (process.stdin.isTTY) {
@@ -4910,9 +5000,9 @@ function _ts_generator$1f(thisArg, body) {
4910
5000
  *
4911
5001
  * @returns The tokens parsed from stdin.
4912
5002
  */ function readStdinTokens() {
4913
- return _async_to_generator$1f(function() {
5003
+ return _async_to_generator$1g(function() {
4914
5004
  var raw;
4915
- return _ts_generator$1f(this, function(_state) {
5005
+ return _ts_generator$1g(this, function(_state) {
4916
5006
  switch(_state.label){
4917
5007
  case 0:
4918
5008
  return [
@@ -4932,7 +5022,7 @@ function _ts_generator$1f(thisArg, body) {
4932
5022
  })();
4933
5023
  }
4934
5024
 
4935
- function asyncGeneratorStep$1e(gen, resolve, reject, _next, _throw, key, arg) {
5025
+ function asyncGeneratorStep$1f(gen, resolve, reject, _next, _throw, key, arg) {
4936
5026
  try {
4937
5027
  var info = gen[key](arg);
4938
5028
  var value = info.value;
@@ -4946,22 +5036,22 @@ function asyncGeneratorStep$1e(gen, resolve, reject, _next, _throw, key, arg) {
4946
5036
  Promise.resolve(value).then(_next, _throw);
4947
5037
  }
4948
5038
  }
4949
- function _async_to_generator$1e(fn) {
5039
+ function _async_to_generator$1f(fn) {
4950
5040
  return function() {
4951
5041
  var self = this, args = arguments;
4952
5042
  return new Promise(function(resolve, reject) {
4953
5043
  var gen = fn.apply(self, args);
4954
5044
  function _next(value) {
4955
- asyncGeneratorStep$1e(gen, resolve, reject, _next, _throw, "next", value);
5045
+ asyncGeneratorStep$1f(gen, resolve, reject, _next, _throw, "next", value);
4956
5046
  }
4957
5047
  function _throw(err) {
4958
- asyncGeneratorStep$1e(gen, resolve, reject, _next, _throw, "throw", err);
5048
+ asyncGeneratorStep$1f(gen, resolve, reject, _next, _throw, "throw", err);
4959
5049
  }
4960
5050
  _next(undefined);
4961
5051
  });
4962
5052
  };
4963
5053
  }
4964
- function _define_property$P(obj, key, value) {
5054
+ function _define_property$Q(obj, key, value) {
4965
5055
  if (key in obj) {
4966
5056
  Object.defineProperty(obj, key, {
4967
5057
  value: value,
@@ -4974,7 +5064,7 @@ function _define_property$P(obj, key, value) {
4974
5064
  }
4975
5065
  return obj;
4976
5066
  }
4977
- function _instanceof$r(left, right) {
5067
+ function _instanceof$s(left, right) {
4978
5068
  "@swc/helpers - instanceof";
4979
5069
  if (right != null && typeof Symbol !== "undefined" && right[Symbol.hasInstance]) {
4980
5070
  return !!right[Symbol.hasInstance](left);
@@ -4982,7 +5072,7 @@ function _instanceof$r(left, right) {
4982
5072
  return left instanceof right;
4983
5073
  }
4984
5074
  }
4985
- function _object_spread$P(target) {
5075
+ function _object_spread$Q(target) {
4986
5076
  for(var i = 1; i < arguments.length; i++){
4987
5077
  var source = arguments[i] != null ? arguments[i] : {};
4988
5078
  var ownKeys = Object.keys(source);
@@ -4992,12 +5082,12 @@ function _object_spread$P(target) {
4992
5082
  }));
4993
5083
  }
4994
5084
  ownKeys.forEach(function(key) {
4995
- _define_property$P(target, key, source[key]);
5085
+ _define_property$Q(target, key, source[key]);
4996
5086
  });
4997
5087
  }
4998
5088
  return target;
4999
5089
  }
5000
- function ownKeys$x(object, enumerableOnly) {
5090
+ function ownKeys$y(object, enumerableOnly) {
5001
5091
  var keys = Object.keys(object);
5002
5092
  if (Object.getOwnPropertySymbols) {
5003
5093
  var symbols = Object.getOwnPropertySymbols(object);
@@ -5005,18 +5095,18 @@ function ownKeys$x(object, enumerableOnly) {
5005
5095
  }
5006
5096
  return keys;
5007
5097
  }
5008
- function _object_spread_props$x(target, source) {
5098
+ function _object_spread_props$y(target, source) {
5009
5099
  source = source != null ? source : {};
5010
5100
  if (Object.getOwnPropertyDescriptors) {
5011
5101
  Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
5012
5102
  } else {
5013
- ownKeys$x(Object(source)).forEach(function(key) {
5103
+ ownKeys$y(Object(source)).forEach(function(key) {
5014
5104
  Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
5015
5105
  });
5016
5106
  }
5017
5107
  return target;
5018
5108
  }
5019
- function _ts_generator$1e(thisArg, body) {
5109
+ function _ts_generator$1f(thisArg, body) {
5020
5110
  var f, y, t, _ = {
5021
5111
  label: 0,
5022
5112
  sent: function() {
@@ -5127,9 +5217,9 @@ function _ts_generator$1e(thisArg, body) {
5127
5217
  return withCallModelArgs(yargs);
5128
5218
  },
5129
5219
  handler: wrapCommandHandler(function(argv) {
5130
- return _async_to_generator$1e(function() {
5220
+ return _async_to_generator$1f(function() {
5131
5221
  var context, data, rawData, _tmp, params, result;
5132
- return _ts_generator$1e(this, function(_state) {
5222
+ return _ts_generator$1f(this, function(_state) {
5133
5223
  switch(_state.label){
5134
5224
  case 0:
5135
5225
  context = requireCliContext();
@@ -5164,12 +5254,12 @@ function _ts_generator$1e(thisArg, body) {
5164
5254
  data = JSON.parse(rawData);
5165
5255
  } catch (e) {
5166
5256
  throw new CliError({
5167
- message: "--data must be valid JSON: ".concat(_instanceof$r(e, Error) ? e.message : String(e)),
5257
+ message: "--data must be valid JSON: ".concat(_instanceof$s(e, Error) ? e.message : String(e)),
5168
5258
  code: 'INVALID_DATA_JSON'
5169
5259
  });
5170
5260
  }
5171
5261
  }
5172
- params = _object_spread_props$x(_object_spread$P({
5262
+ params = _object_spread_props$y(_object_spread$Q({
5173
5263
  modelType: argv.model,
5174
5264
  call: argv.verb
5175
5265
  }, argv.specifier == null ? {} : {
@@ -5201,7 +5291,7 @@ function _array_like_to_array$16(arr, len) {
5201
5291
  function _array_with_holes$j(arr) {
5202
5292
  if (Array.isArray(arr)) return arr;
5203
5293
  }
5204
- function _instanceof$q(left, right) {
5294
+ function _instanceof$r(left, right) {
5205
5295
  "@swc/helpers - instanceof";
5206
5296
  if (right != null && typeof Symbol !== "undefined" && right[Symbol.hasInstance]) {
5207
5297
  return !!right[Symbol.hasInstance](left);
@@ -5391,7 +5481,7 @@ function isPlainObject(value) {
5391
5481
  var result;
5392
5482
  if (value === null || (typeof value === "undefined" ? "undefined" : _type_of$2(value)) !== 'object') {
5393
5483
  result = false;
5394
- } else if (Array.isArray(value) || _instanceof$q(value, Date)) {
5484
+ } else if (Array.isArray(value) || _instanceof$r(value, Date)) {
5395
5485
  result = false;
5396
5486
  } else {
5397
5487
  // Objects from JSON.parse have Object.prototype as their proto. Anything
@@ -5845,7 +5935,7 @@ function _array_with_holes$h(arr) {
5845
5935
  function _array_without_holes$Z(arr) {
5846
5936
  if (Array.isArray(arr)) return _array_like_to_array$13(arr);
5847
5937
  }
5848
- function asyncGeneratorStep$1d(gen, resolve, reject, _next, _throw, key, arg) {
5938
+ function asyncGeneratorStep$1e(gen, resolve, reject, _next, _throw, key, arg) {
5849
5939
  try {
5850
5940
  var info = gen[key](arg);
5851
5941
  var value = info.value;
@@ -5859,22 +5949,22 @@ function asyncGeneratorStep$1d(gen, resolve, reject, _next, _throw, key, arg) {
5859
5949
  Promise.resolve(value).then(_next, _throw);
5860
5950
  }
5861
5951
  }
5862
- function _async_to_generator$1d(fn) {
5952
+ function _async_to_generator$1e(fn) {
5863
5953
  return function() {
5864
5954
  var self = this, args = arguments;
5865
5955
  return new Promise(function(resolve, reject) {
5866
5956
  var gen = fn.apply(self, args);
5867
5957
  function _next(value) {
5868
- asyncGeneratorStep$1d(gen, resolve, reject, _next, _throw, "next", value);
5958
+ asyncGeneratorStep$1e(gen, resolve, reject, _next, _throw, "next", value);
5869
5959
  }
5870
5960
  function _throw(err) {
5871
- asyncGeneratorStep$1d(gen, resolve, reject, _next, _throw, "throw", err);
5961
+ asyncGeneratorStep$1e(gen, resolve, reject, _next, _throw, "throw", err);
5872
5962
  }
5873
5963
  _next(undefined);
5874
5964
  });
5875
5965
  };
5876
5966
  }
5877
- function _define_property$O(obj, key, value) {
5967
+ function _define_property$P(obj, key, value) {
5878
5968
  if (key in obj) {
5879
5969
  Object.defineProperty(obj, key, {
5880
5970
  value: value,
@@ -5887,7 +5977,7 @@ function _define_property$O(obj, key, value) {
5887
5977
  }
5888
5978
  return obj;
5889
5979
  }
5890
- function _instanceof$p(left, right) {
5980
+ function _instanceof$q(left, right) {
5891
5981
  "@swc/helpers - instanceof";
5892
5982
  if (right != null && typeof Symbol !== "undefined" && right[Symbol.hasInstance]) {
5893
5983
  return !!right[Symbol.hasInstance](left);
@@ -5928,7 +6018,7 @@ function _non_iterable_rest$h() {
5928
6018
  function _non_iterable_spread$Z() {
5929
6019
  throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
5930
6020
  }
5931
- function _object_spread$O(target) {
6021
+ function _object_spread$P(target) {
5932
6022
  for(var i = 1; i < arguments.length; i++){
5933
6023
  var source = arguments[i] != null ? arguments[i] : {};
5934
6024
  var ownKeys = Object.keys(source);
@@ -5938,7 +6028,7 @@ function _object_spread$O(target) {
5938
6028
  }));
5939
6029
  }
5940
6030
  ownKeys.forEach(function(key) {
5941
- _define_property$O(target, key, source[key]);
6031
+ _define_property$P(target, key, source[key]);
5942
6032
  });
5943
6033
  }
5944
6034
  return target;
@@ -5957,7 +6047,7 @@ function _unsupported_iterable_to_array$13(o, minLen) {
5957
6047
  if (n === "Map" || n === "Set") return Array.from(n);
5958
6048
  if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$13(o, minLen);
5959
6049
  }
5960
- function _ts_generator$1d(thisArg, body) {
6050
+ function _ts_generator$1e(thisArg, body) {
5961
6051
  var f, y, t, _ = {
5962
6052
  label: 0,
5963
6053
  sent: function() {
@@ -6151,9 +6241,9 @@ function _ts_generator$1d(thisArg, body) {
6151
6241
  * @returns The resolved source, carrying the opened models view when it is `firestore`.
6152
6242
  * @throws {CliError} `MODEL_IS_SERVER_ONLY` for a server-only model, or the session's own error when `--via firestore` was demanded and the session could not open.
6153
6243
  */ function resolveCliReadSource(input) {
6154
- return _async_to_generator$1d(function() {
6244
+ return _async_to_generator$1e(function() {
6155
6245
  var context, via, modelType, result, _tmp;
6156
- return _ts_generator$1d(this, function(_state) {
6246
+ return _ts_generator$1e(this, function(_state) {
6157
6247
  switch(_state.label){
6158
6248
  case 0:
6159
6249
  context = input.context, via = input.via, modelType = input.modelType;
@@ -6250,9 +6340,9 @@ function _ts_generator$1d(thisArg, body) {
6250
6340
  * @param via - The requested via, carried onto the result.
6251
6341
  * @returns The resolved source.
6252
6342
  */ function resolveAutoReadSource(context, via) {
6253
- return _async_to_generator$1d(function() {
6343
+ return _async_to_generator$1e(function() {
6254
6344
  var result, _tmp, e, code, message;
6255
- return _ts_generator$1d(this, function(_state) {
6345
+ return _ts_generator$1e(this, function(_state) {
6256
6346
  switch(_state.label){
6257
6347
  case 0:
6258
6348
  _state.trys.push([
@@ -6278,8 +6368,8 @@ function _ts_generator$1d(thisArg, body) {
6278
6368
  ];
6279
6369
  case 2:
6280
6370
  e = _state.sent();
6281
- code = _instanceof$p(e, CliError) ? e.code : undefined;
6282
- message = _instanceof$p(e, Error) ? e.message : String(e);
6371
+ code = _instanceof$q(e, CliError) ? e.code : undefined;
6372
+ message = _instanceof$q(e, Error) ? e.message : String(e);
6283
6373
  if (code != null && CAPABILITY_FAILURE_CODES.includes(code)) {
6284
6374
  verboseLog("read: --via auto → api (direct-Firestore session unavailable: ".concat(code, " ").concat(message, ")"));
6285
6375
  result = {
@@ -6305,9 +6395,9 @@ function _ts_generator$1d(thisArg, body) {
6305
6395
  })();
6306
6396
  }
6307
6397
  function requireModels(context) {
6308
- return _async_to_generator$1d(function() {
6398
+ return _async_to_generator$1e(function() {
6309
6399
  var getFirestoreModels;
6310
- return _ts_generator$1d(this, function(_state) {
6400
+ return _ts_generator$1e(this, function(_state) {
6311
6401
  getFirestoreModels = context.getFirestoreModels;
6312
6402
  if (getFirestoreModels == null) {
6313
6403
  throw new CliError({
@@ -6331,7 +6421,7 @@ function requireModels(context) {
6331
6421
  *
6332
6422
  * @__NO_SIDE_EFFECTS__
6333
6423
  */ function cliReadResultMeta(source) {
6334
- return _object_spread$O({
6424
+ return _object_spread$P({
6335
6425
  source: source.source,
6336
6426
  via: source.via,
6337
6427
  reason: source.reason
@@ -6355,9 +6445,9 @@ function requireModels(context) {
6355
6445
  * @returns `{ key, data }`, with `data: null` when the document does not exist.
6356
6446
  * @throws {CliError} When the key does not match the model's path shape.
6357
6447
  */ function getModelOverFirestore(input) {
6358
- return _async_to_generator$1d(function() {
6448
+ return _async_to_generator$1e(function() {
6359
6449
  var models, modelType, key, service, data, _ref, e;
6360
- return _ts_generator$1d(this, function(_state) {
6450
+ return _ts_generator$1e(this, function(_state) {
6361
6451
  switch(_state.label){
6362
6452
  case 0:
6363
6453
  models = input.models, modelType = input.modelType, key = input.key;
@@ -6416,9 +6506,9 @@ function requireModels(context) {
6416
6506
  * @returns `{ results, errors }`, key order preserved within each partition.
6417
6507
  * @throws {CliError} `INVALID_ARGUMENT` when `modelType` is not a registered model.
6418
6508
  */ function getMultipleModelsOverFirestore(input) {
6419
- return _async_to_generator$1d(function() {
6509
+ return _async_to_generator$1e(function() {
6420
6510
  var models, modelType, keys, service, taskResult;
6421
- return _ts_generator$1d(this, function(_state) {
6511
+ return _ts_generator$1e(this, function(_state) {
6422
6512
  switch(_state.label){
6423
6513
  case 0:
6424
6514
  models = input.models, modelType = input.modelType, keys = input.keys;
@@ -6429,9 +6519,9 @@ function requireModels(context) {
6429
6519
  return [
6430
6520
  4,
6431
6521
  performAsyncTasks(_to_consumable_array$Z(keys), function(key) {
6432
- return _async_to_generator$1d(function() {
6522
+ return _async_to_generator$1e(function() {
6433
6523
  var _ref;
6434
- return _ts_generator$1d(this, function(_state) {
6524
+ return _ts_generator$1e(this, function(_state) {
6435
6525
  switch(_state.label){
6436
6526
  case 0:
6437
6527
  return [
@@ -6490,10 +6580,10 @@ function requireModels(context) {
6490
6580
  * @returns The error entry for the `errors` partition.
6491
6581
  */ function asCliReadErrorEntry(error, modelType, key) {
6492
6582
  var mapped = asKeyShapeError(error, modelType, key);
6493
- return _object_spread$O({
6583
+ return _object_spread$P({
6494
6584
  key: key,
6495
6585
  error: mapped.message
6496
- }, _instanceof$p(mapped, CliError) ? {
6586
+ }, _instanceof$q(mapped, CliError) ? {
6497
6587
  code: mapped.code
6498
6588
  } : {});
6499
6589
  }
@@ -6510,19 +6600,19 @@ function requireModels(context) {
6510
6600
  * @returns A `CliError` for a key-shape mismatch, otherwise the original error.
6511
6601
  */ function asKeyShapeError(error, modelType, key) {
6512
6602
  var result;
6513
- if (_instanceof$p(error, Error) && /unexpected key\/path/i.test(error.message)) {
6603
+ if (_instanceof$q(error, Error) && /unexpected key\/path/i.test(error.message)) {
6514
6604
  result = new CliError({
6515
6605
  message: 'Key "'.concat(key, '" does not match the path shape for model "').concat(modelType, '": ').concat(error.message),
6516
6606
  code: 'INVALID_ARGUMENT',
6517
6607
  suggestion: 'Nested models need their full parent path, e.g. "gb/<guestbookId>/gbe/<entryId>".'
6518
6608
  });
6519
6609
  } else {
6520
- result = _instanceof$p(error, Error) ? error : new Error(String(error));
6610
+ result = _instanceof$q(error, Error) ? error : new Error(String(error));
6521
6611
  }
6522
6612
  return result;
6523
6613
  }
6524
6614
 
6525
- function asyncGeneratorStep$1c(gen, resolve, reject, _next, _throw, key, arg) {
6615
+ function asyncGeneratorStep$1d(gen, resolve, reject, _next, _throw, key, arg) {
6526
6616
  try {
6527
6617
  var info = gen[key](arg);
6528
6618
  var value = info.value;
@@ -6536,22 +6626,22 @@ function asyncGeneratorStep$1c(gen, resolve, reject, _next, _throw, key, arg) {
6536
6626
  Promise.resolve(value).then(_next, _throw);
6537
6627
  }
6538
6628
  }
6539
- function _async_to_generator$1c(fn) {
6629
+ function _async_to_generator$1d(fn) {
6540
6630
  return function() {
6541
6631
  var self = this, args = arguments;
6542
6632
  return new Promise(function(resolve, reject) {
6543
6633
  var gen = fn.apply(self, args);
6544
6634
  function _next(value) {
6545
- asyncGeneratorStep$1c(gen, resolve, reject, _next, _throw, "next", value);
6635
+ asyncGeneratorStep$1d(gen, resolve, reject, _next, _throw, "next", value);
6546
6636
  }
6547
6637
  function _throw(err) {
6548
- asyncGeneratorStep$1c(gen, resolve, reject, _next, _throw, "throw", err);
6638
+ asyncGeneratorStep$1d(gen, resolve, reject, _next, _throw, "throw", err);
6549
6639
  }
6550
6640
  _next(undefined);
6551
6641
  });
6552
6642
  };
6553
6643
  }
6554
- function _ts_generator$1c(thisArg, body) {
6644
+ function _ts_generator$1d(thisArg, body) {
6555
6645
  var f, y, t, _ = {
6556
6646
  label: 0,
6557
6647
  sent: function() {
@@ -6704,9 +6794,9 @@ function _ts_generator$1c(thisArg, body) {
6704
6794
  }));
6705
6795
  },
6706
6796
  handler: wrapCommandHandler(function(argv) {
6707
- return _async_to_generator$1c(function() {
6797
+ return _async_to_generator$1d(function() {
6708
6798
  var context, _parseGetArgs, modelType, key, resolved, result, _tmp;
6709
- return _ts_generator$1c(this, function(_state) {
6799
+ return _ts_generator$1d(this, function(_state) {
6710
6800
  switch(_state.label){
6711
6801
  case 0:
6712
6802
  context = requireCliContext();
@@ -6763,7 +6853,7 @@ function _ts_generator$1c(thisArg, body) {
6763
6853
  })
6764
6854
  };
6765
6855
 
6766
- function asyncGeneratorStep$1b(gen, resolve, reject, _next, _throw, key, arg) {
6856
+ function asyncGeneratorStep$1c(gen, resolve, reject, _next, _throw, key, arg) {
6767
6857
  try {
6768
6858
  var info = gen[key](arg);
6769
6859
  var value = info.value;
@@ -6777,22 +6867,22 @@ function asyncGeneratorStep$1b(gen, resolve, reject, _next, _throw, key, arg) {
6777
6867
  Promise.resolve(value).then(_next, _throw);
6778
6868
  }
6779
6869
  }
6780
- function _async_to_generator$1b(fn) {
6870
+ function _async_to_generator$1c(fn) {
6781
6871
  return function() {
6782
6872
  var self = this, args = arguments;
6783
6873
  return new Promise(function(resolve, reject) {
6784
6874
  var gen = fn.apply(self, args);
6785
6875
  function _next(value) {
6786
- asyncGeneratorStep$1b(gen, resolve, reject, _next, _throw, "next", value);
6876
+ asyncGeneratorStep$1c(gen, resolve, reject, _next, _throw, "next", value);
6787
6877
  }
6788
6878
  function _throw(err) {
6789
- asyncGeneratorStep$1b(gen, resolve, reject, _next, _throw, "throw", err);
6879
+ asyncGeneratorStep$1c(gen, resolve, reject, _next, _throw, "throw", err);
6790
6880
  }
6791
6881
  _next(undefined);
6792
6882
  });
6793
6883
  };
6794
6884
  }
6795
- function _ts_generator$1b(thisArg, body) {
6885
+ function _ts_generator$1c(thisArg, body) {
6796
6886
  var f, y, t, _ = {
6797
6887
  label: 0,
6798
6888
  sent: function() {
@@ -6928,9 +7018,9 @@ function _ts_generator$1b(thisArg, body) {
6928
7018
  }).epilogue(CLI_READ_VIA_EPILOGUE);
6929
7019
  },
6930
7020
  handler: wrapCommandHandler(function(argv) {
6931
- return _async_to_generator$1b(function() {
7021
+ return _async_to_generator$1c(function() {
6932
7022
  var context, firstArg, rest, resolvedFirst, resolvedRest, stdinKeys, _parseGetManyArgs, modelType, keys, resolved, result, _tmp;
6933
- return _ts_generator$1b(this, function(_state) {
7023
+ return _ts_generator$1c(this, function(_state) {
6934
7024
  switch(_state.label){
6935
7025
  case 0:
6936
7026
  context = requireCliContext();
@@ -7005,7 +7095,7 @@ function _ts_generator$1b(thisArg, body) {
7005
7095
  })
7006
7096
  };
7007
7097
 
7008
- function asyncGeneratorStep$1a(gen, resolve, reject, _next, _throw, key, arg) {
7098
+ function asyncGeneratorStep$1b(gen, resolve, reject, _next, _throw, key, arg) {
7009
7099
  try {
7010
7100
  var info = gen[key](arg);
7011
7101
  var value = info.value;
@@ -7019,22 +7109,22 @@ function asyncGeneratorStep$1a(gen, resolve, reject, _next, _throw, key, arg) {
7019
7109
  Promise.resolve(value).then(_next, _throw);
7020
7110
  }
7021
7111
  }
7022
- function _async_to_generator$1a(fn) {
7112
+ function _async_to_generator$1b(fn) {
7023
7113
  return function() {
7024
7114
  var self = this, args = arguments;
7025
7115
  return new Promise(function(resolve, reject) {
7026
7116
  var gen = fn.apply(self, args);
7027
7117
  function _next(value) {
7028
- asyncGeneratorStep$1a(gen, resolve, reject, _next, _throw, "next", value);
7118
+ asyncGeneratorStep$1b(gen, resolve, reject, _next, _throw, "next", value);
7029
7119
  }
7030
7120
  function _throw(err) {
7031
- asyncGeneratorStep$1a(gen, resolve, reject, _next, _throw, "throw", err);
7121
+ asyncGeneratorStep$1b(gen, resolve, reject, _next, _throw, "throw", err);
7032
7122
  }
7033
7123
  _next(undefined);
7034
7124
  });
7035
7125
  };
7036
7126
  }
7037
- function _define_property$N(obj, key, value) {
7127
+ function _define_property$O(obj, key, value) {
7038
7128
  if (key in obj) {
7039
7129
  Object.defineProperty(obj, key, {
7040
7130
  value: value,
@@ -7047,7 +7137,7 @@ function _define_property$N(obj, key, value) {
7047
7137
  }
7048
7138
  return obj;
7049
7139
  }
7050
- function _object_spread$N(target) {
7140
+ function _object_spread$O(target) {
7051
7141
  for(var i = 1; i < arguments.length; i++){
7052
7142
  var source = arguments[i] != null ? arguments[i] : {};
7053
7143
  var ownKeys = Object.keys(source);
@@ -7057,12 +7147,12 @@ function _object_spread$N(target) {
7057
7147
  }));
7058
7148
  }
7059
7149
  ownKeys.forEach(function(key) {
7060
- _define_property$N(target, key, source[key]);
7150
+ _define_property$O(target, key, source[key]);
7061
7151
  });
7062
7152
  }
7063
7153
  return target;
7064
7154
  }
7065
- function _ts_generator$1a(thisArg, body) {
7155
+ function _ts_generator$1b(thisArg, body) {
7066
7156
  var f, y, t, _ = {
7067
7157
  label: 0,
7068
7158
  sent: function() {
@@ -7221,9 +7311,9 @@ function _ts_generator$1a(thisArg, body) {
7221
7311
  * @param input.updates - The partial {@link CliConfig} to merge on top of the existing on-disk config.
7222
7312
  * @returns The merged {@link CliConfig} that was just written.
7223
7313
  */ function mergeCliConfig(input) {
7224
- return _async_to_generator$1a(function() {
7314
+ return _async_to_generator$1b(function() {
7225
7315
  var _ref, _input_updates_activeEnv, existing, merged;
7226
- return _ts_generator$1a(this, function(_state) {
7316
+ return _ts_generator$1b(this, function(_state) {
7227
7317
  switch(_state.label){
7228
7318
  case 0:
7229
7319
  return [
@@ -7236,7 +7326,7 @@ function _ts_generator$1a(thisArg, body) {
7236
7326
  existing = (_ref = _state.sent()) !== null && _ref !== void 0 ? _ref : {};
7237
7327
  merged = {
7238
7328
  activeEnv: (_input_updates_activeEnv = input.updates.activeEnv) !== null && _input_updates_activeEnv !== void 0 ? _input_updates_activeEnv : existing.activeEnv,
7239
- envs: input.updates.envs ? _object_spread$N({}, existing.envs, input.updates.envs) : existing.envs,
7329
+ envs: input.updates.envs ? _object_spread$O({}, existing.envs, input.updates.envs) : existing.envs,
7240
7330
  output: input.updates.output === undefined ? existing.output : mergeOutputConfig(existing.output, input.updates.output)
7241
7331
  };
7242
7332
  return [
@@ -7278,12 +7368,12 @@ function mergeOutputCommandsConfig(existing, updates) {
7278
7368
  var result;
7279
7369
  if ('commands' in updates) {
7280
7370
  if (updates.commands) {
7281
- var merged = _object_spread$N({}, existing);
7371
+ var merged = _object_spread$O({}, existing);
7282
7372
  var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;
7283
7373
  try {
7284
7374
  for(var _iterator = Object.keys(updates.commands)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){
7285
7375
  var key = _step.value;
7286
- merged[key] = _object_spread$N({}, existing === null || existing === void 0 ? void 0 : existing[key], updates.commands[key]);
7376
+ merged[key] = _object_spread$O({}, existing === null || existing === void 0 ? void 0 : existing[key], updates.commands[key]);
7287
7377
  }
7288
7378
  } catch (err) {
7289
7379
  _didIteratorError = true;
@@ -7348,7 +7438,7 @@ function mergeOutputCommandsConfig(existing, updates) {
7348
7438
  return result;
7349
7439
  }
7350
7440
 
7351
- function asyncGeneratorStep$19(gen, resolve, reject, _next, _throw, key, arg) {
7441
+ function asyncGeneratorStep$1a(gen, resolve, reject, _next, _throw, key, arg) {
7352
7442
  try {
7353
7443
  var info = gen[key](arg);
7354
7444
  var value = info.value;
@@ -7362,22 +7452,22 @@ function asyncGeneratorStep$19(gen, resolve, reject, _next, _throw, key, arg) {
7362
7452
  Promise.resolve(value).then(_next, _throw);
7363
7453
  }
7364
7454
  }
7365
- function _async_to_generator$19(fn) {
7455
+ function _async_to_generator$1a(fn) {
7366
7456
  return function() {
7367
7457
  var self = this, args = arguments;
7368
7458
  return new Promise(function(resolve, reject) {
7369
7459
  var gen = fn.apply(self, args);
7370
7460
  function _next(value) {
7371
- asyncGeneratorStep$19(gen, resolve, reject, _next, _throw, "next", value);
7461
+ asyncGeneratorStep$1a(gen, resolve, reject, _next, _throw, "next", value);
7372
7462
  }
7373
7463
  function _throw(err) {
7374
- asyncGeneratorStep$19(gen, resolve, reject, _next, _throw, "throw", err);
7464
+ asyncGeneratorStep$1a(gen, resolve, reject, _next, _throw, "throw", err);
7375
7465
  }
7376
7466
  _next(undefined);
7377
7467
  });
7378
7468
  };
7379
7469
  }
7380
- function _ts_generator$19(thisArg, body) {
7470
+ function _ts_generator$1a(thisArg, body) {
7381
7471
  var f, y, t, _ = {
7382
7472
  label: 0,
7383
7473
  sent: function() {
@@ -7504,9 +7594,9 @@ function _ts_generator$19(thisArg, body) {
7504
7594
  * @param input - Resolution inputs.
7505
7595
  * @returns The resolved env triple.
7506
7596
  */ function resolveCliEnv(input) {
7507
- return _async_to_generator$19(function() {
7597
+ return _async_to_generator$1a(function() {
7508
7598
  var _ref, _input_envVarName, _ref1, _input_flagEnv, _config_envs, _findCliEnvDefault, config, envVarName, envName, stored, defaultEnv, merged, env;
7509
- return _ts_generator$19(this, function(_state) {
7599
+ return _ts_generator$1a(this, function(_state) {
7510
7600
  switch(_state.label){
7511
7601
  case 0:
7512
7602
  return [
@@ -7545,9 +7635,9 @@ function _ts_generator$19(thisArg, body) {
7545
7635
  })();
7546
7636
  }
7547
7637
  function resolveCliEnvOrThrow(input) {
7548
- return _async_to_generator$19(function() {
7638
+ return _async_to_generator$1a(function() {
7549
7639
  var _ref, config, envName, env;
7550
- return _ts_generator$19(this, function(_state) {
7640
+ return _ts_generator$1a(this, function(_state) {
7551
7641
  switch(_state.label){
7552
7642
  case 0:
7553
7643
  return [
@@ -7644,7 +7734,7 @@ function resolveCliEnvOrThrow(input) {
7644
7734
  }).hasExpired();
7645
7735
  }
7646
7736
 
7647
- function asyncGeneratorStep$18(gen, resolve, reject, _next, _throw, key, arg) {
7737
+ function asyncGeneratorStep$19(gen, resolve, reject, _next, _throw, key, arg) {
7648
7738
  try {
7649
7739
  var info = gen[key](arg);
7650
7740
  var value = info.value;
@@ -7658,22 +7748,22 @@ function asyncGeneratorStep$18(gen, resolve, reject, _next, _throw, key, arg) {
7658
7748
  Promise.resolve(value).then(_next, _throw);
7659
7749
  }
7660
7750
  }
7661
- function _async_to_generator$18(fn) {
7751
+ function _async_to_generator$19(fn) {
7662
7752
  return function() {
7663
7753
  var self = this, args = arguments;
7664
7754
  return new Promise(function(resolve, reject) {
7665
7755
  var gen = fn.apply(self, args);
7666
7756
  function _next(value) {
7667
- asyncGeneratorStep$18(gen, resolve, reject, _next, _throw, "next", value);
7757
+ asyncGeneratorStep$19(gen, resolve, reject, _next, _throw, "next", value);
7668
7758
  }
7669
7759
  function _throw(err) {
7670
- asyncGeneratorStep$18(gen, resolve, reject, _next, _throw, "throw", err);
7760
+ asyncGeneratorStep$19(gen, resolve, reject, _next, _throw, "throw", err);
7671
7761
  }
7672
7762
  _next(undefined);
7673
7763
  });
7674
7764
  };
7675
7765
  }
7676
- function _define_property$M(obj, key, value) {
7766
+ function _define_property$N(obj, key, value) {
7677
7767
  if (key in obj) {
7678
7768
  Object.defineProperty(obj, key, {
7679
7769
  value: value,
@@ -7686,7 +7776,7 @@ function _define_property$M(obj, key, value) {
7686
7776
  }
7687
7777
  return obj;
7688
7778
  }
7689
- function _instanceof$o(left, right) {
7779
+ function _instanceof$p(left, right) {
7690
7780
  "@swc/helpers - instanceof";
7691
7781
  if (right != null && typeof Symbol !== "undefined" && right[Symbol.hasInstance]) {
7692
7782
  return !!right[Symbol.hasInstance](left);
@@ -7694,7 +7784,7 @@ function _instanceof$o(left, right) {
7694
7784
  return left instanceof right;
7695
7785
  }
7696
7786
  }
7697
- function _object_spread$M(target) {
7787
+ function _object_spread$N(target) {
7698
7788
  for(var i = 1; i < arguments.length; i++){
7699
7789
  var source = arguments[i] != null ? arguments[i] : {};
7700
7790
  var ownKeys = Object.keys(source);
@@ -7704,12 +7794,12 @@ function _object_spread$M(target) {
7704
7794
  }));
7705
7795
  }
7706
7796
  ownKeys.forEach(function(key) {
7707
- _define_property$M(target, key, source[key]);
7797
+ _define_property$N(target, key, source[key]);
7708
7798
  });
7709
7799
  }
7710
7800
  return target;
7711
7801
  }
7712
- function ownKeys$w(object, enumerableOnly) {
7802
+ function ownKeys$x(object, enumerableOnly) {
7713
7803
  var keys = Object.keys(object);
7714
7804
  if (Object.getOwnPropertySymbols) {
7715
7805
  var symbols = Object.getOwnPropertySymbols(object);
@@ -7717,18 +7807,18 @@ function ownKeys$w(object, enumerableOnly) {
7717
7807
  }
7718
7808
  return keys;
7719
7809
  }
7720
- function _object_spread_props$w(target, source) {
7810
+ function _object_spread_props$x(target, source) {
7721
7811
  source = source != null ? source : {};
7722
7812
  if (Object.getOwnPropertyDescriptors) {
7723
7813
  Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
7724
7814
  } else {
7725
- ownKeys$w(Object(source)).forEach(function(key) {
7815
+ ownKeys$x(Object(source)).forEach(function(key) {
7726
7816
  Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
7727
7817
  });
7728
7818
  }
7729
7819
  return target;
7730
7820
  }
7731
- function _ts_generator$18(thisArg, body) {
7821
+ function _ts_generator$19(thisArg, body) {
7732
7822
  var f, y, t, _ = {
7733
7823
  label: 0,
7734
7824
  sent: function() {
@@ -7883,9 +7973,9 @@ var cliOidcFetch = function cliOidcFetch(input, init) {
7883
7973
  * @returns A {@link CliError} for relying-party errors, otherwise the original value.
7884
7974
  */ function oidcRelyingPartyErrorToCliError(error) {
7885
7975
  var result = error;
7886
- if (_instanceof$o(error, OidcRelyingPartyError)) {
7976
+ if (_instanceof$p(error, OidcRelyingPartyError)) {
7887
7977
  var mapped = OIDC_ERROR_CODE_MAP[error.code];
7888
- result = new CliError(_object_spread$M({
7978
+ result = new CliError(_object_spread$N({
7889
7979
  message: error.message,
7890
7980
  code: mapped.code
7891
7981
  }, mapped.suggestion ? {
@@ -7895,9 +7985,9 @@ var cliOidcFetch = function cliOidcFetch(input, init) {
7895
7985
  return result;
7896
7986
  }
7897
7987
  function withCliErrors(fn) {
7898
- return _async_to_generator$18(function() {
7988
+ return _async_to_generator$19(function() {
7899
7989
  var e;
7900
- return _ts_generator$18(this, function(_state) {
7990
+ return _ts_generator$19(this, function(_state) {
7901
7991
  switch(_state.label){
7902
7992
  case 0:
7903
7993
  _state.trys.push([
@@ -7933,7 +8023,7 @@ function withCliErrors(fn) {
7933
8023
  * @returns The parsed {@link OidcDiscoveryMetadata}. Throws a {@link CliError} (`OIDC_DISCOVERY_FAILED`) when every candidate fails.
7934
8024
  */ function discoverOidcMetadata(input) {
7935
8025
  return withCliErrors(function() {
7936
- return discoverOidcMetadata$1(_object_spread_props$w(_object_spread$M({}, input), {
8026
+ return discoverOidcMetadata$1(_object_spread_props$x(_object_spread$N({}, input), {
7937
8027
  fetch: cliOidcFetch
7938
8028
  }));
7939
8029
  });
@@ -7945,7 +8035,7 @@ function withCliErrors(fn) {
7945
8035
  * @returns The parsed {@link OidcTokenResponse} with access/refresh tokens.
7946
8036
  */ function exchangeAuthorizationCode(input) {
7947
8037
  return withCliErrors(function() {
7948
- return exchangeAuthorizationCode$1(_object_spread_props$w(_object_spread$M({}, input), {
8038
+ return exchangeAuthorizationCode$1(_object_spread_props$x(_object_spread$N({}, input), {
7949
8039
  fetch: cliOidcFetch
7950
8040
  }));
7951
8041
  });
@@ -7957,7 +8047,7 @@ function withCliErrors(fn) {
7957
8047
  * @returns The parsed {@link OidcTokenResponse} with the refreshed access token.
7958
8048
  */ function refreshAccessToken(input) {
7959
8049
  return withCliErrors(function() {
7960
- return refreshAccessToken$1(_object_spread_props$w(_object_spread$M({}, input), {
8050
+ return refreshAccessToken$1(_object_spread_props$x(_object_spread$N({}, input), {
7961
8051
  fetch: cliOidcFetch
7962
8052
  }));
7963
8053
  });
@@ -7969,7 +8059,7 @@ function withCliErrors(fn) {
7969
8059
  * @returns Resolves when the server returns a non-error status. Throws a {@link CliError} (`TOKEN_REVOCATION_FAILED`) on error.
7970
8060
  */ function revokeToken(input) {
7971
8061
  return withCliErrors(function() {
7972
- return revokeToken$1(_object_spread_props$w(_object_spread$M({}, input), {
8062
+ return revokeToken$1(_object_spread_props$x(_object_spread$N({}, input), {
7973
8063
  fetch: cliOidcFetch
7974
8064
  }));
7975
8065
  });
@@ -7981,7 +8071,7 @@ function withCliErrors(fn) {
7981
8071
  * @returns The parsed userinfo claims. Throws a {@link CliError} (`USERINFO_FAILED`) on a non-OK response.
7982
8072
  */ function fetchUserInfo(input) {
7983
8073
  return withCliErrors(function() {
7984
- return fetchUserInfo$1(_object_spread_props$w(_object_spread$M({}, input), {
8074
+ return fetchUserInfo$1(_object_spread_props$x(_object_spread$N({}, input), {
7985
8075
  fetch: cliOidcFetch
7986
8076
  }));
7987
8077
  });
@@ -7993,13 +8083,13 @@ function withCliErrors(fn) {
7993
8083
  * @returns The parsed {@link OidcSessionInfo}. Throws a {@link CliError} (`SESSION_INFO_FAILED`) on a non-OK response.
7994
8084
  */ function fetchSessionInfo(input) {
7995
8085
  return withCliErrors(function() {
7996
- return fetchSessionInfo$1(_object_spread_props$w(_object_spread$M({}, input), {
8086
+ return fetchSessionInfo$1(_object_spread_props$x(_object_spread$N({}, input), {
7997
8087
  fetch: cliOidcFetch
7998
8088
  }));
7999
8089
  });
8000
8090
  }
8001
8091
 
8002
- function _define_property$L(obj, key, value) {
8092
+ function _define_property$M(obj, key, value) {
8003
8093
  if (key in obj) {
8004
8094
  Object.defineProperty(obj, key, {
8005
8095
  value: value,
@@ -8012,7 +8102,7 @@ function _define_property$L(obj, key, value) {
8012
8102
  }
8013
8103
  return obj;
8014
8104
  }
8015
- function _object_spread$L(target) {
8105
+ function _object_spread$M(target) {
8016
8106
  for(var i = 1; i < arguments.length; i++){
8017
8107
  var source = arguments[i] != null ? arguments[i] : {};
8018
8108
  var ownKeys = Object.keys(source);
@@ -8022,12 +8112,12 @@ function _object_spread$L(target) {
8022
8112
  }));
8023
8113
  }
8024
8114
  ownKeys.forEach(function(key) {
8025
- _define_property$L(target, key, source[key]);
8115
+ _define_property$M(target, key, source[key]);
8026
8116
  });
8027
8117
  }
8028
8118
  return target;
8029
8119
  }
8030
- function ownKeys$v(object, enumerableOnly) {
8120
+ function ownKeys$w(object, enumerableOnly) {
8031
8121
  var keys = Object.keys(object);
8032
8122
  if (Object.getOwnPropertySymbols) {
8033
8123
  var symbols = Object.getOwnPropertySymbols(object);
@@ -8035,12 +8125,12 @@ function ownKeys$v(object, enumerableOnly) {
8035
8125
  }
8036
8126
  return keys;
8037
8127
  }
8038
- function _object_spread_props$v(target, source) {
8128
+ function _object_spread_props$w(target, source) {
8039
8129
  source = source != null ? source : {};
8040
8130
  if (Object.getOwnPropertyDescriptors) {
8041
8131
  Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
8042
8132
  } else {
8043
- ownKeys$v(Object(source)).forEach(function(key) {
8133
+ ownKeys$w(Object(source)).forEach(function(key) {
8044
8134
  Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
8045
8135
  });
8046
8136
  }
@@ -8061,7 +8151,7 @@ function _object_spread_props$v(target, source) {
8061
8151
  */ function buildAuthorizationUrl(input) {
8062
8152
  try {
8063
8153
  var _input_scopes;
8064
- return buildAuthorizationUrl$1(_object_spread_props$v(_object_spread$L({}, input), {
8154
+ return buildAuthorizationUrl$1(_object_spread_props$w(_object_spread$M({}, input), {
8065
8155
  scopes: (_input_scopes = input.scopes) !== null && _input_scopes !== void 0 ? _input_scopes : DEFAULT_CLI_OIDC_SCOPES
8066
8156
  }));
8067
8157
  } catch (e) {
@@ -8194,7 +8284,7 @@ var KEY_DEL = ''; // DEL
8194
8284
  return result;
8195
8285
  }
8196
8286
 
8197
- function asyncGeneratorStep$17(gen, resolve, reject, _next, _throw, key, arg) {
8287
+ function asyncGeneratorStep$18(gen, resolve, reject, _next, _throw, key, arg) {
8198
8288
  try {
8199
8289
  var info = gen[key](arg);
8200
8290
  var value = info.value;
@@ -8208,22 +8298,22 @@ function asyncGeneratorStep$17(gen, resolve, reject, _next, _throw, key, arg) {
8208
8298
  Promise.resolve(value).then(_next, _throw);
8209
8299
  }
8210
8300
  }
8211
- function _async_to_generator$17(fn) {
8301
+ function _async_to_generator$18(fn) {
8212
8302
  return function() {
8213
8303
  var self = this, args = arguments;
8214
8304
  return new Promise(function(resolve, reject) {
8215
8305
  var gen = fn.apply(self, args);
8216
8306
  function _next(value) {
8217
- asyncGeneratorStep$17(gen, resolve, reject, _next, _throw, "next", value);
8307
+ asyncGeneratorStep$18(gen, resolve, reject, _next, _throw, "next", value);
8218
8308
  }
8219
8309
  function _throw(err) {
8220
- asyncGeneratorStep$17(gen, resolve, reject, _next, _throw, "throw", err);
8310
+ asyncGeneratorStep$18(gen, resolve, reject, _next, _throw, "throw", err);
8221
8311
  }
8222
8312
  _next(undefined);
8223
8313
  });
8224
8314
  };
8225
8315
  }
8226
- function _define_property$K(obj, key, value) {
8316
+ function _define_property$L(obj, key, value) {
8227
8317
  if (key in obj) {
8228
8318
  Object.defineProperty(obj, key, {
8229
8319
  value: value,
@@ -8236,7 +8326,7 @@ function _define_property$K(obj, key, value) {
8236
8326
  }
8237
8327
  return obj;
8238
8328
  }
8239
- function _object_spread$K(target) {
8329
+ function _object_spread$L(target) {
8240
8330
  for(var i = 1; i < arguments.length; i++){
8241
8331
  var source = arguments[i] != null ? arguments[i] : {};
8242
8332
  var ownKeys = Object.keys(source);
@@ -8246,12 +8336,12 @@ function _object_spread$K(target) {
8246
8336
  }));
8247
8337
  }
8248
8338
  ownKeys.forEach(function(key) {
8249
- _define_property$K(target, key, source[key]);
8339
+ _define_property$L(target, key, source[key]);
8250
8340
  });
8251
8341
  }
8252
8342
  return target;
8253
8343
  }
8254
- function ownKeys$u(object, enumerableOnly) {
8344
+ function ownKeys$v(object, enumerableOnly) {
8255
8345
  var keys = Object.keys(object);
8256
8346
  if (Object.getOwnPropertySymbols) {
8257
8347
  var symbols = Object.getOwnPropertySymbols(object);
@@ -8259,18 +8349,18 @@ function ownKeys$u(object, enumerableOnly) {
8259
8349
  }
8260
8350
  return keys;
8261
8351
  }
8262
- function _object_spread_props$u(target, source) {
8352
+ function _object_spread_props$v(target, source) {
8263
8353
  source = source != null ? source : {};
8264
8354
  if (Object.getOwnPropertyDescriptors) {
8265
8355
  Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
8266
8356
  } else {
8267
- ownKeys$u(Object(source)).forEach(function(key) {
8357
+ ownKeys$v(Object(source)).forEach(function(key) {
8268
8358
  Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
8269
8359
  });
8270
8360
  }
8271
8361
  return target;
8272
8362
  }
8273
- function _ts_generator$17(thisArg, body) {
8363
+ function _ts_generator$18(thisArg, body) {
8274
8364
  var f, y, t, _ = {
8275
8365
  label: 0,
8276
8366
  sent: function() {
@@ -8370,9 +8460,9 @@ function _ts_generator$17(thisArg, body) {
8370
8460
  }
8371
8461
  }
8372
8462
  function resolveAuthSetupPrompt(input) {
8373
- return _async_to_generator$17(function() {
8463
+ return _async_to_generator$18(function() {
8374
8464
  var argvValue, existingValue, prompt, mask, result, answer;
8375
- return _ts_generator$17(this, function(_state) {
8465
+ return _ts_generator$18(this, function(_state) {
8376
8466
  switch(_state.label){
8377
8467
  case 0:
8378
8468
  argvValue = input.argvValue, existingValue = input.existingValue, prompt = input.prompt, mask = input.mask;
@@ -8433,9 +8523,9 @@ function resolveAuthSetupPrompt(input) {
8433
8523
  * @param input.accessToken - The Bearer access token.
8434
8524
  * @returns The {@link OidcSessionInfo}, or `undefined` on any failure.
8435
8525
  */ function loadSessionInfoSafely(input) {
8436
- return _async_to_generator$17(function() {
8526
+ return _async_to_generator$18(function() {
8437
8527
  var result;
8438
- return _ts_generator$17(this, function(_state) {
8528
+ return _ts_generator$18(this, function(_state) {
8439
8529
  switch(_state.label){
8440
8530
  case 0:
8441
8531
  _state.trys.push([
@@ -8484,9 +8574,9 @@ function resolveAuthSetupPrompt(input) {
8484
8574
  * @param input.accessToken - The Bearer access token.
8485
8575
  * @returns The parsed claims, or `undefined` on any failure.
8486
8576
  */ function loadUserInfoSafely(input) {
8487
- return _async_to_generator$17(function() {
8577
+ return _async_to_generator$18(function() {
8488
8578
  var result;
8489
- return _ts_generator$17(this, function(_state) {
8579
+ return _ts_generator$18(this, function(_state) {
8490
8580
  switch(_state.label){
8491
8581
  case 0:
8492
8582
  _state.trys.push([
@@ -8603,9 +8693,9 @@ function resolveAuthSetupPrompt(input) {
8603
8693
  });
8604
8694
  },
8605
8695
  handler: wrapCommandHandler(function(argv) {
8606
- return _async_to_generator$17(function() {
8696
+ return _async_to_generator$18(function() {
8607
8697
  var _ref, _ref1, _argv_env, _ref2, _ref3, _argv_appClientUrl, _ref4, _ref5, _argv_scopes, _config_envs, _findCliEnvDefault, config, envName, stored, defaultEnv, existing, apiBaseUrl, oidcIssuer, appClientUrl, clientId, clientSecret, redirectUri, scopes, nextEnv, merged;
8608
- return _ts_generator$17(this, function(_state) {
8698
+ return _ts_generator$18(this, function(_state) {
8609
8699
  switch(_state.label){
8610
8700
  case 0:
8611
8701
  return [
@@ -8691,7 +8781,7 @@ function resolveAuthSetupPrompt(input) {
8691
8781
  code: 'AUTH_SETUP_INCOMPLETE'
8692
8782
  });
8693
8783
  }
8694
- nextEnv = _object_spread$K({
8784
+ nextEnv = _object_spread$L({
8695
8785
  apiBaseUrl: apiBaseUrl,
8696
8786
  oidcIssuer: oidcIssuer,
8697
8787
  clientId: clientId,
@@ -8707,8 +8797,8 @@ function resolveAuthSetupPrompt(input) {
8707
8797
  mergeCliConfig({
8708
8798
  configFilePath: paths.configFilePath,
8709
8799
  configDir: paths.configDir,
8710
- updates: _object_spread$K({
8711
- envs: _define_property$K({}, envName, nextEnv)
8800
+ updates: _object_spread$L({
8801
+ envs: _define_property$L({}, envName, nextEnv)
8712
8802
  }, argv.setActive ? {
8713
8803
  activeEnv: envName
8714
8804
  } : {})
@@ -8757,9 +8847,9 @@ function resolveAuthSetupPrompt(input) {
8757
8847
  });
8758
8848
  },
8759
8849
  handler: wrapCommandHandler(function(argv) {
8760
- return _async_to_generator$17(function() {
8850
+ return _async_to_generator$18(function() {
8761
8851
  var _argv_code, _tokenResponse_expires_in, _ref, _ref1, envName, env, meta, _ref2, codeVerifier, codeChallenge, state, requestedScopes, requestedSessionTtlSeconds, ms, url, pasted, _tmp, code, tokenResponse, expiresAt, sessionInfo, sessionExpiresAt, rotationDisabled, entry, sessionSummary;
8762
- return _ts_generator$17(this, function(_state) {
8852
+ return _ts_generator$18(this, function(_state) {
8763
8853
  switch(_state.label){
8764
8854
  case 0:
8765
8855
  return [
@@ -8873,7 +8963,7 @@ function resolveAuthSetupPrompt(input) {
8873
8963
  sessionInfo = _state.sent();
8874
8964
  sessionExpiresAt = (_ref = sessionInfo === null || sessionInfo === void 0 ? void 0 : sessionInfo.expiresAt) !== null && _ref !== void 0 ? _ref : undefined;
8875
8965
  rotationDisabled = sessionInfo === null || sessionInfo === void 0 ? void 0 : sessionInfo.rotationDisabled;
8876
- entry = _object_spread$K({
8966
+ entry = _object_spread$L({
8877
8967
  accessToken: tokenResponse.access_token,
8878
8968
  refreshToken: tokenResponse.refresh_token,
8879
8969
  idToken: tokenResponse.id_token,
@@ -8930,9 +9020,9 @@ function resolveAuthSetupPrompt(input) {
8930
9020
  });
8931
9021
  },
8932
9022
  handler: wrapCommandHandler(function(argv) {
8933
- return _async_to_generator$17(function() {
9023
+ return _async_to_generator$18(function() {
8934
9024
  var _ref, envName, env, entry, meta;
8935
- return _ts_generator$17(this, function(_state) {
9025
+ return _ts_generator$18(this, function(_state) {
8936
9026
  switch(_state.label){
8937
9027
  case 0:
8938
9028
  return [
@@ -9037,9 +9127,9 @@ function resolveAuthSetupPrompt(input) {
9037
9127
  return withEnv(yargs);
9038
9128
  },
9039
9129
  handler: wrapCommandHandler(function(argv) {
9040
- return _async_to_generator$17(function() {
9130
+ return _async_to_generator$18(function() {
9041
9131
  var _ref, envName, env, entry, _ref1, _ref2, expired, sessionInfo, sessionExpiresAt, rotationDisabled, session, meta, userinfoEndpoint, claims, _tmp;
9042
- return _ts_generator$17(this, function(_state) {
9132
+ return _ts_generator$18(this, function(_state) {
9043
9133
  switch(_state.label){
9044
9134
  case 0:
9045
9135
  return [
@@ -9153,9 +9243,9 @@ function resolveAuthSetupPrompt(input) {
9153
9243
  return withEnv(yargs);
9154
9244
  },
9155
9245
  handler: wrapCommandHandler(function(argv) {
9156
- return _async_to_generator$17(function() {
9246
+ return _async_to_generator$18(function() {
9157
9247
  var _ref, envName, env, entry;
9158
- return _ts_generator$17(this, function(_state) {
9248
+ return _ts_generator$18(this, function(_state) {
9159
9249
  switch(_state.label){
9160
9250
  case 0:
9161
9251
  return [
@@ -9210,9 +9300,9 @@ function resolveAuthSetupPrompt(input) {
9210
9300
  return withEnv(yargs);
9211
9301
  },
9212
9302
  handler: wrapCommandHandler(function(argv) {
9213
- return _async_to_generator$17(function() {
9303
+ return _async_to_generator$18(function() {
9214
9304
  var _refreshed_expires_in, _refreshed_refresh_token, _refreshed_token_type, _refreshed_scope, _ref, envName, env, entry, meta, refreshed, expiresAt;
9215
- return _ts_generator$17(this, function(_state) {
9305
+ return _ts_generator$18(this, function(_state) {
9216
9306
  switch(_state.label){
9217
9307
  case 0:
9218
9308
  return [
@@ -9263,7 +9353,7 @@ function resolveAuthSetupPrompt(input) {
9263
9353
  expiresAt = Date.now() + ((_refreshed_expires_in = refreshed.expires_in) !== null && _refreshed_expires_in !== void 0 ? _refreshed_expires_in : 0) * 1000;
9264
9354
  return [
9265
9355
  4,
9266
- tokens.set(envName, _object_spread_props$u(_object_spread$K({}, entry), {
9356
+ tokens.set(envName, _object_spread_props$v(_object_spread$L({}, entry), {
9267
9357
  accessToken: refreshed.access_token,
9268
9358
  refreshToken: (_refreshed_refresh_token = refreshed.refresh_token) !== null && _refreshed_refresh_token !== void 0 ? _refreshed_refresh_token : entry.refreshToken,
9269
9359
  tokenType: (_refreshed_token_type = refreshed.token_type) !== null && _refreshed_token_type !== void 0 ? _refreshed_token_type : entry.tokenType,
@@ -9304,7 +9394,7 @@ function _array_like_to_array$12(arr, len) {
9304
9394
  function _array_without_holes$Y(arr) {
9305
9395
  if (Array.isArray(arr)) return _array_like_to_array$12(arr);
9306
9396
  }
9307
- function asyncGeneratorStep$16(gen, resolve, reject, _next, _throw, key, arg) {
9397
+ function asyncGeneratorStep$17(gen, resolve, reject, _next, _throw, key, arg) {
9308
9398
  try {
9309
9399
  var info = gen[key](arg);
9310
9400
  var value = info.value;
@@ -9318,22 +9408,22 @@ function asyncGeneratorStep$16(gen, resolve, reject, _next, _throw, key, arg) {
9318
9408
  Promise.resolve(value).then(_next, _throw);
9319
9409
  }
9320
9410
  }
9321
- function _async_to_generator$16(fn) {
9411
+ function _async_to_generator$17(fn) {
9322
9412
  return function() {
9323
9413
  var self = this, args = arguments;
9324
9414
  return new Promise(function(resolve, reject) {
9325
9415
  var gen = fn.apply(self, args);
9326
9416
  function _next(value) {
9327
- asyncGeneratorStep$16(gen, resolve, reject, _next, _throw, "next", value);
9417
+ asyncGeneratorStep$17(gen, resolve, reject, _next, _throw, "next", value);
9328
9418
  }
9329
9419
  function _throw(err) {
9330
- asyncGeneratorStep$16(gen, resolve, reject, _next, _throw, "throw", err);
9420
+ asyncGeneratorStep$17(gen, resolve, reject, _next, _throw, "throw", err);
9331
9421
  }
9332
9422
  _next(undefined);
9333
9423
  });
9334
9424
  };
9335
9425
  }
9336
- function _define_property$J(obj, key, value) {
9426
+ function _define_property$K(obj, key, value) {
9337
9427
  if (key in obj) {
9338
9428
  Object.defineProperty(obj, key, {
9339
9429
  value: value,
@@ -9346,7 +9436,7 @@ function _define_property$J(obj, key, value) {
9346
9436
  }
9347
9437
  return obj;
9348
9438
  }
9349
- function _instanceof$n(left, right) {
9439
+ function _instanceof$o(left, right) {
9350
9440
  "@swc/helpers - instanceof";
9351
9441
  if (right != null && typeof Symbol !== "undefined" && right[Symbol.hasInstance]) {
9352
9442
  return !!right[Symbol.hasInstance](left);
@@ -9360,7 +9450,7 @@ function _iterable_to_array$Y(iter) {
9360
9450
  function _non_iterable_spread$Y() {
9361
9451
  throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
9362
9452
  }
9363
- function _object_spread$J(target) {
9453
+ function _object_spread$K(target) {
9364
9454
  for(var i = 1; i < arguments.length; i++){
9365
9455
  var source = arguments[i] != null ? arguments[i] : {};
9366
9456
  var ownKeys = Object.keys(source);
@@ -9370,7 +9460,7 @@ function _object_spread$J(target) {
9370
9460
  }));
9371
9461
  }
9372
9462
  ownKeys.forEach(function(key) {
9373
- _define_property$J(target, key, source[key]);
9463
+ _define_property$K(target, key, source[key]);
9374
9464
  });
9375
9465
  }
9376
9466
  return target;
@@ -9386,7 +9476,7 @@ function _unsupported_iterable_to_array$12(o, minLen) {
9386
9476
  if (n === "Map" || n === "Set") return Array.from(n);
9387
9477
  if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$12(o, minLen);
9388
9478
  }
9389
- function _ts_generator$16(thisArg, body) {
9479
+ function _ts_generator$17(thisArg, body) {
9390
9480
  var f, y, t, _ = {
9391
9481
  label: 0,
9392
9482
  sent: function() {
@@ -9493,11 +9583,11 @@ function _ts_generator$16(thisArg, body) {
9493
9583
  return [
9494
9584
  function(param) {
9495
9585
  var config = param.config;
9496
- return _async_to_generator$16(function() {
9497
- return _ts_generator$16(this, function(_state) {
9586
+ return _async_to_generator$17(function() {
9587
+ return _ts_generator$17(this, function(_state) {
9498
9588
  return [
9499
9589
  2,
9500
- _object_spread$J({
9590
+ _object_spread$K({
9501
9591
  name: 'config-file-present',
9502
9592
  ok: !!config
9503
9593
  }, config ? {} : {
@@ -9509,11 +9599,11 @@ function _ts_generator$16(thisArg, body) {
9509
9599
  },
9510
9600
  function(param) {
9511
9601
  var envName = param.envName, env = param.env;
9512
- return _async_to_generator$16(function() {
9513
- return _ts_generator$16(this, function(_state) {
9602
+ return _async_to_generator$17(function() {
9603
+ return _ts_generator$17(this, function(_state) {
9514
9604
  return [
9515
9605
  2,
9516
- _object_spread$J({
9606
+ _object_spread$K({
9517
9607
  name: 'active-env-resolved',
9518
9608
  ok: !!envName && !!env,
9519
9609
  detail: {
@@ -9528,9 +9618,9 @@ function _ts_generator$16(thisArg, body) {
9528
9618
  },
9529
9619
  function(param) {
9530
9620
  var env = param.env;
9531
- return _async_to_generator$16(function() {
9621
+ return _async_to_generator$17(function() {
9532
9622
  var result, candidates, meta, e;
9533
- return _ts_generator$16(this, function(_state) {
9623
+ return _ts_generator$17(this, function(_state) {
9534
9624
  switch(_state.label){
9535
9625
  case 0:
9536
9626
  if (!(env === null || env === void 0 ? void 0 : env.oidcIssuer)) return [
@@ -9578,7 +9668,7 @@ function _ts_generator$16(thisArg, body) {
9578
9668
  ok: false,
9579
9669
  detail: {
9580
9670
  candidates: candidates,
9581
- error: _instanceof$n(e, Error) ? e.message : String(e)
9671
+ error: _instanceof$o(e, Error) ? e.message : String(e)
9582
9672
  },
9583
9673
  suggestion: 'Verify the env oidcIssuer URL and that the API is running.'
9584
9674
  };
@@ -9609,9 +9699,9 @@ function _ts_generator$16(thisArg, body) {
9609
9699
  },
9610
9700
  function(param) {
9611
9701
  var cliName = param.cliName, envName = param.envName, env = param.env;
9612
- return _async_to_generator$16(function() {
9702
+ return _async_to_generator$17(function() {
9613
9703
  var result, paths, tokens, entry, expired;
9614
- return _ts_generator$16(this, function(_state) {
9704
+ return _ts_generator$17(this, function(_state) {
9615
9705
  switch(_state.label){
9616
9706
  case 0:
9617
9707
  if (!(envName && env)) return [
@@ -9632,7 +9722,7 @@ function _ts_generator$16(thisArg, body) {
9632
9722
  entry = _state.sent();
9633
9723
  if (entry) {
9634
9724
  expired = isTokenExpired(entry);
9635
- result = _object_spread$J({
9725
+ result = _object_spread$K({
9636
9726
  name: 'token-cache-fresh',
9637
9727
  ok: !expired,
9638
9728
  detail: {
@@ -9671,9 +9761,9 @@ function _ts_generator$16(thisArg, body) {
9671
9761
  },
9672
9762
  function(param) {
9673
9763
  var cliName = param.cliName, envName = param.envName, env = param.env;
9674
- return _async_to_generator$16(function() {
9764
+ return _async_to_generator$17(function() {
9675
9765
  var result, paths, tokens, entry, meta, e;
9676
- return _ts_generator$16(this, function(_state) {
9766
+ return _ts_generator$17(this, function(_state) {
9677
9767
  switch(_state.label){
9678
9768
  case 0:
9679
9769
  if (!(!envName || !(env === null || env === void 0 ? void 0 : env.clientId) || !(env === null || env === void 0 ? void 0 : env.clientSecret))) return [
@@ -9748,7 +9838,7 @@ function _ts_generator$16(thisArg, body) {
9748
9838
  name: 'token-refresh-round-trip',
9749
9839
  ok: false,
9750
9840
  detail: {
9751
- error: _instanceof$n(e, Error) ? e.message : String(e)
9841
+ error: _instanceof$o(e, Error) ? e.message : String(e)
9752
9842
  },
9753
9843
  suggestion: "Run `".concat(cliName, " auth login --env ").concat(envName, "`.")
9754
9844
  };
@@ -9782,9 +9872,9 @@ function _ts_generator$16(thisArg, body) {
9782
9872
  },
9783
9873
  function(param) {
9784
9874
  var env = param.env;
9785
- return _async_to_generator$16(function() {
9875
+ return _async_to_generator$17(function() {
9786
9876
  var result, url, res, e;
9787
- return _ts_generator$16(this, function(_state) {
9877
+ return _ts_generator$17(this, function(_state) {
9788
9878
  switch(_state.label){
9789
9879
  case 0:
9790
9880
  if (!(env === null || env === void 0 ? void 0 : env.apiBaseUrl)) return [
@@ -9827,7 +9917,7 @@ function _ts_generator$16(thisArg, body) {
9827
9917
  ok: false,
9828
9918
  detail: {
9829
9919
  url: url,
9830
- error: _instanceof$n(e, Error) ? e.message : String(e)
9920
+ error: _instanceof$o(e, Error) ? e.message : String(e)
9831
9921
  },
9832
9922
  suggestion: 'Verify the API is running at apiBaseUrl.'
9833
9923
  };
@@ -9885,9 +9975,9 @@ function _ts_generator$16(thisArg, body) {
9885
9975
  return withEnv(yargs);
9886
9976
  },
9887
9977
  handler: wrapCommandHandler(function(argv) {
9888
- return _async_to_generator$16(function() {
9978
+ return _async_to_generator$17(function() {
9889
9979
  var _ref, config, envName, env, checkInput, results, _iteratorNormalCompletion, _didIteratorError, _iteratorError, _iterator, _step, check, _, e, err, allOk;
9890
- return _ts_generator$16(this, function(_state) {
9980
+ return _ts_generator$17(this, function(_state) {
9891
9981
  switch(_state.label){
9892
9982
  case 0:
9893
9983
  return [
@@ -9952,7 +10042,7 @@ function _ts_generator$16(thisArg, body) {
9952
10042
  name: 'check-threw',
9953
10043
  ok: false,
9954
10044
  detail: {
9955
- error: _instanceof$n(e, Error) ? e.message : String(e)
10045
+ error: _instanceof$o(e, Error) ? e.message : String(e)
9956
10046
  }
9957
10047
  });
9958
10048
  return [
@@ -10010,7 +10100,7 @@ function _ts_generator$16(thisArg, body) {
10010
10100
  };
10011
10101
  }
10012
10102
 
10013
- function asyncGeneratorStep$15(gen, resolve, reject, _next, _throw, key, arg) {
10103
+ function asyncGeneratorStep$16(gen, resolve, reject, _next, _throw, key, arg) {
10014
10104
  try {
10015
10105
  var info = gen[key](arg);
10016
10106
  var value = info.value;
@@ -10024,22 +10114,22 @@ function asyncGeneratorStep$15(gen, resolve, reject, _next, _throw, key, arg) {
10024
10114
  Promise.resolve(value).then(_next, _throw);
10025
10115
  }
10026
10116
  }
10027
- function _async_to_generator$15(fn) {
10117
+ function _async_to_generator$16(fn) {
10028
10118
  return function() {
10029
10119
  var self = this, args = arguments;
10030
10120
  return new Promise(function(resolve, reject) {
10031
10121
  var gen = fn.apply(self, args);
10032
10122
  function _next(value) {
10033
- asyncGeneratorStep$15(gen, resolve, reject, _next, _throw, "next", value);
10123
+ asyncGeneratorStep$16(gen, resolve, reject, _next, _throw, "next", value);
10034
10124
  }
10035
10125
  function _throw(err) {
10036
- asyncGeneratorStep$15(gen, resolve, reject, _next, _throw, "throw", err);
10126
+ asyncGeneratorStep$16(gen, resolve, reject, _next, _throw, "throw", err);
10037
10127
  }
10038
10128
  _next(undefined);
10039
10129
  });
10040
10130
  };
10041
10131
  }
10042
- function _define_property$I(obj, key, value) {
10132
+ function _define_property$J(obj, key, value) {
10043
10133
  if (key in obj) {
10044
10134
  Object.defineProperty(obj, key, {
10045
10135
  value: value,
@@ -10052,7 +10142,7 @@ function _define_property$I(obj, key, value) {
10052
10142
  }
10053
10143
  return obj;
10054
10144
  }
10055
- function _instanceof$m(left, right) {
10145
+ function _instanceof$n(left, right) {
10056
10146
  "@swc/helpers - instanceof";
10057
10147
  if (right != null && typeof Symbol !== "undefined" && right[Symbol.hasInstance]) {
10058
10148
  return !!right[Symbol.hasInstance](left);
@@ -10060,7 +10150,7 @@ function _instanceof$m(left, right) {
10060
10150
  return left instanceof right;
10061
10151
  }
10062
10152
  }
10063
- function _object_spread$I(target) {
10153
+ function _object_spread$J(target) {
10064
10154
  for(var i = 1; i < arguments.length; i++){
10065
10155
  var source = arguments[i] != null ? arguments[i] : {};
10066
10156
  var ownKeys = Object.keys(source);
@@ -10070,12 +10160,12 @@ function _object_spread$I(target) {
10070
10160
  }));
10071
10161
  }
10072
10162
  ownKeys.forEach(function(key) {
10073
- _define_property$I(target, key, source[key]);
10163
+ _define_property$J(target, key, source[key]);
10074
10164
  });
10075
10165
  }
10076
10166
  return target;
10077
10167
  }
10078
- function ownKeys$t(object, enumerableOnly) {
10168
+ function ownKeys$u(object, enumerableOnly) {
10079
10169
  var keys = Object.keys(object);
10080
10170
  if (Object.getOwnPropertySymbols) {
10081
10171
  var symbols = Object.getOwnPropertySymbols(object);
@@ -10083,12 +10173,12 @@ function ownKeys$t(object, enumerableOnly) {
10083
10173
  }
10084
10174
  return keys;
10085
10175
  }
10086
- function _object_spread_props$t(target, source) {
10176
+ function _object_spread_props$u(target, source) {
10087
10177
  source = source != null ? source : {};
10088
10178
  if (Object.getOwnPropertyDescriptors) {
10089
10179
  Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
10090
10180
  } else {
10091
- ownKeys$t(Object(source)).forEach(function(key) {
10181
+ ownKeys$u(Object(source)).forEach(function(key) {
10092
10182
  Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
10093
10183
  });
10094
10184
  }
@@ -10098,7 +10188,7 @@ function _type_of$1(obj) {
10098
10188
  "@swc/helpers - typeof";
10099
10189
  return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
10100
10190
  }
10101
- function _ts_generator$15(thisArg, body) {
10191
+ function _ts_generator$16(thisArg, body) {
10102
10192
  var f, y, t, _ = {
10103
10193
  label: 0,
10104
10194
  sent: function() {
@@ -10272,7 +10362,7 @@ function _ts_generator$15(thisArg, body) {
10272
10362
  * @param firebaseConfigComplete - Whether the env carries a complete Firebase client config.
10273
10363
  * @returns The result with `detail.readRouting` attached.
10274
10364
  */ function withReadRouting(result, firebaseConfigComplete) {
10275
- var readRouting = buildFirestoreSessionDoctorReadRouting(_object_spread_props$t(_object_spread$I({}, input.firestore === undefined ? {} : {
10365
+ var readRouting = buildFirestoreSessionDoctorReadRouting(_object_spread_props$u(_object_spread$J({}, input.firestore === undefined ? {} : {
10276
10366
  firestore: input.firestore
10277
10367
  }, input.modelManifest === undefined ? {} : {
10278
10368
  modelManifest: input.modelManifest
@@ -10282,17 +10372,17 @@ function _ts_generator$15(thisArg, body) {
10282
10372
  firebaseConfigComplete: firebaseConfigComplete,
10283
10373
  sessionOpened: result.ok
10284
10374
  }));
10285
- return _object_spread_props$t(_object_spread$I({}, result), {
10286
- detail: _object_spread_props$t(_object_spread$I({}, _type_of$1(result.detail) === 'object' && result.detail != null ? result.detail : {}), {
10375
+ return _object_spread_props$u(_object_spread$J({}, result), {
10376
+ detail: _object_spread_props$u(_object_spread$J({}, _type_of$1(result.detail) === 'object' && result.detail != null ? result.detail : {}), {
10287
10377
  readRouting: readRouting
10288
10378
  })
10289
10379
  });
10290
10380
  }
10291
10381
  return function(param) {
10292
10382
  var cliName = param.cliName, envName = param.envName, env = param.env;
10293
- return _async_to_generator$15(function() {
10383
+ return _async_to_generator$16(function() {
10294
10384
  var result, firebaseConfigComplete, accessToken;
10295
- return _ts_generator$15(this, function(_state) {
10385
+ return _ts_generator$16(this, function(_state) {
10296
10386
  switch(_state.label){
10297
10387
  case 0:
10298
10388
  if (!(envName && env)) return [
@@ -10389,9 +10479,9 @@ function _ts_generator$15(thisArg, body) {
10389
10479
  };
10390
10480
  }
10391
10481
  function runFirestoreSessionProbe(input) {
10392
- return _async_to_generator$15(function() {
10482
+ return _async_to_generator$16(function() {
10393
10483
  var cliName, envName, env, accessToken, probe, probeName, usingEmulators, context, handshakeError, e, result, appCheckUsed, baseDetail, probeResult, e1;
10394
- return _ts_generator$15(this, function(_state) {
10484
+ return _ts_generator$16(this, function(_state) {
10395
10485
  switch(_state.label){
10396
10486
  case 0:
10397
10487
  cliName = input.cliName, envName = input.envName, env = input.env, accessToken = input.accessToken, probe = input.probe, probeName = input.probeName;
@@ -10463,7 +10553,7 @@ function runFirestoreSessionProbe(input) {
10463
10553
  result = {
10464
10554
  name: FIRESTORE_SESSION_DOCTOR_CHECK_NAME,
10465
10555
  ok: true,
10466
- detail: _object_spread_props$t(_object_spread$I({}, baseDetail), {
10556
+ detail: _object_spread_props$u(_object_spread$J({}, baseDetail), {
10467
10557
  probe: probeName !== null && probeName !== void 0 ? probeName : 'ok',
10468
10558
  probeResult: probeResult
10469
10559
  })
@@ -10477,10 +10567,10 @@ function runFirestoreSessionProbe(input) {
10477
10567
  result = {
10478
10568
  name: FIRESTORE_SESSION_DOCTOR_CHECK_NAME,
10479
10569
  ok: false,
10480
- detail: _object_spread_props$t(_object_spread$I({}, baseDetail), {
10570
+ detail: _object_spread_props$u(_object_spread$J({}, baseDetail), {
10481
10571
  stage: 'rules-protected-read',
10482
10572
  probe: probeName,
10483
- error: _instanceof$m(e1, Error) ? e1.message : String(e1)
10573
+ error: _instanceof$n(e1, Error) ? e1.message : String(e1)
10484
10574
  }),
10485
10575
  suggestion: appCheckUsed ? 'Signed in, but the rules-protected read failed. Either the signed-in user lacks the claims the rules require, or the App Check token was rejected — verify the API mints for the same registered web app this env targets.' : 'Signed in without an App Check attestation. If the project enforces App Check on Firestore, configure `appCheckAppId` on the API session module.'
10486
10576
  };
@@ -10497,7 +10587,7 @@ function runFirestoreSessionProbe(input) {
10497
10587
  result = {
10498
10588
  name: FIRESTORE_SESSION_DOCTOR_CHECK_NAME,
10499
10589
  ok: true,
10500
- detail: _object_spread_props$t(_object_spread$I({}, baseDetail), {
10590
+ detail: _object_spread_props$u(_object_spread$J({}, baseDetail), {
10501
10591
  probe: 'not-configured'
10502
10592
  }),
10503
10593
  suggestion: 'Signed in, but no rules-protected read was attempted. Pass a `probe` to `createFirestoreSessionDoctorCheck` so the check can prove App Check is accepted and rules pass.'
@@ -10514,7 +10604,7 @@ function runFirestoreSessionProbe(input) {
10514
10604
  ok: false,
10515
10605
  detail: {
10516
10606
  stage: 'session-handshake',
10517
- error: _instanceof$m(handshakeError, Error) ? handshakeError.message : String(handshakeError)
10607
+ error: _instanceof$n(handshakeError, Error) ? handshakeError.message : String(handshakeError)
10518
10608
  },
10519
10609
  suggestion: "The API must register the firebase-server session module and list '/api/session' in the OIDC `protectedPaths`, and the logged-in user must be an admin holding the `session.firestore` scope. Re-run `".concat(cliName, " auth login --env ").concat(envName, "` if the scope is newly added.")
10520
10610
  };
@@ -10547,9 +10637,9 @@ function runFirestoreSessionProbe(input) {
10547
10637
  * @param input - The CLI name, env name, and resolved env.
10548
10638
  * @returns A usable access token, or `undefined` when none can be obtained.
10549
10639
  */ function resolveDoctorAccessToken(input) {
10550
- return _async_to_generator$15(function() {
10640
+ return _async_to_generator$16(function() {
10551
10641
  var _ref, cliName, envName, env, paths, tokens, entry, result, meta, refreshed;
10552
- return _ts_generator$15(this, function(_state) {
10642
+ return _ts_generator$16(this, function(_state) {
10553
10643
  switch(_state.label){
10554
10644
  case 0:
10555
10645
  cliName = input.cliName, envName = input.envName, env = input.env;
@@ -10642,7 +10732,7 @@ function _array_like_to_array$11(arr, len) {
10642
10732
  function _array_with_holes$g(arr) {
10643
10733
  if (Array.isArray(arr)) return arr;
10644
10734
  }
10645
- function asyncGeneratorStep$14(gen, resolve, reject, _next, _throw, key, arg) {
10735
+ function asyncGeneratorStep$15(gen, resolve, reject, _next, _throw, key, arg) {
10646
10736
  try {
10647
10737
  var info = gen[key](arg);
10648
10738
  var value = info.value;
@@ -10656,22 +10746,22 @@ function asyncGeneratorStep$14(gen, resolve, reject, _next, _throw, key, arg) {
10656
10746
  Promise.resolve(value).then(_next, _throw);
10657
10747
  }
10658
10748
  }
10659
- function _async_to_generator$14(fn) {
10749
+ function _async_to_generator$15(fn) {
10660
10750
  return function() {
10661
10751
  var self = this, args = arguments;
10662
10752
  return new Promise(function(resolve, reject) {
10663
10753
  var gen = fn.apply(self, args);
10664
10754
  function _next(value) {
10665
- asyncGeneratorStep$14(gen, resolve, reject, _next, _throw, "next", value);
10755
+ asyncGeneratorStep$15(gen, resolve, reject, _next, _throw, "next", value);
10666
10756
  }
10667
10757
  function _throw(err) {
10668
- asyncGeneratorStep$14(gen, resolve, reject, _next, _throw, "throw", err);
10758
+ asyncGeneratorStep$15(gen, resolve, reject, _next, _throw, "throw", err);
10669
10759
  }
10670
10760
  _next(undefined);
10671
10761
  });
10672
10762
  };
10673
10763
  }
10674
- function _define_property$H(obj, key, value) {
10764
+ function _define_property$I(obj, key, value) {
10675
10765
  if (key in obj) {
10676
10766
  Object.defineProperty(obj, key, {
10677
10767
  value: value,
@@ -10684,7 +10774,7 @@ function _define_property$H(obj, key, value) {
10684
10774
  }
10685
10775
  return obj;
10686
10776
  }
10687
- function _instanceof$l(left, right) {
10777
+ function _instanceof$m(left, right) {
10688
10778
  "@swc/helpers - instanceof";
10689
10779
  if (right != null && typeof Symbol !== "undefined" && right[Symbol.hasInstance]) {
10690
10780
  return !!right[Symbol.hasInstance](left);
@@ -10719,7 +10809,7 @@ function _iterable_to_array_limit$g(arr, i) {
10719
10809
  function _non_iterable_rest$g() {
10720
10810
  throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
10721
10811
  }
10722
- function _object_spread$H(target) {
10812
+ function _object_spread$I(target) {
10723
10813
  for(var i = 1; i < arguments.length; i++){
10724
10814
  var source = arguments[i] != null ? arguments[i] : {};
10725
10815
  var ownKeys = Object.keys(source);
@@ -10729,12 +10819,12 @@ function _object_spread$H(target) {
10729
10819
  }));
10730
10820
  }
10731
10821
  ownKeys.forEach(function(key) {
10732
- _define_property$H(target, key, source[key]);
10822
+ _define_property$I(target, key, source[key]);
10733
10823
  });
10734
10824
  }
10735
10825
  return target;
10736
10826
  }
10737
- function ownKeys$s(object, enumerableOnly) {
10827
+ function ownKeys$t(object, enumerableOnly) {
10738
10828
  var keys = Object.keys(object);
10739
10829
  if (Object.getOwnPropertySymbols) {
10740
10830
  var symbols = Object.getOwnPropertySymbols(object);
@@ -10742,12 +10832,12 @@ function ownKeys$s(object, enumerableOnly) {
10742
10832
  }
10743
10833
  return keys;
10744
10834
  }
10745
- function _object_spread_props$s(target, source) {
10835
+ function _object_spread_props$t(target, source) {
10746
10836
  source = source != null ? source : {};
10747
10837
  if (Object.getOwnPropertyDescriptors) {
10748
10838
  Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
10749
10839
  } else {
10750
- ownKeys$s(Object(source)).forEach(function(key) {
10840
+ ownKeys$t(Object(source)).forEach(function(key) {
10751
10841
  Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
10752
10842
  });
10753
10843
  }
@@ -10764,7 +10854,7 @@ function _unsupported_iterable_to_array$11(o, minLen) {
10764
10854
  if (n === "Map" || n === "Set") return Array.from(n);
10765
10855
  if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$11(o, minLen);
10766
10856
  }
10767
- function _ts_generator$14(thisArg, body) {
10857
+ function _ts_generator$15(thisArg, body) {
10768
10858
  var f, y, t, _ = {
10769
10859
  label: 0,
10770
10860
  sent: function() {
@@ -10932,9 +11022,9 @@ function resolveEnvWithDefault(input) {
10932
11022
  return yargs;
10933
11023
  },
10934
11024
  handler: wrapCommandHandler(function() {
10935
- return _async_to_generator$14(function() {
11025
+ return _async_to_generator$15(function() {
10936
11026
  var _ref, _config_envs, config, envs;
10937
- return _ts_generator$14(this, function(_state) {
11027
+ return _ts_generator$15(this, function(_state) {
10938
11028
  switch(_state.label){
10939
11029
  case 0:
10940
11030
  return [
@@ -10956,7 +11046,7 @@ function resolveEnvWithDefault(input) {
10956
11046
  storedEnv: env,
10957
11047
  defaultEnvs: defaultEnvs
10958
11048
  });
10959
- return _object_spread$H({
11049
+ return _object_spread$I({
10960
11050
  name: name,
10961
11051
  active: name === config.activeEnv
10962
11052
  }, (resolved === null || resolved === void 0 ? void 0 : resolved.defaultName) ? {
@@ -10964,9 +11054,9 @@ function resolveEnvWithDefault(input) {
10964
11054
  } : {}, maskEnv((_ref = resolved === null || resolved === void 0 ? void 0 : resolved.env) !== null && _ref !== void 0 ? _ref : env));
10965
11055
  }),
10966
11056
  defaults: defaultEnvs === null || defaultEnvs === void 0 ? void 0 : defaultEnvs.map(function(d) {
10967
- return _object_spread$H({
11057
+ return _object_spread$I({
10968
11058
  names: d.names
10969
- }, maskEnv(_object_spread$H({
11059
+ }, maskEnv(_object_spread$I({
10970
11060
  apiBaseUrl: '',
10971
11061
  oidcIssuer: ''
10972
11062
  }, d.env)));
@@ -10990,9 +11080,9 @@ function resolveEnvWithDefault(input) {
10990
11080
  });
10991
11081
  },
10992
11082
  handler: wrapCommandHandler(function(argv) {
10993
- return _async_to_generator$14(function() {
11083
+ return _async_to_generator$15(function() {
10994
11084
  var _ref, _config_envs, config, merged;
10995
- return _ts_generator$14(this, function(_state) {
11085
+ return _ts_generator$15(this, function(_state) {
10996
11086
  switch(_state.label){
10997
11087
  case 0:
10998
11088
  return [
@@ -11065,13 +11155,13 @@ function resolveEnvWithDefault(input) {
11065
11155
  });
11066
11156
  },
11067
11157
  handler: wrapCommandHandler(function(argv) {
11068
- return _async_to_generator$14(function() {
11158
+ return _async_to_generator$15(function() {
11069
11159
  var _argv_apiBaseUrl, _argv_oidcIssuer, _ref, firebase, stored, merged, resolved;
11070
- return _ts_generator$14(this, function(_state) {
11160
+ return _ts_generator$15(this, function(_state) {
11071
11161
  switch(_state.label){
11072
11162
  case 0:
11073
11163
  firebase = cliFirebaseConfigFromArgv(argv);
11074
- stored = _object_spread$H({
11164
+ stored = _object_spread$I({
11075
11165
  apiBaseUrl: (_argv_apiBaseUrl = argv.apiBaseUrl) !== null && _argv_apiBaseUrl !== void 0 ? _argv_apiBaseUrl : '',
11076
11166
  oidcIssuer: (_argv_oidcIssuer = argv.oidcIssuer) !== null && _argv_oidcIssuer !== void 0 ? _argv_oidcIssuer : '',
11077
11167
  appClientUrl: argv.appClientUrl,
@@ -11084,8 +11174,8 @@ function resolveEnvWithDefault(input) {
11084
11174
  mergeCliConfig({
11085
11175
  configFilePath: paths.configFilePath,
11086
11176
  configDir: paths.configDir,
11087
- updates: _object_spread$H({
11088
- envs: _define_property$H({}, argv.name, stored)
11177
+ updates: _object_spread$I({
11178
+ envs: _define_property$I({}, argv.name, stored)
11089
11179
  }, argv.setActive ? {
11090
11180
  activeEnv: argv.name
11091
11181
  } : {})
@@ -11098,7 +11188,7 @@ function resolveEnvWithDefault(input) {
11098
11188
  storedEnv: stored,
11099
11189
  defaultEnvs: defaultEnvs
11100
11190
  });
11101
- outputResult(_object_spread_props$s(_object_spread$H({
11191
+ outputResult(_object_spread_props$t(_object_spread$I({
11102
11192
  added: argv.name,
11103
11193
  activeEnv: merged.activeEnv
11104
11194
  }, (resolved === null || resolved === void 0 ? void 0 : resolved.defaultName) ? {
@@ -11123,9 +11213,9 @@ function resolveEnvWithDefault(input) {
11123
11213
  });
11124
11214
  },
11125
11215
  handler: wrapCommandHandler(function(argv) {
11126
- return _async_to_generator$14(function() {
11216
+ return _async_to_generator$15(function() {
11127
11217
  var _ref, _argv_name, _config_envs, config, name, stored, resolved;
11128
- return _ts_generator$14(this, function(_state) {
11218
+ return _ts_generator$15(this, function(_state) {
11129
11219
  switch(_state.label){
11130
11220
  case 0:
11131
11221
  return [
@@ -11155,7 +11245,7 @@ function resolveEnvWithDefault(input) {
11155
11245
  code: 'ENV_NOT_FOUND'
11156
11246
  });
11157
11247
  }
11158
- outputResult(_object_spread$H({
11248
+ outputResult(_object_spread$I({
11159
11249
  name: name,
11160
11250
  active: name === config.activeEnv
11161
11251
  }, resolved.defaultName ? {
@@ -11179,9 +11269,9 @@ function resolveEnvWithDefault(input) {
11179
11269
  });
11180
11270
  },
11181
11271
  handler: wrapCommandHandler(function(argv) {
11182
- return _async_to_generator$14(function() {
11272
+ return _async_to_generator$15(function() {
11183
11273
  var _ref, _config_envs, config, nextEnvs, nextActive, next, tokenRemovalWarning, e;
11184
- return _ts_generator$14(this, function(_state) {
11274
+ return _ts_generator$15(this, function(_state) {
11185
11275
  switch(_state.label){
11186
11276
  case 0:
11187
11277
  return [
@@ -11198,10 +11288,10 @@ function resolveEnvWithDefault(input) {
11198
11288
  code: 'ENV_NOT_FOUND'
11199
11289
  });
11200
11290
  }
11201
- nextEnvs = _object_spread$H({}, config.envs);
11291
+ nextEnvs = _object_spread$I({}, config.envs);
11202
11292
  delete nextEnvs[argv.name];
11203
11293
  nextActive = config.activeEnv === argv.name ? undefined : config.activeEnv;
11204
- next = _object_spread_props$s(_object_spread$H({}, config), {
11294
+ next = _object_spread_props$t(_object_spread$I({}, config), {
11205
11295
  envs: nextEnvs,
11206
11296
  activeEnv: nextActive
11207
11297
  });
@@ -11235,13 +11325,13 @@ function resolveEnvWithDefault(input) {
11235
11325
  ];
11236
11326
  case 5:
11237
11327
  e = _state.sent();
11238
- tokenRemovalWarning = 'Failed to delete cached tokens for "'.concat(argv.name, '": ').concat(_instanceof$l(e, Error) ? e.message : String(e));
11328
+ tokenRemovalWarning = 'Failed to delete cached tokens for "'.concat(argv.name, '": ').concat(_instanceof$m(e, Error) ? e.message : String(e));
11239
11329
  return [
11240
11330
  3,
11241
11331
  6
11242
11332
  ];
11243
11333
  case 6:
11244
- outputResult(_object_spread$H({
11334
+ outputResult(_object_spread$I({
11245
11335
  removed: argv.name,
11246
11336
  activeEnv: nextActive
11247
11337
  }, tokenRemovalWarning ? {
@@ -11265,7 +11355,7 @@ function resolveEnvWithDefault(input) {
11265
11355
  };
11266
11356
  }
11267
11357
 
11268
- function asyncGeneratorStep$13(gen, resolve, reject, _next, _throw, key, arg) {
11358
+ function asyncGeneratorStep$14(gen, resolve, reject, _next, _throw, key, arg) {
11269
11359
  try {
11270
11360
  var info = gen[key](arg);
11271
11361
  var value = info.value;
@@ -11279,22 +11369,22 @@ function asyncGeneratorStep$13(gen, resolve, reject, _next, _throw, key, arg) {
11279
11369
  Promise.resolve(value).then(_next, _throw);
11280
11370
  }
11281
11371
  }
11282
- function _async_to_generator$13(fn) {
11372
+ function _async_to_generator$14(fn) {
11283
11373
  return function() {
11284
11374
  var self = this, args = arguments;
11285
11375
  return new Promise(function(resolve, reject) {
11286
11376
  var gen = fn.apply(self, args);
11287
11377
  function _next(value) {
11288
- asyncGeneratorStep$13(gen, resolve, reject, _next, _throw, "next", value);
11378
+ asyncGeneratorStep$14(gen, resolve, reject, _next, _throw, "next", value);
11289
11379
  }
11290
11380
  function _throw(err) {
11291
- asyncGeneratorStep$13(gen, resolve, reject, _next, _throw, "throw", err);
11381
+ asyncGeneratorStep$14(gen, resolve, reject, _next, _throw, "throw", err);
11292
11382
  }
11293
11383
  _next(undefined);
11294
11384
  });
11295
11385
  };
11296
11386
  }
11297
- function _ts_generator$13(thisArg, body) {
11387
+ function _ts_generator$14(thisArg, body) {
11298
11388
  var f, y, t, _ = {
11299
11389
  label: 0,
11300
11390
  sent: function() {
@@ -11427,9 +11517,9 @@ function _ts_generator$13(thisArg, body) {
11427
11517
  });
11428
11518
  },
11429
11519
  handler: wrapCommandHandler(function(argv) {
11430
- return _async_to_generator$13(function() {
11520
+ return _async_to_generator$14(function() {
11431
11521
  var context, _parseGetArgs, modelType, key, models, result;
11432
- return _ts_generator$13(this, function(_state) {
11522
+ return _ts_generator$14(this, function(_state) {
11433
11523
  switch(_state.label){
11434
11524
  case 0:
11435
11525
  context = requireCliContext();
@@ -11846,7 +11936,7 @@ function sortedUnique(values) {
11846
11936
  return unique(_to_consumable_array$X(values)).sort(compareStrings);
11847
11937
  }
11848
11938
 
11849
- function _define_property$G(obj, key, value) {
11939
+ function _define_property$H(obj, key, value) {
11850
11940
  if (key in obj) {
11851
11941
  Object.defineProperty(obj, key, {
11852
11942
  value: value,
@@ -11859,7 +11949,7 @@ function _define_property$G(obj, key, value) {
11859
11949
  }
11860
11950
  return obj;
11861
11951
  }
11862
- function _object_spread$G(target) {
11952
+ function _object_spread$H(target) {
11863
11953
  for(var i = 1; i < arguments.length; i++){
11864
11954
  var source = arguments[i] != null ? arguments[i] : {};
11865
11955
  var ownKeys = Object.keys(source);
@@ -11869,12 +11959,12 @@ function _object_spread$G(target) {
11869
11959
  }));
11870
11960
  }
11871
11961
  ownKeys.forEach(function(key) {
11872
- _define_property$G(target, key, source[key]);
11962
+ _define_property$H(target, key, source[key]);
11873
11963
  });
11874
11964
  }
11875
11965
  return target;
11876
11966
  }
11877
- function ownKeys$r(object, enumerableOnly) {
11967
+ function ownKeys$s(object, enumerableOnly) {
11878
11968
  var keys = Object.keys(object);
11879
11969
  if (Object.getOwnPropertySymbols) {
11880
11970
  var symbols = Object.getOwnPropertySymbols(object);
@@ -11882,12 +11972,12 @@ function ownKeys$r(object, enumerableOnly) {
11882
11972
  }
11883
11973
  return keys;
11884
11974
  }
11885
- function _object_spread_props$r(target, source) {
11975
+ function _object_spread_props$s(target, source) {
11886
11976
  source = source != null ? source : {};
11887
11977
  if (Object.getOwnPropertyDescriptors) {
11888
11978
  Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
11889
11979
  } else {
11890
- ownKeys$r(Object(source)).forEach(function(key) {
11980
+ ownKeys$s(Object(source)).forEach(function(key) {
11891
11981
  Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
11892
11982
  });
11893
11983
  }
@@ -12004,12 +12094,12 @@ function _object_without_properties_loose(source, excluded) {
12004
12094
  var factory = entry.factory, rest = _object_without_properties(entry, [
12005
12095
  "factory"
12006
12096
  ]);
12007
- return _object_spread_props$r(_object_spread$G({}, rest), {
12097
+ return _object_spread_props$s(_object_spread$H({}, rest), {
12008
12098
  invocable: factory != null
12009
12099
  });
12010
12100
  }
12011
12101
 
12012
- function _define_property$F(obj, key, value) {
12102
+ function _define_property$G(obj, key, value) {
12013
12103
  if (key in obj) {
12014
12104
  Object.defineProperty(obj, key, {
12015
12105
  value: value,
@@ -12022,7 +12112,7 @@ function _define_property$F(obj, key, value) {
12022
12112
  }
12023
12113
  return obj;
12024
12114
  }
12025
- function _object_spread$F(target) {
12115
+ function _object_spread$G(target) {
12026
12116
  for(var i = 1; i < arguments.length; i++){
12027
12117
  var source = arguments[i] != null ? arguments[i] : {};
12028
12118
  var ownKeys = Object.keys(source);
@@ -12032,12 +12122,12 @@ function _object_spread$F(target) {
12032
12122
  }));
12033
12123
  }
12034
12124
  ownKeys.forEach(function(key) {
12035
- _define_property$F(target, key, source[key]);
12125
+ _define_property$G(target, key, source[key]);
12036
12126
  });
12037
12127
  }
12038
12128
  return target;
12039
12129
  }
12040
- function ownKeys$q(object, enumerableOnly) {
12130
+ function ownKeys$r(object, enumerableOnly) {
12041
12131
  var keys = Object.keys(object);
12042
12132
  if (Object.getOwnPropertySymbols) {
12043
12133
  var symbols = Object.getOwnPropertySymbols(object);
@@ -12045,12 +12135,12 @@ function ownKeys$q(object, enumerableOnly) {
12045
12135
  }
12046
12136
  return keys;
12047
12137
  }
12048
- function _object_spread_props$q(target, source) {
12138
+ function _object_spread_props$r(target, source) {
12049
12139
  source = source != null ? source : {};
12050
12140
  if (Object.getOwnPropertyDescriptors) {
12051
12141
  Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
12052
12142
  } else {
12053
- ownKeys$q(Object(source)).forEach(function(key) {
12143
+ ownKeys$r(Object(source)).forEach(function(key) {
12054
12144
  Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
12055
12145
  });
12056
12146
  }
@@ -12142,7 +12232,7 @@ function _object_spread_props$q(target, source) {
12142
12232
  var parentRef = firestoreContext.drivers.firestoreAccessorDriver.docAtPath(firestoreContext.firestore, parentKey);
12143
12233
  // The spread is REQUIRED, not stylistic: `makeFirestoreCollectionGroup` mutates `config.cache`, so
12144
12234
  // reusing the object would rewrite the registered group's cache in place.
12145
- return makeFirestoreCollectionGroup(_object_spread_props$q(_object_spread$F({}, group.config), {
12235
+ return makeFirestoreCollectionGroup(_object_spread_props$r(_object_spread$G({}, group.config), {
12146
12236
  queryLike: firestoreContext.subcollection(parentRef, collectionName)
12147
12237
  }));
12148
12238
  }
@@ -12158,7 +12248,7 @@ function _array_with_holes$f(arr) {
12158
12248
  function _array_without_holes$W(arr) {
12159
12249
  if (Array.isArray(arr)) return _array_like_to_array$$(arr);
12160
12250
  }
12161
- function _instanceof$k(left, right) {
12251
+ function _instanceof$l(left, right) {
12162
12252
  "@swc/helpers - instanceof";
12163
12253
  if (right != null && typeof Symbol !== "undefined" && right[Symbol.hasInstance]) {
12164
12254
  return !!right[Symbol.hasInstance](left);
@@ -12290,7 +12380,7 @@ function parseParamsJson(entry, text) {
12290
12380
  result = JSON.parse(text);
12291
12381
  } catch (e) {
12292
12382
  throw new CliError({
12293
- message: 'Query "'.concat(entry.slug, '": --params is not valid JSON (').concat(_instanceof$k(e, Error) ? e.message : String(e), "). Received: ").concat(truncateForError(text)),
12383
+ message: 'Query "'.concat(entry.slug, '": --params is not valid JSON (').concat(_instanceof$l(e, Error) ? e.message : String(e), "). Received: ").concat(truncateForError(text)),
12294
12384
  code: 'INVALID_ARGUMENT',
12295
12385
  suggestion: "Signature: ".concat(entry.signature, ". Shell quoting is the usual culprit — wrap the JSON in single quotes.")
12296
12386
  });
@@ -12453,7 +12543,7 @@ function _array_like_to_array$_(arr, len) {
12453
12543
  function _array_without_holes$V(arr) {
12454
12544
  if (Array.isArray(arr)) return _array_like_to_array$_(arr);
12455
12545
  }
12456
- function asyncGeneratorStep$12(gen, resolve, reject, _next, _throw, key, arg) {
12546
+ function asyncGeneratorStep$13(gen, resolve, reject, _next, _throw, key, arg) {
12457
12547
  try {
12458
12548
  var info = gen[key](arg);
12459
12549
  var value = info.value;
@@ -12467,22 +12557,22 @@ function asyncGeneratorStep$12(gen, resolve, reject, _next, _throw, key, arg) {
12467
12557
  Promise.resolve(value).then(_next, _throw);
12468
12558
  }
12469
12559
  }
12470
- function _async_to_generator$12(fn) {
12560
+ function _async_to_generator$13(fn) {
12471
12561
  return function() {
12472
12562
  var self = this, args = arguments;
12473
12563
  return new Promise(function(resolve, reject) {
12474
12564
  var gen = fn.apply(self, args);
12475
12565
  function _next(value) {
12476
- asyncGeneratorStep$12(gen, resolve, reject, _next, _throw, "next", value);
12566
+ asyncGeneratorStep$13(gen, resolve, reject, _next, _throw, "next", value);
12477
12567
  }
12478
12568
  function _throw(err) {
12479
- asyncGeneratorStep$12(gen, resolve, reject, _next, _throw, "throw", err);
12569
+ asyncGeneratorStep$13(gen, resolve, reject, _next, _throw, "throw", err);
12480
12570
  }
12481
12571
  _next(undefined);
12482
12572
  });
12483
12573
  };
12484
12574
  }
12485
- function _define_property$E(obj, key, value) {
12575
+ function _define_property$F(obj, key, value) {
12486
12576
  if (key in obj) {
12487
12577
  Object.defineProperty(obj, key, {
12488
12578
  value: value,
@@ -12501,7 +12591,7 @@ function _iterable_to_array$V(iter) {
12501
12591
  function _non_iterable_spread$V() {
12502
12592
  throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
12503
12593
  }
12504
- function _object_spread$E(target) {
12594
+ function _object_spread$F(target) {
12505
12595
  for(var i = 1; i < arguments.length; i++){
12506
12596
  var source = arguments[i] != null ? arguments[i] : {};
12507
12597
  var ownKeys = Object.keys(source);
@@ -12511,12 +12601,12 @@ function _object_spread$E(target) {
12511
12601
  }));
12512
12602
  }
12513
12603
  ownKeys.forEach(function(key) {
12514
- _define_property$E(target, key, source[key]);
12604
+ _define_property$F(target, key, source[key]);
12515
12605
  });
12516
12606
  }
12517
12607
  return target;
12518
12608
  }
12519
- function ownKeys$p(object, enumerableOnly) {
12609
+ function ownKeys$q(object, enumerableOnly) {
12520
12610
  var keys = Object.keys(object);
12521
12611
  if (Object.getOwnPropertySymbols) {
12522
12612
  var symbols = Object.getOwnPropertySymbols(object);
@@ -12524,12 +12614,12 @@ function ownKeys$p(object, enumerableOnly) {
12524
12614
  }
12525
12615
  return keys;
12526
12616
  }
12527
- function _object_spread_props$p(target, source) {
12617
+ function _object_spread_props$q(target, source) {
12528
12618
  source = source != null ? source : {};
12529
12619
  if (Object.getOwnPropertyDescriptors) {
12530
12620
  Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
12531
12621
  } else {
12532
- ownKeys$p(Object(source)).forEach(function(key) {
12622
+ ownKeys$q(Object(source)).forEach(function(key) {
12533
12623
  Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
12534
12624
  });
12535
12625
  }
@@ -12546,7 +12636,7 @@ function _unsupported_iterable_to_array$_(o, minLen) {
12546
12636
  if (n === "Map" || n === "Set") return Array.from(n);
12547
12637
  if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$_(o, minLen);
12548
12638
  }
12549
- function _ts_generator$12(thisArg, body) {
12639
+ function _ts_generator$13(thisArg, body) {
12550
12640
  var f, y, t, _ = {
12551
12641
  label: 0,
12552
12642
  sent: function() {
@@ -12691,9 +12781,9 @@ function _ts_generator$12(thisArg, body) {
12691
12781
  * @returns The query result envelope.
12692
12782
  * @throws {CliError} On an argument, scoping, or invocability failure. Firestore's own errors (rules, missing index) surface via `cliFirestoreErrorMapper`.
12693
12783
  */ function runCliFirestoreQuery(input) {
12694
- return _async_to_generator$12(function() {
12784
+ return _async_to_generator$13(function() {
12695
12785
  var _collection, models, entry, params, rawParams, parent, limit, _input_count, count, constraints, collection, executable, base, result, _tmp, _tmp1, pairs, rows;
12696
- return _ts_generator$12(this, function(_state) {
12786
+ return _ts_generator$13(this, function(_state) {
12697
12787
  switch(_state.label){
12698
12788
  case 0:
12699
12789
  models = input.models, entry = input.entry, params = input.params, rawParams = input.rawParams, parent = input.parent, limit = input.limit, _input_count = input.count, count = _input_count === void 0 ? false : _input_count;
@@ -12714,7 +12804,7 @@ function _ts_generator$12(thisArg, body) {
12714
12804
  parentKey: parent
12715
12805
  });
12716
12806
  executable = (_collection = collection).queryDocument.apply(_collection, _to_consumable_array$V(constraints));
12717
- base = _object_spread_props$p(_object_spread$E({
12807
+ base = _object_spread_props$q(_object_spread$F({
12718
12808
  slug: entry.slug,
12719
12809
  model: entry.model,
12720
12810
  collection: entry.collection,
@@ -12729,7 +12819,7 @@ function _ts_generator$12(thisArg, body) {
12729
12819
  2
12730
12820
  ];
12731
12821
  _tmp = [
12732
- _object_spread$E({}, base)
12822
+ _object_spread$F({}, base)
12733
12823
  ];
12734
12824
  _tmp1 = {};
12735
12825
  return [
@@ -12737,7 +12827,7 @@ function _ts_generator$12(thisArg, body) {
12737
12827
  executable.countDocs()
12738
12828
  ];
12739
12829
  case 1:
12740
- result = _object_spread_props$p.apply(void 0, _tmp.concat([
12830
+ result = _object_spread_props$q.apply(void 0, _tmp.concat([
12741
12831
  (_tmp1.count = _state.sent(), _tmp1)
12742
12832
  ]));
12743
12833
  return [
@@ -12760,7 +12850,7 @@ function _ts_generator$12(thisArg, body) {
12760
12850
  data: pair.document.converter.fromFirestore(pair.snapshot)
12761
12851
  };
12762
12852
  });
12763
- result = _object_spread_props$p(_object_spread$E({}, base), {
12853
+ result = _object_spread_props$q(_object_spread$F({}, base), {
12764
12854
  rows: rows,
12765
12855
  count: rows.length
12766
12856
  });
@@ -12775,7 +12865,7 @@ function _ts_generator$12(thisArg, body) {
12775
12865
  })();
12776
12866
  }
12777
12867
 
12778
- function asyncGeneratorStep$11(gen, resolve, reject, _next, _throw, key, arg) {
12868
+ function asyncGeneratorStep$12(gen, resolve, reject, _next, _throw, key, arg) {
12779
12869
  try {
12780
12870
  var info = gen[key](arg);
12781
12871
  var value = info.value;
@@ -12789,22 +12879,22 @@ function asyncGeneratorStep$11(gen, resolve, reject, _next, _throw, key, arg) {
12789
12879
  Promise.resolve(value).then(_next, _throw);
12790
12880
  }
12791
12881
  }
12792
- function _async_to_generator$11(fn) {
12882
+ function _async_to_generator$12(fn) {
12793
12883
  return function() {
12794
12884
  var self = this, args = arguments;
12795
12885
  return new Promise(function(resolve, reject) {
12796
12886
  var gen = fn.apply(self, args);
12797
12887
  function _next(value) {
12798
- asyncGeneratorStep$11(gen, resolve, reject, _next, _throw, "next", value);
12888
+ asyncGeneratorStep$12(gen, resolve, reject, _next, _throw, "next", value);
12799
12889
  }
12800
12890
  function _throw(err) {
12801
- asyncGeneratorStep$11(gen, resolve, reject, _next, _throw, "throw", err);
12891
+ asyncGeneratorStep$12(gen, resolve, reject, _next, _throw, "throw", err);
12802
12892
  }
12803
12893
  _next(undefined);
12804
12894
  });
12805
12895
  };
12806
12896
  }
12807
- function _ts_generator$11(thisArg, body) {
12897
+ function _ts_generator$12(thisArg, body) {
12808
12898
  var f, y, t, _ = {
12809
12899
  label: 0,
12810
12900
  sent: function() {
@@ -12960,9 +13050,9 @@ var EPILOGUE = [
12960
13050
  }).epilogue(EPILOGUE);
12961
13051
  },
12962
13052
  handler: wrapCommandHandler(function(argv) {
12963
- return _async_to_generator$11(function() {
13053
+ return _async_to_generator$12(function() {
12964
13054
  var entry, models, result;
12965
- return _ts_generator$11(this, function(_state) {
13055
+ return _ts_generator$12(this, function(_state) {
12966
13056
  switch(_state.label){
12967
13057
  case 0:
12968
13058
  entry = resolveCliFirestoreQueryEntry(registry, String(argv.query));
@@ -13000,7 +13090,7 @@ var EPILOGUE = [
13000
13090
  };
13001
13091
  }
13002
13092
 
13003
- function asyncGeneratorStep$10(gen, resolve, reject, _next, _throw, key, arg) {
13093
+ function asyncGeneratorStep$11(gen, resolve, reject, _next, _throw, key, arg) {
13004
13094
  try {
13005
13095
  var info = gen[key](arg);
13006
13096
  var value = info.value;
@@ -13014,22 +13104,22 @@ function asyncGeneratorStep$10(gen, resolve, reject, _next, _throw, key, arg) {
13014
13104
  Promise.resolve(value).then(_next, _throw);
13015
13105
  }
13016
13106
  }
13017
- function _async_to_generator$10(fn) {
13107
+ function _async_to_generator$11(fn) {
13018
13108
  return function() {
13019
13109
  var self = this, args = arguments;
13020
13110
  return new Promise(function(resolve, reject) {
13021
13111
  var gen = fn.apply(self, args);
13022
13112
  function _next(value) {
13023
- asyncGeneratorStep$10(gen, resolve, reject, _next, _throw, "next", value);
13113
+ asyncGeneratorStep$11(gen, resolve, reject, _next, _throw, "next", value);
13024
13114
  }
13025
13115
  function _throw(err) {
13026
- asyncGeneratorStep$10(gen, resolve, reject, _next, _throw, "throw", err);
13116
+ asyncGeneratorStep$11(gen, resolve, reject, _next, _throw, "throw", err);
13027
13117
  }
13028
13118
  _next(undefined);
13029
13119
  });
13030
13120
  };
13031
13121
  }
13032
- function _define_property$D(obj, key, value) {
13122
+ function _define_property$E(obj, key, value) {
13033
13123
  if (key in obj) {
13034
13124
  Object.defineProperty(obj, key, {
13035
13125
  value: value,
@@ -13042,7 +13132,7 @@ function _define_property$D(obj, key, value) {
13042
13132
  }
13043
13133
  return obj;
13044
13134
  }
13045
- function _object_spread$D(target) {
13135
+ function _object_spread$E(target) {
13046
13136
  for(var i = 1; i < arguments.length; i++){
13047
13137
  var source = arguments[i] != null ? arguments[i] : {};
13048
13138
  var ownKeys = Object.keys(source);
@@ -13052,12 +13142,12 @@ function _object_spread$D(target) {
13052
13142
  }));
13053
13143
  }
13054
13144
  ownKeys.forEach(function(key) {
13055
- _define_property$D(target, key, source[key]);
13145
+ _define_property$E(target, key, source[key]);
13056
13146
  });
13057
13147
  }
13058
13148
  return target;
13059
13149
  }
13060
- function ownKeys$o(object, enumerableOnly) {
13150
+ function ownKeys$p(object, enumerableOnly) {
13061
13151
  var keys = Object.keys(object);
13062
13152
  if (Object.getOwnPropertySymbols) {
13063
13153
  var symbols = Object.getOwnPropertySymbols(object);
@@ -13065,18 +13155,18 @@ function ownKeys$o(object, enumerableOnly) {
13065
13155
  }
13066
13156
  return keys;
13067
13157
  }
13068
- function _object_spread_props$o(target, source) {
13158
+ function _object_spread_props$p(target, source) {
13069
13159
  source = source != null ? source : {};
13070
13160
  if (Object.getOwnPropertyDescriptors) {
13071
13161
  Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
13072
13162
  } else {
13073
- ownKeys$o(Object(source)).forEach(function(key) {
13163
+ ownKeys$p(Object(source)).forEach(function(key) {
13074
13164
  Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
13075
13165
  });
13076
13166
  }
13077
13167
  return target;
13078
13168
  }
13079
- function _ts_generator$10(thisArg, body) {
13169
+ function _ts_generator$11(thisArg, body) {
13080
13170
  var f, y, t, _ = {
13081
13171
  label: 0,
13082
13172
  sent: function() {
@@ -13211,9 +13301,9 @@ function _ts_generator$10(thisArg, body) {
13211
13301
  */ function cliFirestoreAccessorFactory(input) {
13212
13302
  var binding = cliFirestoreBinding(input);
13213
13303
  function resolve(context) {
13214
- return _async_to_generator$10(function() {
13304
+ return _async_to_generator$11(function() {
13215
13305
  var _context_getFirestoreModels, existing, models, _tmp;
13216
- return _ts_generator$10(this, function(_state) {
13306
+ return _ts_generator$11(this, function(_state) {
13217
13307
  switch(_state.label){
13218
13308
  case 0:
13219
13309
  return [
@@ -13257,7 +13347,7 @@ function _ts_generator$10(thisArg, body) {
13257
13347
  // so these stay drop-in and there remains exactly ONE implementation of it
13258
13348
  return [
13259
13349
  2,
13260
- _object_spread_props$o(_object_spread$D({}, models), {
13350
+ _object_spread_props$p(_object_spread$E({}, models), {
13261
13351
  readModel: function readModel(modelType, key) {
13262
13352
  return getModelOverFirestore({
13263
13353
  models: models,
@@ -13285,7 +13375,7 @@ function _ts_generator$10(thisArg, body) {
13285
13375
  });
13286
13376
  }
13287
13377
 
13288
- function _instanceof$j(left, right) {
13378
+ function _instanceof$k(left, right) {
13289
13379
  "@swc/helpers - instanceof";
13290
13380
  if (right != null && typeof Symbol !== "undefined" && right[Symbol.hasInstance]) {
13291
13381
  return !!right[Symbol.hasInstance](left);
@@ -13307,7 +13397,7 @@ function _instanceof$j(left, right) {
13307
13397
  * @returns The narrowed error, or `undefined` when it is not a coded Firebase error.
13308
13398
  */ function asFirebaseError(error) {
13309
13399
  var result;
13310
- if (_instanceof$j(error, Error) && 'code' in error) {
13400
+ if (_instanceof$k(error, Error) && 'code' in error) {
13311
13401
  var code = error.code;
13312
13402
  if (typeof code === 'string' && code.length > 0) {
13313
13403
  result = {
@@ -13610,7 +13700,7 @@ function runHandler(manifest, argv) {
13610
13700
  }
13611
13701
  }
13612
13702
 
13613
- function asyncGeneratorStep$$(gen, resolve, reject, _next, _throw, key, arg) {
13703
+ function asyncGeneratorStep$10(gen, resolve, reject, _next, _throw, key, arg) {
13614
13704
  try {
13615
13705
  var info = gen[key](arg);
13616
13706
  var value = info.value;
@@ -13624,22 +13714,22 @@ function asyncGeneratorStep$$(gen, resolve, reject, _next, _throw, key, arg) {
13624
13714
  Promise.resolve(value).then(_next, _throw);
13625
13715
  }
13626
13716
  }
13627
- function _async_to_generator$$(fn) {
13717
+ function _async_to_generator$10(fn) {
13628
13718
  return function() {
13629
13719
  var self = this, args = arguments;
13630
13720
  return new Promise(function(resolve, reject) {
13631
13721
  var gen = fn.apply(self, args);
13632
13722
  function _next(value) {
13633
- asyncGeneratorStep$$(gen, resolve, reject, _next, _throw, "next", value);
13723
+ asyncGeneratorStep$10(gen, resolve, reject, _next, _throw, "next", value);
13634
13724
  }
13635
13725
  function _throw(err) {
13636
- asyncGeneratorStep$$(gen, resolve, reject, _next, _throw, "throw", err);
13726
+ asyncGeneratorStep$10(gen, resolve, reject, _next, _throw, "throw", err);
13637
13727
  }
13638
13728
  _next(undefined);
13639
13729
  });
13640
13730
  };
13641
13731
  }
13642
- function _define_property$C(obj, key, value) {
13732
+ function _define_property$D(obj, key, value) {
13643
13733
  if (key in obj) {
13644
13734
  Object.defineProperty(obj, key, {
13645
13735
  value: value,
@@ -13652,7 +13742,7 @@ function _define_property$C(obj, key, value) {
13652
13742
  }
13653
13743
  return obj;
13654
13744
  }
13655
- function _object_spread$C(target) {
13745
+ function _object_spread$D(target) {
13656
13746
  for(var i = 1; i < arguments.length; i++){
13657
13747
  var source = arguments[i] != null ? arguments[i] : {};
13658
13748
  var ownKeys = Object.keys(source);
@@ -13662,12 +13752,12 @@ function _object_spread$C(target) {
13662
13752
  }));
13663
13753
  }
13664
13754
  ownKeys.forEach(function(key) {
13665
- _define_property$C(target, key, source[key]);
13755
+ _define_property$D(target, key, source[key]);
13666
13756
  });
13667
13757
  }
13668
13758
  return target;
13669
13759
  }
13670
- function ownKeys$n(object, enumerableOnly) {
13760
+ function ownKeys$o(object, enumerableOnly) {
13671
13761
  var keys = Object.keys(object);
13672
13762
  if (Object.getOwnPropertySymbols) {
13673
13763
  var symbols = Object.getOwnPropertySymbols(object);
@@ -13675,18 +13765,18 @@ function ownKeys$n(object, enumerableOnly) {
13675
13765
  }
13676
13766
  return keys;
13677
13767
  }
13678
- function _object_spread_props$n(target, source) {
13768
+ function _object_spread_props$o(target, source) {
13679
13769
  source = source != null ? source : {};
13680
13770
  if (Object.getOwnPropertyDescriptors) {
13681
13771
  Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
13682
13772
  } else {
13683
- ownKeys$n(Object(source)).forEach(function(key) {
13773
+ ownKeys$o(Object(source)).forEach(function(key) {
13684
13774
  Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
13685
13775
  });
13686
13776
  }
13687
13777
  return target;
13688
13778
  }
13689
- function _ts_generator$$(thisArg, body) {
13779
+ function _ts_generator$10(thisArg, body) {
13690
13780
  var f, y, t, _ = {
13691
13781
  label: 0,
13692
13782
  sent: function() {
@@ -13809,9 +13899,9 @@ function _ts_generator$$(thisArg, body) {
13809
13899
  firestoreSessionCachePath: paths.firestoreSessionCachePath
13810
13900
  });
13811
13901
  return function(argv) {
13812
- return _async_to_generator$$(function() {
13813
- var _argv__, command, _ref, envName, env, entry, e;
13814
- return _ts_generator$$(this, function(_state) {
13902
+ return _async_to_generator$10(function() {
13903
+ var _argv__, command, _ref, envName, env, entry, existing, e;
13904
+ return _ts_generator$10(this, function(_state) {
13815
13905
  switch(_state.label){
13816
13906
  case 0:
13817
13907
  // Configure verbose/timeout as early as possible so HTTP calls made from this very
@@ -13856,15 +13946,29 @@ function _ts_generator$$(thisArg, body) {
13856
13946
  ];
13857
13947
  case 3:
13858
13948
  entry = _state.sent();
13859
- setCliContext(createCliContext({
13860
- cliName: input.cliName,
13861
- envName: envName,
13862
- env: env,
13863
- accessToken: entry.accessToken,
13864
- modelManifest: input.modelManifest,
13865
- firestoreSessionCache: firestoreSessionCache,
13866
- firestore: input.firestore
13867
- }));
13949
+ // yargs re-runs a global middleware once per COMMAND LEVEL, so a nested command like
13950
+ // `action worker export` runs this three times (`action`, `action worker`, `action worker
13951
+ // export`). Replacing the context on each run ORPHANS the previous one — and with it any
13952
+ // direct-Firestore session opened on its memo, because the exit teardown closes the session of
13953
+ // whichever context is in the slot LAST. That is a hang: the command prints its result and the
13954
+ // orphaned session holds the event loop open forever.
13955
+ //
13956
+ // Every run of this middleware within one invocation resolves the same env and the same token,
13957
+ // so the existing context is not merely reusable — it is the one the earlier command level
13958
+ // already handed to a handler. Only a genuine change (a different env, a token refreshed
13959
+ // mid-invocation) justifies replacing it.
13960
+ existing = getCliContext();
13961
+ if ((existing === null || existing === void 0 ? void 0 : existing.envName) !== envName || existing.accessToken !== entry.accessToken) {
13962
+ setCliContext(createCliContext({
13963
+ cliName: input.cliName,
13964
+ envName: envName,
13965
+ env: env,
13966
+ accessToken: entry.accessToken,
13967
+ modelManifest: input.modelManifest,
13968
+ firestoreSessionCache: firestoreSessionCache,
13969
+ firestore: input.firestore
13970
+ }));
13971
+ }
13868
13972
  return [
13869
13973
  3,
13870
13974
  5
@@ -13895,9 +13999,9 @@ function _ts_generator$$(thisArg, body) {
13895
13999
  * @returns The resolved (and refreshed when necessary) token entry.
13896
14000
  * @throws {CliError} When no tokens are available for the env.
13897
14001
  */ function resolveAccessTokenEntry(input) {
13898
- return _async_to_generator$$(function() {
14002
+ return _async_to_generator$10(function() {
13899
14003
  var _ref, cliName, envName, env, tokens, entry, _readEnvTokenEntry;
13900
- return _ts_generator$$(this, function(_state) {
14004
+ return _ts_generator$10(this, function(_state) {
13901
14005
  switch(_state.label){
13902
14006
  case 0:
13903
14007
  cliName = input.cliName, envName = input.envName, env = input.env, tokens = input.tokens;
@@ -13954,9 +14058,9 @@ function _ts_generator$$(thisArg, body) {
13954
14058
  * @returns The refreshed token entry.
13955
14059
  * @throws {CliError} When the entry is expired and has no refresh token.
13956
14060
  */ function refreshTokenEntry(input) {
13957
- return _async_to_generator$$(function() {
14061
+ return _async_to_generator$10(function() {
13958
14062
  var _refreshed_refresh_token, _refreshed_token_type, _refreshed_scope, _refreshed_expires_in, cliName, envName, env, tokens, entry, meta, suppliedRefreshToken, refreshed, updated;
13959
- return _ts_generator$$(this, function(_state) {
14063
+ return _ts_generator$10(this, function(_state) {
13960
14064
  switch(_state.label){
13961
14065
  case 0:
13962
14066
  cliName = input.cliName, envName = input.envName, env = input.env, tokens = input.tokens, entry = input.entry;
@@ -13988,7 +14092,7 @@ function _ts_generator$$(thisArg, body) {
13988
14092
  ];
13989
14093
  case 2:
13990
14094
  refreshed = _state.sent();
13991
- updated = _object_spread_props$n(_object_spread$C({}, entry), {
14095
+ updated = _object_spread_props$o(_object_spread$D({}, entry), {
13992
14096
  accessToken: refreshed.access_token,
13993
14097
  refreshToken: (_refreshed_refresh_token = refreshed.refresh_token) !== null && _refreshed_refresh_token !== void 0 ? _refreshed_refresh_token : entry.refreshToken,
13994
14098
  tokenType: (_refreshed_token_type = refreshed.token_type) !== null && _refreshed_token_type !== void 0 ? _refreshed_token_type : entry.tokenType,
@@ -14043,6 +14147,242 @@ function _ts_generator$$(thisArg, body) {
14043
14147
  };
14044
14148
  }
14045
14149
 
14150
+ function asyncGeneratorStep$$(gen, resolve, reject, _next, _throw, key, arg) {
14151
+ try {
14152
+ var info = gen[key](arg);
14153
+ var value = info.value;
14154
+ } catch (error) {
14155
+ reject(error);
14156
+ return;
14157
+ }
14158
+ if (info.done) {
14159
+ resolve(value);
14160
+ } else {
14161
+ Promise.resolve(value).then(_next, _throw);
14162
+ }
14163
+ }
14164
+ function _async_to_generator$$(fn) {
14165
+ return function() {
14166
+ var self = this, args = arguments;
14167
+ return new Promise(function(resolve, reject) {
14168
+ var gen = fn.apply(self, args);
14169
+ function _next(value) {
14170
+ asyncGeneratorStep$$(gen, resolve, reject, _next, _throw, "next", value);
14171
+ }
14172
+ function _throw(err) {
14173
+ asyncGeneratorStep$$(gen, resolve, reject, _next, _throw, "throw", err);
14174
+ }
14175
+ _next(undefined);
14176
+ });
14177
+ };
14178
+ }
14179
+ function _instanceof$j(left, right) {
14180
+ "@swc/helpers - instanceof";
14181
+ if (right != null && typeof Symbol !== "undefined" && right[Symbol.hasInstance]) {
14182
+ return !!right[Symbol.hasInstance](left);
14183
+ } else {
14184
+ return left instanceof right;
14185
+ }
14186
+ }
14187
+ function _ts_generator$$(thisArg, body) {
14188
+ var f, y, t, _ = {
14189
+ label: 0,
14190
+ sent: function() {
14191
+ if (t[0] & 1) throw t[1];
14192
+ return t[1];
14193
+ },
14194
+ trys: [],
14195
+ ops: []
14196
+ }, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype), d = Object.defineProperty;
14197
+ return d(g, "next", {
14198
+ value: verb(0)
14199
+ }), d(g, "throw", {
14200
+ value: verb(1)
14201
+ }), d(g, "return", {
14202
+ value: verb(2)
14203
+ }), typeof Symbol === "function" && d(g, Symbol.iterator, {
14204
+ value: function() {
14205
+ return this;
14206
+ }
14207
+ }), g;
14208
+ function verb(n) {
14209
+ return function(v) {
14210
+ return step([
14211
+ n,
14212
+ v
14213
+ ]);
14214
+ };
14215
+ }
14216
+ function step(op) {
14217
+ if (f) throw new TypeError("Generator is already executing.");
14218
+ while(g && (g = 0, op[0] && (_ = 0)), _)try {
14219
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
14220
+ if (y = 0, t) op = [
14221
+ op[0] & 2,
14222
+ t.value
14223
+ ];
14224
+ switch(op[0]){
14225
+ case 0:
14226
+ case 1:
14227
+ t = op;
14228
+ break;
14229
+ case 4:
14230
+ _.label++;
14231
+ return {
14232
+ value: op[1],
14233
+ done: false
14234
+ };
14235
+ case 5:
14236
+ _.label++;
14237
+ y = op[1];
14238
+ op = [
14239
+ 0
14240
+ ];
14241
+ continue;
14242
+ case 7:
14243
+ op = _.ops.pop();
14244
+ _.trys.pop();
14245
+ continue;
14246
+ default:
14247
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {
14248
+ _ = 0;
14249
+ continue;
14250
+ }
14251
+ if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {
14252
+ _.label = op[1];
14253
+ break;
14254
+ }
14255
+ if (op[0] === 6 && _.label < t[1]) {
14256
+ _.label = t[1];
14257
+ t = op;
14258
+ break;
14259
+ }
14260
+ if (t && _.label < t[2]) {
14261
+ _.label = t[2];
14262
+ _.ops.push(op);
14263
+ break;
14264
+ }
14265
+ if (t[2]) _.ops.pop();
14266
+ _.trys.pop();
14267
+ continue;
14268
+ }
14269
+ op = body.call(thisArg, _);
14270
+ } catch (e) {
14271
+ op = [
14272
+ 6,
14273
+ e
14274
+ ];
14275
+ y = 0;
14276
+ } finally{
14277
+ f = t = 0;
14278
+ }
14279
+ if (op[0] & 5) throw op[1];
14280
+ return {
14281
+ value: op[0] ? op[1] : void 0,
14282
+ done: true
14283
+ };
14284
+ }
14285
+ }
14286
+ /**
14287
+ * Wraps an app's lifecycle hooks so each runs at most once per process.
14288
+ *
14289
+ * The once-only guard is not a convenience: yargs re-runs a global middleware for every COMMAND
14290
+ * LEVEL it parses, so a nested command (`action worker export`) enters the setup middleware three
14291
+ * times. An app's `setup` is written as "prepare this invocation", not "prepare this command level",
14292
+ * and a hook that opened a connection or wrote a file would do it three times over.
14293
+ *
14294
+ * @param input - The CLI name and the app's hooks.
14295
+ * @returns The guarded runner.
14296
+ * @__NO_SIDE_EFFECTS__
14297
+ */ function cliLifecycleRunner(input) {
14298
+ var cliName = input.cliName, setup = input.setup, teardown = input.teardown;
14299
+ var setupRan = false;
14300
+ var teardownRan = false;
14301
+ function runSetup(context) {
14302
+ return _async_to_generator$$(function() {
14303
+ return _ts_generator$$(this, function(_state) {
14304
+ switch(_state.label){
14305
+ case 0:
14306
+ if (!(setup != null && !setupRan)) return [
14307
+ 3,
14308
+ 2
14309
+ ];
14310
+ // marked BEFORE awaiting: a setup that throws must not be retried by the next command level's
14311
+ // middleware run, which would report the same failure twice
14312
+ setupRan = true;
14313
+ return [
14314
+ 4,
14315
+ setup({
14316
+ cliName: cliName,
14317
+ context: context
14318
+ })
14319
+ ];
14320
+ case 1:
14321
+ _state.sent();
14322
+ _state.label = 2;
14323
+ case 2:
14324
+ return [
14325
+ 2
14326
+ ];
14327
+ }
14328
+ });
14329
+ })();
14330
+ }
14331
+ function runTeardown(context) {
14332
+ return _async_to_generator$$(function() {
14333
+ var e;
14334
+ return _ts_generator$$(this, function(_state) {
14335
+ switch(_state.label){
14336
+ case 0:
14337
+ if (!(teardown != null && !teardownRan)) return [
14338
+ 3,
14339
+ 4
14340
+ ];
14341
+ teardownRan = true;
14342
+ _state.label = 1;
14343
+ case 1:
14344
+ _state.trys.push([
14345
+ 1,
14346
+ 3,
14347
+ ,
14348
+ 4
14349
+ ]);
14350
+ return [
14351
+ 4,
14352
+ teardown({
14353
+ cliName: cliName,
14354
+ context: context
14355
+ })
14356
+ ];
14357
+ case 2:
14358
+ _state.sent();
14359
+ return [
14360
+ 3,
14361
+ 4
14362
+ ];
14363
+ case 3:
14364
+ e = _state.sent();
14365
+ // best-effort by contract — the command's result is already emitted, so this cannot be
14366
+ // allowed to change the exit code. Visible under `--verbose` so it is still debuggable.
14367
+ verboseLog("cli teardown hook failed: ".concat(_instanceof$j(e, Error) ? e.message : String(e)));
14368
+ return [
14369
+ 3,
14370
+ 4
14371
+ ];
14372
+ case 4:
14373
+ return [
14374
+ 2
14375
+ ];
14376
+ }
14377
+ });
14378
+ })();
14379
+ }
14380
+ return {
14381
+ runSetup: runSetup,
14382
+ runTeardown: runTeardown
14383
+ };
14384
+ }
14385
+
14046
14386
  function asyncGeneratorStep$_(gen, resolve, reject, _next, _throw, key, arg) {
14047
14387
  try {
14048
14388
  var info = gen[key](arg);
@@ -14072,7 +14412,7 @@ function _async_to_generator$_(fn) {
14072
14412
  });
14073
14413
  };
14074
14414
  }
14075
- function _define_property$B(obj, key, value) {
14415
+ function _define_property$C(obj, key, value) {
14076
14416
  if (key in obj) {
14077
14417
  Object.defineProperty(obj, key, {
14078
14418
  value: value,
@@ -14085,7 +14425,7 @@ function _define_property$B(obj, key, value) {
14085
14425
  }
14086
14426
  return obj;
14087
14427
  }
14088
- function _object_spread$B(target) {
14428
+ function _object_spread$C(target) {
14089
14429
  for(var i = 1; i < arguments.length; i++){
14090
14430
  var source = arguments[i] != null ? arguments[i] : {};
14091
14431
  var ownKeys = Object.keys(source);
@@ -14095,7 +14435,7 @@ function _object_spread$B(target) {
14095
14435
  }));
14096
14436
  }
14097
14437
  ownKeys.forEach(function(key) {
14098
- _define_property$B(target, key, source[key]);
14438
+ _define_property$C(target, key, source[key]);
14099
14439
  });
14100
14440
  }
14101
14441
  return target;
@@ -14254,7 +14594,7 @@ function _ts_generator$_(thisArg, body) {
14254
14594
  configDir: paths.configDir,
14255
14595
  updates: {
14256
14596
  output: {
14257
- commands: _define_property$B({}, commandKey, commandConfig)
14597
+ commands: _define_property$C({}, commandKey, commandConfig)
14258
14598
  }
14259
14599
  }
14260
14600
  })
@@ -14290,7 +14630,7 @@ function _ts_generator$_(thisArg, body) {
14290
14630
  2
14291
14631
  ];
14292
14632
  commandKey = commandPath.join('.');
14293
- commandConfig = _object_spread$B({}, setDumpDir === undefined ? {} : {
14633
+ commandConfig = _object_spread$C({}, setDumpDir === undefined ? {} : {
14294
14634
  dumpDir: setDumpDir
14295
14635
  }, setPick === undefined ? {} : {
14296
14636
  pick: setPick
@@ -14378,7 +14718,7 @@ function _async_to_generator$Z(fn) {
14378
14718
  });
14379
14719
  };
14380
14720
  }
14381
- function _define_property$A(obj, key, value) {
14721
+ function _define_property$B(obj, key, value) {
14382
14722
  if (key in obj) {
14383
14723
  Object.defineProperty(obj, key, {
14384
14724
  value: value,
@@ -14391,7 +14731,7 @@ function _define_property$A(obj, key, value) {
14391
14731
  }
14392
14732
  return obj;
14393
14733
  }
14394
- function _object_spread$A(target) {
14734
+ function _object_spread$B(target) {
14395
14735
  for(var i = 1; i < arguments.length; i++){
14396
14736
  var source = arguments[i] != null ? arguments[i] : {};
14397
14737
  var ownKeys = Object.keys(source);
@@ -14401,12 +14741,12 @@ function _object_spread$A(target) {
14401
14741
  }));
14402
14742
  }
14403
14743
  ownKeys.forEach(function(key) {
14404
- _define_property$A(target, key, source[key]);
14744
+ _define_property$B(target, key, source[key]);
14405
14745
  });
14406
14746
  }
14407
14747
  return target;
14408
14748
  }
14409
- function ownKeys$m(object, enumerableOnly) {
14749
+ function ownKeys$n(object, enumerableOnly) {
14410
14750
  var keys = Object.keys(object);
14411
14751
  if (Object.getOwnPropertySymbols) {
14412
14752
  var symbols = Object.getOwnPropertySymbols(object);
@@ -14414,12 +14754,12 @@ function ownKeys$m(object, enumerableOnly) {
14414
14754
  }
14415
14755
  return keys;
14416
14756
  }
14417
- function _object_spread_props$m(target, source) {
14757
+ function _object_spread_props$n(target, source) {
14418
14758
  source = source != null ? source : {};
14419
14759
  if (Object.getOwnPropertyDescriptors) {
14420
14760
  Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
14421
14761
  } else {
14422
- ownKeys$m(Object(source)).forEach(function(key) {
14762
+ ownKeys$n(Object(source)).forEach(function(key) {
14423
14763
  Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
14424
14764
  });
14425
14765
  }
@@ -14630,16 +14970,16 @@ function resolveCallbacks(input) {
14630
14970
  dumpDir = argv.setDumpDir;
14631
14971
  pick = argv.setPick;
14632
14972
  if (commandKey) {
14633
- commandConfig = _object_spread$A({}, dumpDir === undefined ? {} : {
14973
+ commandConfig = _object_spread$B({}, dumpDir === undefined ? {} : {
14634
14974
  dumpDir: dumpDir
14635
14975
  }, pick === undefined ? {} : {
14636
14976
  pick: pick
14637
14977
  });
14638
14978
  outputUpdate = {
14639
- commands: _define_property$A({}, commandKey, commandConfig)
14979
+ commands: _define_property$B({}, commandKey, commandConfig)
14640
14980
  };
14641
14981
  } else {
14642
- outputUpdate = _object_spread$A({}, dumpDir === undefined ? {} : {
14982
+ outputUpdate = _object_spread$B({}, dumpDir === undefined ? {} : {
14643
14983
  dumpDir: dumpDir
14644
14984
  }, pick === undefined ? {} : {
14645
14985
  pick: pick
@@ -14731,11 +15071,11 @@ function resolveCallbacks(input) {
14731
15071
  code: 'OUTPUT_COMMAND_NOT_FOUND'
14732
15072
  });
14733
15073
  }
14734
- nextCommands = _object_spread$A({}, existing.commands);
15074
+ nextCommands = _object_spread$B({}, existing.commands);
14735
15075
  delete nextCommands[commandKey];
14736
15076
  return [
14737
15077
  4,
14738
- callbacks.mergeOutputConfig(_object_spread_props$m(_object_spread$A({}, existing), {
15078
+ callbacks.mergeOutputConfig(_object_spread_props$n(_object_spread$B({}, existing), {
14739
15079
  commands: nextCommands
14740
15080
  }))
14741
15081
  ];
@@ -14816,12 +15156,59 @@ function _async_to_generator$Y(fn) {
14816
15156
  });
14817
15157
  };
14818
15158
  }
15159
+ function _define_property$A(obj, key, value) {
15160
+ if (key in obj) {
15161
+ Object.defineProperty(obj, key, {
15162
+ value: value,
15163
+ enumerable: true,
15164
+ configurable: true,
15165
+ writable: true
15166
+ });
15167
+ } else {
15168
+ obj[key] = value;
15169
+ }
15170
+ return obj;
15171
+ }
14819
15172
  function _iterable_to_array$T(iter) {
14820
15173
  if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
14821
15174
  }
14822
15175
  function _non_iterable_spread$T() {
14823
15176
  throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
14824
15177
  }
15178
+ function _object_spread$A(target) {
15179
+ for(var i = 1; i < arguments.length; i++){
15180
+ var source = arguments[i] != null ? arguments[i] : {};
15181
+ var ownKeys = Object.keys(source);
15182
+ if (typeof Object.getOwnPropertySymbols === "function") {
15183
+ ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {
15184
+ return Object.getOwnPropertyDescriptor(source, sym).enumerable;
15185
+ }));
15186
+ }
15187
+ ownKeys.forEach(function(key) {
15188
+ _define_property$A(target, key, source[key]);
15189
+ });
15190
+ }
15191
+ return target;
15192
+ }
15193
+ function ownKeys$m(object, enumerableOnly) {
15194
+ var keys = Object.keys(object);
15195
+ if (Object.getOwnPropertySymbols) {
15196
+ var symbols = Object.getOwnPropertySymbols(object);
15197
+ keys.push.apply(keys, symbols);
15198
+ }
15199
+ return keys;
15200
+ }
15201
+ function _object_spread_props$m(target, source) {
15202
+ source = source != null ? source : {};
15203
+ if (Object.getOwnPropertyDescriptors) {
15204
+ Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
15205
+ } else {
15206
+ ownKeys$m(Object(source)).forEach(function(key) {
15207
+ Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
15208
+ });
15209
+ }
15210
+ return target;
15211
+ }
14825
15212
  function _to_consumable_array$T(arr) {
14826
15213
  return _array_without_holes$T(arr) || _iterable_to_array$T(arr) || _unsupported_iterable_to_array$Y(arr) || _non_iterable_spread$T();
14827
15214
  }
@@ -14971,10 +15358,13 @@ function _ts_generator$Y(thisArg, body) {
14971
15358
  * if {@link CreateCliInput.modelManifest} is provided.
14972
15359
  * @param input.firestore - The app-supplied direct-Firestore binding; enables `firestore-get` / `firestore-query`.
14973
15360
  * @param input.firestoreQueryManifest - The generated Firestore query catalog; enables `firestore-queries`.
15361
+ * @param input.setup - App hook run once before the command's handler; a throw aborts the command.
15362
+ * @param input.teardown - App hook run once after the parser settles, before the Firestore session closes.
15363
+ * Only {@link runCli} runs it — a caller that drives `createCli().parse()` itself owns its own teardown.
14974
15364
  * @returns The configured yargs `Argv` ready to be `.parse()`-d.
14975
15365
  * @__NO_SIDE_EFFECTS__
14976
15366
  */ function createCli(input) {
14977
- var _input_configCommands, _input_actionCommands, _input_apiCommands, _input_argv;
15367
+ var _input_configCommands, _input_actionCommands, _input_apiCommands, _input_lifecycle, _input_argv;
14978
15368
  var cliName = input.cliName;
14979
15369
  var defaultEnvs = input.defaultEnvs;
14980
15370
  var builtInConfigCommands = [
@@ -15036,6 +15426,16 @@ function _ts_generator$Y(thisArg, body) {
15036
15426
  modelManifest: input.modelManifest,
15037
15427
  firestore: input.firestore
15038
15428
  });
15429
+ var lifecycle = (_input_lifecycle = input.lifecycle) !== null && _input_lifecycle !== void 0 ? _input_lifecycle : cliLifecycleRunner({
15430
+ cliName: cliName,
15431
+ setup: input.setup,
15432
+ teardown: input.teardown
15433
+ });
15434
+ // registered post-validation (unlike the auth middleware), so an invalid command line never runs
15435
+ // an app's setup: yargs rejects it first and the hook's side effects never happen
15436
+ var setupMiddleware = function setupMiddleware() {
15437
+ return lifecycle.runSetup(getCliContext());
15438
+ };
15039
15439
  var rawArgv = (_input_argv = input.argv) !== null && _input_argv !== void 0 ? _input_argv : hideBin(process.argv);
15040
15440
  // recorded before parsing: yargs coerces a lone `-` positional to `''`, so the stdin sentinel can
15041
15441
  // only be recovered by consulting the argv the parser was actually given
@@ -15099,6 +15499,11 @@ function _ts_generator$Y(thisArg, body) {
15099
15499
  skipCommands: skipCommandNames
15100
15500
  })
15101
15501
  ], true).command(allConfigCommands).command(allApiCommands).demandCommand(1, 'Please specify a command. Use --help for available commands.').strict().fail(false).help().alias('help', 'h').wrap(Math.min(120, process.stdout.columns || 80));
15502
+ if (input.setup != null) {
15503
+ parser = parser.middleware([
15504
+ setupMiddleware
15505
+ ]);
15506
+ }
15102
15507
  if (input.version == null) {
15103
15508
  parser = parser.version(false);
15104
15509
  } else {
@@ -15118,50 +15523,103 @@ function _ts_generator$Y(thisArg, body) {
15118
15523
  * @returns Resolves once the parser has finished. Rejects only when `process.exit` is stubbed (e.g. in tests).
15119
15524
  */ function runCli(input) {
15120
15525
  return _async_to_generator$Y(function() {
15121
- var e;
15526
+ var _input_lifecycle, lifecycle, e;
15122
15527
  return _ts_generator$Y(this, function(_state) {
15123
15528
  switch(_state.label){
15124
15529
  case 0:
15530
+ // built here, not in `createCli`, so the setup hook the parser runs and the teardown hook below
15531
+ // share one guard
15532
+ lifecycle = (_input_lifecycle = input.lifecycle) !== null && _input_lifecycle !== void 0 ? _input_lifecycle : cliLifecycleRunner({
15533
+ cliName: input.cliName,
15534
+ setup: input.setup,
15535
+ teardown: input.teardown
15536
+ });
15537
+ _state.label = 1;
15538
+ case 1:
15125
15539
  _state.trys.push([
15126
- 0,
15127
- 2,
15540
+ 1,
15541
+ 3,
15128
15542
  ,
15129
- 4
15543
+ 5
15130
15544
  ]);
15131
15545
  return [
15132
15546
  4,
15133
- createCli(input).parse()
15547
+ createCli(_object_spread_props$m(_object_spread$A({}, input), {
15548
+ lifecycle: lifecycle
15549
+ })).parse()
15134
15550
  ];
15135
- case 1:
15551
+ case 2:
15136
15552
  _state.sent();
15137
15553
  return [
15138
15554
  3,
15139
- 4
15555
+ 5
15140
15556
  ];
15141
- case 2:
15557
+ case 3:
15142
15558
  e = _state.sent();
15143
15559
  outputError(e);
15144
15560
  // teardown before exiting: `process.exit` here would otherwise skip the `finally` entirely
15145
15561
  return [
15146
15562
  4,
15147
- closeCliFirestoreSessionForExit()
15563
+ runCliTeardown({
15564
+ cliName: input.cliName,
15565
+ lifecycle: lifecycle
15566
+ })
15148
15567
  ];
15149
- case 3:
15568
+ case 4:
15150
15569
  _state.sent();
15151
15570
  process.exit(CLI_EXIT_CODE_HANDLER);
15152
15571
  return [
15153
15572
  3,
15154
- 4
15573
+ 5
15155
15574
  ];
15156
- case 4:
15575
+ case 5:
15157
15576
  // A command that opened a direct-Firestore session leaves a signed-in `Auth` and a live
15158
15577
  // `Firestore` holding the event loop open, so without this the process prints its result and never
15159
15578
  // exits. Runs after the parser has fully settled, so the command's output is already emitted.
15160
15579
  return [
15161
15580
  4,
15162
- closeCliFirestoreSessionForExit()
15581
+ runCliTeardown({
15582
+ cliName: input.cliName,
15583
+ lifecycle: lifecycle
15584
+ })
15163
15585
  ];
15164
- case 5:
15586
+ case 6:
15587
+ _state.sent();
15588
+ return [
15589
+ 2
15590
+ ];
15591
+ }
15592
+ });
15593
+ })();
15594
+ }
15595
+ /**
15596
+ * Runs the invocation's teardown: the app's hook first, then the CLI's own Firestore teardown.
15597
+ *
15598
+ * The order is the point. An app's teardown may want to write a final record or flush something
15599
+ * through the very session the CLI is about to close, so it runs while that session is still live —
15600
+ * the reverse order would hand the hook a dead `Firestore`.
15601
+ *
15602
+ * @param input - The function inputs.
15603
+ * @param input.cliName - The CLI name, used to find the Firebase apps this process opened.
15604
+ * @param input.lifecycle - The invocation's lifecycle runner.
15605
+ */ function runCliTeardown(input) {
15606
+ return _async_to_generator$Y(function() {
15607
+ return _ts_generator$Y(this, function(_state) {
15608
+ switch(_state.label){
15609
+ case 0:
15610
+ return [
15611
+ 4,
15612
+ input.lifecycle.runTeardown(getCliContext())
15613
+ ];
15614
+ case 1:
15615
+ _state.sent();
15616
+ return [
15617
+ 4,
15618
+ closeCliFirestoreSessionForExit({
15619
+ cliName: input.cliName
15620
+ })
15621
+ ];
15622
+ case 2:
15165
15623
  _state.sent();
15166
15624
  return [
15167
15625
  2
@@ -15173,9 +15631,16 @@ function _ts_generator$Y(thisArg, body) {
15173
15631
  /**
15174
15632
  * Closes the invocation's direct-Firestore session, if one was opened, swallowing any failure.
15175
15633
  *
15634
+ * Two passes, because the context in the slot does not always own the open session. Closing through
15635
+ * the context first is what clears its memos, so a context that outlives this call hands out a fresh
15636
+ * session rather than a dead one; the sweep then deletes any Firebase app the context never knew
15637
+ * about (a session opened on an orphaned context, one whose handshake failed past `initializeApp`, or
15638
+ * a caller like the doctor probe that opens its own). Anything missed is a hang, not a leak the OS
15639
+ * cleans up at exit — there is no exit.
15640
+ *
15176
15641
  * Teardown is best-effort by design: it runs once the command has already produced its output, so a
15177
15642
  * failure here must not change what the caller sees or the exit code they get.
15178
- */ function closeCliFirestoreSessionForExit() {
15643
+ */ function closeCliFirestoreSessionForExit(input) {
15179
15644
  return _async_to_generator$Y(function() {
15180
15645
  var _getCliContext_closeFirestoreSession, _getCliContext;
15181
15646
  return _ts_generator$Y(this, function(_state) {
@@ -15204,6 +15669,31 @@ function _ts_generator$Y(thisArg, body) {
15204
15669
  3
15205
15670
  ];
15206
15671
  case 3:
15672
+ _state.trys.push([
15673
+ 3,
15674
+ 5,
15675
+ ,
15676
+ 6
15677
+ ]);
15678
+ return [
15679
+ 4,
15680
+ closeAllCliFirebaseApps({
15681
+ cliName: input.cliName
15682
+ })
15683
+ ];
15684
+ case 4:
15685
+ _state.sent();
15686
+ return [
15687
+ 3,
15688
+ 6
15689
+ ];
15690
+ case 5:
15691
+ _state.sent();
15692
+ return [
15693
+ 3,
15694
+ 6
15695
+ ];
15696
+ case 6:
15207
15697
  return [
15208
15698
  2
15209
15699
  ];
@@ -65108,4 +65598,4 @@ function printPaginatedOutput(input) {
65108
65598
  })();
65109
65599
  }
65110
65600
 
65111
- export { ACTIONS_SCAN_CONFIG_FILENAME, ACTION_ENTRY_ROLES, ACTION_ROLE_ORDER, ActionDirectiveEntry, ActionEntry, ActionInputEntry, ActionManifest, ActionOutputEntry, ActionStateEntry, ActionStoreEntry, ActionStoreMethodEntry, ActionStoreObservableEntry, ActionsScanConfig, ActionsScanSection, BUILTIN_AUTH_CLAIMS, BUILTIN_AUTH_ROLES, BUILTIN_AUTH_SCOPES, CALL_MODEL_API_PATH, CALL_PASSTHROUGH_COMMAND, CLI_EXIT_CODE_AUTH, CLI_EXIT_CODE_HANDLER, CLI_FIRESTORE_SESSION_EXPIRY_BUFFER_MS, CLI_FIRESTORE_SESSION_MAX_CACHE_MS, CLI_READ_VIA_EPILOGUE, CLI_READ_VIA_VALUES, CORE_TOPICS, CORE_TOPICS_SET, CSS_UTILITIES_SCAN_CONFIG_FILENAME, CSS_UTILITY_ROLES, CSS_UTILITY_SCOPES, CliError, CssUtilitiesScanConfig, CssUtilitiesScanSection, CssUtilityDeclaration, CssUtilityEntry, CssUtilityManifest, DBX_ACTION_STATE_VALUES, DBX_DOCS_UI_EXAMPLES_SCAN_CONFIG_FILENAME, DBX_DOCS_UI_EXAMPLE_USE_KINDS, DEFAULT_ACTIONS_SCAN_OUT_PATH, DEFAULT_ACTION_COMMAND_NAME, DEFAULT_CLI_FIREBASE_EMULATOR_HOST, DEFAULT_CLI_HTTP_TIMEOUT_MS, DEFAULT_CLI_OIDC_SCOPES, DEFAULT_CLI_READ_VIA, DEFAULT_CLI_REDIRECT_URI, DEFAULT_CLI_SECRET_PATTERNS, DEFAULT_CSS_UTILITIES_SCAN_OUT_PATH, DEFAULT_DBX_DOCS_UI_EXAMPLES_SCAN_OUT_PATH, DEFAULT_FILTERS_SCAN_OUT_PATH, DEFAULT_FIRESTORE_GET_COMMAND_NAME, DEFAULT_FIRESTORE_QUERIES_COMMAND_NAME, DEFAULT_FIRESTORE_QUERY_COMMAND_NAME, DEFAULT_FORGE_FIELDS_SCAN_OUT_PATH, DEFAULT_MANIFEST_HELP_DATA_FORMAT, DEFAULT_MANIFEST_HELP_MODE, DEFAULT_MANIFEST_MODEL_COMMAND_NAME, DEFAULT_MODEL_DECODE_COMMAND_NAME, DEFAULT_MODEL_INFO_COMMAND_NAME, DEFAULT_MODEL_SNAPSHOT_FIELDS_SCAN_OUT_PATH, DEFAULT_PIPES_SCAN_OUT_PATH, DEFAULT_SCAN_OUT_PATH, DEFAULT_SPECIFIER_KEY, DEFAULT_UI_COMPONENTS_SCAN_OUT_PATH, DEFAULT_UTILS_SCAN_OUT_PATH, DOWNSTREAM_CLUSTERS, DUMP_MERGE_MODES, DUMP_OUTPUT_MODES, DbxDocsUiExampleEntry, DbxDocsUiExampleManifest, DbxDocsUiExampleUseEntry, DbxDocsUiExamplesScanConfig, DbxDocsUiExamplesScanSection, DbxMcpConfig, EMPTY_ACTION_REGISTRY, EMPTY_AUTH_REGISTRY, EMPTY_CSS_UTILITY_REGISTRY, EMPTY_DBX_DOCS_UI_EXAMPLES_REGISTRY, EMPTY_FILTER_REGISTRY, EMPTY_FORGE_FIELD_REGISTRY, EMPTY_MODEL_SNAPSHOT_FIELD_REGISTRY, EMPTY_PIPE_REGISTRY, EMPTY_SEMANTIC_TYPE_REGISTRY, EMPTY_TOKEN_REGISTRY, EMPTY_UI_COMPONENT_REGISTRY, EMPTY_UTIL_REGISTRY, ExtractedDbxDocsUiExampleEntrySchema, ExtractedEntrySchema, ExtractedForgeFieldEntrySchema, ExtractedUiEntrySchema, FILTERS_SCAN_CONFIG_FILENAME, FILTER_KINDS, FILTER_KIND_ORDER, FIREBASE_MODELS, FIREBASE_MODEL_GROUPS, FIRESTORE_SESSION_API_PATH, FIRESTORE_SESSION_DOCTOR_CHECK_NAME, FORGE_FIELDS_SCAN_CONFIG_FILENAME, FORGE_FIELD_ARRAY_OUTPUTS, FORGE_FIELD_COMPOSITE_SUFFIXES, FORGE_FIELD_TIERS, FORGE_FIELD_WRAPPER_PATTERNS, FORM_FIELDS, FORM_TIER_ORDER, FilterDirectiveEntry, FilterEntry, FilterInputEntry, FilterManifest, FilterPatternEntry, FiltersScanConfig, FiltersScanSection, ForgeFieldEntry, ForgeFieldManifest, ForgeFieldPropertyEntry, ForgeFieldsScanConfig, ForgeFieldsScanSection, GET_COMMAND, GET_MANY_COMMAND, MAX_MODEL_ACCESS_MULTI_READ_KEYS, MCP_CALL_TYPE_ABBREVIATIONS, MCP_MANIFEST_VERSION, MCP_TOOL_NAME_MAX_LENGTH, MCP_TOOL_NAME_WARN_LENGTH, MODEL_ARCHETYPES, MODEL_ARCHETYPE_ADDON_SLUGS, MODEL_ARCHETYPE_SYNC_MODES, MODEL_IS_SERVER_ONLY_CODE, MODEL_SNAPSHOT_FIELDS_SCAN_CONFIG_FILENAME, MODEL_SNAPSHOT_FIELD_KINDS, MODEL_WRITE_OIDC_SCOPES, MULTIPLE_PAGES_OUTPUT_MODES, ModelSnapshotFieldEntry, ModelSnapshotFieldManifest, ModelSnapshotFieldParamEntry, ModelSnapshotFieldsScanConfig, ModelSnapshotFieldsScanSection, PIPES_SCAN_CONFIG_FILENAME, PIPE_CATEGORIES, PIPE_CATEGORY_ORDER, PIPE_PURITIES, PROMPT_CANCELLED_ERROR_CODE, PipeArgEntry, PipeEntry, PipeManifest, PipesScanConfig, PipesScanSection, RESERVED_MODEL_FOLDERS, ROUTE_MANIFEST_VERSION, ROUTE_MODEL_LIST_TAG, ROUTE_MODEL_TAG, SCAN_CONFIG_FILENAME$1 as SCAN_CONFIG_FILENAME, SERVICE_TOKEN_REQUIRED_OIDC_SCOPES, STANDARD_GLOBAL_OPTION_NAMES, STDIN_NOT_PIPED_ERROR_CODE, SemanticTypeEntry, SemanticTypeManifest, SemanticTypeScanConfig, TOKEN_ROLES, TOKEN_SOURCES, TokenDefaults, TokenEntry, TokenManifest, UI_COMPONENTS_SCAN_CONFIG_FILENAME, UI_COMPONENT_CATEGORIES, UI_COMPONENT_KINDS, UTILS_SCAN_CONFIG_FILENAME, UTIL_KINDS, UiComponentEntry, UiComponentInputEntry, UiComponentManifest, UiComponentOutputEntry, UiComponentsScanConfig, UiComponentsScanSection, UtilEntry, UtilManifest, UtilParamEntry, UtilsScanConfig, UtilsScanSection, WORKSPACE_AUTH_APPS, WORKSPACE_AUTH_CLAIMS, WORKSPACE_FACTORY_SCAN_EXCLUDE, WORKSPACE_FACTORY_SCAN_INCLUDE, abbreviateMcpCallType, appendCliErrorMapper, applyEnvVarOverrides, assertCliModelIsNotServerOnly, buildActionCommands, buildActionsManifest, buildAuthorizationUrl, buildCliPaths, buildCssUtilitiesManifest, buildDbxDocsUiExamplesManifest, buildDisambiguatedMcpToolName, buildDispatcherCreditByName, buildDumpFilePath, buildErrorOutput, buildFiltersManifest, buildFirestoreGetCommand, buildFirestoreQueriesCommand, buildFirestoreQueryCommand, buildFirestoreSessionDoctorReadRouting, buildForgeFieldsManifest, buildManifest, buildManifestCommands, buildMcpToolName, buildModelDecodeCommand, buildModelInfoCommand, buildModelSnapshotFieldsManifest, buildPipesManifest, buildRouteManifest, buildRouteTree, buildScanProject, buildUiComponentsManifest, buildUtilsManifest, callModelOverHttp, clearDownstreamCatalogCache, cliFirebaseEmulatorsInUse, cliFirestoreAccessorFactory, cliFirestoreBinding, cliFirestoreCollectionForQuery, cliFirestoreErrorMapper, cliFirestoreQueryConstraints, cliFirestoreSessionEntryExpiresAt, cliReadResultMeta, closeCliFirestoreSessionContext, coerceCliReadVia, collectClassPropertiesWithInheritance, computeRelativeSpecifiers, configureCliErrorMapper, configureCliSecretPatterns, configureOutputOptions, createActionCommand, createActionRegistry, createActionRegistryFromEntries, createAuthCommand, createAuthMiddleware, createAuthRegistryFromEntries, createCallModelCommand, createCli, createCliContext, createCliFirestoreModels, createCliFirestoreQueryRegistry, createCliFirestoreSessionCacheStore, createCliFirestoreSessionContext, createCliTokenCacheStore, createContextSlot, createCssUtilityRegistry, createCssUtilityRegistryFromEntries, createDbxDocsUiExamplesRegistry, createDbxDocsUiExamplesRegistryFromEntries, createDoctorCommand, createEnvCommand, createFilterRegistry, createFilterRegistryFromEntries, createFirestoreSessionDoctorCheck, createForgeFieldRegistry, createForgeFieldRegistryFromEntries, createModelSnapshotFieldRegistry, createModelSnapshotFieldRegistryFromEntries, createOutputCommand, createOutputMiddleware, createPassthroughAuthMiddleware, createPipeRegistry, createPipeRegistryFromEntries, createSemanticTypeRegistry, createSemanticTypeRegistryFromEntries, createTokenRegistry, createTokenRegistryFromEntries, createUiComponentRegistry, createUiComponentRegistryFromEntries, createUtilRegistry, createUtilRegistryFromEntries, decodeFirestoreModelKey, defaultDoctorChecks, defaultGlobber, defaultReadFile, deriveOptionalFromName, detectDataHelpFormat, detectHelpMode, discoverDownstreamFirebasePackages, discoverDownstreamPackages, discoverOidcMetadata, dumpTimestamp, exchangeAuthorizationCode, expandModelKeys, extractActionEntries, extractAngularInputs, extractAngularOutputs, extractAuthEntries, extractComponentRouteModelTags, extractCssUtilityEntries, extractDbxDocsUiExampleEntries, extractEntries, extractFile, extractFilterEntries, extractForgeFieldEntries, extractModelSnapshotFieldEntries, extractModels, extractPipeEntries, extractUiEntries, extractUrlParamKeys, extractUtilEntries, fetchFirestoreSession, fetchSessionInfo, fetchUserInfo, filterCliFirestoreQueries, filterReadOnlyModelScopes, findAndLoadConfig, findCliEnvDefault, findCliModelManifestEntry, flattenList, formatGeneratedTs, getBundledManifestsDirectory, getCliContext, getCliEnvVarName, getCliTimeoutMs, getDefaultBundledActionManifestPaths, getDefaultBundledCssUtilityManifestPaths, getDefaultBundledDbxDocsUiExamplesManifestPaths, getDefaultBundledFilterManifestPaths, getDefaultBundledForgeFieldManifestPaths, getDefaultBundledManifestPaths, getDefaultBundledModelFirebaseIndexManifestPaths, getDefaultBundledModelSnapshotFieldManifestPaths, getDefaultBundledPipeManifestPaths, getDefaultBundledTokenManifestPaths, getDefaultBundledUiManifestPaths, getDefaultBundledUtilManifestPaths, getDownstreamCatalog, getFirebaseBucketKeyedByIdModels, getFirebaseDistrictKeyedByIdModels, getFirebaseExternalIdKeyedByIdModels, getFirebaseModel, getFirebaseModelByPrefix, getFirebaseModelGroup, getFirebaseModelGroups, getFirebaseModels, getFirebaseModelsByArchetype, getFirebasePrefixCatalog, getFirebaseRegionKeyedByIdModels, getFirebaseSubcollectionsOf, getFirebaseUserKeyedByIdModels, getFirebaseUserRelatedModels, getModelArchetypeBySlug, getModelArchetypesByAxisValue, getModelArchetypesByCollectionKind, getModelArchetypesBySyncMode, getModelOverFirestore, getModelOverHttp, getMultipleModelsOverFirestore, getMultipleModelsOverHttp, getMultipleModelsOverHttpChunked, getOutputOptions, globToRegex, hasParamSegment, indentLines$1 as indentLines, isCliEnvConfigComplete, isCliFirebaseConfigComplete, isCliFirestoreSessionExpired, isCliVerbose, isCoreTopic, isExportedFromPackage, isStdinPositionalSentinel, isStdinSentinel, isTokenExpired, isVisibleProperty, iterateDbxCliCallModel, loadActionManifests, loadActionRegistry, loadAuthRegistry, loadCliConfig, loadCssUtilityRegistry, loadDbxDocsUiExamplesManifests, loadDbxDocsUiExamplesRegistry, loadFilterManifests, loadFilterRegistry, loadForgeFieldManifests, loadForgeFieldRegistry, loadModelFirebaseIndexManifests, loadModelFirebaseIndexRegistry, loadModelSnapshotFieldManifests, loadModelSnapshotFieldRegistry, loadPackageName, loadPipeManifests, loadPipeRegistry, loadRouteTree, loadScanSection, loadSemanticTypeManifests, loadSemanticTypeRegistry, loadTokenManifests, loadTokenRegistry, loadUiComponentManifests, loadUiComponentRegistry, loadUtilManifests, loadUtilRegistry, maskEnv, maskSecret, matchUrlAgainstEntries, mcpManifestKey, mergeCliConfig, mergeCliEnvWithDefault, mergeCliFirebaseConfig, mergeOutputConfig, normalizePathname, oidcRelyingPartyErrorToCliError, openStreamingDump, outputError, outputResult, packageNameToSlug, parseAnnotation, parseDeclarations$1 as parseDeclarations, parseFirestoreModelIdentityArgs, parseGetArgs, parseGetManyArgs, parsePastedRedirect, parseRouteModelTag, parseScanArgs, pickFields, promptLine, readAllStdin, readDirectiveDecorator, readEnvTokenEntry, readPropertyDescription, readSelector, readStdinTokens, readStringProperty, refreshAccessToken, renderCliFirestoreQueryEntry, renderCliFirestoreQueryList, renderDecodedKey, renderGroupedImportLines, renderModelManifestEntry, renderModelManifestFields, renderModelManifestList, renderTable, requireCliContext, requireCliFirestoreContext, requireCliFirestoreModels, requireCliFirestoreSession, resolveActiveEnvName, resolveCliEnv, resolveCliEnvOrThrow, resolveCliFirestoreQueryArgs, resolveCliFirestoreQueryEntry, resolveCliModel, resolveCliReadSource, resolveComponentSourceFromSources, resolveDemoClaimsPath, resolveExplicitFirebasePackages, resolveExtendsName, resolveModelArchetype, resolveOutputConfig, resolvePerModelGetKey, resolveRouteSources, revokeToken, runActionsScanCli, runCli, runCliFirestoreQuery, runCssUtilitiesScanCli, runDbxDocsUiExamplesScanCli, runFiltersScanCli, runForgeFieldsScanCli, runModelFirebaseIndexScanCli, runModelSnapshotFieldsScanCli, runPaginatedList, runPipesScanCli, runScanCli, runScanCliBase, runUiComponentsScanCli, runUtilsScanCli, sanitizeString, saveCliConfig, scanFactoryReferences, scoreCandidates, serializeActionManifest, serializeCssUtilityManifest, serializeDbxDocsUiExamplesManifest, serializeFilterManifest, serializeForgeFieldManifest, serializeManifest, serializeModelSnapshotFieldsManifest, serializePipeManifest, serializeUiComponentManifest, serializeUtilManifest, setCliContext, setCliRawArgv, setCliTimeoutMs, setCliVerbose, splitListTagText$1 as splitListTagText, splitSegments, stripUrlQueryAndHash, toActionEntryInfo, toFilterEntryInfo, toFormFieldInfo, tracedFetch, truncate, tryMatchSegments, unwrapFenced, validateMcpToolName, verboseLog, withCallModelArgs, withEnv, withMultiplePages, withOutput, withServiceTokenScopes, wrapCommandHandler, wrapSyncCommandHandler, writeGeneratedTsFile };
65601
+ export { ACTIONS_SCAN_CONFIG_FILENAME, ACTION_ENTRY_ROLES, ACTION_ROLE_ORDER, ActionDirectiveEntry, ActionEntry, ActionInputEntry, ActionManifest, ActionOutputEntry, ActionStateEntry, ActionStoreEntry, ActionStoreMethodEntry, ActionStoreObservableEntry, ActionsScanConfig, ActionsScanSection, BUILTIN_AUTH_CLAIMS, BUILTIN_AUTH_ROLES, BUILTIN_AUTH_SCOPES, CALL_MODEL_API_PATH, CALL_PASSTHROUGH_COMMAND, CLI_EXIT_CODE_AUTH, CLI_EXIT_CODE_HANDLER, CLI_FIRESTORE_SESSION_EXPIRY_BUFFER_MS, CLI_FIRESTORE_SESSION_MAX_CACHE_MS, CLI_READ_VIA_EPILOGUE, CLI_READ_VIA_VALUES, CORE_TOPICS, CORE_TOPICS_SET, CSS_UTILITIES_SCAN_CONFIG_FILENAME, CSS_UTILITY_ROLES, CSS_UTILITY_SCOPES, CliError, CssUtilitiesScanConfig, CssUtilitiesScanSection, CssUtilityDeclaration, CssUtilityEntry, CssUtilityManifest, DBX_ACTION_STATE_VALUES, DBX_DOCS_UI_EXAMPLES_SCAN_CONFIG_FILENAME, DBX_DOCS_UI_EXAMPLE_USE_KINDS, DEFAULT_ACTIONS_SCAN_OUT_PATH, DEFAULT_ACTION_COMMAND_NAME, DEFAULT_CLI_FIREBASE_EMULATOR_HOST, DEFAULT_CLI_HTTP_TIMEOUT_MS, DEFAULT_CLI_OIDC_SCOPES, DEFAULT_CLI_READ_VIA, DEFAULT_CLI_REDIRECT_URI, DEFAULT_CLI_SECRET_PATTERNS, DEFAULT_CSS_UTILITIES_SCAN_OUT_PATH, DEFAULT_DBX_DOCS_UI_EXAMPLES_SCAN_OUT_PATH, DEFAULT_FILTERS_SCAN_OUT_PATH, DEFAULT_FIRESTORE_GET_COMMAND_NAME, DEFAULT_FIRESTORE_QUERIES_COMMAND_NAME, DEFAULT_FIRESTORE_QUERY_COMMAND_NAME, DEFAULT_FORGE_FIELDS_SCAN_OUT_PATH, DEFAULT_MANIFEST_HELP_DATA_FORMAT, DEFAULT_MANIFEST_HELP_MODE, DEFAULT_MANIFEST_MODEL_COMMAND_NAME, DEFAULT_MODEL_DECODE_COMMAND_NAME, DEFAULT_MODEL_INFO_COMMAND_NAME, DEFAULT_MODEL_SNAPSHOT_FIELDS_SCAN_OUT_PATH, DEFAULT_PIPES_SCAN_OUT_PATH, DEFAULT_SCAN_OUT_PATH, DEFAULT_SPECIFIER_KEY, DEFAULT_UI_COMPONENTS_SCAN_OUT_PATH, DEFAULT_UTILS_SCAN_OUT_PATH, DOWNSTREAM_CLUSTERS, DUMP_MERGE_MODES, DUMP_OUTPUT_MODES, DbxDocsUiExampleEntry, DbxDocsUiExampleManifest, DbxDocsUiExampleUseEntry, DbxDocsUiExamplesScanConfig, DbxDocsUiExamplesScanSection, DbxMcpConfig, EMPTY_ACTION_REGISTRY, EMPTY_AUTH_REGISTRY, EMPTY_CSS_UTILITY_REGISTRY, EMPTY_DBX_DOCS_UI_EXAMPLES_REGISTRY, EMPTY_FILTER_REGISTRY, EMPTY_FORGE_FIELD_REGISTRY, EMPTY_MODEL_SNAPSHOT_FIELD_REGISTRY, EMPTY_PIPE_REGISTRY, EMPTY_SEMANTIC_TYPE_REGISTRY, EMPTY_TOKEN_REGISTRY, EMPTY_UI_COMPONENT_REGISTRY, EMPTY_UTIL_REGISTRY, ExtractedDbxDocsUiExampleEntrySchema, ExtractedEntrySchema, ExtractedForgeFieldEntrySchema, ExtractedUiEntrySchema, FILTERS_SCAN_CONFIG_FILENAME, FILTER_KINDS, FILTER_KIND_ORDER, FIREBASE_MODELS, FIREBASE_MODEL_GROUPS, FIRESTORE_SESSION_API_PATH, FIRESTORE_SESSION_DOCTOR_CHECK_NAME, FORGE_FIELDS_SCAN_CONFIG_FILENAME, FORGE_FIELD_ARRAY_OUTPUTS, FORGE_FIELD_COMPOSITE_SUFFIXES, FORGE_FIELD_TIERS, FORGE_FIELD_WRAPPER_PATTERNS, FORM_FIELDS, FORM_TIER_ORDER, FilterDirectiveEntry, FilterEntry, FilterInputEntry, FilterManifest, FilterPatternEntry, FiltersScanConfig, FiltersScanSection, ForgeFieldEntry, ForgeFieldManifest, ForgeFieldPropertyEntry, ForgeFieldsScanConfig, ForgeFieldsScanSection, GET_COMMAND, GET_MANY_COMMAND, MAX_MODEL_ACCESS_MULTI_READ_KEYS, MCP_CALL_TYPE_ABBREVIATIONS, MCP_MANIFEST_VERSION, MCP_TOOL_NAME_MAX_LENGTH, MCP_TOOL_NAME_WARN_LENGTH, MODEL_ARCHETYPES, MODEL_ARCHETYPE_ADDON_SLUGS, MODEL_ARCHETYPE_SYNC_MODES, MODEL_IS_SERVER_ONLY_CODE, MODEL_SNAPSHOT_FIELDS_SCAN_CONFIG_FILENAME, MODEL_SNAPSHOT_FIELD_KINDS, MODEL_WRITE_OIDC_SCOPES, MULTIPLE_PAGES_OUTPUT_MODES, ModelSnapshotFieldEntry, ModelSnapshotFieldManifest, ModelSnapshotFieldParamEntry, ModelSnapshotFieldsScanConfig, ModelSnapshotFieldsScanSection, PIPES_SCAN_CONFIG_FILENAME, PIPE_CATEGORIES, PIPE_CATEGORY_ORDER, PIPE_PURITIES, PROMPT_CANCELLED_ERROR_CODE, PipeArgEntry, PipeEntry, PipeManifest, PipesScanConfig, PipesScanSection, RESERVED_MODEL_FOLDERS, ROUTE_MANIFEST_VERSION, ROUTE_MODEL_LIST_TAG, ROUTE_MODEL_TAG, SCAN_CONFIG_FILENAME$1 as SCAN_CONFIG_FILENAME, SERVICE_TOKEN_REQUIRED_OIDC_SCOPES, STANDARD_GLOBAL_OPTION_NAMES, STDIN_NOT_PIPED_ERROR_CODE, SemanticTypeEntry, SemanticTypeManifest, SemanticTypeScanConfig, TOKEN_ROLES, TOKEN_SOURCES, TokenDefaults, TokenEntry, TokenManifest, UI_COMPONENTS_SCAN_CONFIG_FILENAME, UI_COMPONENT_CATEGORIES, UI_COMPONENT_KINDS, UTILS_SCAN_CONFIG_FILENAME, UTIL_KINDS, UiComponentEntry, UiComponentInputEntry, UiComponentManifest, UiComponentOutputEntry, UiComponentsScanConfig, UiComponentsScanSection, UtilEntry, UtilManifest, UtilParamEntry, UtilsScanConfig, UtilsScanSection, WORKSPACE_AUTH_APPS, WORKSPACE_AUTH_CLAIMS, WORKSPACE_FACTORY_SCAN_EXCLUDE, WORKSPACE_FACTORY_SCAN_INCLUDE, abbreviateMcpCallType, appendCliErrorMapper, applyEnvVarOverrides, assertCliModelIsNotServerOnly, buildActionCommands, buildActionsManifest, buildAuthorizationUrl, buildCliPaths, buildCssUtilitiesManifest, buildDbxDocsUiExamplesManifest, buildDisambiguatedMcpToolName, buildDispatcherCreditByName, buildDumpFilePath, buildErrorOutput, buildFiltersManifest, buildFirestoreGetCommand, buildFirestoreQueriesCommand, buildFirestoreQueryCommand, buildFirestoreSessionDoctorReadRouting, buildForgeFieldsManifest, buildManifest, buildManifestCommands, buildMcpToolName, buildModelDecodeCommand, buildModelInfoCommand, buildModelSnapshotFieldsManifest, buildPipesManifest, buildRouteManifest, buildRouteTree, buildScanProject, buildUiComponentsManifest, buildUtilsManifest, callModelOverHttp, clearDownstreamCatalogCache, cliFirebaseAppName, cliFirebaseEmulatorsInUse, cliFirestoreAccessorFactory, cliFirestoreBinding, cliFirestoreCollectionForQuery, cliFirestoreErrorMapper, cliFirestoreQueryConstraints, cliFirestoreSessionEntryExpiresAt, cliLifecycleRunner, cliReadResultMeta, closeAllCliFirebaseApps, closeCliFirestoreSessionContext, coerceCliReadVia, collectClassPropertiesWithInheritance, computeRelativeSpecifiers, configureCliErrorMapper, configureCliSecretPatterns, configureOutputOptions, createActionCommand, createActionRegistry, createActionRegistryFromEntries, createAuthCommand, createAuthMiddleware, createAuthRegistryFromEntries, createCallModelCommand, createCli, createCliContext, createCliFirestoreModels, createCliFirestoreQueryRegistry, createCliFirestoreSessionCacheStore, createCliFirestoreSessionContext, createCliTokenCacheStore, createContextSlot, createCssUtilityRegistry, createCssUtilityRegistryFromEntries, createDbxDocsUiExamplesRegistry, createDbxDocsUiExamplesRegistryFromEntries, createDoctorCommand, createEnvCommand, createFilterRegistry, createFilterRegistryFromEntries, createFirestoreSessionDoctorCheck, createForgeFieldRegistry, createForgeFieldRegistryFromEntries, createModelSnapshotFieldRegistry, createModelSnapshotFieldRegistryFromEntries, createOutputCommand, createOutputMiddleware, createPassthroughAuthMiddleware, createPipeRegistry, createPipeRegistryFromEntries, createSemanticTypeRegistry, createSemanticTypeRegistryFromEntries, createTokenRegistry, createTokenRegistryFromEntries, createUiComponentRegistry, createUiComponentRegistryFromEntries, createUtilRegistry, createUtilRegistryFromEntries, decodeFirestoreModelKey, defaultDoctorChecks, defaultGlobber, defaultReadFile, deriveOptionalFromName, detectDataHelpFormat, detectHelpMode, discoverDownstreamFirebasePackages, discoverDownstreamPackages, discoverOidcMetadata, dumpTimestamp, exchangeAuthorizationCode, expandModelKeys, extractActionEntries, extractAngularInputs, extractAngularOutputs, extractAuthEntries, extractComponentRouteModelTags, extractCssUtilityEntries, extractDbxDocsUiExampleEntries, extractEntries, extractFile, extractFilterEntries, extractForgeFieldEntries, extractModelSnapshotFieldEntries, extractModels, extractPipeEntries, extractUiEntries, extractUrlParamKeys, extractUtilEntries, fetchFirestoreSession, fetchSessionInfo, fetchUserInfo, filterCliFirestoreQueries, filterReadOnlyModelScopes, findAndLoadConfig, findCliEnvDefault, findCliModelManifestEntry, flattenList, formatGeneratedTs, getBundledManifestsDirectory, getCliContext, getCliEnvVarName, getCliTimeoutMs, getDefaultBundledActionManifestPaths, getDefaultBundledCssUtilityManifestPaths, getDefaultBundledDbxDocsUiExamplesManifestPaths, getDefaultBundledFilterManifestPaths, getDefaultBundledForgeFieldManifestPaths, getDefaultBundledManifestPaths, getDefaultBundledModelFirebaseIndexManifestPaths, getDefaultBundledModelSnapshotFieldManifestPaths, getDefaultBundledPipeManifestPaths, getDefaultBundledTokenManifestPaths, getDefaultBundledUiManifestPaths, getDefaultBundledUtilManifestPaths, getDownstreamCatalog, getFirebaseBucketKeyedByIdModels, getFirebaseDistrictKeyedByIdModels, getFirebaseExternalIdKeyedByIdModels, getFirebaseModel, getFirebaseModelByPrefix, getFirebaseModelGroup, getFirebaseModelGroups, getFirebaseModels, getFirebaseModelsByArchetype, getFirebasePrefixCatalog, getFirebaseRegionKeyedByIdModels, getFirebaseSubcollectionsOf, getFirebaseUserKeyedByIdModels, getFirebaseUserRelatedModels, getModelArchetypeBySlug, getModelArchetypesByAxisValue, getModelArchetypesByCollectionKind, getModelArchetypesBySyncMode, getModelOverFirestore, getModelOverHttp, getMultipleModelsOverFirestore, getMultipleModelsOverHttp, getMultipleModelsOverHttpChunked, getOutputOptions, globToRegex, hasParamSegment, indentLines$1 as indentLines, isCliEnvConfigComplete, isCliFirebaseConfigComplete, isCliFirestoreSessionExpired, isCliVerbose, isCoreTopic, isExportedFromPackage, isStdinPositionalSentinel, isStdinSentinel, isTokenExpired, isVisibleProperty, iterateDbxCliCallModel, loadActionManifests, loadActionRegistry, loadAuthRegistry, loadCliConfig, loadCssUtilityRegistry, loadDbxDocsUiExamplesManifests, loadDbxDocsUiExamplesRegistry, loadFilterManifests, loadFilterRegistry, loadForgeFieldManifests, loadForgeFieldRegistry, loadModelFirebaseIndexManifests, loadModelFirebaseIndexRegistry, loadModelSnapshotFieldManifests, loadModelSnapshotFieldRegistry, loadPackageName, loadPipeManifests, loadPipeRegistry, loadRouteTree, loadScanSection, loadSemanticTypeManifests, loadSemanticTypeRegistry, loadTokenManifests, loadTokenRegistry, loadUiComponentManifests, loadUiComponentRegistry, loadUtilManifests, loadUtilRegistry, maskEnv, maskSecret, matchUrlAgainstEntries, mcpManifestKey, mergeCliConfig, mergeCliEnvWithDefault, mergeCliFirebaseConfig, mergeOutputConfig, normalizePathname, oidcRelyingPartyErrorToCliError, openStreamingDump, outputError, outputResult, packageNameToSlug, parseAnnotation, parseDeclarations$1 as parseDeclarations, parseFirestoreModelIdentityArgs, parseGetArgs, parseGetManyArgs, parsePastedRedirect, parseRouteModelTag, parseScanArgs, pickFields, promptLine, readAllStdin, readDirectiveDecorator, readEnvTokenEntry, readPropertyDescription, readSelector, readStdinTokens, readStringProperty, refreshAccessToken, renderCliFirestoreQueryEntry, renderCliFirestoreQueryList, renderDecodedKey, renderGroupedImportLines, renderModelManifestEntry, renderModelManifestFields, renderModelManifestList, renderTable, requireCliContext, requireCliFirestoreContext, requireCliFirestoreModels, requireCliFirestoreSession, resolveActiveEnvName, resolveCliEnv, resolveCliEnvOrThrow, resolveCliFirestoreQueryArgs, resolveCliFirestoreQueryEntry, resolveCliModel, resolveCliReadSource, resolveComponentSourceFromSources, resolveDemoClaimsPath, resolveExplicitFirebasePackages, resolveExtendsName, resolveModelArchetype, resolveOutputConfig, resolvePerModelGetKey, resolveRouteSources, revokeToken, runActionsScanCli, runCli, runCliFirestoreQuery, runCssUtilitiesScanCli, runDbxDocsUiExamplesScanCli, runFiltersScanCli, runForgeFieldsScanCli, runModelFirebaseIndexScanCli, runModelSnapshotFieldsScanCli, runPaginatedList, runPipesScanCli, runScanCli, runScanCliBase, runUiComponentsScanCli, runUtilsScanCli, sanitizeString, saveCliConfig, scanFactoryReferences, scoreCandidates, serializeActionManifest, serializeCssUtilityManifest, serializeDbxDocsUiExamplesManifest, serializeFilterManifest, serializeForgeFieldManifest, serializeManifest, serializeModelSnapshotFieldsManifest, serializePipeManifest, serializeUiComponentManifest, serializeUtilManifest, setCliContext, setCliRawArgv, setCliTimeoutMs, setCliVerbose, splitListTagText$1 as splitListTagText, splitSegments, stripUrlQueryAndHash, toActionEntryInfo, toFilterEntryInfo, toFormFieldInfo, tracedFetch, truncate, tryMatchSegments, unwrapFenced, validateMcpToolName, verboseLog, withCallModelArgs, withEnv, withMultiplePages, withOutput, withServiceTokenScopes, wrapCommandHandler, wrapSyncCommandHandler, writeGeneratedTsFile };