npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@cuylabs/physical-capx

v0.1.1

Published

Agent-agnostic CaP-X runtime client and physical session adapter

Readme

@cuylabs/physical-capx

Agent-agnostic CaP-X runtime adapter.

This package connects @cuylabs/physical-core sessions to the CaP-X Agent Runtime service. It owns the HTTP client, runtime mappers, artifact discovery, and CapxSession.

This package does not create an agent and does not depend on an agent runtime. It is the TypeScript session/client layer for a running capx-agent-runtime service.

TypeScript host
  -> @cuylabs/physical-capx CapxSession
    -> capx-agent-runtime HTTP server
      -> CaP-X Python runtime, selected YAML config, simulator or robot

Use capx-agent-runtime directly when a host should call CaP-X over HTTP or MCP. Use this package when TypeScript code needs a PhysicalSession for that runtime.

Install

npm install @cuylabs/physical-core @cuylabs/physical-capx

Runtime Setup

First start the CaP-X Agent Runtime on the machine that has CaP-X, simulator or robot dependencies, and the selected task config installed. The runtime service owns the CaP-X checkout, config path, output directory, skill-library path, perception services, and Python execution namespace.

Then point CapxSession at the running runtime server:

import { createCapxSession } from "@cuylabs/physical-capx";

const session = createCapxSession({
  mode: "runtime",
  runtimeServerUrl: "http://127.0.0.1:8210",
  physicalMode: "simulation",
  enablePolicyCodeExecution: true,
});

await session.start();
const observation = await session.observe({ includeImages: true });

Runtime Loop

The external host owns reasoning and code generation. CaP-X owns robotics execution.

start CapxSession
  -> observe returns task prompt, state, frame, and codeContext
  -> host or agent writes one Python policy-code step
  -> executeCode submits that code to the live runtime session
  -> host observes the result, reward, artifacts, and next frame
  -> host continues, reports completion, resets, or stops

executeCode is the operation that performs physical work. It can mutate a simulator or move hardware, so host applications should keep it approval-gated.

Ownership Boundary

The runtime server owns the robotics side:

  • CaP-X clone and selected YAML config
  • simulator or robot dependencies
  • CUDA, perception services, and model assets
  • output directory and skill-library path
  • execution of submitted Python Code-as-Policies programs

This TypeScript package owns the adapter side:

  • CapxSession, which maps to one live runtime session
  • CapxLiveRuntime, the HTTP client wrapper
  • observation, rendered frame, turn history, and artifact mapping
  • agent-agnostic PhysicalSession compatibility

Boundary

This package does not create an agent and does not depend on an agent runtime. For @cuylabs/agent-core tools and createCapxAgent(...), use @cuylabs/physical-capx-agent-core.

Docs

License

Apache-2.0