@quantish/agent 0.1.17 → 0.1.18

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.
Files changed (2) hide show
  1. package/dist/index.js +107 -9
  2. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -2386,14 +2386,35 @@ function resolveModelId(nameOrAlias) {
2386
2386
  return id;
2387
2387
  }
2388
2388
  }
2389
+ if (OPENROUTER_MODELS[lower]) {
2390
+ return lower;
2391
+ }
2392
+ if (OPENROUTER_MODEL_ALIASES[lower]) {
2393
+ return OPENROUTER_MODEL_ALIASES[lower];
2394
+ }
2395
+ for (const [id, config] of Object.entries(OPENROUTER_MODELS)) {
2396
+ if (config.name.toLowerCase() === lower) {
2397
+ return id;
2398
+ }
2399
+ }
2400
+ if (nameOrAlias.includes("/")) {
2401
+ return nameOrAlias;
2402
+ }
2389
2403
  return null;
2390
2404
  }
2391
2405
  function getModelPricing(modelId) {
2392
- const model = MODELS[modelId];
2393
- return model?.pricing ?? null;
2406
+ const anthropicModel = MODELS[modelId];
2407
+ if (anthropicModel?.pricing) {
2408
+ return anthropicModel.pricing;
2409
+ }
2410
+ const openrouterModel = OPENROUTER_MODELS[modelId];
2411
+ if (openrouterModel?.pricing) {
2412
+ return openrouterModel.pricing;
2413
+ }
2414
+ return null;
2394
2415
  }
2395
2416
  function getModelConfig(modelId) {
2396
- return MODELS[modelId] ?? null;
2417
+ return MODELS[modelId] ?? OPENROUTER_MODELS[modelId] ?? null;
2397
2418
  }
