crosscheck-mcp 0.2.29 → 0.2.30

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.
@@ -1,6 +1,6 @@
1
1
  import { Server } from '@modelcontextprotocol/sdk/server/index.js';
2
2
  import { Transport } from '@modelcontextprotocol/sdk/shared/transport.js';
3
- import { P as Provider } from './types-BcprisDl.cjs';
3
+ import { P as Provider } from './types-HA3W47O4.cjs';
4
4
 
5
5
  interface PricingDoc {
6
6
  /** `<provider>` -> `<model>` -> ModelRates. */
@@ -1,6 +1,6 @@
1
1
  import { Server } from '@modelcontextprotocol/sdk/server/index.js';
2
2
  import { Transport } from '@modelcontextprotocol/sdk/shared/transport.js';
3
- import { P as Provider } from './types-BcprisDl.js';
3
+ import { P as Provider } from './types-HA3W47O4.js';
4
4
 
5
5
  interface PricingDoc {
6
6
  /** `<provider>` -> `<model>` -> ModelRates. */
@@ -1269,6 +1269,11 @@ function reasoningSharesOutputBudget(provider) {
1269
1269
 
1270
1270
  // src/providers/types.ts
1271
1271
  init_esm_shims();
1272
+ var IMAGE_MEDIA_TYPES = ["image/png", "image/jpeg", "image/webp", "image/gif"];
1273
+ function imagesOf(m) {
1274
+ if (m.role !== "user" || !Array.isArray(m.images)) return [];
1275
+ return m.images.filter((i) => Boolean(i) && typeof i.data === "string" && i.data.length > 0 && IMAGE_MEDIA_TYPES.includes(i.mediaType));
1276
+ }
1272
1277
  var ProviderError = class extends Error {
1273
1278
  name = "ProviderError";
1274
1279
  kind;
@@ -1668,7 +1673,12 @@ function buildAnthropicRequest(opts) {
1668
1673
  }
1669
1674
  continue;
1670
1675
  }
1671
- convo.push({ role: m.role, content: typeof m.content === "string" ? m.content : "" });
1676
+ const text = typeof m.content === "string" ? m.content : "";
1677
+ const images = imagesOf(m);
1678
+ convo.push(images.length ? { role: m.role, content: [
1679
+ ...images.map((i) => ({ type: "image", source: { type: "base64", media_type: i.mediaType, data: i.data } })),
1680
+ { type: "text", text }
1681
+ ] } : { role: m.role, content: text });
1672
1682
  }
1673
1683
  const body = {
1674
1684
  model: opts.model,
@@ -1909,7 +1919,10 @@ function buildGeminiRequest(opts) {
1909
1919
  const role = m.role === "user" ? "user" : "model";
1910
1920
  contents.push({
1911
1921
  role,
1912
- parts: [{ text: typeof m.content === "string" ? m.content : "" }]
1922
+ parts: [
1923
+ ...imagesOf(m).map((i) => ({ inline_data: { mime_type: i.mediaType, data: i.data } })),
1924
+ { text: typeof m.content === "string" ? m.content : "" }
1925
+ ]
1913
1926
  });
1914
1927
  }
1915
1928
  const body = {
@@ -2078,10 +2091,11 @@ function supportsNativeJsonSchema(provider, model) {
2078
2091
  return true;
2079
2092
  }
2080
2093
  function buildOpenAICompatibleRequest(opts) {
2081
- const msgs = opts.messages.map((m) => ({
2082
- role: m.role,
2083
- content: typeof m.content === "string" ? m.content : ""
2084
- }));
2094
+ const msgs = opts.messages.map((m) => {
2095
+ const text = typeof m.content === "string" ? m.content : "";
2096
+ const images = imagesOf(m);
2097
+ return images.length ? { role: m.role, content: [{ type: "text", text }, ...images.map((i) => ({ type: "image_url", image_url: { url: `data:${i.mediaType};base64,${i.data}` } }))] } : { role: m.role, content: text };
2098
+ });
2085
2099
  const body = {
2086
2100
  model: opts.model,
2087
2101
  messages: msgs
@@ -2494,7 +2508,7 @@ import { z } from "zod";
2494
2508
  // src/server-meta.ts
2495
2509
  init_esm_shims();
2496
2510
  var SERVER_NAME = "crosscheck-agent";
2497
- var SERVER_VERSION = true ? "0.2.29" : "0.0.0-dev";
2511
+ var SERVER_VERSION = true ? "0.2.30" : "0.0.0-dev";
2498
2512
 
2499
2513
  // src/tools/audit.ts
2500
2514
  init_esm_shims();
@@ -5503,6 +5517,7 @@ async function pickAutoPanel(storage, purpose, n, providers, allowlist) {
5503
5517
 
5504
5518
  // src/core/super-mode.ts
5505
5519
  init_esm_shims();
5520
+ import { AsyncLocalStorage } from "async_hooks";
5506
5521
  var SUPER_MODELS = {
5507
5522
  // Fable 5.1 verified present on the account; 5 as the fallback for accounts
5508
5523
  // that haven't been granted 5.1 yet.
@@ -5545,7 +5560,9 @@ function parseChain(v) {
5545
5560
  }
5546
5561
  return out;
5547
5562
  }
5548
- function superChainFor(provider, env = process.env) {
5563
+ var superEnvStore = new AsyncLocalStorage();
5564
+ var currentEnv = () => superEnvStore.getStore() ?? process.env;
5565
+ function superChainFor(provider, env = currentEnv()) {
5549
5566
  const varName = SUPER_ENV_VARS[provider];
5550
5567
  const user = varName ? parseChain(env[varName]) : [];
5551
5568
  if (user.length > 0) {
@@ -5554,14 +5571,14 @@ function superChainFor(provider, env = process.env) {
5554
5571
  }
5555
5572
  return SUPER_MODELS[provider] ?? [];
5556
5573
  }
5557
- function superPrimary(provider, env = process.env) {
5574
+ function superPrimary(provider, env = currentEnv()) {
5558
5575
  return superChainFor(provider, env)[0];
5559
5576
  }
5560
5577
  var SUPER_PROVIDER_NAMES = Object.keys(SUPER_MODELS);
5561
5578
  function isSuperRequested(args) {
5562
5579
  return args["super"] === true;
5563
5580
  }
5564
- function retargetForSuper(p, env = process.env) {
5581
+ function retargetForSuper(p, env = currentEnv()) {
5565
5582
  const chain = superChainFor(p.name, env);
5566
5583
  if (chain.length === 0) return p;
5567
5584
  const [primary, ...fallbacks] = chain;
@@ -7649,9 +7666,9 @@ import { performance as performance7 } from "perf_hooks";
7649
7666
 
7650
7667
  // src/core/progress.ts
7651
7668
  init_esm_shims();
7652
- import { AsyncLocalStorage } from "async_hooks";
7669
+ import { AsyncLocalStorage as AsyncLocalStorage2 } from "async_hooks";
7653
7670
  import { performance as performance6 } from "perf_hooks";
7654
- var progressStorage = new AsyncLocalStorage();
7671
+ var progressStorage = new AsyncLocalStorage2();
7655
7672
  async function withProgress(token, sendNotification, fn) {
7656
7673
  if (token === void 0 || token === null) {
7657
7674
  return fn();
@@ -12956,7 +12973,7 @@ var CHECK_INTERVAL_SECONDS = 3 * 24 * 60 * 60;
12956
12973
  var DEFAULT_PACKAGE = "crosscheck-cli";
12957
12974
  var FETCH_TIMEOUT_MS = 3e3;
12958
12975
  function engineVersion() {
12959
- return true ? "0.2.29" : "0.0.0-dev";
12976
+ return true ? "0.2.30" : "0.0.0-dev";
12960
12977
  }
12961
12978
  function defaultUpdateCachePath() {
12962
12979
  const base = process.env["CROSSCHECK_DATA_DIR"] || path10.join(os.homedir() || os.tmpdir(), ".crosscheck");