midsommar

command module
v2.2.1 Latest Latest
Warning

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

Go to latest
Published: Oct 2, 2026 License: AGPL-3.0 Imports: 17 Imported by: 0

README

Tyk AI Studio

GitHub Latest Release GitHub Stars GitHub Forks


Official Documentation | AI Studio Homepage | Community Forum | Contributing

Open source AI management platform for secure, governed, and scalable AI integration

Tyk AI Studio is an open source platform that addresses the critical challenges organizations face when adopting AI: shadow AI usage, compliance requirements, security concerns, and spiraling costs. Built for developers and platform teams, it provides structured AI management through governance, monitoring, and unified access controls.

Available in two editions: Community Edition (open source) and Enterprise Edition (advanced features). See edition comparison below.

Try it Now

Get a demo instance running in minutes using Docker Compose.

Community Edition (no license required):

git clone https://github.com/TykTechnologies/ai-studio.git
cd ai-studio/quickstart
docker compose -f ./ce/compose.yaml up -d

Enterprise Edition (requires license):

git clone https://github.com/TykTechnologies/ai-studio.git
cd ai-studio/quickstart
# Add your license to required.env
echo "TYK_AI_LICENSE=<your-license-key>" > required.env
docker compose -f ./enterprise/compose.yaml up -d

Once running, access the UI at http://localhost:3000 (Community Edition) or http://localhost:8585 (Enterprise Edition).

See the quickstart README for more details.

Why Tyk AI Studio?

AI adoption brings significant challenges that require structured solutions:

  • Shadow AI Prevention - Stop unauthorized AI tool usage without oversight
  • Security & Compliance - Maintain data privacy and meet regulatory requirements
  • Cost Control - Monitor usage and prevent unlimited AI consumption
  • Unified Access - Single interface for multiple AI vendors and internal tools

Core Capabilities

AI Gateway

The heart of secure AI integration, providing:

  • Multi-vendor LLM support: OpenAI, Anthropic, Mistral, Vertex AI, Bedrock, Gemini, Huggingface, Ollama, and custom models
  • Secure API proxying: Centralized access control and credential management
  • Usage monitoring: Real-time tracking of costs, usage patterns, and performance
  • Rate limiting: Prevent excessive token consumption and manage budgets
  • Content filtering: Scriptable policy enforcement for data security
AI Portal

Developer-focused service catalog featuring:

  • Curated AI services: Easy discovery and access to approved AI tools
  • Unified interface: Single point of access for all AI capabilities
  • Integration support: Connect with internal systems and external workflows
  • Rapid prototyping: Secure experimentation with built-in policy controls
AI Chat Interface

Collaborative workspace that provides:

  • Universal chat experience: Single interface for LLMs, tools, and internal data sources
  • Custom chatrooms: Dedicated spaces for teams, projects, or specific use cases
  • Built-in governance: Policy enforcement without disrupting user workflows
  • Document integration: Upload and use documents within AI conversations
MCP Integration

Standards-based AI component integration:

  • Remote MCP support: Connect internal APIs and tools without custom scripts
  • Local MCP servers: Generate installable servers for testing or restricted environments
  • Standardized interactions: Following Model Context Protocol specifications
  • Secure connections: All MCP traffic routed through the AI Gateway for visibility

Gateway Performance

Measured on Tyk AI Studio 2.2 with the Enterprise edge gateway on one 4-vCPU AWS machine (c7i.xlarge), with every request authenticated, checked against a budget, cost-accounted and recorded in analytics:

One 4-vCPU gateway, full production policy
Latency added per request (native endpoints) 0.54–0.58 ms p50, under 0.9 ms p99, including the network hop; the gateway's own share is 0.13–0.16 ms
Latency added against real OpenAI and Anthropic (paired) not measurable against the vendors' own variation; 0.3–1.8 ms by the gateway's own timing
Non-streaming capacity (20 ms upstream) ~8,550 req/s, adding ~0.5 ms p50 up to 6,000 req/s; 0 errors
Streaming capacity (300 ms to first token, 4.3 s streams) ~690 new streams/s (~3,000 open); time to first token within ~15 ms of the upstream's up to 450/s; 0 errors
1 hour at 377 streams/s, and a 3× burst 0 errors; latency and memory flat for the hour; recovered from the burst within 5 s

Both limits are the node's CPU, so capacity grows with the number of edges. Every analytics record reached the control plane.

Full method, per-scenario data and known limitations: benchmarks/gateway/benchmark-results.md. To reproduce on your own AWS account, see benchmarks/gateway/RUNBOOK-cloud.md.

