gobananas-cli 1.3.6 → 1.3.7

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/README.md CHANGED
@@ -7,14 +7,16 @@
7
7
 
8
8
  Interactive command-line interface and MCP proxy for [Go Bananas](https://gobananasai.com) AI image generation.
9
9
 
10
- ## What's New (v1.3.0)
10
+ ## What's New (v1.3.6)
11
11
 
12
- - **Subscription-aware `gb generate`**: compatible OAuth requests use the connected subscription
13
- through the server router, with explicit `--subscription` and `--provider` controls.
14
- - **No silent provider fallback**: The initialization policy distinguishes connected
15
- ChatGPT/Codex subscription generation from provider-billed Gemini/OpenAI tools.
16
- - **Cross-client diagnostics**: `go_bananas_diagnose` now reports whether the current
17
- authorization mode can access a personal subscription.
12
+ - **1.3.6** — when Go Bananas rejects the sign-in, the MCP proxy says the tool did not run and is
13
+ safe to retry, instead of warning that it may have completed.
14
+ - **1.3.5** — the MCP proxy and CLI client read the browser-login token for every request and
15
+ refresh it on a 401, so a session that outlives its access token no longer fails one call with
16
+ "Access token has expired".
17
+ - Earlier: 1.3.0 added authoritative subscription routing, explicit generation lanes
18
+ (`--subscription` / `--provider`), and structured source/billing provenance. See
19
+ [CHANGELOG.md](https://github.com/davendra/go-bananas-app/blob/main/CHANGELOG.md) — "CLI / MCP proxy releases" — for the full history.
18
20
 
19
21
  ## Install
20
22
 
@@ -139,6 +141,14 @@ then `streamable-http`; supported values are `auto`, `streamable-http`, and `sse
139
141
  Authentication precedence is an explicit API key, a valid OAuth login bound to
140
142
  that server, then the environment or saved API key. An environment key does not
141
143
  override an existing valid OAuth login; use `--api-key` when that is intentional.
144
+ If the saved login can no longer be refreshed, the proxy switches to the environment
145
+ or saved API key for the same server (in a new upstream session) instead of failing,
146
+ and says so once on stderr and in `go_bananas_diagnose`. A temporary failure of the token
147
+ endpoint (rate limit, server error or challenge page) fails only that call and keeps
148
+ the login. Subscription tools need the
149
+ login, so run `gb auth login` to restore them. Proxy processes that share one login
150
+ refresh it under a lock file next to the config file, because the server revokes
151
+ the whole login when a refresh token is used twice.
142
152
 
143
153
  The offline CLI suite exercises both shipped entry points with isolated profiles:
144
154
  initialise, tool discovery, an authenticated fixture tool call, diagnostics and
@@ -19,6 +19,15 @@ export declare function getAuthHeaders(explicitApiKey?: string, baseUrl?: string
19
19
  export declare class LoginExpiredError extends Error {
20
20
  name: string;
21
21
  }
22
+ /**
23
+ * The API key to use when the saved browser login can no longer be refreshed:
24
+ * GO_BANANAS_API_KEY / MCP_API_KEY, else the config-file key. Keys are
25
+ * configured for one server, so none is returned for any other base URL.
26
+ */
27
+ export declare function getLoginFallbackApiKey(baseUrl: string): {
28
+ apiKey: string;
29
+ source: string;
30
+ } | undefined;
22
31
  /**
23
32
  * Credentials for a long-lived MCP transport. A browser login's access token
24
33
  * expires while the session stays open, so it is supplied per request through
@@ -1 +1 @@
1
- {"version":3,"file":"oauth.d.ts","sourceRoot":"","sources":["../../src/auth/oauth.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAA+C,KAAK,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAiCpG,MAAM,WAAW,YAAY;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;CACnB;AAyQD,wBAAsB,uBAAuB,CAC3C,KAAK,EAAE,WAAW,EAClB,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,CAQ7B;AAED,wBAAsB,mBAAmB,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAoBlF;AAED,wBAAsB,cAAc,CAClC,cAAc,CAAC,EAAE,MAAM,EACvB,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAYjC;AAED,mFAAmF;AACnF,qBAAa,iBAAkB,SAAQ,KAAK;IACjC,IAAI,SAAuB;CACrC;AAED;;;;;GAKG;AACH,wBAAsB,gBAAgB,CACpC,cAAc,EAAE,MAAM,GAAG,SAAS,EAClC,OAAO,EAAE,MAAM,GACd,OAAO,CAAC;IAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAAC,YAAY,CAAC,EAAE,YAAY,CAAA;CAAE,CAAC,CAwB3E;AAED,wBAAsB,gBAAgB,CAAC,OAAO,GAAE,YAAiB,GAAG,OAAO,CAAC,WAAW,CAAC,CA8DvF;AAED,wBAAgB,WAAW,IAAI,IAAI,CAElC"}
1
+ {"version":3,"file":"oauth.d.ts","sourceRoot":"","sources":["../../src/auth/oauth.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAML,KAAK,WAAW,EACjB,MAAM,qBAAqB,CAAC;AAqC7B,MAAM,WAAW,YAAY;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;CACnB;AA0VD,wBAAsB,uBAAuB,CAC3C,KAAK,EAAE,WAAW,EAClB,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,CAQ7B;AAED,wBAAsB,mBAAmB,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAoBlF;AAED,wBAAsB,cAAc,CAClC,cAAc,CAAC,EAAE,MAAM,EACvB,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAYjC;AAED,mFAAmF;AACnF,qBAAa,iBAAkB,SAAQ,KAAK;IACjC,IAAI,SAAuB;CACrC;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,MAAM,GACd;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CAKhD;AAED;;;;;GAKG;AACH,wBAAsB,gBAAgB,CACpC,cAAc,EAAE,MAAM,GAAG,SAAS,EAClC,OAAO,EAAE,MAAM,GACd,OAAO,CAAC;IAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAAC,YAAY,CAAC,EAAE,YAAY,CAAA;CAAE,CAAC,CA4C3E;AAED,wBAAsB,gBAAgB,CAAC,OAAO,GAAE,YAAiB,GAAG,OAAO,CAAC,WAAW,CAAC,CA8DvF;AAED,wBAAgB,WAAW,IAAI,IAAI,CAElC"}
@@ -1,9 +1,14 @@
1
1
  import { createHash, randomBytes } from 'node:crypto';
2
2
  import { spawn } from 'node:child_process';
3
+ import { open, readFile, stat, unlink } from 'node:fs/promises';
3
4
  import http from 'node:http';
4
- import { clearOAuthConfig, getConfig, setOAuthConfig } from '../config/config.js';
5
+ import { clearOAuthConfig, getConfig, describeApiKeySource, getConfigPath, setOAuthConfig, } from '../config/config.js';
5
6
  const OAUTH_REFRESH_SKEW_MS = 60_000;
6
7
  const RECENT_REFRESH_MS = 10_000;
8
+ // Longer than the 30 s refresh request timeout, so a live holder is never taken over.
9
+ const REFRESH_LOCK_STALE_MS = 35_000;
10
+ const REFRESH_LOCK_POLL_MS = 50;
11
+ const REFRESH_LOCK_MISSING_RETRIES = 20;
7
12
  const refreshes = new Map();
8
13
  const DEFAULT_SCOPES = [
9
14
  'images:generate',
@@ -169,6 +174,63 @@ async function exchangeAuthorizationCode(params) {
169
174
  }
170
175
  return (await response.json());
171
176
  }
177
+ /**
178
+ * Cross-process lock around a refresh. Several proxy processes share one saved
179
+ * login, and the server revokes the whole token family when a refresh token is
180
+ * reused, so two processes must never refresh with the same token. The lock is
181
+ * a file created exclusively next to the config file; a holder that crashed or
182
+ * hung is taken over after REFRESH_LOCK_STALE_MS.
183
+ */
184
+ async function withRefreshLock(fn) {
185
+ const lockPath = `${getConfigPath()}.refresh.lock`;
186
+ const owner = `${process.pid}:${randomBytes(8).toString('hex')}`;
187
+ let missingLockRetries = 0;
188
+ for (;;) {
189
+ try {
190
+ const handle = await open(lockPath, 'wx');
191
+ try {
192
+ await handle.writeFile(owner);
193
+ }
194
+ finally {
195
+ await handle.close();
196
+ }
197
+ break;
198
+ }
199
+ catch (error) {
200
+ const code = error.code;
201
+ // Windows reports EPERM/EACCES for a lock file another process holds or is deleting.
202
+ if (code !== 'EEXIST' && code !== 'EPERM' && code !== 'EACCES')
203
+ throw error;
204
+ let mtimeMs;
205
+ try {
206
+ mtimeMs = (await stat(lockPath)).mtimeMs;
207
+ }
208
+ catch {
209
+ // No lock file: it was released, or EPERM/EACCES is a real permission error.
210
+ if (code !== 'EEXIST' && ++missingLockRetries > REFRESH_LOCK_MISSING_RETRIES)
211
+ throw error;
212
+ }
213
+ if (mtimeMs !== undefined && Date.now() - mtimeMs > REFRESH_LOCK_STALE_MS) {
214
+ await unlink(lockPath).catch(() => { });
215
+ continue;
216
+ }
217
+ await new Promise((resolve) => setTimeout(resolve, REFRESH_LOCK_POLL_MS));
218
+ }
219
+ }
220
+ try {
221
+ return await fn();
222
+ }
223
+ finally {
224
+ // Remove only our own lock; a takeover may have replaced it.
225
+ try {
226
+ if ((await readFile(lockPath, 'utf8')) === owner)
227
+ await unlink(lockPath);
228
+ }
229
+ catch {
230
+ // Already gone.
231
+ }
232
+ }
233
+ }
172
234
  async function performOAuthRefresh(oauth, baseUrl) {
173
235
  if (!oauth.clientId || !oauth.refreshToken) {
174
236
  return null;
@@ -176,6 +238,25 @@ async function performOAuthRefresh(oauth, baseUrl) {
176
238
  const serverUrl = normalizeBaseUrl(baseUrl ?? getConfig().serverUrl);
177
239
  if (oauth.resource !== buildResource(serverUrl))
178
240
  return null;
241
+ return withRefreshLock(async () => {
242
+ // Another process may have refreshed while this one waited. Re-read the
243
+ // saved login (conf reads the file on every access) and never send a
244
+ // refresh token that has already been rotated.
245
+ const saved = getConfig().oauth;
246
+ if (saved.resource !== oauth.resource)
247
+ return null;
248
+ if (saved.accessToken &&
249
+ saved.accessToken !== oauth.accessToken &&
250
+ saved.expiresAt &&
251
+ saved.expiresAt - OAUTH_REFRESH_SKEW_MS > Date.now()) {
252
+ return saved;
253
+ }
254
+ return requestOAuthRefresh(saved, serverUrl);
255
+ });
256
+ }
257
+ async function requestOAuthRefresh(oauth, serverUrl) {
258
+ if (!oauth.clientId || !oauth.refreshToken || !oauth.resource)
259
+ return null;
179
260
  const resource = oauth.resource;
180
261
  const body = new URLSearchParams({
181
262
  grant_type: 'refresh_token',
@@ -190,9 +271,15 @@ async function performOAuthRefresh(oauth, baseUrl) {
190
271
  headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
191
272
  body,
192
273
  });
193
- if (!response.ok) {
274
+ if (response.status === 400 || response.status === 401) {
275
+ // invalid_grant and friends: this login can no longer be refreshed.
194
276
  return null;
195
277
  }
278
+ if (!response.ok) {
279
+ // 429, 5xx, a 403 challenge page and similar are transient. Fail this call
280
+ // but keep the login, rather than treating it as expired.
281
+ throw new Error(`Go Bananas sign-in could not be refreshed right now (HTTP ${response.status}); try again.`);
282
+ }
196
283
  const tokens = (await response.json());
197
284
  if (typeof tokens.access_token !== 'string' ||
198
285
  !tokens.access_token.trim() ||
@@ -264,6 +351,18 @@ export async function getAuthHeaders(explicitApiKey, baseUrl) {
264
351
  export class LoginExpiredError extends Error {
265
352
  name = 'LoginExpiredError';
266
353
  }
354
+ /**
355
+ * The API key to use when the saved browser login can no longer be refreshed:
356
+ * GO_BANANAS_API_KEY / MCP_API_KEY, else the config-file key. Keys are
357
+ * configured for one server, so none is returned for any other base URL.
358
+ */
359
+ export function getLoginFallbackApiKey(baseUrl) {
360
+ const config = getConfig();
361
+ if (normalizeBaseUrl(config.serverUrl) !== normalizeBaseUrl(baseUrl))
362
+ return undefined;
363
+ const apiKey = config.apiKey?.trim();
364
+ return apiKey ? { apiKey, source: describeApiKeySource() } : undefined;
365
+ }
267
366
  /**
268
367
  * Credentials for a long-lived MCP transport. A browser login's access token
269
368
  * expires while the session stays open, so it is supplied per request through
@@ -275,10 +374,14 @@ export async function getTransportAuth(explicitApiKey, baseUrl) {
275
374
  if (!headers.Authorization)
276
375
  return { headers };
277
376
  let refreshedAt = 0;
377
+ let lastToken;
278
378
  return {
279
379
  headers: {},
280
380
  authProvider: {
281
- token: async () => (await getOAuthAccessToken(baseUrl)) ?? undefined,
381
+ token: async () => {
382
+ lastToken = (await getOAuthAccessToken(baseUrl)) ?? undefined;
383
+ return lastToken;
384
+ },
282
385
  // The server rejects an expired token with 401 at its auth gate, before
283
386
  // any tool runs, so the SDK's single resend after this cannot repeat work.
284
387
  onUnauthorized: async () => {
@@ -287,7 +390,21 @@ export async function getTransportAuth(explicitApiKey, baseUrl) {
287
390
  // rotating again, which would revoke the token another call is retrying with.
288
391
  if (Date.now() - refreshedAt < RECENT_REFRESH_MS)
289
392
  return;
290
- if (!(await refreshOAuthAccessToken(getConfig().oauth, baseUrl))) {
393
+ // Another process sharing this login may already have saved a newer
394
+ // token; resend with it rather than rotating again, which would revoke
395
+ // the token that process is using.
396
+ // Requires a token this provider actually sent: without one, an SSE
397
+ // stream would resend unauthenticated and loop on the same 401.
398
+ const saved = getConfig().oauth;
399
+ if (lastToken !== undefined &&
400
+ saved.resource === buildResource(normalizeBaseUrl(baseUrl)) &&
401
+ saved.accessToken &&
402
+ saved.accessToken !== lastToken &&
403
+ saved.expiresAt &&
404
+ saved.expiresAt - OAUTH_REFRESH_SKEW_MS > Date.now()) {
405
+ return;
406
+ }
407
+ if (!(await refreshOAuthAccessToken(saved, baseUrl))) {
291
408
  throw new LoginExpiredError('Go Bananas login has expired. Run "gb auth login" to sign in again.');
292
409
  }
293
410
  refreshedAt = Date.now();
@@ -1 +1 @@
1
- {"version":3,"file":"oauth.js","sourceRoot":"","sources":["../../src/auth/oauth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,cAAc,EAAoB,MAAM,qBAAqB,CAAC;AAEpG,MAAM,qBAAqB,GAAG,MAAM,CAAC;AACrC,MAAM,iBAAiB,GAAG,MAAM,CAAC;AACjC,MAAM,SAAS,GAAG,IAAI,GAAG,EAAuC,CAAC;AACjE,MAAM,cAAc,GAAG;IACrB,iBAAiB;IACjB,aAAa;IACb,aAAa;IACb,eAAe;IACf,mBAAmB;IACnB,iBAAiB;IACjB,iBAAiB;IACjB,eAAe;IACf,eAAe;IACf,aAAa;IACb,eAAe;IACf,gBAAgB;IAChB,aAAa;IACb,eAAe;IACf,uBAAuB;IACvB,yBAAyB;IACzB,qBAAqB;IACrB,uBAAuB;IACvB,cAAc;IACd,iBAAiB;IACjB,aAAa;IACb,iBAAiB;IACjB,mBAAmB;IACnB,iBAAiB;IACjB,cAAc;CACf,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AA6BZ,SAAS,gBAAgB,CAAC,KAAa;IACrC,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACjD,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC;IACjB,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,SAAS,CAAC,KAAa;IAC9B,OAAO,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;AAC7F,CAAC;AAED,SAAS,cAAc;IACrB,MAAM,QAAQ,GAAG,SAAS,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC;IAC5C,MAAM,SAAS,GAAG,SAAS,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;IAC5E,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;AACjC,CAAC;AAED,SAAS,aAAa,CAAC,OAAe;IACpC,OAAO,GAAG,OAAO,MAAM,CAAC;AAC1B,CAAC;AAED,KAAK,UAAU,WAAW,CAAC,OAAe;IACxC,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,OAAO,uCAAuC,CAAC,CAAC;QAChF,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,OAAO,cAAc,CAAC;QACxB,CAAC;QACD,MAAM,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAmC,CAAC;QACvE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC;YAC1C,OAAO,cAAc,CAAC;QACxB,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,CACzC,CAAC,KAAK,EAAmB,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,CACtD,CAAC;QACF,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC;IAC3D,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,cAAc,CAAC;IACxB,CAAC;AACH,CAAC;AAED,KAAK,UAAU,cAAc,CAC3B,OAAe,EACf,WAAmB,EACnB,KAAa;IAEb,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,OAAO,iBAAiB,EAAE;QACxD,MAAM,EAAE,MAAM;QACd,QAAQ,EAAE,OAAO;QACjB,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC;QACnC,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;QAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;YACnB,WAAW,EAAE,gBAAgB;YAC7B,aAAa,EAAE,CAAC,WAAW,CAAC;YAC5B,WAAW,EAAE,CAAC,oBAAoB,EAAE,eAAe,CAAC;YACpD,0BAA0B,EAAE,MAAM;YAClC,KAAK;SACN,CAAC;KACH,CAAC,CAAC;IAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,qCAAqC,MAAM,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IAChF,CAAC;IAED,OAAO,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAA4B,CAAC;AAC5D,CAAC;AAED,SAAS,mBAAmB,CAAC,SAAiB;IAK5C,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,IAAI,OAAO,GAAyC,IAAI,CAAC;QAEzD,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;YAC5C,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,EAAE,kBAAkB,CAAC,CAAC;YAC/D,MAAM,IAAI,GAAG,UAAU,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YACjD,MAAM,KAAK,GAAG,UAAU,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YACnD,MAAM,KAAK,GAAG,UAAU,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAEnD,IAAI,KAAK,EAAE,CAAC;gBACV,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,0BAA0B,EAAE,CAAC,CAAC;gBACnE,GAAG,CAAC,GAAG,CAAC,wEAAwE,CAAC,CAAC;gBAClF,YAAY,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,+BAA+B,KAAK,EAAE,CAAC,CAAC,CAAC;gBACvE,OAAO;YACT,CAAC;YAED,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,2BAA2B,EAAE,CAAC,CAAC;gBACpE,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;gBACrB,OAAO;YACT,CAAC;YAED,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,0BAA0B,EAAE,CAAC,CAAC;YACnE,GAAG,CAAC,GAAG,CACL,0FAA0F,CAC3F,CAAC;YACF,YAAY,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;QACxC,CAAC,CAAC,CAAC;QAEH,IAAI,YAGH,CAAC;QAEF,MAAM,WAAW,GAAG,IAAI,OAAO,CAC7B,CAAC,WAAW,EAAE,UAAU,EAAE,EAAE;YAC1B,YAAY,GAAG,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;QAC9D,CAAC,CACF,CAAC;QAEF,0EAA0E;QAC1E,2EAA2E;QAC3E,KAAK,WAAW,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QAEjC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;YAC7B,IAAI,OAAO,EAAE,CAAC;gBACZ,YAAY,CAAC,OAAO,CAAC,CAAC;YACxB,CAAC;YACD,MAAM,CAAC,KAAK,CAAC,CAAC;QAChB,CAAC,CAAC,CAAC;QAEH,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,WAAW,EAAE,GAAG,EAAE;YACjC,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC;YACjC,IAAI,CAAC,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;gBAC5C,MAAM,CAAC,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC,CAAC;gBAClE,OAAO;YACT,CAAC;YAED,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE;gBACxB,YAAY,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC,CAAC;YAC9E,CAAC,EAAE,SAAS,CAAC,CAAC;YAEd,OAAO,CAAC;gBACN,WAAW,EAAE,oBAAoB,OAAO,CAAC,IAAI,WAAW;gBACxD,WAAW;gBACX,KAAK,EAAE,GAAG,EAAE,CACV,IAAI,OAAO,CAAO,CAAC,YAAY,EAAE,EAAE;oBACjC,IAAI,OAAO,EAAE,CAAC;wBACZ,YAAY,CAAC,OAAO,CAAC,CAAC;oBACxB,CAAC;oBACD,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,YAAY,EAAE,CAAC,CAAC;gBACrC,CAAC,CAAC;aACL,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,OAAO,CAAC,GAAW;IAC1B,MAAM,OAAO,GACX,OAAO,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC;IAC7F,MAAM,IAAI,GAAG,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IAC7E,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;IACxE,KAAK,CAAC,KAAK,EAAE,CAAC;AAChB,CAAC;AAED,KAAK,UAAU,yBAAyB,CAAC,MAOxC;IACC,MAAM,IAAI,GAAG,IAAI,eAAe,CAAC;QAC/B,UAAU,EAAE,oBAAoB;QAChC,SAAS,EAAE,MAAM,CAAC,QAAQ;QAC1B,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,aAAa,EAAE,MAAM,CAAC,QAAQ;QAC9B,YAAY,EAAE,MAAM,CAAC,WAAW;QAChC,QAAQ,EAAE,MAAM,CAAC,QAAQ;KAC1B,CAAC,CAAC;IAEH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,MAAM,CAAC,OAAO,cAAc,EAAE;QAC5D,MAAM,EAAE,MAAM;QACd,QAAQ,EAAE,OAAO;QACjB,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC;QACnC,OAAO,EAAE,EAAE,cAAc,EAAE,mCAAmC,EAAE;QAChE,IAAI;KACL,CAAC,CAAC;IAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,gCAAgC,MAAM,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IAC3E,CAAC;IAED,OAAO,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAuB,CAAC;AACvD,CAAC;AAED,KAAK,UAAU,mBAAmB,CAChC,KAAkB,EAClB,OAAgB;IAEhB,IAAI,CAAC,KAAK,CAAC,QAAQ,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC;QAC3C,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,SAAS,GAAG,gBAAgB,CAAC,OAAO,IAAI,SAAS,EAAE,CAAC,SAAS,CAAC,CAAC;IACrE,IAAI,KAAK,CAAC,QAAQ,KAAK,aAAa,CAAC,SAAS,CAAC;QAAE,OAAO,IAAI,CAAC;IAC7D,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;IAChC,MAAM,IAAI,GAAG,IAAI,eAAe,CAAC;QAC/B,UAAU,EAAE,eAAe;QAC3B,SAAS,EAAE,KAAK,CAAC,QAAQ;QACzB,aAAa,EAAE,KAAK,CAAC,YAAY;QACjC,QAAQ;KACT,CAAC,CAAC;IAEH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,SAAS,cAAc,EAAE;QACvD,MAAM,EAAE,MAAM;QACd,QAAQ,EAAE,OAAO;QACjB,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC;QACnC,OAAO,EAAE,EAAE,cAAc,EAAE,mCAAmC,EAAE;QAChE,IAAI;KACL,CAAC,CAAC;IAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,MAAM,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAuB,CAAC;IAC7D,IACE,OAAO,MAAM,CAAC,YAAY,KAAK,QAAQ;QACvC,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE;QAC3B,MAAM,CAAC,UAAU,KAAK,QAAQ;QAC9B,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC;QACnC,MAAM,CAAC,UAAU,IAAI,CAAC;QACtB,CAAC,MAAM,CAAC,aAAa,KAAK,SAAS,IAAI,OAAO,MAAM,CAAC,aAAa,KAAK,QAAQ,CAAC,EAChF,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;IACrE,CAAC;IACD,MAAM,SAAS,GAAgB;QAC7B,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,WAAW,EAAE,MAAM,CAAC,YAAY;QAChC,YAAY,EAAE,MAAM,CAAC,aAAa,IAAI,KAAK,CAAC,YAAY;QACxD,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,UAAU,GAAG,IAAI;QAChD,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK;QAClC,QAAQ;QACR,SAAS,EAAE,MAAM,CAAC,UAAU;KAC7B,CAAC;IACF,MAAM,OAAO,GAAG,SAAS,EAAE,CAAC,KAAK,CAAC;IAClC,IACE,OAAO,CAAC,QAAQ,KAAK,KAAK,CAAC,QAAQ;QACnC,OAAO,CAAC,YAAY,KAAK,KAAK,CAAC,YAAY;QAC3C,OAAO,CAAC,QAAQ,KAAK,KAAK,CAAC,QAAQ,EACnC,CAAC;QACD,0EAA0E;QAC1E,OAAO,IAAI,CAAC;IACd,CAAC;IACD,cAAc,CAAC,SAAS,CAAC,CAAC;IAC1B,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,KAAkB,EAClB,OAAgB;IAEhB,MAAM,SAAS,GAAG,gBAAgB,CAAC,OAAO,IAAI,SAAS,EAAE,CAAC,SAAS,CAAC,CAAC;IACrE,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,SAAS,EAAE,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC5F,MAAM,QAAQ,GAAG,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACpC,IAAI,QAAQ;QAAE,OAAO,QAAQ,CAAC;IAC9B,MAAM,OAAO,GAAG,mBAAmB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;IAC3F,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IAC5B,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,OAAgB;IACxD,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;IAC3B,0EAA0E;IAC1E,0EAA0E;IAC1E,IAAI,KAAK,CAAC,QAAQ,KAAK,aAAa,CAAC,gBAAgB,CAAC,OAAO,IAAI,MAAM,CAAC,SAAS,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IACjG,IAAI,CAAC,KAAK,CAAC,WAAW,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC;QAC9C,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IACE,KAAK,CAAC,WAAW;QACjB,KAAK,CAAC,SAAS;QACf,KAAK,CAAC,SAAS,GAAG,qBAAqB,GAAG,IAAI,CAAC,GAAG,EAAE,EACpD,CAAC;QACD,OAAO,KAAK,CAAC,WAAW,CAAC;IAC3B,CAAC;IAED,MAAM,SAAS,GAAG,MAAM,uBAAuB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAChE,OAAO,SAAS,EAAE,WAAW,IAAI,IAAI,CAAC;AACxC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,cAAuB,EACvB,OAAgB;IAEhB,IAAI,cAAc,EAAE,CAAC;QACnB,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,CAAC;IACzC,CAAC;IAED,MAAM,WAAW,GAAG,MAAM,mBAAmB,CAAC,OAAO,CAAC,CAAC;IACvD,IAAI,WAAW,EAAE,CAAC;QAChB,OAAO,EAAE,aAAa,EAAE,UAAU,WAAW,EAAE,EAAE,CAAC;IACpD,CAAC;IAED,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC,MAAM,CAAC;IAClC,OAAO,MAAM,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;AAC/C,CAAC;AAED,mFAAmF;AACnF,MAAM,OAAO,iBAAkB,SAAQ,KAAK;IACjC,IAAI,GAAG,mBAAmB,CAAC;CACrC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,cAAkC,EAClC,OAAe;IAEf,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;IAC9D,IAAI,CAAC,OAAO,CAAC,aAAa;QAAE,OAAO,EAAE,OAAO,EAAE,CAAC;IAC/C,IAAI,WAAW,GAAG,CAAC,CAAC;IACpB,OAAO;QACL,OAAO,EAAE,EAAE;QACX,YAAY,EAAE;YACZ,KAAK,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,MAAM,mBAAmB,CAAC,OAAO,CAAC,CAAC,IAAI,SAAS;YACpE,wEAAwE;YACxE,2EAA2E;YAC3E,cAAc,EAAE,KAAK,IAAI,EAAE;gBACzB,yEAAyE;gBACzE,yEAAyE;gBACzE,8EAA8E;gBAC9E,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,WAAW,GAAG,iBAAiB;oBAAE,OAAO;gBACzD,IAAI,CAAC,CAAC,MAAM,uBAAuB,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC;oBACjE,MAAM,IAAI,iBAAiB,CACzB,qEAAqE,CACtE,CAAC;gBACJ,CAAC;gBACD,WAAW,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAC3B,CAAC;SACF;KACF,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,UAAwB,EAAE;IAC/D,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,MAAM,OAAO,GAAG,gBAAgB,CAAC,OAAO,CAAC,SAAS,IAAI,MAAM,CAAC,SAAS,CAAC,CAAC;IACxE,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,CAAC,MAAM,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC;IAC5D,MAAM,QAAQ,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;IACxC,MAAM,QAAQ,GAAG,MAAM,mBAAmB,CAAC,OAAO,CAAC,SAAS,IAAI,EAAE,GAAG,MAAM,CAAC,CAAC;IAC7E,MAAM,KAAK,GAAG,SAAS,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC;IACzC,MAAM,IAAI,GAAG,cAAc,EAAE,CAAC;IAE9B,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,OAAO,EAAE,QAAQ,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;QAC1E,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,GAAG,OAAO,kBAAkB,CAAC,CAAC;QAC3D,YAAY,CAAC,YAAY,CAAC,GAAG,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;QACvD,YAAY,CAAC,YAAY,CAAC,GAAG,CAAC,WAAW,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;QAC7D,YAAY,CAAC,YAAY,CAAC,GAAG,CAAC,cAAc,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAC;QACpE,YAAY,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,KAAK,IAAI,KAAK,CAAC,CAAC;QAC9D,YAAY,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAC9C,YAAY,CAAC,YAAY,CAAC,GAAG,CAAC,gBAAgB,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QAChE,YAAY,CAAC,YAAY,CAAC,GAAG,CAAC,uBAAuB,EAAE,MAAM,CAAC,CAAC;QAC/D,YAAY,CAAC,YAAY,CAAC,GAAG,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;QAEpD,IAAI,OAAO,CAAC,WAAW,KAAK,KAAK,EAAE,CAAC;YAClC,OAAO,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC,CAAC;QACnC,CAAC;QAED,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,2CAA2C,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAE/F,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,WAAW,CAAC;QAC1C,IAAI,MAAM,CAAC,KAAK,KAAK,KAAK,EAAE,CAAC;YAC3B,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;QACvE,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,yBAAyB,CAAC;YAC7C,OAAO;YACP,QAAQ,EAAE,MAAM,CAAC,SAAS;YAC1B,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,WAAW,EAAE,QAAQ,CAAC,WAAW;YACjC,QAAQ;SACT,CAAC,CAAC;QAEH,MAAM,KAAK,GAAgB;YACzB,QAAQ,EAAE,MAAM,CAAC,SAAS;YAC1B,WAAW,EAAE,MAAM,CAAC,YAAY;YAChC,YAAY,EAAE,MAAM,CAAC,aAAa;YAClC,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,UAAU,GAAG,IAAI;YAChD,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,IAAI,KAAK;YAC5C,QAAQ;YACR,SAAS,EAAE,MAAM,CAAC,UAAU;SAC7B,CAAC;QAEF,cAAc,CAAC,KAAK,CAAC,CAAC;QAEtB,OAAO;YACL,SAAS,EAAE,OAAO;YAClB,QAAQ,EAAE,MAAM,CAAC,SAAS;YAC1B,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,KAAK;YAC3B,SAAS,EAAE,KAAK,CAAC,SAAS,IAAI,IAAI,CAAC,GAAG,EAAE;SACzC,CAAC;IACJ,CAAC;YAAS,CAAC;QACT,MAAM,QAAQ,CAAC,KAAK,EAAE,CAAC;IACzB,CAAC;AACH,CAAC;AAED,MAAM,UAAU,WAAW;IACzB,gBAAgB,EAAE,CAAC;AACrB,CAAC"}
1
+ {"version":3,"file":"oauth.js","sourceRoot":"","sources":["../../src/auth/oauth.ts"],"names":[],"mappings":"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"}
@@ -25,6 +25,8 @@ export interface OAuthConfig {
25
25
  tokenType?: 'Bearer';
26
26
  }
27
27
  export declare const config: Conf<CliConfig>;
28
+ /** Where the API key in getConfig().apiKey comes from, for user-facing messages. */
29
+ export declare function describeApiKeySource(): string;
28
30
  /**
29
31
  * Get current configuration
30
32
  */
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/config/config.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,IAAI,MAAM,MAAM,CAAC;AAGxB,MAAM,WAAW,SAAS;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,WAAW,CAAC;IACnB,SAAS,EAAE,KAAK,GAAG,MAAM,GAAG,MAAM,CAAC;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,cAAc,EAAE,MAAM,GAAG,cAAc,GAAG,UAAU,CAAC;IACrD,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,QAAQ,CAAC;CACtB;AAiDD,eAAO,MAAM,MAAM,iBAKjB,CAAC;AAcH;;GAEG;AACH,wBAAgB,SAAS,IAAI,SAAS,CAmBrC;AAMD;;GAEG;AACH,wBAAgB,SAAS,CAAC,CAAC,SAAS,MAAM,SAAS,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,IAAI,CAEtF;AAOD;;GAEG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAY9E;AAED;;GAEG;AACH,wBAAgB,SAAS,IAAI,OAAO,CAGnC;AAED;;GAEG;AACH,wBAAgB,cAAc,IAAI,OAAO,CAGxC;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,OAAO,CAE3C;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI,CAEvD;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,IAAI,CAEvC;AAED;;GAEG;AACH,wBAAgB,eAAe,IAAI,OAAO,CAGzC;AAED;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,OAAO,CAG5C;AAED;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,MAAM,GAAG,IAAI,CAKlD;AAUD;;;GAGG;AACH,wBAAgB,oBAAoB,IAAI,MAAM,CAO7C;AAED;;GAEG;AACH,wBAAgB,YAAY,IAAI,MAAM,CAIrC;AAED;;GAEG;AACH,wBAAgB,aAAa,IAAI,MAAM,CAEtC;AAED;;GAEG;AACH,wBAAgB,WAAW,IAAI,IAAI,CAElC"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/config/config.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,IAAI,MAAM,MAAM,CAAC;AAGxB,MAAM,WAAW,SAAS;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,WAAW,CAAC;IACnB,SAAS,EAAE,KAAK,GAAG,MAAM,GAAG,MAAM,CAAC;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,cAAc,EAAE,MAAM,GAAG,cAAc,GAAG,UAAU,CAAC;IACrD,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,QAAQ,CAAC;CACtB;AAiDD,eAAO,MAAM,MAAM,iBAKjB,CAAC;AAcH,oFAAoF;AACpF,wBAAgB,oBAAoB,IAAI,MAAM,CAI7C;AAED;;GAEG;AACH,wBAAgB,SAAS,IAAI,SAAS,CAmBrC;AAMD;;GAEG;AACH,wBAAgB,SAAS,CAAC,CAAC,SAAS,MAAM,SAAS,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,IAAI,CAEtF;AAOD;;GAEG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAY9E;AAED;;GAEG;AACH,wBAAgB,SAAS,IAAI,OAAO,CAGnC;AAED;;GAEG;AACH,wBAAgB,cAAc,IAAI,OAAO,CAGxC;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,OAAO,CAE3C;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI,CAEvD;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,IAAI,CAEvC;AAED;;GAEG;AACH,wBAAgB,eAAe,IAAI,OAAO,CAGzC;AAED;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,OAAO,CAG5C;AAED;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,MAAM,GAAG,IAAI,CAKlD;AAUD;;;GAGG;AACH,wBAAgB,oBAAoB,IAAI,MAAM,CAO7C;AAED;;GAEG;AACH,wBAAgB,YAAY,IAAI,MAAM,CAIrC;AAED;;GAEG;AACH,wBAAgB,aAAa,IAAI,MAAM,CAEtC;AAED;;GAEG;AACH,wBAAgB,WAAW,IAAI,IAAI,CAElC"}
@@ -68,6 +68,14 @@ function getEnvServerUrl() {
68
68
  function getEnvApiKey() {
69
69
  return process.env.GO_BANANAS_API_KEY || process.env.MCP_API_KEY;
70
70
  }
71
+ /** Where the API key in getConfig().apiKey comes from, for user-facing messages. */
72
+ export function describeApiKeySource() {
73
+ if (process.env.GO_BANANAS_API_KEY)
74
+ return 'GO_BANANAS_API_KEY';
75
+ if (process.env.MCP_API_KEY)
76
+ return 'MCP_API_KEY';
77
+ return 'the API key saved in the CLI config';
78
+ }
71
79
  /**
72
80
  * Get current configuration
73
81
  */
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/config/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/config/config.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ /**
2
+ * Server-side readiness for the go_bananas_diagnose tool.
3
+ *
4
+ * Calls the upstream check_quota tool, which is free: it runs a storage
5
+ * self-test on the server (writes, reads back and deletes a tiny object, and
6
+ * reads the image table) and reports the last billing/quota rejection each
7
+ * provider returned in the past 15 minutes. It never calls an image model.
8
+ */
9
+ import type { CallToolResult } from '@modelcontextprotocol/sdk/types.js';
10
+ export declare const HEALTH_CHECK_TOOL = "check_quota";
11
+ export declare const HEALTH_CHECK_TIMEOUT_MS = 20000;
12
+ export interface ProbeCallOptions {
13
+ timeout: number;
14
+ signal: AbortSignal;
15
+ }
16
+ type CallTool = (name: string, args: Record<string, unknown>, options: ProbeCallOptions) => Promise<CallToolResult>;
17
+ /** Formats a check_quota result (or failure) as diagnostic lines, each starting with "- ". */
18
+ export declare function formatUpstreamHealth(outcome: CallToolResult | {
19
+ error: unknown;
20
+ }): string[];
21
+ /**
22
+ * Runs check_quota with a timeout and returns formatted lines. Never throws.
23
+ * The request is really cancelled on timeout: the SDK gets the timeout and an
24
+ * abort signal, so it stops waiting and tells the server to cancel.
25
+ */
26
+ export declare function probeUpstreamHealth(callTool: CallTool, timeoutMs?: number): Promise<string[]>;
27
+ export {};
28
+ //# sourceMappingURL=diagnose-health.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"diagnose-health.d.ts","sourceRoot":"","sources":["../../src/mcp/diagnose-health.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AAEzE,eAAO,MAAM,iBAAiB,gBAAgB,CAAC;AAC/C,eAAO,MAAM,uBAAuB,QAAS,CAAC;AAE9C,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,WAAW,CAAC;CACrB;AAED,KAAK,QAAQ,GAAG,CACd,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,OAAO,EAAE,gBAAgB,KACtB,OAAO,CAAC,cAAc,CAAC,CAAC;AAoC7B,8FAA8F;AAC9F,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,cAAc,GAAG;IAAE,KAAK,EAAE,OAAO,CAAA;CAAE,GAAG,MAAM,EAAE,CA4D3F;AAED;;;;GAIG;AACH,wBAAsB,mBAAmB,CACvC,QAAQ,EAAE,QAAQ,EAClB,SAAS,GAAE,MAAgC,GAC1C,OAAO,CAAC,MAAM,EAAE,CAAC,CAoBnB"}
@@ -0,0 +1,99 @@
1
+ /**
2
+ * Server-side readiness for the go_bananas_diagnose tool.
3
+ *
4
+ * Calls the upstream check_quota tool, which is free: it runs a storage
5
+ * self-test on the server (writes, reads back and deletes a tiny object, and
6
+ * reads the image table) and reports the last billing/quota rejection each
7
+ * provider returned in the past 15 minutes. It never calls an image model.
8
+ */
9
+ export const HEALTH_CHECK_TOOL = 'check_quota';
10
+ export const HEALTH_CHECK_TIMEOUT_MS = 20_000;
11
+ function firstText(result) {
12
+ const block = result.content?.find((item) => item.type === 'text');
13
+ const text = block && 'text' in block ? String(block.text) : '';
14
+ return (text
15
+ .split('\n')
16
+ .find((line) => line.trim().length > 0)
17
+ ?.trim() ?? '(no text)');
18
+ }
19
+ function errorText(error) {
20
+ return error instanceof Error ? error.message : String(error);
21
+ }
22
+ /** Formats a check_quota result (or failure) as diagnostic lines, each starting with "- ". */
23
+ export function formatUpstreamHealth(outcome) {
24
+ if ('error' in outcome) {
25
+ const reason = `${HEALTH_CHECK_TOOL} failed: ${errorText(outcome.error)}`;
26
+ return [`- Storage readiness: Unknown; ${reason}`, `- Provider readiness: Unknown; ${reason}`];
27
+ }
28
+ if (outcome.isError) {
29
+ const reason = `${HEALTH_CHECK_TOOL} returned an error: ${firstText(outcome)}`;
30
+ return [`- Storage readiness: Unknown; ${reason}`, `- Provider readiness: Unknown; ${reason}`];
31
+ }
32
+ const data = outcome.structuredContent;
33
+ const storage = data?.details?.storageHealth;
34
+ const providers = data?.details?.providerStatus;
35
+ if (!data || !storage || !providers) {
36
+ // Older servers return only text and have no storage self-test.
37
+ return [
38
+ `- Storage readiness: Not reported by this server version`,
39
+ `- Provider readiness: Not reported by this server version`,
40
+ `- Server check (${HEALTH_CHECK_TOOL}): ${firstText(outcome)}`,
41
+ ];
42
+ }
43
+ const lines = [];
44
+ const checked = `checked ${storage.checkedAt ?? 'unknown time'}${storage.cached ? ', cached' : ''}`;
45
+ lines.push(storage.ok
46
+ ? `- Storage readiness: OK (server self-test wrote, read back and deleted a test object; ${checked})`
47
+ : `- Storage readiness: FAILING - ${storage.error ?? 'unknown error'} (${checked})`);
48
+ const entries = Object.entries(providers).filter((entry) => Boolean(entry[1]));
49
+ if (entries.length === 0) {
50
+ lines.push('- Provider readiness: No image providers are enabled for this workspace');
51
+ }
52
+ else {
53
+ lines.push('- Provider readiness (billing/quota rejections recorded in the last 15 min; not a live billing query):');
54
+ for (const [provider, status] of entries) {
55
+ const affected = status.ok ? status.models : (status.limitedModels ?? status.models);
56
+ const models = affected?.length ? ` [${affected.join(', ')}]` : '';
57
+ lines.push(status.ok
58
+ ? ` - ${provider}: OK, no recent rejection${models}`
59
+ : ` - ${provider}: ${status.lastError?.kind ?? 'limit'} limit at ${status.lastError?.recordedAt ?? 'unknown time'}: ${status.lastError?.message ?? ''}${models}`);
60
+ }
61
+ }
62
+ lines.push(data.canGenerate
63
+ ? `- Server says generation is possible: yes`
64
+ : `- Server says generation is possible: no - ${(data.reasons ?? []).join('; ') || 'no reason given'}`);
65
+ for (const warning of data.warnings ?? []) {
66
+ lines.push(` - Warning: ${warning}`);
67
+ }
68
+ return lines;
69
+ }
70
+ /**
71
+ * Runs check_quota with a timeout and returns formatted lines. Never throws.
72
+ * The request is really cancelled on timeout: the SDK gets the timeout and an
73
+ * abort signal, so it stops waiting and tells the server to cancel.
74
+ */
75
+ export async function probeUpstreamHealth(callTool, timeoutMs = HEALTH_CHECK_TIMEOUT_MS) {
76
+ const controller = new AbortController();
77
+ let timer;
78
+ try {
79
+ const timeout = new Promise((_, reject) => {
80
+ timer = setTimeout(() => {
81
+ controller.abort();
82
+ reject(new Error(`timed out after ${Math.round(timeoutMs / 1000)}s`));
83
+ }, timeoutMs);
84
+ });
85
+ const result = await Promise.race([
86
+ callTool(HEALTH_CHECK_TOOL, {}, { timeout: timeoutMs, signal: controller.signal }),
87
+ timeout,
88
+ ]);
89
+ return formatUpstreamHealth(result);
90
+ }
91
+ catch (error) {
92
+ return formatUpstreamHealth({ error });
93
+ }
94
+ finally {
95
+ if (timer)
96
+ clearTimeout(timer);
97
+ }
98
+ }
99
+ //# sourceMappingURL=diagnose-health.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"diagnose-health.js","sourceRoot":"","sources":["../../src/mcp/diagnose-health.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,MAAM,CAAC,MAAM,iBAAiB,GAAG,aAAa,CAAC;AAC/C,MAAM,CAAC,MAAM,uBAAuB,GAAG,MAAM,CAAC;AAgC9C,SAAS,SAAS,CAAC,MAAsB;IACvC,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC;IACnE,MAAM,IAAI,GAAG,KAAK,IAAI,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAChE,OAAO,CACL,IAAI;SACD,KAAK,CAAC,IAAI,CAAC;SACX,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;QACvC,EAAE,IAAI,EAAE,IAAI,WAAW,CAC1B,CAAC;AACJ,CAAC;AAED,SAAS,SAAS,CAAC,KAAc;IAC/B,OAAO,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAChE,CAAC;AAED,8FAA8F;AAC9F,MAAM,UAAU,oBAAoB,CAAC,OAA4C;IAC/E,IAAI,OAAO,IAAI,OAAO,EAAE,CAAC;QACvB,MAAM,MAAM,GAAG,GAAG,iBAAiB,YAAY,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1E,OAAO,CAAC,iCAAiC,MAAM,EAAE,EAAE,kCAAkC,MAAM,EAAE,CAAC,CAAC;IACjG,CAAC;IAED,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QACpB,MAAM,MAAM,GAAG,GAAG,iBAAiB,uBAAuB,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC;QAC/E,OAAO,CAAC,iCAAiC,MAAM,EAAE,EAAE,kCAAkC,MAAM,EAAE,CAAC,CAAC;IACjG,CAAC;IAED,MAAM,IAAI,GAAG,OAAO,CAAC,iBAAgD,CAAC;IACtE,MAAM,OAAO,GAAG,IAAI,EAAE,OAAO,EAAE,aAAa,CAAC;IAC7C,MAAM,SAAS,GAAG,IAAI,EAAE,OAAO,EAAE,cAAc,CAAC;IAChD,IAAI,CAAC,IAAI,IAAI,CAAC,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC;QACpC,gEAAgE;QAChE,OAAO;YACL,0DAA0D;YAC1D,2DAA2D;YAC3D,mBAAmB,iBAAiB,MAAM,SAAS,CAAC,OAAO,CAAC,EAAE;SAC/D,CAAC;IACJ,CAAC;IAED,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,MAAM,OAAO,GAAG,WAAW,OAAO,CAAC,SAAS,IAAI,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;IACpG,KAAK,CAAC,IAAI,CACR,OAAO,CAAC,EAAE;QACR,CAAC,CAAC,yFAAyF,OAAO,GAAG;QACrG,CAAC,CAAC,kCAAkC,OAAO,CAAC,KAAK,IAAI,eAAe,KAAK,OAAO,GAAG,CACtF,CAAC;IAEF,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,MAAM,CAC9C,CAAC,KAAK,EAAqD,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAChF,CAAC;IACF,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,KAAK,CAAC,IAAI,CAAC,yEAAyE,CAAC,CAAC;IACxF,CAAC;SAAM,CAAC;QACN,KAAK,CAAC,IAAI,CACR,wGAAwG,CACzG,CAAC;QACF,KAAK,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;YACzC,MAAM,QAAQ,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC;YACrF,MAAM,MAAM,GAAG,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YACnE,KAAK,CAAC,IAAI,CACR,MAAM,CAAC,EAAE;gBACP,CAAC,CAAC,OAAO,QAAQ,4BAA4B,MAAM,EAAE;gBACrD,CAAC,CAAC,OAAO,QAAQ,KAAK,MAAM,CAAC,SAAS,EAAE,IAAI,IAAI,OAAO,aAAa,MAAM,CAAC,SAAS,EAAE,UAAU,IAAI,cAAc,KAAK,MAAM,CAAC,SAAS,EAAE,OAAO,IAAI,EAAE,GAAG,MAAM,EAAE,CACpK,CAAC;QACJ,CAAC;IACH,CAAC;IAED,KAAK,CAAC,IAAI,CACR,IAAI,CAAC,WAAW;QACd,CAAC,CAAC,2CAA2C;QAC7C,CAAC,CAAC,8CAA8C,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,iBAAiB,EAAE,CACzG,CAAC;IACF,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,QAAQ,IAAI,EAAE,EAAE,CAAC;QAC1C,KAAK,CAAC,IAAI,CAAC,gBAAgB,OAAO,EAAE,CAAC,CAAC;IACxC,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,QAAkB,EAClB,YAAoB,uBAAuB;IAE3C,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;IACzC,IAAI,KAAgD,CAAC;IACrD,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,IAAI,OAAO,CAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE;YAC/C,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;gBACtB,UAAU,CAAC,KAAK,EAAE,CAAC;gBACnB,MAAM,CAAC,IAAI,KAAK,CAAC,mBAAmB,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;YACxE,CAAC,EAAE,SAAS,CAAC,CAAC;QAChB,CAAC,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC;YAChC,QAAQ,CAAC,iBAAiB,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,CAAC;YAClF,OAAO;SACR,CAAC,CAAC;QACH,OAAO,oBAAoB,CAAC,MAAM,CAAC,CAAC;IACtC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,oBAAoB,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;IACzC,CAAC;YAAS,CAAC;QACT,IAAI,KAAK;YAAE,YAAY,CAAC,KAAK,CAAC,CAAC;IACjC,CAAC;AACH,CAAC"}
@@ -21,6 +21,7 @@ type ConnectedUpstream = {
21
21
  client: Client;
22
22
  transport: SSEClientTransport | StreamableHTTPClientTransport;
23
23
  protocolEra: ProtocolEra;
24
+ credential?: string;
24
25
  };
25
26
  export declare class UpstreamGoBananas {
26
27
  private readonly baseUrl;
@@ -35,7 +36,26 @@ export declare class UpstreamGoBananas {
35
36
  private connectPromise;
36
37
  private lastConnectError;
37
38
  private toolsCache;
39
+ private loginFallback;
40
+ /** Called when the offered tools change, so the client can re-list them. */
41
+ onToolsChanged?: () => void;
38
42
  constructor(baseUrl: string, apiKey: string | undefined, mode: UpstreamTransportMode, forwardProgress: (notification: unknown) => Promise<void>, getApplicationSessionId?: () => string);
43
+ /**
44
+ * The live upstream client for read-only diagnostics that must not close the
45
+ * session. Returns the current session; if it was opened with a credential
46
+ * that has since been replaced (browser login expired, API-key fallback), it
47
+ * is swapped for one opened with the current credential first, exactly as the
48
+ * next tool call would. Never opens a connection when there is none.
49
+ */
50
+ getConnectedClient(): Promise<Client | null>;
51
+ private get credentialApiKey();
52
+ /**
53
+ * Switch to the configured API key when the saved browser login has expired
54
+ * for good. Reported once on stderr and in diagnostics.
55
+ */
56
+ private useLoginFallback;
57
+ /** Connect, making sure the session was opened with the current credential. */
58
+ private ensureCredentialSession;
39
59
  getStatus(): {
40
60
  packageName: string;
41
61
  packageVersion: string;
@@ -46,6 +66,7 @@ export declare class UpstreamGoBananas {
46
66
  connectedTransport: "streamable-http" | "sse" | null;
47
67
  protocolEra: ProtocolEra | null;
48
68
  lastConnectError: string | null;
69
+ loginFallback: string | null;
49
70
  cachedTools: number;
50
71
  subscriptionToolsAvailable: boolean;
51
72
  };
@@ -55,7 +76,7 @@ export declare class UpstreamGoBananas {
55
76
  shutdown(): Promise<void>;
56
77
  close(connection?: ConnectedUpstream | null): Promise<void>;
57
78
  listTools(): Promise<UpstreamListToolsResult | null>;
58
- callTool(name: string, args: Record<string, unknown>, requestMeta?: Record<string, unknown>): Promise<CallToolResult>;
79
+ callTool(name: string, args: Record<string, unknown>, requestMeta?: Record<string, unknown>, authRetry?: boolean): Promise<CallToolResult>;
59
80
  /**
60
81
  * Handle local file upload via REST API.
61
82
  *
@@ -83,6 +104,8 @@ export declare class UpstreamGoBananas {
83
104
  */
84
105
  export declare function isAuthRejection(error: unknown): boolean;
85
106
  export declare function resolveExplicitMcpApiKey(options: McpStdioProxyOptions): string | undefined;
107
+ /** Which credential the proxy uses and why, for diagnostics. */
108
+ export declare function describeMcpCredentialSource(options: McpStdioProxyOptions, authDescription: string, loginFallbackNote?: string | null): string;
86
109
  export declare function createGoBananasStdioServer(): Server;
87
110
  export declare function runGoBananasMcpStdioProxy(options?: McpStdioProxyOptions): Promise<void>;
88
111
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"stdio-proxy.d.ts","sourceRoot":"","sources":["../../src/mcp/stdio-proxy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"stdio-proxy.d.ts","sourceRoot":"","sources":["../../src/mcp/stdio-proxy.ts"],"names":[],"mappings":"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"}
@@ -3,12 +3,13 @@ import { SSEClientTransport, StreamableHTTPClientTransport, } from '@modelcontex
3
3
  import { Server } from '@modelcontextprotocol/sdk/server/index.js';
4
4
  import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
5
5
  import { CallToolRequestSchema, ListToolsRequestSchema, PingRequestSchema, } from '@modelcontextprotocol/sdk/types.js';
6
- import { getConfig, getOrCreateSessionId } from '../config/config.js';
7
- import { getAuthHeaders, getTransportAuth, LoginExpiredError } from '../auth/oauth.js';
6
+ import { describeApiKeySource, getConfig, getOrCreateSessionId } from '../config/config.js';
7
+ import { getAuthHeaders, getLoginFallbackApiKey, getTransportAuth, LoginExpiredError, } from '../auth/oauth.js';
8
8
  import { readLocalImageAsBase64, readLocalMediaFile } from '../utils/file-handler.js';
9
9
  import { PACKAGE_NAME, PACKAGE_VERSION } from '../version.js';
10
10
  import { createLegacyClient, createNegotiatingClient, getConnectedProtocolEra, withApplicationSessionId, } from './upstream-client.js';
11
11
  import { GO_BANANAS_MCP_INSTRUCTIONS } from './server-instructions.js';
12
+ import { probeUpstreamHealth } from './diagnose-health.js';
12
13
  const DIAG_TOOL_NAME = 'go_bananas_diagnose';
13
14
  const MCP_PROXY_NAME = 'gobananas-mcp-stdio-proxy';
14
15
  function logError(message, error) {
@@ -104,6 +105,11 @@ export class UpstreamGoBananas {
104
105
  connectPromise = null;
105
106
  lastConnectError = null;
106
107
  toolsCache = null;
108
+ // Set once the saved browser login could not be refreshed and an API key
109
+ // for this server took over for the rest of this process.
110
+ loginFallback = null;
111
+ /** Called when the offered tools change, so the client can re-list them. */
112
+ onToolsChanged;
107
113
  constructor(baseUrl, apiKey, mode, forwardProgress, getApplicationSessionId = getOrCreateSessionId) {
108
114
  this.baseUrl = baseUrl;
109
115
  this.apiKey = apiKey;
@@ -111,6 +117,59 @@ export class UpstreamGoBananas {
111
117
  this.forwardProgress = forwardProgress;
112
118
  this.getApplicationSessionId = getApplicationSessionId;
113
119
  }
120
+ /**
121
+ * The live upstream client for read-only diagnostics that must not close the
122
+ * session. Returns the current session; if it was opened with a credential
123
+ * that has since been replaced (browser login expired, API-key fallback), it
124
+ * is swapped for one opened with the current credential first, exactly as the
125
+ * next tool call would. Never opens a connection when there is none.
126
+ */
127
+ async getConnectedClient() {
128
+ if (!this.connected)
129
+ return null;
130
+ try {
131
+ if (!(await this.ensureCredentialSession()))
132
+ return null;
133
+ }
134
+ catch {
135
+ return null;
136
+ }
137
+ return this.connected?.client ?? null;
138
+ }
139
+ get credentialApiKey() {
140
+ return this.apiKey ?? this.loginFallback?.apiKey;
141
+ }
142
+ /**
143
+ * Switch to the configured API key when the saved browser login has expired
144
+ * for good. Reported once on stderr and in diagnostics.
145
+ */
146
+ useLoginFallback(error) {
147
+ if (!(error instanceof LoginExpiredError) || this.apiKey || this.loginFallback)
148
+ return false;
149
+ const fallback = getLoginFallbackApiKey(this.baseUrl);
150
+ if (!fallback)
151
+ return false;
152
+ const note = `Browser login expired; using ${fallback.source}. ` +
153
+ `Run "gb auth login" to restore subscription tools.`;
154
+ this.loginFallback = { apiKey: fallback.apiKey, note };
155
+ logError(note);
156
+ // Subscription tools need the login; stop offering them.
157
+ this.toolsCache = null;
158
+ this.onToolsChanged?.();
159
+ return true;
160
+ }
161
+ /** Connect, making sure the session was opened with the current credential. */
162
+ async ensureCredentialSession() {
163
+ for (let attempt = 0; attempt < 2; attempt++) {
164
+ if (!(await this.ensureConnected()) || !this.connected)
165
+ return false;
166
+ if (this.connected.credential === this.credentialApiKey)
167
+ return true;
168
+ // Opened with the login before the fallback began.
169
+ await this.close(this.connected);
170
+ }
171
+ return false;
172
+ }
114
173
  getStatus() {
115
174
  return {
116
175
  packageName: PACKAGE_NAME,
@@ -122,13 +181,19 @@ export class UpstreamGoBananas {
122
181
  connectedTransport: this.connected?.type ?? null,
123
182
  protocolEra: this.connected?.protocolEra ?? null,
124
183
  lastConnectError: this.lastConnectError,
184
+ loginFallback: this.loginFallback?.note ?? null,
125
185
  cachedTools: this.toolsCache?.tools?.length ?? 0,
126
186
  subscriptionToolsAvailable: Boolean(this.toolsCache?.tools?.some((tool) => tool.name === 'get_subscription_status') &&
127
187
  this.toolsCache?.tools?.some((tool) => tool.name === 'generate_with_subscription')),
128
188
  };
129
189
  }
130
190
  async getAuthDescription() {
131
- return describeAuthHeaders(await getAuthHeaders(this.apiKey, this.baseUrl));
191
+ try {
192
+ return describeAuthHeaders(await getAuthHeaders(this.credentialApiKey, this.baseUrl));
193
+ }
194
+ catch (error) {
195
+ return `unavailable (${error instanceof Error ? error.message : String(error)})`;
196
+ }
132
197
  }
133
198
  async ensureConnected() {
134
199
  if (this.stopped)
@@ -211,6 +276,7 @@ export class UpstreamGoBananas {
211
276
  catch (error) {
212
277
  // Stale session — close and retry once
213
278
  logError('listTools failed, reconnecting upstream…', error);
279
+ this.useLoginFallback(error);
214
280
  await this.close(connection);
215
281
  const retryOk = await this.ensureConnected();
216
282
  if (!retryOk || !this.connected) {
@@ -223,8 +289,8 @@ export class UpstreamGoBananas {
223
289
  return result;
224
290
  }
225
291
  }
226
- async callTool(name, args, requestMeta) {
227
- const ok = await this.ensureConnected();
292
+ async callTool(name, args, requestMeta, authRetry = false) {
293
+ const ok = authRetry ? await this.ensureCredentialSession() : await this.ensureConnected();
228
294
  if (!ok || !this.connected) {
229
295
  throw new Error('Upstream not connected');
230
296
  }
@@ -264,11 +330,21 @@ export class UpstreamGoBananas {
264
330
  return result;
265
331
  }
266
332
  catch (error) {
333
+ // Decide before closing, so no connect can start with the login meanwhile.
334
+ const fallBack = !authRetry &&
335
+ error instanceof LoginExpiredError &&
336
+ (this.useLoginFallback(error) || this.loginFallback !== null);
337
+ await this.close(connection);
338
+ if (fallBack) {
339
+ // The auth gate refused the call before any tool ran, so it is safe to
340
+ // send once more. The server binds a session to the credential that
341
+ // opened it, so the API key needs a session of its own.
342
+ return this.callTool(name, args, requestMeta, true);
343
+ }
267
344
  // Do not automatically retry tool calls. Many Go Bananas tools are
268
345
  // side-effectful, so a retry after the upstream accepted the request can
269
346
  // create duplicate images while the original response path is unhealthy.
270
347
  logError('Tool call failed; closing upstream session without retry…', error);
271
- await this.close(connection);
272
348
  throw error;
273
349
  }
274
350
  }
@@ -281,7 +357,7 @@ export class UpstreamGoBananas {
281
357
  * conversation, no third-party image hosts needed.
282
358
  */
283
359
  async handleLocalFileUpload(filePath, fileName) {
284
- const authHeaders = await getAuthHeaders(this.apiKey, this.baseUrl);
360
+ const authHeaders = await getAuthHeaders(this.credentialApiKey, this.baseUrl);
285
361
  if (!authHeaders.Authorization && !authHeaders['X-API-Key']) {
286
362
  return toolTextResult('Cannot upload local file: authorization is not configured. ' +
287
363
  'Run "gb auth login", set GO_BANANAS_API_KEY, or use the go_bananas_diagnose tool for help.', true);
@@ -326,7 +402,7 @@ export class UpstreamGoBananas {
326
402
  * host. The original file extension is preserved in the returned URL.
327
403
  */
328
404
  async handleLocalMediaUpload(filePath, fileName) {
329
- const authHeaders = await getAuthHeaders(this.apiKey, this.baseUrl);
405
+ const authHeaders = await getAuthHeaders(this.credentialApiKey, this.baseUrl);
330
406
  if (!authHeaders.Authorization && !authHeaders['X-API-Key']) {
331
407
  return toolTextResult('Cannot upload local file: authorization is not configured. ' +
332
408
  'Run "gb auth login", set GO_BANANAS_API_KEY, or use the go_bananas_diagnose tool for help.', true);
@@ -366,7 +442,8 @@ export class UpstreamGoBananas {
366
442
  dimensionLine);
367
443
  }
368
444
  async tryConnectStreamableHttp() {
369
- const { headers, authProvider } = await getTransportAuth(this.apiKey, this.baseUrl);
445
+ const credential = this.credentialApiKey;
446
+ const { headers, authProvider } = await getTransportAuth(credential, this.baseUrl);
370
447
  if (this.stopped)
371
448
  return false;
372
449
  const mcpUrl = new URL('/mcp', this.baseUrl);
@@ -401,7 +478,7 @@ export class UpstreamGoBananas {
401
478
  if (!protocolEra) {
402
479
  throw new Error('MCP protocol era was not negotiated');
403
480
  }
404
- this.connected = { type: 'streamable-http', client, transport, protocolEra };
481
+ this.connected = { type: 'streamable-http', client, transport, protocolEra, credential };
405
482
  return true;
406
483
  }
407
484
  catch (error) {
@@ -415,7 +492,8 @@ export class UpstreamGoBananas {
415
492
  }
416
493
  }
417
494
  async tryConnectSse() {
418
- const { headers, authProvider } = await getTransportAuth(this.apiKey, this.baseUrl);
495
+ const credential = this.credentialApiKey;
496
+ const { headers, authProvider } = await getTransportAuth(credential, this.baseUrl);
419
497
  if (this.stopped)
420
498
  return false;
421
499
  const sseUrl = new URL('/sse', this.baseUrl);
@@ -456,7 +534,7 @@ export class UpstreamGoBananas {
456
534
  if (!protocolEra) {
457
535
  throw new Error('MCP protocol era was not negotiated');
458
536
  }
459
- this.connected = { type: 'sse', client, transport, protocolEra };
537
+ this.connected = { type: 'sse', client, transport, protocolEra, credential };
460
538
  return true;
461
539
  }
462
540
  catch (error) {
@@ -485,6 +563,21 @@ export function resolveExplicitMcpApiKey(options) {
485
563
  const value = options.apiKey?.trim();
486
564
  return value || undefined;
487
565
  }
566
+ /** Which credential the proxy uses and why, for diagnostics. */
567
+ export function describeMcpCredentialSource(options, authDescription, loginFallbackNote) {
568
+ if (options.apiKey?.trim()) {
569
+ return '--api-key option (overrides a saved login and other keys)';
570
+ }
571
+ if (loginFallbackNote)
572
+ return loginFallbackNote;
573
+ if (authDescription === 'OAuth bearer token') {
574
+ return 'saved "gb auth login" (preferred over GO_BANANAS_API_KEY/MCP_API_KEY and saved keys)';
575
+ }
576
+ if (authDescription.startsWith('API key')) {
577
+ return `${describeApiKeySource()} (no valid saved login for this server)`;
578
+ }
579
+ return 'none (no --api-key, saved login, GO_BANANAS_API_KEY/MCP_API_KEY or saved API key)';
580
+ }
488
581
  export function createGoBananasStdioServer() {
489
582
  return new Server({ name: 'go-bananas-stdio', version: PACKAGE_VERSION }, {
490
583
  capabilities: { tools: { listChanged: true } },
@@ -510,6 +603,11 @@ export async function runGoBananasMcpStdioProxy(options = {}) {
510
603
  const upstream = new UpstreamGoBananas(baseUrl, apiKey, mode, async (notification) => {
511
604
  await server.notification(notification);
512
605
  });
606
+ upstream.onToolsChanged = () => {
607
+ server.sendToolListChanged().catch(() => {
608
+ // Client may not support notifications yet.
609
+ });
610
+ };
513
611
  server.setRequestHandler(PingRequestSchema, async () => ({}));
514
612
  let backgroundRetryTimer = null;
515
613
  let shuttingDown = false;
@@ -590,6 +688,15 @@ export async function runGoBananasMcpStdioProxy(options = {}) {
590
688
  }
591
689
  }
592
690
  }
691
+ // The readiness probe uses the live client directly, not upstream.callTool,
692
+ // so a failed or timed-out probe never closes the shared upstream session.
693
+ const probeClient = await upstream.getConnectedClient();
694
+ const healthLines = probeClient
695
+ ? await probeUpstreamHealth((name, args, options) => probeClient.callTool({ name, arguments: args }, options))
696
+ : [
697
+ '- Storage readiness: Not tested; upstream not connected',
698
+ '- Provider readiness: Not tested; upstream not connected',
699
+ ];
593
700
  const status = upstream.getStatus();
594
701
  const authDescription = await upstream.getAuthDescription();
595
702
  const generationLane = getConfig().generationLane;
@@ -604,13 +711,14 @@ export async function runGoBananasMcpStdioProxy(options = {}) {
604
711
  `- Package: ${status.packageName} v${status.packageVersion}\n` +
605
712
  `- Base URL: ${status.baseUrl}\n` +
606
713
  `- Authorization: ${authDescription}\n` +
714
+ `- Credential source: ${describeMcpCredentialSource(options, authDescription, status.loginFallback)}\n` +
607
715
  `- Subscription generation: ${subscriptionAccess}\n` +
608
716
  `- Configured generation lane: ${generationLane}\n` +
609
717
  `- Subscription tools available: ${status.subscriptionToolsAvailable} (discovery only; not execution permission)\n` +
610
718
  `- Scope readiness: Unknown; effective server permissions have not been verified\n` +
611
- `- Provider readiness: Not tested; provider credentials, billing and model access are unknown\n` +
719
+ `${healthLines.join('\n')}\n` +
612
720
  `- Workflow readiness: Not tested by this diagnostic; upload, generation, editing and download are unverified\n` +
613
- `- Generation and paid probes: None; this diagnostic does not run generation or paid checks\n` +
721
+ `- Generation and paid probes: None; only the free check_quota call runs (it includes a server storage self-test)\n` +
614
722
  `- Upstream mode: ${status.mode}\n` +
615
723
  `- Upstream connected: ${status.connected}\n` +
616
724
  (status.connectedTransport ? `- Connected transport: ${status.connectedTransport}\n` : '') +
@@ -672,6 +780,7 @@ export async function runGoBananasMcpStdioProxy(options = {}) {
672
780
  `- Request timeout: ${REQUEST_TIMEOUT_MS / 1000}s\n` +
673
781
  `- Base URL: ${status.baseUrl}\n` +
674
782
  `- Authorization: ${authDescription}\n` +
783
+ `- Credential source: ${describeMcpCredentialSource(options, authDescription, status.loginFallback)}\n` +
675
784
  (status.lastConnectError ? `- Last connect error: ${status.lastConnectError}\n` : '') +
676
785
  `\n` +
677
786
  `Try "${DIAG_TOOL_NAME}" for configuration hints.`;
@@ -1 +1 @@
1
- {"version":3,"file":"stdio-proxy.js","sourceRoot":"","sources":["../../src/mcp/stdio-proxy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"stdio-proxy.js","sourceRoot":"","sources":["../../src/mcp/stdio-proxy.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "gobananas-cli",
3
- "version": "1.3.6",
3
+ "version": "1.3.7",
4
4
  "description": "Command-line interface for Go Bananas! AI Image Generation",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",