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

arc-agents

v0.0.8

Published

A library for creating and deploying gaming agents at scale

Readme

install size Twitter LinkedIn

This is the main package for ARC Agents, it is focused on creating agents that learn via imitation or reinforcement learning. The primary use case for arc-agents is creating intelligent agents that game learn how to play games.

Useful Links

Documentation

Demos coming soon!

Installation

You can install the package using NPM as follows:

npm install arc-agents

Agent Creation

In order to create an agent, we have to import the AgentFactory and call either the createDemoAgent or createAgent methods. In either case, we have the ability to create a randomly initialized model or load in a pre-trained model. More details are provided in the docs.

Demo

To get the full capabilities of ARC, we require developers to onboard on our platform. However, if a developer just wants to test out ARC, we allow them to create a demo agent for quick prototyping. This way developers can see how to incorporate ARC into their game loop before onboarding and registering a model architecture.

const { AgentFactory } = require("arc-agents");

const modelData = {
  config: {
    inputDim: 5,
    neurons: [12, 6],
    actionOrder: ["action 1", "action 2"],
    modelType: "neural-network"
  }
}

const agent = AgentFactory.createDemoAgent(modelData)

Production

With the demo agent, we defined some hyperparameters for the neural network, but in the production agents, developers first have to register their architecture on our dashboard. The registration process involves defining all the architecture hyperparameters. Once registered, we simply provide the architecture id, and it will create the model scaffolding using the hyperparemeters that were defined. This allows for the easy creation of many models using the same set of hyperparams.

const { AgentFactory } = require("arc-agents")

AgentFactory.setGameId("game-id")
AgentFactory.setApiKey("training-api-key")

const architectureId = "perfect-architecture-id"
const agentName = "Agent A.G.N.E.S."

const agent = AgentFactory.createAgent("reinforcement", architectureId, agentName)
await agent.initialize()

Basic Usage

The most basic methods that are called when incorporating ARC agents into a gameloop is selectAction and collect.

Take an Action

In order to take an action in the game, call the selectAction method, where the input is a 2D array.

const action = agent.selectAction(state)

Collect Data

To collect data, call the collect method. At a minimum, the data object must have the current state and the action selected (as a one-hot encoded vector). Additionally, you can provide more info which can be useful for reward shaping.

agent.collect({ state, action, info })

Registration

Before creating an agent, we must register its architecture. It's easier to register via our dashboard, but we also allow developers to register model architectures through code as well.

const { Registry } =  require("arc-agents")

Registry.setApiKey("admin-api-key")

const registry = new Registry("game-id")

const registryInputs = {
  modelType: "neural-network",
  architectureId: "perfect-architecture-id",
  numberOfStates: 10,
  possibleActions: { direction: ["up", "down", "idle"] }
}

await registry.register(registryInputs)