Buckets:
| import{s as dt,n as gt,o as ft}from"../chunks/scheduler.2b22cead.js";import{S as It,i as $t,e as i,s as n,c as p,h as bt,a as M,d as l,b as a,f as ut,g as o,j as T,k as Ct,l as vt,m as s,n as y,t as r,o as m,p as c}from"../chunks/index.1a0e8013.js";import{C as Et,H as J,E as kt}from"../chunks/MermaidChart.svelte_svelte_type_style_lang.b05c8a6c.js";import{C as ae}from"../chunks/CodeBlock.db57489f.js";function At(Ke){let w,pe,ie,oe,U,ye,h,re,j,et="A simple test environment that echoes back messages. Perfect for testing the env APIs as well as demonstrating environment usage patterns.",me,u,ce,C,tt="The simplest way to use the Echo environment is through the <code>EchoEnv</code> class. The client is <strong>async by default</strong>:",Te,d,Je,g,lt="For <strong>synchronous usage</strong>, use the <code>.sync()</code> wrapper:",we,f,Ue,I,st="The <code>EchoEnv.from_docker_image()</code> method handles:",he,$,nt="<li>Starting the Docker container</li> <li>Waiting for the server to be ready</li> <li>Connecting to the environment</li> <li>Container cleanup when the context manager exits</li>",je,b,ue,v,at="Before using the environment, you need to build the Docker image:",Ce,E,de,k,ge,A,fe,Z,it="<strong>EchoAction</strong>: Contains a single field",Ie,B,Mt="<li><code>message</code> (str) - The message to echo back</li>",$e,G,be,N,pt="<strong>EchoObservation</strong>: Contains the echo response and metadata",ve,W,ot="<li><code>echoed_message</code> (str) - The message echoed back</li> <li><code>message_length</code> (int) - Length of the message</li> <li><code>reward</code> (float) - Reward based on message length (length × 0.1)</li> <li><code>done</code> (bool) - Always False for echo environment</li> <li><code>metadata</code> (dict) - Additional info like step count</li>",Ee,x,ke,V,yt="The reward is calculated as: <code>message_length × 0.1</code>",Ae,_,rt="<li>“Hi” → reward: 0.2</li> <li>“Hello, World!” → reward: 1.3</li> <li>Empty message → reward: 0.0</li>",Ze,X,Be,Q,Ge,R,mt="If you already have an Echo environment server running, you can connect directly:",Ne,H,We,S,ct="Note: When connecting to an existing server, closing the client will NOT stop the server.",xe,z,Ve,Y,_e,F,Tt="Test the environment logic directly without starting the HTTP server:",Xe,L,Qe,q,Jt="This verifies that:",Re,D,wt="<li>Environment resets correctly</li> <li>Step executes actions properly</li> <li>State tracking works</li> <li>Rewards are calculated correctly</li>",He,O,Se,P,Ut="Run the complete example that demonstrates the full workflow:",ze,K,Ye,ee,ht="This example shows:",Fe,te,jt="<li>Creating an environment from a Docker image</li> <li>Resetting and stepping through the environment</li> <li>Automatic cleanup with <code>close()</code></li>",Le,le,qe,se,De,ne,Oe,Me,Pe;return U=new Et({props:{containerStyle:"float: right; margin-left: 10px; display: inline-flex; position: relative; z-index: 10;"}}),h=new J({props:{title:"Echo Environment",local:"echo-environment",headingTag:"h1"}}),u=new J({props:{title:"Quick Start",local:"quick-start",headingTag:"h2"}}),d=new ae({props:{code:"aW1wb3J0JTIwYXN5bmNpbyUwQWZyb20lMjBlY2hvX2VudiUyMGltcG9ydCUyMEVjaG9BY3Rpb24lMkMlMjBFY2hvRW52JTBBJTBBYXN5bmMlMjBkZWYlMjBtYWluKCklM0ElMEElMjAlMjAlMjAlMjAlMjMlMjBDcmVhdGUlMjBlbnZpcm9ubWVudCUyMGZyb20lMjBEb2NrZXIlMjBpbWFnZSUwQSUyMCUyMCUyMCUyMGNsaWVudCUyMCUzRCUyMGF3YWl0JTIwRWNob0Vudi5mcm9tX2RvY2tlcl9pbWFnZSglMjJlY2hvLWVudiUzQWxhdGVzdCUyMiklMEElMEElMjAlMjAlMjAlMjBhc3luYyUyMHdpdGglMjBjbGllbnQlM0ElMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjMlMjBSZXNldCUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMHJlc3VsdCUyMCUzRCUyMGF3YWl0JTIwY2xpZW50LnJlc2V0KCklMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjBwcmludChmJTIyUmVzZXQlM0ElMjAlN0JyZXN1bHQub2JzZXJ2YXRpb24uZWNob2VkX21lc3NhZ2UlN0QlMjIpJTBBJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIzJTIwU2VuZCUyMG11bHRpcGxlJTIwbWVzc2FnZXMlMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjBtZXNzYWdlcyUyMCUzRCUyMCU1QiUyMkhlbGxvJTJDJTIwV29ybGQhJTIyJTJDJTIwJTIyVGVzdGluZyUyMGVjaG8lMjIlMkMlMjAlMjJGaW5hbCUyMG1lc3NhZ2UlMjIlNUQlMEElMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjBmb3IlMjBtc2clMjBpbiUyMG1lc3NhZ2VzJTNBJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwcmVzdWx0JTIwJTNEJTIwYXdhaXQlMjBjbGllbnQuc3RlcChFY2hvQWN0aW9uKG1lc3NhZ2UlM0Rtc2cpKSUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMHByaW50KGYlMjJTZW50JTNBJTIwJyU3Qm1zZyU3RCclMjIpJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwcHJpbnQoZiUyMiUyMCUyMCVFMiU4NiU5MiUyMEVjaG9lZCUzQSUyMCclN0JyZXN1bHQub2JzZXJ2YXRpb24uZWNob2VkX21lc3NhZ2UlN0QnJTIyKSUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMHByaW50KGYlMjIlMjAlMjAlRTIlODYlOTIlMjBMZW5ndGglM0ElMjAlN0JyZXN1bHQub2JzZXJ2YXRpb24ubWVzc2FnZV9sZW5ndGglN0QlMjIpJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwcHJpbnQoZiUyMiUyMCUyMCVFMiU4NiU5MiUyMFJld2FyZCUzQSUyMCU3QnJlc3VsdC5yZXdhcmQlN0QlMjIpJTBBJTBBYXN5bmNpby5ydW4obWFpbigpKQ==",highlighted:`<span class="hljs-keyword">import</span> asyncio | |
| <span class="hljs-keyword">from</span> echo_env <span class="hljs-keyword">import</span> EchoAction, EchoEnv | |
| <span class="hljs-keyword">async</span> <span class="hljs-keyword">def</span> <span class="hljs-title function_">main</span>(): | |
| <span class="hljs-comment"># Create environment from Docker image</span> | |
| client = <span class="hljs-keyword">await</span> EchoEnv.from_docker_image(<span class="hljs-string">"echo-env:latest"</span>) | |
| <span class="hljs-keyword">async</span> <span class="hljs-keyword">with</span> client: | |
| <span class="hljs-comment"># Reset</span> | |
| result = <span class="hljs-keyword">await</span> client.reset() | |
| <span class="hljs-built_in">print</span>(<span class="hljs-string">f"Reset: <span class="hljs-subst">{result.observation.echoed_message}</span>"</span>) | |
| <span class="hljs-comment"># Send multiple messages</span> | |
| messages = [<span class="hljs-string">"Hello, World!"</span>, <span class="hljs-string">"Testing echo"</span>, <span class="hljs-string">"Final message"</span>] | |
| <span class="hljs-keyword">for</span> msg <span class="hljs-keyword">in</span> messages: | |
| result = <span class="hljs-keyword">await</span> client.step(EchoAction(message=msg)) | |
| <span class="hljs-built_in">print</span>(<span class="hljs-string">f"Sent: '<span class="hljs-subst">{msg}</span>'"</span>) | |
| <span class="hljs-built_in">print</span>(<span class="hljs-string">f" → Echoed: '<span class="hljs-subst">{result.observation.echoed_message}</span>'"</span>) | |
| <span class="hljs-built_in">print</span>(<span class="hljs-string">f" → Length: <span class="hljs-subst">{result.observation.message_length}</span>"</span>) | |
| <span class="hljs-built_in">print</span>(<span class="hljs-string">f" → Reward: <span class="hljs-subst">{result.reward}</span>"</span>) | |
| asyncio.run(main())`,lang:"python",wrap:!1}}),f=new ae({props:{code:"ZnJvbSUyMGVjaG9fZW52JTIwaW1wb3J0JTIwRWNob0FjdGlvbiUyQyUyMEVjaG9FbnYlMEElMEF3aXRoJTIwRWNob0VudihiYXNlX3VybCUzRCUyMmh0dHAlM0ElMkYlMkZsb2NhbGhvc3QlM0E4MDAwJTIyKS5zeW5jKCklMjBhcyUyMGNsaWVudCUzQSUwQSUyMCUyMCUyMCUyMHJlc3VsdCUyMCUzRCUyMGNsaWVudC5yZXNldCgpJTBBJTIwJTIwJTIwJTIwcmVzdWx0JTIwJTNEJTIwY2xpZW50LnN0ZXAoRWNob0FjdGlvbihtZXNzYWdlJTNEJTIySGVsbG8hJTIyKSklMEElMjAlMjAlMjAlMjBwcmludChyZXN1bHQub2JzZXJ2YXRpb24uZWNob2VkX21lc3NhZ2Up",highlighted:`<span class="hljs-keyword">from</span> echo_env <span class="hljs-keyword">import</span> EchoAction, EchoEnv | |
| <span class="hljs-keyword">with</span> EchoEnv(base_url=<span class="hljs-string">"http://localhost:8000"</span>).sync() <span class="hljs-keyword">as</span> client: | |
| result = client.reset() | |
| result = client.step(EchoAction(message=<span class="hljs-string">"Hello!"</span>)) | |
| <span class="hljs-built_in">print</span>(result.observation.echoed_message)`,lang:"python",wrap:!1}}),b=new J({props:{title:"Building the Docker Image",local:"building-the-docker-image",headingTag:"h2"}}),E=new ae({props:{code:"JTIzJTIwRnJvbSUyMHByb2plY3QlMjByb290JTBBZG9ja2VyJTIwYnVpbGQlMjAtdCUyMGVjaG8tZW52JTNBbGF0ZXN0JTIwLWYlMjBlbnZzJTJGZWNob19lbnYlMkZzZXJ2ZXIlMkZEb2NrZXJmaWxlJTIwLg==",highlighted:`<span class="hljs-comment"># From project root</span> | |
| docker build -t echo-env:latest -f envs/echo_env/server/Dockerfile .`,lang:"bash",wrap:!1}}),k=new J({props:{title:"Environment Details",local:"environment-details",headingTag:"h2"}}),A=new J({props:{title:"Action",local:"action",headingTag:"h3"}}),G=new J({props:{title:"Observation",local:"observation",headingTag:"h3"}}),x=new J({props:{title:"Reward",local:"reward",headingTag:"h3"}}),X=new J({props:{title:"Advanced Usage",local:"advanced-usage",headingTag:"h2"}}),Q=new J({props:{title:"Connecting to an Existing Server",local:"connecting-to-an-existing-server",headingTag:"h3"}}),H=new ae({props:{code:"ZnJvbSUyMGVjaG9fZW52JTIwaW1wb3J0JTIwRWNob0FjdGlvbiUyQyUyMEVjaG9FbnYlMEElMEElMjMlMjBBc3luYyUyMHVzYWdlJTBBYXN5bmMlMjB3aXRoJTIwRWNob0VudihiYXNlX3VybCUzRCUyMmh0dHAlM0ElMkYlMkZsb2NhbGhvc3QlM0E4MDAwJTIyKSUyMGFzJTIwY2xpZW50JTNBJTBBJTIwJTIwJTIwJTIwcmVzdWx0JTIwJTNEJTIwYXdhaXQlMjBjbGllbnQucmVzZXQoKSUwQSUyMCUyMCUyMCUyMHJlc3VsdCUyMCUzRCUyMGF3YWl0JTIwY2xpZW50LnN0ZXAoRWNob0FjdGlvbihtZXNzYWdlJTNEJTIySGVsbG8hJTIyKSklMEElMEElMjMlMjBTeW5jJTIwdXNhZ2UlMEF3aXRoJTIwRWNob0VudihiYXNlX3VybCUzRCUyMmh0dHAlM0ElMkYlMkZsb2NhbGhvc3QlM0E4MDAwJTIyKS5zeW5jKCklMjBhcyUyMGNsaWVudCUzQSUwQSUyMCUyMCUyMCUyMHJlc3VsdCUyMCUzRCUyMGNsaWVudC5yZXNldCgpJTBBJTIwJTIwJTIwJTIwcmVzdWx0JTIwJTNEJTIwY2xpZW50LnN0ZXAoRWNob0FjdGlvbihtZXNzYWdlJTNEJTIySGVsbG8hJTIyKSk=",highlighted:`<span class="hljs-keyword">from</span> echo_env <span class="hljs-keyword">import</span> EchoAction, EchoEnv | |
| <span class="hljs-comment"># Async usage</span> | |
| <span class="hljs-keyword">async</span> <span class="hljs-keyword">with</span> EchoEnv(base_url=<span class="hljs-string">"http://localhost:8000"</span>) <span class="hljs-keyword">as</span> client: | |
| result = <span class="hljs-keyword">await</span> client.reset() | |
| result = <span class="hljs-keyword">await</span> client.step(EchoAction(message=<span class="hljs-string">"Hello!"</span>)) | |
| <span class="hljs-comment"># Sync usage</span> | |
| <span class="hljs-keyword">with</span> EchoEnv(base_url=<span class="hljs-string">"http://localhost:8000"</span>).sync() <span class="hljs-keyword">as</span> client: | |
| result = client.reset() | |
| result = client.step(EchoAction(message=<span class="hljs-string">"Hello!"</span>))`,lang:"python",wrap:!1}}),z=new J({props:{title:"Development & Testing",local:"development--testing",headingTag:"h2"}}),Y=new J({props:{title:"Direct Environment Testing",local:"direct-environment-testing",headingTag:"h3"}}),L=new ae({props:{code:"JTIzJTIwRnJvbSUyMHRoZSUyMHNlcnZlciUyMGRpcmVjdG9yeSUwQXB5dGhvbjMlMjBlbnZzJTJGZWNob19lbnYlMkZzZXJ2ZXIlMkZ0ZXN0X2VjaG9fZW52LnB5",highlighted:`<span class="hljs-comment"># From the server directory</span> | |
| python3 envs/echo_env/server/test_echo_env.py`,lang:"bash",wrap:!1}}),O=new J({props:{title:"Running the Full Example",local:"running-the-full-example",headingTag:"h3"}}),K=new ae({props:{code:"cHl0aG9uMyUyMGV4YW1wbGVzJTJGbG9jYWxfZWNob19lbnYucHk=",highlighted:"python3 examples/local_echo_env.py",lang:"bash",wrap:!1}}),le=new J({props:{title:"Project Structure",local:"project-structure",headingTag:"h2"}}),se=new ae({props:{code:"ZWNob19lbnYlMkYlMEElRTIlOTQlOUMlRTIlOTQlODAlRTIlOTQlODAlMjBfX2luaXRfXy5weSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMyUyME1vZHVsZSUyMGV4cG9ydHMlMEElRTIlOTQlOUMlRTIlOTQlODAlRTIlOTQlODAlMjBSRUFETUUubWQlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjMlMjBUaGlzJTIwZmlsZSUwQSVFMiU5NCU5QyVFMiU5NCU4MCVFMiU5NCU4MCUyMGNsaWVudC5weSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMyUyMEVjaG9FbnYlMjBjbGllbnQlMjBpbXBsZW1lbnRhdGlvbiUwQSVFMiU5NCU5QyVFMiU5NCU4MCVFMiU5NCU4MCUyMG1vZGVscy5weSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMyUyMEFjdGlvbiUyMGFuZCUyME9ic2VydmF0aW9uJTIwbW9kZWxzJTBBJUUyJTk0JTk0JUUyJTk0JTgwJUUyJTk0JTgwJTIwc2VydmVyJTJGJTBBJTIwJTIwJTIwJTIwJUUyJTk0JTlDJUUyJTk0JTgwJUUyJTk0JTgwJTIwX19pbml0X18ucHklMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjMlMjBTZXJ2ZXIlMjBtb2R1bGUlMjBleHBvcnRzJTBBJTIwJTIwJTIwJTIwJUUyJTk0JTlDJUUyJTk0JTgwJUUyJTk0JTgwJTIwZWNob19lbnZpcm9ubWVudC5weSUyMCUyMCUyMyUyMENvcmUlMjBlbnZpcm9ubWVudCUyMGxvZ2ljJTBBJTIwJTIwJTIwJTIwJUUyJTk0JTlDJUUyJTk0JTgwJUUyJTk0JTgwJTIwYXBwLnB5JTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIzJTIwRmFzdEFQSSUyMGFwcGxpY2F0aW9uJTBBJTIwJTIwJTIwJTIwJUUyJTk0JTlDJUUyJTk0JTgwJUUyJTk0JTgwJTIwdGVzdF9lY2hvX2Vudi5weSUyMCUyMCUyMCUyMyUyMERpcmVjdCUyMGVudmlyb25tZW50JTIwdGVzdHMlMEElMjAlMjAlMjAlMjAlRTIlOTQlOTQlRTIlOTQlODAlRTIlOTQlODAlMjBEb2NrZXJmaWxlJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIzJTIwQ29udGFpbmVyJTIwaW1hZ2UlMjBkZWZpbml0aW9u",highlighted:`<span class="hljs-keyword">echo</span>_env/ | |
| ├── __init__.py <span class="hljs-comment"># Module exports</span> | |
| ├── README.md <span class="hljs-comment"># This file</span> | |
| ├── client.py <span class="hljs-comment"># EchoEnv client implementation</span> | |
| ├── models.py <span class="hljs-comment"># Action and Observation models</span> | |
| └── server/ | |
| ├── __init__.py <span class="hljs-comment"># Server module exports</span> | |
| ├── <span class="hljs-keyword">echo</span>_environment.py <span class="hljs-comment"># Core environment logic</span> | |
| ├── app.py <span class="hljs-comment"># FastAPI application</span> | |
| ├── test_<span class="hljs-keyword">echo</span>_env.py <span class="hljs-comment"># Direct environment tests</span> | |
| └── Dockerfile <span class="hljs-comment"># Container image definition</span>`,lang:"",wrap:!1}}),ne=new kt({props:{source:"https://github.com/huggingface/openenv/blob/main/docs/source/environments/echo.md"}}),{c(){w=i("meta"),pe=n(),ie=i("p"),oe=n(),p(U.$$.fragment),ye=n(),p(h.$$.fragment),re=n(),j=i("p"),j.textContent=et,me=n(),p(u.$$.fragment),ce=n(),C=i("p"),C.innerHTML=tt,Te=n(),p(d.$$.fragment),Je=n(),g=i("p"),g.innerHTML=lt,we=n(),p(f.$$.fragment),Ue=n(),I=i("p"),I.innerHTML=st,he=n(),$=i("ul"),$.innerHTML=nt,je=n(),p(b.$$.fragment),ue=n(),v=i("p"),v.textContent=at,Ce=n(),p(E.$$.fragment),de=n(),p(k.$$.fragment),ge=n(),p(A.$$.fragment),fe=n(),Z=i("p"),Z.innerHTML=it,Ie=n(),B=i("ul"),B.innerHTML=Mt,$e=n(),p(G.$$.fragment),be=n(),N=i("p"),N.innerHTML=pt,ve=n(),W=i("ul"),W.innerHTML=ot,Ee=n(),p(x.$$.fragment),ke=n(),V=i("p"),V.innerHTML=yt,Ae=n(),_=i("ul"),_.innerHTML=rt,Ze=n(),p(X.$$.fragment),Be=n(),p(Q.$$.fragment),Ge=n(),R=i("p"),R.textContent=mt,Ne=n(),p(H.$$.fragment),We=n(),S=i("p"),S.textContent=ct,xe=n(),p(z.$$.fragment),Ve=n(),p(Y.$$.fragment),_e=n(),F=i("p"),F.textContent=Tt,Xe=n(),p(L.$$.fragment),Qe=n(),q=i("p"),q.textContent=Jt,Re=n(),D=i("ul"),D.innerHTML=wt,He=n(),p(O.$$.fragment),Se=n(),P=i("p"),P.textContent=Ut,ze=n(),p(K.$$.fragment),Ye=n(),ee=i("p"),ee.textContent=ht,Fe=n(),te=i("ul"),te.innerHTML=jt,Le=n(),p(le.$$.fragment),qe=n(),p(se.$$.fragment),De=n(),p(ne.$$.fragment),Oe=n(),Me=i("p"),this.h()},l(e){const t=bt("svelte-u9bgzb",document.head);w=M(t,"META",{name:!0,content:!0}),t.forEach(l),pe=a(e),ie=M(e,"P",{}),ut(ie).forEach(l),oe=a(e),o(U.$$.fragment,e),ye=a(e),o(h.$$.fragment,e),re=a(e),j=M(e,"P",{"data-svelte-h":!0}),T(j)!=="svelte-1mprf76"&&(j.textContent=et),me=a(e),o(u.$$.fragment,e),ce=a(e),C=M(e,"P",{"data-svelte-h":!0}),T(C)!=="svelte-y4fikg"&&(C.innerHTML=tt),Te=a(e),o(d.$$.fragment,e),Je=a(e),g=M(e,"P",{"data-svelte-h":!0}),T(g)!=="svelte-8391rg"&&(g.innerHTML=lt),we=a(e),o(f.$$.fragment,e),Ue=a(e),I=M(e,"P",{"data-svelte-h":!0}),T(I)!=="svelte-16pzo2g"&&(I.innerHTML=st),he=a(e),$=M(e,"UL",{"data-svelte-h":!0}),T($)!=="svelte-1t2hzd7"&&($.innerHTML=nt),je=a(e),o(b.$$.fragment,e),ue=a(e),v=M(e,"P",{"data-svelte-h":!0}),T(v)!=="svelte-78ic0n"&&(v.textContent=at),Ce=a(e),o(E.$$.fragment,e),de=a(e),o(k.$$.fragment,e),ge=a(e),o(A.$$.fragment,e),fe=a(e),Z=M(e,"P",{"data-svelte-h":!0}),T(Z)!=="svelte-lcm0sk"&&(Z.innerHTML=it),Ie=a(e),B=M(e,"UL",{"data-svelte-h":!0}),T(B)!=="svelte-qd7i7t"&&(B.innerHTML=Mt),$e=a(e),o(G.$$.fragment,e),be=a(e),N=M(e,"P",{"data-svelte-h":!0}),T(N)!=="svelte-1w9pev2"&&(N.innerHTML=pt),ve=a(e),W=M(e,"UL",{"data-svelte-h":!0}),T(W)!=="svelte-1y4ypaz"&&(W.innerHTML=ot),Ee=a(e),o(x.$$.fragment,e),ke=a(e),V=M(e,"P",{"data-svelte-h":!0}),T(V)!=="svelte-lp8y3z"&&(V.innerHTML=yt),Ae=a(e),_=M(e,"UL",{"data-svelte-h":!0}),T(_)!=="svelte-1qebf7w"&&(_.innerHTML=rt),Ze=a(e),o(X.$$.fragment,e),Be=a(e),o(Q.$$.fragment,e),Ge=a(e),R=M(e,"P",{"data-svelte-h":!0}),T(R)!=="svelte-11m57cs"&&(R.textContent=mt),Ne=a(e),o(H.$$.fragment,e),We=a(e),S=M(e,"P",{"data-svelte-h":!0}),T(S)!=="svelte-aoh96k"&&(S.textContent=ct),xe=a(e),o(z.$$.fragment,e),Ve=a(e),o(Y.$$.fragment,e),_e=a(e),F=M(e,"P",{"data-svelte-h":!0}),T(F)!=="svelte-12l40io"&&(F.textContent=Tt),Xe=a(e),o(L.$$.fragment,e),Qe=a(e),q=M(e,"P",{"data-svelte-h":!0}),T(q)!=="svelte-14xm71o"&&(q.textContent=Jt),Re=a(e),D=M(e,"UL",{"data-svelte-h":!0}),T(D)!=="svelte-1vwi0w5"&&(D.innerHTML=wt),He=a(e),o(O.$$.fragment,e),Se=a(e),P=M(e,"P",{"data-svelte-h":!0}),T(P)!=="svelte-1git5tw"&&(P.textContent=Ut),ze=a(e),o(K.$$.fragment,e),Ye=a(e),ee=M(e,"P",{"data-svelte-h":!0}),T(ee)!=="svelte-2vtaj6"&&(ee.textContent=ht),Fe=a(e),te=M(e,"UL",{"data-svelte-h":!0}),T(te)!=="svelte-6ougkc"&&(te.innerHTML=jt),Le=a(e),o(le.$$.fragment,e),qe=a(e),o(se.$$.fragment,e),De=a(e),o(ne.$$.fragment,e),Oe=a(e),Me=M(e,"P",{}),ut(Me).forEach(l),this.h()},h(){Ct(w,"name","hf:doc:metadata"),Ct(w,"content",Zt)},m(e,t){vt(document.head,w),s(e,pe,t),s(e,ie,t),s(e,oe,t),y(U,e,t),s(e,ye,t),y(h,e,t),s(e,re,t),s(e,j,t),s(e,me,t),y(u,e,t),s(e,ce,t),s(e,C,t),s(e,Te,t),y(d,e,t),s(e,Je,t),s(e,g,t),s(e,we,t),y(f,e,t),s(e,Ue,t),s(e,I,t),s(e,he,t),s(e,$,t),s(e,je,t),y(b,e,t),s(e,ue,t),s(e,v,t),s(e,Ce,t),y(E,e,t),s(e,de,t),y(k,e,t),s(e,ge,t),y(A,e,t),s(e,fe,t),s(e,Z,t),s(e,Ie,t),s(e,B,t),s(e,$e,t),y(G,e,t),s(e,be,t),s(e,N,t),s(e,ve,t),s(e,W,t),s(e,Ee,t),y(x,e,t),s(e,ke,t),s(e,V,t),s(e,Ae,t),s(e,_,t),s(e,Ze,t),y(X,e,t),s(e,Be,t),y(Q,e,t),s(e,Ge,t),s(e,R,t),s(e,Ne,t),y(H,e,t),s(e,We,t),s(e,S,t),s(e,xe,t),y(z,e,t),s(e,Ve,t),y(Y,e,t),s(e,_e,t),s(e,F,t),s(e,Xe,t),y(L,e,t),s(e,Qe,t),s(e,q,t),s(e,Re,t),s(e,D,t),s(e,He,t),y(O,e,t),s(e,Se,t),s(e,P,t),s(e,ze,t),y(K,e,t),s(e,Ye,t),s(e,ee,t),s(e,Fe,t),s(e,te,t),s(e,Le,t),y(le,e,t),s(e,qe,t),y(se,e,t),s(e,De,t),y(ne,e,t),s(e,Oe,t),s(e,Me,t),Pe=!0},p:gt,i(e){Pe||(r(U.$$.fragment,e),r(h.$$.fragment,e),r(u.$$.fragment,e),r(d.$$.fragment,e),r(f.$$.fragment,e),r(b.$$.fragment,e),r(E.$$.fragment,e),r(k.$$.fragment,e),r(A.$$.fragment,e),r(G.$$.fragment,e),r(x.$$.fragment,e),r(X.$$.fragment,e),r(Q.$$.fragment,e),r(H.$$.fragment,e),r(z.$$.fragment,e),r(Y.$$.fragment,e),r(L.$$.fragment,e),r(O.$$.fragment,e),r(K.$$.fragment,e),r(le.$$.fragment,e),r(se.$$.fragment,e),r(ne.$$.fragment,e),Pe=!0)},o(e){m(U.$$.fragment,e),m(h.$$.fragment,e),m(u.$$.fragment,e),m(d.$$.fragment,e),m(f.$$.fragment,e),m(b.$$.fragment,e),m(E.$$.fragment,e),m(k.$$.fragment,e),m(A.$$.fragment,e),m(G.$$.fragment,e),m(x.$$.fragment,e),m(X.$$.fragment,e),m(Q.$$.fragment,e),m(H.$$.fragment,e),m(z.$$.fragment,e),m(Y.$$.fragment,e),m(L.$$.fragment,e),m(O.$$.fragment,e),m(K.$$.fragment,e),m(le.$$.fragment,e),m(se.$$.fragment,e),m(ne.$$.fragment,e),Pe=!1},d(e){e&&(l(pe),l(ie),l(oe),l(ye),l(re),l(j),l(me),l(ce),l(C),l(Te),l(Je),l(g),l(we),l(Ue),l(I),l(he),l($),l(je),l(ue),l(v),l(Ce),l(de),l(ge),l(fe),l(Z),l(Ie),l(B),l($e),l(be),l(N),l(ve),l(W),l(Ee),l(ke),l(V),l(Ae),l(_),l(Ze),l(Be),l(Ge),l(R),l(Ne),l(We),l(S),l(xe),l(Ve),l(_e),l(F),l(Xe),l(Qe),l(q),l(Re),l(D),l(He),l(Se),l(P),l(ze),l(Ye),l(ee),l(Fe),l(te),l(Le),l(qe),l(De),l(Oe),l(Me)),l(w),c(U,e),c(h,e),c(u,e),c(d,e),c(f,e),c(b,e),c(E,e),c(k,e),c(A,e),c(G,e),c(x,e),c(X,e),c(Q,e),c(H,e),c(z,e),c(Y,e),c(L,e),c(O,e),c(K,e),c(le,e),c(se,e),c(ne,e)}}}const Zt='{"title":"Echo Environment","local":"echo-environment","sections":[{"title":"Quick Start","local":"quick-start","sections":[],"depth":2},{"title":"Building the Docker Image","local":"building-the-docker-image","sections":[],"depth":2},{"title":"Environment Details","local":"environment-details","sections":[{"title":"Action","local":"action","sections":[],"depth":3},{"title":"Observation","local":"observation","sections":[],"depth":3},{"title":"Reward","local":"reward","sections":[],"depth":3}],"depth":2},{"title":"Advanced Usage","local":"advanced-usage","sections":[{"title":"Connecting to an Existing Server","local":"connecting-to-an-existing-server","sections":[],"depth":3}],"depth":2},{"title":"Development & Testing","local":"development--testing","sections":[{"title":"Direct Environment Testing","local":"direct-environment-testing","sections":[],"depth":3},{"title":"Running the Full Example","local":"running-the-full-example","sections":[],"depth":3}],"depth":2},{"title":"Project Structure","local":"project-structure","sections":[],"depth":2}],"depth":1}';function Bt(Ke){return ft(()=>{new URLSearchParams(window.location.search).get("fw")}),[]}class Vt extends It{constructor(w){super(),$t(this,w,Bt,At,dt,{})}}export{Vt as component}; | |
Xet Storage Details
- Size:
- 21.2 kB
- Xet hash:
- a20c8db9abae65ddb1df1ea4d83477d97021db07436dd4a6d02253eab80ea291
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.