[{"data":1,"prerenderedAt":1716},["ShallowReactive",2],{"navigation":3,"/chat/members-and-moderation":879,"/chat/members-and-moderation-surround":1711},[4,22,45,115,156,187,214,235,264,295,318,361,389,418,436,470,491,534,548,571,632,670,693,757,850],{"title":5,"path":6,"stem":7,"children":8,"icon":11},"Introduction","/introduction","01.introduction/1.index",[9,12,17],{"title":10,"path":6,"stem":7,"icon":11},"What is Orkestia?","i-lucide-sparkles",{"title":13,"path":14,"stem":15,"icon":16},"Core Philosophy","/introduction/core-philosophy","01.introduction/2.core-philosophy","i-lucide-shield-check",{"title":18,"path":19,"stem":20,"icon":21},"Key Benefits","/introduction/key-benefits","01.introduction/3.key-benefits","i-lucide-trophy",{"title":23,"path":24,"stem":25,"children":26,"icon":29},"Getting Started","/getting-started","02.getting-started/1.index",[27,30,35,40],{"title":28,"path":24,"stem":25,"icon":29},"Quick Start","i-lucide-rocket",{"title":31,"path":32,"stem":33,"icon":34},"Architecture Overview","/getting-started/architecture-overview","02.getting-started/2.architecture-overview","i-lucide-layout-dashboard",{"title":36,"path":37,"stem":38,"icon":39},"Concepts at a Glance","/getting-started/concepts","02.getting-started/3.concepts","i-lucide-list",{"title":41,"path":42,"stem":43,"icon":44},"Connect an AI Assistant","/getting-started/connect-an-ai-assistant","02.getting-started/4.connect-an-ai-assistant","i-lucide-bot",{"title":46,"path":47,"stem":48,"children":49,"icon":51},"Core Concepts","/concepts","03.concepts/01.index",[50,52,57,62,67,71,76,81,86,91,96,100,105,110],{"title":46,"path":47,"stem":48,"icon":51},"i-lucide-book-open",{"title":53,"path":54,"stem":55,"icon":56},"Workflows","/concepts/workflows","03.concepts/02.workflows","i-lucide-workflow",{"title":58,"path":59,"stem":60,"icon":61},"DGI — Dialog Generative Interface","/concepts/dgi","03.concepts/03.dgi","i-lucide-brain",{"title":63,"path":64,"stem":65,"icon":66},"Staff & AI Workforce Governance","/concepts/staff-governance","03.concepts/04.staff-governance","i-lucide-users-round",{"title":68,"path":69,"stem":70,"icon":44},"Agents — the execution substrate","/concepts/agents-platform","03.concepts/05.agents-platform",{"title":72,"path":73,"stem":74,"icon":75},"Runners & Execution Environments","/concepts/runners","03.concepts/06.runners","i-lucide-server-cog",{"title":77,"path":78,"stem":79,"icon":80},"Lumen Observability","/concepts/lumen","03.concepts/07.lumen","i-lucide-activity",{"title":82,"path":83,"stem":84,"icon":85},"Identity & Multi-Tenancy","/concepts/identity-multi-tenancy","03.concepts/08.identity-multi-tenancy","i-lucide-users",{"title":87,"path":88,"stem":89,"icon":90},"Billing, Pricing & Seats","/concepts/billing-and-seats","03.concepts/09.billing-and-seats","i-lucide-credit-card",{"title":92,"path":93,"stem":94,"icon":95},"App Data","/concepts/appdata","03.concepts/10.appdata","i-lucide-database",{"title":97,"path":98,"stem":99,"icon":61},"Engram","/concepts/engram","03.concepts/11.engram",{"title":101,"path":102,"stem":103,"icon":104},"DevKit","/concepts/devkit","03.concepts/12.devkit","i-lucide-terminal",{"title":106,"path":107,"stem":108,"icon":109},"App Host","/concepts/app-host","03.concepts/13.app-host","i-lucide-globe",{"title":111,"path":112,"stem":113,"icon":114},"Agent Exchange","/concepts/agent-exchange","03.concepts/14.agent-exchange","i-lucide-landmark",{"title":116,"path":117,"stem":118,"children":119,"icon":121},"Guides","/guides","04.guides/1.index",[120,122,127,132,137,142,147,151],{"title":116,"path":117,"stem":118,"icon":121},"i-lucide-compass",{"title":123,"path":124,"stem":125,"icon":126},"Building with DGI","/guides/building-with-dgi","04.guides/2.building-with-dgi","i-lucide-brain-circuit",{"title":128,"path":129,"stem":130,"icon":131},"Creating & Exposing Virtual Workflows","/guides/virtual-workflows","04.guides/4.virtual-workflows","i-lucide-blocks",{"title":133,"path":134,"stem":135,"icon":136},"Runner Management & Provisioning","/guides/runner-management","04.guides/5.runner-management","i-lucide-server",{"title":138,"path":139,"stem":140,"icon":141},"Security & Compliance","/guides/security-and-compliance","04.guides/7.security-and-compliance","i-lucide-shield",{"title":143,"path":144,"stem":145,"icon":146},"Tickets & Software Delivery","/guides/tickets-and-software-delivery","04.guides/8.tickets-and-software-delivery","i-lucide-ticket",{"title":148,"path":149,"stem":150},"Orkestia for AI-driven cloud infrastructure automation","/guides/cloud-automation-alternatives","04.guides/9.cloud-automation-alternatives",{"title":152,"path":153,"stem":154,"icon":155},"Typed decisions with TypeSafe","/guides/typed-decisions-with-typesafe","04.guides/9.typed-decisions-with-typesafe","i-lucide-git-branch",{"title":157,"path":158,"stem":159,"children":160,"icon":162},"Reference","/reference","05.reference/1.index",[161,163,168,173,177,182],{"title":157,"path":158,"stem":159,"icon":162},"i-lucide-library",{"title":164,"path":165,"stem":166,"icon":167},"Workflow Types & Registry","/reference/workflow-types-registry","05.reference/2.workflow-types-registry","i-lucide-list-tree",{"title":169,"path":170,"stem":171,"icon":172},"MCP Integration","/reference/mcp-integration","05.reference/3.mcp-integration","i-lucide-plug-zap",{"title":174,"path":175,"stem":176,"icon":104},"API & Tooling","/reference/api-tooling","05.reference/4.api-tooling",{"title":178,"path":179,"stem":180,"icon":181},"Integrations Catalog","/reference/integrations-catalog","05.reference/6.integrations-catalog","i-lucide-plug",{"title":183,"path":184,"stem":185,"icon":186},"Platform Services","/reference/platform-services","05.reference/7.platform-services","i-lucide-boxes",{"title":188,"path":189,"stem":190,"children":191,"icon":193},"Advanced Topics","/advanced","06.advanced/1.index",[192,194,199,204,209],{"title":188,"path":189,"stem":190,"icon":193},"i-lucide-flask-conical",{"title":195,"path":196,"stem":197,"icon":198},"Hybrid AI + Deterministic Execution","/advanced/hybrid-execution-model","06.advanced/2.hybrid-execution-model","i-lucide-git-merge",{"title":200,"path":201,"stem":202,"icon":203},"Drift Detection & Self-Healing","/advanced/drift-detection-self-healing","06.advanced/3.drift-detection-self-healing","i-lucide-heart-pulse",{"title":205,"path":206,"stem":207,"icon":208},"Governance & Approvals","/advanced/governance-and-approvals","06.advanced/4.governance-and-approvals","i-lucide-scale",{"title":210,"path":211,"stem":212,"icon":213},"Cost & Performance Optimization","/advanced/cost-and-performance","06.advanced/5.cost-and-performance","i-lucide-zap",{"title":215,"path":216,"stem":217,"children":218,"icon":220},"Operations","/operations","07.operations/1.index",[219,221,225,230],{"title":215,"path":216,"stem":217,"icon":220},"i-lucide-settings-2",{"title":222,"path":223,"stem":224,"icon":186},"Deployment Models","/operations/deployment-models","07.operations/2.deployment-models",{"title":226,"path":227,"stem":228,"icon":229},"Monitoring & Debugging","/operations/monitoring-and-debugging","07.operations/3.monitoring-and-debugging","i-lucide-bug",{"title":231,"path":232,"stem":233,"icon":234},"Best Practices","/operations/best-practices","07.operations/4.best-practices","i-lucide-check-check",{"title":236,"path":237,"stem":238,"children":239,"icon":241},"AWS Connections","/aws-connections","08.aws-connections/1.index",[240,242,245,250,255,260],{"title":236,"path":237,"stem":238,"icon":241},"i-simple-icons-amazonaws",{"title":23,"path":243,"stem":244,"icon":29},"/aws-connections/getting-started","08.aws-connections/2.getting-started",{"title":246,"path":247,"stem":248,"icon":249},"Setup Methods","/aws-connections/setup-methods","08.aws-connections/3.setup-methods","i-lucide-wrench",{"title":251,"path":252,"stem":253,"icon":254},"Managing Connections","/aws-connections/managing-connections","08.aws-connections/4.managing-connections","i-lucide-settings",{"title":256,"path":257,"stem":258,"icon":259},"Security Best Practices","/aws-connections/security-best-practices","08.aws-connections/5.security-best-practices","i-lucide-lock",{"title":261,"path":262,"stem":263,"icon":229},"Troubleshooting","/aws-connections/troubleshooting","08.aws-connections/6.troubleshooting",{"title":265,"path":266,"stem":267,"children":268,"icon":270},"Cloud Connections","/cloud-connections","09.cloud-connections/1.index",[269,271,276,281,286,291],{"title":265,"path":266,"stem":267,"icon":270},"i-lucide-cable",{"title":272,"path":273,"stem":274,"icon":275},"Google Cloud (GCP)","/cloud-connections/gcp","09.cloud-connections/2.gcp","i-simple-icons-googlecloud",{"title":277,"path":278,"stem":279,"icon":280},"Microsoft Azure","/cloud-connections/azure","09.cloud-connections/3.azure","i-simple-icons-microsoftazure",{"title":282,"path":283,"stem":284,"icon":285},"Magalu Cloud","/cloud-connections/magalu","09.cloud-connections/4.magalu","i-lucide-cloud",{"title":287,"path":288,"stem":289,"icon":290},"Kubernetes","/cloud-connections/kubernetes","09.cloud-connections/5.kubernetes","i-simple-icons-kubernetes",{"title":292,"path":293,"stem":294,"icon":208},"TypeSafe","/cloud-connections/typesafe","09.cloud-connections/6.typesafe",{"title":296,"path":297,"stem":298,"children":299,"icon":136},"DNS Providers","/dns-providers","10.dns-providers/1.index",[300,302,305,308,311,315],{"title":301,"path":297,"stem":298,"icon":136},"DNS Provider Connections",{"title":23,"path":303,"stem":304,"icon":29},"/dns-providers/getting-started","10.dns-providers/2.getting-started",{"title":246,"path":306,"stem":307,"icon":249},"/dns-providers/setup-methods","10.dns-providers/3.setup-methods",{"title":251,"path":309,"stem":310,"icon":254},"/dns-providers/managing-connections","10.dns-providers/4.managing-connections",{"title":312,"path":313,"stem":314,"icon":39},"Zones and Records","/dns-providers/zones-and-records","10.dns-providers/5.zones-and-records",{"title":261,"path":316,"stem":317,"icon":229},"/dns-providers/troubleshooting","10.dns-providers/6.troubleshooting",{"title":319,"path":320,"stem":321,"children":322,"icon":29},"Cloud Deploy","/cloud-deploy","11.cloud-deploy/01.index",[323,324,327,332,336,341,345,349,354,358],{"title":319,"path":320,"stem":321,"icon":29},{"title":23,"path":325,"stem":326,"icon":29},"/cloud-deploy/getting-started","11.cloud-deploy/02.getting-started",{"title":328,"path":329,"stem":330,"icon":331},"Creating a Site","/cloud-deploy/creating-a-site","11.cloud-deploy/03.creating-a-site","i-lucide-plus-circle",{"title":333,"path":334,"stem":335,"icon":34},"Site Overview and Deployments","/cloud-deploy/site-overview","11.cloud-deploy/04.site-overview",{"title":337,"path":338,"stem":339,"icon":340},"Deployment Progress and Success","/cloud-deploy/deployment-progress","11.cloud-deploy/05.deployment-progress","i-lucide-loader",{"title":342,"path":343,"stem":344,"icon":254},"Settings","/cloud-deploy/settings","11.cloud-deploy/06.settings",{"title":346,"path":347,"stem":348,"icon":109},"Custom Domains","/cloud-deploy/custom-domains","11.cloud-deploy/07.custom-domains",{"title":350,"path":351,"stem":352,"icon":353},"Resources, Releases, and Danger Zone","/cloud-deploy/resources-releases","11.cloud-deploy/08.resources-releases","i-lucide-package",{"title":355,"path":356,"stem":357,"icon":141},"Admin Dashboard","/cloud-deploy/admin-dashboard","11.cloud-deploy/09.admin-dashboard",{"title":261,"path":359,"stem":360,"icon":229},"/cloud-deploy/troubleshooting","11.cloud-deploy/10.troubleshooting",{"title":362,"path":363,"stem":364,"children":365,"icon":368},"User Onboarding","/user-onboarding","12.user-onboarding/1.index",[366,369,372,377,382,386],{"title":367,"path":363,"stem":364,"icon":368},"User Creation and Onboarding","i-lucide-user-plus",{"title":23,"path":370,"stem":371,"icon":29},"/user-onboarding/getting-started","12.user-onboarding/2.getting-started",{"title":373,"path":374,"stem":375,"icon":376},"Creating Your Organization","/user-onboarding/onboarding","12.user-onboarding/3.onboarding","i-lucide-building-2",{"title":378,"path":379,"stem":380,"icon":381},"Invitations","/user-onboarding/invitations","12.user-onboarding/4.invitations","i-lucide-mail",{"title":383,"path":384,"stem":385,"icon":254},"Managing Your Account","/user-onboarding/managing-account","12.user-onboarding/5.managing-account",{"title":261,"path":387,"stem":388,"icon":229},"/user-onboarding/troubleshooting","12.user-onboarding/6.troubleshooting",{"title":342,"path":390,"stem":391,"children":392,"icon":394},"/settings","13.settings/1.index",[393,395,400,404,409,413],{"title":342,"path":390,"stem":391,"icon":394},"i-lucide-sliders-horizontal",{"title":396,"path":397,"stem":398,"icon":399},"General Settings","/settings/general","13.settings/2.general","i-lucide-user",{"title":401,"path":402,"stem":403,"icon":85},"Members Settings","/settings/members","13.settings/3.members",{"title":405,"path":406,"stem":407,"icon":408},"Notifications Settings","/settings/notifications","13.settings/4.notifications","i-lucide-bell",{"title":410,"path":411,"stem":412,"icon":141},"Security Settings","/settings/security","13.settings/5.security",{"title":414,"path":415,"stem":416,"icon":417},"Signing Keys","/settings/keys","13.settings/6.keys","i-lucide-key-round",{"title":419,"path":420,"stem":421,"children":422,"icon":29},"App Enablement","/app-enablement","14.app-enablement/1.index",[423,424,428,432],{"title":419,"path":420,"stem":421,"icon":29},{"title":425,"path":426,"stem":427,"icon":417},"Sign in with Orkestia","/app-enablement/sign-in-with-orkestia","14.app-enablement/2.sign-in-with-orkestia",{"title":429,"path":430,"stem":431,"icon":95},"End-user data","/app-enablement/end-user-data","14.app-enablement/3.end-user-data",{"title":433,"path":434,"stem":435,"icon":131},"Compositions — use, invoke, share","/app-enablement/compositions","14.app-enablement/4.compositions",{"title":437,"path":438,"stem":439,"children":440,"icon":80},"Lumen","/lumen","15.lumen/1.index",[441,442,447,452,457,461,465],{"title":437,"path":438,"stem":439,"icon":80},{"title":443,"path":444,"stem":445,"icon":446},"Enable Lumen","/lumen/enable","15.lumen/2.enable","i-lucide-power",{"title":448,"path":449,"stem":450,"icon":451},"Send data","/lumen/send-data","15.lumen/3.send-data","i-lucide-upload",{"title":453,"path":454,"stem":455,"icon":456},"Collector","/lumen/collector","15.lumen/4.collector","i-lucide-container",{"title":458,"path":459,"stem":460,"icon":34},"Use Lumen","/lumen/observe","15.lumen/5.observe",{"title":462,"path":463,"stem":464,"icon":44},"Lumen MCP","/lumen/mcp","15.lumen/6.mcp",{"title":466,"path":467,"stem":468,"icon":469},"Query API","/lumen/query-api","15.lumen/7.query-api","i-lucide-search",{"title":471,"path":472,"stem":473,"children":474,"icon":476},"SDKs","/sdks","16.sdks/1.index",[475,477,482,487],{"title":471,"path":472,"stem":473,"icon":476},"i-lucide-code",{"title":478,"path":479,"stem":480,"icon":481},"Workflows SDK — Node / TypeScript","/sdks/workflows-nodejs","16.sdks/2.workflows-nodejs","i-lucide-file-ts",{"title":483,"path":484,"stem":485,"icon":486},"Workflows SDK — Python","/sdks/workflows-python","16.sdks/3.workflows-python","i-simple-icons-python",{"title":488,"path":489,"stem":490,"icon":417},"Auth SDK — Sign in with Orkestia","/sdks/auth","16.sdks/4.auth",{"title":92,"path":492,"stem":493,"children":494,"icon":95},"/appdata","17.appdata/1.index",[495,496,501,506,510,515,520,525,530],{"title":92,"path":492,"stem":493,"icon":95},{"title":497,"path":498,"stem":499,"icon":500},"Declare structures","/appdata/declare","17.appdata/2.declare","i-lucide-table",{"title":502,"path":503,"stem":504,"icon":505},"Records & Data API","/appdata/data-api","17.appdata/3.data-api","i-lucide-rows-3",{"title":507,"path":508,"stem":509,"icon":376},"Ownership & workspaces","/appdata/ownership","17.appdata/4.ownership",{"title":511,"path":512,"stem":513,"icon":514},"Expose App Data to end-users","/appdata/expose","17.appdata/5.expose","i-lucide-app-window",{"title":516,"path":517,"stem":518,"icon":519},"PostgREST HTTP","/appdata/postgrest","17.appdata/6.postgrest","i-lucide-unplug",{"title":521,"path":522,"stem":523,"icon":524},"Ordered append","/appdata/append","17.appdata/7.append","i-lucide-list-ordered",{"title":526,"path":527,"stem":528,"icon":529},"Databases and instances","/appdata/instances","17.appdata/8.instances","i-lucide-hard-drive",{"title":531,"path":532,"stem":533,"icon":104},"Query console and SQL","/appdata/query","17.appdata/9.query",{"title":97,"path":535,"stem":536,"children":537,"icon":61},"/engram","18.engram/1.index",[538,539,543],{"title":97,"path":535,"stem":536,"icon":61},{"title":540,"path":541,"stem":542,"icon":155},"Write & recall","/engram/write-recall","18.engram/2.write-recall",{"title":544,"path":545,"stem":546,"icon":547},"Field & feed","/engram/agent-memory","18.engram/3.agent-memory","i-lucide-radio",{"title":101,"path":549,"stem":550,"children":551,"icon":104},"/devkit","19.devkit/1.index",[552,553,558,562,567],{"title":101,"path":549,"stem":550,"icon":104},{"title":554,"path":555,"stem":556,"icon":557},"Install DevKit","/devkit/install","19.devkit/2.install","i-lucide-download",{"title":559,"path":560,"stem":561,"icon":519},"Hook redirect","/devkit/hooks","19.devkit/3.hooks",{"title":563,"path":564,"stem":565,"icon":566},"Local coding runner","/devkit/local-runner","19.devkit/4.local-runner","i-lucide-cpu",{"title":568,"path":569,"stem":570,"icon":131},"Compositions from DevKit","/devkit/compositions","19.devkit/5.compositions",{"title":572,"path":573,"stem":574,"children":575,"icon":44},"Staff & Agents","/staff-and-agents","20.staff-and-agents/01.index",[576,577,582,586,590,594,598,602,606,611,615,620,625,629],{"title":572,"path":573,"stem":574,"icon":44},{"title":578,"path":579,"stem":580,"icon":581},"Prerequisites","/staff-and-agents/prerequisites","20.staff-and-agents/02.prerequisites","i-lucide-list-checks",{"title":583,"path":584,"stem":585,"icon":368},"Hire an actor","/staff-and-agents/hire-an-actor","20.staff-and-agents/03.hire-an-actor",{"title":587,"path":588,"stem":589,"icon":34},"Console","/staff-and-agents/console","20.staff-and-agents/04.console",{"title":591,"path":592,"stem":593,"icon":11},"Configs, skills, and MCP","/staff-and-agents/configs-skills-mcp","20.staff-and-agents/05.configs-skills-mcp",{"title":595,"path":596,"stem":597,"icon":136},"Agent runner groups","/staff-and-agents/runner-groups","20.staff-and-agents/06.runner-groups",{"title":599,"path":600,"stem":601,"icon":16},"Governance","/staff-and-agents/governance","20.staff-and-agents/07.governance",{"title":603,"path":604,"stem":605,"icon":417},"Identity and tokens","/staff-and-agents/identity","20.staff-and-agents/08.identity",{"title":607,"path":608,"stem":609,"icon":610},"Memory and cost","/staff-and-agents/memory-and-cost","20.staff-and-agents/09.memory-and-cost","i-lucide-wallet",{"title":612,"path":613,"stem":614,"icon":155},"Coding agents","/staff-and-agents/coding-agents","20.staff-and-agents/10.coding-agents",{"title":616,"path":617,"stem":618,"icon":619},"Wire a repository for coding agents","/staff-and-agents/wire-a-repository","20.staff-and-agents/11.wire-a-repository","i-lucide-link",{"title":621,"path":622,"stem":623,"icon":624},"Run a ticket end to end","/staff-and-agents/run-a-ticket","20.staff-and-agents/12.run-a-ticket","i-lucide-play",{"title":626,"path":627,"stem":628,"icon":66},"Build a product team of actors","/staff-and-agents/build-a-product-team","20.staff-and-agents/13.build-a-product-team",{"title":261,"path":630,"stem":631,"icon":249},"/staff-and-agents/troubleshooting","20.staff-and-agents/14.troubleshooting",{"title":106,"path":633,"stem":634,"children":635,"icon":109},"/app-host","21.app-host/1.index",[636,637,641,644,649,653,658,662,666],{"title":106,"path":633,"stem":634,"icon":109},{"title":638,"path":639,"stem":640,"icon":514},"Your app and site","/app-host/your-app","21.app-host/2.your-app",{"title":92,"path":642,"stem":643,"icon":95},"/app-host/app-data","21.app-host/3.app-data",{"title":645,"path":646,"stem":647,"icon":648},"Website and process","/app-host/hosting","21.app-host/4.hosting","i-lucide-cloud-upload",{"title":650,"path":651,"stem":652,"icon":547},"Buzz","/app-host/buzz","21.app-host/5.buzz",{"title":654,"path":655,"stem":656,"icon":657},"Files","/app-host/files","21.app-host/6.files","i-lucide-folder",{"title":659,"path":660,"stem":661,"icon":109},"Your own domain","/app-host/your-domain","21.app-host/7.your-domain",{"title":663,"path":664,"stem":665,"icon":229},"Troubleshooting App Host","/app-host/troubleshooting","21.app-host/8.troubleshooting",{"title":667,"path":668,"stem":669,"icon":417},"Signing keys","/app-host/signing-keys","21.app-host/9.signing-keys",{"title":111,"path":671,"stem":672,"children":673,"icon":114},"/agent-exchange","22.agent-exchange/01.index",[674,675,678,682,686,690],{"title":111,"path":671,"stem":672,"icon":114},{"title":583,"path":676,"stem":677,"icon":368},"/agent-exchange/hire","22.agent-exchange/02.hire",{"title":679,"path":680,"stem":681,"icon":208},"List an actor","/agent-exchange/list","22.agent-exchange/03.list",{"title":683,"path":684,"stem":685,"icon":104},"Invoke & leases","/agent-exchange/invoke","22.agent-exchange/04.invoke",{"title":687,"path":688,"stem":689,"icon":141},"Settlement & trust","/agent-exchange/settlement","22.agent-exchange/05.settlement",{"title":53,"path":691,"stem":692,"icon":56},"/agent-exchange/workflows","22.agent-exchange/06.workflows",{"title":694,"path":695,"stem":696,"children":697,"icon":75},"Runners","/runners","23.runners/1.index",[698,700,704,709,713,717,721,726,730,734,738,741,745,749,753],{"title":699,"path":695,"stem":696,"icon":75},"Runner groups",{"title":701,"path":702,"stem":703,"icon":275},"Cloud Run","/runners/cloud-run","23.runners/10.cloud-run",{"title":705,"path":706,"stem":707,"icon":708},"DigitalOcean App Job","/runners/do-app-job","23.runners/11.do-app-job","i-simple-icons-digitalocean",{"title":710,"path":711,"stem":712,"icon":708},"DigitalOcean Droplet","/runners/do-droplet","23.runners/12.do-droplet",{"title":714,"path":715,"stem":716,"icon":285},"Magalu Cloud VM","/runners/magalu-vm","23.runners/13.magalu-vm",{"title":101,"path":718,"stem":719,"icon":720},"/runners/devkit","23.runners/14.devkit","i-lucide-laptop",{"title":722,"path":723,"stem":724,"icon":725},"Purposes & integrations","/runners/purposes","23.runners/16.purposes","i-lucide-layers",{"title":727,"path":728,"stem":729,"icon":241},"Fargate","/runners/fargate","23.runners/2.fargate",{"title":731,"path":732,"stem":733,"icon":241},"EC2 Auto Scaling","/runners/ec2-auto-scaling","23.runners/3.ec2-auto-scaling",{"title":735,"path":736,"stem":737,"icon":241},"EC2 VM","/runners/ec2-vm","23.runners/4.ec2-vm",{"title":287,"path":739,"stem":740,"icon":290},"/runners/kubernetes","23.runners/5.kubernetes",{"title":742,"path":743,"stem":744,"icon":280},"Azure Container Apps","/runners/azure-container-apps","23.runners/6.azure-container-apps",{"title":746,"path":747,"stem":748,"icon":280},"Azure VMSS","/runners/azure-vmss","23.runners/7.azure-vmss",{"title":750,"path":751,"stem":752,"icon":280},"Azure VM","/runners/azure-vm","23.runners/8.azure-vm",{"title":754,"path":755,"stem":756,"icon":275},"GCE","/runners/gce","23.runners/9.gce",{"title":758,"path":759,"stem":760,"children":761,"icon":763},"Chat","/chat","24.chat/01.index",[762,764,768,773,777,782,787,791,796,800,805,810,814,819,824,828,832,836,840,845],{"title":758,"path":759,"stem":760,"icon":763},"i-lucide-messages-square",{"title":765,"path":766,"stem":767,"icon":446},"Enable and publish","/chat/enable-and-publish","24.chat/02.enable-and-publish",{"title":769,"path":770,"stem":771,"icon":772},"Theme and customization","/chat/theme-and-customization","24.chat/03.theme-and-customization","i-lucide-palette",{"title":774,"path":775,"stem":776,"icon":85},"Members and moderation","/chat/members-and-moderation","24.chat/04.members-and-moderation",{"title":778,"path":779,"stem":780,"icon":781},"Channels","/chat/channels","24.chat/05.channels","i-lucide-hash",{"title":783,"path":784,"stem":785,"icon":786},"Using the chat","/chat/using-the-chat","24.chat/06.using-the-chat","i-lucide-message-circle",{"title":788,"path":789,"stem":790,"icon":44},"Actors in chat","/chat/actors-in-chat","24.chat/07.actors-in-chat",{"title":792,"path":793,"stem":794,"icon":795},"Internal support actor","/chat/internal-support-actor","24.chat/08.internal-support-actor","i-lucide-life-buoy",{"title":797,"path":798,"stem":799,"icon":104},"API and console","/chat/api-and-console","24.chat/09.api-and-console",{"title":801,"path":802,"stem":803,"icon":804},"Limits","/chat/limits","24.chat/10.limits","i-lucide-triangle-alert",{"title":806,"path":807,"stem":808,"icon":809},"Structured chat with DGI","/chat/structured-chat","24.chat/11.structured-chat","i-lucide-layout-list",{"title":811,"path":812,"stem":813,"icon":109},"Option A: hosted chat with DGI","/chat/option-a-hosted-chat","24.chat/12.option-a-hosted-chat",{"title":815,"path":816,"stem":817,"icon":818},"Option B: embed the chat component","/chat/option-b-embed-component","24.chat/13.option-b-embed-component","i-lucide-component",{"title":820,"path":821,"stem":822,"icon":823},"Option C: custom client (wire contract)","/chat/option-c-custom-client","24.chat/14.option-c-custom-client","i-lucide-braces",{"title":825,"path":826,"stem":827,"icon":394},"Responder configuration reference","/chat/responder-reference","24.chat/15.responder-reference",{"title":829,"path":830,"stem":831,"icon":547},"Cards, live updates and proactive posts","/chat/cards-live-and-proactive","24.chat/16.cards-live-and-proactive",{"title":833,"path":834,"stem":835,"icon":16},"Structured chat security model","/chat/structured-chat-security","24.chat/17.structured-chat-security",{"title":837,"path":838,"stem":839,"icon":181},"Option D: any app or API (dgi.chat)","/chat/option-d-chat-api","24.chat/18.option-d-chat-api",{"title":841,"path":842,"stem":843,"icon":844},"Card catalog","/chat/card-catalog","24.chat/19.card-catalog","i-lucide-layout-grid",{"title":846,"path":847,"stem":848,"icon":849},"Living Surfaces","/chat/living-surfaces","24.chat/20.living-surfaces","i-lucide-sprout",{"title":851,"path":852,"stem":853,"children":854,"icon":61},"DGI","/dgi","25.dgi/1.index",[855,857,862,866,870,874],{"title":856,"path":852,"stem":853,"icon":61},"What is DGI",{"title":858,"path":859,"stem":860,"icon":861},"How DGI works","/dgi/how-it-works","25.dgi/2.how-it-works","i-lucide-cog",{"title":863,"path":864,"stem":865,"icon":844},"Interfaces","/dgi/interfaces","25.dgi/3.interfaces",{"title":867,"path":868,"stem":869,"icon":29},"Quickstart","/dgi/quickstart","25.dgi/4.quickstart",{"title":871,"path":872,"stem":873,"icon":16},"Trust and safety","/dgi/trust-and-safety","25.dgi/5.trust-and-safety",{"title":875,"path":876,"stem":877,"icon":878},"FAQ","/dgi/faq","25.dgi/6.faq","i-lucide-circle-help",{"id":880,"title":774,"body":881,"description":1704,"extension":1705,"links":1706,"meta":1707,"navigation":1708,"path":775,"seo":1709,"stem":776,"__hash__":1710},"docs/24.chat/04.members-and-moderation.md",{"type":882,"value":883,"toc":1690},"minimark",[884,893,898,956,963,967,974,1006,1009,1019,1026,1030,1036,1163,1169,1173,1197,1201,1212,1227,1234,1287,1290,1293,1430,1438,1442,1531,1534,1538,1544,1586,1595,1599,1606,1610],[885,886,887,888,892],"p",{},"The platform decides who belongs to a chat space. The relay only enforces it: a key that is not on the roster cannot connect. Every change on this page goes through a workflow, and the console's ",[889,890,891],"strong",{},"Chat → Members"," section (Membros) is a front end for the same workflows.",[894,895,897],"h2",{"id":896},"who-becomes-a-member","Who becomes a member",[899,900,901,917],"table",{},[902,903,904],"thead",{},[905,906,907,911,914],"tr",{},[908,909,910],"th",{},"Principal",[908,912,913],{},"Joins when",[908,915,916],{},"Leaves when",[918,919,920,934],"tbody",{},[905,921,922,928,931],{},[923,924,925],"td",{},[889,926,927],{},"End user of the app",[923,929,930],{},"They open the chat for the first time while their account is active and seated",[923,932,933],{},"Their account is disabled or deleted, or they lose their seat, and reconcile runs. Or an admin removes or suspends them",[905,935,936,941,953],{},[923,937,938],{},[889,939,940],{},"Staff actor",[923,942,943,944,948,949,952],{},"You attach it with ",[945,946,947],"code",{},"buzz.actor.attach"," (see ",[950,951,788],"a",{"href":789},")",[923,954,955],{},"You detach it, or its end-user seat stops being eligible and reconcile runs",[885,957,958,959,962],{},"People are admitted ",[889,960,961],{},"lazily",". An end user with a seat does not appear on the relay until they open the chat, so unused seats cost nothing on the relay.",[894,964,966],{"id":965},"invite-people","Invite people",[885,968,969,970,973],{},"A person needs an account in the identity app before they can open its chat. The console's ",[889,971,972],{},"Invite"," tab (Convidar) takes a list of emails and, for each one, runs two workflows:",[975,976,977,992],"ol",{},[978,979,980,983,984,987,988,991],"li",{},[945,981,982],{},"identity.end-user.create"," with ",[945,985,986],{},"identity_app_uuid"," and ",[945,989,990],{},"email",", skipped when the person already exists in the app;",[978,993,994,983,997,987,999,1002,1003,1005],{},[945,995,996],{},"identity.end-user.invite",[945,998,986],{},[945,1000,1001],{},"end_user_uuid"," (or ",[945,1004,990],{},"), which mails them their access to the app.",[885,1007,1008],{},"When they sign in and open the chat page, they are admitted. From the API:",[1010,1011,1017],"pre",{"className":1012,"code":1014,"language":1015,"meta":1016},[1013],"language-text","start_workflow(\"identity.end-user.create\", {\"identity_app_uuid\": \"\u003Capp>\", \"email\": \"person@example.com\"})\nstart_workflow(\"identity.end-user.invite\", {\"identity_app_uuid\": \"\u003Capp>\", \"end_user_uuid\": \"\u003Cfrom create>\"})\n","text","",[945,1018,1014],{"__ignoreMap":1016},[885,1020,1021,1022,1025],{},"Seats still apply. If the app has no free end-user seat, the person cannot sign in until you add seats. See ",[950,1023,1024],{"href":88},"Billing and seats",".",[894,1027,1029],{"id":1028},"look-at-the-roster","Look at the roster",[885,1031,1032,1035],{},[945,1033,1034],{},"data.buzz.member.list"," (org members, read-only) lists every member of a space with:",[899,1037,1038,1048],{},[902,1039,1040],{},[905,1041,1042,1045],{},[908,1043,1044],{},"Field",[908,1046,1047],{},"Meaning",[918,1049,1050,1070,1096,1119,1129,1150],{},[905,1051,1052,1057],{},[923,1053,1054],{},[945,1055,1056],{},"status",[923,1058,1059,1062,1063,1066,1067],{},[945,1060,1061],{},"active",", ",[945,1064,1065],{},"suspended"," or ",[945,1068,1069],{},"removed",[905,1071,1072,1077],{},[923,1073,1074],{},[945,1075,1076],{},"relay_state",[923,1078,1079,1062,1082,1062,1085,1062,1088,1062,1091,1066,1093],{},[945,1080,1081],{},"in_sync",[945,1083,1084],{},"pending_add",[945,1086,1087],{},"pending_role",[945,1089,1090],{},"pending_remove",[945,1092,1069],{},[945,1094,1095],{},"error",[905,1097,1098,1103],{},[923,1099,1100],{},[945,1101,1102],{},"moderation",[923,1104,1105,1106,1062,1109,1062,1112,1115,1116],{},"The ban or timeout in effect (",[945,1107,1108],{},"kind",[945,1110,1111],{},"until",[945,1113,1114],{},"reason","), or ",[945,1117,1118],{},"null",[905,1120,1121,1126],{},[923,1122,1123],{},[945,1124,1125],{},"last_seen_at",[923,1127,1128],{},"When the person last opened the chat",[905,1130,1131,1136],{},[923,1132,1133],{},[945,1134,1135],{},"status_reason_code",[923,1137,1138,1139,1062,1142,1062,1145,1062,1147],{},"Why a member left, for example ",[945,1140,1141],{},"end_user_not_seated",[945,1143,1144],{},"end_user_disabled",[945,1146,1069],{},[945,1148,1149],{},"admin_reason",[905,1151,1152,1157],{},[923,1153,1154],{},[945,1155,1156],{},"relay_error_code",[923,1158,1159,1160],{},"A stable code when the last relay change failed, for example ",[945,1161,1162],{},"relay_unreachable",[885,1164,1165,1168],{},[945,1166,1167],{},"data.buzz.member.directory"," is the view the chat page itself uses: active people and actors with display names and roles, and for actors how to reach them. It returns no platform ids and no emails. End users can call it only for their own app's space, and only after they have opened the chat.",[894,1170,1172],{"id":1171},"roles","Roles",[885,1174,1175,983,1178,1062,1181,987,1184,1187,1188,1066,1191,1194,1195,1025],{},[945,1176,1177],{},"buzz.member.set-role",[945,1179,1180],{},"space_uuid",[945,1182,1183],{},"member_uuid",[945,1185,1186],{},"role"," (",[945,1189,1190],{},"admin",[945,1192,1193],{},"member",") promotes or demotes a member on the relay. A relay admin can manage channels on the relay. Channel roles (owner, admin, member, guest) are set per channel; see ",[950,1196,778],{"href":779},[894,1198,1200],{"id":1199},"display-names","Display names",[885,1202,1203,1204,1207,1208,1211],{},"Other members see a person's ",[889,1205,1206],{},"display name",". It is resolved on the server and is ",[889,1209,1210],{},"never derived from an email address",":",[975,1213,1214,1217,1220],{},[978,1215,1216],{},"a name the person chose, or an admin set;",[978,1218,1219],{},"otherwise a name from their profile, when one exists;",[978,1221,1222,1223,1226],{},"otherwise a neutral fallback such as ",[945,1224,1225],{},"Member 1a2b"," (in the space's locale).",[885,1228,1229,1230,1233],{},"A name is 1 to 64 characters, has no control characters and no ",[945,1231,1232],{},"@",", and is not the person's email local-part.",[899,1235,1236,1246],{},[902,1237,1238],{},[905,1239,1240,1243],{},[908,1241,1242],{},"Who",[908,1244,1245],{},"How",[918,1247,1248,1262,1279],{},[905,1249,1250,1253],{},[923,1251,1252],{},"The person",[923,1254,1255,1256,983,1259],{},"\"Your name in the chat\" on the chat page, which runs ",[945,1257,1258],{},"buzz.member.set-display-name",[945,1260,1261],{},"display_name",[905,1263,1264,1267],{},[923,1265,1266],{},"An organization admin",[923,1268,1269,983,1272,1062,1274,1062,1276,1278],{},[945,1270,1271],{},"buzz.member.admin-set-display-name",[945,1273,1180],{},[945,1275,1183],{},[945,1277,1261],{},". The stored name wins until the person renames themselves",[905,1280,1281,1284],{},[923,1282,1283],{},"An actor",[923,1285,1286],{},"Its name is set when you attach it, not with these workflows",[894,1288,1289],{"id":1102},"Moderation",[885,1291,1292],{},"All of these are signed with the space's owner key on the relay, refuse agents, and (except suspend, remove, role and rotate) are for organization admins.",[899,1294,1295,1311],{},[902,1296,1297],{},[905,1298,1299,1302,1305,1308],{},[908,1300,1301],{},"Want",[908,1303,1304],{},"Workflow",[908,1306,1307],{},"Inputs",[908,1309,1310],{},"Effect",[918,1312,1313,1338,1359,1383,1404],{},[905,1314,1315,1318,1323,1335],{},[923,1316,1317],{},"Silence someone for a while",[923,1319,1320],{},[945,1321,1322],{},"buzz.member.timeout",[923,1324,1325,1062,1327,1062,1329,1332,1333],{},[945,1326,1180],{},[945,1328,1183],{},[945,1330,1331],{},"duration_seconds"," (60 to 2,592,000), ",[945,1334,1114],{},[923,1336,1337],{},"They stay connected but cannot post until it ends. Sessions are kept",[905,1339,1340,1343,1348,1356],{},[923,1341,1342],{},"End a timeout early",[923,1344,1345],{},[945,1346,1347],{},"buzz.member.clear-timeout",[923,1349,1350,1062,1352,1062,1354],{},[945,1351,1180],{},[945,1353,1183],{},[945,1355,1114],{},[923,1357,1358],{},"Lifts it. Nothing to lift is not an error",[905,1360,1361,1364,1369,1380],{},[923,1362,1363],{},"Keep someone out",[923,1365,1366],{},[945,1367,1368],{},"buzz.member.ban",[923,1370,1371,1062,1373,1062,1375,1377,1378],{},[945,1372,1180],{},[945,1374,1183],{},[945,1376,1331],{}," (60 to 31,536,000, omit for permanent), ",[945,1379,1114],{},[923,1381,1382],{},"They cannot connect. Their chat sessions are revoked",[905,1384,1385,1388,1393,1401],{},[923,1386,1387],{},"Let them back",[923,1389,1390],{},[945,1391,1392],{},"buzz.member.unban",[923,1394,1395,1062,1397,1062,1399],{},[945,1396,1180],{},[945,1398,1183],{},[945,1400,1114],{},[923,1402,1403],{},"Lifts the ban. Revoked sessions stay revoked; they open the chat again",[905,1405,1406,1409,1414,1427],{},[923,1407,1408],{},"Remove one message",[923,1410,1411],{},[945,1412,1413],{},"buzz.message.moderate-delete",[923,1415,1416,1062,1418,1062,1421,1062,1424],{},[945,1417,1180],{},[945,1419,1420],{},"channel_id",[945,1422,1423],{},"event_id",[945,1425,1426],{},"public_reason",[923,1428,1429],{},"Every chat client stops showing it. The optional reason is shown to the channel",[885,1431,1432,1433,1435,1436,1025],{},"Bans and timeouts show up in ",[945,1434,1034],{}," under ",[945,1437,1102],{},[894,1439,1441],{"id":1440},"removing-someone","Removing someone",[899,1443,1444,1454],{},[902,1445,1446],{},[905,1447,1448,1450,1452],{},[908,1449,1301],{},[908,1451,1304],{},[908,1453,1310],{},[918,1455,1456,1477,1496,1513],{},[905,1457,1458,1461,1474],{},[923,1459,1460],{},"Suspend, keep the record",[923,1462,1463,983,1466,1469,1470,1473],{},[945,1464,1465],{},"buzz.member.set-status",[945,1467,1468],{},"status: \"suspended\""," (and ",[945,1471,1472],{},"\"active\""," to reinstate)",[923,1475,1476],{},"Off the relay at once. The member row stays",[905,1478,1479,1482,1493],{},[923,1480,1481],{},"Remove",[923,1483,1484,983,1487,1062,1489,1062,1491],{},[945,1485,1486],{},"buzz.member.remove",[945,1488,1180],{},[945,1490,1183],{},[945,1492,1114],{},[923,1494,1495],{},"Off the space and the relay. Past messages stay attributed to them",[905,1497,1498,1501,1510],{},[923,1499,1500],{},"Suspected key leak",[923,1502,1503,983,1506,1062,1508],{},[945,1504,1505],{},"buzz.member.rotate-key",[945,1507,1180],{},[945,1509,1183],{},[923,1511,1512],{},"A new key is admitted, the old one removed, sessions revoked. Old messages stay under the old key",[905,1514,1515,1518,1524],{},[923,1516,1517],{},"Sign-out everywhere",[923,1519,1520,1521,952],{},"The person signs out on the chat page (",[945,1522,1523],{},"buzz.session.revoke",[923,1525,1526,1527,1530],{},"Revokes the session records only. ",[889,1528,1529],{},"A key already in a browser keeps working"," until one of the rows above runs",[885,1532,1533],{},"Disabling an end user in the identity app, or taking away their seat, does not remove them from the relay on the spot. It happens the next time the space is reconciled.",[894,1535,1537],{"id":1536},"maintenance","Maintenance",[885,1539,1540,1541,1543],{},"The console's ",[889,1542,1537],{}," tab (Manutenção) holds the repair workflows.",[899,1545,1546,1555],{},[902,1547,1548],{},[905,1549,1550,1552],{},[908,1551,1304],{},[908,1553,1554],{},"Use",[918,1556,1557],{},[905,1558,1559,1572],{},[923,1560,1561,983,1564,1062,1566,1062,1569],{},[945,1562,1563],{},"buzz.member.reconcile",[945,1565,1180],{},[945,1567,1568],{},"dry_run",[945,1570,1571],{},"prune_unknown",[923,1573,1574,1575,1578,1579,1581,1582,1585],{},"Suspends members whose seat, account or actor binding lapsed, then brings the relay roster in line with the platform. Safe to repeat. Run with ",[945,1576,1577],{},"dry_run: true"," first. ",[945,1580,1571],{}," (default ",[945,1583,1584],{},"false",") also removes relay members the platform does not know, which matters only for a relay you adopted",[885,1587,1540,1588,1591,1592,1025],{},[889,1589,1590],{},"Activity"," tab (Atividade) shows the actor ledger, covered in ",[950,1593,788],{"href":1594},"/chat/actors-in-chat#watching-what-actors-do",[894,1596,1598],{"id":1597},"ask-your-ai-assistant","Ask your AI assistant",[1010,1600,1604],{"className":1601,"code":1602,"filename":1603,"language":1015,"meta":1016},[1013],"Invite ana@example.com and bruno@example.com to my identity app \"\u003Capp name>\" so they can use its chat. Show me the identity.end-user.create and identity.end-user.invite calls before starting them.\n\nList the members of my chat space who are suspended, banned or timed out, with the reason code for each.\n\nTime out the member named \"\u003Cname>\" in my chat space for one hour with the reason \"spam\". Find their member_uuid with data.buzz.member.list and confirm with me first.\n\nRun buzz.member.reconcile on my chat space as a dry run and explain what it would change.\n","prompts",[945,1605,1602],{"__ignoreMap":1016},[894,1607,1609],{"id":1608},"for-ai-agents","For AI agents",[899,1611,1612,1622],{},[902,1613,1614],{},[905,1615,1616,1619],{},[908,1617,1618],{},"Rule",[908,1620,1621],{},"Detail",[918,1623,1624,1639,1658,1666,1678],{},[905,1625,1626,1629],{},[923,1627,1628],{},"Find the member",[923,1630,1631,1633,1634,987,1636,1638],{},[945,1632,1034],{}," returns ",[945,1635,1183],{},[945,1637,1261],{},". Never guess a uuid from a name",[905,1640,1641,1644],{},[923,1642,1643],{},"Human callers",[923,1645,1646,1647,1650,1651,987,1654,1657],{},"Every ",[945,1648,1649],{},"buzz.member.*"," change except the end user's own ",[945,1652,1653],{},"set-display-name",[945,1655,1656],{},"set-notifications"," refuses agents. Prepare the call for a person",[905,1659,1660,1663],{},[923,1661,1662],{},"Confirm first",[923,1664,1665],{},"Ban, timeout, remove, rotate-key and moderate-delete affect a real person. Say what will happen and wait",[905,1667,1668,1671],{},[923,1669,1670],{},"Honest revocation",[923,1672,1673,1674,1066,1676],{},"Do not tell a user that signing out removed access. Removal is ",[945,1675,1486],{},[945,1677,1465],{},[905,1679,1680,1683],{},[923,1681,1682],{},"Dry run",[923,1684,1685,983,1687,1689],{},[945,1686,1563],{},[945,1688,1577],{}," before a real run",{"title":1016,"searchDepth":1691,"depth":1692,"links":1693},1,2,[1694,1695,1696,1697,1698,1699,1700,1701,1702,1703],{"id":896,"depth":1692,"text":897},{"id":965,"depth":1692,"text":966},{"id":1028,"depth":1692,"text":1029},{"id":1171,"depth":1692,"text":1172},{"id":1199,"depth":1692,"text":1200},{"id":1102,"depth":1692,"text":1289},{"id":1440,"depth":1692,"text":1441},{"id":1536,"depth":1692,"text":1537},{"id":1597,"depth":1692,"text":1598},{"id":1608,"depth":1692,"text":1609},"Invite people into a chat space, set roles and display names, and moderate with suspend, timeout, ban, remove, key rotation and reconcile","md",null,{},{"icon":85},{"title":774,"description":1704},"mVJfd5ujYcVADBWTBfos8Bdva9zVjm3qoYxJmmGBZuU",[1712,1714],{"title":769,"path":770,"stem":771,"description":1713,"icon":772,"children":-1},"Customize a chat space live. The theme document carries brand, colors, layout, feature flags, attachment limits and copy, and moves through validate, draft, publish and rollback",{"title":778,"path":779,"stem":780,"description":1715,"icon":781,"children":-1},"Organization-managed channels, channels your members create and run when the space allows it, private channels, and archiving",1790354061956]