Real-World Applications

Software Development

  • Integrate AI with Jira, GitHub, and internal development tools
  • Accelerate development cycles with AI-powered assistance
  • Maintain security while enabling developer productivity

Financial Services

  • Ensure only anonymized data reaches external LLMs
  • Track AI usage costs by department or team
  • Meet compliance requirements while enabling innovation

Healthcare

  • Route LLM traffic through governed pathways for HIPAA compliance
  • Protect sensitive patient data with content filtering
  • Enable AI-driven insights while maintaining privacy controls

General Business Applications

  • Query internal APIs and databases through conversational interfaces
  • Integrate AI with existing business systems and workflows
  • Enable non-technical users to leverage AI capabilities safely

First Time Setup

For absolute first-timers who want to build from source:

Prerequisites
  • Go 1.26+
  • Node.js 20+
  • Git
Initial Setup Steps
  1. Clone the repository
git clone https://github.com/TykTechnologies/ai-studio.git
cd ai-studio
  1. Install frontend dependencies
cd ui/admin-frontend
npm install
  1. Build the frontend (required for Go embedding)
npm run build
  1. Return to project root and build backend
cd ../../
go build
  1. Setup environment
cp .env.example .env
# Edit .env file with your AI provider credentials
  1. Run the application
./ai-studio

Important: If you try to run go build without first building the frontend, you'll get an error about empty directories because the Go application embeds the frontend build assets. Always build the frontend first.

Edition Comparison

Tyk AI Studio is available in two editions:

Feature Community Edition Enterprise Edition
LLM Proxy Gateway ✅ ✅
Chat Interface ✅ ✅
Tool Integration ✅ ✅
User Management & RBAC ✅ ✅
Hub-and-Spoke Deployment ✅ ✅
Cost Tracking & Analytics ✅ ✅
Plugin System ✅ ✅
Budget Management ❌ ✅
Budget Enforcement ❌ ✅
Budget Alerts ❌ ✅
Advanced SSO (SAML, OIDC) ❌ ✅
Advanced RBAC ❌ ✅
Audit Logging ❌ ✅
Priority Support ❌ ✅
Community Edition

Free and open source. Perfect for:

  • Development and testing
  • Small teams
  • Cost visibility without enforcement
  • Learning AI management
Enterprise Edition

Advanced features for production. Ideal for:

  • Production deployments
  • Cost control and governance
  • Compliance requirements
  • Enterprise SSO integration

Learn more about Enterprise Edition →

For detailed framework documentation, see ENTERPRISE_FRAMEWORK.md

Quick Start

Get up and running in under 5 minutes:

  1. Clone and setup
git clone https://github.com/TykTechnologies/ai-studio.git
cd ai-studio
cp .env.example .env
  1. Configure environment Edit .env file with your AI provider credentials and desired settings.

  2. Start the platform

docker compose up --build
  1. Access the interface

When you first register, your account will automatically become admin with a default user group created.

Option 2: Native Development

Prerequisites

  • Go 1.26+
  • Node.js 20+

Start development servers

make start-dev  # Starts both frontend and backend
make stop-dev   # Stops both services

Installation Options

Docker
# Production deployment
docker compose up -d

# Development with hot reload
docker compose up --build
Kubernetes
# Using the Helm chart in this repository
helm install ai-studio ./helm

For values and production settings, see Deploy on Kubernetes and the chart README.

Native Binary
# Build production binary
make build

# The binary includes both API and UI
./ai-studio

Architecture

Tyk AI Studio follows a clean three-tier architecture:

Model Layer: Data structures and database-level CRUD operations Service Layer: Business logic and data access to the model layer API Layer: REST interface to the service layer

Frontend Structure:

  • Admin: Managing AI models, tools, and data sources
  • Portal: User interface for interacting with AI models and tools

The AI Gateway sits at the center, proxying all AI interactions while enforcing policies, monitoring usage, and maintaining security controls.

Plugin System

Tyk AI Studio features a powerful Unified Plugin SDK that enables extensive customization and integration across the entire platform. Plugins run as isolated processes using gRPC communication, providing security and fault tolerance.

Plugin Capabilities

Build plugins that extend AI Studio in multiple ways:

Gateway Extensions

  • Custom authentication and authorization
  • Request/response transformation and filtering
  • Content policy enforcement
  • Data export to external systems (Elasticsearch, ClickHouse, etc.)
  • Custom rate limiting and budget controls

