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

@polymerix-labs/agents-core

v0.4.0

Published

Protocol-agnostic core for dont-break agent surfaces: typed query API client + 11 tool definitions

Readme

@polymerix-labs/agents-core

Protocol-agnostic core for the dont-break agent surfaces: a typed client for the query API plus the 11 tool definitions shared by every adapter (MCP, CLI, OpenAPI).

Most users never install this package directly — install @polymerix-labs/dont-break-mcp (for Cursor / Claude / any MCP host) or @polymerix-labs/dont-break-query (for CI and shells) instead. Use agents-core when building a custom integration (LangChain tools, a bot, an internal service).

What it provides

  • QueryApiClient — typed HTTP client for the query endpoints of the dont-break gateway (JWT auth, tenant-scoped URLs, actionable error messages) and the three agent rule-write routes.
  • TOOLS — the 11 tool definitions (name, agent-oriented description, JSON Schema inputSchema, execute) that adapters render into their own protocol:

| Tool | Purpose | |------|---------| | find_symbol | Resolve names/paths into node ids (always call first) | | get_dependencies | What a node depends on | | get_dependents | Who depends on a node | | get_impact | Blast radius of a change (files and/or nodes) | | find_path | Cheapest dependency routes between two nodes | | get_do_not_touch | Danger list: high fan-in + low stability | | get_arch_status | Practicability report + verdict | | check_change | Team rules vs a planned change (per file) | | propose_rule | Propose a rule (warn active now, block pending a human) | | pause_own_rule | Pause a rule this agent token authored | | append_rule_reason | Append one reason to any rule (add-only) |

  • configFromEnv — resolves DONT_BREAK_API_URL, DONT_BREAK_TOKEN, DONT_BREAK_WORKSPACE, DONT_BREAK_PROJECT.

All business logic (weights, caps, thresholds, verdicts) lives server-side; this package is a pure transport and receives result DTOs only. Rule-write tools cannot activate a block, pause someone else's rule, or rewrite reasons.

Usage

import { configFromEnv, QueryApiClient, TOOLS, getTool } from "@polymerix-labs/agents-core";

const client = new QueryApiClient(configFromEnv());

// Direct client usage
const matches = await client.find("PokemonAdapter", { kind: "class" });
const impact = await client.impact({ files: [matches[0].relative_path!] });

// Tool-definition usage (what MCP/CLI adapters do)
const result = await getTool("get_arch_status")!.execute(client, {});

Configuration

| Variable | Meaning | |----------|---------| | DONT_BREAK_API_URL | Gateway base URL | | DONT_BREAK_TOKEN | JWT bearer token | | DONT_BREAK_WORKSPACE | Workspace id | | DONT_BREAK_PROJECT | Project slug |

The dont-break extension's Connect your agent panel generates these values for you.

License

MIT