Files
task_pilot/frontend/src/api/generated.ts
T
CNWei dd7612bc74 feat: 编辑器实时探测并显示已关联虚拟环境
fix: 按系统 ANSI 代码页解码子进程输出,修复中文日志乱码
2026-10-24 22:30:10 +08:00

1019 lines
29 KiB
TypeScript

/**
* This file was auto-generated by openapi-typescript.
* Do not make direct changes to the file.
*/
export interface paths {
"/api/v1/cron/preview": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
get?: never;
put?: never;
post: operations["preview_cron"];
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/v1/events": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
get: operations["execution_events"];
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/v1/health": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
get: operations["health"];
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/v1/python/venv": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
get?: never;
put?: never;
post: operations["probe_python_venv"];
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/v1/runs/{run_id}": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
get: operations["get_run"];
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/v1/runs/{run_id}/cancel": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
get?: never;
put?: never;
post: operations["cancel_run"];
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/v1/runs/{run_id}/logs": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
get: operations["get_run_logs"];
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/v1/runs/{run_id}/logs/download": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
get: operations["download_run_logs"];
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/v1/session": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
get: operations["session"];
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/v1/tasks": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
get: operations["list_tasks"];
put?: never;
post: operations["create_task"];
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/v1/tasks/{id}": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
get: operations["get_task"];
put: operations["update_task"];
post?: never;
delete: operations["delete_task"];
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/v1/tasks/{id}/disable": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
get?: never;
put?: never;
post: operations["disable_task"];
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/v1/tasks/{id}/enable": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
get?: never;
put?: never;
post: operations["enable_task"];
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/v1/tasks/{id}/run": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
get?: never;
put?: never;
post: operations["run_task"];
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/v1/tasks/{id}/runs": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
get: operations["list_task_runs"];
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
}
export type webhooks = Record<string, never>;
export interface components {
schemas: {
/** @enum {string} */
ConcurrencyPolicy: "skip";
CreateTaskRequest: {
action: components["schemas"]["TaskAction"];
concurrency_policy?: components["schemas"]["ConcurrencyPolicy"];
cron: string;
enabled?: boolean;
id: string;
name: string;
retry_policy?: components["schemas"]["RetryPolicy"];
/** Format: int64 */
timeout_secs?: number;
timezone?: string;
};
CronPreviewRequest: {
count: number;
expression: string;
timezone: string;
};
CronPreviewResponse: {
runs: string[];
timezone: string;
};
ErrorResponse: {
code: string;
details: {
[key: string]: string;
};
field?: string | null;
message: string;
};
HealthResponse: {
/** @description Stable service identifier. */
service: string;
/** @description Current service status. */
status: string;
/** @description Backend package version. */
version: string;
};
/** @enum {string} */
HttpMethod: "GET" | "POST";
/** @enum {string} */
InterpreterKind: "python" | "node" | "other";
LogChunkResponse: {
complete: boolean;
content: string;
/** Format: int64 */
next_offset: number;
};
RetryPolicy: {
/** Format: int64 */
delay_secs?: number;
/** Format: int32 */
max_attempts?: number;
};
/** @enum {string} */
RunStatus: "queued" | "running" | "succeeded" | "failed" | "timed_out" | "cancelled" | "skipped";
/** @enum {string} */
RunTrigger: "schedule" | "manual" | "retry";
SessionResponse: {
/** @description Random per-process token required for mutating browser requests. */
token: string;
};
TaskAction: {
args?: string[];
env?: {
[key: string]: string;
};
interpreter: string;
script: string;
/** @enum {string} */
type: "script";
venv?: string | null;
working_dir: string;
} | {
body?: string | null;
expected_status?: number[];
headers?: {
[key: string]: string;
};
method: components["schemas"]["HttpMethod"];
/** @enum {string} */
type: "http";
url: string;
} | {
args?: string[];
env?: {
[key: string]: string;
};
executable: string;
/** @enum {string} */
type: "process";
working_dir?: string | null;
};
/** @enum {string} */
TaskActionType: "script" | "http" | "process";
TaskListResponse: {
items: components["schemas"]["TaskResponse"][];
/** Format: int32 */
page: number;
/** Format: int32 */
page_size: number;
/** Format: int64 */
total: number;
};
TaskResponse: {
action: components["schemas"]["TaskAction"];
concurrency_policy: components["schemas"]["ConcurrencyPolicy"];
/** Format: date-time */
created_at: string;
cron: string;
enabled: boolean;
id: string;
name: string;
retry_policy: components["schemas"]["RetryPolicy"];
/** Format: int64 */
timeout_secs: number;
timezone: string;
/** Format: date-time */
updated_at: string;
};
TaskRunListResponse: {
items: components["schemas"]["TaskRunResponse"][];
/** Format: int32 */
page: number;
/** Format: int32 */
page_size: number;
/** Format: int64 */
total: number;
};
TaskRunResponse: {
/** Format: date-time */
created_at: string;
/** Format: int64 */
duration_ms?: number | null;
error_message?: string | null;
/** Format: int32 */
exit_code?: number | null;
/** Format: date-time */
finished_at?: string | null;
/** Format: int64 */
id: number;
/** Format: date-time */
started_at?: string | null;
status: components["schemas"]["RunStatus"];
task_id: string;
trigger: components["schemas"]["RunTrigger"];
};
UpdateTaskRequest: {
action: components["schemas"]["TaskAction"];
concurrency_policy?: components["schemas"]["ConcurrencyPolicy"];
cron: string;
enabled?: boolean;
name: string;
retry_policy?: components["schemas"]["RetryPolicy"];
/** Format: int64 */
timeout_secs?: number;
timezone?: string;
};
/** @description 编辑器在用户填写工作目录时发起的探测请求。 */
VenvProbeRequest: {
/** @description 解释器或可执行程序,对应 `action.interpreter` */
interpreter: string;
/** @description 手动填写的虚拟环境目录,对应 `action.venv` */
venv?: string | null;
/** @description 任务工作目录,对应 `action.working_dir` */
working_dir: string;
};
VenvProbeResponse: {
/** @description 供界面展示的解释器路径;位于工作目录内时使用相对路径 */
display_path?: string | null;
interpreter_kind: components["schemas"]["InterpreterKind"];
message: string;
source?: components["schemas"]["VenvSource"] | null;
status: components["schemas"]["VenvProbeStatus"];
/** @description 虚拟环境根目录的绝对路径 */
venv_path?: string | null;
};
/** @enum {string} */
VenvProbeStatus: "linked" | "invalid" | "missing" | "not_applicable" | "incomplete";
/**
* @description 虚拟环境的来源,用于在界面上说明"为什么"关联到了这个环境。
* @enum {string}
*/
VenvSource: "configured" | "interpreter" | "working_directory";
};
responses: never;
parameters: never;
requestBodies: never;
headers: never;
pathItems: never;
}
export type $defs = Record<string, never>;
export interface operations {
preview_cron: {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
requestBody: {
content: {
"application/json": components["schemas"]["CronPreviewRequest"];
};
};
responses: {
/** @description Upcoming cron occurrences */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["CronPreviewResponse"];
};
};
/** @description Invalid cron preview request */
400: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["ErrorResponse"];
};
};
};
};
execution_events: {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Run status and log events */
200: {
headers: {
[name: string]: unknown;
};
content: {
"text/event-stream": string;
};
};
};
};
health: {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
requestBody?: never;
responses: {
/** @description TaskPilot API is healthy */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["HealthResponse"];
};
};
};
};
probe_python_venv: {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
requestBody: {
content: {
"application/json": components["schemas"]["VenvProbeRequest"];
};
};
responses: {
/** @description Detected Python virtual environment */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["VenvProbeResponse"];
};
};
/** @description Invalid venv probe request */
400: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["ErrorResponse"];
};
};
};
};
get_run: {
parameters: {
query?: never;
header?: never;
path: {
/** @description Run identifier */
run_id: number;
};
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Task run detail */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["TaskRunResponse"];
};
};
/** @description Run not found */
404: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["ErrorResponse"];
};
};
};
};
cancel_run: {
parameters: {
query?: never;
header?: never;
path: {
/** @description Run identifier */
run_id: number;
};
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Cancellation requested */
202: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["TaskRunResponse"];
};
};
/** @description Run not found */
404: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["ErrorResponse"];
};
};
/** @description Run is not cancellable */
409: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["ErrorResponse"];
};
};
};
};
get_run_logs: {
parameters: {
query?: {
offset?: number;
};
header?: never;
path: {
/** @description Run identifier */
run_id: number;
};
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Incremental task run log */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["LogChunkResponse"];
};
};
/** @description Run not found */
404: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["ErrorResponse"];
};
};
};
};
download_run_logs: {
parameters: {
query?: never;
header?: never;
path: {
/** @description Run identifier */
run_id: number;
};
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Plain text task log */
200: {
headers: {
[name: string]: unknown;
};
content: {
"text/plain": string;
};
};
/** @description Run or log not found */
404: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["ErrorResponse"];
};
};
};
};
session: {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Local API session token */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["SessionResponse"];
};
};
};
};
list_tasks: {
parameters: {
query?: {
q?: string;
enabled?: boolean;
action_type?: components["schemas"]["TaskActionType"];
page?: number;
page_size?: number;
};
header?: never;
path?: never;
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Paginated task list */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["TaskListResponse"];
};
};
};
};
create_task: {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
requestBody: {
content: {
"application/json": components["schemas"]["CreateTaskRequest"];
};
};
responses: {
/** @description Task created */
201: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["TaskResponse"];
};
};
/** @description Validation failed */
400: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["ErrorResponse"];
};
};
/** @description Task ID already exists */
409: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["ErrorResponse"];
};
};
};
};
get_task: {
parameters: {
query?: never;
header?: never;
path: {
/** @description Stable task identifier */
id: string;
};
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Task detail */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["TaskResponse"];
};
};
/** @description Task not found */
404: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["ErrorResponse"];
};
};
};
};
update_task: {
parameters: {
query?: never;
header?: never;
path: {
/** @description Stable task identifier */
id: string;
};
cookie?: never;
};
requestBody: {
content: {
"application/json": components["schemas"]["UpdateTaskRequest"];
};
};
responses: {
/** @description Task updated */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["TaskResponse"];
};
};
/** @description Validation failed */
400: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["ErrorResponse"];
};
};
/** @description Task not found */
404: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["ErrorResponse"];
};
};
};
};
delete_task: {
parameters: {
query?: never;
header?: never;
path: {
/** @description Stable task identifier */
id: string;
};
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Task deleted */
204: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Task not found */
404: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["ErrorResponse"];
};
};
};
};
disable_task: {
parameters: {
query?: never;
header?: never;
path: {
/** @description Stable task identifier */
id: string;
};
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Task disabled */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["TaskResponse"];
};
};
/** @description Task not found */
404: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["ErrorResponse"];
};
};
};
};
enable_task: {
parameters: {
query?: never;
header?: never;
path: {
/** @description Stable task identifier */
id: string;
};
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Task enabled */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["TaskResponse"];
};
};
/** @description Task not found */
404: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["ErrorResponse"];
};
};
};
};
run_task: {
parameters: {
query?: never;
header?: never;
path: {
/** @description Stable task identifier */
id: string;
};
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Manual run accepted */
202: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["TaskRunResponse"];
};
};
/** @description Task not found */
404: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["ErrorResponse"];
};
};
/** @description Action executor not implemented */
422: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["ErrorResponse"];
};
};
};
};
list_task_runs: {
parameters: {
query?: {
page?: number;
page_size?: number;
status?: components["schemas"]["RunStatus"];
trigger?: components["schemas"]["RunTrigger"];
};
header?: never;
path: {
/** @description Stable task identifier */
id: string;
};
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Task run history */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["TaskRunListResponse"];
};
};
};
};
}