UI Extensions

  • Add custom pages and dashboards to the admin interface
  • Extend sidebar navigation with new sections
  • Build interactive WebComponents with full JavaScript framework support
  • Access platform APIs to manage LLMs, apps, tools, and datasources

Conversational AI Agents

  • Create custom chat agents with specialized behaviors
  • Wrap LLMs with custom logic and validation
  • Integrate external services into conversations
  • Build multi-turn dialogue experiences with tool access

Object Hooks

  • Intercept CRUD operations on LLMs, tools, datasources, and users
  • Enforce validation rules and approval workflows
  • Integrate with external systems (LDAP, ticketing, CMDBs)
  • Add audit trails and policy enforcement
Key Features
  • Single SDK: One import works everywhere (AI Studio and Microgateway)
  • 10 Plugin Capabilities: Mix and match to build exactly what you need
  • Secure Isolation: Plugins run as separate processes
  • Fine-grained Permissions: Control access with declarative scopes
  • Multiple Deployment Options: Local files, remote gRPC, or OCI containers
Quick Start
import "github.com/TykTechnologies/midsommar/v2/pkg/plugin_sdk"

type MyPlugin struct {
    plugin_sdk.BasePlugin
}

func (p *MyPlugin) HandlePostAuth(ctx plugin_sdk.Context, req *plugin_sdk.EnrichedRequest) (*plugin_sdk.Response, error) {
    // Your custom logic here
    return &plugin_sdk.Response{Modified: false}, nil
}

func main() {
    plugin_sdk.Serve(NewMyPlugin())
}

Learn More: See Plugin System Documentation for comprehensive guides, examples, and API references.

Supported AI Vendors

  • OpenAI: GPT models, Embeddings, and more
  • Anthropic: Claude models and assistants
  • Mistral: Open source and commercial models
  • Google: Vertex AI and Gemini models
  • AWS: Bedrock model access
  • Hugging Face: Open source model ecosystem
  • Ollama: Local model deployment
  • Custom Models: Bring your own model integrations

Key Benefits

  • Reduce Risk - Centralized access controls and comprehensive monitoring
  • Improve Efficiency - Streamlined workflows for both developers and end users
  • Cost Control - Real-time usage tracking with budgeting and rate limiting
  • Support Compliance - Built-in policy enforcement and audit logging
  • Enable Scale - Standards-based architecture supporting growth

Documentation & Resources

Official Documentation

Product Information

Developer Resources

Configuration

All configuration is managed through the .env file. Key settings include:

# AI Provider Credentials
OPENAI_API_KEY=your-openai-key
ANTHROPIC_API_KEY=your-anthropic-key

# Database Configuration
DATABASE_URL=your-database-url

# Telemetry (Optional)
TELEMETRY_ENABLED=false  # Disable usage statistics collection

Privacy Note: Tyk AI Studio collects anonymized usage statistics to improve the platform. No personal data or AI conversation content is collected. Set TELEMETRY_ENABLED=false to disable.

Development

Building from Source

Manual build process (step by step):

# 1. Install frontend dependencies (if not done already)
cd ui/admin-frontend
npm install

# 2. Build frontend assets (required before Go build)
npm run build

# 3. Return to root and build backend
cd ../../
go build

# 4. Run the application
./ai-studio

Using Make commands (automated):

# Build everything (frontend + backend)
make build

# Build for local development only
make build-local

# Run tests
make test

# Clean build artifacts
make clean

Build Order Important: The frontend must be built before the Go binary because the application embeds frontend assets. Running go build without building the frontend first will fail with empty directory errors.

Version and Build Tagging

Version information is injected at build time via Go linker flags (-ldflags -X). The variables are defined in version.go:

Variable Description Default
main.Version Release version (from git tag) dev
main.BuildHash Git commit hash unknown
main.BuildTime Build timestamp (UTC) unknown

How version is set across build methods:

Build Method Version Source
make build-native / make build-prod git describe --tags --always --dirty
Dockerfile --build-arg VERSION=...
build-commands.sh (pre-release) git describe --tags --always
GoReleaser (CI release) Git tag via {{.Version}}
make dev (Air hot reload) Default dev

To verify the version embedded in a binary, check the startup output:

Starting Tyk AI Studio v2.1.0

When tagging a release, create a git tag and the version will propagate automatically:

git tag v2.1.0
git push origin v2.1.0
Additional Commands
make dev          # Docker Compose development environment with hot reload (recommended)
make dev-down     # Stop the development environment
make dev-help     # List all development targets
Testing

The project has multiple test categories with different build tags. Here's how to run them:

Quick Test Commands
# Run all standard unit tests (fastest)
go test ./...

