refactor(packages): extract model-core package

This commit is contained in:
YeonGyu-Kim
2026-05-21 02:11:37 +09:00
parent f7ceb03efe
commit 2748009ff2
60 changed files with 2155 additions and 1834 deletions
+19
View File
@@ -0,0 +1,19 @@
Task 3 ProviderCache interface evidence
Defined interface:
- `packages/model-core/src/provider-cache.ts`
- `readConnectedProvidersCache(): string[] | null`
- `findProviderModelMetadata(providerID: string, modelID: string): ModelMetadata | undefined`
Injection points:
- `packages/model-core/src/model-resolution-pipeline.ts`
- `resolveModelPipeline(request, providerCache)` uses `providerCache.readConnectedProvidersCache()`.
- `packages/model-core/src/model-error-classifier.ts`
- `selectFallbackProviderWithCache(providers, providerCache, preferredProviderID?)` uses `providerCache.readConnectedProvidersCache()`.
Adapter wiring in OMO:
- `src/shared/model-resolution-pipeline.ts` passes `connectedProvidersCache` into model-core resolver.
- `src/shared/model-error-classifier.ts` passes `connectedProvidersCache` into model-core provider selection.
+8
View File
@@ -0,0 +1,8 @@
Task 3 no-coupling evidence
- Extracted model resolution files into `packages/model-core/src` and replaced original `src/shared/*` with per-file shims.
- `packages/model-core/src/model-resolution-pipeline.ts` now accepts `providerCache: ProviderCache` and no longer imports `src/shared/connected-providers-cache` directly.
- `packages/model-core/src/model-error-classifier.ts` exposes `selectFallbackProviderWithCache(...)` and supports cache injection.
- OMO call-sites receive cache injection through shared adapters:
- `src/shared/model-resolution-pipeline.ts` injects `src/shared/connected-providers-cache` into model-core.
- `src/shared/model-error-classifier.ts` injects `src/shared/connected-providers-cache` into model-core.
+8
View File
@@ -0,0 +1,8 @@
Task 3 verification evidence
- `bun run typecheck` => exit 0
- `bun test` => `7312 pass / 1 skip / 2 fail / 7315 total` (matches baseline)
- `bun run build` => exit 0
Notes:
- The 2 failures are pre-existing baseline failures in `src/features/opencode-skill-loader/skill-content.test.ts`.