mirror of
https://github.com/Routstr/routstr-core.git
synced 2026-10-05 12:28:22 +00:00
Support POST /v1/systemone -- `{state, model, questions}` ->
`{answers, usage}` -- as a first-class Routstr endpoint with a dedicated
upstream provider.
- routstr/upstream/typesafe.py: new TypeSafeUpstreamProvider with a fixed
base URL, a priced model catalog assembled from TypeSafe's
pricing-less GET /v1/models, and fail-closed catalog errors.
- Register the provider and seed it from TYPESAFE_API_KEY.
- proxy: admit POST systemone and route it through the response-usage
settlement branch (plus the X-Cashu gate) so ecash payments are charged
from usage instead of being served free.
- Document the endpoint and add unit + end-to-end integration coverage.
SYSTEMONE_TYPESAFE.md records the change set and test report.
42 lines
1.3 KiB
Python
42 lines
1.3 KiB
Python
from .anthropic import AnthropicUpstreamProvider
|
|
from .azure import AzureUpstreamProvider
|
|
from .base import BaseUpstreamProvider
|
|
from .fireworks import FireworksUpstreamProvider
|
|
from .gemini import GeminiUpstreamProvider
|
|
from .generic import GenericUpstreamProvider
|
|
from .groq import GroqUpstreamProvider
|
|
from .ollama import OllamaUpstreamProvider
|
|
from .openai import OpenAIUpstreamProvider
|
|
from .openrouter import OpenRouterUpstreamProvider
|
|
from .perplexity import PerplexityUpstreamProvider
|
|
from .ppqai import PPQAIUpstreamProvider
|
|
from .routstr import RoutstrUpstreamProvider
|
|
from .tinfoil import TinfoilUpstreamProvider
|
|
from .typesafe import TypeSafeUpstreamProvider
|
|
from .xai import XAIUpstreamProvider
|
|
|
|
upstream_provider_classes: list[type[BaseUpstreamProvider]] = [
|
|
AnthropicUpstreamProvider,
|
|
AzureUpstreamProvider,
|
|
FireworksUpstreamProvider,
|
|
GeminiUpstreamProvider,
|
|
GenericUpstreamProvider,
|
|
GroqUpstreamProvider,
|
|
OllamaUpstreamProvider,
|
|
OpenAIUpstreamProvider,
|
|
OpenRouterUpstreamProvider,
|
|
PerplexityUpstreamProvider,
|
|
PPQAIUpstreamProvider,
|
|
RoutstrUpstreamProvider,
|
|
TinfoilUpstreamProvider,
|
|
TypeSafeUpstreamProvider,
|
|
XAIUpstreamProvider,
|
|
]
|
|
"""List of all upstream classes"""
|
|
|
|
__all__ = [
|
|
"BaseUpstreamProvider",
|
|
*[cls.__name__ for cls in upstream_provider_classes],
|
|
"upstream_provider_classes",
|
|
]
|