Changelog
What we shipped recently.
Receipts, not promises. Releases are published to GitHub and mirrored here within an hour.
- sdk-typescript-v0.9.06 days ago
sdk-typescript-v0.9.0
v0.7.0: LangChain.js callback handler adapter
Adds a first-class LangChain.js integration. Wire it into any LangChain runnable and every LLM invocation and tool call flows into Mesedi with no changes to your agent code beyond attaching the handler.
LangChain
- `MesediLangChainCallbackHandler` extends LangChain's
BaseCallbackHandler. Attach an instance to any runnable'scallbacks:slot; LangChain propagates it to every nested runnable automatically.- Wrap your entry function with
mesedi.wrap()(which owns the
execution boundary) and the handler emits
llm_callandtool_callevents for the LLM and tool invocations inside.- Extractors handle LangChain's
Serialized+LLMResultshape
churn across versions:
kwargs.model→id[]→name→ fallback chain for model identification;textvsmessage.contentvs multi-modal blocks for response text;tokenUsage/token_usage/usage/ newerusage_metadatafor token counts.- Truncation budgets match the Python langchain adapter and every
other TS adapter, so backend detectors see one unified event stream regardless of source.
- Fail-open per-method try/catch; outside a
wrap()execution the
handler silently no-ops.
- Docs: https://mesedi.ai/docs/integrations/langchain
Compatibility
- Node 18+ minimum.
- New optional peer dependency: `@langchain/core >= 0.3.0 < 0.5.0`.
Customers who never import
mesedi/integrations/langchainnever pay the install cost.- Existing
wrap()/tool()call sites and the LangGraph, OpenAI
Agents, Vercel AI SDK, and Mastra adapters keep working without modification.
- sdk-python-v0.7.06 days ago
sdk-python-v0.7.0
What's Changed
- deps(deps): bump google.golang.org/grpc from 1.83.1 to 1.83.2 in /backend in the go_modules group across 1 directory by @dependabot[bot] in https://github.com/mesedi-ai/mesedi/pull/39
Full Changelog: https://github.com/mesedi-ai/mesedi/compare/sdk-python-v0.6.0...sdk-python-v0.7.0
- verification-pack-2026-09-081 week ago
Verification pack, 2026-09-08
Verification pack, 2026-09-08
You are being asked to check our work, not to trust it. This release holds a real export from Mesedi's production checkpoint chain, the report our verifier produced for it, and the instructions to reproduce that verdict yourself, offline, from source you build.
What is claimed
Mesedi records what AI agents did and publishes an hourly Merkle fingerprint of that record to
rekor.sigstore.dev, a log Mesedi does not control. The claim: the record inexport.json(75 hourly checkpoints, 12 agent executions across two hours, 73 provably intact quiet hours) is complete and unaltered, and removing or editing even one entry after publication is detectable by you, without trusting us or our server.Reproduce the verdict
1. Download
export.jsonand confirm its hash:shasum -a 256 export.json
Expected:
42ca3bea131d0ef44fbf7efc1403a7cb79c2c80a9f553431a3dd046dfa93930a
2. Build the verifier from source at the exact commit this release tags. Do not accept a binary from us:
git clone https://github.com/mesedi-ai/mesedi.git cd mesedi && git checkout fb5161b314c7 cd backend && go build ./cmd/mesedi-verify
3. Run it and compare against
report.txtin this release:./mesedi-verify /path/to/export.json
4. Then try to break it. Remove an execution, edit one, reorder hours, splice in a genuine Rekor entry from an unrelated source. The claim is that the verifier catches all of it, and the claim is only worth something once someone with no stake has tried.
Stated limits
The report's own "what this report does not show" section is part of the deliverable. In particular: 3 of 74 hour-to-hour growth steps predate proof capture and carry none, split-view protection awaits witness cosignatures reaching Sigstore's trusted root, and a passing report means the record is intact, not that the AI was right.
Findings of any size are welcome: robert@verdifax.com, or reply on the sigstore-dev thread this release is linked from.
Asset hashes
d13c7b6d2cf1f723e0cd30a341f147315e29e8c421af441ca011a97123ab3ef4 verification-pack-2026-09-08.tar.gz 42ca3bea131d0ef44fbf7efc1403a7cb79c2c80a9f553431a3dd046dfa93930a export.json
- sdk-typescript-v0.8.01 week ago
sdk-typescript-v0.8.0
v0.7.0: LangChain.js callback handler adapter
Adds a first-class LangChain.js integration. Wire it into any LangChain runnable and every LLM invocation and tool call flows into Mesedi with no changes to your agent code beyond attaching the handler.
LangChain
- `MesediLangChainCallbackHandler` extends LangChain's
BaseCallbackHandler. Attach an instance to any runnable'scallbacks:slot; LangChain propagates it to every nested runnable automatically.- Wrap your entry function with
mesedi.wrap()(which owns the
execution boundary) and the handler emits
llm_callandtool_callevents for the LLM and tool invocations inside.- Extractors handle LangChain's
Serialized+LLMResultshape
churn across versions:
kwargs.model→id[]→name→ fallback chain for model identification;textvsmessage.contentvs multi-modal blocks for response text;tokenUsage/token_usage/usage/ newerusage_metadatafor token counts.- Truncation budgets match the Python langchain adapter and every
other TS adapter, so backend detectors see one unified event stream regardless of source.
- Fail-open per-method try/catch; outside a
wrap()execution the
handler silently no-ops.
- Docs: https://mesedi.ai/docs/integrations/langchain
Compatibility
- Node 18+ minimum.
- New optional peer dependency: `@langchain/core >= 0.3.0 < 0.5.0`.
Customers who never import
mesedi/integrations/langchainnever pay the install cost.- Existing
wrap()/tool()call sites and the LangGraph, OpenAI
Agents, Vercel AI SDK, and Mastra adapters keep working without modification.
- sdk-python-v0.6.01 week ago
sdk-python-v0.6.0
What's Changed
- deps(deps): bump google.golang.org/grpc from 1.83.0 to 1.83.1 in /backend in the go_modules group across 1 directory by @dependabot[bot] in https://github.com/mesedi-ai/mesedi/pull/38
Full Changelog: https://github.com/mesedi-ai/mesedi/compare/sdk-python-v0.5.5...sdk-python-v0.6.0
- sdk-typescript-v0.7.32 weeks ago
sdk-typescript-v0.7.3
v0.7.0: LangChain.js callback handler adapter
Adds a first-class LangChain.js integration. Wire it into any LangChain runnable and every LLM invocation and tool call flows into Mesedi with no changes to your agent code beyond attaching the handler.
LangChain
- `MesediLangChainCallbackHandler` extends LangChain's
BaseCallbackHandler. Attach an instance to any runnable'scallbacks:slot; LangChain propagates it to every nested runnable automatically.- Wrap your entry function with
mesedi.wrap()(which owns the
execution boundary) and the handler emits
llm_callandtool_callevents for the LLM and tool invocations inside.- Extractors handle LangChain's
Serialized+LLMResultshape
churn across versions:
kwargs.model→id[]→name→ fallback chain for model identification;textvsmessage.contentvs multi-modal blocks for response text;tokenUsage/token_usage/usage/ newerusage_metadatafor token counts.- Truncation budgets match the Python langchain adapter and every
other TS adapter, so backend detectors see one unified event stream regardless of source.
- Fail-open per-method try/catch; outside a
wrap()execution the
handler silently no-ops.
- Docs: https://mesedi.ai/docs/integrations/langchain
Compatibility
- Node 18+ minimum.
- New optional peer dependency: `@langchain/core >= 0.3.0 < 0.5.0`.
Customers who never import
mesedi/integrations/langchainnever pay the install cost.- Existing
wrap()/tool()call sites and the LangGraph, OpenAI
Agents, Vercel AI SDK, and Mastra adapters keep working without modification.
- sdk-typescript-v0.7.22 weeks ago
sdk-typescript-v0.7.2
v0.7.0: LangChain.js callback handler adapter
Adds a first-class LangChain.js integration. Wire it into any LangChain runnable and every LLM invocation and tool call flows into Mesedi with no changes to your agent code beyond attaching the handler.
LangChain
- `MesediLangChainCallbackHandler` extends LangChain's
BaseCallbackHandler. Attach an instance to any runnable'scallbacks:slot; LangChain propagates it to every nested runnable automatically.- Wrap your entry function with
mesedi.wrap()(which owns the
execution boundary) and the handler emits
llm_callandtool_callevents for the LLM and tool invocations inside.- Extractors handle LangChain's
Serialized+LLMResultshape
churn across versions:
kwargs.model→id[]→name→ fallback chain for model identification;textvsmessage.contentvs multi-modal blocks for response text;tokenUsage/token_usage/usage/ newerusage_metadatafor token counts.- Truncation budgets match the Python langchain adapter and every
other TS adapter, so backend detectors see one unified event stream regardless of source.
- Fail-open per-method try/catch; outside a
wrap()execution the
handler silently no-ops.
- Docs: https://mesedi.ai/docs/integrations/langchain
Compatibility
- Node 18+ minimum.
- New optional peer dependency: `@langchain/core >= 0.3.0 < 0.5.0`.
Customers who never import
mesedi/integrations/langchainnever pay the install cost.- Existing
wrap()/tool()call sites and the LangGraph, OpenAI
Agents, Vercel AI SDK, and Mastra adapters keep working without modification.
- sdk-python-v0.5.52 weeks ago
sdk-python-v0.5.5
Full Changelog: https://github.com/mesedi-ai/mesedi/compare/sdk-python-v0.5.4...sdk-python-v0.5.5
- sdk-python-v0.5.42 weeks ago
sdk-python-v0.5.4
Full Changelog: https://github.com/mesedi-ai/mesedi/compare/sdk-python-v0.5.3...sdk-python-v0.5.4
- sdk-typescript-v0.7.13 weeks ago
sdk-typescript-v0.7.1
v0.7.0 — LangChain.js callback handler adapter
Adds a first-class LangChain.js integration. Wire it into any LangChain runnable and every LLM invocation and tool call flows into Mesedi with no changes to your agent code beyond attaching the handler.
LangChain
- `MesediLangChainCallbackHandler` extends LangChain's
BaseCallbackHandler. Attach an instance to any runnable'scallbacks:slot; LangChain propagates it to every nested runnable automatically.- Wrap your entry function with
mesedi.wrap()(which owns the
execution boundary) and the handler emits
llm_callandtool_callevents for the LLM and tool invocations inside.- Extractors handle LangChain's
Serialized+LLMResultshape
churn across versions —
kwargs.model→id[]→name→ fallback chain for model identification;textvsmessage.contentvs multi-modal blocks for response text;tokenUsage/token_usage/usage/ newerusage_metadatafor token counts.- Truncation budgets match the Python langchain adapter and every
other TS adapter, so backend detectors see one unified event stream regardless of source.
- Fail-open per-method try/catch; outside a
wrap()execution the
handler silently no-ops.
- Docs: https://mesedi.ai/docs/integrations/langchain
Compatibility
- Node 18+ minimum.
- New optional peer dependency: `@langchain/core >= 0.3.0 < 0.5.0`.
Customers who never import
mesedi/integrations/langchainnever pay the install cost.- Existing
wrap()/tool()call sites and the LangGraph, OpenAI
Agents, Vercel AI SDK, and Mastra adapters keep working without modification.
- sdk-python-v0.5.33 weeks ago
sdk-python-v0.5.3
Full Changelog: https://github.com/mesedi-ai/mesedi/compare/sdk-python-v0.5.2...sdk-python-v0.5.3
- sdk-python-v0.5.23 weeks ago
sdk-python-v0.5.2
Full Changelog: https://github.com/mesedi-ai/mesedi/compare/v0.1.0...sdk-python-v0.5.2
- v0.1.03 weeks ago
v0.1.0 — Initial public release
First public availability of Mesedi. Ships as MIT source (Self-Hosted) and hosted service (Cloud Hobby, Cloud Team, Cloud Production, Cloud Enterprise).
Failure-class detectors (20)
Cost + performance:
context_overflow,token_waste,cost_velocity.Reliability:
crashes,tool_failures,validator_failures,tool_schema_drift,provider_incident,infrastructure_throttled.Multi-agent:
cascading_failure,coordination_deadlock,drift.Loops:
semantic_loop,loops.Human-in-the-loop:
hitl_timeout,hitl_rejection_spike.Security:
prompt_injection,data_leakage,sandbox_escape,grounding_failure.Several classes carry sub-signatures rather than being separate classes:
loopsfolds in identical-call, similar-call, step-count, and time-budget detection;driftcovers lexical drift and new-model drift;prompt_injectionmatches six named attack patterns (jailbreak/DAN, ignore-instructions, role-override, system-prompt inject, instruction-tag, developer-mode).Each detector produces a stable signature that clusters recurring failures into a single group. First-occurrence webhook notification; per-project tunable thresholds; custom RE2 pattern support on the security detectors.
SDKs
- Python (
mesedion PyPI).@wrapand@tooldecorators,
AsyncShipper, auto-instrumentation for Anthropic / OpenAI / Cohere / Gemini / Ollama (sync, async, streaming), hard-halt with local budgets + SSE remote channel, LangGraph and OpenAI Agents adapters, optional
[langchain]/[crewai]extras.- TypeScript (
mesedion npm). Feature parity with Python.
mesedi/integrations/vercel_aiadapter for Vercel AI SDK'sgenerateText.- gzip request compression on both SDKs (backend decompresses
transparently).
- Payload truncation with per-project
tool_return_value_max_bytes
caps.
Cross-tenant provider signal
provider_incidentclusters cross-tenant errors from a single LLM provider so a customer can tell "the provider is having problems" vs "my code broke." Canonical error class vocabulary (rate_limited,quota_exhausted,internal_error,service_unavailable,timeout,invalid_api_key,client_error,unknown) mapped uniformly across all four providers.retry_afterextracted onto the event where the provider returns it.RAG grounding
Ragas, Promptfoo, and Vectara HHEM grounding evaluators supported via SDK helpers. Threshold config surfaces as
PerEvaluatorFloorsin thegrounding_failuredetector so different evaluators can use different sensitivities.Dashboard
Failure-group + execution surfaces with AI root-cause analysis (Anthropic Haiku on Hobby and Team — pay-per-use on Hobby, 200 included per period on Team; a more capable model with 2,000 included per month on Production and Enterprise). Per-project settings for detector thresholds, custom security patterns, DLP severity policy, HITL fire modes. Audit log (Cloud Team and above). Per-project billing cap with configurable ceiling.
Instrumentation & telemetry
OpenTelemetry parallel emission. Human-in-the-loop lifecycle with timeout, rejection, and approval events. Multi-agent handoff tracking with agent-name propagation.
Foundations
FOUNDATION discipline: pre-audit + post-audit + 5-line audit trail required on every commit, enforced via a
commit-msggit hook. CI drift check (tools/check-tier-constants.sh) asserts every tier constant + feature claim in the dashboard matches the backend enforcement site. - Python (
- sdk-python-v0.5.11 month ago
sdk-python-v0.5.1
Full Changelog: https://github.com/mesedi-ai/mesedi/compare/sdk-python-v0.5.0...sdk-python-v0.5.1
- sdk-python-v0.5.01 month ago
sdk-python-v0.5.0
What's Changed
- deps(deps): bump golang.org/x/crypto from 0.51.0 to 0.52.0 in /backend in the go_modules group across 1 directory by @dependabot[bot] in https://github.com/mesedi-ai/mesedi/pull/20
Full Changelog: https://github.com/mesedi-ai/mesedi/commits/sdk-python-v0.5.0
- sdk-typescript-v0.7.02 months ago
sdk-typescript-v0.7.0
v0.7.0 — LangChain.js callback handler adapter
Adds a first-class LangChain.js integration. Wire it into any LangChain runnable and every LLM invocation and tool call flows into Mesedi with no changes to your agent code beyond attaching the handler.
LangChain
- `MesediLangChainCallbackHandler` extends LangChain's
BaseCallbackHandler. Attach an instance to any runnable'scallbacks:slot; LangChain propagates it to every nested runnable automatically.- Wrap your entry function with
mesedi.wrap()(which owns the
execution boundary) and the handler emits
llm_callandtool_callevents for the LLM and tool invocations inside.- Extractors handle LangChain's
Serialized+LLMResultshape
churn across versions —
kwargs.model→id[]→name→ fallback chain for model identification;textvsmessage.contentvs multi-modal blocks for response text;tokenUsage/token_usage/usage/ newerusage_metadatafor token counts.- Truncation budgets match the Python langchain adapter and every
other TS adapter, so backend detectors see one unified event stream regardless of source.
- Fail-open per-method try/catch; outside a
wrap()execution the
handler silently no-ops.
- Docs: https://mesedi.ai/docs/integrations/langchain
Compatibility
- Node 18+ minimum.
- New optional peer dependency: `@langchain/core >= 0.3.0 < 0.5.0`.
Customers who never import
mesedi/integrations/langchainnever pay the install cost.- Existing
wrap()/tool()call sites and the LangGraph, OpenAI
Agents, Vercel AI SDK, and Mastra adapters keep working without modification.
- sdk-typescript-v0.6.02 months ago
sdk-typescript-v0.6.0
v0.6.0 — Mastra adapter + accumulated provider, framework, and reliability work
First public TypeScript SDK release since v0.2.0. If you were on v0.2.0, upgrading to v0.6.0 gives you everything below in one step.
Framework adapters
- Mastra.
MesediExporterfor@mastra/observability. Wire it
into your
Observability({ exporters: { mesedi: new MesediExporter() } })and Mastra agent runs, workflow runs, LLM calls, tool calls, and workflow steps flow into Mesedi with no changes to your agent code. Docs: https://mesedi.ai/docs/integrations/mastra- Vercel AI SDK.
mesedi/integrations/vercel_aiforgenerateText. - LangGraph.
MesediLangGraphHandler+
instrumentLangGraph()one-call setup. Node-level checkpoint events + sub-graph agent-handoff detection.- OpenAI Agents SDK.
MesediRunHooksimplementing the
RunHooksinterface — checkpoints on agent enter/exit, agent-handoff events, and tool-call events.LLM provider auto-instrumentation
- Anthropic, OpenAI, Cohere, Gemini, Ollama.
instrument*()
functions patch each provider's client to emit
llm_callevents for sync, async, and streaming calls. Exceptions are mapped to Mesedi's canonical error-class vocabulary (rate_limited,quota_exhausted,internal_error,service_unavailable,timeout,invalid_api_key,client_error,unknown).- Vertex AI Gemini surface covered separately for teams using
the Vertex client instead of the direct Gemini SDK.
retry_afterheader extraction on rate-limit responses so your
own retry logic can honor the provider's throttling window.
RAG grounding evaluators
Emit
eval_scoreevents with the shape Mesedi'sgrounding_failuredetector expects, from these three evaluators:- Ragas (
mesedi/integrations/ragas) - Promptfoo (
mesedi/integrations/promptfoo) - Vectara HHEM (
mesedi/integrations/vectara)
Per-evaluator threshold configuration on the backend so different evaluators can use different sensitivities without cross-contamination.
Human-in-the-loop
requestHumanIntervention()/waitForHumanDecision()/
submitHumanDecision()primitives for the full HITL request / response cycle.human_interventionevent captures the ask + the decided answer
when the human's decision lands.
- Execution lifecycle rework adds a
pausedstate with paused-time
accounting so long HITL waits don't inflate an execution's
duration_ms.Multi-agent
emitAgentHandoff(from, to, kind, taskSummary)for cross-agent
task delegation.
- Ergonomic surface:
wrap({ agentName })at the entry point and
handoffs auto-fill
fromAgent.Cost + reliability
- gzip request compression on every event batch above 1 KB.
- Payload truncation with a configurable per-event cap. Longest
string fields are smart-truncated to fit, with marker fields so downstream readers know what happened.
- Cost-per-tenant attribution: pass
tenant_idonwrap()and
cost rolls up correctly on the dashboard's cost-by-tenant report.
- Infrastructure event emission for HTTP 429, circuit-breaker
trips, and hard-quota exhaustion. Consumed by the
infrastructure_throttleddetector on the backend.Failure signature quality
- Granular signatures for
tool_failuresandvalidator_failures
so recurring failures cluster more tightly.
- Structured
return_valuefield ontool_callevents with a
schema-preserving coercion pass and a per-project size cap.
Security
- Regex ReDoS + URL-substring fixes across the SDK's built-in
security helpers (CodeQL sweep).
Compatibility
- Node 18+ minimum.
- Zero required runtime dependencies (as before). Optional peer
dependencies for
@mastra/core,@mastra/observability, andai(Vercel AI SDK).- Existing v0.2.0
wrap()/tool()call sites keep working
without modification.
- Mastra.
- sdk-typescript-v0.2.03 months ago
sdk-typescript-v0.2.0
Full Changelog: https://github.com/mesedi-ai/mesedi/compare/mesedi-curl-v0.1.0...sdk-typescript-v0.2.0
- sdk-python-v0.2.03 months ago
sdk-python-v0.2.0
Full Changelog: https://github.com/mesedi-ai/mesedi/compare/mesedi-curl-v0.1.0...sdk-python-v0.2.0
- mesedi-curl-v0.1.03 months ago
mesedi-curl-v0.1.0
Full Changelog: https://github.com/mesedi-ai/mesedi/commits/mesedi-curl-v0.1.0
- sdk-python-v0.1.04 months ago
sdk-python-v0.1.0
Full Changelog: https://github.com/mesedi-ai/mesedi/commits/sdk-python-v0.1.0