opencode-antigravity-autopilot 2.1.2 → 2.1.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/plugin.d.ts CHANGED
@@ -1,21 +1,32 @@
1
- import type { PluginConfig } from './types';
2
- interface PluginContext {
1
+ interface PluginInput {
3
2
  client: any;
3
+ project: any;
4
4
  directory: string;
5
+ worktree: string;
6
+ serverUrl: URL;
7
+ $: any;
5
8
  }
6
- interface PluginResult {
7
- tool?: Record<string, any>;
8
- loader?: () => Promise<any>;
9
+ interface ToolDefinition {
10
+ description: string;
11
+ args: Record<string, any>;
12
+ execute: (args: any, ctx: any) => Promise<string>;
9
13
  }
10
- export declare const AntigravityQuotaPlugin: ({ client, directory }: PluginContext, config?: PluginConfig) => Promise<PluginResult>;
14
+ interface Event {
15
+ type: string;
16
+ properties?: Record<string, any>;
17
+ }
18
+ interface Hooks {
19
+ event?: (input: {
20
+ event: Event;
21
+ }) => Promise<void>;
22
+ tool?: Record<string, ToolDefinition>;
23
+ }
24
+ type Plugin = (input: PluginInput) => Promise<Hooks>;
25
+ export declare const plugin: Plugin;
26
+ export default plugin;
27
+ export declare const AntigravityQuotaPlugin: Plugin;
11
28
  export { QuotaManager } from './manager';
12
- export { createOhMyOpenCodeIntegration, generateOhMyOpenCodeConfig } from './oh-my-opencode';
13
- export type { PluginConfig, ModelRotationStrategy, QuotaInfo, ModelQuotaState } from './types';
14
- export { TokenStorageReader } from './auth/TokenStorageReader';
15
- export { AccountRotator } from './auth/AccountRotator';
16
- export { LSPFinder } from './quota/LSPFinder';
17
- export { QuotaPoller } from './quota/QuotaPoller';
29
+ export { QuotaCacheUpdater } from './quota/QuotaCacheUpdater';
18
30
  export { ApiQuotaPoller } from './quota/ApiQuotaPoller';
19
- export { QuotaTracker } from './rotation/QuotaTracker';
20
- export { ModelSelector } from './rotation/ModelSelector';
31
+ export type { PluginConfig, ModelRotationStrategy, QuotaInfo, ModelQuotaState } from './types';
21
32
  //# sourceMappingURL=plugin.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAE5C,UAAU,aAAa;IACrB,MAAM,EAAE,GAAG,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,UAAU,YAAY;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC3B,MAAM,CAAC,EAAE,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC;CAC7B;AAED,eAAO,MAAM,sBAAsB,GACjC,uBAAuB,aAAa,EACpC,SAAS,YAAY,KACpB,OAAO,CAAC,YAAY,CAqBtB,CAAC;AAEF,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,6BAA6B,EAAE,0BAA0B,EAAE,MAAM,kBAAkB,CAAC;AAC7F,YAAY,EAAE,YAAY,EAAE,qBAAqB,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAC/F,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,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC"}
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;AAOrD,eAAO,MAAM,MAAM,EAAE,MA2FpB,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
@@ -34,52 +34,194 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
34
34
  if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
35
35
  }
36
36
  };
37
+ var __values = (this && this.__values) || function(o) {
38
+ var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
39
+ if (m) return m.call(o);
40
+ if (o && typeof o.length === "number") return {
41
+ next: function () {
42
+ if (o && i >= o.length) o = void 0;
43
+ return { value: o && o[i++], done: !o };
44
+ }
45
+ };
46
+ throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
47
+ };
48
+ var __read = (this && this.__read) || function (o, n) {
49
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
50
+ if (!m) return o;
51
+ var i = m.call(o), r, ar = [], e;
52
+ try {
53
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
54
+ }
55
+ catch (error) { e = { error: error }; }
56
+ finally {
57
+ try {
58
+ if (r && !r.done && (m = i["return"])) m.call(i);
59
+ }
60
+ finally { if (e) throw e.error; }
61
+ }
62
+ return ar;
63
+ };
37
64
  import { QuotaManager } from './manager';
