{"_id":"@beautiful-ccg/adapter-base","_rev":"3-200f715ebdb5bfb342ec680110469799","name":"@beautiful-ccg/adapter-base","dist-tags":{"latest":"0.3.0"},"versions":{"0.1.0":{"name":"@beautiful-ccg/adapter-base","version":"0.1.0","_id":"@beautiful-ccg/adapter-base@0.1.0","maintainers":[{"name":"justn-hyeok","email":"justn.hyeok@gmail.com"}],"dist":{"shasum":"d93a79181765826b1fb02d2f228fbc8a0b534597","tarball":"https://registry.npmjs.org/@beautiful-ccg/adapter-base/-/adapter-base-0.1.0.tgz","fileCount":7,"integrity":"sha512-gBebKgDzeMAlPZdMgLZEeN2iiDp72T56KaT5f6SO7w9FbnlubvsUOIRieTn2OEIe2mqVIfyn29sgxskO5FzhiA==","signatures":[{"sig":"MEUCIH5gu1QbQ0qrMUle1IsFhmMJNgu4g/aK+yIy30DgIxX3AiEA2JEc2brnyTIf/uoZBi0bU9H67ZUYwzUNESImKIdWP+A=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":16467},"main":"./dist/index.cjs","type":"module","_from":"file:beautiful-ccg-adapter-base-0.1.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"scripts":{"test":"vitest run","build":"tsup"},"_npmUser":{"name":"justn-hyeok","email":"justn.hyeok@gmail.com"},"_resolved":"/private/var/folders/n2/l33b5mwj3zq8bqgzq8m6pjx00000gn/T/2ac6c0fbfda7dfca20464d1445aed56f/beautiful-ccg-adapter-base-0.1.0.tgz","_integrity":"sha512-gBebKgDzeMAlPZdMgLZEeN2iiDp72T56KaT5f6SO7w9FbnlubvsUOIRieTn2OEIe2mqVIfyn29sgxskO5FzhiA==","_npmVersion":"11.9.0","description":"Shared types, interfaces, error classes, and constants for bccg adapters. Zero runtime dependencies.","directories":{},"_nodeVersion":"24.14.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","typescript":"^5.8.0"},"_npmOperationalInternal":{"tmp":"tmp/adapter-base_0.1.0_1775528136024_0.39848000947194673","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@beautiful-ccg/adapter-base","version":"0.2.0","_id":"@beautiful-ccg/adapter-base@0.2.0","maintainers":[{"name":"justn-hyeok","email":"justn.hyeok@gmail.com"}],"dist":{"shasum":"695cad5630fc8eacfe18037da699bbeba3407c51","tarball":"https://registry.npmjs.org/@beautiful-ccg/adapter-base/-/adapter-base-0.2.0.tgz","fileCount":7,"integrity":"sha512-6WpRRaQAxMWFTZ24qvoR9Mp7po3ky8tNi9dwj4pN4w2vaMYj1ZTpGDohHsUKWtXKikYvXRZI/KumidCu5PWimQ==","signatures":[{"sig":"MEUCIHNK+4GWXKE+ebTIENAvm0PRXNHamr2e1nUMiLDG1Yv8AiEAgVHxYvO/YA3/iXsxEX511uQ0zmugcI1kpfxGEGLZrBU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":16467},"main":"./dist/index.cjs","type":"module","_from":"file:beautiful-ccg-adapter-base-0.2.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"scripts":{"test":"vitest run","build":"tsup"},"_npmUser":{"name":"justn-hyeok","email":"justn.hyeok@gmail.com"},"_resolved":"/private/var/folders/n2/l33b5mwj3zq8bqgzq8m6pjx00000gn/T/24dfb840c2332086ffdcb62b961a5063/beautiful-ccg-adapter-base-0.2.0.tgz","_integrity":"sha512-6WpRRaQAxMWFTZ24qvoR9Mp7po3ky8tNi9dwj4pN4w2vaMYj1ZTpGDohHsUKWtXKikYvXRZI/KumidCu5PWimQ==","_npmVersion":"11.9.0","description":"Shared types, interfaces, error classes, and constants for bccg adapters. Zero runtime dependencies.","directories":{},"_nodeVersion":"24.14.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","typescript":"^5.8.0"},"_npmOperationalInternal":{"tmp":"tmp/adapter-base_0.2.0_1775535832897_0.6821762114075987","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@beautiful-ccg/adapter-base","version":"0.3.0","type":"module","main":"./dist/index.cjs","module":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"publishConfig":{"access":"public"},"devDependencies":{"tsup":"^8.4.0","typescript":"^5.8.0"},"scripts":{"build":"tsup","test":"vitest run"},"_id":"@beautiful-ccg/adapter-base@0.3.0","description":"Shared types, interfaces, error classes, and constants for bccg adapters. Zero runtime dependencies.","_integrity":"sha512-OVFG/GW2DAshm/7r+hfK3pGyD92haEvoMfAsziaavHz6ukI8msw4sVnNOHT0We6vSe40urEItigPQhxgoocJfA==","_resolved":"/private/var/folders/n2/l33b5mwj3zq8bqgzq8m6pjx00000gn/T/d659b03f344771bbd0980dfa2eb46a1c/beautiful-ccg-adapter-base-0.3.0.tgz","_from":"file:beautiful-ccg-adapter-base-0.3.0.tgz","_nodeVersion":"24.14.0","_npmVersion":"11.9.0","dist":{"integrity":"sha512-OVFG/GW2DAshm/7r+hfK3pGyD92haEvoMfAsziaavHz6ukI8msw4sVnNOHT0We6vSe40urEItigPQhxgoocJfA==","shasum":"79a6f353114c50e09f5b11e9359700f7759c3656","tarball":"https://registry.npmjs.org/@beautiful-ccg/adapter-base/-/adapter-base-0.3.0.tgz","fileCount":7,"unpackedSize":16503,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIGt2Ap0AGpQj9UBRncwef3/z4FdDQGvxyg1gNsZTeFMwAiEAtCoTz0yw64x+tS2F+xWN1qlgESnHNQlc3LyA/aXe8ck="}]},"_npmUser":{"name":"justn-hyeok","email":"justn.hyeok@gmail.com"},"directories":{},"maintainers":[{"name":"justn-hyeok","email":"justn.hyeok@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/adapter-base_0.3.0_1775542712740_0.6267886218395937"},"_hasShrinkwrap":false}},"time":{"created":"2026-04-07T02:15:35.916Z","modified":"2026-04-07T06:18:33.059Z","0.1.0":"2026-04-07T02:15:36.195Z","0.2.0":"2026-04-07T04:23:53.051Z","0.3.0":"2026-04-07T06:18:32.902Z"},"description":"Shared types, interfaces, error classes, and constants for bccg adapters. Zero runtime dependencies.","maintainers":[{"name":"justn-hyeok","email":"justn.hyeok@gmail.com"}],"readme":"# @beautiful-ccg/adapter-base\n\nShared types, interfaces, error classes, and constants for bccg adapters. Zero runtime dependencies.\n\n## Install\n\n```bash\npnpm add @beautiful-ccg/adapter-base\n```\n\n## Interfaces\n\n### `ModelAdapter`\n\nThe core contract every adapter must implement.\n\n```typescript\ninterface ModelAdapter {\n  readonly name: string;\n  readonly costTier: CostTier;        // \"free\" | \"low\" | \"medium\" | \"high\"\n  readonly multiModel: boolean;\n\n  run(prompt: string, options?: RunOptions): Promise<AdapterResult>;\n  checkAvailability(): Promise<AvailabilityStatus>;\n  getSupportedModels?(): Promise<string[]>;\n}\n```\n\n### `RunOptions`\n\n```typescript\ninterface RunOptions {\n  timeout?: number;\n  model?: string;\n  cwd?: string;\n  signal?: AbortSignal;\n  env?: Record<string, string>;\n}\n```\n\n### `AdapterResult`\n\n```typescript\ninterface AdapterResult {\n  output: string;\n  model: string;\n  adapter: string;\n  latency: number;\n  exitCode: number;\n  raw?: string;\n}\n```\n\n## Error Classes\n\n- **`AdapterError`** — single adapter failure (includes `adapter`, `exitCode?`, `stderr?`)\n- **`PipelineError`** — pipeline step failure (includes `step` index, `partialResults`)\n\n## Constants\n\n| Constant | Value |\n|---|---|\n| `BCCG_DEPTH_ENV` | `\"BCCG_DEPTH\"` |\n| `BCCG_HOST_CLI_ENV` | `\"BCCG_HOST_CLI\"` |\n| `MAX_PIPELINE_STEPS` | `10` |\n| `MAX_OUTPUT_SIZE` | `102400` (100KB) |\n\n### Default Timeouts\n\n| Adapter | Timeout |\n|---|---|\n| `claude` | 180s |\n| `codex` | 120s |\n| `copilot` | 60s |\n| `gemini` | 30s |\n| `cursor` | 120s |\n\n## CLI Output Schemas\n\nType definitions for parsing each CLI's JSON output:\n\n- **Copilot** — `CopilotMessageEvent`, `CopilotToolsUpdatedEvent`, `CopilotResultEvent` (JSONL)\n- **Codex** — `CodexItemCompletedEvent`, `CodexTurnCompletedEvent` (NDJSON)\n- **Gemini** — `GeminiOutput` (single JSON object)\n","readmeFilename":"README.md"}