ai-model-advisor-mcp 2.2.1 → 2.3.0

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 (56) hide show
  1. package/README.md +17 -2
  2. package/build/server.d.ts +106 -0
  3. package/build/server.d.ts.map +1 -1
  4. package/build/server.js +55 -1
  5. package/build/server.js.map +1 -1
  6. package/build/tools/compare.js +2 -2
  7. package/build/tools/compare.js.map +1 -1
  8. package/build/tools/info.js +3 -3
  9. package/build/tools/info.js.map +1 -1
  10. package/build/tools/list.d.ts.map +1 -1
  11. package/build/tools/list.js +10 -2
  12. package/build/tools/list.js.map +1 -1
  13. package/build/tools/recommend.d.ts.map +1 -1
  14. package/build/tools/recommend.js +12 -5
  15. package/build/tools/recommend.js.map +1 -1
  16. package/build/tools/select.d.ts +113 -0
  17. package/build/tools/select.d.ts.map +1 -0
  18. package/build/tools/select.js +371 -0
  19. package/build/tools/select.js.map +1 -0
  20. package/package.json +3 -2
  21. package/build/data/fal-pricing.d.ts +0 -15
  22. package/build/data/fal-pricing.d.ts.map +0 -1
  23. package/build/data/fal-pricing.js +0 -145
  24. package/build/data/fal-pricing.js.map +0 -1
  25. package/build/data/fireworks-pricing.d.ts +0 -14
  26. package/build/data/fireworks-pricing.d.ts.map +0 -1
  27. package/build/data/fireworks-pricing.js +0 -57
  28. package/build/data/fireworks-pricing.js.map +0 -1
  29. package/build/data/replicate-pricing.d.ts +0 -16
  30. package/build/data/replicate-pricing.d.ts.map +0 -1
  31. package/build/data/replicate-pricing.js +0 -71
  32. package/build/data/replicate-pricing.js.map +0 -1
  33. package/build/data/together-pricing.d.ts +0 -14
  34. package/build/data/together-pricing.d.ts.map +0 -1
  35. package/build/data/together-pricing.js +0 -73
  36. package/build/data/together-pricing.js.map +0 -1
  37. package/build/providers/fal.d.ts +0 -3
  38. package/build/providers/fal.d.ts.map +0 -1
  39. package/build/providers/fal.js +0 -168
  40. package/build/providers/fal.js.map +0 -1
  41. package/build/providers/fireworks.d.ts +0 -3
  42. package/build/providers/fireworks.d.ts.map +0 -1
  43. package/build/providers/fireworks.js +0 -75
  44. package/build/providers/fireworks.js.map +0 -1
  45. package/build/providers/openrouter.d.ts +0 -3
  46. package/build/providers/openrouter.d.ts.map +0 -1
  47. package/build/providers/openrouter.js +0 -78
  48. package/build/providers/openrouter.js.map +0 -1
  49. package/build/providers/replicate.d.ts +0 -3
  50. package/build/providers/replicate.d.ts.map +0 -1
  51. package/build/providers/replicate.js +0 -129
  52. package/build/providers/replicate.js.map +0 -1
  53. package/build/providers/together.d.ts +0 -3
  54. package/build/providers/together.d.ts.map +0 -1
  55. package/build/providers/together.js +0 -93
  56. package/build/providers/together.js.map +0 -1
package/README.md CHANGED
@@ -44,7 +44,22 @@ The server works **entirely out-of-the-box**. Just add it to your MCP settings a
44
44
 
45
45
  That's it! Live pricing for **all 1,000+ models** across all 5 providers is fetched automatically using our hosted Cloudflare Worker Pricing API. No API keys, no environment variables, no setup.
46
46
 
47
- ## Tools (8 total)
47
+ ## Tools (9 total)
48
+
49
+ ### 🧭 `select_model_for_project` ⭐ NEW
50
+
51
+ One call for agents that already have project context. Returns the best overall model, cheapest acceptable model, and best value option without forcing the agent to manually chain several tools.
52
+
53
+ ```
54
+ select_model_for_project({
55
+ project: "TypeScript MCP server for coding agents",
56
+ task: "coding assistant",
57
+ requirements: ["coding", "reasoning", "tool_use"],
58
+ expected_usage: { input_tokens: 5000000, output_tokens: 1000000 }
59
+ })
60
+ ```
61
+
62
+ The server searches the catalog behind the scenes and returns a compact decision with model IDs, provider, price, quality tier, reasons, tradeoffs, and structured output that agents can parse.
48
63
 
