[{"data":1,"prerenderedAt":1529},["ShallowReactive",2],{"navigation":3,"/app-host/files":879,"/app-host/files-surround":1524},[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":654,"body":881,"description":1517,"extension":1518,"links":1519,"meta":1520,"navigation":1521,"path":655,"seo":1522,"stem":656,"__hash__":1523},"docs/21.app-host/6.files.md",{"type":882,"value":883,"toc":1504},"minimark",[884,918,931,936,1016,1023,1026,1029,1057,1064,1068,1122,1129,1132,1193,1196,1199,1207,1318,1321,1340,1344,1356,1366,1373,1377,1384,1388,1465,1469],[885,886,887,890,891,894,895,898,899,902,903,907,908,911,912,914,915,917],"p",{},[888,889,654],"strong",{}," is where ",[888,892,893],{},"organization members"," keep files that belong to ",[888,896,897],{},"this identity app",". Bytes live on the same site MinIO that ",[900,901,650],"a",{"href":651}," already runs. The catalog is a ",[904,905,906],"code",{},"meta.json"," next to each object. This is ",[888,909,910],{},"not"," a customer bucket, ",[888,913,910],{}," an App Data table, and ",[888,916,910],{}," a chat attachment.",[885,919,920,921,927,928,930],{},"Open it in the console: ",[900,922,926],{"href":923,"rel":924},"https://app.orkestia.dev",[925],"nofollow","app.orkestia.dev"," → the Identity app → ",[888,929,654],{}," (Operations, next to Hosting and Chat).",[932,933,935],"h2",{"id":934},"what-files-is-and-is-not","What Files is (and is not)",[937,938,939,952],"table",{},[940,941,942],"thead",{},[943,944,945,949],"tr",{},[946,947,948],"th",{},"Files is",[946,950,951],{},"Files is not",[953,954,955,969,986,1004],"tbody",{},[943,956,957,961],{},[958,959,960],"td",{},"App-scoped objects on the hosted site's MinIO",[958,962,963,968],{},[900,964,965],{"href":184},[904,966,967],{},"storage.*"," — your own S3 / R2 / GCS bucket",[943,970,971,978],{},[958,972,973,974,977],{},"Managed by org members (",[904,975,976],{},"apphost.file.*",")",[958,979,980,985],{},[900,981,982],{"href":492},[904,983,984],{},"data.appdata.document.*"," — end-user documents wrapping Storage",[943,987,988,991],{},[958,989,990],{},"A separate key prefix from chat media",[958,992,993,996,997,1000,1001],{},[900,994,995],{"href":802},"Chat attachments"," or Buzz ",[904,998,999],{},"/media"," under ",[904,1002,1003],{},"conversations/",[943,1005,1006,1013],{},[958,1007,1008,1009,1012],{},"Bound to ",[888,1010,1011],{},"this"," identity app",[958,1014,1015],{},"An org-wide dump across apps",[885,1017,1018,1019,1022],{},"End-users of the app do not see these files. Staff actors (",[904,1020,1021],{},"agt_",") cannot start the verbs. Do not mint an end-user principal so a builder can upload a PNG.",[932,1024,578],{"id":1025},"prerequisites",[885,1027,1028],{},"Files reuse Buzz MinIO. There is no separate storage addon in v1.",[1030,1031,1032,1044,1050],"ol",{},[1033,1034,1035,1036,1039,1040,1043],"li",{},"The Identity app is ",[888,1037,1038],{},"live"," and the site is ",[900,1041,1042],{"href":639},"claimed",".",[1033,1045,1046,1049],{},[900,1047,1048],{"href":651},"Buzz is applied"," so MinIO is running on the site.",[1033,1051,1052,1053,1056],{},"You are signed in as an ",[888,1054,1055],{},"organization member"," (Cognito), not as an app end-user.",[885,1058,1059,1060,1063],{},"Empty states on the tab send you to ",[888,1061,1062],{},"Hosting"," when there is no site, or when MinIO is not ready.",[932,1065,1067],{"id":1066},"open-the-files-tab","Open the Files tab",[1069,1070,1072,1077,1088,1092,1101,1105,1112,1116],"steps",{"level":1071},"4",[1073,1074,1076],"h4",{"id":1075},"open-the-identity-app","Open the Identity app",[885,1078,1079,1080,1083,1084,1087],{},"In the console, open ",[888,1081,1082],{},"Identity"," and the app (or go to ",[904,1085,1086],{},"/identity/apps/\u003Cuuid>",").",[1073,1089,1091],{"id":1090},"click-files","Click Files",[885,1093,1094,1095,1097,1098,1100],{},"The ",[888,1096,654],{}," tab sits in ",[888,1099,215],{},", after Hosting and Chat.",[1073,1102,1104],{"id":1103},"upload-list-download","Upload, list, download",[885,1106,1107,1108,1111],{},"Any org member can list, upload, and download. Uploads are at most ",[888,1109,1110],{},"4 MiB",". HTML and obvious executables are blocked.",[1073,1113,1115],{"id":1114},"delete-owners-and-admins","Delete (owners and admins)",[885,1117,1118,1119,1087],{},"Delete is hidden unless you are an organization owner or admin. The workflow still enforces that on the server (",[904,1120,1121],{},"apphost.file.delete",[885,1123,1124,1125,1128],{},"Each file can carry an optional ",[888,1126,1127],{},"folder"," string (a prefix, not a first-class directory). Listing filters by that prefix.",[932,1130,801],{"id":1131},"limits",[937,1133,1134,1144],{},[940,1135,1136],{},[943,1137,1138,1141],{},[946,1139,1140],{},"Limit",[946,1142,1143],{},"Value",[953,1145,1146,1155,1163,1175,1185],{},[943,1147,1148,1151],{},[958,1149,1150],{},"Per file",[958,1152,1153],{},[888,1154,1110],{},[943,1156,1157,1160],{},[958,1158,1159],{},"Where it sits",[958,1161,1162],{},"The Buzz MinIO volume (5 Gi / 20 Gi / 50 Gi with the Buzz size)",[943,1164,1165,1168],{},[958,1166,1167],{},"Types",[958,1169,1170,1171,1174],{},"Block ",[904,1172,1173],{},"text/html"," and obvious executables; otherwise allow",[943,1176,1177,1180],{},[958,1178,1179],{},"Who",[958,1181,1182,1183],{},"Human org members only. Agents cannot call ",[904,1184,976],{},[943,1186,1187,1190],{},[958,1188,1189],{},"End-users",[958,1191,1192],{},"None in v1",[885,1194,1195],{},"Upload goes through the AppHost runner. The browser cannot PUT to the ClusterIP MinIO, and there is no public presigned PUT.",[932,1197,53],{"id":1198},"workflows",[885,1200,1201,1202,1043],{},"Featured types (same org token as Hosting). Resolve the live schema from the ",[900,1203,1206],{"href":1204,"rel":1205},"https://reference.orkestia.dev",[925],"catalog",[937,1208,1209,1221],{},[940,1210,1211],{},[943,1212,1213,1216,1218],{},[946,1214,1215],{},"Type",[946,1217,1179],{},[946,1219,1220],{},"What",[953,1222,1223,1239,1251,1263,1275,1287,1301],{},[943,1224,1225,1230,1233],{},[958,1226,1227],{},[904,1228,1229],{},"apphost.file.ensure-store",[958,1231,1232],{},"member",[958,1234,1235,1236],{},"Site exists and Buzz MinIO can serve ",[904,1237,1238],{},"files/",[943,1240,1241,1246,1248],{},[958,1242,1243],{},[904,1244,1245],{},"apphost.file.list",[958,1247,1232],{},[958,1249,1250],{},"Ready files for this app, optional folder prefix",[943,1252,1253,1258,1260],{},[958,1254,1255],{},[904,1256,1257],{},"apphost.file.get",[958,1259,1232],{},[958,1261,1262],{},"Catalog plus file bytes",[943,1264,1265,1270,1272],{},[958,1266,1267],{},[904,1268,1269],{},"apphost.file.put",[958,1271,1232],{},[958,1273,1274],{},"Upload ≤4 MiB",[943,1276,1277,1282,1284],{},[958,1278,1279],{},[904,1280,1281],{},"apphost.file.rename",[958,1283,1232],{},[958,1285,1286],{},"Display name / folder only",[943,1288,1289,1293,1298],{},[958,1290,1291],{},[904,1292,1121],{},[958,1294,1295],{},[888,1296,1297],{},"admin",[958,1299,1300],{},"Delete this file",[943,1302,1303,1308,1312],{},[958,1304,1305],{},[904,1306,1307],{},"apphost.file.purge-site",[958,1309,1310],{},[888,1311,1297],{},[958,1313,1314,1315,1317],{},"Delete every ",[904,1316,1238],{}," object for the app",[885,1319,1320],{},"Public inputs are UUID-only for the app and the file. You never pass an object key.",[885,1322,1323,1326,1327,1329,1330,1332,1333,1335,1336,1339],{},[904,1324,1325],{},"apphost.site.delete"," does ",[888,1328,910],{}," empty ",[904,1331,1238],{},". Call ",[904,1334,1307],{}," when you mean to wipe app files. Removing Buzz ",[888,1337,1338],{},"does"," delete the MinIO volume, which also deletes Files.",[932,1341,1343],{"id":1342},"how-it-is-stored","How it is stored",[885,1345,1346,1347,1350,1351,1000,1353,1355],{},"Two keys per ready file, on bucket ",[904,1348,1349],{},"buzz-media",", ",[888,1352,910],{},[904,1354,1003],{},":",[1357,1358,1364],"pre",{"className":1359,"code":1361,"language":1362,"meta":1363},[1360],"language-text","apps/{identity_app_uuid}/files/{file_uuid}/meta.json\napps/{identity_app_uuid}/files/{file_uuid}/{safe_name}\n","text","",[904,1365,1361],{"__ignoreMap":1363},[885,1367,1368,1369,1372],{},"Chat attachments stay at ",[904,1370,1371],{},"apps/{identity_app_uuid}/conversations/{conversation_uuid}/{name}",". The two prefixes do not collide.",[932,1374,1376],{"id":1375},"ask-your-ai-assistant","Ask your AI assistant",[1357,1378,1382],{"className":1379,"code":1380,"filename":1381,"language":1362,"meta":1363},[1360],"List apphost.file.* workflow types available to my org and say which ones a member can start and which need an admin.\n\nMy identity app has no Files yet. Tell me whether the site is claimed and whether Buzz MinIO is ready, then stop. Do not upload anything.\n\nUpload is the wrong tool — I need objects in my own S3 bucket. Point me at storage.* instead of apphost.file.*.\n","prompts",[904,1383,1380],{"__ignoreMap":1363},[932,1385,1387],{"id":1386},"for-ai-agents","For AI agents",[937,1389,1390,1400],{},[940,1391,1392],{},[943,1393,1394,1397],{},[946,1395,1396],{},"Rule",[946,1398,1399],{},"Detail",[953,1401,1402,1416,1426,1436,1449,1457],{},[943,1403,1404,1407],{},[958,1405,1406],{},"Human-only",[958,1408,1409,1410,1412,1413,1043],{},"Do not start ",[904,1411,976],{}," as a Staff actor. The run refuses unless ",[904,1414,1415],{},"metadata.actor.kind=user",[943,1417,1418,1421],{},[958,1419,1420],{},"Not documents",[958,1422,1423,1425],{},[904,1424,984],{}," needs an end-user and a Storage connection. That is a different product.",[943,1427,1428,1431],{},[958,1429,1430],{},"Not Storage",[958,1432,1433,1435],{},[904,1434,967],{}," writes the customer's bucket. Native app files never go there.",[943,1437,1438,1441],{},[958,1439,1440],{},"Not chat media",[958,1442,1443,1444,996,1447,1043],{},"Do not put builder files through ",[904,1445,1446],{},"apphost.addon.object.put",[904,1448,999],{},[943,1450,1451,1454],{},[958,1452,1453],{},"Site first",[958,1455,1456],{},"If ensure-store or list fails with no site / MinIO not ready, send the human to Hosting + Buzz.",[943,1458,1459,1462],{},[958,1460,1461],{},"Delete is admin",[958,1463,1464],{},"Members list/put/get/rename. Only owner/admin (or platform staff) delete or purge.",[932,1466,1468],{"id":1467},"related","Related",[1470,1471,1472,1477,1481,1490,1498],"ul",{},[1033,1473,1474,1476],{},[900,1475,650],{"href":651}," — the MinIO volume Files reuses",[1033,1478,1479],{},[900,1480,645],{"href":646},[1033,1482,1483,1485,1486,1489],{},[900,1484,92],{"href":492}," — tables and ",[904,1487,1488],{},"document.*",", not this tab",[1033,1491,1492,1495,1496],{},[900,1493,1494],{"href":184},"Platform services"," — BYO ",[904,1497,967],{},[1033,1499,1500,1503],{},[900,1501,1502],{"href":802},"Chat limits"," — conversation attachments, not app files",{"title":1363,"searchDepth":1505,"depth":1506,"links":1507},1,2,[1508,1509,1510,1511,1512,1513,1514,1515,1516],{"id":934,"depth":1506,"text":935},{"id":1025,"depth":1506,"text":578},{"id":1066,"depth":1506,"text":1067},{"id":1131,"depth":1506,"text":801},{"id":1198,"depth":1506,"text":53},{"id":1342,"depth":1506,"text":1343},{"id":1375,"depth":1506,"text":1376},{"id":1386,"depth":1506,"text":1387},{"id":1467,"depth":1506,"text":1468},"Org members store files that belong to the identity app on the site MinIO — the Files tab, not Storage and not App Data documents.","md",null,{},{"icon":657},{"title":654,"description":1517},"mUlt3I0Ayu9y0H0OChTsKeJ9OY0D-ZY3YkqmQ_ad9I4",[1525,1527],{"title":650,"path":651,"stem":652,"description":1526,"icon":547,"children":-1},"Buzz is a Nostr relay on a dedicated hostname — NIP-42 AUTH, Redis, MinIO, App Data for Postgres. Not a Chat Relay HTTP API.",{"title":659,"path":660,"stem":661,"description":1528,"icon":109,"children":-1},"Point a subdomain you own at the App Host website or at Buzz, using a CNAME.",1790354058517]