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>
This commit is contained in:
Anthony Ettinger 2026-06-11 21:02:43 -07:00 committed by GitHub
parent ad9f3a2a29
commit 7cda686059
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
17 changed files with 483 additions and 5 deletions

View file

@ -9,6 +9,13 @@ import pluginSchema from "../../schemas/schemas/logicsrc-plugin.schema.json" wit
import runSchema from "../../schemas/schemas/logicsrc-run.schema.json" with { type: "json" };
import socialPostSchema from "../../schemas/schemas/logicsrc-social-post.schema.json" with { type: "json" };
import taskSchema from "../../schemas/schemas/logicsrc-task.schema.json" with { type: "json" };
import agentadAdSchema from "../../schemas/schemas/agentad-ad.schema.json" with { type: "json" };
import agentadPlacementSchema from "../../schemas/schemas/agentad-placement.schema.json" with { type: "json" };
import agentadAdRequestSchema from "../../schemas/schemas/agentad-ad-request.schema.json" with { type: "json" };
import agentadAdResponseSchema from "../../schemas/schemas/agentad-ad-response.schema.json" with { type: "json" };
import agentadImpressionSchema from "../../schemas/schemas/agentad-impression.schema.json" with { type: "json" };
import agentadClickSchema from "../../schemas/schemas/agentad-click.schema.json" with { type: "json" };
import agentadCampaignSchema from "../../schemas/schemas/agentad-campaign.schema.json" with { type: "json" };
export const schemas = {
agent: agentSchema,
@ -21,7 +28,14 @@ export const schemas = {
plugin: pluginSchema,
run: runSchema,
"social-post": socialPostSchema,
task: taskSchema
task: taskSchema,
"agentad-ad": agentadAdSchema,
"agentad-placement": agentadPlacementSchema,
"agentad-ad-request": agentadAdRequestSchema,
"agentad-ad-response": agentadAdResponseSchema,
"agentad-impression": agentadImpressionSchema,
"agentad-click": agentadClickSchema,
"agentad-campaign": agentadCampaignSchema
} as const;
export type SchemaKind = keyof typeof schemas;