@corbat-tech/coco 2.27.0 → 2.27.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -1408,7 +1408,7 @@ function getApiKey(provider) {
1408
1408
  case "gemini":
1409
1409
  return process.env["GEMINI_API_KEY"] ?? process.env["GOOGLE_API_KEY"];
1410
1410
  case "vertex":
1411
- return void 0;
1411
+ return process.env["VERTEX_API_KEY"] ?? process.env["GOOGLE_API_KEY"];
1412
1412
  case "kimi":
1413
1413
  return process.env["KIMI_API_KEY"] ?? process.env["MOONSHOT_API_KEY"];
1414
1414
  case "kimi-code":
@@ -16437,21 +16437,26 @@ var VertexProvider = class {
16437
16437
  config = {};
16438
16438
  project = "";
16439
16439
  location = DEFAULT_LOCATION;
16440
+ apiKey;
16440
16441
  retryConfig = DEFAULT_RETRY_CONFIG;
16441
16442
  async initialize(config) {
16442
16443
  this.config = config;
16443
16444
  this.project = config.project ?? process.env["VERTEX_PROJECT"] ?? process.env["GOOGLE_CLOUD_PROJECT"] ?? process.env["GCLOUD_PROJECT"] ?? "";
16444
16445
  this.location = config.location ?? process.env["VERTEX_LOCATION"] ?? process.env["GOOGLE_CLOUD_LOCATION"] ?? DEFAULT_LOCATION;
16446
+ this.apiKey = config.apiKey ?? process.env["VERTEX_API_KEY"] ?? process.env["GOOGLE_API_KEY"];
16445
16447
  if (!this.project.trim()) {
16446
16448
  throw new ProviderError(
16447
16449
  "Vertex AI project not configured. Set provider.project, VERTEX_PROJECT, or GOOGLE_CLOUD_PROJECT.",
16448
16450
  { provider: this.id }
16449
16451
  );
16450
16452
  }
16453
+ if (this.apiKey?.trim()) {
16454
+ return;
16455
+ }
16451
16456
  const token = await getCachedADCToken();
16452
16457
  if (!token) {
16453
16458
  throw new ProviderError(
16454
- "Vertex AI ADC is not configured. Run `gcloud auth application-default login` manually, then retry.",
16459
+ "Vertex AI authentication is not configured. Set VERTEX_API_KEY (or GOOGLE_API_KEY), or run `gcloud auth application-default login`.",
16455
16460
  { provider: this.id }
16456
16461
  );
16457
16462
  }
@@ -16570,10 +16575,17 @@ var VertexProvider = class {
16570
16575
  return `${this.getResolvedBaseUrl()}/projects/${encodeURIComponent(this.project)}/locations/${encodeURIComponent(this.location)}/publishers/google/models/${encodeURIComponent(this.getModel(model))}:${action}`;
16571
16576
  }
16572
16577
  async getHeaders() {
16578
+ if (this.apiKey?.trim()) {
16579
+ return {
16580
+ "Content-Type": "application/json",
16581
+ "x-goog-api-key": this.apiKey,
16582
+ "x-goog-user-project": this.project
16583
+ };
16584
+ }
16573
16585
  const token = await getCachedADCToken();
16574
16586
  if (!token) {
16575
16587
  throw new ProviderError(
16576
- "Vertex AI ADC token is unavailable. Re-authenticate with gcloud and retry.",
16588
+ "Vertex AI token is unavailable. Re-authenticate with gcloud or configure VERTEX_API_KEY.",
16577
16589
  { provider: this.id }
16578
16590
  );
16579
16591
  }
@@ -28441,9 +28453,10 @@ var SSETransport = class {
28441
28453
  // src/mcp/lifecycle.ts
28442
28454
  init_errors2();
28443
28455
  init_logger();
28444
- var MCPServerManager = class {
28456
+ var MCPServerManager = class _MCPServerManager {
28445
28457
  connections = /* @__PURE__ */ new Map();
28446
28458
  logger = getLogger();
28459
+ static STOP_TIMEOUT_MS = 5e3;
28447
28460
  /**
28448
28461
  * Create transport for a server config
28449
28462
  */
@@ -28530,7 +28543,15 @@ var MCPServerManager = class {
28530
28543
  }
28531
28544
  this.logger.info(`Stopping MCP server: ${name}`);
28532
28545
  try {
28533
- await connection.transport.disconnect();
28546
+ await Promise.race([
28547
+ connection.transport.disconnect(),
28548
+ new Promise(
28549
+ (_, reject) => setTimeout(
28550
+ () => reject(new Error("MCP disconnect timeout")),
28551
+ _MCPServerManager.STOP_TIMEOUT_MS
28552
+ )
28553
+ )
28554
+ ]);
28534
28555
  } catch (error) {
28535
28556
  this.logger.error(
28536
28557
  `Error disconnecting server '${name}': ${error instanceof Error ? error.message : String(error)}`