New:Microsoft Teams Notifications Are Now Available in Socket.Learn more
Get Started

@fidacy/langchain

Package Overview
Dependencies
Maintainers
1
Versions
8
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@fidacy/langchain

Gate LangChain tool calls behind a signed Fidacy verdict. Wraps the tool itself, so a denied payment never executes: callbacks can only observe, this can stop.

Source
npmnpm
Version
0.2.1
Version published
Weekly downloads
0
Maintainers
1
Weekly downloads
 
Created
Source

@fidacy/langchain

Gate LangChain tool calls behind a signed Fidacy verdict. A denied payment never executes.

npm i @fidacy/langchain @langchain/core
import { guardTools } from "@fidacy/langchain";

const tools = guardTools([payTool, searchTool], { apiKey: process.env.FIDACY_ENGINE_API_KEY });
// payTool is now assessed before every call. searchTool is returned untouched.

Free engine key, no card: https://fidacy.com/claim

Why not a callback handler

LangChain callbacks (handleToolStart and friends) are observational. They fire around the call and cannot cancel it, so a guardrail built on them watches the money leave. This replaces the tool's own execution path, which is the only place that can actually stop a payment.

Fail-closed

If the engine is unreachable, the key is wrong, or the request times out, the call is denied. A payment firewall that opens when it breaks is not a firewall.

review also blocks by default. Set reviewIsDeny: false to let it through.

What a denial looks like

guardTool throws FidacyDenied with the signed proof attached:

try {
  await tools[0].invoke({ payee: "acme", amount: 5000 });
} catch (e) {
  if (e instanceof FidacyDenied) {
    e.decision;                // "deny" | "review" | "unavailable"
    e.verdict?.riskPayloadJws; // detached JWS, verify offline with @fidacy/verify
    e.verdict?.assessmentId;
  }
}

Options

OptionDefaultWhat it does
apiKeyFIDACY_ENGINE_API_KEYEngine credential
engineUrlhttps://api.fidacy.comEngine base URL
clientbuilt from apiKeyBring your own @fidacy/sdk client
isPaymentname heuristicWhich tools guardTools gates
toMandatepayee/amount/currency + raw argsBuild the mandate the engine assesses
reviewIsDenytrueWhether review blocks
onDecisionnoneObserve every decision, including approvals

guardTool(tool, opts) gates one tool unconditionally. guardTools(list, opts) gates only the ones isPayment matches and returns the rest by identity, so non-payment tools carry no cost.

The wrapped tool keeps its name, description and schema, so the model sees no difference.

Apache-2.0 · https://fidacy.com

Keywords

langchain

FAQs

Package last updated on 25 Jul 2026

Related posts