- 运行句柄按 run_id 归属,修复取消后重跑时闸门被旧运行删除的竞态 - 调度循环改用取消令牌退出,启动时对账遗留运行,校验 rows_affected - 三类任务统一参与调度,新增 /api/v1/stats 与 /api/v1/schedule - SQLite 启用 WAL 与 busy_timeout,日志清理跳过活跃文件,单行上限 256 KiB - 前端缓存管理令牌并在 403 时重试一次,仪表盘改用统计接口
1196 lines
34 KiB
TypeScript
1196 lines
34 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/schedule": {
|
|
parameters: {
|
|
query?: never;
|
|
header?: never;
|
|
path?: never;
|
|
cookie?: never;
|
|
};
|
|
get: operations["list_schedule"];
|
|
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/stats": {
|
|
parameters: {
|
|
query?: never;
|
|
header?: never;
|
|
path?: never;
|
|
cookie?: never;
|
|
};
|
|
get: operations["task_stats"];
|
|
put?: never;
|
|
post?: never;
|
|
delete?: never;
|
|
options?: never;
|
|
head?: never;
|
|
patch?: never;
|
|
trace?: never;
|
|
};
|
|
"/api/v1/system/directories": {
|
|
parameters: {
|
|
query?: never;
|
|
header?: never;
|
|
path?: never;
|
|
cookie?: never;
|
|
};
|
|
get: operations["list_directories"];
|
|
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;
|
|
};
|
|
DirectoryEntry: {
|
|
/** @description 用于展示的名称 */
|
|
name: string;
|
|
/** @description 绝对路径,选中后回填到表单 */
|
|
path: string;
|
|
};
|
|
DirectoryListingResponse: {
|
|
entries: components["schemas"]["DirectoryEntry"][];
|
|
/** @description 上一级目录;盘符根目录和盘符列表为 null */
|
|
parent?: string | null;
|
|
/** @description 当前目录;为 null 表示正在列出盘符 */
|
|
path?: string | null;
|
|
/** @description 条目超过上限被截断时为 true */
|
|
truncated: boolean;
|
|
};
|
|
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";
|
|
/** @description 已注册调度的任务及其下次触发时间。 */
|
|
ScheduledTaskResponse: {
|
|
/**
|
|
* Format: date-time
|
|
* @description 下次触发时间;调度正在重建时可能为空
|
|
*/
|
|
next_run_at?: string | null;
|
|
task_id: string;
|
|
};
|
|
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"];
|
|
};
|
|
/** @description 仪表盘指标:一次请求拿到全部计数,避免为每个指标各发一次列表查询。 */
|
|
TaskStatsResponse: {
|
|
/**
|
|
* Format: int64
|
|
* @description 已启用任务数
|
|
*/
|
|
enabled: number;
|
|
/**
|
|
* Format: int64
|
|
* @description HTTP 类任务数
|
|
*/
|
|
http: number;
|
|
/**
|
|
* Format: int64
|
|
* @description 进程类任务数
|
|
*/
|
|
process: number;
|
|
/**
|
|
* Format: int64
|
|
* @description 当前正在执行的任务数
|
|
*/
|
|
running: number;
|
|
/**
|
|
* Format: int64
|
|
* @description 脚本类任务数
|
|
*/
|
|
script: number;
|
|
/**
|
|
* Format: int64
|
|
* @description 任务总数
|
|
*/
|
|
total: number;
|
|
};
|
|
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"];
|
|
};
|
|
};
|
|
};
|
|
};
|
|
list_schedule: {
|
|
parameters: {
|
|
query?: never;
|
|
header?: never;
|
|
path?: never;
|
|
cookie?: never;
|
|
};
|
|
requestBody?: never;
|
|
responses: {
|
|
/** @description Next trigger time per enabled task */
|
|
200: {
|
|
headers: {
|
|
[name: string]: unknown;
|
|
};
|
|
content: {
|
|
"application/json": components["schemas"]["ScheduledTaskResponse"][];
|
|
};
|
|
};
|
|
};
|
|
};
|
|
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"];
|
|
};
|
|
};
|
|
};
|
|
};
|
|
task_stats: {
|
|
parameters: {
|
|
query?: never;
|
|
header?: never;
|
|
path?: never;
|
|
cookie?: never;
|
|
};
|
|
requestBody?: never;
|
|
responses: {
|
|
/** @description Dashboard counters */
|
|
200: {
|
|
headers: {
|
|
[name: string]: unknown;
|
|
};
|
|
content: {
|
|
"application/json": components["schemas"]["TaskStatsResponse"];
|
|
};
|
|
};
|
|
};
|
|
};
|
|
list_directories: {
|
|
parameters: {
|
|
query?: {
|
|
/** @description 绝对目录路径;留空表示列出盘符 */
|
|
path?: string;
|
|
};
|
|
header?: never;
|
|
path?: never;
|
|
cookie?: never;
|
|
};
|
|
requestBody?: never;
|
|
responses: {
|
|
/** @description Subdirectories of the requested path, or the drive list */
|
|
200: {
|
|
headers: {
|
|
[name: string]: unknown;
|
|
};
|
|
content: {
|
|
"application/json": components["schemas"]["DirectoryListingResponse"];
|
|
};
|
|
};
|
|
/** @description The path is not an existing absolute directory */
|
|
400: {
|
|
headers: {
|
|
[name: string]: unknown;
|
|
};
|
|
content: {
|
|
"application/json": components["schemas"]["ErrorResponse"];
|
|
};
|
|
};
|
|
};
|
|
};
|
|
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"];
|
|
};
|
|
};
|
|
};
|
|
};
|
|
}
|