[{"data":1,"prerenderedAt":1444},["ShallowReactive",2],{"navigation":3,"/build-apps/modules-and-feature-flags":1197,"/build-apps/modules-and-feature-flags-surround":1439},[4,45,67,118,136,209,230],{"title":5,"path":6,"stem":7,"children":8,"icon":10},"Use it","/use","00.use/1.index",[9,11,16,21,26,30,35,40],{"title":5,"path":6,"stem":7,"icon":10},"i-lucide-list-checks",{"title":12,"path":13,"stem":14,"icon":15},"Run a workflow from an assistant","/use/run-from-an-assistant","00.use/2.run-from-an-assistant","i-lucide-bot",{"title":17,"path":18,"stem":19,"icon":20},"Connect a cloud and use it","/use/connect-a-cloud","00.use/3.connect-a-cloud","i-lucide-cloud",{"title":22,"path":23,"stem":24,"icon":25},"Put Orkestia in your app","/use/in-your-app","00.use/4.in-your-app","i-lucide-key-round",{"title":27,"path":28,"stem":29,"icon":15},"Stand up an actor","/use/stand-up-an-actor","00.use/5.stand-up-an-actor",{"title":31,"path":32,"stem":33,"icon":34},"Operate a run","/use/operate-a-run","00.use/6.operate-a-run","i-lucide-activity",{"title":36,"path":37,"stem":38,"icon":39},"Work from the desktop app","/use/work-from-the-desktop-app","00.use/7.work-from-the-desktop-app","i-lucide-app-window",{"title":41,"path":42,"stem":43,"icon":44},"Let an agent use your browser","/use/let-an-agent-use-your-browser","00.use/8.let-an-agent-use-your-browser","i-lucide-globe",{"title":46,"path":47,"stem":48,"children":49,"icon":52},"Getting Started","/getting-started","02.getting-started/1.index",[50,53,58,63],{"title":51,"path":47,"stem":48,"icon":52},"Quick Start","i-lucide-rocket",{"title":54,"path":55,"stem":56,"icon":57},"Architecture Overview","/getting-started/architecture-overview","02.getting-started/2.architecture-overview","i-lucide-layout-dashboard",{"title":59,"path":60,"stem":61,"icon":62},"Concepts at a Glance","/getting-started/concepts","02.getting-started/3.concepts","i-lucide-list",{"title":64,"path":65,"stem":66,"icon":15},"Connect an AI Assistant","/getting-started/connect-an-ai-assistant","02.getting-started/4.connect-an-ai-assistant",{"title":68,"path":69,"stem":70,"children":71,"icon":73},"Guides","/guides","04.guides/1.index",[72,74,79,84,89,94,99,104,109,113],{"title":68,"path":69,"stem":70,"icon":73},"i-lucide-compass",{"title":75,"path":76,"stem":77,"icon":78},"Receive webhooks with a re-query","/guides/webhooks-with-requery","04.guides/10.webhooks-with-requery","i-lucide-webhook",{"title":80,"path":81,"stem":82,"icon":83},"Keep scheduled compositions cheap","/guides/composition-runtime-cost","04.guides/11.composition-runtime-cost","i-lucide-gauge",{"title":85,"path":86,"stem":87,"icon":88},"Building with DGI","/guides/building-with-dgi","04.guides/2.building-with-dgi","i-lucide-brain-circuit",{"title":90,"path":91,"stem":92,"icon":93},"Creating & Exposing Virtual Workflows","/guides/virtual-workflows","04.guides/4.virtual-workflows","i-lucide-blocks",{"title":95,"path":96,"stem":97,"icon":98},"Runner Management & Provisioning","/guides/runner-management","04.guides/5.runner-management","i-lucide-server",{"title":100,"path":101,"stem":102,"icon":103},"Security & Compliance","/guides/security-and-compliance","04.guides/7.security-and-compliance","i-lucide-shield",{"title":105,"path":106,"stem":107,"icon":108},"Tickets & Software Delivery","/guides/tickets-and-software-delivery","04.guides/8.tickets-and-software-delivery","i-lucide-ticket",{"title":110,"path":111,"stem":112},"Orkestia for AI-driven cloud infrastructure automation","/guides/cloud-automation-alternatives","04.guides/9.cloud-automation-alternatives",{"title":114,"path":115,"stem":116,"icon":117},"Typed decisions with TypeSafe","/guides/typed-decisions-with-typesafe","04.guides/9.typed-decisions-with-typesafe","i-lucide-git-branch",{"title":119,"path":120,"stem":121,"children":122,"icon":125},"Introduction","/introduction","01.introduction/1.index",[123,126,131],{"title":124,"path":120,"stem":121,"icon":125},"What is Orkestia?","i-lucide-sparkles",{"title":127,"path":128,"stem":129,"icon":130},"Core Philosophy","/introduction/core-philosophy","01.introduction/2.core-philosophy","i-lucide-shield-check",{"title":132,"path":133,"stem":134,"icon":135},"Key Benefits","/introduction/key-benefits","01.introduction/3.key-benefits","i-lucide-trophy",{"title":137,"path":138,"stem":139,"children":140,"icon":142},"Core Concepts","/concepts","03.concepts/01.index",[141,143,148,153,158,163,167,172,176,181,186,191,195,200,204],{"title":137,"path":138,"stem":139,"icon":142},"i-lucide-book-open",{"title":144,"path":145,"stem":146,"icon":147},"Workflows","/concepts/workflows","03.concepts/02.workflows","i-lucide-workflow",{"title":149,"path":150,"stem":151,"icon":152},"DGI — Dialog Generative Interface","/concepts/dgi","03.concepts/03.dgi","i-lucide-brain",{"title":154,"path":155,"stem":156,"icon":157},"How DGI works","/concepts/dgi-how-it-works","03.concepts/03.dgi-how-it-works","i-lucide-cpu",{"title":159,"path":160,"stem":161,"icon":162},"Staff & AI Workforce Governance","/concepts/staff-governance","03.concepts/04.staff-governance","i-lucide-users-round",{"title":164,"path":165,"stem":166,"icon":15},"Agents — the execution substrate","/concepts/agents-platform","03.concepts/05.agents-platform",{"title":168,"path":169,"stem":170,"icon":171},"Runners & Execution Environments","/concepts/runners","03.concepts/06.runners","i-lucide-server-cog",{"title":173,"path":174,"stem":175,"icon":34},"Lumen Observability","/concepts/lumen","03.concepts/07.lumen",{"title":177,"path":178,"stem":179,"icon":180},"Identity & Multi-Tenancy","/concepts/identity-multi-tenancy","03.concepts/08.identity-multi-tenancy","i-lucide-users",{"title":182,"path":183,"stem":184,"icon":185},"Billing, Pricing & Seats","/concepts/billing-and-seats","03.concepts/09.billing-and-seats","i-lucide-credit-card",{"title":187,"path":188,"stem":189,"icon":190},"App Data","/concepts/appdata","03.concepts/10.appdata","i-lucide-database",{"title":192,"path":193,"stem":194,"icon":152},"Engram","/concepts/engram","03.concepts/11.engram",{"title":196,"path":197,"stem":198,"icon":199},"DevKit","/concepts/devkit","03.concepts/12.devkit","i-lucide-terminal",{"title":201,"path":202,"stem":203,"icon":44},"App Host","/concepts/app-host","03.concepts/13.app-host",{"title":205,"path":206,"stem":207,"icon":208},"Agent Exchange","/concepts/agent-exchange","03.concepts/14.agent-exchange","i-lucide-landmark",{"title":210,"path":211,"stem":212,"children":213,"icon":215},"Reference","/reference","05.reference/1.index",[214,216,221,225],{"title":210,"path":211,"stem":212,"icon":215},"i-lucide-library",{"title":217,"path":218,"stem":219,"icon":220},"MCP Integration","/reference/mcp-integration","05.reference/3.mcp-integration","i-lucide-plug-zap",{"title":222,"path":223,"stem":224,"icon":199},"API & Tooling","/reference/api-tooling","05.reference/4.api-tooling",{"title":226,"path":227,"stem":228,"icon":229},"Platform Services","/reference/platform-services","05.reference/7.platform-services","i-lucide-boxes",{"title":231,"path":232,"icon":215,"children":233},"Product pages","/product-pages",[234,261,282,311,346,369,412,439,472,495,565,590,636,650,672,742,785,808,820,910,938,986,1013,1049,1135,1153,1165,1184,1191],{"title":235,"path":236,"stem":237,"children":238,"icon":240},"Advanced Topics","/advanced","06.advanced/1.index",[239,241,246,251,256],{"title":235,"path":236,"stem":237,"icon":240},"i-lucide-flask-conical",{"title":242,"path":243,"stem":244,"icon":245},"Hybrid AI + Deterministic Execution","/advanced/hybrid-execution-model","06.advanced/2.hybrid-execution-model","i-lucide-git-merge",{"title":247,"path":248,"stem":249,"icon":250},"Drift Detection & Self-Healing","/advanced/drift-detection-self-healing","06.advanced/3.drift-detection-self-healing","i-lucide-heart-pulse",{"title":252,"path":253,"stem":254,"icon":255},"Governance & Approvals","/advanced/governance-and-approvals","06.advanced/4.governance-and-approvals","i-lucide-scale",{"title":257,"path":258,"stem":259,"icon":260},"Cost & Performance Optimization","/advanced/cost-and-performance","06.advanced/5.cost-and-performance","i-lucide-zap",{"title":262,"path":263,"stem":264,"children":265,"icon":267},"Operations","/operations","07.operations/1.index",[266,268,272,277],{"title":262,"path":263,"stem":264,"icon":267},"i-lucide-settings-2",{"title":269,"path":270,"stem":271,"icon":229},"Deployment Models","/operations/deployment-models","07.operations/2.deployment-models",{"title":273,"path":274,"stem":275,"icon":276},"Monitoring & Debugging","/operations/monitoring-and-debugging","07.operations/3.monitoring-and-debugging","i-lucide-bug",{"title":278,"path":279,"stem":280,"icon":281},"Best Practices","/operations/best-practices","07.operations/4.best-practices","i-lucide-check-check",{"title":283,"path":284,"stem":285,"children":286,"icon":288},"AWS Connections","/aws-connections","08.aws-connections/1.index",[287,289,292,297,302,307],{"title":283,"path":284,"stem":285,"icon":288},"i-simple-icons-amazonaws",{"title":46,"path":290,"stem":291,"icon":52},"/aws-connections/getting-started","08.aws-connections/2.getting-started",{"title":293,"path":294,"stem":295,"icon":296},"Setup Methods","/aws-connections/setup-methods","08.aws-connections/3.setup-methods","i-lucide-wrench",{"title":298,"path":299,"stem":300,"icon":301},"Managing Connections","/aws-connections/managing-connections","08.aws-connections/4.managing-connections","i-lucide-settings",{"title":303,"path":304,"stem":305,"icon":306},"Security Best Practices","/aws-connections/security-best-practices","08.aws-connections/5.security-best-practices","i-lucide-lock",{"title":308,"path":309,"stem":310,"icon":276},"Troubleshooting","/aws-connections/troubleshooting","08.aws-connections/6.troubleshooting",{"title":312,"path":313,"stem":314,"children":315,"icon":317},"Cloud Connections","/cloud-connections","09.cloud-connections/1.index",[316,318,323,328,332,337,341],{"title":312,"path":313,"stem":314,"icon":317},"i-lucide-cable",{"title":319,"path":320,"stem":321,"icon":322},"Google Cloud (GCP)","/cloud-connections/gcp","09.cloud-connections/2.gcp","i-simple-icons-googlecloud",{"title":324,"path":325,"stem":326,"icon":327},"Microsoft Azure","/cloud-connections/azure","09.cloud-connections/3.azure","i-simple-icons-microsoftazure",{"title":329,"path":330,"stem":331,"icon":20},"Magalu Cloud","/cloud-connections/magalu","09.cloud-connections/4.magalu",{"title":333,"path":334,"stem":335,"icon":336},"Kubernetes","/cloud-connections/kubernetes","09.cloud-connections/5.kubernetes","i-simple-icons-kubernetes",{"title":338,"path":339,"stem":340,"icon":255},"TypeSafe","/cloud-connections/typesafe","09.cloud-connections/6.typesafe",{"title":342,"path":343,"stem":344,"icon":345},"Email mailboxes","/cloud-connections/email","09.cloud-connections/7.email","i-lucide-mail",{"title":347,"path":348,"stem":349,"children":350,"icon":98},"DNS Providers","/dns-providers","10.dns-providers/1.index",[351,353,356,359,362,366],{"title":352,"path":348,"stem":349,"icon":98},"DNS Provider Connections",{"title":46,"path":354,"stem":355,"icon":52},"/dns-providers/getting-started","10.dns-providers/2.getting-started",{"title":293,"path":357,"stem":358,"icon":296},"/dns-providers/setup-methods","10.dns-providers/3.setup-methods",{"title":298,"path":360,"stem":361,"icon":301},"/dns-providers/managing-connections","10.dns-providers/4.managing-connections",{"title":363,"path":364,"stem":365,"icon":62},"Zones and Records","/dns-providers/zones-and-records","10.dns-providers/5.zones-and-records",{"title":308,"path":367,"stem":368,"icon":276},"/dns-providers/troubleshooting","10.dns-providers/6.troubleshooting",{"title":370,"path":371,"stem":372,"children":373,"icon":52},"Cloud Deploy","/cloud-deploy","11.cloud-deploy/01.index",[374,375,378,383,387,392,396,400,405,409],{"title":370,"path":371,"stem":372,"icon":52},{"title":46,"path":376,"stem":377,"icon":52},"/cloud-deploy/getting-started","11.cloud-deploy/02.getting-started",{"title":379,"path":380,"stem":381,"icon":382},"Creating a Site","/cloud-deploy/creating-a-site","11.cloud-deploy/03.creating-a-site","i-lucide-plus-circle",{"title":384,"path":385,"stem":386,"icon":57},"Site Overview and Deployments","/cloud-deploy/site-overview","11.cloud-deploy/04.site-overview",{"title":388,"path":389,"stem":390,"icon":391},"Deployment Progress and Success","/cloud-deploy/deployment-progress","11.cloud-deploy/05.deployment-progress","i-lucide-loader",{"title":393,"path":394,"stem":395,"icon":301},"Settings","/cloud-deploy/settings","11.cloud-deploy/06.settings",{"title":397,"path":398,"stem":399,"icon":44},"Custom Domains","/cloud-deploy/custom-domains","11.cloud-deploy/07.custom-domains",{"title":401,"path":402,"stem":403,"icon":404},"Resources, Releases, and Danger Zone","/cloud-deploy/resources-releases","11.cloud-deploy/08.resources-releases","i-lucide-package",{"title":406,"path":407,"stem":408,"icon":103},"Admin Dashboard","/cloud-deploy/admin-dashboard","11.cloud-deploy/09.admin-dashboard",{"title":308,"path":410,"stem":411,"icon":276},"/cloud-deploy/troubleshooting","11.cloud-deploy/10.troubleshooting",{"title":413,"path":414,"stem":415,"children":416,"icon":419},"User Onboarding","/user-onboarding","12.user-onboarding/1.index",[417,420,423,428,432,436],{"title":418,"path":414,"stem":415,"icon":419},"User Creation and Onboarding","i-lucide-user-plus",{"title":46,"path":421,"stem":422,"icon":52},"/user-onboarding/getting-started","12.user-onboarding/2.getting-started",{"title":424,"path":425,"stem":426,"icon":427},"Creating Your Organization","/user-onboarding/onboarding","12.user-onboarding/3.onboarding","i-lucide-building-2",{"title":429,"path":430,"stem":431,"icon":345},"Invitations","/user-onboarding/invitations","12.user-onboarding/4.invitations",{"title":433,"path":434,"stem":435,"icon":301},"Managing Your Account","/user-onboarding/managing-account","12.user-onboarding/5.managing-account",{"title":308,"path":437,"stem":438,"icon":276},"/user-onboarding/troubleshooting","12.user-onboarding/6.troubleshooting",{"title":393,"path":440,"stem":441,"children":442,"icon":444},"/settings","13.settings/1.index",[443,445,450,454,459,463,467],{"title":393,"path":440,"stem":441,"icon":444},"i-lucide-sliders-horizontal",{"title":446,"path":447,"stem":448,"icon":449},"General Settings","/settings/general","13.settings/2.general","i-lucide-user",{"title":451,"path":452,"stem":453,"icon":180},"Members Settings","/settings/members","13.settings/3.members",{"title":455,"path":456,"stem":457,"icon":458},"Notifications Settings","/settings/notifications","13.settings/4.notifications","i-lucide-bell",{"title":460,"path":461,"stem":462,"icon":103},"Security Settings","/settings/security","13.settings/5.security",{"title":464,"path":465,"stem":466,"icon":25},"Signing Keys","/settings/keys","13.settings/6.keys",{"title":468,"path":469,"stem":470,"icon":471},"API Tokens","/settings/api-tokens","13.settings/7.api-tokens","i-lucide-key",{"title":473,"path":474,"stem":475,"children":476,"icon":52},"App Enablement","/app-enablement","14.app-enablement/1.index",[477,478,482,486,490],{"title":473,"path":474,"stem":475,"icon":52},{"title":479,"path":480,"stem":481,"icon":25},"Sign in with Orkestia","/app-enablement/sign-in-with-orkestia","14.app-enablement/2.sign-in-with-orkestia",{"title":483,"path":484,"stem":485,"icon":190},"End-user data","/app-enablement/end-user-data","14.app-enablement/3.end-user-data",{"title":487,"path":488,"stem":489,"icon":93},"Compositions — use, invoke, share","/app-enablement/compositions","14.app-enablement/4.compositions",{"title":491,"path":492,"stem":493,"icon":494},"Scoped SQL on your own database","/app-enablement/scoped-sql","14.app-enablement/5.scoped-sql","i-lucide-database-zap",{"title":496,"path":497,"stem":498,"children":499,"icon":34},"Lumen","/lumen","15.lumen/1.index",[500,501,506,510,515,519,523,527,532,537,542,546,550,555,560],{"title":496,"path":497,"stem":498,"icon":34},{"title":502,"path":503,"stem":504,"icon":505},"Explore and correlate","/lumen/explore-and-correlate","15.lumen/10.explore-and-correlate","i-lucide-link-2",{"title":507,"path":508,"stem":509,"icon":125},"AI analytics in the Cockpit app","/lumen/ai-analytics-in-cockpit","15.lumen/11.ai-analytics-in-cockpit",{"title":511,"path":512,"stem":513,"icon":514},"Pulse in the Cockpit app","/lumen/pulse-in-cockpit","15.lumen/12.pulse-in-cockpit","i-lucide-bar-chart-3",{"title":516,"path":517,"stem":518,"icon":444},"Rules in the Cockpit app","/lumen/rules-in-cockpit","15.lumen/13.rules-in-cockpit",{"title":520,"path":521,"stem":522,"icon":185},"Plans, usage and API keys in the Cockpit app","/lumen/plans-usage-and-keys","15.lumen/14.plans-usage-and-keys",{"title":524,"path":525,"stem":526,"icon":267},"Settings and bulk actions","/lumen/settings-and-bulk-actions","15.lumen/15.settings-and-bulk-actions",{"title":528,"path":529,"stem":530,"icon":531},"Enable Lumen","/lumen/enable","15.lumen/2.enable","i-lucide-power",{"title":533,"path":534,"stem":535,"icon":536},"Send data","/lumen/send-data","15.lumen/3.send-data","i-lucide-upload",{"title":538,"path":539,"stem":540,"icon":541},"Collector","/lumen/collector","15.lumen/4.collector","i-lucide-container",{"title":543,"path":544,"stem":545,"icon":57},"Use Lumen","/lumen/observe","15.lumen/5.observe",{"title":547,"path":548,"stem":549,"icon":15},"Lumen MCP","/lumen/mcp","15.lumen/6.mcp",{"title":551,"path":552,"stem":553,"icon":554},"Query API","/lumen/query-api","15.lumen/7.query-api","i-lucide-search",{"title":556,"path":557,"stem":558,"icon":559},"Lumen in the Cockpit app","/lumen/cockpit-mode","15.lumen/8.cockpit-mode","i-lucide-monitor-smartphone",{"title":561,"path":562,"stem":563,"icon":564},"Dashboards in the Cockpit app","/lumen/dashboards-in-cockpit","15.lumen/9.dashboards-in-cockpit","i-lucide-layout-grid",{"title":566,"path":567,"stem":568,"children":569,"icon":571},"SDKs","/sdks","16.sdks/1.index",[570,572,577,582,586],{"title":566,"path":567,"stem":568,"icon":571},"i-lucide-code",{"title":573,"path":574,"stem":575,"icon":576},"Workflows SDK — Node / TypeScript","/sdks/workflows-nodejs","16.sdks/2.workflows-nodejs","i-lucide-file-ts",{"title":578,"path":579,"stem":580,"icon":581},"Workflows SDK — Python","/sdks/workflows-python","16.sdks/3.workflows-python","i-simple-icons-python",{"title":583,"path":584,"stem":585,"icon":25},"Auth SDK — Sign in with Orkestia","/sdks/auth","16.sdks/4.auth",{"title":587,"path":588,"stem":589,"icon":514},"Pulse SDK — product analytics for your app","/sdks/lumen-pulse","16.sdks/5.lumen-pulse",{"title":187,"path":591,"stem":592,"children":593,"icon":190},"/appdata","17.appdata/1.index",[594,595,599,604,609,613,617,622,627,632],{"title":187,"path":591,"stem":592,"icon":190},{"title":596,"path":597,"stem":598,"icon":15},"Agents over App Data","/appdata/end-user-agents","17.appdata/10.end-user-agents",{"title":600,"path":601,"stem":602,"icon":603},"Declare structures","/appdata/declare","17.appdata/2.declare","i-lucide-table",{"title":605,"path":606,"stem":607,"icon":608},"Records & Data API","/appdata/data-api","17.appdata/3.data-api","i-lucide-rows-3",{"title":610,"path":611,"stem":612,"icon":427},"Ownership & workspaces","/appdata/ownership","17.appdata/4.ownership",{"title":614,"path":615,"stem":616,"icon":39},"Expose App Data to end-users","/appdata/expose","17.appdata/5.expose",{"title":618,"path":619,"stem":620,"icon":621},"PostgREST HTTP","/appdata/postgrest","17.appdata/6.postgrest","i-lucide-unplug",{"title":623,"path":624,"stem":625,"icon":626},"Ordered append","/appdata/append","17.appdata/7.append","i-lucide-list-ordered",{"title":628,"path":629,"stem":630,"icon":631},"Databases and instances","/appdata/instances","17.appdata/8.instances","i-lucide-hard-drive",{"title":633,"path":634,"stem":635,"icon":199},"Query console and SQL","/appdata/query","17.appdata/9.query",{"title":192,"path":637,"stem":638,"children":639,"icon":152},"/engram","18.engram/1.index",[640,641,645],{"title":192,"path":637,"stem":638,"icon":152},{"title":642,"path":643,"stem":644,"icon":117},"Write & recall","/engram/write-recall","18.engram/2.write-recall",{"title":646,"path":647,"stem":648,"icon":649},"Field & feed","/engram/agent-memory","18.engram/3.agent-memory","i-lucide-radio",{"title":196,"path":651,"stem":652,"children":653,"icon":199},"/devkit","19.devkit/1.index",[654,655,660,664,668],{"title":196,"path":651,"stem":652,"icon":199},{"title":656,"path":657,"stem":658,"icon":659},"Install DevKit","/devkit/install","19.devkit/2.install","i-lucide-download",{"title":661,"path":662,"stem":663,"icon":621},"Hook redirect","/devkit/hooks","19.devkit/3.hooks",{"title":665,"path":666,"stem":667,"icon":157},"Local coding runner","/devkit/local-runner","19.devkit/4.local-runner",{"title":669,"path":670,"stem":671,"icon":93},"Compositions from DevKit","/devkit/compositions","19.devkit/5.compositions",{"title":673,"path":674,"stem":675,"children":676,"icon":15},"Staff & Agents","/staff-and-agents","20.staff-and-agents/01.index",[677,678,682,686,690,694,698,702,706,711,715,720,725,729,732,737],{"title":673,"path":674,"stem":675,"icon":15},{"title":679,"path":680,"stem":681,"icon":10},"Prerequisites","/staff-and-agents/prerequisites","20.staff-and-agents/02.prerequisites",{"title":683,"path":684,"stem":685,"icon":419},"Hire an actor","/staff-and-agents/hire-an-actor","20.staff-and-agents/03.hire-an-actor",{"title":687,"path":688,"stem":689,"icon":57},"Console","/staff-and-agents/console","20.staff-and-agents/04.console",{"title":691,"path":692,"stem":693,"icon":125},"Configs, skills, and MCP","/staff-and-agents/configs-skills-mcp","20.staff-and-agents/05.configs-skills-mcp",{"title":695,"path":696,"stem":697,"icon":98},"Agent runner groups","/staff-and-agents/runner-groups","20.staff-and-agents/06.runner-groups",{"title":699,"path":700,"stem":701,"icon":130},"Governance","/staff-and-agents/governance","20.staff-and-agents/07.governance",{"title":703,"path":704,"stem":705,"icon":25},"Identity and tokens","/staff-and-agents/identity","20.staff-and-agents/08.identity",{"title":707,"path":708,"stem":709,"icon":710},"Memory and cost","/staff-and-agents/memory-and-cost","20.staff-and-agents/09.memory-and-cost","i-lucide-wallet",{"title":712,"path":713,"stem":714,"icon":117},"Coding agents","/staff-and-agents/coding-agents","20.staff-and-agents/10.coding-agents",{"title":716,"path":717,"stem":718,"icon":719},"Wire a repository for coding agents","/staff-and-agents/wire-a-repository","20.staff-and-agents/11.wire-a-repository","i-lucide-link",{"title":721,"path":722,"stem":723,"icon":724},"Run a ticket end to end","/staff-and-agents/run-a-ticket","20.staff-and-agents/12.run-a-ticket","i-lucide-play",{"title":726,"path":727,"stem":728,"icon":162},"Build a product team of actors","/staff-and-agents/build-a-product-team","20.staff-and-agents/13.build-a-product-team",{"title":308,"path":730,"stem":731,"icon":296},"/staff-and-agents/troubleshooting","20.staff-and-agents/14.troubleshooting",{"title":733,"path":734,"stem":735,"icon":736},"Media actors","/staff-and-agents/media-actors","20.staff-and-agents/15.media-actors","i-lucide-clapperboard",{"title":738,"path":739,"stem":740,"icon":741},"Agents that serve people","/staff-and-agents/agents-that-serve-people","20.staff-and-agents/16.agents-that-serve-people","i-lucide-hand-helping",{"title":201,"path":743,"stem":744,"children":745,"icon":44},"/app-host","21.app-host/1.index",[746,747,752,756,759,764,768,773,777,781],{"title":201,"path":743,"stem":744,"icon":44},{"title":748,"path":749,"stem":750,"icon":751},"Static egress IP","/app-host/static-egress-ip","21.app-host/10.static-egress-ip","i-lucide-network",{"title":753,"path":754,"stem":755,"icon":39},"Your app and site","/app-host/your-app","21.app-host/2.your-app",{"title":187,"path":757,"stem":758,"icon":190},"/app-host/app-data","21.app-host/3.app-data",{"title":760,"path":761,"stem":762,"icon":763},"Website and process","/app-host/hosting","21.app-host/4.hosting","i-lucide-cloud-upload",{"title":765,"path":766,"stem":767,"icon":649},"Buzz","/app-host/buzz","21.app-host/5.buzz",{"title":769,"path":770,"stem":771,"icon":772},"Files","/app-host/files","21.app-host/6.files","i-lucide-folder",{"title":774,"path":775,"stem":776,"icon":44},"Your own domain","/app-host/your-domain","21.app-host/7.your-domain",{"title":778,"path":779,"stem":780,"icon":276},"Troubleshooting App Host","/app-host/troubleshooting","21.app-host/8.troubleshooting",{"title":782,"path":783,"stem":784,"icon":25},"Signing keys","/app-host/signing-keys","21.app-host/9.signing-keys",{"title":205,"path":786,"stem":787,"children":788,"icon":208},"/agent-exchange","22.agent-exchange/01.index",[789,790,793,797,801,805],{"title":205,"path":786,"stem":787,"icon":208},{"title":683,"path":791,"stem":792,"icon":419},"/agent-exchange/hire","22.agent-exchange/02.hire",{"title":794,"path":795,"stem":796,"icon":255},"List an actor","/agent-exchange/list","22.agent-exchange/03.list",{"title":798,"path":799,"stem":800,"icon":199},"Invoke & leases","/agent-exchange/invoke","22.agent-exchange/04.invoke",{"title":802,"path":803,"stem":804,"icon":103},"Settlement & trust","/agent-exchange/settlement","22.agent-exchange/05.settlement",{"title":144,"path":806,"stem":807,"icon":147},"/agent-exchange/workflows","22.agent-exchange/06.workflows",{"title":809,"path":810,"stem":811,"children":812,"icon":171},"Runners","/runners","23.runners/1.index",[813,815],{"title":814,"path":810,"stem":811,"icon":171},"Runner groups",{"title":816,"path":817,"stem":818,"icon":819},"Purposes & integrations","/runners/purposes","23.runners/16.purposes","i-lucide-layers",{"title":821,"path":822,"stem":823,"children":824,"icon":826},"Chat","/chat","24.chat/01.index",[825,827,831,836,840,845,850,854,859,863,868,873,877,882,887,891,895,900,905],{"title":821,"path":822,"stem":823,"icon":826},"i-lucide-messages-square",{"title":828,"path":829,"stem":830,"icon":531},"Enable and publish","/chat/enable-and-publish","24.chat/02.enable-and-publish",{"title":832,"path":833,"stem":834,"icon":835},"Theme and customization","/chat/theme-and-customization","24.chat/03.theme-and-customization","i-lucide-palette",{"title":837,"path":838,"stem":839,"icon":180},"Members and moderation","/chat/members-and-moderation","24.chat/04.members-and-moderation",{"title":841,"path":842,"stem":843,"icon":844},"Channels","/chat/channels","24.chat/05.channels","i-lucide-hash",{"title":846,"path":847,"stem":848,"icon":849},"Using the chat","/chat/using-the-chat","24.chat/06.using-the-chat","i-lucide-message-circle",{"title":851,"path":852,"stem":853,"icon":15},"Actors in chat","/chat/actors-in-chat","24.chat/07.actors-in-chat",{"title":855,"path":856,"stem":857,"icon":858},"Internal support actor","/chat/internal-support-actor","24.chat/08.internal-support-actor","i-lucide-life-buoy",{"title":860,"path":861,"stem":862,"icon":199},"API and console","/chat/api-and-console","24.chat/09.api-and-console",{"title":864,"path":865,"stem":866,"icon":867},"Limits","/chat/limits","24.chat/10.limits","i-lucide-triangle-alert",{"title":869,"path":870,"stem":871,"icon":872},"Structured chat with DGI","/chat/structured-chat","24.chat/11.structured-chat","i-lucide-layout-list",{"title":874,"path":875,"stem":876,"icon":44},"Option A: hosted chat with DGI","/chat/option-a-hosted-chat","24.chat/12.option-a-hosted-chat",{"title":878,"path":879,"stem":880,"icon":881},"Option B: embed the chat component","/chat/option-b-embed-component","24.chat/13.option-b-embed-component","i-lucide-component",{"title":883,"path":884,"stem":885,"icon":886},"Option C: custom client (wire contract)","/chat/option-c-custom-client","24.chat/14.option-c-custom-client","i-lucide-braces",{"title":888,"path":889,"stem":890,"icon":649},"Cards, live updates and proactive posts","/chat/cards-live-and-proactive","24.chat/16.cards-live-and-proactive",{"title":892,"path":893,"stem":894,"icon":130},"Structured chat security model","/chat/structured-chat-security","24.chat/17.structured-chat-security",{"title":896,"path":897,"stem":898,"icon":899},"Option D: any app or API (dgi.chat)","/chat/option-d-chat-api","24.chat/18.option-d-chat-api","i-lucide-plug",{"title":901,"path":902,"stem":903,"icon":904},"Living Surfaces","/chat/living-surfaces","24.chat/20.living-surfaces","i-lucide-sprout",{"title":906,"path":907,"stem":908,"icon":909},"Connect your WhatsApp number","/chat/whatsapp","24.chat/21.whatsapp","i-lucide-phone",{"title":911,"path":912,"stem":913,"children":914,"icon":152},"DGI","/dgi","25.dgi/1.index",[915,917,921,925,929,933],{"title":916,"path":912,"stem":913,"icon":152},"What is DGI",{"title":154,"path":918,"stem":919,"icon":920},"/dgi/how-it-works","25.dgi/2.how-it-works","i-lucide-cog",{"title":922,"path":923,"stem":924,"icon":564},"Interfaces","/dgi/interfaces","25.dgi/3.interfaces",{"title":926,"path":927,"stem":928,"icon":52},"Quickstart","/dgi/quickstart","25.dgi/4.quickstart",{"title":930,"path":931,"stem":932,"icon":130},"Trust and safety","/dgi/trust-and-safety","25.dgi/5.trust-and-safety",{"title":934,"path":935,"stem":936,"icon":937},"FAQ","/dgi/faq","25.dgi/6.faq","i-lucide-circle-help",{"title":939,"path":940,"stem":941,"children":942,"icon":736},"Media","/media","26.media/01.index",[943,944,948,953,957,962,967,971,975,979,982],{"title":939,"path":940,"stem":941,"icon":736},{"title":945,"path":946,"stem":947,"icon":899},"Set up the studio","/media/set-up","26.media/02.set-up",{"title":949,"path":950,"stem":951,"icon":952},"Files, covers and looks","/media/files-covers-and-looks","26.media/03.files-covers-and-looks","i-lucide-images",{"title":841,"path":954,"stem":955,"icon":956},"/media/channels","26.media/04.channels","i-lucide-tv",{"title":958,"path":959,"stem":960,"icon":961},"Posts and review","/media/posts-and-review","26.media/05.posts-and-review","i-lucide-send",{"title":963,"path":964,"stem":965,"icon":966},"Video templates","/media/video-templates","26.media/06.video-templates","i-lucide-film",{"title":968,"path":969,"stem":970,"icon":736},"Render videos","/media/render-videos","26.media/07.render-videos",{"title":972,"path":973,"stem":974,"icon":571},"Templates as code","/media/templates-as-code","26.media/08.templates-as-code",{"title":976,"path":977,"stem":978,"icon":15},"Agents and media","/media/agents-and-media","26.media/09.agents-and-media",{"title":210,"path":980,"stem":981,"icon":142},"/media/reference","26.media/10.reference",{"title":983,"path":984,"stem":985,"icon":858},"Limits and troubleshooting","/media/limits-and-troubleshooting","26.media/11.limits-and-troubleshooting",{"title":987,"path":988,"stem":989,"children":990,"icon":992},"Vault","/vault","27.vault/01.index",[991,993,997,1001,1005,1010],{"title":987,"path":988,"stem":989,"icon":992},"i-lucide-vault",{"title":994,"path":995,"stem":996,"icon":25},"Secrets","/vault/secrets","27.vault/02.secrets",{"title":998,"path":999,"stem":1000,"icon":130},"Access policies","/vault/access-policies","27.vault/03.access-policies",{"title":1002,"path":1003,"stem":1004,"icon":961},"API access","/vault/api-access","27.vault/04.api-access",{"title":1006,"path":1007,"stem":1008,"icon":1009},"Audit log and keys","/vault/audit-and-keys","27.vault/05.audit-and-keys","i-lucide-scroll-text",{"title":210,"path":1011,"stem":1012,"icon":142},"/vault/reference","27.vault/06.reference",{"title":1014,"path":1015,"stem":1016,"children":1017,"icon":39},"Build apps","/build-apps","28.build-apps/01.index",[1018,1019,1023,1028,1032,1036,1040,1045],{"title":1014,"path":1015,"stem":1016,"icon":39},{"title":1020,"path":1021,"stem":1022,"icon":147},"Backend","/build-apps/backend","28.build-apps/02.backend",{"title":1024,"path":1025,"stem":1026,"icon":1027},"Modules and feature flags","/build-apps/modules-and-feature-flags","28.build-apps/03.modules-and-feature-flags","i-lucide-toggle-right",{"title":1029,"path":1030,"stem":1031,"icon":117},"Environments","/build-apps/environments","28.build-apps/04.environments",{"title":1033,"path":1034,"stem":1035,"icon":83},"Pricing and limits","/build-apps/pricing-and-limits","28.build-apps/05.pricing-and-limits",{"title":1037,"path":1038,"stem":1039,"icon":162},"Workspaces","/build-apps/workspaces","28.build-apps/06.workspaces",{"title":1041,"path":1042,"stem":1043,"icon":1044},"End-user authoring","/build-apps/end-user-authoring","28.build-apps/07.end-user-authoring","i-lucide-pencil-ruler",{"title":1046,"path":1047,"stem":1048,"icon":34},"Operate","/build-apps/operate","28.build-apps/08.operate",{"title":1050,"path":1051,"stem":1052,"children":1053,"icon":39},"Cockpit app","/cockpit","28.cockpit/1.index",[1054,1055,1060,1064,1068,1072,1076,1080,1084,1088,1092,1096,1100,1105,1110,1114,1118,1122,1127,1132],{"title":1050,"path":1051,"stem":1052,"icon":39},{"title":1056,"path":1057,"stem":1058,"icon":1059},"Overview, Decisions and Activity","/cockpit/overview-decisions-activity","28.cockpit/10.overview-decisions-activity","i-lucide-inbox",{"title":1061,"path":1062,"stem":1063,"icon":108},"Tickets","/cockpit/tickets","28.cockpit/11.tickets",{"title":1065,"path":1066,"stem":1067,"icon":147},"Workflows builder","/cockpit/workflows-builder","28.cockpit/12.workflows-builder",{"title":1069,"path":1070,"stem":1071,"icon":15},"Agents and Coding","/cockpit/agents-and-coding","28.cockpit/13.agents-and-coding",{"title":1073,"path":1074,"stem":1075,"icon":39},"Runners and Connections","/cockpit/apps-runners-connections","28.cockpit/14.apps-runners-connections",{"title":1077,"path":1078,"stem":1079,"icon":427},"Organization — people, access and cost","/cockpit/organization-people-access-cost","28.cockpit/15.organization-people-access-cost",{"title":1081,"path":1082,"stem":1083,"icon":899},"AI tools and MCP","/cockpit/ai-tools-and-mcp","28.cockpit/16.ai-tools-and-mcp",{"title":1085,"path":1086,"stem":1087,"icon":826},"App chats and shared chats","/cockpit/app-chats","28.cockpit/17.app-chats",{"title":1089,"path":1090,"stem":1091,"icon":564},"Apps mode","/cockpit/apps-mode","28.cockpit/18.apps-mode",{"title":1093,"path":1094,"stem":1095,"icon":83},"App infrastructure","/cockpit/app-infrastructure","28.cockpit/19.app-infrastructure",{"title":1097,"path":1098,"stem":1099,"icon":659},"Install and sign in","/cockpit/install-and-sign-in","28.cockpit/2.install-and-sign-in",{"title":1101,"path":1102,"stem":1103,"icon":1104},"App files, settings and flags","/cockpit/app-files-settings-flags","28.cockpit/20.app-files-settings-flags","i-lucide-folder-cog",{"title":1106,"path":1107,"stem":1108,"icon":1109},"Cards in the chat","/cockpit/chat-cards","28.cockpit/21.chat-cards","i-lucide-layout-panel-left",{"title":1111,"path":1112,"stem":1113,"icon":229},"App modules","/cockpit/app-modules","28.cockpit/22.app-modules",{"title":1115,"path":1116,"stem":1117,"icon":117},"App environments","/cockpit/app-environments","28.cockpit/23.app-environments",{"title":1119,"path":1120,"stem":1121,"icon":125},"First run and onboarding","/cockpit/first-run-onboarding","28.cockpit/3.first-run-onboarding",{"title":1123,"path":1124,"stem":1125,"icon":1126},"Navigation and shortcuts","/cockpit/navigation-and-shortcuts","28.cockpit/4.navigation-and-shortcuts","i-lucide-keyboard",{"title":1128,"path":1129,"stem":1130,"icon":1131},"About, settings and updates","/cockpit/about-settings-and-updates","28.cockpit/5.about-settings-and-updates","i-lucide-info",{"title":308,"path":1133,"stem":1134,"icon":858},"/cockpit/troubleshooting","28.cockpit/6.troubleshooting",{"title":1136,"path":1137,"stem":1138,"children":1139,"icon":1141},"CRM","/crm","29.crm/01.index",[1140,1142,1146,1150],{"title":1136,"path":1137,"stem":1138,"icon":1141},"i-lucide-contact",{"title":1143,"path":1144,"stem":1145,"icon":180},"Contacts and leads","/crm/contacts-and-leads","29.crm/02.contacts-and-leads",{"title":1147,"path":1148,"stem":1149,"icon":130},"Privacy and erasure","/crm/privacy-and-erasure","29.crm/03.privacy-and-erasure",{"title":210,"path":1151,"stem":1152,"icon":142},"/crm/reference","29.crm/04.reference",{"title":1154,"path":1155,"stem":1156,"children":1157,"icon":631},"Storage","/storage","29.storage/1.index",[1158,1160],{"title":1159,"path":1155,"stem":1156,"icon":631},"Orkestia storage",{"title":1161,"path":1162,"stem":1163,"icon":1164},"Where to use it","/storage/where-to-use","29.storage/2.where-to-use","i-lucide-map",{"title":1166,"path":1167,"stem":1168,"children":1169,"icon":44},"Browser","/browser","30.browser/01.index",[1170,1172,1176,1180],{"title":1171,"path":1167,"stem":1168,"icon":44},"Orkestia Browser",{"title":1173,"path":1174,"stem":1175,"icon":899},"Connect your Chrome","/browser/connect","30.browser/02.connect",{"title":1177,"path":1178,"stem":1179,"icon":130},"Sessions and approvals","/browser/sessions-and-approvals","30.browser/03.sessions-and-approvals",{"title":1181,"path":1182,"stem":1183,"icon":296},"Agent tools","/browser/agent-tools","30.browser/04.agent-tools",{"title":1185,"path":1186,"stem":1187,"children":1188,"icon":541},"Registry","/registry","31.registry/1.index",[1189],{"title":1190,"path":1186,"stem":1187,"icon":541},"Orkestia Registry",{"title":1192,"path":1193,"stem":1194,"children":1195,"icon":404},"Packages and Git","/packages-and-git","32.packages-and-git/1.index",[1196],{"title":1192,"path":1193,"stem":1194,"icon":404},{"id":1198,"title":1024,"body":1199,"description":1432,"extension":1433,"links":1434,"meta":1435,"navigation":1436,"path":1025,"seo":1437,"stem":1026,"__hash__":1438},"docs/28.build-apps/03.modules-and-feature-flags.md",{"type":1200,"value":1201,"toc":1426},"minimark",[1202,1211,1292,1297,1304,1314,1354,1358,1361,1409,1420],[1203,1204,1205,1206,1210],"p",{},"A ",[1207,1208,1209],"strong",{},"module"," is a part of your app you can turn on or off for users (invoices, alerts, an AI summary). Three controls decide whether one is available. They answer different questions, and they fail differently.",[1212,1213,1214,1230],"table",{},[1215,1216,1217],"thead",{},[1218,1219,1220,1224,1227],"tr",{},[1221,1222,1223],"th",{},"Control",[1221,1225,1226],{},"Question it answers",[1221,1228,1229],{},"Set with",[1231,1232,1233,1254,1271],"tbody",{},[1218,1234,1235,1241,1244],{},[1236,1237,1238],"td",{},[1207,1239,1240],{},"Exposure",[1236,1242,1243],{},"May an end-user token start this composition at all?",[1236,1245,1246,1250,1251],{},[1247,1248,1249],"code",{},"identity.app.expose-virtual-workflow",", ",[1247,1252,1253],{},"identity.app.unexpose-virtual-workflow",[1218,1255,1256,1261,1268],{},[1236,1257,1258],{},[1207,1259,1260],{},"Capability",[1236,1262,1263,1264,1267],{},"May this person, in this workspace, do this verb? (",[1247,1265,1266],{},"{namespace}:{verb}",")",[1236,1269,1270],{},"Workspace roles and groups",[1218,1272,1273,1278,1281],{},[1236,1274,1275],{},[1207,1276,1277],{},"Feature flag",[1236,1279,1280],{},"Does this app have the module switched on?",[1236,1282,1283,1250,1286,1250,1289],{},[1247,1284,1285],{},"policy.feature-flag.apply",[1247,1287,1288],{},"delete",[1247,1290,1291],{},"query",[1293,1294,1296],"h2",{"id":1295},"feature-flags","Feature flags",[1203,1298,1299,1300,1303],{},"A flag switches a composition or a module ",[1207,1301,1302],{},"off for end-users without unexposing it",".",[1305,1306,1312],"pre",{"className":1307,"code":1309,"language":1310,"meta":1311},[1308],"language-text","policy.feature-flag.apply\n  identity_app_uuid   the app\n  flag_key            the composition name, or a module slug\n  enabled             true | false\n  flag_type           \"workflow\" | \"module\"   (default \"module\")\n","text","",[1247,1313,1309],{"__ignoreMap":1311},[1315,1316,1317,1321,1327,1337],"ul",{},[1318,1319,1320],"li",{},"Applying the same app, type and key again updates the flag. It does not duplicate it.",[1318,1322,1323,1326],{},[1207,1324,1325],{},"Only an explicit off denies."," A key with no flag is not gated.",[1318,1328,1329,1330,1333,1334,1303],{},"A workflow flag is keyed on the composition ",[1207,1331,1332],{},"name",". Starting it as an end-user while the flag is off returns ",[1247,1335,1336],{},"END_USER_WORKFLOW_DISABLED",[1318,1338,1339,1340,1343,1344,1347,1348,1350,1351,1303],{},"The decision workflow ",[1247,1341,1342],{},"policy.decision.evaluate"," takes ",[1247,1345,1346],{},"feature_flag"," or ",[1247,1349,1209],{}," in its context and denies with ",[1247,1352,1353],{},"flag_off",[1293,1355,1357],{"id":1356},"how-each-control-fails","How each control fails",[1203,1359,1360],{},"The three are deliberately not uniform:",[1212,1362,1363,1372],{},[1215,1364,1365],{},[1218,1366,1367,1369],{},[1221,1368,1223],{},[1221,1370,1371],{},"If the lookup errors",[1231,1373,1374,1384,1391,1399],{},[1218,1375,1376,1378],{},[1236,1377,1240],{},[1236,1379,1380,1383],{},[1207,1381,1382],{},"Denies."," It is the boundary.",[1218,1385,1386,1388],{},[1236,1387,1260],{},[1236,1389,1390],{},"Allows, so a store hiccup cannot take every end-user offline.",[1218,1392,1393,1396],{},[1236,1394,1395],{},"Feature flag when starting a workflow",[1236,1397,1398],{},"Allows, for the same reason.",[1218,1400,1401,1406],{},[1236,1402,1403,1404],{},"Feature flag in ",[1247,1405,1342],{},[1236,1407,1408],{},"Denies when the flag store is unavailable.",[1410,1411,1412],"warning",{},[1203,1413,1414,1415,1419],{},"A flag only gates the paths that check it: starting an exposed composition and the decision workflow. It is not a data boundary. Gate data with App Data ",[1416,1417,1418],"a",{"href":611},"ownership",", not with a flag.",[1421,1422,1423],"note",{},[1203,1424,1425],{},"Making all three planes apply to App Data CRUD and the serving path is a proposed decision, not shipped behavior (ADR-IDENTITY-011). Until then, treat exposure plus ownership as the data boundary.",{"title":1311,"searchDepth":1427,"depth":1428,"links":1429},1,2,[1430,1431],{"id":1295,"depth":1428,"text":1296},{"id":1356,"depth":1428,"text":1357},"Three separate controls decide whether a signed-in user can use a part of your app — exposure, capability and feature flag — and how each one fails.","md",null,{},{"icon":1027},{"title":1024,"description":1432},"3dmA_FJrZgtMiLKTeDUteAiDzuhNHu1_FSVTUGCkUUc",[1440,1442],{"title":1020,"path":1021,"stem":1022,"description":1441,"icon":147,"children":-1},"An Orkestia app has no server to run — its backend is compositions of catalog workflows, exposed to signed-in users, plus schedules and approvals.",{"title":1029,"path":1030,"stem":1031,"description":1443,"icon":117,"children":-1},"Staging and pull-request preview environments for a hosted app — what each one is, how to turn one on, promote its release and turn it off, and what they cost.",1794361944181]