@dereekb/dbx-cli 13.40.0 → 13.41.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/index.esm.js CHANGED
@@ -91,7 +91,7 @@ function _construct(Parent, args, Class) {
91
91
  }
92
92
  return _construct.apply(null, arguments);
93
93
  }
94
- function _define_property$W(obj, key, value) {
94
+ function _define_property$X(obj, key, value) {
95
95
  if (key in obj) {
96
96
  Object.defineProperty(obj, key, {
97
97
  value: value,
@@ -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$W(target) {
143
+ function _object_spread$X(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$W(target) {
150
150
  }));
151
151
  }
152
152
  ownKeys.forEach(function(key) {
153
- _define_property$W(target, key, source[key]);
153
+ _define_property$X(target, key, source[key]);
154
154
  });
155
155
  }
156
156
  return target;
157
157
  }
158
- function ownKeys$E(object, enumerableOnly) {
158
+ function ownKeys$F(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$E(object, enumerableOnly) {
163
163
  }
164
164
  return keys;
165
165
  }
166
- function _object_spread_props$E(target, source) {
166
+ function _object_spread_props$F(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$E(Object(source)).forEach(function(key) {
171
+ ownKeys$F(Object(source)).forEach(function(key) {
172
172
  Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
173
173
  });
174
174
  }
@@ -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$E(_object_spread$W({}, init), {
448
+ finalInit = _object_spread_props$F(_object_spread$X({}, 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$W({
612
+ var content = _object_spread$X({
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$W({
689
+ var output = _object_spread$X({
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$W(_this, "code", void 0), _define_property$W(_this, "suggestion", void 0);
718
+ ]), _define_property$X(_this, "code", void 0), _define_property$X(_this, "suggestion", void 0);
719
719
  _this.name = 'CliError';
720
720
  _this.code = input.code;
721
721
  _this.suggestion = input.suggestion;
@@ -743,7 +743,7 @@ function stringifyEnvelope(value) {
743
743
  if (mapped) {
744
744
  result = mapped;
745
745
  } else if (_instanceof$u(error, CliError)) {
746
- result = _object_spread$W({
746
+ result = _object_spread$X({
747
747
  ok: false,
748
748
  error: sanitizeString(error.message),
749
749
  code: error.code
@@ -803,7 +803,7 @@ function _async_to_generator$1p(fn) {
803
803
  });
804
804
  };
805
805
  }
806
- function _define_property$V(obj, key, value) {
806
+ function _define_property$W(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$V(target) {
825
+ function _object_spread$W(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$V(target) {
832
832
  }));
833
833
  }
834
834
  ownKeys.forEach(function(key) {
835
- _define_property$V(target, key, source[key]);
835
+ _define_property$W(target, key, source[key]);
836
836
  });
837
837
  }
838
838
  return target;
839
839
  }
840
- function ownKeys$D(object, enumerableOnly) {
840
+ function ownKeys$E(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$D(object, enumerableOnly) {
845
845
  }
846
846
  return keys;
847
847
  }
848
- function _object_spread_props$D(target, source) {
848
+ function _object_spread_props$E(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$D(Object(source)).forEach(function(key) {
853
+ ownKeys$E(Object(source)).forEach(function(key) {
854
854
  Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
855
855
  });
856
856
  }
@@ -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$D(_object_spread$V({}, input), {
1120
+ getMultipleModelsOverHttp(_object_spread_props$E(_object_spread$W({}, input), {
1121
1121
  keys: chunk
1122
1122
  }))
1123
1123
  ];
@@ -1177,9 +1177,9 @@ function requestJson(input) {
1177
1177
  switch(_state.label){
1178
1178
  case 0:
1179
1179
  hasJsonBody = input.jsonBody !== undefined;
1180
- init = _object_spread$V({
1180
+ init = _object_spread$W({
1181
1181
  method: input.method,
1182
- headers: _object_spread$V({
1182
+ headers: _object_spread$W({
1183
1183
  Accept: 'application/json',
1184
1184
  Authorization: "Bearer ".concat(input.accessToken)
1185
1185
  }, hasJsonBody ? {
@@ -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$U(obj, key, value) {
1843
+ function _define_property$V(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$U(target) {
1862
+ function _object_spread$V(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$U(target) {
1869
1869
  }));
1870
1870
  }
1871
1871
  ownKeys.forEach(function(key) {
1872
- _define_property$U(target, key, source[key]);
1872
+ _define_property$V(target, key, source[key]);
1873
1873
  });
1874
1874
  }
1875
1875
  return target;
1876
1876
  }
1877
- function ownKeys$C(object, enumerableOnly) {
1877
+ function ownKeys$D(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$C(object, enumerableOnly) {
1882
1882
  }
1883
1883
  return keys;
1884
1884
  }
1885
- function _object_spread_props$C(target, source) {
1885
+ function _object_spread_props$D(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$C(Object(source)).forEach(function(key) {
1890
+ ownKeys$D(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$U({
2038
+ result = _object_spread$V({
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$U({
2133
+ var firebase = mergeCliFirebaseConfig(_object_spread$V({
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$U({
2145
+ result = _object_spread$V({
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$C(_object_spread$U({
2194
+ result = _object_spread_props$D(_object_spread$V({
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).
@@ -2293,7 +2293,7 @@ function _async_to_generator$1m(fn) {
2293
2293
  });
2294
2294
  };
2295
2295
  }
2296
- function _define_property$T(obj, key, value) {
2296
+ function _define_property$U(obj, key, value) {
2297
2297
  if (key in obj) {
2298
2298
  Object.defineProperty(obj, key, {
2299
2299
  value: value,
@@ -2314,7 +2314,7 @@ function _instanceof$t(left, right) {
2314
2314
  return left instanceof right;
2315
2315
  }
2316
2316
  }
2317
- function _object_spread$T(target) {
2317
+ function _object_spread$U(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$T(target) {
2324
2324
  }));
2325
2325
  }
2326
2326
  ownKeys.forEach(function(key) {
2327
- _define_property$T(target, key, source[key]);
2327
+ _define_property$U(target, key, source[key]);
2328
2328
  });
2329
2329
  }
2330
2330
  return target;
2331
2331
  }
2332
- function ownKeys$B(object, enumerableOnly) {
2332
+ function ownKeys$C(object, enumerableOnly) {
2333
2333
  var keys = Object.keys(object);
2334
2334
  if (Object.getOwnPropertySymbols) {
2335
2335
  var symbols = Object.getOwnPropertySymbols(object);
@@ -2337,12 +2337,12 @@ function ownKeys$B(object, enumerableOnly) {
2337
2337
  }
2338
2338
  return keys;
2339
2339
  }
2340
- function _object_spread_props$B(target, source) {
2340
+ function _object_spread_props$C(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$B(Object(source)).forEach(function(key) {
2345
+ ownKeys$C(Object(source)).forEach(function(key) {
2346
2346
  Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
2347
2347
  });
2348
2348
  }
@@ -2644,7 +2644,7 @@ function _ts_generator$1m(thisArg, body) {
2644
2644
  _state.sent();
2645
2645
  return [
2646
2646
  2,
2647
- createCliFirestoreSessionContext(_object_spread_props$B(_object_spread$T({}, input), {
2647
+ createCliFirestoreSessionContext(_object_spread_props$C(_object_spread$U({}, input), {
2648
2648
  refreshSession: true
2649
2649
  }))
2650
2650
  ];
@@ -3813,7 +3813,7 @@ function _async_to_generator$1i(fn) {
3813
3813
  });
3814
3814
  };
3815
3815
  }
3816
- function _define_property$S(obj, key, value) {
3816
+ function _define_property$T(obj, key, value) {
3817
3817
  if (key in obj) {
3818
3818
  Object.defineProperty(obj, key, {
3819
3819
  value: value,
@@ -3859,7 +3859,7 @@ function _non_iterable_rest$k() {
3859
3859
  function _non_iterable_spread$10() {
3860
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.");
3861
3861
  }
3862
- function _object_spread$S(target) {
3862
+ function _object_spread$T(target) {
3863
3863
  for(var i = 1; i < arguments.length; i++){
3864
3864
  var source = arguments[i] != null ? arguments[i] : {};
3865
3865
  var ownKeys = Object.keys(source);
@@ -3869,12 +3869,12 @@ function _object_spread$S(target) {
3869
3869
  }));
3870
3870
  }
3871
3871
  ownKeys.forEach(function(key) {
3872
- _define_property$S(target, key, source[key]);
3872
+ _define_property$T(target, key, source[key]);
3873
3873
  });
3874
3874
  }
3875
3875
  return target;
3876
3876
  }
3877
- function ownKeys$A(object, enumerableOnly) {
3877
+ function ownKeys$B(object, enumerableOnly) {
3878
3878
  var keys = Object.keys(object);
3879
3879
  if (Object.getOwnPropertySymbols) {
3880
3880
  var symbols = Object.getOwnPropertySymbols(object);
@@ -3882,12 +3882,12 @@ function ownKeys$A(object, enumerableOnly) {
3882
3882
  }
3883
3883
  return keys;
3884
3884
  }
3885
- function _object_spread_props$A(target, source) {
3885
+ function _object_spread_props$B(target, source) {
3886
3886
  source = source != null ? source : {};
3887
3887
  if (Object.getOwnPropertyDescriptors) {
3888
3888
  Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
3889
3889
  } else {
3890
- ownKeys$A(Object(source)).forEach(function(key) {
3890
+ ownKeys$B(Object(source)).forEach(function(key) {
3891
3891
  Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
3892
3892
  });
3893
3893
  }
@@ -4021,7 +4021,7 @@ var _defaultResponseAdapter = {
4021
4021
  }
4022
4022
  };
4023
4023
  function _defaultBuildRequestData(params, state, limit) {
4024
- var base = _object_spread$S({}, params);
4024
+ var base = _object_spread$T({}, params);
4025
4025
  if (state.cursorDocumentKey != null) {
4026
4026
  base['cursorDocumentKey'] = state.cursorDocumentKey;
4027
4027
  }
@@ -4045,7 +4045,7 @@ function _runItemTasks(input) {
4045
4045
  itemIndex: itemIndex
4046
4046
  };
4047
4047
  });
4048
- taskConfig = _object_spread_props$A(_object_spread$S({
4048
+ taskConfig = _object_spread_props$B(_object_spread$T({
4049
4049
  sequential: true,
4050
4050
  throwError: true
4051
4051
  }, itemPerformTasksConfig), {
@@ -4302,7 +4302,7 @@ function _evaluateLoopExit(input) {
4302
4302
  1
4303
4303
  ];
4304
4304
  case 4:
4305
- result = _object_spread$S({
4305
+ result = _object_spread$T({
4306
4306
  totalPages: pageIndex,
4307
4307
  totalItems: totalItems,
4308
4308
  hitLimit: hitLimit,
@@ -4352,7 +4352,7 @@ function _async_to_generator$1h(fn) {
4352
4352
  });
4353
4353
  };
4354
4354
  }
4355
- function _define_property$R(obj, key, value) {
4355
+ function _define_property$S(obj, key, value) {
4356
4356
  if (key in obj) {
4357
4357
  Object.defineProperty(obj, key, {
4358
4358
  value: value,
@@ -4365,7 +4365,7 @@ function _define_property$R(obj, key, value) {
4365
4365
  }
4366
4366
  return obj;
4367
4367
  }
4368
- function _object_spread$R(target) {
4368
+ function _object_spread$S(target) {
4369
4369
  for(var i = 1; i < arguments.length; i++){
4370
4370
  var source = arguments[i] != null ? arguments[i] : {};
4371
4371
  var ownKeys = Object.keys(source);
@@ -4375,12 +4375,12 @@ function _object_spread$R(target) {
4375
4375
  }));
4376
4376
  }
4377
4377
  ownKeys.forEach(function(key) {
4378
- _define_property$R(target, key, source[key]);
4378
+ _define_property$S(target, key, source[key]);
4379
4379
  });
4380
4380
  }
4381
4381
  return target;
4382
4382
  }
4383
- function ownKeys$z(object, enumerableOnly) {
4383
+ function ownKeys$A(object, enumerableOnly) {
4384
4384
  var keys = Object.keys(object);
4385
4385
  if (Object.getOwnPropertySymbols) {
4386
4386
  var symbols = Object.getOwnPropertySymbols(object);
@@ -4388,12 +4388,12 @@ function ownKeys$z(object, enumerableOnly) {
4388
4388
  }
4389
4389
  return keys;
4390
4390
  }
4391
- function _object_spread_props$z(target, source) {
4391
+ function _object_spread_props$A(target, source) {
4392
4392
  source = source != null ? source : {};
4393
4393
  if (Object.getOwnPropertyDescriptors) {
4394
4394
  Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
4395
4395
  } else {
4396
- ownKeys$z(Object(source)).forEach(function(key) {
4396
+ ownKeys$A(Object(source)).forEach(function(key) {
4397
4397
  Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
4398
4398
  });
4399
4399
  }
@@ -4522,7 +4522,7 @@ function _ts_generator$1h(thisArg, body) {
4522
4522
  case 0:
4523
4523
  context = requireCliContext();
4524
4524
  data = spec.buildParams(argv);
4525
- params = _object_spread_props$z(_object_spread$R({
4525
+ params = _object_spread_props$A(_object_spread$S({
4526
4526
  modelType: spec.model,
4527
4527
  call: spec.verb
4528
4528
  }, spec.specifier == null ? {} : {
@@ -5051,7 +5051,7 @@ function _async_to_generator$1f(fn) {
5051
5051
  });
5052
5052
  };
5053
5053
  }
5054
- function _define_property$Q(obj, key, value) {
5054
+ function _define_property$R(obj, key, value) {
5055
5055
  if (key in obj) {
5056
5056
  Object.defineProperty(obj, key, {
5057
5057
  value: value,
@@ -5072,7 +5072,7 @@ function _instanceof$s(left, right) {
5072
5072
  return left instanceof right;
5073
5073
  }
5074
5074
  }
5075
- function _object_spread$Q(target) {
5075
+ function _object_spread$R(target) {
5076
5076
  for(var i = 1; i < arguments.length; i++){
5077
5077
  var source = arguments[i] != null ? arguments[i] : {};
5078
5078
  var ownKeys = Object.keys(source);
@@ -5082,12 +5082,12 @@ function _object_spread$Q(target) {
5082
5082
  }));
5083
5083
  }
5084
5084
  ownKeys.forEach(function(key) {
5085
- _define_property$Q(target, key, source[key]);
5085
+ _define_property$R(target, key, source[key]);
5086
5086
  });
5087
5087
  }
5088
5088
  return target;
5089
5089
  }
5090
- function ownKeys$y(object, enumerableOnly) {
5090
+ function ownKeys$z(object, enumerableOnly) {
5091
5091
  var keys = Object.keys(object);
5092
5092
  if (Object.getOwnPropertySymbols) {
5093
5093
  var symbols = Object.getOwnPropertySymbols(object);
@@ -5095,12 +5095,12 @@ function ownKeys$y(object, enumerableOnly) {
5095
5095
  }
5096
5096
  return keys;
5097
5097
  }
5098
- function _object_spread_props$y(target, source) {
5098
+ function _object_spread_props$z(target, source) {
5099
5099
  source = source != null ? source : {};
5100
5100
  if (Object.getOwnPropertyDescriptors) {
5101
5101
  Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
5102
5102
  } else {
5103
- ownKeys$y(Object(source)).forEach(function(key) {
5103
+ ownKeys$z(Object(source)).forEach(function(key) {
5104
5104
  Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
5105
5105
  });
5106
5106
  }
@@ -5259,7 +5259,7 @@ function _ts_generator$1f(thisArg, body) {
5259
5259
  });
5260
5260
  }
5261
5261
  }
5262
- params = _object_spread_props$y(_object_spread$Q({
5262
+ params = _object_spread_props$z(_object_spread$R({
5263
5263
  modelType: argv.model,
5264
5264
  call: argv.verb
5265
5265
  }, argv.specifier == null ? {} : {
@@ -5964,7 +5964,7 @@ function _async_to_generator$1e(fn) {
5964
5964
  });
5965
5965
  };
5966
5966
  }
5967
- function _define_property$P(obj, key, value) {
5967
+ function _define_property$Q(obj, key, value) {
5968
5968
  if (key in obj) {
5969
5969
  Object.defineProperty(obj, key, {
5970
5970
  value: value,
@@ -6018,7 +6018,7 @@ function _non_iterable_rest$h() {
6018
6018
  function _non_iterable_spread$Z() {
6019
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.");
6020
6020
  }
6021
- function _object_spread$P(target) {
6021
+ function _object_spread$Q(target) {
6022
6022
  for(var i = 1; i < arguments.length; i++){
6023
6023
  var source = arguments[i] != null ? arguments[i] : {};
6024
6024
  var ownKeys = Object.keys(source);
@@ -6028,7 +6028,7 @@ function _object_spread$P(target) {
6028
6028
  }));
6029
6029
  }
6030
6030
  ownKeys.forEach(function(key) {
6031
- _define_property$P(target, key, source[key]);
6031
+ _define_property$Q(target, key, source[key]);
6032
6032
  });
6033
6033
  }
6034
6034
  return target;
@@ -6421,7 +6421,7 @@ function requireModels(context) {
6421
6421
  *
6422
6422
  * @__NO_SIDE_EFFECTS__
6423
6423
  */ function cliReadResultMeta(source) {
6424
- return _object_spread$P({
6424
+ return _object_spread$Q({
6425
6425
  source: source.source,
6426
6426
  via: source.via,
6427
6427
  reason: source.reason
@@ -6580,7 +6580,7 @@ function requireModels(context) {
6580
6580
  * @returns The error entry for the `errors` partition.
6581
6581
  */ function asCliReadErrorEntry(error, modelType, key) {
6582
6582
  var mapped = asKeyShapeError(error, modelType, key);
6583
- return _object_spread$P({
6583
+ return _object_spread$Q({
6584
6584
  key: key,
6585
6585
  error: mapped.message
6586
6586
  }, _instanceof$q(mapped, CliError) ? {
@@ -7124,7 +7124,7 @@ function _async_to_generator$1b(fn) {
7124
7124
  });
7125
7125
  };
7126
7126
  }
7127
- function _define_property$O(obj, key, value) {
7127
+ function _define_property$P(obj, key, value) {
7128
7128
  if (key in obj) {
7129
7129
  Object.defineProperty(obj, key, {
7130
7130
  value: value,
@@ -7137,7 +7137,7 @@ function _define_property$O(obj, key, value) {
7137
7137
  }
7138
7138
  return obj;
7139
7139
  }
7140
- function _object_spread$O(target) {
7140
+ function _object_spread$P(target) {
7141
7141
  for(var i = 1; i < arguments.length; i++){
7142
7142
  var source = arguments[i] != null ? arguments[i] : {};
7143
7143
  var ownKeys = Object.keys(source);
@@ -7147,7 +7147,7 @@ function _object_spread$O(target) {
7147
7147
  }));
7148
7148
  }
7149
7149
  ownKeys.forEach(function(key) {
7150
- _define_property$O(target, key, source[key]);
7150
+ _define_property$P(target, key, source[key]);
7151
7151
  });
7152
7152
  }
7153
7153
  return target;
@@ -7326,7 +7326,7 @@ function _ts_generator$1b(thisArg, body) {
7326
7326
  existing = (_ref = _state.sent()) !== null && _ref !== void 0 ? _ref : {};
7327
7327
  merged = {
7328
7328
  activeEnv: (_input_updates_activeEnv = input.updates.activeEnv) !== null && _input_updates_activeEnv !== void 0 ? _input_updates_activeEnv : existing.activeEnv,
7329
- envs: input.updates.envs ? _object_spread$O({}, existing.envs, input.updates.envs) : existing.envs,
7329
+ envs: input.updates.envs ? _object_spread$P({}, existing.envs, input.updates.envs) : existing.envs,
7330
7330
  output: input.updates.output === undefined ? existing.output : mergeOutputConfig(existing.output, input.updates.output)
7331
7331
  };
7332
7332
  return [
@@ -7368,12 +7368,12 @@ function mergeOutputCommandsConfig(existing, updates) {
7368
7368
  var result;
7369
7369
  if ('commands' in updates) {
7370
7370
  if (updates.commands) {
7371
- var merged = _object_spread$O({}, existing);
7371
+ var merged = _object_spread$P({}, existing);
7372
7372
  var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;
7373
7373
  try {
7374
7374
  for(var _iterator = Object.keys(updates.commands)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){
7375
7375
  var key = _step.value;
7376
- merged[key] = _object_spread$O({}, existing === null || existing === void 0 ? void 0 : existing[key], updates.commands[key]);
7376
+ merged[key] = _object_spread$P({}, existing === null || existing === void 0 ? void 0 : existing[key], updates.commands[key]);
7377
7377
  }
7378
7378
  } catch (err) {
7379
7379
  _didIteratorError = true;
@@ -7763,7 +7763,7 @@ function _async_to_generator$19(fn) {
7763
7763
  });
7764
7764
  };
7765
7765
  }
7766
- function _define_property$N(obj, key, value) {
7766
+ function _define_property$O(obj, key, value) {
7767
7767
  if (key in obj) {
7768
7768
  Object.defineProperty(obj, key, {
7769
7769
  value: value,
@@ -7784,7 +7784,7 @@ function _instanceof$p(left, right) {
7784
7784
  return left instanceof right;
7785
7785
  }
7786
7786
  }
7787
- function _object_spread$N(target) {
7787
+ function _object_spread$O(target) {
7788
7788
  for(var i = 1; i < arguments.length; i++){
7789
7789
  var source = arguments[i] != null ? arguments[i] : {};
7790
7790
  var ownKeys = Object.keys(source);
@@ -7794,12 +7794,12 @@ function _object_spread$N(target) {
7794
7794
  }));
7795
7795
  }
7796
7796
  ownKeys.forEach(function(key) {
7797
- _define_property$N(target, key, source[key]);
7797
+ _define_property$O(target, key, source[key]);
7798
7798
  });
7799
7799
  }
7800
7800
  return target;
7801
7801
  }
7802
- function ownKeys$x(object, enumerableOnly) {
7802
+ function ownKeys$y(object, enumerableOnly) {
7803
7803
  var keys = Object.keys(object);
7804
7804
  if (Object.getOwnPropertySymbols) {
7805
7805
  var symbols = Object.getOwnPropertySymbols(object);
@@ -7807,12 +7807,12 @@ function ownKeys$x(object, enumerableOnly) {
7807
7807
  }
7808
7808
  return keys;
7809
7809
  }
7810
- function _object_spread_props$x(target, source) {
7810
+ function _object_spread_props$y(target, source) {
7811
7811
  source = source != null ? source : {};
7812
7812
  if (Object.getOwnPropertyDescriptors) {
7813
7813
  Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
7814
7814
  } else {
7815
- ownKeys$x(Object(source)).forEach(function(key) {
7815
+ ownKeys$y(Object(source)).forEach(function(key) {
7816
7816
  Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
7817
7817
  });
7818
7818
  }
@@ -7975,7 +7975,7 @@ var cliOidcFetch = function cliOidcFetch(input, init) {
7975
7975
  var result = error;
7976
7976
  if (_instanceof$p(error, OidcRelyingPartyError)) {
7977
7977
  var mapped = OIDC_ERROR_CODE_MAP[error.code];
7978
- result = new CliError(_object_spread$N({
7978
+ result = new CliError(_object_spread$O({
7979
7979
  message: error.message,
7980
7980
  code: mapped.code
7981
7981
  }, mapped.suggestion ? {
@@ -8023,7 +8023,7 @@ function withCliErrors(fn) {
8023
8023
  * @returns The parsed {@link OidcDiscoveryMetadata}. Throws a {@link CliError} (`OIDC_DISCOVERY_FAILED`) when every candidate fails.
8024
8024
  */ function discoverOidcMetadata(input) {
8025
8025
  return withCliErrors(function() {
8026
- return discoverOidcMetadata$1(_object_spread_props$x(_object_spread$N({}, input), {
8026
+ return discoverOidcMetadata$1(_object_spread_props$y(_object_spread$O({}, input), {
8027
8027
  fetch: cliOidcFetch
8028
8028
  }));
8029
8029
  });
@@ -8035,7 +8035,7 @@ function withCliErrors(fn) {
8035
8035
  * @returns The parsed {@link OidcTokenResponse} with access/refresh tokens.
8036
8036
  */ function exchangeAuthorizationCode(input) {
8037
8037
  return withCliErrors(function() {
8038
- return exchangeAuthorizationCode$1(_object_spread_props$x(_object_spread$N({}, input), {
8038
+ return exchangeAuthorizationCode$1(_object_spread_props$y(_object_spread$O({}, input), {
8039
8039
  fetch: cliOidcFetch
8040
8040
  }));
8041
8041
  });
@@ -8047,7 +8047,7 @@ function withCliErrors(fn) {
8047
8047
  * @returns The parsed {@link OidcTokenResponse} with the refreshed access token.
8048
8048
  */ function refreshAccessToken(input) {
8049
8049
  return withCliErrors(function() {
8050
- return refreshAccessToken$1(_object_spread_props$x(_object_spread$N({}, input), {
8050
+ return refreshAccessToken$1(_object_spread_props$y(_object_spread$O({}, input), {
8051
8051
  fetch: cliOidcFetch
8052
8052
  }));
8053
8053
  });
@@ -8059,7 +8059,7 @@ function withCliErrors(fn) {
8059
8059
  * @returns Resolves when the server returns a non-error status. Throws a {@link CliError} (`TOKEN_REVOCATION_FAILED`) on error.
8060
8060
  */ function revokeToken(input) {
8061
8061
  return withCliErrors(function() {
8062
- return revokeToken$1(_object_spread_props$x(_object_spread$N({}, input), {
8062
+ return revokeToken$1(_object_spread_props$y(_object_spread$O({}, input), {
8063
8063
  fetch: cliOidcFetch
8064
8064
  }));
8065
8065
  });
@@ -8071,7 +8071,7 @@ function withCliErrors(fn) {
8071
8071
  * @returns The parsed userinfo claims. Throws a {@link CliError} (`USERINFO_FAILED`) on a non-OK response.
8072
8072
  */ function fetchUserInfo(input) {
8073
8073
  return withCliErrors(function() {
8074
- return fetchUserInfo$1(_object_spread_props$x(_object_spread$N({}, input), {
8074
+ return fetchUserInfo$1(_object_spread_props$y(_object_spread$O({}, input), {
8075
8075
  fetch: cliOidcFetch
8076
8076
  }));
8077
8077
  });
@@ -8083,13 +8083,13 @@ function withCliErrors(fn) {
8083
8083
  * @returns The parsed {@link OidcSessionInfo}. Throws a {@link CliError} (`SESSION_INFO_FAILED`) on a non-OK response.
8084
8084
  */ function fetchSessionInfo(input) {
8085
8085
  return withCliErrors(function() {
8086
- return fetchSessionInfo$1(_object_spread_props$x(_object_spread$N({}, input), {
8086
+ return fetchSessionInfo$1(_object_spread_props$y(_object_spread$O({}, input), {
8087
8087
  fetch: cliOidcFetch
8088
8088
  }));
8089
8089
  });
8090
8090
  }
8091
8091
 
8092
- function _define_property$M(obj, key, value) {
8092
+ function _define_property$N(obj, key, value) {
8093
8093
  if (key in obj) {
8094
8094
  Object.defineProperty(obj, key, {
8095
8095
  value: value,
@@ -8102,7 +8102,7 @@ function _define_property$M(obj, key, value) {
8102
8102
  }
8103
8103
  return obj;
8104
8104
  }
8105
- function _object_spread$M(target) {
8105
+ function _object_spread$N(target) {
8106
8106
  for(var i = 1; i < arguments.length; i++){
8107
8107
  var source = arguments[i] != null ? arguments[i] : {};
8108
8108
  var ownKeys = Object.keys(source);
@@ -8112,12 +8112,12 @@ function _object_spread$M(target) {
8112
8112
  }));
8113
8113
  }
8114
8114
  ownKeys.forEach(function(key) {
8115
- _define_property$M(target, key, source[key]);
8115
+ _define_property$N(target, key, source[key]);
8116
8116
  });
8117
8117
  }
8118
8118
  return target;
8119
8119
  }
8120
- function ownKeys$w(object, enumerableOnly) {
8120
+ function ownKeys$x(object, enumerableOnly) {
8121
8121
  var keys = Object.keys(object);
8122
8122
  if (Object.getOwnPropertySymbols) {
8123
8123
  var symbols = Object.getOwnPropertySymbols(object);
@@ -8125,12 +8125,12 @@ function ownKeys$w(object, enumerableOnly) {
8125
8125
  }
8126
8126
  return keys;
8127
8127
  }
8128
- function _object_spread_props$w(target, source) {
8128
+ function _object_spread_props$x(target, source) {
8129
8129
  source = source != null ? source : {};
8130
8130
  if (Object.getOwnPropertyDescriptors) {
8131
8131
  Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
8132
8132
  } else {
8133
- ownKeys$w(Object(source)).forEach(function(key) {
8133
+ ownKeys$x(Object(source)).forEach(function(key) {
8134
8134
  Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
8135
8135
  });
8136
8136
  }
@@ -8151,7 +8151,7 @@ function _object_spread_props$w(target, source) {
8151
8151
  */ function buildAuthorizationUrl(input) {
8152
8152
  try {
8153
8153
  var _input_scopes;
8154
- return buildAuthorizationUrl$1(_object_spread_props$w(_object_spread$M({}, input), {
8154
+ return buildAuthorizationUrl$1(_object_spread_props$x(_object_spread$N({}, input), {
8155
8155
  scopes: (_input_scopes = input.scopes) !== null && _input_scopes !== void 0 ? _input_scopes : DEFAULT_CLI_OIDC_SCOPES
8156
8156
  }));
8157
8157
  } catch (e) {
@@ -8313,7 +8313,7 @@ function _async_to_generator$18(fn) {
8313
8313
  });
8314
8314
  };
8315
8315
  }
8316
- function _define_property$L(obj, key, value) {
8316
+ function _define_property$M(obj, key, value) {
8317
8317
  if (key in obj) {
8318
8318
  Object.defineProperty(obj, key, {
8319
8319
  value: value,
@@ -8326,7 +8326,7 @@ function _define_property$L(obj, key, value) {
8326
8326
  }
8327
8327
  return obj;
8328
8328
  }
8329
- function _object_spread$L(target) {
8329
+ function _object_spread$M(target) {
8330
8330
  for(var i = 1; i < arguments.length; i++){
8331
8331
  var source = arguments[i] != null ? arguments[i] : {};
8332
8332
  var ownKeys = Object.keys(source);
@@ -8336,12 +8336,12 @@ function _object_spread$L(target) {
8336
8336
  }));
8337
8337
  }
8338
8338
  ownKeys.forEach(function(key) {
8339
- _define_property$L(target, key, source[key]);
8339
+ _define_property$M(target, key, source[key]);
8340
8340
  });
8341
8341
  }
8342
8342
  return target;
8343
8343
  }
8344
- function ownKeys$v(object, enumerableOnly) {
8344
+ function ownKeys$w(object, enumerableOnly) {
8345
8345
  var keys = Object.keys(object);
8346
8346
  if (Object.getOwnPropertySymbols) {
8347
8347
  var symbols = Object.getOwnPropertySymbols(object);
@@ -8349,12 +8349,12 @@ function ownKeys$v(object, enumerableOnly) {
8349
8349
  }
8350
8350
  return keys;
8351
8351
  }
8352
- function _object_spread_props$v(target, source) {
8352
+ function _object_spread_props$w(target, source) {
8353
8353
  source = source != null ? source : {};
8354
8354
  if (Object.getOwnPropertyDescriptors) {
8355
8355
  Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
8356
8356
  } else {
8357
- ownKeys$v(Object(source)).forEach(function(key) {
8357
+ ownKeys$w(Object(source)).forEach(function(key) {
8358
8358
  Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
8359
8359
  });
8360
8360
  }
@@ -8781,7 +8781,7 @@ function resolveAuthSetupPrompt(input) {
8781
8781
  code: 'AUTH_SETUP_INCOMPLETE'
8782
8782
  });
8783
8783
  }
8784
- nextEnv = _object_spread$L({
8784
+ nextEnv = _object_spread$M({
8785
8785
  apiBaseUrl: apiBaseUrl,
8786
8786
  oidcIssuer: oidcIssuer,
8787
8787
  clientId: clientId,
@@ -8797,8 +8797,8 @@ function resolveAuthSetupPrompt(input) {
8797
8797
  mergeCliConfig({
8798
8798
  configFilePath: paths.configFilePath,
8799
8799
  configDir: paths.configDir,
8800
- updates: _object_spread$L({
8801
- envs: _define_property$L({}, envName, nextEnv)
8800
+ updates: _object_spread$M({
8801
+ envs: _define_property$M({}, envName, nextEnv)
8802
8802
  }, argv.setActive ? {
8803
8803
  activeEnv: envName
8804
8804
  } : {})
@@ -8963,7 +8963,7 @@ function resolveAuthSetupPrompt(input) {
8963
8963
  sessionInfo = _state.sent();
8964
8964
  sessionExpiresAt = (_ref = sessionInfo === null || sessionInfo === void 0 ? void 0 : sessionInfo.expiresAt) !== null && _ref !== void 0 ? _ref : undefined;
8965
8965
  rotationDisabled = sessionInfo === null || sessionInfo === void 0 ? void 0 : sessionInfo.rotationDisabled;
8966
- entry = _object_spread$L({
8966
+ entry = _object_spread$M({
8967
8967
  accessToken: tokenResponse.access_token,
8968
8968
  refreshToken: tokenResponse.refresh_token,
8969
8969
  idToken: tokenResponse.id_token,
@@ -9353,7 +9353,7 @@ function resolveAuthSetupPrompt(input) {
9353
9353
  expiresAt = Date.now() + ((_refreshed_expires_in = refreshed.expires_in) !== null && _refreshed_expires_in !== void 0 ? _refreshed_expires_in : 0) * 1000;
9354
9354
  return [
9355
9355
  4,
9356
- tokens.set(envName, _object_spread_props$v(_object_spread$L({}, entry), {
9356
+ tokens.set(envName, _object_spread_props$w(_object_spread$M({}, entry), {
9357
9357
  accessToken: refreshed.access_token,
9358
9358
  refreshToken: (_refreshed_refresh_token = refreshed.refresh_token) !== null && _refreshed_refresh_token !== void 0 ? _refreshed_refresh_token : entry.refreshToken,
9359
9359
  tokenType: (_refreshed_token_type = refreshed.token_type) !== null && _refreshed_token_type !== void 0 ? _refreshed_token_type : entry.tokenType,
@@ -9423,7 +9423,7 @@ function _async_to_generator$17(fn) {
9423
9423
  });
9424
9424
  };
9425
9425
  }
9426
- function _define_property$K(obj, key, value) {
9426
+ function _define_property$L(obj, key, value) {
9427
9427
  if (key in obj) {
9428
9428
  Object.defineProperty(obj, key, {
9429
9429
  value: value,
@@ -9450,7 +9450,7 @@ function _iterable_to_array$Y(iter) {
9450
9450
  function _non_iterable_spread$Y() {
9451
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.");
9452
9452
  }
9453
- function _object_spread$K(target) {
9453
+ function _object_spread$L(target) {
9454
9454
  for(var i = 1; i < arguments.length; i++){
9455
9455
  var source = arguments[i] != null ? arguments[i] : {};
9456
9456
  var ownKeys = Object.keys(source);
@@ -9460,7 +9460,7 @@ function _object_spread$K(target) {
9460
9460
  }));
9461
9461
  }
9462
9462
  ownKeys.forEach(function(key) {
9463
- _define_property$K(target, key, source[key]);
9463
+ _define_property$L(target, key, source[key]);
9464
9464
  });
9465
9465
  }
9466
9466
  return target;
@@ -9587,7 +9587,7 @@ function _ts_generator$17(thisArg, body) {
9587
9587
  return _ts_generator$17(this, function(_state) {
9588
9588
  return [
9589
9589
  2,
9590
- _object_spread$K({
9590
+ _object_spread$L({
9591
9591
  name: 'config-file-present',
9592
9592
  ok: !!config
9593
9593
  }, config ? {} : {
@@ -9603,7 +9603,7 @@ function _ts_generator$17(thisArg, body) {
9603
9603
  return _ts_generator$17(this, function(_state) {
9604
9604
  return [
9605
9605
  2,
9606
- _object_spread$K({
9606
+ _object_spread$L({
9607
9607
  name: 'active-env-resolved',
9608
9608
  ok: !!envName && !!env,
9609
9609
  detail: {
@@ -9722,7 +9722,7 @@ function _ts_generator$17(thisArg, body) {
9722
9722
  entry = _state.sent();
9723
9723
  if (entry) {
9724
9724
  expired = isTokenExpired(entry);
9725
- result = _object_spread$K({
9725
+ result = _object_spread$L({
9726
9726
  name: 'token-cache-fresh',
9727
9727
  ok: !expired,
9728
9728
  detail: {
@@ -10100,6 +10100,272 @@ function _ts_generator$17(thisArg, body) {
10100
10100
  };
10101
10101
  }
10102
10102
 
10103
+ function _define_property$K(obj, key, value) {
10104
+ if (key in obj) {
10105
+ Object.defineProperty(obj, key, {
10106
+ value: value,
10107
+ enumerable: true,
10108
+ configurable: true,
10109
+ writable: true
10110
+ });
10111
+ } else {
10112
+ obj[key] = value;
10113
+ }
10114
+ return obj;
10115
+ }
10116
+ function _object_spread$K(target) {
10117
+ for(var i = 1; i < arguments.length; i++){
10118
+ var source = arguments[i] != null ? arguments[i] : {};
10119
+ var ownKeys = Object.keys(source);
10120
+ if (typeof Object.getOwnPropertySymbols === "function") {
10121
+ ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {
10122
+ return Object.getOwnPropertyDescriptor(source, sym).enumerable;
10123
+ }));
10124
+ }
10125
+ ownKeys.forEach(function(key) {
10126
+ _define_property$K(target, key, source[key]);
10127
+ });
10128
+ }
10129
+ return target;
10130
+ }
10131
+ function ownKeys$v(object, enumerableOnly) {
10132
+ var keys = Object.keys(object);
10133
+ if (Object.getOwnPropertySymbols) {
10134
+ var symbols = Object.getOwnPropertySymbols(object);
10135
+ keys.push.apply(keys, symbols);
10136
+ }
10137
+ return keys;
10138
+ }
10139
+ function _object_spread_props$v(target, source) {
10140
+ source = source != null ? source : {};
10141
+ if (Object.getOwnPropertyDescriptors) {
10142
+ Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
10143
+ } else {
10144
+ ownKeys$v(Object(source)).forEach(function(key) {
10145
+ Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
10146
+ });
10147
+ }
10148
+ return target;
10149
+ }
10150
+ /**
10151
+ * Resolves how a catalog entry must be invoked, from the rules facts about its collection.
10152
+ *
10153
+ * The rule, in the order it is applied:
10154
+ *
10155
+ * 1. `list` is not `allowed` — no block anywhere grants a list, so the entry is dead at EVERY
10156
+ * scope. Checked first because no amount of `--parent` scoping rescues it.
10157
+ * 2. `scope: 'COLLECTION_GROUP'` with no `/{path=**}/<collection>/{id}` block — the group shape is
10158
+ * dead. A NESTED model degrades to `parent-child` (the path-scoped grant that satisfied step 1
10159
+ * is what `--parent` runs against); a root collection has no parent to scope to, so
10160
+ * `cliFirestoreCollectionForQuery` rejects `--parent` outright and the mode is `unavailable`.
10161
+ * 3. `scope: 'COLLECTION'` over a subcollection — `--parent` is required by construction, whatever
10162
+ * the rules say, so the mode is `parent-child` rather than `model`. This step is why the mode is
10163
+ * NOT a pure permission verdict: the rules permit the read, and it still cannot be run
10164
+ * unscoped.
10165
+ * 4. Otherwise `model`.
10166
+ *
10167
+ * `unavailable` is a deliberate UNDER-approximation. `list` is merged across every match block that
10168
+ * reaches the collection, so a recursive block that denies `list` while a nested block allows it
10169
+ * reads as `allowed` and the entry is not marked dead. That direction is the safe one — the scanner
10170
+ * can never make this CLI refuse a query that actually works, only miss one that does not.
10171
+ *
10172
+ * @param input - The entry's scope/nesting and the rules facts for its collection.
10173
+ * @returns The mode plus the evidence, with a reason attached whenever the mode is not `model`.
10174
+ *
10175
+ * @__NO_SIDE_EFFECTS__
10176
+ */ function cliFirestoreQueryModeForRules(input) {
10177
+ var scope = input.scope, isNested = input.isNested, collectionGroup = input.collectionGroup, list = input.list, parentPaths = input.parentPaths;
10178
+ var base = _object_spread$K({
10179
+ list: list,
10180
+ collectionGroup: collectionGroup
10181
+ }, parentPaths && parentPaths.length > 0 ? {
10182
+ parentPaths: parentPaths
10183
+ } : {});
10184
+ var result;
10185
+ if (list !== 'allowed') {
10186
+ var reason = list === 'denied' ? 'list-denied' : 'list-unmatched';
10187
+ result = {
10188
+ mode: 'unavailable',
10189
+ rules: _object_spread_props$v(_object_spread$K({}, base), {
10190
+ reason: reason
10191
+ })
10192
+ };
10193
+ } else if (scope === 'COLLECTION_GROUP' && !collectionGroup) {
10194
+ result = {
10195
+ mode: isNested ? 'parent-child' : 'unavailable',
10196
+ rules: _object_spread_props$v(_object_spread$K({}, base), {
10197
+ reason: 'no-collection-group-rule'
10198
+ })
10199
+ };
10200
+ } else if (scope === 'COLLECTION' && isNested) {
10201
+ result = {
10202
+ mode: 'parent-child',
10203
+ rules: _object_spread_props$v(_object_spread$K({}, base), {
10204
+ reason: 'nested-collection-scope'
10205
+ })
10206
+ };
10207
+ } else {
10208
+ result = {
10209
+ mode: 'model',
10210
+ rules: base
10211
+ };
10212
+ }
10213
+ return result;
10214
+ }
10215
+ // MARK: Read
10216
+ /**
10217
+ * The mode an entry carries, normalized so an absent field reads as `unknown` rather than
10218
+ * `undefined` — a consumer switching over {@link CliFirestoreQueryMode} stays total.
10219
+ *
10220
+ * @param entry - The catalog entry.
10221
+ * @returns The entry's mode, or `unknown` when the manifest was generated without `--rules`.
10222
+ *
10223
+ * @__NO_SIDE_EFFECTS__
10224
+ */ function cliFirestoreQueryMode(entry) {
10225
+ var _entry_queryMode;
10226
+ return (_entry_queryMode = entry.queryMode) !== null && _entry_queryMode !== void 0 ? _entry_queryMode : 'unknown';
10227
+ }
10228
+ /**
10229
+ * True when this CLI could actually run the entry — the factory bound AND the rules do not refuse
10230
+ * it outright. Backs `firestore-queries --invocable-only`.
10231
+ *
10232
+ * A `parent-child` entry counts as invocable: `--parent` runs it. An `unknown` one counts too;
10233
+ * nothing is known against it.
10234
+ *
10235
+ * @param entry - The catalog entry.
10236
+ * @returns Whether the entry is worth offering.
10237
+ *
10238
+ * @__NO_SIDE_EFFECTS__
10239
+ */ function isCliFirestoreQueryInvocable(entry) {
10240
+ return entry.factory != null && cliFirestoreQueryMode(entry) !== 'unavailable';
10241
+ }
10242
+ // MARK: Runtime gate
10243
+ /**
10244
+ * Error code used when a query is refused because `firestore.rules` can never authorize it.
10245
+ */ var FIRESTORE_QUERY_UNAVAILABLE_CODE = 'FIRESTORE_QUERY_UNAVAILABLE';
10246
+ /**
10247
+ * Error code used when a `parent-child` query was run without a `--parent`.
10248
+ */ var FIRESTORE_QUERY_PARENT_REQUIRED_CODE = 'FIRESTORE_QUERY_PARENT_REQUIRED';
10249
+ /**
10250
+ * Refuses a catalog entry that cannot run as invoked, BEFORE a transport is chosen.
10251
+ *
10252
+ * Mirrors `assertCliModelIsNotServerOnly`, one level finer: that flag is per-MODEL and cannot say
10253
+ * "readable under its parent, dead as a collection group", which is exactly the shape this catches.
10254
+ * Answering locally makes the reason legible and free instead of surfacing as a bare
10255
+ * `Missing or insufficient permissions.` from the rules engine.
10256
+ *
10257
+ * An `unknown` entry passes: the manifest was generated without a `--rules` file, so nothing is
10258
+ * known and a guess would be worse than a round trip.
10259
+ *
10260
+ * @param input - The catalog entry and the `--parent` key, when one was supplied.
10261
+ * @param input.entry - The catalog entry about to run.
10262
+ * @param input.parent - The `--parent` key, when supplied.
10263
+ * @throws {CliError} `FIRESTORE_QUERY_UNAVAILABLE` when no client can run it, or `FIRESTORE_QUERY_PARENT_REQUIRED` when it needs a `--parent` that was not given.
10264
+ */ function assertCliFirestoreQueryCanRun(input) {
10265
+ var entry = input.entry, parent = input.parent;
10266
+ var mode = cliFirestoreQueryMode(entry);
10267
+ if (mode === 'unavailable') {
10268
+ throw new CliError({
10269
+ message: 'Query "'.concat(entry.slug, '" is catalogued but unavailable to a client: ').concat(modeCause(entry)),
10270
+ code: FIRESTORE_QUERY_UNAVAILABLE_CODE,
10271
+ suggestion: unavailableSuggestion(entry)
10272
+ });
10273
+ } else if (mode === 'parent-child' && parent == null) {
10274
+ throw new CliError({
10275
+ message: 'Query "'.concat(entry.slug, "\" is a parent-child query — it addresses one parent document's `").concat(entry.collection, "` subcollection: ").concat(modeCause(entry)),
10276
+ code: FIRESTORE_QUERY_PARENT_REQUIRED_CODE,
10277
+ suggestion: parentRequiredSuggestion(entry)
10278
+ });
10279
+ }
10280
+ }
10281
+ // MARK: Rendering
10282
+ /**
10283
+ * Renders the `Mode:` line of the `firestore-queries <query>` detail view.
10284
+ *
10285
+ * @param entry - The catalog entry.
10286
+ * @returns The rendered line body, without a trailing newline.
10287
+ *
10288
+ * @__NO_SIDE_EFFECTS__
10289
+ */ function describeCliFirestoreQueryMode(entry) {
10290
+ var mode = cliFirestoreQueryMode(entry);
10291
+ var result;
10292
+ switch(mode){
10293
+ case 'model':
10294
+ result = 'model — run it directly against the collection.';
10295
+ break;
10296
+ case 'parent-child':
10297
+ result = "parent-child — ".concat(modeCause(entry), " ").concat(parentRequiredSuggestion(entry));
10298
+ break;
10299
+ case 'unavailable':
10300
+ result = "unavailable — ".concat(modeCause(entry), " ").concat(unavailableSuggestion(entry));
10301
+ break;
10302
+ default:
10303
+ result = 'unknown — the query manifest was generated without a `--rules` file, so no mode was resolved.';
10304
+ break;
10305
+ }
10306
+ return result;
10307
+ }
10308
+ // MARK: Internals
10309
+ /**
10310
+ * The rules fact behind a non-`model` mode, phrased as a sentence.
10311
+ *
10312
+ * @param entry - The catalog entry.
10313
+ * @returns The cause sentence.
10314
+ */ function modeCause(entry) {
10315
+ var _entry_rules;
10316
+ var collection = entry.collection;
10317
+ var result;
10318
+ switch((_entry_rules = entry.rules) === null || _entry_rules === void 0 ? void 0 : _entry_rules.reason){
10319
+ case 'no-collection-group-rule':
10320
+ result = "`firestore.rules` declares no `match /{path=**}/".concat(collection, "/{id}` block, and a collection-group query is authorized by that block alone — a path-scoped block does not cover it.");
10321
+ break;
10322
+ case 'nested-collection-scope':
10323
+ result = "it is declared at COLLECTION scope over the `".concat(collection, "` subcollection, so it addresses one parent by construction.");
10324
+ break;
10325
+ case 'list-denied':
10326
+ result = "`firestore.rules` denies `list` on `".concat(collection, "` (every grant is `if false`).");
10327
+ break;
10328
+ case 'list-unmatched':
10329
+ result = "`firestore.rules` grants no `list` on `".concat(collection, "` at all, so the implicit default-deny applies.");
10330
+ break;
10331
+ default:
10332
+ result = "`firestore.rules` does not authorize a client read of `".concat(collection, "` at ").concat(entry.scope, " scope.");
10333
+ break;
10334
+ }
10335
+ return result;
10336
+ }
10337
+ /**
10338
+ * What to do about an entry no client can run at any scope.
10339
+ *
10340
+ * @param entry - The catalog entry.
10341
+ * @returns The suggestion sentence.
10342
+ */ function unavailableSuggestion(entry) {
10343
+ var _entry_rules;
10344
+ var collection = entry.collection;
10345
+ var rule = ((_entry_rules = entry.rules) === null || _entry_rules === void 0 ? void 0 : _entry_rules.reason) === 'no-collection-group-rule' ? "Add a `match /{path=**}/".concat(collection, "/{id}` block with a `list` grant to make the collection group queryable") : "Grant `list` on `".concat(collection, "` in `firestore.rules`");
10346
+ return "".concat(rule, ", or run this from server code (a Cloud Function or a server action) where the Admin SDK bypasses rules. No `--via` or `--parent` changes this.");
10347
+ }
10348
+ /**
10349
+ * What to do about an entry that only runs when scoped to one parent.
10350
+ *
10351
+ * The COLLECTION-scope index caveat is called out only for the collection-group case, because it is
10352
+ * the very next wall an operator hits there: the catalog emits a COLLECTION_GROUP-scope composite
10353
+ * index for that factory, and Firestore does not serve a path-scoped query from it. An entry that
10354
+ * is already COLLECTION-scope emits the right index by definition.
10355
+ *
10356
+ * @param entry - The catalog entry.
10357
+ * @returns The suggestion sentence.
10358
+ */ function parentRequiredSuggestion(entry) {
10359
+ var _ref;
10360
+ var _entry_rules, _entry_rules1;
10361
+ var parentPaths = (_ref = (_entry_rules = entry.rules) === null || _entry_rules === void 0 ? void 0 : _entry_rules.parentPaths) !== null && _ref !== void 0 ? _ref : [];
10362
+ var shape = parentPaths.length > 0 ? parentPaths.map(function(x) {
10363
+ return "`".concat(x, "`");
10364
+ }).join(' or ') : 'the parent document key';
10365
+ var indexNote = ((_entry_rules1 = entry.rules) === null || _entry_rules1 === void 0 ? void 0 : _entry_rules1.reason) === 'no-collection-group-rule' ? ' If the factory uses more than one field, a COLLECTION-scope composite index may also be needed — the group-scope index this factory emits does not serve a path-scoped query.' : '';
10366
+ return "Pass `--parent` to run it against one parent's subcollection: ".concat(shape, ".").concat(indexNote);
10367
+ }
10368
+
10103
10369
  function asyncGeneratorStep$16(gen, resolve, reject, _next, _throw, key, arg) {
10104
10370
  try {
10105
10371
  var info = gen[key](arg);
@@ -10321,9 +10587,18 @@ function _ts_generator$16(thisArg, body) {
10321
10587
  readPreference: reason === 'session-available' ? 'firestore' : 'api',
10322
10588
  reason: reason,
10323
10589
  invocableQueryEntries: entries.filter(function(e) {
10324
- return e.factory != null;
10590
+ return isCliFirestoreQueryInvocable(e);
10325
10591
  }).length,
10326
10592
  totalQueryEntries: entries.length,
10593
+ unavailableQueryEntries: entries.filter(function(e) {
10594
+ return e.queryMode === 'unavailable';
10595
+ }).length,
10596
+ parentChildQueryEntries: entries.filter(function(e) {
10597
+ return e.queryMode === 'parent-child';
10598
+ }).length,
10599
+ queryModesScanned: entries.some(function(e) {
10600
+ return e.queryMode != null;
10601
+ }),
10327
10602
  serverOnlyModels: ((_input_modelManifest = input.modelManifest) !== null && _input_modelManifest !== void 0 ? _input_modelManifest : []).filter(function(m) {
10328
10603
  return m.serverOnly === true;
10329
10604
  }).length
@@ -11674,7 +11949,7 @@ function _ts_generator$14(thisArg, body) {
11674
11949
  return entry;
11675
11950
  }
11676
11951
  /**
11677
- * Applies the `--model` / `--category` / `--tag` filters to the catalog.
11952
+ * Applies the `--model` / `--category` / `--tag` / `--invocable-only` filters to the catalog.
11678
11953
  *
11679
11954
  * @param registry - The query catalog.
11680
11955
  * @param filter - The active filters.
@@ -11698,6 +11973,9 @@ function _ts_generator$14(thisArg, body) {
11698
11973
  });
11699
11974
  });
11700
11975
  }
11976
+ if (filter.invocableOnly) result = result.filter(function(x) {
11977
+ return isCliFirestoreQueryInvocable(x);
11978
+ });
11701
11979
  return result;
11702
11980
  }
11703
11981
  /**
@@ -11712,6 +11990,9 @@ function _ts_generator$14(thisArg, body) {
11712
11990
  if (entries.length === 0) {
11713
11991
  result = 'No Firestore queries found.\n';
11714
11992
  } else {
11993
+ // MODE is a SEPARATE column from INVOCABLE rather than folded into it: they fail for unrelated
11994
+ // reasons (a missing barrel export vs. a missing rules grant) and have different fixes, and
11995
+ // collapsing them would hide which one is wrong.
11715
11996
  var rows = [
11716
11997
  [
11717
11998
  'SLUG',
@@ -11719,7 +12000,8 @@ function _ts_generator$14(thisArg, body) {
11719
12000
  'SCOPE',
11720
12001
  'CATEGORY',
11721
12002
  'PARAMS',
11722
- 'INVOCABLE'
12003
+ 'INVOCABLE',
12004
+ 'MODE'
11723
12005
  ]
11724
12006
  ];
11725
12007
  var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;
@@ -11733,7 +12015,8 @@ function _ts_generator$14(thisArg, body) {
11733
12015
  entry.scope,
11734
12016
  (_entry_category = entry.category) !== null && _entry_category !== void 0 ? _entry_category : '',
11735
12017
  renderParamsSummary(entry),
11736
- entry.factory ? 'yes' : 'no'
12018
+ entry.factory ? 'yes' : 'no',
12019
+ cliFirestoreQueryMode(entry)
11737
12020
  ]);
11738
12021
  }
11739
12022
  } catch (err) {
@@ -11772,7 +12055,7 @@ function _ts_generator$14(thisArg, body) {
11772
12055
  if (entry.category) lines.push("Category: ".concat(entry.category));
11773
12056
  if (entry.tags && entry.tags.length > 0) lines.push("Tags: ".concat(entry.tags.join(', ')));
11774
12057
  var invocable = entry.factory ? 'yes' : "no — ".concat(entry.name, " is not exported from ").concat(entry.module);
11775
- lines.push("Invocable: ".concat(invocable));
12058
+ lines.push("Invocable: ".concat(invocable), "Mode: ".concat(describeCliFirestoreQueryMode(entry)));
11776
12059
  var flags = governanceFlags(entry);
11777
12060
  if (flags.length > 0) lines.push("Index flags: ".concat(flags.join(', ')));
11778
12061
  if (entry.dispatcher) {
@@ -12054,6 +12337,10 @@ function _object_without_properties_loose(source, excluded) {
12054
12337
  }).option('tag', {
12055
12338
  type: 'string',
12056
12339
  describe: 'Filter to entries carrying this tag.'
12340
+ }).option('invocable-only', {
12341
+ type: 'boolean',
12342
+ default: false,
12343
+ describe: 'Hide entries this CLI cannot run — an unbound factory, or one `firestore.rules` refuses at every scope.'
12057
12344
  }).option('json', {
12058
12345
  type: 'boolean',
12059
12346
  default: false,
@@ -12073,7 +12360,8 @@ function _object_without_properties_loose(source, excluded) {
12073
12360
  var entries = filterCliFirestoreQueries(registry, {
12074
12361
  model: argv.model,
12075
12362
  category: argv.category,
12076
- tag: argv.tag
12363
+ tag: argv.tag,
12364
+ invocableOnly: Boolean(argv.invocableOnly)
12077
12365
  });
12078
12366
  if (argv.json) {
12079
12367
  outputResult(entries.map(toJsonEntry));
@@ -12167,7 +12455,7 @@ function _object_spread_props$r(target, source) {
12167
12455
  * @throws {CliError} When `--parent` is missing where required, supplied where rejected, or the registered collection cannot be scoped.
12168
12456
  */ function cliFirestoreCollectionForQuery(input) {
12169
12457
  var _models_binding_collectionForModel, _models_binding;
12170
- var models = input.models, modelType = input.modelType, scope = input.scope, isNested = input.isNested, parentKey = input.parentKey;
12458
+ var models = input.models, modelType = input.modelType, scope = input.scope, isNested = input.isNested, parentKey = input.parentKey, parentPaths = input.parentPaths;
12171
12459
  if (parentKey != null && !isNested) {
12172
12460
  throw new CliError({
12173
12461
  message: 'Model "'.concat(modelType, '" is not a subcollection, so --parent does not apply.'),
@@ -12182,6 +12470,14 @@ function _object_spread_props$r(target, source) {
12182
12470
  suggestion: 'Pass --parent <parentKey>. Running a COLLECTION-scope query across the collection group is not equivalent — the composite index it needs is only built at COLLECTION scope.'
12183
12471
  });
12184
12472
  }
12473
+ if (parentKey != null) {
12474
+ assertCliFirestoreQueryParentKey(_object_spread$G({
12475
+ modelType: modelType,
12476
+ parentKey: parentKey
12477
+ }, parentPaths === undefined ? {} : {
12478
+ parentPaths: parentPaths
12479
+ }));
12480
+ }
12185
12481
  var override = (_models_binding_collectionForModel = (_models_binding = models.binding).collectionForModel) === null || _models_binding_collectionForModel === void 0 ? void 0 : _models_binding_collectionForModel.call(_models_binding, {
12186
12482
  collections: models.collections,
12187
12483
  modelType: modelType,
@@ -12200,6 +12496,65 @@ function _object_spread_props$r(target, source) {
12200
12496
  }
12201
12497
  return result;
12202
12498
  }
12499
+ /**
12500
+ * Validates a `--parent` value before it is turned into a document reference.
12501
+ *
12502
+ * Both checks exist because the failure they prevent is otherwise unreadable. An odd-segment
12503
+ * `--parent` (a COLLECTION path, e.g. `jl/abc/jlj`) reaches `docAtPath` and comes back as a raw
12504
+ * Firestore path assertion; a well-formed key for the WRONG ancestor chain (e.g. `gb/abc` for a
12505
+ * collection that lives under `jl/{loc}/jlj/{job}`) silently produces an empty result set, which is
12506
+ * indistinguishable from "no matching documents".
12507
+ *
12508
+ * The chain comparison is on COLLECTION NAMES only — document ids are the caller's data, and the
12509
+ * rules templates carry `{wildcard}` placeholders there.
12510
+ *
12511
+ * @param input - The model type, the supplied parent key, and the rules-declared parent templates.
12512
+ * @param input.modelType - The model being queried, for the message.
12513
+ * @param input.parentKey - The raw `--parent` value.
12514
+ * @param input.parentPaths - The rules-declared parent path templates, when known.
12515
+ * @throws {CliError} `INVALID_ARGUMENT` when the key is not a document path, or names a chain the rules do not declare.
12516
+ */ function assertCliFirestoreQueryParentKey(input) {
12517
+ var modelType = input.modelType, parentKey = input.parentKey, _input_parentPaths = input.parentPaths, parentPaths = _input_parentPaths === void 0 ? [] : _input_parentPaths;
12518
+ var segments = parentKey.split('/').filter(function(x) {
12519
+ return x.length > 0;
12520
+ });
12521
+ var quotedPaths = parentPaths.map(function(x) {
12522
+ return "`".concat(x, "`");
12523
+ }).join(' or ');
12524
+ if (segments.length === 0 || segments.length % 2 !== 0) {
12525
+ var shape = quotedPaths.length > 0 ? ", matching ".concat(quotedPaths) : ' (e.g. `gb/abc123`)';
12526
+ throw new CliError({
12527
+ message: '--parent "'.concat(parentKey, '" is not a document key.'),
12528
+ code: 'INVALID_ARGUMENT',
12529
+ suggestion: "A parent key is an EVEN number of path segments — collection/id pairs down to the parent document".concat(shape, ".")
12530
+ });
12531
+ }
12532
+ var chain = collectionChain(segments);
12533
+ var expected = parentPaths.map(function(path) {
12534
+ return collectionChain(path.split('/').filter(function(x) {
12535
+ return x.length > 0;
12536
+ }));
12537
+ });
12538
+ if (expected.length > 0 && !expected.some(function(x) {
12539
+ return x.join('/') === chain.join('/');
12540
+ })) {
12541
+ throw new CliError({
12542
+ message: '--parent "'.concat(parentKey, '" does not name a parent of "').concat(modelType, '": it walks ').concat(chain.join(' → '), "."),
12543
+ code: 'INVALID_ARGUMENT',
12544
+ suggestion: "`firestore.rules` places this collection under ".concat(quotedPaths, ". Pass a document key with that collection chain.")
12545
+ });
12546
+ }
12547
+ }
12548
+ /**
12549
+ * The collection names of a document path, i.e. every even-indexed segment.
12550
+ *
12551
+ * @param segments - The path segments.
12552
+ * @returns The collection names, in order.
12553
+ */ function collectionChain(segments) {
12554
+ return segments.filter(function(_, index) {
12555
+ return index % 2 === 0;
12556
+ });
12557
+ }
12203
12558
  /**
12204
12559
  * Re-points a registered collection group at a single parent document's subcollection.
12205
12560
  *
@@ -12779,21 +13134,28 @@ function _ts_generator$13(thisArg, body) {
12779
13134
  *
12780
13135
  * @param input - The models view, the entry, and the run options.
12781
13136
  * @returns The query result envelope.
12782
- * @throws {CliError} On an argument, scoping, or invocability failure. Firestore's own errors (rules, missing index) surface via `cliFirestoreErrorMapper`.
13137
+ * @throws {CliError} On an argument, scoping, mode, or invocability failure. Firestore's own errors (rules, missing index) surface via `cliFirestoreErrorMapper`.
12783
13138
  */ function runCliFirestoreQuery(input) {
12784
13139
  return _async_to_generator$13(function() {
12785
- var _collection, models, entry, params, rawParams, parent, limit, _input_count, count, constraints, collection, executable, base, result, _tmp, _tmp1, pairs, rows;
13140
+ var _collection, _entry_rules, models, entry, params, rawParams, parent, limit, _input_count, count, constraints, collection, executable, base, result, _tmp, _tmp1, pairs, rows;
12786
13141
  return _ts_generator$13(this, function(_state) {
12787
13142
  switch(_state.label){
12788
13143
  case 0:
12789
13144
  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;
13145
+ // refused BEFORE the constraints are built and before Firestore is touched: the mode is a
13146
+ // property of the entry, so paying a round trip to be told `permission-denied` teaches nothing.
13147
+ // `parent` matters here — a parent-child entry is fine once scoped to one parent document.
13148
+ assertCliFirestoreQueryCanRun({
13149
+ entry: entry,
13150
+ parent: parent
13151
+ });
12790
13152
  constraints = cliFirestoreQueryConstraints({
12791
13153
  entry: entry,
12792
13154
  params: params,
12793
13155
  rawParams: rawParams,
12794
13156
  limit: limit
12795
13157
  });
12796
- collection = cliFirestoreCollectionForQuery({
13158
+ collection = cliFirestoreCollectionForQuery(_object_spread$F({
12797
13159
  models: models,
12798
13160
  // the catalog records the COLLECTION NAME (`gb`) because that is what `firestore.indexes.json`
12799
13161
  // keys on, while the app's model services are keyed by MODEL TYPE (`guestbook`) — the join goes
@@ -12802,7 +13164,9 @@ function _ts_generator$13(thisArg, body) {
12802
13164
  scope: entry.scope,
12803
13165
  isNested: entry.isNested,
12804
13166
  parentKey: parent
12805
- });
13167
+ }, ((_entry_rules = entry.rules) === null || _entry_rules === void 0 ? void 0 : _entry_rules.parentPaths) === undefined ? {} : {
13168
+ parentPaths: entry.rules.parentPaths
13169
+ }));
12806
13170
  executable = (_collection = collection).queryDocument.apply(_collection, _to_consumable_array$V(constraints));
12807
13171
  base = _object_spread_props$q(_object_spread$F({
12808
13172
  slug: entry.slug,
@@ -13006,7 +13370,11 @@ var EPILOGUE = [
13006
13370
  'Dates are coerced from strings: at the top level whenever the parameter type mentions `Date`,',
13007
13371
  'and inside an object parameter only for strict ISO-8601 datetimes carrying a time AND a zone —',
13008
13372
  'a bare YYYY-MM-DD is left alone, because `firestoreDate` persists an ISO string and coercing one',
13009
- 'would silently break an equality match. `--raw-params` disables all coercion.'
13373
+ 'would silently break an equality match. `--raw-params` disables all coercion.',
13374
+ '',
13375
+ "A query `firestore-queries` reports as MODE = parent-child addresses ONE parent document's",
13376
+ 'subcollection: pass --parent with the full ancestor chain the rules declare (any depth).',
13377
+ 'MODE = unavailable means no client can run it on any transport.'
13010
13378
  ].join('\n');
13011
13379
  /**
13012
13380
  * Builds the top-level `firestore-query <query>` command.
@@ -13039,7 +13407,7 @@ var EPILOGUE = [
13039
13407
  describe: 'Disable date coercion on --params.'
13040
13408
  }).option('parent', {
13041
13409
  type: 'string',
13042
- describe: 'Parent document key to scope a nested model to (e.g. "gb/abc").'
13410
+ describe: 'Parent DOCUMENT key to scope a nested model to — any depth (e.g. "gb/abc", "jl/abc/jlj/def").'
13043
13411
  }).option('limit', {
13044
13412
  type: 'number',
13045
13413
  describe: "Replace the query's limit with this value."
@@ -13051,11 +13419,19 @@ var EPILOGUE = [
13051
13419
  },
13052
13420
  handler: wrapCommandHandler(function(argv) {
13053
13421
  return _async_to_generator$12(function() {
13054
- var entry, models, result;
13422
+ var entry, parent, models, result;
13055
13423
  return _ts_generator$12(this, function(_state) {
13056
13424
  switch(_state.label){
13057
13425
  case 0:
13058
13426
  entry = resolveCliFirestoreQueryEntry(registry, String(argv.query));
13427
+ parent = typeof argv.parent === 'string' ? argv.parent : undefined;
13428
+ // refused before the session is opened, mirroring `firestore-get`'s server-only check: the
13429
+ // mode is a property of the entry, so paying for a handshake to be told `permission-denied`
13430
+ // teaches nothing. `runCliFirestoreQuery` re-checks for programmatic callers.
13431
+ assertCliFirestoreQueryCanRun({
13432
+ entry: entry,
13433
+ parent: parent
13434
+ });
13059
13435
  return [
13060
13436
  4,
13061
13437
  requireCliFirestoreModels(requireCliContext())
@@ -13069,7 +13445,7 @@ var EPILOGUE = [
13069
13445
  entry: entry,
13070
13446
  params: typeof argv.params === 'string' ? argv.params : undefined,
13071
13447
  rawParams: Boolean(argv.rawParams),
13072
- parent: typeof argv.parent === 'string' ? argv.parent : undefined,
13448
+ parent: parent,
13073
13449
  limit: typeof argv.limit === 'number' ? argv.limit : undefined,
13074
13450
  count: Boolean(argv.count)
13075
13451
  })
@@ -65598,4 +65974,4 @@ function printPaginatedOutput(input) {
65598
65974
  })();
65599
65975
  }
65600
65976
 
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 };
65977
+ 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_QUERY_PARENT_REQUIRED_CODE, FIRESTORE_QUERY_UNAVAILABLE_CODE, 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, assertCliFirestoreQueryCanRun, assertCliFirestoreQueryParentKey, 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, cliFirestoreQueryMode, cliFirestoreQueryModeForRules, 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, describeCliFirestoreQueryMode, 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, isCliFirestoreQueryInvocable, 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 };