// 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;