Back to skills
extension
Category: Development & EngineeringNo API key required

libresource

libresource - Typed resource management with access control. ResourceIndex stores and retrieves resources with policy-based authorization. toInstance converts objects to typed instances. toResourceId parses URI strings. createResourceIndex factory. Use for persisting structured data, managing entities, and enforcing access control.

personAuthor: jakexiaohubgithub

libresource Skill

When to Use

  • Storing and retrieving typed resources
  • Managing entities with access control
  • Converting between resource formats
  • Building resource-based APIs

Key Concepts

ResourceIndex: Storage-backed index with policy enforcement for resource access.

Resource identifiers: URIs that identify resource type and instance (e.g., conversation:abc123).

toInstance: Converts plain objects to properly typed resource instances.

Usage Patterns

Pattern 1: Get resource

import { createResourceIndex } from "@copilot-ld/libresource";

const index = await createResourceIndex(storage, policyIndex);
const resource = await index.get("conversation:abc123", actor);

Pattern 2: Parse resource ID

import { toResourceId } from "@copilot-ld/libresource";

const id = toResourceId("conversation:abc123");
// { type: "conversation", id: "abc123" }

Integration

Used by Memory and Agent services. Works with libpolicy for access control.