Skip to content

Latest commit

 

History

38 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 

Repository files navigation

Read-only mirror. @jeswr/solid-odrl is developed in the jeswr/solid-sdk monorepo and published here by scripts/mirror-publish.mjs so github:-pinned installs keep working — do not edit or PR this repo. File issues on the monorepo.

@jeswr/solid-odrl

Build, parse, and evaluate ODRL 2.2 policies for Solid resources and agent interactions.

Experimental. This is a client-side policy expression and evaluation library; it does not enforce policies inside a Solid server.

Install

npm install github:jeswr/solid-odrl#main

Requires Node.js 24 or newer.

Minimal usage

import { evaluate, parsePolicy, policyToTurtle } from "@jeswr/solid-odrl";

const policy = {
  id: "https://alice.example/policies/read",
  type: "Set" as const,
  permissions: [
    {
      type: "permission" as const,
      action: "read",
      target: "https://alice.example/private/notes.ttl",
      assignee: "https://bob.example/profile/card#me",
    },
  ],
};

const turtle = await policyToTurtle(policy);
const parsed = await parsePolicy(turtle);
if (!parsed) throw new Error("No ODRL policy found");
const result = evaluate(parsed, {
  agent: "https://bob.example/profile/card#me",
  action: "read",
  target: "https://alice.example/private/notes.ttl",
});

result.decision is "permit", "deny", or "notApplicable"; it also explains matched rules, conflicts, and outstanding duties.

For enforcement, treat "notApplicable" as a default deny. Duties are advisory unless evaluation uses { requireDuties: true }; enable it when outstanding duties must block access.

Key API

  • Express: policyToRdf, policyToTurtle, policyToJsonLd, serialize.
  • Parse: parsePolicy, policyFromRdf.
  • Evaluate: evaluate, constraintSatisfied, matchingPermissions.
  • Delegation: evaluateDelegated, delegationProvenance.
  • Adapters: requestContextFromA2AIntent, requestContextFromWac.

Links

License

MIT © Jesse Wright

About

@jeswr/solid-odrl — ODRL 2.2 usage-control policy expression + client-side evaluator for agentic Solid (composes with solid-agent-card + solid-a2a). Agentic infra M3

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors