Resource types
@pstdio/sdk/resources exports the types for Prompt Studio’s core data: projects, workspaces, sessions, skills, agents, files, and settings.
Import them as types:
import type { Project, Session, SessionStatus, Workspace } from "@pstdio/sdk/resources";
These types come from the API contracts. Use the exported types directly, so new fields and status values reach your code without a separate schema to maintain. The resource entry lists every export.
| Data | Public types | Source |
|---|---|---|
| Projects | Project |
Project |
| Workspaces | Workspace, WorkspaceListItem |
Workspace |
| Sessions | Session, SessionStatus |
Session |
| Skills | Skill, SkillFile, SkillWithContent |
Skill |
| Agents | AgentInfo, AgentAvailabilityType, AgentModel, AgentSkillsLayout |
Agent |
| Files | FileRecord |
File |
| Settings | Settings |
Settings |
harnessLocalId is the runtime helper exported from this entry. HTTP input and
response types are available from @pstdio/sdk/api.
Planner tickets, tags, and statuses belong to the Planner extension. Templates are extension package contributions. They are not core resource types exported by this entry.
Resource references in extensions
Workbench navigation and renderer callbacks use ResourceRef from
@pstdio/sdk/extensions. It identifies data with type, id, and optional
presentation and ownership fields. Pass the reference intact between callbacks.
import { resourceKey, type ResourceRef } from "@pstdio/sdk/extensions";
const document: ResourceRef = {
type: "document",
id: "readme",
extensionId: "acme.notes",
projectId: "project-1",
label: "README",
};
const identity = resourceKey(document);
resourceKey uses extension ID, project ID, type, and ID. Labels and metadata do
not affect identity. URI conversion belongs to host routing and persistence.
See the composition cookbook for page and panel targets.