Files
hack/tools/scripts/llm-key-hunter/results/_cache/content/chroming_agentenv-manager.json
T
OpenCode 68a9071cf1 feat: reconcile local master with origin (exa/hot-platform hunters, leaks ledger, latest results)
Local branch had diverged from origin/master (sibling commits on the same base). Rewrote local history linearly on top of origin/master, folding in all local content: exa/hot-platform discovery hunters, leaks ledger, nightly sweep orchestrator, updated .gitignore and skill docs, plus the latest hunt output and vault state. Remote-only files (vault keys, channel scripts) were restored rather than dropped, so the resulting tree is a full union of both sides.
2026-08-07 12:53:47 +08:00

1 line
5.1 KiB
JSON

{"repo": "chroming/agentenv-manager", "files": {"tests/main/evaluations/claudeEvaluation.test.ts": {"06c45160b2cf2a2b9e5fe827fd819322f071a6a1": {"t": 1786068364.2275507, "n": 4742, "h": "300e4479d9aa883f", "c": "import { mkdir, mkdtemp, readFile, rm, writeFile } from \"node:fs/promises\";\nimport { tmpdir } from \"node:os\";\nimport { join } from \"node:path\";\nimport { afterEach, describe, expect, it } from \"vitest\";\nimport { createClaudeCodeTargetAdapter } from \"../../../src/main/targets/claudeCodeTarget\";\nimport {\n claudeAuthUnavailableReason,\n createClaudeEvaluationCapability\n} from \"../../../src/main/targets/evaluations/claudeEvaluation\";\nimport type { ProfileDetail } from \"../../../src/shared/types\";\n\nlet root = \"\";\n\nafterEach(async () => {\n if (root) await rm(root, { recursive: true, force: true });\n root = \"\";\n});\n\nconst profile: ProfileDetail = {\n id: \"claude-eval\",\n manifest: { id: \"claude-eval\", name: \"Claude eval\", description: \"\", version: 2 },\n instructions: \"# Claude eval\\n\",\n resources: {\n skills: [],\n managementByTarget: {\n \"claude-code\": { instructions: \"manage\", skills: \"manage\" }\n },\n mcpByTarget: {\n \"claude-code\": { mode: \"disable\", selections: [] }\n }\n }\n};\n\ndescribe(\"Claude Code evaluation capability\", () => {\n it(\"creates a non-persistent isolated launch and copies only the credential file\", async () => {\n root = await mkdtemp(join(tmpdir(), \"agentenv-claude-eval-\"));\n const sourceHome = join(root, \"source\");\n const evaluationHome = join(root, \"run\", \"home\");\n const project = join(root, \"run\", \"project\");\n const temp = join(root, \"run\", \"temp\");\n const adapter = createClaudeCodeTargetAdapter();\n const sourcePaths = adapter.createTargetPaths({ homeDir: sourceHome });\n const evaluationPaths = adapter.createTargetPaths({ homeDir: evaluationHome });\n await Promise.all([\n mkdir(sourcePaths.configDir, { recursive: true }),\n mkdir(project, { recursive: true })\n ]);\n await writeFile(join(sourcePaths.configDir, \".credentials.json\"), \"{\\\"oauth\\\":\\\"secret\\\"}\\n\");\n await writeFile(sourcePaths.configPath, JSON.stringify({\n theme: \"dark\",\n env: {\n ANTHROPIC_BASE_URL: \"https://api.deepseek.com/anthropic\",\n ANTHROPIC_AUTH_TOKEN: \"deepseek-secret\",\n ANTHROPIC_MODEL: \"deepseek-v4-pro[1m]\",\n UNRELATED_SECRET: \"must-not-be-copied\"\n }\n }));\n\n const capability = createClaudeEvaluationCapability();\n const spec = await capability.createLaunchSpec({\n profile,\n targetPaths: sourcePaths,\n sourceHomeDir: sourceHome,\n executablePath: process.execPath,\n knownCliVersion: \"2.1.214\",\n excludeMcp: true,\n platform: process.platform,\n environment: { PATH: process.env.PATH },\n evaluationHome,\n evaluationProject: project,\n evaluationTargetPaths: evaluationPaths,\n evaluationTempDir: temp,\n prompt: \"Update docs\"\n });\n\n expect(adapter.descriptor.capabilities.evaluation).toBe(true);\n expect(spec.args).toEqual([\n \"--print\",\n \"--output-format\",\n \"stream-json\",\n \"--verbose\",\n \"--dangerously-skip-permissions\",\n \"--no-session-persistence\",\n \"--no-chrome\",\n \"Update docs\"\n ]);\n expect(spec.env.CLAUDE_CONFIG_DIR).toBe(evaluationPaths.configDir);\n expect(spec.env.CLAUDE_CODE_TMPDIR).toBe(temp);\n expect(spec.env.CLAUDE_TMPDIR).toBe(temp);\n expect(spec.env.BUN_TMPDIR).toBe(temp);\n expect(spec.env.ANTHROPIC_BASE_URL).toBe(\"https://api.deepseek.com/anthropic\");\n expect(spec.env.ANTHROPIC_AUTH_TOKEN).toBe(\"deepseek-secret\");\n expect(spec.env.ANTHROPIC_MODEL).toBe(\"deepseek-v4-pro[1m]\");\n expect(spec.env.UNRELATED_SECRET).toBeUndefined();\n expect(await readFile(join(evaluationPaths.configDir, \".credentials.json\"), \"utf8\"))\n .toBe('{\"oauth\":\"secret\"}\\n');\n await expect(readFile(evaluationPaths.configPath, \"utf8\")).rejects.toThrow();\n });\n\n it(\"parses assistant text and reported usage from stream JSON\", () => {\n const event = createClaudeEvaluationCapability().parseEvent(JSON.stringify({\n type: \"assistant\",\n message: {\n model: \"claude-test\",\n content: [{ type: \"text\", text: \"Done\" }],\n usage: { input_tokens: 20, cache_read_input_tokens: 8, output_tokens: 4 }\n }\n }));\n expect(event).toEqual({\n type: \"response\",\n text: \"Done\",\n model: \"claude-test\",\n usage: { inputTokens: 20, cachedInputTokens: 8, outputTokens: 4 }\n });\n });\n\n it(\"turns an explicit signed-out status into an actionable Compare reason\", () => {\n expect(claudeAuthUnavailableReason(JSON.stringify({\n loggedIn: false,\n authMethod: \"none\",\n apiProvider: \"firstParty\"\n }))).toBe(\n \"Claude Code is not signed in. Run Claude Code and use /login before using Compare.\"\n );\n expect(claudeAuthUnavailableReason(JSON.stringify({ loggedIn: true }))).toBeUndefined();\n });\n});\n"}}}}