mirror of
https://github.com/profullstack/logicsrc.git
synced 2026-08-14 06:47:28 +00:00
Add the AgentBBS M5 "AgentAd marketplace" spec and a working reference
implementation built on the existing @logicsrc/schemas AgentAd contracts.
- docs/agentad-marketplace.md: two-sided exchange PRD (buy/sell sides,
match -> auction -> pace -> serve -> meter -> settle, CoinPay settlement,
AgentBBS as reference publisher, milestones M5.0-M5.5).
- packages/agentad (@logicsrc/agentad): reference exchange
- builders that emit schema-valid, always-disclosed ad/campaign/placement docs
- HMAC-signed, single-use impression/click tracking tokens
- AgentAdExchange: targeting/format/category matching, second-price auction,
budget pacing + daily caps, frequency capping, token-driven metering
- pluggable settlement (InMemorySettlement) that can't overspend escrow
- runtime validation against the canonical agentad-*.schema.json
- 22 vitest cases (builders, tokens, full serve/meter/settle lifecycle).
- Wire package into root build; link the PRD from README + docs/agentad.md.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
41 lines
889 B
TypeScript
41 lines
889 B
TypeScript
// @logicsrc/agentad — AgentAd Marketplace reference exchange.
|
|
// See docs/agentad-marketplace.md (AgentBBS milestone M5) and docs/agentad.md.
|
|
|
|
export * from "./types.js";
|
|
export {
|
|
AGENTAD_VERSION,
|
|
createAd,
|
|
createCampaign,
|
|
createPlacement,
|
|
createAdRequest,
|
|
type NewAd,
|
|
type NewCampaign,
|
|
type NewPlacement,
|
|
type NewAdRequest
|
|
} from "./builders.js";
|
|
export {
|
|
validate,
|
|
assertValid,
|
|
agentAdSchemas,
|
|
type AgentAdSchemaKind,
|
|
type ValidationResult
|
|
} from "./validate.js";
|
|
export {
|
|
mintToken,
|
|
verifyToken,
|
|
type TokenKind,
|
|
type TokenPayload,
|
|
type VerifyResult
|
|
} from "./tokens.js";
|
|
export {
|
|
InMemorySettlement,
|
|
type SettlementProvider,
|
|
type InMemorySettlementOptions
|
|
} from "./settlement.js";
|
|
export {
|
|
AgentAdExchange,
|
|
type AgentAdExchangeOptions,
|
|
type RequestOptions,
|
|
type ConfirmImpressionResult,
|
|
type LedgerEntry
|
|
} from "./exchange.js";
|