@agentgrader/agent-openrouter 2.0.0 → 2.0.3

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 +34 -4
  2. package/package.json +4 -4
package/dist/index.js CHANGED
@@ -5,27 +5,57 @@ import { createAnthropic } from '@ai-sdk/anthropic';
5
5
  import { z } from 'zod';
6
6
 
7
7
  // src/index.ts
8
+ function resolveProvider(config) {
9
+ if (config.provider) return config.provider;
10
+ const modelName = config.model || "";
11
+ const hasOpenRouterKey = Boolean(process.env.OPENROUTER_API_KEY || process.env.OPENAI_API_KEY);
12
+ if (!hasOpenRouterKey) {
13
+ if (/^claude-/i.test(modelName) && process.env.ANTHROPIC_API_KEY) {
14
+ return "anthropic";
15
+ }
16
+ if (/^(gpt-|o[0-9])/i.test(modelName) && process.env.OPENAI_API_KEY) {
17
+ return "openai";
18
+ }
19
+ }
20
+ return "openrouter";
21
+ }
8
22
  var AiSdkAgentAdapter = class {
9
23
  name = "ai-sdk";
10
24
  async solve(input) {
11
25
  const { prompt, sandbox, config, onStep } = input;
12
- const provider = config.provider || "openrouter";
26
+ const provider = resolveProvider(config);
13
27
  const modelName = config.model || "gpt-4o-mini";
14
28
  let model;
15
29
  if (provider === "anthropic") {
30
+ if (!process.env.ANTHROPIC_API_KEY) {
31
+ throw new Error(
32
+ "ANTHROPIC_API_KEY is not set. Set it in your environment or .env file to use provider: anthropic."
33
+ );
34
+ }
16
35
  const anthropic = createAnthropic({
17
- apiKey: process.env.ANTHROPIC_API_KEY || "mock-key"
36
+ apiKey: process.env.ANTHROPIC_API_KEY
18
37
  });
19
38
  model = anthropic(modelName);
20
39
  } else if (provider === "openai") {
40
+ if (!process.env.OPENAI_API_KEY) {
41
+ throw new Error(
42
+ "OPENAI_API_KEY is not set. Set it in your environment or .env file to use provider: openai."
43
+ );
44
+ }
21
45
  const openai = createOpenAI({
22
- apiKey: process.env.OPENAI_API_KEY || "mock-key"
46
+ apiKey: process.env.OPENAI_API_KEY
23
47
  });
24
48
  model = openai(modelName);
25
49
  } else {
50
+ const apiKey = process.env.OPENROUTER_API_KEY || process.env.OPENAI_API_KEY;
51
+ if (!apiKey) {
52
+ throw new Error(
53
+ "OPENROUTER_API_KEY (or OPENAI_API_KEY) is not set. Set it in your environment or .env file to use provider: openrouter."
54
+ );
55
+ }
26
56
  const openrouter = createOpenAI({
27
57
  baseURL: "https://openrouter.ai/api/v1",
28
- apiKey: process.env.OPENROUTER_API_KEY || process.env.OPENAI_API_KEY || "mock-key",
58
+ apiKey,
29
59
  headers: {
30
60
  "HTTP-Referer": "https://github.com/agentgrader/agr",
31
61
  "X-Title": "Agentgrader"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agentgrader/agent-openrouter",
3
- "version": "2.0.0",
3
+ "version": "2.0.3",
4
4
  "description": "OpenRouter/AI SDK ReAct agent adapter for the Agentgrader framework",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -21,8 +21,8 @@
21
21
  "build:watch": "tsup src/index.ts --format esm --dts --watch"
22
22
  },
23
23
  "dependencies": {
24
- "@agentgrader/core": "^1.1.0",
25
- "@ai-sdk/anthropic": "^3.0.82",
24
+ "@agentgrader/core": "^1.1.2",
25
+ "@ai-sdk/anthropic": "^1.2.12",
26
26
  "@ai-sdk/openai": "^1.1.0",
27
27
  "ai": "^4.1.0",
28
28
  "zod": "^3.23.8"
@@ -31,6 +31,6 @@
31
31
  "tsup": "^8.5.1"
32
32
  },
33
33
  "peerDependencies": {
34
- "@agentgrader/core": "^1.1.0"
34
+ "@agentgrader/core": "^1.1.2"
35
35
  }
36
36
  }