SDK

TypeScript SDK

Full API reference for @agentic-web-protocol/validator.


Installation

bash
npm install @agentic-web-protocol/validator # types included — no @types/ package needed

AWPValidator

Core class. Loads all 6 schemas at construction. Results optionally cached by key.

typescript
import { AWPValidator } from '@agentic-web-protocol/validator'; const validator = new AWPValidator({ cacheTtlMs: 60_000, // default: 60s }); // Validate discovery manifest const result = validator.validateDiscoveryManifest({ version: "1.0", name: "My Site", description: "AI-optimised knowledge base with structured content.", capabilities: ["content", "search"], endpoints: { manifest: "/awp/manifest.json" }, }); // result.valid → boolean // result.errors → ValidationError[] // result.schema → "discovery"

Methods

MethodValidates
validateDiscoveryManifest(data, cacheKey?)agentic-web-protocol.schema.json
validateManifest(data, cacheKey?)manifest.schema.json
validateStructure(data, cacheKey?)structure.schema.json
validateFunctions(data, cacheKey?)functions.schema.json
validateMCP(data, cacheKey?)mcp.schema.json
validateUpdates(data, cacheKey?)updates.schema.json
validateBatch(items)Multiple schemas at once
validateFile(key, path)JSON file from disk

validateBatch

typescript
const results = validator.validateBatch({ discovery: discoveryData, manifest: manifestData, mcp: mcpData, }); // results.discovery.valid → boolean // results.manifest.valid → boolean

validateFile

typescript
// Read + validate from disk const result = validator.validateFile( 'discovery', '.well-known/agentic-web-protocol.json' );

TokenCounter

Counts tokens using js-tiktoken. WASM initialises lazily on first use.

typescript
import { TokenCounter, TOKEN_BUDGETS } from '@agentic-web-protocol/validator'; const counter = new TokenCounter('gpt-4o'); await counter.init(); // loads WASM once const count = counter.countTokens('Hello, agent world!'); const result = await counter.validateBudget( markdownContent, TOKEN_BUDGETS.INDIVIDUAL_PAGE // 1500 tokens ); if (!result.valid) { console.error(`Over budget by ${result.exceeded} tokens`); } counter.dispose();

TOKEN_BUDGETS

KeyLimitFile
TOKEN_BUDGETS.SUMMARY500Site summary for agents
TOKEN_BUDGETS.ABOUT2 000About/overview page
TOKEN_BUDGETS.INSTRUCTIONS1 000Agent instructions file
TOKEN_BUDGETS.INDIVIDUAL_PAGE1 500Per-page content
TOKEN_BUDGETS.API_DOCS3 000API documentation pages

Scorer

Grades your AWP implementation A–F using a weighted rubric.

typescript
import { Scorer } from '@agentic-web-protocol/validator'; const scorer = new Scorer(); const score = scorer.score(discoveryManifest); console.log(score.letter); // "A" console.log(score.numeric); // 94 score.breakdown.forEach(({ category, points, max }) => { console.log(` ${category}: ${points}/${max}`); });

CLI Reference

bash
awp validate discovery .well-known/agentic-web-protocol.json awp validate manifest awp/manifest.json awp validate mcp awp/mcp/mcp.json awp score .well-known/agentic-web-protocol.json awp tokens ./awp/content/summary.md --model gpt-4o --budget 500

Next steps