← Back to adoptersCertified
Adopter quickstart
LangChain proof path
Public waitlist preview for adopting Imladri with LangChain: initialize the adapter, wrap one risky capability, run the local scanner, and review the proof artifacts before a private design-partner workspace is opened.
Certification status
Certified
Certified against LangChain tool execution boundaries in Python and TypeScript, including LangGraph ToolNode paths and original-tool LangSmith traceable wrappers.
4/4 lanes passed; real-package smoke covers langchain, langchain-core/@langchain/core, LangGraph, and langsmith with zero blocked-path body calls.
Runtimemixed
Public modeAccess preview
One-command starter
imladri init --framework langchain --ci-provider githubPackage access
pip install langchain langchain-core langgraph langsmith
npm install langchain @langchain/core @langchain/langgraph langsmith zod
# Imladri SDK package access is provided during approved onboarding.Minimal wrapper
import {
ConstitutionalAgent,
createLangChainMiddleware,
wrapLangChainTools,
} from "@imladri/sdk";
import { tool } from "langchain";
import { traceable } from "langsmith/traceable";
import * as z from "zod";
const agent = new ConstitutionalAgent({ agentId, apiKey, apiUrl, preflightUrl });
const customerLookup = tool(
traceable(async ({ customerId }) => `customer:${customerId}`, {
name: "customer.lookup",
run_type: "tool",
}),
{
name: "customer.lookup",
description: "Look up a customer by id.",
schema: z.object({ customerId: z.string() }),
},
);
const guardedTools = wrapLangChainTools(agent, [customerLookup], {
strictTools: ["payment.transfer", "cloud.deploy"],
});
const middleware = createLangChainMiddleware(agent);
// Pass middleware to the LangChain JS agent setup that owns raw tool dispatch.
await guardedTools[0].invoke({ customerId: "cust_123" });Local proof artifacts
imladri sdk certify --real --target langchain
imladri scan --path . --fail-on new
imladri proof export --format json --output imladri-proof.json