Custom-provider models now expose the full thinking-level selector and faithfully transmit the selected effort. - Register all canonical thinking levels and preserve provider-specific API dialects. - Remove the redundant reasoning toggle and update provider status and settings documentation. - Add dashboard, engine, and provider registration coverage for thinking-level behavior. - Add a minor changeset for the published CLI package. Files changed: .../fn-043-custom-provider-thinking-levels.md | 7 ++ docs/settings-reference.md | 2 + .../dashboard/app/api/settings/provider-status.ts | 1 - .../app/components/CustomProviderForm.css | 5 +- .../app/components/CustomProviderForm.tsx | 18 ++--- .../__tests__/CustomProviderForm.test.tsx | 35 ++++++--- ...r-model-routes-custom-provider-thinking.test.ts | 91 ++++++++++++++++++++++ .../custom-provider-thinking-levels.test.ts | 49 ++++++++++++ .../custom-providers-openai-completions.test.ts | 2 +- .../custom-providers-openai-responses.test.ts | 3 +- .../src/__tests__/pi-create-fn-agent.test.ts | 31 +++++++- .../src/__tests__/provider-registration.test.ts | 20 ++++- .../engine/src/auth/custom-provider-registry.ts | 14 +++- packages/engine/src/pi.ts | 9 ++- 14 files changed, 251 insertions(+), 36 deletions(-) Fusion-Task-Id: FN-043 Fusion-Task-Lineage: fdd3308a-d5bd-4f54-911a-226c2b46a927 Co-authored-by: Fusion <noreply@runfusion.ai>
43 lines
758 B
CSS
43 lines
758 B
CSS
.custom-provider-form {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: var(--space-md);
|
|
}
|
|
|
|
.custom-provider-form__group {
|
|
padding: 0;
|
|
margin: 0;
|
|
}
|
|
|
|
.custom-provider-form__models {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: var(--space-sm);
|
|
margin-bottom: var(--space-sm);
|
|
}
|
|
|
|
.custom-provider-form__model-row {
|
|
display: grid;
|
|
grid-template-columns: repeat(4, minmax(0, 1fr)) auto;
|
|
gap: var(--space-sm);
|
|
align-items: center;
|
|
}
|
|
|
|
|
|
.custom-provider-form__actions {
|
|
display: flex;
|
|
justify-content: flex-end;
|
|
gap: var(--space-sm);
|
|
}
|
|
|
|
@media (max-width: 768px) {
|
|
.custom-provider-form__model-row {
|
|
grid-template-columns: 1fr;
|
|
}
|
|
|
|
.custom-provider-form__actions {
|
|
justify-content: stretch;
|
|
flex-direction: column;
|
|
}
|
|
}
|