49
64
  ### 🏷️ `find_cheapest_provider` ⭐ NEW
50
65
 
@@ -175,7 +190,7 @@ Agent → MCP Server → Cloudflare Worker Pricing API (Our Hosted Backend)
175
190
  └─ Fetches from Fireworks AI (12+ models)
176
191
 
177
192
  Unified Model Registry
178
- → recommend, compare, list, info, estimate, shop, batch
193
+ select, recommend, compare, list, info, estimate, shop, batch
179
194
  ```
180
195
 
181
196
  The MCP Server connects to our blazing-fast Cloudflare Worker that aggregates live pricing data across all 5 providers on a recurring 6-hour cron schedule. This gives your agent real-time pricing awareness without requiring you to juggle 5 different API keys.
package/build/server.d.ts CHANGED
@@ -1,5 +1,83 @@
1
1
  import { Server } from "@modelcontextprotocol/sdk/server/index.js";
2
2
  export declare const TOOL_DEFINITIONS: ({
3
+ name: string;
4
+ description: string;
5
+ inputSchema: {
6
+ type: "object";
7
+ properties: {
8
+ project: {
9
+ type: string;
10
+ description: string;
11
+ };
12
+ task: {
13
+ type: string;
14
+ description: string;
15
+ };
16
+ requirements: {
17
+ type: string;
18
+ items: {
19
+ type: string;
20
+ };
21
+ description: string;
22
+ };
23
+ budget: {
24
+ type: string;
25
+ description: string;
26
+ enum: string[];
27
+ };
28
+ optimization_goal: {
29
+ type: string;
30
+ description: string;
31
+ enum: string[];
32
+ };
33
+ expected_usage: {
34
+ type: string;
35
+ description: string;
36
+ };
37
+ limit: {
38
+ type: string;
39
+ description: string;
40
+ };
41
+ model_ids?: undefined;
42
+ category?: undefined;
43
+ provider?: undefined;
44
+ capability?: undefined;
45
+ max_price?: undefined;
46
+ model_id?: undefined;
47
+ usage?: undefined;
48
+ since?: undefined;
49
+ model?: undefined;
50
+ };
51
+ required?: undefined;
52
+ };
53
+ outputSchema: {
54
+ type: "object";
55
+ properties: {
56
+ query: {
57
+ type: string;
58
+ };
59
+ best_overall: {
60
+ type: string;
61
+ };
62
+ cheapest_acceptable: {
63
+ type: string;
64
+ };
65
+ best_value: {
66
+ type: string;
67
+ };
68
+ candidates: {
69
+ type: string;
70
+ items: {
71
+ type: string;
72
+ };
73
+ };
74
+ cost_basis: {
75
+ type: string;
76
+ };
77
+ };
78
+ required: string[];
79
+ };
80
+ } | {
3
81
  name: string;
4
82
  description: string;
5
83
  inputSchema: {
@@ -25,6 +103,9 @@ export declare const TOOL_DEFINITIONS: ({
25
103
  type: string;
26
104
  description: string;
27
105
  };
106
+ project?: undefined;
107
+ optimization_goal?: undefined;
108
+ expected_usage?: undefined;
28
109
  model_ids?: undefined;
29
110
  category?: undefined;
30
111
  provider?: undefined;
@@ -37,6 +118,7 @@ export declare const TOOL_DEFINITIONS: ({
37
118
  };
38
119
  required: string[];
39
120
  };
121
+ outputSchema?: undefined;
40
122
  } | {
41
123
  name: string;
42
124
  description: string;
@@ -50,9 +132,12 @@ export declare const TOOL_DEFINITIONS: ({
50
132
  };
51
133
  description: string;
52
134
  };
135
+ project?: undefined;
53
136
  task?: undefined;
54
137
  requirements?: undefined;
55
138
  budget?: undefined;
139
+ optimization_goal?: undefined;
140
+ expected_usage?: undefined;
56
141
  limit?: undefined;
57
142
  category?: undefined;
58
143
  provider?: undefined;
@@ -65,6 +150,7 @@ export declare const TOOL_DEFINITIONS: ({
65
150
  };
66
151
  required: string[];
67
152
  };
153
+ outputSchema?: undefined;
68
154
  } | {
69
155
  name: string;
70
156
  description: string;
@@ -92,9 +178,12 @@ export declare const TOOL_DEFINITIONS: ({
92
178
  type: string;
93
179
  description: string;
94
180
  };
181
+ project?: undefined;
95
182
  task?: undefined;
96
183
  requirements?: undefined;
97
184
  budget?: undefined;
185
+ optimization_goal?: undefined;
186
+ expected_usage?: undefined;
98
187
  model_ids?: undefined;
99
188
  model_id?: undefined;
100
189
  usage?: undefined;
@@ -103,6 +192,7 @@ export declare const TOOL_DEFINITIONS: ({
103
192
  };
104
193
  required?: undefined;
105
194
  };
195
+ outputSchema?: undefined;
106
196
  } | {
107
197
  name: string;
108
198
  description: string;
@@ -113,9 +203,12 @@ export declare const TOOL_DEFINITIONS: ({
113
203
  type: string;
114
204
  description: string;
115
205
  };
206
+ project?: undefined;
116
207
  task?: undefined;
117
208
  requirements?: undefined;
118
209
  budget?: undefined;
210
+ optimization_goal?: undefined;
211
+ expected_usage?: undefined;
119
212
  limit?: undefined;
120
213
  model_ids?: undefined;
121
214
  category?: undefined;
@@ -128,6 +221,7 @@ export declare const TOOL_DEFINITIONS: ({
128
221
  };
129
222
  required: string[];
130
223
  };
224
+ outputSchema?: undefined;
131
225
  } | {
132
226
  name: string;
133
227
  description: string;
@@ -142,9 +236,12 @@ export declare const TOOL_DEFINITIONS: ({
142
236
  type: string;
143
237
  description: string;
144
238
  };
239
+ project?: undefined;
145
240
  task?: undefined;
146
241
  requirements?: undefined;
147
242
  budget?: undefined;
243
+ optimization_goal?: undefined;
244
+ expected_usage?: undefined;
148
245
  limit?: undefined;
149
246
  model_ids?: undefined;
150
247
  category?: undefined;
@@ -156,6 +253,7 @@ export declare const TOOL_DEFINITIONS: ({
156
253
  };
157
254
  required: string[];
158
255
  };
256
+ outputSchema?: undefined;
159
257
  } | {
160
258
  name: string;
161
259
  description: string;
@@ -174,9 +272,12 @@ export declare const TOOL_DEFINITIONS: ({
174
272
  type: string;
175
273
  description: string;
176
274
  };
275
+ project?: undefined;
177
276
  task?: undefined;
178
277
  requirements?: undefined;
179
278
  budget?: undefined;
279
+ optimization_goal?: undefined;
280
+ expected_usage?: undefined;
180
281
  model_ids?: undefined;
181
282
  provider?: undefined;
182
283
  capability?: undefined;
@@ -187,6 +288,7 @@ export declare const TOOL_DEFINITIONS: ({
187
288
  };
188
289
  required?: undefined;
189
290
  };
291
+ outputSchema?: undefined;
190
292
  } | {
191
293
  name: string;
192
294
  description: string;
@@ -197,9 +299,12 @@ export declare const TOOL_DEFINITIONS: ({
197
299
  type: string;
198
300
  description: string;
199
301
  };
302
+ project?: undefined;
200
303
  task?: undefined;
201
304
  requirements?: undefined;
202
305
  budget?: undefined;
306
+ optimization_goal?: undefined;
307
+ expected_usage?: undefined;
203
308
  limit?: undefined;
204
309
  model_ids?: undefined;
205
310
  category?: undefined;
@@ -212,6 +317,7 @@ export declare const TOOL_DEFINITIONS: ({
212
317
  };
213
318
  required: string[];
214
319
  };
320
+ outputSchema?: undefined;
215
321
  })[];
216
322
  export declare function createServer(): Server;
217
323
  //# sourceMappingURL=server.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AAkBnE,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IA8K5B,CAAC;AAmBF,wBAAgB,YAAY,IAAI,MAAM,CAqBrC"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AAmBnE,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAwO5B,CAAC;AAoBF,wBAAgB,YAAY,IAAI,MAAM,CAqBrC"}
package/build/server.js CHANGED
@@ -9,8 +9,61 @@ import { handleEstimateCost } from "./tools/estimate.js";
9
9
  import { handleWhatsNew } from "./tools/discover.js";
10
10
  import { handleFindCheapestProvider } from "./tools/shop.js";
11
11
  import { handleBatchGetPricing } from "./tools/batch.js";
12
+ import { handleSelectModelForProject } from "./tools/select.js";
12
13
  // ─── Tool Definitions ───────────────────────────────────────────────────────
13
14
  export const TOOL_DEFINITIONS = [
15
+ {
16
+ name: "select_model_for_project",
17
+ description: "Pick the best overall, cheapest acceptable, and best value AI model for a project. Use this when an agent has project context and needs one decision instead of manually chaining recommend, compare, pricing, and cost tools. Returns concise markdown plus structured fields with candidates, scores, reasons, pricing, and tradeoffs.",
18
+ inputSchema: {
19
+ type: "object",
20
+ properties: {
21
+ project: {
22
+ type: "string",
23
+ description: 'Project or repository context. Example: "TypeScript MCP server that needs a coding/reasoning model for agent workflows"',
24
+ },
25
+ task: {
26
+ type: "string",
27
+ description: 'Optional specific task. Examples: "coding assistant", "image generation", "video generation", "transcription"',
28
+ },
29
+ requirements: {
30
+ type: "array",
31
+ items: { type: "string" },
32
+ description: 'Optional requirements. Examples: ["coding", "reasoning", "tool_use", "vision", "fast", "long_context"]',
33
+ },
34
+ budget: {
35
+ type: "string",
36
+ description: 'Optional budget constraint: "free", "low", or omit for any price',
37
+ enum: ["free", "low", "any"],
38
+ },
39
+ optimization_goal: {
40
+ type: "string",
41
+ description: 'Optional ranking goal for the candidate list: "balanced" (default), "best", or "cheapest"',
42
+ enum: ["balanced", "best", "cheapest"],
43
+ },
44
+ expected_usage: {
45
+ type: "object",
46
+ description: "Optional usage estimate for cost-aware ranking. LLMs: {input_tokens, output_tokens, requests}. Media: {images, seconds, units, requests}",
47
+ },
48
+ limit: {
49
+ type: "number",
50
+ description: "Max candidate rows to return (default: 5, max: 20)",
51
+ },
52
+ },
53
+ },
54
+ outputSchema: {
55
+ type: "object",
56
+ properties: {
57
+ query: { type: "object" },
58
+ best_overall: { type: "object" },
59
+ cheapest_acceptable: { type: "object" },
60
+ best_value: { type: "object" },
61
+ candidates: { type: "array", items: { type: "object" } },
62
+ cost_basis: { type: "string" },
63
+ },
64
+ required: ["query", "candidates"],
65
+ },
66
+ },
14
67
  {
15
68
  name: "recommend_model",
16
69
  description: "Recommend the best AI model for a task. Searches across 1000+ models spanning LLMs, image gen, video gen, TTS, STT, 3D, and more from 5 providers (OpenRouter, fal.ai, Together AI, Replicate, Fireworks). Returns ranked results based on task match, capabilities, quality tier, price, speed (TTFT/throughput), and intelligence benchmarks (MMLU/coding).",
@@ -75,7 +128,7 @@ export const TOOL_DEFINITIONS = [
75
128
  },
76
129
  max_price: {
77
130
  type: "number",
78
- description: "Maximum price per unit in USD (e.g. 0 for free models)",
131
+ description: "Maximum price in USD. For LLMs: price per 1M tokens (e.g. 1.0 = $1/1M tokens). For media: price per unit (image, second, etc.). Use 0 for free models only.",
79
132
  },
80
133
  limit: {
81
134
  type: "number",
@@ -168,6 +221,7 @@ export const TOOL_DEFINITIONS = [
168
221
  },
169
222
  ];
170
223
  const HANDLER_MAP = {
224
+ select_model_for_project: handleSelectModelForProject,
171
225
  recommend_model: handleRecommendModel,
172
226
  compare_models: handleCompareModels,
173
227
  list_models: handleListModels,
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
@@ -54,8 +54,8 @@ export function handleCompareModels(models, args) {
54
54
  if (hasLLMs && !hasMedia) {
55
55
  // All LLMs: show capabilities
56
56
  const capFlag = (m, ...caps) => m.capabilities.some(c => caps.some(alias => c.toLowerCase().includes(alias))) ? "✅" : "❌";
57
- const fmtSpeed = (n) => n !== undefined ? n.toFixed(1) : "—";
58
- const fmtMMLU = (n) => n !== undefined ? n.toFixed(1) : "—";
57
+ const fmtSpeed = (n) => (n !== undefined && n > 0) ? n.toFixed(1) : "—";
58
+ const fmtMMLU = (n) => (n !== undefined && n > 0) ? n.toFixed(1) : "—";
59
59
  header = `| Model | Provider | Avail. | Pricing | Context/Output | Speed (TTFT/Tps) | MMLU | Tools | Reason | Vision | Quality |`;
60
60
  separator = `|-------|----------|--------|---------|----------------|------------------|------|-------|--------|--------|---------|`;
61
61
  rows = found.map((m) => {
@@ -1 +1 @@
1
- {"version":3,"file":"compare.js","sourceRoot":"","sources":["../../src/tools/compare.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"compare.js","sourceRoot":"","sources":["../../src/tools/compare.ts"],"names":[],"mappings":"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"}
@@ -58,11 +58,11 @@ export function handleGetModelInfo(models, args) {
58
58
  lines.push("");
59
59
  }
60
60
  // Speed metrics
61
- if (model.speed?.ttft !== undefined || model.speed?.throughput !== undefined) {
61
+ if ((model.speed?.ttft != null && model.speed.ttft > 0) || (model.speed?.throughput != null && model.speed.throughput > 0)) {
62
62
  lines.push(`## Speed`);
