Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
## 0.0.14-beta.1 — 2026-07-17

### Docs
- Clarify that AgentEye's Python SDK preserves recording when a payload contains values outside JSON's native type set by converting those leaves to strings, while recommending structured JSON for fields customers intend to query. (#572)
- Document the `agenteye-python-sdk` agent skill at `/agenteye/python-sdk-skill`, completing the set — `agenteye-cli` has had a page since #561 and `agenteye-evaluator` since #567, but the skill that gets an agent emitting events in the first place had none, and it is the one the other two depend on: there is nothing to score and nothing to read until a session exists. The page leads with the silences rather than the API, because the SDK's thirteen methods are easy to call and easy to get quietly wrong — no `agent_start` means every event lands and *zero* sessions appear; an unset environment files production runs under `dev`; `outcome="failure"` reads as success because only `failed`/`error`/`timeout`/`rejected` count; a typo'd field name is accepted as a new field; events emitted from a thread pool are dropped. None of them raise, which is why the page's weight sits on the skill's third step — verifying against the event files the SDK writes, which needs no server, no API key, and no network. Also fixes `/agenteye/python-sdk`, which told every reader to `pip install agenteye`: that name on public PyPI is the **CLI**, a different product sharing the distribution name, so the documented command installed the wrong thing and left `import agenteye` failing. The SDK is distributed privately, so the page now says so and points at onboarding rather than naming a command that cannot work. Cross-linked from `cli-skill` and `evaluator-skill`; only the English nav entry is added, since the daily `translate-docs` cron regenerates the 14 localized navs from the English tabs. (#568)
- Document the `agenteye-evaluator` agent skill at `/agenteye/evaluator-skill`. The skill shipped to the public [`FailproofAI/skills`](https://github.com/FailproofAI/skills) collection but the docs never mentioned it, so the only way to find it was to browse the skills repo directly — its sibling `agenteye-cli` has had a page since #561. The page leads with the design loop (interview, read real sessions, propose 2-4 dimensions that are computable from the events *and* discriminate a good run from a bad one) rather than the SDK's decorator-and-two-models surface, since that's where evaluators actually fail. It also carries the warning that `agenteye-evaluator` is **not** on public PyPI and its name is unclaimed there, so a bare `pip install agenteye-evaluator` can pull a stranger's package into the service that reads your production transcripts. Cross-linked from `cli-skill` (build vs read), `evaluations`, and `evaluation-suite`; only the English nav entry is added, since the daily `translate-docs` cron regenerates the 14 localized navs from the English tabs. (#567)
- Point the docs logo at the landing page: the Failproof AI logo in the navbar now links to `https://befailproof.ai` via `logo.href` instead of Mintlify's default of the docs homepage, giving readers a way back to the product from every page. (#563)
Expand Down
2 changes: 2 additions & 0 deletions docs/agenteye/python-sdk.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -412,6 +412,8 @@ agenteye.event.tool_use(

`timestamp`, `type`, and `environment` are reserved and raise `ValueError` (`Reserved field names cannot be used as custom fields: [...]`) if passed as custom fields. `session_id` and `agent_id` are required parameters on every event method and cannot be supplied a second time; Python raises `TypeError` if you do. Set the environment with `configure(environment=...)` (or the `AGENTEYE_ENVIRONMENT` variable) instead.

Keep payloads as structured JSON when you want to query their fields. Values JSON does not natively support—such as datetimes, UUIDs, decimals, sets, bytes, or model objects—are converted to strings so recording continues safely.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Grammar: Missing relative pronoun makes the sentence awkward to parse. "Values JSON does not natively support" reads as if "Values JSON" is a compound noun. It should be "Values that JSON does not natively support" to make clear that "that JSON does not natively support" is a relative clause modifying "Values." Fix: Add "that" between "Values" and "JSON" on this line. This was also flagged by CodeRabbit in a previous review pass but was not addressed.


Comment thread
NiveditJain marked this conversation as resolved.
---

## How Events Are Written
Expand Down