apache-airflow-providers-edge3 1.2.0__py3-none-any.whl → 1.3.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- airflow/providers/edge3/__init__.py +1 -1
- airflow/providers/edge3/cli/edge_command.py +43 -0
- airflow/providers/edge3/cli/worker.py +40 -40
- airflow/providers/edge3/models/edge_worker.py +13 -8
- airflow/providers/edge3/openapi/v2-edge-generated.yaml +249 -0
- airflow/providers/edge3/plugins/www/dist/main.umd.cjs +53 -19
- airflow/providers/edge3/plugins/www/openapi-gen/queries/common.ts +7 -0
- airflow/providers/edge3/plugins/www/openapi-gen/queries/queries.ts +44 -1
- airflow/providers/edge3/plugins/www/openapi-gen/requests/schemas.gen.ts +14 -0
- airflow/providers/edge3/plugins/www/openapi-gen/requests/services.gen.ts +158 -1
- airflow/providers/edge3/plugins/www/openapi-gen/requests/types.gen.ts +155 -0
- airflow/providers/edge3/plugins/www/package.json +14 -10
- airflow/providers/edge3/plugins/www/pnpm-lock.yaml +601 -457
- airflow/providers/edge3/plugins/www/src/components/AddQueueButton.tsx +138 -0
- airflow/providers/edge3/plugins/www/src/components/MaintenanceEditCommentButton.tsx +106 -0
- airflow/providers/edge3/plugins/www/src/components/MaintenanceEnterButton.tsx +102 -0
- airflow/providers/edge3/plugins/www/src/components/MaintenanceExitButton.tsx +92 -0
- airflow/providers/edge3/plugins/www/src/components/RemoveQueueButton.tsx +151 -0
- airflow/providers/edge3/plugins/www/src/components/WorkerDeleteButton.tsx +104 -0
- airflow/providers/edge3/plugins/www/src/components/WorkerOperations.tsx +85 -0
- airflow/providers/edge3/plugins/www/src/components/WorkerShutdownButton.tsx +104 -0
- airflow/providers/edge3/plugins/www/src/components/WorkerStateBadge.tsx +33 -0
- airflow/providers/edge3/plugins/www/src/components/ui/ScrollToAnchor.tsx +49 -0
- airflow/providers/edge3/plugins/www/src/components/ui/createToaster.ts +24 -0
- airflow/providers/edge3/plugins/www/src/components/ui/index.ts +2 -0
- airflow/providers/edge3/plugins/www/src/context/colorMode/ColorModeProvider.tsx +1 -2
- airflow/providers/edge3/plugins/www/src/context/colorMode/useColorMode.tsx +2 -5
- airflow/providers/edge3/plugins/www/src/pages/JobsPage.tsx +52 -15
- airflow/providers/edge3/plugins/www/src/pages/WorkerPage.tsx +52 -22
- airflow/providers/edge3/plugins/www/src/theme.ts +378 -130
- airflow/providers/edge3/plugins/www/vite.config.ts +2 -0
- airflow/providers/edge3/worker_api/datamodels_ui.py +12 -0
- airflow/providers/edge3/worker_api/routes/ui.py +193 -3
- {apache_airflow_providers_edge3-1.2.0.dist-info → apache_airflow_providers_edge3-1.3.0.dist-info}/METADATA +6 -6
- {apache_airflow_providers_edge3-1.2.0.dist-info → apache_airflow_providers_edge3-1.3.0.dist-info}/RECORD +37 -27
- {apache_airflow_providers_edge3-1.2.0.dist-info → apache_airflow_providers_edge3-1.3.0.dist-info}/WHEEL +0 -0
- {apache_airflow_providers_edge3-1.2.0.dist-info → apache_airflow_providers_edge3-1.3.0.dist-info}/entry_points.txt +0 -0
|
@@ -28,6 +28,13 @@ export const UseUiServiceJobsKeyFn = (queryKey?: Array<unknown>) => [useUiServic
|
|
|
28
28
|
export type JobsServiceFetchMutationResult = Awaited<ReturnType<typeof JobsService.fetch>>;
|
|
29
29
|
export type LogsServicePushLogsMutationResult = Awaited<ReturnType<typeof LogsService.pushLogs>>;
|
|
30
30
|
export type WorkerServiceRegisterMutationResult = Awaited<ReturnType<typeof WorkerService.register>>;
|
|
31
|
+
export type UiServiceRequestWorkerMaintenanceMutationResult = Awaited<ReturnType<typeof UiService.requestWorkerMaintenance>>;
|
|
32
|
+
export type UiServiceRequestWorkerShutdownMutationResult = Awaited<ReturnType<typeof UiService.requestWorkerShutdown>>;
|
|
33
|
+
export type UiServiceAddWorkerQueueMutationResult = Awaited<ReturnType<typeof UiService.addWorkerQueue>>;
|
|
31
34
|
export type JobsServiceStateMutationResult = Awaited<ReturnType<typeof JobsService.state>>;
|
|
32
35
|
export type WorkerServiceSetStateMutationResult = Awaited<ReturnType<typeof WorkerService.setState>>;
|
|
33
36
|
export type WorkerServiceUpdateQueuesMutationResult = Awaited<ReturnType<typeof WorkerService.updateQueues>>;
|
|
37
|
+
export type UiServiceUpdateWorkerMaintenanceMutationResult = Awaited<ReturnType<typeof UiService.updateWorkerMaintenance>>;
|
|
38
|
+
export type UiServiceExitWorkerMaintenanceMutationResult = Awaited<ReturnType<typeof UiService.exitWorkerMaintenance>>;
|
|
39
|
+
export type UiServiceDeleteWorkerMutationResult = Awaited<ReturnType<typeof UiService.deleteWorker>>;
|
|
40
|
+
export type UiServiceRemoveWorkerQueueMutationResult = Awaited<ReturnType<typeof UiService.removeWorkerQueue>>;
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
import { UseMutationOptions, UseQueryOptions, useMutation, useQuery } from "@tanstack/react-query";
|
|
4
4
|
import { JobsService, LogsService, MonitorService, UiService, WorkerService } from "../requests/services.gen";
|
|
5
|
-
import { PushLogsBody, TaskInstanceState, WorkerQueueUpdateBody, WorkerQueuesBody, WorkerStateBody } from "../requests/types.gen";
|
|
5
|
+
import { MaintenanceRequest, PushLogsBody, TaskInstanceState, WorkerQueueUpdateBody, WorkerQueuesBody, WorkerStateBody } from "../requests/types.gen";
|
|
6
6
|
import * as Common from "./common";
|
|
7
7
|
export const useLogsServiceLogfilePath = <TData = Common.LogsServiceLogfilePathDefaultResponse, TError = unknown, TQueryKey extends Array<unknown> = unknown[]>({ authorization, dagId, mapIndex, runId, taskId, tryNumber }: {
|
|
8
8
|
authorization: string;
|
|
@@ -50,6 +50,25 @@ export const useWorkerServiceRegister = <TData = Common.WorkerServiceRegisterMut
|
|
|
50
50
|
requestBody: WorkerStateBody;
|
|
51
51
|
workerName: string;
|
|
52
52
|
}, TContext>({ mutationFn: ({ authorization, requestBody, workerName }) => WorkerService.register({ authorization, requestBody, workerName }) as unknown as Promise<TData>, ...options });
|
|
53
|
+
export const useUiServiceRequestWorkerMaintenance = <TData = Common.UiServiceRequestWorkerMaintenanceMutationResult, TError = unknown, TContext = unknown>(options?: Omit<UseMutationOptions<TData, TError, {
|
|
54
|
+
requestBody: MaintenanceRequest;
|
|
55
|
+
workerName: string;
|
|
56
|
+
}, TContext>, "mutationFn">) => useMutation<TData, TError, {
|
|
57
|
+
requestBody: MaintenanceRequest;
|
|
58
|
+
workerName: string;
|
|
59
|
+
}, TContext>({ mutationFn: ({ requestBody, workerName }) => UiService.requestWorkerMaintenance({ requestBody, workerName }) as unknown as Promise<TData>, ...options });
|
|
60
|
+
export const useUiServiceRequestWorkerShutdown = <TData = Common.UiServiceRequestWorkerShutdownMutationResult, TError = unknown, TContext = unknown>(options?: Omit<UseMutationOptions<TData, TError, {
|
|
61
|
+
workerName: string;
|
|
62
|
+
}, TContext>, "mutationFn">) => useMutation<TData, TError, {
|
|
63
|
+
workerName: string;
|
|
64
|
+
}, TContext>({ mutationFn: ({ workerName }) => UiService.requestWorkerShutdown({ workerName }) as unknown as Promise<TData>, ...options });
|
|
65
|
+
export const useUiServiceAddWorkerQueue = <TData = Common.UiServiceAddWorkerQueueMutationResult, TError = unknown, TContext = unknown>(options?: Omit<UseMutationOptions<TData, TError, {
|
|
66
|
+
queueName: string;
|
|
67
|
+
workerName: string;
|
|
68
|
+
}, TContext>, "mutationFn">) => useMutation<TData, TError, {
|
|
69
|
+
queueName: string;
|
|
70
|
+
workerName: string;
|
|
71
|
+
}, TContext>({ mutationFn: ({ queueName, workerName }) => UiService.addWorkerQueue({ queueName, workerName }) as unknown as Promise<TData>, ...options });
|
|
53
72
|
export const useJobsServiceState = <TData = Common.JobsServiceStateMutationResult, TError = unknown, TContext = unknown>(options?: Omit<UseMutationOptions<TData, TError, {
|
|
54
73
|
authorization: string;
|
|
55
74
|
dagId: string;
|
|
@@ -85,3 +104,27 @@ export const useWorkerServiceUpdateQueues = <TData = Common.WorkerServiceUpdateQ
|
|
|
85
104
|
requestBody: WorkerQueueUpdateBody;
|
|
86
105
|
workerName: string;
|
|
87
106
|
}, TContext>({ mutationFn: ({ authorization, requestBody, workerName }) => WorkerService.updateQueues({ authorization, requestBody, workerName }) as unknown as Promise<TData>, ...options });
|
|
107
|
+
export const useUiServiceUpdateWorkerMaintenance = <TData = Common.UiServiceUpdateWorkerMaintenanceMutationResult, TError = unknown, TContext = unknown>(options?: Omit<UseMutationOptions<TData, TError, {
|
|
108
|
+
requestBody: MaintenanceRequest;
|
|
109
|
+
workerName: string;
|
|
110
|
+
}, TContext>, "mutationFn">) => useMutation<TData, TError, {
|
|
111
|
+
requestBody: MaintenanceRequest;
|
|
112
|
+
workerName: string;
|
|
113
|
+
}, TContext>({ mutationFn: ({ requestBody, workerName }) => UiService.updateWorkerMaintenance({ requestBody, workerName }) as unknown as Promise<TData>, ...options });
|
|
114
|
+
export const useUiServiceExitWorkerMaintenance = <TData = Common.UiServiceExitWorkerMaintenanceMutationResult, TError = unknown, TContext = unknown>(options?: Omit<UseMutationOptions<TData, TError, {
|
|
115
|
+
workerName: string;
|
|
116
|
+
}, TContext>, "mutationFn">) => useMutation<TData, TError, {
|
|
117
|
+
workerName: string;
|
|
118
|
+
}, TContext>({ mutationFn: ({ workerName }) => UiService.exitWorkerMaintenance({ workerName }) as unknown as Promise<TData>, ...options });
|
|
119
|
+
export const useUiServiceDeleteWorker = <TData = Common.UiServiceDeleteWorkerMutationResult, TError = unknown, TContext = unknown>(options?: Omit<UseMutationOptions<TData, TError, {
|
|
120
|
+
workerName: string;
|
|
121
|
+
}, TContext>, "mutationFn">) => useMutation<TData, TError, {
|
|
122
|
+
workerName: string;
|
|
123
|
+
}, TContext>({ mutationFn: ({ workerName }) => UiService.deleteWorker({ workerName }) as unknown as Promise<TData>, ...options });
|
|
124
|
+
export const useUiServiceRemoveWorkerQueue = <TData = Common.UiServiceRemoveWorkerQueueMutationResult, TError = unknown, TContext = unknown>(options?: Omit<UseMutationOptions<TData, TError, {
|
|
125
|
+
queueName: string;
|
|
126
|
+
workerName: string;
|
|
127
|
+
}, TContext>, "mutationFn">) => useMutation<TData, TError, {
|
|
128
|
+
queueName: string;
|
|
129
|
+
workerName: string;
|
|
130
|
+
}, TContext>({ mutationFn: ({ queueName, workerName }) => UiService.removeWorkerQueue({ queueName, workerName }) as unknown as Promise<TData>, ...options });
|
|
@@ -252,6 +252,20 @@ export const $JobCollectionResponse = {
|
|
|
252
252
|
description: 'Job Collection serializer.'
|
|
253
253
|
} as const;
|
|
254
254
|
|
|
255
|
+
export const $MaintenanceRequest = {
|
|
256
|
+
properties: {
|
|
257
|
+
maintenance_comment: {
|
|
258
|
+
type: 'string',
|
|
259
|
+
title: 'Maintenance Comment',
|
|
260
|
+
description: 'Comment describing the maintenance reason.'
|
|
261
|
+
}
|
|
262
|
+
},
|
|
263
|
+
type: 'object',
|
|
264
|
+
required: ['maintenance_comment'],
|
|
265
|
+
title: 'MaintenanceRequest',
|
|
266
|
+
description: 'Request body for maintenance operations.'
|
|
267
|
+
} as const;
|
|
268
|
+
|
|
255
269
|
export const $PushLogsBody = {
|
|
256
270
|
properties: {
|
|
257
271
|
log_chunk_time: {
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
import type { CancelablePromise } from './core/CancelablePromise';
|
|
4
4
|
import { OpenAPI } from './core/OpenAPI';
|
|
5
5
|
import { request as __request } from './core/request';
|
|
6
|
-
import type { FetchData, FetchResponse, StateData, StateResponse, LogfilePathData, LogfilePathResponse, PushLogsData, PushLogsResponse, RegisterData, RegisterResponse, SetStateData, SetStateResponse, UpdateQueuesData, UpdateQueuesResponse, HealthResponse, WorkerResponse, JobsResponse } from './types.gen';
|
|
6
|
+
import type { FetchData, FetchResponse, StateData, StateResponse, LogfilePathData, LogfilePathResponse, PushLogsData, PushLogsResponse, RegisterData, RegisterResponse, SetStateData, SetStateResponse, UpdateQueuesData, UpdateQueuesResponse, HealthResponse, WorkerResponse, JobsResponse, RequestWorkerMaintenanceData, RequestWorkerMaintenanceResponse, UpdateWorkerMaintenanceData, UpdateWorkerMaintenanceResponse, ExitWorkerMaintenanceData, ExitWorkerMaintenanceResponse, RequestWorkerShutdownData, RequestWorkerShutdownResponse, DeleteWorkerData, DeleteWorkerResponse, AddWorkerQueueData, AddWorkerQueueResponse, RemoveWorkerQueueData, RemoveWorkerQueueResponse } from './types.gen';
|
|
7
7
|
|
|
8
8
|
export class JobsService {
|
|
9
9
|
/**
|
|
@@ -286,4 +286,161 @@ export class UiService {
|
|
|
286
286
|
});
|
|
287
287
|
}
|
|
288
288
|
|
|
289
|
+
/**
|
|
290
|
+
* Request Worker Maintenance
|
|
291
|
+
* Put a worker into maintenance mode.
|
|
292
|
+
* @param data The data for the request.
|
|
293
|
+
* @param data.workerName
|
|
294
|
+
* @param data.requestBody
|
|
295
|
+
* @returns null Successful Response
|
|
296
|
+
* @throws ApiError
|
|
297
|
+
*/
|
|
298
|
+
public static requestWorkerMaintenance(data: RequestWorkerMaintenanceData): CancelablePromise<RequestWorkerMaintenanceResponse> {
|
|
299
|
+
return __request(OpenAPI, {
|
|
300
|
+
method: 'POST',
|
|
301
|
+
url: '/edge_worker/ui/worker/{worker_name}/maintenance',
|
|
302
|
+
path: {
|
|
303
|
+
worker_name: data.workerName
|
|
304
|
+
},
|
|
305
|
+
body: data.requestBody,
|
|
306
|
+
mediaType: 'application/json',
|
|
307
|
+
errors: {
|
|
308
|
+
422: 'Validation Error'
|
|
309
|
+
}
|
|
310
|
+
});
|
|
311
|
+
}
|
|
312
|
+
|
|
313
|
+
/**
|
|
314
|
+
* Update Worker Maintenance
|
|
315
|
+
* Update maintenance comments for a worker.
|
|
316
|
+
* @param data The data for the request.
|
|
317
|
+
* @param data.workerName
|
|
318
|
+
* @param data.requestBody
|
|
319
|
+
* @returns null Successful Response
|
|
320
|
+
* @throws ApiError
|
|
321
|
+
*/
|
|
322
|
+
public static updateWorkerMaintenance(data: UpdateWorkerMaintenanceData): CancelablePromise<UpdateWorkerMaintenanceResponse> {
|
|
323
|
+
return __request(OpenAPI, {
|
|
324
|
+
method: 'PATCH',
|
|
325
|
+
url: '/edge_worker/ui/worker/{worker_name}/maintenance',
|
|
326
|
+
path: {
|
|
327
|
+
worker_name: data.workerName
|
|
328
|
+
},
|
|
329
|
+
body: data.requestBody,
|
|
330
|
+
mediaType: 'application/json',
|
|
331
|
+
errors: {
|
|
332
|
+
422: 'Validation Error'
|
|
333
|
+
}
|
|
334
|
+
});
|
|
335
|
+
}
|
|
336
|
+
|
|
337
|
+
/**
|
|
338
|
+
* Exit Worker Maintenance
|
|
339
|
+
* Exit a worker from maintenance mode.
|
|
340
|
+
* @param data The data for the request.
|
|
341
|
+
* @param data.workerName
|
|
342
|
+
* @returns null Successful Response
|
|
343
|
+
* @throws ApiError
|
|
344
|
+
*/
|
|
345
|
+
public static exitWorkerMaintenance(data: ExitWorkerMaintenanceData): CancelablePromise<ExitWorkerMaintenanceResponse> {
|
|
346
|
+
return __request(OpenAPI, {
|
|
347
|
+
method: 'DELETE',
|
|
348
|
+
url: '/edge_worker/ui/worker/{worker_name}/maintenance',
|
|
349
|
+
path: {
|
|
350
|
+
worker_name: data.workerName
|
|
351
|
+
},
|
|
352
|
+
errors: {
|
|
353
|
+
422: 'Validation Error'
|
|
354
|
+
}
|
|
355
|
+
});
|
|
356
|
+
}
|
|
357
|
+
|
|
358
|
+
/**
|
|
359
|
+
* Request Worker Shutdown
|
|
360
|
+
* Request shutdown of a worker.
|
|
361
|
+
* @param data The data for the request.
|
|
362
|
+
* @param data.workerName
|
|
363
|
+
* @returns null Successful Response
|
|
364
|
+
* @throws ApiError
|
|
365
|
+
*/
|
|
366
|
+
public static requestWorkerShutdown(data: RequestWorkerShutdownData): CancelablePromise<RequestWorkerShutdownResponse> {
|
|
367
|
+
return __request(OpenAPI, {
|
|
368
|
+
method: 'POST',
|
|
369
|
+
url: '/edge_worker/ui/worker/{worker_name}/shutdown',
|
|
370
|
+
path: {
|
|
371
|
+
worker_name: data.workerName
|
|
372
|
+
},
|
|
373
|
+
errors: {
|
|
374
|
+
422: 'Validation Error'
|
|
375
|
+
}
|
|
376
|
+
});
|
|
377
|
+
}
|
|
378
|
+
|
|
379
|
+
/**
|
|
380
|
+
* Delete Worker
|
|
381
|
+
* Delete a worker record from the system.
|
|
382
|
+
* @param data The data for the request.
|
|
383
|
+
* @param data.workerName
|
|
384
|
+
* @returns null Successful Response
|
|
385
|
+
* @throws ApiError
|
|
386
|
+
*/
|
|
387
|
+
public static deleteWorker(data: DeleteWorkerData): CancelablePromise<DeleteWorkerResponse> {
|
|
388
|
+
return __request(OpenAPI, {
|
|
389
|
+
method: 'DELETE',
|
|
390
|
+
url: '/edge_worker/ui/worker/{worker_name}',
|
|
391
|
+
path: {
|
|
392
|
+
worker_name: data.workerName
|
|
393
|
+
},
|
|
394
|
+
errors: {
|
|
395
|
+
422: 'Validation Error'
|
|
396
|
+
}
|
|
397
|
+
});
|
|
398
|
+
}
|
|
399
|
+
|
|
400
|
+
/**
|
|
401
|
+
* Add Worker Queue
|
|
402
|
+
* Add a queue to a worker.
|
|
403
|
+
* @param data The data for the request.
|
|
404
|
+
* @param data.workerName
|
|
405
|
+
* @param data.queueName
|
|
406
|
+
* @returns null Successful Response
|
|
407
|
+
* @throws ApiError
|
|
408
|
+
*/
|
|
409
|
+
public static addWorkerQueue(data: AddWorkerQueueData): CancelablePromise<AddWorkerQueueResponse> {
|
|
410
|
+
return __request(OpenAPI, {
|
|
411
|
+
method: 'PUT',
|
|
412
|
+
url: '/edge_worker/ui/worker/{worker_name}/queues/{queue_name}',
|
|
413
|
+
path: {
|
|
414
|
+
worker_name: data.workerName,
|
|
415
|
+
queue_name: data.queueName
|
|
416
|
+
},
|
|
417
|
+
errors: {
|
|
418
|
+
422: 'Validation Error'
|
|
419
|
+
}
|
|
420
|
+
});
|
|
421
|
+
}
|
|
422
|
+
|
|
423
|
+
/**
|
|
424
|
+
* Remove Worker Queue
|
|
425
|
+
* Remove a queue from a worker.
|
|
426
|
+
* @param data The data for the request.
|
|
427
|
+
* @param data.workerName
|
|
428
|
+
* @param data.queueName
|
|
429
|
+
* @returns null Successful Response
|
|
430
|
+
* @throws ApiError
|
|
431
|
+
*/
|
|
432
|
+
public static removeWorkerQueue(data: RemoveWorkerQueueData): CancelablePromise<RemoveWorkerQueueResponse> {
|
|
433
|
+
return __request(OpenAPI, {
|
|
434
|
+
method: 'DELETE',
|
|
435
|
+
url: '/edge_worker/ui/worker/{worker_name}/queues/{queue_name}',
|
|
436
|
+
path: {
|
|
437
|
+
worker_name: data.workerName,
|
|
438
|
+
queue_name: data.queueName
|
|
439
|
+
},
|
|
440
|
+
errors: {
|
|
441
|
+
422: 'Validation Error'
|
|
442
|
+
}
|
|
443
|
+
});
|
|
444
|
+
}
|
|
445
|
+
|
|
289
446
|
}
|
|
@@ -126,6 +126,16 @@ export type JobCollectionResponse = {
|
|
|
126
126
|
total_entries: number;
|
|
127
127
|
};
|
|
128
128
|
|
|
129
|
+
/**
|
|
130
|
+
* Request body for maintenance operations.
|
|
131
|
+
*/
|
|
132
|
+
export type MaintenanceRequest = {
|
|
133
|
+
/**
|
|
134
|
+
* Comment describing the maintenance reason.
|
|
135
|
+
*/
|
|
136
|
+
maintenance_comment: string;
|
|
137
|
+
};
|
|
138
|
+
|
|
129
139
|
/**
|
|
130
140
|
* Incremental new log content from worker.
|
|
131
141
|
*/
|
|
@@ -460,6 +470,52 @@ export type WorkerResponse = WorkerCollectionResponse;
|
|
|
460
470
|
|
|
461
471
|
export type JobsResponse = JobCollectionResponse;
|
|
462
472
|
|
|
473
|
+
export type RequestWorkerMaintenanceData = {
|
|
474
|
+
requestBody: MaintenanceRequest;
|
|
475
|
+
workerName: string;
|
|
476
|
+
};
|
|
477
|
+
|
|
478
|
+
export type RequestWorkerMaintenanceResponse = null;
|
|
479
|
+
|
|
480
|
+
export type UpdateWorkerMaintenanceData = {
|
|
481
|
+
requestBody: MaintenanceRequest;
|
|
482
|
+
workerName: string;
|
|
483
|
+
};
|
|
484
|
+
|
|
485
|
+
export type UpdateWorkerMaintenanceResponse = null;
|
|
486
|
+
|
|
487
|
+
export type ExitWorkerMaintenanceData = {
|
|
488
|
+
workerName: string;
|
|
489
|
+
};
|
|
490
|
+
|
|
491
|
+
export type ExitWorkerMaintenanceResponse = null;
|
|
492
|
+
|
|
493
|
+
export type RequestWorkerShutdownData = {
|
|
494
|
+
workerName: string;
|
|
495
|
+
};
|
|
496
|
+
|
|
497
|
+
export type RequestWorkerShutdownResponse = null;
|
|
498
|
+
|
|
499
|
+
export type DeleteWorkerData = {
|
|
500
|
+
workerName: string;
|
|
501
|
+
};
|
|
502
|
+
|
|
503
|
+
export type DeleteWorkerResponse = null;
|
|
504
|
+
|
|
505
|
+
export type AddWorkerQueueData = {
|
|
506
|
+
queueName: string;
|
|
507
|
+
workerName: string;
|
|
508
|
+
};
|
|
509
|
+
|
|
510
|
+
export type AddWorkerQueueResponse = null;
|
|
511
|
+
|
|
512
|
+
export type RemoveWorkerQueueData = {
|
|
513
|
+
queueName: string;
|
|
514
|
+
workerName: string;
|
|
515
|
+
};
|
|
516
|
+
|
|
517
|
+
export type RemoveWorkerQueueResponse = null;
|
|
518
|
+
|
|
463
519
|
export type $OpenApiTs = {
|
|
464
520
|
'/edge_worker/v1/jobs/fetch/{worker_name}': {
|
|
465
521
|
post: {
|
|
@@ -652,4 +708,103 @@ export type $OpenApiTs = {
|
|
|
652
708
|
};
|
|
653
709
|
};
|
|
654
710
|
};
|
|
711
|
+
'/edge_worker/ui/worker/{worker_name}/maintenance': {
|
|
712
|
+
post: {
|
|
713
|
+
req: RequestWorkerMaintenanceData;
|
|
714
|
+
res: {
|
|
715
|
+
/**
|
|
716
|
+
* Successful Response
|
|
717
|
+
*/
|
|
718
|
+
200: null;
|
|
719
|
+
/**
|
|
720
|
+
* Validation Error
|
|
721
|
+
*/
|
|
722
|
+
422: HTTPValidationError;
|
|
723
|
+
};
|
|
724
|
+
};
|
|
725
|
+
patch: {
|
|
726
|
+
req: UpdateWorkerMaintenanceData;
|
|
727
|
+
res: {
|
|
728
|
+
/**
|
|
729
|
+
* Successful Response
|
|
730
|
+
*/
|
|
731
|
+
200: null;
|
|
732
|
+
/**
|
|
733
|
+
* Validation Error
|
|
734
|
+
*/
|
|
735
|
+
422: HTTPValidationError;
|
|
736
|
+
};
|
|
737
|
+
};
|
|
738
|
+
delete: {
|
|
739
|
+
req: ExitWorkerMaintenanceData;
|
|
740
|
+
res: {
|
|
741
|
+
/**
|
|
742
|
+
* Successful Response
|
|
743
|
+
*/
|
|
744
|
+
200: null;
|
|
745
|
+
/**
|
|
746
|
+
* Validation Error
|
|
747
|
+
*/
|
|
748
|
+
422: HTTPValidationError;
|
|
749
|
+
};
|
|
750
|
+
};
|
|
751
|
+
};
|
|
752
|
+
'/edge_worker/ui/worker/{worker_name}/shutdown': {
|
|
753
|
+
post: {
|
|
754
|
+
req: RequestWorkerShutdownData;
|
|
755
|
+
res: {
|
|
756
|
+
/**
|
|
757
|
+
* Successful Response
|
|
758
|
+
*/
|
|
759
|
+
200: null;
|
|
760
|
+
/**
|
|
761
|
+
* Validation Error
|
|
762
|
+
*/
|
|
763
|
+
422: HTTPValidationError;
|
|
764
|
+
};
|
|
765
|
+
};
|
|
766
|
+
};
|
|
767
|
+
'/edge_worker/ui/worker/{worker_name}': {
|
|
768
|
+
delete: {
|
|
769
|
+
req: DeleteWorkerData;
|
|
770
|
+
res: {
|
|
771
|
+
/**
|
|
772
|
+
* Successful Response
|
|
773
|
+
*/
|
|
774
|
+
200: null;
|
|
775
|
+
/**
|
|
776
|
+
* Validation Error
|
|
777
|
+
*/
|
|
778
|
+
422: HTTPValidationError;
|
|
779
|
+
};
|
|
780
|
+
};
|
|
781
|
+
};
|
|
782
|
+
'/edge_worker/ui/worker/{worker_name}/queues/{queue_name}': {
|
|
783
|
+
put: {
|
|
784
|
+
req: AddWorkerQueueData;
|
|
785
|
+
res: {
|
|
786
|
+
/**
|
|
787
|
+
* Successful Response
|
|
788
|
+
*/
|
|
789
|
+
200: null;
|
|
790
|
+
/**
|
|
791
|
+
* Validation Error
|
|
792
|
+
*/
|
|
793
|
+
422: HTTPValidationError;
|
|
794
|
+
};
|
|
795
|
+
};
|
|
796
|
+
delete: {
|
|
797
|
+
req: RemoveWorkerQueueData;
|
|
798
|
+
res: {
|
|
799
|
+
/**
|
|
800
|
+
* Successful Response
|
|
801
|
+
*/
|
|
802
|
+
200: null;
|
|
803
|
+
/**
|
|
804
|
+
* Validation Error
|
|
805
|
+
*/
|
|
806
|
+
422: HTTPValidationError;
|
|
807
|
+
};
|
|
808
|
+
};
|
|
809
|
+
};
|
|
655
810
|
};
|
|
@@ -2,6 +2,9 @@
|
|
|
2
2
|
"name": "edge",
|
|
3
3
|
"private": true,
|
|
4
4
|
"version": "0.0.0",
|
|
5
|
+
"engines": {
|
|
6
|
+
"node": ">=22"
|
|
7
|
+
},
|
|
5
8
|
"type": "module",
|
|
6
9
|
"main": "./dist/main.js",
|
|
7
10
|
"module": "./dist/main.js",
|
|
@@ -32,12 +35,13 @@
|
|
|
32
35
|
"@chakra-ui/react": "^3.20.0",
|
|
33
36
|
"@emotion/react": "^11.14.0",
|
|
34
37
|
"@tanstack/react-query": "^5.75.1",
|
|
35
|
-
"axios": "^1.
|
|
36
|
-
"next-themes": "^0.
|
|
37
|
-
"react": "^
|
|
38
|
-
"react-dom": "^
|
|
38
|
+
"axios": "^1.12.0",
|
|
39
|
+
"next-themes": "^0.4.6",
|
|
40
|
+
"react": "^19.1.1",
|
|
41
|
+
"react-dom": "^19.1.1",
|
|
39
42
|
"react-icons": "^5.5.0",
|
|
40
|
-
"react-router-dom": "^6.30.0"
|
|
43
|
+
"react-router-dom": "^6.30.0",
|
|
44
|
+
"react-timeago": "^8.3.0"
|
|
41
45
|
},
|
|
42
46
|
"devDependencies": {
|
|
43
47
|
"@7nohe/openapi-react-query-codegen": "^1.6.2",
|
|
@@ -50,15 +54,15 @@
|
|
|
50
54
|
"@types/node": "^22.15.3",
|
|
51
55
|
"@types/react": "^18.3.19",
|
|
52
56
|
"@types/react-dom": "^18.3.5",
|
|
53
|
-
"@vitejs/plugin-react-swc": "^
|
|
54
|
-
"@vitest/coverage-v8": "^2.
|
|
57
|
+
"@vitejs/plugin-react-swc": "^4.0.1",
|
|
58
|
+
"@vitest/coverage-v8": "^3.2.4",
|
|
55
59
|
"eslint": "^9.25.1",
|
|
56
60
|
"eslint-config-prettier": "^10.1.2",
|
|
57
61
|
"eslint-plugin-jsx-a11y": "^6.10.2",
|
|
58
62
|
"eslint-plugin-perfectionist": "^4.12.3",
|
|
59
63
|
"eslint-plugin-prettier": "^5.2.6",
|
|
60
64
|
"eslint-plugin-react": "^7.37.5",
|
|
61
|
-
"eslint-plugin-react-hooks": "^
|
|
65
|
+
"eslint-plugin-react-hooks": "^5.2.0",
|
|
62
66
|
"eslint-plugin-react-refresh": "^0.4.20",
|
|
63
67
|
"eslint-plugin-unicorn": "^55.0.0",
|
|
64
68
|
"globals": "^15.15.0",
|
|
@@ -66,10 +70,10 @@
|
|
|
66
70
|
"prettier": "^3.5.3",
|
|
67
71
|
"typescript": "~5.8.3",
|
|
68
72
|
"typescript-eslint": "^8.31.1",
|
|
69
|
-
"vite": "^
|
|
73
|
+
"vite": "^7.1.5",
|
|
70
74
|
"vite-plugin-css-injected-by-js": "^3.5.2",
|
|
71
75
|
"vite-plugin-dts": "^4.5.4",
|
|
72
|
-
"vitest": "^2.
|
|
76
|
+
"vitest": "^3.2.4"
|
|
73
77
|
},
|
|
74
78
|
"pnpm": {
|
|
75
79
|
"onlyBuiltDependencies": [
|