63
- if (model.speed.ttft !== undefined)
63
+ if (model.speed.ttft != null && model.speed.ttft > 0)
64
64
  lines.push(`- Time to First Token: ${model.speed.ttft.toFixed(2)}s`);
65
- if (model.speed.throughput !== undefined)
65
+ if (model.speed.throughput != null && model.speed.throughput > 0)
66
66
  lines.push(`- Throughput: ${model.speed.throughput.toFixed(1)} tokens/sec`);
67
67
  lines.push("");
68
68
  }
@@ -1 +1 @@
1
- {"version":3,"file":"info.js","sourceRoot":"","sources":["../../src/tools/info.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"info.js","sourceRoot":"","sources":["../../src/tools/info.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../src/tools/list.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAA+B,MAAM,aAAa,CAAC;AAE7E,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,YAAY,EAAE,EACtB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;;;;EAsF9B"}
1
+ {"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../src/tools/list.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAA+B,MAAM,aAAa,CAAC;AAE7E,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,YAAY,EAAE,EACtB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;;;;EA4F9B"}
@@ -29,16 +29,24 @@ export function handleListModels(models, args) {
29
29
  (m.tags && m.tags.some((tag) => terms.some((t) => tag.toLowerCase().includes(t)))));
30
30
  }
31
31
  if (maxPrice !== undefined && maxPrice >= 0) {
32
- filtered = filtered.filter((m) => m.pricing.unitPrice >= 0 && m.pricing.unitPrice <= maxPrice);
32
+ filtered = filtered.filter((m) => {
33
+ if (m.pricing.unitPrice < 0)
34
+ return false;
35
+ const comparePrice = m.pricing.unit === "token"
36
+ ? m.pricing.unitPrice * 1_000_000
37
+ : m.pricing.unitPrice;
38
+ return comparePrice <= maxPrice;
39
+ });
33
40
  }
34
41
  // Sort: quality tier first (S > A > B > C > unrated), then by price
35
42
  const tierOrder = { S: 0, A: 1, B: 2, C: 3 };
43
+ const normPrice = (m) => m.pricing.unit === "token" ? m.pricing.unitPrice * 1_000_000 : m.pricing.unitPrice;
36
44
  filtered.sort((a, b) => {
37
45
  const ta = a.qualityTier ? tierOrder[a.qualityTier] : 9;
38
46
  const tb = b.qualityTier ? tierOrder[b.qualityTier] : 9;
39
47
  if (ta !== tb)
40
48
  return ta - tb;
41
- return a.pricing.unitPrice - b.pricing.unitPrice;
49
+ return normPrice(a) - normPrice(b);
42
50
  });
43
51
  const results = filtered.slice(0, limit);
44
52
  if (results.length === 0) {
@@ -1 +1 @@
1
- {"version":3,"file":"list.js","sourceRoot":"","sources":["../../src/tools/list.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"list.js","sourceRoot":"","sources":["../../src/tools/list.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"recommend.d.ts","sourceRoot":"","sources":["../../src/tools/recommend.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAiB,MAAM,aAAa,CAAC;AA4F/D,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,YAAY,EAAE,EACtB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;;;;;;;;;;;EAiF9B"}
1
+ {"version":3,"file":"recommend.d.ts","sourceRoot":"","sources":["../../src/tools/recommend.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAiB,MAAM,aAAa,CAAC;AA4F/D,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,YAAY,EAAE,EACtB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;;;;;;;;;;;EAuF9B"}
@@ -80,23 +80,23 @@ function matchesRequirements(model, allTerms, explicitReqs) {
80
80
  // Benchmark and speed bonuses
81
81
  const reqStr = terms.join(" ");
82
82
  if (reqStr.includes("fast") || reqStr.includes("speed")) {
83
- if (model.speed?.throughput && model.speed.throughput > 50) {
83
+ if (model.speed?.throughput != null && model.speed.throughput > 50) {
84
84
  score += 4;
85
85
  hasRelevance = true;
86
86
  }
87
- if (model.speed?.ttft && model.speed.ttft < 0.5) {
87
+ if (model.speed?.ttft != null && model.speed.ttft > 0 && model.speed.ttft < 0.5) {
88
88
  score += 2;
89
89
  hasRelevance = true;
90
90
  }
91
91
  }
92
92
  if (reqStr.includes("code") || reqStr.includes("coding")) {
93
- if (model.benchmarks?.coding && model.benchmarks.coding > 60) {
93
+ if (model.benchmarks?.coding != null && model.benchmarks.coding > 60) {
94
94
  score += 4;
95
95
  hasRelevance = true;
96
96
  }
97
97
  }
98
98
  if (reqStr.includes("smart") || reqStr.includes("intelligence") || reqStr.includes("reason") || reqStr.includes("think")) {
99
- if (model.benchmarks?.mmlu && model.benchmarks.mmlu > 75) {
99
+ if (model.benchmarks?.mmlu != null && model.benchmarks.mmlu > 75) {
100
100
  score += 4;
101
101
  hasRelevance = true;
102
102
  }
@@ -123,7 +123,14 @@ export function handleRecommendModel(models, args) {
123
123
  candidates = candidates.filter((m) => m.pricing.unitPrice === 0);
124
124
  }
125
125
  else if (budget === "low") {
126
- candidates = candidates.filter((m) => m.pricing.unitPrice >= 0);
126
+ candidates = candidates.filter((m) => {
127
+ if (m.pricing.unitPrice < 0)
128
+ return false;
129
+ const price = m.pricing.unit === "token"
130
+ ? m.pricing.unitPrice * 1_000_000
131
+ : m.pricing.unitPrice;
132
+ return price <= 1.0; // $1 per 1M tokens or $1 per media unit
133
+ });
127
134
  }
128
135
  // Score and rank
129
136
  const scored = candidates.map((m) => {
@@ -1 +1 @@
1
- {"version":3,"file":"recommend.js","sourceRoot":"","sources":["../../src/tools/recommend.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"recommend.js","sourceRoot":"","sources":["../../src/tools/recommend.ts"],"names":[],"mappings":"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"}