Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Skip to content

agentsystems/agentsystems-verify

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

agentsystems-verify

CLI for verifying agentsystems-notary logs against Arweave blockchain.

Open source, independent verification. No API keys. No AgentSystems infrastructure required.

Install

npm install -g agentsystems-verify

Or run directly with npx:

npx agentsystems-verify --ticket ticket.json --logs logs.zip

Usage

Three ways to run:

# 1. Using a ticket file
agentsystems-verify --ticket ticket.json --logs logs.zip

# 2. Using CLI flags
agentsystems-verify \
  --owner 37LN1vDKaqZi1fAwu9w-fxRsjgvzr0b3xmVRHa-xuP8 \
  --namespace my_app \
  --start 2026-01-01 \
  --end 2026-01-31 \
  --logs logs.zip

# 3. Interactive mode (prompts for missing values)
agentsystems-verify --logs logs.zip

Options

Option Short Description
--ticket -t Arweave verification ticket (JSON file)
--logs -l ZIP file containing log files to verify
--owner -o Arweave wallet address
--namespace -n Namespace identifier
--start -s Start date (YYYY-MM-DD)
--end -e End date (YYYY-MM-DD)
--help -h Show help message
--version -v Show version number

Ticket Format

{
  "type": "arweave",
  "owner": "<arweave-wallet-address>",
  "namespace": "<namespace>",
  "date_start": "2026-01-01",
  "date_end": "2026-01-31"
}

The ticket is generated by the agentsystems-notary SDK. It contains:

  • owner - Arweave wallet address (derived from KMS public key)
  • namespace - Your namespace identifier
  • date_start / date_end - Date range to verify

How It Works

  1. Reads log files from your ZIP archive
  2. Computes SHA-256 hashes (canonicalized JSON)
  3. Queries Arweave blockchain for matching transactions
  4. Reconciles: verified, unnotarized, missing

You can audit the code yourself.

Library Usage

import { verify, validateTicket } from "agentsystems-verify";
import { readFileSync } from "fs";

const ticket = validateTicket(JSON.parse(readFileSync("ticket.json", "utf-8")));
const zipBuffer = readFileSync("logs.zip");

const results = await verify(ticket, zipBuffer, {
  onProgress: (msg) => console.log(msg),
});

console.log(`Verified: ${results.verified.length}`);
console.log(`Unnotarized: ${results.unnotarized.length}`);
console.log(`Missing: ${results.missing.length}`);

Why This Exists

The agentsystems-notary SDK writes tamper-evident logs to Arweave. This CLI provides open source, independent verification - no need to trust AgentSystems' verify-ui or verify-api.

SDK (write)  →  Arweave blockchain  →  This CLI (verify)
     ↓                                        ↓
   Open source                           Open source
   No API required                       No API required

License

Apache-2.0

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors