Implement Morph, StepFun, and Inception AI adapters#765
Conversation
Replace the three placeholder stubs with working OpenAI-compatible chat completion clients, following the groq adapter's pattern (config.baseUrl override, redacted error messages, usage token mapping). Base URLs and endpoint shapes verified live against each provider (api.morphllm.com, api.stepfun.com, api.inceptionlabs.ai). Adds matching unit test coverage for each.
|
🤖 Auto-rebase: The branch was rebased successfully locally but could not be pushed to the fork. Please enable 'Allow edits from maintainers' in the PR settings, or rebase manually: |
5 similar comments
|
🤖 Auto-rebase: The branch was rebased successfully locally but could not be pushed to the fork. Please enable 'Allow edits from maintainers' in the PR settings, or rebase manually: |
|
🤖 Auto-rebase: The branch was rebased successfully locally but could not be pushed to the fork. Please enable 'Allow edits from maintainers' in the PR settings, or rebase manually: |
|
🤖 Auto-rebase: The branch was rebased successfully locally but could not be pushed to the fork. Please enable 'Allow edits from maintainers' in the PR settings, or rebase manually: |
|
🤖 Auto-rebase: The branch was rebased successfully locally but could not be pushed to the fork. Please enable 'Allow edits from maintainers' in the PR settings, or rebase manually: |
|
🤖 Auto-rebase: The branch was rebased successfully locally but could not be pushed to the fork. Please enable 'Allow edits from maintainers' in the PR settings, or rebase manually: |
Summary
packages/ai/morph,packages/ai/stepfun, andpackages/ai/inceptionwith real implementationsgroq:defineAiconfig with abaseUrloverride, redacted error messages on non-2xx responses, andusagetoken mapping toinputTokens/outputTokens/v1/chat/completionsreturns the expected OpenAI-style auth/validation error, confirming host + path):https://api.morphllm.com/v1/chat/completions, modelmorph-v2https://api.stepfun.com/v1/chat/completions, modelstep-2-16khttps://api.inceptionlabs.ai/v1/chat/completions, modelmercuryTest plan
packages/ai/groq/src/index.test.ts(dry-run short-circuit, request shape, base URL override, error redaction, missing-key throw)pnpm --filter @profullstack/sh1pt-ai-morph --filter @profullstack/sh1pt-ai-stepfun --filter @profullstack/sh1pt-ai-inception typecheck && pnpm vitest run packages/ai/morph/src/index.test.ts packages/ai/stepfun/src/index.test.ts packages/ai/inception/src/index.test.ts