opencode-antigravity-autopilot 2.2.2 → 2.2.3

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/dist/index.d.ts CHANGED
@@ -12,4 +12,5 @@ export { QuotaTracker } from './rotation/QuotaTracker';
12
12
  export { ModelSelector } from './rotation/ModelSelector';
13
13
  export { HardLimitDetector } from './rotation/HardLimitDetector';
14
14
  export type { HardLimitCheckResult } from './rotation/HardLimitDetector';
15
+ export { translateModelName, getShortModelName, formatModelQuotaForToast, formatModelSwitchMessage, } from './utils/model-name-translator';
15
16
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACnD,OAAO,EAAE,6BAA6B,EAAE,0BAA0B,EAAE,MAAM,kBAAkB,CAAC;AAC7F,YAAY,EACV,YAAY,EACZ,qBAAqB,EACrB,SAAS,EACT,eAAe,EACf,iBAAiB,EACjB,gBAAgB,EAChB,WAAW,GACZ,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AACtF,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,YAAY,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACnD,OAAO,EAAE,6BAA6B,EAAE,0BAA0B,EAAE,MAAM,kBAAkB,CAAC;AAC7F,YAAY,EACV,YAAY,EACZ,qBAAqB,EACrB,SAAS,EACT,eAAe,EACf,iBAAiB,EACjB,gBAAgB,EAChB,WAAW,GACZ,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AACtF,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,YAAY,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACzE,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,wBAAwB,EACxB,wBAAwB,GACzB,MAAM,+BAA+B,CAAC"}
package/dist/index.js CHANGED
@@ -10,4 +10,5 @@ export { QuotaCacheUpdater, startQuotaCacheService } from './quota/QuotaCacheUpd
10
10
  export { QuotaTracker } from './rotation/QuotaTracker';
11
11
  export { ModelSelector } from './rotation/ModelSelector';
12
12
  export { HardLimitDetector } from './rotation/HardLimitDetector';
