JSPM

@scopeblind/langchain

0.2.0
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 5
  • Score
    100M100P100Q47241F
  • License MIT

ScopeBlind evidence wrapper for LangChain + LangGraph. Signed receipts for tool calls, graph node transitions, and interrupt resumes.

Package Exports

  • @scopeblind/langchain
  • @scopeblind/langchain/langgraph

Readme

@scopeblind/langchain

Veritas Acta evidence wrapper for LangChain tool calls. Every tool invocation automatically produces a cryptographically signed evidence chain: decision → execution → outcome.

Install

npm install @scopeblind/langchain

Usage

Wrap a Single Tool

import { wrapTool } from '@scopeblind/langchain';

const config = {
  issuer: 'my-gateway',
  privateKey: '...', // Ed25519 hex seed (optional — unsigned if omitted)
  onReceipt: (receipt) => console.log('📋', receipt.receipt_type, receipt.receipt_id),
};

// Wrap any LangChain tool
const protectedTool = wrapTool(myTool, config);

// Use it normally — receipts are generated automatically
const result = await protectedTool.invoke({ query: 'search term' });

Wrap All Tools

import { wrapToolkit } from '@scopeblind/langchain';

const tools = wrapToolkit([searchTool, calculatorTool, fileTool], config);

Push to Evidence Indexer

const config = {
  issuer: 'my-gateway',
  indexerEndpoint: 'https://evidence-indexer.tomjwxf.workers.dev',
  indexerApiKey: 'your-api-key',
};

Callback Handler (for existing chains)

import { createCallbackHandler } from '@scopeblind/langchain';

const handler = createCallbackHandler(config);
const chain = new AgentExecutor({ tools, callbacks: [handler] });

Policy Enforcement

const config = {
  issuer: 'my-gateway',
  enforce: true,
  policy: (toolName, args) => {
    if (toolName === 'delete_file') return 'deny';
    return 'allow';
  },
};

Receipt Chain

Each tool call produces 3 linked receipts:

⚖️  decision (allow/deny)
  └──[caused_by]──▶ ⚡ execution (input_hash)
                       └──[caused_by]──▶ 📦 outcome (output_hash, duration_ms)

Protocol

Built on Veritas Acta — the open evidence protocol for machine decisions.

npm install @veritasacta/protocol  # MIT-licensed protocol types

License

MIT — ScopeBlind