Mirrors the @singularity-forge/google-gemini-cli-provider package layout for the codex CLI integration boundary. The new package owns: - CodexAppServerClient (the JSON-RPC subprocess client; previously packages/ai/src/providers/codex-app-server-client.ts, no pi-ai internal coupling) - snapshotCodexCliAccount / discoverCodexCliModels (reads ~/.codex/models_cache.json with visibility=list ∧ supported_in_api filter; previously inline in src/resources/extensions/sf/openai-codex-catalog.js) openai-codex-responses.ts (the stream-shaping provider) intentionally stays in @singularity-forge/ai because it depends on pi-ai stream-event internals and is not reusable outside the provider — same scope as google-gemini-cli.ts vs google-gemini-cli-provider. The SF extension's openai-codex-catalog.js is now a thin SF-side cache writer that delegates to discoverCodexCliModels, mirroring how gemini-catalog.js delegates to discoverGeminiCliModels. readCodexAvailableModels became async to match the dynamic-import path; tests updated. Closes sf-mp4u5fcz-wh6ac9 (with documented AC2 narrowing — see resolution). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
26 lines
650 B
JSON
26 lines
650 B
JSON
{
|
|
"compilerOptions": {
|
|
"target": "ES2024",
|
|
"module": "Node16",
|
|
"lib": ["ES2024"],
|
|
"strict": true,
|
|
"esModuleInterop": true,
|
|
"skipLibCheck": true,
|
|
"incremental": true,
|
|
"forceConsistentCasingInFileNames": true,
|
|
"declaration": true,
|
|
"declarationMap": true,
|
|
"sourceMap": true,
|
|
"inlineSources": true,
|
|
"inlineSourceMap": false,
|
|
"moduleResolution": "Node16",
|
|
"resolveJsonModule": true,
|
|
"allowImportingTsExtensions": false,
|
|
"useDefineForClassFields": false,
|
|
"types": ["node"],
|
|
"outDir": "./dist",
|
|
"rootDir": "./src"
|
|
},
|
|
"include": ["src/**/*.ts"],
|
|
"exclude": ["node_modules", "dist", "**/*.d.ts", "src/**/*.d.ts"]
|
|
}
|