@dereekb/dbx-cli 13.12.9 → 13.14.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
@@ -15,13 +15,13 @@ import { readFile, glob, stat, readdir, writeFile } from 'node:fs/promises';
15
15
  import { Node, SyntaxKind, Project } from 'ts-morph';
16
16
  import { fileURLToPath } from 'node:url';
17
17
 
18
- function _array_like_to_array$11(arr, len) {
18
+ function _array_like_to_array$12(arr, len) {
19
19
  if (len == null || len > arr.length) len = arr.length;
20
20
  for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
21
21
  return arr2;
22
22
  }
23
- function _array_without_holes$Y(arr) {
24
- if (Array.isArray(arr)) return _array_like_to_array$11(arr);
23
+ function _array_without_holes$Z(arr) {
24
+ if (Array.isArray(arr)) return _array_like_to_array$12(arr);
25
25
  }
26
26
  function _assert_this_initialized(self) {
27
27
  if (self === void 0) {
@@ -84,7 +84,7 @@ function _construct(Parent, args, Class) {
84
84
  }
85
85
  return _construct.apply(null, arguments);
86
86
  }
87
- function _define_property$K(obj, key, value) {
87
+ function _define_property$L(obj, key, value) {
88
88
  if (key in obj) {
89
89
  Object.defineProperty(obj, key, {
90
90
  value: value,
@@ -127,13 +127,13 @@ function _instanceof$o(left, right) {
127
127
  function _is_native_function(fn) {
128
128
  return Function.toString.call(fn).indexOf("[native code]") !== -1;
129
129
  }
130
- function _iterable_to_array$Y(iter) {
130
+ function _iterable_to_array$Z(iter) {
131
131
  if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
132
132
  }
133
- function _non_iterable_spread$Y() {
133
+ function _non_iterable_spread$Z() {
134
134
  throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
135
135
  }
136
- function _object_spread$K(target) {
136
+ function _object_spread$L(target) {
137
137
  for(var i = 1; i < arguments.length; i++){
138
138
  var source = arguments[i] != null ? arguments[i] : {};
139
139
  var ownKeys = Object.keys(source);
@@ -143,12 +143,12 @@ function _object_spread$K(target) {
143
143
  }));
144
144
  }
145
145
  ownKeys.forEach(function(key) {
146
- _define_property$K(target, key, source[key]);
146
+ _define_property$L(target, key, source[key]);
147
147
  });
148
148
  }
149
149
  return target;
150
150
  }
151
- function ownKeys$s(object, enumerableOnly) {
151
+ function ownKeys$t(object, enumerableOnly) {
152
152
  var keys = Object.keys(object);
153
153
  if (Object.getOwnPropertySymbols) {
154
154
  var symbols = Object.getOwnPropertySymbols(object);
@@ -156,12 +156,12 @@ function ownKeys$s(object, enumerableOnly) {
156
156
  }
157
157
  return keys;
158
158
  }
159
- function _object_spread_props$s(target, source) {
159
+ function _object_spread_props$t(target, source) {
160
160
  source = source != null ? source : {};
161
161
  if (Object.getOwnPropertyDescriptors) {
162
162
  Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
163
163
  } else {
164
- ownKeys$s(Object(source)).forEach(function(key) {
164
+ ownKeys$t(Object(source)).forEach(function(key) {
165
165
  Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
166
166
  });
167
167
  }
@@ -180,20 +180,20 @@ function _set_prototype_of(o, p) {
180
180
  };
181
181
  return _set_prototype_of(o, p);
182
182
  }
183
- function _to_consumable_array$Y(arr) {
184
- return _array_without_holes$Y(arr) || _iterable_to_array$Y(arr) || _unsupported_iterable_to_array$11(arr) || _non_iterable_spread$Y();
183
+ function _to_consumable_array$Z(arr) {
184
+ return _array_without_holes$Z(arr) || _iterable_to_array$Z(arr) || _unsupported_iterable_to_array$12(arr) || _non_iterable_spread$Z();
185
185
  }
186
186
  function _type_of$2(obj) {
187
187
  "@swc/helpers - typeof";
188
188
  return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
189
189
  }
190
- function _unsupported_iterable_to_array$11(o, minLen) {
190
+ function _unsupported_iterable_to_array$12(o, minLen) {
191
191
  if (!o) return;
192
- if (typeof o === "string") return _array_like_to_array$11(o, minLen);
192
+ if (typeof o === "string") return _array_like_to_array$12(o, minLen);
193
193
  var n = Object.prototype.toString.call(o).slice(8, -1);
194
194
  if (n === "Object" && o.constructor) n = o.constructor.name;
195
195
  if (n === "Map" || n === "Set") return Array.from(n);
196
- if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$11(o, minLen);
196
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$12(o, minLen);
197
197
  }
198
198
  function _wrap_native_super(Class) {
199
199
  var _cache = typeof Map === "function" ? new Map() : undefined;
@@ -350,7 +350,7 @@ function _ts_generator$1f(thisArg, body) {
350
350
  /id_token[=:]\s*\S+/gi
351
351
  ];
352
352
  var _outputOptions = {};
353
- var _secretPatterns = _to_consumable_array$Y(DEFAULT_CLI_SECRET_PATTERNS);
353
+ var _secretPatterns = _to_consumable_array$Z(DEFAULT_CLI_SECRET_PATTERNS);
354
354
  var _errorMapper;
355
355
  var _verbose = false;
356
356
  var _timeoutMs;
@@ -430,7 +430,7 @@ var _timeoutMs;
430
430
  timeoutHandle = setTimeout(function() {
431
431
  return localController.abort();
432
432
  }, timeoutMs);
433
- finalInit = _object_spread_props$s(_object_spread$K({}, init), {
433
+ finalInit = _object_spread_props$t(_object_spread$L({}, init), {
434
434
  signal: localController.signal
435
435
  });
436
436
  }
@@ -578,7 +578,7 @@ function dumpResponse(data, meta) {
578
578
  if (!filePath) {
579
579
  return;
580
580
  }
581
- var content = _object_spread$K({
581
+ var content = _object_spread$L({
582
582
  ok: true,
583
583
  data: data
584
584
  }, meta ? {
@@ -655,7 +655,7 @@ function stringifyEnvelope(value) {
655
655
  */ function outputResult(data, meta) {
656
656
  dumpResponse(data, meta);
657
657
  var outputData = _outputOptions.pick ? pickFields(data, _outputOptions.pick) : data;
658
- var output = _object_spread$K({
658
+ var output = _object_spread$L({
659
659
  ok: true,
660
660
  data: outputData
661
661
  }, meta ? {
@@ -684,7 +684,7 @@ function stringifyEnvelope(value) {
684
684
  var _this;
685
685
  _this = _call_super(this, CliError, [
686
686
  input.message
687
- ]), _define_property$K(_this, "code", void 0), _define_property$K(_this, "suggestion", void 0);
687
+ ]), _define_property$L(_this, "code", void 0), _define_property$L(_this, "suggestion", void 0);
688
688
  _this.name = 'CliError';
689
689
  _this.code = input.code;
690
690
  _this.suggestion = input.suggestion;
@@ -712,7 +712,7 @@ function stringifyEnvelope(value) {
712
712
  if (mapped) {
713
713
  result = mapped;
714
714
  } else if (_instanceof$o(error, CliError)) {
715
- result = _object_spread$K({
715
+ result = _object_spread$L({
716
716
  ok: false,
717
717
  error: sanitizeString(error.message),
718
718
  code: error.code
@@ -735,13 +735,13 @@ function stringifyEnvelope(value) {
735
735
  return result;
736
736
  }
737
737
 
738
- function _array_like_to_array$10(arr, len) {
738
+ function _array_like_to_array$11(arr, len) {
739
739
  if (len == null || len > arr.length) len = arr.length;
740
740
  for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
741
741
  return arr2;
742
742
  }
743
- function _array_without_holes$X(arr) {
744
- if (Array.isArray(arr)) return _array_like_to_array$10(arr);
743
+ function _array_without_holes$Y(arr) {
744
+ if (Array.isArray(arr)) return _array_like_to_array$11(arr);
745
745
  }
746
746
  function asyncGeneratorStep$1e(gen, resolve, reject, _next, _throw, key, arg) {
747
747
  try {
@@ -772,7 +772,7 @@ function _async_to_generator$1e(fn) {
772
772
  });
773
773
  };
774
774
  }
775
- function _define_property$J(obj, key, value) {
775
+ function _define_property$K(obj, key, value) {
776
776
  if (key in obj) {
777
777
  Object.defineProperty(obj, key, {
778
778
  value: value,
@@ -785,13 +785,13 @@ function _define_property$J(obj, key, value) {
785
785
  }
786
786
  return obj;
787
787
  }
788
- function _iterable_to_array$X(iter) {
788
+ function _iterable_to_array$Y(iter) {
789
789
  if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
790
790
  }
791
- function _non_iterable_spread$X() {
791
+ function _non_iterable_spread$Y() {
792
792
  throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
793
793
  }
794
- function _object_spread$J(target) {
794
+ function _object_spread$K(target) {
795
795
  for(var i = 1; i < arguments.length; i++){
796
796
  var source = arguments[i] != null ? arguments[i] : {};
797
797
  var ownKeys = Object.keys(source);
@@ -801,12 +801,12 @@ function _object_spread$J(target) {
801
801
  }));
802
802
  }
803
803
  ownKeys.forEach(function(key) {
804
- _define_property$J(target, key, source[key]);
804
+ _define_property$K(target, key, source[key]);
805
805
  });
806
806
  }
807
807
  return target;
808
808
  }
809
- function ownKeys$r(object, enumerableOnly) {
809
+ function ownKeys$s(object, enumerableOnly) {
810
810
  var keys = Object.keys(object);
811
811
  if (Object.getOwnPropertySymbols) {
812
812
  var symbols = Object.getOwnPropertySymbols(object);
@@ -814,31 +814,31 @@ function ownKeys$r(object, enumerableOnly) {
814
814
  }
815
815
  return keys;
816
816
  }
817
- function _object_spread_props$r(target, source) {
817
+ function _object_spread_props$s(target, source) {
818
818
  source = source != null ? source : {};
819
819
  if (Object.getOwnPropertyDescriptors) {
820
820
  Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
821
821
  } else {
822
- ownKeys$r(Object(source)).forEach(function(key) {
822
+ ownKeys$s(Object(source)).forEach(function(key) {
823
823
  Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
824
824
  });
825
825
  }
826
826
  return target;
827
827
  }
828
- function _to_consumable_array$X(arr) {
829
- return _array_without_holes$X(arr) || _iterable_to_array$X(arr) || _unsupported_iterable_to_array$10(arr) || _non_iterable_spread$X();
828
+ function _to_consumable_array$Y(arr) {
829
+ return _array_without_holes$Y(arr) || _iterable_to_array$Y(arr) || _unsupported_iterable_to_array$11(arr) || _non_iterable_spread$Y();
830
830
  }
831
831
  function _type_of$1(obj) {
832
832
  "@swc/helpers - typeof";
833
833
  return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
834
834
  }
835
- function _unsupported_iterable_to_array$10(o, minLen) {
835
+ function _unsupported_iterable_to_array$11(o, minLen) {
836
836
  if (!o) return;
837
- if (typeof o === "string") return _array_like_to_array$10(o, minLen);
837
+ if (typeof o === "string") return _array_like_to_array$11(o, minLen);
838
838
  var n = Object.prototype.toString.call(o).slice(8, -1);
839
839
  if (n === "Object" && o.constructor) n = o.constructor.name;
840
840
  if (n === "Map" || n === "Set") return Array.from(n);
841
- if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$10(o, minLen);
841
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$11(o, minLen);
842
842
  }
843
843
  function _ts_generator$1e(thisArg, body) {
844
844
  var f, y, t, _ = {
@@ -1086,14 +1086,14 @@ var MAX_MODEL_ACCESS_MULTI_READ_KEYS = 50;
1086
1086
  chunk = _step.value;
1087
1087
  return [
1088
1088
  4,
1089
- getMultipleModelsOverHttp(_object_spread_props$r(_object_spread$J({}, input), {
1089
+ getMultipleModelsOverHttp(_object_spread_props$s(_object_spread$K({}, input), {
1090
1090
  keys: chunk
1091
1091
  }))
1092
1092
  ];
1093
1093
  case 3:
1094
1094
  batch = _state.sent();
1095
- (_mergedResults = mergedResults).push.apply(_mergedResults, _to_consumable_array$X(batch.results));
1096
- (_mergedErrors = mergedErrors).push.apply(_mergedErrors, _to_consumable_array$X(batch.errors));
1095
+ (_mergedResults = mergedResults).push.apply(_mergedResults, _to_consumable_array$Y(batch.results));
1096
+ (_mergedErrors = mergedErrors).push.apply(_mergedErrors, _to_consumable_array$Y(batch.errors));
1097
1097
  _state.label = 4;
1098
1098
  case 4:
1099
1099
  _iteratorNormalCompletion = true;
@@ -1146,9 +1146,9 @@ function requestJson(input) {
1146
1146
  switch(_state.label){
1147
1147
  case 0:
1148
1148
  hasJsonBody = input.jsonBody !== undefined;
1149
- init = _object_spread$J({
1149
+ init = _object_spread$K({
1150
1150
  method: input.method,
1151
- headers: _object_spread$J({
1151
+ headers: _object_spread$K({
1152
1152
  Accept: 'application/json',
1153
1153
  Authorization: "Bearer ".concat(input.accessToken)
1154
1154
  }, hasJsonBody ? {
@@ -1723,7 +1723,7 @@ function _ts_generator$1c(thisArg, body) {
1723
1723
  };
1724
1724
  }
1725
1725
 
1726
- function _array_like_to_array$$(arr, len) {
1726
+ function _array_like_to_array$10(arr, len) {
1727
1727
  if (len == null || len > arr.length) len = arr.length;
1728
1728
  for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
1729
1729
  return arr2;
@@ -1731,10 +1731,10 @@ function _array_like_to_array$$(arr, len) {
1731
1731
  function _array_with_holes$g(arr) {
1732
1732
  if (Array.isArray(arr)) return arr;
1733
1733
  }
1734
- function _array_without_holes$W(arr) {
1735
- if (Array.isArray(arr)) return _array_like_to_array$$(arr);
1734
+ function _array_without_holes$X(arr) {
1735
+ if (Array.isArray(arr)) return _array_like_to_array$10(arr);
1736
1736
  }
1737
- function _iterable_to_array$W(iter) {
1737
+ function _iterable_to_array$X(iter) {
1738
1738
  if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
1739
1739
  }
1740
1740
  function _iterable_to_array_limit$g(arr, i) {
@@ -1764,22 +1764,22 @@ function _iterable_to_array_limit$g(arr, i) {
1764
1764
  function _non_iterable_rest$g() {
1765
1765
  throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
1766
1766
  }
1767
- function _non_iterable_spread$W() {
1767
+ function _non_iterable_spread$X() {
1768
1768
  throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
1769
1769
  }
1770
1770
  function _sliced_to_array$g(arr, i) {
1771
- return _array_with_holes$g(arr) || _iterable_to_array_limit$g(arr, i) || _unsupported_iterable_to_array$$(arr, i) || _non_iterable_rest$g();
1771
+ return _array_with_holes$g(arr) || _iterable_to_array_limit$g(arr, i) || _unsupported_iterable_to_array$10(arr, i) || _non_iterable_rest$g();
1772
1772
  }
1773
- function _to_consumable_array$W(arr) {
1774
- return _array_without_holes$W(arr) || _iterable_to_array$W(arr) || _unsupported_iterable_to_array$$(arr) || _non_iterable_spread$W();
1773
+ function _to_consumable_array$X(arr) {
1774
+ return _array_without_holes$X(arr) || _iterable_to_array$X(arr) || _unsupported_iterable_to_array$10(arr) || _non_iterable_spread$X();
1775
1775
  }
1776
- function _unsupported_iterable_to_array$$(o, minLen) {
1776
+ function _unsupported_iterable_to_array$10(o, minLen) {
1777
1777
  if (!o) return;
1778
- if (typeof o === "string") return _array_like_to_array$$(o, minLen);
1778
+ if (typeof o === "string") return _array_like_to_array$10(o, minLen);
1779
1779
  var n = Object.prototype.toString.call(o).slice(8, -1);
1780
1780
  if (n === "Object" && o.constructor) n = o.constructor.name;
1781
1781
  if (n === "Map" || n === "Set") return Array.from(n);
1782
- if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$$(o, minLen);
1782
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$10(o, minLen);
1783
1783
  }
1784
1784
  /**
1785
1785
  * Default name of the parent command that groups all registered action specs.
@@ -1834,7 +1834,7 @@ function _unsupported_iterable_to_array$$(o, minLen) {
1834
1834
  }
1835
1835
  }
1836
1836
  }
1837
- var sortedModels = _to_consumable_array$W(byModel.entries()).sort(function(param, param1) {
1837
+ var sortedModels = _to_consumable_array$X(byModel.entries()).sort(function(param, param1) {
1838
1838
  var _param = _sliced_to_array$g(param, 1), a = _param[0], _param1 = _sliced_to_array$g(param1, 1), b = _param1[0];
1839
1839
  return a.localeCompare(b);
1840
1840
  });
@@ -1924,7 +1924,7 @@ function _unsupported_iterable_to_array$$(o, minLen) {
1924
1924
  return result;
1925
1925
  }
1926
1926
 
1927
- function _array_like_to_array$_(arr, len) {
1927
+ function _array_like_to_array$$(arr, len) {
1928
1928
  if (len == null || len > arr.length) len = arr.length;
1929
1929
  for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
1930
1930
  return arr2;
@@ -1932,8 +1932,8 @@ function _array_like_to_array$_(arr, len) {
1932
1932
  function _array_with_holes$f(arr) {
1933
1933
  if (Array.isArray(arr)) return arr;
1934
1934
  }
1935
- function _array_without_holes$V(arr) {
1936
- if (Array.isArray(arr)) return _array_like_to_array$_(arr);
1935
+ function _array_without_holes$W(arr) {
1936
+ if (Array.isArray(arr)) return _array_like_to_array$$(arr);
1937
1937
  }
1938
1938
  function asyncGeneratorStep$1b(gen, resolve, reject, _next, _throw, key, arg) {
1939
1939
  try {
@@ -1964,7 +1964,7 @@ function _async_to_generator$1b(fn) {
1964
1964
  });
1965
1965
  };
1966
1966
  }
1967
- function _define_property$I(obj, key, value) {
1967
+ function _define_property$J(obj, key, value) {
1968
1968
  if (key in obj) {
1969
1969
  Object.defineProperty(obj, key, {
1970
1970
  value: value,
@@ -1977,7 +1977,7 @@ function _define_property$I(obj, key, value) {
1977
1977
  }
1978
1978
  return obj;
1979
1979
  }
1980
- function _iterable_to_array$V(iter) {
1980
+ function _iterable_to_array$W(iter) {
1981
1981
  if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
1982
1982
  }
1983
1983
  function _iterable_to_array_limit$f(arr, i) {
@@ -2007,10 +2007,10 @@ function _iterable_to_array_limit$f(arr, i) {
2007
2007
  function _non_iterable_rest$f() {
2008
2008
  throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
2009
2009
  }
2010
- function _non_iterable_spread$V() {
2010
+ function _non_iterable_spread$W() {
2011
2011
  throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
2012
2012
  }
2013
- function _object_spread$I(target) {
2013
+ function _object_spread$J(target) {
2014
2014
  for(var i = 1; i < arguments.length; i++){
2015
2015
  var source = arguments[i] != null ? arguments[i] : {};
2016
2016
  var ownKeys = Object.keys(source);
@@ -2020,12 +2020,12 @@ function _object_spread$I(target) {
2020
2020
  }));
2021
2021
  }
2022
2022
  ownKeys.forEach(function(key) {
2023
- _define_property$I(target, key, source[key]);
2023
+ _define_property$J(target, key, source[key]);
2024
2024
  });
2025
2025
  }
2026
2026
  return target;
2027
2027
  }
2028
- function ownKeys$q(object, enumerableOnly) {
2028
+ function ownKeys$r(object, enumerableOnly) {
2029
2029
  var keys = Object.keys(object);
2030
2030
  if (Object.getOwnPropertySymbols) {
2031
2031
  var symbols = Object.getOwnPropertySymbols(object);
@@ -2033,30 +2033,30 @@ function ownKeys$q(object, enumerableOnly) {
2033
2033
  }
2034
2034
  return keys;
2035
2035
  }
2036
- function _object_spread_props$q(target, source) {
2036
+ function _object_spread_props$r(target, source) {
2037
2037
  source = source != null ? source : {};
2038
2038
  if (Object.getOwnPropertyDescriptors) {
2039
2039
  Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
2040
2040
  } else {
2041
- ownKeys$q(Object(source)).forEach(function(key) {
2041
+ ownKeys$r(Object(source)).forEach(function(key) {
2042
2042
  Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
2043
2043
  });
2044
2044
  }
2045
2045
  return target;
2046
2046
  }
2047
2047
  function _sliced_to_array$f(arr, i) {
2048
- return _array_with_holes$f(arr) || _iterable_to_array_limit$f(arr, i) || _unsupported_iterable_to_array$_(arr, i) || _non_iterable_rest$f();
2048
+ return _array_with_holes$f(arr) || _iterable_to_array_limit$f(arr, i) || _unsupported_iterable_to_array$$(arr, i) || _non_iterable_rest$f();
2049
2049
  }
2050
- function _to_consumable_array$V(arr) {
2051
- return _array_without_holes$V(arr) || _iterable_to_array$V(arr) || _unsupported_iterable_to_array$_(arr) || _non_iterable_spread$V();
2050
+ function _to_consumable_array$W(arr) {
2051
+ return _array_without_holes$W(arr) || _iterable_to_array$W(arr) || _unsupported_iterable_to_array$$(arr) || _non_iterable_spread$W();
2052
2052
  }
2053
- function _unsupported_iterable_to_array$_(o, minLen) {
2053
+ function _unsupported_iterable_to_array$$(o, minLen) {
2054
2054
  if (!o) return;
2055
- if (typeof o === "string") return _array_like_to_array$_(o, minLen);
2055
+ if (typeof o === "string") return _array_like_to_array$$(o, minLen);
2056
2056
  var n = Object.prototype.toString.call(o).slice(8, -1);
2057
2057
  if (n === "Object" && o.constructor) n = o.constructor.name;
2058
2058
  if (n === "Map" || n === "Set") return Array.from(n);
2059
- if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$_(o, minLen);
2059
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$$(o, minLen);
2060
2060
  }
2061
2061
  function _ts_generator$1b(thisArg, body) {
2062
2062
  var f, y, t, _ = {
@@ -2172,7 +2172,7 @@ var _defaultResponseAdapter = {
2172
2172
  }
2173
2173
  };
2174
2174
  function _defaultBuildRequestData(params, state, limit) {
2175
- var base = _object_spread$I({}, params);
2175
+ var base = _object_spread$J({}, params);
2176
2176
  if (state.cursorDocumentKey != null) {
2177
2177
  base.cursorDocumentKey = state.cursorDocumentKey;
2178
2178
  }
@@ -2196,7 +2196,7 @@ function _runItemTasks(input) {
2196
2196
  itemIndex: itemIndex
2197
2197
  };
2198
2198
  });
2199
- taskConfig = _object_spread_props$q(_object_spread$I({
2199
+ taskConfig = _object_spread_props$r(_object_spread$J({
2200
2200
  sequential: true,
2201
2201
  throwError: true
2202
2202
  }, itemPerformTasksConfig), {
@@ -2427,10 +2427,10 @@ function _evaluateLoopExit(input) {
2427
2427
  case 3:
2428
2428
  pageOutcome = _state.sent();
2429
2429
  if (collectItemsForPage) {
2430
- (_allItems = allItems).push.apply(_allItems, _to_consumable_array$V(pageOutcome.items));
2430
+ (_allItems = allItems).push.apply(_allItems, _to_consumable_array$W(pageOutcome.items));
2431
2431
  }
2432
2432
  if (collectItemResultsForPage && pageOutcome.itemResults) {
2433
- (_allItemResults = allItemResults).push.apply(_allItemResults, _to_consumable_array$V(pageOutcome.itemResults));
2433
+ (_allItemResults = allItemResults).push.apply(_allItemResults, _to_consumable_array$W(pageOutcome.itemResults));
2434
2434
  }
2435
2435
  if (collectPageResultsForPage && pageOutcome.pageResult !== undefined) {
2436
2436
  allPageResults.push(pageOutcome.pageResult);
@@ -2453,7 +2453,7 @@ function _evaluateLoopExit(input) {
2453
2453
  1
2454
2454
  ];
2455
2455
  case 4:
2456
- result = _object_spread$I({
2456
+ result = _object_spread$J({
2457
2457
  totalPages: pageIndex,
2458
2458
  totalItems: totalItems,
2459
2459
  hitLimit: hitLimit,
@@ -2503,7 +2503,7 @@ function _async_to_generator$1a(fn) {
2503
2503
  });
2504
2504
  };
2505
2505
  }
2506
- function _define_property$H(obj, key, value) {
2506
+ function _define_property$I(obj, key, value) {
2507
2507
  if (key in obj) {
2508
2508
  Object.defineProperty(obj, key, {
2509
2509
  value: value,
@@ -2516,7 +2516,7 @@ function _define_property$H(obj, key, value) {
2516
2516
  }
2517
2517
  return obj;
2518
2518
  }
2519
- function _object_spread$H(target) {
2519
+ function _object_spread$I(target) {
2520
2520
  for(var i = 1; i < arguments.length; i++){
2521
2521
  var source = arguments[i] != null ? arguments[i] : {};
2522
2522
  var ownKeys = Object.keys(source);
@@ -2526,12 +2526,12 @@ function _object_spread$H(target) {
2526
2526
  }));
2527
2527
  }
2528
2528
  ownKeys.forEach(function(key) {
2529
- _define_property$H(target, key, source[key]);
2529
+ _define_property$I(target, key, source[key]);
2530
2530
  });
2531
2531
  }
2532
2532
  return target;
2533
2533
  }
2534
- function ownKeys$p(object, enumerableOnly) {
2534
+ function ownKeys$q(object, enumerableOnly) {
2535
2535
  var keys = Object.keys(object);
2536
2536
  if (Object.getOwnPropertySymbols) {
2537
2537
  var symbols = Object.getOwnPropertySymbols(object);
@@ -2539,12 +2539,12 @@ function ownKeys$p(object, enumerableOnly) {
2539
2539
  }
2540
2540
  return keys;
2541
2541
  }
2542
- function _object_spread_props$p(target, source) {
2542
+ function _object_spread_props$q(target, source) {
2543
2543
  source = source != null ? source : {};
2544
2544
  if (Object.getOwnPropertyDescriptors) {
2545
2545
  Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
2546
2546
  } else {
2547
- ownKeys$p(Object(source)).forEach(function(key) {
2547
+ ownKeys$q(Object(source)).forEach(function(key) {
2548
2548
  Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
2549
2549
  });
2550
2550
  }
@@ -2673,7 +2673,7 @@ function _ts_generator$1a(thisArg, body) {
2673
2673
  case 0:
2674
2674
  context = requireCliContext();
2675
2675
  data = spec.buildParams(argv);
2676
- params = _object_spread_props$p(_object_spread$H({
2676
+ params = _object_spread_props$q(_object_spread$I({
2677
2677
  modelType: spec.model,
2678
2678
  call: spec.verb
2679
2679
  }, spec.specifier == null ? {} : {
@@ -3150,7 +3150,7 @@ function _async_to_generator$18(fn) {
3150
3150
  });
3151
3151
  };
3152
3152
  }
3153
- function _define_property$G(obj, key, value) {
3153
+ function _define_property$H(obj, key, value) {
3154
3154
  if (key in obj) {
3155
3155
  Object.defineProperty(obj, key, {
3156
3156
  value: value,
@@ -3171,7 +3171,7 @@ function _instanceof$n(left, right) {
3171
3171
  return left instanceof right;
3172
3172
  }
3173
3173
  }
3174
- function _object_spread$G(target) {
3174
+ function _object_spread$H(target) {
3175
3175
  for(var i = 1; i < arguments.length; i++){
3176
3176
  var source = arguments[i] != null ? arguments[i] : {};
3177
3177
  var ownKeys = Object.keys(source);
@@ -3181,12 +3181,12 @@ function _object_spread$G(target) {
3181
3181
  }));
3182
3182
  }
3183
3183
  ownKeys.forEach(function(key) {
3184
- _define_property$G(target, key, source[key]);
3184
+ _define_property$H(target, key, source[key]);
3185
3185
  });
3186
3186
  }
3187
3187
  return target;
3188
3188
  }
3189
- function ownKeys$o(object, enumerableOnly) {
3189
+ function ownKeys$p(object, enumerableOnly) {
3190
3190
  var keys = Object.keys(object);
3191
3191
  if (Object.getOwnPropertySymbols) {
3192
3192
  var symbols = Object.getOwnPropertySymbols(object);
@@ -3194,12 +3194,12 @@ function ownKeys$o(object, enumerableOnly) {
3194
3194
  }
3195
3195
  return keys;
3196
3196
  }
3197
- function _object_spread_props$o(target, source) {
3197
+ function _object_spread_props$p(target, source) {
3198
3198
  source = source != null ? source : {};
3199
3199
  if (Object.getOwnPropertyDescriptors) {
3200
3200
  Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
3201
3201
  } else {
3202
- ownKeys$o(Object(source)).forEach(function(key) {
3202
+ ownKeys$p(Object(source)).forEach(function(key) {
3203
3203
  Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
3204
3204
  });
3205
3205
  }
@@ -3358,7 +3358,7 @@ function _ts_generator$18(thisArg, body) {
3358
3358
  });
3359
3359
  }
3360
3360
  }
3361
- params = _object_spread_props$o(_object_spread$G({
3361
+ params = _object_spread_props$p(_object_spread$H({
3362
3362
  modelType: argv.model,
3363
3363
  call: argv.verb
3364
3364
  }, argv.specifier == null ? {} : {
@@ -3382,7 +3382,7 @@ function _ts_generator$18(thisArg, body) {
3382
3382
  })
3383
3383
  };
3384
3384
 
3385
- function _array_like_to_array$Z(arr, len) {
3385
+ function _array_like_to_array$_(arr, len) {
3386
3386
  if (len == null || len > arr.length) len = arr.length;
3387
3387
  for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
3388
3388
  return arr2;
@@ -3426,19 +3426,19 @@ function _non_iterable_rest$e() {
3426
3426
  throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
3427
3427
  }
3428
3428
  function _sliced_to_array$e(arr, i) {
3429
- return _array_with_holes$e(arr) || _iterable_to_array_limit$e(arr, i) || _unsupported_iterable_to_array$Z(arr, i) || _non_iterable_rest$e();
3429
+ return _array_with_holes$e(arr) || _iterable_to_array_limit$e(arr, i) || _unsupported_iterable_to_array$_(arr, i) || _non_iterable_rest$e();
3430
3430
  }
3431
3431
  function _type_of(obj) {
3432
3432
  "@swc/helpers - typeof";
3433
3433
  return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
3434
3434
  }
3435
- function _unsupported_iterable_to_array$Z(o, minLen) {
3435
+ function _unsupported_iterable_to_array$_(o, minLen) {
3436
3436
  if (!o) return;
3437
- if (typeof o === "string") return _array_like_to_array$Z(o, minLen);
3437
+ if (typeof o === "string") return _array_like_to_array$_(o, minLen);
3438
3438
  var n = Object.prototype.toString.call(o).slice(8, -1);
3439
3439
  if (n === "Object" && o.constructor) n = o.constructor.name;
3440
3440
  if (n === "Map" || n === "Set") return Array.from(n);
3441
- if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$Z(o, minLen);
3441
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$_(o, minLen);
3442
3442
  }
3443
3443
  /**
3444
3444
  * Resolves the manifest entry for `modelType`. Lookup tries
@@ -3591,30 +3591,30 @@ function isPlainObject(value) {
3591
3591
  return result;
3592
3592
  }
3593
3593
 
3594
- function _array_like_to_array$Y(arr, len) {
3594
+ function _array_like_to_array$Z(arr, len) {
3595
3595
  if (len == null || len > arr.length) len = arr.length;
3596
3596
  for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
3597
3597
  return arr2;
3598
3598
  }
3599
- function _array_without_holes$U(arr) {
3600
- if (Array.isArray(arr)) return _array_like_to_array$Y(arr);
3599
+ function _array_without_holes$V(arr) {
3600
+ if (Array.isArray(arr)) return _array_like_to_array$Z(arr);
3601
3601
  }
3602
- function _iterable_to_array$U(iter) {
3602
+ function _iterable_to_array$V(iter) {
3603
3603
  if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
3604
3604
  }
3605
- function _non_iterable_spread$U() {
3605
+ function _non_iterable_spread$V() {
3606
3606
  throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
3607
3607
  }
3608
- function _to_consumable_array$U(arr) {
3609
- return _array_without_holes$U(arr) || _iterable_to_array$U(arr) || _unsupported_iterable_to_array$Y(arr) || _non_iterable_spread$U();
3608
+ function _to_consumable_array$V(arr) {
3609
+ return _array_without_holes$V(arr) || _iterable_to_array$V(arr) || _unsupported_iterable_to_array$Z(arr) || _non_iterable_spread$V();
3610
3610
  }
3611
- function _unsupported_iterable_to_array$Y(o, minLen) {
3611
+ function _unsupported_iterable_to_array$Z(o, minLen) {
3612
3612
  if (!o) return;
3613
- if (typeof o === "string") return _array_like_to_array$Y(o, minLen);
3613
+ if (typeof o === "string") return _array_like_to_array$Z(o, minLen);
3614
3614
  var n = Object.prototype.toString.call(o).slice(8, -1);
3615
3615
  if (n === "Object" && o.constructor) n = o.constructor.name;
3616
3616
  if (n === "Map" || n === "Set") return Array.from(n);
3617
- if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$Y(o, minLen);
3617
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$Z(o, minLen);
3618
3618
  }
3619
3619
  /**
3620
3620
  * Default command name for the model-decode command. Top-level so it stays
@@ -3741,13 +3741,13 @@ function toSegment(prefix, id, entry) {
3741
3741
  *
3742
3742
  * @__NO_SIDE_EFFECTS__
3743
3743
  */ function renderDecodedKey(decoded) {
3744
- var lines = _to_consumable_array$U(renderLeafLines(decoded.leaf));
3744
+ var lines = _to_consumable_array$V(renderLeafLines(decoded.leaf));
3745
3745
  if (decoded.ancestors.length > 0) {
3746
3746
  var _lines;
3747
3747
  (_lines = lines).push.apply(_lines, [
3748
3748
  '',
3749
3749
  'Parent chain:'
3750
- ].concat(_to_consumable_array$U(decoded.ancestors.map(renderAncestorLine))));
3750
+ ].concat(_to_consumable_array$V(decoded.ancestors.map(renderAncestorLine))));
3751
3751
  }
3752
3752
  if (decoded.unresolvedPrefixes.length > 0) {
3753
3753
  var suffix = decoded.unresolvedPrefixes.length === 1 ? '' : 'es';
@@ -3783,7 +3783,7 @@ function renderAncestorLine(ancestor) {
3783
3783
  return ancestor.modelName ? "- ".concat(ancestor.modelName, " — prefix ").concat(ancestor.prefix, ", id ").concat(ancestor.id) : "- <unknown> — prefix ".concat(ancestor.prefix, ", id ").concat(ancestor.id);
3784
3784
  }
3785
3785
 
3786
- function _array_like_to_array$X(arr, len) {
3786
+ function _array_like_to_array$Y(arr, len) {
3787
3787
  if (len == null || len > arr.length) len = arr.length;
3788
3788
  for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
3789
3789
  return arr2;
@@ -3791,10 +3791,10 @@ function _array_like_to_array$X(arr, len) {
3791
3791
  function _array_with_holes$d(arr) {
3792
3792
  if (Array.isArray(arr)) return arr;
3793
3793
  }
3794
- function _array_without_holes$T(arr) {
3795
- if (Array.isArray(arr)) return _array_like_to_array$X(arr);
3794
+ function _array_without_holes$U(arr) {
3795
+ if (Array.isArray(arr)) return _array_like_to_array$Y(arr);
3796
3796
  }
3797
- function _iterable_to_array$T(iter) {
3797
+ function _iterable_to_array$U(iter) {
3798
3798
  if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
3799
3799
  }
3800
3800
  function _iterable_to_array_limit$d(arr, i) {
@@ -3824,22 +3824,22 @@ function _iterable_to_array_limit$d(arr, i) {
3824
3824
  function _non_iterable_rest$d() {
3825
3825
  throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
3826
3826
  }
3827
- function _non_iterable_spread$T() {
3827
+ function _non_iterable_spread$U() {
3828
3828
  throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
3829
3829
  }
3830
3830
  function _sliced_to_array$d(arr, i) {
3831
- return _array_with_holes$d(arr) || _iterable_to_array_limit$d(arr, i) || _unsupported_iterable_to_array$X(arr, i) || _non_iterable_rest$d();
3831
+ return _array_with_holes$d(arr) || _iterable_to_array_limit$d(arr, i) || _unsupported_iterable_to_array$Y(arr, i) || _non_iterable_rest$d();
3832
3832
  }
3833
- function _to_consumable_array$T(arr) {
3834
- return _array_without_holes$T(arr) || _iterable_to_array$T(arr) || _unsupported_iterable_to_array$X(arr) || _non_iterable_spread$T();
3833
+ function _to_consumable_array$U(arr) {
3834
+ return _array_without_holes$U(arr) || _iterable_to_array$U(arr) || _unsupported_iterable_to_array$Y(arr) || _non_iterable_spread$U();
3835
3835
  }
3836
- function _unsupported_iterable_to_array$X(o, minLen) {
3836
+ function _unsupported_iterable_to_array$Y(o, minLen) {
3837
3837
  if (!o) return;
3838
- if (typeof o === "string") return _array_like_to_array$X(o, minLen);
3838
+ if (typeof o === "string") return _array_like_to_array$Y(o, minLen);
3839
3839
  var n = Object.prototype.toString.call(o).slice(8, -1);
3840
3840
  if (n === "Object" && o.constructor) n = o.constructor.name;
3841
3841
  if (n === "Map" || n === "Set") return Array.from(n);
3842
- if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$X(o, minLen);
3842
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$Y(o, minLen);
3843
3843
  }
3844
3844
  /**
3845
3845
  * Parses the positionals for the top-level `get <modelOrKey> [key]` command into a
@@ -3945,7 +3945,7 @@ function _unsupported_iterable_to_array$X(o, minLen) {
3945
3945
  if (firstArg.includes('/')) {
3946
3946
  var keys = [
3947
3947
  firstArg
3948
- ].concat(_to_consumable_array$T(rest));
3948
+ ].concat(_to_consumable_array$U(rest));
3949
3949
  result = inferModelTypeFromKeys(keys, input.manifest);
3950
3950
  } else {
3951
3951
  if (rest.length === 0) {
@@ -4003,7 +4003,7 @@ function inferModelTypeFromKeys(keys, manifest) {
4003
4003
  }
4004
4004
  if (decodedTypes.size > 1) {
4005
4005
  throw new CliError({
4006
- message: "get-many: all keys must belong to the same modelType. Got: ".concat(_to_consumable_array$T(decodedTypes).join(', '), ". Split into separate calls."),
4006
+ message: "get-many: all keys must belong to the same modelType. Got: ".concat(_to_consumable_array$U(decodedTypes).join(', '), ". Split into separate calls."),
4007
4007
  code: 'INVALID_ARGUMENT'
4008
4008
  });
4009
4009
  }
@@ -4426,7 +4426,7 @@ function _async_to_generator$15(fn) {
4426
4426
  });
4427
4427
  };
4428
4428
  }
4429
- function _define_property$F(obj, key, value) {
4429
+ function _define_property$G(obj, key, value) {
4430
4430
  if (key in obj) {
4431
4431
  Object.defineProperty(obj, key, {
4432
4432
  value: value,
@@ -4439,7 +4439,7 @@ function _define_property$F(obj, key, value) {
4439
4439
  }
4440
4440
  return obj;
4441
4441
  }
4442
- function _object_spread$F(target) {
4442
+ function _object_spread$G(target) {
4443
4443
  for(var i = 1; i < arguments.length; i++){
4444
4444
  var source = arguments[i] != null ? arguments[i] : {};
4445
4445
  var ownKeys = Object.keys(source);
@@ -4449,7 +4449,7 @@ function _object_spread$F(target) {
4449
4449
  }));
4450
4450
  }
4451
4451
  ownKeys.forEach(function(key) {
4452
- _define_property$F(target, key, source[key]);
4452
+ _define_property$G(target, key, source[key]);
4453
4453
  });
4454
4454
  }
4455
4455
  return target;
@@ -4625,7 +4625,7 @@ function _ts_generator$15(thisArg, body) {
4625
4625
  existing = (_ref = _state.sent()) !== null && _ref !== void 0 ? _ref : {};
4626
4626
  merged = {
4627
4627
  activeEnv: (_input_updates_activeEnv = input.updates.activeEnv) !== null && _input_updates_activeEnv !== void 0 ? _input_updates_activeEnv : existing.activeEnv,
4628
- envs: input.updates.envs ? _object_spread$F({}, existing.envs, input.updates.envs) : existing.envs,
4628
+ envs: input.updates.envs ? _object_spread$G({}, existing.envs, input.updates.envs) : existing.envs,
4629
4629
  output: input.updates.output === undefined ? existing.output : mergeOutputConfig(existing.output, input.updates.output)
4630
4630
  };
4631
4631
  return [
@@ -4667,12 +4667,12 @@ function mergeOutputCommandsConfig(existing, updates) {
4667
4667
  var result;
4668
4668
  if ('commands' in updates) {
4669
4669
  if (updates.commands) {
4670
- var merged = _object_spread$F({}, existing);
4670
+ var merged = _object_spread$G({}, existing);
4671
4671
  var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;
4672
4672
  try {
4673
4673
  for(var _iterator = Object.keys(updates.commands)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){
4674
4674
  var key = _step.value;
4675
- merged[key] = _object_spread$F({}, existing === null || existing === void 0 ? void 0 : existing[key], updates.commands[key]);
4675
+ merged[key] = _object_spread$G({}, existing === null || existing === void 0 ? void 0 : existing[key], updates.commands[key]);
4676
4676
  }
4677
4677
  } catch (err) {
4678
4678
  _didIteratorError = true;
@@ -4737,6 +4737,78 @@ function mergeOutputCommandsConfig(existing, updates) {
4737
4737
  return result;
4738
4738
  }
4739
4739
 
4740
+ function _array_like_to_array$X(arr, len) {
4741
+ if (len == null || len > arr.length) len = arr.length;
4742
+ for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
4743
+ return arr2;
4744
+ }
4745
+ function _array_without_holes$T(arr) {
4746
+ if (Array.isArray(arr)) return _array_like_to_array$X(arr);
4747
+ }
4748
+ function _define_property$F(obj, key, value) {
4749
+ if (key in obj) {
4750
+ Object.defineProperty(obj, key, {
4751
+ value: value,
4752
+ enumerable: true,
4753
+ configurable: true,
4754
+ writable: true
4755
+ });
4756
+ } else {
4757
+ obj[key] = value;
4758
+ }
4759
+ return obj;
4760
+ }
4761
+ function _iterable_to_array$T(iter) {
4762
+ if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
4763
+ }
4764
+ function _non_iterable_spread$T() {
4765
+ throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
4766
+ }
4767
+ function _object_spread$F(target) {
4768
+ for(var i = 1; i < arguments.length; i++){
4769
+ var source = arguments[i] != null ? arguments[i] : {};
4770
+ var ownKeys = Object.keys(source);
4771
+ if (typeof Object.getOwnPropertySymbols === "function") {
4772
+ ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {
4773
+ return Object.getOwnPropertyDescriptor(source, sym).enumerable;
4774
+ }));
4775
+ }
4776
+ ownKeys.forEach(function(key) {
4777
+ _define_property$F(target, key, source[key]);
4778
+ });
4779
+ }
4780
+ return target;
4781
+ }
4782
+ function ownKeys$o(object, enumerableOnly) {
4783
+ var keys = Object.keys(object);
4784
+ if (Object.getOwnPropertySymbols) {
4785
+ var symbols = Object.getOwnPropertySymbols(object);
4786
+ keys.push.apply(keys, symbols);
4787
+ }
4788
+ return keys;
4789
+ }
4790
+ function _object_spread_props$o(target, source) {
4791
+ source = source != null ? source : {};
4792
+ if (Object.getOwnPropertyDescriptors) {
4793
+ Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
4794
+ } else {
4795
+ ownKeys$o(Object(source)).forEach(function(key) {
4796
+ Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
4797
+ });
4798
+ }
4799
+ return target;
4800
+ }
4801
+ function _to_consumable_array$T(arr) {
4802
+ return _array_without_holes$T(arr) || _iterable_to_array$T(arr) || _unsupported_iterable_to_array$X(arr) || _non_iterable_spread$T();
4803
+ }
4804
+ function _unsupported_iterable_to_array$X(o, minLen) {
4805
+ if (!o) return;
4806
+ if (typeof o === "string") return _array_like_to_array$X(o, minLen);
4807
+ var n = Object.prototype.toString.call(o).slice(8, -1);
4808
+ if (n === "Object" && o.constructor) n = o.constructor.name;
4809
+ if (n === "Map" || n === "Set") return Array.from(n);
4810
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$X(o, minLen);
4811
+ }
4740
4812
  /**
4741
4813
  * The default OAuth/OIDC scopes requested by the CLI when none are configured.
4742
4814
  */ var DEFAULT_CLI_OIDC_SCOPES = 'openid profile email';
@@ -4756,6 +4828,17 @@ function mergeOutputCommandsConfig(existing, updates) {
4756
4828
  *
4757
4829
  * Opens up to nothing in the browser so the user can copy/paste the resulting token url back into the CLI.
4758
4830
  */ var DEFAULT_CLI_REDIRECT_URI = 'http://127.0.0.1:0/callback';
4831
+ /**
4832
+ * The generic OIDC scopes a `--service-token` login adds to the requested set.
4833
+ *
4834
+ * `token.service` triggers the admin-only, long-lived, non-rotating behavior server-side;
4835
+ * `offline_access` is required so a refresh token is issued (the durable credential the server env
4836
+ * consumes). The app's own resource scope (e.g. `demo`) is intentionally NOT included here — it
4837
+ * already lives in the configured `env.scopes`, keeping this generic CLI app-agnostic.
4838
+ */ var SERVICE_TOKEN_REQUIRED_OIDC_SCOPES = [
4839
+ 'token.service',
4840
+ 'offline_access'
4841
+ ];
4759
4842
  /**
4760
4843
  * Returns the input scope string with the `model.create`, `model.update`, and `model.delete`
4761
4844
  * scopes removed, preserving every other scope (including `model.read` and `model.query`).
@@ -4771,6 +4854,41 @@ function mergeOutputCommandsConfig(existing, updates) {
4771
4854
  return s.length > 0 && !writeScopes.has(s);
4772
4855
  }).join(' ');
4773
4856
  }
4857
+ /**
4858
+ * Returns the input scope string with the {@link SERVICE_TOKEN_REQUIRED_OIDC_SCOPES} unioned in
4859
+ * (de-duplicated), preserving every other already-requested scope.
4860
+ *
4861
+ * Drives the `auth login --service-token` flag. Combinable with `filterReadOnlyModelScopes` — apply
4862
+ * the read-only filter first, then this, so a service token can still be read-only.
4863
+ *
4864
+ * @param scopes - Space-separated scope list, or `undefined` to augment the default scopes.
4865
+ * @returns The augmented space-separated scope list.
4866
+ */ function withServiceTokenScopes(scopes) {
4867
+ var result = new Set((scopes !== null && scopes !== void 0 ? scopes : DEFAULT_CLI_OIDC_SCOPES).split(/\s+/).filter(function(s) {
4868
+ return s.length > 0;
4869
+ }));
4870
+ var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;
4871
+ try {
4872
+ for(var _iterator = SERVICE_TOKEN_REQUIRED_OIDC_SCOPES[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){
4873
+ var scope = _step.value;
4874
+ result.add(scope);
4875
+ }
4876
+ } catch (err) {
4877
+ _didIteratorError = true;
4878
+ _iteratorError = err;
4879
+ } finally{
4880
+ try {
4881
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
4882
+ _iterator.return();
4883
+ }
4884
+ } finally{
4885
+ if (_didIteratorError) {
4886
+ throw _iteratorError;
4887
+ }
4888
+ }
4889
+ }
4890
+ return _to_consumable_array$T(result).join(' ');
4891
+ }
4774
4892
  /**
4775
4893
  * Returns the {@link CliEnvDefault} whose `names` includes the given env name, or `undefined`.
4776
4894
  *
@@ -4867,6 +4985,42 @@ function nonEmpty(value) {
4867
4985
  */ function isCliEnvConfigComplete(env) {
4868
4986
  return Boolean((env === null || env === void 0 ? void 0 : env.apiBaseUrl) && (env === null || env === void 0 ? void 0 : env.oidcIssuer) && (env === null || env === void 0 ? void 0 : env.clientId) && (env === null || env === void 0 ? void 0 : env.clientSecret) && (env === null || env === void 0 ? void 0 : env.redirectUri));
4869
4987
  }
4988
+ /**
4989
+ * Reads an OAuth token entry from environment variables, for non-interactive server consumption.
4990
+ *
4991
+ * Reads `<PREFIX>_REFRESH_TOKEN` (required) plus the optional `<PREFIX>_ACCESS_TOKEN` and
4992
+ * `<PREFIX>_TOKEN_SCOPE`, where `PREFIX = cliName.replaceAll('-', '_').toUpperCase()` (the existing
4993
+ * env-var prefix convention). The intended credential is a long-lived, non-rotating service token
4994
+ * (see `auth login --service-token`).
4995
+ *
4996
+ * Returns `undefined` when no refresh token is present. When only a refresh token is supplied, the
4997
+ * returned entry has `accessToken: ''` and `expiresAt: 0` so the first use is forced to mint an
4998
+ * access token via a refresh. The entry is flagged `fromEnv: true` so the middleware does not write
4999
+ * it back to the on-disk cache.
5000
+ *
5001
+ * @param input - The lookup inputs.
5002
+ * @param input.cliName - The CLI name used to derive the env-var prefix (e.g. `demo-cli` → `DEMO_CLI`).
5003
+ * @returns The env-sourced {@link CliTokenEntry}, or `undefined` when no refresh token is set.
5004
+ */ function readEnvTokenEntry(input) {
5005
+ var prefix = input.cliName.replaceAll('-', '_').toUpperCase();
5006
+ var refreshToken = nonEmpty(process.env["".concat(prefix, "_REFRESH_TOKEN")]);
5007
+ var result;
5008
+ if (refreshToken) {
5009
+ var accessToken = nonEmpty(process.env["".concat(prefix, "_ACCESS_TOKEN")]);
5010
+ var scope = nonEmpty(process.env["".concat(prefix, "_TOKEN_SCOPE")]);
5011
+ result = _object_spread_props$o(_object_spread$F({
5012
+ accessToken: accessToken !== null && accessToken !== void 0 ? accessToken : '',
5013
+ refreshToken: refreshToken,
5014
+ // No reliable expiry is supplied via env, so force a refresh on first use (expiresAt 0 = expired).
5015
+ expiresAt: 0
5016
+ }, scope ? {
5017
+ scope: scope
5018
+ } : {}), {
5019
+ fromEnv: true
5020
+ });
5021
+ }
5022
+ return result;
5023
+ }
4870
5024
 
4871
5025
  function asyncGeneratorStep$14(gen, resolve, reject, _next, _throw, key, arg) {
4872
5026
  try {
@@ -5638,6 +5792,52 @@ function _ts_generator$13(thisArg, body) {
5638
5792
  });
5639
5793
  })();
5640
5794
  }
5795
+ /**
5796
+ * Fetches the dbx-components `GET /oidc/session` route and returns the parsed session lifetime metadata.
5797
+ *
5798
+ * Mirrors {@link fetchUserInfo}, but reads the access token's baked-in session-lifetime claims
5799
+ * (`dbx_session_expires_at` / `dbx_rotation_disabled`) which userinfo does not echo.
5800
+ *
5801
+ * @param input - The session request.
5802
+ * @param input.sessionEndpoint - The `GET /oidc/session` endpoint URL.
5803
+ * @param input.accessToken - The Bearer access token sent in the `Authorization` header.
5804
+ * @returns The parsed {@link OidcSessionInfo}. Throws a {@link CliError} (`SESSION_INFO_FAILED`) on a non-OK response.
5805
+ */ function fetchSessionInfo(input) {
5806
+ return _async_to_generator$13(function() {
5807
+ var res;
5808
+ return _ts_generator$13(this, function(_state) {
5809
+ switch(_state.label){
5810
+ case 0:
5811
+ return [
5812
+ 4,
5813
+ tracedFetch(undefined, input.sessionEndpoint, {
5814
+ headers: {
5815
+ Authorization: "Bearer ".concat(input.accessToken),
5816
+ Accept: 'application/json'
5817
+ }
5818
+ })
5819
+ ];
5820
+ case 1:
5821
+ res = _state.sent();
5822
+ if (!res.ok) {
5823
+ throw new CliError({
5824
+ message: "Session info request failed: ".concat(res.status, " ").concat(res.statusText),
5825
+ code: 'SESSION_INFO_FAILED'
5826
+ });
5827
+ }
5828
+ return [
5829
+ 4,
5830
+ res.json()
5831
+ ];
5832
+ case 2:
5833
+ return [
5834
+ 2,
5835
+ _state.sent()
5836
+ ];
5837
+ }
5838
+ });
5839
+ })();
5840
+ }
5641
5841
  function postTokenEndpoint(input) {
5642
5842
  return _async_to_generator$13(function() {
5643
5843
  var res, body, _ref, _body_error_description, message;
@@ -6443,6 +6643,83 @@ function resolveAuthSetupPrompt(input) {
6443
6643
  });
6444
6644
  })();
6445
6645
  }
6646
+ /**
6647
+ * Builds the `GET /oidc/session` endpoint URL from the env's OIDC issuer (`<oidcIssuer>/session`).
6648
+ *
6649
+ * @param oidcIssuer - The env's OIDC issuer URL.
6650
+ * @returns The session endpoint URL.
6651
+ */ function buildSessionEndpoint(oidcIssuer) {
6652
+ return "".concat(oidcIssuer.replace(/\/+$/, ''), "/session");
6653
+ }
6654
+ /**
6655
+ * Best-effort fetch of the session lifetime metadata for an access token. Returns `undefined` when
6656
+ * the route is unavailable or errors, so callers can treat the session info as supplemental.
6657
+ *
6658
+ * @param input - The lookup inputs.
6659
+ * @param input.oidcIssuer - The env's OIDC issuer URL (used to derive the session endpoint).
6660
+ * @param input.accessToken - The Bearer access token.
6661
+ * @returns The {@link OidcSessionInfo}, or `undefined` on any failure.
6662
+ */ function loadSessionInfoSafely(input) {
6663
+ return _async_to_generator$11(function() {
6664
+ var result;
6665
+ return _ts_generator$11(this, function(_state) {
6666
+ switch(_state.label){
6667
+ case 0:
6668
+ _state.trys.push([
6669
+ 0,
6670
+ 2,
6671
+ ,
6672
+ 3
6673
+ ]);
6674
+ return [
6675
+ 4,
6676
+ fetchSessionInfo({
6677
+ sessionEndpoint: buildSessionEndpoint(input.oidcIssuer),
6678
+ accessToken: input.accessToken
6679
+ })
6680
+ ];
6681
+ case 1:
6682
+ result = _state.sent();
6683
+ return [
6684
+ 3,
6685
+ 3
6686
+ ];
6687
+ case 2:
6688
+ _state.sent();
6689
+ // Supplemental — older servers without the /oidc/session route, or transient errors, are non-fatal.
6690
+ result = undefined;
6691
+ return [
6692
+ 3,
6693
+ 3
6694
+ ];
6695
+ case 3:
6696
+ return [
6697
+ 2,
6698
+ result
6699
+ ];
6700
+ }
6701
+ });
6702
+ })();
6703
+ }
6704
+ /**
6705
+ * Renders a human-readable session-lifetime summary, e.g. `valid until 2027-06-01T00:00:00.000Z (~365 days), rotation: disabled`.
6706
+ *
6707
+ * @param input - The session lifetime fields.
6708
+ * @param input.sessionExpiresAt - Grant expiry as unix epoch seconds.
6709
+ * @param input.rotationDisabled - Whether refresh-token rotation is disabled.
6710
+ * @param input.nowMs - Current time in unix epoch milliseconds. Defaults to `Date.now()`.
6711
+ * @returns The summary line, or `undefined` when no `sessionExpiresAt` is available.
6712
+ */ function describeSessionLifetime(input) {
6713
+ var result;
6714
+ if (input.sessionExpiresAt != null) {
6715
+ var _input_nowMs;
6716
+ var expiresMs = input.sessionExpiresAt * MS_IN_SECOND;
6717
+ var days = Math.max(0, Math.round((expiresMs - ((_input_nowMs = input.nowMs) !== null && _input_nowMs !== void 0 ? _input_nowMs : Date.now())) / MS_IN_SECOND / 86400));
6718
+ var rotation = input.rotationDisabled ? 'disabled' : 'enabled';
6719
+ result = "valid until ".concat(new Date(expiresMs).toISOString(), " (~").concat(days, " days), rotation: ").concat(rotation);
6720
+ }
6721
+ return result;
6722
+ }
6446
6723
  /**
6447
6724
  * Factory for the built-in `auth` command tree.
6448
6725
  *
@@ -6642,6 +6919,11 @@ function resolveAuthSetupPrompt(input) {
6642
6919
  type: 'boolean',
6643
6920
  default: false,
6644
6921
  describe: 'Drop model.create/model.update/model.delete from the requested scopes (keeps model.read and model.query)'
6922
+ }).option('service-token', {
6923
+ type: 'boolean',
6924
+ default: false,
6925
+ alias: 'long-lived',
6926
+ describe: 'Request a long-lived, non-rotating admin service token (adds token.service + offline_access). Combine with --login-for.'
6645
6927
  }).option('login-for', {
6646
6928
  type: 'string',
6647
6929
  describe: 'Requested login duration with a unit (e.g. 30d, 12h, 3600s). Mixed units are allowed (e.g. "1h30m", "2d 12h"). Subject to server/client caps. Applied to Session, Grant, and RefreshToken.'
@@ -6649,7 +6931,7 @@ function resolveAuthSetupPrompt(input) {
6649
6931
  },
6650
6932
  handler: wrapCommandHandler(function(argv) {
6651
6933
  return _async_to_generator$11(function() {
6652
- var _argv_code, _tokenResponse_expires_in, _ref, envName, env, meta, _ref1, codeVerifier, codeChallenge, state, requestedScopes, requestedSessionTtlSeconds, ms, url, pasted, _tmp, code, tokenResponse, expiresAt, entry;
6934
+ var _argv_code, _tokenResponse_expires_in, _ref, _ref1, envName, env, meta, _ref2, codeVerifier, codeChallenge, state, requestedScopes, requestedSessionTtlSeconds, ms, url, pasted, _tmp, code, tokenResponse, expiresAt, sessionInfo, sessionExpiresAt, rotationDisabled, entry, sessionSummary;
6653
6935
  return _ts_generator$11(this, function(_state) {
6654
6936
  switch(_state.label){
6655
6937
  case 0:
@@ -6665,7 +6947,7 @@ function resolveAuthSetupPrompt(input) {
6665
6947
  })
6666
6948
  ];
6667
6949
  case 1:
6668
- _ref = _state.sent(), envName = _ref.envName, env = _ref.env;
6950
+ _ref1 = _state.sent(), envName = _ref1.envName, env = _ref1.env;
6669
6951
  return [
6670
6952
  4,
6671
6953
  discoverOidcMetadata({
@@ -6680,9 +6962,15 @@ function resolveAuthSetupPrompt(input) {
6680
6962
  generatePkceMaterial()
6681
6963
  ];
6682
6964
  case 3:
6683
- _ref1 = _state.sent(), codeVerifier = _ref1.codeVerifier, codeChallenge = _ref1.codeChallenge;
6965
+ _ref2 = _state.sent(), codeVerifier = _ref2.codeVerifier, codeChallenge = _ref2.codeChallenge;
6684
6966
  state = generateOAuthState();
6685
6967
  requestedScopes = argv.readOnlyScopes ? filterReadOnlyModelScopes(env.scopes) : env.scopes;
6968
+ if (argv.serviceToken) {
6969
+ // Adds token.service + offline_access (de-duped); applied after the read-only filter so a
6970
+ // service token can still be read-only. The provider hard-rejects a non-admin and clamps
6971
+ // the duration to the service-token tier (up to 1 year).
6972
+ requestedScopes = withServiceTokenScopes(requestedScopes);
6973
+ }
6686
6974
  if (argv.loginFor) {
6687
6975
  ms = durationDataToMilliseconds(parseDurationString(argv.loginFor));
6688
6976
  if (ms <= 0) {
@@ -6747,20 +7035,43 @@ function resolveAuthSetupPrompt(input) {
6747
7035
  case 7:
6748
7036
  tokenResponse = _state.sent();
6749
7037
  expiresAt = Date.now() + ((_tokenResponse_expires_in = tokenResponse.expires_in) !== null && _tokenResponse_expires_in !== void 0 ? _tokenResponse_expires_in : 0) * 1000;
6750
- entry = {
7038
+ return [
7039
+ 4,
7040
+ loadSessionInfoSafely({
7041
+ oidcIssuer: env.oidcIssuer,
7042
+ accessToken: tokenResponse.access_token
7043
+ })
7044
+ ];
7045
+ case 8:
7046
+ sessionInfo = _state.sent();
7047
+ sessionExpiresAt = (_ref = sessionInfo === null || sessionInfo === void 0 ? void 0 : sessionInfo.expiresAt) !== null && _ref !== void 0 ? _ref : undefined;
7048
+ rotationDisabled = sessionInfo === null || sessionInfo === void 0 ? void 0 : sessionInfo.rotationDisabled;
7049
+ entry = _object_spread$D({
6751
7050
  accessToken: tokenResponse.access_token,
6752
7051
  refreshToken: tokenResponse.refresh_token,
6753
7052
  idToken: tokenResponse.id_token,
6754
7053
  tokenType: tokenResponse.token_type,
6755
7054
  scope: tokenResponse.scope,
6756
7055
  expiresAt: expiresAt
6757
- };
7056
+ }, sessionExpiresAt != null ? {
7057
+ sessionExpiresAt: sessionExpiresAt
7058
+ } : {}, rotationDisabled != null ? {
7059
+ rotationDisabled: rotationDisabled
7060
+ } : {});
6758
7061
  return [
6759
7062
  4,
6760
7063
  tokens.set(envName, entry)
6761
7064
  ];
6762
- case 8:
7065
+ case 9:
6763
7066
  _state.sent();
7067
+ sessionSummary = describeSessionLifetime({
7068
+ sessionExpiresAt: sessionExpiresAt,
7069
+ rotationDisabled: rotationDisabled
7070
+ });
7071
+ if (sessionSummary) {
7072
+ // Emit through stderr so JSON stdout stays parseable.
7073
+ process.stderr.write("Session: ".concat(sessionSummary, "\n"));
7074
+ }
6764
7075
  outputResult({
6765
7076
  loggedIn: true,
6766
7077
  env: envName,
@@ -6768,7 +7079,9 @@ function resolveAuthSetupPrompt(input) {
6768
7079
  refreshToken: entry.refreshToken ? maskSecret(entry.refreshToken) : undefined,
6769
7080
  tokenType: entry.tokenType,
6770
7081
  scope: entry.scope,
6771
- expiresAt: expiresAt
7082
+ expiresAt: expiresAt,
7083
+ sessionExpiresAt: sessionExpiresAt,
7084
+ rotationDisabled: rotationDisabled
6772
7085
  });
6773
7086
  return [
6774
7087
  2
@@ -6890,7 +7203,7 @@ function resolveAuthSetupPrompt(input) {
6890
7203
  },
6891
7204
  handler: wrapCommandHandler(function(argv) {
6892
7205
  return _async_to_generator$11(function() {
6893
- var _ref, envName, env, entry, expired, meta, userinfoEndpoint, claims;
7206
+ var _ref, envName, env, entry, _ref1, _ref2, expired, sessionInfo, sessionExpiresAt, rotationDisabled, session, meta, userinfoEndpoint, claims;
6894
7207
  return _ts_generator$11(this, function(_state) {
6895
7208
  switch(_state.label){
6896
7209
  case 0:
@@ -6914,9 +7227,24 @@ function resolveAuthSetupPrompt(input) {
6914
7227
  entry = _state.sent();
6915
7228
  if (!entry) return [
6916
7229
  3,
6917
- 7
7230
+ 8
6918
7231
  ];
6919
7232
  expired = isTokenExpired(entry);
7233
+ return [
7234
+ 4,
7235
+ loadSessionInfoSafely({
7236
+ oidcIssuer: env.oidcIssuer,
7237
+ accessToken: entry.accessToken
7238
+ })
7239
+ ];
7240
+ case 3:
7241
+ sessionInfo = _state.sent();
7242
+ sessionExpiresAt = (_ref1 = sessionInfo === null || sessionInfo === void 0 ? void 0 : sessionInfo.expiresAt) !== null && _ref1 !== void 0 ? _ref1 : entry.sessionExpiresAt;
7243
+ rotationDisabled = (_ref2 = sessionInfo === null || sessionInfo === void 0 ? void 0 : sessionInfo.rotationDisabled) !== null && _ref2 !== void 0 ? _ref2 : entry.rotationDisabled;
7244
+ session = describeSessionLifetime({
7245
+ sessionExpiresAt: sessionExpiresAt !== null && sessionExpiresAt !== void 0 ? sessionExpiresAt : undefined,
7246
+ rotationDisabled: rotationDisabled
7247
+ });
6920
7248
  return [
6921
7249
  4,
6922
7250
  discoverOidcMetadata({
@@ -6924,12 +7252,12 @@ function resolveAuthSetupPrompt(input) {
6924
7252
  fallbackBaseUrl: env.apiBaseUrl
6925
7253
  })
6926
7254
  ];
6927
- case 3:
7255
+ case 4:
6928
7256
  meta = _state.sent();
6929
7257
  userinfoEndpoint = meta.userinfo_endpoint;
6930
7258
  if (!userinfoEndpoint) return [
6931
7259
  3,
6932
- 5
7260
+ 6
6933
7261
  ];
6934
7262
  return [
6935
7263
  4,
@@ -6938,7 +7266,7 @@ function resolveAuthSetupPrompt(input) {
6938
7266
  accessToken: entry.accessToken
6939
7267
  })
6940
7268
  ];
6941
- case 4:
7269
+ case 5:
6942
7270
  claims = _state.sent();
6943
7271
  outputResult({
6944
7272
  env: envName,
@@ -6946,35 +7274,41 @@ function resolveAuthSetupPrompt(input) {
6946
7274
  expiresAt: entry.expiresAt,
6947
7275
  expired: expired,
6948
7276
  scope: entry.scope,
7277
+ sessionExpiresAt: sessionExpiresAt,
7278
+ rotationDisabled: rotationDisabled,
7279
+ session: session,
6949
7280
  sub: claims.sub,
6950
7281
  claims: claims
6951
7282
  });
6952
7283
  return [
6953
7284
  3,
6954
- 6
7285
+ 7
6955
7286
  ];
6956
- case 5:
7287
+ case 6:
6957
7288
  outputResult({
6958
7289
  env: envName,
6959
7290
  authenticated: !expired,
6960
7291
  expiresAt: entry.expiresAt,
6961
7292
  expired: expired,
6962
- scope: entry.scope
7293
+ scope: entry.scope,
7294
+ sessionExpiresAt: sessionExpiresAt,
7295
+ rotationDisabled: rotationDisabled,
7296
+ session: session
6963
7297
  });
6964
- _state.label = 6;
6965
- case 6:
7298
+ _state.label = 7;
7299
+ case 7:
6966
7300
  return [
6967
7301
  3,
6968
- 8
7302
+ 9
6969
7303
  ];
6970
- case 7:
7304
+ case 8:
6971
7305
  outputResult({
6972
7306
  env: envName,
6973
7307
  authenticated: false,
6974
7308
  suggestion: "Run: ".concat(cliName, " auth login --env ").concat(envName)
6975
7309
  });
6976
- _state.label = 8;
6977
- case 8:
7310
+ _state.label = 9;
7311
+ case 9:
6978
7312
  return [
6979
7313
  2
6980
7314
  ];
@@ -7023,7 +7357,13 @@ function resolveAuthSetupPrompt(input) {
7023
7357
  tokenType: entry.tokenType,
7024
7358
  scope: entry.scope,
7025
7359
  expiresAt: entry.expiresAt,
7026
- expired: isTokenExpired(entry)
7360
+ expired: isTokenExpired(entry),
7361
+ sessionExpiresAt: entry.sessionExpiresAt,
7362
+ rotationDisabled: entry.rotationDisabled,
7363
+ session: describeSessionLifetime({
7364
+ sessionExpiresAt: entry.sessionExpiresAt,
7365
+ rotationDisabled: entry.rotationDisabled
7366
+ })
7027
7367
  } : null
7028
7368
  });
7029
7369
  return [
@@ -8937,7 +9277,7 @@ function _ts_generator$_(thisArg, body) {
8937
9277
  });
8938
9278
  return function(argv) {
8939
9279
  return _async_to_generator$_(function() {
8940
- var _argv__, command, _ref, _ref1, envName, env, entry, _refreshed_refresh_token, _refreshed_token_type, _refreshed_scope, _refreshed_expires_in, meta, refreshed, e;
9280
+ var _argv__, command, _ref, _ref1, envName, env, entry, _readEnvTokenEntry, _refreshed_refresh_token, _refreshed_token_type, _refreshed_scope, _refreshed_expires_in, meta, suppliedRefreshToken, refreshed, e;
8941
9281
  return _ts_generator$_(this, function(_state) {
8942
9282
  switch(_state.label){
8943
9283
  case 0:
@@ -8955,9 +9295,9 @@ function _ts_generator$_(thisArg, body) {
8955
9295
  case 1:
8956
9296
  _state.trys.push([
8957
9297
  1,
8958
- 8,
9298
+ 9,
8959
9299
  ,
8960
- 9
9300
+ 10
8961
9301
  ]);
8962
9302
  return [
8963
9303
  4,
@@ -8977,15 +9317,20 @@ function _ts_generator$_(thisArg, body) {
8977
9317
  ];
8978
9318
  case 3:
8979
9319
  entry = (_ref = _state.sent()) !== null && _ref !== void 0 ? _ref : undefined;
8980
- if (!(entry === null || entry === void 0 ? void 0 : entry.accessToken)) {
9320
+ if (!entry) {
9321
+ entry = (_readEnvTokenEntry = readEnvTokenEntry({
9322
+ cliName: input.cliName
9323
+ })) !== null && _readEnvTokenEntry !== void 0 ? _readEnvTokenEntry : undefined;
9324
+ }
9325
+ if (!(entry === null || entry === void 0 ? void 0 : entry.accessToken) && !(entry === null || entry === void 0 ? void 0 : entry.refreshToken)) {
8981
9326
  throw new CliError({
8982
9327
  message: 'No tokens for env "'.concat(envName, '". Run `').concat(input.cliName, " auth login --env ").concat(envName, "`."),
8983
9328
  code: 'NOT_LOGGED_IN'
8984
9329
  });
8985
9330
  }
8986
- if (!isTokenExpired(entry)) return [
9331
+ if (!(!entry.accessToken || isTokenExpired(entry))) return [
8987
9332
  3,
8988
- 7
9333
+ 8
8989
9334
  ];
8990
9335
  if (!entry.refreshToken) {
8991
9336
  throw new CliError({
@@ -9003,13 +9348,14 @@ function _ts_generator$_(thisArg, body) {
9003
9348
  ];
9004
9349
  case 4:
9005
9350
  meta = _state.sent();
9351
+ suppliedRefreshToken = entry.refreshToken;
9006
9352
  return [
9007
9353
  4,
9008
9354
  refreshAccessToken({
9009
9355
  tokenEndpoint: meta.token_endpoint,
9010
9356
  clientId: env.clientId,
9011
9357
  clientSecret: env.clientSecret,
9012
- refreshToken: entry.refreshToken
9358
+ refreshToken: suppliedRefreshToken
9013
9359
  })
9014
9360
  ];
9015
9361
  case 5:
@@ -9021,14 +9367,29 @@ function _ts_generator$_(thisArg, body) {
9021
9367
  scope: (_refreshed_scope = refreshed.scope) !== null && _refreshed_scope !== void 0 ? _refreshed_scope : entry.scope,
9022
9368
  expiresAt: Date.now() + ((_refreshed_expires_in = refreshed.expires_in) !== null && _refreshed_expires_in !== void 0 ? _refreshed_expires_in : 0) * 1000
9023
9369
  });
9370
+ if (!entry.fromEnv) return [
9371
+ 3,
9372
+ 6
9373
+ ];
9374
+ // Service tokens do not rotate, so a one-shot env-sourced invocation is durable without
9375
+ // persisting. If a *rotating* refresh token was supplied, the rotation is lost on exit —
9376
+ // warn that env credentials should be non-rotating service tokens.
9377
+ if (refreshed.refresh_token != null && refreshed.refresh_token !== suppliedRefreshToken) {
9378
+ process.stderr.write('Warning: the refresh token supplied via environment rotated on use; the rotated token cannot be persisted for a one-shot invocation. Use a non-rotating service token (auth login --service-token).\n');
9379
+ }
9380
+ return [
9381
+ 3,
9382
+ 8
9383
+ ];
9384
+ case 6:
9024
9385
  return [
9025
9386
  4,
9026
9387
  tokens.set(envName, entry)
9027
9388
  ];
9028
- case 6:
9029
- _state.sent();
9030
- _state.label = 7;
9031
9389
  case 7:
9390
+ _state.sent();
9391
+ _state.label = 8;
9392
+ case 8:
9032
9393
  setCliContext(createCliContext({
9033
9394
  cliName: input.cliName,
9034
9395
  envName: envName,
@@ -9038,17 +9399,17 @@ function _ts_generator$_(thisArg, body) {
9038
9399
  }));
9039
9400
  return [
9040
9401
  3,
9041
- 9
9402
+ 10
9042
9403
  ];
9043
- case 8:
9404
+ case 9:
9044
9405
  e = _state.sent();
9045
9406
  outputError(e);
9046
9407
  process.exit(CLI_EXIT_CODE_AUTH);
9047
9408
  return [
9048
9409
  3,
9049
- 9
9410
+ 10
9050
9411
  ];
9051
- case 9:
9412
+ case 10:
9052
9413
  return [
9053
9414
  2
9054
9415
  ];
@@ -11167,6 +11528,118 @@ function parseJsonData(rawData) {
11167
11528
  var isDefault = specifier == null || specifier === '_';
11168
11529
  return isDefault ? "".concat(modelType, ".").concat(call, "._") : "".concat(modelType, ".").concat(call, ".").concat(specifier);
11169
11530
  }
11531
+ /**
11532
+ * Default specifier key used when a handler is not behind a specifier router.
11533
+ *
11534
+ * Mirrors `DEFAULT_SPECIFIER_KEY` in `@dereekb/firebase-server/mcp` — kept in sync so the
11535
+ * build-time renderer composes the same tool names as the runtime generator.
11536
+ */ var DEFAULT_SPECIFIER_KEY = '_';
11537
+ /**
11538
+ * Soft limit for an MCP tool name. Mirrors `MCP_TOOL_NAME_WARN_LENGTH` in
11539
+ * `@dereekb/firebase-server/mcp`. Names over this are flagged at manifest-generation time.
11540
+ */ var MCP_TOOL_NAME_WARN_LENGTH = 55;
11541
+ /**
11542
+ * Hard limit for an MCP tool name. Mirrors `MCP_TOOL_NAME_MAX_LENGTH` in
11543
+ * `@dereekb/firebase-server/mcp`. Remote MCP clients reject a `tools/list` payload containing any
11544
+ * tool whose `name` exceeds this, so manifest generation fails when a name is over the cap.
11545
+ */ var MCP_TOOL_NAME_MAX_LENGTH = 64;
11546
+ /**
11547
+ * Builds the MCP tool name for a (modelSegment, callType, specifier) triple.
11548
+ *
11549
+ * Mirrors `buildMcpToolName` in `@dereekb/firebase-server/mcp` so the build-time manifest validation
11550
+ * sees the same names the runtime advertises. The call-type segment is only emitted for the default
11551
+ * (`_`) specifier; named specifiers drop it (`worker-syncCheckHqEmployee`).
11552
+ *
11553
+ * @param modelSegment - The model segment of the name (model type, or a per-model override).
11554
+ * @param callType - The call type / verb.
11555
+ * @param specifier - The specifier key, or `_` / undefined for the default entry.
11556
+ * @returns The hyphen-joined tool name.
11557
+ *
11558
+ * @example
11559
+ * ```ts
11560
+ * buildMcpToolName('worker', 'update', 'syncCheckHqEmployee'); // 'worker-syncCheckHqEmployee'
11561
+ * ```
11562
+ */ function buildMcpToolName(modelSegment, callType, specifier) {
11563
+ var isDefault = specifier == null || specifier === DEFAULT_SPECIFIER_KEY;
11564
+ return isDefault ? "".concat(modelSegment, "-").concat(callType) : "".concat(modelSegment, "-").concat(specifier);
11565
+ }
11566
+ /**
11567
+ * Classifies a tool name's length against the soft/hard MCP name-length limits.
11568
+ *
11569
+ * Mirrors `validateMcpToolName` in `@dereekb/firebase-server/mcp`.
11570
+ *
11571
+ * @param name - The fully-resolved tool name.
11572
+ * @returns The length classification — `error` over {@link MCP_TOOL_NAME_MAX_LENGTH}, `warn` over
11573
+ * {@link MCP_TOOL_NAME_WARN_LENGTH}, otherwise `ok`.
11574
+ *
11575
+ * @example
11576
+ * ```ts
11577
+ * validateMcpToolName('worker-create').level; // 'ok'
11578
+ * ```
11579
+ */ function validateMcpToolName(name) {
11580
+ var length = name.length;
11581
+ var level = 'ok';
11582
+ if (length > MCP_TOOL_NAME_MAX_LENGTH) {
11583
+ level = 'error';
11584
+ } else if (length > MCP_TOOL_NAME_WARN_LENGTH) {
11585
+ level = 'warn';
11586
+ }
11587
+ return {
11588
+ name: name,
11589
+ length: length,
11590
+ level: level
11591
+ };
11592
+ }
11593
+ /**
11594
+ * Single-character abbreviations for the standard CRUDQ + invoke call types.
11595
+ *
11596
+ * Mirrors `MCP_CALL_TYPE_ABBREVIATIONS` in `@dereekb/firebase-server/mcp` so the build-time renderer
11597
+ * disambiguates colliding names exactly like the runtime generator.
11598
+ */ var MCP_CALL_TYPE_ABBREVIATIONS = {
11599
+ create: 'c',
11600
+ read: 'r',
11601
+ update: 'u',
11602
+ delete: 'd',
11603
+ query: 'q',
11604
+ invoke: 'i'
11605
+ };
11606
+ /**
11607
+ * Abbreviates a call type for a disambiguated tool name; a custom call type is returned unchanged.
11608
+ *
11609
+ * Mirrors `abbreviateMcpCallType` in `@dereekb/firebase-server/mcp`.
11610
+ *
11611
+ * @param callType - The call type / verb.
11612
+ * @returns The single-character abbreviation, or the original string for a custom call type.
11613
+ *
11614
+ * @example
11615
+ * ```ts
11616
+ * abbreviateMcpCallType('update'); // 'u'
11617
+ * ```
11618
+ */ function abbreviateMcpCallType(callType) {
11619
+ var _MCP_CALL_TYPE_ABBREVIATIONS_callType;
11620
+ return (_MCP_CALL_TYPE_ABBREVIATIONS_callType = MCP_CALL_TYPE_ABBREVIATIONS[callType]) !== null && _MCP_CALL_TYPE_ABBREVIATIONS_callType !== void 0 ? _MCP_CALL_TYPE_ABBREVIATIONS_callType : callType;
11621
+ }
11622
+ /**
11623
+ * Builds the disambiguated MCP tool name — the form used only when {@link buildMcpToolName} collides
11624
+ * with another visible tool. Named specifiers re-insert the abbreviated call type
11625
+ * (`worker-u-syncCheckHqEmployee`); default (`_`) specifiers already carry the full call type and are
11626
+ * returned unchanged.
11627
+ *
11628
+ * Mirrors `buildDisambiguatedMcpToolName` in `@dereekb/firebase-server/mcp`.
11629
+ *
11630
+ * @param modelSegment - The model segment of the name (model type, or a per-model override).
11631
+ * @param callType - The call type / verb.
11632
+ * @param specifier - The specifier key, or `_` / undefined for the default entry.
11633
+ * @returns The hyphen-joined disambiguated tool name.
11634
+ *
11635
+ * @example
11636
+ * ```ts
11637
+ * buildDisambiguatedMcpToolName('worker', 'update', 'syncCheckHqEmployee'); // 'worker-u-syncCheckHqEmployee'
11638
+ * ```
11639
+ */ function buildDisambiguatedMcpToolName(modelSegment, callType, specifier) {
11640
+ var isDefault = specifier == null || specifier === DEFAULT_SPECIFIER_KEY;
11641
+ return isDefault ? "".concat(modelSegment, "-").concat(callType) : "".concat(modelSegment, "-").concat(abbreviateMcpCallType(callType), "-").concat(specifier);
11642
+ }
11170
11643
 
11171
11644
  /**
11172
11645
  * One entry in `<cluster>.scan[]`. Mirrors the shape of the legacy
@@ -56418,4 +56891,4 @@ function printPaginatedOutput(input) {
56418
56891
  })();
56419
56892
  }
56420
56893
 
56421
- 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, 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_OIDC_SCOPES, 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_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_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, 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_MANIFEST_VERSION, MODEL_ARCHETYPES, MODEL_ARCHETYPE_ADDON_SLUGS, MODEL_ARCHETYPE_SYNC_MODES, 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, SCAN_CONFIG_FILENAME$1 as SCAN_CONFIG_FILENAME, STANDARD_GLOBAL_OPTION_NAMES, 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, applyEnvVarOverrides, buildActionCommands, buildActionsManifest, buildAuthorizationUrl, buildCliPaths, buildCssUtilitiesManifest, buildDbxDocsUiExamplesManifest, buildDispatcherCreditByName, buildDumpFilePath, buildErrorOutput, buildFiltersManifest, buildForgeFieldsManifest, buildManifest, buildManifestCommands, buildModelDecodeCommand, buildModelInfoCommand, buildModelSnapshotFieldsManifest, buildOidcDiscoveryCandidates, buildPipesManifest, buildScanProject, buildUiComponentsManifest, buildUtilsManifest, callModelOverHttp, clearDownstreamCatalogCache, collectClassPropertiesWithInheritance, configureCliErrorMapper, configureCliSecretPatterns, configureOutputOptions, createActionCommand, createActionRegistry, createActionRegistryFromEntries, createAuthCommand, createAuthMiddleware, createAuthRegistryFromEntries, createCallModelCommand, createCli, createCliContext, createCliTokenCacheStore, createContextSlot, createCssUtilityRegistry, createCssUtilityRegistryFromEntries, createDbxDocsUiExamplesRegistry, createDbxDocsUiExamplesRegistryFromEntries, createDoctorCommand, createEnvCommand, createFilterRegistry, createFilterRegistryFromEntries, 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, extractCssUtilityEntries, extractDbxDocsUiExampleEntries, extractEntries, extractFilterEntries, extractForgeFieldEntries, extractModelSnapshotFieldEntries, extractModels, extractPipeEntries, extractUiEntries, extractUtilEntries, fetchUserInfo, filterReadOnlyModelScopes, findAndLoadConfig, findCliEnvDefault, findCliModelManifestEntry, flattenList, generateOAuthState, generatePkceMaterial, 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, getModelOverHttp, getMultipleModelsOverHttp, getMultipleModelsOverHttpChunked, getOutputOptions, globToRegex, isCliEnvConfigComplete, isCliVerbose, isCoreTopic, isStdinSentinel, isTokenExpired, isVisibleProperty, iterateDbxCliCallModel, loadActionManifests, loadActionRegistry, loadAuthRegistry, loadCliConfig, loadCssUtilityRegistry, loadDbxDocsUiExamplesManifests, loadDbxDocsUiExamplesRegistry, loadFilterManifests, loadFilterRegistry, loadForgeFieldManifests, loadForgeFieldRegistry, loadModelFirebaseIndexManifests, loadModelFirebaseIndexRegistry, loadModelSnapshotFieldManifests, loadModelSnapshotFieldRegistry, loadPackageName, loadPipeManifests, loadPipeRegistry, loadScanSection, loadSemanticTypeManifests, loadSemanticTypeRegistry, loadTokenManifests, loadTokenRegistry, loadUiComponentManifests, loadUiComponentRegistry, loadUtilManifests, loadUtilRegistry, maskEnv, maskSecret, mcpManifestKey, mergeCliConfig, mergeCliEnvWithDefault, mergeOutputConfig, openStreamingDump, outputError, outputResult, packageNameToSlug, parseAnnotation, parseDeclarations$1 as parseDeclarations, parseGetArgs, parseGetManyArgs, parsePastedRedirect, parseScanArgs, pickFields, promptLine, readAllStdin, readDirectiveDecorator, readPropertyDescription, readSelector, readStdinTokens, readStringProperty, refreshAccessToken, renderDecodedKey, renderModelManifestEntry, renderModelManifestFields, renderModelManifestList, requireCliContext, resolveActiveEnvName, resolveCliEnv, resolveCliEnvOrThrow, resolveCliModel, resolveDemoClaimsPath, resolveExplicitFirebasePackages, resolveModelArchetype, resolveOutputConfig, resolvePerModelGetKey, revokeToken, runActionsScanCli, runCli, runCssUtilitiesScanCli, runDbxDocsUiExamplesScanCli, runFiltersScanCli, runForgeFieldsScanCli, runModelFirebaseIndexScanCli, runModelSnapshotFieldsScanCli, runPaginatedList, runPipesScanCli, runScanCli, runScanCliBase, runUiComponentsScanCli, runUtilsScanCli, sanitizeString, saveCliConfig, scanFactoryReferences, serializeActionManifest, serializeCssUtilityManifest, serializeDbxDocsUiExamplesManifest, serializeFilterManifest, serializeForgeFieldManifest, serializeManifest, serializeModelSnapshotFieldsManifest, serializePipeManifest, serializeUiComponentManifest, serializeUtilManifest, setCliContext, setCliTimeoutMs, setCliVerbose, splitListTagText$1 as splitListTagText, toActionEntryInfo, toFilterEntryInfo, toFormFieldInfo, tracedFetch, unwrapFenced, verboseLog, withCallModelArgs, withEnv, withMultiplePages, withOutput, wrapCommandHandler, wrapSyncCommandHandler };
56894
+ 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, 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_OIDC_SCOPES, 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_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, 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_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, SCAN_CONFIG_FILENAME$1 as SCAN_CONFIG_FILENAME, SERVICE_TOKEN_REQUIRED_OIDC_SCOPES, STANDARD_GLOBAL_OPTION_NAMES, 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, applyEnvVarOverrides, buildActionCommands, buildActionsManifest, buildAuthorizationUrl, buildCliPaths, buildCssUtilitiesManifest, buildDbxDocsUiExamplesManifest, buildDisambiguatedMcpToolName, buildDispatcherCreditByName, buildDumpFilePath, buildErrorOutput, buildFiltersManifest, buildForgeFieldsManifest, buildManifest, buildManifestCommands, buildMcpToolName, buildModelDecodeCommand, buildModelInfoCommand, buildModelSnapshotFieldsManifest, buildOidcDiscoveryCandidates, buildPipesManifest, buildScanProject, buildUiComponentsManifest, buildUtilsManifest, callModelOverHttp, clearDownstreamCatalogCache, collectClassPropertiesWithInheritance, configureCliErrorMapper, configureCliSecretPatterns, configureOutputOptions, createActionCommand, createActionRegistry, createActionRegistryFromEntries, createAuthCommand, createAuthMiddleware, createAuthRegistryFromEntries, createCallModelCommand, createCli, createCliContext, createCliTokenCacheStore, createContextSlot, createCssUtilityRegistry, createCssUtilityRegistryFromEntries, createDbxDocsUiExamplesRegistry, createDbxDocsUiExamplesRegistryFromEntries, createDoctorCommand, createEnvCommand, createFilterRegistry, createFilterRegistryFromEntries, 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, extractCssUtilityEntries, extractDbxDocsUiExampleEntries, extractEntries, extractFilterEntries, extractForgeFieldEntries, extractModelSnapshotFieldEntries, extractModels, extractPipeEntries, extractUiEntries, extractUtilEntries, fetchSessionInfo, fetchUserInfo, filterReadOnlyModelScopes, findAndLoadConfig, findCliEnvDefault, findCliModelManifestEntry, flattenList, generateOAuthState, generatePkceMaterial, 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, getModelOverHttp, getMultipleModelsOverHttp, getMultipleModelsOverHttpChunked, getOutputOptions, globToRegex, isCliEnvConfigComplete, isCliVerbose, isCoreTopic, isStdinSentinel, isTokenExpired, isVisibleProperty, iterateDbxCliCallModel, loadActionManifests, loadActionRegistry, loadAuthRegistry, loadCliConfig, loadCssUtilityRegistry, loadDbxDocsUiExamplesManifests, loadDbxDocsUiExamplesRegistry, loadFilterManifests, loadFilterRegistry, loadForgeFieldManifests, loadForgeFieldRegistry, loadModelFirebaseIndexManifests, loadModelFirebaseIndexRegistry, loadModelSnapshotFieldManifests, loadModelSnapshotFieldRegistry, loadPackageName, loadPipeManifests, loadPipeRegistry, loadScanSection, loadSemanticTypeManifests, loadSemanticTypeRegistry, loadTokenManifests, loadTokenRegistry, loadUiComponentManifests, loadUiComponentRegistry, loadUtilManifests, loadUtilRegistry, maskEnv, maskSecret, mcpManifestKey, mergeCliConfig, mergeCliEnvWithDefault, mergeOutputConfig, openStreamingDump, outputError, outputResult, packageNameToSlug, parseAnnotation, parseDeclarations$1 as parseDeclarations, parseGetArgs, parseGetManyArgs, parsePastedRedirect, parseScanArgs, pickFields, promptLine, readAllStdin, readDirectiveDecorator, readEnvTokenEntry, readPropertyDescription, readSelector, readStdinTokens, readStringProperty, refreshAccessToken, renderDecodedKey, renderModelManifestEntry, renderModelManifestFields, renderModelManifestList, requireCliContext, resolveActiveEnvName, resolveCliEnv, resolveCliEnvOrThrow, resolveCliModel, resolveDemoClaimsPath, resolveExplicitFirebasePackages, resolveModelArchetype, resolveOutputConfig, resolvePerModelGetKey, revokeToken, runActionsScanCli, runCli, runCssUtilitiesScanCli, runDbxDocsUiExamplesScanCli, runFiltersScanCli, runForgeFieldsScanCli, runModelFirebaseIndexScanCli, runModelSnapshotFieldsScanCli, runPaginatedList, runPipesScanCli, runScanCli, runScanCliBase, runUiComponentsScanCli, runUtilsScanCli, sanitizeString, saveCliConfig, scanFactoryReferences, serializeActionManifest, serializeCssUtilityManifest, serializeDbxDocsUiExamplesManifest, serializeFilterManifest, serializeForgeFieldManifest, serializeManifest, serializeModelSnapshotFieldsManifest, serializePipeManifest, serializeUiComponentManifest, serializeUtilManifest, setCliContext, setCliTimeoutMs, setCliVerbose, splitListTagText$1 as splitListTagText, toActionEntryInfo, toFilterEntryInfo, toFormFieldInfo, tracedFetch, unwrapFenced, validateMcpToolName, verboseLog, withCallModelArgs, withEnv, withMultiplePages, withOutput, withServiceTokenScopes, wrapCommandHandler, wrapSyncCommandHandler };