Files
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
3.2 KiB
JSON

{"repo": "asd412id/codeq", "files": {"packages/opencode/test/preload.ts": {"bd3e48b021d23b1f4d4438d2fedea1f6b97d8a2f": {"t": 1786068279.8358574, "n": 2888, "h": "477b20644f6bddc4", "c": "// IMPORTANT: Set env vars BEFORE any imports from src/ directory\n// Global paths read env vars at import time, so we must set these first\nimport os from \"os\"\nimport path from \"path\"\nimport fs from \"fs/promises\"\nimport fsSync from \"fs\"\nimport { afterAll } from \"bun:test\"\n\nconst dir = path.join(os.tmpdir(), \"codeq-test-data-\" + process.pid)\nawait fs.mkdir(dir, { recursive: true })\nafterAll(() => {\n // On Windows, files may still be locked briefly after tests complete\n // Use try/catch to avoid failing the test suite for cleanup issues\n try {\n fsSync.rmSync(dir, { recursive: true, force: true })\n } catch {\n // Cleanup failure is not critical - OS will clean temp eventually\n }\n})\n// Set test home directory to isolate tests from user's actual home directory\n// This prevents tests from picking up real user configs/skills from ~/.claude/skills\nconst testHome = path.join(dir, \"home\")\nawait fs.mkdir(testHome, { recursive: true })\nprocess.env[\"CODEQ_TEST_HOME\"] = testHome\n\nprocess.env[\"XDG_DATA_HOME\"] = path.join(dir, \"share\")\nprocess.env[\"XDG_CACHE_HOME\"] = path.join(dir, \"cache\")\nprocess.env[\"XDG_CONFIG_HOME\"] = path.join(dir, \"config\")\nprocess.env[\"XDG_STATE_HOME\"] = path.join(dir, \"state\")\n\n// Pre-fetch models.json so tests don't need the macro fallback\n// Also write the cache version file to prevent global/index.ts from clearing the cache\nconst cacheDir = path.join(testHome, \".codeq\", \"cache\")\nawait fs.mkdir(cacheDir, { recursive: true })\nawait fs.writeFile(path.join(cacheDir, \"version\"), \"17\")\n\n// Always seed the cache from the local fixture as baseline\nconst fixturePath = path.resolve(__dirname, \"tool\", \"fixtures\", \"models-api.json\")\ntry {\n await fs.copyFile(fixturePath, path.join(cacheDir, \"models.json\"))\n} catch {\n // Fixture unavailable — tests that need model data will fail\n}\n\n// Disable models.dev refresh to avoid race conditions during tests\nprocess.env[\"CODEQ_DISABLE_MODELS_FETCH\"] = \"true\"\n\n// Clear provider env vars to ensure clean test state\ndelete process.env[\"ANTHROPIC_API_KEY\"]\ndelete process.env[\"OPENAI_API_KEY\"]\ndelete process.env[\"GOOGLE_API_KEY\"]\ndelete process.env[\"GOOGLE_GENERATIVE_AI_API_KEY\"]\ndelete process.env[\"AZURE_OPENAI_API_KEY\"]\ndelete process.env[\"AWS_ACCESS_KEY_ID\"]\ndelete process.env[\"AWS_PROFILE\"]\ndelete process.env[\"AWS_REGION\"]\ndelete process.env[\"AWS_BEARER_TOKEN_BEDROCK\"]\ndelete process.env[\"OPENROUTER_API_KEY\"]\ndelete process.env[\"GROQ_API_KEY\"]\ndelete process.env[\"MISTRAL_API_KEY\"]\ndelete process.env[\"PERPLEXITY_API_KEY\"]\ndelete process.env[\"TOGETHER_API_KEY\"]\ndelete process.env[\"XAI_API_KEY\"]\ndelete process.env[\"DEEPSEEK_API_KEY\"]\ndelete process.env[\"FIREWORKS_API_KEY\"]\ndelete process.env[\"CEREBRAS_API_KEY\"]\ndelete process.env[\"SAMBANOVA_API_KEY\"]\n\n// Now safe to import from src/\nconst { Log } = await import(\"../src/util/log\")\n\nLog.init({\n print: false,\n dev: true,\n level: \"DEBUG\",\n})\n"}}}}