# Run tests for a specific package
go test ./api/...

# Run tests with coverage report
go test -coverprofile=coverage.out -coverpkg=./... ./...
go tool cover -html=coverage.out  # View in browser
Complete Test Suite

To validate everything before a release or major change:

# 1. Unit tests (no special tags required)
go test ./...

# 2. Enterprise feature tests
go test -tags enterprise ./...

# 3. Integration tests (requires test environment)
go test -tags integration ./...

# 4. Plugin E2E tests (builds and spawns real plugin binaries)
go test -tags e2e ./pkg/testinfra/plugintest/...

# 5. All tests combined (comprehensive validation)
go test -tags "enterprise,integration,e2e" ./...
Test Categories Explained
Category Build Tag Description Speed
Unit (none) Standard tests, no external deps Fast
Enterprise enterprise Tests for enterprise-only features Fast
Integration integration Tests requiring DB/services Medium
E2E Plugin e2e Spawns real plugin subprocesses Slow
Plugin Contract Tests

The plugin test framework validates UI-to-RPC contracts without building plugins:

# Fast contract validation (no plugin build)
go test -v ./pkg/testinfra/plugintest/... -run "TestAdvancedLLMCacheUIContract"
CI/CD Recommendation

For CI pipelines, we recommend:

# Fast feedback (every PR)
- run: go test ./...

# Pre-merge validation
- run: go test -tags enterprise ./...

# Nightly/release validation
- run: go test -tags "enterprise,integration,e2e" ./...

Community & Support

Get Help

Contributing We welcome contributions! Please see our Contributing Guide for details on how to:

  • Report bugs and request features
  • Submit pull requests
  • Sign the Contributor License Agreement
  • Join our development community

Licensing

Tyk AI Studio is released under the GNU Affero General Public License v3.0. See LICENSE.md for full details.

Contributor License Agreement: All contributors must sign the Tyk CLA before contributions can be accepted.

Project Status

Tyk AI Studio is actively developed and maintained by Tyk Technologies. It serves as the open source foundation for Tyk's AI management ecosystem.

Stability: Production ready for AI gateway and basic management features
Development: Active development with regular releases
Community: Welcoming contributions and feedback from the community