13
+ export { translateModelName, getShortModelName, formatModelQuotaForToast, formatModelSwitchMessage, } from './utils/model-name-translator';
13
14
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACnD,OAAO,EAAE,6BAA6B,EAAE,0BAA0B,EAAE,MAAM,kBAAkB,CAAC;AAU7F,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AACtF,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACnD,OAAO,EAAE,6BAA6B,EAAE,0BAA0B,EAAE,MAAM,kBAAkB,CAAC;AAU7F,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AACtF,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAEjE,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,wBAAwB,EACxB,wBAAwB,GACzB,MAAM,+BAA+B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"oh-my-opencode.d.ts","sourceRoot":"","sources":["../src/oh-my-opencode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAgB,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAE9D,UAAU,kBAAkB;IAC1B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC3C;AAED,wBAAgB,6BAA6B,CAC3C,YAAY,EAAE,YAAY,EAC1B,MAAM,CAAC,EAAE;IAAE,YAAY,CAAC,EAAE,MAAM,CAAA;CAAE;gCAGE,MAAM,mBAAmB,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;sCA2BjE,kBAAkB,yBACX,qBAAqB,GAC3C,kBAAkB;+BAkBY,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;EAS5D;AAED,wBAAgB,0BAA0B,CACxC,eAAe,EAAE,MAAM,EAAE,GACxB,kBAAkB,CAqBpB"}
1
+ {"version":3,"file":"oh-my-opencode.d.ts","sourceRoot":"","sources":["../src/oh-my-opencode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAgB,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAE9D,UAAU,kBAAkB;IAC1B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC3C;AAED,wBAAgB,6BAA6B,CAC3C,YAAY,EAAE,YAAY,EAC1B,MAAM,CAAC,EAAE;IAAE,YAAY,CAAC,EAAE,MAAM,CAAA;CAAE;gCAGE,MAAM,mBAAmB,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;sCA4BjE,kBAAkB,yBACX,qBAAqB,GAC3C,kBAAkB;+BAkBY,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;EAS5D;AAED,wBAAgB,0BAA0B,CACxC,eAAe,EAAE,MAAM,EAAE,GACxB,kBAAkB,CAqBpB"}
@@ -76,11 +76,12 @@ export function createOhMyOpenCodeIntegration(quotaManager, config) {
76
76
  return {
77
77
  getModelForAgent: function (agentName, preferredModel) {
78
78
  return __awaiter(this, void 0, void 0, function () {
79
- var targetModel, selected, quotaState, fallback;
79
+ var targetModel, quotaThreshold, selected, quotaState, fallback;
80
80
  return __generator(this, function (_a) {
81
81
  switch (_a.label) {
82
82
  case 0:
83
83
  targetModel = preferredModel || (config === null || config === void 0 ? void 0 : config.defaultModel);
84
+ quotaThreshold = quotaManager.getQuotaTracker().getThreshold();
84
85
  if (!!targetModel) return [3, 3];
85
86
  selected = quotaManager.selectBestModel();
86
87
  if (!!selected) return [3, 2];
@@ -92,7 +93,7 @@ export function createOhMyOpenCodeIntegration(quotaManager, config) {
92
93
  case 2: return [2, selected || 'google/antigravity-gemini-3-flash'];
93
94
  case 3:
94
95
  quotaState = quotaManager.getQuotaTracker().getQuotaForModel(targetModel);
95
- if (!(quotaState && quotaState.quotaFraction < 0.2)) return [3, 6];
96
+ if (!(quotaState && quotaState.quotaFraction < quotaThreshold)) return [3, 6];
96
97
  fallback = quotaManager.selectBestModel();
97
98
  if (!!fallback) return [3, 5];
98
99
  return [4, quotaManager.rotateAccount()];
@@ -1 +1 @@
1
- {"version":3,"file":"oh-my-opencode.js","sourceRoot":"","sources":["../src/oh-my-opencode.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAOA,MAAM,UAAU,6BAA6B,CAC3C,YAA0B,EAC1B,MAAkC;IAElC,OAAO;QACC,gBAAgB,YAAC,SAAiB,EAAE,cAAuB;;;;;;4BACzD,WAAW,GAAG,cAAc,KAAI,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,YAAY,CAAA,CAAC;iCAEvD,CAAC,WAAW,EAAZ,cAAY;4BACV,QAAQ,GAAG,YAAY,CAAC,eAAe,EAAE,CAAC;iCAC1C,CAAC,QAAQ,EAAT,cAAS;4BACX,WAAM,YAAY,CAAC,aAAa,EAAE,EAAA;;4BAAlC,SAAkC,CAAC;4BACnC,QAAQ,GAAG,YAAY,CAAC,eAAe,EAAE,CAAC;;gCAE5C,WAAO,QAAQ,IAAI,mCAAmC,EAAC;;4BAGnD,UAAU,GAAG,YAAY,CAAC,eAAe,EAAE,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC;iCAE5E,CAAA,UAAU,IAAI,UAAU,CAAC,aAAa,GAAG,GAAG,CAAA,EAA5C,cAA4C;4BACxC,QAAQ,GAAG,YAAY,CAAC,eAAe,EAAE,CAAC;iCAC5C,CAAC,QAAQ,EAAT,cAAS;4BACX,WAAM,YAAY,CAAC,aAAa,EAAE,EAAA;;4BAAlC,SAAkC,CAAC;4BACnC,WAAO,WAAW,EAAC;gCAErB,WAAO,QAAQ,EAAC;gCAGlB,WAAO,WAAW,EAAC;;;;SACpB;QAED,iBAAiB,YACf,cAAkC,EAClC,qBAA4C;;YAE5C,YAAY,CAAC,wBAAwB,CAAC,qBAAqB,CAAC,CAAC;YAE7D,IAAM,aAAa,GAAsC,EAAE,CAAC;;gBAE5D,KAAuC,IAAA,KAAA,SAAA,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC,CAAA,gBAAA,4BAAE,CAAC;oBAApE,IAAA,KAAA,mBAAwB,EAAvB,SAAS,QAAA,EAAE,WAAW,QAAA;oBAChC,IAAM,SAAS,GAAG,YAAY,CAAC,eAAe,EAAE,CAAC;oBACjD,aAAa,CAAC,SAAS,CAAC,GAAG;wBACzB,KAAK,EAAE,SAAS,IAAI,WAAW,CAAC,KAAK;qBACtC,CAAC;gBACJ,CAAC;;;;;;;;;YAED,6BACK,cAAc,KACjB,MAAM,EAAE,aAAa,IACrB;QACJ,CAAC;QAEK,kBAAkB,YAAC,MAAgB;;;;;;;;4BACnB,WAAA,SAAA,MAAM,CAAA;;;;4BAAf,KAAK;4BACA,WAAM,YAAY,CAAC,QAAQ,EAAE,EAAA;;4BAArC,KAAK,GAAG,SAA6B;4BAC3C,IAAI,KAAK,EAAE,CAAC;gCACV,YAAY,CAAC,mBAAmB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;4BACjD,CAAC;;;;;;;;;;;;;;;;;;;;SAEJ;KACF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,0BAA0B,CACxC,eAAyB;IAEzB,IAAM,aAAa,GAAG;QACpB,UAAU;QACV,WAAW;QACX,SAAS;QACT,QAAQ;QACR,yBAAyB;QACzB,iBAAiB;QACjB,mBAAmB;KACpB,CAAC;IAEF,IAAM,MAAM,GAAsC,EAAE,CAAC;IAErD,aAAa,CAAC,OAAO,CAAC,UAAC,KAAK,EAAE,KAAK;QACjC,IAAM,UAAU,GAAG,KAAK,GAAG,eAAe,CAAC,MAAM,CAAC;QAClD,MAAM,CAAC,KAAK,CAAC,GAAG;YACd,KAAK,EAAE,eAAe,CAAC,UAAU,CAAC,IAAI,mCAAmC;SAC1E,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,OAAO,EAAE,MAAM,QAAA,EAAE,CAAC;AACpB,CAAC"}
1
+ {"version":3,"file":"oh-my-opencode.js","sourceRoot":"","sources":["../src/oh-my-opencode.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"AAiBA,UAAU,WAAW;IACnB,MAAM,EAAE,GAAG,CAAC;IACZ,OAAO,EAAE,GAAG,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,GAAG,CAAC;IACf,CAAC,EAAE,GAAG,CAAC;CACR;AAED,UAAU,cAAc;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC1B,OAAO,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;CACnD;AAED,UAAU,KAAK;IACb,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAClC;AAED,UAAU,KAAK;IACb,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,KAAK,EAAE,KAAK,CAAA;KAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACnD,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;CACvC;AAED,KAAK,MAAM,GAAG,CAAC,KAAK,EAAE,WAAW,KAAK,OAAO,CAAC,KAAK,CAAC,CAAC;AA0BrD,eAAO,MAAM,MAAM,EAAE,MA8HpB,CAAC;AAEF,eAAe,MAAM,CAAC;AAGtB,eAAO,MAAM,sBAAsB,QAAS,CAAC;AAG7C,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,YAAY,EAAE,YAAY,EAAE,qBAAqB,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC"}
1
+ {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"AAkBA,UAAU,WAAW;IACnB,MAAM,EAAE,GAAG,CAAC;IACZ,OAAO,EAAE,GAAG,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,GAAG,CAAC;IACf,CAAC,EAAE,GAAG,CAAC;CACR;AAED,UAAU,cAAc;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC1B,OAAO,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;CACnD;AAED,UAAU,KAAK;IACb,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAClC;AAED,UAAU,KAAK;IACb,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,KAAK,EAAE,KAAK,CAAA;KAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACnD,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;CACvC;AAED,KAAK,MAAM,GAAG,CAAC,KAAK,EAAE,WAAW,KAAK,OAAO,CAAC,KAAK,CAAC,CAAC;AA0BrD,eAAO,MAAM,MAAM,EAAE,MA+HpB,CAAC;AAEF,eAAe,MAAM,CAAC;AAGtB,eAAO,MAAM,sBAAsB,QAAS,CAAC;AAG7C,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,YAAY,EAAE,YAAY,EAAE,qBAAqB,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC"}
package/dist/plugin.js CHANGED
@@ -63,6 +63,7 @@ var __read = (this && this.__read) || function (o, n) {
63
63
  };
64
64
  import { QuotaManager } from './manager';
65
65
  import { QuotaCacheUpdater } from './quota/QuotaCacheUpdater';
66
+ import { translateModelName, formatModelQuotaForToast } from './utils/model-name-translator';
66
67
  import fs from 'fs';
67
68
  var LOG_FILE = '/tmp/autopilot.log';
68
69
  function logToFile(message) {
@@ -107,7 +108,7 @@ export var plugin = function (ctx) { return __awaiter(void 0, void 0, void 0, fu
107
108
  logToFile('Autopilot plugin initialized with config');
108
109
  return [2, {
109
110
  event: function (_a) { return __awaiter(void 0, [_a], void 0, function (_b) {
110
- var quota, percentage, statusIcon, threshold, message, resetDate, now, diffMs, minutesLeft, hours, mins, err_1;
111
+ var quota, percentage, threshold, modelDisplayName, quotaDisplay, message, resetDate, now, diffMs, minutesLeft, hours, mins, err_1;
111
112
  var event = _b.event;
112
113
  return __generator(this, function (_c) {
113
114
  switch (_c.label) {
@@ -125,9 +126,10 @@ export var plugin = function (ctx) { return __awaiter(void 0, void 0, void 0, fu
125
126
  quota = _c.sent();
126
127
  if (!quota) return [3, 5];
127
128
  percentage = Math.round(quota.remainingFraction * 100);
128
- statusIcon = percentage <= 10 ? '🔴' : percentage <= 25 ? '🟡' : '🟢';
129
129
  threshold = (userConfig.quotaThreshold || 0.02) * 100;
130
- message = "".concat(statusIcon, " Quota: ").concat(percentage, "% (Cutoff: ").concat(threshold, "%)");
130
+ modelDisplayName = translateModelName(quota.model || 'Unknown');
131
+ quotaDisplay = formatModelQuotaForToast(quota.model || 'Unknown', percentage);
132
+ message = "".concat(quotaDisplay, " (Cutoff: ").concat(threshold, "%)");
131
133
  if (quota.resetTime) {
132
134
  resetDate = new Date(quota.resetTime);
133
135
  now = new Date();
@@ -141,9 +143,9 @@ export var plugin = function (ctx) { return __awaiter(void 0, void 0, void 0, fu
141
143
  }
142
144
  return [4, ctx.client.tui.showToast({
143
145
  body: {
144
- title: "Quota: ".concat(quota.model || 'Unknown'),
146
+ title: modelDisplayName,
145
147
  message: message,
146
- variant: percentage <= 10 ? 'critical' : 'info'
148
+ variant: percentage <= threshold ? 'critical' : percentage <= threshold * 2 ? 'warning' : 'info'
147
149
  }
148
150
  })];
149
151
  case 4:
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,7 @@ export declare class QuotaTracker {
6
6
  constructor(quotaThreshold?: number);
7
7
  updateQuota(model: string, quota: QuotaInfo): void;
8
8
  getQuotaForModel(model: string): ModelQuotaState | null;
9
+ getThreshold(): number;
9
10
  isModelAvailable(model: string): boolean;
10
11
  getBestAvailableModel(candidates: string[]): string | null;
11
12
  getAllQuotaStates(): ModelQuotaState[];
@@ -1 +1 @@
1
- {"version":3,"file":"QuotaTracker.d.ts","sourceRoot":"","sources":["../../src/rotation/QuotaTracker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAGtD,qBAAa,YAAY;IACvB,OAAO,CAAC,UAAU,CAAgC;IAClD,OAAO,CAAC,cAAc,CAAU;IAChC,OAAO,CAAC,MAAM,CAAgC;gBAElC,cAAc,GAAE,MAAa;IAezC,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,GAAG,IAAI;IAqBlD,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,eAAe,GAAG,IAAI;IAIvD,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAWxC,qBAAqB,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,MAAM,GAAG,IAAI;IAuC1D,iBAAiB,IAAI,eAAe,EAAE;IAItC,cAAc,CAAC,QAAQ,GAAE,MAAe,GAAG,IAAI;IAS/C,QAAQ,IAAI,IAAI;CAKjB"}
1
+ {"version":3,"file":"QuotaTracker.d.ts","sourceRoot":"","sources":["../../src/rotation/QuotaTracker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAGtD,qBAAa,YAAY;IACvB,OAAO,CAAC,UAAU,CAAgC;IAClD,OAAO,CAAC,cAAc,CAAU;IAChC,OAAO,CAAC,MAAM,CAAgC;gBAElC,cAAc,GAAE,MAAa;IAezC,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,GAAG,IAAI;IAqBlD,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,eAAe,GAAG,IAAI;IAIvD,YAAY,IAAI,MAAM;IAItB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAWxC,qBAAqB,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,MAAM,GAAG,IAAI;IAuC1D,iBAAiB,IAAI,eAAe,EAAE;IAItC,cAAc,CAAC,QAAQ,GAAE,MAAe,GAAG,IAAI;IAS/C,QAAQ,IAAI,IAAI;CAKjB"}
@@ -61,6 +61,9 @@ var QuotaTracker = (function () {
61
61
  QuotaTracker.prototype.getQuotaForModel = function (model) {
62
62
  return this.quotaState.get(model) || null;
63
63
  };
64
+ QuotaTracker.prototype.getThreshold = function () {
65
+ return this.quotaThreshold;
66
+ };
64
67
  QuotaTracker.prototype.isModelAvailable = function (model) {
65
68
  var state = this.quotaState.get(model);
66
69
  if (!state)
@@ -1 +1 @@
1
- {"version":3,"file":"QuotaTracker.js","sourceRoot":"","sources":["../../src/rotation/QuotaTracker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"QuotaTracker.js","sourceRoot":"","sources":["../../src/rotation/QuotaTracker.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,154 @@
1
+ "use strict";
2
+ var __extends = (this && this.__extends) || (function () {
3
+ var extendStatics = function (d, b) {
4
+ extendStatics = Object.setPrototypeOf ||
5
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
+ return extendStatics(d, b);
8
+ };
9
+ return function (d, b) {
10
+ if (typeof b !== "function" && b !== null)
11
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
+ extendStatics(d, b);
13
+ function __() { this.constructor = d; }
14
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
+ };
16
+ })();
17
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
18
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
19
+ return new (P || (P = Promise))(function (resolve, reject) {
20
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
21
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
22
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
23
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
24
+ });
25
+ };
26
+ var __generator = (this && this.__generator) || function (thisArg, body) {
27
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
28
+ return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
29
+ function verb(n) { return function (v) { return step([n, v]); }; }
30
+ function step(op) {
31
+ if (f) throw new TypeError("Generator is already executing.");
32
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
33
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
34
+ if (y = 0, t) op = [op[0] & 2, t.value];
35
+ switch (op[0]) {
36
+ case 0: case 1: t = op; break;
37
+ case 4: _.label++; return { value: op[1], done: false };
38
+ case 5: _.label++; y = op[1]; op = [0]; continue;
39
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
40
+ default:
41
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
42
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
43
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
44
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
45
+ if (t[2]) _.ops.pop();
46
+ _.trys.pop(); continue;
47
+ }
48
+ op = body.call(thisArg, _);
49
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
50
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
51
+ }
52
+ };
53
+ Object.defineProperty(exports, "__esModule", { value: true });
54
+ var manager_1 = require("../src/manager");
55
+ var oh_my_opencode_1 = require("../src/oh-my-opencode");
56
+ var QuotaTracker_1 = require("../src/rotation/QuotaTracker");
57
+ // Mock QuotaManager to simulate quota states
58
+ var MockQuotaManager = /** @class */ (function (_super) {
59
+ __extends(MockQuotaManager, _super);
60
+ function MockQuotaManager(mockQuota, mockModel) {
61
+ var _this = _super.call(this) || this;
62
+ _this.mockQuota = mockQuota;
63
+ _this.mockModel = mockModel;
64
+ // @ts-ignore - Accessing private property for test setup
65
+ _this.quotaTracker = new QuotaTracker_1.QuotaTracker(0.02);
66
+ // @ts-ignore - Accessing private property for test setup
67
+ _this.quotaTracker.updateQuota(mockModel, {
68
+ remainingFraction: mockQuota,
69
+ resetTime: new Date(Date.now() + 3600000).toISOString(),
70
+ quotaFraction: mockQuota
71
+ });
72
+ return _this;
73
+ }
74
+ // @ts-ignore - Accessing private property for test setup
75
+ MockQuotaManager.prototype.getQuotaTracker = function () {
76
+ return this.quotaTracker;
77
+ };
78
+ // @ts-ignore - Mocking method
79
+ MockQuotaManager.prototype.selectBestModel = function () {
80
+ return 'fallback-model';
81
+ };
82
+ MockQuotaManager.prototype.rotateAccount = function () {
83
+ return __awaiter(this, void 0, void 0, function () {
84
+ return __generator(this, function (_a) {
85
+ console.log('Rotating account...');
86
+ return [2 /*return*/];
87
+ });
88
+ });
89
+ };
90
+ return MockQuotaManager;
91
+ }(manager_1.QuotaManager));
92
+ function testAgentQuotaThreshold() {
93
+ return __awaiter(this, void 0, void 0, function () {
94
+ var TARGET_MODEL, CURRENT_QUOTA, manager1, integration1, result1, manager2, integration2, result2, manager3, integration3, result3;
95
+ return __generator(this, function (_a) {
96
+ switch (_a.label) {
97
+ case 0:
98
+ console.log('🧪 Testing Agent Quota Threshold Logic (TS version)...\n');
99
+ TARGET_MODEL = 'primary-model';
100
+ CURRENT_QUOTA = 0.05;
101
+ console.log("Context: Model '".concat(TARGET_MODEL, "' has ").concat(CURRENT_QUOTA * 100, "% quota remaining."));
102
+ // Test Case 1: Low Threshold (2%)
103
+ console.log('\n--- Test Case 1: Threshold 2% (Standard) ---');
104
+ manager1 = new MockQuotaManager(CURRENT_QUOTA, TARGET_MODEL);
105
+ integration1 = (0, oh_my_opencode_1.createOhMyOpenCodeIntegration)(manager1, {
106
+ defaultModel: TARGET_MODEL,
107
+ quotaThreshold: 0.02
108
+ });
109
+ return [4 /*yield*/, integration1.getModelForAgent('test-agent', TARGET_MODEL)];
110
+ case 1:
111
+ result1 = _a.sent();
112
+ if (result1 === TARGET_MODEL) {
113
+ console.log('✅ PASS: Kept primary model (5% > 2%)');
114
+ }
115
+ else {
116
+ console.error("\u274C FAIL: Switched to ".concat(result1, " unexpectedly"));
117
+ }
118
+ // Test Case 2: High Threshold (10%)
119
+ console.log('\n--- Test Case 2: Threshold 10% (Aggressive) ---');
120
+ manager2 = new MockQuotaManager(CURRENT_QUOTA, TARGET_MODEL);
121
+ integration2 = (0, oh_my_opencode_1.createOhMyOpenCodeIntegration)(manager2, {
122
+ defaultModel: TARGET_MODEL,
123
+ quotaThreshold: 0.10
124
+ });
125
+ return [4 /*yield*/, integration2.getModelForAgent('test-agent', TARGET_MODEL)];
126
+ case 2:
127
+ result2 = _a.sent();
128
+ if (result2 === 'fallback-model') {
129
+ console.log('✅ PASS: Switched to fallback model (5% < 10%)');
130
+ }
131
+ else {
132
+ console.error("\u274C FAIL: Kept ".concat(result2, " despite low quota"));
133
+ }
134
+ // Test Case 3: Default Threshold (Should be 2%)
135
+ console.log('\n--- Test Case 3: Default Threshold (Implied 2%) ---');
136
+ manager3 = new MockQuotaManager(CURRENT_QUOTA, TARGET_MODEL);
137
+ integration3 = (0, oh_my_opencode_1.createOhMyOpenCodeIntegration)(manager3, {
138
+ defaultModel: TARGET_MODEL
139
+ });
140
+ return [4 /*yield*/, integration3.getModelForAgent('test-agent', TARGET_MODEL)];
141
+ case 3:
142
+ result3 = _a.sent();
143
+ if (result3 === TARGET_MODEL) {
144
+ console.log('✅ PASS: Kept primary model with default threshold');
145
+ }
146
+ else {
147
+ console.error("\u274C FAIL: Switched to ".concat(result3, " unexpectedly"));
148
+ }
149
+ return [2 /*return*/];
150
+ }
151
+ });
152
+ });
153
+ }
154
+ testAgentQuotaThreshold().catch(console.error);
@@ -0,0 +1,143 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
36
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
37
+ if (ar || !(i in from)) {
38
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
39
+ ar[i] = from[i];
40
+ }
41
+ }
42
+ return to.concat(ar || Array.prototype.slice.call(from));
43
+ };
44
+ Object.defineProperty(exports, "__esModule", { value: true });
45
+ exports.AccountRotator = void 0;
46
+ var fs = __importStar(require("fs"));
47
+ var path = __importStar(require("path"));
48
+ var os = __importStar(require("os"));
49
+ var AccountRotator = /** @class */ (function () {
50
+ function AccountRotator(accounts, initialIndex) {
51
+ if (!(this instanceof AccountRotator)) {
52
+ // @ts-ignore
53
+ return new AccountRotator(accounts, initialIndex);
54
+ }
55
+ this.accounts = __spreadArray([], accounts, true);
56
+ this.activeIndex = initialIndex;
57
+ }
58
+ AccountRotator.prototype.getCurrentAccount = function () {
59
+ if (this.accounts.length === 0) {
60
+ return null;
61
+ }
62
+ var count = this.accounts.length;
63
+ var now = Date.now();
64
+ for (var i = 0; i < count; i++) {
65
+ var index = (this.activeIndex + i) % count;
66
+ var account = this.accounts[index];
67
+ if (!account.coolingDownUntil || account.coolingDownUntil <= now) {
68
+ this.activeIndex = index;
69
+ return account;
70
+ }
71
+ }
72
+ var minCooldown = Infinity;
73
+ var minIndex = -1;
74
+ for (var i = 0; i < count; i++) {
75
+ var account = this.accounts[i];
76
+ if (account.coolingDownUntil && account.coolingDownUntil < minCooldown) {
77
+ minCooldown = account.coolingDownUntil;
78
+ minIndex = i;
79
+ }
80
+ }
81
+ if (minIndex !== -1) {
82
+ this.activeIndex = minIndex;
83
+ return this.accounts[minIndex];
84
+ }
85
+ return this.accounts[this.activeIndex];
86
+ };
87
+ AccountRotator.prototype.markCurrentExhausted = function (cooldownMs, resetTimeISO) {
88
+ if (this.accounts.length === 0) {
89
+ return -1;
90
+ }
91
+ var currentAccount = this.accounts[this.activeIndex];
92
+ if (resetTimeISO) {
93
+ var resetTime = new Date(resetTimeISO);
94
+ if (!Number.isNaN(resetTime.getTime())) {
95
+ currentAccount.coolingDownUntil = resetTime.getTime();
96
+ }
97
+ else {
98
+ currentAccount.coolingDownUntil = Date.now() + (cooldownMs || 30 * 60 * 1000);
99
+ }
100
+ }
101
+ else {
102
+ currentAccount.coolingDownUntil = Date.now() + (cooldownMs || 30 * 60 * 1000);
103
+ }
104
+ this.activeIndex = (this.activeIndex + 1) % this.accounts.length;
105
+ this.saveToDisk();
106
+ return this.activeIndex;
107
+ };
108
+ AccountRotator.prototype.saveToDisk = function () {
109
+ var storagePath = this.getStoragePath();
110
+ // Ensure directory exists
111
+ var dir = path.dirname(storagePath);
112
+ if (!fs.existsSync(dir)) {
113
+ try {
114
+ fs.mkdirSync(dir, { recursive: true });
115
+ }
116
+ catch (error) {
117
+ console.error('Failed to create config directory:', error);
118
+ return;
119
+ }
120
+ }
121
+ var storage = {
122
+ version: 3,
123
+ accounts: this.accounts,
124
+ activeIndex: this.activeIndex
125
+ };
126
+ try {
127
+ fs.writeFileSync(storagePath, JSON.stringify(storage, null, 2), 'utf-8');
128
+ }
129
+ catch (error) {
130
+ console.error('Failed to save account storage:', error);
131
+ }
132
+ };
133
+ AccountRotator.prototype.getStoragePath = function () {
134
+ var xdgConfigHome = process.env.XDG_CONFIG_HOME;
135
+ if (xdgConfigHome) {
136
+ return path.join(xdgConfigHome, 'opencode', 'antigravity-accounts.json');
137
+ }
138
+ var homeDir = os.homedir();
139
+ return path.join(homeDir, '.config', 'opencode', 'antigravity-accounts.json');
140
+ };
141
+ return AccountRotator;
142
+ }());
143
+ exports.AccountRotator = AccountRotator;
@@ -0,0 +1,88 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.TokenStorageReader = void 0;
37
+ var fs = __importStar(require("fs"));
38
+ var path = __importStar(require("path"));
39
+ var os = __importStar(require("os"));
40
+ var TokenStorageReader = /** @class */ (function () {
41
+ function TokenStorageReader() {
42
+ if (!(this instanceof TokenStorageReader)) {
43
+ // @ts-ignore
44
+ return new TokenStorageReader();
45
+ }
46
+ this.accounts = [];
47
+ this.activeIndex = -1;
48
+ this.load();
49
+ }
50
+ TokenStorageReader.prototype.getAccounts = function () {
51
+ return this.accounts;
52
+ };
53
+ TokenStorageReader.prototype.getActiveIndex = function () {
54
+ return this.activeIndex;
55
+ };
56
+ TokenStorageReader.prototype.load = function () {
57
+ var _a;
58
+ var storagePath = this.getStoragePath();
59
+ if (!fs.existsSync(storagePath)) {
60
+ console.warn("Token storage file not found at ".concat(storagePath));
61
+ return;
62
+ }
63
+ try {
64
+ var content = fs.readFileSync(storagePath, 'utf-8');
65
+ var data = JSON.parse(content);
66
+ if (data.version !== 3) {
67
+ console.warn("Unsupported storage version: ".concat(data.version, ". Expected version 3."));
68
+ return;
69
+ }
70
+ var storage = data;
71
+ this.accounts = storage.accounts || [];
72
+ this.activeIndex = (_a = storage.activeIndex) !== null && _a !== void 0 ? _a : -1;
73
+ }
74
+ catch (error) {
75
+ console.error('Failed to parse token storage file:', error);
76
+ }
77
+ };
78
+ TokenStorageReader.prototype.getStoragePath = function () {
79
+ var xdgConfigHome = process.env.XDG_CONFIG_HOME;
80
+ if (xdgConfigHome) {
81
+ return path.join(xdgConfigHome, 'opencode', 'antigravity-accounts.json');
82
+ }
83
+ var homeDir = os.homedir();
84
+ return path.join(homeDir, '.config', 'opencode', 'antigravity-accounts.json');
85
+ };
86
+ return TokenStorageReader;
87
+ }());
88
+ exports.TokenStorageReader = TokenStorageReader;