Compare commits
3 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 568f571d8c | |||
| 8a9376b40e | |||
| 0c8aa4d1ea |
+1
-1
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "paperclip-adapter-claude-k8s",
|
"name": "paperclip-adapter-claude-k8s",
|
||||||
"version": "0.1.55",
|
"version": "0.1.57",
|
||||||
"description": "Paperclip adapter plugin that runs Claude Code agents as Kubernetes Jobs",
|
"description": "Paperclip adapter plugin that runs Claude Code agents as Kubernetes Jobs",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"repository": {
|
"repository": {
|
||||||
|
|||||||
+28
-1
@@ -1,7 +1,34 @@
|
|||||||
|
import type { AdapterModel } from "@paperclipai/adapter-utils";
|
||||||
|
|
||||||
export const type = "claude_k8s";
|
export const type = "claude_k8s";
|
||||||
export const label = "Claude (Kubernetes)";
|
export const label = "Claude (Kubernetes)";
|
||||||
|
|
||||||
import { DIRECT_MODELS, BEDROCK_MODELS, isBedrockEnv } from "./server/models.js";
|
function isBedrockEnv(): boolean {
|
||||||
|
return (
|
||||||
|
process.env.CLAUDE_CODE_USE_BEDROCK === "1" ||
|
||||||
|
process.env.CLAUDE_CODE_USE_BEDROCK === "true" ||
|
||||||
|
(typeof process.env.ANTHROPIC_BEDROCK_BASE_URL === "string" &&
|
||||||
|
process.env.ANTHROPIC_BEDROCK_BASE_URL.trim().length > 0)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
const DIRECT_MODELS: AdapterModel[] = [
|
||||||
|
{ id: "claude-opus-4-7", label: "Claude Opus 4.7" },
|
||||||
|
{ id: "claude-opus-4-6", label: "Claude Opus 4.6" },
|
||||||
|
{ id: "claude-sonnet-4-6", label: "Claude Sonnet 4.6" },
|
||||||
|
{ id: "claude-haiku-4-6", label: "Claude Haiku 4.6" },
|
||||||
|
{ id: "claude-sonnet-4-5-20250929", label: "Claude Sonnet 4.5" },
|
||||||
|
{ id: "claude-haiku-4-5-20251001", label: "Claude Haiku 4.5" },
|
||||||
|
];
|
||||||
|
|
||||||
|
const BEDROCK_MODELS: AdapterModel[] = [
|
||||||
|
{ id: "us.anthropic.claude-opus-4-7", label: "Bedrock Opus 4.7" },
|
||||||
|
{ id: "us.anthropic.claude-opus-4-6-v1", label: "Bedrock Opus 4.6" },
|
||||||
|
{ id: "us.anthropic.claude-sonnet-4-6", label: "Bedrock Sonnet 4.6" },
|
||||||
|
{ id: "us.anthropic.claude-sonnet-4-5-20250929-v1:0", label: "Bedrock Sonnet 4.5" },
|
||||||
|
{ id: "us.anthropic.claude-haiku-4-5-20251001-v1:0", label: "Bedrock Haiku 4.5" },
|
||||||
|
];
|
||||||
|
|
||||||
export const models = isBedrockEnv() ? BEDROCK_MODELS : DIRECT_MODELS;
|
export const models = isBedrockEnv() ? BEDROCK_MODELS : DIRECT_MODELS;
|
||||||
|
|
||||||
export const agentConfigurationDoc = `# claude_k8s agent configuration
|
export const agentConfigurationDoc = `# claude_k8s agent configuration
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import { describe, it, expect, beforeEach, afterEach } from "vitest";
|
import { describe, it, expect, beforeEach, afterEach } from "vitest";
|
||||||
import { listK8sModels, DIRECT_MODELS, BEDROCK_MODELS } from "./models.js";
|
import { listK8sModels } from "./models.js";
|
||||||
|
|
||||||
describe("listK8sModels", () => {
|
describe("listK8sModels", () => {
|
||||||
const savedEnv: Record<string, string | undefined> = {};
|
const savedEnv: Record<string, string | undefined> = {};
|
||||||
@@ -51,21 +51,3 @@ describe("listK8sModels", () => {
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
describe("static model lists", () => {
|
|
||||||
it("DIRECT_MODELS is non-empty and has valid ids", () => {
|
|
||||||
expect(DIRECT_MODELS.length).toBeGreaterThan(0);
|
|
||||||
for (const m of DIRECT_MODELS) {
|
|
||||||
expect(typeof m.id).toBe("string");
|
|
||||||
expect(m.id.length).toBeGreaterThan(0);
|
|
||||||
expect(typeof m.label).toBe("string");
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
it("BEDROCK_MODELS is non-empty and all ids contain 'anthropic.'", () => {
|
|
||||||
expect(BEDROCK_MODELS.length).toBeGreaterThan(0);
|
|
||||||
for (const m of BEDROCK_MODELS) {
|
|
||||||
expect(m.id).toContain("anthropic.");
|
|
||||||
expect(typeof m.label).toBe("string");
|
|
||||||
}
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
import type { AdapterModel } from "@paperclipai/adapter-utils";
|
import type { AdapterModel } from "@paperclipai/adapter-utils";
|
||||||
|
|
||||||
export const DIRECT_MODELS: AdapterModel[] = [
|
const DIRECT_MODELS: AdapterModel[] = [
|
||||||
{ id: "claude-opus-4-7", label: "Claude Opus 4.7" },
|
{ id: "claude-opus-4-7", label: "Claude Opus 4.7" },
|
||||||
{ id: "claude-opus-4-6", label: "Claude Opus 4.6" },
|
{ id: "claude-opus-4-6", label: "Claude Opus 4.6" },
|
||||||
{ id: "claude-sonnet-4-6", label: "Claude Sonnet 4.6" },
|
{ id: "claude-sonnet-4-6", label: "Claude Sonnet 4.6" },
|
||||||
@@ -9,7 +9,7 @@ export const DIRECT_MODELS: AdapterModel[] = [
|
|||||||
{ id: "claude-haiku-4-5-20251001", label: "Claude Haiku 4.5" },
|
{ id: "claude-haiku-4-5-20251001", label: "Claude Haiku 4.5" },
|
||||||
];
|
];
|
||||||
|
|
||||||
export const BEDROCK_MODELS: AdapterModel[] = [
|
const BEDROCK_MODELS: AdapterModel[] = [
|
||||||
{ id: "us.anthropic.claude-opus-4-7", label: "Bedrock Opus 4.7" },
|
{ id: "us.anthropic.claude-opus-4-7", label: "Bedrock Opus 4.7" },
|
||||||
{ id: "us.anthropic.claude-opus-4-6-v1", label: "Bedrock Opus 4.6" },
|
{ id: "us.anthropic.claude-opus-4-6-v1", label: "Bedrock Opus 4.6" },
|
||||||
{ id: "us.anthropic.claude-sonnet-4-6", label: "Bedrock Sonnet 4.6" },
|
{ id: "us.anthropic.claude-sonnet-4-6", label: "Bedrock Sonnet 4.6" },
|
||||||
@@ -17,7 +17,7 @@ export const BEDROCK_MODELS: AdapterModel[] = [
|
|||||||
{ id: "us.anthropic.claude-haiku-4-5-20251001-v1:0", label: "Bedrock Haiku 4.5" },
|
{ id: "us.anthropic.claude-haiku-4-5-20251001-v1:0", label: "Bedrock Haiku 4.5" },
|
||||||
];
|
];
|
||||||
|
|
||||||
export function isBedrockEnv(): boolean {
|
function isBedrockEnv(): boolean {
|
||||||
return (
|
return (
|
||||||
process.env.CLAUDE_CODE_USE_BEDROCK === "1" ||
|
process.env.CLAUDE_CODE_USE_BEDROCK === "1" ||
|
||||||
process.env.CLAUDE_CODE_USE_BEDROCK === "true" ||
|
process.env.CLAUDE_CODE_USE_BEDROCK === "true" ||
|
||||||
|
|||||||
Reference in New Issue
Block a user