Built by Tyk

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
api
benchmarks
gateway/cmd/gwbench command
Command gwbench measures the latency the AI Gateway adds for an end user, and how it holds up under load.
Command gwbench measures the latency the AI Gateway adds for an end user, and how it holds up under load.
gateway/cmd/mockllm command
Command mockllm is the benchmark upstream: an OpenAI- and Anthropic-shaped LLM server that paces its output to a configurable profile (first-token delay, token rate, output length) and records nothing per request, so it can sustain far more load than the gateway under test.
Command mockllm is the benchmark upstream: an OpenAI- and Anthropic-shaped LLM server that paces its output to a configurable profile (first-token delay, token rate, output length) and records nothing per request, so it can sustain far more load than the gateway under test.
gateway/internal/probe
Package probe sends one LLM request and times it from the client's point of view: time to response headers, time to the first content token, and time to the end of the body.
Package probe sends one LLM request and times it from the client's point of view: time to response headers, time to the first content token, and time to the end of the body.
gateway/internal/report
Package report turns a run directory (manifest.json, results.jsonl, samples.jsonl) into summary.json, report.md and report.html.
Package report turns a run directory (manifest.json, results.jsonl, samples.jsonl) into summary.json, report.md and report.html.
gateway/internal/run
Package run executes a resolved scenario: it drives every cell, writes each request's measurements to results.jsonl, samples the gateway's resource use alongside, and records a manifest describing exactly what was measured.
Package run executes a resolved scenario: it drives every cell, writes each request's measurements to results.jsonl, samples the gateway's resource use alongside, and records a manifest describing exactly what was measured.
gateway/internal/sampler
Package sampler records the gateway's resource use during a run: RSS, CPU seconds, goroutines, open file descriptors and heap, scraped once a second from its Prometheus endpoint, plus the mock upstream's request counters.
Package sampler records the gateway's resource use during a run: RSS, CPU seconds, goroutines, open file descriptors and heap, scraped once a second from its Prometheus endpoint, plus the mock upstream's request counters.
gateway/internal/scenario
Package scenario loads benchmark scenario files and resolves them into runnable cells: which targets each arm hits, with which body, under which load shape.
Package scenario loads benchmark scenario files and resolves them into runnable cells: which targets each arm hits, with which body, under which load shape.
gateway/internal/sched
Package sched drives load at a cell's arms and streams every Result to a sink.
Package sched drives load at a cell's arms and streams every Result to a sink.
gateway/internal/seed
Package seed configures a fresh Studio (hub) and its edge gateway for a benchmark run, headlessly, over Studio's REST API: first admin, API key, LLMs pointing at the mock and the real vendors, model prices, an app with a budget and an active credential, then a config push to the edges and a wait until every edge has loaded it.
Package seed configures a fresh Studio (hub) and its edge gateway for a benchmark run, headlessly, over Studio's REST API: first admin, API key, LLMs pointing at the mock and the real vendors, model prices, an app with a budget and an active credential, then a config push to the edges and a wait until every edge has loaded it.
gateway/internal/stats
Package stats holds the few estimators the report relies on: exact percentiles, and bootstrap confidence intervals for a difference of medians (independent samples) and for a median of paired differences.
Package stats holds the few estimators the report relies on: exact percentiles, and bootstrap confidence intervals for a difference of medians (independent samples) and for a median of paired differences.
cmd
plugin-scaffold command
Package main provides a CLI tool for scaffolding new Tyk AI Studio plugins.
Package main provides a CLI tool for scaffolding new Tyk AI Studio plugins.
swagger
Package swagger Code generated by swaggo/swag.
Package swagger Code generated by swaggo/swag.
examples
embed-host command
Command embed-host is a minimal application that embeds AI Studio: it signs users in with its own (deliberately trivial) login page, serves Studio under /ai-studio, and lets Studio provision and authorise the users it vouches for.
Command embed-host is a minimal application that embeds AI Studio: it signs users in with its own (deliberately trivial) login page, serves Studio under /ai-studio, and lets Studio provision and authorise the users it vouches for.
file-based-demo command
Package main provides a comprehensive file-based demo of the AI Gateway Library.
Package main provides a comprehensive file-based demo of the AI Gateway Library.
file-based-demo/services
Package services provides file-based implementations of the AI Gateway service interfaces.
Package services provides file-based implementations of the AI Gateway service interfaces.
plugins/gateway/legacy-collectors/elasticsearch_collector command
plugins/examples/elasticsearch_collector/main.go
plugins/examples/elasticsearch_collector/main.go
plugins/gateway/legacy-collectors/file_analytics_collector command
plugins/examples/file_analytics_collector/main.go
plugins/examples/file_analytics_collector/main.go
plugins/gateway/legacy-collectors/file_budget_collector command
plugins/examples/file_budget_collector/main.go
plugins/examples/file_budget_collector/main.go
plugins/gateway/legacy-collectors/file_proxy_collector command
plugins/examples/file_proxy_collector/main.go
plugins/examples/file_proxy_collector/main.go
standalone-gateway command
Package main provides a simple example of using the AI Gateway library to create a standalone microproxy service.
Package main provides a simple example of using the AI Gateway library to create a standalone microproxy service.
grpc/control_server.go
grpc/control_server.go
Package guardrails is the provider framework behind guardrail filters: a filter kind that classifies text with a typed provider (the built-in pattern library, or an external classifier or NER service) instead of a script, and blocks, redacts or logs on the verdict.
Package guardrails is the provider framework behind guardrail filters: a filter kind that classifies text with a typed provider (the built-in pattern library, or an external classifier or NER service) instead of a script, and blocks, redacts or logs on the verdict.
example command
performance
framework
Package framework provides concurrent load testing utilities
Package framework provides concurrent load testing utilities
pkg
aigateway
Package aigateway provides a simple interface to use the Midsommar AI Gateway as an importable library in standalone applications.
Package aigateway provides a simple interface to use the Midsommar AI Gateway as an importable library in standalone applications.
authidentity
Package authidentity carries who authenticated a gateway request, and how, on the request context.
Package authidentity carries who authenticated a gateway request, and how, on the request context.
authz
Package authz defines the permission vocabulary used by role-based access control.
Package authz defines the permission vocabulary used by role-based access control.
cluster
Package cluster lets several Studio replicas share one database: it registers each replica (Node) so others can tell live replicas from dead ones, and carries events every replica must see (Log).
Package cluster lets several Studio replicas share one database: it registers each replica (Node) so others can tell live replicas from dead ones, and carries events every replica must see (Log).
corsutil
Package corsutil centralizes the CORS policy for endpoints that historically sent `Access-Control-Allow-Origin: *` (OAuth, proxy metadata, plugin assets).
Package corsutil centralizes the CORS policy for endpoints that historically sent `Access-Control-Allow-Origin: *` (OAuth, proxy metadata, plugin assets).
eventbridge
Package eventbridge provides an event bus system for communication between AI Studio (control) and Microgateway (edge) nodes using simonfxr/pubsub for in-process event buses and gRPC for cross-node event forwarding.
Package eventbridge provides an event bus system for communication between AI Studio (control) and Microgateway (edge) nodes using simonfxr/pubsub for in-process event buses and gRPC for cross-node event forwarding.
gatewayplugin/interfaces
plugins/interfaces/auth.go
plugins/interfaces/auth.go
gatewayplugin/sdk
plugins/sdk/conversions.go
plugins/sdk/conversions.go
lrucache
Package lrucache is a small bounded cache keyed by string: least recently used entries are evicted at capacity, and a value that is missing is built once even when many goroutines ask for it at the same moment.
Package lrucache is a small bounded cache keyed by string: least recently used entries are evicted at capacity, and a value that is missing is built once even when many goroutines ask for it at the same moment.
mcpintrospect
Package mcpintrospect asks a remote MCP server which tools it offers.
Package mcpintrospect asks a remote MCP server which tools it offers.
middleware
Package middleware provides HTTP middleware shared between AI Studio and the Microgateway.
Package middleware provides HTTP middleware shared between AI Studio and the Microgateway.
modelmatch
Package modelmatch is the single implementation of the LLM "allowed models" matching rule.
Package modelmatch is the single implementation of the LLM "allowed models" matching rule.
netguard
Package netguard provides SSRF safeguards for outbound requests whose destination is derived from stored configuration (LLM upstream endpoints, OCI registries).
Package netguard provides SSRF safeguards for outbound requests whose destination is derived from stored configuration (LLM upstream endpoints, OCI registries).
oauthscope
Package oauthscope is the single definition of the OAuth scopes this platform issues and enforces.
Package oauthscope is the single definition of the OAuth scopes this platform issues and enforces.
ociplugins
pkg/ociplugins/client.go
pkg/ociplugins/client.go
pathcheck
Package pathcheck reports, once at startup, every filesystem path a binary is configured with: where the value came from (set, or the built-in default), the absolute path it resolves to from the working directory, and whether the file or directory is there and usable by the process user.
Package pathcheck reports, once at startup, every filesystem path a binary is configured with: where the value came from (set, or the built-in default), the absolute path it resolves to from the working directory, and whether the file or directory is there and usable by the process user.
pglisten
Package pglisten shares one PostgreSQL LISTEN connection per database among every subscriber in the process.
Package pglisten shares one PostgreSQL LISTEN connection per database among every subscriber in the process.
plugin_sdk
Package plugin_sdk provides a unified SDK for building plugins that work in both AI Studio and Microgateway contexts.
Package plugin_sdk provides a unified SDK for building plugins that work in both AI Studio and Microgateway contexts.
replicas
Package replicas is how code anywhere in Studio (core or Enterprise) cooperates with the other control-plane replicas sharing its database, without being handed the cluster machinery:
Package replicas is how code anywhere in Studio (core or Enterprise) cooperates with the other control-plane replicas sharing its database, without being handed the cluster machinery:
safe
Package safe keeps a panic in Studio's background work from taking the whole process down.
Package safe keeps a panic in Studio's background work from taking the whole process down.
semanticrouting
Package semanticrouting holds the shared shape of a Semantic Router: the configuration an administrator writes, what the classifier is asked, and what it answers.
Package semanticrouting holds the shared shape of a Semantic Router: the configuration an administrator writes, what the classifier is asked, and what it answers.
semanticrouting/llmclient
Package llmclient reaches LLMs for the Semantic Router engine: embeddings for the example and request vectors, and a completion for the judge.
Package llmclient reaches LLMs for the Semantic Router engine: embeddings for the example and request vectors, and a completion for the judge.
studio
Package studio runs Tyk AI Studio inside another Go process.
Package studio runs Tyk AI Studio inside another Go process.
studio/sqlitedb
Package sqlitedb adds SQLite to studio.OpenDatabase.
Package sqlitedb adds SQLite to studio.OpenDatabase.
testinfra/containers
Package containers provides testcontainers-go helpers for integration testing.
Package containers provides testcontainers-go helpers for integration testing.
testinfra/mockllm
Package mockllm provides mock LLM backends for E2E testing.
Package mockllm provides mock LLM backends for E2E testing.
testinfra/plugintest
Package plugintest provides E2E testing utilities for plugins.
Package plugintest provides E2E testing utilities for plugins.
testinfra/vendorconformance
Package vendorconformance holds the shared, module-neutral half of the live vendor conformance suite: configuration loading, the vendor/surface/scenario support matrix, canonical wire schemas, response normalization and drift detection.
Package vendorconformance holds the shared, module-neutral half of the live vendor conformance suite: configuration loading, the vendor/surface/scenario support matrix, canonical wire schemas, response normalization and drift detection.
tracing
Package tracing wires OpenTelemetry distributed tracing for the LLM proxy.
Package tracing wires OpenTelemetry distributed tracing for the LLM proxy.
engine
Package engine is the hook through which the enterprise edition supplies the filter script runtime, and the types scripts exchange with it.
Package engine is the hook through which the enterprise edition supplies the filter script runtime, and the types scripts exchange with it.
services/plugin_event_service.go Host-side implementation of PluginEventService for AI Studio (control instance).
services/plugin_event_service.go Host-side implementation of PluginEventService for AI Studio (control instance).
audit
Package audit defines the platform audit trail: an append-only record of every action taken through the management API, who took it, from where, and what changed.
Package audit defines the platform audit trail: an append-only record of every action taken through the management API, who took it, from where, and what changed.
edition
Package edition checks that a build carries every enterprise feature it was compiled for.
Package edition checks that a build carries every enterprise feature it was compiled for.
governed_metadata
Package governed_metadata defines the Governed Metadata service used to attach admin-defined, validated metadata (owners, lifecycle state, risk tier, data classification, ...) to objects that AI Studio publishes to the portal or to edge gateways (LLMs, Tools, Datasources, and opted-in plugin resource types).
Package governed_metadata defines the Governed Metadata service used to attach admin-defined, validated metadata (owners, lifecycle state, risk tier, data classification, ...) to objects that AI Studio publishes to the portal or to edge gateways (LLMs, Tools, Datasources, and opted-in plugin resource types).
plugin_security
Package plugin_security provides security validation for plugins in both CE and ENT editions
Package plugin_security provides security validation for plugins in both CE and ENT editions
pushes
Package pushes delivers configuration pushes ("reloads") to edge gateways when several Studio replicas share the database.
Package pushes delivers configuration pushes ("reloads") to edge gateways when several Studio replicas share the database.
rbac
Package rbac defines role-based access control for the management API: roles are named bundles of catalogue permissions (see pkg/authz), bound to users or groups; a user's effective permissions are the union across their direct bindings and the bindings of every group they belong to.
Package rbac defines role-based access control for the management API: roles are named bundles of catalogue permissions (see pkg/authz), bound to users or groups; a user's effective permissions are the union across their direct bindings and the bindings of every group they belong to.
semantic_router
Package semantic_router manages Semantic Routers (Enterprise): routers that pick one of their named routes from what the prompt says.
Package semantic_router manages Semantic Routers (Enterprise): routers that pick one of their named routes from what the prompt says.
sso
team_budget
Package team_budget defines team (Group) level budgets: a monthly ceiling on the combined spend of a team's Apps, and an allocation pool that new Apps in the team draw their App budget from.
Package team_budget defines team (Group) level budgets: a monthly ceiling on the combined spend of a team's Apps, and an allocation pool that new Apps in the team draw their App budget from.
tykmcp
Package tykmcp defines the Tyk Dashboard MCP integration: MCP proxies defined in a Tyk Dashboard are discovered and published to the AI Portal as an asset class, registered from Studio into the Dashboard, proposed by portal users through the submission workflow, and access keys are brokered against Tyk security policies.
Package tykmcp defines the Tyk Dashboard MCP integration: MCP proxies defined in a Tyk Dashboard are discovered and published to the AI Portal as an asset class, registered from Studio into the Dashboard, proposed by portal users through the submission workflow, and access keys are brokered against Tyk security policies.
webhooks
Package webhooks defines outbound webhook delivery: event-bus events are persisted, fanned out to administrator-approved HTTP targets, delivered with retries and a dead-letter queue, and every attempt is logged so an operator can search what was sent where, when, and what came back.
Package webhooks defines outbound webhook delivery: event-bus events are persisted, fanned out to administrator-approved HTTP targets, delivered with retries and a dead-letter queue, and every attempt is logged so an operator can search what was sent where, when, and what came back.
pckage switches is the place where all vendor-dependent logic lives.
pckage switches is the place where all vendor-dependent logic lives.
Package templates holds the default email and notification templates.
Package templates holds the default email and notification templates.
schemasnapshot
Package schemasnapshot renders the schema a migration produced as stable text, so tests can compare it with a golden file.
Package schemasnapshot renders the schema a migration produced as stable text, so tests can compare it with a golden file.
third_party
langchaingo/callbacks
Package callbacks includes a standard interface for hooking into various stages of your LLM application.
Package callbacks includes a standard interface for hooking into various stages of your LLM application.
langchaingo/chains
Package chains contains a standard interface for chains, a number of built-in chains and functions for calling and running chains.
Package chains contains a standard interface for chains, a number of built-in chains and functions for calling and running chains.
langchaingo/embeddings
Package embeddings contains helpers for creating vector embeddings from text using different providers.
Package embeddings contains helpers for creating vector embeddings from text using different providers.
langchaingo/httputil
Package httputil provides HTTP transport and client utilities for LangChainGo.
Package httputil provides HTTP transport and client utilities for LangChainGo.
langchaingo/internal/httprr
Package httprr implements HTTP record and replay, mainly for use in tests.
Package httprr implements HTTP record and replay, mainly for use in tests.
langchaingo/llms
Package llms provides unified support for interacting with different Language Models (LLMs) from various providers.
Package llms provides unified support for interacting with different Language Models (LLMs) from various providers.
langchaingo/llms/googleai
Package googleai provides caching support for Google AI models.
Package googleai provides caching support for Google AI models.
langchaingo/llms/googleai/vertex
package vertex implements a langchaingo provider for Google Vertex AI LLMs, including the new Gemini models.
package vertex implements a langchaingo provider for Google Vertex AI LLMs, including the new Gemini models.
langchaingo/llms/openai
Package openai provides an interface to OpenAI's language models.
Package openai provides an interface to OpenAI's language models.
langchaingo/memory
Package memory provides an interface for managing conversational data and a variety of implementations for storing and retrieving that data.
Package memory provides an interface for managing conversational data and a variety of implementations for storing and retrieving that data.
langchaingo/outputparser
Package outputparser provides a set of output parsers to process structured or unstructured data from language models (LLMs).
Package outputparser provides a set of output parsers to process structured or unstructured data from language models (LLMs).
langchaingo/prompts
Package prompts provides utilities for creating and managing prompts for Large Language Models (LLMs).
Package prompts provides utilities for creating and managing prompts for Large Language Models (LLMs).
langchaingo/prompts/internal/fstring
Package fstring contains template format with f-string.
Package fstring contains template format with f-string.
langchaingo/prompts/internal/loader
Package loader provides secure filesystem access control for template engines.
Package loader provides secure filesystem access control for template engines.
langchaingo/schema
Package schema implements a shared core set of data types for use in langchaingo.
Package schema implements a shared core set of data types for use in langchaingo.
langchaingo/testing/llmtest
Package llmtest provides utilities for testing LLM implementations.
Package llmtest provides utilities for testing LLM implementations.
langchaingo/textsplitter
Package textsplitter provides tools for splitting long texts into smaller chunks based on configurable rules and parameters.
Package textsplitter provides tools for splitting long texts into smaller chunks based on configurable rules and parameters.
langchaingo/vectorstores
Package vectorstores contains the implementation of VectorStore, an interface for saving and querying documents as vector embeddings.
Package vectorstores contains the implementation of VectorStore, an interface for saving and querying documents as vector embeddings.
langchaingo/vectorstores/chroma
Package chroma contains an implementation of the VectorStore interface that connects to an external Chroma database.
Package chroma contains an implementation of the VectorStore interface that connects to an external Chroma database.
langchaingo/vectorstores/pgvector
Package pgvector contains an implementation of the VectorStore interface using pgvector.
Package pgvector contains an implementation of the VectorStore interface using pgvector.
langchaingo/vectorstores/pinecone
Package pinecone contains an implementation of the VectorStore interface using pinecone.
Package pinecone contains an implementation of the VectorStore interface using pinecone.
langchaingo/vectorstores/qdrant
Package qdrant contains an implementation of the VectorStore interface using Qdrant.
Package qdrant contains an implementation of the VectorStore interface using Qdrant.
langchaingo/vectorstores/redisvector
Package redisvector contains an implementation of the VectorStore interface using redisvector.
Package redisvector contains an implementation of the VectorStore interface using redisvector.
langchaingo/vectorstores/weaviate
Package weaviate contains an implementation of the VectorStore interface using weaviate.
Package weaviate contains an implementation of the VectorStore interface using weaviate.
tools
gendata command
Package ui holds the built admin frontend.
Package ui holds the built admin frontend.
uc command
vendors

Jump to

Keyboard shortcuts

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