logicsrc/packages/schemas/schemas/agentad-ad-request.schema.json
Anthony Ettinger 7cda686059
Add AgentAd ad schemas as a LogicSRC primitive (#10)
* Add AgentAd ad schemas as a LogicSRC primitive

AgentAd is a disclosed, agent-readable advertising contract for CLI tools
and AI agents. LogicSRC owns the canonical schemas; cl1s.tech is the
reference network built on them.

- packages/schemas: agentad-{ad,placement,ad-request,ad-response,
  impression,click,campaign} schemas (id under schemas.logicsrc.com) +
  ad/placement fixtures, exported from @logicsrc/schemas
- packages/validators: register the 7 agentad kinds, wire fixture
  validation, add tests (disclosure.sponsored must be true)
- docs/agentad.md: the AgentAd spec
- README: list AgentAd under v1 priorities

Validators build clean; all fixtures validate; vitest 4/4 green.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

* Prepare @logicsrc/schemas for npm publish

Add license, repository, homepage, keywords, publishConfig (public),
and a package README covering both the logicsrc-* core schemas and the
agentad-* family.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-11 21:02:43 -07:00

32 lines
1.5 KiB
JSON

{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://schemas.logicsrc.com/agentad-ad-request.schema.json",
"title": "AgentAd Ad Request",
"description": "A request from a CLI/agent for an ad to fill a placement, with optional runtime context for relevance.",
"type": "object",
"required": ["type", "version", "placement_id"],
"additionalProperties": false,
"properties": {
"type": { "const": "agentad.ad_request" },
"version": { "type": "string", "pattern": "^\\d+\\.\\d+(\\.\\d+)?$" },
"placement_id": { "type": "string", "pattern": "^[a-z0-9][a-z0-9_-]*$" },
"publisher_did": { "type": "string", "pattern": "^[a-z0-9][a-z0-9._-]*\\.[a-z0-9][a-z0-9._-]*$" },
"consumer": {
"type": "string",
"enum": ["human", "agent"],
"description": "Who will read the ad. Agents SHOULD receive machine_readable payloads and clear disclosure."
},
"context": {
"type": "object",
"additionalProperties": false,
"properties": {
"tool": { "type": "string", "description": "Host tool identifier, e.g. 'claude-code'." },
"keywords": { "type": "array", "items": { "type": "string" }, "uniqueItems": true },
"language": { "type": "string" },
"locale": { "type": "string" }
}
},
"format_override": { "type": "string", "enum": ["text", "markdown", "ansi", "banner", "json"] },
"count": { "type": "integer", "minimum": 1, "maximum": 10, "default": 1 }
}
}