[{"data":1,"prerenderedAt":1489},["ShallowReactive",2],{"navigation":3,"/chat/cards-live-and-proactive":879,"/chat/cards-live-and-proactive-surround":1484},[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":829,"body":881,"description":1477,"extension":1478,"links":1479,"meta":1480,"navigation":1481,"path":830,"seo":1482,"stem":831,"__hash__":1483},"docs/24.chat/16.cards-live-and-proactive.md",{"type":882,"value":883,"toc":1455},"minimark",[884,901,906,913,918,924,956,960,965,989,993,1007,1014,1025,1028,1032,1047,1055,1072,1082,1086,1093,1097,1100,1107,1110,1120,1231,1266,1276,1284,1290,1365,1372,1376,1383,1387],[885,886,887,888,892,893,895,896,900],"p",{},"A card from a DGI actor is not a static answer. Read cards refresh and stay live, table rows carry actions, data grids sort and page on the server, runs update in place, and your workflows can post cards on a schedule. Every card is described in the ",[889,890,891],"a",{"href":842},"card catalog",". Structured chat is part of ",[889,894,851],{"href":59}," and is ",[897,898,899],"strong",{},"Alpha",".",[902,903,905],"h2",{"id":904},"read-cards","Read cards",[885,907,908,909,912],{},"A table, chart, KPI tiles or logs card that DGI built from a read it can run again is a ",[897,910,911],{},"read card",". The server keeps what produced it (the workflow, its inputs, the view, each row's id) next to the card. None of that is posted: the chat only sees labels and values.",[914,915,917],"h3",{"id":916},"refresh","Refresh",[885,919,920,921,923],{},"The card's toolbar shows ",[897,922,917],{},". Pressing it runs the same read again, with exactly the same inputs, and rewrites the card in place with a \"refreshed at\" time.",[925,926,927,935,947,950,953],"ul",{},[928,929,930,931,934],"li",{},"The read runs as the card's ",[897,932,933],{},"stored principal",", never as the person who pressed the button: the person who asked, re-checked now, or for a posted card the organization member who posted it.",[928,936,937,938,942,943,946],{},"The read must still be in the actor's ",[939,940,941],"code",{},"allowed_workflow_types",", and it must be a read. A card whose workflow left the scope refuses (",[939,944,945],{},"card_scope_changed",").",[928,948,949],{},"At most one refresh per card every 10 seconds.",[928,951,952],{},"A refresh is not a new message: no reply, no notification, no progress line.",[928,954,955],{},"A read card can be refreshed for 7 days.",[914,957,959],{"id":958},"live","Live",[885,961,962,964],{},[897,963,959],{}," keeps a read card current by itself.",[925,966,967,970,973,979,986],{},[928,968,969],{},"It starts when the person presses Live (every 60 s, for 30 minutes), or when the message asks for it (\"keep it live\", \"ao vivo\", \"tempo real\").",[928,971,972],{},"The interval is 60 to 900 seconds, and a live card stops after 60 minutes at most.",[928,974,975,976,900],{},"The card is edited ",[897,977,978],{},"only when the data changed",[928,980,981,982,985],{},"The toolbar shows a pulsing dot and \"live, every 60 s until 14:30\". ",[897,983,984],{},"Stop"," ends it early.",[928,987,988],{},"It also stops when the actor is paused or detached, when the read leaves the scope or its principal no longer qualifies, or after three failed reruns in a row.",[914,990,992],{"id":991},"row-actions","Row actions",[885,994,995,996,999,1000,1003,1004,946],{},"On a table, DGI looks at the actor's other allowed workflows. Each one whose schema needs exactly one id input matching the rows' id becomes a row action, up to four, with a localized label. For tickets that is typically Details (",[939,997,998],{},"ticket.get","), Comment (",[939,1001,1002],{},"ticket.comment",") and Assign (",[939,1005,1006],{},"ticket.assign",[885,1008,1009,1010,1013],{},"Pressing a row action is a normal turn ",[897,1011,1012],{},"as the person who pressed it",", with the row's id filled in by the server:",[925,1015,1016,1019,1022],{},[928,1017,1018],{},"a read shows its view;",[928,1020,1021],{},"a write with missing inputs asks with a form;",[928,1023,1024],{},"a write with everything it needs posts a confirm card.",[885,1026,1027],{},"The structured confirm stays mandatory for every write. Below 480 px of card width, each row gets a menu button instead of inline buttons.",[914,1029,1031],{"id":1030},"sort-filter-page-and-controls","Sort, filter, page and controls",[885,1033,1034,1035,1038,1039,1042,1043,900],{},"A ",[939,1036,1037],{},"datagrid",", the query console and any read card with view controls (a date range, a status filter, a group-by) answer with the ",[939,1040,1041],{},"query"," card action. The server checks the values against the stored card, re-runs the same read with only those values, and rewrites the card in place, at most once every 2 seconds. See ",[889,1044,1046],{"href":1045},"/chat/card-catalog#view-controls-and-the-query-action","View controls and the query action",[902,1048,1050,1051,1054],{"id":1049},"the-command-palette","The ",[939,1052,1053],{},"/"," command palette",[885,1056,1057,1058,1060,1061,1064,1065,1068,1069,1071],{},"Typing ",[939,1059,1053],{}," at the start of the composer opens the actor's commands: one per allowed workflow the person may run, with a title, a description and a read or write badge. Picking one sends ",[939,1062,1063],{},"/\u003Ccommand>",", and DGI maps it straight to the workflow: a read runs, a write asks for its inputs. In a channel, mention the actor first (",[939,1066,1067],{},"@Support /ticket-search","); in a DM or a thread with the actor, ",[939,1070,1053],{}," is enough.",[885,1073,1074,1075,1078,1079,900],{},"The commands come from the ",[939,1076,1077],{},"commands"," entry point. Spaces created before it existed get it when you re-run ",[939,1080,1081],{},"buzz.space.enable",[902,1083,1085],{"id":1084},"run-cards","Run cards",[885,1087,1088,1089,1092],{},"When DGI starts a workflow in the conversation (usually right after a confirm), it posts a ",[897,1090,1091],{},"run"," card: the workflow, its status, its current state and its steps. The card is edited in place on every change until the run ends, for up to 30 minutes. It shows only states, step timing and a short failure code, never the run's data or error text, and only for runs of the space's organization that DGI started in that conversation.",[902,1094,1096],{"id":1095},"proactive-cards","Proactive cards",[885,1098,1099],{},"Your workflows can post cards without anyone asking.",[914,1101,1103,1106],{"id":1102},"buzzactorpost-view-a-refreshable-read-card",[939,1104,1105],{},"buzz.actor.post-view",": a refreshable read card",[885,1108,1109],{},"Runs one read and posts it as a read card signed by the actor. People can refresh it, act on its rows and make it live, exactly as with a card DGI drew in a reply.",[1111,1112,1118],"pre",{"className":1113,"code":1115,"language":1116,"meta":1117},[1114],"language-text","start_workflow(\"buzz.actor.post-view\", {\n  \"space_uuid\": \"\u003Cspace uuid>\",\n  \"attachment_uuid\": \"\u003Cattachment uuid>\",\n  \"channel_id\": \"\u003Cchannel id>\",\n  \"workflow_type\": \"ticket.search\",\n  \"input\": {\"status\": [\"blocked\"]},\n  \"kind\": \"table\",\n  \"title\": \"Blocked tickets this morning\",\n  \"content\": \"Good morning. These are waiting on someone:\",\n  \"live\": {\"every_s\": 300, \"until_minutes\": 60}\n})\n","text","",[939,1119,1115],{"__ignoreMap":1117},[1121,1122,1123,1136],"table",{},[1124,1125,1126],"thead",{},[1127,1128,1129,1133],"tr",{},[1130,1131,1132],"th",{},"Input",[1130,1134,1135],{},"Meaning",[1137,1138,1139,1157,1178,1205,1218],"tbody",{},[1127,1140,1141,1151],{},[1142,1143,1144,1147,1148],"td",{},[939,1145,1146],{},"workflow_type",", ",[939,1149,1150],{},"input",[1142,1152,1153,1154,1156],{},"A read in the actor's DGI ",[939,1155,941],{},". Writes are refused",[1127,1158,1159,1164],{},[1142,1160,1161],{},[939,1162,1163],{},"kind",[1142,1165,1166,1147,1168,1147,1171,1174,1175],{},[939,1167,1121],{},[939,1169,1170],{},"chart",[939,1172,1173],{},"kpi"," or ",[939,1176,1177],{},"logs",[1127,1179,1180,1187],{},[1142,1181,1182,1147,1185],{},[939,1183,1184],{},"group_by",[939,1186,1170],{},[1142,1188,1189,1190,1192,1193,1195,1196,1147,1199,1174,1202],{},"For ",[939,1191,1170],{}," and ",[939,1194,1173],{},": the field to group by, and ",[939,1197,1198],{},"bar",[939,1200,1201],{},"line",[939,1203,1204],{},"pie",[1127,1206,1207,1215],{},[1142,1208,1209,1147,1212],{},[939,1210,1211],{},"title",[939,1213,1214],{},"content",[1142,1216,1217],{},"The card title and the text above it",[1127,1219,1220,1224],{},[1142,1221,1222],{},[939,1223,958],{},[1142,1225,1226,1227,1230],{},"Optional ",[939,1228,1229],{},"{every_s: 60-900, until_minutes: 1-60}"," to start it live",[925,1232,1233,1239,1245,1251,1257],{},[928,1234,1235,1238],{},[897,1236,1237],{},"No LLM."," The view is built deterministically from the read.",[928,1240,1241,1244],{},[897,1242,1243],{},"The actor needs a DGI responder."," Its scope is what the card may read.",[928,1246,1247,1250],{},[897,1248,1249],{},"Who it runs as."," The organization member who started it. A scheduled run has no person, so it runs as the admin who configured the responder, re-checked as admin.",[928,1252,1253,1256],{},[897,1254,1255],{},"Schedulable."," Put it on a schedule for a morning KPI post or a daily list of blocked tickets.",[928,1258,1259,1262,1263,900],{},[897,1260,1261],{},"Channel rules and the reply ceiling"," are the same as for ",[939,1264,1265],{},"buzz.message.post",[914,1267,1269,1271,1272,1275],{"id":1268},"buzzmessagepost-with-ui-a-card-on-any-post",[939,1270,1265],{}," with ",[939,1273,1274],{},"ui",": a card on any post",[885,1277,1278,1280,1281,1283],{},[939,1279,1265],{}," takes an optional ",[939,1282,1274],{},":",[1111,1285,1288],{"className":1286,"code":1287,"language":1116,"meta":1117},[1114],"start_workflow(\"buzz.message.post\", {\n  \"space_uuid\": \"\u003Cspace uuid>\",\n  \"member_uuid\": \"\u003Cthe actor's member uuid>\",\n  \"channel_id\": \"\u003Cchannel id>\",\n  \"content\": \"This week's signups\",\n  \"ui\": {\n    \"renderer\": \"kpi\",\n    \"render\": {\"tiles\": [{\"label\": \"Signups\", \"value\": 128, \"delta\": \"+12%\", \"trend\": \"up\"}]}\n  }\n})\n",[939,1289,1287],{"__ignoreMap":1117},[1121,1291,1292,1304],{},[1124,1293,1294],{},[1127,1295,1296,1301],{},[1130,1297,1298],{},[939,1299,1300],{},"renderer",[1130,1302,1303],{},"Behavior",[1137,1305,1306,1327,1348],{},[1127,1307,1308,1321],{},[1142,1309,1310,1147,1312,1147,1314,1147,1316,1147,1318],{},[939,1311,1121],{},[939,1313,1170],{},[939,1315,1173],{},[939,1317,1177],{},[939,1319,1320],{},"link",[1142,1322,1323,1324,1326],{},"Display only. Checked by the same rules as a DGI card. Not refreshable: use ",[939,1325,1105],{}," for that",[1127,1328,1329,1334],{},[1142,1330,1331],{},[939,1332,1333],{},"form",[1142,1335,1336,1337,1340,1341,1344,1345,1347],{},"Needs ",[939,1338,1339],{},"for"," (the member uuid or relay public key of one active person) and ",[939,1342,1343],{},"pending_input",". The form is stored for that person like a DGI form; when ",[939,1346,1343],{}," names its workflow and the actor has a DGI responder, the submit continues in DGI",[1127,1349,1350,1355],{},[1142,1351,1352],{},[939,1353,1354],{},"confirm",[1142,1356,1357,1360,1361,1364],{},[897,1358,1359],{},"Refused"," (",[939,1362,1363],{},"ui_confirm_not_allowed","). A confirm stands for a proposal DGI computed and checked. Post a form instead, and DGI proposes after the submit",[885,1366,1367,1368,1371],{},"Values you put in ",[939,1369,1370],{},"render"," are posted as you send them, after validation. Keep secrets and internal ids out of them.",[902,1373,1375],{"id":1374},"ask-your-ai-assistant","Ask your AI assistant",[1111,1377,1381],{"className":1378,"code":1379,"filename":1380,"language":1116,"meta":1117},[1114],"Every weekday at 9:00, post a table of blocked support tickets in #support as my Support actor with buzz.actor.post-view, live for 60 minutes. Show me the schedule and the call before creating anything.\n\nPost a KPI card with this week's signups in #general as my actor with buzz.message.post and a ui block. Confirm the content with me first.\n\nWhy did my live card stop updating? Explain the stop conditions and what I should check.\n","prompts",[939,1382,1379],{"__ignoreMap":1117},[902,1384,1386],{"id":1385},"for-ai-agents","For AI agents",[1121,1388,1389,1399],{},[1124,1390,1391],{},[1127,1392,1393,1396],{},[1130,1394,1395],{},"Rule",[1130,1397,1398],{},"Detail",[1137,1400,1401,1415,1429,1437,1445],{},[1127,1402,1403,1406],{},[1142,1404,1405],{},"Refreshable cards",[1142,1407,1408,1409,1411,1412,1414],{},"Use ",[939,1410,1105],{},". ",[939,1413,1265],{}," cards are display only",[1127,1416,1417,1420],{},[1142,1418,1419],{},"Scope",[1142,1421,1422,1425,1426,1428],{},[939,1423,1424],{},"post-view"," reads only types in the actor's DGI ",[939,1427,941],{},", and only reads",[1127,1430,1431,1434],{},[1142,1432,1433],{},"Confirms",[1142,1435,1436],{},"Never post a confirm card. Post a form addressed to one person",[1127,1438,1439,1442],{},[1142,1440,1441],{},"Confirm with the user",[1142,1443,1444],{},"Both verbs post in a shared channel and count against the actor's reply ceiling. Show the call first",[1127,1446,1447,1450],{},[1142,1448,1449],{},"Schedules",[1142,1451,1452,1454],{},[939,1453,1424],{}," is schedulable; a scheduled run acts as the admin who configured the responder",{"title":1117,"searchDepth":1456,"depth":1457,"links":1458},1,2,[1459,1466,1468,1469,1475,1476],{"id":904,"depth":1457,"text":905,"children":1460},[1461,1463,1464,1465],{"id":916,"depth":1462,"text":917},3,{"id":958,"depth":1462,"text":959},{"id":991,"depth":1462,"text":992},{"id":1030,"depth":1462,"text":1031},{"id":1049,"depth":1457,"text":1467},"The / command palette",{"id":1084,"depth":1457,"text":1085},{"id":1095,"depth":1457,"text":1096,"children":1470},[1471,1473],{"id":1102,"depth":1462,"text":1472},"buzz.actor.post-view: a refreshable read card",{"id":1268,"depth":1462,"text":1474},"buzz.message.post with ui: a card on any post",{"id":1374,"depth":1457,"text":1375},{"id":1385,"depth":1457,"text":1386},"Refresh a read card, keep it live, act on table rows, use the / command palette, run cards, and post cards from outside the chat with buzz.actor.post-view and buzz.message.post","md",null,{},{"icon":547},{"title":829,"description":1477},"yiz0nNItUvp8OASQPD7cZC0kv2g0i1af2Lw7JS-j9m4",[1485,1487],{"title":825,"path":826,"stem":827,"description":1486,"icon":394,"children":-1},"Every field of buzz.actor.set-responder, how the hybrid responder hands turns to Staff, how default_inputs pre-fill and narrow reads, and what each refusal code means",{"title":833,"path":834,"stem":835,"description":1488,"icon":16,"children":-1},"Who DGI runs as in chat, what it may reach, why a typed yes never confirms, how cards are protected against forgery and replay, and who pays for the tokens",1790354064030]