Buckets:

download
raw
44 kB
import{s as Rl,o as Ol,n as Tt}from"../chunks/scheduler.2b22cead.js";import{S as Xl,i as Ql,e as i,s as l,c as v,h as Dl,a as p,d as n,b as a,f as I,g as u,j as d,k as B,l as s,m as r,n as f,t as g,o as $,p as h}from"../chunks/index.1a0e8013.js";import{C as zl,H as W,E as ql}from"../chunks/MermaidChart.svelte_svelte_type_style_lang.9eb70abb.js";import{D as k,E as Jt}from"../chunks/ExampleCodeBlock.dad60607.js";import{C as A}from"../chunks/CodeBlock.a1f6e455.js";function Kl(N){let m,J="Examples:",y,c,b;return c=new A({props:{code:"JTI0JTIwb3BlbmVudiUyMGluaXQlMjBteV9nYW1lX2VudiUwQSUyNCUyMG9wZW5lbnYlMjBpbml0JTIwbXlfZW52JTIwLS1vdXRwdXQtZGlyJTIwJTJGcGF0aCUyRnRvJTJGcHJvamVjdHM=",highlighted:`$ openenv init my_game_env
$ openenv init my_env --output-dir /path/to/projects`,lang:"bash",wrap:!1}}),{c(){m=i("p"),m.textContent=J,y=l(),v(c.$$.fragment)},l(o){m=p(o,"P",{"data-svelte-h":!0}),d(m)!=="svelte-kvfsh7"&&(m.textContent=J),y=a(o),u(c.$$.fragment,o)},m(o,M){r(o,m,M),r(o,y,M),f(c,o,M),b=!0},p:Tt,i(o){b||(g(c.$$.fragment,o),b=!0)},o(o){$(c.$$.fragment,o),b=!1},d(o){o&&(n(m),n(y)),h(c,o)}}}function ea(N){let m,J="Examples:",y,c,b;return c=new A({props:{code:"JTIzJTIwQnVpbGQlMjBmcm9tJTIwZW52aXJvbm1lbnQlMjByb290JTIwKHJlY29tbWVuZGVkKSUwQSUyNCUyMGNkJTIwbXlfZW52JTBBJTI0JTIwb3BlbmVudiUyMGJ1aWxkJTBBJTBBJTIzJTIwQnVpbGQlMjB3aXRoJTIwY3VzdG9tJTIwdGFnJTBBJTI0JTIwb3BlbmVudiUyMGJ1aWxkJTIwLXQlMjBteS1jdXN0b20tdGFnJTBBJTBBJTIzJTIwQnVpbGQlMjB3aXRob3V0JTIwY2FjaGUlMEElMjQlMjBvcGVuZW52JTIwYnVpbGQlMjAtLW5vLWNhY2hlJTBBJTBBJTIzJTIwQnVpbGQlMjB3aXRoJTIwY3VzdG9tJTIwYnVpbGQlMjBhcmd1bWVudHMlMEElMjQlMjBvcGVuZW52JTIwYnVpbGQlMjAtLWJ1aWxkLWFyZyUyMFZFUlNJT04lM0QxLjAlMjAtLWJ1aWxkLWFyZyUyMEVOViUzRHByb2QlMEElMEElMjMlMjBCdWlsZCUyMGZyb20lMjBkaWZmZXJlbnQlMjBkaXJlY3RvcnklMEElMjQlMjBvcGVuZW52JTIwYnVpbGQlMjBlbnZzJTJGZWNob19lbnY=",highlighted:`<span class="hljs-comment"># Build from environment root (recommended)</span>
$ <span class="hljs-built_in">cd</span> my_env
$ openenv build
<span class="hljs-comment"># Build with custom tag</span>
$ openenv build -t my-custom-tag
<span class="hljs-comment"># Build without cache</span>
$ openenv build --no-cache
<span class="hljs-comment"># Build with custom build arguments</span>
$ openenv build --build-arg VERSION=1.0 --build-arg ENV=prod
<span class="hljs-comment"># Build from different directory</span>
$ openenv build envs/echo_env`,lang:"bash",wrap:!1}}),{c(){m=i("p"),m.textContent=J,y=l(),v(c.$$.fragment)},l(o){m=p(o,"P",{"data-svelte-h":!0}),d(m)!=="svelte-kvfsh7"&&(m.textContent=J),y=a(o),u(c.$$.fragment,o)},m(o,M){r(o,m,M),r(o,y,M),f(c,o,M),b=!0},p:Tt,i(o){b||(g(c.$$.fragment,o),b=!0)},o(o){$(c.$$.fragment,o),b=!1},d(o){o&&(n(m),n(y)),h(c,o)}}}function ta(N){let m,J="Examples:",y,c,b;return c=new A({props:{code:"JTIzJTIwVmFsaWRhdGUlMjBjdXJyZW50JTIwZGlyZWN0b3J5JTIwKHJlY29tbWVuZGVkKSUwQSUyNCUyMGNkJTIwbXlfZW52JTBBJTI0JTIwb3BlbmVudiUyMHZhbGlkYXRlJTBBJTBBJTIzJTIwVmFsaWRhdGUlMjBhJTIwcnVubmluZyUyMGVudmlyb25tZW50JTIwYW5kJTIwcmV0dXJuJTIwSlNPTiUyMGNyaXRlcmlhJTBBJTI0JTIwb3BlbmVudiUyMHZhbGlkYXRlJTIwLS11cmwlMjBodHRwJTNBJTJGJTJGbG9jYWxob3N0JTNBODAwMCUwQSUyNCUyMG9wZW5lbnYlMjB2YWxpZGF0ZSUyMGh0dHBzJTNBJTJGJTJGbXktZW52LmhmLnNwYWNlJTBBJTBBJTIzJTIwVmFsaWRhdGUlMjB3aXRoJTIwZGV0YWlsZWQlMjBvdXRwdXQlMEElMjQlMjBvcGVuZW52JTIwdmFsaWRhdGUlMjAtLXZlcmJvc2UlMEElMEElMjMlMjBWYWxpZGF0ZSUyMHNwZWNpZmljJTIwZW52aXJvbm1lbnQlMEElMjQlMjBvcGVuZW52JTIwdmFsaWRhdGUlMjBlbnZzJTJGZWNob19lbnY=",highlighted:`<span class="hljs-comment"># Validate current directory (recommended)</span>
$ <span class="hljs-built_in">cd</span> my_env
$ openenv validate
<span class="hljs-comment"># Validate a running environment and return JSON criteria</span>
$ openenv validate --url http://localhost:8000
$ openenv validate https://my-env.hf.space
<span class="hljs-comment"># Validate with detailed output</span>
$ openenv validate --verbose
<span class="hljs-comment"># Validate specific environment</span>
$ openenv validate envs/echo_env`,lang:"bash",wrap:!1}}),{c(){m=i("p"),m.textContent=J,y=l(),v(c.$$.fragment)},l(o){m=p(o,"P",{"data-svelte-h":!0}),d(m)!=="svelte-kvfsh7"&&(m.textContent=J),y=a(o),u(c.$$.fragment,o)},m(o,M){r(o,m,M),r(o,y,M),f(c,o,M),b=!0},p:Tt,i(o){b||(g(c.$$.fragment,o),b=!0)},o(o){$(c.$$.fragment,o),b=!1},d(o){o&&(n(m),n(y)),h(c,o)}}}function na(N){let m,J="Examples:",y,c,b;return c=new A({props:{code:"JTIzJTIwUHVzaCUyMHRvJTIwSHVnZ2luZ0ZhY2UlMjBTcGFjZXMlMjBmcm9tJTIwY3VycmVudCUyMGRpcmVjdG9yeSUyMCh3ZWIlMjBpbnRlcmZhY2UlMjBlbmFibGVkKSUwQSUyNCUyMGNkJTIwbXlfZW52JTBBJTI0JTIwb3BlbmVudiUyMHB1c2glMEElMEElMjMlMjBQdXNoJTIwdG8lMjBIdWdnaW5nRmFjZSUyMHJlcG8lMjBhbmQlMjBvcGVuJTIwYSUyMFB1bGwlMjBSZXF1ZXN0JTBBJTI0JTIwb3BlbmVudiUyMHB1c2glMjBteS1vcmclMkZteS1lbnYlMjAtLWNyZWF0ZS1wciUwQSUyNCUyMG9wZW5lbnYlMjBwdXNoJTIwLS1yZXBvLWlkJTIwbXktb3JnJTJGbXktZW52JTIwLS1jcmVhdGUtcHIlMEElMEElMjMlMjBQdXNoJTIwdG8lMjBIdWdnaW5nRmFjZSUyMHdpdGhvdXQlMjB3ZWIlMjBpbnRlcmZhY2UlMEElMjQlMjBvcGVuZW52JTIwcHVzaCUyMC0tbm8taW50ZXJmYWNlJTBBJTBBJTIzJTIwUHVzaCUyMHRvJTIwRG9ja2VyJTIwSHViJTBBJTI0JTIwb3BlbmVudiUyMHB1c2glMjAtLXJlZ2lzdHJ5JTIwZG9ja2VyLmlvJTJGbXl1c2VyJTBBJTBBJTIzJTIwUHVzaCUyMHRvJTIwR2l0SHViJTIwQ29udGFpbmVyJTIwUmVnaXN0cnklMEElMjQlMjBvcGVuZW52JTIwcHVzaCUyMC0tcmVnaXN0cnklMjBnaGNyLmlvJTJGbXlvcmclMEElMEElMjMlMjBQdXNoJTIwdG8lMjBjdXN0b20lMjByZWdpc3RyeSUyMHdpdGglMjB3ZWIlMjBpbnRlcmZhY2UlMEElMjQlMjBvcGVuZW52JTIwcHVzaCUyMC0tcmVnaXN0cnklMjBteXJlZ2lzdHJ5LmlvJTJGcGF0aDElMkZwYXRoMiUyMC0taW50ZXJmYWNlJTBBJTBBJTIzJTIwUHVzaCUyMHRvJTIwc3BlY2lmaWMlMjBIdWdnaW5nRmFjZSUyMHJlcG8lMEElMjQlMjBvcGVuZW52JTIwcHVzaCUyMC0tcmVwby1pZCUyMG15LW9yZyUyRm15LWVudiUwQSUwQSUyMyUyMFB1c2glMjBwcml2YXRlbHklMjB3aXRoJTIwY3VzdG9tJTIwYmFzZSUyMGltYWdlJTBBJTI0JTIwb3BlbmVudiUyMHB1c2glMjAtLXByaXZhdGUlMjAtLWJhc2UtaW1hZ2UlMjBnaGNyLmlvJTJGaHVnZ2luZ2ZhY2UlMkZvcGVuZW52LWJhc2UlM0FsYXRlc3QlMEElMEElMjMlMjBQdXNoJTIwd2l0aCUyMEdQVSUyMGhhcmR3YXJlJTBBJTI0JTIwb3BlbmVudiUyMHB1c2glMjAtLWhhcmR3YXJlJTIwdDQtbWVkaXVtJTBBJTBBJTIzJTIwU2V0JTIwYSUyMHB1YmxpYyUyMFNwYWNlJTIwdmFyaWFibGUlMjAob3ZlcnJpZGVzJTIwb3BlbmVudi55YW1sJTIwdmFyaWFibGVzJTNBKSUwQSUyNCUyMG9wZW5lbnYlMjBwdXNoJTIwLWUlMjBPUEVOU1BJRUxfR0FNRSUzRHRpY190YWNfdG9lJTIwLWUlMjBNQVhfU1RFUFMlM0QxMDAlMEElMEElMjMlMjBTZXQlMjBhJTIwcHJpdmF0ZSUyMFNwYWNlJTIwc2VjcmV0JTIwKHZhbHVlJTIwbmV2ZXIlMjBsb2dnZWQpJTBBJTI0JTIwb3BlbmVudiUyMHB1c2glMjAtLXNlY3JldCUyME9QRU5BSV9BUElfS0VZJTNEc2stLi4u",highlighted:`<span class="hljs-comment"># Push to HuggingFace Spaces from current directory (web interface enabled)</span>
$ <span class="hljs-built_in">cd</span> my_env
$ openenv push
<span class="hljs-comment"># Push to HuggingFace repo and open a Pull Request</span>
$ openenv push my-org/my-env --create-pr
$ openenv push --repo-id my-org/my-env --create-pr
<span class="hljs-comment"># Push to HuggingFace without web interface</span>
$ openenv push --no-interface
<span class="hljs-comment"># Push to Docker Hub</span>
$ openenv push --registry docker.io/myuser
<span class="hljs-comment"># Push to GitHub Container Registry</span>
$ openenv push --registry ghcr.io/myorg
<span class="hljs-comment"># Push to custom registry with web interface</span>
$ openenv push --registry myregistry.io/path1/path2 --interface
<span class="hljs-comment"># Push to specific HuggingFace repo</span>
$ openenv push --repo-id my-org/my-env
<span class="hljs-comment"># Push privately with custom base image</span>
$ openenv push --private --base-image ghcr.io/huggingface/openenv-base:latest
<span class="hljs-comment"># Push with GPU hardware</span>
$ openenv push --hardware t4-medium
<span class="hljs-comment"># Set a public Space variable (overrides openenv.yaml variables:)</span>
$ openenv push -e OPENSPIEL_GAME=tic_tac_toe -e MAX_STEPS=100
<span class="hljs-comment"># Set a private Space secret (value never logged)</span>
$ openenv push --secret OPENAI_API_KEY=sk-...`,lang:"bash",wrap:!1}}),{c(){m=i("p"),m.textContent=J,y=l(),v(c.$$.fragment)},l(o){m=p(o,"P",{"data-svelte-h":!0}),d(m)!=="svelte-kvfsh7"&&(m.textContent=J),y=a(o),u(c.$$.fragment,o)},m(o,M){r(o,m,M),r(o,y,M),f(c,o,M),b=!0},p:Tt,i(o){b||(g(c.$$.fragment,o),b=!0)},o(o){$(c.$$.fragment,o),b=!1},d(o){o&&(n(m),n(y)),h(c,o)}}}function la(N){let m,J="Examples:",y,c,b;return c=new A({props:{code:"JTI0JTIwb3BlbmVudiUyMGZvcmslMjBvd25lciUyRnNvdXJjZS1zcGFjZSUwQSUyNCUyMG9wZW5lbnYlMjBmb3JrJTIwb3duZXIlMkZzb3VyY2Utc3BhY2UlMjAtLXByaXZhdGUlMEElMjQlMjBvcGVuZW52JTIwZm9yayUyMG93bmVyJTJGc291cmNlLXNwYWNlJTIwLS1yZXBvLWlkJTIwbXl1c2VyJTJGbXktZm9yayUwQSUyNCUyMG9wZW5lbnYlMjBmb3JrJTIwb3duZXIlMkZzb3VyY2Utc3BhY2UlMjAtLXNldC1lbnYlMjBNT0RFTF9JRCUzRHVzZXIlMkZtb2RlbCUyMC0tc2V0LXNlY3JldCUyMEhGX1RPS0VOJTNEaGZfeHh4JTBBJTI0JTIwb3BlbmVudiUyMGZvcmslMjBvd25lciUyRnNvdXJjZS1zcGFjZSUyMC0taGFyZHdhcmUlMjB0NC1tZWRpdW0=",highlighted:`$ openenv fork owner/source-space
$ openenv fork owner/source-space --private
$ openenv fork owner/source-space --repo-id myuser/my-fork
$ openenv fork owner/source-space --set-env MODEL_ID=user/model --set-secret HF_TOKEN=hf_xxx
$ openenv fork owner/source-space --hardware t4-medium`,lang:"bash",wrap:!1}}),{c(){m=i("p"),m.textContent=J,y=l(),v(c.$$.fragment)},l(o){m=p(o,"P",{"data-svelte-h":!0}),d(m)!=="svelte-kvfsh7"&&(m.textContent=J),y=a(o),u(c.$$.fragment,o)},m(o,M){r(o,m,M),r(o,y,M),f(c,o,M),b=!0},p:Tt,i(o){b||(g(c.$$.fragment,o),b=!0)},o(o){$(c.$$.fragment,o),b=!1},d(o){o&&(n(m),n(y)),h(c,o)}}}function aa(N){let m,J,y,c,b,o,M,_t,ne,ol='The <code>openenv</code> CLI provides a set of commands for building, validating, and pushing environments to Hugging Face Spaces or a custom Docker registry. For an end-to-end tutorial on building environments with OpenEnv, see the <a href="../getting_started/environment-builder">building an environment</a> guide.',xt,le,It,U,ae,Mn,Se,rl="Initialize a new OpenEnv environment.",wn,Fe,sl=`Creates a new directory with the environment name and generates all necessary
files based on the OpenEnv template structure.`,Jn,Q,Bt,oe,Ct,V,re,Tn,Pe,il="Build Docker images for OpenEnv environments.",_n,Ye,pl=`This command builds Docker images using the environment’s pyproject.toml
and uv for dependency management. Run from the environment root directory.`,xn,D,jt,se,kt,_,ie,In,Re,ml="Validate local environments and running OpenEnv servers.",Bn,Oe,dl="Local validation checks if an environment is properly configured with:",Cn,Xe,cl="<li>Required files (pyproject.toml, openenv.yaml, server/app.py, etc.)</li> <li>Docker deployment support</li> <li>uv run server capability</li> <li>python -m module execution</li>",jn,Qe,vl=`Runtime validation checks if a live OpenEnv server conforms to the
versioned runtime API contract and returns a criteria-based JSON report.`,kn,z,Ut,pe,Vt,x,me,Un,De,ul="Push an OpenEnv environment to Hugging Face Spaces or a custom Docker registry.",Vn,ze,fl="This command:",Zn,qe,gl="<li>Validates that the directory is an OpenEnv environment (openenv.yaml present)</li> <li>Builds and pushes to Hugging Face Spaces or custom Docker registry</li> <li>Optionally enables web interface for deployment</li>",Gn,Ke,$l=`The web interface is enabled by default when pushing to HuggingFace Spaces,
but disabled by default when pushing to a custom Docker registry.`,Nn,q,Zt,de,Gt,w,ce,Wn,et,hl="Serve an OpenEnv environment locally.",En,tt,bl="TODO: This command is currently not implemented and has been deferred for later.",Ln,nt,yl="Planned functionality:",Hn,lt,Ml="<li>Run environment server locally without Docker</li> <li>Support multiple deployment modes (local, notebook, cluster)</li> <li>Auto-reload for development</li> <li>Integration with environment’s [project.scripts] entry point</li>",An,at,wl="For now, use Docker-based serving:",Sn,ot,Jl="<li>Build the environment: openenv build</li> <li>Run the container: docker run -p 8000:8000 &lt;image-name&gt;</li>",Fn,rt,Tl=`Or use uv directly:
uv run —project . server —port 8000`,Nt,ve,Wt,Z,ue,Pn,st,_l="Fork (duplicate) a Hugging Face Space to your account using the Hub API.",Yn,it,xl=`Uses the Hugging Face duplicate_space API. You can set environment variables
and secrets, and request hardware/storage/sleep time at creation time.`,Rn,K,Et,fe,Lt,ge,Il=`Installs an <code>openenv-cli</code> skill into your AI assistant’s skills directory so
it knows the <code>openenv</code> CLI is available and what each command does. Supports
Claude Code, Cursor, Codex, and OpenCode.`,Ht,$e,Bl="<strong>Install for a single assistant (project-local):</strong>",At,he,St,be,Cl=`Multiple flags can be combined — <code>openenv skills add --claude --cursor</code> installs
for both at once. The skill file is written to a central location
(<code>.agents/skills/openenv-cli/</code>) and each agent directory gets a symlink, so
there is only one copy to update.`,Ft,ye,jl="<strong>Install globally (user-level, across all projects):</strong>",Pt,Me,Yt,we,kl="<strong>Overwrite an existing installation</strong> (e.g. after upgrading <code>openenv</code>):",Rt,Je,Ot,Te,Ul="<strong>Preview the skill content without installing:</strong>",Xt,_e,Qt,xe,Vl="<strong>Install to a custom path</strong> (for non-standard agent setups):",Dt,Ie,zt,S,Be,On,pt,Zl="Install OpenEnv CLI skill for AI assistants.",qt,F,Ce,Xn,mt,Gl="Print generated SKILL.md content.",Kt,je,en,ke,tn,P,Ue,Qn,dt,Nl="Main entry point for the CLI.",nn,Ve,ln,Y,Ze,Dn,ct,Wl="Validate that the directory follows OpenEnv environment structure.",an,Ge,on,E,Ne,zn,vt,El="Validate a running OpenEnv server against runtime API standards.",qn,ut,Ll=`The returned JSON report contains an overall pass/fail result and
per-criterion outcomes that can be consumed in CI.`,rn,G,We,Kn,ft,Hl="Validate that an environment is ready for multi-mode deployment.",el,gt,Al="Checks:",tl,$t,Sl="<li>pyproject.toml exists</li> <li>uv.lock exists</li> <li>pyproject.toml has [project.scripts] with server entry point</li> <li>server/app.py has a main() function</li> <li>Required dependencies are present</li>",sn,R,Ee,nl,ht,Fl="Check which deployment modes are supported by the environment.",pn,O,Le,ll,bt,Pl="Format a validation report for display.",mn,X,He,al,yt,Yl="Build a JSON report for local environment validation.",dn,Ae,cn,wt,vn;return b=new zl({props:{containerStyle:"float: right; margin-left: 10px; display: inline-flex; position: relative; z-index: 10;"}}),M=new W({props:{title:"CLI",local:"cli",headingTag:"h1"}}),le=new W({props:{title:"openenv init",local:"openenv.cli.commands.init",headingTag:"h2"}}),ae=new k({props:{name:"openenv.cli.commands.init",anchor:"openenv.cli.commands.init",parameters:[{name:"env_name",val:`: Annotated[str, typer.Argument(help="Name of the environment to create (snake_case, e.g., 'my_env')")]`},{name:"output_dir",val:": Annotated[str | None, typer.Option('--output-dir', '-o', help='Output directory (defaults to current working directory)')] = None"}],source:"https://github.com/huggingface/openenv/blob/vr_787/openenv/cli/commands/init.py#L396"}}),Q=new Jt({props:{anchor:"openenv.cli.commands.init.example",$$slots:{default:[Kl]},$$scope:{ctx:N}}}),oe=new W({props:{title:"openenv build",local:"openenv.cli.commands.build",headingTag:"h2"}}),re=new k({props:{name:"openenv.cli.commands.build",anchor:"openenv.cli.commands.build",parameters:[{name:"env_path",val:": Annotated[str | None, typer.Argument(help='Path to the environment directory (default: current directory)')] = None"},{name:"tag",val:": Annotated[str | None, typer.Option('--tag', '-t', help='Docker image tag (default: openenv-<env_name>)')] = None"},{name:"context",val:": Annotated[str | None, typer.Option('--context', '-c', help='Build context path (default: <env_path>/server)')] = None"},{name:"dockerfile",val:": Annotated[str | None, typer.Option('--dockerfile', '-f', help='Path to Dockerfile (default: <context>/Dockerfile)')] = None"},{name:"no_cache",val:": Annotated[bool, typer.Option('--no-cache', help='Build without using cache')] = False"},{name:"build_arg",val:": Annotated[list[str] | None, typer.Option('--build-arg', help='Build arguments (can be used multiple times, format: KEY=VALUE)')] = None"}],source:"https://github.com/huggingface/openenv/blob/vr_787/openenv/cli/commands/build.py#L330"}}),D=new Jt({props:{anchor:"openenv.cli.commands.build.example",$$slots:{default:[ea]},$$scope:{ctx:N}}}),se=new W({props:{title:"openenv validate",local:"openenv.cli.commands.validate",headingTag:"h2"}}),ie=new k({props:{name:"openenv.cli.commands.validate",anchor:"openenv.cli.commands.validate",parameters:[{name:"target",val:": typing.Annotated[str | None, <typer.models.ArgumentInfo object at 0x7fa15c5c2b60>] = None"},{name:"url",val:": typing.Annotated[str | None, <typer.models.OptionInfo object at 0x7fa15c5c2920>] = None"},{name:"json_output",val:": typing.Annotated[bool, <typer.models.OptionInfo object at 0x7fa15c5c2ce0>] = False"},{name:"timeout",val:": typing.Annotated[float, <typer.models.OptionInfo object at 0x7fa15c5c2b90>] = 5.0"},{name:"verbose",val:": typing.Annotated[bool, <typer.models.OptionInfo object at 0x7fa15c5c1c30>] = False"}],source:"https://github.com/huggingface/openenv/blob/vr_787/openenv/cli/commands/validate.py#L34"}}),z=new Jt({props:{anchor:"openenv.cli.commands.validate.example",$$slots:{default:[ta]},$$scope:{ctx:N}}}),pe=new W({props:{title:"openenv push",local:"openenv.cli.commands.push",headingTag:"h2"}}),me=new k({props:{name:"openenv.cli.commands.push",anchor:"openenv.cli.commands.push",parameters:[{name:"directory",val:": Annotated[str | None, typer.Argument(help='Directory containing the OpenEnv environment (default: current directory)')] = None"},{name:"repo_id",val:`: Annotated[str | None, typer.Option('--repo-id', '-r', help="Repository ID as 'repo_name' or 'namespace/repo_name'. Defaults to 'username/env-name' from openenv.yaml.")] = None`},{name:"base_image",val:": Annotated[str | None, typer.Option('--base-image', '-b', help='Base Docker image to use (overrides Dockerfile FROM)')] = None"},{name:"interface",val:": Annotated[bool, typer.Option('--interface', help='Enable web interface (default: True if no registry specified)')] = None"},{name:"no_interface",val:": Annotated[bool, typer.Option('--no-interface', help='Disable web interface')] = False"},{name:"registry",val:": Annotated[str | None, typer.Option('--registry', help='Custom registry URL (e.g., docker.io/username). Disables web interface by default.')] = None"},{name:"private",val:": Annotated[bool, typer.Option('--private', help='Deploy the space as private')] = False"},{name:"create_pr",val:": Annotated[bool, typer.Option('--create-pr', help='Create a Pull Request instead of pushing to the default branch')] = False"},{name:"exclude",val:": Annotated[str | None, typer.Option('--exclude', help='Optional additional ignore file with newline-separated glob patterns to exclude from Hugging Face uploads')] = None"},{name:"hardware",val:": Annotated[str | None, typer.Option('--hardware', '-H', help='Request hardware for Hugging Face Space (e.g. t4-medium, cpu-basic). See HF docs for options.')] = None"},{name:"count",val:": Annotated[int, typer.Option('--count', '-n', help='Number of Space instances to deploy. Each gets a numeric suffix (e.g. env-1, env-2).', min=1)] = 1"},{name:"env_vars",val:": Annotated[list[str] | None, typer.Option('--env-var', '-e', help='Public Space variable as KEY=VALUE (repeatable). Overrides matching keys from openenv.yaml variables:.')] = None"},{name:"secrets",val:": Annotated[list[str] | None, typer.Option('--secret', help='Private Space secret as KEY=VALUE (repeatable). Value is never logged.')] = None"}],source:"https://github.com/huggingface/openenv/blob/vr_787/openenv/cli/commands/push.py#L530"}}),q=new Jt({props:{anchor:"openenv.cli.commands.push.example",$$slots:{default:[na]},$$scope:{ctx:N}}}),de=new W({props:{title:"openenv serve",local:"openenv.cli.commands.serve",headingTag:"h2"}}),ce=new k({props:{name:"openenv.cli.commands.serve",anchor:"openenv.cli.commands.serve",parameters:[{name:"env_path",val:": Annotated[str | None, typer.Argument(help='Path to the environment directory (default: current directory)')] = None"},{name:"port",val:": Annotated[int, typer.Option('--port', '-p', help='Port to serve on')] = 8000"},{name:"host",val:": Annotated[str, typer.Option('--host', help='Host to bind to')] = '0.0.0.0'"},{name:"reload",val:": Annotated[bool, typer.Option('--reload', help='Enable auto-reload on code changes')] = False"}],source:"https://github.com/huggingface/openenv/blob/vr_787/openenv/cli/commands/serve.py#L21"}}),ve=new W({props:{title:"openenv fork",local:"openenv.cli.commands.fork",headingTag:"h2"}}),ue=new k({props:{name:"openenv.cli.commands.fork",anchor:"openenv.cli.commands.fork",parameters:[{name:"source_space",val:`: Annotated[str, typer.Argument(help="Source Space ID in format 'owner/space-name' (e.g. org/my-openenv-space)")]`},{name:"repo_id",val:": Annotated[str | None, typer.Option('--repo-id', '-r', help='Target repo ID for the fork (default: created under your account with same name)')] = None"},{name:"private",val:": Annotated[bool, typer.Option('--private', help='Create the forked Space as private')] = False"},{name:"set_env",val:": Annotated[list[str], typer.Option('--set-env', '-e', help='Set Space variable (public). Can be repeated. Format: KEY=VALUE')] = []"},{name:"set_secret",val:": Annotated[list[str], typer.Option('--set-secret', '--secret', '-s', help='Set Space secret. Can be repeated. Format: KEY=VALUE')] = []"},{name:"hardware",val:": Annotated[str | None, typer.Option('--hardware', '-H', help='Request hardware (e.g. t4-medium, cpu-basic). See Hub docs for options.')] = None"}],source:"https://github.com/huggingface/openenv/blob/vr_787/openenv/cli/commands/fork.py#L86"}}),K=new Jt({props:{anchor:"openenv.cli.commands.fork.example",$$slots:{default:[la]},$$scope:{ctx:N}}}),fe=new W({props:{title:"openenv skills",local:"openenv.cli.commands.skills.skills_add",headingTag:"h2"}}),he=new A({props:{code:"b3BlbmVudiUyMHNraWxscyUyMGFkZCUyMC0tY2xhdWRlJTIwJTIwJTIwJTIwJTIzJTIwJUUyJTg2JTkyJTIwLmNsYXVkZSUyRnNraWxscyUyRm9wZW5lbnYtY2xpJTJGJTBBb3BlbmVudiUyMHNraWxscyUyMGFkZCUyMC0tY3Vyc29yJTIwJTIwJTIwJTIwJTIzJTIwJUUyJTg2JTkyJTIwLmN1cnNvciUyRnNraWxscyUyRm9wZW5lbnYtY2xpJTJGJTBBb3BlbmVudiUyMHNraWxscyUyMGFkZCUyMC0tY29kZXglMjAlMjAlMjAlMjAlMjAlMjMlMjAlRTIlODYlOTIlMjAuY29kZXglMkZza2lsbHMlMkZvcGVuZW52LWNsaSUyRiUwQW9wZW5lbnYlMjBza2lsbHMlMjBhZGQlMjAtLW9wZW5jb2RlJTIwJTIwJTIzJTIwJUUyJTg2JTkyJTIwLm9wZW5jb2RlJTJGc2tpbGxzJTJGb3BlbmVudi1jbGklMkY=",highlighted:`openenv skills add --claude <span class="hljs-comment"># → .claude/skills/openenv-cli/</span>
openenv skills add --cursor <span class="hljs-comment"># → .cursor/skills/openenv-cli/</span>
openenv skills add --codex <span class="hljs-comment"># → .codex/skills/openenv-cli/</span>
openenv skills add --opencode <span class="hljs-comment"># → .opencode/skills/openenv-cli/</span>`,lang:"bash",wrap:!1}}),Me=new A({props:{code:"b3BlbmVudiUyMHNraWxscyUyMGFkZCUyMC0tY2xhdWRlJTIwLS1nbG9iYWwlMjAlMjAlMjMlMjAlRTIlODYlOTIlMjB+JTJGLmNsYXVkZSUyRnNraWxscyUyRm9wZW5lbnYtY2xpJTJG",highlighted:'openenv skills add --claude --global <span class="hljs-comment"># → ~/.claude/skills/openenv-cli/</span>',lang:"bash",wrap:!1}}),Je=new A({props:{code:"b3BlbmVudiUyMHNraWxscyUyMGFkZCUyMC0tY2xhdWRlJTIwLS1mb3JjZQ==",highlighted:"openenv skills add --claude --force",lang:"bash",wrap:!1}}),_e=new A({props:{code:"b3BlbmVudiUyMHNraWxscyUyMHByZXZpZXc=",highlighted:"openenv skills preview",lang:"bash",wrap:!1}}),Ie=new A({props:{code:"b3BlbmVudiUyMHNraWxscyUyMGFkZCUyMC0tZGVzdCUyMCUyRnBhdGglMkZ0byUyRm15LWFnZW50JTJGc2tpbGxzJTJG",highlighted:"openenv skills add --dest /path/to/my-agent/skills/",lang:"bash",wrap:!1}}),Be=new k({props:{name:"openenv.cli.commands.skills.skills_add",anchor:"openenv.cli.commands.skills.skills_add",parameters:[{name:"claude",val:": Annotated[bool, typer.Option('--claude', help='Install for Claude.')] = False"},{name:"codex",val:": Annotated[bool, typer.Option('--codex', help='Install for Codex.')] = False"},{name:"cursor",val:": Annotated[bool, typer.Option('--cursor', help='Install for Cursor.')] = False"},{name:"opencode",val:": Annotated[bool, typer.Option('--opencode', help='Install for OpenCode.')] = False"},{name:"global_",val:": Annotated[bool, typer.Option('--global', '-g', help='Install globally (user-level) instead of in the current project directory.')] = False"},{name:"dest",val:": Annotated[Path | None, typer.Option(help='Install into a custom destination (skills directory path).')] = None"},{name:"force",val:": Annotated[bool, typer.Option('--force', help='Overwrite existing skills in the destination.')] = False"}],source:"https://github.com/huggingface/openenv/blob/vr_787/openenv/cli/commands/skills.py#L139"}}),Ce=new k({props:{name:"openenv.cli.commands.skills.skills_preview",anchor:"openenv.cli.commands.skills.skills_preview",parameters:[],source:"https://github.com/huggingface/openenv/blob/vr_787/openenv/cli/commands/skills.py#L133"}}),je=new W({props:{title:"API Reference",local:"api-reference",headingTag:"h1"}}),ke=new W({props:{title:"Entry point",local:"openenv.cli. main .main",headingTag:"h2"}}),Ue=new k({props:{name:"openenv.cli.__main__.main",anchor:"openenv.cli.__main__.main",parameters:[],source:"https://github.com/huggingface/openenv/blob/vr_787/openenv/cli/__main__.py#L66"}}),Ve=new W({props:{title:"CLI helpers",local:"openenv.cli._cli_utils.validate_env_structure",headingTag:"h2"}}),Ze=new k({props:{name:"openenv.cli._cli_utils.validate_env_structure",anchor:"openenv.cli._cli_utils.validate_env_structure",parameters:[{name:"env_dir",val:": Path"},{name:"strict",val:": bool = False"}],parametersDescription:[{anchor:"openenv.cli._cli_utils.validate_env_structure.env_dir",description:`<strong>env_dir</strong> (<code>Path</code>) &#x2014;
Path to the environment directory.`,name:"env_dir"},{anchor:"openenv.cli._cli_utils.validate_env_structure.strict",description:`<strong>strict</strong> (<code>bool</code>, <em>optional</em>, defaults to <code>False</code>) &#x2014;
If <code>True</code>, enforce all optional requirements.`,name:"strict"}],source:"https://github.com/huggingface/openenv/blob/vr_787/openenv/cli/_cli_utils.py#L18",returnDescription:`<script context="module">export const metadata = 'undefined';<\/script>
<p><code>list</code> of validation warnings (empty if all checks pass).</p>
`,raiseDescription:`<script context="module">export const metadata = 'undefined';<\/script>
<ul>
<li><code>FileNotFoundError</code> — If required files are missing.</li>
</ul>
`,raiseType:`<script context="module">export const metadata = 'undefined';<\/script>
<p><code>FileNotFoundError</code></p>
`}}),Ge=new W({props:{title:"Validation utilities",local:"openenv.cli._validation.validate_running_environment",headingTag:"h2"}}),Ne=new k({props:{name:"openenv.cli._validation.validate_running_environment",anchor:"openenv.cli._validation.validate_running_environment",parameters:[{name:"base_url",val:": str"},{name:"timeout_s",val:": float = 5.0"}],source:"https://github.com/huggingface/openenv/blob/vr_787/openenv/cli/_validation.py#L103"}}),We=new k({props:{name:"openenv.cli._validation.validate_multi_mode_deployment",anchor:"openenv.cli._validation.validate_multi_mode_deployment",parameters:[{name:"env_path",val:": Path"}],source:"https://github.com/huggingface/openenv/blob/vr_787/openenv/cli/_validation.py#L502",returnDescription:`<script context="module">export const metadata = 'undefined';<\/script>
<p><code>tuple</code> of <code>(is_valid, issues)</code> where <code>is_valid</code> is a <code>bool</code> and <code>issues</code> is a
<code>list</code> of issue strings found during validation.</p>
`}}),Ee=new k({props:{name:"openenv.cli._validation.get_deployment_modes",anchor:"openenv.cli._validation.get_deployment_modes",parameters:[{name:"env_path",val:": Path"}],source:"https://github.com/huggingface/openenv/blob/vr_787/openenv/cli/_validation.py#L578",returnDescription:`<script context="module">export const metadata = 'undefined';<\/script>
<p><code>dict</code> mapping deployment mode names to whether they are supported.</p>
`}}),Le=new k({props:{name:"openenv.cli._validation.format_validation_report",anchor:"openenv.cli._validation.format_validation_report",parameters:[{name:"env_name",val:": str"},{name:"is_valid",val:": bool"},{name:"issues",val:": list"}],source:"https://github.com/huggingface/openenv/blob/vr_787/openenv/cli/_validation.py#L607",returnDescription:`<script context="module">export const metadata = 'undefined';<\/script>
<p>formatted validation report.</p>
`,returnType:`<script context="module">export const metadata = 'undefined';<\/script>
<p><code>str</code></p>
`}}),He=new k({props:{name:"openenv.cli._validation.build_local_validation_json_report",anchor:"openenv.cli._validation.build_local_validation_json_report",parameters:[{name:"env_name",val:": str"},{name:"env_path",val:": Path"},{name:"is_valid",val:": bool"},{name:"issues",val:": list"},{name:"deployment_modes",val:": dict[str, bool] | None = None"}],source:"https://github.com/huggingface/openenv/blob/vr_787/openenv/cli/_validation.py#L625"}}),Ae=new ql({props:{source:"https://github.com/huggingface/openenv/blob/main/docs/source/reference/cli.md"}}),{c(){m=i("meta"),J=l(),y=i("p"),c=l(),v(b.$$.fragment),o=l(),v(M.$$.fragment),_t=l(),ne=i("p"),ne.innerHTML=ol,xt=l(),v(le.$$.fragment),It=l(),U=i("div"),v(ae.$$.fragment),Mn=l(),Se=i("p"),Se.textContent=rl,wn=l(),Fe=i("p"),Fe.textContent=sl,Jn=l(),v(Q.$$.fragment),Bt=l(),v(oe.$$.fragment),Ct=l(),V=i("div"),v(re.$$.fragment),Tn=l(),Pe=i("p"),Pe.textContent=il,_n=l(),Ye=i("p"),Ye.textContent=pl,xn=l(),v(D.$$.fragment),jt=l(),v(se.$$.fragment),kt=l(),_=i("div"),v(ie.$$.fragment),In=l(),Re=i("p"),Re.textContent=ml,Bn=l(),Oe=i("p"),Oe.textContent=dl,Cn=l(),Xe=i("ul"),Xe.innerHTML=cl,jn=l(),Qe=i("p"),Qe.textContent=vl,kn=l(),v(z.$$.fragment),Ut=l(),v(pe.$$.fragment),Vt=l(),x=i("div"),v(me.$$.fragment),Un=l(),De=i("p"),De.textContent=ul,Vn=l(),ze=i("p"),ze.textContent=fl,Zn=l(),qe=i("ol"),qe.innerHTML=gl,Gn=l(),Ke=i("p"),Ke.textContent=$l,Nn=l(),v(q.$$.fragment),Zt=l(),v(de.$$.fragment),Gt=l(),w=i("div"),v(ce.$$.fragment),Wn=l(),et=i("p"),et.textContent=hl,En=l(),tt=i("p"),tt.textContent=bl,Ln=l(),nt=i("p"),nt.textContent=yl,Hn=l(),lt=i("ul"),lt.innerHTML=Ml,An=l(),at=i("p"),at.textContent=wl,Sn=l(),ot=i("ol"),ot.innerHTML=Jl,Fn=l(),rt=i("p"),rt.textContent=Tl,Nt=l(),v(ve.$$.fragment),Wt=l(),Z=i("div"),v(ue.$$.fragment),Pn=l(),st=i("p"),st.textContent=_l,Yn=l(),it=i("p"),it.textContent=xl,Rn=l(),v(K.$$.fragment),Et=l(),v(fe.$$.fragment),Lt=l(),ge=i("p"),ge.innerHTML=Il,Ht=l(),$e=i("p"),$e.innerHTML=Bl,At=l(),v(he.$$.fragment),St=l(),be=i("p"),be.innerHTML=Cl,Ft=l(),ye=i("p"),ye.innerHTML=jl,Pt=l(),v(Me.$$.fragment),Yt=l(),we=i("p"),we.innerHTML=kl,Rt=l(),v(Je.$$.fragment),Ot=l(),Te=i("p"),Te.innerHTML=Ul,Xt=l(),v(_e.$$.fragment),Qt=l(),xe=i("p"),xe.innerHTML=Vl,Dt=l(),v(Ie.$$.fragment),zt=l(),S=i("div"),v(Be.$$.fragment),On=l(),pt=i("p"),pt.textContent=Zl,qt=l(),F=i("div"),v(Ce.$$.fragment),Xn=l(),mt=i("p"),mt.textContent=Gl,Kt=l(),v(je.$$.fragment),en=l(),v(ke.$$.fragment),tn=l(),P=i("div"),v(Ue.$$.fragment),Qn=l(),dt=i("p"),dt.textContent=Nl,nn=l(),v(Ve.$$.fragment),ln=l(),Y=i("div"),v(Ze.$$.fragment),Dn=l(),ct=i("p"),ct.textContent=Wl,an=l(),v(Ge.$$.fragment),on=l(),E=i("div"),v(Ne.$$.fragment),zn=l(),vt=i("p"),vt.textContent=El,qn=l(),ut=i("p"),ut.textContent=Ll,rn=l(),G=i("div"),v(We.$$.fragment),Kn=l(),ft=i("p"),ft.textContent=Hl,el=l(),gt=i("p"),gt.textContent=Al,tl=l(),$t=i("ol"),$t.innerHTML=Sl,sn=l(),R=i("div"),v(Ee.$$.fragment),nl=l(),ht=i("p"),ht.textContent=Fl,pn=l(),O=i("div"),v(Le.$$.fragment),ll=l(),bt=i("p"),bt.textContent=Pl,mn=l(),X=i("div"),v(He.$$.fragment),al=l(),yt=i("p"),yt.textContent=Yl,dn=l(),v(Ae.$$.fragment),cn=l(),wt=i("p"),this.h()},l(e){const t=Dl("svelte-u9bgzb",document.head);m=p(t,"META",{name:!0,content:!0}),t.forEach(n),J=a(e),y=p(e,"P",{}),I(y).forEach(n),c=a(e),u(b.$$.fragment,e),o=a(e),u(M.$$.fragment,e),_t=a(e),ne=p(e,"P",{"data-svelte-h":!0}),d(ne)!=="svelte-h3lshr"&&(ne.innerHTML=ol),xt=a(e),u(le.$$.fragment,e),It=a(e),U=p(e,"DIV",{class:!0});var L=I(U);u(ae.$$.fragment,L),Mn=a(L),Se=p(L,"P",{"data-svelte-h":!0}),d(Se)!=="svelte-1de4lkp"&&(Se.textContent=rl),wn=a(L),Fe=p(L,"P",{"data-svelte-h":!0}),d(Fe)!=="svelte-prfr33"&&(Fe.textContent=sl),Jn=a(L),u(Q.$$.fragment,L),L.forEach(n),Bt=a(e),u(oe.$$.fragment,e),Ct=a(e),V=p(e,"DIV",{class:!0});var H=I(V);u(re.$$.fragment,H),Tn=a(H),Pe=p(H,"P",{"data-svelte-h":!0}),d(Pe)!=="svelte-nca0xi"&&(Pe.textContent=il),_n=a(H),Ye=p(H,"P",{"data-svelte-h":!0}),d(Ye)!=="svelte-1tumx25"&&(Ye.textContent=pl),xn=a(H),u(D.$$.fragment,H),H.forEach(n),jt=a(e),u(se.$$.fragment,e),kt=a(e),_=p(e,"DIV",{class:!0});var C=I(_);u(ie.$$.fragment,C),In=a(C),Re=p(C,"P",{"data-svelte-h":!0}),d(Re)!=="svelte-fktvfq"&&(Re.textContent=ml),Bn=a(C),Oe=p(C,"P",{"data-svelte-h":!0}),d(Oe)!=="svelte-1qoxqbv"&&(Oe.textContent=dl),Cn=a(C),Xe=p(C,"UL",{"data-svelte-h":!0}),d(Xe)!=="svelte-1xqgigw"&&(Xe.innerHTML=cl),jn=a(C),Qe=p(C,"P",{"data-svelte-h":!0}),d(Qe)!=="svelte-wp0rk"&&(Qe.textContent=vl),kn=a(C),u(z.$$.fragment,C),C.forEach(n),Ut=a(e),u(pe.$$.fragment,e),Vt=a(e),x=p(e,"DIV",{class:!0});var j=I(x);u(me.$$.fragment,j),Un=a(j),De=p(j,"P",{"data-svelte-h":!0}),d(De)!=="svelte-zehzl3"&&(De.textContent=ul),Vn=a(j),ze=p(j,"P",{"data-svelte-h":!0}),d(ze)!=="svelte-mqnrhx"&&(ze.textContent=fl),Zn=a(j),qe=p(j,"OL",{"data-svelte-h":!0}),d(qe)!=="svelte-1khaat7"&&(qe.innerHTML=gl),Gn=a(j),Ke=p(j,"P",{"data-svelte-h":!0}),d(Ke)!=="svelte-1if8tjm"&&(Ke.textContent=$l),Nn=a(j),u(q.$$.fragment,j),j.forEach(n),Zt=a(e),u(de.$$.fragment,e),Gt=a(e),w=p(e,"DIV",{class:!0});var T=I(w);u(ce.$$.fragment,T),Wn=a(T),et=p(T,"P",{"data-svelte-h":!0}),d(et)!=="svelte-xuhway"&&(et.textContent=hl),En=a(T),tt=p(T,"P",{"data-svelte-h":!0}),d(tt)!=="svelte-1bzoogd"&&(tt.textContent=bl),Ln=a(T),nt=p(T,"P",{"data-svelte-h":!0}),d(nt)!=="svelte-oepyyr"&&(nt.textContent=yl),Hn=a(T),lt=p(T,"UL",{"data-svelte-h":!0}),d(lt)!=="svelte-1rc5csn"&&(lt.innerHTML=Ml),An=a(T),at=p(T,"P",{"data-svelte-h":!0}),d(at)!=="svelte-1e07xie"&&(at.textContent=wl),Sn=a(T),ot=p(T,"OL",{"data-svelte-h":!0}),d(ot)!=="svelte-1krxxmh"&&(ot.innerHTML=Jl),Fn=a(T),rt=p(T,"P",{"data-svelte-h":!0}),d(rt)!=="svelte-14r93ui"&&(rt.textContent=Tl),T.forEach(n),Nt=a(e),u(ve.$$.fragment,e),Wt=a(e),Z=p(e,"DIV",{class:!0});var ee=I(Z);u(ue.$$.fragment,ee),Pn=a(ee),st=p(ee,"P",{"data-svelte-h":!0}),d(st)!=="svelte-1cfrhri"&&(st.textContent=_l),Yn=a(ee),it=p(ee,"P",{"data-svelte-h":!0}),d(it)!=="svelte-1ptpqjq"&&(it.textContent=xl),Rn=a(ee),u(K.$$.fragment,ee),ee.forEach(n),Et=a(e),u(fe.$$.fragment,e),Lt=a(e),ge=p(e,"P",{"data-svelte-h":!0}),d(ge)!=="svelte-4ciskg"&&(ge.innerHTML=Il),Ht=a(e),$e=p(e,"P",{"data-svelte-h":!0}),d($e)!=="svelte-1qqq0uy"&&($e.innerHTML=Bl),At=a(e),u(he.$$.fragment,e),St=a(e),be=p(e,"P",{"data-svelte-h":!0}),d(be)!=="svelte-904ub0"&&(be.innerHTML=Cl),Ft=a(e),ye=p(e,"P",{"data-svelte-h":!0}),d(ye)!=="svelte-1dgltep"&&(ye.innerHTML=jl),Pt=a(e),u(Me.$$.fragment,e),Yt=a(e),we=p(e,"P",{"data-svelte-h":!0}),d(we)!=="svelte-qmq370"&&(we.innerHTML=kl),Rt=a(e),u(Je.$$.fragment,e),Ot=a(e),Te=p(e,"P",{"data-svelte-h":!0}),d(Te)!=="svelte-jqandn"&&(Te.innerHTML=Ul),Xt=a(e),u(_e.$$.fragment,e),Qt=a(e),xe=p(e,"P",{"data-svelte-h":!0}),d(xe)!=="svelte-1dxii8m"&&(xe.innerHTML=Vl),Dt=a(e),u(Ie.$$.fragment,e),zt=a(e),S=p(e,"DIV",{class:!0});var un=I(S);u(Be.$$.fragment,un),On=a(un),pt=p(un,"P",{"data-svelte-h":!0}),d(pt)!=="svelte-783fop"&&(pt.textContent=Zl),un.forEach(n),qt=a(e),F=p(e,"DIV",{class:!0});var fn=I(F);u(Ce.$$.fragment,fn),Xn=a(fn),mt=p(fn,"P",{"data-svelte-h":!0}),d(mt)!=="svelte-xqodh3"&&(mt.textContent=Gl),fn.forEach(n),Kt=a(e),u(je.$$.fragment,e),en=a(e),u(ke.$$.fragment,e),tn=a(e),P=p(e,"DIV",{class:!0});var gn=I(P);u(Ue.$$.fragment,gn),Qn=a(gn),dt=p(gn,"P",{"data-svelte-h":!0}),d(dt)!=="svelte-tye4l9"&&(dt.textContent=Nl),gn.forEach(n),nn=a(e),u(Ve.$$.fragment,e),ln=a(e),Y=p(e,"DIV",{class:!0});var $n=I(Y);u(Ze.$$.fragment,$n),Dn=a($n),ct=p($n,"P",{"data-svelte-h":!0}),d(ct)!=="svelte-p58zqc"&&(ct.textContent=Wl),$n.forEach(n),an=a(e),u(Ge.$$.fragment,e),on=a(e),E=p(e,"DIV",{class:!0});var Mt=I(E);u(Ne.$$.fragment,Mt),zn=a(Mt),vt=p(Mt,"P",{"data-svelte-h":!0}),d(vt)!=="svelte-mibtdb"&&(vt.textContent=El),qn=a(Mt),ut=p(Mt,"P",{"data-svelte-h":!0}),d(ut)!=="svelte-1g25t2e"&&(ut.textContent=Ll),Mt.forEach(n),rn=a(e),G=p(e,"DIV",{class:!0});var te=I(G);u(We.$$.fragment,te),Kn=a(te),ft=p(te,"P",{"data-svelte-h":!0}),d(ft)!=="svelte-1d0mhrd"&&(ft.textContent=Hl),el=a(te),gt=p(te,"P",{"data-svelte-h":!0}),d(gt)!=="svelte-avus81"&&(gt.textContent=Al),tl=a(te),$t=p(te,"OL",{"data-svelte-h":!0}),d($t)!=="svelte-4r4bch"&&($t.innerHTML=Sl),te.forEach(n),sn=a(e),R=p(e,"DIV",{class:!0});var hn=I(R);u(Ee.$$.fragment,hn),nl=a(hn),ht=p(hn,"P",{"data-svelte-h":!0}),d(ht)!=="svelte-tsxdrd"&&(ht.textContent=Fl),hn.forEach(n),pn=a(e),O=p(e,"DIV",{class:!0});var bn=I(O);u(Le.$$.fragment,bn),ll=a(bn),bt=p(bn,"P",{"data-svelte-h":!0}),d(bt)!=="svelte-17mg9c"&&(bt.textContent=Pl),bn.forEach(n),mn=a(e),X=p(e,"DIV",{class:!0});var yn=I(X);u(He.$$.fragment,yn),al=a(yn),yt=p(yn,"P",{"data-svelte-h":!0}),d(yt)!=="svelte-dn6w6p"&&(yt.textContent=Yl),yn.forEach(n),dn=a(e),u(Ae.$$.fragment,e),cn=a(e),wt=p(e,"P",{}),I(wt).forEach(n),this.h()},h(){B(m,"name","hf:doc:metadata"),B(m,"content",oa),B(U,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),B(V,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),B(_,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),B(x,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),B(w,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),B(Z,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),B(S,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),B(F,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),B(P,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),B(Y,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),B(E,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),B(G,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),B(R,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),B(O,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),B(X,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8")},m(e,t){s(document.head,m),r(e,J,t),r(e,y,t),r(e,c,t),f(b,e,t),r(e,o,t),f(M,e,t),r(e,_t,t),r(e,ne,t),r(e,xt,t),f(le,e,t),r(e,It,t),r(e,U,t),f(ae,U,null),s(U,Mn),s(U,Se),s(U,wn),s(U,Fe),s(U,Jn),f(Q,U,null),r(e,Bt,t),f(oe,e,t),r(e,Ct,t),r(e,V,t),f(re,V,null),s(V,Tn),s(V,Pe),s(V,_n),s(V,Ye),s(V,xn),f(D,V,null),r(e,jt,t),f(se,e,t),r(e,kt,t),r(e,_,t),f(ie,_,null),s(_,In),s(_,Re),s(_,Bn),s(_,Oe),s(_,Cn),s(_,Xe),s(_,jn),s(_,Qe),s(_,kn),f(z,_,null),r(e,Ut,t),f(pe,e,t),r(e,Vt,t),r(e,x,t),f(me,x,null),s(x,Un),s(x,De),s(x,Vn),s(x,ze),s(x,Zn),s(x,qe),s(x,Gn),s(x,Ke),s(x,Nn),f(q,x,null),r(e,Zt,t),f(de,e,t),r(e,Gt,t),r(e,w,t),f(ce,w,null),s(w,Wn),s(w,et),s(w,En),s(w,tt),s(w,Ln),s(w,nt),s(w,Hn),s(w,lt),s(w,An),s(w,at),s(w,Sn),s(w,ot),s(w,Fn),s(w,rt),r(e,Nt,t),f(ve,e,t),r(e,Wt,t),r(e,Z,t),f(ue,Z,null),s(Z,Pn),s(Z,st),s(Z,Yn),s(Z,it),s(Z,Rn),f(K,Z,null),r(e,Et,t),f(fe,e,t),r(e,Lt,t),r(e,ge,t),r(e,Ht,t),r(e,$e,t),r(e,At,t),f(he,e,t),r(e,St,t),r(e,be,t),r(e,Ft,t),r(e,ye,t),r(e,Pt,t),f(Me,e,t),r(e,Yt,t),r(e,we,t),r(e,Rt,t),f(Je,e,t),r(e,Ot,t),r(e,Te,t),r(e,Xt,t),f(_e,e,t),r(e,Qt,t),r(e,xe,t),r(e,Dt,t),f(Ie,e,t),r(e,zt,t),r(e,S,t),f(Be,S,null),s(S,On),s(S,pt),r(e,qt,t),r(e,F,t),f(Ce,F,null),s(F,Xn),s(F,mt),r(e,Kt,t),f(je,e,t),r(e,en,t),f(ke,e,t),r(e,tn,t),r(e,P,t),f(Ue,P,null),s(P,Qn),s(P,dt),r(e,nn,t),f(Ve,e,t),r(e,ln,t),r(e,Y,t),f(Ze,Y,null),s(Y,Dn),s(Y,ct),r(e,an,t),f(Ge,e,t),r(e,on,t),r(e,E,t),f(Ne,E,null),s(E,zn),s(E,vt),s(E,qn),s(E,ut),r(e,rn,t),r(e,G,t),f(We,G,null),s(G,Kn),s(G,ft),s(G,el),s(G,gt),s(G,tl),s(G,$t),r(e,sn,t),r(e,R,t),f(Ee,R,null),s(R,nl),s(R,ht),r(e,pn,t),r(e,O,t),f(Le,O,null),s(O,ll),s(O,bt),r(e,mn,t),r(e,X,t),f(He,X,null),s(X,al),s(X,yt),r(e,dn,t),f(Ae,e,t),r(e,cn,t),r(e,wt,t),vn=!0},p(e,[t]){const L={};t&2&&(L.$$scope={dirty:t,ctx:e}),Q.$set(L);const H={};t&2&&(H.$$scope={dirty:t,ctx:e}),D.$set(H);const C={};t&2&&(C.$$scope={dirty:t,ctx:e}),z.$set(C);const j={};t&2&&(j.$$scope={dirty:t,ctx:e}),q.$set(j);const T={};t&2&&(T.$$scope={dirty:t,ctx:e}),K.$set(T)},i(e){vn||(g(b.$$.fragment,e),g(M.$$.fragment,e),g(le.$$.fragment,e),g(ae.$$.fragment,e),g(Q.$$.fragment,e),g(oe.$$.fragment,e),g(re.$$.fragment,e),g(D.$$.fragment,e),g(se.$$.fragment,e),g(ie.$$.fragment,e),g(z.$$.fragment,e),g(pe.$$.fragment,e),g(me.$$.fragment,e),g(q.$$.fragment,e),g(de.$$.fragment,e),g(ce.$$.fragment,e),g(ve.$$.fragment,e),g(ue.$$.fragment,e),g(K.$$.fragment,e),g(fe.$$.fragment,e),g(he.$$.fragment,e),g(Me.$$.fragment,e),g(Je.$$.fragment,e),g(_e.$$.fragment,e),g(Ie.$$.fragment,e),g(Be.$$.fragment,e),g(Ce.$$.fragment,e),g(je.$$.fragment,e),g(ke.$$.fragment,e),g(Ue.$$.fragment,e),g(Ve.$$.fragment,e),g(Ze.$$.fragment,e),g(Ge.$$.fragment,e),g(Ne.$$.fragment,e),g(We.$$.fragment,e),g(Ee.$$.fragment,e),g(Le.$$.fragment,e),g(He.$$.fragment,e),g(Ae.$$.fragment,e),vn=!0)},o(e){$(b.$$.fragment,e),$(M.$$.fragment,e),$(le.$$.fragment,e),$(ae.$$.fragment,e),$(Q.$$.fragment,e),$(oe.$$.fragment,e),$(re.$$.fragment,e),$(D.$$.fragment,e),$(se.$$.fragment,e),$(ie.$$.fragment,e),$(z.$$.fragment,e),$(pe.$$.fragment,e),$(me.$$.fragment,e),$(q.$$.fragment,e),$(de.$$.fragment,e),$(ce.$$.fragment,e),$(ve.$$.fragment,e),$(ue.$$.fragment,e),$(K.$$.fragment,e),$(fe.$$.fragment,e),$(he.$$.fragment,e),$(Me.$$.fragment,e),$(Je.$$.fragment,e),$(_e.$$.fragment,e),$(Ie.$$.fragment,e),$(Be.$$.fragment,e),$(Ce.$$.fragment,e),$(je.$$.fragment,e),$(ke.$$.fragment,e),$(Ue.$$.fragment,e),$(Ve.$$.fragment,e),$(Ze.$$.fragment,e),$(Ge.$$.fragment,e),$(Ne.$$.fragment,e),$(We.$$.fragment,e),$(Ee.$$.fragment,e),$(Le.$$.fragment,e),$(He.$$.fragment,e),$(Ae.$$.fragment,e),vn=!1},d(e){e&&(n(J),n(y),n(c),n(o),n(_t),n(ne),n(xt),n(It),n(U),n(Bt),n(Ct),n(V),n(jt),n(kt),n(_),n(Ut),n(Vt),n(x),n(Zt),n(Gt),n(w),n(Nt),n(Wt),n(Z),n(Et),n(Lt),n(ge),n(Ht),n($e),n(At),n(St),n(be),n(Ft),n(ye),n(Pt),n(Yt),n(we),n(Rt),n(Ot),n(Te),n(Xt),n(Qt),n(xe),n(Dt),n(zt),n(S),n(qt),n(F),n(Kt),n(en),n(tn),n(P),n(nn),n(ln),n(Y),n(an),n(on),n(E),n(rn),n(G),n(sn),n(R),n(pn),n(O),n(mn),n(X),n(dn),n(cn),n(wt)),n(m),h(b,e),h(M,e),h(le,e),h(ae),h(Q),h(oe,e),h(re),h(D),h(se,e),h(ie),h(z),h(pe,e),h(me),h(q),h(de,e),h(ce),h(ve,e),h(ue),h(K),h(fe,e),h(he,e),h(Me,e),h(Je,e),h(_e,e),h(Ie,e),h(Be),h(Ce),h(je,e),h(ke,e),h(Ue),h(Ve,e),h(Ze),h(Ge,e),h(Ne),h(We),h(Ee),h(Le),h(He),h(Ae,e)}}}const oa='{"title":"CLI","local":"cli","sections":[{"title":"openenv init","local":"openenv.cli.commands.init","sections":[],"depth":2},{"title":"openenv build","local":"openenv.cli.commands.build","sections":[],"depth":2},{"title":"openenv validate","local":"openenv.cli.commands.validate","sections":[],"depth":2},{"title":"openenv push","local":"openenv.cli.commands.push","sections":[],"depth":2},{"title":"openenv serve","local":"openenv.cli.commands.serve","sections":[],"depth":2},{"title":"openenv fork","local":"openenv.cli.commands.fork","sections":[],"depth":2},{"title":"openenv skills","local":"openenv.cli.commands.skills.skills_add","sections":[],"depth":2}],"depth":1}';function ra(N){return Ol(()=>{new URLSearchParams(window.location.search).get("fw")}),[]}class ca extends Xl{constructor(m){super(),Ql(this,m,ra,aa,Rl,{})}}export{ca as component};

Xet Storage Details

Size:
44 kB
·
Xet hash:
0213c4d9ecada5ce0b6880ae3bdec927b9733ef82c93a59460582d1795ef905e

Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.