summaryrefslogtreecommitdiffhomepage
path: root/packages/system-prompt/src/catalog.ts
blob: f4df3901eb044697e800053dd1d0ff491685ec44 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
/**
 * Static catalog of available system-prompt variables.
 *
 * Returned by `GET /system-prompt/variables` so the frontend can render the
 * variable selector buttons. The `file:` type is marked `dynamic: true` — any
 * name (file path) is valid for it.
 */
import type { SystemPromptVariable } from "@dispatch/transport-contract";

export function getVariableCatalog(): SystemPromptVariable[] {
  return [
    { type: "system", name: "time", description: "Current time in ISO 8601 format" },
    { type: "system", name: "date", description: "Current date (YYYY-MM-DD)" },
    { type: "system", name: "os", description: "Operating system platform" },
    { type: "system", name: "hostname", description: "Machine hostname" },
    { type: "prompt", name: "cwd", description: "Conversation working directory" },
    { type: "prompt", name: "model", description: "Current model name" },
    { type: "prompt", name: "conversation_id", description: "Conversation identifier" },
    { type: "prompt", name: "workspace_id", description: "Workspace identifier" },
    { type: "git", name: "branch", description: "Current git branch" },
    { type: "git", name: "status", description: "Short git status" },
    {
      type: "file",
      name: "<path>",
      description: "Contents of a file (relative to cwd, or absolute if it starts with /)",
      dynamic: true,
    },
  ];
}