@didwork/sdk
v0.1.0
Published
DidWork: independent verification for software outcomes. Your software said it worked. Did it?
Maintainers
Readme
@didwork/sdk
Your software said it worked. Did it?
DidWork independently verifies that the outcomes software claims to have produced are actually true. Send a claim; DidWork gathers evidence from authoritative systems and returns a verdict: verified, failed, or unknown.
import { did } from "@didwork/sdk";
const result = await did.verify({
type: "stripe.refund",
expected: { payment: "pi_123", amount: 4999 },
});
if (result.status === "verified") proceed();Configure with DIDWORK_API_KEY (get one at didwork.sh), or explicitly via createClient({ apiKey }). Zero dependencies.
Capability Trust
Declare what an agent tool is allowed to affect. did.tool() is local and synchronous: it attaches the declaration and rejects effects outside the DidWork taxonomy, so a typo cannot become an under-declaration.
export const refundCustomer = did.tool({
name: "refund_customer",
description: "Refund an existing customer charge.",
effects: ["financial.refund", "communication.external"],
constraints: { maxAmount: 500 },
});npx @didwork/inspect inspect compares declarations like this against the implementation and reports a DECLARATION_MISMATCH when the code exceeds them. Pass the tools that did a piece of work to did.verify({ tools }) and the receipt records what they could affect, kept apart from the evidence and never an input to the verdict:
await did.verify({
type: "stripe.refund",
expected: { payment: "pi_123", amount: 4999 },
tools: [refundCustomer],
});The taxonomy (CAPABILITIES), risk table (CAPABILITY_RISK), and profile types are exported for tooling.
Docs: https://didwork.sh/docs
