apache-airflow-providers-edge3 1.5.0__py3-none-any.whl → 2.0.0rc1__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 +3 -3
- airflow/providers/edge3/cli/api_client.py +23 -26
- airflow/providers/edge3/cli/worker.py +9 -28
- airflow/providers/edge3/example_dags/integration_test.py +1 -1
- airflow/providers/edge3/example_dags/win_test.py +32 -22
- airflow/providers/edge3/executors/edge_executor.py +7 -63
- airflow/providers/edge3/models/edge_worker.py +7 -3
- airflow/providers/edge3/plugins/edge_executor_plugin.py +26 -205
- airflow/providers/edge3/plugins/www/dist/main.umd.cjs +8 -8
- airflow/providers/edge3/plugins/www/openapi-gen/queries/common.ts +6 -1
- airflow/providers/edge3/plugins/www/openapi-gen/queries/ensureQueryData.ts +6 -1
- airflow/providers/edge3/plugins/www/openapi-gen/queries/prefetch.ts +6 -1
- airflow/providers/edge3/plugins/www/openapi-gen/queries/queries.ts +6 -2
- airflow/providers/edge3/plugins/www/openapi-gen/queries/suspense.ts +6 -1
- airflow/providers/edge3/plugins/www/openapi-gen/requests/schemas.gen.ts +5 -0
- airflow/providers/edge3/plugins/www/openapi-gen/requests/services.gen.ts +18 -3
- airflow/providers/edge3/plugins/www/openapi-gen/requests/types.gen.ts +24 -0
- airflow/providers/edge3/plugins/www/package.json +17 -15
- airflow/providers/edge3/plugins/www/pnpm-lock.yaml +1194 -1244
- airflow/providers/edge3/plugins/www/src/components/SearchBar.tsx +103 -0
- airflow/providers/edge3/plugins/www/src/components/ui/InputGroup.tsx +57 -0
- airflow/providers/edge3/plugins/www/src/components/ui/Select/Content.tsx +37 -0
- airflow/providers/edge3/plugins/www/src/components/ui/Select/Item.tsx +34 -0
- airflow/providers/edge3/plugins/www/src/components/ui/Select/Root.tsx +24 -0
- airflow/providers/edge3/plugins/www/src/components/ui/Select/Trigger.tsx +54 -0
- airflow/providers/edge3/plugins/www/src/components/ui/Select/ValueText.tsx +51 -0
- airflow/providers/edge3/plugins/www/src/components/ui/Select/index.ts +34 -0
- airflow/providers/edge3/plugins/www/src/components/ui/index.ts +3 -0
- airflow/providers/edge3/plugins/www/src/constants.ts +43 -0
- airflow/providers/edge3/plugins/www/src/pages/WorkerPage.tsx +184 -95
- airflow/providers/edge3/version_compat.py +0 -2
- airflow/providers/edge3/worker_api/auth.py +11 -35
- airflow/providers/edge3/worker_api/datamodels.py +3 -2
- airflow/providers/edge3/worker_api/routes/health.py +1 -1
- airflow/providers/edge3/worker_api/routes/jobs.py +10 -11
- airflow/providers/edge3/worker_api/routes/logs.py +5 -8
- airflow/providers/edge3/worker_api/routes/ui.py +14 -3
- airflow/providers/edge3/worker_api/routes/worker.py +19 -12
- airflow/providers/edge3/{openapi → worker_api}/v2-edge-generated.yaml +59 -5
- {apache_airflow_providers_edge3-1.5.0.dist-info → apache_airflow_providers_edge3-2.0.0rc1.dist-info}/METADATA +13 -13
- {apache_airflow_providers_edge3-1.5.0.dist-info → apache_airflow_providers_edge3-2.0.0rc1.dist-info}/RECORD +45 -40
- airflow/providers/edge3/openapi/__init__.py +0 -19
- airflow/providers/edge3/openapi/edge_worker_api_v1.yaml +0 -808
- airflow/providers/edge3/worker_api/routes/_v2_compat.py +0 -136
- airflow/providers/edge3/worker_api/routes/_v2_routes.py +0 -237
- {apache_airflow_providers_edge3-1.5.0.dist-info → apache_airflow_providers_edge3-2.0.0rc1.dist-info}/WHEEL +0 -0
- {apache_airflow_providers_edge3-1.5.0.dist-info → apache_airflow_providers_edge3-2.0.0rc1.dist-info}/entry_points.txt +0 -0
- {apache_airflow_providers_edge3-1.5.0.dist-info → apache_airflow_providers_edge3-2.0.0rc1.dist-info}/licenses/LICENSE +0 -0
- {apache_airflow_providers_edge3-1.5.0.dist-info → apache_airflow_providers_edge3-2.0.0rc1.dist-info}/licenses/NOTICE +0 -0
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
import { UseQueryResult } from "@tanstack/react-query";
|
|
4
4
|
import { JobsService, LogsService, MonitorService, UiService, WorkerService } from "../requests/services.gen";
|
|
5
|
+
import { EdgeWorkerState } from "../requests/types.gen";
|
|
5
6
|
export type LogsServiceLogfilePathDefaultResponse = Awaited<ReturnType<typeof LogsService.logfilePath>>;
|
|
6
7
|
export type LogsServiceLogfilePathQueryResult<TData = LogsServiceLogfilePathDefaultResponse, TError = unknown> = UseQueryResult<TData, TError>;
|
|
7
8
|
export const useLogsServiceLogfilePathKey = "LogsServiceLogfilePath";
|
|
@@ -20,7 +21,11 @@ export const UseMonitorServiceHealthKeyFn = (queryKey?: Array<unknown>) => [useM
|
|
|
20
21
|
export type UiServiceWorkerDefaultResponse = Awaited<ReturnType<typeof UiService.worker>>;
|
|
21
22
|
export type UiServiceWorkerQueryResult<TData = UiServiceWorkerDefaultResponse, TError = unknown> = UseQueryResult<TData, TError>;
|
|
22
23
|
export const useUiServiceWorkerKey = "UiServiceWorker";
|
|
23
|
-
export const UseUiServiceWorkerKeyFn = (
|
|
24
|
+
export const UseUiServiceWorkerKeyFn = ({ queueNamePattern, state, workerNamePattern }: {
|
|
25
|
+
queueNamePattern?: string;
|
|
26
|
+
state?: EdgeWorkerState[];
|
|
27
|
+
workerNamePattern?: string;
|
|
28
|
+
} = {}, queryKey?: Array<unknown>) => [useUiServiceWorkerKey, ...(queryKey ?? [{ queueNamePattern, state, workerNamePattern }])];
|
|
24
29
|
export type UiServiceJobsDefaultResponse = Awaited<ReturnType<typeof UiService.jobs>>;
|
|
25
30
|
export type UiServiceJobsQueryResult<TData = UiServiceJobsDefaultResponse, TError = unknown> = UseQueryResult<TData, TError>;
|
|
26
31
|
export const useUiServiceJobsKey = "UiServiceJobs";
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
import { type QueryClient } from "@tanstack/react-query";
|
|
4
4
|
import { LogsService, MonitorService, UiService } from "../requests/services.gen";
|
|
5
|
+
import { EdgeWorkerState } from "../requests/types.gen";
|
|
5
6
|
import * as Common from "./common";
|
|
6
7
|
export const ensureUseLogsServiceLogfilePathData = (queryClient: QueryClient, { authorization, dagId, mapIndex, runId, taskId, tryNumber }: {
|
|
7
8
|
authorization: string;
|
|
@@ -12,5 +13,9 @@ export const ensureUseLogsServiceLogfilePathData = (queryClient: QueryClient, {
|
|
|
12
13
|
tryNumber: number;
|
|
13
14
|
}) => queryClient.ensureQueryData({ queryKey: Common.UseLogsServiceLogfilePathKeyFn({ authorization, dagId, mapIndex, runId, taskId, tryNumber }), queryFn: () => LogsService.logfilePath({ authorization, dagId, mapIndex, runId, taskId, tryNumber }) });
|
|
14
15
|
export const ensureUseMonitorServiceHealthData = (queryClient: QueryClient) => queryClient.ensureQueryData({ queryKey: Common.UseMonitorServiceHealthKeyFn(), queryFn: () => MonitorService.health() });
|
|
15
|
-
export const ensureUseUiServiceWorkerData = (queryClient: QueryClient
|
|
16
|
+
export const ensureUseUiServiceWorkerData = (queryClient: QueryClient, { queueNamePattern, state, workerNamePattern }: {
|
|
17
|
+
queueNamePattern?: string;
|
|
18
|
+
state?: EdgeWorkerState[];
|
|
19
|
+
workerNamePattern?: string;
|
|
20
|
+
} = {}) => queryClient.ensureQueryData({ queryKey: Common.UseUiServiceWorkerKeyFn({ queueNamePattern, state, workerNamePattern }), queryFn: () => UiService.worker({ queueNamePattern, state, workerNamePattern }) });
|
|
16
21
|
export const ensureUseUiServiceJobsData = (queryClient: QueryClient) => queryClient.ensureQueryData({ queryKey: Common.UseUiServiceJobsKeyFn(), queryFn: () => UiService.jobs() });
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
import { type QueryClient } from "@tanstack/react-query";
|
|
4
4
|
import { LogsService, MonitorService, UiService } from "../requests/services.gen";
|
|
5
|
+
import { EdgeWorkerState } from "../requests/types.gen";
|
|
5
6
|
import * as Common from "./common";
|
|
6
7
|
export const prefetchUseLogsServiceLogfilePath = (queryClient: QueryClient, { authorization, dagId, mapIndex, runId, taskId, tryNumber }: {
|
|
7
8
|
authorization: string;
|
|
@@ -12,5 +13,9 @@ export const prefetchUseLogsServiceLogfilePath = (queryClient: QueryClient, { au
|
|
|
12
13
|
tryNumber: number;
|
|
13
14
|
}) => queryClient.prefetchQuery({ queryKey: Common.UseLogsServiceLogfilePathKeyFn({ authorization, dagId, mapIndex, runId, taskId, tryNumber }), queryFn: () => LogsService.logfilePath({ authorization, dagId, mapIndex, runId, taskId, tryNumber }) });
|
|
14
15
|
export const prefetchUseMonitorServiceHealth = (queryClient: QueryClient) => queryClient.prefetchQuery({ queryKey: Common.UseMonitorServiceHealthKeyFn(), queryFn: () => MonitorService.health() });
|
|
15
|
-
export const prefetchUseUiServiceWorker = (queryClient: QueryClient
|
|
16
|
+
export const prefetchUseUiServiceWorker = (queryClient: QueryClient, { queueNamePattern, state, workerNamePattern }: {
|
|
17
|
+
queueNamePattern?: string;
|
|
18
|
+
state?: EdgeWorkerState[];
|
|
19
|
+
workerNamePattern?: string;
|
|
20
|
+
} = {}) => queryClient.prefetchQuery({ queryKey: Common.UseUiServiceWorkerKeyFn({ queueNamePattern, state, workerNamePattern }), queryFn: () => UiService.worker({ queueNamePattern, state, workerNamePattern }) });
|
|
16
21
|
export const prefetchUseUiServiceJobs = (queryClient: QueryClient) => queryClient.prefetchQuery({ queryKey: Common.UseUiServiceJobsKeyFn(), queryFn: () => UiService.jobs() });
|
|
@@ -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 { MaintenanceRequest, PushLogsBody, TaskInstanceState, WorkerQueueUpdateBody, WorkerQueuesBody, WorkerStateBody } from "../requests/types.gen";
|
|
5
|
+
import { EdgeWorkerState, 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;
|
|
@@ -13,7 +13,11 @@ export const useLogsServiceLogfilePath = <TData = Common.LogsServiceLogfilePathD
|
|
|
13
13
|
tryNumber: number;
|
|
14
14
|
}, queryKey?: TQueryKey, options?: Omit<UseQueryOptions<TData, TError>, "queryKey" | "queryFn">) => useQuery<TData, TError>({ queryKey: Common.UseLogsServiceLogfilePathKeyFn({ authorization, dagId, mapIndex, runId, taskId, tryNumber }, queryKey), queryFn: () => LogsService.logfilePath({ authorization, dagId, mapIndex, runId, taskId, tryNumber }) as TData, ...options });
|
|
15
15
|
export const useMonitorServiceHealth = <TData = Common.MonitorServiceHealthDefaultResponse, TError = unknown, TQueryKey extends Array<unknown> = unknown[]>(queryKey?: TQueryKey, options?: Omit<UseQueryOptions<TData, TError>, "queryKey" | "queryFn">) => useQuery<TData, TError>({ queryKey: Common.UseMonitorServiceHealthKeyFn(queryKey), queryFn: () => MonitorService.health() as TData, ...options });
|
|
16
|
-
export const useUiServiceWorker = <TData = Common.UiServiceWorkerDefaultResponse, TError = unknown, TQueryKey extends Array<unknown> = unknown[]>(
|
|
16
|
+
export const useUiServiceWorker = <TData = Common.UiServiceWorkerDefaultResponse, TError = unknown, TQueryKey extends Array<unknown> = unknown[]>({ queueNamePattern, state, workerNamePattern }: {
|
|
17
|
+
queueNamePattern?: string;
|
|
18
|
+
state?: EdgeWorkerState[];
|
|
19
|
+
workerNamePattern?: string;
|
|
20
|
+
} = {}, queryKey?: TQueryKey, options?: Omit<UseQueryOptions<TData, TError>, "queryKey" | "queryFn">) => useQuery<TData, TError>({ queryKey: Common.UseUiServiceWorkerKeyFn({ queueNamePattern, state, workerNamePattern }, queryKey), queryFn: () => UiService.worker({ queueNamePattern, state, workerNamePattern }) as TData, ...options });
|
|
17
21
|
export const useUiServiceJobs = <TData = Common.UiServiceJobsDefaultResponse, TError = unknown, TQueryKey extends Array<unknown> = unknown[]>(queryKey?: TQueryKey, options?: Omit<UseQueryOptions<TData, TError>, "queryKey" | "queryFn">) => useQuery<TData, TError>({ queryKey: Common.UseUiServiceJobsKeyFn(queryKey), queryFn: () => UiService.jobs() as TData, ...options });
|
|
18
22
|
export const useJobsServiceFetch = <TData = Common.JobsServiceFetchMutationResult, TError = unknown, TContext = unknown>(options?: Omit<UseMutationOptions<TData, TError, {
|
|
19
23
|
authorization: string;
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
import { UseQueryOptions, useSuspenseQuery } from "@tanstack/react-query";
|
|
4
4
|
import { LogsService, MonitorService, UiService } from "../requests/services.gen";
|
|
5
|
+
import { EdgeWorkerState } from "../requests/types.gen";
|
|
5
6
|
import * as Common from "./common";
|
|
6
7
|
export const useLogsServiceLogfilePathSuspense = <TData = Common.LogsServiceLogfilePathDefaultResponse, TError = unknown, TQueryKey extends Array<unknown> = unknown[]>({ authorization, dagId, mapIndex, runId, taskId, tryNumber }: {
|
|
7
8
|
authorization: string;
|
|
@@ -12,5 +13,9 @@ export const useLogsServiceLogfilePathSuspense = <TData = Common.LogsServiceLogf
|
|
|
12
13
|
tryNumber: number;
|
|
13
14
|
}, queryKey?: TQueryKey, options?: Omit<UseQueryOptions<TData, TError>, "queryKey" | "queryFn">) => useSuspenseQuery<TData, TError>({ queryKey: Common.UseLogsServiceLogfilePathKeyFn({ authorization, dagId, mapIndex, runId, taskId, tryNumber }, queryKey), queryFn: () => LogsService.logfilePath({ authorization, dagId, mapIndex, runId, taskId, tryNumber }) as TData, ...options });
|
|
14
15
|
export const useMonitorServiceHealthSuspense = <TData = Common.MonitorServiceHealthDefaultResponse, TError = unknown, TQueryKey extends Array<unknown> = unknown[]>(queryKey?: TQueryKey, options?: Omit<UseQueryOptions<TData, TError>, "queryKey" | "queryFn">) => useSuspenseQuery<TData, TError>({ queryKey: Common.UseMonitorServiceHealthKeyFn(queryKey), queryFn: () => MonitorService.health() as TData, ...options });
|
|
15
|
-
export const useUiServiceWorkerSuspense = <TData = Common.UiServiceWorkerDefaultResponse, TError = unknown, TQueryKey extends Array<unknown> = unknown[]>(
|
|
16
|
+
export const useUiServiceWorkerSuspense = <TData = Common.UiServiceWorkerDefaultResponse, TError = unknown, TQueryKey extends Array<unknown> = unknown[]>({ queueNamePattern, state, workerNamePattern }: {
|
|
17
|
+
queueNamePattern?: string;
|
|
18
|
+
state?: EdgeWorkerState[];
|
|
19
|
+
workerNamePattern?: string;
|
|
20
|
+
} = {}, queryKey?: TQueryKey, options?: Omit<UseQueryOptions<TData, TError>, "queryKey" | "queryFn">) => useSuspenseQuery<TData, TError>({ queryKey: Common.UseUiServiceWorkerKeyFn({ queueNamePattern, state, workerNamePattern }, queryKey), queryFn: () => UiService.worker({ queueNamePattern, state, workerNamePattern }) as TData, ...options });
|
|
16
21
|
export const useUiServiceJobsSuspense = <TData = Common.UiServiceJobsDefaultResponse, TError = unknown, TQueryKey extends Array<unknown> = unknown[]>(queryKey?: TQueryKey, options?: Omit<UseQueryOptions<TData, TError>, "queryKey" | "queryFn">) => useSuspenseQuery<TData, TError>({ queryKey: Common.UseUiServiceJobsKeyFn(queryKey), queryFn: () => UiService.jobs() as TData, ...options });
|
|
@@ -103,6 +103,11 @@ export const $ExecuteTask = {
|
|
|
103
103
|
ti: {
|
|
104
104
|
'$ref': '#/components/schemas/TaskInstance'
|
|
105
105
|
},
|
|
106
|
+
sentry_integration: {
|
|
107
|
+
type: 'string',
|
|
108
|
+
title: 'Sentry Integration',
|
|
109
|
+
default: ''
|
|
110
|
+
},
|
|
106
111
|
type: {
|
|
107
112
|
type: 'string',
|
|
108
113
|
const: 'ExecuteTask',
|
|
@@ -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, RequestWorkerMaintenanceData, RequestWorkerMaintenanceResponse, UpdateWorkerMaintenanceData, UpdateWorkerMaintenanceResponse, ExitWorkerMaintenanceData, ExitWorkerMaintenanceResponse, RequestWorkerShutdownData, RequestWorkerShutdownResponse, DeleteWorkerData, DeleteWorkerResponse, AddWorkerQueueData, AddWorkerQueueResponse, RemoveWorkerQueueData, RemoveWorkerQueueResponse } from './types.gen';
|
|
6
|
+
import type { FetchData, FetchResponse, StateData, StateResponse, LogfilePathData, LogfilePathResponse, PushLogsData, PushLogsResponse, RegisterData, RegisterResponse, SetStateData, SetStateResponse, UpdateQueuesData, UpdateQueuesResponse, HealthResponse, WorkerData, 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
|
/**
|
|
@@ -177,6 +177,7 @@ export class WorkerService {
|
|
|
177
177
|
errors: {
|
|
178
178
|
400: 'Bad Request',
|
|
179
179
|
403: 'Forbidden',
|
|
180
|
+
409: 'Conflict',
|
|
180
181
|
422: 'Validation Error'
|
|
181
182
|
}
|
|
182
183
|
});
|
|
@@ -207,6 +208,7 @@ export class WorkerService {
|
|
|
207
208
|
errors: {
|
|
208
209
|
400: 'Bad Request',
|
|
209
210
|
403: 'Forbidden',
|
|
211
|
+
409: 'Conflict',
|
|
210
212
|
422: 'Validation Error'
|
|
211
213
|
}
|
|
212
214
|
});
|
|
@@ -236,6 +238,7 @@ export class WorkerService {
|
|
|
236
238
|
errors: {
|
|
237
239
|
400: 'Bad Request',
|
|
238
240
|
403: 'Forbidden',
|
|
241
|
+
409: 'Conflict',
|
|
239
242
|
422: 'Validation Error'
|
|
240
243
|
}
|
|
241
244
|
});
|
|
@@ -263,13 +266,25 @@ export class UiService {
|
|
|
263
266
|
/**
|
|
264
267
|
* Worker
|
|
265
268
|
* Return Edge Workers.
|
|
269
|
+
* @param data The data for the request.
|
|
270
|
+
* @param data.workerNamePattern
|
|
271
|
+
* @param data.queueNamePattern
|
|
272
|
+
* @param data.state
|
|
266
273
|
* @returns WorkerCollectionResponse Successful Response
|
|
267
274
|
* @throws ApiError
|
|
268
275
|
*/
|
|
269
|
-
public static worker(): CancelablePromise<WorkerResponse> {
|
|
276
|
+
public static worker(data: WorkerData = {}): CancelablePromise<WorkerResponse> {
|
|
270
277
|
return __request(OpenAPI, {
|
|
271
278
|
method: 'GET',
|
|
272
|
-
url: '/edge_worker/ui/worker'
|
|
279
|
+
url: '/edge_worker/ui/worker',
|
|
280
|
+
query: {
|
|
281
|
+
worker_name_pattern: data.workerNamePattern,
|
|
282
|
+
queue_name_pattern: data.queueNamePattern,
|
|
283
|
+
state: data.state
|
|
284
|
+
},
|
|
285
|
+
errors: {
|
|
286
|
+
422: 'Validation Error'
|
|
287
|
+
}
|
|
273
288
|
});
|
|
274
289
|
}
|
|
275
290
|
|
|
@@ -56,6 +56,7 @@ export type ExecuteTask = {
|
|
|
56
56
|
bundle_info: BundleInfo;
|
|
57
57
|
log_path: string | null;
|
|
58
58
|
ti: TaskInstance;
|
|
59
|
+
sentry_integration?: string;
|
|
59
60
|
type?: "ExecuteTask";
|
|
60
61
|
};
|
|
61
62
|
|
|
@@ -466,6 +467,12 @@ export type HealthResponse = {
|
|
|
466
467
|
[key: string]: (string);
|
|
467
468
|
};
|
|
468
469
|
|
|
470
|
+
export type WorkerData = {
|
|
471
|
+
queueNamePattern?: string | null;
|
|
472
|
+
state?: Array<EdgeWorkerState> | null;
|
|
473
|
+
workerNamePattern?: string | null;
|
|
474
|
+
};
|
|
475
|
+
|
|
469
476
|
export type WorkerResponse = WorkerCollectionResponse;
|
|
470
477
|
|
|
471
478
|
export type JobsResponse = JobCollectionResponse;
|
|
@@ -625,6 +632,10 @@ export type $OpenApiTs = {
|
|
|
625
632
|
* Forbidden
|
|
626
633
|
*/
|
|
627
634
|
403: HTTPExceptionResponse;
|
|
635
|
+
/**
|
|
636
|
+
* Conflict
|
|
637
|
+
*/
|
|
638
|
+
409: HTTPExceptionResponse;
|
|
628
639
|
/**
|
|
629
640
|
* Validation Error
|
|
630
641
|
*/
|
|
@@ -646,6 +657,10 @@ export type $OpenApiTs = {
|
|
|
646
657
|
* Forbidden
|
|
647
658
|
*/
|
|
648
659
|
403: HTTPExceptionResponse;
|
|
660
|
+
/**
|
|
661
|
+
* Conflict
|
|
662
|
+
*/
|
|
663
|
+
409: HTTPExceptionResponse;
|
|
649
664
|
/**
|
|
650
665
|
* Validation Error
|
|
651
666
|
*/
|
|
@@ -669,6 +684,10 @@ export type $OpenApiTs = {
|
|
|
669
684
|
* Forbidden
|
|
670
685
|
*/
|
|
671
686
|
403: HTTPExceptionResponse;
|
|
687
|
+
/**
|
|
688
|
+
* Conflict
|
|
689
|
+
*/
|
|
690
|
+
409: HTTPExceptionResponse;
|
|
672
691
|
/**
|
|
673
692
|
* Validation Error
|
|
674
693
|
*/
|
|
@@ -690,11 +709,16 @@ export type $OpenApiTs = {
|
|
|
690
709
|
};
|
|
691
710
|
'/edge_worker/ui/worker': {
|
|
692
711
|
get: {
|
|
712
|
+
req: WorkerData;
|
|
693
713
|
res: {
|
|
694
714
|
/**
|
|
695
715
|
* Successful Response
|
|
696
716
|
*/
|
|
697
717
|
200: WorkerCollectionResponse;
|
|
718
|
+
/**
|
|
719
|
+
* Validation Error
|
|
720
|
+
*/
|
|
721
|
+
422: HTTPValidationError;
|
|
698
722
|
};
|
|
699
723
|
};
|
|
700
724
|
};
|
|
@@ -27,53 +27,55 @@
|
|
|
27
27
|
"lint:fix": "eslint --fix && tsc --p tsconfig.app.json",
|
|
28
28
|
"format": "pnpm prettier --write .",
|
|
29
29
|
"preview": "vite preview",
|
|
30
|
-
"codegen": "openapi-rq -i ../../
|
|
30
|
+
"codegen": "openapi-rq -i ../../worker_api/v2-edge-generated.yaml -c axios --format prettier -o openapi-gen --operationId",
|
|
31
31
|
"test": "vitest run",
|
|
32
32
|
"coverage": "vitest run --coverage"
|
|
33
33
|
},
|
|
34
34
|
"dependencies": {
|
|
35
|
-
"@chakra-ui/react": "^3.
|
|
35
|
+
"@chakra-ui/react": "^3.30.0",
|
|
36
36
|
"@emotion/react": "^11.14.0",
|
|
37
|
-
"@tanstack/react-query": "^5.90.
|
|
37
|
+
"@tanstack/react-query": "^5.90.10",
|
|
38
38
|
"axios": "^1.13.2",
|
|
39
39
|
"next-themes": "^0.4.6",
|
|
40
40
|
"react": "^19.2.0",
|
|
41
41
|
"react-dom": "^19.2.0",
|
|
42
|
+
"react-hotkeys-hook": "^5.2.1",
|
|
42
43
|
"react-icons": "^5.5.0",
|
|
43
|
-
"react-router-dom": "^7.9.
|
|
44
|
-
"react-timeago": "^8.3.0"
|
|
44
|
+
"react-router-dom": "^7.9.6",
|
|
45
|
+
"react-timeago": "^8.3.0",
|
|
46
|
+
"use-debounce": "^10.0.6"
|
|
45
47
|
},
|
|
46
48
|
"devDependencies": {
|
|
47
49
|
"@7nohe/openapi-react-query-codegen": "^1.6.2",
|
|
48
|
-
"@eslint/compat": "^
|
|
50
|
+
"@eslint/compat": "^2.0.0",
|
|
49
51
|
"@eslint/js": "^9.39.1",
|
|
50
|
-
"@stylistic/eslint-plugin": "^5.
|
|
52
|
+
"@stylistic/eslint-plugin": "^5.6.1",
|
|
51
53
|
"@testing-library/jest-dom": "^6.9.1",
|
|
52
54
|
"@testing-library/react": "^16.3.0",
|
|
53
55
|
"@trivago/prettier-plugin-sort-imports": "^6.0.0",
|
|
54
56
|
"@types/node": "^24.10.1",
|
|
55
|
-
"@types/react": "^19.2.
|
|
57
|
+
"@types/react": "^19.2.6",
|
|
56
58
|
"@types/react-dom": "^19.2.3",
|
|
57
59
|
"@vitejs/plugin-react-swc": "^4.2.2",
|
|
58
|
-
"@vitest/coverage-v8": "^4.0.
|
|
60
|
+
"@vitest/coverage-v8": "^4.0.13",
|
|
59
61
|
"eslint": "^9.39.1",
|
|
60
|
-
"eslint-config-prettier": "^10.1.
|
|
62
|
+
"eslint-config-prettier": "^10.1.8",
|
|
61
63
|
"eslint-plugin-jsx-a11y": "^6.10.2",
|
|
62
64
|
"eslint-plugin-perfectionist": "^4.15.1",
|
|
63
|
-
"eslint-plugin-prettier": "^5.
|
|
65
|
+
"eslint-plugin-prettier": "^5.5.4",
|
|
64
66
|
"eslint-plugin-react": "^7.37.5",
|
|
65
67
|
"eslint-plugin-react-hooks": "^7.0.1",
|
|
66
68
|
"eslint-plugin-react-refresh": "^0.4.24",
|
|
67
69
|
"eslint-plugin-unicorn": "^62.0.0",
|
|
68
70
|
"globals": "^16.5.0",
|
|
69
71
|
"happy-dom": "^20.0.10",
|
|
70
|
-
"prettier": "^3.
|
|
72
|
+
"prettier": "^3.6.2",
|
|
71
73
|
"typescript": "~5.8.3",
|
|
72
|
-
"typescript-eslint": "^8.
|
|
73
|
-
"vite": "^7.2.
|
|
74
|
+
"typescript-eslint": "^8.47.0",
|
|
75
|
+
"vite": "^7.2.4",
|
|
74
76
|
"vite-plugin-css-injected-by-js": "^3.5.2",
|
|
75
77
|
"vite-plugin-dts": "^4.5.4",
|
|
76
|
-
"vitest": "^4.0.
|
|
78
|
+
"vitest": "^4.0.13"
|
|
77
79
|
},
|
|
78
80
|
"pnpm": {
|
|
79
81
|
"onlyBuiltDependencies": [
|