# Refactor: Move Provider Tests to provider-inference ## Summary Move azure-openai and openrouter-ai provider tests from `stage-ui` to `provider-inference` package, placing them closer to their implementations. ## Changes - **Moved test files**: - `packages/stage-ui/src/libs/providers/providers/azure-openai/index.test.ts` → `packages/provider-inference/src/providers/cloud/azure-openai/index.test.ts` - `packages/stage-ui/src/libs/providers/providers/openrouter-ai/index.test.ts` → `packages/provider-inference/src/providers/cloud/openrouter-ai/index.test.ts` - **Simplified test imports**: Updated tests to use direct provider definitions instead of `getDefinedProvider()`, removing unnecessary lookup logic - **Added dependency**: `@proj-airi/core-agent` as devDependency for test utilities ## Benefits 1. Tests are co-located with their implementations 2. Direct imports are simpler and more maintainable 3. Better package organization following module boundaries ## Verification ```bash # Run tests for provider-inference pnpm -F @proj-airi/provider-inference exec vitest run # Typecheck pnpm -F @proj-airi/provider-inference typecheck ``` ## Test Results All tests pass after the refactoring.
Provider Inference
@proj-airi/provider-inference owns runtime-neutral AIRI provider definitions.
Use this package to list built-in providers, create provider configuration schemas, and create provider instances. The package runs in Node.js and Browser runtimes.
Do not use this package for provider configuration persistence, Vue views, Pinia state, authentication, or Electron-native providers. Those concerns remain in @proj-airi/stage-ui.
Use
import { getDefinedProvider, listProviders } from '@proj-airi/provider-inference'
const provider = getDefinedProvider('openai')
const providers = listProviders()
Browser-only definitions, such as Web Speech API, load in Node.js. Their availability hook returns false when the required Browser capability is absent.
Use @proj-airi/stage-ui for saved provider configuration, Vue settings views, Pinia state, authentication, and Electron-native providers. Do not use this package to manage those application concerns.
Verify
Run the package checks from the workspace root:
pnpm -F @proj-airi/provider-inference typecheck
pnpm -F @proj-airi/provider-inference test:node
pnpm -F @proj-airi/provider-inference test:browser
pnpm -F @proj-airi/provider-inference build