Thing Event SystembyPentatonic

Thing Event System

LLM observability, agent memory, and product history — one event log.

TES records every AI agent call, every product change, and every transaction as an immutable event — automatically enriched, embedded, and searchable. Open-source SDK runs locally. Hosted platform scales globally.

Create free account
npm install @pentatonic/ai-agent-sdk

Live activity across agents, products, and transactions

tes events --stream

What TES does

History, understanding, intelligence — in that order

Three layers built on one event spine. Each layer compounds the value of the one below it.

Layer 1

History

Every change to every Thing is recorded as an immutable event. Nothing is overwritten, nothing is lost. Full replay, full audit, globally distributed.

Layer 2

Understanding

Every event is automatically embedded and enriched — vector search, vision analysis, taxonomy, and pricing. Your products and assets become searchable by meaning, not just keywords.

Layer 3

Intelligence

Modules extend what the system understands and can do. Persistent memory gives agents recall across sessions. Bias Evolution detects drift and anomalies. Each module runs on the same shared history.

"Event sourcing provides a complete audit log of changes, which is crucial for understanding the behaviour of complex systems and for debugging."

— Martin Fowler, Event Sourcing, martinfowler.com. TES builds on this pattern with AI enrichment and vector search at every layer.

Get started in 30 seconds

Emit your first event

Stream data from any source — legacy ERPs, AI agents, IoT devices, commerce platforms. Every event is stored, projected, embedded, and enriched automatically.

Install
npm i @pentatonic/ai-agent-sdk
Emit an event
import { TESClient } from "@pentatonic/ai-agent-sdk";

const tes = new TESClient({ apiKey: process.env.TES_API_KEY });

await tes.emit("item.captured", {
  thing_id: "thing_abc",
  source: "warehouse_scanner",
});
npx @pentatonic/ai-agent-sdk init|pip install pentatonic-agent-events|GitHub

Partners & programmes

Mastercard Start Path GraduateNVIDIA Inception MemberBuilt on Cloudflare

How it works

Emit, enrich, query — three steps for any data source

Whether it's an AI agent, a legacy ERP, or a warehouse scanner — the same three-step flow captures everything.

01

Emit

Send events from any source — AI agents, legacy ERPs, commerce platforms, warehouse scanners. Every event is timestamped, immutable, and stored forever. Nothing is lost.

// From an AI agent
await tes.emit("agent_session.action_taken", {
  session_id: "ses_7f2a",
  action: "purchase",
  agent_id: "agent_007",
});

// Or a legacy system
await tes.emit("order.created", {
  order_id: "PO-2024-8891",
  source: "oracle_erp",
});
02

Enrich

Every event triggers AI enrichment automatically — vision analysis, market pricing, semantic classification, and 1024-dim embeddings. Your data becomes searchable by meaning, not just keywords. No configuration required.

// After uploading an image, TES auto-enriches:
// → brand: "Levi's", condition: "good"
// → market_price: { low: 24, mid: 38, high: 55 }
// → embedding: [0.021, -0.043, ...] // 1024 dims
// → taxonomy: "Clothing > Denim > Jeans"
03

Query

Find the current state of any entity, search by meaning, or pull the full audit trail. Built for AI agents, compliance teams, and product teams — everything that happened, always available.

// Semantic search
const results = await tes.search({
  query: "vintage leather jacket",
  min_score: 0.7,
});

// Full audit trail
const history = await tes.project("thing", "thing_abc");
// → { stage: "listed", events: [...] }

Use Cases

One system, every entry point

Legacy data, AI agents, physical goods, payments — if it has state changes, TES captures, enriches, and governs it.

Full audit trail for autonomous agents

AI agents are making purchases, handling customer service, and moving money. TES records every action as an immutable event — giving enterprises, agents, and regulators a shared, auditable record. EU AI Act compliant by design.

startedaction_takenvi_attachedpay_initcompleted
vi_credential_attachedcompleted
Learn more →

Integration paths

Three ways to connect

Stream from a legacy database, connect an AI agent, or integrate with your existing stack — TES meets you where you are.

AI Agent SDK

open source

Wrap your LLM client for automatic observability. Every call to OpenAI, Anthropic, or Workers AI becomes an immutable, searchable TES event.

import { TESClient } from
  "@pentatonic/ai-agent-sdk";

const tes = new TESClient({
  apiKey: process.env.TES_API_KEY,
});

// Auto-track every LLM call
const ai = tes.wrap(new Anthropic());

const res = await ai.messages.create({
  model: "claude-sonnet-4-20250514",
  messages: [{ role: "user",
    content: "Find similar items" }],
});
Explore the SDK

MCP for AI Assistants

Connect Claude, ChatGPT, or any MCP-compatible assistant directly to TES. Your AI can create things, track lifecycle changes, and search — natively.

{
  "mcpServers": {
    "tes": {
      "command": "npx",
      "args": [
        "-y",
        "@anthropic-ai/mcp-remote",
        "https://tes.pentatonic.com/sse"
      ]
    }
  }
}
View integration skills

GraphQL API

Full API access to Things, Holders, Locations, Products, Shipments, Payments, and Events. Query current state or the complete event history.

query {
  searchThings(input: {
    query: "vintage leather jacket"
    min_score: 0.7
  }) {
    items {
      score
      thing { name vision { brand } }
    }
  }
}
Try the GraphQL playground

Pricing

Choose how to start

The SDK is free and open source. The hosted platform is pay-per-event with a generous free tier.

Open Source

Free forever

Install and run locally. No account, no cloud, no vendor lock-in.

  • npm install — no account needed
  • Wraps OpenAI, Anthropic, Workers AI
  • 4-layer local memory stack
  • Token usage + tool call tracking
  • Session management
  • MIT licensed
View on GitHub

Developer

Free

Get started with TES. Perfect for prototyping and development.

  • 10,000 events / month
  • 5 entity types
  • 7-day event retention
  • Community support
  • Playground access
Create free account

Growth

$0.001/ event

Same account. Metered billing kicks in after your free allowance.

  • Unlimited events
  • Unlimited entity types
  • 90-day event retention
  • Projections API
  • Agent Pay, x402 + Stripe settlement
  • Email support
Create free account

Enterprise

Custom

Dedicated infrastructure, SLAs, and white-glove onboarding.

  • Everything in Growth
  • Unlimited retention
  • Dedicated infrastructure
  • Custom SLAs (99.99%)
  • SSO / SAML
  • EU AI Act compliance reports
  • Dedicated support engineer
Contact sales

Denial

$40M+/ incident*

No governance. No audit trail. Unlimited liability.

  • Pay nothing until August 2026
  • Up to $40M in regulatory fines
  • 7% of global annual revenue per breach
  • Mandatory incident disclosure
  • Full regulatory audit of all agent activity
  • No audit trail to defend your decisions
YOLO

Start with the open-source SDK

No account required. Runs locally. Upgrade to the hosted platform when you need AI enrichment and global scale.

GitHub

* EU AI Act enforcement begins August 2026. Maximum penalty of €35M (approx. $40M) or 7% of global annual revenue per enforceable incident — whichever is higher. Colorado AI Act effective February 2026.

Get started

Give your products, assets, and agents a complete history

Start emitting events in minutes. Free tier includes 10,000 events per month — with AI enrichment and vector search included.