{"version":1,"pages":[{"id":"erDX5ekGplXugpQliLIB","title":"Introduction","pathname":"/","siteSpaceId":"sitesp_UfyFA","icon":"house-chimney-heart","description":"BoxLang AI is a comprehensive library that brings enterprise-grade artificial intelligence capabilities to the JVM ecosystem. Whether you're building chatbots, content generators, code assistants, RAG"},{"id":"uUudLzMcQnmeABrU0ICZ","title":"Release History","pathname":"/readme/release-history","siteSpaceId":"sitesp_UfyFA","icon":"space-awesome","description":"All the major information about BoxLang AI Releases","breadcrumbs":[{"label":"Introduction","icon":"house-chimney-heart"}]},{"id":"feDZDH62EYYZIhorwtsK","title":"3.2.0","pathname":"/readme/release-history/3.2.0","siteSpaceId":"sitesp_UfyFA","icon":"star","description":"BoxLang AI Module 3.2.0 — Image Generation, Web Search, Fluent Audio Builders, Agent Registry, MCP Observability & more.","breadcrumbs":[{"label":"Introduction","icon":"house-chimney-heart"},{"label":"Release History","icon":"space-awesome"}]},{"id":"DAk6ggIqJjRFCXXgHopS","title":"3.1.0","pathname":"/readme/release-history/3.1.0","siteSpaceId":"sitesp_UfyFA","icon":"star","description":"BoxLang AI Module 3.1.0 — Audio, Async, Parallel Pipelines, and more.","breadcrumbs":[{"label":"Introduction","icon":"house-chimney-heart"},{"label":"Release History","icon":"space-awesome"}]},{"id":"1mi9OI0HXgyYKXeEpr1G","title":"3.0.0","pathname":"/readme/release-history/3.0.0","siteSpaceId":"sitesp_UfyFA","icon":"star","description":"BoxLang AI Module v3.0.0 — a major update introducing the new AI Skills system, MCP server seeding, tool registry, provider capability system, agent hierarchy, middleware support, and more.","breadcrumbs":[{"label":"Introduction","icon":"house-chimney-heart"},{"label":"Release History","icon":"space-awesome"}]},{"id":"UalCjulQfokzoG9Qke10","title":"2.4.0","pathname":"/readme/release-history/2.4.0","siteSpaceId":"sitesp_UfyFA","icon":"star","description":"BoxLang AI Module v2.4.0 Release Notes - MiniMax AI Provider, Configuration Security, and Stability Fixes","breadcrumbs":[{"label":"Introduction","icon":"house-chimney-heart"},{"label":"Release History","icon":"space-awesome"}]},{"id":"CH9zYp8eSVtQEeLBpwZD","title":"2.3.0","pathname":"/readme/release-history/2.3.0","siteSpaceId":"sitesp_UfyFA","icon":"wrench","description":"BoxLang AI Module v2.3.0 Release Notes - Pipeline System Variables, Enhanced Transformers, and Tool Calling Improvements","breadcrumbs":[{"label":"Introduction","icon":"house-chimney-heart"},{"label":"Release History","icon":"space-awesome"}]},{"id":"DWN6uDXd2B2JcvfNZ4Ov","title":"2.2.0","pathname":"/readme/release-history/2.2.0","siteSpaceId":"sitesp_UfyFA","icon":"bug-slash","description":"BoxLang AI Module v2.2.0 Release Notes - Enhanced Performance Monitoring, Configuration Consolidation, and Bug Fixes","breadcrumbs":[{"label":"Introduction","icon":"house-chimney-heart"},{"label":"Release History","icon":"space-awesome"}]},{"id":"bhWxK9cBKS8oh2sstnOa","title":"2.1.0","pathname":"/readme/release-history/2.1.0","siteSpaceId":"sitesp_UfyFA","icon":"sparkles","description":"BoxLang AI Module v2.1.0 Release Notes - Multi-Tenant Tracking, OpenSearch Vector Memory, Bedrock Streaming, and Provider Configuration","breadcrumbs":[{"label":"Introduction","icon":"house-chimney-heart"},{"label":"Release History","icon":"space-awesome"}]},{"id":"1JJPmVuzGfeTq11J78cl","title":"2.0.0","pathname":"/readme/release-history/2.0.0","siteSpaceId":"sitesp_UfyFA","icon":"sparkles","description":"BoxLang AI Module v2.0.0 Release Notes - Document Loaders, MCP Security, Multiple Provider Support, and Embeddings","breadcrumbs":[{"label":"Introduction","icon":"house-chimney-heart"},{"label":"Release History","icon":"space-awesome"}]},{"id":"ag55IISOr95K6bv8LTWL","title":"1.0.0","pathname":"/readme/release-history/1.0.0","siteSpaceId":"sitesp_UfyFA","icon":"sparkles","description":"March 2025","breadcrumbs":[{"label":"Introduction","icon":"house-chimney-heart"},{"label":"Release History","icon":"space-awesome"}]},{"id":"GnCHtZ1mt6hVk0xQLSVl","title":"FAQ","pathname":"/readme/faq","siteSpaceId":"sitesp_UfyFA","icon":"circle-question","description":"Frequently asked questions about BoxLang AI - answers to common questions about costs, providers, performance, and usage.","breadcrumbs":[{"label":"Introduction","icon":"house-chimney-heart"}]},{"id":"Mp79bOFs6oFe32IaRJdZ","title":"Overview","pathname":"/getting-started/getting-started","siteSpaceId":"sitesp_UfyFA","icon":"crosshairs-simple","description":"The easiest way to build AI-powered applications, and autonomous agents on the JVM. Connect to OpenAI, Claude, Gemini, and more with under 10 lines of code.","breadcrumbs":[{"label":"Getting Started"}]},{"id":"0aMjFdZMZvWFsLDeINt3","title":"installation","pathname":"/getting-started/installation","siteSpaceId":"sitesp_UfyFA","icon":"download","description":"Quick installation guide for BoxLang AI module.","breadcrumbs":[{"label":"Getting Started"}]},{"id":"OzkqvMSpsaiEcSSnJTZ0","title":"Provider Setup & Configuration","pathname":"/getting-started/installation/provider-setup","siteSpaceId":"sitesp_UfyFA","icon":"puzzle-piece","description":"Comprehensive guide to configuring AI providers in BoxLang AI - from API keys to local deployment with Ollama.","breadcrumbs":[{"label":"Getting Started"},{"label":"installation","icon":"download"}]},{"id":"3w4CF9WVYOrioo58oBnU","title":"Quick Start Guide","pathname":"/getting-started/quickstart","siteSpaceId":"sitesp_UfyFA","icon":"circle-play","description":"Complete quick start guide for BoxLang AI - from basic chatting to advanced agents, RAG, and pipelines.","breadcrumbs":[{"label":"Getting Started"}]},{"id":"nSOf4xFknrjZDYfSEwJq","title":"Key Concepts","pathname":"/getting-started/concepts","siteSpaceId":"sitesp_UfyFA","icon":"book","description":"Essential concepts and terminology for understanding BoxLang AI - your guide to AI, embeddings, RAG, and more.","breadcrumbs":[{"label":"Getting Started"}]},{"id":"AC56sVpVl9PWbubZEGHw","title":"Overview","pathname":"/main-components/main-components","siteSpaceId":"sitesp_UfyFA","icon":"puzzle-piece","description":"Core building blocks for AI agents and pipelines in BoxLang - your guide to mastering AI development","breadcrumbs":[{"label":"Main Components"}]},{"id":"X6AzxnSSgcR79eHYPRBz","title":"Chatting","pathname":"/main-components/chatting","siteSpaceId":"sitesp_UfyFA","icon":"messages","description":"Learn how to use the productive BoxLang AI chatting features for building conversational AI applications with ease.","breadcrumbs":[{"label":"Main Components"}]},{"id":"nZK2JrICa9wUrwSUN2IT","title":"Basic Chatting","pathname":"/main-components/chatting/basic-chatting","siteSpaceId":"sitesp_UfyFA","icon":"message","description":"Learn the fundamentals of interacting with AI using simple, straightforward chat requests.","breadcrumbs":[{"label":"Main Components"},{"label":"Chatting","icon":"messages"}]},{"id":"DLAqHeKlnSPE4bbPkpic","title":"Advanced Chatting","pathname":"/main-components/chatting/advanced-chatting","siteSpaceId":"sitesp_UfyFA","icon":"user-ninja","description":"Master advanced AI interaction techniques including multi-turn conversations, AI tools, async operations, and streaming responses.","breadcrumbs":[{"label":"Main Components"},{"label":"Chatting","icon":"messages"}]},{"id":"61WHsQmum3OnW3gWAirl","title":"Service-Level Chatting","pathname":"/main-components/chatting/service-chatting","siteSpaceId":"sitesp_UfyFA","icon":"bus","description":"Take full control of AI interactions with service-level chatting in BoxLang, ideal for advanced use cases requiring custom configurations and multiple providers.","breadcrumbs":[{"label":"Main Components"},{"label":"Chatting","icon":"messages"}]},{"id":"jym2CoRMkmWfWWzHwmaw","title":"Structured Output","pathname":"/main-components/chatting/structured-output","siteSpaceId":"sitesp_UfyFA","icon":"box","description":"Get type-safe, validated responses from AI using BoxLang classes, struct templates, or JSON schemas. Eliminate manual parsing with automatic data extraction.","breadcrumbs":[{"label":"Main Components"},{"label":"Chatting","icon":"messages"}]},{"id":"7kEhfjIDJypKVx8JzQsg","title":"AI Skills","pathname":"/main-components/skills","siteSpaceId":"sitesp_UfyFA","icon":"graduation-cap","description":"Skills are reusable markdown instruction files that can be injected into agent context automatically or loaded on demand.","breadcrumbs":[{"label":"Main Components"}]},{"id":"5xGjbgpsBO8HL22jFrnU","title":"AI Tools","pathname":"/main-components/tools","siteSpaceId":"sitesp_UfyFA","icon":"wrench","description":"Create AI tools that enable function calling, letting AI models access real-time data, perform calculations, and interact with your systems.","breadcrumbs":[{"label":"Main Components"}]},{"id":"FC2eQGivX8z7zKHh0K1z","title":"Tool Registry","pathname":"/main-components/tool-registry","siteSpaceId":"sitesp_UfyFA","icon":"toolbox","description":"A centralized registry for discovering, registering, and resolving AI tools across modules and classes.","breadcrumbs":[{"label":"Main Components"}]},{"id":"Qit2AiIo3DJjgdOxf36F","title":"Middleware","pathname":"/main-components/middleware","siteSpaceId":"sitesp_UfyFA","icon":"filter","description":"Intercept, modify, log, retry, and guard agent execution at every stage using the middleware pipeline.","breadcrumbs":[{"label":"Main Components"}]},{"id":"0eOIxhp0UhAKVmtarAiB","title":"AI Agents","pathname":"/main-components/agents","siteSpaceId":"sitesp_UfyFA","icon":"robot","description":"AI Agents are autonomous entities that reason, use tools, and maintain conversation memory to handle complex AI workflows.","breadcrumbs":[{"label":"Main Components"}]},{"id":"5WtyV3EZxVxZAUY4MQD8","title":"Getting Started","pathname":"/main-components/agents/getting-started","siteSpaceId":"sitesp_UfyFA","icon":"rocket","description":"How to create and configure AI agents — from simple assistants to full-featured agents with custom models, tools, and v3.0 skills.","breadcrumbs":[{"label":"Main Components"},{"label":"AI Agents","icon":"robot"}]},{"id":"PSbjV3EyTqdTcrAMMTpO","title":"Class-Based Agents","pathname":"/main-components/agents/class-based-agents","siteSpaceId":"sitesp_UfyFA","icon":"boxes-stacked","description":"Build reusable, encapsulated agents by extending the AiAgent class instead of configuring everything inline with the aiAgent() BIF.","breadcrumbs":[{"label":"Main Components"},{"label":"AI Agents","icon":"robot"}]},{"id":"iIJTPeAPpRi77gpfpYWY","title":"Memory Management","pathname":"/main-components/agents/memory","siteSpaceId":"sitesp_UfyFA","icon":"brain","description":"Agent memory management — from simple window memory to vector-backed RAG, per-call identity routing, multi-tenant tracking, and suspend/resume.","breadcrumbs":[{"label":"Main Components"},{"label":"AI Agents","icon":"robot"}]},{"id":"hCEXkMlMWN6z0x5eVT1X","title":"Tools & MCP","pathname":"/main-components/agents/tools-and-mcp","siteSpaceId":"sitesp_UfyFA","icon":"wrench","description":"Tools, the Global Tool Registry, MCP server seeding, and the ClosureTool pattern for building AI agents with real-world capabilities.","breadcrumbs":[{"label":"Main Components"},{"label":"AI Agents","icon":"robot"}]},{"id":"bzBPiV5Nj6HArUCShNJZ","title":"Skills","pathname":"/main-components/agents/skills","siteSpaceId":"sitesp_UfyFA","icon":"book-open","description":"Skills inject reusable domain knowledge into an agent's system context — either always-on or lazily loaded on demand.","breadcrumbs":[{"label":"Main Components"},{"label":"AI Agents","icon":"robot"}]},{"id":"iEdtr8vTJ1d1hUvt8Eis","title":"Middleware","pathname":"/main-components/agents/middleware","siteSpaceId":"sitesp_UfyFA","icon":"filter","description":"Middleware hooks let you intercept agent lifecycle events for logging, retry, guardrails, tool control, and human-in-the-loop patterns.","breadcrumbs":[{"label":"Main Components"},{"label":"AI Agents","icon":"robot"}]},{"id":"9J2290SKdyYHFZo3Coq3","title":"Sub-Agents & Hierarchy","pathname":"/main-components/agents/hierarchy","siteSpaceId":"sitesp_UfyFA","icon":"sitemap","description":"Sub-agents allow parent agents to delegate tasks to specialized child agents, enabling complex multi-agent orchestration patterns.","breadcrumbs":[{"label":"Main Components"},{"label":"AI Agents","icon":"robot"}]},{"id":"d4lCSf1kKeiUbeAKG7cN","title":"Streaming","pathname":"/main-components/agents/streaming","siteSpaceId":"sitesp_UfyFA","icon":"wave-pulse","description":"Stream agent responses in real-time using callback-based chunk delivery.","breadcrumbs":[{"label":"Main Components"},{"label":"AI Agents","icon":"robot"}]},{"id":"sxv4piujbRZvDnKvo0cj","title":"RAG & Document Loading","pathname":"/main-components/agents/rag","siteSpaceId":"sitesp_UfyFA","icon":"books","description":"Using document loaders and vector memory with agents to provide grounded, factual responses from your knowledge base.","breadcrumbs":[{"label":"Main Components"},{"label":"AI Agents","icon":"robot"}]},{"id":"8aUxC1KORWpL9yBiGy4k","title":"Transformers","pathname":"/main-components/agents/transformers","siteSpaceId":"sitesp_UfyFA","icon":"arrow-right-arrow-left","description":"Using transformers with agents to process inputs and outputs, enabling structured extraction and multi-stage pipelines.","breadcrumbs":[{"label":"Main Components"},{"label":"AI Agents","icon":"robot"}]},{"id":"n9zQJJ31VV3FnJuC7t7l","title":"Advanced Patterns","pathname":"/main-components/agents/advanced","siteSpaceId":"sitesp_UfyFA","icon":"gears","description":"Advanced agent patterns: pipeline integration, dynamic tools, introspection, event interception, and best practices.","breadcrumbs":[{"label":"Main Components"},{"label":"AI Agents","icon":"robot"}]},{"id":"bv3XTWSW0vS1LqdxpBJf","title":"Message Templates","pathname":"/main-components/messages","siteSpaceId":"sitesp_UfyFA","icon":"message","description":"Build reusable, dynamic prompts with placeholders that get filled in at runtime. Message templates are the foundation of flexible AI pipelines.","breadcrumbs":[{"label":"Main Components"}]},{"id":"Yrs8Cvp58Xog8s7DMm38","title":"Message Context","pathname":"/main-components/messages/message-context","siteSpaceId":"sitesp_UfyFA","emoji":"1f510","description":"","breadcrumbs":[{"label":"Main Components"},{"label":"Message Templates","icon":"message"}]},{"id":"onopX2GD5CUlGEWTBW1N","title":"Transformers & Return Formats","pathname":"/main-components/transformers","siteSpaceId":"sitesp_UfyFA","icon":"arrow-right-arrow-left","description":"The guide to data transformation between AI pipeline steps using built-in return formats and custom transformers.","breadcrumbs":[{"label":"Main Components"}]},{"id":"3tTbvRmBckckpAPDPzHJ","title":"Memory Systems","pathname":"/main-components/memory","siteSpaceId":"sitesp_UfyFA","icon":"memory","description":"Comprehensive guide on using standard memory systems in BoxLang AI for conversation history and context retention.","breadcrumbs":[{"label":"Main Components"}]},{"id":"05Vksexr5fPPOoZ0Vxq8","title":"Multi-Tenant Memory Guide","pathname":"/main-components/memory/multi-tenant-memory","siteSpaceId":"sitesp_UfyFA","icon":"users-gear","description":"Enterprise guide to implementing multi-tenant memory isolation in BoxLang AI applications","breadcrumbs":[{"label":"Main Components"},{"label":"Memory Systems","icon":"memory"}]},{"id":"bwsTChHNTwm3Ra9TLPiy","title":"Vector Memory Systems","pathname":"/main-components/memory/vector-memory","siteSpaceId":"sitesp_UfyFA","icon":"brain-circuit","description":"Comprehensive guide to vector memory systems for semantic search and retrieval in BoxLang AI applications.","breadcrumbs":[{"label":"Main Components"},{"label":"Memory Systems","icon":"memory"}]},{"id":"Eeyo3KfkSKQ9wbC47qxf","title":"Audio/Speech & Transcription","pathname":"/main-components/audio","siteSpaceId":"sitesp_UfyFA","icon":"volume-high","description":"Convert text to speech, transcribe audio to text, and translate spoken audio to English — all through a unified BIF interface across multiple AI providers.","breadcrumbs":[{"label":"Main Components"}]},{"id":"VRmgOckx0A0InvYgHjd6","title":"Text-to-Speech","pathname":"/main-components/audio/text-to-speech","siteSpaceId":"sitesp_UfyFA","icon":"microphone","description":"Convert any text to natural-sounding audio using AI providers. aiSpeak() returns binary audio data wrapped in an AiSpeechResponse with helpers for saving, encoding, and streaming.","breadcrumbs":[{"label":"Main Components"},{"label":"Audio/Speech & Transcription","icon":"volume-high"}]},{"id":"EvSAd7Urhc3b9k69kGHv","title":"Speech-to-Text","pathname":"/main-components/audio/speech-to-text","siteSpaceId":"sitesp_UfyFA","icon":"waveform-lines","description":"Transcribe audio files, URLs, or binary data into text using AI providers. aiTranscribe() auto-detects the input type and optionally returns rich metadata including word-level timestamps, segments, an","breadcrumbs":[{"label":"Main Components"},{"label":"Audio/Speech & Transcription","icon":"volume-high"}]},{"id":"Dwipd4R9j6oaauZYZnac","title":"Audio Translation","pathname":"/main-components/audio/audio-translation","siteSpaceId":"sitesp_UfyFA","icon":"language","description":"Translate spoken audio from any language directly into English text using AI providers. aiTranslate() is distinct from text translation — it converts speech to English in a single transcription step.","breadcrumbs":[{"label":"Main Components"},{"label":"Audio/Speech & Transcription","icon":"volume-high"}]},{"id":"F2chGDoHZi5YacybQqAZ","title":"Image Generation","pathname":"/main-components/image-generation","siteSpaceId":"sitesp_UfyFA","icon":"image","description":"Generate images from text prompts using AI providers. aiImage() supports OpenAI, Gemini, Grok, and OpenRouter with consistent parameters and fluent response handling.","breadcrumbs":[{"label":"Main Components"}]},{"id":"LzZ6as5UknFL8ykTFXmj","title":"Generating Images","pathname":"/main-components/image-generation/generating","siteSpaceId":"sitesp_UfyFA","icon":"wand-magic-sparkles","description":"Generate images from text prompts using aiImage(). Learn about parameters, options, provider-specific settings, and configuration.","breadcrumbs":[{"label":"Main Components"},{"label":"Image Generation","icon":"image"}]},{"id":"NLnmlIjBsS28EQqr4UX9","title":"Image Response & Formats","pathname":"/main-components/image-generation/response-formats","siteSpaceId":"sitesp_UfyFA","icon":"file-image","description":"The AiImageResponse object wraps generated images with methods for saving, encoding, embedding, and inspecting metadata.","breadcrumbs":[{"label":"Main Components"},{"label":"Image Generation","icon":"image"}]},{"id":"yyf6Nqb1vkv7FNLX9kgB","title":"Image Agent Tools","pathname":"/main-components/image-generation/agent-tools","siteSpaceId":"sitesp_UfyFA","icon":"robot","description":"The generateImage@bxai built-in agent tool enables AI agents to generate images from text prompts and return file paths.","breadcrumbs":[{"label":"Main Components"},{"label":"Image Generation","icon":"image"}]},{"id":"B4M4meLBPNAxYcN4Y1S4","title":"Web Search","pathname":"/main-components/web-search","siteSpaceId":"sitesp_UfyFA","icon":"magnifying-glass","description":"Web search integration for AI agents - 5 providers, real-time internet access, RAG enhancement","breadcrumbs":[{"label":"Main Components"}]},{"id":"eLCVbNnIzpaBCRY980f4","title":"Getting Started","pathname":"/main-components/web-search/getting-started","siteSpaceId":"sitesp_UfyFA","icon":"rocket","description":"Getting started with web search - basic usage, async patterns, agent integration","breadcrumbs":[{"label":"Main Components"},{"label":"Web Search","icon":"magnifying-glass"}]},{"id":"emcdBZga8D2X8Qs8CtZm","title":"Providers","pathname":"/main-components/web-search/providers","siteSpaceId":"sitesp_UfyFA","icon":"globe","description":"Complete provider reference for Web Search in BoxLang AI","breadcrumbs":[{"label":"Main Components"},{"label":"Web Search","icon":"magnifying-glass"}]},{"id":"j0IlkibEoXdWLtbViwZ9","title":"Agent Tools","pathname":"/main-components/web-search/agent-tools","siteSpaceId":"sitesp_UfyFA","icon":"robot","description":"Using web search as an AI agent tool with auto-registration and multi-tool workflows","breadcrumbs":[{"label":"Main Components"},{"label":"Web Search","icon":"magnifying-glass"}]},{"id":"dIqGmSHuw0xpAJeP0yK4","title":"Pipelines","pathname":"/main-components/pipelines","siteSpaceId":"sitesp_UfyFA","icon":"pipe","description":"Build composable AI workflows with runnable pipelines - chain models, messages, and transformers for powerful data processing.","breadcrumbs":[{"label":"Main Components"}]},{"id":"g9tAvXVtE2TGUhf2vrJh","title":"Building Pipelines","pathname":"/main-components/pipelines/building","siteSpaceId":"sitesp_UfyFA","icon":"hammer","description":"Three ways to build pipelines, how data flows through steps, and how to configure parameters and options.","breadcrumbs":[{"label":"Main Components"},{"label":"Pipelines","icon":"pipe"}]},{"id":"irNSRRov6EzYZadjevos","title":"Transform Pipelines","pathname":"/main-components/pipelines/transforms","siteSpaceId":"sitesp_UfyFA","icon":"arrows-rotate","description":"Using transformations to clean, reshape, and enrich data as it flows through a pipeline — before, after, and around AI calls.","breadcrumbs":[{"label":"Main Components"},{"label":"Pipelines","icon":"pipe"}]},{"id":"N7qiBiTW47UnxTcj6t0L","title":"Multi-Model & Multi-Step","pathname":"/main-components/pipelines/multi-model","siteSpaceId":"sitesp_UfyFA","icon":"diagram-project","description":"Multi-step workflows, leveraging different models' strengths, and building reusable pipeline templates.","breadcrumbs":[{"label":"Main Components"},{"label":"Pipelines","icon":"pipe"}]},{"id":"cwmbW6YGg6HidKkA37DI","title":"Structured Output","pathname":"/main-components/pipelines/structured-output","siteSpaceId":"sitesp_UfyFA","icon":"box","description":"Use structured output with AI pipelines for type-safe, composable workflows. Combine the power of runnables with guaranteed data structures for robust AI applications.","breadcrumbs":[{"label":"Main Components"},{"label":"Pipelines","icon":"pipe"}]},{"id":"O054WqBJEmICJZDZLl1B","title":"Streaming","pathname":"/main-components/pipelines/streaming","siteSpaceId":"sitesp_UfyFA","icon":"signal-stream","description":"Stream data through AI pipelines in real-time for responsive applications.","breadcrumbs":[{"label":"Main Components"},{"label":"Pipelines","icon":"pipe"}]},{"id":"4dQNhFsP4lu3vPn7An8A","title":"Advanced Patterns","pathname":"/main-components/pipelines/advanced","siteSpaceId":"sitesp_UfyFA","icon":"screwdriver-wrench","description":"Pipeline events, debugging tools, performance optimization, error handling, and best practices for production use.","breadcrumbs":[{"label":"Main Components"},{"label":"Pipelines","icon":"pipe"}]},{"id":"yHo2EcyNMRwHYCvyLrje","title":"MCP Servers","pathname":"/model-context-protocol-mcp/server","siteSpaceId":"sitesp_UfyFA","icon":"server","description":"","breadcrumbs":[{"label":"Model Context Protocol (MCP)"}]},{"id":"EaCzuSD9AYRhspm8qAXB","title":"Getting Started","pathname":"/model-context-protocol-mcp/server/getting-started","siteSpaceId":"sitesp_UfyFA","icon":"rocket","description":"","breadcrumbs":[{"label":"Model Context Protocol (MCP)"},{"label":"MCP Servers","icon":"server"}]},{"id":"j7oy5Ov2Aq6k9PCfKild","title":"Transports (HTTP & STDIO)","pathname":"/model-context-protocol-mcp/server/transports","siteSpaceId":"sitesp_UfyFA","icon":"network-wired","description":"","breadcrumbs":[{"label":"Model Context Protocol (MCP)"},{"label":"MCP Servers","icon":"server"}]},{"id":"YaFaywo2MagFh4j1ts81","title":"Server Configuration","pathname":"/model-context-protocol-mcp/server/server-configuration","siteSpaceId":"sitesp_UfyFA","icon":"sliders","description":"","breadcrumbs":[{"label":"Model Context Protocol (MCP)"},{"label":"MCP Servers","icon":"server"}]},{"id":"creeLu1wA0yPWzvJnp8b","title":"Registering Tools, Resources & Prompts","pathname":"/model-context-protocol-mcp/server/registration","siteSpaceId":"sitesp_UfyFA","icon":"list-check","description":"","breadcrumbs":[{"label":"Model Context Protocol (MCP)"},{"label":"MCP Servers","icon":"server"}]},{"id":"kxVss4KLvHFZ0aWeHnv7","title":"Annotation-Based Discovery","pathname":"/model-context-protocol-mcp/server/annotation-discovery","siteSpaceId":"sitesp_UfyFA","icon":"wand-magic-sparkles","description":"","breadcrumbs":[{"label":"Model Context Protocol (MCP)"},{"label":"MCP Servers","icon":"server"}]},{"id":"lnXmmZzVhj7P8lWuIqJG","title":"Class-Based Servers","pathname":"/model-context-protocol-mcp/server/class-based-servers","siteSpaceId":"sitesp_UfyFA","icon":"building","description":"","breadcrumbs":[{"label":"Model Context Protocol (MCP)"},{"label":"MCP Servers","icon":"server"}]},{"id":"j0rqQ0Z8aEdKO4hsNV4f","title":"HTTP Endpoint & Routing","pathname":"/model-context-protocol-mcp/server/http-endpoint","siteSpaceId":"sitesp_UfyFA","icon":"globe","description":"","breadcrumbs":[{"label":"Model Context Protocol (MCP)"},{"label":"MCP Servers","icon":"server"}]},{"id":"NsINLfTmetxqGTrMZZST","title":"Observability & Monitoring","pathname":"/model-context-protocol-mcp/server/observability","siteSpaceId":"sitesp_UfyFA","icon":"chart-line","description":"","breadcrumbs":[{"label":"Model Context Protocol (MCP)"},{"label":"MCP Servers","icon":"server"}]},{"id":"gV37WZ5otj1IW4OtqB53","title":"Pause & Resume","pathname":"/model-context-protocol-mcp/server/pause-resume","siteSpaceId":"sitesp_UfyFA","description":"","breadcrumbs":[{"label":"Model Context Protocol (MCP)"},{"label":"MCP Servers","icon":"server"}]},{"id":"aGoePcWvYNgmcEA6zHK7","title":"Best Practices","pathname":"/model-context-protocol-mcp/server/best-practices","siteSpaceId":"sitesp_UfyFA","icon":"star","description":"","breadcrumbs":[{"label":"Model Context Protocol (MCP)"},{"label":"MCP Servers","icon":"server"}]},{"id":"7KkiewVnnNYj8na0olcx","title":"Examples & Use Cases","pathname":"/model-context-protocol-mcp/server/_examples","siteSpaceId":"sitesp_UfyFA","icon":"code","description":"","breadcrumbs":[{"label":"Model Context Protocol (MCP)"},{"label":"MCP Servers","icon":"server"}]},{"id":"rejTkCF7o2yOuOmH43pX","title":"MCP Clients","pathname":"/model-context-protocol-mcp/client","siteSpaceId":"sitesp_UfyFA","icon":"plug","description":"","breadcrumbs":[{"label":"Model Context Protocol (MCP)"}]},{"id":"OkN3bhRCy6A3QmPMAJY9","title":"Embeddings","pathname":"/rag/embeddings","siteSpaceId":"sitesp_UfyFA","icon":"objects-column","description":"","breadcrumbs":[{"label":"RAG"}]},{"id":"eX0ISVfSVtCd04FbRQDd","title":"Document Loaders","pathname":"/rag/document-loaders","siteSpaceId":"sitesp_UfyFA","icon":"books","description":"","breadcrumbs":[{"label":"RAG"}]},{"id":"eEYaQ9QG0YktICsYRAIp","title":"RAG (Retrieval-Augmented Generation)","pathname":"/rag/rag","siteSpaceId":"sitesp_UfyFA","icon":"brain-circuit","description":"Complete guide to implementing Retrieval-Augmented Generation (RAG) workflows in BoxLang AI.","breadcrumbs":[{"label":"RAG"}]},{"id":"tkJnZ3jJTQcirG3EKGnc","title":"Working with Models","pathname":"/advanced/models","siteSpaceId":"sitesp_UfyFA","icon":"brain","description":"The comprehensive guide to working with AI models in BoxLang, covering creation, configuration, pipeline integration, parameters, options, and advanced usage.","breadcrumbs":[{"label":"Advanced"}]},{"id":"eFM9mEWn9KFnOIkHREBx","title":"Event System","pathname":"/advanced/events","siteSpaceId":"sitesp_UfyFA","icon":"bullhorn","description":"","breadcrumbs":[{"label":"Advanced"}]},{"id":"m4tkhEuFzt8iqc3cZEvI","title":"Utility Functions","pathname":"/advanced/utilities","siteSpaceId":"sitesp_UfyFA","emoji":"1f6e0","description":"","breadcrumbs":[{"label":"Advanced"}]},{"id":"pnWqa8QvXLBaBKj7OjO2","title":"Reference","pathname":"/advanced/reference","siteSpaceId":"sitesp_UfyFA","icon":"books","description":"Reference documentation for BoxLang AI module","breadcrumbs":[{"label":"Advanced"}]},{"id":"iRADkqZGdHOX4zHiTwS4","title":"Built-In Functions Reference","pathname":"/advanced/reference/built-in-functions","siteSpaceId":"sitesp_UfyFA","description":"Reference documentation for built-in functions in BoxLang AI module","breadcrumbs":[{"label":"Advanced"},{"label":"Reference","icon":"books"}]},{"id":"t0c607dKMB4P1ss8FSwV","title":"MCP","pathname":"/advanced/reference/built-in-functions/mcp","siteSpaceId":"sitesp_UfyFA","description":"","breadcrumbs":[{"label":"Advanced"},{"label":"Reference","icon":"books"},{"label":"Built-In Functions Reference"}]},{"id":"W0oJA5xO6XaKpCb8AexL","title":"MCPServer","pathname":"/advanced/reference/built-in-functions/mcpserver","siteSpaceId":"sitesp_UfyFA","description":"","breadcrumbs":[{"label":"Advanced"},{"label":"Reference","icon":"books"},{"label":"Built-In Functions Reference"}]},{"id":"X6z1FMZgwEpFNHAz1x37","title":"aiAgent","pathname":"/advanced/reference/built-in-functions/aiagent","siteSpaceId":"sitesp_UfyFA","description":"","breadcrumbs":[{"label":"Advanced"},{"label":"Reference","icon":"books"},{"label":"Built-In Functions Reference"}]},{"id":"Y6pJ97Cql6EFmBux23AC","title":"aiChat","pathname":"/advanced/reference/built-in-functions/aichat","siteSpaceId":"sitesp_UfyFA","description":"","breadcrumbs":[{"label":"Advanced"},{"label":"Reference","icon":"books"},{"label":"Built-In Functions Reference"}]},{"id":"imHfMiUWBQpPuteFvkH6","title":"aiChatAsync","pathname":"/advanced/reference/built-in-functions/aichatasync","siteSpaceId":"sitesp_UfyFA","description":"","breadcrumbs":[{"label":"Advanced"},{"label":"Reference","icon":"books"},{"label":"Built-In Functions Reference"}]},{"id":"lgS21vqx91RhzZUA8nNB","title":"aiChatRequest","pathname":"/advanced/reference/built-in-functions/aichatrequest","siteSpaceId":"sitesp_UfyFA","description":"","breadcrumbs":[{"label":"Advanced"},{"label":"Reference","icon":"books"},{"label":"Built-In Functions Reference"}]},{"id":"d1ZobkCz0y4TSfpQqJKk","title":"aiChatStream","pathname":"/advanced/reference/built-in-functions/aichatstream","siteSpaceId":"sitesp_UfyFA","description":"","breadcrumbs":[{"label":"Advanced"},{"label":"Reference","icon":"books"},{"label":"Built-In Functions Reference"}]},{"id":"FySXAGz4dTp9U5jqoJ9a","title":"aiChunk","pathname":"/advanced/reference/built-in-functions/aichunk","siteSpaceId":"sitesp_UfyFA","description":"","breadcrumbs":[{"label":"Advanced"},{"label":"Reference","icon":"books"},{"label":"Built-In Functions Reference"}]},{"id":"LzRzvGcocSLhxF5f5e2i","title":"aiDocuments","pathname":"/advanced/reference/built-in-functions/aidocuments","siteSpaceId":"sitesp_UfyFA","description":"","breadcrumbs":[{"label":"Advanced"},{"label":"Reference","icon":"books"},{"label":"Built-In Functions Reference"}]},{"id":"Z9as5lIagoDJWC7OL0p5","title":"aiEmbed","pathname":"/advanced/reference/built-in-functions/aiembed","siteSpaceId":"sitesp_UfyFA","description":"","breadcrumbs":[{"label":"Advanced"},{"label":"Reference","icon":"books"},{"label":"Built-In Functions Reference"}]},{"id":"L6W52EkzQvMKBO3tPa1D","title":"aiMemory","pathname":"/advanced/reference/built-in-functions/aimemory","siteSpaceId":"sitesp_UfyFA","description":"","breadcrumbs":[{"label":"Advanced"},{"label":"Reference","icon":"books"},{"label":"Built-In Functions Reference"}]},{"id":"4g4UilcjZZgO7n8z6b4X","title":"aiMessage","pathname":"/advanced/reference/built-in-functions/aimessage","siteSpaceId":"sitesp_UfyFA","description":"","breadcrumbs":[{"label":"Advanced"},{"label":"Reference","icon":"books"},{"label":"Built-In Functions Reference"}]},{"id":"Fg7eJTVC81BF2Vq6wofJ","title":"aiModel","pathname":"/advanced/reference/built-in-functions/aimodel","siteSpaceId":"sitesp_UfyFA","description":"","breadcrumbs":[{"label":"Advanced"},{"label":"Reference","icon":"books"},{"label":"Built-In Functions Reference"}]},{"id":"xwm3aqsRdduOAlfPWDhV","title":"aiParallel","pathname":"/advanced/reference/built-in-functions/aiparallel","siteSpaceId":"sitesp_UfyFA","description":"","breadcrumbs":[{"label":"Advanced"},{"label":"Reference","icon":"books"},{"label":"Built-In Functions Reference"}]},{"id":"QBN6tVQ6BPyeDPV7sW8d","title":"aiPopulate","pathname":"/advanced/reference/built-in-functions/aipopulate","siteSpaceId":"sitesp_UfyFA","description":"","breadcrumbs":[{"label":"Advanced"},{"label":"Reference","icon":"books"},{"label":"Built-In Functions Reference"}]},{"id":"dzBkVzjZPefPxVFUvTzX","title":"aiService","pathname":"/advanced/reference/built-in-functions/aiservice","siteSpaceId":"sitesp_UfyFA","description":"","breadcrumbs":[{"label":"Advanced"},{"label":"Reference","icon":"books"},{"label":"Built-In Functions Reference"}]},{"id":"sMXU8f9Tz3Is0GiXN1Qf","title":"aiTokens","pathname":"/advanced/reference/built-in-functions/aitokens","siteSpaceId":"sitesp_UfyFA","description":"","breadcrumbs":[{"label":"Advanced"},{"label":"Reference","icon":"books"},{"label":"Built-In Functions Reference"}]},{"id":"OO0rYaYh5uhDmQqNi51O","title":"aiSkill","pathname":"/advanced/reference/built-in-functions/aiskill","siteSpaceId":"sitesp_UfyFA","description":"","breadcrumbs":[{"label":"Advanced"},{"label":"Reference","icon":"books"},{"label":"Built-In Functions Reference"}]},{"id":"YqXbWuodIwyzzuMKdiSR","title":"aiGlobalSkills","pathname":"/advanced/reference/built-in-functions/aiglobalskills","siteSpaceId":"sitesp_UfyFA","description":"","breadcrumbs":[{"label":"Advanced"},{"label":"Reference","icon":"books"},{"label":"Built-In Functions Reference"}]},{"id":"u0IX5AYScakboBm49Lyv","title":"aiSpeak","pathname":"/advanced/reference/built-in-functions/aispeak","siteSpaceId":"sitesp_UfyFA","description":"","breadcrumbs":[{"label":"Advanced"},{"label":"Reference","icon":"books"},{"label":"Built-In Functions Reference"}]},{"id":"h8TXFVlbEpveo8dlBIkB","title":"aiImage","pathname":"/advanced/reference/built-in-functions/aiimage","siteSpaceId":"sitesp_UfyFA","description":"","breadcrumbs":[{"label":"Advanced"},{"label":"Reference","icon":"books"},{"label":"Built-In Functions Reference"}]},{"id":"jD48NtaSDAdAyxArzJoC","title":"aiTranscribe","pathname":"/advanced/reference/built-in-functions/aitranscribe","siteSpaceId":"sitesp_UfyFA","description":"","breadcrumbs":[{"label":"Advanced"},{"label":"Reference","icon":"books"},{"label":"Built-In Functions Reference"}]},{"id":"m4rJeYX3RobvBbEV14O8","title":"aiTranslate","pathname":"/advanced/reference/built-in-functions/aitranslate","siteSpaceId":"sitesp_UfyFA","description":"","breadcrumbs":[{"label":"Advanced"},{"label":"Reference","icon":"books"},{"label":"Built-In Functions Reference"}]},{"id":"iVtoDvfb4M3QYvMY6QBc","title":"aiWebSearch","pathname":"/advanced/reference/built-in-functions/aiwebsearch","siteSpaceId":"sitesp_UfyFA","description":"BoxLang AI aiWebSearch() built-in function reference","breadcrumbs":[{"label":"Advanced"},{"label":"Reference","icon":"books"},{"label":"Built-In Functions Reference"}]},{"id":"PKCcbQbwRZxNNoohSG26","title":"aiWebSearchAsync","pathname":"/advanced/reference/built-in-functions/aiwebsearchasync","siteSpaceId":"sitesp_UfyFA","description":"BoxLang AI aiWebSearchAsync() built-in function reference","breadcrumbs":[{"label":"Advanced"},{"label":"Reference","icon":"books"},{"label":"Built-In Functions Reference"}]},{"id":"bJhZ4kZOtBxSqXCw5Az3","title":"aiAgentRegistry","pathname":"/advanced/reference/built-in-functions/aiagentregistry","siteSpaceId":"sitesp_UfyFA","description":"","breadcrumbs":[{"label":"Advanced"},{"label":"Reference","icon":"books"},{"label":"Built-In Functions Reference"}]},{"id":"TRu7ymLzWnAbK33atLG2","title":"aiToolRegistry","pathname":"/advanced/reference/built-in-functions/aitoolregistry","siteSpaceId":"sitesp_UfyFA","description":"","breadcrumbs":[{"label":"Advanced"},{"label":"Reference","icon":"books"},{"label":"Built-In Functions Reference"}]},{"id":"VszEKlJu9L5tERrdrPNM","title":"aiTool","pathname":"/advanced/reference/built-in-functions/aitool","siteSpaceId":"sitesp_UfyFA","description":"","breadcrumbs":[{"label":"Advanced"},{"label":"Reference","icon":"books"},{"label":"Built-In Functions Reference"}]},{"id":"jP13xLyyMe2dbhkHAv2g","title":"aiTransform","pathname":"/advanced/reference/built-in-functions/aitransform","siteSpaceId":"sitesp_UfyFA","description":"","breadcrumbs":[{"label":"Advanced"},{"label":"Reference","icon":"books"},{"label":"Built-In Functions Reference"}]},{"id":"7jkG4j5eVZepIghzfUMb","title":"Production Deployment","pathname":"/advanced/production","siteSpaceId":"sitesp_UfyFA","icon":"server","description":"Production deployment guide for BoxLang AI - monitoring, error handling, performance optimization, and best practices.","breadcrumbs":[{"label":"Advanced"}]},{"id":"OJqeZ3B1n46lJ6MCgHL5","title":"Security Guide","pathname":"/advanced/security","siteSpaceId":"sitesp_UfyFA","icon":"shield-halved","description":"Security best practices for BoxLang AI - API key management, prompt injection prevention, data privacy, and compliance guidance.","breadcrumbs":[{"label":"Advanced"}]},{"id":"HYTZLHD6BD9Nj6m3OdJP","title":"Building AI Providers","pathname":"/extending-boxlang-ai/custom-providers","siteSpaceId":"sitesp_UfyFA","icon":"plug","description":"Learn how to build custom AI provider integrations to connect any LLM service with BoxLang AI.","breadcrumbs":[{"label":"Extending BoxLang AI"}]},{"id":"BrJrlqb19uftkTdX8I11","title":"Building Transformers","pathname":"/extending-boxlang-ai/custom-transformer","siteSpaceId":"sitesp_UfyFA","icon":"wand-magic-sparkles","description":"Learn how to build custom transformers to process and shape data in BoxLang AI pipelines.","breadcrumbs":[{"label":"Extending BoxLang AI"}]},{"id":"sJsZj6UCRIveMhqPk64V","title":"Building Memory","pathname":"/extending-boxlang-ai/custom-memory","siteSpaceId":"sitesp_UfyFA","icon":"puzzle-piece","description":"Learn how to build custom memory implementations by extending BaseMemory for specialized storage and retrieval requirements.","breadcrumbs":[{"label":"Extending BoxLang AI"}]},{"id":"QoWiNeZ3oTVW0108SnLR","title":"Building Vector Memory","pathname":"/extending-boxlang-ai/custom-vector-memory","siteSpaceId":"sitesp_UfyFA","icon":"memory","description":"","breadcrumbs":[{"label":"Extending BoxLang AI"}]},{"id":"S66rbSx4AOsgVZ6SGdrS","title":"Building Document Loaders","pathname":"/extending-boxlang-ai/custom-loader","siteSpaceId":"sitesp_UfyFA","icon":"puzzle-piece","description":"Learn how to build custom document loaders to integrate any data source into BoxLang AI workflows.","breadcrumbs":[{"label":"Extending BoxLang AI"}]},{"id":"b6msJsAXsB8FwtW9LkfZ","title":"Building Tools","pathname":"/extending-boxlang-ai/custom-tools","siteSpaceId":"sitesp_UfyFA","icon":"wrench-simple","description":"Build reusable, annotated, and class-based tools that your AI agents can call during conversations.","breadcrumbs":[{"label":"Extending BoxLang AI"}]},{"id":"WbSvzwYzUL2TSbAaUqCe","title":"Building Web Search Providers","pathname":"/extending-boxlang-ai/custom-web-search-providers","siteSpaceId":"sitesp_UfyFA","icon":"code","description":"Build custom web search providers by extending BaseSearch and implementing provider-specific search logic","breadcrumbs":[{"label":"Extending BoxLang AI"}]}]}