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.