38
- import { createQuotaTools } from './plugin-tools';
39
- export var AntigravityQuotaPlugin = function (_a, config_1) { return __awaiter(void 0, [_a, config_1], void 0, function (_b, config) {
40
- var manager, quotaTools;
41
- var client = _b.client, directory = _b.directory;
42
- return __generator(this, function (_c) {
43
- switch (_c.label) {
65
+ import { QuotaCacheUpdater } from './quota/QuotaCacheUpdater';
66
+ import fs from 'fs';
67
+ var LOG_FILE = '/tmp/autopilot.log';
68
+ function logToFile(message) {
69
+ var timestamp = new Date().toISOString();
70
+ fs.appendFileSync(LOG_FILE, "[".concat(timestamp, "] [Plugin] ").concat(message, "\n"));
71
+ }
72
+ var QUOTA_WARNING_THRESHOLD = 0.15;
73
+ var QUOTA_CRITICAL_THRESHOLD = 0.10;
74
+ var IDLE_POLL_INTERVAL_MS = 5 * 60 * 1000;
75
+ function tool(def) {
76
+ return def;
77
+ }
78
+ export var plugin = function (ctx) { return __awaiter(void 0, void 0, void 0, function () {
79
+ var manager, cacheUpdater;
80
+ return __generator(this, function (_a) {
81
+ switch (_a.label) {
44
82
  case 0:
45
- manager = new QuotaManager(config);
83
+ manager = new QuotaManager();
46
84
  return [4, manager.initialize()];
47
85
  case 1:
48
- _c.sent();
49
- quotaTools = createQuotaTools(config);
86
+ _a.sent();
87
+ cacheUpdater = new QuotaCacheUpdater(manager, IDLE_POLL_INTERVAL_MS);
88
+ cacheUpdater.start();
89
+ logToFile('Autopilot plugin initialized');
50
90
  return [2, {
51
- tool: quotaTools,
52
- loader: function () { return __awaiter(void 0, void 0, void 0, function () {
53
- return __generator(this, function (_a) {
54
- return [2, {
55
- getQuota: function () { return __awaiter(void 0, void 0, void 0, function () { return __generator(this, function (_a) {
56
- return [2, manager.getQuota()];
57
- }); }); },
58
- rotateAccount: function () { return __awaiter(void 0, void 0, void 0, function () { return __generator(this, function (_a) {
59
- return [2, manager.rotateAccount()];
60
- }); }); },
61
- selectBestModel: function () { return manager.selectBestModel(); },
62
- updateQuotaForModel: function (model, quota) {
63
- return manager.updateQuotaForModel(model, quota);
64
- },
65
- getQuotaTracker: function () { return manager.getQuotaTracker(); },
66
- setModelRotationStrategy: function (strategy) {
67
- return manager.setModelRotationStrategy(strategy);
68
- },
69
- }];
91
+ event: function (_a) { return __awaiter(void 0, [_a], void 0, function (_b) {
92
+ var event = _b.event;
93
+ return __generator(this, function (_c) {
94
+ switch (_c.label) {
95
+ case 0:
96
+ if (!(event.type === 'session.idle')) return [3, 2];
97
+ logToFile('Session idle detected - refreshing quota');
98
+ return [4, cacheUpdater.onQueryCompleted()];
99
+ case 1:
100
+ _c.sent();
101
+ _c.label = 2;
102
+ case 2: return [2];
103
+ }
70
104
  });
71
105
  }); },
106
+ tool: {
107
+ autopilot_quota_status: tool({
108
+ description: 'Get current quota status for all models',
109
+ args: {},
110
+ execute: function (args, toolCtx) {
111
+ return __awaiter(this, void 0, void 0, function () {
112
+ var allQuotas, lines, seen, allQuotas_1, allQuotas_1_1, _a, model, quota, percentage, bar, status, err_1;
113
+ var e_1, _b;
114
+ return __generator(this, function (_c) {
115
+ switch (_c.label) {
116
+ case 0:
117
+ _c.trys.push([0, 2, , 3]);
118
+ return [4, manager.getAllQuotasViaApi()];
119
+ case 1:
120
+ allQuotas = _c.sent();
121
+ if (allQuotas.size === 0) {
122
+ return [2, '❌ No quota information available. Check authentication.'];
123
+ }
124
+ lines = ['# 📊 Quota Status\n'];
125
+ seen = new Set();
126
+ try {
127
+ for (allQuotas_1 = __values(allQuotas), allQuotas_1_1 = allQuotas_1.next(); !allQuotas_1_1.done; allQuotas_1_1 = allQuotas_1.next()) {
128
+ _a = __read(allQuotas_1_1.value, 2), model = _a[0], quota = _a[1];
129
+ if (seen.has(quota.model || model))
130
+ continue;
131
+ seen.add(quota.model || model);
132
+ percentage = Math.round(quota.remainingFraction * 100);
133
+ bar = '█'.repeat(Math.floor(percentage / 10)) + '░'.repeat(10 - Math.floor(percentage / 10));
134
+ status = percentage <= 10 ? '🔴' : percentage <= 25 ? '🟡' : '🟢';
135
+ lines.push("".concat(status, " **").concat(quota.model || model, "**: ").concat(bar, " ").concat(percentage, "%"));
136
+ if (quota.resetTime) {
137
+ lines.push(" Reset: ".concat(quota.resetTime));
138
+ }
139
+ }
140
+ }
141
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
142
+ finally {
143
+ try {
144
+ if (allQuotas_1_1 && !allQuotas_1_1.done && (_b = allQuotas_1.return)) _b.call(allQuotas_1);
145
+ }
146
+ finally { if (e_1) throw e_1.error; }
147
+ }
148
+ return [2, lines.join('\n')];
149
+ case 2:
150
+ err_1 = _c.sent();
151
+ logToFile("Error in quota_status tool: ".concat(err_1));
152
+ return [2, "\u274C Error: ".concat(err_1 instanceof Error ? err_1.message : String(err_1))];
153
+ case 3: return [2];
154
+ }
155
+ });
156
+ });
157
+ },
158
+ }),
159
+ autopilot_check_quota: tool({
160
+ description: 'Check quota and refresh cache',
161
+ args: {},
162
+ execute: function (args, toolCtx) {
163
+ return __awaiter(this, void 0, void 0, function () {
164
+ var allQuotas, lowestQuota, lowestModel, allQuotas_2, allQuotas_2_1, _a, model, quota, percentage, err_2;
165
+ var e_2, _b;
166
+ return __generator(this, function (_c) {
167
+ switch (_c.label) {
168
+ case 0:
169
+ _c.trys.push([0, 3, , 4]);
170
+ return [4, cacheUpdater.onQueryCompleted()];
171
+ case 1:
172
+ _c.sent();
173
+ return [4, manager.getAllQuotasViaApi()];
174
+ case 2:
175
+ allQuotas = _c.sent();
176
+ if (allQuotas.size === 0) {
177
+ return [2, 'No quota data available'];
178
+ }
179
+ lowestQuota = 1.0;
180
+ lowestModel = '';
181
+ try {
182
+ for (allQuotas_2 = __values(allQuotas), allQuotas_2_1 = allQuotas_2.next(); !allQuotas_2_1.done; allQuotas_2_1 = allQuotas_2.next()) {
183
+ _a = __read(allQuotas_2_1.value, 2), model = _a[0], quota = _a[1];
184
+ if (quota.remainingFraction < lowestQuota) {
185
+ lowestQuota = quota.remainingFraction;
186
+ lowestModel = model;
187
+ }
188
+ }
189
+ }
190
+ catch (e_2_1) { e_2 = { error: e_2_1 }; }
191
+ finally {
192
+ try {
193
+ if (allQuotas_2_1 && !allQuotas_2_1.done && (_b = allQuotas_2.return)) _b.call(allQuotas_2);
194
+ }
195
+ finally { if (e_2) throw e_2.error; }
196
+ }
197
+ percentage = Math.round(lowestQuota * 100);
198
+ if (lowestQuota <= QUOTA_CRITICAL_THRESHOLD) {
199
+ return [2, "\u26A0\uFE0F CRITICAL: ".concat(lowestModel, " at ").concat(percentage, "%. Switch imminent.")];
200
+ }
201
+ else if (lowestQuota <= QUOTA_WARNING_THRESHOLD) {
202
+ return [2, "\u26A0\uFE0F WARNING: ".concat(lowestModel, " at ").concat(percentage, "%.")];
203
+ }
204
+ else {
205
+ return [2, "\u2705 Quota OK: ".concat(lowestModel, " at ").concat(percentage, "%.")];
206
+ }
207
+ return [3, 4];
208
+ case 3:
209
+ err_2 = _c.sent();
210
+ return [2, "Error: ".concat(err_2 instanceof Error ? err_2.message : String(err_2))];
211
+ case 4: return [2];
212
+ }
213
+ });
214
+ });
215
+ },
216
+ }),
217
+ },
72
218
  }];
73
219
  }
74
220
  });
75
221
  }); };
222
+ export default plugin;
223
+ export var AntigravityQuotaPlugin = plugin;
76
224
  export { QuotaManager } from './manager';
77
- export { createOhMyOpenCodeIntegration, generateOhMyOpenCodeConfig } from './oh-my-opencode';
78
- export { TokenStorageReader } from './auth/TokenStorageReader';
79
- export { AccountRotator } from './auth/AccountRotator';
80
- export { LSPFinder } from './quota/LSPFinder';
81
- export { QuotaPoller } from './quota/QuotaPoller';
225
+ export { QuotaCacheUpdater } from './quota/QuotaCacheUpdater';
82
226
  export { ApiQuotaPoller } from './quota/ApiQuotaPoller';
83
- export { QuotaTracker } from './rotation/QuotaTracker';
84
- export { ModelSelector } from './rotation/ModelSelector';
85
227
  //# sourceMappingURL=plugin.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAalD,MAAM,CAAC,IAAM,sBAAsB,GAAG,qFACpC,EAAoC,EACpC,MAAqB;;QADnB,MAAM,YAAA,EAAE,SAAS,eAAA;;;;gBAGb,OAAO,GAAG,IAAI,YAAY,CAAC,MAAM,CAAC,CAAC;gBACzC,WAAM,OAAO,CAAC,UAAU,EAAE,EAAA;;gBAA1B,SAA0B,CAAC;gBAErB,UAAU,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;gBAE5C,WAAO;wBACL,IAAI,EAAE,UAAU;wBAChB,MAAM,EAAE;;gCACN,WAAO;wCACL,QAAQ,EAAE;4CAAY,WAAA,OAAO,CAAC,QAAQ,EAAE,EAAA;iDAAA;wCACxC,aAAa,EAAE;4CAAY,WAAA,OAAO,CAAC,aAAa,EAAE,EAAA;iDAAA;wCAClD,eAAe,EAAE,cAAM,OAAA,OAAO,CAAC,eAAe,EAAE,EAAzB,CAAyB;wCAChD,mBAAmB,EAAE,UAAC,KAAa,EAAE,KAAU;4CAC7C,OAAA,OAAO,CAAC,mBAAmB,CAAC,KAAK,EAAE,KAAK,CAAC;wCAAzC,CAAyC;wCAC3C,eAAe,EAAE,cAAM,OAAA,OAAO,CAAC,eAAe,EAAE,EAAzB,CAAyB;wCAChD,wBAAwB,EAAE,UAAC,QAAa;4CACtC,OAAA,OAAO,CAAC,wBAAwB,CAAC,QAAQ,CAAC;wCAA1C,CAA0C;qCAC7C,EAAC;;6BACH;qBACF,EAAC;;;KACH,CAAC;AAEF,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,6BAA6B,EAAE,0BAA0B,EAAE,MAAM,kBAAkB,CAAC;AAE7F,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,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC"}
1
+ {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ApiQuotaPoller.d.ts","sourceRoot":"","sources":["../../src/quota/ApiQuotaPoller.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAoClD,MAAM,WAAW,SAAS;IACxB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,WAAW,EAAE,OAAO,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAYD,qBAAa,mBAAoB,SAAQ,KAAK;gBAChC,OAAO,EAAE,MAAM;CAI5B;AAID,qBAAa,cAAc;;YAQX,kBAAkB;YAuClB,cAAc;IA4B5B,OAAO,CAAC,gBAAgB;YASV,oBAAoB;IAgC5B,UAAU,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAuDjE,kBAAkB,CAAC,OAAO,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;IAwB5F,YAAY,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;CAqBhF"}
1
+ {"version":3,"file":"ApiQuotaPoller.d.ts","sourceRoot":"","sources":["../../src/quota/ApiQuotaPoller.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AA0ClD,MAAM,WAAW,SAAS;IACxB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,WAAW,EAAE,OAAO,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAYD,qBAAa,mBAAoB,SAAQ,KAAK;gBAChC,OAAO,EAAE,MAAM;CAI5B;AAID,qBAAa,cAAc;;YAQX,kBAAkB;YAqClB,cAAc;IA0B5B,OAAO,CAAC,gBAAgB;YASV,oBAAoB;IA8B5B,UAAU,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAqDjE,kBAAkB,CAAC,OAAO,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;IAwB5F,YAAY,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;CAqBhF"}
@@ -76,6 +76,12 @@ var __read = (this && this.__read) || function (o, n) {
76
76
  }
77
77
  return ar;
78
78
  };
79
+ import fs from 'fs';
80
+ var LOG_FILE = '/tmp/autopilot.log';
81
+ function logToFile(message) {
82
+ var timestamp = new Date().toISOString();
83
+ fs.appendFileSync(LOG_FILE, "[".concat(timestamp, "] ").concat(message, "\n"));
84
+ }
79
85
  var ANTIGRAVITY_CLIENT_ID = '1071006060591-tmhssin2h21lcre235vtolojh4g403ep.apps.googleusercontent.com';
80
86
  var ANTIGRAVITY_CLIENT_SECRET = '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';
81
87
  var GOOGLE_TOKEN_URL = 'https://oauth2.googleapis.com/token';
@@ -127,7 +133,7 @@ var ApiQuotaPoller = (function () {
127
133
  case 2:
128
134
  response = _a.sent();
129
135
  if (!response.ok) {
130
- console.warn("refreshAccessToken: Failed ".concat(response.status));
136
+ logToFile("Token refresh failed: ".concat(response.status));
131
137
  if (response.status === 401 || response.status === 403) {
132
138
  throw new AuthenticationError("Token refresh failed (".concat(response.status, ")"));
133
139
  }
@@ -139,7 +145,7 @@ var ApiQuotaPoller = (function () {
139
145
  return [2, data.access_token];
140
146
  case 4:
141
147
  e_1 = _a.sent();
142
- console.warn('refreshAccessToken: Error', e_1.message);
148
+ logToFile("Token refresh error: ".concat(e_1.message));
143
149
  throw e_1;
144
150
  case 5:
145
151
  clearTimeout(timeout);
@@ -173,7 +179,7 @@ var ApiQuotaPoller = (function () {
173
179
  case 2:
174
180
  response = _a.sent();
175
181
  if (!response.ok) {
176
- console.warn("loadCodeAssist: Failed ".concat(response.status));
182
+ logToFile("loadCodeAssist failed: ".concat(response.status));
177
183
  throw new Error("loadCodeAssist failed (".concat(response.status, ")"));
178
184
  }
179
185
  return [4, response.json()];
@@ -220,7 +226,7 @@ var ApiQuotaPoller = (function () {
220
226
  case 2:
221
227
  response = _a.sent();
222
228
  if (!response.ok) {
223
- console.warn("fetchAvailableModels: Failed ".concat(response.status));
229
+ logToFile("fetchAvailableModels failed: ".concat(response.status));
224
230
  throw new Error("fetchModels failed (".concat(response.status, ")"));
225
231
  }
226
232
  return [4, response.json()];
@@ -295,7 +301,7 @@ var ApiQuotaPoller = (function () {
295
301
  if (error_1 instanceof AuthenticationError) {
296
302
  throw error_1;
297
303
  }
298
- console.warn('Failed to check quota via API:', error_1);
304
+ logToFile("Failed to check quota via API: ".concat(error_1));
299
305
  return [2, []];
300
306
  case 6: return [2];
301
307
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ApiQuotaPoller.js","sourceRoot":"","sources":["../../src/quota/ApiQuotaPoller.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ApiQuotaPoller.js","sourceRoot":"","sources":["../../src/quota/ApiQuotaPoller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,OAAO,EAAE,MAAM,IAAI,CAAC;AAEpB,IAAM,QAAQ,GAAG,oBAAoB,CAAC;AACtC,SAAS,SAAS,CAAC,OAAe;IAChC,IAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC3C,EAAE,CAAC,cAAc,CAAC,QAAQ,EAAE,WAAI,SAAS,eAAK,OAAO,OAAI,CAAC,CAAC;AAC7D,CAAC;AAiDD,IAAM,qBAAqB,GAAG,2EAA2E,CAAC;AAC1G,IAAM,yBAAyB,GAAG,qCAAqC,CAAC;AACxE,IAAM,gBAAgB,GAAG,qCAAqC,CAAC;AAC/D,IAAM,kBAAkB,GAAG,qCAAqC,CAAC;AACjE,IAAM,kBAAkB,GAAG;IACzB,OAAO,EAAE,aAAa;IACtB,QAAQ,EAAE,sBAAsB;IAChC,UAAU,EAAE,QAAQ;CACrB,CAAC;AAEF;IAAyC,uCAAK;IAC5C,6BAAY,OAAe;QACzB,YAAA,MAAK,YAAC,OAAO,CAAC,SAAC;QACf,KAAI,CAAC,IAAI,GAAG,qBAAqB,CAAC;;IACpC,CAAC;IACH,0BAAC;AAAD,CAAC,AALD,CAAyC,KAAK,GAK7C;;AAID;IACE;QACE,IAAI,CAAC,CAAC,IAAI,YAAY,cAAc,CAAC,EAAE,CAAC;YAEtC,OAAO,IAAI,cAAc,EAAE,CAAC;QAC9B,CAAC;IACH,CAAC;IAEa,2CAAkB,GAAhC,UAAiC,YAAoB;;;;;;wBAC7C,MAAM,GAAG,IAAI,eAAe,CAAC;4BACjC,SAAS,EAAE,qBAAqB;4BAChC,aAAa,EAAE,yBAAyB;4BACxC,aAAa,EAAE,YAAY;4BAC3B,UAAU,EAAE,eAAe;yBAC5B,CAAC,CAAC;wBAEG,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;wBACnC,OAAO,GAAG,UAAU,CAAC,cAAM,OAAA,UAAU,CAAC,KAAK,EAAE,EAAlB,CAAkB,EAAE,KAAK,CAAC,CAAC;;;;wBAGzC,WAAM,KAAK,CAAC,gBAAgB,EAAE;gCAC7C,MAAM,EAAE,MAAM;gCACd,OAAO,EAAE,EAAE,cAAc,EAAE,mCAAmC,EAAE;gCAChE,IAAI,EAAE,MAAM,CAAC,QAAQ,EAAE;gCACvB,MAAM,EAAE,UAAU,CAAC,MAAM;6BAC1B,CAAC,EAAA;;wBALI,QAAQ,GAAG,SAKf;wBAEF,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;4BACjB,SAAS,CAAC,gCAAyB,QAAQ,CAAC,MAAM,CAAE,CAAC,CAAC;4BACtD,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;gCACvD,MAAM,IAAI,mBAAmB,CAAC,gCAAyB,QAAQ,CAAC,MAAM,MAAG,CAAC,CAAC;4BAC7E,CAAC;4BACD,MAAM,IAAI,KAAK,CAAC,gCAAyB,QAAQ,CAAC,MAAM,MAAG,CAAC,CAAC;wBAC/D,CAAC;wBAEa,WAAM,QAAQ,CAAC,IAAI,EAAE,EAAA;;wBAA7B,IAAI,GAAG,CAAC,SAAqB,CAAkB;wBACrD,WAAO,IAAI,CAAC,YAAY,EAAC;;;wBAEzB,SAAS,CAAC,+BAAwB,GAAC,CAAC,OAAO,CAAE,CAAC,CAAC;wBAC/C,MAAM,GAAC,CAAC;;wBAER,YAAY,CAAC,OAAO,CAAC,CAAC;;;;;;KAEzB;IAEa,uCAAc,GAA5B,UAA6B,WAAmB;;;;;;wBACxC,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;wBACnC,OAAO,GAAG,UAAU,CAAC,cAAM,OAAA,UAAU,CAAC,KAAK,EAAE,EAAlB,CAAkB,EAAE,KAAK,CAAC,CAAC;;;;wBAGzC,WAAM,KAAK,CAAC,UAAG,kBAAkB,+BAA4B,EAAE;gCAC9E,MAAM,EAAE,MAAM;gCACd,OAAO,EAAE;oCACP,aAAa,EAAE,iBAAU,WAAW,CAAE;oCACtC,cAAc,EAAE,kBAAkB;oCAClC,YAAY,EAAE,aAAa;iCAC5B;gCACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,kBAAkB,EAAE,CAAC;gCACtD,MAAM,EAAE,UAAU,CAAC,MAAM;6BAC1B,CAAC,EAAA;;wBATI,QAAQ,GAAG,SASf;wBAEF,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;4BACjB,SAAS,CAAC,iCAA0B,QAAQ,CAAC,MAAM,CAAE,CAAC,CAAC;4BACvD,MAAM,IAAI,KAAK,CAAC,iCAA0B,QAAQ,CAAC,MAAM,MAAG,CAAC,CAAC;wBAChE,CAAC;wBACO,WAAM,QAAQ,CAAC,IAAI,EAAE,EAAA;4BAA7B,WAAO,CAAC,SAAqB,CAA2B,EAAC;;wBAEzD,YAAY,CAAC,OAAO,CAAC,CAAC;;;;;;KAEzB;IAEO,yCAAgB,GAAxB,UAAyB,uBAAgC;QACvD,IAAI,CAAC,uBAAuB;YAAE,OAAO,SAAS,CAAC;QAC/C,IAAI,OAAO,uBAAuB,KAAK,QAAQ,EAAE,CAAC;YAChD,IAAM,KAAK,GAAG,uBAAuB,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;YACjE,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACtC,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAEa,6CAAoB,GAAlC,UACE,WAAmB,EACnB,SAAkB;;;;;;wBAEZ,OAAO,GAAG,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;wBAClD,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;wBACnC,OAAO,GAAG,UAAU,CAAC,cAAM,OAAA,UAAU,CAAC,KAAK,EAAE,EAAlB,CAAkB,EAAE,KAAK,CAAC,CAAC;;;;wBAGzC,WAAM,KAAK,CAAC,UAAG,kBAAkB,qCAAkC,EAAE;gCACpF,MAAM,EAAE,MAAM;gCACd,OAAO,EAAE;oCACP,aAAa,EAAE,iBAAU,WAAW,CAAE;oCACtC,cAAc,EAAE,kBAAkB;oCAClC,YAAY,EAAE,aAAa;iCAC5B;gCACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;gCAC7B,MAAM,EAAE,UAAU,CAAC,MAAM;6BAC1B,CAAC,EAAA;;wBATI,QAAQ,GAAG,SASf;wBAEF,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;4BACjB,SAAS,CAAC,uCAAgC,QAAQ,CAAC,MAAM,CAAE,CAAC,CAAC;4BAC7D,MAAM,IAAI,KAAK,CAAC,8BAAuB,QAAQ,CAAC,MAAM,MAAG,CAAC,CAAC;wBAC7D,CAAC;wBACO,WAAM,QAAQ,CAAC,IAAI,EAAE,EAAA;4BAA7B,WAAO,CAAC,SAAqB,CAA2B,EAAC;;wBAEzD,YAAY,CAAC,OAAO,CAAC,CAAC;;;;;;KAEzB;IAEK,mCAAU,GAAhB,UAAiB,OAA0B;;;;;;;;;wBAEnB,WAAM,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,YAAY,CAAC,EAAA;;wBAAjE,WAAW,GAAG,SAAmD;wBACnE,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,gBAAgB,CAAC;6BAE1D,CAAC,SAAS,EAAV,cAAU;wBACO,WAAM,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,EAAA;;wBAAnD,UAAU,GAAG,SAAsC;wBACzD,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,uBAAuB,CAAC,CAAC;;4BAGlD,WAAM,IAAI,CAAC,oBAAoB,CAAC,WAAW,EAAE,SAAS,CAAC,EAAA;;wBAAvE,aAAa,GAAG,SAAuD;wBAC7E,IAAI,CAAC,aAAa,CAAC,MAAM;4BAAE,WAAO,EAAE,EAAC;wBAE/B,MAAM,GAAqB,EAAE,CAAC;;4BAEpC,KAA+B,KAAA,SAAA,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,CAAA,4CAAE,CAAC;gCAA3D,KAAA,mBAAgB,EAAf,QAAQ,QAAA,EAAE,IAAI,QAAA;gCAClB,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;gCACjC,IAAI,CAAC,SAAS;oCAAE,SAAS;gCAEnB,KAAK,GAAG,IAAI,CAAC,WAAW,IAAI,QAAQ,CAAC;gCACrC,UAAU,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;gCAGvC,IACE,UAAU,CAAC,UAAU,CAAC,OAAO,CAAC;oCAC9B,UAAU,CAAC,UAAU,CAAC,OAAO,CAAC;oCAC9B,UAAU,CAAC,QAAQ,CAAC,YAAY,CAAC;oCACjC,UAAU,CAAC,QAAQ,CAAC,oBAAoB,CAAC,EACzC,CAAC;oCACD,SAAS;gCACX,CAAC;gCAEK,iBAAiB,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAA,SAAS,CAAC,iBAAiB,mCAAI,CAAC,CAAC,CAAC,CAAC;gCAErF,MAAM,CAAC,IAAI,CAAC;oCACV,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,QAAQ;oCAC7B,WAAW,EAAE,KAAK;oCAClB,iBAAiB,mBAAA;oCACjB,WAAW,EAAE,iBAAiB,IAAI,CAAC;oCACnC,SAAS,EAAE,SAAS,CAAC,SAAS;iCAC/B,CAAC,CAAC;4BACL,CAAC;;;;;;;;;wBAED,WAAO,MAAM,EAAC;;;wBAEd,IAAI,OAAK,YAAY,mBAAmB,EAAE,CAAC;4BACzC,MAAM,OAAK,CAAC;wBACd,CAAC;wBACD,SAAS,CAAC,yCAAkC,OAAK,CAAE,CAAC,CAAC;wBACrD,WAAO,EAAE,EAAC;;;;;KAEb;IAEK,2CAAkB,GAAxB,UAAyB,OAA0B,EAAE,SAAiB;;;;;4BACrD,WAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAA;;wBAAvC,MAAM,GAAG,SAA8B;wBAGzC,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,KAAK,KAAK,SAAS,IAAI,CAAC,CAAC,WAAW,KAAK,SAAS,EAApD,CAAoD,CAAC,CAAC;wBAGnF,IAAI,CAAC,KAAK,EAAE,CAAC;4BACL,qBAAmB,SAAS,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;4BACvE,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,UAAA,CAAC;gCACnB,OAAA,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,kBAAgB,CAAC;oCAChD,CAAC,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,kBAAgB,CAAC;4BADtD,CACsD,CACvD,CAAC;wBACJ,CAAC;wBAED,IAAI,CAAC,KAAK;4BAAE,WAAO,IAAI,EAAC;wBAExB,WAAO;gCACL,iBAAiB,EAAE,KAAK,CAAC,iBAAiB;gCAC1C,SAAS,EAAE,KAAK,CAAC,SAAS;gCAC1B,KAAK,EAAE,KAAK,CAAC,KAAK;6BACnB,EAAC;;;;KACH;IAEK,qCAAY,GAAlB,UAAmB,OAA0B;;;;;;4BAC5B,WAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAA;;wBAAvC,MAAM,GAAG,SAA8B;wBACvC,QAAQ,GAAG,IAAI,GAAG,EAAqB,CAAC;;4BAE9C,KAAoB,WAAA,SAAA,MAAM,CAAA,gFAAE,CAAC;gCAAlB,KAAK;gCACd,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE;oCACxB,iBAAiB,EAAE,KAAK,CAAC,iBAAiB;oCAC1C,SAAS,EAAE,KAAK,CAAC,SAAS;oCAC1B,KAAK,EAAE,KAAK,CAAC,KAAK;iCACnB,CAAC,CAAC;gCAGH,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,EAAE;oCAC9B,iBAAiB,EAAE,KAAK,CAAC,iBAAiB;oCAC1C,SAAS,EAAE,KAAK,CAAC,SAAS;oCAC1B,KAAK,EAAE,KAAK,CAAC,KAAK;iCACnB,CAAC,CAAC;4BACL,CAAC;;;;;;;;;wBAED,WAAO,QAAQ,EAAC;;;;KACjB;IACH,qBAAC;AAAD,CAAC,AAhND,IAgNC"}
@@ -1,14 +1,19 @@
1
1
  import { QuotaManager } from '../manager';
2
- import { QuotaInfo } from '../types';
3
- export declare function writeQuotaToCache(quota: QuotaInfo): Promise<void>;
2
+ export declare function writeQuotaToCache(quota: {
3
+ remainingFraction: number;
4
+ model?: string;
5
+ }): Promise<void>;
4
6
  export declare class QuotaCacheUpdater {
5
7
  private manager;
6
- private intervalId;
7
- private updateIntervalMs;
8
- constructor(manager: QuotaManager, updateIntervalMs?: number);
8
+ private idleTimeoutId;
9
+ private idlePollIntervalMs;
10
+ private lastQueryTime;
11
+ constructor(manager: QuotaManager, idlePollIntervalMs?: number);
9
12
  updateCache(): Promise<void>;
13
+ onQueryCompleted(): Promise<void>;
10
14
  start(): void;
15
+ private resetIdleTimer;
11
16
  stop(): void;
12
17
  }
13
- export declare function startQuotaCacheService(updateIntervalMs?: number): Promise<QuotaCacheUpdater>;
18
+ export declare function startQuotaCacheService(idlePollIntervalMs?: number): Promise<QuotaCacheUpdater>;
14
19
  //# sourceMappingURL=QuotaCacheUpdater.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"QuotaCacheUpdater.d.ts","sourceRoot":"","sources":["../../src/quota/QuotaCacheUpdater.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE1C,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAoBrC,wBAAsB,iBAAiB,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAoBvE;AAED,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,OAAO,CAAgB;IAC/B,OAAO,CAAC,UAAU,CAAyB;IAC3C,OAAO,CAAC,gBAAgB,CAAU;gBAEtB,OAAO,EAAE,YAAY,EAAE,gBAAgB,GAAE,MAAe;IAmB9D,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IAsBlC,KAAK,IAAI,IAAI;IASb,IAAI,IAAI,IAAI;CAMb;AAED,wBAAsB,sBAAsB,CAAC,gBAAgB,GAAE,MAAe,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAQ1G"}
1
+ {"version":3,"file":"QuotaCacheUpdater.d.ts","sourceRoot":"","sources":["../../src/quota/QuotaCacheUpdater.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AA0B1C,wBAAsB,iBAAiB,CAAC,KAAK,EAAE;IAAE,iBAAiB,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAmB3G;AAID,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,OAAO,CAAgB;IAC/B,OAAO,CAAC,aAAa,CAAyB;IAC9C,OAAO,CAAC,kBAAkB,CAAU;IACpC,OAAO,CAAC,aAAa,CAAU;gBAEnB,OAAO,EAAE,YAAY,EAAE,kBAAkB,GAAE,MAAsC;IAWvF,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IA+B5B,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC;IASvC,KAAK,IAAI,IAAI;IAUb,OAAO,CAAC,cAAc;IAatB,IAAI,IAAI,IAAI;CAOb;AAED,wBAAsB,sBAAsB,CAAC,kBAAkB,GAAE,MAAsC,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAQnI"}
@@ -38,6 +38,11 @@ import { QuotaManager } from '../manager';
38
38
  import fs from 'fs';
39
39
  import path from 'path';
40
40
  import os from 'os';
41
+ var LOG_FILE = '/tmp/autopilot.log';
42
+ function logToFile(message) {
43
+ var timestamp = new Date().toISOString();
44
+ fs.appendFileSync(LOG_FILE, "[".concat(timestamp, "] [QuotaCacheUpdater] ").concat(message, "\n"));
45
+ }
41
46
  function getQuotaCachePath() {
42
47
  var xdgConfigHome = process.env.XDG_CONFIG_HOME;
43
48
  if (xdgConfigHome) {
@@ -48,109 +53,131 @@ function getQuotaCachePath() {
48
53
  }
49
54
  export function writeQuotaToCache(quota) {
50
55
  return __awaiter(this, void 0, void 0, function () {
51
- var cache, cachePath, cacheDir, error_1;
56
+ var cache, cachePath, cacheDir;
52
57
  return __generator(this, function (_a) {
53
- switch (_a.label) {
54
- case 0:
55
- _a.trys.push([0, 2, , 3]);
56
- cache = {
57
- percentage: Math.round(quota.remainingFraction * 100),
58
- model: quota.model || 'unknown',
59
- timestamp: Date.now(),
60
- };
61
- cachePath = getQuotaCachePath();
62
- cacheDir = path.dirname(cachePath);
63
- if (!fs.existsSync(cacheDir)) {
64
- fs.mkdirSync(cacheDir, { recursive: true });
65
- }
66
- return [4, fs.promises.writeFile(cachePath, JSON.stringify(cache, null, 2), 'utf-8')];
67
- case 1:
68
- _a.sent();
69
- return [3, 3];
70
- case 2:
71
- error_1 = _a.sent();
72
- console.warn('Failed to write quota cache', error_1);
73
- return [3, 3];
74
- case 3: return [2];
58
+ try {
59
+ cache = {
60
+ percentage: Math.round(quota.remainingFraction * 100),
61
+ model: quota.model || 'unknown',
62
+ timestamp: Date.now(),
63
+ };
64
+ cachePath = getQuotaCachePath();
65
+ cacheDir = path.dirname(cachePath);
66
+ if (!fs.existsSync(cacheDir)) {
67
+ fs.mkdirSync(cacheDir, { recursive: true });
68
+ }
69
+ fs.writeFileSync(cachePath, JSON.stringify(cache, null, 2), 'utf-8');
70
+ }
71
+ catch (error) {
72
+ logToFile("Failed to write quota cache: ".concat(error));
75
73
  }
74
+ return [2];
76
75
  });
77
76
  });
78
77
  }
78
+ var DEFAULT_IDLE_POLL_INTERVAL_MS = 5 * 60 * 1000;
79
79
  var QuotaCacheUpdater = (function () {
80
- function QuotaCacheUpdater(manager, updateIntervalMs) {
81
- if (updateIntervalMs === void 0) { updateIntervalMs = 300000; }
80
+ function QuotaCacheUpdater(manager, idlePollIntervalMs) {
81
+ if (idlePollIntervalMs === void 0) { idlePollIntervalMs = DEFAULT_IDLE_POLL_INTERVAL_MS; }
82
82
  if (!(this instanceof QuotaCacheUpdater)) {
83
- return new QuotaCacheUpdater(manager, updateIntervalMs);
83
+ return new QuotaCacheUpdater(manager, idlePollIntervalMs);
84
84
  }
85
- this.intervalId = null;
85
+ this.idleTimeoutId = null;
86
86
  this.manager = manager;
87
- if (!updateIntervalMs || isNaN(updateIntervalMs) || updateIntervalMs < 300000) {
88
- this.updateIntervalMs = 300000;
89
- }
90
- else {
91
- this.updateIntervalMs = updateIntervalMs;
92
- }
93
- this.updateCache = this.updateCache.bind(this);
94
- this.start = this.start.bind(this);
95
- this.stop = this.stop.bind(this);
87
+ this.idlePollIntervalMs = idlePollIntervalMs;
88
+ this.lastQueryTime = 0;
96
89
  }
97
90
  QuotaCacheUpdater.prototype.updateCache = function () {
98
91
  return __awaiter(this, void 0, void 0, function () {
99
- var interval, quota, error_2;
100
- var _this = this;
92
+ var quota, cache, cachePath, cacheDir, error_1;
101
93
  return __generator(this, function (_a) {
102
94
  switch (_a.label) {
103
95
  case 0:
104
- interval = this.updateIntervalMs;
105
- _a.label = 1;
106
- case 1:
107
- _a.trys.push([1, 5, 6, 7]);
96
+ _a.trys.push([0, 2, , 3]);
108
97
  return [4, this.manager.getQuotaViaApi()];
109
- case 2:
98
+ case 1:
110
99
  quota = _a.sent();
111
- if (!quota) return [3, 4];
112
- return [4, writeQuotaToCache(quota)];
113
- case 3:
114
- _a.sent();
115
- _a.label = 4;
116
- case 4: return [3, 7];
117
- case 5:
118
- error_2 = _a.sent();
119
- console.warn('Failed to update quota cache (poller)', error_2);
120
- return [3, 7];
121
- case 6:
122
- if (this.intervalId !== null) {
123
- this.intervalId = setTimeout(function () {
124
- _this.updateCache();
125
- }, interval);
100
+ if (!quota) {
101
+ return [2];
126
102
  }
127
- return [7];
128
- case 7: return [2];
103
+ cache = {
104
+ percentage: Math.round(quota.remainingFraction * 100),
105
+ model: quota.model || 'unknown',
106
+ timestamp: Date.now(),
107
+ };
108
+ cachePath = getQuotaCachePath();
109
+ cacheDir = path.dirname(cachePath);
110
+ if (!fs.existsSync(cacheDir)) {
111
+ fs.mkdirSync(cacheDir, { recursive: true });
112
+ }
113
+ fs.writeFileSync(cachePath, JSON.stringify(cache, null, 2), 'utf-8');
114
+ logToFile("Cache updated: ".concat(cache.percentage, "% remaining for ").concat(cache.model));
115
+ return [3, 3];
116
+ case 2:
117
+ error_1 = _a.sent();
118
+ logToFile("Failed to update quota cache: ".concat(error_1));
119
+ return [3, 3];
120
+ case 3: return [2];
121
+ }
122
+ });
123
+ });
124
+ };
125
+ QuotaCacheUpdater.prototype.onQueryCompleted = function () {
126
+ return __awaiter(this, void 0, void 0, function () {
127
+ return __generator(this, function (_a) {
128
+ switch (_a.label) {
129
+ case 0:
130
+ this.lastQueryTime = Date.now();
131
+ return [4, this.updateCache()];
132
+ case 1:
133
+ _a.sent();
134
+ this.resetIdleTimer();
135
+ return [2];
129
136
  }
130
137
  });
131
138
  });
132
139
  };
133
140
  QuotaCacheUpdater.prototype.start = function () {
141
+ logToFile('Starting QuotaCacheUpdater');
142
+ this.lastQueryTime = Date.now();
143
+ this.updateCache();
144
+ this.resetIdleTimer();
145
+ };
146
+ QuotaCacheUpdater.prototype.resetIdleTimer = function () {
134
147
  var _this = this;
135
- if (this.intervalId)
136
- return;
137
- this.intervalId = setTimeout(function () {
138
- _this.updateCache();
139
- }, 100);
148
+ if (this.idleTimeoutId) {
149
+ clearTimeout(this.idleTimeoutId);
150
+ }
151
+ this.idleTimeoutId = setTimeout(function () { return __awaiter(_this, void 0, void 0, function () {
152
+ var timeSinceLastQuery;
153
+ return __generator(this, function (_a) {
154
+ switch (_a.label) {
155
+ case 0:
156
+ timeSinceLastQuery = Date.now() - this.lastQueryTime;
157
+ logToFile("Idle poll triggered. Time since last query: ".concat(Math.round(timeSinceLastQuery / 1000), "s"));
158
+ return [4, this.updateCache()];
159
+ case 1:
160
+ _a.sent();
161
+ this.resetIdleTimer();
162
+ return [2];
163
+ }
164
+ });
165
+ }); }, this.idlePollIntervalMs);
140
166
  };
141
167
  QuotaCacheUpdater.prototype.stop = function () {
142
- if (this.intervalId) {
143
- clearTimeout(this.intervalId);
144
- this.intervalId = null;
168
+ if (this.idleTimeoutId) {
169
+ clearTimeout(this.idleTimeoutId);
170
+ this.idleTimeoutId = null;
145
171
  }
172
+ logToFile('QuotaCacheUpdater stopped');
146
173
  };
147
174
  return QuotaCacheUpdater;
148
175
  }());
149
176
  export { QuotaCacheUpdater };
150
177
  export function startQuotaCacheService() {
151
- return __awaiter(this, arguments, void 0, function (updateIntervalMs) {
178
+ return __awaiter(this, arguments, void 0, function (idlePollIntervalMs) {
152
179
  var manager, updater;
153
- if (updateIntervalMs === void 0) { updateIntervalMs = 300000; }
180
+ if (idlePollIntervalMs === void 0) { idlePollIntervalMs = DEFAULT_IDLE_POLL_INTERVAL_MS; }
154
181
  return __generator(this, function (_a) {
155
182
  switch (_a.label) {
156
183
  case 0:
@@ -158,7 +185,7 @@ export function startQuotaCacheService() {
158
185
  return [4, manager.initialize()];
159
186
  case 1:
160
187
  _a.sent();
161
- updater = new QuotaCacheUpdater(manager, updateIntervalMs);
188
+ updater = new QuotaCacheUpdater(manager, idlePollIntervalMs);
162
189
  updater.start();
163
190
  return [2, updater];
164
191
  }
@@ -1 +1 @@
1
- {"version":3,"file":"QuotaCacheUpdater.js","sourceRoot":"","sources":["../../src/quota/QuotaCacheUpdater.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"QuotaCacheUpdater.js","sourceRoot":"","sources":["../../src/quota/QuotaCacheUpdater.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=reproduce_crash.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reproduce_crash.d.ts","sourceRoot":"","sources":["../../src/rotation/reproduce_crash.ts"],"names":[],"mappings":""}
@@ -0,0 +1,10 @@
1
+ import { HardLimitDetector } from './HardLimitDetector';
2
+ console.log('Attempting to call HardLimitDetector without new...');
3
+ try {
4
+ var instance = HardLimitDetector();
5
+ console.log('Successfully created instance via function call');
6
+ }
7
+ catch (error) {
8
+ console.error('Caught error:', error);
9
+ }
10
+ //# sourceMappingURL=reproduce_crash.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reproduce_crash.js","sourceRoot":"","sources":["../../src/rotation/reproduce_crash.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD,OAAO,CAAC,GAAG,CAAC,qDAAqD,CAAC,CAAC;AAEnE,IAAI,CAAC;IAED,IAAM,QAAQ,GAAG,iBAAiB,EAAE,CAAC;IACrC,OAAO,CAAC,GAAG,CAAC,iDAAiD,CAAC,CAAC;AACnE,CAAC;AAAC,OAAO,KAAK,EAAE,CAAC;IACb,OAAO,CAAC,KAAK,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC;AAC1C,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "opencode-antigravity-autopilot",
3
- "version": "2.1.2",
3
+ "version": "2.1.3",
4
4
  "description": "Intelligent quota monitoring and model auto-switching for OpenCode with Antigravity. Plugin-based, zero source modifications required.",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",
@@ -60,4 +60,4 @@
60
60
  "peerDependencies": {
61
61
  "opencode-antigravity-auth": "^1.2.8"
62
62
  }
63
- }
63
+ }