Skip to content
libtype logo

libtype

libtype - Shared Protocol Buffer types. Generated from proto/ definitions. Namespaces include common, agent, memory, graph, vector, tool, trace, llm, resource. Use Type.fromObject() for creation. identifier() method generates resource IDs. Use for typed message creation, protobuf data structures,...

SKILL.md

Full skill instructions

libtype Skill

When to Use

  • Creating typed protobuf messages
  • Sharing types across services
  • Working with gRPC request/​response objects
  • Generating resource identifiers

Key Concepts

Namespaces: Types organized by domain (common, agent, memory, graph, etc.).

fromObject(): Preferred method to create type instances from plain objects.

identifier(): Method on common types to generate resource identifiers.

Usage Patterns

Pattern 1: Create typed message

import { agent, common } from "@copilot-ld/​libtype";

const request = agent.Request.fromObject({
  resourceId: common.ResourceId.fromObject({
    type: "conversation",
    id: "abc123",
  }),
  content: "Hello, assistant!",
});

Pattern 2: Generate identifier

import { common } from "@copilot-ld/​libtype";

const resourceId = common.ResourceId.fromObject({ type: "message" });
const id = resourceId.identifier(); // "message:uuid"

Integration

Generated by libcodegen from proto/ files. Used by all services and librpc.