@@ -68,22 +68,18 @@ def connect(
6868 effect. The response returns a PtyConnectView containing connect_url (a
6969 server-relative path to the WebSocket data plane), idle_ttl_seconds (how long
7070 this session is retained after the last client disconnects), and the resulting
71- cols/rows. The interactive byte stream itself is intentionally not modeled in
72- OpenAPI; see the controller-level documentation for the WebSocket close-code
73- conventions. The single-attach contract is enforced when a client opens the
74- WebSocket data plane, not on this bootstrap call: bootstrap always succeeds for
75- a valid session_name, even if another client is currently attached. Rejection of
76- a second concurrent attach happens at WebSocket upgrade time. If the active
77- client disconnects, the session is preserved for the idle TTL so a later connect
78- using the same session_name resumes the same shell. After the TTL expires, after
79- an explicit close control action, or after the underlying Devbox lifecycle
80- replaces the PTY process (such as through suspend/resume), a later request with
81- the same session_name creates a fresh PTY session without the previous shell
82- state.
83-
84- Documentation note: this operation is published from mux strictly as an OpenAPI
85- contract stub for the PTY service control plane. It is not evidence that mux
86- itself serves the interactive PTY transport.
71+ cols/rows. The interactive terminal byte stream is exchanged over the WebSocket
72+ data plane and is not modeled in this OpenAPI contract; clients should connect
73+ to connect_url and exchange raw binary frames for terminal I/O. The
74+ single-attach contract is enforced when a client opens the WebSocket data plane,
75+ not on this bootstrap call: bootstrap always succeeds for a valid session_name,
76+ even if another client is currently attached. Rejection of a second concurrent
77+ attach happens at WebSocket upgrade time. If the active client disconnects, the
78+ session is preserved for the idle TTL so a later connect using the same
79+ session_name resumes the same shell. After the TTL expires, after an explicit
80+ close control action, or after the underlying Devbox lifecycle replaces the PTY
81+ process (such as through suspend/resume), a later request with the same
82+ session_name creates a fresh PTY session without the previous shell state.
8783
8884 Args:
8985 cols: Optional initial terminal width in character cells (1..=1000). Defaults to 80
@@ -158,10 +154,6 @@ def control(
158154 from the server's session cache. A subsequent connect with the same session_name
159155 will create a fresh PTY session.
160156
161- Documentation note: this operation is published from mux strictly as an OpenAPI
162- contract stub for the PTY service control plane. It is not evidence that mux
163- itself serves the interactive PTY transport.
164-
165157 Args:
166158 extra_headers: Send extra headers
167159
@@ -241,22 +233,18 @@ async def connect(
241233 effect. The response returns a PtyConnectView containing connect_url (a
242234 server-relative path to the WebSocket data plane), idle_ttl_seconds (how long
243235 this session is retained after the last client disconnects), and the resulting
244- cols/rows. The interactive byte stream itself is intentionally not modeled in
245- OpenAPI; see the controller-level documentation for the WebSocket close-code
246- conventions. The single-attach contract is enforced when a client opens the
247- WebSocket data plane, not on this bootstrap call: bootstrap always succeeds for
248- a valid session_name, even if another client is currently attached. Rejection of
249- a second concurrent attach happens at WebSocket upgrade time. If the active
250- client disconnects, the session is preserved for the idle TTL so a later connect
251- using the same session_name resumes the same shell. After the TTL expires, after
252- an explicit close control action, or after the underlying Devbox lifecycle
253- replaces the PTY process (such as through suspend/resume), a later request with
254- the same session_name creates a fresh PTY session without the previous shell
255- state.
256-
257- Documentation note: this operation is published from mux strictly as an OpenAPI
258- contract stub for the PTY service control plane. It is not evidence that mux
259- itself serves the interactive PTY transport.
236+ cols/rows. The interactive terminal byte stream is exchanged over the WebSocket
237+ data plane and is not modeled in this OpenAPI contract; clients should connect
238+ to connect_url and exchange raw binary frames for terminal I/O. The
239+ single-attach contract is enforced when a client opens the WebSocket data plane,
240+ not on this bootstrap call: bootstrap always succeeds for a valid session_name,
241+ even if another client is currently attached. Rejection of a second concurrent
242+ attach happens at WebSocket upgrade time. If the active client disconnects, the
243+ session is preserved for the idle TTL so a later connect using the same
244+ session_name resumes the same shell. After the TTL expires, after an explicit
245+ close control action, or after the underlying Devbox lifecycle replaces the PTY
246+ process (such as through suspend/resume), a later request with the same
247+ session_name creates a fresh PTY session without the previous shell state.
260248
261249 Args:
262250 cols: Optional initial terminal width in character cells (1..=1000). Defaults to 80
@@ -331,10 +319,6 @@ async def control(
331319 from the server's session cache. A subsequent connect with the same session_name
332320 will create a fresh PTY session.
333321
334- Documentation note: this operation is published from mux strictly as an OpenAPI
335- contract stub for the PTY service control plane. It is not evidence that mux
336- itself serves the interactive PTY transport.
337-
338322 Args:
339323 extra_headers: Send extra headers
340324
0 commit comments