2398
2419
  function calculateCost(modelId, inputTokens, outputTokens, cacheCreationTokens = 0, cacheReadTokens = 0) {
2399
2420
  const pricing = getModelPricing(modelId);
@@ -2437,13 +2458,90 @@ function formatCost(cost) {
2437
2458
  function listModels() {
2438
2459
  return Object.values(MODELS);
2439
2460
  }
2461
+ var OPENROUTER_MODELS = {
2462
+ "z-ai/glm-4.7": {
2463
+ id: "z-ai/glm-4.7",
2464
+ name: "glm-4.7",
2465
+ displayName: "GLM 4.7",
2466
+ pricing: {
2467
+ inputPerMTok: 0.4,
2468
+ outputPerMTok: 1.5,
2469
+ cacheWritePerMTok: 0,
2470
+ cacheReadPerMTok: 0
2471
+ },
2472
+ contextWindow: 202752,
2473
+ description: "Z.AI flagship. Enhanced programming, multi-step reasoning, agent tasks."
2474
+ },
2475
+ "minimax/minimax-m2.1": {
2476
+ id: "minimax/minimax-m2.1",
2477
+ name: "minimax-m2.1",
2478
+ displayName: "MiniMax M2.1",
2479
+ pricing: {
2480
+ inputPerMTok: 0.3,
2481
+ outputPerMTok: 1.2,
2482
+ cacheWritePerMTok: 0,
2483
+ cacheReadPerMTok: 0
2484
+ },
2485
+ contextWindow: 204800,
2486
+ description: "Lightweight, optimized for coding and agentic workflows."
2487
+ },
2488
+ "deepseek/deepseek-chat": {
2489
+ id: "deepseek/deepseek-chat",
2490
+ name: "deepseek-chat",
2491
+ displayName: "DeepSeek Chat",
2492
+ pricing: {
2493
+ inputPerMTok: 0.14,
2494
+ outputPerMTok: 0.28,
2495
+ cacheWritePerMTok: 0,
2496
+ cacheReadPerMTok: 0
2497
+ },
2498
+ contextWindow: 128e3,
2499
+ description: "Ultra-cheap, strong coding and reasoning. Great for high-volume."
2500
+ },
2501
+ "google/gemini-2.0-flash-001": {
2502
+ id: "google/gemini-2.0-flash-001",
2503
+ name: "gemini-2.0-flash",
2504
+ displayName: "Gemini 2.0 Flash",
2505
+ pricing: {
2506
+ inputPerMTok: 0.1,
2507
+ outputPerMTok: 0.4,
2508
+ cacheWritePerMTok: 0,
2509
+ cacheReadPerMTok: 0
2510
+ },
2511
+ contextWindow: 1e6,
2512
+ description: "Google's fast multimodal model. 1M context window."
2513
+ },
2514
+ "qwen/qwen-2.5-coder-32b-instruct": {
2515
+ id: "qwen/qwen-2.5-coder-32b-instruct",
2516
+ name: "qwen-coder-32b",
2517
+ displayName: "Qwen 2.5 Coder 32B",
2518
+ pricing: {
2519
+ inputPerMTok: 0.18,
2520
+ outputPerMTok: 0.18,
2521
+ cacheWritePerMTok: 0,
2522
+ cacheReadPerMTok: 0
2523
+ },
2524
+ contextWindow: 32768,
2525
+ description: "Alibaba's coding specialist. Excellent for code generation."
2526
+ }
2527
+ };
2528
+ var OPENROUTER_MODEL_ALIASES = {
2529
+ "glm": "z-ai/glm-4.7",
2530
+ "glm-4.7": "z-ai/glm-4.7",
2531
+ "minimax": "minimax/minimax-m2.1",
2532
+ "deepseek": "deepseek/deepseek-chat",
2533
+ "gemini": "google/gemini-2.0-flash-001",
2534
+ "gemini-flash": "google/gemini-2.0-flash-001",
2535
+ "qwen": "qwen/qwen-2.5-coder-32b-instruct",
2536
+ "qwen-coder": "qwen/qwen-2.5-coder-32b-instruct"
2537
+ };
2440
2538
 
2441
2539
  // src/agent/provider.ts
2442
2540
  import Anthropic from "@anthropic-ai/sdk";
2443
2541
 
2444
2542
  // src/agent/openrouter.ts
2445
2543
  var OPENROUTER_BASE_URL = "https://openrouter.ai/api/v1";
2446
- var OPENROUTER_MODELS = {
2544
+ var OPENROUTER_MODELS2 = {
2447
2545
  // MiniMax models - very cost effective
2448
2546
  "minimax/minimax-m2.1": {
2449
2547
  id: "minimax/minimax-m2.1",
@@ -2662,13 +2760,13 @@ var OPENROUTER_ALIASES = {
2662
2760
  };
2663
2761
  function resolveOpenRouterModelId(nameOrAlias) {
2664
2762
  const lower = nameOrAlias.toLowerCase();
2665
- if (OPENROUTER_MODELS[lower]) {
2763
+ if (OPENROUTER_MODELS2[lower]) {
2666
2764
  return lower;
2667
2765
  }
2668
2766
  if (OPENROUTER_ALIASES[lower]) {
2669
2767
  return OPENROUTER_ALIASES[lower];
2670
2768
  }
2671
- for (const [id, config] of Object.entries(OPENROUTER_MODELS)) {
2769
+ for (const [id, config] of Object.entries(OPENROUTER_MODELS2)) {
2672
2770
  if (config.name.toLowerCase() === lower) {
2673
2771
  return id;
2674
2772
  }
@@ -2679,7 +2777,7 @@ function resolveOpenRouterModelId(nameOrAlias) {
2679
2777
  return null;
2680
2778
  }
2681
2779
  function getOpenRouterModelConfig(modelId) {
2682
- return OPENROUTER_MODELS[modelId] ?? null;
2780
+ return OPENROUTER_MODELS2[modelId] ?? null;
2683
2781
  }
2684
2782
  function convertToOpenAITools(anthropicTools) {
2685
2783
  return anthropicTools.map((tool) => ({
@@ -2840,7 +2938,7 @@ function calculateOpenRouterCost(modelId, inputTokens, outputTokens, cacheReadTo
2840
2938
  };
2841
2939
  }
2842
2940
  function listOpenRouterModels() {
2843
- return Object.values(OPENROUTER_MODELS);
2941
+ return Object.values(OPENROUTER_MODELS2);
2844
2942
  }
2845
2943
 
2846
2944
  // src/agent/provider.ts
@@ -3959,7 +4057,7 @@ ${userMessage}`;
3959
4057
  }
3960
4058
  if (!resolvedId) {
3961
4059
  const anthropicModels = Object.values(MODELS).map((m) => m.name).join(", ");
3962
- const orModels = Object.values(OPENROUTER_MODELS).slice(0, 5).map((m) => m.name).join(", ");
4060
+ const orModels = Object.values(OPENROUTER_MODELS2).slice(0, 5).map((m) => m.name).join(", ");
3963
4061
  return {
3964
4062
  success: false,
3965
4063
  error: `Unknown model: "${modelIdOrAlias}". Anthropic: ${anthropicModels}. OpenRouter: ${orModels}, ...`
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@quantish/agent",
3
- "version": "0.1.17",
3
+ "version": "0.1.18",
4
4
  "description": "AI-powered agent for building trading bots on Polymarket",
5
5
  "type": "module",
6
6
  "bin": {