System Types
ActivityHistoryResponse
Embedded activity session history for the activity bundle endpoint.
| Field | Type | Required | Description |
|---|---|---|---|
items | SessionListItem[] | No | Session history items |
total_count | integer | No | Total number of matching records |
page | integer | No | Current page number |
page_size | integer | No | Items per page |
total_pages | integer | No | Total number of pages |
ActivityProblemItem
Recent problem displayed on the activity page.
| Field | Type | Required | Description |
|---|---|---|---|
problem_id | string | Yes | Problem identifier |
profile_id | string | No | Profile that reported the problem |
profile_name | string | No | Profile display name |
session_id | string | No | Associated session |
type | string | Yes | Problem type |
message | string | Yes | Problem message |
resolved | boolean | No | Whether the problem is resolved |
created_at | string | Yes | Problem creation timestamp |
ActivityResources
Activity resource metadata.
| Field | Type | Required | Description |
|---|---|---|---|
profiles | object | No | Profile resources keyed by ID |
AnalyticsFacets
Resolved analytics facets — embeddable in any artifact response.
Contains filter field visibility, available options for dropdowns, and date range boundaries. Returned inline from artifact get/search responses so each page has its filter facets ready for SSR.
| Field | Type | Required | Description |
|---|---|---|---|
fields | AnalyticsFilterFields | Yes | Filter field visibility configuration |
department_options | AnalyticsFilterOption[] | No | Department dropdown options |
cohort_options | AnalyticsFilterOption[] | No | Cohort dropdown options |
role_options | AnalyticsRoleOption[] | No | Available role resource options |
attempt_options | string[] | No | Available attempt options |
date_range_earliest | string | No | Earliest available date for filtering |
date_range_latest | string | No | Latest available date for filtering |
AnalyticsFilterField
Visibility/disabled state for a single filter field.
| Field | Type | Required | Description |
|---|---|---|---|
visible | boolean | No | Whether the filter field is visible |
disabled | boolean | No | Whether the filter field is disabled |
AnalyticsFilterFields
Per-page filter field visibility configuration.
| Field | Type | Required | Description |
|---|---|---|---|
date_range | AnalyticsFilterField | No | Date range filter config |
departments | AnalyticsFilterField | No | Department filter config |
cohorts | AnalyticsFilterField | No | Cohort filter config |
roles | AnalyticsFilterField | No | Role filter config |
attempts | AnalyticsFilterField | No | Attempt filter config |
AnalyticsFilterOption
A single filter option for dropdown selectors.
| Field | Type | Required | Description |
|---|---|---|---|
value | string | Yes | Option value for the filter |
label | string | Yes | Human-readable option label |
AnalyticsRoleOption
Hydrated role resource option for analytics role filters.
| Field | Type | Required | Description |
|---|---|---|---|
value | string | Yes | Option value for the filter |
label | string | Yes | Human-readable option label |
id | string | Yes | Role resource UUID |
name | string | Yes | Role resource name |
description | string | No | Role description |
icon_id | string | No | Icon resource UUID |
color_id | string | No | Color resource UUID |
level | integer | Yes | Role privilege level |
ArtifactSessionGroup
Single group entry for a session.
| Field | Type | Required | Description |
|---|---|---|---|
group_id | string | Yes | UUID of the group |
group_name | string | No | Name of the group |
first_run_at | string | No | Timestamp of the first run |
last_run_at | string | No | Timestamp of the last run |
run_count | integer | No | Number of runs in the group |
total_tokens | integer | No | Total tokens used in the group |
total_cost | string | No | Total cost of the group |
CallerPermissions
Evaluated permissions for the current caller on this artifact type.
| Field | Type | Required | Description |
|---|---|---|---|
can_create | boolean | Yes | Whether the caller can create new artifacts |
can_draft | boolean | Yes | Whether the caller can create/update drafts |
can_duplicate | boolean | Yes | Whether the caller can duplicate artifacts |
has_access | boolean | No | Whether the caller can view this entity |
can_edit | boolean | No | Whether the caller can edit this entity |
can_delete | boolean | No | Whether the caller can delete this entity |
disabled_reason | string | No | Human-readable reason if editing is disabled |
ColumnInfo
| Field | Type | Required | Description |
|---|---|---|---|
name | string | Yes | Column name |
type | string | Yes | Column data type |
nullable | boolean | Yes | Whether the column is nullable |
DocsApiResponse
| Field | Type | Required | Description |
|---|---|---|---|
list | PageMetaItem | Yes | — |
detail | PageMetaItem | Yes | — |
new | PageMetaItem | Yes | — |
DocsResponse
| Field | Type | Required | Description |
|---|---|---|---|
name | string | Yes | Resource or entry name |
type | string | Yes | Resource or entry type identifier |
description | string | Yes | Human-readable description |
materialized_view | MvInfo | No | Materialized view metadata |
tables | TableInfo[] | Yes | Related database tables |
operations | OperationInfo[] | Yes | Available operations |
EvalSetup
Run-level eval scaffold — first-class on the generate response.
Audit’s **output spread carries this onto
<artifact>.generate.completed. Null when no rubric-bearing
agent participated.
| Field | Type | Required | Description |
|---|---|---|---|
test_id | string | Yes | — |
invocations | InvocationSlot[] | Yes | — |
FilterOption
A single filter option for dropdown selectors.
| Field | Type | Required | Description |
|---|---|---|---|
value | string | Yes | Internal value for the filter option |
label | string | No | Display label for the filter option |
count | integer | No | Number of matching records |
GenerateConfig
Developer configuration — all optional with sensible defaults.
| Field | Type | Required | Description |
|---|---|---|---|
operations | string[] | No | — |
dangerous | boolean | No | — |
params | object | No | — |
group_id | string | No | — |
GenerationsSystemListItem
Single generation group in the system generations response.
| Field | Type | Required | Description |
|---|---|---|---|
group_id | string | Yes | UUID of the generation group |
session_id | string | No | UUID of the parent session |
group_name | string | No | Name of the generation group |
created_at | string | No | Timestamp of the generation |
GetHealthResponse
| Field | Type | Required | Description |
|---|---|---|---|
date_hour | string | Yes | — |
service | string | Yes | — |
check_count | integer | Yes | — |
ok_count | integer | Yes | — |
fail_count | integer | Yes | — |
uptime_percent | number | Yes | — |
avg_latency_ms | number | Yes | — |
min_latency_ms | number | Yes | — |
max_latency_ms | number | Yes | — |
latest_ok | boolean | Yes | — |
latest_error | string | Yes | — |
GetMetricsSearchResponse
| Field | Type | Required | Description |
|---|---|---|---|
date_hour | string | Yes | — |
sample_count | integer | Yes | — |
avg_cpu_percent | number | Yes | — |
min_cpu_percent | number | Yes | — |
max_cpu_percent | number | Yes | — |
avg_latency_ms | number | Yes | — |
min_latency_ms | number | Yes | — |
max_latency_ms | number | Yes | — |
avg_memory_bytes | integer | Yes | — |
min_memory_bytes | integer | Yes | — |
max_memory_bytes | integer | Yes | — |
max_requests_total | integer | Yes | — |
max_errors_total | integer | Yes | — |
GroupCall
Tool call referenced by a message.
| Field | Type | Required | Description |
|---|---|---|---|
id | string | Yes | — |
tool_name | string | No | — |
template_name | string | No | — |
tool | object | No | — |
ledger_status | string | No | — |
ledger_operation | string | No | — |
ledger_artifact | string | No | — |
ledger_artifact_id | string | No | — |
GroupMessage
Message within a run.
| Field | Type | Required | Description |
|---|---|---|---|
id | string | Yes | — |
role | string | Yes | — |
created_at | string | No | — |
text_ids | string[] | No | — |
audio_ids | string[] | No | — |
image_ids | string[] | No | — |
video_ids | string[] | No | — |
file_ids | string[] | No | — |
call_ids | string[] | No | — |
calls | GroupCall[] | No | — |
reasoning | boolean | No | True when this row is a chain-of-thought trace persisted alongside the assistant answer (rendered as a collapsed accordion). |
in_context | boolean | No | Whether this message is included in the LLM context for the next generation. Mirrors the dedup pass that builds chat history (see in_context_reason). |
in_context_reason | string | No | Why this message is in/out of LLM context. ‘kept’ = included; ‘deduped_read’ = older read-only call to a tool that has a fresher result later in the group; future values may include ‘trimmed_top_n’. |
GroupResource
Lightweight \{id, name\} for cross-referencing run-level ids
(model_id / agent_id / profile_id) against human-readable
names on the analytics panel. Names come from the canonical
get_models / get_agents / get_profiles black boxes.
| Field | Type | Required | Description |
|---|---|---|---|
id | string | Yes | — |
name | string | No | — |
GroupRun
Run within a group, with its messages.
Carries token / cost / model / agent / profile attribution so the
analytics view can render per-run cost + actor info without a
parallel detail shape. profile_id is the authoring profile
(human user), agent_id is the LLM-side actor, model_id is
the model used by that agent. All optional — runs predating these
columns or with unresolved attributions surface None.
| Field | Type | Required | Description |
|---|---|---|---|
id | string | Yes | — |
created_at | string | No | — |
input_tokens | integer | No | — |
output_tokens | integer | No | — |
cached_input_tokens | integer | No | — |
cost | number | No | — |
model_id | string | No | — |
agent_id | string | No | — |
profile_id | string | No | — |
previous_context_start_index | integer | No | Index in messages where the current run’s own messages begin; earlier rows are previous-context replay. None when the run has no previous context attached. |
messages | GroupMessage[] | No | — |
HealthViews
Health view data.
| Field | Type | Required | Description |
|---|---|---|---|
service_hourly | GetHealthResponse[] | No | Hourly service health entries |
metrics_hourly | GetMetricsSearchResponse[] | No | Hourly metrics entries |
InvocationSlot
One agent’s slot in a multi-agent generation pool.
Populated by setup_generation_test when an agent carries a
rubric. The client uses these IDs to drive the eval workflow:
review the candidate’s output, optionally fire a grader against
its invocation_id, and promote/reject by call_id via the
existing idempotency_key + accept pattern.
| Field | Type | Required | Description |
|---|---|---|---|
invocation_id | string | Yes | — |
agent_id | string | Yes | — |
rubric_id | string | No | — |
MvInfo
| Field | Type | Required | Description |
|---|---|---|---|
name | string | Yes | Materialized view name |
definition | string | Yes | SQL definition of the view |
columns | ColumnInfo[] | Yes | List of columns in the view |
OperationInfo
| Field | Type | Required | Description |
|---|---|---|---|
name | string | Yes | Operation name |
description | string | Yes | Human-readable description of the operation |
params | ParamInfo[] | Yes | List of operation parameters |
returns | object | No | Return type schema |
OperationPrompts
Starter prompts keyed by operation name.
Each key is an operation (e.g. “create”, “search”, “draft”, “export”) and the value is a list of starter prompts for that operation. The client picks from the operations the caller has permission for and rotates through them.
| Field | Type | Required | Description |
|---|---|---|---|
prompts | object | No | Map of operation name to starter prompts |
PageMetaItem
| Field | Type | Required | Description |
|---|---|---|---|
title | string | Yes | — |
description | string | Yes | — |
ParamInfo
| Field | Type | Required | Description |
|---|---|---|---|
name | string | Yes | Parameter name |
type | string | Yes | Parameter data type |
required | boolean | Yes | Whether the parameter is required |
default | any | No | Default value if not required |
PricingDailyItem
A single day+model aggregation bucket.
| Field | Type | Required | Description |
|---|---|---|---|
date_key | string | Yes | Date bucket key |
model_id | string | No | Associated model identifier |
total_cost | string | No | Total cost for this bucket |
run_count | integer | No | Number of runs in this bucket |
PricingGroupItem
A single group row in the pricing list.
| Field | Type | Required | Description |
|---|---|---|---|
group_id | string | Yes | Pricing group identifier |
session_id | string | No | Associated session ID |
group_name | string | No | Group display name |
first_run_at | string | No | Timestamp of first run |
last_run_at | string | No | Timestamp of last run |
run_count | integer | No | Number of runs in the group |
total_input_tokens | integer | No | Total input tokens consumed |
total_output_tokens | integer | No | Total output tokens generated |
total_tokens | integer | No | Total tokens used |
total_cost | string | No | Total cost for the group |
agent_ids | string[] | No | Associated agent IDs |
model_ids | string[] | No | Associated model IDs |
profile_ids | string[] | No | Profile IDs (human users) who triggered runs in this group |
agent_names | string[] | No | Associated agent names |
model_names | string[] | No | Associated model names |
profile_names | string[] | No | Display names of the profiles (human users) who triggered runs in this group |
PricingHistoryResponse
Embedded pricing group history for the pricing bundle endpoint.
| Field | Type | Required | Description |
|---|---|---|---|
items | PricingGroupItem[] | No | Pricing group rows |
total_count | integer | No | Total number of matching records |
page | integer | No | Current page number |
page_size | integer | No | Items per page |
total_pages | integer | No | Total number of pages |
PricingResources
Pricing resource metadata.
| Field | Type | Required | Description |
|---|---|---|---|
agents | object | No | Agent resources keyed by ID |
models | object | No | Model resources keyed by ID |
ProducedMedia
One asset produced by a generation run.
resource_id is the canonical id the per-artifact download tools
accept (e.g. Scenario_Image_Download(image_id=resource_id) for
modality="image"). It maps to images_resource.id /
videos_resource.id / audios_resource.id depending on the
modality.
| Field | Type | Required | Description |
|---|---|---|---|
modality | "image" | "video" | "audio" | Yes | — |
resource_id | string | Yes | — |
upload_id | string | Yes | — |
mime_type | string | No | — |
file_size | integer | No | — |
ProfileSummary
Caller identity derived from JWT — who you are on this page.
Superset of the old six-field version: now carries everything the client
needs so that /\{artifact\}/context fully replaces /profiles/context
and the extra getLayoutContextData round-trip can be dropped.
| Field | Type | Required | Description |
|---|---|---|---|
name | string | Yes | Display name of the authenticated user |
role | string | Yes | Role name (e.g. ‘Super Administrator’) |
role_level | integer | Yes | Role hierarchy level (0 = highest privilege) |
department_ids | string[] | Yes | Departments the user belongs to |
artifact_access | string[] | Yes | Artifact types this role can access (sidebar visibility) |
role_permissions | any[][] | Yes | Full (artifact, operation) permission tuples for granular page gating |
is_active | boolean | Yes | Whether the user’s profile is active |
id | string | Yes | Profile UUID (SocketProvider, ProfileProvider) |
theme | ThemeBundle | No | Resolved theme: hex primitives + derived oklch tokens + score thresholds |
session_id | string | No | Current session UUID |
is_emulation | boolean | No | Whether user is in emulation mode (ProfileProvider) |
role_resources | QGetProfileContextV4RoleResource[] | No | All role resources for emulation display (ProfileProvider) |
scoped_roles | string[] | No | Roles the user can emulate (ProfileProvider) |
active | boolean | No | Alias for is_active (ProfileProvider uses this name) |
ProfileSummaryItem
Per-profile aggregate stats for the summary card.
| Field | Type | Required | Description |
|---|---|---|---|
profile_id | string | No | Profile identifier |
profile_name | string | No | Profile display name |
sessions_count | integer | No | Number of sessions |
logins_count | integer | No | Number of logins |
grants_count | integer | No | Number of grants |
problems_count | integer | No | Number of problems |
activity_count | integer | No | Total activity count |
QGetProfileContextV4RoleResource
| Field | Type | Required | Description |
|---|---|---|---|
role | string | No | — |
name | string | No | — |
description | string | No | — |
icon_value | string | No | — |
color_hex | string | No | — |
RunStatus
Outcome of one watched run.
| Field | Type | Required | Description |
|---|---|---|---|
run_id | string | Yes | — |
status | "pending" | "completed" | "failed" | Yes | — |
modality | string | No | Modality of generated output (image, video, text…) |
resource_ids | string[] | No | Resource UUIDs produced by this run (e.g. images_resource ids) |
error | string | No | — |
SessionListItem
Single session in the list response with hydrated metadata.
| Field | Type | Required | Description |
|---|---|---|---|
session_id | string | Yes | UUID of the session |
profile_id | string | No | UUID of the user profile |
profile_name | string | No | Display name of the user profile |
session_created_at | string | No | Timestamp when session was created |
session_updated_at | string | No | Timestamp when session was last updated |
active | boolean | No | Whether the session is active |
group_count | integer | No | Number of groups in the session |
run_count | integer | No | Number of runs in the session |
first_run_at | string | No | Timestamp of the first run |
last_run_at | string | No | Timestamp of the last run |
total_tokens | integer | No | Total tokens used in the session |
total_cost | string | No | Total cost of the session |
chat_count | integer | No | Number of chats in the session |
attempt_count | integer | No | Number of attempts in the session |
message_count | integer | No | Number of messages in the session |
problem_count | integer | No | Number of problems in the session |
SessionTimelineItem
Single event in the unified session timeline.
| Field | Type | Required | Description |
|---|---|---|---|
event_type | string | No | Type of the timeline event |
entity_id | string | No | UUID of the related entity |
entity_name | string | No | Name of the related entity |
created_at | string | No | Timestamp when the event occurred |
extra_1 | string | No | Additional context field 1 |
extra_2 | string | No | Additional context field 2 |
TableInfo
| Field | Type | Required | Description |
|---|---|---|---|
name | string | Yes | Table name |
columns | ColumnInfo[] | Yes | List of columns in the table |
ThemeBundle
Full theme payload for a page bootstrap.
Riding along on every /\{artifact\}/context response via
ProfileSummary.theme. Layers:
primitives/dark_primitives— hex inputs the settings editor reads/writes (light + dark palettes).tokens/dark_tokens— oklch tokens the client paints with.ThemeStyleemits two<style>blocks: one scoped to:root:not(.dark)(light) and one to:root.dark(dark).thresholds— numeric score thresholds for analytics components. Empty-in → empty-out per token: missing values fall through to the matchingglobals.cssdefault.
| Field | Type | Required | Description |
|---|---|---|---|
primitives | ThemePrimitives | No | Hex inputs from the setting (light palette, for the theme editor) |
tokens | ThemeTokens | No | Derived oklch tokens for light mode (SSR CSS-var injection) |
dark_primitives | ThemePrimitives | No | Hex inputs from the setting (dark palette, for the theme editor) |
dark_tokens | ThemeTokens | No | Derived oklch tokens for dark mode (SSR CSS-var injection) |
thresholds | Thresholds | No | Score thresholds resolved from the setting |
ThemePrimitives
40 optional fields. The 17 essentials drive the rest; the other 23 are overrides for fine-tuning when derivation isn’t what you want.
Empty primitive → empty token → client falls back to globals.css.
| Field | Type | Required | Description |
|---|---|---|---|
background | string | No | — |
primary | string | No | — |
accent | string | No | — |
card | string | No | — |
sidebar | string | No | — |
muted_foreground | string | No | — |
ring | string | No | — |
border | string | No | — |
destructive | string | No | — |
success | string | No | — |
warning | string | No | — |
info | string | No | — |
chart1 | string | No | — |
chart2 | string | No | — |
chart3 | string | No | — |
chart4 | string | No | — |
chart5 | string | No | — |
foreground | string | No | — |
card_foreground | string | No | — |
popover | string | No | — |
popover_foreground | string | No | — |
primary_foreground | string | No | — |
secondary | string | No | — |
secondary_foreground | string | No | — |
muted | string | No | — |
accent_foreground | string | No | — |
destructive_foreground | string | No | — |
danger | string | No | — |
danger_foreground | string | No | — |
input | string | No | — |
success_foreground | string | No | — |
warning_foreground | string | No | — |
info_foreground | string | No | — |
sidebar_foreground | string | No | — |
sidebar_primary | string | No | — |
sidebar_primary_foreground | string | No | — |
sidebar_accent | string | No | — |
sidebar_accent_foreground | string | No | — |
sidebar_border | string | No | — |
sidebar_ring | string | No | — |
ThemeTokens
40 fully-resolved CSS variable values (snake_case 1:1 with vars).
| Field | Type | Required | Description |
|---|---|---|---|
background | string | No | — |
foreground | string | No | — |
card | string | No | — |
card_foreground | string | No | — |
popover | string | No | — |
popover_foreground | string | No | — |
primary | string | No | — |
primary_foreground | string | No | — |
secondary | string | No | — |
secondary_foreground | string | No | — |
muted | string | No | — |
muted_foreground | string | No | — |
accent | string | No | — |
accent_foreground | string | No | — |
destructive | string | No | — |
destructive_foreground | string | No | — |
danger | string | No | — |
danger_foreground | string | No | — |
border | string | No | — |
input | string | No | — |
ring | string | No | — |
success | string | No | — |
success_foreground | string | No | — |
warning | string | No | — |
warning_foreground | string | No | — |
info | string | No | — |
info_foreground | string | No | — |
chart1 | string | No | — |
chart2 | string | No | — |
chart3 | string | No | — |
chart4 | string | No | — |
chart5 | string | No | — |
sidebar | string | No | — |
sidebar_foreground | string | No | — |
sidebar_primary | string | No | — |
sidebar_primary_foreground | string | No | — |
sidebar_accent | string | No | — |
sidebar_accent_foreground | string | No | — |
sidebar_border | string | No | — |
sidebar_ring | string | No | — |
Thresholds
Numeric score thresholds resolved from the active setting.
Server pre-buckets dashboard metrics into success | warning | danger | neutral already, so most components don’t need these values. Surface
them for chart reference lines, tooltips, and any client-side bucketing.
| Field | Type | Required | Description |
|---|---|---|---|
success | integer | Yes | Score >= this counts as success |
warning | integer | Yes | Score >= this counts as warning |
danger | integer | Yes | Score < success threshold but >= this counts as danger; below is neutral/no-data |