Files
app/frontend/src/client/schemas.gen.ts
T
stroblmeandClaude Fable 5 f239c884b6 Add OAuth client list and revoke endpoints
Superuser-only management for agents that registered themselves: list them
with whether anyone approved them, and withdraw one without rotating the
signing key and cutting off every other agent.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01H7LwYgJfpkbLCTeiAf8U4A
2026-08-16 16:29:47 +02:00

2120 lines
48 KiB
TypeScript

// This file is auto-generated by @hey-api/openapi-ts
export const AlertsConfigSchema = {
properties: {
enabled: {
type: 'boolean',
title: 'Enabled',
default: true
},
channels: {
items: {
'$ref': '#/components/schemas/Channel'
},
type: 'array',
title: 'Channels'
},
rules: {
items: {
'$ref': '#/components/schemas/Rule'
},
type: 'array',
title: 'Rules'
}
},
type: 'object',
title: 'AlertsConfig',
description: 'The whole alerting setup, as stored and as the API sees it.'
} as const;
export const Body_login_login_access_tokenSchema = {
properties: {
grant_type: {
anyOf: [
{
type: 'string',
pattern: '^password$'
},
{
type: 'null'
}
],
title: 'Grant Type'
},
username: {
type: 'string',
title: 'Username'
},
password: {
type: 'string',
format: 'password',
title: 'Password'
},
scope: {
type: 'string',
title: 'Scope',
default: ''
},
client_id: {
anyOf: [
{
type: 'string'
},
{
type: 'null'
}
],
title: 'Client Id'
},
client_secret: {
anyOf: [
{
type: 'string'
},
{
type: 'null'
}
],
format: 'password',
title: 'Client Secret'
}
},
type: 'object',
required: ['username', 'password'],
title: 'Body_login-login_access_token'
} as const;
export const Body_oauth_tokenSchema = {
properties: {
grant_type: {
type: 'string',
title: 'Grant Type'
},
code: {
anyOf: [
{
type: 'string'
},
{
type: 'null'
}
],
title: 'Code'
},
redirect_uri: {
anyOf: [
{
type: 'string'
},
{
type: 'null'
}
],
title: 'Redirect Uri'
},
client_id: {
anyOf: [
{
type: 'string'
},
{
type: 'null'
}
],
title: 'Client Id'
},
code_verifier: {
anyOf: [
{
type: 'string'
},
{
type: 'null'
}
],
title: 'Code Verifier'
},
refresh_token: {
anyOf: [
{
type: 'string'
},
{
type: 'null'
}
],
title: 'Refresh Token'
},
resource: {
anyOf: [
{
type: 'string'
},
{
type: 'null'
}
],
title: 'Resource'
}
},
type: 'object',
required: ['grant_type'],
title: 'Body_oauth-token'
} as const;
export const ChannelSchema = {
properties: {
name: {
type: 'string',
title: 'Name'
},
kind: {
type: 'string',
enum: ['ntfy', 'smtp', 'webhook'],
title: 'Kind'
},
enabled: {
type: 'boolean',
title: 'Enabled',
default: true
},
config: {
additionalProperties: true,
type: 'object',
title: 'Config'
}
},
type: 'object',
required: ['name', 'kind'],
title: 'Channel',
description: 'Somewhere to send an alert.'
} as const;
export const DTypeSchema = {
type: 'string',
enum: ['float', 'int', 'str', 'bool', 'json'],
title: 'DType',
description: `Serializable payload types.
Binary payloads (tensors, images) will arrive later as explicitly declared
codec fields; until then everything on the wire is JSON.`
} as const;
export const DashboardDef_InputSchema = {
properties: {
name: {
type: 'string',
title: 'Name'
},
title: {
type: 'string',
title: 'Title',
default: ''
},
pages: {
items: {
'$ref': '#/components/schemas/PageDef-Input'
},
type: 'array',
title: 'Pages'
},
version: {
type: 'integer',
title: 'Version',
default: 1
}
},
type: 'object',
required: ['name'],
title: 'DashboardDef',
description: 'A dashboard as stored, and as the API hands it over.'
} as const;
export const DashboardDef_OutputSchema = {
properties: {
name: {
type: 'string',
title: 'Name'
},
title: {
type: 'string',
title: 'Title',
default: ''
},
pages: {
items: {
'$ref': '#/components/schemas/PageDef-Output'
},
type: 'array',
title: 'Pages'
},
version: {
type: 'integer',
title: 'Version',
default: 1
}
},
type: 'object',
required: ['name'],
title: 'DashboardDef',
description: 'A dashboard as stored, and as the API hands it over.'
} as const;
export const DashboardSummarySchema = {
properties: {
name: {
type: 'string',
title: 'Name'
},
title: {
type: 'string',
title: 'Title',
default: ''
},
page_count: {
type: 'integer',
title: 'Page Count',
default: 0
},
widget_count: {
type: 'integer',
title: 'Widget Count',
default: 0
}
},
type: 'object',
required: ['name'],
title: 'DashboardSummary',
description: 'A dashboard in a list, without its contents.'
} as const;
export const DashboardsPublicSchema = {
properties: {
data: {
items: {
'$ref': '#/components/schemas/DashboardSummary'
},
type: 'array',
title: 'Data'
},
count: {
type: 'integer',
title: 'Count'
}
},
type: 'object',
required: ['data', 'count'],
title: 'DashboardsPublic'
} as const;
export const EndpointSchema = {
properties: {
kind: {
type: 'string',
title: 'Kind'
},
id: {
type: 'string',
title: 'Id'
},
label: {
type: 'string',
title: 'Label'
},
detail: {
type: 'string',
title: 'Detail',
default: ''
},
provides: {
items: {
type: 'string'
},
type: 'array',
title: 'Provides',
default: []
},
requires: {
items: {
type: 'string'
},
type: 'array',
title: 'Requires',
default: []
}
},
type: 'object',
required: ['kind', 'id', 'label'],
title: 'Endpoint',
description: `Something wired into this flow that is not a node in it.
A dashboard control setting one of its messages, a tile showing one, or a
node in another flow on the far side of a dotted name. The canvas draws
these so a value never appears to come from nowhere — or worse, appears to
come from whichever node happens to be drawn as a producer.`
} as const;
export const FlowDef_InputSchema = {
properties: {
name: {
type: 'string',
title: 'Name'
},
title: {
type: 'string',
title: 'Title',
default: ''
},
nodes: {
items: {
'$ref': '#/components/schemas/NodeDef-Input'
},
type: 'array',
title: 'Nodes'
},
inputs: {
items: {
'$ref': '#/components/schemas/FlowInput-Input'
},
type: 'array',
title: 'Inputs'
},
version: {
type: 'integer',
title: 'Version',
default: 1
}
},
type: 'object',
required: ['name'],
title: 'FlowDef',
description: 'One atomic flow.'
} as const;
export const FlowDef_OutputSchema = {
properties: {
name: {
type: 'string',
title: 'Name'
},
title: {
type: 'string',
title: 'Title',
default: ''
},
nodes: {
items: {
'$ref': '#/components/schemas/NodeDef-Output'
},
type: 'array',
title: 'Nodes'
},
inputs: {
items: {
'$ref': '#/components/schemas/FlowInput-Output'
},
type: 'array',
title: 'Inputs'
},
version: {
type: 'integer',
title: 'Version',
default: 1
}
},
type: 'object',
required: ['name'],
title: 'FlowDef',
description: 'One atomic flow.'
} as const;
export const FlowDetailSchema = {
properties: {
definition: {
'$ref': '#/components/schemas/FlowDef-Output'
},
nodes: {
items: {
'$ref': '#/components/schemas/NodeStatusPublic'
},
type: 'array',
title: 'Nodes',
default: []
},
issues: {
items: {
'$ref': '#/components/schemas/ValidationIssue'
},
type: 'array',
title: 'Issues',
default: []
},
has_draft: {
type: 'boolean',
title: 'Has Draft',
default: false
},
enabled: {
type: 'boolean',
title: 'Enabled',
default: true
},
paused: {
type: 'boolean',
title: 'Paused',
default: false
},
endpoints: {
items: {
'$ref': '#/components/schemas/Endpoint'
},
type: 'array',
title: 'Endpoints',
default: []
}
},
type: 'object',
required: ['definition'],
title: 'FlowDetail',
description: `A flow plus how it is currently doing.
\`\`definition\`\` is the working copy — the unpublished draft when there is
one — because that is what the editor shows. \`\`nodes\`\` reports the
published flow, which is what is actually running.`
} as const;
export const FlowInput_InputSchema = {
properties: {
spec: {
'$ref': '#/components/schemas/MessageSpec'
},
initial: {
anyOf: [
{},
{
type: 'null'
}
],
title: 'Initial'
}
},
type: 'object',
required: ['spec'],
title: 'FlowInput',
description: 'A message the flow starts with rather than computes.'
} as const;
export const FlowInput_OutputSchema = {
properties: {
spec: {
'$ref': '#/components/schemas/MessageSpec'
},
initial: {
anyOf: [
{},
{
type: 'null'
}
],
title: 'Initial'
}
},
type: 'object',
required: ['spec'],
title: 'FlowInput',
description: 'A message the flow starts with rather than computes.'
} as const;
export const FlowStatePublicSchema = {
properties: {
values: {
additionalProperties: {
'$ref': '#/components/schemas/app__flow__schemas__MessageValue'
},
type: 'object',
title: 'Values'
},
nodes: {
items: {
'$ref': '#/components/schemas/NodeStatusPublic'
},
type: 'array',
title: 'Nodes'
}
},
type: 'object',
title: 'FlowStatePublic'
} as const;
export const FlowSummarySchema = {
properties: {
name: {
type: 'string',
title: 'Name'
},
title: {
type: 'string',
title: 'Title',
default: ''
},
node_count: {
type: 'integer',
title: 'Node Count',
default: 0
},
error_count: {
type: 'integer',
title: 'Error Count',
default: 0
},
has_draft: {
type: 'boolean',
title: 'Has Draft',
default: false
},
enabled: {
type: 'boolean',
title: 'Enabled',
default: true
},
paused: {
type: 'boolean',
title: 'Paused',
default: false
},
quarantined: {
type: 'boolean',
title: 'Quarantined',
default: false
}
},
type: 'object',
required: ['name'],
title: 'FlowSummary'
} as const;
export const FlowsPublicSchema = {
properties: {
data: {
items: {
'$ref': '#/components/schemas/FlowSummary'
},
type: 'array',
title: 'Data'
},
count: {
type: 'integer',
title: 'Count'
}
},
type: 'object',
required: ['data', 'count'],
title: 'FlowsPublic'
} as const;
export const HTTPValidationErrorSchema = {
properties: {
detail: {
items: {
'$ref': '#/components/schemas/ValidationError'
},
type: 'array',
title: 'Detail'
}
},
type: 'object',
title: 'HTTPValidationError'
} as const;
export const HistoryPointSchema = {
properties: {
ts: {
type: 'number',
title: 'Ts'
},
value: {
type: 'number',
title: 'Value'
}
},
type: 'object',
required: ['ts', 'value'],
title: 'HistoryPoint',
description: 'One numeric value a message carried, and when.'
} as const;
export const LibraryNodeSchema = {
properties: {
name: {
type: 'string',
title: 'Name'
},
used_by: {
items: {
type: 'string'
},
type: 'array',
title: 'Used By'
}
},
type: 'object',
required: ['name'],
title: 'LibraryNode',
description: 'A node source shared across flows, and who is using it.'
} as const;
export const MessageSchema = {
properties: {
message: {
type: 'string',
title: 'Message'
}
},
type: 'object',
required: ['message'],
title: 'Message'
} as const;
export const MessageHistorySchema = {
properties: {
message: {
type: 'string',
title: 'Message'
},
numeric: {
type: 'boolean',
title: 'Numeric',
default: false
},
points: {
items: {
'$ref': '#/components/schemas/HistoryPoint'
},
type: 'array',
title: 'Points'
}
},
type: 'object',
required: ['message'],
title: 'MessageHistory',
description: `A message's recent numeric values, oldest first.
Only numbers are recorded, so \`\`numeric\`\` tells the panel whether an empty
series means "nothing plottable here" or "nothing has arrived yet".`
} as const;
export const MessageInfoSchema = {
properties: {
name: {
type: 'string',
title: 'Name'
},
flow: {
type: 'string',
title: 'Flow'
},
dtype: {
type: 'string',
title: 'Dtype'
},
providers: {
items: {
type: 'string'
},
type: 'array',
title: 'Providers',
default: []
},
writable: {
type: 'boolean',
title: 'Writable',
default: true
},
numeric: {
type: 'boolean',
title: 'Numeric',
default: false
},
value: {
title: 'Value'
},
ts: {
anyOf: [
{
type: 'number'
},
{
type: 'null'
}
],
title: 'Ts'
}
},
type: 'object',
required: ['name', 'flow', 'dtype'],
title: 'MessageInfo',
description: 'One message, as something to bind a widget to.'
} as const;
export const MessagePointsSchema = {
properties: {
message: {
type: 'string',
title: 'Message'
},
numeric: {
type: 'boolean',
title: 'Numeric'
},
points: {
items: {
additionalProperties: {
type: 'number'
},
type: 'object'
},
type: 'array',
title: 'Points'
}
},
type: 'object',
required: ['message', 'numeric', 'points'],
title: 'MessagePoints'
} as const;
export const MessageSpecSchema = {
properties: {
name: {
type: 'string',
title: 'Name',
default: ''
},
port: {
type: 'string',
title: 'Port',
default: ''
},
dtype: {
'$ref': '#/components/schemas/DType',
default: 'float'
},
interval: {
type: 'number',
minimum: 0,
title: 'Interval',
default: 0
},
trigger: {
type: 'boolean',
title: 'Trigger',
default: true
}
},
type: 'object',
title: 'MessageSpec',
description: `A single port of a node, and the message it is bound to.
:param name: The message this port binds to. Bare names are qualified with
the flow name at load time; empty means the port is unbound.
:param port: The identifier the node function sees. Defaults to the last
segment of \`\`name\`\`, so unqualified flows read naturally.
:param dtype: Payload type, validated on every message that passes through.
:param interval: Deliver at most every this many seconds; 0 is every time.
On an output it holds back publishing, on an input it holds back waking
the node. The value is never lost — state keeps the latest — only the
delivery is skipped.
:param trigger: Whether arriving values wake the node. An input with this
off is read when the node runs for some other reason, but never causes
a run and never makes the node wait — which is how a node reads a
message it also produces without depending on itself.`
} as const;
export const MessagesPublicSchema = {
properties: {
data: {
items: {
'$ref': '#/components/schemas/MessageInfo'
},
type: 'array',
title: 'Data'
},
count: {
type: 'integer',
title: 'Count'
}
},
type: 'object',
required: ['data', 'count'],
title: 'MessagesPublic'
} as const;
export const NewPasswordSchema = {
properties: {
token: {
type: 'string',
title: 'Token'
},
new_password: {
type: 'string',
maxLength: 128,
minLength: 8,
title: 'New Password'
}
},
type: 'object',
required: ['token', 'new_password'],
title: 'NewPassword'
} as const;
export const NodeDef_InputSchema = {
properties: {
id: {
type: 'string',
title: 'Id'
},
type: {
type: 'string',
title: 'Type',
default: 'python'
},
title: {
type: 'string',
title: 'Title',
default: ''
},
position: {
'$ref': '#/components/schemas/Position',
default: {
x: 0,
y: 0
}
},
params: {
additionalProperties: true,
type: 'object',
title: 'Params'
},
requires: {
items: {
'$ref': '#/components/schemas/MessageSpec'
},
type: 'array',
title: 'Requires'
},
provides: {
items: {
'$ref': '#/components/schemas/MessageSpec'
},
type: 'array',
title: 'Provides'
},
source_ref: {
anyOf: [
{
type: 'string'
},
{
type: 'null'
}
],
title: 'Source Ref'
}
},
type: 'object',
required: ['id'],
title: 'NodeDef',
description: 'A node as stored: identity, placement, configuration and ports.'
} as const;
export const NodeDef_OutputSchema = {
properties: {
id: {
type: 'string',
title: 'Id'
},
type: {
type: 'string',
title: 'Type',
default: 'python'
},
title: {
type: 'string',
title: 'Title',
default: ''
},
position: {
'$ref': '#/components/schemas/Position',
default: {
x: 0,
y: 0
}
},
params: {
additionalProperties: true,
type: 'object',
title: 'Params'
},
requires: {
items: {
'$ref': '#/components/schemas/MessageSpec'
},
type: 'array',
title: 'Requires'
},
provides: {
items: {
'$ref': '#/components/schemas/MessageSpec'
},
type: 'array',
title: 'Provides'
},
source_ref: {
anyOf: [
{
type: 'string'
},
{
type: 'null'
}
],
title: 'Source Ref'
}
},
type: 'object',
required: ['id'],
title: 'NodeDef',
description: 'A node as stored: identity, placement, configuration and ports.'
} as const;
export const NodeSourceSchema = {
properties: {
code: {
type: 'string',
title: 'Code'
}
},
type: 'object',
required: ['code'],
title: 'NodeSource',
description: 'The Python source of a node.'
} as const;
export const NodeStatusPublicSchema = {
properties: {
id: {
type: 'string',
title: 'Id'
},
status: {
type: 'string',
title: 'Status',
default: 'active'
},
error: {
anyOf: [
{
type: 'string'
},
{
type: 'null'
}
],
title: 'Error'
},
health: {
type: 'string',
enum: ['ok', 'degraded', 'down'],
title: 'Health',
default: 'ok'
},
health_detail: {
anyOf: [
{
type: 'string'
},
{
type: 'null'
}
],
title: 'Health Detail'
}
},
type: 'object',
required: ['id'],
title: 'NodeStatusPublic',
description: 'Whether a node loaded, and how its connection is doing.'
} as const;
export const NodeTypeInfoSchema = {
properties: {
type: {
type: 'string',
title: 'Type'
},
title: {
type: 'string',
title: 'Title'
},
description: {
type: 'string',
title: 'Description'
},
params_schema: {
additionalProperties: true,
type: 'object',
title: 'Params Schema'
},
has_source: {
type: 'boolean',
title: 'Has Source',
default: false
},
free_params: {
type: 'boolean',
title: 'Free Params',
default: false
},
plugin: {
anyOf: [
{
type: 'string'
},
{
type: 'null'
}
],
title: 'Plugin'
}
},
type: 'object',
required: ['type', 'title', 'description'],
title: 'NodeTypeInfo',
description: 'A node type the editor can offer, with its parameter schema.'
} as const;
export const OAuthAuthorizeInfoSchema = {
properties: {
client_name: {
type: 'string',
title: 'Client Name'
},
redirect_uri: {
type: 'string',
title: 'Redirect Uri'
},
scope: {
type: 'string',
title: 'Scope'
}
},
type: 'object',
required: ['client_name', 'redirect_uri', 'scope'],
title: 'OAuthAuthorizeInfo',
description: 'What the consent page shows, all of it validated server-side.'
} as const;
export const OAuthAuthorizeRequestSchema = {
properties: {
client_id: {
type: 'string',
title: 'Client Id'
},
redirect_uri: {
type: 'string',
title: 'Redirect Uri'
},
code_challenge: {
type: 'string',
title: 'Code Challenge'
},
code_challenge_method: {
type: 'string',
title: 'Code Challenge Method',
default: 'S256'
},
state: {
anyOf: [
{
type: 'string'
},
{
type: 'null'
}
],
title: 'State'
},
resource: {
anyOf: [
{
type: 'string'
},
{
type: 'null'
}
],
title: 'Resource'
},
scope: {
anyOf: [
{
type: 'string'
},
{
type: 'null'
}
],
title: 'Scope'
}
},
type: 'object',
required: ['client_id', 'redirect_uri', 'code_challenge'],
title: 'OAuthAuthorizeRequest'
} as const;
export const OAuthAuthorizeResponseSchema = {
properties: {
redirect_url: {
type: 'string',
title: 'Redirect Url'
}
},
type: 'object',
required: ['redirect_url'],
title: 'OAuthAuthorizeResponse'
} as const;
export const OAuthClientRegisterSchema = {
properties: {
client_name: {
type: 'string',
maxLength: 128,
title: 'Client Name',
default: 'MCP client'
},
redirect_uris: {
items: {
type: 'string'
},
type: 'array',
title: 'Redirect Uris'
},
grant_types: {
anyOf: [
{
items: {
type: 'string'
},
type: 'array'
},
{
type: 'null'
}
],
title: 'Grant Types'
},
response_types: {
anyOf: [
{
items: {
type: 'string'
},
type: 'array'
},
{
type: 'null'
}
],
title: 'Response Types'
},
token_endpoint_auth_method: {
anyOf: [
{
type: 'string'
},
{
type: 'null'
}
],
title: 'Token Endpoint Auth Method'
}
},
type: 'object',
required: ['redirect_uris'],
title: 'OAuthClientRegister',
description: 'RFC 7591 dynamic client registration request.'
} as const;
export const PageDef_InputSchema = {
properties: {
id: {
type: 'string',
title: 'Id'
},
title: {
type: 'string',
title: 'Title',
default: ''
},
icon: {
type: 'string',
title: 'Icon',
default: ''
},
sections: {
items: {
'$ref': '#/components/schemas/SectionDef-Input'
},
type: 'array',
title: 'Sections'
}
},
type: 'object',
required: ['id'],
title: 'PageDef',
description: 'One tab of a dashboard.'
} as const;
export const PageDef_OutputSchema = {
properties: {
id: {
type: 'string',
title: 'Id'
},
title: {
type: 'string',
title: 'Title',
default: ''
},
icon: {
type: 'string',
title: 'Icon',
default: ''
},
sections: {
items: {
'$ref': '#/components/schemas/SectionDef-Output'
},
type: 'array',
title: 'Sections'
}
},
type: 'object',
required: ['id'],
title: 'PageDef',
description: 'One tab of a dashboard.'
} as const;
export const PlacementSchema = {
properties: {
x: {
type: 'integer',
title: 'X',
default: 0
},
y: {
type: 'integer',
title: 'Y',
default: 0
},
w: {
type: 'integer',
title: 'W',
default: 3
},
h: {
type: 'integer',
title: 'H',
default: 2
}
},
type: 'object',
title: 'Placement',
description: "Where a widget sits in its section's grid, in grid units."
} as const;
export const PositionSchema = {
properties: {
x: {
type: 'number',
title: 'X',
default: 0
},
y: {
type: 'number',
title: 'Y',
default: 0
}
},
type: 'object',
title: 'Position',
description: 'Where a node sits on the canvas.'
} as const;
export const PrivateUserCreateSchema = {
properties: {
email: {
type: 'string',
title: 'Email'
},
password: {
type: 'string',
title: 'Password'
},
full_name: {
type: 'string',
title: 'Full Name'
},
is_verified: {
type: 'boolean',
title: 'Is Verified',
default: false
}
},
type: 'object',
required: ['email', 'password', 'full_name'],
title: 'PrivateUserCreate'
} as const;
export const RegisteredClientSchema = {
properties: {
id: {
type: 'string',
format: 'uuid',
title: 'Id'
},
client_name: {
type: 'string',
title: 'Client Name'
},
redirect_uris: {
items: {
type: 'string'
},
type: 'array',
title: 'Redirect Uris'
},
created_at: {
type: 'string',
format: 'date-time',
title: 'Created At'
},
active_tokens: {
type: 'integer',
title: 'Active Tokens'
},
last_authorized_at: {
anyOf: [
{
type: 'string',
format: 'date-time'
},
{
type: 'null'
}
],
title: 'Last Authorized At'
}
},
type: 'object',
required: ['id', 'client_name', 'redirect_uris', 'created_at', 'active_tokens', 'last_authorized_at'],
title: 'RegisteredClient',
description: 'A registered agent, and whether anyone actually let it in.'
} as const;
export const RegisteredClientsSchema = {
properties: {
data: {
items: {
'$ref': '#/components/schemas/RegisteredClient'
},
type: 'array',
title: 'Data'
},
count: {
type: 'integer',
title: 'Count'
}
},
type: 'object',
required: ['data', 'count'],
title: 'RegisteredClients'
} as const;
export const RuleSchema = {
properties: {
events: {
items: {
type: 'string'
},
type: 'array',
title: 'Events'
},
channels: {
items: {
type: 'string'
},
type: 'array',
title: 'Channels'
},
cooldown_s: {
type: 'number',
title: 'Cooldown S',
default: 900
}
},
type: 'object',
title: 'Rule',
description: 'Which events go to which channels.'
} as const;
export const RunRequestSchema = {
properties: {
inputs: {
additionalProperties: true,
type: 'object',
title: 'Inputs',
default: {}
}
},
type: 'object',
title: 'RunRequest'
} as const;
export const SecretNamesSchema = {
properties: {
data: {
items: {
type: 'string'
},
type: 'array',
title: 'Data'
},
count: {
type: 'integer',
title: 'Count'
}
},
type: 'object',
required: ['data', 'count'],
title: 'SecretNames'
} as const;
export const SecretValueSchema = {
properties: {
value: {
type: 'string',
title: 'Value'
}
},
type: 'object',
required: ['value'],
title: 'SecretValue'
} as const;
export const SectionDef_InputSchema = {
properties: {
id: {
type: 'string',
title: 'Id'
},
title: {
type: 'string',
title: 'Title',
default: ''
},
widgets: {
items: {
'$ref': '#/components/schemas/WidgetDef'
},
type: 'array',
title: 'Widgets'
}
},
type: 'object',
required: ['id'],
title: 'SectionDef',
description: 'A grid of widgets under a heading.'
} as const;
export const SectionDef_OutputSchema = {
properties: {
id: {
type: 'string',
title: 'Id'
},
title: {
type: 'string',
title: 'Title',
default: ''
},
widgets: {
items: {
'$ref': '#/components/schemas/WidgetDef'
},
type: 'array',
title: 'Widgets'
}
},
type: 'object',
required: ['id'],
title: 'SectionDef',
description: 'A grid of widgets under a heading.'
} as const;
export const ShareRequestSchema = {
properties: {
lib_name: {
type: 'string',
title: 'Lib Name'
}
},
type: 'object',
required: ['lib_name'],
title: 'ShareRequest'
} as const;
export const TokenSchema = {
properties: {
access_token: {
type: 'string',
title: 'Access Token'
},
token_type: {
type: 'string',
title: 'Token Type',
default: 'bearer'
}
},
type: 'object',
required: ['access_token'],
title: 'Token'
} as const;
export const TriggerRequestSchema = {
properties: {
values: {
additionalProperties: true,
type: 'object',
title: 'Values',
default: {}
}
},
type: 'object',
title: 'TriggerRequest'
} as const;
export const UpdatePasswordSchema = {
properties: {
current_password: {
type: 'string',
maxLength: 128,
minLength: 8,
title: 'Current Password'
},
new_password: {
type: 'string',
maxLength: 128,
minLength: 8,
title: 'New Password'
}
},
type: 'object',
required: ['current_password', 'new_password'],
title: 'UpdatePassword'
} as const;
export const UserCreateSchema = {
properties: {
email: {
type: 'string',
maxLength: 255,
format: 'email',
title: 'Email'
},
is_active: {
type: 'boolean',
title: 'Is Active',
default: true
},
is_superuser: {
type: 'boolean',
title: 'Is Superuser',
default: false
},
full_name: {
anyOf: [
{
type: 'string',
maxLength: 255
},
{
type: 'null'
}
],
title: 'Full Name'
},
password: {
type: 'string',
maxLength: 128,
minLength: 8,
title: 'Password'
}
},
type: 'object',
required: ['email', 'password'],
title: 'UserCreate'
} as const;
export const UserPublicSchema = {
properties: {
email: {
type: 'string',
maxLength: 255,
format: 'email',
title: 'Email'
},
is_active: {
type: 'boolean',
title: 'Is Active',
default: true
},
is_superuser: {
type: 'boolean',
title: 'Is Superuser',
default: false
},
full_name: {
anyOf: [
{
type: 'string',
maxLength: 255
},
{
type: 'null'
}
],
title: 'Full Name'
},
id: {
type: 'string',
format: 'uuid',
title: 'Id'
},
created_at: {
anyOf: [
{
type: 'string',
format: 'date-time'
},
{
type: 'null'
}
],
title: 'Created At'
}
},
type: 'object',
required: ['email', 'id'],
title: 'UserPublic'
} as const;
export const UserRegisterSchema = {
properties: {
email: {
type: 'string',
maxLength: 255,
format: 'email',
title: 'Email'
},
password: {
type: 'string',
maxLength: 128,
minLength: 8,
title: 'Password'
},
full_name: {
anyOf: [
{
type: 'string',
maxLength: 255
},
{
type: 'null'
}
],
title: 'Full Name'
}
},
type: 'object',
required: ['email', 'password'],
title: 'UserRegister'
} as const;
export const UserUpdateSchema = {
properties: {
email: {
anyOf: [
{
type: 'string',
maxLength: 255,
format: 'email'
},
{
type: 'null'
}
],
title: 'Email'
},
is_active: {
type: 'boolean',
title: 'Is Active',
default: true
},
is_superuser: {
type: 'boolean',
title: 'Is Superuser',
default: false
},
full_name: {
anyOf: [
{
type: 'string',
maxLength: 255
},
{
type: 'null'
}
],
title: 'Full Name'
},
password: {
anyOf: [
{
type: 'string',
maxLength: 128,
minLength: 8
},
{
type: 'null'
}
],
title: 'Password'
}
},
type: 'object',
title: 'UserUpdate'
} as const;
export const UserUpdateMeSchema = {
properties: {
full_name: {
anyOf: [
{
type: 'string',
maxLength: 255
},
{
type: 'null'
}
],
title: 'Full Name'
},
email: {
anyOf: [
{
type: 'string',
maxLength: 255,
format: 'email'
},
{
type: 'null'
}
],
title: 'Email'
}
},
type: 'object',
title: 'UserUpdateMe'
} as const;
export const UsersPublicSchema = {
properties: {
data: {
items: {
'$ref': '#/components/schemas/UserPublic'
},
type: 'array',
title: 'Data'
},
count: {
type: 'integer',
title: 'Count'
}
},
type: 'object',
required: ['data', 'count'],
title: 'UsersPublic'
} as const;
export const ValidationErrorSchema = {
properties: {
loc: {
items: {
anyOf: [
{
type: 'string'
},
{
type: 'integer'
}
]
},
type: 'array',
title: 'Location'
},
msg: {
type: 'string',
title: 'Message'
},
type: {
type: 'string',
title: 'Error Type'
}
},
type: 'object',
required: ['loc', 'msg', 'type'],
title: 'ValidationError'
} as const;
export const ValidationIssueSchema = {
properties: {
code: {
type: 'string',
enum: ['cycle', 'unconnected_input', 'missing_initial_value', 'node_error', 'unauthenticated_hook', 'self_loop_needs_initial'],
title: 'Code'
},
message: {
type: 'string',
title: 'Message'
},
flow: {
type: 'string',
title: 'Flow',
default: ''
},
nodes: {
items: {
type: 'string'
},
type: 'array',
title: 'Nodes',
default: []
},
node: {
anyOf: [
{
type: 'string'
},
{
type: 'null'
}
],
title: 'Node'
},
port: {
anyOf: [
{
type: 'string'
},
{
type: 'null'
}
],
title: 'Port'
},
message_name: {
anyOf: [
{
type: 'string'
},
{
type: 'null'
}
],
title: 'Message Name'
}
},
type: 'object',
required: ['code', 'message'],
title: 'ValidationIssue',
description: 'A problem that keeps a flow from running correctly.'
} as const;
export const ValidationResultSchema = {
properties: {
issues: {
items: {
'$ref': '#/components/schemas/ValidationIssue'
},
type: 'array',
title: 'Issues',
default: []
}
},
type: 'object',
title: 'ValidationResult'
} as const;
export const WidgetDefSchema = {
properties: {
id: {
type: 'string',
title: 'Id'
},
type: {
type: 'string',
enum: ['stat', 'gauge', 'chart', 'markdown', 'button', 'switch', 'slider', 'input', 'dropdown'],
title: 'Type'
},
title: {
type: 'string',
title: 'Title',
default: ''
},
layout: {
additionalProperties: {
'$ref': '#/components/schemas/Placement'
},
type: 'object',
title: 'Layout'
},
config: {
additionalProperties: true,
type: 'object',
title: 'Config'
}
},
type: 'object',
required: ['id', 'type'],
title: 'WidgetDef',
description: `One tile: what it shows or does, and where it sits.
\`\`config\`\` is per type — a chart names its series, a button names the
message it publishes — and is validated against the type below rather than
by a schema per class, because the whole set is small and closed.`
} as const;
export const app__api__routes__dashboards__RenameRequestSchema = {
properties: {
name: {
type: 'string',
title: 'Name'
}
},
type: 'object',
required: ['name'],
title: 'RenameRequest'
} as const;
export const app__api__routes__flows__PublishRequestSchema = {
properties: {
version: {
type: 'integer',
title: 'Version'
}
},
type: 'object',
required: ['version'],
title: 'PublishRequest'
} as const;
export const app__api__routes__flows__RenameRequestSchema = {
properties: {
new_name: {
type: 'string',
title: 'New Name'
}
},
type: 'object',
required: ['new_name'],
title: 'RenameRequest'
} as const;
export const app__api__routes__messages__MessageValueSchema = {
properties: {
name: {
type: 'string',
title: 'Name'
},
value: {
title: 'Value'
},
ts: {
anyOf: [
{
type: 'number'
},
{
type: 'null'
}
],
title: 'Ts'
}
},
type: 'object',
required: ['name', 'value'],
title: 'MessageValue'
} as const;
export const app__api__routes__messages__PublishRequestSchema = {
properties: {
value: {
title: 'Value'
},
source_kind: {
type: 'string',
title: 'Source Kind',
default: 'api'
},
source_id: {
type: 'string',
title: 'Source Id',
default: ''
},
source_label: {
type: 'string',
title: 'Source Label',
default: ''
},
source_detail: {
type: 'string',
title: 'Source Detail',
default: ''
}
},
type: 'object',
required: ['value'],
title: 'PublishRequest'
} as const;
export const app__flow__schemas__MessageValueSchema = {
properties: {
value: {
title: 'Value'
},
ts: {
anyOf: [
{
type: 'number'
},
{
type: 'null'
}
],
title: 'Ts'
}
},
type: 'object',
title: 'MessageValue',
description: 'The last payload seen on a message.'
} as const;