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
javascript
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
javascript
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.