Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

@agentdeploymentco/argus-schema

The single source of truth for the Argus wire contract — the shape of the snapshot the CLI pushes and the dashboard ingests. Consumed by both Agent-Deployment-Co/argus (CLI) and Agent-Deployment-Co/argus-dash (dashboard Worker), so the contract is defined exactly once.

import { PushPayloadSchema, SCHEMA_VERSION, type Dashboard } from "@agentdeploymentco/argus-schema";
import { SCHEMA_VERSION } from "@agentdeploymentco/argus-schema/version"; // zod-free entry
  • src/schema.ts — Zod schemas (DashboardSchema, PushPayloadSchema, …) and the inferred types (Dashboard, Usage, SessionRow, AgentSource, …). Types are z.inferred, so there's no separate hand-written interface to keep in sync. The dashboard contract includes bySource plus per-session source values for claude, codex, gemini, and cowork.
  • src/version.tsSCHEMA_VERSION only, with no zod import, so the CLI can stamp the version without pulling zod into its runtime.

Bump SCHEMA_VERSION (and tag a new release) on any incompatible change to the payload shape.

Consuming it

Distribution is via git tag; both consumers pin a version:

"dependencies": {
  "@agentdeploymentco/argus-schema": "github:Agent-Deployment-Co/argus-schema#v0.3.0"
}

For local development across the repos, use bun link instead of the git pin:

cd argus-schema && bun link
cd ../argus      && bun link @agentdeploymentco/argus-schema
cd ../argus-dash && bun link @agentdeploymentco/argus-schema

About

Shared wire contract for Argus: the dashboard payload schema (Zod) + types + version.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages