internal/

directory
v0.1.93 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 16, 2026 License: MIT

Directories

Path Synopsis
Package admin provides the admin REST API and dashboard for GoModel.
Package admin provides the admin REST API and dashboard for GoModel.
dashboard
Package dashboard provides the embedded admin dashboard UI for GoModel.
Package dashboard provides the embedded admin dashboard UI for GoModel.
Package anthropicapi translates the Anthropic Messages API dialect to and from GoModel's canonical chat types.
Package anthropicapi translates the Anthropic Messages API dialect to and from GoModel's canonical chat types.
Package app provides the main application struct for centralized dependency management and lifecycle control of the GoModel server.
Package app provides the main application struct for centralized dependency management and lifecycle control of the GoModel server.
Package auditlog provides audit logging for the AI gateway.
Package auditlog provides audit logging for the AI gateway.
Package batch provides persistence for OpenAI-compatible batch lifecycle endpoints.
Package batch provides persistence for OpenAI-compatible batch lifecycle endpoints.
Package cache provides a generic key-value store abstraction.
Package cache provides a generic key-value store abstraction.
modelcache
Package modelcache provides model-specific cache types and interfaces.
Package modelcache provides model-specific cache types and interfaces.
Package conversationstore provides persistence for the OpenAI-compatible Conversations lifecycle endpoints.
Package conversationstore provides persistence for the OpenAI-compatible Conversations lifecycle endpoints.
Package core provides core types and interfaces for the LLM gateway.
Package core provides core types and interfaces for the LLM gateway.
Package echotest builds echo contexts for handler unit tests so each test states only what differs: method, target, body, and the occasional header or path value.
Package echotest builds echo contexts for handler unit tests so each test states only what differs: method, target, body, and the occasional header or path value.
Package filestore persists provider ownership for uploaded files.
Package filestore persists provider ownership for uploaded files.
Package gateway contains transport-independent gateway use cases.
Package gateway contains transport-independent gateway use cases.
Package httpclient provides a centralized HTTP client factory with unified configuration.
Package httpclient provides a centralized HTTP client factory with unified configuration.
Package live provides in-process realtime dashboard event fan-out.
Package live provides in-process realtime dashboard event fan-out.
Package llmclient provides a base HTTP client for LLM providers with: - Request marshaling/unmarshaling - Retries with exponential backoff and jitter - Standardized error parsing, including errors embedded in 200-status bodies - Circuit breaking with half-open state protection
Package llmclient provides a base HTTP client for LLM providers with: - Request marshaling/unmarshaling - Retries with exponential backoff and jitter - Standardized error parsing, including errors embedded in 200-status bodies - Circuit breaking with half-open state protection
Package mcpgateway aggregates upstream MCP servers behind GoModel's authenticated /mcp endpoints.
Package mcpgateway aggregates upstream MCP servers behind GoModel's authenticated /mcp endpoints.
Package modeldata provides fetching, parsing, and merging of the external AI model metadata registry (models.json) for enriching GoModel's model data.
Package modeldata provides fetching, parsing, and merging of the external AI model metadata registry (models.json) for enriching GoModel's model data.
Package modelselectors normalizes provider/model selector strings shared by model-level admin features.
Package modelselectors normalizes provider/model selector strings shared by model-level admin features.
Package observability provides instrumentation for metrics, tracing, and logging.
Package observability provides instrumentation for metrics, tracing, and logging.
Package platformdir resolves the OS-conventional per-user directories for GoModel's durable data and caches, used when no explicit path is configured.
Package platformdir resolves the OS-conventional per-user directories for GoModel's durable data and caches, used when no explicit path is configured.
Package pluginload opens plugin shared objects (.so) built against the pluginapi contract.
Package pluginload opens plugin shared objects (.so) built against the pluginapi contract.
Package plugins hosts the runtime side of GoModel's plugin system: the catalog of plugin types, configured instances, per-phase chains and the Host implementation handed to plugins.
Package plugins hosts the runtime side of GoModel's plugin system: the catalog of plugin types, configured instances, per-phase chains and the Host implementation handed to plugins.
builtin
Package builtin lists the plugins compiled into GoModel.
Package builtin lists the plugins compiled into GoModel.
builtin/headeredit
Package headeredit is the built-in header_edit plugin: it sets, adds, and removes HTTP headers on the request, the client response, and the upstream provider call.
Package headeredit is the built-in header_edit plugin: it sets, adds, and removes HTTP headers on the request, the client response, and the upstream provider call.
builtin/llmaltering
Package llmaltering is the built-in llm_based_altering plugin: it rewrites the text of selected message roles through an auxiliary model, both in the prompt phase (before the provider call) and in the response phase.
Package llmaltering is the built-in llm_based_altering plugin: it rewrites the text of selected message roles through an auxiliary model, both in the prompt phase (before the provider call) and in the response phase.
builtin/llmjudge
Package llmjudge is the built-in llm_judge plugin: it asks a second model whether a prompt or a completion violates a policy and blocks, answers, or flags the exchange based on the verdict.
Package llmjudge is the built-in llm_judge plugin: it asks a second model whether a prompt or a completion violates a policy and blocks, answers, or flags the exchange based on the verdict.
builtin/presidio
Package presidio is the built-in presidio plugin: it sends prompt and completion text to a Presidio analyzer sidecar, and anonymizes, flags, or blocks the personal data it finds.
Package presidio is the built-in presidio plugin: it sends prompt and completion text to a Presidio analyzer sidecar, and anonymizes, flags, or blocks the personal data it finds.
builtin/routeexample
Package routeexample is the built-in cheapest_healthy routing strategy: it sends a virtual model's traffic to the cheapest (or fastest) target whose recent error rate is acceptable, learning target health from the attempt outcomes GoModel reports.
Package routeexample is the built-in cheapest_healthy routing strategy: it sends a virtual model's traffic to the cheapest (or fastest) target whose recent error rate is acceptable, learning target health from the attempt outcomes GoModel reports.
builtin/stringreplace
Package stringreplace is the built-in string_replace plugin: it rewrites, flags, or blocks prompt and completion text that matches a list of literal or regular-expression rules, in place for non-streaming responses and in flight for streams.
Package stringreplace is the built-in string_replace plugin: it rewrites, flags, or blocks prompt and completion text that matches a list of literal or regular-expression rules, in place for non-streaming responses and in flight for streams.
builtin/systemprompt
Package systemprompt is the built-in system_prompt plugin: it injects, overrides, or decorates the system message before the provider call.
Package systemprompt is the built-in system_prompt plugin: it injects, overrides, or decorates the system message before the provider call.
builtin/tagreplace
Package tagreplace is the built-in tag_replace plugin: before the provider call it expands {{gomodel.<tag>}} placeholders in prompt text into request facts such as the resolved model, the user path, or the current date.
Package tagreplace is the built-in tag_replace plugin: before the provider call it expands {{gomodel.<tag>}} placeholders in prompt text into request facts such as the resolved model, the user path, or the current date.
exchange
Package exchange maps GoModel's core request and response types to the unified pluginapi types plugins see, and applies plugin edits back.
Package exchange maps GoModel's core request and response types to the unified pluginapi types plugins see, and applies plugin edits back.
Package providers provides a factory for creating provider instances.
Package providers provides a factory for creating provider instances.
anthropic
Package anthropic provides Anthropic API integration for the LLM gateway.
Package anthropic provides Anthropic API integration for the LLM gateway.
bailian
Package bailian provides the Alibaba Cloud Bailian (百炼 / DashScope) provider.
Package bailian provides the Alibaba Cloud Bailian (百炼 / DashScope) provider.
bedrock
Package bedrock provides Amazon Bedrock integration for the LLM gateway.
Package bedrock provides Amazon Bedrock integration for the LLM gateway.
bedrockmantle
Package bedrockmantle provides direct access to Amazon Bedrock's OpenAI-compatible Mantle API.
Package bedrockmantle provides direct access to Amazon Bedrock's OpenAI-compatible Mantle API.
chatgpt
Package chatgpt routes Responses API traffic to the ChatGPT Codex backend, billed against a ChatGPT subscription instead of an OpenAI Platform API key.
Package chatgpt routes Responses API traffic to the ChatGPT Codex backend, billed against a ChatGPT subscription instead of an OpenAI Platform API key.
chutes
Package chutes provides Chutes AI integration for the LLM gateway.
Package chutes provides Chutes AI integration for the LLM gateway.
cohere
Package cohere provides Cohere API v2 integration for the LLM gateway.
Package cohere provides Cohere API v2 integration for the LLM gateway.
deepseek
Package deepseek provides DeepSeek API integration for the LLM gateway.
Package deepseek provides DeepSeek API integration for the LLM gateway.
elevenlabs
Package elevenlabs provides ElevenLabs voice API integration for the LLM gateway.
Package elevenlabs provides ElevenLabs voice API integration for the LLM gateway.
fireworks
Package fireworks provides Fireworks AI API integration for the LLM gateway.
Package fireworks provides Fireworks AI API integration for the LLM gateway.
gemini
Package gemini provides Google Gemini API integration for the LLM gateway.
Package gemini provides Google Gemini API integration for the LLM gateway.
googlecommon
Package googlecommon holds infrastructure shared by GoModel's Google-backed providers (Gemini AI Studio + Vertex AI).
Package googlecommon holds infrastructure shared by GoModel's Google-backed providers (Gemini AI Studio + Vertex AI).
groq
Package groq provides Groq API integration for the LLM gateway.
Package groq provides Groq API integration for the LLM gateway.
health
Package health tracks recent request outcomes per provider and model.
Package health tracks recent request outcomes per provider and model.
hetzner
Package hetzner provides Hetzner Inference API integration for the LLM gateway.
Package hetzner provides Hetzner Inference API integration for the LLM gateway.
kilo
Package kilo provides Kilo AI Gateway integration for the LLM gateway.
Package kilo provides Kilo AI Gateway integration for the LLM gateway.
kimicode
Package kimicode provides Kimi Code API integration for the LLM gateway.
Package kimicode provides Kimi Code API integration for the LLM gateway.
llamacpp
Package llamacpp provides llama.cpp llama-server OpenAI-compatible API integration for the LLM gateway.
Package llamacpp provides llama.cpp llama-server OpenAI-compatible API integration for the LLM gateway.
llmd
Package llmd provides integration with the llm-d Router's OpenAI-compatible API.
Package llmd provides integration with the llm-d Router's OpenAI-compatible API.
meta
Package meta provides Meta Model API integration for the LLM gateway.
Package meta provides Meta Model API integration for the LLM gateway.
minimax
Package minimax provides MiniMax API integration for the LLM gateway.
Package minimax provides MiniMax API integration for the LLM gateway.
ollama
Package ollama provides Ollama API integration for the LLM gateway.
Package ollama provides Ollama API integration for the LLM gateway.
openai
Package openai provides OpenAI API integration for the LLM gateway.
Package openai provides OpenAI API integration for the LLM gateway.
opencodego
Package opencodego provides OpenCode Zen (Go subscription) integration for the LLM gateway.
Package opencodego provides OpenCode Zen (Go subscription) integration for the LLM gateway.
providertest
Package providertest holds helpers for provider adapter tests: upstream test servers that record what the adapter sent, and a shared contract check for providers built on the OpenAI-compatible adapter.
Package providertest holds helpers for provider adapter tests: upstream test servers that record what the adapter sent, and a shared contract check for providers built on the OpenAI-compatible adapter.
sglang
Package sglang provides SGLang OpenAI-compatible API integration for the LLM gateway.
Package sglang provides SGLang OpenAI-compatible API integration for the LLM gateway.
vertex
Package vertex provides Google Vertex AI Gemini integration.
Package vertex provides Google Vertex AI Gemini integration.
vllm
Package vllm provides vLLM OpenAI-compatible API integration for the LLM gateway.
Package vllm provides vLLM OpenAI-compatible API integration for the LLM gateway.
xai
Package xai provides xAI (Grok) API integration for the LLM gateway.
Package xai provides xAI (Grok) API integration for the LLM gateway.
xiaomi
Package xiaomi provides Xiaomi MiMo API integration for the LLM gateway.
Package xiaomi provides Xiaomi MiMo API integration for the LLM gateway.
zai
Package zai provides Z.ai API integration for the LLM gateway.
Package zai provides Z.ai API integration for the LLM gateway.
Package ratelimit enforces request, token, and concurrency limits for the AI gateway.
Package ratelimit enforces request, token, and concurrency limits for the AI gateway.
Package realtime implements a transparent, provider-agnostic websocket reverse proxy for OpenAI-compatible realtime (speech-to-speech) sessions.
Package realtime implements a transparent, provider-agnostic websocket reverse proxy for OpenAI-compatible realtime (speech-to-speech) sessions.
Package responsestore provides persistence for OpenAI-compatible Responses lifecycle endpoints.
Package responsestore provides persistence for OpenAI-compatible Responses lifecycle endpoints.
Package server provides HTTP handlers and server setup for the LLM gateway.
Package server provides HTTP handlers and server setup for the LLM gateway.
Package session identifies the client session a request belongs to, so the gateway can route one conversation consistently and group its audit entries.
Package session identifies the client session a request belongs to, so the gateway can route one conversation consistently and group its audit entries.
Package storage provides shared database connections for all features.
Package storage provides shared database connections for all features.
mongotest
Package mongotest runs a store's test suite against MongoDB.
Package mongotest runs a store's test suite against MongoDB.
sqlutil
Package sqlutil provides small SQL query-building and value-conversion helpers shared by the SQL-backed stores and readers.
Package sqlutil provides small SQL query-building and value-conversion helpers shared by the SQL-backed stores and readers.
sqlx
Package sqlx lets one store implementation serve both SQL backends.
Package sqlx lets one store implementation serve both SQL backends.
sqlx/sqlxtest
Package sqlxtest runs a store's test suite against every SQL dialect.
Package sqlxtest runs a store's test suite against every SQL dialect.
Package tagging labels requests based on configurable HTTP headers.
Package tagging labels requests based on configurable HTTP headers.
Package telemetry provides GoModel's OpenTelemetry integration: OTLP trace and metric export for inbound HTTP requests and outbound provider calls.
Package telemetry provides GoModel's OpenTelemetry integration: OTLP trace and metric export for inbound HTTP requests and outbound provider calls.
Package usage provides token usage tracking for the AI gateway.
Package usage provides token usage tracking for the AI gateway.
Package users manages per-user-path model access policies.
Package users manages per-user-path model access policies.
Package validation provides the shared validation error type used by admin-managed resources (aliases, auth keys, guardrails, workflows, model selectors and overrides).
Package validation provides the shared validation error type used by admin-managed resources (aliases, auth keys, guardrails, workflows, model selectors and overrides).
Package versioncheck reports whether a newer GoModel release exists.
Package versioncheck reports whether a newer GoModel release exists.
Package virtualmodels unifies model aliases (redirects) and model access overrides (policies) behind one entity, the virtual model, persisted in a single virtual_models table.
Package virtualmodels unifies model aliases (redirects) and model access overrides (policies) behind one entity, the virtual model, persisted in a single virtual_models table.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL