MCPcopy Create free account
hub / github.com/21st-dev/21st-sdk / run

Method run

packages/python-sdk/src/twentyfirst_sdk/client.py:293–336  ·  view source on GitHub ↗
(
        self,
        agent: str,
        messages: Sequence[RunThreadMessage],
        *,
        sandbox_id: Optional[str] = None,
        thread_id: Optional[str] = None,
        name: Optional[str] = None,
        options: Optional[Dict[str, Any]] = None,
    )

Source from the content-addressed store, hash-verified

291 )
292
293 def run(
294 self,
295 agent: str,
296 messages: Sequence[RunThreadMessage],
297 *,
298 sandbox_id: Optional[str] = None,
299 thread_id: Optional[str] = None,
300 name: Optional[str] = None,
301 options: Optional[Dict[str, Any]] = None,
302 ) -> Any:
303 if thread_id and not sandbox_id:
304 raise AgentClientError("threadId requires sandboxId")
305
306 if not sandbox_id:
307 sandbox_id = self.client.sandboxes.create(agent).id
308
309 if not thread_id:
310 thread_id = self.create(sandbox_id, name=name).id
311
312 encoded_agent = quote(agent, safe="")
313 body: Dict[str, Any] = {
314 "messages": list(messages),
315 "sandboxId": sandbox_id,
316 "threadId": thread_id,
317 }
318 if options:
319 body["options"] = options
320
321 response = self.client._request(
322 "/v1/chat/%s" % encoded_agent,
323 method="POST",
324 body=body,
325 stream=True,
326 )
327
328 return APIObject(
329 {
330 "sandboxId": sandbox_id,
331 "threadId": thread_id,
332 "response": response,
333 "resumeUrl": "%s/v1/chat/%s/%s/stream"
334 % (self.client._get_base_url(), encoded_agent, sandbox_id),
335 }
336 )
337
338
339class TokensResource:

Callers

nothing calls this directly

Calls 6

createMethod · 0.95
AgentClientErrorClass · 0.85
APIObjectClass · 0.85
_get_base_urlMethod · 0.80
createMethod · 0.65
_requestMethod · 0.45

Tested by

no test coverage detected